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
@@ -1 +1 @@
1
- {"version":3,"file":"labelGrid.js","sourceRoot":"","sources":["../../../src/labels/labelGrid.ts"],"names":[],"mappings":";;;AAAA,4CAAyC;AAEzC;;;;GAIG;AACH,SAAgB,SAAS,CAAC,KAAW,EAAE,OAAsC;IAC3E,OAAO,IAAA,eAAM,EAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;AAC1C,CAAC;AAFD,8BAEC"}
1
+ {"version":3,"file":"labelGrid.js","sourceRoot":"","sources":["../../../src/labels/labelGrid.ts"],"names":[],"mappings":";;;AAEA,gCAAmD;AAGnD;;;;GAIG;AACH,SAAgB,SAAS,CACvB,KAAW,EACX,OAAuB,EACvB,UAAmB,aAAc;IAEjC,OAAO,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;AAClD,CAAC;AAND,8BAMC"}
@@ -1,7 +1,7 @@
1
- import type { format } from "date-fns/format";
1
+ import type { FormatOptions } from "../lib/dateLib";
2
2
  /**
3
3
  * Return the default ARIA label for the WeekNumber element.
4
4
  *
5
5
  * @group Labels
6
6
  */
7
- export declare function labelMonthDropdown(options?: Parameters<typeof format>[2]): string;
7
+ export declare function labelMonthDropdown(options?: FormatOptions): string;
@@ -1 +1 @@
1
- {"version":3,"file":"labelMonthDropdown.js","sourceRoot":"","sources":["../../../src/labels/labelMonthDropdown.ts"],"names":[],"mappings":";;;AAEA;;;;GAIG;AACH,6DAA6D;AAC7D,SAAgB,kBAAkB,CAAC,OAAsC;IACvE,OAAO,SAAS,CAAC;AACnB,CAAC;AAFD,gDAEC"}
1
+ {"version":3,"file":"labelMonthDropdown.js","sourceRoot":"","sources":["../../../src/labels/labelMonthDropdown.ts"],"names":[],"mappings":";;;AAEA;;;;GAIG;AACH,6DAA6D;AAC7D,SAAgB,kBAAkB,CAAC,OAAuB;IACxD,OAAO,SAAS,CAAC;AACnB,CAAC;AAFD,gDAEC"}
@@ -1,4 +1,4 @@
1
- import type { format } from "date-fns/format";
1
+ import type { FormatOptions } from "../lib/dateLib";
2
2
  /**
3
3
  * Return the default ARIA label for next month button.
4
4
  *
@@ -6,4 +6,4 @@ import type { format } from "date-fns/format";
6
6
  */
7
7
  export declare function labelNext(
8
8
  /** Undefined where there's no next month no navigate to. */
9
- month: Date | undefined, options?: Parameters<typeof format>[2]): string;
9
+ month: Date | undefined, options?: FormatOptions): string;
@@ -1 +1 @@
1
- {"version":3,"file":"labelNext.js","sourceRoot":"","sources":["../../../src/labels/labelNext.ts"],"names":[],"mappings":";;;AAEA;;;;GAIG;AACH,SAAgB,SAAS;AACvB,4DAA4D;AAC5D,6DAA6D;AAC7D,KAAuB;AACvB,6DAA6D;AAC7D,OAAsC;IAEtC,OAAO,YAAY,CAAC;AACtB,CAAC;AARD,8BAQC"}
1
+ {"version":3,"file":"labelNext.js","sourceRoot":"","sources":["../../../src/labels/labelNext.ts"],"names":[],"mappings":";;;AAEA;;;;GAIG;AACH,SAAgB,SAAS;AACvB,4DAA4D;AAC5D,6DAA6D;AAC7D,KAAuB;AACvB,6DAA6D;AAC7D,OAAuB;IAEvB,OAAO,YAAY,CAAC;AACtB,CAAC;AARD,8BAQC"}
@@ -1,4 +1,4 @@
1
- import type { format } from "date-fns/format";
1
+ import type { FormatOptions } from "../lib/dateLib";
2
2
  /**
3
3
  * Return the default ARIA label for next month button.
4
4
  *
@@ -6,4 +6,4 @@ import type { format } from "date-fns/format";
6
6
  */
