@salt-ds/lab 1.0.0-alpha.0 → 1.0.0-alpha.1

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 (551) hide show
  1. package/dist-cjs/packages/lab/src/accordion/Accordion.js +2 -6
  2. package/dist-cjs/packages/lab/src/accordion/Accordion.js.map +1 -1
  3. package/dist-cjs/packages/lab/src/accordion/AccordionDetails.js +3 -7
  4. package/dist-cjs/packages/lab/src/accordion/AccordionDetails.js.map +1 -1
  5. package/dist-cjs/packages/lab/src/accordion/AccordionSection.js +2 -6
  6. package/dist-cjs/packages/lab/src/accordion/AccordionSection.js.map +1 -1
  7. package/dist-cjs/packages/lab/src/accordion/AccordionSummary.js +2 -6
  8. package/dist-cjs/packages/lab/src/accordion/AccordionSummary.js.map +1 -1
  9. package/dist-cjs/packages/lab/src/app-header/AppHeader.js +2 -6
  10. package/dist-cjs/packages/lab/src/app-header/AppHeader.js.map +1 -1
  11. package/dist-cjs/packages/lab/src/avatar/Avatar.js +2 -6
  12. package/dist-cjs/packages/lab/src/avatar/Avatar.js.map +1 -1
  13. package/dist-cjs/packages/lab/src/badge/Badge.js +4 -8
  14. package/dist-cjs/packages/lab/src/badge/Badge.js.map +1 -1
  15. package/dist-cjs/packages/lab/src/banner/Banner.js +5 -9
  16. package/dist-cjs/packages/lab/src/banner/Banner.js.map +1 -1
  17. package/dist-cjs/packages/lab/src/breadcrumbs/Breadcrumb.js +4 -8
  18. package/dist-cjs/packages/lab/src/breadcrumbs/Breadcrumb.js.map +1 -1
  19. package/dist-cjs/packages/lab/src/breadcrumbs/Breadcrumbs.js +3 -4
  20. package/dist-cjs/packages/lab/src/breadcrumbs/Breadcrumbs.js.map +1 -1
  21. package/dist-cjs/packages/lab/src/button-bar/ButtonBar.js +2 -6
  22. package/dist-cjs/packages/lab/src/button-bar/ButtonBar.js.map +1 -1
  23. package/dist-cjs/packages/lab/src/button-bar/OrderedButton.js +2 -6
  24. package/dist-cjs/packages/lab/src/button-bar/OrderedButton.js.map +1 -1
  25. package/dist-cjs/packages/lab/src/calendar/Calendar.js +2 -6
  26. package/dist-cjs/packages/lab/src/calendar/Calendar.js.map +1 -1
  27. package/dist-cjs/packages/lab/src/calendar/internal/CalendarDay.js +2 -6
  28. package/dist-cjs/packages/lab/src/calendar/internal/CalendarDay.js.map +1 -1
  29. package/dist-cjs/packages/lab/src/calendar/internal/CalendarMonth.js +2 -6
  30. package/dist-cjs/packages/lab/src/calendar/internal/CalendarMonth.js.map +1 -1
  31. package/dist-cjs/packages/lab/src/calendar/internal/CalendarNavigation.js +4 -8
  32. package/dist-cjs/packages/lab/src/calendar/internal/CalendarNavigation.js.map +1 -1
  33. package/dist-cjs/packages/lab/src/calendar/internal/CalendarWeekHeader.js +2 -6
  34. package/dist-cjs/packages/lab/src/calendar/internal/CalendarWeekHeader.js.map +1 -1
  35. package/dist-cjs/packages/lab/src/calendar/useSelection.js +2 -6
  36. package/dist-cjs/packages/lab/src/calendar/useSelection.js.map +1 -1
  37. package/dist-cjs/packages/lab/src/carousel/Carousel.js +2 -6
  38. package/dist-cjs/packages/lab/src/carousel/Carousel.js.map +1 -1
  39. package/dist-cjs/packages/lab/src/carousel/CarouselSlide.js +4 -8
  40. package/dist-cjs/packages/lab/src/carousel/CarouselSlide.js.map +1 -1
  41. package/dist-cjs/packages/lab/src/cascading-menu/CascadingMenu.js +1 -1
  42. package/dist-cjs/packages/lab/src/cascading-menu/CascadingMenu.js.map +1 -1
  43. package/dist-cjs/packages/lab/src/cascading-menu/CascadingMenuItem.js +8 -15
  44. package/dist-cjs/packages/lab/src/cascading-menu/CascadingMenuItem.js.map +1 -1
  45. package/dist-cjs/packages/lab/src/cascading-menu/CascadingMenuList.js +2 -6
  46. package/dist-cjs/packages/lab/src/cascading-menu/CascadingMenuList.js.map +1 -1
  47. package/dist-cjs/packages/lab/src/checkbox/Checkbox.js +2 -6
  48. package/dist-cjs/packages/lab/src/checkbox/Checkbox.js.map +1 -1
  49. package/dist-cjs/packages/lab/src/checkbox/CheckboxBase.js +2 -6
  50. package/dist-cjs/packages/lab/src/checkbox/CheckboxBase.js.map +1 -1
  51. package/dist-cjs/packages/lab/src/checkbox/CheckboxGroup.js +2 -6
  52. package/dist-cjs/packages/lab/src/checkbox/CheckboxGroup.js.map +1 -1
  53. package/dist-cjs/packages/lab/src/checkbox/CheckboxIcon.js +4 -8
  54. package/dist-cjs/packages/lab/src/checkbox/CheckboxIcon.js.map +1 -1
  55. package/dist-cjs/packages/lab/src/color-chooser/AlphaInputField.js +2 -6
  56. package/dist-cjs/packages/lab/src/color-chooser/AlphaInputField.js.map +1 -1
  57. package/dist-cjs/packages/lab/src/color-chooser/ColorChooser.js +7 -11
  58. package/dist-cjs/packages/lab/src/color-chooser/ColorChooser.js.map +1 -1
  59. package/dist-cjs/packages/lab/src/color-chooser/ColorPicker.js +7 -11
  60. package/dist-cjs/packages/lab/src/color-chooser/ColorPicker.js.map +1 -1
  61. package/dist-cjs/packages/lab/src/color-chooser/DictTabs.js +3 -7
  62. package/dist-cjs/packages/lab/src/color-chooser/DictTabs.js.map +1 -1
  63. package/dist-cjs/packages/lab/src/color-chooser/HexInput.js +4 -8
  64. package/dist-cjs/packages/lab/src/color-chooser/HexInput.js.map +1 -1
  65. package/dist-cjs/packages/lab/src/color-chooser/RGBAInput.js +5 -9
  66. package/dist-cjs/packages/lab/src/color-chooser/RGBAInput.js.map +1 -1
  67. package/dist-cjs/packages/lab/src/color-chooser/Swatch.js +2 -6
  68. package/dist-cjs/packages/lab/src/color-chooser/Swatch.js.map +1 -1
  69. package/dist-cjs/packages/lab/src/color-chooser/Swatches.js +6 -10
  70. package/dist-cjs/packages/lab/src/color-chooser/Swatches.js.map +1 -1
  71. package/dist-cjs/packages/lab/src/combo-box-deprecated/ComboBoxDeprecated.js +3 -7
  72. package/dist-cjs/packages/lab/src/combo-box-deprecated/ComboBoxDeprecated.js.map +1 -1
  73. package/dist-cjs/packages/lab/src/common-hooks/useAutoSizer.js +3 -2
  74. package/dist-cjs/packages/lab/src/common-hooks/useAutoSizer.js.map +1 -1
  75. package/dist-cjs/packages/lab/src/common-hooks/useViewportTracking.js +2 -2
  76. package/dist-cjs/packages/lab/src/common-hooks/useViewportTracking.js.map +1 -1
  77. package/dist-cjs/packages/lab/src/contact-details/ContactAvatar.js +2 -6
  78. package/dist-cjs/packages/lab/src/contact-details/ContactAvatar.js.map +1 -1
  79. package/dist-cjs/packages/lab/src/contact-details/ContactDetails.js +2 -6
  80. package/dist-cjs/packages/lab/src/contact-details/ContactDetails.js.map +1 -1
  81. package/dist-cjs/packages/lab/src/contact-details/ContactMetadata.js +2 -6
  82. package/dist-cjs/packages/lab/src/contact-details/ContactMetadata.js.map +1 -1
  83. package/dist-cjs/packages/lab/src/contact-details/ContactPrimaryInfo.js +2 -6
  84. package/dist-cjs/packages/lab/src/contact-details/ContactPrimaryInfo.js.map +1 -1
  85. package/dist-cjs/packages/lab/src/contact-details/ContactSecondaryInfo.js +2 -6
  86. package/dist-cjs/packages/lab/src/contact-details/ContactSecondaryInfo.js.map +1 -1
  87. package/dist-cjs/packages/lab/src/contact-details/ContactTertiaryInfo.js +2 -6
  88. package/dist-cjs/packages/lab/src/contact-details/ContactTertiaryInfo.js.map +1 -1
  89. package/dist-cjs/packages/lab/src/contact-details/internal/StarIconContainer.js +3 -7
  90. package/dist-cjs/packages/lab/src/contact-details/internal/StarIconContainer.js.map +1 -1
  91. package/dist-cjs/packages/lab/src/content-status/ContentStatus.js +6 -10
  92. package/dist-cjs/packages/lab/src/content-status/ContentStatus.js.map +1 -1
  93. package/dist-cjs/packages/lab/src/content-status/internal/StatusIndicator.js +3 -7
  94. package/dist-cjs/packages/lab/src/content-status/internal/StatusIndicator.js.map +1 -1
  95. package/dist-cjs/packages/lab/src/control-label/ControlLabel.js +2 -6
  96. package/dist-cjs/packages/lab/src/control-label/ControlLabel.js.map +1 -1
  97. package/dist-cjs/packages/lab/src/deck-item/DeckItem.js +2 -6
  98. package/dist-cjs/packages/lab/src/deck-item/DeckItem.js.map +1 -1
  99. package/dist-cjs/packages/lab/src/deck-layout/DeckLayout.js +3 -7
  100. package/dist-cjs/packages/lab/src/deck-layout/DeckLayout.js.map +1 -1
  101. package/dist-cjs/packages/lab/src/dialog/Dialog.js +2 -6
  102. package/dist-cjs/packages/lab/src/dialog/Dialog.js.map +1 -1
  103. package/dist-cjs/packages/lab/src/dialog/DialogActions.js +2 -6
  104. package/dist-cjs/packages/lab/src/dialog/DialogActions.js.map +1 -1
  105. package/dist-cjs/packages/lab/src/dialog/DialogContent.js +2 -6
  106. package/dist-cjs/packages/lab/src/dialog/DialogContent.js.map +1 -1
  107. package/dist-cjs/packages/lab/src/dialog/DialogTitle.js +2 -6
  108. package/dist-cjs/packages/lab/src/dialog/DialogTitle.js.map +1 -1
  109. package/dist-cjs/packages/lab/src/dropdown/DropdownBase.js +4 -8
  110. package/dist-cjs/packages/lab/src/dropdown/DropdownBase.js.map +1 -1
  111. package/dist-cjs/packages/lab/src/dropdown/DropdownButton.js +2 -6
  112. package/dist-cjs/packages/lab/src/dropdown/DropdownButton.js.map +1 -1
  113. package/dist-cjs/packages/lab/src/editable-label/EditableLabel.js +2 -6
  114. package/dist-cjs/packages/lab/src/editable-label/EditableLabel.js.map +1 -1
  115. package/dist-cjs/packages/lab/src/file-drop-zone/FileDropZone.js +2 -6
  116. package/dist-cjs/packages/lab/src/file-drop-zone/FileDropZone.js.map +1 -1
  117. package/dist-cjs/packages/lab/src/form-field/FormField.js +2 -6
  118. package/dist-cjs/packages/lab/src/form-field/FormField.js.map +1 -1
  119. package/dist-cjs/packages/lab/src/form-field/FormLabel.js +2 -6
  120. package/dist-cjs/packages/lab/src/form-field/FormLabel.js.map +1 -1
  121. package/dist-cjs/packages/lab/src/form-field/StatusIndicator.js +2 -6
  122. package/dist-cjs/packages/lab/src/form-field/StatusIndicator.js.map +1 -1
  123. package/dist-cjs/packages/lab/src/form-group/FormGroup.js +2 -6
  124. package/dist-cjs/packages/lab/src/form-group/FormGroup.js.map +1 -1
  125. package/dist-cjs/packages/lab/src/formatted-input/FormattedInput.js +2 -6
  126. package/dist-cjs/packages/lab/src/formatted-input/FormattedInput.js.map +1 -1
  127. package/dist-cjs/packages/lab/src/formatted-input/internal/InputWithMask.js +2 -6
  128. package/dist-cjs/packages/lab/src/formatted-input/internal/InputWithMask.js.map +1 -1
  129. package/dist-cjs/packages/lab/src/index.js +0 -4
  130. package/dist-cjs/packages/lab/src/index.js.map +1 -1
  131. package/dist-cjs/packages/lab/src/input/Input.js +4 -8
  132. package/dist-cjs/packages/lab/src/input/Input.js.map +1 -1
  133. package/dist-cjs/packages/lab/src/input/StaticInputAdornment.js +2 -6
  134. package/dist-cjs/packages/lab/src/input/StaticInputAdornment.js.map +1 -1
  135. package/dist-cjs/packages/lab/src/layer-layout/LayerLayout.js +3 -7
  136. package/dist-cjs/packages/lab/src/layer-layout/LayerLayout.js.map +1 -1
  137. package/dist-cjs/packages/lab/src/list/List.js +4 -8
  138. package/dist-cjs/packages/lab/src/list/List.js.map +1 -1
  139. package/dist-cjs/packages/lab/src/list/ListItem.js +3 -7
  140. package/dist-cjs/packages/lab/src/list/ListItem.js.map +1 -1
  141. package/dist-cjs/packages/lab/src/list/VirtualizedList.js +3 -7
  142. package/dist-cjs/packages/lab/src/list/VirtualizedList.js.map +1 -1
  143. package/dist-cjs/packages/lab/src/list/useList.js +1 -1
  144. package/dist-cjs/packages/lab/src/list/useVirtualization.js +2 -1
  145. package/dist-cjs/packages/lab/src/list/useVirtualization.js.map +1 -1
  146. package/dist-cjs/packages/lab/src/list-deprecated/ListBase.js +3 -7
  147. package/dist-cjs/packages/lab/src/list-deprecated/ListBase.js.map +1 -1
  148. package/dist-cjs/packages/lab/src/list-deprecated/ListItemBase.js +2 -6
  149. package/dist-cjs/packages/lab/src/list-deprecated/ListItemBase.js.map +1 -1
  150. package/dist-cjs/packages/lab/src/logo/Logo.js +5 -9
  151. package/dist-cjs/packages/lab/src/logo/Logo.js.map +1 -1
  152. package/dist-cjs/packages/lab/src/menu-button/MenuButtonTrigger.js +2 -6
  153. package/dist-cjs/packages/lab/src/menu-button/MenuButtonTrigger.js.map +1 -1
  154. package/dist-cjs/packages/lab/src/metric/Metric.js +2 -6
  155. package/dist-cjs/packages/lab/src/metric/Metric.js.map +1 -1
  156. package/dist-cjs/packages/lab/src/metric/MetricContent.js +2 -6
  157. package/dist-cjs/packages/lab/src/metric/MetricContent.js.map +1 -1
  158. package/dist-cjs/packages/lab/src/metric/MetricHeader.js +2 -6
  159. package/dist-cjs/packages/lab/src/metric/MetricHeader.js.map +1 -1
  160. package/dist-cjs/packages/lab/src/overlay/Overlay.js +3 -7
  161. package/dist-cjs/packages/lab/src/overlay/Overlay.js.map +1 -1
  162. package/dist-cjs/packages/lab/src/pagination/ArrowButton.js +2 -6
  163. package/dist-cjs/packages/lab/src/pagination/ArrowButton.js.map +1 -1
  164. package/dist-cjs/packages/lab/src/pagination/CompactInput.js +3 -7
  165. package/dist-cjs/packages/lab/src/pagination/CompactInput.js.map +1 -1
  166. package/dist-cjs/packages/lab/src/pagination/GoToInput.js +3 -7
  167. package/dist-cjs/packages/lab/src/pagination/GoToInput.js.map +1 -1
  168. package/dist-cjs/packages/lab/src/pagination/PageButton.js +2 -6
  169. package/dist-cjs/packages/lab/src/pagination/PageButton.js.map +1 -1
  170. package/dist-cjs/packages/lab/src/pagination/Pagination.js +2 -6
  171. package/dist-cjs/packages/lab/src/pagination/Pagination.js.map +1 -1
  172. package/dist-cjs/packages/lab/src/pagination/Paginator.js +2 -6
  173. package/dist-cjs/packages/lab/src/pagination/Paginator.js.map +1 -1
  174. package/dist-cjs/packages/lab/src/parent-child-item/ParentChildItem.js +2 -6
  175. package/dist-cjs/packages/lab/src/parent-child-item/ParentChildItem.js.map +1 -1
  176. package/dist-cjs/packages/lab/src/parent-child-layout/ParentChildLayout.js +2 -6
  177. package/dist-cjs/packages/lab/src/parent-child-layout/ParentChildLayout.js.map +1 -1
  178. package/dist-cjs/packages/lab/src/pill/ClosablePill.js +2 -6
  179. package/dist-cjs/packages/lab/src/pill/ClosablePill.js.map +1 -1
  180. package/dist-cjs/packages/lab/src/pill/PillBase.js +4 -8
  181. package/dist-cjs/packages/lab/src/pill/PillBase.js.map +1 -1
  182. package/dist-cjs/packages/lab/src/pill/SelectablePill.js +2 -6
  183. package/dist-cjs/packages/lab/src/pill/SelectablePill.js.map +1 -1
  184. package/dist-cjs/packages/lab/src/pill/internal/DeleteButton.js +2 -6
  185. package/dist-cjs/packages/lab/src/pill/internal/DeleteButton.js.map +1 -1
  186. package/dist-cjs/packages/lab/src/pill/internal/DivButton.js +2 -6
  187. package/dist-cjs/packages/lab/src/pill/internal/DivButton.js.map +1 -1
  188. package/dist-cjs/packages/lab/src/progress/CircularProgress/CircularProgress.js +4 -8
  189. package/dist-cjs/packages/lab/src/progress/CircularProgress/CircularProgress.js.map +1 -1
  190. package/dist-cjs/packages/lab/src/progress/LinearProgress/LinearProgress.js +5 -9
  191. package/dist-cjs/packages/lab/src/progress/LinearProgress/LinearProgress.js.map +1 -1
  192. package/dist-cjs/packages/lab/src/query-input/QueryInput.js +2 -6
  193. package/dist-cjs/packages/lab/src/query-input/QueryInput.js.map +1 -1
  194. package/dist-cjs/packages/lab/src/radio-button/RadioButton.js +3 -7
  195. package/dist-cjs/packages/lab/src/radio-button/RadioButton.js.map +1 -1
  196. package/dist-cjs/packages/lab/src/radio-button/RadioButtonBase.js +2 -6
  197. package/dist-cjs/packages/lab/src/radio-button/RadioButtonBase.js.map +1 -1
  198. package/dist-cjs/packages/lab/src/radio-button/RadioButtonGroup.js +3 -7
  199. package/dist-cjs/packages/lab/src/radio-button/RadioButtonGroup.js.map +1 -1
  200. package/dist-cjs/packages/lab/src/radio-button/RadioButtonIcon.js +2 -6
  201. package/dist-cjs/packages/lab/src/radio-button/RadioButtonIcon.js.map +1 -1
  202. package/dist-cjs/packages/lab/src/responsive/useResizeObserver.js +6 -3
  203. package/dist-cjs/packages/lab/src/responsive/useResizeObserver.js.map +1 -1
  204. package/dist-cjs/packages/lab/src/scrim/Scrim.js +2 -3
  205. package/dist-cjs/packages/lab/src/scrim/Scrim.js.map +1 -1
  206. package/dist-cjs/packages/lab/src/search-input/SearchInput.js +3 -7
  207. package/dist-cjs/packages/lab/src/search-input/SearchInput.js.map +1 -1
  208. package/dist-cjs/packages/lab/src/skip-link/SkipLink.js +3 -7
  209. package/dist-cjs/packages/lab/src/skip-link/SkipLink.js.map +1 -1
  210. package/dist-cjs/packages/lab/src/skip-link/SkipLinks.js +2 -6
  211. package/dist-cjs/packages/lab/src/skip-link/SkipLinks.js.map +1 -1
  212. package/dist-cjs/packages/lab/src/slider/Slider.js +2 -6
  213. package/dist-cjs/packages/lab/src/slider/Slider.js.map +1 -1
  214. package/dist-cjs/packages/lab/src/slider/internal/SliderHandle.js +2 -6
  215. package/dist-cjs/packages/lab/src/slider/internal/SliderHandle.js.map +1 -1
  216. package/dist-cjs/packages/lab/src/slider/internal/SliderRailMarks.js +2 -6
  217. package/dist-cjs/packages/lab/src/slider/internal/SliderRailMarks.js.map +1 -1
  218. package/dist-cjs/packages/lab/src/spinner/Spinner.js +2 -6
  219. package/dist-cjs/packages/lab/src/spinner/Spinner.js.map +1 -1
  220. package/dist-cjs/packages/lab/src/stepper-input/StepperInput.js +5 -9
  221. package/dist-cjs/packages/lab/src/stepper-input/StepperInput.js.map +1 -1
  222. package/dist-cjs/packages/lab/src/switch/Switch.js +4 -8
  223. package/dist-cjs/packages/lab/src/switch/Switch.js.map +1 -1
  224. package/dist-cjs/packages/lab/src/tabs/Tab.js +2 -6
  225. package/dist-cjs/packages/lab/src/tabs/Tab.js.map +1 -1
  226. package/dist-cjs/packages/lab/src/tabs/TabPanel.js +2 -6
  227. package/dist-cjs/packages/lab/src/tabs/TabPanel.js.map +1 -1
  228. package/dist-cjs/packages/lab/src/tabs/Tabs.js +2 -6
  229. package/dist-cjs/packages/lab/src/tabs/Tabs.js.map +1 -1
  230. package/dist-cjs/packages/lab/src/tabs/Tabstrip.js +4 -5
  231. package/dist-cjs/packages/lab/src/tabs/Tabstrip.js.map +1 -1
  232. package/dist-cjs/packages/lab/src/tabs/drag-drop/Draggable.js +2 -6
  233. package/dist-cjs/packages/lab/src/tabs/drag-drop/Draggable.js.map +1 -1
  234. package/dist-cjs/packages/lab/src/toggle-button/ToggleButton.js +2 -6
  235. package/dist-cjs/packages/lab/src/toggle-button/ToggleButton.js.map +1 -1
  236. package/dist-cjs/packages/lab/src/toggle-button/ToggleButtonGroup.js +2 -6
  237. package/dist-cjs/packages/lab/src/toggle-button/ToggleButtonGroup.js.map +1 -1
  238. package/dist-cjs/packages/lab/src/tokenized-input/TokenizedInputBase.js +7 -12
  239. package/dist-cjs/packages/lab/src/tokenized-input/TokenizedInputBase.js.map +1 -1
  240. package/dist-cjs/packages/lab/src/tokenized-input/internal/InputPill.js +2 -6
  241. package/dist-cjs/packages/lab/src/tokenized-input/internal/InputPill.js.map +1 -1
  242. package/dist-cjs/packages/lab/src/toolbar/Toolbar.js +4 -8
  243. package/dist-cjs/packages/lab/src/toolbar/Toolbar.js.map +1 -1
  244. package/dist-cjs/packages/lab/src/toolbar/Tooltray.js +4 -8
  245. package/dist-cjs/packages/lab/src/toolbar/Tooltray.js.map +1 -1
  246. package/dist-cjs/packages/lab/src/toolbar/overflow-panel/OverflowPanel.js +2 -3
  247. package/dist-cjs/packages/lab/src/toolbar/overflow-panel/OverflowPanel.js.map +1 -1
  248. package/dist-cjs/packages/lab/src/toolbar/overflow-panel/OverflowSeparator.js +2 -6
  249. package/dist-cjs/packages/lab/src/toolbar/overflow-panel/OverflowSeparator.js.map +1 -1
  250. package/dist-cjs/packages/lab/src/toolbar/toolbar-field/useToolbarField.js +3 -7
  251. package/dist-cjs/packages/lab/src/toolbar/toolbar-field/useToolbarField.js.map +1 -1
  252. package/dist-cjs/packages/lab/src/tooltip/Tooltip.js +2 -6
  253. package/dist-cjs/packages/lab/src/tooltip/Tooltip.js.map +1 -1
  254. package/dist-cjs/packages/lab/src/tree/Tree.js +4 -8
  255. package/dist-cjs/packages/lab/src/tree/Tree.js.map +1 -1
  256. package/dist-cjs/packages/lab/src/tree/TreeNode.js +2 -6
  257. package/dist-cjs/packages/lab/src/tree/TreeNode.js.map +1 -1
  258. package/dist-cjs/packages/lab/src/tree/useTree.js +1 -1
  259. package/dist-es/packages/lab/src/accordion/Accordion.js +2 -2
  260. package/dist-es/packages/lab/src/accordion/Accordion.js.map +1 -1
  261. package/dist-es/packages/lab/src/accordion/AccordionDetails.js +3 -3
  262. package/dist-es/packages/lab/src/accordion/AccordionDetails.js.map +1 -1
  263. package/dist-es/packages/lab/src/accordion/AccordionSection.js +2 -2
  264. package/dist-es/packages/lab/src/accordion/AccordionSection.js.map +1 -1
  265. package/dist-es/packages/lab/src/accordion/AccordionSummary.js +2 -2
  266. package/dist-es/packages/lab/src/accordion/AccordionSummary.js.map +1 -1
  267. package/dist-es/packages/lab/src/app-header/AppHeader.js +2 -2
  268. package/dist-es/packages/lab/src/app-header/AppHeader.js.map +1 -1
  269. package/dist-es/packages/lab/src/avatar/Avatar.js +2 -2
  270. package/dist-es/packages/lab/src/avatar/Avatar.js.map +1 -1
  271. package/dist-es/packages/lab/src/badge/Badge.js +4 -4
  272. package/dist-es/packages/lab/src/badge/Badge.js.map +1 -1
  273. package/dist-es/packages/lab/src/banner/Banner.js +5 -5
  274. package/dist-es/packages/lab/src/banner/Banner.js.map +1 -1
  275. package/dist-es/packages/lab/src/breadcrumbs/Breadcrumb.js +4 -4
  276. package/dist-es/packages/lab/src/breadcrumbs/Breadcrumb.js.map +1 -1
  277. package/dist-es/packages/lab/src/breadcrumbs/Breadcrumbs.js +3 -3
  278. package/dist-es/packages/lab/src/breadcrumbs/Breadcrumbs.js.map +1 -1
  279. package/dist-es/packages/lab/src/button-bar/ButtonBar.js +2 -2
  280. package/dist-es/packages/lab/src/button-bar/ButtonBar.js.map +1 -1
  281. package/dist-es/packages/lab/src/button-bar/OrderedButton.js +2 -2
  282. package/dist-es/packages/lab/src/button-bar/OrderedButton.js.map +1 -1
  283. package/dist-es/packages/lab/src/calendar/Calendar.js +2 -2
  284. package/dist-es/packages/lab/src/calendar/Calendar.js.map +1 -1
  285. package/dist-es/packages/lab/src/calendar/internal/CalendarDay.js +2 -2
  286. package/dist-es/packages/lab/src/calendar/internal/CalendarDay.js.map +1 -1
  287. package/dist-es/packages/lab/src/calendar/internal/CalendarMonth.js +2 -2
  288. package/dist-es/packages/lab/src/calendar/internal/CalendarMonth.js.map +1 -1
  289. package/dist-es/packages/lab/src/calendar/internal/CalendarNavigation.js +4 -4
  290. package/dist-es/packages/lab/src/calendar/internal/CalendarNavigation.js.map +1 -1
  291. package/dist-es/packages/lab/src/calendar/internal/CalendarWeekHeader.js +2 -2
  292. package/dist-es/packages/lab/src/calendar/internal/CalendarWeekHeader.js.map +1 -1
  293. package/dist-es/packages/lab/src/calendar/useSelection.js +2 -2
  294. package/dist-es/packages/lab/src/calendar/useSelection.js.map +1 -1
  295. package/dist-es/packages/lab/src/carousel/Carousel.js +2 -2
  296. package/dist-es/packages/lab/src/carousel/Carousel.js.map +1 -1
  297. package/dist-es/packages/lab/src/carousel/CarouselSlide.js +4 -4
  298. package/dist-es/packages/lab/src/carousel/CarouselSlide.js.map +1 -1
  299. package/dist-es/packages/lab/src/cascading-menu/CascadingMenu.js +1 -1
  300. package/dist-es/packages/lab/src/cascading-menu/CascadingMenu.js.map +1 -1
  301. package/dist-es/packages/lab/src/cascading-menu/CascadingMenuItem.js +8 -11
  302. package/dist-es/packages/lab/src/cascading-menu/CascadingMenuItem.js.map +1 -1
  303. package/dist-es/packages/lab/src/cascading-menu/CascadingMenuList.js +2 -2
  304. package/dist-es/packages/lab/src/cascading-menu/CascadingMenuList.js.map +1 -1
  305. package/dist-es/packages/lab/src/checkbox/Checkbox.js +2 -2
  306. package/dist-es/packages/lab/src/checkbox/Checkbox.js.map +1 -1
  307. package/dist-es/packages/lab/src/checkbox/CheckboxBase.js +2 -2
  308. package/dist-es/packages/lab/src/checkbox/CheckboxBase.js.map +1 -1
  309. package/dist-es/packages/lab/src/checkbox/CheckboxGroup.js +2 -2
  310. package/dist-es/packages/lab/src/checkbox/CheckboxGroup.js.map +1 -1
  311. package/dist-es/packages/lab/src/checkbox/CheckboxIcon.js +4 -4
  312. package/dist-es/packages/lab/src/checkbox/CheckboxIcon.js.map +1 -1
  313. package/dist-es/packages/lab/src/color-chooser/AlphaInputField.js +2 -2
  314. package/dist-es/packages/lab/src/color-chooser/AlphaInputField.js.map +1 -1
  315. package/dist-es/packages/lab/src/color-chooser/ColorChooser.js +7 -7
  316. package/dist-es/packages/lab/src/color-chooser/ColorChooser.js.map +1 -1
  317. package/dist-es/packages/lab/src/color-chooser/ColorPicker.js +7 -7
  318. package/dist-es/packages/lab/src/color-chooser/ColorPicker.js.map +1 -1
  319. package/dist-es/packages/lab/src/color-chooser/DictTabs.js +3 -3
  320. package/dist-es/packages/lab/src/color-chooser/DictTabs.js.map +1 -1
  321. package/dist-es/packages/lab/src/color-chooser/HexInput.js +4 -4
  322. package/dist-es/packages/lab/src/color-chooser/HexInput.js.map +1 -1
  323. package/dist-es/packages/lab/src/color-chooser/RGBAInput.js +5 -5
  324. package/dist-es/packages/lab/src/color-chooser/RGBAInput.js.map +1 -1
  325. package/dist-es/packages/lab/src/color-chooser/Swatch.js +2 -2
  326. package/dist-es/packages/lab/src/color-chooser/Swatch.js.map +1 -1
  327. package/dist-es/packages/lab/src/color-chooser/Swatches.js +6 -6
  328. package/dist-es/packages/lab/src/color-chooser/Swatches.js.map +1 -1
  329. package/dist-es/packages/lab/src/combo-box-deprecated/ComboBoxDeprecated.js +3 -3
  330. package/dist-es/packages/lab/src/combo-box-deprecated/ComboBoxDeprecated.js.map +1 -1
  331. package/dist-es/packages/lab/src/common-hooks/useAutoSizer.js +4 -3
  332. package/dist-es/packages/lab/src/common-hooks/useAutoSizer.js.map +1 -1
  333. package/dist-es/packages/lab/src/common-hooks/useViewportTracking.js +3 -3
  334. package/dist-es/packages/lab/src/common-hooks/useViewportTracking.js.map +1 -1
  335. package/dist-es/packages/lab/src/contact-details/ContactAvatar.js +2 -2
  336. package/dist-es/packages/lab/src/contact-details/ContactAvatar.js.map +1 -1
  337. package/dist-es/packages/lab/src/contact-details/ContactDetails.js +2 -2
  338. package/dist-es/packages/lab/src/contact-details/ContactDetails.js.map +1 -1
  339. package/dist-es/packages/lab/src/contact-details/ContactMetadata.js +2 -2
  340. package/dist-es/packages/lab/src/contact-details/ContactMetadata.js.map +1 -1
  341. package/dist-es/packages/lab/src/contact-details/ContactPrimaryInfo.js +2 -2
  342. package/dist-es/packages/lab/src/contact-details/ContactPrimaryInfo.js.map +1 -1
  343. package/dist-es/packages/lab/src/contact-details/ContactSecondaryInfo.js +2 -2
  344. package/dist-es/packages/lab/src/contact-details/ContactSecondaryInfo.js.map +1 -1
  345. package/dist-es/packages/lab/src/contact-details/ContactTertiaryInfo.js +2 -2
  346. package/dist-es/packages/lab/src/contact-details/ContactTertiaryInfo.js.map +1 -1
  347. package/dist-es/packages/lab/src/contact-details/internal/StarIconContainer.js +3 -3
  348. package/dist-es/packages/lab/src/contact-details/internal/StarIconContainer.js.map +1 -1
  349. package/dist-es/packages/lab/src/content-status/ContentStatus.js +6 -6
  350. package/dist-es/packages/lab/src/content-status/ContentStatus.js.map +1 -1
  351. package/dist-es/packages/lab/src/content-status/internal/StatusIndicator.js +3 -3
  352. package/dist-es/packages/lab/src/content-status/internal/StatusIndicator.js.map +1 -1
  353. package/dist-es/packages/lab/src/control-label/ControlLabel.js +2 -2
  354. package/dist-es/packages/lab/src/control-label/ControlLabel.js.map +1 -1
  355. package/dist-es/packages/lab/src/deck-item/DeckItem.js +2 -2
  356. package/dist-es/packages/lab/src/deck-item/DeckItem.js.map +1 -1
  357. package/dist-es/packages/lab/src/deck-layout/DeckLayout.js +3 -3
  358. package/dist-es/packages/lab/src/deck-layout/DeckLayout.js.map +1 -1
  359. package/dist-es/packages/lab/src/dialog/Dialog.js +2 -2
  360. package/dist-es/packages/lab/src/dialog/Dialog.js.map +1 -1
  361. package/dist-es/packages/lab/src/dialog/DialogActions.js +2 -2
  362. package/dist-es/packages/lab/src/dialog/DialogActions.js.map +1 -1
  363. package/dist-es/packages/lab/src/dialog/DialogContent.js +2 -2
  364. package/dist-es/packages/lab/src/dialog/DialogContent.js.map +1 -1
  365. package/dist-es/packages/lab/src/dialog/DialogTitle.js +2 -2
  366. package/dist-es/packages/lab/src/dialog/DialogTitle.js.map +1 -1
  367. package/dist-es/packages/lab/src/dropdown/DropdownBase.js +4 -4
  368. package/dist-es/packages/lab/src/dropdown/DropdownBase.js.map +1 -1
  369. package/dist-es/packages/lab/src/dropdown/DropdownButton.js +2 -2
  370. package/dist-es/packages/lab/src/dropdown/DropdownButton.js.map +1 -1
  371. package/dist-es/packages/lab/src/editable-label/EditableLabel.js +2 -2
  372. package/dist-es/packages/lab/src/editable-label/EditableLabel.js.map +1 -1
  373. package/dist-es/packages/lab/src/file-drop-zone/FileDropZone.js +2 -2
  374. package/dist-es/packages/lab/src/file-drop-zone/FileDropZone.js.map +1 -1
  375. package/dist-es/packages/lab/src/form-field/FormField.js +2 -2
  376. package/dist-es/packages/lab/src/form-field/FormField.js.map +1 -1
  377. package/dist-es/packages/lab/src/form-field/FormLabel.js +2 -2
  378. package/dist-es/packages/lab/src/form-field/FormLabel.js.map +1 -1
  379. package/dist-es/packages/lab/src/form-field/StatusIndicator.js +2 -2
  380. package/dist-es/packages/lab/src/form-field/StatusIndicator.js.map +1 -1
  381. package/dist-es/packages/lab/src/form-group/FormGroup.js +2 -2
  382. package/dist-es/packages/lab/src/form-group/FormGroup.js.map +1 -1
  383. package/dist-es/packages/lab/src/formatted-input/FormattedInput.js +2 -2
  384. package/dist-es/packages/lab/src/formatted-input/FormattedInput.js.map +1 -1
  385. package/dist-es/packages/lab/src/formatted-input/internal/InputWithMask.js +2 -2
  386. package/dist-es/packages/lab/src/formatted-input/internal/InputWithMask.js.map +1 -1
  387. package/dist-es/packages/lab/src/index.js +0 -2
  388. package/dist-es/packages/lab/src/index.js.map +1 -1
  389. package/dist-es/packages/lab/src/input/Input.js +4 -4
  390. package/dist-es/packages/lab/src/input/Input.js.map +1 -1
  391. package/dist-es/packages/lab/src/input/StaticInputAdornment.js +2 -2
  392. package/dist-es/packages/lab/src/input/StaticInputAdornment.js.map +1 -1
  393. package/dist-es/packages/lab/src/layer-layout/LayerLayout.js +3 -3
  394. package/dist-es/packages/lab/src/layer-layout/LayerLayout.js.map +1 -1
  395. package/dist-es/packages/lab/src/list/List.js +4 -4
  396. package/dist-es/packages/lab/src/list/List.js.map +1 -1
  397. package/dist-es/packages/lab/src/list/ListItem.js +3 -3
  398. package/dist-es/packages/lab/src/list/ListItem.js.map +1 -1
  399. package/dist-es/packages/lab/src/list/VirtualizedList.js +3 -3
  400. package/dist-es/packages/lab/src/list/VirtualizedList.js.map +1 -1
  401. package/dist-es/packages/lab/src/list/useList.js +1 -1
  402. package/dist-es/packages/lab/src/list/useVirtualization.js +3 -2
  403. package/dist-es/packages/lab/src/list/useVirtualization.js.map +1 -1
  404. package/dist-es/packages/lab/src/list-deprecated/ListBase.js +3 -3
  405. package/dist-es/packages/lab/src/list-deprecated/ListBase.js.map +1 -1
  406. package/dist-es/packages/lab/src/list-deprecated/ListItemBase.js +2 -2
  407. package/dist-es/packages/lab/src/list-deprecated/ListItemBase.js.map +1 -1
  408. package/dist-es/packages/lab/src/logo/Logo.js +5 -5
  409. package/dist-es/packages/lab/src/logo/Logo.js.map +1 -1
  410. package/dist-es/packages/lab/src/menu-button/MenuButtonTrigger.js +2 -2
  411. package/dist-es/packages/lab/src/menu-button/MenuButtonTrigger.js.map +1 -1
  412. package/dist-es/packages/lab/src/metric/Metric.js +2 -2
  413. package/dist-es/packages/lab/src/metric/Metric.js.map +1 -1
  414. package/dist-es/packages/lab/src/metric/MetricContent.js +2 -2
  415. package/dist-es/packages/lab/src/metric/MetricContent.js.map +1 -1
  416. package/dist-es/packages/lab/src/metric/MetricHeader.js +2 -2
  417. package/dist-es/packages/lab/src/metric/MetricHeader.js.map +1 -1
  418. package/dist-es/packages/lab/src/overlay/Overlay.js +3 -3
  419. package/dist-es/packages/lab/src/overlay/Overlay.js.map +1 -1
  420. package/dist-es/packages/lab/src/pagination/ArrowButton.js +2 -2
  421. package/dist-es/packages/lab/src/pagination/ArrowButton.js.map +1 -1
  422. package/dist-es/packages/lab/src/pagination/CompactInput.js +3 -3
  423. package/dist-es/packages/lab/src/pagination/CompactInput.js.map +1 -1
  424. package/dist-es/packages/lab/src/pagination/GoToInput.js +3 -3
  425. package/dist-es/packages/lab/src/pagination/GoToInput.js.map +1 -1
  426. package/dist-es/packages/lab/src/pagination/PageButton.js +2 -2
  427. package/dist-es/packages/lab/src/pagination/PageButton.js.map +1 -1
  428. package/dist-es/packages/lab/src/pagination/Pagination.js +2 -2
  429. package/dist-es/packages/lab/src/pagination/Pagination.js.map +1 -1
  430. package/dist-es/packages/lab/src/pagination/Paginator.js +2 -2
  431. package/dist-es/packages/lab/src/pagination/Paginator.js.map +1 -1
  432. package/dist-es/packages/lab/src/parent-child-item/ParentChildItem.js +2 -2
  433. package/dist-es/packages/lab/src/parent-child-item/ParentChildItem.js.map +1 -1
  434. package/dist-es/packages/lab/src/parent-child-layout/ParentChildLayout.js +2 -2
  435. package/dist-es/packages/lab/src/parent-child-layout/ParentChildLayout.js.map +1 -1
  436. package/dist-es/packages/lab/src/pill/ClosablePill.js +2 -2
  437. package/dist-es/packages/lab/src/pill/ClosablePill.js.map +1 -1
  438. package/dist-es/packages/lab/src/pill/PillBase.js +4 -4
  439. package/dist-es/packages/lab/src/pill/PillBase.js.map +1 -1
  440. package/dist-es/packages/lab/src/pill/SelectablePill.js +2 -2
  441. package/dist-es/packages/lab/src/pill/SelectablePill.js.map +1 -1
  442. package/dist-es/packages/lab/src/pill/internal/DeleteButton.js +2 -2
  443. package/dist-es/packages/lab/src/pill/internal/DeleteButton.js.map +1 -1
  444. package/dist-es/packages/lab/src/pill/internal/DivButton.js +2 -2
  445. package/dist-es/packages/lab/src/pill/internal/DivButton.js.map +1 -1
  446. package/dist-es/packages/lab/src/progress/CircularProgress/CircularProgress.js +4 -4
  447. package/dist-es/packages/lab/src/progress/CircularProgress/CircularProgress.js.map +1 -1
  448. package/dist-es/packages/lab/src/progress/LinearProgress/LinearProgress.js +5 -5
  449. package/dist-es/packages/lab/src/progress/LinearProgress/LinearProgress.js.map +1 -1
  450. package/dist-es/packages/lab/src/query-input/QueryInput.js +2 -2
  451. package/dist-es/packages/lab/src/query-input/QueryInput.js.map +1 -1
  452. package/dist-es/packages/lab/src/radio-button/RadioButton.js +3 -3
  453. package/dist-es/packages/lab/src/radio-button/RadioButton.js.map +1 -1
  454. package/dist-es/packages/lab/src/radio-button/RadioButtonBase.js +2 -2
  455. package/dist-es/packages/lab/src/radio-button/RadioButtonBase.js.map +1 -1
  456. package/dist-es/packages/lab/src/radio-button/RadioButtonGroup.js +3 -3
  457. package/dist-es/packages/lab/src/radio-button/RadioButtonGroup.js.map +1 -1
  458. package/dist-es/packages/lab/src/radio-button/RadioButtonIcon.js +2 -2
  459. package/dist-es/packages/lab/src/radio-button/RadioButtonIcon.js.map +1 -1
  460. package/dist-es/packages/lab/src/responsive/useResizeObserver.js +6 -3
  461. package/dist-es/packages/lab/src/responsive/useResizeObserver.js.map +1 -1
  462. package/dist-es/packages/lab/src/scrim/Scrim.js +2 -2
  463. package/dist-es/packages/lab/src/scrim/Scrim.js.map +1 -1
  464. package/dist-es/packages/lab/src/search-input/SearchInput.js +3 -3
  465. package/dist-es/packages/lab/src/search-input/SearchInput.js.map +1 -1
  466. package/dist-es/packages/lab/src/skip-link/SkipLink.js +3 -3
  467. package/dist-es/packages/lab/src/skip-link/SkipLink.js.map +1 -1
  468. package/dist-es/packages/lab/src/skip-link/SkipLinks.js +2 -2
  469. package/dist-es/packages/lab/src/skip-link/SkipLinks.js.map +1 -1
  470. package/dist-es/packages/lab/src/slider/Slider.js +2 -2
  471. package/dist-es/packages/lab/src/slider/Slider.js.map +1 -1
  472. package/dist-es/packages/lab/src/slider/internal/SliderHandle.js +2 -2
  473. package/dist-es/packages/lab/src/slider/internal/SliderHandle.js.map +1 -1
  474. package/dist-es/packages/lab/src/slider/internal/SliderRailMarks.js +2 -2
  475. package/dist-es/packages/lab/src/slider/internal/SliderRailMarks.js.map +1 -1
  476. package/dist-es/packages/lab/src/spinner/Spinner.js +2 -2
  477. package/dist-es/packages/lab/src/spinner/Spinner.js.map +1 -1
  478. package/dist-es/packages/lab/src/stepper-input/StepperInput.js +5 -5
  479. package/dist-es/packages/lab/src/stepper-input/StepperInput.js.map +1 -1
  480. package/dist-es/packages/lab/src/switch/Switch.js +4 -4
  481. package/dist-es/packages/lab/src/switch/Switch.js.map +1 -1
  482. package/dist-es/packages/lab/src/tabs/Tab.js +2 -2
  483. package/dist-es/packages/lab/src/tabs/Tab.js.map +1 -1
  484. package/dist-es/packages/lab/src/tabs/TabPanel.js +2 -2
  485. package/dist-es/packages/lab/src/tabs/TabPanel.js.map +1 -1
  486. package/dist-es/packages/lab/src/tabs/Tabs.js +2 -2
  487. package/dist-es/packages/lab/src/tabs/Tabs.js.map +1 -1
  488. package/dist-es/packages/lab/src/tabs/Tabstrip.js +4 -4
  489. package/dist-es/packages/lab/src/tabs/Tabstrip.js.map +1 -1
  490. package/dist-es/packages/lab/src/tabs/drag-drop/Draggable.js +2 -2
  491. package/dist-es/packages/lab/src/tabs/drag-drop/Draggable.js.map +1 -1
  492. package/dist-es/packages/lab/src/toggle-button/ToggleButton.js +2 -2
  493. package/dist-es/packages/lab/src/toggle-button/ToggleButton.js.map +1 -1
  494. package/dist-es/packages/lab/src/toggle-button/ToggleButtonGroup.js +2 -2
  495. package/dist-es/packages/lab/src/toggle-button/ToggleButtonGroup.js.map +1 -1
  496. package/dist-es/packages/lab/src/tokenized-input/TokenizedInputBase.js +7 -11
  497. package/dist-es/packages/lab/src/tokenized-input/TokenizedInputBase.js.map +1 -1
  498. package/dist-es/packages/lab/src/tokenized-input/internal/InputPill.js +2 -2
  499. package/dist-es/packages/lab/src/tokenized-input/internal/InputPill.js.map +1 -1
  500. package/dist-es/packages/lab/src/toolbar/Toolbar.js +4 -4
  501. package/dist-es/packages/lab/src/toolbar/Toolbar.js.map +1 -1
  502. package/dist-es/packages/lab/src/toolbar/Tooltray.js +4 -4
  503. package/dist-es/packages/lab/src/toolbar/Tooltray.js.map +1 -1
  504. package/dist-es/packages/lab/src/toolbar/overflow-panel/OverflowPanel.js +2 -2
  505. package/dist-es/packages/lab/src/toolbar/overflow-panel/OverflowPanel.js.map +1 -1
  506. package/dist-es/packages/lab/src/toolbar/overflow-panel/OverflowSeparator.js +2 -2
  507. package/dist-es/packages/lab/src/toolbar/overflow-panel/OverflowSeparator.js.map +1 -1
  508. package/dist-es/packages/lab/src/toolbar/toolbar-field/useToolbarField.js +3 -3
  509. package/dist-es/packages/lab/src/toolbar/toolbar-field/useToolbarField.js.map +1 -1
  510. package/dist-es/packages/lab/src/tooltip/Tooltip.js +2 -2
  511. package/dist-es/packages/lab/src/tooltip/Tooltip.js.map +1 -1
  512. package/dist-es/packages/lab/src/tree/Tree.js +4 -4
  513. package/dist-es/packages/lab/src/tree/Tree.js.map +1 -1
  514. package/dist-es/packages/lab/src/tree/TreeNode.js +2 -2
  515. package/dist-es/packages/lab/src/tree/TreeNode.js.map +1 -1
  516. package/dist-es/packages/lab/src/tree/useTree.js +1 -1
  517. package/dist-types/calendar/internal/CalendarCarousel.d.ts +1 -1
  518. package/dist-types/calendar/internal/CalendarDay.d.ts +1 -1
  519. package/dist-types/calendar/internal/CalendarMonth.d.ts +1 -1
  520. package/dist-types/calendar/internal/CalendarNavigation.d.ts +1 -1
  521. package/dist-types/calendar/useCalendar.d.ts +1 -1
  522. package/dist-types/combo-box-deprecated/internal/useComboBox.d.ts +7 -7
  523. package/dist-types/combo-box-deprecated/internal/useMultiSelectComboBox.d.ts +17 -17
  524. package/dist-types/index.d.ts +0 -2
  525. package/dist-types/overlay/useOverlay.d.ts +1 -1
  526. package/dist-types/skip-link/SkipLink.d.ts +1 -1
  527. package/dist-types/stepper-input/useStepperInput.d.ts +10 -10
  528. package/dist-types/tabs/Tab.d.ts +1 -1
  529. package/dist-types/tabs/drag-drop/drag-utils.d.ts +8 -8
  530. package/dist-types/tooltip/useTooltip.d.ts +2 -2
  531. package/package.json +5 -5
  532. package/dist-cjs/packages/lab/src/card/Card.css.js +0 -9
  533. package/dist-cjs/packages/lab/src/card/Card.css.js.map +0 -1
  534. package/dist-cjs/packages/lab/src/card/Card.js +0 -37
  535. package/dist-cjs/packages/lab/src/card/Card.js.map +0 -1
  536. package/dist-cjs/packages/lab/src/panel/Panel.css.js +0 -9
  537. package/dist-cjs/packages/lab/src/panel/Panel.css.js.map +0 -1
  538. package/dist-cjs/packages/lab/src/panel/Panel.js +0 -28
  539. package/dist-cjs/packages/lab/src/panel/Panel.js.map +0 -1
  540. package/dist-es/packages/lab/src/card/Card.css.js +0 -7
  541. package/dist-es/packages/lab/src/card/Card.css.js.map +0 -1
  542. package/dist-es/packages/lab/src/card/Card.js +0 -29
  543. package/dist-es/packages/lab/src/card/Card.js.map +0 -1
  544. package/dist-es/packages/lab/src/panel/Panel.css.js +0 -7
  545. package/dist-es/packages/lab/src/panel/Panel.css.js.map +0 -1
  546. package/dist-es/packages/lab/src/panel/Panel.js +0 -20
  547. package/dist-es/packages/lab/src/panel/Panel.js.map +0 -1
  548. package/dist-types/card/Card.d.ts +0 -18
  549. package/dist-types/card/index.d.ts +0 -1
  550. package/dist-types/panel/Panel.d.ts +0 -20
  551. package/dist-types/panel/index.d.ts +0 -1
