@mantine/dates 6.0.19 → 7.0.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (451) hide show
  1. package/cjs/components/Calendar/Calendar.js +118 -112
  2. package/cjs/components/Calendar/Calendar.js.map +1 -1
  3. package/cjs/components/Calendar/clamp-level/clamp-level.js +8 -2
  4. package/cjs/components/Calendar/clamp-level/clamp-level.js.map +1 -1
  5. package/cjs/components/Calendar/pick-calendar-levels-props/pick-calendar-levels-props.js +15 -5
  6. package/cjs/components/Calendar/pick-calendar-levels-props/pick-calendar-levels-props.js.map +1 -1
  7. package/cjs/components/CalendarHeader/CalendarHeader.js +91 -65
  8. package/cjs/components/CalendarHeader/CalendarHeader.js.map +1 -1
  9. package/cjs/components/CalendarHeader/CalendarHeader.module.css.js +8 -0
  10. package/cjs/components/CalendarHeader/CalendarHeader.module.css.js.map +1 -0
  11. package/cjs/components/DateInput/DateInput.js +66 -60
  12. package/cjs/components/DateInput/DateInput.js.map +1 -1
  13. package/cjs/components/DateInput/date-string-parser/date-string-parser.js +3 -0
  14. package/cjs/components/DateInput/date-string-parser/date-string-parser.js.map +1 -1
  15. package/cjs/components/DateInput/is-date-valid/is-date-valid.js.map +1 -1
  16. package/cjs/components/DatePicker/DatePicker.js +48 -15
  17. package/cjs/components/DatePicker/DatePicker.js.map +1 -1
  18. package/cjs/components/DatePickerInput/DatePickerInput.js +116 -96
  19. package/cjs/components/DatePickerInput/DatePickerInput.js.map +1 -1
  20. package/cjs/components/DateTimePicker/DateTimePicker.js +102 -75
  21. package/cjs/components/DateTimePicker/DateTimePicker.js.map +1 -1
  22. package/cjs/components/DateTimePicker/DateTimePicker.module.css.js +8 -0
  23. package/cjs/components/DateTimePicker/DateTimePicker.module.css.js.map +1 -0
  24. package/cjs/components/DatesProvider/DatesProvider.js +1 -3
  25. package/cjs/components/DatesProvider/DatesProvider.js.map +1 -1
  26. package/cjs/components/DatesProvider/use-dates-context.js +12 -3
  27. package/cjs/components/DatesProvider/use-dates-context.js.map +1 -1
  28. package/cjs/components/Day/Day.js +61 -40
  29. package/cjs/components/Day/Day.js.map +1 -1
  30. package/cjs/components/Day/Day.module.css.js +8 -0
  31. package/cjs/components/Day/Day.module.css.js.map +1 -0
  32. package/cjs/components/DecadeLevel/DecadeLevel.js +52 -57
  33. package/cjs/components/DecadeLevel/DecadeLevel.js.map +1 -1
  34. package/cjs/components/DecadeLevelGroup/DecadeLevelGroup.js +79 -74
  35. package/cjs/components/DecadeLevelGroup/DecadeLevelGroup.js.map +1 -1
  36. package/cjs/components/HiddenDatesInput/HiddenDatesInput.js +2 -7
  37. package/cjs/components/HiddenDatesInput/HiddenDatesInput.js.map +1 -1
  38. package/cjs/components/{CalendarHeader/Chevron.js → LevelsGroup/LevelsGroup.js} +23 -15
  39. package/cjs/components/LevelsGroup/LevelsGroup.js.map +1 -0
  40. package/cjs/components/LevelsGroup/LevelsGroup.module.css.js +8 -0
  41. package/cjs/components/LevelsGroup/LevelsGroup.module.css.js.map +1 -0
  42. package/cjs/components/Month/Month.js +100 -78
  43. package/cjs/components/Month/Month.js.map +1 -1
  44. package/cjs/components/Month/Month.module.css.js +8 -0
  45. package/cjs/components/Month/Month.module.css.js.map +1 -0
  46. package/cjs/components/Month/get-date-in-tab-order/get-date-in-tab-order.js +6 -4
  47. package/cjs/components/Month/get-date-in-tab-order/get-date-in-tab-order.js.map +1 -1
  48. package/cjs/components/MonthLevel/MonthLevel.js +56 -64
  49. package/cjs/components/MonthLevel/MonthLevel.js.map +1 -1
  50. package/cjs/components/MonthLevelGroup/MonthLevelGroup.js +86 -82
  51. package/cjs/components/MonthLevelGroup/MonthLevelGroup.js.map +1 -1
  52. package/cjs/components/MonthPicker/MonthPicker.js +39 -17
  53. package/cjs/components/MonthPicker/MonthPicker.js.map +1 -1
  54. package/cjs/components/MonthPickerInput/MonthPickerInput.js +112 -92
  55. package/cjs/components/MonthPickerInput/MonthPickerInput.js.map +1 -1
  56. package/cjs/components/MonthsList/MonthsList.js +78 -72
  57. package/cjs/components/MonthsList/MonthsList.js.map +1 -1
  58. package/cjs/components/MonthsList/MonthsList.module.css.js +8 -0
  59. package/cjs/components/MonthsList/MonthsList.module.css.js.map +1 -0
  60. package/cjs/components/MonthsList/get-month-in-tab-order/get-month-in-tab-order.js +6 -4
  61. package/cjs/components/MonthsList/get-month-in-tab-order/get-month-in-tab-order.js.map +1 -1
  62. package/cjs/components/MonthsList/is-month-disabled/is-month-disabled.js.map +1 -1
  63. package/cjs/components/PickerControl/PickerControl.js +47 -31
  64. package/cjs/components/PickerControl/PickerControl.js.map +1 -1
  65. package/cjs/components/PickerControl/PickerControl.module.css.js +8 -0
  66. package/cjs/components/PickerControl/PickerControl.module.css.js.map +1 -0
  67. package/cjs/components/PickerInputBase/PickerInputBase.js +60 -59
  68. package/cjs/components/PickerInputBase/PickerInputBase.js.map +1 -1
  69. package/cjs/components/PickerInputBase/PickerInputBase.module.css.js +8 -0
  70. package/cjs/components/PickerInputBase/PickerInputBase.module.css.js.map +1 -0
  71. package/cjs/components/TimeInput/TimeInput.js +22 -19
  72. package/cjs/components/TimeInput/TimeInput.js.map +1 -1
  73. package/cjs/components/TimeInput/TimeInput.module.css.js +8 -0
  74. package/cjs/components/TimeInput/TimeInput.module.css.js.map +1 -0
  75. package/cjs/components/WeekdaysRow/WeekdaysRow.js +37 -35
  76. package/cjs/components/WeekdaysRow/WeekdaysRow.js.map +1 -1
  77. package/cjs/components/WeekdaysRow/WeekdaysRow.module.css.js +8 -0
  78. package/cjs/components/WeekdaysRow/WeekdaysRow.module.css.js.map +1 -0
  79. package/cjs/components/YearLevel/YearLevel.js +57 -65
  80. package/cjs/components/YearLevel/YearLevel.js.map +1 -1
  81. package/cjs/components/YearLevelGroup/YearLevelGroup.js +78 -74
  82. package/cjs/components/YearLevelGroup/YearLevelGroup.js.map +1 -1
  83. package/cjs/components/YearPicker/YearPicker.js +39 -17
  84. package/cjs/components/YearPicker/YearPicker.js.map +1 -1
  85. package/cjs/components/YearPickerInput/YearPickerInput.js +112 -92
  86. package/cjs/components/YearPickerInput/YearPickerInput.js.map +1 -1
  87. package/cjs/components/YearsList/YearsList.js +72 -68
  88. package/cjs/components/YearsList/YearsList.js.map +1 -1
  89. package/cjs/components/YearsList/YearsList.module.css.js +8 -0
  90. package/cjs/components/YearsList/YearsList.module.css.js.map +1 -0
  91. package/cjs/components/YearsList/get-year-in-tab-order/get-year-in-tab-order.js +6 -4
  92. package/cjs/components/YearsList/get-year-in-tab-order/get-year-in-tab-order.js.map +1 -1
  93. package/cjs/components/YearsList/is-year-disabled/is-year-disabled.js.map +1 -1
  94. package/cjs/hooks/use-dates-input/use-dates-input.js.map +1 -1
  95. package/cjs/hooks/use-dates-state/use-dates-state.js +9 -3
  96. package/cjs/hooks/use-dates-state/use-dates-state.js.map +1 -1
  97. package/cjs/hooks/use-uncontrolled-dates/use-uncontrolled-dates.js +9 -3
  98. package/cjs/hooks/use-uncontrolled-dates/use-uncontrolled-dates.js.map +1 -1
  99. package/cjs/index.css +413 -0
  100. package/cjs/index.js +41 -40
  101. package/cjs/index.js.map +1 -1
  102. package/cjs/utils/get-default-clamped-date.js +3 -3
  103. package/cjs/utils/get-default-clamped-date.js.map +1 -1
  104. package/cjs/utils/get-formatted-date.js +1 -1
  105. package/cjs/utils/get-formatted-date.js.map +1 -1
  106. package/cjs/utils/handle-control-key-down.js +4 -3
  107. package/cjs/utils/handle-control-key-down.js.map +1 -1
  108. package/esm/components/Calendar/Calendar.js +120 -114
  109. package/esm/components/Calendar/Calendar.js.map +1 -1
  110. package/esm/components/Calendar/clamp-level/clamp-level.js +8 -2
  111. package/esm/components/Calendar/clamp-level/clamp-level.js.map +1 -1
  112. package/esm/components/Calendar/pick-calendar-levels-props/pick-calendar-levels-props.js +15 -5
  113. package/esm/components/Calendar/pick-calendar-levels-props/pick-calendar-levels-props.js.map +1 -1
  114. package/esm/components/CalendarHeader/CalendarHeader.js +93 -67
  115. package/esm/components/CalendarHeader/CalendarHeader.js.map +1 -1
  116. package/esm/components/CalendarHeader/CalendarHeader.module.css.js +4 -0
  117. package/esm/components/CalendarHeader/CalendarHeader.module.css.js.map +1 -0
  118. package/esm/components/DateInput/DateInput.js +67 -61
  119. package/esm/components/DateInput/DateInput.js.map +1 -1
  120. package/esm/components/DateInput/date-string-parser/date-string-parser.js +3 -0
  121. package/esm/components/DateInput/date-string-parser/date-string-parser.js.map +1 -1
  122. package/esm/components/DateInput/is-date-valid/is-date-valid.js.map +1 -1
  123. package/esm/components/DatePicker/DatePicker.js +50 -17
  124. package/esm/components/DatePicker/DatePicker.js.map +1 -1
  125. package/esm/components/DatePickerInput/DatePickerInput.js +118 -98
  126. package/esm/components/DatePickerInput/DatePickerInput.js.map +1 -1
  127. package/esm/components/DateTimePicker/DateTimePicker.js +104 -77
  128. package/esm/components/DateTimePicker/DateTimePicker.js.map +1 -1
  129. package/esm/components/DateTimePicker/DateTimePicker.module.css.js +4 -0
  130. package/esm/components/DateTimePicker/DateTimePicker.module.css.js.map +1 -0
  131. package/esm/components/DatesProvider/DatesProvider.js +1 -3
  132. package/esm/components/DatesProvider/DatesProvider.js.map +1 -1
  133. package/esm/components/DatesProvider/use-dates-context.js +12 -3
  134. package/esm/components/DatesProvider/use-dates-context.js.map +1 -1
  135. package/esm/components/Day/Day.js +61 -40
  136. package/esm/components/Day/Day.js.map +1 -1
  137. package/esm/components/Day/Day.module.css.js +4 -0
  138. package/esm/components/Day/Day.module.css.js.map +1 -0
  139. package/esm/components/DecadeLevel/DecadeLevel.js +52 -57
  140. package/esm/components/DecadeLevel/DecadeLevel.js.map +1 -1
  141. package/esm/components/DecadeLevelGroup/DecadeLevelGroup.js +79 -74
  142. package/esm/components/DecadeLevelGroup/DecadeLevelGroup.js.map +1 -1
  143. package/esm/components/HiddenDatesInput/HiddenDatesInput.js +2 -7
  144. package/esm/components/HiddenDatesInput/HiddenDatesInput.js.map +1 -1
  145. package/esm/components/{CalendarHeader/Chevron.js → LevelsGroup/LevelsGroup.js} +24 -16
  146. package/esm/components/LevelsGroup/LevelsGroup.js.map +1 -0
  147. package/esm/components/LevelsGroup/LevelsGroup.module.css.js +4 -0
  148. package/esm/components/LevelsGroup/LevelsGroup.module.css.js.map +1 -0
  149. package/esm/components/Month/Month.js +102 -80
  150. package/esm/components/Month/Month.js.map +1 -1
  151. package/esm/components/Month/Month.module.css.js +4 -0
  152. package/esm/components/Month/Month.module.css.js.map +1 -0
  153. package/esm/components/Month/get-date-in-tab-order/get-date-in-tab-order.js +6 -4
  154. package/esm/components/Month/get-date-in-tab-order/get-date-in-tab-order.js.map +1 -1
  155. package/esm/components/MonthLevel/MonthLevel.js +58 -66
  156. package/esm/components/MonthLevel/MonthLevel.js.map +1 -1
  157. package/esm/components/MonthLevelGroup/MonthLevelGroup.js +86 -82
  158. package/esm/components/MonthLevelGroup/MonthLevelGroup.js.map +1 -1
  159. package/esm/components/MonthPicker/MonthPicker.js +41 -19
  160. package/esm/components/MonthPicker/MonthPicker.js.map +1 -1
  161. package/esm/components/MonthPickerInput/MonthPickerInput.js +114 -94
  162. package/esm/components/MonthPickerInput/MonthPickerInput.js.map +1 -1
  163. package/esm/components/MonthsList/MonthsList.js +78 -72
  164. package/esm/components/MonthsList/MonthsList.js.map +1 -1
  165. package/esm/components/MonthsList/MonthsList.module.css.js +4 -0
  166. package/esm/components/MonthsList/MonthsList.module.css.js.map +1 -0
  167. package/esm/components/MonthsList/get-month-in-tab-order/get-month-in-tab-order.js +6 -4
  168. package/esm/components/MonthsList/get-month-in-tab-order/get-month-in-tab-order.js.map +1 -1
  169. package/esm/components/MonthsList/is-month-disabled/is-month-disabled.js.map +1 -1
  170. package/esm/components/PickerControl/PickerControl.js +49 -33
  171. package/esm/components/PickerControl/PickerControl.js.map +1 -1
  172. package/esm/components/PickerControl/PickerControl.module.css.js +4 -0
  173. package/esm/components/PickerControl/PickerControl.module.css.js.map +1 -0
  174. package/esm/components/PickerInputBase/PickerInputBase.js +61 -61
  175. package/esm/components/PickerInputBase/PickerInputBase.js.map +1 -1
  176. package/esm/components/PickerInputBase/PickerInputBase.module.css.js +4 -0
  177. package/esm/components/PickerInputBase/PickerInputBase.module.css.js.map +1 -0
  178. package/esm/components/TimeInput/TimeInput.js +23 -21
  179. package/esm/components/TimeInput/TimeInput.js.map +1 -1
  180. package/esm/components/TimeInput/TimeInput.module.css.js +4 -0
  181. package/esm/components/TimeInput/TimeInput.module.css.js.map +1 -0
  182. package/esm/components/WeekdaysRow/WeekdaysRow.js +39 -37
  183. package/esm/components/WeekdaysRow/WeekdaysRow.js.map +1 -1
  184. package/esm/components/WeekdaysRow/WeekdaysRow.module.css.js +4 -0
  185. package/esm/components/WeekdaysRow/WeekdaysRow.module.css.js.map +1 -0
  186. package/esm/components/YearLevel/YearLevel.js +57 -65
  187. package/esm/components/YearLevel/YearLevel.js.map +1 -1
  188. package/esm/components/YearLevelGroup/YearLevelGroup.js +78 -74
  189. package/esm/components/YearLevelGroup/YearLevelGroup.js.map +1 -1
  190. package/esm/components/YearPicker/YearPicker.js +41 -19
  191. package/esm/components/YearPicker/YearPicker.js.map +1 -1
  192. package/esm/components/YearPickerInput/YearPickerInput.js +114 -94
  193. package/esm/components/YearPickerInput/YearPickerInput.js.map +1 -1
  194. package/esm/components/YearsList/YearsList.js +74 -70
  195. package/esm/components/YearsList/YearsList.js.map +1 -1
  196. package/esm/components/YearsList/YearsList.module.css.js +4 -0
  197. package/esm/components/YearsList/YearsList.module.css.js.map +1 -0
  198. package/esm/components/YearsList/get-year-in-tab-order/get-year-in-tab-order.js +6 -4
  199. package/esm/components/YearsList/get-year-in-tab-order/get-year-in-tab-order.js.map +1 -1
  200. package/esm/components/YearsList/is-year-disabled/is-year-disabled.js.map +1 -1
  201. package/esm/hooks/use-dates-input/use-dates-input.js.map +1 -1
  202. package/esm/hooks/use-dates-state/use-dates-state.js +9 -3
  203. package/esm/hooks/use-dates-state/use-dates-state.js.map +1 -1
  204. package/esm/hooks/use-uncontrolled-dates/use-uncontrolled-dates.js +9 -3
  205. package/esm/hooks/use-uncontrolled-dates/use-uncontrolled-dates.js.map +1 -1
  206. package/esm/index.css +413 -0
  207. package/esm/index.js +21 -20
  208. package/esm/index.js.map +1 -1
  209. package/esm/utils/get-default-clamped-date.js +3 -3
  210. package/esm/utils/get-default-clamped-date.js.map +1 -1
  211. package/esm/utils/get-formatted-date.js +1 -1
  212. package/esm/utils/get-formatted-date.js.map +1 -1
  213. package/esm/utils/handle-control-key-down.js +4 -3
  214. package/esm/utils/handle-control-key-down.js.map +1 -1
  215. package/lib/components/Calendar/Calendar.d.ts +13 -8
  216. package/lib/components/Calendar/Calendar.d.ts.map +1 -1
  217. package/lib/components/Calendar/clamp-level/clamp-level.d.ts +1 -1
  218. package/lib/components/Calendar/clamp-level/clamp-level.d.ts.map +1 -1
  219. package/lib/components/Calendar/index.d.ts +1 -1
  220. package/lib/components/Calendar/index.d.ts.map +1 -1
  221. package/lib/components/Calendar/pick-calendar-levels-props/pick-calendar-levels-props.d.ts +1 -1
  222. package/lib/components/CalendarHeader/CalendarHeader.d.ts +18 -6
  223. package/lib/components/CalendarHeader/CalendarHeader.d.ts.map +1 -1
  224. package/lib/components/CalendarHeader/index.d.ts +1 -1
  225. package/lib/components/CalendarHeader/index.d.ts.map +1 -1
  226. package/lib/components/DateInput/DateInput.d.ts +15 -4
  227. package/lib/components/DateInput/DateInput.d.ts.map +1 -1
  228. package/lib/components/DateInput/date-string-parser/date-string-parser.d.ts +1 -1
  229. package/lib/components/DateInput/date-string-parser/date-string-parser.d.ts.map +1 -1
  230. package/lib/components/DateInput/index.d.ts +1 -1
  231. package/lib/components/DateInput/index.d.ts.map +1 -1
  232. package/lib/components/DateInput/is-date-valid/is-date-valid.d.ts +2 -2
  233. package/lib/components/DateInput/is-date-valid/is-date-valid.d.ts.map +1 -1
  234. package/lib/components/DatePicker/DatePicker.d.ts +10 -3
  235. package/lib/components/DatePicker/DatePicker.d.ts.map +1 -1
  236. package/lib/components/DatePicker/index.d.ts +1 -1
  237. package/lib/components/DatePicker/index.d.ts.map +1 -1
  238. package/lib/components/DatePickerInput/DatePickerInput.d.ts +12 -4
  239. package/lib/components/DatePickerInput/DatePickerInput.d.ts.map +1 -1
  240. package/lib/components/DatePickerInput/index.d.ts +1 -1
  241. package/lib/components/DatePickerInput/index.d.ts.map +1 -1
  242. package/lib/components/DateTimePicker/DateTimePicker.d.ts +17 -7
  243. package/lib/components/DateTimePicker/DateTimePicker.d.ts.map +1 -1
  244. package/lib/components/DateTimePicker/index.d.ts +1 -1
  245. package/lib/components/DateTimePicker/index.d.ts.map +1 -1
  246. package/lib/components/DatesProvider/DatesProvider.d.ts +1 -1
  247. package/lib/components/DatesProvider/DatesProvider.d.ts.map +1 -1
  248. package/lib/components/Day/Day.d.ts +27 -17
  249. package/lib/components/Day/Day.d.ts.map +1 -1
  250. package/lib/components/Day/index.d.ts +1 -2
  251. package/lib/components/Day/index.d.ts.map +1 -1
  252. package/lib/components/DecadeLevel/DecadeLevel.d.ts +16 -7
  253. package/lib/components/DecadeLevel/DecadeLevel.d.ts.map +1 -1
  254. package/lib/components/DecadeLevel/index.d.ts +1 -1
  255. package/lib/components/DecadeLevel/index.d.ts.map +1 -1
  256. package/lib/components/DecadeLevelGroup/DecadeLevelGroup.d.ts +17 -7
  257. package/lib/components/DecadeLevelGroup/DecadeLevelGroup.d.ts.map +1 -1
  258. package/lib/components/DecadeLevelGroup/index.d.ts +1 -1
  259. package/lib/components/DecadeLevelGroup/index.d.ts.map +1 -1
  260. package/lib/components/HiddenDatesInput/HiddenDatesInput.d.ts +4 -4
  261. package/lib/components/HiddenDatesInput/HiddenDatesInput.d.ts.map +1 -1
  262. package/lib/components/LevelsGroup/LevelsGroup.d.ts +17 -0
  263. package/lib/components/LevelsGroup/LevelsGroup.d.ts.map +1 -0
  264. package/lib/components/LevelsGroup/index.d.ts +3 -0
  265. package/lib/components/LevelsGroup/index.d.ts.map +1 -0
  266. package/lib/components/Month/Month.d.ts +15 -9
  267. package/lib/components/Month/Month.d.ts.map +1 -1
  268. package/lib/components/Month/get-date-in-tab-order/get-date-in-tab-order.d.ts +2 -2
  269. package/lib/components/Month/get-date-in-tab-order/get-date-in-tab-order.d.ts.map +1 -1
  270. package/lib/components/Month/index.d.ts +1 -1
  271. package/lib/components/Month/index.d.ts.map +1 -1
  272. package/lib/components/MonthLevel/MonthLevel.d.ts +16 -7
  273. package/lib/components/MonthLevel/MonthLevel.d.ts.map +1 -1
  274. package/lib/components/MonthLevel/index.d.ts +1 -1
  275. package/lib/components/MonthLevel/index.d.ts.map +1 -1
  276. package/lib/components/MonthLevelGroup/MonthLevelGroup.d.ts +17 -7
  277. package/lib/components/MonthLevelGroup/MonthLevelGroup.d.ts.map +1 -1
  278. package/lib/components/MonthLevelGroup/index.d.ts +1 -1
  279. package/lib/components/MonthLevelGroup/index.d.ts.map +1 -1
  280. package/lib/components/MonthPicker/MonthPicker.d.ts +14 -3
  281. package/lib/components/MonthPicker/MonthPicker.d.ts.map +1 -1
  282. package/lib/components/MonthPicker/index.d.ts +1 -1
  283. package/lib/components/MonthPicker/index.d.ts.map +1 -1
  284. package/lib/components/MonthPickerInput/MonthPickerInput.d.ts +12 -5
  285. package/lib/components/MonthPickerInput/MonthPickerInput.d.ts.map +1 -1
  286. package/lib/components/MonthPickerInput/index.d.ts +1 -1
  287. package/lib/components/MonthPickerInput/index.d.ts.map +1 -1
  288. package/lib/components/MonthsList/MonthsList.d.ts +14 -8
  289. package/lib/components/MonthsList/MonthsList.d.ts.map +1 -1
  290. package/lib/components/MonthsList/get-month-in-tab-order/get-month-in-tab-order.d.ts +1 -1
  291. package/lib/components/MonthsList/get-month-in-tab-order/get-month-in-tab-order.d.ts.map +1 -1
  292. package/lib/components/MonthsList/index.d.ts +1 -1
  293. package/lib/components/MonthsList/index.d.ts.map +1 -1
  294. package/lib/components/MonthsList/is-month-disabled/is-month-disabled.d.ts +1 -1
  295. package/lib/components/MonthsList/is-month-disabled/is-month-disabled.d.ts.map +1 -1
  296. package/lib/components/PickerControl/PickerControl.d.ts +18 -6
  297. package/lib/components/PickerControl/PickerControl.d.ts.map +1 -1
  298. package/lib/components/PickerControl/index.d.ts +1 -1
  299. package/lib/components/PickerControl/index.d.ts.map +1 -1
  300. package/lib/components/PickerInputBase/PickerInputBase.d.ts +24 -12
  301. package/lib/components/PickerInputBase/PickerInputBase.d.ts.map +1 -1
  302. package/lib/components/PickerInputBase/index.d.ts +1 -1
  303. package/lib/components/PickerInputBase/index.d.ts.map +1 -1
  304. package/lib/components/TimeInput/TimeInput.d.ts +12 -5
  305. package/lib/components/TimeInput/TimeInput.d.ts.map +1 -1
  306. package/lib/components/TimeInput/index.d.ts +1 -1
  307. package/lib/components/TimeInput/index.d.ts.map +1 -1
  308. package/lib/components/WeekdaysRow/WeekdaysRow.d.ts +18 -6
  309. package/lib/components/WeekdaysRow/WeekdaysRow.d.ts.map +1 -1
  310. package/lib/components/WeekdaysRow/index.d.ts +1 -2
  311. package/lib/components/WeekdaysRow/index.d.ts.map +1 -1
  312. package/lib/components/YearLevel/YearLevel.d.ts +15 -6
  313. package/lib/components/YearLevel/YearLevel.d.ts.map +1 -1
  314. package/lib/components/YearLevel/index.d.ts +1 -1
  315. package/lib/components/YearLevel/index.d.ts.map +1 -1
  316. package/lib/components/YearLevelGroup/YearLevelGroup.d.ts +17 -7
  317. package/lib/components/YearLevelGroup/YearLevelGroup.d.ts.map +1 -1
  318. package/lib/components/YearLevelGroup/index.d.ts +1 -1
  319. package/lib/components/YearLevelGroup/index.d.ts.map +1 -1
  320. package/lib/components/YearPicker/YearPicker.d.ts +13 -3
  321. package/lib/components/YearPicker/YearPicker.d.ts.map +1 -1
  322. package/lib/components/YearPicker/index.d.ts +1 -1
  323. package/lib/components/YearPicker/index.d.ts.map +1 -1
  324. package/lib/components/YearPickerInput/YearPickerInput.d.ts +12 -5
  325. package/lib/components/YearPickerInput/YearPickerInput.d.ts.map +1 -1
  326. package/lib/components/YearPickerInput/index.d.ts +1 -1
  327. package/lib/components/YearPickerInput/index.d.ts.map +1 -1
  328. package/lib/components/YearsList/YearsList.d.ts +17 -11
  329. package/lib/components/YearsList/YearsList.d.ts.map +1 -1
  330. package/lib/components/YearsList/get-year-in-tab-order/get-year-in-tab-order.d.ts +1 -1
  331. package/lib/components/YearsList/get-year-in-tab-order/get-year-in-tab-order.d.ts.map +1 -1
  332. package/lib/components/YearsList/index.d.ts +1 -1
  333. package/lib/components/YearsList/index.d.ts.map +1 -1
  334. package/lib/components/YearsList/is-year-disabled/is-year-disabled.d.ts +1 -1
  335. package/lib/components/YearsList/is-year-disabled/is-year-disabled.d.ts.map +1 -1
  336. package/lib/hooks/use-dates-input/use-dates-input.d.ts +8 -8
  337. package/lib/hooks/use-dates-input/use-dates-input.d.ts.map +1 -1
  338. package/lib/hooks/use-dates-state/use-dates-state.d.ts +4 -4
  339. package/lib/hooks/use-uncontrolled-dates/use-uncontrolled-dates.d.ts +3 -3
  340. package/lib/hooks/use-uncontrolled-dates/use-uncontrolled-dates.d.ts.map +1 -1
  341. package/lib/index.d.ts +19 -18
  342. package/lib/index.d.ts.map +1 -1
  343. package/lib/utils/get-default-clamped-date.d.ts +2 -2
  344. package/lib/utils/get-default-clamped-date.d.ts.map +1 -1
  345. package/package.json +19 -10
  346. package/cjs/components/Calendar/Calendar.styles.js +0 -12
  347. package/cjs/components/Calendar/Calendar.styles.js.map +0 -1
  348. package/cjs/components/CalendarHeader/CalendarHeader.styles.js +0 -84
  349. package/cjs/components/CalendarHeader/CalendarHeader.styles.js.map +0 -1
  350. package/cjs/components/CalendarHeader/Chevron.js.map +0 -1
  351. package/cjs/components/DateTimePicker/DateTimePicker.styles.js +0 -19
  352. package/cjs/components/DateTimePicker/DateTimePicker.styles.js.map +0 -1
  353. package/cjs/components/Day/Day.styles.js +0 -90
  354. package/cjs/components/Day/Day.styles.js.map +0 -1
  355. package/cjs/components/DecadeLevel/DecadeLevel.styles.js +0 -15
  356. package/cjs/components/DecadeLevel/DecadeLevel.styles.js.map +0 -1
  357. package/cjs/components/DecadeLevelGroup/DecadeLevelGroup.styles.js +0 -15
  358. package/cjs/components/DecadeLevelGroup/DecadeLevelGroup.styles.js.map +0 -1
  359. package/cjs/components/Month/Month.styles.js +0 -46
  360. package/cjs/components/Month/Month.styles.js.map +0 -1
  361. package/cjs/components/MonthLevel/MonthLevel.styles.js +0 -15
  362. package/cjs/components/MonthLevel/MonthLevel.styles.js.map +0 -1
  363. package/cjs/components/MonthLevelGroup/MonthLevelGroup.styles.js +0 -17
  364. package/cjs/components/MonthLevelGroup/MonthLevelGroup.styles.js.map +0 -1
  365. package/cjs/components/MonthsList/MonthsList.styles.js +0 -23
  366. package/cjs/components/MonthsList/MonthsList.styles.js.map +0 -1
  367. package/cjs/components/PickerControl/PickerControl.styles.js +0 -78
  368. package/cjs/components/PickerControl/PickerControl.styles.js.map +0 -1
  369. package/cjs/components/PickerInputBase/PickerInputBase.styles.js +0 -19
  370. package/cjs/components/PickerInputBase/PickerInputBase.styles.js.map +0 -1
  371. package/cjs/components/TimeInput/TimeInput.styles.js +0 -31
  372. package/cjs/components/TimeInput/TimeInput.styles.js.map +0 -1
  373. package/cjs/components/WeekdaysRow/WeekdaysRow.styles.js +0 -19
  374. package/cjs/components/WeekdaysRow/WeekdaysRow.styles.js.map +0 -1
  375. package/cjs/components/YearLevel/YearLevel.styles.js +0 -15
  376. package/cjs/components/YearLevel/YearLevel.styles.js.map +0 -1
  377. package/cjs/components/YearLevelGroup/YearLevelGroup.styles.js +0 -17
  378. package/cjs/components/YearLevelGroup/YearLevelGroup.styles.js.map +0 -1
  379. package/cjs/components/YearsList/YearsList.styles.js +0 -22
  380. package/cjs/components/YearsList/YearsList.styles.js.map +0 -1
  381. package/esm/components/Calendar/Calendar.styles.js +0 -8
  382. package/esm/components/Calendar/Calendar.styles.js.map +0 -1
  383. package/esm/components/CalendarHeader/CalendarHeader.styles.js +0 -80
  384. package/esm/components/CalendarHeader/CalendarHeader.styles.js.map +0 -1
  385. package/esm/components/CalendarHeader/Chevron.js.map +0 -1
  386. package/esm/components/DateTimePicker/DateTimePicker.styles.js +0 -15
  387. package/esm/components/DateTimePicker/DateTimePicker.styles.js.map +0 -1
  388. package/esm/components/Day/Day.styles.js +0 -86
  389. package/esm/components/Day/Day.styles.js.map +0 -1
  390. package/esm/components/DecadeLevel/DecadeLevel.styles.js +0 -11
  391. package/esm/components/DecadeLevel/DecadeLevel.styles.js.map +0 -1
  392. package/esm/components/DecadeLevelGroup/DecadeLevelGroup.styles.js +0 -11
  393. package/esm/components/DecadeLevelGroup/DecadeLevelGroup.styles.js.map +0 -1
  394. package/esm/components/Month/Month.styles.js +0 -42
  395. package/esm/components/Month/Month.styles.js.map +0 -1
  396. package/esm/components/MonthLevel/MonthLevel.styles.js +0 -11
  397. package/esm/components/MonthLevel/MonthLevel.styles.js.map +0 -1
  398. package/esm/components/MonthLevelGroup/MonthLevelGroup.styles.js +0 -13
  399. package/esm/components/MonthLevelGroup/MonthLevelGroup.styles.js.map +0 -1
  400. package/esm/components/MonthsList/MonthsList.styles.js +0 -19
  401. package/esm/components/MonthsList/MonthsList.styles.js.map +0 -1
  402. package/esm/components/PickerControl/PickerControl.styles.js +0 -74
  403. package/esm/components/PickerControl/PickerControl.styles.js.map +0 -1
  404. package/esm/components/PickerInputBase/PickerInputBase.styles.js +0 -15
  405. package/esm/components/PickerInputBase/PickerInputBase.styles.js.map +0 -1
  406. package/esm/components/TimeInput/TimeInput.styles.js +0 -27
  407. package/esm/components/TimeInput/TimeInput.styles.js.map +0 -1
  408. package/esm/components/WeekdaysRow/WeekdaysRow.styles.js +0 -15
  409. package/esm/components/WeekdaysRow/WeekdaysRow.styles.js.map +0 -1
  410. package/esm/components/YearLevel/YearLevel.styles.js +0 -11
  411. package/esm/components/YearLevel/YearLevel.styles.js.map +0 -1
  412. package/esm/components/YearLevelGroup/YearLevelGroup.styles.js +0 -13
  413. package/esm/components/YearLevelGroup/YearLevelGroup.styles.js.map +0 -1
  414. package/esm/components/YearsList/YearsList.styles.js +0 -18
  415. package/esm/components/YearsList/YearsList.styles.js.map +0 -1
  416. package/lib/components/Calendar/Calendar.styles.d.ts +0 -9
  417. package/lib/components/Calendar/Calendar.styles.d.ts.map +0 -1
  418. package/lib/components/CalendarHeader/CalendarHeader.styles.d.ts +0 -12
  419. package/lib/components/CalendarHeader/CalendarHeader.styles.d.ts.map +0 -1
  420. package/lib/components/CalendarHeader/Chevron.d.ts +0 -10
  421. package/lib/components/CalendarHeader/Chevron.d.ts.map +0 -1
  422. package/lib/components/DateTimePicker/DateTimePicker.styles.d.ts +0 -10
  423. package/lib/components/DateTimePicker/DateTimePicker.styles.d.ts.map +0 -1
  424. package/lib/components/Day/Day.styles.d.ts +0 -21
  425. package/lib/components/Day/Day.styles.d.ts.map +0 -1
  426. package/lib/components/DecadeLevel/DecadeLevel.styles.d.ts +0 -10
  427. package/lib/components/DecadeLevel/DecadeLevel.styles.d.ts.map +0 -1
  428. package/lib/components/DecadeLevelGroup/DecadeLevelGroup.styles.d.ts +0 -9
  429. package/lib/components/DecadeLevelGroup/DecadeLevelGroup.styles.d.ts.map +0 -1
  430. package/lib/components/Month/Month.styles.d.ts +0 -13
  431. package/lib/components/Month/Month.styles.d.ts.map +0 -1
  432. package/lib/components/MonthLevel/MonthLevel.styles.d.ts +0 -10
  433. package/lib/components/MonthLevel/MonthLevel.styles.d.ts.map +0 -1
  434. package/lib/components/MonthLevelGroup/MonthLevelGroup.styles.d.ts +0 -9
  435. package/lib/components/MonthLevelGroup/MonthLevelGroup.styles.d.ts.map +0 -1
  436. package/lib/components/MonthsList/MonthsList.styles.d.ts +0 -11
  437. package/lib/components/MonthsList/MonthsList.styles.d.ts.map +0 -1
  438. package/lib/components/PickerControl/PickerControl.styles.d.ts +0 -9
  439. package/lib/components/PickerControl/PickerControl.styles.d.ts.map +0 -1
  440. package/lib/components/PickerInputBase/PickerInputBase.styles.d.ts +0 -10
  441. package/lib/components/PickerInputBase/PickerInputBase.styles.d.ts.map +0 -1
  442. package/lib/components/TimeInput/TimeInput.styles.d.ts +0 -9
  443. package/lib/components/TimeInput/TimeInput.styles.d.ts.map +0 -1
  444. package/lib/components/WeekdaysRow/WeekdaysRow.styles.d.ts +0 -10
  445. package/lib/components/WeekdaysRow/WeekdaysRow.styles.d.ts.map +0 -1
  446. package/lib/components/YearLevel/YearLevel.styles.d.ts +0 -10
  447. package/lib/components/YearLevel/YearLevel.styles.d.ts.map +0 -1
  448. package/lib/components/YearLevelGroup/YearLevelGroup.styles.d.ts +0 -9
  449. package/lib/components/YearLevelGroup/YearLevelGroup.styles.d.ts.map +0 -1
  450. package/lib/components/YearsList/YearsList.styles.d.ts +0 -11
  451. package/lib/components/YearsList/YearsList.styles.d.ts.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"get-formatted-date.js","sources":["../../src/utils/get-formatted-date.ts"],"sourcesContent":["import dayjs from 'dayjs';\nimport { DatePickerType, DatePickerValue } from '../types';\n\ninterface GetFormattedDate<Type extends DatePickerType = 'default'> {\n type: Type;\n date: DatePickerValue<Type>;\n locale: string;\n format: string;\n labelSeparator: string;\n}\n\nexport function getFormattedDate<Type extends DatePickerType>({\n type,\n date,\n locale,\n format,\n labelSeparator,\n}: GetFormattedDate<Type>) {\n const formatDate = (value: Date) => dayjs(value).locale(locale).format(format);\n\n if (type === 'default') {\n return date === null ? '' : formatDate(date as Date);\n }\n\n if (type === 'multiple') {\n return (date as Date[]).map(formatDate).join(', ');\n }\n\n if (type === 'range') {\n if (date[0] && date[1]) {\n return `${formatDate(date[0])} ${labelSeparator} ${formatDate(date[1])}`;\n }\n\n if (date[0]) {\n return `${formatDate(date[0])} ${labelSeparator} `;\n }\n\n return '';\n }\n\n return '';\n}\n"],"names":["dayjs"],"mappings":";;;;;;;;;;AACO,SAAS,gBAAgB,CAAC;AACjC,EAAE,IAAI;AACN,EAAE,IAAI;AACN,EAAE,MAAM;AACR,EAAE,MAAM;AACR,EAAE,cAAc;AAChB,CAAC,EAAE;AACH,EAAE,MAAM,UAAU,GAAG,CAAC,KAAK,KAAKA,cAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;AAC3E,EAAE,IAAI,IAAI,KAAK,SAAS,EAAE;AAC1B,IAAI,OAAO,IAAI,KAAK,IAAI,GAAG,EAAE,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;AACjD,GAAG;AACH,EAAE,IAAI,IAAI,KAAK,UAAU,EAAE;AAC3B,IAAI,OAAO,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC3C,GAAG;AACH,EAAE,IAAI,IAAI,KAAK,OAAO,EAAE;AACxB,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE;AAC5B,MAAM,OAAO,CAAC,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/E,KAAK;AACL,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE;AACjB,MAAM,OAAO,CAAC,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC;AACzD,KAAK;AACL,IAAI,OAAO,EAAE,CAAC;AACd,GAAG;AACH,EAAE,OAAO,EAAE,CAAC;AACZ;;;;"}
