@salt-ds/lab 1.0.0-alpha.53 → 1.0.0-alpha.55

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 (1218) hide show
  1. package/CHANGELOG.md +1895 -0
  2. package/css/salt-lab.css +212 -51
  3. package/dist-cjs/app-header/AppHeader.js +9 -8
  4. package/dist-cjs/app-header/AppHeader.js.map +1 -1
  5. package/dist-cjs/breadcrumbs/Breadcrumb.js +43 -43
  6. package/dist-cjs/breadcrumbs/Breadcrumb.js.map +1 -1
  7. package/dist-cjs/breadcrumbs/Breadcrumbs.js +28 -33
  8. package/dist-cjs/breadcrumbs/Breadcrumbs.js.map +1 -1
  9. package/dist-cjs/breadcrumbs/internal/BreadcrumbsCollapsed.js +19 -16
  10. package/dist-cjs/breadcrumbs/internal/BreadcrumbsCollapsed.js.map +1 -1
  11. package/dist-cjs/breadcrumbs/internal/BreadcrumbsContext.js +0 -2
  12. package/dist-cjs/breadcrumbs/internal/BreadcrumbsContext.js.map +1 -1
  13. package/dist-cjs/breadcrumbs/internal/BreadcrumbsSeparator.js +1 -5
  14. package/dist-cjs/breadcrumbs/internal/BreadcrumbsSeparator.js.map +1 -1
  15. package/dist-cjs/breadcrumbs/internal/useFocusMenuRemount.js +0 -2
  16. package/dist-cjs/breadcrumbs/internal/useFocusMenuRemount.js.map +1 -1
  17. package/dist-cjs/button-bar/ButtonBar.js +20 -27
  18. package/dist-cjs/button-bar/ButtonBar.js.map +1 -1
  19. package/dist-cjs/button-bar/OrderedButton.js +16 -15
  20. package/dist-cjs/button-bar/OrderedButton.js.map +1 -1
  21. package/dist-cjs/button-bar/internal/ButtonBarContext.js +0 -2
  22. package/dist-cjs/button-bar/internal/ButtonBarContext.js.map +1 -1
  23. package/dist-cjs/button-bar/internal/DescendantContext.js +1 -6
  24. package/dist-cjs/button-bar/internal/DescendantContext.js.map +1 -1
  25. package/dist-cjs/button-bar/internal/useDescendant.js +0 -2
  26. package/dist-cjs/button-bar/internal/useDescendant.js.map +1 -1
  27. package/dist-cjs/button-bar/internal/useDescendants.js +0 -2
  28. package/dist-cjs/button-bar/internal/useDescendants.js.map +1 -1
  29. package/dist-cjs/calendar/Calendar.js +20 -16
  30. package/dist-cjs/calendar/Calendar.js.map +1 -1
  31. package/dist-cjs/calendar/CalendarDateGrid.js +34 -29
  32. package/dist-cjs/calendar/CalendarDateGrid.js.map +1 -1
  33. package/dist-cjs/calendar/CalendarNavigation.js +103 -96
  34. package/dist-cjs/calendar/CalendarNavigation.js.map +1 -1
  35. package/dist-cjs/calendar/CalendarWeekHeader.js +18 -13
  36. package/dist-cjs/calendar/CalendarWeekHeader.js.map +1 -1
  37. package/dist-cjs/calendar/formatDate.js +3 -8
  38. package/dist-cjs/calendar/formatDate.js.map +1 -1
  39. package/dist-cjs/calendar/internal/CalendarContext.js +0 -2
  40. package/dist-cjs/calendar/internal/CalendarContext.js.map +1 -1
  41. package/dist-cjs/calendar/internal/CalendarDay.js +48 -41
  42. package/dist-cjs/calendar/internal/CalendarDay.js.map +1 -1
  43. package/dist-cjs/calendar/internal/CalendarMonth.js +28 -20
  44. package/dist-cjs/calendar/internal/CalendarMonth.js.map +1 -1
  45. package/dist-cjs/calendar/internal/useFocusManagement.js +0 -2
  46. package/dist-cjs/calendar/internal/useFocusManagement.js.map +1 -1
  47. package/dist-cjs/calendar/internal/utils.js +0 -2
  48. package/dist-cjs/calendar/internal/utils.js.map +1 -1
  49. package/dist-cjs/calendar/useCalendar.js +3 -4
  50. package/dist-cjs/calendar/useCalendar.js.map +1 -1
  51. package/dist-cjs/calendar/useCalendarDay.js +0 -2
  52. package/dist-cjs/calendar/useCalendarDay.js.map +1 -1
  53. package/dist-cjs/calendar/useCalendarSelection.js +2 -2
  54. package/dist-cjs/calendar/useCalendarSelection.js.map +1 -1
  55. package/dist-cjs/carousel/Carousel.js +59 -56
  56. package/dist-cjs/carousel/Carousel.js.map +1 -1
  57. package/dist-cjs/carousel/CarouselSlide.js +35 -38
  58. package/dist-cjs/carousel/CarouselSlide.js.map +1 -1
  59. package/dist-cjs/cascading-menu/CascadingMenu.js +15 -15
  60. package/dist-cjs/cascading-menu/CascadingMenu.js.map +1 -1
  61. package/dist-cjs/cascading-menu/CascadingMenuItem.js +72 -61
  62. package/dist-cjs/cascading-menu/CascadingMenuItem.js.map +1 -1
  63. package/dist-cjs/cascading-menu/CascadingMenuList.js +50 -43
  64. package/dist-cjs/cascading-menu/CascadingMenuList.js.map +1 -1
  65. package/dist-cjs/cascading-menu/internal/CascadingMenuAction.js +0 -2
  66. package/dist-cjs/cascading-menu/internal/CascadingMenuAction.js.map +1 -1
  67. package/dist-cjs/cascading-menu/internal/keydownHandlers.js +0 -2
  68. package/dist-cjs/cascading-menu/internal/keydownHandlers.js.map +1 -1
  69. package/dist-cjs/cascading-menu/internal/menuPositioning.js +0 -2
  70. package/dist-cjs/cascading-menu/internal/menuPositioning.js.map +1 -1
  71. package/dist-cjs/cascading-menu/internal/stateUtils.js +1 -2
  72. package/dist-cjs/cascading-menu/internal/stateUtils.js.map +1 -1
  73. package/dist-cjs/cascading-menu/internal/useClickAway.js +4 -3
  74. package/dist-cjs/cascading-menu/internal/useClickAway.js.map +1 -1
  75. package/dist-cjs/cascading-menu/internal/useMenuTriggerHandlers.js +0 -2
  76. package/dist-cjs/cascading-menu/internal/useMenuTriggerHandlers.js.map +1 -1
  77. package/dist-cjs/cascading-menu/internal/useMountedRef.js +0 -2
  78. package/dist-cjs/cascading-menu/internal/useMountedRef.js.map +1 -1
  79. package/dist-cjs/cascading-menu/internal/useMouseHandlers.js +2 -5
  80. package/dist-cjs/cascading-menu/internal/useMouseHandlers.js.map +1 -1
  81. package/dist-cjs/cascading-menu/internal/useRefsManager.js +0 -2
  82. package/dist-cjs/cascading-menu/internal/useRefsManager.js.map +1 -1
  83. package/dist-cjs/cascading-menu/internal/useStateReducer.js +0 -2
  84. package/dist-cjs/cascading-menu/internal/useStateReducer.js.map +1 -1
  85. package/dist-cjs/cascading-menu/stateChangeTypes.js +0 -2
  86. package/dist-cjs/cascading-menu/stateChangeTypes.js.map +1 -1
  87. package/dist-cjs/color-chooser/AlphaInputField.js +17 -15
  88. package/dist-cjs/color-chooser/AlphaInputField.js.map +1 -1
  89. package/dist-cjs/color-chooser/Color.js +4 -9
  90. package/dist-cjs/color-chooser/Color.js.map +1 -1
  91. package/dist-cjs/color-chooser/ColorChooser.js +58 -60
  92. package/dist-cjs/color-chooser/ColorChooser.js.map +1 -1
  93. package/dist-cjs/color-chooser/ColorHelpers.js +5 -11
  94. package/dist-cjs/color-chooser/ColorHelpers.js.map +1 -1
  95. package/dist-cjs/color-chooser/ColorPicker.js +33 -49
  96. package/dist-cjs/color-chooser/ColorPicker.js.map +1 -1
  97. package/dist-cjs/color-chooser/DictTabs.js +24 -23
  98. package/dist-cjs/color-chooser/DictTabs.js.map +1 -1
  99. package/dist-cjs/color-chooser/GetColorPalettes.js +1 -3
  100. package/dist-cjs/color-chooser/GetColorPalettes.js.map +1 -1
  101. package/dist-cjs/color-chooser/HexInput.js +9 -15
  102. package/dist-cjs/color-chooser/HexInput.js.map +1 -1
  103. package/dist-cjs/color-chooser/RGBAInput.js +24 -39
  104. package/dist-cjs/color-chooser/RGBAInput.js.map +1 -1
  105. package/dist-cjs/color-chooser/RGBAInputField.js +14 -12
  106. package/dist-cjs/color-chooser/RGBAInputField.js.map +1 -1
  107. package/dist-cjs/color-chooser/Swatch.js +19 -18
  108. package/dist-cjs/color-chooser/Swatch.js.map +1 -1
  109. package/dist-cjs/color-chooser/Swatches.js +27 -43
  110. package/dist-cjs/color-chooser/Swatches.js.map +1 -1
  111. package/dist-cjs/color-chooser/SwatchesPicker.js +26 -20
  112. package/dist-cjs/color-chooser/SwatchesPicker.js.map +1 -1
  113. package/dist-cjs/color-chooser/color-utils.js +0 -2
  114. package/dist-cjs/color-chooser/color-utils.js.map +1 -1
  115. package/dist-cjs/color-chooser/colorMap.js +1 -2
  116. package/dist-cjs/color-chooser/colorMap.js.map +1 -1
  117. package/dist-cjs/color-chooser/createTabsMapping.js +0 -2
  118. package/dist-cjs/color-chooser/createTabsMapping.js.map +1 -1
  119. package/dist-cjs/combo-box/ComboBox.js +29 -25
  120. package/dist-cjs/combo-box/ComboBox.js.map +1 -1
  121. package/dist-cjs/combo-box/useCombobox.js +16 -15
  122. package/dist-cjs/combo-box/useCombobox.js.map +1 -1
  123. package/dist-cjs/combo-box-deprecated/ComboBoxDeprecated.js +37 -33
  124. package/dist-cjs/combo-box-deprecated/ComboBoxDeprecated.js.map +1 -1
  125. package/dist-cjs/combo-box-deprecated/filterHelpers.js +0 -2
  126. package/dist-cjs/combo-box-deprecated/filterHelpers.js.map +1 -1
  127. package/dist-cjs/combo-box-deprecated/internal/DefaultComboBox.js +37 -37
  128. package/dist-cjs/combo-box-deprecated/internal/DefaultComboBox.js.map +1 -1
  129. package/dist-cjs/combo-box-deprecated/internal/MultiSelectComboBox.js +37 -37
  130. package/dist-cjs/combo-box-deprecated/internal/MultiSelectComboBox.js.map +1 -1
  131. package/dist-cjs/combo-box-deprecated/internal/getAnnouncement.js +1 -3
  132. package/dist-cjs/combo-box-deprecated/internal/getAnnouncement.js.map +1 -1
  133. package/dist-cjs/combo-box-deprecated/internal/useComboBox.js +0 -2
  134. package/dist-cjs/combo-box-deprecated/internal/useComboBox.js.map +1 -1
  135. package/dist-cjs/combo-box-deprecated/internal/useMultiSelectComboBox.js +0 -2
  136. package/dist-cjs/combo-box-deprecated/internal/useMultiSelectComboBox.js.map +1 -1
  137. package/dist-cjs/combo-box-deprecated/internal/usePopperStatus.js +0 -2
  138. package/dist-cjs/combo-box-deprecated/internal/usePopperStatus.js.map +1 -1
  139. package/dist-cjs/common-hooks/calcPreferredHeight.js +2 -3
  140. package/dist-cjs/common-hooks/calcPreferredHeight.js.map +1 -1
  141. package/dist-cjs/common-hooks/collectionProvider.js +1 -6
  142. package/dist-cjs/common-hooks/collectionProvider.js.map +1 -1
  143. package/dist-cjs/common-hooks/itemToString.js +0 -2
  144. package/dist-cjs/common-hooks/itemToString.js.map +1 -1
  145. package/dist-cjs/common-hooks/keyUtils.js +0 -2
  146. package/dist-cjs/common-hooks/keyUtils.js.map +1 -1
  147. package/dist-cjs/common-hooks/list-dom-utils.js +0 -2
  148. package/dist-cjs/common-hooks/list-dom-utils.js.map +1 -1
  149. package/dist-cjs/common-hooks/selectionTypes.js +0 -2
  150. package/dist-cjs/common-hooks/selectionTypes.js.map +1 -1
  151. package/dist-cjs/common-hooks/useAutoSizer.js +0 -2
  152. package/dist-cjs/common-hooks/useAutoSizer.js.map +1 -1
  153. package/dist-cjs/common-hooks/useCollapsibleGroups.js +0 -2
  154. package/dist-cjs/common-hooks/useCollapsibleGroups.js.map +1 -1
  155. package/dist-cjs/common-hooks/useCollectionItems.js +21 -12
  156. package/dist-cjs/common-hooks/useCollectionItems.js.map +1 -1
  157. package/dist-cjs/common-hooks/useImperativeScrollingAPI.js +0 -2
  158. package/dist-cjs/common-hooks/useImperativeScrollingAPI.js.map +1 -1
  159. package/dist-cjs/common-hooks/useKeyboardNavigation.js +2 -3
  160. package/dist-cjs/common-hooks/useKeyboardNavigation.js.map +1 -1
  161. package/dist-cjs/common-hooks/useKeyboardNavigationPanel.js +3 -2
  162. package/dist-cjs/common-hooks/useKeyboardNavigationPanel.js.map +1 -1
  163. package/dist-cjs/common-hooks/useSelection.js +3 -7
  164. package/dist-cjs/common-hooks/useSelection.js.map +1 -1
  165. package/dist-cjs/common-hooks/useTypeahead.js +0 -2
  166. package/dist-cjs/common-hooks/useTypeahead.js.map +1 -1
  167. package/dist-cjs/common-hooks/useViewportTracking.js +0 -2
  168. package/dist-cjs/common-hooks/useViewportTracking.js.map +1 -1
  169. package/dist-cjs/common-hooks/utils/collection-item-utils.js +2 -4
  170. package/dist-cjs/common-hooks/utils/collection-item-utils.js.map +1 -1
  171. package/dist-cjs/common-hooks/utils/filter-utils.js +0 -2
  172. package/dist-cjs/common-hooks/utils/filter-utils.js.map +1 -1
  173. package/dist-cjs/common-hooks/utils/isSelected.js +0 -2
  174. package/dist-cjs/common-hooks/utils/isSelected.js.map +1 -1
  175. package/dist-cjs/contact-details/ContactAction.js +9 -13
  176. package/dist-cjs/contact-details/ContactAction.js.map +1 -1
  177. package/dist-cjs/contact-details/ContactActions.js +1 -8
  178. package/dist-cjs/contact-details/ContactActions.js.map +1 -1
  179. package/dist-cjs/contact-details/ContactAvatar.js +17 -16
  180. package/dist-cjs/contact-details/ContactAvatar.js.map +1 -1
  181. package/dist-cjs/contact-details/ContactDetails.js +6 -10
  182. package/dist-cjs/contact-details/ContactDetails.js.map +1 -1
  183. package/dist-cjs/contact-details/ContactFavoriteToggle.js +13 -12
  184. package/dist-cjs/contact-details/ContactFavoriteToggle.js.map +1 -1
  185. package/dist-cjs/contact-details/ContactMetadata.js +13 -13
  186. package/dist-cjs/contact-details/ContactMetadata.js.map +1 -1
  187. package/dist-cjs/contact-details/ContactMetadataItem.js +5 -23
  188. package/dist-cjs/contact-details/ContactMetadataItem.js.map +1 -1
  189. package/dist-cjs/contact-details/ContactPrimaryInfo.js +16 -15
  190. package/dist-cjs/contact-details/ContactPrimaryInfo.js.map +1 -1
  191. package/dist-cjs/contact-details/ContactSecondaryInfo.js +16 -17
  192. package/dist-cjs/contact-details/ContactSecondaryInfo.js.map +1 -1
  193. package/dist-cjs/contact-details/ContactTertiaryInfo.js +16 -17
  194. package/dist-cjs/contact-details/ContactTertiaryInfo.js.map +1 -1
  195. package/dist-cjs/contact-details/MailLinkComponent.js +1 -12
  196. package/dist-cjs/contact-details/MailLinkComponent.js.map +1 -1
  197. package/dist-cjs/contact-details/internal/ContactDetailsContext.js +0 -2
  198. package/dist-cjs/contact-details/internal/ContactDetailsContext.js.map +1 -1
  199. package/dist-cjs/contact-details/internal/FavoriteToggle.js +18 -17
  200. package/dist-cjs/contact-details/internal/FavoriteToggle.js.map +1 -1
  201. package/dist-cjs/contact-details/internal/FavoriteToggleWithTooltip.js +1 -11
  202. package/dist-cjs/contact-details/internal/FavoriteToggleWithTooltip.js.map +1 -1
  203. package/dist-cjs/contact-details/internal/StarIcon.js +10 -14
  204. package/dist-cjs/contact-details/internal/StarIcon.js.map +1 -1
  205. package/dist-cjs/contact-details/internal/StarIconContainer.js +28 -24
  206. package/dist-cjs/contact-details/internal/StarIconContainer.js.map +1 -1
  207. package/dist-cjs/contact-details/internal/useComponentSize.js +0 -2
  208. package/dist-cjs/contact-details/internal/useComponentSize.js.map +1 -1
  209. package/dist-cjs/content-status/ContentStatus.js +16 -31
  210. package/dist-cjs/content-status/ContentStatus.js.map +1 -1
  211. package/dist-cjs/content-status/internal/StatusIndicator.js +30 -23
  212. package/dist-cjs/content-status/internal/StatusIndicator.js.map +1 -1
  213. package/dist-cjs/date-input/DateInputRange.js +91 -96
  214. package/dist-cjs/date-input/DateInputRange.js.map +1 -1
  215. package/dist-cjs/date-input/DateInputSingle.js +55 -58
  216. package/dist-cjs/date-input/DateInputSingle.js.map +1 -1
  217. package/dist-cjs/date-input/utils.js +0 -2
  218. package/dist-cjs/date-input/utils.js.map +1 -1
  219. package/dist-cjs/date-picker/DatePicker.js +3 -26
  220. package/dist-cjs/date-picker/DatePicker.js.map +1 -1
  221. package/dist-cjs/date-picker/DatePickerActions.js +13 -23
  222. package/dist-cjs/date-picker/DatePickerActions.js.map +1 -1
  223. package/dist-cjs/date-picker/DatePickerContext.js +0 -2
  224. package/dist-cjs/date-picker/DatePickerContext.js.map +1 -1
  225. package/dist-cjs/date-picker/DatePickerOverlay.js +18 -17
  226. package/dist-cjs/date-picker/DatePickerOverlay.js.map +1 -1
  227. package/dist-cjs/date-picker/DatePickerOverlayProvider.js +3 -8
  228. package/dist-cjs/date-picker/DatePickerOverlayProvider.js.map +1 -1
  229. package/dist-cjs/date-picker/DatePickerRangeInput.js +29 -25
  230. package/dist-cjs/date-picker/DatePickerRangeInput.js.map +1 -1
  231. package/dist-cjs/date-picker/DatePickerRangePanel.js +25 -59
  232. package/dist-cjs/date-picker/DatePickerRangePanel.js.map +1 -1
  233. package/dist-cjs/date-picker/DatePickerSingleInput.js +32 -28
  234. package/dist-cjs/date-picker/DatePickerSingleInput.js.map +1 -1
  235. package/dist-cjs/date-picker/DatePickerSinglePanel.js +19 -49
  236. package/dist-cjs/date-picker/DatePickerSinglePanel.js.map +1 -1
  237. package/dist-cjs/date-picker/useDatePicker.js +2 -4
  238. package/dist-cjs/date-picker/useDatePicker.js.map +1 -1
  239. package/dist-cjs/deck-item/DeckItem.js +21 -18
  240. package/dist-cjs/deck-item/DeckItem.js.map +1 -1
  241. package/dist-cjs/deck-layout/DeckLayout.js +34 -27
  242. package/dist-cjs/deck-layout/DeckLayout.js.map +1 -1
  243. package/dist-cjs/dialog/DialogHeader.css.js +6 -0
  244. package/dist-cjs/dialog/DialogHeader.css.js.map +1 -0
  245. package/dist-cjs/dialog/DialogHeader.js +63 -0
  246. package/dist-cjs/dialog/DialogHeader.js.map +1 -0
  247. package/dist-cjs/dropdown/Dropdown.js +28 -24
  248. package/dist-cjs/dropdown/Dropdown.js.map +1 -1
  249. package/dist-cjs/dropdown/DropdownBase.js +29 -29
  250. package/dist-cjs/dropdown/DropdownBase.js.map +1 -1
  251. package/dist-cjs/dropdown/DropdownButton.js +40 -36
  252. package/dist-cjs/dropdown/DropdownButton.js.map +1 -1
  253. package/dist-cjs/dropdown/useClickAway.js +0 -2
  254. package/dist-cjs/dropdown/useClickAway.js.map +1 -1
  255. package/dist-cjs/dropdown/useDropdown.js +2 -4
  256. package/dist-cjs/dropdown/useDropdown.js.map +1 -1
  257. package/dist-cjs/dropdown/useDropdownBase.js +3 -5
  258. package/dist-cjs/dropdown/useDropdownBase.js.map +1 -1
  259. package/dist-cjs/editable-label/EditableLabel.js +23 -19
  260. package/dist-cjs/editable-label/EditableLabel.js.map +1 -1
  261. package/dist-cjs/form-field-context-legacy/FormFieldLegacyContext.js +0 -2
  262. package/dist-cjs/form-field-context-legacy/FormFieldLegacyContext.js.map +1 -1
  263. package/dist-cjs/form-field-context-legacy/useFormFieldLegacyProps.js +0 -2
  264. package/dist-cjs/form-field-context-legacy/useFormFieldLegacyProps.js.map +1 -1
  265. package/dist-cjs/form-field-legacy/FormActivationIndicator.js +29 -38
  266. package/dist-cjs/form-field-legacy/FormActivationIndicator.js.map +1 -1
  267. package/dist-cjs/form-field-legacy/FormFieldLegacy.js +53 -44
  268. package/dist-cjs/form-field-legacy/FormFieldLegacy.js.map +1 -1
  269. package/dist-cjs/form-field-legacy/FormHelperText.js +1 -7
  270. package/dist-cjs/form-field-legacy/FormHelperText.js.map +1 -1
  271. package/dist-cjs/form-field-legacy/FormLabel.js +34 -24
  272. package/dist-cjs/form-field-legacy/FormLabel.js.map +1 -1
  273. package/dist-cjs/form-field-legacy/NecessityIndicator.js +9 -8
  274. package/dist-cjs/form-field-legacy/NecessityIndicator.js.map +1 -1
  275. package/dist-cjs/form-field-legacy/StatusIndicator.js +22 -18
  276. package/dist-cjs/form-field-legacy/StatusIndicator.js.map +1 -1
  277. package/dist-cjs/form-field-legacy/constant.js +0 -2
  278. package/dist-cjs/form-field-legacy/constant.js.map +1 -1
  279. package/dist-cjs/form-group/FormGroup.js +8 -7
  280. package/dist-cjs/form-group/FormGroup.js.map +1 -1
  281. package/dist-cjs/formatted-input/FormattedInput.js +13 -12
  282. package/dist-cjs/formatted-input/FormattedInput.js.map +1 -1
  283. package/dist-cjs/formatted-input/internal/InputWithMask.js +13 -14
  284. package/dist-cjs/formatted-input/internal/InputWithMask.js.map +1 -1
  285. package/dist-cjs/index.js +14 -4
  286. package/dist-cjs/index.js.map +1 -1
  287. package/dist-cjs/input-legacy/InputLegacy.js +48 -47
  288. package/dist-cjs/input-legacy/InputLegacy.js.map +1 -1
  289. package/dist-cjs/input-legacy/StaticInputAdornment.js +1 -8
  290. package/dist-cjs/input-legacy/StaticInputAdornment.js.map +1 -1
  291. package/dist-cjs/input-legacy/useCursorOnFocus.js +0 -2
  292. package/dist-cjs/input-legacy/useCursorOnFocus.js.map +1 -1
  293. package/dist-cjs/layer-layout/LayerLayout.js +34 -30
  294. package/dist-cjs/layer-layout/LayerLayout.js.map +1 -1
  295. package/dist-cjs/list/Highlighter.js +9 -11
  296. package/dist-cjs/list/Highlighter.js.map +1 -1
  297. package/dist-cjs/list/List.js +61 -63
  298. package/dist-cjs/list/List.js.map +1 -1
  299. package/dist-cjs/list/ListItem.js +29 -28
  300. package/dist-cjs/list/ListItem.js.map +1 -1
  301. package/dist-cjs/list/ListItemGroup.js +0 -2
  302. package/dist-cjs/list/ListItemGroup.js.map +1 -1
  303. package/dist-cjs/list/ListItemHeader.js +0 -2
  304. package/dist-cjs/list/ListItemHeader.js.map +1 -1
  305. package/dist-cjs/list/VirtualizedList.js +52 -48
  306. package/dist-cjs/list/VirtualizedList.js.map +1 -1
  307. package/dist-cjs/list/keyset.js +0 -2
  308. package/dist-cjs/list/keyset.js.map +1 -1
  309. package/dist-cjs/list/useList.js +3 -2
  310. package/dist-cjs/list/useList.js.map +1 -1
  311. package/dist-cjs/list/useListHeight.js +4 -4
  312. package/dist-cjs/list/useListHeight.js.map +1 -1
  313. package/dist-cjs/list/useVirtualization.js +0 -2
  314. package/dist-cjs/list/useVirtualization.js.map +1 -1
  315. package/dist-cjs/list-deprecated/List.js +6 -14
  316. package/dist-cjs/list-deprecated/List.js.map +1 -1
  317. package/dist-cjs/list-deprecated/ListBase.js +99 -87
  318. package/dist-cjs/list-deprecated/ListBase.js.map +1 -1
  319. package/dist-cjs/list-deprecated/ListItem.js +1 -8
  320. package/dist-cjs/list-deprecated/ListItem.js.map +1 -1
  321. package/dist-cjs/list-deprecated/ListItemBase.js +10 -14
  322. package/dist-cjs/list-deprecated/ListItemBase.js.map +1 -1
  323. package/dist-cjs/list-deprecated/ListItemContext.js +0 -2
  324. package/dist-cjs/list-deprecated/ListItemContext.js.map +1 -1
  325. package/dist-cjs/list-deprecated/ListStateContext.js +0 -2
  326. package/dist-cjs/list-deprecated/ListStateContext.js.map +1 -1
  327. package/dist-cjs/list-deprecated/internal/DescendantContext.js +1 -6
  328. package/dist-cjs/list-deprecated/internal/DescendantContext.js.map +1 -1
  329. package/dist-cjs/list-deprecated/internal/Highlighter.js +4 -11
  330. package/dist-cjs/list-deprecated/internal/Highlighter.js.map +1 -1
  331. package/dist-cjs/list-deprecated/internal/calcPreferredListHeight.js +2 -3
  332. package/dist-cjs/list-deprecated/internal/calcPreferredListHeight.js.map +1 -1
  333. package/dist-cjs/list-deprecated/internal/helpers.js +0 -2
  334. package/dist-cjs/list-deprecated/internal/helpers.js.map +1 -1
  335. package/dist-cjs/list-deprecated/internal/scrollIntoView.js +0 -2
  336. package/dist-cjs/list-deprecated/internal/scrollIntoView.js.map +1 -1
  337. package/dist-cjs/list-deprecated/internal/useListAutoSizer.js +0 -2
  338. package/dist-cjs/list-deprecated/internal/useListAutoSizer.js.map +1 -1
  339. package/dist-cjs/list-deprecated/internal/useWidth.js +0 -2
  340. package/dist-cjs/list-deprecated/internal/useWidth.js.map +1 -1
  341. package/dist-cjs/list-deprecated/itemToString.js +0 -2
  342. package/dist-cjs/list-deprecated/itemToString.js.map +1 -1
  343. package/dist-cjs/list-deprecated/useList.js +7 -9
  344. package/dist-cjs/list-deprecated/useList.js.map +1 -1
  345. package/dist-cjs/list-deprecated/useListItem.js +5 -2
  346. package/dist-cjs/list-deprecated/useListItem.js.map +1 -1
  347. package/dist-cjs/list-deprecated/useTypeSelect.js +2 -2
  348. package/dist-cjs/list-deprecated/useTypeSelect.js.map +1 -1
  349. package/dist-cjs/list-next/ListItemNext.js +25 -25
  350. package/dist-cjs/list-next/ListItemNext.js.map +1 -1
  351. package/dist-cjs/list-next/ListNext.js +5 -7
  352. package/dist-cjs/list-next/ListNext.js.map +1 -1
  353. package/dist-cjs/list-next/ListNextContext.js +0 -2
  354. package/dist-cjs/list-next/ListNextContext.js.map +1 -1
  355. package/dist-cjs/list-next/useList.js +3 -6
  356. package/dist-cjs/list-next/useList.js.map +1 -1
  357. package/dist-cjs/logo/Logo.js +1 -7
  358. package/dist-cjs/logo/Logo.js.map +1 -1
  359. package/dist-cjs/logo/LogoImage.js +9 -8
  360. package/dist-cjs/logo/LogoImage.js.map +1 -1
  361. package/dist-cjs/logo/LogoSeparator.js +1 -7
  362. package/dist-cjs/logo/LogoSeparator.js.map +1 -1
  363. package/dist-cjs/menu-button/MenuButton.js +21 -17
  364. package/dist-cjs/menu-button/MenuButton.js.map +1 -1
  365. package/dist-cjs/menu-button/MenuButtonTrigger.js +21 -17
  366. package/dist-cjs/menu-button/MenuButtonTrigger.js.map +1 -1
  367. package/dist-cjs/metric/Metric.js +5 -7
  368. package/dist-cjs/metric/Metric.js.map +1 -1
  369. package/dist-cjs/metric/MetricContent.js +32 -30
  370. package/dist-cjs/metric/MetricContent.js.map +1 -1
  371. package/dist-cjs/metric/MetricHeader.js +20 -26
  372. package/dist-cjs/metric/MetricHeader.js.map +1 -1
  373. package/dist-cjs/metric/internal/MetricContext.js +0 -2
  374. package/dist-cjs/metric/internal/MetricContext.js.map +1 -1
  375. package/dist-cjs/portal/Portal.js +3 -10
  376. package/dist-cjs/portal/Portal.js.map +1 -1
  377. package/dist-cjs/query-input/QueryInput.js +21 -19
  378. package/dist-cjs/query-input/QueryInput.js.map +1 -1
  379. package/dist-cjs/query-input/internal/CategoryList.js +8 -17
  380. package/dist-cjs/query-input/internal/CategoryList.js.map +1 -1
  381. package/dist-cjs/query-input/internal/CategoryListContext.js +0 -2
  382. package/dist-cjs/query-input/internal/CategoryListContext.js.map +1 -1
  383. package/dist-cjs/query-input/internal/CategoryListItem.js +9 -32
  384. package/dist-cjs/query-input/internal/CategoryListItem.js.map +1 -1
  385. package/dist-cjs/query-input/internal/QueryInputBody.js +16 -24
  386. package/dist-cjs/query-input/internal/QueryInputBody.js.map +1 -1
  387. package/dist-cjs/query-input/internal/SearchList.js +21 -28
  388. package/dist-cjs/query-input/internal/SearchList.js.map +1 -1
  389. package/dist-cjs/query-input/internal/ValueList.js +18 -25
  390. package/dist-cjs/query-input/internal/ValueList.js.map +1 -1
  391. package/dist-cjs/query-input/internal/ValueSelector.js +42 -37
  392. package/dist-cjs/query-input/internal/ValueSelector.js.map +1 -1
  393. package/dist-cjs/query-input/internal/usePopperStatus.js +0 -2
  394. package/dist-cjs/query-input/internal/usePopperStatus.js.map +1 -1
  395. package/dist-cjs/query-input/useQueryInput.js +0 -2
  396. package/dist-cjs/query-input/useQueryInput.js.map +1 -1
  397. package/dist-cjs/responsive/OverflowReducer.js +7 -9
  398. package/dist-cjs/responsive/OverflowReducer.js.map +1 -1
  399. package/dist-cjs/responsive/overflowUtils.js +0 -2
  400. package/dist-cjs/responsive/overflowUtils.js.map +1 -1
  401. package/dist-cjs/responsive/useDynamicCollapse.js +0 -2
  402. package/dist-cjs/responsive/useDynamicCollapse.js.map +1 -1
  403. package/dist-cjs/responsive/useInstantCollapse.js +1 -4
  404. package/dist-cjs/responsive/useInstantCollapse.js.map +1 -1
  405. package/dist-cjs/responsive/useOverflow.js +0 -2
  406. package/dist-cjs/responsive/useOverflow.js.map +1 -1
  407. package/dist-cjs/responsive/useOverflowCollectionItems.js +1 -4
  408. package/dist-cjs/responsive/useOverflowCollectionItems.js.map +1 -1
  409. package/dist-cjs/responsive/useOverflowLayout.js +4 -7
  410. package/dist-cjs/responsive/useOverflowLayout.js.map +1 -1
  411. package/dist-cjs/responsive/useReclaimSpace.js +1 -4
  412. package/dist-cjs/responsive/useReclaimSpace.js.map +1 -1
  413. package/dist-cjs/responsive/useResizeObserver.js +0 -2
  414. package/dist-cjs/responsive/useResizeObserver.js.map +1 -1
  415. package/dist-cjs/responsive/useWidth.js +0 -2
  416. package/dist-cjs/responsive/useWidth.js.map +1 -1
  417. package/dist-cjs/responsive/utils.js +2 -10
  418. package/dist-cjs/responsive/utils.js.map +1 -1
  419. package/dist-cjs/search-input/SearchInput.js +27 -24
  420. package/dist-cjs/search-input/SearchInput.js.map +1 -1
  421. package/dist-cjs/skip-link/SkipLink.js +5 -6
  422. package/dist-cjs/skip-link/SkipLink.js.map +1 -1
  423. package/dist-cjs/skip-link/SkipLinks.js +1 -8
  424. package/dist-cjs/skip-link/SkipLinks.js.map +1 -1
  425. package/dist-cjs/skip-link/internal/useManageFocusOnTarget.js +0 -2
  426. package/dist-cjs/skip-link/internal/useManageFocusOnTarget.js.map +1 -1
  427. package/dist-cjs/slider/Slider.js +47 -41
  428. package/dist-cjs/slider/Slider.js.map +1 -1
  429. package/dist-cjs/slider/internal/SliderContext.js +0 -2
  430. package/dist-cjs/slider/internal/SliderContext.js.map +1 -1
  431. package/dist-cjs/slider/internal/SliderMarks.js +8 -10
  432. package/dist-cjs/slider/internal/SliderMarks.js.map +1 -1
  433. package/dist-cjs/slider/internal/SliderSelection.js +13 -12
  434. package/dist-cjs/slider/internal/SliderSelection.js.map +1 -1
  435. package/dist-cjs/slider/internal/SliderThumb.js +49 -45
  436. package/dist-cjs/slider/internal/SliderThumb.js.map +1 -1
  437. package/dist-cjs/slider/internal/SliderTrack.js +26 -24
  438. package/dist-cjs/slider/internal/SliderTrack.js.map +1 -1
  439. package/dist-cjs/slider/internal/useKeyDownThumb.js +1 -4
  440. package/dist-cjs/slider/internal/useKeyDownThumb.js.map +1 -1
  441. package/dist-cjs/slider/internal/utils.js +5 -12
  442. package/dist-cjs/slider/internal/utils.js.map +1 -1
  443. package/dist-cjs/static-list/StaticList.css.js +1 -1
  444. package/dist-cjs/static-list/StaticList.js +1 -8
  445. package/dist-cjs/static-list/StaticList.js.map +1 -1
  446. package/dist-cjs/static-list/StaticListItem.js +1 -8
  447. package/dist-cjs/static-list/StaticListItem.js.map +1 -1
  448. package/dist-cjs/static-list/StaticListItemContent.js +1 -8
  449. package/dist-cjs/static-list/StaticListItemContent.js.map +1 -1
  450. package/dist-cjs/stepped-tracker/StepLabel/StepLabel.js +1 -10
  451. package/dist-cjs/stepped-tracker/StepLabel/StepLabel.js.map +1 -1
  452. package/dist-cjs/stepped-tracker/SteppedTracker.js +6 -12
  453. package/dist-cjs/stepped-tracker/SteppedTracker.js.map +1 -1
  454. package/dist-cjs/stepped-tracker/SteppedTrackerContext.js +2 -10
  455. package/dist-cjs/stepped-tracker/SteppedTrackerContext.js.map +1 -1
  456. package/dist-cjs/stepped-tracker/TrackerConnector/TrackerConnector.js +1 -5
  457. package/dist-cjs/stepped-tracker/TrackerConnector/TrackerConnector.js.map +1 -1
  458. package/dist-cjs/stepped-tracker/TrackerStep/TrackerStep.js +24 -31
  459. package/dist-cjs/stepped-tracker/TrackerStep/TrackerStep.js.map +1 -1
  460. package/dist-cjs/stepper-input/StepperInput.js +84 -89
  461. package/dist-cjs/stepper-input/StepperInput.js.map +1 -1
  462. package/dist-cjs/stepper-input/internal/useActivateWhileMouseDown.js +2 -6
  463. package/dist-cjs/stepper-input/internal/useActivateWhileMouseDown.js.map +1 -1
  464. package/dist-cjs/stepper-input/internal/useInterval.js +0 -2
  465. package/dist-cjs/stepper-input/internal/useInterval.js.map +1 -1
  466. package/dist-cjs/stepper-input/internal/utils.js +5 -12
  467. package/dist-cjs/stepper-input/internal/utils.js.map +1 -1
  468. package/dist-cjs/stepper-input/useStepperInput.js +6 -14
  469. package/dist-cjs/stepper-input/useStepperInput.js.map +1 -1
  470. package/dist-cjs/system-status/SystemStatus.js +13 -15
  471. package/dist-cjs/system-status/SystemStatus.js.map +1 -1
  472. package/dist-cjs/system-status/SystemStatusActions.js +1 -7
  473. package/dist-cjs/system-status/SystemStatusActions.js.map +1 -1
  474. package/dist-cjs/system-status/SystemStatusContent.js +1 -7
  475. package/dist-cjs/system-status/SystemStatusContent.js.map +1 -1
  476. package/dist-cjs/tabs/Tab.js +74 -57
  477. package/dist-cjs/tabs/Tab.js.map +1 -1
  478. package/dist-cjs/tabs/TabActivationIndicator.js +1 -10
  479. package/dist-cjs/tabs/TabActivationIndicator.js.map +1 -1
  480. package/dist-cjs/tabs/TabPanel.js +11 -10
  481. package/dist-cjs/tabs/TabPanel.js.map +1 -1
  482. package/dist-cjs/tabs/Tabs.js +21 -17
  483. package/dist-cjs/tabs/Tabs.js.map +1 -1
  484. package/dist-cjs/tabs/Tabstrip.js +86 -72
  485. package/dist-cjs/tabs/Tabstrip.js.map +1 -1
  486. package/dist-cjs/tabs/drag-drop/Draggable.js +5 -6
  487. package/dist-cjs/tabs/drag-drop/Draggable.js.map +1 -1
  488. package/dist-cjs/tabs/drag-drop/drag-utils.js +1 -4
  489. package/dist-cjs/tabs/drag-drop/drag-utils.js.map +1 -1
  490. package/dist-cjs/tabs/drag-drop/dragDropTypes.js +0 -2
  491. package/dist-cjs/tabs/drag-drop/dragDropTypes.js.map +1 -1
  492. package/dist-cjs/tabs/drag-drop/useDragDrop.js +0 -2
  493. package/dist-cjs/tabs/drag-drop/useDragDrop.js.map +1 -1
  494. package/dist-cjs/tabs/drag-drop/useDragDropNaturalMovement.js +9 -8
  495. package/dist-cjs/tabs/drag-drop/useDragDropNaturalMovement.js.map +1 -1
  496. package/dist-cjs/tabs/drag-drop/useDragSpacers.js +1 -2
  497. package/dist-cjs/tabs/drag-drop/useDragSpacers.js.map +1 -1
  498. package/dist-cjs/tabs/useActivationIndicator.js +0 -2
  499. package/dist-cjs/tabs/useActivationIndicator.js.map +1 -1
  500. package/dist-cjs/tabs/useEditableItem.js +0 -2
  501. package/dist-cjs/tabs/useEditableItem.js.map +1 -1
  502. package/dist-cjs/tabs/useItemsWithIds.js +1 -7
  503. package/dist-cjs/tabs/useItemsWithIds.js.map +1 -1
  504. package/dist-cjs/tabs/useKeyboardNavigation.js +0 -2
  505. package/dist-cjs/tabs/useKeyboardNavigation.js.map +1 -1
  506. package/dist-cjs/tabs/useSelection.js +1 -3
  507. package/dist-cjs/tabs/useSelection.js.map +1 -1
  508. package/dist-cjs/tabs/useTabs.js +3 -5
  509. package/dist-cjs/tabs/useTabs.js.map +1 -1
  510. package/dist-cjs/tabs/useTabstrip.js +3 -3
  511. package/dist-cjs/tabs/useTabstrip.js.map +1 -1
  512. package/dist-cjs/tabs-next/TabBar.css.js +6 -0
  513. package/dist-cjs/tabs-next/TabBar.css.js.map +1 -0
  514. package/dist-cjs/tabs-next/TabBar.js +41 -0
  515. package/dist-cjs/tabs-next/TabBar.js.map +1 -0
  516. package/dist-cjs/tabs-next/TabListNext.css.js +6 -0
  517. package/dist-cjs/tabs-next/TabListNext.css.js.map +1 -0
  518. package/dist-cjs/tabs-next/TabListNext.js +127 -0
  519. package/dist-cjs/tabs-next/TabListNext.js.map +1 -0
  520. package/dist-cjs/tabs-next/TabNext.css.js +1 -1
  521. package/dist-cjs/tabs-next/TabNext.js +74 -58
  522. package/dist-cjs/tabs-next/TabNext.js.map +1 -1
  523. package/dist-cjs/tabs-next/TabNextAction.js +35 -0
  524. package/dist-cjs/tabs-next/TabNextAction.js.map +1 -0
  525. package/dist-cjs/tabs-next/TabNextContext.js +15 -17
  526. package/dist-cjs/tabs-next/TabNextContext.js.map +1 -1
  527. package/dist-cjs/tabs-next/TabNextPanel.css.js +6 -0
  528. package/dist-cjs/tabs-next/TabNextPanel.css.js.map +1 -0
  529. package/dist-cjs/tabs-next/TabNextPanel.js +77 -0
  530. package/dist-cjs/tabs-next/TabNextPanel.js.map +1 -0
  531. package/dist-cjs/tabs-next/TabNextTrigger.css.js +6 -0
  532. package/dist-cjs/tabs-next/TabNextTrigger.css.js.map +1 -0
  533. package/dist-cjs/tabs-next/TabNextTrigger.js +77 -0
  534. package/dist-cjs/tabs-next/TabNextTrigger.js.map +1 -0
  535. package/dist-cjs/tabs-next/TabOverflowList.css.js +6 -0
  536. package/dist-cjs/tabs-next/TabOverflowList.css.js.map +1 -0
  537. package/dist-cjs/tabs-next/TabOverflowList.js +132 -0
  538. package/dist-cjs/tabs-next/TabOverflowList.js.map +1 -0
  539. package/dist-cjs/tabs-next/TabsNext.js +176 -0
  540. package/dist-cjs/tabs-next/TabsNext.js.map +1 -0
  541. package/dist-cjs/tabs-next/TabsNextContext.js +33 -0
  542. package/dist-cjs/tabs-next/TabsNextContext.js.map +1 -0
  543. package/dist-cjs/tabs-next/hooks/useCollection.js +91 -0
  544. package/dist-cjs/tabs-next/hooks/useCollection.js.map +1 -0
  545. package/dist-cjs/tabs-next/hooks/useFocusOutside.js +25 -0
  546. package/dist-cjs/tabs-next/hooks/useFocusOutside.js.map +1 -0
  547. package/dist-cjs/tabs-next/hooks/useOverflow.js +141 -0
  548. package/dist-cjs/tabs-next/hooks/useOverflow.js.map +1 -0
  549. package/dist-cjs/toast-group/ToastGroup.js +8 -7
  550. package/dist-cjs/toast-group/ToastGroup.js.map +1 -1
  551. package/dist-cjs/tokenized-input/TokenizedInput.js +9 -8
  552. package/dist-cjs/tokenized-input/TokenizedInput.js.map +1 -1
  553. package/dist-cjs/tokenized-input/TokenizedInputBase.js +105 -96
  554. package/dist-cjs/tokenized-input/TokenizedInputBase.js.map +1 -1
  555. package/dist-cjs/tokenized-input/internal/InputPill.js +24 -26
  556. package/dist-cjs/tokenized-input/internal/InputPill.js.map +1 -1
  557. package/dist-cjs/tokenized-input/internal/InputRuler.js +1 -7
  558. package/dist-cjs/tokenized-input/internal/InputRuler.js.map +1 -1
  559. package/dist-cjs/tokenized-input/internal/calcFirstHiddenIndex.js +0 -2
  560. package/dist-cjs/tokenized-input/internal/calcFirstHiddenIndex.js.map +1 -1
  561. package/dist-cjs/tokenized-input/internal/defaultItemToString.js +0 -2
  562. package/dist-cjs/tokenized-input/internal/defaultItemToString.js.map +1 -1
  563. package/dist-cjs/tokenized-input/internal/getCursorPosition.js +0 -2
  564. package/dist-cjs/tokenized-input/internal/getCursorPosition.js.map +1 -1
  565. package/dist-cjs/tokenized-input/internal/isPlainObject.js +0 -2
  566. package/dist-cjs/tokenized-input/internal/isPlainObject.js.map +1 -1
  567. package/dist-cjs/tokenized-input/internal/useResizeObserver.js +0 -2
  568. package/dist-cjs/tokenized-input/internal/useResizeObserver.js.map +1 -1
  569. package/dist-cjs/tokenized-input/internal/useWidth.js +0 -2
  570. package/dist-cjs/tokenized-input/internal/useWidth.js.map +1 -1
  571. package/dist-cjs/tokenized-input/useTokenizedInput.js +11 -7
  572. package/dist-cjs/tokenized-input/useTokenizedInput.js.map +1 -1
  573. package/dist-cjs/tokenized-input-next/TokenizedInputNext.js +68 -58
  574. package/dist-cjs/tokenized-input-next/TokenizedInputNext.js.map +1 -1
  575. package/dist-cjs/tokenized-input-next/internal/InputPill.js +6 -12
  576. package/dist-cjs/tokenized-input-next/internal/InputPill.js.map +1 -1
  577. package/dist-cjs/tokenized-input-next/internal/calcFirstHiddenIndex.js +0 -2
  578. package/dist-cjs/tokenized-input-next/internal/calcFirstHiddenIndex.js.map +1 -1
  579. package/dist-cjs/tokenized-input-next/internal/useResizeObserver.js +0 -2
  580. package/dist-cjs/tokenized-input-next/internal/useResizeObserver.js.map +1 -1
  581. package/dist-cjs/tokenized-input-next/internal/useWidth.js +1 -3
  582. package/dist-cjs/tokenized-input-next/internal/useWidth.js.map +1 -1
  583. package/dist-cjs/tokenized-input-next/useTokenizedInputNext.js +9 -10
  584. package/dist-cjs/tokenized-input-next/useTokenizedInputNext.js.map +1 -1
  585. package/dist-cjs/toolbar/Toolbar.js +43 -35
  586. package/dist-cjs/toolbar/Toolbar.js.map +1 -1
  587. package/dist-cjs/toolbar/ToolbarButton.js +10 -9
  588. package/dist-cjs/toolbar/ToolbarButton.js.map +1 -1
  589. package/dist-cjs/toolbar/Tooltray.js +23 -29
  590. package/dist-cjs/toolbar/Tooltray.js.map +1 -1
  591. package/dist-cjs/toolbar/internal/renderToolbarItems.js +7 -12
  592. package/dist-cjs/toolbar/internal/renderToolbarItems.js.map +1 -1
  593. package/dist-cjs/toolbar/internal/renderTrayTools.js +23 -18
  594. package/dist-cjs/toolbar/internal/renderTrayTools.js.map +1 -1
  595. package/dist-cjs/toolbar/overflow-panel/OverflowPanel.js +40 -43
  596. package/dist-cjs/toolbar/overflow-panel/OverflowPanel.js.map +1 -1
  597. package/dist-cjs/toolbar/overflow-panel/OverflowSeparator.js +1 -6
  598. package/dist-cjs/toolbar/overflow-panel/OverflowSeparator.js.map +1 -1
  599. package/dist-cjs/toolbar/toolbar-field/ToolbarField.js +1 -6
  600. package/dist-cjs/toolbar/toolbar-field/ToolbarField.js.map +1 -1
  601. package/dist-cjs/toolbar/toolbar-field/useToolbarField.js +2 -4
  602. package/dist-cjs/toolbar/toolbar-field/useToolbarField.js.map +1 -1
  603. package/dist-cjs/tree/Tree.js +57 -48
  604. package/dist-cjs/tree/Tree.js.map +1 -1
  605. package/dist-cjs/tree/TreeNode.js +11 -25
  606. package/dist-cjs/tree/TreeNode.js.map +1 -1
  607. package/dist-cjs/tree/use-tree-keyboard-navigation.js +0 -2
  608. package/dist-cjs/tree/use-tree-keyboard-navigation.js.map +1 -1
  609. package/dist-cjs/tree/useTree.js +11 -6
  610. package/dist-cjs/tree/useTree.js.map +1 -1
  611. package/dist-cjs/utils/escapeRegExp.js +0 -2
  612. package/dist-cjs/utils/escapeRegExp.js.map +1 -1
  613. package/dist-cjs/utils/forwardCallbackProps.js +0 -2
  614. package/dist-cjs/utils/forwardCallbackProps.js.map +1 -1
  615. package/dist-cjs/utils/isEmail.js +0 -2
  616. package/dist-cjs/utils/isEmail.js.map +1 -1
  617. package/dist-cjs/utils/isPlainObject.js +0 -2
  618. package/dist-cjs/utils/isPlainObject.js.map +1 -1
  619. package/dist-cjs/utils/partition.js +0 -2
  620. package/dist-cjs/utils/partition.js.map +1 -1
  621. package/dist-cjs/utils/useClickOutside.js +1 -3
  622. package/dist-cjs/utils/useClickOutside.js.map +1 -1
  623. package/dist-cjs/utils/useEventCallback.js +4 -3
  624. package/dist-cjs/utils/useEventCallback.js.map +1 -1
  625. package/dist-cjs/utils/useIsViewportLargerThanBreakpoint.js +0 -2
  626. package/dist-cjs/utils/useIsViewportLargerThanBreakpoint.js.map +1 -1
  627. package/dist-cjs/utils/useLayoutEffectOnce.js +0 -2
  628. package/dist-cjs/utils/useLayoutEffectOnce.js.map +1 -1
  629. package/dist-cjs/utils/useLayoutEffectSkipFirst.js +0 -2
  630. package/dist-cjs/utils/useLayoutEffectSkipFirst.js.map +1 -1
  631. package/dist-cjs/utils/useOverflowDetection.js +0 -2
  632. package/dist-cjs/utils/useOverflowDetection.js.map +1 -1
  633. package/dist-cjs/utils/useSlideSelection.js +0 -2
  634. package/dist-cjs/utils/useSlideSelection.js.map +1 -1
  635. package/dist-cjs/window/ElectronWindow.js +7 -21
  636. package/dist-cjs/window/ElectronWindow.js.map +1 -1
  637. package/dist-cjs/window/WindowContext.js +1 -7
  638. package/dist-cjs/window/WindowContext.js.map +1 -1
  639. package/dist-cjs/window/desktop-utils.js +0 -2
  640. package/dist-cjs/window/desktop-utils.js.map +1 -1
  641. package/dist-es/app-header/AppHeader.js +9 -6
  642. package/dist-es/app-header/AppHeader.js.map +1 -1
  643. package/dist-es/breadcrumbs/Breadcrumb.js +43 -41
  644. package/dist-es/breadcrumbs/Breadcrumb.js.map +1 -1
  645. package/dist-es/breadcrumbs/Breadcrumbs.js +28 -31
  646. package/dist-es/breadcrumbs/Breadcrumbs.js.map +1 -1
  647. package/dist-es/breadcrumbs/internal/BreadcrumbsCollapsed.js +19 -14
  648. package/dist-es/breadcrumbs/internal/BreadcrumbsCollapsed.js.map +1 -1
  649. package/dist-es/breadcrumbs/internal/BreadcrumbsContext.js.map +1 -1
  650. package/dist-es/breadcrumbs/internal/BreadcrumbsSeparator.js +1 -3
  651. package/dist-es/breadcrumbs/internal/BreadcrumbsSeparator.js.map +1 -1
  652. package/dist-es/breadcrumbs/internal/useFocusMenuRemount.js.map +1 -1
  653. package/dist-es/button-bar/ButtonBar.js +20 -25
  654. package/dist-es/button-bar/ButtonBar.js.map +1 -1
  655. package/dist-es/button-bar/OrderedButton.js +16 -13
  656. package/dist-es/button-bar/OrderedButton.js.map +1 -1
  657. package/dist-es/button-bar/internal/ButtonBarContext.js.map +1 -1
  658. package/dist-es/button-bar/internal/DescendantContext.js +1 -4
  659. package/dist-es/button-bar/internal/DescendantContext.js.map +1 -1
  660. package/dist-es/button-bar/internal/useDescendant.js.map +1 -1
  661. package/dist-es/button-bar/internal/useDescendants.js.map +1 -1
  662. package/dist-es/calendar/Calendar.js +20 -14
  663. package/dist-es/calendar/Calendar.js.map +1 -1
  664. package/dist-es/calendar/CalendarDateGrid.js +34 -27
  665. package/dist-es/calendar/CalendarDateGrid.js.map +1 -1
  666. package/dist-es/calendar/CalendarNavigation.js +103 -94
  667. package/dist-es/calendar/CalendarNavigation.js.map +1 -1
  668. package/dist-es/calendar/CalendarWeekHeader.js +18 -11
  669. package/dist-es/calendar/CalendarWeekHeader.js.map +1 -1
  670. package/dist-es/calendar/formatDate.js +3 -6
  671. package/dist-es/calendar/formatDate.js.map +1 -1
  672. package/dist-es/calendar/internal/CalendarContext.js.map +1 -1
  673. package/dist-es/calendar/internal/CalendarDay.js +48 -39
  674. package/dist-es/calendar/internal/CalendarDay.js.map +1 -1
  675. package/dist-es/calendar/internal/CalendarMonth.js +28 -18
  676. package/dist-es/calendar/internal/CalendarMonth.js.map +1 -1
  677. package/dist-es/calendar/internal/useFocusManagement.js.map +1 -1
  678. package/dist-es/calendar/internal/utils.js.map +1 -1
  679. package/dist-es/calendar/useCalendar.js +3 -2
  680. package/dist-es/calendar/useCalendar.js.map +1 -1
  681. package/dist-es/calendar/useCalendarDay.js.map +1 -1
  682. package/dist-es/calendar/useCalendarSelection.js +2 -0
  683. package/dist-es/calendar/useCalendarSelection.js.map +1 -1
  684. package/dist-es/carousel/Carousel.js +59 -54
  685. package/dist-es/carousel/Carousel.js.map +1 -1
  686. package/dist-es/carousel/CarouselSlide.js +35 -36
  687. package/dist-es/carousel/CarouselSlide.js.map +1 -1
  688. package/dist-es/cascading-menu/CascadingMenu.js +15 -13
  689. package/dist-es/cascading-menu/CascadingMenu.js.map +1 -1
  690. package/dist-es/cascading-menu/CascadingMenuItem.js +72 -59
  691. package/dist-es/cascading-menu/CascadingMenuItem.js.map +1 -1
  692. package/dist-es/cascading-menu/CascadingMenuList.js +50 -41
  693. package/dist-es/cascading-menu/CascadingMenuList.js.map +1 -1
  694. package/dist-es/cascading-menu/internal/CascadingMenuAction.js.map +1 -1
  695. package/dist-es/cascading-menu/internal/keydownHandlers.js.map +1 -1
  696. package/dist-es/cascading-menu/internal/menuPositioning.js.map +1 -1
  697. package/dist-es/cascading-menu/internal/stateUtils.js +1 -0
  698. package/dist-es/cascading-menu/internal/stateUtils.js.map +1 -1
  699. package/dist-es/cascading-menu/internal/useClickAway.js +4 -1
  700. package/dist-es/cascading-menu/internal/useClickAway.js.map +1 -1
  701. package/dist-es/cascading-menu/internal/useMenuTriggerHandlers.js.map +1 -1
  702. package/dist-es/cascading-menu/internal/useMountedRef.js.map +1 -1
  703. package/dist-es/cascading-menu/internal/useMouseHandlers.js +2 -3
  704. package/dist-es/cascading-menu/internal/useMouseHandlers.js.map +1 -1
  705. package/dist-es/cascading-menu/internal/useRefsManager.js.map +1 -1
  706. package/dist-es/cascading-menu/internal/useStateReducer.js.map +1 -1
  707. package/dist-es/cascading-menu/stateChangeTypes.js.map +1 -1
  708. package/dist-es/color-chooser/AlphaInputField.js +17 -13
  709. package/dist-es/color-chooser/AlphaInputField.js.map +1 -1
  710. package/dist-es/color-chooser/Color.js +1 -0
  711. package/dist-es/color-chooser/Color.js.map +1 -1
  712. package/dist-es/color-chooser/ColorChooser.js +58 -58
  713. package/dist-es/color-chooser/ColorChooser.js.map +1 -1
  714. package/dist-es/color-chooser/ColorHelpers.js +5 -9
  715. package/dist-es/color-chooser/ColorHelpers.js.map +1 -1
  716. package/dist-es/color-chooser/ColorPicker.js +33 -47
  717. package/dist-es/color-chooser/ColorPicker.js.map +1 -1
  718. package/dist-es/color-chooser/DictTabs.js +24 -21
  719. package/dist-es/color-chooser/DictTabs.js.map +1 -1
  720. package/dist-es/color-chooser/GetColorPalettes.js +1 -1
  721. package/dist-es/color-chooser/GetColorPalettes.js.map +1 -1
  722. package/dist-es/color-chooser/HexInput.js +9 -13
  723. package/dist-es/color-chooser/HexInput.js.map +1 -1
  724. package/dist-es/color-chooser/RGBAInput.js +24 -37
  725. package/dist-es/color-chooser/RGBAInput.js.map +1 -1
  726. package/dist-es/color-chooser/RGBAInputField.js +14 -10
  727. package/dist-es/color-chooser/RGBAInputField.js.map +1 -1
  728. package/dist-es/color-chooser/Swatch.js +19 -16
  729. package/dist-es/color-chooser/Swatch.js.map +1 -1
  730. package/dist-es/color-chooser/Swatches.js +27 -41
  731. package/dist-es/color-chooser/Swatches.js.map +1 -1
  732. package/dist-es/color-chooser/SwatchesPicker.js +26 -18
  733. package/dist-es/color-chooser/SwatchesPicker.js.map +1 -1
  734. package/dist-es/color-chooser/color-utils.js.map +1 -1
  735. package/dist-es/color-chooser/colorMap.js +1 -0
  736. package/dist-es/color-chooser/colorMap.js.map +1 -1
  737. package/dist-es/color-chooser/createTabsMapping.js.map +1 -1
  738. package/dist-es/combo-box/ComboBox.js +29 -23
  739. package/dist-es/combo-box/ComboBox.js.map +1 -1
  740. package/dist-es/combo-box/useCombobox.js +16 -13
  741. package/dist-es/combo-box/useCombobox.js.map +1 -1
  742. package/dist-es/combo-box-deprecated/ComboBoxDeprecated.js +37 -31
  743. package/dist-es/combo-box-deprecated/ComboBoxDeprecated.js.map +1 -1
  744. package/dist-es/combo-box-deprecated/filterHelpers.js.map +1 -1
  745. package/dist-es/combo-box-deprecated/internal/DefaultComboBox.js +37 -35
  746. package/dist-es/combo-box-deprecated/internal/DefaultComboBox.js.map +1 -1
  747. package/dist-es/combo-box-deprecated/internal/MultiSelectComboBox.js +37 -35
  748. package/dist-es/combo-box-deprecated/internal/MultiSelectComboBox.js.map +1 -1
  749. package/dist-es/combo-box-deprecated/internal/getAnnouncement.js +1 -1
  750. package/dist-es/combo-box-deprecated/internal/getAnnouncement.js.map +1 -1
  751. package/dist-es/combo-box-deprecated/internal/useComboBox.js.map +1 -1
  752. package/dist-es/combo-box-deprecated/internal/useMultiSelectComboBox.js.map +1 -1
  753. package/dist-es/combo-box-deprecated/internal/usePopperStatus.js.map +1 -1
  754. package/dist-es/common-hooks/calcPreferredHeight.js +2 -1
  755. package/dist-es/common-hooks/calcPreferredHeight.js.map +1 -1
  756. package/dist-es/common-hooks/collectionProvider.js +1 -4
  757. package/dist-es/common-hooks/collectionProvider.js.map +1 -1
  758. package/dist-es/common-hooks/itemToString.js.map +1 -1
  759. package/dist-es/common-hooks/keyUtils.js.map +1 -1
  760. package/dist-es/common-hooks/list-dom-utils.js.map +1 -1
  761. package/dist-es/common-hooks/selectionTypes.js.map +1 -1
  762. package/dist-es/common-hooks/useAutoSizer.js.map +1 -1
  763. package/dist-es/common-hooks/useCollapsibleGroups.js.map +1 -1
  764. package/dist-es/common-hooks/useCollectionItems.js +21 -10
  765. package/dist-es/common-hooks/useCollectionItems.js.map +1 -1
  766. package/dist-es/common-hooks/useImperativeScrollingAPI.js.map +1 -1
  767. package/dist-es/common-hooks/useKeyboardNavigation.js +2 -1
  768. package/dist-es/common-hooks/useKeyboardNavigation.js.map +1 -1
  769. package/dist-es/common-hooks/useKeyboardNavigationPanel.js +3 -0
  770. package/dist-es/common-hooks/useKeyboardNavigationPanel.js.map +1 -1
  771. package/dist-es/common-hooks/useSelection.js +3 -5
  772. package/dist-es/common-hooks/useSelection.js.map +1 -1
  773. package/dist-es/common-hooks/useTypeahead.js.map +1 -1
  774. package/dist-es/common-hooks/useViewportTracking.js.map +1 -1
  775. package/dist-es/common-hooks/utils/collection-item-utils.js +2 -2
  776. package/dist-es/common-hooks/utils/collection-item-utils.js.map +1 -1
  777. package/dist-es/common-hooks/utils/filter-utils.js.map +1 -1
  778. package/dist-es/common-hooks/utils/isSelected.js.map +1 -1
  779. package/dist-es/contact-details/ContactAction.js +9 -11
  780. package/dist-es/contact-details/ContactAction.js.map +1 -1
  781. package/dist-es/contact-details/ContactActions.js +1 -6
  782. package/dist-es/contact-details/ContactActions.js.map +1 -1
  783. package/dist-es/contact-details/ContactAvatar.js +17 -14
  784. package/dist-es/contact-details/ContactAvatar.js.map +1 -1
  785. package/dist-es/contact-details/ContactDetails.js +6 -8
  786. package/dist-es/contact-details/ContactDetails.js.map +1 -1
  787. package/dist-es/contact-details/ContactFavoriteToggle.js +13 -10
  788. package/dist-es/contact-details/ContactFavoriteToggle.js.map +1 -1
  789. package/dist-es/contact-details/ContactMetadata.js +13 -11
  790. package/dist-es/contact-details/ContactMetadata.js.map +1 -1
  791. package/dist-es/contact-details/ContactMetadataItem.js +5 -21
  792. package/dist-es/contact-details/ContactMetadataItem.js.map +1 -1
  793. package/dist-es/contact-details/ContactPrimaryInfo.js +16 -13
  794. package/dist-es/contact-details/ContactPrimaryInfo.js.map +1 -1
  795. package/dist-es/contact-details/ContactSecondaryInfo.js +16 -15
  796. package/dist-es/contact-details/ContactSecondaryInfo.js.map +1 -1
  797. package/dist-es/contact-details/ContactTertiaryInfo.js +16 -15
  798. package/dist-es/contact-details/ContactTertiaryInfo.js.map +1 -1
  799. package/dist-es/contact-details/MailLinkComponent.js +1 -10
  800. package/dist-es/contact-details/MailLinkComponent.js.map +1 -1
  801. package/dist-es/contact-details/internal/ContactDetailsContext.js.map +1 -1
  802. package/dist-es/contact-details/internal/FavoriteToggle.js +18 -15
  803. package/dist-es/contact-details/internal/FavoriteToggle.js.map +1 -1
  804. package/dist-es/contact-details/internal/FavoriteToggleWithTooltip.js +1 -9
  805. package/dist-es/contact-details/internal/FavoriteToggleWithTooltip.js.map +1 -1
  806. package/dist-es/contact-details/internal/StarIcon.js +10 -12
  807. package/dist-es/contact-details/internal/StarIcon.js.map +1 -1
  808. package/dist-es/contact-details/internal/StarIconContainer.js +28 -22
  809. package/dist-es/contact-details/internal/StarIconContainer.js.map +1 -1
  810. package/dist-es/contact-details/internal/useComponentSize.js.map +1 -1
  811. package/dist-es/content-status/ContentStatus.js +16 -29
  812. package/dist-es/content-status/ContentStatus.js.map +1 -1
  813. package/dist-es/content-status/internal/StatusIndicator.js +30 -21
  814. package/dist-es/content-status/internal/StatusIndicator.js.map +1 -1
  815. package/dist-es/date-input/DateInputRange.js +91 -94
  816. package/dist-es/date-input/DateInputRange.js.map +1 -1
  817. package/dist-es/date-input/DateInputSingle.js +55 -56
  818. package/dist-es/date-input/DateInputSingle.js.map +1 -1
  819. package/dist-es/date-input/utils.js.map +1 -1
  820. package/dist-es/date-picker/DatePicker.js +3 -24
  821. package/dist-es/date-picker/DatePicker.js.map +1 -1
  822. package/dist-es/date-picker/DatePickerActions.js +13 -21
  823. package/dist-es/date-picker/DatePickerActions.js.map +1 -1
  824. package/dist-es/date-picker/DatePickerContext.js.map +1 -1
  825. package/dist-es/date-picker/DatePickerOverlay.js +18 -15
  826. package/dist-es/date-picker/DatePickerOverlay.js.map +1 -1
  827. package/dist-es/date-picker/DatePickerOverlayProvider.js +3 -6
  828. package/dist-es/date-picker/DatePickerOverlayProvider.js.map +1 -1
  829. package/dist-es/date-picker/DatePickerRangeInput.js +29 -23
  830. package/dist-es/date-picker/DatePickerRangeInput.js.map +1 -1
  831. package/dist-es/date-picker/DatePickerRangePanel.js +25 -53
  832. package/dist-es/date-picker/DatePickerRangePanel.js.map +1 -1
  833. package/dist-es/date-picker/DatePickerSingleInput.js +32 -26
  834. package/dist-es/date-picker/DatePickerSingleInput.js.map +1 -1
  835. package/dist-es/date-picker/DatePickerSinglePanel.js +19 -43
  836. package/dist-es/date-picker/DatePickerSinglePanel.js.map +1 -1
  837. package/dist-es/date-picker/useDatePicker.js +2 -2
  838. package/dist-es/date-picker/useDatePicker.js.map +1 -1
  839. package/dist-es/deck-item/DeckItem.js +21 -16
  840. package/dist-es/deck-item/DeckItem.js.map +1 -1
  841. package/dist-es/deck-layout/DeckLayout.js +34 -25
  842. package/dist-es/deck-layout/DeckLayout.js.map +1 -1
  843. package/dist-es/dialog/DialogHeader.css.js +4 -0
  844. package/dist-es/dialog/DialogHeader.css.js.map +1 -0
  845. package/dist-es/dialog/DialogHeader.js +61 -0
  846. package/dist-es/dialog/DialogHeader.js.map +1 -0
  847. package/dist-es/dropdown/Dropdown.js +28 -22
  848. package/dist-es/dropdown/Dropdown.js.map +1 -1
  849. package/dist-es/dropdown/DropdownBase.js +29 -27
  850. package/dist-es/dropdown/DropdownBase.js.map +1 -1
  851. package/dist-es/dropdown/DropdownButton.js +40 -34
  852. package/dist-es/dropdown/DropdownButton.js.map +1 -1
  853. package/dist-es/dropdown/useClickAway.js.map +1 -1
  854. package/dist-es/dropdown/useDropdown.js +2 -2
  855. package/dist-es/dropdown/useDropdown.js.map +1 -1
  856. package/dist-es/dropdown/useDropdownBase.js +3 -3
  857. package/dist-es/dropdown/useDropdownBase.js.map +1 -1
  858. package/dist-es/editable-label/EditableLabel.js +23 -17
  859. package/dist-es/editable-label/EditableLabel.js.map +1 -1
  860. package/dist-es/form-field-context-legacy/FormFieldLegacyContext.js.map +1 -1
  861. package/dist-es/form-field-context-legacy/useFormFieldLegacyProps.js.map +1 -1
  862. package/dist-es/form-field-legacy/FormActivationIndicator.js +29 -36
  863. package/dist-es/form-field-legacy/FormActivationIndicator.js.map +1 -1
  864. package/dist-es/form-field-legacy/FormFieldLegacy.js +53 -42
  865. package/dist-es/form-field-legacy/FormFieldLegacy.js.map +1 -1
  866. package/dist-es/form-field-legacy/FormHelperText.js +1 -5
  867. package/dist-es/form-field-legacy/FormHelperText.js.map +1 -1
  868. package/dist-es/form-field-legacy/FormLabel.js +34 -22
  869. package/dist-es/form-field-legacy/FormLabel.js.map +1 -1
  870. package/dist-es/form-field-legacy/NecessityIndicator.js +9 -6
  871. package/dist-es/form-field-legacy/NecessityIndicator.js.map +1 -1
  872. package/dist-es/form-field-legacy/StatusIndicator.js +22 -16
  873. package/dist-es/form-field-legacy/StatusIndicator.js.map +1 -1
  874. package/dist-es/form-group/FormGroup.js +8 -5
  875. package/dist-es/form-group/FormGroup.js.map +1 -1
  876. package/dist-es/formatted-input/FormattedInput.js +13 -10
  877. package/dist-es/formatted-input/FormattedInput.js.map +1 -1
  878. package/dist-es/formatted-input/internal/InputWithMask.js +13 -12
  879. package/dist-es/formatted-input/internal/InputWithMask.js.map +1 -1
  880. package/dist-es/index.js +7 -1
  881. package/dist-es/index.js.map +1 -1
  882. package/dist-es/input-legacy/InputLegacy.js +48 -45
  883. package/dist-es/input-legacy/InputLegacy.js.map +1 -1
  884. package/dist-es/input-legacy/StaticInputAdornment.js +1 -6
  885. package/dist-es/input-legacy/StaticInputAdornment.js.map +1 -1
  886. package/dist-es/input-legacy/useCursorOnFocus.js.map +1 -1
  887. package/dist-es/layer-layout/LayerLayout.js +34 -28
  888. package/dist-es/layer-layout/LayerLayout.js.map +1 -1
  889. package/dist-es/list/Highlighter.js +9 -9
  890. package/dist-es/list/Highlighter.js.map +1 -1
  891. package/dist-es/list/List.js +61 -61
  892. package/dist-es/list/List.js.map +1 -1
  893. package/dist-es/list/ListItem.js +29 -26
  894. package/dist-es/list/ListItem.js.map +1 -1
  895. package/dist-es/list/VirtualizedList.js +52 -46
  896. package/dist-es/list/VirtualizedList.js.map +1 -1
  897. package/dist-es/list/keyset.js.map +1 -1
  898. package/dist-es/list/useList.js +3 -0
  899. package/dist-es/list/useList.js.map +1 -1
  900. package/dist-es/list/useListHeight.js +4 -2
  901. package/dist-es/list/useListHeight.js.map +1 -1
  902. package/dist-es/list/useVirtualization.js.map +1 -1
  903. package/dist-es/list-deprecated/List.js +6 -12
  904. package/dist-es/list-deprecated/List.js.map +1 -1
  905. package/dist-es/list-deprecated/ListBase.js +99 -85
  906. package/dist-es/list-deprecated/ListBase.js.map +1 -1
  907. package/dist-es/list-deprecated/ListItem.js +1 -6
  908. package/dist-es/list-deprecated/ListItem.js.map +1 -1
  909. package/dist-es/list-deprecated/ListItemBase.js +10 -12
  910. package/dist-es/list-deprecated/ListItemBase.js.map +1 -1
  911. package/dist-es/list-deprecated/ListItemContext.js.map +1 -1
  912. package/dist-es/list-deprecated/ListStateContext.js.map +1 -1
  913. package/dist-es/list-deprecated/internal/DescendantContext.js +1 -4
  914. package/dist-es/list-deprecated/internal/DescendantContext.js.map +1 -1
  915. package/dist-es/list-deprecated/internal/Highlighter.js +4 -9
  916. package/dist-es/list-deprecated/internal/Highlighter.js.map +1 -1
  917. package/dist-es/list-deprecated/internal/calcPreferredListHeight.js +2 -1
  918. package/dist-es/list-deprecated/internal/calcPreferredListHeight.js.map +1 -1
  919. package/dist-es/list-deprecated/internal/scrollIntoView.js.map +1 -1
  920. package/dist-es/list-deprecated/internal/useListAutoSizer.js.map +1 -1
  921. package/dist-es/list-deprecated/internal/useWidth.js.map +1 -1
  922. package/dist-es/list-deprecated/itemToString.js.map +1 -1
  923. package/dist-es/list-deprecated/useList.js +7 -7
  924. package/dist-es/list-deprecated/useList.js.map +1 -1
  925. package/dist-es/list-deprecated/useListItem.js +5 -0
  926. package/dist-es/list-deprecated/useListItem.js.map +1 -1
  927. package/dist-es/list-deprecated/useTypeSelect.js +2 -0
  928. package/dist-es/list-deprecated/useTypeSelect.js.map +1 -1
  929. package/dist-es/list-next/ListItemNext.js +25 -23
  930. package/dist-es/list-next/ListItemNext.js.map +1 -1
  931. package/dist-es/list-next/ListNext.js +5 -5
  932. package/dist-es/list-next/ListNext.js.map +1 -1
  933. package/dist-es/list-next/ListNextContext.js.map +1 -1
  934. package/dist-es/list-next/useList.js +3 -4
  935. package/dist-es/list-next/useList.js.map +1 -1
  936. package/dist-es/logo/Logo.js +1 -5
  937. package/dist-es/logo/Logo.js.map +1 -1
  938. package/dist-es/logo/LogoImage.js +9 -6
  939. package/dist-es/logo/LogoImage.js.map +1 -1
  940. package/dist-es/logo/LogoSeparator.js +1 -5
  941. package/dist-es/logo/LogoSeparator.js.map +1 -1
  942. package/dist-es/menu-button/MenuButton.js +21 -15
  943. package/dist-es/menu-button/MenuButton.js.map +1 -1
  944. package/dist-es/menu-button/MenuButtonTrigger.js +21 -15
  945. package/dist-es/menu-button/MenuButtonTrigger.js.map +1 -1
  946. package/dist-es/metric/Metric.js +5 -5
  947. package/dist-es/metric/Metric.js.map +1 -1
  948. package/dist-es/metric/MetricContent.js +32 -28
  949. package/dist-es/metric/MetricContent.js.map +1 -1
  950. package/dist-es/metric/MetricHeader.js +20 -24
  951. package/dist-es/metric/MetricHeader.js.map +1 -1
  952. package/dist-es/metric/internal/MetricContext.js.map +1 -1
  953. package/dist-es/portal/Portal.js +3 -8
  954. package/dist-es/portal/Portal.js.map +1 -1
  955. package/dist-es/query-input/QueryInput.js +21 -17
  956. package/dist-es/query-input/QueryInput.js.map +1 -1
  957. package/dist-es/query-input/internal/CategoryList.js +8 -15
  958. package/dist-es/query-input/internal/CategoryList.js.map +1 -1
  959. package/dist-es/query-input/internal/CategoryListContext.js.map +1 -1
  960. package/dist-es/query-input/internal/CategoryListItem.js +9 -30
  961. package/dist-es/query-input/internal/CategoryListItem.js.map +1 -1
  962. package/dist-es/query-input/internal/QueryInputBody.js +16 -22
  963. package/dist-es/query-input/internal/QueryInputBody.js.map +1 -1
  964. package/dist-es/query-input/internal/SearchList.js +21 -26
  965. package/dist-es/query-input/internal/SearchList.js.map +1 -1
  966. package/dist-es/query-input/internal/ValueList.js +18 -23
  967. package/dist-es/query-input/internal/ValueList.js.map +1 -1
  968. package/dist-es/query-input/internal/ValueSelector.js +42 -35
  969. package/dist-es/query-input/internal/ValueSelector.js.map +1 -1
  970. package/dist-es/query-input/internal/usePopperStatus.js.map +1 -1
  971. package/dist-es/query-input/useQueryInput.js.map +1 -1
  972. package/dist-es/responsive/OverflowReducer.js +7 -7
  973. package/dist-es/responsive/OverflowReducer.js.map +1 -1
  974. package/dist-es/responsive/overflowUtils.js.map +1 -1
  975. package/dist-es/responsive/useDynamicCollapse.js.map +1 -1
  976. package/dist-es/responsive/useInstantCollapse.js +1 -2
  977. package/dist-es/responsive/useInstantCollapse.js.map +1 -1
  978. package/dist-es/responsive/useOverflow.js.map +1 -1
  979. package/dist-es/responsive/useOverflowCollectionItems.js +1 -2
  980. package/dist-es/responsive/useOverflowCollectionItems.js.map +1 -1
  981. package/dist-es/responsive/useOverflowLayout.js +4 -5
  982. package/dist-es/responsive/useOverflowLayout.js.map +1 -1
  983. package/dist-es/responsive/useReclaimSpace.js +1 -2
  984. package/dist-es/responsive/useReclaimSpace.js.map +1 -1
  985. package/dist-es/responsive/useResizeObserver.js.map +1 -1
  986. package/dist-es/responsive/useWidth.js.map +1 -1
  987. package/dist-es/responsive/utils.js +2 -8
  988. package/dist-es/responsive/utils.js.map +1 -1
  989. package/dist-es/search-input/SearchInput.js +27 -22
  990. package/dist-es/search-input/SearchInput.js.map +1 -1
  991. package/dist-es/skip-link/SkipLink.js +5 -4
  992. package/dist-es/skip-link/SkipLink.js.map +1 -1
  993. package/dist-es/skip-link/SkipLinks.js +1 -6
  994. package/dist-es/skip-link/SkipLinks.js.map +1 -1
  995. package/dist-es/skip-link/internal/useManageFocusOnTarget.js.map +1 -1
  996. package/dist-es/slider/Slider.js +47 -39
  997. package/dist-es/slider/Slider.js.map +1 -1
  998. package/dist-es/slider/internal/SliderContext.js.map +1 -1
  999. package/dist-es/slider/internal/SliderMarks.js +8 -8
  1000. package/dist-es/slider/internal/SliderMarks.js.map +1 -1
  1001. package/dist-es/slider/internal/SliderSelection.js +13 -10
  1002. package/dist-es/slider/internal/SliderSelection.js.map +1 -1
  1003. package/dist-es/slider/internal/SliderThumb.js +49 -43
  1004. package/dist-es/slider/internal/SliderThumb.js.map +1 -1
  1005. package/dist-es/slider/internal/SliderTrack.js +26 -22
  1006. package/dist-es/slider/internal/SliderTrack.js.map +1 -1
  1007. package/dist-es/slider/internal/useKeyDownThumb.js +1 -2
  1008. package/dist-es/slider/internal/useKeyDownThumb.js.map +1 -1
  1009. package/dist-es/slider/internal/utils.js +5 -10
  1010. package/dist-es/slider/internal/utils.js.map +1 -1
  1011. package/dist-es/static-list/StaticList.css.js +1 -1
  1012. package/dist-es/static-list/StaticList.js +1 -6
  1013. package/dist-es/static-list/StaticList.js.map +1 -1
  1014. package/dist-es/static-list/StaticListItem.js +1 -6
  1015. package/dist-es/static-list/StaticListItem.js.map +1 -1
  1016. package/dist-es/static-list/StaticListItemContent.js +1 -6
  1017. package/dist-es/static-list/StaticListItemContent.js.map +1 -1
  1018. package/dist-es/stepped-tracker/StepLabel/StepLabel.js +1 -8
  1019. package/dist-es/stepped-tracker/StepLabel/StepLabel.js.map +1 -1
  1020. package/dist-es/stepped-tracker/SteppedTracker.js +6 -10
  1021. package/dist-es/stepped-tracker/SteppedTracker.js.map +1 -1
  1022. package/dist-es/stepped-tracker/SteppedTrackerContext.js +2 -8
  1023. package/dist-es/stepped-tracker/SteppedTrackerContext.js.map +1 -1
  1024. package/dist-es/stepped-tracker/TrackerConnector/TrackerConnector.js +1 -3
  1025. package/dist-es/stepped-tracker/TrackerConnector/TrackerConnector.js.map +1 -1
  1026. package/dist-es/stepped-tracker/TrackerStep/TrackerStep.js +24 -29
  1027. package/dist-es/stepped-tracker/TrackerStep/TrackerStep.js.map +1 -1
  1028. package/dist-es/stepper-input/StepperInput.js +84 -87
  1029. package/dist-es/stepper-input/StepperInput.js.map +1 -1
  1030. package/dist-es/stepper-input/internal/useActivateWhileMouseDown.js +2 -4
  1031. package/dist-es/stepper-input/internal/useActivateWhileMouseDown.js.map +1 -1
  1032. package/dist-es/stepper-input/internal/useInterval.js.map +1 -1
  1033. package/dist-es/stepper-input/internal/utils.js +5 -10
  1034. package/dist-es/stepper-input/internal/utils.js.map +1 -1
  1035. package/dist-es/stepper-input/useStepperInput.js +6 -12
  1036. package/dist-es/stepper-input/useStepperInput.js.map +1 -1
  1037. package/dist-es/system-status/SystemStatus.js +13 -13
  1038. package/dist-es/system-status/SystemStatus.js.map +1 -1
  1039. package/dist-es/system-status/SystemStatusActions.js +1 -5
  1040. package/dist-es/system-status/SystemStatusActions.js.map +1 -1
  1041. package/dist-es/system-status/SystemStatusContent.js +1 -5
  1042. package/dist-es/system-status/SystemStatusContent.js.map +1 -1
  1043. package/dist-es/tabs/Tab.js +74 -55
  1044. package/dist-es/tabs/Tab.js.map +1 -1
  1045. package/dist-es/tabs/TabActivationIndicator.js +1 -8
  1046. package/dist-es/tabs/TabActivationIndicator.js.map +1 -1
  1047. package/dist-es/tabs/TabPanel.js +11 -8
  1048. package/dist-es/tabs/TabPanel.js.map +1 -1
  1049. package/dist-es/tabs/Tabs.js +21 -15
  1050. package/dist-es/tabs/Tabs.js.map +1 -1
  1051. package/dist-es/tabs/Tabstrip.js +86 -70
  1052. package/dist-es/tabs/Tabstrip.js.map +1 -1
  1053. package/dist-es/tabs/drag-drop/Draggable.js +5 -4
  1054. package/dist-es/tabs/drag-drop/Draggable.js.map +1 -1
  1055. package/dist-es/tabs/drag-drop/drag-utils.js +1 -2
  1056. package/dist-es/tabs/drag-drop/drag-utils.js.map +1 -1
  1057. package/dist-es/tabs/drag-drop/useDragDrop.js.map +1 -1
  1058. package/dist-es/tabs/drag-drop/useDragDropNaturalMovement.js +9 -6
  1059. package/dist-es/tabs/drag-drop/useDragDropNaturalMovement.js.map +1 -1
  1060. package/dist-es/tabs/drag-drop/useDragSpacers.js +1 -0
  1061. package/dist-es/tabs/drag-drop/useDragSpacers.js.map +1 -1
  1062. package/dist-es/tabs/useActivationIndicator.js.map +1 -1
  1063. package/dist-es/tabs/useEditableItem.js.map +1 -1
  1064. package/dist-es/tabs/useItemsWithIds.js +1 -5
  1065. package/dist-es/tabs/useItemsWithIds.js.map +1 -1
  1066. package/dist-es/tabs/useKeyboardNavigation.js.map +1 -1
  1067. package/dist-es/tabs/useSelection.js +1 -1
  1068. package/dist-es/tabs/useSelection.js.map +1 -1
  1069. package/dist-es/tabs/useTabs.js +3 -3
  1070. package/dist-es/tabs/useTabs.js.map +1 -1
  1071. package/dist-es/tabs/useTabstrip.js +3 -1
  1072. package/dist-es/tabs/useTabstrip.js.map +1 -1
  1073. package/dist-es/tabs-next/TabBar.css.js +4 -0
  1074. package/dist-es/tabs-next/TabBar.css.js.map +1 -0
  1075. package/dist-es/tabs-next/TabBar.js +39 -0
  1076. package/dist-es/tabs-next/TabBar.js.map +1 -0
  1077. package/dist-es/tabs-next/TabListNext.css.js +4 -0
  1078. package/dist-es/tabs-next/TabListNext.css.js.map +1 -0
  1079. package/dist-es/tabs-next/TabListNext.js +125 -0
  1080. package/dist-es/tabs-next/TabListNext.js.map +1 -0
  1081. package/dist-es/tabs-next/TabNext.css.js +1 -1
  1082. package/dist-es/tabs-next/TabNext.js +77 -55
  1083. package/dist-es/tabs-next/TabNext.js.map +1 -1
  1084. package/dist-es/tabs-next/TabNextAction.js +33 -0
  1085. package/dist-es/tabs-next/TabNextAction.js.map +1 -0
  1086. package/dist-es/tabs-next/TabNextContext.js +14 -14
  1087. package/dist-es/tabs-next/TabNextContext.js.map +1 -1
  1088. package/dist-es/tabs-next/TabNextPanel.css.js +4 -0
  1089. package/dist-es/tabs-next/TabNextPanel.css.js.map +1 -0
  1090. package/dist-es/tabs-next/TabNextPanel.js +75 -0
  1091. package/dist-es/tabs-next/TabNextPanel.js.map +1 -0
  1092. package/dist-es/tabs-next/TabNextTrigger.css.js +4 -0
  1093. package/dist-es/tabs-next/TabNextTrigger.css.js.map +1 -0
  1094. package/dist-es/tabs-next/TabNextTrigger.js +75 -0
  1095. package/dist-es/tabs-next/TabNextTrigger.js.map +1 -0
  1096. package/dist-es/tabs-next/TabOverflowList.css.js +4 -0
  1097. package/dist-es/tabs-next/TabOverflowList.css.js.map +1 -0
  1098. package/dist-es/tabs-next/TabOverflowList.js +130 -0
  1099. package/dist-es/tabs-next/TabOverflowList.js.map +1 -0
  1100. package/dist-es/tabs-next/TabsNext.js +174 -0
  1101. package/dist-es/tabs-next/TabsNext.js.map +1 -0
  1102. package/dist-es/tabs-next/TabsNextContext.js +30 -0
  1103. package/dist-es/tabs-next/TabsNextContext.js.map +1 -0
  1104. package/dist-es/tabs-next/hooks/useCollection.js +89 -0
  1105. package/dist-es/tabs-next/hooks/useCollection.js.map +1 -0
  1106. package/dist-es/tabs-next/hooks/useFocusOutside.js +23 -0
  1107. package/dist-es/tabs-next/hooks/useFocusOutside.js.map +1 -0
  1108. package/dist-es/tabs-next/hooks/useOverflow.js +139 -0
  1109. package/dist-es/tabs-next/hooks/useOverflow.js.map +1 -0
  1110. package/dist-es/toast-group/ToastGroup.js +8 -5
  1111. package/dist-es/toast-group/ToastGroup.js.map +1 -1
  1112. package/dist-es/tokenized-input/TokenizedInput.js +9 -6
  1113. package/dist-es/tokenized-input/TokenizedInput.js.map +1 -1
  1114. package/dist-es/tokenized-input/TokenizedInputBase.js +104 -89
  1115. package/dist-es/tokenized-input/TokenizedInputBase.js.map +1 -1
  1116. package/dist-es/tokenized-input/internal/InputPill.js +24 -24
  1117. package/dist-es/tokenized-input/internal/InputPill.js.map +1 -1
  1118. package/dist-es/tokenized-input/internal/InputRuler.js +1 -5
  1119. package/dist-es/tokenized-input/internal/InputRuler.js.map +1 -1
  1120. package/dist-es/tokenized-input/internal/calcFirstHiddenIndex.js.map +1 -1
  1121. package/dist-es/tokenized-input/internal/defaultItemToString.js.map +1 -1
  1122. package/dist-es/tokenized-input/internal/getCursorPosition.js.map +1 -1
  1123. package/dist-es/tokenized-input/internal/useResizeObserver.js.map +1 -1
  1124. package/dist-es/tokenized-input/internal/useWidth.js.map +1 -1
  1125. package/dist-es/tokenized-input/useTokenizedInput.js +10 -0
  1126. package/dist-es/tokenized-input/useTokenizedInput.js.map +1 -1
  1127. package/dist-es/tokenized-input-next/TokenizedInputNext.js +68 -56
  1128. package/dist-es/tokenized-input-next/TokenizedInputNext.js.map +1 -1
  1129. package/dist-es/tokenized-input-next/internal/InputPill.js +6 -10
  1130. package/dist-es/tokenized-input-next/internal/InputPill.js.map +1 -1
  1131. package/dist-es/tokenized-input-next/internal/calcFirstHiddenIndex.js.map +1 -1
  1132. package/dist-es/tokenized-input-next/internal/useResizeObserver.js.map +1 -1
  1133. package/dist-es/tokenized-input-next/internal/useWidth.js +1 -1
  1134. package/dist-es/tokenized-input-next/internal/useWidth.js.map +1 -1
  1135. package/dist-es/tokenized-input-next/useTokenizedInputNext.js +8 -3
  1136. package/dist-es/tokenized-input-next/useTokenizedInputNext.js.map +1 -1
  1137. package/dist-es/toolbar/Toolbar.js +43 -33
  1138. package/dist-es/toolbar/Toolbar.js.map +1 -1
  1139. package/dist-es/toolbar/ToolbarButton.js +10 -7
  1140. package/dist-es/toolbar/ToolbarButton.js.map +1 -1
  1141. package/dist-es/toolbar/Tooltray.js +23 -27
  1142. package/dist-es/toolbar/Tooltray.js.map +1 -1
  1143. package/dist-es/toolbar/internal/renderToolbarItems.js +7 -10
  1144. package/dist-es/toolbar/internal/renderToolbarItems.js.map +1 -1
  1145. package/dist-es/toolbar/internal/renderTrayTools.js +23 -16
  1146. package/dist-es/toolbar/internal/renderTrayTools.js.map +1 -1
  1147. package/dist-es/toolbar/overflow-panel/OverflowPanel.js +40 -41
  1148. package/dist-es/toolbar/overflow-panel/OverflowPanel.js.map +1 -1
  1149. package/dist-es/toolbar/overflow-panel/OverflowSeparator.js +1 -4
  1150. package/dist-es/toolbar/overflow-panel/OverflowSeparator.js.map +1 -1
  1151. package/dist-es/toolbar/toolbar-field/ToolbarField.js +1 -4
  1152. package/dist-es/toolbar/toolbar-field/ToolbarField.js.map +1 -1
  1153. package/dist-es/toolbar/toolbar-field/useToolbarField.js +2 -2
  1154. package/dist-es/toolbar/toolbar-field/useToolbarField.js.map +1 -1
  1155. package/dist-es/tree/Tree.js +57 -46
  1156. package/dist-es/tree/Tree.js.map +1 -1
  1157. package/dist-es/tree/TreeNode.js +11 -23
  1158. package/dist-es/tree/TreeNode.js.map +1 -1
  1159. package/dist-es/tree/use-tree-keyboard-navigation.js.map +1 -1
  1160. package/dist-es/tree/useTree.js +11 -4
  1161. package/dist-es/tree/useTree.js.map +1 -1
  1162. package/dist-es/utils/escapeRegExp.js.map +1 -1
  1163. package/dist-es/utils/forwardCallbackProps.js.map +1 -1
  1164. package/dist-es/utils/isEmail.js.map +1 -1
  1165. package/dist-es/utils/partition.js.map +1 -1
  1166. package/dist-es/utils/useClickOutside.js +1 -1
  1167. package/dist-es/utils/useClickOutside.js.map +1 -1
  1168. package/dist-es/utils/useEventCallback.js +4 -1
  1169. package/dist-es/utils/useEventCallback.js.map +1 -1
  1170. package/dist-es/utils/useIsViewportLargerThanBreakpoint.js.map +1 -1
  1171. package/dist-es/utils/useLayoutEffectOnce.js.map +1 -1
  1172. package/dist-es/utils/useLayoutEffectSkipFirst.js.map +1 -1
  1173. package/dist-es/utils/useOverflowDetection.js.map +1 -1
  1174. package/dist-es/utils/useSlideSelection.js.map +1 -1
  1175. package/dist-es/window/ElectronWindow.js +6 -14
  1176. package/dist-es/window/ElectronWindow.js.map +1 -1
  1177. package/dist-es/window/WindowContext.js +1 -5
  1178. package/dist-es/window/WindowContext.js.map +1 -1
  1179. package/dist-es/window/desktop-utils.js.map +1 -1
  1180. package/dist-types/contact-details/internal/StarIcon.d.ts +1 -2
  1181. package/dist-types/contact-details/internal/StarIconContainer.d.ts +2 -2
  1182. package/dist-types/date-picker/DatePickerActions.d.ts +3 -3
  1183. package/dist-types/dialog/DialogHeader.d.ts +28 -0
  1184. package/dist-types/dialog/index.d.ts +1 -0
  1185. package/dist-types/editable-label/EditableLabel.d.ts +1 -2
  1186. package/dist-types/index.d.ts +1 -0
  1187. package/dist-types/list-deprecated/internal/DescendantContext.d.ts +1 -2
  1188. package/dist-types/responsive/overflowUtils.d.ts +1 -1
  1189. package/dist-types/tabs/drag-drop/drag-utils.d.ts +6 -6
  1190. package/dist-types/tabs-next/TabBar.d.ts +12 -0
  1191. package/dist-types/tabs-next/TabListNext.d.ts +12 -0
  1192. package/dist-types/tabs-next/TabNext.d.ts +9 -2
  1193. package/dist-types/tabs-next/TabNextAction.d.ts +4 -0
  1194. package/dist-types/tabs-next/TabNextContext.d.ts +9 -16
  1195. package/dist-types/tabs-next/TabNextPanel.d.ts +8 -0
  1196. package/dist-types/tabs-next/TabNextTrigger.d.ts +4 -0
  1197. package/dist-types/tabs-next/TabOverflowList.d.ts +11 -0
  1198. package/dist-types/tabs-next/TabsNext.d.ts +17 -0
  1199. package/dist-types/tabs-next/TabsNextContext.d.ts +21 -0
  1200. package/dist-types/tabs-next/hooks/useCollection.d.ts +18 -0
  1201. package/dist-types/tabs-next/hooks/useFocusOutside.d.ts +2 -0
  1202. package/dist-types/tabs-next/hooks/useOverflow.d.ts +11 -0
  1203. package/dist-types/tabs-next/index.d.ts +6 -1
  1204. package/package.json +9 -8
  1205. package/dist-cjs/tabs-next/OverflowMenu.js +0 -48
  1206. package/dist-cjs/tabs-next/OverflowMenu.js.map +0 -1
  1207. package/dist-cjs/tabs-next/TabstripNext.css.js +0 -6
  1208. package/dist-cjs/tabs-next/TabstripNext.css.js.map +0 -1
  1209. package/dist-cjs/tabs-next/TabstripNext.js +0 -193
  1210. package/dist-cjs/tabs-next/TabstripNext.js.map +0 -1
  1211. package/dist-es/tabs-next/OverflowMenu.js +0 -44
  1212. package/dist-es/tabs-next/OverflowMenu.js.map +0 -1
  1213. package/dist-es/tabs-next/TabstripNext.css.js +0 -4
  1214. package/dist-es/tabs-next/TabstripNext.css.js.map +0 -1
  1215. package/dist-es/tabs-next/TabstripNext.js +0 -185
  1216. package/dist-es/tabs-next/TabstripNext.js.map +0 -1
  1217. package/dist-types/tabs-next/OverflowMenu.d.ts +0 -11
  1218. package/dist-types/tabs-next/TabstripNext.d.ts +0 -12
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sources":["../src/date-input/utils.ts"],"sourcesContent":["import {\n CalendarDate,\n CalendarDateTime,\n type DateValue,\n type TimeFields,\n ZonedDateTime,\n getLocalTimeZone,\n toZoned,\n} from \"@internationalized/date\";\nimport type { DateRangeSelection, SingleDateSelection } from \"../calendar\";\n\nexport type RangeTimeFields = {\n startTime?: TimeFields;\n endTime?: TimeFields;\n};\n\n/**\n * Parses a string into a CalendarDate.\n * @param inputDate - The input date string.\n * @returns An object containing the parsed date and any error encountered.\n */\nexport function parseCalendarDate(inputDate: string): {\n date: DateValue | null;\n error: string | false;\n} {\n if (!inputDate?.length) {\n return { date: null, error: false };\n }\n const date = new Date(inputDate);\n if (Number.isNaN(date.getTime())) {\n return { date: null, error: \"not a valid date\" };\n }\n\n const year = date.getFullYear();\n const month = date.getMonth() + 1;\n const day = date.getDate();\n\n try {\n const isoDate = new CalendarDate(year, month, day);\n return { date: isoDate, error: false };\n } catch (err) {\n return { date: null, error: (err as Error).message };\n }\n}\n\n/**\n * Parses a string into a ZonedDateTime.\n * @param inputDate - The input date string.\n * @param timeZone - The time zone to use for parsing. Defaults to the local time zone.\n * @returns An object containing the parsed date and any error encountered.\n */\nexport function parseZonedDateTime(\n inputDate: string,\n timeZone: string = getLocalTimeZone(),\n): {\n date: DateValue | null;\n error: string | false;\n} {\n const parsedDate = parseCalendarDate(inputDate);\n if (!parsedDate.date || parsedDate.error) {\n return { ...parsedDate, date: null };\n }\n try {\n const zonedDate = toZoned(parsedDate.date, timeZone, \"compatible\");\n return { date: zonedDate, error: false };\n } catch (err) {\n return { date: null, error: (err as Error).message };\n }\n}\n\n/**\n * Checks if a date supports time fields.\n * @param date - The date to check.\n * @returns `true` if the date supports time fields, otherwise `false`.\n */\nexport const dateSupportsTime = (\n date: DateValue,\n): date is CalendarDateTime | ZonedDateTime =>\n date instanceof CalendarDateTime || date instanceof ZonedDateTime;\n\n/**\n * Extracts time fields from a date range selection.\n * @param selectedDate - The selected date range.\n * @returns An object containing the start and end time fields.\n */\nexport function extractTimeFieldsFromDateRange(\n selectedDate: DateRangeSelection | null,\n): RangeTimeFields {\n let startTime: TimeFields | undefined;\n let endTime: TimeFields | undefined;\n if (selectedDate) {\n if (selectedDate.startDate && dateSupportsTime(selectedDate.startDate)) {\n const { hour, minute, second, millisecond } = selectedDate.startDate;\n startTime = { hour, minute, second, millisecond };\n }\n if (selectedDate.endDate && dateSupportsTime(selectedDate.endDate)) {\n const { hour, minute, second, millisecond } = selectedDate.endDate;\n endTime = { hour, minute, second, millisecond };\n }\n }\n return { startTime, endTime };\n}\n\n/**\n * Extracts time fields from a single date selection.\n * @param selectedDate - The selected date.\n * @returns The time fields of the selected date, if available.\n */\nexport function extractTimeFieldsFromDate(\n selectedDate: SingleDateSelection | null,\n): TimeFields | undefined {\n if (selectedDate && dateSupportsTime(selectedDate)) {\n const { hour, minute, second, millisecond } = selectedDate;\n return { hour, minute, second, millisecond };\n }\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sources":["../src/date-input/utils.ts"],"sourcesContent":["import {\n CalendarDate,\n CalendarDateTime,\n type DateValue,\n type TimeFields,\n ZonedDateTime,\n getLocalTimeZone,\n toZoned,\n} from \"@internationalized/date\";\nimport type { DateRangeSelection, SingleDateSelection } from \"../calendar\";\n\nexport type RangeTimeFields = {\n startTime?: TimeFields;\n endTime?: TimeFields;\n};\n\n/**\n * Parses a string into a CalendarDate.\n * @param inputDate - The input date string.\n * @returns An object containing the parsed date and any error encountered.\n */\nexport function parseCalendarDate(inputDate: string): {\n date: DateValue | null;\n error: string | false;\n} {\n if (!inputDate?.length) {\n return { date: null, error: false };\n }\n const date = new Date(inputDate);\n if (Number.isNaN(date.getTime())) {\n return { date: null, error: \"not a valid date\" };\n }\n\n const year = date.getFullYear();\n const month = date.getMonth() + 1;\n const day = date.getDate();\n\n try {\n const isoDate = new CalendarDate(year, month, day);\n return { date: isoDate, error: false };\n } catch (err) {\n return { date: null, error: (err as Error).message };\n }\n}\n\n/**\n * Parses a string into a ZonedDateTime.\n * @param inputDate - The input date string.\n * @param timeZone - The time zone to use for parsing. Defaults to the local time zone.\n * @returns An object containing the parsed date and any error encountered.\n */\nexport function parseZonedDateTime(\n inputDate: string,\n timeZone: string = getLocalTimeZone(),\n): {\n date: DateValue | null;\n error: string | false;\n} {\n const parsedDate = parseCalendarDate(inputDate);\n if (!parsedDate.date || parsedDate.error) {\n return { ...parsedDate, date: null };\n }\n try {\n const zonedDate = toZoned(parsedDate.date, timeZone, \"compatible\");\n return { date: zonedDate, error: false };\n } catch (err) {\n return { date: null, error: (err as Error).message };\n }\n}\n\n/**\n * Checks if a date supports time fields.\n * @param date - The date to check.\n * @returns `true` if the date supports time fields, otherwise `false`.\n */\nexport const dateSupportsTime = (\n date: DateValue,\n): date is CalendarDateTime | ZonedDateTime =>\n date instanceof CalendarDateTime || date instanceof ZonedDateTime;\n\n/**\n * Extracts time fields from a date range selection.\n * @param selectedDate - The selected date range.\n * @returns An object containing the start and end time fields.\n */\nexport function extractTimeFieldsFromDateRange(\n selectedDate: DateRangeSelection | null,\n): RangeTimeFields {\n let startTime: TimeFields | undefined;\n let endTime: TimeFields | undefined;\n if (selectedDate) {\n if (selectedDate.startDate && dateSupportsTime(selectedDate.startDate)) {\n const { hour, minute, second, millisecond } = selectedDate.startDate;\n startTime = { hour, minute, second, millisecond };\n }\n if (selectedDate.endDate && dateSupportsTime(selectedDate.endDate)) {\n const { hour, minute, second, millisecond } = selectedDate.endDate;\n endTime = { hour, minute, second, millisecond };\n }\n }\n return { startTime, endTime };\n}\n\n/**\n * Extracts time fields from a single date selection.\n * @param selectedDate - The selected date.\n * @returns The time fields of the selected date, if available.\n */\nexport function extractTimeFieldsFromDate(\n selectedDate: SingleDateSelection | null,\n): TimeFields | undefined {\n if (selectedDate && dateSupportsTime(selectedDate)) {\n const { hour, minute, second, millisecond } = selectedDate;\n return { hour, minute, second, millisecond };\n }\n}\n"],"names":[],"mappings":"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"}
@@ -42,40 +42,19 @@ const DatePickerMain = forwardRef(
42
42
  useDatePickerProps,
43
43
  ref
44
44
  );
