react-day-picker 8.2.0 → 8.3.0

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 (204) hide show
  1. package/README.md +57 -19
  2. package/dist/index.d.ts +1176 -40
  3. package/dist/index.esm.d.ts +1176 -0
  4. package/dist/index.esm.js +1473 -1496
  5. package/dist/index.esm.js.map +1 -1
  6. package/dist/index.js +1195 -1214
  7. package/dist/index.js.map +1 -1
  8. package/dist/react-day-picker.min.js +1 -1
  9. package/dist/style.css +9 -11
  10. package/dist/style.module.css +14 -16
  11. package/dist/style.module.css.d.ts +34 -34
  12. package/package.json +2 -2
  13. package/src/components/Caption/Caption.tsx +8 -8
  14. package/src/components/CaptionDropdowns/CaptionDropdowns.tsx +6 -4
  15. package/src/components/CaptionNavigation/CaptionNavigation.tsx +6 -8
  16. package/src/components/Dropdown/Dropdown.tsx +5 -5
  17. package/src/components/Head/Head.tsx +6 -4
  18. package/src/components/HeadRow/HeadRow.tsx +2 -1
  19. package/src/components/HeadRow/utils/getWeekdays.test.ts +10 -0
  20. package/src/components/HeadRow/utils/getWeekdays.ts +9 -3
  21. package/src/components/Month/Month.test.tsx +11 -0
  22. package/src/components/Month/Month.tsx +12 -6
  23. package/src/components/MonthsDropdown/MonthsDropdown.tsx +3 -6
  24. package/src/components/Navigation/Navigation.tsx +5 -15
  25. package/src/components/Row/Row.tsx +8 -8
  26. package/src/components/Table/Table.tsx +10 -12
  27. package/src/components/Table/utils/daysToMonthWeeks.ts +15 -3
  28. package/src/components/Table/utils/getMonthWeeks.test.ts +33 -1
  29. package/src/components/Table/utils/getMonthWeeks.ts +2 -3
  30. package/src/components/YearsDropdown/YearsDropdown.tsx +3 -6
  31. package/src/contexts/DayPicker/{useDayPicker.test.ts → DayPickerContext.test.ts} +13 -29
  32. package/src/contexts/DayPicker/DayPickerContext.tsx +41 -53
  33. package/src/contexts/DayPicker/defaultContextValues.ts +85 -0
  34. package/src/contexts/DayPicker/index.ts +0 -1
  35. package/src/contexts/Focus/{useFocusContext.test.ts → FocusContext.test.ts} +0 -0
  36. package/src/contexts/Focus/FocusContext.tsx +19 -6
  37. package/src/contexts/Focus/index.ts +0 -1
  38. package/src/contexts/Focus/utils/getInitialFocusTarget.test.tsx +37 -8
  39. package/src/contexts/Focus/utils/getInitialFocusTarget.tsx +0 -1
  40. package/src/contexts/Focus/utils/getNextFocus.test.tsx +75 -50
  41. package/src/contexts/Focus/utils/getNextFocus.tsx +54 -19
  42. package/src/contexts/Modifiers/{useModifiers.test.ts → ModifiersContext.test.ts} +0 -0
  43. package/src/contexts/Modifiers/ModifiersContext.tsx +16 -1
  44. package/src/contexts/Modifiers/index.ts +1 -1
  45. package/src/contexts/Modifiers/utils/getInternalModifiers.test.ts +3 -2
  46. package/src/contexts/Navigation/{useNavigation.test.ts → NavigationContext.test.ts} +1 -2
  47. package/src/contexts/Navigation/NavigationContext.tsx +15 -1
  48. package/src/contexts/Navigation/index.ts +0 -1
  49. package/src/contexts/SelectMultiple/{useSelectMultiple.test.ts → SelectMultipleContext.test.ts} +4 -2
  50. package/src/contexts/SelectMultiple/SelectMultipleContext.tsx +16 -1
  51. package/src/contexts/SelectMultiple/index.ts +0 -1
  52. package/src/contexts/SelectRange/{useSelectRange.test.ts → SelectRangeContext.test.ts} +4 -21
  53. package/src/contexts/SelectRange/SelectRangeContext.tsx +51 -36
  54. package/src/contexts/SelectRange/index.ts +0 -1
  55. package/src/contexts/SelectSingle/{useSelectSingle.test.ts → SelectSingleContext.test.ts} +1 -1
  56. package/src/contexts/SelectSingle/SelectSingleContext.tsx +16 -1
  57. package/src/contexts/SelectSingle/index.ts +0 -1
  58. package/src/hooks/useDayRender/useDayRender.tsx +5 -4
  59. package/src/style.css +9 -11
  60. package/src/types/DayPickerBase.ts +33 -6
  61. package/src/types/EventHandlers.ts +9 -11
  62. package/src/types/Matchers.ts +1 -1
  63. package/dist/DayPicker.d.ts +0 -93
  64. package/dist/components/Button/Button.d.ts +0 -7
  65. package/dist/components/Button/index.d.ts +0 -1
  66. package/dist/components/Caption/Caption.d.ts +0 -19
  67. package/dist/components/Caption/index.d.ts +0 -1
  68. package/dist/components/CaptionDropdowns/CaptionDropdowns.d.ts +0 -5
  69. package/dist/components/CaptionDropdowns/index.d.ts +0 -1
  70. package/dist/components/CaptionLabel/CaptionLabel.d.ts +0 -9
  71. package/dist/components/CaptionLabel/index.d.ts +0 -1
  72. package/dist/components/CaptionNavigation/CaptionNavigation.d.ts +0 -5
  73. package/dist/components/CaptionNavigation/index.d.ts +0 -1
  74. package/dist/components/Day/Day.d.ts +0 -12
  75. package/dist/components/Day/index.d.ts +0 -1
  76. package/dist/components/DayContent/DayContent.d.ts +0 -12
  77. package/dist/components/DayContent/index.d.ts +0 -1
  78. package/dist/components/Dropdown/Dropdown.d.ts +0 -20
  79. package/dist/components/Dropdown/index.d.ts +0 -1
  80. package/dist/components/Footer/Footer.d.ts +0 -2
  81. package/dist/components/Footer/index.d.ts +0 -1
  82. package/dist/components/Head/Head.d.ts +0 -2
  83. package/dist/components/Head/index.d.ts +0 -1
  84. package/dist/components/Head/utils/getWeekdays.d.ts +0 -8
  85. package/dist/components/Head/utils/index.d.ts +0 -1
  86. package/dist/components/HeadRow/HeadRow.d.ts +0 -4
  87. package/dist/components/HeadRow/index.d.ts +0 -1
  88. package/dist/components/HeadRow/utils/getWeekdays.d.ts +0 -8
  89. package/dist/components/HeadRow/utils/index.d.ts +0 -1
  90. package/dist/components/IconDropdown/IconDropdown.d.ts +0 -5
  91. package/dist/components/IconDropdown/index.d.ts +0 -1
  92. package/dist/components/IconLeft/IconLeft.d.ts +0 -5
  93. package/dist/components/IconLeft/index.d.ts +0 -1
  94. package/dist/components/IconRight/IconRight.d.ts +0 -5
  95. package/dist/components/IconRight/index.d.ts +0 -1
  96. package/dist/components/Month/Month.d.ts +0 -7
  97. package/dist/components/Month/index.d.ts +0 -1
  98. package/dist/components/MonthsDropdown/MonthsDropdown.d.ts +0 -9
  99. package/dist/components/MonthsDropdown/index.d.ts +0 -1
  100. package/dist/components/Navigation/Navigation.d.ts +0 -20
  101. package/dist/components/Navigation/index.d.ts +0 -1
  102. package/dist/components/Root/Root.d.ts +0 -2
  103. package/dist/components/Root/index.d.ts +0 -1
  104. package/dist/components/Row/Row.d.ts +0 -13
  105. package/dist/components/Row/index.d.ts +0 -1
  106. package/dist/components/Table/Table.d.ts +0 -9
  107. package/dist/components/Table/index.d.ts +0 -1
  108. package/dist/components/Table/utils/daysToMonthWeeks.d.ts +0 -8
  109. package/dist/components/Table/utils/getMonthWeeks.d.ts +0 -21
  110. package/dist/components/WeekNumber/WeekNumber.d.ts +0 -14
  111. package/dist/components/WeekNumber/index.d.ts +0 -1
  112. package/dist/components/YearsDropdown/YearsDropdown.d.ts +0 -15
  113. package/dist/components/YearsDropdown/index.d.ts +0 -1
  114. package/dist/contexts/DayPicker/DayPickerContext.d.ts +0 -50
  115. package/dist/contexts/DayPicker/defaultClassNames.d.ts +0 -5
  116. package/dist/contexts/DayPicker/defaultContextValue.d.ts +0 -6
  117. package/dist/contexts/DayPicker/formatters/formatCaption.d.ts +0 -7
  118. package/dist/contexts/DayPicker/formatters/formatDay.d.ts +0 -7
  119. package/dist/contexts/DayPicker/formatters/formatMonthCaption.d.ts +0 -7
  120. package/dist/contexts/DayPicker/formatters/formatWeekNumber.d.ts +0 -4
  121. package/dist/contexts/DayPicker/formatters/formatWeekdayName.d.ts +0 -7
  122. package/dist/contexts/DayPicker/formatters/formatYearCaption.d.ts +0 -6
  123. package/dist/contexts/DayPicker/formatters/index.d.ts +0 -6
  124. package/dist/contexts/DayPicker/index.d.ts +0 -2
  125. package/dist/contexts/DayPicker/labels/index.d.ts +0 -7
  126. package/dist/contexts/DayPicker/labels/labelDay.d.ts +0 -5
  127. package/dist/contexts/DayPicker/labels/labelMonthDropdown.d.ts +0 -4
  128. package/dist/contexts/DayPicker/labels/labelNext.d.ts +0 -5
  129. package/dist/contexts/DayPicker/labels/labelPrevious.d.ts +0 -5
  130. package/dist/contexts/DayPicker/labels/labelWeekNumber.d.ts +0 -5
  131. package/dist/contexts/DayPicker/labels/labelWeekday.d.ts +0 -5
  132. package/dist/contexts/DayPicker/labels/labelYearDropdown.d.ts +0 -4
  133. package/dist/contexts/DayPicker/useDayPicker.d.ts +0 -8
  134. package/dist/contexts/DayPicker/utils/index.d.ts +0 -1
  135. package/dist/contexts/DayPicker/utils/parseFromToProps.d.ts +0 -6
  136. package/dist/contexts/Focus/FocusContext.d.ts +0 -36
  137. package/dist/contexts/Focus/index.d.ts +0 -2
  138. package/dist/contexts/Focus/useFocusContext.d.ts +0 -8
  139. package/dist/contexts/Focus/utils/getInitialFocusTarget.d.ts +0 -3
  140. package/dist/contexts/Focus/utils/getNextFocus.d.ts +0 -9
  141. package/dist/contexts/Modifiers/ModifiersContext.d.ts +0 -9
  142. package/dist/contexts/Modifiers/index.d.ts +0 -2
  143. package/dist/contexts/Modifiers/useModifiers.d.ts +0 -9
  144. package/dist/contexts/Modifiers/utils/getActiveModifiers.d.ts +0 -7
  145. package/dist/contexts/Modifiers/utils/getCustomModifiers.d.ts +0 -3
  146. package/dist/contexts/Modifiers/utils/getInternalModifiers.d.ts +0 -6
  147. package/dist/contexts/Modifiers/utils/isDateInRange.d.ts +0 -3
  148. package/dist/contexts/Modifiers/utils/isMatch.d.ts +0 -19
  149. package/dist/contexts/Modifiers/utils/matcherToArray.d.ts +0 -3
  150. package/dist/contexts/Navigation/NavigationContext.d.ts +0 -27
  151. package/dist/contexts/Navigation/index.d.ts +0 -2
  152. package/dist/contexts/Navigation/useNavigation.d.ts +0 -8
  153. package/dist/contexts/Navigation/useNavigationState.d.ts +0 -7
  154. package/dist/contexts/Navigation/utils/getDisplayMonths.d.ts +0 -8
  155. package/dist/contexts/Navigation/utils/getInitialMonth.d.ts +0 -3
  156. package/dist/contexts/Navigation/utils/getNextMonth.d.ts +0 -18
  157. package/dist/contexts/Navigation/utils/getPreviousMonth.d.ts +0 -19
  158. package/dist/contexts/RootProvider.d.ts +0 -8
  159. package/dist/contexts/SelectMultiple/SelectMultipleContext.d.ts +0 -35
  160. package/dist/contexts/SelectMultiple/index.d.ts +0 -2
  161. package/dist/contexts/SelectMultiple/useSelectMultiple.d.ts +0 -7
  162. package/dist/contexts/SelectRange/SelectRangeContext.d.ts +0 -36
  163. package/dist/contexts/SelectRange/index.d.ts +0 -2
  164. package/dist/contexts/SelectRange/useSelectRange.d.ts +0 -7
  165. package/dist/contexts/SelectRange/utils/addToRange.d.ts +0 -8
  166. package/dist/contexts/SelectSingle/SelectSingleContext.d.ts +0 -30
  167. package/dist/contexts/SelectSingle/index.d.ts +0 -2
  168. package/dist/contexts/SelectSingle/useSelectSingle.d.ts +0 -7
  169. package/dist/hooks/useActiveModifiers/index.d.ts +0 -1
  170. package/dist/hooks/useActiveModifiers/useActiveModifiers.d.ts +0 -15
  171. package/dist/hooks/useControlledValue/index.d.ts +0 -1
  172. package/dist/hooks/useControlledValue/useControlledValue.d.ts +0 -12
  173. package/dist/hooks/useDayEventHandlers/index.d.ts +0 -1
  174. package/dist/hooks/useDayEventHandlers/useDayEventHandlers.d.ts +0 -26
  175. package/dist/hooks/useDayRender/index.d.ts +0 -1
  176. package/dist/hooks/useDayRender/useDayRender.d.ts +0 -32
  177. package/dist/hooks/useDayRender/utils/getDayClassNames.d.ts +0 -10
  178. package/dist/hooks/useDayRender/utils/getDayStyle.d.ts +0 -5
  179. package/dist/hooks/useId/index.d.ts +0 -1
  180. package/dist/hooks/useId/useId.d.ts +0 -19
  181. package/dist/hooks/useInput/index.d.ts +0 -1
  182. package/dist/hooks/useInput/useInput.d.ts +0 -28
  183. package/dist/hooks/useInput/utils/isValidDate.d.ts +0 -2
  184. package/dist/hooks/useSelectedDays/index.d.ts +0 -1
  185. package/dist/hooks/useSelectedDays/useSelectedDays.d.ts +0 -10
  186. package/dist/types/DayPickerBase.d.ts +0 -255
  187. package/dist/types/DayPickerDefault.d.ts +0 -8
  188. package/dist/types/DayPickerMultiple.d.ts +0 -18
  189. package/dist/types/DayPickerRange.d.ts +0 -19
  190. package/dist/types/DayPickerSingle.d.ts +0 -16
  191. package/dist/types/EventHandlers.d.ts +0 -51
  192. package/dist/types/Formatters.d.ts +0 -24
  193. package/dist/types/Labels.d.ts +0 -28
  194. package/dist/types/Matchers.d.ts +0 -84
  195. package/dist/types/Modifiers.d.ts +0 -49
  196. package/dist/types/Styles.d.ts +0 -102
  197. package/src/contexts/DayPicker/defaultContextValue.ts +0 -37
  198. package/src/contexts/DayPicker/useDayPicker.ts +0 -17
  199. package/src/contexts/Focus/useFocusContext.ts +0 -17
  200. package/src/contexts/Modifiers/useModifiers.ts +0 -20
  201. package/src/contexts/Navigation/useNavigation.ts +0 -17
  202. package/src/contexts/SelectMultiple/useSelectMultiple.ts +0 -21
  203. package/src/contexts/SelectRange/useSelectRange.ts +0 -19
  204. package/src/contexts/SelectSingle/useSelectSingle.ts +0 -21
