@salt-ds/lab 1.0.0-alpha.89 → 1.0.0-alpha.90

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 (306) hide show
  1. package/CHANGELOG.md +103 -0
  2. package/css/salt-lab.css +120 -643
  3. package/dist-cjs/calendar/index.js +61 -0
  4. package/dist-cjs/calendar/index.js.map +1 -0
  5. package/dist-cjs/content-status/ContentStatus.js +1 -1
  6. package/dist-cjs/content-status/ContentStatus.js.map +1 -1
  7. package/dist-cjs/date-input/index.js +23 -0
  8. package/dist-cjs/date-input/index.js.map +1 -0
  9. package/dist-cjs/date-picker/index.js +106 -0
  10. package/dist-cjs/date-picker/index.js.map +1 -0
  11. package/dist-cjs/index.js +58 -56
  12. package/dist-cjs/index.js.map +1 -1
  13. package/dist-cjs/localization-provider/index.js +26 -0
  14. package/dist-cjs/localization-provider/index.js.map +1 -0
  15. package/dist-cjs/rating/Rating.css.js +1 -1
  16. package/dist-cjs/rating/Rating.js +11 -16
  17. package/dist-cjs/rating/Rating.js.map +1 -1
  18. package/dist-cjs/side-panel/SidePanel.css.js +6 -0
  19. package/dist-cjs/side-panel/SidePanel.css.js.map +1 -0
  20. package/dist-cjs/side-panel/SidePanel.js +156 -0
  21. package/dist-cjs/side-panel/SidePanel.js.map +1 -0
  22. package/dist-cjs/side-panel/SidePanelContent.css.js +6 -0
  23. package/dist-cjs/side-panel/SidePanelContent.css.js.map +1 -0
  24. package/dist-cjs/side-panel/SidePanelContent.js +86 -0
  25. package/dist-cjs/side-panel/SidePanelContent.js.map +1 -0
  26. package/dist-cjs/side-panel/SidePanelHeader.css.js +6 -0
  27. package/dist-cjs/side-panel/SidePanelHeader.css.js.map +1 -0
  28. package/dist-cjs/side-panel/SidePanelHeader.js +26 -0
  29. package/dist-cjs/side-panel/SidePanelHeader.js.map +1 -0
  30. package/dist-cjs/side-panel/SidePanelProvider.js +71 -0
  31. package/dist-cjs/side-panel/SidePanelProvider.js.map +1 -0
  32. package/dist-cjs/side-panel/SidePanelTitle.css.js +6 -0
  33. package/dist-cjs/side-panel/SidePanelTitle.css.js.map +1 -0
  34. package/dist-cjs/side-panel/SidePanelTitle.js +47 -0
  35. package/dist-cjs/side-panel/SidePanelTitle.js.map +1 -0
  36. package/dist-cjs/side-panel/SidePanelTrigger.js +37 -0
  37. package/dist-cjs/side-panel/SidePanelTrigger.js.map +1 -0
  38. package/dist-cjs/side-panel/internal/SidePanelContext.js +31 -0
  39. package/dist-cjs/side-panel/internal/SidePanelContext.js.map +1 -0
  40. package/dist-cjs/side-panel/useSidePanel.js +41 -0
  41. package/dist-cjs/side-panel/useSidePanel.js.map +1 -0
  42. package/dist-cjs/utils/deprecatedExport.js +30 -0
  43. package/dist-cjs/utils/deprecatedExport.js.map +1 -0
  44. package/dist-es/calendar/index.js +50 -0
  45. package/dist-es/calendar/index.js.map +1 -0
  46. package/dist-es/content-status/ContentStatus.js +1 -1
  47. package/dist-es/content-status/ContentStatus.js.map +1 -1
  48. package/dist-es/date-input/index.js +20 -0
  49. package/dist-es/date-input/index.js.map +1 -0
  50. package/dist-es/date-picker/index.js +85 -0
  51. package/dist-es/date-picker/index.js.map +1 -0
  52. package/dist-es/index.js +12 -23
  53. package/dist-es/index.js.map +1 -1
  54. package/dist-es/localization-provider/index.js +20 -0
  55. package/dist-es/localization-provider/index.js.map +1 -0
  56. package/dist-es/rating/Rating.css.js +1 -1
  57. package/dist-es/rating/Rating.js +13 -18
  58. package/dist-es/rating/Rating.js.map +1 -1
  59. package/dist-es/side-panel/SidePanel.css.js +4 -0
  60. package/dist-es/side-panel/SidePanel.css.js.map +1 -0
  61. package/dist-es/side-panel/SidePanel.js +154 -0
  62. package/dist-es/side-panel/SidePanel.js.map +1 -0
  63. package/dist-es/side-panel/SidePanelContent.css.js +4 -0
  64. package/dist-es/side-panel/SidePanelContent.css.js.map +1 -0
  65. package/dist-es/side-panel/SidePanelContent.js +84 -0
  66. package/dist-es/side-panel/SidePanelContent.js.map +1 -0
  67. package/dist-es/side-panel/SidePanelHeader.css.js +4 -0
  68. package/dist-es/side-panel/SidePanelHeader.css.js.map +1 -0
  69. package/dist-es/side-panel/SidePanelHeader.js +24 -0
  70. package/dist-es/side-panel/SidePanelHeader.js.map +1 -0
  71. package/dist-es/side-panel/SidePanelProvider.js +69 -0
  72. package/dist-es/side-panel/SidePanelProvider.js.map +1 -0
  73. package/dist-es/side-panel/SidePanelTitle.css.js +4 -0
  74. package/dist-es/side-panel/SidePanelTitle.css.js.map +1 -0
  75. package/dist-es/side-panel/SidePanelTitle.js +45 -0
  76. package/dist-es/side-panel/SidePanelTitle.js.map +1 -0
  77. package/dist-es/side-panel/SidePanelTrigger.js +35 -0
  78. package/dist-es/side-panel/SidePanelTrigger.js.map +1 -0
  79. package/dist-es/side-panel/internal/SidePanelContext.js +28 -0
  80. package/dist-es/side-panel/internal/SidePanelContext.js.map +1 -0
  81. package/dist-es/side-panel/useSidePanel.js +39 -0
  82. package/dist-es/side-panel/useSidePanel.js.map +1 -0
  83. package/dist-es/utils/deprecatedExport.js +27 -0
  84. package/dist-es/utils/deprecatedExport.js.map +1 -0
  85. package/dist-types/calendar/index.d.ts +13 -8
  86. package/dist-types/date-input/index.d.ts +3 -2
  87. package/dist-types/index.d.ts +1 -0
  88. package/dist-types/localization-provider/index.d.ts +9 -1
  89. package/dist-types/rating/Rating.d.ts +1 -2
  90. package/dist-types/side-panel/SidePanel.d.ts +27 -0
  91. package/dist-types/side-panel/SidePanelContent.d.ts +4 -0
  92. package/dist-types/side-panel/SidePanelHeader.d.ts +4 -0
  93. package/dist-types/side-panel/SidePanelProvider.d.ts +20 -0
  94. package/dist-types/side-panel/SidePanelTitle.d.ts +4 -0
  95. package/dist-types/side-panel/SidePanelTrigger.d.ts +5 -0
  96. package/dist-types/side-panel/index.d.ts +7 -0
  97. package/dist-types/side-panel/internal/SidePanelContext.d.ts +48 -0
  98. package/dist-types/side-panel/internal/index.d.ts +1 -0
  99. package/dist-types/side-panel/useSidePanel.d.ts +32 -0
  100. package/dist-types/utils/deprecatedExport.d.ts +11 -0
  101. package/package.json +5 -12
  102. package/dist-cjs/calendar/Calendar.css.js +0 -6
  103. package/dist-cjs/calendar/Calendar.css.js.map +0 -1
  104. package/dist-cjs/calendar/Calendar.js +0 -152
  105. package/dist-cjs/calendar/Calendar.js.map +0 -1
  106. package/dist-cjs/calendar/CalendarGrid.js +0 -85
  107. package/dist-cjs/calendar/CalendarGrid.js.map +0 -1
  108. package/dist-cjs/calendar/CalendarMonthHeader.css.js +0 -6
  109. package/dist-cjs/calendar/CalendarMonthHeader.css.js.map +0 -1
  110. package/dist-cjs/calendar/CalendarMonthHeader.js +0 -48
  111. package/dist-cjs/calendar/CalendarMonthHeader.js.map +0 -1
  112. package/dist-cjs/calendar/CalendarNavigation.css.js +0 -6
  113. package/dist-cjs/calendar/CalendarNavigation.css.js.map +0 -1
  114. package/dist-cjs/calendar/CalendarNavigation.js +0 -337
  115. package/dist-cjs/calendar/CalendarNavigation.js.map +0 -1
  116. package/dist-cjs/calendar/CalendarWeekHeader.css.js +0 -6
  117. package/dist-cjs/calendar/CalendarWeekHeader.css.js.map +0 -1
  118. package/dist-cjs/calendar/CalendarWeekHeader.js +0 -46
  119. package/dist-cjs/calendar/CalendarWeekHeader.js.map +0 -1
  120. package/dist-cjs/calendar/internal/CalendarContext.js +0 -25
  121. package/dist-cjs/calendar/internal/CalendarContext.js.map +0 -1
  122. package/dist-cjs/calendar/internal/CalendarDay.css.js +0 -6
  123. package/dist-cjs/calendar/internal/CalendarDay.css.js.map +0 -1
  124. package/dist-cjs/calendar/internal/CalendarDay.js +0 -97
  125. package/dist-cjs/calendar/internal/CalendarDay.js.map +0 -1
  126. package/dist-cjs/calendar/internal/CalendarMonth.css.js +0 -6
  127. package/dist-cjs/calendar/internal/CalendarMonth.css.js.map +0 -1
  128. package/dist-cjs/calendar/internal/CalendarMonth.js +0 -76
  129. package/dist-cjs/calendar/internal/CalendarMonth.js.map +0 -1
  130. package/dist-cjs/calendar/internal/useFocusManagement.js +0 -68
  131. package/dist-cjs/calendar/internal/useFocusManagement.js.map +0 -1
  132. package/dist-cjs/calendar/internal/utils.js +0 -50
  133. package/dist-cjs/calendar/internal/utils.js.map +0 -1
  134. package/dist-cjs/calendar/useCalendar.js +0 -183
  135. package/dist-cjs/calendar/useCalendar.js.map +0 -1
  136. package/dist-cjs/calendar/useCalendarDay.js +0 -85
  137. package/dist-cjs/calendar/useCalendarDay.js.map +0 -1
  138. package/dist-cjs/calendar/useCalendarSelection.js +0 -604
  139. package/dist-cjs/calendar/useCalendarSelection.js.map +0 -1
  140. package/dist-cjs/date-input/DateInput.css.js +0 -6
  141. package/dist-cjs/date-input/DateInput.css.js.map +0 -1
  142. package/dist-cjs/date-input/DateInputRange.js +0 -352
  143. package/dist-cjs/date-input/DateInputRange.js.map +0 -1
  144. package/dist-cjs/date-input/DateInputSingle.js +0 -234
  145. package/dist-cjs/date-input/DateInputSingle.js.map +0 -1
  146. package/dist-cjs/date-picker/DatePicker.js +0 -75
  147. package/dist-cjs/date-picker/DatePicker.js.map +0 -1
  148. package/dist-cjs/date-picker/DatePickerActions.css.js +0 -6
  149. package/dist-cjs/date-picker/DatePickerActions.css.js.map +0 -1
  150. package/dist-cjs/date-picker/DatePickerActions.js +0 -91
  151. package/dist-cjs/date-picker/DatePickerActions.js.map +0 -1
  152. package/dist-cjs/date-picker/DatePickerContext.js +0 -36
  153. package/dist-cjs/date-picker/DatePickerContext.js.map +0 -1
  154. package/dist-cjs/date-picker/DatePickerHelperText.css.js +0 -6
  155. package/dist-cjs/date-picker/DatePickerHelperText.css.js.map +0 -1
  156. package/dist-cjs/date-picker/DatePickerHelperText.js +0 -36
  157. package/dist-cjs/date-picker/DatePickerHelperText.js.map +0 -1
  158. package/dist-cjs/date-picker/DatePickerOverlay.css.js +0 -6
  159. package/dist-cjs/date-picker/DatePickerOverlay.css.js.map +0 -1
  160. package/dist-cjs/date-picker/DatePickerOverlay.js +0 -48
  161. package/dist-cjs/date-picker/DatePickerOverlay.js.map +0 -1
  162. package/dist-cjs/date-picker/DatePickerOverlayProvider.js +0 -166
  163. package/dist-cjs/date-picker/DatePickerOverlayProvider.js.map +0 -1
  164. package/dist-cjs/date-picker/DatePickerPanel.css.js +0 -6
  165. package/dist-cjs/date-picker/DatePickerPanel.css.js.map +0 -1
  166. package/dist-cjs/date-picker/DatePickerRangeGridPanel.js +0 -246
  167. package/dist-cjs/date-picker/DatePickerRangeGridPanel.js.map +0 -1
  168. package/dist-cjs/date-picker/DatePickerRangeInput.js +0 -202
  169. package/dist-cjs/date-picker/DatePickerRangeInput.js.map +0 -1
  170. package/dist-cjs/date-picker/DatePickerRangePanel.js +0 -355
  171. package/dist-cjs/date-picker/DatePickerRangePanel.js.map +0 -1
  172. package/dist-cjs/date-picker/DatePickerSingleGridPanel.js +0 -253
  173. package/dist-cjs/date-picker/DatePickerSingleGridPanel.js.map +0 -1
  174. package/dist-cjs/date-picker/DatePickerSingleInput.js +0 -148
  175. package/dist-cjs/date-picker/DatePickerSingleInput.js.map +0 -1
  176. package/dist-cjs/date-picker/DatePickerSinglePanel.js +0 -20
  177. package/dist-cjs/date-picker/DatePickerSinglePanel.js.map +0 -1
  178. package/dist-cjs/date-picker/DatePickerTrigger.js +0 -32
  179. package/dist-cjs/date-picker/DatePickerTrigger.js.map +0 -1
  180. package/dist-cjs/date-picker/useDatePicker.js +0 -201
  181. package/dist-cjs/date-picker/useDatePicker.js.map +0 -1
  182. package/dist-cjs/date-picker/useFocusOut.js +0 -43
  183. package/dist-cjs/date-picker/useFocusOut.js.map +0 -1
  184. package/dist-cjs/date-picker/useKeyboard.js +0 -22
  185. package/dist-cjs/date-picker/useKeyboard.js.map +0 -1
  186. package/dist-cjs/localization-provider/LocalizationProvider.js +0 -51
  187. package/dist-cjs/localization-provider/LocalizationProvider.js.map +0 -1
  188. package/dist-es/calendar/Calendar.css.js +0 -4
  189. package/dist-es/calendar/Calendar.css.js.map +0 -1
  190. package/dist-es/calendar/Calendar.js +0 -150
  191. package/dist-es/calendar/Calendar.js.map +0 -1
  192. package/dist-es/calendar/CalendarGrid.js +0 -83
  193. package/dist-es/calendar/CalendarGrid.js.map +0 -1
  194. package/dist-es/calendar/CalendarMonthHeader.css.js +0 -4
  195. package/dist-es/calendar/CalendarMonthHeader.css.js.map +0 -1
  196. package/dist-es/calendar/CalendarMonthHeader.js +0 -46
  197. package/dist-es/calendar/CalendarMonthHeader.js.map +0 -1
  198. package/dist-es/calendar/CalendarNavigation.css.js +0 -4
  199. package/dist-es/calendar/CalendarNavigation.css.js.map +0 -1
  200. package/dist-es/calendar/CalendarNavigation.js +0 -335
  201. package/dist-es/calendar/CalendarNavigation.js.map +0 -1
  202. package/dist-es/calendar/CalendarWeekHeader.css.js +0 -4
  203. package/dist-es/calendar/CalendarWeekHeader.css.js.map +0 -1
  204. package/dist-es/calendar/CalendarWeekHeader.js +0 -44
  205. package/dist-es/calendar/CalendarWeekHeader.js.map +0 -1
  206. package/dist-es/calendar/internal/CalendarContext.js +0 -22
  207. package/dist-es/calendar/internal/CalendarContext.js.map +0 -1
  208. package/dist-es/calendar/internal/CalendarDay.css.js +0 -4
  209. package/dist-es/calendar/internal/CalendarDay.css.js.map +0 -1
  210. package/dist-es/calendar/internal/CalendarDay.js +0 -95
  211. package/dist-es/calendar/internal/CalendarDay.js.map +0 -1
  212. package/dist-es/calendar/internal/CalendarMonth.css.js +0 -4
  213. package/dist-es/calendar/internal/CalendarMonth.css.js.map +0 -1
  214. package/dist-es/calendar/internal/CalendarMonth.js +0 -74
  215. package/dist-es/calendar/internal/CalendarMonth.js.map +0 -1
  216. package/dist-es/calendar/internal/useFocusManagement.js +0 -66
  217. package/dist-es/calendar/internal/useFocusManagement.js.map +0 -1
  218. package/dist-es/calendar/internal/utils.js +0 -44
  219. package/dist-es/calendar/internal/utils.js.map +0 -1
  220. package/dist-es/calendar/useCalendar.js +0 -181
  221. package/dist-es/calendar/useCalendar.js.map +0 -1
  222. package/dist-es/calendar/useCalendarDay.js +0 -83
  223. package/dist-es/calendar/useCalendarDay.js.map +0 -1
  224. package/dist-es/calendar/useCalendarSelection.js +0 -600
  225. package/dist-es/calendar/useCalendarSelection.js.map +0 -1
  226. package/dist-es/date-input/DateInput.css.js +0 -4
  227. package/dist-es/date-input/DateInput.css.js.map +0 -1
  228. package/dist-es/date-input/DateInputRange.js +0 -349
  229. package/dist-es/date-input/DateInputRange.js.map +0 -1
  230. package/dist-es/date-input/DateInputSingle.js +0 -232
  231. package/dist-es/date-input/DateInputSingle.js.map +0 -1
  232. package/dist-es/date-picker/DatePicker.js +0 -72
  233. package/dist-es/date-picker/DatePicker.js.map +0 -1
  234. package/dist-es/date-picker/DatePickerActions.css.js +0 -4
  235. package/dist-es/date-picker/DatePickerActions.css.js.map +0 -1
  236. package/dist-es/date-picker/DatePickerActions.js +0 -89
  237. package/dist-es/date-picker/DatePickerActions.js.map +0 -1
  238. package/dist-es/date-picker/DatePickerContext.js +0 -32
  239. package/dist-es/date-picker/DatePickerContext.js.map +0 -1
  240. package/dist-es/date-picker/DatePickerHelperText.css.js +0 -4
  241. package/dist-es/date-picker/DatePickerHelperText.css.js.map +0 -1
  242. package/dist-es/date-picker/DatePickerHelperText.js +0 -34
  243. package/dist-es/date-picker/DatePickerHelperText.js.map +0 -1
  244. package/dist-es/date-picker/DatePickerOverlay.css.js +0 -4
  245. package/dist-es/date-picker/DatePickerOverlay.css.js.map +0 -1
  246. package/dist-es/date-picker/DatePickerOverlay.js +0 -46
  247. package/dist-es/date-picker/DatePickerOverlay.js.map +0 -1
  248. package/dist-es/date-picker/DatePickerOverlayProvider.js +0 -163
  249. package/dist-es/date-picker/DatePickerOverlayProvider.js.map +0 -1
  250. package/dist-es/date-picker/DatePickerPanel.css.js +0 -4
  251. package/dist-es/date-picker/DatePickerPanel.css.js.map +0 -1
  252. package/dist-es/date-picker/DatePickerRangeGridPanel.js +0 -244
  253. package/dist-es/date-picker/DatePickerRangeGridPanel.js.map +0 -1
  254. package/dist-es/date-picker/DatePickerRangeInput.js +0 -199
  255. package/dist-es/date-picker/DatePickerRangeInput.js.map +0 -1
  256. package/dist-es/date-picker/DatePickerRangePanel.js +0 -353
  257. package/dist-es/date-picker/DatePickerRangePanel.js.map +0 -1
  258. package/dist-es/date-picker/DatePickerSingleGridPanel.js +0 -251
  259. package/dist-es/date-picker/DatePickerSingleGridPanel.js.map +0 -1
  260. package/dist-es/date-picker/DatePickerSingleInput.js +0 -146
  261. package/dist-es/date-picker/DatePickerSingleInput.js.map +0 -1
  262. package/dist-es/date-picker/DatePickerSinglePanel.js +0 -18
  263. package/dist-es/date-picker/DatePickerSinglePanel.js.map +0 -1
  264. package/dist-es/date-picker/DatePickerTrigger.js +0 -30
  265. package/dist-es/date-picker/DatePickerTrigger.js.map +0 -1
  266. package/dist-es/date-picker/useDatePicker.js +0 -199
  267. package/dist-es/date-picker/useDatePicker.js.map +0 -1
  268. package/dist-es/date-picker/useFocusOut.js +0 -41
  269. package/dist-es/date-picker/useFocusOut.js.map +0 -1
  270. package/dist-es/date-picker/useKeyboard.js +0 -20
  271. package/dist-es/date-picker/useKeyboard.js.map +0 -1
  272. package/dist-es/localization-provider/LocalizationProvider.js +0 -47
  273. package/dist-es/localization-provider/LocalizationProvider.js.map +0 -1
  274. package/dist-types/calendar/Calendar.d.ts +0 -116
  275. package/dist-types/calendar/CalendarGrid.d.ts +0 -29
  276. package/dist-types/calendar/CalendarMonthHeader.d.ts +0 -18
  277. package/dist-types/calendar/CalendarNavigation.d.ts +0 -64
  278. package/dist-types/calendar/CalendarWeekHeader.d.ts +0 -6
  279. package/dist-types/calendar/internal/CalendarContext.d.ts +0 -7
  280. package/dist-types/calendar/internal/CalendarDay.d.ts +0 -32
  281. package/dist-types/calendar/internal/CalendarMonth.d.ts +0 -13
  282. package/dist-types/calendar/internal/useFocusManagement.d.ts +0 -9
  283. package/dist-types/calendar/internal/utils.d.ts +0 -6
  284. package/dist-types/calendar/useCalendar.d.ts +0 -294
  285. package/dist-types/calendar/useCalendarDay.d.ts +0 -56
  286. package/dist-types/calendar/useCalendarSelection.d.ts +0 -365
  287. package/dist-types/date-input/DateInputRange.d.ts +0 -136
  288. package/dist-types/date-input/DateInputSingle.d.ts +0 -104
  289. package/dist-types/date-picker/DatePicker.d.ts +0 -55
  290. package/dist-types/date-picker/DatePickerActions.d.ts +0 -81
  291. package/dist-types/date-picker/DatePickerContext.d.ts +0 -188
  292. package/dist-types/date-picker/DatePickerHelperText.d.ts +0 -4
  293. package/dist-types/date-picker/DatePickerOverlay.d.ts +0 -11
  294. package/dist-types/date-picker/DatePickerOverlayProvider.d.ts +0 -102
  295. package/dist-types/date-picker/DatePickerRangeGridPanel.d.ts +0 -16
  296. package/dist-types/date-picker/DatePickerRangeInput.d.ts +0 -18
  297. package/dist-types/date-picker/DatePickerRangePanel.d.ts +0 -84
  298. package/dist-types/date-picker/DatePickerSingleGridPanel.d.ts +0 -64
  299. package/dist-types/date-picker/DatePickerSingleInput.d.ts +0 -17
  300. package/dist-types/date-picker/DatePickerSinglePanel.d.ts +0 -8
  301. package/dist-types/date-picker/DatePickerTrigger.d.ts +0 -9
  302. package/dist-types/date-picker/index.d.ts +0 -13
  303. package/dist-types/date-picker/useDatePicker.d.ts +0 -119
  304. package/dist-types/date-picker/useFocusOut.d.ts +0 -9
  305. package/dist-types/date-picker/useKeyboard.d.ts +0 -20
  306. package/dist-types/localization-provider/LocalizationProvider.d.ts +0 -62
