react-day-picker 9.2.1 → 9.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (114) hide show
  1. package/dist/cjs/DayPicker.js +1 -0
  2. package/dist/cjs/DayPicker.js.map +1 -1
  3. package/dist/cjs/formatters/formatMonthDropdown.d.ts +2 -1
  4. package/dist/cjs/formatters/formatMonthDropdown.js +1 -2
  5. package/dist/cjs/formatters/formatMonthDropdown.js.map +1 -1
  6. package/dist/cjs/helpers/getDates.d.ts +2 -0
  7. package/dist/cjs/helpers/getDates.js +5 -3
  8. package/dist/cjs/helpers/getDates.js.map +1 -1
  9. package/dist/cjs/helpers/getMonthOptions.d.ts +1 -1
  10. package/dist/cjs/helpers/getMonthOptions.js +2 -1
  11. package/dist/cjs/helpers/getMonthOptions.js.map +1 -1
  12. package/dist/cjs/helpers/getMonths.js +5 -2
  13. package/dist/cjs/helpers/getMonths.js.map +1 -1
  14. package/dist/cjs/selection/useRange.js +5 -13
  15. package/dist/cjs/selection/useRange.js.map +1 -1
  16. package/dist/cjs/types/deprecated.d.ts +7 -0
  17. package/dist/cjs/types/deprecated.js +0 -1
  18. package/dist/cjs/types/deprecated.js.map +1 -1
  19. package/dist/cjs/types/props.d.ts +12 -0
  20. package/dist/cjs/useDayPicker.d.ts +8 -1
  21. package/dist/cjs/useDayPicker.js +1 -1
  22. package/dist/cjs/useDayPicker.js.map +1 -1
  23. package/dist/cjs/useGetModifiers.d.ts +2 -0
  24. package/dist/cjs/useGetModifiers.js +2 -17
  25. package/dist/cjs/useGetModifiers.js.map +1 -1
  26. package/dist/cjs/utils/dateMatchModifiers.d.ts +7 -7
  27. package/dist/cjs/utils/dateMatchModifiers.js +7 -7
  28. package/dist/cjs/utils/index.d.ts +3 -0
  29. package/dist/cjs/utils/index.js +3 -0
  30. package/dist/cjs/utils/index.js.map +1 -1
  31. package/dist/cjs/utils/rangeContainsDayOfWeek.d.ts +19 -0
  32. package/dist/cjs/utils/rangeContainsDayOfWeek.js +33 -0
  33. package/dist/cjs/utils/rangeContainsDayOfWeek.js.map +1 -0
  34. package/dist/cjs/utils/rangeContainsModifiers.d.ts +25 -0
  35. package/dist/cjs/utils/rangeContainsModifiers.js +84 -0
  36. package/dist/cjs/utils/rangeContainsModifiers.js.map +1 -0
  37. package/dist/cjs/utils/rangeOverlaps.d.ts +13 -0
  38. package/dist/cjs/utils/rangeOverlaps.js +18 -0
  39. package/dist/cjs/utils/rangeOverlaps.js.map +1 -0
  40. package/dist/esm/DayPicker.js +1 -0
  41. package/dist/esm/DayPicker.js.map +1 -1
  42. package/dist/esm/formatters/formatMonthDropdown.d.ts +2 -1
  43. package/dist/esm/formatters/formatMonthDropdown.js +1 -2
  44. package/dist/esm/formatters/formatMonthDropdown.js.map +1 -1
  45. package/dist/esm/helpers/getDates.d.ts +2 -0
  46. package/dist/esm/helpers/getDates.js +3 -2
  47. package/dist/esm/helpers/getDates.js.map +1 -1
  48. package/dist/esm/helpers/getMonthOptions.d.ts +1 -1
  49. package/dist/esm/helpers/getMonthOptions.js +2 -1
  50. package/dist/esm/helpers/getMonthOptions.js.map +1 -1
  51. package/dist/esm/helpers/getMonths.js +5 -2
  52. package/dist/esm/helpers/getMonths.js.map +1 -1
  53. package/dist/esm/selection/useRange.js +6 -14
  54. package/dist/esm/selection/useRange.js.map +1 -1
  55. package/dist/esm/types/deprecated.d.ts +7 -0
  56. package/dist/esm/types/deprecated.js +0 -1
  57. package/dist/esm/types/deprecated.js.map +1 -1
  58. package/dist/esm/types/props.d.ts +12 -0
  59. package/dist/esm/useDayPicker.d.ts +8 -1
  60. package/dist/esm/useDayPicker.js +1 -1
  61. package/dist/esm/useDayPicker.js.map +1 -1
  62. package/dist/esm/useGetModifiers.d.ts +2 -0
  63. package/dist/esm/useGetModifiers.js +3 -18
  64. package/dist/esm/useGetModifiers.js.map +1 -1
  65. package/dist/esm/utils/dateMatchModifiers.d.ts +7 -7
  66. package/dist/esm/utils/dateMatchModifiers.js +7 -7
  67. package/dist/esm/utils/index.d.ts +3 -0
  68. package/dist/esm/utils/index.js +3 -0
  69. package/dist/esm/utils/index.js.map +1 -1
  70. package/dist/esm/utils/rangeContainsDayOfWeek.d.ts +19 -0
  71. package/dist/esm/utils/rangeContainsDayOfWeek.js +30 -0
  72. package/dist/esm/utils/rangeContainsDayOfWeek.js.map +1 -0
  73. package/dist/esm/utils/rangeContainsModifiers.d.ts +25 -0
  74. package/dist/esm/utils/rangeContainsModifiers.js +81 -0
  75. package/dist/esm/utils/rangeContainsModifiers.js.map +1 -0
  76. package/dist/esm/utils/rangeOverlaps.d.ts +13 -0
  77. package/dist/esm/utils/rangeOverlaps.js +15 -0
  78. package/dist/esm/utils/rangeOverlaps.js.map +1 -0
  79. package/examples/ItalianLabels.tsx +1 -1
  80. package/examples/RangeLong.tsx +1 -3
  81. package/examples/RangeLongExcludeDisabled.tsx +22 -0
  82. package/examples/TestCase2585.test.tsx +11 -0
  83. package/examples/TestCase2585.tsx +20 -0
  84. package/examples/__snapshots__/Range.test.tsx.snap +5 -5
  85. package/examples/index.ts +3 -0
  86. package/package.json +2 -2
  87. package/src/DayPicker.tsx +1 -0
  88. package/src/formatters/formatMonthDropdown.test.ts +5 -1
  89. package/src/formatters/formatMonthDropdown.ts +2 -3
  90. package/src/helpers/getDates.test.ts +30 -3
  91. package/src/helpers/getDates.ts +3 -2
  92. package/src/helpers/getMonthOptions.ts +5 -2
  93. package/src/helpers/getMonths.ts +6 -2
  94. package/src/selection/useRange.tsx +12 -18
  95. package/src/style.css +10 -14
  96. package/src/style.module.css +12 -16
  97. package/src/types/deprecated.ts +15 -0
  98. package/src/types/props.ts +12 -0
  99. package/src/useDayPicker.test.tsx +134 -0
  100. package/src/useDayPicker.ts +8 -1
  101. package/src/useGetModifiers.test.tsx +79 -0
  102. package/src/useGetModifiers.tsx +5 -21
  103. package/src/utils/dateMatchModifiers.ts +7 -7
  104. package/src/utils/index.ts +3 -0
  105. package/src/utils/rangeContainsDayOfWeek.test.ts +48 -0
  106. package/src/utils/rangeContainsDayOfWeek.ts +35 -0
  107. package/src/utils/rangeContainsModifiers.test.ts +230 -0
  108. package/src/utils/rangeContainsModifiers.ts +125 -0
  109. package/src/utils/rangeOverlaps.test.ts +60 -0
  110. package/src/utils/rangeOverlaps.ts +22 -0
  111. package/website/docs/docs/styling.mdx +36 -43
  112. package/website/docs/docs/translation.mdx +1 -1
  113. package/website/docs/guides/custom-components.mdx +16 -15
  114. package/website/docs/upgrading.mdx +29 -28
