@salt-ds/lab 1.0.0-alpha.48 → 1.0.0-alpha.49

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 (1219) hide show
  1. package/css/salt-lab.css +15 -5
  2. package/dist-cjs/app-header/AppHeader.js +3 -3
  3. package/dist-cjs/app-header/AppHeader.js.map +1 -1
  4. package/dist-cjs/breadcrumbs/Breadcrumb.js +1 -1
  5. package/dist-cjs/breadcrumbs/Breadcrumb.js.map +1 -1
  6. package/dist-cjs/breadcrumbs/Breadcrumbs.js +3 -4
  7. package/dist-cjs/breadcrumbs/Breadcrumbs.js.map +1 -1
  8. package/dist-cjs/breadcrumbs/internal/BreadcrumbsCollapsed.js +4 -4
  9. package/dist-cjs/breadcrumbs/internal/BreadcrumbsCollapsed.js.map +1 -1
  10. package/dist-cjs/breadcrumbs/internal/BreadcrumbsContext.js.map +1 -1
  11. package/dist-cjs/breadcrumbs/internal/BreadcrumbsSeparator.js.map +1 -1
  12. package/dist-cjs/breadcrumbs/internal/useFocusMenuRemount.js +1 -1
  13. package/dist-cjs/breadcrumbs/internal/useFocusMenuRemount.js.map +1 -1
  14. package/dist-cjs/button-bar/ButtonBar.js +10 -12
  15. package/dist-cjs/button-bar/ButtonBar.js.map +1 -1
  16. package/dist-cjs/button-bar/OrderedButton.js +2 -2
  17. package/dist-cjs/button-bar/OrderedButton.js.map +1 -1
  18. package/dist-cjs/button-bar/internal/ButtonBarContext.js.map +1 -1
  19. package/dist-cjs/button-bar/internal/DescendantContext.js +1 -1
  20. package/dist-cjs/button-bar/internal/DescendantContext.js.map +1 -1
  21. package/dist-cjs/button-bar/internal/useDescendant.js +1 -1
  22. package/dist-cjs/button-bar/internal/useDescendant.js.map +1 -1
  23. package/dist-cjs/button-bar/internal/useDescendants.js.map +1 -1
  24. package/dist-cjs/calendar/Calendar.js +6 -6
  25. package/dist-cjs/calendar/Calendar.js.map +1 -1
  26. package/dist-cjs/calendar/internal/CalendarCarousel.js +4 -4
  27. package/dist-cjs/calendar/internal/CalendarCarousel.js.map +1 -1
  28. package/dist-cjs/calendar/internal/CalendarContext.js.map +1 -1
  29. package/dist-cjs/calendar/internal/CalendarDay.css.js +1 -1
  30. package/dist-cjs/calendar/internal/CalendarDay.js +4 -4
  31. package/dist-cjs/calendar/internal/CalendarDay.js.map +1 -1
  32. package/dist-cjs/calendar/internal/CalendarMonth.js +5 -5
  33. package/dist-cjs/calendar/internal/CalendarMonth.js.map +1 -1
  34. package/dist-cjs/calendar/internal/CalendarNavigation.js +4 -4
  35. package/dist-cjs/calendar/internal/CalendarNavigation.js.map +1 -1
  36. package/dist-cjs/calendar/internal/CalendarWeekHeader.js +5 -5
  37. package/dist-cjs/calendar/internal/CalendarWeekHeader.js.map +1 -1
  38. package/dist-cjs/calendar/internal/useFocusManagement.js +1 -1
  39. package/dist-cjs/calendar/internal/useFocusManagement.js.map +1 -1
  40. package/dist-cjs/calendar/internal/utils.js.map +1 -1
  41. package/dist-cjs/calendar/useCalendar.js.map +1 -1
  42. package/dist-cjs/calendar/useCalendarDay.js.map +1 -1
  43. package/dist-cjs/calendar/useSelection.js +16 -12
  44. package/dist-cjs/calendar/useSelection.js.map +1 -1
  45. package/dist-cjs/carousel/Carousel.js +7 -6
  46. package/dist-cjs/carousel/Carousel.js.map +1 -1
  47. package/dist-cjs/carousel/CarouselSlide.js +1 -1
  48. package/dist-cjs/carousel/CarouselSlide.js.map +1 -1
  49. package/dist-cjs/cascading-menu/CascadingMenu.js +1 -2
  50. package/dist-cjs/cascading-menu/CascadingMenu.js.map +1 -1
  51. package/dist-cjs/cascading-menu/CascadingMenuItem.js +6 -7
  52. package/dist-cjs/cascading-menu/CascadingMenuItem.js.map +1 -1
  53. package/dist-cjs/cascading-menu/CascadingMenuList.js +8 -8
  54. package/dist-cjs/cascading-menu/CascadingMenuList.js.map +1 -1
  55. package/dist-cjs/cascading-menu/internal/CascadingMenuAction.js.map +1 -1
  56. package/dist-cjs/cascading-menu/internal/keydownHandlers.js +2 -2
  57. package/dist-cjs/cascading-menu/internal/keydownHandlers.js.map +1 -1
  58. package/dist-cjs/cascading-menu/internal/menuPositioning.js.map +1 -1
  59. package/dist-cjs/cascading-menu/internal/stateUtils.js +1 -2
  60. package/dist-cjs/cascading-menu/internal/stateUtils.js.map +1 -1
  61. package/dist-cjs/cascading-menu/internal/useClickAway.js +3 -2
  62. package/dist-cjs/cascading-menu/internal/useClickAway.js.map +1 -1
  63. package/dist-cjs/cascading-menu/internal/useMenuTriggerHandlers.js.map +1 -1
  64. package/dist-cjs/cascading-menu/internal/useMouseHandlers.js +1 -1
  65. package/dist-cjs/cascading-menu/internal/useMouseHandlers.js.map +1 -1
  66. package/dist-cjs/cascading-menu/internal/useRefsManager.js.map +1 -1
  67. package/dist-cjs/cascading-menu/internal/useStateReducer.js +1 -1
  68. package/dist-cjs/cascading-menu/internal/useStateReducer.js.map +1 -1
  69. package/dist-cjs/color-chooser/AlphaInputField.js +10 -10
  70. package/dist-cjs/color-chooser/AlphaInputField.js.map +1 -1
  71. package/dist-cjs/color-chooser/Color.js +1 -2
  72. package/dist-cjs/color-chooser/Color.js.map +1 -1
  73. package/dist-cjs/color-chooser/ColorChooser.css.js +1 -1
  74. package/dist-cjs/color-chooser/ColorChooser.js +4 -4
  75. package/dist-cjs/color-chooser/ColorChooser.js.map +1 -1
  76. package/dist-cjs/color-chooser/ColorHelpers.js +1 -1
  77. package/dist-cjs/color-chooser/ColorHelpers.js.map +1 -1
  78. package/dist-cjs/color-chooser/ColorPicker.js +3 -3
  79. package/dist-cjs/color-chooser/ColorPicker.js.map +1 -1
  80. package/dist-cjs/color-chooser/DictTabs.js +1 -1
  81. package/dist-cjs/color-chooser/DictTabs.js.map +1 -1
  82. package/dist-cjs/color-chooser/GetColorPalettes.js.map +1 -1
  83. package/dist-cjs/color-chooser/HexInput.js +5 -5
  84. package/dist-cjs/color-chooser/HexInput.js.map +1 -1
  85. package/dist-cjs/color-chooser/RGBAInput.js +3 -3
  86. package/dist-cjs/color-chooser/RGBAInput.js.map +1 -1
  87. package/dist-cjs/color-chooser/RGBAInputField.js +4 -4
  88. package/dist-cjs/color-chooser/RGBAInputField.js.map +1 -1
  89. package/dist-cjs/color-chooser/Swatch.css.js +1 -1
  90. package/dist-cjs/color-chooser/Swatch.js +1 -1
  91. package/dist-cjs/color-chooser/Swatch.js.map +1 -1
  92. package/dist-cjs/color-chooser/Swatches.js +2 -2
  93. package/dist-cjs/color-chooser/Swatches.js.map +1 -1
  94. package/dist-cjs/color-chooser/SwatchesPicker.js +2 -2
  95. package/dist-cjs/color-chooser/SwatchesPicker.js.map +1 -1
  96. package/dist-cjs/color-chooser/createTabsMapping.js.map +1 -1
  97. package/dist-cjs/combo-box/ComboBox.js +10 -10
  98. package/dist-cjs/combo-box/ComboBox.js.map +1 -1
  99. package/dist-cjs/combo-box/useCombobox.js +13 -20
  100. package/dist-cjs/combo-box/useCombobox.js.map +1 -1
  101. package/dist-cjs/combo-box-deprecated/ComboBoxDeprecated.js +5 -5
  102. package/dist-cjs/combo-box-deprecated/ComboBoxDeprecated.js.map +1 -1
  103. package/dist-cjs/combo-box-deprecated/internal/DefaultComboBox.js +7 -7
  104. package/dist-cjs/combo-box-deprecated/internal/DefaultComboBox.js.map +1 -1
  105. package/dist-cjs/combo-box-deprecated/internal/MultiSelectComboBox.js +3 -3
  106. package/dist-cjs/combo-box-deprecated/internal/MultiSelectComboBox.js.map +1 -1
  107. package/dist-cjs/combo-box-deprecated/internal/getAnnouncement.js +2 -2
  108. package/dist-cjs/combo-box-deprecated/internal/getAnnouncement.js.map +1 -1
  109. package/dist-cjs/combo-box-deprecated/internal/useComboBox.js +12 -10
  110. package/dist-cjs/combo-box-deprecated/internal/useComboBox.js.map +1 -1
  111. package/dist-cjs/combo-box-deprecated/internal/useMultiSelectComboBox.js +11 -15
  112. package/dist-cjs/combo-box-deprecated/internal/useMultiSelectComboBox.js.map +1 -1
  113. package/dist-cjs/combo-box-deprecated/internal/usePopperStatus.js.map +1 -1
  114. package/dist-cjs/common-hooks/calcPreferredHeight.js +1 -1
  115. package/dist-cjs/common-hooks/calcPreferredHeight.js.map +1 -1
  116. package/dist-cjs/common-hooks/collectionProvider.js.map +1 -1
  117. package/dist-cjs/common-hooks/itemToString.js +2 -1
  118. package/dist-cjs/common-hooks/itemToString.js.map +1 -1
  119. package/dist-cjs/common-hooks/keyUtils.js +2 -2
  120. package/dist-cjs/common-hooks/keyUtils.js.map +1 -1
  121. package/dist-cjs/common-hooks/list-dom-utils.js +4 -3
  122. package/dist-cjs/common-hooks/list-dom-utils.js.map +1 -1
  123. package/dist-cjs/common-hooks/selectionTypes.js.map +1 -1
  124. package/dist-cjs/common-hooks/useAutoSizer.js +2 -2
  125. package/dist-cjs/common-hooks/useAutoSizer.js.map +1 -1
  126. package/dist-cjs/common-hooks/useCollapsibleGroups.js.map +1 -1
  127. package/dist-cjs/common-hooks/useCollectionItems.js +13 -9
  128. package/dist-cjs/common-hooks/useCollectionItems.js.map +1 -1
  129. package/dist-cjs/common-hooks/useImperativeScrollingAPI.js +11 -7
  130. package/dist-cjs/common-hooks/useImperativeScrollingAPI.js.map +1 -1
  131. package/dist-cjs/common-hooks/useKeyboardNavigation.js +78 -82
  132. package/dist-cjs/common-hooks/useKeyboardNavigation.js.map +1 -1
  133. package/dist-cjs/common-hooks/useKeyboardNavigationPanel.js +14 -13
  134. package/dist-cjs/common-hooks/useKeyboardNavigationPanel.js.map +1 -1
  135. package/dist-cjs/common-hooks/useSelection.js +0 -1
  136. package/dist-cjs/common-hooks/useSelection.js.map +1 -1
  137. package/dist-cjs/common-hooks/useTypeahead.js.map +1 -1
  138. package/dist-cjs/common-hooks/useViewportTracking.js +24 -23
  139. package/dist-cjs/common-hooks/useViewportTracking.js.map +1 -1
  140. package/dist-cjs/common-hooks/utils/collection-item-utils.js +29 -29
  141. package/dist-cjs/common-hooks/utils/collection-item-utils.js.map +1 -1
  142. package/dist-cjs/common-hooks/utils/isSelected.js.map +1 -1
  143. package/dist-cjs/contact-details/ContactAction.js +1 -1
  144. package/dist-cjs/contact-details/ContactAction.js.map +1 -1
  145. package/dist-cjs/contact-details/ContactActions.js +2 -2
  146. package/dist-cjs/contact-details/ContactActions.js.map +1 -1
  147. package/dist-cjs/contact-details/ContactAvatar.js +3 -3
  148. package/dist-cjs/contact-details/ContactAvatar.js.map +1 -1
  149. package/dist-cjs/contact-details/ContactDetails.js +1 -1
  150. package/dist-cjs/contact-details/ContactDetails.js.map +1 -1
  151. package/dist-cjs/contact-details/ContactFavoriteToggle.js.map +1 -1
  152. package/dist-cjs/contact-details/ContactMetadata.js.map +1 -1
  153. package/dist-cjs/contact-details/ContactMetadataItem.js.map +1 -1
  154. package/dist-cjs/contact-details/ContactPrimaryInfo.js.map +1 -1
  155. package/dist-cjs/contact-details/ContactSecondaryInfo.js.map +1 -1
  156. package/dist-cjs/contact-details/ContactTertiaryInfo.js.map +1 -1
  157. package/dist-cjs/contact-details/MailLinkComponent.js.map +1 -1
  158. package/dist-cjs/contact-details/internal/ContactDetailsContext.js +1 -1
  159. package/dist-cjs/contact-details/internal/ContactDetailsContext.js.map +1 -1
  160. package/dist-cjs/contact-details/internal/FavoriteToggle.js.map +1 -1
  161. package/dist-cjs/contact-details/internal/FavoriteToggleWithTooltip.js +1 -1
  162. package/dist-cjs/contact-details/internal/FavoriteToggleWithTooltip.js.map +1 -1
  163. package/dist-cjs/contact-details/internal/StarIcon.js.map +1 -1
  164. package/dist-cjs/contact-details/internal/StarIconContainer.js +2 -2
  165. package/dist-cjs/contact-details/internal/StarIconContainer.js.map +1 -1
  166. package/dist-cjs/contact-details/internal/useComponentSize.js +7 -10
  167. package/dist-cjs/contact-details/internal/useComponentSize.js.map +1 -1
  168. package/dist-cjs/content-status/ContentStatus.js +1 -1
  169. package/dist-cjs/content-status/ContentStatus.js.map +1 -1
  170. package/dist-cjs/content-status/internal/StatusIndicator.js.map +1 -1
  171. package/dist-cjs/date-input/DateInput.js +7 -7
  172. package/dist-cjs/date-input/DateInput.js.map +1 -1
  173. package/dist-cjs/date-picker/DatePicker.js +6 -6
  174. package/dist-cjs/date-picker/DatePicker.js.map +1 -1
  175. package/dist-cjs/date-picker/DatePickerContext.js.map +1 -1
  176. package/dist-cjs/date-picker/DatePickerPanel.css.js +1 -1
  177. package/dist-cjs/date-picker/DatePickerPanel.js +18 -16
  178. package/dist-cjs/date-picker/DatePickerPanel.js.map +1 -1
  179. package/dist-cjs/deck-item/DeckItem.js +2 -2
  180. package/dist-cjs/deck-item/DeckItem.js.map +1 -1
  181. package/dist-cjs/deck-layout/DeckLayout.js +6 -9
  182. package/dist-cjs/deck-layout/DeckLayout.js.map +1 -1
  183. package/dist-cjs/dropdown/Dropdown.js +12 -12
  184. package/dist-cjs/dropdown/Dropdown.js.map +1 -1
  185. package/dist-cjs/dropdown/DropdownBase.js +3 -3
  186. package/dist-cjs/dropdown/DropdownBase.js.map +1 -1
  187. package/dist-cjs/dropdown/DropdownButton.js +3 -3
  188. package/dist-cjs/dropdown/DropdownButton.js.map +1 -1
  189. package/dist-cjs/dropdown/useClickAway.js +1 -1
  190. package/dist-cjs/dropdown/useClickAway.js.map +1 -1
  191. package/dist-cjs/dropdown/useDropdown.js +13 -14
  192. package/dist-cjs/dropdown/useDropdown.js.map +1 -1
  193. package/dist-cjs/dropdown/useDropdownBase.js +10 -12
  194. package/dist-cjs/dropdown/useDropdownBase.js.map +1 -1
  195. package/dist-cjs/editable-label/EditableLabel.js +7 -7
  196. package/dist-cjs/editable-label/EditableLabel.js.map +1 -1
  197. package/dist-cjs/form-field-context-legacy/FormFieldLegacyContext.js.map +1 -1
  198. package/dist-cjs/form-field-context-legacy/useFormFieldLegacyProps.js +1 -1
  199. package/dist-cjs/form-field-context-legacy/useFormFieldLegacyProps.js.map +1 -1
  200. package/dist-cjs/form-field-legacy/FormActivationIndicator.css.js +1 -1
  201. package/dist-cjs/form-field-legacy/FormActivationIndicator.js +4 -4
  202. package/dist-cjs/form-field-legacy/FormActivationIndicator.js.map +1 -1
  203. package/dist-cjs/form-field-legacy/FormFieldLegacy.css.js +1 -1
  204. package/dist-cjs/form-field-legacy/FormFieldLegacy.js +6 -6
  205. package/dist-cjs/form-field-legacy/FormFieldLegacy.js.map +1 -1
  206. package/dist-cjs/form-field-legacy/FormHelperText.js +4 -5
  207. package/dist-cjs/form-field-legacy/FormHelperText.js.map +1 -1
  208. package/dist-cjs/form-field-legacy/FormLabel.js +4 -4
  209. package/dist-cjs/form-field-legacy/FormLabel.js.map +1 -1
  210. package/dist-cjs/form-field-legacy/NecessityIndicator.js +2 -2
  211. package/dist-cjs/form-field-legacy/NecessityIndicator.js.map +1 -1
  212. package/dist-cjs/form-field-legacy/StatusIndicator.js +6 -6
  213. package/dist-cjs/form-field-legacy/StatusIndicator.js.map +1 -1
  214. package/dist-cjs/form-group/FormGroup.js +2 -2
  215. package/dist-cjs/form-group/FormGroup.js.map +1 -1
  216. package/dist-cjs/formatted-input/FormattedInput.js +2 -2
  217. package/dist-cjs/formatted-input/FormattedInput.js.map +1 -1
  218. package/dist-cjs/formatted-input/internal/InputWithMask.js.map +1 -1
  219. package/dist-cjs/input-legacy/InputLegacy.js +5 -5
  220. package/dist-cjs/input-legacy/InputLegacy.js.map +1 -1
  221. package/dist-cjs/input-legacy/StaticInputAdornment.js +3 -3
  222. package/dist-cjs/input-legacy/StaticInputAdornment.js.map +1 -1
  223. package/dist-cjs/input-legacy/useCursorOnFocus.js +2 -2
  224. package/dist-cjs/input-legacy/useCursorOnFocus.js.map +1 -1
  225. package/dist-cjs/layer-layout/LayerLayout.js +4 -4
  226. package/dist-cjs/layer-layout/LayerLayout.js.map +1 -1
  227. package/dist-cjs/list/Highlighter.js +1 -1
  228. package/dist-cjs/list/Highlighter.js.map +1 -1
  229. package/dist-cjs/list/List.css.js +1 -1
  230. package/dist-cjs/list/List.js +4 -6
  231. package/dist-cjs/list/List.js.map +1 -1
  232. package/dist-cjs/list/ListItem.js +3 -3
  233. package/dist-cjs/list/ListItem.js.map +1 -1
  234. package/dist-cjs/list/ListItemGroup.js.map +1 -1
  235. package/dist-cjs/list/ListItemHeader.js.map +1 -1
  236. package/dist-cjs/list/VirtualizedList.js +3 -5
  237. package/dist-cjs/list/VirtualizedList.js.map +1 -1
  238. package/dist-cjs/list/keyset.js +1 -2
  239. package/dist-cjs/list/keyset.js.map +1 -1
  240. package/dist-cjs/list/useList.js.map +1 -1
  241. package/dist-cjs/list/useListHeight.js +1 -1
  242. package/dist-cjs/list/useListHeight.js.map +1 -1
  243. package/dist-cjs/list/useVirtualization.js +2 -2
  244. package/dist-cjs/list/useVirtualization.js.map +1 -1
  245. package/dist-cjs/list-deprecated/List.js.map +1 -1
  246. package/dist-cjs/list-deprecated/ListBase.js +52 -53
  247. package/dist-cjs/list-deprecated/ListBase.js.map +1 -1
  248. package/dist-cjs/list-deprecated/ListItem.js +2 -2
  249. package/dist-cjs/list-deprecated/ListItem.js.map +1 -1
  250. package/dist-cjs/list-deprecated/ListItemBase.js +1 -1
  251. package/dist-cjs/list-deprecated/ListItemBase.js.map +1 -1
  252. package/dist-cjs/list-deprecated/ListItemContext.js +1 -1
  253. package/dist-cjs/list-deprecated/ListItemContext.js.map +1 -1
  254. package/dist-cjs/list-deprecated/ListStateContext.js.map +1 -1
  255. package/dist-cjs/list-deprecated/internal/DescendantContext.js +1 -1
  256. package/dist-cjs/list-deprecated/internal/DescendantContext.js.map +1 -1
  257. package/dist-cjs/list-deprecated/internal/Highlighter.js +2 -2
  258. package/dist-cjs/list-deprecated/internal/Highlighter.js.map +1 -1
  259. package/dist-cjs/list-deprecated/internal/calcPreferredListHeight.js +1 -1
  260. package/dist-cjs/list-deprecated/internal/calcPreferredListHeight.js.map +1 -1
  261. package/dist-cjs/list-deprecated/internal/helpers.js.map +1 -1
  262. package/dist-cjs/list-deprecated/internal/useListAutoSizer.js +1 -1
  263. package/dist-cjs/list-deprecated/internal/useListAutoSizer.js.map +1 -1
  264. package/dist-cjs/list-deprecated/internal/useWidth.js.map +1 -1
  265. package/dist-cjs/list-deprecated/itemToString.js.map +1 -1
  266. package/dist-cjs/list-deprecated/useList.js +4 -22
  267. package/dist-cjs/list-deprecated/useList.js.map +1 -1
  268. package/dist-cjs/list-deprecated/useListItem.js +2 -2
  269. package/dist-cjs/list-deprecated/useListItem.js.map +1 -1
  270. package/dist-cjs/list-deprecated/useTypeSelect.js +1 -1
  271. package/dist-cjs/list-deprecated/useTypeSelect.js.map +1 -1
  272. package/dist-cjs/list-next/ListItemNext.js +3 -3
  273. package/dist-cjs/list-next/ListItemNext.js.map +1 -1
  274. package/dist-cjs/list-next/ListNext.js +4 -4
  275. package/dist-cjs/list-next/ListNext.js.map +1 -1
  276. package/dist-cjs/list-next/ListNextContext.js.map +1 -1
  277. package/dist-cjs/list-next/useList.js +6 -9
  278. package/dist-cjs/list-next/useList.js.map +1 -1
  279. package/dist-cjs/logo/Logo.js +19 -17
  280. package/dist-cjs/logo/Logo.js.map +1 -1
  281. package/dist-cjs/logo/LogoImage.js +3 -3
  282. package/dist-cjs/logo/LogoImage.js.map +1 -1
  283. package/dist-cjs/logo/LogoSeparator.js +3 -3
  284. package/dist-cjs/logo/LogoSeparator.js.map +1 -1
  285. package/dist-cjs/menu-button/MenuButton.js +6 -6
  286. package/dist-cjs/menu-button/MenuButton.js.map +1 -1
  287. package/dist-cjs/menu-button/MenuButtonTrigger.js +3 -3
  288. package/dist-cjs/menu-button/MenuButtonTrigger.js.map +1 -1
  289. package/dist-cjs/metric/Metric.js +1 -1
  290. package/dist-cjs/metric/Metric.js.map +1 -1
  291. package/dist-cjs/metric/MetricContent.js +1 -1
  292. package/dist-cjs/metric/MetricContent.js.map +1 -1
  293. package/dist-cjs/metric/MetricHeader.js +1 -1
  294. package/dist-cjs/metric/MetricHeader.js.map +1 -1
  295. package/dist-cjs/portal/Portal.js +2 -5
  296. package/dist-cjs/portal/Portal.js.map +1 -1
  297. package/dist-cjs/query-input/QueryInput.js +1 -1
  298. package/dist-cjs/query-input/QueryInput.js.map +1 -1
  299. package/dist-cjs/query-input/internal/CategoryList.js +5 -5
  300. package/dist-cjs/query-input/internal/CategoryList.js.map +1 -1
  301. package/dist-cjs/query-input/internal/CategoryListContext.js +1 -1
  302. package/dist-cjs/query-input/internal/CategoryListContext.js.map +1 -1
  303. package/dist-cjs/query-input/internal/CategoryListItem.js.map +1 -1
  304. package/dist-cjs/query-input/internal/QueryInputBody.js.map +1 -1
  305. package/dist-cjs/query-input/internal/SearchList.js +2 -2
  306. package/dist-cjs/query-input/internal/SearchList.js.map +1 -1
  307. package/dist-cjs/query-input/internal/ValueList.js.map +1 -1
  308. package/dist-cjs/query-input/internal/ValueSelector.js +3 -3
  309. package/dist-cjs/query-input/internal/ValueSelector.js.map +1 -1
  310. package/dist-cjs/query-input/internal/usePopperStatus.js.map +1 -1
  311. package/dist-cjs/query-input/useQueryInput.js +36 -22
  312. package/dist-cjs/query-input/useQueryInput.js.map +1 -1
  313. package/dist-cjs/responsive/OverflowReducer.js +16 -19
  314. package/dist-cjs/responsive/OverflowReducer.js.map +1 -1
  315. package/dist-cjs/responsive/overflowUtils.js +22 -26
  316. package/dist-cjs/responsive/overflowUtils.js.map +1 -1
  317. package/dist-cjs/responsive/useDynamicCollapse.js +5 -5
  318. package/dist-cjs/responsive/useDynamicCollapse.js.map +1 -1
  319. package/dist-cjs/responsive/useInstantCollapse.js +3 -4
  320. package/dist-cjs/responsive/useInstantCollapse.js.map +1 -1
  321. package/dist-cjs/responsive/useOverflow.js +11 -6
  322. package/dist-cjs/responsive/useOverflow.js.map +1 -1
  323. package/dist-cjs/responsive/useOverflowCollectionItems.js +3 -3
  324. package/dist-cjs/responsive/useOverflowCollectionItems.js.map +1 -1
  325. package/dist-cjs/responsive/useOverflowLayout.js +3 -3
  326. package/dist-cjs/responsive/useOverflowLayout.js.map +1 -1
  327. package/dist-cjs/responsive/useReclaimSpace.js +10 -20
  328. package/dist-cjs/responsive/useReclaimSpace.js.map +1 -1
  329. package/dist-cjs/responsive/useResizeObserver.js +1 -1
  330. package/dist-cjs/responsive/useResizeObserver.js.map +1 -1
  331. package/dist-cjs/responsive/useWidth.js +2 -2
  332. package/dist-cjs/responsive/useWidth.js.map +1 -1
  333. package/dist-cjs/responsive/utils.js +1 -2
  334. package/dist-cjs/responsive/utils.js.map +1 -1
  335. package/dist-cjs/search-input/SearchInput.js +4 -4
  336. package/dist-cjs/search-input/SearchInput.js.map +1 -1
  337. package/dist-cjs/skip-link/SkipLink.js +3 -3
  338. package/dist-cjs/skip-link/SkipLink.js.map +1 -1
  339. package/dist-cjs/skip-link/SkipLinks.js +3 -3
  340. package/dist-cjs/skip-link/SkipLinks.js.map +1 -1
  341. package/dist-cjs/skip-link/internal/useManageFocusOnTarget.js.map +1 -1
  342. package/dist-cjs/slider/Slider.js +1 -1
  343. package/dist-cjs/slider/Slider.js.map +1 -1
  344. package/dist-cjs/slider/internal/SliderHandle.js +1 -1
  345. package/dist-cjs/slider/internal/SliderHandle.js.map +1 -1
  346. package/dist-cjs/slider/internal/SliderMarkLabels.js +3 -3
  347. package/dist-cjs/slider/internal/SliderMarkLabels.js.map +1 -1
  348. package/dist-cjs/slider/internal/SliderRail.js +2 -2
  349. package/dist-cjs/slider/internal/SliderRail.js.map +1 -1
  350. package/dist-cjs/slider/internal/SliderRailMarks.js +3 -3
  351. package/dist-cjs/slider/internal/SliderRailMarks.js.map +1 -1
  352. package/dist-cjs/slider/internal/SliderSelection.js +1 -1
  353. package/dist-cjs/slider/internal/SliderSelection.js.map +1 -1
  354. package/dist-cjs/slider/internal/styles.js +2 -2
  355. package/dist-cjs/slider/internal/styles.js.map +1 -1
  356. package/dist-cjs/slider/internal/useSliderKeyDown.js.map +1 -1
  357. package/dist-cjs/slider/internal/useSliderMouseDown.js +21 -18
  358. package/dist-cjs/slider/internal/useSliderMouseDown.js.map +1 -1
  359. package/dist-cjs/slider/internal/utils.js +1 -1
  360. package/dist-cjs/slider/internal/utils.js.map +1 -1
  361. package/dist-cjs/stepped-tracker/StepLabel/StepLabel.js +2 -2
  362. package/dist-cjs/stepped-tracker/StepLabel/StepLabel.js.map +1 -1
  363. package/dist-cjs/stepped-tracker/SteppedTracker.js +3 -3
  364. package/dist-cjs/stepped-tracker/SteppedTracker.js.map +1 -1
  365. package/dist-cjs/stepped-tracker/SteppedTrackerContext.js.map +1 -1
  366. package/dist-cjs/stepped-tracker/TrackerStep/TrackerStep.js +4 -4
  367. package/dist-cjs/stepped-tracker/TrackerStep/TrackerStep.js.map +1 -1
  368. package/dist-cjs/stepper-input/StepperInput.js +3 -3
  369. package/dist-cjs/stepper-input/StepperInput.js.map +1 -1
  370. package/dist-cjs/stepper-input/internal/useInterval.js.map +1 -1
  371. package/dist-cjs/stepper-input/internal/useSpinner.js +1 -1
  372. package/dist-cjs/stepper-input/internal/useSpinner.js.map +1 -1
  373. package/dist-cjs/stepper-input/useStepperInput.js +3 -3
  374. package/dist-cjs/stepper-input/useStepperInput.js.map +1 -1
  375. package/dist-cjs/tabs/Tab.js +5 -6
  376. package/dist-cjs/tabs/Tab.js.map +1 -1
  377. package/dist-cjs/tabs/TabActivationIndicator.js +1 -1
  378. package/dist-cjs/tabs/TabActivationIndicator.js.map +1 -1
  379. package/dist-cjs/tabs/TabPanel.js +3 -3
  380. package/dist-cjs/tabs/TabPanel.js.map +1 -1
  381. package/dist-cjs/tabs/Tabs.js +4 -4
  382. package/dist-cjs/tabs/Tabs.js.map +1 -1
  383. package/dist-cjs/tabs/Tabstrip.js +11 -14
  384. package/dist-cjs/tabs/Tabstrip.js.map +1 -1
  385. package/dist-cjs/tabs/drag-drop/Draggable.js +1 -1
  386. package/dist-cjs/tabs/drag-drop/Draggable.js.map +1 -1
  387. package/dist-cjs/tabs/drag-drop/drag-utils.js +29 -26
  388. package/dist-cjs/tabs/drag-drop/drag-utils.js.map +1 -1
  389. package/dist-cjs/tabs/drag-drop/dragDropTypes.js.map +1 -1
  390. package/dist-cjs/tabs/drag-drop/useDragDrop.js.map +1 -1
  391. package/dist-cjs/tabs/drag-drop/useDragDropNaturalMovement.js +5 -4
  392. package/dist-cjs/tabs/drag-drop/useDragDropNaturalMovement.js.map +1 -1
  393. package/dist-cjs/tabs/drag-drop/useDragSpacers.js +19 -16
  394. package/dist-cjs/tabs/drag-drop/useDragSpacers.js.map +1 -1
  395. package/dist-cjs/tabs/useActivationIndicator.js +3 -2
  396. package/dist-cjs/tabs/useActivationIndicator.js.map +1 -1
  397. package/dist-cjs/tabs/useEditableItem.js +1 -1
  398. package/dist-cjs/tabs/useEditableItem.js.map +1 -1
  399. package/dist-cjs/tabs/useItemsWithIds.js +4 -8
  400. package/dist-cjs/tabs/useItemsWithIds.js.map +1 -1
  401. package/dist-cjs/tabs/useKeyboardNavigation.js +26 -32
  402. package/dist-cjs/tabs/useKeyboardNavigation.js.map +1 -1
  403. package/dist-cjs/tabs/useSelection.js +2 -2
  404. package/dist-cjs/tabs/useSelection.js.map +1 -1
  405. package/dist-cjs/tabs/useTabs.js +1 -1
  406. package/dist-cjs/tabs/useTabs.js.map +1 -1
  407. package/dist-cjs/tabs/useTabstrip.js +6 -5
  408. package/dist-cjs/tabs/useTabstrip.js.map +1 -1
  409. package/dist-cjs/tabs-next/OverflowMenu.js +2 -2
  410. package/dist-cjs/tabs-next/OverflowMenu.js.map +1 -1
  411. package/dist-cjs/tabs-next/TabNext.js +74 -72
  412. package/dist-cjs/tabs-next/TabNext.js.map +1 -1
  413. package/dist-cjs/tabs-next/TabNextContext.js.map +1 -1
  414. package/dist-cjs/tabs-next/TabstripNext.js +5 -5
  415. package/dist-cjs/tabs-next/TabstripNext.js.map +1 -1
  416. package/dist-cjs/toast-group/ToastGroup.js +3 -3
  417. package/dist-cjs/toast-group/ToastGroup.js.map +1 -1
  418. package/dist-cjs/tokenized-input/TokenizedInput.js.map +1 -1
  419. package/dist-cjs/tokenized-input/TokenizedInputBase.js +12 -12
  420. package/dist-cjs/tokenized-input/TokenizedInputBase.js.map +1 -1
  421. package/dist-cjs/tokenized-input/internal/InputPill.js +2 -2
  422. package/dist-cjs/tokenized-input/internal/InputPill.js.map +1 -1
  423. package/dist-cjs/tokenized-input/internal/InputRuler.js +3 -3
  424. package/dist-cjs/tokenized-input/internal/InputRuler.js.map +1 -1
  425. package/dist-cjs/tokenized-input/internal/defaultItemToString.js.map +1 -1
  426. package/dist-cjs/tokenized-input/internal/getCursorPosition.js.map +1 -1
  427. package/dist-cjs/tokenized-input/internal/isPlainObject.js.map +1 -1
  428. package/dist-cjs/tokenized-input/internal/useResizeObserver.js.map +1 -1
  429. package/dist-cjs/tokenized-input/internal/useWidth.js +3 -3
  430. package/dist-cjs/tokenized-input/internal/useWidth.js.map +1 -1
  431. package/dist-cjs/tokenized-input/useTokenizedInput.js +12 -9
  432. package/dist-cjs/tokenized-input/useTokenizedInput.js.map +1 -1
  433. package/dist-cjs/tokenized-input-next/TokenizedInputNext.js +5 -5
  434. package/dist-cjs/tokenized-input-next/TokenizedInputNext.js.map +1 -1
  435. package/dist-cjs/tokenized-input-next/internal/InputPill.js +5 -5
  436. package/dist-cjs/tokenized-input-next/internal/InputPill.js.map +1 -1
  437. package/dist-cjs/tokenized-input-next/internal/useResizeObserver.js.map +1 -1
  438. package/dist-cjs/tokenized-input-next/internal/useWidth.js +3 -3
  439. package/dist-cjs/tokenized-input-next/internal/useWidth.js.map +1 -1
  440. package/dist-cjs/tokenized-input-next/useTokenizedInputNext.js +12 -14
  441. package/dist-cjs/tokenized-input-next/useTokenizedInputNext.js.map +1 -1
  442. package/dist-cjs/toolbar/Toolbar.js +3 -3
  443. package/dist-cjs/toolbar/Toolbar.js.map +1 -1
  444. package/dist-cjs/toolbar/ToolbarButton.js +2 -2
  445. package/dist-cjs/toolbar/ToolbarButton.js.map +1 -1
  446. package/dist-cjs/toolbar/Tooltray.js +1 -1
  447. package/dist-cjs/toolbar/Tooltray.js.map +1 -1
  448. package/dist-cjs/toolbar/internal/renderToolbarItems.js +22 -21
  449. package/dist-cjs/toolbar/internal/renderToolbarItems.js.map +1 -1
  450. package/dist-cjs/toolbar/internal/renderTrayTools.js +21 -23
  451. package/dist-cjs/toolbar/internal/renderTrayTools.js.map +1 -1
  452. package/dist-cjs/toolbar/overflow-panel/OverflowPanel.js +19 -21
  453. package/dist-cjs/toolbar/overflow-panel/OverflowPanel.js.map +1 -1
  454. package/dist-cjs/toolbar/overflow-panel/OverflowSeparator.js +2 -2
  455. package/dist-cjs/toolbar/overflow-panel/OverflowSeparator.js.map +1 -1
  456. package/dist-cjs/toolbar/toolbar-field/ToolbarField.js.map +1 -1
  457. package/dist-cjs/toolbar/toolbar-field/useToolbarField.js +8 -8
  458. package/dist-cjs/toolbar/toolbar-field/useToolbarField.js.map +1 -1
  459. package/dist-cjs/tree/Tree.js +9 -6
  460. package/dist-cjs/tree/Tree.js.map +1 -1
  461. package/dist-cjs/tree/TreeNode.js +2 -2
  462. package/dist-cjs/tree/TreeNode.js.map +1 -1
  463. package/dist-cjs/tree/use-tree-keyboard-navigation.js +5 -4
  464. package/dist-cjs/tree/use-tree-keyboard-navigation.js.map +1 -1
  465. package/dist-cjs/tree/useTree.js +1 -3
  466. package/dist-cjs/tree/useTree.js.map +1 -1
  467. package/dist-cjs/utils/forwardCallbackProps.js.map +1 -1
  468. package/dist-cjs/utils/partition.js.map +1 -1
  469. package/dist-cjs/utils/useClickOutside.js.map +1 -1
  470. package/dist-cjs/utils/useEventCallback.js +1 -1
  471. package/dist-cjs/utils/useEventCallback.js.map +1 -1
  472. package/dist-cjs/utils/useIsViewportLargerThanBreakpoint.js.map +1 -1
  473. package/dist-cjs/utils/useLayoutEffectOnce.js +1 -1
  474. package/dist-cjs/utils/useLayoutEffectOnce.js.map +1 -1
  475. package/dist-cjs/utils/useLayoutEffectSkipFirst.js +1 -1
  476. package/dist-cjs/utils/useLayoutEffectSkipFirst.js.map +1 -1
  477. package/dist-cjs/utils/useOverflowDetection.js +3 -3
  478. package/dist-cjs/utils/useOverflowDetection.js.map +1 -1
  479. package/dist-cjs/utils/useSlideSelection.js.map +1 -1
  480. package/dist-cjs/window/ElectronWindow.js +5 -7
  481. package/dist-cjs/window/ElectronWindow.js.map +1 -1
  482. package/dist-cjs/window/WindowContext.js.map +1 -1
  483. package/dist-es/app-header/AppHeader.js +3 -3
  484. package/dist-es/app-header/AppHeader.js.map +1 -1
  485. package/dist-es/breadcrumbs/Breadcrumb.js +1 -1
  486. package/dist-es/breadcrumbs/Breadcrumb.js.map +1 -1
  487. package/dist-es/breadcrumbs/Breadcrumbs.js +3 -4
  488. package/dist-es/breadcrumbs/Breadcrumbs.js.map +1 -1
  489. package/dist-es/breadcrumbs/internal/BreadcrumbsCollapsed.js +4 -4
  490. package/dist-es/breadcrumbs/internal/BreadcrumbsCollapsed.js.map +1 -1
  491. package/dist-es/breadcrumbs/internal/BreadcrumbsContext.js.map +1 -1
  492. package/dist-es/breadcrumbs/internal/BreadcrumbsSeparator.js.map +1 -1
  493. package/dist-es/breadcrumbs/internal/useFocusMenuRemount.js +1 -1
  494. package/dist-es/breadcrumbs/internal/useFocusMenuRemount.js.map +1 -1
  495. package/dist-es/button-bar/ButtonBar.js +10 -12
  496. package/dist-es/button-bar/ButtonBar.js.map +1 -1
  497. package/dist-es/button-bar/OrderedButton.js +2 -2
  498. package/dist-es/button-bar/OrderedButton.js.map +1 -1
  499. package/dist-es/button-bar/internal/ButtonBarContext.js.map +1 -1
  500. package/dist-es/button-bar/internal/DescendantContext.js +1 -1
  501. package/dist-es/button-bar/internal/DescendantContext.js.map +1 -1
  502. package/dist-es/button-bar/internal/useDescendant.js +1 -1
  503. package/dist-es/button-bar/internal/useDescendant.js.map +1 -1
  504. package/dist-es/button-bar/internal/useDescendants.js.map +1 -1
  505. package/dist-es/calendar/Calendar.js +6 -6
  506. package/dist-es/calendar/Calendar.js.map +1 -1
  507. package/dist-es/calendar/internal/CalendarCarousel.js +4 -4
  508. package/dist-es/calendar/internal/CalendarCarousel.js.map +1 -1
  509. package/dist-es/calendar/internal/CalendarContext.js.map +1 -1
  510. package/dist-es/calendar/internal/CalendarDay.css.js +1 -1
  511. package/dist-es/calendar/internal/CalendarDay.js +4 -4
  512. package/dist-es/calendar/internal/CalendarDay.js.map +1 -1
  513. package/dist-es/calendar/internal/CalendarMonth.js +5 -5
  514. package/dist-es/calendar/internal/CalendarMonth.js.map +1 -1
  515. package/dist-es/calendar/internal/CalendarNavigation.js +4 -4
  516. package/dist-es/calendar/internal/CalendarNavigation.js.map +1 -1
  517. package/dist-es/calendar/internal/CalendarWeekHeader.js +5 -5
  518. package/dist-es/calendar/internal/CalendarWeekHeader.js.map +1 -1
  519. package/dist-es/calendar/internal/useFocusManagement.js +1 -1
  520. package/dist-es/calendar/internal/useFocusManagement.js.map +1 -1
  521. package/dist-es/calendar/internal/utils.js.map +1 -1
  522. package/dist-es/calendar/useCalendar.js.map +1 -1
  523. package/dist-es/calendar/useCalendarDay.js.map +1 -1
  524. package/dist-es/calendar/useSelection.js +16 -12
  525. package/dist-es/calendar/useSelection.js.map +1 -1
  526. package/dist-es/carousel/Carousel.js +7 -6
  527. package/dist-es/carousel/Carousel.js.map +1 -1
  528. package/dist-es/carousel/CarouselSlide.js +1 -1
  529. package/dist-es/carousel/CarouselSlide.js.map +1 -1
  530. package/dist-es/cascading-menu/CascadingMenu.js +3 -4
  531. package/dist-es/cascading-menu/CascadingMenu.js.map +1 -1
  532. package/dist-es/cascading-menu/CascadingMenuItem.js +6 -7
  533. package/dist-es/cascading-menu/CascadingMenuItem.js.map +1 -1
  534. package/dist-es/cascading-menu/CascadingMenuList.js +8 -8
  535. package/dist-es/cascading-menu/CascadingMenuList.js.map +1 -1
  536. package/dist-es/cascading-menu/internal/CascadingMenuAction.js.map +1 -1
  537. package/dist-es/cascading-menu/internal/keydownHandlers.js +2 -2
  538. package/dist-es/cascading-menu/internal/keydownHandlers.js.map +1 -1
  539. package/dist-es/cascading-menu/internal/menuPositioning.js.map +1 -1
  540. package/dist-es/cascading-menu/internal/stateUtils.js +1 -2
  541. package/dist-es/cascading-menu/internal/stateUtils.js.map +1 -1
  542. package/dist-es/cascading-menu/internal/useClickAway.js +3 -2
  543. package/dist-es/cascading-menu/internal/useClickAway.js.map +1 -1
  544. package/dist-es/cascading-menu/internal/useMenuTriggerHandlers.js.map +1 -1
  545. package/dist-es/cascading-menu/internal/useMouseHandlers.js +1 -1
  546. package/dist-es/cascading-menu/internal/useMouseHandlers.js.map +1 -1
  547. package/dist-es/cascading-menu/internal/useRefsManager.js.map +1 -1
  548. package/dist-es/cascading-menu/internal/useStateReducer.js +1 -1
  549. package/dist-es/cascading-menu/internal/useStateReducer.js.map +1 -1
  550. package/dist-es/color-chooser/AlphaInputField.js +10 -10
  551. package/dist-es/color-chooser/AlphaInputField.js.map +1 -1
  552. package/dist-es/color-chooser/Color.js +1 -2
  553. package/dist-es/color-chooser/Color.js.map +1 -1
  554. package/dist-es/color-chooser/ColorChooser.css.js +1 -1
  555. package/dist-es/color-chooser/ColorChooser.js +4 -4
  556. package/dist-es/color-chooser/ColorChooser.js.map +1 -1
  557. package/dist-es/color-chooser/ColorHelpers.js +1 -1
  558. package/dist-es/color-chooser/ColorHelpers.js.map +1 -1
  559. package/dist-es/color-chooser/ColorPicker.js +3 -3
  560. package/dist-es/color-chooser/ColorPicker.js.map +1 -1
  561. package/dist-es/color-chooser/DictTabs.js +1 -1
  562. package/dist-es/color-chooser/DictTabs.js.map +1 -1
  563. package/dist-es/color-chooser/GetColorPalettes.js.map +1 -1
  564. package/dist-es/color-chooser/HexInput.js +5 -5
  565. package/dist-es/color-chooser/HexInput.js.map +1 -1
  566. package/dist-es/color-chooser/RGBAInput.js +3 -3
  567. package/dist-es/color-chooser/RGBAInput.js.map +1 -1
  568. package/dist-es/color-chooser/RGBAInputField.js +4 -4
  569. package/dist-es/color-chooser/RGBAInputField.js.map +1 -1
  570. package/dist-es/color-chooser/Swatch.css.js +1 -1
  571. package/dist-es/color-chooser/Swatch.js +1 -1
  572. package/dist-es/color-chooser/Swatch.js.map +1 -1
  573. package/dist-es/color-chooser/Swatches.js +2 -2
  574. package/dist-es/color-chooser/Swatches.js.map +1 -1
  575. package/dist-es/color-chooser/SwatchesPicker.js +2 -2
  576. package/dist-es/color-chooser/SwatchesPicker.js.map +1 -1
  577. package/dist-es/color-chooser/createTabsMapping.js.map +1 -1
  578. package/dist-es/combo-box/ComboBox.js +10 -10
  579. package/dist-es/combo-box/ComboBox.js.map +1 -1
  580. package/dist-es/combo-box/useCombobox.js +13 -20
  581. package/dist-es/combo-box/useCombobox.js.map +1 -1
  582. package/dist-es/combo-box-deprecated/ComboBoxDeprecated.js +5 -5
  583. package/dist-es/combo-box-deprecated/ComboBoxDeprecated.js.map +1 -1
  584. package/dist-es/combo-box-deprecated/internal/DefaultComboBox.js +7 -7
  585. package/dist-es/combo-box-deprecated/internal/DefaultComboBox.js.map +1 -1
  586. package/dist-es/combo-box-deprecated/internal/MultiSelectComboBox.js +3 -3
  587. package/dist-es/combo-box-deprecated/internal/MultiSelectComboBox.js.map +1 -1
  588. package/dist-es/combo-box-deprecated/internal/getAnnouncement.js +2 -2
  589. package/dist-es/combo-box-deprecated/internal/getAnnouncement.js.map +1 -1
  590. package/dist-es/combo-box-deprecated/internal/useComboBox.js +12 -10
  591. package/dist-es/combo-box-deprecated/internal/useComboBox.js.map +1 -1
  592. package/dist-es/combo-box-deprecated/internal/useMultiSelectComboBox.js +11 -15
  593. package/dist-es/combo-box-deprecated/internal/useMultiSelectComboBox.js.map +1 -1
  594. package/dist-es/combo-box-deprecated/internal/usePopperStatus.js.map +1 -1
  595. package/dist-es/common-hooks/calcPreferredHeight.js +1 -1
  596. package/dist-es/common-hooks/calcPreferredHeight.js.map +1 -1
  597. package/dist-es/common-hooks/collectionProvider.js.map +1 -1
  598. package/dist-es/common-hooks/itemToString.js +2 -1
  599. package/dist-es/common-hooks/itemToString.js.map +1 -1
  600. package/dist-es/common-hooks/keyUtils.js +2 -2
  601. package/dist-es/common-hooks/keyUtils.js.map +1 -1
  602. package/dist-es/common-hooks/list-dom-utils.js +4 -3
  603. package/dist-es/common-hooks/list-dom-utils.js.map +1 -1
  604. package/dist-es/common-hooks/selectionTypes.js.map +1 -1
  605. package/dist-es/common-hooks/useAutoSizer.js +2 -2
  606. package/dist-es/common-hooks/useAutoSizer.js.map +1 -1
  607. package/dist-es/common-hooks/useCollapsibleGroups.js.map +1 -1
  608. package/dist-es/common-hooks/useCollectionItems.js +13 -9
  609. package/dist-es/common-hooks/useCollectionItems.js.map +1 -1
  610. package/dist-es/common-hooks/useImperativeScrollingAPI.js +11 -7
  611. package/dist-es/common-hooks/useImperativeScrollingAPI.js.map +1 -1
  612. package/dist-es/common-hooks/useKeyboardNavigation.js +78 -82
  613. package/dist-es/common-hooks/useKeyboardNavigation.js.map +1 -1
  614. package/dist-es/common-hooks/useKeyboardNavigationPanel.js +14 -13
  615. package/dist-es/common-hooks/useKeyboardNavigationPanel.js.map +1 -1
  616. package/dist-es/common-hooks/useSelection.js +0 -1
  617. package/dist-es/common-hooks/useSelection.js.map +1 -1
  618. package/dist-es/common-hooks/useTypeahead.js.map +1 -1
  619. package/dist-es/common-hooks/useViewportTracking.js +24 -23
  620. package/dist-es/common-hooks/useViewportTracking.js.map +1 -1
  621. package/dist-es/common-hooks/utils/collection-item-utils.js +29 -29
  622. package/dist-es/common-hooks/utils/collection-item-utils.js.map +1 -1
  623. package/dist-es/common-hooks/utils/isSelected.js.map +1 -1
  624. package/dist-es/contact-details/ContactAction.js +1 -1
  625. package/dist-es/contact-details/ContactAction.js.map +1 -1
  626. package/dist-es/contact-details/ContactActions.js +2 -2
  627. package/dist-es/contact-details/ContactActions.js.map +1 -1
  628. package/dist-es/contact-details/ContactAvatar.js +3 -3
  629. package/dist-es/contact-details/ContactAvatar.js.map +1 -1
  630. package/dist-es/contact-details/ContactDetails.js +1 -1
  631. package/dist-es/contact-details/ContactDetails.js.map +1 -1
  632. package/dist-es/contact-details/ContactFavoriteToggle.js.map +1 -1
  633. package/dist-es/contact-details/ContactMetadata.js.map +1 -1
  634. package/dist-es/contact-details/ContactMetadataItem.js.map +1 -1
  635. package/dist-es/contact-details/ContactPrimaryInfo.js.map +1 -1
  636. package/dist-es/contact-details/ContactSecondaryInfo.js.map +1 -1
  637. package/dist-es/contact-details/ContactTertiaryInfo.js.map +1 -1
  638. package/dist-es/contact-details/MailLinkComponent.js.map +1 -1
  639. package/dist-es/contact-details/internal/ContactDetailsContext.js +1 -1
  640. package/dist-es/contact-details/internal/ContactDetailsContext.js.map +1 -1
  641. package/dist-es/contact-details/internal/FavoriteToggle.js.map +1 -1
  642. package/dist-es/contact-details/internal/FavoriteToggleWithTooltip.js +1 -1
  643. package/dist-es/contact-details/internal/FavoriteToggleWithTooltip.js.map +1 -1
  644. package/dist-es/contact-details/internal/StarIcon.js.map +1 -1
  645. package/dist-es/contact-details/internal/StarIconContainer.js +2 -2
  646. package/dist-es/contact-details/internal/StarIconContainer.js.map +1 -1
  647. package/dist-es/contact-details/internal/useComponentSize.js +7 -10
  648. package/dist-es/contact-details/internal/useComponentSize.js.map +1 -1
  649. package/dist-es/content-status/ContentStatus.js +1 -1
  650. package/dist-es/content-status/ContentStatus.js.map +1 -1
  651. package/dist-es/content-status/internal/StatusIndicator.js.map +1 -1
  652. package/dist-es/date-input/DateInput.js +7 -7
  653. package/dist-es/date-input/DateInput.js.map +1 -1
  654. package/dist-es/date-picker/DatePicker.js +6 -6
  655. package/dist-es/date-picker/DatePicker.js.map +1 -1
  656. package/dist-es/date-picker/DatePickerContext.js.map +1 -1
  657. package/dist-es/date-picker/DatePickerPanel.css.js +1 -1
  658. package/dist-es/date-picker/DatePickerPanel.js +18 -16
  659. package/dist-es/date-picker/DatePickerPanel.js.map +1 -1
  660. package/dist-es/deck-item/DeckItem.js +2 -2
  661. package/dist-es/deck-item/DeckItem.js.map +1 -1
  662. package/dist-es/deck-layout/DeckLayout.js +6 -9
  663. package/dist-es/deck-layout/DeckLayout.js.map +1 -1
  664. package/dist-es/dropdown/Dropdown.js +12 -12
  665. package/dist-es/dropdown/Dropdown.js.map +1 -1
  666. package/dist-es/dropdown/DropdownBase.js +3 -3
  667. package/dist-es/dropdown/DropdownBase.js.map +1 -1
  668. package/dist-es/dropdown/DropdownButton.js +3 -3
  669. package/dist-es/dropdown/DropdownButton.js.map +1 -1
  670. package/dist-es/dropdown/useClickAway.js +1 -1
  671. package/dist-es/dropdown/useClickAway.js.map +1 -1
  672. package/dist-es/dropdown/useDropdown.js +13 -14
  673. package/dist-es/dropdown/useDropdown.js.map +1 -1
  674. package/dist-es/dropdown/useDropdownBase.js +10 -12
  675. package/dist-es/dropdown/useDropdownBase.js.map +1 -1
  676. package/dist-es/editable-label/EditableLabel.js +7 -7
  677. package/dist-es/editable-label/EditableLabel.js.map +1 -1
  678. package/dist-es/form-field-context-legacy/FormFieldLegacyContext.js.map +1 -1
  679. package/dist-es/form-field-context-legacy/useFormFieldLegacyProps.js +1 -1
  680. package/dist-es/form-field-context-legacy/useFormFieldLegacyProps.js.map +1 -1
  681. package/dist-es/form-field-legacy/FormActivationIndicator.css.js +1 -1
  682. package/dist-es/form-field-legacy/FormActivationIndicator.js +4 -4
  683. package/dist-es/form-field-legacy/FormActivationIndicator.js.map +1 -1
  684. package/dist-es/form-field-legacy/FormFieldLegacy.css.js +1 -1
  685. package/dist-es/form-field-legacy/FormFieldLegacy.js +6 -6
  686. package/dist-es/form-field-legacy/FormFieldLegacy.js.map +1 -1
  687. package/dist-es/form-field-legacy/FormHelperText.js +4 -5
  688. package/dist-es/form-field-legacy/FormHelperText.js.map +1 -1
  689. package/dist-es/form-field-legacy/FormLabel.js +4 -4
  690. package/dist-es/form-field-legacy/FormLabel.js.map +1 -1
  691. package/dist-es/form-field-legacy/NecessityIndicator.js +2 -2
  692. package/dist-es/form-field-legacy/NecessityIndicator.js.map +1 -1
  693. package/dist-es/form-field-legacy/StatusIndicator.js +6 -6
  694. package/dist-es/form-field-legacy/StatusIndicator.js.map +1 -1
  695. package/dist-es/form-group/FormGroup.js +2 -2
  696. package/dist-es/form-group/FormGroup.js.map +1 -1
  697. package/dist-es/formatted-input/FormattedInput.js +2 -2
  698. package/dist-es/formatted-input/FormattedInput.js.map +1 -1
  699. package/dist-es/formatted-input/internal/InputWithMask.js.map +1 -1
  700. package/dist-es/input-legacy/InputLegacy.js +5 -5
  701. package/dist-es/input-legacy/InputLegacy.js.map +1 -1
  702. package/dist-es/input-legacy/StaticInputAdornment.js +3 -3
  703. package/dist-es/input-legacy/StaticInputAdornment.js.map +1 -1
  704. package/dist-es/input-legacy/useCursorOnFocus.js +2 -2
  705. package/dist-es/input-legacy/useCursorOnFocus.js.map +1 -1
  706. package/dist-es/layer-layout/LayerLayout.js +4 -4
  707. package/dist-es/layer-layout/LayerLayout.js.map +1 -1
  708. package/dist-es/list/Highlighter.js +1 -1
  709. package/dist-es/list/Highlighter.js.map +1 -1
  710. package/dist-es/list/List.css.js +1 -1
  711. package/dist-es/list/List.js +4 -6
  712. package/dist-es/list/List.js.map +1 -1
  713. package/dist-es/list/ListItem.js +3 -3
  714. package/dist-es/list/ListItem.js.map +1 -1
  715. package/dist-es/list/ListItemGroup.js.map +1 -1
  716. package/dist-es/list/ListItemHeader.js.map +1 -1
  717. package/dist-es/list/VirtualizedList.js +3 -5
  718. package/dist-es/list/VirtualizedList.js.map +1 -1
  719. package/dist-es/list/keyset.js +1 -2
  720. package/dist-es/list/keyset.js.map +1 -1
  721. package/dist-es/list/useList.js.map +1 -1
  722. package/dist-es/list/useListHeight.js +1 -1
  723. package/dist-es/list/useListHeight.js.map +1 -1
  724. package/dist-es/list/useVirtualization.js +2 -2
  725. package/dist-es/list/useVirtualization.js.map +1 -1
  726. package/dist-es/list-deprecated/List.js.map +1 -1
  727. package/dist-es/list-deprecated/ListBase.js +52 -53
  728. package/dist-es/list-deprecated/ListBase.js.map +1 -1
  729. package/dist-es/list-deprecated/ListItem.js +2 -2
  730. package/dist-es/list-deprecated/ListItem.js.map +1 -1
  731. package/dist-es/list-deprecated/ListItemBase.js +1 -1
  732. package/dist-es/list-deprecated/ListItemBase.js.map +1 -1
  733. package/dist-es/list-deprecated/ListItemContext.js +1 -1
  734. package/dist-es/list-deprecated/ListItemContext.js.map +1 -1
  735. package/dist-es/list-deprecated/ListStateContext.js.map +1 -1
  736. package/dist-es/list-deprecated/internal/DescendantContext.js +1 -1
  737. package/dist-es/list-deprecated/internal/DescendantContext.js.map +1 -1
  738. package/dist-es/list-deprecated/internal/Highlighter.js +2 -2
  739. package/dist-es/list-deprecated/internal/Highlighter.js.map +1 -1
  740. package/dist-es/list-deprecated/internal/calcPreferredListHeight.js +1 -1
  741. package/dist-es/list-deprecated/internal/calcPreferredListHeight.js.map +1 -1
  742. package/dist-es/list-deprecated/internal/helpers.js.map +1 -1
  743. package/dist-es/list-deprecated/internal/useListAutoSizer.js +1 -1
  744. package/dist-es/list-deprecated/internal/useListAutoSizer.js.map +1 -1
  745. package/dist-es/list-deprecated/internal/useWidth.js.map +1 -1
  746. package/dist-es/list-deprecated/itemToString.js.map +1 -1
  747. package/dist-es/list-deprecated/useList.js +4 -22
  748. package/dist-es/list-deprecated/useList.js.map +1 -1
  749. package/dist-es/list-deprecated/useListItem.js +2 -2
  750. package/dist-es/list-deprecated/useListItem.js.map +1 -1
  751. package/dist-es/list-deprecated/useTypeSelect.js +1 -1
  752. package/dist-es/list-deprecated/useTypeSelect.js.map +1 -1
  753. package/dist-es/list-next/ListItemNext.js +3 -3
  754. package/dist-es/list-next/ListItemNext.js.map +1 -1
  755. package/dist-es/list-next/ListNext.js +4 -4
  756. package/dist-es/list-next/ListNext.js.map +1 -1
  757. package/dist-es/list-next/ListNextContext.js.map +1 -1
  758. package/dist-es/list-next/useList.js +6 -9
  759. package/dist-es/list-next/useList.js.map +1 -1
  760. package/dist-es/logo/Logo.js +19 -17
  761. package/dist-es/logo/Logo.js.map +1 -1
  762. package/dist-es/logo/LogoImage.js +3 -3
  763. package/dist-es/logo/LogoImage.js.map +1 -1
  764. package/dist-es/logo/LogoSeparator.js +3 -3
  765. package/dist-es/logo/LogoSeparator.js.map +1 -1
  766. package/dist-es/menu-button/MenuButton.js +6 -6
  767. package/dist-es/menu-button/MenuButton.js.map +1 -1
  768. package/dist-es/menu-button/MenuButtonTrigger.js +3 -3
  769. package/dist-es/menu-button/MenuButtonTrigger.js.map +1 -1
  770. package/dist-es/metric/Metric.js +1 -1
  771. package/dist-es/metric/Metric.js.map +1 -1
  772. package/dist-es/metric/MetricContent.js +1 -1
  773. package/dist-es/metric/MetricContent.js.map +1 -1
  774. package/dist-es/metric/MetricHeader.js +1 -1
  775. package/dist-es/metric/MetricHeader.js.map +1 -1
  776. package/dist-es/portal/Portal.js +2 -5
  777. package/dist-es/portal/Portal.js.map +1 -1
  778. package/dist-es/query-input/QueryInput.js +1 -1
  779. package/dist-es/query-input/QueryInput.js.map +1 -1
  780. package/dist-es/query-input/internal/CategoryList.js +5 -5
  781. package/dist-es/query-input/internal/CategoryList.js.map +1 -1
  782. package/dist-es/query-input/internal/CategoryListContext.js +1 -1
  783. package/dist-es/query-input/internal/CategoryListContext.js.map +1 -1
  784. package/dist-es/query-input/internal/CategoryListItem.js.map +1 -1
  785. package/dist-es/query-input/internal/QueryInputBody.js.map +1 -1
  786. package/dist-es/query-input/internal/SearchList.js +2 -2
  787. package/dist-es/query-input/internal/SearchList.js.map +1 -1
  788. package/dist-es/query-input/internal/ValueList.js.map +1 -1
  789. package/dist-es/query-input/internal/ValueSelector.js +3 -3
  790. package/dist-es/query-input/internal/ValueSelector.js.map +1 -1
  791. package/dist-es/query-input/internal/usePopperStatus.js.map +1 -1
  792. package/dist-es/query-input/useQueryInput.js +36 -22
  793. package/dist-es/query-input/useQueryInput.js.map +1 -1
  794. package/dist-es/responsive/OverflowReducer.js +16 -19
  795. package/dist-es/responsive/OverflowReducer.js.map +1 -1
  796. package/dist-es/responsive/overflowUtils.js +22 -26
  797. package/dist-es/responsive/overflowUtils.js.map +1 -1
  798. package/dist-es/responsive/useDynamicCollapse.js +5 -5
  799. package/dist-es/responsive/useDynamicCollapse.js.map +1 -1
  800. package/dist-es/responsive/useInstantCollapse.js +3 -4
  801. package/dist-es/responsive/useInstantCollapse.js.map +1 -1
  802. package/dist-es/responsive/useOverflow.js +11 -6
  803. package/dist-es/responsive/useOverflow.js.map +1 -1
  804. package/dist-es/responsive/useOverflowCollectionItems.js +3 -3
  805. package/dist-es/responsive/useOverflowCollectionItems.js.map +1 -1
  806. package/dist-es/responsive/useOverflowLayout.js +3 -3
  807. package/dist-es/responsive/useOverflowLayout.js.map +1 -1
  808. package/dist-es/responsive/useReclaimSpace.js +11 -21
  809. package/dist-es/responsive/useReclaimSpace.js.map +1 -1
  810. package/dist-es/responsive/useResizeObserver.js +1 -1
  811. package/dist-es/responsive/useResizeObserver.js.map +1 -1
  812. package/dist-es/responsive/useWidth.js +2 -2
  813. package/dist-es/responsive/useWidth.js.map +1 -1
  814. package/dist-es/responsive/utils.js +1 -2
  815. package/dist-es/responsive/utils.js.map +1 -1
  816. package/dist-es/search-input/SearchInput.js +4 -4
  817. package/dist-es/search-input/SearchInput.js.map +1 -1
  818. package/dist-es/skip-link/SkipLink.js +3 -3
  819. package/dist-es/skip-link/SkipLink.js.map +1 -1
  820. package/dist-es/skip-link/SkipLinks.js +3 -3
  821. package/dist-es/skip-link/SkipLinks.js.map +1 -1
  822. package/dist-es/skip-link/internal/useManageFocusOnTarget.js.map +1 -1
  823. package/dist-es/slider/Slider.js +1 -1
  824. package/dist-es/slider/Slider.js.map +1 -1
  825. package/dist-es/slider/internal/SliderHandle.js +1 -1
  826. package/dist-es/slider/internal/SliderHandle.js.map +1 -1
  827. package/dist-es/slider/internal/SliderMarkLabels.js +3 -3
  828. package/dist-es/slider/internal/SliderMarkLabels.js.map +1 -1
  829. package/dist-es/slider/internal/SliderRail.js +2 -2
  830. package/dist-es/slider/internal/SliderRail.js.map +1 -1
  831. package/dist-es/slider/internal/SliderRailMarks.js +4 -4
  832. package/dist-es/slider/internal/SliderRailMarks.js.map +1 -1
  833. package/dist-es/slider/internal/SliderSelection.js +1 -1
  834. package/dist-es/slider/internal/SliderSelection.js.map +1 -1
  835. package/dist-es/slider/internal/styles.js +2 -2
  836. package/dist-es/slider/internal/styles.js.map +1 -1
  837. package/dist-es/slider/internal/useSliderKeyDown.js.map +1 -1
  838. package/dist-es/slider/internal/useSliderMouseDown.js +21 -18
  839. package/dist-es/slider/internal/useSliderMouseDown.js.map +1 -1
  840. package/dist-es/slider/internal/utils.js +1 -1
  841. package/dist-es/slider/internal/utils.js.map +1 -1
  842. package/dist-es/stepped-tracker/StepLabel/StepLabel.js +2 -2
  843. package/dist-es/stepped-tracker/StepLabel/StepLabel.js.map +1 -1
  844. package/dist-es/stepped-tracker/SteppedTracker.js +3 -3
  845. package/dist-es/stepped-tracker/SteppedTracker.js.map +1 -1
  846. package/dist-es/stepped-tracker/SteppedTrackerContext.js.map +1 -1
  847. package/dist-es/stepped-tracker/TrackerStep/TrackerStep.js +4 -4
  848. package/dist-es/stepped-tracker/TrackerStep/TrackerStep.js.map +1 -1
  849. package/dist-es/stepper-input/StepperInput.js +3 -3
  850. package/dist-es/stepper-input/StepperInput.js.map +1 -1
  851. package/dist-es/stepper-input/internal/useInterval.js.map +1 -1
  852. package/dist-es/stepper-input/internal/useSpinner.js +1 -1
  853. package/dist-es/stepper-input/internal/useSpinner.js.map +1 -1
  854. package/dist-es/stepper-input/useStepperInput.js +3 -3
  855. package/dist-es/stepper-input/useStepperInput.js.map +1 -1
  856. package/dist-es/tabs/Tab.js +5 -6
  857. package/dist-es/tabs/Tab.js.map +1 -1
  858. package/dist-es/tabs/TabActivationIndicator.js +1 -1
  859. package/dist-es/tabs/TabActivationIndicator.js.map +1 -1
  860. package/dist-es/tabs/TabPanel.js +3 -3
  861. package/dist-es/tabs/TabPanel.js.map +1 -1
  862. package/dist-es/tabs/Tabs.js +4 -4
  863. package/dist-es/tabs/Tabs.js.map +1 -1
  864. package/dist-es/tabs/Tabstrip.js +11 -14
  865. package/dist-es/tabs/Tabstrip.js.map +1 -1
  866. package/dist-es/tabs/drag-drop/Draggable.js +1 -1
  867. package/dist-es/tabs/drag-drop/Draggable.js.map +1 -1
  868. package/dist-es/tabs/drag-drop/drag-utils.js +29 -26
  869. package/dist-es/tabs/drag-drop/drag-utils.js.map +1 -1
  870. package/dist-es/tabs/drag-drop/dragDropTypes.js.map +1 -1
  871. package/dist-es/tabs/drag-drop/useDragDrop.js.map +1 -1
  872. package/dist-es/tabs/drag-drop/useDragDropNaturalMovement.js +5 -4
  873. package/dist-es/tabs/drag-drop/useDragDropNaturalMovement.js.map +1 -1
  874. package/dist-es/tabs/drag-drop/useDragSpacers.js +19 -16
  875. package/dist-es/tabs/drag-drop/useDragSpacers.js.map +1 -1
  876. package/dist-es/tabs/useActivationIndicator.js +3 -2
  877. package/dist-es/tabs/useActivationIndicator.js.map +1 -1
  878. package/dist-es/tabs/useEditableItem.js +1 -1
  879. package/dist-es/tabs/useEditableItem.js.map +1 -1
  880. package/dist-es/tabs/useItemsWithIds.js +5 -9
  881. package/dist-es/tabs/useItemsWithIds.js.map +1 -1
  882. package/dist-es/tabs/useKeyboardNavigation.js +26 -32
  883. package/dist-es/tabs/useKeyboardNavigation.js.map +1 -1
  884. package/dist-es/tabs/useSelection.js +2 -2
  885. package/dist-es/tabs/useSelection.js.map +1 -1
  886. package/dist-es/tabs/useTabs.js +1 -1
  887. package/dist-es/tabs/useTabs.js.map +1 -1
  888. package/dist-es/tabs/useTabstrip.js +6 -5
  889. package/dist-es/tabs/useTabstrip.js.map +1 -1
  890. package/dist-es/tabs-next/OverflowMenu.js +2 -2
  891. package/dist-es/tabs-next/OverflowMenu.js.map +1 -1
  892. package/dist-es/tabs-next/TabNext.js +74 -72
  893. package/dist-es/tabs-next/TabNext.js.map +1 -1
  894. package/dist-es/tabs-next/TabNextContext.js.map +1 -1
  895. package/dist-es/tabs-next/TabstripNext.js +5 -5
  896. package/dist-es/tabs-next/TabstripNext.js.map +1 -1
  897. package/dist-es/toast-group/ToastGroup.js +3 -3
  898. package/dist-es/toast-group/ToastGroup.js.map +1 -1
  899. package/dist-es/tokenized-input/TokenizedInput.js.map +1 -1
  900. package/dist-es/tokenized-input/TokenizedInputBase.js +12 -12
  901. package/dist-es/tokenized-input/TokenizedInputBase.js.map +1 -1
  902. package/dist-es/tokenized-input/internal/InputPill.js +2 -2
  903. package/dist-es/tokenized-input/internal/InputPill.js.map +1 -1
  904. package/dist-es/tokenized-input/internal/InputRuler.js +3 -3
  905. package/dist-es/tokenized-input/internal/InputRuler.js.map +1 -1
  906. package/dist-es/tokenized-input/internal/defaultItemToString.js.map +1 -1
  907. package/dist-es/tokenized-input/internal/getCursorPosition.js.map +1 -1
  908. package/dist-es/tokenized-input/internal/isPlainObject.js.map +1 -1
  909. package/dist-es/tokenized-input/internal/useResizeObserver.js.map +1 -1
  910. package/dist-es/tokenized-input/internal/useWidth.js +3 -3
  911. package/dist-es/tokenized-input/internal/useWidth.js.map +1 -1
  912. package/dist-es/tokenized-input/useTokenizedInput.js +12 -9
  913. package/dist-es/tokenized-input/useTokenizedInput.js.map +1 -1
  914. package/dist-es/tokenized-input-next/TokenizedInputNext.js +5 -5
  915. package/dist-es/tokenized-input-next/TokenizedInputNext.js.map +1 -1
  916. package/dist-es/tokenized-input-next/internal/InputPill.js +5 -5
  917. package/dist-es/tokenized-input-next/internal/InputPill.js.map +1 -1
  918. package/dist-es/tokenized-input-next/internal/useResizeObserver.js.map +1 -1
  919. package/dist-es/tokenized-input-next/internal/useWidth.js +3 -3
  920. package/dist-es/tokenized-input-next/internal/useWidth.js.map +1 -1
  921. package/dist-es/tokenized-input-next/useTokenizedInputNext.js +12 -14
  922. package/dist-es/tokenized-input-next/useTokenizedInputNext.js.map +1 -1
  923. package/dist-es/toolbar/Toolbar.js +3 -3
  924. package/dist-es/toolbar/Toolbar.js.map +1 -1
  925. package/dist-es/toolbar/ToolbarButton.js +2 -2
  926. package/dist-es/toolbar/ToolbarButton.js.map +1 -1
  927. package/dist-es/toolbar/Tooltray.js +1 -1
  928. package/dist-es/toolbar/Tooltray.js.map +1 -1
  929. package/dist-es/toolbar/internal/renderToolbarItems.js +22 -21
  930. package/dist-es/toolbar/internal/renderToolbarItems.js.map +1 -1
  931. package/dist-es/toolbar/internal/renderTrayTools.js +21 -23
  932. package/dist-es/toolbar/internal/renderTrayTools.js.map +1 -1
  933. package/dist-es/toolbar/overflow-panel/OverflowPanel.js +19 -21
  934. package/dist-es/toolbar/overflow-panel/OverflowPanel.js.map +1 -1
  935. package/dist-es/toolbar/overflow-panel/OverflowSeparator.js +2 -2
  936. package/dist-es/toolbar/overflow-panel/OverflowSeparator.js.map +1 -1
  937. package/dist-es/toolbar/toolbar-field/ToolbarField.js.map +1 -1
  938. package/dist-es/toolbar/toolbar-field/useToolbarField.js +8 -8
  939. package/dist-es/toolbar/toolbar-field/useToolbarField.js.map +1 -1
  940. package/dist-es/tree/Tree.js +9 -6
  941. package/dist-es/tree/Tree.js.map +1 -1
  942. package/dist-es/tree/TreeNode.js +2 -2
  943. package/dist-es/tree/TreeNode.js.map +1 -1
  944. package/dist-es/tree/use-tree-keyboard-navigation.js +5 -4
  945. package/dist-es/tree/use-tree-keyboard-navigation.js.map +1 -1
  946. package/dist-es/tree/useTree.js +1 -3
  947. package/dist-es/tree/useTree.js.map +1 -1
  948. package/dist-es/utils/forwardCallbackProps.js.map +1 -1
  949. package/dist-es/utils/partition.js.map +1 -1
  950. package/dist-es/utils/useClickOutside.js.map +1 -1
  951. package/dist-es/utils/useEventCallback.js +1 -1
  952. package/dist-es/utils/useEventCallback.js.map +1 -1
  953. package/dist-es/utils/useIsViewportLargerThanBreakpoint.js.map +1 -1
  954. package/dist-es/utils/useLayoutEffectOnce.js +1 -1
  955. package/dist-es/utils/useLayoutEffectOnce.js.map +1 -1
  956. package/dist-es/utils/useLayoutEffectSkipFirst.js +1 -1
  957. package/dist-es/utils/useLayoutEffectSkipFirst.js.map +1 -1
  958. package/dist-es/utils/useOverflowDetection.js +3 -3
  959. package/dist-es/utils/useOverflowDetection.js.map +1 -1
  960. package/dist-es/utils/useSlideSelection.js.map +1 -1
  961. package/dist-es/window/ElectronWindow.js +5 -7
  962. package/dist-es/window/ElectronWindow.js.map +1 -1
  963. package/dist-es/window/WindowContext.js.map +1 -1
  964. package/dist-types/app-header/AppHeader.d.ts +1 -1
  965. package/dist-types/breadcrumbs/Breadcrumb.d.ts +3 -3
  966. package/dist-types/breadcrumbs/Breadcrumbs.d.ts +2 -2
  967. package/dist-types/breadcrumbs/internal/BreadcrumbsCollapsed.d.ts +4 -4
  968. package/dist-types/breadcrumbs/internal/BreadcrumbsSeparator.d.ts +2 -2
  969. package/dist-types/button-bar/ButtonBar.d.ts +2 -2
  970. package/dist-types/button-bar/OrderedButton.d.ts +1 -1
  971. package/dist-types/button-bar/internal/DescendantContext.d.ts +2 -2
  972. package/dist-types/button-bar/internal/useDescendants.d.ts +1 -1
  973. package/dist-types/calendar/Calendar.d.ts +3 -3
  974. package/dist-types/calendar/internal/CalendarCarousel.d.ts +1 -1
  975. package/dist-types/calendar/internal/CalendarContext.d.ts +1 -1
  976. package/dist-types/calendar/internal/CalendarDay.d.ts +4 -4
  977. package/dist-types/calendar/internal/CalendarMonth.d.ts +3 -3
  978. package/dist-types/calendar/internal/CalendarNavigation.d.ts +3 -3
  979. package/dist-types/calendar/internal/CalendarWeekHeader.d.ts +1 -1
  980. package/dist-types/calendar/internal/useFocusManagement.d.ts +2 -2
  981. package/dist-types/calendar/internal/utils.d.ts +1 -1
  982. package/dist-types/calendar/useCalendar.d.ts +7 -7
  983. package/dist-types/calendar/useCalendarDay.d.ts +4 -4
  984. package/dist-types/calendar/useSelection.d.ts +2 -2
  985. package/dist-types/carousel/Carousel.d.ts +2 -2
  986. package/dist-types/carousel/CarouselSlide.d.ts +1 -1
  987. package/dist-types/cascading-menu/CascadingMenu.d.ts +1 -1
  988. package/dist-types/cascading-menu/CascadingMenuItem.d.ts +3 -3
  989. package/dist-types/cascading-menu/CascadingMenuList.d.ts +6 -6
  990. package/dist-types/cascading-menu/CascadingMenuProps.d.ts +5 -5
  991. package/dist-types/cascading-menu/internal/CascadingMenuAction.d.ts +1 -1
  992. package/dist-types/cascading-menu/internal/keydownHandlers.d.ts +2 -2
  993. package/dist-types/cascading-menu/internal/stateUtils.d.ts +1 -1
  994. package/dist-types/cascading-menu/internal/useMenuTriggerHandlers.d.ts +4 -4
  995. package/dist-types/cascading-menu/internal/useMouseHandlers.d.ts +2 -2
  996. package/dist-types/cascading-menu/internal/useStateReducer.d.ts +3 -3
  997. package/dist-types/color-chooser/AlphaInputField.d.ts +2 -1
  998. package/dist-types/color-chooser/ColorChooser.d.ts +3 -3
  999. package/dist-types/color-chooser/ColorPicker.d.ts +1 -1
  1000. package/dist-types/color-chooser/DictTabs.d.ts +3 -3
  1001. package/dist-types/color-chooser/RGBAInput.d.ts +2 -2
  1002. package/dist-types/color-chooser/RGBAInputField.d.ts +1 -1
  1003. package/dist-types/color-chooser/Swatch.d.ts +1 -1
  1004. package/dist-types/color-chooser/Swatches.d.ts +1 -1
  1005. package/dist-types/color-chooser/SwatchesPicker.d.ts +1 -1
  1006. package/dist-types/color-chooser/createTabsMapping.d.ts +3 -3
  1007. package/dist-types/combo-box/ComboBox.d.ts +5 -5
  1008. package/dist-types/combo-box/useCombobox.d.ts +5 -5
  1009. package/dist-types/combo-box-deprecated/ComboBoxDeprecated.d.ts +3 -3
  1010. package/dist-types/combo-box-deprecated/internal/DefaultComboBox.d.ts +5 -5
  1011. package/dist-types/combo-box-deprecated/internal/MultiSelectComboBox.d.ts +3 -3
  1012. package/dist-types/combo-box-deprecated/internal/useComboBox.d.ts +65 -59
  1013. package/dist-types/combo-box-deprecated/internal/useMultiSelectComboBox.d.ts +189 -172
  1014. package/dist-types/combo-box-deprecated/internal/usePopperStatus.d.ts +1 -1
  1015. package/dist-types/common-hooks/collectionProvider.d.ts +3 -3
  1016. package/dist-types/common-hooks/collectionTypes.d.ts +2 -2
  1017. package/dist-types/common-hooks/keyUtils.d.ts +1 -1
  1018. package/dist-types/common-hooks/navigationTypes.d.ts +3 -3
  1019. package/dist-types/common-hooks/selectionTypes.d.ts +2 -2
  1020. package/dist-types/common-hooks/useAutoSizer.d.ts +1 -1
  1021. package/dist-types/common-hooks/useCollapsibleGroups.d.ts +2 -2
  1022. package/dist-types/common-hooks/useCollectionItems.d.ts +1 -1
  1023. package/dist-types/common-hooks/useImperativeScrollingAPI.d.ts +2 -2
  1024. package/dist-types/common-hooks/useKeyboardNavigation.d.ts +2 -2
  1025. package/dist-types/common-hooks/useKeyboardNavigationPanel.d.ts +1 -1
  1026. package/dist-types/common-hooks/useSelection.d.ts +1 -1
  1027. package/dist-types/common-hooks/useTypeahead.d.ts +1 -1
  1028. package/dist-types/common-hooks/useViewportTracking.d.ts +2 -2
  1029. package/dist-types/common-hooks/utils/collection-item-utils.d.ts +2 -2
  1030. package/dist-types/common-hooks/utils/isSelected.d.ts +1 -1
  1031. package/dist-types/contact-details/ContactAction.d.ts +3 -3
  1032. package/dist-types/contact-details/ContactActions.d.ts +1 -1
  1033. package/dist-types/contact-details/ContactAvatar.d.ts +1 -1
  1034. package/dist-types/contact-details/ContactDetails.d.ts +1 -1
  1035. package/dist-types/contact-details/ContactFavoriteToggle.d.ts +2 -2
  1036. package/dist-types/contact-details/ContactMetadata.d.ts +1 -1
  1037. package/dist-types/contact-details/ContactMetadataItem.d.ts +3 -3
  1038. package/dist-types/contact-details/ContactPrimaryInfo.d.ts +1 -1
  1039. package/dist-types/contact-details/ContactSecondaryInfo.d.ts +3 -3
  1040. package/dist-types/contact-details/ContactTertiaryInfo.d.ts +2 -2
  1041. package/dist-types/contact-details/MailLinkComponent.d.ts +2 -2
  1042. package/dist-types/contact-details/internal/ContactDetailsContext.d.ts +1 -1
  1043. package/dist-types/contact-details/internal/FavoriteToggle.d.ts +3 -2
  1044. package/dist-types/contact-details/internal/FavoriteToggleWithTooltip.d.ts +2 -2
  1045. package/dist-types/contact-details/internal/StarIconContainer.d.ts +1 -1
  1046. package/dist-types/contact-details/internal/useComponentSize.d.ts +1 -1
  1047. package/dist-types/contact-details/types.d.ts +1 -1
  1048. package/dist-types/content-status/ContentStatus.d.ts +2 -2
  1049. package/dist-types/content-status/internal/StatusIndicator.d.ts +3 -3
  1050. package/dist-types/date-input/DateInput.d.ts +3 -3
  1051. package/dist-types/date-picker/DatePicker.d.ts +4 -4
  1052. package/dist-types/date-picker/DatePickerContext.d.ts +3 -3
  1053. package/dist-types/date-picker/DatePickerPanel.d.ts +3 -3
  1054. package/dist-types/deck-item/DeckItem.d.ts +2 -2
  1055. package/dist-types/deck-layout/DeckLayout.d.ts +2 -2
  1056. package/dist-types/dropdown/Dropdown.d.ts +4 -4
  1057. package/dist-types/dropdown/DropdownBase.d.ts +1 -1
  1058. package/dist-types/dropdown/DropdownButton.d.ts +3 -3
  1059. package/dist-types/dropdown/dropdownTypes.d.ts +2 -2
  1060. package/dist-types/dropdown/useClickAway.d.ts +1 -1
  1061. package/dist-types/dropdown/useDropdown.d.ts +3 -3
  1062. package/dist-types/dropdown/useDropdownBase.d.ts +2 -2
  1063. package/dist-types/focus-manager/FocusManager.d.ts +2 -2
  1064. package/dist-types/form-field-context-legacy/FormFieldLegacyContext.d.ts +2 -2
  1065. package/dist-types/form-field-context-legacy/useFormFieldLegacyProps.d.ts +1 -1
  1066. package/dist-types/form-field-legacy/FormActivationIndicator.d.ts +2 -2
  1067. package/dist-types/form-field-legacy/FormFieldLegacy.d.ts +6 -6
  1068. package/dist-types/form-field-legacy/FormHelperText.d.ts +3 -3
  1069. package/dist-types/form-field-legacy/FormLabel.d.ts +5 -5
  1070. package/dist-types/form-field-legacy/NecessityIndicator.d.ts +2 -2
  1071. package/dist-types/form-field-legacy/StatusIndicator.d.ts +4 -4
  1072. package/dist-types/form-group/FormGroup.d.ts +1 -1
  1073. package/dist-types/formatted-input/FormattedInput.d.ts +1 -1
  1074. package/dist-types/formatted-input/internal/InputWithMask.d.ts +2 -2
  1075. package/dist-types/input-legacy/InputLegacy.d.ts +1 -1
  1076. package/dist-types/input-legacy/StaticInputAdornment.d.ts +1 -1
  1077. package/dist-types/input-legacy/useCursorOnFocus.d.ts +1 -1
  1078. package/dist-types/layer-layout/LayerLayout.d.ts +2 -2
  1079. package/dist-types/list/Highlighter.d.ts +1 -1
  1080. package/dist-types/list/List.d.ts +3 -3
  1081. package/dist-types/list/ListItem.d.ts +2 -2
  1082. package/dist-types/list/ListItemGroup.d.ts +1 -1
  1083. package/dist-types/list/ListItemHeader.d.ts +1 -1
  1084. package/dist-types/list/VirtualizedList.d.ts +3 -3
  1085. package/dist-types/list/listTypes.d.ts +3 -2
  1086. package/dist-types/list/useList.d.ts +2 -2
  1087. package/dist-types/list/useListHeight.d.ts +1 -1
  1088. package/dist-types/list/useVirtualization.d.ts +2 -2
  1089. package/dist-types/list-deprecated/List.d.ts +3 -3
  1090. package/dist-types/list-deprecated/ListBase.d.ts +2 -2
  1091. package/dist-types/list-deprecated/ListItem.d.ts +2 -2
  1092. package/dist-types/list-deprecated/ListItemBase.d.ts +1 -1
  1093. package/dist-types/list-deprecated/ListItemContext.d.ts +1 -1
  1094. package/dist-types/list-deprecated/ListProps.d.ts +1 -1
  1095. package/dist-types/list-deprecated/internal/DescendantContext.d.ts +1 -1
  1096. package/dist-types/list-deprecated/internal/Highlighter.d.ts +1 -1
  1097. package/dist-types/list-deprecated/internal/useListAutoSizer.d.ts +1 -1
  1098. package/dist-types/list-deprecated/internal/useWidth.d.ts +1 -1
  1099. package/dist-types/list-deprecated/useList.d.ts +2 -2
  1100. package/dist-types/list-deprecated/useListItem.d.ts +3 -3
  1101. package/dist-types/list-next/ListItemNext.d.ts +1 -1
  1102. package/dist-types/list-next/ListNext.d.ts +1 -1
  1103. package/dist-types/list-next/ListNextContext.d.ts +1 -1
  1104. package/dist-types/list-next/useList.d.ts +1 -1
  1105. package/dist-types/logo/Logo.d.ts +1 -1
  1106. package/dist-types/logo/LogoImage.d.ts +1 -1
  1107. package/dist-types/logo/LogoSeparator.d.ts +1 -1
  1108. package/dist-types/menu-button/MenuButton.d.ts +3 -3
  1109. package/dist-types/menu-button/MenuButtonTrigger.d.ts +2 -2
  1110. package/dist-types/metric/Metric.d.ts +2 -2
  1111. package/dist-types/metric/MetricContent.d.ts +2 -2
  1112. package/dist-types/metric/MetricHeader.d.ts +2 -2
  1113. package/dist-types/portal/Portal.d.ts +1 -1
  1114. package/dist-types/query-input/QueryInput.d.ts +3 -3
  1115. package/dist-types/query-input/internal/CategoryList.d.ts +3 -3
  1116. package/dist-types/query-input/internal/CategoryListItem.d.ts +2 -2
  1117. package/dist-types/query-input/internal/QueryInputBody.d.ts +4 -4
  1118. package/dist-types/query-input/internal/SearchList.d.ts +3 -3
  1119. package/dist-types/query-input/internal/ValueList.d.ts +3 -3
  1120. package/dist-types/query-input/internal/ValueSelector.d.ts +3 -3
  1121. package/dist-types/query-input/internal/usePopperStatus.d.ts +1 -1
  1122. package/dist-types/query-input/useQueryInput.d.ts +4 -4
  1123. package/dist-types/responsive/OverflowReducer.d.ts +2 -2
  1124. package/dist-types/responsive/overflowTypes.d.ts +2 -2
  1125. package/dist-types/responsive/overflowUtils.d.ts +2 -2
  1126. package/dist-types/responsive/useDynamicCollapse.d.ts +2 -2
  1127. package/dist-types/responsive/useInstantCollapse.d.ts +2 -2
  1128. package/dist-types/responsive/useOverflow.d.ts +1 -1
  1129. package/dist-types/responsive/useOverflowCollectionItems.d.ts +1 -1
  1130. package/dist-types/responsive/useOverflowLayout.d.ts +1 -1
  1131. package/dist-types/responsive/useReclaimSpace.d.ts +1 -1
  1132. package/dist-types/responsive/useResizeObserver.d.ts +1 -1
  1133. package/dist-types/responsive/useWidth.d.ts +1 -1
  1134. package/dist-types/search-input/SearchInput.d.ts +2 -2
  1135. package/dist-types/skip-link/SkipLink.d.ts +2 -2
  1136. package/dist-types/skip-link/SkipLinks.d.ts +1 -1
  1137. package/dist-types/skip-link/internal/useManageFocusOnTarget.d.ts +1 -1
  1138. package/dist-types/slider/Slider.d.ts +3 -3
  1139. package/dist-types/slider/internal/SliderHandle.d.ts +1 -1
  1140. package/dist-types/slider/internal/SliderMarkLabels.d.ts +2 -2
  1141. package/dist-types/slider/internal/SliderRail.d.ts +1 -3
  1142. package/dist-types/slider/internal/SliderRailMarks.d.ts +2 -2
  1143. package/dist-types/slider/internal/SliderSelection.d.ts +1 -1
  1144. package/dist-types/slider/internal/styles.d.ts +3 -3
  1145. package/dist-types/slider/internal/useSliderKeyDown.d.ts +2 -2
  1146. package/dist-types/slider/internal/useSliderMouseDown.d.ts +3 -3
  1147. package/dist-types/slider/internal/utils.d.ts +2 -2
  1148. package/dist-types/stepped-tracker/StepLabel/StepLabel.d.ts +2 -2
  1149. package/dist-types/stepped-tracker/SteppedTracker.d.ts +1 -1
  1150. package/dist-types/stepped-tracker/SteppedTrackerContext.d.ts +3 -3
  1151. package/dist-types/stepped-tracker/TrackerConnector/TrackerConnector.d.ts +1 -1
  1152. package/dist-types/stepped-tracker/TrackerStep/TrackerStep.d.ts +1 -1
  1153. package/dist-types/stepper-input/StepperInput.d.ts +2 -2
  1154. package/dist-types/stepper-input/internal/useInterval.d.ts +1 -1
  1155. package/dist-types/stepper-input/useStepperInput.d.ts +3 -3
  1156. package/dist-types/tabs/Tab.d.ts +1 -1
  1157. package/dist-types/tabs/TabActivationIndicator.d.ts +1 -1
  1158. package/dist-types/tabs/TabPanel.d.ts +1 -1
  1159. package/dist-types/tabs/Tabs.d.ts +1 -1
  1160. package/dist-types/tabs/TabsTypes.d.ts +4 -4
  1161. package/dist-types/tabs/Tabstrip.d.ts +1 -1
  1162. package/dist-types/tabs/drag-drop/Draggable.d.ts +2 -2
  1163. package/dist-types/tabs/drag-drop/DropIndicator.d.ts +1 -1
  1164. package/dist-types/tabs/drag-drop/drag-utils.d.ts +2 -2
  1165. package/dist-types/tabs/drag-drop/dragDropTypes.d.ts +2 -2
  1166. package/dist-types/tabs/drag-drop/useDragDrop.d.ts +1 -1
  1167. package/dist-types/tabs/drag-drop/useDragDropNaturalMovement.d.ts +1 -1
  1168. package/dist-types/tabs/drag-drop/useDragSpacers.d.ts +3 -3
  1169. package/dist-types/tabs/useActivationIndicator.d.ts +2 -2
  1170. package/dist-types/tabs/useEditableItem.d.ts +2 -2
  1171. package/dist-types/tabs/useItemsWithIds.d.ts +2 -2
  1172. package/dist-types/tabs/useKeyboardNavigation.d.ts +2 -2
  1173. package/dist-types/tabs/useSelection.d.ts +1 -1
  1174. package/dist-types/tabs/useTabs.d.ts +2 -2
  1175. package/dist-types/tabs/useTabstrip.d.ts +6 -6
  1176. package/dist-types/tabs-next/OverflowMenu.d.ts +2 -2
  1177. package/dist-types/tabs-next/TabNext.d.ts +1 -1
  1178. package/dist-types/tabs-next/TabNextContext.d.ts +1 -1
  1179. package/dist-types/tabs-next/TabstripNext.d.ts +1 -1
  1180. package/dist-types/toast-group/ToastGroup.d.ts +1 -1
  1181. package/dist-types/tokenized-input/TokenizedInput.d.ts +3 -3
  1182. package/dist-types/tokenized-input/TokenizedInputBase.d.ts +4 -4
  1183. package/dist-types/tokenized-input/internal/InputPill.d.ts +2 -2
  1184. package/dist-types/tokenized-input/internal/InputRuler.d.ts +1 -1
  1185. package/dist-types/tokenized-input/internal/getCursorPosition.d.ts +1 -1
  1186. package/dist-types/tokenized-input/internal/useResizeObserver.d.ts +1 -1
  1187. package/dist-types/tokenized-input/internal/useWidth.d.ts +1 -1
  1188. package/dist-types/tokenized-input/useTokenizedInput.d.ts +3 -3
  1189. package/dist-types/tokenized-input-next/TokenizedInputNext.d.ts +3 -3
  1190. package/dist-types/tokenized-input-next/internal/InputPill.d.ts +2 -2
  1191. package/dist-types/tokenized-input-next/internal/useResizeObserver.d.ts +1 -1
  1192. package/dist-types/tokenized-input-next/internal/useWidth.d.ts +1 -1
  1193. package/dist-types/tokenized-input-next/useTokenizedInputNext.d.ts +2 -2
  1194. package/dist-types/toolbar/Toolbar.d.ts +1 -1
  1195. package/dist-types/toolbar/ToolbarButton.d.ts +1 -1
  1196. package/dist-types/toolbar/ToolbarProps.d.ts +2 -2
  1197. package/dist-types/toolbar/Tooltray.d.ts +2 -2
  1198. package/dist-types/toolbar/TooltrayProps.d.ts +2 -2
  1199. package/dist-types/toolbar/internal/ToolbarButtonRefsContext.d.ts +1 -1
  1200. package/dist-types/toolbar/internal/renderToolbarItems.d.ts +2 -2
  1201. package/dist-types/toolbar/internal/renderTrayTools.d.ts +3 -3
  1202. package/dist-types/toolbar/overflow-panel/OverflowPanel.d.ts +1 -1
  1203. package/dist-types/toolbar/overflow-panel/OverflowSeparator.d.ts +1 -1
  1204. package/dist-types/toolbar/toolbar-field/ToolbarField.d.ts +1 -1
  1205. package/dist-types/toolbar/toolbar-field/toolbarFieldTypes.d.ts +1 -1
  1206. package/dist-types/toolbar/toolbar-field/useToolbarField.d.ts +2 -2
  1207. package/dist-types/tree/Tree.d.ts +2 -2
  1208. package/dist-types/tree/TreeNode.d.ts +2 -2
  1209. package/dist-types/tree/treeTypes.d.ts +4 -4
  1210. package/dist-types/tree/use-tree-keyboard-navigation.d.ts +2 -2
  1211. package/dist-types/tree/useTree.d.ts +3 -3
  1212. package/dist-types/utils/useClickOutside.d.ts +1 -1
  1213. package/dist-types/utils/useIsViewportLargerThanBreakpoint.d.ts +1 -1
  1214. package/dist-types/utils/useLayoutEffectOnce.d.ts +1 -1
  1215. package/dist-types/utils/useLayoutEffectSkipFirst.d.ts +1 -1
  1216. package/dist-types/utils/useOverflowDetection.d.ts +1 -1
  1217. package/dist-types/utils/useSlideSelection.d.ts +1 -1
  1218. package/dist-types/window/WindowContext.d.ts +1 -1
  1219. package/package.json +3 -3