@@ -1,365 +0,0 @@
1
- import type { DateFrameworkType, Timezone } from "@salt-ds/date-adapters";
2
- import type { KeyboardEventHandler, MouseEventHandler, SyntheticEvent } from "react";
3
- /**
4
- * Type representing a single date selection.
5
- * @template TDate - The type of the date object.
6
- */
7
- export type SingleDateSelection<TDate extends DateFrameworkType> = TDate;
8
- /**
9
- * Type representing a date range selection.
10
- * @template TDate - The type of the date object.
11
- */
12
- export type DateRangeSelection<TDate extends DateFrameworkType> = {
13
- /**
14
- * The start date of the range, or null if empty
15
- */
16
- startDate?: TDate | null;
17
- /**
18
- * The end date of the range, or null if empty
19
- */
20
- endDate?: TDate | null;
21
- };
22
- /**
23
- * Checks if a value is a date range selection.
24
- * @template TDate - The type of the date object.
25
- * @param value - The value to check.
26
- * @returns `true` if the value is a date range selection, otherwise `false`.
27
- */
28
- export declare function isDateRangeSelection<TDate extends DateFrameworkType>(value: any): value is DateRangeSelection<TDate>;
29
- /**
30
- * Base properties for calendar UseCalendarSelection hook.
31
- * @template TDate - The type of the date object.
32
- */
33
- export interface UseCalendarSelectionBaseProps<TDate extends DateFrameworkType> {
34
- /**
35
- * The currently focused date in the calendar, or null if no date is focused.
36
- */
37
- focusedDate?: TDate | null;
38
- /**
39
- * The currently hovered date.
40
- */
41
- hoveredDate?: TDate | null;
42
- /**
43
- * Determines if a date is outside the allowed date range.
44
- * @param date - The date to check.
45
- * @returns `true` if the date is outside the allowed range, otherwise `false`.
46
- */
47
- isOutsideAllowedDates?: (date: TDate) => boolean;
48
- /**
49
- * Function to determine if a day is selectable.
50
- * @param date - The date to check.
51
- * @returns `true` if the day is selectable, otherwise `false`.
52
- */
53
- isDaySelectable?: (date: TDate) => boolean;
54
- /**
55
- * Function to determine if a day is visible.
56
- * @param date - The date to check.
57
- * @returns `true` if the day is visible, otherwise `false`.
58
- */
59
- isDayVisible?: (date: TDate) => boolean;
60
- /**
61
- * Ref to attach to the focused element, enabling focus to be controlled.
62
- */
63
- focusedDateRef?: React.MutableRefObject<HTMLElement | null>;
64
- /**
65
- * Callback fired when the focused date changes.
66
- * @param event - The synthetic event, if user event triggered focus or null.
67
- * @param date - The new focused date.
68
- */
69
- onFocusedDateChange?: (event: SyntheticEvent | null, date: TDate | null) => void;
70
- /**
71
- * Callback fired when the hovered date changes.
72
- * @param event - The synthetic event.
73
- * @param hoveredDate - The new hovered date.
74
- */
75
- onHoveredDateChange?: (event: SyntheticEvent, hoveredDate: TDate | null) => void;
76
- /**
77
- * Specifies the timezone behavior:
78
- * - If undefined, the timezone will be derived from the passed date, or from `defaultSelectedDate`/`selectedDate`.
79
- * - If set to "default", the default timezone of the date library will be used.
80
- * - If set to "system", the local system's timezone will be applied.
81
- * - If set to "UTC", the time will be returned in UTC.
82
- * - If set to a valid IANA timezone identifier, the time will be returned for that specific timezone.
83
- */
84
- timezone?: Timezone;
85
- /**
86
- * The currently visible month.
87
- */
88
- visibleMonth?: TDate;
89
- /**
90
- * If `true`, the calendar will be multiselect.
91
- */
92
- multiselect?: boolean;
93
- }
94
- /**
95
- * Properties for the single date selection hook.
96
- * @template TDate - The type of the date object.
97
- */
98
- export interface UseCalendarSelectionSingleProps<TDate extends DateFrameworkType> extends UseCalendarSelectionBaseProps<TDate> {
99
- /**
100
- * The selection variant, set to "single".
101
- */
102
- selectionVariant: "single";
103
- /**
104
- * The currently selected date.
105
- */
106
- selectedDate?: SingleDateSelection<TDate> | null;
107
- /**
108
- * The default selected date.
109
- */
110
- defaultSelectedDate?: SingleDateSelection<TDate> | null;
111
- /**
112
- * Callback fired when the selected date changes.
113
- * @param event - The synthetic event.
114
- * @param selectedDate - The new selected date.
115
- */
116
- onSelectionChange?: (event: SyntheticEvent, selectedDate: SingleDateSelection<TDate> | null) => void;
117
- /**
118
- * A pure function to manage the selected date for uncontrolled use-cases.
119
- * Return the selection based on the previous selection and the new date.
120
- * @param previousSelectedDate
121
- * @param newDate
122
- */
123
- select?: (previousSelectedDate: SingleDateSelection<TDate> | null, newDate: SingleDateSelection<TDate> | null) => SingleDateSelection<TDate> | null;
124
- }
125
- /**
126
- * Properties for the single date selection hook.
127
- * @template TDate - The type of the date object.
128
- */
129
- export interface UseCalendarSelectionMultiselectSingleProps<TDate extends DateFrameworkType> extends UseCalendarSelectionBaseProps<TDate> {
130
- /**
131
- * The selection variant, set to "single".
132
- */
133
- selectionVariant: "single";
134
- /**
135
- * Multiple selection
136
- */
137
- multiselect: true;
138
- /**
139
- * The currently selected date.
140
- */
141
- selectedDate?: Array<SingleDateSelection<TDate>>;
142
- /**
143
- * The default selected date.
144
- */
145
- defaultSelectedDate?: Array<SingleDateSelection<TDate>>;
146
- /**
147
- * Callback fired when the selected date changes.
148
- * @param event - The synthetic event.
149
- * @param selectedDate - The new selected date.
150
- */
151
- onSelectionChange?: (event: SyntheticEvent, selectedDate: Array<SingleDateSelection<TDate>>) => void;
152
- /**
153
- * A pure function to manage the selected date for uncontrolled use-cases.
154
- * Return the selection based on the previous selection and the new date.
155
- * @param previousSelectedDate
156
- @param newDate
157
- */
158
- select?: (previousSelectedDate: Array<SingleDateSelection<TDate>>, newDate: TDate) => Array<SingleDateSelection<TDate>>;
159
- }
160
- /**
161
- * UseCalendar hook props to return a calendar day's status for single date range selection.
162
- * @template TDate - The type of the date object.
163
- */
164
- export interface UseCalendarSelectionRangeProps<TDate extends DateFrameworkType> extends UseCalendarSelectionBaseProps<TDate> {
165
- /**
166
- * The selection variant, set to "range".
167
- */
168
- selectionVariant: "range";
169
- /**
170
- * The currently selected date.
171
- */
172
- selectedDate?: DateRangeSelection<TDate>;
173
- /**
174
- * The default selected date.
175
- */
176
- defaultSelectedDate?: DateRangeSelection<TDate>;
177
- /**
178
- * Callback fired when the selected date changes.
179
- * @param event - The synthetic event.
180
- * @param selectedDate - The new selected date.
181
- */
182
- onSelectionChange?: (event: SyntheticEvent, selectedDate: DateRangeSelection<TDate>) => void;
183
- /**
184
- * A pure function to manage the selected date for uncontrolled use-cases.
185
- * Return the selection based on the previous selection and the new date.
186
- * @param previousSelectedDate
187
- * @param newDate
188
- */
189
- select?: (previousSelectedDate: DateRangeSelection<TDate>, newDate: TDate) => DateRangeSelection<TDate>;
190
- }
191
- /**
192
- * UseCalendar hook props to return a calendar day's status for multiselect date range selection.
193
- * @template TDate - The type of the date object.
194
- */
195
- export interface UseCalendarSelectionMultiselectRangeProps<TDate extends DateFrameworkType> extends UseCalendarSelectionBaseProps<TDate> {
196
- /**
197
- * The selection variant, set to "range".
198
- */
199
- selectionVariant: "range";
200
- /**
201
- * Multiple selection
202
- */
203
- multiselect: true;
204
- /**
205
- * The currently selected date.
206
- */
207
- selectedDate?: Array<DateRangeSelection<TDate>>;
208
- /**
209
- * The default selected date.
210
- */
211
- defaultSelectedDate?: Array<DateRangeSelection<TDate>>;
212
- /**
213
- * Callback fired when the selected date changes.
214
- * @param event - The synthetic event.
215
- * @param selectedDate - The new selected date.
216
- */
217
- onSelectionChange?: (event: SyntheticEvent, selectedDate: Array<DateRangeSelection<TDate>>) => void;
218
- /**
219
- * A pure function to manage the selected date for uncontrolled use-cases.
220
- * Return the selection based on the previous selection and the new date.
221
- * @param previousSelectedDate
222
- * @param newDate
223
- */
224
- select?: (previousSelectedDate: Array<DateRangeSelection<TDate>>, newDate: TDate) => Array<DateRangeSelection<TDate>>;
225
- }
226
- /**
227
- * UseCalendar hook props to return a calendar day's status for single offset selection.
228
- * @template TDate - The type of the date object.
229
- */
230
- export interface UseCalendarSelectionOffsetProps<TDate extends DateFrameworkType> extends UseCalendarSelectionBaseProps<TDate> {
231
- /**
232
- * The selection variant, set to "offset".
233
- */
234
- selectionVariant: "offset";
235
- /**
236
- * The currently selected date.
237
- */
238
- selectedDate?: DateRangeSelection<TDate>;
239
- /**
240
- * The default selected date.
241
- */
242
- defaultSelectedDate?: DateRangeSelection<TDate>;
243
- /**
244
- * Callback fired when the selected date changes.
245
- * @param event - The synthetic event.
246
- * @param selectedDate - The new selected date.
247
- */
248
- onSelectionChange?: (event: SyntheticEvent, selectedDate: DateRangeSelection<TDate>) => void;
249
- /**
250
- * A pure function to manage the selected date for uncontrolled use-cases.
251
- * Return the selection based on the previous selection and the new date.
252
- * @param previousSelectedDate
253
- * @param newDate
254
- */
255
- select?: (previousSelectedDate: DateRangeSelection<TDate>, newDate: TDate) => DateRangeSelection<TDate>;
256
- /**
257
- * Function to calculate the start date offset.
258
- * @param date - The date to offset.
259
- * @returns The offset start date.
260
- */
261
- startDateOffset?: (date: TDate) => TDate;
262
- /**
263
- * Function to calculate the end date offset.
264
- * @param date - The date to offset.
265
- * @returns The offset end date.
266
- */
267
- endDateOffset?: (date: TDate) => TDate;
268
- }
269
- /**
270
- * UseCalendar hook props to return a calendar day's status for multiselect offset selection.
271
- * @template TDate - The type of the date object.
272
- */
273
- export interface UseCalendarSelectionMultiselectOffsetProps<TDate extends DateFrameworkType> extends UseCalendarSelectionBaseProps<TDate> {
274
- /**
275
- * The selection variant, set to "offset".
276
- */
277
- selectionVariant: "offset";
278
- /**
279
- * Multiple selection
280
- */
281
- multiselect: true;
282
- /**
283
- * The currently selected date.
284
- */
285
- selectedDate?: Array<DateRangeSelection<TDate>>;
286
- /**
287
- * The default selected date.
288
- */
289
- defaultSelectedDate?: Array<DateRangeSelection<TDate>>;
290
- /**
291
- * Callback fired when the selected date changes.
292
- * @param event - The synthetic event.
293
- * @param selectedDate - The new selected date.
294
- */
295
- onSelectionChange?: (event: SyntheticEvent, selectedDate: Array<DateRangeSelection<TDate>>) => void;
296
- /**
297
- * A pure function to manage the selected date for uncontrolled use-cases.
298
- * Return the selection based on the previous selection and the new date.
299
- * @param previousSelectedDat
300
- * @param newDate
301
- */
302
- select?: (previousSelectedDate: Array<DateRangeSelection<TDate>>, newDate: TDate) => Array<DateRangeSelection<TDate>>;
303
- /**
304
- * Function to calculate the start date offset.
305
- * @param date - The date to offset.
306
- * @returns The offset start date.
307
- */
308
- startDateOffset?: (date: TDate) => TDate;
309
- /**
310
- * Function to calculate the end date offset.
311
- * @param date - The date to offset.
312
- * @returns The offset end date.
313
- */
314
- endDateOffset?: (date: TDate) => TDate;
315
- }
316
- /**
317
- * UseCalendarSelection hook props, wth the selection variant determining the return type of the date selection
318
- * @template TDate - The type of the date object.
319
- */
320
- export type UseCalendarSelectionProps<TDate extends DateFrameworkType> = UseCalendarSelectionSingleProps<TDate> | UseCalendarSelectionMultiselectSingleProps<TDate> | UseCalendarSelectionRangeProps<TDate> | UseCalendarSelectionMultiselectRangeProps<TDate> | UseCalendarSelectionOffsetProps<TDate> | UseCalendarSelectionMultiselectOffsetProps<TDate>;
321
- export declare function useCalendarSelection<TDate extends DateFrameworkType>(props: UseCalendarSelectionProps<TDate>): {
322
- state: {
323
- focusedDate: TDate | null;
324
- focusedDateRef: import("react").MutableRefObject<HTMLElement | null> | undefined;
325
- hoveredDate: TDate | null | undefined;
326
- selectedDate: TDate | TDate[] | DateRangeSelection<TDate> | DateRangeSelection<TDate>[] | null | undefined;
327
- focusableDates: TDate[];
328
- };
329
- helpers: {
330
- isHovered: (date: TDate) => boolean;
331
- isSelected: (date: TDate) => boolean;
332
- setHoveredDate: (event: SyntheticEvent, date: TDate | null) => void;
333
- isSameDay: (date: TDate) => boolean;
334
- setSelectedDate: (event: SyntheticEvent<HTMLButtonElement>, newSelectedDate: TDate) => void;
335
- isSelectedStart: (date: TDate) => boolean;
336
- isSelectedSpan: (date: TDate) => boolean;
337
- isSelectedEnd: (date: TDate) => boolean;
338
- isHoveredStart: (date: TDate) => boolean | null | undefined;
339
- isHoveredSpan: (date: TDate) => boolean;
340
- isHoveredEnd: (date: TDate) => boolean;
341
- isDaySelectable: (date: TDate) => boolean;
342
- setFocusedDate: (event: SyntheticEvent | null, date: TDate | null) => void;
343
- };
344
- };
345
- export declare function useCalendarSelectionDay<TDate extends DateFrameworkType>({ date, }: {
346
- date: TDate;
347
- }): {
348
- handleClick: MouseEventHandler<HTMLButtonElement>;
349
- handleKeyDown: KeyboardEventHandler<HTMLButtonElement>;
350
- status: {
351
- hovered: boolean;
352
- selected: boolean;
353
- selectedStart: boolean;
354
- selectedSpan: boolean;
355
- selectedEnd: boolean;
356
- hoveredStart: boolean;
357
- hoveredSpan: boolean;
358
- hoveredEnd: boolean;
359
- };
360
- dayProps: {
361
- className: string;
362
- "aria-pressed": string | undefined;
363
- "aria-disabled": string | undefined;
364
- };
365
- };
@@ -1,136 +0,0 @@
1
- import { type InputProps } from "@salt-ds/core";
2
- import type { DateDetail, DateFrameworkType, ParserResult, Timezone } from "@salt-ds/date-adapters";
3
- import { type ChangeEvent, type ComponentPropsWithoutRef, type InputHTMLAttributes, type ReactNode, type Ref, type SyntheticEvent } from "react";
4
- import type { DateRangeSelection } from "../calendar";
5
- /**
6
- * DateInputRange raw value or null if no date is defined.
7
- */
8
- export type DateInputRangeValue = {
9
- startDate?: string | null;
10
- endDate?: string | null;
11
- };
12
- /**
13
- * Details of parsing the date range
14
- */
15
- export type DateInputRangeDetails = {
16
- /** Details of parsing the start date and applying any validation */
17
- startDate?: DateDetail;
18
- /** Details of parsing the end date and applying any validation */
19
- endDate?: DateDetail;
20
- };
21
- /**
22
- * Enum to identify the field being parsed
23
- */
24
- export declare enum DateParserField {
25
- START = "start",
26
- END = "end"
27
- }
28
- /**
29
- * Props for the DateInputRange component.
30
- * @template TDate - The type of the date object.
31
- */
32
- export interface DateInputRangeProps<TDate extends DateFrameworkType> extends Omit<ComponentPropsWithoutRef<"div">, "defaultValue" | "onChange">, Omit<InputProps, "defaultValue" | "inputRef" | "value" | "onChange"> {
33
- /**
34
- * The aria-label for accessibility.
35
- */
36
- ariaLabel?: string;
37
- /**
38
- * Styling variant with full border. Defaults to false.
39
- */
40
- bordered?: boolean;
41
- /**
42
- * The marker to use in an empty read-only DateInput.
43
- * Use `''` to disable this feature. Defaults to '—'.
44
- */
45
- emptyReadOnlyMarker?: string;
46
- /**
47
- * End adornment component.
48
- */
49
- endAdornment?: ReactNode;
50
- /**
51
- * Attributes applied to the start `input` element.
52
- * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/dateInput#Attributes
53
- */
54
- startInputProps?: InputHTMLAttributes<HTMLInputElement>;
55
- /**
56
- * Attributes applied to the end `input` element.
57
- * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/dateInput#Attributes
58
- */
59
- endInputProps?: InputHTMLAttributes<HTMLInputElement>;
60
- /**
61
- * If `true`, the component is read-only.
62
- */
63
- readOnly?: boolean;
64
- /**
65
- * Validation status.
66
- */
67
- validationStatus?: "error" | "warning" | "success";
68
- /**
69
- * Styling variant. Defaults to "primary".
70
- */
71
- variant?: "primary" | "secondary" | "tertiary";
72
- /**
73
- * Format string for date.
74
- */
75
- format?: string;
76
- /**
77
- * Optional ref for the start input component.
78
- */
79
- startInputRef?: Ref<HTMLInputElement>;
80
- /**
81
- * Optional ref for the end input component.
82
- */
83
- endInputRef?: Ref<HTMLInputElement>;
84
- /**
85
- * Parser callback, if not using the adapter's parser
86
- * @param value - date string to parse
87
- * @param field: DateParserField to identify value,
88
- * @param format - format required
89
- */
90
- parse?: (value: string, field: DateParserField, format: string) => ParserResult<TDate>;
91
- /**
92
- * Input value. Use when the input value is controlled.
93
- */
94
- value?: DateInputRangeValue;
95
- /**
96
- * The initial input value. Use when the component is uncontrolled.
97
- */
98
- defaultValue?: DateInputRangeValue;
99
- /**
100
- * The date value. Use when the component is controlled.
101
- */
102
- date?: DateRangeSelection<TDate> | null;
103
- /**
104
- * The initial selected date value. Use when the component is uncontrolled.
105
- */
106
- defaultDate?: DateRangeSelection<TDate> | null;
107
- /**
108
- * Callback fired when the input value changes.
109
- * @param event - The change event.
110
- * @param date - The new date input range value.
111
- */
112
- onChange?: (event: ChangeEvent<HTMLInputElement>) => void;
113
- /**
114
- * Callback fired when the selected date changes.
115
- * @param event - The synthetic event.
116
- * @param date - the selected date, invalid date if not a valid date or undefined (uncontrolled) or null (controlled) if not defined
117
- * @param details - The details of date selection, either a valid date or error
118
- */
119
- onDateChange?: (event: SyntheticEvent, date: DateRangeSelection<TDate> | null, details: DateInputRangeDetails) => void;
120
- /**
121
- * Called when input values change, either due to user interaction or programmatic formatting of valid dates.
122
- * @param event - The synthetic event or null if a programmatic change.
123
- * @param newValue - The new date input range value.
124
- */
125
- onDateValueChange?: (event: SyntheticEvent | null, newValue: DateInputRangeValue) => void;
126
- /**
127
- * Specifies the timezone behavior:
128
- * - If undefined, the timezone will be derived from the passed date, or from `defaultSelectedDate`/`selectedDate`.
129
- * - If set to "default", the default timezone of the date library will be used.
130
- * - If set to "system", the local system's timezone will be applied.
131
- * - If set to "UTC", the time will be returned in UTC.
132
- * - If set to a valid IANA timezone identifier, the time will be returned for that specific timezone.
133
- */
134
- timezone?: Timezone;
135
- }
136
- export declare const DateInputRange: import("react").ForwardRefExoticComponent<DateInputRangeProps<any> & import("react").RefAttributes<HTMLDivElement>>;
@@ -1,104 +0,0 @@
1
- import type { DateDetail, DateFrameworkType, ParserResult, Timezone } from "@salt-ds/date-adapters";
2
- import { type ComponentPropsWithoutRef, type InputHTMLAttributes, type ReactNode, type Ref, type SyntheticEvent } from "react";
3
- import type { SingleDateSelection } from "../calendar";
4
- /**
5
- * Details of parsing the date
6
- */
7
- export type DateInputSingleDetails = DateDetail;
8
- /**
9
- * Props for the DateInputSingle component.
10
- * @template TDate - The type of the date object.
11
- */
12
- export interface DateInputSingleProps<TDate extends DateFrameworkType> extends Omit<ComponentPropsWithoutRef<"div">, "defaultValue">, Pick<ComponentPropsWithoutRef<"input">, "disabled" | "value" | "defaultValue" | "placeholder"> {
13
- /**
14
- * The aria-label for accessibility.
15
- */
16
- ariaLabel?: string;
17
- /**
18
- * Styling variant with full border. Defaults to false.
19
- */
20
- bordered?: boolean;
21
- /**
22
- * The marker to use in an empty read-only DateInput.
23
- * Use `''` to disable this feature. Defaults to '—'.
24
- */
25
- emptyReadOnlyMarker?: string;
26
- /**
27
- * End adornment component.
28
- */
29
- endAdornment?: ReactNode;
30
- /**
31
- * Attributes applied to the `input` element.
32
- * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/dateInput#Attributes
33
- */
34
- inputProps?: InputHTMLAttributes<HTMLInputElement>;
35
- /**
36
- * If `true`, the component is read-only.
37
- */
38
- readOnly?: boolean;
39
- /**
40
- * Start adornment component
41
- */
42
- startAdornment?: ReactNode;
43
- /**
44
- * Validation status.
45
- */
46
- validationStatus?: "error" | "warning" | "success";
47
- /**
48
- * Styling variant. Defaults to "primary".
49
- */
50
- variant?: "primary" | "secondary" | "tertiary";
51
- /**
52
- * Format string for date.
53
- */
54
- format?: string;
55
- /**
56
- * Reference for the input.
57
- */
58
- inputRef?: Ref<HTMLInputElement>;
59
- /**
60
- * Parser callback, if not using the adapter's parser
61
- * @param value - date string to parse
62
- * @param format - format required
63
- */
64
- parse?: (value: string, format: string) => ParserResult<TDate>;
65
- /**
66
- * Input value. Use when the input value is controlled.
67
- */
68
- value?: string;
69
- /**
70
- * The initial input value. Use when the component is uncontrolled.
71
- */
72
- defaultValue?: string;
73
- /**
74
- * The date value. Use when the component is controlled.
75
- */
76
- date?: TDate | null;
77
- /**
78
- * The initial selected date value. Use when the component is uncontrolled.
79
- */
80
- defaultDate?: TDate | null;
81
- /**
82
- * Callback fired when the selected date changes.
83
- * @param event - The synthetic event.
84
- * @param date - the selected date, invalid date if not a valid date or undefined (uncontrolled) or null (controlled) if not defined
85
- * @param details - The details of date selection, either a valid date or error
86
- */
87
- onDateChange?: (event: SyntheticEvent, date: SingleDateSelection<TDate> | null | undefined, details: DateInputSingleDetails) => void;
88
- /**
89
- * Called when input value changes, either due to user interaction or programmatic formatting of valid dates.
90
- * @param event - The synthetic event or null if a programmatic change.
91
- * @param newValue - The new date input value.
92
- */
93
- onDateValueChange?: (event: SyntheticEvent | null, newValue: string) => void;
94
- /**
95
- * Specifies the timezone behavior:
96
- * - If undefined, the timezone will be derived from the passed date, or from `defaultSelectedDate`/`selectedDate`.
97
- * - If set to "default", the default timezone of the date library will be used.
98
- * - If set to "system", the local system's timezone will be applied.
99
- * - If set to "UTC", the time will be returned in UTC.
100
- * - If set to a valid IANA timezone identifier, the time will be returned for that specific timezone.
101
- */
102
- timezone?: Timezone;
103
- }
104
- export declare const DateInputSingle: import("react").ForwardRefExoticComponent<DateInputSingleProps<any> & import("react").RefAttributes<HTMLDivElement>>;
@@ -1,55 +0,0 @@
1
- import type { DateFrameworkType, Timezone } from "@salt-ds/date-adapters";
2
- import { type ReactNode } from "react";
3
- import { type DatePickerOpenChangeReason } from "./DatePickerOverlayProvider";
4
- import { type UseDatePickerRangeProps, type UseDatePickerSingleProps } from "./useDatePicker";
5
- /**
6
- * Base props for DatePicker.
7
- */
8
- export interface DatePickerBaseProps {
9
- className?: string;
10
- children?: ReactNode;
11
- /** the open/close state of the overlay. The open/close state will be controlled when this prop is provided. */
12
- open?: boolean;
13
- /** When `open` is uncontrolled, set this to `true` to open on click */
14
- openOnClick?: boolean;
15
- /**
16
- * Handler for when open state changes
17
- * @param newOpen - true when opened
18
- * @param reason - reason for the the state change
19
- */
20
- onOpenChange?: (newOpen: boolean, reason?: DatePickerOpenChangeReason) => void;
21
- /**
22
- * the initial open/close state of the overlay, when the open/close state is un-controlled.
23
- */
24
- defaultOpen?: DatePickerBaseProps["open"];
25
- /**
26
- * Specifies the timezone behavior:
27
- * - If undefined, the timezone will be derived from the passed date, or from `defaultSelectedDate`/`selectedDate`.
28
- * - If set to "default", the default timezone of the date library will be used.
29
- * - If set to "system", the local system's timezone will be applied.
30
- * - If set to "UTC", the time will be returned in UTC.
31
- * - If set to a valid IANA timezone identifier, the time will be returned for that specific timezone.
32
- */
33
- timezone?: Timezone;
34
- }
35
- /**
36
- * Props for the DatePicker component, when `selectionVariant` is `single`.
37
- * @template TDate - The type of the date object.
38
- */
39
- export interface DatePickerSingleProps<TDate extends DateFrameworkType> extends DatePickerBaseProps, UseDatePickerSingleProps<TDate> {
40
- selectionVariant: "single";
41
- }
42
- /**
43
- * Props for the DatePicker component, when `selectionVariant` is `range`.
44
- * @template TDate - The type of the date object.
45
- */
46
- export interface DatePickerRangeProps<TDate extends DateFrameworkType> extends DatePickerBaseProps, UseDatePickerRangeProps<TDate> {
47
- selectionVariant: "range";
48
- }
49
- /**
50
- * Props for the DatePicker component.
51
- * @template TDate - The type of the date object.
52
- */
53
- export type DatePickerProps<TDate extends DateFrameworkType> = DatePickerSingleProps<TDate> | DatePickerRangeProps<TDate>;
54
- export declare const DatePickerMain: import("react").ForwardRefExoticComponent<DatePickerProps<any> & import("react").RefAttributes<HTMLDivElement>>;
55
- export declare const DatePicker: import("react").ForwardRefExoticComponent<DatePickerProps<unknown> & import("react").RefAttributes<HTMLDivElement>>;