@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":"use-dates-state.js","sources":["../../../src/hooks/use-dates-state/use-dates-state.ts"],"sourcesContent":["import dayjs from 'dayjs';\nimport { useState } from 'react';\nimport { DatePickerType, PickerBaseProps } from '../../types';\nimport { useUncontrolledDates } from '../use-uncontrolled-dates/use-uncontrolled-dates';\nimport { isInRange } from './is-in-range/is-in-range';\n\ninterface UseDatesRangeInput<Type extends DatePickerType = 'default'>\n extends PickerBaseProps<Type> {\n level: 'year' | 'month' | 'day';\n type: Type;\n onMouseLeave?(event: React.MouseEvent<HTMLDivElement>): void;\n}\n\nexport function useDatesState<Type extends DatePickerType = 'default'>({\n type,\n level,\n value,\n defaultValue,\n onChange,\n allowSingleDateInRange,\n allowDeselect,\n onMouseLeave,\n}: UseDatesRangeInput<Type>) {\n const [_value, setValue] = useUncontrolledDates({ type, value, defaultValue, onChange });\n\n const [pickedDate, setPickedDate] = useState<Date>(\n type === 'range' ? (_value[0] && !_value[1] ? _value[0] : null) : null\n );\n const [hoveredDate, setHoveredDate] = useState<Date>(null);\n\n const onDateChange = (date: Date) => {\n if (type === 'range') {\n if (pickedDate instanceof Date && !_value[1]) {\n if (dayjs(date).isSame(pickedDate, level) && !allowSingleDateInRange) {\n setPickedDate(null);\n setHoveredDate(null);\n setValue([null, null]);\n return;\n }\n\n const result: [Date, Date] = [date, pickedDate];\n result.sort((a, b) => a.getTime() - b.getTime());\n setValue(result);\n setHoveredDate(null);\n setPickedDate(null);\n return;\n }\n\n if (\n _value[0] &&\n !_value[1] &&\n dayjs(date).isSame(_value[0], level) &&\n !allowSingleDateInRange\n ) {\n setPickedDate(null);\n setHoveredDate(null);\n setValue([null, null]);\n return;\n }\n\n setValue([date, null]);\n setHoveredDate(null);\n setPickedDate(date);\n return;\n }\n\n if (type === 'multiple') {\n if (_value.some((selected: Date) => dayjs(selected).isSame(date, level))) {\n setValue(_value.filter((selected: Date) => !dayjs(selected).isSame(date, level)));\n } else {\n setValue([..._value, date]);\n }\n\n return;\n }\n\n if (_value && allowDeselect && dayjs(date).isSame(_value, level)) {\n setValue(null);\n } else {\n setValue(date);\n }\n };\n\n const isDateInRange = (date: Date) => {\n if (pickedDate instanceof Date && hoveredDate instanceof Date) {\n return isInRange(date, [hoveredDate, pickedDate]);\n }\n\n if (_value[0] instanceof Date && _value[1] instanceof Date) {\n return isInRange(date, _value);\n }\n\n return false;\n };\n\n const onRootMouseLeave =\n type === 'range'\n ? (event: React.MouseEvent<HTMLDivElement>) => {\n onMouseLeave?.(event);\n setHoveredDate(null);\n }\n : onMouseLeave;\n\n const isFirstInRange = (date: Date) => {\n if (!(_value[0] instanceof Date)) {\n return false;\n }\n\n if (dayjs(date).isSame(_value[0], level)) {\n return !(hoveredDate && dayjs(hoveredDate).isBefore(_value[0]));\n }\n\n return false;\n };\n\n const isLastInRange = (date: Date) => {\n if (_value[1] instanceof Date) {\n return dayjs(date).isSame(_value[1], level);\n }\n\n if (!(_value[0] instanceof Date) || !hoveredDate) {\n return false;\n }\n\n return dayjs(hoveredDate).isBefore(_value[0]) && dayjs(date).isSame(_value[0], level);\n };\n\n const getControlProps = (date: Date) => {\n if (type === 'range') {\n return {\n selected: _value.some(\n (selection: Date) => selection && dayjs(selection).isSame(date, level)\n ),\n inRange: isDateInRange(date),\n firstInRange: isFirstInRange(date),\n lastInRange: isLastInRange(date),\n 'data-autofocus': (!!_value[0] && dayjs(_value[0]).isSame(date, level)) || undefined,\n };\n }\n\n if (type === 'multiple') {\n return {\n selected: _value.some(\n (selection: Date) => selection && dayjs(selection).isSame(date, level)\n ),\n 'data-autofocus': (!!_value[0] && dayjs(_value[0]).isSame(date, level)) || undefined,\n };\n }\n\n const selected = dayjs(_value).isSame(date, level);\n return { selected, 'data-autofocus': selected || undefined };\n };\n\n const onHoveredDateChange = type === 'range' && pickedDate ? setHoveredDate : () => {};\n\n return {\n onDateChange,\n onRootMouseLeave,\n onHoveredDateChange,\n getControlProps,\n _value,\n setValue,\n };\n}\n"],"names":["useUncontrolledDates","useState","dayjs","isInRange"],"mappings":"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"}
1
+ {"version":3,"file":"use-dates-state.js","sources":["../../../src/hooks/use-dates-state/use-dates-state.ts"],"sourcesContent":["import dayjs from 'dayjs';\nimport { useState } from 'react';\nimport { DatePickerType, PickerBaseProps } from '../../types';\nimport { useUncontrolledDates } from '../use-uncontrolled-dates/use-uncontrolled-dates';\nimport { isInRange } from './is-in-range/is-in-range';\n\ninterface UseDatesRangeInput<Type extends DatePickerType = 'default'>\n extends PickerBaseProps<Type> {\n level: 'year' | 'month' | 'day';\n type: Type;\n onMouseLeave?(event: React.MouseEvent<HTMLDivElement>): void;\n}\n\nexport function useDatesState<Type extends DatePickerType = 'default'>({\n type,\n level,\n value,\n defaultValue,\n onChange,\n allowSingleDateInRange,\n allowDeselect,\n onMouseLeave,\n}: UseDatesRangeInput<Type>) {\n const [_value, setValue] = useUncontrolledDates({ type, value, defaultValue, onChange });\n\n const [pickedDate, setPickedDate] = useState<Date | null>(\n type === 'range' ? (_value[0] && !_value[1] ? _value[0] : null) : null\n );\n const [hoveredDate, setHoveredDate] = useState<Date | null>(null);\n\n const onDateChange = (date: Date) => {\n if (type === 'range') {\n if (pickedDate instanceof Date && !_value[1]) {\n if (dayjs(date).isSame(pickedDate, level) && !allowSingleDateInRange) {\n setPickedDate(null);\n setHoveredDate(null);\n setValue([null, null]);\n return;\n }\n\n const result: [Date, Date] = [date, pickedDate];\n result.sort((a, b) => a.getTime() - b.getTime());\n setValue(result);\n setHoveredDate(null);\n setPickedDate(null);\n return;\n }\n\n if (\n _value[0] &&\n !_value[1] &&\n dayjs(date).isSame(_value[0], level) &&\n !allowSingleDateInRange\n ) {\n setPickedDate(null);\n setHoveredDate(null);\n setValue([null, null]);\n return;\n }\n\n setValue([date, null]);\n setHoveredDate(null);\n setPickedDate(date);\n return;\n }\n\n if (type === 'multiple') {\n if (_value.some((selected: Date) => dayjs(selected).isSame(date, level))) {\n setValue(_value.filter((selected: Date) => !dayjs(selected).isSame(date, level)));\n } else {\n setValue([..._value, date]);\n }\n\n return;\n }\n\n if (_value && allowDeselect && dayjs(date).isSame(_value, level)) {\n setValue(null);\n } else {\n setValue(date);\n }\n };\n\n const isDateInRange = (date: Date) => {\n if (pickedDate instanceof Date && hoveredDate instanceof Date) {\n return isInRange(date, [hoveredDate, pickedDate]);\n }\n\n if (_value[0] instanceof Date && _value[1] instanceof Date) {\n return isInRange(date, _value);\n }\n\n return false;\n };\n\n const onRootMouseLeave =\n type === 'range'\n ? (event: React.MouseEvent<HTMLDivElement>) => {\n onMouseLeave?.(event);\n setHoveredDate(null);\n }\n : onMouseLeave;\n\n const isFirstInRange = (date: Date) => {\n if (!(_value[0] instanceof Date)) {\n return false;\n }\n\n if (dayjs(date).isSame(_value[0], level)) {\n return !(hoveredDate && dayjs(hoveredDate).isBefore(_value[0]));\n }\n\n return false;\n };\n\n const isLastInRange = (date: Date) => {\n if (_value[1] instanceof Date) {\n return dayjs(date).isSame(_value[1], level);\n }\n\n if (!(_value[0] instanceof Date) || !hoveredDate) {\n return false;\n }\n\n return dayjs(hoveredDate).isBefore(_value[0]) && dayjs(date).isSame(_value[0], level);\n };\n\n const getControlProps = (date: Date) => {\n if (type === 'range') {\n return {\n selected: _value.some(\n (selection: Date) => selection && dayjs(selection).isSame(date, level)\n ),\n inRange: isDateInRange(date),\n firstInRange: isFirstInRange(date),\n lastInRange: isLastInRange(date),\n 'data-autofocus': (!!_value[0] && dayjs(_value[0]).isSame(date, level)) || undefined,\n };\n }\n\n if (type === 'multiple') {\n return {\n selected: _value.some(\n (selection: Date) => selection && dayjs(selection).isSame(date, level)\n ),\n 'data-autofocus': (!!_value[0] && dayjs(_value[0]).isSame(date, level)) || undefined,\n };\n }\n\n const selected = dayjs(_value).isSame(date, level);\n return { selected, 'data-autofocus': selected || undefined };\n };\n\n const onHoveredDateChange = type === 'range' && pickedDate ? setHoveredDate : () => {};\n\n return {\n onDateChange,\n onRootMouseLeave,\n onHoveredDateChange,\n getControlProps,\n _value,\n setValue,\n };\n}\n"],"names":["useUncontrolledDates","useState","dayjs","isInRange"],"mappings":"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"}
@@ -29,17 +29,23 @@ function useUncontrolledDates({
29
29
  switch (type) {
30
30
  case "default":
31
31
  if (value !== null && typeof value !== "string") {
32
- console.error("[@mantine/dates/use-uncontrolled-dates] Value must be type of `null` or `string`");
32
+ console.error(
33
+ "[@mantine/dates/use-uncontrolled-dates] Value must be type of `null` or `string`"
34
+ );
33
35
  }
34
36
  break;
35
37
  case "multiple":
36
38
  if (!(value instanceof Array)) {
37
- console.error("[@mantine/dates/use-uncontrolled-dates] Value must be type of `string[]`");
39
+ console.error(
40
+ "[@mantine/dates/use-uncontrolled-dates] Value must be type of `string[]`"
41
+ );
38
42
  }
39
43
  break;
40
44
  case "range":
41
45
  if (!(value instanceof Array) || value.length !== 2) {
42
- console.error("[@mantine/dates/use-uncontrolled-dates] Value must be type of `[string, string]`");
46
+ console.error(
47
+ "[@mantine/dates/use-uncontrolled-dates] Value must be type of `[string, string]`"
48
+ );
43
49
  }
44
50
  break;
45
51
  }
@@ -1 +1 @@
1
- {"version":3,"file":"use-uncontrolled-dates.js","sources":["../../../src/hooks/use-uncontrolled-dates/use-uncontrolled-dates.ts"],"sourcesContent":["import { useUncontrolled } from '@mantine/hooks';\nimport { useRef } from 'react';\nimport { DatePickerType, DatePickerValue } from '../../types';\n\ninterface UseUncontrolledDates<Type extends DatePickerType = 'default'> {\n type: Type;\n value: DatePickerValue<Type>;\n defaultValue: DatePickerValue<Type>;\n onChange(value: DatePickerValue<Type>): void;\n}\n\nconst getEmptyValue = <Type extends DatePickerType = 'default'>(type: Type) =>\n type === 'range' ? [null, null] : type === 'multiple' ? [] : null;\n\nexport function useUncontrolledDates<Type extends DatePickerType = 'default'>({\n type,\n value,\n defaultValue,\n onChange,\n}: UseUncontrolledDates<Type>) {\n const storedType = useRef<Type>(type);\n const [_value, _setValue] = useUncontrolled<any>({\n value,\n defaultValue,\n onChange,\n finalValue: getEmptyValue(type),\n });\n\n let _finalValue = _value;\n\n if (storedType.current !== type) {\n // Type has changed. Do some checks or resets\n\n storedType.current = type;\n if (value === undefined) {\n // Reset uncontrolled value as types aren't compatible\n _finalValue = defaultValue !== undefined ? defaultValue : getEmptyValue(type);\n _setValue(_finalValue);\n } else if (process.env.NODE_ENV === 'development') {\n // Throw errors in dev mode in case type of value isn't correct\n switch (type) {\n case 'default':\n if (value !== null && typeof value !== 'string') {\n // eslint-disable-next-line no-console\n console.error(\n '[@mantine/dates/use-uncontrolled-dates] Value must be type of `null` or `string`'\n );\n }\n break;\n case 'multiple':\n if (!(value instanceof Array)) {\n // eslint-disable-next-line no-console\n console.error(\n '[@mantine/dates/use-uncontrolled-dates] Value must be type of `string[]`'\n );\n }\n break;\n case 'range':\n if (!(value instanceof Array) || value.length !== 2) {\n // eslint-disable-next-line no-console\n console.error(\n '[@mantine/dates/use-uncontrolled-dates] Value must be type of `[string, string]`'\n );\n }\n break;\n }\n }\n }\n\n return [_finalValue, _setValue];\n}\n"],"names":["useRef","useUncontrolled"],"mappings":";;;;;;;AAEA,MAAM,aAAa,GAAG,CAAC,IAAI,KAAK,IAAI,KAAK,OAAO,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,IAAI,KAAK,UAAU,GAAG,EAAE,GAAG,IAAI,CAAC;AAC3F,SAAS,oBAAoB,CAAC;AACrC,EAAE,IAAI;AACN,EAAE,KAAK;AACP,EAAE,YAAY;AACd,EAAE,QAAQ;AACV,CAAC,EAAE;AACH,EAAE,MAAM,UAAU,GAAGA,YAAM,CAAC,IAAI,CAAC,CAAC;AAClC,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAGC,qBAAe,CAAC;AAC9C,IAAI,KAAK;AACT,IAAI,YAAY;AAChB,IAAI,QAAQ;AACZ,IAAI,UAAU,EAAE,aAAa,CAAC,IAAI,CAAC;AACnC,GAAG,CAAC,CAAC;AACL,EAAE,IAAI,WAAW,GAAG,MAAM,CAAC;AAC3B,EAAE,IAAI,UAAU,CAAC,OAAO,KAAK,IAAI,EAAE;AACnC,IAAI,UAAU,CAAC,OAAO,GAAG,IAAI,CAAC;AAC9B,IAAI,IAAI,KAAK,KAAK,KAAK,CAAC,EAAE;AAC1B,MAAM,WAAW,GAAG,YAAY,KAAK,KAAK,CAAC,GAAG,YAAY,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;AACjF,MAAM,SAAS,CAAC,WAAW,CAAC,CAAC;AAC7B,KAAK,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa,EAAE;AACvD,MAAM,QAAQ,IAAI;AAClB,QAAQ,KAAK,SAAS;AACtB,UAAU,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AAC3D,YAAY,OAAO,CAAC,KAAK,CAAC,kFAAkF,CAAC,CAAC;AAC9G,WAAW;AACX,UAAU,MAAM;AAChB,QAAQ,KAAK,UAAU;AACvB,UAAU,IAAI,EAAE,KAAK,YAAY,KAAK,CAAC,EAAE;AACzC,YAAY,OAAO,CAAC,KAAK,CAAC,0EAA0E,CAAC,CAAC;AACtG,WAAW;AACX,UAAU,MAAM;AAChB,QAAQ,KAAK,OAAO;AACpB,UAAU,IAAI,EAAE,KAAK,YAAY,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;AAC/D,YAAY,OAAO,CAAC,KAAK,CAAC,kFAAkF,CAAC,CAAC;AAC9G,WAAW;AACX,UAAU,MAAM;AAChB,OAAO;AACP,KAAK;AACL,GAAG;AACH,EAAE,OAAO,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;AAClC;;;;"}
1
+ {"version":3,"file":"use-uncontrolled-dates.js","sources":["../../../src/hooks/use-uncontrolled-dates/use-uncontrolled-dates.ts"],"sourcesContent":["import { useUncontrolled } from '@mantine/hooks';\nimport { useRef } from 'react';\nimport { DatePickerType, DatePickerValue } from '../../types';\n\ninterface UseUncontrolledDates<Type extends DatePickerType = 'default'> {\n type: Type;\n value: DatePickerValue<Type> | undefined;\n defaultValue: DatePickerValue<Type> | undefined;\n onChange: ((value: DatePickerValue<Type>) => void) | undefined;\n}\n\nconst getEmptyValue = <Type extends DatePickerType = 'default'>(type: Type) =>\n type === 'range' ? [null, null] : type === 'multiple' ? [] : null;\n\nexport function useUncontrolledDates<Type extends DatePickerType = 'default'>({\n type,\n value,\n defaultValue,\n onChange,\n}: UseUncontrolledDates<Type>) {\n const storedType = useRef<Type>(type);\n const [_value, _setValue] = useUncontrolled<any>({\n value,\n defaultValue,\n onChange,\n finalValue: getEmptyValue(type),\n });\n\n let _finalValue = _value;\n\n if (storedType.current !== type) {\n // Type has changed. Do some checks or resets\n\n storedType.current = type;\n if (value === undefined) {\n // Reset uncontrolled value as types aren't compatible\n _finalValue = defaultValue !== undefined ? defaultValue : getEmptyValue(type);\n _setValue(_finalValue);\n } else if (process.env.NODE_ENV === 'development') {\n // Throw errors in dev mode in case type of value isn't correct\n switch (type) {\n case 'default':\n if (value !== null && typeof value !== 'string') {\n // eslint-disable-next-line no-console\n console.error(\n '[@mantine/dates/use-uncontrolled-dates] Value must be type of `null` or `string`'\n );\n }\n break;\n case 'multiple':\n if (!(value instanceof Array)) {\n // eslint-disable-next-line no-console\n console.error(\n '[@mantine/dates/use-uncontrolled-dates] Value must be type of `string[]`'\n );\n }\n break;\n case 'range':\n if (!(value instanceof Array) || value.length !== 2) {\n // eslint-disable-next-line no-console\n console.error(\n '[@mantine/dates/use-uncontrolled-dates] Value must be type of `[string, string]`'\n );\n }\n break;\n }\n }\n }\n\n return [_finalValue, _setValue];\n}\n"],"names":["useRef","useUncontrolled"],"mappings":";;;;;;;AAEA,MAAM,aAAa,GAAG,CAAC,IAAI,KAAK,IAAI,KAAK,OAAO,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,IAAI,KAAK,UAAU,GAAG,EAAE,GAAG,IAAI,CAAC;AAC3F,SAAS,oBAAoB,CAAC;AACrC,EAAE,IAAI;AACN,EAAE,KAAK;AACP,EAAE,YAAY;AACd,EAAE,QAAQ;AACV,CAAC,EAAE;AACH,EAAE,MAAM,UAAU,GAAGA,YAAM,CAAC,IAAI,CAAC,CAAC;AAClC,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAGC,qBAAe,CAAC;AAC9C,IAAI,KAAK;AACT,IAAI,YAAY;AAChB,IAAI,QAAQ;AACZ,IAAI,UAAU,EAAE,aAAa,CAAC,IAAI,CAAC;AACnC,GAAG,CAAC,CAAC;AACL,EAAE,IAAI,WAAW,GAAG,MAAM,CAAC;AAC3B,EAAE,IAAI,UAAU,CAAC,OAAO,KAAK,IAAI,EAAE;AACnC,IAAI,UAAU,CAAC,OAAO,GAAG,IAAI,CAAC;AAC9B,IAAI,IAAI,KAAK,KAAK,KAAK,CAAC,EAAE;AAC1B,MAAM,WAAW,GAAG,YAAY,KAAK,KAAK,CAAC,GAAG,YAAY,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;AACjF,MAAM,SAAS,CAAC,WAAW,CAAC,CAAC;AAC7B,KAAK,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa,EAAE;AACvD,MAAM,QAAQ,IAAI;AAClB,QAAQ,KAAK,SAAS;AACtB,UAAU,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AAC3D,YAAY,OAAO,CAAC,KAAK;AACzB,cAAc,kFAAkF;AAChG,aAAa,CAAC;AACd,WAAW;AACX,UAAU,MAAM;AAChB,QAAQ,KAAK,UAAU;AACvB,UAAU,IAAI,EAAE,KAAK,YAAY,KAAK,CAAC,EAAE;AACzC,YAAY,OAAO,CAAC,KAAK;AACzB,cAAc,0EAA0E;AACxF,aAAa,CAAC;AACd,WAAW;AACX,UAAU,MAAM;AAChB,QAAQ,KAAK,OAAO;AACpB,UAAU,IAAI,EAAE,KAAK,YAAY,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;AAC/D,YAAY,OAAO,CAAC,KAAK;AACzB,cAAc,kFAAkF;AAChG,aAAa,CAAC;AACd,WAAW;AACX,UAAU,MAAM;AAChB,OAAO;AACP,KAAK;AACL,GAAG;AACH,EAAE,OAAO,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;AAClC;;;;"}
package/cjs/index.css ADDED
@@ -0,0 +1,413 @@
1
+ .m-468e7eda {
2
+ padding-top: 0;
3
+ padding-bottom: 0;
4
+ appearance: none;
5
+ }
6
+
7
+ .m-468e7eda::-webkit-calendar-picker-indicator {
8
+ display: none;
9
+ }
10
+
11
+ .m-468e7eda::-webkit-clear-button {
12
+ display: none;
13
+ }
14
+
15
+ .m-468e7eda::-webkit-datetime-edit-hour-field,
16
+ .m-468e7eda::-webkit-datetime-edit-minute-field,
17
+ .m-468e7eda::-webkit-datetime-edit-second-field {
18
+ padding-top: 0;
19
+ max-height: calc(1.875rem * var(--mantine-scale));
20
+ display: inline;
21
+ }
22
+
23
+ .m-468e7eda::-webkit-datetime-edit-hour-field:focus, .m-468e7eda::-webkit-datetime-edit-minute-field:focus, .m-468e7eda::-webkit-datetime-edit-second-field:focus {
24
+ background-color: var(--mantine-primary-color-filled);
25
+ color: var(--mantine-color-white);
26
+ }
27
+
28
+ .m-396ce5cb {
29
+ --day-size-xs: calc(1.875rem * var(--mantine-scale));
30
+ --day-size-sm: calc(2.25rem * var(--mantine-scale));
31
+ --day-size-md: calc(2.625rem * var(--mantine-scale));
32
+ --day-size-lg: calc(3rem * var(--mantine-scale));
33
+ --day-size-xl: calc(3.375rem * var(--mantine-scale));
34
+
35
+ width: var(--day-size, calc(2.25rem * var(--mantine-scale)));
36
+ height: var(--day-size, calc(2.25rem * var(--mantine-scale)));
37
+ font-size: calc(var(--day-size) / 2.8);
38
+ display: var(--_day-display, inline-flex);
39
+ justify-content: center;
40
+ align-items: center;
41
+ user-select: var(--_day-user-select, none);
42
+ cursor: var(--_day-cursor, pointer);
43
+ background-color: var(--_day-bg, transparent);
44
+ border-radius: var(--_day-radius, var(--mantine-radius-default));
45
+ color: var(--_day-color, var(--mantine-color-text));
46
+ opacity: var(--_day-opacity, 1);
47
+ }
48
+
49
+ @media (hover: hover) {
50
+ [data-mantine-color-scheme='light'] .m-396ce5cb:hover:not([data-static], [data-disabled]) {
51
+ --_day-bg: var(--mantine-color-gray-0);
52
+ }
53
+
54
+ [data-mantine-color-scheme='dark'] .m-396ce5cb:hover:not([data-static], [data-disabled]) {
55
+ --_day-bg: var(--mantine-color-dark-5);
56
+ }
57
+ }
58
+
59
+ @media (hover: none) {
60
+ [data-mantine-color-scheme='light'] .m-396ce5cb:active:not([data-static], [data-disabled]) {
61
+ --_day-bg: var(--mantine-color-gray-0);
62
+ }
63
+
64
+ [data-mantine-color-scheme='dark'] .m-396ce5cb:active:not([data-static], [data-disabled]) {
65
+ --_day-bg: var(--mantine-color-dark-5);
66
+ }
67
+ }
68
+
69
+ .m-396ce5cb[data-static] {
70
+ --_day-user-select: auto;
71
+ --_day-cursor: default;
72
+ }
73
+
74
+ .m-396ce5cb[data-weekend] {
75
+ --_day-color: var(--mantine-color-red-6);
76
+ }
77
+
78
+ .m-396ce5cb[data-outside] {
79
+ --_day-color: var(--mantine-color-dimmed);
80
+ --_day-opacity: 0.5;
81
+ }
82
+
83
+ .m-396ce5cb:disabled,
84
+ .m-396ce5cb[data-disabled] {
85
+ --_day-color: var(--mantine-color-dimmed);
86
+ --_day-cursor: not-allowed;
87
+ --_day-opacity: 0.5;
88
+ }
89
+
90
+ .m-396ce5cb[data-hidden] {
91
+ --_day-display: none;
92
+ }
93
+
94
+ .m-396ce5cb[data-in-range] {
95
+ --_day-bg: var(--mantine-primary-color-light-hover);
96
+ --_day-radius: 0;
97
+ }
98
+
99
+ @media (hover: hover) {
100
+ [data-mantine-color-scheme] .m-396ce5cb[data-in-range]:hover:not([data-disabled], [data-static]) {
101
+ --_day-bg: var(--mantine-primary-color-light);
102
+ }
103
+ }
104
+
105
+ @media (hover: none) {
106
+ [data-mantine-color-scheme] .m-396ce5cb[data-in-range]:active:not([data-disabled], [data-static]) {
107
+ --_day-bg: var(--mantine-primary-color-light);
108
+ }
109
+ }
110
+
111
+ .m-396ce5cb[data-first-in-range] {
112
+ --_day-radius: var(--mantine-radius-default) 0 0 var(--mantine-radius-default);
113
+ }
114
+
115
+ [dir="rtl"] .m-396ce5cb[data-first-in-range] {
116
+ --_day-radius: 0 var(--mantine-radius-default) var(--mantine-radius-default) 0;
117
+ }
118
+
119
+ .m-396ce5cb[data-last-in-range] {
120
+ --_day-radius: 0 var(--mantine-radius-default) var(--mantine-radius-default) 0;
121
+ }
122
+
123
+ [dir="rtl"] .m-396ce5cb[data-last-in-range] {
124
+ --_day-radius: var(--mantine-radius-default) 0 0 var(--mantine-radius-default);
125
+ }
126
+
127
+ .m-396ce5cb[data-last-in-range][data-first-in-range] {
128
+ --_day-radius: var(--mantine-radius-default);
129
+ }
130
+
131
+ .m-396ce5cb[data-selected] {
132
+ --_day-bg: var(--mantine-primary-color-filled);
133
+ --_day-color: var(--mantine-color-white);
134
+ }
135
+
136
+ @media (hover: hover) {
137
+ [data-mantine-color-scheme] .m-396ce5cb[data-selected]:hover:not([data-disabled], [data-static]) {
138
+ --_day-bg: var(--mantine-primary-color-filled-hover);
139
+ }
140
+ }
141
+
142
+ @media (hover: none) {
143
+ [data-mantine-color-scheme] .m-396ce5cb[data-selected]:active:not([data-disabled], [data-static]) {
144
+ --_day-bg: var(--mantine-primary-color-filled-hover);
145
+ }
146
+ }
147
+
148
+ .m-18a3eca {
149
+ color: var(--mantine-color-dimmed);
150
+ font-weight: normal;
151
+ font-size: var(--wr-fz);
152
+ text-transform: capitalize;
153
+ padding-bottom: calc(var(--wr-spacing) / 2);
154
+ }
155
+
156
+ .m-cc9820d3 {
157
+ border-collapse: collapse;
158
+ table-layout: fixed;
159
+ }
160
+
161
+ .m-8f457cd5 {
162
+ padding: var(--_month-cell-padding, 0);
163
+ }
164
+
165
+ .m-8f457cd5[data-with-spacing] {
166
+ --_month-cell-padding: calc(0.03125rem * var(--mantine-scale));
167
+ }
168
+
169
+ .m-dc6a3c71 {
170
+ --dpc-size-xs: calc(1.875rem * var(--mantine-scale));
171
+ --dpc-size-sm: calc(2.25rem * var(--mantine-scale));
172
+ --dpc-size-md: calc(2.625rem * var(--mantine-scale));
173
+ --dpc-size-lg: calc(3rem * var(--mantine-scale));
174
+ --dpc-size-xl: calc(3.375rem * var(--mantine-scale));
175
+
176
+ font-size: var(--dpc-fz);
177
+ height: var(--dpc-size);
178
+ width: calc((var(--dpc-size) * 7) / 3 + calc(0.09375rem * var(--mantine-scale)));
179
+ display: flex;
180
+ justify-content: center;
181
+ align-items: center;
182
+ user-select: none;
183
+ cursor: var(--_control-cursor, pointer);
184
+ background-color: var(--_control-bg, transparent);
185
+ color: var(--_control-color, var(--mantine-color-text));
186
+ opacity: var(--_control-opacity, 1);
187
+ border-radius: var(--_control-radius, var(--mantine-radius-default));
188
+ }
189
+
190
+ @media (hover: hover) {
191
+ [data-mantine-color-scheme='light'] .m-dc6a3c71:hover:not([data-disabled]) {
192
+ --_control-bg: var(--mantine-color-gray-0);
193
+ }
194
+
195
+ [data-mantine-color-scheme='dark'] .m-dc6a3c71:hover:not([data-disabled]) {
196
+ --_control-bg: var(--mantine-color-dark-5);
197
+ }
198
+ }
199
+
200
+ @media (hover: none) {
201
+ [data-mantine-color-scheme='light'] .m-dc6a3c71:active:not([data-disabled]) {
202
+ --_control-bg: var(--mantine-color-gray-0);
203
+ }
204
+
205
+ [data-mantine-color-scheme='dark'] .m-dc6a3c71:active:not([data-disabled]) {
206
+ --_control-bg: var(--mantine-color-dark-5);
207
+ }
208
+ }
209
+
210
+ .m-dc6a3c71:disabled,
211
+ .m-dc6a3c71[data-disabled] {
212
+ --_control-color: var(--mantine-color-dimmed);
213
+ --_control-cursor: not-allowed;
214
+ --_control-opacity: 0.5;
215
+ }
216
+
217
+ .m-dc6a3c71[data-selected] {
218
+ --_control-bg: var(--mantine-primary-color-filled);
219
+ --_control-color: var(--mantine-color-white);
220
+ }
221
+
222
+ @media (hover: hover) {
223
+ [data-mantine-color-scheme] .m-dc6a3c71[data-selected]:hover {
224
+ --_control-bg: var(--mantine-primary-color-filled-hover);
225
+ }
226
+ }
227
+
228
+ @media (hover: none) {
229
+ [data-mantine-color-scheme] .m-dc6a3c71[data-selected]:active {
230
+ --_control-bg: var(--mantine-primary-color-filled-hover);
231
+ }
232
+ }
233
+
234
+ .m-dc6a3c71[data-in-range] {
235
+ --_control-bg: var(--mantine-primary-color-light-hover);
236
+ --_control-radius: 0;
237
+ }
238
+
239
+ @media (hover: hover) {
240
+ [data-mantine-color-scheme] .m-dc6a3c71[data-in-range]:hover {
241
+ --_control-bg: var(--mantine-primary-color-light);
242
+ }
243
+ }
244
+
245
+ @media (hover: none) {
246
+ [data-mantine-color-scheme] .m-dc6a3c71[data-in-range]:active {
247
+ --_control-bg: var(--mantine-primary-color-light);
248
+ }
249
+ }
250
+
251
+ .m-dc6a3c71[data-first-in-range] {
252
+ --_control-radius: var(--mantine-radius-default) 0 0 var(--mantine-radius-default);
253
+ }
254
+
255
+ [dir="rtl"] .m-dc6a3c71[data-first-in-range] {
256
+ --_control-radius: 0 var(--mantine-radius-default) var(--mantine-radius-default) 0;
257
+ }
258
+
259
+ .m-dc6a3c71[data-last-in-range] {
260
+ --_control-radius: 0 var(--mantine-radius-default) var(--mantine-radius-default) 0;
261
+ }
262
+
263
+ [dir="rtl"] .m-dc6a3c71[data-last-in-range] {
264
+ --_control-radius: var(--mantine-radius-default) 0 0 var(--mantine-radius-default);
265
+ }
266
+
267
+ .m-dc6a3c71[data-first-in-range][data-last-in-range] {
268
+ --_control-radius: var(--mantine-radius-default);
269
+ }
270
+
271
+ .m-9206547b {
272
+ border-collapse: collapse;
273
+ border-width: 0;
274
+ }
275
+
276
+ .m-c5a19c7d {
277
+ padding: var(--_cell-padding, 0);
278
+ }
279
+
280
+ .m-c5a19c7d[data-with-spacing] {
281
+ --_cell-padding: calc(0.03125rem * var(--mantine-scale));
282
+ }
283
+
284
+ .m-2a6c32d {
285
+ border-collapse: collapse;
286
+ border-width: 0;
287
+ cursor: pointer;
288
+ }
289
+
290
+ .m-fe27622f {
291
+ padding: var(--_cell-padding, 0);
292
+ }
293
+
294
+ .m-fe27622f[data-with-spacing] {
295
+ --_cell-padding: calc(0.03125rem * var(--mantine-scale));
296
+ }
297
+
298
+ .m-730a79ed {
299
+ --dch-control-size-xs: calc(1.875rem * var(--mantine-scale));
300
+ --dch-control-size-sm: calc(2.25rem * var(--mantine-scale));
301
+ --dch-control-size-md: calc(2.625rem * var(--mantine-scale));
302
+ --dch-control-size-lg: calc(3rem * var(--mantine-scale));
303
+ --dch-control-size-xl: calc(3.375rem * var(--mantine-scale));
304
+
305
+ display: flex;
306
+ max-width: calc(var(--dch-control-size) * 7 + calc(0.4375rem * var(--mantine-scale)));
307
+ margin-bottom: var(--mantine-spacing-xs);
308
+ }
309
+
310
+ .m-f6645d97,
311
+ .m-2351eeb0 {
312
+ height: var(--dch-control-size);
313
+ border-radius: var(--mantine-radius-default);
314
+ display: flex;
315
+ justify-content: center;
316
+ align-items: center;
317
+ user-select: none;
318
+ background-color: var(--_control-bg);
319
+ opacity: var(--_control-opacity, 1);
320
+ cursor: var(--_control-cursor, pointer);
321
+ }
322
+
323
+ @media (hover: hover) {
324
+ [data-mantine-color-scheme='light'] .m-f6645d97:hover:not([data-disabled], :disabled), [data-mantine-color-scheme='light'] .m-2351eeb0:hover:not([data-disabled], :disabled) {
325
+ --_control-bg: var(--mantine-color-gray-0);
326
+ }
327
+
328
+ [data-mantine-color-scheme='dark'] .m-f6645d97:hover:not([data-disabled], :disabled), [data-mantine-color-scheme='dark'] .m-2351eeb0:hover:not([data-disabled], :disabled) {
329
+ --_control-bg: var(--mantine-color-dark-5);
330
+ }
331
+ }
332
+
333
+ @media (hover: none) {
334
+ [data-mantine-color-scheme='light'] .m-f6645d97:active:not([data-disabled], :disabled), [data-mantine-color-scheme='light'] .m-2351eeb0:active:not([data-disabled], :disabled) {
335
+ --_control-bg: var(--mantine-color-gray-0);
336
+ }
337
+
338
+ [data-mantine-color-scheme='dark'] .m-f6645d97:active:not([data-disabled], :disabled), [data-mantine-color-scheme='dark'] .m-2351eeb0:active:not([data-disabled], :disabled) {
339
+ --_control-bg: var(--mantine-color-dark-5);
340
+ }
341
+ }
342
+
343
+ .m-f6645d97:disabled,
344
+ .m-f6645d97[data-disabled],
345
+ .m-2351eeb0:disabled,
346
+ .m-2351eeb0[data-disabled] {
347
+ --_control-opacity: 0.2;
348
+ --_control-cursor: not-allowed;
349
+ }
350
+
351
+ .m-2351eeb0 {
352
+ width: var(--dch-control-size);
353
+ }
354
+
355
+ .m-f6645d97 {
356
+ flex: 1 1;
357
+ font-size: var(--dch-fz);
358
+ font-weight: 500;
359
+ text-transform: capitalize;
360
+ }
361
+
362
+ .m-367dc749 {
363
+ width: 60%;
364
+ height: 60%;
365
+ transform: var(--_chevron-transform);
366
+ }
367
+
368
+ .m-367dc749[data-direction='next'] {
369
+ --_chevron-transform: rotate(270deg);
370
+ }
371
+
372
+ [dir="rtl"] .m-367dc749[data-direction='next'] {
373
+ --_chevron-transform: rotate(90deg);
374
+ }
375
+
376
+ .m-367dc749[data-direction='previous'] {
377
+ --_chevron-transform: rotate(90deg);
378
+ }
379
+
380
+ [dir="rtl"] .m-367dc749[data-direction='previous'] {
381
+ --_chevron-transform: rotate(270deg);
382
+ }
383
+
384
+ .m-30b26e33 {
385
+ display: flex;
386
+ gap: var(--mantine-spacing-md);
387
+ }
388
+
389
+ .m-6fa5e2aa {
390
+ cursor: var(--_cursor, pointer);
391
+ line-height: unset;
392
+ }
393
+
394
+ .m-6fa5e2aa[data-read-only] {
395
+ --_cursor: default;
396
+ }
397
+
398
+ .m-208d2562 {
399
+ display: flex;
400
+ align-items: stretch;
401
+ margin-top: var(--mantine-spacing-md);
402
+ }
403
+
404
+ .m-62ee059 {
405
+ flex: 1 1;
406
+ margin-right: var(--_mr, var(--mantine-spacing-md));
407
+ margin-left: var(--_ml, 0);
408
+ }
409
+
410
+ [dir="rtl"] .m-62ee059 {
411
+ --_mr: 0;
412
+ --_ml: var(--mantine-spacing-md);
413
+ }
package/cjs/index.js CHANGED
@@ -1,75 +1,76 @@
1
+ 'use client';
1
2
  'use strict';
2
3
 
3
4
  Object.defineProperty(exports, '__esModule', { value: true });
4
5
 
5
- var CalendarHeader = require('./components/CalendarHeader/CalendarHeader.js');
6
- var Calendar = require('./components/Calendar/Calendar.js');
7
- var pickCalendarLevelsProps = require('./components/Calendar/pick-calendar-levels-props/pick-calendar-levels-props.js');
8
- var DateInput = require('./components/DateInput/DateInput.js');
9
- var DatePicker = require('./components/DatePicker/DatePicker.js');
10
- var DatePickerInput = require('./components/DatePickerInput/DatePickerInput.js');
11
6
  var DatesProvider = require('./components/DatesProvider/DatesProvider.js');
12
7
  var useDatesContext = require('./components/DatesProvider/use-dates-context.js');
13
- var DateTimePicker = require('./components/DateTimePicker/DateTimePicker.js');
14
- var Day = require('./components/Day/Day.js');
15
- var DecadeLevel = require('./components/DecadeLevel/DecadeLevel.js');
16
- var DecadeLevelGroup = require('./components/DecadeLevelGroup/DecadeLevelGroup.js');
17
8
  var HiddenDatesInput = require('./components/HiddenDatesInput/HiddenDatesInput.js');
9
+ var TimeInput = require('./components/TimeInput/TimeInput.js');
10
+ var Day = require('./components/Day/Day.js');
11
+ var WeekdaysRow = require('./components/WeekdaysRow/WeekdaysRow.js');
18
12
  var getEndOfWeek = require('./components/Month/get-end-of-week/get-end-of-week.js');
19
13
  var getStartOfWeek = require('./components/Month/get-start-of-week/get-start-of-week.js');
20
14
  var getMonthDays = require('./components/Month/get-month-days/get-month-days.js');
21
15
  var isSameMonth = require('./components/Month/is-same-month/is-same-month.js');
22
16
  var Month = require('./components/Month/Month.js');
23
- var MonthLevel = require('./components/MonthLevel/MonthLevel.js');
24
- var MonthLevelGroup = require('./components/MonthLevelGroup/MonthLevelGroup.js');
25
- var MonthPicker = require('./components/MonthPicker/MonthPicker.js');
26
- var MonthPickerInput = require('./components/MonthPickerInput/MonthPickerInput.js');
27
- var MonthsList = require('./components/MonthsList/MonthsList.js');
28
17
  var PickerControl = require('./components/PickerControl/PickerControl.js');
29
- var PickerInputBase = require('./components/PickerInputBase/PickerInputBase.js');
30
- var TimeInput = require('./components/TimeInput/TimeInput.js');
31
- var WeekdaysRow = require('./components/WeekdaysRow/WeekdaysRow.js');
32
- var getWeekdaysNames = require('./components/WeekdaysRow/get-weekdays-names/get-weekdays-names.js');
18
+ var YearsList = require('./components/YearsList/YearsList.js');
19
+ var MonthsList = require('./components/MonthsList/MonthsList.js');
20
+ var CalendarHeader = require('./components/CalendarHeader/CalendarHeader.js');
21
+ var DecadeLevel = require('./components/DecadeLevel/DecadeLevel.js');
33
22
  var YearLevel = require('./components/YearLevel/YearLevel.js');
23
+ var MonthLevel = require('./components/MonthLevel/MonthLevel.js');
24
+ var LevelsGroup = require('./components/LevelsGroup/LevelsGroup.js');
25
+ var DecadeLevelGroup = require('./components/DecadeLevelGroup/DecadeLevelGroup.js');
34
26
  var YearLevelGroup = require('./components/YearLevelGroup/YearLevelGroup.js');
27
+ var MonthLevelGroup = require('./components/MonthLevelGroup/MonthLevelGroup.js');
28
+ var PickerInputBase = require('./components/PickerInputBase/PickerInputBase.js');
29
+ var Calendar = require('./components/Calendar/Calendar.js');
30
+ var pickCalendarLevelsProps = require('./components/Calendar/pick-calendar-levels-props/pick-calendar-levels-props.js');
35
31
  var YearPicker = require('./components/YearPicker/YearPicker.js');
32
+ var MonthPicker = require('./components/MonthPicker/MonthPicker.js');
33
+ var DatePicker = require('./components/DatePicker/DatePicker.js');
34
+ var DateInput = require('./components/DateInput/DateInput.js');
35
+ var DateTimePicker = require('./components/DateTimePicker/DateTimePicker.js');
36
36
  var YearPickerInput = require('./components/YearPickerInput/YearPickerInput.js');
37
- var YearsList = require('./components/YearsList/YearsList.js');
37
+ var MonthPickerInput = require('./components/MonthPickerInput/MonthPickerInput.js');
38
+ var DatePickerInput = require('./components/DatePickerInput/DatePickerInput.js');
38
39
 
39
40
 
40
41
 
41
- exports.CalendarHeader = CalendarHeader.CalendarHeader;
42
- exports.Calendar = Calendar.Calendar;
43
- exports.pickCalendarProps = pickCalendarLevelsProps.pickCalendarProps;
44
- exports.DateInput = DateInput.DateInput;
45
- exports.DatePicker = DatePicker.DatePicker;
46
- exports.DatePickerInput = DatePickerInput.DatePickerInput;
47
42
  exports.DATES_PROVIDER_DEFAULT_SETTINGS = DatesProvider.DATES_PROVIDER_DEFAULT_SETTINGS;
48
43
  exports.DatesProvider = DatesProvider.DatesProvider;
49
44
  exports.useDatesContext = useDatesContext.useDatesContext;
50
- exports.DateTimePicker = DateTimePicker.DateTimePicker;
51
- exports.Day = Day.Day;
52
- exports.DecadeLevel = DecadeLevel.DecadeLevel;
53
- exports.DecadeLevelGroup = DecadeLevelGroup.DecadeLevelGroup;
54
45
  exports.HiddenDatesInput = HiddenDatesInput.HiddenDatesInput;
46
+ exports.TimeInput = TimeInput.TimeInput;
47
+ exports.Day = Day.Day;
48
+ exports.WeekdaysRow = WeekdaysRow.WeekdaysRow;
55
49
  exports.getEndOfWeek = getEndOfWeek.getEndOfWeek;
56
50
  exports.getStartOfWeek = getStartOfWeek.getStartOfWeek;
57
51
  exports.getMonthDays = getMonthDays.getMonthDays;
58
52
  exports.isSameMonth = isSameMonth.isSameMonth;
59
53
  exports.Month = Month.Month;
60
- exports.MonthLevel = MonthLevel.MonthLevel;
61
- exports.MonthLevelGroup = MonthLevelGroup.MonthLevelGroup;
62
- exports.MonthPicker = MonthPicker.MonthPicker;
63
- exports.MonthPickerInput = MonthPickerInput.MonthPickerInput;
64
- exports.MonthsList = MonthsList.MonthsList;
65
54
  exports.PickerControl = PickerControl.PickerControl;
66
- exports.PickerInputBase = PickerInputBase.PickerInputBase;
67
- exports.TimeInput = TimeInput.TimeInput;
68
- exports.WeekdaysRow = WeekdaysRow.WeekdaysRow;
69
- exports.getWeekdayNames = getWeekdaysNames.getWeekdayNames;
55
+ exports.YearsList = YearsList.YearsList;
56
+ exports.MonthsList = MonthsList.MonthsList;
57
+ exports.CalendarHeader = CalendarHeader.CalendarHeader;
58
+ exports.DecadeLevel = DecadeLevel.DecadeLevel;
70
59
  exports.YearLevel = YearLevel.YearLevel;
60
+ exports.MonthLevel = MonthLevel.MonthLevel;
61
+ exports.LevelsGroup = LevelsGroup.LevelsGroup;
62
+ exports.DecadeLevelGroup = DecadeLevelGroup.DecadeLevelGroup;
71
63
  exports.YearLevelGroup = YearLevelGroup.YearLevelGroup;
64
+ exports.MonthLevelGroup = MonthLevelGroup.MonthLevelGroup;
65
+ exports.PickerInputBase = PickerInputBase.PickerInputBase;
66
+ exports.Calendar = Calendar.Calendar;
67
+ exports.pickCalendarProps = pickCalendarLevelsProps.pickCalendarProps;
72
68
  exports.YearPicker = YearPicker.YearPicker;
69
+ exports.MonthPicker = MonthPicker.MonthPicker;
70
+ exports.DatePicker = DatePicker.DatePicker;
71
+ exports.DateInput = DateInput.DateInput;
72
+ exports.DateTimePicker = DateTimePicker.DateTimePicker;
73
73
  exports.YearPickerInput = YearPickerInput.YearPickerInput;
74
- exports.YearsList = YearsList.YearsList;
74
+ exports.MonthPickerInput = MonthPickerInput.MonthPickerInput;
75
+ exports.DatePickerInput = DatePickerInput.DatePickerInput;
75
76
  //# sourceMappingURL=index.js.map
package/cjs/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -9,14 +9,14 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
9
9
  var dayjs__default = /*#__PURE__*/_interopDefaultLegacy(dayjs);
10
10
 
11
11
  function getDefaultClampedDate({ minDate, maxDate }) {
12
- const today = new Date();
12
+ const today = /* @__PURE__ */ new Date();
13
13
  if (!minDate && !maxDate) {
14
14
  return today;
15
15
  }
16
- if (dayjs__default(today).isBefore(minDate)) {
16
+ if (minDate && dayjs__default(today).isBefore(minDate)) {
17
17
  return minDate;
18
18
  }
19
- if (dayjs__default(today).isAfter(maxDate)) {
19
+ if (maxDate && dayjs__default(today).isAfter(maxDate)) {
20
20
  return maxDate;
21
21
  }
22
22
  return today;
@@ -1 +1 @@
1
- {"version":3,"file":"get-default-clamped-date.js","sources":["../../src/utils/get-default-clamped-date.ts"],"sourcesContent":["import dayjs from 'dayjs';\n\ninterface GetDefaultClampedDate {\n minDate: Date;\n maxDate: Date;\n}\n\nexport function getDefaultClampedDate({ minDate, maxDate }: GetDefaultClampedDate) {\n const today = new Date();\n\n if (!minDate && !maxDate) {\n return today;\n }\n\n if (dayjs(today).isBefore(minDate)) {\n return minDate;\n }\n\n if (dayjs(today).isAfter(maxDate)) {\n return maxDate;\n }\n\n return today;\n}\n"],"names":["dayjs"],"mappings":";;;;;;;;;;AACO,SAAS,qBAAqB,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE;AAC5D,EAAE,MAAM,KAAK,GAAG,IAAI,IAAI,EAAE,CAAC;AAC3B,EAAE,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,EAAE;AAC5B,IAAI,OAAO,KAAK,CAAC;AACjB,GAAG;AACH,EAAE,IAAIA,cAAK,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;AACtC,IAAI,OAAO,OAAO,CAAC;AACnB,GAAG;AACH,EAAE,IAAIA,cAAK,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;AACrC,IAAI,OAAO,OAAO,CAAC;AACnB,GAAG;AACH,EAAE,OAAO,KAAK,CAAC;AACf;;;;"}
1
+ {"version":3,"file":"get-default-clamped-date.js","sources":["../../src/utils/get-default-clamped-date.ts"],"sourcesContent":["import dayjs from 'dayjs';\n\ninterface GetDefaultClampedDate {\n minDate: Date | undefined;\n maxDate: Date | undefined;\n}\n\nexport function getDefaultClampedDate({ minDate, maxDate }: GetDefaultClampedDate) {\n const today = new Date();\n\n if (!minDate && !maxDate) {\n return today;\n }\n\n if (minDate && dayjs(today).isBefore(minDate)) {\n return minDate;\n }\n\n if (maxDate && dayjs(today).isAfter(maxDate)) {\n return maxDate;\n }\n\n return today;\n}\n"],"names":["dayjs"],"mappings":";;;;;;;;;;AACO,SAAS,qBAAqB,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE;AAC5D,EAAE,MAAM,KAAK,mBAAmB,IAAI,IAAI,EAAE,CAAC;AAC3C,EAAE,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,EAAE;AAC5B,IAAI,OAAO,KAAK,CAAC;AACjB,GAAG;AACH,EAAE,IAAI,OAAO,IAAIA,cAAK,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;AACjD,IAAI,OAAO,OAAO,CAAC;AACnB,GAAG;AACH,EAAE,IAAI,OAAO,IAAIA,cAAK,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;AAChD,IAAI,OAAO,OAAO,CAAC;AACnB,GAAG;AACH,EAAE,OAAO,KAAK,CAAC;AACf;;;;"}
@@ -22,7 +22,7 @@ function getFormattedDate({
22
22
  if (type === "multiple") {
23
23
  return date.map(formatDate).join(", ");
24
24
  }
25
- if (type === "range") {
25
+ if (type === "range" && Array.isArray(date)) {
26
26
  if (date[0] && date[1]) {
27
27
  return `${formatDate(date[0])} ${labelSeparator} ${formatDate(date[1])}`;
28
28
  }