@salt-ds/lab 1.0.0-alpha.67 → 1.0.0-alpha.69

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 (547) hide show
  1. package/CHANGELOG.md +179 -0
  2. package/css/salt-lab.css +24 -190
  3. package/dist-cjs/breadcrumbs/internal/BreadcrumbsContext.js.map +1 -1
  4. package/dist-cjs/button-bar/ButtonBar.js.map +1 -1
  5. package/dist-cjs/button-bar/OrderedButton.js.map +1 -1
  6. package/dist-cjs/button-bar/internal/useDescendant.js.map +1 -1
  7. package/dist-cjs/calendar/Calendar.js +23 -8
  8. package/dist-cjs/calendar/Calendar.js.map +1 -1
  9. package/dist-cjs/calendar/CalendarGrid.js +56 -80
  10. package/dist-cjs/calendar/CalendarGrid.js.map +1 -1
  11. package/dist-cjs/calendar/CalendarMonthHeader.css.js +6 -0
  12. package/dist-cjs/calendar/CalendarMonthHeader.css.js.map +1 -0
  13. package/dist-cjs/calendar/CalendarMonthHeader.js +48 -0
  14. package/dist-cjs/calendar/CalendarMonthHeader.js.map +1 -0
  15. package/dist-cjs/calendar/CalendarNavigation.js +30 -39
  16. package/dist-cjs/calendar/CalendarNavigation.js.map +1 -1
  17. package/dist-cjs/calendar/CalendarWeekHeader.js +2 -6
  18. package/dist-cjs/calendar/CalendarWeekHeader.js.map +1 -1
  19. package/dist-cjs/calendar/internal/CalendarContext.js +3 -1
  20. package/dist-cjs/calendar/internal/CalendarContext.js.map +1 -1
  21. package/dist-cjs/calendar/internal/CalendarDay.css.js +1 -1
  22. package/dist-cjs/calendar/internal/CalendarDay.js +88 -76
  23. package/dist-cjs/calendar/internal/CalendarDay.js.map +1 -1
  24. package/dist-cjs/calendar/internal/CalendarMonth.js +13 -23
  25. package/dist-cjs/calendar/internal/CalendarMonth.js.map +1 -1
  26. package/dist-cjs/calendar/internal/useFocusManagement.js +5 -6
  27. package/dist-cjs/calendar/internal/useFocusManagement.js.map +1 -1
  28. package/dist-cjs/calendar/internal/utils.js +8 -12
  29. package/dist-cjs/calendar/internal/utils.js.map +1 -1
  30. package/dist-cjs/calendar/useCalendar.js +69 -109
  31. package/dist-cjs/calendar/useCalendar.js.map +1 -1
  32. package/dist-cjs/calendar/useCalendarDay.js +21 -18
  33. package/dist-cjs/calendar/useCalendarDay.js.map +1 -1
  34. package/dist-cjs/calendar/useCalendarSelection.js +146 -34
  35. package/dist-cjs/calendar/useCalendarSelection.js.map +1 -1
  36. package/dist-cjs/carousel/CarouselContext.js.map +1 -1
  37. package/dist-cjs/carousel/CarouselControls.js.map +1 -1
  38. package/dist-cjs/carousel/CarouselReducer.js.map +1 -1
  39. package/dist-cjs/carousel/CarouselSlide.js.map +1 -1
  40. package/dist-cjs/carousel/CarouselSlider.js.map +1 -1
  41. package/dist-cjs/cascading-menu/CascadingMenu.js.map +1 -1
  42. package/dist-cjs/cascading-menu/CascadingMenuItem.js.map +1 -1
  43. package/dist-cjs/cascading-menu/CascadingMenuList.js.map +1 -1
  44. package/dist-cjs/cascading-menu/internal/keydownHandlers.js.map +1 -1
  45. package/dist-cjs/cascading-menu/internal/useClickAway.js.map +1 -1
  46. package/dist-cjs/cascading-menu/internal/useMenuTriggerHandlers.js.map +1 -1
  47. package/dist-cjs/cascading-menu/internal/useMouseHandlers.js.map +1 -1
  48. package/dist-cjs/cascading-menu/internal/useStateReducer.js.map +1 -1
  49. package/dist-cjs/cascading-menu/stateChangeTypes.js +0 -1
  50. package/dist-cjs/cascading-menu/stateChangeTypes.js.map +1 -1
  51. package/dist-cjs/color-chooser/Color.js.map +1 -1
  52. package/dist-cjs/color-chooser/ColorChooser.js.map +1 -1
  53. package/dist-cjs/color-chooser/ColorHelpers.js.map +1 -1
  54. package/dist-cjs/color-chooser/ColorPicker.js.map +1 -1
  55. package/dist-cjs/color-chooser/DictTabs.js.map +1 -1
  56. package/dist-cjs/color-chooser/HexInput.js.map +1 -1
  57. package/dist-cjs/color-chooser/Swatch.js.map +1 -1
  58. package/dist-cjs/color-chooser/Swatches.js.map +1 -1
  59. package/dist-cjs/color-chooser/SwatchesPicker.js.map +1 -1
  60. package/dist-cjs/combo-box/ComboBox.js +0 -2
  61. package/dist-cjs/combo-box/ComboBox.js.map +1 -1
  62. package/dist-cjs/combo-box/useCombobox.js.map +1 -1
  63. package/dist-cjs/combo-box-deprecated/internal/DefaultComboBox.js +0 -4
  64. package/dist-cjs/combo-box-deprecated/internal/DefaultComboBox.js.map +1 -1
  65. package/dist-cjs/combo-box-deprecated/internal/MultiSelectComboBox.js +0 -4
  66. package/dist-cjs/combo-box-deprecated/internal/MultiSelectComboBox.js.map +1 -1
  67. package/dist-cjs/combo-box-deprecated/internal/useComboBox.js.map +1 -1
  68. package/dist-cjs/combo-box-deprecated/internal/useMultiSelectComboBox.js.map +1 -1
  69. package/dist-cjs/combo-box-deprecated/internal/usePopperStatus.js.map +1 -1
  70. package/dist-cjs/common-hooks/calcPreferredHeight.js.map +1 -1
  71. package/dist-cjs/common-hooks/collectionProvider.js.map +1 -1
  72. package/dist-cjs/common-hooks/list-dom-utils.js.map +1 -1
  73. package/dist-cjs/common-hooks/selectionTypes.js.map +1 -1
  74. package/dist-cjs/common-hooks/useCollapsibleGroups.js.map +1 -1
  75. package/dist-cjs/common-hooks/useCollectionItems.js.map +1 -1
  76. package/dist-cjs/common-hooks/useImperativeScrollingAPI.js.map +1 -1
  77. package/dist-cjs/common-hooks/useKeyboardNavigation.js.map +1 -1
  78. package/dist-cjs/common-hooks/useKeyboardNavigationPanel.js.map +1 -1
  79. package/dist-cjs/common-hooks/useSelection.js.map +1 -1
  80. package/dist-cjs/common-hooks/useTypeahead.js +1 -1
  81. package/dist-cjs/common-hooks/useTypeahead.js.map +1 -1
  82. package/dist-cjs/common-hooks/useViewportTracking.js.map +1 -1
  83. package/dist-cjs/common-hooks/utils/collection-item-utils.js.map +1 -1
  84. package/dist-cjs/contact-details/ContactPrimaryInfo.js.map +1 -1
  85. package/dist-cjs/contact-details/ContactSecondaryInfo.js.map +1 -1
  86. package/dist-cjs/contact-details/ContactTertiaryInfo.js.map +1 -1
  87. package/dist-cjs/contact-details/internal/ContactDetailsContext.js.map +1 -1
  88. package/dist-cjs/content-status/internal/StatusIndicator.js.map +1 -1
  89. package/dist-cjs/date-input/DateInputRange.js +61 -51
  90. package/dist-cjs/date-input/DateInputRange.js.map +1 -1
  91. package/dist-cjs/date-input/DateInputSingle.js +33 -18
  92. package/dist-cjs/date-input/DateInputSingle.js.map +1 -1
  93. package/dist-cjs/date-picker/DatePicker.js +9 -1
  94. package/dist-cjs/date-picker/DatePicker.js.map +1 -1
  95. package/dist-cjs/date-picker/DatePickerActions.js.map +1 -1
  96. package/dist-cjs/date-picker/DatePickerContext.js.map +1 -1
  97. package/dist-cjs/date-picker/DatePickerHelperText.css.js +6 -0
  98. package/dist-cjs/date-picker/DatePickerHelperText.css.js.map +1 -0
  99. package/dist-cjs/date-picker/DatePickerHelperText.js +36 -0
  100. package/dist-cjs/date-picker/DatePickerHelperText.js.map +1 -0
  101. package/dist-cjs/date-picker/DatePickerOverlay.js.map +1 -1
  102. package/dist-cjs/date-picker/DatePickerOverlayProvider.js +40 -16
  103. package/dist-cjs/date-picker/DatePickerOverlayProvider.js.map +1 -1
  104. package/dist-cjs/date-picker/DatePickerPanel.css.js +1 -1
  105. package/dist-cjs/date-picker/DatePickerRangeGridPanel.js +247 -0
  106. package/dist-cjs/date-picker/DatePickerRangeGridPanel.js.map +1 -0
  107. package/dist-cjs/date-picker/DatePickerRangeInput.js +38 -6
  108. package/dist-cjs/date-picker/DatePickerRangeInput.js.map +1 -1
  109. package/dist-cjs/date-picker/DatePickerRangePanel.js +188 -32
  110. package/dist-cjs/date-picker/DatePickerRangePanel.js.map +1 -1
  111. package/dist-cjs/date-picker/DatePickerSingleGridPanel.js +255 -0
  112. package/dist-cjs/date-picker/DatePickerSingleGridPanel.js.map +1 -0
  113. package/dist-cjs/date-picker/DatePickerSingleInput.js +13 -5
  114. package/dist-cjs/date-picker/DatePickerSingleInput.js.map +1 -1
  115. package/dist-cjs/date-picker/DatePickerSinglePanel.js +6 -105
  116. package/dist-cjs/date-picker/DatePickerSinglePanel.js.map +1 -1
  117. package/dist-cjs/date-picker/DatePickerTrigger.js.map +1 -1
  118. package/dist-cjs/date-picker/useDatePicker.js +71 -11
  119. package/dist-cjs/date-picker/useDatePicker.js.map +1 -1
  120. package/dist-cjs/date-picker/useFocusOut.js +43 -0
  121. package/dist-cjs/date-picker/useFocusOut.js.map +1 -0
  122. package/dist-cjs/date-picker/useKeyboard.js +4 -5
  123. package/dist-cjs/date-picker/useKeyboard.js.map +1 -1
  124. package/dist-cjs/deck-item/DeckItem.js.map +1 -1
  125. package/dist-cjs/deck-layout/DeckLayout.js.map +1 -1
  126. package/dist-cjs/dropdown/Dropdown.js +0 -1
  127. package/dist-cjs/dropdown/Dropdown.js.map +1 -1
  128. package/dist-cjs/dropdown/DropdownBase.js +0 -1
  129. package/dist-cjs/dropdown/DropdownBase.js.map +1 -1
  130. package/dist-cjs/dropdown/DropdownButton.js.map +1 -1
  131. package/dist-cjs/dropdown/useClickAway.js.map +1 -1
  132. package/dist-cjs/dropdown/useDropdown.js.map +1 -1
  133. package/dist-cjs/dropdown/useDropdownBase.js.map +1 -1
  134. package/dist-cjs/editable-label/EditableLabel.js.map +1 -1
  135. package/dist-cjs/form-field-legacy/FormFieldLegacy.js.map +1 -1
  136. package/dist-cjs/form-field-legacy/StatusIndicator.js.map +1 -1
  137. package/dist-cjs/formatted-input/FormattedInput.js.map +1 -1
  138. package/dist-cjs/index.js +8 -8
  139. package/dist-cjs/input-legacy/InputLegacy.js.map +1 -1
  140. package/dist-cjs/input-legacy/useCursorOnFocus.js.map +1 -1
  141. package/dist-cjs/list/Highlighter.js.map +1 -1
  142. package/dist-cjs/list/List.js.map +1 -1
  143. package/dist-cjs/list/ListItem.js.map +1 -1
  144. package/dist-cjs/list/VirtualizedList.js.map +1 -1
  145. package/dist-cjs/list/useList.js +0 -1
  146. package/dist-cjs/list/useList.js.map +1 -1
  147. package/dist-cjs/list/useListHeight.js.map +1 -1
  148. package/dist-cjs/list-deprecated/ListBase.js +1 -3
  149. package/dist-cjs/list-deprecated/ListBase.js.map +1 -1
  150. package/dist-cjs/list-deprecated/ListItem.js.map +1 -1
  151. package/dist-cjs/list-deprecated/ListItemBase.js.map +1 -1
  152. package/dist-cjs/list-deprecated/ListItemContext.js.map +1 -1
  153. package/dist-cjs/list-deprecated/internal/DescendantContext.js.map +1 -1
  154. package/dist-cjs/list-deprecated/internal/calcPreferredListHeight.js.map +1 -1
  155. package/dist-cjs/list-deprecated/internal/useWidth.js.map +1 -1
  156. package/dist-cjs/list-deprecated/useList.js.map +1 -1
  157. package/dist-cjs/list-deprecated/useListItem.js.map +1 -1
  158. package/dist-cjs/list-deprecated/useTypeSelect.js.map +1 -1
  159. package/dist-cjs/list-next/ListItemNext.js.map +1 -1
  160. package/dist-cjs/list-next/ListNext.js.map +1 -1
  161. package/dist-cjs/list-next/ListNextContext.js.map +1 -1
  162. package/dist-cjs/list-next/useList.js.map +1 -1
  163. package/dist-cjs/localization-provider/LocalizationProvider.js +5 -2
  164. package/dist-cjs/localization-provider/LocalizationProvider.js.map +1 -1
  165. package/dist-cjs/menu-button/MenuButton.js.map +1 -1
  166. package/dist-cjs/metric/MetricContent.js.map +1 -1
  167. package/dist-cjs/number-input/NumberInput.js.map +1 -1
  168. package/dist-cjs/number-input/useNumberInput.js.map +1 -1
  169. package/dist-cjs/query-input/internal/CategoryListContext.js.map +1 -1
  170. package/dist-cjs/query-input/internal/CategoryListItem.js.map +1 -1
  171. package/dist-cjs/query-input/internal/usePopperStatus.js +2 -2
  172. package/dist-cjs/query-input/internal/usePopperStatus.js.map +1 -1
  173. package/dist-cjs/query-input/useQueryInput.js +0 -1
  174. package/dist-cjs/query-input/useQueryInput.js.map +1 -1
  175. package/dist-cjs/responsive/OverflowReducer.js +1 -3
  176. package/dist-cjs/responsive/OverflowReducer.js.map +1 -1
  177. package/dist-cjs/responsive/useDynamicCollapse.js.map +1 -1
  178. package/dist-cjs/responsive/useInstantCollapse.js.map +1 -1
  179. package/dist-cjs/responsive/useOverflow.js.map +1 -1
  180. package/dist-cjs/responsive/useOverflowCollectionItems.js.map +1 -1
  181. package/dist-cjs/responsive/useOverflowLayout.js +0 -3
  182. package/dist-cjs/responsive/useOverflowLayout.js.map +1 -1
  183. package/dist-cjs/responsive/useReclaimSpace.js.map +1 -1
  184. package/dist-cjs/responsive/useResizeObserver.js.map +1 -1
  185. package/dist-cjs/responsive/useWidth.js.map +1 -1
  186. package/dist-cjs/responsive/utils.js.map +1 -1
  187. package/dist-cjs/search-input/SearchInput.js.map +1 -1
  188. package/dist-cjs/tabs/Tab.js.map +1 -1
  189. package/dist-cjs/tabs/Tabs.js.map +1 -1
  190. package/dist-cjs/tabs/Tabstrip.js +0 -1
  191. package/dist-cjs/tabs/Tabstrip.js.map +1 -1
  192. package/dist-cjs/tabs/drag-drop/useDragDropNaturalMovement.js.map +1 -1
  193. package/dist-cjs/tabs/drag-drop/useDragSpacers.js.map +1 -1
  194. package/dist-cjs/tabs/useEditableItem.js.map +1 -1
  195. package/dist-cjs/tabs/useKeyboardNavigation.js.map +1 -1
  196. package/dist-cjs/tabs/useSelection.js.map +1 -1
  197. package/dist-cjs/tabs/useTabs.js.map +1 -1
  198. package/dist-cjs/tabs/useTabstrip.js.map +1 -1
  199. package/dist-cjs/tabs-next/TabListNext.js.map +1 -1
  200. package/dist-cjs/tabs-next/TabNext.js.map +1 -1
  201. package/dist-cjs/tabs-next/TabNextAction.js.map +1 -1
  202. package/dist-cjs/tabs-next/TabNextContext.js.map +1 -1
  203. package/dist-cjs/tabs-next/TabNextPanel.js.map +1 -1
  204. package/dist-cjs/tabs-next/TabNextTrigger.js.map +1 -1
  205. package/dist-cjs/tabs-next/TabOverflowList.js.map +1 -1
  206. package/dist-cjs/tabs-next/TabsNext.js.map +1 -1
  207. package/dist-cjs/tabs-next/TabsNextContext.js.map +1 -1
  208. package/dist-cjs/tabs-next/hooks/useCollection.js +2 -2
  209. package/dist-cjs/tabs-next/hooks/useCollection.js.map +1 -1
  210. package/dist-cjs/tabs-next/hooks/useFocusOutside.js.map +1 -1
  211. package/dist-cjs/tabs-next/hooks/useOverflow.js.map +1 -1
  212. package/dist-cjs/tabs-next/hooks/useRestoreActiveTab.js.map +1 -1
  213. package/dist-cjs/tokenized-input/TokenizedInputBase.js.map +1 -1
  214. package/dist-cjs/tokenized-input/internal/InputPill.js.map +1 -1
  215. package/dist-cjs/tokenized-input/internal/getCursorPosition.js.map +1 -1
  216. package/dist-cjs/tokenized-input/internal/useResizeObserver.js.map +1 -1
  217. package/dist-cjs/tokenized-input/useTokenizedInput.js.map +1 -1
  218. package/dist-cjs/tokenized-input-next/TokenizedInputNext.js.map +1 -1
  219. package/dist-cjs/tokenized-input-next/internal/InputPill.js.map +1 -1
  220. package/dist-cjs/tokenized-input-next/internal/useResizeObserver.js.map +1 -1
  221. package/dist-cjs/tokenized-input-next/useTokenizedInputNext.js +1 -1
  222. package/dist-cjs/tokenized-input-next/useTokenizedInputNext.js.map +1 -1
  223. package/dist-cjs/toolbar/Tooltray.js.map +1 -1
  224. package/dist-cjs/toolbar/internal/renderToolbarItems.js.map +1 -1
  225. package/dist-cjs/toolbar/internal/renderTrayTools.js.map +1 -1
  226. package/dist-cjs/toolbar/overflow-panel/OverflowPanel.js.map +1 -1
  227. package/dist-cjs/toolbar/toolbar-field/useToolbarField.js.map +1 -1
  228. package/dist-cjs/tree/Tree.js +2 -6
  229. package/dist-cjs/tree/Tree.js.map +1 -1
  230. package/dist-cjs/tree/TreeNode.js.map +1 -1
  231. package/dist-cjs/tree/use-tree-keyboard-navigation.js.map +1 -1
  232. package/dist-cjs/tree/useTree.js.map +1 -1
  233. package/dist-cjs/utils/useClickOutside.js.map +1 -1
  234. package/dist-cjs/utils/useSlideSelection.js.map +1 -1
  235. package/dist-cjs/window/ElectronWindow.js.map +1 -1
  236. package/dist-es/breadcrumbs/internal/BreadcrumbsContext.js.map +1 -1
  237. package/dist-es/button-bar/ButtonBar.js.map +1 -1
  238. package/dist-es/button-bar/OrderedButton.js.map +1 -1
  239. package/dist-es/button-bar/internal/useDescendant.js.map +1 -1
  240. package/dist-es/calendar/Calendar.js +24 -9
  241. package/dist-es/calendar/Calendar.js.map +1 -1
  242. package/dist-es/calendar/CalendarGrid.js +59 -83
  243. package/dist-es/calendar/CalendarGrid.js.map +1 -1
  244. package/dist-es/calendar/CalendarMonthHeader.css.js +4 -0
  245. package/dist-es/calendar/CalendarMonthHeader.css.js.map +1 -0
  246. package/dist-es/calendar/CalendarMonthHeader.js +46 -0
  247. package/dist-es/calendar/CalendarMonthHeader.js.map +1 -0
  248. package/dist-es/calendar/CalendarNavigation.js +30 -39
  249. package/dist-es/calendar/CalendarNavigation.js.map +1 -1
  250. package/dist-es/calendar/CalendarWeekHeader.js +2 -6
  251. package/dist-es/calendar/CalendarWeekHeader.js.map +1 -1
  252. package/dist-es/calendar/internal/CalendarContext.js +3 -1
  253. package/dist-es/calendar/internal/CalendarContext.js.map +1 -1
  254. package/dist-es/calendar/internal/CalendarDay.css.js +1 -1
  255. package/dist-es/calendar/internal/CalendarDay.js +90 -78
  256. package/dist-es/calendar/internal/CalendarDay.js.map +1 -1
  257. package/dist-es/calendar/internal/CalendarMonth.js +13 -23
  258. package/dist-es/calendar/internal/CalendarMonth.js.map +1 -1
  259. package/dist-es/calendar/internal/useFocusManagement.js +5 -6
  260. package/dist-es/calendar/internal/useFocusManagement.js.map +1 -1
  261. package/dist-es/calendar/internal/utils.js +8 -12
  262. package/dist-es/calendar/internal/utils.js.map +1 -1
  263. package/dist-es/calendar/useCalendar.js +72 -112
  264. package/dist-es/calendar/useCalendar.js.map +1 -1
  265. package/dist-es/calendar/useCalendarDay.js +21 -18
  266. package/dist-es/calendar/useCalendarDay.js.map +1 -1
  267. package/dist-es/calendar/useCalendarSelection.js +146 -34
  268. package/dist-es/calendar/useCalendarSelection.js.map +1 -1
  269. package/dist-es/carousel/CarouselContext.js.map +1 -1
  270. package/dist-es/carousel/CarouselControls.js.map +1 -1
  271. package/dist-es/carousel/CarouselReducer.js.map +1 -1
  272. package/dist-es/carousel/CarouselSlide.js.map +1 -1
  273. package/dist-es/carousel/CarouselSlider.js.map +1 -1
  274. package/dist-es/cascading-menu/CascadingMenu.js.map +1 -1
  275. package/dist-es/cascading-menu/CascadingMenuItem.js.map +1 -1
  276. package/dist-es/cascading-menu/CascadingMenuList.js.map +1 -1
  277. package/dist-es/cascading-menu/internal/keydownHandlers.js.map +1 -1
  278. package/dist-es/cascading-menu/internal/useClickAway.js.map +1 -1
  279. package/dist-es/cascading-menu/internal/useMenuTriggerHandlers.js.map +1 -1
  280. package/dist-es/cascading-menu/internal/useMouseHandlers.js.map +1 -1
  281. package/dist-es/cascading-menu/internal/useStateReducer.js.map +1 -1
  282. package/dist-es/cascading-menu/stateChangeTypes.js +0 -1
  283. package/dist-es/cascading-menu/stateChangeTypes.js.map +1 -1
  284. package/dist-es/color-chooser/Color.js.map +1 -1
  285. package/dist-es/color-chooser/ColorChooser.js.map +1 -1
  286. package/dist-es/color-chooser/ColorHelpers.js.map +1 -1
  287. package/dist-es/color-chooser/ColorPicker.js.map +1 -1
  288. package/dist-es/color-chooser/DictTabs.js.map +1 -1
  289. package/dist-es/color-chooser/HexInput.js.map +1 -1
  290. package/dist-es/color-chooser/Swatch.js.map +1 -1
  291. package/dist-es/color-chooser/Swatches.js.map +1 -1
  292. package/dist-es/color-chooser/SwatchesPicker.js.map +1 -1
  293. package/dist-es/combo-box/ComboBox.js +0 -2
  294. package/dist-es/combo-box/ComboBox.js.map +1 -1
  295. package/dist-es/combo-box/useCombobox.js.map +1 -1
  296. package/dist-es/combo-box-deprecated/internal/DefaultComboBox.js +1 -5
  297. package/dist-es/combo-box-deprecated/internal/DefaultComboBox.js.map +1 -1
  298. package/dist-es/combo-box-deprecated/internal/MultiSelectComboBox.js +1 -5
  299. package/dist-es/combo-box-deprecated/internal/MultiSelectComboBox.js.map +1 -1
  300. package/dist-es/combo-box-deprecated/internal/useComboBox.js +1 -1
  301. package/dist-es/combo-box-deprecated/internal/useComboBox.js.map +1 -1
  302. package/dist-es/combo-box-deprecated/internal/useMultiSelectComboBox.js +1 -1
  303. package/dist-es/combo-box-deprecated/internal/useMultiSelectComboBox.js.map +1 -1
  304. package/dist-es/combo-box-deprecated/internal/usePopperStatus.js.map +1 -1
  305. package/dist-es/common-hooks/calcPreferredHeight.js.map +1 -1
  306. package/dist-es/common-hooks/collectionProvider.js +1 -1
  307. package/dist-es/common-hooks/collectionProvider.js.map +1 -1
  308. package/dist-es/common-hooks/list-dom-utils.js.map +1 -1
  309. package/dist-es/common-hooks/selectionTypes.js.map +1 -1
  310. package/dist-es/common-hooks/useCollapsibleGroups.js.map +1 -1
  311. package/dist-es/common-hooks/useCollectionItems.js +1 -1
  312. package/dist-es/common-hooks/useCollectionItems.js.map +1 -1
  313. package/dist-es/common-hooks/useImperativeScrollingAPI.js.map +1 -1
  314. package/dist-es/common-hooks/useKeyboardNavigation.js +1 -1
  315. package/dist-es/common-hooks/useKeyboardNavigation.js.map +1 -1
  316. package/dist-es/common-hooks/useKeyboardNavigationPanel.js.map +1 -1
  317. package/dist-es/common-hooks/useSelection.js.map +1 -1
  318. package/dist-es/common-hooks/useTypeahead.js +1 -1
  319. package/dist-es/common-hooks/useTypeahead.js.map +1 -1
  320. package/dist-es/common-hooks/useViewportTracking.js.map +1 -1
  321. package/dist-es/common-hooks/utils/collection-item-utils.js.map +1 -1
  322. package/dist-es/contact-details/ContactPrimaryInfo.js.map +1 -1
  323. package/dist-es/contact-details/ContactSecondaryInfo.js.map +1 -1
  324. package/dist-es/contact-details/ContactTertiaryInfo.js.map +1 -1
  325. package/dist-es/contact-details/internal/ContactDetailsContext.js.map +1 -1
  326. package/dist-es/content-status/internal/StatusIndicator.js.map +1 -1
  327. package/dist-es/date-input/DateInputRange.js +61 -51
  328. package/dist-es/date-input/DateInputRange.js.map +1 -1
  329. package/dist-es/date-input/DateInputSingle.js +34 -19
  330. package/dist-es/date-input/DateInputSingle.js.map +1 -1
  331. package/dist-es/date-picker/DatePicker.js +9 -1
  332. package/dist-es/date-picker/DatePicker.js.map +1 -1
  333. package/dist-es/date-picker/DatePickerActions.js.map +1 -1
  334. package/dist-es/date-picker/DatePickerContext.js.map +1 -1
  335. package/dist-es/date-picker/DatePickerHelperText.css.js +4 -0
  336. package/dist-es/date-picker/DatePickerHelperText.css.js.map +1 -0
  337. package/dist-es/date-picker/DatePickerHelperText.js +34 -0
  338. package/dist-es/date-picker/DatePickerHelperText.js.map +1 -0
  339. package/dist-es/date-picker/DatePickerOverlay.js.map +1 -1
  340. package/dist-es/date-picker/DatePickerOverlayProvider.js +41 -17
  341. package/dist-es/date-picker/DatePickerOverlayProvider.js.map +1 -1
  342. package/dist-es/date-picker/DatePickerPanel.css.js +1 -1
  343. package/dist-es/date-picker/DatePickerRangeGridPanel.js +245 -0
  344. package/dist-es/date-picker/DatePickerRangeGridPanel.js.map +1 -0
  345. package/dist-es/date-picker/DatePickerRangeInput.js +39 -7
  346. package/dist-es/date-picker/DatePickerRangeInput.js.map +1 -1
  347. package/dist-es/date-picker/DatePickerRangePanel.js +190 -34
  348. package/dist-es/date-picker/DatePickerRangePanel.js.map +1 -1
  349. package/dist-es/date-picker/DatePickerSingleGridPanel.js +253 -0
  350. package/dist-es/date-picker/DatePickerSingleGridPanel.js.map +1 -0
  351. package/dist-es/date-picker/DatePickerSingleInput.js +13 -5
  352. package/dist-es/date-picker/DatePickerSingleInput.js.map +1 -1
  353. package/dist-es/date-picker/DatePickerSinglePanel.js +8 -107
  354. package/dist-es/date-picker/DatePickerSinglePanel.js.map +1 -1
  355. package/dist-es/date-picker/DatePickerTrigger.js.map +1 -1
  356. package/dist-es/date-picker/useDatePicker.js +71 -11
  357. package/dist-es/date-picker/useDatePicker.js.map +1 -1
  358. package/dist-es/date-picker/useFocusOut.js +41 -0
  359. package/dist-es/date-picker/useFocusOut.js.map +1 -0
  360. package/dist-es/date-picker/useKeyboard.js +4 -5
  361. package/dist-es/date-picker/useKeyboard.js.map +1 -1
  362. package/dist-es/deck-item/DeckItem.js.map +1 -1
  363. package/dist-es/deck-layout/DeckLayout.js.map +1 -1
  364. package/dist-es/dropdown/Dropdown.js +0 -1
  365. package/dist-es/dropdown/Dropdown.js.map +1 -1
  366. package/dist-es/dropdown/DropdownBase.js +1 -2
  367. package/dist-es/dropdown/DropdownBase.js.map +1 -1
  368. package/dist-es/dropdown/DropdownButton.js.map +1 -1
  369. package/dist-es/dropdown/useClickAway.js.map +1 -1
  370. package/dist-es/dropdown/useDropdown.js.map +1 -1
  371. package/dist-es/dropdown/useDropdownBase.js.map +1 -1
  372. package/dist-es/editable-label/EditableLabel.js.map +1 -1
  373. package/dist-es/form-field-legacy/FormFieldLegacy.js.map +1 -1
  374. package/dist-es/form-field-legacy/StatusIndicator.js +1 -1
  375. package/dist-es/form-field-legacy/StatusIndicator.js.map +1 -1
  376. package/dist-es/formatted-input/FormattedInput.js +1 -1
  377. package/dist-es/formatted-input/FormattedInput.js.map +1 -1
  378. package/dist-es/index.js +4 -4
  379. package/dist-es/input-legacy/InputLegacy.js.map +1 -1
  380. package/dist-es/input-legacy/useCursorOnFocus.js.map +1 -1
  381. package/dist-es/list/Highlighter.js.map +1 -1
  382. package/dist-es/list/List.js.map +1 -1
  383. package/dist-es/list/ListItem.js.map +1 -1
  384. package/dist-es/list/VirtualizedList.js.map +1 -1
  385. package/dist-es/list/useList.js +0 -1
  386. package/dist-es/list/useList.js.map +1 -1
  387. package/dist-es/list/useListHeight.js.map +1 -1
  388. package/dist-es/list-deprecated/ListBase.js +1 -3
  389. package/dist-es/list-deprecated/ListBase.js.map +1 -1
  390. package/dist-es/list-deprecated/ListItem.js.map +1 -1
  391. package/dist-es/list-deprecated/ListItemBase.js.map +1 -1
  392. package/dist-es/list-deprecated/ListItemContext.js.map +1 -1
  393. package/dist-es/list-deprecated/internal/DescendantContext.js.map +1 -1
  394. package/dist-es/list-deprecated/internal/calcPreferredListHeight.js.map +1 -1
  395. package/dist-es/list-deprecated/internal/useWidth.js.map +1 -1
  396. package/dist-es/list-deprecated/useList.js.map +1 -1
  397. package/dist-es/list-deprecated/useListItem.js.map +1 -1
  398. package/dist-es/list-deprecated/useTypeSelect.js.map +1 -1
  399. package/dist-es/list-next/ListItemNext.js.map +1 -1
  400. package/dist-es/list-next/ListNext.js.map +1 -1
  401. package/dist-es/list-next/ListNextContext.js.map +1 -1
  402. package/dist-es/list-next/useList.js.map +1 -1
  403. package/dist-es/localization-provider/LocalizationProvider.js +6 -3
  404. package/dist-es/localization-provider/LocalizationProvider.js.map +1 -1
  405. package/dist-es/menu-button/MenuButton.js.map +1 -1
  406. package/dist-es/metric/MetricContent.js +2 -2
  407. package/dist-es/metric/MetricContent.js.map +1 -1
  408. package/dist-es/number-input/NumberInput.js +1 -1
  409. package/dist-es/number-input/NumberInput.js.map +1 -1
  410. package/dist-es/number-input/useNumberInput.js.map +1 -1
  411. package/dist-es/query-input/internal/CategoryListContext.js.map +1 -1
  412. package/dist-es/query-input/internal/CategoryListItem.js.map +1 -1
  413. package/dist-es/query-input/internal/usePopperStatus.js +2 -2
  414. package/dist-es/query-input/internal/usePopperStatus.js.map +1 -1
  415. package/dist-es/query-input/useQueryInput.js +0 -1
  416. package/dist-es/query-input/useQueryInput.js.map +1 -1
  417. package/dist-es/responsive/OverflowReducer.js +1 -3
  418. package/dist-es/responsive/OverflowReducer.js.map +1 -1
  419. package/dist-es/responsive/useDynamicCollapse.js.map +1 -1
  420. package/dist-es/responsive/useInstantCollapse.js.map +1 -1
  421. package/dist-es/responsive/useOverflow.js +1 -1
  422. package/dist-es/responsive/useOverflow.js.map +1 -1
  423. package/dist-es/responsive/useOverflowCollectionItems.js.map +1 -1
  424. package/dist-es/responsive/useOverflowLayout.js +0 -3
  425. package/dist-es/responsive/useOverflowLayout.js.map +1 -1
  426. package/dist-es/responsive/useReclaimSpace.js.map +1 -1
  427. package/dist-es/responsive/useResizeObserver.js.map +1 -1
  428. package/dist-es/responsive/useWidth.js.map +1 -1
  429. package/dist-es/responsive/utils.js.map +1 -1
  430. package/dist-es/search-input/SearchInput.js.map +1 -1
  431. package/dist-es/tabs/Tab.js.map +1 -1
  432. package/dist-es/tabs/Tabs.js.map +1 -1
  433. package/dist-es/tabs/Tabstrip.js +0 -1
  434. package/dist-es/tabs/Tabstrip.js.map +1 -1
  435. package/dist-es/tabs/drag-drop/useDragDropNaturalMovement.js +1 -1
  436. package/dist-es/tabs/drag-drop/useDragDropNaturalMovement.js.map +1 -1
  437. package/dist-es/tabs/drag-drop/useDragSpacers.js.map +1 -1
  438. package/dist-es/tabs/useEditableItem.js.map +1 -1
  439. package/dist-es/tabs/useKeyboardNavigation.js +1 -1
  440. package/dist-es/tabs/useKeyboardNavigation.js.map +1 -1
  441. package/dist-es/tabs/useSelection.js.map +1 -1
  442. package/dist-es/tabs/useTabs.js.map +1 -1
  443. package/dist-es/tabs/useTabstrip.js.map +1 -1
  444. package/dist-es/tabs-next/TabListNext.js.map +1 -1
  445. package/dist-es/tabs-next/TabNext.js.map +1 -1
  446. package/dist-es/tabs-next/TabNextAction.js.map +1 -1
  447. package/dist-es/tabs-next/TabNextContext.js.map +1 -1
  448. package/dist-es/tabs-next/TabNextPanel.js.map +1 -1
  449. package/dist-es/tabs-next/TabNextTrigger.js.map +1 -1
  450. package/dist-es/tabs-next/TabOverflowList.js.map +1 -1
  451. package/dist-es/tabs-next/TabsNext.js.map +1 -1
  452. package/dist-es/tabs-next/TabsNextContext.js.map +1 -1
  453. package/dist-es/tabs-next/hooks/useCollection.js +2 -2
  454. package/dist-es/tabs-next/hooks/useCollection.js.map +1 -1
  455. package/dist-es/tabs-next/hooks/useFocusOutside.js.map +1 -1
  456. package/dist-es/tabs-next/hooks/useOverflow.js.map +1 -1
  457. package/dist-es/tabs-next/hooks/useRestoreActiveTab.js.map +1 -1
  458. package/dist-es/tokenized-input/TokenizedInputBase.js.map +1 -1
  459. package/dist-es/tokenized-input/internal/InputPill.js.map +1 -1
  460. package/dist-es/tokenized-input/internal/getCursorPosition.js.map +1 -1
  461. package/dist-es/tokenized-input/internal/useResizeObserver.js.map +1 -1
  462. package/dist-es/tokenized-input/useTokenizedInput.js.map +1 -1
  463. package/dist-es/tokenized-input-next/TokenizedInputNext.js.map +1 -1
  464. package/dist-es/tokenized-input-next/internal/InputPill.js.map +1 -1
  465. package/dist-es/tokenized-input-next/internal/useResizeObserver.js.map +1 -1
  466. package/dist-es/tokenized-input-next/useTokenizedInputNext.js +1 -1
  467. package/dist-es/tokenized-input-next/useTokenizedInputNext.js.map +1 -1
  468. package/dist-es/toolbar/Tooltray.js.map +1 -1
  469. package/dist-es/toolbar/internal/renderToolbarItems.js.map +1 -1
  470. package/dist-es/toolbar/internal/renderTrayTools.js.map +1 -1
  471. package/dist-es/toolbar/overflow-panel/OverflowPanel.js.map +1 -1
  472. package/dist-es/toolbar/toolbar-field/useToolbarField.js.map +1 -1
  473. package/dist-es/tree/Tree.js +2 -6
  474. package/dist-es/tree/Tree.js.map +1 -1
  475. package/dist-es/tree/TreeNode.js.map +1 -1
  476. package/dist-es/tree/use-tree-keyboard-navigation.js.map +1 -1
  477. package/dist-es/tree/useTree.js.map +1 -1
  478. package/dist-es/utils/useClickOutside.js.map +1 -1
  479. package/dist-es/utils/useSlideSelection.js.map +1 -1
  480. package/dist-es/window/ElectronWindow.js +1 -1
  481. package/dist-es/window/ElectronWindow.js.map +1 -1
  482. package/dist-types/calendar/Calendar.d.ts +22 -3
  483. package/dist-types/calendar/CalendarGrid.d.ts +19 -3
  484. package/dist-types/calendar/CalendarMonthHeader.d.ts +18 -0
  485. package/dist-types/calendar/CalendarNavigation.d.ts +9 -0
  486. package/dist-types/calendar/index.d.ts +1 -0
  487. package/dist-types/calendar/internal/CalendarDay.d.ts +25 -6
  488. package/dist-types/calendar/internal/CalendarMonth.d.ts +2 -6
  489. package/dist-types/calendar/internal/utils.d.ts +3 -7
  490. package/dist-types/calendar/useCalendar.d.ts +34 -30
  491. package/dist-types/calendar/useCalendarDay.d.ts +3 -2
  492. package/dist-types/calendar/useCalendarSelection.d.ts +60 -8
  493. package/dist-types/date-input/DateInputRange.d.ts +12 -8
  494. package/dist-types/date-input/DateInputSingle.d.ts +12 -8
  495. package/dist-types/date-picker/DatePicker.d.ts +14 -6
  496. package/dist-types/date-picker/DatePickerContext.d.ts +29 -1
  497. package/dist-types/date-picker/DatePickerHelperText.d.ts +4 -0
  498. package/dist-types/date-picker/DatePickerOverlayProvider.d.ts +9 -2
  499. package/dist-types/date-picker/DatePickerRangeGridPanel.d.ts +17 -0
  500. package/dist-types/date-picker/DatePickerRangeInput.d.ts +1 -0
  501. package/dist-types/date-picker/DatePickerRangePanel.d.ts +24 -20
  502. package/dist-types/date-picker/DatePickerSingleGridPanel.d.ts +65 -0
  503. package/dist-types/date-picker/DatePickerSingleInput.d.ts +1 -0
  504. package/dist-types/date-picker/DatePickerSinglePanel.d.ts +6 -48
  505. package/dist-types/date-picker/index.d.ts +4 -1
  506. package/dist-types/date-picker/useDatePicker.d.ts +29 -9
  507. package/dist-types/date-picker/useFocusOut.d.ts +9 -0
  508. package/dist-types/date-picker/useKeyboard.d.ts +7 -1
  509. package/dist-types/index.d.ts +0 -1
  510. package/package.json +3 -4
  511. package/dist-cjs/calendar/CalendarGrid.css.js +0 -6
  512. package/dist-cjs/calendar/CalendarGrid.css.js.map +0 -1
  513. package/dist-cjs/combo-box-deprecated/internal/getAnnouncement.js +0 -8
  514. package/dist-cjs/combo-box-deprecated/internal/getAnnouncement.js.map +0 -1
  515. package/dist-cjs/splitter/SplitHandle.css.js +0 -6
  516. package/dist-cjs/splitter/SplitHandle.css.js.map +0 -1
  517. package/dist-cjs/splitter/SplitHandle.js +0 -60
  518. package/dist-cjs/splitter/SplitHandle.js.map +0 -1
  519. package/dist-cjs/splitter/SplitPanel.css.js +0 -6
  520. package/dist-cjs/splitter/SplitPanel.css.js.map +0 -1
  521. package/dist-cjs/splitter/SplitPanel.js +0 -37
  522. package/dist-cjs/splitter/SplitPanel.js.map +0 -1
  523. package/dist-cjs/splitter/Splitter.js +0 -31
  524. package/dist-cjs/splitter/Splitter.js.map +0 -1
  525. package/dist-cjs/splitter/utils.js +0 -18
  526. package/dist-cjs/splitter/utils.js.map +0 -1
  527. package/dist-es/calendar/CalendarGrid.css.js +0 -4
  528. package/dist-es/calendar/CalendarGrid.css.js.map +0 -1
  529. package/dist-es/combo-box-deprecated/internal/getAnnouncement.js +0 -6
  530. package/dist-es/combo-box-deprecated/internal/getAnnouncement.js.map +0 -1
  531. package/dist-es/splitter/SplitHandle.css.js +0 -4
  532. package/dist-es/splitter/SplitHandle.css.js.map +0 -1
  533. package/dist-es/splitter/SplitHandle.js +0 -58
  534. package/dist-es/splitter/SplitHandle.js.map +0 -1
  535. package/dist-es/splitter/SplitPanel.css.js +0 -4
  536. package/dist-es/splitter/SplitPanel.css.js.map +0 -1
  537. package/dist-es/splitter/SplitPanel.js +0 -35
  538. package/dist-es/splitter/SplitPanel.js.map +0 -1
  539. package/dist-es/splitter/Splitter.js +0 -27
  540. package/dist-es/splitter/Splitter.js.map +0 -1
  541. package/dist-es/splitter/utils.js +0 -15
  542. package/dist-es/splitter/utils.js.map +0 -1
  543. package/dist-types/splitter/SplitHandle.d.ts +0 -21
  544. package/dist-types/splitter/SplitPanel.d.ts +0 -10
  545. package/dist-types/splitter/Splitter.d.ts +0 -22
  546. package/dist-types/splitter/index.d.ts +0 -4
  547. package/dist-types/splitter/utils.d.ts +0 -4
