@salt-ds/core 1.20.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 (429) hide show
  1. package/css/salt-core.css +470 -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.js +77 -3
  51. package/dist-cjs/dialog/Dialog.js.map +1 -1
  52. package/dist-cjs/dialog/DialogActions.js +76 -1
  53. package/dist-cjs/dialog/DialogActions.js.map +1 -1
  54. package/dist-cjs/dialog/DialogCloseButton.js +74 -1
  55. package/dist-cjs/dialog/DialogCloseButton.js.map +1 -1
  56. package/dist-cjs/dialog/DialogContent.js +76 -1
  57. package/dist-cjs/dialog/DialogContent.js.map +1 -1
  58. package/dist-cjs/dialog/DialogHeader.js +71 -3
  59. package/dist-cjs/dialog/DialogHeader.js.map +1 -1
  60. package/dist-cjs/drawer/Drawer.js +75 -2
  61. package/dist-cjs/drawer/Drawer.js.map +1 -1
  62. package/dist-cjs/drawer/DrawerCloseButton.js +74 -1
  63. package/dist-cjs/drawer/DrawerCloseButton.js.map +1 -1
  64. package/dist-cjs/dropdown/Dropdown.css.js +6 -0
  65. package/dist-cjs/dropdown/Dropdown.css.js.map +1 -0
  66. package/dist-cjs/dropdown/Dropdown.js +412 -0
  67. package/dist-cjs/dropdown/Dropdown.js.map +1 -0
  68. package/dist-cjs/file-drop-zone/FileDropZone.js +75 -0
  69. package/dist-cjs/file-drop-zone/FileDropZone.js.map +1 -1
  70. package/dist-cjs/file-drop-zone/FileDropZoneTrigger.js +76 -0
  71. package/dist-cjs/file-drop-zone/FileDropZoneTrigger.js.map +1 -1
  72. package/dist-cjs/flex-item/FlexItem.js +79 -2
  73. package/dist-cjs/flex-item/FlexItem.js.map +1 -1
  74. package/dist-cjs/flex-layout/FlexLayout.js +79 -2
  75. package/dist-cjs/flex-layout/FlexLayout.js.map +1 -1
  76. package/dist-cjs/form-field/FormField.js +74 -0
  77. package/dist-cjs/form-field/FormField.js.map +1 -1
  78. package/dist-cjs/form-field/FormFieldHelperText.js +70 -2
  79. package/dist-cjs/form-field/FormFieldHelperText.js.map +1 -1
  80. package/dist-cjs/form-field/FormFieldLabel.js +69 -0
  81. package/dist-cjs/form-field/FormFieldLabel.js.map +1 -1
  82. package/dist-cjs/form-field-context/FormFieldContext.js +78 -0
  83. package/dist-cjs/form-field-context/FormFieldContext.js.map +1 -1
  84. package/dist-cjs/grid-item/GridItem.js +79 -2
  85. package/dist-cjs/grid-item/GridItem.js.map +1 -1
  86. package/dist-cjs/grid-layout/GridLayout.js +79 -2
  87. package/dist-cjs/grid-layout/GridLayout.js.map +1 -1
  88. package/dist-cjs/index.js +16 -0
  89. package/dist-cjs/index.js.map +1 -1
  90. package/dist-cjs/input/Input.js +73 -0
  91. package/dist-cjs/input/Input.js.map +1 -1
  92. package/dist-cjs/link/Link.js +70 -2
  93. package/dist-cjs/link/Link.js.map +1 -1
  94. package/dist-cjs/link-card/LinkCard.js +75 -0
  95. package/dist-cjs/link-card/LinkCard.js.map +1 -1
  96. package/dist-cjs/list-control/ListControlContext.js +121 -0
  97. package/dist-cjs/list-control/ListControlContext.js.map +1 -0
  98. package/dist-cjs/list-control/ListControlState.js +276 -0
  99. package/dist-cjs/list-control/ListControlState.js.map +1 -0
  100. package/dist-cjs/multiline-input/MultilineInput.js +73 -0
  101. package/dist-cjs/multiline-input/MultilineInput.js.map +1 -1
  102. package/dist-cjs/navigation-item/NavigationItem.js +77 -2
  103. package/dist-cjs/navigation-item/NavigationItem.js.map +1 -1
  104. package/dist-cjs/option/Option.css.js +6 -0
  105. package/dist-cjs/option/Option.css.js.map +1 -0
  106. package/dist-cjs/option/Option.js +178 -0
  107. package/dist-cjs/option/Option.js.map +1 -0
  108. package/dist-cjs/option/OptionGroup.css.js +6 -0
  109. package/dist-cjs/option/OptionGroup.css.js.map +1 -0
  110. package/dist-cjs/option/OptionGroup.js +123 -0
  111. package/dist-cjs/option/OptionGroup.js.map +1 -0
  112. package/dist-cjs/option/OptionList.css.js +6 -0
  113. package/dist-cjs/option/OptionList.css.js.map +1 -0
  114. package/dist-cjs/option/OptionList.js +118 -0
  115. package/dist-cjs/option/OptionList.js.map +1 -0
  116. package/dist-cjs/option/OptionListBase.js +113 -0
  117. package/dist-cjs/option/OptionListBase.js.map +1 -0
  118. package/dist-cjs/pagination/CompactInput.js +76 -2
  119. package/dist-cjs/pagination/CompactInput.js.map +1 -1
  120. package/dist-cjs/pagination/CompactPaginator.js +69 -2
  121. package/dist-cjs/pagination/CompactPaginator.js.map +1 -1
  122. package/dist-cjs/pagination/GoToInput.js +68 -3
  123. package/dist-cjs/pagination/GoToInput.js.map +1 -1
  124. package/dist-cjs/pagination/PageButton.js +77 -2
  125. package/dist-cjs/pagination/PageButton.js.map +1 -1
  126. package/dist-cjs/pagination/PageRanges.js +78 -2
  127. package/dist-cjs/pagination/PageRanges.js.map +1 -1
  128. package/dist-cjs/pagination/Pagination.js +76 -2
  129. package/dist-cjs/pagination/Pagination.js.map +1 -1
  130. package/dist-cjs/pagination/Paginator.js +75 -2
  131. package/dist-cjs/pagination/Paginator.js.map +1 -1
  132. package/dist-cjs/panel/Panel.js +77 -2
  133. package/dist-cjs/panel/Panel.js.map +1 -1
  134. package/dist-cjs/pill/Pill.js +74 -0
  135. package/dist-cjs/pill/Pill.js.map +1 -1
  136. package/dist-cjs/pill-input/PillInput.css.js +6 -0
  137. package/dist-cjs/pill-input/PillInput.css.js.map +1 -0
  138. package/dist-cjs/pill-input/PillInput.js +338 -0
  139. package/dist-cjs/pill-input/PillInput.js.map +1 -0
  140. package/dist-cjs/pill-input/useTruncatePills.js +83 -0
  141. package/dist-cjs/pill-input/useTruncatePills.js.map +1 -0
  142. package/dist-cjs/progress/CircularProgress/CircularProgress.css.js +1 -1
  143. package/dist-cjs/progress/CircularProgress/CircularProgress.js +138 -14
  144. package/dist-cjs/progress/CircularProgress/CircularProgress.js.map +1 -1
  145. package/dist-cjs/progress/LinearProgress/LinearProgress.css.js +1 -1
  146. package/dist-cjs/progress/LinearProgress/LinearProgress.js +89 -8
  147. package/dist-cjs/progress/LinearProgress/LinearProgress.js.map +1 -1
  148. package/dist-cjs/radio-button/RadioButton.js +78 -4
  149. package/dist-cjs/radio-button/RadioButton.js.map +1 -1
  150. package/dist-cjs/radio-button/RadioButtonGroup.js +77 -3
  151. package/dist-cjs/radio-button/RadioButtonGroup.js.map +1 -1
  152. package/dist-cjs/radio-button/RadioButtonIcon.js +76 -0
  153. package/dist-cjs/radio-button/RadioButtonIcon.js.map +1 -1
  154. package/dist-cjs/radio-button/internal/RadioGroupContext.js +79 -0
  155. package/dist-cjs/radio-button/internal/RadioGroupContext.js.map +1 -1
  156. package/dist-cjs/salt-provider/SaltProvider.js +78 -3
  157. package/dist-cjs/salt-provider/SaltProvider.js.map +1 -1
  158. package/dist-cjs/scrim/Scrim.js +76 -1
  159. package/dist-cjs/scrim/Scrim.js.map +1 -1
  160. package/dist-cjs/spinner/Spinner.js +76 -2
  161. package/dist-cjs/spinner/Spinner.js.map +1 -1
  162. package/dist-cjs/spinner/svgSpinners/SpinnerSVG.js +78 -0
  163. package/dist-cjs/spinner/svgSpinners/SpinnerSVG.js.map +1 -1
  164. package/dist-cjs/split-layout/SplitLayout.js +76 -2
  165. package/dist-cjs/split-layout/SplitLayout.js.map +1 -1
  166. package/dist-cjs/stack-layout/StackLayout.js +78 -2
  167. package/dist-cjs/stack-layout/StackLayout.js.map +1 -1
  168. package/dist-cjs/status-adornment/StatusAdornment.js +75 -0
  169. package/dist-cjs/status-adornment/StatusAdornment.js.map +1 -1
  170. package/dist-cjs/status-indicator/StatusIndicator.js +76 -2
  171. package/dist-cjs/status-indicator/StatusIndicator.js.map +1 -1
  172. package/dist-cjs/switch/Switch.js +75 -2
  173. package/dist-cjs/switch/Switch.js.map +1 -1
  174. package/dist-cjs/text/Text.js +77 -2
  175. package/dist-cjs/text/Text.js.map +1 -1
  176. package/dist-cjs/toast/Toast.js +74 -0
  177. package/dist-cjs/toast/Toast.js.map +1 -1
  178. package/dist-cjs/toast/ToastContent.js +75 -0
  179. package/dist-cjs/toast/ToastContent.js.map +1 -1
  180. package/dist-cjs/toggle-button/ToggleButton.js +73 -0
  181. package/dist-cjs/toggle-button/ToggleButton.js.map +1 -1
  182. package/dist-cjs/toggle-button-group/ToggleButtonGroup.js +74 -0
  183. package/dist-cjs/toggle-button-group/ToggleButtonGroup.js.map +1 -1
  184. package/dist-cjs/toggle-button-group/ToggleButtonGroupContext.js +78 -0
  185. package/dist-cjs/toggle-button-group/ToggleButtonGroupContext.js.map +1 -1
  186. package/dist-cjs/tooltip/Tooltip.js +75 -1
  187. package/dist-cjs/tooltip/Tooltip.js.map +1 -1
  188. package/dist-cjs/tooltip/TooltipBase.js +75 -2
  189. package/dist-cjs/tooltip/TooltipBase.js.map +1 -1
  190. package/dist-cjs/tooltip/useAriaAnnounce.js +77 -0
  191. package/dist-cjs/tooltip/useAriaAnnounce.js.map +1 -1
  192. package/dist-cjs/tooltip/useTooltip.js +78 -0
  193. package/dist-cjs/tooltip/useTooltip.js.map +1 -1
  194. package/dist-cjs/utils/ownerWindow.js.map +1 -1
  195. package/dist-cjs/utils/useEventCallback.js +20 -0
  196. package/dist-cjs/utils/useEventCallback.js.map +1 -0
  197. package/dist-cjs/utils/useResizeObserver.js +29 -0
  198. package/dist-cjs/utils/useResizeObserver.js.map +1 -0
  199. package/dist-cjs/utils/useValueEffect.js +124 -0
  200. package/dist-cjs/utils/useValueEffect.js.map +1 -0
  201. package/dist-cjs/viewport/ViewportProvider.js +78 -0
  202. package/dist-cjs/viewport/ViewportProvider.js.map +1 -1
  203. package/dist-es/accordion/Accordion.js +75 -0
  204. package/dist-es/accordion/Accordion.js.map +1 -1
  205. package/dist-es/accordion/AccordionContext.js +79 -0
  206. package/dist-es/accordion/AccordionContext.js.map +1 -1
  207. package/dist-es/accordion/AccordionGroup.js +76 -1
  208. package/dist-es/accordion/AccordionGroup.js.map +1 -1
  209. package/dist-es/accordion/AccordionHeader.js +73 -0
  210. package/dist-es/accordion/AccordionHeader.js.map +1 -1
  211. package/dist-es/accordion/AccordionPanel.js +75 -0
  212. package/dist-es/accordion/AccordionPanel.js.map +1 -1
  213. package/dist-es/aria-announcer/useAriaAnnouncer.js +78 -0
  214. package/dist-es/aria-announcer/useAriaAnnouncer.js.map +1 -1
  215. package/dist-es/avatar/Avatar.js +74 -0
  216. package/dist-es/avatar/Avatar.js.map +1 -1
  217. package/dist-es/avatar/useAvatarImage.js +79 -0
  218. package/dist-es/avatar/useAvatarImage.js.map +1 -1
  219. package/dist-es/badge/Badge.js +75 -0
  220. package/dist-es/badge/Badge.js.map +1 -1
  221. package/dist-es/banner/Banner.js +76 -2
  222. package/dist-es/banner/Banner.js.map +1 -1
  223. package/dist-es/banner/BannerActions.js +76 -1
  224. package/dist-es/banner/BannerActions.js.map +1 -1
  225. package/dist-es/banner/BannerContent.js +76 -1
  226. package/dist-es/banner/BannerContent.js.map +1 -1
  227. package/dist-es/border-item/BorderItem.js +75 -1
  228. package/dist-es/border-item/BorderItem.js.map +1 -1
  229. package/dist-es/border-layout/BorderLayout.js +76 -0
  230. package/dist-es/border-layout/BorderLayout.js.map +1 -1
  231. package/dist-es/button/Button.js +76 -1
  232. package/dist-es/button/Button.js.map +1 -1
  233. package/dist-es/card/Card.js +75 -0
  234. package/dist-es/card/Card.js.map +1 -1
  235. package/dist-es/card/InteractableCard.js +75 -0
  236. package/dist-es/card/InteractableCard.js.map +1 -1
  237. package/dist-es/checkbox/Checkbox.js +73 -0
  238. package/dist-es/checkbox/Checkbox.js.map +1 -1
  239. package/dist-es/checkbox/CheckboxGroup.js +74 -0
  240. package/dist-es/checkbox/CheckboxGroup.js.map +1 -1
  241. package/dist-es/checkbox/CheckboxIcon.js +75 -0
  242. package/dist-es/checkbox/CheckboxIcon.js.map +1 -1
  243. package/dist-es/checkbox/internal/CheckboxGroupContext.js +79 -0
  244. package/dist-es/checkbox/internal/CheckboxGroupContext.js.map +1 -1
  245. package/dist-es/combo-box/ComboBox.css.js +4 -0
  246. package/dist-es/combo-box/ComboBox.css.js.map +1 -0
  247. package/dist-es/combo-box/ComboBox.js +439 -0
  248. package/dist-es/combo-box/ComboBox.js.map +1 -0
  249. package/dist-es/combo-box/useComboBox.js +149 -0
  250. package/dist-es/combo-box/useComboBox.js.map +1 -0
  251. package/dist-es/dialog/Dialog.js +77 -3
  252. package/dist-es/dialog/Dialog.js.map +1 -1
  253. package/dist-es/dialog/DialogActions.js +76 -1
  254. package/dist-es/dialog/DialogActions.js.map +1 -1
  255. package/dist-es/dialog/DialogCloseButton.js +74 -1
  256. package/dist-es/dialog/DialogCloseButton.js.map +1 -1
  257. package/dist-es/dialog/DialogContent.js +76 -1
  258. package/dist-es/dialog/DialogContent.js.map +1 -1
  259. package/dist-es/dialog/DialogHeader.js +71 -3
  260. package/dist-es/dialog/DialogHeader.js.map +1 -1
  261. package/dist-es/drawer/Drawer.js +75 -2
  262. package/dist-es/drawer/Drawer.js.map +1 -1
  263. package/dist-es/drawer/DrawerCloseButton.js +74 -1
  264. package/dist-es/drawer/DrawerCloseButton.js.map +1 -1
  265. package/dist-es/dropdown/Dropdown.css.js +4 -0
  266. package/dist-es/dropdown/Dropdown.css.js.map +1 -0
  267. package/dist-es/dropdown/Dropdown.js +408 -0
  268. package/dist-es/dropdown/Dropdown.js.map +1 -0
  269. package/dist-es/file-drop-zone/FileDropZone.js +75 -0
  270. package/dist-es/file-drop-zone/FileDropZone.js.map +1 -1
  271. package/dist-es/file-drop-zone/FileDropZoneTrigger.js +76 -0
  272. package/dist-es/file-drop-zone/FileDropZoneTrigger.js.map +1 -1
  273. package/dist-es/flex-item/FlexItem.js +79 -2
  274. package/dist-es/flex-item/FlexItem.js.map +1 -1
  275. package/dist-es/flex-layout/FlexLayout.js +79 -2
  276. package/dist-es/flex-layout/FlexLayout.js.map +1 -1
  277. package/dist-es/form-field/FormField.js +74 -0
  278. package/dist-es/form-field/FormField.js.map +1 -1
  279. package/dist-es/form-field/FormFieldHelperText.js +70 -2
  280. package/dist-es/form-field/FormFieldHelperText.js.map +1 -1
  281. package/dist-es/form-field/FormFieldLabel.js +69 -0
  282. package/dist-es/form-field/FormFieldLabel.js.map +1 -1
  283. package/dist-es/form-field-context/FormFieldContext.js +78 -0
  284. package/dist-es/form-field-context/FormFieldContext.js.map +1 -1
  285. package/dist-es/grid-item/GridItem.js +79 -2
  286. package/dist-es/grid-item/GridItem.js.map +1 -1
  287. package/dist-es/grid-layout/GridLayout.js +79 -2
  288. package/dist-es/grid-layout/GridLayout.js.map +1 -1
  289. package/dist-es/index.js +8 -0
  290. package/dist-es/index.js.map +1 -1
  291. package/dist-es/input/Input.js +73 -0
  292. package/dist-es/input/Input.js.map +1 -1
  293. package/dist-es/link/Link.js +70 -2
  294. package/dist-es/link/Link.js.map +1 -1
  295. package/dist-es/link-card/LinkCard.js +75 -0
  296. package/dist-es/link-card/LinkCard.js.map +1 -1
  297. package/dist-es/list-control/ListControlContext.js +116 -0
  298. package/dist-es/list-control/ListControlContext.js.map +1 -0
  299. package/dist-es/list-control/ListControlState.js +271 -0
  300. package/dist-es/list-control/ListControlState.js.map +1 -0
  301. package/dist-es/multiline-input/MultilineInput.js +73 -0
  302. package/dist-es/multiline-input/MultilineInput.js.map +1 -1
  303. package/dist-es/navigation-item/NavigationItem.js +77 -2
  304. package/dist-es/navigation-item/NavigationItem.js.map +1 -1
  305. package/dist-es/option/Option.css.js +4 -0
  306. package/dist-es/option/Option.css.js.map +1 -0
  307. package/dist-es/option/Option.js +174 -0
  308. package/dist-es/option/Option.js.map +1 -0
  309. package/dist-es/option/OptionGroup.css.js +4 -0
  310. package/dist-es/option/OptionGroup.css.js.map +1 -0
  311. package/dist-es/option/OptionGroup.js +119 -0
  312. package/dist-es/option/OptionGroup.js.map +1 -0
  313. package/dist-es/option/OptionList.css.js +4 -0
  314. package/dist-es/option/OptionList.css.js.map +1 -0
  315. package/dist-es/option/OptionList.js +114 -0
  316. package/dist-es/option/OptionList.js.map +1 -0
  317. package/dist-es/option/OptionListBase.js +109 -0
  318. package/dist-es/option/OptionListBase.js.map +1 -0
  319. package/dist-es/pagination/CompactInput.js +76 -2
  320. package/dist-es/pagination/CompactInput.js.map +1 -1
  321. package/dist-es/pagination/CompactPaginator.js +69 -2
  322. package/dist-es/pagination/CompactPaginator.js.map +1 -1
  323. package/dist-es/pagination/GoToInput.js +68 -3
  324. package/dist-es/pagination/GoToInput.js.map +1 -1
  325. package/dist-es/pagination/PageButton.js +77 -2
  326. package/dist-es/pagination/PageButton.js.map +1 -1
  327. package/dist-es/pagination/PageRanges.js +78 -2
  328. package/dist-es/pagination/PageRanges.js.map +1 -1
  329. package/dist-es/pagination/Pagination.js +76 -2
  330. package/dist-es/pagination/Pagination.js.map +1 -1
  331. package/dist-es/pagination/Paginator.js +75 -2
  332. package/dist-es/pagination/Paginator.js.map +1 -1
  333. package/dist-es/panel/Panel.js +77 -2
  334. package/dist-es/panel/Panel.js.map +1 -1
  335. package/dist-es/pill/Pill.js +74 -0
  336. package/dist-es/pill/Pill.js.map +1 -1
  337. package/dist-es/pill-input/PillInput.css.js +4 -0
  338. package/dist-es/pill-input/PillInput.css.js.map +1 -0
  339. package/dist-es/pill-input/PillInput.js +334 -0
  340. package/dist-es/pill-input/PillInput.js.map +1 -0
  341. package/dist-es/pill-input/useTruncatePills.js +79 -0
  342. package/dist-es/pill-input/useTruncatePills.js.map +1 -0
  343. package/dist-es/progress/CircularProgress/CircularProgress.css.js +1 -1
  344. package/dist-es/progress/CircularProgress/CircularProgress.js +138 -14
  345. package/dist-es/progress/CircularProgress/CircularProgress.js.map +1 -1
  346. package/dist-es/progress/LinearProgress/LinearProgress.css.js +1 -1
  347. package/dist-es/progress/LinearProgress/LinearProgress.js +89 -8
  348. package/dist-es/progress/LinearProgress/LinearProgress.js.map +1 -1
  349. package/dist-es/radio-button/RadioButton.js +78 -4
  350. package/dist-es/radio-button/RadioButton.js.map +1 -1
  351. package/dist-es/radio-button/RadioButtonGroup.js +77 -3
  352. package/dist-es/radio-button/RadioButtonGroup.js.map +1 -1
  353. package/dist-es/radio-button/RadioButtonIcon.js +76 -0
  354. package/dist-es/radio-button/RadioButtonIcon.js.map +1 -1
  355. package/dist-es/radio-button/internal/RadioGroupContext.js +79 -0
  356. package/dist-es/radio-button/internal/RadioGroupContext.js.map +1 -1
  357. package/dist-es/salt-provider/SaltProvider.js +78 -3
  358. package/dist-es/salt-provider/SaltProvider.js.map +1 -1
  359. package/dist-es/scrim/Scrim.js +76 -1
  360. package/dist-es/scrim/Scrim.js.map +1 -1
  361. package/dist-es/spinner/Spinner.js +76 -2
  362. package/dist-es/spinner/Spinner.js.map +1 -1
  363. package/dist-es/spinner/svgSpinners/SpinnerSVG.js +78 -0
  364. package/dist-es/spinner/svgSpinners/SpinnerSVG.js.map +1 -1
  365. package/dist-es/split-layout/SplitLayout.js +76 -2
  366. package/dist-es/split-layout/SplitLayout.js.map +1 -1
  367. package/dist-es/stack-layout/StackLayout.js +78 -2
  368. package/dist-es/stack-layout/StackLayout.js.map +1 -1
  369. package/dist-es/status-adornment/StatusAdornment.js +75 -0
  370. package/dist-es/status-adornment/StatusAdornment.js.map +1 -1
  371. package/dist-es/status-indicator/StatusIndicator.js +76 -2
  372. package/dist-es/status-indicator/StatusIndicator.js.map +1 -1
  373. package/dist-es/switch/Switch.js +75 -2
  374. package/dist-es/switch/Switch.js.map +1 -1
  375. package/dist-es/text/Text.js +77 -2
  376. package/dist-es/text/Text.js.map +1 -1
  377. package/dist-es/toast/Toast.js +74 -0
  378. package/dist-es/toast/Toast.js.map +1 -1
  379. package/dist-es/toast/ToastContent.js +75 -0
  380. package/dist-es/toast/ToastContent.js.map +1 -1
  381. package/dist-es/toggle-button/ToggleButton.js +73 -0
  382. package/dist-es/toggle-button/ToggleButton.js.map +1 -1
  383. package/dist-es/toggle-button-group/ToggleButtonGroup.js +74 -0
  384. package/dist-es/toggle-button-group/ToggleButtonGroup.js.map +1 -1
  385. package/dist-es/toggle-button-group/ToggleButtonGroupContext.js +78 -0
  386. package/dist-es/toggle-button-group/ToggleButtonGroupContext.js.map +1 -1
  387. package/dist-es/tooltip/Tooltip.js +75 -1
  388. package/dist-es/tooltip/Tooltip.js.map +1 -1
  389. package/dist-es/tooltip/TooltipBase.js +75 -2
  390. package/dist-es/tooltip/TooltipBase.js.map +1 -1
  391. package/dist-es/tooltip/useAriaAnnounce.js +77 -0
  392. package/dist-es/tooltip/useAriaAnnounce.js.map +1 -1
  393. package/dist-es/tooltip/useTooltip.js +78 -0
  394. package/dist-es/tooltip/useTooltip.js.map +1 -1
  395. package/dist-es/utils/ownerWindow.js.map +1 -1
  396. package/dist-es/utils/useEventCallback.js +16 -0
  397. package/dist-es/utils/useEventCallback.js.map +1 -0
  398. package/dist-es/utils/useResizeObserver.js +25 -0
  399. package/dist-es/utils/useResizeObserver.js.map +1 -0
  400. package/dist-es/utils/useValueEffect.js +120 -0
  401. package/dist-es/utils/useValueEffect.js.map +1 -0
  402. package/dist-es/viewport/ViewportProvider.js +78 -0
  403. package/dist-es/viewport/ViewportProvider.js.map +1 -1
  404. package/dist-types/combo-box/ComboBox.d.ts +17 -0
  405. package/dist-types/combo-box/index.d.ts +1 -0
  406. package/dist-types/combo-box/useComboBox.d.ts +30 -0
  407. package/dist-types/dialog/DialogHeader.d.ts +2 -4
  408. package/dist-types/dropdown/Dropdown.d.ts +99 -0
  409. package/dist-types/dropdown/index.d.ts +1 -0
  410. package/dist-types/index.d.ts +4 -0
  411. package/dist-types/list-control/ListControlContext.d.ts +21 -0
  412. package/dist-types/list-control/ListControlState.d.ts +70 -0
  413. package/dist-types/list-control/index.d.ts +1 -0
  414. package/dist-types/option/Option.d.ts +16 -0
  415. package/dist-types/option/OptionGroup.d.ts +12 -0
  416. package/dist-types/option/OptionList.d.ts +5 -0
  417. package/dist-types/option/OptionListBase.d.ts +4 -0
  418. package/dist-types/option/index.d.ts +2 -0
  419. package/dist-types/pill-input/PillInput.d.ts +48 -0
  420. package/dist-types/pill-input/index.d.ts +1 -0
  421. package/dist-types/pill-input/useTruncatePills.d.ts +8 -0
  422. package/dist-types/progress/CircularProgress/CircularProgress.d.ts +5 -0
  423. package/dist-types/progress/LinearProgress/LinearProgress.d.ts +5 -0
  424. package/dist-types/utils/index.d.ts +3 -0
  425. package/dist-types/utils/ownerWindow.d.ts +1 -1
  426. package/dist-types/utils/useEventCallback.d.ts +4 -0
  427. package/dist-types/utils/useResizeObserver.d.ts +6 -0
  428. package/dist-types/utils/useValueEffect.d.ts +4 -0
  429. package/package.json +1 -1
