react-day-picker 9.0.0-beta.5 → 9.0.0-rc.2
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/README.md +7 -6
- package/dist/cjs/DayPicker.d.ts +4 -7
- package/dist/cjs/DayPicker.js +4 -7
- package/dist/cjs/DayPicker.js.map +1 -1
- package/dist/cjs/UI.d.ts +25 -14
- package/dist/cjs/UI.js +35 -23
- package/dist/cjs/UI.js.map +1 -1
- package/dist/cjs/classes/CalendarDay.d.ts +4 -1
- package/dist/cjs/classes/CalendarDay.js +6 -6
- package/dist/cjs/classes/CalendarDay.js.map +1 -1
- package/dist/cjs/components/Button.d.ts +2 -2
- package/dist/cjs/components/Button.js +1 -1
- package/dist/cjs/components/Button.js.map +1 -1
- package/dist/cjs/components/Calendar.d.ts +1 -1
- package/dist/cjs/components/Calendar.js +7 -8
- package/dist/cjs/components/Calendar.js.map +1 -1
- package/dist/cjs/components/Chevron.d.ts +1 -1
- package/dist/cjs/components/Chevron.js +5 -5
- package/dist/cjs/components/Chevron.js.map +1 -1
- package/dist/cjs/components/Day.d.ts +3 -3
- package/dist/cjs/components/Day.js +1 -1
- package/dist/cjs/components/DayDate.d.ts +13 -3
- package/dist/cjs/components/DayDate.js +7 -2
- package/dist/cjs/components/DayDate.js.map +1 -1
- package/dist/cjs/components/DayWrapper.js +38 -22
- package/dist/cjs/components/DayWrapper.js.map +1 -1
- package/dist/cjs/components/Dropdown.d.ts +3 -4
- package/dist/cjs/components/Dropdown.js +3 -3
- package/dist/cjs/components/Dropdown.js.map +1 -1
- package/dist/cjs/components/DropdownNav.d.ts +1 -1
- package/dist/cjs/components/DropdownNav.js +5 -5
- package/dist/cjs/components/DropdownNav.js.map +1 -1
- package/dist/cjs/components/Footer.d.ts +2 -2
- package/dist/cjs/components/Footer.js +1 -1
- package/dist/cjs/components/Footer.js.map +1 -1
- package/dist/cjs/components/Month.d.ts +1 -1
- package/dist/cjs/components/Month.js +7 -27
- package/dist/cjs/components/Month.js.map +1 -1
- package/dist/cjs/components/MonthCaption.d.ts +1 -1
- package/dist/cjs/components/MonthCaption.js +4 -4
- package/dist/cjs/components/MonthCaption.js.map +1 -1
- package/dist/cjs/components/Months.d.ts +1 -1
- package/dist/cjs/components/Months.js +1 -1
- package/dist/cjs/components/MonthsDropdown.d.ts +1 -1
- package/dist/cjs/components/MonthsDropdown.js +6 -9
- package/dist/cjs/components/MonthsDropdown.js.map +1 -1
- package/dist/cjs/components/Nav.d.ts +1 -1
- package/dist/cjs/components/Nav.js +4 -5
- package/dist/cjs/components/Nav.js.map +1 -1
- package/dist/cjs/components/Option.d.ts +1 -1
- package/dist/cjs/components/Option.js +1 -1
- package/dist/cjs/components/Select.d.ts +1 -1
- package/dist/cjs/components/Select.js +1 -1
- package/dist/cjs/components/Week.d.ts +1 -1
- package/dist/cjs/components/Week.js +4 -5
- package/dist/cjs/components/Week.js.map +1 -1
- package/dist/cjs/components/WeekNumber.d.ts +1 -1
- package/dist/cjs/components/WeekNumber.js +5 -5
- package/dist/cjs/components/WeekNumber.js.map +1 -1
- package/dist/cjs/components/Weekday.d.ts +1 -1
- package/dist/cjs/components/Weekday.js +7 -5
- package/dist/cjs/components/Weekday.js.map +1 -1
- package/dist/cjs/components/Weekdays.d.ts +1 -1
- package/dist/cjs/components/Weekdays.js +4 -4
- package/dist/cjs/components/Weekdays.js.map +1 -1
- package/dist/cjs/components/YearsDropdown.d.ts +1 -1
- package/dist/cjs/components/YearsDropdown.js +6 -9
- package/dist/cjs/components/YearsDropdown.js.map +1 -1
- package/dist/cjs/contexts/index.d.ts +4 -0
- package/dist/cjs/contexts/index.js +21 -0
- package/dist/cjs/contexts/index.js.map +1 -0
- package/dist/cjs/contexts/providers.d.ts +9 -0
- package/dist/cjs/contexts/providers.js +33 -0
- package/dist/cjs/contexts/providers.js.map +1 -0
- package/dist/cjs/contexts/{calendar.d.ts → useCalendar.d.ts} +20 -33
- package/dist/cjs/contexts/useCalendar.js +154 -0
- package/dist/cjs/contexts/useCalendar.js.map +1 -0
- package/dist/{esm/contexts/focus.d.ts → cjs/contexts/useFocus.d.ts} +23 -18
- package/dist/cjs/contexts/{focus.js → useFocus.js} +41 -34
- package/dist/cjs/contexts/useFocus.js.map +1 -0
- package/dist/cjs/contexts/useModifiers.d.ts +24 -0
- package/dist/cjs/contexts/useModifiers.js +187 -0
- package/dist/cjs/contexts/useModifiers.js.map +1 -0
- package/dist/cjs/contexts/useProps.d.ts +45 -0
- package/dist/cjs/contexts/useProps.js +98 -0
- package/dist/cjs/contexts/useProps.js.map +1 -0
- package/dist/cjs/formatters/formatCaption.d.ts +4 -2
- package/dist/cjs/formatters/formatCaption.js +4 -3
- package/dist/cjs/formatters/formatCaption.js.map +1 -1
- package/dist/cjs/formatters/formatDay.d.ts +3 -2
- package/dist/cjs/formatters/formatDay.js +3 -3
- package/dist/cjs/formatters/formatDay.js.map +1 -1
- package/dist/cjs/formatters/formatMonthDropdown.d.ts +5 -2
- package/dist/cjs/formatters/formatMonthDropdown.js +8 -3
- package/dist/cjs/formatters/formatMonthDropdown.js.map +1 -1
- package/dist/cjs/formatters/formatWeekNumber.d.ts +1 -2
- package/dist/cjs/formatters/formatWeekNumber.js +1 -3
- package/dist/cjs/formatters/formatWeekNumber.js.map +1 -1
- package/dist/cjs/formatters/formatWeekdayName.d.ts +3 -2
- package/dist/cjs/formatters/formatWeekdayName.js +3 -3
- package/dist/cjs/formatters/formatWeekdayName.js.map +1 -1
- package/dist/cjs/formatters/formatYearDropdown.d.ts +1 -0
- package/dist/cjs/formatters/formatYearDropdown.js +1 -0
- package/dist/cjs/formatters/formatYearDropdown.js.map +1 -1
- package/dist/cjs/helpers/debounce.js.map +1 -1
- package/dist/cjs/helpers/getClassNamesForModifiers.d.ts +2 -2
- package/dist/cjs/helpers/getClassNamesForModifiers.js +7 -4
- package/dist/cjs/helpers/getClassNamesForModifiers.js.map +1 -1
- package/dist/cjs/helpers/getDataAttributes.d.ts +2 -2
- package/dist/cjs/helpers/getDataAttributes.js.map +1 -1
- package/dist/cjs/helpers/getDates.d.ts +3 -14
- package/dist/cjs/helpers/getDates.js +13 -32
- package/dist/cjs/helpers/getDates.js.map +1 -1
- package/dist/cjs/helpers/getDefaultClassNames.js +7 -3
- package/dist/cjs/helpers/getDefaultClassNames.js.map +1 -1
- package/dist/cjs/helpers/getDisplayMonths.d.ts +2 -5
- package/dist/cjs/helpers/getDisplayMonths.js +4 -6
- package/dist/cjs/helpers/getDisplayMonths.js.map +1 -1
- package/dist/cjs/helpers/getDropdownMonths.d.ts +2 -5
- package/dist/cjs/helpers/getDropdownMonths.js +12 -16
- package/dist/cjs/helpers/getDropdownMonths.js.map +1 -1
- package/dist/cjs/helpers/getDropdownYears.d.ts +2 -5
- package/dist/cjs/helpers/getDropdownYears.js +12 -19
- package/dist/cjs/helpers/getDropdownYears.js.map +1 -1
- package/dist/cjs/helpers/getFormatters.d.ts +2 -2
- package/dist/cjs/helpers/getFormatters.js.map +1 -1
- package/dist/cjs/helpers/getInitialMonth.d.ts +3 -0
- package/dist/cjs/helpers/getInitialMonth.js +21 -0
- package/dist/cjs/helpers/getInitialMonth.js.map +1 -0
- package/dist/cjs/helpers/getMonths.d.ts +4 -2
- package/dist/cjs/helpers/getMonths.js +24 -29
- package/dist/cjs/helpers/getMonths.js.map +1 -1
- package/dist/cjs/helpers/getNextFocus.d.ts +4 -5
- package/dist/cjs/helpers/getNextFocus.js +5 -3
- package/dist/cjs/helpers/getNextFocus.js.map +1 -1
- package/dist/cjs/helpers/getNextMonth.d.ts +2 -8
- package/dist/cjs/helpers/getNextMonth.js +9 -11
- package/dist/cjs/helpers/getNextMonth.js.map +1 -1
- package/dist/cjs/helpers/getPossibleFocusDate.d.ts +3 -3
- package/dist/cjs/helpers/getPossibleFocusDate.js +10 -19
- package/dist/cjs/helpers/getPossibleFocusDate.js.map +1 -1
- package/dist/cjs/helpers/getPreviousMonth.d.ts +2 -8
- package/dist/cjs/helpers/getPreviousMonth.js +9 -11
- package/dist/cjs/helpers/getPreviousMonth.js.map +1 -1
- package/dist/cjs/helpers/getStartEndMonths.d.ts +2 -2
- package/dist/cjs/helpers/getStartEndMonths.js +11 -12
- package/dist/cjs/helpers/getStartEndMonths.js.map +1 -1
- package/dist/cjs/helpers/getStyleForModifiers.d.ts +2 -2
- package/dist/cjs/helpers/getStyleForModifiers.js.map +1 -1
- package/dist/cjs/helpers/getWeekdays.d.ts +5 -4
- package/dist/cjs/helpers/getWeekdays.js +5 -7
- package/dist/cjs/helpers/getWeekdays.js.map +1 -1
- package/dist/cjs/index.d.ts +4 -7
- package/dist/cjs/index.js +4 -7
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/jalali.d.ts +3 -0
- package/dist/cjs/jalali.js +37 -0
- package/dist/cjs/jalali.js.map +1 -0
- package/dist/cjs/labels/labelCaption.d.ts +3 -2
- package/dist/cjs/labels/labelCaption.js +2 -1
- package/dist/cjs/labels/labelCaption.js.map +1 -1
- package/dist/cjs/labels/labelDay.d.ts +4 -3
- package/dist/cjs/labels/labelDay.js +2 -1
- package/dist/cjs/labels/labelDay.js.map +1 -1
- package/dist/cjs/labels/labelGrid.d.ts +3 -2
- package/dist/cjs/labels/labelGrid.js +3 -3
- package/dist/cjs/labels/labelGrid.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/labelNext.d.ts +2 -2
- package/dist/cjs/labels/labelNext.js.map +1 -1
- package/dist/cjs/labels/labelPrevious.d.ts +2 -2
- package/dist/cjs/labels/labelPrevious.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 +3 -2
- package/dist/cjs/labels/labelWeekday.js +3 -3
- 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/lib/dateLib.d.ts +70 -0
- package/dist/cjs/lib/dateLib.js +67 -0
- package/dist/cjs/lib/dateLib.js.map +1 -0
- package/dist/cjs/lib/index.d.ts +1 -0
- package/dist/cjs/lib/index.js +18 -0
- package/dist/cjs/lib/index.js.map +1 -0
- package/dist/cjs/lib/locales.d.ts +1 -0
- package/dist/cjs/lib/locales.js +6 -0
- package/dist/cjs/lib/locales.js.map +1 -0
- package/dist/cjs/selection/index.d.ts +3 -0
- package/dist/cjs/selection/index.js +20 -0
- package/dist/cjs/selection/index.js.map +1 -0
- package/dist/cjs/selection/useMulti.d.ts +25 -0
- package/dist/cjs/selection/useMulti.js +86 -0
- package/dist/cjs/selection/useMulti.js.map +1 -0
- package/dist/cjs/selection/useRange.d.ts +25 -0
- package/dist/cjs/selection/useRange.js +86 -0
- package/dist/cjs/selection/useRange.js.map +1 -0
- package/dist/cjs/selection/useSingle.d.ts +23 -0
- package/dist/cjs/selection/useSingle.js +63 -0
- package/dist/cjs/selection/useSingle.js.map +1 -0
- package/dist/{esm/types-deprecated.d.ts → cjs/types/deprecated.d.ts} +23 -22
- package/dist/cjs/{types-deprecated.js → types/deprecated.js} +12 -12
- package/dist/cjs/types/deprecated.js.map +1 -0
- package/dist/cjs/types/index.d.ts +3 -0
- package/dist/cjs/types/index.js +20 -0
- package/dist/cjs/types/index.js.map +1 -0
- package/dist/cjs/types/props.d.ts +376 -0
- package/dist/cjs/{types.js → types/props.js} +1 -1
- package/dist/cjs/types/props.js.map +1 -0
- package/dist/cjs/types/shared.d.ts +218 -0
- package/dist/cjs/types/shared.js +3 -0
- package/dist/cjs/types/shared.js.map +1 -0
- package/dist/cjs/utc.d.ts +3 -0
- package/dist/cjs/utc.js +14 -0
- package/dist/cjs/utc.js.map +1 -0
- package/dist/cjs/utils/addToRange.d.ts +2 -2
- package/dist/cjs/utils/addToRange.js +12 -13
- package/dist/cjs/utils/addToRange.js.map +1 -1
- package/dist/cjs/utils/dateMatchModifiers.d.ts +2 -2
- package/dist/cjs/utils/dateMatchModifiers.js +12 -14
- package/dist/cjs/utils/dateMatchModifiers.js.map +1 -1
- package/dist/cjs/utils/isDateInRange.d.ts +2 -2
- package/dist/cjs/utils/isDateInRange.js +8 -8
- package/dist/cjs/utils/isDateInRange.js.map +1 -1
- package/dist/cjs/utils/typeguards.d.ts +34 -1
- package/dist/cjs/utils/typeguards.js +43 -1
- package/dist/cjs/utils/typeguards.js.map +1 -1
- package/dist/esm/DayPicker.d.ts +4 -7
- package/dist/esm/DayPicker.js +3 -6
- package/dist/esm/DayPicker.js.map +1 -1
- package/dist/esm/UI.d.ts +25 -14
- package/dist/esm/UI.js +34 -22
- package/dist/esm/UI.js.map +1 -1
- package/dist/esm/classes/CalendarDay.d.ts +4 -1
- package/dist/esm/classes/CalendarDay.js +6 -6
- package/dist/esm/classes/CalendarDay.js.map +1 -1
- package/dist/esm/components/Button.d.ts +2 -2
- package/dist/esm/components/Button.js +1 -1
- package/dist/esm/components/Button.js.map +1 -1
- package/dist/esm/components/Calendar.d.ts +1 -1
- package/dist/esm/components/Calendar.js +5 -6
- package/dist/esm/components/Calendar.js.map +1 -1
- package/dist/esm/components/Chevron.d.ts +1 -1
- package/dist/esm/components/Chevron.js +4 -4
- package/dist/esm/components/Chevron.js.map +1 -1
- package/dist/esm/components/Day.d.ts +3 -3
- package/dist/esm/components/Day.js +1 -1
- package/dist/esm/components/DayDate.d.ts +13 -3
- package/dist/esm/components/DayDate.js +6 -1
- package/dist/esm/components/DayDate.js.map +1 -1
- package/dist/esm/components/DayWrapper.js +37 -21
- package/dist/esm/components/DayWrapper.js.map +1 -1
- package/dist/esm/components/Dropdown.d.ts +3 -4
- package/dist/esm/components/Dropdown.js +2 -2
- package/dist/esm/components/Dropdown.js.map +1 -1
- package/dist/esm/components/DropdownNav.d.ts +1 -1
- package/dist/esm/components/DropdownNav.js +5 -5
- package/dist/esm/components/DropdownNav.js.map +1 -1
- package/dist/esm/components/Footer.d.ts +2 -2
- package/dist/esm/components/Footer.js +1 -1
- package/dist/esm/components/Footer.js.map +1 -1
- package/dist/esm/components/Month.d.ts +1 -1
- package/dist/esm/components/Month.js +4 -4
- package/dist/esm/components/Month.js.map +1 -1
- package/dist/esm/components/MonthCaption.d.ts +1 -1
- package/dist/esm/components/MonthCaption.js +4 -4
- package/dist/esm/components/MonthCaption.js.map +1 -1
- package/dist/esm/components/Months.d.ts +1 -1
- package/dist/esm/components/Months.js +1 -1
- package/dist/esm/components/MonthsDropdown.d.ts +1 -1
- package/dist/esm/components/MonthsDropdown.js +5 -8
- package/dist/esm/components/MonthsDropdown.js.map +1 -1
- package/dist/esm/components/Nav.d.ts +1 -1
- package/dist/esm/components/Nav.js +2 -3
- package/dist/esm/components/Nav.js.map +1 -1
- package/dist/esm/components/Option.d.ts +1 -1
- package/dist/esm/components/Option.js +1 -1
- package/dist/esm/components/Select.d.ts +1 -1
- package/dist/esm/components/Select.js +1 -1
- package/dist/esm/components/Week.d.ts +1 -1
- package/dist/esm/components/Week.js +3 -4
- package/dist/esm/components/Week.js.map +1 -1
- package/dist/esm/components/WeekNumber.d.ts +1 -1
- package/dist/esm/components/WeekNumber.js +4 -4
- package/dist/esm/components/WeekNumber.js.map +1 -1
- package/dist/esm/components/Weekday.d.ts +1 -1
- package/dist/esm/components/Weekday.js +7 -5
- package/dist/esm/components/Weekday.js.map +1 -1
- package/dist/esm/components/Weekdays.d.ts +1 -1
- package/dist/esm/components/Weekdays.js +4 -4
- package/dist/esm/components/Weekdays.js.map +1 -1
- package/dist/esm/components/YearsDropdown.d.ts +1 -1
- package/dist/esm/components/YearsDropdown.js +5 -8
- package/dist/esm/components/YearsDropdown.js.map +1 -1
- package/dist/esm/contexts/index.d.ts +4 -0
- package/dist/esm/contexts/index.js +5 -0
- package/dist/esm/contexts/index.js.map +1 -0
- package/dist/esm/contexts/providers.d.ts +9 -0
- package/dist/esm/contexts/providers.js +26 -0
- package/dist/esm/contexts/providers.js.map +1 -0
- package/dist/esm/contexts/{calendar.d.ts → useCalendar.d.ts} +20 -33
- package/dist/esm/contexts/{calendar.js → useCalendar.js} +45 -37
- package/dist/esm/contexts/useCalendar.js.map +1 -0
- package/dist/{cjs/contexts/focus.d.ts → esm/contexts/useFocus.d.ts} +23 -18
- package/dist/esm/contexts/{focus.js → useFocus.js} +40 -33
- package/dist/esm/contexts/useFocus.js.map +1 -0
- package/dist/esm/contexts/useModifiers.d.ts +24 -0
- package/dist/esm/contexts/useModifiers.js +159 -0
- package/dist/esm/contexts/useModifiers.js.map +1 -0
- package/dist/esm/contexts/useProps.d.ts +45 -0
- package/dist/esm/contexts/useProps.js +67 -0
- package/dist/esm/contexts/useProps.js.map +1 -0
- package/dist/esm/formatters/formatCaption.d.ts +4 -2
- package/dist/esm/formatters/formatCaption.js +4 -3
- package/dist/esm/formatters/formatCaption.js.map +1 -1
- package/dist/esm/formatters/formatDay.d.ts +3 -2
- package/dist/esm/formatters/formatDay.js +3 -3
- package/dist/esm/formatters/formatDay.js.map +1 -1
- package/dist/esm/formatters/formatMonthDropdown.d.ts +5 -2
- package/dist/esm/formatters/formatMonthDropdown.js +8 -3
- package/dist/esm/formatters/formatMonthDropdown.js.map +1 -1
- package/dist/esm/formatters/formatWeekNumber.d.ts +1 -2
- package/dist/esm/formatters/formatWeekNumber.js +1 -3
- package/dist/esm/formatters/formatWeekNumber.js.map +1 -1
- package/dist/esm/formatters/formatWeekdayName.d.ts +3 -2
- package/dist/esm/formatters/formatWeekdayName.js +3 -3
- package/dist/esm/formatters/formatWeekdayName.js.map +1 -1
- package/dist/esm/formatters/formatYearDropdown.d.ts +1 -0
- package/dist/esm/formatters/formatYearDropdown.js +1 -0
- package/dist/esm/formatters/formatYearDropdown.js.map +1 -1
- package/dist/esm/helpers/debounce.js.map +1 -1
- package/dist/esm/helpers/getClassNamesForModifiers.d.ts +2 -2
- package/dist/esm/helpers/getClassNamesForModifiers.js +8 -5
- package/dist/esm/helpers/getClassNamesForModifiers.js.map +1 -1
- package/dist/esm/helpers/getDataAttributes.d.ts +2 -2
- package/dist/esm/helpers/getDataAttributes.js.map +1 -1
- package/dist/esm/helpers/getDates.d.ts +3 -14
- package/dist/esm/helpers/getDates.js +4 -23
- package/dist/esm/helpers/getDates.js.map +1 -1
- package/dist/esm/helpers/getDefaultClassNames.js +8 -4
- package/dist/esm/helpers/getDefaultClassNames.js.map +1 -1
- package/dist/esm/helpers/getDisplayMonths.d.ts +2 -5
- package/dist/esm/helpers/getDisplayMonths.js +4 -6
- package/dist/esm/helpers/getDisplayMonths.js.map +1 -1
- package/dist/esm/helpers/getDropdownMonths.d.ts +2 -5
- package/dist/esm/helpers/getDropdownMonths.js +10 -14
- package/dist/esm/helpers/getDropdownMonths.js.map +1 -1
- package/dist/esm/helpers/getDropdownYears.d.ts +2 -5
- package/dist/esm/helpers/getDropdownYears.js +10 -17
- package/dist/esm/helpers/getDropdownYears.js.map +1 -1
- package/dist/esm/helpers/getFormatters.d.ts +2 -2
- package/dist/esm/helpers/getFormatters.js.map +1 -1
- package/dist/esm/helpers/getInitialMonth.d.ts +3 -0
- package/dist/esm/helpers/{getStartMonth.js → getInitialMonth.js} +4 -6
- package/dist/esm/helpers/getInitialMonth.js.map +1 -0
- package/dist/esm/helpers/getMonths.d.ts +4 -2
- package/dist/esm/helpers/getMonths.js +17 -22
- package/dist/esm/helpers/getMonths.js.map +1 -1
- package/dist/esm/helpers/getNextFocus.d.ts +4 -5
- package/dist/esm/helpers/getNextFocus.js +5 -3
- package/dist/esm/helpers/getNextFocus.js.map +1 -1
- package/dist/esm/helpers/getNextMonth.d.ts +2 -8
- package/dist/esm/helpers/getNextMonth.js +7 -9
- package/dist/esm/helpers/getNextMonth.js.map +1 -1
- package/dist/esm/helpers/getPossibleFocusDate.d.ts +3 -3
- package/dist/esm/helpers/getPossibleFocusDate.js +1 -10
- package/dist/esm/helpers/getPossibleFocusDate.js.map +1 -1
- package/dist/esm/helpers/getPreviousMonth.d.ts +2 -8
- package/dist/esm/helpers/getPreviousMonth.js +6 -8
- package/dist/esm/helpers/getPreviousMonth.js.map +1 -1
- package/dist/esm/helpers/getStartEndMonths.d.ts +2 -2
- package/dist/esm/helpers/getStartEndMonths.js +5 -6
- package/dist/esm/helpers/getStartEndMonths.js.map +1 -1
- package/dist/esm/helpers/getStyleForModifiers.d.ts +2 -2
- package/dist/esm/helpers/getStyleForModifiers.js.map +1 -1
- package/dist/esm/helpers/getWeekdays.d.ts +5 -4
- package/dist/esm/helpers/getWeekdays.js +5 -7
- package/dist/esm/helpers/getWeekdays.js.map +1 -1
- package/dist/esm/index.d.ts +4 -7
- package/dist/esm/index.js +4 -7
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/jalali.d.ts +3 -0
- package/dist/esm/jalali.js +7 -0
- package/dist/esm/jalali.js.map +1 -0
- package/dist/esm/labels/labelCaption.d.ts +3 -2
- package/dist/esm/labels/labelCaption.js +2 -1
- package/dist/esm/labels/labelCaption.js.map +1 -1
- package/dist/esm/labels/labelDay.d.ts +4 -3
- package/dist/esm/labels/labelDay.js +2 -1
- package/dist/esm/labels/labelDay.js.map +1 -1
- package/dist/esm/labels/labelGrid.d.ts +3 -2
- package/dist/esm/labels/labelGrid.js +3 -3
- package/dist/esm/labels/labelGrid.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/labelNext.d.ts +2 -2
- package/dist/esm/labels/labelNext.js.map +1 -1
- package/dist/esm/labels/labelPrevious.d.ts +2 -2
- package/dist/esm/labels/labelPrevious.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 +3 -2
- package/dist/esm/labels/labelWeekday.js +3 -3
- 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/lib/dateLib.d.ts +70 -0
- package/dist/esm/lib/dateLib.js +64 -0
- package/dist/esm/lib/dateLib.js.map +1 -0
- package/dist/esm/lib/index.d.ts +1 -0
- package/dist/esm/lib/index.js +2 -0
- package/dist/esm/lib/index.js.map +1 -0
- package/dist/esm/lib/locales.d.ts +1 -0
- package/dist/esm/lib/locales.js +2 -0
- package/dist/esm/lib/locales.js.map +1 -0
- package/dist/esm/selection/index.d.ts +3 -0
- package/dist/esm/selection/index.js +4 -0
- package/dist/esm/selection/index.js.map +1 -0
- package/dist/esm/selection/useMulti.d.ts +25 -0
- package/dist/esm/selection/useMulti.js +78 -0
- package/dist/esm/selection/useMulti.js.map +1 -0
- package/dist/esm/selection/useRange.d.ts +25 -0
- package/dist/esm/selection/useRange.js +78 -0
- package/dist/esm/selection/useRange.js.map +1 -0
- package/dist/esm/selection/useSingle.d.ts +23 -0
- package/dist/esm/selection/useSingle.js +55 -0
- package/dist/esm/selection/useSingle.js.map +1 -0
- package/dist/{cjs/types-deprecated.d.ts → esm/types/deprecated.d.ts} +23 -22
- package/dist/esm/{types-deprecated.js → types/deprecated.js} +10 -10
- package/dist/esm/types/deprecated.js.map +1 -0
- package/dist/esm/types/index.d.ts +3 -0
- package/dist/esm/types/index.js +4 -0
- package/dist/esm/types/index.js.map +1 -0
- package/dist/esm/types/props.d.ts +376 -0
- package/dist/esm/types/props.js +2 -0
- package/dist/esm/types/props.js.map +1 -0
- package/dist/esm/types/shared.d.ts +218 -0
- package/dist/esm/types/shared.js +2 -0
- package/dist/esm/types/shared.js.map +1 -0
- package/dist/esm/utc.d.ts +3 -0
- package/dist/esm/utc.js +7 -0
- package/dist/esm/utc.js.map +1 -0
- package/dist/esm/utils/addToRange.d.ts +2 -2
- package/dist/esm/utils/addToRange.js +5 -6
- package/dist/esm/utils/addToRange.js.map +1 -1
- package/dist/esm/utils/dateMatchModifiers.d.ts +2 -2
- package/dist/esm/utils/dateMatchModifiers.js +6 -8
- package/dist/esm/utils/dateMatchModifiers.js.map +1 -1
- package/dist/esm/utils/isDateInRange.d.ts +2 -2
- package/dist/esm/utils/isDateInRange.js +3 -3
- package/dist/esm/utils/isDateInRange.js.map +1 -1
- package/dist/esm/utils/typeguards.d.ts +34 -1
- package/dist/esm/utils/typeguards.js +39 -0
- package/dist/esm/utils/typeguards.js.map +1 -1
- package/examples/Controlled.test.tsx +4 -3
- package/examples/CssModules.tsx +1 -1
- package/examples/CustomCaption.tsx +5 -1
- package/examples/CustomDayDate.test.tsx +3 -2
- package/examples/CustomDayDate.tsx +5 -6
- package/examples/CustomMultiple.test.tsx +3 -1
- package/examples/CustomMultiple.tsx +5 -2
- package/examples/CustomSingle.test.tsx +6 -4
- package/examples/CustomSingle.tsx +2 -2
- package/examples/CustomWeek.test.tsx +6 -4
- package/examples/DefaultMonth.test.tsx +3 -1
- package/examples/Dialog.tsx +2 -2
- package/examples/Disabled.test.tsx +6 -4
- package/examples/Dropdown.test.tsx +3 -1
- package/examples/DropdownMultipleMonths.test.tsx +3 -1
- package/examples/FixedWeeks.test.tsx +3 -1
- package/examples/FocusRecursive.test.tsx +10 -9
- package/examples/Formatters.test.tsx +3 -1
- package/examples/FromToMonth.test.tsx +2 -2
- package/examples/FromToYear.test.tsx +5 -3
- package/examples/Input.test.tsx +9 -1
- package/examples/Jalali.test.tsx +16 -0
- package/examples/Jalali.tsx +8 -0
- package/examples/Keyboard.test.tsx +26 -24
- package/examples/Keyboard.tsx +6 -2
- package/examples/ModifiersClassnames.test.tsx +3 -1
- package/examples/ModifiersClassnames.tsx +3 -1
- package/examples/ModifiersDisabled.tsx +1 -1
- package/examples/ModifiersHidden.test.tsx +3 -1
- package/examples/ModifiersStyle.test.tsx +3 -1
- package/examples/ModifiersToday.test.tsx +3 -1
- package/examples/Multiple.test.tsx +11 -1
- package/examples/MultipleMinMax.test.tsx +3 -1
- package/examples/MultipleMinMax.tsx +2 -9
- package/examples/MultipleMonths.test.tsx +3 -1
- package/examples/MultipleMonthsId.test.tsx +3 -1
- package/examples/MultipleMonthsPaged.test.tsx +3 -1
- package/examples/None.tsx +1 -1
- package/examples/NumberingSystem.test.tsx +3 -1
- package/examples/OutsideDays.test.tsx +3 -1
- package/examples/Range.test.tsx +5 -5
- package/examples/Range.tsx +5 -5
- package/examples/RangeMinMax.test.tsx +55 -0
- package/examples/RangeMinMax.tsx +12 -9
- package/examples/RangeShiftKey.test.tsx +7 -5
- package/examples/RangeShiftKey.tsx +3 -3
- package/examples/Rtl.test.tsx +3 -1
- package/examples/Single.test.tsx +8 -3
- package/examples/Spanish.test.tsx +3 -1
- package/examples/Start.test.tsx +3 -1
- package/examples/StylingCss.test.tsx +3 -1
- package/examples/StylingCssModules.test.tsx +3 -1
- package/examples/StylingInline.test.tsx +3 -1
- package/examples/TestCase2047.tsx +1 -1
- package/examples/Testcase1567.tsx +2 -4
- package/examples/Utc.tsx +19 -0
- package/examples/Weeknumber.test.tsx +7 -4
- package/examples/__snapshots__/Range.test.tsx.snap +97 -97
- package/examples/__snapshots__/StylingCssModules.test.tsx.snap +33 -33
- package/examples/index.ts +2 -0
- package/package.json +36 -6
- package/src/DayPicker.tsx +5 -11
- package/src/UI.ts +26 -14
- package/src/classes/CalendarDay.ts +16 -6
- package/src/components/Button.tsx +2 -5
- package/src/components/Calendar.tsx +5 -6
- package/src/components/Chevron.tsx +4 -4
- package/src/components/Day.tsx +4 -4
- package/src/components/DayDate.tsx +14 -3
- package/src/components/DayWrapper.tsx +59 -44
- package/src/components/Dropdown.tsx +4 -6
- package/src/components/DropdownNav.tsx +21 -5
- package/src/components/Footer.tsx +2 -2
- package/src/components/Month.tsx +4 -4
- package/src/components/MonthCaption.tsx +7 -4
- package/src/components/Months.tsx +1 -1
- package/src/components/MonthsDropdown.tsx +5 -8
- package/src/components/Nav.tsx +3 -4
- package/src/components/Option.tsx +1 -1
- package/src/components/Select.tsx +1 -1
- package/src/components/Week.tsx +9 -5
- package/src/components/WeekNumber.tsx +4 -4
- package/src/components/Weekday.tsx +7 -4
- package/src/components/Weekdays.tsx +4 -3
- package/src/components/YearsDropdown.tsx +5 -8
- package/src/contexts/index.ts +4 -0
- package/src/contexts/providers.tsx +46 -0
- package/src/contexts/{calendar.test.tsx → useCalendar.test.ts} +1 -3
- package/src/contexts/{calendar.tsx → useCalendar.tsx} +75 -73
- package/src/contexts/{focus.test.tsx → useFocus.test.tsx} +2 -4
- package/src/contexts/{focus.tsx → useFocus.tsx} +73 -59
- package/src/contexts/useModifiers.tsx +221 -0
- package/src/contexts/useProps.tsx +128 -0
- package/src/formatters/formatCaption.test.ts +6 -2
- package/src/formatters/formatCaption.ts +6 -3
- package/src/formatters/formatDay.ts +9 -3
- package/src/formatters/formatMonthDropdown.test.ts +2 -5
- package/src/formatters/formatMonthDropdown.ts +12 -4
- package/src/formatters/formatWeekNumber.ts +1 -7
- package/src/formatters/formatWeekdayName.ts +6 -3
- package/src/formatters/formatYearDropdown.ts +1 -0
- package/src/helpers/debounce.ts +0 -2
- package/src/helpers/getClassNamesForModifiers.ts +8 -11
- package/src/helpers/getDataAttributes.tsx +4 -4
- package/src/helpers/getDates.test.ts +21 -10
- package/src/helpers/getDates.ts +19 -28
- package/src/helpers/getDefaultClassNames.ts +11 -5
- package/src/helpers/getDisplayMonths.test.ts +17 -10
- package/src/helpers/getDisplayMonths.ts +6 -11
- package/src/helpers/getDropdownMonths.test.ts +32 -63
- package/src/helpers/getDropdownMonths.ts +17 -27
- package/src/helpers/getDropdownYears.test.ts +36 -56
- package/src/helpers/getDropdownYears.ts +25 -23
- package/src/helpers/getFormatters.test.ts +9 -5
- package/src/helpers/getFormatters.ts +2 -2
- package/src/helpers/{getStartMonth.test.ts → getInitialMonth.test.ts} +35 -8
- package/src/helpers/{getStartMonth.ts → getInitialMonth.ts} +15 -19
- package/src/helpers/getMonths.test.ts +84 -87
- package/src/helpers/getMonths.ts +29 -26
- package/src/helpers/getNextFocus.test.tsx +15 -12
- package/src/helpers/getNextFocus.tsx +14 -10
- package/src/helpers/getNextMonth.test.ts +17 -6
- package/src/helpers/getNextMonth.ts +20 -17
- package/src/helpers/getPossibleFocusDate.test.ts +7 -6
- package/src/helpers/getPossibleFocusDate.ts +21 -17
- package/src/helpers/getPreviousMonth.test.ts +57 -63
- package/src/helpers/getPreviousMonth.ts +14 -15
- package/src/helpers/getStartEndMonths.ts +17 -11
- package/src/helpers/getStyleForModifiers.test.ts +6 -6
- package/src/helpers/getStyleForModifiers.ts +2 -2
- package/src/helpers/getWeekdays.test.ts +5 -9
- package/src/helpers/getWeekdays.ts +10 -10
- package/src/helpers/useControlledValue.test.ts +2 -2
- package/src/index.ts +7 -7
- package/src/jalali.tsx +9 -0
- package/src/labels/labelCaption.ts +5 -2
- package/src/labels/labelDay.test.ts +2 -2
- package/src/labels/labelDay.ts +7 -5
- package/src/labels/labelGrid.ts +10 -3
- package/src/labels/labelMonthDropdown.ts +2 -2
- package/src/labels/labelNext.ts +2 -2
- package/src/labels/labelPrevious.ts +2 -2
- package/src/labels/labelWeekNumber.ts +2 -2
- package/src/labels/labelWeekNumberHeader.ts +2 -2
- package/src/labels/labelWeekday.test.ts +1 -1
- package/src/labels/labelWeekday.ts +6 -3
- package/src/labels/labelYearDropdown.ts +2 -2
- package/src/lib/dateLib.ts +72 -0
- package/src/lib/index.ts +1 -0
- package/src/lib/locales.ts +1 -0
- package/src/selection/index.ts +3 -0
- package/src/selection/useMulti.tsx +120 -0
- package/src/selection/useRange.tsx +125 -0
- package/src/selection/useSingle.tsx +96 -0
- package/src/style.css +11 -6
- package/src/style.module.css +10 -6
- package/src/{types-deprecated.ts → types/deprecated.ts} +27 -30
- package/src/types/index.ts +3 -0
- package/src/types/props.test.tsx +65 -0
- package/src/types/props.ts +439 -0
- package/src/types/shared.ts +291 -0
- package/src/utc.tsx +9 -0
- package/src/utils/addToRange.test.ts +3 -3
- package/src/utils/addToRange.ts +8 -9
- package/src/utils/dateMatchModifiers.test.ts +13 -12
- package/src/utils/dateMatchModifiers.ts +8 -10
- package/src/utils/isDateInRange.test.ts +1 -1
- package/src/utils/isDateInRange.ts +8 -5
- package/src/utils/typeguards.ts +56 -1
- package/website/README.md +0 -16
- package/website/docs/advanced-guides/custom-components.mdx +18 -15
- package/website/docs/advanced-guides/custom-modifiers.mdx +54 -69
- package/website/docs/changelog.mdx +0 -1
- package/website/docs/{intro.md → intro.mdx} +10 -9
- package/website/docs/upgrading.mdx +7 -7
- package/website/docs/using-daypicker/customization.mdx +14 -19
- package/website/docs/using-daypicker/localization.mdx +93 -0
- package/website/docs/using-daypicker/selection-modes.mdx +45 -36
- package/website/docs/using-daypicker/styling.mdx +16 -10
- package/dist/cjs/contexts/calendar.js +0 -126
- package/dist/cjs/contexts/calendar.js.map +0 -1
- package/dist/cjs/contexts/focus.js.map +0 -1
- package/dist/cjs/contexts/modifiers.d.ts +0 -31
- package/dist/cjs/contexts/modifiers.js +0 -152
- package/dist/cjs/contexts/modifiers.js.map +0 -1
- package/dist/cjs/contexts/props.d.ts +0 -51
- package/dist/cjs/contexts/props.js +0 -84
- package/dist/cjs/contexts/props.js.map +0 -1
- package/dist/cjs/contexts/root.d.ts +0 -8
- package/dist/cjs/contexts/root.js +0 -27
- package/dist/cjs/contexts/root.js.map +0 -1
- package/dist/cjs/contexts/selection.d.ts +0 -49
- package/dist/cjs/contexts/selection.js +0 -206
- package/dist/cjs/contexts/selection.js.map +0 -1
- package/dist/cjs/helpers/calculateMonthWeeks.d.ts +0 -9
- package/dist/cjs/helpers/calculateMonthWeeks.js +0 -36
- package/dist/cjs/helpers/calculateMonthWeeks.js.map +0 -1
- package/dist/cjs/helpers/getMonthWeeks.d.ts +0 -19
- package/dist/cjs/helpers/getMonthWeeks.js +0 -26
- package/dist/cjs/helpers/getMonthWeeks.js.map +0 -1
- package/dist/cjs/helpers/getStartMonth.d.ts +0 -3
- package/dist/cjs/helpers/getStartMonth.js +0 -23
- package/dist/cjs/helpers/getStartMonth.js.map +0 -1
- package/dist/cjs/types-deprecated.js.map +0 -1
- package/dist/cjs/types.d.ts +0 -606
- package/dist/cjs/types.js.map +0 -1
- package/dist/esm/contexts/calendar.js.map +0 -1
- package/dist/esm/contexts/focus.js.map +0 -1
- package/dist/esm/contexts/modifiers.d.ts +0 -31
- package/dist/esm/contexts/modifiers.js +0 -124
- package/dist/esm/contexts/modifiers.js.map +0 -1
- package/dist/esm/contexts/props.d.ts +0 -51
- package/dist/esm/contexts/props.js +0 -56
- package/dist/esm/contexts/props.js.map +0 -1
- package/dist/esm/contexts/root.d.ts +0 -8
- package/dist/esm/contexts/root.js +0 -20
- package/dist/esm/contexts/root.js.map +0 -1
- package/dist/esm/contexts/selection.d.ts +0 -49
- package/dist/esm/contexts/selection.js +0 -178
- package/dist/esm/contexts/selection.js.map +0 -1
- package/dist/esm/helpers/calculateMonthWeeks.d.ts +0 -9
- package/dist/esm/helpers/calculateMonthWeeks.js +0 -32
- package/dist/esm/helpers/calculateMonthWeeks.js.map +0 -1
- package/dist/esm/helpers/getMonthWeeks.d.ts +0 -19
- package/dist/esm/helpers/getMonthWeeks.js +0 -22
- package/dist/esm/helpers/getMonthWeeks.js.map +0 -1
- package/dist/esm/helpers/getStartMonth.d.ts +0 -3
- package/dist/esm/helpers/getStartMonth.js.map +0 -1
- package/dist/esm/types-deprecated.js.map +0 -1
- package/dist/esm/types.d.ts +0 -606
- package/dist/esm/types.js +0 -2
- package/dist/esm/types.js.map +0 -1
- package/src/contexts/modifiers.tsx +0 -177
- package/src/contexts/props.tsx +0 -129
- package/src/contexts/root.tsx +0 -33
- package/src/contexts/selection.tsx +0 -264
- package/src/helpers/calculateMonthWeeks.test.ts +0 -47
- package/src/helpers/calculateMonthWeeks.ts +0 -60
- package/src/helpers/getMonthWeeks.test.ts +0 -100
- package/src/helpers/getMonthWeeks.ts +0 -55
- package/src/types.test.tsx +0 -52
- package/src/types.ts +0 -699
|
@@ -1,100 +0,0 @@
|
|
|
1
|
-
import { enGB, enUS } from "date-fns/locale";
|
|
2
|
-
|
|
3
|
-
import { getMonthWeeks } from "./getMonthWeeks";
|
|
4
|
-
|
|
5
|
-
describe('when using the "enUS" locale', () => {
|
|
6
|
-
const locale = enUS;
|
|
7
|
-
describe("when using fixed weeks", () => {
|
|
8
|
-
const useFixedWeeks = true;
|
|
9
|
-
describe("when getting the weeks for December 2022", () => {
|
|
10
|
-
const date = new Date(2022, 11);
|
|
11
|
-
const weeks = getMonthWeeks(date, { useFixedWeeks, locale });
|
|
12
|
-
test("should return 49 - 1 week numbers", () => {
|
|
13
|
-
const weekNumbers = weeks.map((week) => week.weekNumber);
|
|
14
|
-
const expectedResult = [49, 50, 51, 52, 53, 1];
|
|
15
|
-
expect(weekNumbers).toEqual(expectedResult);
|
|
16
|
-
});
|
|
17
|
-
test("the last week should be the one in the next year", () => {
|
|
18
|
-
const lastWeek = weeks[weeks.length - 1];
|
|
19
|
-
const lastWeekDates = lastWeek.dates.map((date) => date.getDate());
|
|
20
|
-
const expectedResult = [1, 2, 3, 4, 5, 6, 7];
|
|
21
|
-
expect(lastWeekDates).toEqual(expectedResult);
|
|
22
|
-
});
|
|
23
|
-
});
|
|
24
|
-
describe("when getting the weeks for December 2021", () => {
|
|
25
|
-
const weeks = getMonthWeeks(new Date(2021, 11), {
|
|
26
|
-
useFixedWeeks: false,
|
|
27
|
-
locale: enUS
|
|
28
|
-
});
|
|
29
|
-
test("should return 49 - 1 week numbers", () => {
|
|
30
|
-
const weekNumbers = weeks.map((week) => week.weekNumber);
|
|
31
|
-
const expectedResult = [49, 50, 51, 52, 1];
|
|
32
|
-
expect(weekNumbers).toEqual(expectedResult);
|
|
33
|
-
});
|
|
34
|
-
test("the last week should be the last in the year", () => {
|
|
35
|
-
const lastWeek = weeks[weeks.length - 1];
|
|
36
|
-
const lastWeekDates = lastWeek.dates.map((date) => date.getDate());
|
|
37
|
-
const expectedResult = [26, 27, 28, 29, 30, 31, 1];
|
|
38
|
-
expect(lastWeekDates).toEqual(expectedResult);
|
|
39
|
-
});
|
|
40
|
-
test("week 1 contains the first day of the new year", () => {
|
|
41
|
-
expect(weeks[4].dates.map((date) => date.getDate())).toEqual([
|
|
42
|
-
26, 27, 28, 29, 30, 31, 1
|
|
43
|
-
]);
|
|
44
|
-
});
|
|
45
|
-
});
|
|
46
|
-
});
|
|
47
|
-
});
|
|
48
|
-
|
|
49
|
-
describe('when using the "enGB" locale', () => {
|
|
50
|
-
const locale = enGB;
|
|
51
|
-
describe("when getting the weeks for January 2022", () => {
|
|
52
|
-
const date = new Date(2022, 0);
|
|
53
|
-
const weeks = getMonthWeeks(date, { locale });
|
|
54
|
-
test("the first week should be the last of the previous year", () => {
|
|
55
|
-
const weekNumbers = weeks.map((week) => week.weekNumber);
|
|
56
|
-
expect(weekNumbers[0]).toEqual(52);
|
|
57
|
-
});
|
|
58
|
-
test("the first week should contain days from previous year", () => {
|
|
59
|
-
expect(weeks[0].dates.map((date) => date.getDate())).toEqual([
|
|
60
|
-
27, 28, 29, 30, 31, 1, 2
|
|
61
|
-
]);
|
|
62
|
-
});
|
|
63
|
-
test("the last week should be the last of January", () => {
|
|
64
|
-
const weekNumbers = weeks.map((week) => week.weekNumber);
|
|
65
|
-
expect(weekNumbers[weekNumbers.length - 1]).toEqual(5);
|
|
66
|
-
});
|
|
67
|
-
});
|
|
68
|
-
describe("when setting thursday as first day of year", () => {
|
|
69
|
-
const date = new Date(2022, 0);
|
|
70
|
-
const weeks = getMonthWeeks(date, { locale, firstWeekContainsDate: 4 });
|
|
71
|
-
test("the number of week should have number 52", () => {
|
|
72
|
-
const weekNumbers = weeks.map((week) => week.weekNumber);
|
|
73
|
-
expect(weekNumbers[0]).toEqual(52);
|
|
74
|
-
});
|
|
75
|
-
});
|
|
76
|
-
});
|
|
77
|
-
|
|
78
|
-
describe("when using the ISOWeek numbers", () => {
|
|
79
|
-
const locale = enUS;
|
|
80
|
-
describe("when getting the weeks for September 2022", () => {
|
|
81
|
-
const date = new Date(2022, 8);
|
|
82
|
-
const weeks = getMonthWeeks(date, { locale, ISOWeek: true });
|
|
83
|
-
test("the last week should have number 39", () => {
|
|
84
|
-
const weekNumbers = weeks.map((week) => week.weekNumber);
|
|
85
|
-
expect(weekNumbers[weekNumbers.length - 1]).toEqual(39);
|
|
86
|
-
});
|
|
87
|
-
});
|
|
88
|
-
});
|
|
89
|
-
|
|
90
|
-
describe("when not using the ISOWeek numbers", () => {
|
|
91
|
-
const locale = enUS;
|
|
92
|
-
describe("when getting the weeks for September 2022", () => {
|
|
93
|
-
const date = new Date(2022, 8);
|
|
94
|
-
const weeks = getMonthWeeks(date, { locale, ISOWeek: false });
|
|
95
|
-
test("the last week should have number 40", () => {
|
|
96
|
-
const weekNumbers = weeks.map((week) => week.weekNumber);
|
|
97
|
-
expect(weekNumbers[weekNumbers.length - 1]).toEqual(40);
|
|
98
|
-
});
|
|
99
|
-
});
|
|
100
|
-
});
|
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
addWeeks,
|
|
3
|
-
endOfMonth,
|
|
4
|
-
getWeeksInMonth,
|
|
5
|
-
Locale,
|
|
6
|
-
startOfMonth
|
|
7
|
-
} from "date-fns";
|
|
8
|
-
|
|
9
|
-
import { calculateMonthWeeks } from "./calculateMonthWeeks";
|
|
10
|
-
|
|
11
|
-
/** Represent a week in the month. */
|
|
12
|
-
export type MonthWeek = {
|
|
13
|
-
/** The week number from the start of the year. */
|
|
14
|
-
weekNumber: number;
|
|
15
|
-
/** The dates in the week. */
|
|
16
|
-
dates: Date[];
|
|
17
|
-
};
|
|
18
|
-
|
|
19
|
-
/**
|
|
20
|
-
* Return the weeks belonging to the given month, adding the "outside days" to
|
|
21
|
-
* the first and last week.
|
|
22
|
-
*/
|
|
23
|
-
export function getMonthWeeks(
|
|
24
|
-
month: Date,
|
|
25
|
-
options: {
|
|
26
|
-
locale: Locale;
|
|
27
|
-
useFixedWeeks?: boolean;
|
|
28
|
-
weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6;
|
|
29
|
-
firstWeekContainsDate?: 1 | 4;
|
|
30
|
-
ISOWeek?: boolean;
|
|
31
|
-
}
|
|
32
|
-
): MonthWeek[] {
|
|
33
|
-
const weeksInMonth: MonthWeek[] = calculateMonthWeeks(
|
|
34
|
-
startOfMonth(month),
|
|
35
|
-
endOfMonth(month),
|
|
36
|
-
options
|
|
37
|
-
);
|
|
38
|
-
|
|
39
|
-
if (options?.useFixedWeeks) {
|
|
40
|
-
// Add extra weeks to the month, up to 6 weeks
|
|
41
|
-
const nrOfMonthWeeks = getWeeksInMonth(month, options);
|
|
42
|
-
if (nrOfMonthWeeks < 6) {
|
|
43
|
-
const lastWeek = weeksInMonth[weeksInMonth.length - 1];
|
|
44
|
-
const lastDate = lastWeek.dates[lastWeek.dates.length - 1];
|
|
45
|
-
const toDate = addWeeks(lastDate, 6 - nrOfMonthWeeks);
|
|
46
|
-
const extraWeeks = calculateMonthWeeks(
|
|
47
|
-
addWeeks(lastDate, 1),
|
|
48
|
-
toDate,
|
|
49
|
-
options
|
|
50
|
-
);
|
|
51
|
-
weeksInMonth.push(...extraWeeks);
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
return weeksInMonth;
|
|
55
|
-
}
|
package/src/types.test.tsx
DELETED
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
import React from "react";
|
|
2
|
-
|
|
3
|
-
import { DayPicker } from "./DayPicker";
|
|
4
|
-
|
|
5
|
-
const Test = () => {
|
|
6
|
-
return (
|
|
7
|
-
<>
|
|
8
|
-
<DayPicker />
|
|
9
|
-
<DayPicker mode="default" />
|
|
10
|
-
<DayPicker
|
|
11
|
-
mode="single"
|
|
12
|
-
selected={new Date()}
|
|
13
|
-
onSelect={(date: Date | undefined) => {}}
|
|
14
|
-
/>
|
|
15
|
-
<DayPicker
|
|
16
|
-
mode="single"
|
|
17
|
-
required={true}
|
|
18
|
-
/* // @ts-expect-error Missing `selected` *. */
|
|
19
|
-
selected={undefined}
|
|
20
|
-
onSelect={(selected: Date, date: Date, modifiers) => {}}
|
|
21
|
-
/>
|
|
22
|
-
{/** @ts-expect-error Wrong selected prop */}
|
|
23
|
-
<DayPicker mode="multi" selected={new Date()} />
|
|
24
|
-
<DayPicker
|
|
25
|
-
mode="multiple"
|
|
26
|
-
// @ts-expect-error Wrong `onSelect`
|
|
27
|
-
onSelect={(date: Date) => {}}
|
|
28
|
-
/>
|
|
29
|
-
|
|
30
|
-
{/** @ts-expect-error Extra `selected` */}
|
|
31
|
-
<DayPicker mode="default" selected={new Date()} />
|
|
32
|
-
|
|
33
|
-
<DayPicker
|
|
34
|
-
mode="default"
|
|
35
|
-
modifiers={{ selected: new Date() }}
|
|
36
|
-
onDayClick={() => {}}
|
|
37
|
-
/>
|
|
38
|
-
<DayPicker
|
|
39
|
-
mode="default"
|
|
40
|
-
// @ts-expect-error Extra `selected`
|
|
41
|
-
selected={new Date()}
|
|
42
|
-
onDayClick={() => {}}
|
|
43
|
-
/>
|
|
44
|
-
{/* <DayPicker mode="custom" selected={undefined} /> */}
|
|
45
|
-
{/* <DayPicker mode="custom" onSelect={() => console.log(1)} /> */}
|
|
46
|
-
</>
|
|
47
|
-
);
|
|
48
|
-
};
|
|
49
|
-
|
|
50
|
-
it("should type-check", () => {
|
|
51
|
-
expect(true).toBeTruthy();
|
|
52
|
-
});
|