@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":"useTokenizedInputNext.js","sources":["../src/tokenized-input-next/useTokenizedInputNext.tsx"],"sourcesContent":["import {\n ownerWindow,\n useControlled,\n useDensity,\n useForkRef,\n useFormFieldProps,\n useId,\n useIsomorphicLayoutEffect,\n} from \"@salt-ds/core\";\nimport copy from \"clipboard-copy\";\nimport {\n type ChangeEvent,\n type FocusEvent,\n type InputHTMLAttributes,\n type KeyboardEvent,\n type KeyboardEventHandler,\n type MutableRefObject,\n type Ref,\n type SetStateAction,\n type SyntheticEvent,\n useCallback,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport { escapeRegExp } from \"../utils\";\nimport type { TokenizedInputNextProps } from \"./TokenizedInputNext\";\nimport { calcFirstHiddenIndex } from \"./internal/calcFirstHiddenIndex\";\nimport { useResizeObserver } from \"./internal/useResizeObserver\";\nimport { getPadding, useWidth } from \"./internal/useWidth\";\n\nexport interface TokenizedInputNextState<Item> {\n activeIndices: number[];\n expanded: boolean | undefined;\n highlightedIndex: number | undefined;\n selectedItems: Item[];\n value: string | undefined;\n}\n\nexport interface TokenizedInputNextHelpers<Item> {\n setHighlightedIndex: (value?: number) => void;\n setValue: (value: string) => void;\n setSelectedItems: (selectedItems: Item[]) => void;\n updateExpanded: (event: SyntheticEvent, expanded: boolean) => void;\n}\n\nexport interface TokenizedInputNextRefs {\n textAreaRef: Ref<HTMLTextAreaElement>;\n pillsRef: MutableRefObject<Record<number, number | undefined>>;\n clearButtonRef: (newNode: HTMLButtonElement) => void;\n expandButtonRef: Ref<HTMLButtonElement>;\n statusAdornmentRef: Ref<SVGSVGElement>;\n containerRef: Ref<HTMLDivElement>;\n}\n\nconst getCursorPosition = (\n inputRef: MutableRefObject<HTMLTextAreaElement | null>,\n) => {\n if (inputRef.current) {\n const { selectionStart, selectionEnd } = inputRef.current;\n\n // if there is no selection range\n if (selectionStart != null && selectionStart === selectionEnd) {\n return selectionStart;\n }\n }\n\n return -1;\n};\n\nconst isCtrlModifier = (event: KeyboardEvent<HTMLTextAreaElement>) => {\n return (\n event.ctrlKey ||\n event.metaKey ||\n [\"CONTROL\", \"META\"].indexOf(event.key.toUpperCase()) !== -1\n );\n};\n\nfunction isValidItem<Item>(data: unknown): data is Item {\n return (\n (typeof data === \"string\" && Boolean(data.length)) ||\n (typeof data !== \"string\" && data != null)\n );\n}\n\ninterface useTokenizedInputNextResult<Item> {\n /**\n * The tokenized input state\n */\n state: TokenizedInputNextState<Item>;\n /**\n * First hidden element when collapsed\n */\n firstHiddenIndex: number | null;\n /**\n * Utility functions for modifying tokenized input state\n */\n helpers: TokenizedInputNextHelpers<Item>;\n /**\n * Refs for tokenized input items.\n */\n refs: TokenizedInputNextRefs;\n /**\n * Properties applied to a basic tokenized input component\n */\n inputProps: Omit<TokenizedInputNextProps<Item>, \"helpers\" | \"onChange\">;\n}\n\nexport function useTokenizedInputNext<Item>(\n props: TokenizedInputNextProps<Item>,\n): useTokenizedInputNextResult<Item> {\n const {\n disabled: formFieldDisabled,\n readOnly,\n necessity,\n validationStatus,\n a11yProps: {\n \"aria-describedby\": ariaDescribedBy,\n \"aria-labelledby\": ariaLabelledBy,\n } = {},\n } = useFormFieldProps();\n\n const {\n delimiters = [\",\"],\n defaultSelected = [],\n disabled = formFieldDisabled,\n readOnly: readOnlyProp,\n validationStatus: validationStatusProp,\n disableAddOnBlur,\n onBlur,\n onClick,\n onExpand,\n onCollapse,\n onKeyDown,\n onInputChange,\n onInputFocus,\n onInputBlur,\n onClear,\n onChange,\n id: idProp,\n value: valueProp,\n expanded: expandedProp,\n selectedItems: selectedItemsProp,\n \"aria-label\": ariaLabel,\n \"aria-describedby\": ariaDescribedByProp,\n expandButtonRef: expandButtonRefProp,\n ...restProps\n } = props;\n\n const density = useDensity();\n const id = useId(idProp);\n\n const [focused, setFocused] = useState(false);\n const [pillGroupWidth, setPillGroupWidth] = useState<number | null>(null);\n const [firstHiddenIndex, setFirstHiddenIndex] = useState<number | null>(null);\n const [activeIndices, setActiveIndices] = useState<number[]>([]);\n const [highlightedIndex, setHighlightedIndex] = useState<number | undefined>(\n undefined,\n );\n\n const [expandButtonHookRef, expandButtonWidth] = useWidth(density);\n const [clearButtonRef, clearButtonWidth] = useWidth(density);\n const [statusAdornmentRef, statusAdornmentWidth] = useWidth(density);\n const [inputRef, inputWidth] = useWidth(density);\n\n const containerRef = useRef<HTMLDivElement>(null);\n const pillsRef = useRef<Record<number, number | undefined>>({});\n const textAreaRef = useRef<HTMLTextAreaElement>(null);\n const preventBlurOnCopy = useRef(false);\n const expandButtonRef = useForkRef(expandButtonHookRef, expandButtonRefProp);\n\n const hasActiveItems = Boolean(activeIndices.length);\n const primaryDelimiter = delimiters[0];\n const delimiterRegex = useMemo(\n () => new RegExp(delimiters.map(escapeRegExp).join(\"|\"), \"gi\"),\n [delimiters],\n );\n\n const [value, setValue, isInputControlled] = useControlled<\n string | undefined\n >({\n controlled: valueProp,\n default: \"\",\n name: \"TokenizedInputNext\",\n state: \"value\",\n });\n\n const [selectedItems = [], setSelectedItems, isSelectionControlled] =\n useControlled<Item[] | undefined>({\n controlled: selectedItemsProp,\n default: defaultSelected,\n name: \"TokenizedInputNext\",\n state: \"selectedItems\",\n });\n\n const [expanded, setExpanded, isExpandedControlled] = useControlled<boolean>({\n controlled: expandedProp,\n default: false,\n name: \"TokenizedInputNext\",\n state: \"expanded\",\n });\n\n const widthOffset =\n inputWidth +\n statusAdornmentWidth +\n (expanded ? clearButtonWidth : expandButtonWidth);\n\n const containerObserverRef = useResizeObserver<HTMLDivElement>(\n useCallback(\n ([{ contentRect }]) => {\n const padding = getPadding(containerRef.current);\n setPillGroupWidth(contentRect.width - padding - widthOffset);\n },\n [widthOffset],\n ),\n );\n\n useIsomorphicLayoutEffect(\n () => () => {\n // When density changes, set hidden index to null so that pills are in their\n // readonly state before they are measured.\n setFirstHiddenIndex(null);\n },\n [density],\n );\n\n // useIsomorphicLayoutEffect because of potential layout change\n // We want to do that before paint to avoid layout jumps\n useIsomorphicLayoutEffect(\n () => {\n if (expanded) {\n setFirstHiddenIndex(null);\n } else if (pillGroupWidth != null) {\n setFirstHiddenIndex(\n calcFirstHiddenIndex({\n containerWidth: pillGroupWidth,\n pillWidths: Object.values(pillsRef.current).filter(\n Boolean,\n ) as number[],\n }),\n );\n }\n },\n // Additional dependency on selectedItems is for the controlled version\n [expanded, pillGroupWidth, selectedItems],\n );\n\n const focusInput = useCallback(() => {\n if (textAreaRef.current) {\n textAreaRef.current.focus();\n }\n }, []);\n\n const updateInputValue = (newValue: string | undefined) => {\n if (!isInputControlled) {\n setValue(newValue);\n }\n };\n\n const updateSelectedItems = useCallback(\n (event: SyntheticEvent, action: SetStateAction<Item[] | undefined>) => {\n if (!isSelectionControlled) {\n setSelectedItems((prevSelectedItems?: Item[]) => {\n const newItems =\n typeof action === \"function\" ? action(prevSelectedItems) : action;\n\n if (newItems !== prevSelectedItems) {\n onChange?.(event, newItems);\n }\n return newItems;\n });\n } else {\n onChange?.(\n event,\n typeof action === \"function\" ? action(selectedItems) : action,\n );\n }\n },\n [isSelectionControlled, onChange, selectedItems],\n );\n\n const updateExpanded = (event: SyntheticEvent, newExpanded: boolean) => {\n if (!isExpandedControlled) {\n setExpanded(newExpanded);\n }\n\n if (newExpanded) {\n focusInput();\n onExpand?.(event);\n } else {\n onCollapse?.(event);\n }\n };\n\n const resetInput = () => {\n updateInputValue(\"\");\n setHighlightedIndex(undefined);\n setActiveIndices([]);\n };\n\n const removeItems = useCallback(\n (event: SyntheticEvent, itemIndices: number[]) => {\n updateSelectedItems(\n event,\n (prevSelectedItems) =>\n prevSelectedItems &&\n (prevSelectedItems.length === 0\n ? prevSelectedItems\n : prevSelectedItems.filter(\n (_, index) => itemIndices.indexOf(index) === -1,\n )),\n );\n },\n [updateSelectedItems],\n );\n\n const handleInputFocus = (event: FocusEvent<HTMLTextAreaElement>) => {\n event.stopPropagation();\n\n // The input will lose focus when building the text to copy in a temporary\n // DOM node. This is particularly visible in a slower browser, i.e. IE 11.\n // This is to prevent a blur in that scenario.\n if (preventBlurOnCopy.current) {\n preventBlurOnCopy.current = false;\n setActiveIndices(\n Array.from(\n { length: selectedItems ? selectedItems.length : 0 },\n (_, index) => index,\n ),\n );\n return;\n }\n\n onInputFocus?.(event);\n updateExpanded(event, true);\n setFocused(true);\n };\n\n const handleBlur = (\n event: FocusEvent<HTMLTextAreaElement | HTMLButtonElement>,\n ) => {\n onBlur?.(event);\n setFocused(false);\n updateExpanded(event, false);\n };\n\n const handleInputBlur = (event: FocusEvent<HTMLTextAreaElement>) => {\n // Check if the related target inside TokenizedInput\n const container = containerRef?.current;\n const eventTarget = event.relatedTarget;\n event.preventDefault();\n event.stopPropagation();\n setHighlightedIndex(undefined);\n setActiveIndices([]);\n if (!disableAddOnBlur) {\n handleAddItems(event, value);\n }\n onInputBlur?.(event);\n if (\n eventTarget !== container &&\n !container?.contains(eventTarget as Node)\n ) {\n handleBlur(event);\n }\n };\n\n const handleClick = (event: SyntheticEvent<HTMLElement>) => {\n updateExpanded(event, true);\n setActiveIndices([]);\n onClick?.(event);\n };\n\n const handleInputChange = (event: ChangeEvent<HTMLTextAreaElement>) => {\n setHighlightedIndex(undefined);\n\n onInputChange?.(event);\n\n const newValue = event.target.value;\n\n if (delimiterRegex.test(newValue)) {\n // Process value with delimiters\n handleAddItems(event, newValue);\n } else {\n // Just update input value if there is no delimiter\n updateInputValue(newValue);\n }\n };\n\n const handleAddItems = (\n event: SyntheticEvent,\n newValue: string | undefined,\n appendOnly?: boolean,\n ) => {\n if (!newValue || newValue.length === 0) {\n return;\n }\n\n resetInput();\n\n const newItems = newValue\n .split(delimiterRegex)\n .reduce<Item[]>((values, item) => {\n const newItem = item.trim();\n return isValidItem<Item>(newItem) ? values.concat(newItem) : values;\n }, []);\n\n if (newItems.length) {\n updateSelectedItems(event, (prevSelectedItems = []) =>\n hasActiveItems && !appendOnly\n ? newItems\n : prevSelectedItems.concat(newItems),\n );\n }\n };\n\n const handleRemoveItem = (event: SyntheticEvent, itemIndex?: number) => {\n focusInput();\n if (itemIndex !== undefined && !readOnly && !readOnlyProp) {\n removeItems(event, [itemIndex]);\n }\n };\n\n const handleClear = (event: ChangeEvent<HTMLTextAreaElement>) => {\n updateSelectedItems(event, []);\n resetInput();\n focusInput();\n onClear?.(event);\n };\n\n const cursorAtInputStart = () =>\n getCursorPosition(textAreaRef) === 0 && Boolean(selectedItems.length);\n\n const highlightAtPillGroupEnd = () =>\n highlightedIndex === selectedItems.length - 1;\n\n const pillGroupKeyDownHandlers: Record<\n string,\n KeyboardEventHandler<HTMLTextAreaElement>\n > = {\n ArrowLeft: (event) => {\n event.preventDefault();\n setHighlightedIndex((prevHighlightedIndex) =>\n prevHighlightedIndex == null\n ? selectedItems.length - 1\n : Math.max(0, prevHighlightedIndex - 1),\n );\n },\n ArrowRight: (event) => {\n if (highlightAtPillGroupEnd()) {\n return setHighlightedIndex(undefined);\n }\n\n event.preventDefault();\n setHighlightedIndex((prevHighlightedIndex) =>\n prevHighlightedIndex == null\n ? prevHighlightedIndex\n : Math.min(selectedItems.length - 1, prevHighlightedIndex + 1),\n );\n },\n Backspace: (event) => {\n event.preventDefault();\n handleRemoveItem(event, highlightedIndex);\n setHighlightedIndex((prevHighlightedIndex) =>\n prevHighlightedIndex == null\n ? prevHighlightedIndex\n : Math.max(0, prevHighlightedIndex - 1),\n );\n },\n Home: (event) => {\n event.preventDefault();\n setHighlightedIndex(0);\n },\n End: (event) => {\n event.preventDefault();\n setHighlightedIndex(selectedItems.length - 1);\n },\n Enter: (event) => {\n event.preventDefault();\n handleRemoveItem(event, highlightedIndex);\n },\n Delete: (event) => {\n event.preventDefault();\n handleRemoveItem(event, highlightedIndex);\n },\n \" \": (event) => {\n event.preventDefault();\n handleRemoveItem(event, highlightedIndex);\n },\n };\n\n const inputKeyDownHandlers: Record<\n string,\n KeyboardEventHandler<HTMLTextAreaElement>\n > = {\n ArrowLeft: (event) => {\n if (cursorAtInputStart()) {\n event.preventDefault();\n setHighlightedIndex(selectedItems.length - 1);\n }\n },\n Backspace: (event) => {\n if (hasActiveItems) {\n removeItems(event, activeIndices);\n } else if (cursorAtInputStart()) {\n setHighlightedIndex(selectedItems.length - 1);\n }\n },\n Delete: (event) => {\n if (hasActiveItems) {\n removeItems(event, activeIndices);\n }\n },\n Enter: (event) => {\n event.preventDefault();\n\n if (hasActiveItems) {\n removeItems(event, activeIndices);\n } else {\n handleAddItems(event, value);\n }\n },\n };\n\n const handleCtrlModifierKeyDown: InputHTMLAttributes<HTMLTextAreaElement>[\"onKeyDown\"] =\n (event) => {\n const win = ownerWindow(event.target as HTMLElement);\n const supportClipboard = win.navigator?.clipboard;\n\n switch (event.key.toUpperCase()) {\n case \"A\":\n // Select all\n setHighlightedIndex(undefined);\n setActiveIndices(\n Array.from({ length: selectedItems.length }, (_, index) => index),\n );\n break;\n case \"C\": {\n // Copy\n const textToCopy =\n activeIndices.length > 0\n ? activeIndices\n .map((index) => String(selectedItems[index]))\n .concat(value != null ? String(value).trim() : \"\")\n .filter(Boolean)\n .join(primaryDelimiter)\n : highlightedIndex !== undefined\n ? String(`${selectedItems[highlightedIndex]},`)\n : \"\";\n copy(textToCopy)\n .then((result) => {\n preventBlurOnCopy.current = !supportClipboard;\n return result;\n })\n .catch((error) => {\n console.error(error);\n });\n break;\n }\n case \"V\":\n // Paste - do nothing and let handleChange deal with it\n break;\n case \"ARROWLEFT\":\n pillGroupKeyDownHandlers.ArrowLeft(event);\n break;\n case \"ARROWRIGHT\":\n pillGroupKeyDownHandlers.ArrowRight(event);\n break;\n case \"BACKSPACE\":\n if (cursorAtInputStart()) {\n handleRemoveItem(event, selectedItems.length - 1);\n }\n break;\n case \"CONTROL\":\n case \"META\":\n // Do nothing\n break;\n default:\n // Otherwise, reset active items\n setActiveIndices([]);\n }\n };\n\n const handleCommonKeyDown = (event: KeyboardEvent<HTMLTextAreaElement>) => {\n const eventKey = event.key.toUpperCase();\n if (eventKey === \"ESCAPE\") {\n event.preventDefault();\n resetInput();\n } else if (eventKey === \"TAB\" && !disableAddOnBlur) {\n // Pressing Tab adds a new value\n handleAddItems(event, value);\n }\n };\n\n const handleKeyDown: InputHTMLAttributes<HTMLTextAreaElement>[\"onKeyDown\"] = (\n event,\n ) => {\n onKeyDown?.(event);\n if (event.defaultPrevented) {\n return;\n }\n if (isCtrlModifier(event)) {\n handleCtrlModifierKeyDown(event);\n } else {\n let handler: KeyboardEventHandler<HTMLTextAreaElement> | undefined;\n if (highlightedIndex == null) {\n handler = inputKeyDownHandlers[event.key];\n setActiveIndices([]);\n } else {\n handler = pillGroupKeyDownHandlers[event.key];\n }\n\n if (handler != null) {\n handler(event);\n } else {\n handleCommonKeyDown(event);\n }\n }\n };\n\n const state: TokenizedInputNextState<Item> = {\n value,\n selectedItems,\n activeIndices,\n highlightedIndex,\n expanded,\n };\n\n const eventHandlers = {\n // onFocus is a focus on the expand button\n // It can also be triggered by a focus on the input\n // onBlur is a blur from the expand button when it's collapsed\n // It can also be triggered by the clear button\n onBlur: expanded ? handleBlur : onBlur,\n onClick: handleClick,\n onInputChange: handleInputChange,\n onInputFocus: handleInputFocus,\n onInputBlur: handleInputBlur,\n onKeyDown: handleKeyDown,\n onRemoveItem: handleRemoveItem,\n onClear: handleClear,\n };\n\n return {\n state,\n firstHiddenIndex,\n refs: {\n textAreaRef: useForkRef(textAreaRef, inputRef),\n pillsRef,\n clearButtonRef,\n expandButtonRef,\n statusAdornmentRef,\n containerRef: useForkRef(containerRef, containerObserverRef),\n },\n helpers: {\n setValue,\n setSelectedItems,\n setHighlightedIndex,\n updateExpanded,\n },\n inputProps: {\n id,\n disabled,\n validationStatus: validationStatus ?? validationStatusProp,\n readOnly: readOnly ?? readOnlyProp,\n necessity: necessity,\n focused,\n \"aria-labelledby\": ariaLabelledBy,\n \"aria-label\": ariaLabel,\n \"aria-describedby\": ariaDescribedBy ?? ariaDescribedByProp,\n ...state,\n ...restProps,\n ...(disabled ? {} : eventHandlers),\n },\n };\n}\n"],"names":["useFormFieldProps","useDensity","useId","useState","useWidth","useRef","useForkRef","useMemo","escapeRegExp","useControlled","useResizeObserver","useCallback","getPadding","useIsomorphicLayoutEffect","calcFirstHiddenIndex","ownerWindow","copy"],"mappings":"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"}
1
+ {"version":3,"file":"useTokenizedInputNext.js","sources":["../src/tokenized-input-next/useTokenizedInputNext.tsx"],"sourcesContent":["import {\n ownerWindow,\n useControlled,\n useDensity,\n useForkRef,\n useFormFieldProps,\n useId,\n useIsomorphicLayoutEffect,\n} from \"@salt-ds/core\";\nimport copy from \"clipboard-copy\";\nimport {\n type ChangeEvent,\n type FocusEvent,\n type InputHTMLAttributes,\n type KeyboardEvent,\n type KeyboardEventHandler,\n type MutableRefObject,\n type Ref,\n type SetStateAction,\n type SyntheticEvent,\n useCallback,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport { escapeRegExp } from \"../utils\";\nimport type { TokenizedInputNextProps } from \"./TokenizedInputNext\";\nimport { calcFirstHiddenIndex } from \"./internal/calcFirstHiddenIndex\";\nimport { useResizeObserver } from \"./internal/useResizeObserver\";\nimport { getPadding, useWidth } from \"./internal/useWidth\";\n\nexport interface TokenizedInputNextState<Item> {\n activeIndices: number[];\n expanded: boolean | undefined;\n highlightedIndex: number | undefined;\n selectedItems: Item[];\n value: string | undefined;\n}\n\nexport interface TokenizedInputNextHelpers<Item> {\n setHighlightedIndex: (value?: number) => void;\n setValue: (value: string) => void;\n setSelectedItems: (selectedItems: Item[]) => void;\n updateExpanded: (event: SyntheticEvent, expanded: boolean) => void;\n}\n\nexport interface TokenizedInputNextRefs {\n textAreaRef: Ref<HTMLTextAreaElement>;\n pillsRef: MutableRefObject<Record<number, number | undefined>>;\n clearButtonRef: (newNode: HTMLButtonElement) => void;\n expandButtonRef: Ref<HTMLButtonElement>;\n statusAdornmentRef: Ref<SVGSVGElement>;\n containerRef: Ref<HTMLDivElement>;\n}\n\nconst getCursorPosition = (\n inputRef: MutableRefObject<HTMLTextAreaElement | null>,\n) => {\n if (inputRef.current) {\n const { selectionStart, selectionEnd } = inputRef.current;\n\n // if there is no selection range\n if (selectionStart != null && selectionStart === selectionEnd) {\n return selectionStart;\n }\n }\n\n return -1;\n};\n\nconst isCtrlModifier = (event: KeyboardEvent<HTMLTextAreaElement>) => {\n return (\n event.ctrlKey ||\n event.metaKey ||\n [\"CONTROL\", \"META\"].indexOf(event.key.toUpperCase()) !== -1\n );\n};\n\nfunction isValidItem<Item>(data: unknown): data is Item {\n return (\n (typeof data === \"string\" && Boolean(data.length)) ||\n (typeof data !== \"string\" && data != null)\n );\n}\n\ninterface useTokenizedInputNextResult<Item> {\n /**\n * The tokenized input state\n */\n state: TokenizedInputNextState<Item>;\n /**\n * First hidden element when collapsed\n */\n firstHiddenIndex: number | null;\n /**\n * Utility functions for modifying tokenized input state\n */\n helpers: TokenizedInputNextHelpers<Item>;\n /**\n * Refs for tokenized input items.\n */\n refs: TokenizedInputNextRefs;\n /**\n * Properties applied to a basic tokenized input component\n */\n inputProps: Omit<TokenizedInputNextProps<Item>, \"helpers\" | \"onChange\">;\n}\n\nexport function useTokenizedInputNext<Item>(\n props: TokenizedInputNextProps<Item>,\n): useTokenizedInputNextResult<Item> {\n const {\n disabled: formFieldDisabled,\n readOnly,\n necessity,\n validationStatus,\n a11yProps: {\n \"aria-describedby\": ariaDescribedBy,\n \"aria-labelledby\": ariaLabelledBy,\n } = {},\n } = useFormFieldProps();\n\n const {\n delimiters = [\",\"],\n defaultSelected = [],\n disabled = formFieldDisabled,\n readOnly: readOnlyProp,\n validationStatus: validationStatusProp,\n disableAddOnBlur,\n onBlur,\n onClick,\n onExpand,\n onCollapse,\n onKeyDown,\n onInputChange,\n onInputFocus,\n onInputBlur,\n onClear,\n onChange,\n id: idProp,\n value: valueProp,\n expanded: expandedProp,\n selectedItems: selectedItemsProp,\n \"aria-label\": ariaLabel,\n \"aria-describedby\": ariaDescribedByProp,\n expandButtonRef: expandButtonRefProp,\n ...restProps\n } = props;\n\n const density = useDensity();\n const id = useId(idProp);\n\n const [focused, setFocused] = useState(false);\n const [pillGroupWidth, setPillGroupWidth] = useState<number | null>(null);\n const [firstHiddenIndex, setFirstHiddenIndex] = useState<number | null>(null);\n const [activeIndices, setActiveIndices] = useState<number[]>([]);\n const [highlightedIndex, setHighlightedIndex] = useState<number | undefined>(\n undefined,\n );\n\n const [expandButtonHookRef, expandButtonWidth] = useWidth(density);\n const [clearButtonRef, clearButtonWidth] = useWidth(density);\n const [statusAdornmentRef, statusAdornmentWidth] = useWidth(density);\n const [inputRef, inputWidth] = useWidth(density);\n\n const containerRef = useRef<HTMLDivElement>(null);\n const pillsRef = useRef<Record<number, number | undefined>>({});\n const textAreaRef = useRef<HTMLTextAreaElement>(null);\n const preventBlurOnCopy = useRef(false);\n const expandButtonRef = useForkRef(expandButtonHookRef, expandButtonRefProp);\n\n const hasActiveItems = Boolean(activeIndices.length);\n const primaryDelimiter = delimiters[0];\n const delimiterRegex = useMemo(\n () => new RegExp(delimiters.map(escapeRegExp).join(\"|\"), \"gi\"),\n [delimiters],\n );\n\n const [value, setValue, isInputControlled] = useControlled<\n string | undefined\n >({\n controlled: valueProp,\n default: \"\",\n name: \"TokenizedInputNext\",\n state: \"value\",\n });\n\n const [selectedItems = [], setSelectedItems, isSelectionControlled] =\n useControlled<Item[] | undefined>({\n controlled: selectedItemsProp,\n default: defaultSelected,\n name: \"TokenizedInputNext\",\n state: \"selectedItems\",\n });\n\n const [expanded, setExpanded, isExpandedControlled] = useControlled<boolean>({\n controlled: expandedProp,\n default: false,\n name: \"TokenizedInputNext\",\n state: \"expanded\",\n });\n\n const widthOffset =\n inputWidth +\n statusAdornmentWidth +\n (expanded ? clearButtonWidth : expandButtonWidth);\n\n const containerObserverRef = useResizeObserver<HTMLDivElement>(\n useCallback(\n ([{ contentRect }]) => {\n const padding = getPadding(containerRef.current);\n setPillGroupWidth(contentRect.width - padding - widthOffset);\n },\n [widthOffset],\n ),\n );\n\n useIsomorphicLayoutEffect(\n () => () => {\n // When density changes, set hidden index to null so that pills are in their\n // readonly state before they are measured.\n setFirstHiddenIndex(null);\n },\n [density],\n );\n\n // useIsomorphicLayoutEffect because of potential layout change\n // We want to do that before paint to avoid layout jumps\n useIsomorphicLayoutEffect(\n () => {\n if (expanded) {\n setFirstHiddenIndex(null);\n } else if (pillGroupWidth != null) {\n setFirstHiddenIndex(\n calcFirstHiddenIndex({\n containerWidth: pillGroupWidth,\n pillWidths: Object.values(pillsRef.current).filter(\n Boolean,\n ) as number[],\n }),\n );\n }\n },\n // Additional dependency on selectedItems is for the controlled version\n [expanded, pillGroupWidth, selectedItems],\n );\n\n const focusInput = useCallback(() => {\n if (textAreaRef.current) {\n textAreaRef.current.focus();\n }\n }, []);\n\n const updateInputValue = (newValue: string | undefined) => {\n if (!isInputControlled) {\n setValue(newValue);\n }\n };\n\n const updateSelectedItems = useCallback(\n (event: SyntheticEvent, action: SetStateAction<Item[] | undefined>) => {\n if (!isSelectionControlled) {\n setSelectedItems((prevSelectedItems?: Item[]) => {\n const newItems =\n typeof action === \"function\" ? action(prevSelectedItems) : action;\n\n if (newItems !== prevSelectedItems) {\n onChange?.(event, newItems);\n }\n return newItems;\n });\n } else {\n onChange?.(\n event,\n typeof action === \"function\" ? action(selectedItems) : action,\n );\n }\n },\n [isSelectionControlled, onChange, selectedItems],\n );\n\n const updateExpanded = (event: SyntheticEvent, newExpanded: boolean) => {\n if (!isExpandedControlled) {\n setExpanded(newExpanded);\n }\n\n if (newExpanded) {\n focusInput();\n onExpand?.(event);\n } else {\n onCollapse?.(event);\n }\n };\n\n const resetInput = () => {\n updateInputValue(\"\");\n setHighlightedIndex(undefined);\n setActiveIndices([]);\n };\n\n const removeItems = useCallback(\n (event: SyntheticEvent, itemIndices: number[]) => {\n updateSelectedItems(\n event,\n (prevSelectedItems) =>\n prevSelectedItems &&\n (prevSelectedItems.length === 0\n ? prevSelectedItems\n : prevSelectedItems.filter(\n (_, index) => itemIndices.indexOf(index) === -1,\n )),\n );\n },\n [updateSelectedItems],\n );\n\n const handleInputFocus = (event: FocusEvent<HTMLTextAreaElement>) => {\n event.stopPropagation();\n\n // The input will lose focus when building the text to copy in a temporary\n // DOM node. This is particularly visible in a slower browser, i.e. IE 11.\n // This is to prevent a blur in that scenario.\n if (preventBlurOnCopy.current) {\n preventBlurOnCopy.current = false;\n setActiveIndices(\n Array.from(\n { length: selectedItems ? selectedItems.length : 0 },\n (_, index) => index,\n ),\n );\n return;\n }\n\n onInputFocus?.(event);\n updateExpanded(event, true);\n setFocused(true);\n };\n\n const handleBlur = (\n event: FocusEvent<HTMLTextAreaElement | HTMLButtonElement>,\n ) => {\n onBlur?.(event);\n setFocused(false);\n updateExpanded(event, false);\n };\n\n const handleInputBlur = (event: FocusEvent<HTMLTextAreaElement>) => {\n // Check if the related target inside TokenizedInput\n const container = containerRef?.current;\n const eventTarget = event.relatedTarget;\n event.preventDefault();\n event.stopPropagation();\n setHighlightedIndex(undefined);\n setActiveIndices([]);\n if (!disableAddOnBlur) {\n handleAddItems(event, value);\n }\n onInputBlur?.(event);\n if (\n eventTarget !== container &&\n !container?.contains(eventTarget as Node)\n ) {\n handleBlur(event);\n }\n };\n\n const handleClick = (event: SyntheticEvent<HTMLElement>) => {\n updateExpanded(event, true);\n setActiveIndices([]);\n onClick?.(event);\n };\n\n const handleInputChange = (event: ChangeEvent<HTMLTextAreaElement>) => {\n setHighlightedIndex(undefined);\n\n onInputChange?.(event);\n\n const newValue = event.target.value;\n\n if (delimiterRegex.test(newValue)) {\n // Process value with delimiters\n handleAddItems(event, newValue);\n } else {\n // Just update input value if there is no delimiter\n updateInputValue(newValue);\n }\n };\n\n const handleAddItems = (\n event: SyntheticEvent,\n newValue: string | undefined,\n appendOnly?: boolean,\n ) => {\n if (!newValue || newValue.length === 0) {\n return;\n }\n\n resetInput();\n\n const newItems = newValue\n .split(delimiterRegex)\n .reduce<Item[]>((values, item) => {\n const newItem = item.trim();\n return isValidItem<Item>(newItem) ? values.concat(newItem) : values;\n }, []);\n\n if (newItems.length) {\n updateSelectedItems(event, (prevSelectedItems = []) =>\n hasActiveItems && !appendOnly\n ? newItems\n : prevSelectedItems.concat(newItems),\n );\n }\n };\n\n const handleRemoveItem = (event: SyntheticEvent, itemIndex?: number) => {\n focusInput();\n if (itemIndex !== undefined && !readOnly && !readOnlyProp) {\n removeItems(event, [itemIndex]);\n }\n };\n\n const handleClear = (event: ChangeEvent<HTMLTextAreaElement>) => {\n updateSelectedItems(event, []);\n resetInput();\n focusInput();\n onClear?.(event);\n };\n\n const cursorAtInputStart = () =>\n getCursorPosition(textAreaRef) === 0 && Boolean(selectedItems.length);\n\n const highlightAtPillGroupEnd = () =>\n highlightedIndex === selectedItems.length - 1;\n\n const pillGroupKeyDownHandlers: Record<\n string,\n KeyboardEventHandler<HTMLTextAreaElement>\n > = {\n ArrowLeft: (event) => {\n event.preventDefault();\n setHighlightedIndex((prevHighlightedIndex) =>\n prevHighlightedIndex == null\n ? selectedItems.length - 1\n : Math.max(0, prevHighlightedIndex - 1),\n );\n },\n ArrowRight: (event) => {\n if (highlightAtPillGroupEnd()) {\n return setHighlightedIndex(undefined);\n }\n\n event.preventDefault();\n setHighlightedIndex((prevHighlightedIndex) =>\n prevHighlightedIndex == null\n ? prevHighlightedIndex\n : Math.min(selectedItems.length - 1, prevHighlightedIndex + 1),\n );\n },\n Backspace: (event) => {\n event.preventDefault();\n handleRemoveItem(event, highlightedIndex);\n setHighlightedIndex((prevHighlightedIndex) =>\n prevHighlightedIndex == null\n ? prevHighlightedIndex\n : Math.max(0, prevHighlightedIndex - 1),\n );\n },\n Home: (event) => {\n event.preventDefault();\n setHighlightedIndex(0);\n },\n End: (event) => {\n event.preventDefault();\n setHighlightedIndex(selectedItems.length - 1);\n },\n Enter: (event) => {\n event.preventDefault();\n handleRemoveItem(event, highlightedIndex);\n },\n Delete: (event) => {\n event.preventDefault();\n handleRemoveItem(event, highlightedIndex);\n },\n \" \": (event) => {\n event.preventDefault();\n handleRemoveItem(event, highlightedIndex);\n },\n };\n\n const inputKeyDownHandlers: Record<\n string,\n KeyboardEventHandler<HTMLTextAreaElement>\n > = {\n ArrowLeft: (event) => {\n if (cursorAtInputStart()) {\n event.preventDefault();\n setHighlightedIndex(selectedItems.length - 1);\n }\n },\n Backspace: (event) => {\n if (hasActiveItems) {\n removeItems(event, activeIndices);\n } else if (cursorAtInputStart()) {\n setHighlightedIndex(selectedItems.length - 1);\n }\n },\n Delete: (event) => {\n if (hasActiveItems) {\n removeItems(event, activeIndices);\n }\n },\n Enter: (event) => {\n event.preventDefault();\n\n if (hasActiveItems) {\n removeItems(event, activeIndices);\n } else {\n handleAddItems(event, value);\n }\n },\n };\n\n const handleCtrlModifierKeyDown: InputHTMLAttributes<HTMLTextAreaElement>[\"onKeyDown\"] =\n (event) => {\n const win = ownerWindow(event.target as HTMLElement);\n const supportClipboard = win.navigator?.clipboard;\n\n switch (event.key.toUpperCase()) {\n case \"A\":\n // Select all\n setHighlightedIndex(undefined);\n setActiveIndices(\n Array.from({ length: selectedItems.length }, (_, index) => index),\n );\n break;\n case \"C\": {\n // Copy\n const textToCopy =\n activeIndices.length > 0\n ? activeIndices\n .map((index) => String(selectedItems[index]))\n .concat(value != null ? String(value).trim() : \"\")\n .filter(Boolean)\n .join(primaryDelimiter)\n : highlightedIndex !== undefined\n ? String(`${selectedItems[highlightedIndex]},`)\n : \"\";\n copy(textToCopy)\n .then((result) => {\n preventBlurOnCopy.current = !supportClipboard;\n return result;\n })\n .catch((error) => {\n console.error(error);\n });\n break;\n }\n case \"V\":\n // Paste - do nothing and let handleChange deal with it\n break;\n case \"ARROWLEFT\":\n pillGroupKeyDownHandlers.ArrowLeft(event);\n break;\n case \"ARROWRIGHT\":\n pillGroupKeyDownHandlers.ArrowRight(event);\n break;\n case \"BACKSPACE\":\n if (cursorAtInputStart()) {\n handleRemoveItem(event, selectedItems.length - 1);\n }\n break;\n case \"CONTROL\":\n case \"META\":\n // Do nothing\n break;\n default:\n // Otherwise, reset active items\n setActiveIndices([]);\n }\n };\n\n const handleCommonKeyDown = (event: KeyboardEvent<HTMLTextAreaElement>) => {\n const eventKey = event.key.toUpperCase();\n if (eventKey === \"ESCAPE\") {\n event.preventDefault();\n resetInput();\n } else if (eventKey === \"TAB\" && !disableAddOnBlur) {\n // Pressing Tab adds a new value\n handleAddItems(event, value);\n }\n };\n\n const handleKeyDown: InputHTMLAttributes<HTMLTextAreaElement>[\"onKeyDown\"] = (\n event,\n ) => {\n onKeyDown?.(event);\n if (event.defaultPrevented) {\n return;\n }\n if (isCtrlModifier(event)) {\n handleCtrlModifierKeyDown(event);\n } else {\n let handler: KeyboardEventHandler<HTMLTextAreaElement> | undefined;\n if (highlightedIndex == null) {\n handler = inputKeyDownHandlers[event.key];\n setActiveIndices([]);\n } else {\n handler = pillGroupKeyDownHandlers[event.key];\n }\n\n if (handler != null) {\n handler(event);\n } else {\n handleCommonKeyDown(event);\n }\n }\n };\n\n const state: TokenizedInputNextState<Item> = {\n value,\n selectedItems,\n activeIndices,\n highlightedIndex,\n expanded,\n };\n\n const eventHandlers = {\n // onFocus is a focus on the expand button\n // It can also be triggered by a focus on the input\n // onBlur is a blur from the expand button when it's collapsed\n // It can also be triggered by the clear button\n onBlur: expanded ? handleBlur : onBlur,\n onClick: handleClick,\n onInputChange: handleInputChange,\n onInputFocus: handleInputFocus,\n onInputBlur: handleInputBlur,\n onKeyDown: handleKeyDown,\n onRemoveItem: handleRemoveItem,\n onClear: handleClear,\n };\n\n return {\n state,\n firstHiddenIndex,\n refs: {\n textAreaRef: useForkRef(textAreaRef, inputRef),\n pillsRef,\n clearButtonRef,\n expandButtonRef,\n statusAdornmentRef,\n containerRef: useForkRef(containerRef, containerObserverRef),\n },\n helpers: {\n setValue,\n setSelectedItems,\n setHighlightedIndex,\n updateExpanded,\n },\n inputProps: {\n id,\n disabled,\n validationStatus: validationStatus ?? validationStatusProp,\n readOnly: readOnly ?? readOnlyProp,\n necessity: necessity,\n focused,\n \"aria-labelledby\": ariaLabelledBy,\n \"aria-label\": ariaLabel,\n \"aria-describedby\": ariaDescribedBy ?? ariaDescribedByProp,\n ...state,\n ...restProps,\n ...(disabled ? {} : eventHandlers),\n },\n };\n}\n"],"names":["useFormFieldProps","useDensity","useId","useState","useWidth","useRef","useForkRef","useMemo","escapeRegExp","useControlled","useResizeObserver","useCallback","getPadding","useIsomorphicLayoutEffect","calcFirstHiddenIndex","ownerWindow"],"mappings":";;;;;;;;;;AAuDA,MAAM,iBAAA,GAAoB,CACxB,QACG,KAAA;AACH,EAAA,IAAI,SAAS,OAAS,EAAA;AACpB,IAAA,MAAM,EAAE,cAAA,EAAgB,YAAa,EAAA,GAAI,QAAS,CAAA,OAAA;AAGlD,IAAI,IAAA,cAAA,IAAkB,IAAQ,IAAA,cAAA,KAAmB,YAAc,EAAA;AAC7D,MAAO,OAAA,cAAA;AAAA;AACT;AAGF,EAAO,OAAA,CAAA,CAAA;AACT,CAAA;AAEA,MAAM,cAAA,GAAiB,CAAC,KAA8C,KAAA;AACpE,EAAA,OACE,KAAM,CAAA,OAAA,IACN,KAAM,CAAA,OAAA,IACN,CAAC,SAAA,EAAW,MAAM,CAAA,CAAE,OAAQ,CAAA,KAAA,CAAM,GAAI,CAAA,WAAA,EAAa,CAAM,KAAA,CAAA,CAAA;AAE7D,CAAA;AAEA,SAAS,YAAkB,IAA6B,EAAA;AACtD,EACG,OAAA,OAAO,IAAS,KAAA,QAAA,IAAY,OAAQ,CAAA,IAAA,CAAK,MAAM,CAC/C,IAAA,OAAO,IAAS,KAAA,QAAA,IAAY,IAAQ,IAAA,IAAA;AAEzC;AAyBO,SAAS,sBACd,KACmC,EAAA;AACnC,EAAM,MAAA;AAAA,IACJ,QAAU,EAAA,iBAAA;AAAA,IACV,QAAA;AAAA,IACA,SAAA;AAAA,IACA,gBAAA;AAAA,IACA,SAAW,EAAA;AAAA,MACT,kBAAoB,EAAA,eAAA;AAAA,MACpB,iBAAmB,EAAA;AAAA,QACjB;AAAC,MACHA,sBAAkB,EAAA;AAEtB,EAAM,MAAA;AAAA,IACJ,UAAA,GAAa,CAAC,GAAG,CAAA;AAAA,IACjB,kBAAkB,EAAC;AAAA,IACnB,QAAW,GAAA,iBAAA;AAAA,IACX,QAAU,EAAA,YAAA;AAAA,IACV,gBAAkB,EAAA,oBAAA;AAAA,IAClB,gBAAA;AAAA,IACA,MAAA;AAAA,IACA,OAAA;AAAA,IACA,QAAA;AAAA,IACA,UAAA;AAAA,IACA,SAAA;AAAA,IACA,aAAA;AAAA,IACA,YAAA;AAAA,IACA,WAAA;AAAA,IACA,OAAA;AAAA,IACA,QAAA;AAAA,IACA,EAAI,EAAA,MAAA;AAAA,IACJ,KAAO,EAAA,SAAA;AAAA,IACP,QAAU,EAAA,YAAA;AAAA,IACV,aAAe,EAAA,iBAAA;AAAA,IACf,YAAc,EAAA,SAAA;AAAA,IACd,kBAAoB,EAAA,mBAAA;AAAA,IACpB,eAAiB,EAAA,mBAAA;AAAA,IACjB,GAAG;AAAA,GACD,GAAA,KAAA;AAEJ,EAAA,MAAM,UAAUC,eAAW,EAAA;AAC3B,EAAM,MAAA,EAAA,GAAKC,WAAM,MAAM,CAAA;AAEvB,EAAA,MAAM,CAAC,OAAA,EAAS,UAAU,CAAA,GAAIC,eAAS,KAAK,CAAA;AAC5C,EAAA,MAAM,CAAC,cAAA,EAAgB,iBAAiB,CAAA,GAAIA,eAAwB,IAAI,CAAA;AACxE,EAAA,MAAM,CAAC,gBAAA,EAAkB,mBAAmB,CAAA,GAAIA,eAAwB,IAAI,CAAA;AAC5E,EAAA,MAAM,CAAC,aAAe,EAAA,gBAAgB,CAAI,GAAAA,cAAA,CAAmB,EAAE,CAAA;AAC/D,EAAM,MAAA,CAAC,gBAAkB,EAAA,mBAAmB,CAAI,GAAAA,cAAA;AAAA,IAC9C,KAAA;AAAA,GACF;AAEA,EAAA,MAAM,CAAC,mBAAA,EAAqB,iBAAiB,CAAA,GAAIC,kBAAS,OAAO,CAAA;AACjE,EAAA,MAAM,CAAC,cAAA,EAAgB,gBAAgB,CAAA,GAAIA,kBAAS,OAAO,CAAA;AAC3D,EAAA,MAAM,CAAC,kBAAA,EAAoB,oBAAoB,CAAA,GAAIA,kBAAS,OAAO,CAAA;AACnE,EAAA,MAAM,CAAC,QAAA,EAAU,UAAU,CAAA,GAAIA,kBAAS,OAAO,CAAA;AAE/C,EAAM,MAAA,YAAA,GAAeC,aAAuB,IAAI,CAAA;AAChD,EAAM,MAAA,QAAA,GAAWA,YAA2C,CAAA,EAAE,CAAA;AAC9D,EAAM,MAAA,WAAA,GAAcA,aAA4B,IAAI,CAAA;AACpD,EAAM,MAAA,iBAAA,GAAoBA,aAAO,KAAK,CAAA;AACtC,EAAM,MAAA,eAAA,GAAkBC,eAAW,CAAA,mBAAA,EAAqB,mBAAmB,CAAA;AAE3E,EAAM,MAAA,cAAA,GAAiB,OAAQ,CAAA,aAAA,CAAc,MAAM,CAAA;AACnD,EAAM,MAAA,gBAAA,GAAmB,WAAW,CAAC,CAAA;AACrC,EAAA,MAAM,cAAiB,GAAAC,aAAA;AAAA,IACrB,MAAM,IAAI,MAAA,CAAO,UAAW,CAAA,GAAA,CAAIC,yBAAY,CAAE,CAAA,IAAA,CAAK,GAAG,CAAA,EAAG,IAAI,CAAA;AAAA,IAC7D,CAAC,UAAU;AAAA,GACb;AAEA,EAAA,MAAM,CAAC,KAAA,EAAO,QAAU,EAAA,iBAAiB,IAAIC,kBAE3C,CAAA;AAAA,IACA,UAAY,EAAA,SAAA;AAAA,IACZ,OAAS,EAAA,EAAA;AAAA,IACT,IAAM,EAAA,oBAAA;AAAA,IACN,KAAO,EAAA;AAAA,GACR,CAAA;AAED,EAAA,MAAM,CAAC,aAAgB,GAAA,IAAI,gBAAkB,EAAA,qBAAqB,IAChEA,kBAAkC,CAAA;AAAA,IAChC,UAAY,EAAA,iBAAA;AAAA,IACZ,OAAS,EAAA,eAAA;AAAA,IACT,IAAM,EAAA,oBAAA;AAAA,IACN,KAAO,EAAA;AAAA,GACR,CAAA;AAEH,EAAA,MAAM,CAAC,QAAA,EAAU,WAAa,EAAA,oBAAoB,IAAIA,kBAAuB,CAAA;AAAA,IAC3E,UAAY,EAAA,YAAA;AAAA,IACZ,OAAS,EAAA,KAAA;AAAA,IACT,IAAM,EAAA,oBAAA;AAAA,IACN,KAAO,EAAA;AAAA,GACR,CAAA;AAED,EAAA,MAAM,WACJ,GAAA,UAAA,GACA,oBACC,IAAA,QAAA,GAAW,gBAAmB,GAAA,iBAAA,CAAA;AAEjC,EAAA,MAAM,oBAAuB,GAAAC,mCAAA;AAAA,IAC3BC,iBAAA;AAAA,MACE,CAAC,CAAC,EAAE,WAAA,EAAa,CAAM,KAAA;AACrB,QAAM,MAAA,OAAA,GAAUC,mBAAW,CAAA,YAAA,CAAa,OAAO,CAAA;AAC/C,QAAkB,iBAAA,CAAA,WAAA,CAAY,KAAQ,GAAA,OAAA,GAAU,WAAW,CAAA;AAAA,OAC7D;AAAA,MACA,CAAC,WAAW;AAAA;AACd,GACF;AAEA,EAAAC,8BAAA;AAAA,IACE,MAAM,MAAM;AAGV,MAAA,mBAAA,CAAoB,IAAI,CAAA;AAAA,KAC1B;AAAA,IACA,CAAC,OAAO;AAAA,GACV;AAIA,EAAAA,8BAAA;AAAA,IACE,MAAM;AACJ,MAAA,IAAI,QAAU,EAAA;AACZ,QAAA,mBAAA,CAAoB,IAAI,CAAA;AAAA,OAC1B,MAAA,IAAW,kBAAkB,IAAM,EAAA;AACjC,QAAA,mBAAA;AAAA,UACEC,yCAAqB,CAAA;AAAA,YACnB,cAAgB,EAAA,cAAA;AAAA,YAChB,UAAY,EAAA,MAAA,CAAO,MAAO,CAAA,QAAA,CAAS,OAAO,CAAE,CAAA,MAAA;AAAA,cAC1C;AAAA;AACF,WACD;AAAA,SACH;AAAA;AACF,KACF;AAAA;AAAA,IAEA,CAAC,QAAU,EAAA,cAAA,EAAgB,aAAa;AAAA,GAC1C;AAEA,EAAM,MAAA,UAAA,GAAaH,kBAAY,MAAM;AACnC,IAAA,IAAI,YAAY,OAAS,EAAA;AACvB,MAAA,WAAA,CAAY,QAAQ,KAAM,EAAA;AAAA;AAC5B,GACF,EAAG,EAAE,CAAA;AAEL,EAAM,MAAA,gBAAA,GAAmB,CAAC,QAAiC,KAAA;AACzD,IAAA,IAAI,CAAC,iBAAmB,EAAA;AACtB,MAAA,QAAA,CAAS,QAAQ,CAAA;AAAA;AACnB,GACF;AAEA,EAAA,MAAM,mBAAsB,GAAAA,iBAAA;AAAA,IAC1B,CAAC,OAAuB,MAA+C,KAAA;AACrE,MAAA,IAAI,CAAC,qBAAuB,EAAA;AAC1B,QAAA,gBAAA,CAAiB,CAAC,iBAA+B,KAAA;AAC/C,UAAA,MAAM,WACJ,OAAO,MAAA,KAAW,UAAa,GAAA,MAAA,CAAO,iBAAiB,CAAI,GAAA,MAAA;AAE7D,UAAA,IAAI,aAAa,iBAAmB,EAAA;AAClC,YAAA,QAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,QAAA,CAAW,KAAO,EAAA,QAAA,CAAA;AAAA;AAEpB,UAAO,OAAA,QAAA;AAAA,SACR,CAAA;AAAA,OACI,MAAA;AACL,QAAA,QAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,QAAA;AAAA,UACE,KAAA;AAAA,UACA,OAAO,MAAA,KAAW,UAAa,GAAA,MAAA,CAAO,aAAa,CAAI,GAAA;AAAA,SAAA;AAAA;AAE3D,KACF;AAAA,IACA,CAAC,qBAAuB,EAAA,QAAA,EAAU,aAAa;AAAA,GACjD;AAEA,EAAM,MAAA,cAAA,GAAiB,CAAC,KAAA,EAAuB,WAAyB,KAAA;AACtE,IAAA,IAAI,CAAC,oBAAsB,EAAA;AACzB,MAAA,WAAA,CAAY,WAAW,CAAA;AAAA;AAGzB,IAAA,IAAI,WAAa,EAAA;AACf,MAAW,UAAA,EAAA;AACX,MAAW,QAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,QAAA,CAAA,KAAA,CAAA;AAAA,KACN,MAAA;AACL,MAAa,UAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,UAAA,CAAA,KAAA,CAAA;AAAA;AACf,GACF;AAEA,EAAA,MAAM,aAAa,MAAM;AACvB,IAAA,gBAAA,CAAiB,EAAE,CAAA;AACnB,IAAA,mBAAA,CAAoB,KAAS,CAAA,CAAA;AAC7B,IAAA,gBAAA,CAAiB,EAAE,CAAA;AAAA,GACrB;AAEA,EAAA,MAAM,WAAc,GAAAA,iBAAA;AAAA,IAClB,CAAC,OAAuB,WAA0B,KAAA;AAChD,MAAA,mBAAA;AAAA,QACE,KAAA;AAAA,QACA,CAAC,iBACC,KAAA,iBAAA,KACC,kBAAkB,MAAW,KAAA,CAAA,GAC1B,oBACA,iBAAkB,CAAA,MAAA;AAAA,UAChB,CAAC,CAAG,EAAA,KAAA,KAAU,WAAY,CAAA,OAAA,CAAQ,KAAK,CAAM,KAAA,CAAA;AAAA,SAC/C;AAAA,OACR;AAAA,KACF;AAAA,IACA,CAAC,mBAAmB;AAAA,GACtB;AAEA,EAAM,MAAA,gBAAA,GAAmB,CAAC,KAA2C,KAAA;AACnE,IAAA,KAAA,CAAM,eAAgB,EAAA;AAKtB,IAAA,IAAI,kBAAkB,OAAS,EAAA;AAC7B,MAAA,iBAAA,CAAkB,OAAU,GAAA,KAAA;AAC5B,MAAA,gBAAA;AAAA,QACE,KAAM,CAAA,IAAA;AAAA,UACJ,EAAE,MAAA,EAAQ,aAAgB,GAAA,aAAA,CAAc,SAAS,CAAE,EAAA;AAAA,UACnD,CAAC,GAAG,KAAU,KAAA;AAAA;AAChB,OACF;AACA,MAAA;AAAA;AAGF,IAAe,YAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,YAAA,CAAA,KAAA,CAAA;AACf,IAAA,cAAA,CAAe,OAAO,IAAI,CAAA;AAC1B,IAAA,UAAA,CAAW,IAAI,CAAA;AAAA,GACjB;AAEA,EAAM,MAAA,UAAA,GAAa,CACjB,KACG,KAAA;AACH,IAAS,MAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,MAAA,CAAA,KAAA,CAAA;AACT,IAAA,UAAA,CAAW,KAAK,CAAA;AAChB,IAAA,cAAA,CAAe,OAAO,KAAK,CAAA;AAAA,GAC7B;AAEA,EAAM,MAAA,eAAA,GAAkB,CAAC,KAA2C,KAAA;AAElE,IAAA,MAAM,YAAY,YAAc,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,YAAA,CAAA,OAAA;AAChC,IAAA,MAAM,cAAc,KAAM,CAAA,aAAA;AAC1B,IAAA,KAAA,CAAM,cAAe,EAAA;AACrB,IAAA,KAAA,CAAM,eAAgB,EAAA;AACtB,IAAA,mBAAA,CAAoB,KAAS,CAAA,CAAA;AAC7B,IAAA,gBAAA,CAAiB,EAAE,CAAA;AACnB,IAAA,IAAI,CAAC,gBAAkB,EAAA;AACrB,MAAA,cAAA,CAAe,OAAO,KAAK,CAAA;AAAA;AAE7B,IAAc,WAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,WAAA,CAAA,KAAA,CAAA;AACd,IAAA,IACE,WAAgB,KAAA,SAAA,IAChB,EAAC,SAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,SAAA,CAAW,SAAS,WACrB,CAAA,CAAA,EAAA;AACA,MAAA,UAAA,CAAW,KAAK,CAAA;AAAA;AAClB,GACF;AAEA,EAAM,MAAA,WAAA,GAAc,CAAC,KAAuC,KAAA;AAC1D,IAAA,cAAA,CAAe,OAAO,IAAI,CAAA;AAC1B,IAAA,gBAAA,CAAiB,EAAE,CAAA;AACnB,IAAU,OAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,OAAA,CAAA,KAAA,CAAA;AAAA,GACZ;AAEA,EAAM,MAAA,iBAAA,GAAoB,CAAC,KAA4C,KAAA;AACrE,IAAA,mBAAA,CAAoB,KAAS,CAAA,CAAA;AAE7B,IAAgB,aAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,aAAA,CAAA,KAAA,CAAA;AAEhB,IAAM,MAAA,QAAA,GAAW,MAAM,MAAO,CAAA,KAAA;AAE9B,IAAI,IAAA,cAAA,CAAe,IAAK,CAAA,QAAQ,CAAG,EAAA;AAEjC,MAAA,cAAA,CAAe,OAAO,QAAQ,CAAA;AAAA,KACzB,MAAA;AAEL,MAAA,gBAAA,CAAiB,QAAQ,CAAA;AAAA;AAC3B,GACF;AAEA,EAAA,MAAM,cAAiB,GAAA,CACrB,KACA,EAAA,QAAA,EACA,UACG,KAAA;AACH,IAAA,IAAI,CAAC,QAAA,IAAY,QAAS,CAAA,MAAA,KAAW,CAAG,EAAA;AACtC,MAAA;AAAA;AAGF,IAAW,UAAA,EAAA;AAEX,IAAM,MAAA,QAAA,GAAW,SACd,KAAM,CAAA,cAAc,EACpB,MAAe,CAAA,CAAC,QAAQ,IAAS,KAAA;AAChC,MAAM,MAAA,OAAA,GAAU,KAAK,IAAK,EAAA;AAC1B,MAAA,OAAO,YAAkB,OAAO,CAAA,GAAI,MAAO,CAAA,MAAA,CAAO,OAAO,CAAI,GAAA,MAAA;AAAA,KAC/D,EAAG,EAAE,CAAA;AAEP,IAAA,IAAI,SAAS,MAAQ,EAAA;AACnB,MAAA,mBAAA;AAAA,QAAoB,KAAA;AAAA,QAAO,CAAC,iBAAoB,GAAA,EAC9C,KAAA,cAAA,IAAkB,CAAC,UACf,GAAA,QAAA,GACA,iBAAkB,CAAA,MAAA,CAAO,QAAQ;AAAA,OACvC;AAAA;AACF,GACF;AAEA,EAAM,MAAA,gBAAA,GAAmB,CAAC,KAAA,EAAuB,SAAuB,KAAA;AACtE,IAAW,UAAA,EAAA;AACX,IAAA,IAAI,SAAc,KAAA,KAAA,CAAA,IAAa,CAAC,QAAA,IAAY,CAAC,YAAc,EAAA;AACzD,MAAY,WAAA,CAAA,KAAA,EAAO,CAAC,SAAS,CAAC,CAAA;AAAA;AAChC,GACF;AAEA,EAAM,MAAA,WAAA,GAAc,CAAC,KAA4C,KAAA;AAC/D,IAAoB,mBAAA,CAAA,KAAA,EAAO,EAAE,CAAA;AAC7B,IAAW,UAAA,EAAA;AACX,IAAW,UAAA,EAAA;AACX,IAAU,OAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,OAAA,CAAA,KAAA,CAAA;AAAA,GACZ;AAEA,EAAM,MAAA,kBAAA,GAAqB,MACzB,iBAAkB,CAAA,WAAW,MAAM,CAAK,IAAA,OAAA,CAAQ,cAAc,MAAM,CAAA;AAEtE,EAAA,MAAM,uBAA0B,GAAA,MAC9B,gBAAqB,KAAA,aAAA,CAAc,MAAS,GAAA,CAAA;AAE9C,EAAA,MAAM,wBAGF,GAAA;AAAA,IACF,SAAA,EAAW,CAAC,KAAU,KAAA;AACpB,MAAA,KAAA,CAAM,cAAe,EAAA;AACrB,MAAA,mBAAA;AAAA,QAAoB,CAAC,oBACnB,KAAA,oBAAA,IAAwB,IACpB,GAAA,aAAA,CAAc,MAAS,GAAA,CAAA,GACvB,IAAK,CAAA,GAAA,CAAI,CAAG,EAAA,oBAAA,GAAuB,CAAC;AAAA,OAC1C;AAAA,KACF;AAAA,IACA,UAAA,EAAY,CAAC,KAAU,KAAA;AACrB,MAAA,IAAI,yBAA2B,EAAA;AAC7B,QAAA,OAAO,oBAAoB,KAAS,CAAA,CAAA;AAAA;AAGtC,MAAA,KAAA,CAAM,cAAe,EAAA;AACrB,MAAA,mBAAA;AAAA,QAAoB,CAAC,oBACnB,KAAA,oBAAA,IAAwB,IACpB,GAAA,oBAAA,GACA,IAAK,CAAA,GAAA,CAAI,aAAc,CAAA,MAAA,GAAS,CAAG,EAAA,oBAAA,GAAuB,CAAC;AAAA,OACjE;AAAA,KACF;AAAA,IACA,SAAA,EAAW,CAAC,KAAU,KAAA;AACpB,MAAA,KAAA,CAAM,cAAe,EAAA;AACrB,MAAA,gBAAA,CAAiB,OAAO,gBAAgB,CAAA;AACxC,MAAA,mBAAA;AAAA,QAAoB,CAAC,yBACnB,oBAAwB,IAAA,IAAA,GACpB,uBACA,IAAK,CAAA,GAAA,CAAI,CAAG,EAAA,oBAAA,GAAuB,CAAC;AAAA,OAC1C;AAAA,KACF;AAAA,IACA,IAAA,EAAM,CAAC,KAAU,KAAA;AACf,MAAA,KAAA,CAAM,cAAe,EAAA;AACrB,MAAA,mBAAA,CAAoB,CAAC,CAAA;AAAA,KACvB;AAAA,IACA,GAAA,EAAK,CAAC,KAAU,KAAA;AACd,MAAA,KAAA,CAAM,cAAe,EAAA;AACrB,MAAoB,mBAAA,CAAA,aAAA,CAAc,SAAS,CAAC,CAAA;AAAA,KAC9C;AAAA,IACA,KAAA,EAAO,CAAC,KAAU,KAAA;AAChB,MAAA,KAAA,CAAM,cAAe,EAAA;AACrB,MAAA,gBAAA,CAAiB,OAAO,gBAAgB,CAAA;AAAA,KAC1C;AAAA,IACA,MAAA,EAAQ,CAAC,KAAU,KAAA;AACjB,MAAA,KAAA,CAAM,cAAe,EAAA;AACrB,MAAA,gBAAA,CAAiB,OAAO,gBAAgB,CAAA;AAAA,KAC1C;AAAA,IACA,GAAA,EAAK,CAAC,KAAU,KAAA;AACd,MAAA,KAAA,CAAM,cAAe,EAAA;AACrB,MAAA,gBAAA,CAAiB,OAAO,gBAAgB,CAAA;AAAA;AAC1C,GACF;AAEA,EAAA,MAAM,oBAGF,GAAA;AAAA,IACF,SAAA,EAAW,CAAC,KAAU,KAAA;AACpB,MAAA,IAAI,oBAAsB,EAAA;AACxB,QAAA,KAAA,CAAM,cAAe,EAAA;AACrB,QAAoB,mBAAA,CAAA,aAAA,CAAc,SAAS,CAAC,CAAA;AAAA;AAC9C,KACF;AAAA,IACA,SAAA,EAAW,CAAC,KAAU,KAAA;AACpB,MAAA,IAAI,cAAgB,EAAA;AAClB,QAAA,WAAA,CAAY,OAAO,aAAa,CAAA;AAAA,OAClC,MAAA,IAAW,oBAAsB,EAAA;AAC/B,QAAoB,mBAAA,CAAA,aAAA,CAAc,SAAS,CAAC,CAAA;AAAA;AAC9C,KACF;AAAA,IACA,MAAA,EAAQ,CAAC,KAAU,KAAA;AACjB,MAAA,IAAI,cAAgB,EAAA;AAClB,QAAA,WAAA,CAAY,OAAO,aAAa,CAAA;AAAA;AAClC,KACF;AAAA,IACA,KAAA,EAAO,CAAC,KAAU,KAAA;AAChB,MAAA,KAAA,CAAM,cAAe,EAAA;AAErB,MAAA,IAAI,cAAgB,EAAA;AAClB,QAAA,WAAA,CAAY,OAAO,aAAa,CAAA;AAAA,OAC3B,MAAA;AACL,QAAA,cAAA,CAAe,OAAO,KAAK,CAAA;AAAA;AAC7B;AACF,GACF;AAEA,EAAM,MAAA,yBAAA,GACJ,CAAC,KAAU,KAAA;AA5gBf,IAAA,IAAA,EAAA;AA6gBM,IAAM,MAAA,GAAA,GAAMI,gBAAY,CAAA,KAAA,CAAM,MAAqB,CAAA;AACnD,IAAM,MAAA,gBAAA,GAAA,CAAmB,EAAI,GAAA,GAAA,CAAA,SAAA,KAAJ,IAAe,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,SAAA;AAExC,IAAQ,QAAA,KAAA,CAAM,GAAI,CAAA,WAAA,EAAe;AAAA,MAC/B,KAAK,GAAA;AAEH,QAAA,mBAAA,CAAoB,KAAS,CAAA,CAAA;AAC7B,QAAA,gBAAA;AAAA,UACE,KAAA,CAAM,IAAK,CAAA,EAAE,MAAQ,EAAA,aAAA,CAAc,QAAU,EAAA,CAAC,CAAG,EAAA,KAAA,KAAU,KAAK;AAAA,SAClE;AACA,QAAA;AAAA,MACF,KAAK,GAAK,EAAA;AAER,QAAA,MAAM,aACJ,aAAc,CAAA,MAAA,GAAS,CACnB,GAAA,aAAA,CACG,IAAI,CAAC,KAAA,KAAU,MAAO,CAAA,aAAA,CAAc,KAAK,CAAC,CAAC,EAC3C,MAAO,CAAA,KAAA,IAAS,OAAO,MAAO,CAAA,KAAK,CAAE,CAAA,IAAA,KAAS,EAAE,CAAA,CAChD,MAAO,CAAA,OAAO,EACd,IAAK,CAAA,gBAAgB,CACxB,GAAA,gBAAA,KAAqB,SACnB,MAAO,CAAA,CAAA,EAAG,cAAc,gBAAgB,CAAC,GAAG,CAC5C,GAAA,EAAA;AACR,QAAA,IAAA,CAAK,UAAU,CAAA,CACZ,IAAK,CAAA,CAAC,MAAW,KAAA;AAChB,UAAA,iBAAA,CAAkB,UAAU,CAAC,gBAAA;AAC7B,UAAO,OAAA,MAAA;AAAA,SACR,CAAA,CACA,KAAM,CAAA,CAAC,KAAU,KAAA;AAChB,UAAA,OAAA,CAAQ,MAAM,KAAK,CAAA;AAAA,SACpB,CAAA;AACH,QAAA;AAAA;AACF,MACA,KAAK,GAAA;AAEH,QAAA;AAAA,MACF,KAAK,WAAA;AACH,QAAA,wBAAA,CAAyB,UAAU,KAAK,CAAA;AACxC,QAAA;AAAA,MACF,KAAK,YAAA;AACH,QAAA,wBAAA,CAAyB,WAAW,KAAK,CAAA;AACzC,QAAA;AAAA,MACF,KAAK,WAAA;AACH,QAAA,IAAI,oBAAsB,EAAA;AACxB,UAAiB,gBAAA,CAAA,KAAA,EAAO,aAAc,CAAA,MAAA,GAAS,CAAC,CAAA;AAAA;AAElD,QAAA;AAAA,MACF,KAAK,SAAA;AAAA,MACL,KAAK,MAAA;AAEH,QAAA;AAAA,MACF;AAEE,QAAA,gBAAA,CAAiB,EAAE,CAAA;AAAA;AACvB,GACF;AAEF,EAAM,MAAA,mBAAA,GAAsB,CAAC,KAA8C,KAAA;AACzE,IAAM,MAAA,QAAA,GAAW,KAAM,CAAA,GAAA,CAAI,WAAY,EAAA;AACvC,IAAA,IAAI,aAAa,QAAU,EAAA;AACzB,MAAA,KAAA,CAAM,cAAe,EAAA;AACrB,MAAW,UAAA,EAAA;AAAA,KACF,MAAA,IAAA,QAAA,KAAa,KAAS,IAAA,CAAC,gBAAkB,EAAA;AAElD,MAAA,cAAA,CAAe,OAAO,KAAK,CAAA;AAAA;AAC7B,GACF;AAEA,EAAM,MAAA,aAAA,GAAuE,CAC3E,KACG,KAAA;AACH,IAAY,SAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,SAAA,CAAA,KAAA,CAAA;AACZ,IAAA,IAAI,MAAM,gBAAkB,EAAA;AAC1B,MAAA;AAAA;AAEF,IAAI,IAAA,cAAA,CAAe,KAAK,CAAG,EAAA;AACzB,MAAA,yBAAA,CAA0B,KAAK,CAAA;AAAA,KAC1B,MAAA;AACL,MAAI,IAAA,OAAA;AACJ,MAAA,IAAI,oBAAoB,IAAM,EAAA;AAC5B,QAAU,OAAA,GAAA,oBAAA,CAAqB,MAAM,GAAG,CAAA;AACxC,QAAA,gBAAA,CAAiB,EAAE,CAAA;AAAA,OACd,MAAA;AACL,QAAU,OAAA,GAAA,wBAAA,CAAyB,MAAM,GAAG,CAAA;AAAA;AAG9C,MAAA,IAAI,WAAW,IAAM,EAAA;AACnB,QAAA,OAAA,CAAQ,KAAK,CAAA;AAAA,OACR,MAAA;AACL,QAAA,mBAAA,CAAoB,KAAK,CAAA;AAAA;AAC3B;AACF,GACF;AAEA,EAAA,MAAM,KAAuC,GAAA;AAAA,IAC3C,KAAA;AAAA,IACA,aAAA;AAAA,IACA,aAAA;AAAA,IACA,gBAAA;AAAA,IACA;AAAA,GACF;AAEA,EAAA,MAAM,aAAgB,GAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAKpB,MAAA,EAAQ,WAAW,UAAa,GAAA,MAAA;AAAA,IAChC,OAAS,EAAA,WAAA;AAAA,IACT,aAAe,EAAA,iBAAA;AAAA,IACf,YAAc,EAAA,gBAAA;AAAA,IACd,WAAa,EAAA,eAAA;AAAA,IACb,SAAW,EAAA,aAAA;AAAA,IACX,YAAc,EAAA,gBAAA;AAAA,IACd,OAAS,EAAA;AAAA,GACX;AAEA,EAAO,OAAA;AAAA,IACL,KAAA;AAAA,IACA,gBAAA;AAAA,IACA,IAAM,EAAA;AAAA,MACJ,WAAA,EAAaT,eAAW,CAAA,WAAA,EAAa,QAAQ,CAAA;AAAA,MAC7C,QAAA;AAAA,MACA,cAAA;AAAA,MACA,eAAA;AAAA,MACA,kBAAA;AAAA,MACA,YAAA,EAAcA,eAAW,CAAA,YAAA,EAAc,oBAAoB;AAAA,KAC7D;AAAA,IACA,OAAS,EAAA;AAAA,MACP,QAAA;AAAA,MACA,gBAAA;AAAA,MACA,mBAAA;AAAA,MACA;AAAA,KACF;AAAA,IACA,UAAY,EAAA;AAAA,MACV,EAAA;AAAA,MACA,QAAA;AAAA,MACA,kBAAkB,gBAAoB,IAAA,oBAAA;AAAA,MACtC,UAAU,QAAY,IAAA,YAAA;AAAA,MACtB,SAAA;AAAA,MACA,OAAA;AAAA,MACA,iBAAmB,EAAA,cAAA;AAAA,MACnB,YAAc,EAAA,SAAA;AAAA,MACd,oBAAoB,eAAmB,IAAA,mBAAA;AAAA,MACvC,GAAG,KAAA;AAAA,MACH,GAAG,SAAA;AAAA,MACH,GAAI,QAAW,GAAA,EAAK,GAAA;AAAA;AACtB,GACF;AACF;;;;"}
@@ -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 clsx = require('clsx');
@@ -91,39 +89,49 @@ const Toolbar = react.forwardRef(
91
89
  const overflowIndicator = collectionHook.data.find(
92
90
  (i) => i.isOverflowIndicator
93
91
  );
94
- const overflowPanel = overflowIndicator ? /* @__PURE__ */ jsxRuntime.jsx(OverflowPanel.OverflowPanel, {
95
- className: clsx.clsx("saltToolbarField"),
96
- "data-index": collectionHook.data.length,
97
- "data-overflow-indicator": true,
98
- "data-priority": 1,
99
- id: overflowIndicator.id,
100
- triggerButtonIcon: overflowButtonIcon,
101
- triggerButtonLabel: overflowButtonLabel,
102
- children: overflowMenuItems
103
- }) : null;
104
- return /* @__PURE__ */ jsxRuntime.jsx("div", {
105
- "aria-label": ariaLabel,
106
- "aria-labelledby": clsx.clsx(toolbarId, ariaLabelledBy),
107
- "aria-orientation": orientation,
108
- className: clsx.clsx(classBase, className, {
109
- [`${classBase}-disabled`]: disabled,
110
- [`${classBase}-nonResponsive`]: !responsive
111
- }),
112
- id: toolbarId,
113
- ref: setContainerRef,
114
- role: "toolbar",
115
- ...restProp,
116
- children: /* @__PURE__ */ jsxRuntime.jsxs("div", {
117
- className: "Responsive-inner",
118
- ref: innerContainerRef,
119
- "data-collapsing": collectionHook.data.some((item) => item.collapsing),
120
- children: [
121
- overflowButtonPlacement === "start" && overflowPanel,
122
- renderToolbarItems.renderToolbarItems(collectionHook, overflowedItems, orientation),
123
- overflowButtonPlacement === "end" && overflowPanel
124
- ]
125
- })
126
- });
92
+ const overflowPanel = overflowIndicator ? /* @__PURE__ */ jsxRuntime.jsx(
93
+ OverflowPanel.OverflowPanel,
94
+ {
95
+ className: clsx.clsx("saltToolbarField"),
96
+ "data-index": collectionHook.data.length,
97
+ "data-overflow-indicator": true,
98
+ "data-priority": 1,
99
+ id: overflowIndicator.id,
100
+ triggerButtonIcon: overflowButtonIcon,
101
+ triggerButtonLabel: overflowButtonLabel,
102
+ children: overflowMenuItems
103
+ }
104
+ ) : null;
105
+ return /* @__PURE__ */ jsxRuntime.jsx(
106
+ "div",
107
+ {
108
+ "aria-label": ariaLabel,
109
+ "aria-labelledby": clsx.clsx(toolbarId, ariaLabelledBy),
110
+ "aria-orientation": orientation,
111
+ className: clsx.clsx(classBase, className, {
112
+ [`${classBase}-disabled`]: disabled,
113
+ // TODO whats this for ?
114
+ [`${classBase}-nonResponsive`]: !responsive
115
+ }),
116
+ id: toolbarId,
117
+ ref: setContainerRef,
118
+ role: "toolbar",
119
+ ...restProp,
120
+ children: /* @__PURE__ */ jsxRuntime.jsxs(
121
+ "div",
122
+ {
123
+ className: "Responsive-inner",
124
+ ref: innerContainerRef,
125
+ "data-collapsing": collectionHook.data.some((item) => item.collapsing),
126
+ children: [
127
+ overflowButtonPlacement === "start" && overflowPanel,
128
+ renderToolbarItems.renderToolbarItems(collectionHook, overflowedItems, orientation),
129
+ overflowButtonPlacement === "end" && overflowPanel
130
+ ]
131
+ }
132
+ )
133
+ }
134
+ );
127
135
  }