@@ -1,20 +1,22 @@
1
- import type { DateFrameworkType } from "@salt-ds/date-adapters";
1
+ import { type ResponsiveProp } from "@salt-ds/core";
2
+ import type { DateFrameworkType, Timezone } from "@salt-ds/date-adapters";
2
3
  import { type SyntheticEvent } from "react";
3
- import { type UseCalendarSelectionMultiSelectProps, type UseCalendarSelectionOffsetProps, type UseCalendarSelectionRangeProps, type UseCalendarSelectionSingleProps } from "./useCalendarSelection";
4
+ import { type UseCalendarSelectionBaseProps, type UseCalendarSelectionMultiSelectProps, type UseCalendarSelectionOffsetProps, type UseCalendarSelectionRangeProps, type UseCalendarSelectionSingleProps } from "./useCalendarSelection";
4
5
  /**
5
- * Interface representing the base properties UseCalendar hook.
6
+ * Base properties for the UseCalendar hook.
7
+ * @template TDate - The type of the date object.
6
8
  */
7
- interface UseCalendarBaseProps<TDate> {
9
+ interface UseCalendarBaseProps<TDate> extends UseCalendarSelectionBaseProps<TDate> {
8
10
  /**
9
11
  * The default visible month.
10
12
  */
11
13
  defaultVisibleMonth?: TDate;
12
14
  /**
13
15
  * Callback fired when the visible month changes.
14
- * @param event - The synthetic event.
16
+ * @param event - The synthetic event or null if triggered by code.
15
17
  * @param visibleMonth - The new visible month.
16
18
  */
17
- onVisibleMonthChange?: (event: SyntheticEvent, visibleMonth: TDate) => void;
19
+ onVisibleMonthChange?: (event: SyntheticEvent | null, visibleMonth: TDate) => void;
18
20
  /**
19
21
  * Function to determine if a day is unselectable.
20
22
  * @param date - The date to check.
@@ -33,18 +35,10 @@ interface UseCalendarBaseProps<TDate> {
33
35
  * @returns A string reason if the day is disabled, otherwise `false` or `undefined`.
34
36
  */
35
37
  isDayDisabled?: (date: TDate) => string | false | undefined;
36
- /**
37
- * The currently visible month.
38
- */
39
- visibleMonth?: TDate;
40
38
  /**
41
39
  * If `true`, hides dates that are out of the selectable range.
42
40
  */
43
41
  hideOutOfRangeDates?: boolean;
44
- /**
45
- * Locale for date formatting
46
- */
47
- locale?: any;
48
42
  /**
49
43
  * The minimum selectable date.
50
44
  */
@@ -53,6 +47,10 @@ interface UseCalendarBaseProps<TDate> {
53
47
  * The maximum selectable date.
54
48
  */
55
49
  maxDate?: TDate;
50
+ /**
51
+ * Number of visible months, maximum 12, defaults to 1.
52
+ */
53
+ numberOfVisibleMonths?: ResponsiveProp<1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12>;
56
54
  }
57
55
  /**
58
56
  * UseCalendar hook props for a single date selection Calendar.
@@ -65,6 +63,7 @@ export interface UseCalendarSingleProps<TDate extends DateFrameworkType> extends
65
63
  }
66
64
  /**
67
65
  * UseCalendar hook props for a date range selection Calendar.
66
+ * @template TDate - The type of the date object.
68
67
  */
69
68
  export interface UseCalendarRangeProps<TDate extends DateFrameworkType> extends UseCalendarSelectionRangeProps<TDate>, UseCalendarBaseProps<TDate> {
70
69
  /**
@@ -74,6 +73,7 @@ export interface UseCalendarRangeProps<TDate extends DateFrameworkType> extends
74
73
  }
75
74
  /**
76
75
  * UseCalendar hook props for a multi-select Calendar.
76
+ * @template TDate - The type of the date object.
77
77
  */
78
78
  export interface UseCalendarMultiSelectProps<TDate extends DateFrameworkType> extends UseCalendarSelectionMultiSelectProps<TDate>, UseCalendarBaseProps<TDate> {
79
79
  /**
@@ -83,6 +83,7 @@ export interface UseCalendarMultiSelectProps<TDate extends DateFrameworkType> ex
83
83
  }
84
84
  /**
85
85
  * UseCalendar hook props for an offset date selection Calendar.
86
+ * @template TDate - The type of the date object.
86
87
  */
87
88
  export interface UseCalendarOffsetProps<TDate extends DateFrameworkType> extends UseCalendarSelectionOffsetProps<TDate>, UseCalendarBaseProps<TDate> {
88
89
  /**
@@ -92,12 +93,12 @@ export interface UseCalendarOffsetProps<TDate extends DateFrameworkType> extends
92
93
  }
93
94
  /**
94
95
  * UseCalendar hook props, wth the selection variant determining the return type of the date selection
96
+ * @template TDate - The type of the date object.
95
97
  */
96
98
  export declare type UseCalendarProps<TDate extends DateFrameworkType> = UseCalendarSingleProps<TDate> | UseCalendarRangeProps<TDate> | UseCalendarMultiSelectProps<TDate> | UseCalendarOffsetProps<TDate>;
97
99
  /**
98
100
  * Represents the return type of the useCalendar hook.
99
- *
100
- * @template TDate - The type of the date object used in the calendar.
101
+ * @template TDate - The type of the date object.
101
102
  */
102
103
  export interface UseCalendarReturn<TDate extends DateFrameworkType> {
103
104
  /**
@@ -113,9 +114,9 @@ export interface UseCalendarReturn<TDate extends DateFrameworkType> {
113
114
  */
114
115
  focusedDate: TDate | null;
115
116
  /**
116
- * The locale used for date formatting.
117
+ * Focusable dates based on current state
117
118
  */
118
- locale: any;
119
+ focusableDates: TDate[];
119
120
  /**
120
121
  * The minimum selectable date in the calendar.
121
122
  */
@@ -133,9 +134,18 @@ export interface UseCalendarReturn<TDate extends DateFrameworkType> {
133
134
  */
134
135
  hideOutOfRangeDates?: boolean;
135
136
  /**
136
- * Whether the calendar is currently focused.
137
+ * Number of visible months
137
138
  */
138
- calendarFocused: boolean;
139
+ numberOfVisibleMonths: number;
140
+ /**
141
+ * Specifies the timezone behavior:
142
+ * - If undefined, the timezone will be derived from the passed date, or from `defaultSelectedDate`/`selectedDate`.
143
+ * - If set to "default", the default timezone of the date library will be used.
144
+ * - If set to "system", the local system's timezone will be applied.
145
+ * - If set to "UTC", the time will be returned in UTC.
146
+ * - If set to a valid IANA timezone identifier, the time will be returned for that specific timezone.
147
+ */
148
+ timezone?: Timezone;
139
149
  /**
140
150
  * Additional state properties from selectionManager.state.
141
151
  */
@@ -148,23 +158,17 @@ export interface UseCalendarReturn<TDate extends DateFrameworkType> {
148
158
  /**
149
159
  * Sets the visible month in the calendar.
150
160
  *
151
- * @param event - The synthetic event triggering the change.
161
+ * @param event - The synthetic event or null if triggered by code.
152
162
  * @param newVisibleMonth - The new visible month to set.
153
163
  */
154
- setVisibleMonth: (event: SyntheticEvent, newVisibleMonth: TDate) => void;
164
+ setVisibleMonth: (event: SyntheticEvent | null, newVisibleMonth: TDate) => void;
155
165
  /**
156
166
  * Sets the focused date in the calendar.
157
167
  *
158
- * @param event - The synthetic event triggering the change.
168
+ * @param event - The synthetic event or null if triggered by code.
159
169
  * @param date - The new date to focus.
160
170
  */
161
- setFocusedDate: (event: SyntheticEvent, date: TDate) => void;
162
- /**
163
- * Sets whether the calendar is focused.
164
- *
165
- * @param focused - Whether the calendar should be focused.
166
- */
167
- setCalendarFocused: (focused: boolean) => void;
171
+ setFocusedDate: (event: SyntheticEvent | null, date: TDate | null) => void;
168
172
  /**
169
173
  * Determines if a day is unselectable.
170
174
  *
@@ -1,5 +1,4 @@
1
1
  import type { DateFrameworkType } from "@salt-ds/date-adapters";
2
- import { type RefObject } from "react";
3
2
  /**
4
3
  * Interface representing the status of a day in the Calendar.
5
4
  */
@@ -39,6 +38,7 @@ export interface DayStatus {
39
38
  }
40
39
  /**
41
40
  * UseCalendar hook props to return a calendar day's status
41
+ * @template TDate - The type of the date object.
42
42
  */
43
43
  export interface useCalendarDayProps<TDate> {
44
44
  /**
@@ -50,9 +50,10 @@ export interface useCalendarDayProps<TDate> {
50
50
  */
51
51
  month: TDate;
52
52
  }
53
- export declare function useCalendarDay<TDate extends DateFrameworkType>(props: useCalendarDayProps<TDate>, ref: RefObject<HTMLElement>): {
53
+ export declare function useCalendarDay<TDate extends DateFrameworkType>(props: useCalendarDayProps<TDate>): {
54
54
  status: DayStatus;
55
55
  dayProps: Omit<import("react").DetailedHTMLProps<import("react").ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "ref">;
56
+ focusedDateRef: any;
56
57
  unselectableReason: string | false | undefined;
57
58
  highlightedReason: string | false | undefined;
58
59
  };
@@ -1,15 +1,18 @@
1
- import type { DateFrameworkType } from "@salt-ds/date-adapters";
1
+ import type { DateFrameworkType, Timezone } from "@salt-ds/date-adapters";
2
2
  import type { KeyboardEventHandler, MouseEventHandler, SyntheticEvent } from "react";
3
3
  /**
4
4
  * Type representing a single date selection.
5
+ * @template TDate - The type of the date object.
5
6
  */
6
7
  export declare type SingleDateSelection<TDate extends DateFrameworkType> = TDate;
7
8
  /**
8
9
  * Type representing multiple date selections.
10
+ * @template TDate - The type of the date object.
9
11
  */
10
12
  export declare type MultipleDateSelection<TDate extends DateFrameworkType> = TDate[];
11
13
  /**
12
14
  * Type representing a date range selection.
15
+ * @template TDate - The type of the date object.
13
16
  */
14
17
  export declare type DateRangeSelection<TDate extends DateFrameworkType> = {
15
18
  /**
@@ -23,50 +26,94 @@ export declare type DateRangeSelection<TDate extends DateFrameworkType> = {
23
26
  };
24
27
  /**
25
28
  * Type representing all possible selection value types.
29
+ * @template TDate - The type of the date object.
26
30
  */
27
31
  export declare type AllSelectionValueType<TDate extends DateFrameworkType> = SingleDateSelection<TDate> | MultipleDateSelection<TDate> | DateRangeSelection<TDate> | null;
28
32
  /**
29
33
  * Checks if a value is a single date selection.
34
+ * @template TDate - The type of the date object.
30
35
  * @param value - The value to check.
31
36
  * @returns `true` if the value is a single date selection, otherwise `false`.
32
37
  */
33
38
  export declare function isSingleSelectionValueType<TDate extends DateFrameworkType>(value: any): value is TDate;
34
39
  /**
35
40
  * Checks if a value is a date range selection.
41
+ * @template TDate - The type of the date object.
36
42
  * @param value - The value to check.
37
43
  * @returns `true` if the value is a date range selection, otherwise `false`.
38
44
  */
39
45
  export declare function isDateRangeSelection<TDate extends DateFrameworkType>(value: any): value is DateRangeSelection<TDate>;
40
46
  /**
41
47
  * Checks if a value is a multiple date selection.
48
+ * @template TDate - The type of the date object.
42
49
  * @param value - The value to check.
43
50
  * @returns `true` if the value is a multiple date selection, otherwise `false`.
44
51
  */
45
52
  export declare function isMultipleDateSelection<TDate extends DateFrameworkType>(value: any): value is MultipleDateSelection<TDate>;
46
53
  /**
47
54
  * Base properties for calendar UseCalendarSelection hook.
48
- * @template SelectionVariantType - The type of the selection variant.
55
+ * @template TDate - The type of the date object.
49
56
  */
50
- interface UseCalendarSelectionBaseProps<TDate extends DateFrameworkType> {
57
+ export interface UseCalendarSelectionBaseProps<TDate extends DateFrameworkType> {
58
+ /**
59
+ * The currently focused date in the calendar, or null if no date is focused.
60
+ */
61
+ focusedDate?: TDate | null;
51
62
  /**
52
63
  * The currently hovered date.
53
64
  */
54
65
  hoveredDate?: TDate | null;
66
+ /**
67
+ * Determines if a date is outside the allowed date range.
68
+ * @param date - The date to check.
69
+ * @returns `true` if the date is outside the allowed range, otherwise `false`.
70
+ */
71
+ isOutsideAllowedDates?: (date: TDate) => boolean;
55
72
  /**
56
73
  * Function to determine if a day is selectable.
57
74
  * @param date - The date to check.
58
75
  * @returns `true` if the day is selectable, otherwise `false`.
59
76
  */
60
77
  isDaySelectable?: (date: TDate) => boolean;
78
+ /**
79
+ * Function to determine if a day is visible.
80
+ * @param date - The date to check.
81
+ * @returns `true` if the day is visible, otherwise `false`.
82
+ */
83
+ isDayVisible?: (date: TDate) => boolean;
84
+ /**
85
+ * Ref to attach to the focused element, enabling focus to be controlled.
86
+ */
87
+ focusedDateRef?: React.MutableRefObject<HTMLElement | null>;
88
+ /**
89
+ * Callback fired when the focused date changes.
90
+ * @param event - The synthetic event, if user event triggered focus or null.
91
+ * @param date - The new focused date.
92
+ */
93
+ onFocusedDateChange?: (event: SyntheticEvent | null, date: TDate | null) => void;
61
94
  /**
62
95
  * Callback fired when the hovered date changes.
63
96
  * @param event - The synthetic event.
64
97
  * @param hoveredDate - The new hovered date.
65
98
  */
66
99
  onHoveredDateChange?: (event: SyntheticEvent, hoveredDate: TDate | null) => void;
100
+ /**
101
+ * Specifies the timezone behavior:
102
+ * - If undefined, the timezone will be derived from the passed date, or from `defaultSelectedDate`/`selectedDate`.
103
+ * - If set to "default", the default timezone of the date library will be used.
104
+ * - If set to "system", the local system's timezone will be applied.
105
+ * - If set to "UTC", the time will be returned in UTC.
106
+ * - If set to a valid IANA timezone identifier, the time will be returned for that specific timezone.
107
+ */
108
+ timezone?: Timezone;
109
+ /**
110
+ * The currently visible month.
111
+ */
112
+ visibleMonth?: TDate;
67
113
  }
68
114
  /**
69
115
  * UseCalendar hook props to return a calendar day's status
116
+ * @template TDate - The type of the date object.
70
117
  */
71
118
  export interface UseCalendarSelectionOffsetProps<TDate extends DateFrameworkType> extends Omit<UseCalendarSelectionBaseProps<TDate>, "startDateOffset" | "endDateOffset"> {
72
119
  /**
@@ -102,6 +149,7 @@ export interface UseCalendarSelectionOffsetProps<TDate extends DateFrameworkType
102
149
  }
103
150
  /**
104
151
  * Properties for the range date selection hook.
152
+ * @template TDate - The type of the date object.
105
153
  */
106
154
  export interface UseCalendarSelectionRangeProps<TDate extends DateFrameworkType> extends UseCalendarSelectionBaseProps<TDate> {
107
155
  /**
@@ -125,6 +173,7 @@ export interface UseCalendarSelectionRangeProps<TDate extends DateFrameworkType>
125
173
  }
126
174
  /**
127
175
  * Properties for the multi-select date selection hook.
176
+ * @template TDate - The type of the date object.
128
177
  */
129
178
  export interface UseCalendarSelectionMultiSelectProps<TDate extends DateFrameworkType> extends UseCalendarSelectionBaseProps<TDate> {
130
179
  /**
@@ -148,6 +197,7 @@ export interface UseCalendarSelectionMultiSelectProps<TDate extends DateFramewor
148
197
  }
149
198
  /**
150
199
  * Properties for the single date selection hook.
200
+ * @template TDate - The type of the date object.
151
201
  */
152
202
  export interface UseCalendarSelectionSingleProps<TDate extends DateFrameworkType> extends UseCalendarSelectionBaseProps<TDate> {
153
203
  /**
@@ -171,12 +221,16 @@ export interface UseCalendarSelectionSingleProps<TDate extends DateFrameworkType
171
221
  }
172
222
  /**
173
223
  * UseCalendarSelection hook props, wth the selection variant determining the return type of the date selection
224
+ * @template TDate - The type of the date object.
174
225
  */
175
226
  export declare type UseCalendarSelectionProps<TDate extends DateFrameworkType> = UseCalendarSelectionSingleProps<TDate> | UseCalendarSelectionMultiSelectProps<TDate> | UseCalendarSelectionRangeProps<TDate> | UseCalendarSelectionOffsetProps<TDate>;
176
227
  export declare function useCalendarSelection<TDate extends DateFrameworkType>(props: UseCalendarSelectionProps<TDate>): {
177
228
  state: {
178
- selectedDate: TDate | MultipleDateSelection<TDate> | DateRangeSelection<TDate> | null | undefined;
229
+ focusedDate: TDate | null;
230
+ focusedDateRef: import("react").MutableRefObject<HTMLElement | null> | undefined;
179
231
  hoveredDate: TDate | null | undefined;
232
+ selectedDate: TDate | MultipleDateSelection<TDate> | DateRangeSelection<TDate> | null | undefined;
233
+ focusableDates: TDate[];
180
234
  };
181
235
  helpers: {
182
236
  setSelectedDate: (event: SyntheticEvent<HTMLButtonElement>, newSelectedDate: TDate) => void;
@@ -188,7 +242,8 @@ export declare function useCalendarSelection<TDate extends DateFrameworkType>(pr
188
242
  isSelectedStart: (date: TDate) => boolean;
189
243
  isSelectedEnd: (date: TDate) => boolean;
190
244
  isHoveredOffset: (date: TDate) => boolean;
191
- isDaySelectable: ((date: TDate) => boolean) | undefined;
245
+ isDaySelectable: (date: TDate) => boolean;
246
+ setFocusedDate: (event: SyntheticEvent | null, date: TDate | null) => void;
192
247
  };
193
248
  };
194
249
  export declare function useCalendarSelectionDay<TDate extends DateFrameworkType>({ date, }: {
@@ -196,8 +251,6 @@ export declare function useCalendarSelectionDay<TDate extends DateFrameworkType>
196
251
  }): {
197
252
  handleClick: MouseEventHandler<HTMLButtonElement>;
198
253
  handleKeyDown: KeyboardEventHandler<HTMLButtonElement>;
199
- handleMouseOver: MouseEventHandler<HTMLButtonElement>;
200
- handleMouseLeave: MouseEventHandler<HTMLButtonElement>;
201
254
  status: {
202
255
  selected: boolean;
203
256
  selectedSpan: boolean;
@@ -213,4 +266,3 @@ export declare function useCalendarSelectionDay<TDate extends DateFrameworkType>
213
266
  "aria-disabled": string | undefined;
214
267
  };
215
268
  };
216
- export {};
@@ -1,5 +1,5 @@
1
1
  import { type InputProps } from "@salt-ds/core";
2
- import type { DateDetail, DateFrameworkType, ParserResult } from "@salt-ds/date-adapters";
2
+ import type { DateDetail, DateFrameworkType, ParserResult, Timezone } from "@salt-ds/date-adapters";
3
3
  import { type ChangeEvent, type ComponentPropsWithoutRef, type InputHTMLAttributes, type ReactNode, type Ref, type SyntheticEvent } from "react";
4
4
  import type { DateRangeSelection } from "../calendar";
5
5
  /**
@@ -27,7 +27,7 @@ export declare enum DateParserField {
27
27
  }
28
28
  /**
29
29
  * Props for the DateInputRange component.
30
- * @template T
30
+ * @template TDate - The type of the date object.
31
31
  */
32
32
  export interface DateInputRangeProps<TDate extends DateFrameworkType> extends Omit<ComponentPropsWithoutRef<"div">, "defaultValue" | "onChange">, Omit<InputProps, "defaultValue" | "inputRef" | "value" | "onChange"> {
33
33
  /**
@@ -81,18 +81,13 @@ export interface DateInputRangeProps<TDate extends DateFrameworkType> extends Om
81
81
  * Optional ref for the end input component.
82
82
  */
83
83
  endInputRef?: Ref<HTMLInputElement>;
84
- /**
85
- * Locale for date formatting and parsing
86
- */
87
- locale?: any;
88
84
  /**
89
85
  * Parser callback, if not using the adapter's parser
90
86
  * @param value - date string to parse
91
87
  * @param field: DateParserField to identify value,
92
88
  * @param format - format required
93
- * @param locale - locale required
94
89
  */
95
- parse?: (value: string, field: DateParserField, format: string, locale?: any) => ParserResult<TDate>;
90
+ parse?: (value: string, field: DateParserField, format: string) => ParserResult<TDate>;
96
91
  /**
97
92
  * Input value. Use when the input value is controlled.
98
93
  */
@@ -128,5 +123,14 @@ export interface DateInputRangeProps<TDate extends DateFrameworkType> extends Om
128
123
  * @param newValue - The new date input range value.
129
124
  */
130
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;
131
135
  }
132
136
  export declare const DateInputRange: import("react").ForwardRefExoticComponent<DateInputRangeProps<any> & import("react").RefAttributes<HTMLDivElement>>;
@@ -1,4 +1,4 @@
1
- import type { DateDetail, DateFrameworkType, ParserResult } from "@salt-ds/date-adapters";
1
+ import type { DateDetail, DateFrameworkType, ParserResult, Timezone } from "@salt-ds/date-adapters";
2
2
  import { type ComponentPropsWithoutRef, type InputHTMLAttributes, type ReactNode, type Ref, type SyntheticEvent } from "react";
3
3
  import type { SingleDateSelection } from "../calendar";
4
4
  /**
@@ -7,7 +7,7 @@ import type { SingleDateSelection } from "../calendar";
7
7
  export declare type DateInputSingleDetails = DateDetail;
8
8
  /**
9
9
  * Props for the DateInputSingle component.
10
- * @template T
10
+ * @template TDate - The type of the date object.
11
11
  */
12
12
  export interface DateInputSingleProps<TDate extends DateFrameworkType> extends Omit<ComponentPropsWithoutRef<"div">, "defaultValue">, Pick<ComponentPropsWithoutRef<"input">, "disabled" | "value" | "defaultValue" | "placeholder"> {
13
13
  /**
@@ -56,17 +56,12 @@ export interface DateInputSingleProps<TDate extends DateFrameworkType> extends O
56
56
  * Reference for the input.
57
57
  */
58
58
  inputRef?: Ref<HTMLInputElement>;
59
- /**
60
- * Locale for date formatting and parsing
61
- */
62
- locale?: any;
63
59
  /**
64
60
  * Parser callback, if not using the adapter's parser
65
61
  * @param value - date string to parse
66
62
  * @param format - format required
67
- * @param locale - locale required
68
63
  */
69
- parse?: (value: string, format: string, locale?: any) => ParserResult<TDate>;
64
+ parse?: (value: string, format: string) => ParserResult<TDate>;
70
65
  /**
71
66
  * Input value. Use when the input value is controlled.
72
67
  */
@@ -96,5 +91,14 @@ export interface DateInputSingleProps<TDate extends DateFrameworkType> extends O
96
91
  * @param newValue - The new date input value.
97
92
  */
98
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;
99
103
  }
100
104
  export declare const DateInputSingle: import("react").ForwardRefExoticComponent<DateInputSingleProps<any> & import("react").RefAttributes<HTMLDivElement>>;
@@ -1,4 +1,4 @@
1
- import type { DateFrameworkType } from "@salt-ds/date-adapters";
1
+ import type { DateFrameworkType, Timezone } from "@salt-ds/date-adapters";
2
2
  import { type ReactNode } from "react";
3
3
  import { type DatePickerOpenChangeReason } from "./DatePickerOverlayProvider";
4
4
  import { type UseDatePickerRangeProps, type UseDatePickerSingleProps } from "./useDatePicker";
@@ -15,32 +15,40 @@ export interface DatePickerBaseProps {
15
15
  /**
16
16
  * Handler for when open state changes
17
17
  * @param newOpen - true when opened
18
- * @param event - event that triggered the state change
19
18
  * @param reason - reason for the the state change
20
19
  */
21
- onOpenChange?: (newOpen: boolean, event?: Event, reason?: DatePickerOpenChangeReason) => void;
20
+ onOpenChange?: (newOpen: boolean, reason?: DatePickerOpenChangeReason) => void;
22
21
  /**
23
22
  * the initial open/close state of the overlay, when the open/close state is un-controlled.
24
23
  */
25
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;
26
34
  }
27
35
  /**
28
36
  * Props for the DatePicker component, when `selectionVariant` is `single`.
29
- * @template T
37
+ * @template TDate - The type of the date object.
30
38
  */
31
39
  export interface DatePickerSingleProps<TDate extends DateFrameworkType> extends DatePickerBaseProps, UseDatePickerSingleProps<TDate> {
32
40
  selectionVariant: "single";
33
41
  }
34
42
  /**
35
43
  * Props for the DatePicker component, when `selectionVariant` is `range`.
36
- * @template T
44
+ * @template TDate - The type of the date object.
37
45
  */
38
46
  export interface DatePickerRangeProps<TDate extends DateFrameworkType> extends DatePickerBaseProps, UseDatePickerRangeProps<TDate> {
39
47
  selectionVariant: "range";
40
48
  }
41
49
  /**
42
50
  * Props for the DatePicker component.
43
- * @template T
51
+ * @template TDate - The type of the date object.
44
52
  */
45
53
  export declare type DatePickerProps<TDate extends DateFrameworkType> = DatePickerSingleProps<TDate> | DatePickerRangeProps<TDate>;
46
54
  export declare const DatePickerMain: import("react").ForwardRefExoticComponent<DatePickerProps<any> & import("react").RefAttributes<HTMLDivElement>>;
@@ -1,9 +1,10 @@
1
- import type { DateFrameworkType } from "@salt-ds/date-adapters";
1
+ import type { DateFrameworkType, Timezone } from "@salt-ds/date-adapters";
2
2
  import { type Context, type Ref, type SyntheticEvent } from "react";
3
3
  import type { DateRangeSelection, SingleDateSelection } from "../calendar";
4
4
  import type { DateInputRangeDetails, DateInputSingleDetails } from "../date-input";
5
5
  /**
6
6
  * Interface representing the base state for a DatePicker.
7
+ * @template TDate - The type of the date object.
7
8
  */
8
9
  interface DatePickerBaseState<TDate extends DateFrameworkType> {
9
10
  /**
@@ -38,6 +39,15 @@ interface DatePickerBaseState<TDate extends DateFrameworkType> {
38
39
  * Reference to the container element.
39
40
  */
40
41
  containerRef: Ref<HTMLDivElement>;
42
+ /**
43
+ * Specifies the timezone behavior:
44
+ * - If undefined, the timezone will be derived from the passed date, or from `defaultSelectedDate`/`selectedDate`.
45
+ * - If set to "default", the default timezone of the date library will be used.
46
+ * - If set to "system", the local system's timezone will be applied.
47
+ * - If set to "UTC", the time will be returned in UTC.
48
+ * - If set to a valid IANA timezone identifier, the time will be returned for that specific timezone.
49
+ */
50
+ timezone?: Timezone;
41
51
  };
42
52
  /**
43
53
  * Helper functions for managing the DatePicker state.
@@ -48,6 +58,24 @@ interface DatePickerBaseState<TDate extends DateFrameworkType> {
48
58
  * @param event - event that triggered the state change
49
59
  */
50
60
  cancel: (event?: Event) => void;
61
+ /**
62
+ * Function to determine if a day is disabled.
63
+ * @param date - The date to check.
64
+ * @returns A string reason if the day is disabled, otherwise `false` or `undefined`.
65
+ */
66
+ isDayDisabled?: (date: TDate) => string | false | undefined;
67
+ /**
68
+ * Function to determine if a day is highlighted.
69
+ * @param date - The date to check.
70
+ * @returns A string reason if the day is highlighted, otherwise `false` or `undefined`.
71
+ */
72
+ isDayHighlighted?: (date: TDate) => string | false | undefined;
73
+ /**
74
+ * Function to determine if a day is unselectable.
75
+ * @param date - The date to check.
76
+ * @returns A string reason if the day is unselectable, otherwise `false` or `undefined`.
77
+ */
78
+ isDayUnselectable?: (date: TDate) => string | false | undefined;
51
79
  /**
52
80
  * Sets the enableApply state.
53
81
  * @param newEnableApply - The new value for enableApply.
@@ -0,0 +1,4 @@
1
+ import { type FormFieldHelperTextProps } from "@salt-ds/core";
2
+ export interface DatePickerHelperTextProps extends FormFieldHelperTextProps {
3
+ }
4
+ export declare const DatePickerHelperText: import("react").ForwardRefExoticComponent<Omit<DatePickerHelperTextProps, "ref"> & import("react").RefAttributes<HTMLLabelElement>>;
@@ -11,10 +11,18 @@ interface DatePickerOverlayState {
11
11
  * If `true`, the overlay is open.
12
12
  */
13
13
  open: boolean;
14
+ /**
15
+ * If `true`, the overlay contains the active element
16
+ */
17
+ focused: boolean;
14
18
  /**
15
19
  * The result of the floating UI calculations.
16
20
  */
17
21
  floatingUIResult: ReturnType<typeof useFloatingUI>;
22
+ /**
23
+ * Ref to attach to the initially focused element, when the overlay is opened.
24
+ */
25
+ initialFocusRef?: React.MutableRefObject<HTMLElement | null>;
18
26
  }
19
27
  /**
20
28
  * Interface representing the helper functions for a DatePicker overlay.
@@ -69,10 +77,9 @@ interface DatePickerOverlayProviderProps {
69
77
  /**
70
78
  * Handler for when open state changes
71
79
  * @param newOpen - true when opened
72
- * @param event - event that triggered the state change
73
80
  * @param reason - reason for the the state change
74
81
  */
75
- onOpenChange?: (newOpen: boolean, event?: Event, reason?: DatePickerOpenChangeReason) => void;
82
+ onOpenChange?: (newOpen: boolean, reason?: DatePickerOpenChangeReason) => void;
76
83
  /**
77
84
  * The default open state of the overlay.
78
85
  */
@@ -0,0 +1,17 @@
1
+ import type { DateFrameworkType } from "@salt-ds/date-adapters";
2
+ import { type SyntheticEvent } from "react";
3
+ import { type CalendarRangeProps } from "../calendar";
4
+ import { type DateRangeSelection } from "../calendar";
5
+ import type { DatePickerPanelBaseProps } from "./DatePickerSingleGridPanel";
6
+ /**
7
+ * Props for the DatePickerRangeGridPanel component.
8
+ * @template TDate - The type of the date object.
9
+ */
10
+ export declare type DatePickerRangeGridPanelProps<TDate extends DateFrameworkType> = DatePickerPanelBaseProps<TDate> & DateRangeSelection<TDate> & {
11
+ onSelectionChange?: (event: SyntheticEvent, selectedDate?: DateRangeSelection<TDate> | null) => void;
12
+ CalendarProps?: Partial<Omit<CalendarRangeProps<TDate>, "selectionVariant" | "selectedDate" | "defaultSelectedDate" | "onHoveredDateChange" | "onSelectionChange" | "onVisibleMonthChange">>;
13
+ };
14
+ export declare const DatePickerRangeGridPanel: import("react").ForwardRefExoticComponent<DatePickerPanelBaseProps<unknown> & DateRangeSelection<unknown> & {
15
+ onSelectionChange?: ((event: SyntheticEvent, selectedDate?: DateRangeSelection<unknown> | null | undefined) => void) | undefined;
16
+ CalendarProps?: Partial<Omit<CalendarRangeProps<unknown>, "onSelectionChange" | "selectionVariant" | "onHoveredDateChange" | "selectedDate" | "defaultSelectedDate" | "onVisibleMonthChange">> | undefined;
17
+ } & import("react").RefAttributes<HTMLDivElement>>;
@@ -3,6 +3,7 @@ import type { DateRangeSelection } from "../calendar";
3
3
  import { type DateInputRangeDetails, type DateInputRangeProps } from "../date-input";
4
4
  /**
5
5
  * Props for the DatePickerRangeInput component.
6
+ * @template TDate - The type of the date object.
6
7
  */
7
8
  export interface DatePickerRangeInputProps<TDate extends DateFrameworkType> extends DateInputRangeProps<TDate> {
8
9
  /**