@salt-ds/core 1.37.1 → 1.37.3

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 (670) hide show
  1. package/CHANGELOG.md +1760 -0
  2. package/css/salt-core.css +76 -37
  3. package/dist-cjs/accordion/Accordion.js +31 -123
  4. package/dist-cjs/accordion/Accordion.js.map +1 -1
  5. package/dist-cjs/accordion/AccordionContext.js +0 -101
  6. package/dist-cjs/accordion/AccordionContext.js.map +1 -1
  7. package/dist-cjs/accordion/AccordionGroup.js +1 -103
  8. package/dist-cjs/accordion/AccordionGroup.js.map +1 -1
  9. package/dist-cjs/accordion/AccordionHeader.js +33 -136
  10. package/dist-cjs/accordion/AccordionHeader.js.map +1 -1
  11. package/dist-cjs/accordion/AccordionPanel.js +22 -117
  12. package/dist-cjs/accordion/AccordionPanel.js.map +1 -1
  13. package/dist-cjs/aria-announcer/AriaAnnounce.js +0 -2
  14. package/dist-cjs/aria-announcer/AriaAnnounce.js.map +1 -1
  15. package/dist-cjs/aria-announcer/AriaAnnouncerContext.js +0 -2
  16. package/dist-cjs/aria-announcer/AriaAnnouncerContext.js.map +1 -1
  17. package/dist-cjs/aria-announcer/AriaAnnouncerProvider.js +8 -10
  18. package/dist-cjs/aria-announcer/AriaAnnouncerProvider.js.map +1 -1
  19. package/dist-cjs/aria-announcer/useAriaAnnouncer.js +0 -106
  20. package/dist-cjs/aria-announcer/useAriaAnnouncer.js.map +1 -1
  21. package/dist-cjs/avatar/Avatar.js +18 -117
  22. package/dist-cjs/avatar/Avatar.js.map +1 -1
  23. package/dist-cjs/avatar/useAvatarImage.js +0 -101
  24. package/dist-cjs/avatar/useAvatarImage.js.map +1 -1
  25. package/dist-cjs/badge/Badge.js +8 -108
  26. package/dist-cjs/badge/Badge.js.map +1 -1
  27. package/dist-cjs/banner/Banner.js +18 -115
  28. package/dist-cjs/banner/Banner.js.map +1 -1
  29. package/dist-cjs/banner/BannerActions.js +1 -103
  30. package/dist-cjs/banner/BannerActions.js.map +1 -1
  31. package/dist-cjs/banner/BannerContent.js +1 -103
  32. package/dist-cjs/banner/BannerContent.js.map +1 -1
  33. package/dist-cjs/border-item/BorderItem.js +17 -111
  34. package/dist-cjs/border-item/BorderItem.js.map +1 -1
  35. package/dist-cjs/border-layout/BorderLayout.js +12 -108
  36. package/dist-cjs/border-layout/BorderLayout.js.map +1 -1
  37. package/dist-cjs/breakpoints/BreakpointProvider.js +2 -111
  38. package/dist-cjs/breakpoints/BreakpointProvider.js.map +1 -1
  39. package/dist-cjs/breakpoints/Breakpoints.js +0 -2
  40. package/dist-cjs/breakpoints/Breakpoints.js.map +1 -1
  41. package/dist-cjs/button/Button.js +24 -120
  42. package/dist-cjs/button/Button.js.map +1 -1
  43. package/dist-cjs/button/useButton.js +0 -2
  44. package/dist-cjs/button/useButton.js.map +1 -1
  45. package/dist-cjs/card/Card.js +21 -115
  46. package/dist-cjs/card/Card.js.map +1 -1
  47. package/dist-cjs/checkbox/Checkbox.css.js +1 -1
  48. package/dist-cjs/checkbox/Checkbox.js +62 -150
  49. package/dist-cjs/checkbox/Checkbox.js.map +1 -1
  50. package/dist-cjs/checkbox/CheckboxGroup.js +32 -123
  51. package/dist-cjs/checkbox/CheckboxGroup.js.map +1 -1
  52. package/dist-cjs/checkbox/CheckboxIcon.js +24 -131
  53. package/dist-cjs/checkbox/CheckboxIcon.js.map +1 -1
  54. package/dist-cjs/checkbox/internal/CheckboxGroupContext.js +0 -101
  55. package/dist-cjs/checkbox/internal/CheckboxGroupContext.js.map +1 -1
  56. package/dist-cjs/checkbox/internal/useCheckboxGroup.js +0 -2
  57. package/dist-cjs/checkbox/internal/useCheckboxGroup.js.map +1 -1
  58. package/dist-cjs/combo-box/ComboBox.js +33 -127
  59. package/dist-cjs/combo-box/ComboBox.js.map +1 -1
  60. package/dist-cjs/combo-box/useComboBox.js +1 -102
  61. package/dist-cjs/combo-box/useComboBox.js.map +1 -1
  62. package/dist-cjs/dialog/Dialog.js +38 -143
  63. package/dist-cjs/dialog/Dialog.js.map +1 -1
  64. package/dist-cjs/dialog/DialogActions.js +1 -104
  65. package/dist-cjs/dialog/DialogActions.js.map +1 -1
  66. package/dist-cjs/dialog/DialogCloseButton.js +11 -110
  67. package/dist-cjs/dialog/DialogCloseButton.js.map +1 -1
  68. package/dist-cjs/dialog/DialogContent.css.js +1 -1
  69. package/dist-cjs/dialog/DialogContent.js +39 -113
  70. package/dist-cjs/dialog/DialogContent.js.map +1 -1
  71. package/dist-cjs/dialog/DialogContext.js +0 -2
  72. package/dist-cjs/dialog/DialogContext.js.map +1 -1
  73. package/dist-cjs/dialog/DialogHeader.js +24 -125
  74. package/dist-cjs/dialog/DialogHeader.js.map +1 -1
  75. package/dist-cjs/divider/Divider.js +15 -110
  76. package/dist-cjs/divider/Divider.js.map +1 -1
  77. package/dist-cjs/drawer/Drawer.js +13 -114
  78. package/dist-cjs/drawer/Drawer.js.map +1 -1
  79. package/dist-cjs/drawer/DrawerCloseButton.js +8 -110
  80. package/dist-cjs/drawer/DrawerCloseButton.js.map +1 -1
  81. package/dist-cjs/dropdown/Dropdown.js +38 -137
  82. package/dist-cjs/dropdown/Dropdown.js.map +1 -1
  83. package/dist-cjs/file-drop-zone/FileDropZone.js +21 -116
  84. package/dist-cjs/file-drop-zone/FileDropZone.js.map +1 -1
  85. package/dist-cjs/file-drop-zone/FileDropZoneIcon.js +2 -9
  86. package/dist-cjs/file-drop-zone/FileDropZoneIcon.js.map +1 -1
  87. package/dist-cjs/file-drop-zone/FileDropZoneTrigger.js +14 -110
  88. package/dist-cjs/file-drop-zone/FileDropZoneTrigger.js.map +1 -1
  89. package/dist-cjs/file-drop-zone/internal/utils.js +1 -4
  90. package/dist-cjs/file-drop-zone/internal/utils.js.map +1 -1
  91. package/dist-cjs/flex-item/FlexItem.js +10 -106
  92. package/dist-cjs/flex-item/FlexItem.js.map +1 -1
  93. package/dist-cjs/flex-layout/FlexLayout.js +21 -117
  94. package/dist-cjs/flex-layout/FlexLayout.js.map +1 -1
  95. package/dist-cjs/flow-layout/FlowLayout.js +1 -9
  96. package/dist-cjs/flow-layout/FlowLayout.js.map +1 -1
  97. package/dist-cjs/form-field/FormField.css.js +1 -1
  98. package/dist-cjs/form-field/FormField.js +30 -121
  99. package/dist-cjs/form-field/FormField.js.map +1 -1
  100. package/dist-cjs/form-field/FormFieldHelperText.js +24 -114
  101. package/dist-cjs/form-field/FormFieldHelperText.js.map +1 -1
  102. package/dist-cjs/form-field/FormFieldLabel.js +15 -106
  103. package/dist-cjs/form-field/FormFieldLabel.js.map +1 -1
  104. package/dist-cjs/form-field-context/FormFieldContext.js +0 -100
  105. package/dist-cjs/form-field-context/FormFieldContext.js.map +1 -1
  106. package/dist-cjs/form-field-context/useFormFieldProps.js +0 -2
  107. package/dist-cjs/form-field-context/useFormFieldProps.js.map +1 -1
  108. package/dist-cjs/grid-item/GridItem.js +10 -106
  109. package/dist-cjs/grid-item/GridItem.js.map +1 -1
  110. package/dist-cjs/grid-layout/GridLayout.js +13 -109
  111. package/dist-cjs/grid-layout/GridLayout.js.map +1 -1
  112. package/dist-cjs/index.js +0 -2
  113. package/dist-cjs/index.js.map +1 -1
  114. package/dist-cjs/input/Input.js +49 -149
  115. package/dist-cjs/input/Input.js.map +1 -1
  116. package/dist-cjs/interactable-card/InteractableCard.js +28 -122
  117. package/dist-cjs/interactable-card/InteractableCard.js.map +1 -1
  118. package/dist-cjs/interactable-card/InteractableCardGroup.js +9 -106
  119. package/dist-cjs/interactable-card/InteractableCardGroup.js.map +1 -1
  120. package/dist-cjs/interactable-card/InteractableCardGroupContext.js +0 -100
  121. package/dist-cjs/interactable-card/InteractableCardGroupContext.js.map +1 -1
  122. package/dist-cjs/interactable-card/useInteractableCard.js +0 -2
  123. package/dist-cjs/interactable-card/useInteractableCard.js.map +1 -1
  124. package/dist-cjs/link/Link.js +22 -117
  125. package/dist-cjs/link/Link.js.map +1 -1
  126. package/dist-cjs/link-card/LinkCard.js +18 -113
  127. package/dist-cjs/link-card/LinkCard.js.map +1 -1
  128. package/dist-cjs/list-box/ListBox.js +8 -106
  129. package/dist-cjs/list-box/ListBox.js.map +1 -1
  130. package/dist-cjs/list-control/ListControlContext.js +0 -100
  131. package/dist-cjs/list-control/ListControlContext.js.map +1 -1
  132. package/dist-cjs/list-control/ListControlState.js +3 -104
  133. package/dist-cjs/list-control/ListControlState.js.map +1 -1
  134. package/dist-cjs/menu/Menu.js +2 -10
  135. package/dist-cjs/menu/Menu.js.map +1 -1
  136. package/dist-cjs/menu/MenuBase.js +10 -109
  137. package/dist-cjs/menu/MenuBase.js.map +1 -1
  138. package/dist-cjs/menu/MenuContext.js +0 -100
  139. package/dist-cjs/menu/MenuContext.js.map +1 -1
  140. package/dist-cjs/menu/MenuGroup.js +14 -114
  141. package/dist-cjs/menu/MenuGroup.js.map +1 -1
  142. package/dist-cjs/menu/MenuItem.js +51 -143
  143. package/dist-cjs/menu/MenuItem.js.map +1 -1
  144. package/dist-cjs/menu/MenuPanel.js +27 -123
  145. package/dist-cjs/menu/MenuPanel.js.map +1 -1
  146. package/dist-cjs/menu/MenuPanelBase.js +1 -7
  147. package/dist-cjs/menu/MenuPanelBase.js.map +1 -1
  148. package/dist-cjs/menu/MenuPanelContext.js +0 -100
  149. package/dist-cjs/menu/MenuPanelContext.js.map +1 -1
  150. package/dist-cjs/menu/MenuTrigger.js +20 -118
  151. package/dist-cjs/menu/MenuTrigger.js.map +1 -1
  152. package/dist-cjs/menu/MenuTriggerContext.js +0 -100
  153. package/dist-cjs/menu/MenuTriggerContext.js.map +1 -1
  154. package/dist-cjs/multiline-input/MultilineInput.js +54 -161
  155. package/dist-cjs/multiline-input/MultilineInput.js.map +1 -1
  156. package/dist-cjs/navigation-item/ExpansionIcon.js +1 -5
  157. package/dist-cjs/navigation-item/ExpansionIcon.js.map +1 -1
  158. package/dist-cjs/navigation-item/NavigationItem.js +32 -132
  159. package/dist-cjs/navigation-item/NavigationItem.js.map +1 -1
  160. package/dist-cjs/navigation-item/NavigationItemAction.js +0 -102
  161. package/dist-cjs/navigation-item/NavigationItemAction.js.map +1 -1
  162. package/dist-cjs/option/Option.js +32 -120
  163. package/dist-cjs/option/Option.js.map +1 -1
  164. package/dist-cjs/option/OptionGroup.js +14 -114
  165. package/dist-cjs/option/OptionGroup.js.map +1 -1
  166. package/dist-cjs/option/OptionList.js +17 -117
  167. package/dist-cjs/option/OptionList.js.map +1 -1
  168. package/dist-cjs/option/OptionListBase.js +9 -105
  169. package/dist-cjs/option/OptionListBase.js.map +1 -1
  170. package/dist-cjs/overlay/Overlay.js +18 -114
  171. package/dist-cjs/overlay/Overlay.js.map +1 -1
  172. package/dist-cjs/overlay/OverlayContext.js +0 -100
  173. package/dist-cjs/overlay/OverlayContext.js.map +1 -1
  174. package/dist-cjs/overlay/OverlayPanel.js +34 -127
  175. package/dist-cjs/overlay/OverlayPanel.js.map +1 -1
  176. package/dist-cjs/overlay/OverlayPanelCloseButton.js +7 -109
  177. package/dist-cjs/overlay/OverlayPanelCloseButton.js.map +1 -1
  178. package/dist-cjs/overlay/OverlayPanelContent.css.js +1 -1
  179. package/dist-cjs/overlay/OverlayPanelContent.js +41 -107
  180. package/dist-cjs/overlay/OverlayPanelContent.js.map +1 -1
  181. package/dist-cjs/overlay/OverlayTrigger.js +6 -111
  182. package/dist-cjs/overlay/OverlayTrigger.js.map +1 -1
  183. package/dist-cjs/pagination/CompactInput.js +20 -114
  184. package/dist-cjs/pagination/CompactInput.js.map +1 -1
  185. package/dist-cjs/pagination/CompactPaginator.js +21 -123
  186. package/dist-cjs/pagination/CompactPaginator.js.map +1 -1
  187. package/dist-cjs/pagination/GoToInput.js +31 -114
  188. package/dist-cjs/pagination/GoToInput.js.map +1 -1
  189. package/dist-cjs/pagination/PageButton.js +17 -112
  190. package/dist-cjs/pagination/PageButton.js.map +1 -1
  191. package/dist-cjs/pagination/PageRanges.js +15 -126
  192. package/dist-cjs/pagination/PageRanges.js.map +1 -1
  193. package/dist-cjs/pagination/Pagination.js +6 -103
  194. package/dist-cjs/pagination/Pagination.js.map +1 -1
  195. package/dist-cjs/pagination/PaginationContext.js +0 -2
  196. package/dist-cjs/pagination/PaginationContext.js.map +1 -1
  197. package/dist-cjs/pagination/Paginator.js +19 -121
  198. package/dist-cjs/pagination/Paginator.js.map +1 -1
  199. package/dist-cjs/pagination/usePagination.js +0 -2
  200. package/dist-cjs/pagination/usePagination.js.map +1 -1
  201. package/dist-cjs/pagination/usePaginationContext.js +0 -2
  202. package/dist-cjs/pagination/usePaginationContext.js.map +1 -1
  203. package/dist-cjs/panel/Panel.js +9 -104
  204. package/dist-cjs/panel/Panel.js.map +1 -1
  205. package/dist-cjs/parent-child-layout/ParentChildLayout.js +24 -123
  206. package/dist-cjs/parent-child-layout/ParentChildLayout.js.map +1 -1
  207. package/dist-cjs/parent-child-layout/useIsViewportLargerThanBreakpoint.js +0 -103
  208. package/dist-cjs/parent-child-layout/useIsViewportLargerThanBreakpoint.js.map +1 -1
  209. package/dist-cjs/pill/Pill.js +17 -115
  210. package/dist-cjs/pill/Pill.js.map +1 -1
  211. package/dist-cjs/pill-input/PillInput.js +97 -204
  212. package/dist-cjs/pill-input/PillInput.js.map +1 -1
  213. package/dist-cjs/pill-input/useTruncatePills.js +0 -2
  214. package/dist-cjs/pill-input/useTruncatePills.js.map +1 -1
  215. package/dist-cjs/progress/CircularProgress/CircularProgress.js +44 -153
  216. package/dist-cjs/progress/CircularProgress/CircularProgress.js.map +1 -1
  217. package/dist-cjs/progress/LinearProgress/LinearProgress.js +28 -125
  218. package/dist-cjs/progress/LinearProgress/LinearProgress.js.map +1 -1
  219. package/dist-cjs/radio-button/RadioButton.css.js +1 -1
  220. package/dist-cjs/radio-button/RadioButton.js +60 -150
  221. package/dist-cjs/radio-button/RadioButton.js.map +1 -1
  222. package/dist-cjs/radio-button/RadioButtonGroup.js +36 -127
  223. package/dist-cjs/radio-button/RadioButtonGroup.js.map +1 -1
  224. package/dist-cjs/radio-button/RadioButtonIcon.js +45 -134
  225. package/dist-cjs/radio-button/RadioButtonIcon.js.map +1 -1
  226. package/dist-cjs/radio-button/internal/RadioGroupContext.js +0 -101
  227. package/dist-cjs/radio-button/internal/RadioGroupContext.js.map +1 -1
  228. package/dist-cjs/radio-button/internal/useRadioGroup.js +0 -2
  229. package/dist-cjs/radio-button/internal/useRadioGroup.js.map +1 -1
  230. package/dist-cjs/salt-provider/SaltProvider.js +32 -155
  231. package/dist-cjs/salt-provider/SaltProvider.js.map +1 -1
  232. package/dist-cjs/scrim/Scrim.js +16 -111
  233. package/dist-cjs/scrim/Scrim.js.map +1 -1
  234. package/dist-cjs/segmented-button-group/SegmentedButtonGroup.js +1 -104
  235. package/dist-cjs/segmented-button-group/SegmentedButtonGroup.js.map +1 -1
  236. package/dist-cjs/semantic-icon-provider/SemanticIconProvider.js +1 -6
  237. package/dist-cjs/semantic-icon-provider/SemanticIconProvider.js.map +1 -1
  238. package/dist-cjs/spinner/Spinner.js +16 -116
  239. package/dist-cjs/spinner/Spinner.js.map +1 -1
  240. package/dist-cjs/spinner/svgSpinners/SpinnerSVG.js +43 -141
  241. package/dist-cjs/spinner/svgSpinners/SpinnerSVG.js.map +1 -1
  242. package/dist-cjs/split-layout/SplitLayout.js +13 -107
  243. package/dist-cjs/split-layout/SplitLayout.js.map +1 -1
  244. package/dist-cjs/stack-layout/StackLayout.js +21 -116
  245. package/dist-cjs/stack-layout/StackLayout.js.map +1 -1
  246. package/dist-cjs/status-adornment/ErrorAdornment.js +5 -11
  247. package/dist-cjs/status-adornment/ErrorAdornment.js.map +1 -1
  248. package/dist-cjs/status-adornment/StatusAdornment.js +9 -104
  249. package/dist-cjs/status-adornment/StatusAdornment.js.map +1 -1
  250. package/dist-cjs/status-adornment/SuccessAdornment.js +18 -14
  251. package/dist-cjs/status-adornment/SuccessAdornment.js.map +1 -1
  252. package/dist-cjs/status-adornment/WarningAdornment.js +1 -12
  253. package/dist-cjs/status-adornment/WarningAdornment.js.map +1 -1
  254. package/dist-cjs/status-indicator/StatusIndicator.js +10 -103
  255. package/dist-cjs/status-indicator/StatusIndicator.js.map +1 -1
  256. package/dist-cjs/status-indicator/ValidationStatus.js +0 -2
  257. package/dist-cjs/status-indicator/ValidationStatus.js.map +1 -1
  258. package/dist-cjs/switch/Switch.js +44 -150
  259. package/dist-cjs/switch/Switch.js.map +1 -1
  260. package/dist-cjs/tag/Tag.js +17 -112
  261. package/dist-cjs/tag/Tag.js.map +1 -1
  262. package/dist-cjs/text/Code.js +1 -8
  263. package/dist-cjs/text/Code.js.map +1 -1
  264. package/dist-cjs/text/Display.js +4 -30
  265. package/dist-cjs/text/Display.js.map +1 -1
  266. package/dist-cjs/text/Headings.js +4 -26
  267. package/dist-cjs/text/Headings.js.map +1 -1
  268. package/dist-cjs/text/Label.js +1 -8
  269. package/dist-cjs/text/Label.js.map +1 -1
  270. package/dist-cjs/text/Text.js +21 -117
  271. package/dist-cjs/text/Text.js.map +1 -1
  272. package/dist-cjs/text/TextAction.js +1 -9
  273. package/dist-cjs/text/TextAction.js.map +1 -1
  274. package/dist-cjs/text/TextNotation.js +1 -9
  275. package/dist-cjs/text/TextNotation.js.map +1 -1
  276. package/dist-cjs/theme/Accent.js +0 -2
  277. package/dist-cjs/theme/Accent.js.map +1 -1
  278. package/dist-cjs/theme/ActionFont.js +0 -2
  279. package/dist-cjs/theme/ActionFont.js.map +1 -1
  280. package/dist-cjs/theme/Corner.js +0 -2
  281. package/dist-cjs/theme/Corner.js.map +1 -1
  282. package/dist-cjs/theme/Density.js +0 -2
  283. package/dist-cjs/theme/Density.js.map +1 -1
  284. package/dist-cjs/theme/HeadingFont.js +0 -2
  285. package/dist-cjs/theme/HeadingFont.js.map +1 -1
  286. package/dist-cjs/theme/Mode.js +0 -2
  287. package/dist-cjs/theme/Mode.js.map +1 -1
  288. package/dist-cjs/theme/Theme.js +0 -2
  289. package/dist-cjs/theme/Theme.js.map +1 -1
  290. package/dist-cjs/toast/Toast.js +17 -116
  291. package/dist-cjs/toast/Toast.js.map +1 -1
  292. package/dist-cjs/toast/ToastContent.js +1 -104
  293. package/dist-cjs/toast/ToastContent.js.map +1 -1
  294. package/dist-cjs/toggle-button/ToggleButton.css.js +1 -1
  295. package/dist-cjs/toggle-button/ToggleButton.js +18 -111
  296. package/dist-cjs/toggle-button/ToggleButton.js.map +1 -1
  297. package/dist-cjs/toggle-button-group/ToggleButtonGroup.js +10 -107
  298. package/dist-cjs/toggle-button-group/ToggleButtonGroup.js.map +1 -1
  299. package/dist-cjs/toggle-button-group/ToggleButtonGroupContext.js +0 -100
  300. package/dist-cjs/toggle-button-group/ToggleButtonGroupContext.js.map +1 -1
  301. package/dist-cjs/tooltip/Tooltip.js +25 -119
  302. package/dist-cjs/tooltip/Tooltip.js.map +1 -1
  303. package/dist-cjs/tooltip/TooltipBase.js +25 -117
  304. package/dist-cjs/tooltip/TooltipBase.js.map +1 -1
  305. package/dist-cjs/tooltip/useAriaAnnounce.js +2 -104
  306. package/dist-cjs/tooltip/useAriaAnnounce.js.map +1 -1
  307. package/dist-cjs/tooltip/useTooltip.js +4 -103
  308. package/dist-cjs/tooltip/useTooltip.js.map +1 -1
  309. package/dist-cjs/utils/capitalize.js +0 -2
  310. package/dist-cjs/utils/capitalize.js.map +1 -1
  311. package/dist-cjs/utils/createChainedFunction.js +0 -2
  312. package/dist-cjs/utils/createChainedFunction.js.map +1 -1
  313. package/dist-cjs/utils/createContext.js +0 -2
  314. package/dist-cjs/utils/createContext.js.map +1 -1
  315. package/dist-cjs/utils/debounce.js +0 -2
  316. package/dist-cjs/utils/debounce.js.map +1 -1
  317. package/dist-cjs/utils/getRefFromChildren.js +4 -3
  318. package/dist-cjs/utils/getRefFromChildren.js.map +1 -1
  319. package/dist-cjs/utils/makePrefixer.js +0 -2
  320. package/dist-cjs/utils/makePrefixer.js.map +1 -1
  321. package/dist-cjs/utils/marginMiddleware.js +0 -2
  322. package/dist-cjs/utils/marginMiddleware.js.map +1 -1
  323. package/dist-cjs/utils/mergeProps.js +0 -2
  324. package/dist-cjs/utils/mergeProps.js.map +1 -1
  325. package/dist-cjs/utils/ownerDocument.js +0 -2
  326. package/dist-cjs/utils/ownerDocument.js.map +1 -1
  327. package/dist-cjs/utils/ownerWindow.js +0 -2
  328. package/dist-cjs/utils/ownerWindow.js.map +1 -1
  329. package/dist-cjs/utils/renderProps.js +1 -5
  330. package/dist-cjs/utils/renderProps.js.map +1 -1
  331. package/dist-cjs/utils/setRef.js +0 -2
  332. package/dist-cjs/utils/setRef.js.map +1 -1
  333. package/dist-cjs/utils/useControlled.js +0 -2
  334. package/dist-cjs/utils/useControlled.js.map +1 -1
  335. package/dist-cjs/utils/useEventCallback.js +4 -3
  336. package/dist-cjs/utils/useEventCallback.js.map +1 -1
  337. package/dist-cjs/utils/useFloatingUI/useFloatingUI.js +6 -33
  338. package/dist-cjs/utils/useFloatingUI/useFloatingUI.js.map +1 -1
  339. package/dist-cjs/utils/useForkRef.js +0 -2
  340. package/dist-cjs/utils/useForkRef.js.map +1 -1
  341. package/dist-cjs/utils/useId.js +5 -8
  342. package/dist-cjs/utils/useId.js.map +1 -1
  343. package/dist-cjs/utils/useIsFocusVisible.js +0 -2
  344. package/dist-cjs/utils/useIsFocusVisible.js.map +1 -1
  345. package/dist-cjs/utils/useIsomorphicLayoutEffect.js +0 -2
  346. package/dist-cjs/utils/useIsomorphicLayoutEffect.js.map +1 -1
  347. package/dist-cjs/utils/usePrevious.js +0 -2
  348. package/dist-cjs/utils/usePrevious.js.map +1 -1
  349. package/dist-cjs/utils/useResizeObserver.js +5 -7
  350. package/dist-cjs/utils/useResizeObserver.js.map +1 -1
  351. package/dist-cjs/utils/useResponsiveProp.js +2 -5
  352. package/dist-cjs/utils/useResponsiveProp.js.map +1 -1
  353. package/dist-cjs/utils/useValueEffect.js +1 -108
  354. package/dist-cjs/utils/useValueEffect.js.map +1 -1
  355. package/dist-cjs/viewport/ViewportProvider.js +1 -109
  356. package/dist-cjs/viewport/ViewportProvider.js.map +1 -1
  357. package/dist-es/accordion/Accordion.js +31 -121
  358. package/dist-es/accordion/Accordion.js.map +1 -1
  359. package/dist-es/accordion/AccordionContext.js +0 -99
  360. package/dist-es/accordion/AccordionContext.js.map +1 -1
  361. package/dist-es/accordion/AccordionGroup.js +1 -101
  362. package/dist-es/accordion/AccordionGroup.js.map +1 -1
  363. package/dist-es/accordion/AccordionHeader.js +33 -134
  364. package/dist-es/accordion/AccordionHeader.js.map +1 -1
  365. package/dist-es/accordion/AccordionPanel.js +22 -115
  366. package/dist-es/accordion/AccordionPanel.js.map +1 -1
  367. package/dist-es/aria-announcer/AriaAnnounce.js.map +1 -1
  368. package/dist-es/aria-announcer/AriaAnnouncerContext.js.map +1 -1
  369. package/dist-es/aria-announcer/AriaAnnouncerProvider.js +8 -8
  370. package/dist-es/aria-announcer/AriaAnnouncerProvider.js.map +1 -1
  371. package/dist-es/aria-announcer/useAriaAnnouncer.js +0 -104
  372. package/dist-es/aria-announcer/useAriaAnnouncer.js.map +1 -1
  373. package/dist-es/avatar/Avatar.js +18 -115
  374. package/dist-es/avatar/Avatar.js.map +1 -1
  375. package/dist-es/avatar/useAvatarImage.js +0 -99
  376. package/dist-es/avatar/useAvatarImage.js.map +1 -1
  377. package/dist-es/badge/Badge.js +8 -106
  378. package/dist-es/badge/Badge.js.map +1 -1
  379. package/dist-es/banner/Banner.js +18 -113
  380. package/dist-es/banner/Banner.js.map +1 -1
  381. package/dist-es/banner/BannerActions.js +1 -101
  382. package/dist-es/banner/BannerActions.js.map +1 -1
  383. package/dist-es/banner/BannerContent.js +1 -101
  384. package/dist-es/banner/BannerContent.js.map +1 -1
  385. package/dist-es/border-item/BorderItem.js +17 -109
  386. package/dist-es/border-item/BorderItem.js.map +1 -1
  387. package/dist-es/border-layout/BorderLayout.js +12 -106
  388. package/dist-es/border-layout/BorderLayout.js.map +1 -1
  389. package/dist-es/breakpoints/BreakpointProvider.js +2 -109
  390. package/dist-es/breakpoints/BreakpointProvider.js.map +1 -1
  391. package/dist-es/breakpoints/Breakpoints.js.map +1 -1
  392. package/dist-es/button/Button.js +24 -118
  393. package/dist-es/button/Button.js.map +1 -1
  394. package/dist-es/button/useButton.js.map +1 -1
  395. package/dist-es/card/Card.js +21 -113
  396. package/dist-es/card/Card.js.map +1 -1
  397. package/dist-es/checkbox/Checkbox.css.js +1 -1
  398. package/dist-es/checkbox/Checkbox.js +62 -148
  399. package/dist-es/checkbox/Checkbox.js.map +1 -1
  400. package/dist-es/checkbox/CheckboxGroup.js +32 -121
  401. package/dist-es/checkbox/CheckboxGroup.js.map +1 -1
  402. package/dist-es/checkbox/CheckboxIcon.js +24 -129
  403. package/dist-es/checkbox/CheckboxIcon.js.map +1 -1
  404. package/dist-es/checkbox/internal/CheckboxGroupContext.js +0 -99
  405. package/dist-es/checkbox/internal/CheckboxGroupContext.js.map +1 -1
  406. package/dist-es/checkbox/internal/useCheckboxGroup.js.map +1 -1
  407. package/dist-es/combo-box/ComboBox.js +33 -125
  408. package/dist-es/combo-box/ComboBox.js.map +1 -1
  409. package/dist-es/combo-box/useComboBox.js +1 -100
  410. package/dist-es/combo-box/useComboBox.js.map +1 -1
  411. package/dist-es/dialog/Dialog.js +38 -141
  412. package/dist-es/dialog/Dialog.js.map +1 -1
  413. package/dist-es/dialog/DialogActions.js +1 -102
  414. package/dist-es/dialog/DialogActions.js.map +1 -1
  415. package/dist-es/dialog/DialogCloseButton.js +11 -104
  416. package/dist-es/dialog/DialogCloseButton.js.map +1 -1
  417. package/dist-es/dialog/DialogContent.css.js +1 -1
  418. package/dist-es/dialog/DialogContent.js +40 -112
  419. package/dist-es/dialog/DialogContent.js.map +1 -1
  420. package/dist-es/dialog/DialogContext.js.map +1 -1
  421. package/dist-es/dialog/DialogHeader.js +24 -119
  422. package/dist-es/dialog/DialogHeader.js.map +1 -1
  423. package/dist-es/divider/Divider.js +15 -108
  424. package/dist-es/divider/Divider.js.map +1 -1
  425. package/dist-es/drawer/Drawer.js +13 -112
  426. package/dist-es/drawer/Drawer.js.map +1 -1
  427. package/dist-es/drawer/DrawerCloseButton.js +7 -103
  428. package/dist-es/drawer/DrawerCloseButton.js.map +1 -1
  429. package/dist-es/dropdown/Dropdown.js +38 -135
  430. package/dist-es/dropdown/Dropdown.js.map +1 -1
  431. package/dist-es/file-drop-zone/FileDropZone.js +21 -114
  432. package/dist-es/file-drop-zone/FileDropZone.js.map +1 -1
  433. package/dist-es/file-drop-zone/FileDropZoneIcon.js +2 -7
  434. package/dist-es/file-drop-zone/FileDropZoneIcon.js.map +1 -1
  435. package/dist-es/file-drop-zone/FileDropZoneTrigger.js +14 -108
  436. package/dist-es/file-drop-zone/FileDropZoneTrigger.js.map +1 -1
  437. package/dist-es/file-drop-zone/internal/utils.js +1 -2
  438. package/dist-es/file-drop-zone/internal/utils.js.map +1 -1
  439. package/dist-es/flex-item/FlexItem.js +10 -104
  440. package/dist-es/flex-item/FlexItem.js.map +1 -1
  441. package/dist-es/flex-layout/FlexLayout.js +21 -115
  442. package/dist-es/flex-layout/FlexLayout.js.map +1 -1
  443. package/dist-es/flow-layout/FlowLayout.js +1 -7
  444. package/dist-es/flow-layout/FlowLayout.js.map +1 -1
  445. package/dist-es/form-field/FormField.css.js +1 -1
  446. package/dist-es/form-field/FormField.js +30 -119
  447. package/dist-es/form-field/FormField.js.map +1 -1
  448. package/dist-es/form-field/FormFieldHelperText.js +24 -108
  449. package/dist-es/form-field/FormFieldHelperText.js.map +1 -1
  450. package/dist-es/form-field/FormFieldLabel.js +15 -104
  451. package/dist-es/form-field/FormFieldLabel.js.map +1 -1
  452. package/dist-es/form-field-context/FormFieldContext.js +0 -98
  453. package/dist-es/form-field-context/FormFieldContext.js.map +1 -1
  454. package/dist-es/form-field-context/useFormFieldProps.js.map +1 -1
  455. package/dist-es/grid-item/GridItem.js +10 -104
  456. package/dist-es/grid-item/GridItem.js.map +1 -1
  457. package/dist-es/grid-layout/GridLayout.js +13 -107
  458. package/dist-es/grid-layout/GridLayout.js.map +1 -1
  459. package/dist-es/input/Input.js +49 -147
  460. package/dist-es/input/Input.js.map +1 -1
  461. package/dist-es/interactable-card/InteractableCard.js +28 -120
  462. package/dist-es/interactable-card/InteractableCard.js.map +1 -1
  463. package/dist-es/interactable-card/InteractableCardGroup.js +9 -104
  464. package/dist-es/interactable-card/InteractableCardGroup.js.map +1 -1
  465. package/dist-es/interactable-card/InteractableCardGroupContext.js +0 -98
  466. package/dist-es/interactable-card/InteractableCardGroupContext.js.map +1 -1
  467. package/dist-es/interactable-card/useInteractableCard.js.map +1 -1
  468. package/dist-es/link/Link.js +22 -115
  469. package/dist-es/link/Link.js.map +1 -1
  470. package/dist-es/link-card/LinkCard.js +18 -111
  471. package/dist-es/link-card/LinkCard.js.map +1 -1
  472. package/dist-es/list-box/ListBox.js +8 -104
  473. package/dist-es/list-box/ListBox.js.map +1 -1
  474. package/dist-es/list-control/ListControlContext.js +0 -98
  475. package/dist-es/list-control/ListControlContext.js.map +1 -1
  476. package/dist-es/list-control/ListControlState.js +3 -102
  477. package/dist-es/list-control/ListControlState.js.map +1 -1
  478. package/dist-es/menu/Menu.js +2 -8
  479. package/dist-es/menu/Menu.js.map +1 -1
  480. package/dist-es/menu/MenuBase.js +10 -107
  481. package/dist-es/menu/MenuBase.js.map +1 -1
  482. package/dist-es/menu/MenuContext.js +0 -98
  483. package/dist-es/menu/MenuContext.js.map +1 -1
  484. package/dist-es/menu/MenuGroup.js +14 -112
  485. package/dist-es/menu/MenuGroup.js.map +1 -1
  486. package/dist-es/menu/MenuItem.js +51 -141
  487. package/dist-es/menu/MenuItem.js.map +1 -1
  488. package/dist-es/menu/MenuPanel.js +27 -121
  489. package/dist-es/menu/MenuPanel.js.map +1 -1
  490. package/dist-es/menu/MenuPanelBase.js +1 -5
  491. package/dist-es/menu/MenuPanelBase.js.map +1 -1
  492. package/dist-es/menu/MenuPanelContext.js +0 -98
  493. package/dist-es/menu/MenuPanelContext.js.map +1 -1
  494. package/dist-es/menu/MenuTrigger.js +20 -116
  495. package/dist-es/menu/MenuTrigger.js.map +1 -1
  496. package/dist-es/menu/MenuTriggerContext.js +0 -98
  497. package/dist-es/menu/MenuTriggerContext.js.map +1 -1
  498. package/dist-es/multiline-input/MultilineInput.js +54 -159
  499. package/dist-es/multiline-input/MultilineInput.js.map +1 -1
  500. package/dist-es/navigation-item/ExpansionIcon.js +1 -3
  501. package/dist-es/navigation-item/ExpansionIcon.js.map +1 -1
  502. package/dist-es/navigation-item/NavigationItem.js +32 -130
  503. package/dist-es/navigation-item/NavigationItem.js.map +1 -1
  504. package/dist-es/navigation-item/NavigationItemAction.js +0 -100
  505. package/dist-es/navigation-item/NavigationItemAction.js.map +1 -1
  506. package/dist-es/option/Option.js +32 -118
  507. package/dist-es/option/Option.js.map +1 -1
  508. package/dist-es/option/OptionGroup.js +14 -112
  509. package/dist-es/option/OptionGroup.js.map +1 -1
  510. package/dist-es/option/OptionList.js +17 -115
  511. package/dist-es/option/OptionList.js.map +1 -1
  512. package/dist-es/option/OptionListBase.js +9 -103
  513. package/dist-es/option/OptionListBase.js.map +1 -1
  514. package/dist-es/overlay/Overlay.js +18 -112
  515. package/dist-es/overlay/Overlay.js.map +1 -1
  516. package/dist-es/overlay/OverlayContext.js +0 -98
  517. package/dist-es/overlay/OverlayContext.js.map +1 -1
  518. package/dist-es/overlay/OverlayPanel.js +34 -125
  519. package/dist-es/overlay/OverlayPanel.js.map +1 -1
  520. package/dist-es/overlay/OverlayPanelCloseButton.js +7 -103
  521. package/dist-es/overlay/OverlayPanelCloseButton.js.map +1 -1
  522. package/dist-es/overlay/OverlayPanelContent.css.js +1 -1
  523. package/dist-es/overlay/OverlayPanelContent.js +43 -103
  524. package/dist-es/overlay/OverlayPanelContent.js.map +1 -1
  525. package/dist-es/overlay/OverlayTrigger.js +6 -109
  526. package/dist-es/overlay/OverlayTrigger.js.map +1 -1
  527. package/dist-es/pagination/CompactInput.js +20 -112
  528. package/dist-es/pagination/CompactInput.js.map +1 -1
  529. package/dist-es/pagination/CompactPaginator.js +21 -121
  530. package/dist-es/pagination/CompactPaginator.js.map +1 -1
  531. package/dist-es/pagination/GoToInput.js +31 -112
  532. package/dist-es/pagination/GoToInput.js.map +1 -1
  533. package/dist-es/pagination/PageButton.js +17 -110
  534. package/dist-es/pagination/PageButton.js.map +1 -1
  535. package/dist-es/pagination/PageRanges.js +15 -124
  536. package/dist-es/pagination/PageRanges.js.map +1 -1
  537. package/dist-es/pagination/Pagination.js +6 -101
  538. package/dist-es/pagination/Pagination.js.map +1 -1
  539. package/dist-es/pagination/PaginationContext.js.map +1 -1
  540. package/dist-es/pagination/Paginator.js +19 -119
  541. package/dist-es/pagination/Paginator.js.map +1 -1
  542. package/dist-es/pagination/usePagination.js.map +1 -1
  543. package/dist-es/pagination/usePaginationContext.js.map +1 -1
  544. package/dist-es/panel/Panel.js +9 -102
  545. package/dist-es/panel/Panel.js.map +1 -1
  546. package/dist-es/parent-child-layout/ParentChildLayout.js +24 -121
  547. package/dist-es/parent-child-layout/ParentChildLayout.js.map +1 -1
  548. package/dist-es/parent-child-layout/useIsViewportLargerThanBreakpoint.js +0 -101
  549. package/dist-es/parent-child-layout/useIsViewportLargerThanBreakpoint.js.map +1 -1
  550. package/dist-es/pill/Pill.js +17 -109
  551. package/dist-es/pill/Pill.js.map +1 -1
  552. package/dist-es/pill-input/PillInput.js +97 -202
  553. package/dist-es/pill-input/PillInput.js.map +1 -1
  554. package/dist-es/pill-input/useTruncatePills.js.map +1 -1
  555. package/dist-es/progress/CircularProgress/CircularProgress.js +44 -151
  556. package/dist-es/progress/CircularProgress/CircularProgress.js.map +1 -1
  557. package/dist-es/progress/LinearProgress/LinearProgress.js +28 -123
  558. package/dist-es/progress/LinearProgress/LinearProgress.js.map +1 -1
  559. package/dist-es/radio-button/RadioButton.css.js +1 -1
  560. package/dist-es/radio-button/RadioButton.js +60 -148
  561. package/dist-es/radio-button/RadioButton.js.map +1 -1
  562. package/dist-es/radio-button/RadioButtonGroup.js +36 -125
  563. package/dist-es/radio-button/RadioButtonGroup.js.map +1 -1
  564. package/dist-es/radio-button/RadioButtonIcon.js +45 -132
  565. package/dist-es/radio-button/RadioButtonIcon.js.map +1 -1
  566. package/dist-es/radio-button/internal/RadioGroupContext.js +0 -99
  567. package/dist-es/radio-button/internal/RadioGroupContext.js.map +1 -1
  568. package/dist-es/radio-button/internal/useRadioGroup.js.map +1 -1
  569. package/dist-es/salt-provider/SaltProvider.js +32 -153
  570. package/dist-es/salt-provider/SaltProvider.js.map +1 -1
  571. package/dist-es/scrim/Scrim.js +16 -109
  572. package/dist-es/scrim/Scrim.js.map +1 -1
  573. package/dist-es/segmented-button-group/SegmentedButtonGroup.js +1 -102
  574. package/dist-es/segmented-button-group/SegmentedButtonGroup.js.map +1 -1
  575. package/dist-es/semantic-icon-provider/SemanticIconProvider.js +1 -4
  576. package/dist-es/semantic-icon-provider/SemanticIconProvider.js.map +1 -1
  577. package/dist-es/spinner/Spinner.js +16 -114
  578. package/dist-es/spinner/Spinner.js.map +1 -1
  579. package/dist-es/spinner/svgSpinners/SpinnerSVG.js +43 -139
  580. package/dist-es/spinner/svgSpinners/SpinnerSVG.js.map +1 -1
  581. package/dist-es/split-layout/SplitLayout.js +13 -105
  582. package/dist-es/split-layout/SplitLayout.js.map +1 -1
  583. package/dist-es/stack-layout/StackLayout.js +21 -114
  584. package/dist-es/stack-layout/StackLayout.js.map +1 -1
  585. package/dist-es/status-adornment/ErrorAdornment.js +5 -9
  586. package/dist-es/status-adornment/ErrorAdornment.js.map +1 -1
  587. package/dist-es/status-adornment/StatusAdornment.js +9 -102
  588. package/dist-es/status-adornment/StatusAdornment.js.map +1 -1
  589. package/dist-es/status-adornment/SuccessAdornment.js +18 -12
  590. package/dist-es/status-adornment/SuccessAdornment.js.map +1 -1
  591. package/dist-es/status-adornment/WarningAdornment.js +1 -10
  592. package/dist-es/status-adornment/WarningAdornment.js.map +1 -1
  593. package/dist-es/status-indicator/StatusIndicator.js +10 -101
  594. package/dist-es/status-indicator/StatusIndicator.js.map +1 -1
  595. package/dist-es/status-indicator/ValidationStatus.js.map +1 -1
  596. package/dist-es/switch/Switch.js +44 -148
  597. package/dist-es/switch/Switch.js.map +1 -1
  598. package/dist-es/tag/Tag.js +17 -110
  599. package/dist-es/tag/Tag.js.map +1 -1
  600. package/dist-es/text/Code.js +1 -6
  601. package/dist-es/text/Code.js.map +1 -1
  602. package/dist-es/text/Display.js +4 -28
  603. package/dist-es/text/Display.js.map +1 -1
  604. package/dist-es/text/Headings.js +4 -24
  605. package/dist-es/text/Headings.js.map +1 -1
  606. package/dist-es/text/Label.js +1 -6
  607. package/dist-es/text/Label.js.map +1 -1
  608. package/dist-es/text/Text.js +21 -115
  609. package/dist-es/text/Text.js.map +1 -1
  610. package/dist-es/text/TextAction.js +1 -7
  611. package/dist-es/text/TextAction.js.map +1 -1
  612. package/dist-es/text/TextNotation.js +1 -7
  613. package/dist-es/text/TextNotation.js.map +1 -1
  614. package/dist-es/theme/Accent.js.map +1 -1
  615. package/dist-es/theme/ActionFont.js.map +1 -1
  616. package/dist-es/theme/Corner.js.map +1 -1
  617. package/dist-es/theme/HeadingFont.js.map +1 -1
  618. package/dist-es/theme/Theme.js.map +1 -1
  619. package/dist-es/toast/Toast.js +17 -114
  620. package/dist-es/toast/Toast.js.map +1 -1
  621. package/dist-es/toast/ToastContent.js +1 -102
  622. package/dist-es/toast/ToastContent.js.map +1 -1
  623. package/dist-es/toggle-button/ToggleButton.css.js +1 -1
  624. package/dist-es/toggle-button/ToggleButton.js +18 -109
  625. package/dist-es/toggle-button/ToggleButton.js.map +1 -1
  626. package/dist-es/toggle-button-group/ToggleButtonGroup.js +10 -105
  627. package/dist-es/toggle-button-group/ToggleButtonGroup.js.map +1 -1
  628. package/dist-es/toggle-button-group/ToggleButtonGroupContext.js +0 -98
  629. package/dist-es/toggle-button-group/ToggleButtonGroupContext.js.map +1 -1
  630. package/dist-es/tooltip/Tooltip.js +25 -117
  631. package/dist-es/tooltip/Tooltip.js.map +1 -1
  632. package/dist-es/tooltip/TooltipBase.js +25 -115
  633. package/dist-es/tooltip/TooltipBase.js.map +1 -1
  634. package/dist-es/tooltip/useAriaAnnounce.js +2 -102
  635. package/dist-es/tooltip/useAriaAnnounce.js.map +1 -1
  636. package/dist-es/tooltip/useTooltip.js +4 -101
  637. package/dist-es/tooltip/useTooltip.js.map +1 -1
  638. package/dist-es/utils/capitalize.js.map +1 -1
  639. package/dist-es/utils/createChainedFunction.js.map +1 -1
  640. package/dist-es/utils/createContext.js.map +1 -1
  641. package/dist-es/utils/debounce.js.map +1 -1
  642. package/dist-es/utils/getRefFromChildren.js +4 -1
  643. package/dist-es/utils/getRefFromChildren.js.map +1 -1
  644. package/dist-es/utils/marginMiddleware.js.map +1 -1
  645. package/dist-es/utils/mergeProps.js.map +1 -1
  646. package/dist-es/utils/ownerDocument.js.map +1 -1
  647. package/dist-es/utils/ownerWindow.js.map +1 -1
  648. package/dist-es/utils/renderProps.js +1 -3
  649. package/dist-es/utils/renderProps.js.map +1 -1
  650. package/dist-es/utils/setRef.js.map +1 -1
  651. package/dist-es/utils/useControlled.js.map +1 -1
  652. package/dist-es/utils/useEventCallback.js +4 -1
  653. package/dist-es/utils/useEventCallback.js.map +1 -1
  654. package/dist-es/utils/useFloatingUI/useFloatingUI.js +6 -31
  655. package/dist-es/utils/useFloatingUI/useFloatingUI.js.map +1 -1
  656. package/dist-es/utils/useForkRef.js.map +1 -1
  657. package/dist-es/utils/useId.js +2 -2
  658. package/dist-es/utils/useId.js.map +1 -1
  659. package/dist-es/utils/useIsFocusVisible.js.map +1 -1
  660. package/dist-es/utils/usePrevious.js.map +1 -1
  661. package/dist-es/utils/useResizeObserver.js +5 -5
  662. package/dist-es/utils/useResizeObserver.js.map +1 -1
  663. package/dist-es/utils/useResponsiveProp.js +2 -3
  664. package/dist-es/utils/useResponsiveProp.js.map +1 -1
  665. package/dist-es/utils/useValueEffect.js +1 -106
  666. package/dist-es/utils/useValueEffect.js.map +1 -1
  667. package/dist-es/viewport/ViewportProvider.js +1 -107
  668. package/dist-es/viewport/ViewportProvider.js.map +1 -1
  669. package/dist-types/file-drop-zone/FileDropZoneIcon.d.ts +1 -1
  670. package/package.json +8 -7