1
+ {"version":3,"file":"get-formatted-date.js","sources":["../../src/utils/get-formatted-date.ts"],"sourcesContent":["import dayjs from 'dayjs';\nimport { DatePickerType, DatePickerValue } from '../types';\n\ninterface GetFormattedDate<Type extends DatePickerType = 'default'> {\n type: Type;\n date: DatePickerValue<Type>;\n locale: string;\n format: string;\n labelSeparator: string;\n}\n\nexport function getFormattedDate<Type extends DatePickerType>({\n type,\n date,\n locale,\n format,\n labelSeparator,\n}: GetFormattedDate<Type>) {\n const formatDate = (value: Date) => dayjs(value).locale(locale).format(format);\n\n if (type === 'default') {\n return date === null ? '' : formatDate(date as Date);\n }\n\n if (type === 'multiple') {\n return (date as Date[]).map(formatDate).join(', ');\n }\n\n if (type === 'range' && Array.isArray(date)) {\n if (date[0] && date[1]) {\n return `${formatDate(date[0])} ${labelSeparator} ${formatDate(date[1])}`;\n }\n\n if (date[0]) {\n return `${formatDate(date[0])} ${labelSeparator} `;\n }\n\n return '';\n }\n\n return '';\n}\n"],"names":["dayjs"],"mappings":";;;;;;;;;;AACO,SAAS,gBAAgB,CAAC;AACjC,EAAE,IAAI;AACN,EAAE,IAAI;AACN,EAAE,MAAM;AACR,EAAE,MAAM;AACR,EAAE,cAAc;AAChB,CAAC,EAAE;AACH,EAAE,MAAM,UAAU,GAAG,CAAC,KAAK,KAAKA,cAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;AAC3E,EAAE,IAAI,IAAI,KAAK,SAAS,EAAE;AAC1B,IAAI,OAAO,IAAI,KAAK,IAAI,GAAG,EAAE,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;AACjD,GAAG;AACH,EAAE,IAAI,IAAI,KAAK,UAAU,EAAE;AAC3B,IAAI,OAAO,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC3C,GAAG;AACH,EAAE,IAAI,IAAI,KAAK,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;AAC/C,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE;AAC5B,MAAM,OAAO,CAAC,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/E,KAAK;AACL,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE;AACjB,MAAM,OAAO,CAAC,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC;AACzD,KAAK;AACL,IAAI,OAAO,EAAE,CAAC;AACd,GAAG;AACH,EAAE,OAAO,EAAE,CAAC;AACZ;;;;"}
@@ -95,12 +95,12 @@ function focusOnNextFocusableControl({
95
95
  cellIndex,
96
96
  size
97
97
  }) {
98
- var _a, _b;
98
+ var _a, _b, _c;
99
99
  const nextIndex = getNextIndex({ direction, size, rowIndex, cellIndex, levelIndex });
100
100
  if (!nextIndex) {
101
101
  return;
102
102
  }
103
- const controlToFocus = (_b = (_a = controlsRef.current[nextIndex.levelIndex]) == null ? void 0 : _a[nextIndex.rowIndex]) == null ? void 0 : _b[nextIndex.cellIndex];
103
+ const controlToFocus = (_c = (_b = (_a = controlsRef.current) == null ? void 0 : _a[nextIndex.levelIndex]) == null ? void 0 : _b[nextIndex.rowIndex]) == null ? void 0 : _c[nextIndex.cellIndex];
104
104
  if (!controlToFocus) {
105
105
  return;
106
106
  }
@@ -132,7 +132,8 @@ function getDirection(key) {
132
132
  }
133
133
  }
