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.
Files changed (701) hide show
  1. package/README.md +7 -6
  2. package/dist/cjs/DayPicker.d.ts +4 -7
  3. package/dist/cjs/DayPicker.js +4 -7
  4. package/dist/cjs/DayPicker.js.map +1 -1
  5. package/dist/cjs/UI.d.ts +25 -14
  6. package/dist/cjs/UI.js +35 -23
  7. package/dist/cjs/UI.js.map +1 -1
  8. package/dist/cjs/classes/CalendarDay.d.ts +4 -1
  9. package/dist/cjs/classes/CalendarDay.js +6 -6
  10. package/dist/cjs/classes/CalendarDay.js.map +1 -1
  11. package/dist/cjs/components/Button.d.ts +2 -2
  12. package/dist/cjs/components/Button.js +1 -1
  13. package/dist/cjs/components/Button.js.map +1 -1
  14. package/dist/cjs/components/Calendar.d.ts +1 -1
  15. package/dist/cjs/components/Calendar.js +7 -8
  16. package/dist/cjs/components/Calendar.js.map +1 -1
  17. package/dist/cjs/components/Chevron.d.ts +1 -1
  18. package/dist/cjs/components/Chevron.js +5 -5
  19. package/dist/cjs/components/Chevron.js.map +1 -1
  20. package/dist/cjs/components/Day.d.ts +3 -3
  21. package/dist/cjs/components/Day.js +1 -1
  22. package/dist/cjs/components/DayDate.d.ts +13 -3
  23. package/dist/cjs/components/DayDate.js +7 -2
  24. package/dist/cjs/components/DayDate.js.map +1 -1
  25. package/dist/cjs/components/DayWrapper.js +38 -22
  26. package/dist/cjs/components/DayWrapper.js.map +1 -1
  27. package/dist/cjs/components/Dropdown.d.ts +3 -4
  28. package/dist/cjs/components/Dropdown.js +3 -3
  29. package/dist/cjs/components/Dropdown.js.map +1 -1
  30. package/dist/cjs/components/DropdownNav.d.ts +1 -1
  31. package/dist/cjs/components/DropdownNav.js +5 -5
  32. package/dist/cjs/components/DropdownNav.js.map +1 -1
  33. package/dist/cjs/components/Footer.d.ts +2 -2
  34. package/dist/cjs/components/Footer.js +1 -1
  35. package/dist/cjs/components/Footer.js.map +1 -1
  36. package/dist/cjs/components/Month.d.ts +1 -1
  37. package/dist/cjs/components/Month.js +7 -27
  38. package/dist/cjs/components/Month.js.map +1 -1
  39. package/dist/cjs/components/MonthCaption.d.ts +1 -1
  40. package/dist/cjs/components/MonthCaption.js +4 -4
  41. package/dist/cjs/components/MonthCaption.js.map +1 -1
  42. package/dist/cjs/components/Months.d.ts +1 -1
  43. package/dist/cjs/components/Months.js +1 -1
  44. package/dist/cjs/components/MonthsDropdown.d.ts +1 -1
  45. package/dist/cjs/components/MonthsDropdown.js +6 -9
  46. package/dist/cjs/components/MonthsDropdown.js.map +1 -1
  47. package/dist/cjs/components/Nav.d.ts +1 -1
  48. package/dist/cjs/components/Nav.js +4 -5
  49. package/dist/cjs/components/Nav.js.map +1 -1
  50. package/dist/cjs/components/Option.d.ts +1 -1
  51. package/dist/cjs/components/Option.js +1 -1
  52. package/dist/cjs/components/Select.d.ts +1 -1
  53. package/dist/cjs/components/Select.js +1 -1
  54. package/dist/cjs/components/Week.d.ts +1 -1
  55. package/dist/cjs/components/Week.js +4 -5
  56. package/dist/cjs/components/Week.js.map +1 -1
  57. package/dist/cjs/components/WeekNumber.d.ts +1 -1
  58. package/dist/cjs/components/WeekNumber.js +5 -5
  59. package/dist/cjs/components/WeekNumber.js.map +1 -1
  60. package/dist/cjs/components/Weekday.d.ts +1 -1
  61. package/dist/cjs/components/Weekday.js +7 -5
  62. package/dist/cjs/components/Weekday.js.map +1 -1
  63. package/dist/cjs/components/Weekdays.d.ts +1 -1
  64. package/dist/cjs/components/Weekdays.js +4 -4
  65. package/dist/cjs/components/Weekdays.js.map +1 -1
  66. package/dist/cjs/components/YearsDropdown.d.ts +1 -1
  67. package/dist/cjs/components/YearsDropdown.js +6 -9
  68. package/dist/cjs/components/YearsDropdown.js.map +1 -1
  69. package/dist/cjs/contexts/index.d.ts +4 -0
  70. package/dist/cjs/contexts/index.js +21 -0
  71. package/dist/cjs/contexts/index.js.map +1 -0
  72. package/dist/cjs/contexts/providers.d.ts +9 -0
  73. package/dist/cjs/contexts/providers.js +33 -0
  74. package/dist/cjs/contexts/providers.js.map +1 -0
  75. package/dist/cjs/contexts/{calendar.d.ts → useCalendar.d.ts} +20 -33
  76. package/dist/cjs/contexts/useCalendar.js +154 -0
  77. package/dist/cjs/contexts/useCalendar.js.map +1 -0
  78. package/dist/{esm/contexts/focus.d.ts → cjs/contexts/useFocus.d.ts} +23 -18
  79. package/dist/cjs/contexts/{focus.js → useFocus.js} +41 -34
  80. package/dist/cjs/contexts/useFocus.js.map +1 -0
  81. package/dist/cjs/contexts/useModifiers.d.ts +24 -0
  82. package/dist/cjs/contexts/useModifiers.js +187 -0
  83. package/dist/cjs/contexts/useModifiers.js.map +1 -0
  84. package/dist/cjs/contexts/useProps.d.ts +45 -0
  85. package/dist/cjs/contexts/useProps.js +98 -0
  86. package/dist/cjs/contexts/useProps.js.map +1 -0
  87. package/dist/cjs/formatters/formatCaption.d.ts +4 -2
  88. package/dist/cjs/formatters/formatCaption.js +4 -3
  89. package/dist/cjs/formatters/formatCaption.js.map +1 -1
  90. package/dist/cjs/formatters/formatDay.d.ts +3 -2
  91. package/dist/cjs/formatters/formatDay.js +3 -3
  92. package/dist/cjs/formatters/formatDay.js.map +1 -1
  93. package/dist/cjs/formatters/formatMonthDropdown.d.ts +5 -2
  94. package/dist/cjs/formatters/formatMonthDropdown.js +8 -3
  95. package/dist/cjs/formatters/formatMonthDropdown.js.map +1 -1
  96. package/dist/cjs/formatters/formatWeekNumber.d.ts +1 -2
  97. package/dist/cjs/formatters/formatWeekNumber.js +1 -3
  98. package/dist/cjs/formatters/formatWeekNumber.js.map +1 -1
  99. package/dist/cjs/formatters/formatWeekdayName.d.ts +3 -2
  100. package/dist/cjs/formatters/formatWeekdayName.js +3 -3
  101. package/dist/cjs/formatters/formatWeekdayName.js.map +1 -1
  102. package/dist/cjs/formatters/formatYearDropdown.d.ts +1 -0
  103. package/dist/cjs/formatters/formatYearDropdown.js +1 -0
  104. package/dist/cjs/formatters/formatYearDropdown.js.map +1 -1
  105. package/dist/cjs/helpers/debounce.js.map +1 -1
  106. package/dist/cjs/helpers/getClassNamesForModifiers.d.ts +2 -2
  107. package/dist/cjs/helpers/getClassNamesForModifiers.js +7 -4
  108. package/dist/cjs/helpers/getClassNamesForModifiers.js.map +1 -1
  109. package/dist/cjs/helpers/getDataAttributes.d.ts +2 -2
  110. package/dist/cjs/helpers/getDataAttributes.js.map +1 -1
  111. package/dist/cjs/helpers/getDates.d.ts +3 -14
  112. package/dist/cjs/helpers/getDates.js +13 -32
  113. package/dist/cjs/helpers/getDates.js.map +1 -1
  114. package/dist/cjs/helpers/getDefaultClassNames.js +7 -3
  115. package/dist/cjs/helpers/getDefaultClassNames.js.map +1 -1
  116. package/dist/cjs/helpers/getDisplayMonths.d.ts +2 -5
  117. package/dist/cjs/helpers/getDisplayMonths.js +4 -6
  118. package/dist/cjs/helpers/getDisplayMonths.js.map +1 -1
  119. package/dist/cjs/helpers/getDropdownMonths.d.ts +2 -5
  120. package/dist/cjs/helpers/getDropdownMonths.js +12 -16
  121. package/dist/cjs/helpers/getDropdownMonths.js.map +1 -1
  122. package/dist/cjs/helpers/getDropdownYears.d.ts +2 -5
  123. package/dist/cjs/helpers/getDropdownYears.js +12 -19
  124. package/dist/cjs/helpers/getDropdownYears.js.map +1 -1
  125. package/dist/cjs/helpers/getFormatters.d.ts +2 -2
  126. package/dist/cjs/helpers/getFormatters.js.map +1 -1
  127. package/dist/cjs/helpers/getInitialMonth.d.ts +3 -0
  128. package/dist/cjs/helpers/getInitialMonth.js +21 -0
  129. package/dist/cjs/helpers/getInitialMonth.js.map +1 -0
  130. package/dist/cjs/helpers/getMonths.d.ts +4 -2
  131. package/dist/cjs/helpers/getMonths.js +24 -29
  132. package/dist/cjs/helpers/getMonths.js.map +1 -1
  133. package/dist/cjs/helpers/getNextFocus.d.ts +4 -5
  134. package/dist/cjs/helpers/getNextFocus.js +5 -3
  135. package/dist/cjs/helpers/getNextFocus.js.map +1 -1
  136. package/dist/cjs/helpers/getNextMonth.d.ts +2 -8
  137. package/dist/cjs/helpers/getNextMonth.js +9 -11
  138. package/dist/cjs/helpers/getNextMonth.js.map +1 -1
  139. package/dist/cjs/helpers/getPossibleFocusDate.d.ts +3 -3
  140. package/dist/cjs/helpers/getPossibleFocusDate.js +10 -19
  141. package/dist/cjs/helpers/getPossibleFocusDate.js.map +1 -1
  142. package/dist/cjs/helpers/getPreviousMonth.d.ts +2 -8
  143. package/dist/cjs/helpers/getPreviousMonth.js +9 -11
  144. package/dist/cjs/helpers/getPreviousMonth.js.map +1 -1
  145. package/dist/cjs/helpers/getStartEndMonths.d.ts +2 -2
  146. package/dist/cjs/helpers/getStartEndMonths.js +11 -12
  147. package/dist/cjs/helpers/getStartEndMonths.js.map +1 -1
  148. package/dist/cjs/helpers/getStyleForModifiers.d.ts +2 -2
  149. package/dist/cjs/helpers/getStyleForModifiers.js.map +1 -1
  150. package/dist/cjs/helpers/getWeekdays.d.ts +5 -4
  151. package/dist/cjs/helpers/getWeekdays.js +5 -7
  152. package/dist/cjs/helpers/getWeekdays.js.map +1 -1
  153. package/dist/cjs/index.d.ts +4 -7
  154. package/dist/cjs/index.js +4 -7
  155. package/dist/cjs/index.js.map +1 -1
  156. package/dist/cjs/jalali.d.ts +3 -0
  157. package/dist/cjs/jalali.js +37 -0
  158. package/dist/cjs/jalali.js.map +1 -0
  159. package/dist/cjs/labels/labelCaption.d.ts +3 -2
  160. package/dist/cjs/labels/labelCaption.js +2 -1
  161. package/dist/cjs/labels/labelCaption.js.map +1 -1
  162. package/dist/cjs/labels/labelDay.d.ts +4 -3
  163. package/dist/cjs/labels/labelDay.js +2 -1
  164. package/dist/cjs/labels/labelDay.js.map +1 -1
  165. package/dist/cjs/labels/labelGrid.d.ts +3 -2
  166. package/dist/cjs/labels/labelGrid.js +3 -3
  167. package/dist/cjs/labels/labelGrid.js.map +1 -1
  168. package/dist/cjs/labels/labelMonthDropdown.d.ts +2 -2
  169. package/dist/cjs/labels/labelMonthDropdown.js.map +1 -1
  170. package/dist/cjs/labels/labelNext.d.ts +2 -2
  171. package/dist/cjs/labels/labelNext.js.map +1 -1
  172. package/dist/cjs/labels/labelPrevious.d.ts +2 -2
  173. package/dist/cjs/labels/labelPrevious.js.map +1 -1
  174. package/dist/cjs/labels/labelWeekNumber.d.ts +2 -2
  175. package/dist/cjs/labels/labelWeekNumber.js.map +1 -1
  176. package/dist/cjs/labels/labelWeekNumberHeader.d.ts +2 -2
  177. package/dist/cjs/labels/labelWeekNumberHeader.js.map +1 -1
  178. package/dist/cjs/labels/labelWeekday.d.ts +3 -2
  179. package/dist/cjs/labels/labelWeekday.js +3 -3
  180. package/dist/cjs/labels/labelWeekday.js.map +1 -1
  181. package/dist/cjs/labels/labelYearDropdown.d.ts +2 -2
  182. package/dist/cjs/labels/labelYearDropdown.js.map +1 -1
  183. package/dist/cjs/lib/dateLib.d.ts +70 -0
  184. package/dist/cjs/lib/dateLib.js +67 -0
  185. package/dist/cjs/lib/dateLib.js.map +1 -0
  186. package/dist/cjs/lib/index.d.ts +1 -0
  187. package/dist/cjs/lib/index.js +18 -0
  188. package/dist/cjs/lib/index.js.map +1 -0
  189. package/dist/cjs/lib/locales.d.ts +1 -0
  190. package/dist/cjs/lib/locales.js +6 -0
  191. package/dist/cjs/lib/locales.js.map +1 -0
  192. package/dist/cjs/selection/index.d.ts +3 -0
  193. package/dist/cjs/selection/index.js +20 -0
  194. package/dist/cjs/selection/index.js.map +1 -0
  195. package/dist/cjs/selection/useMulti.d.ts +25 -0
  196. package/dist/cjs/selection/useMulti.js +86 -0
  197. package/dist/cjs/selection/useMulti.js.map +1 -0
  198. package/dist/cjs/selection/useRange.d.ts +25 -0
  199. package/dist/cjs/selection/useRange.js +86 -0
  200. package/dist/cjs/selection/useRange.js.map +1 -0
  201. package/dist/cjs/selection/useSingle.d.ts +23 -0
  202. package/dist/cjs/selection/useSingle.js +63 -0
  203. package/dist/cjs/selection/useSingle.js.map +1 -0
  204. package/dist/{esm/types-deprecated.d.ts → cjs/types/deprecated.d.ts} +23 -22
  205. package/dist/cjs/{types-deprecated.js → types/deprecated.js} +12 -12
  206. package/dist/cjs/types/deprecated.js.map +1 -0
  207. package/dist/cjs/types/index.d.ts +3 -0
  208. package/dist/cjs/types/index.js +20 -0
  209. package/dist/cjs/types/index.js.map +1 -0
  210. package/dist/cjs/types/props.d.ts +376 -0
  211. package/dist/cjs/{types.js → types/props.js} +1 -1
  212. package/dist/cjs/types/props.js.map +1 -0
  213. package/dist/cjs/types/shared.d.ts +218 -0
  214. package/dist/cjs/types/shared.js +3 -0
  215. package/dist/cjs/types/shared.js.map +1 -0
  216. package/dist/cjs/utc.d.ts +3 -0
  217. package/dist/cjs/utc.js +14 -0
  218. package/dist/cjs/utc.js.map +1 -0
  219. package/dist/cjs/utils/addToRange.d.ts +2 -2
  220. package/dist/cjs/utils/addToRange.js +12 -13
  221. package/dist/cjs/utils/addToRange.js.map +1 -1
  222. package/dist/cjs/utils/dateMatchModifiers.d.ts +2 -2
  223. package/dist/cjs/utils/dateMatchModifiers.js +12 -14
  224. package/dist/cjs/utils/dateMatchModifiers.js.map +1 -1
  225. package/dist/cjs/utils/isDateInRange.d.ts +2 -2
  226. package/dist/cjs/utils/isDateInRange.js +8 -8
  227. package/dist/cjs/utils/isDateInRange.js.map +1 -1
  228. package/dist/cjs/utils/typeguards.d.ts +34 -1
  229. package/dist/cjs/utils/typeguards.js +43 -1
  230. package/dist/cjs/utils/typeguards.js.map +1 -1
  231. package/dist/esm/DayPicker.d.ts +4 -7
  232. package/dist/esm/DayPicker.js +3 -6
  233. package/dist/esm/DayPicker.js.map +1 -1
  234. package/dist/esm/UI.d.ts +25 -14
  235. package/dist/esm/UI.js +34 -22
  236. package/dist/esm/UI.js.map +1 -1
  237. package/dist/esm/classes/CalendarDay.d.ts +4 -1
  238. package/dist/esm/classes/CalendarDay.js +6 -6
  239. package/dist/esm/classes/CalendarDay.js.map +1 -1
  240. package/dist/esm/components/Button.d.ts +2 -2
  241. package/dist/esm/components/Button.js +1 -1
  242. package/dist/esm/components/Button.js.map +1 -1
  243. package/dist/esm/components/Calendar.d.ts +1 -1
  244. package/dist/esm/components/Calendar.js +5 -6
  245. package/dist/esm/components/Calendar.js.map +1 -1
  246. package/dist/esm/components/Chevron.d.ts +1 -1
  247. package/dist/esm/components/Chevron.js +4 -4
  248. package/dist/esm/components/Chevron.js.map +1 -1
  249. package/dist/esm/components/Day.d.ts +3 -3
  250. package/dist/esm/components/Day.js +1 -1
  251. package/dist/esm/components/DayDate.d.ts +13 -3
  252. package/dist/esm/components/DayDate.js +6 -1
  253. package/dist/esm/components/DayDate.js.map +1 -1
  254. package/dist/esm/components/DayWrapper.js +37 -21
  255. package/dist/esm/components/DayWrapper.js.map +1 -1
  256. package/dist/esm/components/Dropdown.d.ts +3 -4
  257. package/dist/esm/components/Dropdown.js +2 -2
  258. package/dist/esm/components/Dropdown.js.map +1 -1
  259. package/dist/esm/components/DropdownNav.d.ts +1 -1
  260. package/dist/esm/components/DropdownNav.js +5 -5
  261. package/dist/esm/components/DropdownNav.js.map +1 -1
  262. package/dist/esm/components/Footer.d.ts +2 -2
  263. package/dist/esm/components/Footer.js +1 -1
  264. package/dist/esm/components/Footer.js.map +1 -1
  265. package/dist/esm/components/Month.d.ts +1 -1
  266. package/dist/esm/components/Month.js +4 -4
  267. package/dist/esm/components/Month.js.map +1 -1
  268. package/dist/esm/components/MonthCaption.d.ts +1 -1
  269. package/dist/esm/components/MonthCaption.js +4 -4
  270. package/dist/esm/components/MonthCaption.js.map +1 -1
  271. package/dist/esm/components/Months.d.ts +1 -1
  272. package/dist/esm/components/Months.js +1 -1
  273. package/dist/esm/components/MonthsDropdown.d.ts +1 -1
  274. package/dist/esm/components/MonthsDropdown.js +5 -8
  275. package/dist/esm/components/MonthsDropdown.js.map +1 -1
  276. package/dist/esm/components/Nav.d.ts +1 -1
  277. package/dist/esm/components/Nav.js +2 -3
  278. package/dist/esm/components/Nav.js.map +1 -1
  279. package/dist/esm/components/Option.d.ts +1 -1
  280. package/dist/esm/components/Option.js +1 -1
  281. package/dist/esm/components/Select.d.ts +1 -1
  282. package/dist/esm/components/Select.js +1 -1
  283. package/dist/esm/components/Week.d.ts +1 -1
  284. package/dist/esm/components/Week.js +3 -4
  285. package/dist/esm/components/Week.js.map +1 -1
  286. package/dist/esm/components/WeekNumber.d.ts +1 -1
  287. package/dist/esm/components/WeekNumber.js +4 -4
  288. package/dist/esm/components/WeekNumber.js.map +1 -1
  289. package/dist/esm/components/Weekday.d.ts +1 -1
  290. package/dist/esm/components/Weekday.js +7 -5
  291. package/dist/esm/components/Weekday.js.map +1 -1
  292. package/dist/esm/components/Weekdays.d.ts +1 -1
  293. package/dist/esm/components/Weekdays.js +4 -4
  294. package/dist/esm/components/Weekdays.js.map +1 -1
  295. package/dist/esm/components/YearsDropdown.d.ts +1 -1
  296. package/dist/esm/components/YearsDropdown.js +5 -8
  297. package/dist/esm/components/YearsDropdown.js.map +1 -1
  298. package/dist/esm/contexts/index.d.ts +4 -0
  299. package/dist/esm/contexts/index.js +5 -0
  300. package/dist/esm/contexts/index.js.map +1 -0
  301. package/dist/esm/contexts/providers.d.ts +9 -0
  302. package/dist/esm/contexts/providers.js +26 -0
  303. package/dist/esm/contexts/providers.js.map +1 -0
  304. package/dist/esm/contexts/{calendar.d.ts → useCalendar.d.ts} +20 -33
  305. package/dist/esm/contexts/{calendar.js → useCalendar.js} +45 -37
  306. package/dist/esm/contexts/useCalendar.js.map +1 -0
  307. package/dist/{cjs/contexts/focus.d.ts → esm/contexts/useFocus.d.ts} +23 -18
  308. package/dist/esm/contexts/{focus.js → useFocus.js} +40 -33
  309. package/dist/esm/contexts/useFocus.js.map +1 -0
  310. package/dist/esm/contexts/useModifiers.d.ts +24 -0
  311. package/dist/esm/contexts/useModifiers.js +159 -0
  312. package/dist/esm/contexts/useModifiers.js.map +1 -0
  313. package/dist/esm/contexts/useProps.d.ts +45 -0
  314. package/dist/esm/contexts/useProps.js +67 -0
  315. package/dist/esm/contexts/useProps.js.map +1 -0
  316. package/dist/esm/formatters/formatCaption.d.ts +4 -2
  317. package/dist/esm/formatters/formatCaption.js +4 -3
  318. package/dist/esm/formatters/formatCaption.js.map +1 -1
  319. package/dist/esm/formatters/formatDay.d.ts +3 -2
  320. package/dist/esm/formatters/formatDay.js +3 -3
  321. package/dist/esm/formatters/formatDay.js.map +1 -1
  322. package/dist/esm/formatters/formatMonthDropdown.d.ts +5 -2
  323. package/dist/esm/formatters/formatMonthDropdown.js +8 -3
  324. package/dist/esm/formatters/formatMonthDropdown.js.map +1 -1
  325. package/dist/esm/formatters/formatWeekNumber.d.ts +1 -2
  326. package/dist/esm/formatters/formatWeekNumber.js +1 -3
  327. package/dist/esm/formatters/formatWeekNumber.js.map +1 -1
  328. package/dist/esm/formatters/formatWeekdayName.d.ts +3 -2
  329. package/dist/esm/formatters/formatWeekdayName.js +3 -3
  330. package/dist/esm/formatters/formatWeekdayName.js.map +1 -1
  331. package/dist/esm/formatters/formatYearDropdown.d.ts +1 -0
  332. package/dist/esm/formatters/formatYearDropdown.js +1 -0
  333. package/dist/esm/formatters/formatYearDropdown.js.map +1 -1
  334. package/dist/esm/helpers/debounce.js.map +1 -1
  335. package/dist/esm/helpers/getClassNamesForModifiers.d.ts +2 -2
  336. package/dist/esm/helpers/getClassNamesForModifiers.js +8 -5
  337. package/dist/esm/helpers/getClassNamesForModifiers.js.map +1 -1
  338. package/dist/esm/helpers/getDataAttributes.d.ts +2 -2
  339. package/dist/esm/helpers/getDataAttributes.js.map +1 -1
  340. package/dist/esm/helpers/getDates.d.ts +3 -14
  341. package/dist/esm/helpers/getDates.js +4 -23
  342. package/dist/esm/helpers/getDates.js.map +1 -1
  343. package/dist/esm/helpers/getDefaultClassNames.js +8 -4
  344. package/dist/esm/helpers/getDefaultClassNames.js.map +1 -1
  345. package/dist/esm/helpers/getDisplayMonths.d.ts +2 -5
  346. package/dist/esm/helpers/getDisplayMonths.js +4 -6
  347. package/dist/esm/helpers/getDisplayMonths.js.map +1 -1
  348. package/dist/esm/helpers/getDropdownMonths.d.ts +2 -5
  349. package/dist/esm/helpers/getDropdownMonths.js +10 -14
  350. package/dist/esm/helpers/getDropdownMonths.js.map +1 -1
  351. package/dist/esm/helpers/getDropdownYears.d.ts +2 -5
  352. package/dist/esm/helpers/getDropdownYears.js +10 -17
  353. package/dist/esm/helpers/getDropdownYears.js.map +1 -1
  354. package/dist/esm/helpers/getFormatters.d.ts +2 -2
  355. package/dist/esm/helpers/getFormatters.js.map +1 -1
  356. package/dist/esm/helpers/getInitialMonth.d.ts +3 -0
  357. package/dist/esm/helpers/{getStartMonth.js → getInitialMonth.js} +4 -6
  358. package/dist/esm/helpers/getInitialMonth.js.map +1 -0
  359. package/dist/esm/helpers/getMonths.d.ts +4 -2
  360. package/dist/esm/helpers/getMonths.js +17 -22
  361. package/dist/esm/helpers/getMonths.js.map +1 -1
  362. package/dist/esm/helpers/getNextFocus.d.ts +4 -5
  363. package/dist/esm/helpers/getNextFocus.js +5 -3
  364. package/dist/esm/helpers/getNextFocus.js.map +1 -1
  365. package/dist/esm/helpers/getNextMonth.d.ts +2 -8
  366. package/dist/esm/helpers/getNextMonth.js +7 -9
  367. package/dist/esm/helpers/getNextMonth.js.map +1 -1
  368. package/dist/esm/helpers/getPossibleFocusDate.d.ts +3 -3
  369. package/dist/esm/helpers/getPossibleFocusDate.js +1 -10
  370. package/dist/esm/helpers/getPossibleFocusDate.js.map +1 -1
  371. package/dist/esm/helpers/getPreviousMonth.d.ts +2 -8
  372. package/dist/esm/helpers/getPreviousMonth.js +6 -8
  373. package/dist/esm/helpers/getPreviousMonth.js.map +1 -1
  374. package/dist/esm/helpers/getStartEndMonths.d.ts +2 -2
  375. package/dist/esm/helpers/getStartEndMonths.js +5 -6
  376. package/dist/esm/helpers/getStartEndMonths.js.map +1 -1
  377. package/dist/esm/helpers/getStyleForModifiers.d.ts +2 -2
  378. package/dist/esm/helpers/getStyleForModifiers.js.map +1 -1
  379. package/dist/esm/helpers/getWeekdays.d.ts +5 -4
  380. package/dist/esm/helpers/getWeekdays.js +5 -7
  381. package/dist/esm/helpers/getWeekdays.js.map +1 -1
  382. package/dist/esm/index.d.ts +4 -7
  383. package/dist/esm/index.js +4 -7
  384. package/dist/esm/index.js.map +1 -1
  385. package/dist/esm/jalali.d.ts +3 -0
  386. package/dist/esm/jalali.js +7 -0
  387. package/dist/esm/jalali.js.map +1 -0
  388. package/dist/esm/labels/labelCaption.d.ts +3 -2
  389. package/dist/esm/labels/labelCaption.js +2 -1
  390. package/dist/esm/labels/labelCaption.js.map +1 -1
  391. package/dist/esm/labels/labelDay.d.ts +4 -3
  392. package/dist/esm/labels/labelDay.js +2 -1
  393. package/dist/esm/labels/labelDay.js.map +1 -1
  394. package/dist/esm/labels/labelGrid.d.ts +3 -2
  395. package/dist/esm/labels/labelGrid.js +3 -3
  396. package/dist/esm/labels/labelGrid.js.map +1 -1
  397. package/dist/esm/labels/labelMonthDropdown.d.ts +2 -2
  398. package/dist/esm/labels/labelMonthDropdown.js.map +1 -1
  399. package/dist/esm/labels/labelNext.d.ts +2 -2
  400. package/dist/esm/labels/labelNext.js.map +1 -1
  401. package/dist/esm/labels/labelPrevious.d.ts +2 -2
  402. package/dist/esm/labels/labelPrevious.js.map +1 -1
  403. package/dist/esm/labels/labelWeekNumber.d.ts +2 -2
  404. package/dist/esm/labels/labelWeekNumber.js.map +1 -1
  405. package/dist/esm/labels/labelWeekNumberHeader.d.ts +2 -2
  406. package/dist/esm/labels/labelWeekNumberHeader.js.map +1 -1
  407. package/dist/esm/labels/labelWeekday.d.ts +3 -2
  408. package/dist/esm/labels/labelWeekday.js +3 -3
  409. package/dist/esm/labels/labelWeekday.js.map +1 -1
  410. package/dist/esm/labels/labelYearDropdown.d.ts +2 -2
  411. package/dist/esm/labels/labelYearDropdown.js.map +1 -1
  412. package/dist/esm/lib/dateLib.d.ts +70 -0
  413. package/dist/esm/lib/dateLib.js +64 -0
  414. package/dist/esm/lib/dateLib.js.map +1 -0
  415. package/dist/esm/lib/index.d.ts +1 -0
  416. package/dist/esm/lib/index.js +2 -0
  417. package/dist/esm/lib/index.js.map +1 -0
  418. package/dist/esm/lib/locales.d.ts +1 -0
  419. package/dist/esm/lib/locales.js +2 -0
  420. package/dist/esm/lib/locales.js.map +1 -0
  421. package/dist/esm/selection/index.d.ts +3 -0
  422. package/dist/esm/selection/index.js +4 -0
  423. package/dist/esm/selection/index.js.map +1 -0
  424. package/dist/esm/selection/useMulti.d.ts +25 -0
  425. package/dist/esm/selection/useMulti.js +78 -0
  426. package/dist/esm/selection/useMulti.js.map +1 -0
  427. package/dist/esm/selection/useRange.d.ts +25 -0
  428. package/dist/esm/selection/useRange.js +78 -0
  429. package/dist/esm/selection/useRange.js.map +1 -0
  430. package/dist/esm/selection/useSingle.d.ts +23 -0
  431. package/dist/esm/selection/useSingle.js +55 -0
  432. package/dist/esm/selection/useSingle.js.map +1 -0
  433. package/dist/{cjs/types-deprecated.d.ts → esm/types/deprecated.d.ts} +23 -22
  434. package/dist/esm/{types-deprecated.js → types/deprecated.js} +10 -10
  435. package/dist/esm/types/deprecated.js.map +1 -0
  436. package/dist/esm/types/index.d.ts +3 -0
  437. package/dist/esm/types/index.js +4 -0
  438. package/dist/esm/types/index.js.map +1 -0
  439. package/dist/esm/types/props.d.ts +376 -0
  440. package/dist/esm/types/props.js +2 -0
  441. package/dist/esm/types/props.js.map +1 -0
  442. package/dist/esm/types/shared.d.ts +218 -0
  443. package/dist/esm/types/shared.js +2 -0
  444. package/dist/esm/types/shared.js.map +1 -0
  445. package/dist/esm/utc.d.ts +3 -0
  446. package/dist/esm/utc.js +7 -0
  447. package/dist/esm/utc.js.map +1 -0
  448. package/dist/esm/utils/addToRange.d.ts +2 -2
  449. package/dist/esm/utils/addToRange.js +5 -6
  450. package/dist/esm/utils/addToRange.js.map +1 -1
  451. package/dist/esm/utils/dateMatchModifiers.d.ts +2 -2
  452. package/dist/esm/utils/dateMatchModifiers.js +6 -8
  453. package/dist/esm/utils/dateMatchModifiers.js.map +1 -1
  454. package/dist/esm/utils/isDateInRange.d.ts +2 -2
  455. package/dist/esm/utils/isDateInRange.js +3 -3
  456. package/dist/esm/utils/isDateInRange.js.map +1 -1
  457. package/dist/esm/utils/typeguards.d.ts +34 -1
  458. package/dist/esm/utils/typeguards.js +39 -0
  459. package/dist/esm/utils/typeguards.js.map +1 -1
  460. package/examples/Controlled.test.tsx +4 -3
  461. package/examples/CssModules.tsx +1 -1
  462. package/examples/CustomCaption.tsx +5 -1
  463. package/examples/CustomDayDate.test.tsx +3 -2
  464. package/examples/CustomDayDate.tsx +5 -6
  465. package/examples/CustomMultiple.test.tsx +3 -1
  466. package/examples/CustomMultiple.tsx +5 -2
  467. package/examples/CustomSingle.test.tsx +6 -4
  468. package/examples/CustomSingle.tsx +2 -2
  469. package/examples/CustomWeek.test.tsx +6 -4
  470. package/examples/DefaultMonth.test.tsx +3 -1
  471. package/examples/Dialog.tsx +2 -2
  472. package/examples/Disabled.test.tsx +6 -4
  473. package/examples/Dropdown.test.tsx +3 -1
  474. package/examples/DropdownMultipleMonths.test.tsx +3 -1
  475. package/examples/FixedWeeks.test.tsx +3 -1
  476. package/examples/FocusRecursive.test.tsx +10 -9
  477. package/examples/Formatters.test.tsx +3 -1
  478. package/examples/FromToMonth.test.tsx +2 -2
  479. package/examples/FromToYear.test.tsx +5 -3
  480. package/examples/Input.test.tsx +9 -1
  481. package/examples/Jalali.test.tsx +16 -0
  482. package/examples/Jalali.tsx +8 -0
  483. package/examples/Keyboard.test.tsx +26 -24
  484. package/examples/Keyboard.tsx +6 -2
  485. package/examples/ModifiersClassnames.test.tsx +3 -1
  486. package/examples/ModifiersClassnames.tsx +3 -1
  487. package/examples/ModifiersDisabled.tsx +1 -1
  488. package/examples/ModifiersHidden.test.tsx +3 -1
  489. package/examples/ModifiersStyle.test.tsx +3 -1
  490. package/examples/ModifiersToday.test.tsx +3 -1
  491. package/examples/Multiple.test.tsx +11 -1
  492. package/examples/MultipleMinMax.test.tsx +3 -1
  493. package/examples/MultipleMinMax.tsx +2 -9
  494. package/examples/MultipleMonths.test.tsx +3 -1
  495. package/examples/MultipleMonthsId.test.tsx +3 -1
  496. package/examples/MultipleMonthsPaged.test.tsx +3 -1
  497. package/examples/None.tsx +1 -1
  498. package/examples/NumberingSystem.test.tsx +3 -1
  499. package/examples/OutsideDays.test.tsx +3 -1
  500. package/examples/Range.test.tsx +5 -5
  501. package/examples/Range.tsx +5 -5
  502. package/examples/RangeMinMax.test.tsx +55 -0
  503. package/examples/RangeMinMax.tsx +12 -9
  504. package/examples/RangeShiftKey.test.tsx +7 -5
  505. package/examples/RangeShiftKey.tsx +3 -3
  506. package/examples/Rtl.test.tsx +3 -1
  507. package/examples/Single.test.tsx +8 -3
  508. package/examples/Spanish.test.tsx +3 -1
  509. package/examples/Start.test.tsx +3 -1
  510. package/examples/StylingCss.test.tsx +3 -1
  511. package/examples/StylingCssModules.test.tsx +3 -1
  512. package/examples/StylingInline.test.tsx +3 -1
  513. package/examples/TestCase2047.tsx +1 -1
  514. package/examples/Testcase1567.tsx +2 -4
  515. package/examples/Utc.tsx +19 -0
  516. package/examples/Weeknumber.test.tsx +7 -4
  517. package/examples/__snapshots__/Range.test.tsx.snap +97 -97
  518. package/examples/__snapshots__/StylingCssModules.test.tsx.snap +33 -33
  519. package/examples/index.ts +2 -0
  520. package/package.json +36 -6
  521. package/src/DayPicker.tsx +5 -11
  522. package/src/UI.ts +26 -14
  523. package/src/classes/CalendarDay.ts +16 -6
  524. package/src/components/Button.tsx +2 -5
  525. package/src/components/Calendar.tsx +5 -6
  526. package/src/components/Chevron.tsx +4 -4
  527. package/src/components/Day.tsx +4 -4
  528. package/src/components/DayDate.tsx +14 -3
  529. package/src/components/DayWrapper.tsx +59 -44
  530. package/src/components/Dropdown.tsx +4 -6
  531. package/src/components/DropdownNav.tsx +21 -5
  532. package/src/components/Footer.tsx +2 -2
  533. package/src/components/Month.tsx +4 -4
  534. package/src/components/MonthCaption.tsx +7 -4
  535. package/src/components/Months.tsx +1 -1
  536. package/src/components/MonthsDropdown.tsx +5 -8
  537. package/src/components/Nav.tsx +3 -4
  538. package/src/components/Option.tsx +1 -1
  539. package/src/components/Select.tsx +1 -1
  540. package/src/components/Week.tsx +9 -5
  541. package/src/components/WeekNumber.tsx +4 -4
  542. package/src/components/Weekday.tsx +7 -4
  543. package/src/components/Weekdays.tsx +4 -3
  544. package/src/components/YearsDropdown.tsx +5 -8
  545. package/src/contexts/index.ts +4 -0
  546. package/src/contexts/providers.tsx +46 -0
  547. package/src/contexts/{calendar.test.tsx → useCalendar.test.ts} +1 -3
  548. package/src/contexts/{calendar.tsx → useCalendar.tsx} +75 -73
  549. package/src/contexts/{focus.test.tsx → useFocus.test.tsx} +2 -4
  550. package/src/contexts/{focus.tsx → useFocus.tsx} +73 -59
  551. package/src/contexts/useModifiers.tsx +221 -0
  552. package/src/contexts/useProps.tsx +128 -0
  553. package/src/formatters/formatCaption.test.ts +6 -2
  554. package/src/formatters/formatCaption.ts +6 -3
  555. package/src/formatters/formatDay.ts +9 -3
  556. package/src/formatters/formatMonthDropdown.test.ts +2 -5
  557. package/src/formatters/formatMonthDropdown.ts +12 -4
  558. package/src/formatters/formatWeekNumber.ts +1 -7
  559. package/src/formatters/formatWeekdayName.ts +6 -3
  560. package/src/formatters/formatYearDropdown.ts +1 -0
  561. package/src/helpers/debounce.ts +0 -2
  562. package/src/helpers/getClassNamesForModifiers.ts +8 -11
  563. package/src/helpers/getDataAttributes.tsx +4 -4
  564. package/src/helpers/getDates.test.ts +21 -10
  565. package/src/helpers/getDates.ts +19 -28
  566. package/src/helpers/getDefaultClassNames.ts +11 -5
  567. package/src/helpers/getDisplayMonths.test.ts +17 -10
  568. package/src/helpers/getDisplayMonths.ts +6 -11
  569. package/src/helpers/getDropdownMonths.test.ts +32 -63
  570. package/src/helpers/getDropdownMonths.ts +17 -27
  571. package/src/helpers/getDropdownYears.test.ts +36 -56
  572. package/src/helpers/getDropdownYears.ts +25 -23
  573. package/src/helpers/getFormatters.test.ts +9 -5
  574. package/src/helpers/getFormatters.ts +2 -2
  575. package/src/helpers/{getStartMonth.test.ts → getInitialMonth.test.ts} +35 -8
  576. package/src/helpers/{getStartMonth.ts → getInitialMonth.ts} +15 -19
  577. package/src/helpers/getMonths.test.ts +84 -87
  578. package/src/helpers/getMonths.ts +29 -26
  579. package/src/helpers/getNextFocus.test.tsx +15 -12
  580. package/src/helpers/getNextFocus.tsx +14 -10
  581. package/src/helpers/getNextMonth.test.ts +17 -6
  582. package/src/helpers/getNextMonth.ts +20 -17
  583. package/src/helpers/getPossibleFocusDate.test.ts +7 -6
  584. package/src/helpers/getPossibleFocusDate.ts +21 -17
  585. package/src/helpers/getPreviousMonth.test.ts +57 -63
  586. package/src/helpers/getPreviousMonth.ts +14 -15
  587. package/src/helpers/getStartEndMonths.ts +17 -11
  588. package/src/helpers/getStyleForModifiers.test.ts +6 -6
  589. package/src/helpers/getStyleForModifiers.ts +2 -2
  590. package/src/helpers/getWeekdays.test.ts +5 -9
  591. package/src/helpers/getWeekdays.ts +10 -10
  592. package/src/helpers/useControlledValue.test.ts +2 -2
  593. package/src/index.ts +7 -7
  594. package/src/jalali.tsx +9 -0
  595. package/src/labels/labelCaption.ts +5 -2
  596. package/src/labels/labelDay.test.ts +2 -2
  597. package/src/labels/labelDay.ts +7 -5
  598. package/src/labels/labelGrid.ts +10 -3
  599. package/src/labels/labelMonthDropdown.ts +2 -2
  600. package/src/labels/labelNext.ts +2 -2
  601. package/src/labels/labelPrevious.ts +2 -2
  602. package/src/labels/labelWeekNumber.ts +2 -2
  603. package/src/labels/labelWeekNumberHeader.ts +2 -2
  604. package/src/labels/labelWeekday.test.ts +1 -1
  605. package/src/labels/labelWeekday.ts +6 -3
  606. package/src/labels/labelYearDropdown.ts +2 -2
  607. package/src/lib/dateLib.ts +72 -0
  608. package/src/lib/index.ts +1 -0
  609. package/src/lib/locales.ts +1 -0
  610. package/src/selection/index.ts +3 -0
  611. package/src/selection/useMulti.tsx +120 -0
  612. package/src/selection/useRange.tsx +125 -0
  613. package/src/selection/useSingle.tsx +96 -0
  614. package/src/style.css +11 -6
  615. package/src/style.module.css +10 -6
  616. package/src/{types-deprecated.ts → types/deprecated.ts} +27 -30
  617. package/src/types/index.ts +3 -0
  618. package/src/types/props.test.tsx +65 -0
  619. package/src/types/props.ts +439 -0
  620. package/src/types/shared.ts +291 -0
  621. package/src/utc.tsx +9 -0
  622. package/src/utils/addToRange.test.ts +3 -3
  623. package/src/utils/addToRange.ts +8 -9
  624. package/src/utils/dateMatchModifiers.test.ts +13 -12
  625. package/src/utils/dateMatchModifiers.ts +8 -10
  626. package/src/utils/isDateInRange.test.ts +1 -1
  627. package/src/utils/isDateInRange.ts +8 -5
  628. package/src/utils/typeguards.ts +56 -1
  629. package/website/README.md +0 -16
  630. package/website/docs/advanced-guides/custom-components.mdx +18 -15
  631. package/website/docs/advanced-guides/custom-modifiers.mdx +54 -69
  632. package/website/docs/changelog.mdx +0 -1
  633. package/website/docs/{intro.md → intro.mdx} +10 -9
  634. package/website/docs/upgrading.mdx +7 -7
  635. package/website/docs/using-daypicker/customization.mdx +14 -19
  636. package/website/docs/using-daypicker/localization.mdx +93 -0
  637. package/website/docs/using-daypicker/selection-modes.mdx +45 -36
  638. package/website/docs/using-daypicker/styling.mdx +16 -10
  639. package/dist/cjs/contexts/calendar.js +0 -126
  640. package/dist/cjs/contexts/calendar.js.map +0 -1
  641. package/dist/cjs/contexts/focus.js.map +0 -1
  642. package/dist/cjs/contexts/modifiers.d.ts +0 -31
  643. package/dist/cjs/contexts/modifiers.js +0 -152
  644. package/dist/cjs/contexts/modifiers.js.map +0 -1
  645. package/dist/cjs/contexts/props.d.ts +0 -51
  646. package/dist/cjs/contexts/props.js +0 -84
  647. package/dist/cjs/contexts/props.js.map +0 -1
  648. package/dist/cjs/contexts/root.d.ts +0 -8
  649. package/dist/cjs/contexts/root.js +0 -27
  650. package/dist/cjs/contexts/root.js.map +0 -1
  651. package/dist/cjs/contexts/selection.d.ts +0 -49
  652. package/dist/cjs/contexts/selection.js +0 -206
  653. package/dist/cjs/contexts/selection.js.map +0 -1
  654. package/dist/cjs/helpers/calculateMonthWeeks.d.ts +0 -9
  655. package/dist/cjs/helpers/calculateMonthWeeks.js +0 -36
  656. package/dist/cjs/helpers/calculateMonthWeeks.js.map +0 -1
  657. package/dist/cjs/helpers/getMonthWeeks.d.ts +0 -19
  658. package/dist/cjs/helpers/getMonthWeeks.js +0 -26
  659. package/dist/cjs/helpers/getMonthWeeks.js.map +0 -1
  660. package/dist/cjs/helpers/getStartMonth.d.ts +0 -3
  661. package/dist/cjs/helpers/getStartMonth.js +0 -23
  662. package/dist/cjs/helpers/getStartMonth.js.map +0 -1
  663. package/dist/cjs/types-deprecated.js.map +0 -1
  664. package/dist/cjs/types.d.ts +0 -606
  665. package/dist/cjs/types.js.map +0 -1
  666. package/dist/esm/contexts/calendar.js.map +0 -1
  667. package/dist/esm/contexts/focus.js.map +0 -1
  668. package/dist/esm/contexts/modifiers.d.ts +0 -31
  669. package/dist/esm/contexts/modifiers.js +0 -124
  670. package/dist/esm/contexts/modifiers.js.map +0 -1
  671. package/dist/esm/contexts/props.d.ts +0 -51
  672. package/dist/esm/contexts/props.js +0 -56
  673. package/dist/esm/contexts/props.js.map +0 -1
  674. package/dist/esm/contexts/root.d.ts +0 -8
  675. package/dist/esm/contexts/root.js +0 -20
  676. package/dist/esm/contexts/root.js.map +0 -1
  677. package/dist/esm/contexts/selection.d.ts +0 -49
  678. package/dist/esm/contexts/selection.js +0 -178
  679. package/dist/esm/contexts/selection.js.map +0 -1
  680. package/dist/esm/helpers/calculateMonthWeeks.d.ts +0 -9
  681. package/dist/esm/helpers/calculateMonthWeeks.js +0 -32
  682. package/dist/esm/helpers/calculateMonthWeeks.js.map +0 -1
  683. package/dist/esm/helpers/getMonthWeeks.d.ts +0 -19
  684. package/dist/esm/helpers/getMonthWeeks.js +0 -22
  685. package/dist/esm/helpers/getMonthWeeks.js.map +0 -1
  686. package/dist/esm/helpers/getStartMonth.d.ts +0 -3
  687. package/dist/esm/helpers/getStartMonth.js.map +0 -1
  688. package/dist/esm/types-deprecated.js.map +0 -1
  689. package/dist/esm/types.d.ts +0 -606
  690. package/dist/esm/types.js +0 -2
  691. package/dist/esm/types.js.map +0 -1
  692. package/src/contexts/modifiers.tsx +0 -177
  693. package/src/contexts/props.tsx +0 -129
  694. package/src/contexts/root.tsx +0 -33
  695. package/src/contexts/selection.tsx +0 -264
  696. package/src/helpers/calculateMonthWeeks.test.ts +0 -47
  697. package/src/helpers/calculateMonthWeeks.ts +0 -60
  698. package/src/helpers/getMonthWeeks.test.ts +0 -100
  699. package/src/helpers/getMonthWeeks.ts +0 -55
  700. package/src/types.test.tsx +0 -52
  701. package/src/types.ts +0 -699