7
7
  export declare function labelPrevious(
8
8
  /** Undefined where there's no previous month no navigate to. */
9
- month: Date | undefined, options?: Parameters<typeof format>[2]): string;
9
+ month: Date | undefined, options?: FormatOptions): string;
@@ -1 +1 @@
1
- {"version":3,"file":"labelPrevious.js","sourceRoot":"","sources":["../../../src/labels/labelPrevious.ts"],"names":[],"mappings":";;;AAEA;;;;GAIG;AACH,SAAgB,aAAa;AAC3B,gEAAgE;AAChE,6DAA6D;AAC7D,KAAuB;AACvB,6DAA6D;AAC7D,OAAsC;IAEtC,OAAO,gBAAgB,CAAC;AAC1B,CAAC;AARD,sCAQC"}
1
+ {"version":3,"file":"labelPrevious.js","sourceRoot":"","sources":["../../../src/labels/labelPrevious.ts"],"names":[],"mappings":";;;AAEA;;;;GAIG;AACH,SAAgB,aAAa;AAC3B,gEAAgE;AAChE,6DAA6D;AAC7D,KAAuB;AACvB,6DAA6D;AAC7D,OAAuB;IAEvB,OAAO,gBAAgB,CAAC;AAC1B,CAAC;AARD,sCAQC"}
@@ -1,7 +1,7 @@
1
- import type { format } from "date-fns/format";
1
+ import type { FormatOptions } from "../lib/dateLib";
2
2
  /**
3
3
  * Return the default ARIA label for the week number element.
4
4
  *
5
5
  * @group Labels
6
6
  */
7
- export declare function labelWeekNumber(weekNumber: number, options?: Parameters<typeof format>[2]): string;
7
+ export declare function labelWeekNumber(weekNumber: number, options?: FormatOptions): string;
@@ -1 +1 @@
1
- {"version":3,"file":"labelWeekNumber.js","sourceRoot":"","sources":["../../../src/labels/labelWeekNumber.ts"],"names":[],"mappings":";;;AAEA;;;;GAIG;AACH,SAAgB,eAAe,CAC7B,UAAkB;AAClB,6DAA6D;AAC7D,OAAsC;IAEtC,OAAO,QAAQ,UAAU,EAAE,CAAC;AAC9B,CAAC;AAND,0CAMC"}
1
+ {"version":3,"file":"labelWeekNumber.js","sourceRoot":"","sources":["../../../src/labels/labelWeekNumber.ts"],"names":[],"mappings":";;;AAEA;;;;GAIG;AACH,SAAgB,eAAe,CAC7B,UAAkB;AAClB,6DAA6D;AAC7D,OAAuB;IAEvB,OAAO,QAAQ,UAAU,EAAE,CAAC;AAC9B,CAAC;AAND,0CAMC"}
@@ -1,7 +1,7 @@
1
- import type { format } from "date-fns/format";
1
+ import type { FormatOptions } from "../lib/dateLib";
2
2
  /**
3
3
  * Return the default ARIA label for the week number header element.
4
4
  *
5
5
  * @group Labels
6
6
  */
7
- export declare function labelWeekNumberHeader(options?: Parameters<typeof format>[2]): string;
7
+ export declare function labelWeekNumberHeader(options?: FormatOptions): string;
@@ -1 +1 @@
1
- {"version":3,"file":"labelWeekNumberHeader.js","sourceRoot":"","sources":["../../../src/labels/labelWeekNumberHeader.ts"],"names":[],"mappings":";;;AAEA;;;;GAIG;AACH,SAAgB,qBAAqB;AACnC,6DAA6D;AAC7D,OAAsC;IAEtC,OAAO,aAAa,CAAC;AACvB,CAAC;AALD,sDAKC"}
1
+ {"version":3,"file":"labelWeekNumberHeader.js","sourceRoot":"","sources":["../../../src/labels/labelWeekNumberHeader.ts"],"names":[],"mappings":";;;AAEA;;;;GAIG;AACH,SAAgB,qBAAqB;AACnC,6DAA6D;AAC7D,OAAuB;IAEvB,OAAO,aAAa,CAAC;AACvB,CAAC;AALD,sDAKC"}
@@ -1,7 +1,8 @@
1
- import { format } from "date-fns/format";
1
+ import type { FormatOptions } from "../lib/dateLib";
2
+ import type { DateLib } from "../types";
2
3
  /**
3
4
  * Return he default ARIA label for the Weekday element.
4
5
  *
5
6
  * @group Labels
6
7
  */
7
- export declare function labelWeekday(date: Date, options?: Parameters<typeof format>[2]): string;
8
+ export declare function labelWeekday(date: Date, options?: FormatOptions, dateLib?: DateLib): string;
@@ -1,14 +1,14 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.labelWeekday = void 0;
4
- const format_1 = require("date-fns/format");
4
+ const lib_1 = require("../lib");
5
5
  /**
6
6
  * Return he default ARIA label for the Weekday element.
7
7
  *
8
8
  * @group Labels
9
9
  */