128
136
  );
129
137
 
@@ -1 +1 @@
1
- {"version":3,"file":"Toolbar.js","sources":["../src/toolbar/Toolbar.tsx"],"sourcesContent":["import { useForkRef, useIdMemo } from \"@salt-ds/core\";\nimport { clsx } from \"clsx\";\nimport {\n Children,\n type ReactElement,\n cloneElement,\n forwardRef,\n useRef,\n} from \"react\";\n\nimport { OverflowPanel } from \"./overflow-panel/OverflowPanel\";\nimport { OverflowSeparator } from \"./overflow-panel/OverflowSeparator\";\n\nimport {\n isOverflowed,\n useOverflowCollectionItems,\n useOverflowLayout,\n} from \"../responsive\";\nimport type { ToolbarProps } from \"./ToolbarProps\";\nimport { Tooltray } from \"./Tooltray\";\nimport type { TooltrayProps } from \"./TooltrayProps\";\nimport { renderToolbarItems } from \"./internal/renderToolbarItems\";\n\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useWindow } from \"@salt-ds/window\";\n\nimport toolbarCss from \"./Toolbar.css\";\n\nconst classBase = \"saltToolbar\";\n\n/**\n * The core Toolbar implementation, without the external wrapper provided by Toolbar.js\n */\nexport const Toolbar = forwardRef<HTMLDivElement, ToolbarProps>(\n function Toolbar(props, ref) {\n const {\n TooltipComponent,\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": ariaLabelledBy,\n children,\n className,\n id: idProp,\n overflowButtonIcon,\n overflowButtonLabel,\n overflowButtonPlacement = \"end\",\n responsive = true,\n disabled = false,\n orientation = \"horizontal\",\n ...restProp\n } = props;\n\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-toolbar\",\n css: toolbarCss,\n window: targetWindow,\n });\n\n const toolbarId = useIdMemo(idProp);\n const containerRef = useRef<HTMLDivElement>(null);\n\n const setContainerRef = useForkRef(ref, containerRef);\n\n const collectionHook = useOverflowCollectionItems({\n children,\n id: toolbarId,\n orientation,\n label: \"Toolbar\",\n });\n\n const [innerContainerRef] = useOverflowLayout({\n collectionHook,\n id: toolbarId,\n orientation,\n label: \"Toolbar\",\n });\n\n const overflowedItems = collectionHook.data.filter(isOverflowed);\n\n const overflowMenuItems = overflowedItems.reduce<ReactElement[]>(\n (items, item, i, arr) => {\n const { element, id } = item;\n if (element.type === Tooltray) {\n const tooltrayProps = element.props as TooltrayProps;\n const nestedElements = tooltrayProps.children as ReactElement[];\n items.push(\n ...Children.map(nestedElements, (el) =>\n cloneElement(el, {\n \"data-is-inside-panel\": true,\n key: id,\n }),\n ),\n );\n if (i < arr.length - 1) {\n items.push(<OverflowSeparator key={`separator-${id}`} />);\n }\n } else {\n items.push(\n cloneElement(element, {\n key: id,\n \"data-is-inside-panel\": true,\n }),\n );\n }\n return items;\n },\n [] as ReactElement[],\n );\n\n const overflowIndicator = collectionHook.data.find(\n (i) => i.isOverflowIndicator,\n );\n\n const overflowPanel = overflowIndicator ? (\n <OverflowPanel\n className={clsx(\"saltToolbarField\")}\n data-index={collectionHook.data.length}\n data-overflow-indicator\n data-priority={1}\n id={overflowIndicator.id}\n triggerButtonIcon={overflowButtonIcon}\n triggerButtonLabel={overflowButtonLabel}\n >\n {overflowMenuItems}\n </OverflowPanel>\n ) : null;\n\n //TODO when we drive this from the overflowItems, the overflowIndicator will\n // be an overflowItem\n return (\n <div\n aria-label={ariaLabel}\n // Using `classnames` to join string together. User may want to provide\n // custom ids (e.g. id from counter label), so the element is labelled by\n // multiple items\n aria-labelledby={clsx(toolbarId, ariaLabelledBy)}\n aria-orientation={orientation}\n className={clsx(classBase, className, {\n [`${classBase}-disabled`]: disabled,\n // TODO whats this for ?\n [`${classBase}-nonResponsive`]: !responsive,\n })}\n id={toolbarId}\n ref={setContainerRef}\n role=\"toolbar\"\n {...restProp}\n >\n <div\n className=\"Responsive-inner\"\n ref={innerContainerRef}\n data-collapsing={collectionHook.data.some((item) => item.collapsing)}\n >\n {overflowButtonPlacement === \"start\" && overflowPanel}\n {renderToolbarItems(collectionHook, overflowedItems, orientation)}\n {overflowButtonPlacement === \"end\" && overflowPanel}\n </div>\n </div>\n );\n },\n);\n"],"names":["forwardRef","Toolbar","useWindow","useComponentCssInjection","toolbarCss","useIdMemo","useRef","useForkRef","useOverflowCollectionItems","useOverflowLayout","isOverflowed","Tooltray","Children","cloneElement","jsx","OverflowSeparator","OverflowPanel","clsx","jsxs","renderToolbarItems"],"mappings":"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"}
1
+ {"version":3,"file":"Toolbar.js","sources":["../src/toolbar/Toolbar.tsx"],"sourcesContent":["import { useForkRef, useIdMemo } from \"@salt-ds/core\";\nimport { clsx } from \"clsx\";\nimport {\n Children,\n type ReactElement,\n cloneElement,\n forwardRef,\n useRef,\n} from \"react\";\n\nimport { OverflowPanel } from \"./overflow-panel/OverflowPanel\";\nimport { OverflowSeparator } from \"./overflow-panel/OverflowSeparator\";\n\nimport {\n isOverflowed,\n useOverflowCollectionItems,\n useOverflowLayout,\n} from \"../responsive\";\nimport type { ToolbarProps } from \"./ToolbarProps\";\nimport { Tooltray } from \"./Tooltray\";\nimport type { TooltrayProps } from \"./TooltrayProps\";\nimport { renderToolbarItems } from \"./internal/renderToolbarItems\";\n\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useWindow } from \"@salt-ds/window\";\n\nimport toolbarCss from \"./Toolbar.css\";\n\nconst classBase = \"saltToolbar\";\n\n/**\n * The core Toolbar implementation, without the external wrapper provided by Toolbar.js\n */\nexport const Toolbar = forwardRef<HTMLDivElement, ToolbarProps>(\n function Toolbar(props, ref) {\n const {\n TooltipComponent,\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": ariaLabelledBy,\n children,\n className,\n id: idProp,\n overflowButtonIcon,\n overflowButtonLabel,\n overflowButtonPlacement = \"end\",\n responsive = true,\n disabled = false,\n orientation = \"horizontal\",\n ...restProp\n } = props;\n\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-toolbar\",\n css: toolbarCss,\n window: targetWindow,\n });\n\n const toolbarId = useIdMemo(idProp);\n const containerRef = useRef<HTMLDivElement>(null);\n\n const setContainerRef = useForkRef(ref, containerRef);\n\n const collectionHook = useOverflowCollectionItems({\n children,\n id: toolbarId,\n orientation,\n label: \"Toolbar\",\n });\n\n const [innerContainerRef] = useOverflowLayout({\n collectionHook,\n id: toolbarId,\n orientation,\n label: \"Toolbar\",\n });\n\n const overflowedItems = collectionHook.data.filter(isOverflowed);\n\n const overflowMenuItems = overflowedItems.reduce<ReactElement[]>(\n (items, item, i, arr) => {\n const { element, id } = item;\n if (element.type === Tooltray) {\n const tooltrayProps = element.props as TooltrayProps;\n const nestedElements = tooltrayProps.children as ReactElement[];\n items.push(\n ...Children.map(nestedElements, (el) =>\n cloneElement(el, {\n \"data-is-inside-panel\": true,\n key: id,\n }),\n ),\n );\n if (i < arr.length - 1) {\n items.push(<OverflowSeparator key={`separator-${id}`} />);\n }\n } else {\n items.push(\n cloneElement(element, {\n key: id,\n \"data-is-inside-panel\": true,\n }),\n );\n }\n return items;\n },\n [] as ReactElement[],\n );\n\n const overflowIndicator = collectionHook.data.find(\n (i) => i.isOverflowIndicator,\n );\n\n const overflowPanel = overflowIndicator ? (\n <OverflowPanel\n className={clsx(\"saltToolbarField\")}\n data-index={collectionHook.data.length}\n data-overflow-indicator\n data-priority={1}\n id={overflowIndicator.id}\n triggerButtonIcon={overflowButtonIcon}\n triggerButtonLabel={overflowButtonLabel}\n >\n {overflowMenuItems}\n </OverflowPanel>\n ) : null;\n\n //TODO when we drive this from the overflowItems, the overflowIndicator will\n // be an overflowItem\n return (\n <div\n aria-label={ariaLabel}\n // Using `classnames` to join string together. User may want to provide\n // custom ids (e.g. id from counter label), so the element is labelled by\n // multiple items\n aria-labelledby={clsx(toolbarId, ariaLabelledBy)}\n aria-orientation={orientation}\n className={clsx(classBase, className, {\n [`${classBase}-disabled`]: disabled,\n // TODO whats this for ?\n [`${classBase}-nonResponsive`]: !responsive,\n })}\n id={toolbarId}\n ref={setContainerRef}\n role=\"toolbar\"\n {...restProp}\n >\n <div\n className=\"Responsive-inner\"\n ref={innerContainerRef}\n data-collapsing={collectionHook.data.some((item) => item.collapsing)}\n >\n {overflowButtonPlacement === \"start\" && overflowPanel}\n {renderToolbarItems(collectionHook, overflowedItems, orientation)}\n {overflowButtonPlacement === \"end\" && overflowPanel}\n </div>\n </div>\n );\n },\n);\n"],"names":["forwardRef","Toolbar","useWindow","useComponentCssInjection","toolbarCss","useIdMemo","useRef","useForkRef","useOverflowCollectionItems","useOverflowLayout","isOverflowed","Tooltray","Children","cloneElement","jsx","OverflowSeparator","OverflowPanel","clsx","jsxs","renderToolbarItems"],"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 jsxRuntime = require('react/jsx-runtime');
6
4
  var core = require('@salt-ds/core');
7
5
  var react = require('react');
@@ -17,13 +15,16 @@ const ToolbarButton = react.forwardRef(
17
15
  css: ToolbarButton$1,
18
16
  window: targetWindow
19
17
  });