@@ -5,9 +5,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.Week = void 0;
7
7
  const react_1 = __importDefault(require("react"));
8
- const getUnixTime_1 = require("date-fns/getUnixTime");
9
8
  const UI_1 = require("../UI");
10
- const props_1 = require("../contexts/props");
9
+ const contexts_1 = require("../contexts");
11
10
  const DayWrapper_1 = require("./DayWrapper");
12
11
  const WeekNumber_1 = require("./WeekNumber");
13
12
  /**
@@ -16,14 +15,14 @@ const WeekNumber_1 = require("./WeekNumber");
16
15
  * Use the `components` prop to swap this component with a custom one.
17
16
  *
18
17
  * @group Components
19
- * @see https://react-day-picker.js.org/advanced-guides/custom-components
18
+ * @see https://daypicker.dev/advanced-guides/custom-components
20
19
  */
21
20
  function Week(props) {
22
- const { styles, classNames, showWeekNumber, components } = (0, props_1.useProps)();
21
+ const { styles, classNames, showWeekNumber, components, dateLib: { getUnixTime } } = (0, contexts_1.useProps)();
23
22
  const WeekNumber = components?.WeekNumber ?? WeekNumber_1.WeekNumber;
24
23
  return (react_1.default.createElement("div", { role: "row", "aria-rowindex": props["aria-rowindex"], className: classNames[UI_1.UI.Week], style: styles?.[UI_1.UI.Week] },
25
24
  showWeekNumber && react_1.default.createElement(WeekNumber, { week: props.week }),
26
- props.week.days.map((day, i) => (react_1.default.createElement(DayWrapper_1.DayWrapper, { day: day, "aria-colindex": showWeekNumber ? i + 2 : i + 1, key: (0, getUnixTime_1.getUnixTime)(day.date) })))));
25
+ props.week.days.map((day, i) => (react_1.default.createElement(DayWrapper_1.DayWrapper, { day: day, "aria-colindex": showWeekNumber ? i + 2 : i + 1, key: getUnixTime(day.date) })))));
27
26
  }