10
- function labelWeekday(date, options) {
11
- return (0, format_1.format)(date, "cccc", options);
10
+ function labelWeekday(date, options, dateLib = lib_1.dateLib) {
11
+ return dateLib.format(date, "cccc", options);
12
12
  }
13
13
  exports.labelWeekday = labelWeekday;
14
14
  //# sourceMappingURL=labelWeekday.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"labelWeekday.js","sourceRoot":"","sources":["../../../src/labels/labelWeekday.ts"],"names":[],"mappings":";;;AAAA,4CAAyC;AAEzC;;;;GAIG;AACH,SAAgB,YAAY,CAC1B,IAAU,EACV,OAAsC;IAEtC,OAAO,IAAA,eAAM,EAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;AACvC,CAAC;AALD,oCAKC"}
1
+ {"version":3,"file":"labelWeekday.js","sourceRoot":"","sources":["../../../src/labels/labelWeekday.ts"],"names":[],"mappings":";;;AAAA,gCAAmD;AAInD;;;;GAIG;AACH,SAAgB,YAAY,CAC1B,IAAU,EACV,OAAuB,EACvB,UAAmB,aAAc;IAEjC,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;AAC/C,CAAC;AAND,oCAMC"}
@@ -1,7 +1,7 @@
1
- import type { format } from "date-fns/format";
1
+ import type { FormatOptions } from "../lib/dateLib";
2
2
  /**
3
3
  * Return the default ARIA label for the years dropdown.
4
4
  *
5
5
  * @group Labels
6
6
  */
7
- export declare function labelYearDropdown(options?: Parameters<typeof format>[2]): string;
7
+ export declare function labelYearDropdown(options?: FormatOptions): string;
@@ -1 +1 @@
1
- {"version":3,"file":"labelYearDropdown.js","sourceRoot":"","sources":["../../../src/labels/labelYearDropdown.ts"],"names":[],"mappings":";;;AAEA;;;;GAIG;AACH,6DAA6D;AAC7D,SAAgB,iBAAiB,CAAC,OAAsC;IACtE,OAAO,QAAQ,CAAC;AAClB,CAAC;AAFD,8CAEC"}
1
+ {"version":3,"file":"labelYearDropdown.js","sourceRoot":"","sources":["../../../src/labels/labelYearDropdown.ts"],"names":[],"mappings":";;;AAEA;;;;GAIG;AACH,6DAA6D;AAC7D,SAAgB,iBAAiB,CAAC,OAAuB;IACvD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAFD,8CAEC"}
@@ -0,0 +1,70 @@
1
+ import { GenericDateConstructor } from "date-fns";
2
+ import { addDays } from "date-fns/addDays";
3
+ import { addMonths } from "date-fns/addMonths";
4
+ import { addWeeks } from "date-fns/addWeeks";
5
+ import { addYears } from "date-fns/addYears";
6
+ import { differenceInCalendarDays } from "date-fns/differenceInCalendarDays";
7
+ import { differenceInCalendarMonths } from "date-fns/differenceInCalendarMonths";
8
+ import { endOfISOWeek } from "date-fns/endOfISOWeek";
9
+ import { endOfMonth } from "date-fns/endOfMonth";
10
+ import { endOfWeek } from "date-fns/endOfWeek";
11
+ import { endOfYear } from "date-fns/endOfYear";
12
+ import { format } from "date-fns/format";
13
+ import { getISOWeek } from "date-fns/getISOWeek";
14
+ import { getUnixTime } from "date-fns/getUnixTime";
15
+ import { getWeek } from "date-fns/getWeek";
16
+ import { isAfter } from "date-fns/isAfter";
17
+ import { isBefore } from "date-fns/isBefore";
18
+ import { isDate } from "date-fns/isDate";
19
+ import { isSameDay } from "date-fns/isSameDay";
20
+ import { isSameMonth } from "date-fns/isSameMonth";
21
+ import { isSameYear } from "date-fns/isSameYear";
22
+ import { max } from "date-fns/max";
23
+ import { min } from "date-fns/min";
24
+ import { setMonth } from "date-fns/setMonth";
25
+ import { setYear } from "date-fns/setYear";
26
+ import { startOfDay } from "date-fns/startOfDay";
27
+ import { startOfISOWeek } from "date-fns/startOfISOWeek";
28
+ import { startOfMonth } from "date-fns/startOfMonth";
29
+ import { startOfWeek } from "date-fns/startOfWeek";
30
+ import { startOfYear } from "date-fns/startOfYear";
31
+ /** @private */
32
+ export type { Locale } from "date-fns";
33
+ /** @private */
34
+ export type { FormatOptions } from "date-fns";
35
+ /** @private */
36
+ export type { Month as DateFnsMonth } from "date-fns";
37
+ /** The default date library to use with the date picker. */
38
+ export declare const dateLib: {
39
+ /** The constructor of the date object. */
40
+ Date: GenericDateConstructor<Date>;
41
+ addDays: typeof addDays;
42
+ addMonths: typeof addMonths;
43
+ addWeeks: typeof addWeeks;
44
+ addYears: typeof addYears;
45
+ differenceInCalendarDays: typeof differenceInCalendarDays;
46
+ differenceInCalendarMonths: typeof differenceInCalendarMonths;
47
+ endOfISOWeek: typeof endOfISOWeek;
48
+ endOfMonth: typeof endOfMonth;
49
+ endOfWeek: typeof endOfWeek;
50
+ endOfYear: typeof endOfYear;
51
+ format: typeof format;
52
+ getISOWeek: typeof getISOWeek;
53
+ getUnixTime: typeof getUnixTime;
54
+ getWeek: typeof getWeek;
55
+ isAfter: typeof isAfter;
56
+ isBefore: typeof isBefore;
57
+ isDate: typeof isDate;
58
+ isSameDay: typeof isSameDay;
59
+ isSameMonth: typeof isSameMonth;
60
+ isSameYear: typeof isSameYear;
61
+ max: typeof max;
62
+ min: typeof min;
63
+ setMonth: typeof setMonth;
64
+ setYear: typeof setYear;
65
+ startOfDay: typeof startOfDay;
66
+ startOfISOWeek: typeof startOfISOWeek;
67
+ startOfMonth: typeof startOfMonth;
68
+ startOfWeek: typeof startOfWeek;
69
+ startOfYear: typeof startOfYear;
70
+ };
@@ -0,0 +1,67 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.dateLib = void 0;
4
+ const addDays_1 = require("date-fns/addDays");
5
+ const addMonths_1 = require("date-fns/addMonths");
6
+ const addWeeks_1 = require("date-fns/addWeeks");
7
+ const addYears_1 = require("date-fns/addYears");
8
+ const differenceInCalendarDays_1 = require("date-fns/differenceInCalendarDays");
9
+ const differenceInCalendarMonths_1 = require("date-fns/differenceInCalendarMonths");
10
+ const endOfISOWeek_1 = require("date-fns/endOfISOWeek");
11
+ const endOfMonth_1 = require("date-fns/endOfMonth");
12
+ const endOfWeek_1 = require("date-fns/endOfWeek");
13
+ const endOfYear_1 = require("date-fns/endOfYear");
14
+ const format_1 = require("date-fns/format");
15
+ const getISOWeek_1 = require("date-fns/getISOWeek");
16
+ const getUnixTime_1 = require("date-fns/getUnixTime");
17
+ const getWeek_1 = require("date-fns/getWeek");
18
+ const isAfter_1 = require("date-fns/isAfter");
19
+ const isBefore_1 = require("date-fns/isBefore");
20
+ const isDate_1 = require("date-fns/isDate");
21
+ const isSameDay_1 = require("date-fns/isSameDay");
22
+ const isSameMonth_1 = require("date-fns/isSameMonth");
23
+ const isSameYear_1 = require("date-fns/isSameYear");
24
+ const max_1 = require("date-fns/max");
25
+ const min_1 = require("date-fns/min");
26
+ const setMonth_1 = require("date-fns/setMonth");
27
+ const setYear_1 = require("date-fns/setYear");
28
+ const startOfDay_1 = require("date-fns/startOfDay");
29
+ const startOfISOWeek_1 = require("date-fns/startOfISOWeek");
30
+ const startOfMonth_1 = require("date-fns/startOfMonth");
31
+ const startOfWeek_1 = require("date-fns/startOfWeek");
32
+ const startOfYear_1 = require("date-fns/startOfYear");
33
+ /** The default date library to use with the date picker. */
34
+ exports.dateLib = {
35
+ /** The constructor of the date object. */
36
+ Date: Date,
37
+ addDays: addDays_1.addDays,
38
+ addMonths: addMonths_1.addMonths,
39
+ addWeeks: addWeeks_1.addWeeks,
40
+ addYears: addYears_1.addYears,
41
+ differenceInCalendarDays: differenceInCalendarDays_1.differenceInCalendarDays,
42
+ differenceInCalendarMonths: differenceInCalendarMonths_1.differenceInCalendarMonths,
43
+ endOfISOWeek: endOfISOWeek_1.endOfISOWeek,
44
+ endOfMonth: endOfMonth_1.endOfMonth,
45
+ endOfWeek: endOfWeek_1.endOfWeek,
46
+ endOfYear: endOfYear_1.endOfYear,
47
+ format: format_1.format,
48
+ getISOWeek: getISOWeek_1.getISOWeek,
49
+ getUnixTime: getUnixTime_1.getUnixTime,
50
+ getWeek: getWeek_1.getWeek,
51
+ isAfter: isAfter_1.isAfter,
52
+ isBefore: isBefore_1.isBefore,
53
+ isDate: isDate_1.isDate,
54
+ isSameDay: isSameDay_1.isSameDay,
55
+ isSameMonth: isSameMonth_1.isSameMonth,
56
+ isSameYear: isSameYear_1.isSameYear,
57
+ max: max_1.max,
58
+ min: min_1.min,
59
+ setMonth: setMonth_1.setMonth,
60
+ setYear: setYear_1.setYear,
61
+ startOfDay: startOfDay_1.startOfDay,
62
+ startOfISOWeek: startOfISOWeek_1.startOfISOWeek,
63
+ startOfMonth: startOfMonth_1.startOfMonth,
64
+ startOfWeek: startOfWeek_1.startOfWeek,
65
+ startOfYear: startOfYear_1.startOfYear
66
+ };
67
+ //# sourceMappingURL=dateLib.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dateLib.js","sourceRoot":"","sources":["../../../src/lib/dateLib.ts"],"names":[],"mappings":";;;AACA,8CAA2C;AAC3C,kDAA+C;AAC/C,gDAA6C;AAC7C,gDAA6C;AAC7C,gFAA6E;AAC7E,oFAAiF;AACjF,wDAAqD;AACrD,oDAAiD;AACjD,kDAA+C;AAC/C,kDAA+C;AAC/C,4CAAyC;AACzC,oDAAiD;AACjD,sDAAmD;AACnD,8CAA2C;AAC3C,8CAA2C;AAC3C,gDAA6C;AAC7C,4CAAyC;AACzC,kDAA+C;AAC/C,sDAAmD;AACnD,oDAAiD;AACjD,sCAAmC;AACnC,sCAAmC;AACnC,gDAA6C;AAC7C,8CAA2C;AAC3C,oDAAiD;AACjD,4DAAyD;AACzD,wDAAqD;AACrD,sDAAmD;AACnD,sDAAmD;AASnD,4DAA4D;AAC/C,QAAA,OAAO,GAAG;IACrB,0CAA0C;IAC1C,IAAI,EAAE,IAA8B;IACpC,OAAO,EAAP,iBAAO;IACP,SAAS,EAAT,qBAAS;IACT,QAAQ,EAAR,mBAAQ;IACR,QAAQ,EAAR,mBAAQ;IACR,wBAAwB,EAAxB,mDAAwB;IACxB,0BAA0B,EAA1B,uDAA0B;IAC1B,YAAY,EAAZ,2BAAY;IACZ,UAAU,EAAV,uBAAU;IACV,SAAS,EAAT,qBAAS;IACT,SAAS,EAAT,qBAAS;IACT,MAAM,EAAN,eAAM;IACN,UAAU,EAAV,uBAAU;IACV,WAAW,EAAX,yBAAW;IACX,OAAO,EAAP,iBAAO;IACP,OAAO,EAAP,iBAAO;IACP,QAAQ,EAAR,mBAAQ;IACR,MAAM,EAAN,eAAM;IACN,SAAS,EAAT,qBAAS;IACT,WAAW,EAAX,yBAAW;IACX,UAAU,EAAV,uBAAU;IACV,GAAG,EAAH,SAAG;IACH,GAAG,EAAH,SAAG;IACH,QAAQ,EAAR,mBAAQ;IACR,OAAO,EAAP,iBAAO;IACP,UAAU,EAAV,uBAAU;IACV,cAAc,EAAd,+BAAc;IACd,YAAY,EAAZ,2BAAY;IACZ,WAAW,EAAX,yBAAW;IACX,WAAW,EAAX,yBAAW;CACZ,CAAC"}
@@ -0,0 +1 @@
1
+ export * from "./dateLib";
@@ -0,0 +1,18 @@
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("./dateLib"), exports);
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4CAA0B"}
@@ -0,0 +1 @@
1
+ export { enUS } from "date-fns/locale/en-US";
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.enUS = void 0;
4
+ var en_US_1 = require("date-fns/locale/en-US");
5
+ Object.defineProperty(exports, "enUS", { enumerable: true, get: function () { return en_US_1.enUS; } });
6
+ //# sourceMappingURL=locales.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"locales.js","sourceRoot":"","sources":["../../../src/lib/locales.ts"],"names":[],"mappings":";;;AAAA,+CAA6C;AAApC,6FAAA,IAAI,OAAA"}
@@ -0,0 +1,3 @@
1
+ export * from "./useSingle";
2
+ export * from "./useMulti";
3
+ export * from "./useRange";
@@ -0,0 +1,20 @@
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("./useSingle"), exports);
18
+ __exportStar(require("./useMulti"), exports);
19
+ __exportStar(require("./useRange"), exports);
20
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/selection/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAA4B;AAC5B,6CAA2B;AAC3B,6CAA2B"}
@@ -0,0 +1,25 @@
1
+ import React from "react";
2
+ import type { Modifiers, PropsMulti } from "../types";
3
+ export type MultiContextValue<T> = {
4
+ setSelected: (triggerDate: Date, modifiers: Modifiers, e: React.MouseEvent | React.KeyboardEvent) => Date[] | undefined;
5
+ isSelected: (date: Date) => boolean;
6
+ } & (T extends {
7
+ required: true;
8
+ } ? {
9
+ selected: Date[];
10
+ } : {
11
+ selected: Date[] | undefined;
12
+ });
13
+ /** @private */
14
+ export declare function MultiProvider(props: React.PropsWithChildren<PropsMulti>): React.JSX.Element;
15
+ /**
16
+ * Access to the multi context to get the selected dates or update them.
17
+ *
18
+ * Use this hook from the custom components passed via the `components` prop.
19
+ *
20
+ * @group Hooks
21
+ * @see https://daypicker.dev/advanced-guides/custom-components
22
+ */
23
+ export declare function useMulti<T extends {
24
+ required: boolean;
25
+ }>(): MultiContextValue<T>;
@@ -0,0 +1,86 @@
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.useMulti = exports.MultiProvider = void 0;
7
+ const react_1 = __importDefault(require("react"));
8
+ const contexts_1 = require("../contexts");
9
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
10
+ const MultiContext = react_1.default.createContext(undefined);
11
+ function useMultiContextValue({ required = false, min = undefined, max = undefined, selected, onSelect }) {
12
+ const { mode, dateLib: { isSameDay, Date } } = (0, contexts_1.useProps)();
13
+ const [dates, setDates] = react_1.default.useState(selected);
14
+ // Update the selected date if the required flag is set.
15
+ react_1.default.useEffect(() => {
16
+ if (mode !== "multiple")
17
+ return;
18
+ if (required && dates === undefined) {
19
+ setDates([new Date()]);
20
+ }
21
+ }, [required, dates, Date, mode]);
22
+ // Update the selected date if the selected value from props changes.
23
+ react_1.default.useEffect(() => {
24
+ if (mode !== "multiple")
25
+ return;
26
+ setDates(selected);
27
+ }, [mode, selected]);
28
+ const isSelected = (date) => {
29
+ return dates?.some((d) => isSameDay(d, date)) ?? false;
30
+ };
31
+ const setSelected = (triggerDate, modifiers, e) => {
32
+ let newDates = [...(dates ?? [])];
33
+ if (isSelected(triggerDate)) {
34
+ if (dates?.length === min) {
35
+ // Min value reached, do nothing
36
+ return;
37
+ }
38
+ if (required && dates?.length === 1) {
39
+ // Required value already selected do nothing
40
+ return;
41
+ }
42
+ newDates = dates?.filter((d) => !isSameDay(d, triggerDate));
43
+ }
44
+ else {
45
+ if (dates?.length === max) {
46
+ // Max value reached, reset the selection to date
47
+ newDates = [triggerDate];
48
+ }
49
+ else {
50
+ // Add the date to the selection
51
+ newDates = [...newDates, triggerDate];
52
+ }
53
+ }
54
+ onSelect?.(newDates, triggerDate, modifiers, e);
55
+ setDates(newDates);
56
+ return newDates;
57
+ };
58
+ return {
59
+ selected: dates,
60
+ setSelected,
61
+ isSelected
62
+ };
63
+ }
64
+ /** @private */
65
+ function MultiProvider(props) {
66
+ const value = useMultiContextValue(props);
67
+ return (react_1.default.createElement(MultiContext.Provider, { value: value }, props.children));
68
+ }
69
+ exports.MultiProvider = MultiProvider;
70
+ /**
71
+ * Access to the multi context to get the selected dates or update them.
72
+ *
73
+ * Use this hook from the custom components passed via the `components` prop.
74
+ *
75
+ * @group Hooks
76
+ * @see https://daypicker.dev/advanced-guides/custom-components
77
+ */
78
+ function useMulti() {
79
+ const context = react_1.default.useContext(MultiContext);
80
+ if (!context) {
81
+ throw new Error("useMulti() must be used within a MultiContextProvider.");
82
+ }
83
+ return context;
84
+ }
85
+ exports.useMulti = useMulti;
86
+ //# sourceMappingURL=useMulti.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useMulti.js","sourceRoot":"","sources":["../../../src/selection/useMulti.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ import React from "react";
2
+ import { DateRange, Modifiers, PropsRange } from "../types";
3
+ export type RangeContextValue<T> = {
4
+ setSelected: (triggerDate: Date, modifiers: Modifiers, e: React.MouseEvent | React.KeyboardEvent) => DateRange | undefined;
5
+ isSelected: (date: Date) => boolean;
6
+ } & (T extends {
7
+ required: true;
8
+ } ? {
9
+ selected: DateRange;
10
+ } : {
11
+ selected: DateRange | undefined;
12
+ });
13
+ /** @private */
14
+ export declare function RangeProvider(props: React.PropsWithChildren<PropsRange>): React.JSX.Element;
15
+ /**
16
+ * Access to the range context to get the selected range or update it.
17
+ *
18
+ * Use this hook from the custom components passed via the `components` prop.
19
+ *
20
+ * @group Hooks
21
+ * @see https://daypicker.dev/advanced-guides/custom-components
22
+ */
23
+ export declare function useRange<T extends {
24
+ required: boolean;
25
+ }>(): RangeContextValue<T>;
@@ -0,0 +1,86 @@
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.useRange = exports.RangeProvider = void 0;
7
+ const react_1 = __importDefault(require("react"));
8
+ const contexts_1 = require("../contexts");
9
+ const utils_1 = require("../utils");
10
+ const isDateInRange_1 = require("../utils/isDateInRange");
11
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
12
+ const RangeContext = react_1.default.createContext(undefined);
13
+ function useRangeContextValue({ required, min, max, selected, onSelect }) {
14
+ const { dateLib, mode } = (0, contexts_1.useProps)();
15
+ const { differenceInCalendarDays } = dateLib;
16
+ const [range, setRange] = react_1.default.useState(selected);
17
+ // Update the selected date if the required flag is set.
18
+ react_1.default.useEffect(() => {
19
+ if (mode !== "multiple")
20
+ return;
21
+ if (required && range === undefined) {
22
+ setRange({ from: undefined, to: undefined });
23
+ }
24
+ }, [required, range, mode]);
25
+ // Update the selected date if the selected changes.
26
+ react_1.default.useEffect(() => {
27
+ if (mode !== "range")
28
+ return;
29
+ setRange(selected);
30
+ }, [mode, selected]);
31
+ const isSelected = required
32
+ ? (date) => (0, isDateInRange_1.isDateInRange)(date, range, dateLib)
33
+ : (date) => range && (0, isDateInRange_1.isDateInRange)(date, range, dateLib);
34
+ const setSelected = (triggerDate, modifiers, e) => {
35
+ const newRange = triggerDate
36
+ ? (0, utils_1.addToRange)(triggerDate, range, dateLib)
37
+ : undefined;
38
+ if (min) {
39
+ if (newRange?.from &&
40
+ newRange.to &&
41
+ differenceInCalendarDays(newRange.to, newRange.from) < min - 1) {
42
+ newRange.from = triggerDate;
43
+ newRange.to = undefined;
44
+ }
45
+ }
46
+ if (max) {
47
+ if (newRange?.from &&
48
+ newRange.to &&
49
+ differenceInCalendarDays(newRange.to, newRange.from) >= max) {
50
+ newRange.from = triggerDate;
51
+ newRange.to = undefined;
52
+ }
53
+ }
54
+ setRange(newRange);
55
+ onSelect?.(newRange, triggerDate, modifiers, e);
56
+ return newRange;
57
+ };
58
+ return {
59
+ selected: range,
60
+ setSelected,
61
+ isSelected
62
+ };
63
+ }
64
+ /** @private */
65
+ function RangeProvider(props) {
66
+ const value = useRangeContextValue(props);
67
+ return (react_1.default.createElement(RangeContext.Provider, { value: value }, props.children));
68
+ }
69
+ exports.RangeProvider = RangeProvider;
70
+ /**
71
+ * Access to the range context to get the selected range or update it.
72
+ *
73
+ * Use this hook from the custom components passed via the `components` prop.
74
+ *
75
+ * @group Hooks
76
+ * @see https://daypicker.dev/advanced-guides/custom-components
77
+ */
78
+ function useRange() {
79
+ const context = react_1.default.useContext(RangeContext);
80
+ if (!context) {
81
+ throw new Error("useRange() must be used within a RangeContextProvider.");
82
+ }
83
+ return context;
84
+ }
85
+ exports.useRange = useRange;
86
+ //# sourceMappingURL=useRange.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useRange.js","sourceRoot":"","sources":["../../../src/selection/useRange.tsx"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAE1B,0CAAuC;AAEvC,oCAAsC;AACtC,0DAAuD;AAiBvD,8DAA8D;AAC9D,MAAM,YAAY,GAAG,eAAK,CAAC,aAAa,CACtC,SAAS,CACV,CAAC;AAEF,SAAS,oBAAoB,CAAuB,EAClD,QAAQ,EACR,GAAG,EACH,GAAG,EACH,QAAQ,EACR,QAAQ,EACN;IACF,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,IAAA,mBAAQ,GAAE,CAAC;IACrC,MAAM,EAAE,wBAAwB,EAAE,GAAG,OAAO,CAAC;IAC7C,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,eAAK,CAAC,QAAQ,CAAwB,QAAQ,CAAC,CAAC;IAE1E,wDAAwD;IACxD,eAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,IAAI,IAAI,KAAK,UAAU;YAAE,OAAO;QAChC,IAAI,QAAQ,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACpC,QAAQ,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;IAE5B,oDAAoD;IACpD,eAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,IAAI,IAAI,KAAK,OAAO;YAAE,OAAO;QAC7B,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACrB,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;IAErB,MAAM,UAAU,GAAG,QAAQ;QACzB,CAAC,CAAC,CAAC,IAAU,EAAE,EAAE,CAAC,IAAA,6BAAa,EAAC,IAAI,EAAE,KAAkB,EAAE,OAAO,CAAC;QAClE,CAAC,CAAC,CAAC,IAAU,EAAE,EAAE,CAAC,KAAK,IAAI,IAAA,6BAAa,EAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;IAEjE,MAAM,WAAW,GAAG,CAClB,WAAiB,EACjB,SAAoB,EACpB,CAAyC,EACzC,EAAE;QACF,MAAM,QAAQ,GAAG,WAAW;YAC1B,CAAC,CAAC,IAAA,kBAAU,EAAC,WAAW,EAAE,KAAK,EAAE,OAAO,CAAC;YACzC,CAAC,CAAC,SAAS,CAAC;QAEd,IAAI,GAAG,EAAE,CAAC;YACR,IACE,QAAQ,EAAE,IAAI;gBACd,QAAQ,CAAC,EAAE;gBACX,wBAAwB,CAAC,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC,EAC9D,CAAC;gBACD,QAAQ,CAAC,IAAI,GAAG,WAAW,CAAC;gBAC5B,QAAQ,CAAC,EAAE,GAAG,SAAS,CAAC;YAC1B,CAAC;QACH,CAAC;QAED,IAAI,GAAG,EAAE,CAAC;YACR,IACE,QAAQ,EAAE,IAAI;gBACd,QAAQ,CAAC,EAAE;gBACX,wBAAwB,CAAC,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,GAAG,EAC3D,CAAC;gBACD,QAAQ,CAAC,IAAI,GAAG,WAAW,CAAC;gBAC5B,QAAQ,CAAC,EAAE,GAAG,SAAS,CAAC;YAC1B,CAAC;QACH,CAAC;QAED,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACnB,QAAQ,EAAE,CAAC,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;QAEhD,OAAO,QAAQ,CAAC;IAClB,CAAC,CAAC;IAEF,OAAO;QACL,QAAQ,EAAE,KAAK;QACf,WAAW;QACX,UAAU;KACa,CAAC;AAC5B,CAAC;AAED,eAAe;AACf,SAAgB,aAAa,CAAC,KAA0C;IACtE,MAAM,KAAK,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAC;IAC1C,OAAO,CACL,8BAAC,YAAY,CAAC,QAAQ,IAAC,KAAK,EAAE,KAAK,IAChC,KAAK,CAAC,QAAQ,CACO,CACzB,CAAC;AACJ,CAAC;AAPD,sCAOC;AAED;;;;;;;GAOG;AACH,SAAgB,QAAQ;IACtB,MAAM,OAAO,GAAG,eAAK,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;IAC/C,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;IAC5E,CAAC;IACD,OAAO,OAA+B,CAAC;AACzC,CAAC;AAND,4BAMC"}
@@ -0,0 +1,23 @@
1
+ import React from "react";
2
+ import { Modifiers, PropsSingle } from "../types";
3
+ export type SingleContextValue<T> = {
4
+ setSelected: (triggerDate: Date, modifiers: Modifiers, e: React.MouseEvent | React.KeyboardEvent) => void;
5
+ isSelected: (date: Date) => boolean;
6
+ } & (T extends {
7
+ required: true;
8
+ } ? {
9
+ selected: Date;
10
+ } : {
11
+ selected: Date | undefined;
12
+ });
13
+ /** @private */
14
+ export declare function SingleProvider(props: React.PropsWithChildren<PropsSingle>): React.JSX.Element;
15
+ /**
16
+ * Access to the single context to get the selected date or update it.
17
+ *
18
+ * Use this hook from the custom components passed via the `components` prop.
19
+ *
20
+ * @group Hooks
21
+ * @see https://daypicker.dev/advanced-guides/custom-components
22
+ */
23
+ export declare function useSingle(): SingleContextValue<any>;