@@ -1 +1 @@
1
- {"version":3,"file":"SaltProvider.js","sources":["../src/salt-provider/SaltProvider.tsx"],"sourcesContent":["import {\n StyleInjectionProvider,\n useComponentCssInjection,\n} from \"@salt-ds/styles\";\nimport { type WindowContextType, useWindow } from \"@salt-ds/window\";\nimport { clsx } from \"clsx\";\nimport {\n type HTMLAttributes,\n type ReactElement,\n type ReactNode,\n cloneElement,\n createContext,\n isValidElement,\n useContext,\n useMemo,\n} from \"react\";\nimport { AriaAnnouncerProvider } from \"../aria-announcer\";\nimport {\n BreakpointProvider,\n type Breakpoints,\n DEFAULT_BREAKPOINTS,\n useMatchedBreakpoints,\n} from \"../breakpoints\";\nimport type {\n Accent,\n ActionFont,\n Corner,\n Density,\n HeadingFont,\n Mode,\n ThemeName,\n} from \"../theme\";\nimport { useIsomorphicLayoutEffect } from \"../utils\";\nimport { ViewportProvider } from \"../viewport\";\nimport saltProviderCss from \"./SaltProvider.css\";\n\nexport const DEFAULT_DENSITY = \"medium\";\n\nconst DEFAULT_THEME_NAME = \"salt-theme\";\nconst DEFAULT_THEME_NAME_NEXT = \"salt-theme-next\";\n\nconst DEFAULT_MODE = \"light\";\nconst DEFAULT_CORNER: Corner = \"sharp\";\nconst DEFAULT_HEADING_FONT: HeadingFont = \"Open Sans\";\nconst DEFAULT_ACCENT: Accent = \"blue\";\nconst DEFAULT_ACTION_FONT: ActionFont = \"Open Sans\";\nexport interface ThemeContextProps {\n theme: ThemeName;\n mode: Mode;\n window?: WindowContextType;\n /** Only available when using SaltProviderNext. */\n themeNext: boolean;\n corner: Corner;\n /** @deprecated use `corner`*/\n UNSTABLE_corner: Corner;\n headingFont: HeadingFont;\n /** @deprecated use `headingFont` */\n UNSTABLE_headingFont: HeadingFont;\n accent: Accent;\n /** @deprecated use `accent` */\n UNSTABLE_accent: Accent;\n actionFont: ActionFont;\n /** @deprecated use `actionFont` */\n UNSTABLE_actionFont: ActionFont;\n}\n\nexport const DensityContext = createContext<Density>(DEFAULT_DENSITY);\n\nexport const ThemeContext = createContext<ThemeContextProps>({\n theme: \"\",\n mode: DEFAULT_MODE,\n themeNext: false,\n corner: DEFAULT_CORNER,\n UNSTABLE_corner: DEFAULT_CORNER,\n headingFont: DEFAULT_HEADING_FONT,\n UNSTABLE_headingFont: DEFAULT_HEADING_FONT,\n accent: DEFAULT_ACCENT,\n UNSTABLE_accent: DEFAULT_ACCENT,\n actionFont: DEFAULT_ACTION_FONT,\n UNSTABLE_actionFont: DEFAULT_ACTION_FONT,\n});\n\nexport const BreakpointContext =\n createContext<Breakpoints>(DEFAULT_BREAKPOINTS);\n\n/**\n * We're relying `DEFAULT_THEME_NAME` to determine whether the provider is a root.\n */\nconst getThemeNames = (\n themeName: ThemeName,\n themeNext?: boolean,\n): ThemeName => {\n if (themeNext) {\n return themeName === DEFAULT_THEME_NAME\n ? clsx(DEFAULT_THEME_NAME, DEFAULT_THEME_NAME_NEXT)\n : clsx(DEFAULT_THEME_NAME, DEFAULT_THEME_NAME_NEXT, themeName);\n }\n return themeName === DEFAULT_THEME_NAME\n ? themeName\n : clsx(DEFAULT_THEME_NAME, themeName);\n};\n\ninterface ThemeNextProps {\n themeNext?: boolean;\n}\n\nconst createThemedChildren = ({\n children,\n themeName,\n density,\n mode,\n applyClassesTo,\n themeNext,\n corner,\n headingFont,\n accent,\n actionFont,\n}: {\n children: ReactNode;\n themeName: ThemeName;\n density: Density;\n mode: Mode;\n applyClassesTo?: TargetElement;\n} & ThemeNextProps &\n SaltProviderNextAdditionalProps) => {\n const themeNamesString = getThemeNames(themeName, themeNext);\n const themeNextProps = {\n \"data-corner\": corner,\n \"data-heading-font\": headingFont,\n \"data-accent\": accent,\n \"data-action-font\": actionFont,\n };\n if (applyClassesTo === \"root\") {\n return children;\n }\n if (applyClassesTo === \"child\") {\n if (isValidElement<HTMLAttributes<HTMLElement>>(children)) {\n return cloneElement(children, {\n className: clsx(\n children.props?.className,\n themeNamesString,\n `salt-density-${density}`,\n ),\n // @ts-ignore\n \"data-mode\": mode,\n ...(themeNext ? themeNextProps : {}),\n });\n }\n console.warn(\n `\\nSaltProvider can only apply CSS classes for theming to a single nested child element of the SaltProvider.\n Either wrap elements with a single container or consider removing the applyClassesToChild prop, in which case a\n div element will wrap your child elements`,\n );\n return children;\n }\n return (\n <div\n className={clsx(\n \"salt-provider\",\n themeNamesString,\n `salt-density-${density}`,\n )}\n data-mode={mode}\n {...(themeNext ? themeNextProps : {})}\n >\n {children}\n </div>\n );\n};\n\ntype TargetElement = \"root\" | \"scope\" | \"child\";\n\ninterface SaltProviderBaseProps {\n /**\n * Either \"root\", \"scope\" or \"child\".\n * Specifies the location of salt theme class and attributes should be applied to.\n *\n * Defaults to \"root\" for a root provider, otherwise \"scope\".\n */\n applyClassesTo?: TargetElement;\n /**\n * Either \"high\", \"medium\", \"low\" or \"touch\".\n * Determines the amount of content that can fit on a screen based on the size and spacing of components.\n * Refer to [density](https://www.saltdesignsystem.com/salt/foundations/density) doc for more detail.\n *\n * @default \"medium\"\n */\n density?: Density;\n /**\n * A string. Specifies custom theme name(s) you want to apply, similar to `className`.\n */\n theme?: ThemeName;\n /**\n * Either \"light\" or \"dark\". Enable the color palette to change from light to dark.\n * Refer to [modes](https://www.saltdesignsystem.com/salt/foundations/modes) doc for more detail.\n *\n * @default \"light\"\n */\n mode?: Mode;\n /**\n * Shape of `{ xs: number; sm: number; md: number; lg: number; xl: number; }`.\n * Determines breakpoints used in responsive calculation for layout components.\n */\n breakpoints?: Breakpoints;\n /**\n * A boolean. Enables dynamic style injection for each component.\n *\n * If `false`, you'll need to include component CSS yourself.\n *\n * @default true\n */\n enableStyleInjection?: boolean;\n}\n\ninterface SaltProviderThatAppliesClassesToChild extends SaltProviderBaseProps {\n children: ReactElement;\n applyClassesTo: \"child\";\n}\n\ninterface SaltProviderThatInjectsThemeElement extends SaltProviderBaseProps {\n children: ReactNode;\n}\n\ninterface SaltProviderThatClassesToRoot\n extends SaltProviderThatInjectsThemeElement {\n applyClassesTo: \"root\";\n}\n\ntype SaltProviderProps =\n | SaltProviderThatAppliesClassesToChild\n | SaltProviderThatInjectsThemeElement\n | SaltProviderThatClassesToRoot;\n\nfunction InternalSaltProvider({\n applyClassesTo: applyClassesToProp,\n children,\n density: densityProp,\n theme: themeProp,\n mode: modeProp,\n breakpoints: breakpointsProp,\n themeNext,\n corner: cornerProp,\n headingFont: headingFontProp,\n accent: accentProp,\n actionFont: actionFontProp,\n}: Omit<\n SaltProviderProps & ThemeNextProps & SaltProviderNextProps,\n \"enableStyleInjection\"\n>) {\n const inheritedDensity = useContext(DensityContext);\n const {\n theme: inheritedTheme,\n mode: inheritedMode,\n window: inheritedWindow,\n corner: inheritedCorner,\n headingFont: inheritedHeadingFont,\n accent: inheritedAccent,\n actionFont: inheritedActionFont,\n } = useContext(ThemeContext);\n\n const isRootProvider = inheritedTheme === undefined || inheritedTheme === \"\";\n const density = densityProp ?? inheritedDensity ?? DEFAULT_DENSITY;\n const themeName =\n themeProp ?? (inheritedTheme === \"\" ? DEFAULT_THEME_NAME : inheritedTheme);\n const mode = modeProp ?? inheritedMode;\n const breakpoints = breakpointsProp ?? DEFAULT_BREAKPOINTS;\n const corner = cornerProp ?? inheritedCorner ?? DEFAULT_CORNER;\n const headingFont =\n headingFontProp ?? inheritedHeadingFont ?? DEFAULT_HEADING_FONT;\n const accent = accentProp ?? inheritedAccent ?? DEFAULT_ACCENT;\n const actionFont =\n actionFontProp ?? inheritedActionFont ?? DEFAULT_ACTION_FONT;\n\n const applyClassesTo =\n applyClassesToProp ?? (isRootProvider ? \"root\" : \"scope\");\n\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-provider\",\n css: saltProviderCss,\n window: targetWindow,\n });\n\n const themeContextValue = useMemo(\n () => ({\n theme: themeName,\n mode,\n window: targetWindow,\n themeNext: Boolean(themeNext),\n corner: corner,\n headingFont: headingFont,\n accent: accent,\n actionFont: actionFont,\n // Backward compatibility\n UNSTABLE_corner: corner,\n UNSTABLE_headingFont: headingFont,\n UNSTABLE_accent: accent,\n UNSTABLE_actionFont: actionFont,\n }),\n [\n themeName,\n mode,\n targetWindow,\n themeNext,\n corner,\n headingFont,\n accent,\n actionFont,\n ],\n );\n\n const themedChildren = createThemedChildren({\n children,\n themeName,\n density,\n mode,\n applyClassesTo,\n themeNext,\n corner: corner,\n headingFont,\n accent,\n actionFont,\n });\n\n useIsomorphicLayoutEffect(() => {\n const themeNamesString = getThemeNames(themeName, themeNext);\n const themeNames = themeNamesString.split(\" \");\n\n if (applyClassesTo === \"root\" && targetWindow) {\n if (inheritedWindow !== targetWindow) {\n // add the styles we want to apply\n targetWindow.document.documentElement.classList.add(\n ...themeNames,\n `salt-density-${density}`,\n );\n targetWindow.document.documentElement.dataset.mode = mode;\n if (themeNext) {\n targetWindow.document.documentElement.dataset.corner = corner;\n targetWindow.document.documentElement.dataset.headingFont =\n headingFont;\n targetWindow.document.documentElement.dataset.accent = accent;\n targetWindow.document.documentElement.dataset.actionFont = actionFont;\n }\n } else {\n console.warn(\n \"SaltProvider can only apply CSS classes to the root if it is the root level SaltProvider.\",\n );\n }\n }\n return () => {\n if (applyClassesTo === \"root\" && targetWindow) {\n // When unmounting/remounting, remove the applied styles from the root\n targetWindow.document.documentElement.classList.remove(\n ...themeNames,\n `salt-density-${density}`,\n );\n targetWindow.document.documentElement.dataset.mode = undefined;\n if (themeNext) {\n delete targetWindow.document.documentElement.dataset.corner;\n delete targetWindow.document.documentElement.dataset.headingFont;\n delete targetWindow.document.documentElement.dataset.accent;\n delete targetWindow.document.documentElement.dataset.actionFont;\n }\n }\n };\n }, [\n applyClassesTo,\n density,\n mode,\n themeName,\n targetWindow,\n inheritedWindow,\n themeNext,\n corner,\n headingFont,\n accent,\n actionFont,\n ]);\n\n const matchedBreakpoints = useMatchedBreakpoints(breakpoints);\n\n const saltProvider = (\n <DensityContext.Provider value={density}>\n <ThemeContext.Provider value={themeContextValue}>\n <BreakpointProvider matchedBreakpoints={matchedBreakpoints}>\n <BreakpointContext.Provider value={breakpoints}>\n <ViewportProvider>{themedChildren}</ViewportProvider>\n </BreakpointContext.Provider>\n </BreakpointProvider>\n </ThemeContext.Provider>\n </DensityContext.Provider>\n );\n\n if (isRootProvider) {\n return <AriaAnnouncerProvider>{saltProvider}</AriaAnnouncerProvider>;\n }\n return saltProvider;\n}\n\nexport function SaltProvider({\n enableStyleInjection,\n ...restProps\n}: SaltProviderProps) {\n return (\n <StyleInjectionProvider value={enableStyleInjection}>\n <InternalSaltProvider {...restProps} />\n </StyleInjectionProvider>\n );\n}\n\ninterface SaltProviderNextAdditionalProps {\n /**\n * Either \"sharp\" or \"rounded\".\n * Determines selected components corner radius.\n * @default \"sharp\"\n */\n corner?: Corner;\n /**\n * Either \"Open Sans\" or \"Amplitude\".\n * Determines font family of display and heading text.\n * @default \"Open Sans\"\n */\n headingFont?: HeadingFont;\n /**\n * Either \"blue\" or \"teal\".\n * Determines accent color used across components, e.g. Accent Button, List, Calendar.\n * @default \"blue\"\n */\n accent?: Accent;\n /**\n * Either \"Open Sans\" or \"Amplitude\".\n * Determines font family of action components, mostly Buttons.\n * @default \"Open Sans\"\n */\n actionFont?: ActionFont;\n}\n\nexport type SaltProviderNextProps = SaltProviderProps &\n SaltProviderNextAdditionalProps;\n/** @deprecated use `SaltProviderNextProps` */\nexport type UNSTABLE_SaltProviderNextProps = SaltProviderNextProps;\n\nexport function SaltProviderNext({\n enableStyleInjection,\n ...restProps\n}: SaltProviderNextProps) {\n return (\n <StyleInjectionProvider value={enableStyleInjection}>\n {/* Leveraging InternalSaltProvider being not exported, so we can pass more props than previously supported */}\n <InternalSaltProvider {...restProps} themeNext={true} />\n </StyleInjectionProvider>\n );\n}\n/** @deprecated use `SaltProviderNext` */\nexport const UNSTABLE_SaltProviderNext = SaltProviderNext;\n\nexport const useTheme = (): ThemeContextProps => {\n const { window, ...contextWithoutWindow } = useContext(ThemeContext);\n\n return contextWithoutWindow;\n};\n\n/**\n * `useDensity` merges density value from `DensityContext` with the one from component's props.\n */\nexport function useDensity(density?: Density): Density {\n const densityFromContext = useContext(DensityContext);\n return density ?? densityFromContext ?? DEFAULT_DENSITY;\n}\n\nexport const useBreakpoints = (): Breakpoints => {\n return useContext(BreakpointContext);\n};\n"],"names":["saltProviderCss"],"mappings":"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"}
1
+ {"version":3,"file":"SaltProvider.js","sources":["../src/salt-provider/SaltProvider.tsx"],"sourcesContent":["import {\n StyleInjectionProvider,\n useComponentCssInjection,\n} from \"@salt-ds/styles\";\nimport { type WindowContextType, useWindow } from \"@salt-ds/window\";\nimport { clsx } from \"clsx\";\nimport {\n type HTMLAttributes,\n type ReactElement,\n type ReactNode,\n cloneElement,\n createContext,\n isValidElement,\n useContext,\n useMemo,\n} from \"react\";\nimport { AriaAnnouncerProvider } from \"../aria-announcer\";\nimport {\n BreakpointProvider,\n type Breakpoints,\n DEFAULT_BREAKPOINTS,\n useMatchedBreakpoints,\n} from \"../breakpoints\";\nimport type {\n Accent,\n ActionFont,\n Corner,\n Density,\n HeadingFont,\n Mode,\n ThemeName,\n} from \"../theme\";\nimport { useIsomorphicLayoutEffect } from \"../utils/useIsomorphicLayoutEffect\";\nimport { ViewportProvider } from \"../viewport\";\nimport saltProviderCss from \"./SaltProvider.css\";\n\nexport const DEFAULT_DENSITY = \"medium\";\n\nconst DEFAULT_THEME_NAME = \"salt-theme\";\nconst DEFAULT_THEME_NAME_NEXT = \"salt-theme-next\";\n\nconst DEFAULT_MODE = \"light\";\nconst DEFAULT_CORNER: Corner = \"sharp\";\nconst DEFAULT_HEADING_FONT: HeadingFont = \"Open Sans\";\nconst DEFAULT_ACCENT: Accent = \"blue\";\nconst DEFAULT_ACTION_FONT: ActionFont = \"Open Sans\";\nexport interface ThemeContextProps {\n theme: ThemeName;\n mode: Mode;\n window?: WindowContextType;\n /** Only available when using SaltProviderNext. */\n themeNext: boolean;\n corner: Corner;\n /** @deprecated use `corner`*/\n UNSTABLE_corner: Corner;\n headingFont: HeadingFont;\n /** @deprecated use `headingFont` */\n UNSTABLE_headingFont: HeadingFont;\n accent: Accent;\n /** @deprecated use `accent` */\n UNSTABLE_accent: Accent;\n actionFont: ActionFont;\n /** @deprecated use `actionFont` */\n UNSTABLE_actionFont: ActionFont;\n}\n\nexport const DensityContext = createContext<Density>(DEFAULT_DENSITY);\n\nexport const ThemeContext = createContext<ThemeContextProps>({\n theme: \"\",\n mode: DEFAULT_MODE,\n themeNext: false,\n corner: DEFAULT_CORNER,\n UNSTABLE_corner: DEFAULT_CORNER,\n headingFont: DEFAULT_HEADING_FONT,\n UNSTABLE_headingFont: DEFAULT_HEADING_FONT,\n accent: DEFAULT_ACCENT,\n UNSTABLE_accent: DEFAULT_ACCENT,\n actionFont: DEFAULT_ACTION_FONT,\n UNSTABLE_actionFont: DEFAULT_ACTION_FONT,\n});\n\nexport const BreakpointContext =\n createContext<Breakpoints>(DEFAULT_BREAKPOINTS);\n\n/**\n * We're relying `DEFAULT_THEME_NAME` to determine whether the provider is a root.\n */\nconst getThemeNames = (\n themeName: ThemeName,\n themeNext?: boolean,\n): ThemeName => {\n if (themeNext) {\n return themeName === DEFAULT_THEME_NAME\n ? clsx(DEFAULT_THEME_NAME, DEFAULT_THEME_NAME_NEXT)\n : clsx(DEFAULT_THEME_NAME, DEFAULT_THEME_NAME_NEXT, themeName);\n }\n return themeName === DEFAULT_THEME_NAME\n ? themeName\n : clsx(DEFAULT_THEME_NAME, themeName);\n};\n\ninterface ThemeNextProps {\n themeNext?: boolean;\n}\n\nconst createThemedChildren = ({\n children,\n themeName,\n density,\n mode,\n applyClassesTo,\n themeNext,\n corner,\n headingFont,\n accent,\n actionFont,\n}: {\n children: ReactNode;\n themeName: ThemeName;\n density: Density;\n mode: Mode;\n applyClassesTo?: TargetElement;\n} & ThemeNextProps &\n SaltProviderNextAdditionalProps) => {\n const themeNamesString = getThemeNames(themeName, themeNext);\n const themeNextProps = {\n \"data-corner\": corner,\n \"data-heading-font\": headingFont,\n \"data-accent\": accent,\n \"data-action-font\": actionFont,\n };\n if (applyClassesTo === \"root\") {\n return children;\n }\n if (applyClassesTo === \"child\") {\n if (isValidElement<HTMLAttributes<HTMLElement>>(children)) {\n return cloneElement(children, {\n className: clsx(\n children.props?.className,\n themeNamesString,\n `salt-density-${density}`,\n ),\n // @ts-ignore\n \"data-mode\": mode,\n ...(themeNext ? themeNextProps : {}),\n });\n }\n console.warn(\n `\\nSaltProvider can only apply CSS classes for theming to a single nested child element of the SaltProvider.\n Either wrap elements with a single container or consider removing the applyClassesToChild prop, in which case a\n div element will wrap your child elements`,\n );\n return children;\n }\n return (\n <div\n className={clsx(\n \"salt-provider\",\n themeNamesString,\n `salt-density-${density}`,\n )}\n data-mode={mode}\n {...(themeNext ? themeNextProps : {})}\n >\n {children}\n </div>\n );\n};\n\ntype TargetElement = \"root\" | \"scope\" | \"child\";\n\ninterface SaltProviderBaseProps {\n /**\n * Either \"root\", \"scope\" or \"child\".\n * Specifies the location of salt theme class and attributes should be applied to.\n *\n * Defaults to \"root\" for a root provider, otherwise \"scope\".\n */\n applyClassesTo?: TargetElement;\n /**\n * Either \"high\", \"medium\", \"low\" or \"touch\".\n * Determines the amount of content that can fit on a screen based on the size and spacing of components.\n * Refer to [density](https://www.saltdesignsystem.com/salt/foundations/density) doc for more detail.\n *\n * @default \"medium\"\n */\n density?: Density;\n /**\n * A string. Specifies custom theme name(s) you want to apply, similar to `className`.\n */\n theme?: ThemeName;\n /**\n * Either \"light\" or \"dark\". Enable the color palette to change from light to dark.\n * Refer to [modes](https://www.saltdesignsystem.com/salt/foundations/modes) doc for more detail.\n *\n * @default \"light\"\n */\n mode?: Mode;\n /**\n * Shape of `{ xs: number; sm: number; md: number; lg: number; xl: number; }`.\n * Determines breakpoints used in responsive calculation for layout components.\n */\n breakpoints?: Breakpoints;\n /**\n * A boolean. Enables dynamic style injection for each component.\n *\n * If `false`, you'll need to include component CSS yourself.\n *\n * @default true\n */\n enableStyleInjection?: boolean;\n}\n\ninterface SaltProviderThatAppliesClassesToChild extends SaltProviderBaseProps {\n children: ReactElement;\n applyClassesTo: \"child\";\n}\n\ninterface SaltProviderThatInjectsThemeElement extends SaltProviderBaseProps {\n children: ReactNode;\n}\n\ninterface SaltProviderThatClassesToRoot\n extends SaltProviderThatInjectsThemeElement {\n applyClassesTo: \"root\";\n}\n\ntype SaltProviderProps =\n | SaltProviderThatAppliesClassesToChild\n | SaltProviderThatInjectsThemeElement\n | SaltProviderThatClassesToRoot;\n\nfunction InternalSaltProvider({\n applyClassesTo: applyClassesToProp,\n children,\n density: densityProp,\n theme: themeProp,\n mode: modeProp,\n breakpoints: breakpointsProp,\n themeNext,\n corner: cornerProp,\n headingFont: headingFontProp,\n accent: accentProp,\n actionFont: actionFontProp,\n}: Omit<\n SaltProviderProps & ThemeNextProps & SaltProviderNextProps,\n \"enableStyleInjection\"\n>) {\n const inheritedDensity = useContext(DensityContext);\n const {\n theme: inheritedTheme,\n mode: inheritedMode,\n window: inheritedWindow,\n corner: inheritedCorner,\n headingFont: inheritedHeadingFont,\n accent: inheritedAccent,\n actionFont: inheritedActionFont,\n } = useContext(ThemeContext);\n\n const isRootProvider = inheritedTheme === undefined || inheritedTheme === \"\";\n const density = densityProp ?? inheritedDensity ?? DEFAULT_DENSITY;\n const themeName =\n themeProp ?? (inheritedTheme === \"\" ? DEFAULT_THEME_NAME : inheritedTheme);\n const mode = modeProp ?? inheritedMode;\n const breakpoints = breakpointsProp ?? DEFAULT_BREAKPOINTS;\n const corner = cornerProp ?? inheritedCorner ?? DEFAULT_CORNER;\n const headingFont =\n headingFontProp ?? inheritedHeadingFont ?? DEFAULT_HEADING_FONT;\n const accent = accentProp ?? inheritedAccent ?? DEFAULT_ACCENT;\n const actionFont =\n actionFontProp ?? inheritedActionFont ?? DEFAULT_ACTION_FONT;\n\n const applyClassesTo =\n applyClassesToProp ?? (isRootProvider ? \"root\" : \"scope\");\n\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-provider\",\n css: saltProviderCss,\n window: targetWindow,\n });\n\n const themeContextValue = useMemo(\n () => ({\n theme: themeName,\n mode,\n window: targetWindow,\n themeNext: Boolean(themeNext),\n corner: corner,\n headingFont: headingFont,\n accent: accent,\n actionFont: actionFont,\n // Backward compatibility\n UNSTABLE_corner: corner,\n UNSTABLE_headingFont: headingFont,\n UNSTABLE_accent: accent,\n UNSTABLE_actionFont: actionFont,\n }),\n [\n themeName,\n mode,\n targetWindow,\n themeNext,\n corner,\n headingFont,\n accent,\n actionFont,\n ],\n );\n\n const themedChildren = createThemedChildren({\n children,\n themeName,\n density,\n mode,\n applyClassesTo,\n themeNext,\n corner: corner,\n headingFont,\n accent,\n actionFont,\n });\n\n useIsomorphicLayoutEffect(() => {\n const themeNamesString = getThemeNames(themeName, themeNext);\n const themeNames = themeNamesString.split(\" \");\n\n if (applyClassesTo === \"root\" && targetWindow) {\n if (inheritedWindow !== targetWindow) {\n // add the styles we want to apply\n targetWindow.document.documentElement.classList.add(\n ...themeNames,\n `salt-density-${density}`,\n );\n targetWindow.document.documentElement.dataset.mode = mode;\n if (themeNext) {\n targetWindow.document.documentElement.dataset.corner = corner;\n targetWindow.document.documentElement.dataset.headingFont =\n headingFont;\n targetWindow.document.documentElement.dataset.accent = accent;\n targetWindow.document.documentElement.dataset.actionFont = actionFont;\n }\n } else {\n console.warn(\n \"SaltProvider can only apply CSS classes to the root if it is the root level SaltProvider.\",\n );\n }\n }\n return () => {\n if (applyClassesTo === \"root\" && targetWindow) {\n // When unmounting/remounting, remove the applied styles from the root\n targetWindow.document.documentElement.classList.remove(\n ...themeNames,\n `salt-density-${density}`,\n );\n targetWindow.document.documentElement.dataset.mode = undefined;\n if (themeNext) {\n delete targetWindow.document.documentElement.dataset.corner;\n delete targetWindow.document.documentElement.dataset.headingFont;\n delete targetWindow.document.documentElement.dataset.accent;\n delete targetWindow.document.documentElement.dataset.actionFont;\n }\n }\n };\n }, [\n applyClassesTo,\n density,\n mode,\n themeName,\n targetWindow,\n inheritedWindow,\n themeNext,\n corner,\n headingFont,\n accent,\n actionFont,\n ]);\n\n const matchedBreakpoints = useMatchedBreakpoints(breakpoints);\n\n const saltProvider = (\n <DensityContext.Provider value={density}>\n <ThemeContext.Provider value={themeContextValue}>\n <BreakpointProvider matchedBreakpoints={matchedBreakpoints}>\n <BreakpointContext.Provider value={breakpoints}>\n <ViewportProvider>{themedChildren}</ViewportProvider>\n </BreakpointContext.Provider>\n </BreakpointProvider>\n </ThemeContext.Provider>\n </DensityContext.Provider>\n );\n\n if (isRootProvider) {\n return <AriaAnnouncerProvider>{saltProvider}</AriaAnnouncerProvider>;\n }\n return saltProvider;\n}\n\nexport function SaltProvider({\n enableStyleInjection,\n ...restProps\n}: SaltProviderProps) {\n return (\n <StyleInjectionProvider value={enableStyleInjection}>\n <InternalSaltProvider {...restProps} />\n </StyleInjectionProvider>\n );\n}\n\ninterface SaltProviderNextAdditionalProps {\n /**\n * Either \"sharp\" or \"rounded\".\n * Determines selected components corner radius.\n * @default \"sharp\"\n */\n corner?: Corner;\n /**\n * Either \"Open Sans\" or \"Amplitude\".\n * Determines font family of display and heading text.\n * @default \"Open Sans\"\n */\n headingFont?: HeadingFont;\n /**\n * Either \"blue\" or \"teal\".\n * Determines accent color used across components, e.g. Accent Button, List, Calendar.\n * @default \"blue\"\n */\n accent?: Accent;\n /**\n * Either \"Open Sans\" or \"Amplitude\".\n * Determines font family of action components, mostly Buttons.\n * @default \"Open Sans\"\n */\n actionFont?: ActionFont;\n}\n\nexport type SaltProviderNextProps = SaltProviderProps &\n SaltProviderNextAdditionalProps;\n/** @deprecated use `SaltProviderNextProps` */\nexport type UNSTABLE_SaltProviderNextProps = SaltProviderNextProps;\n\nexport function SaltProviderNext({\n enableStyleInjection,\n ...restProps\n}: SaltProviderNextProps) {\n return (\n <StyleInjectionProvider value={enableStyleInjection}>\n {/* Leveraging InternalSaltProvider being not exported, so we can pass more props than previously supported */}\n <InternalSaltProvider {...restProps} themeNext={true} />\n </StyleInjectionProvider>\n );\n}\n/** @deprecated use `SaltProviderNext` */\nexport const UNSTABLE_SaltProviderNext = SaltProviderNext;\n\nexport const useTheme = (): ThemeContextProps => {\n const { window, ...contextWithoutWindow } = useContext(ThemeContext);\n\n return contextWithoutWindow;\n};\n\n/**\n * `useDensity` merges density value from `DensityContext` with the one from component's props.\n */\nexport function useDensity(density?: Density): Density {\n const densityFromContext = useContext(DensityContext);\n return density ?? densityFromContext ?? DEFAULT_DENSITY;\n}\n\nexport const useBreakpoints = (): Breakpoints => {\n return useContext(BreakpointContext);\n};\n"],"names":["saltProviderCss"],"mappings":"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"}
@@ -6,104 +6,8 @@ import '../utils/useFloatingUI/useFloatingUI.js';
6
6
  import '../utils/useId.js';
