@salt-ds/core 1.19.0 → 1.21.0

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 (465) hide show
  1. package/css/salt-core.css +650 -19
  2. package/dist-cjs/accordion/Accordion.js +75 -0
  3. package/dist-cjs/accordion/Accordion.js.map +1 -1
  4. package/dist-cjs/accordion/AccordionContext.js +79 -0
  5. package/dist-cjs/accordion/AccordionContext.js.map +1 -1
  6. package/dist-cjs/accordion/AccordionGroup.js +76 -1
  7. package/dist-cjs/accordion/AccordionGroup.js.map +1 -1
  8. package/dist-cjs/accordion/AccordionHeader.js +73 -0
  9. package/dist-cjs/accordion/AccordionHeader.js.map +1 -1
  10. package/dist-cjs/accordion/AccordionPanel.js +75 -0
  11. package/dist-cjs/accordion/AccordionPanel.js.map +1 -1
  12. package/dist-cjs/aria-announcer/useAriaAnnouncer.js +78 -0
  13. package/dist-cjs/aria-announcer/useAriaAnnouncer.js.map +1 -1
  14. package/dist-cjs/avatar/Avatar.js +74 -0
  15. package/dist-cjs/avatar/Avatar.js.map +1 -1
  16. package/dist-cjs/avatar/useAvatarImage.js +79 -0
  17. package/dist-cjs/avatar/useAvatarImage.js.map +1 -1
  18. package/dist-cjs/badge/Badge.js +75 -0
  19. package/dist-cjs/badge/Badge.js.map +1 -1
  20. package/dist-cjs/banner/Banner.js +76 -2
  21. package/dist-cjs/banner/Banner.js.map +1 -1
  22. package/dist-cjs/banner/BannerActions.js +76 -1
  23. package/dist-cjs/banner/BannerActions.js.map +1 -1
  24. package/dist-cjs/banner/BannerContent.js +76 -1
  25. package/dist-cjs/banner/BannerContent.js.map +1 -1
  26. package/dist-cjs/border-item/BorderItem.js +75 -1
  27. package/dist-cjs/border-item/BorderItem.js.map +1 -1
  28. package/dist-cjs/border-layout/BorderLayout.js +76 -0
  29. package/dist-cjs/border-layout/BorderLayout.js.map +1 -1
  30. package/dist-cjs/button/Button.js +76 -1
  31. package/dist-cjs/button/Button.js.map +1 -1
  32. package/dist-cjs/card/Card.js +75 -0
  33. package/dist-cjs/card/Card.js.map +1 -1
  34. package/dist-cjs/card/InteractableCard.js +75 -0
  35. package/dist-cjs/card/InteractableCard.js.map +1 -1
  36. package/dist-cjs/checkbox/Checkbox.js +73 -0
  37. package/dist-cjs/checkbox/Checkbox.js.map +1 -1
  38. package/dist-cjs/checkbox/CheckboxGroup.js +74 -0
  39. package/dist-cjs/checkbox/CheckboxGroup.js.map +1 -1
  40. package/dist-cjs/checkbox/CheckboxIcon.js +75 -0
  41. package/dist-cjs/checkbox/CheckboxIcon.js.map +1 -1
  42. package/dist-cjs/checkbox/internal/CheckboxGroupContext.js +79 -0
  43. package/dist-cjs/checkbox/internal/CheckboxGroupContext.js.map +1 -1
  44. package/dist-cjs/combo-box/ComboBox.css.js +6 -0
  45. package/dist-cjs/combo-box/ComboBox.css.js.map +1 -0
  46. package/dist-cjs/combo-box/ComboBox.js +443 -0
  47. package/dist-cjs/combo-box/ComboBox.js.map +1 -0
  48. package/dist-cjs/combo-box/useComboBox.js +153 -0
  49. package/dist-cjs/combo-box/useComboBox.js.map +1 -0
  50. package/dist-cjs/dialog/Dialog.css.js +6 -0
  51. package/dist-cjs/dialog/Dialog.css.js.map +1 -0
  52. package/dist-cjs/dialog/Dialog.js +194 -0
  53. package/dist-cjs/dialog/Dialog.js.map +1 -0
  54. package/dist-cjs/dialog/DialogActions.css.js +6 -0
  55. package/dist-cjs/dialog/DialogActions.css.js.map +1 -0
  56. package/dist-cjs/dialog/DialogActions.js +112 -0
  57. package/dist-cjs/dialog/DialogActions.js.map +1 -0
  58. package/dist-cjs/dialog/DialogCloseButton.css.js +6 -0
  59. package/dist-cjs/dialog/DialogCloseButton.css.js.map +1 -0
  60. package/dist-cjs/dialog/DialogCloseButton.js +117 -0
  61. package/dist-cjs/dialog/DialogCloseButton.js.map +1 -0
  62. package/dist-cjs/dialog/DialogContent.css.js +6 -0
  63. package/dist-cjs/dialog/DialogContent.css.js.map +1 -0
  64. package/dist-cjs/dialog/DialogContent.js +124 -0
  65. package/dist-cjs/dialog/DialogContent.js.map +1 -0
  66. package/dist-cjs/dialog/DialogContext.js +17 -0
  67. package/dist-cjs/dialog/DialogContext.js.map +1 -0
  68. package/dist-cjs/dialog/DialogHeader.css.js +6 -0
  69. package/dist-cjs/dialog/DialogHeader.css.js.map +1 -0
  70. package/dist-cjs/dialog/DialogHeader.js +147 -0
  71. package/dist-cjs/dialog/DialogHeader.js.map +1 -0
  72. package/dist-cjs/drawer/Drawer.js +75 -2
  73. package/dist-cjs/drawer/Drawer.js.map +1 -1
  74. package/dist-cjs/drawer/DrawerCloseButton.js +74 -1
  75. package/dist-cjs/drawer/DrawerCloseButton.js.map +1 -1
  76. package/dist-cjs/dropdown/Dropdown.css.js +6 -0
  77. package/dist-cjs/dropdown/Dropdown.css.js.map +1 -0
  78. package/dist-cjs/dropdown/Dropdown.js +412 -0
  79. package/dist-cjs/dropdown/Dropdown.js.map +1 -0
  80. package/dist-cjs/file-drop-zone/FileDropZone.js +75 -0
  81. package/dist-cjs/file-drop-zone/FileDropZone.js.map +1 -1
  82. package/dist-cjs/file-drop-zone/FileDropZoneTrigger.js +76 -0
  83. package/dist-cjs/file-drop-zone/FileDropZoneTrigger.js.map +1 -1
  84. package/dist-cjs/flex-item/FlexItem.js +79 -2
  85. package/dist-cjs/flex-item/FlexItem.js.map +1 -1
  86. package/dist-cjs/flex-layout/FlexLayout.js +79 -2
  87. package/dist-cjs/flex-layout/FlexLayout.js.map +1 -1
  88. package/dist-cjs/form-field/FormField.js +74 -0
  89. package/dist-cjs/form-field/FormField.js.map +1 -1
  90. package/dist-cjs/form-field/FormFieldHelperText.js +70 -2
  91. package/dist-cjs/form-field/FormFieldHelperText.js.map +1 -1
  92. package/dist-cjs/form-field/FormFieldLabel.js +69 -0
  93. package/dist-cjs/form-field/FormFieldLabel.js.map +1 -1
  94. package/dist-cjs/form-field-context/FormFieldContext.js +78 -0
  95. package/dist-cjs/form-field-context/FormFieldContext.js.map +1 -1
  96. package/dist-cjs/grid-item/GridItem.js +79 -2
  97. package/dist-cjs/grid-item/GridItem.js.map +1 -1
  98. package/dist-cjs/grid-layout/GridLayout.js +79 -2
  99. package/dist-cjs/grid-layout/GridLayout.js.map +1 -1
  100. package/dist-cjs/index.js +30 -0
  101. package/dist-cjs/index.js.map +1 -1
  102. package/dist-cjs/input/Input.js +73 -0
  103. package/dist-cjs/input/Input.js.map +1 -1
  104. package/dist-cjs/link/Link.js +70 -2
  105. package/dist-cjs/link/Link.js.map +1 -1
  106. package/dist-cjs/link-card/LinkCard.js +75 -0
  107. package/dist-cjs/link-card/LinkCard.js.map +1 -1
  108. package/dist-cjs/list-control/ListControlContext.js +121 -0
  109. package/dist-cjs/list-control/ListControlContext.js.map +1 -0
  110. package/dist-cjs/list-control/ListControlState.js +276 -0
  111. package/dist-cjs/list-control/ListControlState.js.map +1 -0
  112. package/dist-cjs/multiline-input/MultilineInput.css.js +1 -1
  113. package/dist-cjs/multiline-input/MultilineInput.js +73 -0
  114. package/dist-cjs/multiline-input/MultilineInput.js.map +1 -1
  115. package/dist-cjs/navigation-item/NavigationItem.css.js +1 -1
  116. package/dist-cjs/navigation-item/NavigationItem.js +77 -2
  117. package/dist-cjs/navigation-item/NavigationItem.js.map +1 -1
  118. package/dist-cjs/option/Option.css.js +6 -0
  119. package/dist-cjs/option/Option.css.js.map +1 -0
  120. package/dist-cjs/option/Option.js +178 -0
  121. package/dist-cjs/option/Option.js.map +1 -0
  122. package/dist-cjs/option/OptionGroup.css.js +6 -0
  123. package/dist-cjs/option/OptionGroup.css.js.map +1 -0
  124. package/dist-cjs/option/OptionGroup.js +123 -0
  125. package/dist-cjs/option/OptionGroup.js.map +1 -0
  126. package/dist-cjs/option/OptionList.css.js +6 -0
  127. package/dist-cjs/option/OptionList.css.js.map +1 -0
  128. package/dist-cjs/option/OptionList.js +118 -0
  129. package/dist-cjs/option/OptionList.js.map +1 -0
  130. package/dist-cjs/option/OptionListBase.js +113 -0
  131. package/dist-cjs/option/OptionListBase.js.map +1 -0
  132. package/dist-cjs/pagination/CompactInput.js +76 -2
  133. package/dist-cjs/pagination/CompactInput.js.map +1 -1
  134. package/dist-cjs/pagination/CompactPaginator.js +69 -2
  135. package/dist-cjs/pagination/CompactPaginator.js.map +1 -1
  136. package/dist-cjs/pagination/GoToInput.js +68 -3
  137. package/dist-cjs/pagination/GoToInput.js.map +1 -1
  138. package/dist-cjs/pagination/PageButton.js +77 -2
  139. package/dist-cjs/pagination/PageButton.js.map +1 -1
  140. package/dist-cjs/pagination/PageRanges.js +78 -2
  141. package/dist-cjs/pagination/PageRanges.js.map +1 -1
  142. package/dist-cjs/pagination/Pagination.js +76 -2
  143. package/dist-cjs/pagination/Pagination.js.map +1 -1
  144. package/dist-cjs/pagination/Paginator.js +75 -2
  145. package/dist-cjs/pagination/Paginator.js.map +1 -1
  146. package/dist-cjs/panel/Panel.css.js +1 -1
  147. package/dist-cjs/panel/Panel.js +77 -2
  148. package/dist-cjs/panel/Panel.js.map +1 -1
  149. package/dist-cjs/pill/Pill.js +74 -0
  150. package/dist-cjs/pill/Pill.js.map +1 -1
  151. package/dist-cjs/pill-input/PillInput.css.js +6 -0
  152. package/dist-cjs/pill-input/PillInput.css.js.map +1 -0
  153. package/dist-cjs/pill-input/PillInput.js +338 -0
  154. package/dist-cjs/pill-input/PillInput.js.map +1 -0
  155. package/dist-cjs/pill-input/useTruncatePills.js +83 -0
  156. package/dist-cjs/pill-input/useTruncatePills.js.map +1 -0
  157. package/dist-cjs/progress/CircularProgress/CircularProgress.css.js +1 -1
  158. package/dist-cjs/progress/CircularProgress/CircularProgress.js +138 -14
  159. package/dist-cjs/progress/CircularProgress/CircularProgress.js.map +1 -1
  160. package/dist-cjs/progress/LinearProgress/LinearProgress.css.js +1 -1
  161. package/dist-cjs/progress/LinearProgress/LinearProgress.js +89 -8
  162. package/dist-cjs/progress/LinearProgress/LinearProgress.js.map +1 -1
  163. package/dist-cjs/radio-button/RadioButton.js +78 -4
  164. package/dist-cjs/radio-button/RadioButton.js.map +1 -1
  165. package/dist-cjs/radio-button/RadioButtonGroup.js +77 -3
  166. package/dist-cjs/radio-button/RadioButtonGroup.js.map +1 -1
  167. package/dist-cjs/radio-button/RadioButtonIcon.js +76 -0
  168. package/dist-cjs/radio-button/RadioButtonIcon.js.map +1 -1
  169. package/dist-cjs/radio-button/internal/RadioGroupContext.js +79 -0
  170. package/dist-cjs/radio-button/internal/RadioGroupContext.js.map +1 -1
  171. package/dist-cjs/salt-provider/SaltProvider.js +78 -3
  172. package/dist-cjs/salt-provider/SaltProvider.js.map +1 -1
  173. package/dist-cjs/scrim/Scrim.js +76 -1
  174. package/dist-cjs/scrim/Scrim.js.map +1 -1
  175. package/dist-cjs/spinner/Spinner.js +76 -2
  176. package/dist-cjs/spinner/Spinner.js.map +1 -1
  177. package/dist-cjs/spinner/svgSpinners/SpinnerSVG.js +78 -0
  178. package/dist-cjs/spinner/svgSpinners/SpinnerSVG.js.map +1 -1
  179. package/dist-cjs/split-layout/SplitLayout.js +76 -2
  180. package/dist-cjs/split-layout/SplitLayout.js.map +1 -1
  181. package/dist-cjs/stack-layout/StackLayout.js +78 -2
  182. package/dist-cjs/stack-layout/StackLayout.js.map +1 -1
  183. package/dist-cjs/status-adornment/StatusAdornment.js +75 -0
  184. package/dist-cjs/status-adornment/StatusAdornment.js.map +1 -1
  185. package/dist-cjs/status-indicator/StatusIndicator.js +76 -2
  186. package/dist-cjs/status-indicator/StatusIndicator.js.map +1 -1
  187. package/dist-cjs/switch/Switch.js +75 -2
  188. package/dist-cjs/switch/Switch.js.map +1 -1
  189. package/dist-cjs/text/Text.js +77 -2
  190. package/dist-cjs/text/Text.js.map +1 -1
  191. package/dist-cjs/toast/Toast.js +74 -0
  192. package/dist-cjs/toast/Toast.js.map +1 -1
  193. package/dist-cjs/toast/ToastContent.js +75 -0
  194. package/dist-cjs/toast/ToastContent.js.map +1 -1
  195. package/dist-cjs/toggle-button/ToggleButton.js +73 -0
  196. package/dist-cjs/toggle-button/ToggleButton.js.map +1 -1
  197. package/dist-cjs/toggle-button-group/ToggleButtonGroup.js +74 -0
  198. package/dist-cjs/toggle-button-group/ToggleButtonGroup.js.map +1 -1
  199. package/dist-cjs/toggle-button-group/ToggleButtonGroupContext.js +78 -0
  200. package/dist-cjs/toggle-button-group/ToggleButtonGroupContext.js.map +1 -1
  201. package/dist-cjs/tooltip/Tooltip.js +75 -1
  202. package/dist-cjs/tooltip/Tooltip.js.map +1 -1
  203. package/dist-cjs/tooltip/TooltipBase.js +75 -2
  204. package/dist-cjs/tooltip/TooltipBase.js.map +1 -1
  205. package/dist-cjs/tooltip/useAriaAnnounce.js +77 -0
  206. package/dist-cjs/tooltip/useAriaAnnounce.js.map +1 -1
  207. package/dist-cjs/tooltip/useTooltip.js +83 -2
  208. package/dist-cjs/tooltip/useTooltip.js.map +1 -1
  209. package/dist-cjs/utils/ownerWindow.js.map +1 -1
  210. package/dist-cjs/utils/useEventCallback.js +20 -0
  211. package/dist-cjs/utils/useEventCallback.js.map +1 -0
  212. package/dist-cjs/utils/useResizeObserver.js +29 -0
  213. package/dist-cjs/utils/useResizeObserver.js.map +1 -0
  214. package/dist-cjs/utils/useValueEffect.js +124 -0
  215. package/dist-cjs/utils/useValueEffect.js.map +1 -0
  216. package/dist-cjs/viewport/ViewportProvider.js +78 -0
  217. package/dist-cjs/viewport/ViewportProvider.js.map +1 -1
  218. package/dist-es/accordion/Accordion.js +75 -0
  219. package/dist-es/accordion/Accordion.js.map +1 -1
  220. package/dist-es/accordion/AccordionContext.js +79 -0
  221. package/dist-es/accordion/AccordionContext.js.map +1 -1
  222. package/dist-es/accordion/AccordionGroup.js +76 -1
  223. package/dist-es/accordion/AccordionGroup.js.map +1 -1
  224. package/dist-es/accordion/AccordionHeader.js +73 -0
  225. package/dist-es/accordion/AccordionHeader.js.map +1 -1
  226. package/dist-es/accordion/AccordionPanel.js +75 -0
  227. package/dist-es/accordion/AccordionPanel.js.map +1 -1
  228. package/dist-es/aria-announcer/useAriaAnnouncer.js +78 -0
  229. package/dist-es/aria-announcer/useAriaAnnouncer.js.map +1 -1
  230. package/dist-es/avatar/Avatar.js +74 -0
  231. package/dist-es/avatar/Avatar.js.map +1 -1
  232. package/dist-es/avatar/useAvatarImage.js +79 -0
  233. package/dist-es/avatar/useAvatarImage.js.map +1 -1
  234. package/dist-es/badge/Badge.js +75 -0
  235. package/dist-es/badge/Badge.js.map +1 -1
  236. package/dist-es/banner/Banner.js +76 -2
  237. package/dist-es/banner/Banner.js.map +1 -1
  238. package/dist-es/banner/BannerActions.js +76 -1
  239. package/dist-es/banner/BannerActions.js.map +1 -1
  240. package/dist-es/banner/BannerContent.js +76 -1
  241. package/dist-es/banner/BannerContent.js.map +1 -1
  242. package/dist-es/border-item/BorderItem.js +75 -1
  243. package/dist-es/border-item/BorderItem.js.map +1 -1
  244. package/dist-es/border-layout/BorderLayout.js +76 -0
  245. package/dist-es/border-layout/BorderLayout.js.map +1 -1
  246. package/dist-es/button/Button.js +76 -1
  247. package/dist-es/button/Button.js.map +1 -1
  248. package/dist-es/card/Card.js +75 -0
  249. package/dist-es/card/Card.js.map +1 -1
  250. package/dist-es/card/InteractableCard.js +75 -0
  251. package/dist-es/card/InteractableCard.js.map +1 -1
  252. package/dist-es/checkbox/Checkbox.js +73 -0
  253. package/dist-es/checkbox/Checkbox.js.map +1 -1
  254. package/dist-es/checkbox/CheckboxGroup.js +74 -0
  255. package/dist-es/checkbox/CheckboxGroup.js.map +1 -1
  256. package/dist-es/checkbox/CheckboxIcon.js +75 -0
  257. package/dist-es/checkbox/CheckboxIcon.js.map +1 -1
  258. package/dist-es/checkbox/internal/CheckboxGroupContext.js +79 -0
  259. package/dist-es/checkbox/internal/CheckboxGroupContext.js.map +1 -1
  260. package/dist-es/combo-box/ComboBox.css.js +4 -0
  261. package/dist-es/combo-box/ComboBox.css.js.map +1 -0
  262. package/dist-es/combo-box/ComboBox.js +439 -0
  263. package/dist-es/combo-box/ComboBox.js.map +1 -0
  264. package/dist-es/combo-box/useComboBox.js +149 -0
  265. package/dist-es/combo-box/useComboBox.js.map +1 -0
  266. package/dist-es/dialog/Dialog.css.js +4 -0
  267. package/dist-es/dialog/Dialog.css.js.map +1 -0
  268. package/dist-es/dialog/Dialog.js +189 -0
  269. package/dist-es/dialog/Dialog.js.map +1 -0
  270. package/dist-es/dialog/DialogActions.css.js +4 -0
  271. package/dist-es/dialog/DialogActions.css.js.map +1 -0
  272. package/dist-es/dialog/DialogActions.js +108 -0
  273. package/dist-es/dialog/DialogActions.js.map +1 -0
  274. package/dist-es/dialog/DialogCloseButton.css.js +4 -0
  275. package/dist-es/dialog/DialogCloseButton.css.js.map +1 -0
  276. package/dist-es/dialog/DialogCloseButton.js +109 -0
  277. package/dist-es/dialog/DialogCloseButton.js.map +1 -0
  278. package/dist-es/dialog/DialogContent.css.js +4 -0
  279. package/dist-es/dialog/DialogContent.css.js.map +1 -0
  280. package/dist-es/dialog/DialogContent.js +120 -0
  281. package/dist-es/dialog/DialogContent.js.map +1 -0
  282. package/dist-es/dialog/DialogContext.js +12 -0
  283. package/dist-es/dialog/DialogContext.js.map +1 -0
  284. package/dist-es/dialog/DialogHeader.css.js +4 -0
  285. package/dist-es/dialog/DialogHeader.css.js.map +1 -0
  286. package/dist-es/dialog/DialogHeader.js +139 -0
  287. package/dist-es/dialog/DialogHeader.js.map +1 -0
  288. package/dist-es/drawer/Drawer.js +75 -2
  289. package/dist-es/drawer/Drawer.js.map +1 -1
  290. package/dist-es/drawer/DrawerCloseButton.js +74 -1
  291. package/dist-es/drawer/DrawerCloseButton.js.map +1 -1
  292. package/dist-es/dropdown/Dropdown.css.js +4 -0
  293. package/dist-es/dropdown/Dropdown.css.js.map +1 -0
  294. package/dist-es/dropdown/Dropdown.js +408 -0
  295. package/dist-es/dropdown/Dropdown.js.map +1 -0
  296. package/dist-es/file-drop-zone/FileDropZone.js +75 -0
  297. package/dist-es/file-drop-zone/FileDropZone.js.map +1 -1
  298. package/dist-es/file-drop-zone/FileDropZoneTrigger.js +76 -0
  299. package/dist-es/file-drop-zone/FileDropZoneTrigger.js.map +1 -1
  300. package/dist-es/flex-item/FlexItem.js +79 -2
  301. package/dist-es/flex-item/FlexItem.js.map +1 -1
  302. package/dist-es/flex-layout/FlexLayout.js +79 -2
  303. package/dist-es/flex-layout/FlexLayout.js.map +1 -1
  304. package/dist-es/form-field/FormField.js +74 -0
  305. package/dist-es/form-field/FormField.js.map +1 -1
  306. package/dist-es/form-field/FormFieldHelperText.js +70 -2
  307. package/dist-es/form-field/FormFieldHelperText.js.map +1 -1
  308. package/dist-es/form-field/FormFieldLabel.js +69 -0
  309. package/dist-es/form-field/FormFieldLabel.js.map +1 -1
  310. package/dist-es/form-field-context/FormFieldContext.js +78 -0
  311. package/dist-es/form-field-context/FormFieldContext.js.map +1 -1
  312. package/dist-es/grid-item/GridItem.js +79 -2
  313. package/dist-es/grid-item/GridItem.js.map +1 -1
  314. package/dist-es/grid-layout/GridLayout.js +79 -2
  315. package/dist-es/grid-layout/GridLayout.js.map +1 -1
  316. package/dist-es/index.js +14 -0
  317. package/dist-es/index.js.map +1 -1
  318. package/dist-es/input/Input.js +73 -0
  319. package/dist-es/input/Input.js.map +1 -1
  320. package/dist-es/link/Link.js +70 -2
  321. package/dist-es/link/Link.js.map +1 -1
  322. package/dist-es/link-card/LinkCard.js +75 -0
  323. package/dist-es/link-card/LinkCard.js.map +1 -1
  324. package/dist-es/list-control/ListControlContext.js +116 -0
  325. package/dist-es/list-control/ListControlContext.js.map +1 -0
  326. package/dist-es/list-control/ListControlState.js +271 -0
  327. package/dist-es/list-control/ListControlState.js.map +1 -0
  328. package/dist-es/multiline-input/MultilineInput.css.js +1 -1
  329. package/dist-es/multiline-input/MultilineInput.js +73 -0
  330. package/dist-es/multiline-input/MultilineInput.js.map +1 -1
  331. package/dist-es/navigation-item/NavigationItem.css.js +1 -1
  332. package/dist-es/navigation-item/NavigationItem.js +77 -2
  333. package/dist-es/navigation-item/NavigationItem.js.map +1 -1
  334. package/dist-es/option/Option.css.js +4 -0
  335. package/dist-es/option/Option.css.js.map +1 -0
  336. package/dist-es/option/Option.js +174 -0
  337. package/dist-es/option/Option.js.map +1 -0
  338. package/dist-es/option/OptionGroup.css.js +4 -0
  339. package/dist-es/option/OptionGroup.css.js.map +1 -0
  340. package/dist-es/option/OptionGroup.js +119 -0
  341. package/dist-es/option/OptionGroup.js.map +1 -0
  342. package/dist-es/option/OptionList.css.js +4 -0
  343. package/dist-es/option/OptionList.css.js.map +1 -0
  344. package/dist-es/option/OptionList.js +114 -0
  345. package/dist-es/option/OptionList.js.map +1 -0
  346. package/dist-es/option/OptionListBase.js +109 -0
  347. package/dist-es/option/OptionListBase.js.map +1 -0
  348. package/dist-es/pagination/CompactInput.js +76 -2
  349. package/dist-es/pagination/CompactInput.js.map +1 -1
  350. package/dist-es/pagination/CompactPaginator.js +69 -2
  351. package/dist-es/pagination/CompactPaginator.js.map +1 -1
  352. package/dist-es/pagination/GoToInput.js +68 -3
  353. package/dist-es/pagination/GoToInput.js.map +1 -1
  354. package/dist-es/pagination/PageButton.js +77 -2
  355. package/dist-es/pagination/PageButton.js.map +1 -1
  356. package/dist-es/pagination/PageRanges.js +78 -2
  357. package/dist-es/pagination/PageRanges.js.map +1 -1
  358. package/dist-es/pagination/Pagination.js +76 -2
  359. package/dist-es/pagination/Pagination.js.map +1 -1
  360. package/dist-es/pagination/Paginator.js +75 -2
  361. package/dist-es/pagination/Paginator.js.map +1 -1
  362. package/dist-es/panel/Panel.css.js +1 -1
  363. package/dist-es/panel/Panel.js +77 -2
  364. package/dist-es/panel/Panel.js.map +1 -1
  365. package/dist-es/pill/Pill.js +74 -0
  366. package/dist-es/pill/Pill.js.map +1 -1
  367. package/dist-es/pill-input/PillInput.css.js +4 -0
  368. package/dist-es/pill-input/PillInput.css.js.map +1 -0
  369. package/dist-es/pill-input/PillInput.js +334 -0
  370. package/dist-es/pill-input/PillInput.js.map +1 -0
  371. package/dist-es/pill-input/useTruncatePills.js +79 -0
  372. package/dist-es/pill-input/useTruncatePills.js.map +1 -0
  373. package/dist-es/progress/CircularProgress/CircularProgress.css.js +1 -1
  374. package/dist-es/progress/CircularProgress/CircularProgress.js +138 -14
  375. package/dist-es/progress/CircularProgress/CircularProgress.js.map +1 -1
  376. package/dist-es/progress/LinearProgress/LinearProgress.css.js +1 -1
  377. package/dist-es/progress/LinearProgress/LinearProgress.js +89 -8
  378. package/dist-es/progress/LinearProgress/LinearProgress.js.map +1 -1
  379. package/dist-es/radio-button/RadioButton.js +78 -4
  380. package/dist-es/radio-button/RadioButton.js.map +1 -1
  381. package/dist-es/radio-button/RadioButtonGroup.js +77 -3
  382. package/dist-es/radio-button/RadioButtonGroup.js.map +1 -1
  383. package/dist-es/radio-button/RadioButtonIcon.js +76 -0
  384. package/dist-es/radio-button/RadioButtonIcon.js.map +1 -1
  385. package/dist-es/radio-button/internal/RadioGroupContext.js +79 -0
  386. package/dist-es/radio-button/internal/RadioGroupContext.js.map +1 -1
  387. package/dist-es/salt-provider/SaltProvider.js +78 -3
  388. package/dist-es/salt-provider/SaltProvider.js.map +1 -1
  389. package/dist-es/scrim/Scrim.js +76 -1
  390. package/dist-es/scrim/Scrim.js.map +1 -1
  391. package/dist-es/spinner/Spinner.js +76 -2
  392. package/dist-es/spinner/Spinner.js.map +1 -1
  393. package/dist-es/spinner/svgSpinners/SpinnerSVG.js +78 -0
  394. package/dist-es/spinner/svgSpinners/SpinnerSVG.js.map +1 -1
  395. package/dist-es/split-layout/SplitLayout.js +76 -2
  396. package/dist-es/split-layout/SplitLayout.js.map +1 -1
  397. package/dist-es/stack-layout/StackLayout.js +78 -2
  398. package/dist-es/stack-layout/StackLayout.js.map +1 -1
  399. package/dist-es/status-adornment/StatusAdornment.js +75 -0
  400. package/dist-es/status-adornment/StatusAdornment.js.map +1 -1
  401. package/dist-es/status-indicator/StatusIndicator.js +76 -2
  402. package/dist-es/status-indicator/StatusIndicator.js.map +1 -1
  403. package/dist-es/switch/Switch.js +75 -2
  404. package/dist-es/switch/Switch.js.map +1 -1
  405. package/dist-es/text/Text.js +77 -2
  406. package/dist-es/text/Text.js.map +1 -1
  407. package/dist-es/toast/Toast.js +74 -0
  408. package/dist-es/toast/Toast.js.map +1 -1
  409. package/dist-es/toast/ToastContent.js +75 -0
  410. package/dist-es/toast/ToastContent.js.map +1 -1
  411. package/dist-es/toggle-button/ToggleButton.js +73 -0
  412. package/dist-es/toggle-button/ToggleButton.js.map +1 -1
  413. package/dist-es/toggle-button-group/ToggleButtonGroup.js +74 -0
  414. package/dist-es/toggle-button-group/ToggleButtonGroup.js.map +1 -1
  415. package/dist-es/toggle-button-group/ToggleButtonGroupContext.js +78 -0
  416. package/dist-es/toggle-button-group/ToggleButtonGroupContext.js.map +1 -1
  417. package/dist-es/tooltip/Tooltip.js +75 -1
  418. package/dist-es/tooltip/Tooltip.js.map +1 -1
  419. package/dist-es/tooltip/TooltipBase.js +75 -2
  420. package/dist-es/tooltip/TooltipBase.js.map +1 -1
  421. package/dist-es/tooltip/useAriaAnnounce.js +77 -0
  422. package/dist-es/tooltip/useAriaAnnounce.js.map +1 -1
  423. package/dist-es/tooltip/useTooltip.js +84 -3
  424. package/dist-es/tooltip/useTooltip.js.map +1 -1
  425. package/dist-es/utils/ownerWindow.js.map +1 -1
  426. package/dist-es/utils/useEventCallback.js +16 -0
  427. package/dist-es/utils/useEventCallback.js.map +1 -0
  428. package/dist-es/utils/useResizeObserver.js +25 -0
  429. package/dist-es/utils/useResizeObserver.js.map +1 -0
  430. package/dist-es/utils/useValueEffect.js +120 -0
  431. package/dist-es/utils/useValueEffect.js.map +1 -0
  432. package/dist-es/viewport/ViewportProvider.js +78 -0
  433. package/dist-es/viewport/ViewportProvider.js.map +1 -1
  434. package/dist-types/combo-box/ComboBox.d.ts +17 -0
  435. package/dist-types/combo-box/index.d.ts +1 -0
  436. package/dist-types/combo-box/useComboBox.d.ts +30 -0
  437. package/dist-types/dialog/Dialog.d.ts +46 -0
  438. package/dist-types/dialog/DialogActions.d.ts +8 -0
  439. package/dist-types/dialog/DialogCloseButton.d.ts +2 -0
  440. package/dist-types/dialog/DialogContent.d.ts +8 -0
  441. package/dist-types/dialog/DialogContext.d.ts +8 -0
  442. package/dist-types/dialog/DialogHeader.d.ts +20 -0
  443. package/dist-types/dialog/index.d.ts +6 -0
  444. package/dist-types/dropdown/Dropdown.d.ts +99 -0
  445. package/dist-types/dropdown/index.d.ts +1 -0
  446. package/dist-types/index.d.ts +5 -0
  447. package/dist-types/list-control/ListControlContext.d.ts +21 -0
  448. package/dist-types/list-control/ListControlState.d.ts +70 -0
  449. package/dist-types/list-control/index.d.ts +1 -0
  450. package/dist-types/option/Option.d.ts +16 -0
  451. package/dist-types/option/OptionGroup.d.ts +12 -0
  452. package/dist-types/option/OptionList.d.ts +5 -0
  453. package/dist-types/option/OptionListBase.d.ts +4 -0
  454. package/dist-types/option/index.d.ts +2 -0
  455. package/dist-types/pill-input/PillInput.d.ts +48 -0
  456. package/dist-types/pill-input/index.d.ts +1 -0
  457. package/dist-types/pill-input/useTruncatePills.d.ts +8 -0
  458. package/dist-types/progress/CircularProgress/CircularProgress.d.ts +5 -0
  459. package/dist-types/progress/LinearProgress/LinearProgress.d.ts +5 -0
  460. package/dist-types/utils/index.d.ts +3 -0
  461. package/dist-types/utils/ownerWindow.d.ts +1 -1
  462. package/dist-types/utils/useEventCallback.d.ts +4 -0
  463. package/dist-types/utils/useResizeObserver.d.ts +6 -0
  464. package/dist-types/utils/useValueEffect.d.ts +4 -0
  465. package/package.json +1 -1
