@kaizen/components 1.70.13 → 1.70.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/Calendar/CalendarRange/CalendarRange.cjs +7 -4
- package/dist/cjs/Calendar/CalendarRange/CalendarRange.module.scss.cjs +1 -0
- package/dist/cjs/Filter/FilterDateRangePicker/FilterDateRangePicker.cjs +6 -1
- package/dist/cjs/Filter/FilterDateRangePicker/FilterDateRangePicker.module.css.cjs +6 -0
- package/dist/cjs/Filter/FilterDateRangePicker/subcomponents/FilterDateRangePickerField/FilterDateRangePickerField.cjs +4 -1
- package/dist/esm/Calendar/CalendarRange/CalendarRange.mjs +7 -4
- package/dist/esm/Calendar/CalendarRange/CalendarRange.module.scss.mjs +1 -0
- package/dist/esm/Filter/FilterDateRangePicker/FilterDateRangePicker.mjs +5 -1
- package/dist/esm/Filter/FilterDateRangePicker/FilterDateRangePicker.module.css.mjs +4 -0
- package/dist/esm/Filter/FilterDateRangePicker/subcomponents/FilterDateRangePickerField/FilterDateRangePickerField.mjs +4 -1
- package/dist/styles.css +12 -0
- package/dist/types/Calendar/CalendarRange/CalendarRange.d.ts +1 -1
- package/package.json +55 -3
- package/src/Calendar/CalendarRange/CalendarRange.module.scss +5 -0
- package/src/Calendar/CalendarRange/CalendarRange.tsx +3 -1
- package/src/Filter/FilterDateRangePicker/FilterDateRangePicker.module.css +7 -0
- package/src/Filter/FilterDateRangePicker/FilterDateRangePicker.tsx +3 -1
- package/src/Filter/FilterDateRangePicker/_docs/FilterDateRangePicker.stories.tsx +36 -1
- package/src/Filter/FilterDateRangePicker/subcomponents/FilterDateRangePickerField/FilterDateRangePickerField.tsx +5 -1
|
@@ -24,9 +24,11 @@ var CalendarRange = function (_a) {
|
|
|
24
24
|
classNameOverride = _a.classNameOverride,
|
|
25
25
|
selected = _a.selected,
|
|
26
26
|
defaultMonth = _a.defaultMonth,
|
|
27
|
-
_d = _a.
|
|
28
|
-
|
|
29
|
-
|
|
27
|
+
_d = _a.numberOfMonths,
|
|
28
|
+
numberOfMonths = _d === undefined ? 2 : _d,
|
|
29
|
+
_e = _a.locale,
|
|
30
|
+
locale$1 = _e === undefined ? locale.enAU : _e,
|
|
31
|
+
restProps = tslib.__rest(_a, ["id", "onMount", "hasDivider", "classNameOverride", "selected", "defaultMonth", "numberOfMonths", "locale"]);
|
|
30
32
|
var calendarRef = React.useRef(null);
|
|
31
33
|
React.useEffect(function () {
|
|
32
34
|
if (calendarRef.current) onMount === null || onMount === undefined ? undefined : onMount(calendarRef.current);
|
|
@@ -37,6 +39,7 @@ var CalendarRange = function (_a) {
|
|
|
37
39
|
var classNames = tslib.__assign(tslib.__assign({}, baseCalendarClassNames.baseCalendarClassNames), {
|
|
38
40
|
month: hasDivider ? CalendarRange_module.monthWithDivider : CalendarRange_module.month,
|
|
39
41
|
caption_end: CalendarRange_module.captionEnd,
|
|
42
|
+
caption_start: CalendarRange_module.captionStart,
|
|
40
43
|
nav: CalendarRange_module.nav,
|
|
41
44
|
day_range_start: CalendarRange_module.dayRangeStart,
|
|
42
45
|
day_range_end: CalendarRange_module.dayRangeEnd,
|
|
@@ -68,7 +71,7 @@ var CalendarRange = function (_a) {
|
|
|
68
71
|
});
|
|
69
72
|
}
|
|
70
73
|
},
|
|
71
|
-
numberOfMonths:
|
|
74
|
+
numberOfMonths: numberOfMonths,
|
|
72
75
|
locale: locale$1
|
|
73
76
|
}, restProps)));
|
|
74
77
|
};
|
|
@@ -5,6 +5,7 @@ var styles = {
|
|
|
5
5
|
"monthWithDivider": "CalendarRange-module_monthWithDivider__JY-56",
|
|
6
6
|
"nav": "CalendarRange-module_nav__OtaVb",
|
|
7
7
|
"captionEnd": "CalendarRange-module_captionEnd__GSLQO",
|
|
8
|
+
"captionStart": "CalendarRange-module_captionStart__K5hlF",
|
|
8
9
|
"dayRangeStart": "CalendarRange-module_dayRangeStart__TwdDT",
|
|
9
10
|
"dayRangeEnd": "CalendarRange-module_dayRangeEnd__y6dEB",
|
|
10
11
|
"dayRangeMiddle": "CalendarRange-module_dayRangeMiddle__SybKY"
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
var tslib = require('tslib');
|
|
4
4
|
var React = require('react');
|
|
5
|
+
var classnames = require('classnames');
|
|
5
6
|
var getLocale = require('../../DatePicker/utils/getLocale.cjs');
|
|
6
7
|
var Filter = require('../Filter/Filter.cjs');
|
|
7
8
|
var FilterContents = require('../Filter/subcomponents/FilterContents/FilterContents.cjs');
|
|
@@ -9,12 +10,14 @@ var DateRangeDisplayLabel = require('./subcomponents/DateRangeDisplayLabel/DateR
|
|
|
9
10
|
var FilterDateRangePickerField = require('./subcomponents/FilterDateRangePickerField/FilterDateRangePickerField.cjs');
|
|
10
11
|
var isValidRange = require('./subcomponents/FilterDateRangePickerField/utils/isValidRange.cjs');
|
|
11
12
|
var isCompleteDateRange = require('./utils/isCompleteDateRange.cjs');
|
|
13
|
+
var FilterDateRangePicker_module = require('./FilterDateRangePicker.module.css.cjs');
|
|
12
14
|
function _interopDefault(e) {
|
|
13
15
|
return e && e.__esModule ? e : {
|
|
14
16
|
default: e
|
|
15
17
|
};
|
|
16
18
|
}
|
|
17
19
|
var React__default = /*#__PURE__*/_interopDefault(React);
|
|
20
|
+
var classnames__default = /*#__PURE__*/_interopDefault(classnames);
|
|
18
21
|
var FilterDateRangePicker = function (_a) {
|
|
19
22
|
var propsId = _a.id,
|
|
20
23
|
isOpen = _a.isOpen,
|
|
@@ -38,7 +41,9 @@ var FilterDateRangePicker = function (_a) {
|
|
|
38
41
|
label: label
|
|
39
42
|
}, triggerProps));
|
|
40
43
|
}
|
|
41
|
-
}, React__default.default.createElement(FilterContents.FilterContents,
|
|
44
|
+
}, React__default.default.createElement(FilterContents.FilterContents, {
|
|
45
|
+
classNameOverride: classnames__default.default(FilterDateRangePicker_module.filterDateRangePickerContents)
|
|
46
|
+
}, React__default.default.createElement(FilterDateRangePickerField.FilterDateRangePickerField, tslib.__assign({
|
|
42
47
|
id: "".concat(id, "--input"),
|
|
43
48
|
label: label,
|
|
44
49
|
locale: locale,
|
|
@@ -13,6 +13,7 @@ require('react-day-picker');
|
|
|
13
13
|
var parseDateFromTextFormatValue = require('../../../../Calendar/utils/parseDateFromTextFormatValue.cjs');
|
|
14
14
|
var getLocale = require('../../../../DatePicker/utils/getLocale.cjs');
|
|
15
15
|
var useDateInputHandlers = require('../../../FilterDatePicker/hooks/useDateInputHandlers.cjs');
|
|
16
|
+
var useMediaQueries = require('../../../../utils/useMediaQueries.cjs');
|
|
16
17
|
var DateRangeInputField = require('../DateRangeInputField/DateRangeInputField.cjs');
|
|
17
18
|
var filterDateRangePickerFieldReducer = require('./filterDateRangePickerFieldReducer.cjs');
|
|
18
19
|
var useEndDateValidation = require('./hooks/useEndDateValidation.cjs');
|
|
@@ -44,6 +45,7 @@ var FilterDateRangePickerField = function (_a) {
|
|
|
44
45
|
restProps = tslib.__rest(_a, ["id", "label", "locale", "defaultMonth", "selectedRange", "onRangeChange", "disabledDays", "inputStartDateProps", "inputEndDateProps", "description", "validationMessage", "onValidate", "classNameOverride"]);
|
|
45
46
|
var formatMessage = i18nReactIntl.useIntl().formatMessage;
|
|
46
47
|
var locale = getLocale.getLocale(propsLocale);
|
|
48
|
+
var queries = useMediaQueries.useMediaQueries().queries;
|
|
47
49
|
var translatedDateFrom = formatMessage({
|
|
48
50
|
id: 'filterDateRangePicker.dateFrom',
|
|
49
51
|
defaultMessage: 'Date from',
|
|
@@ -222,7 +224,7 @@ var FilterDateRangePickerField = function (_a) {
|
|
|
222
224
|
dateStart: dateStartValidation.validationMessage,
|
|
223
225
|
dateEnd: dateEndValidation.validationMessage
|
|
224
226
|
},
|
|
225
|
-
classNameOverride: FilterDateRangePickerField_module.dateRangeInputField
|
|
227
|
+
classNameOverride: classnames__default.default(FilterDateRangePickerField_module.dateRangeInputField)
|
|
226
228
|
}), React__default.default.createElement(CalendarRange.CalendarRange, {
|
|
227
229
|
disabled: disabledDays,
|
|
228
230
|
locale: locale,
|
|
@@ -232,6 +234,7 @@ var FilterDateRangePickerField = function (_a) {
|
|
|
232
234
|
},
|
|
233
235
|
onSelect: handleCalendarSelectRange,
|
|
234
236
|
month: state.startMonth,
|
|
237
|
+
numberOfMonths: queries.isSmall ? 1 : 2,
|
|
235
238
|
onMonthChange: function (value) {
|
|
236
239
|
return dispatch({
|
|
237
240
|
type: 'navigate_months',
|
|
@@ -17,9 +17,11 @@ const CalendarRange = /*#__PURE__*/function () {
|
|
|
17
17
|
classNameOverride = _a.classNameOverride,
|
|
18
18
|
selected = _a.selected,
|
|
19
19
|
defaultMonth = _a.defaultMonth,
|
|
20
|
-
_d = _a.
|
|
21
|
-
|
|
22
|
-
|
|
20
|
+
_d = _a.numberOfMonths,
|
|
21
|
+
numberOfMonths = _d === undefined ? 2 : _d,
|
|
22
|
+
_e = _a.locale,
|
|
23
|
+
locale = _e === undefined ? enAU : _e,
|
|
24
|
+
restProps = __rest(_a, ["id", "onMount", "hasDivider", "classNameOverride", "selected", "defaultMonth", "numberOfMonths", "locale"]);
|
|
23
25
|
var calendarRef = useRef(null);
|
|
24
26
|
useEffect(function () {
|
|
25
27
|
if (calendarRef.current) onMount === null || onMount === undefined ? undefined : onMount(calendarRef.current);
|
|
@@ -30,6 +32,7 @@ const CalendarRange = /*#__PURE__*/function () {
|
|
|
30
32
|
var classNames = __assign(__assign({}, baseCalendarClassNames), {
|
|
31
33
|
month: hasDivider ? styles.monthWithDivider : styles.month,
|
|
32
34
|
caption_end: styles.captionEnd,
|
|
35
|
+
caption_start: styles.captionStart,
|
|
33
36
|
nav: styles.nav,
|
|
34
37
|
day_range_start: styles.dayRangeStart,
|
|
35
38
|
day_range_end: styles.dayRangeEnd,
|
|
@@ -61,7 +64,7 @@ const CalendarRange = /*#__PURE__*/function () {
|
|
|
61
64
|
});
|
|
62
65
|
}
|
|
63
66
|
},
|
|
64
|
-
numberOfMonths:
|
|
67
|
+
numberOfMonths: numberOfMonths,
|
|
65
68
|
locale: locale
|
|
66
69
|
}, restProps)));
|
|
67
70
|
};
|
|
@@ -3,6 +3,7 @@ var styles = {
|
|
|
3
3
|
"monthWithDivider": "CalendarRange-module_monthWithDivider__JY-56",
|
|
4
4
|
"nav": "CalendarRange-module_nav__OtaVb",
|
|
5
5
|
"captionEnd": "CalendarRange-module_captionEnd__GSLQO",
|
|
6
|
+
"captionStart": "CalendarRange-module_captionStart__K5hlF",
|
|
6
7
|
"dayRangeStart": "CalendarRange-module_dayRangeStart__TwdDT",
|
|
7
8
|
"dayRangeEnd": "CalendarRange-module_dayRangeEnd__y6dEB",
|
|
8
9
|
"dayRangeMiddle": "CalendarRange-module_dayRangeMiddle__SybKY"
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { __rest, __assign } from 'tslib';
|
|
2
2
|
import React, { useId } from 'react';
|
|
3
|
+
import classnames from 'classnames';
|
|
3
4
|
import { getLocale } from '../../DatePicker/utils/getLocale.mjs';
|
|
4
5
|
import { Filter } from '../Filter/Filter.mjs';
|
|
5
6
|
import { FilterContents } from '../Filter/subcomponents/FilterContents/FilterContents.mjs';
|
|
@@ -7,6 +8,7 @@ import { DateRangeDisplayLabel } from './subcomponents/DateRangeDisplayLabel/Dat
|
|
|
7
8
|
import { FilterDateRangePickerField } from './subcomponents/FilterDateRangePickerField/FilterDateRangePickerField.mjs';
|
|
8
9
|
import { isValidRange } from './subcomponents/FilterDateRangePickerField/utils/isValidRange.mjs';
|
|
9
10
|
import { isCompleteDateRange } from './utils/isCompleteDateRange.mjs';
|
|
11
|
+
import styles from './FilterDateRangePicker.module.css.mjs';
|
|
10
12
|
const FilterDateRangePicker = /*#__PURE__*/function () {
|
|
11
13
|
const FilterDateRangePicker = function (_a) {
|
|
12
14
|
var propsId = _a.id,
|
|
@@ -31,7 +33,9 @@ const FilterDateRangePicker = /*#__PURE__*/function () {
|
|
|
31
33
|
label: label
|
|
32
34
|
}, triggerProps));
|
|
33
35
|
}
|
|
34
|
-
}, /*#__PURE__*/React.createElement(FilterContents,
|
|
36
|
+
}, /*#__PURE__*/React.createElement(FilterContents, {
|
|
37
|
+
classNameOverride: classnames(styles.filterDateRangePickerContents)
|
|
38
|
+
}, /*#__PURE__*/React.createElement(FilterDateRangePickerField, __assign({
|
|
35
39
|
id: "".concat(id, "--input"),
|
|
36
40
|
label: label,
|
|
37
41
|
locale: locale,
|
|
@@ -11,6 +11,7 @@ import 'react-day-picker';
|
|
|
11
11
|
import { parseDateFromTextFormatValue } from '../../../../Calendar/utils/parseDateFromTextFormatValue.mjs';
|
|
12
12
|
import { getLocale } from '../../../../DatePicker/utils/getLocale.mjs';
|
|
13
13
|
import { useDateInputHandlers } from '../../../FilterDatePicker/hooks/useDateInputHandlers.mjs';
|
|
14
|
+
import { useMediaQueries } from '../../../../utils/useMediaQueries.mjs';
|
|
14
15
|
import { DateRangeInputField } from '../DateRangeInputField/DateRangeInputField.mjs';
|
|
15
16
|
import { filterDatePickerFieldReducer } from './filterDateRangePickerFieldReducer.mjs';
|
|
16
17
|
import { useEndDateValidation } from './hooks/useEndDateValidation.mjs';
|
|
@@ -36,6 +37,7 @@ const FilterDateRangePickerField = /*#__PURE__*/function () {
|
|
|
36
37
|
restProps = __rest(_a, ["id", "label", "locale", "defaultMonth", "selectedRange", "onRangeChange", "disabledDays", "inputStartDateProps", "inputEndDateProps", "description", "validationMessage", "onValidate", "classNameOverride"]);
|
|
37
38
|
var formatMessage = useIntl().formatMessage;
|
|
38
39
|
var locale = getLocale(propsLocale);
|
|
40
|
+
var queries = useMediaQueries().queries;
|
|
39
41
|
var translatedDateFrom = formatMessage({
|
|
40
42
|
id: 'filterDateRangePicker.dateFrom',
|
|
41
43
|
defaultMessage: 'Date from',
|
|
@@ -214,7 +216,7 @@ const FilterDateRangePickerField = /*#__PURE__*/function () {
|
|
|
214
216
|
dateStart: dateStartValidation.validationMessage,
|
|
215
217
|
dateEnd: dateEndValidation.validationMessage
|
|
216
218
|
},
|
|
217
|
-
classNameOverride: styles.dateRangeInputField
|
|
219
|
+
classNameOverride: classnames(styles.dateRangeInputField)
|
|
218
220
|
}), /*#__PURE__*/React.createElement(CalendarRange, {
|
|
219
221
|
disabled: disabledDays,
|
|
220
222
|
locale: locale,
|
|
@@ -224,6 +226,7 @@ const FilterDateRangePickerField = /*#__PURE__*/function () {
|
|
|
224
226
|
},
|
|
225
227
|
onSelect: handleCalendarSelectRange,
|
|
226
228
|
month: state.startMonth,
|
|
229
|
+
numberOfMonths: queries.isSmall ? 1 : 2,
|
|
227
230
|
onMonthChange: function (value) {
|
|
228
231
|
return dispatch({
|
|
229
232
|
type: 'navigate_months',
|
package/dist/styles.css
CHANGED
|
@@ -1863,6 +1863,10 @@
|
|
|
1863
1863
|
.CalendarRange-module_captionEnd__GSLQO .CalendarRange-module_nav__OtaVb {
|
|
1864
1864
|
flex-direction: row-reverse;
|
|
1865
1865
|
}
|
|
1866
|
+
.CalendarRange-module_captionStart__K5hlF.CalendarRange-module_captionEnd__GSLQO .CalendarRange-module_nav__OtaVb {
|
|
1867
|
+
justify-content: space-between;
|
|
1868
|
+
flex-direction: row;
|
|
1869
|
+
}
|
|
1866
1870
|
|
|
1867
1871
|
.CalendarRange-module_dayRangeStart__TwdDT,
|
|
1868
1872
|
.CalendarRange-module_dayRangeEnd__y6dEB {
|
|
@@ -3711,6 +3715,14 @@ input[type=range].InputRange-module_ratingScaleRange__gI-rs::-ms-thumb:not(:disa
|
|
|
3711
3715
|
.FilterDateRangePickerField-module_dateRangeInputField__EEU-X {
|
|
3712
3716
|
margin-bottom: var(--spacing-24, 1.5rem);
|
|
3713
3717
|
}
|
|
3718
|
+
@media (width <= 320px) {
|
|
3719
|
+
.FilterDateRangePicker-module_filterDateRangePickerContents__P7eNa {
|
|
3720
|
+
padding: var(--spacing-16);
|
|
3721
|
+
max-width: 320px;
|
|
3722
|
+
box-sizing: border-box;
|
|
3723
|
+
}
|
|
3724
|
+
}
|
|
3725
|
+
|
|
3714
3726
|
/** THIS IS AN AUTOGENERATED FILE **/
|
|
3715
3727
|
.ListBox-module_listBox__q95MO {
|
|
3716
3728
|
list-style: none;
|
|
@@ -7,6 +7,6 @@ export type CalendarRangeProps = {
|
|
|
7
7
|
hasDivider?: boolean;
|
|
8
8
|
} & OverrideClassName<Omit<DayPickerRangeProps, 'mode'>>;
|
|
9
9
|
export declare const CalendarRange: {
|
|
10
|
-
({ id, onMount, hasDivider, classNameOverride, selected, defaultMonth, locale, ...restProps }: CalendarRangeProps): JSX.Element;
|
|
10
|
+
({ id, onMount, hasDivider, classNameOverride, selected, defaultMonth, numberOfMonths, locale, ...restProps }: CalendarRangeProps): JSX.Element;
|
|
11
11
|
displayName: string;
|
|
12
12
|
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kaizen/components",
|
|
3
|
-
"version": "1.70.
|
|
3
|
+
"version": "1.70.15",
|
|
4
4
|
"description": "Kaizen component library",
|
|
5
5
|
"author": "Geoffrey Chong <geoff.chong@cultureamp.com>",
|
|
6
6
|
"homepage": "https://cultureamp.design",
|
|
@@ -30,6 +30,58 @@
|
|
|
30
30
|
"sideEffects": [
|
|
31
31
|
"styles.css"
|
|
32
32
|
],
|
|
33
|
+
"exports": {
|
|
34
|
+
".": {
|
|
35
|
+
"import": "./dist/esm/index.mjs",
|
|
36
|
+
"require": "./dist/cjs/index.cjs",
|
|
37
|
+
"types": "./dist/types/index.d.ts"
|
|
38
|
+
},
|
|
39
|
+
"./future": {
|
|
40
|
+
"import": "./dist/esm/future.mjs",
|
|
41
|
+
"require": "./dist/cjs/future.cjs",
|
|
42
|
+
"types": "./dist/types/__rc__/index.d.ts"
|
|
43
|
+
},
|
|
44
|
+
"./v1/actions": {
|
|
45
|
+
"import": "./dist/esm/actionsV1.mjs",
|
|
46
|
+
"require": "./dist/cjs/actionsV1.cjs",
|
|
47
|
+
"types": "./dist/types/v1-actions.d.ts"
|
|
48
|
+
},
|
|
49
|
+
"./v1/overlays": {
|
|
50
|
+
"import": "./dist/esm/overlaysV1.mjs",
|
|
51
|
+
"main": "./dist/cjs/overlaysV1.cjs",
|
|
52
|
+
"types": "./dist/types/v1-overlays.d.ts"
|
|
53
|
+
},
|
|
54
|
+
"./v2/actions": {
|
|
55
|
+
"import": "./dist/esm/actionsV2.mjs",
|
|
56
|
+
"require": "./dist/cjs/actionsV2.cjs",
|
|
57
|
+
"types": "./dist/types/v2-actions.d.ts"
|
|
58
|
+
},
|
|
59
|
+
"./v2/overlays": {
|
|
60
|
+
"import": "./dist/esm/overlaysV2.mjs",
|
|
61
|
+
"require": "./dist/cjs/overlaysV2.cjs",
|
|
62
|
+
"types": "./dist/types/v2-overlays.d.ts"
|
|
63
|
+
},
|
|
64
|
+
"./v3/actions": {
|
|
65
|
+
"import": "./dist/esm/actionsV3.mjs",
|
|
66
|
+
"require": "./dist/cjs/actionsV3.cjs",
|
|
67
|
+
"types": "./dist/types/v3-actions.d.ts"
|
|
68
|
+
},
|
|
69
|
+
"./v3/overlays": {
|
|
70
|
+
"import": "./dist/esm/overlaysV3.mjs",
|
|
71
|
+
"require": "./dist/cjs/overlaysV3.cjs",
|
|
72
|
+
"types": "./dist/types/v3-overlays.d.ts"
|
|
73
|
+
},
|
|
74
|
+
"./v3/react-aria": {
|
|
75
|
+
"import": "./dist/esm/reactAriaV3.mjs",
|
|
76
|
+
"require": "./dist/cjs/reactAriaV3.cjs",
|
|
77
|
+
"types": "./dist/types/__react-aria__/index.d.ts"
|
|
78
|
+
},
|
|
79
|
+
"./v3/react-aria-components": {
|
|
80
|
+
"import": "./dist/esm/reactAriaComponentsV3.mjs",
|
|
81
|
+
"require": "./dist/cjs/reactAriaComponentsV3.cjs",
|
|
82
|
+
"types": "./dist/types/__react-aria-components__/index.d.ts"
|
|
83
|
+
}
|
|
84
|
+
},
|
|
33
85
|
"bin": {
|
|
34
86
|
"kaizen-codemod": "./bin/codemod.sh"
|
|
35
87
|
},
|
|
@@ -117,8 +169,8 @@
|
|
|
117
169
|
"svgo": "^3.3.2",
|
|
118
170
|
"tslib": "^2.8.1",
|
|
119
171
|
"tsx": "^4.19.2",
|
|
120
|
-
"@kaizen/
|
|
121
|
-
"@kaizen/
|
|
172
|
+
"@kaizen/design-tokens": "10.8.7",
|
|
173
|
+
"@kaizen/package-bundler": "2.0.4"
|
|
122
174
|
},
|
|
123
175
|
"devDependenciesComments": {
|
|
124
176
|
"sass": "Prevent deprecation warnings introduced in 1.80 as we plan to move away from sass",
|
|
@@ -22,6 +22,7 @@ export const CalendarRange = ({
|
|
|
22
22
|
classNameOverride,
|
|
23
23
|
selected,
|
|
24
24
|
defaultMonth,
|
|
25
|
+
numberOfMonths = 2,
|
|
25
26
|
locale = enAU,
|
|
26
27
|
...restProps
|
|
27
28
|
}: CalendarRangeProps): JSX.Element => {
|
|
@@ -39,6 +40,7 @@ export const CalendarRange = ({
|
|
|
39
40
|
...baseCalendarClassNames,
|
|
40
41
|
month: hasDivider ? styles.monthWithDivider : styles.month,
|
|
41
42
|
caption_end: styles.captionEnd,
|
|
43
|
+
caption_start: styles.captionStart,
|
|
42
44
|
nav: styles.nav,
|
|
43
45
|
day_range_start: styles.dayRangeStart,
|
|
44
46
|
day_range_end: styles.dayRangeEnd,
|
|
@@ -57,7 +59,7 @@ export const CalendarRange = ({
|
|
|
57
59
|
IconRight: () => <Icon name="arrow_forward" isPresentational shouldMirrorInRTL />,
|
|
58
60
|
IconLeft: () => <Icon name="arrow_back" isPresentational shouldMirrorInRTL />,
|
|
59
61
|
}}
|
|
60
|
-
numberOfMonths={
|
|
62
|
+
numberOfMonths={numberOfMonths}
|
|
61
63
|
locale={locale}
|
|
62
64
|
{...restProps}
|
|
63
65
|
/>
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import React, { useId } from 'react'
|
|
2
|
+
import classNames from 'classnames'
|
|
2
3
|
import { getLocale } from '~components/DatePicker/utils/getLocale'
|
|
3
4
|
import { Filter, FilterContents, type FilterProps } from '~components/Filter/Filter'
|
|
4
5
|
import { type FilterButtonProps } from '../FilterButton'
|
|
@@ -9,6 +10,7 @@ import {
|
|
|
9
10
|
} from './subcomponents/FilterDateRangePickerField'
|
|
10
11
|
import { isValidRange } from './subcomponents/FilterDateRangePickerField/utils/isValidRange'
|
|
11
12
|
import { isCompleteDateRange } from './utils/isCompleteDateRange'
|
|
13
|
+
import styles from './FilterDateRangePicker.module.css'
|
|
12
14
|
|
|
13
15
|
export type FilterDateRangePickerProps = {
|
|
14
16
|
id?: string
|
|
@@ -46,7 +48,7 @@ export const FilterDateRangePicker = ({
|
|
|
46
48
|
})
|
|
47
49
|
}
|
|
48
50
|
>
|
|
49
|
-
<FilterContents>
|
|
51
|
+
<FilterContents classNameOverride={classNames(styles.filterDateRangePickerContents)}>
|
|
50
52
|
<FilterDateRangePickerField
|
|
51
53
|
id={`${id}--input`}
|
|
52
54
|
label={label}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React, { useEffect, useState } from 'react'
|
|
2
2
|
import { type Meta, type StoryObj } from '@storybook/react'
|
|
3
|
-
import { fn } from '@storybook/test'
|
|
3
|
+
import { expect, fn, waitFor, within } from '@storybook/test'
|
|
4
4
|
import Highlight from 'react-highlight'
|
|
5
5
|
import { type DateRange } from '~components/Calendar'
|
|
6
6
|
import { defaultMonthControls } from '~components/Calendar/_docs/controls/defaultMonthControls'
|
|
@@ -428,3 +428,38 @@ export const Validation: Story = {
|
|
|
428
428
|
controls: { disable: true },
|
|
429
429
|
},
|
|
430
430
|
}
|
|
431
|
+
|
|
432
|
+
export const OnSmallViewport: Story = {
|
|
433
|
+
parameters: { viewport: { defaultViewport: 'mobile1' } },
|
|
434
|
+
...FilterDateRangePickerTemplate,
|
|
435
|
+
play: async ({ canvasElement, step }) => {
|
|
436
|
+
const canvas = within(canvasElement)
|
|
437
|
+
|
|
438
|
+
await step('initial render complete', async () => {
|
|
439
|
+
await waitFor(() => {
|
|
440
|
+
canvas.getByRole('button', {
|
|
441
|
+
name: 'Dates',
|
|
442
|
+
})
|
|
443
|
+
})
|
|
444
|
+
})
|
|
445
|
+
|
|
446
|
+
await step('Can open the date picker', async () => {
|
|
447
|
+
await waitFor(() => {
|
|
448
|
+
const button = canvas.getByRole('button', {
|
|
449
|
+
name: 'Dates',
|
|
450
|
+
})
|
|
451
|
+
button.click()
|
|
452
|
+
})
|
|
453
|
+
})
|
|
454
|
+
|
|
455
|
+
await step('Back and Forward arrow and both visible', async () => {
|
|
456
|
+
await waitFor(() => {
|
|
457
|
+
const prevMonth = canvas.getByLabelText('Go to previous month')
|
|
458
|
+
const nextMonth = canvas.getByLabelText('Go to next month')
|
|
459
|
+
|
|
460
|
+
expect(prevMonth).toBeVisible()
|
|
461
|
+
expect(nextMonth).toBeVisible()
|
|
462
|
+
})
|
|
463
|
+
})
|
|
464
|
+
},
|
|
465
|
+
}
|
|
@@ -15,6 +15,7 @@ import { type DateValidationResponse } from '~components/Filter/FilterDatePicker
|
|
|
15
15
|
import { useDateInputHandlers } from '~components/Filter/FilterDatePicker/hooks/useDateInputHandlers'
|
|
16
16
|
import { type DataAttributes } from '~components/types/DataAttributes'
|
|
17
17
|
import { type OverrideClassName } from '~components/types/OverrideClassName'
|
|
18
|
+
import { useMediaQueries } from '~components/utils/useMediaQueries'
|
|
18
19
|
import { DateRangeInputField, type DateRangeInputFieldProps } from '../DateRangeInputField'
|
|
19
20
|
import { filterDatePickerFieldReducer } from './filterDateRangePickerFieldReducer'
|
|
20
21
|
import { useEndDateValidation } from './hooks/useEndDateValidation'
|
|
@@ -84,6 +85,8 @@ export const FilterDateRangePickerField = ({
|
|
|
84
85
|
const { formatMessage } = useIntl()
|
|
85
86
|
const locale = getLocale(propsLocale)
|
|
86
87
|
|
|
88
|
+
const { queries } = useMediaQueries()
|
|
89
|
+
|
|
87
90
|
const translatedDateFrom = formatMessage({
|
|
88
91
|
id: 'filterDateRangePicker.dateFrom',
|
|
89
92
|
defaultMessage: 'Date from',
|
|
@@ -292,7 +295,7 @@ export const FilterDateRangePickerField = ({
|
|
|
292
295
|
dateStart: dateStartValidation.validationMessage,
|
|
293
296
|
dateEnd: dateEndValidation.validationMessage,
|
|
294
297
|
}}
|
|
295
|
-
classNameOverride={styles.dateRangeInputField}
|
|
298
|
+
classNameOverride={classnames(styles.dateRangeInputField)}
|
|
296
299
|
/>
|
|
297
300
|
<CalendarRange
|
|
298
301
|
disabled={disabledDays}
|
|
@@ -303,6 +306,7 @@ export const FilterDateRangePickerField = ({
|
|
|
303
306
|
}}
|
|
304
307
|
onSelect={handleCalendarSelectRange}
|
|
305
308
|
month={state.startMonth}
|
|
309
|
+
numberOfMonths={queries.isSmall ? 1 : 2}
|
|
306
310
|
onMonthChange={(value: Date) => dispatch({ type: 'navigate_months', date: value })}
|
|
307
311
|
/>
|
|
308
312
|
</div>
|