@@ -1 +1 @@
1
- {"version":3,"file":"SteppedTracker.js","sources":["../src/stepped-tracker/SteppedTracker.tsx"],"sourcesContent":["import {\n ComponentPropsWithoutRef,\n forwardRef,\n ReactElement,\n ReactNode,\n Children,\n isValidElement,\n useEffect,\n} from \"react\";\nimport { clsx } from \"clsx\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { makePrefixer } from \"@salt-ds/core\";\n\nimport {\n SteppedTrackerProvider,\n TrackerStepProvider,\n} from \"./SteppedTrackerContext\";\n\nimport steppedTrackerCss from \"./SteppedTracker.css\";\n\nconst withBaseName = makePrefixer(\"saltSteppedTracker\");\n\nexport interface SteppedTrackerProps extends ComponentPropsWithoutRef<\"ul\"> {\n /**\n * The index of the current activeStep\n */\n activeStep: number;\n /**\n * Should be one or more TrackerStep components\n */\n children: ReactNode;\n /**\n * The orientation of the SteppedTracker. Defaults to `horizontal`\n */\n orientation?: \"horizontal\" | \"vertical\";\n}\n\nconst useCheckInvalidChildren = (children: ReactNode) => {\n useEffect(() => {\n if (process.env.NODE_ENV !== \"production\") {\n let hasInvalidChild = false;\n Children.forEach(children, (child) => {\n if (!isValidElement(child)) {\n hasInvalidChild = true;\n }\n });\n\n if (hasInvalidChild) {\n console.error(\n \"Invalid child: children of SteppedTracker must be a TrackerStep component\"\n );\n }\n }\n }, [children]);\n};\n\nexport const SteppedTracker = forwardRef<HTMLUListElement, SteppedTrackerProps>(\n function SteppedTracker(\n {\n children,\n className,\n activeStep,\n orientation = \"horizontal\",\n ...restProps\n },\n ref\n ): ReactElement<SteppedTrackerProps> {\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-stepped-tracker\",\n css: steppedTrackerCss,\n window: targetWindow,\n });\n useCheckInvalidChildren(children);\n\n const totalSteps = Children.count(children);\n\n return (\n <SteppedTrackerProvider totalSteps={totalSteps} activeStep={activeStep}>\n <ul\n className={clsx(withBaseName(), className, withBaseName(orientation))}\n ref={ref}\n {...restProps}\n >\n {Children.map(children, (child, i) => (\n <TrackerStepProvider stepNumber={i}>{child}</TrackerStepProvider>\n ))}\n </ul>\n </SteppedTrackerProvider>\n );\n }\n);\n"],"names":["makePrefixer","useEffect","Children","isValidElement","forwardRef","SteppedTracker","useWindow","useComponentCssInjection","steppedTrackerCss","jsx","SteppedTrackerProvider","clsx","TrackerStepProvider"],"mappings":";;;;;;;;;;;;;AAqBA,MAAM,YAAA,GAAeA,kBAAa,oBAAoB,CAAA,CAAA;AAiBtD,MAAM,uBAAA,GAA0B,CAAC,QAAwB,KAAA;AACvD,EAAAC,eAAA,CAAU,MAAM;AACd,IAAI,IAAA,OAAA,CAAQ,GAAI,CAAA,QAAA,KAAa,YAAc,EAAA;AACzC,MAAA,IAAI,eAAkB,GAAA,KAAA,CAAA;AACtB,MAASC,cAAA,CAAA,OAAA,CAAQ,QAAU,EAAA,CAAC,KAAU,KAAA;AACpC,QAAI,IAAA,CAACC,oBAAe,CAAA,KAAK,CAAG,EAAA;AAC1B,UAAkB,eAAA,GAAA,IAAA,CAAA;AAAA,SACpB;AAAA,OACD,CAAA,CAAA;AAED,MAAA,IAAI,eAAiB,EAAA;AACnB,QAAQ,OAAA,CAAA,KAAA;AAAA,UACN,2EAAA;AAAA,SACF,CAAA;AAAA,OACF;AAAA,KACF;AAAA,GACF,EAAG,CAAC,QAAQ,CAAC,CAAA,CAAA;AACf,CAAA,CAAA;AAEO,MAAM,cAAiB,GAAAC,gBAAA;AAAA,EAC5B,SAASC,eACP,CAAA;AAAA,IACE,QAAA;AAAA,IACA,SAAA;AAAA,IACA,UAAA;AAAA,IACA,WAAc,GAAA,YAAA;AAAA,IACX,GAAA,SAAA;AAAA,KAEL,GACmC,EAAA;AACnC,IAAA,MAAM,eAAeC,gBAAU,EAAA,CAAA;AAC/B,IAAyBC,+BAAA,CAAA;AAAA,MACvB,MAAQ,EAAA,sBAAA;AAAA,MACR,GAAK,EAAAC,gBAAA;AAAA,MACL,MAAQ,EAAA,YAAA;AAAA,KACT,CAAA,CAAA;AACD,IAAA,uBAAA,CAAwB,QAAQ,CAAA,CAAA;AAEhC,IAAM,MAAA,UAAA,GAAaN,cAAS,CAAA,KAAA,CAAM,QAAQ,CAAA,CAAA;AAE1C,IAAA,uBACGO,cAAA,CAAAC,4CAAA,EAAA;AAAA,MAAuB,UAAA;AAAA,MAAwB,UAAA;AAAA,MAC9C,QAAC,kBAAAD,cAAA,CAAA,IAAA,EAAA;AAAA,QACC,WAAWE,SAAK,CAAA,YAAA,IAAgB,SAAW,EAAA,YAAA,CAAa,WAAW,CAAC,CAAA;AAAA,QACpE,GAAA;AAAA,QACC,GAAG,SAAA;AAAA,QAEH,yBAAS,GAAI,CAAA,QAAA,EAAU,CAAC,KAAA,EAAO,sBAC7BF,cAAA,CAAAG,yCAAA,EAAA;AAAA,UAAoB,UAAY,EAAA,CAAA;AAAA,UAAI,QAAA,EAAA,KAAA;AAAA,SAAM,CAC5C,CAAA;AAAA,OACH,CAAA;AAAA,KACF,CAAA,CAAA;AAAA,GAEJ;AACF;;;;"}
1
+ {"version":3,"file":"SteppedTracker.js","sources":["../src/stepped-tracker/SteppedTracker.tsx"],"sourcesContent":["import { makePrefixer } from \"@salt-ds/core\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { clsx } from \"clsx\";\nimport {\n Children,\n type ComponentPropsWithoutRef,\n type ReactElement,\n type ReactNode,\n forwardRef,\n isValidElement,\n useEffect,\n} from \"react\";\n\nimport {\n SteppedTrackerProvider,\n TrackerStepProvider,\n} from \"./SteppedTrackerContext\";\n\nimport steppedTrackerCss from \"./SteppedTracker.css\";\n\nconst withBaseName = makePrefixer(\"saltSteppedTracker\");\n\nexport interface SteppedTrackerProps extends ComponentPropsWithoutRef<\"ul\"> {\n /**\n * The index of the current activeStep\n */\n activeStep: number;\n /**\n * Should be one or more TrackerStep components\n */\n children: ReactNode;\n /**\n * The orientation of the SteppedTracker. Defaults to `horizontal`\n */\n orientation?: \"horizontal\" | \"vertical\";\n}\n\nconst useCheckInvalidChildren = (children: ReactNode) => {\n useEffect(() => {\n if (process.env.NODE_ENV !== \"production\") {\n let hasInvalidChild = false;\n Children.forEach(children, (child) => {\n if (!isValidElement(child)) {\n hasInvalidChild = true;\n }\n });\n\n if (hasInvalidChild) {\n console.error(\n \"Invalid child: children of SteppedTracker must be a TrackerStep component\",\n );\n }\n }\n }, [children]);\n};\n\nexport const SteppedTracker = forwardRef<HTMLUListElement, SteppedTrackerProps>(\n function SteppedTracker(\n {\n children,\n className,\n activeStep,\n orientation = \"horizontal\",\n ...restProps\n },\n ref,\n ): ReactElement<SteppedTrackerProps> {\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-stepped-tracker\",\n css: steppedTrackerCss,\n window: targetWindow,\n });\n useCheckInvalidChildren(children);\n\n const totalSteps = Children.count(children);\n\n return (\n <SteppedTrackerProvider totalSteps={totalSteps} activeStep={activeStep}>\n <ul\n className={clsx(withBaseName(), className, withBaseName(orientation))}\n ref={ref}\n {...restProps}\n >\n {Children.map(children, (child, i) => (\n <TrackerStepProvider stepNumber={i}>{child}</TrackerStepProvider>\n ))}\n </ul>\n </SteppedTrackerProvider>\n );\n },\n);\n"],"names":["makePrefixer","useEffect","Children","isValidElement","forwardRef","SteppedTracker","useWindow","useComponentCssInjection","steppedTrackerCss","jsx","SteppedTrackerProvider","clsx","TrackerStepProvider"],"mappings":";;;;;;;;;;;;;AAqBA,MAAM,YAAA,GAAeA,kBAAa,oBAAoB,CAAA,CAAA;AAiBtD,MAAM,uBAAA,GAA0B,CAAC,QAAwB,KAAA;AACvD,EAAAC,eAAA,CAAU,MAAM;AACd,IAAI,IAAA,OAAA,CAAQ,GAAI,CAAA,QAAA,KAAa,YAAc,EAAA;AACzC,MAAA,IAAI,eAAkB,GAAA,KAAA,CAAA;AACtB,MAASC,cAAA,CAAA,OAAA,CAAQ,QAAU,EAAA,CAAC,KAAU,KAAA;AACpC,QAAI,IAAA,CAACC,oBAAe,CAAA,KAAK,CAAG,EAAA;AAC1B,UAAkB,eAAA,GAAA,IAAA,CAAA;AAAA,SACpB;AAAA,OACD,CAAA,CAAA;AAED,MAAA,IAAI,eAAiB,EAAA;AACnB,QAAQ,OAAA,CAAA,KAAA;AAAA,UACN,2EAAA;AAAA,SACF,CAAA;AAAA,OACF;AAAA,KACF;AAAA,GACF,EAAG,CAAC,QAAQ,CAAC,CAAA,CAAA;AACf,CAAA,CAAA;AAEO,MAAM,cAAiB,GAAAC,gBAAA;AAAA,EAC5B,SAASC,eACP,CAAA;AAAA,IACE,QAAA;AAAA,IACA,SAAA;AAAA,IACA,UAAA;AAAA,IACA,WAAc,GAAA,YAAA;AAAA,IACX,GAAA,SAAA;AAAA,KAEL,GACmC,EAAA;AACnC,IAAA,MAAM,eAAeC,gBAAU,EAAA,CAAA;AAC/B,IAAyBC,+BAAA,CAAA;AAAA,MACvB,MAAQ,EAAA,sBAAA;AAAA,MACR,GAAK,EAAAC,gBAAA;AAAA,MACL,MAAQ,EAAA,YAAA;AAAA,KACT,CAAA,CAAA;AACD,IAAA,uBAAA,CAAwB,QAAQ,CAAA,CAAA;AAEhC,IAAM,MAAA,UAAA,GAAaN,cAAS,CAAA,KAAA,CAAM,QAAQ,CAAA,CAAA;AAE1C,IAAA,uBACGO,cAAA,CAAAC,4CAAA,EAAA;AAAA,MAAuB,UAAA;AAAA,MAAwB,UAAA;AAAA,MAC9C,QAAC,kBAAAD,cAAA,CAAA,IAAA,EAAA;AAAA,QACC,WAAWE,SAAK,CAAA,YAAA,IAAgB,SAAW,EAAA,YAAA,CAAa,WAAW,CAAC,CAAA;AAAA,QACpE,GAAA;AAAA,QACC,GAAG,SAAA;AAAA,QAEH,yBAAS,GAAI,CAAA,QAAA,EAAU,CAAC,KAAA,EAAO,sBAC7BF,cAAA,CAAAG,yCAAA,EAAA;AAAA,UAAoB,UAAY,EAAA,CAAA;AAAA,UAAI,QAAA,EAAA,KAAA;AAAA,SAAM,CAC5C,CAAA;AAAA,OACH,CAAA;AAAA,KACF,CAAA,CAAA;AAAA,GAEJ;AACF;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"SteppedTrackerContext.js","sources":["../src/stepped-tracker/SteppedTrackerContext.tsx"],"sourcesContent":["import { createContext, useContext, ReactNode, useMemo } from \"react\";\n\nexport interface SteppedTrackerContextType {\n activeStep: number;\n totalSteps: number;\n isWithinSteppedTracker: boolean;\n}\n\nconst defaultSteppedTrackerContext = {\n activeStep: 0,\n totalSteps: 1,\n isWithinSteppedTracker: false,\n};\n\nconst SteppedTrackerContext = createContext(\n defaultSteppedTrackerContext as unknown as SteppedTrackerContextType\n);\n\ntype SteppedTrackerProviderProps = Omit<\n SteppedTrackerContextType,\n \"isWithinSteppedTracker\"\n> & {\n children: ReactNode;\n};\n\nexport const SteppedTrackerProvider = ({\n activeStep,\n totalSteps,\n children,\n}: SteppedTrackerProviderProps) => {\n const steppedTrackerContextValue: SteppedTrackerContextType = useMemo(\n () => ({\n activeStep,\n totalSteps,\n isWithinSteppedTracker: true,\n }),\n [activeStep, totalSteps]\n );\n\n return (\n <SteppedTrackerContext.Provider value={steppedTrackerContextValue}>\n {children}\n </SteppedTrackerContext.Provider>\n );\n};\n\nexport const useSteppedTrackerContext = () => useContext(SteppedTrackerContext);\n\ntype TrackerStepNumberContextType = number;\n\nconst TrackerStepContext = createContext<TrackerStepNumberContextType>(0);\n\nexport const useTrackerStepContext = () => useContext(TrackerStepContext);\n\ninterface TrackerStepProviderProps {\n stepNumber: number;\n children: ReactNode;\n}\n\nexport const TrackerStepProvider = ({\n children,\n stepNumber,\n}: TrackerStepProviderProps) => {\n return (\n <TrackerStepContext.Provider value={stepNumber}>\n {children}\n </TrackerStepContext.Provider>\n );\n};\n"],"names":["createContext","useMemo","jsx","useContext"],"mappings":";;;;;;;AAQA,MAAM,4BAA+B,GAAA;AAAA,EACnC,UAAY,EAAA,CAAA;AAAA,EACZ,UAAY,EAAA,CAAA;AAAA,EACZ,sBAAwB,EAAA,KAAA;AAC1B,CAAA,CAAA;AAEA,MAAM,qBAAwB,GAAAA,mBAAA;AAAA,EAC5B,4BAAA;AACF,CAAA,CAAA;AASO,MAAM,yBAAyB,CAAC;AAAA,EACrC,UAAA;AAAA,EACA,UAAA;AAAA,EACA,QAAA;AACF,CAAmC,KAAA;AACjC,EAAA,MAAM,0BAAwD,GAAAC,aAAA;AAAA,IAC5D,OAAO;AAAA,MACL,UAAA;AAAA,MACA,UAAA;AAAA,MACA,sBAAwB,EAAA,IAAA;AAAA,KAC1B,CAAA;AAAA,IACA,CAAC,YAAY,UAAU,CAAA;AAAA,GACzB,CAAA;AAEA,EACE,uBAAAC,cAAA,CAAC,sBAAsB,QAAtB,EAAA;AAAA,IAA+B,KAAO,EAAA,0BAAA;AAAA,IACpC,QAAA;AAAA,GACH,CAAA,CAAA;AAEJ,EAAA;AAEa,MAAA,wBAAA,GAA2B,MAAMC,gBAAA,CAAW,qBAAqB,EAAA;AAI9E,MAAM,kBAAA,GAAqBH,oBAA4C,CAAC,CAAA,CAAA;AAE3D,MAAA,qBAAA,GAAwB,MAAMG,gBAAA,CAAW,kBAAkB,EAAA;AAOjE,MAAM,sBAAsB,CAAC;AAAA,EAClC,QAAA;AAAA,EACA,UAAA;AACF,CAAgC,KAAA;AAC9B,EACE,uBAAAD,cAAA,CAAC,mBAAmB,QAAnB,EAAA;AAAA,IAA4B,KAAO,EAAA,UAAA;AAAA,IACjC,QAAA;AAAA,GACH,CAAA,CAAA;AAEJ;;;;;;;"}
1
+ {"version":3,"file":"SteppedTrackerContext.js","sources":["../src/stepped-tracker/SteppedTrackerContext.tsx"],"sourcesContent":["import { type ReactNode, createContext, useContext, useMemo } from \"react\";\n\nexport interface SteppedTrackerContextType {\n activeStep: number;\n totalSteps: number;\n isWithinSteppedTracker: boolean;\n}\n\nconst defaultSteppedTrackerContext = {\n activeStep: 0,\n totalSteps: 1,\n isWithinSteppedTracker: false,\n};\n\nconst SteppedTrackerContext = createContext(\n defaultSteppedTrackerContext as unknown as SteppedTrackerContextType,\n);\n\ntype SteppedTrackerProviderProps = Omit<\n SteppedTrackerContextType,\n \"isWithinSteppedTracker\"\n> & {\n children: ReactNode;\n};\n\nexport const SteppedTrackerProvider = ({\n activeStep,\n totalSteps,\n children,\n}: SteppedTrackerProviderProps) => {\n const steppedTrackerContextValue: SteppedTrackerContextType = useMemo(\n () => ({\n activeStep,\n totalSteps,\n isWithinSteppedTracker: true,\n }),\n [activeStep, totalSteps],\n );\n\n return (\n <SteppedTrackerContext.Provider value={steppedTrackerContextValue}>\n {children}\n </SteppedTrackerContext.Provider>\n );\n};\n\nexport const useSteppedTrackerContext = () => useContext(SteppedTrackerContext);\n\ntype TrackerStepNumberContextType = number;\n\nconst TrackerStepContext = createContext<TrackerStepNumberContextType>(0);\n\nexport const useTrackerStepContext = () => useContext(TrackerStepContext);\n\ninterface TrackerStepProviderProps {\n stepNumber: number;\n children: ReactNode;\n}\n\nexport const TrackerStepProvider = ({\n children,\n stepNumber,\n}: TrackerStepProviderProps) => {\n return (\n <TrackerStepContext.Provider value={stepNumber}>\n {children}\n </TrackerStepContext.Provider>\n );\n};\n"],"names":["createContext","useMemo","jsx","useContext"],"mappings":";;;;;;;AAQA,MAAM,4BAA+B,GAAA;AAAA,EACnC,UAAY,EAAA,CAAA;AAAA,EACZ,UAAY,EAAA,CAAA;AAAA,EACZ,sBAAwB,EAAA,KAAA;AAC1B,CAAA,CAAA;AAEA,MAAM,qBAAwB,GAAAA,mBAAA;AAAA,EAC5B,4BAAA;AACF,CAAA,CAAA;AASO,MAAM,yBAAyB,CAAC;AAAA,EACrC,UAAA;AAAA,EACA,UAAA;AAAA,EACA,QAAA;AACF,CAAmC,KAAA;AACjC,EAAA,MAAM,0BAAwD,GAAAC,aAAA;AAAA,IAC5D,OAAO;AAAA,MACL,UAAA;AAAA,MACA,UAAA;AAAA,MACA,sBAAwB,EAAA,IAAA;AAAA,KAC1B,CAAA;AAAA,IACA,CAAC,YAAY,UAAU,CAAA;AAAA,GACzB,CAAA;AAEA,EACE,uBAAAC,cAAA,CAAC,sBAAsB,QAAtB,EAAA;AAAA,IAA+B,KAAO,EAAA,0BAAA;AAAA,IACpC,QAAA;AAAA,GACH,CAAA,CAAA;AAEJ,EAAA;AAEa,MAAA,wBAAA,GAA2B,MAAMC,gBAAA,CAAW,qBAAqB,EAAA;AAI9E,MAAM,kBAAA,GAAqBH,oBAA4C,CAAC,CAAA,CAAA;AAE3D,MAAA,qBAAA,GAAwB,MAAMG,gBAAA,CAAW,kBAAkB,EAAA;AAOjE,MAAM,sBAAsB,CAAC;AAAA,EAClC,QAAA;AAAA,EACA,UAAA;AACF,CAAgC,KAAA;AAC9B,EACE,uBAAAD,cAAA,CAAC,mBAAmB,QAAnB,EAAA;AAAA,IAA4B,KAAO,EAAA,UAAA;AAAA,IACjC,QAAA;AAAA,GACH,CAAA,CAAA;AAEJ;;;;;;;"}
@@ -3,12 +3,12 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var jsxRuntime = require('react/jsx-runtime');
6
- var React = require('react');
7
- var clsx = require('clsx');
8
- var styles = require('@salt-ds/styles');
9
- var window = require('@salt-ds/window');
10
6
  var core = require('@salt-ds/core');