@@ -10,38 +10,127 @@ require('../../utils/useFloatingUI/useFloatingUI.js');
10
10
  require('../../utils/useId.js');
11
11
  require('../../salt-provider/SaltProvider.js');
12
12
  require('../../viewport/ViewportProvider.js');
13
+ require('../../accordion/AccordionGroup.js');
14
+ require('../../accordion/AccordionPanel.js');
15
+ require('../../accordion/Accordion.js');
16
+ require('../../accordion/AccordionHeader.js');
17
+ require('../../aria-announcer/AriaAnnouncerContext.js');
18
+ require('../../avatar/Avatar.js');
19
+ require('../../badge/Badge.js');
20
+ require('../../banner/Banner.js');
21
+ require('../../banner/BannerActions.js');
22
+ require('../../banner/BannerContent.js');
23
+ require('../../border-item/BorderItem.js');
24
+ require('../../border-layout/BorderLayout.js');
25
+ require('../../button/Button.js');
26
+ require('../../card/Card.js');
27
+ require('../../card/InteractableCard.js');
28
+ require('../../checkbox/Checkbox.js');
29
+ require('../../checkbox/CheckboxGroup.js');
30
+ var styles = require('@salt-ds/styles');
31
+ var window = require('@salt-ds/window');
32
+ require('@salt-ds/icons');
33
+ require('../../combo-box/ComboBox.js');
34
+ require('../../dialog/Dialog.js');
35
+ require('../../status-indicator/StatusIndicator.js');
13
36
  var Text = require('../../text/Text.js');