45
- return /* @__PURE__ */ jsx(DateRangeSelectionContext.Provider, {
46
- value: stateAndHelpers2,
47
- children: /* @__PURE__ */ jsx("div", {
48
- ref: (_a = stateAndHelpers2 == null ? void 0 : stateAndHelpers2.state) == null ? void 0 : _a.containerRef,
49
- ...rest,
50
- children
51
- })
52
- });
45
+ return /* @__PURE__ */ jsx(DateRangeSelectionContext.Provider, { value: stateAndHelpers2, children: /* @__PURE__ */ jsx("div", { ref: (_a = stateAndHelpers2 == null ? void 0 : stateAndHelpers2.state) == null ? void 0 : _a.containerRef, ...rest, children }) });
53
46
  }
54
47
  const stateAndHelpers = useDatePicker(
55
48
  useDatePickerProps,
56
49
  ref
57
50
  );
58
- return /* @__PURE__ */ jsx(SingleDateSelectionContext.Provider, {
59
- value: stateAndHelpers,
60
- children: /* @__PURE__ */ jsx("div", {
61
- ref: (_b = stateAndHelpers == null ? void 0 : stateAndHelpers.state) == null ? void 0 : _b.containerRef,
62
- ...rest,
63
- children
64
- })
65
- });
51
+ return /* @__PURE__ */ jsx(SingleDateSelectionContext.Provider, { value: stateAndHelpers, children: /* @__PURE__ */ jsx("div", { ref: (_b = stateAndHelpers == null ? void 0 : stateAndHelpers.state) == null ? void 0 : _b.containerRef, ...rest, children }) });
66
52
  }