@@ -7,12 +7,86 @@ import '../utils/useFloatingUI/useFloatingUI.js';
7
7
  import { useId } from '../utils/useId.js';
8
8
  import '../salt-provider/SaltProvider.js';
9
9
  import '../viewport/ViewportProvider.js';
10
- import { RadioGroupContext } from './internal/RadioGroupContext.js';
11
- import css_248z from './RadioButtonGroup.css.js';
12
- import { useWindow } from '@salt-ds/window';
10
+ import '../accordion/AccordionGroup.js';
11
+ import '../accordion/AccordionPanel.js';
12
+ import '../accordion/Accordion.js';
13
+ import '../accordion/AccordionHeader.js';
14
+ import '../aria-announcer/AriaAnnouncerContext.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 '../button/Button.js';
23
+ import '../card/Card.js';
24
+ import '../card/InteractableCard.js';
25
+ import '../checkbox/Checkbox.js';
26
+ import '../checkbox/CheckboxGroup.js';
13
27
  import { useComponentCssInjection } from '@salt-ds/styles';
28
+ import { useWindow } from '@salt-ds/window';
29
+ import '@salt-ds/icons';
30
+ import '../combo-box/ComboBox.js';
31
+ import '../dialog/Dialog.js';
32
+ import '../status-indicator/StatusIndicator.js';
33
+ import '../text/Text.js';
34
+ import '../text/Display.js';
35
+ import '../text/Headings.js';
36
+ import '../text/Label.js';
37
+ import '../text/TextNotation.js';
38
+ import '../text/TextAction.js';
39
+ import '../dialog/DialogContext.js';
40
+ import '../dialog/DialogActions.js';
41
+ import '../dialog/DialogContent.js';
42
+ import '../dialog/DialogCloseButton.js';
43
+ import '../drawer/Drawer.js';
44
+ import '../drawer/DrawerCloseButton.js';
45
+ import '../dropdown/Dropdown.js';
46
+ import '../file-drop-zone/FileDropZone.js';
47
+ import '../file-drop-zone/FileDropZoneIcon.js';
48
+ import '../file-drop-zone/FileDropZoneTrigger.js';
49
+ import '../flex-item/FlexItem.js';
50
+ import '../flex-layout/FlexLayout.js';
51
+ import '../flow-layout/FlowLayout.js';
52
+ import '../form-field/FormField.js';
14
53
  import '../form-field-context/FormFieldContext.js';