14
37
  require('../../text/Display.js');
15
38
  require('../../text/Headings.js');
16
39
  require('../../text/Label.js');
17
40
  require('../../text/TextNotation.js');
18
41
  require('../../text/TextAction.js');
19
- var window = require('@salt-ds/window');
20
- var styles = require('@salt-ds/styles');
42
+ require('../../dialog/DialogContext.js');
43
+ require('../../dialog/DialogActions.js');
44
+ require('../../dialog/DialogContent.js');
45
+ require('../../dialog/DialogCloseButton.js');
46
+ require('../../drawer/Drawer.js');
47
+ require('../../drawer/DrawerCloseButton.js');
48
+ require('../../dropdown/Dropdown.js');
49
+ require('../../file-drop-zone/FileDropZone.js');
50
+ require('../../file-drop-zone/FileDropZoneIcon.js');
51
+ require('../../file-drop-zone/FileDropZoneTrigger.js');
52
+ require('../../flex-item/FlexItem.js');
53
+ require('../../flex-layout/FlexLayout.js');
54
+ require('../../flow-layout/FlowLayout.js');
55
+ require('../../form-field/FormField.js');
56
+ require('../../form-field-context/FormFieldContext.js');
57
+ require('../../grid-item/GridItem.js');
58
+ require('../../grid-layout/GridLayout.js');
59
+ require('../../input/Input.js');
60
+ require('../../link/Link.js');
61
+ require('../../link-card/LinkCard.js');
62
+ require('../../list-control/ListControlContext.js');
63
+ require('../../multiline-input/MultilineInput.js');
64
+ require('../../navigation-item/NavigationItem.js');
65
+ require('../../option/Option.js');
66
+ require('../../option/OptionGroup.js');
67
+ require('../../pagination/Pagination.js');
68
+ require('../../pagination/Paginator.js');
69
+ require('../../pagination/CompactInput.js');
70
+ require('../../pagination/CompactPaginator.js');
71
+ require('../../pagination/GoToInput.js');
72
+ require('../../panel/Panel.js');
73
+ require('../../pill/Pill.js');
74
+ require('../LinearProgress/LinearProgress.js');
75
+ require('../../radio-button/RadioButton.js');
76
+ require('../../radio-button/RadioButtonGroup.js');
77
+ require('../../scrim/Scrim.js');
78
+ require('../../spinner/Spinner.js');
79
+ require('../../stack-layout/StackLayout.js');
80
+ require('../../status-adornment/StatusAdornment.js');
81
+ require('../../toast/Toast.js');
82
+ require('../../toast/ToastContent.js');
83
+ require('../../split-layout/SplitLayout.js');
84
+ require('../../switch/Switch.js');
85
+ require('../../toggle-button/ToggleButton.js');
86
+ require('../../toggle-button-group/ToggleButtonGroup.js');
87
+ require('../../toggle-button-group/ToggleButtonGroupContext.js');
88
+ require('../../tooltip/Tooltip.js');
89
+ require('@floating-ui/react');
21
90
  var CircularProgress$1 = require('./CircularProgress.css.js');
22
91
 
23
92
  const withBaseName = makePrefixer.makePrefixer("saltCircularProgress");