67
53
  );
68
54
  const DatePicker = forwardRef(
69
55
  function DatePicker2(props, ref) {
70
56
  const { open, defaultOpen, ...rest } = props;
71
- return /* @__PURE__ */ jsx(DatePickerOverlayProvider, {
72
- open,
73
- defaultOpen,
74
- children: /* @__PURE__ */ jsx(DatePickerMain, {
75
- ...rest,
76
- ref
77
- })
78
- });
57
+ return /* @__PURE__ */ jsx(DatePickerOverlayProvider, { open, defaultOpen, children: /* @__PURE__ */ jsx(DatePickerMain, { ...rest, ref }) });
79
58
  }
80
59
  );
81
60
 
@@ -1 +1 @@
1
- {"version":3,"file":"DatePicker.js","sources":["../src/date-picker/DatePicker.tsx"],"sourcesContent":["import { type ReactNode, forwardRef } from \"react\";\nimport {\n DateRangeSelectionContext,\n type RangeDatePickerState,\n type SingleDatePickerState,\n SingleDateSelectionContext,\n} from \"./DatePickerContext\";\nimport { DatePickerOverlayProvider } from \"./DatePickerOverlayProvider\";\nimport {\n type UseDatePickerRangeProps,\n type UseDatePickerSingleProps,\n useDatePicker,\n} from \"./useDatePicker\";\n\n/**\n * Base props for DatePicker.\n */\nexport interface DatePickerBaseProps {\n className?: string;\n children?: ReactNode;\n /** the open/close state of the overlay. The open/close state will be controlled when this prop is provided. */\n open?: boolean;\n /**\n * the initial open/close state of the overlay, when the open/close state is un-controlled.\n */\n defaultOpen?: DatePickerBaseProps[\"open\"];\n}\n\nexport interface DatePickerSingleProps\n extends DatePickerBaseProps,\n UseDatePickerSingleProps {\n selectionVariant: \"single\";\n}\n\nexport interface DatePickerRangeProps\n extends DatePickerBaseProps,\n UseDatePickerRangeProps {\n selectionVariant: \"range\";\n}\n\nexport type DatePickerProps = DatePickerSingleProps | DatePickerRangeProps;\n\nexport const DatePickerMain = forwardRef<HTMLDivElement, DatePickerProps>(\n function DatePickerMain(props, ref) {\n const {\n children,\n readOnly,\n disabled,\n selectionVariant,\n defaultSelectedDate,\n selectedDate,\n onSelectedDateChange,\n onApply,\n minDate,\n maxDate,\n timeZone,\n locale,\n onCancel,\n ...rest\n } = props;\n // biome-ignore lint/suspicious/noExplicitAny: type guard\n const useDatePickerProps: any = {\n readOnly,\n disabled,\n selectionVariant,\n defaultSelectedDate,\n selectedDate,\n onSelectedDateChange,\n onApply,\n minDate,\n maxDate,\n timeZone,\n locale,\n onCancel,\n };\n if (props.selectionVariant === \"range\") {\n const stateAndHelpers = useDatePicker(\n useDatePickerProps,\n ref,\n ) as RangeDatePickerState;\n return (\n <DateRangeSelectionContext.Provider value={stateAndHelpers}>\n <div ref={stateAndHelpers?.state?.containerRef} {...rest}>\n {children}\n </div>\n </DateRangeSelectionContext.Provider>\n );\n }\n const stateAndHelpers = useDatePicker(\n useDatePickerProps,\n ref,\n ) as SingleDatePickerState;\n return (\n <SingleDateSelectionContext.Provider value={stateAndHelpers}>\n <div ref={stateAndHelpers?.state?.containerRef} {...rest}>\n {children}\n </div>\n </SingleDateSelectionContext.Provider>\n );\n },\n);\n\nexport const DatePicker = forwardRef<HTMLDivElement, DatePickerProps>(\n function DatePicker(props, ref) {\n const { open, defaultOpen, ...rest } = props;\n\n return (\n <DatePickerOverlayProvider open={open} defaultOpen={defaultOpen}>\n <DatePickerMain {...rest} ref={ref} />\n </DatePickerOverlayProvider>\n );\n },\n);\n"],"names":["DatePickerMain","stateAndHelpers","DatePicker"],"mappings":";;;;;;AA0CO,MAAM,cAAiB,GAAA,UAAA;AAAA,EAC5B,SAASA,eAAe,CAAA,KAAA,EAAO,GAAK,EAAA;AA3CtC,IAAA,IAAA,EAAA,EAAA,EAAA,CAAA;AA4CI,IAAM,MAAA;AAAA,MACJ,QAAA;AAAA,MACA,QAAA;AAAA,MACA,QAAA;AAAA,MACA,gBAAA;AAAA,MACA,mBAAA;AAAA,MACA,YAAA;AAAA,MACA,oBAAA;AAAA,MACA,OAAA;AAAA,MACA,OAAA;AAAA,MACA,OAAA;AAAA,MACA,QAAA;AAAA,MACA,MAAA;AAAA,MACA,QAAA;AAAA,MACG,GAAA,IAAA;AAAA,KACD,GAAA,KAAA,CAAA;AAEJ,IAAA,MAAM,kBAA0B,GAAA;AAAA,MAC9B,QAAA;AAAA,MACA,QAAA;AAAA,MACA,gBAAA;AAAA,MACA,mBAAA;AAAA,MACA,YAAA;AAAA,MACA,oBAAA;AAAA,MACA,OAAA;AAAA,MACA,OAAA;AAAA,MACA,OAAA;AAAA,MACA,QAAA;AAAA,MACA,MAAA;AAAA,MACA,QAAA;AAAA,KACF,CAAA;AACA,IAAI,IAAA,KAAA,CAAM,qBAAqB,OAAS,EAAA;AACtC,MAAA,MAAMC,gBAAkB,GAAA,aAAA;AAAA,QACtB,kBAAA;AAAA,QACA,GAAA;AAAA,OACF,CAAA;AACA,MACE,uBAAA,GAAA,CAAC,0BAA0B,QAA1B,EAAA;AAAA,QAAmC,KAAOA,EAAAA,gBAAAA;AAAA,QACzC,QAAC,kBAAA,GAAA,CAAA,KAAA,EAAA;AAAA,UAAI,MAAK,EAAAA,GAAAA,gBAAAA,IAAA,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,gBAAAA,CAAiB,UAAjB,IAAwB,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,YAAA;AAAA,UAAe,GAAG,IAAA;AAAA,UACjD,QAAA;AAAA,SACH,CAAA;AAAA,OACF,CAAA,CAAA;AAAA,KAEJ;AACA,IAAA,MAAM,eAAkB,GAAA,aAAA;AAAA,MACtB,kBAAA;AAAA,MACA,GAAA;AAAA,KACF,CAAA;AACA,IACE,uBAAA,GAAA,CAAC,2BAA2B,QAA3B,EAAA;AAAA,MAAoC,KAAO,EAAA,eAAA;AAAA,MAC1C,QAAC,kBAAA,GAAA,CAAA,KAAA,EAAA;AAAA,QAAI,GAAA,EAAA,CAAK,EAAiB,GAAA,eAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,eAAA,CAAA,KAAA,KAAjB,IAAwB,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,YAAA;AAAA,QAAe,GAAG,IAAA;AAAA,QACjD,QAAA;AAAA,OACH,CAAA;AAAA,KACF,CAAA,CAAA;AAAA,GAEJ;AACF,EAAA;AAEO,MAAM,UAAa,GAAA,UAAA;AAAA,EACxB,SAASC,WAAW,CAAA,KAAA,EAAO,GAAK,EAAA;AAC9B,IAAA,MAAM,EAAE,IAAA,EAAM,WAAgB,EAAA,GAAA,IAAA,EAAS,GAAA,KAAA,CAAA;AAEvC,IAAA,uBACG,GAAA,CAAA,yBAAA,EAAA;AAAA,MAA0B,IAAA;AAAA,MAAY,WAAA;AAAA,MACrC,QAAC,kBAAA,GAAA,CAAA,cAAA,EAAA;AAAA,QAAgB,GAAG,IAAA;AAAA,QAAM,GAAA;AAAA,OAAU,CAAA;AAAA,KACtC,CAAA,CAAA;AAAA,GAEJ;AACF;;;;"}
1
+ {"version":3,"file":"DatePicker.js","sources":["../src/date-picker/DatePicker.tsx"],"sourcesContent":["import { type ReactNode, forwardRef } from \"react\";\nimport {\n DateRangeSelectionContext,\n type RangeDatePickerState,\n type SingleDatePickerState,\n SingleDateSelectionContext,\n} from \"./DatePickerContext\";\nimport { DatePickerOverlayProvider } from \"./DatePickerOverlayProvider\";\nimport {\n type UseDatePickerRangeProps,\n type UseDatePickerSingleProps,\n useDatePicker,\n} from \"./useDatePicker\";\n\n/**\n * Base props for DatePicker.\n */\nexport interface DatePickerBaseProps {\n className?: string;\n children?: ReactNode;\n /** the open/close state of the overlay. The open/close state will be controlled when this prop is provided. */\n open?: boolean;\n /**\n * the initial open/close state of the overlay, when the open/close state is un-controlled.\n */\n defaultOpen?: DatePickerBaseProps[\"open\"];\n}\n\nexport interface DatePickerSingleProps\n extends DatePickerBaseProps,\n UseDatePickerSingleProps {\n selectionVariant: \"single\";\n}\n\nexport interface DatePickerRangeProps\n extends DatePickerBaseProps,\n UseDatePickerRangeProps {\n selectionVariant: \"range\";\n}\n\nexport type DatePickerProps = DatePickerSingleProps | DatePickerRangeProps;\n\nexport const DatePickerMain = forwardRef<HTMLDivElement, DatePickerProps>(\n function DatePickerMain(props, ref) {\n const {\n children,\n readOnly,\n disabled,\n selectionVariant,\n defaultSelectedDate,\n selectedDate,\n onSelectedDateChange,\n onApply,\n minDate,\n maxDate,\n timeZone,\n locale,\n onCancel,\n ...rest\n } = props;\n // biome-ignore lint/suspicious/noExplicitAny: type guard\n const useDatePickerProps: any = {\n readOnly,\n disabled,\n selectionVariant,\n defaultSelectedDate,\n selectedDate,\n onSelectedDateChange,\n onApply,\n minDate,\n maxDate,\n timeZone,\n locale,\n onCancel,\n };\n if (props.selectionVariant === \"range\") {\n const stateAndHelpers = useDatePicker(\n useDatePickerProps,\n ref,\n ) as RangeDatePickerState;\n return (\n <DateRangeSelectionContext.Provider value={stateAndHelpers}>\n <div ref={stateAndHelpers?.state?.containerRef} {...rest}>\n {children}\n </div>\n </DateRangeSelectionContext.Provider>\n );\n }\n const stateAndHelpers = useDatePicker(\n useDatePickerProps,\n ref,\n ) as SingleDatePickerState;\n return (\n <SingleDateSelectionContext.Provider value={stateAndHelpers}>\n <div ref={stateAndHelpers?.state?.containerRef} {...rest}>\n {children}\n </div>\n </SingleDateSelectionContext.Provider>\n );\n },\n);\n\nexport const DatePicker = forwardRef<HTMLDivElement, DatePickerProps>(\n function DatePicker(props, ref) {\n const { open, defaultOpen, ...rest } = props;\n\n return (\n <DatePickerOverlayProvider open={open} defaultOpen={defaultOpen}>\n <DatePickerMain {...rest} ref={ref} />\n </DatePickerOverlayProvider>\n );\n },\n);\n"],"names":["DatePickerMain","stateAndHelpers","DatePicker"],"mappings":";;;;;;AA0CO,MAAM,cAAiB,GAAA,UAAA;AAAA,EAC5B,SAASA,eAAe,CAAA,KAAA,EAAO,GAAK,EAAA;AA3CtC,IAAA,IAAA,EAAA,EAAA,EAAA;AA4CI,IAAM,MAAA;AAAA,MACJ,QAAA;AAAA,MACA,QAAA;AAAA,MACA,QAAA;AAAA,MACA,gBAAA;AAAA,MACA,mBAAA;AAAA,MACA,YAAA;AAAA,MACA,oBAAA;AAAA,MACA,OAAA;AAAA,MACA,OAAA;AAAA,MACA,OAAA;AAAA,MACA,QAAA;AAAA,MACA,MAAA;AAAA,MACA,QAAA;AAAA,MACA,GAAG;AAAA,KACD,GAAA,KAAA;AAEJ,IAAA,MAAM,kBAA0B,GAAA;AAAA,MAC9B,QAAA;AAAA,MACA,QAAA;AAAA,MACA,gBAAA;AAAA,MACA,mBAAA;AAAA,MACA,YAAA;AAAA,MACA,oBAAA;AAAA,MACA,OAAA;AAAA,MACA,OAAA;AAAA,MACA,OAAA;AAAA,MACA,QAAA;AAAA,MACA,MAAA;AAAA,MACA;AAAA,KACF;AACA,IAAI,IAAA,KAAA,CAAM,qBAAqB,OAAS,EAAA;AACtC,MAAA,MAAMC,gBAAkB,GAAA,aAAA;AAAA,QACtB,kBAAA;AAAA,QACA;AAAA,OACF;AACA,MAAA,2BACG,yBAA0B,CAAA,QAAA,EAA1B,EAAmC,KAAOA,EAAAA,gBAAAA,EACzC,8BAAC,KAAI,EAAA,EAAA,GAAA,EAAA,CAAK,KAAAA,gBAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAAA,iBAAiB,KAAjB,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAwB,cAAe,GAAG,IAAA,EACjD,UACH,CACF,EAAA,CAAA;AAAA;AAGJ,IAAA,MAAM,eAAkB,GAAA,aAAA;AAAA,MACtB,kBAAA;AAAA,MACA;AAAA,KACF;AACA,IAAA,2BACG,0BAA2B,CAAA,QAAA,EAA3B,EAAoC,KAAA,EAAO,iBAC1C,QAAC,kBAAA,GAAA,CAAA,KAAA,EAAA,EAAI,GAAK,EAAA,CAAA,EAAA,GAAA,eAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,eAAA,CAAiB,UAAjB,IAAwB,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,YAAA,EAAe,GAAG,IAAA,EACjD,UACH,CACF,EAAA,CAAA;AAAA;AAGN;AAEO,MAAM,UAAa,GAAA,UAAA;AAAA,EACxB,SAASC,WAAW,CAAA,KAAA,EAAO,GAAK,EAAA;AAC9B,IAAA,MAAM,EAAE,IAAA,EAAM,WAAa,EAAA,GAAG,MAAS,GAAA,KAAA;AAEvC,IACE,uBAAA,GAAA,CAAC,6BAA0B,IAAY,EAAA,WAAA,EACrC,8BAAC,cAAgB,EAAA,EAAA,GAAG,IAAM,EAAA,GAAA,EAAU,CACtC,EAAA,CAAA;AAAA;AAGN;;;;"}
@@ -2,13 +2,7 @@ import { jsxs, jsx } from 'react/jsx-runtime';
2
2
  import { makePrefixer, Button } from '@salt-ds/core';
