@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
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var jsxRuntime = require('react/jsx-runtime');
6
- var cx = require('classnames');
6
+ var clsx = require('clsx');
7
7
  var React = require('react');
8
8
  var Portal = require('../portal/Portal.js');
9
9
  var core = require('@salt-ds/core');
@@ -11,10 +11,6 @@ var WindowContext = require('../window/WindowContext.js');
11
11
  require('../window/ElectronWindow.js');
12
12
  require('./Tooltip.css.js');
13
13
 
14
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
15
-
16
- var cx__default = /*#__PURE__*/_interopDefaultLegacy(cx);
17
-
18
14
  const withBaseName = core.makePrefixer("saltTooltip");
19
15
  const Tooltip = React.forwardRef(
20
16
  function Tooltip2({
@@ -52,7 +48,7 @@ const Tooltip = React.forwardRef(
52
48
  disablePortal,
53
49
  container,
54
50
  children: /* @__PURE__ */ jsxRuntime.jsxs(Window, {
55
- className: cx__default["default"](withBaseName(), withBaseName(status)),
51
+ className: clsx.clsx(withBaseName(), withBaseName(status)),
56
52
  ref,
57
53
  ...rest,
58
54
  children: [
@@ -1 +1 @@
1
- {"version":3,"file":"Tooltip.js","sources":["../src/tooltip/Tooltip.tsx"],"sourcesContent":["import { IconProps } from \"@salt-ds/icons\";\nimport cn from \"classnames\";\nimport {\n ComponentProps,\n forwardRef,\n HTMLAttributes,\n ReactNode,\n useCallback,\n} from \"react\";\nimport { Portal, PortalProps } from \"../portal\";\nimport { makePrefixer, StatusIndicator } from \"@salt-ds/core\";\nimport { useWindow } from \"../window\";\n\nimport \"./Tooltip.css\";\n\n// Keep in order of preference. First items are used as default\n\nexport type TooltipStatus = \"error\" | \"info\" | \"success\" | \"warning\";\n\nconst withBaseName = makePrefixer(\"saltTooltip\");\n\n// FIXME: Fix types\nexport interface TooltipRenderProp {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n Icon: any; // typeof Icon;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n getIconProps: any; // StateAndPropGetterFunction<IconProps>;\n}\n\nexport interface TooltipProps\n extends Omit<HTMLAttributes<HTMLDivElement>, \"title\">,\n Pick<PortalProps, \"disablePortal\" | \"container\"> {\n arrowProps?: ComponentProps<\"div\">;\n /**\n * Removes the tooltip arrow.\n */\n hideArrow?: boolean;\n /**\n * Whether to hide a state icon within the tooltip\n */\n hideIcon?: boolean;\n /**\n * A callback function to render the tooltip content\n * @param {function} getIcon getter for the icon based on the state\n * @param {function} getIconProps getter for the icon properties\n */\n render?: (props: TooltipRenderProp) => ReactNode;\n /**\n * A string to determine the current status of the tooltip\n */\n status?: TooltipStatus;\n title?: string;\n /**\n * This prop is used to help implement the accessibility logic.\n * If you don't provide this prop. It falls back to a randomly generated id.\n */\n id?: string;\n open?: boolean;\n}\n\nexport const Tooltip = forwardRef<HTMLDivElement, TooltipProps>(\n function Tooltip(\n {\n arrowProps,\n children,\n className: classNameProp,\n container,\n disablePortal,\n hideArrow,\n hideIcon,\n open,\n render,\n status = \"info\",\n title,\n ...rest\n },\n ref\n ) {\n const getIcon = useCallback(\n (iconProps: IconProps) => {\n if (hideIcon) {\n return null;\n }\n return status !== \"info\" ? (\n <StatusIndicator\n status={status}\n {...iconProps}\n className={withBaseName(\"icon\")}\n />\n ) : null;\n },\n [status, hideIcon]\n );\n\n const Window = useWindow();\n\n if (!open) {\n return null;\n }\n\n return (\n <Portal disablePortal={disablePortal} container={container}>\n <Window\n className={cn(withBaseName(), withBaseName(status))}\n ref={ref}\n {...rest}\n >\n <div className={withBaseName(\"content\")}>\n {render ? (\n render({\n Icon: (passedProps: IconProps) => getIcon(passedProps),\n getIconProps: () => ({\n status,\n className: withBaseName(\"icon\"),\n }),\n })\n ) : (\n <>\n {getIcon({})}\n <span className={withBaseName(\"body\")}>{title}</span>\n </>\n )}\n </div>\n {!hideArrow && (\n <div className={withBaseName(\"arrow\")} {...arrowProps} />\n )}\n </Window>\n </Portal>\n );\n }\n);\n"],"names":["makePrefixer","forwardRef","Tooltip","useCallback","jsx","StatusIndicator","useWindow","Portal","jsxs","cn","Fragment"],"mappings":";;;;;;;;;;;;;;;;;AAmBA,MAAM,YAAA,GAAeA,kBAAa,aAAa,CAAA,CAAA;AAyCxC,MAAM,OAAU,GAAAC,gBAAA;AAAA,EACrB,SAASC,QACP,CAAA;AAAA,IACE,UAAA;AAAA,IACA,QAAA;AAAA,IACA,SAAW,EAAA,aAAA;AAAA,IACX,SAAA;AAAA,IACA,aAAA;AAAA,IACA,SAAA;AAAA,IACA,QAAA;AAAA,IACA,IAAA;AAAA,IACA,MAAA;AAAA,IACA,MAAS,GAAA,MAAA;AAAA,IACT,KAAA;AAAA,IACG,GAAA,IAAA;AAAA,KAEL,GACA,EAAA;AACA,IAAA,MAAM,OAAU,GAAAC,iBAAA;AAAA,MACd,CAAC,SAAyB,KAAA;AACxB,QAAA,IAAI,QAAU,EAAA;AACZ,UAAO,OAAA,IAAA,CAAA;AAAA,SACT;AACA,QAAO,OAAA,MAAA,KAAW,yBACfC,cAAA,CAAAC,oBAAA,EAAA;AAAA,UACC,MAAA;AAAA,UACC,GAAG,SAAA;AAAA,UACJ,SAAA,EAAW,aAAa,MAAM,CAAA;AAAA,SAChC,CACE,GAAA,IAAA,CAAA;AAAA,OACN;AAAA,MACA,CAAC,QAAQ,QAAQ,CAAA;AAAA,KACnB,CAAA;AAEA,IAAA,MAAM,SAASC,uBAAU,EAAA,CAAA;AAEzB,IAAA,IAAI,CAAC,IAAM,EAAA;AACT,MAAO,OAAA,IAAA,CAAA;AAAA,KACT;AAEA,IAAA,uBACGF,cAAA,CAAAG,aAAA,EAAA;AAAA,MAAO,aAAA;AAAA,MAA8B,SAAA;AAAA,MACpC,QAAC,kBAAAC,eAAA,CAAA,MAAA,EAAA;AAAA,QACC,WAAWC,sBAAG,CAAA,YAAA,EAAgB,EAAA,YAAA,CAAa,MAAM,CAAC,CAAA;AAAA,QAClD,GAAA;AAAA,QACC,GAAG,IAAA;AAAA,QAEJ,QAAA,EAAA;AAAA,0BAACL,cAAA,CAAA,KAAA,EAAA;AAAA,YAAI,SAAA,EAAW,aAAa,SAAS,CAAA;AAAA,YACnC,mBACC,MAAO,CAAA;AAAA,cACL,IAAM,EAAA,CAAC,WAA2B,KAAA,OAAA,CAAQ,WAAW,CAAA;AAAA,cACrD,cAAc,OAAO;AAAA,gBACnB,MAAA;AAAA,gBACA,SAAA,EAAW,aAAa,MAAM,CAAA;AAAA,eAChC,CAAA;AAAA,aACD,CAED,mBAAAI,eAAA,CAAAE,mBAAA,EAAA;AAAA,cACG,QAAA,EAAA;AAAA,gBAAA,OAAA,CAAQ,EAAE,CAAA;AAAA,gCACVN,cAAA,CAAA,MAAA,EAAA;AAAA,kBAAK,SAAA,EAAW,aAAa,MAAM,CAAA;AAAA,kBAAI,QAAA,EAAA,KAAA;AAAA,iBAAM,CAAA;AAAA,eAAA;AAAA,aAChD,CAAA;AAAA,WAEJ,CAAA;AAAA,UACC,CAAC,6BACCA,cAAA,CAAA,KAAA,EAAA;AAAA,YAAI,SAAA,EAAW,aAAa,OAAO,CAAA;AAAA,YAAI,GAAG,UAAA;AAAA,WAAY,CAAA;AAAA,SAAA;AAAA,OAE3D,CAAA;AAAA,KACF,CAAA,CAAA;AAAA,GAEJ;AACF;;;;"}
1
+ {"version":3,"file":"Tooltip.js","sources":["../src/tooltip/Tooltip.tsx"],"sourcesContent":["import { IconProps } from \"@salt-ds/icons\";\nimport { clsx } from \"clsx\";\nimport {\n ComponentProps,\n forwardRef,\n HTMLAttributes,\n ReactNode,\n useCallback,\n} from \"react\";\nimport { Portal, PortalProps } from \"../portal\";\nimport { makePrefixer, StatusIndicator } from \"@salt-ds/core\";\nimport { useWindow } from \"../window\";\n\nimport \"./Tooltip.css\";\n\n// Keep in order of preference. First items are used as default\n\nexport type TooltipStatus = \"error\" | \"info\" | \"success\" | \"warning\";\n\nconst withBaseName = makePrefixer(\"saltTooltip\");\n\n// FIXME: Fix types\nexport interface TooltipRenderProp {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n Icon: any; // typeof Icon;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n getIconProps: any; // StateAndPropGetterFunction<IconProps>;\n}\n\nexport interface TooltipProps\n extends Omit<HTMLAttributes<HTMLDivElement>, \"title\">,\n Pick<PortalProps, \"disablePortal\" | \"container\"> {\n arrowProps?: ComponentProps<\"div\">;\n /**\n * Removes the tooltip arrow.\n */\n hideArrow?: boolean;\n /**\n * Whether to hide a state icon within the tooltip\n */\n hideIcon?: boolean;\n /**\n * A callback function to render the tooltip content\n * @param {function} getIcon getter for the icon based on the state\n * @param {function} getIconProps getter for the icon properties\n */\n render?: (props: TooltipRenderProp) => ReactNode;\n /**\n * A string to determine the current status of the tooltip\n */\n status?: TooltipStatus;\n title?: string;\n /**\n * This prop is used to help implement the accessibility logic.\n * If you don't provide this prop. It falls back to a randomly generated id.\n */\n id?: string;\n open?: boolean;\n}\n\nexport const Tooltip = forwardRef<HTMLDivElement, TooltipProps>(\n function Tooltip(\n {\n arrowProps,\n children,\n className: classNameProp,\n container,\n disablePortal,\n hideArrow,\n hideIcon,\n open,\n render,\n status = \"info\",\n title,\n ...rest\n },\n ref\n ) {\n const getIcon = useCallback(\n (iconProps: IconProps) => {\n if (hideIcon) {\n return null;\n }\n return status !== \"info\" ? (\n <StatusIndicator\n status={status}\n {...iconProps}\n className={withBaseName(\"icon\")}\n />\n ) : null;\n },\n [status, hideIcon]\n );\n\n const Window = useWindow();\n\n if (!open) {\n return null;\n }\n\n return (\n <Portal disablePortal={disablePortal} container={container}>\n <Window\n className={clsx(withBaseName(), withBaseName(status))}\n ref={ref}\n {...rest}\n >\n <div className={withBaseName(\"content\")}>\n {render ? (\n render({\n Icon: (passedProps: IconProps) => getIcon(passedProps),\n getIconProps: () => ({\n status,\n className: withBaseName(\"icon\"),\n }),\n })\n ) : (\n <>\n {getIcon({})}\n <span className={withBaseName(\"body\")}>{title}</span>\n </>\n )}\n </div>\n {!hideArrow && (\n <div className={withBaseName(\"arrow\")} {...arrowProps} />\n )}\n </Window>\n </Portal>\n );\n }\n);\n"],"names":["makePrefixer","forwardRef","Tooltip","useCallback","jsx","StatusIndicator","useWindow","Portal","jsxs","clsx","Fragment"],"mappings":";;;;;;;;;;;;;AAmBA,MAAM,YAAA,GAAeA,kBAAa,aAAa,CAAA,CAAA;AAyCxC,MAAM,OAAU,GAAAC,gBAAA;AAAA,EACrB,SAASC,QACP,CAAA;AAAA,IACE,UAAA;AAAA,IACA,QAAA;AAAA,IACA,SAAW,EAAA,aAAA;AAAA,IACX,SAAA;AAAA,IACA,aAAA;AAAA,IACA,SAAA;AAAA,IACA,QAAA;AAAA,IACA,IAAA;AAAA,IACA,MAAA;AAAA,IACA,MAAS,GAAA,MAAA;AAAA,IACT,KAAA;AAAA,IACG,GAAA,IAAA;AAAA,KAEL,GACA,EAAA;AACA,IAAA,MAAM,OAAU,GAAAC,iBAAA;AAAA,MACd,CAAC,SAAyB,KAAA;AACxB,QAAA,IAAI,QAAU,EAAA;AACZ,UAAO,OAAA,IAAA,CAAA;AAAA,SACT;AACA,QAAO,OAAA,MAAA,KAAW,yBACfC,cAAA,CAAAC,oBAAA,EAAA;AAAA,UACC,MAAA;AAAA,UACC,GAAG,SAAA;AAAA,UACJ,SAAA,EAAW,aAAa,MAAM,CAAA;AAAA,SAChC,CACE,GAAA,IAAA,CAAA;AAAA,OACN;AAAA,MACA,CAAC,QAAQ,QAAQ,CAAA;AAAA,KACnB,CAAA;AAEA,IAAA,MAAM,SAASC,uBAAU,EAAA,CAAA;AAEzB,IAAA,IAAI,CAAC,IAAM,EAAA;AACT,MAAO,OAAA,IAAA,CAAA;AAAA,KACT;AAEA,IAAA,uBACGF,cAAA,CAAAG,aAAA,EAAA;AAAA,MAAO,aAAA;AAAA,MAA8B,SAAA;AAAA,MACpC,QAAC,kBAAAC,eAAA,CAAA,MAAA,EAAA;AAAA,QACC,WAAWC,SAAK,CAAA,YAAA,EAAgB,EAAA,YAAA,CAAa,MAAM,CAAC,CAAA;AAAA,QACpD,GAAA;AAAA,QACC,GAAG,IAAA;AAAA,QAEJ,QAAA,EAAA;AAAA,0BAACL,cAAA,CAAA,KAAA,EAAA;AAAA,YAAI,SAAA,EAAW,aAAa,SAAS,CAAA;AAAA,YACnC,mBACC,MAAO,CAAA;AAAA,cACL,IAAM,EAAA,CAAC,WAA2B,KAAA,OAAA,CAAQ,WAAW,CAAA;AAAA,cACrD,cAAc,OAAO;AAAA,gBACnB,MAAA;AAAA,gBACA,SAAA,EAAW,aAAa,MAAM,CAAA;AAAA,eAChC,CAAA;AAAA,aACD,CAED,mBAAAI,eAAA,CAAAE,mBAAA,EAAA;AAAA,cACG,QAAA,EAAA;AAAA,gBAAA,OAAA,CAAQ,EAAE,CAAA;AAAA,gCACVN,cAAA,CAAA,MAAA,EAAA;AAAA,kBAAK,SAAA,EAAW,aAAa,MAAM,CAAA;AAAA,kBAAI,QAAA,EAAA,KAAA;AAAA,iBAAM,CAAA;AAAA,eAAA;AAAA,aAChD,CAAA;AAAA,WAEJ,CAAA;AAAA,UACC,CAAC,6BACCA,cAAA,CAAA,KAAA,EAAA;AAAA,YAAI,SAAA,EAAW,aAAa,OAAO,CAAA;AAAA,YAAI,GAAG,UAAA;AAAA,WAAY,CAAA;AAAA,SAAA;AAAA,OAE3D,CAAA;AAAA,KACF,CAAA,CAAA;AAAA,GAEJ;AACF;;;;"}
@@ -5,7 +5,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  var jsxRuntime = require('react/jsx-runtime');
6
6
  var React = require('react');
7
7
  var core = require('@salt-ds/core');
8
- var cx = require('classnames');
8
+ var clsx = require('clsx');
9
9
  var useAutoSizer = require('../common-hooks/useAutoSizer.js');
10
10
  var calcPreferredHeight = require('../common-hooks/calcPreferredHeight.js');
11
11
  require('../common-hooks/collectionProvider.js');
@@ -19,10 +19,6 @@ var useTree = require('./useTree.js');
19
19
  var TreeNode = require('./TreeNode.js');
20
20
  require('./Tree.css.js');
21
21
 
22
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
23
-
24
- var cx__default = /*#__PURE__*/_interopDefaultLegacy(cx);
25
-
26
22
  const withBaseName = core.makePrefixer("saltTree");
27
23
  const Tree = React.forwardRef(function Tree2({
28
24
  className,
@@ -134,7 +130,7 @@ const Tree = React.forwardRef(function Tree2({
134
130
  key: item.id,
135
131
  highlighted: idx.value === highlightedIdx || void 0,
136
132
  selected: isSelected.isSelected(selected, item),
137
- className: cx__default["default"]({
133
+ className: clsx.clsx({
138
134
  focusVisible: focusVisible === idx.value
139
135
  })
140
136
  };
@@ -158,7 +154,7 @@ const Tree = React.forwardRef(function Tree2({
158
154
  "aria-disabled": disabled || item.disabled,
159
155
  "aria-expanded": item.expanded,
160
156
  "aria-level": item.level,
161
- className: cx__default["default"]({
157
+ className: clsx.clsx({
162
158
  focusVisible: focusVisible === i,
163
159
  [withBaseName("toggle")]: !allowGroupSelect
164
160
  }),
@@ -201,7 +197,7 @@ const Tree = React.forwardRef(function Tree2({
201
197
  ...htmlAttributes,
202
198
  ...listHandlers,
203
199
  ...listProps,
204
- className: cx__default["default"](withBaseName(), className),
200
+ className: clsx.clsx(withBaseName(), className),
205
201
  id: `Tree-${id}`,
206
202
  ref: core.useForkRef(rootRef, forwardedRef),
207
203
  style: { ...styleProp, ...autoSize },
@@ -1 +1 @@
1
- {"version":3,"file":"Tree.js","sources":["../src/tree/Tree.tsx"],"sourcesContent":["import { makePrefixer, useForkRef, useIdMemo } from \"@salt-ds/core\";\nimport cx from \"classnames\";\nimport {\n forwardRef,\n ForwardedRef,\n isValidElement,\n ReactElement,\n useCallback,\n useRef,\n MouseEvent,\n} from \"react\";\n\nimport {\n calcPreferredHeight,\n closestListItemIndex,\n isSelected,\n CollectionIndexer,\n useCollectionItems,\n GROUP_SELECTION_NONE,\n CollectionItem,\n SelectHandler,\n SelectionChangeHandler,\n SelectionStrategy,\n useAutoSizer,\n SingleSelectionStrategy,\n} from \"../common-hooks\";\nimport { TreeProps } from \"./treeTypes\";\n\nimport { useTree } from \"./useTree\";\nimport { TreeNode } from \"./TreeNode\";\nimport \"./Tree.css\";\n\nconst withBaseName = makePrefixer(\"saltTree\");\n\nconst getSelectedItemsFromSource = (\n source: any[],\n selectionStrategy: SelectionStrategy,\n result: any[] = []\n) => {\n const isSingleSelection =\n selectionStrategy === \"default\" || selectionStrategy === \"deselectable\";\n for (let item of source) {\n if (item.selected === true) {\n result.push(item);\n if (isSingleSelection) {\n break;\n }\n }\n if (item.childNodes) {\n getSelectedItemsFromSource(item.childNodes, selectionStrategy, result);\n if (isSingleSelection && result.length === 1) {\n break;\n }\n }\n }\n\n return isSingleSelection ? result[0] : result.length > 0 ? result : undefined;\n};\n\nexport const Tree = forwardRef(function Tree<\n Item,\n Selection extends SelectionStrategy = \"deselectable\"\n>(\n {\n className,\n defaultSelected,\n disabled,\n groupSelection = GROUP_SELECTION_NONE,\n height,\n id: idProp,\n onHighlight,\n onToggle,\n onSelect,\n onSelectionChange,\n revealSelected,\n selected: selectedProp,\n selectionStrategy,\n source,\n style: styleProp,\n width,\n ...htmlAttributes\n }: TreeProps<Item, Selection>,\n forwardedRef?: ForwardedRef<HTMLDivElement>\n) {\n const id = useIdMemo(idProp);\n const rootRef = useRef(null);\n const contentRef = useRef(null);\n\n const collectionHook = useCollectionItems<Item>({\n id,\n source,\n options: {\n noChildrenLabel: \"No children available\",\n revealSelected: revealSelected\n ? selectedProp ?? defaultSelected ?? false\n : undefined,\n },\n });\n\n //------------- from original List\n const preferredHeight =\n height ??\n calcPreferredHeight({\n displayedItemCount: 10,\n itemCount: collectionHook.data.length,\n itemHeight: 36,\n // getItemHeight,\n // itemGapSize,\n });\n\n const autoSize = useAutoSizer<HTMLDivElement>({\n containerRef: rootRef,\n responsive: width === undefined || height === undefined,\n height: preferredHeight,\n width,\n });\n //---------------\n\n const handleSelect = useCallback<SelectHandler<CollectionItem<Item>>>(\n (evt, selectedItem) => {\n if (onSelect) {\n if (isValidElement(selectedItem.value)) {\n onSelect(evt, selectedItem.label as any);\n } else if (selectedItem.value !== null) {\n onSelect(evt, selectedItem.value);\n }\n }\n },\n [onSelect]\n );\n\n const handleSelectionChange = useCallback<\n SelectionChangeHandler<CollectionItem<Item>, Selection>\n >(\n (evt, selected) => {\n type returnType = Selection extends SingleSelectionStrategy\n ? Item | null\n : Item[];\n if (onSelectionChange) {\n onSelectionChange(\n evt,\n Array.isArray(selected)\n ? (selected.map((s) => s.value) as returnType)\n : selected && (selected.value as returnType)\n );\n }\n },\n [onSelectionChange]\n );\n\n // const getSelected = (\n // sel: Item | null | Item[]\n // ):\n // | undefined\n // | (Selection extends SingleSelectionStrategy\n // ? CollectionItem<Item> | null\n // : CollectionItem<Item>[]) => {\n // if (sel !== undefined) {\n // return collectionHook.itemToCollectionItem<Selection, typeof sel>(sel);\n // } else if (Array.isArray(source)) {\n // const selected = getSelectedItemsFromSource(\n // source,\n // selectionStrategy ?? \"default\"\n // );\n // return Array.isArray(selected)\n // ? collectionHook.itemToCollectionItem(selected)\n // : selected\n // ? collectionHook.toCollectionItem(selected)\n // : undefined;\n // }\n // };\n\n const {\n focusVisible,\n highlightedIdx,\n highlightItemAtIndex,\n listHandlers,\n listProps,\n listItemHandlers,\n selected,\n } = useTree<Item, Selection>({\n collectionHook,\n containerRef: rootRef,\n contentRef,\n // Note this isn't enough for a Tree, because of nested structure\n defaultSelected: collectionHook.itemToCollectionItem<\n Selection,\n typeof defaultSelected\n >(defaultSelected),\n disabled,\n groupSelection,\n onHighlight,\n onSelect: handleSelect,\n onSelectionChange: handleSelectionChange,\n onToggle,\n selected: collectionHook.itemToCollectionItem<\n Selection,\n typeof selectedProp\n >(selectedProp),\n selectionStrategy,\n });\n\n // TODO move into useTree (see useList)\n const defaultItemHandlers = {\n onMouseEnter: (evt: MouseEvent) => {\n // if (!isScrolling.current) {\n const idx = closestListItemIndex(evt.target as HTMLElement);\n highlightItemAtIndex(idx!);\n // onMouseEnterListItem && onMouseEnterListItem(evt, idx);\n // }\n },\n };\n\n const propsCommonToAllListItems = {\n ...defaultItemHandlers,\n ...listItemHandlers,\n isLeaf: true,\n role: \"treeitem\",\n };\n // const allowGroupSelect = groupSelectionEnabled(groupSelection);\n const allowGroupSelect = false;\n\n /**\n * Add a ListItem from source item\n */\n function addLeafNode(\n list: ReactElement[],\n item: CollectionItem<Item>,\n idx: CollectionIndexer\n ) {\n const itemProps = {\n \"aria-disabled\": disabled || item.disabled,\n \"aria-level\": item.level,\n \"data-idx\": idx.value,\n description: item.description,\n id: item.id,\n key: item.id,\n highlighted: idx.value === highlightedIdx || undefined,\n selected: isSelected<Item>(selected, item),\n className: cx({\n focusVisible: focusVisible === idx.value,\n }),\n };\n\n list.push(\n <TreeNode\n {...propsCommonToAllListItems}\n {...itemProps}\n label={item.label}\n >\n {/* {item.icon ? <span className={`${classBase}Node-icon`} /> : null} */}\n </TreeNode>\n );\n idx.value += 1;\n }\n\n function addGroupNode(\n list: ReactElement[],\n items: CollectionItem<Item>[],\n idx: CollectionIndexer,\n id: string,\n title: string\n ) {\n const { value: i } = idx;\n const item = items[i];\n idx.value += 1;\n list.push(\n <TreeNode\n {...defaultItemHandlers}\n {...listItemHandlers}\n aria-disabled={disabled || item.disabled}\n aria-expanded={item.expanded}\n aria-level={item.level}\n className={cx({\n focusVisible: focusVisible === i,\n [withBaseName(\"toggle\")]: !allowGroupSelect,\n })}\n // data-icon={child.icon}\n data-idx={i}\n data-selectable\n description={item.description}\n highlighted={i === highlightedIdx}\n id={id}\n key={`header-${i}`}\n label={title}\n selected={isSelected<Item>(selected, item)}\n >\n {item.expanded ? (\n <ul className={withBaseName(\"child-nodes\")} role=\"group\">\n {renderItems(items, idx, item.level! + 1)}\n </ul>\n ) : null}\n </TreeNode>\n );\n }\n\n const renderItems = (\n items: CollectionItem<Item>[],\n idx: CollectionIndexer = { value: 0 },\n level = 1\n ): ReactElement[] => {\n const listItems: ReactElement[] = [];\n while (idx.value < items.length) {\n const item = items[idx.value];\n if (item.level! < level) {\n break;\n }\n if (item.childNodes) {\n addGroupNode(listItems, items, idx, item.id!, item.label!);\n } else {\n addLeafNode(listItems, item, idx);\n }\n }\n\n return listItems;\n };\n\n function renderEmpty() {\n // if (emptyMessage || showEmptyMessage) {\n // return (\n // <span className={withBaseName(\"empty-message\")}>\n // {emptyMessage ?? defaultEmptyMessage}\n // </span>\n // );\n // } else {\n return null;\n // }\n }\n\n const renderContent = () => {\n if (collectionHook.data.length) {\n return renderItems(collectionHook.data);\n } else {\n renderEmpty();\n }\n };\n\n return (\n <div\n {...htmlAttributes}\n {...listHandlers}\n {...listProps}\n className={cx(withBaseName(), className)}\n id={`Tree-${id}`}\n ref={useForkRef(rootRef, forwardedRef)}\n style={{ ...styleProp, ...autoSize }}\n tabIndex={0}\n >\n <ul\n className={withBaseName(\"scrollingContentContainer\")}\n ref={contentRef}\n role=\"tree\"\n // style={{ height: contentHeight }}\n >\n {renderContent()}\n </ul>\n </div>\n );\n});\n"],"names":["makePrefixer","forwardRef","Tree","GROUP_SELECTION_NONE","useIdMemo","useRef","useCollectionItems","calcPreferredHeight","useAutoSizer","useCallback","isValidElement","selected","useTree","closestListItemIndex","isSelected","cx","jsx","TreeNode","id","createElement","useForkRef"],"mappings":"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"}
1
+ {"version":3,"file":"Tree.js","sources":["../src/tree/Tree.tsx"],"sourcesContent":["import { makePrefixer, useForkRef, useIdMemo } from \"@salt-ds/core\";\nimport { clsx } from \"clsx\";\nimport {\n forwardRef,\n ForwardedRef,\n isValidElement,\n ReactElement,\n useCallback,\n useRef,\n MouseEvent,\n} from \"react\";\n\nimport {\n calcPreferredHeight,\n closestListItemIndex,\n isSelected,\n CollectionIndexer,\n useCollectionItems,\n GROUP_SELECTION_NONE,\n CollectionItem,\n SelectHandler,\n SelectionChangeHandler,\n SelectionStrategy,\n useAutoSizer,\n SingleSelectionStrategy,\n} from \"../common-hooks\";\nimport { TreeProps } from \"./treeTypes\";\n\nimport { useTree } from \"./useTree\";\nimport { TreeNode } from \"./TreeNode\";\nimport \"./Tree.css\";\n\nconst withBaseName = makePrefixer(\"saltTree\");\n\nconst getSelectedItemsFromSource = (\n source: any[],\n selectionStrategy: SelectionStrategy,\n result: any[] = []\n) => {\n const isSingleSelection =\n selectionStrategy === \"default\" || selectionStrategy === \"deselectable\";\n for (let item of source) {\n if (item.selected === true) {\n result.push(item);\n if (isSingleSelection) {\n break;\n }\n }\n if (item.childNodes) {\n getSelectedItemsFromSource(item.childNodes, selectionStrategy, result);\n if (isSingleSelection && result.length === 1) {\n break;\n }\n }\n }\n\n return isSingleSelection ? result[0] : result.length > 0 ? result : undefined;\n};\n\nexport const Tree = forwardRef(function Tree<\n Item,\n Selection extends SelectionStrategy = \"deselectable\"\n>(\n {\n className,\n defaultSelected,\n disabled,\n groupSelection = GROUP_SELECTION_NONE,\n height,\n id: idProp,\n onHighlight,\n onToggle,\n onSelect,\n onSelectionChange,\n revealSelected,\n selected: selectedProp,\n selectionStrategy,\n source,\n style: styleProp,\n width,\n ...htmlAttributes\n }: TreeProps<Item, Selection>,\n forwardedRef?: ForwardedRef<HTMLDivElement>\n) {\n const id = useIdMemo(idProp);\n const rootRef = useRef(null);\n const contentRef = useRef(null);\n\n const collectionHook = useCollectionItems<Item>({\n id,\n source,\n options: {\n noChildrenLabel: \"No children available\",\n revealSelected: revealSelected\n ? selectedProp ?? defaultSelected ?? false\n : undefined,\n },\n });\n\n //------------- from original List\n const preferredHeight =\n height ??\n calcPreferredHeight({\n displayedItemCount: 10,\n itemCount: collectionHook.data.length,\n itemHeight: 36,\n // getItemHeight,\n // itemGapSize,\n });\n\n const autoSize = useAutoSizer<HTMLDivElement>({\n containerRef: rootRef,\n responsive: width === undefined || height === undefined,\n height: preferredHeight,\n width,\n });\n //---------------\n\n const handleSelect = useCallback<SelectHandler<CollectionItem<Item>>>(\n (evt, selectedItem) => {\n if (onSelect) {\n if (isValidElement(selectedItem.value)) {\n onSelect(evt, selectedItem.label as any);\n } else if (selectedItem.value !== null) {\n onSelect(evt, selectedItem.value);\n }\n }\n },\n [onSelect]\n );\n\n const handleSelectionChange = useCallback<\n SelectionChangeHandler<CollectionItem<Item>, Selection>\n >(\n (evt, selected) => {\n type returnType = Selection extends SingleSelectionStrategy\n ? Item | null\n : Item[];\n if (onSelectionChange) {\n onSelectionChange(\n evt,\n Array.isArray(selected)\n ? (selected.map((s) => s.value) as returnType)\n : selected && (selected.value as returnType)\n );\n }\n },\n [onSelectionChange]\n );\n\n // const getSelected = (\n // sel: Item | null | Item[]\n // ):\n // | undefined\n // | (Selection extends SingleSelectionStrategy\n // ? CollectionItem<Item> | null\n // : CollectionItem<Item>[]) => {\n // if (sel !== undefined) {\n // return collectionHook.itemToCollectionItem<Selection, typeof sel>(sel);\n // } else if (Array.isArray(source)) {\n // const selected = getSelectedItemsFromSource(\n // source,\n // selectionStrategy ?? \"default\"\n // );\n // return Array.isArray(selected)\n // ? collectionHook.itemToCollectionItem(selected)\n // : selected\n // ? collectionHook.toCollectionItem(selected)\n // : undefined;\n // }\n // };\n\n const {\n focusVisible,\n highlightedIdx,\n highlightItemAtIndex,\n listHandlers,\n listProps,\n listItemHandlers,\n selected,\n } = useTree<Item, Selection>({\n collectionHook,\n containerRef: rootRef,\n contentRef,\n // Note this isn't enough for a Tree, because of nested structure\n defaultSelected: collectionHook.itemToCollectionItem<\n Selection,\n typeof defaultSelected\n >(defaultSelected),\n disabled,\n groupSelection,\n onHighlight,\n onSelect: handleSelect,\n onSelectionChange: handleSelectionChange,\n onToggle,\n selected: collectionHook.itemToCollectionItem<\n Selection,\n typeof selectedProp\n >(selectedProp),\n selectionStrategy,\n });\n\n // TODO move into useTree (see useList)\n const defaultItemHandlers = {\n onMouseEnter: (evt: MouseEvent) => {\n // if (!isScrolling.current) {\n const idx = closestListItemIndex(evt.target as HTMLElement);\n highlightItemAtIndex(idx!);\n // onMouseEnterListItem && onMouseEnterListItem(evt, idx);\n // }\n },\n };\n\n const propsCommonToAllListItems = {\n ...defaultItemHandlers,\n ...listItemHandlers,\n isLeaf: true,\n role: \"treeitem\",\n };\n // const allowGroupSelect = groupSelectionEnabled(groupSelection);\n const allowGroupSelect = false;\n\n /**\n * Add a ListItem from source item\n */\n function addLeafNode(\n list: ReactElement[],\n item: CollectionItem<Item>,\n idx: CollectionIndexer\n ) {\n const itemProps = {\n \"aria-disabled\": disabled || item.disabled,\n \"aria-level\": item.level,\n \"data-idx\": idx.value,\n description: item.description,\n id: item.id,\n key: item.id,\n highlighted: idx.value === highlightedIdx || undefined,\n selected: isSelected<Item>(selected, item),\n className: clsx({\n focusVisible: focusVisible === idx.value,\n }),\n };\n\n list.push(\n <TreeNode\n {...propsCommonToAllListItems}\n {...itemProps}\n label={item.label}\n >\n {/* {item.icon ? <span className={`${classBase}Node-icon`} /> : null} */}\n </TreeNode>\n );\n idx.value += 1;\n }\n\n function addGroupNode(\n list: ReactElement[],\n items: CollectionItem<Item>[],\n idx: CollectionIndexer,\n id: string,\n title: string\n ) {\n const { value: i } = idx;\n const item = items[i];\n idx.value += 1;\n list.push(\n <TreeNode\n {...defaultItemHandlers}\n {...listItemHandlers}\n aria-disabled={disabled || item.disabled}\n aria-expanded={item.expanded}\n aria-level={item.level}\n className={clsx({\n focusVisible: focusVisible === i,\n [withBaseName(\"toggle\")]: !allowGroupSelect,\n })}\n // data-icon={child.icon}\n data-idx={i}\n data-selectable\n description={item.description}\n highlighted={i === highlightedIdx}\n id={id}\n key={`header-${i}`}\n label={title}\n selected={isSelected<Item>(selected, item)}\n >\n {item.expanded ? (\n <ul className={withBaseName(\"child-nodes\")} role=\"group\">\n {renderItems(items, idx, item.level! + 1)}\n </ul>\n ) : null}\n </TreeNode>\n );\n }\n\n const renderItems = (\n items: CollectionItem<Item>[],\n idx: CollectionIndexer = { value: 0 },\n level = 1\n ): ReactElement[] => {\n const listItems: ReactElement[] = [];\n while (idx.value < items.length) {\n const item = items[idx.value];\n if (item.level! < level) {\n break;\n }\n if (item.childNodes) {\n addGroupNode(listItems, items, idx, item.id!, item.label!);\n } else {\n addLeafNode(listItems, item, idx);\n }\n }\n\n return listItems;\n };\n\n function renderEmpty() {\n // if (emptyMessage || showEmptyMessage) {\n // return (\n // <span className={withBaseName(\"empty-message\")}>\n // {emptyMessage ?? defaultEmptyMessage}\n // </span>\n // );\n // } else {\n return null;\n // }\n }\n\n const renderContent = () => {\n if (collectionHook.data.length) {\n return renderItems(collectionHook.data);\n } else {\n renderEmpty();\n }\n };\n\n return (\n <div\n {...htmlAttributes}\n {...listHandlers}\n {...listProps}\n className={clsx(withBaseName(), className)}\n id={`Tree-${id}`}\n ref={useForkRef(rootRef, forwardedRef)}\n style={{ ...styleProp, ...autoSize }}\n tabIndex={0}\n >\n <ul\n className={withBaseName(\"scrollingContentContainer\")}\n ref={contentRef}\n role=\"tree\"\n // style={{ height: contentHeight }}\n >\n {renderContent()}\n </ul>\n </div>\n );\n});\n"],"names":["makePrefixer","forwardRef","Tree","GROUP_SELECTION_NONE","useIdMemo","useRef","useCollectionItems","calcPreferredHeight","useAutoSizer","useCallback","isValidElement","selected","useTree","closestListItemIndex","isSelected","clsx","jsx","TreeNode","id","createElement","useForkRef"],"mappings":"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"}
@@ -3,15 +3,11 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var jsxRuntime = require('react/jsx-runtime');
6
- var cx = require('classnames');
6
+ var clsx = require('clsx');
7
7
  var icons = require('@salt-ds/icons');
8
8
  var core = require('@salt-ds/core');
9
9
  require('./TreeNode.css.js');
10
10
 
11
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
12
-
13
- var cx__default = /*#__PURE__*/_interopDefaultLegacy(cx);
14
-
15
11
  const withBaseName = core.makePrefixer("saltTreeNode");
16
12
  const TreeNode = ({
17
13
  "aria-level": ariaLevel,
@@ -26,7 +22,7 @@ const TreeNode = ({
26
22
  selected,
27
23
  ...props
28
24
  }) => {
29
- const className = cx__default["default"](withBaseName(), classNameProp, {
25
+ const className = clsx.clsx(withBaseName(), classNameProp, {
30
26
  [withBaseName("highlighted")]: highlighted
31
27
  });
32
28
  return /* @__PURE__ */ jsxRuntime.jsxs("li", {
@@ -1 +1 @@
1
- {"version":3,"file":"TreeNode.js","sources":["../src/tree/TreeNode.tsx"],"sourcesContent":["import { HTMLAttributes, MouseEventHandler, ReactNode } from \"react\";\nimport cx from \"classnames\";\nimport { TriangleRightIcon } from \"@salt-ds/icons\";\n\nimport { makePrefixer } from \"@salt-ds/core\";\n\nimport \"./TreeNode.css\";\n\nconst withBaseName = makePrefixer(\"saltTreeNode\");\nexport interface TreeNodeProps\n extends Omit<HTMLAttributes<HTMLLIElement>, \"onMouseEnter\"> {\n children?: ReactNode;\n description?: string;\n highlighted?: boolean;\n idx?: number;\n isLeaf?: boolean;\n label?: string;\n onMouseEnter?: MouseEventHandler;\n selected?: boolean;\n}\n\nexport const TreeNode = ({\n \"aria-level\": ariaLevel,\n children,\n className: classNameProp,\n description,\n highlighted,\n idx,\n isLeaf = false,\n label,\n onMouseEnter,\n selected,\n ...props\n}: TreeNodeProps) => {\n const className = cx(withBaseName(), classNameProp, {\n [withBaseName(\"highlighted\")]: highlighted,\n });\n\n return (\n <li {...props} className={className} role=\"presentation\">\n <div\n aria-level={ariaLevel}\n aria-selected={selected || undefined}\n className={withBaseName(\"item\")}\n onMouseEnter={onMouseEnter}\n role=\"treeitem\"\n >\n {isLeaf === false ? (\n <span className={withBaseName(\"toggle\")} data-toggle={true}>\n <TriangleRightIcon />\n </span>\n ) : null}\n <div className={withBaseName(\"label\")}>\n {/* {child.icon ? <span className={`${classBase}Node-icon`} /> : null} */}\n {label}\n </div>\n {description !== undefined ? (\n <div className={withBaseName(\"description\")}>{description}</div>\n ) : null}\n </div>\n {children}\n </li>\n );\n};\n"],"names":["makePrefixer","cx","jsxs","jsx","TriangleRightIcon"],"mappings":";;;;;;;;;;;;;;AAQA,MAAM,YAAA,GAAeA,kBAAa,cAAc,CAAA,CAAA;AAazC,MAAM,WAAW,CAAC;AAAA,EACvB,YAAc,EAAA,SAAA;AAAA,EACd,QAAA;AAAA,EACA,SAAW,EAAA,aAAA;AAAA,EACX,WAAA;AAAA,EACA,WAAA;AAAA,EACA,GAAA;AAAA,EACA,MAAS,GAAA,KAAA;AAAA,EACT,KAAA;AAAA,EACA,YAAA;AAAA,EACA,QAAA;AAAA,EACG,GAAA,KAAA;AACL,CAAqB,KAAA;AACnB,EAAA,MAAM,SAAY,GAAAC,sBAAA,CAAG,YAAa,EAAA,EAAG,aAAe,EAAA;AAAA,IAClD,CAAC,YAAa,CAAA,aAAa,CAAI,GAAA,WAAA;AAAA,GAChC,CAAA,CAAA;AAED,EAAA,uBACGC,eAAA,CAAA,IAAA,EAAA;AAAA,IAAI,GAAG,KAAA;AAAA,IAAO,SAAA;AAAA,IAAsB,IAAK,EAAA,cAAA;AAAA,IACxC,QAAA,EAAA;AAAA,sBAACA,eAAA,CAAA,KAAA,EAAA;AAAA,QACC,YAAY,EAAA,SAAA;AAAA,QACZ,iBAAe,QAAY,IAAA,KAAA,CAAA;AAAA,QAC3B,SAAA,EAAW,aAAa,MAAM,CAAA;AAAA,QAC9B,YAAA;AAAA,QACA,IAAK,EAAA,UAAA;AAAA,QAEJ,QAAA,EAAA;AAAA,UAAA,MAAA,KAAW,wBACTC,cAAA,CAAA,MAAA,EAAA;AAAA,YAAK,SAAA,EAAW,aAAa,QAAQ,CAAA;AAAA,YAAG,aAAa,EAAA,IAAA;AAAA,YACpD,yCAACC,uBAAkB,EAAA,EAAA,CAAA;AAAA,WACrB,CACE,GAAA,IAAA;AAAA,0BACHD,cAAA,CAAA,KAAA,EAAA;AAAA,YAAI,SAAA,EAAW,aAAa,OAAO,CAAA;AAAA,YAEjC,QAAA,EAAA,KAAA;AAAA,WACH,CAAA;AAAA,UACC,WAAA,KAAgB,yBACdA,cAAA,CAAA,KAAA,EAAA;AAAA,YAAI,SAAA,EAAW,aAAa,aAAa,CAAA;AAAA,YAAI,QAAA,EAAA,WAAA;AAAA,WAAY,CACxD,GAAA,IAAA;AAAA,SAAA;AAAA,OACN,CAAA;AAAA,MACC,QAAA;AAAA,KAAA;AAAA,GACH,CAAA,CAAA;AAEJ;;;;"}
1
+ {"version":3,"file":"TreeNode.js","sources":["../src/tree/TreeNode.tsx"],"sourcesContent":["import { HTMLAttributes, MouseEventHandler, ReactNode } from \"react\";\nimport { clsx } from \"clsx\";\nimport { TriangleRightIcon } from \"@salt-ds/icons\";\n\nimport { makePrefixer } from \"@salt-ds/core\";\n\nimport \"./TreeNode.css\";\n\nconst withBaseName = makePrefixer(\"saltTreeNode\");\nexport interface TreeNodeProps\n extends Omit<HTMLAttributes<HTMLLIElement>, \"onMouseEnter\"> {\n children?: ReactNode;\n description?: string;\n highlighted?: boolean;\n idx?: number;\n isLeaf?: boolean;\n label?: string;\n onMouseEnter?: MouseEventHandler;\n selected?: boolean;\n}\n\nexport const TreeNode = ({\n \"aria-level\": ariaLevel,\n children,\n className: classNameProp,\n description,\n highlighted,\n idx,\n isLeaf = false,\n label,\n onMouseEnter,\n selected,\n ...props\n}: TreeNodeProps) => {\n const className = clsx(withBaseName(), classNameProp, {\n [withBaseName(\"highlighted\")]: highlighted,\n });\n\n return (\n <li {...props} className={className} role=\"presentation\">\n <div\n aria-level={ariaLevel}\n aria-selected={selected || undefined}\n className={withBaseName(\"item\")}\n onMouseEnter={onMouseEnter}\n role=\"treeitem\"\n >\n {isLeaf === false ? (\n <span className={withBaseName(\"toggle\")} data-toggle={true}>\n <TriangleRightIcon />\n </span>\n ) : null}\n <div className={withBaseName(\"label\")}>\n {/* {child.icon ? <span className={`${classBase}Node-icon`} /> : null} */}\n {label}\n </div>\n {description !== undefined ? (\n <div className={withBaseName(\"description\")}>{description}</div>\n ) : null}\n </div>\n {children}\n </li>\n );\n};\n"],"names":["makePrefixer","clsx","jsxs","jsx","TriangleRightIcon"],"mappings":";;;;;;;;;;AAQA,MAAM,YAAA,GAAeA,kBAAa,cAAc,CAAA,CAAA;AAazC,MAAM,WAAW,CAAC;AAAA,EACvB,YAAc,EAAA,SAAA;AAAA,EACd,QAAA;AAAA,EACA,SAAW,EAAA,aAAA;AAAA,EACX,WAAA;AAAA,EACA,WAAA;AAAA,EACA,GAAA;AAAA,EACA,MAAS,GAAA,KAAA;AAAA,EACT,KAAA;AAAA,EACA,YAAA;AAAA,EACA,QAAA;AAAA,EACG,GAAA,KAAA;AACL,CAAqB,KAAA;AACnB,EAAA,MAAM,SAAY,GAAAC,SAAA,CAAK,YAAa,EAAA,EAAG,aAAe,EAAA;AAAA,IACpD,CAAC,YAAa,CAAA,aAAa,CAAI,GAAA,WAAA;AAAA,GAChC,CAAA,CAAA;AAED,EAAA,uBACGC,eAAA,CAAA,IAAA,EAAA;AAAA,IAAI,GAAG,KAAA;AAAA,IAAO,SAAA;AAAA,IAAsB,IAAK,EAAA,cAAA;AAAA,IACxC,QAAA,EAAA;AAAA,sBAACA,eAAA,CAAA,KAAA,EAAA;AAAA,QACC,YAAY,EAAA,SAAA;AAAA,QACZ,iBAAe,QAAY,IAAA,KAAA,CAAA;AAAA,QAC3B,SAAA,EAAW,aAAa,MAAM,CAAA;AAAA,QAC9B,YAAA;AAAA,QACA,IAAK,EAAA,UAAA;AAAA,QAEJ,QAAA,EAAA;AAAA,UAAA,MAAA,KAAW,wBACTC,cAAA,CAAA,MAAA,EAAA;AAAA,YAAK,SAAA,EAAW,aAAa,QAAQ,CAAA;AAAA,YAAG,aAAa,EAAA,IAAA;AAAA,YACpD,yCAACC,uBAAkB,EAAA,EAAA,CAAA;AAAA,WACrB,CACE,GAAA,IAAA;AAAA,0BACHD,cAAA,CAAA,KAAA,EAAA;AAAA,YAAI,SAAA,EAAW,aAAa,OAAO,CAAA;AAAA,YAEjC,QAAA,EAAA,KAAA;AAAA,WACH,CAAA;AAAA,UACC,WAAA,KAAgB,yBACdA,cAAA,CAAA,KAAA,EAAA;AAAA,YAAI,SAAA,EAAW,aAAa,aAAa,CAAA;AAAA,YAAI,QAAA,EAAA,WAAA;AAAA,WAAY,CACxD,GAAA,IAAA;AAAA,SAAA;AAAA,OACN,CAAA;AAAA,MACC,QAAA;AAAA,KAAA;AAAA,GACH,CAAA,CAAA;AAEJ;;;;"}
@@ -3,11 +3,11 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var React = require('react');
6
+ require('@salt-ds/core');
6
7
  require('../common-hooks/collectionProvider.js');
7
8
  require('../common-hooks/keyUtils.js');
8
9
  var useCollapsibleGroups = require('../common-hooks/useCollapsibleGroups.js');
9
10
  var listDomUtils = require('../common-hooks/list-dom-utils.js');
10
- require('@salt-ds/core');
11
11
  var useKeyboardNavigation = require('../common-hooks/useKeyboardNavigation.js');
12
12
  var useSelection = require('../common-hooks/useSelection.js');
13
13
  var useViewportTracking = require('../common-hooks/useViewportTracking.js');
@@ -2,7 +2,7 @@ import { jsx } from 'react/jsx-runtime';
2
2
  import { forwardRef, useState, useCallback, useEffect, useMemo } from 'react';
3
3
  import { makePrefixer, useControlled } from '@salt-ds/core';
4
4
  import './Accordion.css.js';
5
- import cx from 'classnames';
5
+ import { clsx } from 'clsx';
6
6
  import { AccordionContext } from './AccordionContext.js';
7
7
 
8
8
  const withBaseName = makePrefixer("saltAccordion");
@@ -110,7 +110,7 @@ const Accordion = forwardRef(
110
110
  };
111
111
  }, [registerSection, unregisterSection, onChange, isExpanded, disabled]);
112
112
  return /* @__PURE__ */ jsx("div", {
113
- className: cx(withBaseName(), className),
113
+ className: clsx(withBaseName(), className),
114
114
  ...restProps,
115
115
  ref,
116
116
  children: /* @__PURE__ */ jsx(AccordionContext.Provider, {
@@ -1 +1 @@
1
- {"version":3,"file":"Accordion.js","sources":["../src/accordion/Accordion.tsx"],"sourcesContent":["import {\n forwardRef,\n HTMLAttributes,\n useCallback,\n useEffect,\n useMemo,\n useState,\n} from \"react\";\nimport { makePrefixer, useControlled } from \"@salt-ds/core\";\nimport \"./Accordion.css\";\nimport cn from \"classnames\";\nimport { AccordionContext } from \"./AccordionContext\";\n\nconst withBaseName = makePrefixer(\"saltAccordion\");\n\nexport interface AccordionProps\n extends Omit<HTMLAttributes<HTMLDivElement>, \"onChange\"> {\n disabled?: boolean;\n maxExpandedItems?: number;\n expandedSectionIds?: string[];\n defaultExpandedSectionIds?: string[];\n // expandedSectionIds in the order they were expanded.\n // The oldest expanded item is the first in this list.\n // When maxExpandedItems is reached, the first item in this list is the first to be collapsed\n onChange?: (expandedSectionIds: string[] | null) => void;\n}\n\nfunction sliceToSize<T>(items?: T[], size?: number) {\n if (size !== undefined) {\n const cutOffCount = items ? items.length - size : 0;\n if (cutOffCount > 0) {\n items = items!.slice(cutOffCount);\n }\n }\n return items;\n}\n\nexport const Accordion = forwardRef<HTMLDivElement, AccordionProps>(\n function Accordion(\n {\n disabled = false,\n expandedSectionIds: expandedSectionIdsProp,\n defaultExpandedSectionIds = [],\n maxExpandedItems,\n onChange: onChangeProp,\n className,\n children,\n ...restProps\n },\n ref\n ) {\n const [sectionIds, setSectionIds] = useState<Set<string>>(new Set());\n\n const [expandedSectionIds, setExpandedSectionIds] = useControlled<string[]>(\n {\n controlled: expandedSectionIdsProp,\n default: defaultExpandedSectionIds,\n name: \"Accordion\",\n state: \"ExpandedSectionIds\",\n }\n );\n\n const registerSection = useCallback(\n (sectionId: string, isExpanded: boolean) => {\n setSectionIds((sectionIds) => {\n const newSectionIds = new Set(sectionIds);\n newSectionIds.add(sectionId);\n return newSectionIds;\n });\n if (isExpanded) {\n setExpandedSectionIds((oldExpandedSectionIds) => {\n const newExpandedSectionIds = [...oldExpandedSectionIds];\n newExpandedSectionIds.push(sectionId);\n return newExpandedSectionIds;\n });\n }\n },\n []\n );\n\n const unregisterSection = useCallback((sectionId: string) => {\n if (expandedSectionIds.includes(sectionId)) {\n setExpandedSectionIds((oldValue) =>\n oldValue.filter((id) => id !== sectionId)\n );\n }\n setSectionIds((sectionIds) => {\n const newSectionIds = new Set(sectionIds);\n newSectionIds.delete(sectionId);\n return newSectionIds;\n });\n }, []);\n\n useEffect(() => {\n if (\n expandedSectionIds &&\n maxExpandedItems !== undefined &&\n expandedSectionIds.length > maxExpandedItems\n ) {\n const newExpandedSectionIds = sliceToSize(\n expandedSectionIds,\n maxExpandedItems\n );\n setExpandedSectionIds(newExpandedSectionIds || []);\n if (onChangeProp) {\n onChangeProp(newExpandedSectionIds || null);\n }\n }\n }, [maxExpandedItems]);\n\n const onChange = useCallback(\n (sectionId: string, isExpanded: boolean) => {\n let newExpandedSectionIds = [...expandedSectionIds];\n if (isExpanded) {\n newExpandedSectionIds.push(sectionId);\n if (\n maxExpandedItems != null &&\n newExpandedSectionIds.length > maxExpandedItems\n ) {\n newExpandedSectionIds.shift();\n }\n } else {\n newExpandedSectionIds = newExpandedSectionIds.filter(\n (id) => id !== sectionId\n );\n }\n setExpandedSectionIds(newExpandedSectionIds);\n if (onChangeProp) {\n onChangeProp(newExpandedSectionIds);\n }\n },\n [expandedSectionIds, onChangeProp]\n );\n\n const isExpanded = useCallback(\n (sectionId: string) => expandedSectionIds.includes(sectionId),\n [expandedSectionIds]\n );\n\n const contextValue: AccordionContext = useMemo(() => {\n return {\n registerSection,\n unregisterSection,\n onChange,\n isExpanded,\n disabled,\n };\n }, [registerSection, unregisterSection, onChange, isExpanded, disabled]);\n\n return (\n <div className={cn(withBaseName(), className)} {...restProps} ref={ref}>\n <AccordionContext.Provider value={contextValue}>\n {children}\n </AccordionContext.Provider>\n </div>\n );\n }\n);\n"],"names":["Accordion","isExpanded","sectionIds","cn"],"mappings":"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"}
1
+ {"version":3,"file":"Accordion.js","sources":["../src/accordion/Accordion.tsx"],"sourcesContent":["import {\n forwardRef,\n HTMLAttributes,\n useCallback,\n useEffect,\n useMemo,\n useState,\n} from \"react\";\nimport { makePrefixer, useControlled } from \"@salt-ds/core\";\nimport \"./Accordion.css\";\nimport { clsx } from \"clsx\";\nimport { AccordionContext } from \"./AccordionContext\";\n\nconst withBaseName = makePrefixer(\"saltAccordion\");\n\nexport interface AccordionProps\n extends Omit<HTMLAttributes<HTMLDivElement>, \"onChange\"> {\n disabled?: boolean;\n maxExpandedItems?: number;\n expandedSectionIds?: string[];\n defaultExpandedSectionIds?: string[];\n // expandedSectionIds in the order they were expanded.\n // The oldest expanded item is the first in this list.\n // When maxExpandedItems is reached, the first item in this list is the first to be collapsed\n onChange?: (expandedSectionIds: string[] | null) => void;\n}\n\nfunction sliceToSize<T>(items?: T[], size?: number) {\n if (size !== undefined) {\n const cutOffCount = items ? items.length - size : 0;\n if (cutOffCount > 0) {\n items = items!.slice(cutOffCount);\n }\n }\n return items;\n}\n\nexport const Accordion = forwardRef<HTMLDivElement, AccordionProps>(\n function Accordion(\n {\n disabled = false,\n expandedSectionIds: expandedSectionIdsProp,\n defaultExpandedSectionIds = [],\n maxExpandedItems,\n onChange: onChangeProp,\n className,\n children,\n ...restProps\n },\n ref\n ) {\n const [sectionIds, setSectionIds] = useState<Set<string>>(new Set());\n\n const [expandedSectionIds, setExpandedSectionIds] = useControlled<string[]>(\n {\n controlled: expandedSectionIdsProp,\n default: defaultExpandedSectionIds,\n name: \"Accordion\",\n state: \"ExpandedSectionIds\",\n }\n );\n\n const registerSection = useCallback(\n (sectionId: string, isExpanded: boolean) => {\n setSectionIds((sectionIds) => {\n const newSectionIds = new Set(sectionIds);\n newSectionIds.add(sectionId);\n return newSectionIds;\n });\n if (isExpanded) {\n setExpandedSectionIds((oldExpandedSectionIds) => {\n const newExpandedSectionIds = [...oldExpandedSectionIds];\n newExpandedSectionIds.push(sectionId);\n return newExpandedSectionIds;\n });\n }\n },\n []\n );\n\n const unregisterSection = useCallback((sectionId: string) => {\n if (expandedSectionIds.includes(sectionId)) {\n setExpandedSectionIds((oldValue) =>\n oldValue.filter((id) => id !== sectionId)\n );\n }\n setSectionIds((sectionIds) => {\n const newSectionIds = new Set(sectionIds);\n newSectionIds.delete(sectionId);\n return newSectionIds;\n });\n }, []);\n\n useEffect(() => {\n if (\n expandedSectionIds &&\n maxExpandedItems !== undefined &&\n expandedSectionIds.length > maxExpandedItems\n ) {\n const newExpandedSectionIds = sliceToSize(\n expandedSectionIds,\n maxExpandedItems\n );\n setExpandedSectionIds(newExpandedSectionIds || []);\n if (onChangeProp) {\n onChangeProp(newExpandedSectionIds || null);\n }\n }\n }, [maxExpandedItems]);\n\n const onChange = useCallback(\n (sectionId: string, isExpanded: boolean) => {\n let newExpandedSectionIds = [...expandedSectionIds];\n if (isExpanded) {\n newExpandedSectionIds.push(sectionId);\n if (\n maxExpandedItems != null &&\n newExpandedSectionIds.length > maxExpandedItems\n ) {\n newExpandedSectionIds.shift();\n }\n } else {\n newExpandedSectionIds = newExpandedSectionIds.filter(\n (id) => id !== sectionId\n );\n }\n setExpandedSectionIds(newExpandedSectionIds);\n if (onChangeProp) {\n onChangeProp(newExpandedSectionIds);\n }\n },\n [expandedSectionIds, onChangeProp]\n );\n\n const isExpanded = useCallback(\n (sectionId: string) => expandedSectionIds.includes(sectionId),\n [expandedSectionIds]\n );\n\n const contextValue: AccordionContext = useMemo(() => {\n return {\n registerSection,\n unregisterSection,\n onChange,\n isExpanded,\n disabled,\n };\n }, [registerSection, unregisterSection, onChange, isExpanded, disabled]);\n\n return (\n <div className={clsx(withBaseName(), className)} {...restProps} ref={ref}>\n <AccordionContext.Provider value={contextValue}>\n {children}\n </AccordionContext.Provider>\n </div>\n );\n }\n);\n"],"names":["Accordion","isExpanded","sectionIds"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { jsx } from 'react/jsx-runtime';
2
2
  import { makePrefixer, useForkRef, useIsomorphicLayoutEffect } from '@salt-ds/core';
3
- import cx from 'classnames';
3
+ import { clsx } from 'clsx';
4
4
  import { forwardRef, useRef, useState } from 'react';
5
5
  import { useAccordionSectionContext } from './AccordionSectionContext.js';
6
6
  import './Accordion.css.js';
@@ -51,7 +51,7 @@ const AccordionDetails = forwardRef(function AccordionDetails2({ children, class
51
51
  return /* @__PURE__ */ jsx("div", {
52
52
  ...restProps,
53
53
  ref: forkedRef,
54
- className: cx(
54
+ className: clsx(
55
55
  withBaseName(),
56
56
  {
57
57
  [withBaseName("disabled")]: isDisabled
@@ -60,7 +60,7 @@ const AccordionDetails = forwardRef(function AccordionDetails2({ children, class
60
60
  ),
61
61
  children: /* @__PURE__ */ jsx("div", {
62
62
  ref: contentRef,
63
- className: cx({
63
+ className: clsx({
64
64
  [withBaseName("dummy")]: state === "measuring"
65
65
  }),
66
66
  children: preventUnmountOnCollapse || state !== "collapsed" ? /* @__PURE__ */ jsx("div", {
@@ -1 +1 @@
1
- {"version":3,"file":"AccordionDetails.js","sources":["../src/accordion/AccordionDetails.tsx"],"sourcesContent":["import {\n makePrefixer,\n useForkRef,\n useIsomorphicLayoutEffect,\n} from \"@salt-ds/core\";\nimport cn from \"classnames\";\nimport { forwardRef, HTMLAttributes, useRef, useState } from \"react\";\nimport { useAccordionSectionContext } from \"./AccordionSectionContext\";\n\nimport \"./Accordion.css\";\n\nconst withBaseName = makePrefixer(\"saltAccordionDetails\");\n\nexport interface AccordionDetailsProps extends HTMLAttributes<HTMLDivElement> {\n /**\n * Render children even if the component is collapsed. Prevents unmounting of children components.\n * */\n preventUnmountOnCollapse?: boolean;\n}\n\nconst msCollapseAnimationDuration = 150;\n\n// Collapsed - the section is completely collapsed, don't render anything, height is 0\n// Measuring - the section is about to expand, rendering a dummy preview to measure\n// the height of expanded section\n// Expanding - the section is expanding but hasn't yet expanded to full size. height is set to\n// the value measured in the previous step\n// Expanded - the section is expanded, need to render the content, height is set to auto\n// Collapsing - the section is about to start collapsing, the height is set to current height\n// (auto has to be replaced by a number, then the component has to be rendered, then the value can\n// be set to 0)\ntype State =\n | \"collapsed\"\n | \"measuring\"\n | \"expanding\"\n | \"expanded\"\n | \"collapsing\";\n\nexport const AccordionDetails = forwardRef<\n HTMLDivElement,\n AccordionDetailsProps\n>(function AccordionDetails(\n { children, className, preventUnmountOnCollapse, ...restProps },\n ref\n) {\n const { isDisabled, isExpanded } = useAccordionSectionContext();\n const rootRef = useRef<HTMLDivElement>(null);\n const contentRef = useRef<HTMLDivElement>(null);\n const forkedRef = useForkRef(ref, rootRef);\n\n const [state, setState] = useState<State>(\n isExpanded ? \"expanded\" : \"collapsed\"\n );\n\n useIsomorphicLayoutEffect(() => {\n if (!rootRef.current) {\n return;\n }\n if (isExpanded) {\n if (state === \"collapsed\") {\n setState(\"measuring\");\n } else if (state === \"measuring\") {\n rootRef.current.style.height = `${\n contentRef.current!.getBoundingClientRect().height\n }px`;\n setState(\"expanding\");\n } else if (state === \"expanding\") {\n setTimeout(() => {\n setState(\"expanded\");\n }, msCollapseAnimationDuration);\n } else if (state === \"expanded\") {\n rootRef.current.style.height = \"auto\";\n }\n } else {\n if (state === \"expanded\") {\n rootRef.current.style.height = `${\n rootRef.current.getBoundingClientRect().height\n }px`;\n setTimeout(() => {\n setState(\"collapsing\");\n }, 0);\n } else if (state === \"collapsing\") {\n rootRef.current.style.height = \"0\";\n setTimeout(() => {\n setState(\"collapsed\");\n }, msCollapseAnimationDuration);\n } else if (state === \"collapsed\") {\n rootRef.current.style.height = \"0\";\n }\n }\n }, [isExpanded, state]);\n\n return (\n <div\n {...restProps}\n ref={forkedRef}\n className={cn(\n withBaseName(),\n {\n [withBaseName(\"disabled\")]: isDisabled,\n },\n className\n )}\n >\n <div\n ref={contentRef}\n className={cn({\n [withBaseName(\"dummy\")]: state === \"measuring\",\n })}\n >\n {preventUnmountOnCollapse || state !== \"collapsed\" ? (\n <div className={withBaseName(\"content\")}>{children}</div>\n ) : null}\n </div>\n </div>\n );\n});\n"],"names":["AccordionDetails","cn"],"mappings":"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"}
1
+ {"version":3,"file":"AccordionDetails.js","sources":["../src/accordion/AccordionDetails.tsx"],"sourcesContent":["import {\n makePrefixer,\n useForkRef,\n useIsomorphicLayoutEffect,\n} from \"@salt-ds/core\";\nimport { clsx } from \"clsx\";\nimport { forwardRef, HTMLAttributes, useRef, useState } from \"react\";\nimport { useAccordionSectionContext } from \"./AccordionSectionContext\";\n\nimport \"./Accordion.css\";\n\nconst withBaseName = makePrefixer(\"saltAccordionDetails\");\n\nexport interface AccordionDetailsProps extends HTMLAttributes<HTMLDivElement> {\n /**\n * Render children even if the component is collapsed. Prevents unmounting of children components.\n * */\n preventUnmountOnCollapse?: boolean;\n}\n\nconst msCollapseAnimationDuration = 150;\n\n// Collapsed - the section is completely collapsed, don't render anything, height is 0\n// Measuring - the section is about to expand, rendering a dummy preview to measure\n// the height of expanded section\n// Expanding - the section is expanding but hasn't yet expanded to full size. height is set to\n// the value measured in the previous step\n// Expanded - the section is expanded, need to render the content, height is set to auto\n// Collapsing - the section is about to start collapsing, the height is set to current height\n// (auto has to be replaced by a number, then the component has to be rendered, then the value can\n// be set to 0)\ntype State =\n | \"collapsed\"\n | \"measuring\"\n | \"expanding\"\n | \"expanded\"\n | \"collapsing\";\n\nexport const AccordionDetails = forwardRef<\n HTMLDivElement,\n AccordionDetailsProps\n>(function AccordionDetails(\n { children, className, preventUnmountOnCollapse, ...restProps },\n ref\n) {\n const { isDisabled, isExpanded } = useAccordionSectionContext();\n const rootRef = useRef<HTMLDivElement>(null);\n const contentRef = useRef<HTMLDivElement>(null);\n const forkedRef = useForkRef(ref, rootRef);\n\n const [state, setState] = useState<State>(\n isExpanded ? \"expanded\" : \"collapsed\"\n );\n\n useIsomorphicLayoutEffect(() => {\n if (!rootRef.current) {\n return;\n }\n if (isExpanded) {\n if (state === \"collapsed\") {\n setState(\"measuring\");\n } else if (state === \"measuring\") {\n rootRef.current.style.height = `${\n contentRef.current!.getBoundingClientRect().height\n }px`;\n setState(\"expanding\");\n } else if (state === \"expanding\") {\n setTimeout(() => {\n setState(\"expanded\");\n }, msCollapseAnimationDuration);\n } else if (state === \"expanded\") {\n rootRef.current.style.height = \"auto\";\n }\n } else {\n if (state === \"expanded\") {\n rootRef.current.style.height = `${\n rootRef.current.getBoundingClientRect().height\n }px`;\n setTimeout(() => {\n setState(\"collapsing\");\n }, 0);\n } else if (state === \"collapsing\") {\n rootRef.current.style.height = \"0\";\n setTimeout(() => {\n setState(\"collapsed\");\n }, msCollapseAnimationDuration);\n } else if (state === \"collapsed\") {\n rootRef.current.style.height = \"0\";\n }\n }\n }, [isExpanded, state]);\n\n return (\n <div\n {...restProps}\n ref={forkedRef}\n className={clsx(\n withBaseName(),\n {\n [withBaseName(\"disabled\")]: isDisabled,\n },\n className\n )}\n >\n <div\n ref={contentRef}\n className={clsx({\n [withBaseName(\"dummy\")]: state === \"measuring\",\n })}\n >\n {preventUnmountOnCollapse || state !== \"collapsed\" ? (\n <div className={withBaseName(\"content\")}>{children}</div>\n ) : null}\n </div>\n </div>\n );\n});\n"],"names":["AccordionDetails"],"mappings":"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"}
@@ -3,7 +3,7 @@ import { forwardRef, useState, useEffect, useCallback, useMemo } from 'react';
3
3
  import { makePrefixer } from '@salt-ds/core';
4
4
  import { useLayoutEffectSkipFirst } from '../utils/useLayoutEffectSkipFirst.js';
5
5
  import { AccordionSectionContext } from './AccordionSectionContext.js';
6
- import cx from 'classnames';
6
+ import { clsx } from 'clsx';
7
7
  import './Accordion.css.js';
8
8
  import { useAccordionContext } from './AccordionContext.js';
9
9
  import { isNotProduction } from './utils.js';
@@ -78,7 +78,7 @@ const AccordionSection = forwardRef(function Accordion({
78
78
  }, [expanded, disabled, onToggle]);
79
79
  return /* @__PURE__ */ jsx("div", {
80
80
  ...restProps,
81
- className: cx(
81
+ className: clsx(
82
82
  withBaseName(),
83
83
  {
84
84
  [withBaseName("expanded")]: expanded,
@@ -1 +1 @@
1
- {"version":3,"file":"AccordionSection.js","sources":["../src/accordion/AccordionSection.tsx"],"sourcesContent":["import {\n forwardRef,\n HTMLAttributes,\n useCallback,\n useEffect,\n useMemo,\n useState,\n} from \"react\";\nimport { makePrefixer } from \"@salt-ds/core\";\nimport { useLayoutEffectSkipFirst } from \"../utils\";\nimport { AccordionSectionContext } from \"./AccordionSectionContext\";\nimport cn from \"classnames\";\nimport \"./Accordion.css\";\nimport { useAccordionContext } from \"./AccordionContext\";\nimport { isNotProduction } from \"./utils\";\n\nconst withBaseName = makePrefixer(\"saltAccordionSection\");\n\nexport interface AccordionSectionProps\n extends Omit<HTMLAttributes<HTMLDivElement>, \"onChange\"> {\n defaultExpanded?: boolean;\n disabled?: boolean;\n expanded?: boolean;\n onChange?: (isExpanded: boolean) => void;\n className?: string;\n}\n\nexport const AccordionSection = forwardRef<\n HTMLDivElement,\n AccordionSectionProps\n>(function Accordion(\n {\n id: idProp,\n disabled: disabledProp,\n onChange: onChangeProp,\n defaultExpanded: defaultExpandedProp,\n expanded: expandedProp,\n children,\n className,\n ...restProps\n },\n ref\n) {\n const [id, setId] = useState(() =>\n idProp != null ? idProp : `salt-${Math.round(Math.random() * 1e5)}`\n );\n\n if (idProp != null && idProp != id) {\n setId(idProp);\n }\n\n const {\n registerSection,\n unregisterSection,\n onChange,\n isExpanded,\n disabled: accordionDisabled,\n } = useAccordionContext();\n\n const isControlled = expandedProp != null;\n const expanded = isControlled ? expandedProp : isExpanded(id);\n const disabled = disabledProp != null ? disabledProp : accordionDisabled;\n\n useEffect(() => {\n registerSection(\n id,\n expandedProp != null ? expandedProp : !!defaultExpandedProp\n );\n return () => {\n unregisterSection(id);\n };\n }, [id, registerSection, unregisterSection]);\n\n const onToggle = useCallback(() => {\n const newExpanded = !expanded;\n if (onChangeProp) {\n onChangeProp(newExpanded);\n }\n if (!isControlled) {\n onChange(id, newExpanded);\n }\n }, [id, expanded, onChangeProp, onChange, isControlled]);\n\n useEffect(() => {\n const isControlled = expandedProp != null;\n if (isControlled) {\n onChange(id, expandedProp);\n }\n }, [expandedProp, isControlled]);\n\n useLayoutEffectSkipFirst(() => {\n if (isNotProduction()) {\n const mode = (isControlled: boolean) =>\n isControlled ? \"controlled\" : \"uncontrolled\";\n console.error(\n `A component is changing from ${mode(!isControlled)} to ${mode(\n isControlled\n )} mode.`\n );\n }\n }, [isControlled]);\n\n const contextValue: AccordionSectionContext = useMemo(() => {\n return {\n isExpanded: expanded,\n isDisabled: disabled,\n onToggle,\n };\n }, [expanded, disabled, onToggle]);\n\n return (\n <div\n {...restProps}\n className={cn(\n withBaseName(),\n {\n [withBaseName(\"expanded\")]: expanded,\n [withBaseName(\"disabled\")]: disabled,\n },\n className\n )}\n ref={ref}\n >\n <AccordionSectionContext.Provider value={contextValue}>\n {children}\n </AccordionSectionContext.Provider>\n </div>\n );\n});\n"],"names":["isControlled","cn"],"mappings":"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"}
1
+ {"version":3,"file":"AccordionSection.js","sources":["../src/accordion/AccordionSection.tsx"],"sourcesContent":["import {\n forwardRef,\n HTMLAttributes,\n useCallback,\n useEffect,\n useMemo,\n useState,\n} from \"react\";\nimport { makePrefixer } from \"@salt-ds/core\";\nimport { useLayoutEffectSkipFirst } from \"../utils\";\nimport { AccordionSectionContext } from \"./AccordionSectionContext\";\nimport { clsx } from \"clsx\";\nimport \"./Accordion.css\";\nimport { useAccordionContext } from \"./AccordionContext\";\nimport { isNotProduction } from \"./utils\";\n\nconst withBaseName = makePrefixer(\"saltAccordionSection\");\n\nexport interface AccordionSectionProps\n extends Omit<HTMLAttributes<HTMLDivElement>, \"onChange\"> {\n defaultExpanded?: boolean;\n disabled?: boolean;\n expanded?: boolean;\n onChange?: (isExpanded: boolean) => void;\n className?: string;\n}\n\nexport const AccordionSection = forwardRef<\n HTMLDivElement,\n AccordionSectionProps\n>(function Accordion(\n {\n id: idProp,\n disabled: disabledProp,\n onChange: onChangeProp,\n defaultExpanded: defaultExpandedProp,\n expanded: expandedProp,\n children,\n className,\n ...restProps\n },\n ref\n) {\n const [id, setId] = useState(() =>\n idProp != null ? idProp : `salt-${Math.round(Math.random() * 1e5)}`\n );\n\n if (idProp != null && idProp != id) {\n setId(idProp);\n }\n\n const {\n registerSection,\n unregisterSection,\n onChange,\n isExpanded,\n disabled: accordionDisabled,\n } = useAccordionContext();\n\n const isControlled = expandedProp != null;\n const expanded = isControlled ? expandedProp : isExpanded(id);\n const disabled = disabledProp != null ? disabledProp : accordionDisabled;\n\n useEffect(() => {\n registerSection(\n id,\n expandedProp != null ? expandedProp : !!defaultExpandedProp\n );\n return () => {\n unregisterSection(id);\n };\n }, [id, registerSection, unregisterSection]);\n\n const onToggle = useCallback(() => {\n const newExpanded = !expanded;\n if (onChangeProp) {\n onChangeProp(newExpanded);\n }\n if (!isControlled) {\n onChange(id, newExpanded);\n }\n }, [id, expanded, onChangeProp, onChange, isControlled]);\n\n useEffect(() => {\n const isControlled = expandedProp != null;\n if (isControlled) {\n onChange(id, expandedProp);\n }\n }, [expandedProp, isControlled]);\n\n useLayoutEffectSkipFirst(() => {\n if (isNotProduction()) {\n const mode = (isControlled: boolean) =>\n isControlled ? \"controlled\" : \"uncontrolled\";\n console.error(\n `A component is changing from ${mode(!isControlled)} to ${mode(\n isControlled\n )} mode.`\n );\n }\n }, [isControlled]);\n\n const contextValue: AccordionSectionContext = useMemo(() => {\n return {\n isExpanded: expanded,\n isDisabled: disabled,\n onToggle,\n };\n }, [expanded, disabled, onToggle]);\n\n return (\n <div\n {...restProps}\n className={clsx(\n withBaseName(),\n {\n [withBaseName(\"expanded\")]: expanded,\n [withBaseName(\"disabled\")]: disabled,\n },\n className\n )}\n ref={ref}\n >\n <AccordionSectionContext.Provider value={contextValue}>\n {children}\n </AccordionSectionContext.Provider>\n </div>\n );\n});\n"],"names":["isControlled"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { jsxs, jsx } from 'react/jsx-runtime';
2
2
  import { forwardRef, useCallback } from 'react';
3
- import cx from 'classnames';
3
+ import { clsx } from 'clsx';
4
4
  import { makePrefixer } from '@salt-ds/core';
5
5
  import { ChevronRightIcon } from '@salt-ds/icons';
6
6
  import { useAccordionSectionContext } from './AccordionSectionContext.js';
@@ -24,7 +24,7 @@ const AccordionSummary = forwardRef(function AccordionSummary2({ className, chil
24
24
  }
25
25
  return /* @__PURE__ */ jsxs("div", {
26
26
  ...restProps,
27
- className: cx(
27
+ className: clsx(
28
28
  withBaseName(),
29
29
  {
30
30
  [withBaseName("disabled")]: isDisabled,
@@ -1 +1 @@
1
- {"version":3,"file":"AccordionSummary.js","sources":["../src/accordion/AccordionSummary.tsx"],"sourcesContent":["import {\n forwardRef,\n HTMLAttributes,\n KeyboardEventHandler,\n ReactNode,\n useCallback,\n} from \"react\";\nimport cn from \"classnames\";\nimport { makePrefixer } from \"@salt-ds/core\";\nimport { ChevronRightIcon } from \"@salt-ds/icons\";\nimport { useAccordionSectionContext } from \"./AccordionSectionContext\";\nimport \"./Accordion.css\";\n\nconst withBaseName = makePrefixer(\"saltAccordionSummary\");\n\nexport interface AccordionSummaryProps extends HTMLAttributes<HTMLDivElement> {\n icon?: ReactNode;\n}\n\nexport const AccordionSummary = forwardRef<\n HTMLDivElement,\n AccordionSummaryProps\n>(function AccordionSummary({ className, children, icon, ...restProps }, ref) {\n const { isDisabled, isExpanded, onToggle } = useAccordionSectionContext();\n\n const onKeyDown: KeyboardEventHandler<HTMLDivElement> = useCallback(\n ({ key }) => {\n if (key === \"Enter\" || key === \" \") {\n onToggle();\n }\n },\n [onToggle]\n );\n\n if (!icon) {\n icon = <ChevronRightIcon aria-hidden />;\n }\n\n return (\n <div\n {...restProps}\n className={cn(\n withBaseName(),\n {\n [withBaseName(\"disabled\")]: isDisabled,\n [withBaseName(\"expanded\")]: isExpanded,\n },\n className\n )}\n ref={ref}\n role=\"button\"\n aria-expanded={isExpanded}\n onClick={isDisabled ? undefined : onToggle}\n onKeyDown={isDisabled ? undefined : onKeyDown}\n tabIndex={isDisabled ? -1 : 0}\n >\n <div className={withBaseName(\"icon\")}>{icon}</div>\n {children}\n </div>\n );\n});\n"],"names":["AccordionSummary","cn"],"mappings":";;;;;;;;AAaA,MAAM,YAAA,GAAe,aAAa,sBAAsB,CAAA,CAAA;AAM3C,MAAA,gBAAA,GAAmB,UAG9B,CAAA,SAASA,iBAAiB,CAAA,EAAE,WAAW,QAAU,EAAA,IAAA,EAAA,GAAS,SAAU,EAAA,EAAG,GAAK,EAAA;AAC5E,EAAA,MAAM,EAAE,UAAA,EAAY,UAAY,EAAA,QAAA,KAAa,0BAA2B,EAAA,CAAA;AAExE,EAAA,MAAM,SAAkD,GAAA,WAAA;AAAA,IACtD,CAAC,EAAE,GAAA,EAAU,KAAA;AACX,MAAI,IAAA,GAAA,KAAQ,OAAW,IAAA,GAAA,KAAQ,GAAK,EAAA;AAClC,QAAS,QAAA,EAAA,CAAA;AAAA,OACX;AAAA,KACF;AAAA,IACA,CAAC,QAAQ,CAAA;AAAA,GACX,CAAA;AAEA,EAAA,IAAI,CAAC,IAAM,EAAA;AACT,IAAA,IAAA,mBAAQ,GAAA,CAAA,gBAAA,EAAA;AAAA,MAAiB,aAAW,EAAA,IAAA;AAAA,KAAC,CAAA,CAAA;AAAA,GACvC;AAEA,EAAA,uBACG,IAAA,CAAA,KAAA,EAAA;AAAA,IACE,GAAG,SAAA;AAAA,IACJ,SAAW,EAAAC,EAAA;AAAA,MACT,YAAa,EAAA;AAAA,MACb;AAAA,QACE,CAAC,YAAa,CAAA,UAAU,CAAI,GAAA,UAAA;AAAA,QAC5B,CAAC,YAAa,CAAA,UAAU,CAAI,GAAA,UAAA;AAAA,OAC9B;AAAA,MACA,SAAA;AAAA,KACF;AAAA,IACA,GAAA;AAAA,IACA,IAAK,EAAA,QAAA;AAAA,IACL,eAAe,EAAA,UAAA;AAAA,IACf,OAAA,EAAS,aAAa,KAAY,CAAA,GAAA,QAAA;AAAA,IAClC,SAAA,EAAW,aAAa,KAAY,CAAA,GAAA,SAAA;AAAA,IACpC,QAAA,EAAU,aAAa,CAAK,CAAA,GAAA,CAAA;AAAA,IAE5B,QAAA,EAAA;AAAA,sBAAC,GAAA,CAAA,KAAA,EAAA;AAAA,QAAI,SAAA,EAAW,aAAa,MAAM,CAAA;AAAA,QAAI,QAAA,EAAA,IAAA;AAAA,OAAK,CAAA;AAAA,MAC3C,QAAA;AAAA,KAAA;AAAA,GACH,CAAA,CAAA;AAEJ,CAAC;;;;"}
1
+ {"version":3,"file":"AccordionSummary.js","sources":["../src/accordion/AccordionSummary.tsx"],"sourcesContent":["import {\n forwardRef,\n HTMLAttributes,\n KeyboardEventHandler,\n ReactNode,\n useCallback,\n} from \"react\";\nimport { clsx } from \"clsx\";\nimport { makePrefixer } from \"@salt-ds/core\";\nimport { ChevronRightIcon } from \"@salt-ds/icons\";\nimport { useAccordionSectionContext } from \"./AccordionSectionContext\";\nimport \"./Accordion.css\";\n\nconst withBaseName = makePrefixer(\"saltAccordionSummary\");\n\nexport interface AccordionSummaryProps extends HTMLAttributes<HTMLDivElement> {\n icon?: ReactNode;\n}\n\nexport const AccordionSummary = forwardRef<\n HTMLDivElement,\n AccordionSummaryProps\n>(function AccordionSummary({ className, children, icon, ...restProps }, ref) {\n const { isDisabled, isExpanded, onToggle } = useAccordionSectionContext();\n\n const onKeyDown: KeyboardEventHandler<HTMLDivElement> = useCallback(\n ({ key }) => {\n if (key === \"Enter\" || key === \" \") {\n onToggle();\n }\n },\n [onToggle]\n );\n\n if (!icon) {\n icon = <ChevronRightIcon aria-hidden />;\n }\n\n return (\n <div\n {...restProps}\n className={clsx(\n withBaseName(),\n {\n [withBaseName(\"disabled\")]: isDisabled,\n [withBaseName(\"expanded\")]: isExpanded,\n },\n className\n )}\n ref={ref}\n role=\"button\"\n aria-expanded={isExpanded}\n onClick={isDisabled ? undefined : onToggle}\n onKeyDown={isDisabled ? undefined : onKeyDown}\n tabIndex={isDisabled ? -1 : 0}\n >\n <div className={withBaseName(\"icon\")}>{icon}</div>\n {children}\n </div>\n );\n});\n"],"names":["AccordionSummary"],"mappings":";;;;;;;;AAaA,MAAM,YAAA,GAAe,aAAa,sBAAsB,CAAA,CAAA;AAM3C,MAAA,gBAAA,GAAmB,UAG9B,CAAA,SAASA,iBAAiB,CAAA,EAAE,WAAW,QAAU,EAAA,IAAA,EAAA,GAAS,SAAU,EAAA,EAAG,GAAK,EAAA;AAC5E,EAAA,MAAM,EAAE,UAAA,EAAY,UAAY,EAAA,QAAA,KAAa,0BAA2B,EAAA,CAAA;AAExE,EAAA,MAAM,SAAkD,GAAA,WAAA;AAAA,IACtD,CAAC,EAAE,GAAA,EAAU,KAAA;AACX,MAAI,IAAA,GAAA,KAAQ,OAAW,IAAA,GAAA,KAAQ,GAAK,EAAA;AAClC,QAAS,QAAA,EAAA,CAAA;AAAA,OACX;AAAA,KACF;AAAA,IACA,CAAC,QAAQ,CAAA;AAAA,GACX,CAAA;AAEA,EAAA,IAAI,CAAC,IAAM,EAAA;AACT,IAAA,IAAA,mBAAQ,GAAA,CAAA,gBAAA,EAAA;AAAA,MAAiB,aAAW,EAAA,IAAA;AAAA,KAAC,CAAA,CAAA;AAAA,GACvC;AAEA,EAAA,uBACG,IAAA,CAAA,KAAA,EAAA;AAAA,IACE,GAAG,SAAA;AAAA,IACJ,SAAW,EAAA,IAAA;AAAA,MACT,YAAa,EAAA;AAAA,MACb;AAAA,QACE,CAAC,YAAa,CAAA,UAAU,CAAI,GAAA,UAAA;AAAA,QAC5B,CAAC,YAAa,CAAA,UAAU,CAAI,GAAA,UAAA;AAAA,OAC9B;AAAA,MACA,SAAA;AAAA,KACF;AAAA,IACA,GAAA;AAAA,IACA,IAAK,EAAA,QAAA;AAAA,IACL,eAAe,EAAA,UAAA;AAAA,IACf,OAAA,EAAS,aAAa,KAAY,CAAA,GAAA,QAAA;AAAA,IAClC,SAAA,EAAW,aAAa,KAAY,CAAA,GAAA,SAAA;AAAA,IACpC,QAAA,EAAU,aAAa,CAAK,CAAA,GAAA,CAAA;AAAA,IAE5B,QAAA,EAAA;AAAA,sBAAC,GAAA,CAAA,KAAA,EAAA;AAAA,QAAI,SAAA,EAAW,aAAa,MAAM,CAAA;AAAA,QAAI,QAAA,EAAA,IAAA;AAAA,OAAK,CAAA;AAAA,MAC3C,QAAA;AAAA,KAAA;AAAA,GACH,CAAA,CAAA;AAEJ,CAAC;;;;"}
@@ -1,5 +1,5 @@
1
1
  import { jsx } from 'react/jsx-runtime';
2
- import cx from 'classnames';
2
+ import { clsx } from 'clsx';
3
3
  import { Toolbar } from '../toolbar/Toolbar.js';
4
4
  import { makePrefixer } from '@salt-ds/core';
5
5
  import { forwardRef } from 'react';
@@ -15,7 +15,7 @@ const withBaseName = makePrefixer("saltAppHeader");
15
15
  const AppHeader = forwardRef(
16
16
  ({ children, className, ...rest }, ref) => {
17
17
  return /* @__PURE__ */ jsx(Toolbar, {
18
- className: cx(withBaseName(), className),
18
+ className: clsx(withBaseName(), className),
19
19
  ref,
20
20
  overflowButtonIcon: /* @__PURE__ */ jsx(MenuIcon, {}),
21
21
  children
@@ -1 +1 @@
1
- {"version":3,"file":"AppHeader.js","sources":["../src/app-header/AppHeader.tsx"],"sourcesContent":["import cx from \"classnames\";\nimport { Toolbar } from \"../toolbar\";\nimport { makePrefixer } from \"@salt-ds/core\";\nimport { MenuIcon } from \"@salt-ds/icons\";\n\nimport \"./AppHeader.css\";\nimport { forwardRef, HTMLAttributes } from \"react\";\n\nconst withBaseName = makePrefixer(\"saltAppHeader\");\n\nexport type AppHeaderProps = HTMLAttributes<HTMLDivElement>;\n\nexport const AppHeader = forwardRef<HTMLDivElement, AppHeaderProps>(\n ({ children, className, ...rest }, ref) => {\n // const [innerContainerRef, overflowedItems] = useOverflowObserver(\n // \"horizontal\",\n // null\n // );\n\n return (\n <Toolbar\n className={cx(withBaseName(), className)}\n ref={ref}\n overflowButtonIcon={<MenuIcon />}\n // OverflowButtonProps={{ align: \"start\" }}\n >\n {children}\n </Toolbar>\n );\n // return (\n // <div className={cx(withBaseName(), className)} ref={ref} {...rest}>\n // <div className={withBaseName(\"innerContainer\")} ref={innerContainerRef}>\n // <OverflowMenu\n // className={withBaseName(\"navMenu\")}\n // IconComponent={MenuIcon}\n // source={overflowedItems}\n // />\n // {children}\n // </div>\n // </div>\n // );\n }\n);\n"],"names":[],"mappings":";;;;;;;;;;;;;AAQA,MAAM,YAAA,GAAe,aAAa,eAAe,CAAA,CAAA;AAI1C,MAAM,SAAY,GAAA,UAAA;AAAA,EACvB,CAAC,EAAE,QAAA,EAAU,SAAc,EAAA,GAAA,IAAA,IAAQ,GAAQ,KAAA;AAMzC,IAAA,uBACG,GAAA,CAAA,OAAA,EAAA;AAAA,MACC,SAAW,EAAA,EAAA,CAAG,YAAa,EAAA,EAAG,SAAS,CAAA;AAAA,MACvC,GAAA;AAAA,MACA,kBAAA,sBAAqB,QAAS,EAAA,EAAA,CAAA;AAAA,MAG7B,QAAA;AAAA,KACH,CAAA,CAAA;AAAA,GAcJ;AACF;;;;"}
1
+ {"version":3,"file":"AppHeader.js","sources":["../src/app-header/AppHeader.tsx"],"sourcesContent":["import { clsx } from \"clsx\";\nimport { Toolbar } from \"../toolbar\";\nimport { makePrefixer } from \"@salt-ds/core\";\nimport { MenuIcon } from \"@salt-ds/icons\";\n\nimport \"./AppHeader.css\";\nimport { forwardRef, HTMLAttributes } from \"react\";\n\nconst withBaseName = makePrefixer(\"saltAppHeader\");\n\nexport type AppHeaderProps = HTMLAttributes<HTMLDivElement>;\n\nexport const AppHeader = forwardRef<HTMLDivElement, AppHeaderProps>(\n ({ children, className, ...rest }, ref) => {\n // const [innerContainerRef, overflowedItems] = useOverflowObserver(\n // \"horizontal\",\n // null\n // );\n\n return (\n <Toolbar\n className={clsx(withBaseName(), className)}\n ref={ref}\n overflowButtonIcon={<MenuIcon />}\n // OverflowButtonProps={{ align: \"start\" }}\n >\n {children}\n </Toolbar>\n );\n // return (\n // <div className={clsx(withBaseName(), className)} ref={ref} {...rest}>\n // <div className={withBaseName(\"innerContainer\")} ref={innerContainerRef}>\n // <OverflowMenu\n // className={withBaseName(\"navMenu\")}\n // IconComponent={MenuIcon}\n // source={overflowedItems}\n // />\n // {children}\n // </div>\n // </div>\n // );\n }\n);\n"],"names":[],"mappings":";;;;;;;;;;;;;AAQA,MAAM,YAAA,GAAe,aAAa,eAAe,CAAA,CAAA;AAI1C,MAAM,SAAY,GAAA,UAAA;AAAA,EACvB,CAAC,EAAE,QAAA,EAAU,SAAc,EAAA,GAAA,IAAA,IAAQ,GAAQ,KAAA;AAMzC,IAAA,uBACG,GAAA,CAAA,OAAA,EAAA;AAAA,MACC,SAAW,EAAA,IAAA,CAAK,YAAa,EAAA,EAAG,SAAS,CAAA;AAAA,MACzC,GAAA;AAAA,MACA,kBAAA,sBAAqB,QAAS,EAAA,EAAA,CAAA;AAAA,MAG7B,QAAA;AAAA,KACH,CAAA,CAAA;AAAA,GAcJ;AACF;;;;"}
@@ -1,6 +1,6 @@
1
1
  import { jsx } from 'react/jsx-runtime';
2
2
  import { makePrefixer, useId } from '@salt-ds/core';
3
- import cx from 'classnames';
3
+ import { clsx } from 'clsx';
4
4
  import { forwardRef } from 'react';
5
5
  import { classBase } from './internal/constants.js';
6
6
  import { DefaultAvatar } from './internal/DefaultAvatar.js';
@@ -48,7 +48,7 @@ const Avatar = forwardRef(function Avatar2({
48
48
  }
49
49
  return /* @__PURE__ */ jsx("div", {
50
50
  ref,
51
- className: cx(withBaseName(), withBaseName(size), className),
51
+ className: clsx(withBaseName(), withBaseName(size), className),
52
52
  ...rest,
53
53
  children
54
54
  });
@@ -1 +1 @@
1
- {"version":3,"file":"Avatar.js","sources":["../src/avatar/Avatar.tsx"],"sourcesContent":["import { makePrefixer, useId } from \"@salt-ds/core\";\nimport cn from \"classnames\";\nimport { forwardRef, HTMLAttributes, ImgHTMLAttributes } from \"react\";\nimport { classBase } from \"./internal/constants\";\nimport { DefaultAvatar } from \"./internal/DefaultAvatar\";\nimport { useLoaded } from \"./internal/useLoaded\";\n\nimport \"./Avatar.css\";\n\nexport interface AvatarProps extends HTMLAttributes<HTMLDivElement> {\n alt?: string;\n id?: string;\n imgProps?: ImgHTMLAttributes<HTMLImageElement>;\n size?: \"small\" | \"medium\" | \"large\";\n sizes?: string;\n src?: string;\n srcSet?: string;\n title?: string;\n}\n\nconst withBaseName = makePrefixer(classBase);\n\nexport const Avatar = forwardRef<HTMLDivElement, AvatarProps>(function Avatar(\n {\n alt = \"\",\n className,\n children: childrenProp,\n id: idProp,\n size = \"medium\",\n src,\n srcSet,\n title = \"user\",\n imgProps,\n sizes,\n ...rest\n },\n ref\n) {\n let children;\n const id = useId(idProp);\n\n const loaded = useLoaded({ ...imgProps, src, srcSet });\n const hasImg = src || srcSet;\n const hasImgNotFailing = hasImg && loaded !== \"error\";\n\n if (hasImgNotFailing) {\n children = (\n <img\n className={withBaseName(\"image\")}\n alt={alt}\n src={src}\n srcSet={srcSet}\n sizes={sizes}\n {...imgProps}\n />\n );\n } else if (childrenProp != null) {\n children = childrenProp;\n } else if (hasImg && alt) {\n children = alt[0];\n } else {\n children = <DefaultAvatar id={id} title={title} {...rest} />;\n }\n\n return (\n <div\n ref={ref}\n className={cn(withBaseName(), withBaseName(size), className)}\n {...rest}\n >\n {children}\n </div>\n );\n});\n"],"names":["Avatar","cn"],"mappings":";;;;;;;;;AAoBA,MAAM,YAAA,GAAe,aAAa,SAAS,CAAA,CAAA;AAE9B,MAAA,MAAA,GAAS,UAAwC,CAAA,SAASA,OACrE,CAAA;AAAA,EACE,GAAM,GAAA,EAAA;AAAA,EACN,SAAA;AAAA,EACA,QAAU,EAAA,YAAA;AAAA,EACV,EAAI,EAAA,MAAA;AAAA,EACJ,IAAO,GAAA,QAAA;AAAA,EACP,GAAA;AAAA,EACA,MAAA;AAAA,EACA,KAAQ,GAAA,MAAA;AAAA,EACR,QAAA;AAAA,EACA,KAAA;AAAA,EACG,GAAA,IAAA;AACL,CAAA,EACA,GACA,EAAA;AACA,EAAI,IAAA,QAAA,CAAA;AACJ,EAAM,MAAA,EAAA,GAAK,MAAM,MAAM,CAAA,CAAA;AAEvB,EAAA,MAAM,SAAS,SAAU,CAAA,EAAE,GAAG,QAAU,EAAA,GAAA,EAAK,QAAQ,CAAA,CAAA;AACrD,EAAA,MAAM,SAAS,GAAO,IAAA,MAAA,CAAA;AACtB,EAAM,MAAA,gBAAA,GAAmB,UAAU,MAAW,KAAA,OAAA,CAAA;AAE9C,EAAA,IAAI,gBAAkB,EAAA;AACpB,IAAA,QAAA,mBACG,GAAA,CAAA,KAAA,EAAA;AAAA,MACC,SAAA,EAAW,aAAa,OAAO,CAAA;AAAA,MAC/B,GAAA;AAAA,MACA,GAAA;AAAA,MACA,MAAA;AAAA,MACA,KAAA;AAAA,MACC,GAAG,QAAA;AAAA,KACN,CAAA,CAAA;AAAA,GAEJ,MAAA,IAAW,gBAAgB,IAAM,EAAA;AAC/B,IAAW,QAAA,GAAA,YAAA,CAAA;AAAA,GACb,MAAA,IAAW,UAAU,GAAK,EAAA;AACxB,IAAA,QAAA,GAAW,GAAI,CAAA,CAAA,CAAA,CAAA;AAAA,GACV,MAAA;AACL,IAAA,QAAA,mBAAY,GAAA,CAAA,aAAA,EAAA;AAAA,MAAc,EAAA;AAAA,MAAQ,KAAA;AAAA,MAAe,GAAG,IAAA;AAAA,KAAM,CAAA,CAAA;AAAA,GAC5D;AAEA,EAAA,uBACG,GAAA,CAAA,KAAA,EAAA;AAAA,IACC,GAAA;AAAA,IACA,WAAWC,EAAG,CAAA,YAAA,IAAgB,YAAa,CAAA,IAAI,GAAG,SAAS,CAAA;AAAA,IAC1D,GAAG,IAAA;AAAA,IAEH,QAAA;AAAA,GACH,CAAA,CAAA;AAEJ,CAAC;;;;"}
1
+ {"version":3,"file":"Avatar.js","sources":["../src/avatar/Avatar.tsx"],"sourcesContent":["import { makePrefixer, useId } from \"@salt-ds/core\";\nimport { clsx } from \"clsx\";\nimport { forwardRef, HTMLAttributes, ImgHTMLAttributes } from \"react\";\nimport { classBase } from \"./internal/constants\";\nimport { DefaultAvatar } from \"./internal/DefaultAvatar\";\nimport { useLoaded } from \"./internal/useLoaded\";\n\nimport \"./Avatar.css\";\n\nexport interface AvatarProps extends HTMLAttributes<HTMLDivElement> {\n alt?: string;\n id?: string;\n imgProps?: ImgHTMLAttributes<HTMLImageElement>;\n size?: \"small\" | \"medium\" | \"large\";\n sizes?: string;\n src?: string;\n srcSet?: string;\n title?: string;\n}\n\nconst withBaseName = makePrefixer(classBase);\n\nexport const Avatar = forwardRef<HTMLDivElement, AvatarProps>(function Avatar(\n {\n alt = \"\",\n className,\n children: childrenProp,\n id: idProp,\n size = \"medium\",\n src,\n srcSet,\n title = \"user\",\n imgProps,\n sizes,\n ...rest\n },\n ref\n) {\n let children;\n const id = useId(idProp);\n\n const loaded = useLoaded({ ...imgProps, src, srcSet });\n const hasImg = src || srcSet;\n const hasImgNotFailing = hasImg && loaded !== \"error\";\n\n if (hasImgNotFailing) {\n children = (\n <img\n className={withBaseName(\"image\")}\n alt={alt}\n src={src}\n srcSet={srcSet}\n sizes={sizes}\n {...imgProps}\n />\n );\n } else if (childrenProp != null) {\n children = childrenProp;\n } else if (hasImg && alt) {\n children = alt[0];\n } else {\n children = <DefaultAvatar id={id} title={title} {...rest} />;\n }\n\n return (\n <div\n ref={ref}\n className={clsx(withBaseName(), withBaseName(size), className)}\n {...rest}\n >\n {children}\n </div>\n );\n});\n"],"names":["Avatar"],"mappings":";;;;;;;;;AAoBA,MAAM,YAAA,GAAe,aAAa,SAAS,CAAA,CAAA;AAE9B,MAAA,MAAA,GAAS,UAAwC,CAAA,SAASA,OACrE,CAAA;AAAA,EACE,GAAM,GAAA,EAAA;AAAA,EACN,SAAA;AAAA,EACA,QAAU,EAAA,YAAA;AAAA,EACV,EAAI,EAAA,MAAA;AAAA,EACJ,IAAO,GAAA,QAAA;AAAA,EACP,GAAA;AAAA,EACA,MAAA;AAAA,EACA,KAAQ,GAAA,MAAA;AAAA,EACR,QAAA;AAAA,EACA,KAAA;AAAA,EACG,GAAA,IAAA;AACL,CAAA,EACA,GACA,EAAA;AACA,EAAI,IAAA,QAAA,CAAA;AACJ,EAAM,MAAA,EAAA,GAAK,MAAM,MAAM,CAAA,CAAA;AAEvB,EAAA,MAAM,SAAS,SAAU,CAAA,EAAE,GAAG,QAAU,EAAA,GAAA,EAAK,QAAQ,CAAA,CAAA;AACrD,EAAA,MAAM,SAAS,GAAO,IAAA,MAAA,CAAA;AACtB,EAAM,MAAA,gBAAA,GAAmB,UAAU,MAAW,KAAA,OAAA,CAAA;AAE9C,EAAA,IAAI,gBAAkB,EAAA;AACpB,IAAA,QAAA,mBACG,GAAA,CAAA,KAAA,EAAA;AAAA,MACC,SAAA,EAAW,aAAa,OAAO,CAAA;AAAA,MAC/B,GAAA;AAAA,MACA,GAAA;AAAA,MACA,MAAA;AAAA,MACA,KAAA;AAAA,MACC,GAAG,QAAA;AAAA,KACN,CAAA,CAAA;AAAA,GAEJ,MAAA,IAAW,gBAAgB,IAAM,EAAA;AAC/B,IAAW,QAAA,GAAA,YAAA,CAAA;AAAA,GACb,MAAA,IAAW,UAAU,GAAK,EAAA;AACxB,IAAA,QAAA,GAAW,GAAI,CAAA,CAAA,CAAA,CAAA;AAAA,GACV,MAAA;AACL,IAAA,QAAA,mBAAY,GAAA,CAAA,aAAA,EAAA;AAAA,MAAc,EAAA;AAAA,MAAQ,KAAA;AAAA,MAAe,GAAG,IAAA;AAAA,KAAM,CAAA,CAAA;AAAA,GAC5D;AAEA,EAAA,uBACG,GAAA,CAAA,KAAA,EAAA;AAAA,IACC,GAAA;AAAA,IACA,WAAW,IAAK,CAAA,YAAA,IAAgB,YAAa,CAAA,IAAI,GAAG,SAAS,CAAA;AAAA,IAC5D,GAAG,IAAA;AAAA,IAEH,QAAA;AAAA,GACH,CAAA,CAAA;AAEJ,CAAC;;;;"}
@@ -1,7 +1,7 @@
1
1
  import { jsxs, jsx } from 'react/jsx-runtime';
2
2
  import { makePrefixer, useId } from '@salt-ds/core';
3
3
  import { MessageIcon } from '@salt-ds/icons';
4
- import cx from 'classnames';
4
+ import { clsx } from 'clsx';
5
5
  import { forwardRef, isValidElement, cloneElement } from 'react';
6
6
  import './Badge.css.js';
7
7
 
@@ -23,16 +23,16 @@ const Badge = forwardRef(function Badge2({
23
23
  badgeContentValue = `${max}+`;
24
24
  }
25
25
  return /* @__PURE__ */ jsxs("span", {
26
- className: cx(withBaseName(), className),
26
+ className: clsx(withBaseName(), className),
27
27
  ref,
28
28
  role: "img",
29
- "aria-labelledby": cx(childId, badgeId),
29
+ "aria-labelledby": clsx(childId, badgeId),
30
30
  ...rest,
31
31
  children: [
32
32
  children && isValidElement(children) ? cloneElement(children, { id: childId }) : children,
33
33
  /* @__PURE__ */ jsx("span", {
34
34
  id: badgeId,
35
- className: cx(withBaseName("badge")),
35
+ className: clsx(withBaseName("badge")),
36
36
  children: badgeContentValue
37
37
  })
38
38
  ]
@@ -1 +1 @@
1
- {"version":3,"file":"Badge.js","sources":["../src/badge/Badge.tsx"],"sourcesContent":["import { makePrefixer, useId } from \"@salt-ds/core\";\nimport { MessageIcon } from \"@salt-ds/icons\";\nimport cx from \"classnames\";\nimport {\n cloneElement,\n forwardRef,\n HTMLAttributes,\n isValidElement,\n ReactElement,\n ReactText,\n} from \"react\";\n\nimport \"./Badge.css\";\n\n/**\n * @example overriding density prop to fit a smaller denser space otherwise handled through context provider\n * <Badge density={'high'} />\n *\n * NOTE: Badge component no longer has AccessibleText prop\n *\n */\n\nexport interface BadgeProps extends HTMLAttributes<HTMLSpanElement> {\n /**\n * The number to display on the badge.\n */\n badgeContent?: string | number;\n /**\n * The badge will be added relative to this node. Renders the \"message\" icon by default.\n */\n children?: ReactElement<HTMLAttributes<HTMLElement>> | ReactText;\n /**\n * The className(s) of the component.\n */\n className?: string;\n /**\n * The max number to display on the badge.\n */\n max?: number;\n}\n\nconst withBaseName = makePrefixer(\"saltBadge\");\n\nexport const Badge = forwardRef<HTMLSpanElement, BadgeProps>(function Badge(\n {\n badgeContent = 0,\n max = 1000,\n className,\n children = <MessageIcon />,\n ...rest\n },\n ref\n) {\n const badgeId = useId();\n const childId = useId(\n isValidElement<HTMLAttributes<HTMLElement>>(children)\n ? children.props?.id\n : undefined\n );\n\n let badgeContentValue = badgeContent;\n if (badgeContentValue > max) {\n badgeContentValue = `${max}+`;\n }\n\n return (\n <span\n className={cx(withBaseName(), className)}\n ref={ref}\n role=\"img\"\n aria-labelledby={cx(childId, badgeId)}\n {...rest}\n >\n {children && isValidElement<HTMLAttributes<HTMLElement>>(children)\n ? cloneElement(children, { id: childId })\n : children}\n <span id={badgeId} className={cx(withBaseName(\"badge\"))}>\n {badgeContentValue}\n </span>\n </span>\n );\n});\n"],"names":["Badge"],"mappings":";;;;;;;AAyCA,MAAM,YAAA,GAAe,aAAa,WAAW,CAAA,CAAA;AAEhC,MAAA,KAAA,GAAQ,UAAwC,CAAA,SAASA,MACpE,CAAA;AAAA,EACE,YAAe,GAAA,CAAA;AAAA,EACf,GAAM,GAAA,GAAA;AAAA,EACN,SAAA;AAAA,EACA,QAAA,uBAAY,WAAY,EAAA,EAAA,CAAA;AAAA,EACrB,GAAA,IAAA;AACL,CAAA,EACA,GACA,EAAA;AApDF,EAAA,IAAA,EAAA,CAAA;AAqDE,EAAA,MAAM,UAAU,KAAM,EAAA,CAAA;AACtB,EAAA,MAAM,OAAU,GAAA,KAAA;AAAA,IACd,eAA4C,QAAQ,CAAA,GAAA,CAChD,EAAS,GAAA,QAAA,CAAA,KAAA,KAAT,mBAAgB,EAChB,GAAA,KAAA,CAAA;AAAA,GACN,CAAA;AAEA,EAAA,IAAI,iBAAoB,GAAA,YAAA,CAAA;AACxB,EAAA,IAAI,oBAAoB,GAAK,EAAA;AAC3B,IAAA,iBAAA,GAAoB,CAAG,EAAA,GAAA,CAAA,CAAA,CAAA,CAAA;AAAA,GACzB;AAEA,EAAA,uBACG,IAAA,CAAA,MAAA,EAAA;AAAA,IACC,SAAW,EAAA,EAAA,CAAG,YAAa,EAAA,EAAG,SAAS,CAAA;AAAA,IACvC,GAAA;AAAA,IACA,IAAK,EAAA,KAAA;AAAA,IACL,iBAAA,EAAiB,EAAG,CAAA,OAAA,EAAS,OAAO,CAAA;AAAA,IACnC,GAAG,IAAA;AAAA,IAEH,QAAA,EAAA;AAAA,MAAY,QAAA,IAAA,cAAA,CAA4C,QAAQ,CAC7D,GAAA,YAAA,CAAa,UAAU,EAAE,EAAA,EAAI,OAAQ,EAAC,CACtC,GAAA,QAAA;AAAA,sBACH,GAAA,CAAA,MAAA,EAAA;AAAA,QAAK,EAAI,EAAA,OAAA;AAAA,QAAS,SAAW,EAAA,EAAA,CAAG,YAAa,CAAA,OAAO,CAAC,CAAA;AAAA,QACnD,QAAA,EAAA,iBAAA;AAAA,OACH,CAAA;AAAA,KAAA;AAAA,GACF,CAAA,CAAA;AAEJ,CAAC;;;;"}
1
+ {"version":3,"file":"Badge.js","sources":["../src/badge/Badge.tsx"],"sourcesContent":["import { makePrefixer, useId } from \"@salt-ds/core\";\nimport { MessageIcon } from \"@salt-ds/icons\";\nimport { clsx } from \"clsx\";\nimport {\n cloneElement,\n forwardRef,\n HTMLAttributes,\n isValidElement,\n ReactElement,\n ReactText,\n} from \"react\";\n\nimport \"./Badge.css\";\n\n/**\n * @example overriding density prop to fit a smaller denser space otherwise handled through context provider\n * <Badge density={'high'} />\n *\n * NOTE: Badge component no longer has AccessibleText prop\n *\n */\n\nexport interface BadgeProps extends HTMLAttributes<HTMLSpanElement> {\n /**\n * The number to display on the badge.\n */\n badgeContent?: string | number;\n /**\n * The badge will be added relative to this node. Renders the \"message\" icon by default.\n */\n children?: ReactElement<HTMLAttributes<HTMLElement>> | ReactText;\n /**\n * The className(s) of the component.\n */\n className?: string;\n /**\n * The max number to display on the badge.\n */\n max?: number;\n}\n\nconst withBaseName = makePrefixer(\"saltBadge\");\n\nexport const Badge = forwardRef<HTMLSpanElement, BadgeProps>(function Badge(\n {\n badgeContent = 0,\n max = 1000,\n className,\n children = <MessageIcon />,\n ...rest\n },\n ref\n) {\n const badgeId = useId();\n const childId = useId(\n isValidElement<HTMLAttributes<HTMLElement>>(children)\n ? children.props?.id\n : undefined\n );\n\n let badgeContentValue = badgeContent;\n if (badgeContentValue > max) {\n badgeContentValue = `${max}+`;\n }\n\n return (\n <span\n className={clsx(withBaseName(), className)}\n ref={ref}\n role=\"img\"\n aria-labelledby={clsx(childId, badgeId)}\n {...rest}\n >\n {children && isValidElement<HTMLAttributes<HTMLElement>>(children)\n ? cloneElement(children, { id: childId })\n : children}\n <span id={badgeId} className={clsx(withBaseName(\"badge\"))}>\n {badgeContentValue}\n </span>\n </span>\n );\n});\n"],"names":["Badge"],"mappings":";;;;;;;AAyCA,MAAM,YAAA,GAAe,aAAa,WAAW,CAAA,CAAA;AAEhC,MAAA,KAAA,GAAQ,UAAwC,CAAA,SAASA,MACpE,CAAA;AAAA,EACE,YAAe,GAAA,CAAA;AAAA,EACf,GAAM,GAAA,GAAA;AAAA,EACN,SAAA;AAAA,EACA,QAAA,uBAAY,WAAY,EAAA,EAAA,CAAA;AAAA,EACrB,GAAA,IAAA;AACL,CAAA,EACA,GACA,EAAA;AApDF,EAAA,IAAA,EAAA,CAAA;AAqDE,EAAA,MAAM,UAAU,KAAM,EAAA,CAAA;AACtB,EAAA,MAAM,OAAU,GAAA,KAAA;AAAA,IACd,eAA4C,QAAQ,CAAA,GAAA,CAChD,EAAS,GAAA,QAAA,CAAA,KAAA,KAAT,mBAAgB,EAChB,GAAA,KAAA,CAAA;AAAA,GACN,CAAA;AAEA,EAAA,IAAI,iBAAoB,GAAA,YAAA,CAAA;AACxB,EAAA,IAAI,oBAAoB,GAAK,EAAA;AAC3B,IAAA,iBAAA,GAAoB,CAAG,EAAA,GAAA,CAAA,CAAA,CAAA,CAAA;AAAA,GACzB;AAEA,EAAA,uBACG,IAAA,CAAA,MAAA,EAAA;AAAA,IACC,SAAW,EAAA,IAAA,CAAK,YAAa,EAAA,EAAG,SAAS,CAAA;AAAA,IACzC,GAAA;AAAA,IACA,IAAK,EAAA,KAAA;AAAA,IACL,iBAAA,EAAiB,IAAK,CAAA,OAAA,EAAS,OAAO,CAAA;AAAA,IACrC,GAAG,IAAA;AAAA,IAEH,QAAA,EAAA;AAAA,MAAY,QAAA,IAAA,cAAA,CAA4C,QAAQ,CAC7D,GAAA,YAAA,CAAa,UAAU,EAAE,EAAA,EAAI,OAAQ,EAAC,CACtC,GAAA,QAAA;AAAA,sBACH,GAAA,CAAA,MAAA,EAAA;AAAA,QAAK,EAAI,EAAA,OAAA;AAAA,QAAS,SAAW,EAAA,IAAA,CAAK,YAAa,CAAA,OAAO,CAAC,CAAA;AAAA,QACrD,QAAA,EAAA,iBAAA;AAAA,OACH,CAAA;AAAA,KAAA;AAAA,GACF,CAAA,CAAA;AAEJ,CAAC;;;;"}