@salt-ds/lab 1.0.0-alpha.66 → 1.0.0-alpha.68

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 (645) hide show
  1. package/CHANGELOG.md +184 -0
  2. package/css/salt-lab.css +24 -388
  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 -14
  139. package/dist-cjs/index.js.map +1 -1
  140. package/dist-cjs/input-legacy/InputLegacy.js.map +1 -1
  141. package/dist-cjs/input-legacy/useCursorOnFocus.js.map +1 -1
  142. package/dist-cjs/list/Highlighter.js.map +1 -1
  143. package/dist-cjs/list/List.js.map +1 -1
  144. package/dist-cjs/list/ListItem.js.map +1 -1
  145. package/dist-cjs/list/VirtualizedList.js.map +1 -1
  146. package/dist-cjs/list/useList.js +0 -1
  147. package/dist-cjs/list/useList.js.map +1 -1
  148. package/dist-cjs/list/useListHeight.js.map +1 -1
  149. package/dist-cjs/list-deprecated/ListBase.js +1 -3
  150. package/dist-cjs/list-deprecated/ListBase.js.map +1 -1
  151. package/dist-cjs/list-deprecated/ListItem.js.map +1 -1
  152. package/dist-cjs/list-deprecated/ListItemBase.js.map +1 -1
  153. package/dist-cjs/list-deprecated/ListItemContext.js.map +1 -1
  154. package/dist-cjs/list-deprecated/internal/DescendantContext.js.map +1 -1
  155. package/dist-cjs/list-deprecated/internal/calcPreferredListHeight.js.map +1 -1
  156. package/dist-cjs/list-deprecated/internal/useWidth.js.map +1 -1
  157. package/dist-cjs/list-deprecated/useList.js.map +1 -1
  158. package/dist-cjs/list-deprecated/useListItem.js.map +1 -1
  159. package/dist-cjs/list-deprecated/useTypeSelect.js.map +1 -1
  160. package/dist-cjs/list-next/ListItemNext.js.map +1 -1
  161. package/dist-cjs/list-next/ListNext.js.map +1 -1
  162. package/dist-cjs/list-next/ListNextContext.js.map +1 -1
  163. package/dist-cjs/list-next/useList.js.map +1 -1
  164. package/dist-cjs/localization-provider/LocalizationProvider.js +5 -2
  165. package/dist-cjs/localization-provider/LocalizationProvider.js.map +1 -1
  166. package/dist-cjs/menu-button/MenuButton.js.map +1 -1
  167. package/dist-cjs/metric/MetricContent.js.map +1 -1
  168. package/dist-cjs/number-input/NumberInput.js.map +1 -1
  169. package/dist-cjs/number-input/useNumberInput.js.map +1 -1
  170. package/dist-cjs/query-input/internal/CategoryListContext.js.map +1 -1
  171. package/dist-cjs/query-input/internal/CategoryListItem.js.map +1 -1
  172. package/dist-cjs/query-input/internal/usePopperStatus.js +2 -2
  173. package/dist-cjs/query-input/internal/usePopperStatus.js.map +1 -1
  174. package/dist-cjs/query-input/useQueryInput.js +0 -1
  175. package/dist-cjs/query-input/useQueryInput.js.map +1 -1
  176. package/dist-cjs/responsive/OverflowReducer.js +1 -3
  177. package/dist-cjs/responsive/OverflowReducer.js.map +1 -1
  178. package/dist-cjs/responsive/useDynamicCollapse.js.map +1 -1
  179. package/dist-cjs/responsive/useInstantCollapse.js.map +1 -1
  180. package/dist-cjs/responsive/useOverflow.js.map +1 -1
  181. package/dist-cjs/responsive/useOverflowCollectionItems.js.map +1 -1
  182. package/dist-cjs/responsive/useOverflowLayout.js +0 -3
  183. package/dist-cjs/responsive/useOverflowLayout.js.map +1 -1
  184. package/dist-cjs/responsive/useReclaimSpace.js.map +1 -1
  185. package/dist-cjs/responsive/useResizeObserver.js.map +1 -1
  186. package/dist-cjs/responsive/useWidth.js.map +1 -1
  187. package/dist-cjs/responsive/utils.js.map +1 -1
  188. package/dist-cjs/search-input/SearchInput.js.map +1 -1
  189. package/dist-cjs/tabs/Tab.js.map +1 -1
  190. package/dist-cjs/tabs/Tabs.js.map +1 -1
  191. package/dist-cjs/tabs/Tabstrip.js +0 -1
  192. package/dist-cjs/tabs/Tabstrip.js.map +1 -1
  193. package/dist-cjs/tabs/drag-drop/useDragDropNaturalMovement.js.map +1 -1
  194. package/dist-cjs/tabs/drag-drop/useDragSpacers.js.map +1 -1
  195. package/dist-cjs/tabs/useEditableItem.js.map +1 -1
  196. package/dist-cjs/tabs/useKeyboardNavigation.js.map +1 -1
  197. package/dist-cjs/tabs/useSelection.js.map +1 -1
  198. package/dist-cjs/tabs/useTabs.js.map +1 -1
  199. package/dist-cjs/tabs/useTabstrip.js.map +1 -1
  200. package/dist-cjs/tabs-next/TabListNext.js.map +1 -1
  201. package/dist-cjs/tabs-next/TabNext.js.map +1 -1
  202. package/dist-cjs/tabs-next/TabNextAction.js.map +1 -1
  203. package/dist-cjs/tabs-next/TabNextContext.js.map +1 -1
  204. package/dist-cjs/tabs-next/TabNextPanel.js.map +1 -1
  205. package/dist-cjs/tabs-next/TabNextTrigger.js.map +1 -1
  206. package/dist-cjs/tabs-next/TabOverflowList.js.map +1 -1
  207. package/dist-cjs/tabs-next/TabsNext.js.map +1 -1
  208. package/dist-cjs/tabs-next/TabsNextContext.js.map +1 -1
  209. package/dist-cjs/tabs-next/hooks/useCollection.js +2 -2
  210. package/dist-cjs/tabs-next/hooks/useCollection.js.map +1 -1
  211. package/dist-cjs/tabs-next/hooks/useFocusOutside.js.map +1 -1
  212. package/dist-cjs/tabs-next/hooks/useOverflow.js.map +1 -1
  213. package/dist-cjs/tabs-next/hooks/useRestoreActiveTab.js.map +1 -1
  214. package/dist-cjs/tokenized-input/TokenizedInputBase.js.map +1 -1
  215. package/dist-cjs/tokenized-input/internal/InputPill.js.map +1 -1
  216. package/dist-cjs/tokenized-input/internal/getCursorPosition.js.map +1 -1
  217. package/dist-cjs/tokenized-input/internal/useResizeObserver.js.map +1 -1
  218. package/dist-cjs/tokenized-input/useTokenizedInput.js.map +1 -1
  219. package/dist-cjs/tokenized-input-next/TokenizedInputNext.js.map +1 -1
  220. package/dist-cjs/tokenized-input-next/internal/InputPill.js.map +1 -1
  221. package/dist-cjs/tokenized-input-next/internal/useResizeObserver.js.map +1 -1
  222. package/dist-cjs/tokenized-input-next/useTokenizedInputNext.js +1 -1
  223. package/dist-cjs/tokenized-input-next/useTokenizedInputNext.js.map +1 -1
  224. package/dist-cjs/toolbar/Tooltray.js.map +1 -1
  225. package/dist-cjs/toolbar/internal/renderToolbarItems.js.map +1 -1
  226. package/dist-cjs/toolbar/internal/renderTrayTools.js.map +1 -1
  227. package/dist-cjs/toolbar/overflow-panel/OverflowPanel.js.map +1 -1
  228. package/dist-cjs/toolbar/toolbar-field/useToolbarField.js.map +1 -1
  229. package/dist-cjs/tree/Tree.js +2 -6
  230. package/dist-cjs/tree/Tree.js.map +1 -1
  231. package/dist-cjs/tree/TreeNode.js.map +1 -1
  232. package/dist-cjs/tree/use-tree-keyboard-navigation.js.map +1 -1
  233. package/dist-cjs/tree/useTree.js.map +1 -1
  234. package/dist-cjs/utils/useClickOutside.js.map +1 -1
  235. package/dist-cjs/utils/useSlideSelection.js.map +1 -1
  236. package/dist-cjs/window/ElectronWindow.js.map +1 -1
  237. package/dist-es/breadcrumbs/internal/BreadcrumbsContext.js.map +1 -1
  238. package/dist-es/button-bar/ButtonBar.js.map +1 -1
  239. package/dist-es/button-bar/OrderedButton.js.map +1 -1
  240. package/dist-es/button-bar/internal/useDescendant.js.map +1 -1
  241. package/dist-es/calendar/Calendar.js +24 -9
  242. package/dist-es/calendar/Calendar.js.map +1 -1
  243. package/dist-es/calendar/CalendarGrid.js +59 -83
  244. package/dist-es/calendar/CalendarGrid.js.map +1 -1
  245. package/dist-es/calendar/CalendarMonthHeader.css.js +4 -0
  246. package/dist-es/calendar/CalendarMonthHeader.css.js.map +1 -0
  247. package/dist-es/calendar/CalendarMonthHeader.js +46 -0
  248. package/dist-es/calendar/CalendarMonthHeader.js.map +1 -0
  249. package/dist-es/calendar/CalendarNavigation.js +30 -39
  250. package/dist-es/calendar/CalendarNavigation.js.map +1 -1
  251. package/dist-es/calendar/CalendarWeekHeader.js +2 -6
  252. package/dist-es/calendar/CalendarWeekHeader.js.map +1 -1
  253. package/dist-es/calendar/internal/CalendarContext.js +3 -1
  254. package/dist-es/calendar/internal/CalendarContext.js.map +1 -1
  255. package/dist-es/calendar/internal/CalendarDay.css.js +1 -1
  256. package/dist-es/calendar/internal/CalendarDay.js +90 -78
  257. package/dist-es/calendar/internal/CalendarDay.js.map +1 -1
  258. package/dist-es/calendar/internal/CalendarMonth.js +13 -23
  259. package/dist-es/calendar/internal/CalendarMonth.js.map +1 -1
  260. package/dist-es/calendar/internal/useFocusManagement.js +5 -6
  261. package/dist-es/calendar/internal/useFocusManagement.js.map +1 -1
  262. package/dist-es/calendar/internal/utils.js +8 -12
  263. package/dist-es/calendar/internal/utils.js.map +1 -1
  264. package/dist-es/calendar/useCalendar.js +72 -112
  265. package/dist-es/calendar/useCalendar.js.map +1 -1
  266. package/dist-es/calendar/useCalendarDay.js +21 -18
  267. package/dist-es/calendar/useCalendarDay.js.map +1 -1
  268. package/dist-es/calendar/useCalendarSelection.js +146 -34
  269. package/dist-es/calendar/useCalendarSelection.js.map +1 -1
  270. package/dist-es/carousel/CarouselContext.js.map +1 -1
  271. package/dist-es/carousel/CarouselControls.js.map +1 -1
  272. package/dist-es/carousel/CarouselReducer.js.map +1 -1
  273. package/dist-es/carousel/CarouselSlide.js.map +1 -1
  274. package/dist-es/carousel/CarouselSlider.js.map +1 -1
  275. package/dist-es/cascading-menu/CascadingMenu.js.map +1 -1
  276. package/dist-es/cascading-menu/CascadingMenuItem.js.map +1 -1
  277. package/dist-es/cascading-menu/CascadingMenuList.js.map +1 -1
  278. package/dist-es/cascading-menu/internal/keydownHandlers.js.map +1 -1
  279. package/dist-es/cascading-menu/internal/useClickAway.js.map +1 -1
  280. package/dist-es/cascading-menu/internal/useMenuTriggerHandlers.js.map +1 -1
  281. package/dist-es/cascading-menu/internal/useMouseHandlers.js.map +1 -1
  282. package/dist-es/cascading-menu/internal/useStateReducer.js.map +1 -1
  283. package/dist-es/cascading-menu/stateChangeTypes.js +0 -1
  284. package/dist-es/cascading-menu/stateChangeTypes.js.map +1 -1
  285. package/dist-es/color-chooser/Color.js.map +1 -1
  286. package/dist-es/color-chooser/ColorChooser.js.map +1 -1
  287. package/dist-es/color-chooser/ColorHelpers.js.map +1 -1
  288. package/dist-es/color-chooser/ColorPicker.js.map +1 -1
  289. package/dist-es/color-chooser/DictTabs.js.map +1 -1
  290. package/dist-es/color-chooser/HexInput.js.map +1 -1
  291. package/dist-es/color-chooser/Swatch.js.map +1 -1
  292. package/dist-es/color-chooser/Swatches.js.map +1 -1
  293. package/dist-es/color-chooser/SwatchesPicker.js.map +1 -1
  294. package/dist-es/combo-box/ComboBox.js +0 -2
  295. package/dist-es/combo-box/ComboBox.js.map +1 -1
  296. package/dist-es/combo-box/useCombobox.js.map +1 -1
  297. package/dist-es/combo-box-deprecated/internal/DefaultComboBox.js +1 -5
  298. package/dist-es/combo-box-deprecated/internal/DefaultComboBox.js.map +1 -1
  299. package/dist-es/combo-box-deprecated/internal/MultiSelectComboBox.js +1 -5
  300. package/dist-es/combo-box-deprecated/internal/MultiSelectComboBox.js.map +1 -1
  301. package/dist-es/combo-box-deprecated/internal/useComboBox.js +1 -1
  302. package/dist-es/combo-box-deprecated/internal/useComboBox.js.map +1 -1
  303. package/dist-es/combo-box-deprecated/internal/useMultiSelectComboBox.js +1 -1
  304. package/dist-es/combo-box-deprecated/internal/useMultiSelectComboBox.js.map +1 -1
  305. package/dist-es/combo-box-deprecated/internal/usePopperStatus.js.map +1 -1
  306. package/dist-es/common-hooks/calcPreferredHeight.js.map +1 -1
  307. package/dist-es/common-hooks/collectionProvider.js +1 -1
  308. package/dist-es/common-hooks/collectionProvider.js.map +1 -1
  309. package/dist-es/common-hooks/list-dom-utils.js.map +1 -1
  310. package/dist-es/common-hooks/selectionTypes.js.map +1 -1
  311. package/dist-es/common-hooks/useCollapsibleGroups.js.map +1 -1
  312. package/dist-es/common-hooks/useCollectionItems.js +1 -1
  313. package/dist-es/common-hooks/useCollectionItems.js.map +1 -1
  314. package/dist-es/common-hooks/useImperativeScrollingAPI.js.map +1 -1
  315. package/dist-es/common-hooks/useKeyboardNavigation.js +1 -1
  316. package/dist-es/common-hooks/useKeyboardNavigation.js.map +1 -1
  317. package/dist-es/common-hooks/useKeyboardNavigationPanel.js.map +1 -1
  318. package/dist-es/common-hooks/useSelection.js.map +1 -1
  319. package/dist-es/common-hooks/useTypeahead.js +1 -1
  320. package/dist-es/common-hooks/useTypeahead.js.map +1 -1
  321. package/dist-es/common-hooks/useViewportTracking.js.map +1 -1
  322. package/dist-es/common-hooks/utils/collection-item-utils.js.map +1 -1
  323. package/dist-es/contact-details/ContactPrimaryInfo.js.map +1 -1
  324. package/dist-es/contact-details/ContactSecondaryInfo.js.map +1 -1
  325. package/dist-es/contact-details/ContactTertiaryInfo.js.map +1 -1
  326. package/dist-es/contact-details/internal/ContactDetailsContext.js.map +1 -1
  327. package/dist-es/content-status/internal/StatusIndicator.js.map +1 -1
  328. package/dist-es/date-input/DateInputRange.js +61 -51
  329. package/dist-es/date-input/DateInputRange.js.map +1 -1
  330. package/dist-es/date-input/DateInputSingle.js +34 -19
  331. package/dist-es/date-input/DateInputSingle.js.map +1 -1
  332. package/dist-es/date-picker/DatePicker.js +9 -1
  333. package/dist-es/date-picker/DatePicker.js.map +1 -1
  334. package/dist-es/date-picker/DatePickerActions.js.map +1 -1
  335. package/dist-es/date-picker/DatePickerContext.js.map +1 -1
  336. package/dist-es/date-picker/DatePickerHelperText.css.js +4 -0
  337. package/dist-es/date-picker/DatePickerHelperText.css.js.map +1 -0
  338. package/dist-es/date-picker/DatePickerHelperText.js +34 -0
  339. package/dist-es/date-picker/DatePickerHelperText.js.map +1 -0
  340. package/dist-es/date-picker/DatePickerOverlay.js.map +1 -1
  341. package/dist-es/date-picker/DatePickerOverlayProvider.js +41 -17
  342. package/dist-es/date-picker/DatePickerOverlayProvider.js.map +1 -1
  343. package/dist-es/date-picker/DatePickerPanel.css.js +1 -1
  344. package/dist-es/date-picker/DatePickerRangeGridPanel.js +245 -0
  345. package/dist-es/date-picker/DatePickerRangeGridPanel.js.map +1 -0
  346. package/dist-es/date-picker/DatePickerRangeInput.js +39 -7
  347. package/dist-es/date-picker/DatePickerRangeInput.js.map +1 -1
  348. package/dist-es/date-picker/DatePickerRangePanel.js +190 -34
  349. package/dist-es/date-picker/DatePickerRangePanel.js.map +1 -1
  350. package/dist-es/date-picker/DatePickerSingleGridPanel.js +253 -0
  351. package/dist-es/date-picker/DatePickerSingleGridPanel.js.map +1 -0
  352. package/dist-es/date-picker/DatePickerSingleInput.js +13 -5
  353. package/dist-es/date-picker/DatePickerSingleInput.js.map +1 -1
  354. package/dist-es/date-picker/DatePickerSinglePanel.js +8 -107
  355. package/dist-es/date-picker/DatePickerSinglePanel.js.map +1 -1
  356. package/dist-es/date-picker/DatePickerTrigger.js.map +1 -1
  357. package/dist-es/date-picker/useDatePicker.js +71 -11
  358. package/dist-es/date-picker/useDatePicker.js.map +1 -1
  359. package/dist-es/date-picker/useFocusOut.js +41 -0
  360. package/dist-es/date-picker/useFocusOut.js.map +1 -0
  361. package/dist-es/date-picker/useKeyboard.js +4 -5
  362. package/dist-es/date-picker/useKeyboard.js.map +1 -1
  363. package/dist-es/deck-item/DeckItem.js.map +1 -1
  364. package/dist-es/deck-layout/DeckLayout.js.map +1 -1
  365. package/dist-es/dropdown/Dropdown.js +0 -1
  366. package/dist-es/dropdown/Dropdown.js.map +1 -1
  367. package/dist-es/dropdown/DropdownBase.js +1 -2
  368. package/dist-es/dropdown/DropdownBase.js.map +1 -1
  369. package/dist-es/dropdown/DropdownButton.js.map +1 -1
  370. package/dist-es/dropdown/useClickAway.js.map +1 -1
  371. package/dist-es/dropdown/useDropdown.js.map +1 -1
  372. package/dist-es/dropdown/useDropdownBase.js.map +1 -1
  373. package/dist-es/editable-label/EditableLabel.js.map +1 -1
  374. package/dist-es/form-field-legacy/FormFieldLegacy.js.map +1 -1
  375. package/dist-es/form-field-legacy/StatusIndicator.js +1 -1
  376. package/dist-es/form-field-legacy/StatusIndicator.js.map +1 -1
  377. package/dist-es/formatted-input/FormattedInput.js +1 -1
  378. package/dist-es/formatted-input/FormattedInput.js.map +1 -1
  379. package/dist-es/index.js +4 -7
  380. package/dist-es/index.js.map +1 -1
  381. package/dist-es/input-legacy/InputLegacy.js.map +1 -1
  382. package/dist-es/input-legacy/useCursorOnFocus.js.map +1 -1
  383. package/dist-es/list/Highlighter.js.map +1 -1
  384. package/dist-es/list/List.js.map +1 -1
  385. package/dist-es/list/ListItem.js.map +1 -1
  386. package/dist-es/list/VirtualizedList.js.map +1 -1
  387. package/dist-es/list/useList.js +0 -1
  388. package/dist-es/list/useList.js.map +1 -1
  389. package/dist-es/list/useListHeight.js.map +1 -1
  390. package/dist-es/list-deprecated/ListBase.js +1 -3
  391. package/dist-es/list-deprecated/ListBase.js.map +1 -1
  392. package/dist-es/list-deprecated/ListItem.js.map +1 -1
  393. package/dist-es/list-deprecated/ListItemBase.js.map +1 -1
  394. package/dist-es/list-deprecated/ListItemContext.js.map +1 -1
  395. package/dist-es/list-deprecated/internal/DescendantContext.js.map +1 -1
  396. package/dist-es/list-deprecated/internal/calcPreferredListHeight.js.map +1 -1
  397. package/dist-es/list-deprecated/internal/useWidth.js.map +1 -1
  398. package/dist-es/list-deprecated/useList.js.map +1 -1
  399. package/dist-es/list-deprecated/useListItem.js.map +1 -1
  400. package/dist-es/list-deprecated/useTypeSelect.js.map +1 -1
  401. package/dist-es/list-next/ListItemNext.js.map +1 -1
  402. package/dist-es/list-next/ListNext.js.map +1 -1
  403. package/dist-es/list-next/ListNextContext.js.map +1 -1
  404. package/dist-es/list-next/useList.js.map +1 -1
  405. package/dist-es/localization-provider/LocalizationProvider.js +6 -3
  406. package/dist-es/localization-provider/LocalizationProvider.js.map +1 -1
  407. package/dist-es/menu-button/MenuButton.js.map +1 -1
  408. package/dist-es/metric/MetricContent.js +2 -2
  409. package/dist-es/metric/MetricContent.js.map +1 -1
  410. package/dist-es/number-input/NumberInput.js +1 -1
  411. package/dist-es/number-input/NumberInput.js.map +1 -1
  412. package/dist-es/number-input/useNumberInput.js.map +1 -1
  413. package/dist-es/query-input/internal/CategoryListContext.js.map +1 -1
  414. package/dist-es/query-input/internal/CategoryListItem.js.map +1 -1
  415. package/dist-es/query-input/internal/usePopperStatus.js +2 -2
  416. package/dist-es/query-input/internal/usePopperStatus.js.map +1 -1
  417. package/dist-es/query-input/useQueryInput.js +0 -1
  418. package/dist-es/query-input/useQueryInput.js.map +1 -1
  419. package/dist-es/responsive/OverflowReducer.js +1 -3
  420. package/dist-es/responsive/OverflowReducer.js.map +1 -1
  421. package/dist-es/responsive/useDynamicCollapse.js.map +1 -1
  422. package/dist-es/responsive/useInstantCollapse.js.map +1 -1
  423. package/dist-es/responsive/useOverflow.js +1 -1
  424. package/dist-es/responsive/useOverflow.js.map +1 -1
  425. package/dist-es/responsive/useOverflowCollectionItems.js.map +1 -1
  426. package/dist-es/responsive/useOverflowLayout.js +0 -3
  427. package/dist-es/responsive/useOverflowLayout.js.map +1 -1
  428. package/dist-es/responsive/useReclaimSpace.js.map +1 -1
  429. package/dist-es/responsive/useResizeObserver.js.map +1 -1
  430. package/dist-es/responsive/useWidth.js.map +1 -1
  431. package/dist-es/responsive/utils.js.map +1 -1
  432. package/dist-es/search-input/SearchInput.js.map +1 -1
  433. package/dist-es/tabs/Tab.js.map +1 -1
  434. package/dist-es/tabs/Tabs.js.map +1 -1
  435. package/dist-es/tabs/Tabstrip.js +0 -1
  436. package/dist-es/tabs/Tabstrip.js.map +1 -1
  437. package/dist-es/tabs/drag-drop/useDragDropNaturalMovement.js +1 -1
  438. package/dist-es/tabs/drag-drop/useDragDropNaturalMovement.js.map +1 -1
  439. package/dist-es/tabs/drag-drop/useDragSpacers.js.map +1 -1
  440. package/dist-es/tabs/useEditableItem.js.map +1 -1
  441. package/dist-es/tabs/useKeyboardNavigation.js +1 -1
  442. package/dist-es/tabs/useKeyboardNavigation.js.map +1 -1
  443. package/dist-es/tabs/useSelection.js.map +1 -1
  444. package/dist-es/tabs/useTabs.js.map +1 -1
  445. package/dist-es/tabs/useTabstrip.js.map +1 -1
  446. package/dist-es/tabs-next/TabListNext.js.map +1 -1
  447. package/dist-es/tabs-next/TabNext.js.map +1 -1
  448. package/dist-es/tabs-next/TabNextAction.js.map +1 -1
  449. package/dist-es/tabs-next/TabNextContext.js.map +1 -1
  450. package/dist-es/tabs-next/TabNextPanel.js.map +1 -1
  451. package/dist-es/tabs-next/TabNextTrigger.js.map +1 -1
  452. package/dist-es/tabs-next/TabOverflowList.js.map +1 -1
  453. package/dist-es/tabs-next/TabsNext.js.map +1 -1
  454. package/dist-es/tabs-next/TabsNextContext.js.map +1 -1
  455. package/dist-es/tabs-next/hooks/useCollection.js +2 -2
  456. package/dist-es/tabs-next/hooks/useCollection.js.map +1 -1
  457. package/dist-es/tabs-next/hooks/useFocusOutside.js.map +1 -1
  458. package/dist-es/tabs-next/hooks/useOverflow.js.map +1 -1
  459. package/dist-es/tabs-next/hooks/useRestoreActiveTab.js.map +1 -1
  460. package/dist-es/tokenized-input/TokenizedInputBase.js.map +1 -1
  461. package/dist-es/tokenized-input/internal/InputPill.js.map +1 -1
  462. package/dist-es/tokenized-input/internal/getCursorPosition.js.map +1 -1
  463. package/dist-es/tokenized-input/internal/useResizeObserver.js.map +1 -1
  464. package/dist-es/tokenized-input/useTokenizedInput.js.map +1 -1
  465. package/dist-es/tokenized-input-next/TokenizedInputNext.js.map +1 -1
  466. package/dist-es/tokenized-input-next/internal/InputPill.js.map +1 -1
  467. package/dist-es/tokenized-input-next/internal/useResizeObserver.js.map +1 -1
  468. package/dist-es/tokenized-input-next/useTokenizedInputNext.js +1 -1
  469. package/dist-es/tokenized-input-next/useTokenizedInputNext.js.map +1 -1
  470. package/dist-es/toolbar/Tooltray.js.map +1 -1
  471. package/dist-es/toolbar/internal/renderToolbarItems.js.map +1 -1
  472. package/dist-es/toolbar/internal/renderTrayTools.js.map +1 -1
  473. package/dist-es/toolbar/overflow-panel/OverflowPanel.js.map +1 -1
  474. package/dist-es/toolbar/toolbar-field/useToolbarField.js.map +1 -1
  475. package/dist-es/tree/Tree.js +2 -6
  476. package/dist-es/tree/Tree.js.map +1 -1
  477. package/dist-es/tree/TreeNode.js.map +1 -1
  478. package/dist-es/tree/use-tree-keyboard-navigation.js.map +1 -1
  479. package/dist-es/tree/useTree.js.map +1 -1
  480. package/dist-es/utils/useClickOutside.js.map +1 -1
  481. package/dist-es/utils/useSlideSelection.js.map +1 -1
  482. package/dist-es/window/ElectronWindow.js +1 -1
  483. package/dist-es/window/ElectronWindow.js.map +1 -1
  484. package/dist-types/calendar/Calendar.d.ts +22 -3
  485. package/dist-types/calendar/CalendarGrid.d.ts +19 -3
  486. package/dist-types/calendar/CalendarMonthHeader.d.ts +18 -0
  487. package/dist-types/calendar/CalendarNavigation.d.ts +9 -0
  488. package/dist-types/calendar/index.d.ts +1 -0
  489. package/dist-types/calendar/internal/CalendarDay.d.ts +25 -6
  490. package/dist-types/calendar/internal/CalendarMonth.d.ts +2 -6
  491. package/dist-types/calendar/internal/utils.d.ts +3 -7
  492. package/dist-types/calendar/useCalendar.d.ts +34 -30
  493. package/dist-types/calendar/useCalendarDay.d.ts +3 -2
  494. package/dist-types/calendar/useCalendarSelection.d.ts +60 -8
  495. package/dist-types/date-input/DateInputRange.d.ts +12 -8
  496. package/dist-types/date-input/DateInputSingle.d.ts +12 -8
  497. package/dist-types/date-picker/DatePicker.d.ts +14 -6
  498. package/dist-types/date-picker/DatePickerContext.d.ts +29 -1
  499. package/dist-types/date-picker/DatePickerHelperText.d.ts +4 -0
  500. package/dist-types/date-picker/DatePickerOverlayProvider.d.ts +9 -2
  501. package/dist-types/date-picker/DatePickerRangeGridPanel.d.ts +17 -0
  502. package/dist-types/date-picker/DatePickerRangeInput.d.ts +1 -0
  503. package/dist-types/date-picker/DatePickerRangePanel.d.ts +24 -20
  504. package/dist-types/date-picker/DatePickerSingleGridPanel.d.ts +65 -0
  505. package/dist-types/date-picker/DatePickerSingleInput.d.ts +1 -0
  506. package/dist-types/date-picker/DatePickerSinglePanel.d.ts +6 -48
  507. package/dist-types/date-picker/index.d.ts +4 -1
  508. package/dist-types/date-picker/useDatePicker.d.ts +29 -9
  509. package/dist-types/date-picker/useFocusOut.d.ts +9 -0
  510. package/dist-types/date-picker/useKeyboard.d.ts +7 -1
  511. package/dist-types/index.d.ts +0 -2
  512. package/package.json +3 -4
  513. package/dist-cjs/calendar/CalendarGrid.css.js +0 -6
  514. package/dist-cjs/calendar/CalendarGrid.css.js.map +0 -1
  515. package/dist-cjs/combo-box-deprecated/internal/getAnnouncement.js +0 -8
  516. package/dist-cjs/combo-box-deprecated/internal/getAnnouncement.js.map +0 -1
  517. package/dist-cjs/splitter/SplitHandle.css.js +0 -6
  518. package/dist-cjs/splitter/SplitHandle.css.js.map +0 -1
  519. package/dist-cjs/splitter/SplitHandle.js +0 -60
  520. package/dist-cjs/splitter/SplitHandle.js.map +0 -1
  521. package/dist-cjs/splitter/SplitPanel.css.js +0 -6
  522. package/dist-cjs/splitter/SplitPanel.css.js.map +0 -1
  523. package/dist-cjs/splitter/SplitPanel.js +0 -37
  524. package/dist-cjs/splitter/SplitPanel.js.map +0 -1
  525. package/dist-cjs/splitter/Splitter.js +0 -31
  526. package/dist-cjs/splitter/Splitter.js.map +0 -1
  527. package/dist-cjs/splitter/utils.js +0 -18
  528. package/dist-cjs/splitter/utils.js.map +0 -1
  529. package/dist-cjs/stepped-tracker/Step.Connector.css.js +0 -6
  530. package/dist-cjs/stepped-tracker/Step.Connector.css.js.map +0 -1
  531. package/dist-cjs/stepped-tracker/Step.Connector.js +0 -21
  532. package/dist-cjs/stepped-tracker/Step.Connector.js.map +0 -1
  533. package/dist-cjs/stepped-tracker/Step.Description.css.js +0 -6
  534. package/dist-cjs/stepped-tracker/Step.Description.css.js.map +0 -1
  535. package/dist-cjs/stepped-tracker/Step.Description.js +0 -35
  536. package/dist-cjs/stepped-tracker/Step.Description.js.map +0 -1
  537. package/dist-cjs/stepped-tracker/Step.ExpandTrigger.css.js +0 -6
  538. package/dist-cjs/stepped-tracker/Step.ExpandTrigger.css.js.map +0 -1
  539. package/dist-cjs/stepped-tracker/Step.ExpandTrigger.js +0 -38
  540. package/dist-cjs/stepped-tracker/Step.ExpandTrigger.js.map +0 -1
  541. package/dist-cjs/stepped-tracker/Step.Icon.css.js +0 -6
  542. package/dist-cjs/stepped-tracker/Step.Icon.css.js.map +0 -1
  543. package/dist-cjs/stepped-tracker/Step.Icon.js +0 -57
  544. package/dist-cjs/stepped-tracker/Step.Icon.js.map +0 -1
  545. package/dist-cjs/stepped-tracker/Step.Label.css.js +0 -6
  546. package/dist-cjs/stepped-tracker/Step.Label.css.js.map +0 -1
  547. package/dist-cjs/stepped-tracker/Step.Label.js +0 -37
  548. package/dist-cjs/stepped-tracker/Step.Label.js.map +0 -1
  549. package/dist-cjs/stepped-tracker/Step.SROnly.css.js +0 -6
  550. package/dist-cjs/stepped-tracker/Step.SROnly.css.js.map +0 -1
  551. package/dist-cjs/stepped-tracker/Step.SROnly.js +0 -21
  552. package/dist-cjs/stepped-tracker/Step.SROnly.js.map +0 -1
  553. package/dist-cjs/stepped-tracker/Step.css.js +0 -6
  554. package/dist-cjs/stepped-tracker/Step.css.js.map +0 -1
  555. package/dist-cjs/stepped-tracker/Step.js +0 -161
  556. package/dist-cjs/stepped-tracker/Step.js.map +0 -1
  557. package/dist-cjs/stepped-tracker/SteppedTracker.Provider.js +0 -19
  558. package/dist-cjs/stepped-tracker/SteppedTracker.Provider.js.map +0 -1
  559. package/dist-cjs/stepped-tracker/SteppedTracker.css.js +0 -6
  560. package/dist-cjs/stepped-tracker/SteppedTracker.css.js.map +0 -1
  561. package/dist-cjs/stepped-tracker/SteppedTracker.js +0 -36
  562. package/dist-cjs/stepped-tracker/SteppedTracker.js.map +0 -1
  563. package/dist-cjs/stepped-tracker/stepReducer.js +0 -155
  564. package/dist-cjs/stepped-tracker/stepReducer.js.map +0 -1
  565. package/dist-cjs/stepped-tracker/useStepReducer.js +0 -18
  566. package/dist-cjs/stepped-tracker/useStepReducer.js.map +0 -1
  567. package/dist-cjs/stepped-tracker/utils.js +0 -121
  568. package/dist-cjs/stepped-tracker/utils.js.map +0 -1
  569. package/dist-es/calendar/CalendarGrid.css.js +0 -4
  570. package/dist-es/calendar/CalendarGrid.css.js.map +0 -1
  571. package/dist-es/combo-box-deprecated/internal/getAnnouncement.js +0 -6
  572. package/dist-es/combo-box-deprecated/internal/getAnnouncement.js.map +0 -1
  573. package/dist-es/splitter/SplitHandle.css.js +0 -4
  574. package/dist-es/splitter/SplitHandle.css.js.map +0 -1
  575. package/dist-es/splitter/SplitHandle.js +0 -58
  576. package/dist-es/splitter/SplitHandle.js.map +0 -1
  577. package/dist-es/splitter/SplitPanel.css.js +0 -4
  578. package/dist-es/splitter/SplitPanel.css.js.map +0 -1
  579. package/dist-es/splitter/SplitPanel.js +0 -35
  580. package/dist-es/splitter/SplitPanel.js.map +0 -1
  581. package/dist-es/splitter/Splitter.js +0 -27
  582. package/dist-es/splitter/Splitter.js.map +0 -1
  583. package/dist-es/splitter/utils.js +0 -15
  584. package/dist-es/splitter/utils.js.map +0 -1
  585. package/dist-es/stepped-tracker/Step.Connector.css.js +0 -4
  586. package/dist-es/stepped-tracker/Step.Connector.css.js.map +0 -1
  587. package/dist-es/stepped-tracker/Step.Connector.js +0 -19
  588. package/dist-es/stepped-tracker/Step.Connector.js.map +0 -1
  589. package/dist-es/stepped-tracker/Step.Description.css.js +0 -4
  590. package/dist-es/stepped-tracker/Step.Description.css.js.map +0 -1
  591. package/dist-es/stepped-tracker/Step.Description.js +0 -33
  592. package/dist-es/stepped-tracker/Step.Description.js.map +0 -1
  593. package/dist-es/stepped-tracker/Step.ExpandTrigger.css.js +0 -4
  594. package/dist-es/stepped-tracker/Step.ExpandTrigger.css.js.map +0 -1
  595. package/dist-es/stepped-tracker/Step.ExpandTrigger.js +0 -36
  596. package/dist-es/stepped-tracker/Step.ExpandTrigger.js.map +0 -1
  597. package/dist-es/stepped-tracker/Step.Icon.css.js +0 -4
  598. package/dist-es/stepped-tracker/Step.Icon.css.js.map +0 -1
  599. package/dist-es/stepped-tracker/Step.Icon.js +0 -55
  600. package/dist-es/stepped-tracker/Step.Icon.js.map +0 -1
  601. package/dist-es/stepped-tracker/Step.Label.css.js +0 -4
  602. package/dist-es/stepped-tracker/Step.Label.css.js.map +0 -1
  603. package/dist-es/stepped-tracker/Step.Label.js +0 -35
  604. package/dist-es/stepped-tracker/Step.Label.js.map +0 -1
  605. package/dist-es/stepped-tracker/Step.SROnly.css.js +0 -4
  606. package/dist-es/stepped-tracker/Step.SROnly.css.js.map +0 -1
  607. package/dist-es/stepped-tracker/Step.SROnly.js +0 -19
  608. package/dist-es/stepped-tracker/Step.SROnly.js.map +0 -1
  609. package/dist-es/stepped-tracker/Step.css.js +0 -4
  610. package/dist-es/stepped-tracker/Step.css.js.map +0 -1
  611. package/dist-es/stepped-tracker/Step.js +0 -159
  612. package/dist-es/stepped-tracker/Step.js.map +0 -1
  613. package/dist-es/stepped-tracker/SteppedTracker.Provider.js +0 -15
  614. package/dist-es/stepped-tracker/SteppedTracker.Provider.js.map +0 -1
  615. package/dist-es/stepped-tracker/SteppedTracker.css.js +0 -4
  616. package/dist-es/stepped-tracker/SteppedTracker.css.js.map +0 -1
  617. package/dist-es/stepped-tracker/SteppedTracker.js +0 -34
  618. package/dist-es/stepped-tracker/SteppedTracker.js.map +0 -1
  619. package/dist-es/stepped-tracker/stepReducer.js +0 -153
  620. package/dist-es/stepped-tracker/stepReducer.js.map +0 -1
  621. package/dist-es/stepped-tracker/useStepReducer.js +0 -16
  622. package/dist-es/stepped-tracker/useStepReducer.js.map +0 -1
  623. package/dist-es/stepped-tracker/utils.js +0 -114
  624. package/dist-es/stepped-tracker/utils.js.map +0 -1
  625. package/dist-types/splitter/SplitHandle.d.ts +0 -21
  626. package/dist-types/splitter/SplitPanel.d.ts +0 -10
  627. package/dist-types/splitter/Splitter.d.ts +0 -22
  628. package/dist-types/splitter/index.d.ts +0 -4
  629. package/dist-types/splitter/utils.d.ts +0 -4
  630. package/dist-types/stepped-tracker/Step.Connector.d.ts +0 -1
  631. package/dist-types/stepped-tracker/Step.Description.d.ts +0 -4
  632. package/dist-types/stepped-tracker/Step.ExpandTrigger.d.ts +0 -5
  633. package/dist-types/stepped-tracker/Step.Icon.d.ts +0 -8
  634. package/dist-types/stepped-tracker/Step.Label.d.ts +0 -4
  635. package/dist-types/stepped-tracker/Step.SROnly.d.ts +0 -5
  636. package/dist-types/stepped-tracker/Step.d.ts +0 -2
  637. package/dist-types/stepped-tracker/Step.types.d.ts +0 -19
  638. package/dist-types/stepped-tracker/SteppedTracker.Provider.d.ts +0 -9
  639. package/dist-types/stepped-tracker/SteppedTracker.d.ts +0 -2
  640. package/dist-types/stepped-tracker/SteppedTracker.types.d.ts +0 -6
  641. package/dist-types/stepped-tracker/index.d.ts +0 -6
  642. package/dist-types/stepped-tracker/stepReducer.d.ts +0 -2
  643. package/dist-types/stepped-tracker/stepReducer.types.d.ts +0 -27
  644. package/dist-types/stepped-tracker/useStepReducer.d.ts +0 -3
  645. package/dist-types/stepped-tracker/utils.d.ts +0 -10