28
27
  exports.Week = Week;
29
28
  //# sourceMappingURL=Week.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Week.js","sourceRoot":"","sources":["../../../src/components/Week.tsx"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAE1B,sDAAmD;AAEnD,8BAA2B;AAE3B,6CAA6C;AAE7C,6CAA0C;AAC1C,6CAA+D;AAE/D;;;;;;;GAOG;AACH,SAAgB,IAAI,CAAC,KAAwD;IAC3E,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,cAAc,EAAE,UAAU,EAAE,GAAG,IAAA,gBAAQ,GAAE,CAAC;IAEtE,MAAM,UAAU,GAAG,UAAU,EAAE,UAAU,IAAI,uBAAiB,CAAC;IAE/D,OAAO,CACL,uCACE,IAAI,EAAC,KAAK,mBACK,KAAK,CAAC,eAAe,CAAC,EACrC,SAAS,EAAE,UAAU,CAAC,OAAE,CAAC,IAAI,CAAC,EAC9B,KAAK,EAAE,MAAM,EAAE,CAAC,OAAE,CAAC,IAAI,CAAC;QAEvB,cAAc,IAAI,8BAAC,UAAU,IAAC,IAAI,EAAE,KAAK,CAAC,IAAI,GAAI;QAClD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAgB,EAAE,CAAS,EAAE,EAAE,CAAC,CACpD,8BAAC,uBAAU,IACT,GAAG,EAAE,GAAG,mBACO,cAAc,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAC7C,GAAG,EAAE,IAAA,yBAAW,EAAC,GAAG,CAAC,IAAI,CAAC,GAC1B,CACH,CAAC,CACE,CACP,CAAC;AACJ,CAAC;AAtBD,oBAsBC"}