134
134
  function getControlsSize(controlsRef) {
135
- return controlsRef.current.map((column) => column.map((row) => row.length));
135
+ var _a;
136
+ return (_a = controlsRef.current) == null ? void 0 : _a.map((column) => column.map((row) => row.length));
136
137
  }
137
138
  function handleControlKeyDown({
138
139
  controlsRef,
@@ -1 +1 @@
1
- {"version":3,"file":"handle-control-key-down.js","sources":["../../src/utils/handle-control-key-down.ts"],"sourcesContent":["import { RefObject } from 'react';\n\ntype ControlsRef = RefObject<HTMLButtonElement[][][]>;\ntype Direction = 'up' | 'down' | 'left' | 'right';\n\ntype NextIndexInput = Omit<ShiftFocusInput, 'controlsRef'>;\n\nfunction getNextIndex({ direction, levelIndex, rowIndex, cellIndex, size }: NextIndexInput) {\n switch (direction) {\n case 'up':\n if (levelIndex === 0 && rowIndex === 0) {\n return null;\n }\n if (rowIndex === 0) {\n return {\n levelIndex: levelIndex - 1,\n rowIndex:\n cellIndex <= size[levelIndex - 1][size[levelIndex - 1].length - 1] - 1\n ? size[levelIndex - 1].length - 1\n : size[levelIndex - 1].length - 2,\n cellIndex,\n };\n }\n return {\n levelIndex,\n rowIndex: rowIndex - 1,\n cellIndex,\n };\n\n case 'down':\n if (rowIndex === size[levelIndex].length - 1) {\n return {\n levelIndex: levelIndex + 1,\n rowIndex: 0,\n cellIndex,\n };\n }\n if (\n rowIndex === size[levelIndex].length - 2 &&\n cellIndex >= size[levelIndex][size[levelIndex].length - 1]\n ) {\n return {\n levelIndex: levelIndex + 1,\n rowIndex: 0,\n cellIndex,\n };\n }\n return {\n levelIndex,\n rowIndex: rowIndex + 1,\n cellIndex,\n };\n\n case 'left':\n if (levelIndex === 0 && rowIndex === 0 && cellIndex === 0) {\n return null;\n }\n if (rowIndex === 0 && cellIndex === 0) {\n return {\n levelIndex: levelIndex - 1,\n rowIndex: size[levelIndex - 1].length - 1,\n cellIndex: size[levelIndex - 1][size[levelIndex - 1].length - 1] - 1,\n };\n }\n if (cellIndex === 0) {\n return {\n levelIndex,\n rowIndex: rowIndex - 1,\n cellIndex: size[levelIndex][rowIndex - 1] - 1,\n };\n }\n return {\n levelIndex,\n rowIndex,\n cellIndex: cellIndex - 1,\n };\n\n case 'right':\n if (\n rowIndex === size[levelIndex].length - 1 &&\n cellIndex === size[levelIndex][rowIndex] - 1\n ) {\n return {\n levelIndex: levelIndex + 1,\n rowIndex: 0,\n cellIndex: 0,\n };\n }\n if (cellIndex === size[levelIndex][rowIndex] - 1) {\n return {\n levelIndex,\n rowIndex: rowIndex + 1,\n cellIndex: 0,\n };\n }\n return {\n levelIndex,\n rowIndex,\n cellIndex: cellIndex + 1,\n };\n\n default:\n return { levelIndex, rowIndex, cellIndex };\n }\n}\n\ninterface ShiftFocusInput {\n controlsRef: ControlsRef;\n direction: Direction;\n levelIndex: number;\n rowIndex: number;\n cellIndex: number;\n size: number[][];\n}\n\nfunction focusOnNextFocusableControl({\n controlsRef,\n direction,\n levelIndex,\n rowIndex,\n cellIndex,\n size,\n}: ShiftFocusInput) {\n const nextIndex = getNextIndex({ direction, size, rowIndex, cellIndex, levelIndex });\n\n if (!nextIndex) {\n return;\n }\n\n const controlToFocus =\n controlsRef.current[nextIndex.levelIndex]?.[nextIndex.rowIndex]?.[nextIndex.cellIndex];\n\n if (!controlToFocus) {\n return;\n }\n\n if (\n controlToFocus.disabled ||\n controlToFocus.getAttribute('data-hidden') ||\n controlToFocus.getAttribute('data-outside')\n ) {\n focusOnNextFocusableControl({\n controlsRef,\n direction,\n levelIndex: nextIndex.levelIndex,\n cellIndex: nextIndex.cellIndex,\n rowIndex: nextIndex.rowIndex,\n size,\n });\n } else {\n controlToFocus.focus();\n }\n}\n\nfunction getDirection(key: KeyboardEvent['key']): Direction {\n switch (key) {\n case 'ArrowDown':\n return 'down';\n case 'ArrowUp':\n return 'up';\n case 'ArrowRight':\n return 'right';\n case 'ArrowLeft':\n return 'left';\n default:\n return null;\n }\n}\n\nfunction getControlsSize(controlsRef: ControlsRef) {\n return controlsRef.current.map((column) => column.map((row) => row.length));\n}\n\ninterface HandleControlKeyDownInput {\n controlsRef: ControlsRef;\n levelIndex: number;\n rowIndex: number;\n cellIndex: number;\n event: React.KeyboardEvent<HTMLButtonElement>;\n}\n\nexport function handleControlKeyDown({\n controlsRef,\n levelIndex,\n rowIndex,\n cellIndex,\n event,\n}: HandleControlKeyDownInput) {\n const direction = getDirection(event.key);\n\n if (direction) {\n event.preventDefault();\n\n const size = getControlsSize(controlsRef);\n\n focusOnNextFocusableControl({\n controlsRef,\n direction,\n levelIndex,\n rowIndex,\n cellIndex,\n size,\n });\n }\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"handle-control-key-down.js","sources":["../../src/utils/handle-control-key-down.ts"],"sourcesContent":["import { RefObject } from 'react';\n\ntype ControlsRef = RefObject<HTMLButtonElement[][][]>;\ntype Direction = 'up' | 'down' | 'left' | 'right';\n\ntype NextIndexInput = Omit<ShiftFocusInput, 'controlsRef'>;\n\nfunction getNextIndex({ direction, levelIndex, rowIndex, cellIndex, size }: NextIndexInput) {\n switch (direction) {\n case 'up':\n if (levelIndex === 0 && rowIndex === 0) {\n return null;\n }\n if (rowIndex === 0) {\n return {\n levelIndex: levelIndex - 1,\n rowIndex:\n cellIndex <= size[levelIndex - 1][size[levelIndex - 1].length - 1] - 1\n ? size[levelIndex - 1].length - 1\n : size[levelIndex - 1].length - 2,\n cellIndex,\n };\n }\n return {\n levelIndex,\n rowIndex: rowIndex - 1,\n cellIndex,\n };\n\n case 'down':\n if (rowIndex === size[levelIndex].length - 1) {\n return {\n levelIndex: levelIndex + 1,\n rowIndex: 0,\n cellIndex,\n };\n }\n if (\n rowIndex === size[levelIndex].length - 2 &&\n cellIndex >= size[levelIndex][size[levelIndex].length - 1]\n ) {\n return {\n levelIndex: levelIndex + 1,\n rowIndex: 0,\n cellIndex,\n };\n }\n return {\n levelIndex,\n rowIndex: rowIndex + 1,\n cellIndex,\n };\n\n case 'left':\n if (levelIndex === 0 && rowIndex === 0 && cellIndex === 0) {\n return null;\n }\n if (rowIndex === 0 && cellIndex === 0) {\n return {\n levelIndex: levelIndex - 1,\n rowIndex: size[levelIndex - 1].length - 1,\n cellIndex: size[levelIndex - 1][size[levelIndex - 1].length - 1] - 1,\n };\n }\n if (cellIndex === 0) {\n return {\n levelIndex,\n rowIndex: rowIndex - 1,\n cellIndex: size[levelIndex][rowIndex - 1] - 1,\n };\n }\n return {\n levelIndex,\n rowIndex,\n cellIndex: cellIndex - 1,\n };\n\n case 'right':\n if (\n rowIndex === size[levelIndex].length - 1 &&\n cellIndex === size[levelIndex][rowIndex] - 1\n ) {\n return {\n levelIndex: levelIndex + 1,\n rowIndex: 0,\n cellIndex: 0,\n };\n }\n if (cellIndex === size[levelIndex][rowIndex] - 1) {\n return {\n levelIndex,\n rowIndex: rowIndex + 1,\n cellIndex: 0,\n };\n }\n return {\n levelIndex,\n rowIndex,\n cellIndex: cellIndex + 1,\n };\n\n default:\n return { levelIndex, rowIndex, cellIndex };\n }\n}\n\ninterface ShiftFocusInput {\n controlsRef: ControlsRef;\n direction: Direction;\n levelIndex: number;\n rowIndex: number;\n cellIndex: number;\n size: number[][];\n}\n\nfunction focusOnNextFocusableControl({\n controlsRef,\n direction,\n levelIndex,\n rowIndex,\n cellIndex,\n size,\n}: ShiftFocusInput) {\n const nextIndex = getNextIndex({ direction, size, rowIndex, cellIndex, levelIndex });\n\n if (!nextIndex) {\n return;\n }\n\n const controlToFocus =\n controlsRef.current?.[nextIndex.levelIndex]?.[nextIndex.rowIndex]?.[nextIndex.cellIndex];\n\n if (!controlToFocus) {\n return;\n }\n\n if (\n controlToFocus.disabled ||\n controlToFocus.getAttribute('data-hidden') ||\n controlToFocus.getAttribute('data-outside')\n ) {\n focusOnNextFocusableControl({\n controlsRef,\n direction,\n levelIndex: nextIndex.levelIndex,\n cellIndex: nextIndex.cellIndex,\n rowIndex: nextIndex.rowIndex,\n size,\n });\n } else {\n controlToFocus.focus();\n }\n}\n\nfunction getDirection(key: KeyboardEvent['key']): Direction {\n switch (key) {\n case 'ArrowDown':\n return 'down';\n case 'ArrowUp':\n return 'up';\n case 'ArrowRight':\n return 'right';\n case 'ArrowLeft':\n return 'left';\n default:\n return null!;\n }\n}\n\nfunction getControlsSize(controlsRef: ControlsRef) {\n return controlsRef.current?.map((column) => column.map((row) => row.length));\n}\n\ninterface HandleControlKeyDownInput {\n controlsRef: ControlsRef;\n levelIndex: number;\n rowIndex: number;\n cellIndex: number;\n event: React.KeyboardEvent<HTMLButtonElement>;\n}\n\nexport function handleControlKeyDown({\n controlsRef,\n levelIndex,\n rowIndex,\n cellIndex,\n event,\n}: HandleControlKeyDownInput) {\n const direction = getDirection(event.key);\n\n if (direction) {\n event.preventDefault();\n\n const size = getControlsSize(controlsRef)!;\n\n focusOnNextFocusableControl({\n controlsRef,\n direction,\n levelIndex,\n rowIndex,\n cellIndex,\n size,\n });\n }\n}\n"],"names":[],"mappings":"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"}
@@ -1,9 +1,8 @@
1
1
  import dayjs from 'dayjs';
2
- import React, { forwardRef } from 'react';
3
- import { useComponentDefaultProps, Box } from '@mantine/core';
2
+ import React from 'react';
3
+ import { factory, useProps, useResolvedStylesApi, Box } from '@mantine/core';
4
4
  import { useUncontrolled } from '@mantine/hooks';
5
5
  import { clampLevel } from './clamp-level/clamp-level.js';
6
- import useStyles from './Calendar.styles.js';
7
6
  import { MonthLevelGroup } from '../MonthLevelGroup/MonthLevelGroup.js';
8
7
  import { YearLevelGroup } from '../YearLevelGroup/YearLevelGroup.js';
9
8
  import { DecadeLevelGroup } from '../DecadeLevelGroup/DecadeLevelGroup.js';
@@ -42,9 +41,11 @@ const defaultProps = {
42
41
  __updateDateOnYearSelect: true,
43
42
  __updateDateOnMonthSelect: true
44
43
  };
45
- const Calendar = forwardRef((props, ref) => {
46
- const _a = useComponentDefaultProps("Calendar", defaultProps, props), {
47
- maxLevel,
44
+ const Calendar = factory((_props, ref) => {
45
+ const props = useProps("Calendar", defaultProps, _props);
46
+ const _a = props, {
47
+ vars,
48
+ maxLevel: maxLevel,
48
49
  minLevel,
49
50
  defaultLevel,
50
51
  level,
@@ -61,7 +62,7 @@ const Calendar = forwardRef((props, ref) => {
61
62
  onMonthMouseEnter,
62
63
  __updateDateOnYearSelect,
63
64
  __updateDateOnMonthSelect,
64
- firstDayOfWeek,
65
+ firstDayOfWeek: firstDayOfWeek,
65
66
  weekdayFormat,
66
67
  weekendDays,
67
68
  getDayProps,
@@ -76,21 +77,19 @@ const Calendar = forwardRef((props, ref) => {
76
77
  __onDayClick,
77
78
  __onDayMouseEnter,
78
79
  withCellSpacing,
79
- monthsListFormat,
80
+ monthsListFormat: monthsListFormat,
80
81
  getMonthControlProps,
81
82
  yearLabelFormat,
82
- yearsListFormat,
83
+ yearsListFormat: yearsListFormat,
83
84
  getYearControlProps,
84
85
  decadeLabelFormat,
86
+ classNames: classNames,
87
+ styles,
88
+ unstyled,
85
89
  minDate,
86
90
  maxDate,
87
91
  locale,
88
- className,
89
- classNames,
90
- styles,
91
92
  __staticSelector,
92
- unstyled,
93
- variant,
94
93
  size,
95
94
  __preventFocus,
96
95
  __stopPropagation,
@@ -102,6 +101,8 @@ const Calendar = forwardRef((props, ref) => {
102
101
  onPreviousMonth,
103
102
  static: isStatic
104
103
  } = _a, others = __objRest(_a, [
104
+ "vars",
105
+ // CalendarLevel props
105
106
  "maxLevel",
106
107
  "minLevel",
107
108
  "defaultLevel",
@@ -119,6 +120,7 @@ const Calendar = forwardRef((props, ref) => {
119
120
  "onMonthMouseEnter",
120
121
  "__updateDateOnYearSelect",
121
122
  "__updateDateOnMonthSelect",
123
+ // MonthLevelGroup props
122
124
  "firstDayOfWeek",
123
125
  "weekdayFormat",
124
126
  "weekendDays",
@@ -134,21 +136,22 @@ const Calendar = forwardRef((props, ref) => {
134
136
  "__onDayClick",
135
137
  "__onDayMouseEnter",
136
138
  "withCellSpacing",
139
+ // YearLevelGroup props
137
140
  "monthsListFormat",
138
141
  "getMonthControlProps",
139
142
  "yearLabelFormat",
143
+ // DecadeLevelGroup props
140
144
  "yearsListFormat",
141
145
  "getYearControlProps",
142
146
  "decadeLabelFormat",
147
+ // Other props
148
+ "classNames",
149
+ "styles",
150
+ "unstyled",
143
151
  "minDate",
144
152
  "maxDate",
145
153
  "locale",
146
- "className",
147
- "classNames",
148
- "styles",
149
154
  "__staticSelector",
150
- "unstyled",
151
- "variant",
152
155
  "size",
153
156
  "__preventFocus",
154
157
  "__stopPropagation",
@@ -160,13 +163,10 @@ const Calendar = forwardRef((props, ref) => {
160
163
  "onPreviousMonth",
161
164
  "static"
162
165
  ]);
163
- const { classes, cx } = useStyles(null, {
164
- name: ["Calendar", __staticSelector],
166
+ const { resolvedClassNames, resolvedStyles } = useResolvedStylesApi({
165
167
  classNames,
166
168
  styles,
167
- unstyled,
168
- variant,
169
- size
169
+ props
170
170
  });
171
171
  const [_level, setLevel] = useUncontrolled({
172
172
  value: level ? clampLevel(level, minLevel, maxLevel) : void 0,
@@ -182,14 +182,13 @@ const Calendar = forwardRef((props, ref) => {
182
182
  });
183
183
  const stylesApiProps = {
184
184
  __staticSelector: __staticSelector || "Calendar",
185
- styles,
186
- classNames,
185
+ styles: resolvedStyles,
186
+ classNames: resolvedClassNames,
187
187
  unstyled,
188
- variant,
189
188
  size
190
189
  };
191
190
  const _columnsToScroll = columnsToScroll || numberOfColumns || 1;
192
- const currentDate = _date || new Date();
191
+ const currentDate = _date || /* @__PURE__ */ new Date();
193
192
  const handleNextMonth = () => {
194
193
  const nextDate = dayjs(currentDate).add(_columnsToScroll, "month").toDate();
195
194
  onNextMonth == null ? void 0 : onNextMonth(nextDate);
@@ -220,93 +219,100 @@ const Calendar = forwardRef((props, ref) => {
220
219
  onPreviousDecade == null ? void 0 : onPreviousDecade(nextDate);
221
220
  setDate(nextDate);
222
221
  };
223
- return /* @__PURE__ */ React.createElement(Box, __spreadValues({
224
- className: cx(classes.calendar, className),
225
- ref
226
- }, others), _level === "month" && /* @__PURE__ */ React.createElement(MonthLevelGroup, __spreadValues({
227
- month: currentDate,
228
- minDate,
229
- maxDate,
230
- firstDayOfWeek,
231
- weekdayFormat,
232
- weekendDays,
233
- getDayProps,
234
- excludeDate,
235
- renderDay,
236
- hideOutsideDates,
237
- hideWeekdays,
238
- getDayAriaLabel,
239
- onNext: handleNextMonth,
240
- onPrevious: handlePreviousMonth,
241
- hasNextLevel: maxLevel !== "month",
242
- onLevelClick: () => setLevel("year"),
243
- numberOfColumns,
244
- locale,
245
- levelControlAriaLabel: ariaLabels == null ? void 0 : ariaLabels.monthLevelControl,
246
- nextLabel: ariaLabels == null ? void 0 : ariaLabels.nextMonth,
247
- nextIcon,
248
- previousLabel: ariaLabels == null ? void 0 : ariaLabels.previousMonth,
249
- previousIcon,
250
- monthLabelFormat,
251
- __onDayClick,
252
- __onDayMouseEnter,
253
- __preventFocus,
254
- __stopPropagation,
255
- static: isStatic,
256
- withCellSpacing
257
- }, stylesApiProps)), _level === "year" && /* @__PURE__ */ React.createElement(YearLevelGroup, __spreadValues({
258
- year: currentDate,
259
- numberOfColumns,
260
- minDate,
261
- maxDate,
262
- monthsListFormat,
263
- getMonthControlProps,
264
- locale,
265
- onNext: handleNextYear,
266
- onPrevious: handlePreviousYear,
267
- hasNextLevel: maxLevel !== "month" && maxLevel !== "year",
268
- onLevelClick: () => setLevel("decade"),
269
- levelControlAriaLabel: ariaLabels == null ? void 0 : ariaLabels.yearLevelControl,
270
- nextLabel: ariaLabels == null ? void 0 : ariaLabels.nextYear,
271
- nextIcon,
272
- previousLabel: ariaLabels == null ? void 0 : ariaLabels.previousYear,
273
- previousIcon,
274
- yearLabelFormat,
275
- __onControlMouseEnter: onMonthMouseEnter,
276
- __onControlClick: (_event, payload) => {
277
- __updateDateOnMonthSelect && setDate(payload);
278
- setLevel(clampLevel("month", minLevel, maxLevel));
279
- onMonthSelect == null ? void 0 : onMonthSelect(payload);
280
- },
281
- __preventFocus,
282
- __stopPropagation,
283
- withCellSpacing
284
- }, stylesApiProps)), _level === "decade" && /* @__PURE__ */ React.createElement(DecadeLevelGroup, __spreadValues({
285
- decade: currentDate,
286
- minDate,
287
- maxDate,
288
- yearsListFormat,
289
- getYearControlProps,
290
- locale,
291
- onNext: handleNextDecade,
292
- onPrevious: handlePreviousDecade,
293
- numberOfColumns,
294
- nextLabel: ariaLabels == null ? void 0 : ariaLabels.nextDecade,
295
- nextIcon,
296
- previousLabel: ariaLabels == null ? void 0 : ariaLabels.previousDecade,
297
- previousIcon,
298
- decadeLabelFormat,
299
- __onControlMouseEnter: onYearMouseEnter,
300
- __onControlClick: (_event, payload) => {
301
- __updateDateOnYearSelect && setDate(payload);
302
- setLevel(clampLevel("year", minLevel, maxLevel));
303
- onYearSelect == null ? void 0 : onYearSelect(payload);
304
- },
305
- __preventFocus,
306
- __stopPropagation,
307
- withCellSpacing
308
- }, stylesApiProps)));
222
+ return /* @__PURE__ */ React.createElement(Box, __spreadValues({ ref, size, "data-calendar": true }, others), _level === "month" && /* @__PURE__ */ React.createElement(
223
+ MonthLevelGroup,
224
+ __spreadValues({
225
+ month: currentDate,
226
+ minDate,
227
+ maxDate,
228
+ firstDayOfWeek,
229
+ weekdayFormat,
230
+ weekendDays,
231
+ getDayProps,
232
+ excludeDate,
233
+ renderDay,
234
+ hideOutsideDates,
235
+ hideWeekdays,
236
+ getDayAriaLabel,
237
+ onNext: handleNextMonth,
238
+ onPrevious: handlePreviousMonth,
239
+ hasNextLevel: maxLevel !== "month",
240
+ onLevelClick: () => setLevel("year"),
241
+ numberOfColumns,
242
+ locale,
243
+ levelControlAriaLabel: ariaLabels == null ? void 0 : ariaLabels.monthLevelControl,
244
+ nextLabel: ariaLabels == null ? void 0 : ariaLabels.nextMonth,
245
+ nextIcon,
246
+ previousLabel: ariaLabels == null ? void 0 : ariaLabels.previousMonth,
247
+ previousIcon,
248
+ monthLabelFormat,
249
+ __onDayClick,
250
+ __onDayMouseEnter,
251
+ __preventFocus,
252
+ __stopPropagation,
253
+ static: isStatic,
254
+ withCellSpacing
255
+ }, stylesApiProps)
256
+ ), _level === "year" && /* @__PURE__ */ React.createElement(
257
+ YearLevelGroup,
258
+ __spreadValues({
259
+ year: currentDate,
260
+ numberOfColumns,
261
+ minDate,
262
+ maxDate,
263
+ monthsListFormat,
264
+ getMonthControlProps,
265
+ locale,
266
+ onNext: handleNextYear,
267
+ onPrevious: handlePreviousYear,
268
+ hasNextLevel: maxLevel !== "month" && maxLevel !== "year",
269
+ onLevelClick: () => setLevel("decade"),
270
+ levelControlAriaLabel: ariaLabels == null ? void 0 : ariaLabels.yearLevelControl,
271
+ nextLabel: ariaLabels == null ? void 0 : ariaLabels.nextYear,
272
+ nextIcon,
273
+ previousLabel: ariaLabels == null ? void 0 : ariaLabels.previousYear,
274
+ previousIcon,
275
+ yearLabelFormat,
276
+ __onControlMouseEnter: onMonthMouseEnter,
277
+ __onControlClick: (_event, payload) => {
278
+ __updateDateOnMonthSelect && setDate(payload);
279
+ setLevel(clampLevel("month", minLevel, maxLevel));
280
+ onMonthSelect == null ? void 0 : onMonthSelect(payload);
281
+ },
282
+ __preventFocus,
283
+ __stopPropagation,
284
+ withCellSpacing
285
+ }, stylesApiProps)
286
+ ), _level === "decade" && /* @__PURE__ */ React.createElement(
287
+ DecadeLevelGroup,
288
+ __spreadValues({
289
+ decade: currentDate,
290
+ minDate,
291
+ maxDate,
292
+ yearsListFormat,
293
+ getYearControlProps,
294
+ locale,
295
+ onNext: handleNextDecade,
296
+ onPrevious: handlePreviousDecade,
297
+ numberOfColumns,
298
+ nextLabel: ariaLabels == null ? void 0 : ariaLabels.nextDecade,
299
+ nextIcon,
300
+ previousLabel: ariaLabels == null ? void 0 : ariaLabels.previousDecade,
301
+ previousIcon,
302
+ decadeLabelFormat,
303
+ __onControlMouseEnter: onYearMouseEnter,
304
+ __onControlClick: (_event, payload) => {
305
+ __updateDateOnYearSelect && setDate(payload);
306
+ setLevel(clampLevel("year", minLevel, maxLevel));
307
+ onYearSelect == null ? void 0 : onYearSelect(payload);
308
+ },
309
+ __preventFocus,
310
+ __stopPropagation,
311
+ withCellSpacing
312
+ }, stylesApiProps)
313
+ ));
309
314
  });
315
+ Calendar.classes = __spreadValues(__spreadValues(__spreadValues({}, DecadeLevelGroup.classes), YearLevelGroup.classes), MonthLevelGroup.classes);
310
316
  Calendar.displayName = "@mantine/dates/Calendar";
311
317
 
312
318
  export { Calendar };
@@ -1 +1 @@
1
- {"version":3,"file":"Calendar.js","sources":["../../../src/components/Calendar/Calendar.tsx"],"sourcesContent":["/* eslint-disable react/no-unused-prop-types */\nimport dayjs from 'dayjs';\nimport React, { forwardRef } from 'react';\nimport { Box, DefaultProps, Selectors, useComponentDefaultProps } from '@mantine/core';\nimport { useUncontrolled } from '@mantine/hooks';\nimport { MonthLevelGroup, MonthLevelGroupStylesNames } from '../MonthLevelGroup';\nimport { YearLevelGroup, YearLevelGroupStylesNames } from '../YearLevelGroup';\nimport { DecadeLevelGroup, DecadeLevelGroupStylesNames } from '../DecadeLevelGroup';\nimport { CalendarLevel } from '../../types';\nimport { clampLevel } from './clamp-level/clamp-level';\nimport useStyles from './Calendar.styles';\nimport { MonthLevelSettings } from '../MonthLevel';\nimport { YearLevelSettings } from '../YearLevel';\nimport { DecadeLevelSettings } from '../DecadeLevel';\n\nexport type CalendarStylesNames =\n | Selectors<typeof useStyles>\n | DecadeLevelGroupStylesNames\n | YearLevelGroupStylesNames\n | MonthLevelGroupStylesNames;\n\nexport interface CalendarAriaLabels {\n monthLevelControl?: string;\n yearLevelControl?: string;\n\n nextMonth?: string;\n previousMonth?: string;\n\n nextYear?: string;\n previousYear?: string;\n\n nextDecade?: string;\n previousDecade?: string;\n}\n\ntype OmittedSettings =\n | 'onNext'\n | 'onPrevious'\n | 'onLevelClick'\n | 'withNext'\n | 'withPrevious'\n | 'nextDisabled'\n | 'previousDisabled';\n\nexport interface CalendarSettings\n extends Omit<DecadeLevelSettings, OmittedSettings>,\n Omit<YearLevelSettings, OmittedSettings>,\n Omit<MonthLevelSettings, OmittedSettings> {\n /** Initial level displayed to the user (decade, year, month), used for uncontrolled component */\n defaultLevel?: CalendarLevel;\n\n /** Current level displayed to the user (decade, year, month), used for controlled component */\n level?: CalendarLevel;\n\n /** Called when level changes */\n onLevelChange?(level: CalendarLevel): void;\n\n /** Called when user clicks year on decade level */\n onYearSelect?(date: Date): void;\n\n /** Called when user clicks month on year level */\n onMonthSelect?(date: Date): void;\n\n /** Called when mouse enters year control */\n onYearMouseEnter?(event: React.MouseEvent<HTMLButtonElement>, date: Date): void;\n\n /** Called when mouse enters month control */\n onMonthMouseEnter?(event: React.MouseEvent<HTMLButtonElement>, date: Date): void;\n}\n\nexport interface CalendarSystemProps\n extends DefaultProps<CalendarStylesNames>,\n Omit<React.ComponentPropsWithRef<'div'>, 'value' | 'defaultValue' | 'onChange'> {\n variant?: string;\n}\n\nexport interface CalendarBaseProps {\n __staticSelector?: string;\n\n /** Prevents focus shift when buttons are clicked */\n __preventFocus?: boolean;\n\n /** Determines whether date should be updated when year control is clicked */\n __updateDateOnYearSelect?: boolean;\n\n /** Determines whether date should be updated when month control is clicked */\n __updateDateOnMonthSelect?: boolean;\n\n /** Initial date that is displayed, used for uncontrolled component */\n defaultDate?: Date;\n\n /** Date that is displayed, used for controlled component */\n date?: Date;\n\n /** Called when date changes */\n onDateChange?(date: Date): void;\n\n /** Number of columns to render next to each other */\n numberOfColumns?: number;\n\n /** Number of columns to scroll when user clicks next/prev buttons, defaults to numberOfColumns */\n columnsToScroll?: number;\n\n /** aria-label attributes for controls on different levels */\n ariaLabels?: CalendarAriaLabels;\n\n /** Called when next decade button is clicked */\n onNextDecade?(date: Date): void;\n\n /** Called when previous decade button is clicked */\n onPreviousDecade?(date: Date): void;\n\n /** Called when next year button is clicked */\n onNextYear?(date: Date): void;\n\n /** Called when previous year button is clicked */\n onPreviousYear?(date: Date): void;\n\n /** Called when next month button is clicked */\n onNextMonth?(date: Date): void;\n\n /** Called when previous month button is clicked */\n onPreviousMonth?(date: Date): void;\n}\n\nexport interface CalendarProps extends CalendarSettings, CalendarBaseProps, CalendarSystemProps {\n /** Max level that user can go up to (decade, year, month), defaults to decade */\n maxLevel?: CalendarLevel;\n\n /** Min level that user can go down to (decade, year, month), defaults to month */\n minLevel?: CalendarLevel;\n\n /** Determines whether days should be static, static days can be used to display month if it is not expected that user will interact with the component in any way */\n static?: boolean;\n}\n\nconst defaultProps: Partial<CalendarProps> = {\n maxLevel: 'decade',\n minLevel: 'month',\n __updateDateOnYearSelect: true,\n __updateDateOnMonthSelect: true,\n};\n\nexport const Calendar = forwardRef<HTMLDivElement, CalendarProps>((props, ref) => {\n const {\n // CalendarLevel props\n maxLevel,\n minLevel,\n defaultLevel,\n level,\n onLevelChange,\n date,\n defaultDate,\n onDateChange,\n numberOfColumns,\n columnsToScroll,\n ariaLabels,\n onYearSelect,\n onMonthSelect,\n onYearMouseEnter,\n onMonthMouseEnter,\n __updateDateOnYearSelect,\n __updateDateOnMonthSelect,\n\n // MonthLevelGroup props\n firstDayOfWeek,\n weekdayFormat,\n weekendDays,\n getDayProps,\n excludeDate,\n renderDay,\n hideOutsideDates,\n hideWeekdays,\n getDayAriaLabel,\n monthLabelFormat,\n nextIcon,\n previousIcon,\n __onDayClick,\n __onDayMouseEnter,\n withCellSpacing,\n\n // YearLevelGroup props\n monthsListFormat,\n getMonthControlProps,\n yearLabelFormat,\n\n // DecadeLevelGroup props\n yearsListFormat,\n getYearControlProps,\n decadeLabelFormat,\n\n // Other props\n minDate,\n maxDate,\n locale,\n className,\n classNames,\n styles,\n __staticSelector,\n unstyled,\n variant,\n size,\n __preventFocus,\n __stopPropagation,\n onNextDecade,\n onPreviousDecade,\n onNextYear,\n onPreviousYear,\n onNextMonth,\n onPreviousMonth,\n static: isStatic,\n ...others\n } = useComponentDefaultProps('Calendar', defaultProps, props);\n\n const { classes, cx } = useStyles(null, {\n name: ['Calendar', __staticSelector],\n classNames,\n styles,\n unstyled,\n variant,\n size,\n });\n\n const [_level, setLevel] = useUncontrolled({\n value: level ? clampLevel(level, minLevel, maxLevel) : undefined,\n defaultValue: defaultLevel ? clampLevel(defaultLevel, minLevel, maxLevel) : undefined,\n finalValue: clampLevel(undefined, minLevel, maxLevel),\n onChange: onLevelChange,\n });\n\n const [_date, setDate] = useUncontrolled({\n value: date,\n defaultValue: defaultDate,\n finalValue: null,\n onChange: onDateChange,\n });\n\n const stylesApiProps = {\n __staticSelector: __staticSelector || 'Calendar',\n styles,\n classNames,\n unstyled,\n variant,\n size,\n };\n\n const _columnsToScroll = columnsToScroll || numberOfColumns || 1;\n const currentDate = _date || new Date();\n\n const handleNextMonth = () => {\n const nextDate = dayjs(currentDate).add(_columnsToScroll, 'month').toDate();\n onNextMonth?.(nextDate);\n setDate(nextDate);\n };\n\n const handlePreviousMonth = () => {\n const nextDate = dayjs(currentDate).subtract(_columnsToScroll, 'month').toDate();\n onPreviousMonth?.(nextDate);\n setDate(nextDate);\n };\n\n const handleNextYear = () => {\n const nextDate = dayjs(currentDate).add(_columnsToScroll, 'year').toDate();\n onNextYear?.(nextDate);\n setDate(nextDate);\n };\n\n const handlePreviousYear = () => {\n const nextDate = dayjs(currentDate).subtract(_columnsToScroll, 'year').toDate();\n onPreviousYear?.(nextDate);\n setDate(nextDate);\n };\n\n const handleNextDecade = () => {\n const nextDate = dayjs(currentDate)\n .add(10 * _columnsToScroll, 'year')\n .toDate();\n onNextDecade?.(nextDate);\n setDate(nextDate);\n };\n\n const handlePreviousDecade = () => {\n const nextDate = dayjs(currentDate)\n .subtract(10 * _columnsToScroll, 'year')\n .toDate();\n onPreviousDecade?.(nextDate);\n setDate(nextDate);\n };\n\n return (\n <Box className={cx(classes.calendar, className)} ref={ref} {...others}>\n {_level === 'month' && (\n <MonthLevelGroup\n month={currentDate}\n minDate={minDate}\n maxDate={maxDate}\n firstDayOfWeek={firstDayOfWeek}\n weekdayFormat={weekdayFormat}\n weekendDays={weekendDays}\n getDayProps={getDayProps}\n excludeDate={excludeDate}\n renderDay={renderDay}\n hideOutsideDates={hideOutsideDates}\n hideWeekdays={hideWeekdays}\n getDayAriaLabel={getDayAriaLabel}\n onNext={handleNextMonth}\n onPrevious={handlePreviousMonth}\n hasNextLevel={maxLevel !== 'month'}\n onLevelClick={() => setLevel('year')}\n numberOfColumns={numberOfColumns}\n locale={locale}\n levelControlAriaLabel={ariaLabels?.monthLevelControl}\n nextLabel={ariaLabels?.nextMonth}\n nextIcon={nextIcon}\n previousLabel={ariaLabels?.previousMonth}\n previousIcon={previousIcon}\n monthLabelFormat={monthLabelFormat}\n __onDayClick={__onDayClick}\n __onDayMouseEnter={__onDayMouseEnter}\n __preventFocus={__preventFocus}\n __stopPropagation={__stopPropagation}\n static={isStatic}\n withCellSpacing={withCellSpacing}\n {...stylesApiProps}\n />\n )}\n\n {_level === 'year' && (\n <YearLevelGroup\n year={currentDate}\n numberOfColumns={numberOfColumns}\n minDate={minDate}\n maxDate={maxDate}\n monthsListFormat={monthsListFormat}\n getMonthControlProps={getMonthControlProps}\n locale={locale}\n onNext={handleNextYear}\n onPrevious={handlePreviousYear}\n hasNextLevel={maxLevel !== 'month' && maxLevel !== 'year'}\n onLevelClick={() => setLevel('decade')}\n levelControlAriaLabel={ariaLabels?.yearLevelControl}\n nextLabel={ariaLabels?.nextYear}\n nextIcon={nextIcon}\n previousLabel={ariaLabels?.previousYear}\n previousIcon={previousIcon}\n yearLabelFormat={yearLabelFormat}\n __onControlMouseEnter={onMonthMouseEnter}\n __onControlClick={(_event, payload) => {\n __updateDateOnMonthSelect && setDate(payload);\n setLevel(clampLevel('month', minLevel, maxLevel));\n onMonthSelect?.(payload);\n }}\n __preventFocus={__preventFocus}\n __stopPropagation={__stopPropagation}\n withCellSpacing={withCellSpacing}\n {...stylesApiProps}\n />\n )}\n\n {_level === 'decade' && (\n <DecadeLevelGroup\n decade={currentDate}\n minDate={minDate}\n maxDate={maxDate}\n yearsListFormat={yearsListFormat}\n getYearControlProps={getYearControlProps}\n locale={locale}\n onNext={handleNextDecade}\n onPrevious={handlePreviousDecade}\n numberOfColumns={numberOfColumns}\n nextLabel={ariaLabels?.nextDecade}\n nextIcon={nextIcon}\n previousLabel={ariaLabels?.previousDecade}\n previousIcon={previousIcon}\n decadeLabelFormat={decadeLabelFormat}\n __onControlMouseEnter={onYearMouseEnter}\n __onControlClick={(_event, payload) => {\n __updateDateOnYearSelect && setDate(payload);\n setLevel(clampLevel('year', minLevel, maxLevel));\n onYearSelect?.(payload);\n }}\n __preventFocus={__preventFocus}\n __stopPropagation={__stopPropagation}\n withCellSpacing={withCellSpacing}\n {...stylesApiProps}\n />\n )}\n </Box>\n );\n});\n\nCalendar.displayName = '@mantine/dates/Calendar';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Calendar.js","sources":["../../../src/components/Calendar/Calendar.tsx"],"sourcesContent":["import dayjs from 'dayjs';\nimport React from 'react';\nimport {\n Box,\n BoxProps,\n StylesApiProps,\n factory,\n ElementProps,\n useProps,\n Factory,\n useResolvedStylesApi,\n} from '@mantine/core';\nimport { useUncontrolled } from '@mantine/hooks';\nimport { MonthLevelGroup, MonthLevelGroupStylesNames } from '../MonthLevelGroup';\nimport { YearLevelGroup, YearLevelGroupStylesNames } from '../YearLevelGroup';\nimport { DecadeLevelGroup, DecadeLevelGroupStylesNames } from '../DecadeLevelGroup';\nimport { CalendarLevel } from '../../types';\nimport { clampLevel } from './clamp-level/clamp-level';\nimport { MonthLevelSettings } from '../MonthLevel';\nimport { YearLevelSettings } from '../YearLevel';\nimport { DecadeLevelSettings } from '../DecadeLevel';\n\nexport type CalendarStylesNames =\n | MonthLevelGroupStylesNames\n | YearLevelGroupStylesNames\n | DecadeLevelGroupStylesNames;\n\nexport interface CalendarAriaLabels {\n monthLevelControl?: string;\n yearLevelControl?: string;\n\n nextMonth?: string;\n previousMonth?: string;\n\n nextYear?: string;\n previousYear?: string;\n\n nextDecade?: string;\n previousDecade?: string;\n}\n\ntype OmittedSettings =\n | 'onNext'\n | 'onPrevious'\n | 'onLevelClick'\n | 'withNext'\n | 'withPrevious'\n | 'nextDisabled'\n | 'previousDisabled';\n\nexport interface CalendarSettings\n extends Omit<DecadeLevelSettings, OmittedSettings>,\n Omit<YearLevelSettings, OmittedSettings>,\n Omit<MonthLevelSettings, OmittedSettings> {\n /** Initial level displayed to the user (decade, year, month), used for uncontrolled component */\n defaultLevel?: CalendarLevel;\n\n /** Current level displayed to the user (decade, year, month), used for controlled component */\n level?: CalendarLevel;\n\n /** Called when level changes */\n onLevelChange?(level: CalendarLevel): void;\n\n /** Called when user clicks year on decade level */\n onYearSelect?(date: Date): void;\n\n /** Called when user clicks month on year level */\n onMonthSelect?(date: Date): void;\n\n /** Called when mouse enters year control */\n onYearMouseEnter?(event: React.MouseEvent<HTMLButtonElement>, date: Date): void;\n\n /** Called when mouse enters month control */\n onMonthMouseEnter?(event: React.MouseEvent<HTMLButtonElement>, date: Date): void;\n}\n\nexport interface CalendarBaseProps {\n __staticSelector?: string;\n\n /** Prevents focus shift when buttons are clicked */\n __preventFocus?: boolean;\n\n /** Determines whether date should be updated when year control is clicked */\n __updateDateOnYearSelect?: boolean;\n\n /** Determines whether date should be updated when month control is clicked */\n __updateDateOnMonthSelect?: boolean;\n\n /** Initial date that is displayed, used for uncontrolled component */\n defaultDate?: Date;\n\n /** Date that is displayed, used for controlled component */\n date?: Date;\n\n /** Called when date changes */\n onDateChange?(date: Date): void;\n\n /** Number of columns to render next to each other */\n numberOfColumns?: number;\n\n /** Number of columns to scroll when user clicks next/prev buttons, defaults to numberOfColumns */\n columnsToScroll?: number;\n\n /** aria-label attributes for controls on different levels */\n ariaLabels?: CalendarAriaLabels;\n\n /** Called when next decade button is clicked */\n onNextDecade?(date: Date): void;\n\n /** Called when previous decade button is clicked */\n onPreviousDecade?(date: Date): void;\n\n /** Called when next year button is clicked */\n onNextYear?(date: Date): void;\n\n /** Called when previous year button is clicked */\n onPreviousYear?(date: Date): void;\n\n /** Called when next month button is clicked */\n onNextMonth?(date: Date): void;\n\n /** Called when previous month button is clicked */\n onPreviousMonth?(date: Date): void;\n}\n\nexport interface CalendarProps\n extends BoxProps,\n CalendarSettings,\n CalendarBaseProps,\n StylesApiProps<CalendarFactory>,\n ElementProps<'div'> {\n /** Max level that user can go up to (decade, year, month), defaults to decade */\n maxLevel?: CalendarLevel;\n\n /** Min level that user can go down to (decade, year, month), defaults to month */\n minLevel?: CalendarLevel;\n\n /** Determines whether days should be static, static days can be used to display month if it is not expected that user will interact with the component in any way */\n static?: boolean;\n}\n\nexport type CalendarFactory = Factory<{\n props: CalendarProps;\n ref: HTMLDivElement;\n stylesNames: CalendarStylesNames;\n}>;\n\nconst defaultProps: Partial<CalendarProps> = {\n maxLevel: 'decade',\n minLevel: 'month',\n __updateDateOnYearSelect: true,\n __updateDateOnMonthSelect: true,\n};\n\nexport const Calendar = factory<CalendarFactory>((_props, ref) => {\n const props = useProps('Calendar', defaultProps, _props);\n const {\n vars, // CalendarLevel props\n maxLevel,\n minLevel,\n defaultLevel,\n level,\n onLevelChange,\n date,\n defaultDate,\n onDateChange,\n numberOfColumns,\n columnsToScroll,\n ariaLabels,\n onYearSelect,\n onMonthSelect,\n onYearMouseEnter,\n onMonthMouseEnter,\n __updateDateOnYearSelect,\n __updateDateOnMonthSelect,\n\n // MonthLevelGroup props\n firstDayOfWeek,\n weekdayFormat,\n weekendDays,\n getDayProps,\n excludeDate,\n renderDay,\n hideOutsideDates,\n hideWeekdays,\n getDayAriaLabel,\n monthLabelFormat,\n nextIcon,\n previousIcon,\n __onDayClick,\n __onDayMouseEnter,\n withCellSpacing,\n\n // YearLevelGroup props\n monthsListFormat,\n getMonthControlProps,\n yearLabelFormat,\n\n // DecadeLevelGroup props\n yearsListFormat,\n getYearControlProps,\n decadeLabelFormat,\n\n // Other props\n classNames,\n styles,\n unstyled,\n minDate,\n maxDate,\n locale,\n __staticSelector,\n size,\n __preventFocus,\n __stopPropagation,\n onNextDecade,\n onPreviousDecade,\n onNextYear,\n onPreviousYear,\n onNextMonth,\n onPreviousMonth,\n static: isStatic,\n ...others\n } = props;\n\n const { resolvedClassNames, resolvedStyles } = useResolvedStylesApi<CalendarFactory>({\n classNames,\n styles,\n props,\n });\n\n const [_level, setLevel] = useUncontrolled({\n value: level ? clampLevel(level, minLevel, maxLevel) : undefined,\n defaultValue: defaultLevel ? clampLevel(defaultLevel, minLevel, maxLevel) : undefined,\n finalValue: clampLevel(undefined, minLevel, maxLevel),\n onChange: onLevelChange,\n });\n\n const [_date, setDate] = useUncontrolled({\n value: date,\n defaultValue: defaultDate,\n finalValue: null,\n onChange: onDateChange,\n });\n\n const stylesApiProps = {\n __staticSelector: __staticSelector || 'Calendar',\n styles: resolvedStyles,\n classNames: resolvedClassNames,\n unstyled,\n size,\n };\n\n const _columnsToScroll = columnsToScroll || numberOfColumns || 1;\n const currentDate = _date || new Date();\n\n const handleNextMonth = () => {\n const nextDate = dayjs(currentDate).add(_columnsToScroll, 'month').toDate();\n onNextMonth?.(nextDate);\n setDate(nextDate);\n };\n\n const handlePreviousMonth = () => {\n const nextDate = dayjs(currentDate).subtract(_columnsToScroll, 'month').toDate();\n onPreviousMonth?.(nextDate);\n setDate(nextDate);\n };\n\n const handleNextYear = () => {\n const nextDate = dayjs(currentDate).add(_columnsToScroll, 'year').toDate();\n onNextYear?.(nextDate);\n setDate(nextDate);\n };\n\n const handlePreviousYear = () => {\n const nextDate = dayjs(currentDate).subtract(_columnsToScroll, 'year').toDate();\n onPreviousYear?.(nextDate);\n setDate(nextDate);\n };\n\n const handleNextDecade = () => {\n const nextDate = dayjs(currentDate)\n .add(10 * _columnsToScroll, 'year')\n .toDate();\n onNextDecade?.(nextDate);\n setDate(nextDate);\n };\n\n const handlePreviousDecade = () => {\n const nextDate = dayjs(currentDate)\n .subtract(10 * _columnsToScroll, 'year')\n .toDate();\n onPreviousDecade?.(nextDate);\n setDate(nextDate);\n };\n\n return (\n <Box ref={ref} size={size} data-calendar {...others}>\n {_level === 'month' && (\n <MonthLevelGroup\n month={currentDate}\n minDate={minDate}\n maxDate={maxDate}\n firstDayOfWeek={firstDayOfWeek}\n weekdayFormat={weekdayFormat}\n weekendDays={weekendDays}\n getDayProps={getDayProps}\n excludeDate={excludeDate}\n renderDay={renderDay}\n hideOutsideDates={hideOutsideDates}\n hideWeekdays={hideWeekdays}\n getDayAriaLabel={getDayAriaLabel}\n onNext={handleNextMonth}\n onPrevious={handlePreviousMonth}\n hasNextLevel={maxLevel !== 'month'}\n onLevelClick={() => setLevel('year')}\n numberOfColumns={numberOfColumns}\n locale={locale}\n levelControlAriaLabel={ariaLabels?.monthLevelControl}\n nextLabel={ariaLabels?.nextMonth}\n nextIcon={nextIcon}\n previousLabel={ariaLabels?.previousMonth}\n previousIcon={previousIcon}\n monthLabelFormat={monthLabelFormat}\n __onDayClick={__onDayClick}\n __onDayMouseEnter={__onDayMouseEnter}\n __preventFocus={__preventFocus}\n __stopPropagation={__stopPropagation}\n static={isStatic}\n withCellSpacing={withCellSpacing}\n {...stylesApiProps}\n />\n )}\n\n {_level === 'year' && (\n <YearLevelGroup\n year={currentDate}\n numberOfColumns={numberOfColumns}\n minDate={minDate}\n maxDate={maxDate}\n monthsListFormat={monthsListFormat}\n getMonthControlProps={getMonthControlProps}\n locale={locale}\n onNext={handleNextYear}\n onPrevious={handlePreviousYear}\n hasNextLevel={maxLevel !== 'month' && maxLevel !== 'year'}\n onLevelClick={() => setLevel('decade')}\n levelControlAriaLabel={ariaLabels?.yearLevelControl}\n nextLabel={ariaLabels?.nextYear}\n nextIcon={nextIcon}\n previousLabel={ariaLabels?.previousYear}\n previousIcon={previousIcon}\n yearLabelFormat={yearLabelFormat}\n __onControlMouseEnter={onMonthMouseEnter}\n __onControlClick={(_event, payload) => {\n __updateDateOnMonthSelect && setDate(payload);\n setLevel(clampLevel('month', minLevel, maxLevel));\n onMonthSelect?.(payload);\n }}\n __preventFocus={__preventFocus}\n __stopPropagation={__stopPropagation}\n withCellSpacing={withCellSpacing}\n {...stylesApiProps}\n />\n )}\n\n {_level === 'decade' && (\n <DecadeLevelGroup\n decade={currentDate}\n minDate={minDate}\n maxDate={maxDate}\n yearsListFormat={yearsListFormat}\n getYearControlProps={getYearControlProps}\n locale={locale}\n onNext={handleNextDecade}\n onPrevious={handlePreviousDecade}\n numberOfColumns={numberOfColumns}\n nextLabel={ariaLabels?.nextDecade}\n nextIcon={nextIcon}\n previousLabel={ariaLabels?.previousDecade}\n previousIcon={previousIcon}\n decadeLabelFormat={decadeLabelFormat}\n __onControlMouseEnter={onYearMouseEnter}\n __onControlClick={(_event, payload) => {\n __updateDateOnYearSelect && setDate(payload);\n setLevel(clampLevel('year', minLevel, maxLevel));\n onYearSelect?.(payload);\n }}\n __preventFocus={__preventFocus}\n __stopPropagation={__stopPropagation}\n withCellSpacing={withCellSpacing}\n {...stylesApiProps}\n />\n )}\n </Box>\n );\n});\n\nCalendar.classes = {\n ...DecadeLevelGroup.classes,\n ...YearLevelGroup.classes,\n ...MonthLevelGroup.classes,\n};\nCalendar.displayName = '@mantine/dates/Calendar';\n"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@ import { clamp } from '@mantine/hooks';
2
2
 
3
3
  function levelToNumber(level, fallback) {
4
4
  if (!level) {
5
- return fallback;
5
+ return fallback || 0;
6
6
  }
7
7
  return level === "month" ? 0 : level === "year" ? 1 : 2;
8
8
  }
@@ -10,7 +10,13 @@ function levelNumberToLevel(levelNumber) {
10
10
  return levelNumber === 0 ? "month" : levelNumber === 1 ? "year" : "decade";
11
11
  }
12
12
  function clampLevel(level, minLevel, maxLevel) {
13
- return levelNumberToLevel(clamp(levelToNumber(level, 0), levelToNumber(minLevel, 0), levelToNumber(maxLevel, 2)));
13
+ return levelNumberToLevel(
14
+ clamp(
15
+ levelToNumber(level, 0),
16
+ levelToNumber(minLevel, 0),
17
+ levelToNumber(maxLevel, 2)
18
+ )
19
+ );
14
20
  }
15
21
 
16
22
  export { clampLevel };
@@ -1 +1 @@
1
- {"version":3,"file":"clamp-level.js","sources":["../../../../src/components/Calendar/clamp-level/clamp-level.ts"],"sourcesContent":["import { clamp } from '@mantine/hooks';\nimport type { CalendarLevel } from '../../../types';\n\n// 0 – month, 1 – year, 2 – decade;\ntype LevelNumber = 0 | 1 | 2;\n\nfunction levelToNumber(level: CalendarLevel, fallback: LevelNumber): LevelNumber {\n if (!level) {\n return fallback;\n }\n\n return level === 'month' ? 0 : level === 'year' ? 1 : 2;\n}\n\nfunction levelNumberToLevel(levelNumber: LevelNumber): CalendarLevel {\n return levelNumber === 0 ? 'month' : levelNumber === 1 ? 'year' : 'decade';\n}\n\nexport function clampLevel(\n level: CalendarLevel,\n minLevel: CalendarLevel,\n maxLevel: CalendarLevel\n): CalendarLevel {\n return levelNumberToLevel(\n clamp(\n levelToNumber(level, 0),\n levelToNumber(minLevel, 0),\n levelToNumber(maxLevel, 2)\n ) as LevelNumber\n );\n}\n"],"names":[],"mappings":";;AACA,SAAS,aAAa,CAAC,KAAK,EAAE,QAAQ,EAAE;AACxC,EAAE,IAAI,CAAC,KAAK,EAAE;AACd,IAAI,OAAO,QAAQ,CAAC;AACpB,GAAG;AACH,EAAE,OAAO,KAAK,KAAK,OAAO,GAAG,CAAC,GAAG,KAAK,KAAK,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC;AAC1D,CAAC;AACD,SAAS,kBAAkB,CAAC,WAAW,EAAE;AACzC,EAAE,OAAO,WAAW,KAAK,CAAC,GAAG,OAAO,GAAG,WAAW,KAAK,CAAC,GAAG,MAAM,GAAG,QAAQ,CAAC;AAC7E,CAAC;AACM,SAAS,UAAU,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE;AACtD,EAAE,OAAO,kBAAkB,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,aAAa,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,aAAa,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AACpH;;;;"}
1
+ {"version":3,"file":"clamp-level.js","sources":["../../../../src/components/Calendar/clamp-level/clamp-level.ts"],"sourcesContent":["import { clamp } from '@mantine/hooks';\nimport type { CalendarLevel } from '../../../types';\n\n// 0 – month, 1 – year, 2 – decade;\ntype LevelNumber = 0 | 1 | 2;\n\nfunction levelToNumber(\n level: CalendarLevel | undefined,\n fallback: LevelNumber | undefined\n): LevelNumber {\n if (!level) {\n return fallback || 0;\n }\n\n return level === 'month' ? 0 : level === 'year' ? 1 : 2;\n}\n\nfunction levelNumberToLevel(levelNumber: LevelNumber | undefined): CalendarLevel {\n return levelNumber === 0 ? 'month' : levelNumber === 1 ? 'year' : 'decade';\n}\n\nexport function clampLevel(\n level: CalendarLevel | undefined,\n minLevel: CalendarLevel | undefined,\n maxLevel: CalendarLevel | undefined\n): CalendarLevel {\n return levelNumberToLevel(\n clamp(\n levelToNumber(level, 0),\n levelToNumber(minLevel, 0),\n levelToNumber(maxLevel, 2)\n ) as LevelNumber\n );\n}\n"],"names":[],"mappings":";;AACA,SAAS,aAAa,CAAC,KAAK,EAAE,QAAQ,EAAE;AACxC,EAAE,IAAI,CAAC,KAAK,EAAE;AACd,IAAI,OAAO,QAAQ,IAAI,CAAC,CAAC;AACzB,GAAG;AACH,EAAE,OAAO,KAAK,KAAK,OAAO,GAAG,CAAC,GAAG,KAAK,KAAK,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC;AAC1D,CAAC;AACD,SAAS,kBAAkB,CAAC,WAAW,EAAE;AACzC,EAAE,OAAO,WAAW,KAAK,CAAC,GAAG,OAAO,GAAG,WAAW,KAAK,CAAC,GAAG,MAAM,GAAG,QAAQ,CAAC;AAC7E,CAAC;AACM,SAAS,UAAU,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE;AACtD,EAAE,OAAO,kBAAkB;AAC3B,IAAI,KAAK;AACT,MAAM,aAAa,CAAC,KAAK,EAAE,CAAC,CAAC;AAC7B,MAAM,aAAa,CAAC,QAAQ,EAAE,CAAC,CAAC;AAChC,MAAM,aAAa,CAAC,QAAQ,EAAE,CAAC,CAAC;AAChC,KAAK;AACL,GAAG,CAAC;AACJ;;;;"}
@@ -41,7 +41,7 @@ function pickCalendarProps(props) {
41
41
  withCellSpacing,
42
42
  __updateDateOnYearSelect,
43
43
  __updateDateOnMonthSelect,
44
- firstDayOfWeek,
44
+ firstDayOfWeek: firstDayOfWeek,
45
45
  weekdayFormat,
46
46
  weekendDays,
47
47
  getDayProps,
@@ -51,15 +51,15 @@ function pickCalendarProps(props) {
51
51
  hideWeekdays,
52
52
  getDayAriaLabel,
53
53
  monthLabelFormat,
54
- monthsListFormat,
54
+ monthsListFormat: monthsListFormat,
55
55
  getMonthControlProps,
56
56
  yearLabelFormat,
57
- yearsListFormat,
57
+ yearsListFormat: yearsListFormat,
58
58
  getYearControlProps,
59
59
  decadeLabelFormat,
60
- allowSingleDateInRange,
60
+ allowSingleDateInRange: allowSingleDateInRange,
61
61
  allowDeselect,
62
- minDate,
62
+ minDate: minDate,
63
63
  maxDate,
64
64
  locale
65
65
  } = _a, others = __objRest(_a, [
@@ -89,6 +89,7 @@ function pickCalendarProps(props) {
89
89
  "withCellSpacing",
90
90
  "__updateDateOnYearSelect",
91
91
  "__updateDateOnMonthSelect",
92
+ // MonthLevelGroup props
92
93
  "firstDayOfWeek",
93
94
  "weekdayFormat",
94
95
  "weekendDays",
@@ -99,14 +100,18 @@ function pickCalendarProps(props) {
99
100
  "hideWeekdays",
100
101
  "getDayAriaLabel",
101
102
  "monthLabelFormat",
103
+ // YearLevelGroup props
102
104
  "monthsListFormat",
103
105
  "getMonthControlProps",
104
106
  "yearLabelFormat",
107
+ // DecadeLevelGroup props
105
108
  "yearsListFormat",
106
109
  "getYearControlProps",
107
110
  "decadeLabelFormat",
111
+ // External picker props
108
112
  "allowSingleDateInRange",
109
113
  "allowDeselect",
114
+ // Other props
110
115
  "minDate",
111
116
  "maxDate",
112
117
  "locale"
@@ -139,6 +144,7 @@ function pickCalendarProps(props) {
139
144
  withCellSpacing,
140
145
  __updateDateOnYearSelect,
141
146
  __updateDateOnMonthSelect,
147
+ // MonthLevelGroup props
142
148
  firstDayOfWeek,
143
149
  weekdayFormat,
144
150
  weekendDays,
@@ -149,14 +155,18 @@ function pickCalendarProps(props) {
149
155
  hideWeekdays,
150
156
  getDayAriaLabel,
151
157
  monthLabelFormat,
158
+ // YearLevelGroup props
152
159
  monthsListFormat,
153
160
  getMonthControlProps,
154
161
  yearLabelFormat,
162
+ // DecadeLevelGroup props
155
163
  yearsListFormat,
156
164
  getYearControlProps,
157
165
  decadeLabelFormat,
166
+ // External picker props
158
167
  allowSingleDateInRange,
159
168
  allowDeselect,
169
+ // Other props
160
170
  minDate,
161
171
  maxDate,
162
172
  locale