24
- const CircularProgress = React.forwardRef(function CircularProgress2({ className, hideLabel = false, max = 100, min = 0, value = 0, ...rest }, ref) {
93
+ const getRotationAngle = (bar, shift = 0) => {
94
+ return -180 + (bar - shift) / 50 * 180;
95
+ };
96
+ const CircularProgress = React.forwardRef(function CircularProgress2({
97
+ className,
98
+ hideLabel = false,
99
+ max = 100,
100
+ min = 0,
101
+ value = 0,
102
+ bufferValue = 0,
103
+ ...rest
104
+ }, ref) {
25
105
  const targetWindow = window.useWindow();
26
106
  styles.useComponentCssInjection({
27
107
  testId: "salt-circular-progress",
28
108
  css: CircularProgress$1,
29
109
  window: targetWindow
30
110
  });
31
- const subOverlayRightStyle = {};
32
- const subOverlayLeftStyle = {};
33
- const getRotationAngle = (progress2, shift = 0) => {
34
- return -180 + (progress2 - shift) / 50 * 180;
35
- };
111
+ const bufferSubOverlayRightStyle = {};
112
+ const bufferSubOverlayLeftStyle = {};
113
+ const barSubOverlayRightStyle = {};
114
+ const barSubOverlayLeftStyle = {};
115
+ const buffer = (bufferValue - min) / (max - min) * 100;
36
116
  const progress = (value - min) / (max - min) * 100;
37
117
  if (progress <= 50) {
38
118
  const rotationAngle = getRotationAngle(progress);
39
- subOverlayRightStyle.transform = `rotate(${rotationAngle}deg)`;
40
- subOverlayLeftStyle.transform = "rotate(-180deg)";
119
+ barSubOverlayRightStyle.transform = `rotate(${rotationAngle}deg)`;
120
+ barSubOverlayLeftStyle.transform = "rotate(-180deg)";
41
121
  } else {
42
122
  const rotationAngle = getRotationAngle(progress, 50);
43
- subOverlayRightStyle.transform = "rotate(0deg)";
44
- subOverlayLeftStyle.transform = `rotate(${rotationAngle}deg)`;
123
+ barSubOverlayRightStyle.transform = "rotate(0deg)";
124
+ barSubOverlayLeftStyle.transform = `rotate(${rotationAngle}deg)`;
125
+ }
126
+ if (buffer <= 50) {
127
+ const rotationAngle = getRotationAngle(buffer);
128
+ bufferSubOverlayRightStyle.transform = `rotate(${rotationAngle}deg)`;
129
+ bufferSubOverlayLeftStyle.transform = "rotate(-180deg)";
130
+ } else {
131
+ const rotationAngle = getRotationAngle(buffer, 50);
132
+ bufferSubOverlayRightStyle.transform = "rotate(0deg)";
133
+ bufferSubOverlayLeftStyle.transform = `rotate(${rotationAngle}deg)`;
45
134
  }
46
135
  return /* @__PURE__ */ jsxRuntime.jsxs("div", {
47
136
  className: clsx.clsx(withBaseName(), className),
@@ -58,21 +147,56 @@ const CircularProgress = React.forwardRef(function CircularProgress2({ className
58
147
  /* @__PURE__ */ jsxRuntime.jsxs("div", {
59
148
  className: withBaseName("bars"),
60
149
  children: [
150
+ buffer > 0 && /* @__PURE__ */ jsxRuntime.jsx("div", {
151
+ className: withBaseName("bufferOverlayRight"),
152
+ children: /* @__PURE__ */ jsxRuntime.jsxs("div", {
153
+ className: clsx.clsx(withBaseName("bufferSubOverlayRight"), {
154
+ [withBaseName("bufferSubOverlay")]: buffer <= 50
155
+ }),
156
+ style: bufferSubOverlayRightStyle,
157
+ children: [
158
+ /* @__PURE__ */ jsxRuntime.jsx("div", {
159
+ className: withBaseName("bufferBackground")
160
+ }),
161
+ /* @__PURE__ */ jsxRuntime.jsx("div", {
162
+ className: withBaseName("bufferBorder")
163
+ })
164
+ ]
165
+ })
166
+ }),
61
167
  /* @__PURE__ */ jsxRuntime.jsx("div", {
62
168
  className: withBaseName("barOverlayRight"),
63
169
  children: /* @__PURE__ */ jsxRuntime.jsx("div", {
64
170
  className: withBaseName("barSubOverlayRight"),
65
- style: subOverlayRightStyle,
171
+ style: barSubOverlayRightStyle,
66
172
  children: /* @__PURE__ */ jsxRuntime.jsx("div", {
67
173
  className: withBaseName("bar")
68
174
  })
69
175
  })
70
176
  }),
177
+ buffer > 0 && /* @__PURE__ */ jsxRuntime.jsx("div", {
178
+ className: withBaseName("bufferOverlayLeft"),
179
+ children: /* @__PURE__ */ jsxRuntime.jsxs("div", {
180
+ className: clsx.clsx(
181
+ withBaseName("bufferSubOverlay"),
182
+ withBaseName("bufferSubOverlayLeft")
183
+ ),
184
+ style: bufferSubOverlayLeftStyle,
185
+ children: [
186
+ /* @__PURE__ */ jsxRuntime.jsx("div", {
187
+ className: withBaseName("bufferBorder")
188
+ }),
189
+ /* @__PURE__ */ jsxRuntime.jsx("div", {
190
+ className: withBaseName("bufferBackground")
191
+ })
192
+ ]
193
+ })
194
+ }),
71
195
  /* @__PURE__ */ jsxRuntime.jsx("div", {
72
196
  className: withBaseName("barOverlayLeft"),
73
197
  children: /* @__PURE__ */ jsxRuntime.jsx("div", {
74
198
  className: withBaseName("barSubOverlayLeft"),
75
- style: subOverlayLeftStyle,
199
+ style: barSubOverlayLeftStyle,
76
200
  children: /* @__PURE__ */ jsxRuntime.jsx("div", {
77
201
  className: withBaseName("bar")
78
202
  })
@@ -1 +1 @@
1
- {"version":3,"file":"CircularProgress.js","sources":["../src/progress/CircularProgress/CircularProgress.tsx"],"sourcesContent":["import { ComponentPropsWithoutRef, CSSProperties, forwardRef } from \"react\";\nimport { clsx } from \"clsx\";\nimport { makePrefixer } from \"../../utils\";\nimport { Text } from \"../../text\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\n\nimport circularProgressCSS from \"./CircularProgress.css\";\n\nconst withBaseName = makePrefixer(\"saltCircularProgress\");\n\nexport interface CircularProgressProps extends ComponentPropsWithoutRef<\"div\"> {\n /**\n * Whether to hide the text label within the progress. Defaults to `false`.\n */\n hideLabel?: boolean;\n /**\n * The value of the max progress indicator.\n * Default value is 100.\n */\n max?: number;\n /**\n * The value of the min progress indicator.\n * Default value is 0.\n */\n min?: number;\n /**\n * The value of the progress indicator.\n * Value between 0 and max.\n */\n value?: number;\n}\n\nexport const CircularProgress = forwardRef<\n HTMLDivElement,\n CircularProgressProps\n>(function CircularProgress(\n { className, hideLabel = false, max = 100, min = 0, value = 0, ...rest },\n ref\n) {\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-circular-progress\",\n css: circularProgressCSS,\n window: targetWindow,\n });\n\n const subOverlayRightStyle: CSSProperties = {};\n const subOverlayLeftStyle: CSSProperties = {};\n\n const getRotationAngle = (progress: number, shift = 0) => {\n return -180 + ((progress - shift) / 50) * 180;\n };\n\n const progress = ((value - min) / (max - min)) * 100;\n\n if (progress <= 50) {\n const rotationAngle = getRotationAngle(progress);\n subOverlayRightStyle.transform = `rotate(${rotationAngle}deg)`;\n subOverlayLeftStyle.transform = \"rotate(-180deg)\";\n } else {\n const rotationAngle = getRotationAngle(progress, 50);\n subOverlayRightStyle.transform = \"rotate(0deg)\";\n subOverlayLeftStyle.transform = `rotate(${rotationAngle}deg)`;\n }\n\n return (\n <div\n className={clsx(withBaseName(), className)}\n ref={ref}\n role=\"progressbar\"\n aria-valuemax={max}\n aria-valuemin={min}\n aria-valuenow={Math.round(value)}\n {...rest}\n >\n <div className={withBaseName(\"track\")} />\n <div className={withBaseName(\"bars\")}>\n <div className={withBaseName(\"barOverlayRight\")}>\n <div\n className={withBaseName(\"barSubOverlayRight\")}\n style={subOverlayRightStyle}\n >\n <div className={withBaseName(\"bar\")} />\n </div>\n </div>\n <div className={withBaseName(\"barOverlayLeft\")}>\n <div\n className={withBaseName(\"barSubOverlayLeft\")}\n style={subOverlayLeftStyle}\n >\n <div className={withBaseName(\"bar\")} />\n </div>\n </div>\n </div>\n {!hideLabel && (\n <Text styleAs=\"h2\" className={withBaseName(\"progressLabel\")}>\n {`${Math.round(progress)} %`}\n </Text>\n )}\n </div>\n );\n});\n"],"names":["makePrefixer","forwardRef","CircularProgress","useWindow","useComponentCssInjection","circularProgressCSS","progress","jsxs","clsx","jsx","Text"],"mappings":"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"}
1
+ {"version":3,"file":"CircularProgress.js","sources":["../src/progress/CircularProgress/CircularProgress.tsx"],"sourcesContent":["import { ComponentPropsWithoutRef, CSSProperties, forwardRef } from \"react\";\nimport { clsx } from \"clsx\";\nimport { makePrefixer } from \"../../utils\";\nimport { Text } from \"../../text\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\n\nimport circularProgressCSS from \"./CircularProgress.css\";\n\nconst withBaseName = makePrefixer(\"saltCircularProgress\");\n\nconst getRotationAngle = (bar: number, shift = 0) => {\n return -180 + ((bar - shift) / 50) * 180;\n};\n\nexport interface CircularProgressProps extends ComponentPropsWithoutRef<\"div\"> {\n /**\n * The value of the buffer indicator.\n * Value between 0 and max.\n */\n bufferValue?: number;\n /**\n * Whether to hide the text label within the progress. Defaults to `false`.\n */\n hideLabel?: boolean;\n /**\n * The value of the max progress indicator.\n * Default value is 100.\n */\n max?: number;\n /**\n * The value of the min progress indicator.\n * Default value is 0.\n */\n min?: number;\n /**\n * The value of the progress indicator.\n * Value between 0 and max.\n */\n value?: number;\n}\n\nexport const CircularProgress = forwardRef<\n HTMLDivElement,\n CircularProgressProps\n>(function CircularProgress(\n {\n className,\n hideLabel = false,\n max = 100,\n min = 0,\n value = 0,\n bufferValue = 0,\n ...rest\n },\n ref\n) {\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-circular-progress\",\n css: circularProgressCSS,\n window: targetWindow,\n });\n\n const bufferSubOverlayRightStyle: CSSProperties = {};\n const bufferSubOverlayLeftStyle: CSSProperties = {};\n const barSubOverlayRightStyle: CSSProperties = {};\n const barSubOverlayLeftStyle: CSSProperties = {};\n\n const buffer = ((bufferValue - min) / (max - min)) * 100;\n const progress = ((value - min) / (max - min)) * 100;\n\n if (progress <= 50) {\n const rotationAngle = getRotationAngle(progress);\n barSubOverlayRightStyle.transform = `rotate(${rotationAngle}deg)`;\n barSubOverlayLeftStyle.transform = \"rotate(-180deg)\";\n } else {\n const rotationAngle = getRotationAngle(progress, 50);\n barSubOverlayRightStyle.transform = \"rotate(0deg)\";\n barSubOverlayLeftStyle.transform = `rotate(${rotationAngle}deg)`;\n }\n if (buffer <= 50) {\n const rotationAngle = getRotationAngle(buffer);\n bufferSubOverlayRightStyle.transform = `rotate(${rotationAngle}deg)`;\n bufferSubOverlayLeftStyle.transform = \"rotate(-180deg)\";\n } else {\n const rotationAngle = getRotationAngle(buffer, 50);\n bufferSubOverlayRightStyle.transform = \"rotate(0deg)\";\n bufferSubOverlayLeftStyle.transform = `rotate(${rotationAngle}deg)`;\n }\n\n return (\n <div\n className={clsx(withBaseName(), className)}\n ref={ref}\n role=\"progressbar\"\n aria-valuemax={max}\n aria-valuemin={min}\n aria-valuenow={Math.round(value)}\n {...rest}\n >\n <div className={withBaseName(\"track\")} />\n <div className={withBaseName(\"bars\")}>\n {buffer > 0 && (\n <div className={withBaseName(\"bufferOverlayRight\")}>\n <div\n className={clsx(withBaseName(\"bufferSubOverlayRight\"), {\n [withBaseName(\"bufferSubOverlay\")]: buffer <= 50,\n })}\n style={bufferSubOverlayRightStyle}\n >\n <div className={withBaseName(\"bufferBackground\")} />\n <div className={withBaseName(\"bufferBorder\")} />\n </div>\n </div>\n )}\n <div className={withBaseName(\"barOverlayRight\")}>\n <div\n className={withBaseName(\"barSubOverlayRight\")}\n style={barSubOverlayRightStyle}\n >\n <div className={withBaseName(\"bar\")} />\n </div>\n </div>\n {buffer > 0 && (\n <div className={withBaseName(\"bufferOverlayLeft\")}>\n <div\n className={clsx(\n withBaseName(\"bufferSubOverlay\"),\n withBaseName(\"bufferSubOverlayLeft\")\n )}\n style={bufferSubOverlayLeftStyle}\n >\n <div className={withBaseName(\"bufferBorder\")} />\n <div className={withBaseName(\"bufferBackground\")} />\n </div>\n </div>\n )}\n <div className={withBaseName(\"barOverlayLeft\")}>\n <div\n className={withBaseName(\"barSubOverlayLeft\")}\n style={barSubOverlayLeftStyle}\n >\n <div className={withBaseName(\"bar\")} />\n </div>\n </div>\n </div>\n {!hideLabel && (\n <Text styleAs=\"h2\" className={withBaseName(\"progressLabel\")}>\n {`${Math.round(progress)} %`}\n </Text>\n )}\n </div>\n );\n});\n"],"names":["makePrefixer","forwardRef","CircularProgress","useWindow","useComponentCssInjection","circularProgressCSS","jsxs","clsx","jsx","Text"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var css_248z = ".saltLinearProgress {\n align-items: center;\n color: var(--salt-content-primary-foreground);\n display: flex;\n min-width: 400px;\n font-size: var(--linearProgress-fontSize);\n box-sizing: border-box;\n}\n\n.saltLinearProgress-barContainer {\n background: none;\n position: relative;\n width: 100%;\n overflow: hidden;\n height: var(--salt-size-bar-strong);\n}\n\n.saltLinearProgress-bar {\n width: 100%;\n position: absolute;\n left: 0;\n bottom: 0;\n top: 0;\n transition: transform 0.2s linear;\n transform-origin: left;\n background: var(--salt-accent-background);\n z-index: 2;\n}\n\n.saltLinearProgress-track {\n background: var(--salt-track-borderColor);\n width: 100%;\n height: var(--salt-size-bar-small);\n position: absolute;\n top: calc((var(--salt-size-bar-strong) - var(--salt-size-bar-small)) / 2);\n transition: transform 0.2s linear;\n transform-origin: left;\n}\n\n.saltLinearProgress-progressLabel {\n color: inherit;\n margin: 0;\n white-space: nowrap;\n padding-left: var(--salt-spacing-100);\n}\n";
3
+ var css_248z = ".saltLinearProgress {\n align-items: center;\n color: var(--salt-content-primary-foreground);\n display: flex;\n min-width: 400px;\n font-size: var(--linearProgress-fontSize);\n box-sizing: border-box;\n}\n\n.saltLinearProgress-barContainer {\n background: none;\n position: relative;\n width: 100%;\n overflow: hidden;\n height: var(--salt-size-bar-strong);\n}\n\n.saltLinearProgress-bar,\n.saltLinearProgress-buffer {\n position: absolute;\n left: 0;\n bottom: 0;\n top: 0;\n transition: transform 0.2s linear;\n transform-origin: left;\n}\n\n.saltLinearProgress-buffer {\n width: 0;\n background: var(--salt-container-primary-background);\n outline: solid var(--salt-size-border) var(--salt-accent-background);\n z-index: var(--salt-zIndex-default);\n outline-offset: calc(var(--salt-size-border) * -1);\n}\n\n.saltLinearProgress-bar {\n width: 100%;\n background: var(--salt-accent-background);\n z-index: calc(var(--salt-zIndex-default) * 2);\n}\n\n.saltLinearProgress-track {\n background: var(--salt-track-borderColor);\n width: 100%;\n height: var(--salt-size-bar);\n position: absolute;\n top: calc((var(--salt-size-bar-strong) - var(--salt-size-bar)) / 2);\n right: 0;\n transition: transform 0.2s linear;\n transform-origin: left;\n}\n\n.saltLinearProgress-progressLabel {\n color: inherit;\n margin: 0;\n white-space: nowrap;\n padding-left: var(--salt-spacing-100);\n}\n";
4
4
 
5
5
  module.exports = css_248z;
6
6
  //# sourceMappingURL=LinearProgress.css.js.map
@@ -10,19 +10,96 @@ require('../../utils/useFloatingUI/useFloatingUI.js');
10
10
  require('../../utils/useId.js');
11
11
  require('../../salt-provider/SaltProvider.js');
12
12
  require('../../viewport/ViewportProvider.js');
13
+ require('../../accordion/AccordionGroup.js');
14
+ require('../../accordion/AccordionPanel.js');
15
+ require('../../accordion/Accordion.js');
16
+ require('../../accordion/AccordionHeader.js');
17
+ require('../../aria-announcer/AriaAnnouncerContext.js');
18
+ require('../../avatar/Avatar.js');
19
+ require('../../badge/Badge.js');
20
+ require('../../banner/Banner.js');
21
+ require('../../banner/BannerActions.js');
22
+ require('../../banner/BannerContent.js');
23
+ require('../../border-item/BorderItem.js');
24
+ require('../../border-layout/BorderLayout.js');
25
+ require('../../button/Button.js');
26
+ require('../../card/Card.js');
27
+ require('../../card/InteractableCard.js');
28
+ require('../../checkbox/Checkbox.js');
29
+ require('../../checkbox/CheckboxGroup.js');
30
+ var styles = require('@salt-ds/styles');
31
+ var window = require('@salt-ds/window');
32
+ require('@salt-ds/icons');
33
+ require('../../combo-box/ComboBox.js');
34
+ require('../../dialog/Dialog.js');
35
+ require('../../status-indicator/StatusIndicator.js');
13
36
  var Text = require('../../text/Text.js');
14
37
  require('../../text/Display.js');
15
38
  require('../../text/Headings.js');
16
39
  require('../../text/Label.js');
17
40
  require('../../text/TextNotation.js');
18
41
  require('../../text/TextAction.js');
19
- var window = require('@salt-ds/window');
20
- var styles = require('@salt-ds/styles');
42
+ require('../../dialog/DialogContext.js');
43
+ require('../../dialog/DialogActions.js');
44
+ require('../../dialog/DialogContent.js');
45
+ require('../../dialog/DialogCloseButton.js');
46
+ require('../../drawer/Drawer.js');
47
+ require('../../drawer/DrawerCloseButton.js');
48
+ require('../../dropdown/Dropdown.js');
49
+ require('../../file-drop-zone/FileDropZone.js');
50
+ require('../../file-drop-zone/FileDropZoneIcon.js');
51
+ require('../../file-drop-zone/FileDropZoneTrigger.js');
52
+ require('../../flex-item/FlexItem.js');
53
+ require('../../flex-layout/FlexLayout.js');
54
+ require('../../flow-layout/FlowLayout.js');
55
+ require('../../form-field/FormField.js');
56
+ require('../../form-field-context/FormFieldContext.js');
57
+ require('../../grid-item/GridItem.js');
58
+ require('../../grid-layout/GridLayout.js');
59
+ require('../../input/Input.js');
60
+ require('../../link/Link.js');
61
+ require('../../link-card/LinkCard.js');
62
+ require('../../list-control/ListControlContext.js');
63
+ require('../../multiline-input/MultilineInput.js');
64
+ require('../../navigation-item/NavigationItem.js');
65
+ require('../../option/Option.js');
66
+ require('../../option/OptionGroup.js');
67
+ require('../../pagination/Pagination.js');
68
+ require('../../pagination/Paginator.js');
69
+ require('../../pagination/CompactInput.js');
70
+ require('../../pagination/CompactPaginator.js');
71
+ require('../../pagination/GoToInput.js');
72
+ require('../../panel/Panel.js');
73
+ require('../../pill/Pill.js');
74
+ require('../CircularProgress/CircularProgress.js');
75
+ require('../../radio-button/RadioButton.js');
76
+ require('../../radio-button/RadioButtonGroup.js');
77
+ require('../../scrim/Scrim.js');
78
+ require('../../spinner/Spinner.js');
79
+ require('../../stack-layout/StackLayout.js');
80
+ require('../../status-adornment/StatusAdornment.js');
81
+ require('../../toast/Toast.js');
82
+ require('../../toast/ToastContent.js');
83
+ require('../../split-layout/SplitLayout.js');
84
+ require('../../switch/Switch.js');
85
+ require('../../toggle-button/ToggleButton.js');
86
+ require('../../toggle-button-group/ToggleButtonGroup.js');
87
+ require('../../toggle-button-group/ToggleButtonGroupContext.js');
88
+ require('../../tooltip/Tooltip.js');
89
+ require('@floating-ui/react');
21
90
  var LinearProgress$1 = require('./LinearProgress.css.js');
22
91
 
23
92
  const withBaseName = makePrefixer.makePrefixer("saltLinearProgress");
24
93
  const LinearProgress = React.forwardRef(
25
- function LinearProgress2({ className, hideLabel = false, max = 100, min = 0, value = 0, ...rest }, ref) {
94
+ function LinearProgress2({
95
+ className,
96
+ hideLabel = false,
97
+ max = 100,
98
+ min = 0,
99
+ value = 0,
100
+ bufferValue = 0,
101
+ ...rest
102
+ }, ref) {
26
103
  const targetWindow = window.useWindow();
27
104
  styles.useComponentCssInjection({
28
105
  testId: "salt-linear-progress",
@@ -30,10 +107,11 @@ const LinearProgress = React.forwardRef(
30
107
  window: targetWindow
31
108
  });
32
109
  const progress = (value - min) / (max - min) * 100;
110
+ const buffer = (bufferValue - min) / (max - min) * 100;
33
111
  const barStyle = {};
34
- const trackStyle = {};
35
- barStyle.transform = `translateX(${progress - 100}%)`;
36
- trackStyle.transform = `translateX(${progress}%)`;
112
+ const bufferStyle = {};
113
+ barStyle.width = `${progress}%`;
114
+ bufferStyle.width = `${buffer}%`;
37
115
  return /* @__PURE__ */ jsxRuntime.jsxs("div", {
38
116
  className: clsx.clsx(withBaseName(), className),
39
117
  ref,
@@ -50,9 +128,12 @@ const LinearProgress = React.forwardRef(
50
128
  className: withBaseName("bar"),
51
129
  style: barStyle
52
130
  }),
131
+ bufferValue && /* @__PURE__ */ jsxRuntime.jsx("div", {
132
+ className: withBaseName("buffer"),
133
+ style: bufferStyle
134
+ }),
53
135
  /* @__PURE__ */ jsxRuntime.jsx("div", {
54
- className: withBaseName("track"),
55
- style: trackStyle
136
+ className: withBaseName("track")
56
137
  })
57
138
  ]
58
139
  }),
@@ -1 +1 @@
1
- {"version":3,"file":"LinearProgress.js","sources":["../src/progress/LinearProgress/LinearProgress.tsx"],"sourcesContent":["import { ComponentPropsWithoutRef, CSSProperties, forwardRef } from \"react\";\nimport { clsx } from \"clsx\";\nimport { makePrefixer } from \"../../utils\";\nimport { Text } from \"../../text\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\n\nimport linearProgressCss from \"./LinearProgress.css\";\n\nconst withBaseName = makePrefixer(\"saltLinearProgress\");\n\nexport interface LinearProgressProps extends ComponentPropsWithoutRef<\"div\"> {\n /**\n * Whether to hide the text label within the progress. Defaults to `false`.\n */\n hideLabel?: boolean;\n /**\n * The value of the max progress indicator.\n * Default value is 100.\n */\n max?: number;\n /**\n * The value of the min progress indicator.\n * Default value is 0.\n */\n min?: number;\n /**\n * The value of the progress indicator.\n * Value between 0 and max.\n */\n value?: number;\n}\n\nexport const LinearProgress = forwardRef<HTMLDivElement, LinearProgressProps>(\n function LinearProgress(\n { className, hideLabel = false, max = 100, min = 0, value = 0, ...rest },\n ref\n ) {\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-linear-progress\",\n css: linearProgressCss,\n window: targetWindow,\n });\n\n const progress = ((value - min) / (max - min)) * 100;\n\n const barStyle: CSSProperties = {};\n const trackStyle: CSSProperties = {};\n\n barStyle.transform = `translateX(${progress - 100}%)`;\n trackStyle.transform = `translateX(${progress}%)`;\n\n return (\n <div\n className={clsx(withBaseName(), className)}\n ref={ref}\n role=\"progressbar\"\n aria-valuemax={max}\n aria-valuemin={min}\n aria-valuenow={Math.round(value)}\n {...rest}\n >\n <div className={withBaseName(\"barContainer\")}>\n <div className={withBaseName(\"bar\")} style={barStyle} />\n <div className={withBaseName(\"track\")} style={trackStyle} />\n </div>\n {!hideLabel && (\n <Text styleAs=\"h2\" className={withBaseName(\"progressLabel\")}>\n {`${Math.round(progress)} %`}\n </Text>\n )}\n </div>\n );\n }\n);\n"],"names":["makePrefixer","forwardRef","LinearProgress","useWindow","useComponentCssInjection","linearProgressCss","jsxs","clsx","jsx","Text"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AASA,MAAM,YAAA,GAAeA,0BAAa,oBAAoB,CAAA,CAAA;AAwB/C,MAAM,cAAiB,GAAAC,gBAAA;AAAA,EAC5B,SAASC,eAAAA,CACP,EAAE,SAAA,EAAW,YAAY,KAAO,EAAA,GAAA,GAAM,GAAK,EAAA,GAAA,GAAM,CAAG,EAAA,KAAA,GAAQ,CAAM,EAAA,GAAA,IAAA,IAClE,GACA,EAAA;AACA,IAAA,MAAM,eAAeC,gBAAU,EAAA,CAAA;AAC/B,IAAyBC,+BAAA,CAAA;AAAA,MACvB,MAAQ,EAAA,sBAAA;AAAA,MACR,GAAK,EAAAC,gBAAA;AAAA,MACL,MAAQ,EAAA,YAAA;AAAA,KACT,CAAA,CAAA;AAED,IAAA,MAAM,QAAa,GAAA,CAAA,KAAA,GAAQ,GAAQ,KAAA,GAAA,GAAM,GAAQ,CAAA,GAAA,GAAA,CAAA;AAEjD,IAAA,MAAM,WAA0B,EAAC,CAAA;AACjC,IAAA,MAAM,aAA4B,EAAC,CAAA;AAEnC,IAAS,QAAA,CAAA,SAAA,GAAY,cAAc,QAAW,GAAA,GAAA,CAAA,EAAA,CAAA,CAAA;AAC9C,IAAA,UAAA,CAAW,YAAY,CAAc,WAAA,EAAA,QAAA,CAAA,EAAA,CAAA,CAAA;AAErC,IAAA,uBACGC,eAAA,CAAA,KAAA,EAAA;AAAA,MACC,SAAW,EAAAC,SAAA,CAAK,YAAa,EAAA,EAAG,SAAS,CAAA;AAAA,MACzC,GAAA;AAAA,MACA,IAAK,EAAA,aAAA;AAAA,MACL,eAAe,EAAA,GAAA;AAAA,MACf,eAAe,EAAA,GAAA;AAAA,MACf,eAAA,EAAe,IAAK,CAAA,KAAA,CAAM,KAAK,CAAA;AAAA,MAC9B,GAAG,IAAA;AAAA,MAEJ,QAAA,EAAA;AAAA,wBAACD,eAAA,CAAA,KAAA,EAAA;AAAA,UAAI,SAAA,EAAW,aAAa,cAAc,CAAA;AAAA,UACzC,QAAA,EAAA;AAAA,4BAACE,cAAA,CAAA,KAAA,EAAA;AAAA,cAAI,SAAA,EAAW,aAAa,KAAK,CAAA;AAAA,cAAG,KAAO,EAAA,QAAA;AAAA,aAAU,CAAA;AAAA,4BACrDA,cAAA,CAAA,KAAA,EAAA;AAAA,cAAI,SAAA,EAAW,aAAa,OAAO,CAAA;AAAA,cAAG,KAAO,EAAA,UAAA;AAAA,aAAY,CAAA;AAAA,WAAA;AAAA,SAC5D,CAAA;AAAA,QACC,CAAC,6BACCA,cAAA,CAAAC,SAAA,EAAA;AAAA,UAAK,OAAQ,EAAA,IAAA;AAAA,UAAK,SAAA,EAAW,aAAa,eAAe,CAAA;AAAA,UACvD,QAAA,EAAA,CAAA,EAAG,IAAK,CAAA,KAAA,CAAM,QAAQ,CAAA,CAAA,EAAA,CAAA;AAAA,SACzB,CAAA;AAAA,OAAA;AAAA,KAEJ,CAAA,CAAA;AAAA,GAEJ;AACF;;;;"}
1
+ {"version":3,"file":"LinearProgress.js","sources":["../src/progress/LinearProgress/LinearProgress.tsx"],"sourcesContent":["import { ComponentPropsWithoutRef, CSSProperties, forwardRef } from \"react\";\nimport { clsx } from \"clsx\";\nimport { makePrefixer } from \"../../utils\";\nimport { Text } from \"../../text\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\n\nimport linearProgressCss from \"./LinearProgress.css\";\n\nconst withBaseName = makePrefixer(\"saltLinearProgress\");\n\nexport interface LinearProgressProps extends ComponentPropsWithoutRef<\"div\"> {\n /**\n * The value of the buffer indicator.\n * Value between 0 and max.\n */\n bufferValue?: number;\n /**\n * Whether to hide the text label within the progress. Defaults to `false`.\n */\n hideLabel?: boolean;\n /**\n * The value of the max progress indicator.\n * Default value is 100.\n */\n max?: number;\n /**\n * The value of the min progress indicator.\n * Default value is 0.\n */\n min?: number;\n /**\n * The value of the progress indicator.\n * Value between 0 and max.\n */\n value?: number;\n}\n\nexport const LinearProgress = forwardRef<HTMLDivElement, LinearProgressProps>(\n function LinearProgress(\n {\n className,\n hideLabel = false,\n max = 100,\n min = 0,\n value = 0,\n bufferValue = 0,\n ...rest\n },\n ref\n ) {\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-linear-progress\",\n css: linearProgressCss,\n window: targetWindow,\n });\n\n const progress = ((value - min) / (max - min)) * 100;\n const buffer = ((bufferValue - min) / (max - min)) * 100;\n const barStyle: CSSProperties = {};\n const bufferStyle: CSSProperties = {};\n\n barStyle.width = `${progress}%`;\n bufferStyle.width = `${buffer}%`;\n\n return (\n <div\n className={clsx(withBaseName(), className)}\n ref={ref}\n role=\"progressbar\"\n aria-valuemax={max}\n aria-valuemin={min}\n aria-valuenow={Math.round(value)}\n {...rest}\n >\n <div className={withBaseName(\"barContainer\")}>\n <div className={withBaseName(\"bar\")} style={barStyle} />\n {bufferValue && (\n <div className={withBaseName(\"buffer\")} style={bufferStyle} />\n )}\n <div className={withBaseName(\"track\")} />\n </div>\n {!hideLabel && (\n <Text styleAs=\"h2\" className={withBaseName(\"progressLabel\")}>\n {`${Math.round(progress)} %`}\n </Text>\n )}\n </div>\n );\n }\n);\n"],"names":["makePrefixer","forwardRef","LinearProgress","useWindow","useComponentCssInjection","linearProgressCss","jsxs","clsx","jsx","Text"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AASA,MAAM,YAAA,GAAeA,0BAAa,oBAAoB,CAAA,CAAA;AA6B/C,MAAM,cAAiB,GAAAC,gBAAA;AAAA,EAC5B,SAASC,eACP,CAAA;AAAA,IACE,SAAA;AAAA,IACA,SAAY,GAAA,KAAA;AAAA,IACZ,GAAM,GAAA,GAAA;AAAA,IACN,GAAM,GAAA,CAAA;AAAA,IACN,KAAQ,GAAA,CAAA;AAAA,IACR,WAAc,GAAA,CAAA;AAAA,IACX,GAAA,IAAA;AAAA,KAEL,GACA,EAAA;AACA,IAAA,MAAM,eAAeC,gBAAU,EAAA,CAAA;AAC/B,IAAyBC,+BAAA,CAAA;AAAA,MACvB,MAAQ,EAAA,sBAAA;AAAA,MACR,GAAK,EAAAC,gBAAA;AAAA,MACL,MAAQ,EAAA,YAAA;AAAA,KACT,CAAA,CAAA;AAED,IAAA,MAAM,QAAa,GAAA,CAAA,KAAA,GAAQ,GAAQ,KAAA,GAAA,GAAM,GAAQ,CAAA,GAAA,GAAA,CAAA;AACjD,IAAA,MAAM,MAAW,GAAA,CAAA,WAAA,GAAc,GAAQ,KAAA,GAAA,GAAM,GAAQ,CAAA,GAAA,GAAA,CAAA;AACrD,IAAA,MAAM,WAA0B,EAAC,CAAA;AACjC,IAAA,MAAM,cAA6B,EAAC,CAAA;AAEpC,IAAA,QAAA,CAAS,QAAQ,CAAG,EAAA,QAAA,CAAA,CAAA,CAAA,CAAA;AACpB,IAAA,WAAA,CAAY,QAAQ,CAAG,EAAA,MAAA,CAAA,CAAA,CAAA,CAAA;AAEvB,IAAA,uBACGC,eAAA,CAAA,KAAA,EAAA;AAAA,MACC,SAAW,EAAAC,SAAA,CAAK,YAAa,EAAA,EAAG,SAAS,CAAA;AAAA,MACzC,GAAA;AAAA,MACA,IAAK,EAAA,aAAA;AAAA,MACL,eAAe,EAAA,GAAA;AAAA,MACf,eAAe,EAAA,GAAA;AAAA,MACf,eAAA,EAAe,IAAK,CAAA,KAAA,CAAM,KAAK,CAAA;AAAA,MAC9B,GAAG,IAAA;AAAA,MAEJ,QAAA,EAAA;AAAA,wBAACD,eAAA,CAAA,KAAA,EAAA;AAAA,UAAI,SAAA,EAAW,aAAa,cAAc,CAAA;AAAA,UACzC,QAAA,EAAA;AAAA,4BAACE,cAAA,CAAA,KAAA,EAAA;AAAA,cAAI,SAAA,EAAW,aAAa,KAAK,CAAA;AAAA,cAAG,KAAO,EAAA,QAAA;AAAA,aAAU,CAAA;AAAA,YACrD,+BACEA,cAAA,CAAA,KAAA,EAAA;AAAA,cAAI,SAAA,EAAW,aAAa,QAAQ,CAAA;AAAA,cAAG,KAAO,EAAA,WAAA;AAAA,aAAa,CAAA;AAAA,4BAE7DA,cAAA,CAAA,KAAA,EAAA;AAAA,cAAI,SAAA,EAAW,aAAa,OAAO,CAAA;AAAA,aAAG,CAAA;AAAA,WAAA;AAAA,SACzC,CAAA;AAAA,QACC,CAAC,6BACCA,cAAA,CAAAC,SAAA,EAAA;AAAA,UAAK,OAAQ,EAAA,IAAA;AAAA,UAAK,SAAA,EAAW,aAAa,eAAe,CAAA;AAAA,UACvD,QAAA,EAAA,CAAA,EAAG,IAAK,CAAA,KAAA,CAAM,QAAQ,CAAA,CAAA,EAAA,CAAA;AAAA,SACzB,CAAA;AAAA,OAAA;AAAA,KAEJ,CAAA,CAAA;AAAA,GAEJ;AACF;;;;"}
@@ -11,13 +11,87 @@ require('../utils/useFloatingUI/useFloatingUI.js');
11
11
  require('../utils/useId.js');
12
12
  require('../salt-provider/SaltProvider.js');
13
13
  require('../viewport/ViewportProvider.js');
14
- var useRadioGroup = require('./internal/useRadioGroup.js');
15
- var RadioButtonIcon = require('./RadioButtonIcon.js');
16
- var RadioButton$1 = require('./RadioButton.css.js');
17
- var window = require('@salt-ds/window');
14
+ require('../accordion/AccordionGroup.js');
15
+ require('../accordion/AccordionPanel.js');
16
+ require('../accordion/Accordion.js');
17
+ require('../accordion/AccordionHeader.js');
18
+ require('../aria-announcer/AriaAnnouncerContext.js');
19
+ require('../avatar/Avatar.js');
20
+ require('../badge/Badge.js');
21
+ require('../banner/Banner.js');
22
+ require('../banner/BannerActions.js');
23
+ require('../banner/BannerContent.js');
24
+ require('../border-item/BorderItem.js');
25
+ require('../border-layout/BorderLayout.js');
26
+ require('../button/Button.js');
27
+ require('../card/Card.js');
28
+ require('../card/InteractableCard.js');
29
+ require('../checkbox/Checkbox.js');
30
+ require('../checkbox/CheckboxGroup.js');
18
31
  var styles = require('@salt-ds/styles');
32
+ var window = require('@salt-ds/window');
33
+ require('@salt-ds/icons');
34
+ require('../combo-box/ComboBox.js');
35
+ require('../dialog/Dialog.js');
36
+ require('../status-indicator/StatusIndicator.js');
37
+ require('../text/Text.js');
38
+ require('../text/Display.js');
39
+ require('../text/Headings.js');
40
+ require('../text/Label.js');
41
+ require('../text/TextNotation.js');
42
+ require('../text/TextAction.js');
43
+ require('../dialog/DialogContext.js');
44
+ require('../dialog/DialogActions.js');
45
+ require('../dialog/DialogContent.js');
46
+ require('../dialog/DialogCloseButton.js');
47
+ require('../drawer/Drawer.js');
48
+ require('../drawer/DrawerCloseButton.js');
49
+ require('../dropdown/Dropdown.js');
50
+ require('../file-drop-zone/FileDropZone.js');
51
+ require('../file-drop-zone/FileDropZoneIcon.js');
52
+ require('../file-drop-zone/FileDropZoneTrigger.js');
53
+ require('../flex-item/FlexItem.js');
54
+ require('../flex-layout/FlexLayout.js');
55
+ require('../flow-layout/FlowLayout.js');
56
+ require('../form-field/FormField.js');
19
57
  require('../form-field-context/FormFieldContext.js');
20
58
  var useFormFieldProps = require('../form-field-context/useFormFieldProps.js');
59
+ require('../grid-item/GridItem.js');
60
+ require('../grid-layout/GridLayout.js');
61
+ require('../input/Input.js');
62
+ require('../link/Link.js');
63
+ require('../link-card/LinkCard.js');
64
+ require('../list-control/ListControlContext.js');
65
+ require('../multiline-input/MultilineInput.js');
66
+ require('../navigation-item/NavigationItem.js');
67
+ require('../option/Option.js');
68
+ require('../option/OptionGroup.js');
69
+ require('../pagination/Pagination.js');
70
+ require('../pagination/Paginator.js');
71
+ require('../pagination/CompactInput.js');
72
+ require('../pagination/CompactPaginator.js');
73
+ require('../pagination/GoToInput.js');
74
+ require('../panel/Panel.js');
75
+ require('../pill/Pill.js');
76
+ require('../progress/CircularProgress/CircularProgress.js');
77
+ require('../progress/LinearProgress/LinearProgress.js');
78
+ require('./RadioButtonGroup.js');
79
+ var RadioButtonIcon = require('./RadioButtonIcon.js');
80
+ require('../scrim/Scrim.js');
81
+ require('../spinner/Spinner.js');
82
+ require('../stack-layout/StackLayout.js');
83
+ require('../status-adornment/StatusAdornment.js');
84
+ require('../toast/Toast.js');
85
+ require('../toast/ToastContent.js');
86
+ require('../split-layout/SplitLayout.js');
87
+ require('../switch/Switch.js');
88
+ require('../toggle-button/ToggleButton.js');
89
+ require('../toggle-button-group/ToggleButtonGroup.js');
90
+ require('../toggle-button-group/ToggleButtonGroupContext.js');
91
+ require('../tooltip/Tooltip.js');
92
+ require('@floating-ui/react');
93
+ var useRadioGroup = require('./internal/useRadioGroup.js');
94
+ var RadioButton$1 = require('./RadioButton.css.js');
21
95
 
22
96
  const withBaseName = makePrefixer.makePrefixer("saltRadioButton");
23
97
  const RadioButton = React.forwardRef(
@@ -1 +1 @@
1
- {"version":3,"file":"RadioButton.js","sources":["../src/radio-button/RadioButton.tsx"],"sourcesContent":["import { clsx } from \"clsx\";\nimport {\n ChangeEventHandler,\n ComponentPropsWithoutRef,\n FocusEventHandler,\n forwardRef,\n InputHTMLAttributes,\n ReactNode,\n} from \"react\";\nimport { makePrefixer, useControlled } from \"../utils\";\nimport { useRadioGroup } from \"./internal/useRadioGroup\";\nimport { RadioButtonIcon } from \"./RadioButtonIcon\";\n\nimport radioButtonCss from \"./RadioButton.css\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useFormFieldProps } from \"../form-field-context\";\nimport { AdornmentValidationStatus } from \"../status-adornment\";\n\nconst withBaseName = makePrefixer(\"saltRadioButton\");\n\nexport interface RadioButtonProps\n extends Omit<\n ComponentPropsWithoutRef<\"label\">,\n \"onChange\" | \"onBlur\" | \"onFocus\"\n > {\n /**\n * Set the default selected radio button in the group\n */\n checked?: boolean;\n /**\n * Set the disabled state\n */\n disabled?: boolean;\n /**\n * **Deprecated**: Use validationStatus instead\n * Set the error state\n */\n error?: boolean;\n /**\n * Props to be passed to the radio input\n */\n inputProps?: Partial<InputHTMLAttributes<HTMLInputElement>>;\n /**\n * The label to be shown next to the radio icon\n */\n label?: ReactNode;\n /**\n * Name of the radio group\n */\n name?: string;\n /**\n * Callback for blur event\n */\n onBlur?: FocusEventHandler<HTMLInputElement>;\n /**\n * Callback for change event\n */\n onChange?: ChangeEventHandler<HTMLInputElement>;\n /**\n * Callback for focus event\n */\n onFocus?: FocusEventHandler<HTMLInputElement>;\n /**\n * Set the read only state.\n * **Note**: Setting a standalone radio button as read-only is not accessible. The whole radio buttton group should be set as read-only instead.\n */\n readOnly?: boolean;\n /**\n * Value of radio button\n */\n value?: string;\n /**\n * Validation status, one of \"warning\" | \"error\" | \"success\"\n *\n * RadioButton has styling variants for \"error\" and \"warning\".\n * No visual styling will be applied on \"success\" variant.\n */\n validationStatus?: AdornmentValidationStatus;\n}\n\nexport const RadioButton = forwardRef<HTMLLabelElement, RadioButtonProps>(\n function RadioButton(props, ref) {\n const {\n checked: checkedProp,\n className,\n disabled: disabledProp,\n error,\n inputProps = {},\n label,\n name: nameProp,\n onFocus,\n onBlur,\n onChange,\n readOnly: readOnlyProp,\n value,\n validationStatus: validationStatusProp,\n ...rest\n } = props;\n\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-radio-button\",\n css: radioButtonCss,\n window: targetWindow,\n });\n\n const {\n a11yProps: formFieldA11yProps,\n disabled: formFieldDisabled,\n readOnly: formFieldReadOnly,\n validationStatus: formFieldValidationStatus,\n } = useFormFieldProps();\n\n const radioGroup = useRadioGroup();\n\n const {\n \"aria-describedby\": inputDescribedBy,\n \"aria-labelledby\": inputLabelledBy,\n className: inputClassName,\n onChange: inputOnChange,\n ...restInputProps\n } = inputProps;\n\n const disabled = radioGroup?.disabled || formFieldDisabled || disabledProp;\n const readOnly = radioGroup?.readOnly || formFieldReadOnly || readOnlyProp;\n const validationStatus = !disabled\n ? radioGroup?.validationStatus ??\n formFieldValidationStatus ??\n validationStatusProp\n : undefined;\n\n const radioGroupChecked =\n radioGroup?.value != null && value != null\n ? radioGroup.value === value\n : checkedProp;\n const name = nameProp ?? radioGroup?.name;\n\n const [checked, setCheckedState] = useControlled({\n controlled: radioGroupChecked,\n default: Boolean(checkedProp),\n name: \"RadioBase\",\n state: \"checked\",\n });\n\n const handleChange: ChangeEventHandler<HTMLInputElement> = (event) => {\n if (readOnly) return;\n\n const newChecked = event.target.checked;\n setCheckedState(newChecked);\n\n onChange?.(event);\n inputOnChange?.(event);\n radioGroup?.onChange?.(event);\n };\n\n return (\n <label\n className={clsx(\n withBaseName(),\n {\n [withBaseName(\"disabled\")]: disabled,\n [withBaseName(\"readOnly\")]: readOnly,\n [withBaseName(\"error\")]: error /* **Deprecated** */,\n [withBaseName(validationStatus || \"\")]: validationStatus,\n },\n className\n )}\n ref={ref}\n {...rest}\n >\n <input\n aria-describedby={\n clsx(\n radioGroup == undefined\n ? formFieldA11yProps?.[\"aria-describedby\"]\n : undefined,\n inputDescribedBy\n ) || undefined\n }\n aria-labelledby={\n clsx(\n radioGroup == undefined\n ? formFieldA11yProps?.[\"aria-labelledby\"]\n : undefined,\n inputLabelledBy\n ) || undefined\n }\n className={clsx(withBaseName(\"input\"), inputClassName)}\n checked={checked}\n disabled={disabled}\n readOnly={readOnly}\n name={name}\n value={value}\n onBlur={onBlur}\n onChange={handleChange}\n onFocus={onFocus}\n type=\"radio\"\n {...restInputProps}\n />\n <RadioButtonIcon\n checked={checked}\n disabled={disabled}\n readOnly={readOnly}\n validationStatus={validationStatus}\n error={error}\n />\n {label}\n </label>\n );\n }\n);\n"],"names":["makePrefixer","forwardRef","RadioButton","useWindow","useComponentCssInjection","radioButtonCss","useFormFieldProps","useRadioGroup","useControlled","_a","jsxs","clsx","jsx","RadioButtonIcon"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAmBA,MAAM,YAAA,GAAeA,0BAAa,iBAAiB,CAAA,CAAA;AA8D5C,MAAM,WAAc,GAAAC,gBAAA;AAAA,EACzB,SAASC,YAAY,CAAA,KAAA,EAAO,GAAK,EAAA;AAlFnC,IAAA,IAAA,EAAA,EAAA,EAAA,CAAA;AAmFI,IAAM,MAAA;AAAA,MACJ,OAAS,EAAA,WAAA;AAAA,MACT,SAAA;AAAA,MACA,QAAU,EAAA,YAAA;AAAA,MACV,KAAA;AAAA,MACA,aAAa,EAAC;AAAA,MACd,KAAA;AAAA,MACA,IAAM,EAAA,QAAA;AAAA,MACN,OAAA;AAAA,MACA,MAAA;AAAA,MACA,QAAA;AAAA,MACA,QAAU,EAAA,YAAA;AAAA,MACV,KAAA;AAAA,MACA,gBAAkB,EAAA,oBAAA;AAAA,MACf,GAAA,IAAA;AAAA,KACD,GAAA,KAAA,CAAA;AAEJ,IAAA,MAAM,eAAeC,gBAAU,EAAA,CAAA;AAC/B,IAAyBC,+BAAA,CAAA;AAAA,MACvB,MAAQ,EAAA,mBAAA;AAAA,MACR,GAAK,EAAAC,aAAA;AAAA,MACL,MAAQ,EAAA,YAAA;AAAA,KACT,CAAA,CAAA;AAED,IAAM,MAAA;AAAA,MACJ,SAAW,EAAA,kBAAA;AAAA,MACX,QAAU,EAAA,iBAAA;AAAA,MACV,QAAU,EAAA,iBAAA;AAAA,MACV,gBAAkB,EAAA,yBAAA;AAAA,QAChBC,mCAAkB,EAAA,CAAA;AAEtB,IAAA,MAAM,aAAaC,2BAAc,EAAA,CAAA;AAEjC,IAAM,MAAA;AAAA,MACJ,kBAAoB,EAAA,gBAAA;AAAA,MACpB,iBAAmB,EAAA,eAAA;AAAA,MACnB,SAAW,EAAA,cAAA;AAAA,MACX,QAAU,EAAA,aAAA;AAAA,MACP,GAAA,cAAA;AAAA,KACD,GAAA,UAAA,CAAA;AAEJ,IAAM,MAAA,QAAA,GAAA,CAAW,UAAY,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,UAAA,CAAA,QAAA,KAAY,iBAAqB,IAAA,YAAA,CAAA;AAC9D,IAAM,MAAA,QAAA,GAAA,CAAW,UAAY,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,UAAA,CAAA,QAAA,KAAY,iBAAqB,IAAA,YAAA,CAAA;AAC9D,IAAM,MAAA,gBAAA,GAAmB,CAAC,QACtB,GAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,UAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,UAAA,CAAY,qBAAZ,IACA,GAAA,EAAA,GAAA,yBAAA,KADA,YAEA,oBACA,GAAA,KAAA,CAAA,CAAA;AAEJ,IAAM,MAAA,iBAAA,GAAA,CACJ,yCAAY,KAAS,KAAA,IAAA,IAAQ,SAAS,IAClC,GAAA,UAAA,CAAW,UAAU,KACrB,GAAA,WAAA,CAAA;AACN,IAAM,MAAA,IAAA,GAAO,8BAAY,UAAY,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,UAAA,CAAA,IAAA,CAAA;AAErC,IAAA,MAAM,CAAC,OAAA,EAAS,eAAe,CAAA,GAAIC,2BAAc,CAAA;AAAA,MAC/C,UAAY,EAAA,iBAAA;AAAA,MACZ,OAAA,EAAS,QAAQ,WAAW,CAAA;AAAA,MAC5B,IAAM,EAAA,WAAA;AAAA,MACN,KAAO,EAAA,SAAA;AAAA,KACR,CAAA,CAAA;AAED,IAAM,MAAA,YAAA,GAAqD,CAAC,KAAU,KAAA;AAjJ1E,MAAAC,IAAAA,GAAAA,CAAAA;AAkJM,MAAI,IAAA,QAAA;AAAU,QAAA,OAAA;AAEd,MAAM,MAAA,UAAA,GAAa,MAAM,MAAO,CAAA,OAAA,CAAA;AAChC,MAAA,eAAA,CAAgB,UAAU,CAAA,CAAA;AAE1B,MAAW,QAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,QAAA,CAAA,KAAA,CAAA,CAAA;AACX,MAAgB,aAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,aAAA,CAAA,KAAA,CAAA,CAAA;AAChB,MAAA,CAAAA,GAAA,GAAA,UAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,UAAA,CAAY,QAAZ,KAAA,IAAA,GAAA,KAAA,CAAA,GAAAA,IAAA,IAAuB,CAAA,UAAA,EAAA,KAAA,CAAA,CAAA;AAAA,KACzB,CAAA;AAEA,IAAA,uBACGC,eAAA,CAAA,OAAA,EAAA;AAAA,MACC,SAAW,EAAAC,SAAA;AAAA,QACT,YAAa,EAAA;AAAA,QACb;AAAA,UACE,CAAC,YAAa,CAAA,UAAU,CAAI,GAAA,QAAA;AAAA,UAC5B,CAAC,YAAa,CAAA,UAAU,CAAI,GAAA,QAAA;AAAA,UAC5B,CAAC,YAAa,CAAA,OAAO,CAAI,GAAA,KAAA;AAAA,UACzB,CAAC,YAAA,CAAa,gBAAoB,IAAA,EAAE,CAAI,GAAA,gBAAA;AAAA,SAC1C;AAAA,QACA,SAAA;AAAA,OACF;AAAA,MACA,GAAA;AAAA,MACC,GAAG,IAAA;AAAA,MAEJ,QAAA,EAAA;AAAA,wBAACC,cAAA,CAAA,OAAA,EAAA;AAAA,UACC,kBACE,EAAAD,SAAA;AAAA,YACE,UAAA,IAAc,KACV,CAAA,GAAA,kBAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,kBAAA,CAAqB,kBACrB,CAAA,GAAA,KAAA,CAAA;AAAA,YACJ,gBAAA;AAAA,WACG,IAAA,KAAA,CAAA;AAAA,UAEP,iBACE,EAAAA,SAAA;AAAA,YACE,UAAA,IAAc,KACV,CAAA,GAAA,kBAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,kBAAA,CAAqB,iBACrB,CAAA,GAAA,KAAA,CAAA;AAAA,YACJ,eAAA;AAAA,WACG,IAAA,KAAA,CAAA;AAAA,UAEP,SAAW,EAAAA,SAAA,CAAK,YAAa,CAAA,OAAO,GAAG,cAAc,CAAA;AAAA,UACrD,OAAA;AAAA,UACA,QAAA;AAAA,UACA,QAAA;AAAA,UACA,IAAA;AAAA,UACA,KAAA;AAAA,UACA,MAAA;AAAA,UACA,QAAU,EAAA,YAAA;AAAA,UACV,OAAA;AAAA,UACA,IAAK,EAAA,OAAA;AAAA,UACJ,GAAG,cAAA;AAAA,SACN,CAAA;AAAA,wBACCC,cAAA,CAAAC,+BAAA,EAAA;AAAA,UACC,OAAA;AAAA,UACA,QAAA;AAAA,UACA,QAAA;AAAA,UACA,gBAAA;AAAA,UACA,KAAA;AAAA,SACF,CAAA;AAAA,QACC,KAAA;AAAA,OAAA;AAAA,KACH,CAAA,CAAA;AAAA,GAEJ;AACF;;;;"}
1
+ {"version":3,"file":"RadioButton.js","sources":["../src/radio-button/RadioButton.tsx"],"sourcesContent":["import { clsx } from \"clsx\";\nimport {\n ChangeEventHandler,\n ComponentPropsWithoutRef,\n FocusEventHandler,\n forwardRef,\n InputHTMLAttributes,\n ReactNode,\n} from \"react\";\nimport { makePrefixer, useControlled } from \"../utils\";\nimport { useRadioGroup } from \"./internal/useRadioGroup\";\nimport { RadioButtonIcon } from \"./RadioButtonIcon\";\n\nimport radioButtonCss from \"./RadioButton.css\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useFormFieldProps } from \"../form-field-context\";\nimport { AdornmentValidationStatus } from \"../status-adornment\";\n\nconst withBaseName = makePrefixer(\"saltRadioButton\");\n\nexport interface RadioButtonProps\n extends Omit<\n ComponentPropsWithoutRef<\"label\">,\n \"onChange\" | \"onBlur\" | \"onFocus\"\n > {\n /**\n * Set the default selected radio button in the group\n */\n checked?: boolean;\n /**\n * Set the disabled state\n */\n disabled?: boolean;\n /**\n * **Deprecated**: Use validationStatus instead\n * Set the error state\n */\n error?: boolean;\n /**\n * Props to be passed to the radio input\n */\n inputProps?: Partial<InputHTMLAttributes<HTMLInputElement>>;\n /**\n * The label to be shown next to the radio icon\n */\n label?: ReactNode;\n /**\n * Name of the radio group\n */\n name?: string;\n /**\n * Callback for blur event\n */\n onBlur?: FocusEventHandler<HTMLInputElement>;\n /**\n * Callback for change event\n */\n onChange?: ChangeEventHandler<HTMLInputElement>;\n /**\n * Callback for focus event\n */\n onFocus?: FocusEventHandler<HTMLInputElement>;\n /**\n * Set the read only state.\n * **Note**: Setting a standalone radio button as read-only is not accessible. The whole radio buttton group should be set as read-only instead.\n */\n readOnly?: boolean;\n /**\n * Value of radio button\n */\n value?: string;\n /**\n * Validation status, one of \"warning\" | \"error\" | \"success\"\n *\n * RadioButton has styling variants for \"error\" and \"warning\".\n * No visual styling will be applied on \"success\" variant.\n */\n validationStatus?: AdornmentValidationStatus;\n}\n\nexport const RadioButton = forwardRef<HTMLLabelElement, RadioButtonProps>(\n function RadioButton(props, ref) {\n const {\n checked: checkedProp,\n className,\n disabled: disabledProp,\n error,\n inputProps = {},\n label,\n name: nameProp,\n onFocus,\n onBlur,\n onChange,\n readOnly: readOnlyProp,\n value,\n validationStatus: validationStatusProp,\n ...rest\n } = props;\n\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-radio-button\",\n css: radioButtonCss,\n window: targetWindow,\n });\n\n const {\n a11yProps: formFieldA11yProps,\n disabled: formFieldDisabled,\n readOnly: formFieldReadOnly,\n validationStatus: formFieldValidationStatus,\n } = useFormFieldProps();\n\n const radioGroup = useRadioGroup();\n\n const {\n \"aria-describedby\": inputDescribedBy,\n \"aria-labelledby\": inputLabelledBy,\n className: inputClassName,\n onChange: inputOnChange,\n ...restInputProps\n } = inputProps;\n\n const disabled = radioGroup?.disabled || formFieldDisabled || disabledProp;\n const readOnly = radioGroup?.readOnly || formFieldReadOnly || readOnlyProp;\n const validationStatus = !disabled\n ? radioGroup?.validationStatus ??\n formFieldValidationStatus ??\n validationStatusProp\n : undefined;\n\n const radioGroupChecked =\n radioGroup?.value != null && value != null\n ? radioGroup.value === value\n : checkedProp;\n const name = nameProp ?? radioGroup?.name;\n\n const [checked, setCheckedState] = useControlled({\n controlled: radioGroupChecked,\n default: Boolean(checkedProp),\n name: \"RadioBase\",\n state: \"checked\",\n });\n\n const handleChange: ChangeEventHandler<HTMLInputElement> = (event) => {\n if (readOnly) return;\n\n const newChecked = event.target.checked;\n setCheckedState(newChecked);\n\n onChange?.(event);\n inputOnChange?.(event);\n radioGroup?.onChange?.(event);\n };\n\n return (\n <label\n className={clsx(\n withBaseName(),\n {\n [withBaseName(\"disabled\")]: disabled,\n [withBaseName(\"readOnly\")]: readOnly,\n [withBaseName(\"error\")]: error /* **Deprecated** */,\n [withBaseName(validationStatus || \"\")]: validationStatus,\n },\n className\n )}\n ref={ref}\n {...rest}\n >\n <input\n aria-describedby={\n clsx(\n radioGroup == undefined\n ? formFieldA11yProps?.[\"aria-describedby\"]\n : undefined,\n inputDescribedBy\n ) || undefined\n }\n aria-labelledby={\n clsx(\n radioGroup == undefined\n ? formFieldA11yProps?.[\"aria-labelledby\"]\n : undefined,\n inputLabelledBy\n ) || undefined\n }\n className={clsx(withBaseName(\"input\"), inputClassName)}\n checked={checked}\n disabled={disabled}\n readOnly={readOnly}\n name={name}\n value={value}\n onBlur={onBlur}\n onChange={handleChange}\n onFocus={onFocus}\n type=\"radio\"\n {...restInputProps}\n />\n <RadioButtonIcon\n checked={checked}\n disabled={disabled}\n readOnly={readOnly}\n validationStatus={validationStatus}\n error={error}\n />\n {label}\n </label>\n );\n }\n);\n"],"names":["makePrefixer","forwardRef","RadioButton","useWindow","useComponentCssInjection","radioButtonCss","useFormFieldProps","useRadioGroup","useControlled","_a","jsxs","clsx","jsx","RadioButtonIcon"],"mappings":"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"}