1
+ {"version":3,"file":"Week.js","sourceRoot":"","sources":["../../../src/components/Week.tsx"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAE1B,8BAA2B;AAE3B,0CAAuC;AAEvC,6CAA0C;AAC1C,6CAA+D;AAE/D;;;;;;;GAOG;AACH,SAAgB,IAAI,CAAC,KAAwD;IAC3E,MAAM,EACJ,MAAM,EACN,UAAU,EACV,cAAc,EACd,UAAU,EACV,OAAO,EAAE,EAAE,WAAW,EAAE,EACzB,GAAG,IAAA,mBAAQ,GAAE,CAAC;IAEf,MAAM,UAAU,GAAG,UAAU,EAAE,UAAU,IAAI,uBAAiB,CAAC;IAE/D,OAAO,CACL,uCACE,IAAI,EAAC,KAAK,mBACK,KAAK,CAAC,eAAe,CAAC,EACrC,SAAS,EAAE,UAAU,CAAC,OAAE,CAAC,IAAI,CAAC,EAC9B,KAAK,EAAE,MAAM,EAAE,CAAC,OAAE,CAAC,IAAI,CAAC;QAEvB,cAAc,IAAI,8BAAC,UAAU,IAAC,IAAI,EAAE,KAAK,CAAC,IAAI,GAAI;QAClD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAgB,EAAE,CAAS,EAAE,EAAE,CAAC,CACpD,8BAAC,uBAAU,IACT,GAAG,EAAE,GAAG,mBACO,cAAc,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAC7C,GAAG,EAAE,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,GAC1B,CACH,CAAC,CACE,CACP,CAAC;AACJ,CAAC;AA5BD,oBA4BC"}
@@ -6,7 +6,7 @@ import type { CalendarWeek } from "../classes";
6
6
  * Use the `components` prop to swap this component with a custom one.
7
7
  *
8
8
  * @group Components
9
- * @see https://react-day-picker.js.org/advanced-guides/custom-components
9
+ * @see https://daypicker.dev/advanced-guides/custom-components
10
10
  */
11
11
  export declare function WeekNumber(props: {
12
12
  week: CalendarWeek;
@@ -6,22 +6,22 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.WeekNumber = void 0;
7
7
  const react_1 = __importDefault(require("react"));
8
8
  const UI_1 = require("../UI");
9
- const props_1 = require("../contexts/props");
9
+ const contexts_1 = require("../contexts");
10
10
  /**
11
11
  * Render the cell with the number of the week.
12
12
  *
13
13
  * Use the `components` prop to swap this component with a custom one.
14
14
  *
15
15
  * @group Components
16
- * @see https://react-day-picker.js.org/advanced-guides/custom-components
16
+ * @see https://daypicker.dev/advanced-guides/custom-components
17
17
  */
18
18
  function WeekNumber(props) {
19
- const { classNames, formatters: { formatWeekNumber }, labels: { labelWeekNumber }, locale, styles, onWeekNumberClick } = (0, props_1.useProps)();
19
+ const { classNames, formatters: { formatWeekNumber }, labels: { labelWeekNumber }, locale, styles, onWeekNumberClick } = (0, contexts_1.useProps)();
20
20
  const isInteractive = Boolean(onWeekNumberClick);
21
21
  return (react_1.default.createElement("div", { role: "rowheader", "aria-colindex": 1, "aria-label": labelWeekNumber(props.week.weekNumber, { locale }), className: [
22
22
  classNames[UI_1.UI.WeekNumber],
23
- isInteractive ? classNames[UI_1.WeekNumberFlag.isInteractive] : ""
24
- ].join(" "), style: styles?.[UI_1.UI.WeekNumber], tabIndex: isInteractive ? 0 : undefined, onClick: (e) => onWeekNumberClick?.(props.week.weekNumber, props.week.days.map((day) => day.date), e) }, formatWeekNumber(props.week.weekNumber, { locale })));
23
+ isInteractive ? classNames[UI_1.WeekNumberFlag.week_number_interactive] : ""
24
+ ].join(" "), style: styles?.[UI_1.UI.WeekNumber], tabIndex: isInteractive ? 0 : undefined, onClick: (e) => onWeekNumberClick?.(props.week.weekNumber, props.week.days.map((day) => day.date), e) }, formatWeekNumber(props.week.weekNumber)));
25
25
  }