3
3
  import { clsx } from 'clsx';
4
4
  import { forwardRef, useEffect } from 'react';
5
- import './DatePicker.js';
6
5
  import { useDatePickerContext } from './DatePickerContext.js';
7
- import './DatePickerOverlay.js';
8
- import './DatePickerSingleInput.js';
9
- import './DatePickerSinglePanel.js';
10
- import './DatePickerRangeInput.js';
11
- import './DatePickerRangePanel.js';
12
6
  import css_248z from './DatePickerActions.css.js';
13
7
  import { useComponentCssInjection } from '@salt-ds/styles';
14
8
  import { useWindow } from '@salt-ds/window';
@@ -67,16 +61,11 @@ const DatePickerActions = forwardRef(function DatePickerActions2(props, ref) {
67
61
  }
68
62
  (_a = ApplyButtonProps == null ? void 0 : ApplyButtonProps.onClick) == null ? void 0 : _a.call(ApplyButtonProps, event);
69
63
  };
70
- return /* @__PURE__ */ jsxs("div", {
71
- className: clsx(className, withBaseName()),
72
- ref,
73
- ...rest,
74
- children: [
75
- /* @__PURE__ */ jsx("div", {
76
- className: withBaseName("body"),
77
- children
78
- }),
79
- /* @__PURE__ */ jsx(Button, {
64
+ return /* @__PURE__ */ jsxs("div", { className: clsx(className, withBaseName()), ref, ...rest, children: [
65
+ /* @__PURE__ */ jsx("div", { className: withBaseName("body"), children }),
66
+ /* @__PURE__ */ jsx(
67
+ Button,
68
+ {
80
69
  appearance: "transparent",
81
70
  sentiment: "neutral",
82
71
  ref: cancelButtonRef,
@@ -84,8 +73,11 @@ const DatePickerActions = forwardRef(function DatePickerActions2(props, ref) {
84
73
  onClick: handleCancel,
85
74
  className: clsx(withBaseName("action"), CancelButtonProps == null ? void 0 : CancelButtonProps.className),
86
75
  children: "Cancel"
87
- }),
88
- /* @__PURE__ */ jsx(Button, {
76
+ }
77
+ ),
78
+ /* @__PURE__ */ jsx(
79
+ Button,
80
+ {
89
81
  appearance: "solid",
90
82
  sentiment: "accented",
91
83
  ref: applyButtonRef,
@@ -93,9 +85,9 @@ const DatePickerActions = forwardRef(function DatePickerActions2(props, ref) {
93
85
  onClick: handleApply,
94
86
  className: clsx(withBaseName("action"), ApplyButtonProps == null ? void 0 : ApplyButtonProps.className),
95
87
  children: "Apply"
96
- })
97
- ]
98
- });
88
+ }
89
+ )
90
+ ] });
99
91
  });
100
92
 
101
93
  export { DatePickerActions };
@@ -1 +1 @@
1
- {"version":3,"file":"DatePickerActions.js","sources":["../src/date-picker/DatePickerActions.tsx"],"sourcesContent":["import { Button, type ButtonProps, makePrefixer } from \"@salt-ds/core\";\nimport { clsx } from \"clsx\";\nimport React, {\n type ComponentPropsWithoutRef,\n forwardRef,\n useEffect,\n type SyntheticEvent,\n type MouseEventHandler,\n type Ref,\n} from \"react\";\nimport type { DateRangeSelection, SingleDateSelection } from \"../calendar\";\nimport {\n type RangeDatePickerState,\n type SingleDatePickerState,\n useDatePickerContext,\n} from \"./index\";\nimport \"./DatePickerActions.css\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useWindow } from \"@salt-ds/window\";\nimport datePickerActions from \"./DatePickerActions.css\";\n\nconst withBaseName = makePrefixer(\"saltDatePickerActions\");\n\n/**\n * Base props for DatePicker actions.\n */\nexport interface DatePickerActionsBaseProps\n extends ComponentPropsWithoutRef<\"div\"> {\n /**\n * Callback fired when the cancel action is triggered.\n * @param _event - The synthetic event.\n */\n onCancel?: (_event: SyntheticEvent) => void;\n /**\n * Ref to apply button\n */\n applyButtonRef?: Ref<HTMLButtonElement>;\n /**\n * Props for the apply button.\n */\n ApplyButtonProps?: ButtonProps;\n /**\n * Props for the cancel button.\n */\n CancelButtonProps?: ButtonProps;\n /**\n * Ref to cancel button\n */\n cancelButtonRef?: Ref<HTMLButtonElement>;\n}\n\n/**\n * Props for the DatePicker actions component.\n * @template SelectionVariant - The selection variant, either \"single\" or \"range\".\n */\nexport type DatePickerActionsProps<\n SelectionVariant extends \"single\" | \"range\",\n> = SelectionVariant extends \"single\"\n ? DatePickerActionsBaseProps & {\n /**\n * The selection variant, set to \"single\".\n */\n selectionVariant: \"single\";\n /**\n * Callback fired when the apply action is triggered.\n * @param _event - The synthetic event.\n * @param date - The selected single date or null.\n */\n onApply?: (\n _event: SyntheticEvent,\n date: SingleDateSelection | null,\n ) => void;\n }\n : DatePickerActionsBaseProps & {\n /**\n * The selection variant, set to \"range\".\n */\n selectionVariant: \"range\";\n /**\n * Callback fired when the apply action is triggered.\n * @param _event - The synthetic event.\n * @param date - The selected date range or null.\n */\n onApply?: (\n _event: SyntheticEvent,\n date: DateRangeSelection | null,\n ) => void;\n };\n\nexport const DatePickerActions = forwardRef<\n HTMLDivElement,\n DatePickerActionsProps<\"single\" | \"range\">\n>(function DatePickerActions(props, ref) {\n const {\n applyButtonRef,\n ApplyButtonProps,\n cancelButtonRef,\n children,\n className,\n CancelButtonProps,\n onApply,\n onCancel,\n selectionVariant,\n ...rest\n } = props;\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-date-picker-actions\",\n css: datePickerActions,\n window: targetWindow,\n });\n\n // biome-ignore lint/suspicious/noExplicitAny: state and helpers coerced based on selectionVariant\n let stateAndHelpers: any;\n if (selectionVariant === \"range\") {\n stateAndHelpers = useDatePickerContext({\n selectionVariant: \"range\",\n }) as RangeDatePickerState;\n } else {\n stateAndHelpers = useDatePickerContext({\n selectionVariant: \"single\",\n }) as SingleDatePickerState;\n }\n\n const {\n state: { selectedDate },\n helpers: { cancel, apply, setEnableApply },\n } = stateAndHelpers;\n\n useEffect(() => {\n setEnableApply(true);\n }, [setEnableApply]);\n\n const handleCancel: MouseEventHandler<HTMLButtonElement> = (event) => {\n cancel();\n CancelButtonProps?.onClick?.(event);\n onCancel?.(event);\n };\n\n const handleApply: MouseEventHandler<HTMLButtonElement> = (event) => {\n if (selectionVariant === \"single\") {\n apply(selectedDate, false);\n onApply?.(event, selectedDate);\n } else {\n apply(selectedDate, { startDate: false, endDate: false });\n onApply?.(event, selectedDate);\n }\n ApplyButtonProps?.onClick?.(event);\n };\n\n return (\n <div className={clsx(className, withBaseName())} ref={ref} {...rest}>\n <div className={withBaseName(\"body\")}>{children}</div>\n <Button\n appearance=\"transparent\"\n sentiment=\"neutral\"\n ref={cancelButtonRef}\n {...CancelButtonProps}\n onClick={handleCancel}\n className={clsx(withBaseName(\"action\"), CancelButtonProps?.className)}\n >\n Cancel\n </Button>\n <Button\n appearance=\"solid\"\n sentiment=\"accented\"\n ref={applyButtonRef}\n {...ApplyButtonProps}\n onClick={handleApply}\n className={clsx(withBaseName(\"action\"), ApplyButtonProps?.className)}\n >\n Apply\n </Button>\n </div>\n );\n});\n"],"names":["DatePickerActions","datePickerActions"],"mappings":"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"}
1
+ {"version":3,"file":"DatePickerActions.js","sources":["../src/date-picker/DatePickerActions.tsx"],"sourcesContent":["import { Button, type ButtonProps, makePrefixer } from \"@salt-ds/core\";\nimport { clsx } from \"clsx\";\nimport {\n type ComponentPropsWithoutRef,\n type MouseEventHandler,\n type Ref,\n type SyntheticEvent,\n forwardRef,\n useEffect,\n} from \"react\";\nimport type { DateRangeSelection, SingleDateSelection } from \"../calendar\";\nimport {\n type RangeDatePickerState,\n type SingleDatePickerState,\n useDatePickerContext,\n} from \"./DatePickerContext\";\nimport \"./DatePickerActions.css\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useWindow } from \"@salt-ds/window\";\nimport datePickerActions from \"./DatePickerActions.css\";\n\nconst withBaseName = makePrefixer(\"saltDatePickerActions\");\n\n/**\n * Base props for DatePicker actions.\n */\nexport interface DatePickerActionsBaseProps\n extends ComponentPropsWithoutRef<\"div\"> {\n /**\n * Callback fired when the cancel action is triggered.\n * @param _event - The synthetic event.\n */\n onCancel?: (_event: SyntheticEvent) => void;\n /**\n * Ref to apply button\n */\n applyButtonRef?: Ref<HTMLButtonElement>;\n /**\n * Props for the apply button.\n */\n ApplyButtonProps?: ButtonProps;\n /**\n * Props for the cancel button.\n */\n CancelButtonProps?: ButtonProps;\n /**\n * Ref to cancel button\n */\n cancelButtonRef?: Ref<HTMLButtonElement>;\n}\n\n/**\n * Props for the DatePicker actions component.\n * @template SelectionVariant - The selection variant, either \"single\" or \"range\".\n */\nexport type DatePickerActionsProps<\n SelectionVariant extends \"single\" | \"range\",\n> = SelectionVariant extends \"single\"\n ? DatePickerActionsBaseProps & {\n /**\n * The selection variant, set to \"single\".\n */\n selectionVariant: \"single\";\n /**\n * Callback fired when the apply action is triggered.\n * @param _event - The synthetic event.\n * @param date - The selected single date or null.\n */\n onApply?: (\n _event: SyntheticEvent,\n date: SingleDateSelection | null,\n ) => void;\n }\n : DatePickerActionsBaseProps & {\n /**\n * The selection variant, set to \"range\".\n */\n selectionVariant: \"range\";\n /**\n * Callback fired when the apply action is triggered.\n * @param _event - The synthetic event.\n * @param date - The selected date range or null.\n */\n onApply?: (\n _event: SyntheticEvent,\n date: DateRangeSelection | null,\n ) => void;\n };\n\nexport const DatePickerActions = forwardRef<\n HTMLDivElement,\n DatePickerActionsProps<\"single\" | \"range\">\n>(function DatePickerActions(props, ref) {\n const {\n applyButtonRef,\n ApplyButtonProps,\n cancelButtonRef,\n children,\n className,\n CancelButtonProps,\n onApply,\n onCancel,\n selectionVariant,\n ...rest\n } = props;\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-date-picker-actions\",\n css: datePickerActions,\n window: targetWindow,\n });\n\n // biome-ignore lint/suspicious/noExplicitAny: state and helpers coerced based on selectionVariant\n let stateAndHelpers: any;\n if (selectionVariant === \"range\") {\n stateAndHelpers = useDatePickerContext({\n selectionVariant: \"range\",\n }) as RangeDatePickerState;\n } else {\n stateAndHelpers = useDatePickerContext({\n selectionVariant: \"single\",\n }) as SingleDatePickerState;\n }\n\n const {\n state: { selectedDate },\n helpers: { cancel, apply, setEnableApply },\n } = stateAndHelpers;\n\n useEffect(() => {\n setEnableApply(true);\n }, [setEnableApply]);\n\n const handleCancel: MouseEventHandler<HTMLButtonElement> = (event) => {\n cancel();\n CancelButtonProps?.onClick?.(event);\n onCancel?.(event);\n };\n\n const handleApply: MouseEventHandler<HTMLButtonElement> = (event) => {\n if (selectionVariant === \"single\") {\n apply(selectedDate, false);\n onApply?.(event, selectedDate);\n } else {\n apply(selectedDate, { startDate: false, endDate: false });\n onApply?.(event, selectedDate);\n }\n ApplyButtonProps?.onClick?.(event);\n };\n\n return (\n <div className={clsx(className, withBaseName())} ref={ref} {...rest}>\n <div className={withBaseName(\"body\")}>{children}</div>\n <Button\n appearance=\"transparent\"\n sentiment=\"neutral\"\n ref={cancelButtonRef}\n {...CancelButtonProps}\n onClick={handleCancel}\n className={clsx(withBaseName(\"action\"), CancelButtonProps?.className)}\n >\n Cancel\n </Button>\n <Button\n appearance=\"solid\"\n sentiment=\"accented\"\n ref={applyButtonRef}\n {...ApplyButtonProps}\n onClick={handleApply}\n className={clsx(withBaseName(\"action\"), ApplyButtonProps?.className)}\n >\n Apply\n </Button>\n </div>\n );\n});\n"],"names":["DatePickerActions","datePickerActions"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"DatePickerContext.js","sources":["../src/date-picker/DatePickerContext.ts"],"sourcesContent":["import type { DateValue } from \"@internationalized/date\";\nimport { createContext } from \"@salt-ds/core\";\nimport { useContext } from \"react\";\nimport type { DateRangeSelection, SingleDateSelection } from \"../calendar\";\nimport type { DateInputRangeError, DateInputSingleError } from \"../date-input\";\n\n/**\n * Interface representing the base state for a DatePicker.\n */\ninterface DatePickerBaseState {\n /**\n * The state properties of the DatePicker.\n */\n state: {\n /**\n * If `true`, the DatePicker is disabled.\n */\n disabled?: boolean;\n /**\n * If `true`, the DatePicker is read-only.\n */\n readOnly?: boolean;\n /**\n * If `true`, the DatePicker has been cancelled.\n */\n cancelled?: boolean;\n /**\n * If `true`, the apply action is enabled.\n */\n enableApply?: boolean;\n /**\n * The minimum selectable date.\n */\n minDate?: DateValue;\n /**\n * The maximum selectable date.\n */\n maxDate?: DateValue;\n /**\n * Reference to the container element.\n */\n containerRef: React.Ref<HTMLDivElement>;\n /**\n * The locale used for date formatting.\n */\n locale?: string;\n /**\n * The time zone used for date formatting.\n */\n timeZone?: string;\n };\n /**\n * Helper functions for managing the DatePicker state.\n */\n helpers: {\n /**\n * Cancels the DatePicker action.\n */\n cancel: () => void;\n /**\n * Sets the enableApply state.\n * @param newEnableApply - The new value for enableApply.\n */\n setEnableApply: (newEnableApply: boolean) => void;\n };\n}\n\n/**\n * Type representing a single date picker error.\n */\nexport type SingleDatePickerError = DateInputSingleError;\n\n/**\n * Type representing a range date picker error.\n */\nexport type RangeDatePickerError = DateInputRangeError;\n\n/**\n * Interface representing the state for a single date picker.\n */\nexport interface SingleDatePickerState extends DatePickerBaseState {\n /**\n * The state properties of the single date picker.\n */\n state: DatePickerBaseState[\"state\"] & {\n /**\n * The selected date.\n */\n selectedDate: SingleDateSelection | null;\n /**\n * The default selected date.\n */\n defaultSelectedDate?: SingleDateSelection;\n };\n /**\n * Helper functions for managing the single date picker state.\n */\n helpers: DatePickerBaseState[\"helpers\"] & {\n /**\n * Applies the selected date.\n * @param newDate - The new selected date.\n * @param error - The error encountered during selection, if any.\n */\n apply: (\n newDate: SingleDateSelection | null,\n error: SingleDatePickerError,\n ) => void;\n /**\n * Sets the selected date.\n * @param newDate - The new selected date.\n * @param error - The error encountered during selection, if any.\n */\n setSelectedDate: (\n newDate: SingleDateSelection | null,\n error: string | false,\n ) => void;\n };\n}\n\n/**\n * Interface representing the state for a range date picker.\n */\nexport interface RangeDatePickerState extends DatePickerBaseState {\n /**\n * The state properties of the range date picker.\n */\n state: DatePickerBaseState[\"state\"] & {\n /**\n * The selected date range.\n */\n selectedDate: DateRangeSelection | null;\n /**\n * The default selected date range.\n */\n defaultSelectedDate?: DateRangeSelection;\n };\n /**\n * Helper functions for managing the range date picker state.\n */\n helpers: DatePickerBaseState[\"helpers\"] & {\n /**\n * Applies the selected date range.\n * @param newDate - The new selected date range.\n * @param error - The error encountered during selection, if any.\n */\n apply: (\n newDate: DateRangeSelection | null,\n error: RangeDatePickerError,\n ) => void;\n /**\n * Sets the selected date range.\n * @param newDate - The new selected date range.\n * @param error - The error encountered during selection, if any.\n */\n setSelectedDate: (\n newDate: DateRangeSelection | null,\n error: { startDate: string | false; endDate: string | false },\n ) => void;\n };\n}\n\n/**\n * Type representing the state of a date picker, either single or range.\n */\nexport type DatePickerState = SingleDatePickerState | RangeDatePickerState;\n\n/**\n * Context for single date selection.\n */\nexport const SingleDateSelectionContext = createContext<\n SingleDatePickerState | undefined\n>(\"SingleDateSelectionContext\", undefined);\n\n/**\n * Context for date range selection.\n */\nexport const DateRangeSelectionContext = createContext<\n RangeDatePickerState | undefined\n>(\"DateRangeSelectionContext\", undefined);\n\n/**\n * Props for using the date picker context.\n */\nexport interface UseDatePickerContextProps {\n /**\n * The selection variant, either \"single\" or \"range\".\n */\n selectionVariant: \"single\" | \"range\";\n}\n\n// Overloads\n\n/**\n * Hook to use the date picker context for single date selection.\n * @param props - The props for the hook.\n * @returns The state of the single date picker.\n */\nexport function useDatePickerContext(props: {\n selectionVariant: \"single\";\n}): SingleDatePickerState;\n\n/**\n * Hook to use the date picker context for range date selection.\n * @param props - The props for the hook.\n * @returns The state of the range date picker.\n */\nexport function useDatePickerContext(props: {\n selectionVariant: \"range\";\n}): RangeDatePickerState;\nexport function useDatePickerContext({\n selectionVariant,\n}: UseDatePickerContextProps): DatePickerState {\n if (selectionVariant === \"range\") {\n const context = useContext(DateRangeSelectionContext);\n if (!context) {\n throw new Error(\n 'useDatePickerSelection should be called with props { selectionVariant : \"range\" } inside DateRangeSelectionContext.Provider',\n );\n }\n return context;\n }\n const context = useContext(SingleDateSelectionContext);\n if (!context) {\n throw new Error(\n 'useDatePickerSelection should be called with props { selectionVariant : \"single\" } inside SingleDateSelectionContext.Provider',\n );\n }\n return context;\n}\n"],"names":["context"],"mappings":";;;AAyKa,MAAA,0BAAA,GAA6B,aAExC,CAAA,4BAAA,EAA8B,KAAS,CAAA,EAAA;AAK5B,MAAA,yBAAA,GAA4B,aAEvC,CAAA,2BAAA,EAA6B,KAAS,CAAA,EAAA;AA+BjC,SAAS,oBAAqB,CAAA;AAAA,EACnC,gBAAA;AACF,CAA+C,EAAA;AAC7C,EAAA,IAAI,qBAAqB,OAAS,EAAA;AAChC,IAAMA,MAAAA,QAAAA,GAAU,WAAW,yBAAyB,CAAA,CAAA;AACpD,IAAA,IAAI,CAACA,QAAS,EAAA;AACZ,MAAA,MAAM,IAAI,KAAA;AAAA,QACR,6HAAA;AAAA,OACF,CAAA;AAAA,KACF;AACA,IAAOA,OAAAA,QAAAA,CAAAA;AAAA,GACT;AACA,EAAM,MAAA,OAAA,GAAU,WAAW,0BAA0B,CAAA,CAAA;AACrD,EAAA,IAAI,CAAC,OAAS,EAAA;AACZ,IAAA,MAAM,IAAI,KAAA;AAAA,MACR,+HAAA;AAAA,KACF,CAAA;AAAA,GACF;AACA,EAAO,OAAA,OAAA,CAAA;AACT;;;;"}
1
+ {"version":3,"file":"DatePickerContext.js","sources":["../src/date-picker/DatePickerContext.ts"],"sourcesContent":["import type { DateValue } from \"@internationalized/date\";\nimport { createContext } from \"@salt-ds/core\";\nimport { useContext } from \"react\";\nimport type { DateRangeSelection, SingleDateSelection } from \"../calendar\";\nimport type { DateInputRangeError, DateInputSingleError } from \"../date-input\";\n\n/**\n * Interface representing the base state for a DatePicker.\n */\ninterface DatePickerBaseState {\n /**\n * The state properties of the DatePicker.\n */\n state: {\n /**\n * If `true`, the DatePicker is disabled.\n */\n disabled?: boolean;\n /**\n * If `true`, the DatePicker is read-only.\n */\n readOnly?: boolean;\n /**\n * If `true`, the DatePicker has been cancelled.\n */\n cancelled?: boolean;\n /**\n * If `true`, the apply action is enabled.\n */\n enableApply?: boolean;\n /**\n * The minimum selectable date.\n */\n minDate?: DateValue;\n /**\n * The maximum selectable date.\n */\n maxDate?: DateValue;\n /**\n * Reference to the container element.\n */\n containerRef: React.Ref<HTMLDivElement>;\n /**\n * The locale used for date formatting.\n */\n locale?: string;\n /**\n * The time zone used for date formatting.\n */\n timeZone?: string;\n };\n /**\n * Helper functions for managing the DatePicker state.\n */\n helpers: {\n /**\n * Cancels the DatePicker action.\n */\n cancel: () => void;\n /**\n * Sets the enableApply state.\n * @param newEnableApply - The new value for enableApply.\n */\n setEnableApply: (newEnableApply: boolean) => void;\n };\n}\n\n/**\n * Type representing a single date picker error.\n */\nexport type SingleDatePickerError = DateInputSingleError;\n\n/**\n * Type representing a range date picker error.\n */\nexport type RangeDatePickerError = DateInputRangeError;\n\n/**\n * Interface representing the state for a single date picker.\n */\nexport interface SingleDatePickerState extends DatePickerBaseState {\n /**\n * The state properties of the single date picker.\n */\n state: DatePickerBaseState[\"state\"] & {\n /**\n * The selected date.\n */\n selectedDate: SingleDateSelection | null;\n /**\n * The default selected date.\n */\n defaultSelectedDate?: SingleDateSelection;\n };\n /**\n * Helper functions for managing the single date picker state.\n */\n helpers: DatePickerBaseState[\"helpers\"] & {\n /**\n * Applies the selected date.\n * @param newDate - The new selected date.\n * @param error - The error encountered during selection, if any.\n */\n apply: (\n newDate: SingleDateSelection | null,\n error: SingleDatePickerError,\n ) => void;\n /**\n * Sets the selected date.\n * @param newDate - The new selected date.\n * @param error - The error encountered during selection, if any.\n */\n setSelectedDate: (\n newDate: SingleDateSelection | null,\n error: string | false,\n ) => void;\n };\n}\n\n/**\n * Interface representing the state for a range date picker.\n */\nexport interface RangeDatePickerState extends DatePickerBaseState {\n /**\n * The state properties of the range date picker.\n */\n state: DatePickerBaseState[\"state\"] & {\n /**\n * The selected date range.\n */\n selectedDate: DateRangeSelection | null;\n /**\n * The default selected date range.\n */\n defaultSelectedDate?: DateRangeSelection;\n };\n /**\n * Helper functions for managing the range date picker state.\n */\n helpers: DatePickerBaseState[\"helpers\"] & {\n /**\n * Applies the selected date range.\n * @param newDate - The new selected date range.\n * @param error - The error encountered during selection, if any.\n */\n apply: (\n newDate: DateRangeSelection | null,\n error: RangeDatePickerError,\n ) => void;\n /**\n * Sets the selected date range.\n * @param newDate - The new selected date range.\n * @param error - The error encountered during selection, if any.\n */\n setSelectedDate: (\n newDate: DateRangeSelection | null,\n error: { startDate: string | false; endDate: string | false },\n ) => void;\n };\n}\n\n/**\n * Type representing the state of a date picker, either single or range.\n */\nexport type DatePickerState = SingleDatePickerState | RangeDatePickerState;\n\n/**\n * Context for single date selection.\n */\nexport const SingleDateSelectionContext = createContext<\n SingleDatePickerState | undefined\n>(\"SingleDateSelectionContext\", undefined);\n\n/**\n * Context for date range selection.\n */\nexport const DateRangeSelectionContext = createContext<\n RangeDatePickerState | undefined\n>(\"DateRangeSelectionContext\", undefined);\n\n/**\n * Props for using the date picker context.\n */\nexport interface UseDatePickerContextProps {\n /**\n * The selection variant, either \"single\" or \"range\".\n */\n selectionVariant: \"single\" | \"range\";\n}\n\n// Overloads\n\n/**\n * Hook to use the date picker context for single date selection.\n * @param props - The props for the hook.\n * @returns The state of the single date picker.\n */\nexport function useDatePickerContext(props: {\n selectionVariant: \"single\";\n}): SingleDatePickerState;\n\n/**\n * Hook to use the date picker context for range date selection.\n * @param props - The props for the hook.\n * @returns The state of the range date picker.\n */\nexport function useDatePickerContext(props: {\n selectionVariant: \"range\";\n}): RangeDatePickerState;\nexport function useDatePickerContext({\n selectionVariant,\n}: UseDatePickerContextProps): DatePickerState {\n if (selectionVariant === \"range\") {\n const context = useContext(DateRangeSelectionContext);\n if (!context) {\n throw new Error(\n 'useDatePickerSelection should be called with props { selectionVariant : \"range\" } inside DateRangeSelectionContext.Provider',\n );\n }\n return context;\n }\n const context = useContext(SingleDateSelectionContext);\n if (!context) {\n throw new Error(\n 'useDatePickerSelection should be called with props { selectionVariant : \"single\" } inside SingleDateSelectionContext.Provider',\n );\n }\n return context;\n}\n"],"names":["context"],"mappings":";;;AAyKa,MAAA,0BAAA,GAA6B,aAExC,CAAA,4BAAA,EAA8B,KAAS,CAAA;AAK5B,MAAA,yBAAA,GAA4B,aAEvC,CAAA,2BAAA,EAA6B,KAAS,CAAA;AA+BjC,SAAS,oBAAqB,CAAA;AAAA,EACnC;AACF,CAA+C,EAAA;AAC7C,EAAA,IAAI,qBAAqB,OAAS,EAAA;AAChC,IAAMA,MAAAA,QAAAA,GAAU,WAAW,yBAAyB,CAAA;AACpD,IAAA,IAAI,CAACA,QAAS,EAAA;AACZ,MAAA,MAAM,IAAI,KAAA;AAAA,QACR;AAAA,OACF;AAAA;AAEF,IAAOA,OAAAA,QAAAA;AAAA;AAET,EAAM,MAAA,OAAA,GAAU,WAAW,0BAA0B,CAAA;AACrD,EAAA,IAAI,CAAC,OAAS,EAAA;AACZ,IAAA,MAAM,IAAI,KAAA;AAAA,MACR;AAAA,KACF;AAAA;AAEF,EAAO,OAAA,OAAA;AACT;;;;"}
@@ -25,21 +25,24 @@ const DatePickerOverlay = forwardRef(function DatePickerOverlay2({ className, ch
25
25
  ref,
26
26
  floatingUIResult == null ? void 0 : floatingUIResult.floating
27
27
  );
28
- return /* @__PURE__ */ jsx(FloatingComponent, {
29
- className: clsx(withBaseName(), className),
30
- open: open || false,
31
- "aria-modal": "true",
32
- ref: floatingRef,
33
- focusManagerProps: (floatingUIResult == null ? void 0 : floatingUIResult.context) ? {
34
- context: floatingUIResult.context,
35
- initialFocus: 4
36
- } : void 0,
37
- ...getFloatingProps ? getFloatingProps({
38
- ...a11yProps,
39
- ...rest
40
- }) : rest,
41
- children
42
- });
28
+ return /* @__PURE__ */ jsx(
29
+ FloatingComponent,
30
+ {
31
+ className: clsx(withBaseName(), className),
32
+ open: open || false,
33
+ "aria-modal": "true",
34
+ ref: floatingRef,
35
+ focusManagerProps: (floatingUIResult == null ? void 0 : floatingUIResult.context) ? {
36
+ context: floatingUIResult.context,
37
+ initialFocus: 4
38
+ } : void 0,
39
+ ...getFloatingProps ? getFloatingProps({
40
+ ...a11yProps,
41
+ ...rest
42
+ }) : rest,
43
+ children
44
+ }
45
+ );
43
46
  });
44
47
 
45
48
  export { DatePickerOverlay };
@@ -1 +1 @@
1
- {"version":3,"file":"DatePickerOverlay.js","sources":["../src/date-picker/DatePickerOverlay.tsx"],"sourcesContent":["import {\n makePrefixer,\n useFloatingComponent,\n useForkRef,\n useFormFieldProps,\n} from \"@salt-ds/core\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { clsx } from \"clsx\";\nimport {\n type ComponentPropsWithoutRef,\n type ReactNode,\n forwardRef,\n} from \"react\";\nimport datePickerOverlayCss from \"./DatePickerOverlay.css\";\nimport { useDatePickerOverlay } from \"./DatePickerOverlayProvider\";\n\nconst withBaseName = makePrefixer(\"saltDatePickerOverlay\");\n\n/**\n * Props for the DatePickerOverlay component.\n */\nexport interface DatePickerOverlayProps\n extends ComponentPropsWithoutRef<\"div\"> {\n /**\n * The content to be rendered inside the overlay.\n */\n children: ReactNode;\n}\n\nexport const DatePickerOverlay = forwardRef<\n HTMLDivElement,\n DatePickerOverlayProps\n>(function DatePickerOverlay({ className, children, ...rest }, ref) {\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-date-picker-overlay\",\n css: datePickerOverlayCss,\n window: targetWindow,\n });\n\n const { Component: FloatingComponent } = useFloatingComponent();\n\n const { a11yProps } = useFormFieldProps();\n\n const {\n state: { open, floatingUIResult },\n helpers: { getFloatingProps },\n } = useDatePickerOverlay();\n\n const floatingRef = useForkRef<HTMLDivElement>(\n ref,\n floatingUIResult?.floating,\n );\n\n return (\n <FloatingComponent\n className={clsx(withBaseName(), className)}\n open={open || false}\n aria-modal=\"true\"\n ref={floatingRef}\n focusManagerProps={\n floatingUIResult?.context\n ? {\n context: floatingUIResult.context,\n initialFocus: 4,\n }\n : undefined\n }\n {...(getFloatingProps\n ? getFloatingProps({\n ...a11yProps,\n ...rest,\n })\n : rest)}\n >\n {children}\n </FloatingComponent>\n );\n});\n"],"names":["DatePickerOverlay","datePickerOverlayCss"],"mappings":";;;;;;;;;AAiBA,MAAM,YAAA,GAAe,aAAa,uBAAuB,CAAA,CAAA;AAa5C,MAAA,iBAAA,GAAoB,WAG/B,SAASA,kBAAAA,CAAkB,EAAE,SAAW,EAAA,QAAA,EAAA,GAAa,IAAK,EAAA,EAAG,GAAK,EAAA;AAClE,EAAA,MAAM,eAAe,SAAU,EAAA,CAAA;AAC/B,EAAyB,wBAAA,CAAA;AAAA,IACvB,MAAQ,EAAA,0BAAA;AAAA,IACR,GAAK,EAAAC,QAAA;AAAA,IACL,MAAQ,EAAA,YAAA;AAAA,GACT,CAAA,CAAA;AAED,EAAA,MAAM,EAAE,SAAA,EAAW,iBAAkB,EAAA,GAAI,oBAAqB,EAAA,CAAA;AAE9D,EAAM,MAAA,EAAE,SAAU,EAAA,GAAI,iBAAkB,EAAA,CAAA;AAExC,EAAM,MAAA;AAAA,IACJ,KAAA,EAAO,EAAE,IAAA,EAAM,gBAAiB,EAAA;AAAA,IAChC,OAAA,EAAS,EAAE,gBAAiB,EAAA;AAAA,MAC1B,oBAAqB,EAAA,CAAA;AAEzB,EAAA,MAAM,WAAc,GAAA,UAAA;AAAA,IAClB,GAAA;AAAA,IACA,gBAAkB,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,gBAAA,CAAA,QAAA;AAAA,GACpB,CAAA;AAEA,EAAA,uBACG,GAAA,CAAA,iBAAA,EAAA;AAAA,IACC,SAAW,EAAA,IAAA,CAAK,YAAa,EAAA,EAAG,SAAS,CAAA;AAAA,IACzC,MAAM,IAAQ,IAAA,KAAA;AAAA,IACd,YAAW,EAAA,MAAA;AAAA,IACX,GAAK,EAAA,WAAA;AAAA,IACL,iBAAA,EAAA,CACE,qDAAkB,OACd,IAAA;AAAA,MACE,SAAS,gBAAiB,CAAA,OAAA;AAAA,MAC1B,YAAc,EAAA,CAAA;AAAA,KAEhB,GAAA,KAAA,CAAA;AAAA,IAEL,GAAI,mBACD,gBAAiB,CAAA;AAAA,MACf,GAAG,SAAA;AAAA,MACH,GAAG,IAAA;AAAA,KACJ,CACD,GAAA,IAAA;AAAA,IAEH,QAAA;AAAA,GACH,CAAA,CAAA;AAEJ,CAAC;;;;"}
1
+ {"version":3,"file":"DatePickerOverlay.js","sources":["../src/date-picker/DatePickerOverlay.tsx"],"sourcesContent":["import {\n makePrefixer,\n useFloatingComponent,\n useForkRef,\n useFormFieldProps,\n} from \"@salt-ds/core\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { clsx } from \"clsx\";\nimport {\n type ComponentPropsWithoutRef,\n type ReactNode,\n forwardRef,\n} from \"react\";\nimport datePickerOverlayCss from \"./DatePickerOverlay.css\";\nimport { useDatePickerOverlay } from \"./DatePickerOverlayProvider\";\n\nconst withBaseName = makePrefixer(\"saltDatePickerOverlay\");\n\n/**\n * Props for the DatePickerOverlay component.\n */\nexport interface DatePickerOverlayProps\n extends ComponentPropsWithoutRef<\"div\"> {\n /**\n * The content to be rendered inside the overlay.\n */\n children: ReactNode;\n}\n\nexport const DatePickerOverlay = forwardRef<\n HTMLDivElement,\n DatePickerOverlayProps\n>(function DatePickerOverlay({ className, children, ...rest }, ref) {\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-date-picker-overlay\",\n css: datePickerOverlayCss,\n window: targetWindow,\n });\n\n const { Component: FloatingComponent } = useFloatingComponent();\n\n const { a11yProps } = useFormFieldProps();\n\n const {\n state: { open, floatingUIResult },\n helpers: { getFloatingProps },\n } = useDatePickerOverlay();\n\n const floatingRef = useForkRef<HTMLDivElement>(\n ref,\n floatingUIResult?.floating,\n );\n\n return (\n <FloatingComponent\n className={clsx(withBaseName(), className)}\n open={open || false}\n aria-modal=\"true\"\n ref={floatingRef}\n focusManagerProps={\n floatingUIResult?.context\n ? {\n context: floatingUIResult.context,\n initialFocus: 4,\n }\n : undefined\n }\n {...(getFloatingProps\n ? getFloatingProps({\n ...a11yProps,\n ...rest,\n })\n : rest)}\n >\n {children}\n </FloatingComponent>\n );\n});\n"],"names":["DatePickerOverlay","datePickerOverlayCss"],"mappings":";;;;;;;;;AAiBA,MAAM,YAAA,GAAe,aAAa,uBAAuB,CAAA;AAa5C,MAAA,iBAAA,GAAoB,UAG/B,CAAA,SAASA,kBAAkB,CAAA,EAAE,WAAW,QAAU,EAAA,GAAG,IAAK,EAAA,EAAG,GAAK,EAAA;AAClE,EAAA,MAAM,eAAe,SAAU,EAAA;AAC/B,EAAyB,wBAAA,CAAA;AAAA,IACvB,MAAQ,EAAA,0BAAA;AAAA,IACR,GAAK,EAAAC,QAAA;AAAA,IACL,MAAQ,EAAA;AAAA,GACT,CAAA;AAED,EAAA,MAAM,EAAE,SAAA,EAAW,iBAAkB,EAAA,GAAI,oBAAqB,EAAA;AAE9D,EAAM,MAAA,EAAE,SAAU,EAAA,GAAI,iBAAkB,EAAA;AAExC,EAAM,MAAA;AAAA,IACJ,KAAA,EAAO,EAAE,IAAA,EAAM,gBAAiB,EAAA;AAAA,IAChC,OAAA,EAAS,EAAE,gBAAiB;AAAA,MAC1B,oBAAqB,EAAA;AAEzB,EAAA,MAAM,WAAc,GAAA,UAAA;AAAA,IAClB,GAAA;AAAA,IACA,gBAAkB,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,gBAAA,CAAA;AAAA,GACpB;AAEA,EACE,uBAAA,GAAA;AAAA,IAAC,iBAAA;AAAA,IAAA;AAAA,MACC,SAAW,EAAA,IAAA,CAAK,YAAa,EAAA,EAAG,SAAS,CAAA;AAAA,MACzC,MAAM,IAAQ,IAAA,KAAA;AAAA,MACd,YAAW,EAAA,MAAA;AAAA,MACX,GAAK,EAAA,WAAA;AAAA,MACL,iBAAA,EAAA,CACE,qDAAkB,OACd,IAAA;AAAA,QACE,SAAS,gBAAiB,CAAA,OAAA;AAAA,QAC1B,YAAc,EAAA;AAAA,OAEhB,GAAA,KAAA,CAAA;AAAA,MAEL,GAAI,mBACD,gBAAiB,CAAA;AAAA,QACf,GAAG,SAAA;AAAA,QACH,GAAG;AAAA,OACJ,CACD,GAAA,IAAA;AAAA,MAEH;AAAA;AAAA,GACH;AAEJ,CAAC;;;;"}
@@ -55,8 +55,8 @@ const DatePickerOverlayProvider = ({ open: openProp, defaultOpen, children }) =>
55
55
  var _a, _b;
56
56
  const { x, y, strategy, elements } = floatingUIResult;
57
57
  return {
58
- top: y != null ? y : 0,
59
- left: x != null ? x : 0,
58
+ top: y ?? 0,
59
+ left: x ?? 0,
60
60
  position: strategy,
61
61
  width: (_a = elements.floating) == null ? void 0 : _a.offsetWidth,
62
62
  height: (_b = elements.floating) == null ? void 0 : _b.offsetHeight,
@@ -81,10 +81,7 @@ const DatePickerOverlayProvider = ({ open: openProp, defaultOpen, children }) =>
81
81
  [getFloatingProps, getReferenceProps, setOpen]
82
82
  );
83
83
  const contextValue = useMemo(() => ({ state, helpers }), [state, helpers]);
84
- return /* @__PURE__ */ jsx(DatePickerOverlayContext.Provider, {
85
- value: contextValue,
86
- children
87
- });
84
+ return /* @__PURE__ */ jsx(DatePickerOverlayContext.Provider, { value: contextValue, children });
88
85
  };
89
86
  const useDatePickerOverlay = () => {
90
87
  const context = useContext(DatePickerOverlayContext);
@@ -1 +1 @@
1
- {"version":3,"file":"DatePickerOverlayProvider.js","sources":["../src/date-picker/DatePickerOverlayProvider.tsx"],"sourcesContent":["import { flip, useDismiss, useInteractions } from \"@floating-ui/react\";\nimport { createContext, useControlled, useFloatingUI } from \"@salt-ds/core\";\nimport {\n type ReactNode,\n useCallback,\n useContext,\n useEffect,\n useMemo,\n useRef,\n} from \"react\";\n\n/**\n * Interface representing the state for a DatePicker overlay.\n */\ninterface DatePickerOverlayState {\n /**\n * If `true`, the overlay is open.\n */\n open: boolean;\n /**\n * The result of the floating UI calculations.\n */\n floatingUIResult: ReturnType<typeof useFloatingUI>;\n}\n\n/**\n * Interface representing the helper functions for a DatePicker overlay.\n */\ninterface DatePickerOverlayHelpers {\n /**\n * Function to get the props for the floating element.\n */\n getFloatingProps: ReturnType<typeof useInteractions>[\"getFloatingProps\"];\n /**\n * Function to get the props for the reference element.\n */\n getReferenceProps: ReturnType<typeof useInteractions>[\"getReferenceProps\"];\n /**\n * Sets the open state of the overlay.\n * @param newOpen - The new value for the open state.\n */\n setOpen: (newOpen: boolean) => void;\n}\n\n/**\n * Interface representing the context type for a DatePicker overlay.\n */\ninterface DatePickerOverlayContextType {\n /**\n * The state of the DatePicker overlay.\n */\n state: DatePickerOverlayState;\n /**\n * The helper functions for the DatePicker overlay.\n */\n helpers: DatePickerOverlayHelpers;\n}\n\n/**\n * Context for the DatePicker overlay.\n */\nconst DatePickerOverlayContext = createContext<\n DatePickerOverlayContextType | undefined\n>(\"DatePickerOverlayContext\", undefined);\n\n/**\n * Props for the DatePickerOverlayProvider component.\n */\ninterface DatePickerOverlayProviderProps {\n /**\n * If `true`, the overlay is open.\n */\n open?: boolean;\n /**\n * The default open state of the overlay.\n */\n defaultOpen?: boolean;\n /**\n * The content to be rendered inside the overlay provider.\n */\n children: ReactNode;\n}\n\nexport const DatePickerOverlayProvider: React.FC<\n DatePickerOverlayProviderProps\n> = ({ open: openProp, defaultOpen, children }) => {\n const [open, setOpenState] = useControlled({\n controlled: openProp,\n default: Boolean(defaultOpen),\n name: \"DatePicker\",\n state: \"openDatePickerOverlay\",\n });\n const triggeringElement = useRef<HTMLElement | null>(null);\n\n useEffect(() => {\n if (!open) {\n const trigger = triggeringElement.current as HTMLElement;\n if (trigger) {\n trigger.focus();\n }\n if (trigger instanceof HTMLInputElement) {\n setTimeout(() => {\n trigger.setSelectionRange(0, trigger.value.length);\n }, 0);\n }\n triggeringElement.current = null;\n }\n }, [open]);\n\n const setOpen = useCallback((newOpen: boolean) => {\n if (newOpen) {\n triggeringElement.current = document.activeElement as HTMLElement;\n }\n setOpenState(newOpen);\n }, []);\n\n const floatingUIResult = useFloatingUI({\n open,\n onOpenChange: setOpen,\n placement: \"bottom-start\",\n middleware: [flip({ fallbackStrategy: \"initialPlacement\" })],\n });\n\n const {\n getFloatingProps: _getFloatingPropsCallback,\n getReferenceProps: _getReferenceProps,\n } = useInteractions([useDismiss(floatingUIResult.context)]);\n const getFloatingPropsCallback = useMemo(\n () => _getFloatingPropsCallback,\n [_getFloatingPropsCallback],\n );\n const getReferenceProps = useMemo(\n () => _getReferenceProps,\n [_getReferenceProps],\n );\n\n const getFloatingProps = useCallback(\n (userProps: React.HTMLProps<HTMLElement> | undefined) => {\n const { x, y, strategy, elements } = floatingUIResult;\n return {\n top: y ?? 0,\n left: x ?? 0,\n position: strategy,\n width: elements.floating?.offsetWidth,\n height: elements.floating?.offsetHeight,\n ...getFloatingPropsCallback(userProps),\n };\n },\n [getFloatingPropsCallback, floatingUIResult],\n );\n\n const state: DatePickerOverlayState = useMemo(\n () => ({\n open,\n floatingUIResult,\n }),\n [open, floatingUIResult],\n );\n\n const helpers: DatePickerOverlayHelpers = useMemo(\n () => ({\n getFloatingProps,\n getReferenceProps,\n setOpen,\n }),\n [getFloatingProps, getReferenceProps, setOpen],\n );\n const contextValue = useMemo(() => ({ state, helpers }), [state, helpers]);\n\n return (\n <DatePickerOverlayContext.Provider value={contextValue}>\n {children}\n </DatePickerOverlayContext.Provider>\n );\n};\n\nexport const useDatePickerOverlay = (): DatePickerOverlayContextType => {\n const context = useContext(DatePickerOverlayContext);\n if (!context) {\n throw new Error(\n \"useDatePickerOverlay must be used within a DatePickerOverlayProvider\",\n );\n }\n return context;\n};\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DatePickerOverlayProvider.js","sources":["../src/date-picker/DatePickerOverlayProvider.tsx"],"sourcesContent":["import { flip, useDismiss, useInteractions } from \"@floating-ui/react\";\nimport { createContext, useControlled, useFloatingUI } from \"@salt-ds/core\";\nimport {\n type ReactNode,\n useCallback,\n useContext,\n useEffect,\n useMemo,\n useRef,\n} from \"react\";\n\n/**\n * Interface representing the state for a DatePicker overlay.\n */\ninterface DatePickerOverlayState {\n /**\n * If `true`, the overlay is open.\n */\n open: boolean;\n /**\n * The result of the floating UI calculations.\n */\n floatingUIResult: ReturnType<typeof useFloatingUI>;\n}\n\n/**\n * Interface representing the helper functions for a DatePicker overlay.\n */\ninterface DatePickerOverlayHelpers {\n /**\n * Function to get the props for the floating element.\n */\n getFloatingProps: ReturnType<typeof useInteractions>[\"getFloatingProps\"];\n /**\n * Function to get the props for the reference element.\n */\n getReferenceProps: ReturnType<typeof useInteractions>[\"getReferenceProps\"];\n /**\n * Sets the open state of the overlay.\n * @param newOpen - The new value for the open state.\n */\n setOpen: (newOpen: boolean) => void;\n}\n\n/**\n * Interface representing the context type for a DatePicker overlay.\n */\ninterface DatePickerOverlayContextType {\n /**\n * The state of the DatePicker overlay.\n */\n state: DatePickerOverlayState;\n /**\n * The helper functions for the DatePicker overlay.\n */\n helpers: DatePickerOverlayHelpers;\n}\n\n/**\n * Context for the DatePicker overlay.\n */\nconst DatePickerOverlayContext = createContext<\n DatePickerOverlayContextType | undefined\n>(\"DatePickerOverlayContext\", undefined);\n\n/**\n * Props for the DatePickerOverlayProvider component.\n */\ninterface DatePickerOverlayProviderProps {\n /**\n * If `true`, the overlay is open.\n */\n open?: boolean;\n /**\n * The default open state of the overlay.\n */\n defaultOpen?: boolean;\n /**\n * The content to be rendered inside the overlay provider.\n */\n children: ReactNode;\n}\n\nexport const DatePickerOverlayProvider: React.FC<\n DatePickerOverlayProviderProps\n> = ({ open: openProp, defaultOpen, children }) => {\n const [open, setOpenState] = useControlled({\n controlled: openProp,\n default: Boolean(defaultOpen),\n name: \"DatePicker\",\n state: \"openDatePickerOverlay\",\n });\n const triggeringElement = useRef<HTMLElement | null>(null);\n\n useEffect(() => {\n if (!open) {\n const trigger = triggeringElement.current as HTMLElement;\n if (trigger) {\n trigger.focus();\n }\n if (trigger instanceof HTMLInputElement) {\n setTimeout(() => {\n trigger.setSelectionRange(0, trigger.value.length);\n }, 0);\n }\n triggeringElement.current = null;\n }\n }, [open]);\n\n const setOpen = useCallback((newOpen: boolean) => {\n if (newOpen) {\n triggeringElement.current = document.activeElement as HTMLElement;\n }\n setOpenState(newOpen);\n }, []);\n\n const floatingUIResult = useFloatingUI({\n open,\n onOpenChange: setOpen,\n placement: \"bottom-start\",\n middleware: [flip({ fallbackStrategy: \"initialPlacement\" })],\n });\n\n const {\n getFloatingProps: _getFloatingPropsCallback,\n getReferenceProps: _getReferenceProps,\n } = useInteractions([useDismiss(floatingUIResult.context)]);\n const getFloatingPropsCallback = useMemo(\n () => _getFloatingPropsCallback,\n [_getFloatingPropsCallback],\n );\n const getReferenceProps = useMemo(\n () => _getReferenceProps,\n [_getReferenceProps],\n );\n\n const getFloatingProps = useCallback(\n (userProps: React.HTMLProps<HTMLElement> | undefined) => {\n const { x, y, strategy, elements } = floatingUIResult;\n return {\n top: y ?? 0,\n left: x ?? 0,\n position: strategy,\n width: elements.floating?.offsetWidth,\n height: elements.floating?.offsetHeight,\n ...getFloatingPropsCallback(userProps),\n };\n },\n [getFloatingPropsCallback, floatingUIResult],\n );\n\n const state: DatePickerOverlayState = useMemo(\n () => ({\n open,\n floatingUIResult,\n }),\n [open, floatingUIResult],\n );\n\n const helpers: DatePickerOverlayHelpers = useMemo(\n () => ({\n getFloatingProps,\n getReferenceProps,\n setOpen,\n }),\n [getFloatingProps, getReferenceProps, setOpen],\n );\n const contextValue = useMemo(() => ({ state, helpers }), [state, helpers]);\n\n return (\n <DatePickerOverlayContext.Provider value={contextValue}>\n {children}\n </DatePickerOverlayContext.Provider>\n );\n};\n\nexport const useDatePickerOverlay = (): DatePickerOverlayContextType => {\n const context = useContext(DatePickerOverlayContext);\n if (!context) {\n throw new Error(\n \"useDatePickerOverlay must be used within a DatePickerOverlayProvider\",\n );\n }\n return context;\n};\n"],"names":[],"mappings":"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"}
@@ -86,29 +86,35 @@ const DatePickerRangeInput = forwardRef(function DatePickerRangeInput2(props, re
86
86
  },
87
87
  ...endInputPropsProp
88
88
  };
89
- return /* @__PURE__ */ jsx(DateInputRange, {
90
- value: value || { startDate: "", endDate: "" },
91
- locale,
92
- timeZone,
93
- className: clsx(withBaseName(), className),
94
- ref: inputRef,
95
- date: selectedDate,
96
- startInputProps: getReferenceProps(startInputProps),
97
- endInputProps: getReferenceProps(endInputProps),
98
- readOnly,
99
- onDateChange: handleDateChange,
100
- onDateValueChange: handleDateValueChange,
101
- onChange,
102
- endAdornment: /* @__PURE__ */ jsx(Button, {
103
- appearance: "transparent",
104
- sentiment: "neutral",
105
- onClick: handleCalendarButton,
106
- disabled,
107
- "aria-label": "Open Calendar",
108
- children: /* @__PURE__ */ jsx(CalendarIcon, {})
109
- }),
110
- ...rest
111
- });
89
+ return /* @__PURE__ */ jsx(
90
+ DateInputRange,
91
+ {
92
+ value: value || { startDate: "", endDate: "" },
93
+ locale,
94
+ timeZone,
95
+ className: clsx(withBaseName(), className),
96
+ ref: inputRef,
97
+ date: selectedDate,
98
+ startInputProps: getReferenceProps(startInputProps),
99
+ endInputProps: getReferenceProps(endInputProps),
100
+ readOnly,
101
+ onDateChange: handleDateChange,
102
+ onDateValueChange: handleDateValueChange,
103
+ onChange,
104
+ endAdornment: /* @__PURE__ */ jsx(
105
+ Button,
106
+ {
107
+ appearance: "transparent",
108
+ sentiment: "neutral",
109
+ onClick: handleCalendarButton,
110
+ disabled,
111
+ "aria-label": "Open Calendar",
112
+ children: /* @__PURE__ */ jsx(CalendarIcon, {})
113
+ }
114
+ ),
115
+ ...rest
116
+ }
117
+ );
112
118
  });
113
119
 
114
120
  export { DatePickerRangeInput };
@@ -1 +1 @@
1
- {"version":3,"file":"DatePickerRangeInput.js","sources":["../src/date-picker/DatePickerRangeInput.tsx"],"sourcesContent":["import {\n Button,\n makePrefixer,\n useControlled,\n useForkRef,\n useIcon,\n} from \"@salt-ds/core\";\nimport { clsx } from \"clsx\";\nimport {\n type KeyboardEvent,\n type KeyboardEventHandler,\n type SyntheticEvent,\n forwardRef,\n useCallback,\n useEffect,\n useRef,\n} from \"react\";\nimport type { DateRangeSelection } from \"../calendar\";\nimport {\n DateInputRange,\n type DateInputRangeError,\n type DateInputRangeProps,\n type DateInputRangeValue,\n} from \"../date-input\";\nimport { useDatePickerContext } from \"./DatePickerContext\";\nimport { useDatePickerOverlay } from \"./DatePickerOverlayProvider\";\n\nconst withBaseName = makePrefixer(\"saltDatePickerRangeInput\");\n\n/**\n * Props for the DatePickerRangeInput component.\n */\nexport interface DatePickerRangeInputProps extends DateInputRangeProps {}\n\nexport const DatePickerRangeInput = forwardRef<\n HTMLDivElement,\n DatePickerRangeInputProps\n>(function DatePickerRangeInput(props, ref) {\n const {\n className,\n endInputProps: endInputPropsProp,\n startInputProps: startInputPropsProp,\n onKeyDown,\n defaultValue,\n value: valueProp,\n onChange,\n onDateValueChange,\n ...rest\n } = props;\n\n const { CalendarIcon } = useIcon();\n\n const {\n state: { selectedDate, disabled, readOnly, cancelled, locale, timeZone },\n helpers: { setSelectedDate },\n } = useDatePickerContext({ selectionVariant: \"range\" });\n const {\n state: { open, floatingUIResult },\n helpers: { getReferenceProps, setOpen },\n } = useDatePickerOverlay();\n\n const inputRef = useForkRef<HTMLDivElement>(ref, floatingUIResult?.reference);\n const prevState = useRef<\n { date: typeof selectedDate; value: typeof valueProp } | undefined\n >();\n\n const [value, setValue] = useControlled({\n controlled: valueProp,\n default: defaultValue,\n name: \"DatePickerRangeInput\",\n state: \"dateValue\",\n });\n\n const handleCalendarButton = useCallback(() => {\n setOpen(!open);\n }, [open, setOpen]);\n\n const handleDateChange = useCallback(\n (\n _event: SyntheticEvent,\n newDate: DateRangeSelection | null,\n error: DateInputRangeError,\n ) => {\n setSelectedDate(newDate, error);\n },\n [setSelectedDate],\n );\n\n const handleDateValueChange = (\n newDateValue: DateInputRangeValue,\n isFormatted: boolean,\n ) => {\n setValue(newDateValue);\n onDateValueChange?.(newDateValue, isFormatted);\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 prevState.current = { date: selectedDate, value };\n }\n }, [open]);\n\n // biome-ignore lint/correctness/useExhaustiveDependencies: avoid excessive re-rendering\n useEffect(() => {\n if (cancelled) {\n setValue(prevState?.current?.value);\n setSelectedDate(prevState?.current?.date || null, {\n startDate: false,\n endDate: false,\n });\n }\n }, [cancelled]);\n\n const startInputProps: {\n onKeyDown: KeyboardEventHandler<HTMLInputElement>;\n } = {\n onKeyDown: (event: KeyboardEvent<HTMLInputElement>) => {\n if (event.key === \"ArrowDown\") {\n setOpen(true);\n }\n startInputPropsProp?.onKeyDown?.(event);\n },\n ...startInputPropsProp,\n };\n const endInputProps: {\n onKeyDown: KeyboardEventHandler<HTMLInputElement>;\n } = {\n onKeyDown: (event: KeyboardEvent<HTMLInputElement>) => {\n if (event.key === \"ArrowDown\") {\n setOpen(true);\n }\n endInputPropsProp?.onKeyDown?.(event);\n },\n ...endInputPropsProp,\n };\n\n return (\n <DateInputRange\n value={value || { startDate: \"\", endDate: \"\" }}\n locale={locale}\n timeZone={timeZone}\n className={clsx(withBaseName(), className)}\n ref={inputRef}\n date={selectedDate}\n startInputProps={getReferenceProps(startInputProps)}\n endInputProps={getReferenceProps(endInputProps)}\n readOnly={readOnly}\n onDateChange={handleDateChange}\n onDateValueChange={handleDateValueChange}\n onChange={onChange}\n endAdornment={\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 {...rest}\n />\n );\n});\n"],"names":["DatePickerRangeInput"],"mappings":"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"}
1
+ {"version":3,"file":"DatePickerRangeInput.js","sources":["../src/date-picker/DatePickerRangeInput.tsx"],"sourcesContent":["import {\n Button,\n makePrefixer,\n useControlled,\n useForkRef,\n useIcon,\n} from \"@salt-ds/core\";\nimport { clsx } from \"clsx\";\nimport {\n type KeyboardEvent,\n type KeyboardEventHandler,\n type SyntheticEvent,\n forwardRef,\n useCallback,\n useEffect,\n useRef,\n} from \"react\";\nimport type { DateRangeSelection } from \"../calendar\";\nimport {\n DateInputRange,\n type DateInputRangeError,\n type DateInputRangeProps,\n type DateInputRangeValue,\n} from \"../date-input\";\nimport { useDatePickerContext } from \"./DatePickerContext\";\nimport { useDatePickerOverlay } from \"./DatePickerOverlayProvider\";\n\nconst withBaseName = makePrefixer(\"saltDatePickerRangeInput\");\n\n/**\n * Props for the DatePickerRangeInput component.\n */\nexport interface DatePickerRangeInputProps extends DateInputRangeProps {}\n\nexport const DatePickerRangeInput = forwardRef<\n HTMLDivElement,\n DatePickerRangeInputProps\n>(function DatePickerRangeInput(props, ref) {\n const {\n className,\n endInputProps: endInputPropsProp,\n startInputProps: startInputPropsProp,\n onKeyDown,\n defaultValue,\n value: valueProp,\n onChange,\n onDateValueChange,\n ...rest\n } = props;\n\n const { CalendarIcon } = useIcon();\n\n const {\n state: { selectedDate, disabled, readOnly, cancelled, locale, timeZone },\n helpers: { setSelectedDate },\n } = useDatePickerContext({ selectionVariant: \"range\" });\n const {\n state: { open, floatingUIResult },\n helpers: { getReferenceProps, setOpen },\n } = useDatePickerOverlay();\n\n const inputRef = useForkRef<HTMLDivElement>(ref, floatingUIResult?.reference);\n const prevState = useRef<\n { date: typeof selectedDate; value: typeof valueProp } | undefined\n >();\n\n const [value, setValue] = useControlled({\n controlled: valueProp,\n default: defaultValue,\n name: \"DatePickerRangeInput\",\n state: \"dateValue\",\n });\n\n const handleCalendarButton = useCallback(() => {\n setOpen(!open);\n }, [open, setOpen]);\n\n const handleDateChange = useCallback(\n (\n _event: SyntheticEvent,\n newDate: DateRangeSelection | null,\n error: DateInputRangeError,\n ) => {\n setSelectedDate(newDate, error);\n },\n [setSelectedDate],\n );\n\n const handleDateValueChange = (\n newDateValue: DateInputRangeValue,\n isFormatted: boolean,\n ) => {\n setValue(newDateValue);\n onDateValueChange?.(newDateValue, isFormatted);\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 prevState.current = { date: selectedDate, value };\n }\n }, [open]);\n\n // biome-ignore lint/correctness/useExhaustiveDependencies: avoid excessive re-rendering\n useEffect(() => {\n if (cancelled) {\n setValue(prevState?.current?.value);\n setSelectedDate(prevState?.current?.date || null, {\n startDate: false,\n endDate: false,\n });\n }\n }, [cancelled]);\n\n const startInputProps: {\n onKeyDown: KeyboardEventHandler<HTMLInputElement>;\n } = {\n onKeyDown: (event: KeyboardEvent<HTMLInputElement>) => {\n if (event.key === \"ArrowDown\") {\n setOpen(true);\n }\n startInputPropsProp?.onKeyDown?.(event);\n },\n ...startInputPropsProp,\n };\n const endInputProps: {\n onKeyDown: KeyboardEventHandler<HTMLInputElement>;\n } = {\n onKeyDown: (event: KeyboardEvent<HTMLInputElement>) => {\n if (event.key === \"ArrowDown\") {\n setOpen(true);\n }\n endInputPropsProp?.onKeyDown?.(event);\n },\n ...endInputPropsProp,\n };\n\n return (\n <DateInputRange\n value={value || { startDate: \"\", endDate: \"\" }}\n locale={locale}\n timeZone={timeZone}\n className={clsx(withBaseName(), className)}\n ref={inputRef}\n date={selectedDate}\n startInputProps={getReferenceProps(startInputProps)}\n endInputProps={getReferenceProps(endInputProps)}\n readOnly={readOnly}\n onDateChange={handleDateChange}\n onDateValueChange={handleDateValueChange}\n onChange={onChange}\n endAdornment={\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 {...rest}\n />\n );\n});\n"],"names":["DatePickerRangeInput"],"mappings":"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"}
@@ -163,59 +163,31 @@ const DatePickerRangePanel = forwardRef(function DatePickerRangePanel2(props, re
163
163
  timeZone,
164
164
  ...EndCalendarPropsProp
165
165
  };
166
- return /* @__PURE__ */ jsxs(StackLayout, {
167
- separators: true,
168
- gap: 0,
169
- className: clsx(className, withBaseName("container")),
170
- ref,
171
- ...rest,
172
- children: [
173
- helperText && /* @__PURE__ */ jsx(FlexItem, {
174
- className: withBaseName("header"),
175
- children: /* @__PURE__ */ jsx(FormFieldHelperText, {
176
- children: helperText
177
- })
178
- }),
179
- /* @__PURE__ */ jsx(FlexLayout, {
180
- gap: 0,
181
- children: /* @__PURE__ */ jsxs(FormFieldContext.Provider, {
182
- value: {},
183
- children: [
184
- /* @__PURE__ */ jsxs(Calendar, {
185
- selectionVariant: "range",
186
- ...StartCalendarProps,
187
- children: [
188
- /* @__PURE__ */ jsx(CalendarNavigation, {
189
- ...StartCalendarNavigationProps
190
- }),
191
- /* @__PURE__ */ jsx(CalendarWeekHeader, {
192
- ...StartCalendarWeekHeaderProps
193
- }),
194
- /* @__PURE__ */ jsx(CalendarDateGrid, {
195
- ...StartCalendarDataGridProps
196
- })
197
- ]
198
- }),
199
- /* @__PURE__ */ jsxs(Calendar, {
200
- selectionVariant: "range",
201
- ...EndCalendarProps,
202
- children: [
203
- /* @__PURE__ */ jsx(CalendarNavigation, {
204
- ...EndCalendarNavigationProps
205
- }),
206
- /* @__PURE__ */ jsx(CalendarWeekHeader, {
207
- ...EndCalendarWeekHeaderProps
208
- }),
209
- /* @__PURE__ */ jsx(CalendarDateGrid, {
210
- ...EndCalendarDataGridProps
211
- })
212
- ]
213
- })
214
- ]
215
- })
216
- })
217
- ]
218
- });
166
+ return /* @__PURE__ */ jsxs(
167
+ StackLayout,
168
+ {
169
+ separators: true,
170
+ gap: 0,
171
+ className: clsx(className, withBaseName("container")),
172
+ ref,
173
+ ...rest,
174
+ children: [
175
+ helperText && /* @__PURE__ */ jsx(FlexItem, { className: withBaseName("header"), children: /* @__PURE__ */ jsx(FormFieldHelperText, { children: helperText }) }),
176
+ /* @__PURE__ */ jsx(FlexLayout, { gap: 0, children: /* @__PURE__ */ jsxs(FormFieldContext.Provider, { value: {}, children: [
177
+ /* @__PURE__ */ jsxs(Calendar, { selectionVariant: "range", ...StartCalendarProps, children: [
178
+ /* @__PURE__ */ jsx(CalendarNavigation, { ...StartCalendarNavigationProps }),
179
+ /* @__PURE__ */ jsx(CalendarWeekHeader, { ...StartCalendarWeekHeaderProps }),
180
+ /* @__PURE__ */ jsx(CalendarDateGrid, { ...StartCalendarDataGridProps })
181
+ ] }),
182
+ /* @__PURE__ */ jsxs(Calendar, { selectionVariant: "range", ...EndCalendarProps, children: [
183
+ /* @__PURE__ */ jsx(CalendarNavigation, { ...EndCalendarNavigationProps }),
184
+ /* @__PURE__ */ jsx(CalendarWeekHeader, { ...EndCalendarWeekHeaderProps }),
185
+ /* @__PURE__ */ jsx(CalendarDateGrid, { ...EndCalendarDataGridProps })
186
+ ] })
187
+ ] }) })
188
+ ]
189
+ }
190
+ );
219
191
  });
220
192
 
221
193
  export { DatePickerRangePanel };