7
7
  import '../salt-provider/SaltProvider.js';
8
8
  import '../viewport/ViewportProvider.js';
9
- import '../accordion/AccordionGroup.js';
10
- import '../accordion/AccordionPanel.js';
11
- import '../accordion/Accordion.js';
12
- import '../accordion/AccordionHeader.js';
13
- import '../aria-announcer/AriaAnnouncerContext.js';
14
- import '../avatar/Avatar.js';
15
- import '../badge/Badge.js';
16
- import '../banner/Banner.js';
17
- import '../banner/BannerActions.js';
18
- import '../banner/BannerContent.js';
19
- import '../border-item/BorderItem.js';
20
- import '../border-layout/BorderLayout.js';
21
- import '../breakpoints/BreakpointProvider.js';
22
- import '../button/Button.js';
23
- import '../card/Card.js';
24
- import '../checkbox/Checkbox.js';
25
- import '../checkbox/CheckboxGroup.js';
26
- import '@salt-ds/icons';
27
9
  import { useComponentCssInjection } from '@salt-ds/styles';
28
10
  import { useWindow } from '@salt-ds/window';
29
- import '../combo-box/ComboBox.js';
30
- import '../dialog/Dialog.js';
31
- import '../dialog/DialogHeader.js';
32
- import '../dialog/DialogActions.js';
33
- import '../dialog/DialogContent.js';
34
- import '../dialog/DialogContext.js';
35
- import '../dialog/DialogCloseButton.js';
36
- import '../divider/Divider.js';
37
- import '../drawer/Drawer.js';
38
- import '../drawer/DrawerCloseButton.js';
39
- import '../dropdown/Dropdown.js';
40
- import '../file-drop-zone/FileDropZone.js';
41
- import '../file-drop-zone/FileDropZoneIcon.js';
42
- import '../file-drop-zone/FileDropZoneTrigger.js';
43
- import '../flex-item/FlexItem.js';
44
- import '../flex-layout/FlexLayout.js';
45
- import '../flow-layout/FlowLayout.js';
46
- import '../form-field/FormField.js';
47
- import '../form-field-context/FormFieldContext.js';
48
- import '../status-indicator/StatusIndicator.js';
49
- import '../text/Text.js';
50
- import '../text/Code.js';
51
- import '../text/Display.js';
52
- import '../text/Headings.js';
53
- import '../text/Label.js';
54
- import '../text/TextAction.js';
55
- import '../text/TextNotation.js';
56
- import '../grid-item/GridItem.js';
57
- import '../grid-layout/GridLayout.js';
58
- import '../input/Input.js';
59
- import '../interactable-card/InteractableCard.js';
60
- import '../interactable-card/InteractableCardGroup.js';
61
- import '../interactable-card/InteractableCardGroupContext.js';
62
- import '../link/Link.js';
63
- import '../link-card/LinkCard.js';
64
- import '../list-box/ListBox.js';
65
- import '../list-control/ListControlContext.js';
66
- import '@floating-ui/react';
67
- import '../menu/MenuContext.js';
68
- import '../menu/MenuItem.js';
69
- import '../menu/MenuPanel.js';
70
- import '../menu/MenuPanelContext.js';
71
- import '../menu/MenuTriggerContext.js';
72
- import '../menu/MenuGroup.js';
73
- import '../multiline-input/MultilineInput.js';
74
- import '../navigation-item/NavigationItem.js';
75
- import '../option/Option.js';
76
- import '../option/OptionGroup.js';
77
- import '../overlay/OverlayContext.js';
78
- import '../overlay/OverlayPanel.js';
79
- import '../overlay/OverlayPanelCloseButton.js';
80
- import '../overlay/OverlayPanelContent.js';
81
- import '../pagination/Pagination.js';
82
- import '../pagination/Paginator.js';
83
- import '../pagination/CompactInput.js';
84
- import '../pagination/CompactPaginator.js';
85
- import '../pagination/GoToInput.js';
86
- import '../panel/Panel.js';
87
- import '../parent-child-layout/ParentChildLayout.js';
88
- import '../pill/Pill.js';
89
- import '../progress/CircularProgress/CircularProgress.js';
90
- import '../progress/LinearProgress/LinearProgress.js';
91
- import '../radio-button/RadioButton.js';
92
- import '../radio-button/RadioButtonGroup.js';
93
- import '../segmented-button-group/SegmentedButtonGroup.js';
94
- import '../spinner/Spinner.js';
95
- import '../stack-layout/StackLayout.js';
96
- import '../status-adornment/StatusAdornment.js';
97
- import '../toast/Toast.js';
98
- import '../toast/ToastContent.js';
99
- import '../split-layout/SplitLayout.js';
100
- import '../switch/Switch.js';
101
- import '../tag/Tag.js';
102
- import '../toggle-button/ToggleButton.js';
103
- import '../toggle-button-group/ToggleButtonGroup.js';
104
- import '../toggle-button-group/ToggleButtonGroupContext.js';
105
- import '../tooltip/Tooltip.js';
106
- import '../semantic-icon-provider/SemanticIconProvider.js';
107
11
  import css_248z from './Scrim.css.js';