26
26
  exports.WeekNumber = WeekNumber;
27
27
  //# sourceMappingURL=WeekNumber.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"WeekNumber.js","sourceRoot":"","sources":["../../../src/components/WeekNumber.tsx"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAE1B,8BAA2C;AAE3C,6CAA6C;AAE7C;;;;;;;GAOG;AACH,SAAgB,UAAU,CAAC,KAA6B;IACtD,MAAM,EACJ,UAAU,EACV,UAAU,EAAE,EAAE,gBAAgB,EAAE,EAChC,MAAM,EAAE,EAAE,eAAe,EAAE,EAC3B,MAAM,EACN,MAAM,EACN,iBAAiB,EAClB,GAAG,IAAA,gBAAQ,GAAE,CAAC;IAEf,MAAM,aAAa,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAEjD,OAAO,CACL,uCACE,IAAI,EAAC,WAAW,mBACD,CAAC,gBACJ,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,MAAM,EAAE,CAAC,EAC9D,SAAS,EAAE;YACT,UAAU,CAAC,OAAE,CAAC,UAAU,CAAC;YACzB,aAAa,CAAC,CAAC,CAAC,UAAU,CAAC,mBAAc,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE;SAC9D,CAAC,IAAI,CAAC,GAAG,CAAC,EACX,KAAK,EAAE,MAAM,EAAE,CAAC,OAAE,CAAC,UAAU,CAAC,EAC9B,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,EACvC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CACb,iBAAiB,EAAE,CACjB,KAAK,CAAC,IAAI,CAAC,UAAU,EACrB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,EACtC,CAAC,CACF,IAGF,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,MAAM,EAAE,CAAC,CAChD,CACP,CAAC;AACJ,CAAC;AAlCD,gCAkCC"}