15
54
  import { useFormFieldProps } from '../form-field-context/useFormFieldProps.js';
55
+ import '../grid-item/GridItem.js';
56
+ import '../grid-layout/GridLayout.js';
57
+ import '../input/Input.js';
58
+ import '../link/Link.js';
59
+ import '../link-card/LinkCard.js';
60
+ import '../list-control/ListControlContext.js';
61
+ import '../multiline-input/MultilineInput.js';
62
+ import '../navigation-item/NavigationItem.js';
63
+ import '../option/Option.js';
64
+ import '../option/OptionGroup.js';
65
+ import '../pagination/Pagination.js';
66
+ import '../pagination/Paginator.js';
67
+ import '../pagination/CompactInput.js';
68
+ import '../pagination/CompactPaginator.js';
69
+ import '../pagination/GoToInput.js';
70
+ import '../panel/Panel.js';
71
+ import '../pill/Pill.js';
72
+ import '../progress/CircularProgress/CircularProgress.js';
73
+ import '../progress/LinearProgress/LinearProgress.js';
74
+ import './RadioButton.js';
75
+ import '../scrim/Scrim.js';
76
+ import '../spinner/Spinner.js';
77
+ import '../stack-layout/StackLayout.js';
78
+ import '../status-adornment/StatusAdornment.js';
79
+ import '../toast/Toast.js';
80
+ import '../toast/ToastContent.js';
81
+ import '../split-layout/SplitLayout.js';
82
+ import '../switch/Switch.js';
83
+ import '../toggle-button/ToggleButton.js';
84
+ import '../toggle-button-group/ToggleButtonGroup.js';
85
+ import '../toggle-button-group/ToggleButtonGroupContext.js';
86
+ import '../tooltip/Tooltip.js';
87
+ import '@floating-ui/react';
88
+ import { RadioGroupContext } from './internal/RadioGroupContext.js';
89
+ import css_248z from './RadioButtonGroup.css.js';
16
90
 
