react-day-picker 8.2.1 → 8.3.1
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/index.d.ts +1171 -40
- package/dist/index.esm.d.ts +1171 -0
- package/dist/index.esm.js +119 -120
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +123 -120
- package/dist/index.js.map +1 -1
- package/dist/react-day-picker.min.js +1 -1
- package/dist/style.css +9 -11
- package/dist/style.module.css +9 -11
- package/package.json +3 -3
- package/src/components/HeadRow/HeadRow.tsx +2 -1
- package/src/components/HeadRow/utils/getWeekdays.test.ts +10 -0
- package/src/components/HeadRow/utils/getWeekdays.ts +9 -3
- package/src/components/Month/Month.test.tsx +11 -0
- package/src/components/Month/Month.tsx +5 -1
- package/src/components/Table/Table.test.tsx +19 -3
- package/src/components/Table/Table.tsx +6 -2
- package/src/components/Table/__snapshots__/Table.test.tsx.snap +39 -21
- package/src/components/Table/utils/daysToMonthWeeks.ts +15 -3
- package/src/components/Table/utils/getMonthWeeks.test.ts +33 -1
- package/src/components/Table/utils/getMonthWeeks.ts +2 -3
- package/src/contexts/DayPicker/{useDayPicker.test.ts → DayPickerContext.test.ts} +13 -29
- package/src/contexts/DayPicker/DayPickerContext.tsx +34 -52
- package/src/contexts/DayPicker/{defaultContextValue.ts → defaultContextValues.ts} +18 -1
- package/src/contexts/DayPicker/index.ts +0 -1
- package/src/contexts/Focus/{useFocusContext.test.ts → FocusContext.test.ts} +0 -0
- package/src/contexts/Focus/FocusContext.tsx +19 -6
- package/src/contexts/Focus/index.ts +0 -1
- package/src/contexts/Focus/utils/getInitialFocusTarget.test.tsx +37 -8
- package/src/contexts/Focus/utils/getInitialFocusTarget.tsx +0 -1
- package/src/contexts/Focus/utils/getNextFocus.test.tsx +75 -50
- package/src/contexts/Focus/utils/getNextFocus.tsx +54 -19
- package/src/contexts/Modifiers/{useModifiers.test.ts → ModifiersContext.test.ts} +0 -0
- package/src/contexts/Modifiers/ModifiersContext.tsx +16 -1
- package/src/contexts/Modifiers/index.ts +1 -1
- package/src/contexts/Modifiers/utils/getInternalModifiers.test.ts +3 -2
- package/src/contexts/Modifiers/utils/isMatch.test.ts +24 -5
- package/src/contexts/Modifiers/utils/isMatch.ts +11 -3
- package/src/contexts/Navigation/{useNavigation.test.ts → NavigationContext.test.ts} +6 -5
- package/src/contexts/Navigation/NavigationContext.tsx +15 -1
- package/src/contexts/Navigation/index.ts +0 -1
- package/src/contexts/Navigation/useNavigationState.test.ts +4 -1
- package/src/contexts/SelectMultiple/{useSelectMultiple.test.ts → SelectMultipleContext.test.ts} +4 -2
- package/src/contexts/SelectMultiple/SelectMultipleContext.tsx +16 -1
- package/src/contexts/SelectMultiple/index.ts +0 -1
- package/src/contexts/SelectRange/{useSelectRange.test.ts → SelectRangeContext.test.ts} +4 -21
- package/src/contexts/SelectRange/SelectRangeContext.tsx +51 -36
- package/src/contexts/SelectRange/index.ts +0 -1
- package/src/contexts/SelectSingle/{useSelectSingle.test.ts → SelectSingleContext.test.ts} +1 -1
- package/src/contexts/SelectSingle/SelectSingleContext.tsx +16 -1
- package/src/contexts/SelectSingle/index.ts +0 -1
- package/src/style.css +9 -11
- package/src/types/DayPickerBase.ts +28 -6
- package/src/types/DayPickerDefault.ts +2 -2
- package/src/types/EventHandlers.ts +9 -11
- package/src/types/Matchers.ts +1 -1
- package/dist/DayPicker.d.ts +0 -93
- package/dist/components/Button/Button.d.ts +0 -7
- package/dist/components/Button/index.d.ts +0 -1
- package/dist/components/Caption/Caption.d.ts +0 -19
- package/dist/components/Caption/index.d.ts +0 -1
- package/dist/components/CaptionDropdowns/CaptionDropdowns.d.ts +0 -5
- package/dist/components/CaptionDropdowns/index.d.ts +0 -1
- package/dist/components/CaptionLabel/CaptionLabel.d.ts +0 -9
- package/dist/components/CaptionLabel/index.d.ts +0 -1
- package/dist/components/CaptionNavigation/CaptionNavigation.d.ts +0 -5
- package/dist/components/CaptionNavigation/index.d.ts +0 -1
- package/dist/components/Day/Day.d.ts +0 -12
- package/dist/components/Day/index.d.ts +0 -1
- package/dist/components/DayContent/DayContent.d.ts +0 -12
- package/dist/components/DayContent/index.d.ts +0 -1
- package/dist/components/Dropdown/Dropdown.d.ts +0 -20
- package/dist/components/Dropdown/index.d.ts +0 -1
- package/dist/components/Footer/Footer.d.ts +0 -2
- package/dist/components/Footer/index.d.ts +0 -1
- package/dist/components/Head/Head.d.ts +0 -2
- package/dist/components/Head/index.d.ts +0 -1
- package/dist/components/HeadRow/HeadRow.d.ts +0 -4
- package/dist/components/HeadRow/index.d.ts +0 -1
- package/dist/components/HeadRow/utils/getWeekdays.d.ts +0 -8
- package/dist/components/HeadRow/utils/index.d.ts +0 -1
- package/dist/components/IconDropdown/IconDropdown.d.ts +0 -5
- package/dist/components/IconDropdown/index.d.ts +0 -1
- package/dist/components/IconLeft/IconLeft.d.ts +0 -5
- package/dist/components/IconLeft/index.d.ts +0 -1
- package/dist/components/IconRight/IconRight.d.ts +0 -5
- package/dist/components/IconRight/index.d.ts +0 -1
- package/dist/components/Month/Month.d.ts +0 -7
- package/dist/components/Month/index.d.ts +0 -1
- package/dist/components/MonthsDropdown/MonthsDropdown.d.ts +0 -9
- package/dist/components/MonthsDropdown/index.d.ts +0 -1
- package/dist/components/Navigation/Navigation.d.ts +0 -20
- package/dist/components/Navigation/index.d.ts +0 -1
- package/dist/components/Root/Root.d.ts +0 -2
- package/dist/components/Root/index.d.ts +0 -1
- package/dist/components/Row/Row.d.ts +0 -13
- package/dist/components/Row/index.d.ts +0 -1
- package/dist/components/Table/Table.d.ts +0 -9
- package/dist/components/Table/index.d.ts +0 -1
- package/dist/components/Table/utils/daysToMonthWeeks.d.ts +0 -8
- package/dist/components/Table/utils/getMonthWeeks.d.ts +0 -21
- package/dist/components/WeekNumber/WeekNumber.d.ts +0 -14
- package/dist/components/WeekNumber/index.d.ts +0 -1
- package/dist/components/YearsDropdown/YearsDropdown.d.ts +0 -15
- package/dist/components/YearsDropdown/index.d.ts +0 -1
- package/dist/contexts/DayPicker/DayPickerContext.d.ts +0 -50
- package/dist/contexts/DayPicker/defaultClassNames.d.ts +0 -5
- package/dist/contexts/DayPicker/defaultContextValue.d.ts +0 -6
- package/dist/contexts/DayPicker/formatters/formatCaption.d.ts +0 -7
- package/dist/contexts/DayPicker/formatters/formatDay.d.ts +0 -7
- package/dist/contexts/DayPicker/formatters/formatMonthCaption.d.ts +0 -7
- package/dist/contexts/DayPicker/formatters/formatWeekNumber.d.ts +0 -4
- package/dist/contexts/DayPicker/formatters/formatWeekdayName.d.ts +0 -7
- package/dist/contexts/DayPicker/formatters/formatYearCaption.d.ts +0 -6
- package/dist/contexts/DayPicker/formatters/index.d.ts +0 -6
- package/dist/contexts/DayPicker/index.d.ts +0 -2
- package/dist/contexts/DayPicker/labels/index.d.ts +0 -7
- package/dist/contexts/DayPicker/labels/labelDay.d.ts +0 -5
- package/dist/contexts/DayPicker/labels/labelMonthDropdown.d.ts +0 -4
- package/dist/contexts/DayPicker/labels/labelNext.d.ts +0 -5
- package/dist/contexts/DayPicker/labels/labelPrevious.d.ts +0 -5
- package/dist/contexts/DayPicker/labels/labelWeekNumber.d.ts +0 -5
- package/dist/contexts/DayPicker/labels/labelWeekday.d.ts +0 -5
- package/dist/contexts/DayPicker/labels/labelYearDropdown.d.ts +0 -4
- package/dist/contexts/DayPicker/useDayPicker.d.ts +0 -8
- package/dist/contexts/DayPicker/utils/index.d.ts +0 -1
- package/dist/contexts/DayPicker/utils/parseFromToProps.d.ts +0 -6
- package/dist/contexts/Focus/FocusContext.d.ts +0 -36
- package/dist/contexts/Focus/index.d.ts +0 -2
- package/dist/contexts/Focus/useFocusContext.d.ts +0 -8
- package/dist/contexts/Focus/utils/getInitialFocusTarget.d.ts +0 -3
- package/dist/contexts/Focus/utils/getNextFocus.d.ts +0 -9
- package/dist/contexts/Modifiers/ModifiersContext.d.ts +0 -9
- package/dist/contexts/Modifiers/index.d.ts +0 -2
- package/dist/contexts/Modifiers/useModifiers.d.ts +0 -9
- package/dist/contexts/Modifiers/utils/getActiveModifiers.d.ts +0 -7
- package/dist/contexts/Modifiers/utils/getCustomModifiers.d.ts +0 -3
- package/dist/contexts/Modifiers/utils/getInternalModifiers.d.ts +0 -6
- package/dist/contexts/Modifiers/utils/isDateInRange.d.ts +0 -3
- package/dist/contexts/Modifiers/utils/isMatch.d.ts +0 -19
- package/dist/contexts/Modifiers/utils/matcherToArray.d.ts +0 -3
- package/dist/contexts/Navigation/NavigationContext.d.ts +0 -27
- package/dist/contexts/Navigation/index.d.ts +0 -2
- package/dist/contexts/Navigation/useNavigation.d.ts +0 -8
- package/dist/contexts/Navigation/useNavigationState.d.ts +0 -7
- package/dist/contexts/Navigation/utils/getDisplayMonths.d.ts +0 -8
- package/dist/contexts/Navigation/utils/getInitialMonth.d.ts +0 -3
- package/dist/contexts/Navigation/utils/getNextMonth.d.ts +0 -18
- package/dist/contexts/Navigation/utils/getPreviousMonth.d.ts +0 -19
- package/dist/contexts/RootProvider.d.ts +0 -8
- package/dist/contexts/SelectMultiple/SelectMultipleContext.d.ts +0 -35
- package/dist/contexts/SelectMultiple/index.d.ts +0 -2
- package/dist/contexts/SelectMultiple/useSelectMultiple.d.ts +0 -7
- package/dist/contexts/SelectRange/SelectRangeContext.d.ts +0 -36
- package/dist/contexts/SelectRange/index.d.ts +0 -2
- package/dist/contexts/SelectRange/useSelectRange.d.ts +0 -7
- package/dist/contexts/SelectRange/utils/addToRange.d.ts +0 -8
- package/dist/contexts/SelectSingle/SelectSingleContext.d.ts +0 -30
- package/dist/contexts/SelectSingle/index.d.ts +0 -2
- package/dist/contexts/SelectSingle/useSelectSingle.d.ts +0 -7
- package/dist/hooks/useActiveModifiers/index.d.ts +0 -1
- package/dist/hooks/useActiveModifiers/useActiveModifiers.d.ts +0 -15
- package/dist/hooks/useControlledValue/index.d.ts +0 -1
- package/dist/hooks/useControlledValue/useControlledValue.d.ts +0 -12
- package/dist/hooks/useDayEventHandlers/index.d.ts +0 -1
- package/dist/hooks/useDayEventHandlers/useDayEventHandlers.d.ts +0 -26
- package/dist/hooks/useDayRender/index.d.ts +0 -1
- package/dist/hooks/useDayRender/useDayRender.d.ts +0 -32
- package/dist/hooks/useDayRender/utils/getDayClassNames.d.ts +0 -10
- package/dist/hooks/useDayRender/utils/getDayStyle.d.ts +0 -5
- package/dist/hooks/useId/index.d.ts +0 -1
- package/dist/hooks/useId/useId.d.ts +0 -19
- package/dist/hooks/useInput/index.d.ts +0 -1
- package/dist/hooks/useInput/useInput.d.ts +0 -28
- package/dist/hooks/useInput/utils/isValidDate.d.ts +0 -2
- package/dist/hooks/useSelectedDays/index.d.ts +0 -1
- package/dist/hooks/useSelectedDays/useSelectedDays.d.ts +0 -10
- package/dist/types/DayPickerBase.d.ts +0 -255
- package/dist/types/DayPickerDefault.d.ts +0 -8
- package/dist/types/DayPickerMultiple.d.ts +0 -18
- package/dist/types/DayPickerRange.d.ts +0 -19
- package/dist/types/DayPickerSingle.d.ts +0 -16
- package/dist/types/EventHandlers.d.ts +0 -51
- package/dist/types/Formatters.d.ts +0 -24
- package/dist/types/Labels.d.ts +0 -28
- package/dist/types/Matchers.d.ts +0 -84
- package/dist/types/Modifiers.d.ts +0 -49
- package/dist/types/Styles.d.ts +0 -102
- package/src/contexts/DayPicker/useDayPicker.ts +0 -17
- package/src/contexts/Focus/useFocusContext.ts +0 -17
- package/src/contexts/Modifiers/useModifiers.ts +0 -20
- package/src/contexts/Navigation/useNavigation.ts +0 -17
- package/src/contexts/SelectMultiple/useSelectMultiple.ts +0 -21
- package/src/contexts/SelectRange/useSelectRange.ts +0 -19
- package/src/contexts/SelectSingle/useSelectSingle.ts +0 -21
package/dist/index.js
CHANGED
|
@@ -17,18 +17,23 @@ var isBefore = require('date-fns/isBefore');
|
|
|
17
17
|
var isSameMonth = require('date-fns/isSameMonth');
|
|
18
18
|
var differenceInCalendarMonths = require('date-fns/differenceInCalendarMonths');
|
|
19
19
|
var addDays = require('date-fns/addDays');
|
|
20
|
+
var startOfISOWeek = require('date-fns/startOfISOWeek');
|
|
20
21
|
var startOfWeek = require('date-fns/startOfWeek');
|
|
21
22
|
var getUnixTime = require('date-fns/getUnixTime');
|
|
22
23
|
var isSameDay = require('date-fns/isSameDay');
|
|
23
24
|
var differenceInCalendarDays = require('date-fns/differenceInCalendarDays');
|
|
25
|
+
var subDays = require('date-fns/subDays');
|
|
24
26
|
var isAfter = require('date-fns/isAfter');
|
|
27
|
+
var dateFns = require('date-fns');
|
|
25
28
|
var isDate = require('date-fns/isDate');
|
|
26
29
|
var addWeeks = require('date-fns/addWeeks');
|
|
27
30
|
var addYears = require('date-fns/addYears');
|
|
31
|
+
var endOfISOWeek = require('date-fns/endOfISOWeek');
|
|
28
32
|
var endOfWeek = require('date-fns/endOfWeek');
|
|
29
33
|
var max = require('date-fns/max');
|
|
30
34
|
var min = require('date-fns/min');
|
|
31
35
|
var getWeeksInMonth = require('date-fns/getWeeksInMonth');
|
|
36
|
+
var getISOWeek = require('date-fns/getISOWeek');
|
|
32
37
|
var getWeek = require('date-fns/getWeek');
|
|
33
38
|
var parse = require('date-fns/parse');
|
|
34
39
|
|
|
@@ -68,18 +73,22 @@ var isBefore__default = /*#__PURE__*/_interopDefaultLegacy(isBefore);
|
|
|
68
73
|
var isSameMonth__default = /*#__PURE__*/_interopDefaultLegacy(isSameMonth);
|
|
69
74
|
var differenceInCalendarMonths__default = /*#__PURE__*/_interopDefaultLegacy(differenceInCalendarMonths);
|
|
70
75
|
var addDays__default = /*#__PURE__*/_interopDefaultLegacy(addDays);
|
|
76
|
+
var startOfISOWeek__default = /*#__PURE__*/_interopDefaultLegacy(startOfISOWeek);
|
|
71
77
|
var startOfWeek__default = /*#__PURE__*/_interopDefaultLegacy(startOfWeek);
|
|
72
78
|
var getUnixTime__default = /*#__PURE__*/_interopDefaultLegacy(getUnixTime);
|
|
73
79
|
var isSameDay__default = /*#__PURE__*/_interopDefaultLegacy(isSameDay);
|
|
74
80
|
var differenceInCalendarDays__default = /*#__PURE__*/_interopDefaultLegacy(differenceInCalendarDays);
|
|
81
|
+
var subDays__default = /*#__PURE__*/_interopDefaultLegacy(subDays);
|
|
75
82
|
var isAfter__default = /*#__PURE__*/_interopDefaultLegacy(isAfter);
|
|
76
83
|
var isDate__default = /*#__PURE__*/_interopDefaultLegacy(isDate);
|
|
77
84
|
var addWeeks__default = /*#__PURE__*/_interopDefaultLegacy(addWeeks);
|
|
78
85
|
var addYears__default = /*#__PURE__*/_interopDefaultLegacy(addYears);
|
|
86
|
+
var endOfISOWeek__default = /*#__PURE__*/_interopDefaultLegacy(endOfISOWeek);
|
|
79
87
|
var endOfWeek__default = /*#__PURE__*/_interopDefaultLegacy(endOfWeek);
|
|
80
88
|
var max__default = /*#__PURE__*/_interopDefaultLegacy(max);
|
|
81
89
|
var min__default = /*#__PURE__*/_interopDefaultLegacy(min);
|
|
82
90
|
var getWeeksInMonth__default = /*#__PURE__*/_interopDefaultLegacy(getWeeksInMonth);
|
|
91
|
+
var getISOWeek__default = /*#__PURE__*/_interopDefaultLegacy(getISOWeek);
|
|
83
92
|
var getWeek__default = /*#__PURE__*/_interopDefaultLegacy(getWeek);
|
|
84
93
|
var parse__default = /*#__PURE__*/_interopDefaultLegacy(parse);
|
|
85
94
|
|
|
@@ -309,7 +318,7 @@ var labels = /*#__PURE__*/Object.freeze({
|
|
|
309
318
|
* Returns the default values to use in the DayPickerContext, in case they are
|
|
310
319
|
* not passed down with the DayPicker initial props.
|
|
311
320
|
*/
|
|
312
|
-
function
|
|
321
|
+
function getDefaultContextValues() {
|
|
313
322
|
var captionLayout = 'buttons';
|
|
314
323
|
var classNames = defaultClassNames;
|
|
315
324
|
var locale = enUS__default["default"];
|
|
@@ -368,12 +377,13 @@ var DayPickerContext = React.createContext(undefined);
|
|
|
368
377
|
* initial DayPicker props.
|
|
369
378
|
*/
|
|
370
379
|
function DayPickerProvider(props) {
|
|
371
|
-
var _a
|
|
380
|
+
var _a;
|
|
372
381
|
var initialProps = props.initialProps;
|
|
373
|
-
var
|
|
374
|
-
var
|
|
375
|
-
var captionLayout = (_a = initialProps.captionLayout) !== null && _a !== void 0 ? _a :
|
|
382
|
+
var defaultContextValues = getDefaultContextValues();
|
|
383
|
+
var _b = parseFromToProps(initialProps), fromDate = _b.fromDate, toDate = _b.toDate;
|
|
384
|
+
var captionLayout = (_a = initialProps.captionLayout) !== null && _a !== void 0 ? _a : defaultContextValues.captionLayout;
|
|
376
385
|
if (captionLayout !== 'buttons' && (!fromDate || !toDate)) {
|
|
386
|
+
// When no from/to dates are set, the caption is always buttons
|
|
377
387
|
captionLayout = 'buttons';
|
|
378
388
|
}
|
|
379
389
|
var onSelect;
|
|
@@ -382,61 +392,9 @@ function DayPickerProvider(props) {
|
|
|
382
392
|
isDayPickerRange(initialProps)) {
|
|
383
393
|
onSelect = initialProps.onSelect;
|
|
384
394
|
}
|
|
385
|
-
var value = {
|
|
386
|
-
captionLayout: captionLayout,
|
|
387
|
-
className: initialProps.className,
|
|
388
|
-
classNames: __assign(__assign({}, defaults.classNames), initialProps.classNames),
|
|
389
|
-
components: __assign(__assign({}, defaults.components), initialProps.components),
|
|
390
|
-
defaultMonth: initialProps.defaultMonth,
|
|
391
|
-
dir: initialProps.dir,
|
|
392
|
-
disabled: initialProps.disabled,
|
|
393
|
-
disableNavigation: initialProps.disableNavigation,
|
|
394
|
-
fixedWeeks: initialProps.fixedWeeks,
|
|
395
|
-
footer: initialProps.footer,
|
|
396
|
-
formatters: __assign(__assign({}, defaults.formatters), initialProps.formatters),
|
|
397
|
-
fromDate: fromDate,
|
|
398
|
-
hidden: initialProps.hidden,
|
|
399
|
-
hideHead: initialProps.hideHead,
|
|
400
|
-
initialFocus: initialProps.initialFocus,
|
|
401
|
-
labels: __assign(__assign({}, defaults.labels), initialProps.labels),
|
|
402
|
-
locale: (_b = initialProps.locale) !== null && _b !== void 0 ? _b : defaults.locale,
|
|
403
|
-
mode: initialProps.mode || 'default',
|
|
404
|
-
modifiers: __assign(__assign({}, defaults.modifiers), initialProps.modifiers),
|
|
405
|
-
modifiersClassNames: __assign(__assign({}, defaults.modifiersClassNames), initialProps.modifiersClassNames),
|
|
406
|
-
modifiersStyles: initialProps.modifiersStyles,
|
|
407
|
-
month: initialProps.month,
|
|
408
|
-
numberOfMonths: (_c = initialProps.numberOfMonths) !== null && _c !== void 0 ? _c : defaults.numberOfMonths,
|
|
409
|
-
onDayBlur: initialProps.onDayBlur,
|
|
410
|
-
onDayClick: initialProps.onDayClick,
|
|
411
|
-
onDayFocus: initialProps.onDayFocus,
|
|
412
|
-
onDayKeyDown: initialProps.onDayKeyDown,
|
|
413
|
-
onDayKeyPress: initialProps.onDayKeyPress,
|
|
414
|
-
onDayKeyUp: initialProps.onDayKeyUp,
|
|
415
|
-
onDayMouseEnter: initialProps.onDayMouseEnter,
|
|
416
|
-
onDayMouseLeave: initialProps.onDayMouseLeave,
|
|
417
|
-
onDayTouchCancel: initialProps.onDayTouchCancel,
|
|
418
|
-
onDayTouchEnd: initialProps.onDayTouchEnd,
|
|
419
|
-
onDayTouchMove: initialProps.onDayTouchMove,
|
|
420
|
-
onDayTouchStart: initialProps.onDayTouchStart,
|
|
421
|
-
onMonthChange: initialProps.onMonthChange,
|
|
422
|
-
onNextClick: initialProps.onNextClick,
|
|
423
|
-
onPrevClick: initialProps.onPrevClick,
|
|
424
|
-
onSelect: onSelect,
|
|
425
|
-
onWeekNumberClick: initialProps.onWeekNumberClick,
|
|
426
|
-
pagedNavigation: initialProps.pagedNavigation,
|
|
427
|
-
reverseMonths: initialProps.reverseMonths,
|
|
428
|
-
selected: initialProps.selected,
|
|
429
|
-
showOutsideDays: initialProps.showOutsideDays,
|
|
430
|
-
showWeekNumber: initialProps.showWeekNumber,
|
|
431
|
-
style: initialProps.style,
|
|
432
|
-
styles: __assign(__assign({}, defaults.styles), initialProps.styles),
|
|
433
|
-
toDate: toDate,
|
|
434
|
-
today: (_d = initialProps.today) !== null && _d !== void 0 ? _d : defaults.today,
|
|
435
|
-
weekStartsOn: initialProps.weekStartsOn
|
|
436
|
-
};
|
|
395
|
+
var value = __assign(__assign(__assign({}, defaultContextValues), initialProps), { captionLayout: captionLayout, classNames: __assign(__assign({}, defaultContextValues.classNames), initialProps.classNames), components: __assign({}, initialProps.components), formatters: __assign(__assign({}, defaultContextValues.formatters), initialProps.formatters), fromDate: fromDate, labels: __assign(__assign({}, defaultContextValues.labels), initialProps.labels), mode: initialProps.mode || defaultContextValues.mode, modifiers: __assign(__assign({}, defaultContextValues.modifiers), initialProps.modifiers), modifiersClassNames: __assign(__assign({}, defaultContextValues.modifiersClassNames), initialProps.modifiersClassNames), onSelect: onSelect, styles: __assign(__assign({}, defaultContextValues.styles), initialProps.styles), toDate: toDate });
|
|
437
396
|
return (React__default["default"].createElement(DayPickerContext.Provider, { value: value }, props.children));
|
|
438
397
|
}
|
|
439
|
-
|
|
440
398
|
/**
|
|
441
399
|
* Hook to access the {@link DayPickerContextValue}.
|
|
442
400
|
*
|
|
@@ -705,7 +663,6 @@ function NavigationProvider(props) {
|
|
|
705
663
|
};
|
|
706
664
|
return (React__default["default"].createElement(NavigationContext.Provider, { value: value }, props.children));
|
|
707
665
|
}
|
|
708
|
-
|
|
709
666
|
/**
|
|
710
667
|
* Hook to access the {@link NavigationContextValue}. Use this hook to navigate
|
|
711
668
|
* between months or years in DayPicker.
|
|
@@ -866,9 +823,13 @@ function Footer() {
|
|
|
866
823
|
* the weekday names (Monday, Tuesday, etc.).
|
|
867
824
|
*/
|
|
868
825
|
function getWeekdays(locale,
|
|
869
|
-
/** The index of the first day of the week (0 - Sunday) */
|
|
870
|
-
weekStartsOn
|
|
871
|
-
|
|
826
|
+
/** The index of the first day of the week (0 - Sunday). */
|
|
827
|
+
weekStartsOn,
|
|
828
|
+
/** Use ISOWeek instead of locale/ */
|
|
829
|
+
ISOWeek) {
|
|
830
|
+
var start = ISOWeek
|
|
831
|
+
? startOfISOWeek__default["default"](new Date())
|
|
832
|
+
: startOfWeek__default["default"](new Date(), { locale: locale, weekStartsOn: weekStartsOn });
|
|
872
833
|
var days = [];
|
|
873
834
|
for (var i = 0; i < 7; i++) {
|
|
874
835
|
var day = addDays__default["default"](start, i);
|
|
@@ -881,8 +842,8 @@ weekStartsOn) {
|
|
|
881
842
|
* Render the HeadRow component - i.e. the table head row with the weekday names.
|
|
882
843
|
*/
|
|
883
844
|
function HeadRow() {
|
|
884
|
-
var _a = useDayPicker(), classNames = _a.classNames, styles = _a.styles, showWeekNumber = _a.showWeekNumber, locale = _a.locale, weekStartsOn = _a.weekStartsOn, formatWeekdayName = _a.formatters.formatWeekdayName, labelWeekday = _a.labels.labelWeekday;
|
|
885
|
-
var weekdays = getWeekdays(locale, weekStartsOn);
|
|
845
|
+
var _a = useDayPicker(), classNames = _a.classNames, styles = _a.styles, showWeekNumber = _a.showWeekNumber, locale = _a.locale, weekStartsOn = _a.weekStartsOn, ISOWeek = _a.ISOWeek, formatWeekdayName = _a.formatters.formatWeekdayName, labelWeekday = _a.labels.labelWeekday;
|
|
846
|
+
var weekdays = getWeekdays(locale, weekStartsOn, ISOWeek);
|
|
886
847
|
return (React__default["default"].createElement("tr", { style: styles.head_row, className: classNames.head_row },
|
|
887
848
|
showWeekNumber && (React__default["default"].createElement("th", { scope: "col", style: styles.head_cell, className: classNames.head_cell })),
|
|
888
849
|
weekdays.map(function (weekday, i) { return (React__default["default"].createElement("th", { key: i, scope: "col", className: classNames.head_cell, style: styles.head_cell },
|
|
@@ -970,7 +931,6 @@ function SelectMultipleProviderInternal(_a) {
|
|
|
970
931
|
};
|
|
971
932
|
return (React__default["default"].createElement(SelectMultipleContext.Provider, { value: contextValue }, children));
|
|
972
933
|
}
|
|
973
|
-
|
|
974
934
|
/**
|
|
975
935
|
* Hook to access the {@link SelectMultipleContextValue}.
|
|
976
936
|
*
|
|
@@ -1051,18 +1011,8 @@ function SelectRangeProviderInternal(_a) {
|
|
|
1051
1011
|
var onDayClick = function (day, activeModifiers, e) {
|
|
1052
1012
|
var _a, _b;
|
|
1053
1013
|
(_a = initialProps.onDayClick) === null || _a === void 0 ? void 0 : _a.call(initialProps, day, activeModifiers, e);
|
|
1054
|
-
var
|
|
1055
|
-
|
|
1056
|
-
selected &&
|
|
1057
|
-
(range === null || range === void 0 ? void 0 : range.to) &&
|
|
1058
|
-
range.from &&
|
|
1059
|
-
range.from !== range.to) {
|
|
1060
|
-
var diff = Math.abs(differenceInCalendarDays__default["default"](range === null || range === void 0 ? void 0 : range.to, range === null || range === void 0 ? void 0 : range.from));
|
|
1061
|
-
if ((min && diff < min) || (max && diff >= max)) {
|
|
1062
|
-
return;
|
|
1063
|
-
}
|
|
1064
|
-
}
|
|
1065
|
-
(_b = initialProps.onSelect) === null || _b === void 0 ? void 0 : _b.call(initialProps, range, day, activeModifiers, e);
|
|
1014
|
+
var newRange = addToRange(day, selected);
|
|
1015
|
+
(_b = initialProps.onSelect) === null || _b === void 0 ? void 0 : _b.call(initialProps, newRange, day, activeModifiers, e);
|
|
1066
1016
|
};
|
|
1067
1017
|
var modifiers = {
|
|
1068
1018
|
range_start: [],
|
|
@@ -1085,25 +1035,42 @@ function SelectRangeProviderInternal(_a) {
|
|
|
1085
1035
|
];
|
|
1086
1036
|
}
|
|
1087
1037
|
}
|
|
1088
|
-
if (min
|
|
1089
|
-
|
|
1090
|
-
|
|
1091
|
-
|
|
1092
|
-
|
|
1093
|
-
|
|
1094
|
-
}
|
|
1038
|
+
if (min) {
|
|
1039
|
+
if (selectedFrom && !selectedTo) {
|
|
1040
|
+
modifiers.disabled.push({
|
|
1041
|
+
after: subDays__default["default"](selectedFrom, min - 1),
|
|
1042
|
+
before: addDays__default["default"](selectedFrom, min - 1)
|
|
1043
|
+
});
|
|
1044
|
+
}
|
|
1045
|
+
if (selectedFrom && selectedTo) {
|
|
1046
|
+
modifiers.disabled.push({
|
|
1047
|
+
after: selectedFrom,
|
|
1048
|
+
before: addDays__default["default"](selectedFrom, min - 1)
|
|
1049
|
+
});
|
|
1050
|
+
}
|
|
1095
1051
|
}
|
|
1096
|
-
if (max
|
|
1097
|
-
|
|
1098
|
-
|
|
1099
|
-
|
|
1100
|
-
|
|
1101
|
-
|
|
1102
|
-
|
|
1052
|
+
if (max) {
|
|
1053
|
+
if (selectedFrom && !selectedTo) {
|
|
1054
|
+
modifiers.disabled.push({
|
|
1055
|
+
before: addDays__default["default"](selectedFrom, -max + 1)
|
|
1056
|
+
});
|
|
1057
|
+
modifiers.disabled.push({
|
|
1058
|
+
after: addDays__default["default"](selectedFrom, max - 1)
|
|
1059
|
+
});
|
|
1060
|
+
}
|
|
1061
|
+
if (selectedFrom && selectedTo) {
|
|
1062
|
+
var selectedCount = differenceInCalendarDays__default["default"](selectedTo, selectedFrom) + 1;
|
|
1063
|
+
var offset = max - selectedCount;
|
|
1064
|
+
modifiers.disabled.push({
|
|
1065
|
+
before: subDays__default["default"](selectedFrom, offset)
|
|
1066
|
+
});
|
|
1067
|
+
modifiers.disabled.push({
|
|
1068
|
+
after: addDays__default["default"](selectedTo, offset)
|
|
1069
|
+
});
|
|
1070
|
+
}
|
|
1103
1071
|
}
|
|
1104
1072
|
return (React__default["default"].createElement(SelectRangeContext.Provider, { value: { selected: selected, onDayClick: onDayClick, modifiers: modifiers } }, children));
|
|
1105
1073
|
}
|
|
1106
|
-
|
|
1107
1074
|
/**
|
|
1108
1075
|
* Hook to access the {@link SelectRangeContextValue}.
|
|
1109
1076
|
*
|
|
@@ -1204,7 +1171,6 @@ function ModifiersProvider(props) {
|
|
|
1204
1171
|
var modifiers = __assign(__assign({}, internalModifiers), customModifiers);
|
|
1205
1172
|
return (React__default["default"].createElement(ModifiersContext.Provider, { value: modifiers }, props.children));
|
|
1206
1173
|
}
|
|
1207
|
-
|
|
1208
1174
|
/**
|
|
1209
1175
|
* Return the modifiers used by DayPicker.
|
|
1210
1176
|
*
|
|
@@ -1308,9 +1274,17 @@ function isMatch(day, matchers) {
|
|
|
1308
1274
|
return matcher.dayOfWeek.includes(day.getDay());
|
|
1309
1275
|
}
|
|
1310
1276
|
if (isDateInterval(matcher)) {
|
|
1311
|
-
var
|
|
1312
|
-
var
|
|
1313
|
-
|
|
1277
|
+
var diffBefore = differenceInCalendarDays__default["default"](matcher.before, day);
|
|
1278
|
+
var diffAfter = differenceInCalendarDays__default["default"](matcher.after, day);
|
|
1279
|
+
var isDayBefore = diffBefore > 0;
|
|
1280
|
+
var isDayAfter = diffAfter < 0;
|
|
1281
|
+
var isClosedInterval = dateFns.isAfter(matcher.before, matcher.after);
|
|
1282
|
+
if (isClosedInterval) {
|
|
1283
|
+
return isDayAfter && isDayBefore;
|
|
1284
|
+
}
|
|
1285
|
+
else {
|
|
1286
|
+
return isDayBefore || isDayAfter;
|
|
1287
|
+
}
|
|
1314
1288
|
}
|
|
1315
1289
|
if (isDateAfterType(matcher)) {
|
|
1316
1290
|
return differenceInCalendarDays__default["default"](day, matcher.after) > 0;
|
|
@@ -1380,18 +1354,26 @@ function getInitialFocusTarget(displayMonths, modifiers) {
|
|
|
1380
1354
|
}
|
|
1381
1355
|
}
|
|
1382
1356
|
|
|
1357
|
+
var MAX_RETRY = 365;
|
|
1383
1358
|
/** Return the next date to be focused. */
|
|
1384
|
-
function getNextFocus(
|
|
1385
|
-
|
|
1386
|
-
|
|
1387
|
-
var weekStartsOn = options.weekStartsOn, fromDate = options.fromDate, toDate = options.toDate, locale = options.locale;
|
|
1359
|
+
function getNextFocus(focusedDay, options) {
|
|
1360
|
+
var moveBy = options.moveBy, direction = options.direction, context = options.context, modifiers = options.modifiers, _a = options.retry, retry = _a === void 0 ? { count: 0, lastFocused: focusedDay } : _a;
|
|
1361
|
+
var weekStartsOn = context.weekStartsOn, fromDate = context.fromDate, toDate = context.toDate, locale = context.locale;
|
|
1388
1362
|
var moveFns = {
|
|
1389
1363
|
day: addDays__default["default"],
|
|
1390
1364
|
week: addWeeks__default["default"],
|
|
1391
1365
|
month: addMonths__default["default"],
|
|
1392
1366
|
year: addYears__default["default"],
|
|
1393
|
-
startOfWeek: function (date) {
|
|
1394
|
-
|
|
1367
|
+
startOfWeek: function (date) {
|
|
1368
|
+
return context.ISOWeek
|
|
1369
|
+
? startOfISOWeek__default["default"](date)
|
|
1370
|
+
: startOfWeek__default["default"](date, { locale: locale, weekStartsOn: weekStartsOn });
|
|
1371
|
+
},
|
|
1372
|
+
endOfWeek: function (date) {
|
|
1373
|
+
return context.ISOWeek
|
|
1374
|
+
? endOfISOWeek__default["default"](date)
|
|
1375
|
+
: endOfWeek__default["default"](date, { locale: locale, weekStartsOn: weekStartsOn });
|
|
1376
|
+
}
|
|
1395
1377
|
};
|
|
1396
1378
|
var newFocusedDay = moveFns[moveBy](focusedDay, direction === 'after' ? 1 : -1);
|
|
1397
1379
|
if (direction === 'before' && fromDate) {
|
|
@@ -1400,14 +1382,26 @@ focusedDay, moveBy, direction, options, modifiers) {
|
|
|
1400
1382
|
else if (direction === 'after' && toDate) {
|
|
1401
1383
|
newFocusedDay = min__default["default"]([toDate, newFocusedDay]);
|
|
1402
1384
|
}
|
|
1385
|
+
var isFocusable = true;
|
|
1403
1386
|
if (modifiers) {
|
|
1404
1387
|
var activeModifiers = getActiveModifiers(newFocusedDay, modifiers);
|
|
1405
|
-
|
|
1406
|
-
|
|
1407
|
-
|
|
1388
|
+
isFocusable = !activeModifiers.disabled && !activeModifiers.hidden;
|
|
1389
|
+
}
|
|
1390
|
+
if (isFocusable) {
|
|
1391
|
+
return newFocusedDay;
|
|
1392
|
+
}
|
|
1393
|
+
else {
|
|
1394
|
+
if (retry.count > MAX_RETRY) {
|
|
1395
|
+
return retry.lastFocused;
|
|
1408
1396
|
}
|
|
1397
|
+
return getNextFocus(newFocusedDay, {
|
|
1398
|
+
moveBy: moveBy,
|
|
1399
|
+
direction: direction,
|
|
1400
|
+
context: context,
|
|
1401
|
+
modifiers: modifiers,
|
|
1402
|
+
retry: __assign(__assign({}, retry), { count: retry.count + 1 })
|
|
1403
|
+
});
|
|
1409
1404
|
}
|
|
1410
|
-
return newFocusedDay;
|
|
1411
1405
|
}
|
|
1412
1406
|
|
|
1413
1407
|
/**
|
|
@@ -1434,11 +1428,16 @@ function FocusProvider(props) {
|
|
|
1434
1428
|
var focus = function (date) {
|
|
1435
1429
|
setFocusedDay(date);
|
|
1436
1430
|
};
|
|
1437
|
-
var
|
|
1431
|
+
var context = useDayPicker();
|
|
1438
1432
|
var moveFocus = function (moveBy, direction) {
|
|
1439
1433
|
if (!focusedDay)
|
|
1440
1434
|
return;
|
|
1441
|
-
var nextFocused = getNextFocus(focusedDay,
|
|
1435
|
+
var nextFocused = getNextFocus(focusedDay, {
|
|
1436
|
+
moveBy: moveBy,
|
|
1437
|
+
direction: direction,
|
|
1438
|
+
context: context,
|
|
1439
|
+
modifiers: modifiers
|
|
1440
|
+
});
|
|
1442
1441
|
if (isSameDay__default["default"](focusedDay, nextFocused))
|
|
1443
1442
|
return undefined;
|
|
1444
1443
|
navigation.goToDate(nextFocused, focusedDay);
|
|
@@ -1462,7 +1461,6 @@ function FocusProvider(props) {
|
|
|
1462
1461
|
};
|
|
1463
1462
|
return (React__default["default"].createElement(FocusContext.Provider, { value: value }, props.children));
|
|
1464
1463
|
}
|
|
1465
|
-
|
|
1466
1464
|
/**
|
|
1467
1465
|
* Hook to access the {@link FocusContextValue}. Use this hook to handle the
|
|
1468
1466
|
* focus state of the elements.
|
|
@@ -1530,7 +1528,6 @@ function SelectSingleProviderInternal(_a) {
|
|
|
1530
1528
|
};
|
|
1531
1529
|
return (React__default["default"].createElement(SelectSingleContext.Provider, { value: contextValue }, children));
|
|
1532
1530
|
}
|
|
1533
|
-
|
|
1534
1531
|
/**
|
|
1535
1532
|
* Hook to access the {@link SelectSingleContextValue}.
|
|
1536
1533
|
*
|
|
@@ -1865,15 +1862,21 @@ function Row(props) {
|
|
|
1865
1862
|
|
|
1866
1863
|
/** Return the weeks between two dates. */
|
|
1867
1864
|
function daysToMonthWeeks(fromDate, toDate, options) {
|
|
1868
|
-
var toWeek =
|
|
1869
|
-
|
|
1865
|
+
var toWeek = (options === null || options === void 0 ? void 0 : options.ISOWeek)
|
|
1866
|
+
? endOfISOWeek__default["default"](toDate)
|
|
1867
|
+
: endOfWeek__default["default"](toDate, options);
|
|
1868
|
+
var fromWeek = (options === null || options === void 0 ? void 0 : options.ISOWeek)
|
|
1869
|
+
? startOfISOWeek__default["default"](fromDate)
|
|
1870
|
+
: startOfWeek__default["default"](fromDate, options);
|
|
1870
1871
|
var nOfDays = differenceInCalendarDays__default["default"](toWeek, fromWeek);
|
|
1871
1872
|
var days = [];
|
|
1872
1873
|
for (var i = 0; i <= nOfDays; i++) {
|
|
1873
1874
|
days.push(addDays__default["default"](fromWeek, i));
|
|
1874
1875
|
}
|
|
1875
1876
|
var weeksInMonth = days.reduce(function (result, date) {
|
|
1876
|
-
var weekNumber =
|
|
1877
|
+
var weekNumber = (options === null || options === void 0 ? void 0 : options.ISOWeek)
|
|
1878
|
+
? getISOWeek__default["default"](date)
|
|
1879
|
+
: getWeek__default["default"](date, options);
|
|
1877
1880
|
var existingWeek = result.find(function (value) { return value.weekNumber === weekNumber; });
|
|
1878
1881
|
if (existingWeek) {
|
|
1879
1882
|
existingWeek.dates.push(date);
|
|
@@ -1892,12 +1895,10 @@ function daysToMonthWeeks(fromDate, toDate, options) {
|
|
|
1892
1895
|
* Return the weeks belonging to the given month, adding the "outside days" to
|
|
1893
1896
|
* the first and last week.
|
|
1894
1897
|
*/
|
|
1895
|
-
function getMonthWeeks(
|
|
1896
|
-
/** The month to get the weeks from */
|
|
1897
|
-
month, options) {
|
|
1898
|
+
function getMonthWeeks(month, options) {
|
|
1898
1899
|
var weeksInMonth = daysToMonthWeeks(startOfMonth__default["default"](month), endOfMonth__default["default"](month), options);
|
|
1899
|
-
// Add extra weeks to the month, up to 6 weeks
|
|
1900
1900
|
if (options === null || options === void 0 ? void 0 : options.useFixedWeeks) {
|
|
1901
|
+
// Add extra weeks to the month, up to 6 weeks
|
|
1901
1902
|
var nrOfMonthWeeks = getWeeksInMonth__default["default"](month, options);
|
|
1902
1903
|
if (nrOfMonthWeeks < 6) {
|
|
1903
1904
|
var lastWeek = weeksInMonth[weeksInMonth.length - 1];
|
|
@@ -1913,11 +1914,13 @@ month, options) {
|
|
|
1913
1914
|
/** Render the table with the calendar. */
|
|
1914
1915
|
function Table(props) {
|
|
1915
1916
|
var _a, _b, _c;
|
|
1916
|
-
var _d = useDayPicker(), locale = _d.locale, classNames = _d.classNames, styles = _d.styles, hideHead = _d.hideHead, fixedWeeks = _d.fixedWeeks, components = _d.components, weekStartsOn = _d.weekStartsOn;
|
|
1917
|
+
var _d = useDayPicker(), locale = _d.locale, classNames = _d.classNames, styles = _d.styles, hideHead = _d.hideHead, fixedWeeks = _d.fixedWeeks, components = _d.components, weekStartsOn = _d.weekStartsOn, firstWeekContainsDate = _d.firstWeekContainsDate, ISOWeek = _d.ISOWeek;
|
|
1917
1918
|
var weeks = getMonthWeeks(props.displayMonth, {
|
|
1918
1919
|
useFixedWeeks: Boolean(fixedWeeks),
|
|
1920
|
+
ISOWeek: ISOWeek,
|
|
1919
1921
|
locale: locale,
|
|
1920
|
-
weekStartsOn: weekStartsOn
|
|
1922
|
+
weekStartsOn: weekStartsOn,
|
|
1923
|
+
firstWeekContainsDate: firstWeekContainsDate
|
|
1921
1924
|
});
|
|
1922
1925
|
var HeadComponent = (_a = components === null || components === void 0 ? void 0 : components.Head) !== null && _a !== void 0 ? _a : Head;
|
|
1923
1926
|
var RowComponent = (_b = components === null || components === void 0 ? void 0 : components.Row) !== null && _b !== void 0 ? _b : Row;
|
|
@@ -2012,7 +2015,7 @@ function Month(props) {
|
|
|
2012
2015
|
var dayPicker = useDayPicker();
|
|
2013
2016
|
var dir = dayPicker.dir, classNames = dayPicker.classNames, styles = dayPicker.styles, components = dayPicker.components;
|
|
2014
2017
|
var displayMonths = useNavigation().displayMonths;
|
|
2015
|
-
var captionId = useId();
|
|
2018
|
+
var captionId = useId(dayPicker.id ? "".concat(dayPicker.id, "-").concat(props.displayIndex) : undefined);
|
|
2016
2019
|
var className = [classNames.month];
|
|
2017
2020
|
var style = styles.month;
|
|
2018
2021
|
var isStart = props.displayIndex === 0;
|