20
- return /* @__PURE__ */ jsxRuntime.jsx(core.Button, {
21
- variant: "secondary",
22
- ...props,
23
- className: "saltToolbarButton",
24
- "data-overflow-label": label,
25
- ref: forwardedRef
26
- });
18
+ return /* @__PURE__ */ jsxRuntime.jsx(
19
+ core.Button,
20
+ {
21
+ variant: "secondary",
22
+ ...props,
23
+ className: "saltToolbarButton",
24
+ "data-overflow-label": label,
25
+ ref: forwardedRef
26
+ }
27
+ );
27
28
  }
28
29
  );
29
30
 
@@ -1 +1 @@
1
- {"version":3,"file":"ToolbarButton.js","sources":["../src/toolbar/ToolbarButton.tsx"],"sourcesContent":["import { Button, type ButtonProps } from \"@salt-ds/core\";\nimport { forwardRef } from \"react\";\n\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useWindow } from \"@salt-ds/window\";\n\nimport toolbarButtonCss from \"./ToolbarButton.css\";\n\nexport type ToolbarButtonProps = ButtonProps & {\n overflowLabel?: string;\n label?: string;\n};\n\nexport const ToolbarButton = forwardRef<HTMLButtonElement, ToolbarButtonProps>(\n function ToolbarButton({ label, ...props }, forwardedRef) {\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-toolbar-button\",\n css: toolbarButtonCss,\n window: targetWindow,\n });\n\n return (\n <Button\n variant=\"secondary\"\n {...props}\n className=\"saltToolbarButton\"\n data-overflow-label={label}\n ref={forwardedRef}\n />\n );\n },\n);\n"],"names":["forwardRef","ToolbarButton","useWindow","useComponentCssInjection","toolbarButtonCss","jsx","Button"],"mappings":";;;;;;;;;;;AAaO,MAAM,aAAgB,GAAAA,gBAAA;AAAA,EAC3B,SAASC,cAAc,CAAA,EAAE,KAAU,EAAA,GAAA,KAAA,IAAS,YAAc,EAAA;AACxD,IAAA,MAAM,eAAeC,gBAAU,EAAA,CAAA;AAC/B,IAAyBC,+BAAA,CAAA;AAAA,MACvB,MAAQ,EAAA,qBAAA;AAAA,MACR,GAAK,EAAAC,eAAA;AAAA,MACL,MAAQ,EAAA,YAAA;AAAA,KACT,CAAA,CAAA;AAED,IAAA,uBACGC,cAAA,CAAAC,WAAA,EAAA;AAAA,MACC,OAAQ,EAAA,WAAA;AAAA,MACP,GAAG,KAAA;AAAA,MACJ,SAAU,EAAA,mBAAA;AAAA,MACV,qBAAqB,EAAA,KAAA;AAAA,MACrB,GAAK,EAAA,YAAA;AAAA,KACP,CAAA,CAAA;AAAA,GAEJ;AACF;;;;"}
1
+ {"version":3,"file":"ToolbarButton.js","sources":["../src/toolbar/ToolbarButton.tsx"],"sourcesContent":["import { Button, type ButtonProps } from \"@salt-ds/core\";\nimport { forwardRef } from \"react\";\n\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useWindow } from \"@salt-ds/window\";\n\nimport toolbarButtonCss from \"./ToolbarButton.css\";\n\nexport type ToolbarButtonProps = ButtonProps & {\n overflowLabel?: string;\n label?: string;\n};\n\nexport const ToolbarButton = forwardRef<HTMLButtonElement, ToolbarButtonProps>(\n function ToolbarButton({ label, ...props }, forwardedRef) {\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-toolbar-button\",\n css: toolbarButtonCss,\n window: targetWindow,\n });\n\n return (\n <Button\n variant=\"secondary\"\n {...props}\n className=\"saltToolbarButton\"\n data-overflow-label={label}\n ref={forwardedRef}\n />\n );\n },\n);\n"],"names":["forwardRef","ToolbarButton","useWindow","useComponentCssInjection","toolbarButtonCss","jsx","Button"],"mappings":";;;;;;;;;AAaO,MAAM,aAAgB,GAAAA,gBAAA;AAAA,EAC3B,SAASC,cAAc,CAAA,EAAE,OAAO,GAAG,KAAA,IAAS,YAAc,EAAA;AACxD,IAAA,MAAM,eAAeC,gBAAU,EAAA;AAC/B,IAAyBC,+BAAA,CAAA;AAAA,MACvB,MAAQ,EAAA,qBAAA;AAAA,MACR,GAAK,EAAAC,eAAA;AAAA,MACL,MAAQ,EAAA;AAAA,KACT,CAAA;AAED,IACE,uBAAAC,cAAA;AAAA,MAACC,WAAA;AAAA,MAAA;AAAA,QACC,OAAQ,EAAA,WAAA;AAAA,QACP,GAAG,KAAA;AAAA,QACJ,SAAU,EAAA,mBAAA;AAAA,QACV,qBAAqB,EAAA,KAAA;AAAA,QACrB,GAAK,EAAA;AAAA;AAAA,KACP;AAAA;AAGN;;;;"}
@@ -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 clsx = require('clsx');
@@ -17,6 +15,8 @@ var Tooltray$1 = require('./Tooltray.css.js');
17
15
  const Tooltray = (props) => {
18
16
  const {
19
17
  "aria-label": ariaLabel,
18
+ // Tooltray itself doesn't use these alignment props directly,
19
+ // they are read and used by the parent Toolbar
20
20
  alignEnd,
21
21
  alignStart,
22
22
  children,
@@ -72,33 +72,27 @@ const Tooltray = (props) => {
72
72
  "data-collapsed": collapsed,
73
73
  "data-collapsible": collapse
74
74
  };
75
- return /* @__PURE__ */ jsxRuntime.jsx("div", {
76
- ...rest,
77
- ...tooltrayProps,
78
- id: tooltrayId,
79
- children: /* @__PURE__ */ jsxRuntime.jsxs("div", {
80
- className: clsx.clsx("Responsive-inner"),
81
- ref: innerContainerRef,
82
- children: [
83
- renderTrayTools.renderTrayTools(
84
- collectionHook,
85
- overflowedItems,
86
- orientation,
87
- collapsed
88
- ),
89
- overflowIndicator || collapsed ? /* @__PURE__ */ jsxRuntime.jsx(OverflowPanel.OverflowPanel, {
90
- className: clsx.clsx("saltToolbarField"),
91
- "data-index": collectionHook.data.length,
92
- "data-overflow-indicator": true,
93
- "data-priority": 1,
94
- id: overflowIndicator == null ? void 0 : overflowIndicator.id,
95
- triggerButtonIcon: overflowButtonIcon,
96
- triggerButtonLabel: overflowButtonLabel,
97
- children: overflowMenuItems
98
- }) : null
99
- ]
100
- })
101
- });
75
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { ...rest, ...tooltrayProps, id: tooltrayId, children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: clsx.clsx("Responsive-inner"), ref: innerContainerRef, children: [
76
+ renderTrayTools.renderTrayTools(
77
+ collectionHook,
78
+ overflowedItems,
79
+ orientation,
80
+ collapsed
81
+ ),
82
+ overflowIndicator || collapsed ? /* @__PURE__ */ jsxRuntime.jsx(
83
+ OverflowPanel.OverflowPanel,
84
+ {
85
+ className: clsx.clsx("saltToolbarField"),
86
+ "data-index": collectionHook.data.length,
87
+ "data-overflow-indicator": true,
88
+ "data-priority": 1,
89
+ id: overflowIndicator == null ? void 0 : overflowIndicator.id,
90
+ triggerButtonIcon: overflowButtonIcon,
91
+ triggerButtonLabel: overflowButtonLabel,
92
+ children: overflowMenuItems
93
+ }
94
+ ) : null
95
+ ] }) });
102
96
  };