11
7
  var icons = require('@salt-ds/icons');
8
+ var styles = require('@salt-ds/styles');
9
+ var window = require('@salt-ds/window');
10
+ var clsx = require('clsx');
11
+ var React = require('react');
12
12
  var TrackerConnector = require('../TrackerConnector/TrackerConnector.js');
13
13
  var SteppedTrackerContext = require('../SteppedTrackerContext.js');
14
14
  var TrackerStep$1 = require('./TrackerStep.css.js');
@@ -1 +1 @@
1
- {"version":3,"file":"TrackerStep.js","sources":["../src/stepped-tracker/TrackerStep/TrackerStep.tsx"],"sourcesContent":["import { ComponentPropsWithoutRef, forwardRef, useEffect } from \"react\";\nimport { clsx } from \"clsx\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { makePrefixer } from \"@salt-ds/core\";\nimport {\n StepActiveIcon,\n StepDefaultIcon,\n StepSuccessIcon,\n} from \"@salt-ds/icons\";\nimport { TrackerConnector } from \"../TrackerConnector\";\n\nimport {\n useSteppedTrackerContext,\n useTrackerStepContext,\n} from \"../SteppedTrackerContext\";\n\nimport trackerStepCss from \"./TrackerStep.css\";\n\nconst withBaseName = makePrefixer(\"saltTrackerStep\");\n\ntype State = \"default\" | \"completed\";\n\ntype StateWithActive = State | \"active\";\n\nexport interface TrackerStepProps extends ComponentPropsWithoutRef<\"li\"> {\n /**\n * The state of the TrackerStep\n */\n state?: State;\n}\n\nconst iconMap = {\n default: StepDefaultIcon,\n completed: StepSuccessIcon,\n};\n\nconst getStateIcon = ({\n isActive,\n state,\n}: {\n isActive: boolean;\n state: State;\n}) => {\n if (state === \"default\" && isActive) {\n return StepActiveIcon;\n }\n return iconMap[state];\n};\n\nconst getState = ({\n isActive,\n state,\n}: {\n isActive: boolean;\n state: State;\n}): StateWithActive => {\n if (state === \"default\" && isActive) {\n return \"active\";\n }\n return state;\n};\n\nconst useCheckWithinSteppedTracker = (isWithinSteppedTracker: boolean) => {\n useEffect(() => {\n if (process.env.NODE_ENV !== \"production\") {\n if (!isWithinSteppedTracker) {\n console.error(\n \"The TrackerStep component must be placed within a SteppedTracker component\"\n );\n }\n }\n }, [isWithinSteppedTracker]);\n};\n\nexport const TrackerStep = forwardRef<HTMLLIElement, TrackerStepProps>(\n function TrackerStep(props, ref) {\n const {\n state = \"default\",\n style,\n className,\n children,\n ...restProps\n } = props;\n\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-tracker-step\",\n css: trackerStepCss,\n window: targetWindow,\n });\n\n const { activeStep, totalSteps, isWithinSteppedTracker } =\n useSteppedTrackerContext();\n const stepNumber = useTrackerStepContext();\n\n useCheckWithinSteppedTracker(isWithinSteppedTracker);\n\n const isActive = activeStep === stepNumber;\n const Icon = getStateIcon({ isActive, state });\n const resolvedState = getState({ isActive, state });\n const connectorState = activeStep > stepNumber ? \"active\" : \"default\";\n const hasConnector = stepNumber < totalSteps - 1;\n\n const innerStyle = {\n ...style,\n \"--saltTrackerStep-width\": `${100 / totalSteps}%`,\n };\n\n return (\n <li\n className={clsx(withBaseName(), withBaseName(resolvedState), className)}\n style={innerStyle}\n aria-current={isActive ? \"step\" : undefined}\n data-state={state}\n ref={ref}\n {...restProps}\n >\n <Icon />\n {hasConnector && <TrackerConnector state={connectorState} />}\n <div className={withBaseName(\"body\")}>{children}</div>\n </li>\n );\n }\n);\n"],"names":["makePrefixer","StepDefaultIcon","StepSuccessIcon","StepActiveIcon","useEffect","forwardRef","TrackerStep","useWindow","useComponentCssInjection","trackerStepCss","useSteppedTrackerContext","useTrackerStepContext","jsxs","clsx","jsx","TrackerConnector"],"mappings":"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"}
1
+ {"version":3,"file":"TrackerStep.js","sources":["../src/stepped-tracker/TrackerStep/TrackerStep.tsx"],"sourcesContent":["import { makePrefixer } from \"@salt-ds/core\";\nimport {\n StepActiveIcon,\n StepDefaultIcon,\n StepSuccessIcon,\n} from \"@salt-ds/icons\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { clsx } from \"clsx\";\nimport { type ComponentPropsWithoutRef, forwardRef, useEffect } from \"react\";\nimport { TrackerConnector } from \"../TrackerConnector\";\n\nimport {\n useSteppedTrackerContext,\n useTrackerStepContext,\n} from \"../SteppedTrackerContext\";\n\nimport trackerStepCss from \"./TrackerStep.css\";\n\nconst withBaseName = makePrefixer(\"saltTrackerStep\");\n\ntype State = \"default\" | \"completed\";\n\ntype StateWithActive = State | \"active\";\n\nexport interface TrackerStepProps extends ComponentPropsWithoutRef<\"li\"> {\n /**\n * The state of the TrackerStep\n */\n state?: State;\n}\n\nconst iconMap = {\n default: StepDefaultIcon,\n completed: StepSuccessIcon,\n};\n\nconst getStateIcon = ({\n isActive,\n state,\n}: {\n isActive: boolean;\n state: State;\n}) => {\n if (state === \"default\" && isActive) {\n return StepActiveIcon;\n }\n return iconMap[state];\n};\n\nconst getState = ({\n isActive,\n state,\n}: {\n isActive: boolean;\n state: State;\n}): StateWithActive => {\n if (state === \"default\" && isActive) {\n return \"active\";\n }\n return state;\n};\n\nconst useCheckWithinSteppedTracker = (isWithinSteppedTracker: boolean) => {\n useEffect(() => {\n if (process.env.NODE_ENV !== \"production\") {\n if (!isWithinSteppedTracker) {\n console.error(\n \"The TrackerStep component must be placed within a SteppedTracker component\",\n );\n }\n }\n }, [isWithinSteppedTracker]);\n};\n\nexport const TrackerStep = forwardRef<HTMLLIElement, TrackerStepProps>(\n function TrackerStep(props, ref) {\n const {\n state = \"default\",\n style,\n className,\n children,\n ...restProps\n } = props;\n\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-tracker-step\",\n css: trackerStepCss,\n window: targetWindow,\n });\n\n const { activeStep, totalSteps, isWithinSteppedTracker } =\n useSteppedTrackerContext();\n const stepNumber = useTrackerStepContext();\n\n useCheckWithinSteppedTracker(isWithinSteppedTracker);\n\n const isActive = activeStep === stepNumber;\n const Icon = getStateIcon({ isActive, state });\n const resolvedState = getState({ isActive, state });\n const connectorState = activeStep > stepNumber ? \"active\" : \"default\";\n const hasConnector = stepNumber < totalSteps - 1;\n\n const innerStyle = {\n ...style,\n \"--saltTrackerStep-width\": `${100 / totalSteps}%`,\n };\n\n return (\n <li\n className={clsx(withBaseName(), withBaseName(resolvedState), className)}\n style={innerStyle}\n aria-current={isActive ? \"step\" : undefined}\n data-state={state}\n ref={ref}\n {...restProps}\n >\n <Icon />\n {hasConnector && <TrackerConnector state={connectorState} />}\n <div className={withBaseName(\"body\")}>{children}</div>\n </li>\n );\n },\n);\n"],"names":["makePrefixer","StepDefaultIcon","StepSuccessIcon","StepActiveIcon","useEffect","forwardRef","TrackerStep","useWindow","useComponentCssInjection","trackerStepCss","useSteppedTrackerContext","useTrackerStepContext","jsxs","clsx","jsx","TrackerConnector"],"mappings":"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"}
@@ -3,12 +3,12 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var jsxRuntime = require('react/jsx-runtime');
6
- var clsx = require('clsx');
7
- var React = require('react');
8
6
  var core = require('@salt-ds/core');