package/README.md CHANGED
@@ -1,11 +1,35 @@
1
- # React DayPicker v8
1
+ # React DayPicker
2
2
 
3
- DayPicker is a date picker component for [React](https://reactjs.org).
3
+ [React DayPicker](http://react-day-picker.js.org) is a date picker component for [React](https://reactjs.org). Renders a calendar where the user can browse months to select days. DayPicker is customizable, works great with input fields and can be styled to match any design.
4
4
 
5
- ```bash
6
- $ npm install react-day-picker date-fns # using npm
7
- $ pnpm install react-day-picker date-fns # using pnpm
8
- $ yarn add react-day-picker date-fns # using yarn
5
+ ➡️ **[react-day-picker.js.org](http://react-day-picker.js.org)** for guides, examples and API reference.
6
+
7
+ <a href="http://react-day-picker.js.org">
8
+ <picture>
9
+ <source media="(prefers-color-scheme: dark)" srcset="https://user-images.githubusercontent.com/120693/188241991-19d0e8a1-230a-48c8-8477-3c90d4e36197.png"/>
10
+ <source media="(prefers-color-scheme: light)" srcset="https://user-images.githubusercontent.com/120693/188238076-311ec6d1-503d-4c21-8ffe-d89faa60e40f.png"/>
11
+ <img alt="Shows a screenshot of the React DayPicker component in a browser’s window." width="900" />
12
+ </picture>
13
+ </a>
14
+
15
+ ## Main features
16
+
17
+ - ☀️ Select days, ranges or whatever
18
+ - 🧘‍♀️ using [date-fns](http://date-fns.org) as date library
19
+ - 🌎 Localizable into any language
20
+ - ➡️ Keyboard navigation
21
+ - ♿️ [WAI-ARIA](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA) support
22
+ - 🤖 Written in TypeScript
23
+ - 🎨 Easy to style and customize
24
+ - 🗓 Support multiple calendars
25
+ - 📄 Easy to integrate input fields
26
+
27
+ ## Installation
28
+
29
+ ```shell
30
+ npm install react-day-picker date-fns # using npm
31
+ pnpm install react-day-picker date-fns # using pnpm
32
+ yarn add react-day-picker date-fns # using yarn
9
33
  ```
10
34
 
11
35
  <a href="https://www.npmjs.com/package/react-day-picker">
@@ -18,20 +42,34 @@ $ yarn add react-day-picker date-fns # using yarn
18
42
  <img src="https://img.shields.io/github/sponsors/gpbl?style=flat-square" alt="sponsors"/>
19
43
  </a>
20
44
 
21
- ## Main features
45
+ ## Example
22
46
 
23
- - ☀️ Select days, ranges or whatever
24
- - 🌎 Localizable into any language
25
- - ➡️ Keyboard navigation
26
- - ♿️ [WAI-ARIA](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA) support
27
- - 🤖 Native TypeScript support
28
- - 🧘‍♀️ using [date-fns](http://date-fns.org) as date library
29
- - 🗓 Create multiple calendars
30
- - 🎨 Easy to style and customize
31
- - 📄 Native integration with input elements
47
+ ```tsx
48
+ import React from 'react';
32
49
 
33
- ## Documentation
50
+ import { format } from 'date-fns';
51
+ import { DayPicker } from 'react-day-picker';
52
+ import 'react-day-picker/dist/style.css';
53
+
54
+ export default function Example() {
55
+ const [selected, setSelected] = React.useState<Date>();
34
56
 
35
- - See ➡️ **[react-day-picker.js.org](http://react-day-picker.js.org)** for guides, examples and API reference.
57
+ let footer = <p>Please pick a day.</p>;
58
+ if (selected) {
59
+ footer = <p>You picked {format(selected, 'PP')}.</p>;
60
+ }
61
+ return (
62
+ <DayPicker
63
+ mode="single"
64
+ selected={selected}
65
+ onSelect={setSelected}
66
+ footer={footer}
67
+ />
68
+ );
69
+ }
70
+ ```
71
+
72
+ ## Documentation
36
73
 
37
- <small>Looking for v7 docs? Go to <a href="https://react-day-picker-v7.netlify.app" target="_blank">react-day-picker-v7.netlify.app</a>.</small>
74
+ See **[react-day-picker.js.org](http://react-day-picker.js.org)** for guides, examples and API reference of the latest version.
75
+ <small>Docs for version 7 are at <a href="https://react-day-picker-v7.netlify.app" target="_blank">react-day-picker-v7.netlify.app</a>.</small>