17
91
  const withBaseName = makePrefixer("saltRadioButtonGroup");
18
92
  const RadioButtonGroup = forwardRef(function RadioButtonGroup2(props, ref) {
@@ -1 +1 @@
1
- {"version":3,"file":"RadioButtonGroup.js","sources":["../src/radio-button/RadioButtonGroup.tsx"],"sourcesContent":["import { clsx } from \"clsx\";\nimport {\n ChangeEventHandler,\n ComponentPropsWithoutRef,\n forwardRef,\n} from \"react\";\nimport { makePrefixer, useControlled, useId } from \"../utils\";\nimport { RadioGroupContext } from \"./internal/RadioGroupContext\";\n\nimport radioButtonGroupCss from \"./RadioButtonGroup.css\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useFormFieldProps } from \"../form-field-context\";\n\nconst withBaseName = makePrefixer(\"saltRadioButtonGroup\");\n\nexport interface RadioButtonGroupProps\n extends Omit<ComponentPropsWithoutRef<\"fieldset\">, \"onChange\"> {\n /**\n * Set the selected value when initialized.\n */\n defaultValue?: string;\n /**\n * Set the group direction.\n */\n direction?: \"horizontal\" | \"vertical\";\n /**\n * Disable the RadioButton group\n */\n disabled?: boolean;\n /**\n * Only for horizontal direction. When `true` the text in radio button label will wrap to fit within the container. Otherwise the radio buttons will wrap onto the next line.\n */\n wrap?: boolean;\n /**\n * The name to be set on each radio button within the group. If not set, then one will be generated for you.\n */\n name?: string;\n /**\n * Callback for change event.\n */\n onChange?: ChangeEventHandler<HTMLInputElement>;\n /**\n * Set the RadioButton group to read only.\n */\n readOnly?: boolean;\n /**\n * The value of the radio group, required for a controlled component.\n */\n value?: string;\n /**\n * Validation status.\n */\n validationStatus?: \"error\" | \"warning\";\n}\n\nexport const RadioButtonGroup = forwardRef<\n HTMLFieldSetElement,\n RadioButtonGroupProps\n>(function RadioButtonGroup(props, ref) {\n const {\n \"aria-labelledby\": ariaLabelledBy,\n \"aria-describedby\": ariaDescribedBy,\n children,\n className,\n defaultValue,\n direction = \"vertical\",\n disabled: disabledProp,\n wrap = true,\n name: nameProp,\n onChange,\n readOnly: readOnlyProp,\n value: valueProp,\n validationStatus: validationStatusProp,\n ...rest\n } = props;\n\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-radio-button-group\",\n css: radioButtonGroupCss,\n window: targetWindow,\n });\n\n const {\n a11yProps,\n disabled: formFieldDisabled,\n readOnly: formFieldReadOnly,\n validationStatus: formFieldValidationStatus,\n } = useFormFieldProps();\n\n const disabled = formFieldDisabled || disabledProp;\n const readOnly = formFieldReadOnly || readOnlyProp;\n const validationStatus = formFieldValidationStatus ?? validationStatusProp;\n\n const [value, setStateValue] = useControlled({\n controlled: valueProp,\n default: defaultValue,\n state: \"value\",\n name: \"RadioButtonGroup\",\n });\n\n const handleChange: ChangeEventHandler<HTMLInputElement> = (event) => {\n setStateValue(event.target.value);\n onChange?.(event);\n };\n\n const name = useId(nameProp);\n\n return (\n <fieldset\n role=\"radiogroup\"\n aria-readonly={readOnly}\n aria-labelledby={\n clsx(a11yProps?.[\"aria-labelledby\"], ariaLabelledBy) || undefined\n }\n aria-describedby={\n clsx(a11yProps?.[\"aria-describedby\"], ariaDescribedBy) || undefined\n }\n className={clsx(\n withBaseName(),\n withBaseName(direction),\n {\n [withBaseName(\"noWrap\")]: !wrap,\n },\n className\n )}\n data-testid=\"radio-button-group\"\n ref={ref}\n {...rest}\n >\n <RadioGroupContext.Provider\n value={{\n disabled,\n name,\n onChange: handleChange,\n readOnly,\n validationStatus,\n value,\n }}\n >\n {children}\n </RadioGroupContext.Provider>\n </fieldset>\n );\n});\n"],"names":["RadioButtonGroup","radioButtonGroupCss"],"mappings":"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"}
1
+ {"version":3,"file":"RadioButtonGroup.js","sources":["../src/radio-button/RadioButtonGroup.tsx"],"sourcesContent":["import { clsx } from \"clsx\";\nimport {\n ChangeEventHandler,\n ComponentPropsWithoutRef,\n forwardRef,\n} from \"react\";\nimport { makePrefixer, useControlled, useId } from \"../utils\";\nimport { RadioGroupContext } from \"./internal/RadioGroupContext\";\n\nimport radioButtonGroupCss from \"./RadioButtonGroup.css\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useFormFieldProps } from \"../form-field-context\";\n\nconst withBaseName = makePrefixer(\"saltRadioButtonGroup\");\n\nexport interface RadioButtonGroupProps\n extends Omit<ComponentPropsWithoutRef<\"fieldset\">, \"onChange\"> {\n /**\n * Set the selected value when initialized.\n */\n defaultValue?: string;\n /**\n * Set the group direction.\n */\n direction?: \"horizontal\" | \"vertical\";\n /**\n * Disable the RadioButton group\n */\n disabled?: boolean;\n /**\n * Only for horizontal direction. When `true` the text in radio button label will wrap to fit within the container. Otherwise the radio buttons will wrap onto the next line.\n */\n wrap?: boolean;\n /**\n * The name to be set on each radio button within the group. If not set, then one will be generated for you.\n */\n name?: string;\n /**\n * Callback for change event.\n */\n onChange?: ChangeEventHandler<HTMLInputElement>;\n /**\n * Set the RadioButton group to read only.\n */\n readOnly?: boolean;\n /**\n * The value of the radio group, required for a controlled component.\n */\n value?: string;\n /**\n * Validation status.\n */\n validationStatus?: \"error\" | \"warning\";\n}\n\nexport const RadioButtonGroup = forwardRef<\n HTMLFieldSetElement,\n RadioButtonGroupProps\n>(function RadioButtonGroup(props, ref) {\n const {\n \"aria-labelledby\": ariaLabelledBy,\n \"aria-describedby\": ariaDescribedBy,\n children,\n className,\n defaultValue,\n direction = \"vertical\",\n disabled: disabledProp,\n wrap = true,\n name: nameProp,\n onChange,\n readOnly: readOnlyProp,\n value: valueProp,\n validationStatus: validationStatusProp,\n ...rest\n } = props;\n\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-radio-button-group\",\n css: radioButtonGroupCss,\n window: targetWindow,\n });\n\n const {\n a11yProps,\n disabled: formFieldDisabled,\n readOnly: formFieldReadOnly,\n validationStatus: formFieldValidationStatus,\n } = useFormFieldProps();\n\n const disabled = formFieldDisabled || disabledProp;\n const readOnly = formFieldReadOnly || readOnlyProp;\n const validationStatus = formFieldValidationStatus ?? validationStatusProp;\n\n const [value, setStateValue] = useControlled({\n controlled: valueProp,\n default: defaultValue,\n state: \"value\",\n name: \"RadioButtonGroup\",\n });\n\n const handleChange: ChangeEventHandler<HTMLInputElement> = (event) => {\n setStateValue(event.target.value);\n onChange?.(event);\n };\n\n const name = useId(nameProp);\n\n return (\n <fieldset\n role=\"radiogroup\"\n aria-readonly={readOnly}\n aria-labelledby={\n clsx(a11yProps?.[\"aria-labelledby\"], ariaLabelledBy) || undefined\n }\n aria-describedby={\n clsx(a11yProps?.[\"aria-describedby\"], ariaDescribedBy) || undefined\n }\n className={clsx(\n withBaseName(),\n withBaseName(direction),\n {\n [withBaseName(\"noWrap\")]: !wrap,\n },\n className\n )}\n data-testid=\"radio-button-group\"\n ref={ref}\n {...rest}\n >\n <RadioGroupContext.Provider\n value={{\n disabled,\n name,\n onChange: handleChange,\n readOnly,\n validationStatus,\n value,\n }}\n >\n {children}\n </RadioGroupContext.Provider>\n </fieldset>\n );\n});\n"],"names":["RadioButtonGroup","radioButtonGroupCss"],"mappings":"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"}
@@ -6,9 +6,85 @@ import '../utils/useId.js';
6
6
  import '../salt-provider/SaltProvider.js';
7
7
  import '../viewport/ViewportProvider.js';
8
8
  import { clsx } from 'clsx';
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 '../button/Button.js';
22
+ import '../card/Card.js';
23
+ import '../card/InteractableCard.js';
24
+ import '../checkbox/Checkbox.js';
25
+ import '../checkbox/CheckboxGroup.js';
9
26
  import { useComponentCssInjection } from '@salt-ds/styles';
10
27
  import { useWindow } from '@salt-ds/window';
28
+ import '@salt-ds/icons';
29
+ import '../combo-box/ComboBox.js';
30
+ import '../dialog/Dialog.js';
31
+ import '../status-indicator/StatusIndicator.js';
32
+ import '../text/Text.js';
33
+ import '../text/Display.js';
34
+ import '../text/Headings.js';
35
+ import '../text/Label.js';
36
+ import '../text/TextNotation.js';
37
+ import '../text/TextAction.js';
38
+ import '../dialog/DialogContext.js';
39
+ import '../dialog/DialogActions.js';
40
+ import '../dialog/DialogContent.js';
41
+ import '../dialog/DialogCloseButton.js';
42
+ import '../drawer/Drawer.js';
43
+ import '../drawer/DrawerCloseButton.js';
44
+ import '../dropdown/Dropdown.js';
45
+ import '../file-drop-zone/FileDropZone.js';
46
+ import '../file-drop-zone/FileDropZoneIcon.js';
47
+ import '../file-drop-zone/FileDropZoneTrigger.js';
48
+ import '../flex-item/FlexItem.js';
49
+ import '../flex-layout/FlexLayout.js';
50
+ import '../flow-layout/FlowLayout.js';
51
+ import '../form-field/FormField.js';
52
+ import '../form-field-context/FormFieldContext.js';
53
+ import '../grid-item/GridItem.js';
54
+ import '../grid-layout/GridLayout.js';
55
+ import '../input/Input.js';
56
+ import '../link/Link.js';
57
+ import '../link-card/LinkCard.js';
58
+ import '../list-control/ListControlContext.js';
59
+ import '../multiline-input/MultilineInput.js';
60
+ import '../navigation-item/NavigationItem.js';
61
+ import '../option/Option.js';
62
+ import '../option/OptionGroup.js';
63
+ import '../pagination/Pagination.js';
64
+ import '../pagination/Paginator.js';
65
+ import '../pagination/CompactInput.js';
66
+ import '../pagination/CompactPaginator.js';
67
+ import '../pagination/GoToInput.js';
68
+ import '../panel/Panel.js';
69
+ import '../pill/Pill.js';
70
+ import '../progress/CircularProgress/CircularProgress.js';
71
+ import '../progress/LinearProgress/LinearProgress.js';
72
+ import './RadioButton.js';
73
+ import './RadioButtonGroup.js';
11
74
  import css_248z from './RadioButtonIcon.css.js';
75
+ import '../scrim/Scrim.js';
76
+ import '../spinner/Spinner.js';
77
+ import '../stack-layout/StackLayout.js';
78
+ import '../status-adornment/StatusAdornment.js';
79
+ import '../toast/Toast.js';
80
+ import '../toast/ToastContent.js';
81
+ import '../split-layout/SplitLayout.js';
82
+ import '../switch/Switch.js';
83
+ import '../toggle-button/ToggleButton.js';
84
+ import '../toggle-button-group/ToggleButtonGroup.js';
85
+ import '../toggle-button-group/ToggleButtonGroupContext.js';
86
+ import '../tooltip/Tooltip.js';
87
+ import '@floating-ui/react';
12
88
 
13
89
  const withBaseName = makePrefixer("saltRadioButtonIcon");
14
90
  const RadioButtonIcon = ({
@@ -1 +1 @@
1
- {"version":3,"file":"RadioButtonIcon.js","sources":["../src/radio-button/RadioButtonIcon.tsx"],"sourcesContent":["import { makePrefixer } from \"../utils\";\nimport { clsx } from \"clsx\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { AdornmentValidationStatus } from \"../status-adornment\";\nimport radioButtonIconCss from \"./RadioButtonIcon.css\";\nimport { ComponentPropsWithoutRef } from \"react\";\n\nconst withBaseName = makePrefixer(\"saltRadioButtonIcon\");\n\nexport interface RadioButtonIconProps extends ComponentPropsWithoutRef<\"div\"> {\n checked?: boolean;\n disabled?: boolean;\n /**\n * @deprecated Use validationStatus instead\n */\n error?: boolean;\n readOnly?: boolean;\n validationStatus?: AdornmentValidationStatus;\n}\n\n/**\n * Default radio icon\n */\nexport const RadioButtonIcon = ({\n checked,\n className,\n error,\n disabled,\n validationStatus,\n readOnly,\n ...rest\n}: RadioButtonIconProps) => {\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-radio-button-icon\",\n css: radioButtonIconCss,\n window: targetWindow,\n });\n return (\n <div\n aria-hidden=\"true\"\n className={clsx(\n withBaseName(),\n {\n [withBaseName(\"checked\")]: checked,\n [withBaseName(\"error\")]: error,\n [withBaseName(\"disabled\")]: disabled,\n [withBaseName(validationStatus || \"\")]: validationStatus,\n [withBaseName(\"readOnly\")]: readOnly,\n },\n className\n )}\n {...rest}\n >\n {checked && !readOnly && (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 12 12\"\n fill=\"currentColor\"\n >\n <path\n fillRule=\"evenodd\"\n d=\"M0 6a6 6 0 1 1 12 0A6 6 0 0 1 0 6Zm6 3a3 3 0 1 1 0-6 3 3 0 0 1 0 6Z\"\n clipRule=\"evenodd\"\n />\n </svg>\n )}\n {checked && readOnly && (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"currentColor\"\n viewBox=\"0 0 12 12\"\n >\n <path\n fill=\"#161616\"\n d=\"M9.5 6a3.5 3.5 0 1 1-7 0 3.5 3.5 0 0 1 7 0Z\"\n />\n </svg>\n )}\n </div>\n );\n};\n"],"names":["radioButtonIconCss"],"mappings":";;;;;;;;;;;;AAQA,MAAM,YAAA,GAAe,aAAa,qBAAqB,CAAA,CAAA;AAgBhD,MAAM,kBAAkB,CAAC;AAAA,EAC9B,OAAA;AAAA,EACA,SAAA;AAAA,EACA,KAAA;AAAA,EACA,QAAA;AAAA,EACA,gBAAA;AAAA,EACA,QAAA;AAAA,EACG,GAAA,IAAA;AACL,CAA4B,KAAA;AAC1B,EAAA,MAAM,eAAe,SAAU,EAAA,CAAA;AAC/B,EAAyB,wBAAA,CAAA;AAAA,IACvB,MAAQ,EAAA,wBAAA;AAAA,IACR,GAAK,EAAAA,QAAA;AAAA,IACL,MAAQ,EAAA,YAAA;AAAA,GACT,CAAA,CAAA;AACD,EAAA,uBACG,IAAA,CAAA,KAAA,EAAA;AAAA,IACC,aAAY,EAAA,MAAA;AAAA,IACZ,SAAW,EAAA,IAAA;AAAA,MACT,YAAa,EAAA;AAAA,MACb;AAAA,QACE,CAAC,YAAa,CAAA,SAAS,CAAI,GAAA,OAAA;AAAA,QAC3B,CAAC,YAAa,CAAA,OAAO,CAAI,GAAA,KAAA;AAAA,QACzB,CAAC,YAAa,CAAA,UAAU,CAAI,GAAA,QAAA;AAAA,QAC5B,CAAC,YAAA,CAAa,gBAAoB,IAAA,EAAE,CAAI,GAAA,gBAAA;AAAA,QACxC,CAAC,YAAa,CAAA,UAAU,CAAI,GAAA,QAAA;AAAA,OAC9B;AAAA,MACA,SAAA;AAAA,KACF;AAAA,IACC,GAAG,IAAA;AAAA,IAEH,QAAA,EAAA;AAAA,MAAW,OAAA,IAAA,CAAC,4BACV,GAAA,CAAA,KAAA,EAAA;AAAA,QACC,KAAM,EAAA,4BAAA;AAAA,QACN,OAAQ,EAAA,WAAA;AAAA,QACR,IAAK,EAAA,cAAA;AAAA,QAEL,QAAC,kBAAA,GAAA,CAAA,MAAA,EAAA;AAAA,UACC,QAAS,EAAA,SAAA;AAAA,UACT,CAAE,EAAA,qEAAA;AAAA,UACF,QAAS,EAAA,SAAA;AAAA,SACX,CAAA;AAAA,OACF,CAAA;AAAA,MAED,OAAA,IAAW,4BACT,GAAA,CAAA,KAAA,EAAA;AAAA,QACC,KAAM,EAAA,4BAAA;AAAA,QACN,IAAK,EAAA,cAAA;AAAA,QACL,OAAQ,EAAA,WAAA;AAAA,QAER,QAAC,kBAAA,GAAA,CAAA,MAAA,EAAA;AAAA,UACC,IAAK,EAAA,SAAA;AAAA,UACL,CAAE,EAAA,6CAAA;AAAA,SACJ,CAAA;AAAA,OACF,CAAA;AAAA,KAAA;AAAA,GAEJ,CAAA,CAAA;AAEJ;;;;"}
1
+ {"version":3,"file":"RadioButtonIcon.js","sources":["../src/radio-button/RadioButtonIcon.tsx"],"sourcesContent":["import { makePrefixer } from \"../utils\";\nimport { clsx } from \"clsx\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { AdornmentValidationStatus } from \"../status-adornment\";\nimport radioButtonIconCss from \"./RadioButtonIcon.css\";\nimport { ComponentPropsWithoutRef } from \"react\";\n\nconst withBaseName = makePrefixer(\"saltRadioButtonIcon\");\n\nexport interface RadioButtonIconProps extends ComponentPropsWithoutRef<\"div\"> {\n checked?: boolean;\n disabled?: boolean;\n /**\n * @deprecated Use validationStatus instead\n */\n error?: boolean;\n readOnly?: boolean;\n validationStatus?: AdornmentValidationStatus;\n}\n\n/**\n * Default radio icon\n */\nexport const RadioButtonIcon = ({\n checked,\n className,\n error,\n disabled,\n validationStatus,\n readOnly,\n ...rest\n}: RadioButtonIconProps) => {\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-radio-button-icon\",\n css: radioButtonIconCss,\n window: targetWindow,\n });\n return (\n <div\n aria-hidden=\"true\"\n className={clsx(\n withBaseName(),\n {\n [withBaseName(\"checked\")]: checked,\n [withBaseName(\"error\")]: error,\n [withBaseName(\"disabled\")]: disabled,\n [withBaseName(validationStatus || \"\")]: validationStatus,\n [withBaseName(\"readOnly\")]: readOnly,\n },\n className\n )}\n {...rest}\n >\n {checked && !readOnly && (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 12 12\"\n fill=\"currentColor\"\n >\n <path\n fillRule=\"evenodd\"\n d=\"M0 6a6 6 0 1 1 12 0A6 6 0 0 1 0 6Zm6 3a3 3 0 1 1 0-6 3 3 0 0 1 0 6Z\"\n clipRule=\"evenodd\"\n />\n </svg>\n )}\n {checked && readOnly && (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"currentColor\"\n viewBox=\"0 0 12 12\"\n >\n <path\n fill=\"#161616\"\n d=\"M9.5 6a3.5 3.5 0 1 1-7 0 3.5 3.5 0 0 1 7 0Z\"\n />\n </svg>\n )}\n </div>\n );\n};\n"],"names":["radioButtonIconCss"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQA,MAAM,YAAA,GAAe,aAAa,qBAAqB,CAAA,CAAA;AAgBhD,MAAM,kBAAkB,CAAC;AAAA,EAC9B,OAAA;AAAA,EACA,SAAA;AAAA,EACA,KAAA;AAAA,EACA,QAAA;AAAA,EACA,gBAAA;AAAA,EACA,QAAA;AAAA,EACG,GAAA,IAAA;AACL,CAA4B,KAAA;AAC1B,EAAA,MAAM,eAAe,SAAU,EAAA,CAAA;AAC/B,EAAyB,wBAAA,CAAA;AAAA,IACvB,MAAQ,EAAA,wBAAA;AAAA,IACR,GAAK,EAAAA,QAAA;AAAA,IACL,MAAQ,EAAA,YAAA;AAAA,GACT,CAAA,CAAA;AACD,EAAA,uBACG,IAAA,CAAA,KAAA,EAAA;AAAA,IACC,aAAY,EAAA,MAAA;AAAA,IACZ,SAAW,EAAA,IAAA;AAAA,MACT,YAAa,EAAA;AAAA,MACb;AAAA,QACE,CAAC,YAAa,CAAA,SAAS,CAAI,GAAA,OAAA;AAAA,QAC3B,CAAC,YAAa,CAAA,OAAO,CAAI,GAAA,KAAA;AAAA,QACzB,CAAC,YAAa,CAAA,UAAU,CAAI,GAAA,QAAA;AAAA,QAC5B,CAAC,YAAA,CAAa,gBAAoB,IAAA,EAAE,CAAI,GAAA,gBAAA;AAAA,QACxC,CAAC,YAAa,CAAA,UAAU,CAAI,GAAA,QAAA;AAAA,OAC9B;AAAA,MACA,SAAA;AAAA,KACF;AAAA,IACC,GAAG,IAAA;AAAA,IAEH,QAAA,EAAA;AAAA,MAAW,OAAA,IAAA,CAAC,4BACV,GAAA,CAAA,KAAA,EAAA;AAAA,QACC,KAAM,EAAA,4BAAA;AAAA,QACN,OAAQ,EAAA,WAAA;AAAA,QACR,IAAK,EAAA,cAAA;AAAA,QAEL,QAAC,kBAAA,GAAA,CAAA,MAAA,EAAA;AAAA,UACC,QAAS,EAAA,SAAA;AAAA,UACT,CAAE,EAAA,qEAAA;AAAA,UACF,QAAS,EAAA,SAAA;AAAA,SACX,CAAA;AAAA,OACF,CAAA;AAAA,MAED,OAAA,IAAW,4BACT,GAAA,CAAA,KAAA,EAAA;AAAA,QACC,KAAM,EAAA,4BAAA;AAAA,QACN,IAAK,EAAA,cAAA;AAAA,QACL,OAAQ,EAAA,WAAA;AAAA,QAER,QAAC,kBAAA,GAAA,CAAA,MAAA,EAAA;AAAA,UACC,IAAK,EAAA,SAAA;AAAA,UACL,CAAE,EAAA,6CAAA;AAAA,SACJ,CAAA;AAAA,OACF,CAAA;AAAA,KAAA;AAAA,GAEJ,CAAA,CAAA;AAEJ;;;;"}
@@ -5,6 +5,85 @@ import '../../utils/useId.js';
5
5
  import '../../salt-provider/SaltProvider.js';
6
6
  import '../../viewport/ViewportProvider.js';
7
7
  import 'clsx';
8
+ import '../../accordion/AccordionGroup.js';
9
+ import '../../accordion/AccordionPanel.js';
10
+ import '../../accordion/Accordion.js';
11
+ import '../../accordion/AccordionHeader.js';
12
+ import '../../aria-announcer/AriaAnnouncerContext.js';
13
+ import 'react/jsx-runtime';
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 '../../button/Button.js';
22
+ import '../../card/Card.js';
23
+ import '../../card/InteractableCard.js';
24
+ import '../../checkbox/Checkbox.js';
25
+ import '../../checkbox/CheckboxGroup.js';
26
+ import '@salt-ds/styles';
27
+ import '@salt-ds/window';
28
+ import '@salt-ds/icons';
29
+ import '../../combo-box/ComboBox.js';
30
+ import '../../dialog/Dialog.js';
31
+ import '../../status-indicator/StatusIndicator.js';
32
+ import '../../text/Text.js';
33
+ import '../../text/Display.js';
34
+ import '../../text/Headings.js';
35
+ import '../../text/Label.js';
36
+ import '../../text/TextNotation.js';
37
+ import '../../text/TextAction.js';
38
+ import '../../dialog/DialogContext.js';
39
+ import '../../dialog/DialogActions.js';
40
+ import '../../dialog/DialogContent.js';
41
+ import '../../dialog/DialogCloseButton.js';
42
+ import '../../drawer/Drawer.js';
43
+ import '../../drawer/DrawerCloseButton.js';
44
+ import '../../dropdown/Dropdown.js';
45
+ import '../../file-drop-zone/FileDropZone.js';
46
+ import '../../file-drop-zone/FileDropZoneIcon.js';
47
+ import '../../file-drop-zone/FileDropZoneTrigger.js';
48
+ import '../../flex-item/FlexItem.js';
49
+ import '../../flex-layout/FlexLayout.js';
50
+ import '../../flow-layout/FlowLayout.js';
51
+ import '../../form-field/FormField.js';
52
+ import '../../form-field-context/FormFieldContext.js';
53
+ import '../../grid-item/GridItem.js';
54
+ import '../../grid-layout/GridLayout.js';
55
+ import '../../input/Input.js';
56
+ import '../../link/Link.js';
57
+ import '../../link-card/LinkCard.js';
58
+ import '../../list-control/ListControlContext.js';
59
+ import '../../multiline-input/MultilineInput.js';
60
+ import '../../navigation-item/NavigationItem.js';
61
+ import '../../option/Option.js';
62
+ import '../../option/OptionGroup.js';
63
+ import '../../pagination/Pagination.js';
64
+ import '../../pagination/Paginator.js';
65
+ import '../../pagination/CompactInput.js';
66
+ import '../../pagination/CompactPaginator.js';
67
+ import '../../pagination/GoToInput.js';
68
+ import '../../panel/Panel.js';
69
+ import '../../pill/Pill.js';
70
+ import '../../progress/CircularProgress/CircularProgress.js';
71
+ import '../../progress/LinearProgress/LinearProgress.js';
72
+ import '../RadioButton.js';
73
+ import '../RadioButtonGroup.js';
74
+ import '../../scrim/Scrim.js';
75
+ import '../../spinner/Spinner.js';
76
+ import '../../stack-layout/StackLayout.js';
77
+ import '../../status-adornment/StatusAdornment.js';
78
+ import '../../toast/Toast.js';
79
+ import '../../toast/ToastContent.js';
80
+ import '../../split-layout/SplitLayout.js';
81
+ import '../../switch/Switch.js';
82
+ import '../../toggle-button/ToggleButton.js';
83
+ import '../../toggle-button-group/ToggleButtonGroup.js';
84
+ import '../../toggle-button-group/ToggleButtonGroupContext.js';
85
+ import '../../tooltip/Tooltip.js';
86
+ import '@floating-ui/react';
8
87
 
9
88
  const RadioGroupContext = createContext("RadioGroupContext", void 0);
10
89
 
@@ -1 +1 @@
1
- {"version":3,"file":"RadioGroupContext.js","sources":["../src/radio-button/internal/RadioGroupContext.tsx"],"sourcesContent":["import { ChangeEventHandler } from \"react\";\nimport { AdornmentValidationStatus } from \"../../status-adornment\";\nimport { createContext } from \"../../utils\";\n\nexport interface RadioGroupContextValue {\n disabled?: boolean;\n name?: string;\n value?: string;\n onChange?: ChangeEventHandler<HTMLElement>;\n readOnly?: boolean;\n validationStatus?: AdornmentValidationStatus;\n}\n\nexport const RadioGroupContext = createContext<\n RadioGroupContextValue | undefined\n>(\"RadioGroupContext\", undefined);\n"],"names":[],"mappings":";;;;;;;;AAaa,MAAA,iBAAA,GAAoB,aAE/B,CAAA,mBAAA,EAAqB,KAAS,CAAA;;;;"}
1
+ {"version":3,"file":"RadioGroupContext.js","sources":["../src/radio-button/internal/RadioGroupContext.tsx"],"sourcesContent":["import { ChangeEventHandler } from \"react\";\nimport { AdornmentValidationStatus } from \"../../status-adornment\";\nimport { createContext } from \"../../utils\";\n\nexport interface RadioGroupContextValue {\n disabled?: boolean;\n name?: string;\n value?: string;\n onChange?: ChangeEventHandler<HTMLElement>;\n readOnly?: boolean;\n validationStatus?: AdornmentValidationStatus;\n}\n\nexport const RadioGroupContext = createContext<\n RadioGroupContextValue | undefined\n>(\"RadioGroupContext\", undefined);\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAaa,MAAA,iBAAA,GAAoB,aAE/B,CAAA,mBAAA,EAAqB,KAAS,CAAA;;;;"}
@@ -6,11 +6,86 @@ import '../utils/useFloatingUI/useFloatingUI.js';
6
6
  import '../utils/useId.js';
7
7
  import { useIsomorphicLayoutEffect } from '../utils/useIsomorphicLayoutEffect.js';
8
8
  import { ViewportProvider } from '../viewport/ViewportProvider.js';
9
- import { AriaAnnouncerProvider } from '../aria-announcer/AriaAnnouncerProvider.js';
9
+ import '../accordion/AccordionGroup.js';
10
+ import '../accordion/AccordionPanel.js';
11
+ import '../accordion/Accordion.js';
12
+ import '../accordion/AccordionHeader.js';
13
+ import '../avatar/Avatar.js';
14
+ import '../badge/Badge.js';
15
+ import '../banner/Banner.js';
16
+ import '../banner/BannerActions.js';
17
+ import '../banner/BannerContent.js';
18
+ import '../border-item/BorderItem.js';
19
+ import '../border-layout/BorderLayout.js';
10
20
  import { DEFAULT_BREAKPOINTS } from '../breakpoints/Breakpoints.js';
11
- import css_248z from './SaltProvider.css.js';
12
- import { useWindow } from '@salt-ds/window';
21
+ import '../button/Button.js';
22
+ import '../card/Card.js';
23
+ import '../card/InteractableCard.js';
24
+ import '../checkbox/Checkbox.js';
25
+ import '../checkbox/CheckboxGroup.js';
13
26
  import { StyleInjectionProvider, useComponentCssInjection } from '@salt-ds/styles';
27
+ import { useWindow } from '@salt-ds/window';
28
+ import '@salt-ds/icons';
29
+ import '../combo-box/ComboBox.js';
30
+ import '../dialog/Dialog.js';
31
+ import '../status-indicator/StatusIndicator.js';
32
+ import '../text/Text.js';
33
+ import '../text/Display.js';
34
+ import '../text/Headings.js';
35
+ import '../text/Label.js';
36
+ import '../text/TextNotation.js';
37
+ import '../text/TextAction.js';
38
+ import '../dialog/DialogContext.js';
39
+ import '../dialog/DialogActions.js';
40
+ import '../dialog/DialogContent.js';
41
+ import '../dialog/DialogCloseButton.js';
42
+ import '../drawer/Drawer.js';
43
+ import '../drawer/DrawerCloseButton.js';
44
+ import '../dropdown/Dropdown.js';
45
+ import '../file-drop-zone/FileDropZone.js';
46
+ import '../file-drop-zone/FileDropZoneIcon.js';
47
+ import '../file-drop-zone/FileDropZoneTrigger.js';
48
+ import '../flex-item/FlexItem.js';
49
+ import '../flex-layout/FlexLayout.js';
50
+ import '../flow-layout/FlowLayout.js';
51
+ import '../form-field/FormField.js';
52
+ import '../form-field-context/FormFieldContext.js';
53
+ import '../grid-item/GridItem.js';
54
+ import '../grid-layout/GridLayout.js';
55
+ import '../input/Input.js';
56
+ import '../link/Link.js';
57
+ import '../link-card/LinkCard.js';
58
+ import '../list-control/ListControlContext.js';
59
+ import '../multiline-input/MultilineInput.js';
60
+ import '../navigation-item/NavigationItem.js';
61
+ import '../option/Option.js';
62
+ import '../option/OptionGroup.js';
63
+ import '../pagination/Pagination.js';
64
+ import '../pagination/Paginator.js';
65
+ import '../pagination/CompactInput.js';
66
+ import '../pagination/CompactPaginator.js';
67
+ import '../pagination/GoToInput.js';
68
+ import '../panel/Panel.js';
69
+ import '../pill/Pill.js';
70
+ import '../progress/CircularProgress/CircularProgress.js';
71
+ import '../progress/LinearProgress/LinearProgress.js';
72
+ import '../radio-button/RadioButton.js';
73
+ import '../radio-button/RadioButtonGroup.js';
74
+ import '../scrim/Scrim.js';
75
+ import '../spinner/Spinner.js';
76
+ import '../stack-layout/StackLayout.js';
77
+ import '../status-adornment/StatusAdornment.js';
78
+ import '../toast/Toast.js';
79
+ import '../toast/ToastContent.js';
80
+ import '../split-layout/SplitLayout.js';
81
+ import '../switch/Switch.js';
82
+ import '../toggle-button/ToggleButton.js';
83
+ import '../toggle-button-group/ToggleButtonGroup.js';
84
+ import '../toggle-button-group/ToggleButtonGroupContext.js';
85
+ import '../tooltip/Tooltip.js';
86
+ import '@floating-ui/react';
87
+ import { AriaAnnouncerProvider } from '../aria-announcer/AriaAnnouncerProvider.js';
88
+ import css_248z from './SaltProvider.css.js';
14
89
 
15
90
  const DEFAULT_DENSITY = "medium";
16
91
  const DEFAULT_THEME_NAME = "salt-theme";
@@ -1 +1 @@
1
- {"version":3,"file":"SaltProvider.js","sources":["../src/salt-provider/SaltProvider.tsx"],"sourcesContent":["import { clsx } from \"clsx\";\nimport React, {\n createContext,\n HTMLAttributes,\n ReactElement,\n ReactNode,\n useContext,\n useMemo,\n} from \"react\";\nimport { AriaAnnouncerProvider } from \"../aria-announcer\";\nimport { Breakpoints, DEFAULT_BREAKPOINTS } from \"../breakpoints\";\nimport { Density, Mode, ThemeName } from \"../theme\";\nimport { ViewportProvider } from \"../viewport\";\nimport { useIsomorphicLayoutEffect } from \"../utils\";\n\nimport saltProviderCss from \"./SaltProvider.css\";\nimport { useWindow, WindowContextType } from \"@salt-ds/window\";\nimport {\n useComponentCssInjection,\n StyleInjectionProvider,\n} from \"@salt-ds/styles\";\nimport { UNSTABLE_Corner } from \"../theme/Corner\";\n\nexport const DEFAULT_DENSITY = \"medium\";\n\nconst DEFAULT_THEME_NAME = \"salt-theme\";\nconst UNSTABLE_ADDITIONAL_THEME_NAME = \"salt-theme-next\";\n\nconst DEFAULT_MODE = \"light\";\nconst DEFAULT_CORNER: UNSTABLE_Corner = \"sharp\";\nexport interface ThemeContextProps {\n theme: ThemeName;\n mode: Mode;\n window?: WindowContextType;\n /** Only available when using SaltProviderNext. */\n themeNext: boolean;\n UNSTABLE_corner: UNSTABLE_Corner;\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 UNSTABLE_corner: DEFAULT_CORNER,\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 = (themeName: ThemeName, themeNext?: boolean) => {\n if (themeNext) {\n return themeName === DEFAULT_THEME_NAME\n ? [DEFAULT_THEME_NAME, UNSTABLE_ADDITIONAL_THEME_NAME]\n : [DEFAULT_THEME_NAME, UNSTABLE_ADDITIONAL_THEME_NAME, themeName];\n } else {\n {\n return themeName === DEFAULT_THEME_NAME\n ? [DEFAULT_THEME_NAME]\n : [DEFAULT_THEME_NAME, themeName];\n }\n }\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}: {\n children: ReactNode;\n themeName: ThemeName;\n density: Density;\n mode: Mode;\n applyClassesTo?: TargetElement;\n} & ThemeNextProps &\n UNSTABLE_SaltProviderNextAdditionalProps) => {\n const themeNames = getThemeNames(themeName, themeNext);\n const themeNextProps = {\n \"data-corner\": corner,\n };\n if (applyClassesTo === \"root\") {\n return children;\n } else if (applyClassesTo === \"child\") {\n if (React.isValidElement<HTMLAttributes<HTMLElement>>(children)) {\n return React.cloneElement(children, {\n className: clsx(\n children.props?.className,\n ...themeNames,\n `salt-density-${density}`\n ),\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n \"data-mode\": mode,\n ...(themeNext ? themeNextProps : {}),\n });\n } else {\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 } else {\n return (\n <div\n className={clsx(\n `salt-provider`,\n ...themeNames,\n `salt-density-${density}`\n )}\n data-mode={mode}\n {...(themeNext ? themeNextProps : {})}\n >\n {children}\n </div>\n );\n }\n};\n\ntype TargetElement = \"root\" | \"scope\" | \"child\";\n\ninterface SaltProviderBaseProps {\n applyClassesTo?: TargetElement;\n density?: Density;\n theme?: ThemeName;\n mode?: Mode;\n breakpoints?: Breakpoints;\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}: Omit<\n SaltProviderProps & ThemeNextProps & UNSTABLE_SaltProviderNextProps,\n \"enableStyleInjection\"\n>) {\n const inheritedDensity = useContext(DensityContext);\n const {\n theme: inheritedTheme,\n mode: inheritedMode,\n window: inheritedWindow,\n UNSTABLE_corner: inheritedCorner,\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\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 UNSTABLE_corner: corner,\n }),\n [themeName, mode, targetWindow, themeNext, corner]\n );\n\n const themedChildren = createThemedChildren({\n children,\n themeName,\n density,\n mode,\n applyClassesTo,\n themeNext,\n corner: corner,\n });\n\n useIsomorphicLayoutEffect(() => {\n const themeNames = getThemeNames(themeName, themeNext);\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 }\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 }\n }\n };\n }, [\n applyClassesTo,\n density,\n mode,\n themeName,\n targetWindow,\n inheritedWindow,\n themeNext,\n corner,\n ]);\n\n const saltProvider = (\n <DensityContext.Provider value={density}>\n <ThemeContext.Provider value={themeContextValue}>\n <BreakpointContext.Provider value={breakpoints}>\n <ViewportProvider>{themedChildren}</ViewportProvider>\n </BreakpointContext.Provider>\n </ThemeContext.Provider>\n </DensityContext.Provider>\n );\n\n if (isRootProvider) {\n return <AriaAnnouncerProvider>{saltProvider}</AriaAnnouncerProvider>;\n } else {\n return saltProvider;\n }\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 UNSTABLE_SaltProviderNextAdditionalProps {\n corner?: UNSTABLE_Corner;\n}\n\nexport type UNSTABLE_SaltProviderNextProps = SaltProviderProps &\n UNSTABLE_SaltProviderNextAdditionalProps;\n\nexport function UNSTABLE_SaltProviderNext({\n enableStyleInjection,\n ...restProps\n}: UNSTABLE_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\nexport const useTheme = (): ThemeContextProps => {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\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":["React","saltProviderCss"],"mappings":"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"}
1
+ {"version":3,"file":"SaltProvider.js","sources":["../src/salt-provider/SaltProvider.tsx"],"sourcesContent":["import { clsx } from \"clsx\";\nimport React, {\n createContext,\n HTMLAttributes,\n ReactElement,\n ReactNode,\n useContext,\n useMemo,\n} from \"react\";\nimport { AriaAnnouncerProvider } from \"../aria-announcer\";\nimport { Breakpoints, DEFAULT_BREAKPOINTS } from \"../breakpoints\";\nimport { Density, Mode, ThemeName } from \"../theme\";\nimport { ViewportProvider } from \"../viewport\";\nimport { useIsomorphicLayoutEffect } from \"../utils\";\n\nimport saltProviderCss from \"./SaltProvider.css\";\nimport { useWindow, WindowContextType } from \"@salt-ds/window\";\nimport {\n useComponentCssInjection,\n StyleInjectionProvider,\n} from \"@salt-ds/styles\";\nimport { UNSTABLE_Corner } from \"../theme/Corner\";\n\nexport const DEFAULT_DENSITY = \"medium\";\n\nconst DEFAULT_THEME_NAME = \"salt-theme\";\nconst UNSTABLE_ADDITIONAL_THEME_NAME = \"salt-theme-next\";\n\nconst DEFAULT_MODE = \"light\";\nconst DEFAULT_CORNER: UNSTABLE_Corner = \"sharp\";\nexport interface ThemeContextProps {\n theme: ThemeName;\n mode: Mode;\n window?: WindowContextType;\n /** Only available when using SaltProviderNext. */\n themeNext: boolean;\n UNSTABLE_corner: UNSTABLE_Corner;\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 UNSTABLE_corner: DEFAULT_CORNER,\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 = (themeName: ThemeName, themeNext?: boolean) => {\n if (themeNext) {\n return themeName === DEFAULT_THEME_NAME\n ? [DEFAULT_THEME_NAME, UNSTABLE_ADDITIONAL_THEME_NAME]\n : [DEFAULT_THEME_NAME, UNSTABLE_ADDITIONAL_THEME_NAME, themeName];\n } else {\n {\n return themeName === DEFAULT_THEME_NAME\n ? [DEFAULT_THEME_NAME]\n : [DEFAULT_THEME_NAME, themeName];\n }\n }\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}: {\n children: ReactNode;\n themeName: ThemeName;\n density: Density;\n mode: Mode;\n applyClassesTo?: TargetElement;\n} & ThemeNextProps &\n UNSTABLE_SaltProviderNextAdditionalProps) => {\n const themeNames = getThemeNames(themeName, themeNext);\n const themeNextProps = {\n \"data-corner\": corner,\n };\n if (applyClassesTo === \"root\") {\n return children;\n } else if (applyClassesTo === \"child\") {\n if (React.isValidElement<HTMLAttributes<HTMLElement>>(children)) {\n return React.cloneElement(children, {\n className: clsx(\n children.props?.className,\n ...themeNames,\n `salt-density-${density}`\n ),\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n \"data-mode\": mode,\n ...(themeNext ? themeNextProps : {}),\n });\n } else {\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 } else {\n return (\n <div\n className={clsx(\n `salt-provider`,\n ...themeNames,\n `salt-density-${density}`\n )}\n data-mode={mode}\n {...(themeNext ? themeNextProps : {})}\n >\n {children}\n </div>\n );\n }\n};\n\ntype TargetElement = \"root\" | \"scope\" | \"child\";\n\ninterface SaltProviderBaseProps {\n applyClassesTo?: TargetElement;\n density?: Density;\n theme?: ThemeName;\n mode?: Mode;\n breakpoints?: Breakpoints;\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}: Omit<\n SaltProviderProps & ThemeNextProps & UNSTABLE_SaltProviderNextProps,\n \"enableStyleInjection\"\n>) {\n const inheritedDensity = useContext(DensityContext);\n const {\n theme: inheritedTheme,\n mode: inheritedMode,\n window: inheritedWindow,\n UNSTABLE_corner: inheritedCorner,\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\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 UNSTABLE_corner: corner,\n }),\n [themeName, mode, targetWindow, themeNext, corner]\n );\n\n const themedChildren = createThemedChildren({\n children,\n themeName,\n density,\n mode,\n applyClassesTo,\n themeNext,\n corner: corner,\n });\n\n useIsomorphicLayoutEffect(() => {\n const themeNames = getThemeNames(themeName, themeNext);\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 }\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 }\n }\n };\n }, [\n applyClassesTo,\n density,\n mode,\n themeName,\n targetWindow,\n inheritedWindow,\n themeNext,\n corner,\n ]);\n\n const saltProvider = (\n <DensityContext.Provider value={density}>\n <ThemeContext.Provider value={themeContextValue}>\n <BreakpointContext.Provider value={breakpoints}>\n <ViewportProvider>{themedChildren}</ViewportProvider>\n </BreakpointContext.Provider>\n </ThemeContext.Provider>\n </DensityContext.Provider>\n );\n\n if (isRootProvider) {\n return <AriaAnnouncerProvider>{saltProvider}</AriaAnnouncerProvider>;\n } else {\n return saltProvider;\n }\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 UNSTABLE_SaltProviderNextAdditionalProps {\n corner?: UNSTABLE_Corner;\n}\n\nexport type UNSTABLE_SaltProviderNextProps = SaltProviderProps &\n UNSTABLE_SaltProviderNextAdditionalProps;\n\nexport function UNSTABLE_SaltProviderNext({\n enableStyleInjection,\n ...restProps\n}: UNSTABLE_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\nexport const useTheme = (): ThemeContextProps => {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\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":["React","saltProviderCss"],"mappings":"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"}
@@ -6,8 +6,83 @@ 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 { useWindow } from '@salt-ds/window';
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 '../button/Button.js';
22
+ import '../card/Card.js';
23
+ import '../card/InteractableCard.js';
24
+ import '../checkbox/Checkbox.js';
25
+ import '../checkbox/CheckboxGroup.js';
10
26
  import { useComponentCssInjection } from '@salt-ds/styles';
27
+ import { useWindow } from '@salt-ds/window';
28
+ import '@salt-ds/icons';
29
+ import '../combo-box/ComboBox.js';
30
+ import '../dialog/Dialog.js';
31
+ import '../status-indicator/StatusIndicator.js';
32
+ import '../text/Text.js';
33
+ import '../text/Display.js';
34
+ import '../text/Headings.js';
35
+ import '../text/Label.js';
36
+ import '../text/TextNotation.js';
37
+ import '../text/TextAction.js';
38
+ import '../dialog/DialogContext.js';
39
+ import '../dialog/DialogActions.js';
40
+ import '../dialog/DialogContent.js';
41
+ import '../dialog/DialogCloseButton.js';
42
+ import '../drawer/Drawer.js';
43
+ import '../drawer/DrawerCloseButton.js';
44
+ import '../dropdown/Dropdown.js';
45
+ import '../file-drop-zone/FileDropZone.js';
46
+ import '../file-drop-zone/FileDropZoneIcon.js';
47
+ import '../file-drop-zone/FileDropZoneTrigger.js';
48
+ import '../flex-item/FlexItem.js';
49
+ import '../flex-layout/FlexLayout.js';
50
+ import '../flow-layout/FlowLayout.js';
51
+ import '../form-field/FormField.js';
52
+ import '../form-field-context/FormFieldContext.js';
53
+ import '../grid-item/GridItem.js';
54
+ import '../grid-layout/GridLayout.js';
55
+ import '../input/Input.js';
56
+ import '../link/Link.js';
57
+ import '../link-card/LinkCard.js';
58
+ import '../list-control/ListControlContext.js';
59
+ import '../multiline-input/MultilineInput.js';
60
+ import '../navigation-item/NavigationItem.js';
61
+ import '../option/Option.js';
62
+ import '../option/OptionGroup.js';
63
+ import '../pagination/Pagination.js';
64
+ import '../pagination/Paginator.js';
65
+ import '../pagination/CompactInput.js';
66
+ import '../pagination/CompactPaginator.js';
67
+ import '../pagination/GoToInput.js';
68
+ import '../panel/Panel.js';
69
+ import '../pill/Pill.js';
70
+ import '../progress/CircularProgress/CircularProgress.js';
71
+ import '../progress/LinearProgress/LinearProgress.js';
72
+ import '../radio-button/RadioButton.js';
73
+ import '../radio-button/RadioButtonGroup.js';
74
+ import '../spinner/Spinner.js';
75
+ import '../stack-layout/StackLayout.js';
76
+ import '../status-adornment/StatusAdornment.js';
77
+ import '../toast/Toast.js';
78
+ import '../toast/ToastContent.js';
79
+ import '../split-layout/SplitLayout.js';
80
+ import '../switch/Switch.js';
81
+ import '../toggle-button/ToggleButton.js';
82
+ import '../toggle-button-group/ToggleButtonGroup.js';
83
+ import '../toggle-button-group/ToggleButtonGroupContext.js';
84
+ import '../tooltip/Tooltip.js';
85
+ import '@floating-ui/react';
11
86
  import css_248z from './Scrim.css.js';
12
87
 
13
88
  const withBaseName = makePrefixer("saltScrim");
@@ -1 +1 @@
1
- {"version":3,"file":"Scrim.js","sources":["../src/scrim/Scrim.tsx"],"sourcesContent":["import { clsx } from \"clsx\";\nimport { ComponentPropsWithoutRef, forwardRef } from \"react\";\nimport { makePrefixer } from \"../utils\";\n\nimport { useWindow } from \"@salt-ds/window\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\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 { ComponentPropsWithoutRef, forwardRef } from \"react\";\nimport { makePrefixer } from \"../utils\";\n\nimport { useWindow } from \"@salt-ds/window\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\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;;;;"}