Skip to content

Commit 9f68eed

Browse files
committed
fix(drp): guard visible months for invalid values
1 parent e727699 commit 9f68eed

File tree

2 files changed

+11
-1
lines changed

2 files changed

+11
-1
lines changed

src/components/date-range-picker/date-range-picker.common.spec.ts

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,15 @@ describe('Date range picker - common tests for single and two inputs mode', () =
8787
picker.visibleMonths = 11;
8888
await elementUpdated(picker);
8989
expect(picker.visibleMonths).to.equal(2);
90+
91+
// test with NaN or undefined
92+
picker.visibleMonths = Number.NaN;
93+
await elementUpdated(picker);
94+
expect(picker.visibleMonths).to.equal(2);
95+
96+
picker.visibleMonths = undefined as any;
97+
await elementUpdated(picker);
98+
expect(picker.visibleMonths).to.equal(2);
9099
});
91100

92101
it('should set the visibleMonths property via attribute', async () => {

src/components/date-range-picker/date-range-picker.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,7 @@ import {
4949
defaultDateRangeTransformers,
5050
} from '../common/mixins/forms/form-value.js';
5151
import {
52+
asNumber,
5253
clamp,
5354
createCounter,
5455
equal,
@@ -515,7 +516,7 @@ export default class IgcDateRangePickerComponent extends FormAssociatedRequiredM
515516
}
516517

517518
public set visibleMonths(value: number) {
518-
this._visibleMonths = clamp(value, 1, 2);
519+
this._visibleMonths = clamp(asNumber(value, 2), 1, 2);
519520
}
520521
/**
521522
* The orientation of the calendar header.

0 commit comments

Comments
 (0)