@@ -0,0 +1,253 @@
1
+ import { jsxs, jsx } from 'react/jsx-runtime';
2
+ import { makePrefixer, useBreakpoint, resolveResponsiveValue, useControlled, StackLayout, FlexItem, FormFieldHelperText, FlexLayout, FormFieldContext } from '@salt-ds/core';
3
+ import { useComponentCssInjection } from '@salt-ds/styles';
4
+ import { useWindow } from '@salt-ds/window';
5
+ import clsx from 'clsx';
6
+ import { forwardRef, useState, useRef, useCallback, useLayoutEffect } from 'react';
7
+ import { Calendar } from '../calendar/Calendar.js';
8
+ import { CalendarNavigation } from '../calendar/CalendarNavigation.js';
9
+ import '../calendar/CalendarWeekHeader.js';
10
+ import { CalendarGrid } from '../calendar/CalendarGrid.js';
11
+ import { useLocalization } from '../localization-provider/LocalizationProvider.js';
12
+ import '../calendar/internal/CalendarContext.js';
13
+ import '../calendar/useCalendarSelection.js';
14
+ import { generateDatesForMonth } from '../calendar/internal/utils.js';
15
+ import { useDatePickerContext } from './DatePickerContext.js';
16
+ import { useDatePickerOverlay } from './DatePickerOverlayProvider.js';
17
+ import css_248z from './DatePickerPanel.css.js';
18
+
19
+ const withBaseName = makePrefixer("saltDatePickerPanel");
20
+ const DatePickerSingleGridPanel = forwardRef(
21
+ function DatePickerSingleGridPanel2(props, ref) {
22
+ const { dateAdapter } = useLocalization();
23
+ const {
24
+ CalendarProps,
25
+ CalendarNavigationProps,
26
+ CalendarGridProps,
27
+ className,
28
+ defaultVisibleMonth,
29
+ visibleMonth: visibleMonthProp,
30
+ onVisibleMonthChange,
31
+ helperText,
32
+ onFocusedDateChange,
33
+ onHoveredDateChange,
34
+ onSelectionChange,
35
+ numberOfVisibleMonths = 1,
36
+ columns = numberOfVisibleMonths,
37
+ ...rest
38
+ } = props;
39
+ const targetWindow = useWindow();
40
+ useComponentCssInjection({
41
+ testId: "salt-date-picker-single-grid-panel",
42
+ css: css_248z,
43
+ window: targetWindow
44
+ });
45
+ const stateAndHelpers = useDatePickerContext({
46
+ selectionVariant: "single"
47
+ });
48
+ const {
49
+ state: {
50
+ timezone,
51
+ selectedDate = null,
52
+ minDate = dateAdapter.startOf(dateAdapter.today(timezone), "month"),
53
+ maxDate = dateAdapter.add(minDate, { months: 1 })
54
+ },
55
+ helpers: { select, isDayDisabled, isDayHighlighted, isDayUnselectable }
56
+ } = stateAndHelpers;
57
+ const { matchedBreakpoints } = useBreakpoint();
58
+ const responsiveColumns = resolveResponsiveValue(columns, matchedBreakpoints) ?? 1;
59
+ const responsiveNumberOfVisibleMonths = resolveResponsiveValue(numberOfVisibleMonths, matchedBreakpoints) ?? 1;
60
+ const {
61
+ state: { focused, initialFocusRef }
62
+ } = useDatePickerOverlay();
63
+ const [hoveredDate, setHoveredDate] = useState(null);
64
+ const [uncontrolledDefaultVisibleMonth] = useState(() => {
65
+ const validDate = dateAdapter.isValid(selectedDate) ? selectedDate : dateAdapter.today(timezone);
66
+ return defaultVisibleMonth || dateAdapter.startOf(validDate, "month");
67
+ });
68
+ const [visibleMonth, setVisibleMonth] = useControlled({
69
+ controlled: visibleMonthProp,
70
+ default: uncontrolledDefaultVisibleMonth,
71
+ name: "DatePickerSingleGridPanel",
72
+ state: "visibleMonth"
73
+ });
74
+ const [focusedDate, setFocusedDate] = useState(null);
75
+ const calendarGridFocused = useRef(false);
76
+ const handleSelectionChange = useCallback(
77
+ (event, newDate) => {
78
+ const singleDate = newDate;
79
+ select(event, singleDate);
80
+ onSelectionChange == null ? void 0 : onSelectionChange(event, singleDate);
81
+ },
82
+ [onSelectionChange, select]
83
+ );
84
+ const handleHoveredDateChange = useCallback(
85
+ (event, newHoveredDate) => {
86
+ setHoveredDate(newHoveredDate);
87
+ onHoveredDateChange == null ? void 0 : onHoveredDateChange(event, newHoveredDate);
88
+ },
89
+ [onHoveredDateChange]
90
+ );
91
+ const handleVisibleMonthChange = useCallback(
92
+ (event, newVisibleMonth) => {
93
+ setVisibleMonth(newVisibleMonth);
94
+ onVisibleMonthChange == null ? void 0 : onVisibleMonthChange(event, newVisibleMonth);
95
+ },
96
+ [onVisibleMonthChange]
97
+ );
98
+ const handleFocusedDateChange = useCallback(
99
+ (event, newFocusedDate) => {
100
+ setFocusedDate(newFocusedDate);
101
+ if (!newFocusedDate) {
102
+ onFocusedDateChange == null ? void 0 : onFocusedDateChange(event, newFocusedDate);
103
+ return;
104
+ }
105
+ const startOfFocusedMonth = dateAdapter.startOf(
106
+ newFocusedDate,
107
+ "month"
108
+ );
109
+ const lastVisibleMonth = dateAdapter.add(visibleMonth, {
110
+ months: responsiveNumberOfVisibleMonths - 1
111
+ });
112
+ const isBeforeVisibleMonth = dateAdapter.compare(startOfFocusedMonth, visibleMonth) < 0;
113
+ const isAfterLastVisibleMonth = dateAdapter.compare(startOfFocusedMonth, lastVisibleMonth) > 0;
114
+ if (isBeforeVisibleMonth) {
115
+ handleVisibleMonthChange(event, startOfFocusedMonth);
116
+ } else if (isAfterLastVisibleMonth) {
117
+ const newLastVisibleMonth = dateAdapter.subtract(
118
+ startOfFocusedMonth,
119
+ {
120
+ months: responsiveNumberOfVisibleMonths - 1
121
+ }
122
+ );
123
+ handleVisibleMonthChange(event, newLastVisibleMonth);
124
+ }
125
+ onFocusedDateChange == null ? void 0 : onFocusedDateChange(event, newFocusedDate);
126
+ },
127
+ [
128
+ dateAdapter,
129
+ handleVisibleMonthChange,
130
+ onFocusedDateChange,
131
+ responsiveNumberOfVisibleMonths,
132
+ visibleMonth
133
+ ]
134
+ );
135
+ const getNextFocusedDate = useCallback(() => {
136
+ const isOutsideAllowedDates = (date) => {
137
+ return dateAdapter.compare(date, minDate) < 0 || dateAdapter.compare(date, maxDate) > 0;
138
+ };
139
+ const isDaySelectable = (date) => !(date && ((isDayUnselectable == null ? void 0 : isDayUnselectable(date)) || (isDayDisabled == null ? void 0 : isDayDisabled(date)) || isOutsideAllowedDates(date)));
140
+ const startVisibleMonth = dateAdapter.startOf(visibleMonth, "month");
141
+ const endVisibleMonth = dateAdapter.add(visibleMonth, {
142
+ months: responsiveNumberOfVisibleMonths - 1
143
+ });
144
+ const selectedDateStartOfMonth = selectedDate ? dateAdapter.startOf(selectedDate, "month") : null;
145
+ const getVisibleSelectedDate = () => {
146
+ if (selectedDateStartOfMonth && dateAdapter.compare(selectedDateStartOfMonth, startVisibleMonth) >= 0 && dateAdapter.compare(selectedDateStartOfMonth, endVisibleMonth) <= 0) {
147
+ return selectedDate;
148
+ }
149
+ return null;
150
+ };
151
+ const focusSelectedDate = getVisibleSelectedDate();
152
+ if (focusSelectedDate && isDaySelectable(focusSelectedDate)) {
153
+ return focusSelectedDate;
154
+ }
155
+ const today = dateAdapter.today(timezone);
156
+ const todayStartOfMonth = dateAdapter.startOf(today, "month");
157
+ if (dateAdapter.compare(todayStartOfMonth, startVisibleMonth) >= 0 && dateAdapter.compare(todayStartOfMonth, endVisibleMonth) <= 0 && isDaySelectable(today)) {
158
+ return today;
159
+ }
160
+ const getFirstSelectableDate = (startMonth, numberOfMonths) => {
161
+ for (let i = 0; i < numberOfMonths; i++) {
162
+ const currentMonth = dateAdapter.add(startMonth, { months: i });
163
+ const firstSelectableDate = generateDatesForMonth(
164
+ dateAdapter,
165
+ currentMonth
166
+ ).find((visibleDay) => isDaySelectable(visibleDay));
167
+ if (firstSelectableDate) {
168
+ return firstSelectableDate;
169
+ }
170
+ }
171
+ return null;
172
+ };
173
+ return getFirstSelectableDate(
174
+ startVisibleMonth,
175
+ responsiveNumberOfVisibleMonths
176
+ );
177
+ }, [
178
+ dateAdapter,
179
+ isDayDisabled,
180
+ isDayUnselectable,
181
+ minDate,
182
+ maxDate,
183
+ responsiveNumberOfVisibleMonths,
184
+ selectedDate,
185
+ visibleMonth,
186
+ timezone
187
+ ]);
188
+ useLayoutEffect(() => {
189
+ if (focused && !calendarGridFocused.current) {
190
+ setFocusedDate((prevFocusedDate) => {
191
+ if (!prevFocusedDate) {
192
+ return getNextFocusedDate();
193
+ }
194
+ return prevFocusedDate;
195
+ });
196
+ }
197
+ calendarGridFocused.current = focused;
198
+ }, [focused]);
199
+ const calendarProps = {
200
+ visibleMonth,
201
+ focusedDateRef: initialFocusRef,
202
+ focusedDate: (calendarGridFocused == null ? void 0 : calendarGridFocused.current) ? focusedDate : null,
203
+ hoveredDate,
204
+ isDayDisabled,
205
+ isDayHighlighted,
206
+ isDayUnselectable,
207
+ hideOutOfRangeDates: true,
208
+ selectedDate,
209
+ minDate,
210
+ maxDate,
211
+ numberOfVisibleMonths: responsiveNumberOfVisibleMonths,
212
+ onFocusedDateChange: handleFocusedDateChange,
213
+ onHoveredDateChange: handleHoveredDateChange,
214
+ onSelectionChange: handleSelectionChange,
215
+ onVisibleMonthChange: handleVisibleMonthChange,
216
+ timezone,
217
+ ...CalendarProps
218
+ };
219
+ return /* @__PURE__ */ jsxs(
220
+ StackLayout,
221
+ {
222
+ separators: true,
223
+ gap: 0,
224
+ className: clsx(className, withBaseName("container")),
225
+ ref,
226
+ ...rest,
227
+ children: [
228
+ helperText && /* @__PURE__ */ jsx(FlexItem, { className: withBaseName("header"), children: /* @__PURE__ */ jsx(FormFieldHelperText, { children: helperText }) }),
229
+ /* @__PURE__ */ jsx(FlexLayout, { gap: 0, children: /* @__PURE__ */ jsx(FormFieldContext.Provider, { value: {}, children: /* @__PURE__ */ jsxs(
230
+ Calendar,
231
+ {
232
+ selectionVariant: "single",
233
+ ...calendarProps,
234
+ children: [
235
+ /* @__PURE__ */ jsx(CalendarNavigation, { ...CalendarNavigationProps }),
236
+ /* @__PURE__ */ jsx(
237
+ CalendarGrid,
238
+ {
239
+ columns: responsiveColumns,
240
+ ...CalendarGridProps
241
+ }
242
+ )
243
+ ]
244
+ }
245
+ ) }) })
246
+ ]
247
+ }
248
+ );
249
+ }
250
+ );
251
+
252
+ export { DatePickerSingleGridPanel };
253
+ //# sourceMappingURL=DatePickerSingleGridPanel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DatePickerSingleGridPanel.js","sources":["../src/date-picker/DatePickerSingleGridPanel.tsx"],"sourcesContent":["import {\n FlexItem,\n FlexLayout,\n FormFieldContext,\n type FormFieldContextValue,\n FormFieldHelperText,\n type ResponsiveProp,\n StackLayout,\n makePrefixer,\n resolveResponsiveValue,\n useBreakpoint,\n useControlled,\n} from \"@salt-ds/core\";\nimport type { DateFrameworkType } from \"@salt-ds/date-adapters\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useWindow } from \"@salt-ds/window\";\nimport clsx from \"clsx\";\nimport {\n type ComponentPropsWithoutRef,\n type SyntheticEvent,\n forwardRef,\n useCallback,\n useLayoutEffect,\n useRef,\n useState,\n} from \"react\";\nimport {\n CalendarGrid,\n type CalendarGridProps,\n CalendarNavigation,\n type CalendarNavigationProps,\n type CalendarSingleProps,\n} from \"../calendar\";\nimport {\n Calendar,\n type DateRangeSelection,\n type SingleDateSelection,\n} from \"../calendar\";\nimport { generateDatesForMonth } from \"../calendar/internal/utils\";\nimport { useLocalization } from \"../localization-provider\";\nimport {\n type SingleDatePickerState,\n useDatePickerContext,\n} from \"./DatePickerContext\";\nimport { useDatePickerOverlay } from \"./DatePickerOverlayProvider\";\nimport datePickerPanelCss from \"./DatePickerPanel.css\";\n\n/**\n * Base props for the DatePickerPanel grid components.\n * @template TDate - The type of the date object.\n */\nexport interface DatePickerPanelBaseProps<TDate extends DateFrameworkType>\n extends ComponentPropsWithoutRef<\"div\"> {\n /**\n * Helper text to be displayed below the date picker.\n */\n helperText?: string;\n /**\n * The visible month for the first visible calendar\n */\n visibleMonth?: TDate;\n /**\n * Number of columns.\n */\n columns?: ResponsiveProp<number | string>;\n /**\n * Number of visible months, maximum 12, defaults to 1\n */\n numberOfVisibleMonths?: ResponsiveProp<\n 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12\n >;\n /**\n * The default visible month.\n */\n defaultVisibleMonth?: TDate;\n /**\n * Callback fired when the visible month changes.\n * @param event - The synthetic event or null if triggered by code.\n * @param visibleMonth - The new visible month.\n */\n onVisibleMonthChange?: (\n event: SyntheticEvent | null,\n visibleMonth: TDate,\n ) => void;\n /**\n * Callback fired when the focused date changes.\n * @param event - The synthetic event or null if triggered by code.\n * @param hoveredDate - The new hovered date.\n */\n onFocusedDateChange?: (\n event: SyntheticEvent | null,\n hoveredDate?: TDate | null,\n ) => void;\n /**\n * Callback fired when the hovered date changes.\n * @param event - The synthetic event.\n * @param hoveredDate - The new hovered date.\n */\n onHoveredDateChange?: (\n event: SyntheticEvent,\n hoveredDate?: TDate | null,\n ) => void;\n /**\n * Props to be passed to the CalendarNavigation component.\n */\n CalendarNavigationProps?: Partial<CalendarNavigationProps<TDate>>;\n /**\n * Props to be passed to the CalendarGrid component.\n */\n CalendarGridProps?: Partial<CalendarGridProps<TDate>>;\n}\n\nconst withBaseName = makePrefixer(\"saltDatePickerPanel\");\n\nexport type DatePickerSingleGridPanelProps<TDate extends DateFrameworkType> =\n DatePickerPanelBaseProps<TDate> &\n SingleDateSelection<TDate> & {\n onSelectionChange?: (\n event: SyntheticEvent,\n selectedDate?: TDate | null,\n ) => void;\n CalendarProps?: Partial<\n Omit<\n CalendarSingleProps<TDate>,\n | \"selectionVariant\"\n | \"selectedDate\"\n | \"defaultSelectedDate\"\n | \"onSelectionChange\"\n | \"onVisibleMonthChange\"\n >\n >;\n };\n\nexport const DatePickerSingleGridPanel = forwardRef(\n function DatePickerSingleGridPanel<TDate extends DateFrameworkType>(\n props: DatePickerSingleGridPanelProps<TDate>,\n ref: React.Ref<HTMLDivElement>,\n ) {\n const { dateAdapter } = useLocalization<TDate>();\n\n const {\n CalendarProps,\n CalendarNavigationProps,\n CalendarGridProps,\n className,\n defaultVisibleMonth,\n visibleMonth: visibleMonthProp,\n onVisibleMonthChange,\n helperText,\n onFocusedDateChange,\n onHoveredDateChange,\n onSelectionChange,\n numberOfVisibleMonths = 1,\n columns = numberOfVisibleMonths,\n ...rest\n } = props;\n\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-date-picker-single-grid-panel\",\n css: datePickerPanelCss,\n window: targetWindow,\n });\n\n const stateAndHelpers: SingleDatePickerState<TDate> = useDatePickerContext({\n selectionVariant: \"single\",\n });\n\n const {\n state: {\n timezone,\n selectedDate = null,\n minDate = dateAdapter.startOf(dateAdapter.today(timezone), \"month\"),\n maxDate = dateAdapter.add(minDate, { months: 1 }),\n },\n helpers: { select, isDayDisabled, isDayHighlighted, isDayUnselectable },\n } = stateAndHelpers;\n\n const { matchedBreakpoints } = useBreakpoint();\n\n const responsiveColumns =\n resolveResponsiveValue(columns, matchedBreakpoints) ?? 1;\n const responsiveNumberOfVisibleMonths =\n resolveResponsiveValue(numberOfVisibleMonths, matchedBreakpoints) ?? 1;\n\n const {\n state: { focused, initialFocusRef },\n } = useDatePickerOverlay();\n\n const [hoveredDate, setHoveredDate] = useState<TDate | null>(null);\n\n const [uncontrolledDefaultVisibleMonth] = useState(() => {\n const validDate = dateAdapter.isValid(selectedDate)\n ? selectedDate\n : dateAdapter.today(timezone);\n return defaultVisibleMonth || dateAdapter.startOf(validDate, \"month\");\n });\n const [visibleMonth, setVisibleMonth] = useControlled({\n controlled: visibleMonthProp,\n default: uncontrolledDefaultVisibleMonth,\n name: \"DatePickerSingleGridPanel\",\n state: \"visibleMonth\",\n });\n\n const [focusedDate, setFocusedDate] = useState<TDate | null>(null);\n const calendarGridFocused = useRef(false);\n\n const handleSelectionChange = useCallback(\n (\n event: SyntheticEvent,\n newDate: TDate | DateRangeSelection<TDate> | null,\n ) => {\n const singleDate = newDate as TDate | null;\n select(event, singleDate);\n onSelectionChange?.(event, singleDate);\n },\n [onSelectionChange, select],\n );\n\n const handleHoveredDateChange = useCallback(\n (event: SyntheticEvent, newHoveredDate: TDate | null) => {\n setHoveredDate(newHoveredDate);\n onHoveredDateChange?.(event, newHoveredDate);\n },\n [onHoveredDateChange],\n );\n\n const handleVisibleMonthChange = useCallback(\n (event: SyntheticEvent | null, newVisibleMonth: TDate) => {\n setVisibleMonth(newVisibleMonth);\n onVisibleMonthChange?.(event, newVisibleMonth);\n },\n [onVisibleMonthChange],\n );\n\n const handleFocusedDateChange = useCallback(\n (event: SyntheticEvent | null, newFocusedDate: TDate) => {\n setFocusedDate(newFocusedDate);\n if (!newFocusedDate) {\n onFocusedDateChange?.(event, newFocusedDate);\n return;\n }\n\n const startOfFocusedMonth = dateAdapter.startOf(\n newFocusedDate,\n \"month\",\n );\n const lastVisibleMonth = dateAdapter.add(visibleMonth, {\n months: responsiveNumberOfVisibleMonths - 1,\n });\n\n const isBeforeVisibleMonth =\n dateAdapter.compare(startOfFocusedMonth, visibleMonth) < 0;\n const isAfterLastVisibleMonth =\n dateAdapter.compare(startOfFocusedMonth, lastVisibleMonth) > 0;\n\n if (isBeforeVisibleMonth) {\n handleVisibleMonthChange(event, startOfFocusedMonth);\n } else if (isAfterLastVisibleMonth) {\n const newLastVisibleMonth = dateAdapter.subtract(\n startOfFocusedMonth,\n {\n months: responsiveNumberOfVisibleMonths - 1,\n },\n );\n handleVisibleMonthChange(event, newLastVisibleMonth);\n }\n onFocusedDateChange?.(event, newFocusedDate);\n },\n [\n dateAdapter,\n handleVisibleMonthChange,\n onFocusedDateChange,\n responsiveNumberOfVisibleMonths,\n visibleMonth,\n ],\n );\n\n const getNextFocusedDate = useCallback(() => {\n const isOutsideAllowedDates = (date: TDate) => {\n return (\n dateAdapter.compare(date, minDate) < 0 ||\n dateAdapter.compare(date, maxDate) > 0\n );\n };\n const isDaySelectable = (date: TDate) =>\n !(\n date &&\n (isDayUnselectable?.(date) ||\n isDayDisabled?.(date) ||\n isOutsideAllowedDates(date))\n );\n\n const startVisibleMonth = dateAdapter.startOf(visibleMonth, \"month\");\n const endVisibleMonth = dateAdapter.add(visibleMonth, {\n months: responsiveNumberOfVisibleMonths - 1,\n });\n const selectedDateStartOfMonth = selectedDate\n ? dateAdapter.startOf(selectedDate, \"month\")\n : null;\n\n const getVisibleSelectedDate = () => {\n if (\n selectedDateStartOfMonth &&\n dateAdapter.compare(selectedDateStartOfMonth, startVisibleMonth) >=\n 0 &&\n dateAdapter.compare(selectedDateStartOfMonth, endVisibleMonth) <= 0\n ) {\n return selectedDate;\n }\n return null;\n };\n\n const focusSelectedDate = getVisibleSelectedDate();\n if (focusSelectedDate && isDaySelectable(focusSelectedDate)) {\n return focusSelectedDate;\n }\n\n // Today\n const today = dateAdapter.today(timezone);\n const todayStartOfMonth = dateAdapter.startOf(today, \"month\");\n if (\n dateAdapter.compare(todayStartOfMonth, startVisibleMonth) >= 0 &&\n dateAdapter.compare(todayStartOfMonth, endVisibleMonth) <= 0 &&\n isDaySelectable(today)\n ) {\n return today;\n }\n\n // First selectable date across visible months\n const getFirstSelectableDate = (\n startMonth: TDate,\n numberOfMonths: number,\n ) => {\n for (let i = 0; i < numberOfMonths; i++) {\n const currentMonth = dateAdapter.add(startMonth, { months: i });\n const firstSelectableDate = generateDatesForMonth(\n dateAdapter,\n currentMonth,\n ).find((visibleDay) => isDaySelectable(visibleDay));\n\n if (firstSelectableDate) {\n return firstSelectableDate;\n }\n }\n\n return null;\n };\n\n return getFirstSelectableDate(\n startVisibleMonth,\n responsiveNumberOfVisibleMonths,\n );\n }, [\n dateAdapter,\n isDayDisabled,\n isDayUnselectable,\n minDate,\n maxDate,\n responsiveNumberOfVisibleMonths,\n selectedDate,\n visibleMonth,\n timezone,\n ]);\n\n // biome-ignore lint/correctness/useExhaustiveDependencies: only run when focus/min/max date changes\n useLayoutEffect(() => {\n // Called when the overlay opens or the focus shifts between trigger and overlay\n if (focused && !calendarGridFocused.current) {\n setFocusedDate((prevFocusedDate) => {\n if (!prevFocusedDate) {\n return getNextFocusedDate();\n }\n return prevFocusedDate;\n });\n }\n calendarGridFocused.current = focused;\n }, [focused]);\n\n const calendarProps = {\n visibleMonth,\n focusedDateRef: initialFocusRef,\n focusedDate: calendarGridFocused?.current ? focusedDate : null,\n hoveredDate,\n isDayDisabled,\n isDayHighlighted,\n isDayUnselectable,\n hideOutOfRangeDates: true,\n selectedDate,\n minDate,\n maxDate,\n numberOfVisibleMonths: responsiveNumberOfVisibleMonths,\n onFocusedDateChange: handleFocusedDateChange,\n onHoveredDateChange: handleHoveredDateChange,\n onSelectionChange: handleSelectionChange,\n onVisibleMonthChange: handleVisibleMonthChange,\n timezone,\n ...CalendarProps,\n };\n\n return (\n <StackLayout\n separators\n gap={0}\n className={clsx(className, withBaseName(\"container\"))}\n ref={ref}\n {...rest}\n >\n {helperText && (\n <FlexItem className={withBaseName(\"header\")}>\n <FormFieldHelperText>{helperText}</FormFieldHelperText>\n </FlexItem>\n )}\n <FlexLayout gap={0}>\n <FormFieldContext.Provider value={{} as FormFieldContextValue}>\n <Calendar\n selectionVariant={\"single\"}\n {...(calendarProps as Partial<CalendarSingleProps<TDate>>)}\n >\n <CalendarNavigation {...CalendarNavigationProps} />\n <CalendarGrid\n columns={responsiveColumns}\n {...CalendarGridProps}\n />\n </Calendar>\n </FormFieldContext.Provider>\n </FlexLayout>\n </StackLayout>\n );\n },\n);\n"],"names":["DatePickerSingleGridPanel","datePickerPanelCss"],"mappings":"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"}
@@ -41,8 +41,6 @@ const DatePickerSingleInput = forwardRef(
41
41
  const { dateAdapter } = useLocalization();
42
42
  const {
43
43
  className,
44
- onFocus,
45
- onBlur,
46
44
  value: valueProp,
47
45
  validate,
48
46
  defaultValue,
@@ -50,7 +48,15 @@ const DatePickerSingleInput = forwardRef(
50
48
  ...rest
51
49
  } = props;
52
50
  const {
53
- state: { selectedDate, disabled, readOnly, cancelled, minDate, maxDate },
51
+ state: {
52
+ selectedDate,
53
+ disabled,
54
+ readOnly,
55
+ cancelled,
56
+ minDate,
57
+ maxDate,
58
+ timezone
59
+ },
54
60
  helpers: { select }
55
61
  } = useDatePickerContext({ selectionVariant: "single" });
56
62
  const {
@@ -66,6 +72,7 @@ const DatePickerSingleInput = forwardRef(
66
72
  });
67
73
  const handleCalendarButton = useCallback(
68
74
  (event) => {
75
+ event.persist();
69
76
  setOpen(!open, event.nativeEvent, "click");
70
77
  event.stopPropagation();
71
78
  },
@@ -82,7 +89,7 @@ const DatePickerSingleInput = forwardRef(
82
89
  );
83
90
  select(event, date, validatedDetails);
84
91
  },
85
- [select, validate]
92
+ [dateAdapter, minDate, maxDate, select, validate]
86
93
  );
87
94
  const handleDateValueChange = useCallback(
88
95
  (event, newDateValue) => {
@@ -120,9 +127,10 @@ const DatePickerSingleInput = forwardRef(
120
127
  onClick: handleCalendarButton,
121
128
  disabled,
122
129
  "aria-label": "Open Calendar",
123
- children: /* @__PURE__ */ jsx(CalendarIcon, {})
130
+ children: /* @__PURE__ */ jsx(CalendarIcon, { "aria-hidden": true })
124
131
  }
125
132
  ),
133
+ timezone,
126
134
  ...rest
127
135
  }
128
136
  );
