@salt-ds/lab 1.0.0-alpha.54 → 1.0.0-alpha.56

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 (1289) hide show
  1. package/CHANGELOG.md +2056 -0
  2. package/css/salt-lab.css +254 -57
  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 +32 -28
  30. package/dist-cjs/calendar/Calendar.js.map +1 -1
  31. package/dist-cjs/calendar/CalendarGrid.css.js +6 -0
  32. package/dist-cjs/calendar/CalendarGrid.css.js.map +1 -0
  33. package/dist-cjs/calendar/CalendarGrid.js +107 -0
  34. package/dist-cjs/calendar/CalendarGrid.js.map +1 -0
  35. package/dist-cjs/calendar/CalendarNavigation.js +239 -214
  36. package/dist-cjs/calendar/CalendarNavigation.js.map +1 -1
  37. package/dist-cjs/calendar/CalendarWeekHeader.js +28 -17
  38. package/dist-cjs/calendar/CalendarWeekHeader.js.map +1 -1
  39. package/dist-cjs/calendar/internal/CalendarContext.js +6 -4
  40. package/dist-cjs/calendar/internal/CalendarContext.js.map +1 -1
  41. package/dist-cjs/calendar/internal/CalendarDay.js +49 -45
  42. package/dist-cjs/calendar/internal/CalendarDay.js.map +1 -1
  43. package/dist-cjs/calendar/internal/CalendarMonth.css.js +1 -1
  44. package/dist-cjs/calendar/internal/CalendarMonth.js +40 -39
  45. package/dist-cjs/calendar/internal/CalendarMonth.js.map +1 -1
  46. package/dist-cjs/calendar/internal/useFocusManagement.js +18 -20
  47. package/dist-cjs/calendar/internal/useFocusManagement.js.map +1 -1
  48. package/dist-cjs/calendar/internal/utils.js +33 -50
  49. package/dist-cjs/calendar/internal/utils.js.map +1 -1
  50. package/dist-cjs/calendar/useCalendar.js +48 -41
  51. package/dist-cjs/calendar/useCalendar.js.map +1 -1
  52. package/dist-cjs/calendar/useCalendarDay.js +15 -23
  53. package/dist-cjs/calendar/useCalendarDay.js.map +1 -1
  54. package/dist-cjs/calendar/useCalendarSelection.js +46 -37
  55. package/dist-cjs/calendar/useCalendarSelection.js.map +1 -1
  56. package/dist-cjs/carousel/Carousel.js +59 -56
  57. package/dist-cjs/carousel/Carousel.js.map +1 -1
  58. package/dist-cjs/carousel/CarouselSlide.js +35 -38
  59. package/dist-cjs/carousel/CarouselSlide.js.map +1 -1
  60. package/dist-cjs/cascading-menu/CascadingMenu.js +15 -15
  61. package/dist-cjs/cascading-menu/CascadingMenu.js.map +1 -1
  62. package/dist-cjs/cascading-menu/CascadingMenuItem.js +72 -61
  63. package/dist-cjs/cascading-menu/CascadingMenuItem.js.map +1 -1
  64. package/dist-cjs/cascading-menu/CascadingMenuList.js +50 -43
  65. package/dist-cjs/cascading-menu/CascadingMenuList.js.map +1 -1
  66. package/dist-cjs/cascading-menu/internal/CascadingMenuAction.js +0 -2
  67. package/dist-cjs/cascading-menu/internal/CascadingMenuAction.js.map +1 -1
  68. package/dist-cjs/cascading-menu/internal/keydownHandlers.js +0 -2
  69. package/dist-cjs/cascading-menu/internal/keydownHandlers.js.map +1 -1
  70. package/dist-cjs/cascading-menu/internal/menuPositioning.js +0 -2
  71. package/dist-cjs/cascading-menu/internal/menuPositioning.js.map +1 -1
  72. package/dist-cjs/cascading-menu/internal/stateUtils.js +1 -2
  73. package/dist-cjs/cascading-menu/internal/stateUtils.js.map +1 -1
  74. package/dist-cjs/cascading-menu/internal/useClickAway.js +4 -3
  75. package/dist-cjs/cascading-menu/internal/useClickAway.js.map +1 -1
  76. package/dist-cjs/cascading-menu/internal/useMenuTriggerHandlers.js +0 -2
  77. package/dist-cjs/cascading-menu/internal/useMenuTriggerHandlers.js.map +1 -1
  78. package/dist-cjs/cascading-menu/internal/useMountedRef.js +0 -2
  79. package/dist-cjs/cascading-menu/internal/useMountedRef.js.map +1 -1
  80. package/dist-cjs/cascading-menu/internal/useMouseHandlers.js +2 -5
  81. package/dist-cjs/cascading-menu/internal/useMouseHandlers.js.map +1 -1
  82. package/dist-cjs/cascading-menu/internal/useRefsManager.js +0 -2
  83. package/dist-cjs/cascading-menu/internal/useRefsManager.js.map +1 -1
  84. package/dist-cjs/cascading-menu/internal/useStateReducer.js +0 -2
  85. package/dist-cjs/cascading-menu/internal/useStateReducer.js.map +1 -1
  86. package/dist-cjs/cascading-menu/stateChangeTypes.js +0 -2
  87. package/dist-cjs/cascading-menu/stateChangeTypes.js.map +1 -1
  88. package/dist-cjs/color-chooser/AlphaInputField.js +17 -15
  89. package/dist-cjs/color-chooser/AlphaInputField.js.map +1 -1
  90. package/dist-cjs/color-chooser/Color.js +4 -9
  91. package/dist-cjs/color-chooser/Color.js.map +1 -1
  92. package/dist-cjs/color-chooser/ColorChooser.js +58 -60
  93. package/dist-cjs/color-chooser/ColorChooser.js.map +1 -1
  94. package/dist-cjs/color-chooser/ColorHelpers.js +5 -11
  95. package/dist-cjs/color-chooser/ColorHelpers.js.map +1 -1
  96. package/dist-cjs/color-chooser/ColorPicker.js +33 -49
  97. package/dist-cjs/color-chooser/ColorPicker.js.map +1 -1
  98. package/dist-cjs/color-chooser/DictTabs.js +24 -23
  99. package/dist-cjs/color-chooser/DictTabs.js.map +1 -1
  100. package/dist-cjs/color-chooser/GetColorPalettes.js +1 -3
  101. package/dist-cjs/color-chooser/GetColorPalettes.js.map +1 -1
  102. package/dist-cjs/color-chooser/HexInput.js +9 -15
  103. package/dist-cjs/color-chooser/HexInput.js.map +1 -1
  104. package/dist-cjs/color-chooser/RGBAInput.js +24 -39
  105. package/dist-cjs/color-chooser/RGBAInput.js.map +1 -1
  106. package/dist-cjs/color-chooser/RGBAInputField.js +14 -12
  107. package/dist-cjs/color-chooser/RGBAInputField.js.map +1 -1
  108. package/dist-cjs/color-chooser/Swatch.js +19 -18
  109. package/dist-cjs/color-chooser/Swatch.js.map +1 -1
  110. package/dist-cjs/color-chooser/Swatches.js +27 -43
  111. package/dist-cjs/color-chooser/Swatches.js.map +1 -1
  112. package/dist-cjs/color-chooser/SwatchesPicker.js +26 -20
  113. package/dist-cjs/color-chooser/SwatchesPicker.js.map +1 -1
  114. package/dist-cjs/color-chooser/color-utils.js +0 -2
  115. package/dist-cjs/color-chooser/color-utils.js.map +1 -1
  116. package/dist-cjs/color-chooser/colorMap.js +1 -2
  117. package/dist-cjs/color-chooser/colorMap.js.map +1 -1
  118. package/dist-cjs/color-chooser/createTabsMapping.js +0 -2
  119. package/dist-cjs/color-chooser/createTabsMapping.js.map +1 -1
  120. package/dist-cjs/combo-box/ComboBox.js +29 -25
  121. package/dist-cjs/combo-box/ComboBox.js.map +1 -1
  122. package/dist-cjs/combo-box/useCombobox.js +16 -15
  123. package/dist-cjs/combo-box/useCombobox.js.map +1 -1
  124. package/dist-cjs/combo-box-deprecated/ComboBoxDeprecated.js +37 -33
  125. package/dist-cjs/combo-box-deprecated/ComboBoxDeprecated.js.map +1 -1
  126. package/dist-cjs/combo-box-deprecated/filterHelpers.js +0 -2
  127. package/dist-cjs/combo-box-deprecated/filterHelpers.js.map +1 -1
  128. package/dist-cjs/combo-box-deprecated/internal/DefaultComboBox.js +37 -37
  129. package/dist-cjs/combo-box-deprecated/internal/DefaultComboBox.js.map +1 -1
  130. package/dist-cjs/combo-box-deprecated/internal/MultiSelectComboBox.js +37 -37
  131. package/dist-cjs/combo-box-deprecated/internal/MultiSelectComboBox.js.map +1 -1
  132. package/dist-cjs/combo-box-deprecated/internal/getAnnouncement.js +1 -3
  133. package/dist-cjs/combo-box-deprecated/internal/getAnnouncement.js.map +1 -1
  134. package/dist-cjs/combo-box-deprecated/internal/useComboBox.js +0 -2
  135. package/dist-cjs/combo-box-deprecated/internal/useComboBox.js.map +1 -1
  136. package/dist-cjs/combo-box-deprecated/internal/useMultiSelectComboBox.js +0 -2
  137. package/dist-cjs/combo-box-deprecated/internal/useMultiSelectComboBox.js.map +1 -1
  138. package/dist-cjs/combo-box-deprecated/internal/usePopperStatus.js +0 -2
  139. package/dist-cjs/combo-box-deprecated/internal/usePopperStatus.js.map +1 -1
  140. package/dist-cjs/common-hooks/calcPreferredHeight.js +2 -3
  141. package/dist-cjs/common-hooks/calcPreferredHeight.js.map +1 -1
  142. package/dist-cjs/common-hooks/collectionProvider.js +1 -6
  143. package/dist-cjs/common-hooks/collectionProvider.js.map +1 -1
  144. package/dist-cjs/common-hooks/itemToString.js +0 -2
  145. package/dist-cjs/common-hooks/itemToString.js.map +1 -1
  146. package/dist-cjs/common-hooks/keyUtils.js +0 -2
  147. package/dist-cjs/common-hooks/keyUtils.js.map +1 -1
  148. package/dist-cjs/common-hooks/list-dom-utils.js +0 -2
  149. package/dist-cjs/common-hooks/list-dom-utils.js.map +1 -1
  150. package/dist-cjs/common-hooks/selectionTypes.js +0 -2
  151. package/dist-cjs/common-hooks/selectionTypes.js.map +1 -1
  152. package/dist-cjs/common-hooks/useAutoSizer.js +0 -2
  153. package/dist-cjs/common-hooks/useAutoSizer.js.map +1 -1
  154. package/dist-cjs/common-hooks/useCollapsibleGroups.js +0 -2
  155. package/dist-cjs/common-hooks/useCollapsibleGroups.js.map +1 -1
  156. package/dist-cjs/common-hooks/useCollectionItems.js +21 -12
  157. package/dist-cjs/common-hooks/useCollectionItems.js.map +1 -1
  158. package/dist-cjs/common-hooks/useImperativeScrollingAPI.js +0 -2
  159. package/dist-cjs/common-hooks/useImperativeScrollingAPI.js.map +1 -1
  160. package/dist-cjs/common-hooks/useKeyboardNavigation.js +2 -3
  161. package/dist-cjs/common-hooks/useKeyboardNavigation.js.map +1 -1
  162. package/dist-cjs/common-hooks/useKeyboardNavigationPanel.js +3 -2
  163. package/dist-cjs/common-hooks/useKeyboardNavigationPanel.js.map +1 -1
  164. package/dist-cjs/common-hooks/useSelection.js +3 -7
  165. package/dist-cjs/common-hooks/useSelection.js.map +1 -1
  166. package/dist-cjs/common-hooks/useTypeahead.js +0 -2
  167. package/dist-cjs/common-hooks/useTypeahead.js.map +1 -1
  168. package/dist-cjs/common-hooks/useViewportTracking.js +0 -2
  169. package/dist-cjs/common-hooks/useViewportTracking.js.map +1 -1
  170. package/dist-cjs/common-hooks/utils/collection-item-utils.js +2 -4
  171. package/dist-cjs/common-hooks/utils/collection-item-utils.js.map +1 -1
  172. package/dist-cjs/common-hooks/utils/filter-utils.js +0 -2
  173. package/dist-cjs/common-hooks/utils/filter-utils.js.map +1 -1
  174. package/dist-cjs/common-hooks/utils/isSelected.js +0 -2
  175. package/dist-cjs/common-hooks/utils/isSelected.js.map +1 -1
  176. package/dist-cjs/contact-details/ContactAction.js +9 -13
  177. package/dist-cjs/contact-details/ContactAction.js.map +1 -1
  178. package/dist-cjs/contact-details/ContactActions.js +1 -8
  179. package/dist-cjs/contact-details/ContactActions.js.map +1 -1
  180. package/dist-cjs/contact-details/ContactAvatar.js +17 -16
  181. package/dist-cjs/contact-details/ContactAvatar.js.map +1 -1
  182. package/dist-cjs/contact-details/ContactDetails.js +6 -10
  183. package/dist-cjs/contact-details/ContactDetails.js.map +1 -1
  184. package/dist-cjs/contact-details/ContactFavoriteToggle.js +13 -12
  185. package/dist-cjs/contact-details/ContactFavoriteToggle.js.map +1 -1
  186. package/dist-cjs/contact-details/ContactMetadata.js +13 -13
  187. package/dist-cjs/contact-details/ContactMetadata.js.map +1 -1
  188. package/dist-cjs/contact-details/ContactMetadataItem.js +5 -23
  189. package/dist-cjs/contact-details/ContactMetadataItem.js.map +1 -1
  190. package/dist-cjs/contact-details/ContactPrimaryInfo.js +16 -15
  191. package/dist-cjs/contact-details/ContactPrimaryInfo.js.map +1 -1
  192. package/dist-cjs/contact-details/ContactSecondaryInfo.js +16 -17
  193. package/dist-cjs/contact-details/ContactSecondaryInfo.js.map +1 -1
  194. package/dist-cjs/contact-details/ContactTertiaryInfo.js +16 -17
  195. package/dist-cjs/contact-details/ContactTertiaryInfo.js.map +1 -1
  196. package/dist-cjs/contact-details/MailLinkComponent.js +1 -12
  197. package/dist-cjs/contact-details/MailLinkComponent.js.map +1 -1
  198. package/dist-cjs/contact-details/internal/ContactDetailsContext.js +0 -2
  199. package/dist-cjs/contact-details/internal/ContactDetailsContext.js.map +1 -1
  200. package/dist-cjs/contact-details/internal/FavoriteToggle.js +18 -17
  201. package/dist-cjs/contact-details/internal/FavoriteToggle.js.map +1 -1
  202. package/dist-cjs/contact-details/internal/FavoriteToggleWithTooltip.js +1 -11
  203. package/dist-cjs/contact-details/internal/FavoriteToggleWithTooltip.js.map +1 -1
  204. package/dist-cjs/contact-details/internal/StarIcon.js +10 -14
  205. package/dist-cjs/contact-details/internal/StarIcon.js.map +1 -1
  206. package/dist-cjs/contact-details/internal/StarIconContainer.js +28 -24
  207. package/dist-cjs/contact-details/internal/StarIconContainer.js.map +1 -1
  208. package/dist-cjs/contact-details/internal/useComponentSize.js +0 -2
  209. package/dist-cjs/contact-details/internal/useComponentSize.js.map +1 -1
  210. package/dist-cjs/content-status/ContentStatus.js +16 -31
  211. package/dist-cjs/content-status/ContentStatus.js.map +1 -1
  212. package/dist-cjs/content-status/internal/StatusIndicator.js +30 -23
  213. package/dist-cjs/content-status/internal/StatusIndicator.js.map +1 -1
  214. package/dist-cjs/date-input/DateInput.css.js +1 -1
  215. package/dist-cjs/date-input/DateInputRange.js +186 -196
  216. package/dist-cjs/date-input/DateInputRange.js.map +1 -1
  217. package/dist-cjs/date-input/DateInputSingle.js +92 -107
  218. package/dist-cjs/date-input/DateInputSingle.js.map +1 -1
  219. package/dist-cjs/date-picker/DatePicker.js +15 -36
  220. package/dist-cjs/date-picker/DatePicker.js.map +1 -1
  221. package/dist-cjs/date-picker/DatePickerActions.js +16 -31
  222. package/dist-cjs/date-picker/DatePickerActions.js.map +1 -1
  223. package/dist-cjs/date-picker/DatePickerContext.js +6 -4
  224. package/dist-cjs/date-picker/DatePickerContext.js.map +1 -1
  225. package/dist-cjs/date-picker/DatePickerOverlay.js +19 -17
  226. package/dist-cjs/date-picker/DatePickerOverlay.js.map +1 -1
  227. package/dist-cjs/date-picker/DatePickerOverlayProvider.js +24 -16
  228. package/dist-cjs/date-picker/DatePickerOverlayProvider.js.map +1 -1
  229. package/dist-cjs/date-picker/DatePickerRangeInput.js +98 -46
  230. package/dist-cjs/date-picker/DatePickerRangeInput.js.map +1 -1
  231. package/dist-cjs/date-picker/DatePickerRangePanel.js +68 -97
  232. package/dist-cjs/date-picker/DatePickerRangePanel.js.map +1 -1
  233. package/dist-cjs/date-picker/DatePickerSingleInput.js +121 -78
  234. package/dist-cjs/date-picker/DatePickerSingleInput.js.map +1 -1
  235. package/dist-cjs/date-picker/DatePickerSinglePanel.js +35 -68
  236. package/dist-cjs/date-picker/DatePickerSinglePanel.js.map +1 -1
  237. package/dist-cjs/date-picker/DatePickerTrigger.js +32 -0
  238. package/dist-cjs/date-picker/DatePickerTrigger.js.map +1 -0
  239. package/dist-cjs/date-picker/useDatePicker.js +60 -112
  240. package/dist-cjs/date-picker/useDatePicker.js.map +1 -1
  241. package/dist-cjs/deck-item/DeckItem.js +21 -18
  242. package/dist-cjs/deck-item/DeckItem.js.map +1 -1
  243. package/dist-cjs/deck-layout/DeckLayout.js +34 -27
  244. package/dist-cjs/deck-layout/DeckLayout.js.map +1 -1
  245. package/dist-cjs/dialog/DialogHeader.css.js +6 -0
  246. package/dist-cjs/dialog/DialogHeader.css.js.map +1 -0
  247. package/dist-cjs/dialog/DialogHeader.js +63 -0
  248. package/dist-cjs/dialog/DialogHeader.js.map +1 -0
  249. package/dist-cjs/dropdown/Dropdown.js +28 -24
  250. package/dist-cjs/dropdown/Dropdown.js.map +1 -1
  251. package/dist-cjs/dropdown/DropdownBase.js +29 -29
  252. package/dist-cjs/dropdown/DropdownBase.js.map +1 -1
  253. package/dist-cjs/dropdown/DropdownButton.js +40 -36
  254. package/dist-cjs/dropdown/DropdownButton.js.map +1 -1
  255. package/dist-cjs/dropdown/useClickAway.js +0 -2
  256. package/dist-cjs/dropdown/useClickAway.js.map +1 -1
  257. package/dist-cjs/dropdown/useDropdown.js +2 -4
  258. package/dist-cjs/dropdown/useDropdown.js.map +1 -1
  259. package/dist-cjs/dropdown/useDropdownBase.js +3 -5
  260. package/dist-cjs/dropdown/useDropdownBase.js.map +1 -1
  261. package/dist-cjs/editable-label/EditableLabel.js +23 -19
  262. package/dist-cjs/editable-label/EditableLabel.js.map +1 -1
  263. package/dist-cjs/form-field-context-legacy/FormFieldLegacyContext.js +0 -2
  264. package/dist-cjs/form-field-context-legacy/FormFieldLegacyContext.js.map +1 -1
  265. package/dist-cjs/form-field-context-legacy/useFormFieldLegacyProps.js +0 -2
  266. package/dist-cjs/form-field-context-legacy/useFormFieldLegacyProps.js.map +1 -1
  267. package/dist-cjs/form-field-legacy/FormActivationIndicator.js +29 -38
  268. package/dist-cjs/form-field-legacy/FormActivationIndicator.js.map +1 -1
  269. package/dist-cjs/form-field-legacy/FormFieldLegacy.js +53 -44
  270. package/dist-cjs/form-field-legacy/FormFieldLegacy.js.map +1 -1
  271. package/dist-cjs/form-field-legacy/FormHelperText.js +1 -7
  272. package/dist-cjs/form-field-legacy/FormHelperText.js.map +1 -1
  273. package/dist-cjs/form-field-legacy/FormLabel.js +34 -24
  274. package/dist-cjs/form-field-legacy/FormLabel.js.map +1 -1
  275. package/dist-cjs/form-field-legacy/NecessityIndicator.js +9 -8
  276. package/dist-cjs/form-field-legacy/NecessityIndicator.js.map +1 -1
  277. package/dist-cjs/form-field-legacy/StatusIndicator.js +22 -18
  278. package/dist-cjs/form-field-legacy/StatusIndicator.js.map +1 -1
  279. package/dist-cjs/form-field-legacy/constant.js +0 -2
  280. package/dist-cjs/form-field-legacy/constant.js.map +1 -1
  281. package/dist-cjs/form-group/FormGroup.js +8 -7
  282. package/dist-cjs/form-group/FormGroup.js.map +1 -1
  283. package/dist-cjs/formatted-input/FormattedInput.js +13 -12
  284. package/dist-cjs/formatted-input/FormattedInput.js.map +1 -1
  285. package/dist-cjs/formatted-input/internal/InputWithMask.js +13 -14
  286. package/dist-cjs/formatted-input/internal/InputWithMask.js.map +1 -1
  287. package/dist-cjs/index.js +33 -24
  288. package/dist-cjs/index.js.map +1 -1
  289. package/dist-cjs/input-legacy/InputLegacy.js +48 -47
  290. package/dist-cjs/input-legacy/InputLegacy.js.map +1 -1
  291. package/dist-cjs/input-legacy/StaticInputAdornment.js +1 -8
  292. package/dist-cjs/input-legacy/StaticInputAdornment.js.map +1 -1
  293. package/dist-cjs/input-legacy/useCursorOnFocus.js +0 -2
  294. package/dist-cjs/input-legacy/useCursorOnFocus.js.map +1 -1
  295. package/dist-cjs/layer-layout/LayerLayout.js +34 -30
  296. package/dist-cjs/layer-layout/LayerLayout.js.map +1 -1
  297. package/dist-cjs/list/Highlighter.js +9 -11
  298. package/dist-cjs/list/Highlighter.js.map +1 -1
  299. package/dist-cjs/list/List.js +61 -63
  300. package/dist-cjs/list/List.js.map +1 -1
  301. package/dist-cjs/list/ListItem.js +29 -28
  302. package/dist-cjs/list/ListItem.js.map +1 -1
  303. package/dist-cjs/list/ListItemGroup.js +0 -2
  304. package/dist-cjs/list/ListItemGroup.js.map +1 -1
  305. package/dist-cjs/list/ListItemHeader.js +0 -2
  306. package/dist-cjs/list/ListItemHeader.js.map +1 -1
  307. package/dist-cjs/list/VirtualizedList.js +52 -48
  308. package/dist-cjs/list/VirtualizedList.js.map +1 -1
  309. package/dist-cjs/list/keyset.js +0 -2
  310. package/dist-cjs/list/keyset.js.map +1 -1
  311. package/dist-cjs/list/useList.js +3 -2
  312. package/dist-cjs/list/useList.js.map +1 -1
  313. package/dist-cjs/list/useListHeight.js +4 -4
  314. package/dist-cjs/list/useListHeight.js.map +1 -1
  315. package/dist-cjs/list/useVirtualization.js +0 -2
  316. package/dist-cjs/list/useVirtualization.js.map +1 -1
  317. package/dist-cjs/list-deprecated/List.js +6 -14
  318. package/dist-cjs/list-deprecated/List.js.map +1 -1
  319. package/dist-cjs/list-deprecated/ListBase.js +99 -87
  320. package/dist-cjs/list-deprecated/ListBase.js.map +1 -1
  321. package/dist-cjs/list-deprecated/ListItem.js +1 -8
  322. package/dist-cjs/list-deprecated/ListItem.js.map +1 -1
  323. package/dist-cjs/list-deprecated/ListItemBase.js +10 -14
  324. package/dist-cjs/list-deprecated/ListItemBase.js.map +1 -1
  325. package/dist-cjs/list-deprecated/ListItemContext.js +0 -2
  326. package/dist-cjs/list-deprecated/ListItemContext.js.map +1 -1
  327. package/dist-cjs/list-deprecated/ListStateContext.js +0 -2
  328. package/dist-cjs/list-deprecated/ListStateContext.js.map +1 -1
  329. package/dist-cjs/list-deprecated/internal/DescendantContext.js +1 -6
  330. package/dist-cjs/list-deprecated/internal/DescendantContext.js.map +1 -1
  331. package/dist-cjs/list-deprecated/internal/Highlighter.js +4 -11
  332. package/dist-cjs/list-deprecated/internal/Highlighter.js.map +1 -1
  333. package/dist-cjs/list-deprecated/internal/calcPreferredListHeight.js +2 -3
  334. package/dist-cjs/list-deprecated/internal/calcPreferredListHeight.js.map +1 -1
  335. package/dist-cjs/list-deprecated/internal/helpers.js +0 -2
  336. package/dist-cjs/list-deprecated/internal/helpers.js.map +1 -1
  337. package/dist-cjs/list-deprecated/internal/scrollIntoView.js +0 -2
  338. package/dist-cjs/list-deprecated/internal/scrollIntoView.js.map +1 -1
  339. package/dist-cjs/list-deprecated/internal/useListAutoSizer.js +0 -2
  340. package/dist-cjs/list-deprecated/internal/useListAutoSizer.js.map +1 -1
  341. package/dist-cjs/list-deprecated/internal/useWidth.js +0 -2
  342. package/dist-cjs/list-deprecated/internal/useWidth.js.map +1 -1
  343. package/dist-cjs/list-deprecated/itemToString.js +0 -2
  344. package/dist-cjs/list-deprecated/itemToString.js.map +1 -1
  345. package/dist-cjs/list-deprecated/useList.js +7 -9
  346. package/dist-cjs/list-deprecated/useList.js.map +1 -1
  347. package/dist-cjs/list-deprecated/useListItem.js +5 -2
  348. package/dist-cjs/list-deprecated/useListItem.js.map +1 -1
  349. package/dist-cjs/list-deprecated/useTypeSelect.js +2 -2
  350. package/dist-cjs/list-deprecated/useTypeSelect.js.map +1 -1
  351. package/dist-cjs/list-next/ListItemNext.js +25 -25
  352. package/dist-cjs/list-next/ListItemNext.js.map +1 -1
  353. package/dist-cjs/list-next/ListNext.js +5 -7
  354. package/dist-cjs/list-next/ListNext.js.map +1 -1
  355. package/dist-cjs/list-next/ListNextContext.js +0 -2
  356. package/dist-cjs/list-next/ListNextContext.js.map +1 -1
  357. package/dist-cjs/list-next/useList.js +3 -6
  358. package/dist-cjs/list-next/useList.js.map +1 -1
  359. package/dist-cjs/localization-provider/LocalizationProvider.js +48 -0
  360. package/dist-cjs/localization-provider/LocalizationProvider.js.map +1 -0
  361. package/dist-cjs/logo/Logo.js +1 -7
  362. package/dist-cjs/logo/Logo.js.map +1 -1
  363. package/dist-cjs/logo/LogoImage.js +9 -8
  364. package/dist-cjs/logo/LogoImage.js.map +1 -1
  365. package/dist-cjs/logo/LogoSeparator.js +1 -7
  366. package/dist-cjs/logo/LogoSeparator.js.map +1 -1
  367. package/dist-cjs/menu-button/MenuButton.js +21 -17
  368. package/dist-cjs/menu-button/MenuButton.js.map +1 -1
  369. package/dist-cjs/menu-button/MenuButtonTrigger.js +21 -17
  370. package/dist-cjs/menu-button/MenuButtonTrigger.js.map +1 -1
  371. package/dist-cjs/metric/Metric.js +5 -7
  372. package/dist-cjs/metric/Metric.js.map +1 -1
  373. package/dist-cjs/metric/MetricContent.js +32 -30
  374. package/dist-cjs/metric/MetricContent.js.map +1 -1
  375. package/dist-cjs/metric/MetricHeader.js +20 -26
  376. package/dist-cjs/metric/MetricHeader.js.map +1 -1
  377. package/dist-cjs/metric/internal/MetricContext.js +0 -2
  378. package/dist-cjs/metric/internal/MetricContext.js.map +1 -1
  379. package/dist-cjs/overlay/OverlayHeader.css.js +6 -0
  380. package/dist-cjs/overlay/OverlayHeader.css.js.map +1 -0
  381. package/dist-cjs/overlay/OverlayHeader.js +35 -0
  382. package/dist-cjs/overlay/OverlayHeader.js.map +1 -0
  383. package/dist-cjs/portal/Portal.js +3 -10
  384. package/dist-cjs/portal/Portal.js.map +1 -1
  385. package/dist-cjs/query-input/QueryInput.js +21 -19
  386. package/dist-cjs/query-input/QueryInput.js.map +1 -1
  387. package/dist-cjs/query-input/internal/CategoryList.js +8 -17
  388. package/dist-cjs/query-input/internal/CategoryList.js.map +1 -1
  389. package/dist-cjs/query-input/internal/CategoryListContext.js +0 -2
  390. package/dist-cjs/query-input/internal/CategoryListContext.js.map +1 -1
  391. package/dist-cjs/query-input/internal/CategoryListItem.js +9 -32
  392. package/dist-cjs/query-input/internal/CategoryListItem.js.map +1 -1
  393. package/dist-cjs/query-input/internal/QueryInputBody.js +16 -24
  394. package/dist-cjs/query-input/internal/QueryInputBody.js.map +1 -1
  395. package/dist-cjs/query-input/internal/SearchList.js +21 -28
  396. package/dist-cjs/query-input/internal/SearchList.js.map +1 -1
  397. package/dist-cjs/query-input/internal/ValueList.js +18 -25
  398. package/dist-cjs/query-input/internal/ValueList.js.map +1 -1
  399. package/dist-cjs/query-input/internal/ValueSelector.js +42 -37
  400. package/dist-cjs/query-input/internal/ValueSelector.js.map +1 -1
  401. package/dist-cjs/query-input/internal/usePopperStatus.js +0 -2
  402. package/dist-cjs/query-input/internal/usePopperStatus.js.map +1 -1
  403. package/dist-cjs/query-input/useQueryInput.js +0 -2
  404. package/dist-cjs/query-input/useQueryInput.js.map +1 -1
  405. package/dist-cjs/responsive/OverflowReducer.js +7 -9
  406. package/dist-cjs/responsive/OverflowReducer.js.map +1 -1
  407. package/dist-cjs/responsive/overflowUtils.js +0 -2
  408. package/dist-cjs/responsive/overflowUtils.js.map +1 -1
  409. package/dist-cjs/responsive/useDynamicCollapse.js +0 -2
  410. package/dist-cjs/responsive/useDynamicCollapse.js.map +1 -1
  411. package/dist-cjs/responsive/useInstantCollapse.js +1 -4
  412. package/dist-cjs/responsive/useInstantCollapse.js.map +1 -1
  413. package/dist-cjs/responsive/useOverflow.js +0 -2
  414. package/dist-cjs/responsive/useOverflow.js.map +1 -1
  415. package/dist-cjs/responsive/useOverflowCollectionItems.js +1 -4
  416. package/dist-cjs/responsive/useOverflowCollectionItems.js.map +1 -1
  417. package/dist-cjs/responsive/useOverflowLayout.js +4 -7
  418. package/dist-cjs/responsive/useOverflowLayout.js.map +1 -1
  419. package/dist-cjs/responsive/useReclaimSpace.js +1 -4
  420. package/dist-cjs/responsive/useReclaimSpace.js.map +1 -1
  421. package/dist-cjs/responsive/useResizeObserver.js +0 -2
  422. package/dist-cjs/responsive/useResizeObserver.js.map +1 -1
  423. package/dist-cjs/responsive/useWidth.js +0 -2
  424. package/dist-cjs/responsive/useWidth.js.map +1 -1
  425. package/dist-cjs/responsive/utils.js +2 -10
  426. package/dist-cjs/responsive/utils.js.map +1 -1
  427. package/dist-cjs/search-input/SearchInput.js +27 -24
  428. package/dist-cjs/search-input/SearchInput.js.map +1 -1
  429. package/dist-cjs/skip-link/SkipLink.js +5 -6
  430. package/dist-cjs/skip-link/SkipLink.js.map +1 -1
  431. package/dist-cjs/skip-link/SkipLinks.js +1 -8
  432. package/dist-cjs/skip-link/SkipLinks.js.map +1 -1
  433. package/dist-cjs/skip-link/internal/useManageFocusOnTarget.js +0 -2
  434. package/dist-cjs/skip-link/internal/useManageFocusOnTarget.js.map +1 -1
  435. package/dist-cjs/slider/Slider.js +47 -41
  436. package/dist-cjs/slider/Slider.js.map +1 -1
  437. package/dist-cjs/slider/internal/SliderContext.js +0 -2
  438. package/dist-cjs/slider/internal/SliderContext.js.map +1 -1
  439. package/dist-cjs/slider/internal/SliderMarks.js +8 -10
  440. package/dist-cjs/slider/internal/SliderMarks.js.map +1 -1
  441. package/dist-cjs/slider/internal/SliderSelection.js +13 -12
  442. package/dist-cjs/slider/internal/SliderSelection.js.map +1 -1
  443. package/dist-cjs/slider/internal/SliderThumb.js +49 -45
  444. package/dist-cjs/slider/internal/SliderThumb.js.map +1 -1
  445. package/dist-cjs/slider/internal/SliderTrack.js +26 -24
  446. package/dist-cjs/slider/internal/SliderTrack.js.map +1 -1
  447. package/dist-cjs/slider/internal/useKeyDownThumb.js +1 -4
  448. package/dist-cjs/slider/internal/useKeyDownThumb.js.map +1 -1
  449. package/dist-cjs/slider/internal/utils.js +5 -12
  450. package/dist-cjs/slider/internal/utils.js.map +1 -1
  451. package/dist-cjs/static-list/StaticList.js +1 -8
  452. package/dist-cjs/static-list/StaticList.js.map +1 -1
  453. package/dist-cjs/static-list/StaticListItem.js +1 -8
  454. package/dist-cjs/static-list/StaticListItem.js.map +1 -1
  455. package/dist-cjs/static-list/StaticListItemContent.js +1 -8
  456. package/dist-cjs/static-list/StaticListItemContent.js.map +1 -1
  457. package/dist-cjs/stepped-tracker/StepLabel/StepLabel.js +1 -10
  458. package/dist-cjs/stepped-tracker/StepLabel/StepLabel.js.map +1 -1
  459. package/dist-cjs/stepped-tracker/SteppedTracker.js +6 -12
  460. package/dist-cjs/stepped-tracker/SteppedTracker.js.map +1 -1
  461. package/dist-cjs/stepped-tracker/SteppedTrackerContext.js +2 -10
  462. package/dist-cjs/stepped-tracker/SteppedTrackerContext.js.map +1 -1
  463. package/dist-cjs/stepped-tracker/TrackerConnector/TrackerConnector.js +1 -5
  464. package/dist-cjs/stepped-tracker/TrackerConnector/TrackerConnector.js.map +1 -1
  465. package/dist-cjs/stepped-tracker/TrackerStep/TrackerStep.js +24 -31
  466. package/dist-cjs/stepped-tracker/TrackerStep/TrackerStep.js.map +1 -1
  467. package/dist-cjs/stepper-input/StepperInput.js +84 -89
  468. package/dist-cjs/stepper-input/StepperInput.js.map +1 -1
  469. package/dist-cjs/stepper-input/internal/useActivateWhileMouseDown.js +2 -6
  470. package/dist-cjs/stepper-input/internal/useActivateWhileMouseDown.js.map +1 -1
  471. package/dist-cjs/stepper-input/internal/useInterval.js +0 -2
  472. package/dist-cjs/stepper-input/internal/useInterval.js.map +1 -1
  473. package/dist-cjs/stepper-input/internal/utils.js +5 -12
  474. package/dist-cjs/stepper-input/internal/utils.js.map +1 -1
  475. package/dist-cjs/stepper-input/useStepperInput.js +6 -14
  476. package/dist-cjs/stepper-input/useStepperInput.js.map +1 -1
  477. package/dist-cjs/system-status/SystemStatus.css.js +1 -1
  478. package/dist-cjs/system-status/SystemStatus.js +13 -15
  479. package/dist-cjs/system-status/SystemStatus.js.map +1 -1
  480. package/dist-cjs/system-status/SystemStatusActions.js +1 -7
  481. package/dist-cjs/system-status/SystemStatusActions.js.map +1 -1
  482. package/dist-cjs/system-status/SystemStatusContent.js +1 -7
  483. package/dist-cjs/system-status/SystemStatusContent.js.map +1 -1
  484. package/dist-cjs/tabs/Tab.js +74 -57
  485. package/dist-cjs/tabs/Tab.js.map +1 -1
  486. package/dist-cjs/tabs/TabActivationIndicator.js +1 -10
  487. package/dist-cjs/tabs/TabActivationIndicator.js.map +1 -1
  488. package/dist-cjs/tabs/TabPanel.js +11 -10
  489. package/dist-cjs/tabs/TabPanel.js.map +1 -1
  490. package/dist-cjs/tabs/Tabs.js +21 -17
  491. package/dist-cjs/tabs/Tabs.js.map +1 -1
  492. package/dist-cjs/tabs/Tabstrip.js +86 -72
  493. package/dist-cjs/tabs/Tabstrip.js.map +1 -1
  494. package/dist-cjs/tabs/drag-drop/Draggable.js +5 -6
  495. package/dist-cjs/tabs/drag-drop/Draggable.js.map +1 -1
  496. package/dist-cjs/tabs/drag-drop/drag-utils.js +1 -4
  497. package/dist-cjs/tabs/drag-drop/drag-utils.js.map +1 -1
  498. package/dist-cjs/tabs/drag-drop/dragDropTypes.js +0 -2
  499. package/dist-cjs/tabs/drag-drop/dragDropTypes.js.map +1 -1
  500. package/dist-cjs/tabs/drag-drop/useDragDrop.js +0 -2
  501. package/dist-cjs/tabs/drag-drop/useDragDrop.js.map +1 -1
  502. package/dist-cjs/tabs/drag-drop/useDragDropNaturalMovement.js +9 -8
  503. package/dist-cjs/tabs/drag-drop/useDragDropNaturalMovement.js.map +1 -1
  504. package/dist-cjs/tabs/drag-drop/useDragSpacers.js +1 -2
  505. package/dist-cjs/tabs/drag-drop/useDragSpacers.js.map +1 -1
  506. package/dist-cjs/tabs/useActivationIndicator.js +0 -2
  507. package/dist-cjs/tabs/useActivationIndicator.js.map +1 -1
  508. package/dist-cjs/tabs/useEditableItem.js +0 -2
  509. package/dist-cjs/tabs/useEditableItem.js.map +1 -1
  510. package/dist-cjs/tabs/useItemsWithIds.js +1 -7
  511. package/dist-cjs/tabs/useItemsWithIds.js.map +1 -1
  512. package/dist-cjs/tabs/useKeyboardNavigation.js +0 -2
  513. package/dist-cjs/tabs/useKeyboardNavigation.js.map +1 -1
  514. package/dist-cjs/tabs/useSelection.js +1 -3
  515. package/dist-cjs/tabs/useSelection.js.map +1 -1
  516. package/dist-cjs/tabs/useTabs.js +3 -5
  517. package/dist-cjs/tabs/useTabs.js.map +1 -1
  518. package/dist-cjs/tabs/useTabstrip.js +3 -3
  519. package/dist-cjs/tabs/useTabstrip.js.map +1 -1
  520. package/dist-cjs/tabs-next/TabBar.css.js +6 -0
  521. package/dist-cjs/tabs-next/TabBar.css.js.map +1 -0
  522. package/dist-cjs/tabs-next/TabBar.js +41 -0
  523. package/dist-cjs/tabs-next/TabBar.js.map +1 -0
  524. package/dist-cjs/tabs-next/TabListNext.css.js +6 -0
  525. package/dist-cjs/tabs-next/TabListNext.css.js.map +1 -0
  526. package/dist-cjs/tabs-next/TabListNext.js +131 -0
  527. package/dist-cjs/tabs-next/TabListNext.js.map +1 -0
  528. package/dist-cjs/tabs-next/TabNext.css.js +1 -1
  529. package/dist-cjs/tabs-next/TabNext.js +74 -58
  530. package/dist-cjs/tabs-next/TabNext.js.map +1 -1
  531. package/dist-cjs/tabs-next/TabNextAction.js +35 -0
  532. package/dist-cjs/tabs-next/TabNextAction.js.map +1 -0
  533. package/dist-cjs/tabs-next/TabNextContext.js +15 -17
  534. package/dist-cjs/tabs-next/TabNextContext.js.map +1 -1
  535. package/dist-cjs/tabs-next/TabNextPanel.css.js +6 -0
  536. package/dist-cjs/tabs-next/TabNextPanel.css.js.map +1 -0
  537. package/dist-cjs/tabs-next/TabNextPanel.js +77 -0
  538. package/dist-cjs/tabs-next/TabNextPanel.js.map +1 -0
  539. package/dist-cjs/tabs-next/TabNextTrigger.css.js +6 -0
  540. package/dist-cjs/tabs-next/TabNextTrigger.css.js.map +1 -0
  541. package/dist-cjs/tabs-next/TabNextTrigger.js +77 -0
  542. package/dist-cjs/tabs-next/TabNextTrigger.js.map +1 -0
  543. package/dist-cjs/tabs-next/TabOverflowList.css.js +6 -0
  544. package/dist-cjs/tabs-next/TabOverflowList.css.js.map +1 -0
  545. package/dist-cjs/tabs-next/TabOverflowList.js +132 -0
  546. package/dist-cjs/tabs-next/TabOverflowList.js.map +1 -0
  547. package/dist-cjs/tabs-next/TabsNext.js +176 -0
  548. package/dist-cjs/tabs-next/TabsNext.js.map +1 -0
  549. package/dist-cjs/tabs-next/TabsNextContext.js +33 -0
  550. package/dist-cjs/tabs-next/TabsNextContext.js.map +1 -0
  551. package/dist-cjs/tabs-next/hooks/useCollection.js +91 -0
  552. package/dist-cjs/tabs-next/hooks/useCollection.js.map +1 -0
  553. package/dist-cjs/tabs-next/hooks/useFocusOutside.js +25 -0
  554. package/dist-cjs/tabs-next/hooks/useFocusOutside.js.map +1 -0
  555. package/dist-cjs/tabs-next/hooks/useOverflow.js +141 -0
  556. package/dist-cjs/tabs-next/hooks/useOverflow.js.map +1 -0
  557. package/dist-cjs/toast-group/ToastGroup.js +8 -7
  558. package/dist-cjs/toast-group/ToastGroup.js.map +1 -1
  559. package/dist-cjs/tokenized-input/TokenizedInput.js +9 -8
  560. package/dist-cjs/tokenized-input/TokenizedInput.js.map +1 -1
  561. package/dist-cjs/tokenized-input/TokenizedInputBase.js +105 -96
  562. package/dist-cjs/tokenized-input/TokenizedInputBase.js.map +1 -1
  563. package/dist-cjs/tokenized-input/internal/InputPill.js +24 -26
  564. package/dist-cjs/tokenized-input/internal/InputPill.js.map +1 -1
  565. package/dist-cjs/tokenized-input/internal/InputRuler.js +1 -7
  566. package/dist-cjs/tokenized-input/internal/InputRuler.js.map +1 -1
  567. package/dist-cjs/tokenized-input/internal/calcFirstHiddenIndex.js +0 -2
  568. package/dist-cjs/tokenized-input/internal/calcFirstHiddenIndex.js.map +1 -1
  569. package/dist-cjs/tokenized-input/internal/defaultItemToString.js +0 -2
  570. package/dist-cjs/tokenized-input/internal/defaultItemToString.js.map +1 -1
  571. package/dist-cjs/tokenized-input/internal/getCursorPosition.js +0 -2
  572. package/dist-cjs/tokenized-input/internal/getCursorPosition.js.map +1 -1
  573. package/dist-cjs/tokenized-input/internal/isPlainObject.js +0 -2
  574. package/dist-cjs/tokenized-input/internal/isPlainObject.js.map +1 -1
  575. package/dist-cjs/tokenized-input/internal/useResizeObserver.js +0 -2
  576. package/dist-cjs/tokenized-input/internal/useResizeObserver.js.map +1 -1
  577. package/dist-cjs/tokenized-input/internal/useWidth.js +0 -2
  578. package/dist-cjs/tokenized-input/internal/useWidth.js.map +1 -1
  579. package/dist-cjs/tokenized-input/useTokenizedInput.js +11 -7
  580. package/dist-cjs/tokenized-input/useTokenizedInput.js.map +1 -1
  581. package/dist-cjs/tokenized-input-next/TokenizedInputNext.js +68 -58
  582. package/dist-cjs/tokenized-input-next/TokenizedInputNext.js.map +1 -1
  583. package/dist-cjs/tokenized-input-next/internal/InputPill.js +6 -12
  584. package/dist-cjs/tokenized-input-next/internal/InputPill.js.map +1 -1
  585. package/dist-cjs/tokenized-input-next/internal/calcFirstHiddenIndex.js +0 -2
  586. package/dist-cjs/tokenized-input-next/internal/calcFirstHiddenIndex.js.map +1 -1
  587. package/dist-cjs/tokenized-input-next/internal/useResizeObserver.js +0 -2
  588. package/dist-cjs/tokenized-input-next/internal/useResizeObserver.js.map +1 -1
  589. package/dist-cjs/tokenized-input-next/internal/useWidth.js +1 -3
  590. package/dist-cjs/tokenized-input-next/internal/useWidth.js.map +1 -1
  591. package/dist-cjs/tokenized-input-next/useTokenizedInputNext.js +9 -10
  592. package/dist-cjs/tokenized-input-next/useTokenizedInputNext.js.map +1 -1
  593. package/dist-cjs/toolbar/Toolbar.js +43 -35
  594. package/dist-cjs/toolbar/Toolbar.js.map +1 -1
  595. package/dist-cjs/toolbar/ToolbarButton.js +10 -9
  596. package/dist-cjs/toolbar/ToolbarButton.js.map +1 -1
  597. package/dist-cjs/toolbar/Tooltray.js +23 -29
  598. package/dist-cjs/toolbar/Tooltray.js.map +1 -1
  599. package/dist-cjs/toolbar/internal/renderToolbarItems.js +7 -12
  600. package/dist-cjs/toolbar/internal/renderToolbarItems.js.map +1 -1
  601. package/dist-cjs/toolbar/internal/renderTrayTools.js +23 -18
  602. package/dist-cjs/toolbar/internal/renderTrayTools.js.map +1 -1
  603. package/dist-cjs/toolbar/overflow-panel/OverflowPanel.js +40 -43
  604. package/dist-cjs/toolbar/overflow-panel/OverflowPanel.js.map +1 -1
  605. package/dist-cjs/toolbar/overflow-panel/OverflowSeparator.js +1 -6
  606. package/dist-cjs/toolbar/overflow-panel/OverflowSeparator.js.map +1 -1
  607. package/dist-cjs/toolbar/toolbar-field/ToolbarField.js +1 -6
  608. package/dist-cjs/toolbar/toolbar-field/ToolbarField.js.map +1 -1
  609. package/dist-cjs/toolbar/toolbar-field/useToolbarField.js +2 -4
  610. package/dist-cjs/toolbar/toolbar-field/useToolbarField.js.map +1 -1
  611. package/dist-cjs/tree/Tree.js +57 -48
  612. package/dist-cjs/tree/Tree.js.map +1 -1
  613. package/dist-cjs/tree/TreeNode.js +11 -25
  614. package/dist-cjs/tree/TreeNode.js.map +1 -1
  615. package/dist-cjs/tree/use-tree-keyboard-navigation.js +0 -2
  616. package/dist-cjs/tree/use-tree-keyboard-navigation.js.map +1 -1
  617. package/dist-cjs/tree/useTree.js +11 -6
  618. package/dist-cjs/tree/useTree.js.map +1 -1
  619. package/dist-cjs/utils/escapeRegExp.js +0 -2
  620. package/dist-cjs/utils/escapeRegExp.js.map +1 -1
  621. package/dist-cjs/utils/forwardCallbackProps.js +0 -2
  622. package/dist-cjs/utils/forwardCallbackProps.js.map +1 -1
  623. package/dist-cjs/utils/isEmail.js +0 -2
  624. package/dist-cjs/utils/isEmail.js.map +1 -1
  625. package/dist-cjs/utils/isPlainObject.js +0 -2
  626. package/dist-cjs/utils/isPlainObject.js.map +1 -1
  627. package/dist-cjs/utils/partition.js +0 -2
  628. package/dist-cjs/utils/partition.js.map +1 -1
  629. package/dist-cjs/utils/useClickOutside.js +1 -3
  630. package/dist-cjs/utils/useClickOutside.js.map +1 -1
  631. package/dist-cjs/utils/useEventCallback.js +4 -3
  632. package/dist-cjs/utils/useEventCallback.js.map +1 -1
  633. package/dist-cjs/utils/useIsViewportLargerThanBreakpoint.js +0 -2
  634. package/dist-cjs/utils/useIsViewportLargerThanBreakpoint.js.map +1 -1
  635. package/dist-cjs/utils/useLayoutEffectOnce.js +0 -2
  636. package/dist-cjs/utils/useLayoutEffectOnce.js.map +1 -1
  637. package/dist-cjs/utils/useLayoutEffectSkipFirst.js +0 -2
  638. package/dist-cjs/utils/useLayoutEffectSkipFirst.js.map +1 -1
  639. package/dist-cjs/utils/useOverflowDetection.js +0 -2
  640. package/dist-cjs/utils/useOverflowDetection.js.map +1 -1
  641. package/dist-cjs/utils/useSlideSelection.js +0 -2
  642. package/dist-cjs/utils/useSlideSelection.js.map +1 -1
  643. package/dist-cjs/window/ElectronWindow.js +7 -21
  644. package/dist-cjs/window/ElectronWindow.js.map +1 -1
  645. package/dist-cjs/window/WindowContext.js +1 -7
  646. package/dist-cjs/window/WindowContext.js.map +1 -1
  647. package/dist-cjs/window/desktop-utils.js +0 -2
  648. package/dist-cjs/window/desktop-utils.js.map +1 -1
  649. package/dist-es/app-header/AppHeader.js +9 -6
  650. package/dist-es/app-header/AppHeader.js.map +1 -1
  651. package/dist-es/breadcrumbs/Breadcrumb.js +43 -41
  652. package/dist-es/breadcrumbs/Breadcrumb.js.map +1 -1
  653. package/dist-es/breadcrumbs/Breadcrumbs.js +28 -31
  654. package/dist-es/breadcrumbs/Breadcrumbs.js.map +1 -1
  655. package/dist-es/breadcrumbs/internal/BreadcrumbsCollapsed.js +19 -14
  656. package/dist-es/breadcrumbs/internal/BreadcrumbsCollapsed.js.map +1 -1
  657. package/dist-es/breadcrumbs/internal/BreadcrumbsContext.js.map +1 -1
  658. package/dist-es/breadcrumbs/internal/BreadcrumbsSeparator.js +1 -3
  659. package/dist-es/breadcrumbs/internal/BreadcrumbsSeparator.js.map +1 -1
  660. package/dist-es/breadcrumbs/internal/useFocusMenuRemount.js.map +1 -1
  661. package/dist-es/button-bar/ButtonBar.js +20 -25
  662. package/dist-es/button-bar/ButtonBar.js.map +1 -1
  663. package/dist-es/button-bar/OrderedButton.js +16 -13
  664. package/dist-es/button-bar/OrderedButton.js.map +1 -1
  665. package/dist-es/button-bar/internal/ButtonBarContext.js.map +1 -1
  666. package/dist-es/button-bar/internal/DescendantContext.js +1 -4
  667. package/dist-es/button-bar/internal/DescendantContext.js.map +1 -1
  668. package/dist-es/button-bar/internal/useDescendant.js.map +1 -1
  669. package/dist-es/button-bar/internal/useDescendants.js.map +1 -1
  670. package/dist-es/calendar/Calendar.js +32 -26
  671. package/dist-es/calendar/Calendar.js.map +1 -1
  672. package/dist-es/calendar/CalendarGrid.css.js +4 -0
  673. package/dist-es/calendar/CalendarGrid.css.js.map +1 -0
  674. package/dist-es/calendar/CalendarGrid.js +105 -0
  675. package/dist-es/calendar/CalendarGrid.js.map +1 -0
  676. package/dist-es/calendar/CalendarNavigation.js +240 -213
  677. package/dist-es/calendar/CalendarNavigation.js.map +1 -1
  678. package/dist-es/calendar/CalendarWeekHeader.js +29 -16
  679. package/dist-es/calendar/CalendarWeekHeader.js.map +1 -1
  680. package/dist-es/calendar/internal/CalendarContext.js +6 -2
  681. package/dist-es/calendar/internal/CalendarContext.js.map +1 -1
  682. package/dist-es/calendar/internal/CalendarDay.js +49 -43
  683. package/dist-es/calendar/internal/CalendarDay.js.map +1 -1
  684. package/dist-es/calendar/internal/CalendarMonth.css.js +1 -1
  685. package/dist-es/calendar/internal/CalendarMonth.js +41 -38
  686. package/dist-es/calendar/internal/CalendarMonth.js.map +1 -1
  687. package/dist-es/calendar/internal/useFocusManagement.js +15 -15
  688. package/dist-es/calendar/internal/useFocusManagement.js.map +1 -1
  689. package/dist-es/calendar/internal/utils.js +32 -45
  690. package/dist-es/calendar/internal/utils.js.map +1 -1
  691. package/dist-es/calendar/useCalendar.js +42 -33
  692. package/dist-es/calendar/useCalendar.js.map +1 -1
  693. package/dist-es/calendar/useCalendarDay.js +11 -17
  694. package/dist-es/calendar/useCalendarDay.js.map +1 -1
  695. package/dist-es/calendar/useCalendarSelection.js +42 -29
  696. package/dist-es/calendar/useCalendarSelection.js.map +1 -1
  697. package/dist-es/carousel/Carousel.js +59 -54
  698. package/dist-es/carousel/Carousel.js.map +1 -1
  699. package/dist-es/carousel/CarouselSlide.js +35 -36
  700. package/dist-es/carousel/CarouselSlide.js.map +1 -1
  701. package/dist-es/cascading-menu/CascadingMenu.js +15 -13
  702. package/dist-es/cascading-menu/CascadingMenu.js.map +1 -1
  703. package/dist-es/cascading-menu/CascadingMenuItem.js +72 -59
  704. package/dist-es/cascading-menu/CascadingMenuItem.js.map +1 -1
  705. package/dist-es/cascading-menu/CascadingMenuList.js +50 -41
  706. package/dist-es/cascading-menu/CascadingMenuList.js.map +1 -1
  707. package/dist-es/cascading-menu/internal/CascadingMenuAction.js.map +1 -1
  708. package/dist-es/cascading-menu/internal/keydownHandlers.js.map +1 -1
  709. package/dist-es/cascading-menu/internal/menuPositioning.js.map +1 -1
  710. package/dist-es/cascading-menu/internal/stateUtils.js +1 -0
  711. package/dist-es/cascading-menu/internal/stateUtils.js.map +1 -1
  712. package/dist-es/cascading-menu/internal/useClickAway.js +4 -1
  713. package/dist-es/cascading-menu/internal/useClickAway.js.map +1 -1
  714. package/dist-es/cascading-menu/internal/useMenuTriggerHandlers.js.map +1 -1
  715. package/dist-es/cascading-menu/internal/useMountedRef.js.map +1 -1
  716. package/dist-es/cascading-menu/internal/useMouseHandlers.js +2 -3
  717. package/dist-es/cascading-menu/internal/useMouseHandlers.js.map +1 -1
  718. package/dist-es/cascading-menu/internal/useRefsManager.js.map +1 -1
  719. package/dist-es/cascading-menu/internal/useStateReducer.js.map +1 -1
  720. package/dist-es/cascading-menu/stateChangeTypes.js.map +1 -1
  721. package/dist-es/color-chooser/AlphaInputField.js +17 -13
  722. package/dist-es/color-chooser/AlphaInputField.js.map +1 -1
  723. package/dist-es/color-chooser/Color.js +1 -0
  724. package/dist-es/color-chooser/Color.js.map +1 -1
  725. package/dist-es/color-chooser/ColorChooser.js +58 -58
  726. package/dist-es/color-chooser/ColorChooser.js.map +1 -1
  727. package/dist-es/color-chooser/ColorHelpers.js +5 -9
  728. package/dist-es/color-chooser/ColorHelpers.js.map +1 -1
  729. package/dist-es/color-chooser/ColorPicker.js +33 -47
  730. package/dist-es/color-chooser/ColorPicker.js.map +1 -1
  731. package/dist-es/color-chooser/DictTabs.js +24 -21
  732. package/dist-es/color-chooser/DictTabs.js.map +1 -1
  733. package/dist-es/color-chooser/GetColorPalettes.js +1 -1
  734. package/dist-es/color-chooser/GetColorPalettes.js.map +1 -1
  735. package/dist-es/color-chooser/HexInput.js +9 -13
  736. package/dist-es/color-chooser/HexInput.js.map +1 -1
  737. package/dist-es/color-chooser/RGBAInput.js +24 -37
  738. package/dist-es/color-chooser/RGBAInput.js.map +1 -1
  739. package/dist-es/color-chooser/RGBAInputField.js +14 -10
  740. package/dist-es/color-chooser/RGBAInputField.js.map +1 -1
  741. package/dist-es/color-chooser/Swatch.js +19 -16
  742. package/dist-es/color-chooser/Swatch.js.map +1 -1
  743. package/dist-es/color-chooser/Swatches.js +27 -41
  744. package/dist-es/color-chooser/Swatches.js.map +1 -1
  745. package/dist-es/color-chooser/SwatchesPicker.js +26 -18
  746. package/dist-es/color-chooser/SwatchesPicker.js.map +1 -1
  747. package/dist-es/color-chooser/color-utils.js.map +1 -1
  748. package/dist-es/color-chooser/colorMap.js +1 -0
  749. package/dist-es/color-chooser/colorMap.js.map +1 -1
  750. package/dist-es/color-chooser/createTabsMapping.js.map +1 -1
  751. package/dist-es/combo-box/ComboBox.js +29 -23
  752. package/dist-es/combo-box/ComboBox.js.map +1 -1
  753. package/dist-es/combo-box/useCombobox.js +16 -13
  754. package/dist-es/combo-box/useCombobox.js.map +1 -1
  755. package/dist-es/combo-box-deprecated/ComboBoxDeprecated.js +37 -31
  756. package/dist-es/combo-box-deprecated/ComboBoxDeprecated.js.map +1 -1
  757. package/dist-es/combo-box-deprecated/filterHelpers.js.map +1 -1
  758. package/dist-es/combo-box-deprecated/internal/DefaultComboBox.js +37 -35
  759. package/dist-es/combo-box-deprecated/internal/DefaultComboBox.js.map +1 -1
  760. package/dist-es/combo-box-deprecated/internal/MultiSelectComboBox.js +37 -35
  761. package/dist-es/combo-box-deprecated/internal/MultiSelectComboBox.js.map +1 -1
  762. package/dist-es/combo-box-deprecated/internal/getAnnouncement.js +1 -1
  763. package/dist-es/combo-box-deprecated/internal/getAnnouncement.js.map +1 -1
  764. package/dist-es/combo-box-deprecated/internal/useComboBox.js.map +1 -1
  765. package/dist-es/combo-box-deprecated/internal/useMultiSelectComboBox.js.map +1 -1
  766. package/dist-es/combo-box-deprecated/internal/usePopperStatus.js.map +1 -1
  767. package/dist-es/common-hooks/calcPreferredHeight.js +2 -1
  768. package/dist-es/common-hooks/calcPreferredHeight.js.map +1 -1
  769. package/dist-es/common-hooks/collectionProvider.js +1 -4
  770. package/dist-es/common-hooks/collectionProvider.js.map +1 -1
  771. package/dist-es/common-hooks/itemToString.js.map +1 -1
  772. package/dist-es/common-hooks/keyUtils.js.map +1 -1
  773. package/dist-es/common-hooks/list-dom-utils.js.map +1 -1
  774. package/dist-es/common-hooks/selectionTypes.js.map +1 -1
  775. package/dist-es/common-hooks/useAutoSizer.js.map +1 -1
  776. package/dist-es/common-hooks/useCollapsibleGroups.js.map +1 -1
  777. package/dist-es/common-hooks/useCollectionItems.js +21 -10
  778. package/dist-es/common-hooks/useCollectionItems.js.map +1 -1
  779. package/dist-es/common-hooks/useImperativeScrollingAPI.js.map +1 -1
  780. package/dist-es/common-hooks/useKeyboardNavigation.js +2 -1
  781. package/dist-es/common-hooks/useKeyboardNavigation.js.map +1 -1
  782. package/dist-es/common-hooks/useKeyboardNavigationPanel.js +3 -0
  783. package/dist-es/common-hooks/useKeyboardNavigationPanel.js.map +1 -1
  784. package/dist-es/common-hooks/useSelection.js +3 -5
  785. package/dist-es/common-hooks/useSelection.js.map +1 -1
  786. package/dist-es/common-hooks/useTypeahead.js.map +1 -1
  787. package/dist-es/common-hooks/useViewportTracking.js.map +1 -1
  788. package/dist-es/common-hooks/utils/collection-item-utils.js +2 -2
  789. package/dist-es/common-hooks/utils/collection-item-utils.js.map +1 -1
  790. package/dist-es/common-hooks/utils/filter-utils.js.map +1 -1
  791. package/dist-es/common-hooks/utils/isSelected.js.map +1 -1
  792. package/dist-es/contact-details/ContactAction.js +9 -11
  793. package/dist-es/contact-details/ContactAction.js.map +1 -1
  794. package/dist-es/contact-details/ContactActions.js +1 -6
  795. package/dist-es/contact-details/ContactActions.js.map +1 -1
  796. package/dist-es/contact-details/ContactAvatar.js +17 -14
  797. package/dist-es/contact-details/ContactAvatar.js.map +1 -1
  798. package/dist-es/contact-details/ContactDetails.js +6 -8
  799. package/dist-es/contact-details/ContactDetails.js.map +1 -1
  800. package/dist-es/contact-details/ContactFavoriteToggle.js +13 -10
  801. package/dist-es/contact-details/ContactFavoriteToggle.js.map +1 -1
  802. package/dist-es/contact-details/ContactMetadata.js +13 -11
  803. package/dist-es/contact-details/ContactMetadata.js.map +1 -1
  804. package/dist-es/contact-details/ContactMetadataItem.js +5 -21
  805. package/dist-es/contact-details/ContactMetadataItem.js.map +1 -1
  806. package/dist-es/contact-details/ContactPrimaryInfo.js +16 -13
  807. package/dist-es/contact-details/ContactPrimaryInfo.js.map +1 -1
  808. package/dist-es/contact-details/ContactSecondaryInfo.js +16 -15
  809. package/dist-es/contact-details/ContactSecondaryInfo.js.map +1 -1
  810. package/dist-es/contact-details/ContactTertiaryInfo.js +16 -15
  811. package/dist-es/contact-details/ContactTertiaryInfo.js.map +1 -1
  812. package/dist-es/contact-details/MailLinkComponent.js +1 -10
  813. package/dist-es/contact-details/MailLinkComponent.js.map +1 -1
  814. package/dist-es/contact-details/internal/ContactDetailsContext.js.map +1 -1
  815. package/dist-es/contact-details/internal/FavoriteToggle.js +18 -15
  816. package/dist-es/contact-details/internal/FavoriteToggle.js.map +1 -1
  817. package/dist-es/contact-details/internal/FavoriteToggleWithTooltip.js +1 -9
  818. package/dist-es/contact-details/internal/FavoriteToggleWithTooltip.js.map +1 -1
  819. package/dist-es/contact-details/internal/StarIcon.js +10 -12
  820. package/dist-es/contact-details/internal/StarIcon.js.map +1 -1
  821. package/dist-es/contact-details/internal/StarIconContainer.js +28 -22
  822. package/dist-es/contact-details/internal/StarIconContainer.js.map +1 -1
  823. package/dist-es/contact-details/internal/useComponentSize.js.map +1 -1
  824. package/dist-es/content-status/ContentStatus.js +16 -29
  825. package/dist-es/content-status/ContentStatus.js.map +1 -1
  826. package/dist-es/content-status/internal/StatusIndicator.js +30 -21
  827. package/dist-es/content-status/internal/StatusIndicator.js.map +1 -1
  828. package/dist-es/date-input/DateInput.css.js +1 -1
  829. package/dist-es/date-input/DateInputRange.js +185 -194
  830. package/dist-es/date-input/DateInputRange.js.map +1 -1
  831. package/dist-es/date-input/DateInputSingle.js +92 -105
  832. package/dist-es/date-input/DateInputSingle.js.map +1 -1
  833. package/dist-es/date-picker/DatePicker.js +15 -34
  834. package/dist-es/date-picker/DatePicker.js.map +1 -1
  835. package/dist-es/date-picker/DatePickerActions.js +16 -29
  836. package/dist-es/date-picker/DatePickerActions.js.map +1 -1
  837. package/dist-es/date-picker/DatePickerContext.js +6 -2
  838. package/dist-es/date-picker/DatePickerContext.js.map +1 -1
  839. package/dist-es/date-picker/DatePickerOverlay.js +19 -15
  840. package/dist-es/date-picker/DatePickerOverlay.js.map +1 -1
  841. package/dist-es/date-picker/DatePickerOverlayProvider.js +24 -14
  842. package/dist-es/date-picker/DatePickerOverlayProvider.js.map +1 -1
  843. package/dist-es/date-picker/DatePickerRangeInput.js +99 -46
  844. package/dist-es/date-picker/DatePickerRangeInput.js.map +1 -1
  845. package/dist-es/date-picker/DatePickerRangePanel.js +67 -90
  846. package/dist-es/date-picker/DatePickerRangePanel.js.map +1 -1
  847. package/dist-es/date-picker/DatePickerSingleInput.js +122 -77
  848. package/dist-es/date-picker/DatePickerSingleInput.js.map +1 -1
  849. package/dist-es/date-picker/DatePickerSinglePanel.js +35 -62
  850. package/dist-es/date-picker/DatePickerSinglePanel.js.map +1 -1
  851. package/dist-es/date-picker/DatePickerTrigger.js +30 -0
  852. package/dist-es/date-picker/DatePickerTrigger.js.map +1 -0
  853. package/dist-es/date-picker/useDatePicker.js +61 -111
  854. package/dist-es/date-picker/useDatePicker.js.map +1 -1
  855. package/dist-es/deck-item/DeckItem.js +21 -16
  856. package/dist-es/deck-item/DeckItem.js.map +1 -1
  857. package/dist-es/deck-layout/DeckLayout.js +34 -25
  858. package/dist-es/deck-layout/DeckLayout.js.map +1 -1
  859. package/dist-es/dialog/DialogHeader.css.js +4 -0
  860. package/dist-es/dialog/DialogHeader.css.js.map +1 -0
  861. package/dist-es/dialog/DialogHeader.js +61 -0
  862. package/dist-es/dialog/DialogHeader.js.map +1 -0
  863. package/dist-es/dropdown/Dropdown.js +28 -22
  864. package/dist-es/dropdown/Dropdown.js.map +1 -1
  865. package/dist-es/dropdown/DropdownBase.js +29 -27
  866. package/dist-es/dropdown/DropdownBase.js.map +1 -1
  867. package/dist-es/dropdown/DropdownButton.js +40 -34
  868. package/dist-es/dropdown/DropdownButton.js.map +1 -1
  869. package/dist-es/dropdown/useClickAway.js.map +1 -1
  870. package/dist-es/dropdown/useDropdown.js +2 -2
  871. package/dist-es/dropdown/useDropdown.js.map +1 -1
  872. package/dist-es/dropdown/useDropdownBase.js +3 -3
  873. package/dist-es/dropdown/useDropdownBase.js.map +1 -1
  874. package/dist-es/editable-label/EditableLabel.js +23 -17
  875. package/dist-es/editable-label/EditableLabel.js.map +1 -1
  876. package/dist-es/form-field-context-legacy/FormFieldLegacyContext.js.map +1 -1
  877. package/dist-es/form-field-context-legacy/useFormFieldLegacyProps.js.map +1 -1
  878. package/dist-es/form-field-legacy/FormActivationIndicator.js +29 -36
  879. package/dist-es/form-field-legacy/FormActivationIndicator.js.map +1 -1
  880. package/dist-es/form-field-legacy/FormFieldLegacy.js +53 -42
  881. package/dist-es/form-field-legacy/FormFieldLegacy.js.map +1 -1
  882. package/dist-es/form-field-legacy/FormHelperText.js +1 -5
  883. package/dist-es/form-field-legacy/FormHelperText.js.map +1 -1
  884. package/dist-es/form-field-legacy/FormLabel.js +34 -22
  885. package/dist-es/form-field-legacy/FormLabel.js.map +1 -1
  886. package/dist-es/form-field-legacy/NecessityIndicator.js +9 -6
  887. package/dist-es/form-field-legacy/NecessityIndicator.js.map +1 -1
  888. package/dist-es/form-field-legacy/StatusIndicator.js +22 -16
  889. package/dist-es/form-field-legacy/StatusIndicator.js.map +1 -1
  890. package/dist-es/form-group/FormGroup.js +8 -5
  891. package/dist-es/form-group/FormGroup.js.map +1 -1
  892. package/dist-es/formatted-input/FormattedInput.js +13 -10
  893. package/dist-es/formatted-input/FormattedInput.js.map +1 -1
  894. package/dist-es/formatted-input/internal/InputWithMask.js +13 -12
  895. package/dist-es/formatted-input/internal/InputWithMask.js.map +1 -1
  896. package/dist-es/index.js +15 -8
  897. package/dist-es/index.js.map +1 -1
  898. package/dist-es/input-legacy/InputLegacy.js +48 -45
  899. package/dist-es/input-legacy/InputLegacy.js.map +1 -1
  900. package/dist-es/input-legacy/StaticInputAdornment.js +1 -6
  901. package/dist-es/input-legacy/StaticInputAdornment.js.map +1 -1
  902. package/dist-es/input-legacy/useCursorOnFocus.js.map +1 -1
  903. package/dist-es/layer-layout/LayerLayout.js +34 -28
  904. package/dist-es/layer-layout/LayerLayout.js.map +1 -1
  905. package/dist-es/list/Highlighter.js +9 -9
  906. package/dist-es/list/Highlighter.js.map +1 -1
  907. package/dist-es/list/List.js +61 -61
  908. package/dist-es/list/List.js.map +1 -1
  909. package/dist-es/list/ListItem.js +29 -26
  910. package/dist-es/list/ListItem.js.map +1 -1
  911. package/dist-es/list/VirtualizedList.js +52 -46
  912. package/dist-es/list/VirtualizedList.js.map +1 -1
  913. package/dist-es/list/keyset.js.map +1 -1
  914. package/dist-es/list/useList.js +3 -0
  915. package/dist-es/list/useList.js.map +1 -1
  916. package/dist-es/list/useListHeight.js +4 -2
  917. package/dist-es/list/useListHeight.js.map +1 -1
  918. package/dist-es/list/useVirtualization.js.map +1 -1
  919. package/dist-es/list-deprecated/List.js +6 -12
  920. package/dist-es/list-deprecated/List.js.map +1 -1
  921. package/dist-es/list-deprecated/ListBase.js +99 -85
  922. package/dist-es/list-deprecated/ListBase.js.map +1 -1
  923. package/dist-es/list-deprecated/ListItem.js +1 -6
  924. package/dist-es/list-deprecated/ListItem.js.map +1 -1
  925. package/dist-es/list-deprecated/ListItemBase.js +10 -12
  926. package/dist-es/list-deprecated/ListItemBase.js.map +1 -1
  927. package/dist-es/list-deprecated/ListItemContext.js.map +1 -1
  928. package/dist-es/list-deprecated/ListStateContext.js.map +1 -1
  929. package/dist-es/list-deprecated/internal/DescendantContext.js +1 -4
  930. package/dist-es/list-deprecated/internal/DescendantContext.js.map +1 -1
  931. package/dist-es/list-deprecated/internal/Highlighter.js +4 -9
  932. package/dist-es/list-deprecated/internal/Highlighter.js.map +1 -1
  933. package/dist-es/list-deprecated/internal/calcPreferredListHeight.js +2 -1
  934. package/dist-es/list-deprecated/internal/calcPreferredListHeight.js.map +1 -1
  935. package/dist-es/list-deprecated/internal/scrollIntoView.js.map +1 -1
  936. package/dist-es/list-deprecated/internal/useListAutoSizer.js.map +1 -1
  937. package/dist-es/list-deprecated/internal/useWidth.js.map +1 -1
  938. package/dist-es/list-deprecated/itemToString.js.map +1 -1
  939. package/dist-es/list-deprecated/useList.js +7 -7
  940. package/dist-es/list-deprecated/useList.js.map +1 -1
  941. package/dist-es/list-deprecated/useListItem.js +5 -0
  942. package/dist-es/list-deprecated/useListItem.js.map +1 -1
  943. package/dist-es/list-deprecated/useTypeSelect.js +2 -0
  944. package/dist-es/list-deprecated/useTypeSelect.js.map +1 -1
  945. package/dist-es/list-next/ListItemNext.js +25 -23
  946. package/dist-es/list-next/ListItemNext.js.map +1 -1
  947. package/dist-es/list-next/ListNext.js +5 -5
  948. package/dist-es/list-next/ListNext.js.map +1 -1
  949. package/dist-es/list-next/ListNextContext.js.map +1 -1
  950. package/dist-es/list-next/useList.js +3 -4
  951. package/dist-es/list-next/useList.js.map +1 -1
  952. package/dist-es/localization-provider/LocalizationProvider.js +44 -0
  953. package/dist-es/localization-provider/LocalizationProvider.js.map +1 -0
  954. package/dist-es/logo/Logo.js +1 -5
  955. package/dist-es/logo/Logo.js.map +1 -1
  956. package/dist-es/logo/LogoImage.js +9 -6
  957. package/dist-es/logo/LogoImage.js.map +1 -1
  958. package/dist-es/logo/LogoSeparator.js +1 -5
  959. package/dist-es/logo/LogoSeparator.js.map +1 -1
  960. package/dist-es/menu-button/MenuButton.js +21 -15
  961. package/dist-es/menu-button/MenuButton.js.map +1 -1
  962. package/dist-es/menu-button/MenuButtonTrigger.js +21 -15
  963. package/dist-es/menu-button/MenuButtonTrigger.js.map +1 -1
  964. package/dist-es/metric/Metric.js +5 -5
  965. package/dist-es/metric/Metric.js.map +1 -1
  966. package/dist-es/metric/MetricContent.js +32 -28
  967. package/dist-es/metric/MetricContent.js.map +1 -1
  968. package/dist-es/metric/MetricHeader.js +20 -24
  969. package/dist-es/metric/MetricHeader.js.map +1 -1
  970. package/dist-es/metric/internal/MetricContext.js.map +1 -1
  971. package/dist-es/overlay/OverlayHeader.css.js +4 -0
  972. package/dist-es/overlay/OverlayHeader.css.js.map +1 -0
  973. package/dist-es/overlay/OverlayHeader.js +33 -0
  974. package/dist-es/overlay/OverlayHeader.js.map +1 -0
  975. package/dist-es/portal/Portal.js +3 -8
  976. package/dist-es/portal/Portal.js.map +1 -1
  977. package/dist-es/query-input/QueryInput.js +21 -17
  978. package/dist-es/query-input/QueryInput.js.map +1 -1
  979. package/dist-es/query-input/internal/CategoryList.js +8 -15
  980. package/dist-es/query-input/internal/CategoryList.js.map +1 -1
  981. package/dist-es/query-input/internal/CategoryListContext.js.map +1 -1
  982. package/dist-es/query-input/internal/CategoryListItem.js +9 -30
  983. package/dist-es/query-input/internal/CategoryListItem.js.map +1 -1
  984. package/dist-es/query-input/internal/QueryInputBody.js +16 -22
  985. package/dist-es/query-input/internal/QueryInputBody.js.map +1 -1
  986. package/dist-es/query-input/internal/SearchList.js +21 -26
  987. package/dist-es/query-input/internal/SearchList.js.map +1 -1
  988. package/dist-es/query-input/internal/ValueList.js +18 -23
  989. package/dist-es/query-input/internal/ValueList.js.map +1 -1
  990. package/dist-es/query-input/internal/ValueSelector.js +42 -35
  991. package/dist-es/query-input/internal/ValueSelector.js.map +1 -1
  992. package/dist-es/query-input/internal/usePopperStatus.js.map +1 -1
  993. package/dist-es/query-input/useQueryInput.js.map +1 -1
  994. package/dist-es/responsive/OverflowReducer.js +7 -7
  995. package/dist-es/responsive/OverflowReducer.js.map +1 -1
  996. package/dist-es/responsive/overflowUtils.js.map +1 -1
  997. package/dist-es/responsive/useDynamicCollapse.js.map +1 -1
  998. package/dist-es/responsive/useInstantCollapse.js +1 -2
  999. package/dist-es/responsive/useInstantCollapse.js.map +1 -1
  1000. package/dist-es/responsive/useOverflow.js.map +1 -1
  1001. package/dist-es/responsive/useOverflowCollectionItems.js +1 -2
  1002. package/dist-es/responsive/useOverflowCollectionItems.js.map +1 -1
  1003. package/dist-es/responsive/useOverflowLayout.js +4 -5
  1004. package/dist-es/responsive/useOverflowLayout.js.map +1 -1
  1005. package/dist-es/responsive/useReclaimSpace.js +1 -2
  1006. package/dist-es/responsive/useReclaimSpace.js.map +1 -1
  1007. package/dist-es/responsive/useResizeObserver.js.map +1 -1
  1008. package/dist-es/responsive/useWidth.js.map +1 -1
  1009. package/dist-es/responsive/utils.js +2 -8
  1010. package/dist-es/responsive/utils.js.map +1 -1
  1011. package/dist-es/search-input/SearchInput.js +27 -22
  1012. package/dist-es/search-input/SearchInput.js.map +1 -1
  1013. package/dist-es/skip-link/SkipLink.js +5 -4
  1014. package/dist-es/skip-link/SkipLink.js.map +1 -1
  1015. package/dist-es/skip-link/SkipLinks.js +1 -6
  1016. package/dist-es/skip-link/SkipLinks.js.map +1 -1
  1017. package/dist-es/skip-link/internal/useManageFocusOnTarget.js.map +1 -1
  1018. package/dist-es/slider/Slider.js +47 -39
  1019. package/dist-es/slider/Slider.js.map +1 -1
  1020. package/dist-es/slider/internal/SliderContext.js.map +1 -1
  1021. package/dist-es/slider/internal/SliderMarks.js +8 -8
  1022. package/dist-es/slider/internal/SliderMarks.js.map +1 -1
  1023. package/dist-es/slider/internal/SliderSelection.js +13 -10
  1024. package/dist-es/slider/internal/SliderSelection.js.map +1 -1
  1025. package/dist-es/slider/internal/SliderThumb.js +49 -43
  1026. package/dist-es/slider/internal/SliderThumb.js.map +1 -1
  1027. package/dist-es/slider/internal/SliderTrack.js +26 -22
  1028. package/dist-es/slider/internal/SliderTrack.js.map +1 -1
  1029. package/dist-es/slider/internal/useKeyDownThumb.js +1 -2
  1030. package/dist-es/slider/internal/useKeyDownThumb.js.map +1 -1
  1031. package/dist-es/slider/internal/utils.js +5 -10
  1032. package/dist-es/slider/internal/utils.js.map +1 -1
  1033. package/dist-es/static-list/StaticList.js +1 -6
  1034. package/dist-es/static-list/StaticList.js.map +1 -1
  1035. package/dist-es/static-list/StaticListItem.js +1 -6
  1036. package/dist-es/static-list/StaticListItem.js.map +1 -1
  1037. package/dist-es/static-list/StaticListItemContent.js +1 -6
  1038. package/dist-es/static-list/StaticListItemContent.js.map +1 -1
  1039. package/dist-es/stepped-tracker/StepLabel/StepLabel.js +1 -8
  1040. package/dist-es/stepped-tracker/StepLabel/StepLabel.js.map +1 -1
  1041. package/dist-es/stepped-tracker/SteppedTracker.js +6 -10
  1042. package/dist-es/stepped-tracker/SteppedTracker.js.map +1 -1
  1043. package/dist-es/stepped-tracker/SteppedTrackerContext.js +2 -8
  1044. package/dist-es/stepped-tracker/SteppedTrackerContext.js.map +1 -1
  1045. package/dist-es/stepped-tracker/TrackerConnector/TrackerConnector.js +1 -3
  1046. package/dist-es/stepped-tracker/TrackerConnector/TrackerConnector.js.map +1 -1
  1047. package/dist-es/stepped-tracker/TrackerStep/TrackerStep.js +24 -29
  1048. package/dist-es/stepped-tracker/TrackerStep/TrackerStep.js.map +1 -1
  1049. package/dist-es/stepper-input/StepperInput.js +84 -87
  1050. package/dist-es/stepper-input/StepperInput.js.map +1 -1
  1051. package/dist-es/stepper-input/internal/useActivateWhileMouseDown.js +2 -4
  1052. package/dist-es/stepper-input/internal/useActivateWhileMouseDown.js.map +1 -1
  1053. package/dist-es/stepper-input/internal/useInterval.js.map +1 -1
  1054. package/dist-es/stepper-input/internal/utils.js +5 -10
  1055. package/dist-es/stepper-input/internal/utils.js.map +1 -1
  1056. package/dist-es/stepper-input/useStepperInput.js +6 -12
  1057. package/dist-es/stepper-input/useStepperInput.js.map +1 -1
  1058. package/dist-es/system-status/SystemStatus.css.js +1 -1
  1059. package/dist-es/system-status/SystemStatus.js +13 -13
  1060. package/dist-es/system-status/SystemStatus.js.map +1 -1
  1061. package/dist-es/system-status/SystemStatusActions.js +1 -5
  1062. package/dist-es/system-status/SystemStatusActions.js.map +1 -1
  1063. package/dist-es/system-status/SystemStatusContent.js +1 -5
  1064. package/dist-es/system-status/SystemStatusContent.js.map +1 -1
  1065. package/dist-es/tabs/Tab.js +74 -55
  1066. package/dist-es/tabs/Tab.js.map +1 -1
  1067. package/dist-es/tabs/TabActivationIndicator.js +1 -8
  1068. package/dist-es/tabs/TabActivationIndicator.js.map +1 -1
  1069. package/dist-es/tabs/TabPanel.js +11 -8
  1070. package/dist-es/tabs/TabPanel.js.map +1 -1
  1071. package/dist-es/tabs/Tabs.js +21 -15
  1072. package/dist-es/tabs/Tabs.js.map +1 -1
  1073. package/dist-es/tabs/Tabstrip.js +86 -70
  1074. package/dist-es/tabs/Tabstrip.js.map +1 -1
  1075. package/dist-es/tabs/drag-drop/Draggable.js +5 -4
  1076. package/dist-es/tabs/drag-drop/Draggable.js.map +1 -1
  1077. package/dist-es/tabs/drag-drop/drag-utils.js +1 -2
  1078. package/dist-es/tabs/drag-drop/drag-utils.js.map +1 -1
  1079. package/dist-es/tabs/drag-drop/useDragDrop.js.map +1 -1
  1080. package/dist-es/tabs/drag-drop/useDragDropNaturalMovement.js +9 -6
  1081. package/dist-es/tabs/drag-drop/useDragDropNaturalMovement.js.map +1 -1
  1082. package/dist-es/tabs/drag-drop/useDragSpacers.js +1 -0
  1083. package/dist-es/tabs/drag-drop/useDragSpacers.js.map +1 -1
  1084. package/dist-es/tabs/useActivationIndicator.js.map +1 -1
  1085. package/dist-es/tabs/useEditableItem.js.map +1 -1
  1086. package/dist-es/tabs/useItemsWithIds.js +1 -5
  1087. package/dist-es/tabs/useItemsWithIds.js.map +1 -1
  1088. package/dist-es/tabs/useKeyboardNavigation.js.map +1 -1
  1089. package/dist-es/tabs/useSelection.js +1 -1
  1090. package/dist-es/tabs/useSelection.js.map +1 -1
  1091. package/dist-es/tabs/useTabs.js +3 -3
  1092. package/dist-es/tabs/useTabs.js.map +1 -1
  1093. package/dist-es/tabs/useTabstrip.js +3 -1
  1094. package/dist-es/tabs/useTabstrip.js.map +1 -1
  1095. package/dist-es/tabs-next/TabBar.css.js +4 -0
  1096. package/dist-es/tabs-next/TabBar.css.js.map +1 -0
  1097. package/dist-es/tabs-next/TabBar.js +39 -0
  1098. package/dist-es/tabs-next/TabBar.js.map +1 -0
  1099. package/dist-es/tabs-next/TabListNext.css.js +4 -0
  1100. package/dist-es/tabs-next/TabListNext.css.js.map +1 -0
  1101. package/dist-es/tabs-next/TabListNext.js +129 -0
  1102. package/dist-es/tabs-next/TabListNext.js.map +1 -0
  1103. package/dist-es/tabs-next/TabNext.css.js +1 -1
  1104. package/dist-es/tabs-next/TabNext.js +77 -55
  1105. package/dist-es/tabs-next/TabNext.js.map +1 -1
  1106. package/dist-es/tabs-next/TabNextAction.js +33 -0
  1107. package/dist-es/tabs-next/TabNextAction.js.map +1 -0
  1108. package/dist-es/tabs-next/TabNextContext.js +14 -14
  1109. package/dist-es/tabs-next/TabNextContext.js.map +1 -1
  1110. package/dist-es/tabs-next/TabNextPanel.css.js +4 -0
  1111. package/dist-es/tabs-next/TabNextPanel.css.js.map +1 -0
  1112. package/dist-es/tabs-next/TabNextPanel.js +75 -0
  1113. package/dist-es/tabs-next/TabNextPanel.js.map +1 -0
  1114. package/dist-es/tabs-next/TabNextTrigger.css.js +4 -0
  1115. package/dist-es/tabs-next/TabNextTrigger.css.js.map +1 -0
  1116. package/dist-es/tabs-next/TabNextTrigger.js +75 -0
  1117. package/dist-es/tabs-next/TabNextTrigger.js.map +1 -0
  1118. package/dist-es/tabs-next/TabOverflowList.css.js +4 -0
  1119. package/dist-es/tabs-next/TabOverflowList.css.js.map +1 -0
  1120. package/dist-es/tabs-next/TabOverflowList.js +130 -0
  1121. package/dist-es/tabs-next/TabOverflowList.js.map +1 -0
  1122. package/dist-es/tabs-next/TabsNext.js +174 -0
  1123. package/dist-es/tabs-next/TabsNext.js.map +1 -0
  1124. package/dist-es/tabs-next/TabsNextContext.js +30 -0
  1125. package/dist-es/tabs-next/TabsNextContext.js.map +1 -0
  1126. package/dist-es/tabs-next/hooks/useCollection.js +89 -0
  1127. package/dist-es/tabs-next/hooks/useCollection.js.map +1 -0
  1128. package/dist-es/tabs-next/hooks/useFocusOutside.js +23 -0
  1129. package/dist-es/tabs-next/hooks/useFocusOutside.js.map +1 -0
  1130. package/dist-es/tabs-next/hooks/useOverflow.js +139 -0
  1131. package/dist-es/tabs-next/hooks/useOverflow.js.map +1 -0
  1132. package/dist-es/toast-group/ToastGroup.js +8 -5
  1133. package/dist-es/toast-group/ToastGroup.js.map +1 -1
  1134. package/dist-es/tokenized-input/TokenizedInput.js +9 -6
  1135. package/dist-es/tokenized-input/TokenizedInput.js.map +1 -1
  1136. package/dist-es/tokenized-input/TokenizedInputBase.js +104 -89
  1137. package/dist-es/tokenized-input/TokenizedInputBase.js.map +1 -1
  1138. package/dist-es/tokenized-input/internal/InputPill.js +24 -24
  1139. package/dist-es/tokenized-input/internal/InputPill.js.map +1 -1
  1140. package/dist-es/tokenized-input/internal/InputRuler.js +1 -5
  1141. package/dist-es/tokenized-input/internal/InputRuler.js.map +1 -1
  1142. package/dist-es/tokenized-input/internal/calcFirstHiddenIndex.js.map +1 -1
  1143. package/dist-es/tokenized-input/internal/defaultItemToString.js.map +1 -1
  1144. package/dist-es/tokenized-input/internal/getCursorPosition.js.map +1 -1
  1145. package/dist-es/tokenized-input/internal/useResizeObserver.js.map +1 -1
  1146. package/dist-es/tokenized-input/internal/useWidth.js.map +1 -1
  1147. package/dist-es/tokenized-input/useTokenizedInput.js +10 -0
  1148. package/dist-es/tokenized-input/useTokenizedInput.js.map +1 -1
  1149. package/dist-es/tokenized-input-next/TokenizedInputNext.js +68 -56
  1150. package/dist-es/tokenized-input-next/TokenizedInputNext.js.map +1 -1
  1151. package/dist-es/tokenized-input-next/internal/InputPill.js +6 -10
  1152. package/dist-es/tokenized-input-next/internal/InputPill.js.map +1 -1
  1153. package/dist-es/tokenized-input-next/internal/calcFirstHiddenIndex.js.map +1 -1
  1154. package/dist-es/tokenized-input-next/internal/useResizeObserver.js.map +1 -1
  1155. package/dist-es/tokenized-input-next/internal/useWidth.js +1 -1
  1156. package/dist-es/tokenized-input-next/internal/useWidth.js.map +1 -1
  1157. package/dist-es/tokenized-input-next/useTokenizedInputNext.js +8 -3
  1158. package/dist-es/tokenized-input-next/useTokenizedInputNext.js.map +1 -1
  1159. package/dist-es/toolbar/Toolbar.js +43 -33
  1160. package/dist-es/toolbar/Toolbar.js.map +1 -1
  1161. package/dist-es/toolbar/ToolbarButton.js +10 -7
  1162. package/dist-es/toolbar/ToolbarButton.js.map +1 -1
  1163. package/dist-es/toolbar/Tooltray.js +23 -27
  1164. package/dist-es/toolbar/Tooltray.js.map +1 -1
  1165. package/dist-es/toolbar/internal/renderToolbarItems.js +7 -10
  1166. package/dist-es/toolbar/internal/renderToolbarItems.js.map +1 -1
  1167. package/dist-es/toolbar/internal/renderTrayTools.js +23 -16
  1168. package/dist-es/toolbar/internal/renderTrayTools.js.map +1 -1
  1169. package/dist-es/toolbar/overflow-panel/OverflowPanel.js +40 -41
  1170. package/dist-es/toolbar/overflow-panel/OverflowPanel.js.map +1 -1
  1171. package/dist-es/toolbar/overflow-panel/OverflowSeparator.js +1 -4
  1172. package/dist-es/toolbar/overflow-panel/OverflowSeparator.js.map +1 -1
  1173. package/dist-es/toolbar/toolbar-field/ToolbarField.js +1 -4
  1174. package/dist-es/toolbar/toolbar-field/ToolbarField.js.map +1 -1
  1175. package/dist-es/toolbar/toolbar-field/useToolbarField.js +2 -2
  1176. package/dist-es/toolbar/toolbar-field/useToolbarField.js.map +1 -1
  1177. package/dist-es/tree/Tree.js +57 -46
  1178. package/dist-es/tree/Tree.js.map +1 -1
  1179. package/dist-es/tree/TreeNode.js +11 -23
  1180. package/dist-es/tree/TreeNode.js.map +1 -1
  1181. package/dist-es/tree/use-tree-keyboard-navigation.js.map +1 -1
  1182. package/dist-es/tree/useTree.js +11 -4
  1183. package/dist-es/tree/useTree.js.map +1 -1
  1184. package/dist-es/utils/escapeRegExp.js.map +1 -1
  1185. package/dist-es/utils/forwardCallbackProps.js.map +1 -1
  1186. package/dist-es/utils/isEmail.js.map +1 -1
  1187. package/dist-es/utils/partition.js.map +1 -1
  1188. package/dist-es/utils/useClickOutside.js +1 -1
  1189. package/dist-es/utils/useClickOutside.js.map +1 -1
  1190. package/dist-es/utils/useEventCallback.js +4 -1
  1191. package/dist-es/utils/useEventCallback.js.map +1 -1
  1192. package/dist-es/utils/useIsViewportLargerThanBreakpoint.js.map +1 -1
  1193. package/dist-es/utils/useLayoutEffectOnce.js.map +1 -1
  1194. package/dist-es/utils/useLayoutEffectSkipFirst.js.map +1 -1
  1195. package/dist-es/utils/useOverflowDetection.js.map +1 -1
  1196. package/dist-es/utils/useSlideSelection.js.map +1 -1
  1197. package/dist-es/window/ElectronWindow.js +6 -14
  1198. package/dist-es/window/ElectronWindow.js.map +1 -1
  1199. package/dist-es/window/WindowContext.js +1 -5
  1200. package/dist-es/window/WindowContext.js.map +1 -1
  1201. package/dist-es/window/desktop-utils.js.map +1 -1
  1202. package/dist-types/calendar/Calendar.d.ts +11 -6
  1203. package/dist-types/calendar/CalendarGrid.d.ts +13 -0
  1204. package/dist-types/calendar/CalendarNavigation.d.ts +9 -11
  1205. package/dist-types/calendar/CalendarWeekHeader.d.ts +4 -3
  1206. package/dist-types/calendar/index.d.ts +1 -2
  1207. package/dist-types/calendar/internal/CalendarContext.d.ts +5 -6
  1208. package/dist-types/calendar/internal/CalendarDay.d.ts +6 -8
  1209. package/dist-types/calendar/internal/CalendarMonth.d.ts +5 -6
  1210. package/dist-types/calendar/internal/useFocusManagement.d.ts +3 -4
  1211. package/dist-types/calendar/internal/utils.d.ts +7 -11
  1212. package/dist-types/calendar/useCalendar.d.ts +207 -55
  1213. package/dist-types/calendar/useCalendarDay.d.ts +5 -7
  1214. package/dist-types/calendar/useCalendarSelection.d.ts +92 -58
  1215. package/dist-types/contact-details/internal/StarIcon.d.ts +1 -2
  1216. package/dist-types/contact-details/internal/StarIconContainer.d.ts +2 -2
  1217. package/dist-types/date-input/DateInputRange.d.ts +38 -56
  1218. package/dist-types/date-input/DateInputSingle.d.ts +32 -49
  1219. package/dist-types/date-input/index.d.ts +0 -1
  1220. package/dist-types/date-picker/DatePicker.d.ts +23 -5
  1221. package/dist-types/date-picker/DatePickerActions.d.ts +16 -15
  1222. package/dist-types/date-picker/DatePickerContext.d.ts +42 -59
  1223. package/dist-types/date-picker/DatePickerOverlayProvider.d.ts +10 -0
  1224. package/dist-types/date-picker/DatePickerRangeInput.d.ts +13 -3
  1225. package/dist-types/date-picker/DatePickerRangePanel.d.ts +17 -17
  1226. package/dist-types/date-picker/DatePickerSingleInput.d.ts +12 -3
  1227. package/dist-types/date-picker/DatePickerSinglePanel.d.ts +11 -11
  1228. package/dist-types/date-picker/DatePickerTrigger.d.ts +9 -0
  1229. package/dist-types/date-picker/index.d.ts +3 -2
  1230. package/dist-types/date-picker/useDatePicker.d.ts +52 -59
  1231. package/dist-types/dialog/DialogHeader.d.ts +28 -0
  1232. package/dist-types/dialog/index.d.ts +1 -0
  1233. package/dist-types/editable-label/EditableLabel.d.ts +1 -2
  1234. package/dist-types/index.d.ts +3 -0
  1235. package/dist-types/list-deprecated/internal/DescendantContext.d.ts +1 -2
  1236. package/dist-types/localization-provider/LocalizationProvider.d.ts +62 -0
  1237. package/dist-types/localization-provider/index.d.ts +1 -0
  1238. package/dist-types/overlay/OverlayHeader.d.ts +20 -0
  1239. package/dist-types/overlay/index.d.ts +1 -0
  1240. package/dist-types/responsive/overflowUtils.d.ts +1 -1
  1241. package/dist-types/tabs/drag-drop/drag-utils.d.ts +6 -6
  1242. package/dist-types/tabs-next/TabBar.d.ts +12 -0
  1243. package/dist-types/tabs-next/TabListNext.d.ts +12 -0
  1244. package/dist-types/tabs-next/TabNext.d.ts +9 -2
  1245. package/dist-types/tabs-next/TabNextAction.d.ts +4 -0
  1246. package/dist-types/tabs-next/TabNextContext.d.ts +9 -16
  1247. package/dist-types/tabs-next/TabNextPanel.d.ts +8 -0
  1248. package/dist-types/tabs-next/TabNextTrigger.d.ts +4 -0
  1249. package/dist-types/tabs-next/TabOverflowList.d.ts +11 -0
  1250. package/dist-types/tabs-next/TabsNext.d.ts +17 -0
  1251. package/dist-types/tabs-next/TabsNextContext.d.ts +21 -0
  1252. package/dist-types/tabs-next/hooks/useCollection.d.ts +18 -0
  1253. package/dist-types/tabs-next/hooks/useFocusOutside.d.ts +2 -0
  1254. package/dist-types/tabs-next/hooks/useOverflow.d.ts +11 -0
  1255. package/dist-types/tabs-next/index.d.ts +6 -1
  1256. package/package.json +18 -9
  1257. package/dist-cjs/calendar/CalendarDateGrid.css.js +0 -6
  1258. package/dist-cjs/calendar/CalendarDateGrid.css.js.map +0 -1
  1259. package/dist-cjs/calendar/CalendarDateGrid.js +0 -100
  1260. package/dist-cjs/calendar/CalendarDateGrid.js.map +0 -1
  1261. package/dist-cjs/calendar/formatDate.js +0 -56
  1262. package/dist-cjs/calendar/formatDate.js.map +0 -1
  1263. package/dist-cjs/date-input/utils.js +0 -65
  1264. package/dist-cjs/date-input/utils.js.map +0 -1
  1265. package/dist-cjs/tabs-next/OverflowMenu.js +0 -48
  1266. package/dist-cjs/tabs-next/OverflowMenu.js.map +0 -1
  1267. package/dist-cjs/tabs-next/TabstripNext.css.js +0 -6
  1268. package/dist-cjs/tabs-next/TabstripNext.css.js.map +0 -1
  1269. package/dist-cjs/tabs-next/TabstripNext.js +0 -193
  1270. package/dist-cjs/tabs-next/TabstripNext.js.map +0 -1
  1271. package/dist-es/calendar/CalendarDateGrid.css.js +0 -4
  1272. package/dist-es/calendar/CalendarDateGrid.css.js.map +0 -1
  1273. package/dist-es/calendar/CalendarDateGrid.js +0 -96
  1274. package/dist-es/calendar/CalendarDateGrid.js.map +0 -1
  1275. package/dist-es/calendar/formatDate.js +0 -51
  1276. package/dist-es/calendar/formatDate.js.map +0 -1
  1277. package/dist-es/date-input/utils.js +0 -57
  1278. package/dist-es/date-input/utils.js.map +0 -1
  1279. package/dist-es/tabs-next/OverflowMenu.js +0 -44
  1280. package/dist-es/tabs-next/OverflowMenu.js.map +0 -1
  1281. package/dist-es/tabs-next/TabstripNext.css.js +0 -4
  1282. package/dist-es/tabs-next/TabstripNext.css.js.map +0 -1
  1283. package/dist-es/tabs-next/TabstripNext.js +0 -185
  1284. package/dist-es/tabs-next/TabstripNext.js.map +0 -1
  1285. package/dist-types/calendar/CalendarDateGrid.d.ts +0 -10
  1286. package/dist-types/calendar/formatDate.d.ts +0 -14
  1287. package/dist-types/date-input/utils.d.ts +0 -43
  1288. package/dist-types/tabs-next/OverflowMenu.d.ts +0 -11
  1289. package/dist-types/tabs-next/TabstripNext.d.ts +0 -12