7
+ var icons = require('@salt-ds/icons');
9
8
  var styles = require('@salt-ds/styles');
10
9
  var window = require('@salt-ds/window');
11
- var icons = require('@salt-ds/icons');
10
+ var clsx = require('clsx');
11
+ var React = require('react');
12
12
  var useStepperInput = require('./useStepperInput.js');
13
13
  var StepperInput$1 = require('./StepperInput.css.js');
14
14
 
@@ -1 +1 @@
1
- {"version":3,"file":"StepperInput.js","sources":["../src/stepper-input/StepperInput.tsx"],"sourcesContent":["import { clsx } from \"clsx\";\nimport { FocusEventHandler, forwardRef, useRef } from \"react\";\nimport { Button, makePrefixer, Input, InputProps } from \"@salt-ds/core\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { TriangleDownIcon, TriangleUpIcon } from \"@salt-ds/icons\";\nimport { useStepperInput } from \"./useStepperInput\";\n\nimport stepperInputCss from \"./StepperInput.css\";\n\nconst withBaseName = makePrefixer(\"saltStepperInput\");\n\nexport interface StepperInputProps\n extends Omit<InputProps, \"onChange\" | \"emptyReadOnlyMarker\"> {\n /**\n * A multiplier applied to the `step` when the value is incremented or decremented using the PageDown/PageUp keys.\n */\n block?: number;\n /**\n * The number of decimal places to display.\n */\n decimalPlaces?: number;\n /**\n * Sets the initial default value of the component.\n */\n defaultValue?: number;\n /**\n * The maximum value that can be selected.\n */\n max?: number;\n /**\n * The minimum value that can be selected.\n */\n min?: number;\n /**\n * Whether to hide the stepper buttons. Defaults to `false`.\n */\n hideButtons?: boolean;\n /**\n * Callback when stepper input loses focus.\n */\n onBlur?: FocusEventHandler<HTMLInputElement>;\n /**\n * Callback when stepper input value is changed.\n */\n onChange?: (changedValue: number | string) => void;\n /**\n * Callback when stepper input gains focus.\n */\n onFocus?: FocusEventHandler<HTMLInputElement>;\n /**\n * The amount to increment or decrement the value by when using the stepper buttons or Up Arrow and Down Arrow keys.\n */\n step?: number;\n /**\n * Determines the text alignment of the display value.\n */\n textAlign?: \"center\" | \"left\" | \"right\";\n /**\n * The value of the stepper input. The component will be controlled if this prop is provided.\n */\n value?: number | string;\n}\n\nexport const StepperInput = forwardRef<HTMLDivElement, StepperInputProps>(\n function StepperInput(props, ref) {\n const {\n className,\n hideButtons,\n onBlur,\n onChange,\n onFocus,\n readOnly,\n ...rest\n } = props;\n\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-stepper-input\",\n css: stepperInputCss,\n window: targetWindow,\n });\n\n const inputRef = useRef<HTMLInputElement | null>(null);\n\n const { getButtonProps, getInputProps } = useStepperInput(props, inputRef);\n\n return (\n <div className={clsx(withBaseName(), className)} ref={ref}>\n <Input\n onBlur={onBlur}\n onFocus={onFocus}\n ref={inputRef}\n readOnly={readOnly}\n {...getInputProps(rest)}\n />\n {!hideButtons && !readOnly && (\n <div className={withBaseName(\"buttonContainer\")}>\n <Button\n aria-label=\"increment value\"\n className={withBaseName(\"stepperButton\")}\n {...getButtonProps(\"increment\")}\n >\n <TriangleUpIcon aria-hidden />\n </Button>\n <Button\n aria-label=\"decrement value\"\n className={withBaseName(\"stepperButton\")}\n {...getButtonProps(\"decrement\")}\n >\n <TriangleDownIcon aria-hidden />\n </Button>\n </div>\n )}\n </div>\n );\n }\n);\n"],"names":["makePrefixer","forwardRef","StepperInput","useWindow","useComponentCssInjection","stepperInputCss","useRef","useStepperInput","jsxs","clsx","jsx","Input","Button","TriangleUpIcon","TriangleDownIcon"],"mappings":";;;;;;;;;;;;;;AAUA,MAAM,YAAA,GAAeA,kBAAa,kBAAkB,CAAA,CAAA;AAsD7C,MAAM,YAAe,GAAAC,gBAAA;AAAA,EAC1B,SAASC,aAAa,CAAA,KAAA,EAAO,GAAK,EAAA;AAChC,IAAM,MAAA;AAAA,MACJ,SAAA;AAAA,MACA,WAAA;AAAA,MACA,MAAA;AAAA,MACA,QAAA;AAAA,MACA,OAAA;AAAA,MACA,QAAA;AAAA,MACG,GAAA,IAAA;AAAA,KACD,GAAA,KAAA,CAAA;AAEJ,IAAA,MAAM,eAAeC,gBAAU,EAAA,CAAA;AAC/B,IAAyBC,+BAAA,CAAA;AAAA,MACvB,MAAQ,EAAA,oBAAA;AAAA,MACR,GAAK,EAAAC,cAAA;AAAA,MACL,MAAQ,EAAA,YAAA;AAAA,KACT,CAAA,CAAA;AAED,IAAM,MAAA,QAAA,GAAWC,aAAgC,IAAI,CAAA,CAAA;AAErD,IAAA,MAAM,EAAE,cAAgB,EAAA,aAAA,EAAkB,GAAAC,+BAAA,CAAgB,OAAO,QAAQ,CAAA,CAAA;AAEzE,IAAA,uBACGC,eAAA,CAAA,KAAA,EAAA;AAAA,MAAI,SAAW,EAAAC,SAAA,CAAK,YAAa,EAAA,EAAG,SAAS,CAAA;AAAA,MAAG,GAAA;AAAA,MAC/C,QAAA,EAAA;AAAA,wBAACC,cAAA,CAAAC,UAAA,EAAA;AAAA,UACC,MAAA;AAAA,UACA,OAAA;AAAA,UACA,GAAK,EAAA,QAAA;AAAA,UACL,QAAA;AAAA,UACC,GAAG,cAAc,IAAI,CAAA;AAAA,SACxB,CAAA;AAAA,QACC,CAAC,WAAA,IAAe,CAAC,QAAA,oBACfH,eAAA,CAAA,KAAA,EAAA;AAAA,UAAI,SAAA,EAAW,aAAa,iBAAiB,CAAA;AAAA,UAC5C,QAAA,EAAA;AAAA,4BAACE,cAAA,CAAAE,WAAA,EAAA;AAAA,cACC,YAAW,EAAA,iBAAA;AAAA,cACX,SAAA,EAAW,aAAa,eAAe,CAAA;AAAA,cACtC,GAAG,eAAe,WAAW,CAAA;AAAA,cAE9B,QAAC,kBAAAF,cAAA,CAAAG,oBAAA,EAAA;AAAA,gBAAe,aAAW,EAAA,IAAA;AAAA,eAAC,CAAA;AAAA,aAC9B,CAAA;AAAA,4BACCH,cAAA,CAAAE,WAAA,EAAA;AAAA,cACC,YAAW,EAAA,iBAAA;AAAA,cACX,SAAA,EAAW,aAAa,eAAe,CAAA;AAAA,cACtC,GAAG,eAAe,WAAW,CAAA;AAAA,cAE9B,QAAC,kBAAAF,cAAA,CAAAI,sBAAA,EAAA;AAAA,gBAAiB,aAAW,EAAA,IAAA;AAAA,eAAC,CAAA;AAAA,aAChC,CAAA;AAAA,WAAA;AAAA,SACF,CAAA;AAAA,OAAA;AAAA,KAEJ,CAAA,CAAA;AAAA,GAEJ;AACF;;;;"}
1
+ {"version":3,"file":"StepperInput.js","sources":["../src/stepper-input/StepperInput.tsx"],"sourcesContent":["import { Button, Input, type InputProps, makePrefixer } from \"@salt-ds/core\";\nimport { TriangleDownIcon, TriangleUpIcon } from \"@salt-ds/icons\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { clsx } from \"clsx\";\nimport { type FocusEventHandler, forwardRef, useRef } from \"react\";\nimport { useStepperInput } from \"./useStepperInput\";\n\nimport stepperInputCss from \"./StepperInput.css\";\n\nconst withBaseName = makePrefixer(\"saltStepperInput\");\n\nexport interface StepperInputProps\n extends Omit<InputProps, \"onChange\" | \"emptyReadOnlyMarker\"> {\n /**\n * A multiplier applied to the `step` when the value is incremented or decremented using the PageDown/PageUp keys.\n */\n block?: number;\n /**\n * The number of decimal places to display.\n */\n decimalPlaces?: number;\n /**\n * Sets the initial default value of the component.\n */\n defaultValue?: number;\n /**\n * The maximum value that can be selected.\n */\n max?: number;\n /**\n * The minimum value that can be selected.\n */\n min?: number;\n /**\n * Whether to hide the stepper buttons. Defaults to `false`.\n */\n hideButtons?: boolean;\n /**\n * Callback when stepper input loses focus.\n */\n onBlur?: FocusEventHandler<HTMLInputElement>;\n /**\n * Callback when stepper input value is changed.\n */\n onChange?: (changedValue: number | string) => void;\n /**\n * Callback when stepper input gains focus.\n */\n onFocus?: FocusEventHandler<HTMLInputElement>;\n /**\n * The amount to increment or decrement the value by when using the stepper buttons or Up Arrow and Down Arrow keys.\n */\n step?: number;\n /**\n * Determines the text alignment of the display value.\n */\n textAlign?: \"center\" | \"left\" | \"right\";\n /**\n * The value of the stepper input. The component will be controlled if this prop is provided.\n */\n value?: number | string;\n}\n\nexport const StepperInput = forwardRef<HTMLDivElement, StepperInputProps>(\n function StepperInput(props, ref) {\n const {\n className,\n hideButtons,\n onBlur,\n onChange,\n onFocus,\n readOnly,\n ...rest\n } = props;\n\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-stepper-input\",\n css: stepperInputCss,\n window: targetWindow,\n });\n\n const inputRef = useRef<HTMLInputElement | null>(null);\n\n const { getButtonProps, getInputProps } = useStepperInput(props, inputRef);\n\n return (\n <div className={clsx(withBaseName(), className)} ref={ref}>\n <Input\n onBlur={onBlur}\n onFocus={onFocus}\n ref={inputRef}\n readOnly={readOnly}\n {...getInputProps(rest)}\n />\n {!hideButtons && !readOnly && (\n <div className={withBaseName(\"buttonContainer\")}>\n <Button\n aria-label=\"increment value\"\n className={withBaseName(\"stepperButton\")}\n {...getButtonProps(\"increment\")}\n >\n <TriangleUpIcon aria-hidden />\n </Button>\n <Button\n aria-label=\"decrement value\"\n className={withBaseName(\"stepperButton\")}\n {...getButtonProps(\"decrement\")}\n >\n <TriangleDownIcon aria-hidden />\n </Button>\n </div>\n )}\n </div>\n );\n },\n);\n"],"names":["makePrefixer","forwardRef","StepperInput","useWindow","useComponentCssInjection","stepperInputCss","useRef","useStepperInput","jsxs","clsx","jsx","Input","Button","TriangleUpIcon","TriangleDownIcon"],"mappings":";;;;;;;;;;;;;;AAUA,MAAM,YAAA,GAAeA,kBAAa,kBAAkB,CAAA,CAAA;AAsD7C,MAAM,YAAe,GAAAC,gBAAA;AAAA,EAC1B,SAASC,aAAa,CAAA,KAAA,EAAO,GAAK,EAAA;AAChC,IAAM,MAAA;AAAA,MACJ,SAAA;AAAA,MACA,WAAA;AAAA,MACA,MAAA;AAAA,MACA,QAAA;AAAA,MACA,OAAA;AAAA,MACA,QAAA;AAAA,MACG,GAAA,IAAA;AAAA,KACD,GAAA,KAAA,CAAA;AAEJ,IAAA,MAAM,eAAeC,gBAAU,EAAA,CAAA;AAC/B,IAAyBC,+BAAA,CAAA;AAAA,MACvB,MAAQ,EAAA,oBAAA;AAAA,MACR,GAAK,EAAAC,cAAA;AAAA,MACL,MAAQ,EAAA,YAAA;AAAA,KACT,CAAA,CAAA;AAED,IAAM,MAAA,QAAA,GAAWC,aAAgC,IAAI,CAAA,CAAA;AAErD,IAAA,MAAM,EAAE,cAAgB,EAAA,aAAA,EAAkB,GAAAC,+BAAA,CAAgB,OAAO,QAAQ,CAAA,CAAA;AAEzE,IAAA,uBACGC,eAAA,CAAA,KAAA,EAAA;AAAA,MAAI,SAAW,EAAAC,SAAA,CAAK,YAAa,EAAA,EAAG,SAAS,CAAA;AAAA,MAAG,GAAA;AAAA,MAC/C,QAAA,EAAA;AAAA,wBAACC,cAAA,CAAAC,UAAA,EAAA;AAAA,UACC,MAAA;AAAA,UACA,OAAA;AAAA,UACA,GAAK,EAAA,QAAA;AAAA,UACL,QAAA;AAAA,UACC,GAAG,cAAc,IAAI,CAAA;AAAA,SACxB,CAAA;AAAA,QACC,CAAC,WAAA,IAAe,CAAC,QAAA,oBACfH,eAAA,CAAA,KAAA,EAAA;AAAA,UAAI,SAAA,EAAW,aAAa,iBAAiB,CAAA;AAAA,UAC5C,QAAA,EAAA;AAAA,4BAACE,cAAA,CAAAE,WAAA,EAAA;AAAA,cACC,YAAW,EAAA,iBAAA;AAAA,cACX,SAAA,EAAW,aAAa,eAAe,CAAA;AAAA,cACtC,GAAG,eAAe,WAAW,CAAA;AAAA,cAE9B,QAAC,kBAAAF,cAAA,CAAAG,oBAAA,EAAA;AAAA,gBAAe,aAAW,EAAA,IAAA;AAAA,eAAC,CAAA;AAAA,aAC9B,CAAA;AAAA,4BACCH,cAAA,CAAAE,WAAA,EAAA;AAAA,cACC,YAAW,EAAA,iBAAA;AAAA,cACX,SAAA,EAAW,aAAa,eAAe,CAAA;AAAA,cACtC,GAAG,eAAe,WAAW,CAAA;AAAA,cAE9B,QAAC,kBAAAF,cAAA,CAAAI,sBAAA,EAAA;AAAA,gBAAiB,aAAW,EAAA,IAAA;AAAA,eAAC,CAAA;AAAA,aAChC,CAAA;AAAA,WAAA;AAAA,SACF,CAAA;AAAA,OAAA;AAAA,KAEJ,CAAA,CAAA;AAAA,GAEJ;AACF;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"useInterval.js","sources":["../src/stepper-input/internal/useInterval.ts"],"sourcesContent":["import { useEffect, useRef } from \"react\";\n\ntype IntervalFunction = () => unknown | void;\n\n// https://gist.github.com/iamBevan/171cce94431b8c95206086252ce0c6c7\nfunction useInterval(callback: IntervalFunction, delay: number | null) {\n const savedCallback = useRef<IntervalFunction | null>(null);\n\n useEffect(() => {\n savedCallback.current = callback;\n });\n\n useEffect(() => {\n function tick() {\n if (savedCallback.current !== null) {\n savedCallback.current();\n }\n }\n\n if (delay !== null) {\n const id = setInterval(tick, delay);\n return () => clearInterval(id);\n }\n return;\n }, [delay]);\n}\n\nexport { useInterval };\n"],"names":["useRef","useEffect"],"mappings":";;;;;;AAKA,SAAS,WAAA,CAAY,UAA4B,KAAsB,EAAA;AACrE,EAAM,MAAA,aAAA,GAAgBA,aAAgC,IAAI,CAAA,CAAA;AAE1D,EAAAC,eAAA,CAAU,MAAM;AACd,IAAA,aAAA,CAAc,OAAU,GAAA,QAAA,CAAA;AAAA,GACzB,CAAA,CAAA;AAED,EAAAA,eAAA,CAAU,MAAM;AACd,IAAA,SAAS,IAAO,GAAA;AACd,MAAI,IAAA,aAAA,CAAc,YAAY,IAAM,EAAA;AAClC,QAAA,aAAA,CAAc,OAAQ,EAAA,CAAA;AAAA,OACxB;AAAA,KACF;AAEA,IAAA,IAAI,UAAU,IAAM,EAAA;AAClB,MAAM,MAAA,EAAA,GAAK,WAAY,CAAA,IAAA,EAAM,KAAK,CAAA,CAAA;AAClC,MAAO,OAAA,MAAM,cAAc,EAAE,CAAA,CAAA;AAAA,KAC/B;AACA,IAAA,OAAA;AAAA,GACF,EAAG,CAAC,KAAK,CAAC,CAAA,CAAA;AACZ;;;;"}
1
+ {"version":3,"file":"useInterval.js","sources":["../src/stepper-input/internal/useInterval.ts"],"sourcesContent":["import { useEffect, useRef } from \"react\";\n\ntype IntervalFunction = () => void;\n\n// https://gist.github.com/iamBevan/171cce94431b8c95206086252ce0c6c7\nfunction useInterval(callback: IntervalFunction, delay: number | null) {\n const savedCallback = useRef<IntervalFunction | null>(null);\n\n useEffect(() => {\n savedCallback.current = callback;\n });\n\n useEffect(() => {\n function tick() {\n if (savedCallback.current !== null) {\n savedCallback.current();\n }\n }\n\n if (delay !== null) {\n const id = setInterval(tick, delay);\n return () => clearInterval(id);\n }\n return;\n }, [delay]);\n}\n\nexport { useInterval };\n"],"names":["useRef","useEffect"],"mappings":";;;;;;AAKA,SAAS,WAAA,CAAY,UAA4B,KAAsB,EAAA;AACrE,EAAM,MAAA,aAAA,GAAgBA,aAAgC,IAAI,CAAA,CAAA;AAE1D,EAAAC,eAAA,CAAU,MAAM;AACd,IAAA,aAAA,CAAc,OAAU,GAAA,QAAA,CAAA;AAAA,GACzB,CAAA,CAAA;AAED,EAAAA,eAAA,CAAU,MAAM;AACd,IAAA,SAAS,IAAO,GAAA;AACd,MAAI,IAAA,aAAA,CAAc,YAAY,IAAM,EAAA;AAClC,QAAA,aAAA,CAAc,OAAQ,EAAA,CAAA;AAAA,OACxB;AAAA,KACF;AAEA,IAAA,IAAI,UAAU,IAAM,EAAA;AAClB,MAAM,MAAA,EAAA,GAAK,WAAY,CAAA,IAAA,EAAM,KAAK,CAAA,CAAA;AAClC,MAAO,OAAA,MAAM,cAAc,EAAE,CAAA,CAAA;AAAA,KAC/B;AACA,IAAA,OAAA;AAAA,GACF,EAAG,CAAC,KAAK,CAAC,CAAA,CAAA;AACZ;;;;"}
@@ -8,12 +8,12 @@ var useInterval = require('./useInterval.js');
8
8
  const INTERVAL_DELAY = 300;