@@ -1 +1 @@
1
- {"version":3,"file":"DatePickerSingleInput.js","sources":["../src/date-picker/DatePickerSingleInput.tsx"],"sourcesContent":["import { Button, makePrefixer, useControlled } from \"@salt-ds/core\";\nimport {\n DateDetailError,\n type DateFrameworkType,\n type SaltDateAdapter,\n} from \"@salt-ds/date-adapters\";\nimport { CalendarIcon } from \"@salt-ds/icons\";\nimport { clsx } from \"clsx\";\nimport {\n type MouseEventHandler,\n type SyntheticEvent,\n forwardRef,\n useCallback,\n useEffect,\n useRef,\n} from \"react\";\nimport type { SingleDateSelection } from \"../calendar\";\nimport {\n DateInputSingle,\n type DateInputSingleDetails,\n type DateInputSingleProps,\n} from \"../date-input\";\nimport { useLocalization } from \"../localization-provider\";\nimport { useDatePickerContext } from \"./DatePickerContext\";\nimport { useDatePickerOverlay } from \"./DatePickerOverlayProvider\";\n\nconst withBaseName = makePrefixer(\"saltDatePickerSingleInput\");\n\n/**\n * Props for the DatePickerSingleInput component.\n */\nexport interface DatePickerSingleInputProps<TDate extends DateFrameworkType>\n extends DateInputSingleProps<TDate> {\n /**\n * Function to validate the entered date\n * @param date - The selected date\n * @param details - The details of date selection, either a valid date or error\n * @returns updated DateInputSingleDetails details\n */\n validate?: (\n date: SingleDateSelection<TDate>,\n details: DateInputSingleDetails,\n ) => DateInputSingleDetails;\n}\n\nfunction defaultSingleValidation<TDate extends DateFrameworkType>(\n dateAdapter: SaltDateAdapter<TDate>,\n date: TDate,\n details: DateInputSingleDetails,\n minDate?: TDate,\n maxDate?: TDate,\n): DateInputSingleDetails {\n if (!date) {\n details.errors = details.errors ?? [];\n details.errors?.push({\n type: DateDetailError.UNSET,\n message: \"no date defined\",\n });\n } else {\n if (\n minDate &&\n dateAdapter.isValid(date) &&\n dateAdapter.compare(date, minDate) < 0\n ) {\n details.errors = details.errors ?? [];\n details.errors?.push({\n type: \"min-date\",\n message: \"is before min date\",\n });\n } else if (\n maxDate &&\n dateAdapter.isValid(date) &&\n dateAdapter.compare(date, maxDate) > 0\n ) {\n details.errors = details.errors ?? [];\n details.errors?.push({\n type: \"max-date\",\n message: \"is after max date\",\n });\n }\n }\n return details;\n}\n\nexport const DatePickerSingleInput = forwardRef<\n HTMLDivElement,\n DatePickerSingleInputProps<any>\n>(\n <TDate extends DateFrameworkType>(\n props: DatePickerSingleInputProps<TDate>,\n ref: React.Ref<HTMLDivElement>,\n ) => {\n const { dateAdapter } = useLocalization<TDate>();\n\n const {\n className,\n onFocus,\n onBlur,\n value: valueProp,\n validate,\n defaultValue,\n onDateValueChange,\n ...rest\n } = props;\n\n const {\n state: { selectedDate, disabled, readOnly, cancelled, minDate, maxDate },\n helpers: { select },\n } = useDatePickerContext<TDate>({ selectionVariant: \"single\" });\n const {\n state: { open },\n helpers: { setOpen },\n } = useDatePickerOverlay();\n\n const previousValue = useRef<typeof valueProp>();\n\n const [value, setValue] = useControlled({\n controlled: valueProp,\n default: defaultValue,\n name: \"DatePickerSingleInput\",\n state: \"value\",\n });\n\n const handleCalendarButton: MouseEventHandler<HTMLButtonElement> =\n useCallback(\n (event) => {\n setOpen(!open, event.nativeEvent, \"click\");\n event.stopPropagation();\n },\n [open, setOpen],\n );\n\n const handleDateChange = useCallback(\n (\n event: SyntheticEvent,\n date: SingleDateSelection<TDate>,\n details: DateInputSingleDetails,\n ) => {\n const validatedDetails = validate\n ? validate(date, details)\n : defaultSingleValidation<TDate>(\n dateAdapter,\n date,\n details,\n minDate,\n maxDate,\n );\n select(event, date, validatedDetails);\n },\n [select, validate],\n );\n\n const handleDateValueChange = useCallback(\n (event: SyntheticEvent | null, newDateValue: string) => {\n setValue(newDateValue);\n onDateValueChange?.(event, newDateValue);\n },\n [onDateValueChange],\n );\n\n // biome-ignore lint/correctness/useExhaustiveDependencies: should run when open changes and not selected date or value\n useEffect(() => {\n if (open) {\n previousValue.current = value;\n }\n }, [open]);\n\n // biome-ignore lint/correctness/useExhaustiveDependencies: avoid excessive re-rendering\n useEffect(() => {\n if (cancelled) {\n setValue(previousValue?.current);\n }\n }, [cancelled]);\n\n return (\n <DateInputSingle\n value={value ?? \"\"}\n className={clsx(withBaseName(), className)}\n date={selectedDate ?? null}\n readOnly={readOnly}\n disabled={disabled}\n ref={ref}\n onDateChange={handleDateChange}\n onDateValueChange={handleDateValueChange}\n endAdornment={\n !readOnly && (\n <Button\n appearance=\"transparent\"\n sentiment=\"neutral\"\n onClick={handleCalendarButton}\n disabled={disabled}\n aria-label=\"Open Calendar\"\n >\n <CalendarIcon />\n </Button>\n )\n }\n {...rest}\n />\n );\n },\n);\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DatePickerSingleInput.js","sources":["../src/date-picker/DatePickerSingleInput.tsx"],"sourcesContent":["import { Button, makePrefixer, useControlled } from \"@salt-ds/core\";\nimport {\n DateDetailError,\n type DateFrameworkType,\n type SaltDateAdapter,\n} from \"@salt-ds/date-adapters\";\nimport { CalendarIcon } from \"@salt-ds/icons\";\nimport { clsx } from \"clsx\";\nimport {\n type MouseEventHandler,\n type SyntheticEvent,\n forwardRef,\n useCallback,\n useEffect,\n useRef,\n} from \"react\";\nimport type { SingleDateSelection } from \"../calendar\";\nimport {\n DateInputSingle,\n type DateInputSingleDetails,\n type DateInputSingleProps,\n} from \"../date-input\";\nimport { useLocalization } from \"../localization-provider\";\nimport { useDatePickerContext } from \"./DatePickerContext\";\nimport { useDatePickerOverlay } from \"./DatePickerOverlayProvider\";\n\nconst withBaseName = makePrefixer(\"saltDatePickerSingleInput\");\n\n/**\n * Props for the DatePickerSingleInput component.\n * @template TDate - The type of the date object.\n */\nexport interface DatePickerSingleInputProps<TDate extends DateFrameworkType>\n extends DateInputSingleProps<TDate> {\n /**\n * Function to validate the entered date\n * @param date - The selected date\n * @param details - The details of date selection, either a valid date or error\n * @returns updated DateInputSingleDetails details\n */\n validate?: (\n date: SingleDateSelection<TDate>,\n details: DateInputSingleDetails,\n ) => DateInputSingleDetails;\n}\n\nfunction defaultSingleValidation<TDate extends DateFrameworkType>(\n dateAdapter: SaltDateAdapter<TDate>,\n date: TDate,\n details: DateInputSingleDetails,\n minDate?: TDate,\n maxDate?: TDate,\n): DateInputSingleDetails {\n if (!date) {\n details.errors = details.errors ?? [];\n details.errors?.push({\n type: DateDetailError.UNSET,\n message: \"no date defined\",\n });\n } else {\n if (\n minDate &&\n dateAdapter.isValid(date) &&\n dateAdapter.compare(date, minDate) < 0\n ) {\n details.errors = details.errors ?? [];\n details.errors?.push({\n type: \"min-date\",\n message: \"is before min date\",\n });\n } else if (\n maxDate &&\n dateAdapter.isValid(date) &&\n dateAdapter.compare(date, maxDate) > 0\n ) {\n details.errors = details.errors ?? [];\n details.errors?.push({\n type: \"max-date\",\n message: \"is after max date\",\n });\n }\n }\n return details;\n}\n\nexport const DatePickerSingleInput = forwardRef<\n HTMLDivElement,\n DatePickerSingleInputProps<DateFrameworkType>\n>(\n <TDate extends DateFrameworkType>(\n props: DatePickerSingleInputProps<TDate>,\n ref: React.Ref<HTMLDivElement>,\n ) => {\n const { dateAdapter } = useLocalization<TDate>();\n\n const {\n className,\n value: valueProp,\n validate,\n defaultValue,\n onDateValueChange,\n ...rest\n } = props;\n\n const {\n state: {\n selectedDate,\n disabled,\n readOnly,\n cancelled,\n minDate,\n maxDate,\n timezone,\n },\n helpers: { select },\n } = useDatePickerContext<TDate>({ selectionVariant: \"single\" });\n const {\n state: { open },\n helpers: { setOpen },\n } = useDatePickerOverlay();\n\n const previousValue = useRef<typeof valueProp>();\n\n const [value, setValue] = useControlled({\n controlled: valueProp,\n default: defaultValue,\n name: \"DatePickerSingleInput\",\n state: \"value\",\n });\n\n const handleCalendarButton: MouseEventHandler<HTMLButtonElement> =\n useCallback(\n (event) => {\n event.persist();\n setOpen(!open, event.nativeEvent, \"click\");\n event.stopPropagation();\n },\n [open, setOpen],\n );\n\n const handleDateChange = useCallback(\n (\n event: SyntheticEvent,\n date: SingleDateSelection<TDate>,\n details: DateInputSingleDetails,\n ) => {\n const validatedDetails = validate\n ? validate(date, details)\n : defaultSingleValidation<TDate>(\n dateAdapter,\n date,\n details,\n minDate,\n maxDate,\n );\n select(event, date, validatedDetails);\n },\n [dateAdapter, minDate, maxDate, select, validate],\n );\n\n const handleDateValueChange = useCallback(\n (event: SyntheticEvent | null, newDateValue: string) => {\n setValue(newDateValue);\n onDateValueChange?.(event, newDateValue);\n },\n [onDateValueChange],\n );\n\n // biome-ignore lint/correctness/useExhaustiveDependencies: should run when open changes and not selected date or value\n useEffect(() => {\n if (open) {\n previousValue.current = value;\n }\n }, [open]);\n\n useEffect(() => {\n if (cancelled) {\n setValue(previousValue?.current);\n }\n }, [cancelled]);\n\n return (\n <DateInputSingle\n value={value ?? \"\"}\n className={clsx(withBaseName(), className)}\n date={selectedDate ?? null}\n readOnly={readOnly}\n disabled={disabled}\n ref={ref}\n onDateChange={handleDateChange}\n onDateValueChange={handleDateValueChange}\n endAdornment={\n !readOnly && (\n <Button\n appearance=\"transparent\"\n sentiment=\"neutral\"\n onClick={handleCalendarButton}\n disabled={disabled}\n aria-label=\"Open Calendar\"\n >\n <CalendarIcon aria-hidden />\n </Button>\n )\n }\n timezone={timezone}\n {...rest}\n />\n );\n },\n);\n"],"names":[],"mappings":"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"}
@@ -1,114 +1,15 @@
1
- import { jsxs, jsx } from 'react/jsx-runtime';
2
- import { makePrefixer, useControlled, StackLayout, FlexItem, FormFieldHelperText, FlexLayout, FormFieldContext } from '@salt-ds/core';
3
- import { useComponentCssInjection } from '@salt-ds/styles';
4
- import { useWindow } from '@salt-ds/window';
5
- import clsx from 'clsx';
6
- import { forwardRef, useState, useCallback } from 'react';
7
- import { Calendar } from '../calendar/Calendar.js';
8
- import { CalendarNavigation } from '../calendar/CalendarNavigation.js';
9
- import { CalendarWeekHeader } from '../calendar/CalendarWeekHeader.js';
10
- import { CalendarGrid } from '../calendar/CalendarGrid.js';
11
- import { useLocalization } from '../localization-provider/LocalizationProvider.js';
12
- import '../calendar/internal/CalendarContext.js';
13
- import '../calendar/useCalendarSelection.js';
14
- import { useDatePickerContext } from './DatePickerContext.js';
15
- import css_248z from './DatePickerPanel.css.js';
1
+ import { jsx } from 'react/jsx-runtime';
2
+ import { forwardRef } from 'react';
3
+ import { DatePickerSingleGridPanel } from './DatePickerSingleGridPanel.js';
16
4
 
17
- const withBaseName = makePrefixer("saltDatePickerPanel");
18
5
  const DatePickerSinglePanel = forwardRef(function DatePickerSinglePanel2(props, ref) {
19
- const { dateAdapter } = useLocalization();
20
- const {
21
- CalendarProps,
22
- CalendarWeekHeaderProps,
23
- CalendarNavigationProps,
24
- CalendarDataGridProps,
25
- className,
26
- defaultVisibleMonth,
27
- visibleMonth: visibleMonthProp,
28
- onVisibleMonthChange,
29
- helperText,
30
- onSelectionChange,
31
- ...rest
32
- } = props;
33
- const targetWindow = useWindow();
34
- useComponentCssInjection({
35
- testId: "salt-date-picker-single-panel",
36
- css: css_248z,
37
- window: targetWindow
38
- });
39
- const {
40
- state: {
41
- selectedDate,
42
- minDate = dateAdapter.startOf(dateAdapter.today(), "month"),
43
- maxDate = dateAdapter.add(minDate, { months: 1 })
44
- },
45
- helpers: { select }
46
- } = useDatePickerContext({ selectionVariant: "single" });
47
- const [hoveredDate, setHoveredDate] = useState(null);
48
- const [uncontrolledDefaultVisibleMonth] = useState(() => {
49
- const validDate = dateAdapter.isValid(selectedDate) ? selectedDate : dateAdapter.today();
50
- return defaultVisibleMonth || dateAdapter.startOf(validDate, "month");
51
- });
52
- const [visibleMonth, setVisibleMonth] = useControlled({
53
- controlled: visibleMonthProp,
54
- default: uncontrolledDefaultVisibleMonth,
55
- name: "DatePickerSinglePanel",
56
- state: "visibleMonth"
57
- });
58
- const handleSelectionChange = useCallback(
59
- (event, newDate) => {
60
- select(event, newDate);
61
- onSelectionChange == null ? void 0 : onSelectionChange(event, newDate);
62
- },
63
- [select, onSelectionChange]
64
- );
65
- const handleHoveredDateChange = useCallback(
66
- (event, newHoveredDate) => {
67
- setHoveredDate(newHoveredDate);
68
- if (newHoveredDate && (CalendarProps == null ? void 0 : CalendarProps.onHoveredDateChange)) {
69
- CalendarProps.onHoveredDateChange(event, newHoveredDate);
70
- }
71
- },
72
- [CalendarProps == null ? void 0 : CalendarProps.onHoveredDateChange]
73
- );
74
- const handleVisibleMonthChange = useCallback(
75
- (event, newVisibleMonth) => {
76
- setVisibleMonth(newVisibleMonth);
77
- if (onVisibleMonthChange) {
78
- onVisibleMonthChange(event, newVisibleMonth);
79
- }
80
- },
81
- [onVisibleMonthChange]
82
- );
83
- const baseCalendarProps = {
84
- selectionVariant: "single",
85
- visibleMonth,
86
- hoveredDate,
87
- onHoveredDateChange: handleHoveredDateChange,
88
- onVisibleMonthChange: handleVisibleMonthChange,
89
- onSelectionChange: handleSelectionChange,
90
- hideOutOfRangeDates: true,
91
- selectedDate,
92
- minDate,
93
- maxDate,
94
- ...CalendarProps
95
- };
96
- return /* @__PURE__ */ jsxs(
97
- StackLayout,
6
+ return /* @__PURE__ */ jsx(
7
+ DatePickerSingleGridPanel,
98
8
  {
99
- separators: true,
100
- gap: 0,
101
- className: clsx(className, withBaseName("container")),
102
9
  ref,
103
- ...rest,
104
- children: [
105
- helperText && /* @__PURE__ */ jsx(FlexItem, { className: withBaseName("header"), children: /* @__PURE__ */ jsx(FormFieldHelperText, { children: helperText }) }),
106
- /* @__PURE__ */ jsx(FlexLayout, { gap: 0, children: /* @__PURE__ */ jsx(FormFieldContext.Provider, { value: {}, children: /* @__PURE__ */ jsxs(Calendar, { selectionVariant: "single", ...baseCalendarProps, children: [
107
- /* @__PURE__ */ jsx(CalendarNavigation, { ...CalendarNavigationProps }),
108
- /* @__PURE__ */ jsx(CalendarWeekHeader, { ...CalendarWeekHeaderProps }),
109
- /* @__PURE__ */ jsx(CalendarGrid, { ...CalendarDataGridProps })
110
- ] }) }) })
111
- ]
10
+ columns: 1,
11
+ numberOfVisibleMonths: 1,
12
+ ...props
112
13
  }
113
14
  );
114
15
  });
@@ -1 +1 @@
1
- {"version":3,"file":"DatePickerSinglePanel.js","sources":["../src/date-picker/DatePickerSinglePanel.tsx"],"sourcesContent":["import {\n FlexItem,\n FlexLayout,\n FormFieldContext,\n type FormFieldContextValue,\n FormFieldHelperText,\n StackLayout,\n makePrefixer,\n useControlled,\n} from \"@salt-ds/core\";\nimport type { DateFrameworkType } from \"@salt-ds/date-adapters\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useWindow } from \"@salt-ds/window\";\nimport clsx from \"clsx\";\nimport {\n type ComponentPropsWithoutRef,\n type SyntheticEvent,\n forwardRef,\n useCallback,\n useState,\n} from \"react\";\nimport {\n CalendarGrid,\n type CalendarGridProps,\n CalendarNavigation,\n type CalendarNavigationProps,\n type CalendarSingleProps,\n CalendarWeekHeader,\n type CalendarWeekHeaderProps,\n} from \"../calendar\";\nimport { Calendar, type SingleDateSelection } from \"../calendar\";\nimport { useLocalization } from \"../localization-provider\";\nimport { useDatePickerContext } from \"./DatePickerContext\";\nimport datePickerPanelCss from \"./DatePickerPanel.css\";\n\n/**\n * Props for the DatePickerSinglePanel component.\n * @template T - The type of the selected date.\n */\nexport interface DatePickerSinglePanelProps<TDate extends DateFrameworkType>\n extends ComponentPropsWithoutRef<\"div\"> {\n /**\n * Callback fired when a date is selected.\n * @param event - The synthetic event.\n * @param selectedDate - The selected date or null.\n */\n onSelectionChange?: (\n event: SyntheticEvent,\n selectedDate?: TDate | null,\n ) => void;\n\n /**\n * Helper text to be displayed below the date picker.\n */\n helperText?: string;\n\n /**\n * The currently visible month.\n */\n visibleMonth?: TDate;\n\n /**\n * The default visible month.\n */\n defaultVisibleMonth?: TDate;\n\n /**\n * Callback fired when the visible month changes.\n * @param event - The synthetic event.\n * @param visibleMonth - The new visible month.\n */\n onVisibleMonthChange?: (event: SyntheticEvent, visibleMonth: TDate) => void;\n\n /**\n * Props to be passed to the Calendar component.\n */\n CalendarProps?: Partial<\n Omit<\n CalendarSingleProps<TDate>,\n | \"selectionVariant\"\n | \"selectedDate\"\n | \"defaultSelectedDate\"\n | \"onSelectionChange\"\n | \"onVisibleMonthChange\"\n >\n >;\n /**\n * Props to be passed to the CalendarNavigation component.\n */\n CalendarNavigationProps?: CalendarNavigationProps<TDate>;\n /**\n * Props to be passed to the CalendarWeekHeader component.\n */\n CalendarWeekHeaderProps?: CalendarWeekHeaderProps;\n /**\n * Props to be passed to the CalendarDataGrid component.\n */\n CalendarDataGridProps?: CalendarGridProps<TDate>;\n}\n\nconst withBaseName = makePrefixer(\"saltDatePickerPanel\");\n\nexport const DatePickerSinglePanel = forwardRef(function DatePickerSinglePanel<\n TDate extends DateFrameworkType,\n>(\n props: DatePickerSinglePanelProps<SingleDateSelection<TDate>>,\n ref: React.Ref<HTMLDivElement>,\n) {\n const { dateAdapter } = useLocalization<TDate>();\n\n const {\n CalendarProps,\n CalendarWeekHeaderProps,\n CalendarNavigationProps,\n CalendarDataGridProps,\n className,\n defaultVisibleMonth,\n visibleMonth: visibleMonthProp,\n onVisibleMonthChange,\n helperText,\n onSelectionChange,\n ...rest\n } = props;\n\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-date-picker-single-panel\",\n css: datePickerPanelCss,\n window: targetWindow,\n });\n\n const {\n state: {\n selectedDate,\n minDate = dateAdapter.startOf(dateAdapter.today(), \"month\"),\n maxDate = dateAdapter.add(minDate, { months: 1 }),\n },\n helpers: { select },\n } = useDatePickerContext<TDate>({ selectionVariant: \"single\" });\n\n const [hoveredDate, setHoveredDate] = useState<TDate | null>(null);\n\n const [uncontrolledDefaultVisibleMonth] = useState(() => {\n const validDate = dateAdapter.isValid(selectedDate)\n ? selectedDate\n : dateAdapter.today();\n return defaultVisibleMonth || dateAdapter.startOf(validDate, \"month\");\n });\n const [visibleMonth, setVisibleMonth] = useControlled({\n controlled: visibleMonthProp,\n default: uncontrolledDefaultVisibleMonth,\n name: \"DatePickerSinglePanel\",\n state: \"visibleMonth\",\n });\n\n const handleSelectionChange = useCallback(\n (event: SyntheticEvent, newDate: SingleDateSelection<TDate> | null) => {\n select(event, newDate);\n onSelectionChange?.(event, newDate);\n },\n [select, onSelectionChange],\n );\n\n const handleHoveredDateChange = useCallback(\n (\n event: SyntheticEvent,\n newHoveredDate: SingleDateSelection<TDate> | null,\n ) => {\n setHoveredDate(newHoveredDate);\n if (newHoveredDate && CalendarProps?.onHoveredDateChange) {\n CalendarProps.onHoveredDateChange(event, newHoveredDate);\n }\n },\n [CalendarProps?.onHoveredDateChange],\n );\n\n const handleVisibleMonthChange = useCallback(\n (event: SyntheticEvent, newVisibleMonth: TDate) => {\n setVisibleMonth(newVisibleMonth);\n if (onVisibleMonthChange) {\n onVisibleMonthChange(event, newVisibleMonth);\n }\n },\n [onVisibleMonthChange],\n );\n\n const baseCalendarProps: Partial<CalendarSingleProps<TDate>> = {\n selectionVariant: \"single\",\n visibleMonth,\n hoveredDate,\n onHoveredDateChange: handleHoveredDateChange,\n onVisibleMonthChange: handleVisibleMonthChange,\n onSelectionChange: handleSelectionChange,\n hideOutOfRangeDates: true,\n selectedDate,\n minDate,\n maxDate,\n ...CalendarProps,\n };\n\n return (\n <StackLayout\n separators\n gap={0}\n className={clsx(className, withBaseName(\"container\"))}\n ref={ref}\n {...rest}\n >\n {helperText && (\n <FlexItem className={withBaseName(\"header\")}>\n <FormFieldHelperText>{helperText}</FormFieldHelperText>\n </FlexItem>\n )}\n <FlexLayout gap={0}>\n {/* Avoid Dropdowns in Calendar inheriting the FormField's state */}\n <FormFieldContext.Provider value={{} as FormFieldContextValue}>\n <Calendar selectionVariant=\"single\" {...baseCalendarProps}>\n <CalendarNavigation {...CalendarNavigationProps} />\n <CalendarWeekHeader {...CalendarWeekHeaderProps} />\n <CalendarGrid {...CalendarDataGridProps} />\n </Calendar>\n </FormFieldContext.Provider>\n </FlexLayout>\n </StackLayout>\n );\n});\n"],"names":["DatePickerSinglePanel","datePickerPanelCss"],"mappings":"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"}
1
+ {"version":3,"file":"DatePickerSinglePanel.js","sources":["../src/date-picker/DatePickerSinglePanel.tsx"],"sourcesContent":["import type { DateFrameworkType } from \"@salt-ds/date-adapters\";\nimport { forwardRef } from \"react\";\nimport {\n DatePickerSingleGridPanel,\n type DatePickerSingleGridPanelProps,\n} from \"./DatePickerSingleGridPanel\";\n\n/**\n * @deprecated DatePickerSinglePanel is deprecated. Use DatePickerSingleGridPanel instead.\n * This component will be deleted when we move DatePickerSingleGridPanel from labs to core.\n */\nexport const DatePickerSinglePanel = forwardRef(function DatePickerSinglePanel<\n TDate,\n>(\n props: DatePickerSingleGridPanelProps<TDate>,\n ref: React.Ref<HTMLDivElement>,\n) {\n return (\n <DatePickerSingleGridPanel\n ref={ref}\n columns={1}\n numberOfVisibleMonths={1}\n {...(props as DatePickerSingleGridPanelProps<DateFrameworkType>)}\n />\n );\n});\n"],"names":["DatePickerSinglePanel"],"mappings":";;;;AAWO,MAAM,qBAAwB,GAAA,UAAA,CAAW,SAASA,sBAAAA,CAGvD,OACA,GACA,EAAA;AACA,EACE,uBAAA,GAAA;AAAA,IAAC,yBAAA;AAAA,IAAA;AAAA,MACC,GAAA;AAAA,MACA,OAAS,EAAA,CAAA;AAAA,MACT,qBAAuB,EAAA,CAAA;AAAA,MACtB,GAAI;AAAA;AAAA,GACP;AAEJ,CAAC;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"DatePickerTrigger.js","sources":["../src/date-picker/DatePickerTrigger.tsx"],"sourcesContent":["import { makePrefixer, useForkRef } from \"@salt-ds/core\";\nimport { clsx } from \"clsx\";\nimport { type ReactNode, forwardRef } from \"react\";\nimport { useDatePickerOverlay } from \"./DatePickerOverlayProvider\";\n\nconst withBaseName = makePrefixer(\"saltDatePickerTrigger\");\n\n/**\n * Props for the DatePickerTrigger component.\n */\nexport interface DatePickerTriggerProps {\n className?: string;\n children?: ReactNode;\n}\n\nexport const DatePickerTrigger = forwardRef<\n HTMLDivElement,\n DatePickerTriggerProps\n>((props: DatePickerTriggerProps, ref: React.Ref<HTMLDivElement>) => {\n const { children, className, ...rest } = props;\n\n const {\n state: { floatingUIResult },\n helpers: { getReferenceProps },\n } = useDatePickerOverlay();\n\n const triggerRef = useForkRef<HTMLDivElement>(\n ref,\n floatingUIResult?.reference,\n );\n\n return (\n <div\n className={clsx(withBaseName(), className)}\n ref={triggerRef}\n {...getReferenceProps(rest)}\n >\n {children}\n </div>\n );\n});\n"],"names":[],"mappings":";;;;;;AAKA,MAAM,YAAA,GAAe,aAAa,uBAAuB,CAAA;AAUlD,MAAM,iBAAoB,GAAA,UAAA,CAG/B,CAAC,KAAA,EAA+B,GAAmC,KAAA;AACnE,EAAA,MAAM,EAAE,QAAA,EAAU,SAAW,EAAA,GAAG,MAAS,GAAA,KAAA;AAEzC,EAAM,MAAA;AAAA,IACJ,KAAA,EAAO,EAAE,gBAAiB,EAAA;AAAA,IAC1B,OAAA,EAAS,EAAE,iBAAkB;AAAA,MAC3B,oBAAqB,EAAA;AAEzB,EAAA,MAAM,UAAa,GAAA,UAAA;AAAA,IACjB,GAAA;AAAA,IACA,gBAAkB,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,gBAAA,CAAA;AAAA,GACpB;AAEA,EACE,uBAAA,GAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,SAAW,EAAA,IAAA,CAAK,YAAa,EAAA,EAAG,SAAS,CAAA;AAAA,MACzC,GAAK,EAAA,UAAA;AAAA,MACJ,GAAG,kBAAkB,IAAI,CAAA;AAAA,MAEzB;AAAA;AAAA,GACH;AAEJ,CAAC;;;;"}
1
+ {"version":3,"file":"DatePickerTrigger.js","sources":["../src/date-picker/DatePickerTrigger.tsx"],"sourcesContent":["import { makePrefixer, useForkRef } from \"@salt-ds/core\";\nimport { clsx } from \"clsx\";\nimport { type ReactNode, forwardRef } from \"react\";\nimport { useDatePickerOverlay } from \"./DatePickerOverlayProvider\";\n\nconst withBaseName = makePrefixer(\"saltDatePickerTrigger\");\n\n/**\n * Props for the DatePickerTrigger component.\n */\nexport interface DatePickerTriggerProps {\n className?: string;\n children?: ReactNode;\n}\n\nexport const DatePickerTrigger = forwardRef<\n HTMLDivElement,\n DatePickerTriggerProps\n>((props: DatePickerTriggerProps, ref: React.Ref<HTMLDivElement>) => {\n const { children, className, ...rest } = props;\n\n const {\n state: { floatingUIResult },\n helpers: { getReferenceProps },\n } = useDatePickerOverlay();\n\n const triggerRef = useForkRef<HTMLDivElement>(\n ref,\n floatingUIResult?.reference,\n );\n\n return (\n <div\n className={clsx(withBaseName(), className)}\n ref={triggerRef}\n {...getReferenceProps(rest)}\n >\n {children}\n </div>\n );\n});\n"],"names":[],"mappings":";;;;;;AAKA,MAAM,YAAA,GAAe,aAAa,uBAAuB,CAAA;AAUlD,MAAM,iBAAoB,GAAA,UAAA,CAG/B,CAAC,KAAA,EAA+B,GAAmC,KAAA;AACnE,EAAA,MAAM,EAAE,QAAA,EAAU,SAAW,EAAA,GAAG,MAAS,GAAA,KAAA;AAEzC,EAAM,MAAA;AAAA,IACJ,KAAA,EAAO,EAAE,gBAAiB,EAAA;AAAA,IAC1B,OAAA,EAAS,EAAE,iBAAkB;AAAA,MAC3B,oBAAqB,EAAA;AAEzB,EAAA,MAAM,UAAa,GAAA,UAAA;AAAA,IACjB,GAAA;AAAA,IACA,gBAAkB,IAAA,IAAA,GAAA,MAAA,GAAA,gBAAA,CAAA;AAAA,GACpB;AAEA,EACE,uBAAA,GAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,SAAW,EAAA,IAAA,CAAK,YAAa,EAAA,EAAG,SAAS,CAAA;AAAA,MACzC,GAAK,EAAA,UAAA;AAAA,MACJ,GAAG,kBAAkB,IAAI,CAAA;AAAA,MAEzB;AAAA;AAAA,GACH;AAEJ,CAAC;;;;"}