108
12
 
109
13
  const withBaseName = makePrefixer("saltScrim");
@@ -117,19 +21,22 @@ const Scrim = forwardRef(function Scrim2({ className, children, fixed = false, o
117
21
  if (!open) {
118
22
  return null;
119
23
  }
120
- return /* @__PURE__ */ jsx("div", {
121
- className: clsx(
122
- withBaseName(),
123
- {
124
- [withBaseName("fixed")]: fixed
125
- },
126
- className
127
- ),
128
- "data-testid": "scrim",
129
- ref,
130
- ...rest,
131
- children
132
- });
24
+ return /* @__PURE__ */ jsx(
25
+ "div",
26
+ {
27
+ className: clsx(
28
+ withBaseName(),
29
+ {
30
+ [withBaseName("fixed")]: fixed
31
+ },
32
+ className
33
+ ),
34
+ "data-testid": "scrim",
35
+ ref,
36
+ ...rest,
37
+ children
38
+ }
39
+ );
133
40
  });
134
41
 
135
42
  export { Scrim };
@@ -1 +1 @@
1
- {"version":3,"file":"Scrim.js","sources":["../src/scrim/Scrim.tsx"],"sourcesContent":["import { clsx } from \"clsx\";\nimport { type ComponentPropsWithoutRef, forwardRef } from \"react\";\nimport { makePrefixer } from \"../utils\";\n\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useWindow } from \"@salt-ds/window\";\n\nimport scrimCss from \"./Scrim.css\";\n\nconst withBaseName = makePrefixer(\"saltScrim\");\n\nexport interface ScrimProps extends ComponentPropsWithoutRef<\"div\"> {\n /**\n * If `true` the scrim is bound to the document viewport.\n * The default value of this prop is false, and the default behavior is for Scrim to be bound to its parent container (nearest positioned ancestor).\n */\n fixed?: boolean;\n /**\n * If `true` the scrim is shown.\n */\n open?: boolean;\n}\n\nexport const Scrim = forwardRef<HTMLDivElement, ScrimProps>(function Scrim(\n { className, children, fixed = false, open = true, ...rest },\n ref,\n) {\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-scrim\",\n css: scrimCss,\n window: targetWindow,\n });\n\n if (!open) {\n return null;\n }\n\n return (\n <div\n className={clsx(\n withBaseName(),\n {\n [withBaseName(\"fixed\")]: fixed,\n },\n className,\n )}\n data-testid=\"scrim\"\n ref={ref}\n {...rest}\n >\n {children}\n </div>\n );\n});\n"],"names":["Scrim","scrimCss"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AASA,MAAM,YAAA,GAAe,aAAa,WAAW,CAAA,CAAA;AActC,MAAM,KAAQ,GAAA,UAAA,CAAuC,SAASA,MAAAA,CACnE,EAAE,SAAA,EAAW,QAAU,EAAA,KAAA,GAAQ,KAAO,EAAA,IAAA,GAAO,IAAS,EAAA,GAAA,IAAA,IACtD,GACA,EAAA;AACA,EAAA,MAAM,eAAe,SAAU,EAAA,CAAA;AAC/B,EAAyB,wBAAA,CAAA;AAAA,IACvB,MAAQ,EAAA,YAAA;AAAA,IACR,GAAK,EAAAC,QAAA;AAAA,IACL,MAAQ,EAAA,YAAA;AAAA,GACT,CAAA,CAAA;AAED,EAAA,IAAI,CAAC,IAAM,EAAA;AACT,IAAO,OAAA,IAAA,CAAA;AAAA,GACT;AAEA,EAAA,uBACG,GAAA,CAAA,KAAA,EAAA;AAAA,IACC,SAAW,EAAA,IAAA;AAAA,MACT,YAAa,EAAA;AAAA,MACb;AAAA,QACE,CAAC,YAAa,CAAA,OAAO,CAAI,GAAA,KAAA;AAAA,OAC3B;AAAA,MACA,SAAA;AAAA,KACF;AAAA,IACA,aAAY,EAAA,OAAA;AAAA,IACZ,GAAA;AAAA,IACC,GAAG,IAAA;AAAA,IAEH,QAAA;AAAA,GACH,CAAA,CAAA;AAEJ,CAAC;;;;"}
1
+ {"version":3,"file":"Scrim.js","sources":["../src/scrim/Scrim.tsx"],"sourcesContent":["import { clsx } from \"clsx\";\nimport { type ComponentPropsWithoutRef, forwardRef } from \"react\";\nimport { makePrefixer } from \"../utils\";\n\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useWindow } from \"@salt-ds/window\";\n\nimport scrimCss from \"./Scrim.css\";\n\nconst withBaseName = makePrefixer(\"saltScrim\");\n\nexport interface ScrimProps extends ComponentPropsWithoutRef<\"div\"> {\n /**\n * If `true` the scrim is bound to the document viewport.\n * The default value of this prop is false, and the default behavior is for Scrim to be bound to its parent container (nearest positioned ancestor).\n */\n fixed?: boolean;\n /**\n * If `true` the scrim is shown.\n */\n open?: boolean;\n}\n\nexport const Scrim = forwardRef<HTMLDivElement, ScrimProps>(function Scrim(\n { className, children, fixed = false, open = true, ...rest },\n ref,\n) {\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-scrim\",\n css: scrimCss,\n window: targetWindow,\n });\n\n if (!open) {\n return null;\n }\n\n return (\n <div\n className={clsx(\n withBaseName(),\n {\n [withBaseName(\"fixed\")]: fixed,\n },\n className,\n )}\n data-testid=\"scrim\"\n ref={ref}\n {...rest}\n >\n {children}\n </div>\n );\n});\n"],"names":["Scrim","scrimCss"],"mappings":";;;;;;;;;;;;AASA,MAAM,YAAA,GAAe,aAAa,WAAW,CAAA;AActC,MAAM,KAAQ,GAAA,UAAA,CAAuC,SAASA,MAAAA,CACnE,EAAE,SAAW,EAAA,QAAA,EAAU,KAAQ,GAAA,KAAA,EAAO,IAAO,GAAA,IAAA,EAAM,GAAG,IAAA,IACtD,GACA,EAAA;AACA,EAAA,MAAM,eAAe,SAAU,EAAA;AAC/B,EAAyB,wBAAA,CAAA;AAAA,IACvB,MAAQ,EAAA,YAAA;AAAA,IACR,GAAK,EAAAC,QAAA;AAAA,IACL,MAAQ,EAAA;AAAA,GACT,CAAA;AAED,EAAA,IAAI,CAAC,IAAM,EAAA;AACT,IAAO,OAAA,IAAA;AAAA;AAGT,EACE,uBAAA,GAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,SAAW,EAAA,IAAA;AAAA,QACT,YAAa,EAAA;AAAA,QACb;AAAA,UACE,CAAC,YAAA,CAAa,OAAO,CAAC,GAAG;AAAA,SAC3B;AAAA,QACA;AAAA,OACF;AAAA,MACA,aAAY,EAAA,OAAA;AAAA,MACZ,GAAA;AAAA,MACC,GAAG,IAAA;AAAA,MAEH;AAAA;AAAA,GACH;AAEJ,CAAC;;;;"}
@@ -8,102 +8,6 @@ import '../utils/useFloatingUI/useFloatingUI.js';
8
8
  import '../utils/useId.js';
9
9
  import '../salt-provider/SaltProvider.js';
10
10
  import '../viewport/ViewportProvider.js';
11
- import '../accordion/AccordionGroup.js';
12
- import '../accordion/AccordionPanel.js';
13
- import '../accordion/Accordion.js';
14
- import '../accordion/AccordionHeader.js';
15
- import '../aria-announcer/AriaAnnouncerContext.js';
16
- import '../avatar/Avatar.js';
17
- import '../badge/Badge.js';
18
- import '../banner/Banner.js';
19
- import '../banner/BannerActions.js';
20
- import '../banner/BannerContent.js';
21
- import '../border-item/BorderItem.js';
22
- import '../border-layout/BorderLayout.js';
23
- import '../breakpoints/BreakpointProvider.js';
24
- import '../button/Button.js';
25
- import '../card/Card.js';
26
- import '../checkbox/Checkbox.js';
27
- import '../checkbox/CheckboxGroup.js';
28
- import '@salt-ds/icons';
29
- import '../combo-box/ComboBox.js';
30
- import '../dialog/Dialog.js';
31
- import '../dialog/DialogHeader.js';
32
- import '../dialog/DialogActions.js';
33
- import '../dialog/DialogContent.js';
34
- import '../dialog/DialogContext.js';
35
- import '../dialog/DialogCloseButton.js';
36
- import '../divider/Divider.js';
37
- import '../drawer/Drawer.js';
38
- import '../drawer/DrawerCloseButton.js';
39
- import '../dropdown/Dropdown.js';
40
- import '../file-drop-zone/FileDropZone.js';
41
- import '../file-drop-zone/FileDropZoneIcon.js';
42
- import '../file-drop-zone/FileDropZoneTrigger.js';
43
- import '../flex-item/FlexItem.js';
44
- import '../flex-layout/FlexLayout.js';
45
- import '../flow-layout/FlowLayout.js';
46
- import '../form-field/FormField.js';
47
- import '../form-field-context/FormFieldContext.js';
48
- import '../status-indicator/StatusIndicator.js';
49
- import '../text/Text.js';
50
- import '../text/Code.js';
51
- import '../text/Display.js';
52
- import '../text/Headings.js';
53
- import '../text/Label.js';
54
- import '../text/TextAction.js';
55
- import '../text/TextNotation.js';
56
- import '../grid-item/GridItem.js';
57
- import '../grid-layout/GridLayout.js';
58
- import '../input/Input.js';
59
- import '../interactable-card/InteractableCard.js';
60
- import '../interactable-card/InteractableCardGroup.js';
61
- import '../interactable-card/InteractableCardGroupContext.js';
62
- import '../link/Link.js';
63
- import '../link-card/LinkCard.js';
64
- import '../list-box/ListBox.js';
65
- import '../list-control/ListControlContext.js';
66
- import '@floating-ui/react';
67
- import '../menu/MenuContext.js';
68
- import '../menu/MenuItem.js';
69
- import '../menu/MenuPanel.js';
70
- import '../menu/MenuPanelContext.js';
71
- import '../menu/MenuTriggerContext.js';
72
- import '../menu/MenuGroup.js';
73
- import '../multiline-input/MultilineInput.js';
74
- import '../navigation-item/NavigationItem.js';
75
- import '../option/Option.js';
76
- import '../option/OptionGroup.js';
77
- import '../overlay/OverlayContext.js';
78
- import '../overlay/OverlayPanel.js';
79
- import '../overlay/OverlayPanelCloseButton.js';
80
- import '../overlay/OverlayPanelContent.js';
81
- import '../pagination/Pagination.js';
82
- import '../pagination/Paginator.js';
83
- import '../pagination/CompactInput.js';
84
- import '../pagination/CompactPaginator.js';
85
- import '../pagination/GoToInput.js';
86
- import '../panel/Panel.js';
87
- import '../parent-child-layout/ParentChildLayout.js';
88
- import '../pill/Pill.js';
89
- import '../progress/CircularProgress/CircularProgress.js';
90
- import '../progress/LinearProgress/LinearProgress.js';
91
- import '../radio-button/RadioButton.js';
92
- import '../radio-button/RadioButtonGroup.js';
93
- import '../scrim/Scrim.js';
94
- import '../spinner/Spinner.js';
95
- import '../stack-layout/StackLayout.js';
96
- import '../status-adornment/StatusAdornment.js';
97
- import '../toast/Toast.js';
98
- import '../toast/ToastContent.js';
99
- import '../split-layout/SplitLayout.js';
100
- import '../switch/Switch.js';
101
- import '../tag/Tag.js';
102
- import '../toggle-button/ToggleButton.js';
103
- import '../toggle-button-group/ToggleButtonGroup.js';
104
- import '../toggle-button-group/ToggleButtonGroupContext.js';
105
- import '../tooltip/Tooltip.js';
106
- import '../semantic-icon-provider/SemanticIconProvider.js';
107
11
  import css_248z from './SegmentedButtonGroup.css.js';
108
12
 
109
13
  const withBaseName = makePrefixer("saltSegmentedButtonGroup");
@@ -114,12 +18,7 @@ const SegmentedButtonGroup = forwardRef(function SegmentedButtonGroup2({ classNa
114
18
  css: css_248z,
115
19
  window: targetWindow
116
20
  });
117
- return /* @__PURE__ */ jsx("div", {
118
- className: clsx(withBaseName(), className),
119
- ref,
120
- ...rest,
121
- children
122
- });
21
+ return /* @__PURE__ */ jsx("div", { className: clsx(withBaseName(), className), ref, ...rest, children });
123
22
  });
124
23
 
125
24
  export { SegmentedButtonGroup };
@@ -1 +1 @@
1
- {"version":3,"file":"SegmentedButtonGroup.js","sources":["../src/segmented-button-group/SegmentedButtonGroup.tsx"],"sourcesContent":["import { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { clsx } from \"clsx\";\nimport { type ComponentPropsWithoutRef, forwardRef } from \"react\";\nimport { makePrefixer } from \"../utils\";\n\nimport segmentedButtonGroupCss from \"./SegmentedButtonGroup.css\";\n\nexport interface SegmentedButtonGroupProps\n extends ComponentPropsWithoutRef<\"div\"> {}\n\nconst withBaseName = makePrefixer(\"saltSegmentedButtonGroup\");\n\nexport const SegmentedButtonGroup = forwardRef<\n HTMLDivElement,\n SegmentedButtonGroupProps\n>(function SegmentedButtonGroup({ className, children, ...rest }, ref) {\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-segmented-button-group\",\n css: segmentedButtonGroupCss,\n window: targetWindow,\n });\n\n return (\n <div className={clsx(withBaseName(), className)} ref={ref} {...rest}>\n {children}\n </div>\n );\n});\n"],"names":["SegmentedButtonGroup","segmentedButtonGroupCss"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAWA,MAAM,YAAA,GAAe,aAAa,0BAA0B,CAAA,CAAA;AAE/C,MAAA,oBAAA,GAAuB,WAGlC,SAASA,qBAAAA,CAAqB,EAAE,SAAW,EAAA,QAAA,EAAA,GAAa,IAAK,EAAA,EAAG,GAAK,EAAA;AACrE,EAAA,MAAM,eAAe,SAAU,EAAA,CAAA;AAC/B,EAAyB,wBAAA,CAAA;AAAA,IACvB,MAAQ,EAAA,6BAAA;AAAA,IACR,GAAK,EAAAC,QAAA;AAAA,IACL,MAAQ,EAAA,YAAA;AAAA,GACT,CAAA,CAAA;AAED,EAAA,uBACG,GAAA,CAAA,KAAA,EAAA;AAAA,IAAI,SAAW,EAAA,IAAA,CAAK,YAAa,EAAA,EAAG,SAAS,CAAA;AAAA,IAAG,GAAA;AAAA,IAAW,GAAG,IAAA;AAAA,IAC5D,QAAA;AAAA,GACH,CAAA,CAAA;AAEJ,CAAC;;;;"}
1
+ {"version":3,"file":"SegmentedButtonGroup.js","sources":["../src/segmented-button-group/SegmentedButtonGroup.tsx"],"sourcesContent":["import { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { clsx } from \"clsx\";\nimport { type ComponentPropsWithoutRef, forwardRef } from \"react\";\nimport { makePrefixer } from \"../utils\";\n\nimport segmentedButtonGroupCss from \"./SegmentedButtonGroup.css\";\n\nexport interface SegmentedButtonGroupProps\n extends ComponentPropsWithoutRef<\"div\"> {}\n\nconst withBaseName = makePrefixer(\"saltSegmentedButtonGroup\");\n\nexport const SegmentedButtonGroup = forwardRef<\n HTMLDivElement,\n SegmentedButtonGroupProps\n>(function SegmentedButtonGroup({ className, children, ...rest }, ref) {\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-segmented-button-group\",\n css: segmentedButtonGroupCss,\n window: targetWindow,\n });\n\n return (\n <div className={clsx(withBaseName(), className)} ref={ref} {...rest}>\n {children}\n </div>\n );\n});\n"],"names":["SegmentedButtonGroup","segmentedButtonGroupCss"],"mappings":";;;;;;;;;;;;AAWA,MAAM,YAAA,GAAe,aAAa,0BAA0B,CAAA;AAE/C,MAAA,oBAAA,GAAuB,UAGlC,CAAA,SAASA,qBAAqB,CAAA,EAAE,WAAW,QAAU,EAAA,GAAG,IAAK,EAAA,EAAG,GAAK,EAAA;AACrE,EAAA,MAAM,eAAe,SAAU,EAAA;AAC/B,EAAyB,wBAAA,CAAA;AAAA,IACvB,MAAQ,EAAA,6BAAA;AAAA,IACR,GAAK,EAAAC,QAAA;AAAA,IACL,MAAQ,EAAA;AAAA,GACT,CAAA;AAED,EACE,uBAAA,GAAA,CAAC,KAAI,EAAA,EAAA,SAAA,EAAW,IAAK,CAAA,YAAA,EAAgB,EAAA,SAAS,CAAG,EAAA,GAAA,EAAW,GAAG,IAAA,EAC5D,QACH,EAAA,CAAA;AAEJ,CAAC;;;;"}
@@ -29,10 +29,7 @@ const SemanticIconContext = createContext(defaultIconMap);
29
29
  const SemanticIconProvider = ({
30
30
  iconMap = {},
31
31
  children
32
- }) => /* @__PURE__ */ jsx(SemanticIconContext.Provider, {
33
- value: { ...defaultIconMap, ...iconMap },
34
- children
35
- });
32
+ }) => /* @__PURE__ */ jsx(SemanticIconContext.Provider, { value: { ...defaultIconMap, ...iconMap }, children });
36
33
  const useIcon = () => {
37
34
  const context = useContext(SemanticIconContext);
38
35
  return context || defaultIconMap;
@@ -1 +1 @@
1
- {"version":3,"file":"SemanticIconProvider.js","sources":["../src/semantic-icon-provider/SemanticIconProvider.tsx"],"sourcesContent":["import {\n CalendarIcon,\n ChevronDownIcon,\n ChevronLeftIcon,\n ChevronRightIcon,\n ChevronUpIcon,\n CloseIcon,\n ErrorSolidIcon,\n InfoSolidIcon,\n OverflowMenuIcon,\n StepActiveIcon,\n StepDefaultIcon,\n StepSuccessIcon,\n SuccessTickIcon,\n TearOutIcon,\n TriangleDownIcon,\n TriangleUpIcon,\n UploadIcon,\n UserSolidIcon,\n WarningSolidIcon,\n} from \"@salt-ds/icons\";\nimport {\n type ElementType,\n type ReactNode,\n createContext,\n useContext,\n} from \"react\";\n\nexport type SemanticIconMap = {\n ExpandIcon: ElementType;\n CollapseIcon: ElementType;\n ExpandGroupIcon: ElementType;\n CollapseGroupIcon: ElementType;\n NextIcon: ElementType;\n PreviousIcon: ElementType;\n IncreaseIcon: ElementType;\n DecreaseIcon: ElementType;\n UploadIcon: ElementType;\n ErrorIcon: ElementType;\n SuccessIcon: ElementType;\n InfoIcon: ElementType;\n WarningIcon: ElementType;\n OverflowIcon: ElementType;\n UserIcon: ElementType;\n CalendarIcon: ElementType;\n CloseIcon: ElementType;\n ExternalIcon: ElementType;\n PendingIcon: ElementType;\n ActiveIcon: ElementType;\n CompletedIcon: ElementType;\n};\n\nexport interface SemanticIconProviderProps {\n /**\n * Custom mapping of icon names to components. Overrides default icons if provided.\n */\n iconMap?: Partial<SemanticIconMap>;\n\n /**\n * Child elements that will use the provided icons.\n */\n children: ReactNode;\n}\n\nconst defaultIconMap: SemanticIconMap = {\n ExpandIcon: ChevronDownIcon,\n CollapseIcon: ChevronUpIcon,\n ExpandGroupIcon: ChevronRightIcon,\n CollapseGroupIcon: ChevronDownIcon,\n NextIcon: ChevronRightIcon,\n PreviousIcon: ChevronLeftIcon,\n IncreaseIcon: TriangleUpIcon,\n DecreaseIcon: TriangleDownIcon,\n UploadIcon,\n ErrorIcon: ErrorSolidIcon,\n SuccessIcon: SuccessTickIcon,\n InfoIcon: InfoSolidIcon,\n WarningIcon: WarningSolidIcon,\n OverflowIcon: OverflowMenuIcon,\n UserIcon: UserSolidIcon,\n CalendarIcon: CalendarIcon,\n CloseIcon: CloseIcon,\n ExternalIcon: TearOutIcon,\n PendingIcon: StepDefaultIcon,\n ActiveIcon: StepActiveIcon,\n CompletedIcon: StepSuccessIcon,\n};\n\nconst SemanticIconContext = createContext<SemanticIconMap>(defaultIconMap);\n\nexport const SemanticIconProvider = ({\n iconMap = {},\n children,\n}: SemanticIconProviderProps) => (\n <SemanticIconContext.Provider value={{ ...defaultIconMap, ...iconMap }}>\n {children}\n </SemanticIconContext.Provider>\n);\n\nexport const useIcon = () => {\n const context = useContext(SemanticIconContext);\n return context || defaultIconMap;\n};\n"],"names":[],"mappings":";;;;AAgEA,MAAM,cAAkC,GAAA;AAAA,EACtC,UAAY,EAAA,eAAA;AAAA,EACZ,YAAc,EAAA,aAAA;AAAA,EACd,eAAiB,EAAA,gBAAA;AAAA,EACjB,iBAAmB,EAAA,eAAA;AAAA,EACnB,QAAU,EAAA,gBAAA;AAAA,EACV,YAAc,EAAA,eAAA;AAAA,EACd,YAAc,EAAA,cAAA;AAAA,EACd,YAAc,EAAA,gBAAA;AAAA,EACd,UAAA;AAAA,EACA,SAAW,EAAA,cAAA;AAAA,EACX,WAAa,EAAA,eAAA;AAAA,EACb,QAAU,EAAA,aAAA;AAAA,EACV,WAAa,EAAA,gBAAA;AAAA,EACb,YAAc,EAAA,gBAAA;AAAA,EACd,QAAU,EAAA,aAAA;AAAA,EACV,YAAA;AAAA,EACA,SAAA;AAAA,EACA,YAAc,EAAA,WAAA;AAAA,EACd,WAAa,EAAA,eAAA;AAAA,EACb,UAAY,EAAA,cAAA;AAAA,EACZ,aAAe,EAAA,eAAA;AACjB,CAAA,CAAA;AAEA,MAAM,mBAAA,GAAsB,cAA+B,cAAc,CAAA,CAAA;AAElE,MAAM,uBAAuB,CAAC;AAAA,EACnC,UAAU,EAAC;AAAA,EACX,QAAA;AACF,CACE,qBAAA,GAAA,CAAC,oBAAoB,QAApB,EAAA;AAAA,EAA6B,KAAO,EAAA,EAAE,GAAG,cAAA,EAAgB,GAAG,OAAQ,EAAA;AAAA,EAClE,QAAA;AAAA,CACH,EAAA;AAGK,MAAM,UAAU,MAAM;AAC3B,EAAM,MAAA,OAAA,GAAU,WAAW,mBAAmB,CAAA,CAAA;AAC9C,EAAA,OAAO,OAAW,IAAA,cAAA,CAAA;AACpB;;;;"}
1
+ {"version":3,"file":"SemanticIconProvider.js","sources":["../src/semantic-icon-provider/SemanticIconProvider.tsx"],"sourcesContent":["import {\n CalendarIcon,\n ChevronDownIcon,\n ChevronLeftIcon,\n ChevronRightIcon,\n ChevronUpIcon,\n CloseIcon,\n ErrorSolidIcon,\n InfoSolidIcon,\n OverflowMenuIcon,\n StepActiveIcon,\n StepDefaultIcon,\n StepSuccessIcon,\n SuccessTickIcon,\n TearOutIcon,\n TriangleDownIcon,\n TriangleUpIcon,\n UploadIcon,\n UserSolidIcon,\n WarningSolidIcon,\n} from \"@salt-ds/icons\";\nimport {\n type ElementType,\n type ReactNode,\n createContext,\n useContext,\n} from \"react\";\n\nexport type SemanticIconMap = {\n ExpandIcon: ElementType;\n CollapseIcon: ElementType;\n ExpandGroupIcon: ElementType;\n CollapseGroupIcon: ElementType;\n NextIcon: ElementType;\n PreviousIcon: ElementType;\n IncreaseIcon: ElementType;\n DecreaseIcon: ElementType;\n UploadIcon: ElementType;\n ErrorIcon: ElementType;\n SuccessIcon: ElementType;\n InfoIcon: ElementType;\n WarningIcon: ElementType;\n OverflowIcon: ElementType;\n UserIcon: ElementType;\n CalendarIcon: ElementType;\n CloseIcon: ElementType;\n ExternalIcon: ElementType;\n PendingIcon: ElementType;\n ActiveIcon: ElementType;\n CompletedIcon: ElementType;\n};\n\nexport interface SemanticIconProviderProps {\n /**\n * Custom mapping of icon names to components. Overrides default icons if provided.\n */\n iconMap?: Partial<SemanticIconMap>;\n\n /**\n * Child elements that will use the provided icons.\n */\n children: ReactNode;\n}\n\nconst defaultIconMap: SemanticIconMap = {\n ExpandIcon: ChevronDownIcon,\n CollapseIcon: ChevronUpIcon,\n ExpandGroupIcon: ChevronRightIcon,\n CollapseGroupIcon: ChevronDownIcon,\n NextIcon: ChevronRightIcon,\n PreviousIcon: ChevronLeftIcon,\n IncreaseIcon: TriangleUpIcon,\n DecreaseIcon: TriangleDownIcon,\n UploadIcon,\n ErrorIcon: ErrorSolidIcon,\n SuccessIcon: SuccessTickIcon,\n InfoIcon: InfoSolidIcon,\n WarningIcon: WarningSolidIcon,\n OverflowIcon: OverflowMenuIcon,\n UserIcon: UserSolidIcon,\n CalendarIcon: CalendarIcon,\n CloseIcon: CloseIcon,\n ExternalIcon: TearOutIcon,\n PendingIcon: StepDefaultIcon,\n ActiveIcon: StepActiveIcon,\n CompletedIcon: StepSuccessIcon,\n};\n\nconst SemanticIconContext = createContext<SemanticIconMap>(defaultIconMap);\n\nexport const SemanticIconProvider = ({\n iconMap = {},\n children,\n}: SemanticIconProviderProps) => (\n <SemanticIconContext.Provider value={{ ...defaultIconMap, ...iconMap }}>\n {children}\n </SemanticIconContext.Provider>\n);\n\nexport const useIcon = () => {\n const context = useContext(SemanticIconContext);\n return context || defaultIconMap;\n};\n"],"names":[],"mappings":";;;;AAgEA,MAAM,cAAkC,GAAA;AAAA,EACtC,UAAY,EAAA,eAAA;AAAA,EACZ,YAAc,EAAA,aAAA;AAAA,EACd,eAAiB,EAAA,gBAAA;AAAA,EACjB,iBAAmB,EAAA,eAAA;AAAA,EACnB,QAAU,EAAA,gBAAA;AAAA,EACV,YAAc,EAAA,eAAA;AAAA,EACd,YAAc,EAAA,cAAA;AAAA,EACd,YAAc,EAAA,gBAAA;AAAA,EACd,UAAA;AAAA,EACA,SAAW,EAAA,cAAA;AAAA,EACX,WAAa,EAAA,eAAA;AAAA,EACb,QAAU,EAAA,aAAA;AAAA,EACV,WAAa,EAAA,gBAAA;AAAA,EACb,YAAc,EAAA,gBAAA;AAAA,EACd,QAAU,EAAA,aAAA;AAAA,EACV,YAAA;AAAA,EACA,SAAA;AAAA,EACA,YAAc,EAAA,WAAA;AAAA,EACd,WAAa,EAAA,eAAA;AAAA,EACb,UAAY,EAAA,cAAA;AAAA,EACZ,aAAe,EAAA;AACjB,CAAA;AAEA,MAAM,mBAAA,GAAsB,cAA+B,cAAc,CAAA;AAElE,MAAM,uBAAuB,CAAC;AAAA,EACnC,UAAU,EAAC;AAAA,EACX;AACF,CACE,qBAAA,GAAA,CAAC,mBAAoB,CAAA,QAAA,EAApB,EAA6B,KAAA,EAAO,EAAE,GAAG,cAAgB,EAAA,GAAG,OAAQ,EAAA,EAClE,QACH,EAAA;AAGK,MAAM,UAAU,MAAM;AAC3B,EAAM,MAAA,OAAA,GAAU,WAAW,mBAAmB,CAAA;AAC9C,EAAA,OAAO,OAAW,IAAA,cAAA;AACpB;;;;"}
@@ -8,104 +8,9 @@ import '../utils/useFloatingUI/useFloatingUI.js';
8
8
  import { useId } from '../utils/useId.js';
9
9
  import { useDensity } from '../salt-provider/SaltProvider.js';
10
10
  import '../viewport/ViewportProvider.js';
11
- import '../accordion/AccordionGroup.js';
12
- import '../accordion/AccordionPanel.js';
13
- import '../accordion/Accordion.js';
14
- import '../accordion/AccordionHeader.js';
15
- import '../avatar/Avatar.js';
16
- import '../badge/Badge.js';
17
- import '../banner/Banner.js';
18
- import '../banner/BannerActions.js';
19
- import '../banner/BannerContent.js';
20
- import '../border-item/BorderItem.js';
21
- import '../border-layout/BorderLayout.js';
22
- import '../breakpoints/BreakpointProvider.js';
23
- import '../button/Button.js';
24
- import '../card/Card.js';
25
- import '../checkbox/Checkbox.js';
26
- import '../checkbox/CheckboxGroup.js';
27
- import '@salt-ds/icons';
11
+ import { SpinnerSVG } from './svgSpinners/SpinnerSVG.js';
28
12
  import { useComponentCssInjection } from '@salt-ds/styles';
29
13
  import { useWindow } from '@salt-ds/window';
30
- import '../combo-box/ComboBox.js';
31
- import '../dialog/Dialog.js';
32
- import '../dialog/DialogHeader.js';
33
- import '../dialog/DialogActions.js';
34
- import '../dialog/DialogContent.js';
35
- import '../dialog/DialogContext.js';
36
- import '../dialog/DialogCloseButton.js';
37
- import '../divider/Divider.js';
38
- import '../drawer/Drawer.js';
39
- import '../drawer/DrawerCloseButton.js';
40
- import '../dropdown/Dropdown.js';
41
- import '../file-drop-zone/FileDropZone.js';
42
- import '../file-drop-zone/FileDropZoneIcon.js';
43
- import '../file-drop-zone/FileDropZoneTrigger.js';
44
- import '../flex-item/FlexItem.js';
45
- import '../flex-layout/FlexLayout.js';
46
- import '../flow-layout/FlowLayout.js';
47
- import '../form-field/FormField.js';
48
- import '../form-field-context/FormFieldContext.js';
49
- import '../status-indicator/StatusIndicator.js';
50
- import '../text/Text.js';
51
- import '../text/Code.js';
52
- import '../text/Display.js';
53
- import '../text/Headings.js';
54
- import '../text/Label.js';
55
- import '../text/TextAction.js';
56
- import '../text/TextNotation.js';
57
- import '../grid-item/GridItem.js';
58
- import '../grid-layout/GridLayout.js';
59
- import '../input/Input.js';
60
- import '../interactable-card/InteractableCard.js';
61
- import '../interactable-card/InteractableCardGroup.js';
62
- import '../interactable-card/InteractableCardGroupContext.js';
63
- import '../link/Link.js';
64
- import '../link-card/LinkCard.js';
65
- import '../list-box/ListBox.js';
66
- import '../list-control/ListControlContext.js';
67
- import '@floating-ui/react';
68
- import '../menu/MenuContext.js';
69
- import '../menu/MenuItem.js';
70
- import '../menu/MenuPanel.js';
71
- import '../menu/MenuPanelContext.js';
72
- import '../menu/MenuTriggerContext.js';
73
- import '../menu/MenuGroup.js';
74
- import '../multiline-input/MultilineInput.js';
75
- import '../navigation-item/NavigationItem.js';
76
- import '../option/Option.js';
77
- import '../option/OptionGroup.js';
78
- import '../overlay/OverlayContext.js';
79
- import '../overlay/OverlayPanel.js';
80
- import '../overlay/OverlayPanelCloseButton.js';
81
- import '../overlay/OverlayPanelContent.js';
82
- import '../pagination/Pagination.js';
83
- import '../pagination/Paginator.js';
84
- import '../pagination/CompactInput.js';
85
- import '../pagination/CompactPaginator.js';
86
- import '../pagination/GoToInput.js';
87
- import '../panel/Panel.js';
88
- import '../parent-child-layout/ParentChildLayout.js';
89
- import '../pill/Pill.js';
90
- import '../progress/CircularProgress/CircularProgress.js';
91
- import '../progress/LinearProgress/LinearProgress.js';
92
- import '../radio-button/RadioButton.js';
93
- import '../radio-button/RadioButtonGroup.js';
94
- import '../scrim/Scrim.js';
95
- import '../segmented-button-group/SegmentedButtonGroup.js';
96
- import '../stack-layout/StackLayout.js';
97
- import '../status-adornment/StatusAdornment.js';
98
- import '../toast/Toast.js';
99
- import '../toast/ToastContent.js';
100
- import '../split-layout/SplitLayout.js';
101
- import '../switch/Switch.js';
102
- import '../tag/Tag.js';
103
- import '../toggle-button/ToggleButton.js';
104
- import '../toggle-button-group/ToggleButtonGroup.js';
105
- import '../toggle-button-group/ToggleButtonGroupContext.js';
106
- import '../tooltip/Tooltip.js';
107
- import '../semantic-icon-provider/SemanticIconProvider.js';
108
- import { SpinnerSVG } from './svgSpinners/SpinnerSVG.js';
109
14
  import css_248z from './Spinner.css.js';
110
15
 
111
16
  const SpinnerSizeValues = [
@@ -140,12 +45,11 @@ const Spinner = forwardRef(
140
45
  const density = useDensity();
141
46
  size = handleSize(size);
142
47
  useEffect(() => {
143
- if (disableAnnouncer)
144
- return;
48
+ if (disableAnnouncer) return;
145
49
  announce(ariaLabel);
146
- const startTime = new Date().getTime();
50
+ const startTime = (/* @__PURE__ */ new Date()).getTime();
147
51
  const interval = announcerInterval > 0 && setInterval(() => {
148
- if (new Date().getTime() - startTime > announcerTimeout) {
52
+ if ((/* @__PURE__ */ new Date()).getTime() - startTime > announcerTimeout) {
149
53
  announce(
150
54
  `${ariaLabel} is still in progress, but will no longer announce.`
151
55
  );
@@ -155,8 +59,7 @@ const Spinner = forwardRef(
155
59
  announce(ariaLabel);
156
60
  }, announcerInterval);
157
61
  return () => {
158
- if (disableAnnouncer)
159
- return;
62
+ if (disableAnnouncer) return;
160
63
  interval && clearInterval(interval);
161
64
  if (completionAnnouncement) {
162
65
  announce(completionAnnouncement);
@@ -170,18 +73,17 @@ const Spinner = forwardRef(
170
73
  completionAnnouncement,
171
74
  disableAnnouncer
172
75
  ]);
173
- return /* @__PURE__ */ jsx("div", {
174
- "aria-label": ariaLabel,
175
- className: clsx(withBaseName(), withBaseName(size), className),
176
- ref,
177
- role,
178
- ...rest,
179
- children: /* @__PURE__ */ jsx(SpinnerSVG, {
180
- size,
181
- density,
182
- id
183
- })
184
- });
76
+ return /* @__PURE__ */ jsx(
77
+ "div",
78
+ {
79
+ "aria-label": ariaLabel,
80
+ className: clsx(withBaseName(), withBaseName(size), className),
81
+ ref,
82
+ role,
83
+ ...rest,
84
+ children: /* @__PURE__ */ jsx(SpinnerSVG, { size, density, id })
85
+ }
86
+ );
185
87
  }
186
88
  );
187
89
 
@@ -1 +1 @@
1
- {"version":3,"file":"Spinner.js","sources":["../src/spinner/Spinner.tsx"],"sourcesContent":["import { clsx } from \"clsx\";\nimport { type HTMLAttributes, forwardRef, useEffect } from \"react\";\nimport { useAriaAnnouncer } from \"../aria-announcer\";\nimport { makePrefixer, useId } from \"../utils\";\nimport { SpinnerSVG } from \"./svgSpinners/SpinnerSVG\";\n\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { useDensity } from \"../salt-provider\";\nimport spinnerCss from \"./Spinner.css\";\n\n/**\n * Spinner component, provides an indeterminate loading indicator\n *\n * @example\n * <Spinner size=\"small\" | \"medium\" | \"large\" />\n */\n\nexport const SpinnerSizeValues = [\n \"default\",\n \"large\",\n \"small\",\n \"medium\",\n] as const;\n\ntype SpinnerSize = (typeof SpinnerSizeValues)[number];\n\nexport type SpinnerSVGSize = Exclude<SpinnerSize, \"default\">;\n\nconst handleSize = (size: SpinnerSize): SpinnerSVGSize =>\n size === \"default\" ? \"medium\" : size;\n\nconst withBaseName = makePrefixer(\"saltSpinner\");\n\nexport interface SpinnerProps extends HTMLAttributes<HTMLDivElement> {\n /**\n * Determines the interval on which the component will continue to announce the aria-label. Defaults to 5000ms (5s)\n */\n announcerInterval?: number;\n /**\n * * Determines the interval after which the component will stop announcing the aria-label. Defaults to 20000ms (20s)\n */\n announcerTimeout?: number;\n /**\n * The className(s) of the component\n */\n className?: string;\n /**\n * Determines the message to be announced by the component when it unmounts. Set to null if not needed.\n */\n completionAnnouncement?: string | null;\n /**\n * If true, built in aria announcer will be inactive\n */\n disableAnnouncer?: boolean;\n /**\n * The prop for the role attribute of the component\n */\n role?: string;\n /**\n * Determines the size of the spinner. Must be one of: 'default', 'large', 'small', 'medium'.\n */\n size?: SpinnerSize;\n /**\n * The ids of the SvgSpinner components\n */\n id?: string;\n}\n\nexport const Spinner = forwardRef<HTMLDivElement, SpinnerProps>(\n function Spinner(\n {\n \"aria-label\": ariaLabel = \"loading\",\n announcerInterval = 5000,\n announcerTimeout = 20000,\n completionAnnouncement = `finished ${ariaLabel}`,\n disableAnnouncer,\n role = \"img\",\n className,\n size = \"medium\",\n id: idProp,\n ...rest\n },\n ref,\n ) {\n const id = useId(idProp);\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-spinner\",\n css: spinnerCss,\n window: targetWindow,\n });\n\n const { announce } = useAriaAnnouncer();\n\n const density = useDensity();\n size = handleSize(size);\n\n useEffect(() => {\n if (disableAnnouncer) return;\n\n announce(ariaLabel);\n\n const startTime = new Date().getTime();\n\n const interval =\n announcerInterval > 0 &&\n setInterval(() => {\n if (new Date().getTime() - startTime > announcerTimeout) {\n // The announcer will stop after `announcerTimeout` time\n announce(\n `${ariaLabel} is still in progress, but will no longer announce.`,\n );\n interval && clearInterval(interval);\n return;\n }\n announce(ariaLabel);\n }, announcerInterval);\n\n return () => {\n if (disableAnnouncer) return;\n\n interval && clearInterval(interval);\n if (completionAnnouncement) {\n announce(completionAnnouncement);\n }\n };\n }, [\n announce,\n announcerInterval,\n announcerTimeout,\n ariaLabel,\n completionAnnouncement,\n disableAnnouncer,\n ]);\n\n return (\n <div\n aria-label={ariaLabel}\n className={clsx(withBaseName(), withBaseName(size), className)}\n ref={ref}\n role={role}\n {...rest}\n >\n <SpinnerSVG size={size} density={density} id={id} />\n </div>\n );\n },\n);\n"],"names":["Spinner","spinnerCss"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkBO,MAAM,iBAAoB,GAAA;AAAA,EAC/B,SAAA;AAAA,EACA,OAAA;AAAA,EACA,OAAA;AAAA,EACA,QAAA;AACF,EAAA;AAMA,MAAM,UAAa,GAAA,CAAC,IAClB,KAAA,IAAA,KAAS,YAAY,QAAW,GAAA,IAAA,CAAA;AAElC,MAAM,YAAA,GAAe,aAAa,aAAa,CAAA,CAAA;AAqCxC,MAAM,OAAU,GAAA,UAAA;AAAA,EACrB,SAASA,QACP,CAAA;AAAA,IACE,cAAc,SAAY,GAAA,SAAA;AAAA,IAC1B,iBAAoB,GAAA,GAAA;AAAA,IACpB,gBAAmB,GAAA,GAAA;AAAA,IACnB,yBAAyB,CAAY,SAAA,EAAA,SAAA,CAAA,CAAA;AAAA,IACrC,gBAAA;AAAA,IACA,IAAO,GAAA,KAAA;AAAA,IACP,SAAA;AAAA,IACA,IAAO,GAAA,QAAA;AAAA,IACP,EAAI,EAAA,MAAA;AAAA,IACD,GAAA,IAAA;AAAA,KAEL,GACA,EAAA;AACA,IAAM,MAAA,EAAA,GAAK,MAAM,MAAM,CAAA,CAAA;AACvB,IAAA,MAAM,eAAe,SAAU,EAAA,CAAA;AAC/B,IAAyB,wBAAA,CAAA;AAAA,MACvB,MAAQ,EAAA,cAAA;AAAA,MACR,GAAK,EAAAC,QAAA;AAAA,MACL,MAAQ,EAAA,YAAA;AAAA,KACT,CAAA,CAAA;AAED,IAAM,MAAA,EAAE,QAAS,EAAA,GAAI,gBAAiB,EAAA,CAAA;AAEtC,IAAA,MAAM,UAAU,UAAW,EAAA,CAAA;AAC3B,IAAA,IAAA,GAAO,WAAW,IAAI,CAAA,CAAA;AAEtB,IAAA,SAAA,CAAU,MAAM;AACd,MAAI,IAAA,gBAAA;AAAkB,QAAA,OAAA;AAEtB,MAAA,QAAA,CAAS,SAAS,CAAA,CAAA;AAElB,MAAA,MAAM,SAAY,GAAA,IAAI,IAAK,EAAA,CAAE,OAAQ,EAAA,CAAA;AAErC,MAAA,MAAM,QACJ,GAAA,iBAAA,GAAoB,CACpB,IAAA,WAAA,CAAY,MAAM;AAChB,QAAA,IAAI,IAAI,IAAK,EAAA,CAAE,OAAQ,EAAA,GAAI,YAAY,gBAAkB,EAAA;AAEvD,UAAA,QAAA;AAAA,YACE,CAAG,EAAA,SAAA,CAAA,mDAAA,CAAA;AAAA,WACL,CAAA;AACA,UAAA,QAAA,IAAY,cAAc,QAAQ,CAAA,CAAA;AAClC,UAAA,OAAA;AAAA,SACF;AACA,QAAA,QAAA,CAAS,SAAS,CAAA,CAAA;AAAA,SACjB,iBAAiB,CAAA,CAAA;AAEtB,MAAA,OAAO,MAAM;AACX,QAAI,IAAA,gBAAA;AAAkB,UAAA,OAAA;AAEtB,QAAA,QAAA,IAAY,cAAc,QAAQ,CAAA,CAAA;AAClC,QAAA,IAAI,sBAAwB,EAAA;AAC1B,UAAA,QAAA,CAAS,sBAAsB,CAAA,CAAA;AAAA,SACjC;AAAA,OACF,CAAA;AAAA,KACC,EAAA;AAAA,MACD,QAAA;AAAA,MACA,iBAAA;AAAA,MACA,gBAAA;AAAA,MACA,SAAA;AAAA,MACA,sBAAA;AAAA,MACA,gBAAA;AAAA,KACD,CAAA,CAAA;AAED,IAAA,uBACG,GAAA,CAAA,KAAA,EAAA;AAAA,MACC,YAAY,EAAA,SAAA;AAAA,MACZ,WAAW,IAAK,CAAA,YAAA,IAAgB,YAAa,CAAA,IAAI,GAAG,SAAS,CAAA;AAAA,MAC7D,GAAA;AAAA,MACA,IAAA;AAAA,MACC,GAAG,IAAA;AAAA,MAEJ,QAAC,kBAAA,GAAA,CAAA,UAAA,EAAA;AAAA,QAAW,IAAA;AAAA,QAAY,OAAA;AAAA,QAAkB,EAAA;AAAA,OAAQ,CAAA;AAAA,KACpD,CAAA,CAAA;AAAA,GAEJ;AACF;;;;"}
1
+ {"version":3,"file":"Spinner.js","sources":["../src/spinner/Spinner.tsx"],"sourcesContent":["import { clsx } from \"clsx\";\nimport { type HTMLAttributes, forwardRef, useEffect } from \"react\";\nimport { useAriaAnnouncer } from \"../aria-announcer\";\nimport { makePrefixer, useId } from \"../utils\";\nimport { SpinnerSVG } from \"./svgSpinners/SpinnerSVG\";\n\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { useDensity } from \"../salt-provider\";\nimport spinnerCss from \"./Spinner.css\";\n\n/**\n * Spinner component, provides an indeterminate loading indicator\n *\n * @example\n * <Spinner size=\"small\" | \"medium\" | \"large\" />\n */\n\nexport const SpinnerSizeValues = [\n \"default\",\n \"large\",\n \"small\",\n \"medium\",\n] as const;\n\ntype SpinnerSize = (typeof SpinnerSizeValues)[number];\n\nexport type SpinnerSVGSize = Exclude<SpinnerSize, \"default\">;\n\nconst handleSize = (size: SpinnerSize): SpinnerSVGSize =>\n size === \"default\" ? \"medium\" : size;\n\nconst withBaseName = makePrefixer(\"saltSpinner\");\n\nexport interface SpinnerProps extends HTMLAttributes<HTMLDivElement> {\n /**\n * Determines the interval on which the component will continue to announce the aria-label. Defaults to 5000ms (5s)\n */\n announcerInterval?: number;\n /**\n * * Determines the interval after which the component will stop announcing the aria-label. Defaults to 20000ms (20s)\n */\n announcerTimeout?: number;\n /**\n * The className(s) of the component\n */\n className?: string;\n /**\n * Determines the message to be announced by the component when it unmounts. Set to null if not needed.\n */\n completionAnnouncement?: string | null;\n /**\n * If true, built in aria announcer will be inactive\n */\n disableAnnouncer?: boolean;\n /**\n * The prop for the role attribute of the component\n */\n role?: string;\n /**\n * Determines the size of the spinner. Must be one of: 'default', 'large', 'small', 'medium'.\n */\n size?: SpinnerSize;\n /**\n * The ids of the SvgSpinner components\n */\n id?: string;\n}\n\nexport const Spinner = forwardRef<HTMLDivElement, SpinnerProps>(\n function Spinner(\n {\n \"aria-label\": ariaLabel = \"loading\",\n announcerInterval = 5000,\n announcerTimeout = 20000,\n completionAnnouncement = `finished ${ariaLabel}`,\n disableAnnouncer,\n role = \"img\",\n className,\n size = \"medium\",\n id: idProp,\n ...rest\n },\n ref,\n ) {\n const id = useId(idProp);\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-spinner\",\n css: spinnerCss,\n window: targetWindow,\n });\n\n const { announce } = useAriaAnnouncer();\n\n const density = useDensity();\n size = handleSize(size);\n\n useEffect(() => {\n if (disableAnnouncer) return;\n\n announce(ariaLabel);\n\n const startTime = new Date().getTime();\n\n const interval =\n announcerInterval > 0 &&\n setInterval(() => {\n if (new Date().getTime() - startTime > announcerTimeout) {\n // The announcer will stop after `announcerTimeout` time\n announce(\n `${ariaLabel} is still in progress, but will no longer announce.`,\n );\n interval && clearInterval(interval);\n return;\n }\n announce(ariaLabel);\n }, announcerInterval);\n\n return () => {\n if (disableAnnouncer) return;\n\n interval && clearInterval(interval);\n if (completionAnnouncement) {\n announce(completionAnnouncement);\n }\n };\n }, [\n announce,\n announcerInterval,\n announcerTimeout,\n ariaLabel,\n completionAnnouncement,\n disableAnnouncer,\n ]);\n\n return (\n <div\n aria-label={ariaLabel}\n className={clsx(withBaseName(), withBaseName(size), className)}\n ref={ref}\n role={role}\n {...rest}\n >\n <SpinnerSVG size={size} density={density} id={id} />\n </div>\n );\n },\n);\n"],"names":["Spinner","spinnerCss"],"mappings":";;;;;;;;;;;;;;;AAkBO,MAAM,iBAAoB,GAAA;AAAA,EAC/B,SAAA;AAAA,EACA,OAAA;AAAA,EACA,OAAA;AAAA,EACA;AACF;AAMA,MAAM,UAAa,GAAA,CAAC,IAClB,KAAA,IAAA,KAAS,YAAY,QAAW,GAAA,IAAA;AAElC,MAAM,YAAA,GAAe,aAAa,aAAa,CAAA;AAqCxC,MAAM,OAAU,GAAA,UAAA;AAAA,EACrB,SAASA,QACP,CAAA;AAAA,IACE,cAAc,SAAY,GAAA,SAAA;AAAA,IAC1B,iBAAoB,GAAA,GAAA;AAAA,IACpB,gBAAmB,GAAA,GAAA;AAAA,IACnB,sBAAA,GAAyB,YAAY,SAAS,CAAA,CAAA;AAAA,IAC9C,gBAAA;AAAA,IACA,IAAO,GAAA,KAAA;AAAA,IACP,SAAA;AAAA,IACA,IAAO,GAAA,QAAA;AAAA,IACP,EAAI,EAAA,MAAA;AAAA,IACJ,GAAG;AAAA,KAEL,GACA,EAAA;AACA,IAAM,MAAA,EAAA,GAAK,MAAM,MAAM,CAAA;AACvB,IAAA,MAAM,eAAe,SAAU,EAAA;AAC/B,IAAyB,wBAAA,CAAA;AAAA,MACvB,MAAQ,EAAA,cAAA;AAAA,MACR,GAAK,EAAAC,QAAA;AAAA,MACL,MAAQ,EAAA;AAAA,KACT,CAAA;AAED,IAAM,MAAA,EAAE,QAAS,EAAA,GAAI,gBAAiB,EAAA;AAEtC,IAAA,MAAM,UAAU,UAAW,EAAA;AAC3B,IAAA,IAAA,GAAO,WAAW,IAAI,CAAA;AAEtB,IAAA,SAAA,CAAU,MAAM;AACd,MAAA,IAAI,gBAAkB,EAAA;AAEtB,MAAA,QAAA,CAAS,SAAS,CAAA;AAElB,MAAA,MAAM,SAAY,GAAA,iBAAA,IAAI,IAAK,EAAA,EAAE,OAAQ,EAAA;AAErC,MAAA,MAAM,QACJ,GAAA,iBAAA,GAAoB,CACpB,IAAA,WAAA,CAAY,MAAM;AAChB,QAAA,IAAA,qBAAQ,IAAK,EAAA,EAAE,OAAQ,EAAA,GAAI,YAAY,gBAAkB,EAAA;AAEvD,UAAA,QAAA;AAAA,YACE,GAAG,SAAS,CAAA,mDAAA;AAAA,WACd;AACA,UAAA,QAAA,IAAY,cAAc,QAAQ,CAAA;AAClC,UAAA;AAAA;AAEF,QAAA,QAAA,CAAS,SAAS,CAAA;AAAA,SACjB,iBAAiB,CAAA;AAEtB,MAAA,OAAO,MAAM;AACX,QAAA,IAAI,gBAAkB,EAAA;AAEtB,QAAA,QAAA,IAAY,cAAc,QAAQ,CAAA;AAClC,QAAA,IAAI,sBAAwB,EAAA;AAC1B,UAAA,QAAA,CAAS,sBAAsB,CAAA;AAAA;AACjC,OACF;AAAA,KACC,EAAA;AAAA,MACD,QAAA;AAAA,MACA,iBAAA;AAAA,MACA,gBAAA;AAAA,MACA,SAAA;AAAA,MACA,sBAAA;AAAA,MACA;AAAA,KACD,CAAA;AAED,IACE,uBAAA,GAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACC,YAAY,EAAA,SAAA;AAAA,QACZ,WAAW,IAAK,CAAA,YAAA,IAAgB,YAAa,CAAA,IAAI,GAAG,SAAS,CAAA;AAAA,QAC7D,GAAA;AAAA,QACA,IAAA;AAAA,QACC,GAAG,IAAA;AAAA,QAEJ,QAAC,kBAAA,GAAA,CAAA,UAAA,EAAA,EAAW,IAAY,EAAA,OAAA,EAAkB,EAAQ,EAAA;AAAA;AAAA,KACpD;AAAA;AAGN;;;;"}