1
+ {"version":3,"file":"WeekNumber.js","sourceRoot":"","sources":["../../../src/components/WeekNumber.tsx"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAE1B,8BAA2C;AAE3C,0CAAuC;AAEvC;;;;;;;GAOG;AACH,SAAgB,UAAU,CAAC,KAA6B;IACtD,MAAM,EACJ,UAAU,EACV,UAAU,EAAE,EAAE,gBAAgB,EAAE,EAChC,MAAM,EAAE,EAAE,eAAe,EAAE,EAC3B,MAAM,EACN,MAAM,EACN,iBAAiB,EAClB,GAAG,IAAA,mBAAQ,GAAE,CAAC;IAEf,MAAM,aAAa,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAEjD,OAAO,CACL,uCACE,IAAI,EAAC,WAAW,mBACD,CAAC,gBACJ,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,MAAM,EAAE,CAAC,EAC9D,SAAS,EAAE;YACT,UAAU,CAAC,OAAE,CAAC,UAAU,CAAC;YACzB,aAAa,CAAC,CAAC,CAAC,UAAU,CAAC,mBAAc,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,EAAE;SACxE,CAAC,IAAI,CAAC,GAAG,CAAC,EACX,KAAK,EAAE,MAAM,EAAE,CAAC,OAAE,CAAC,UAAU,CAAC,EAC9B,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,EACvC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CACb,iBAAiB,EAAE,CACjB,KAAK,CAAC,IAAI,CAAC,UAAU,EACrB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,EACtC,CAAC,CACF,IAGF,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CACpC,CACP,CAAC;AACJ,CAAC;AAlCD,gCAkCC"}
@@ -5,7 +5,7 @@ import React from "react";
5
5
  * Use the `components` prop to swap this component with a custom one.
6
6
  *
7
7
  * @group Components
8
- * @see https://react-day-picker.js.org/advanced-guides/custom-components
8
+ * @see https://daypicker.dev/advanced-guides/custom-components
9
9
  */
10
10
  export declare function Weekday(props: {
11
11
  ["aria-colindex"]?: number | undefined;
@@ -6,21 +6,23 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.Weekday = void 0;
7
7
  const react_1 = __importDefault(require("react"));
8
8
  const UI_1 = require("../UI");
9
- const props_1 = require("../contexts/props");
9
+ const contexts_1 = require("../contexts");
10
10
  /**
11
11
  * Render the column header with the weekday name (e.g. "Mo", "Tu", etc.).
12
12
  *
13
13
  * Use the `components` prop to swap this component with a custom one.
14
14
  *
15
15
  * @group Components
16
- * @see https://react-day-picker.js.org/advanced-guides/custom-components
16
+ * @see https://daypicker.dev/advanced-guides/custom-components
17
17
  */
18
18
  function Weekday(props) {
19
- const { classNames, formatters: { formatWeekdayName }, labels: { labelWeekday, labelWeekNumberHeader }, locale, hideWeekdayRow, styles } = (0, props_1.useProps)();
19
+ const { classNames, dateLib, formatters: { formatWeekdayName }, labels: { labelWeekday, labelWeekNumberHeader }, locale, hideWeekdayRow, styles } = (0, contexts_1.useProps)();
20
20
  return (react_1.default.createElement("span", { role: "columnheader", "aria-colindex": props["aria-colindex"], "aria-label": props.weekday
21
- ? labelWeekday(props.weekday, { locale })
21
+ ? labelWeekday(props.weekday, { locale }, dateLib)
22
22
  : labelWeekNumberHeader({ locale }), className: classNames[UI_1.UI.Weekday], style: styles?.[UI_1.UI.Weekday] }, !hideWeekdayRow &&
23
- (props.weekday ? formatWeekdayName(props.weekday, { locale }) : "#")));
23
+ (props.weekday
24
+ ? formatWeekdayName(props.weekday, { locale }, dateLib)
25
+ : "#")));
24
26
  }
25
27
  exports.Weekday = Weekday;
26
28
  //# sourceMappingURL=Weekday.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Weekday.js","sourceRoot":"","sources":["../../../src/components/Weekday.tsx"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAE1B,8BAA2B;AAC3B,6CAA6C;AAE7C;;;;;;;GAOG;AACH,SAAgB,OAAO,CAAC,KAIvB;IACC,MAAM,EACJ,UAAU,EACV,UAAU,EAAE,EAAE,iBAAiB,EAAE,EACjC,MAAM,EAAE,EAAE,YAAY,EAAE,qBAAqB,EAAE,EAC/C,MAAM,EACN,cAAc,EACd,MAAM,EACP,GAAG,IAAA,gBAAQ,GAAE,CAAC;IACf,OAAO,CACL,wCACE,IAAI,EAAC,cAAc,mBACJ,KAAK,CAAC,eAAe,CAAC,gBAEnC,KAAK,CAAC,OAAO;YACX,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,CAAC;YACzC,CAAC,CAAC,qBAAqB,CAAC,EAAE,MAAM,EAAE,CAAC,EAEvC,SAAS,EAAE,UAAU,CAAC,OAAE,CAAC,OAAO,CAAC,EACjC,KAAK,EAAE,MAAM,EAAE,CAAC,OAAE,CAAC,OAAO,CAAC,IAE1B,CAAC,cAAc;QACd,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,iBAAiB,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CACjE,CACR,CAAC;AACJ,CAAC;AA7BD,0BA6BC"}
1
+ {"version":3,"file":"Weekday.js","sourceRoot":"","sources":["../../../src/components/Weekday.tsx"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAE1B,8BAA2B;AAC3B,0CAAuC;AAEvC;;;;;;;GAOG;AACH,SAAgB,OAAO,CAAC,KAIvB;IACC,MAAM,EACJ,UAAU,EACV,OAAO,EACP,UAAU,EAAE,EAAE,iBAAiB,EAAE,EACjC,MAAM,EAAE,EAAE,YAAY,EAAE,qBAAqB,EAAE,EAC/C,MAAM,EACN,cAAc,EACd,MAAM,EACP,GAAG,IAAA,mBAAQ,GAAE,CAAC;IACf,OAAO,CACL,wCACE,IAAI,EAAC,cAAc,mBACJ,KAAK,CAAC,eAAe,CAAC,gBAEnC,KAAK,CAAC,OAAO;YACX,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC;YAClD,CAAC,CAAC,qBAAqB,CAAC,EAAE,MAAM,EAAE,CAAC,EAEvC,SAAS,EAAE,UAAU,CAAC,OAAE,CAAC,OAAO,CAAC,EACjC,KAAK,EAAE,MAAM,EAAE,CAAC,OAAE,CAAC,OAAO,CAAC,IAE1B,CAAC,cAAc;QACd,CAAC,KAAK,CAAC,OAAO;YACZ,CAAC,CAAC,iBAAiB,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC;YACvD,CAAC,CAAC,GAAG,CAAC,CACL,CACR,CAAC;AACJ,CAAC;AAhCD,0BAgCC"}
@@ -5,6 +5,6 @@ import React from "react";
5
5
  * Use the `components` prop to swap this component with a custom one.
6
6
  *
7
7
  * @group Components
8
- * @see https://react-day-picker.js.org/advanced-guides/custom-components
8
+ * @see https://daypicker.dev/advanced-guides/custom-components
9
9
  */
10
10
  export declare function Weekdays(): React.JSX.Element;
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.Weekdays = void 0;
7
7
  const react_1 = __importDefault(require("react"));
8
8
  const UI_1 = require("../UI");
9
- const props_1 = require("../contexts/props");
9
+ const contexts_1 = require("../contexts");
10
10
  const getWeekdays_1 = require("../helpers/getWeekdays");
11
11
  const Weekday_1 = require("./Weekday");
12
12
  /**
@@ -15,11 +15,11 @@ const Weekday_1 = require("./Weekday");
15
15
  * Use the `components` prop to swap this component with a custom one.
16
16
  *
17
17
  * @group Components
18
- * @see https://react-day-picker.js.org/advanced-guides/custom-components
18
+ * @see https://daypicker.dev/advanced-guides/custom-components
19
19
  */
20
20
  function Weekdays() {
21
- const { classNames, components, hideWeekdayRow, ISOWeek, locale, showWeekNumber, styles, weekStartsOn } = (0, props_1.useProps)();
22
- const weekdays = (0, getWeekdays_1.getWeekdays)(locale, weekStartsOn, ISOWeek);
21
+ const { classNames, components, dateLib, hideWeekdayRow, ISOWeek, locale, showWeekNumber, styles, weekStartsOn } = (0, contexts_1.useProps)();
22
+ const weekdays = (0, getWeekdays_1.getWeekdays)(locale, weekStartsOn, ISOWeek, dateLib);
23
23
  const Weekday = components?.Weekday ?? Weekday_1.Weekday;
24
24
  return (react_1.default.createElement("div", { role: "row", hidden: hideWeekdayRow, "aria-rowindex": 1, style: styles?.[UI_1.UI.Weekdays], className: classNames[UI_1.UI.Weekdays], onClick: (e) => e.stopPropagation() },
25
25
  showWeekNumber && react_1.default.createElement(Weekday, { "aria-colindex": 1 }),
@@ -1 +1 @@
1
- {"version":3,"file":"Weekdays.js","sourceRoot":"","sources":["../../../src/components/Weekdays.tsx"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAE1B,8BAA2B;AAC3B,6CAA6C;AAC7C,wDAAqD;AAErD,uCAAsD;AAEtD;;;;;;;GAOG;AACH,SAAgB,QAAQ;IACtB,MAAM,EACJ,UAAU,EACV,UAAU,EACV,cAAc,EACd,OAAO,EACP,MAAM,EACN,cAAc,EACd,MAAM,EACN,YAAY,EACb,GAAG,IAAA,gBAAQ,GAAE,CAAC;IAEf,MAAM,QAAQ,GAAG,IAAA,yBAAW,EAAC,MAAM,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;IAC5D,MAAM,OAAO,GAAG,UAAU,EAAE,OAAO,IAAI,iBAAc,CAAC;IAEtD,OAAO,CACL,uCACE,IAAI,EAAC,KAAK,EACV,MAAM,EAAE,cAAc,mBACP,CAAC,EAChB,KAAK,EAAE,MAAM,EAAE,CAAC,OAAE,CAAC,QAAQ,CAAC,EAC5B,SAAS,EAAE,UAAU,CAAC,OAAE,CAAC,QAAQ,CAAC,EAClC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe,EAAE;QAElC,cAAc,IAAI,8BAAC,OAAO,qBAAgB,CAAC,GAAI;QAC/C,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC,CAC5B,8BAAC,OAAO,IACN,GAAG,EAAE,CAAC,EACN,OAAO,EAAE,OAAO,mBACD,cAAc,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAC7C,CACH,CAAC,CACE,CACP,CAAC;AACJ,CAAC;AAlCD,4BAkCC"}
1
+ {"version":3,"file":"Weekdays.js","sourceRoot":"","sources":["../../../src/components/Weekdays.tsx"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAE1B,8BAA2B;AAC3B,0CAAuC;AACvC,wDAAqD;AAErD,uCAAsD;AAEtD;;;;;;;GAOG;AACH,SAAgB,QAAQ;IACtB,MAAM,EACJ,UAAU,EACV,UAAU,EACV,OAAO,EACP,cAAc,EACd,OAAO,EACP,MAAM,EACN,cAAc,EACd,MAAM,EACN,YAAY,EACb,GAAG,IAAA,mBAAQ,GAAE,CAAC;IAEf,MAAM,QAAQ,GAAG,IAAA,yBAAW,EAAC,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IACrE,MAAM,OAAO,GAAG,UAAU,EAAE,OAAO,IAAI,iBAAc,CAAC;IAEtD,OAAO,CACL,uCACE,IAAI,EAAC,KAAK,EACV,MAAM,EAAE,cAAc,mBACP,CAAC,EAChB,KAAK,EAAE,MAAM,EAAE,CAAC,OAAE,CAAC,QAAQ,CAAC,EAC5B,SAAS,EAAE,UAAU,CAAC,OAAE,CAAC,QAAQ,CAAC,EAClC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe,EAAE;QAElC,cAAc,IAAI,8BAAC,OAAO,qBAAgB,CAAC,GAAI;QAC/C,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC,CAC5B,8BAAC,OAAO,IACN,GAAG,EAAE,CAAC,EACN,OAAO,EAAE,OAAO,mBACD,cAAc,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAC7C,CACH,CAAC,CACE,CACP,CAAC;AACJ,CAAC;AAnCD,4BAmCC"}
@@ -6,7 +6,7 @@ import type { CalendarMonth } from "../classes/CalendarMonth";
6
6
  * Use the `components` prop to swap this component with a custom one.
7
7
  *
8
8
  * @group Components
9
- * @see https://react-day-picker.js.org/advanced-guides/custom-components
9
+ * @see https://daypicker.dev/advanced-guides/custom-components
10
10
  */
11
11
  export declare function YearsDropdown(props: {
12
12
  /** The month where the dropdown is displayed. */
@@ -5,11 +5,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.YearsDropdown = void 0;
7
7
  const react_1 = __importDefault(require("react"));
8
- const setYear_1 = require("date-fns/setYear");
9
- const startOfMonth_1 = require("date-fns/startOfMonth");
10
8
  const UI_1 = require("../UI");
11
- const calendar_1 = require("../contexts/calendar");
12
- const props_1 = require("../contexts/props");
9
+ const contexts_1 = require("../contexts");
13
10
  const Dropdown_1 = require("./Dropdown");
14
11
  /**
15
12
  * Render the dropdown to change the year.
@@ -17,17 +14,17 @@ const Dropdown_1 = require("./Dropdown");
17
14
  * Use the `components` prop to swap this component with a custom one.
18
15
  *
19
16
  * @group Components
20
- * @see https://react-day-picker.js.org/advanced-guides/custom-components
17
+ * @see https://daypicker.dev/advanced-guides/custom-components
21
18
  */
22
19
  function YearsDropdown(props) {
23
- const { classNames, components, disableNavigation, labels: { labelYearDropdown } } = (0, props_1.useProps)();
24
- const { dropdownOptions: dropdown, goToMonth } = (0, calendar_1.useCalendar)();
20
+ const { classNames, components, dateLib: { startOfMonth, setYear }, disableNavigation, labels: { labelYearDropdown } } = (0, contexts_1.useProps)();
21
+ const { dropdownOptions, goToMonth } = (0, contexts_1.useCalendar)();
25
22
  const handleChange = (e) => {
26
- const month = (0, setYear_1.setYear)((0, startOfMonth_1.startOfMonth)(props.month.date), Number(e.target.value));
23
+ const month = setYear(startOfMonth(props.month.date), Number(e.target.value));
27
24
  goToMonth(month);
28
25
  };
29
26
  const Dropdown = components?.Dropdown ?? Dropdown_1.Dropdown;
30
- return (react_1.default.createElement(Dropdown, { "aria-label": labelYearDropdown(), disabled: Boolean(disableNavigation), rootClassName: classNames[UI_1.UI.YearsDropdown], options: dropdown.years, value: props.month.date.getFullYear(), onChange: handleChange }));
27
+ return (react_1.default.createElement(Dropdown, { "aria-label": labelYearDropdown(), disabled: Boolean(disableNavigation), rootClassName: classNames[UI_1.UI.YearsDropdown], options: dropdownOptions.years, value: props.month.date.getFullYear(), onChange: handleChange }));
31
28
  }
32
29
  exports.YearsDropdown = YearsDropdown;
33
30
  //# sourceMappingURL=YearsDropdown.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"YearsDropdown.js","sourceRoot":"","sources":["../../../src/components/YearsDropdown.tsx"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAG1B,8CAA2C;AAC3C,wDAAqD;AAErD,8BAA2B;AAE3B,mDAAmD;AACnD,6CAA6C;AAE7C,yCAAyD;AAEzD;;;;;;;GAOG;AACH,SAAgB,aAAa,CAAC,KAG7B;IACC,MAAM,EACJ,UAAU,EACV,UAAU,EACV,iBAAiB,EACjB,MAAM,EAAE,EAAE,iBAAiB,EAAE,EAC9B,GAAG,IAAA,gBAAQ,GAAE,CAAC;IAEf,MAAM,EAAE,eAAe,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,IAAA,sBAAW,GAAE,CAAC;IAE/D,MAAM,YAAY,GAA0C,CAAC,CAAC,EAAE,EAAE;QAChE,MAAM,KAAK,GAAG,IAAA,iBAAO,EACnB,IAAA,2BAAY,EAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,EAC9B,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CACvB,CAAC;QACF,SAAS,CAAC,KAAK,CAAC,CAAC;IACnB,CAAC,CAAC;IAEF,MAAM,QAAQ,GAAG,UAAU,EAAE,QAAQ,IAAI,mBAAe,CAAC;IACzD,OAAO,CACL,8BAAC,QAAQ,kBACK,iBAAiB,EAAE,EAC/B,QAAQ,EAAE,OAAO,CAAC,iBAAiB,CAAC,EACpC,aAAa,EAAE,UAAU,CAAC,OAAE,CAAC,aAAa,CAAC,EAC3C,OAAO,EAAE,QAAQ,CAAC,KAAK,EACvB,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,EACrC,QAAQ,EAAE,YAAY,GACtB,CACH,CAAC;AACJ,CAAC;AAhCD,sCAgCC"}
1
+ {"version":3,"file":"YearsDropdown.js","sourceRoot":"","sources":["../../../src/components/YearsDropdown.tsx"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAG1B,8BAA2B;AAE3B,0CAAoD;AAEpD,yCAAyD;AAEzD;;;;;;;GAOG;AACH,SAAgB,aAAa,CAAC,KAG7B;IACC,MAAM,EACJ,UAAU,EACV,UAAU,EACV,OAAO,EAAE,EAAE,YAAY,EAAE,OAAO,EAAE,EAClC,iBAAiB,EACjB,MAAM,EAAE,EAAE,iBAAiB,EAAE,EAC9B,GAAG,IAAA,mBAAQ,GAAE,CAAC;IAEf,MAAM,EAAE,eAAe,EAAE,SAAS,EAAE,GAAG,IAAA,sBAAW,GAAE,CAAC;IAErD,MAAM,YAAY,GAA0C,CAAC,CAAC,EAAE,EAAE;QAChE,MAAM,KAAK,GAAG,OAAO,CACnB,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,EAC9B,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CACvB,CAAC;QACF,SAAS,CAAC,KAAK,CAAC,CAAC;IACnB,CAAC,CAAC;IAEF,MAAM,QAAQ,GAAG,UAAU,EAAE,QAAQ,IAAI,mBAAe,CAAC;IACzD,OAAO,CACL,8BAAC,QAAQ,kBACK,iBAAiB,EAAE,EAC/B,QAAQ,EAAE,OAAO,CAAC,iBAAiB,CAAC,EACpC,aAAa,EAAE,UAAU,CAAC,OAAE,CAAC,aAAa,CAAC,EAC3C,OAAO,EAAE,eAAe,CAAC,KAAK,EAC9B,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,EACrC,QAAQ,EAAE,YAAY,GACtB,CACH,CAAC;AACJ,CAAC;AAjCD,sCAiCC"}
@@ -0,0 +1,4 @@
1
+ export * from "./useCalendar";
2
+ export * from "./useFocus";
3
+ export * from "./useModifiers";
4
+ export * from "./useProps";
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./useCalendar"), exports);
18
+ __exportStar(require("./useFocus"), exports);
19
+ __exportStar(require("./useModifiers"), exports);
20
+ __exportStar(require("./useProps"), exports);
21
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/contexts/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,gDAA8B;AAC9B,6CAA2B;AAC3B,iDAA+B;AAC/B,6CAA2B"}
@@ -0,0 +1,9 @@
1
+ import React from "react";
2
+ import type { PropsWithChildren } from "react";
3
+ import type { DayPickerProps } from "../types";
4
+ /**
5
+ * Provide the value for all the contexts used by DayPicker.
6
+ *
7
+ * @private
8
+ */
9
+ export declare function ContextProviders(props: PropsWithChildren<DayPickerProps>): React.JSX.Element;
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.ContextProviders = void 0;
7
+ const react_1 = __importDefault(require("react"));
8
+ const selection_1 = require("../selection");
9
+ const useCalendar_1 = require("./useCalendar");
10
+ const useFocus_1 = require("./useFocus");
11
+ const useModifiers_1 = require("./useModifiers");
12
+ const useProps_1 = require("./useProps");
13
+ function SelectionProviders({ children }) {
14
+ const props = (0, useProps_1.useProps)();
15
+ return (react_1.default.createElement(selection_1.SingleProvider, { ...props },
16
+ react_1.default.createElement(selection_1.MultiProvider, { ...props },
17
+ react_1.default.createElement(selection_1.RangeProvider, { ...props }, children))));
18
+ }
19
+ /**
20
+ * Provide the value for all the contexts used by DayPicker.
21
+ *
22
+ * @private
23
+ */
24
+ function ContextProviders(props) {
25
+ const { children, ...initialProps } = props;
26
+ return (react_1.default.createElement(useProps_1.PropsContextProvider, { initialProps: initialProps },
27
+ react_1.default.createElement(useCalendar_1.CalendarContextProvider, null,
28
+ react_1.default.createElement(SelectionProviders, null,
29
+ react_1.default.createElement(useModifiers_1.ModifiersContextProvider, null,
30
+ react_1.default.createElement(useFocus_1.FocusContextProvider, null, children))))));
31
+ }
32
+ exports.ContextProviders = ContextProviders;
33
+ //# sourceMappingURL=providers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"providers.js","sourceRoot":"","sources":["../../../src/contexts/providers.tsx"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAG1B,4CAA4E;AAQ5E,+CAAwD;AACxD,yCAAkD;AAClD,iDAA0D;AAC1D,yCAA4D;AAE5D,SAAS,kBAAkB,CAAC,EAAE,QAAQ,EAAqB;IACzD,MAAM,KAAK,GAAG,IAAA,mBAAQ,GAAE,CAAC;IACzB,OAAO,CACL,8BAAC,0BAAc,OAAM,KAAqB;QACxC,8BAAC,yBAAa,OAAM,KAAoB;YACtC,8BAAC,yBAAa,OAAM,KAAoB,IAAG,QAAQ,CAAiB,CACtD,CACD,CAClB,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,SAAgB,gBAAgB,CAAC,KAAwC;IACvE,MAAM,EAAE,QAAQ,EAAE,GAAG,YAAY,EAAE,GAAG,KAAK,CAAC;IAC5C,OAAO,CACL,8BAAC,+BAAoB,IAAC,YAAY,EAAE,YAAY;QAC9C,8BAAC,qCAAuB;YACtB,8BAAC,kBAAkB;gBACjB,8BAAC,uCAAwB;oBACvB,8BAAC,+BAAoB,QAAE,QAAQ,CAAwB,CAC9B,CACR,CACG,CACL,CACxB,CAAC;AACJ,CAAC;AAbD,4CAaC"}
@@ -1,15 +1,8 @@
1
- import React from "react";
2
- import { type ReactNode } from "react";
3
- import type { CalendarWeek, CalendarMonth, CalendarDay } from "../classes";
4
- import { DropdownOption } from "../components/Dropdown";
5
- /**
6
- * Share the calendar state and navigation methods across the components.
7
- *
8
- * Access the calendar context using the {@link useCalendar} hook.
9
- *
10
- * @group Contexts
11
- */
12
- export interface CalendarContext {
1
+ import React, { type ReactElement } from "react";
2
+ import type { CalendarWeek, CalendarDay, CalendarMonth } from "../classes";
3
+ import type { DropdownOption } from "../components/Dropdown";
4
+ export type CalendarContextValue = {
5
+ today: Date;
13
6
  /** All the unique dates displayed to the calendar. */
14
7
  dates: Date[];
15
8
  /**
@@ -23,16 +16,11 @@ export interface CalendarContext {
23
16
  /** The months displayed in the calendar. */
24
17
  months: CalendarMonth[];
25
18
  /**
26
- * The month displayed as first the calendar. When
27
- * {@link PropsBase.numberOfMonths} is greater than `1`, it is the first of the
28
- * displayed months.
19
+ * The month displayed as first the calendar. When `numberOfMonths` is greater
20
+ * than `1`, it is the first of the displayed months.
29
21
  */
30
22
  firstMonth: Date;
31
- /**
32
- * The month displayed as last the calendar. When
33
- * {@link PropsBase.numberOfMonths} is greater than `1`, it is the last of the
34
- * displayed months.
35
- */
23
+ /** The month displayed as last the calendar. */
36
24
  lastMonth: Date;
37
25
  /** The next month to display. */
38
26
  nextMonth: Date | undefined;
@@ -45,10 +33,14 @@ export interface CalendarContext {
45
33
  /** The options to use in the years dropdown. */
46
34
  years: DropdownOption[] | undefined;
47
35
  };
36
+ /** Set the first month displayed in the calendar. */
37
+ setFirstMonth: (date: Date) => void;
48
38
  /**
49
- * Navigate to the specified month. Will fire the
50
- * {@link PropsBase.onMonthChange} callback.
39
+ * Whether the calendar is interactive, i.e. DayPicker has a selection `mode`
40
+ * set or the `onDayClick` prop is set.
51
41
  */
42
+ isInteractive: boolean;
43
+ /** Navigate to the specified month. Will fire the `onMonthChange` callback. */
52
44
  goToMonth: (month: Date) => void;
53
45
  /** Navigate to the next month. */
54
46
  goToNextMonth: () => void;
@@ -66,22 +58,17 @@ export interface CalendarContext {
66
58
  goToDay: (day: CalendarDay) => void;
67
59
  /** Whether the given date is included in the displayed months. */
68
60
  isDayDisplayed: (day: CalendarDay) => boolean;
69
- /**
70
- * Whether the calendar is interactive, i.e. DayPicker has a selection `mode`
71
- * set or the `onDayClick` prop is set.
72
- */
73
- isInteractive: boolean;
74
- }
61
+ };
75
62
  /** @private */
76
- export declare function CalendarProvider(providerProps: {
77
- children?: ReactNode;
63
+ export declare function CalendarContextProvider(props: {
64
+ children: ReactElement;
78
65
  }): React.JSX.Element;
79
66
  /**
80
- * Return the calendar state and navigation methods to navigate the calendar.
67
+ * Access to the props passed to `DayPicker`, with some meaningful defaults.
81
68
  *
82
69
  * Use this hook from the custom components passed via the `components` prop.
83
70
  *
84
71
  * @group Hooks
85
- * @see https://react-day-picker.js.org/advanced-guides/custom-components
72
+ * @see https://daypicker.dev/advanced-guides/custom-components
86
73
  */
87
- export declare function useCalendar(): CalendarContext;
74
+ export declare function useCalendar(): CalendarContextValue;
@@ -0,0 +1,154 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.useCalendar = exports.CalendarContextProvider = void 0;
27
+ const react_1 = __importStar(require("react"));
28
+ const getDates_1 = require("../helpers/getDates");
29
+ const getDays_1 = require("../helpers/getDays");
30
+ const getDisplayMonths_1 = require("../helpers/getDisplayMonths");
31
+ const getDropdownMonths_1 = require("../helpers/getDropdownMonths");
32
+ const getDropdownYears_1 = require("../helpers/getDropdownYears");
33
+ const getInitialMonth_1 = require("../helpers/getInitialMonth");
34
+ const getMonths_1 = require("../helpers/getMonths");
35
+ const getNextMonth_1 = require("../helpers/getNextMonth");
36
+ const getPreviousMonth_1 = require("../helpers/getPreviousMonth");
37
+ const getWeeks_1 = require("../helpers/getWeeks");
38
+ const useControlledValue_1 = require("../helpers/useControlledValue");
39
+ const useProps_1 = require("./useProps");
40
+ /** @private */
41
+ const CalendarContext = (0, react_1.createContext)(undefined);
42
+ function useCalendarContextValue() {
43
+ const props = (0, useProps_1.useProps)();
44
+ const { startOfMonth } = props.dateLib;
45
+ const initialDisplayMonth = (0, getInitialMonth_1.getInitialMonth)(props);
46
+ // The first month displayed in the calendar
47
+ const [firstDisplayedMonth, setFirstMonth] = (0, useControlledValue_1.useControlledValue)(initialDisplayMonth, props.month ? startOfMonth(props.month) : undefined);
48
+ /** An array of the months displayed in the calendar. */
49
+ const displayMonths = (0, getDisplayMonths_1.getDisplayMonths)(firstDisplayedMonth, props);
50
+ /** The last month displayed in the calendar. */
51
+ const lastMonth = displayMonths[displayMonths.length - 1];
52
+ /** An array of the dates displayed in the calendar. */
53
+ const dates = (0, getDates_1.getDates)(displayMonths, props.endMonth, props);
54
+ /** An array of the Months displayed in the calendar. */
55
+ const months = (0, getMonths_1.getMonths)(displayMonths, dates, props);
56
+ /** An array of the Weeks displayed in the calendar. */
57
+ const weeks = (0, getWeeks_1.getWeeks)(months);
58
+ /** An array of the Days displayed in the calendar. */
59
+ const days = (0, getDays_1.getDays)(months);
60
+ const previousMonth = (0, getPreviousMonth_1.getPreviousMonth)(firstDisplayedMonth, props);
61
+ const nextMonth = (0, getNextMonth_1.getNextMonth)(firstDisplayedMonth, props);
62
+ const isInteractive = props.mode !== undefined || props.onDayClick !== undefined;
63
+ const { disableNavigation, onMonthChange, startMonth, endMonth } = props;
64
+ function isDayDisplayed(day) {
65
+ return weeks.some((week) => {
66
+ return week.days.some((d) => {
67
+ return d.isEqualTo(day);
68
+ });
69
+ });
70
+ }
71
+ function goToMonth(date) {
72
+ if (disableNavigation) {
73
+ return;
74
+ }
75
+ let newMonth = startOfMonth(date);
76
+ // if month is before startMonth, use the first month instead
77
+ if (startMonth && newMonth < startOfMonth(startMonth)) {
78
+ newMonth = startOfMonth(startMonth);
79
+ }
80
+ // if month is after endMonth, use the last month instead
81
+ if (endMonth && newMonth > startOfMonth(endMonth)) {
82
+ newMonth = startOfMonth(endMonth);
83
+ }
84
+ setFirstMonth(newMonth);
85
+ onMonthChange?.(newMonth);
86
+ }
87
+ function goToDay(day) {
88
+ if (isDayDisplayed(day)) {
89
+ return;
90
+ }
91
+ // TODO:??
92
+ // if (refDate && isBefore(date, refDate)) {
93
+ // console.log('date is before refDate');
94
+ // const month = addMonths(date, 1 + dayPicker.numberOfMonths * -1);
95
+ // console.log('going to month', month);
96
+ // goToMonth(month);
97
+ // } else {
98
+ // console.log('going to month', date);
99
+ goToMonth(day.date);
100
+ // }
101
+ }
102
+ function goToNextMonth() {
103
+ return nextMonth ? goToMonth(nextMonth) : undefined;
104
+ }
105
+ function goToPreviousMonth() {
106
+ return previousMonth ? goToMonth(previousMonth) : undefined;
107
+ }
108
+ const calendarContextValue = {
109
+ dates,
110
+ months,
111
+ weeks,
112
+ days,
113
+ today: props.today,
114
+ firstMonth: firstDisplayedMonth,
115
+ lastMonth,
116
+ previousMonth,
117
+ nextMonth,
118
+ setFirstMonth,
119
+ isInteractive,
120
+ dropdownOptions: {
121
+ months: (0, getDropdownMonths_1.getDropdownMonths)(firstDisplayedMonth, props),
122
+ years: (0, getDropdownYears_1.getDropdownYears)(firstDisplayedMonth, props)
123
+ },
124
+ isDayDisplayed,
125
+ goToMonth,
126
+ goToDay,
127
+ goToNextMonth,
128
+ goToPreviousMonth
129
+ };
130
+ return calendarContextValue;
131
+ }
132
+ /** @private */
133
+ function CalendarContextProvider(props) {
134
+ const calendarContextValue = useCalendarContextValue();
135
+ return (react_1.default.createElement(CalendarContext.Provider, { value: calendarContextValue }, props.children));
136
+ }
137
+ exports.CalendarContextProvider = CalendarContextProvider;
138
+ /**
139
+ * Access to the props passed to `DayPicker`, with some meaningful defaults.
140
+ *
141
+ * Use this hook from the custom components passed via the `components` prop.
142
+ *
143
+ * @group Hooks
144
+ * @see https://daypicker.dev/advanced-guides/custom-components
145
+ */
146
+ function useCalendar() {
147
+ const calendarContext = (0, react_1.useContext)(CalendarContext);
148
+ if (!calendarContext) {
149
+ throw new Error("useCalendar() must be used within a CalendarContextProvider");
150
+ }
151
+ return calendarContext;
152
+ }
153
+ exports.useCalendar = useCalendar;
154
+ //# sourceMappingURL=useCalendar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useCalendar.js","sourceRoot":"","sources":["../../../src/contexts/useCalendar.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAA4E;AAI5E,kDAA+C;AAC/C,gDAA6C;AAC7C,kEAA+D;AAC/D,oEAAiE;AACjE,kEAA+D;AAC/D,gEAA6D;AAC7D,oDAAiD;AACjD,0DAAuD;AACvD,kEAA+D;AAC/D,kDAA+C;AAC/C,sEAAmE;AAEnE,yCAAsC;AAEtC,eAAe;AACf,MAAM,eAAe,GAAG,IAAA,qBAAa,EACnC,SAAS,CACV,CAAC;AA+DF,SAAS,uBAAuB;IAC9B,MAAM,KAAK,GAAG,IAAA,mBAAQ,GAAE,CAAC;IACzB,MAAM,EAAE,YAAY,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC;IAEvC,MAAM,mBAAmB,GAAG,IAAA,iCAAe,EAAC,KAAK,CAAC,CAAC;IAEnD,4CAA4C;IAC5C,MAAM,CAAC,mBAAmB,EAAE,aAAa,CAAC,GAAG,IAAA,uCAAkB,EAC7D,mBAAmB,EACnB,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CACpD,CAAC;IAEF,wDAAwD;IACxD,MAAM,aAAa,GAAG,IAAA,mCAAgB,EAAC,mBAAmB,EAAE,KAAK,CAAC,CAAC;IAEnE,gDAAgD;IAChD,MAAM,SAAS,GAAG,aAAa,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAE1D,uDAAuD;IACvD,MAAM,KAAK,GAAG,IAAA,mBAAQ,EAAC,aAAa,EAAE,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAE7D,wDAAwD;IACxD,MAAM,MAAM,GAAG,IAAA,qBAAS,EAAC,aAAa,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IAEtD,uDAAuD;IACvD,MAAM,KAAK,GAAG,IAAA,mBAAQ,EAAC,MAAM,CAAC,CAAC;IAE/B,sDAAsD;IACtD,MAAM,IAAI,GAAG,IAAA,iBAAO,EAAC,MAAM,CAAC,CAAC;IAE7B,MAAM,aAAa,GAAG,IAAA,mCAAgB,EAAC,mBAAmB,EAAE,KAAK,CAAC,CAAC;IACnE,MAAM,SAAS,GAAG,IAAA,2BAAY,EAAC,mBAAmB,EAAE,KAAK,CAAC,CAAC;IAE3D,MAAM,aAAa,GACjB,KAAK,CAAC,IAAI,KAAK,SAAS,IAAI,KAAK,CAAC,UAAU,KAAK,SAAS,CAAC;IAE7D,MAAM,EAAE,iBAAiB,EAAE,aAAa,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;IAEzE,SAAS,cAAc,CAAC,GAAgB;QACtC,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,IAAkB,EAAE,EAAE;YACvC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;gBAC1B,OAAO,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;YAC1B,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,SAAS,SAAS,CAAC,IAAU;QAC3B,IAAI,iBAAiB,EAAE,CAAC;YACtB,OAAO;QACT,CAAC;QACD,IAAI,QAAQ,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;QAClC,6DAA6D;QAC7D,IAAI,UAAU,IAAI,QAAQ,GAAG,YAAY,CAAC,UAAU,CAAC,EAAE,CAAC;YACtD,QAAQ,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC;QACtC,CAAC;QACD,yDAAyD;QACzD,IAAI,QAAQ,IAAI,QAAQ,GAAG,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC;YAClD,QAAQ,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;QACpC,CAAC;QACD,aAAa,CAAC,QAAQ,CAAC,CAAC;QACxB,aAAa,EAAE,CAAC,QAAQ,CAAC,CAAC;IAC5B,CAAC;IAED,SAAS,OAAO,CAAC,GAAgB;QAC/B,IAAI,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;YACxB,OAAO;QACT,CAAC;QAED,UAAU;QACV,4CAA4C;QAC5C,2CAA2C;QAC3C,sEAAsE;QACtE,0CAA0C;QAC1C,sBAAsB;QACtB,WAAW;QACX,yCAAyC;QACzC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACpB,IAAI;IACN,CAAC;IAED,SAAS,aAAa;QACpB,OAAO,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACtD,CAAC;IACD,SAAS,iBAAiB;QACxB,OAAO,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC9D,CAAC;IAED,MAAM,oBAAoB,GAAyB;QACjD,KAAK;QACL,MAAM;QACN,KAAK;QACL,IAAI;QAEJ,KAAK,EAAE,KAAK,CAAC,KAAK;QAElB,UAAU,EAAE,mBAAmB;QAC/B,SAAS;QACT,aAAa;QACb,SAAS;QAET,aAAa;QAEb,aAAa;QAEb,eAAe,EAAE;YACf,MAAM,EAAE,IAAA,qCAAiB,EAAC,mBAAmB,EAAE,KAAK,CAAC;YACrD,KAAK,EAAE,IAAA,mCAAgB,EAAC,mBAAmB,EAAE,KAAK,CAAC;SACpD;QACD,cAAc;QACd,SAAS;QACT,OAAO;QACP,aAAa;QACb,iBAAiB;KAClB,CAAC;IAEF,OAAO,oBAAoB,CAAC;AAC9B,CAAC;AAED,eAAe;AACf,SAAgB,uBAAuB,CAAC,KAAiC;IACvE,MAAM,oBAAoB,GAAG,uBAAuB,EAAE,CAAC;IACvD,OAAO,CACL,8BAAC,eAAe,CAAC,QAAQ,IAAC,KAAK,EAAE,oBAAoB,IAClD,KAAK,CAAC,QAAQ,CACU,CAC5B,CAAC;AACJ,CAAC;AAPD,0DAOC;AAED;;;;;;;GAOG;AACH,SAAgB,WAAW;IACzB,MAAM,eAAe,GAAG,IAAA,kBAAU,EAAC,eAAe,CAAC,CAAC;IACpD,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CACb,6DAA6D,CAC9D,CAAC;IACJ,CAAC;IACD,OAAO,eAAe,CAAC;AACzB,CAAC;AARD,kCAQC"}
@@ -1,26 +1,31 @@
1
- import { ReactNode } from "react";
1
+ import React, { ReactNode } from "react";
2
2
  import type { CalendarDay } from "../classes";
3
- export type MoveFocusBy = "day" | "week" | "startOfWeek" | "endOfWeek" | "month" | "year";
4
- export type MoveFocusDir = "after" | "before";
5
- /**
6
- * Share the focused day and the methods to move the focus.
7
- *
8
- * Access this context from the {@link useFocus} hook.
9
- *
10
- * @group Contexts
11
- */
12
- export interface FocusContext {
3
+ import type { Mode } from "../types";
4
+ export type FocusContextValue = {
13
5
  /** The date that is currently focused. */
14
- focusedDay: CalendarDay | undefined;
6
+ focused: CalendarDay | undefined;
15
7
  /**
16
8
  * The date that is target of the focus when tabbing into the month grid. The
17
9
  * focus target is the selected date first, then the today date, then the
18
10
  * first focusable date.
11
+ *
12
+ * @private
19
13
  */
20
14
  autoFocusTarget: CalendarDay | undefined;
15
+ /**
16
+ * True if the focus is set by the autoFocus prop.
17
+ *
18
+ * @private
19
+ */
21
20
  initiallyFocused: boolean;
22
- /** Focus a date. */
21
+ /** Focus the given day. */
23
22
  focus: (day: CalendarDay | undefined) => void;
23
+ /**
24
+ * Set the last focused day.
25
+ *
26
+ * @private
27
+ */
28
+ setLastFocused: (day: CalendarDay | undefined) => void;
24
29
  /** Blur the focused day. */
25
30
  blur: () => void;
26
31
  /** Focus the day after the focused day. */
@@ -37,17 +42,17 @@ export interface FocusContext {
37
42
  focusYearAfter: () => void;
38
43
  focusStartOfWeek: () => void;
39
44
  focusEndOfWeek: () => void;
40
- }
45
+ };
41
46
  /** @private */
42
- export declare function FocusProvider({ children }: {
47
+ export declare function FocusContextProvider<ModeType extends Mode | undefined = undefined, IsRequired extends boolean = false>({ children }: {
43
48
  children: ReactNode;
44
- }): JSX.Element;
49
+ }): React.JSX.Element;
45
50
  /**
46
51
  * Share the focused day and the methods to move the focus.
47
52
  *
48
53
  * Use this hook from the custom components passed via the `components` prop.
49
54
  *
50
55
  * @group Hooks
51
- * @see https://react-day-picker.js.org/advanced-guides/custom-components
56
+ * @see https://daypicker.dev/advanced-guides/custom-components
52
57
  */
53
- export declare function useFocus(): FocusContext;
58
+ export declare function useFocus(): FocusContextValue;