@navikt/ds-react 2.8.9 → 2.8.10
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/_docs.json +62 -62
- package/cjs/date/DateInput.js +2 -2
- package/cjs/date/context/index.js +9 -0
- package/cjs/date/context/package.json +6 -0
- package/cjs/date/datepicker/DatePicker.js +4 -4
- package/cjs/date/datepicker/DatePickerStandalone.js +2 -2
- package/cjs/date/datepicker/{Head.js → TableHead.js} +3 -3
- package/cjs/date/hooks/index.js +1 -7
- package/cjs/date/hooks/useDatepicker.js +12 -42
- package/cjs/date/hooks/useEscape.js +18 -0
- package/cjs/date/hooks/useMonthPicker.js +12 -42
- package/cjs/date/hooks/useOutsideClickHandler.js +26 -0
- package/cjs/date/hooks/useRangeDatepicker.js +13 -45
- package/cjs/date/monthpicker/MonthButton.js +2 -2
- package/cjs/date/monthpicker/MonthCaption.js +2 -2
- package/cjs/date/monthpicker/MonthPicker.js +3 -3
- package/cjs/date/monthpicker/MonthPickerStandalone.js +2 -2
- package/cjs/date/monthpicker/MonthSelector.js +2 -2
- package/esm/date/DateInput.js +1 -1
- package/esm/date/DateInput.js.map +1 -1
- package/esm/date/context/index.d.ts +2 -0
- package/esm/date/context/index.js +3 -0
- package/esm/date/context/index.js.map +1 -0
- package/esm/date/context/useDateInputContext.js.map +1 -0
- package/esm/date/context/useSharedMonthContext.js.map +1 -0
- package/esm/date/datepicker/DatePicker.js +3 -3
- package/esm/date/datepicker/DatePicker.js.map +1 -1
- package/esm/date/datepicker/DatePickerStandalone.js +2 -2
- package/esm/date/datepicker/DatePickerStandalone.js.map +1 -1
- package/esm/date/datepicker/{Head.d.ts → TableHead.d.ts} +1 -1
- package/esm/date/datepicker/{Head.js → TableHead.js} +2 -2
- package/esm/date/datepicker/TableHead.js.map +1 -0
- package/esm/date/hooks/index.d.ts +0 -2
- package/esm/date/hooks/index.js +0 -2
- package/esm/date/hooks/index.js.map +1 -1
- package/esm/date/hooks/useDatepicker.js +13 -43
- package/esm/date/hooks/useDatepicker.js.map +1 -1
- package/esm/date/hooks/useEscape.d.ts +2 -0
- package/esm/date/hooks/useEscape.js +15 -0
- package/esm/date/hooks/useEscape.js.map +1 -0
- package/esm/date/hooks/useMonthPicker.js +13 -43
- package/esm/date/hooks/useMonthPicker.js.map +1 -1
- package/esm/date/hooks/useOutsideClickHandler.d.ts +2 -0
- package/esm/date/hooks/useOutsideClickHandler.js +23 -0
- package/esm/date/hooks/useOutsideClickHandler.js.map +1 -0
- package/esm/date/hooks/useRangeDatepicker.js +14 -46
- package/esm/date/hooks/useRangeDatepicker.js.map +1 -1
- package/esm/date/monthpicker/MonthButton.js +1 -1
- package/esm/date/monthpicker/MonthButton.js.map +1 -1
- package/esm/date/monthpicker/MonthCaption.js +1 -1
- package/esm/date/monthpicker/MonthCaption.js.map +1 -1
- package/esm/date/monthpicker/MonthPicker.js +1 -1
- package/esm/date/monthpicker/MonthPicker.js.map +1 -1
- package/esm/date/monthpicker/MonthPickerStandalone.js +1 -1
- package/esm/date/monthpicker/MonthPickerStandalone.js.map +1 -1
- package/esm/date/monthpicker/MonthSelector.js +1 -1
- package/esm/date/monthpicker/MonthSelector.js.map +1 -1
- package/package.json +3 -3
- package/src/date/DateInput.tsx +1 -1
- package/src/date/context/index.ts +5 -0
- package/src/date/datepicker/DatePicker.tsx +3 -3
- package/src/date/datepicker/DatePickerStandalone.tsx +2 -2
- package/src/date/datepicker/{Head.tsx → TableHead.tsx} +1 -1
- package/src/date/datepicker/datepicker.stories.tsx +21 -21
- package/src/date/hooks/index.ts +0 -5
- package/src/date/hooks/useDatepicker.tsx +15 -55
- package/src/date/hooks/useEscape.tsx +25 -0
- package/src/date/hooks/useMonthPicker.tsx +15 -54
- package/src/date/hooks/useOutsideClickHandler.tsx +34 -0
- package/src/date/hooks/useRangeDatepicker.tsx +19 -56
- package/src/date/monthpicker/MonthButton.tsx +1 -1
- package/src/date/monthpicker/MonthCaption.tsx +1 -1
- package/src/date/monthpicker/MonthPicker.tsx +1 -1
- package/src/date/monthpicker/MonthPickerStandalone.tsx +1 -1
- package/src/date/monthpicker/MonthSelector.tsx +1 -1
- package/esm/date/datepicker/Head.js.map +0 -1
- package/esm/date/hooks/useDateInputContext.js.map +0 -1
- package/esm/date/hooks/useSharedMonthContext.js.map +0 -1
- /package/cjs/date/{hooks → context}/useDateInputContext.js +0 -0
- /package/cjs/date/{hooks → context}/useSharedMonthContext.js +0 -0
- /package/esm/date/{hooks → context}/useDateInputContext.d.ts +0 -0
- /package/esm/date/{hooks → context}/useDateInputContext.js +0 -0
- /package/esm/date/{hooks → context}/useSharedMonthContext.d.ts +0 -0
- /package/esm/date/{hooks → context}/useSharedMonthContext.js +0 -0
- /package/src/date/{hooks → context}/useDateInputContext.tsx +0 -0
- /package/src/date/{hooks → context}/useSharedMonthContext.tsx +0 -0
package/_docs.json
CHANGED
|
@@ -8793,6 +8793,66 @@
|
|
|
8793
8793
|
"displayName": "mergeRefs",
|
|
8794
8794
|
"props": {}
|
|
8795
8795
|
},
|
|
8796
|
+
{
|
|
8797
|
+
"filePath": "src/date/context/useSharedMonthContext.tsx",
|
|
8798
|
+
"displayName": "SharedMonthProvider",
|
|
8799
|
+
"props": {
|
|
8800
|
+
"dropdownCaption": {
|
|
8801
|
+
"defaultValue": null,
|
|
8802
|
+
"description": "",
|
|
8803
|
+
"name": "dropdownCaption",
|
|
8804
|
+
"required": true,
|
|
8805
|
+
"type": {
|
|
8806
|
+
"name": "any"
|
|
8807
|
+
}
|
|
8808
|
+
},
|
|
8809
|
+
"disabled": {
|
|
8810
|
+
"defaultValue": null,
|
|
8811
|
+
"description": "",
|
|
8812
|
+
"name": "disabled",
|
|
8813
|
+
"required": true,
|
|
8814
|
+
"type": {
|
|
8815
|
+
"name": "any"
|
|
8816
|
+
}
|
|
8817
|
+
},
|
|
8818
|
+
"selected": {
|
|
8819
|
+
"defaultValue": null,
|
|
8820
|
+
"description": "",
|
|
8821
|
+
"name": "selected",
|
|
8822
|
+
"required": true,
|
|
8823
|
+
"type": {
|
|
8824
|
+
"name": "any"
|
|
8825
|
+
}
|
|
8826
|
+
},
|
|
8827
|
+
"onSelect": {
|
|
8828
|
+
"defaultValue": null,
|
|
8829
|
+
"description": "",
|
|
8830
|
+
"name": "onSelect",
|
|
8831
|
+
"required": true,
|
|
8832
|
+
"type": {
|
|
8833
|
+
"name": "any"
|
|
8834
|
+
}
|
|
8835
|
+
},
|
|
8836
|
+
"year": {
|
|
8837
|
+
"defaultValue": null,
|
|
8838
|
+
"description": "",
|
|
8839
|
+
"name": "year",
|
|
8840
|
+
"required": true,
|
|
8841
|
+
"type": {
|
|
8842
|
+
"name": "any"
|
|
8843
|
+
}
|
|
8844
|
+
},
|
|
8845
|
+
"onYearChange": {
|
|
8846
|
+
"defaultValue": null,
|
|
8847
|
+
"description": "",
|
|
8848
|
+
"name": "onYearChange",
|
|
8849
|
+
"required": true,
|
|
8850
|
+
"type": {
|
|
8851
|
+
"name": "any"
|
|
8852
|
+
}
|
|
8853
|
+
}
|
|
8854
|
+
}
|
|
8855
|
+
},
|
|
8796
8856
|
{
|
|
8797
8857
|
"filePath": "src/date/datepicker/DatePicker.tsx",
|
|
8798
8858
|
"displayName": "DatePicker",
|
|
@@ -9568,8 +9628,8 @@
|
|
|
9568
9628
|
"props": {}
|
|
9569
9629
|
},
|
|
9570
9630
|
{
|
|
9571
|
-
"filePath": "src/date/datepicker/
|
|
9572
|
-
"displayName": "
|
|
9631
|
+
"filePath": "src/date/datepicker/TableHead.tsx",
|
|
9632
|
+
"displayName": "TableHead",
|
|
9573
9633
|
"props": {}
|
|
9574
9634
|
},
|
|
9575
9635
|
{
|
|
@@ -10340,66 +10400,6 @@
|
|
|
10340
10400
|
}
|
|
10341
10401
|
}
|
|
10342
10402
|
},
|
|
10343
|
-
{
|
|
10344
|
-
"filePath": "src/date/hooks/useSharedMonthContext.tsx",
|
|
10345
|
-
"displayName": "SharedMonthProvider",
|
|
10346
|
-
"props": {
|
|
10347
|
-
"dropdownCaption": {
|
|
10348
|
-
"defaultValue": null,
|
|
10349
|
-
"description": "",
|
|
10350
|
-
"name": "dropdownCaption",
|
|
10351
|
-
"required": true,
|
|
10352
|
-
"type": {
|
|
10353
|
-
"name": "any"
|
|
10354
|
-
}
|
|
10355
|
-
},
|
|
10356
|
-
"disabled": {
|
|
10357
|
-
"defaultValue": null,
|
|
10358
|
-
"description": "",
|
|
10359
|
-
"name": "disabled",
|
|
10360
|
-
"required": true,
|
|
10361
|
-
"type": {
|
|
10362
|
-
"name": "any"
|
|
10363
|
-
}
|
|
10364
|
-
},
|
|
10365
|
-
"selected": {
|
|
10366
|
-
"defaultValue": null,
|
|
10367
|
-
"description": "",
|
|
10368
|
-
"name": "selected",
|
|
10369
|
-
"required": true,
|
|
10370
|
-
"type": {
|
|
10371
|
-
"name": "any"
|
|
10372
|
-
}
|
|
10373
|
-
},
|
|
10374
|
-
"onSelect": {
|
|
10375
|
-
"defaultValue": null,
|
|
10376
|
-
"description": "",
|
|
10377
|
-
"name": "onSelect",
|
|
10378
|
-
"required": true,
|
|
10379
|
-
"type": {
|
|
10380
|
-
"name": "any"
|
|
10381
|
-
}
|
|
10382
|
-
},
|
|
10383
|
-
"year": {
|
|
10384
|
-
"defaultValue": null,
|
|
10385
|
-
"description": "",
|
|
10386
|
-
"name": "year",
|
|
10387
|
-
"required": true,
|
|
10388
|
-
"type": {
|
|
10389
|
-
"name": "any"
|
|
10390
|
-
}
|
|
10391
|
-
},
|
|
10392
|
-
"onYearChange": {
|
|
10393
|
-
"defaultValue": null,
|
|
10394
|
-
"description": "",
|
|
10395
|
-
"name": "onYearChange",
|
|
10396
|
-
"required": true,
|
|
10397
|
-
"type": {
|
|
10398
|
-
"name": "any"
|
|
10399
|
-
}
|
|
10400
|
-
}
|
|
10401
|
-
}
|
|
10402
|
-
},
|
|
10403
10403
|
{
|
|
10404
10404
|
"filePath": "src/date/monthpicker/MonthButton.tsx",
|
|
10405
10405
|
"displayName": "MonthButton",
|
package/cjs/date/DateInput.js
CHANGED
|
@@ -43,7 +43,7 @@ const clsx_1 = __importDefault(require("clsx"));
|
|
|
43
43
|
const react_1 = __importStar(require("react"));
|
|
44
44
|
const __1 = require("..");
|
|
45
45
|
const useFormField_1 = require("../form/useFormField");
|
|
46
|
-
const
|
|
46
|
+
const context_1 = require("./context");
|
|
47
47
|
const DateInput = (0, react_1.forwardRef)((props, ref) => {
|
|
48
48
|
const { className, hideLabel = false, label, description, variant = "datepicker" } = props, rest = __rest(props, ["className", "hideLabel", "label", "description", "variant"]);
|
|
49
49
|
const isDatepickerVariant = variant === "datepicker";
|
|
@@ -54,7 +54,7 @@ const DateInput = (0, react_1.forwardRef)((props, ref) => {
|
|
|
54
54
|
close: isDatepickerVariant ? "Lukk datovelger" : "Lukk månedsvelger",
|
|
55
55
|
},
|
|
56
56
|
};
|
|
57
|
-
const { onOpen, ariaId, open } = (0,
|
|
57
|
+
const { onOpen, ariaId, open } = (0, context_1.useDateInputContext)();
|
|
58
58
|
const { inputProps, size = "medium", inputDescriptionId, errorId, showErrorMsg, hasError, } = (0, useFormField_1.useFormField)(props, conditionalVariables.prefix);
|
|
59
59
|
return (react_1.default.createElement("div", { className: (0, clsx_1.default)(className, "navds-form-field", `navds-form-field--${size}`, "navds-date__field", {
|
|
60
60
|
"navds-text-field--error": hasError,
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SharedMonthProvider = exports.useSharedMonthContext = exports.DateContext = exports.useDateInputContext = void 0;
|
|
4
|
+
var useDateInputContext_1 = require("./useDateInputContext");
|
|
5
|
+
Object.defineProperty(exports, "useDateInputContext", { enumerable: true, get: function () { return useDateInputContext_1.useDateInputContext; } });
|
|
6
|
+
Object.defineProperty(exports, "DateContext", { enumerable: true, get: function () { return useDateInputContext_1.DateContext; } });
|
|
7
|
+
var useSharedMonthContext_1 = require("./useSharedMonthContext");
|
|
8
|
+
Object.defineProperty(exports, "useSharedMonthContext", { enumerable: true, get: function () { return useSharedMonthContext_1.useSharedMonthContext; } });
|
|
9
|
+
Object.defineProperty(exports, "SharedMonthProvider", { enumerable: true, get: function () { return useSharedMonthContext_1.SharedMonthProvider; } });
|
|
@@ -44,12 +44,12 @@ const react_1 = __importStar(require("react"));
|
|
|
44
44
|
const react_day_picker_1 = require("react-day-picker");
|
|
45
45
|
const __1 = require("../..");
|
|
46
46
|
const DateInput_1 = require("../DateInput");
|
|
47
|
-
const
|
|
47
|
+
const context_1 = require("../context");
|
|
48
48
|
const utils_1 = require("../utils");
|
|
49
49
|
const caption_1 = require("./caption");
|
|
50
50
|
const DatePickerStandalone_1 = __importDefault(require("./DatePickerStandalone"));
|
|
51
51
|
const DayButton_1 = require("./DayButton");
|
|
52
|
-
const
|
|
52
|
+
const TableHead_1 = require("./TableHead");
|
|
53
53
|
exports.DatePicker = (0, react_1.forwardRef)((_a, ref) => {
|
|
54
54
|
var _b;
|
|
55
55
|
var { children, locale = "nb", dropdownCaption, disabled = [], disableWeekends = false, showWeekNumber = false, selected, id, defaultSelected, className, wrapperClassName, open: _open, onClose, onOpenToggle, strategy = "absolute" } = _a, rest = __rest(_a, ["children", "locale", "dropdownCaption", "disabled", "disableWeekends", "showWeekNumber", "selected", "id", "defaultSelected", "className", "wrapperClassName", "open", "onClose", "onOpenToggle", "strategy"]);
|
|
@@ -83,7 +83,7 @@ exports.DatePicker = (0, react_1.forwardRef)((_a, ref) => {
|
|
|
83
83
|
? handleMultipleSelect
|
|
84
84
|
: handleRangeSelect,
|
|
85
85
|
};
|
|
86
|
-
return (react_1.default.createElement(
|
|
86
|
+
return (react_1.default.createElement(context_1.DateContext.Provider, { value: {
|
|
87
87
|
open: _open !== null && _open !== void 0 ? _open : open,
|
|
88
88
|
onOpen: () => {
|
|
89
89
|
setOpen((x) => !x);
|
|
@@ -100,7 +100,7 @@ exports.DatePicker = (0, react_1.forwardRef)((_a, ref) => {
|
|
|
100
100
|
react_1.default.createElement(react_day_picker_1.DayPicker, Object.assign({ locale: (0, utils_1.getLocaleFromString)(locale) }, overrideProps, { selected: selected !== null && selected !== void 0 ? selected : selectedDates, components: {
|
|
101
101
|
Caption: dropdownCaption ? caption_1.DropdownCaption : caption_1.Caption,
|
|
102
102
|
Day: DayButton_1.DayButton,
|
|
103
|
-
Head:
|
|
103
|
+
Head: TableHead_1.TableHead,
|
|
104
104
|
}, className: (0, clsx_1.default)("navds-date", className), classNames: {
|
|
105
105
|
vhidden: "navds-sr-only",
|
|
106
106
|
}, disabled: (day) => {
|
|
@@ -45,7 +45,7 @@ const react_day_picker_1 = require("react-day-picker");
|
|
|
45
45
|
const __1 = require("../..");
|
|
46
46
|
const utils_1 = require("../utils");
|
|
47
47
|
const caption_1 = require("./caption");
|
|
48
|
-
const
|
|
48
|
+
const TableHead_1 = require("./TableHead");
|
|
49
49
|
exports.DatePickerStandalone = (0, react_1.forwardRef)((_a, ref) => {
|
|
50
50
|
var _b;
|
|
51
51
|
var { children, className, locale = "nb", dropdownCaption, disabled = [], disableWeekends = false, showWeekNumber = false, selected, id, defaultSelected, onSelect, fixedWeeks = true } = _a, rest = __rest(_a, ["children", "className", "locale", "dropdownCaption", "disabled", "disableWeekends", "showWeekNumber", "selected", "id", "defaultSelected", "onSelect", "fixedWeeks"]);
|
|
@@ -73,7 +73,7 @@ exports.DatePickerStandalone = (0, react_1.forwardRef)((_a, ref) => {
|
|
|
73
73
|
return (react_1.default.createElement("div", { ref: ref, className: (0, clsx_1.default)("navds-date__standalone-wrapper", className) },
|
|
74
74
|
react_1.default.createElement(react_day_picker_1.DayPicker, Object.assign({ locale: (0, utils_1.getLocaleFromString)(locale) }, overrideProps, { selected: selected !== null && selected !== void 0 ? selected : selectedDates, components: {
|
|
75
75
|
Caption: dropdownCaption ? caption_1.DropdownCaption : caption_1.Caption,
|
|
76
|
-
Head:
|
|
76
|
+
Head: TableHead_1.TableHead,
|
|
77
77
|
}, className: "navds-date", classNames: { vhidden: "navds-sr-only" }, disabled: (day) => {
|
|
78
78
|
return ((disableWeekends && (0, isWeekend_1.default)(day)) || (0, react_day_picker_1.isMatch)(day, disabled));
|
|
79
79
|
}, weekStartsOn: 1, initialFocus: false, labels: utils_1.labels, modifiers: {
|
|
@@ -3,15 +3,15 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.
|
|
6
|
+
exports.TableHead = void 0;
|
|
7
7
|
const react_1 = __importDefault(require("react"));
|
|
8
8
|
const react_day_picker_1 = require("react-day-picker");
|
|
9
9
|
/** Render the table head. */
|
|
10
|
-
function
|
|
10
|
+
function TableHead() {
|
|
11
11
|
var _a;
|
|
12
12
|
const { classNames, styles, components } = (0, react_day_picker_1.useDayPicker)();
|
|
13
13
|
const HeadRowComponent = (_a = components === null || components === void 0 ? void 0 : components.HeadRow) !== null && _a !== void 0 ? _a : react_day_picker_1.HeadRow;
|
|
14
14
|
return (react_1.default.createElement("thead", { style: styles.head, className: classNames.head, "aria-hidden": true },
|
|
15
15
|
react_1.default.createElement(HeadRowComponent, null)));
|
|
16
16
|
}
|
|
17
|
-
exports.
|
|
17
|
+
exports.TableHead = TableHead;
|
package/cjs/date/hooks/index.js
CHANGED
|
@@ -1,15 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.UNSAFE_useMonthpicker = exports.UNSAFE_useRangeDatepicker = exports.UNSAFE_useDatepicker = void 0;
|
|
4
4
|
var useDatepicker_1 = require("./useDatepicker");
|
|
5
5
|
Object.defineProperty(exports, "UNSAFE_useDatepicker", { enumerable: true, get: function () { return useDatepicker_1.useDatepicker; } });
|
|
6
6
|
var useRangeDatepicker_1 = require("./useRangeDatepicker");
|
|
7
7
|
Object.defineProperty(exports, "UNSAFE_useRangeDatepicker", { enumerable: true, get: function () { return useRangeDatepicker_1.useRangeDatepicker; } });
|
|
8
8
|
var useMonthPicker_1 = require("./useMonthPicker");
|
|
9
9
|
Object.defineProperty(exports, "UNSAFE_useMonthpicker", { enumerable: true, get: function () { return useMonthPicker_1.useMonthpicker; } });
|
|
10
|
-
var useDateInputContext_1 = require("./useDateInputContext");
|
|
11
|
-
Object.defineProperty(exports, "useDateInputContext", { enumerable: true, get: function () { return useDateInputContext_1.useDateInputContext; } });
|
|
12
|
-
Object.defineProperty(exports, "DateContext", { enumerable: true, get: function () { return useDateInputContext_1.DateContext; } });
|
|
13
|
-
var useSharedMonthContext_1 = require("./useSharedMonthContext");
|
|
14
|
-
Object.defineProperty(exports, "useSharedMonthContext", { enumerable: true, get: function () { return useSharedMonthContext_1.useSharedMonthContext; } });
|
|
15
|
-
Object.defineProperty(exports, "SharedMonthProvider", { enumerable: true, get: function () { return useSharedMonthContext_1.SharedMonthProvider; } });
|
|
@@ -9,13 +9,15 @@ const isWeekend_1 = __importDefault(require("date-fns/isWeekend"));
|
|
|
9
9
|
const react_1 = require("react");
|
|
10
10
|
const react_day_picker_1 = require("react-day-picker");
|
|
11
11
|
const utils_1 = require("../utils");
|
|
12
|
+
const useEscape_1 = require("./useEscape");
|
|
13
|
+
const useOutsideClickHandler_1 = require("./useOutsideClickHandler");
|
|
12
14
|
const getValidationMessage = (val = {}) => (Object.assign({ isDisabled: false, isWeekend: false, isEmpty: false, isInvalid: false, isBefore: false, isAfter: false, isValidDate: true }, val));
|
|
13
15
|
const useDatepicker = (opt = {}) => {
|
|
14
|
-
var _a;
|
|
16
|
+
var _a, _b;
|
|
15
17
|
const { locale: _locale = "nb", required, defaultSelected: _defaultSelected, today = new Date(), fromDate, toDate, disabled, disableWeekends, onDateChange, inputFormat, onValidate, defaultMonth, allowTwoDigitYear = true, openOnFocus = true, } = opt;
|
|
16
18
|
const locale = (0, utils_1.getLocaleFromString)(_locale);
|
|
17
19
|
const inputRef = (0, react_1.useRef)(null);
|
|
18
|
-
const daypickerRef = (0, react_1.
|
|
20
|
+
const [daypickerRef, setDaypickerRef] = (0, react_1.useState)();
|
|
19
21
|
const [defaultSelected, setDefaultSelected] = (0, react_1.useState)(_defaultSelected);
|
|
20
22
|
// Initialize states
|
|
21
23
|
const [month, setMonth] = (0, react_1.useState)((_a = defaultSelected !== null && defaultSelected !== void 0 ? defaultSelected : defaultMonth) !== null && _a !== void 0 ? _a : today);
|
|
@@ -25,38 +27,17 @@ const useDatepicker = (opt = {}) => {
|
|
|
25
27
|
? (0, utils_1.formatDateForInput)(defaultSelected, locale, "date", inputFormat)
|
|
26
28
|
: "";
|
|
27
29
|
const [inputValue, setInputValue] = (0, react_1.useState)(defaultInputValue);
|
|
30
|
+
(0, useOutsideClickHandler_1.useOutsideClickHandler)(open, setOpen, [
|
|
31
|
+
daypickerRef,
|
|
32
|
+
inputRef.current,
|
|
33
|
+
(_b = inputRef.current) === null || _b === void 0 ? void 0 : _b.nextSibling,
|
|
34
|
+
]);
|
|
35
|
+
(0, useEscape_1.useEscape)(open, setOpen, inputRef);
|
|
28
36
|
const updateDate = (date) => {
|
|
29
37
|
onDateChange === null || onDateChange === void 0 ? void 0 : onDateChange(date);
|
|
30
38
|
setSelectedDay(date);
|
|
31
39
|
};
|
|
32
|
-
const updateValidation = (val = {}) =>
|
|
33
|
-
const msg = getValidationMessage(val);
|
|
34
|
-
onValidate === null || onValidate === void 0 ? void 0 : onValidate(msg);
|
|
35
|
-
};
|
|
36
|
-
const handleFocusIn = (0, react_1.useCallback)((e) => {
|
|
37
|
-
var _a, _b, _c, _d;
|
|
38
|
-
/* Workaround for shadow-dom users (open) */
|
|
39
|
-
const composed = (_b = (_a = e.composedPath) === null || _a === void 0 ? void 0 : _a.call(e)) === null || _b === void 0 ? void 0 : _b[0];
|
|
40
|
-
if (!(e === null || e === void 0 ? void 0 : e.target) || !((_c = e === null || e === void 0 ? void 0 : e.target) === null || _c === void 0 ? void 0 : _c.nodeType) || !composed) {
|
|
41
|
-
return;
|
|
42
|
-
}
|
|
43
|
-
![
|
|
44
|
-
daypickerRef.current,
|
|
45
|
-
inputRef.current,
|
|
46
|
-
(_d = inputRef.current) === null || _d === void 0 ? void 0 : _d.nextSibling,
|
|
47
|
-
].some((element) => (element === null || element === void 0 ? void 0 : element.contains(e.target)) || (element === null || element === void 0 ? void 0 : element.contains(composed))) &&
|
|
48
|
-
open &&
|
|
49
|
-
setOpen(false);
|
|
50
|
-
}, [open]);
|
|
51
|
-
(0, react_1.useEffect)(() => {
|
|
52
|
-
window.addEventListener("focusin", handleFocusIn);
|
|
53
|
-
window.addEventListener("pointerdown", handleFocusIn);
|
|
54
|
-
return () => {
|
|
55
|
-
var _a, _b;
|
|
56
|
-
(_a = window === null || window === void 0 ? void 0 : window.removeEventListener) === null || _a === void 0 ? void 0 : _a.call(window, "focusin", handleFocusIn);
|
|
57
|
-
(_b = window === null || window === void 0 ? void 0 : window.removeEventListener) === null || _b === void 0 ? void 0 : _b.call(window, "pointerdown", handleFocusIn);
|
|
58
|
-
};
|
|
59
|
-
}, [handleFocusIn]);
|
|
40
|
+
const updateValidation = (val = {}) => onValidate === null || onValidate === void 0 ? void 0 : onValidate(getValidationMessage(val));
|
|
60
41
|
const reset = () => {
|
|
61
42
|
var _a;
|
|
62
43
|
updateDate(defaultSelected);
|
|
@@ -136,17 +117,6 @@ const useDatepicker = (opt = {}) => {
|
|
|
136
117
|
updateValidation();
|
|
137
118
|
setMonth(defaultMonth !== null && defaultMonth !== void 0 ? defaultMonth : day);
|
|
138
119
|
};
|
|
139
|
-
const handleClose = (0, react_1.useCallback)(() => {
|
|
140
|
-
setOpen(false);
|
|
141
|
-
inputRef.current && inputRef.current.focus();
|
|
142
|
-
}, []);
|
|
143
|
-
const escape = (0, react_1.useCallback)((e) => open && e.key === "Escape" && handleClose(), [handleClose, open]);
|
|
144
|
-
(0, react_1.useEffect)(() => {
|
|
145
|
-
window.addEventListener("keydown", escape, false);
|
|
146
|
-
return () => {
|
|
147
|
-
window.removeEventListener("keydown", escape, false);
|
|
148
|
-
};
|
|
149
|
-
}, [escape]);
|
|
150
120
|
const datepickerProps = {
|
|
151
121
|
month,
|
|
152
122
|
onMonthChange: (month) => setMonth(month),
|
|
@@ -160,7 +130,7 @@ const useDatepicker = (opt = {}) => {
|
|
|
160
130
|
onOpenToggle: () => setOpen((x) => !x),
|
|
161
131
|
disabled,
|
|
162
132
|
disableWeekends,
|
|
163
|
-
ref:
|
|
133
|
+
ref: setDaypickerRef,
|
|
164
134
|
};
|
|
165
135
|
const inputProps = {
|
|
166
136
|
onChange: handleChange,
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.useEscape = void 0;
|
|
4
|
+
const react_1 = require("react");
|
|
5
|
+
const useEscape = (open, setOpen, focusRef) => {
|
|
6
|
+
const handleClose = (0, react_1.useCallback)(() => {
|
|
7
|
+
setOpen(false);
|
|
8
|
+
(focusRef === null || focusRef === void 0 ? void 0 : focusRef.current) && focusRef.current.focus();
|
|
9
|
+
}, [focusRef, setOpen]);
|
|
10
|
+
const escape = (0, react_1.useCallback)((e) => open && e.key === "Escape" && handleClose(), [handleClose, open]);
|
|
11
|
+
(0, react_1.useEffect)(() => {
|
|
12
|
+
window.addEventListener("keydown", escape, false);
|
|
13
|
+
return () => {
|
|
14
|
+
window.removeEventListener("keydown", escape, false);
|
|
15
|
+
};
|
|
16
|
+
}, [escape]);
|
|
17
|
+
};
|
|
18
|
+
exports.useEscape = useEscape;
|
|
@@ -3,15 +3,17 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.useMonthpicker = void 0;
|
|
4
4
|
const react_1 = require("react");
|
|
5
5
|
const utils_1 = require("../utils");
|
|
6
|
+
const useEscape_1 = require("./useEscape");
|
|
7
|
+
const useOutsideClickHandler_1 = require("./useOutsideClickHandler");
|
|
6
8
|
const getValidationMessage = (val = {}) => (Object.assign({ isDisabled: false, isEmpty: false, isInvalid: false, isBefore: false, isAfter: false, isValidMonth: true }, val));
|
|
7
9
|
const useMonthpicker = (opt = {}) => {
|
|
8
|
-
var _a;
|
|
10
|
+
var _a, _b;
|
|
9
11
|
const { locale: _locale = "nb", defaultSelected: _defaultSelected, fromDate, toDate, disabled, required, onMonthChange, inputFormat, onValidate, defaultYear, allowTwoDigitYear = true, openOnFocus = true, } = opt;
|
|
10
12
|
const [defaultSelected, setDefaultSelected] = (0, react_1.useState)(_defaultSelected);
|
|
11
13
|
const today = new Date();
|
|
12
14
|
const locale = (0, utils_1.getLocaleFromString)(_locale);
|
|
13
15
|
const inputRef = (0, react_1.useRef)(null);
|
|
14
|
-
const monthpickerRef = (0, react_1.
|
|
16
|
+
const [monthpickerRef, setMonthpickerRef] = (0, react_1.useState)();
|
|
15
17
|
// Initialize states
|
|
16
18
|
const [year, setYear] = (0, react_1.useState)((_a = defaultSelected !== null && defaultSelected !== void 0 ? defaultSelected : defaultYear) !== null && _a !== void 0 ? _a : today);
|
|
17
19
|
const [selectedMonth, setSelectedMonth] = (0, react_1.useState)(defaultSelected);
|
|
@@ -20,38 +22,17 @@ const useMonthpicker = (opt = {}) => {
|
|
|
20
22
|
? (0, utils_1.formatDateForInput)(defaultSelected, locale, "month", inputFormat)
|
|
21
23
|
: "";
|
|
22
24
|
const [inputValue, setInputValue] = (0, react_1.useState)(defaultInputValue);
|
|
25
|
+
(0, useOutsideClickHandler_1.useOutsideClickHandler)(open, setOpen, [
|
|
26
|
+
monthpickerRef,
|
|
27
|
+
inputRef.current,
|
|
28
|
+
(_b = inputRef.current) === null || _b === void 0 ? void 0 : _b.nextSibling,
|
|
29
|
+
]);
|
|
30
|
+
(0, useEscape_1.useEscape)(open, setOpen, inputRef);
|
|
23
31
|
const updateMonth = (date) => {
|
|
24
32
|
onMonthChange === null || onMonthChange === void 0 ? void 0 : onMonthChange(date);
|
|
25
33
|
setSelectedMonth(date);
|
|
26
34
|
};
|
|
27
|
-
const updateValidation = (val = {}) =>
|
|
28
|
-
const msg = getValidationMessage(val);
|
|
29
|
-
onValidate === null || onValidate === void 0 ? void 0 : onValidate(msg);
|
|
30
|
-
};
|
|
31
|
-
const handleFocusIn = (0, react_1.useCallback)((e) => {
|
|
32
|
-
var _a, _b, _c, _d;
|
|
33
|
-
/* Workaround for shadow-dom users (open) */
|
|
34
|
-
const composed = (_b = (_a = e.composedPath) === null || _a === void 0 ? void 0 : _a.call(e)) === null || _b === void 0 ? void 0 : _b[0];
|
|
35
|
-
if (!(e === null || e === void 0 ? void 0 : e.target) || !((_c = e === null || e === void 0 ? void 0 : e.target) === null || _c === void 0 ? void 0 : _c.nodeType) || !composed) {
|
|
36
|
-
return;
|
|
37
|
-
}
|
|
38
|
-
![
|
|
39
|
-
monthpickerRef.current,
|
|
40
|
-
inputRef.current,
|
|
41
|
-
(_d = inputRef.current) === null || _d === void 0 ? void 0 : _d.nextSibling,
|
|
42
|
-
].some((element) => (element === null || element === void 0 ? void 0 : element.contains(e.target)) || (element === null || element === void 0 ? void 0 : element.contains(composed))) &&
|
|
43
|
-
open &&
|
|
44
|
-
setOpen(false);
|
|
45
|
-
}, [open]);
|
|
46
|
-
(0, react_1.useEffect)(() => {
|
|
47
|
-
window.addEventListener("focusin", handleFocusIn);
|
|
48
|
-
window.addEventListener("pointerdown", handleFocusIn);
|
|
49
|
-
return () => {
|
|
50
|
-
var _a, _b;
|
|
51
|
-
(_a = window === null || window === void 0 ? void 0 : window.removeEventListener) === null || _a === void 0 ? void 0 : _a.call(window, "focusin", handleFocusIn);
|
|
52
|
-
(_b = window === null || window === void 0 ? void 0 : window.removeEventListener) === null || _b === void 0 ? void 0 : _b.call(window, "pointerdown", handleFocusIn);
|
|
53
|
-
};
|
|
54
|
-
}, [handleFocusIn]);
|
|
35
|
+
const updateValidation = (val = {}) => onValidate === null || onValidate === void 0 ? void 0 : onValidate(getValidationMessage(val));
|
|
55
36
|
const reset = () => {
|
|
56
37
|
var _a;
|
|
57
38
|
updateMonth(defaultSelected);
|
|
@@ -143,17 +124,6 @@ const useMonthpicker = (opt = {}) => {
|
|
|
143
124
|
updateValidation();
|
|
144
125
|
setYear(month);
|
|
145
126
|
};
|
|
146
|
-
const handleClose = (0, react_1.useCallback)(() => {
|
|
147
|
-
setOpen(false);
|
|
148
|
-
inputRef.current && inputRef.current.focus();
|
|
149
|
-
}, []);
|
|
150
|
-
const escape = (0, react_1.useCallback)((e) => open && e.key === "Escape" && handleClose(), [handleClose, open]);
|
|
151
|
-
(0, react_1.useEffect)(() => {
|
|
152
|
-
window.addEventListener("keydown", escape, false);
|
|
153
|
-
return () => {
|
|
154
|
-
window.removeEventListener("keydown", escape, false);
|
|
155
|
-
};
|
|
156
|
-
}, [escape]);
|
|
157
127
|
const monthpickerProps = {
|
|
158
128
|
year,
|
|
159
129
|
onYearChange: (y) => setYear(y !== null && y !== void 0 ? y : today),
|
|
@@ -165,7 +135,7 @@ const useMonthpicker = (opt = {}) => {
|
|
|
165
135
|
open,
|
|
166
136
|
onOpenToggle: () => setOpen((x) => !x),
|
|
167
137
|
disabled,
|
|
168
|
-
ref:
|
|
138
|
+
ref: setMonthpickerRef,
|
|
169
139
|
};
|
|
170
140
|
const inputProps = {
|
|
171
141
|
onChange: handleChange,
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.useOutsideClickHandler = void 0;
|
|
4
|
+
const react_1 = require("react");
|
|
5
|
+
const useOutsideClickHandler = (open, setOpen, refs) => {
|
|
6
|
+
const handleFocusIn = (0, react_1.useCallback)((e) => {
|
|
7
|
+
var _a, _b, _c;
|
|
8
|
+
const composed = (_b = (_a = e.composedPath) === null || _a === void 0 ? void 0 : _a.call(e)) === null || _b === void 0 ? void 0 : _b[0];
|
|
9
|
+
if (!(e === null || e === void 0 ? void 0 : e.target) || !((_c = e === null || e === void 0 ? void 0 : e.target) === null || _c === void 0 ? void 0 : _c.nodeType) || !composed) {
|
|
10
|
+
return;
|
|
11
|
+
}
|
|
12
|
+
if (!refs.some((element) => (element === null || element === void 0 ? void 0 : element.contains(e.target)) || (element === null || element === void 0 ? void 0 : element.contains(composed)))) {
|
|
13
|
+
open && setOpen(false);
|
|
14
|
+
}
|
|
15
|
+
}, [open, refs, setOpen]);
|
|
16
|
+
(0, react_1.useEffect)(() => {
|
|
17
|
+
window.addEventListener("focusin", handleFocusIn);
|
|
18
|
+
window.addEventListener("pointerdown", handleFocusIn);
|
|
19
|
+
return () => {
|
|
20
|
+
var _a, _b;
|
|
21
|
+
(_a = window === null || window === void 0 ? void 0 : window.removeEventListener) === null || _a === void 0 ? void 0 : _a.call(window, "focusin", handleFocusIn);
|
|
22
|
+
(_b = window === null || window === void 0 ? void 0 : window.removeEventListener) === null || _b === void 0 ? void 0 : _b.call(window, "pointerdown", handleFocusIn);
|
|
23
|
+
};
|
|
24
|
+
}, [handleFocusIn]);
|
|
25
|
+
};
|
|
26
|
+
exports.useOutsideClickHandler = useOutsideClickHandler;
|
|
@@ -10,6 +10,8 @@ const isWeekend_1 = __importDefault(require("date-fns/isWeekend"));
|
|
|
10
10
|
const react_1 = require("react");
|
|
11
11
|
const react_day_picker_1 = require("react-day-picker");
|
|
12
12
|
const utils_1 = require("../utils");
|
|
13
|
+
const useEscape_1 = require("./useEscape");
|
|
14
|
+
const useOutsideClickHandler_1 = require("./useOutsideClickHandler");
|
|
13
15
|
const getValidationMessage = (from = {}, to = {}) => ({
|
|
14
16
|
from: Object.assign({ isDisabled: false, isWeekend: false, isEmpty: false, isInvalid: false, isBefore: false, isAfter: false, isValidDate: true }, from),
|
|
15
17
|
to: Object.assign({ isDisabled: false, isWeekend: false, isEmpty: false, isInvalid: false, isBefore: false, isAfter: false, isBeforeFrom: false, isValidDate: true }, to),
|
|
@@ -79,11 +81,12 @@ const initialValidation = (range, opt) => {
|
|
|
79
81
|
return getValidationMessage(Object.assign({}, fromVal), Object.assign({}, toVal));
|
|
80
82
|
};
|
|
81
83
|
const useRangeDatepicker = (opt = {}) => {
|
|
84
|
+
var _a, _b;
|
|
82
85
|
const { locale: _locale = "nb", defaultSelected: _defaultSelected, today = new Date(), fromDate, toDate, disabled, disableWeekends, onRangeChange, inputFormat, onValidate, defaultMonth, allowTwoDigitYear = true, openOnFocus = true, } = opt;
|
|
83
86
|
const locale = (0, utils_1.getLocaleFromString)(_locale);
|
|
84
87
|
const inputRefTo = (0, react_1.useRef)(null);
|
|
85
88
|
const inputRefFrom = (0, react_1.useRef)(null);
|
|
86
|
-
const
|
|
89
|
+
const [daypickerRef, setDaypickerRef] = (0, react_1.useState)();
|
|
87
90
|
const [defaultSelected, setDefaultSelected] = (0, react_1.useState)(_defaultSelected);
|
|
88
91
|
// Initialize states
|
|
89
92
|
const [month, setMonth] = (0, react_1.useState)(defaultSelected ? defaultSelected === null || defaultSelected === void 0 ? void 0 : defaultSelected.from : defaultMonth !== null && defaultMonth !== void 0 ? defaultMonth : today);
|
|
@@ -96,6 +99,14 @@ const useRangeDatepicker = (opt = {}) => {
|
|
|
96
99
|
: "");
|
|
97
100
|
const [validation, setValidation] = (0, react_1.useState)(initialValidation(selectedRange, opt));
|
|
98
101
|
const [open, setOpen] = (0, react_1.useState)(false);
|
|
102
|
+
(0, useOutsideClickHandler_1.useOutsideClickHandler)(open, setOpen, [
|
|
103
|
+
daypickerRef,
|
|
104
|
+
inputRefTo.current,
|
|
105
|
+
inputRefFrom.current,
|
|
106
|
+
(_a = inputRefTo.current) === null || _a === void 0 ? void 0 : _a.nextSibling,
|
|
107
|
+
(_b = inputRefFrom.current) === null || _b === void 0 ? void 0 : _b.nextSibling,
|
|
108
|
+
]);
|
|
109
|
+
(0, useEscape_1.useEscape)(open, setOpen, (selectedRange === null || selectedRange === void 0 ? void 0 : selectedRange.from) && !(selectedRange === null || selectedRange === void 0 ? void 0 : selectedRange.to) ? inputRefTo : inputRefFrom);
|
|
99
110
|
const updateRange = (range) => {
|
|
100
111
|
onRangeChange === null || onRangeChange === void 0 ? void 0 : onRangeChange(range);
|
|
101
112
|
setSelectedRange(range);
|
|
@@ -105,32 +116,6 @@ const useRangeDatepicker = (opt = {}) => {
|
|
|
105
116
|
setValidation(msg);
|
|
106
117
|
onValidate === null || onValidate === void 0 ? void 0 : onValidate(msg);
|
|
107
118
|
};
|
|
108
|
-
const handleFocusIn = (0, react_1.useCallback)((e) => {
|
|
109
|
-
var _a, _b, _c, _d, _e;
|
|
110
|
-
/* Workaround for shadow-dom users (open) */
|
|
111
|
-
const composed = (_b = (_a = e.composedPath) === null || _a === void 0 ? void 0 : _a.call(e)) === null || _b === void 0 ? void 0 : _b[0];
|
|
112
|
-
if (!(e === null || e === void 0 ? void 0 : e.target) || !((_c = e === null || e === void 0 ? void 0 : e.target) === null || _c === void 0 ? void 0 : _c.nodeType) || !composed) {
|
|
113
|
-
return;
|
|
114
|
-
}
|
|
115
|
-
![
|
|
116
|
-
datePickerRef.current,
|
|
117
|
-
inputRefTo.current,
|
|
118
|
-
inputRefFrom.current,
|
|
119
|
-
(_d = inputRefTo.current) === null || _d === void 0 ? void 0 : _d.nextSibling,
|
|
120
|
-
(_e = inputRefFrom.current) === null || _e === void 0 ? void 0 : _e.nextSibling,
|
|
121
|
-
].some((element) => (element === null || element === void 0 ? void 0 : element.contains(e.target)) || (element === null || element === void 0 ? void 0 : element.contains(composed))) &&
|
|
122
|
-
open &&
|
|
123
|
-
setOpen(false);
|
|
124
|
-
}, [open]);
|
|
125
|
-
(0, react_1.useEffect)(() => {
|
|
126
|
-
window.addEventListener("focusin", handleFocusIn);
|
|
127
|
-
window.addEventListener("pointerdown", handleFocusIn);
|
|
128
|
-
return () => {
|
|
129
|
-
var _a, _b;
|
|
130
|
-
(_a = window === null || window === void 0 ? void 0 : window.removeEventListener) === null || _a === void 0 ? void 0 : _a.call(window, "focusin", handleFocusIn);
|
|
131
|
-
(_b = window === null || window === void 0 ? void 0 : window.removeEventListener) === null || _b === void 0 ? void 0 : _b.call(window, "pointerdown", handleFocusIn);
|
|
132
|
-
};
|
|
133
|
-
}, [handleFocusIn]);
|
|
134
119
|
const reset = () => {
|
|
135
120
|
updateRange(defaultSelected !== null && defaultSelected !== void 0 ? defaultSelected : { from: undefined, to: undefined });
|
|
136
121
|
setMonth(defaultSelected ? defaultSelected === null || defaultSelected === void 0 ? void 0 : defaultSelected.from : defaultMonth !== null && defaultMonth !== void 0 ? defaultMonth : today);
|
|
@@ -287,23 +272,6 @@ const useRangeDatepicker = (opt = {}) => {
|
|
|
287
272
|
? fromChange(e.target.value, day, isBefore, isAfter)
|
|
288
273
|
: toChange(e.target.value, day, isBefore, isAfter);
|
|
289
274
|
};
|
|
290
|
-
const handleClose = (0, react_1.useCallback)(() => {
|
|
291
|
-
var _a, _b;
|
|
292
|
-
setOpen(false);
|
|
293
|
-
if ((selectedRange === null || selectedRange === void 0 ? void 0 : selectedRange.from) && !(selectedRange === null || selectedRange === void 0 ? void 0 : selectedRange.to)) {
|
|
294
|
-
(_a = inputRefTo === null || inputRefTo === void 0 ? void 0 : inputRefTo.current) === null || _a === void 0 ? void 0 : _a.focus();
|
|
295
|
-
}
|
|
296
|
-
else {
|
|
297
|
-
(_b = inputRefFrom === null || inputRefFrom === void 0 ? void 0 : inputRefFrom.current) === null || _b === void 0 ? void 0 : _b.focus();
|
|
298
|
-
}
|
|
299
|
-
}, [selectedRange]);
|
|
300
|
-
const escape = (0, react_1.useCallback)((e) => open && e.key === "Escape" && handleClose(), [handleClose, open]);
|
|
301
|
-
(0, react_1.useEffect)(() => {
|
|
302
|
-
window.addEventListener("keydown", escape, false);
|
|
303
|
-
return () => {
|
|
304
|
-
window.removeEventListener("keydown", escape, false);
|
|
305
|
-
};
|
|
306
|
-
}, [escape]);
|
|
307
275
|
const datepickerProps = {
|
|
308
276
|
month: month,
|
|
309
277
|
onMonthChange: (month) => setMonth(month),
|
|
@@ -318,7 +286,7 @@ const useRangeDatepicker = (opt = {}) => {
|
|
|
318
286
|
onOpenToggle: () => setOpen((x) => !x),
|
|
319
287
|
disabled,
|
|
320
288
|
disableWeekends,
|
|
321
|
-
ref:
|
|
289
|
+
ref: setDaypickerRef,
|
|
322
290
|
};
|
|
323
291
|
const fromInputProps = {
|
|
324
292
|
onChange: (e) => handleChange(e, RANGE.FROM),
|
|
@@ -35,7 +35,7 @@ const isSameMonth_1 = __importDefault(require("date-fns/isSameMonth"));
|
|
|
35
35
|
const setYear_1 = __importDefault(require("date-fns/setYear"));
|
|
36
36
|
const react_1 = __importStar(require("react"));
|
|
37
37
|
const react_day_picker_1 = require("react-day-picker");
|
|
38
|
-
const
|
|
38
|
+
const context_1 = require("../context");
|
|
39
39
|
const utils_1 = require("../utils");
|
|
40
40
|
const disableMonth = (month, fromDate, toDate) => {
|
|
41
41
|
if (fromDate && toDate) {
|
|
@@ -51,7 +51,7 @@ const disableMonth = (month, fromDate, toDate) => {
|
|
|
51
51
|
};
|
|
52
52
|
const MonthButton = ({ month, months, focus, setFocus, tabRoot, setTabRoot, }) => {
|
|
53
53
|
const ref = (0, react_1.useRef)(null);
|
|
54
|
-
const { hasDropdown, selected, onSelect, year, toYear, disabled } = (0,
|
|
54
|
+
const { hasDropdown, selected, onSelect, year, toYear, disabled } = (0, context_1.useSharedMonthContext)();
|
|
55
55
|
const { fromDate, toDate, locale } = (0, react_day_picker_1.useDayPicker)();
|
|
56
56
|
const isSelected = selected && (0, isSameMonth_1.default)(month, selected);
|
|
57
57
|
(0, react_1.useEffect)(() => {
|
|
@@ -12,11 +12,11 @@ const startOfYear_1 = __importDefault(require("date-fns/startOfYear"));
|
|
|
12
12
|
const react_1 = __importDefault(require("react"));
|
|
13
13
|
const react_day_picker_1 = require("react-day-picker");
|
|
14
14
|
const __1 = require("../..");
|
|
15
|
-
const
|
|
15
|
+
const context_1 = require("../context");
|
|
16
16
|
const utils_1 = require("../utils");
|
|
17
17
|
const MonthCaption = () => {
|
|
18
18
|
const { fromDate, toDate, formatters: { formatYearCaption }, locale, } = (0, react_day_picker_1.useDayPicker)();
|
|
19
|
-
const { hasDropdown, year, toYear } = (0,
|
|
19
|
+
const { hasDropdown, year, toYear } = (0, context_1.useSharedMonthContext)();
|
|
20
20
|
const years = [];
|
|
21
21
|
if (hasDropdown && fromDate && toDate) {
|
|
22
22
|
const fromYear = fromDate.getFullYear();
|