@@ -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":["makePrefixer","forwardRef","DatePickerActions","useWindow","useComponentCssInjection","datePickerActions","useDatePickerContext","useEffect","jsxs","clsx","jsx","Button"],"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 type { DateFrameworkType } from \"@salt-ds/date-adapters\";\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 component.\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 TDate extends DateFrameworkType,\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<TDate> | 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<TDate> | null,\n ) => void;\n };\n\nexport const DatePickerActions = forwardRef(function DatePickerRangeInput<\n TDate extends DateFrameworkType,\n>(\n props: DatePickerActionsProps<TDate, \"single\" | \"range\">,\n ref: React.Ref<HTMLDivElement>,\n) {\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<TDate>;\n } else {\n stateAndHelpers = useDatePickerContext({\n selectionVariant: \"single\",\n }) as SingleDatePickerState<TDate>;\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 apply(event, selectedDate);\n onApply?.(event, selectedDate);\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":["makePrefixer","forwardRef","useWindow","useComponentCssInjection","datePickerActions","useDatePickerContext","useEffect","jsxs","clsx","jsx","Button"],"mappings":"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"}
@@ -1,7 +1,5 @@
1
1
  'use strict';
2
2
 
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
3
  var core = require('@salt-ds/core');
6
4
  var react = require('react');