103
97
 
104
98
  exports.Tooltray = Tooltray;
@@ -1 +1 @@
1
- {"version":3,"file":"Tooltray.js","sources":["../src/toolbar/Tooltray.tsx"],"sourcesContent":["import { useIdMemo } from \"@salt-ds/core\";\nimport { clsx } from \"clsx\";\nimport { cloneElement } from \"react\";\nimport { OverflowPanel } from \"./overflow-panel/OverflowPanel\";\n\nimport type { TooltrayProps } from \"./TooltrayProps\";\n\nimport { useOverflowCollectionItems } from \"../responsive/useOverflowCollectionItems\";\nimport { useOverflowLayout } from \"../responsive/useOverflowLayout\";\n\nimport { renderTrayTools } from \"./internal/renderTrayTools\";\n\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useWindow } from \"@salt-ds/window\";\n\nimport tooltrayCss from \"./Tooltray.css\";\n\nexport const Tooltray = (props: TooltrayProps) => {\n const {\n \"aria-label\": ariaLabel,\n // Tooltray itself doesn't use these alignment props directly,\n // they are read and used by the parent Toolbar\n alignEnd,\n alignStart,\n children,\n className: classNameProp,\n collapse: collapseProp,\n collapsed: collapsedProp,\n \"data-collapsible\": collapse = collapseProp,\n \"data-collapsed\": collapsed = collapsedProp,\n id: idProp,\n isInsidePanel = false,\n overflowButtonIcon,\n overflowButtonLabel,\n orientation = \"horizontal\",\n ...rest\n } = props;\n\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-tooltray\",\n css: tooltrayCss,\n window: targetWindow,\n });\n const tooltrayId = useIdMemo(idProp);\n\n const className = clsx(\n \"saltTooltray\",\n classNameProp,\n `saltTooltray-${orientation}`,\n { \"saltTooltray-tooltrayOverflowed\": isInsidePanel },\n );\n\n const collectionHook = useOverflowCollectionItems({\n children,\n id: tooltrayId,\n label: \"Tooltray\",\n orientation,\n });\n\n const [innerContainerRef] = useOverflowLayout({\n collectionHook,\n id: tooltrayId,\n orientation,\n label: \"Tooltray\",\n });\n const overflowedItems = collapsed\n ? collectionHook.data.filter((item) => !item.isOverflowIndicator)\n : collectionHook.data.filter((item) => item.overflowed);\n\n const overflowMenuItems = overflowedItems\n .map((i) =>\n cloneElement(collectionHook.data[i.index].element, {\n \"data-is-inside-panel\": true,\n key: i.index,\n }),\n )\n .reverse();\n\n const overflowIndicator = collectionHook.data.find(\n (i) => i.isOverflowIndicator,\n );\n\n // bring them back when we get into overflow\n const tooltrayProps = {\n className,\n \"data-collapsed\": collapsed,\n \"data-collapsible\": collapse,\n };\n\n return (\n <div {...rest} {...tooltrayProps} id={tooltrayId}>\n <div className={clsx(\"Responsive-inner\")} ref={innerContainerRef}>\n {renderTrayTools(\n collectionHook,\n overflowedItems,\n orientation,\n collapsed,\n )}\n {overflowIndicator || collapsed ? (\n <OverflowPanel\n className={clsx(\"saltToolbarField\")}\n data-index={collectionHook.data.length}\n data-overflow-indicator\n data-priority={1}\n id={overflowIndicator?.id}\n triggerButtonIcon={overflowButtonIcon}\n triggerButtonLabel={overflowButtonLabel}\n >\n {overflowMenuItems}\n </OverflowPanel>\n ) : null}\n </div>\n </div>\n );\n};\n"],"names":["useWindow","useComponentCssInjection","tooltrayCss","useIdMemo","clsx","useOverflowCollectionItems","useOverflowLayout","cloneElement","jsx","jsxs","renderTrayTools","OverflowPanel"],"mappings":"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"}
1
+ {"version":3,"file":"Tooltray.js","sources":["../src/toolbar/Tooltray.tsx"],"sourcesContent":["import { useIdMemo } from \"@salt-ds/core\";\nimport { clsx } from \"clsx\";\nimport { cloneElement } from \"react\";\nimport { OverflowPanel } from \"./overflow-panel/OverflowPanel\";\n\nimport type { TooltrayProps } from \"./TooltrayProps\";\n\nimport { useOverflowCollectionItems } from \"../responsive/useOverflowCollectionItems\";\nimport { useOverflowLayout } from \"../responsive/useOverflowLayout\";\n\nimport { renderTrayTools } from \"./internal/renderTrayTools\";\n\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useWindow } from \"@salt-ds/window\";\n\nimport tooltrayCss from \"./Tooltray.css\";\n\nexport const Tooltray = (props: TooltrayProps) => {\n const {\n \"aria-label\": ariaLabel,\n // Tooltray itself doesn't use these alignment props directly,\n // they are read and used by the parent Toolbar\n alignEnd,\n alignStart,\n children,\n className: classNameProp,\n collapse: collapseProp,\n collapsed: collapsedProp,\n \"data-collapsible\": collapse = collapseProp,\n \"data-collapsed\": collapsed = collapsedProp,\n id: idProp,\n isInsidePanel = false,\n overflowButtonIcon,\n overflowButtonLabel,\n orientation = \"horizontal\",\n ...rest\n } = props;\n\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-tooltray\",\n css: tooltrayCss,\n window: targetWindow,\n });\n const tooltrayId = useIdMemo(idProp);\n\n const className = clsx(\n \"saltTooltray\",\n classNameProp,\n `saltTooltray-${orientation}`,\n { \"saltTooltray-tooltrayOverflowed\": isInsidePanel },\n );\n\n const collectionHook = useOverflowCollectionItems({\n children,\n id: tooltrayId,\n label: \"Tooltray\",\n orientation,\n });\n\n const [innerContainerRef] = useOverflowLayout({\n collectionHook,\n id: tooltrayId,\n orientation,\n label: \"Tooltray\",\n });\n const overflowedItems = collapsed\n ? collectionHook.data.filter((item) => !item.isOverflowIndicator)\n : collectionHook.data.filter((item) => item.overflowed);\n\n const overflowMenuItems = overflowedItems\n .map((i) =>\n cloneElement(collectionHook.data[i.index].element, {\n \"data-is-inside-panel\": true,\n key: i.index,\n }),\n )\n .reverse();\n\n const overflowIndicator = collectionHook.data.find(\n (i) => i.isOverflowIndicator,\n );\n\n // bring them back when we get into overflow\n const tooltrayProps = {\n className,\n \"data-collapsed\": collapsed,\n \"data-collapsible\": collapse,\n };\n\n return (\n <div {...rest} {...tooltrayProps} id={tooltrayId}>\n <div className={clsx(\"Responsive-inner\")} ref={innerContainerRef}>\n {renderTrayTools(\n collectionHook,\n overflowedItems,\n orientation,\n collapsed,\n )}\n {overflowIndicator || collapsed ? (\n <OverflowPanel\n className={clsx(\"saltToolbarField\")}\n data-index={collectionHook.data.length}\n data-overflow-indicator\n data-priority={1}\n id={overflowIndicator?.id}\n triggerButtonIcon={overflowButtonIcon}\n triggerButtonLabel={overflowButtonLabel}\n >\n {overflowMenuItems}\n </OverflowPanel>\n ) : null}\n </div>\n </div>\n );\n};\n"],"names":["useWindow","useComponentCssInjection","tooltrayCss","useIdMemo","clsx","useOverflowCollectionItems","useOverflowLayout","cloneElement","jsx","jsxs","renderTrayTools","OverflowPanel"],"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 jsxRuntime = require('react/jsx-runtime');
6
4
  var react = require('react');
7
5
  var ToolbarField = require('../toolbar-field/ToolbarField.js');
@@ -17,7 +15,6 @@ const renderToolbarItems = (collectionHook, overflowedItems, orientation) => {
17
15
  const items = collectionHook.data;
18
16
  const collapseItems = items.filter(overflowUtils.isCollapsedOrCollapsing);
19
17
  return items.filter((item) => !item.isOverflowIndicator).map((item, index) => {
20
- var _a;
21
18
  const props = item.element.props;
22
19
  const overflowed = overflowedItems.findIndex((item2) => item2.index === index) === -1 ? void 0 : true;
23
20
  const collapseItem = collapseItems.find((item2) => item2.index === index);
@@ -49,7 +46,7 @@ const renderToolbarItems = (collectionHook, overflowedItems, orientation) => {
49
46
  id: item.id,
50
47
  key: item.id,
51
48
  "data-index": index,
52
- "data-priority": (_a = props["data-priority"]) != null ? _a : 2,
49
+ "data-priority": props["data-priority"] ?? 2,
53
50
  "data-pad-start": dataPadStart || void 0,
54
51
  "data-pad-end": dataPadEnd || void 0,
55
52
  "data-collapsed": collapsed,
@@ -66,20 +63,18 @@ const renderToolbarItems = (collectionHook, overflowedItems, orientation) => {
66
63
  return react.cloneElement(item.element, {
67
64
  ...toolbarItemProps,
68
65
  children: react.cloneElement(props2.children, {
66
+ // Inject an id that nested Control can use to query status via context
69
67
  id: `toolbar-control-${item.id}`
70
68
  })
71
69
  });
72
70
  }
73
71
  default: {
74
72
  const [responsiveProps, componentProps] = utils.liftResponsivePropsToFormField(item.element.props);
75
- return /* @__PURE__ */ jsxRuntime.jsx(ToolbarField.ToolbarField, {
76
- ...responsiveProps,
77
- ...toolbarItemProps,
78
- children: react.cloneElement(item.element, {
79
- ...componentProps,
80
- id: `toolbar-control-${item.id}`
81
- })
82
- });
73
+ return /* @__PURE__ */ jsxRuntime.jsx(ToolbarField.ToolbarField, { ...responsiveProps, ...toolbarItemProps, children: react.cloneElement(item.element, {
74
+ ...componentProps,
75
+ // Inject an id that nested Control can use to query status via context
76
+ id: `toolbar-control-${item.id}`
77
+ }) });
83
78
  }
84
79
  }
85
80
  });
@@ -1 +1 @@
1
- {"version":3,"file":"renderToolbarItems.js","sources":["../src/toolbar/internal/renderToolbarItems.tsx"],"sourcesContent":["import { type HTMLAttributes, type ReactElement, cloneElement } from \"react\";\n\nimport type { ToolbarAlignmentProps } from \"../ToolbarProps\";\nimport { ToolbarField, type ToolbarFieldProps } from \"../toolbar-field\";\n\nimport { Tooltray } from \"../Tooltray\";\n\nimport {\n type OverflowCollectionHookResult,\n type OverflowItem,\n isCollapsedOrCollapsing,\n liftResponsivePropsToFormField,\n type orientationType,\n} from \"../../responsive\";\n\n// These are the props we use for item alignment, either from individual element\n// declarations - e.g Tooltray (alignLeft etc) or generic data- attributes\ninterface ToolbarElementProps\n extends ToolbarAlignmentProps,\n HTMLAttributes<HTMLDivElement> {\n \"data-align-center\"?: boolean;\n \"data-align-end\"?: boolean;\n \"data-align-start\"?: boolean;\n \"data-priority\"?: number;\n}\n\nexport const renderToolbarItems = (\n collectionHook: OverflowCollectionHookResult,\n overflowedItems: OverflowItem[],\n orientation: orientationType,\n): JSX.Element[] => {\n let centerAlign = false;\n let rightAlign = false;\n\n const items = collectionHook.data;\n const collapseItems = items.filter(isCollapsedOrCollapsing);\n\n return items\n .filter((item) => !item.isOverflowIndicator)\n .map((item: OverflowItem, index) => {\n const props = item.element.props as ToolbarElementProps;\n const overflowed =\n overflowedItems.findIndex((item) => item.index === index) === -1\n ? undefined\n : true;\n const collapseItem = collapseItems.find((item) => item.index === index);\n const collapsed = collapseItem?.collapsed || undefined;\n const collapsing = collapseItem?.collapsing || undefined;\n\n const {\n alignCenter: alignCenterProp,\n alignEnd: alignEndProp,\n alignStart: alignStartProp,\n \"data-align-center\": alignCenter = alignCenterProp,\n \"data-align-end\": alignEnd = alignEndProp,\n \"data-align-start\": alignStart = alignStartProp,\n } = props;\n\n let dataPadStart = false;\n let dataPadEnd = false;\n if (alignCenter && !centerAlign) {\n centerAlign = true;\n dataPadStart = true;\n } else if (centerAlign && !alignCenter) {\n rightAlign = true;\n dataPadStart = true;\n } else if (alignEnd && !rightAlign) {\n rightAlign = true;\n dataPadStart = true;\n } else if (alignStart) {\n dataPadEnd = true;\n }\n\n const toolbarItemProps = {\n id: item.id,\n key: item.id,\n \"data-index\": index,\n \"data-priority\": props[\"data-priority\"] ?? 2,\n \"data-pad-start\": dataPadStart || undefined,\n \"data-pad-end\": dataPadEnd || undefined,\n \"data-collapsed\": collapsed,\n \"data-collapsing\": collapsing,\n \"data-overflowed\": overflowed,\n orientation,\n };\n\n if (item.element.type === Tooltray) {\n return cloneElement(item.element, toolbarItemProps);\n }\n switch (item.element.type) {\n case ToolbarField: {\n const props = item.element.props as ToolbarFieldProps;\n return cloneElement(item.element, {\n ...toolbarItemProps,\n children: cloneElement(props.children as ReactElement, {\n // Inject an id that nested Control can use to query status via context\n id: `toolbar-control-${item.id}`,\n }),\n } as ToolbarFieldProps);\n }\n default: {\n const [responsiveProps, componentProps] =\n liftResponsivePropsToFormField(item.element.props);\n\n return (\n <ToolbarField {...responsiveProps} {...toolbarItemProps}>\n {cloneElement(item.element, {\n ...componentProps,\n // Inject an id that nested Control can use to query status via context\n id: `toolbar-control-${item.id}`,\n })}\n </ToolbarField>\n );\n }\n }\n });\n};\n"],"names":["isCollapsedOrCollapsing","item","Tooltray","cloneElement","ToolbarField","props","liftResponsivePropsToFormField","jsx"],"mappings":";;;;;;;;;;;;;AA0BO,MAAM,kBAAqB,GAAA,CAChC,cACA,EAAA,eAAA,EACA,WACkB,KAAA;AAClB,EAAA,IAAI,WAAc,GAAA,KAAA,CAAA;AAClB,EAAA,IAAI,UAAa,GAAA,KAAA,CAAA;AAEjB,EAAA,MAAM,QAAQ,cAAe,CAAA,IAAA,CAAA;AAC7B,EAAM,MAAA,aAAA,GAAgB,KAAM,CAAA,MAAA,CAAOA,qCAAuB,CAAA,CAAA;AAE1D,EAAO,OAAA,KAAA,CACJ,MAAO,CAAA,CAAC,IAAS,KAAA,CAAC,IAAK,CAAA,mBAAmB,CAC1C,CAAA,GAAA,CAAI,CAAC,IAAA,EAAoB,KAAU,KAAA;AAvCxC,IAAA,IAAA,EAAA,CAAA;AAwCM,IAAM,MAAA,KAAA,GAAQ,KAAK,OAAQ,CAAA,KAAA,CAAA;AAC3B,IAAM,MAAA,UAAA,GACJ,eAAgB,CAAA,SAAA,CAAU,CAACC,KAAAA,KAASA,MAAK,KAAU,KAAA,KAAK,CAAM,KAAA,CAAA,CAAA,GAC1D,KACA,CAAA,GAAA,IAAA,CAAA;AACN,IAAA,MAAM,eAAe,aAAc,CAAA,IAAA,CAAK,CAACA,KAASA,KAAAA,KAAAA,CAAK,UAAU,KAAK,CAAA,CAAA;AACtE,IAAM,MAAA,SAAA,GAAA,CAAY,6CAAc,SAAa,KAAA,KAAA,CAAA,CAAA;AAC7C,IAAM,MAAA,UAAA,GAAA,CAAa,6CAAc,UAAc,KAAA,KAAA,CAAA,CAAA;AAE/C,IAAM,MAAA;AAAA,MACJ,WAAa,EAAA,eAAA;AAAA,MACb,QAAU,EAAA,YAAA;AAAA,MACV,UAAY,EAAA,cAAA;AAAA,MACZ,qBAAqB,WAAc,GAAA,eAAA;AAAA,MACnC,kBAAkB,QAAW,GAAA,YAAA;AAAA,MAC7B,oBAAoB,UAAa,GAAA,cAAA;AAAA,KAC/B,GAAA,KAAA,CAAA;AAEJ,IAAA,IAAI,YAAe,GAAA,KAAA,CAAA;AACnB,IAAA,IAAI,UAAa,GAAA,KAAA,CAAA;AACjB,IAAI,IAAA,WAAA,IAAe,CAAC,WAAa,EAAA;AAC/B,MAAc,WAAA,GAAA,IAAA,CAAA;AACd,MAAe,YAAA,GAAA,IAAA,CAAA;AAAA,KACjB,MAAA,IAAW,WAAe,IAAA,CAAC,WAAa,EAAA;AACtC,MAAa,UAAA,GAAA,IAAA,CAAA;AACb,MAAe,YAAA,GAAA,IAAA,CAAA;AAAA,KACjB,MAAA,IAAW,QAAY,IAAA,CAAC,UAAY,EAAA;AAClC,MAAa,UAAA,GAAA,IAAA,CAAA;AACb,MAAe,YAAA,GAAA,IAAA,CAAA;AAAA,eACN,UAAY,EAAA;AACrB,MAAa,UAAA,GAAA,IAAA,CAAA;AAAA,KACf;AAEA,IAAA,MAAM,gBAAmB,GAAA;AAAA,MACvB,IAAI,IAAK,CAAA,EAAA;AAAA,MACT,KAAK,IAAK,CAAA,EAAA;AAAA,MACV,YAAc,EAAA,KAAA;AAAA,MACd,eAAA,EAAA,CAAiB,EAAM,GAAA,KAAA,CAAA,eAAA,CAAA,KAAN,IAA0B,GAAA,EAAA,GAAA,CAAA;AAAA,MAC3C,kBAAkB,YAAgB,IAAA,KAAA,CAAA;AAAA,MAClC,gBAAgB,UAAc,IAAA,KAAA,CAAA;AAAA,MAC9B,gBAAkB,EAAA,SAAA;AAAA,MAClB,iBAAmB,EAAA,UAAA;AAAA,MACnB,iBAAmB,EAAA,UAAA;AAAA,MACnB,WAAA;AAAA,KACF,CAAA;AAEA,IAAI,IAAA,IAAA,CAAK,OAAQ,CAAA,IAAA,KAASC,iBAAU,EAAA;AAClC,MAAO,OAAAC,kBAAA,CAAa,IAAK,CAAA,OAAA,EAAS,gBAAgB,CAAA,CAAA;AAAA,KACpD;AACA,IAAA,QAAQ,KAAK,OAAQ,CAAA,IAAA;AAAA,MAAA,KACdC,yBAAc,EAAA;AACjB,QAAMC,MAAAA,MAAAA,GAAQ,KAAK,OAAQ,CAAA,KAAA,CAAA;AAC3B,QAAO,OAAAF,kBAAA,CAAa,KAAK,OAAS,EAAA;AAAA,UAChC,GAAG,gBAAA;AAAA,UACH,QAAA,EAAUA,kBAAaE,CAAAA,MAAAA,CAAM,QAA0B,EAAA;AAAA,YAErD,EAAA,EAAI,mBAAmB,IAAK,CAAA,EAAA,CAAA,CAAA;AAAA,WAC7B,CAAA;AAAA,SACmB,CAAA,CAAA;AAAA,OACxB;AAAA,MACS,SAAA;AACP,QAAA,MAAM,CAAC,eAAiB,EAAA,cAAc,IACpCC,oCAA+B,CAAA,IAAA,CAAK,QAAQ,KAAK,CAAA,CAAA;AAEnD,QAAA,uBACGC,cAAA,CAAAH,yBAAA,EAAA;AAAA,UAAc,GAAG,eAAA;AAAA,UAAkB,GAAG,gBAAA;AAAA,UACpC,QAAA,EAAAD,kBAAA,CAAa,KAAK,OAAS,EAAA;AAAA,YAC1B,GAAG,cAAA;AAAA,YAEH,EAAA,EAAI,mBAAmB,IAAK,CAAA,EAAA,CAAA,CAAA;AAAA,WAC7B,CAAA;AAAA,SACH,CAAA,CAAA;AAAA,OAEJ;AAAA,KAAA;AAAA,GAEH,CAAA,CAAA;AACL;;;;"}
1
+ {"version":3,"file":"renderToolbarItems.js","sources":["../src/toolbar/internal/renderToolbarItems.tsx"],"sourcesContent":["import { type HTMLAttributes, type ReactElement, cloneElement } from \"react\";\n\nimport type { ToolbarAlignmentProps } from \"../ToolbarProps\";\nimport { ToolbarField, type ToolbarFieldProps } from \"../toolbar-field\";\n\nimport { Tooltray } from \"../Tooltray\";\n\nimport {\n type OverflowCollectionHookResult,\n type OverflowItem,\n isCollapsedOrCollapsing,\n liftResponsivePropsToFormField,\n type orientationType,\n} from \"../../responsive\";\n\n// These are the props we use for item alignment, either from individual element\n// declarations - e.g Tooltray (alignLeft etc) or generic data- attributes\ninterface ToolbarElementProps\n extends ToolbarAlignmentProps,\n HTMLAttributes<HTMLDivElement> {\n \"data-align-center\"?: boolean;\n \"data-align-end\"?: boolean;\n \"data-align-start\"?: boolean;\n \"data-priority\"?: number;\n}\n\nexport const renderToolbarItems = (\n collectionHook: OverflowCollectionHookResult,\n overflowedItems: OverflowItem[],\n orientation: orientationType,\n): JSX.Element[] => {\n let centerAlign = false;\n let rightAlign = false;\n\n const items = collectionHook.data;\n const collapseItems = items.filter(isCollapsedOrCollapsing);\n\n return items\n .filter((item) => !item.isOverflowIndicator)\n .map((item: OverflowItem, index) => {\n const props = item.element.props as ToolbarElementProps;\n const overflowed =\n overflowedItems.findIndex((item) => item.index === index) === -1\n ? undefined\n : true;\n const collapseItem = collapseItems.find((item) => item.index === index);\n const collapsed = collapseItem?.collapsed || undefined;\n const collapsing = collapseItem?.collapsing || undefined;\n\n const {\n alignCenter: alignCenterProp,\n alignEnd: alignEndProp,\n alignStart: alignStartProp,\n \"data-align-center\": alignCenter = alignCenterProp,\n \"data-align-end\": alignEnd = alignEndProp,\n \"data-align-start\": alignStart = alignStartProp,\n } = props;\n\n let dataPadStart = false;\n let dataPadEnd = false;\n if (alignCenter && !centerAlign) {\n centerAlign = true;\n dataPadStart = true;\n } else if (centerAlign && !alignCenter) {\n rightAlign = true;\n dataPadStart = true;\n } else if (alignEnd && !rightAlign) {\n rightAlign = true;\n dataPadStart = true;\n } else if (alignStart) {\n dataPadEnd = true;\n }\n\n const toolbarItemProps = {\n id: item.id,\n key: item.id,\n \"data-index\": index,\n \"data-priority\": props[\"data-priority\"] ?? 2,\n \"data-pad-start\": dataPadStart || undefined,\n \"data-pad-end\": dataPadEnd || undefined,\n \"data-collapsed\": collapsed,\n \"data-collapsing\": collapsing,\n \"data-overflowed\": overflowed,\n orientation,\n };\n\n if (item.element.type === Tooltray) {\n return cloneElement(item.element, toolbarItemProps);\n }\n switch (item.element.type) {\n case ToolbarField: {\n const props = item.element.props as ToolbarFieldProps;\n return cloneElement(item.element, {\n ...toolbarItemProps,\n children: cloneElement(props.children as ReactElement, {\n // Inject an id that nested Control can use to query status via context\n id: `toolbar-control-${item.id}`,\n }),\n } as ToolbarFieldProps);\n }\n default: {\n const [responsiveProps, componentProps] =\n liftResponsivePropsToFormField(item.element.props);\n\n return (\n <ToolbarField {...responsiveProps} {...toolbarItemProps}>\n {cloneElement(item.element, {\n ...componentProps,\n // Inject an id that nested Control can use to query status via context\n id: `toolbar-control-${item.id}`,\n })}\n </ToolbarField>\n );\n }\n }\n });\n};\n"],"names":["isCollapsedOrCollapsing","item","Tooltray","cloneElement","ToolbarField","props","liftResponsivePropsToFormField","jsx"],"mappings":";;;;;;;;;;;AA0BO,MAAM,kBAAqB,GAAA,CAChC,cACA,EAAA,eAAA,EACA,WACkB,KAAA;AAClB,EAAA,IAAI,WAAc,GAAA,KAAA;AAClB,EAAA,IAAI,UAAa,GAAA,KAAA;AAEjB,EAAA,MAAM,QAAQ,cAAe,CAAA,IAAA;AAC7B,EAAM,MAAA,aAAA,GAAgB,KAAM,CAAA,MAAA,CAAOA,qCAAuB,CAAA;AAE1D,EAAO,OAAA,KAAA,CACJ,MAAO,CAAA,CAAC,IAAS,KAAA,CAAC,IAAK,CAAA,mBAAmB,CAC1C,CAAA,GAAA,CAAI,CAAC,IAAA,EAAoB,KAAU,KAAA;AAClC,IAAM,MAAA,KAAA,GAAQ,KAAK,OAAQ,CAAA,KAAA;AAC3B,IAAM,MAAA,UAAA,GACJ,eAAgB,CAAA,SAAA,CAAU,CAACC,KAAAA,KAASA,MAAK,KAAU,KAAA,KAAK,CAAM,KAAA,CAAA,CAAA,GAC1D,KACA,CAAA,GAAA,IAAA;AACN,IAAA,MAAM,eAAe,aAAc,CAAA,IAAA,CAAK,CAACA,KAASA,KAAAA,KAAAA,CAAK,UAAU,KAAK,CAAA;AACtE,IAAM,MAAA,SAAA,GAAA,CAAY,6CAAc,SAAa,KAAA,KAAA,CAAA;AAC7C,IAAM,MAAA,UAAA,GAAA,CAAa,6CAAc,UAAc,KAAA,KAAA,CAAA;AAE/C,IAAM,MAAA;AAAA,MACJ,WAAa,EAAA,eAAA;AAAA,MACb,QAAU,EAAA,YAAA;AAAA,MACV,UAAY,EAAA,cAAA;AAAA,MACZ,qBAAqB,WAAc,GAAA,eAAA;AAAA,MACnC,kBAAkB,QAAW,GAAA,YAAA;AAAA,MAC7B,oBAAoB,UAAa,GAAA;AAAA,KAC/B,GAAA,KAAA;AAEJ,IAAA,IAAI,YAAe,GAAA,KAAA;AACnB,IAAA,IAAI,UAAa,GAAA,KAAA;AACjB,IAAI,IAAA,WAAA,IAAe,CAAC,WAAa,EAAA;AAC/B,MAAc,WAAA,GAAA,IAAA;AACd,MAAe,YAAA,GAAA,IAAA;AAAA,KACjB,MAAA,IAAW,WAAe,IAAA,CAAC,WAAa,EAAA;AACtC,MAAa,UAAA,GAAA,IAAA;AACb,MAAe,YAAA,GAAA,IAAA;AAAA,KACjB,MAAA,IAAW,QAAY,IAAA,CAAC,UAAY,EAAA;AAClC,MAAa,UAAA,GAAA,IAAA;AACb,MAAe,YAAA,GAAA,IAAA;AAAA,eACN,UAAY,EAAA;AACrB,MAAa,UAAA,GAAA,IAAA;AAAA;AAGf,IAAA,MAAM,gBAAmB,GAAA;AAAA,MACvB,IAAI,IAAK,CAAA,EAAA;AAAA,MACT,KAAK,IAAK,CAAA,EAAA;AAAA,MACV,YAAc,EAAA,KAAA;AAAA,MACd,eAAA,EAAiB,KAAM,CAAA,eAAe,CAAK,IAAA,CAAA;AAAA,MAC3C,kBAAkB,YAAgB,IAAA,KAAA,CAAA;AAAA,MAClC,gBAAgB,UAAc,IAAA,KAAA,CAAA;AAAA,MAC9B,gBAAkB,EAAA,SAAA;AAAA,MAClB,iBAAmB,EAAA,UAAA;AAAA,MACnB,iBAAmB,EAAA,UAAA;AAAA,MACnB;AAAA,KACF;AAEA,IAAI,IAAA,IAAA,CAAK,OAAQ,CAAA,IAAA,KAASC,iBAAU,EAAA;AAClC,MAAO,OAAAC,kBAAA,CAAa,IAAK,CAAA,OAAA,EAAS,gBAAgB,CAAA;AAAA;AAEpD,IAAQ,QAAA,IAAA,CAAK,QAAQ,IAAM;AAAA,MACzB,KAAKC,yBAAc,EAAA;AACjB,QAAMC,MAAAA,MAAAA,GAAQ,KAAK,OAAQ,CAAA,KAAA;AAC3B,QAAO,OAAAF,kBAAA,CAAa,KAAK,OAAS,EAAA;AAAA,UAChC,GAAG,gBAAA;AAAA,UACH,QAAA,EAAUA,kBAAaE,CAAAA,MAAAA,CAAM,QAA0B,EAAA;AAAA;AAAA,YAErD,EAAA,EAAI,CAAmB,gBAAA,EAAA,IAAA,CAAK,EAAE,CAAA;AAAA,WAC/B;AAAA,SACmB,CAAA;AAAA;AACxB,MACA,SAAS;AACP,QAAA,MAAM,CAAC,eAAiB,EAAA,cAAc,IACpCC,oCAA+B,CAAA,IAAA,CAAK,QAAQ,KAAK,CAAA;AAEnD,QACE,uBAAAC,cAAA,CAACH,6BAAc,GAAG,eAAA,EAAkB,GAAG,gBACpC,EAAA,QAAA,EAAAD,kBAAA,CAAa,KAAK,OAAS,EAAA;AAAA,UAC1B,GAAG,cAAA;AAAA;AAAA,UAEH,EAAA,EAAI,CAAmB,gBAAA,EAAA,IAAA,CAAK,EAAE,CAAA;AAAA,SAC/B,CACH,EAAA,CAAA;AAAA;AAEJ;AACF,GACD,CAAA;AACL;;;;"}