@@ -130,18 +130,19 @@ import { useDayPicker } from "react-day-picker";
130
130
 
131
131
  The DayPicker context provides the current state of the calendar, including the selected days, modifiers, and navigation state.
132
132
 
133
- | Name | Type | Description |
134
- | --------------- | ----------------------------------------------------------------------------- | ---------------------------------------------- |
135
- | `classNames` | [`ClassNames`](../api/type-aliases/ClassNames.md) | The class names for the UI elements. |
136
- | `components` | [`CustomComponents`](../api/type-aliases/CustomComponents.md) | The components used internally by DayPicker. |
137
- | `formatters` | [`Formatters`](../api/type-aliases/Formatters.md) | The formatters used to format the UI elements. |
138
- | `getModifiers` | (`day`) => [`Modifiers`](../api/type-aliases/Modifiers.md) | Returns the modifiers for the given day. |
139
- | `goToMonth` | (`month`) => `void` | Navigate to the specified month. |
140
- | `isSelected` | (`date`) => `boolean` \| `undefined` | Whether the given date is selected. |
141
- | `labels` | [`Labels`](../api/type-aliases/Labels.md) | The labels used in the user interface. |
142
- | `months` | [`CalendarMonth`](../api/classes/CalendarMonth.md)[] | The months displayed in the calendar. |
143
- | `nextMonth` | `Date` \| `undefined` | The next month to display. |
144
- | `previousMonth` | `Date` \| `undefined` | The previous month to display. |
145
- | `select` | [`SelectHandler`](../api/type-aliases/SelectHandler.md)\<`T`\> \| `undefined` | Set a selection. |
146
- | `selected` | [`SelectedValue`](../api/type-aliases/SelectedValue.md)\<`T`\> \| `undefined` | The selected date(s). |
147
- | `styles` | `Partial`\<[`Styles`](../api/type-aliases/Styles.md)\> \| `undefined` | The styles for the UI elements. |
133
+ | Name | Type | Description |
134
+ | ---------------- | ----------------------------------------------------------------------------- | ---------------------------------------------- |
135
+ | `classNames` | [`ClassNames`](../api/type-aliases/ClassNames.md) | The class names for the UI elements. |
136
+ | `components` | [`CustomComponents`](../api/type-aliases/CustomComponents.md) | The components used internally by DayPicker. |
137
+ | `formatters` | [`Formatters`](../api/type-aliases/Formatters.md) | The formatters used to format the UI elements. |
138
+ | `getModifiers` | (`day`) => [`Modifiers`](../api/type-aliases/Modifiers.md) | Returns the modifiers for the given day. |
139
+ | `goToMonth` | (`month`) => `void` | Navigate to the specified month. |
140
+ | `isSelected` | (`date`) => `boolean` \| `undefined` | Whether the given date is selected. |
141
+ | `labels` | [`Labels`](../api/type-aliases/Labels.md) | The labels used in the user interface. |
142
+ | `months` | [`CalendarMonth`](../api/classes/CalendarMonth.md)[] | The months displayed in the calendar. |
143
+ | `nextMonth` | `Date` \| `undefined` | The next month to display. |
144
+ | `previousMonth` | `Date` \| `undefined` | The previous month to display. |
145
+ | `select` | [`SelectHandler`](../api/type-aliases/SelectHandler.md)\<`T`\> \| `undefined` | Set a selection. |
146
+ | `selected` | [`SelectedValue`](../api/type-aliases/SelectedValue.md)\<`T`\> \| `undefined` | The selected date(s). |
147
+ | `styles` | `Partial`\<[`Styles`](../api/type-aliases/Styles.md)\> \| `undefined` | The styles for the UI elements. |
148
+ | `dayPickerProps` | [`DayPickerProps`](../api/type-aliases/DayPickerProps.md) | The props passed to the DayPicker component. |
@@ -264,33 +264,34 @@ See also the source of [types/deprecated.ts](https://github.com/gpbl/react-day-p
264
264
  <details>
265
265
  <summary>**List of Deprecated Types**</summary>
266
266
 
267
- | Deprecated Type | Deprecation Reason |
268
- | ------------------------------ | --------------------------------------------------------------------------------------------------------------------------- |
269
- | ~`Caption`~ | This component has been renamed. Use [`MonthCaption`](./api/functions/MonthCaption.md) instead. |
270
- | ~`HeadRow`~ | This component has been removed. |
271
- | ~`Row`~ | This component has been renamed. Use [`Week`](./api/functions/Week.md) instead. |
272
- | ~`DayPickerSingleProps`~ | This type has been renamed. Use [`PropsSingle`](./api/interfaces/PropsSingle.md) instead. |
273
- | ~`DayPickerMultipleProps`~ | This type has been renamed. Use [`PropsMulti`](./api/interfaces/PropsMulti.md) instead. |
274
- | ~`DayPickerRangeProps`~ | This type has been renamed. Use [`PropsRange`](./api/interfaces/PropsRange.md) instead. |
275
- | ~`DayPickerDefaultProps`~ | This type has been renamed. Use [`PropsBase`](./api/interfaces/PropsBase.md) instead. |
276
- | ~`DaySelectionMode`~ | This type has been renamed. Use [`Mode`](./api/type-aliases/Mode.md) instead. |
277
- | ~`Modifier`~ | This type will be removed. Use `string` instead. |
278
- | ~`SelectSingleEventHandler`~ | This type will be removed. Use [`PropsSingle["onSelect]`](./api/interfaces/PropsSingle.md) instead. |
279
- | ~`SelectMultipleEventHandler`~ | This type will be removed. Use [`PropsMulti["onSelect]`](./api/interfaces/PropsMulti.md) instead. |
280
- | ~`SelectRangeEventHandler`~ | This type will be removed. Use [`PropsRange["onSelect]`](./api/interfaces/PropsRange.md) instead. |
281
- | ~`DayPickerProviderProps`~ | This type is not used anymore. |
282
- | ~`useNavigation`~ | This type has been included in [`useDayPicker`](./api/functions/useDayPicker.md). |
283
- | ~`useDayRender`~ | This hook has been removed. To customize the rendering of a day, use the `htmlAttributes` prop in a custom `Day` component. |
284
- | ~`ContextProvidersProps`~ | This type is not used anymore. |
285
- | ~`DayLabel`~ | Use `typeof labelDay` instead. |
286
- | ~`NavButtonLabel`~ | Use `typeof labelNext` or `typeof labelPrevious` instead. |
287
- | ~`WeekdayLabel`~ | Use `typeof labelWeekday` instead. |
288
- | ~`WeekNumberLabel`~ | Use `typeof labelWeekNumber` instead. |
289
- | ~`DayClickEventHandler`~ | Use `DayMouseEventHandler` instead. |
290
- | ~`DayFocusEventHandler`~ | This type will be removed. Use `DayEventHandler<React.FocusEvent \| React.KeyboardEvent>` instead. |
291
- | ~`DayKeyboardEventHandler`~ | This type will be removed. Use `DayEventHandler<React.KeyboardEvent>` instead. |
292
- | ~`DayMouseEventHandler`~ | This type will be removed. Use `DayEventHandler<React.MouseEvent>` instead. |
293
- | ~`DayPointerEventHandler`~ | This type will be removed. Use `DayEventHandler<React.PointerEvent>` instead. |
294
- | ~`DayTouchEventHandler`~ | This type will be removed. Use `DayEventHandler<React.TouchEvent>` instead. |
267
+ | Deprecated Type | Deprecation Reason |
268
+ | ------------------------------ | ------------------------------------------------------------------------------------------------------------------------------- |
269
+ | ~`Caption`~ | This component has been renamed. Use [`MonthCaption`](./api/functions/MonthCaption.md) instead. |
270
+ | ~`HeadRow`~ | This component has been removed. |
271
+ | ~`Row`~ | This component has been renamed. Use [`Week`](./api/functions/Week.md) instead. |
272
+ | ~`DayPickerSingleProps`~ | This type has been renamed. Use [`PropsSingle`](./api/interfaces/PropsSingle.md) instead. |
273
+ | ~`DayPickerMultipleProps`~ | This type has been renamed. Use [`PropsMulti`](./api/interfaces/PropsMulti.md) instead. |
274
+ | ~`DayPickerRangeProps`~ | This type has been renamed. Use [`PropsRange`](./api/interfaces/PropsRange.md) instead. |
275
+ | ~`DayPickerDefaultProps`~ | This type has been renamed. Use [`PropsBase`](./api/interfaces/PropsBase.md) instead. |
276
+ | ~`DaySelectionMode`~ | This type has been renamed. Use [`Mode`](./api/type-aliases/Mode.md) instead. |
277
+ | ~`Modifier`~ | This type will be removed. Use `string` instead. |
278
+ | ~`InternaModifier`~ | This type has been split into [`DayFlag`](./api/enumerations/DayFlag) and [`SelectionState`](./api/enumerations/SelectionState) |
279
+ | ~`SelectSingleEventHandler`~ | This type will be removed. Use [`PropsSingle["onSelect]`](./api/interfaces/PropsSingle.md) instead. |
280
+ | ~`SelectMultipleEventHandler`~ | This type will be removed. Use [`PropsMulti["onSelect]`](./api/interfaces/PropsMulti.md) instead. |
281
+ | ~`SelectRangeEventHandler`~ | This type will be removed. Use [`PropsRange["onSelect]`](./api/interfaces/PropsRange.md) instead. |
282
+ | ~`DayPickerProviderProps`~ | This type is not used anymore. |
283
+ | ~`useNavigation`~ | This type has been included in [`useDayPicker`](./api/functions/useDayPicker.md). |
284
+ | ~`useDayRender`~ | This hook has been removed. To customize the rendering of a day, use the `htmlAttributes` prop in a custom `Day` component. |
285
+ | ~`ContextProvidersProps`~ | This type is not used anymore. |
286
+ | ~`DayLabel`~ | Use `typeof labelDay` instead. |
287
+ | ~`NavButtonLabel`~ | Use `typeof labelNext` or `typeof labelPrevious` instead. |
288
+ | ~`WeekdayLabel`~ | Use `typeof labelWeekday` instead. |
289
+ | ~`WeekNumberLabel`~ | Use `typeof labelWeekNumber` instead. |
290
+ | ~`DayClickEventHandler`~ | Use `DayMouseEventHandler` instead. |
291
+ | ~`DayFocusEventHandler`~ | This type will be removed. Use `DayEventHandler<React.FocusEvent \| React.KeyboardEvent>` instead. |
292
+ | ~`DayKeyboardEventHandler`~ | This type will be removed. Use `DayEventHandler<React.KeyboardEvent>` instead. |
293
+ | ~`DayMouseEventHandler`~ | This type will be removed. Use `DayEventHandler<React.MouseEvent>` instead. |
294
+ | ~`DayPointerEventHandler`~ | This type will be removed. Use `DayEventHandler<React.PointerEvent>` instead. |
295
+ | ~`DayTouchEventHandler`~ | This type will be removed. Use `DayEventHandler<React.TouchEvent>` instead. |
295
296
 
296
297
  </details>