react-day-picker 8.0.2 → 8.0.3
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/components/Head/utils/getWeekdays.d.ts +1 -1
- package/dist/components/Table/utils/daysToMonthWeeks.d.ts +1 -1
- package/dist/components/Table/utils/getMonthWeeks.d.ts +1 -1
- package/dist/contexts/DayPicker/formatters/formatCaption.d.ts +1 -1
- package/dist/contexts/DayPicker/formatters/formatDay.d.ts +1 -1
- package/dist/contexts/DayPicker/formatters/formatMonthCaption.d.ts +1 -1
- package/dist/contexts/DayPicker/formatters/formatWeekdayName.d.ts +1 -1
- package/dist/index.esm.js +27 -4
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +151 -104
- package/dist/index.js.map +1 -1
- package/dist/types/DayPickerBase.d.ts +1 -1
- package/dist/types/Labels.d.ts +1 -1
- package/package.json +1 -2
- package/dist/react-day-picker.min.js +0 -1
package/dist/index.js
CHANGED
|
@@ -4,14 +4,61 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
4
4
|
|
|
5
5
|
var React = require('react');
|
|
6
6
|
var enUS = require('date-fns/locale/en-US');
|
|
7
|
-
var
|
|
7
|
+
var format = require('date-fns/format');
|
|
8
|
+
var endOfMonth = require('date-fns/endOfMonth');
|
|
9
|
+
var startOfDay = require('date-fns/startOfDay');
|
|
10
|
+
var startOfMonth = require('date-fns/startOfMonth');
|
|
11
|
+
var isSameYear = require('date-fns/isSameYear');
|
|
12
|
+
var setMonth = require('date-fns/setMonth');
|
|
13
|
+
var setYear = require('date-fns/setYear');
|
|
14
|
+
var startOfYear = require('date-fns/startOfYear');
|
|
15
|
+
var addMonths = require('date-fns/addMonths');
|
|
16
|
+
var isBefore = require('date-fns/isBefore');
|
|
8
17
|
var isSameMonth = require('date-fns/isSameMonth');
|
|
18
|
+
var differenceInCalendarMonths = require('date-fns/differenceInCalendarMonths');
|
|
19
|
+
var addDays = require('date-fns/addDays');
|
|
20
|
+
var startOfWeek = require('date-fns/startOfWeek');
|
|
21
|
+
var getUnixTime = require('date-fns/getUnixTime');
|
|
22
|
+
var isSameDay = require('date-fns/isSameDay');
|
|
23
|
+
var addWeeks = require('date-fns/addWeeks');
|
|
24
|
+
var addYears = require('date-fns/addYears');
|
|
25
|
+
var endOfWeek = require('date-fns/endOfWeek');
|
|
26
|
+
var differenceInCalendarDays = require('date-fns/differenceInCalendarDays');
|
|
27
|
+
var isAfter = require('date-fns/isAfter');
|
|
28
|
+
var isDate = require('date-fns/isDate');
|
|
29
|
+
var getWeeksInMonth = require('date-fns/getWeeksInMonth');
|
|
30
|
+
var getWeek = require('date-fns/getWeek');
|
|
31
|
+
var parse = require('date-fns/parse');
|
|
9
32
|
|
|
10
33
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
11
34
|
|
|
12
35
|
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
13
36
|
var enUS__default = /*#__PURE__*/_interopDefaultLegacy(enUS);
|
|
37
|
+
var format__default = /*#__PURE__*/_interopDefaultLegacy(format);
|
|
38
|
+
var endOfMonth__default = /*#__PURE__*/_interopDefaultLegacy(endOfMonth);
|
|
39
|
+
var startOfDay__default = /*#__PURE__*/_interopDefaultLegacy(startOfDay);
|
|
40
|
+
var startOfMonth__default = /*#__PURE__*/_interopDefaultLegacy(startOfMonth);
|
|
41
|
+
var isSameYear__default = /*#__PURE__*/_interopDefaultLegacy(isSameYear);
|
|
42
|
+
var setMonth__default = /*#__PURE__*/_interopDefaultLegacy(setMonth);
|
|
43
|
+
var setYear__default = /*#__PURE__*/_interopDefaultLegacy(setYear);
|
|
44
|
+
var startOfYear__default = /*#__PURE__*/_interopDefaultLegacy(startOfYear);
|
|
45
|
+
var addMonths__default = /*#__PURE__*/_interopDefaultLegacy(addMonths);
|
|
46
|
+
var isBefore__default = /*#__PURE__*/_interopDefaultLegacy(isBefore);
|
|
14
47
|
var isSameMonth__default = /*#__PURE__*/_interopDefaultLegacy(isSameMonth);
|
|
48
|
+
var differenceInCalendarMonths__default = /*#__PURE__*/_interopDefaultLegacy(differenceInCalendarMonths);
|
|
49
|
+
var addDays__default = /*#__PURE__*/_interopDefaultLegacy(addDays);
|
|
50
|
+
var startOfWeek__default = /*#__PURE__*/_interopDefaultLegacy(startOfWeek);
|
|
51
|
+
var getUnixTime__default = /*#__PURE__*/_interopDefaultLegacy(getUnixTime);
|
|
52
|
+
var isSameDay__default = /*#__PURE__*/_interopDefaultLegacy(isSameDay);
|
|
53
|
+
var addWeeks__default = /*#__PURE__*/_interopDefaultLegacy(addWeeks);
|
|
54
|
+
var addYears__default = /*#__PURE__*/_interopDefaultLegacy(addYears);
|
|
55
|
+
var endOfWeek__default = /*#__PURE__*/_interopDefaultLegacy(endOfWeek);
|
|
56
|
+
var differenceInCalendarDays__default = /*#__PURE__*/_interopDefaultLegacy(differenceInCalendarDays);
|
|
57
|
+
var isAfter__default = /*#__PURE__*/_interopDefaultLegacy(isAfter);
|
|
58
|
+
var isDate__default = /*#__PURE__*/_interopDefaultLegacy(isDate);
|
|
59
|
+
var getWeeksInMonth__default = /*#__PURE__*/_interopDefaultLegacy(getWeeksInMonth);
|
|
60
|
+
var getWeek__default = /*#__PURE__*/_interopDefaultLegacy(getWeek);
|
|
61
|
+
var parse__default = /*#__PURE__*/_interopDefaultLegacy(parse);
|
|
15
62
|
|
|
16
63
|
/*! *****************************************************************************
|
|
17
64
|
Copyright (c) Microsoft Corporation.
|
|
@@ -253,21 +300,21 @@ var defaultClassNames = {
|
|
|
253
300
|
* The default formatter for the caption.
|
|
254
301
|
*/
|
|
255
302
|
function formatCaption(month, options) {
|
|
256
|
-
return
|
|
303
|
+
return format__default["default"](month, 'LLLL y', options);
|
|
257
304
|
}
|
|
258
305
|
|
|
259
306
|
/**
|
|
260
307
|
* The default formatter for the Day button.
|
|
261
308
|
*/
|
|
262
309
|
function formatDay(day, options) {
|
|
263
|
-
return
|
|
310
|
+
return format__default["default"](day, 'd', options);
|
|
264
311
|
}
|
|
265
312
|
|
|
266
313
|
/**
|
|
267
314
|
* The default formatter for the Month caption.
|
|
268
315
|
*/
|
|
269
316
|
function formatMonthCaption(month, options) {
|
|
270
|
-
return
|
|
317
|
+
return format__default["default"](month, 'LLLL', options);
|
|
271
318
|
}
|
|
272
319
|
|
|
273
320
|
/**
|
|
@@ -281,14 +328,14 @@ function formatWeekNumber(weekNumber) {
|
|
|
281
328
|
* The default formatter for the name of the weekday.
|
|
282
329
|
*/
|
|
283
330
|
function formatWeekdayName(weekday, options) {
|
|
284
|
-
return
|
|
331
|
+
return format__default["default"](weekday, 'cccccc', options);
|
|
285
332
|
}
|
|
286
333
|
|
|
287
334
|
/**
|
|
288
335
|
* The default formatter for the Year caption.
|
|
289
336
|
*/
|
|
290
337
|
function formatYearCaption(year, options) {
|
|
291
|
-
return
|
|
338
|
+
return format__default["default"](year, 'yyyy', options);
|
|
292
339
|
}
|
|
293
340
|
|
|
294
341
|
var formatters = /*#__PURE__*/Object.freeze({
|
|
@@ -305,7 +352,7 @@ var formatters = /*#__PURE__*/Object.freeze({
|
|
|
305
352
|
* The default ARIA label for the day button.
|
|
306
353
|
*/
|
|
307
354
|
var labelDay = function (day, activeModifiers, options) {
|
|
308
|
-
return
|
|
355
|
+
return format__default["default"](day, 'do MMMM (EEEE)', options);
|
|
309
356
|
};
|
|
310
357
|
|
|
311
358
|
/**
|
|
@@ -333,7 +380,7 @@ var labelPrevious = function () {
|
|
|
333
380
|
* The default ARIA label for the Weekday element.
|
|
334
381
|
*/
|
|
335
382
|
var labelWeekday = function (day, options) {
|
|
336
|
-
return
|
|
383
|
+
return format__default["default"](day, 'cccc', options);
|
|
337
384
|
};
|
|
338
385
|
|
|
339
386
|
/**
|
|
@@ -394,20 +441,20 @@ function parseFromToProps(props) {
|
|
|
394
441
|
var fromYear = props.fromYear, toYear = props.toYear, fromMonth = props.fromMonth, toMonth = props.toMonth;
|
|
395
442
|
var fromDate = props.fromDate, toDate = props.toDate;
|
|
396
443
|
if (fromMonth) {
|
|
397
|
-
fromDate =
|
|
444
|
+
fromDate = startOfMonth__default["default"](fromMonth);
|
|
398
445
|
}
|
|
399
446
|
else if (fromYear) {
|
|
400
447
|
fromDate = new Date(fromYear, 0, 1);
|
|
401
448
|
}
|
|
402
449
|
if (toMonth) {
|
|
403
|
-
toDate =
|
|
450
|
+
toDate = endOfMonth__default["default"](toMonth);
|
|
404
451
|
}
|
|
405
452
|
else if (toYear) {
|
|
406
453
|
toDate = new Date(toYear, 11, 31);
|
|
407
454
|
}
|
|
408
455
|
return {
|
|
409
|
-
fromDate: fromDate ?
|
|
410
|
-
toDate: toDate ?
|
|
456
|
+
fromDate: fromDate ? startOfDay__default["default"](fromDate) : undefined,
|
|
457
|
+
toDate: toDate ? startOfDay__default["default"](toDate) : undefined
|
|
411
458
|
};
|
|
412
459
|
}
|
|
413
460
|
|
|
@@ -542,23 +589,23 @@ function MonthsDropdown(props) {
|
|
|
542
589
|
if (!toDate)
|
|
543
590
|
return React__default["default"].createElement(React__default["default"].Fragment, null);
|
|
544
591
|
var dropdownMonths = [];
|
|
545
|
-
if (
|
|
592
|
+
if (isSameYear__default["default"](fromDate, toDate)) {
|
|
546
593
|
// only display the months included in the range
|
|
547
|
-
var date =
|
|
594
|
+
var date = startOfMonth__default["default"](fromDate);
|
|
548
595
|
for (var month = fromDate.getMonth(); month <= toDate.getMonth(); month++) {
|
|
549
|
-
dropdownMonths.push(
|
|
596
|
+
dropdownMonths.push(setMonth__default["default"](date, month));
|
|
550
597
|
}
|
|
551
598
|
}
|
|
552
599
|
else {
|
|
553
600
|
// display all the 12 months
|
|
554
|
-
var date =
|
|
601
|
+
var date = startOfMonth__default["default"](new Date()); // Any date should be OK, as we just need the year
|
|
555
602
|
for (var month = 0; month <= 11; month++) {
|
|
556
|
-
dropdownMonths.push(
|
|
603
|
+
dropdownMonths.push(setMonth__default["default"](date, month));
|
|
557
604
|
}
|
|
558
605
|
}
|
|
559
606
|
var handleChange = function (e) {
|
|
560
607
|
var selectedMonth = Number(e.target.value);
|
|
561
|
-
var newMonth =
|
|
608
|
+
var newMonth = setMonth__default["default"](startOfMonth__default["default"](props.displayMonth), selectedMonth);
|
|
562
609
|
props.onChange(newMonth);
|
|
563
610
|
};
|
|
564
611
|
var DropdownComponent = (_a = components === null || components === void 0 ? void 0 : components.Dropdown) !== null && _a !== void 0 ? _a : Dropdown;
|
|
@@ -582,10 +629,10 @@ function YearsDropdown(props) {
|
|
|
582
629
|
var fromYear = fromDate.getFullYear();
|
|
583
630
|
var toYear = toDate.getFullYear();
|
|
584
631
|
for (var year = fromYear; year <= toYear; year++) {
|
|
585
|
-
years.push(
|
|
632
|
+
years.push(setYear__default["default"](startOfYear__default["default"](new Date()), year));
|
|
586
633
|
}
|
|
587
634
|
var handleChange = function (e) {
|
|
588
|
-
var newMonth =
|
|
635
|
+
var newMonth = setYear__default["default"](startOfMonth__default["default"](displayMonth), Number(e.target.value));
|
|
589
636
|
props.onChange(newMonth);
|
|
590
637
|
};
|
|
591
638
|
var DropdownComponent = (_a = components === null || components === void 0 ? void 0 : components.Dropdown) !== null && _a !== void 0 ? _a : Dropdown;
|
|
@@ -613,15 +660,15 @@ function getInitialMonth(context) {
|
|
|
613
660
|
var initialMonth = month || defaultMonth || today || new Date();
|
|
614
661
|
var toDate = context.toDate, fromDate = context.fromDate, _a = context.numberOfMonths, numberOfMonths = _a === void 0 ? 1 : _a;
|
|
615
662
|
// Fix the initialMonth if is after the to-date
|
|
616
|
-
if (toDate &&
|
|
663
|
+
if (toDate && differenceInCalendarMonths__default["default"](toDate, initialMonth) < 0) {
|
|
617
664
|
var offset = -1 * (numberOfMonths - 1);
|
|
618
|
-
initialMonth =
|
|
665
|
+
initialMonth = addMonths__default["default"](toDate, offset);
|
|
619
666
|
}
|
|
620
667
|
// Fix the initialMonth if is before the from-date
|
|
621
|
-
if (fromDate &&
|
|
668
|
+
if (fromDate && differenceInCalendarMonths__default["default"](initialMonth, fromDate) < 0) {
|
|
622
669
|
initialMonth = fromDate;
|
|
623
670
|
}
|
|
624
|
-
return
|
|
671
|
+
return startOfMonth__default["default"](initialMonth);
|
|
625
672
|
}
|
|
626
673
|
|
|
627
674
|
/** Controls the navigation state. */
|
|
@@ -632,7 +679,7 @@ function useNavigationState() {
|
|
|
632
679
|
var goToMonth = function (date) {
|
|
633
680
|
if (context.disableNavigation)
|
|
634
681
|
return;
|
|
635
|
-
setMonth(
|
|
682
|
+
setMonth(startOfMonth__default["default"](date));
|
|
636
683
|
};
|
|
637
684
|
return [month, goToMonth];
|
|
638
685
|
}
|
|
@@ -643,12 +690,12 @@ function useNavigationState() {
|
|
|
643
690
|
*/
|
|
644
691
|
function getDisplayMonths(month, _a) {
|
|
645
692
|
var reverseMonths = _a.reverseMonths, numberOfMonths = _a.numberOfMonths;
|
|
646
|
-
var start =
|
|
647
|
-
var end =
|
|
648
|
-
var monthsDiff =
|
|
693
|
+
var start = startOfMonth__default["default"](month);
|
|
694
|
+
var end = startOfMonth__default["default"](addMonths__default["default"](start, numberOfMonths));
|
|
695
|
+
var monthsDiff = differenceInCalendarMonths__default["default"](end, start);
|
|
649
696
|
var months = [];
|
|
650
697
|
for (var i = 0; i < monthsDiff; i++) {
|
|
651
|
-
var nextMonth =
|
|
698
|
+
var nextMonth = addMonths__default["default"](start, i);
|
|
652
699
|
months.push(nextMonth);
|
|
653
700
|
}
|
|
654
701
|
if (reverseMonths)
|
|
@@ -672,16 +719,16 @@ function getNextMonth(startingMonth, options) {
|
|
|
672
719
|
}
|
|
673
720
|
var toDate = options.toDate, pagedNavigation = options.pagedNavigation, _a = options.numberOfMonths, numberOfMonths = _a === void 0 ? 1 : _a;
|
|
674
721
|
var offset = pagedNavigation ? numberOfMonths : 1;
|
|
675
|
-
var month =
|
|
722
|
+
var month = startOfMonth__default["default"](startingMonth);
|
|
676
723
|
if (!toDate) {
|
|
677
|
-
return
|
|
724
|
+
return addMonths__default["default"](month, offset);
|
|
678
725
|
}
|
|
679
|
-
var monthsDiff =
|
|
726
|
+
var monthsDiff = differenceInCalendarMonths__default["default"](toDate, startingMonth);
|
|
680
727
|
if (monthsDiff < numberOfMonths) {
|
|
681
728
|
return undefined;
|
|
682
729
|
}
|
|
683
730
|
// Jump forward as the number of months when paged navigation
|
|
684
|
-
return
|
|
731
|
+
return addMonths__default["default"](month, offset);
|
|
685
732
|
}
|
|
686
733
|
|
|
687
734
|
/**
|
|
@@ -701,16 +748,16 @@ function getPreviousMonth(startingMonth, options) {
|
|
|
701
748
|
}
|
|
702
749
|
var fromDate = options.fromDate, pagedNavigation = options.pagedNavigation, _a = options.numberOfMonths, numberOfMonths = _a === void 0 ? 1 : _a;
|
|
703
750
|
var offset = pagedNavigation ? numberOfMonths : 1;
|
|
704
|
-
var month =
|
|
751
|
+
var month = startOfMonth__default["default"](startingMonth);
|
|
705
752
|
if (!fromDate) {
|
|
706
|
-
return
|
|
753
|
+
return addMonths__default["default"](month, -offset);
|
|
707
754
|
}
|
|
708
|
-
var monthsDiff =
|
|
755
|
+
var monthsDiff = differenceInCalendarMonths__default["default"](month, fromDate);
|
|
709
756
|
if (monthsDiff <= 0) {
|
|
710
757
|
return undefined;
|
|
711
758
|
}
|
|
712
759
|
// Jump back as the number of months when paged navigation
|
|
713
|
-
return
|
|
760
|
+
return addMonths__default["default"](month, -offset);
|
|
714
761
|
}
|
|
715
762
|
|
|
716
763
|
/**
|
|
@@ -728,15 +775,15 @@ function NavigationProvider(props) {
|
|
|
728
775
|
var previousMonth = getPreviousMonth(currentMonth, dayPicker);
|
|
729
776
|
var isDateDisplayed = function (date) {
|
|
730
777
|
return displayMonths.some(function (displayMonth) {
|
|
731
|
-
return
|
|
778
|
+
return isSameMonth__default["default"](date, displayMonth);
|
|
732
779
|
});
|
|
733
780
|
};
|
|
734
781
|
var goToDate = function (date, refDate) {
|
|
735
782
|
if (isDateDisplayed(date)) {
|
|
736
783
|
return;
|
|
737
784
|
}
|
|
738
|
-
if (refDate &&
|
|
739
|
-
goToMonth(
|
|
785
|
+
if (refDate && isBefore__default["default"](date, refDate)) {
|
|
786
|
+
goToMonth(addMonths__default["default"](date, 1 + dayPicker.numberOfMonths * -1));
|
|
740
787
|
}
|
|
741
788
|
else {
|
|
742
789
|
goToMonth(date);
|
|
@@ -914,10 +961,10 @@ function Footer() {
|
|
|
914
961
|
function getWeekdays(locale,
|
|
915
962
|
/** The index of the first day of the week (0 - Sunday) */
|
|
916
963
|
weekStartsOn) {
|
|
917
|
-
var start =
|
|
964
|
+
var start = startOfWeek__default["default"](new Date(), { locale: locale, weekStartsOn: weekStartsOn });
|
|
918
965
|
var days = [];
|
|
919
966
|
for (var i = 0; i < 7; i++) {
|
|
920
|
-
var day =
|
|
967
|
+
var day = addDays__default["default"](start, i);
|
|
921
968
|
days.push(day);
|
|
922
969
|
}
|
|
923
970
|
return days;
|
|
@@ -989,7 +1036,7 @@ function SelectMultipleProviderInternal(_a) {
|
|
|
989
1036
|
var selectedDays = selected ? __spreadArray([], selected, true) : [];
|
|
990
1037
|
if (activeModifiers.selected) {
|
|
991
1038
|
var index = selectedDays.findIndex(function (selectedDay) {
|
|
992
|
-
return
|
|
1039
|
+
return isSameDay__default["default"](day, selectedDay);
|
|
993
1040
|
});
|
|
994
1041
|
selectedDays.splice(index, 1);
|
|
995
1042
|
}
|
|
@@ -1005,7 +1052,7 @@ function SelectMultipleProviderInternal(_a) {
|
|
|
1005
1052
|
modifiers.disabled.push(function (day) {
|
|
1006
1053
|
var isMaxSelected = max && selected.length > max - 1;
|
|
1007
1054
|
var isSelected = selected.some(function (selectedDay) {
|
|
1008
|
-
return
|
|
1055
|
+
return isSameDay__default["default"](selectedDay, day);
|
|
1009
1056
|
});
|
|
1010
1057
|
return Boolean(isMaxSelected && !isSelected);
|
|
1011
1058
|
});
|
|
@@ -1043,25 +1090,25 @@ function addToRange(day, range) {
|
|
|
1043
1090
|
if (!from) {
|
|
1044
1091
|
return { from: day, to: undefined };
|
|
1045
1092
|
}
|
|
1046
|
-
if (!to &&
|
|
1093
|
+
if (!to && isSameDay__default["default"](from, day)) {
|
|
1047
1094
|
return { from: from, to: day };
|
|
1048
1095
|
}
|
|
1049
|
-
if (!to &&
|
|
1096
|
+
if (!to && isBefore__default["default"](day, from)) {
|
|
1050
1097
|
return { from: day, to: from };
|
|
1051
1098
|
}
|
|
1052
1099
|
if (!to) {
|
|
1053
1100
|
return { from: from, to: day };
|
|
1054
1101
|
}
|
|
1055
|
-
if (
|
|
1102
|
+
if (isSameDay__default["default"](to, day) && isSameDay__default["default"](from, day)) {
|
|
1056
1103
|
return undefined;
|
|
1057
1104
|
}
|
|
1058
|
-
if (
|
|
1105
|
+
if (isSameDay__default["default"](to, day)) {
|
|
1059
1106
|
return { from: to, to: undefined };
|
|
1060
1107
|
}
|
|
1061
|
-
if (
|
|
1108
|
+
if (isSameDay__default["default"](from, day)) {
|
|
1062
1109
|
return undefined;
|
|
1063
1110
|
}
|
|
1064
|
-
if (
|
|
1111
|
+
if (isAfter__default["default"](from, day)) {
|
|
1065
1112
|
return { from: day, to: to };
|
|
1066
1113
|
}
|
|
1067
1114
|
return { from: from, to: day };
|
|
@@ -1105,7 +1152,7 @@ function SelectRangeProviderInternal(_a) {
|
|
|
1105
1152
|
(range === null || range === void 0 ? void 0 : range.to) &&
|
|
1106
1153
|
range.from &&
|
|
1107
1154
|
range.from !== range.to) {
|
|
1108
|
-
var diff = Math.abs(
|
|
1155
|
+
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));
|
|
1109
1156
|
if ((min && diff < min) || (max && diff >= max)) {
|
|
1110
1157
|
return;
|
|
1111
1158
|
}
|
|
@@ -1135,18 +1182,18 @@ function SelectRangeProviderInternal(_a) {
|
|
|
1135
1182
|
}
|
|
1136
1183
|
if (min && selectedFrom && selectedTo) {
|
|
1137
1184
|
modifiers.disabled.push(function (date) {
|
|
1138
|
-
return ((
|
|
1139
|
-
|
|
1140
|
-
(
|
|
1141
|
-
|
|
1185
|
+
return ((isBefore__default["default"](date, selectedFrom) &&
|
|
1186
|
+
differenceInCalendarDays__default["default"](selectedFrom, date) < min) ||
|
|
1187
|
+
(isAfter__default["default"](date, selectedTo) &&
|
|
1188
|
+
differenceInCalendarDays__default["default"](date, selectedFrom) < min));
|
|
1142
1189
|
});
|
|
1143
1190
|
}
|
|
1144
1191
|
if (max && selectedFrom && selectedTo) {
|
|
1145
1192
|
modifiers.disabled.push(function (date) {
|
|
1146
|
-
return ((
|
|
1147
|
-
|
|
1148
|
-
(
|
|
1149
|
-
|
|
1193
|
+
return ((isBefore__default["default"](date, selectedFrom) &&
|
|
1194
|
+
differenceInCalendarDays__default["default"](selectedTo, date) >= max) ||
|
|
1195
|
+
(isAfter__default["default"](date, selectedTo) &&
|
|
1196
|
+
differenceInCalendarDays__default["default"](date, selectedFrom) >= max));
|
|
1150
1197
|
});
|
|
1151
1198
|
}
|
|
1152
1199
|
return (React__default["default"].createElement(SelectRangeContext.Provider, { value: { selected: selected, onDayClick: onDayClick, modifiers: modifiers } }, children));
|
|
@@ -1292,27 +1339,27 @@ function isDateInRange(date, range) {
|
|
|
1292
1339
|
if (!from) {
|
|
1293
1340
|
return false;
|
|
1294
1341
|
}
|
|
1295
|
-
if (!to &&
|
|
1342
|
+
if (!to && isSameDay__default["default"](from, date)) {
|
|
1296
1343
|
return true;
|
|
1297
1344
|
}
|
|
1298
1345
|
if (!to) {
|
|
1299
1346
|
return false;
|
|
1300
1347
|
}
|
|
1301
|
-
var isToBeforeFrom =
|
|
1348
|
+
var isToBeforeFrom = differenceInCalendarDays__default["default"](to, from) < 0;
|
|
1302
1349
|
if (to && isToBeforeFrom) {
|
|
1303
1350
|
_a = [to, from], from = _a[0], to = _a[1];
|
|
1304
1351
|
}
|
|
1305
|
-
return (
|
|
1306
|
-
|
|
1352
|
+
return (differenceInCalendarDays__default["default"](date, from) >= 0 &&
|
|
1353
|
+
differenceInCalendarDays__default["default"](to, date) >= 0);
|
|
1307
1354
|
}
|
|
1308
1355
|
|
|
1309
1356
|
/** Returns true if `value` is a Date type. */
|
|
1310
1357
|
function isDateType(value) {
|
|
1311
|
-
return
|
|
1358
|
+
return isDate__default["default"](value);
|
|
1312
1359
|
}
|
|
1313
1360
|
/** Returns true if `value` is an array of valid dates. */
|
|
1314
1361
|
function isArrayOfDates(value) {
|
|
1315
|
-
return Array.isArray(value) && value.every(
|
|
1362
|
+
return Array.isArray(value) && value.every(isDate__default["default"]);
|
|
1316
1363
|
}
|
|
1317
1364
|
/**
|
|
1318
1365
|
* Returns whether a day matches against at least one of the given Matchers.
|
|
@@ -1337,7 +1384,7 @@ function isMatch(day, matchers) {
|
|
|
1337
1384
|
return matcher;
|
|
1338
1385
|
}
|
|
1339
1386
|
if (isDateType(matcher)) {
|
|
1340
|
-
return
|
|
1387
|
+
return isSameDay__default["default"](day, matcher);
|
|
1341
1388
|
}
|
|
1342
1389
|
if (isArrayOfDates(matcher)) {
|
|
1343
1390
|
return matcher.includes(day);
|
|
@@ -1349,15 +1396,15 @@ function isMatch(day, matchers) {
|
|
|
1349
1396
|
return matcher.dayOfWeek.includes(day.getDay());
|
|
1350
1397
|
}
|
|
1351
1398
|
if (isDateInterval(matcher)) {
|
|
1352
|
-
var isBefore =
|
|
1353
|
-
var isAfter =
|
|
1399
|
+
var isBefore = differenceInCalendarDays__default["default"](matcher.before, day) > 0;
|
|
1400
|
+
var isAfter = differenceInCalendarDays__default["default"](day, matcher.after) > 0;
|
|
1354
1401
|
return isBefore && isAfter;
|
|
1355
1402
|
}
|
|
1356
1403
|
if (isDateAfterType(matcher)) {
|
|
1357
|
-
return
|
|
1404
|
+
return differenceInCalendarDays__default["default"](day, matcher.after) > 0;
|
|
1358
1405
|
}
|
|
1359
1406
|
if (isDateBeforeType(matcher)) {
|
|
1360
|
-
return
|
|
1407
|
+
return differenceInCalendarDays__default["default"](matcher.before, day) > 0;
|
|
1361
1408
|
}
|
|
1362
1409
|
if (typeof matcher === 'function') {
|
|
1363
1410
|
return matcher(day);
|
|
@@ -1381,7 +1428,7 @@ displayMonth) {
|
|
|
1381
1428
|
}, []);
|
|
1382
1429
|
var activeModifiers = {};
|
|
1383
1430
|
matchedModifiers.forEach(function (modifier) { return (activeModifiers[modifier] = true); });
|
|
1384
|
-
if (displayMonth && !
|
|
1431
|
+
if (displayMonth && !isSameMonth__default["default"](day, displayMonth)) {
|
|
1385
1432
|
activeModifiers.outside = true;
|
|
1386
1433
|
}
|
|
1387
1434
|
return activeModifiers;
|
|
@@ -1389,8 +1436,8 @@ displayMonth) {
|
|
|
1389
1436
|
|
|
1390
1437
|
/** Returns the day that should be the target of the focus when DayPicker is rendered the first time. */
|
|
1391
1438
|
function getInitialFocusTarget(displayMonths, modifiers) {
|
|
1392
|
-
var firstDayInMonth =
|
|
1393
|
-
var lastDayInMonth =
|
|
1439
|
+
var firstDayInMonth = startOfMonth__default["default"](displayMonths[0]);
|
|
1440
|
+
var lastDayInMonth = endOfMonth__default["default"](displayMonths[displayMonths.length - 1]);
|
|
1394
1441
|
// TODO: cleanup code
|
|
1395
1442
|
var firstFocusableDay;
|
|
1396
1443
|
var today;
|
|
@@ -1399,7 +1446,7 @@ function getInitialFocusTarget(displayMonths, modifiers) {
|
|
|
1399
1446
|
var activeModifiers = getActiveModifiers(date, modifiers);
|
|
1400
1447
|
var isFocusable = !activeModifiers.disabled && !activeModifiers.hidden;
|
|
1401
1448
|
if (!isFocusable) {
|
|
1402
|
-
date =
|
|
1449
|
+
date = addDays__default["default"](date, 1);
|
|
1403
1450
|
continue;
|
|
1404
1451
|
}
|
|
1405
1452
|
if (activeModifiers.selected) {
|
|
@@ -1411,7 +1458,7 @@ function getInitialFocusTarget(displayMonths, modifiers) {
|
|
|
1411
1458
|
if (!firstFocusableDay) {
|
|
1412
1459
|
firstFocusableDay = date;
|
|
1413
1460
|
}
|
|
1414
|
-
date =
|
|
1461
|
+
date = addDays__default["default"](date, 1);
|
|
1415
1462
|
}
|
|
1416
1463
|
if (today) {
|
|
1417
1464
|
return today;
|
|
@@ -1448,70 +1495,70 @@ function FocusProvider(props) {
|
|
|
1448
1495
|
var focusDayBefore = function () {
|
|
1449
1496
|
if (!focusedDay)
|
|
1450
1497
|
return;
|
|
1451
|
-
var before =
|
|
1498
|
+
var before = addDays__default["default"](focusedDay, -1);
|
|
1452
1499
|
focus(before);
|
|
1453
1500
|
navigation.goToDate(before, focusedDay);
|
|
1454
1501
|
};
|
|
1455
1502
|
var focusDayAfter = function () {
|
|
1456
1503
|
if (!focusedDay)
|
|
1457
1504
|
return;
|
|
1458
|
-
var after =
|
|
1505
|
+
var after = addDays__default["default"](focusedDay, 1);
|
|
1459
1506
|
focus(after);
|
|
1460
1507
|
navigation.goToDate(after, focusedDay);
|
|
1461
1508
|
};
|
|
1462
1509
|
var focusWeekBefore = function () {
|
|
1463
1510
|
if (!focusedDay)
|
|
1464
1511
|
return;
|
|
1465
|
-
var up =
|
|
1512
|
+
var up = addWeeks__default["default"](focusedDay, -1);
|
|
1466
1513
|
focus(up);
|
|
1467
1514
|
navigation.goToDate(up, focusedDay);
|
|
1468
1515
|
};
|
|
1469
1516
|
var focusWeekAfter = function () {
|
|
1470
1517
|
if (!focusedDay)
|
|
1471
1518
|
return;
|
|
1472
|
-
var down =
|
|
1519
|
+
var down = addWeeks__default["default"](focusedDay, 1);
|
|
1473
1520
|
focus(down);
|
|
1474
1521
|
navigation.goToDate(down, focusedDay);
|
|
1475
1522
|
};
|
|
1476
1523
|
var focusStartOfWeek = function () {
|
|
1477
1524
|
if (!focusedDay)
|
|
1478
1525
|
return;
|
|
1479
|
-
var dayToFocus =
|
|
1526
|
+
var dayToFocus = startOfWeek__default["default"](focusedDay);
|
|
1480
1527
|
navigation.goToDate(dayToFocus, focusedDay);
|
|
1481
1528
|
focus(dayToFocus);
|
|
1482
1529
|
};
|
|
1483
1530
|
var focusEndOfWeek = function () {
|
|
1484
1531
|
if (!focusedDay)
|
|
1485
1532
|
return;
|
|
1486
|
-
var dayToFocus =
|
|
1533
|
+
var dayToFocus = endOfWeek__default["default"](focusedDay);
|
|
1487
1534
|
navigation.goToDate(dayToFocus, focusedDay);
|
|
1488
1535
|
focus(dayToFocus);
|
|
1489
1536
|
};
|
|
1490
1537
|
var focusMonthBefore = function () {
|
|
1491
1538
|
if (!focusedDay)
|
|
1492
1539
|
return;
|
|
1493
|
-
var monthBefore =
|
|
1540
|
+
var monthBefore = addMonths__default["default"](focusedDay, -1);
|
|
1494
1541
|
navigation.goToDate(monthBefore, focusedDay);
|
|
1495
1542
|
focus(monthBefore);
|
|
1496
1543
|
};
|
|
1497
1544
|
var focusMonthAfter = function () {
|
|
1498
1545
|
if (!focusedDay)
|
|
1499
1546
|
return;
|
|
1500
|
-
var monthAfter =
|
|
1547
|
+
var monthAfter = addMonths__default["default"](focusedDay, 1);
|
|
1501
1548
|
navigation.goToDate(monthAfter, focusedDay);
|
|
1502
1549
|
focus(monthAfter);
|
|
1503
1550
|
};
|
|
1504
1551
|
var focusYearBefore = function () {
|
|
1505
1552
|
if (!focusedDay)
|
|
1506
1553
|
return;
|
|
1507
|
-
var yearBefore =
|
|
1554
|
+
var yearBefore = addYears__default["default"](focusedDay, -1);
|
|
1508
1555
|
navigation.goToDate(yearBefore, focusedDay);
|
|
1509
1556
|
focus(yearBefore);
|
|
1510
1557
|
};
|
|
1511
1558
|
var focusYearAfter = function () {
|
|
1512
1559
|
if (!focusedDay)
|
|
1513
1560
|
return;
|
|
1514
|
-
var yearAfter =
|
|
1561
|
+
var yearAfter = addYears__default["default"](focusedDay, 1);
|
|
1515
1562
|
navigation.goToDate(yearAfter, focusedDay);
|
|
1516
1563
|
focus(yearAfter);
|
|
1517
1564
|
};
|
|
@@ -1836,7 +1883,7 @@ function useDayRender(day, displayMonth, buttonRef) {
|
|
|
1836
1883
|
return;
|
|
1837
1884
|
if (!isButton)
|
|
1838
1885
|
return;
|
|
1839
|
-
if (
|
|
1886
|
+
if (isSameDay__default["default"](focusContext.focusedDay, day)) {
|
|
1840
1887
|
(_a = buttonRef.current) === null || _a === void 0 ? void 0 : _a.focus();
|
|
1841
1888
|
}
|
|
1842
1889
|
}, [focusContext.focusedDay, day, buttonRef, isButton]);
|
|
@@ -1851,7 +1898,7 @@ function useDayRender(day, displayMonth, buttonRef) {
|
|
|
1851
1898
|
className: className,
|
|
1852
1899
|
children: children
|
|
1853
1900
|
};
|
|
1854
|
-
var isFocusTarget = Boolean(focusContext.focusTarget &&
|
|
1901
|
+
var isFocusTarget = Boolean(focusContext.focusTarget && isSameDay__default["default"](focusContext.focusTarget, day));
|
|
1855
1902
|
var buttonProps = __assign(__assign(__assign({}, divProps), (_a = { disabled: activeModifiers.disabled }, _a['aria-pressed'] = activeModifiers.selected, _a.tabIndex = isFocusTarget ? 0 : -1, _a)), eventHandlers);
|
|
1856
1903
|
var dayRender = {
|
|
1857
1904
|
isButton: isButton,
|
|
@@ -1911,21 +1958,21 @@ function Row(props) {
|
|
|
1911
1958
|
}
|
|
1912
1959
|
return (React__default["default"].createElement("tr", { className: classNames.row, style: styles.row },
|
|
1913
1960
|
weekNumberCell,
|
|
1914
|
-
props.dates.map(function (date) { return (React__default["default"].createElement("td", { className: classNames.cell, style: styles.cell, key:
|
|
1961
|
+
props.dates.map(function (date) { return (React__default["default"].createElement("td", { className: classNames.cell, style: styles.cell, key: getUnixTime__default["default"](date) },
|
|
1915
1962
|
React__default["default"].createElement(DayComponent, { displayMonth: props.displayMonth, date: date }))); })));
|
|
1916
1963
|
}
|
|
1917
1964
|
|
|
1918
1965
|
/** Return the weeks between two dates. */
|
|
1919
1966
|
function daysToMonthWeeks(fromDate, toDate, options) {
|
|
1920
|
-
var toWeek =
|
|
1921
|
-
var fromWeek =
|
|
1922
|
-
var nOfDays =
|
|
1967
|
+
var toWeek = endOfWeek__default["default"](toDate, options);
|
|
1968
|
+
var fromWeek = startOfWeek__default["default"](fromDate, options);
|
|
1969
|
+
var nOfDays = differenceInCalendarDays__default["default"](toWeek, fromWeek);
|
|
1923
1970
|
var days = [];
|
|
1924
1971
|
for (var i = 0; i <= nOfDays; i++) {
|
|
1925
|
-
days.push(
|
|
1972
|
+
days.push(addDays__default["default"](fromWeek, i));
|
|
1926
1973
|
}
|
|
1927
1974
|
var weeksInMonth = days.reduce(function (result, date) {
|
|
1928
|
-
var weekNumber =
|
|
1975
|
+
var weekNumber = getWeek__default["default"](date, options);
|
|
1929
1976
|
var existingWeek = result.find(function (value) { return value.weekNumber === weekNumber; });
|
|
1930
1977
|
if (existingWeek) {
|
|
1931
1978
|
existingWeek.dates.push(date);
|
|
@@ -1947,15 +1994,15 @@ function daysToMonthWeeks(fromDate, toDate, options) {
|
|
|
1947
1994
|
function getMonthWeeks(
|
|
1948
1995
|
/** The month to get the weeks from */
|
|
1949
1996
|
month, options) {
|
|
1950
|
-
var weeksInMonth = daysToMonthWeeks(
|
|
1997
|
+
var weeksInMonth = daysToMonthWeeks(startOfMonth__default["default"](month), endOfMonth__default["default"](month), options);
|
|
1951
1998
|
// Add extra weeks to the month, up to 6 weeks
|
|
1952
1999
|
if (options === null || options === void 0 ? void 0 : options.useFixedWeeks) {
|
|
1953
|
-
var nrOfMonthWeeks =
|
|
2000
|
+
var nrOfMonthWeeks = getWeeksInMonth__default["default"](month, options);
|
|
1954
2001
|
if (nrOfMonthWeeks < 6) {
|
|
1955
2002
|
var lastWeek = weeksInMonth[weeksInMonth.length - 1];
|
|
1956
2003
|
var lastDate = lastWeek.dates[lastWeek.dates.length - 1];
|
|
1957
|
-
var toDate =
|
|
1958
|
-
var extraWeeks = daysToMonthWeeks(
|
|
2004
|
+
var toDate = addWeeks__default["default"](lastDate, 6 - nrOfMonthWeeks);
|
|
2005
|
+
var extraWeeks = daysToMonthWeeks(addWeeks__default["default"](lastDate, 1), toDate, options);
|
|
1959
2006
|
weeksInMonth.push.apply(weeksInMonth, extraWeeks);
|
|
1960
2007
|
}
|
|
1961
2008
|
}
|
|
@@ -2079,12 +2126,12 @@ function useInput(options) {
|
|
|
2079
2126
|
var _a = options.locale, locale = _a === void 0 ? enUS__default["default"] : _a, required = options.required, _b = options.format, format = _b === void 0 ? 'PP' : _b, defaultSelected = options.defaultSelected, _c = options.today, today = _c === void 0 ? new Date() : _c;
|
|
2080
2127
|
var _d = parseFromToProps(options), fromDate = _d.fromDate, toDate = _d.toDate;
|
|
2081
2128
|
// Shortcut to the DateFns functions
|
|
2082
|
-
var parseValue = function (value) { return
|
|
2129
|
+
var parseValue = function (value) { return parse__default["default"](value, format, today, { locale: locale }); };
|
|
2083
2130
|
// Initialize states
|
|
2084
2131
|
var _e = React.useState(defaultSelected !== null && defaultSelected !== void 0 ? defaultSelected : today), month = _e[0], setMonth = _e[1];
|
|
2085
2132
|
var _f = React.useState(defaultSelected), selectedDay = _f[0], setSelectedDay = _f[1];
|
|
2086
2133
|
var defaultInputValue = defaultSelected
|
|
2087
|
-
?
|
|
2134
|
+
? format__default["default"](defaultSelected, format, { locale: locale })
|
|
2088
2135
|
: '';
|
|
2089
2136
|
var _g = React.useState(defaultInputValue), inputValue = _g[0], setInputValue = _g[1];
|
|
2090
2137
|
var reset = function () {
|
|
@@ -2095,7 +2142,7 @@ function useInput(options) {
|
|
|
2095
2142
|
var setSelected = function (date) {
|
|
2096
2143
|
setSelectedDay(date);
|
|
2097
2144
|
setMonth(date !== null && date !== void 0 ? date : today);
|
|
2098
|
-
setInputValue(date ?
|
|
2145
|
+
setInputValue(date ? format__default["default"](date, format, { locale: locale }) : '');
|
|
2099
2146
|
};
|
|
2100
2147
|
var handleDayClick = function (day, _a) {
|
|
2101
2148
|
var selected = _a.selected;
|
|
@@ -2105,7 +2152,7 @@ function useInput(options) {
|
|
|
2105
2152
|
return;
|
|
2106
2153
|
}
|
|
2107
2154
|
setSelectedDay(day);
|
|
2108
|
-
setInputValue(day ?
|
|
2155
|
+
setInputValue(day ? format__default["default"](day, format, { locale: locale }) : '');
|
|
2109
2156
|
};
|
|
2110
2157
|
var handleMonthChange = function (month) {
|
|
2111
2158
|
setMonth(month);
|
|
@@ -2116,8 +2163,8 @@ function useInput(options) {
|
|
|
2116
2163
|
var handleChange = function (e) {
|
|
2117
2164
|
setInputValue(e.target.value);
|
|
2118
2165
|
var day = parseValue(e.target.value);
|
|
2119
|
-
var isBefore = fromDate &&
|
|
2120
|
-
var isAfter = toDate &&
|
|
2166
|
+
var isBefore = fromDate && differenceInCalendarDays__default["default"](fromDate, day) > 0;
|
|
2167
|
+
var isAfter = toDate && differenceInCalendarDays__default["default"](day, toDate) > 0;
|
|
2121
2168
|
if (!isValidDate(day) || isBefore || isAfter) {
|
|
2122
2169
|
setSelectedDay(undefined);
|
|
2123
2170
|
return;
|
|
@@ -2160,7 +2207,7 @@ function useInput(options) {
|
|
|
2160
2207
|
onChange: handleChange,
|
|
2161
2208
|
onFocus: handleFocus,
|
|
2162
2209
|
value: inputValue,
|
|
2163
|
-
placeholder:
|
|
2210
|
+
placeholder: format__default["default"](new Date(), format, { locale: locale })
|
|
2164
2211
|
};
|
|
2165
2212
|
return { dayPickerProps: dayPickerProps, inputProps: inputProps, reset: reset, setSelected: setSelected };
|
|
2166
2213
|
}
|