react-day-picker 9.1.4 → 9.2.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/cjs/DayPicker.js +33 -28
- package/dist/cjs/DayPicker.js.map +1 -1
- package/dist/cjs/classes/CalendarDay.d.ts +2 -4
- package/dist/cjs/classes/CalendarDay.js +2 -4
- package/dist/cjs/classes/CalendarDay.js.map +1 -1
- package/dist/cjs/classes/DateLib.d.ts +268 -0
- package/dist/cjs/classes/DateLib.js +360 -0
- package/dist/cjs/classes/DateLib.js.map +1 -0
- package/dist/cjs/classes/index.d.ts +1 -0
- package/dist/cjs/classes/index.js +1 -0
- package/dist/cjs/classes/index.js.map +1 -1
- package/dist/cjs/formatters/formatCaption.d.ts +2 -4
- package/dist/cjs/formatters/formatCaption.js +3 -5
- package/dist/cjs/formatters/formatCaption.js.map +1 -1
- package/dist/cjs/formatters/formatDay.d.ts +2 -4
- package/dist/cjs/formatters/formatDay.js +3 -5
- package/dist/cjs/formatters/formatDay.js.map +1 -1
- package/dist/cjs/formatters/formatMonthDropdown.d.ts +1 -1
- package/dist/cjs/formatters/formatMonthDropdown.js +2 -2
- package/dist/cjs/formatters/formatMonthDropdown.js.map +1 -1
- package/dist/cjs/formatters/formatWeekdayName.d.ts +2 -4
- package/dist/cjs/formatters/formatWeekdayName.js +3 -5
- package/dist/cjs/formatters/formatWeekdayName.js.map +1 -1
- package/dist/cjs/helpers/getDates.d.ts +3 -2
- package/dist/cjs/helpers/getDates.js +3 -9
- package/dist/cjs/helpers/getDates.js.map +1 -1
- package/dist/cjs/helpers/getDisplayMonths.d.ts +1 -1
- package/dist/cjs/helpers/getFocusableDate.d.ts +2 -2
- package/dist/cjs/helpers/getFocusableDate.js +3 -5
- package/dist/cjs/helpers/getFocusableDate.js.map +1 -1
- package/dist/cjs/helpers/getInitialMonth.d.ts +2 -1
- package/dist/cjs/helpers/getInitialMonth.js.map +1 -1
- package/dist/cjs/helpers/getMonthOptions.d.ts +2 -2
- package/dist/cjs/helpers/getMonthOptions.js +2 -2
- package/dist/cjs/helpers/getMonthOptions.js.map +1 -1
- package/dist/cjs/helpers/getMonths.d.ts +2 -2
- package/dist/cjs/helpers/getMonths.js +3 -15
- package/dist/cjs/helpers/getMonths.js.map +1 -1
- package/dist/cjs/helpers/getNavMonth.d.ts +2 -2
- package/dist/cjs/helpers/getNavMonth.js.map +1 -1
- package/dist/cjs/helpers/getNextFocus.d.ts +2 -2
- package/dist/cjs/helpers/getNextFocus.js.map +1 -1
- package/dist/cjs/helpers/getNextMonth.d.ts +1 -1
- package/dist/cjs/helpers/getPreviousMonth.d.ts +1 -1
- package/dist/cjs/helpers/getWeekdays.d.ts +5 -7
- package/dist/cjs/helpers/getWeekdays.js +5 -8
- package/dist/cjs/helpers/getWeekdays.js.map +1 -1
- package/dist/cjs/helpers/getYearOptions.d.ts +1 -1
- package/dist/cjs/index.d.ts +1 -2
- package/dist/cjs/index.js +3 -4
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/labels/labelDayButton.d.ts +2 -4
- package/dist/cjs/labels/labelDayButton.js +3 -5
- package/dist/cjs/labels/labelDayButton.js.map +1 -1
- package/dist/cjs/labels/labelGrid.d.ts +2 -4
- package/dist/cjs/labels/labelGrid.js +3 -5
- package/dist/cjs/labels/labelGrid.js.map +1 -1
- package/dist/cjs/labels/labelGridcell.d.ts +2 -5
- package/dist/cjs/labels/labelGridcell.js +3 -5
- package/dist/cjs/labels/labelGridcell.js.map +1 -1
- package/dist/cjs/labels/labelMonthDropdown.d.ts +2 -2
- package/dist/cjs/labels/labelMonthDropdown.js.map +1 -1
- package/dist/cjs/labels/labelWeekNumber.d.ts +2 -2
- package/dist/cjs/labels/labelWeekNumber.js.map +1 -1
- package/dist/cjs/labels/labelWeekNumberHeader.d.ts +2 -2
- package/dist/cjs/labels/labelWeekNumberHeader.js.map +1 -1
- package/dist/cjs/labels/labelWeekday.d.ts +2 -4
- package/dist/cjs/labels/labelWeekday.js +3 -5
- package/dist/cjs/labels/labelWeekday.js.map +1 -1
- package/dist/cjs/labels/labelYearDropdown.d.ts +2 -2
- package/dist/cjs/labels/labelYearDropdown.js.map +1 -1
- package/dist/cjs/selection/useMulti.d.ts +1 -1
- package/dist/cjs/selection/useMulti.js.map +1 -1
- package/dist/cjs/selection/useRange.d.ts +1 -1
- package/dist/cjs/selection/useRange.js +2 -1
- package/dist/cjs/selection/useRange.js.map +1 -1
- package/dist/cjs/selection/useSingle.d.ts +1 -1
- package/dist/cjs/selection/useSingle.js.map +1 -1
- package/dist/cjs/types/props.d.ts +4 -4
- package/dist/cjs/useCalendar.d.ts +2 -3
- package/dist/cjs/useCalendar.js.map +1 -1
- package/dist/cjs/useFocus.d.ts +1 -2
- package/dist/cjs/useFocus.js.map +1 -1
- package/dist/cjs/useGetModifiers.d.ts +1 -2
- package/dist/cjs/useGetModifiers.js.map +1 -1
- package/dist/cjs/useSelection.d.ts +1 -1
- package/dist/cjs/utils/addToRange.d.ts +1 -1
- package/dist/cjs/utils/addToRange.js +2 -2
- package/dist/cjs/utils/addToRange.js.map +1 -1
- package/dist/cjs/utils/dateMatchModifiers.d.ts +1 -1
- package/dist/cjs/utils/dateMatchModifiers.js +2 -2
- package/dist/cjs/utils/dateMatchModifiers.js.map +1 -1
- package/dist/cjs/utils/rangeIncludesDate.d.ts +1 -4
- package/dist/cjs/utils/rangeIncludesDate.js +3 -5
- package/dist/cjs/utils/rangeIncludesDate.js.map +1 -1
- package/dist/cjs/utils/typeguards.d.ts +1 -1
- package/dist/esm/DayPicker.js +33 -28
- package/dist/esm/DayPicker.js.map +1 -1
- package/dist/esm/classes/CalendarDay.d.ts +2 -4
- package/dist/esm/classes/CalendarDay.js +2 -4
- package/dist/esm/classes/CalendarDay.js.map +1 -1
- package/dist/esm/classes/DateLib.d.ts +268 -0
- package/dist/esm/classes/DateLib.js +355 -0
- package/dist/esm/classes/DateLib.js.map +1 -0
- package/dist/esm/classes/index.d.ts +1 -0
- package/dist/esm/classes/index.js +1 -0
- package/dist/esm/classes/index.js.map +1 -1
- package/dist/esm/formatters/formatCaption.d.ts +2 -4
- package/dist/esm/formatters/formatCaption.js +3 -5
- package/dist/esm/formatters/formatCaption.js.map +1 -1
- package/dist/esm/formatters/formatDay.d.ts +2 -4
- package/dist/esm/formatters/formatDay.js +3 -5
- package/dist/esm/formatters/formatDay.js.map +1 -1
- package/dist/esm/formatters/formatMonthDropdown.d.ts +1 -1
- package/dist/esm/formatters/formatMonthDropdown.js +2 -2
- package/dist/esm/formatters/formatMonthDropdown.js.map +1 -1
- package/dist/esm/formatters/formatWeekdayName.d.ts +2 -4
- package/dist/esm/formatters/formatWeekdayName.js +3 -5
- package/dist/esm/formatters/formatWeekdayName.js.map +1 -1
- package/dist/esm/helpers/getDates.d.ts +3 -2
- package/dist/esm/helpers/getDates.js +3 -9
- package/dist/esm/helpers/getDates.js.map +1 -1
- package/dist/esm/helpers/getDisplayMonths.d.ts +1 -1
- package/dist/esm/helpers/getFocusableDate.d.ts +2 -2
- package/dist/esm/helpers/getFocusableDate.js +3 -5
- package/dist/esm/helpers/getFocusableDate.js.map +1 -1
- package/dist/esm/helpers/getInitialMonth.d.ts +2 -1
- package/dist/esm/helpers/getInitialMonth.js.map +1 -1
- package/dist/esm/helpers/getMonthOptions.d.ts +2 -2
- package/dist/esm/helpers/getMonthOptions.js +2 -2
- package/dist/esm/helpers/getMonthOptions.js.map +1 -1
- package/dist/esm/helpers/getMonths.d.ts +2 -2
- package/dist/esm/helpers/getMonths.js +3 -15
- package/dist/esm/helpers/getMonths.js.map +1 -1
- package/dist/esm/helpers/getNavMonth.d.ts +2 -2
- package/dist/esm/helpers/getNavMonth.js.map +1 -1
- package/dist/esm/helpers/getNextFocus.d.ts +2 -2
- package/dist/esm/helpers/getNextFocus.js.map +1 -1
- package/dist/esm/helpers/getNextMonth.d.ts +1 -1
- package/dist/esm/helpers/getPreviousMonth.d.ts +1 -1
- package/dist/esm/helpers/getWeekdays.d.ts +5 -7
- package/dist/esm/helpers/getWeekdays.js +5 -8
- package/dist/esm/helpers/getWeekdays.js.map +1 -1
- package/dist/esm/helpers/getYearOptions.d.ts +1 -1
- package/dist/esm/index.d.ts +1 -2
- package/dist/esm/index.js +1 -2
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/labels/labelDayButton.d.ts +2 -4
- package/dist/esm/labels/labelDayButton.js +3 -5
- package/dist/esm/labels/labelDayButton.js.map +1 -1
- package/dist/esm/labels/labelGrid.d.ts +2 -4
- package/dist/esm/labels/labelGrid.js +3 -5
- package/dist/esm/labels/labelGrid.js.map +1 -1
- package/dist/esm/labels/labelGridcell.d.ts +2 -5
- package/dist/esm/labels/labelGridcell.js +3 -5
- package/dist/esm/labels/labelGridcell.js.map +1 -1
- package/dist/esm/labels/labelMonthDropdown.d.ts +2 -2
- package/dist/esm/labels/labelMonthDropdown.js.map +1 -1
- package/dist/esm/labels/labelWeekNumber.d.ts +2 -2
- package/dist/esm/labels/labelWeekNumber.js.map +1 -1
- package/dist/esm/labels/labelWeekNumberHeader.d.ts +2 -2
- package/dist/esm/labels/labelWeekNumberHeader.js.map +1 -1
- package/dist/esm/labels/labelWeekday.d.ts +2 -4
- package/dist/esm/labels/labelWeekday.js +3 -5
- package/dist/esm/labels/labelWeekday.js.map +1 -1
- package/dist/esm/labels/labelYearDropdown.d.ts +2 -2
- package/dist/esm/labels/labelYearDropdown.js.map +1 -1
- package/dist/esm/selection/useMulti.d.ts +1 -1
- package/dist/esm/selection/useMulti.js.map +1 -1
- package/dist/esm/selection/useRange.d.ts +1 -1
- package/dist/esm/selection/useRange.js +2 -1
- package/dist/esm/selection/useRange.js.map +1 -1
- package/dist/esm/selection/useSingle.d.ts +1 -1
- package/dist/esm/selection/useSingle.js.map +1 -1
- package/dist/esm/types/props.d.ts +4 -4
- package/dist/esm/useCalendar.d.ts +2 -3
- package/dist/esm/useCalendar.js.map +1 -1
- package/dist/esm/useFocus.d.ts +1 -2
- package/dist/esm/useFocus.js.map +1 -1
- package/dist/esm/useGetModifiers.d.ts +1 -2
- package/dist/esm/useGetModifiers.js.map +1 -1
- package/dist/esm/useSelection.d.ts +1 -1
- package/dist/esm/utils/addToRange.d.ts +1 -1
- package/dist/esm/utils/addToRange.js +1 -1
- package/dist/esm/utils/addToRange.js.map +1 -1
- package/dist/esm/utils/dateMatchModifiers.d.ts +1 -1
- package/dist/esm/utils/dateMatchModifiers.js +1 -1
- package/dist/esm/utils/dateMatchModifiers.js.map +1 -1
- package/dist/esm/utils/rangeIncludesDate.d.ts +1 -4
- package/dist/esm/utils/rangeIncludesDate.js +2 -4
- package/dist/esm/utils/rangeIncludesDate.js.map +1 -1
- package/dist/esm/utils/typeguards.d.ts +1 -1
- package/examples/Formatters.tsx +2 -2
- package/examples/NumberingSystem.tsx +5 -2
- package/examples/Range.test.tsx +8 -0
- package/examples/Range.tsx +13 -8
- package/examples/TestCase2511.test.tsx +14 -0
- package/examples/TestCase2511.tsx +19 -0
- package/examples/__snapshots__/Range.test.tsx.snap +1253 -1239
- package/examples/index.ts +1 -0
- package/package.json +78 -35
- package/src/DayPicker.tsx +44 -52
- package/src/classes/CalendarDay.ts +1 -3
- package/src/classes/DateLib.ts +478 -0
- package/src/classes/index.ts +1 -0
- package/src/formatters/formatCaption.test.ts +12 -4
- package/src/formatters/formatCaption.ts +4 -9
- package/src/formatters/formatDay.ts +4 -6
- package/src/formatters/formatMonthDropdown.ts +3 -3
- package/src/formatters/formatWeekdayName.ts +4 -6
- package/src/helpers/getDates.test.ts +29 -20
- package/src/helpers/getDates.ts +6 -14
- package/src/helpers/getDisplayMonths.test.ts +4 -4
- package/src/helpers/getDisplayMonths.ts +1 -1
- package/src/helpers/getFocusableDate.ts +5 -8
- package/src/helpers/getFormatters.test.ts +9 -5
- package/src/helpers/getInitialMonth.test.ts +7 -6
- package/src/helpers/getInitialMonth.ts +2 -1
- package/src/helpers/getMonthOptions.test.ts +3 -4
- package/src/helpers/getMonthOptions.ts +2 -3
- package/src/helpers/getMonths.test.ts +7 -10
- package/src/helpers/getMonths.ts +5 -26
- package/src/helpers/getNavMonth.test.ts +9 -9
- package/src/helpers/getNavMonth.ts +1 -2
- package/src/helpers/getNextFocus.test.tsx +11 -12
- package/src/helpers/getNextFocus.tsx +2 -8
- package/src/helpers/getNextMonth.test.ts +9 -8
- package/src/helpers/getNextMonth.ts +1 -1
- package/src/helpers/getPossibleFocusDate.test.ts +6 -5
- package/src/helpers/getPreviousMonth.test.ts +7 -7
- package/src/helpers/getPreviousMonth.ts +1 -1
- package/src/helpers/getWeekdays.test.ts +8 -4
- package/src/helpers/getWeekdays.ts +6 -10
- package/src/helpers/getYearOptions.test.ts +4 -4
- package/src/helpers/getYearOptions.ts +1 -1
- package/src/index.ts +1 -3
- package/src/labels/labelDayButton.ts +4 -6
- package/src/labels/labelGrid.ts +4 -6
- package/src/labels/labelGridcell.ts +4 -7
- package/src/labels/labelMonthDropdown.ts +2 -2
- package/src/labels/labelWeekNumber.ts +2 -2
- package/src/labels/labelWeekNumberHeader.ts +2 -2
- package/src/labels/labelWeekday.ts +4 -6
- package/src/labels/labelYearDropdown.ts +2 -2
- package/src/selection/useMulti.test.tsx +3 -3
- package/src/selection/useMulti.tsx +1 -1
- package/src/selection/useRange.test.tsx +8 -8
- package/src/selection/useRange.tsx +5 -2
- package/src/selection/useSingle.test.tsx +3 -3
- package/src/selection/useSingle.tsx +1 -1
- package/{style.css → src/style.css} +2 -2
- package/src/style.module.css.d.ts +29 -0
- package/src/types/props.ts +4 -4
- package/src/useCalendar.ts +2 -3
- package/src/useFocus.ts +1 -2
- package/src/useGetModifiers.tsx +1 -2
- package/src/useSelection.ts +1 -1
- package/src/utils/addToRange.ts +1 -1
- package/src/utils/dateMatchModifiers.test.ts +21 -13
- package/src/utils/dateMatchModifiers.ts +1 -1
- package/src/utils/rangeIncludesDate.ts +2 -3
- package/src/utils/typeguards.test.ts +5 -5
- package/src/utils/typeguards.ts +1 -1
- package/website/docs/upgrading.mdx +1 -1
- package/dist/cjs/helpers/getDateLib.d.ts +0 -3
- package/dist/cjs/helpers/getDateLib.js +0 -11
- package/dist/cjs/helpers/getDateLib.js.map +0 -1
- package/dist/cjs/lib/dateLib.d.ts +0 -138
- package/dist/cjs/lib/dateLib.js +0 -68
- package/dist/cjs/lib/dateLib.js.map +0 -1
- package/dist/cjs/lib/index.d.ts +0 -2
- package/dist/cjs/lib/index.js +0 -21
- package/dist/cjs/lib/index.js.map +0 -1
- package/dist/cjs/lib/locales.d.ts +0 -1
- package/dist/cjs/lib/locales.js +0 -6
- package/dist/cjs/lib/locales.js.map +0 -1
- package/dist/esm/helpers/getDateLib.d.ts +0 -3
- package/dist/esm/helpers/getDateLib.js +0 -8
- package/dist/esm/helpers/getDateLib.js.map +0 -1
- package/dist/esm/lib/dateLib.d.ts +0 -138
- package/dist/esm/lib/dateLib.js +0 -65
- package/dist/esm/lib/dateLib.js.map +0 -1
- package/dist/esm/lib/index.d.ts +0 -2
- package/dist/esm/lib/index.js +0 -3
- package/dist/esm/lib/index.js.map +0 -1
- package/dist/esm/lib/locales.d.ts +0 -1
- package/dist/esm/lib/locales.js +0 -2
- package/dist/esm/lib/locales.js.map +0 -1
- package/src/helpers/getDateLib.ts +0 -9
- package/src/lib/dateLib.ts +0 -175
- package/src/lib/index.ts +0 -2
- package/src/lib/locales.ts +0 -1
- /package/{style.module.css → src/style.module.css} +0 -0
package/examples/index.ts
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-day-picker",
|
|
3
|
-
"version": "9.1
|
|
3
|
+
"version": "9.2.1",
|
|
4
4
|
"description": "Customizable Date Picker for React",
|
|
5
5
|
"author": "Giampaolo Bellavite <io@gpbl.dev>",
|
|
6
6
|
"homepage": "https://daypicker.dev",
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
"main": "./dist/cjs/index.js",
|
|
20
20
|
"types": "./dist/cjs/index.d.ts",
|
|
21
21
|
"module": "./dist/esm/index.js",
|
|
22
|
-
"style": "./style.css",
|
|
22
|
+
"style": "./src/style.css",
|
|
23
23
|
"type": "module",
|
|
24
24
|
"exports": {
|
|
25
25
|
".": {
|
|
@@ -52,44 +52,88 @@
|
|
|
52
52
|
"default": "./dist/cjs/locale.js"
|
|
53
53
|
}
|
|
54
54
|
},
|
|
55
|
+
"./style": {
|
|
56
|
+
"sass": "./src/style.css"
|
|
57
|
+
},
|
|
55
58
|
"./style.css": {
|
|
59
|
+
"style": {
|
|
60
|
+
"default": "./src/style.css"
|
|
61
|
+
},
|
|
56
62
|
"import": {
|
|
57
|
-
"types": "./style.css.d.ts",
|
|
58
|
-
"default": "./style.css"
|
|
63
|
+
"types": "./src/style.module.css.d.ts",
|
|
64
|
+
"default": "./src/style.css"
|
|
59
65
|
},
|
|
60
66
|
"require": {
|
|
61
|
-
"types": "./style.css.d.ts",
|
|
62
|
-
"default": "./style.css"
|
|
67
|
+
"types": "./src/style.module.css.d.ts",
|
|
68
|
+
"default": "./src/style.css"
|
|
63
69
|
}
|
|
64
70
|
},
|
|
71
|
+
"./style.module": {
|
|
72
|
+
"sass": "./src/style.module.css"
|
|
73
|
+
},
|
|
65
74
|
"./style.module.css": {
|
|
75
|
+
"style": {
|
|
76
|
+
"default": "./src/style.module.css"
|
|
77
|
+
},
|
|
78
|
+
"import": {
|
|
79
|
+
"types": "./src/style.module.css.d.ts",
|
|
80
|
+
"default": "./src/style.module.css"
|
|
81
|
+
},
|
|
82
|
+
"require": {
|
|
83
|
+
"types": "./src/style.module.css.d.ts",
|
|
84
|
+
"default": "./src/style.module.css"
|
|
85
|
+
}
|
|
86
|
+
},
|
|
87
|
+
"./src/style.css": {
|
|
88
|
+
"style": {
|
|
89
|
+
"default": "./src/style.css"
|
|
90
|
+
},
|
|
66
91
|
"import": {
|
|
67
|
-
"types": "./style.css.d.ts",
|
|
68
|
-
"default": "./style.
|
|
92
|
+
"types": "./src/style.module.css.d.ts",
|
|
93
|
+
"default": "./src/style.css"
|
|
69
94
|
},
|
|
70
95
|
"require": {
|
|
71
|
-
"types": "./style.css.d.ts",
|
|
72
|
-
"default": "./style.
|
|
96
|
+
"types": "./src/style.module.css.d.ts",
|
|
97
|
+
"default": "./src/style.css"
|
|
98
|
+
}
|
|
99
|
+
},
|
|
100
|
+
"./src/style.module.css": {
|
|
101
|
+
"style": {
|
|
102
|
+
"default": "./src/style.module.css"
|
|
103
|
+
},
|
|
104
|
+
"import": {
|
|
105
|
+
"types": "./src/style.module.css.d.ts",
|
|
106
|
+
"default": "./src/style.module.css"
|
|
107
|
+
},
|
|
108
|
+
"require": {
|
|
109
|
+
"types": "./src/style.module.css.d.ts",
|
|
110
|
+
"default": "./src/style.module.css"
|
|
73
111
|
}
|
|
74
112
|
},
|
|
75
113
|
"./dist/style.css": {
|
|
114
|
+
"style": {
|
|
115
|
+
"default": "./src/style.css"
|
|
116
|
+
},
|
|
76
117
|
"import": {
|
|
77
|
-
"types": "./style.css.d.ts",
|
|
78
|
-
"default": "./style.css"
|
|
118
|
+
"types": "./src/style.module.css.d.ts",
|
|
119
|
+
"default": "./src/style.css"
|
|
79
120
|
},
|
|
80
121
|
"require": {
|
|
81
|
-
"types": "./style.css.d.ts",
|
|
82
|
-
"default": "./style.css"
|
|
122
|
+
"types": "./src/style.module.css.d.ts",
|
|
123
|
+
"default": "./src/style.css"
|
|
83
124
|
}
|
|
84
125
|
},
|
|
85
126
|
"./dist/style.module.css": {
|
|
127
|
+
"style": {
|
|
128
|
+
"default": "./src/style.module.css"
|
|
129
|
+
},
|
|
86
130
|
"import": {
|
|
87
|
-
"types": "./style.css.d.ts",
|
|
88
|
-
"default": "./style.module.css"
|
|
131
|
+
"types": "./src/style.module.css.d.ts",
|
|
132
|
+
"default": "./src/style.module.css"
|
|
89
133
|
},
|
|
90
134
|
"require": {
|
|
91
|
-
"types": "./style.css.d.ts",
|
|
92
|
-
"default": "./style.module.css"
|
|
135
|
+
"types": "./src/style.module.css.d.ts",
|
|
136
|
+
"default": "./src/style.module.css"
|
|
93
137
|
}
|
|
94
138
|
},
|
|
95
139
|
"./package.json": {
|
|
@@ -107,7 +151,7 @@
|
|
|
107
151
|
"build": "pnpm build:cjs && pnpm build:esm && pnpm build:css",
|
|
108
152
|
"build:cjs": "tsc --project tsconfig-cjs.json && echo '{ \"type\": \"commonjs\" }' > dist/cjs/package.json",
|
|
109
153
|
"build:esm": "tsc --project tsconfig-esm.json",
|
|
110
|
-
"build:css": "./scripts/build-css.sh ./style.css ./style.module.css",
|
|
154
|
+
"build:css": "./scripts/build-css.sh ./src/style.css ./src/style.module.css",
|
|
111
155
|
"lint": "eslint .",
|
|
112
156
|
"test": "jest",
|
|
113
157
|
"test-watch": "jest --watch",
|
|
@@ -135,29 +179,28 @@
|
|
|
135
179
|
"devDependencies": {
|
|
136
180
|
"@jest/types": "^29.6.3",
|
|
137
181
|
"@testing-library/dom": "^10.4.0",
|
|
138
|
-
"@testing-library/jest-dom": "^6.
|
|
182
|
+
"@testing-library/jest-dom": "^6.6.2",
|
|
139
183
|
"@testing-library/react": "^16.0.1",
|
|
140
184
|
"@testing-library/user-event": "^14.5.2",
|
|
141
185
|
"@trivago/prettier-plugin-sort-imports": "^4.3.0",
|
|
142
|
-
"@types/jest": "^29.5.
|
|
143
|
-
"@types/node": "^22.
|
|
144
|
-
"@types/react": "^18.3.
|
|
145
|
-
"@types/react-dom": "^18.3.
|
|
146
|
-
"@typescript-eslint/eslint-plugin": "^8.
|
|
147
|
-
"@typescript-eslint/parser": "^8.
|
|
148
|
-
"date-fns": "^3.6.0",
|
|
149
|
-
"
|
|
150
|
-
"eslint": "^8.57.0",
|
|
186
|
+
"@types/jest": "^29.5.13",
|
|
187
|
+
"@types/node": "^22.7.7",
|
|
188
|
+
"@types/react": "^18.3.11",
|
|
189
|
+
"@types/react-dom": "^18.3.1",
|
|
190
|
+
"@typescript-eslint/eslint-plugin": "^8.10.0",
|
|
191
|
+
"@typescript-eslint/parser": "^8.10.0",
|
|
192
|
+
"date-fns-jalali": "^3.6.0-1",
|
|
193
|
+
"eslint": "^8.57.1",
|
|
151
194
|
"eslint-config-prettier": "^9.1.0",
|
|
152
195
|
"eslint-import-resolver-typescript": "^3.6.3",
|
|
153
|
-
"eslint-plugin-import": "^2.
|
|
196
|
+
"eslint-plugin-import": "^2.31.0",
|
|
154
197
|
"eslint-plugin-jest": "^28.8.3",
|
|
155
198
|
"eslint-plugin-prettier": "^5.2.1",
|
|
156
|
-
"eslint-plugin-react": "^7.
|
|
157
|
-
"eslint-plugin-react-hooks": "^
|
|
199
|
+
"eslint-plugin-react": "^7.37.1",
|
|
200
|
+
"eslint-plugin-react-hooks": "^5.0.0",
|
|
158
201
|
"eslint-plugin-require-extensions": "^0.1.3",
|
|
159
|
-
"eslint-plugin-testing-library": "^6.
|
|
160
|
-
"html-validate": "^8.
|
|
202
|
+
"eslint-plugin-testing-library": "^6.4.0",
|
|
203
|
+
"html-validate": "^8.24.2",
|
|
161
204
|
"jest": "^29.7.0",
|
|
162
205
|
"jest-environment-jsdom": "^29.7.0",
|
|
163
206
|
"mockdate": "^3.0.5",
|
|
@@ -167,7 +210,7 @@
|
|
|
167
210
|
"react-dom": "^18.3.1",
|
|
168
211
|
"ts-jest": "^29.2.5",
|
|
169
212
|
"ts-node": "^10.9.2",
|
|
170
|
-
"tslib": "^2.
|
|
213
|
+
"tslib": "^2.8.0",
|
|
171
214
|
"typescript": "~5.5.4",
|
|
172
215
|
"typescript-css-modules": "^1.0.4"
|
|
173
216
|
},
|
package/src/DayPicker.tsx
CHANGED
|
@@ -8,10 +8,10 @@ import type {
|
|
|
8
8
|
|
|
9
9
|
import { UI, DayFlag, SelectionState } from "./UI.js";
|
|
10
10
|
import type { CalendarDay } from "./classes/CalendarDay.js";
|
|
11
|
+
import { DateLib, defaultLocale } from "./classes/DateLib.js";
|
|
11
12
|
import { getClassNamesForModifiers } from "./helpers/getClassNamesForModifiers.js";
|
|
12
13
|
import { getComponents } from "./helpers/getComponents.js";
|
|
13
14
|
import { getDataAttributes } from "./helpers/getDataAttributes.js";
|
|
14
|
-
import { getDateLib } from "./helpers/getDateLib.js";
|
|
15
15
|
import { getDefaultClassNames } from "./helpers/getDefaultClassNames.js";
|
|
16
16
|
import { getFormatters } from "./helpers/getFormatters.js";
|
|
17
17
|
import { getMonthOptions } from "./helpers/getMonthOptions.js";
|
|
@@ -19,8 +19,6 @@ import { getStyleForModifiers } from "./helpers/getStyleForModifiers.js";
|
|
|
19
19
|
import { getWeekdays } from "./helpers/getWeekdays.js";
|
|
20
20
|
import { getYearOptions } from "./helpers/getYearOptions.js";
|
|
21
21
|
import * as defaultLabels from "./labels/index.js";
|
|
22
|
-
import type { FormatOptions, LabelOptions } from "./lib/dateLib.js";
|
|
23
|
-
import { enUS } from "./lib/locales.js";
|
|
24
22
|
import type {
|
|
25
23
|
DayPickerProps,
|
|
26
24
|
Modifiers,
|
|
@@ -45,28 +43,43 @@ import { isDateRange } from "./utils/typeguards.js";
|
|
|
45
43
|
*/
|
|
46
44
|
export function DayPicker(props: DayPickerProps) {
|
|
47
45
|
const { components, formatters, labels, dateLib, locale, classNames } =
|
|
48
|
-
useMemo(
|
|
49
|
-
|
|
50
|
-
|
|
46
|
+
useMemo(() => {
|
|
47
|
+
const locale = { ...defaultLocale, ...props.locale };
|
|
48
|
+
|
|
49
|
+
const dateLib = new DateLib(
|
|
50
|
+
{
|
|
51
|
+
locale,
|
|
52
|
+
weekStartsOn: props.weekStartsOn,
|
|
53
|
+
firstWeekContainsDate: props.firstWeekContainsDate,
|
|
54
|
+
useAdditionalWeekYearTokens: props.useAdditionalWeekYearTokens,
|
|
55
|
+
useAdditionalDayOfYearTokens: props.useAdditionalDayOfYearTokens
|
|
56
|
+
},
|
|
57
|
+
props.dateLib
|
|
58
|
+
);
|
|
59
|
+
|
|
60
|
+
return {
|
|
61
|
+
dateLib,
|
|
51
62
|
components: getComponents(props.components),
|
|
52
63
|
formatters: getFormatters(props.formatters),
|
|
53
64
|
labels: { ...defaultLabels, ...props.labels },
|
|
54
|
-
locale
|
|
65
|
+
locale,
|
|
55
66
|
classNames: { ...getDefaultClassNames(), ...props.classNames }
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
67
|
+
};
|
|
68
|
+
}, [
|
|
69
|
+
props.classNames,
|
|
70
|
+
props.components,
|
|
71
|
+
props.dateLib,
|
|
72
|
+
props.firstWeekContainsDate,
|
|
73
|
+
props.formatters,
|
|
74
|
+
props.labels,
|
|
75
|
+
props.locale,
|
|
76
|
+
props.useAdditionalDayOfYearTokens,
|
|
77
|
+
props.useAdditionalWeekYearTokens,
|
|
78
|
+
props.weekStartsOn
|
|
79
|
+
]);
|
|
66
80
|
|
|
67
81
|
const {
|
|
68
82
|
captionLayout,
|
|
69
|
-
firstWeekContainsDate,
|
|
70
83
|
mode,
|
|
71
84
|
onDayBlur,
|
|
72
85
|
onDayClick,
|
|
@@ -77,22 +90,9 @@ export function DayPicker(props: DayPickerProps) {
|
|
|
77
90
|
onNextClick,
|
|
78
91
|
onPrevClick,
|
|
79
92
|
showWeekNumber,
|
|
80
|
-
styles
|
|
81
|
-
useAdditionalDayOfYearTokens,
|
|
82
|
-
useAdditionalWeekYearTokens,
|
|
83
|
-
weekStartsOn
|
|
93
|
+
styles
|
|
84
94
|
} = props;
|
|
85
95
|
|
|
86
|
-
const formatOptions: FormatOptions = {
|
|
87
|
-
locale,
|
|
88
|
-
weekStartsOn,
|
|
89
|
-
firstWeekContainsDate,
|
|
90
|
-
useAdditionalWeekYearTokens,
|
|
91
|
-
useAdditionalDayOfYearTokens
|
|
92
|
-
};
|
|
93
|
-
|
|
94
|
-
const labelOptions: LabelOptions = formatOptions;
|
|
95
|
-
|
|
96
96
|
const {
|
|
97
97
|
formatCaption,
|
|
98
98
|
formatDay,
|
|
@@ -144,15 +144,8 @@ export function DayPicker(props: DayPickerProps) {
|
|
|
144
144
|
} = labels;
|
|
145
145
|
|
|
146
146
|
const weekdays = useMemo(
|
|
147
|
-
() =>
|
|
148
|
-
|
|
149
|
-
locale,
|
|
150
|
-
props.weekStartsOn,
|
|
151
|
-
props.ISOWeek,
|
|
152
|
-
props.timeZone,
|
|
153
|
-
dateLib
|
|
154
|
-
),
|
|
155
|
-
[dateLib, locale, props.ISOWeek, props.timeZone, props.weekStartsOn]
|
|
147
|
+
() => getWeekdays(dateLib, props.ISOWeek, props.timeZone),
|
|
148
|
+
[dateLib, props.ISOWeek, props.timeZone]
|
|
156
149
|
);
|
|
157
150
|
|
|
158
151
|
const isInteractive = mode !== undefined || onDayClick !== undefined;
|
|
@@ -317,7 +310,6 @@ export function DayPicker(props: DayPickerProps) {
|
|
|
317
310
|
navStart,
|
|
318
311
|
navEnd,
|
|
319
312
|
formatters,
|
|
320
|
-
locale,
|
|
321
313
|
dateLib
|
|
322
314
|
);
|
|
323
315
|
|
|
@@ -373,7 +365,7 @@ export function DayPicker(props: DayPickerProps) {
|
|
|
373
365
|
captionLayout === "dropdown-years" ? (
|
|
374
366
|
<components.YearsDropdown
|
|
375
367
|
className={classNames[UI.YearsDropdown]}
|
|
376
|
-
aria-label={labelYearDropdown(
|
|
368
|
+
aria-label={labelYearDropdown(dateLib.options)}
|
|
377
369
|
classNames={classNames}
|
|
378
370
|
components={components}
|
|
379
371
|
disabled={Boolean(props.disableNavigation)}
|
|
@@ -396,7 +388,7 @@ export function DayPicker(props: DayPickerProps) {
|
|
|
396
388
|
>
|
|
397
389
|
{formatCaption(
|
|
398
390
|
calendarMonth.date,
|
|
399
|
-
|
|
391
|
+
dateLib.options,
|
|
400
392
|
dateLib
|
|
401
393
|
)}
|
|
402
394
|
</components.CaptionLabel>
|
|
@@ -406,7 +398,7 @@ export function DayPicker(props: DayPickerProps) {
|
|
|
406
398
|
role="grid"
|
|
407
399
|
aria-multiselectable={mode === "multiple" || mode === "range"}
|
|
408
400
|
aria-label={
|
|
409
|
-
labelGrid(calendarMonth.date,
|
|
401
|
+
labelGrid(calendarMonth.date, dateLib.options, dateLib) ||
|
|
410
402
|
undefined
|
|
411
403
|
}
|
|
412
404
|
className={classNames[UI.MonthGrid]}
|
|
@@ -419,7 +411,7 @@ export function DayPicker(props: DayPickerProps) {
|
|
|
419
411
|
>
|
|
420
412
|
{showWeekNumber && (
|
|
421
413
|
<components.WeekNumberHeader
|
|
422
|
-
aria-label={labelWeekNumberHeader(
|
|
414
|
+
aria-label={labelWeekNumberHeader(dateLib.options)}
|
|
423
415
|
className={classNames[UI.WeekNumberHeader]}
|
|
424
416
|
style={styles?.[UI.WeekNumberHeader]}
|
|
425
417
|
scope="col"
|
|
@@ -431,7 +423,7 @@ export function DayPicker(props: DayPickerProps) {
|
|
|
431
423
|
<components.Weekday
|
|
432
424
|
aria-label={labelWeekday(
|
|
433
425
|
weekday,
|
|
434
|
-
|
|
426
|
+
dateLib.options,
|
|
435
427
|
dateLib
|
|
436
428
|
)}
|
|
437
429
|
className={classNames[UI.Weekday]}
|
|
@@ -439,7 +431,7 @@ export function DayPicker(props: DayPickerProps) {
|
|
|
439
431
|
style={styles?.[UI.Weekday]}
|
|
440
432
|
scope="col"
|
|
441
433
|
>
|
|
442
|
-
{formatWeekdayName(weekday,
|
|
434
|
+
{formatWeekdayName(weekday, dateLib.options, dateLib)}
|
|
443
435
|
</components.Weekday>
|
|
444
436
|
))}
|
|
445
437
|
</components.Weekdays>
|
|
@@ -515,7 +507,7 @@ export function DayPicker(props: DayPickerProps) {
|
|
|
515
507
|
? labelGridcell(
|
|
516
508
|
date,
|
|
517
509
|
modifiers,
|
|
518
|
-
|
|
510
|
+
dateLib.options,
|
|
519
511
|
dateLib
|
|
520
512
|
)
|
|
521
513
|
: undefined;
|
|
@@ -555,7 +547,7 @@ export function DayPicker(props: DayPickerProps) {
|
|
|
555
547
|
aria-label={labelDayButton(
|
|
556
548
|
date,
|
|
557
549
|
modifiers,
|
|
558
|
-
|
|
550
|
+
dateLib.options,
|
|
559
551
|
dateLib
|
|
560
552
|
)}
|
|
561
553
|
onClick={handleDayClick(day, modifiers)}
|
|
@@ -571,10 +563,10 @@ export function DayPicker(props: DayPickerProps) {
|
|
|
571
563
|
modifiers
|
|
572
564
|
)}
|
|
573
565
|
>
|
|
574
|
-
{formatDay(date,
|
|
566
|
+
{formatDay(date, dateLib.options, dateLib)}
|
|
575
567
|
</components.DayButton>
|
|
576
568
|
) : (
|
|
577
|
-
formatDay(day.date,
|
|
569
|
+
formatDay(day.date, dateLib.options, dateLib)
|
|
578
570
|
)}
|
|
579
571
|
</components.Day>
|
|
580
572
|
);
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import type
|
|
2
|
-
import { dateLib as defaultDateLib } from "../lib/index.js";
|
|
1
|
+
import { type DateLib, defaultDateLib } from "./DateLib.js";
|
|
3
2
|
|
|
4
3
|
/**
|
|
5
4
|
* Represent the day displayed in the calendar.
|
|
@@ -12,7 +11,6 @@ export class CalendarDay {
|
|
|
12
11
|
constructor(
|
|
13
12
|
date: Date,
|
|
14
13
|
displayMonth: Date,
|
|
15
|
-
/** @ignore */
|
|
16
14
|
dateLib: DateLib = defaultDateLib
|
|
17
15
|
) {
|
|
18
16
|
this.date = date;
|