7
5
 
@@ -11,7 +9,9 @@ function useDatePickerContext({
11
9
  selectionVariant
12
10
  }) {
13
11
  if (selectionVariant === "range") {
14
- const context2 = react.useContext(DateRangeSelectionContext);
12
+ const context2 = react.useContext(
13
+ DateRangeSelectionContext
14
+ );
15
15
  if (!context2) {
16
16
  throw new Error(
17
17
  'useDatePickerSelection should be called with props { selectionVariant : "range" } inside DateRangeSelectionContext.Provider'
@@ -19,7 +19,9 @@ function useDatePickerContext({
19
19
  }
20
20
  return context2;
21
21
  }
22
- const context = react.useContext(SingleDateSelectionContext);
22
+ const context = react.useContext(
23
+ SingleDateSelectionContext
24
+ );
23
25
  if (!context) {
24
26
  throw new Error(
25
27
  'useDatePickerSelection should be called with props { selectionVariant : "single" } inside SingleDateSelectionContext.Provider'
@@ -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":["createContext","context","useContext"],"mappings":";;;;;;;AAyKa,MAAA,0BAAA,GAA6BA,kBAExC,CAAA,4BAAA,EAA8B,KAAS,CAAA,EAAA;AAK5B,MAAA,yBAAA,GAA4BA,kBAEvC,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,IAAMC,MAAAA,QAAAA,GAAUC,iBAAW,yBAAyB,CAAA,CAAA;AACpD,IAAA,IAAI,CAACD,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,GAAUC,iBAAW,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 { createContext } from \"@salt-ds/core\";\nimport type { DateFrameworkType } from \"@salt-ds/date-adapters\";\nimport { type Context, type Ref, type SyntheticEvent, useContext } from \"react\";\nimport type { DateRangeSelection, SingleDateSelection } from \"../calendar\";\nimport type {\n DateInputRangeDetails,\n DateInputSingleDetails,\n} from \"../date-input\";\n\n/**\n * Interface representing the base state for a DatePicker.\n */\ninterface DatePickerBaseState<TDate extends DateFrameworkType> {\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?: TDate;\n /**\n * The maximum selectable date.\n */\n maxDate?: TDate;\n /**\n * Reference to the container element.\n */\n containerRef: Ref<HTMLDivElement>;\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 * Interface representing the state for a single date picker.\n */\nexport interface SingleDatePickerState<TDate extends DateFrameworkType>\n extends DatePickerBaseState<TDate> {\n /**\n * The state properties of the single date picker.\n */\n state: DatePickerBaseState<TDate>[\"state\"] & {\n /**\n * The selected date.\n */\n selectedDate: SingleDateSelection<TDate> | null;\n /**\n * The default selected date.\n */\n defaultSelectedDate?: SingleDateSelection<TDate>;\n };\n /**\n * Helper functions for managing the single date picker state.\n */\n helpers: DatePickerBaseState<TDate>[\"helpers\"] & {\n /**\n * Apply the selected single date.\n * @param event - The synthetic event.\n * @param date - The new applied date.\n */\n apply: (\n event: SyntheticEvent,\n date: SingleDateSelection<TDate> | null,\n ) => void;\n /**\n * Select a single date.\n * @param event - The synthetic event.\n * @param date - The selected date or null.\n * @param details - Details of selection, such as errors and original value.\n */\n select: (\n event: SyntheticEvent,\n date: SingleDateSelection<TDate> | null,\n details?: DateInputSingleDetails,\n ) => void;\n };\n}\n\n/**\n * Interface representing the state for a range date picker.\n */\nexport interface RangeDatePickerState<TDate extends DateFrameworkType>\n extends DatePickerBaseState<TDate> {\n /**\n * The state properties of the range date picker.\n */\n state: DatePickerBaseState<TDate>[\"state\"] & {\n /**\n * The selected date range.\n */\n selectedDate: DateRangeSelection<TDate> | null;\n /**\n * The default selected date range.\n */\n defaultSelectedDate?: DateRangeSelection<TDate>;\n };\n /**\n * Helper functions for managing the range date picker state.\n */\n helpers: DatePickerBaseState<TDate>[\"helpers\"] & {\n /**\n * Apply the selected date range.\n * @param event - The synthetic event.\n * @param date - The new applied date range\n */\n apply: (\n event: SyntheticEvent,\n date: DateRangeSelection<TDate> | null,\n ) => void;\n /**\n * Select a date range.\n * @param event - The synthetic event.\n * @param date - The selected date.\n * @param details - Details of selection, such as errors and original value. */\n select: (\n event: SyntheticEvent,\n date: DateRangeSelection<TDate> | null,\n details?: DateInputRangeDetails,\n ) => void;\n };\n}\n\n/**\n * Type representing the state of a date picker, either single or range.\n */\nexport type DatePickerState<TDate extends DateFrameworkType> =\n | SingleDatePickerState<TDate>\n | RangeDatePickerState<TDate>;\n\n/**\n * Context for single date selection.\n */\nexport const SingleDateSelectionContext = createContext<\n SingleDatePickerState<any> | undefined\n>(\"SingleDateSelectionContext\", undefined);\n\n/**\n * Context for date range selection.\n */\nexport const DateRangeSelectionContext = createContext<\n RangeDatePickerState<any> | 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<TDate extends DateFrameworkType>(props: {\n selectionVariant: \"single\";\n}): SingleDatePickerState<TDate>;\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<TDate extends DateFrameworkType>(props: {\n selectionVariant: \"range\";\n}): RangeDatePickerState<TDate>;\n\nexport function useDatePickerContext<TDate extends DateFrameworkType>({\n selectionVariant,\n}: UseDatePickerContextProps): DatePickerState<TDate> {\n if (selectionVariant === \"range\") {\n const context = useContext(\n DateRangeSelectionContext as Context<\n RangeDatePickerState<TDate> | undefined\n >,\n );\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(\n SingleDateSelectionContext as Context<\n SingleDatePickerState<TDate> | undefined\n >,\n );\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":["createContext","context","useContext"],"mappings":";;;;;AAiKa,MAAA,0BAAA,GAA6BA,kBAExC,CAAA,4BAAA,EAA8B,KAAS,CAAA;AAK5B,MAAA,yBAAA,GAA4BA,kBAEvC,CAAA,2BAAA,EAA6B,KAAS,CAAA;AAgCjC,SAAS,oBAAsD,CAAA;AAAA,EACpE;AACF,CAAsD,EAAA;AACpD,EAAA,IAAI,qBAAqB,OAAS,EAAA;AAChC,IAAA,MAAMC,QAAU,GAAAC,gBAAA;AAAA,MACd;AAAA,KAGF;AACA,IAAA,IAAI,CAACD,QAAS,EAAA;AACZ,MAAA,MAAM,IAAI,KAAA;AAAA,QACR;AAAA,OACF;AAAA;AAEF,IAAOA,OAAAA,QAAAA;AAAA;AAET,EAAA,MAAM,OAAU,GAAAC,gBAAA;AAAA,IACd;AAAA,GAGF;AACA,EAAA,IAAI,CAAC,OAAS,EAAA;AACZ,IAAA,MAAM,IAAI,KAAA;AAAA,MACR;AAAA,KACF;AAAA;AAEF,EAAO,OAAA,OAAA;AACT;;;;;;"}
@@ -1,7 +1,5 @@
1
1
  'use strict';
2
2
 
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
3
  var jsxRuntime = require('react/jsx-runtime');
6
4
  var core = require('@salt-ds/core');
7
5
  var styles = require('@salt-ds/styles');
@@ -29,21 +27,25 @@ const DatePickerOverlay = react.forwardRef(function DatePickerOverlay2({ classNa
29
27
  ref,
30
28
  floatingUIResult == null ? void 0 : floatingUIResult.floating
31
29
  );
32
- return /* @__PURE__ */ jsxRuntime.jsx(FloatingComponent, {
33
- className: clsx.clsx(withBaseName(), className),
34
- open: open || false,
35
- "aria-modal": "true",
36
- ref: floatingRef,
37
- focusManagerProps: (floatingUIResult == null ? void 0 : floatingUIResult.context) ? {
38
- context: floatingUIResult.context,
39
- initialFocus: 4
40
- } : void 0,
41
- ...getFloatingProps ? getFloatingProps({
42
- ...a11yProps,
43
- ...rest
44
- }) : rest,
45
- children
46
- });
30
+ return /* @__PURE__ */ jsxRuntime.jsx(
31
+ FloatingComponent,
32
+ {
33
+ className: clsx.clsx(withBaseName(), className),
34
+ open: open || false,
35
+ role: "dialog",
36
+ "aria-modal": "true",
37
+ ref: floatingRef,
38
+ focusManagerProps: (floatingUIResult == null ? void 0 : floatingUIResult.context) ? {
39
+ context: floatingUIResult.context,
40
+ initialFocus: 4
41
+ } : void 0,
42
+ ...getFloatingProps ? getFloatingProps({
43
+ ...a11yProps,
44
+ ...rest
45
+ }) : rest,
46
+ children
47
+ }
48
+ );
47
49
  });
48
50
 
49
51
  exports.DatePickerOverlay = 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":["makePrefixer","forwardRef","DatePickerOverlay","useWindow","useComponentCssInjection","datePickerOverlayCss","useFloatingComponent","useFormFieldProps","useDatePickerOverlay","useForkRef","jsx","clsx"],"mappings":";;;;;;;;;;;;;AAiBA,MAAM,YAAA,GAAeA,kBAAa,uBAAuB,CAAA,CAAA;AAa5C,MAAA,iBAAA,GAAoBC,iBAG/B,SAASC,kBAAAA,CAAkB,EAAE,SAAW,EAAA,QAAA,EAAA,GAAa,IAAK,EAAA,EAAG,GAAK,EAAA;AAClE,EAAA,MAAM,eAAeC,gBAAU,EAAA,CAAA;AAC/B,EAAyBC,+BAAA,CAAA;AAAA,IACvB,MAAQ,EAAA,0BAAA;AAAA,IACR,GAAK,EAAAC,mBAAA;AAAA,IACL,MAAQ,EAAA,YAAA;AAAA,GACT,CAAA,CAAA;AAED,EAAA,MAAM,EAAE,SAAA,EAAW,iBAAkB,EAAA,GAAIC,yBAAqB,EAAA,CAAA;AAE9D,EAAM,MAAA,EAAE,SAAU,EAAA,GAAIC,sBAAkB,EAAA,CAAA;AAExC,EAAM,MAAA;AAAA,IACJ,KAAA,EAAO,EAAE,IAAA,EAAM,gBAAiB,EAAA;AAAA,IAChC,OAAA,EAAS,EAAE,gBAAiB,EAAA;AAAA,MAC1BC,8CAAqB,EAAA,CAAA;AAEzB,EAAA,MAAM,WAAc,GAAAC,eAAA;AAAA,IAClB,GAAA;AAAA,IACA,gBAAkB,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,gBAAA,CAAA,QAAA;AAAA,GACpB,CAAA;AAEA,EAAA,uBACGC,cAAA,CAAA,iBAAA,EAAA;AAAA,IACC,SAAW,EAAAC,SAAA,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 role=\"dialog\"\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":["makePrefixer","forwardRef","DatePickerOverlay","useWindow","useComponentCssInjection","datePickerOverlayCss","useFloatingComponent","useFormFieldProps","useDatePickerOverlay","useForkRef","jsx","clsx"],"mappings":";;;;;;;;;;;AAiBA,MAAM,YAAA,GAAeA,kBAAa,uBAAuB,CAAA;AAa5C,MAAA,iBAAA,GAAoBC,gBAG/B,CAAA,SAASC,kBAAkB,CAAA,EAAE,WAAW,QAAU,EAAA,GAAG,IAAK,EAAA,EAAG,GAAK,EAAA;AAClE,EAAA,MAAM,eAAeC,gBAAU,EAAA;AAC/B,EAAyBC,+BAAA,CAAA;AAAA,IACvB,MAAQ,EAAA,0BAAA;AAAA,IACR,GAAK,EAAAC,mBAAA;AAAA,IACL,MAAQ,EAAA;AAAA,GACT,CAAA;AAED,EAAA,MAAM,EAAE,SAAA,EAAW,iBAAkB,EAAA,GAAIC,yBAAqB,EAAA;AAE9D,EAAM,MAAA,EAAE,SAAU,EAAA,GAAIC,sBAAkB,EAAA;AAExC,EAAM,MAAA;AAAA,IACJ,KAAA,EAAO,EAAE,IAAA,EAAM,gBAAiB,EAAA;AAAA,IAChC,OAAA,EAAS,EAAE,gBAAiB;AAAA,MAC1BC,8CAAqB,EAAA;AAEzB,EAAA,MAAM,WAAc,GAAAC,eAAA;AAAA,IAClB,GAAA;AAAA,IACA,gBAAkB,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,gBAAA,CAAA;AAAA,GACpB;AAEA,EACE,uBAAAC,cAAA;AAAA,IAAC,iBAAA;AAAA,IAAA;AAAA,MACC,SAAW,EAAAC,SAAA,CAAK,YAAa,EAAA,EAAG,SAAS,CAAA;AAAA,MACzC,MAAM,IAAQ,IAAA,KAAA;AAAA,MACd,IAAK,EAAA,QAAA;AAAA,MACL,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;;;;"}
@@ -1,14 +1,12 @@
1
1
  'use strict';
2
2
 
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
3
  var jsxRuntime = require('react/jsx-runtime');
6
4
  var react$1 = require('@floating-ui/react');
7
5
  var core = require('@salt-ds/core');
8
6
  var react = require('react');
9
7
 
10
8
  const DatePickerOverlayContext = core.createContext("DatePickerOverlayContext", void 0);
11
- const DatePickerOverlayProvider = ({ open: openProp, defaultOpen, children }) => {
9
+ const DatePickerOverlayProvider = ({ open: openProp, defaultOpen, onOpen, children }) => {
12
10
  const [open, setOpenState] = core.useControlled({
13
11
  controlled: openProp,
14
12
  default: Boolean(defaultOpen),
@@ -16,6 +14,7 @@ const DatePickerOverlayProvider = ({ open: openProp, defaultOpen, children }) =>
16
14
  state: "openDatePickerOverlay"
17
15
  });
18
16
  const triggeringElement = react.useRef(null);
17
+ const onDismissCallback = react.useRef();
19
18
  react.useEffect(() => {
20
19
  if (!open) {
21
20
  const trigger = triggeringElement.current;
@@ -30,12 +29,20 @@ const DatePickerOverlayProvider = ({ open: openProp, defaultOpen, children }) =>
30
29
  triggeringElement.current = null;
31
30
  }
32
31
  }, [open]);
33
- const setOpen = react.useCallback((newOpen) => {
34
- if (newOpen) {
35
- triggeringElement.current = document.activeElement;
36
- }
37
- setOpenState(newOpen);
38
- }, []);
32
+ const setOpen = react.useCallback(
33
+ (newOpen, _event, reason) => {
34
+ var _a;
35
+ if (newOpen) {
36
+ triggeringElement.current = document.activeElement;
37
+ }
38
+ setOpenState(newOpen);
39
+ onOpen == null ? void 0 : onOpen(newOpen);
40
+ if (reason === "escape-key" || reason === "outside-press" && onDismissCallback.current) {
41
+ (_a = onDismissCallback == null ? void 0 : onDismissCallback.current) == null ? void 0 : _a.call(onDismissCallback);
42
+ }
43
+ },
44
+ [onOpen]
45
+ );
39
46
  const floatingUIResult = core.useFloatingUI({
40
47
  open,
41
48
  onOpenChange: setOpen,
@@ -59,8 +66,8 @@ const DatePickerOverlayProvider = ({ open: openProp, defaultOpen, children }) =>
59
66
  var _a, _b;
60
67
  const { x, y, strategy, elements } = floatingUIResult;
61
68
  return {
62
- top: y != null ? y : 0,
63
- left: x != null ? x : 0,
69
+ top: y ?? 0,
70
+ left: x ?? 0,
64
71
  position: strategy,
65
72
  width: (_a = elements.floating) == null ? void 0 : _a.offsetWidth,
66
73
  height: (_b = elements.floating) == null ? void 0 : _b.offsetHeight,
@@ -69,6 +76,9 @@ const DatePickerOverlayProvider = ({ open: openProp, defaultOpen, children }) =>
69
76
  },
70
77
  [getFloatingPropsCallback, floatingUIResult]
71
78
  );
79
+ const setOnDismiss = react.useCallback((dismissCallback) => {
80
+ onDismissCallback.current = dismissCallback;
81
+ }, []);
72
82
  const state = react.useMemo(
73
83
  () => ({
74
84
  open,
@@ -80,15 +90,13 @@ const DatePickerOverlayProvider = ({ open: openProp, defaultOpen, children }) =>
80
90
  () => ({
81
91
  getFloatingProps,
82
92
  getReferenceProps,
83
- setOpen
93
+ setOpen,
94
+ setOnDismiss
84
95
  }),
85
96
  [getFloatingProps, getReferenceProps, setOpen]
86
97
  );
87
98
  const contextValue = react.useMemo(() => ({ state, helpers }), [state, helpers]);
88
- return /* @__PURE__ */ jsxRuntime.jsx(DatePickerOverlayContext.Provider, {
89
- value: contextValue,
90
- children
91
- });
99
+ return /* @__PURE__ */ jsxRuntime.jsx(DatePickerOverlayContext.Provider, { value: contextValue, children });
92
100
  };
93
101
  const useDatePickerOverlay = () => {
94
102
  const context = react.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":["createContext","useControlled","useRef","useEffect","useCallback","useFloatingUI","flip","useInteractions","useDismiss","useMemo","jsx","useContext"],"mappings":";;;;;;;;;AA6DA,MAAM,wBAAA,GAA2BA,kBAE/B,CAAA,0BAAA,EAA4B,KAAS,CAAA,CAAA,CAAA;AAoBhC,MAAM,4BAET,CAAC,EAAE,MAAM,QAAU,EAAA,WAAA,EAAa,UAAe,KAAA;AACjD,EAAA,MAAM,CAAC,IAAA,EAAM,YAAY,CAAA,GAAIC,kBAAc,CAAA;AAAA,IACzC,UAAY,EAAA,QAAA;AAAA,IACZ,OAAA,EAAS,QAAQ,WAAW,CAAA;AAAA,IAC5B,IAAM,EAAA,YAAA;AAAA,IACN,KAAO,EAAA,uBAAA;AAAA,GACR,CAAA,CAAA;AACD,EAAM,MAAA,iBAAA,GAAoBC,aAA2B,IAAI,CAAA,CAAA;AAEzD,EAAAC,eAAA,CAAU,MAAM;AACd,IAAA,IAAI,CAAC,IAAM,EAAA;AACT,MAAA,MAAM,UAAU,iBAAkB,CAAA,OAAA,CAAA;AAClC,MAAA,IAAI,OAAS,EAAA;AACX,QAAA,OAAA,CAAQ,KAAM,EAAA,CAAA;AAAA,OAChB;AACA,MAAA,IAAI,mBAAmB,gBAAkB,EAAA;AACvC,QAAA,UAAA,CAAW,MAAM;AACf,UAAA,OAAA,CAAQ,iBAAkB,CAAA,CAAA,EAAG,OAAQ,CAAA,KAAA,CAAM,MAAM,CAAA,CAAA;AAAA,WAChD,CAAC,CAAA,CAAA;AAAA,OACN;AACA,MAAA,iBAAA,CAAkB,OAAU,GAAA,IAAA,CAAA;AAAA,KAC9B;AAAA,GACF,EAAG,CAAC,IAAI,CAAC,CAAA,CAAA;AAET,EAAM,MAAA,OAAA,GAAUC,iBAAY,CAAA,CAAC,OAAqB,KAAA;AAChD,IAAA,IAAI,OAAS,EAAA;AACX,MAAA,iBAAA,CAAkB,UAAU,QAAS,CAAA,aAAA,CAAA;AAAA,KACvC;AACA,IAAA,YAAA,CAAa,OAAO,CAAA,CAAA;AAAA,GACtB,EAAG,EAAE,CAAA,CAAA;AAEL,EAAA,MAAM,mBAAmBC,kBAAc,CAAA;AAAA,IACrC,IAAA;AAAA,IACA,YAAc,EAAA,OAAA;AAAA,IACd,SAAW,EAAA,cAAA;AAAA,IACX,YAAY,CAACC,YAAA,CAAK,EAAE,gBAAkB,EAAA,kBAAA,EAAoB,CAAC,CAAA;AAAA,GAC5D,CAAA,CAAA;AAED,EAAM,MAAA;AAAA,IACJ,gBAAkB,EAAA,yBAAA;AAAA,IAClB,iBAAmB,EAAA,kBAAA;AAAA,MACjBC,uBAAgB,CAAA,CAACC,mBAAW,gBAAiB,CAAA,OAAO,CAAC,CAAC,CAAA,CAAA;AAC1D,EAAA,MAAM,wBAA2B,GAAAC,aAAA;AAAA,IAC/B,MAAM,yBAAA;AAAA,IACN,CAAC,yBAAyB,CAAA;AAAA,GAC5B,CAAA;AACA,EAAA,MAAM,iBAAoB,GAAAA,aAAA;AAAA,IACxB,MAAM,kBAAA;AAAA,IACN,CAAC,kBAAkB,CAAA;AAAA,GACrB,CAAA;AAEA,EAAA,MAAM,gBAAmB,GAAAL,iBAAA;AAAA,IACvB,CAAC,SAAwD,KAAA;AAzI7D,MAAA,IAAA,EAAA,EAAA,EAAA,CAAA;AA0IM,MAAA,MAAM,EAAE,CAAA,EAAG,CAAG,EAAA,QAAA,EAAU,UAAa,GAAA,gBAAA,CAAA;AACrC,MAAO,OAAA;AAAA,QACL,KAAK,CAAK,IAAA,IAAA,GAAA,CAAA,GAAA,CAAA;AAAA,QACV,MAAM,CAAK,IAAA,IAAA,GAAA,CAAA,GAAA,CAAA;AAAA,QACX,QAAU,EAAA,QAAA;AAAA,QACV,KAAA,EAAA,CAAO,EAAS,GAAA,QAAA,CAAA,QAAA,KAAT,IAAmB,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,WAAA;AAAA,QAC1B,MAAA,EAAA,CAAQ,EAAS,GAAA,QAAA,CAAA,QAAA,KAAT,IAAmB,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,YAAA;AAAA,QAC3B,GAAG,yBAAyB,SAAS,CAAA;AAAA,OACvC,CAAA;AAAA,KACF;AAAA,IACA,CAAC,0BAA0B,gBAAgB,CAAA;AAAA,GAC7C,CAAA;AAEA,EAAA,MAAM,KAAgC,GAAAK,aAAA;AAAA,IACpC,OAAO;AAAA,MACL,IAAA;AAAA,MACA,gBAAA;AAAA,KACF,CAAA;AAAA,IACA,CAAC,MAAM,gBAAgB,CAAA;AAAA,GACzB,CAAA;AAEA,EAAA,MAAM,OAAoC,GAAAA,aAAA;AAAA,IACxC,OAAO;AAAA,MACL,gBAAA;AAAA,MACA,iBAAA;AAAA,MACA,OAAA;AAAA,KACF,CAAA;AAAA,IACA,CAAC,gBAAkB,EAAA,iBAAA,EAAmB,OAAO,CAAA;AAAA,GAC/C,CAAA;AACA,EAAM,MAAA,YAAA,GAAeA,aAAQ,CAAA,OAAO,EAAE,KAAA,EAAO,SAAY,CAAA,EAAA,CAAC,KAAO,EAAA,OAAO,CAAC,CAAA,CAAA;AAEzE,EACE,uBAAAC,cAAA,CAAC,yBAAyB,QAAzB,EAAA;AAAA,IAAkC,KAAO,EAAA,YAAA;AAAA,IACvC,QAAA;AAAA,GACH,CAAA,CAAA;AAEJ,EAAA;AAEO,MAAM,uBAAuB,MAAoC;AACtE,EAAM,MAAA,OAAA,GAAUC,iBAAW,wBAAwB,CAAA,CAAA;AACnD,EAAA,IAAI,CAAC,OAAS,EAAA;AACZ,IAAA,MAAM,IAAI,KAAA;AAAA,MACR,sEAAA;AAAA,KACF,CAAA;AAAA,GACF;AACA,EAAO,OAAA,OAAA,CAAA;AACT;;;;;"}
1
+ {"version":3,"file":"DatePickerOverlayProvider.js","sources":["../src/date-picker/DatePickerOverlayProvider.tsx"],"sourcesContent":["import {\n type OpenChangeReason,\n flip,\n useDismiss,\n useInteractions,\n} 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 * Register a callback for when onDismiss is called\n * @param onDismissCallback\n */\n setOnDismiss: (onDismissCallback: () => void) => 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 * Handler for when open state changes\n * @param newOpen - true when opened\n */\n onOpen?: (newOpen: boolean) => void;\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, onOpen, 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 const onDismissCallback = useRef<() => void>();\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(\n (\n newOpen: boolean,\n _event?: Event | undefined,\n reason?: OpenChangeReason | undefined,\n ) => {\n if (newOpen) {\n triggeringElement.current = document.activeElement as HTMLElement;\n }\n setOpenState(newOpen);\n onOpen?.(newOpen);\n if (\n reason === \"escape-key\" ||\n (reason === \"outside-press\" && onDismissCallback.current)\n ) {\n onDismissCallback?.current?.();\n }\n },\n [onOpen],\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 const setOnDismiss = useCallback((dismissCallback: () => void) => {\n onDismissCallback.current = dismissCallback;\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 setOnDismiss,\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":["createContext","useControlled","useRef","useEffect","useCallback","useFloatingUI","flip","useInteractions","useDismiss","useMemo","useContext"],"mappings":"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"}
@@ -1,41 +1,86 @@
1
1
  'use strict';
2
2
 
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
3
  var jsxRuntime = require('react/jsx-runtime');
6
4
  var core = require('@salt-ds/core');
5
+ var dateAdapters = require('@salt-ds/date-adapters');
7
6
  var clsx = require('clsx');
8
7
  var react = require('react');
9
8
  require('../date-input/DateInputSingle.js');
10
9
  var DateInputRange = require('../date-input/DateInputRange.js');
11
- require('@internationalized/date');
10
+ var LocalizationProvider = require('../localization-provider/LocalizationProvider.js');
12
11
  var DatePickerContext = require('./DatePickerContext.js');
13
12
  var DatePickerOverlayProvider = require('./DatePickerOverlayProvider.js');
14
13
 
15
14
  const withBaseName = core.makePrefixer("saltDatePickerRangeInput");
15
+ function defaultRangeValidator(dateAdapter, date, details, minDate, maxDate) {
16
+ const { startDate, endDate } = date || {};
17
+ if (!startDate) {
18
+ details.startDate = details.startDate || {};
19
+ details.startDate.errors = details.startDate.errors || [];
20
+ details.startDate.errors.push({
21
+ type: dateAdapters.DateDetailErrorEnum.UNSET,
22
+ message: "no start date defined"
23
+ });
24
+ }
25
+ if (!endDate) {
26
+ details.endDate = details.endDate || {};
27
+ details.endDate.errors = details.endDate.errors || [];
28
+ details.endDate.errors.push({
29
+ type: dateAdapters.DateDetailErrorEnum.UNSET,
30
+ message: "no end date defined"
31
+ });
32
+ }
33
+ if (dateAdapter.isValid(startDate) && dateAdapter.isValid(endDate) && dateAdapter.compare(startDate, endDate) > 0) {
34
+ details.startDate = details.startDate || {};
35
+ details.startDate.errors = details.startDate.errors || [];
36
+ details.startDate.errors.push({
37
+ type: "greater-than-end-date",
38
+ message: "start date after end date"
39
+ });
40
+ }
41
+ if (minDate && dateAdapter.isValid(startDate) && dateAdapter.compare(startDate, minDate) < 0) {
42
+ details.startDate = details.startDate || {};
43
+ details.startDate.errors = details.startDate.errors || [];
44
+ details.startDate.errors.push({
45
+ type: "min-date",
46
+ message: "is before min date"
47
+ });
48
+ }
49
+ if (maxDate && dateAdapter.isValid(endDate) && dateAdapter.compare(endDate, maxDate) > 0) {
50
+ details.endDate = details.endDate || {};
51
+ details.endDate.errors = details.endDate.errors || [];
52
+ details.endDate.errors.push({
53
+ type: "max-date",
54
+ message: "is after max date"
55
+ });
56
+ }
57
+ return details;
58
+ }
16
59
  const DatePickerRangeInput = react.forwardRef(function DatePickerRangeInput2(props, ref) {
60
+ const { dateAdapter } = LocalizationProvider.useLocalization();
17
61
  const {
18
62
  className,
19
63
  endInputProps: endInputPropsProp,
20
64
  startInputProps: startInputPropsProp,
21
65
  onKeyDown,
22
66
  defaultValue,
67
+ format,
23
68
  value: valueProp,
69
+ validate,
24
70
  onChange,
25
71
  onDateValueChange,
26
72
  ...rest
27
73
  } = props;
28
74
  const { CalendarIcon } = core.useIcon();
29
75
  const {
30
- state: { selectedDate, disabled, readOnly, cancelled, locale, timeZone },
31
- helpers: { setSelectedDate }
76
+ state: { selectedDate, disabled, readOnly, cancelled, minDate, maxDate },
77
+ helpers: { select }
32
78
  } = DatePickerContext.useDatePickerContext({ selectionVariant: "range" });
33
79
  const {
34
- state: { open, floatingUIResult },
35
- helpers: { getReferenceProps, setOpen }
80
+ state: { open },
81
+ helpers: { setOpen }
36
82
  } = DatePickerOverlayProvider.useDatePickerOverlay();
37
- const inputRef = core.useForkRef(ref, floatingUIResult == null ? void 0 : floatingUIResult.reference);
38
- const prevState = react.useRef();
83
+ const previousValue = react.useRef();
39
84
  const [value, setValue] = core.useControlled({
40
85
  controlled: valueProp,
41
86
  default: defaultValue,
@@ -46,28 +91,27 @@ const DatePickerRangeInput = react.forwardRef(function DatePickerRangeInput2(pro
46
91
  setOpen(!open);
47
92
  }, [open, setOpen]);
48
93
  const handleDateChange = react.useCallback(
49
- (_event, newDate, error) => {
50
- setSelectedDate(newDate, error);
94
+ (event, date, details) => {
95
+ const validatedDetails = validate ? validate(date, details) : defaultRangeValidator(dateAdapter, date, details, minDate, maxDate);
96
+ select(event, date, validatedDetails);
51
97
  },
52
- [setSelectedDate]
98
+ [select, minDate, maxDate]
99
+ );
100
+ const handleDateValueChange = react.useCallback(
101
+ (event, newDateValue) => {
102
+ setValue(newDateValue);
103
+ onDateValueChange == null ? void 0 : onDateValueChange(event, newDateValue);
104
+ },
105
+ [onDateValueChange]
53
106
  );
54
- const handleDateValueChange = (newDateValue, isFormatted) => {
55
- setValue(newDateValue);
56
- onDateValueChange == null ? void 0 : onDateValueChange(newDateValue, isFormatted);
57
- };
58
107
  react.useEffect(() => {
59
108
  if (open) {
60
- prevState.current = { date: selectedDate, value };
109
+ previousValue.current = value;
61
110
  }
62
111
  }, [open]);
63
112
  react.useEffect(() => {
64
- var _a, _b;
65
113
  if (cancelled) {
66
- setValue((_a = prevState == null ? void 0 : prevState.current) == null ? void 0 : _a.value);
67
- setSelectedDate(((_b = prevState == null ? void 0 : prevState.current) == null ? void 0 : _b.date) || null, {
68
- startDate: false,
69
- endDate: false
70
- });
114
+ setValue(previousValue.current);
71
115
  }
72
116
  }, [cancelled]);
73
117
  const startInputProps = {
@@ -90,30 +134,38 @@ const DatePickerRangeInput = react.forwardRef(function DatePickerRangeInput2(pro
90
134
  },
91
135
  ...endInputPropsProp
92
136
  };
93
- return /* @__PURE__ */ jsxRuntime.jsx(DateInputRange.DateInputRange, {
94
- value: value || { startDate: "", endDate: "" },
95
- locale,
96
- timeZone,
97
- className: clsx.clsx(withBaseName(), className),
98
- ref: inputRef,
99
- date: selectedDate,
100
- startInputProps: getReferenceProps(startInputProps),
101
- endInputProps: getReferenceProps(endInputProps),
102
- readOnly,
103
- onDateChange: handleDateChange,
104
- onDateValueChange: handleDateValueChange,
105
- onChange,
106
- endAdornment: /* @__PURE__ */ jsxRuntime.jsx(core.Button, {
107
- appearance: "transparent",
108
- sentiment: "neutral",
109
- onClick: handleCalendarButton,
110
- disabled,
111
- "aria-label": "Open Calendar",
112
- children: /* @__PURE__ */ jsxRuntime.jsx(CalendarIcon, {})
113
- }),
114
- ...rest
115
- });
137
+ return /* @__PURE__ */ jsxRuntime.jsx(
138
+ DateInputRange.DateInputRange,
139
+ {
140
+ value: value ?? {
141
+ startDate: dateAdapter.format(value, format),
142
+ endDate: dateAdapter.format(value, format)
143
+ },
144
+ className: clsx.clsx(withBaseName(), className),
145
+ date: selectedDate ?? null,
146
+ startInputProps,
147
+ endInputProps,
148
+ readOnly,
149
+ ref,
150
+ onDateChange: handleDateChange,
151
+ onDateValueChange: handleDateValueChange,
152
+ onChange,
153
+ endAdornment: /* @__PURE__ */ jsxRuntime.jsx(
154
+ core.Button,
155
+ {
156
+ appearance: "transparent",
157
+ sentiment: "neutral",
158
+ onClick: handleCalendarButton,
159
+ disabled,
160
+ "aria-label": "Open Calendar",
161
+ children: /* @__PURE__ */ jsxRuntime.jsx(CalendarIcon, {})
162
+ }
163
+ ),
164
+ ...rest
165
+ }
166
+ );
116
167
  });
117
168
 
118
169
  exports.DatePickerRangeInput = DatePickerRangeInput;
170
+ exports.defaultRangeValidator = defaultRangeValidator;
119
171
  //# sourceMappingURL=DatePickerRangeInput.js.map
@@ -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":["makePrefixer","forwardRef","DatePickerRangeInput","useIcon","useDatePickerContext","useDatePickerOverlay","useForkRef","useRef","useControlled","useCallback","useEffect","jsx","DateInputRange","clsx","Button"],"mappings":"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"}
1
+ {"version":3,"file":"DatePickerRangeInput.js","sources":["../src/date-picker/DatePickerRangeInput.tsx"],"sourcesContent":["import { Button, makePrefixer, useControlled, useIcon } from \"@salt-ds/core\";\nimport {\n DateDetailErrorEnum,\n type DateFrameworkType,\n type SaltDateAdapter,\n} from \"@salt-ds/date-adapters\";\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, SingleDateSelection } from \"../calendar\";\nimport {\n DateInputRange,\n type DateInputRangeDetails,\n type DateInputRangeProps,\n type DateInputRangeValue,\n} from \"../date-input\";\nimport { useLocalization } from \"../localization-provider\";\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<TDate extends DateFrameworkType>\n extends DateInputRangeProps<TDate> {\n /**\n * Function to validate the entered date\n * @param date - The selected date\n * @param details - The details of date selection, either a valid date or error\n * @returns updated DateInputRangeDetails details\n */\n validate?: (\n date: DateRangeSelection<TDate> | null,\n details: DateInputRangeDetails,\n ) => DateInputRangeDetails;\n}\n\nexport function defaultRangeValidator<TDate extends DateFrameworkType>(\n dateAdapter: SaltDateAdapter<TDate>,\n date: DateRangeSelection<TDate> | null,\n details: DateInputRangeDetails,\n minDate: TDate | undefined,\n maxDate: TDate | undefined,\n): DateInputRangeDetails {\n const { startDate, endDate } = date || {};\n\n if (!startDate) {\n details.startDate = details.startDate || {};\n details.startDate.errors = details.startDate.errors || [];\n details.startDate.errors.push({\n type: DateDetailErrorEnum.UNSET,\n message: \"no start date defined\",\n });\n }\n if (!endDate) {\n details.endDate = details.endDate || {};\n details.endDate.errors = details.endDate.errors || [];\n details.endDate.errors.push({\n type: DateDetailErrorEnum.UNSET,\n message: \"no end date defined\",\n });\n }\n\n // If startDate is after endDate\n if (\n dateAdapter.isValid(startDate) &&\n dateAdapter.isValid(endDate) &&\n dateAdapter.compare(startDate, endDate) > 0\n ) {\n details.startDate = details.startDate || {};\n details.startDate.errors = details.startDate.errors || [];\n details.startDate.errors.push({\n type: \"greater-than-end-date\",\n message: \"start date after end date\",\n });\n }\n // If startDate is before minDate\n if (\n minDate &&\n dateAdapter.isValid(startDate) &&\n dateAdapter.compare(startDate, minDate) < 0\n ) {\n details.startDate = details.startDate || {};\n details.startDate.errors = details.startDate.errors || [];\n details.startDate.errors.push({\n type: \"min-date\",\n message: \"is before min date\",\n });\n }\n // If endDate is after maxDate\n if (\n maxDate &&\n dateAdapter.isValid(endDate) &&\n dateAdapter.compare(endDate, maxDate) > 0\n ) {\n details.endDate = details.endDate || {};\n details.endDate.errors = details.endDate.errors || [];\n details.endDate.errors.push({\n type: \"max-date\",\n message: \"is after max date\",\n });\n }\n return details;\n}\n\nexport const DatePickerRangeInput = forwardRef(function DatePickerRangeInput<\n TDate extends DateFrameworkType,\n>(\n props: DatePickerRangeInputProps<SingleDateSelection<TDate>>,\n ref: React.Ref<HTMLDivElement>,\n) {\n const { dateAdapter } = useLocalization<TDate>();\n const {\n className,\n endInputProps: endInputPropsProp,\n startInputProps: startInputPropsProp,\n onKeyDown,\n defaultValue,\n format,\n value: valueProp,\n validate,\n onChange,\n onDateValueChange,\n ...rest\n } = props;\n\n const { CalendarIcon } = useIcon();\n\n const {\n state: { selectedDate, disabled, readOnly, cancelled, minDate, maxDate },\n helpers: { select },\n } = useDatePickerContext<TDate>({ selectionVariant: \"range\" });\n const {\n state: { open },\n helpers: { setOpen },\n } = useDatePickerOverlay();\n\n const previousValue = useRef<typeof valueProp>();\n\n const [value, setValue] = useControlled({\n controlled: valueProp,\n default: defaultValue,\n name: \"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 date: DateRangeSelection<TDate> | null,\n details: DateInputRangeDetails,\n ) => {\n const validatedDetails = validate\n ? validate(date, details)\n : defaultRangeValidator(dateAdapter, date, details, minDate, maxDate);\n select(event, date, validatedDetails);\n },\n [select, minDate, maxDate],\n );\n\n const handleDateValueChange = useCallback(\n (event: SyntheticEvent | null, newDateValue: DateInputRangeValue) => {\n setValue(newDateValue);\n onDateValueChange?.(event, newDateValue);\n },\n [onDateValueChange],\n );\n\n // biome-ignore lint/correctness/useExhaustiveDependencies: should run when open changes and not selected date or value\n useEffect(() => {\n if (open) {\n previousValue.current = value;\n }\n }, [open]);\n\n // biome-ignore lint/correctness/useExhaustiveDependencies: avoid excessive re-rendering\n useEffect(() => {\n if (cancelled) {\n setValue(previousValue.current);\n }\n }, [cancelled]);\n\n 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={\n value ?? {\n startDate: dateAdapter.format(value, format),\n endDate: dateAdapter.format(value, format),\n }\n }\n className={clsx(withBaseName(), className)}\n date={selectedDate ?? null}\n startInputProps={startInputProps}\n endInputProps={endInputProps}\n readOnly={readOnly}\n ref={ref}\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":["makePrefixer","DateDetailErrorEnum","forwardRef","DatePickerRangeInput","useLocalization","useIcon","useDatePickerContext","useDatePickerOverlay","useRef","useControlled","useCallback","useEffect","jsx","DateInputRange","clsx","Button"],"mappings":"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"}