@@ -2,19 +2,19 @@ import { jsx } from 'react/jsx-runtime';
2
2
  import { forwardRef } from 'react';
3
3
  import { makePrefixer, Link } from '@salt-ds/core';
4
4
  import './SkipLink.css.js';
5
- import cx from 'classnames';
5
+ import { clsx } from 'clsx';
6
6
  import { useManageFocusOnTarget } from './internal/useManageFocusOnTarget.js';
7
7
 
8
8
  const withBaseName = makePrefixer("saltSkipLink");
9
9
  const SkipLink = forwardRef(
10
10
  function SkipLink2({ className, targetRef, ...rest }, ref) {
11
- const targetClass = cx(withBaseName("target"), className);
11
+ const targetClass = clsx(withBaseName("target"), className);
12
12
  const eventHandlers = useManageFocusOnTarget({ targetRef, targetClass });
13
13
  return /* @__PURE__ */ jsx("li", {
14
14
  children: /* @__PURE__ */ jsx(Link, {
15
15
  ...eventHandlers,
16
16
  ...rest,
17
- className: cx(withBaseName(), className),
17
+ className: clsx(withBaseName(), className),
18
18
  ref
19
19
  })
20
20
  });
@@ -1 +1 @@
1
- {"version":3,"file":"SkipLink.js","sources":["../src/skip-link/SkipLink.tsx"],"sourcesContent":["import { forwardRef, RefObject } from \"react\";\nimport { LinkProps, Link, makePrefixer } from \"@salt-ds/core\";\nimport \"./SkipLink.css\";\nimport cx from \"classnames\";\nimport { useManageFocusOnTarget } from \"./internal/useManageFocusOnTarget\";\n\ninterface SkipLinkProps extends LinkProps {\n /**\n * This is a ref that has access to the target element.\n *\n * This will be used to apply focus to that element\n *\n * Refs are referentially stable so if this changes it won't be picked up\n * will need to find a better way of passing in the target element to apply the attributes\n */\n targetRef?: RefObject<HTMLElement>;\n}\n\nconst withBaseName = makePrefixer(\"saltSkipLink\");\n\nexport const SkipLink = forwardRef<HTMLAnchorElement, SkipLinkProps>(\n function SkipLink({ className, targetRef, ...rest }, ref) {\n const targetClass = cx(withBaseName(\"target\"), className);\n\n const eventHandlers = useManageFocusOnTarget({ targetRef, targetClass });\n\n return (\n <li>\n <Link\n {...eventHandlers}\n {...rest}\n className={cx(withBaseName(), className)}\n ref={ref}\n />\n </li>\n );\n }\n);\n"],"names":["SkipLink"],"mappings":";;;;;;;AAkBA,MAAM,YAAA,GAAe,aAAa,cAAc,CAAA,CAAA;AAEzC,MAAM,QAAW,GAAA,UAAA;AAAA,EACtB,SAASA,SAAS,CAAA,EAAE,WAAW,SAAc,EAAA,GAAA,IAAA,IAAQ,GAAK,EAAA;AACxD,IAAA,MAAM,WAAc,GAAA,EAAA,CAAG,YAAa,CAAA,QAAQ,GAAG,SAAS,CAAA,CAAA;AAExD,IAAA,MAAM,aAAgB,GAAA,sBAAA,CAAuB,EAAE,SAAA,EAAW,aAAa,CAAA,CAAA;AAEvE,IAAA,uBACG,GAAA,CAAA,IAAA,EAAA;AAAA,MACC,QAAC,kBAAA,GAAA,CAAA,IAAA,EAAA;AAAA,QACE,GAAG,aAAA;AAAA,QACH,GAAG,IAAA;AAAA,QACJ,SAAW,EAAA,EAAA,CAAG,YAAa,EAAA,EAAG,SAAS,CAAA;AAAA,QACvC,GAAA;AAAA,OACF,CAAA;AAAA,KACF,CAAA,CAAA;AAAA,GAEJ;AACF;;;;"}
1
+ {"version":3,"file":"SkipLink.js","sources":["../src/skip-link/SkipLink.tsx"],"sourcesContent":["import { forwardRef, RefObject } from \"react\";\nimport { LinkProps, Link, makePrefixer } from \"@salt-ds/core\";\nimport \"./SkipLink.css\";\nimport { clsx } from \"clsx\";\nimport { useManageFocusOnTarget } from \"./internal/useManageFocusOnTarget\";\n\ninterface SkipLinkProps extends LinkProps {\n /**\n * This is a ref that has access to the target element.\n *\n * This will be used to apply focus to that element\n *\n * Refs are referentially stable so if this changes it won't be picked up\n * will need to find a better way of passing in the target element to apply the attributes\n */\n targetRef?: RefObject<HTMLElement>;\n}\n\nconst withBaseName = makePrefixer(\"saltSkipLink\");\n\nexport const SkipLink = forwardRef<HTMLAnchorElement, SkipLinkProps>(\n function SkipLink({ className, targetRef, ...rest }, ref) {\n const targetClass = clsx(withBaseName(\"target\"), className);\n\n const eventHandlers = useManageFocusOnTarget({ targetRef, targetClass });\n\n return (\n <li>\n <Link\n {...eventHandlers}\n {...rest}\n className={clsx(withBaseName(), className)}\n ref={ref}\n />\n </li>\n );\n }\n);\n"],"names":["SkipLink"],"mappings":";;;;;;;AAkBA,MAAM,YAAA,GAAe,aAAa,cAAc,CAAA,CAAA;AAEzC,MAAM,QAAW,GAAA,UAAA;AAAA,EACtB,SAASA,SAAS,CAAA,EAAE,WAAW,SAAc,EAAA,GAAA,IAAA,IAAQ,GAAK,EAAA;AACxD,IAAA,MAAM,WAAc,GAAA,IAAA,CAAK,YAAa,CAAA,QAAQ,GAAG,SAAS,CAAA,CAAA;AAE1D,IAAA,MAAM,aAAgB,GAAA,sBAAA,CAAuB,EAAE,SAAA,EAAW,aAAa,CAAA,CAAA;AAEvE,IAAA,uBACG,GAAA,CAAA,IAAA,EAAA;AAAA,MACC,QAAC,kBAAA,GAAA,CAAA,IAAA,EAAA;AAAA,QACE,GAAG,aAAA;AAAA,QACH,GAAG,IAAA;AAAA,QACJ,SAAW,EAAA,IAAA,CAAK,YAAa,EAAA,EAAG,SAAS,CAAA;AAAA,QACzC,GAAA;AAAA,OACF,CAAA;AAAA,KACF,CAAA,CAAA;AAAA,GAEJ;AACF;;;;"}
@@ -1,6 +1,6 @@
1
1
  import { jsx } from 'react/jsx-runtime';
2
2
  import { forwardRef } from 'react';
3
- import cx from 'classnames';
3
+ import { clsx } from 'clsx';
4
4
  import { makePrefixer } from '@salt-ds/core';
5
5
  import './SkipLinks.css.js';
6
6
 
@@ -9,7 +9,7 @@ const SkipLinks = forwardRef(function SkipLinks2(props, ref) {
9
9
  const { className, children, ...restProps } = props;
10
10
  return /* @__PURE__ */ jsx("ul", {
11
11
  ...restProps,
12
- className: cx(withBaseName(), className),
12
+ className: clsx(withBaseName(), className),
13
13
  ref,
14
14
  children
15
15
  });
@@ -1 +1 @@
1
- {"version":3,"file":"SkipLinks.js","sources":["../src/skip-link/SkipLinks.tsx"],"sourcesContent":["import { forwardRef, HTMLAttributes } from \"react\";\nimport cx from \"classnames\";\nimport { makePrefixer } from \"@salt-ds/core\";\n\nimport \"./SkipLinks.css\";\n\nconst withBaseName = makePrefixer(\"saltSkipLinks\");\n\nexport const SkipLinks = forwardRef<\n HTMLUListElement,\n HTMLAttributes<HTMLUListElement>\n>(function SkipLinks(props, ref) {\n const { className, children, ...restProps } = props;\n\n return (\n <ul {...restProps} className={cx(withBaseName(), className)} ref={ref}>\n {children}\n </ul>\n );\n});\n"],"names":["SkipLinks"],"mappings":";;;;;;AAMA,MAAM,YAAA,GAAe,aAAa,eAAe,CAAA,CAAA;AAE1C,MAAM,SAAY,GAAA,UAAA,CAGvB,SAASA,UAAAA,CAAU,OAAO,GAAK,EAAA;AAC/B,EAAA,MAAM,EAAE,SAAA,EAAW,QAAa,EAAA,GAAA,SAAA,EAAc,GAAA,KAAA,CAAA;AAE9C,EAAA,uBACG,GAAA,CAAA,IAAA,EAAA;AAAA,IAAI,GAAG,SAAA;AAAA,IAAW,SAAW,EAAA,EAAA,CAAG,YAAa,EAAA,EAAG,SAAS,CAAA;AAAA,IAAG,GAAA;AAAA,IAC1D,QAAA;AAAA,GACH,CAAA,CAAA;AAEJ,CAAC;;;;"}
1
+ {"version":3,"file":"SkipLinks.js","sources":["../src/skip-link/SkipLinks.tsx"],"sourcesContent":["import { forwardRef, HTMLAttributes } from \"react\";\nimport { clsx } from \"clsx\";\nimport { makePrefixer } from \"@salt-ds/core\";\n\nimport \"./SkipLinks.css\";\n\nconst withBaseName = makePrefixer(\"saltSkipLinks\");\n\nexport const SkipLinks = forwardRef<\n HTMLUListElement,\n HTMLAttributes<HTMLUListElement>\n>(function SkipLinks(props, ref) {\n const { className, children, ...restProps } = props;\n\n return (\n <ul {...restProps} className={clsx(withBaseName(), className)} ref={ref}>\n {children}\n </ul>\n );\n});\n"],"names":["SkipLinks"],"mappings":";;;;;;AAMA,MAAM,YAAA,GAAe,aAAa,eAAe,CAAA,CAAA;AAE1C,MAAM,SAAY,GAAA,UAAA,CAGvB,SAASA,UAAAA,CAAU,OAAO,GAAK,EAAA;AAC/B,EAAA,MAAM,EAAE,SAAA,EAAW,QAAa,EAAA,GAAA,SAAA,EAAc,GAAA,KAAA,CAAA;AAE9C,EAAA,uBACG,GAAA,CAAA,IAAA,EAAA;AAAA,IAAI,GAAG,SAAA;AAAA,IAAW,SAAW,EAAA,IAAA,CAAK,YAAa,EAAA,EAAG,SAAS,CAAA;AAAA,IAAG,GAAA;AAAA,IAC5D,QAAA;AAAA,GACH,CAAA,CAAA;AAEJ,CAAC;;;;"}
@@ -1,6 +1,6 @@
1
1
  import { jsxs, jsx } from 'react/jsx-runtime';
2
2
  import { makePrefixer, useControlled } from '@salt-ds/core';
3
- import cx from 'classnames';
3
+ import { clsx } from 'clsx';
4
4
  import { forwardRef, useRef, useMemo } from 'react';
5
5
  import { SliderHandle } from './internal/SliderHandle.js';
6
6
  import { SliderMarkLabels } from './internal/SliderMarkLabels.js';
@@ -73,7 +73,7 @@ const Slider = forwardRef(function Slider2({
73
73
  onChange
74
74
  );
75
75
  return /* @__PURE__ */ jsxs("div", {
76
- className: cx(
76
+ className: clsx(
77
77
  withBaseName(),
78
78
  {
79
79
  [withBaseName("disabled")]: disabled
@@ -1 +1 @@
1
- {"version":3,"file":"Slider.js","sources":["../src/slider/Slider.tsx"],"sourcesContent":["import { makePrefixer, useControlled } from \"@salt-ds/core\";\nimport cn from \"classnames\";\nimport {\n CSSProperties,\n forwardRef,\n HTMLAttributes,\n useMemo,\n useRef,\n} from \"react\";\nimport { SliderHandle } from \"./internal/SliderHandle\";\nimport { SliderMarkLabels } from \"./internal/SliderMarkLabels\";\nimport { SliderRail } from \"./internal/SliderRail\";\nimport { SliderMark, SliderRailMarks } from \"./internal/SliderRailMarks\";\nimport { SliderSelection } from \"./internal/SliderSelection\";\nimport { createHandleStyles, createTrackStyle } from \"./internal/styles\";\nimport { useSliderKeyDown } from \"./internal/useSliderKeyDown\";\nimport { useSliderMouseDown } from \"./internal/useSliderMouseDown\";\nimport { useValueUpdater } from \"./internal/utils\";\nimport { SliderChangeHandler, SliderValue } from \"./types\";\n\nimport \"./Slider.css\";\n\nconst withBaseName = makePrefixer(\"saltSlider\");\n\nconst defaultMin = 0;\nconst defaultMax = 100;\nconst defaultStep = 1;\n\nexport interface SliderProps\n extends Omit<HTMLAttributes<HTMLDivElement>, \"onChange\" | \"defaultValue\"> {\n label?: string;\n min?: number;\n max?: number;\n step?: number;\n pageStep?: number;\n value?: SliderValue;\n defaultValue?: SliderValue;\n pushable?: boolean;\n pushDistance?: number;\n disabled?: boolean;\n onChange?: SliderChangeHandler;\n marks?: SliderMark[];\n hideMarks?: boolean;\n hideMarkLabels?: boolean;\n}\n\nexport const Slider = forwardRef<HTMLDivElement, SliderProps>(function Slider(\n {\n min = defaultMin,\n max = defaultMax,\n step = defaultStep,\n pageStep = step,\n value: valueProp,\n defaultValue = defaultMin,\n onChange,\n label,\n className,\n pushable,\n pushDistance = 0,\n disabled,\n marks,\n hideMarks,\n hideMarkLabels,\n ...restProps\n },\n ref\n) {\n const trackRef = useRef<HTMLDivElement>(null);\n\n const [value, setValue] = useControlled<SliderValue>({\n controlled: valueProp,\n default: defaultValue,\n name: \"Slider\",\n state: \"Value\",\n });\n\n const updateValueItem = useValueUpdater(pushable, pushDistance, min, max);\n\n const trackStyle = useMemo(\n () => createTrackStyle(min, max, value),\n [min, max, value]\n );\n\n const valueLength = Array.isArray(value) ? value.length : 1;\n\n const handleStyles: CSSProperties[] = useMemo(\n () => createHandleStyles(valueLength),\n [valueLength]\n );\n\n const onMouseDown = useSliderMouseDown(\n trackRef,\n value,\n min,\n max,\n step,\n updateValueItem,\n setValue,\n onChange\n );\n\n const onKeyDown = useSliderKeyDown(\n value,\n min,\n max,\n pageStep,\n step,\n updateValueItem,\n setValue,\n onChange\n );\n\n return (\n <div\n className={cn(\n withBaseName(),\n {\n [withBaseName(\"disabled\")]: disabled,\n },\n className\n )}\n ref={ref}\n onKeyDown={disabled ? undefined : onKeyDown}\n aria-label={`${label} slider from ${min} to ${max}`}\n role=\"group\"\n >\n {label !== undefined ? (\n <div className={withBaseName(\"label\")}>{label}</div>\n ) : null}\n <div\n className={withBaseName(\"clickable\")}\n onMouseDown={disabled ? undefined : onMouseDown}\n >\n <div\n className={withBaseName(\"track\")}\n style={trackStyle}\n ref={trackRef}\n >\n <SliderRail />\n {marks && !hideMarks ? (\n <SliderRailMarks min={min} max={max} marks={marks} />\n ) : null}\n {marks && !hideMarkLabels ? (\n <SliderMarkLabels min={min} max={max} marks={marks} />\n ) : null}\n <SliderSelection valueLength={valueLength} />\n {(Array.isArray(value) ? value : [value]).map((v, i) => (\n <SliderHandle\n key={i}\n min={min}\n max={max}\n value={v}\n index={i}\n disabled={!!disabled}\n valueLength={valueLength}\n style={handleStyles[i]}\n />\n ))}\n </div>\n </div>\n </div>\n );\n});\n"],"names":["Slider","cn"],"mappings":"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"}
1
+ {"version":3,"file":"Slider.js","sources":["../src/slider/Slider.tsx"],"sourcesContent":["import { makePrefixer, useControlled } from \"@salt-ds/core\";\nimport { clsx } from \"clsx\";\nimport {\n CSSProperties,\n forwardRef,\n HTMLAttributes,\n useMemo,\n useRef,\n} from \"react\";\nimport { SliderHandle } from \"./internal/SliderHandle\";\nimport { SliderMarkLabels } from \"./internal/SliderMarkLabels\";\nimport { SliderRail } from \"./internal/SliderRail\";\nimport { SliderMark, SliderRailMarks } from \"./internal/SliderRailMarks\";\nimport { SliderSelection } from \"./internal/SliderSelection\";\nimport { createHandleStyles, createTrackStyle } from \"./internal/styles\";\nimport { useSliderKeyDown } from \"./internal/useSliderKeyDown\";\nimport { useSliderMouseDown } from \"./internal/useSliderMouseDown\";\nimport { useValueUpdater } from \"./internal/utils\";\nimport { SliderChangeHandler, SliderValue } from \"./types\";\n\nimport \"./Slider.css\";\n\nconst withBaseName = makePrefixer(\"saltSlider\");\n\nconst defaultMin = 0;\nconst defaultMax = 100;\nconst defaultStep = 1;\n\nexport interface SliderProps\n extends Omit<HTMLAttributes<HTMLDivElement>, \"onChange\" | \"defaultValue\"> {\n label?: string;\n min?: number;\n max?: number;\n step?: number;\n pageStep?: number;\n value?: SliderValue;\n defaultValue?: SliderValue;\n pushable?: boolean;\n pushDistance?: number;\n disabled?: boolean;\n onChange?: SliderChangeHandler;\n marks?: SliderMark[];\n hideMarks?: boolean;\n hideMarkLabels?: boolean;\n}\n\nexport const Slider = forwardRef<HTMLDivElement, SliderProps>(function Slider(\n {\n min = defaultMin,\n max = defaultMax,\n step = defaultStep,\n pageStep = step,\n value: valueProp,\n defaultValue = defaultMin,\n onChange,\n label,\n className,\n pushable,\n pushDistance = 0,\n disabled,\n marks,\n hideMarks,\n hideMarkLabels,\n ...restProps\n },\n ref\n) {\n const trackRef = useRef<HTMLDivElement>(null);\n\n const [value, setValue] = useControlled<SliderValue>({\n controlled: valueProp,\n default: defaultValue,\n name: \"Slider\",\n state: \"Value\",\n });\n\n const updateValueItem = useValueUpdater(pushable, pushDistance, min, max);\n\n const trackStyle = useMemo(\n () => createTrackStyle(min, max, value),\n [min, max, value]\n );\n\n const valueLength = Array.isArray(value) ? value.length : 1;\n\n const handleStyles: CSSProperties[] = useMemo(\n () => createHandleStyles(valueLength),\n [valueLength]\n );\n\n const onMouseDown = useSliderMouseDown(\n trackRef,\n value,\n min,\n max,\n step,\n updateValueItem,\n setValue,\n onChange\n );\n\n const onKeyDown = useSliderKeyDown(\n value,\n min,\n max,\n pageStep,\n step,\n updateValueItem,\n setValue,\n onChange\n );\n\n return (\n <div\n className={clsx(\n withBaseName(),\n {\n [withBaseName(\"disabled\")]: disabled,\n },\n className\n )}\n ref={ref}\n onKeyDown={disabled ? undefined : onKeyDown}\n aria-label={`${label} slider from ${min} to ${max}`}\n role=\"group\"\n >\n {label !== undefined ? (\n <div className={withBaseName(\"label\")}>{label}</div>\n ) : null}\n <div\n className={withBaseName(\"clickable\")}\n onMouseDown={disabled ? undefined : onMouseDown}\n >\n <div\n className={withBaseName(\"track\")}\n style={trackStyle}\n ref={trackRef}\n >\n <SliderRail />\n {marks && !hideMarks ? (\n <SliderRailMarks min={min} max={max} marks={marks} />\n ) : null}\n {marks && !hideMarkLabels ? (\n <SliderMarkLabels min={min} max={max} marks={marks} />\n ) : null}\n <SliderSelection valueLength={valueLength} />\n {(Array.isArray(value) ? value : [value]).map((v, i) => (\n <SliderHandle\n key={i}\n min={min}\n max={max}\n value={v}\n index={i}\n disabled={!!disabled}\n valueLength={valueLength}\n style={handleStyles[i]}\n />\n ))}\n </div>\n </div>\n </div>\n );\n});\n"],"names":["Slider"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
2
2
  import { makePrefixer } from '@salt-ds/core';
3
- import cx from 'classnames';
3
+ import { clsx } from 'clsx';
4
4
  import { getSliderAriaLabel } from './utils.js';
5
5
  import { Tooltip } from '../../tooltip/Tooltip.js';
6
6
  import '../../tooltip/TooltipContext.js';
@@ -15,7 +15,7 @@ function SliderHandle(props) {
15
15
  children: [
16
16
  /* @__PURE__ */ jsx("div", {
17
17
  ...getTriggerProps({
18
- className: cx(withBaseName(), {
18
+ className: clsx(withBaseName(), {
19
19
  [withBaseName("min")]: value === min,
20
20
  [withBaseName("max")]: value === max
21
21
  }),
@@ -1 +1 @@
1
- {"version":3,"file":"SliderHandle.js","sources":["../src/slider/internal/SliderHandle.tsx"],"sourcesContent":["import { makePrefixer } from \"@salt-ds/core\";\nimport cn from \"classnames\";\nimport { CSSProperties } from \"react\";\nimport { getSliderAriaLabel } from \"./utils\";\nimport { Tooltip, useTooltip } from \"../../tooltip\";\n\nimport \"../Slider.css\";\n\nconst withBaseName = makePrefixer(\"saltSliderHandle\");\n\nexport interface SliderHandleProps {\n min: number;\n max: number;\n value: number;\n index: number;\n disabled: boolean;\n valueLength: number;\n style: CSSProperties;\n}\n\nexport function SliderHandle(props: SliderHandleProps): JSX.Element {\n const { min, max, value, disabled, valueLength, index, style } = props;\n\n const { getTriggerProps, getTooltipProps } = useTooltip({ placement: \"top\" });\n\n return (\n <>\n <div\n {...getTriggerProps<\"div\">({\n className: cn(withBaseName(), {\n [withBaseName(\"min\")]: value === min,\n [withBaseName(\"max\")]: value === max,\n }),\n style,\n role: \"slider\",\n \"aria-valuemin\": min,\n \"aria-valuemax\": max,\n \"aria-valuenow\": value,\n \"aria-disabled\": disabled,\n \"aria-label\": getSliderAriaLabel(valueLength, index),\n tabIndex: 0,\n })}\n data-handle-index={index}\n />\n <Tooltip\n {...getTooltipProps({ title: `${value}`, disablePortal: true })}\n />\n </>\n );\n}\n"],"names":["cn"],"mappings":";;;;;;;;;AAQA,MAAM,YAAA,GAAe,aAAa,kBAAkB,CAAA,CAAA;AAY7C,SAAS,aAAa,KAAuC,EAAA;AAClE,EAAM,MAAA,EAAE,KAAK,GAAK,EAAA,KAAA,EAAO,UAAU,WAAa,EAAA,KAAA,EAAO,OAAU,GAAA,KAAA,CAAA;AAEjE,EAAM,MAAA,EAAE,iBAAiB,eAAgB,EAAA,GAAI,WAAW,EAAE,SAAA,EAAW,OAAO,CAAA,CAAA;AAE5E,EACE,uBAAA,IAAA,CAAA,QAAA,EAAA;AAAA,IACE,QAAA,EAAA;AAAA,sBAAC,GAAA,CAAA,KAAA,EAAA;AAAA,QACE,GAAG,eAAuB,CAAA;AAAA,UACzB,SAAA,EAAWA,EAAG,CAAA,YAAA,EAAgB,EAAA;AAAA,YAC5B,CAAC,YAAA,CAAa,KAAK,CAAA,GAAI,KAAU,KAAA,GAAA;AAAA,YACjC,CAAC,YAAA,CAAa,KAAK,CAAA,GAAI,KAAU,KAAA,GAAA;AAAA,WAClC,CAAA;AAAA,UACD,KAAA;AAAA,UACA,IAAM,EAAA,QAAA;AAAA,UACN,eAAiB,EAAA,GAAA;AAAA,UACjB,eAAiB,EAAA,GAAA;AAAA,UACjB,eAAiB,EAAA,KAAA;AAAA,UACjB,eAAiB,EAAA,QAAA;AAAA,UACjB,YAAA,EAAc,kBAAmB,CAAA,WAAA,EAAa,KAAK,CAAA;AAAA,UACnD,QAAU,EAAA,CAAA;AAAA,SACX,CAAA;AAAA,QACD,mBAAmB,EAAA,KAAA;AAAA,OACrB,CAAA;AAAA,sBACC,GAAA,CAAA,OAAA,EAAA;AAAA,QACE,GAAG,gBAAgB,EAAE,KAAA,EAAO,GAAG,KAAS,CAAA,CAAA,EAAA,aAAA,EAAe,MAAM,CAAA;AAAA,OAChE,CAAA;AAAA,KAAA;AAAA,GACF,CAAA,CAAA;AAEJ;;;;"}
1
+ {"version":3,"file":"SliderHandle.js","sources":["../src/slider/internal/SliderHandle.tsx"],"sourcesContent":["import { makePrefixer } from \"@salt-ds/core\";\nimport { clsx } from \"clsx\";\nimport { CSSProperties } from \"react\";\nimport { getSliderAriaLabel } from \"./utils\";\nimport { Tooltip, useTooltip } from \"../../tooltip\";\n\nimport \"../Slider.css\";\n\nconst withBaseName = makePrefixer(\"saltSliderHandle\");\n\nexport interface SliderHandleProps {\n min: number;\n max: number;\n value: number;\n index: number;\n disabled: boolean;\n valueLength: number;\n style: CSSProperties;\n}\n\nexport function SliderHandle(props: SliderHandleProps): JSX.Element {\n const { min, max, value, disabled, valueLength, index, style } = props;\n\n const { getTriggerProps, getTooltipProps } = useTooltip({ placement: \"top\" });\n\n return (\n <>\n <div\n {...getTriggerProps<\"div\">({\n className: clsx(withBaseName(), {\n [withBaseName(\"min\")]: value === min,\n [withBaseName(\"max\")]: value === max,\n }),\n style,\n role: \"slider\",\n \"aria-valuemin\": min,\n \"aria-valuemax\": max,\n \"aria-valuenow\": value,\n \"aria-disabled\": disabled,\n \"aria-label\": getSliderAriaLabel(valueLength, index),\n tabIndex: 0,\n })}\n data-handle-index={index}\n />\n <Tooltip\n {...getTooltipProps({ title: `${value}`, disablePortal: true })}\n />\n </>\n );\n}\n"],"names":[],"mappings":";;;;;;;;;AAQA,MAAM,YAAA,GAAe,aAAa,kBAAkB,CAAA,CAAA;AAY7C,SAAS,aAAa,KAAuC,EAAA;AAClE,EAAM,MAAA,EAAE,KAAK,GAAK,EAAA,KAAA,EAAO,UAAU,WAAa,EAAA,KAAA,EAAO,OAAU,GAAA,KAAA,CAAA;AAEjE,EAAM,MAAA,EAAE,iBAAiB,eAAgB,EAAA,GAAI,WAAW,EAAE,SAAA,EAAW,OAAO,CAAA,CAAA;AAE5E,EACE,uBAAA,IAAA,CAAA,QAAA,EAAA;AAAA,IACE,QAAA,EAAA;AAAA,sBAAC,GAAA,CAAA,KAAA,EAAA;AAAA,QACE,GAAG,eAAuB,CAAA;AAAA,UACzB,SAAA,EAAW,IAAK,CAAA,YAAA,EAAgB,EAAA;AAAA,YAC9B,CAAC,YAAA,CAAa,KAAK,CAAA,GAAI,KAAU,KAAA,GAAA;AAAA,YACjC,CAAC,YAAA,CAAa,KAAK,CAAA,GAAI,KAAU,KAAA,GAAA;AAAA,WAClC,CAAA;AAAA,UACD,KAAA;AAAA,UACA,IAAM,EAAA,QAAA;AAAA,UACN,eAAiB,EAAA,GAAA;AAAA,UACjB,eAAiB,EAAA,GAAA;AAAA,UACjB,eAAiB,EAAA,KAAA;AAAA,UACjB,eAAiB,EAAA,QAAA;AAAA,UACjB,YAAA,EAAc,kBAAmB,CAAA,WAAA,EAAa,KAAK,CAAA;AAAA,UACnD,QAAU,EAAA,CAAA;AAAA,SACX,CAAA;AAAA,QACD,mBAAmB,EAAA,KAAA;AAAA,OACrB,CAAA;AAAA,sBACC,GAAA,CAAA,OAAA,EAAA;AAAA,QACE,GAAG,gBAAgB,EAAE,KAAA,EAAO,GAAG,KAAS,CAAA,CAAA,EAAA,aAAA,EAAe,MAAM,CAAA;AAAA,OAChE,CAAA;AAAA,KAAA;AAAA,GACF,CAAA,CAAA;AAEJ;;;;"}
@@ -1,7 +1,7 @@
1
1
  import { jsx } from 'react/jsx-runtime';
2
2
  import { useMemo } from 'react';
3
3
  import { makePrefixer } from '@salt-ds/core';
4
- import cx from 'classnames';
4
+ import { clsx } from 'clsx';
5
5
  import { createSliderRailMarksStyle, createHandleStyles } from './styles.js';
6
6
  import { isMarkAtMax } from './utils.js';
7
7
  import '../Slider.css.js';
@@ -23,7 +23,7 @@ function SliderRailMarks(props) {
23
23
  style,
24
24
  children: marks.map((mark, i) => {
25
25
  return /* @__PURE__ */ jsx("div", {
26
- className: cx(withBaseName("mark"), {
26
+ className: clsx(withBaseName("mark"), {
27
27
  [withBaseName("max")]: isMarkAtMax(max, mark)
28
28
  }),
29
29
  style: markStyles[i]
@@ -1 +1 @@
1
- {"version":3,"file":"SliderRailMarks.js","sources":["../src/slider/internal/SliderRailMarks.tsx"],"sourcesContent":["import { ReactNode, useMemo } from \"react\";\nimport { makePrefixer } from \"@salt-ds/core\";\nimport cn from \"classnames\";\nimport { createHandleStyles, createSliderRailMarksStyle } from \"./styles\";\nimport { isMarkAtMax } from \"./utils\";\nimport \"../Slider.css\";\n\nconst withBaseName = makePrefixer(\"saltSliderRailMarks\");\n\nexport interface LabeledMark {\n value: number;\n label: ReactNode;\n}\n\nexport type SliderMark = number | LabeledMark;\n\nexport interface SliderRailMarksProps {\n min: number;\n max: number;\n marks: SliderMark[];\n}\n\nexport function SliderRailMarks(props: SliderRailMarksProps) {\n const { min, max, marks } = props;\n const style = useMemo(\n () => createSliderRailMarksStyle(min, max, marks),\n [min, max, marks]\n );\n const marksLength = marks.length;\n const markStyles = useMemo(\n () => createHandleStyles(marksLength),\n [marksLength]\n );\n\n return (\n <div className={withBaseName()} style={style}>\n {marks.map((mark, i) => {\n return (\n <div\n key={`Mark${i}`}\n className={cn(withBaseName(\"mark\"), {\n [withBaseName(\"max\")]: isMarkAtMax(max, mark),\n })}\n style={markStyles[i]}\n />\n );\n })}\n </div>\n );\n}\n"],"names":["cn"],"mappings":";;;;;;;;AAOA,MAAM,YAAA,GAAe,aAAa,qBAAqB,CAAA,CAAA;AAehD,SAAS,gBAAgB,KAA6B,EAAA;AAC3D,EAAA,MAAM,EAAE,GAAA,EAAK,GAAK,EAAA,KAAA,EAAU,GAAA,KAAA,CAAA;AAC5B,EAAA,MAAM,KAAQ,GAAA,OAAA;AAAA,IACZ,MAAM,0BAAA,CAA2B,GAAK,EAAA,GAAA,EAAK,KAAK,CAAA;AAAA,IAChD,CAAC,GAAK,EAAA,GAAA,EAAK,KAAK,CAAA;AAAA,GAClB,CAAA;AACA,EAAA,MAAM,cAAc,KAAM,CAAA,MAAA,CAAA;AAC1B,EAAA,MAAM,UAAa,GAAA,OAAA;AAAA,IACjB,MAAM,mBAAmB,WAAW,CAAA;AAAA,IACpC,CAAC,WAAW,CAAA;AAAA,GACd,CAAA;AAEA,EAAA,uBACG,GAAA,CAAA,KAAA,EAAA;AAAA,IAAI,WAAW,YAAa,EAAA;AAAA,IAAG,KAAA;AAAA,IAC7B,QAAM,EAAA,KAAA,CAAA,GAAA,CAAI,CAAC,IAAA,EAAM,CAAM,KAAA;AACtB,MAAA,uBACG,GAAA,CAAA,KAAA,EAAA;AAAA,QAEC,SAAW,EAAAA,EAAA,CAAG,YAAa,CAAA,MAAM,CAAG,EAAA;AAAA,UAClC,CAAC,YAAa,CAAA,KAAK,CAAI,GAAA,WAAA,CAAY,KAAK,IAAI,CAAA;AAAA,SAC7C,CAAA;AAAA,QACD,OAAO,UAAW,CAAA,CAAA,CAAA;AAAA,OAAA,EAJb,OAAO,CAKd,CAAA,CAAA,CAAA,CAAA;AAAA,KAEH,CAAA;AAAA,GACH,CAAA,CAAA;AAEJ;;;;"}
1
+ {"version":3,"file":"SliderRailMarks.js","sources":["../src/slider/internal/SliderRailMarks.tsx"],"sourcesContent":["import { ReactNode, useMemo } from \"react\";\nimport { makePrefixer } from \"@salt-ds/core\";\nimport { clsx } from \"clsx\";\nimport { createHandleStyles, createSliderRailMarksStyle } from \"./styles\";\nimport { isMarkAtMax } from \"./utils\";\nimport \"../Slider.css\";\n\nconst withBaseName = makePrefixer(\"saltSliderRailMarks\");\n\nexport interface LabeledMark {\n value: number;\n label: ReactNode;\n}\n\nexport type SliderMark = number | LabeledMark;\n\nexport interface SliderRailMarksProps {\n min: number;\n max: number;\n marks: SliderMark[];\n}\n\nexport function SliderRailMarks(props: SliderRailMarksProps) {\n const { min, max, marks } = props;\n const style = useMemo(\n () => createSliderRailMarksStyle(min, max, marks),\n [min, max, marks]\n );\n const marksLength = marks.length;\n const markStyles = useMemo(\n () => createHandleStyles(marksLength),\n [marksLength]\n );\n\n return (\n <div className={withBaseName()} style={style}>\n {marks.map((mark, i) => {\n return (\n <div\n key={`Mark${i}`}\n className={clsx(withBaseName(\"mark\"), {\n [withBaseName(\"max\")]: isMarkAtMax(max, mark),\n })}\n style={markStyles[i]}\n />\n );\n })}\n </div>\n );\n}\n"],"names":[],"mappings":";;;;;;;;AAOA,MAAM,YAAA,GAAe,aAAa,qBAAqB,CAAA,CAAA;AAehD,SAAS,gBAAgB,KAA6B,EAAA;AAC3D,EAAA,MAAM,EAAE,GAAA,EAAK,GAAK,EAAA,KAAA,EAAU,GAAA,KAAA,CAAA;AAC5B,EAAA,MAAM,KAAQ,GAAA,OAAA;AAAA,IACZ,MAAM,0BAAA,CAA2B,GAAK,EAAA,GAAA,EAAK,KAAK,CAAA;AAAA,IAChD,CAAC,GAAK,EAAA,GAAA,EAAK,KAAK,CAAA;AAAA,GAClB,CAAA;AACA,EAAA,MAAM,cAAc,KAAM,CAAA,MAAA,CAAA;AAC1B,EAAA,MAAM,UAAa,GAAA,OAAA;AAAA,IACjB,MAAM,mBAAmB,WAAW,CAAA;AAAA,IACpC,CAAC,WAAW,CAAA;AAAA,GACd,CAAA;AAEA,EAAA,uBACG,GAAA,CAAA,KAAA,EAAA;AAAA,IAAI,WAAW,YAAa,EAAA;AAAA,IAAG,KAAA;AAAA,IAC7B,QAAM,EAAA,KAAA,CAAA,GAAA,CAAI,CAAC,IAAA,EAAM,CAAM,KAAA;AACtB,MAAA,uBACG,GAAA,CAAA,KAAA,EAAA;AAAA,QAEC,SAAW,EAAA,IAAA,CAAK,YAAa,CAAA,MAAM,CAAG,EAAA;AAAA,UACpC,CAAC,YAAa,CAAA,KAAK,CAAI,GAAA,WAAA,CAAY,KAAK,IAAI,CAAA;AAAA,SAC7C,CAAA;AAAA,QACD,OAAO,UAAW,CAAA,CAAA,CAAA;AAAA,OAAA,EAJb,OAAO,CAKd,CAAA,CAAA,CAAA,CAAA;AAAA,KAEH,CAAA;AAAA,GACH,CAAA,CAAA;AAEJ;;;;"}
@@ -1,6 +1,6 @@
1
1
  import { jsx } from 'react/jsx-runtime';
2
2
  import { useId, useAriaAnnouncer } from '@salt-ds/core';
3
- import cx from 'classnames';
3
+ import { clsx } from 'clsx';
4
4
  import { forwardRef, useEffect } from 'react';
5
5
  import { getSvgSpinner } from './svgSpinners/index.js';
6
6
  import './Spinner.css.js';
@@ -56,7 +56,7 @@ const Spinner = forwardRef(
56
56
  ]);
57
57
  return /* @__PURE__ */ jsx("div", {
58
58
  "aria-label": ariaLabel,
59
- className: cx(`${baseName}-${size}`, className, baseName),
59
+ className: clsx(`${baseName}-${size}`, className, baseName),
60
60
  ref,
61
61
  role,
62
62
  ...rest,
@@ -1 +1 @@
1
- {"version":3,"file":"Spinner.js","sources":["../src/spinner/Spinner.tsx"],"sourcesContent":["import { useAriaAnnouncer, useId } from \"@salt-ds/core\";\nimport cx from \"classnames\";\nimport { forwardRef, HTMLAttributes, useEffect } from \"react\";\nimport { getSvgSpinner } from \"./svgSpinners\";\n\nimport \"./Spinner.css\";\n\n/**\n * Spinner component, provides an indeterminate loading indicator\n *\n * @example\n * <Spinner size=\"small | medium | large\" />\n */\n\n// TODO: documentation -- add line about best practices:\n// - Improve accessibility by customizing the aria-label to provide additional context about *what* is loading, e.g. `aria-label=\"loading settings panel\"`.\n\nexport const SpinnerSizeValues = [\"small\", \"medium\", \"large\"] as const;\nexport type SpinnerSize = typeof SpinnerSizeValues[number];\nconst baseName = \"saltSvgSpinner\";\n\nexport interface SpinnerProps extends HTMLAttributes<HTMLDivElement> {\n /**\n * Determines the interval on which the component will continue to announce the aria-label. Defaults to 5000ms (5s)\n */\n announcerInterval?: number;\n /**\n * * Determines the interval after which the component will stop announcing the aria-label. Defaults to 20000ms (20s)\n */\n announcerTimeout?: number;\n /**\n * The className(s) of the component\n */\n className?: string;\n /**\n * Determines the message to be announced by the component when it unmounts. Set to null if not needed.\n */\n completionAnnouncement?: string | null;\n /**\n * If true, built in aria announcer will be inactive\n */\n disableAnnouncer?: boolean;\n /**\n * The prop for the role attribute of the component\n */\n role?: string;\n /**\n * Determines the size of the spinner. Must be one of: 'small', 'medium', 'large'.\n */\n size?: SpinnerSize;\n /**\n * The ids of the SvgSpinner components\n */\n id?: string;\n}\n\nexport const Spinner = forwardRef<HTMLDivElement, SpinnerProps>(\n function Spinner(\n {\n \"aria-label\": ariaLabel = \"loading\",\n announcerInterval = 5000,\n announcerTimeout = 20000,\n completionAnnouncement = `finished ${ariaLabel}`,\n disableAnnouncer,\n role = \"img\",\n className,\n size = \"medium\",\n id: idProps,\n ...rest\n },\n ref\n ) {\n const generatedId = useId(idProps);\n const SvgSpinner = getSvgSpinner(size);\n\n const { announce } = useAriaAnnouncer();\n\n useEffect(() => {\n if (disableAnnouncer) return;\n\n announce(ariaLabel);\n\n const startTime = new Date().getTime();\n\n const interval =\n // announcerInterval > 0 &&\n // above line was causing typescript type error that I didn't manage to sort out right away\n setInterval(() => {\n if (new Date().getTime() - startTime > announcerTimeout) {\n // the announcer will stop after 20s\n announce(\n `${ariaLabel} is still in progress, but will no longer announce.`\n );\n clearInterval(interval);\n return;\n }\n announce(ariaLabel);\n }, announcerInterval);\n\n return () => {\n if (disableAnnouncer) return;\n\n clearInterval(interval);\n if (completionAnnouncement) {\n announce(completionAnnouncement);\n }\n };\n }, [\n announce,\n announcerInterval,\n announcerTimeout,\n ariaLabel,\n completionAnnouncement,\n disableAnnouncer,\n ]);\n\n return (\n <div\n aria-label={ariaLabel}\n className={cx(`${baseName}-${size}`, className, baseName)}\n ref={ref}\n role={role}\n {...rest}\n >\n <SvgSpinner id={generatedId} />\n </div>\n );\n }\n);\n"],"names":["Spinner"],"mappings":";;;;;;;AAiBO,MAAM,iBAAoB,GAAA,CAAC,OAAS,EAAA,QAAA,EAAU,OAAO,EAAA;AAE5D,MAAM,QAAW,GAAA,gBAAA,CAAA;AAqCV,MAAM,OAAU,GAAA,UAAA;AAAA,EACrB,SAASA,QACP,CAAA;AAAA,IACE,cAAc,SAAY,GAAA,SAAA;AAAA,IAC1B,iBAAoB,GAAA,GAAA;AAAA,IACpB,gBAAmB,GAAA,GAAA;AAAA,IACnB,yBAAyB,CAAY,SAAA,EAAA,SAAA,CAAA,CAAA;AAAA,IACrC,gBAAA;AAAA,IACA,IAAO,GAAA,KAAA;AAAA,IACP,SAAA;AAAA,IACA,IAAO,GAAA,QAAA;AAAA,IACP,EAAI,EAAA,OAAA;AAAA,IACD,GAAA,IAAA;AAAA,KAEL,GACA,EAAA;AACA,IAAM,MAAA,WAAA,GAAc,MAAM,OAAO,CAAA,CAAA;AACjC,IAAM,MAAA,UAAA,GAAa,cAAc,IAAI,CAAA,CAAA;AAErC,IAAM,MAAA,EAAE,QAAS,EAAA,GAAI,gBAAiB,EAAA,CAAA;AAEtC,IAAA,SAAA,CAAU,MAAM;AACd,MAAI,IAAA,gBAAA;AAAkB,QAAA,OAAA;AAEtB,MAAA,QAAA,CAAS,SAAS,CAAA,CAAA;AAElB,MAAA,MAAM,SAAY,GAAA,IAAI,IAAK,EAAA,CAAE,OAAQ,EAAA,CAAA;AAErC,MAAM,MAAA,QAAA,GAGJ,YAAY,MAAM;AAChB,QAAA,IAAI,IAAI,IAAK,EAAA,CAAE,OAAQ,EAAA,GAAI,YAAY,gBAAkB,EAAA;AAEvD,UAAA,QAAA;AAAA,YACE,CAAG,EAAA,SAAA,CAAA,mDAAA,CAAA;AAAA,WACL,CAAA;AACA,UAAA,aAAA,CAAc,QAAQ,CAAA,CAAA;AACtB,UAAA,OAAA;AAAA,SACF;AACA,QAAA,QAAA,CAAS,SAAS,CAAA,CAAA;AAAA,SACjB,iBAAiB,CAAA,CAAA;AAEtB,MAAA,OAAO,MAAM;AACX,QAAI,IAAA,gBAAA;AAAkB,UAAA,OAAA;AAEtB,QAAA,aAAA,CAAc,QAAQ,CAAA,CAAA;AACtB,QAAA,IAAI,sBAAwB,EAAA;AAC1B,UAAA,QAAA,CAAS,sBAAsB,CAAA,CAAA;AAAA,SACjC;AAAA,OACF,CAAA;AAAA,KACC,EAAA;AAAA,MACD,QAAA;AAAA,MACA,iBAAA;AAAA,MACA,gBAAA;AAAA,MACA,SAAA;AAAA,MACA,sBAAA;AAAA,MACA,gBAAA;AAAA,KACD,CAAA,CAAA;AAED,IAAA,uBACG,GAAA,CAAA,KAAA,EAAA;AAAA,MACC,YAAY,EAAA,SAAA;AAAA,MACZ,WAAW,EAAG,CAAA,CAAA,EAAG,QAAY,CAAA,CAAA,EAAA,IAAA,CAAA,CAAA,EAAQ,WAAW,QAAQ,CAAA;AAAA,MACxD,GAAA;AAAA,MACA,IAAA;AAAA,MACC,GAAG,IAAA;AAAA,MAEJ,QAAC,kBAAA,GAAA,CAAA,UAAA,EAAA;AAAA,QAAW,EAAI,EAAA,WAAA;AAAA,OAAa,CAAA;AAAA,KAC/B,CAAA,CAAA;AAAA,GAEJ;AACF;;;;"}
1
+ {"version":3,"file":"Spinner.js","sources":["../src/spinner/Spinner.tsx"],"sourcesContent":["import { useAriaAnnouncer, useId } from \"@salt-ds/core\";\nimport { clsx } from \"clsx\";\nimport { forwardRef, HTMLAttributes, useEffect } from \"react\";\nimport { getSvgSpinner } from \"./svgSpinners\";\n\nimport \"./Spinner.css\";\n\n/**\n * Spinner component, provides an indeterminate loading indicator\n *\n * @example\n * <Spinner size=\"small | medium | large\" />\n */\n\n// TODO: documentation -- add line about best practices:\n// - Improve accessibility by customizing the aria-label to provide additional context about *what* is loading, e.g. `aria-label=\"loading settings panel\"`.\n\nexport const SpinnerSizeValues = [\"small\", \"medium\", \"large\"] as const;\nexport type SpinnerSize = typeof SpinnerSizeValues[number];\nconst baseName = \"saltSvgSpinner\";\n\nexport interface SpinnerProps extends HTMLAttributes<HTMLDivElement> {\n /**\n * Determines the interval on which the component will continue to announce the aria-label. Defaults to 5000ms (5s)\n */\n announcerInterval?: number;\n /**\n * * Determines the interval after which the component will stop announcing the aria-label. Defaults to 20000ms (20s)\n */\n announcerTimeout?: number;\n /**\n * The className(s) of the component\n */\n className?: string;\n /**\n * Determines the message to be announced by the component when it unmounts. Set to null if not needed.\n */\n completionAnnouncement?: string | null;\n /**\n * If true, built in aria announcer will be inactive\n */\n disableAnnouncer?: boolean;\n /**\n * The prop for the role attribute of the component\n */\n role?: string;\n /**\n * Determines the size of the spinner. Must be one of: 'small', 'medium', 'large'.\n */\n size?: SpinnerSize;\n /**\n * The ids of the SvgSpinner components\n */\n id?: string;\n}\n\nexport const Spinner = forwardRef<HTMLDivElement, SpinnerProps>(\n function Spinner(\n {\n \"aria-label\": ariaLabel = \"loading\",\n announcerInterval = 5000,\n announcerTimeout = 20000,\n completionAnnouncement = `finished ${ariaLabel}`,\n disableAnnouncer,\n role = \"img\",\n className,\n size = \"medium\",\n id: idProps,\n ...rest\n },\n ref\n ) {\n const generatedId = useId(idProps);\n const SvgSpinner = getSvgSpinner(size);\n\n const { announce } = useAriaAnnouncer();\n\n useEffect(() => {\n if (disableAnnouncer) return;\n\n announce(ariaLabel);\n\n const startTime = new Date().getTime();\n\n const interval =\n // announcerInterval > 0 &&\n // above line was causing typescript type error that I didn't manage to sort out right away\n setInterval(() => {\n if (new Date().getTime() - startTime > announcerTimeout) {\n // the announcer will stop after 20s\n announce(\n `${ariaLabel} is still in progress, but will no longer announce.`\n );\n clearInterval(interval);\n return;\n }\n announce(ariaLabel);\n }, announcerInterval);\n\n return () => {\n if (disableAnnouncer) return;\n\n clearInterval(interval);\n if (completionAnnouncement) {\n announce(completionAnnouncement);\n }\n };\n }, [\n announce,\n announcerInterval,\n announcerTimeout,\n ariaLabel,\n completionAnnouncement,\n disableAnnouncer,\n ]);\n\n return (\n <div\n aria-label={ariaLabel}\n className={clsx(`${baseName}-${size}`, className, baseName)}\n ref={ref}\n role={role}\n {...rest}\n >\n <SvgSpinner id={generatedId} />\n </div>\n );\n }\n);\n"],"names":["Spinner"],"mappings":";;;;;;;AAiBO,MAAM,iBAAoB,GAAA,CAAC,OAAS,EAAA,QAAA,EAAU,OAAO,EAAA;AAE5D,MAAM,QAAW,GAAA,gBAAA,CAAA;AAqCV,MAAM,OAAU,GAAA,UAAA;AAAA,EACrB,SAASA,QACP,CAAA;AAAA,IACE,cAAc,SAAY,GAAA,SAAA;AAAA,IAC1B,iBAAoB,GAAA,GAAA;AAAA,IACpB,gBAAmB,GAAA,GAAA;AAAA,IACnB,yBAAyB,CAAY,SAAA,EAAA,SAAA,CAAA,CAAA;AAAA,IACrC,gBAAA;AAAA,IACA,IAAO,GAAA,KAAA;AAAA,IACP,SAAA;AAAA,IACA,IAAO,GAAA,QAAA;AAAA,IACP,EAAI,EAAA,OAAA;AAAA,IACD,GAAA,IAAA;AAAA,KAEL,GACA,EAAA;AACA,IAAM,MAAA,WAAA,GAAc,MAAM,OAAO,CAAA,CAAA;AACjC,IAAM,MAAA,UAAA,GAAa,cAAc,IAAI,CAAA,CAAA;AAErC,IAAM,MAAA,EAAE,QAAS,EAAA,GAAI,gBAAiB,EAAA,CAAA;AAEtC,IAAA,SAAA,CAAU,MAAM;AACd,MAAI,IAAA,gBAAA;AAAkB,QAAA,OAAA;AAEtB,MAAA,QAAA,CAAS,SAAS,CAAA,CAAA;AAElB,MAAA,MAAM,SAAY,GAAA,IAAI,IAAK,EAAA,CAAE,OAAQ,EAAA,CAAA;AAErC,MAAM,MAAA,QAAA,GAGJ,YAAY,MAAM;AAChB,QAAA,IAAI,IAAI,IAAK,EAAA,CAAE,OAAQ,EAAA,GAAI,YAAY,gBAAkB,EAAA;AAEvD,UAAA,QAAA;AAAA,YACE,CAAG,EAAA,SAAA,CAAA,mDAAA,CAAA;AAAA,WACL,CAAA;AACA,UAAA,aAAA,CAAc,QAAQ,CAAA,CAAA;AACtB,UAAA,OAAA;AAAA,SACF;AACA,QAAA,QAAA,CAAS,SAAS,CAAA,CAAA;AAAA,SACjB,iBAAiB,CAAA,CAAA;AAEtB,MAAA,OAAO,MAAM;AACX,QAAI,IAAA,gBAAA;AAAkB,UAAA,OAAA;AAEtB,QAAA,aAAA,CAAc,QAAQ,CAAA,CAAA;AACtB,QAAA,IAAI,sBAAwB,EAAA;AAC1B,UAAA,QAAA,CAAS,sBAAsB,CAAA,CAAA;AAAA,SACjC;AAAA,OACF,CAAA;AAAA,KACC,EAAA;AAAA,MACD,QAAA;AAAA,MACA,iBAAA;AAAA,MACA,gBAAA;AAAA,MACA,SAAA;AAAA,MACA,sBAAA;AAAA,MACA,gBAAA;AAAA,KACD,CAAA,CAAA;AAED,IAAA,uBACG,GAAA,CAAA,KAAA,EAAA;AAAA,MACC,YAAY,EAAA,SAAA;AAAA,MACZ,WAAW,IAAK,CAAA,CAAA,EAAG,QAAY,CAAA,CAAA,EAAA,IAAA,CAAA,CAAA,EAAQ,WAAW,QAAQ,CAAA;AAAA,MAC1D,GAAA;AAAA,MACA,IAAA;AAAA,MACC,GAAG,IAAA;AAAA,MAEJ,QAAC,kBAAA,GAAA,CAAA,UAAA,EAAA;AAAA,QAAW,EAAI,EAAA,WAAA;AAAA,OAAa,CAAA;AAAA,KAC/B,CAAA,CAAA;AAAA,GAEJ;AACF;;;;"}
@@ -1,5 +1,5 @@
1
1
  import { jsxs, jsx } from 'react/jsx-runtime';
2
- import cx from 'classnames';
2
+ import { clsx } from 'clsx';
3
3
  import { forwardRef, useRef } from 'react';
4
4
  import { makePrefixer, Button } from '@salt-ds/core';
5
5
  import { RefreshIcon, TriangleUpIcon, TriangleDownIcon } from '@salt-ds/icons';
@@ -43,7 +43,7 @@ const StepperInput = forwardRef(
43
43
  children: [
44
44
  /* @__PURE__ */ jsx(Button, {
45
45
  "aria-label": "Refresh default value",
46
- className: cx(withBaseName("secondaryButton"), {
46
+ className: clsx(withBaseName("secondaryButton"), {
47
47
  [withBaseName("hideSecondaryButton")]: !(showRefreshButton || valuesHaveDiverged())
48
48
  }),
49
49
  onClick: refreshCurrentValue,
@@ -56,7 +56,7 @@ const StepperInput = forwardRef(
56
56
  className: withBaseName("buttonContainer"),
57
57
  children: [
58
58
  /* @__PURE__ */ jsx(Button, {
59
- className: cx(
59
+ className: clsx(
60
60
  withBaseName("stepperButton"),
61
61
  withBaseName("increment"),
62
62
  {
@@ -71,7 +71,7 @@ const StepperInput = forwardRef(
71
71
  })
72
72
  }),
73
73
  /* @__PURE__ */ jsx(Button, {
74
- className: cx(
74
+ className: clsx(
75
75
  withBaseName("stepperButton"),
76
76
  withBaseName("decrement"),
77
77
  {
@@ -90,7 +90,7 @@ const StepperInput = forwardRef(
90
90
  ]
91
91
  });
92
92
  return /* @__PURE__ */ jsx("div", {
93
- className: cx(withBaseName(), className),
93
+ className: clsx(withBaseName(), className),
94
94
  onBlur: props.onBlur,
95
95
  onFocus: props.onFocus,
96
96
  ref,
@@ -1 +1 @@
1
- {"version":3,"file":"StepperInput.js","sources":["../src/stepper-input/StepperInput.tsx"],"sourcesContent":["import classnames from \"classnames\";\nimport React, { forwardRef, ReactNode, useRef } from \"react\";\nimport { makePrefixer, Button, ButtonProps } from \"@salt-ds/core\";\nimport { RefreshIcon, TriangleDownIcon, TriangleUpIcon } from \"@salt-ds/icons\";\nimport { Input, InputProps } from \"../input\";\nimport { useStepperInput } from \"./useStepperInput\";\n\nimport \"./StepperInput.css\";\n\nimport { useActivationIndicatorPosition } from \"./internal/useActivationIndicatorPosition\";\n\nconst withBaseName = makePrefixer(\"saltStepperInput\");\n\nexport interface StepperInputProps {\n ButtonProps?: Partial<ButtonProps>;\n InputProps?: Partial<InputProps>;\n block?: number;\n className?: string;\n decimalPlaces?: number;\n defaultValue?: number;\n liveValue?: number;\n max?: number;\n min?: number;\n onBlur?: (event: React.FocusEvent<HTMLDivElement>) => void;\n onFocus?: (event: React.FocusEvent<HTMLDivElement>) => void;\n onChange?: (changedValue: number | string) => void;\n showRefreshButton?: boolean;\n step?: number;\n textAlign?: \"center\" | \"left\" | \"right\";\n value?: number | string;\n}\n\nexport const StepperInput = forwardRef<HTMLDivElement, StepperInputProps>(\n function StepperInput(props, ref) {\n const {\n ButtonProps: ButtonPropsProp,\n InputProps: InputPropsProp,\n textAlign = \"left\",\n className,\n showRefreshButton = false,\n } = props;\n\n const adornmentRef = useRef<HTMLDivElement | null>(null);\n const inputRef = useRef<HTMLInputElement | null>(null);\n\n const {\n decrementButtonDown,\n getButtonIcon,\n getButtonProps,\n getInputProps,\n incrementButtonDown,\n isAtMax,\n isAtMin,\n refreshCurrentValue,\n stepperDirection,\n valuesHaveDiverged,\n } = useStepperInput(props, inputRef);\n\n useActivationIndicatorPosition(\n adornmentRef,\n valuesHaveDiverged() || showRefreshButton\n );\n\n const endAdornment: ReactNode = (\n <div className={withBaseName(\"adornmentContainer\")} ref={adornmentRef}>\n <Button\n aria-label=\"Refresh default value\"\n className={classnames(withBaseName(\"secondaryButton\"), {\n // Refresh button is always rendered and has its visibility toggled to\n // avoid component width changing.\n [withBaseName(\"hideSecondaryButton\")]: !(\n showRefreshButton || valuesHaveDiverged()\n ),\n })}\n onClick={refreshCurrentValue}\n variant=\"secondary\"\n >\n <RefreshIcon aria-label=\"refresh\" />\n </Button>\n <div className={withBaseName(\"buttonContainer\")}>\n <Button\n className={classnames(\n withBaseName(\"stepperButton\"),\n withBaseName(\"increment\"),\n {\n active: incrementButtonDown,\n }\n )}\n disabled={isAtMax()}\n {...getButtonProps(stepperDirection.INCREMENT, ButtonPropsProp)}\n >\n <TriangleUpIcon\n className={withBaseName(\"stepperButtonIcon\")}\n aria-label={getButtonIcon(stepperDirection.INCREMENT)}\n />\n </Button>\n <Button\n className={classnames(\n withBaseName(\"stepperButton\"),\n withBaseName(\"decrement\"),\n {\n active: decrementButtonDown,\n }\n )}\n disabled={isAtMin()}\n {...getButtonProps(stepperDirection.DECREMENT, ButtonPropsProp)}\n >\n <TriangleDownIcon\n className={withBaseName(\"stepperButtonIcon\")}\n aria-label={getButtonIcon(stepperDirection.DECREMENT)}\n />\n </Button>\n </div>\n </div>\n );\n\n return (\n <div\n className={classnames(withBaseName(), className)}\n onBlur={props.onBlur}\n onFocus={props.onFocus}\n ref={ref}\n >\n <Input\n className={withBaseName(\"input\")}\n endAdornment={endAdornment}\n highlightOnFocus\n ref={inputRef}\n textAlign={textAlign}\n {...getInputProps(InputPropsProp)}\n />\n </div>\n );\n }\n);\n"],"names":["StepperInput","classnames"],"mappings":"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"}
1
+ {"version":3,"file":"StepperInput.js","sources":["../src/stepper-input/StepperInput.tsx"],"sourcesContent":["import { clsx } from \"clsx\";\nimport React, { forwardRef, ReactNode, useRef } from \"react\";\nimport { makePrefixer, Button, ButtonProps } from \"@salt-ds/core\";\nimport { RefreshIcon, TriangleDownIcon, TriangleUpIcon } from \"@salt-ds/icons\";\nimport { Input, InputProps } from \"../input\";\nimport { useStepperInput } from \"./useStepperInput\";\n\nimport \"./StepperInput.css\";\n\nimport { useActivationIndicatorPosition } from \"./internal/useActivationIndicatorPosition\";\n\nconst withBaseName = makePrefixer(\"saltStepperInput\");\n\nexport interface StepperInputProps {\n ButtonProps?: Partial<ButtonProps>;\n InputProps?: Partial<InputProps>;\n block?: number;\n className?: string;\n decimalPlaces?: number;\n defaultValue?: number;\n liveValue?: number;\n max?: number;\n min?: number;\n onBlur?: (event: React.FocusEvent<HTMLDivElement>) => void;\n onFocus?: (event: React.FocusEvent<HTMLDivElement>) => void;\n onChange?: (changedValue: number | string) => void;\n showRefreshButton?: boolean;\n step?: number;\n textAlign?: \"center\" | \"left\" | \"right\";\n value?: number | string;\n}\n\nexport const StepperInput = forwardRef<HTMLDivElement, StepperInputProps>(\n function StepperInput(props, ref) {\n const {\n ButtonProps: ButtonPropsProp,\n InputProps: InputPropsProp,\n textAlign = \"left\",\n className,\n showRefreshButton = false,\n } = props;\n\n const adornmentRef = useRef<HTMLDivElement | null>(null);\n const inputRef = useRef<HTMLInputElement | null>(null);\n\n const {\n decrementButtonDown,\n getButtonIcon,\n getButtonProps,\n getInputProps,\n incrementButtonDown,\n isAtMax,\n isAtMin,\n refreshCurrentValue,\n stepperDirection,\n valuesHaveDiverged,\n } = useStepperInput(props, inputRef);\n\n useActivationIndicatorPosition(\n adornmentRef,\n valuesHaveDiverged() || showRefreshButton\n );\n\n const endAdornment: ReactNode = (\n <div className={withBaseName(\"adornmentContainer\")} ref={adornmentRef}>\n <Button\n aria-label=\"Refresh default value\"\n className={clsx(withBaseName(\"secondaryButton\"), {\n // Refresh button is always rendered and has its visibility toggled to\n // avoid component width changing.\n [withBaseName(\"hideSecondaryButton\")]: !(\n showRefreshButton || valuesHaveDiverged()\n ),\n })}\n onClick={refreshCurrentValue}\n variant=\"secondary\"\n >\n <RefreshIcon aria-label=\"refresh\" />\n </Button>\n <div className={withBaseName(\"buttonContainer\")}>\n <Button\n className={clsx(\n withBaseName(\"stepperButton\"),\n withBaseName(\"increment\"),\n {\n active: incrementButtonDown,\n }\n )}\n disabled={isAtMax()}\n {...getButtonProps(stepperDirection.INCREMENT, ButtonPropsProp)}\n >\n <TriangleUpIcon\n className={withBaseName(\"stepperButtonIcon\")}\n aria-label={getButtonIcon(stepperDirection.INCREMENT)}\n />\n </Button>\n <Button\n className={clsx(\n withBaseName(\"stepperButton\"),\n withBaseName(\"decrement\"),\n {\n active: decrementButtonDown,\n }\n )}\n disabled={isAtMin()}\n {...getButtonProps(stepperDirection.DECREMENT, ButtonPropsProp)}\n >\n <TriangleDownIcon\n className={withBaseName(\"stepperButtonIcon\")}\n aria-label={getButtonIcon(stepperDirection.DECREMENT)}\n />\n </Button>\n </div>\n </div>\n );\n\n return (\n <div\n className={clsx(withBaseName(), className)}\n onBlur={props.onBlur}\n onFocus={props.onFocus}\n ref={ref}\n >\n <Input\n className={withBaseName(\"input\")}\n endAdornment={endAdornment}\n highlightOnFocus\n ref={inputRef}\n textAlign={textAlign}\n {...getInputProps(InputPropsProp)}\n />\n </div>\n );\n }\n);\n"],"names":["StepperInput"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { jsx, jsxs } from 'react/jsx-runtime';
2
- import cx from 'classnames';
2
+ import { clsx } from 'clsx';
3
3
  import { forwardRef, useRef, useState, useCallback } from 'react';
4
4
  import { makePrefixer, useControlled } from '@salt-ds/core';
5
5
  import { ControlLabel } from '../control-label/ControlLabel.js';
@@ -59,7 +59,7 @@ const Switch = forwardRef(function Switch2(props, ref) {
59
59
  );
60
60
  return /* @__PURE__ */ jsx(ControlLabel, {
61
61
  ...LabelProps,
62
- className: cx(
62
+ className: clsx(
63
63
  withBaseName("label"),
64
64
  { [withBaseName("disabled")]: disabled },
65
65
  className
@@ -68,10 +68,10 @@ const Switch = forwardRef(function Switch2(props, ref) {
68
68
  label,
69
69
  ref,
70
70
  children: /* @__PURE__ */ jsxs("span", {
71
- className: cx(withBaseName(), className),
71
+ className: clsx(withBaseName(), className),
72
72
  children: [
73
73
  /* @__PURE__ */ jsx("span", {
74
- className: cx(withBaseName("base"), {
74
+ className: clsx(withBaseName("base"), {
75
75
  [withBaseName("checked")]: checked,
76
76
  [withBaseName("focusVisible")]: focusVisible
77
77
  }),
@@ -1 +1 @@
1
- {"version":3,"file":"Switch.js","sources":["../src/switch/Switch.tsx"],"sourcesContent":["import cx from \"classnames\";\nimport {\n ChangeEvent,\n FocusEvent,\n forwardRef,\n InputHTMLAttributes,\n useCallback,\n useRef,\n useState,\n} from \"react\";\nimport { makePrefixer, useControlled } from \"@salt-ds/core\";\nimport { ControlLabel, ControlLabelProps } from \"../control-label\";\nimport { useFormFieldProps } from \"../form-field-context\";\nimport { CheckedIcon } from \"./assets/CheckedIcon\";\n\nimport \"./Switch.css\";\n\nexport interface SwitchProps\n extends Omit<InputHTMLAttributes<HTMLInputElement>, \"onChange\"> {\n label?: ControlLabelProps[\"label\"];\n LabelProps?: Partial<ControlLabelProps>;\n onChange?: (event: ChangeEvent<HTMLInputElement>, checked: boolean) => void;\n}\n\nconst withBaseName = makePrefixer(\"saltSwitch\");\n\nexport const Switch = forwardRef<HTMLLabelElement, SwitchProps>(function Switch(\n props,\n ref\n) {\n const { a11yProps } = useFormFieldProps();\n\n const {\n checked: checkedProp,\n className,\n color,\n defaultChecked,\n disabled,\n label,\n LabelProps,\n onBlur,\n onChange,\n onFocus,\n ...rest\n } = props;\n\n const inputRef = useRef<HTMLInputElement | null>(null);\n\n const [checked, setChecked] = useControlled({\n controlled: checkedProp,\n default: Boolean(defaultChecked),\n name: \"Switch\",\n state: \"checked\",\n });\n\n const [focusVisible, setFocusVisible] = useState(false);\n\n const handleChange = (event: ChangeEvent<HTMLInputElement>) => {\n const value = event.target.checked;\n setChecked(value);\n onChange?.(event, value);\n };\n\n const handleFocus = useCallback(\n (event: FocusEvent<HTMLInputElement>) => {\n // Fix for https://github.com/facebook/react/issues/7769\n if (!inputRef.current) {\n inputRef.current = event.currentTarget;\n }\n\n // TODO :focus-visible not yet supported on Safari, so we'll need to use the\n // useIsFocusVisible polyfill\n if (inputRef.current?.matches(\":focus-visible\")) {\n setFocusVisible(true);\n }\n\n onFocus?.(event);\n },\n [onFocus]\n );\n\n const handleBlur = useCallback(\n (event: FocusEvent<HTMLInputElement>) => {\n setFocusVisible(false);\n onBlur?.(event);\n },\n [onBlur]\n );\n\n return (\n <ControlLabel\n {...LabelProps}\n className={cx(\n withBaseName(\"label\"),\n { [withBaseName(\"disabled\")]: disabled },\n className\n )}\n disabled={disabled}\n label={label}\n ref={ref}\n >\n <span className={cx(withBaseName(), className)}>\n <span\n className={cx(withBaseName(\"base\"), {\n [withBaseName(\"checked\")]: checked,\n [withBaseName(\"focusVisible\")]: focusVisible,\n })}\n >\n <span className={withBaseName(\"inputContainer\")}>\n <input\n className={withBaseName(\"input\")}\n checked={checked}\n disabled={disabled}\n onBlur={handleBlur}\n onChange={handleChange}\n onFocus={handleFocus}\n ref={inputRef}\n type=\"checkbox\"\n {...a11yProps}\n {...rest}\n />\n {checked ? (\n <CheckedIcon className={withBaseName(\"icon\")} />\n ) : (\n <span className={withBaseName(\"thumb\")} />\n )}\n </span>\n </span>\n <span className={withBaseName(\"track\")} />\n </span>\n </ControlLabel>\n );\n});\n"],"names":["Switch"],"mappings":"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"}
1
+ {"version":3,"file":"Switch.js","sources":["../src/switch/Switch.tsx"],"sourcesContent":["import { clsx } from \"clsx\";\nimport {\n ChangeEvent,\n FocusEvent,\n forwardRef,\n InputHTMLAttributes,\n useCallback,\n useRef,\n useState,\n} from \"react\";\nimport { makePrefixer, useControlled } from \"@salt-ds/core\";\nimport { ControlLabel, ControlLabelProps } from \"../control-label\";\nimport { useFormFieldProps } from \"../form-field-context\";\nimport { CheckedIcon } from \"./assets/CheckedIcon\";\n\nimport \"./Switch.css\";\n\nexport interface SwitchProps\n extends Omit<InputHTMLAttributes<HTMLInputElement>, \"onChange\"> {\n label?: ControlLabelProps[\"label\"];\n LabelProps?: Partial<ControlLabelProps>;\n onChange?: (event: ChangeEvent<HTMLInputElement>, checked: boolean) => void;\n}\n\nconst withBaseName = makePrefixer(\"saltSwitch\");\n\nexport const Switch = forwardRef<HTMLLabelElement, SwitchProps>(function Switch(\n props,\n ref\n) {\n const { a11yProps } = useFormFieldProps();\n\n const {\n checked: checkedProp,\n className,\n color,\n defaultChecked,\n disabled,\n label,\n LabelProps,\n onBlur,\n onChange,\n onFocus,\n ...rest\n } = props;\n\n const inputRef = useRef<HTMLInputElement | null>(null);\n\n const [checked, setChecked] = useControlled({\n controlled: checkedProp,\n default: Boolean(defaultChecked),\n name: \"Switch\",\n state: \"checked\",\n });\n\n const [focusVisible, setFocusVisible] = useState(false);\n\n const handleChange = (event: ChangeEvent<HTMLInputElement>) => {\n const value = event.target.checked;\n setChecked(value);\n onChange?.(event, value);\n };\n\n const handleFocus = useCallback(\n (event: FocusEvent<HTMLInputElement>) => {\n // Fix for https://github.com/facebook/react/issues/7769\n if (!inputRef.current) {\n inputRef.current = event.currentTarget;\n }\n\n // TODO :focus-visible not yet supported on Safari, so we'll need to use the\n // useIsFocusVisible polyfill\n if (inputRef.current?.matches(\":focus-visible\")) {\n setFocusVisible(true);\n }\n\n onFocus?.(event);\n },\n [onFocus]\n );\n\n const handleBlur = useCallback(\n (event: FocusEvent<HTMLInputElement>) => {\n setFocusVisible(false);\n onBlur?.(event);\n },\n [onBlur]\n );\n\n return (\n <ControlLabel\n {...LabelProps}\n className={clsx(\n withBaseName(\"label\"),\n { [withBaseName(\"disabled\")]: disabled },\n className\n )}\n disabled={disabled}\n label={label}\n ref={ref}\n >\n <span className={clsx(withBaseName(), className)}>\n <span\n className={clsx(withBaseName(\"base\"), {\n [withBaseName(\"checked\")]: checked,\n [withBaseName(\"focusVisible\")]: focusVisible,\n })}\n >\n <span className={withBaseName(\"inputContainer\")}>\n <input\n className={withBaseName(\"input\")}\n checked={checked}\n disabled={disabled}\n onBlur={handleBlur}\n onChange={handleChange}\n onFocus={handleFocus}\n ref={inputRef}\n type=\"checkbox\"\n {...a11yProps}\n {...rest}\n />\n {checked ? (\n <CheckedIcon className={withBaseName(\"icon\")} />\n ) : (\n <span className={withBaseName(\"thumb\")} />\n )}\n </span>\n </span>\n <span className={withBaseName(\"track\")} />\n </span>\n </ControlLabel>\n );\n});\n"],"names":["Switch"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { jsxs, jsx } from 'react/jsx-runtime';
2
2
  import { makePrefixer, useForkRef, Button } from '@salt-ds/core';
3
3
  import { CloseIcon, CloseSmallIcon } from '@salt-ds/icons';
4
- import cx from 'classnames';
4
+ import { clsx } from 'clsx';
5
5
  import { forwardRef, useRef, useState, useCallback } from 'react';
6
6
  import { EditableLabel } from '../editable-label/EditableLabel.js';
7
7
  import './Tab.css.js';
@@ -126,7 +126,7 @@ const Tab = forwardRef(function Tab2({
126
126
  ...props,
127
127
  "aria-controls": ariaControls,
128
128
  "aria-selected": selected,
129
- className: cx(withBaseName(), {
129
+ className: clsx(withBaseName(), {
130
130
  [withBaseName("closeable")]: closeable,
131
131
  [withBaseName("closeHover")]: closeHover,
132
132
  [withBaseName("dragAway")]: dragging,
@@ -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, CloseSmallIcon } from \"@salt-ds/icons\";\nimport cx from \"classnames\";\nimport {\n forwardRef,\n FocusEvent,\n ForwardedRef,\n KeyboardEvent,\n MouseEvent,\n ReactElement,\n useCallback,\n useRef,\n useState,\n} from \"react\";\nimport { TabProps } from \"./TabsTypes\";\nimport { EditableLabel, EditableLabelProps } from \"../editable-label\";\n\nimport \"./Tab.css\";\n\nconst noop = () => undefined;\n\nconst withBaseName = makePrefixer(\"saltTab\");\n\n//TODO not ideal - duplicating the Icon then hiding one in css based on density - is there a nicer way ?\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 <CloseSmallIcon\n aria-label=\"Close Tab (Delete or Backspace)\"\n className={withBaseName(\"close-icon-small\")}\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 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) {\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={cx(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":["Tab","editable"],"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 { Button, ButtonProps, makePrefixer, useForkRef } from \"@salt-ds/core\";\nimport { CloseIcon, CloseSmallIcon } from \"@salt-ds/icons\";\nimport { clsx } from \"clsx\";\nimport {\n forwardRef,\n FocusEvent,\n ForwardedRef,\n KeyboardEvent,\n MouseEvent,\n ReactElement,\n useCallback,\n useRef,\n useState,\n} from \"react\";\nimport { TabProps } from \"./TabsTypes\";\nimport { EditableLabel, EditableLabelProps } from \"../editable-label\";\n\nimport \"./Tab.css\";\n\nconst noop = () => undefined;\n\nconst withBaseName = makePrefixer(\"saltTab\");\n\n//TODO not ideal - duplicating the Icon then hiding one in css based on density - is there a nicer way ?\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 <CloseSmallIcon\n aria-label=\"Close Tab (Delete or Backspace)\"\n className={withBaseName(\"close-icon-small\")}\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 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) {\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":["Tab","editable"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { jsx } from 'react/jsx-runtime';
2
2
  import { forwardRef } from 'react';
3
- import cx from 'classnames';
3
+ import { clsx } from 'clsx';
4
4
  import { makePrefixer } from '@salt-ds/core';
5
5
  import './TabPanel.css.js';
6
6
 
@@ -8,7 +8,7 @@ const withBaseName = makePrefixer("saltTabPanel");
8
8
  const TabPanel = forwardRef(function TabPanel2({ children, className, enableClose, ...htmlAttributes }, forwardedRef) {
9
9
  return /* @__PURE__ */ jsx("div", {
10
10
  ...htmlAttributes,
11
- className: cx(withBaseName(), className),
11
+ className: clsx(withBaseName(), className),
12
12
  ref: forwardedRef,
13
13
  role: "tabpanel",
14
14
  tabIndex: 0,
@@ -1 +1 @@
1
- {"version":3,"file":"TabPanel.js","sources":["../src/tabs/TabPanel.tsx"],"sourcesContent":["import { forwardRef, ForwardedRef, HTMLAttributes } from \"react\";\nimport cx from \"classnames\";\nimport { makePrefixer } from \"@salt-ds/core\";\n\nimport \"./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 return (\n <div\n {...htmlAttributes}\n className={cx(withBaseName(), className)}\n ref={forwardedRef}\n role=\"tabpanel\"\n tabIndex={0}\n >\n {children}\n </div>\n );\n});\n"],"names":["TabPanel"],"mappings":";;;;;;AAMA,MAAM,YAAA,GAAe,aAAa,cAAc,CAAA,CAAA;AAOnC,MAAA,QAAA,GAAW,UAAW,CAAA,SAASA,SAC1C,CAAA,EAAE,UAAU,SAAW,EAAA,WAAA,EAAA,GAAgB,cAAe,EAAA,EACtD,YACA,EAAA;AACA,EAAA,uBACG,GAAA,CAAA,KAAA,EAAA;AAAA,IACE,GAAG,cAAA;AAAA,IACJ,SAAW,EAAA,EAAA,CAAG,YAAa,EAAA,EAAG,SAAS,CAAA;AAAA,IACvC,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 { forwardRef, ForwardedRef, HTMLAttributes } from \"react\";\nimport { clsx } from \"clsx\";\nimport { makePrefixer } from \"@salt-ds/core\";\n\nimport \"./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 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":["TabPanel"],"mappings":";;;;;;AAMA,MAAM,YAAA,GAAe,aAAa,cAAc,CAAA,CAAA;AAOnC,MAAA,QAAA,GAAW,UAAW,CAAA,SAASA,SAC1C,CAAA,EAAE,UAAU,SAAW,EAAA,WAAA,EAAA,GAAgB,cAAe,EAAA,EACtD,YACA,EAAA;AACA,EAAA,uBACG,GAAA,CAAA,KAAA,EAAA;AAAA,IACE,GAAG,cAAA;AAAA,IACJ,SAAW,EAAA,IAAA,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,6 +1,6 @@
1
1
  import { jsxs, jsx } from 'react/jsx-runtime';
2
2
  import { forwardRef, useRef, useImperativeHandle, useCallback } from 'react';
3
- import cx from 'classnames';
3
+ import { clsx } from 'clsx';
4
4
  import { makePrefixer } from '@salt-ds/core';
5
5
  import { useTabs } from './useTabs.js';
6
6
  import { Tabstrip } from './Tabstrip.js';
@@ -71,7 +71,7 @@ const Tabs = forwardRef(function Tabs2({
71
71
  );
72
72
  return /* @__PURE__ */ jsxs("div", {
73
73
  ...htmlAttributes,
74
- className: cx(withBaseName(), className),
74
+ className: clsx(withBaseName(), className),
75
75
  id: `${id}-tabs`,
76
76
  children: [
77
77
  /* @__PURE__ */ jsx(Tabstrip, {
@@ -1 +1 @@
1
- {"version":3,"file":"Tabs.js","sources":["../src/tabs/Tabs.tsx"],"sourcesContent":["import {\n forwardRef,\n ForwardedRef,\n useCallback,\n useImperativeHandle,\n useRef,\n} from \"react\";\nimport cx from \"classnames\";\nimport { makePrefixer } from \"@salt-ds/core\";\nimport { useTabs } from \"./useTabs\";\nimport { Tabstrip } from \"./Tabstrip\";\nimport { FocusAPI, TabstripProps } from \"./TabsTypes\";\n\nimport \"./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 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={cx(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":["Tabs"],"mappings":";;;;;;;;AAeA,MAAM,YAAA,GAAe,aAAa,UAAU,CAAA,CAAA;AAI/B,MAAA,IAAA,GAAO,UAAW,CAAA,SAASA,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,EAAM,MAAA,WAAA,GAAc,OAAuB,IAAI,CAAA,CAAA;AAC/C,EAAA,mBAAA;AAAA,IACE,YAAA;AAAA,IACA,OACG;AAAA,MACC,OAAO,MAAG;AAhDlB,QAAA,IAAA,EAAA,CAAA;AAgDqB,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,KAAS,OAAQ,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,EAAsB,WAAA;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,uBACG,IAAA,CAAA,KAAA,EAAA;AAAA,IACE,GAAG,cAAA;AAAA,IACJ,SAAW,EAAA,EAAA,CAAG,YAAa,EAAA,EAAG,SAAS,CAAA;AAAA,IACvC,IAAI,CAAG,EAAA,EAAA,CAAA,KAAA,CAAA;AAAA,IAEP,QAAA,EAAA;AAAA,sBAAC,GAAA,CAAA,QAAA,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 {\n forwardRef,\n ForwardedRef,\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 \"./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 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":["Tabs"],"mappings":";;;;;;;;AAeA,MAAM,YAAA,GAAe,aAAa,UAAU,CAAA,CAAA;AAI/B,MAAA,IAAA,GAAO,UAAW,CAAA,SAASA,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,EAAM,MAAA,WAAA,GAAc,OAAuB,IAAI,CAAA,CAAA;AAC/C,EAAA,mBAAA;AAAA,IACE,YAAA;AAAA,IACA,OACG;AAAA,MACC,OAAO,MAAG;AAhDlB,QAAA,IAAA,EAAA,CAAA;AAgDqB,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,KAAS,OAAQ,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,EAAsB,WAAA;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,uBACG,IAAA,CAAA,KAAA,EAAA;AAAA,IACE,GAAG,cAAA;AAAA,IACJ,SAAW,EAAA,IAAA,CAAK,YAAa,EAAA,EAAG,SAAS,CAAA;AAAA,IACzC,IAAI,CAAG,EAAA,EAAA,CAAA,KAAA,CAAA;AAAA,IAEP,QAAA,EAAA;AAAA,sBAAC,GAAA,CAAA,QAAA,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;;;;"}
@@ -2,7 +2,7 @@ import { jsxs, jsx } from 'react/jsx-runtime';
2
2
  import React, { forwardRef, useRef, useState, useCallback, useImperativeHandle, createElement } from 'react';
3
3
  import { makePrefixer, useIdMemo, useIsomorphicLayoutEffect, Button } from '@salt-ds/core';
4
4
  import { OverflowMenuIcon, AddIcon } from '@salt-ds/icons';
5
- import cx from 'classnames';
5
+ import { clsx } from 'clsx';
6
6
  import '../dropdown/DropdownBase.js';
7
7
  import '../dropdown/DropdownButton.js';
8
8
  import { Dropdown } from '../dropdown/Dropdown.js';
@@ -289,11 +289,11 @@ const Tabstrip = forwardRef(function Tabstrip2({
289
289
  const triggerProps = getTriggerProps();
290
290
  content.push(
291
291
  /* @__PURE__ */ jsx(Dropdown, {
292
- className: cx(withBaseName("overflowMenu"), {
292
+ className: clsx(withBaseName("overflowMenu"), {
293
293
  [withBaseName("overflowMenu-open")]: showOverflow
294
294
  }),
295
295
  ListProps: {
296
- className: cx({
296
+ className: clsx({
297
297
  [withBaseName("overflowMenu-dropTarget")]: tabstripHook.revealOverflowedItems
298
298
  })
299
299
  },
@@ -350,7 +350,7 @@ const Tabstrip = forwardRef(function Tabstrip2({
350
350
  const selectedTabOverflowed = overflowedItems.some(
351
351
  (item) => item.index === activeTabIndex
352
352
  );
353
- const className = cx(
353
+ const className = clsx(
354
354
  withBaseName(),
355
355
  withBaseName(orientation),
356
356
  classNameProp,