9
9
  function useSpinner(activationFn, isAtLimit) {
10
10
  const [buttonDown, setButtonDown] = React.useState(false);
11
- const cancelInterval = () => setButtonDown(false);
12
11
  React.useEffect(() => {
13
12
  if (isAtLimit)
14
13
  setButtonDown(false);
15
14
  }, [isAtLimit]);
16
15
  React.useEffect(() => {
16
+ const cancelInterval = () => setButtonDown(false);
17
17
  window.addEventListener("keyup", cancelInterval);
18
18
  window.addEventListener("mouseup", cancelInterval);
19
19
  return () => {
@@ -1 +1 @@
1
- {"version":3,"file":"useSpinner.js","sources":["../src/stepper-input/internal/useSpinner.ts"],"sourcesContent":["import { useEffect, useState } from \"react\";\n\nimport { useInterval } from \"./useInterval\";\n\nconst INTERVAL_DELAY = 300;\n\nfunction useSpinner(activationFn: () => void, isAtLimit: boolean) {\n const [buttonDown, setButtonDown] = useState(false);\n\n const cancelInterval = () => setButtonDown(false);\n\n useEffect(() => {\n if (isAtLimit) setButtonDown(false);\n }, [isAtLimit]);\n\n useEffect(() => {\n window.addEventListener(\"keyup\", cancelInterval);\n window.addEventListener(\"mouseup\", cancelInterval);\n return () => {\n window.removeEventListener(\"keyup\", cancelInterval);\n window.removeEventListener(\"mouseup\", cancelInterval);\n };\n }, []);\n\n const activate = () => {\n activationFn();\n setButtonDown(true);\n };\n\n useInterval(activationFn, buttonDown ? INTERVAL_DELAY : null);\n\n return { activate, buttonDown };\n}\n\nexport { useSpinner };\n"],"names":["useState","useEffect","useInterval"],"mappings":";;;;;;;AAIA,MAAM,cAAiB,GAAA,GAAA,CAAA;AAEvB,SAAS,UAAA,CAAW,cAA0B,SAAoB,EAAA;AAChE,EAAA,MAAM,CAAC,UAAA,EAAY,aAAa,CAAA,GAAIA,eAAS,KAAK,CAAA,CAAA;AAElD,EAAM,MAAA,cAAA,GAAiB,MAAM,aAAA,CAAc,KAAK,CAAA,CAAA;AAEhD,EAAAC,eAAA,CAAU,MAAM;AACd,IAAI,IAAA,SAAA;AAAW,MAAA,aAAA,CAAc,KAAK,CAAA,CAAA;AAAA,GACpC,EAAG,CAAC,SAAS,CAAC,CAAA,CAAA;AAEd,EAAAA,eAAA,CAAU,MAAM;AACd,IAAO,MAAA,CAAA,gBAAA,CAAiB,SAAS,cAAc,CAAA,CAAA;AAC/C,IAAO,MAAA,CAAA,gBAAA,CAAiB,WAAW,cAAc,CAAA,CAAA;AACjD,IAAA,OAAO,MAAM;AACX,MAAO,MAAA,CAAA,mBAAA,CAAoB,SAAS,cAAc,CAAA,CAAA;AAClD,MAAO,MAAA,CAAA,mBAAA,CAAoB,WAAW,cAAc,CAAA,CAAA;AAAA,KACtD,CAAA;AAAA,GACF,EAAG,EAAE,CAAA,CAAA;AAEL,EAAA,MAAM,WAAW,MAAM;AACrB,IAAa,YAAA,EAAA,CAAA;AACb,IAAA,aAAA,CAAc,IAAI,CAAA,CAAA;AAAA,GACpB,CAAA;AAEA,EAAYC,uBAAA,CAAA,YAAA,EAAc,UAAa,GAAA,cAAA,GAAiB,IAAI,CAAA,CAAA;AAE5D,EAAO,OAAA,EAAE,UAAU,UAAW,EAAA,CAAA;AAChC;;;;"}
1
+ {"version":3,"file":"useSpinner.js","sources":["../src/stepper-input/internal/useSpinner.ts"],"sourcesContent":["import { useEffect, useState } from \"react\";\n\nimport { useInterval } from \"./useInterval\";\n\nconst INTERVAL_DELAY = 300;\n\nfunction useSpinner(activationFn: () => void, isAtLimit: boolean) {\n const [buttonDown, setButtonDown] = useState(false);\n\n useEffect(() => {\n if (isAtLimit) setButtonDown(false);\n }, [isAtLimit]);\n\n useEffect(() => {\n const cancelInterval = () => setButtonDown(false);\n\n window.addEventListener(\"keyup\", cancelInterval);\n window.addEventListener(\"mouseup\", cancelInterval);\n return () => {\n window.removeEventListener(\"keyup\", cancelInterval);\n window.removeEventListener(\"mouseup\", cancelInterval);\n };\n }, []);\n\n const activate = () => {\n activationFn();\n setButtonDown(true);\n };\n\n useInterval(activationFn, buttonDown ? INTERVAL_DELAY : null);\n\n return { activate, buttonDown };\n}\n\nexport { useSpinner };\n"],"names":["useState","useEffect","useInterval"],"mappings":";;;;;;;AAIA,MAAM,cAAiB,GAAA,GAAA,CAAA;AAEvB,SAAS,UAAA,CAAW,cAA0B,SAAoB,EAAA;AAChE,EAAA,MAAM,CAAC,UAAA,EAAY,aAAa,CAAA,GAAIA,eAAS,KAAK,CAAA,CAAA;AAElD,EAAAC,eAAA,CAAU,MAAM;AACd,IAAI,IAAA,SAAA;AAAW,MAAA,aAAA,CAAc,KAAK,CAAA,CAAA;AAAA,GACpC,EAAG,CAAC,SAAS,CAAC,CAAA,CAAA;AAEd,EAAAA,eAAA,CAAU,MAAM;AACd,IAAM,MAAA,cAAA,GAAiB,MAAM,aAAA,CAAc,KAAK,CAAA,CAAA;AAEhD,IAAO,MAAA,CAAA,gBAAA,CAAiB,SAAS,cAAc,CAAA,CAAA;AAC/C,IAAO,MAAA,CAAA,gBAAA,CAAiB,WAAW,cAAc,CAAA,CAAA;AACjD,IAAA,OAAO,MAAM;AACX,MAAO,MAAA,CAAA,mBAAA,CAAoB,SAAS,cAAc,CAAA,CAAA;AAClD,MAAO,MAAA,CAAA,mBAAA,CAAoB,WAAW,cAAc,CAAA,CAAA;AAAA,KACtD,CAAA;AAAA,GACF,EAAG,EAAE,CAAA,CAAA;AAEL,EAAA,MAAM,WAAW,MAAM;AACrB,IAAa,YAAA,EAAA,CAAA;AACb,IAAA,aAAA,CAAc,IAAI,CAAA,CAAA;AAAA,GACpB,CAAA;AAEA,EAAYC,uBAAA,CAAA,YAAA,EAAc,UAAa,GAAA,cAAA,GAAiB,IAAI,CAAA,CAAA;AAE5D,EAAO,OAAA,EAAE,UAAU,UAAW,EAAA,CAAA;AAChC;;;;"}
@@ -6,7 +6,7 @@ var core = require('@salt-ds/core');
6
6
  var useSpinner = require('./internal/useSpinner.js');
7
7
 
8
8
  const ACCEPT_INPUT = /^[-+]?[0-9]*\.?([0-9]+)?/g;
9
- const callAll = (...fns) => (...args) => fns.forEach((fn) => fn && fn(...args));
9
+ const callAll = (...fns) => (...args) => fns.forEach((fn) => fn == null ? void 0 : fn(...args));
10
10
  const toFixedDecimalPlaces = (inputNumber, decimalPlaces) => inputNumber.toFixed(decimalPlaces);
11
11
  const isAllowedNonNumeric = (inputCharacter) => {
12
12
  if (typeof inputCharacter === "number")
@@ -16,7 +16,7 @@ const isAllowedNonNumeric = (inputCharacter) => {
16
16
  const toFloat = (inputValue) => {
17
17
  if (isAllowedNonNumeric(inputValue))
18
18
  return 0;
19
- return parseFloat(inputValue.toString());
19
+ return Number.parseFloat(inputValue.toString());
20
20
  };
21
21
  const sanitizedInput = (numberString) => (numberString.match(ACCEPT_INPUT) || []).join("");
22
22
  const useStepperInput = (props, inputRef) => {
@@ -93,7 +93,7 @@ const useStepperInput = (props, inputRef) => {
93
93
  if (nextValue > max)
94
94
  nextValue = max;
95
95
  const roundedValue = toFixedDecimalPlaces(nextValue, decimalPlaces);
96
- if (isNaN(toFloat(roundedValue)))
96
+ if (Number.isNaN(toFloat(roundedValue)))
97
97
  return;
98
98
  if (!isControlled) {
99
99
  setCurrentValue(roundedValue);
@@ -1 +1 @@
1
- {"version":3,"file":"useStepperInput.js","sources":["../src/stepper-input/useStepperInput.ts"],"sourcesContent":["import {\n ChangeEvent,\n KeyboardEvent,\n MouseEvent,\n MutableRefObject,\n} from \"react\";\nimport { useControlled, useId, InputProps } from \"@salt-ds/core\";\nimport { useSpinner } from \"./internal/useSpinner\";\nimport { StepperInputProps } from \"./StepperInput\";\n\n// The input should only accept numbers, decimal points, and plus/minus symbols\nconst ACCEPT_INPUT = /^[-+]?[0-9]*\\.?([0-9]+)?/g;\n\nconst callAll =\n (...fns: any[]) =>\n (...args: any[]) =>\n fns.forEach((fn) => fn && fn(...args));\n\nconst toFixedDecimalPlaces = (inputNumber: number, decimalPlaces: number) =>\n inputNumber.toFixed(decimalPlaces);\n\nconst isAllowedNonNumeric = (inputCharacter: number | string) => {\n if (typeof inputCharacter === \"number\") return;\n return (\n (\"-+\".includes(inputCharacter) && inputCharacter.length === 1) ||\n inputCharacter === \"\"\n );\n};\n\nconst toFloat = (inputValue: number | string) => {\n // Plus, minus, and empty characters are treated as 0\n if (isAllowedNonNumeric(inputValue)) return 0;\n return parseFloat(inputValue.toString());\n};\n\nconst sanitizedInput = (numberString: string) =>\n (numberString.match(ACCEPT_INPUT) || []).join(\"\");\n\nexport const useStepperInput = (\n props: StepperInputProps,\n inputRef: MutableRefObject<HTMLInputElement | null>\n) => {\n const {\n block = 10,\n decimalPlaces = 0,\n defaultValue = 0,\n id: idProp,\n max = Number.MAX_SAFE_INTEGER,\n min = Number.MIN_SAFE_INTEGER,\n onChange,\n step = 1,\n value,\n } = props;\n\n const [currentValue, setCurrentValue, isControlled] = useControlled({\n controlled: value,\n default: toFixedDecimalPlaces(defaultValue, decimalPlaces),\n name: \"stepper-input\",\n });\n const inputId = useId(idProp);\n\n const isOutOfRange = () => {\n if (currentValue === undefined) return true;\n return toFloat(currentValue) > max || toFloat(currentValue) < min;\n };\n\n const isAtMax = () => {\n if (currentValue === undefined) return true;\n return toFloat(currentValue) >= max || (max === 0 && currentValue === \"\");\n };\n\n const isAtMin = () => {\n if (currentValue === undefined) return true;\n return toFloat(currentValue) <= min || (min === 0 && currentValue === \"\");\n };\n\n const decrement = () => {\n if (currentValue === undefined || isAtMin()) return;\n let nextValue = currentValue === \"\" ? -step : toFloat(currentValue) - step;\n\n // Set value to `max` if it's currently out of range\n if (max !== undefined && isOutOfRange()) nextValue = max;\n\n setNextValue(nextValue);\n };\n\n const decrementBlock = () => {\n if (currentValue === undefined || isAtMin()) return;\n let nextValue =\n currentValue === \"\"\n ? block * -step\n : toFloat(currentValue) - step * block;\n\n // Set value to `max` if it's currently out of range\n if (max !== undefined && isOutOfRange()) nextValue = max;\n\n setNextValue(nextValue);\n };\n\n const increment = () => {\n if (currentValue === undefined || isAtMax()) return;\n let nextValue = currentValue === \"\" ? step : toFloat(currentValue) + step;\n\n // Set value to `min` if it's currently out of range\n if (min !== undefined && isOutOfRange()) nextValue = min;\n\n setNextValue(nextValue);\n };\n\n const incrementBlock = () => {\n if (currentValue === undefined || isAtMax()) return;\n let nextValue =\n currentValue === \"\" ? block * step : toFloat(currentValue) + step * block;\n\n // Set value to `min` if it's currently out of range\n if (min !== undefined && isOutOfRange()) nextValue = min;\n\n setNextValue(nextValue);\n };\n\n const setNextValue = (modifiedValue: number) => {\n if (props.readOnly) return;\n let nextValue = modifiedValue;\n if (nextValue < min) nextValue = min;\n if (nextValue > max) nextValue = max;\n\n const roundedValue = toFixedDecimalPlaces(nextValue, decimalPlaces);\n if (isNaN(toFloat(roundedValue))) return;\n\n if (!isControlled) {\n setCurrentValue(roundedValue);\n }\n\n if (onChange) {\n onChange(roundedValue);\n }\n };\n\n const { activate: decrementSpinnerBlock, buttonDown: pgDnButtonDown } =\n useSpinner(decrementBlock, isAtMin());\n\n const { activate: decrementSpinner, buttonDown: arrowDownButtonDown } =\n useSpinner(decrement, isAtMin());\n\n const { activate: incrementSpinnerBlock, buttonDown: pgUpButtonDown } =\n useSpinner(incrementBlock, isAtMax());\n\n const { activate: incrementSpinner, buttonDown: arrowUpButtonDown } =\n useSpinner(increment, isAtMax());\n\n const handleInputBlur = () => {\n if (currentValue === undefined) return;\n\n const roundedValue = toFixedDecimalPlaces(\n toFloat(currentValue),\n decimalPlaces\n );\n\n if (\n currentValue !== \"\" &&\n !isAllowedNonNumeric(currentValue) &&\n !isControlled\n ) {\n setCurrentValue(roundedValue);\n }\n\n if (onChange) {\n onChange(roundedValue);\n }\n };\n\n const handleInputChange = (event: ChangeEvent<HTMLInputElement>) => {\n const changedValue = event.target.value;\n\n if (!isControlled) {\n setCurrentValue(sanitizedInput(changedValue));\n }\n\n if (onChange) {\n onChange(sanitizedInput(changedValue));\n }\n };\n\n const handleInputKeyDown = (event: KeyboardEvent) => {\n if ([\"ArrowUp\", \"ArrowDown\"].includes(event.key)) {\n event.preventDefault();\n event.key === \"ArrowUp\" ? incrementSpinner() : decrementSpinner();\n }\n if ([\"PageUp\", \"PageDown\"].includes(event.key)) {\n event.preventDefault();\n event.key === \"PageUp\"\n ? incrementSpinnerBlock()\n : decrementSpinnerBlock();\n }\n };\n\n const handleButtonMouseDown = (\n event: MouseEvent<HTMLButtonElement>,\n direction: string\n ) => {\n if (event.nativeEvent.button !== 0) return;\n direction === \"increment\" ? incrementSpinner() : decrementSpinner();\n };\n\n const handleButtonMouseUp = () => inputRef.current?.focus();\n\n const getButtonProps = (direction: string) => ({\n \"aria-hidden\": true,\n disabled:\n props.disabled || (direction === \"increment\" ? isAtMax() : isAtMin()),\n tabIndex: -1,\n onMouseDown: (event: MouseEvent<HTMLButtonElement>) =>\n handleButtonMouseDown(event, direction),\n onMouseUp: handleButtonMouseUp,\n });\n\n const getInputProps = (\n inputProps: InputProps = {}\n ): InputProps | undefined => {\n if (currentValue === undefined) return undefined;\n return {\n ...inputProps,\n inputProps: {\n role: \"spinbutton\",\n \"aria-invalid\": isOutOfRange(),\n \"aria-valuemax\": toFloat(toFixedDecimalPlaces(max, decimalPlaces)),\n \"aria-valuemin\": toFloat(toFixedDecimalPlaces(min, decimalPlaces)),\n \"aria-valuenow\": toFloat(\n toFixedDecimalPlaces(toFloat(currentValue), decimalPlaces)\n ),\n id: inputId,\n ...inputProps.inputProps,\n },\n onBlur: callAll(inputProps.onBlur, handleInputBlur),\n onChange: callAll(inputProps.onChange, handleInputChange),\n onFocus: inputProps.onFocus,\n onKeyDown: callAll(inputProps.onKeyDown, handleInputKeyDown),\n textAlign: inputProps.textAlign,\n value: String(currentValue),\n };\n };\n\n return {\n decrementButtonDown: arrowDownButtonDown || pgDnButtonDown,\n getButtonProps,\n getInputProps,\n incrementButtonDown: arrowUpButtonDown || pgUpButtonDown,\n };\n};\n"],"names":["useControlled","useId","useSpinner"],"mappings":"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"}
1
+ {"version":3,"file":"useStepperInput.js","sources":["../src/stepper-input/useStepperInput.ts"],"sourcesContent":["import { type InputProps, useControlled, useId } from \"@salt-ds/core\";\nimport type {\n ChangeEvent,\n KeyboardEvent,\n MouseEvent,\n MutableRefObject,\n} from \"react\";\nimport type { StepperInputProps } from \"./StepperInput\";\nimport { useSpinner } from \"./internal/useSpinner\";\n\n// The input should only accept numbers, decimal points, and plus/minus symbols\nconst ACCEPT_INPUT = /^[-+]?[0-9]*\\.?([0-9]+)?/g;\n\nconst callAll =\n (...fns: any[]) =>\n (...args: any[]) =>\n fns.forEach((fn) => fn?.(...args));\n\nconst toFixedDecimalPlaces = (inputNumber: number, decimalPlaces: number) =>\n inputNumber.toFixed(decimalPlaces);\n\nconst isAllowedNonNumeric = (inputCharacter: number | string) => {\n if (typeof inputCharacter === \"number\") return;\n return (\n (\"-+\".includes(inputCharacter) && inputCharacter.length === 1) ||\n inputCharacter === \"\"\n );\n};\n\nconst toFloat = (inputValue: number | string) => {\n // Plus, minus, and empty characters are treated as 0\n if (isAllowedNonNumeric(inputValue)) return 0;\n return Number.parseFloat(inputValue.toString());\n};\n\nconst sanitizedInput = (numberString: string) =>\n (numberString.match(ACCEPT_INPUT) || []).join(\"\");\n\nexport const useStepperInput = (\n props: StepperInputProps,\n inputRef: MutableRefObject<HTMLInputElement | null>,\n) => {\n const {\n block = 10,\n decimalPlaces = 0,\n defaultValue = 0,\n id: idProp,\n max = Number.MAX_SAFE_INTEGER,\n min = Number.MIN_SAFE_INTEGER,\n onChange,\n step = 1,\n value,\n } = props;\n\n const [currentValue, setCurrentValue, isControlled] = useControlled({\n controlled: value,\n default: toFixedDecimalPlaces(defaultValue, decimalPlaces),\n name: \"stepper-input\",\n });\n const inputId = useId(idProp);\n\n const isOutOfRange = () => {\n if (currentValue === undefined) return true;\n return toFloat(currentValue) > max || toFloat(currentValue) < min;\n };\n\n const isAtMax = () => {\n if (currentValue === undefined) return true;\n return toFloat(currentValue) >= max || (max === 0 && currentValue === \"\");\n };\n\n const isAtMin = () => {\n if (currentValue === undefined) return true;\n return toFloat(currentValue) <= min || (min === 0 && currentValue === \"\");\n };\n\n const decrement = () => {\n if (currentValue === undefined || isAtMin()) return;\n let nextValue = currentValue === \"\" ? -step : toFloat(currentValue) - step;\n\n // Set value to `max` if it's currently out of range\n if (max !== undefined && isOutOfRange()) nextValue = max;\n\n setNextValue(nextValue);\n };\n\n const decrementBlock = () => {\n if (currentValue === undefined || isAtMin()) return;\n let nextValue =\n currentValue === \"\"\n ? block * -step\n : toFloat(currentValue) - step * block;\n\n // Set value to `max` if it's currently out of range\n if (max !== undefined && isOutOfRange()) nextValue = max;\n\n setNextValue(nextValue);\n };\n\n const increment = () => {\n if (currentValue === undefined || isAtMax()) return;\n let nextValue = currentValue === \"\" ? step : toFloat(currentValue) + step;\n\n // Set value to `min` if it's currently out of range\n if (min !== undefined && isOutOfRange()) nextValue = min;\n\n setNextValue(nextValue);\n };\n\n const incrementBlock = () => {\n if (currentValue === undefined || isAtMax()) return;\n let nextValue =\n currentValue === \"\" ? block * step : toFloat(currentValue) + step * block;\n\n // Set value to `min` if it's currently out of range\n if (min !== undefined && isOutOfRange()) nextValue = min;\n\n setNextValue(nextValue);\n };\n\n const setNextValue = (modifiedValue: number) => {\n if (props.readOnly) return;\n let nextValue = modifiedValue;\n if (nextValue < min) nextValue = min;\n if (nextValue > max) nextValue = max;\n\n const roundedValue = toFixedDecimalPlaces(nextValue, decimalPlaces);\n if (Number.isNaN(toFloat(roundedValue))) return;\n\n if (!isControlled) {\n setCurrentValue(roundedValue);\n }\n\n if (onChange) {\n onChange(roundedValue);\n }\n };\n\n const { activate: decrementSpinnerBlock, buttonDown: pgDnButtonDown } =\n useSpinner(decrementBlock, isAtMin());\n\n const { activate: decrementSpinner, buttonDown: arrowDownButtonDown } =\n useSpinner(decrement, isAtMin());\n\n const { activate: incrementSpinnerBlock, buttonDown: pgUpButtonDown } =\n useSpinner(incrementBlock, isAtMax());\n\n const { activate: incrementSpinner, buttonDown: arrowUpButtonDown } =\n useSpinner(increment, isAtMax());\n\n const handleInputBlur = () => {\n if (currentValue === undefined) return;\n\n const roundedValue = toFixedDecimalPlaces(\n toFloat(currentValue),\n decimalPlaces,\n );\n\n if (\n currentValue !== \"\" &&\n !isAllowedNonNumeric(currentValue) &&\n !isControlled\n ) {\n setCurrentValue(roundedValue);\n }\n\n if (onChange) {\n onChange(roundedValue);\n }\n };\n\n const handleInputChange = (event: ChangeEvent<HTMLInputElement>) => {\n const changedValue = event.target.value;\n\n if (!isControlled) {\n setCurrentValue(sanitizedInput(changedValue));\n }\n\n if (onChange) {\n onChange(sanitizedInput(changedValue));\n }\n };\n\n const handleInputKeyDown = (event: KeyboardEvent) => {\n if ([\"ArrowUp\", \"ArrowDown\"].includes(event.key)) {\n event.preventDefault();\n event.key === \"ArrowUp\" ? incrementSpinner() : decrementSpinner();\n }\n if ([\"PageUp\", \"PageDown\"].includes(event.key)) {\n event.preventDefault();\n event.key === \"PageUp\"\n ? incrementSpinnerBlock()\n : decrementSpinnerBlock();\n }\n };\n\n const handleButtonMouseDown = (\n event: MouseEvent<HTMLButtonElement>,\n direction: string,\n ) => {\n if (event.nativeEvent.button !== 0) return;\n direction === \"increment\" ? incrementSpinner() : decrementSpinner();\n };\n\n const handleButtonMouseUp = () => inputRef.current?.focus();\n\n const getButtonProps = (direction: string) => ({\n \"aria-hidden\": true,\n disabled:\n props.disabled || (direction === \"increment\" ? isAtMax() : isAtMin()),\n tabIndex: -1,\n onMouseDown: (event: MouseEvent<HTMLButtonElement>) =>\n handleButtonMouseDown(event, direction),\n onMouseUp: handleButtonMouseUp,\n });\n\n const getInputProps = (\n inputProps: InputProps = {},\n ): InputProps | undefined => {\n if (currentValue === undefined) return undefined;\n return {\n ...inputProps,\n inputProps: {\n role: \"spinbutton\",\n \"aria-invalid\": isOutOfRange(),\n \"aria-valuemax\": toFloat(toFixedDecimalPlaces(max, decimalPlaces)),\n \"aria-valuemin\": toFloat(toFixedDecimalPlaces(min, decimalPlaces)),\n \"aria-valuenow\": toFloat(\n toFixedDecimalPlaces(toFloat(currentValue), decimalPlaces),\n ),\n id: inputId,\n ...inputProps.inputProps,\n },\n onBlur: callAll(inputProps.onBlur, handleInputBlur),\n onChange: callAll(inputProps.onChange, handleInputChange),\n onFocus: inputProps.onFocus,\n onKeyDown: callAll(inputProps.onKeyDown, handleInputKeyDown),\n textAlign: inputProps.textAlign,\n value: String(currentValue),\n };\n };\n\n return {\n decrementButtonDown: arrowDownButtonDown || pgDnButtonDown,\n getButtonProps,\n getInputProps,\n incrementButtonDown: arrowUpButtonDown || pgUpButtonDown,\n };\n};\n"],"names":["useControlled","useId","useSpinner"],"mappings":"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"}
@@ -85,16 +85,16 @@ const Tab = React.forwardRef(function Tab2({
85
85
  case "Delete":
86
86
  if (closeable && !editing) {
87
87
  e.stopPropagation();
88
- onClose && onClose(index);
88
+ onClose == null ? void 0 : onClose(index);
89
89
  }
90
90
  break;
91
91
  default:
92
- onKeyUp && onKeyUp(e, index);
92
+ onKeyUp == null ? void 0 : onKeyUp(e, index);
93
93
  }
94
94
  };
95
95
  const handleCloseButtonClick = (e) => {
96
96
  e.stopPropagation();
97
- onClose && onClose(index);
97
+ onClose == null ? void 0 : onClose(index);
98
98
  };
99
99
  const handleCloseButtonEnter = () => {
100
100
  setCloseHover(true);
@@ -114,9 +114,8 @@ const Tab = React.forwardRef(function Tab2({
114
114
  onExitEditMode: handleOnExitEditMode,
115
115
  ref: editableRef
116
116
  }, label);
117
- } else {
118
- return label;
119
117
  }
118
+ return label;
120
119
  };
121
120
  const handleFocus = (evt) => {
122
121
  if (editableRef.current) {
@@ -138,7 +137,7 @@ const Tab = React.forwardRef(function Tab2({
138
137
  [withBaseName("dragAway")]: dragging,
139
138
  [withBaseName("editing")]: editing,
140
139
  [withBaseName("vertical")]: orientation === "vertical",
141
- [`saltFocusVisible`]: focusVisible
140
+ saltFocusVisible: focusVisible
142
141
  }),
143
142
  "data-editable": editable || void 0,
144
143
  onClick: handleClick,
@@ -1 +1 @@
1
- {"version":3,"file":"Tab.js","sources":["../src/tabs/Tab.tsx"],"sourcesContent":["// TODO close button needs to be a button. Hence tab needs to include 2 buttons\nimport { Button, ButtonProps, makePrefixer, useForkRef } from \"@salt-ds/core\";\nimport { CloseIcon } from \"@salt-ds/icons\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { clsx } from \"clsx\";\nimport {\n FocusEvent,\n ForwardedRef,\n KeyboardEvent,\n MouseEvent,\n ReactElement,\n forwardRef,\n useCallback,\n useRef,\n useState,\n} from \"react\";\nimport { EditableLabel, EditableLabelProps } from \"../editable-label\";\nimport { TabProps } from \"./TabsTypes\";\n\nimport tabCss from \"./Tab.css\";\n\nconst noop = () => undefined;\n\nconst withBaseName = makePrefixer(\"saltTab\");\n\nconst CloseTabButton = (props: ButtonProps) => (\n // FIXME: use polymorphic button\n <Button\n {...props}\n aria-label=\"Close Tab (Delete or Backspace)\"\n className={withBaseName(\"closeButton\")}\n tabIndex={undefined}\n title=\"Close Tab (Delete or Backspace)\"\n variant=\"secondary\"\n >\n <CloseIcon\n aria-label=\"Close Tab (Delete or Backspace)\"\n className={withBaseName(\"close-icon\")}\n />\n </Button>\n);\n\nexport const Tab = forwardRef(function Tab(\n {\n ariaControls,\n children,\n className,\n closeable,\n dragging,\n editable,\n editing,\n focusVisible,\n index,\n label,\n onClick,\n onClose,\n onEnterEditMode = noop,\n onExitEditMode = noop,\n onFocus: onFocusProp,\n onKeyDown,\n onKeyUp,\n onMouseDown,\n orientation,\n selected,\n tabChildIndex = 0,\n tabIndex,\n ...props\n }: TabProps,\n ref: ForwardedRef<HTMLDivElement>\n): ReactElement<TabProps> {\n if (index === undefined || onClick === undefined || onKeyDown === undefined) {\n throw Error(\n \"index, onClick, onKeyUp, onKeyDown are required props, they would nornally be injected by Tabstrip, are you creating a Tab outside of a Tabstrip\"\n );\n }\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-tab\",\n css: tabCss,\n window: targetWindow,\n });\n\n const root = useRef<HTMLDivElement>(null);\n const editableRef = useRef<HTMLDivElement>(null);\n const setForkRef = useForkRef(ref, root);\n const [closeHover, setCloseHover] = useState(false);\n const handleClick = useCallback(\n (e: MouseEvent) => {\n if (!editing) {\n e.preventDefault();\n onClick(e, index);\n }\n },\n [editing, index, onClick]\n );\n const handleKeyDownMain = (e: KeyboardEvent<HTMLElement>) => {\n onKeyDown(e);\n };\n\n const handleOnExitEditMode: EditableLabelProps[\"onExitEditMode\"] = (\n originalValue = \"\",\n editedValue = \"\",\n allowDeactivation = true\n ) => onExitEditMode(originalValue, editedValue, allowDeactivation, index);\n\n const handleKeyUp = (e: KeyboardEvent) => {\n switch (e.key) {\n case \"Backspace\":\n case \"Delete\":\n if (closeable && !editing) {\n e.stopPropagation();\n onClose && onClose(index);\n }\n break;\n default:\n onKeyUp && onKeyUp(e, index);\n }\n };\n\n const handleCloseButtonClick = (e: MouseEvent<HTMLButtonElement>) => {\n e.stopPropagation();\n onClose && onClose(index);\n };\n\n const handleCloseButtonEnter = () => {\n setCloseHover(true);\n };\n\n const handleCloseButtonLeave = () => {\n setCloseHover(false);\n };\n\n const handleMouseDown = (e: MouseEvent<HTMLElement>): void => {\n onMouseDown?.(e);\n };\n\n const getLabel = () => {\n if (editable) {\n return (\n <EditableLabel\n editing={editing}\n defaultValue={label}\n // Create a fresh instance after each edit, so it can be uncontrolled ...\n key={label}\n onEnterEditMode={onEnterEditMode}\n onExitEditMode={handleOnExitEditMode}\n ref={editableRef}\n />\n );\n } else {\n return label;\n }\n };\n\n const handleFocus = (evt: FocusEvent<HTMLElement>) => {\n if (editableRef.current) {\n const editable = editableRef.current as HTMLElement;\n const input = editable.querySelector(\n \".saltEditableLabel-input\"\n ) as HTMLInputElement;\n input?.focus();\n }\n onFocusProp?.(evt);\n };\n\n return (\n <div\n {...props}\n aria-controls={ariaControls}\n aria-selected={selected}\n className={clsx(withBaseName(), {\n [withBaseName(\"closeable\")]: closeable,\n [withBaseName(\"closeHover\")]: closeHover,\n [withBaseName(\"dragAway\")]: dragging,\n [withBaseName(\"editing\")]: editing,\n [withBaseName(\"vertical\")]: orientation === \"vertical\",\n [`saltFocusVisible`]: focusVisible,\n })}\n data-editable={editable || undefined}\n onClick={handleClick}\n onFocus={handleFocus}\n onKeyDown={handleKeyDownMain}\n onKeyUp={handleKeyUp}\n onMouseDown={handleMouseDown}\n ref={setForkRef}\n role=\"tab\"\n tabIndex={tabIndex}\n >\n <div className={withBaseName(\"main\")}>\n <span\n className={withBaseName(\"text\")}\n // data-text is important, it determines the width of the tab. A pseudo\n // element assigns data-text as content. This is styled as selected tab\n // text. That means width of tab always corresponds to its selected state,\n // so tabs do not change size when selected (ie when the text is bolded).\n // Do not include if we have editable content, EditableLabel will determine\n // the width\n data-text={editable ? undefined : label}\n >\n {children ?? getLabel()}\n </span>\n </div>\n {closeable ? (\n <CloseTabButton\n onClick={handleCloseButtonClick}\n onMouseEnter={handleCloseButtonEnter}\n onMouseLeave={handleCloseButtonLeave}\n />\n ) : null}\n </div>\n );\n});\n"],"names":["makePrefixer","jsx","Button","CloseIcon","forwardRef","Tab","useWindow","useComponentCssInjection","tabCss","useRef","useForkRef","useState","useCallback","EditableLabel","editable","jsxs","clsx"],"mappings":"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"}
1
+ {"version":3,"file":"Tab.js","sources":["../src/tabs/Tab.tsx"],"sourcesContent":["// TODO close button needs to be a button. Hence tab needs to include 2 buttons\nimport {\n Button,\n type ButtonProps,\n makePrefixer,\n useForkRef,\n} from \"@salt-ds/core\";\nimport { CloseIcon } from \"@salt-ds/icons\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { clsx } from \"clsx\";\nimport {\n type FocusEvent,\n type ForwardedRef,\n type KeyboardEvent,\n type MouseEvent,\n type ReactElement,\n forwardRef,\n useCallback,\n useRef,\n useState,\n} from \"react\";\nimport { EditableLabel, type EditableLabelProps } from \"../editable-label\";\nimport type { TabProps } from \"./TabsTypes\";\n\nimport tabCss from \"./Tab.css\";\n\nconst noop = () => undefined;\n\nconst withBaseName = makePrefixer(\"saltTab\");\n\nconst CloseTabButton = (props: ButtonProps) => (\n // FIXME: use polymorphic button\n <Button\n {...props}\n aria-label=\"Close Tab (Delete or Backspace)\"\n className={withBaseName(\"closeButton\")}\n tabIndex={undefined}\n title=\"Close Tab (Delete or Backspace)\"\n variant=\"secondary\"\n >\n <CloseIcon\n aria-label=\"Close Tab (Delete or Backspace)\"\n className={withBaseName(\"close-icon\")}\n />\n </Button>\n);\n\nexport const Tab = forwardRef(function Tab(\n {\n ariaControls,\n children,\n className,\n closeable,\n dragging,\n editable,\n editing,\n focusVisible,\n index,\n label,\n onClick,\n onClose,\n onEnterEditMode = noop,\n onExitEditMode = noop,\n onFocus: onFocusProp,\n onKeyDown,\n onKeyUp,\n onMouseDown,\n orientation,\n selected,\n tabChildIndex = 0,\n tabIndex,\n ...props\n }: TabProps,\n ref: ForwardedRef<HTMLDivElement>,\n): ReactElement<TabProps> {\n if (index === undefined || onClick === undefined || onKeyDown === undefined) {\n throw Error(\n \"index, onClick, onKeyUp, onKeyDown are required props, they would nornally be injected by Tabstrip, are you creating a Tab outside of a Tabstrip\",\n );\n }\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-tab\",\n css: tabCss,\n window: targetWindow,\n });\n\n const root = useRef<HTMLDivElement>(null);\n const editableRef = useRef<HTMLDivElement>(null);\n const setForkRef = useForkRef(ref, root);\n const [closeHover, setCloseHover] = useState(false);\n const handleClick = useCallback(\n (e: MouseEvent) => {\n if (!editing) {\n e.preventDefault();\n onClick(e, index);\n }\n },\n [editing, index, onClick],\n );\n const handleKeyDownMain = (e: KeyboardEvent<HTMLElement>) => {\n onKeyDown(e);\n };\n\n const handleOnExitEditMode: EditableLabelProps[\"onExitEditMode\"] = (\n originalValue = \"\",\n editedValue = \"\",\n allowDeactivation = true,\n ) => onExitEditMode(originalValue, editedValue, allowDeactivation, index);\n\n const handleKeyUp = (e: KeyboardEvent) => {\n switch (e.key) {\n case \"Backspace\":\n case \"Delete\":\n if (closeable && !editing) {\n e.stopPropagation();\n onClose?.(index);\n }\n break;\n default:\n onKeyUp?.(e, index);\n }\n };\n\n const handleCloseButtonClick = (e: MouseEvent<HTMLButtonElement>) => {\n e.stopPropagation();\n onClose?.(index);\n };\n\n const handleCloseButtonEnter = () => {\n setCloseHover(true);\n };\n\n const handleCloseButtonLeave = () => {\n setCloseHover(false);\n };\n\n const handleMouseDown = (e: MouseEvent<HTMLElement>): void => {\n onMouseDown?.(e);\n };\n\n const getLabel = () => {\n if (editable) {\n return (\n <EditableLabel\n editing={editing}\n defaultValue={label}\n // Create a fresh instance after each edit, so it can be uncontrolled ...\n key={label}\n onEnterEditMode={onEnterEditMode}\n onExitEditMode={handleOnExitEditMode}\n ref={editableRef}\n />\n );\n }\n return label;\n };\n\n const handleFocus = (evt: FocusEvent<HTMLElement>) => {\n if (editableRef.current) {\n const editable = editableRef.current as HTMLElement;\n const input = editable.querySelector(\n \".saltEditableLabel-input\",\n ) as HTMLInputElement;\n input?.focus();\n }\n onFocusProp?.(evt);\n };\n\n return (\n <div\n {...props}\n aria-controls={ariaControls}\n aria-selected={selected}\n className={clsx(withBaseName(), {\n [withBaseName(\"closeable\")]: closeable,\n [withBaseName(\"closeHover\")]: closeHover,\n [withBaseName(\"dragAway\")]: dragging,\n [withBaseName(\"editing\")]: editing,\n [withBaseName(\"vertical\")]: orientation === \"vertical\",\n saltFocusVisible: focusVisible,\n })}\n data-editable={editable || undefined}\n onClick={handleClick}\n onFocus={handleFocus}\n onKeyDown={handleKeyDownMain}\n onKeyUp={handleKeyUp}\n onMouseDown={handleMouseDown}\n ref={setForkRef}\n role=\"tab\"\n tabIndex={tabIndex}\n >\n <div className={withBaseName(\"main\")}>\n <span\n className={withBaseName(\"text\")}\n // data-text is important, it determines the width of the tab. A pseudo\n // element assigns data-text as content. This is styled as selected tab\n // text. That means width of tab always corresponds to its selected state,\n // so tabs do not change size when selected (ie when the text is bolded).\n // Do not include if we have editable content, EditableLabel will determine\n // the width\n data-text={editable ? undefined : label}\n >\n {children ?? getLabel()}\n </span>\n </div>\n {closeable ? (\n <CloseTabButton\n onClick={handleCloseButtonClick}\n onMouseEnter={handleCloseButtonEnter}\n onMouseLeave={handleCloseButtonLeave}\n />\n ) : null}\n </div>\n );\n});\n"],"names":["makePrefixer","jsx","Button","CloseIcon","forwardRef","Tab","useWindow","useComponentCssInjection","tabCss","useRef","useForkRef","useState","useCallback","EditableLabel","editable","jsxs","clsx"],"mappings":"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"}
@@ -6,8 +6,8 @@ var jsxRuntime = require('react/jsx-runtime');
6
6
  var core = require('@salt-ds/core');
7
7
  var React = require('react');
8
8
  var useActivationIndicator = require('./useActivationIndicator.js');
9
- var window = require('@salt-ds/window');
10
9
  var styles = require('@salt-ds/styles');
10
+ var window = require('@salt-ds/window');
11
11
  var TabActivationIndicator$1 = require('./TabActivationIndicator.css.js');
12
12
 
13
13
  const withBaseName = core.makePrefixer("saltTabActivationIndicator");
@@ -1 +1 @@
1
- {"version":3,"file":"TabActivationIndicator.js","sources":["../src/tabs/TabActivationIndicator.tsx"],"sourcesContent":["import { makePrefixer } from \"@salt-ds/core\";\nimport React, { useRef } from \"react\";\n\nimport { useActivationIndicator } from \"./useActivationIndicator\";\n\nimport { useWindow } from \"@salt-ds/window\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\n\nimport tabActivationIndicatorCss from \"./TabActivationIndicator.css\";\n\ninterface TabActivationIndicatorProps {\n hideThumb?: boolean;\n orientation?: \"horizontal\" | \"vertical\";\n disableAnimation?: boolean;\n tabId?: string | null;\n}\n\nconst withBaseName = makePrefixer(\"saltTabActivationIndicator\");\n\nexport const TabActivationIndicator = ({\n hideThumb = false,\n orientation = \"horizontal\",\n tabId,\n}: TabActivationIndicatorProps) => {\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-tab-activation-indicator\",\n css: tabActivationIndicatorCss,\n window: targetWindow,\n });\n\n const rootRef = useRef<HTMLDivElement | null>(null);\n const style = useActivationIndicator({\n rootRef,\n tabId,\n orientation,\n });\n\n return (\n <div className={withBaseName()} ref={rootRef}>\n {hideThumb === false && tabId !== null ? (\n <div className={withBaseName(\"thumb\")} style={style} />\n ) : null}\n </div>\n );\n};\n"],"names":["makePrefixer","useWindow","useComponentCssInjection","tabActivationIndicatorCss","useRef","useActivationIndicator","jsx"],"mappings":";;;;;;;;;;;;AAiBA,MAAM,YAAA,GAAeA,kBAAa,4BAA4B,CAAA,CAAA;AAEvD,MAAM,yBAAyB,CAAC;AAAA,EACrC,SAAY,GAAA,KAAA;AAAA,EACZ,WAAc,GAAA,YAAA;AAAA,EACd,KAAA;AACF,CAAmC,KAAA;AACjC,EAAA,MAAM,eAAeC,gBAAU,EAAA,CAAA;AAC/B,EAAyBC,+BAAA,CAAA;AAAA,IACvB,MAAQ,EAAA,+BAAA;AAAA,IACR,GAAK,EAAAC,wBAAA;AAAA,IACL,MAAQ,EAAA,YAAA;AAAA,GACT,CAAA,CAAA;AAED,EAAM,MAAA,OAAA,GAAUC,aAA8B,IAAI,CAAA,CAAA;AAClD,EAAA,MAAM,QAAQC,6CAAuB,CAAA;AAAA,IACnC,OAAA;AAAA,IACA,KAAA;AAAA,IACA,WAAA;AAAA,GACD,CAAA,CAAA;AAED,EAAA,uBACGC,cAAA,CAAA,KAAA,EAAA;AAAA,IAAI,WAAW,YAAa,EAAA;AAAA,IAAG,GAAK,EAAA,OAAA;AAAA,IAClC,QAAc,EAAA,SAAA,KAAA,KAAA,IAAS,KAAU,KAAA,IAAA,mBAC/BA,cAAA,CAAA,KAAA,EAAA;AAAA,MAAI,SAAA,EAAW,aAAa,OAAO,CAAA;AAAA,MAAG,KAAA;AAAA,KAAc,CACnD,GAAA,IAAA;AAAA,GACN,CAAA,CAAA;AAEJ;;;;"}
1
+ {"version":3,"file":"TabActivationIndicator.js","sources":["../src/tabs/TabActivationIndicator.tsx"],"sourcesContent":["import { makePrefixer } from \"@salt-ds/core\";\nimport React, { useRef } from \"react\";\n\nimport { useActivationIndicator } from \"./useActivationIndicator\";\n\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useWindow } from \"@salt-ds/window\";\n\nimport tabActivationIndicatorCss from \"./TabActivationIndicator.css\";\n\ninterface TabActivationIndicatorProps {\n hideThumb?: boolean;\n orientation?: \"horizontal\" | \"vertical\";\n disableAnimation?: boolean;\n tabId?: string | null;\n}\n\nconst withBaseName = makePrefixer(\"saltTabActivationIndicator\");\n\nexport const TabActivationIndicator = ({\n hideThumb = false,\n orientation = \"horizontal\",\n tabId,\n}: TabActivationIndicatorProps) => {\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-tab-activation-indicator\",\n css: tabActivationIndicatorCss,\n window: targetWindow,\n });\n\n const rootRef = useRef<HTMLDivElement | null>(null);\n const style = useActivationIndicator({\n rootRef,\n tabId,\n orientation,\n });\n\n return (\n <div className={withBaseName()} ref={rootRef}>\n {hideThumb === false && tabId !== null ? (\n <div className={withBaseName(\"thumb\")} style={style} />\n ) : null}\n </div>\n );\n};\n"],"names":["makePrefixer","useWindow","useComponentCssInjection","tabActivationIndicatorCss","useRef","useActivationIndicator","jsx"],"mappings":";;;;;;;;;;;;AAiBA,MAAM,YAAA,GAAeA,kBAAa,4BAA4B,CAAA,CAAA;AAEvD,MAAM,yBAAyB,CAAC;AAAA,EACrC,SAAY,GAAA,KAAA;AAAA,EACZ,WAAc,GAAA,YAAA;AAAA,EACd,KAAA;AACF,CAAmC,KAAA;AACjC,EAAA,MAAM,eAAeC,gBAAU,EAAA,CAAA;AAC/B,EAAyBC,+BAAA,CAAA;AAAA,IACvB,MAAQ,EAAA,+BAAA;AAAA,IACR,GAAK,EAAAC,wBAAA;AAAA,IACL,MAAQ,EAAA,YAAA;AAAA,GACT,CAAA,CAAA;AAED,EAAM,MAAA,OAAA,GAAUC,aAA8B,IAAI,CAAA,CAAA;AAClD,EAAA,MAAM,QAAQC,6CAAuB,CAAA;AAAA,IACnC,OAAA;AAAA,IACA,KAAA;AAAA,IACA,WAAA;AAAA,GACD,CAAA,CAAA;AAED,EAAA,uBACGC,cAAA,CAAA,KAAA,EAAA;AAAA,IAAI,WAAW,YAAa,EAAA;AAAA,IAAG,GAAK,EAAA,OAAA;AAAA,IAClC,QAAc,EAAA,SAAA,KAAA,KAAA,IAAS,KAAU,KAAA,IAAA,mBAC/BA,cAAA,CAAA,KAAA,EAAA;AAAA,MAAI,SAAA,EAAW,aAAa,OAAO,CAAA;AAAA,MAAG,KAAA;AAAA,KAAc,CACnD,GAAA,IAAA;AAAA,GACN,CAAA,CAAA;AAEJ;;;;"}
@@ -3,11 +3,11 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var jsxRuntime = require('react/jsx-runtime');
6
- var React = require('react');
7
- var clsx = require('clsx');
8
6
  var core = require('@salt-ds/core');
9
- var window = require('@salt-ds/window');
10
7
  var styles = require('@salt-ds/styles');
8
+ var window = require('@salt-ds/window');
9
+ var clsx = require('clsx');
10
+ var React = require('react');
11
11
  var TabPanel$1 = require('./TabPanel.css.js');
12
12
 
13
13
  const withBaseName = core.makePrefixer("saltTabPanel");
@@ -1 +1 @@
1
- {"version":3,"file":"TabPanel.js","sources":["../src/tabs/TabPanel.tsx"],"sourcesContent":["import { ForwardedRef, forwardRef, HTMLAttributes } from \"react\";\nimport { clsx } from \"clsx\";\nimport { makePrefixer } from \"@salt-ds/core\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\n\nimport tabPanelCss from \"./TabPanel.css\";\n\nconst withBaseName = makePrefixer(\"saltTabPanel\");\n\nexport interface TabPanelProps extends HTMLAttributes<HTMLDivElement> {\n enableClose?: boolean;\n label: string;\n}\n\nexport const TabPanel = forwardRef(function TabPanel(\n { children, className, enableClose, ...htmlAttributes }: TabPanelProps,\n forwardedRef: ForwardedRef<HTMLDivElement>\n) {\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-tab-panel\",\n css: tabPanelCss,\n window: targetWindow,\n });\n\n return (\n <div\n {...htmlAttributes}\n className={clsx(withBaseName(), className)}\n ref={forwardedRef}\n role=\"tabpanel\"\n tabIndex={0}\n >\n {children}\n </div>\n );\n});\n"],"names":["makePrefixer","forwardRef","TabPanel","useWindow","useComponentCssInjection","tabPanelCss","jsx","clsx"],"mappings":";;;;;;;;;;;;AAQA,MAAM,YAAA,GAAeA,kBAAa,cAAc,CAAA,CAAA;AAOnC,MAAA,QAAA,GAAWC,gBAAW,CAAA,SAASC,SAC1C,CAAA,EAAE,UAAU,SAAW,EAAA,WAAA,EAAA,GAAgB,cAAe,EAAA,EACtD,YACA,EAAA;AACA,EAAA,MAAM,eAAeC,gBAAU,EAAA,CAAA;AAC/B,EAAyBC,+BAAA,CAAA;AAAA,IACvB,MAAQ,EAAA,gBAAA;AAAA,IACR,GAAK,EAAAC,UAAA;AAAA,IACL,MAAQ,EAAA,YAAA;AAAA,GACT,CAAA,CAAA;AAED,EAAA,uBACGC,cAAA,CAAA,KAAA,EAAA;AAAA,IACE,GAAG,cAAA;AAAA,IACJ,SAAW,EAAAC,SAAA,CAAK,YAAa,EAAA,EAAG,SAAS,CAAA;AAAA,IACzC,GAAK,EAAA,YAAA;AAAA,IACL,IAAK,EAAA,UAAA;AAAA,IACL,QAAU,EAAA,CAAA;AAAA,IAET,QAAA;AAAA,GACH,CAAA,CAAA;AAEJ,CAAC;;;;"}
1
+ {"version":3,"file":"TabPanel.js","sources":["../src/tabs/TabPanel.tsx"],"sourcesContent":["import { makePrefixer } from \"@salt-ds/core\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { clsx } from \"clsx\";\nimport { type ForwardedRef, type HTMLAttributes, forwardRef } from \"react\";\n\nimport tabPanelCss from \"./TabPanel.css\";\n\nconst withBaseName = makePrefixer(\"saltTabPanel\");\n\nexport interface TabPanelProps extends HTMLAttributes<HTMLDivElement> {\n enableClose?: boolean;\n label: string;\n}\n\nexport const TabPanel = forwardRef(function TabPanel(\n { children, className, enableClose, ...htmlAttributes }: TabPanelProps,\n forwardedRef: ForwardedRef<HTMLDivElement>,\n) {\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-tab-panel\",\n css: tabPanelCss,\n window: targetWindow,\n });\n\n return (\n <div\n {...htmlAttributes}\n className={clsx(withBaseName(), className)}\n ref={forwardedRef}\n role=\"tabpanel\"\n tabIndex={0}\n >\n {children}\n </div>\n );\n});\n"],"names":["makePrefixer","forwardRef","TabPanel","useWindow","useComponentCssInjection","tabPanelCss","jsx","clsx"],"mappings":";;;;;;;;;;;;AAQA,MAAM,YAAA,GAAeA,kBAAa,cAAc,CAAA,CAAA;AAOnC,MAAA,QAAA,GAAWC,gBAAW,CAAA,SAASC,SAC1C,CAAA,EAAE,UAAU,SAAW,EAAA,WAAA,EAAA,GAAgB,cAAe,EAAA,EACtD,YACA,EAAA;AACA,EAAA,MAAM,eAAeC,gBAAU,EAAA,CAAA;AAC/B,EAAyBC,+BAAA,CAAA;AAAA,IACvB,MAAQ,EAAA,gBAAA;AAAA,IACR,GAAK,EAAAC,UAAA;AAAA,IACL,MAAQ,EAAA,YAAA;AAAA,GACT,CAAA,CAAA;AAED,EAAA,uBACGC,cAAA,CAAA,KAAA,EAAA;AAAA,IACE,GAAG,cAAA;AAAA,IACJ,SAAW,EAAAC,SAAA,CAAK,YAAa,EAAA,EAAG,SAAS,CAAA;AAAA,IACzC,GAAK,EAAA,YAAA;AAAA,IACL,IAAK,EAAA,UAAA;AAAA,IACL,QAAU,EAAA,CAAA;AAAA,IAET,QAAA;AAAA,GACH,CAAA,CAAA;AAEJ,CAAC;;;;"}
@@ -3,13 +3,13 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var jsxRuntime = require('react/jsx-runtime');
6
- var React = require('react');
7
- var clsx = require('clsx');
8
6
  var core = require('@salt-ds/core');
9
- var useTabs = require('./useTabs.js');
7
+ var clsx = require('clsx');
8
+ var React = require('react');
10
9
  var Tabstrip = require('./Tabstrip.js');
11
- var window = require('@salt-ds/window');
10
+ var useTabs = require('./useTabs.js');
12
11
  var styles = require('@salt-ds/styles');
12
+ var window = require('@salt-ds/window');
13
13
  var Tabs$1 = require('./Tabs.css.js');
14
14
 
15
15
  const withBaseName = core.makePrefixer("saltTabs");
@@ -1 +1 @@
1
- {"version":3,"file":"Tabs.js","sources":["../src/tabs/Tabs.tsx"],"sourcesContent":["import {\n ForwardedRef,\n forwardRef,\n useCallback,\n useImperativeHandle,\n useRef,\n} from \"react\";\nimport { clsx } from \"clsx\";\nimport { makePrefixer } from \"@salt-ds/core\";\nimport { useTabs } from \"./useTabs\";\nimport { Tabstrip } from \"./Tabstrip\";\nimport { FocusAPI, TabstripProps } from \"./TabsTypes\";\n\nimport { useWindow } from \"@salt-ds/window\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\n\nimport tabsCss from \"./Tabs.css\";\n\nconst withBaseName = makePrefixer(\"saltTabs\");\n\nexport type TabsProps = Omit<TabstripProps, \"defaultSource\">;\n\nexport const Tabs = forwardRef(function Tabs(\n {\n activeTabIndex: activeTabIndexProp,\n allowDragDrop,\n centered,\n children,\n className,\n defaultActiveTabIndex,\n editing,\n enableAddTab,\n enableCloseTab,\n enableRenameTab,\n onActiveChange: onActiveChangeProp,\n onAddTab,\n onCloseTab,\n onEnterEditMode,\n onExitEditMode,\n onMoveTab,\n overflowMenu,\n variant,\n ...htmlAttributes\n }: TabsProps,\n forwardedRef: ForwardedRef<FocusAPI>\n) {\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-tabs\",\n css: tabsCss,\n window: targetWindow,\n });\n\n const tabstripRef = useRef<HTMLDivElement>(null);\n useImperativeHandle(\n forwardedRef,\n () =>\n ({\n focus: () => tabstripRef.current?.focus(),\n } as FocusAPI),\n []\n );\n\n const { id, onActiveChange, activeTabIndex, tabPanel, tabs } = useTabs({\n activeTabIndex: activeTabIndexProp,\n children,\n defaultActiveTabIndex,\n onActiveChange: onActiveChangeProp,\n });\n\n const tabstripProps = {\n activeTabIndex,\n allowDragDrop,\n centered,\n editing,\n variant,\n enableAddTab,\n enableCloseTab,\n enableRenameTab,\n onAddTab,\n onCloseTab,\n onEnterEditMode,\n onExitEditMode,\n onMoveTab,\n overflowMenu,\n };\n const getTabPanelId = useCallback(\n (tabIndex: number) => {\n if (tabIndex === activeTabIndex) {\n return `${id}-${tabIndex}-panel`;\n }\n },\n [id, activeTabIndex]\n );\n\n // TODO need to inject aria-controls\n return (\n <div\n {...htmlAttributes}\n className={clsx(withBaseName(), className)}\n id={`${id}-tabs`}\n >\n <Tabstrip\n {...tabstripProps}\n id={id}\n onActiveChange={onActiveChange}\n ref={tabstripRef}\n source={tabs}\n />\n {tabPanel}\n </div>\n );\n});\n"],"names":["makePrefixer","forwardRef","Tabs","useWindow","useComponentCssInjection","tabsCss","useRef","useImperativeHandle","useTabs","useCallback","jsxs","clsx","jsx","Tabstrip"],"mappings":";;;;;;;;;;;;;;AAkBA,MAAM,YAAA,GAAeA,kBAAa,UAAU,CAAA,CAAA;AAI/B,MAAA,IAAA,GAAOC,gBAAW,CAAA,SAASC,KACtC,CAAA;AAAA,EACE,cAAgB,EAAA,kBAAA;AAAA,EAChB,aAAA;AAAA,EACA,QAAA;AAAA,EACA,QAAA;AAAA,EACA,SAAA;AAAA,EACA,qBAAA;AAAA,EACA,OAAA;AAAA,EACA,YAAA;AAAA,EACA,cAAA;AAAA,EACA,eAAA;AAAA,EACA,cAAgB,EAAA,kBAAA;AAAA,EAChB,QAAA;AAAA,EACA,UAAA;AAAA,EACA,eAAA;AAAA,EACA,cAAA;AAAA,EACA,SAAA;AAAA,EACA,YAAA;AAAA,EACA,OAAA;AAAA,EACG,GAAA,cAAA;AACL,CAAA,EACA,YACA,EAAA;AACA,EAAA,MAAM,eAAeC,gBAAU,EAAA,CAAA;AAC/B,EAAyBC,+BAAA,CAAA;AAAA,IACvB,MAAQ,EAAA,WAAA;AAAA,IACR,GAAK,EAAAC,MAAA;AAAA,IACL,MAAQ,EAAA,YAAA;AAAA,GACT,CAAA,CAAA;AAED,EAAM,MAAA,WAAA,GAAcC,aAAuB,IAAI,CAAA,CAAA;AAC/C,EAAAC,yBAAA;AAAA,IACE,YAAA;AAAA,IACA,OACG;AAAA,MACC,OAAO,MAAG;AA1DlB,QAAA,IAAA,EAAA,CAAA;AA0DqB,QAAA,OAAA,CAAA,EAAA,GAAA,WAAA,CAAY,YAAZ,IAAqB,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,KAAA,EAAA,CAAA;AAAA,OAAA;AAAA,KACpC,CAAA;AAAA,IACF,EAAC;AAAA,GACH,CAAA;AAEA,EAAA,MAAM,EAAE,EAAI,EAAA,cAAA,EAAgB,gBAAgB,QAAU,EAAA,IAAA,KAASC,eAAQ,CAAA;AAAA,IACrE,cAAgB,EAAA,kBAAA;AAAA,IAChB,QAAA;AAAA,IACA,qBAAA;AAAA,IACA,cAAgB,EAAA,kBAAA;AAAA,GACjB,CAAA,CAAA;AAED,EAAA,MAAM,aAAgB,GAAA;AAAA,IACpB,cAAA;AAAA,IACA,aAAA;AAAA,IACA,QAAA;AAAA,IACA,OAAA;AAAA,IACA,OAAA;AAAA,IACA,YAAA;AAAA,IACA,cAAA;AAAA,IACA,eAAA;AAAA,IACA,QAAA;AAAA,IACA,UAAA;AAAA,IACA,eAAA;AAAA,IACA,cAAA;AAAA,IACA,SAAA;AAAA,IACA,YAAA;AAAA,GACF,CAAA;AACA,EAAsBC,iBAAA;AAAA,IACpB,CAAC,QAAqB,KAAA;AACpB,MAAA,IAAI,aAAa,cAAgB,EAAA;AAC/B,QAAA,OAAO,GAAG,EAAM,CAAA,CAAA,EAAA,QAAA,CAAA,MAAA,CAAA,CAAA;AAAA,OAClB;AAAA,KACF;AAAA,IACA,CAAC,IAAI,cAAc,CAAA;AAAA,IACrB;AAGA,EAAA,uBACGC,eAAA,CAAA,KAAA,EAAA;AAAA,IACE,GAAG,cAAA;AAAA,IACJ,SAAW,EAAAC,SAAA,CAAK,YAAa,EAAA,EAAG,SAAS,CAAA;AAAA,IACzC,IAAI,CAAG,EAAA,EAAA,CAAA,KAAA,CAAA;AAAA,IAEP,QAAA,EAAA;AAAA,sBAACC,cAAA,CAAAC,iBAAA,EAAA;AAAA,QACE,GAAG,aAAA;AAAA,QACJ,EAAA;AAAA,QACA,cAAA;AAAA,QACA,GAAK,EAAA,WAAA;AAAA,QACL,MAAQ,EAAA,IAAA;AAAA,OACV,CAAA;AAAA,MACC,QAAA;AAAA,KAAA;AAAA,GACH,CAAA,CAAA;AAEJ,CAAC;;;;"}
1
+ {"version":3,"file":"Tabs.js","sources":["../src/tabs/Tabs.tsx"],"sourcesContent":["import { makePrefixer } from \"@salt-ds/core\";\nimport { clsx } from \"clsx\";\nimport {\n type ForwardedRef,\n forwardRef,\n useCallback,\n useImperativeHandle,\n useRef,\n} from \"react\";\nimport type { FocusAPI, TabstripProps } from \"./TabsTypes\";\nimport { Tabstrip } from \"./Tabstrip\";\nimport { useTabs } from \"./useTabs\";\n\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useWindow } from \"@salt-ds/window\";\n\nimport tabsCss from \"./Tabs.css\";\n\nconst withBaseName = makePrefixer(\"saltTabs\");\n\nexport type TabsProps = Omit<TabstripProps, \"defaultSource\">;\n\nexport const Tabs = forwardRef(function Tabs(\n {\n activeTabIndex: activeTabIndexProp,\n allowDragDrop,\n centered,\n children,\n className,\n defaultActiveTabIndex,\n editing,\n enableAddTab,\n enableCloseTab,\n enableRenameTab,\n onActiveChange: onActiveChangeProp,\n onAddTab,\n onCloseTab,\n onEnterEditMode,\n onExitEditMode,\n onMoveTab,\n overflowMenu,\n variant,\n ...htmlAttributes\n }: TabsProps,\n forwardedRef: ForwardedRef<FocusAPI>,\n) {\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-tabs\",\n css: tabsCss,\n window: targetWindow,\n });\n\n const tabstripRef = useRef<HTMLDivElement>(null);\n useImperativeHandle(\n forwardedRef,\n () =>\n ({\n focus: () => tabstripRef.current?.focus(),\n }) as FocusAPI,\n [],\n );\n\n const { id, onActiveChange, activeTabIndex, tabPanel, tabs } = useTabs({\n activeTabIndex: activeTabIndexProp,\n children,\n defaultActiveTabIndex,\n onActiveChange: onActiveChangeProp,\n });\n\n const tabstripProps = {\n activeTabIndex,\n allowDragDrop,\n centered,\n editing,\n variant,\n enableAddTab,\n enableCloseTab,\n enableRenameTab,\n onAddTab,\n onCloseTab,\n onEnterEditMode,\n onExitEditMode,\n onMoveTab,\n overflowMenu,\n };\n const getTabPanelId = useCallback(\n (tabIndex: number) => {\n if (tabIndex === activeTabIndex) {\n return `${id}-${tabIndex}-panel`;\n }\n },\n [id, activeTabIndex],\n );\n\n // TODO need to inject aria-controls\n return (\n <div\n {...htmlAttributes}\n className={clsx(withBaseName(), className)}\n id={`${id}-tabs`}\n >\n <Tabstrip\n {...tabstripProps}\n id={id}\n onActiveChange={onActiveChange}\n ref={tabstripRef}\n source={tabs}\n />\n {tabPanel}\n </div>\n );\n});\n"],"names":["makePrefixer","forwardRef","Tabs","useWindow","useComponentCssInjection","tabsCss","useRef","useImperativeHandle","useTabs","useCallback","jsxs","clsx","jsx","Tabstrip"],"mappings":";;;;;;;;;;;;;;AAkBA,MAAM,YAAA,GAAeA,kBAAa,UAAU,CAAA,CAAA;AAI/B,MAAA,IAAA,GAAOC,gBAAW,CAAA,SAASC,KACtC,CAAA;AAAA,EACE,cAAgB,EAAA,kBAAA;AAAA,EAChB,aAAA;AAAA,EACA,QAAA;AAAA,EACA,QAAA;AAAA,EACA,SAAA;AAAA,EACA,qBAAA;AAAA,EACA,OAAA;AAAA,EACA,YAAA;AAAA,EACA,cAAA;AAAA,EACA,eAAA;AAAA,EACA,cAAgB,EAAA,kBAAA;AAAA,EAChB,QAAA;AAAA,EACA,UAAA;AAAA,EACA,eAAA;AAAA,EACA,cAAA;AAAA,EACA,SAAA;AAAA,EACA,YAAA;AAAA,EACA,OAAA;AAAA,EACG,GAAA,cAAA;AACL,CAAA,EACA,YACA,EAAA;AACA,EAAA,MAAM,eAAeC,gBAAU,EAAA,CAAA;AAC/B,EAAyBC,+BAAA,CAAA;AAAA,IACvB,MAAQ,EAAA,WAAA;AAAA,IACR,GAAK,EAAAC,MAAA;AAAA,IACL,MAAQ,EAAA,YAAA;AAAA,GACT,CAAA,CAAA;AAED,EAAM,MAAA,WAAA,GAAcC,aAAuB,IAAI,CAAA,CAAA;AAC/C,EAAAC,yBAAA;AAAA,IACE,YAAA;AAAA,IACA,OACG;AAAA,MACC,OAAO,MAAG;AA1DlB,QAAA,IAAA,EAAA,CAAA;AA0DqB,QAAA,OAAA,CAAA,EAAA,GAAA,WAAA,CAAY,YAAZ,IAAqB,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,KAAA,EAAA,CAAA;AAAA,OAAA;AAAA,KACpC,CAAA;AAAA,IACF,EAAC;AAAA,GACH,CAAA;AAEA,EAAA,MAAM,EAAE,EAAI,EAAA,cAAA,EAAgB,gBAAgB,QAAU,EAAA,IAAA,KAASC,eAAQ,CAAA;AAAA,IACrE,cAAgB,EAAA,kBAAA;AAAA,IAChB,QAAA;AAAA,IACA,qBAAA;AAAA,IACA,cAAgB,EAAA,kBAAA;AAAA,GACjB,CAAA,CAAA;AAED,EAAA,MAAM,aAAgB,GAAA;AAAA,IACpB,cAAA;AAAA,IACA,aAAA;AAAA,IACA,QAAA;AAAA,IACA,OAAA;AAAA,IACA,OAAA;AAAA,IACA,YAAA;AAAA,IACA,cAAA;AAAA,IACA,eAAA;AAAA,IACA,QAAA;AAAA,IACA,UAAA;AAAA,IACA,eAAA;AAAA,IACA,cAAA;AAAA,IACA,SAAA;AAAA,IACA,YAAA;AAAA,GACF,CAAA;AACA,EAAsBC,iBAAA;AAAA,IACpB,CAAC,QAAqB,KAAA;AACpB,MAAA,IAAI,aAAa,cAAgB,EAAA;AAC/B,QAAA,OAAO,GAAG,EAAM,CAAA,CAAA,EAAA,QAAA,CAAA,MAAA,CAAA,CAAA;AAAA,OAClB;AAAA,KACF;AAAA,IACA,CAAC,IAAI,cAAc,CAAA;AAAA,IACrB;AAGA,EAAA,uBACGC,eAAA,CAAA,KAAA,EAAA;AAAA,IACE,GAAG,cAAA;AAAA,IACJ,SAAW,EAAAC,SAAA,CAAK,YAAa,EAAA,EAAG,SAAS,CAAA;AAAA,IACzC,IAAI,CAAG,EAAA,EAAA,CAAA,KAAA,CAAA;AAAA,IAEP,QAAA,EAAA;AAAA,sBAACC,cAAA,CAAAC,iBAAA,EAAA;AAAA,QACE,GAAG,aAAA;AAAA,QACJ,EAAA;AAAA,QACA,cAAA;AAAA,QACA,GAAK,EAAA,WAAA;AAAA,QACL,MAAQ,EAAA,IAAA;AAAA,OACV,CAAA;AAAA,MACC,QAAA;AAAA,KAAA;AAAA,GACH,CAAA,CAAA;AAEJ,CAAC;;;;"}
@@ -10,17 +10,17 @@ var clsx = require('clsx');
10
10
  require('../dropdown/DropdownBase.js');
11
11
  require('../dropdown/DropdownButton.js');
12
12
  var Dropdown = require('../dropdown/Dropdown.js');
13
+ require('../form-field-context-legacy/FormFieldLegacyContext.js');
13
14
  require('../responsive/useResizeObserver.js');
14
15
  var useOverflowCollectionItems = require('../responsive/useOverflowCollectionItems.js');
15
16
  var useOverflowLayout = require('../responsive/useOverflowLayout.js');
16
- require('../form-field-context-legacy/FormFieldLegacyContext.js');
17
17
  var Tab = require('./Tab.js');
18
18
  var TabActivationIndicator = require('./TabActivationIndicator.js');
19
19
  var useTabstrip = require('./useTabstrip.js');
20
- var window = require('@salt-ds/window');
21
20
  var styles = require('@salt-ds/styles');
22
- var ThemeTabstrip = require('./ThemeTabstrip.css.js');
21
+ var window = require('@salt-ds/window');
23
22
  var Tabstrip$1 = require('./Tabstrip.css.js');
23
+ var ThemeTabstrip = require('./ThemeTabstrip.css.js');
24
24
 
25
25
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
26
26
 
@@ -28,7 +28,7 @@ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
28
28
 
29
29
  const withBaseName = core.makePrefixer("saltTabstrip");
30
30
  const ADD_TAB_LABEL = "Create Tab";
31
- const tabDescriptors = (tabs) => tabs && tabs.map(
31
+ const tabDescriptors = (tabs) => tabs == null ? void 0 : tabs.map(
32
32
  (tab) => typeof tab === "string" ? { label: tab } : tab
33
33
  );
34
34
  const Tabstrip = React.forwardRef(function Tabstrip2({
@@ -108,9 +108,8 @@ const Tabstrip = React.forwardRef(function Tabstrip2({
108
108
  const getChildren = () => {
109
109
  if (React__default["default"].Children.count(children) === 0) {
110
110
  return void 0;
111
- } else {
112
- return React__default["default"].Children.toArray(children);
113
111
  }
112
+ return React__default["default"].Children.toArray(children);
114
113
  };
115
114
  const [innerContainerRef, switchOverflowPriorities] = useOverflowLayout.useOverflowLayout({
116
115
  collectionHook,
@@ -283,16 +282,14 @@ const Tabstrip = React.forwardRef(function Tabstrip2({
283
282
  if (React__default["default"].isValidElement(element)) {
284
283
  if (element.type === Tab.Tab) {
285
284
  return React__default["default"].cloneElement(element, { ...baseProps, ...tabProps });
286
- } else {
287
- return React__default["default"].cloneElement(element, baseProps);
288
285
  }
289
- } else {
290
- return React__default["default"].createElement(Tab.Tab, {
291
- ...baseProps,
292
- ...tabProps,
293
- label: tab.label
294
- });
286
+ return React__default["default"].cloneElement(element, baseProps);
295
287
  }
288
+ return React__default["default"].createElement(Tab.Tab, {
289
+ ...baseProps,
290
+ ...tabProps,
291
+ label: tab.label
292
+ });
296
293
  });
297
294
  const overflowCount = overflowedItems.length;
298
295
  const draggingActiveTab = tabstripHook.draggedItemIndex === activeTabIndex;