@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
package/css/salt-core.css CHANGED
@@ -668,6 +668,11 @@ a:link .saltInteractableCard * {
668
668
  color: var(--salt-content-primary-foreground);
669
669
  }
670
670
 
671
+ /* src/combo-box/ComboBox.css */
672
+ .saltComboBox-focused {
673
+ outline: var(--salt-focused-outline);
674
+ }
675
+
671
676
  /* src/dialog/Dialog.css */
672
677
  .saltDialog {
673
678
  position: fixed;
@@ -924,6 +929,91 @@ a:link .saltInteractableCard * {
924
929
  margin-right: calc(var(--salt-spacing-300) * -1);
925
930
  }
926
931
 
932
+ /* src/dropdown/Dropdown.css */
933
+ .saltDropdown {
934
+ --dropdown-borderColor: var(--salt-editable-borderColor);
935
+ --dropdown-color: var(--salt-content-primary-foreground);
936
+ --dropdown-cursor: var(--salt-selectable-cursor-hover);
937
+ }
938
+ .saltDropdown {
939
+ all: unset;
940
+ box-sizing: border-box;
941
+ min-width: 4em;
942
+ width: 100%;
943
+ background: var(--dropdown-background);
944
+ cursor: var(--dropdown-cursor);
945
+ min-height: var(--salt-size-base);
946
+ border-bottom: var(--salt-size-border) var(--salt-editable-borderStyle) var(--dropdown-borderColor);
947
+ display: flex;
948
+ align-items: center;
949
+ padding: 0 var(--salt-spacing-100);
950
+ gap: var(--salt-spacing-100);
951
+ color: var(--dropdown-color);
952
+ font-family: var(--salt-text-fontFamily);
953
+ font-size: var(--salt-text-fontSize);
954
+ font-weight: var(--salt-text-fontWeight);
955
+ }
956
+ .saltDropdown:hover {
957
+ --dropdown-borderColor: var(--salt-editable-borderColor-hover);
958
+ }
959
+ .saltDropdown:focus-visible {
960
+ outline: var(--salt-focused-outline);
961
+ --dropdown-borderColor: var(--salt-editable-borderColor-hover);
962
+ }
963
+ .saltDropdown-content {
964
+ flex: 1;
965
+ max-width: 100%;
966
+ overflow: hidden;
967
+ text-overflow: ellipsis;
968
+ text-wrap: nowrap;
969
+ }
970
+ .saltDropdown-placeholder {
971
+ color: var(--salt-content-secondary-foreground);
972
+ font-weight: var(--salt-text-fontWeight-small);
973
+ }
974
+ .saltDropdown-primary {
975
+ --dropdown-background: var(--salt-editable-primary-background);
976
+ }
977
+ .saltDropdown-secondary {
978
+ --dropdown-background: var(--salt-editable-secondary-background);
979
+ }
980
+ .saltDropdown:disabled {
981
+ --dropdown-background: var(--salt-editable-primary-background-disabled);
982
+ --dropdown-borderColor: var(--salt-editable-borderColor-disabled);
983
+ --dropdown-color: var(--salt-content-primary-foreground-disabled);
984
+ --dropdown-cursor: var(--salt-selectable-cursor-disabled);
985
+ }
986
+ .saltDropdown[aria-readonly=true] {
987
+ --dropdown-background: var(--salt-editable-primary-background-readonly);
988
+ --dropdown-borderColor: var(--salt-editable-borderColor-readonly);
989
+ --dropdown-color: var(--salt-content-primary-foreground);
990
+ --dropdown-cursor: var(--salt-selectable-cursor-readonly);
991
+ }
992
+ .saltDropdown-error {
993
+ --dropdown-background: var(--salt-status-error-background);
994
+ --dropdown-borderColor: var(--salt-status-error-borderColor);
995
+ }
996
+ .saltDropdown-error .saltDropdown:focus-visible {
997
+ outline-color: var(--salt-status-error-borderColor);
998
+ --dropdown-borderColor: var(--salt-status-error-borderColor);
999
+ }
1000
+ .saltDropdown-warning {
1001
+ --dropdown-background: var(--salt-status-warning-background);
1002
+ --dropdown-borderColor: var(--salt-status-warning-borderColor);
1003
+ }
1004
+ .saltDropdown-warning .saltDropdown:focus-visible {
1005
+ outline-color: var(--salt-status-warning-borderColor);
1006
+ --dropdown-borderColor: var(--salt-status-warning-borderColor);
1007
+ }
1008
+ .saltDropdown-success {
1009
+ --dropdown-background: var(--salt-status-success-background);
1010
+ --dropdown-borderColor: var(--salt-status-success-borderColor);
1011
+ }
1012
+ .saltDropdown-success .saltDropdown:focus-visible {
1013
+ outline-color: var(--salt-status-success-borderColor);
1014
+ --dropdown-borderColor: var(--salt-status-success-borderColor);
1015
+ }
1016
+
927
1017
  /* src/file-drop-zone/FileDropZone.css */
928
1018
  .saltFileDropZone {
929
1019
  color: var(--saltFileDropZone-text-color, var(--salt-text-primary-foreground));
@@ -1770,6 +1860,99 @@ a:link .saltInteractableCard * {
1770
1860
  transition: all var(--salt-duration-perceptible) ease-in-out;
1771
1861
  }
1772
1862
 
1863
+ /* src/option/Option.css */
1864
+ .saltOption {
1865
+ color: var(--salt-content-primary-foreground);
1866
+ background: var(--salt-selectable-background);
1867
+ font-size: var(--salt-text-fontSize);
1868
+ font-weight: var(--salt-text-fontWeight);
1869
+ min-height: calc(var(--salt-size-base) + var(--salt-spacing-100));
1870
+ padding-left: var(--salt-spacing-100);
1871
+ padding-right: var(--salt-spacing-100);
1872
+ display: flex;
1873
+ gap: var(--salt-spacing-100);
1874
+ position: relative;
1875
+ align-items: center;
1876
+ cursor: var(--salt-selectable-cursor-hover);
1877
+ box-sizing: border-box;
1878
+ }
1879
+ .saltOption-active {
1880
+ background: var(--salt-selectable-background-hover);
1881
+ }
1882
+ .saltOption-focusVisible {
1883
+ outline: var(--salt-focused-outline);
1884
+ outline-offset: calc(var(--salt-size-border) * -2);
1885
+ }
1886
+ .saltOption:hover {
1887
+ background: var(--salt-selectable-background-hover);
1888
+ }
1889
+ .saltOption[aria-selected=true] {
1890
+ background: var(--salt-selectable-background-selected);
1891
+ }
1892
+ .saltOption[aria-selected=true]::before {
1893
+ content: "";
1894
+ display: block;
1895
+ position: absolute;
1896
+ top: -1px;
1897
+ bottom: -1px;
1898
+ left: 0;
1899
+ width: 100%;
1900
+ }
1901
+ .saltOption[aria-selected=true]::before {
1902
+ border-top: var(--salt-size-border) var(--salt-selectable-borderStyle-selected) var(--salt-selectable-borderColor-selected);
1903
+ border-bottom: var(--salt-size-border) var(--salt-selectable-borderStyle-selected) var(--salt-selectable-borderColor-selected);
1904
+ }
1905
+ .saltOption[aria-selected=true]:first-of-type::before {
1906
+ border-top: unset;
1907
+ top: 0;
1908
+ }
1909
+ .saltOption[aria-selected=true]:last-of-type::before {
1910
+ border-bottom: unset;
1911
+ bottom: 0;
1912
+ }
1913
+ .saltOption[aria-disabled=true] {
1914
+ color: var(--salt-content-primary-foreground-disabled);
1915
+ cursor: var(--salt-selectable-cursor-disabled);
1916
+ }
1917
+
1918
+ /* src/option/OptionGroup.css */
1919
+ .saltOptionGroup-label {
1920
+ background: var(--salt-container-primary-background);
1921
+ color: var(--salt-text-secondary-foreground);
1922
+ font-size: var(--salt-text-label-fontSize);
1923
+ font-weight: var(--salt-text-label-fontWeight-strong);
1924
+ height: calc(var(--salt-size-base) + var(--salt-spacing-100));
1925
+ padding-left: var(--salt-spacing-100);
1926
+ padding-right: var(--salt-spacing-100);
1927
+ display: flex;
1928
+ align-items: center;
1929
+ position: sticky;
1930
+ top: 0;
1931
+ z-index: 2;
1932
+ }
1933
+
1934
+ /* src/option/OptionList.css */
1935
+ .saltOptionList {
1936
+ background: var(--salt-container-primary-background);
1937
+ border: var(--salt-size-border) var(--salt-selectable-borderStyle-selected) var(--salt-selectable-borderColor-selected);
1938
+ overflow: hidden;
1939
+ overflow-y: auto;
1940
+ position: relative;
1941
+ z-index: var(--salt-zIndex-flyover);
1942
+ box-shadow: var(--salt-overlayable-shadow-popout);
1943
+ box-sizing: border-box;
1944
+ }
1945
+ .saltOptionList-container {
1946
+ display: flex;
1947
+ flex-direction: column;
1948
+ gap: var(--salt-size-border);
1949
+ max-height: inherit;
1950
+ min-height: inherit;
1951
+ }
1952
+ .saltOptionList-collapsed {
1953
+ display: none;
1954
+ }
1955
+
1773
1956
  /* src/pagination/CompactInput.css */
1774
1957
  .saltCompactInput {
1775
1958
  --saltInput-paddingLeft: 0;
@@ -1930,6 +2113,223 @@ a:link .saltInteractableCard * {
1930
2113
  cursor: var(--salt-selectable-cursor-disabled);
1931
2114
  }
1932
2115
 
2116
+ /* src/pill-input/PillInput.css */
2117
+ .saltPillInput {
2118
+ --input-borderColor: var(--salt-editable-borderColor);
2119
+ --input-borderStyle: var(--salt-editable-borderStyle);
2120
+ --input-outlineColor: var(--salt-focused-outlineColor);
2121
+ --input-borderWidth: var(--salt-size-border);
2122
+ align-items: center;
2123
+ background: var(--saltInput-background, var(--input-background));
2124
+ color: var(--saltInput-color, var(--salt-content-primary-foreground));
2125
+ display: inline-flex;
2126
+ font-family: var(--salt-text-fontFamily);
2127
+ font-size: var(--saltInput-fontSize, var(--salt-text-fontSize));
2128
+ line-height: var(--saltInput-lineHeight, var(--salt-text-lineHeight));
2129
+ min-height: var(--saltInput-minHeight, var(--salt-size-base));
2130
+ min-width: var(--saltInput-minWidth, 4em);
2131
+ padding-left: var(--saltInput-paddingLeft, var(--salt-spacing-100));
2132
+ padding-right: var(--saltInput-paddingRight, var(--salt-spacing-100));
2133
+ position: relative;
2134
+ width: 100%;
2135
+ box-sizing: border-box;
2136
+ }
2137
+ .saltPillInput-truncate {
2138
+ height: var(--salt-size-base);
2139
+ }
2140
+ .saltPillInput-truncate .saltPillInput-inputWrapper {
2141
+ flex-wrap: nowrap;
2142
+ }
2143
+ .saltPillInput:hover {
2144
+ --input-borderStyle: var(--salt-editable-borderStyle-hover);
2145
+ --input-borderColor: var(--salt-editable-borderColor-hover);
2146
+ background: var(--saltInput-background-hover, var(--input-background-hover));
2147
+ cursor: var(--salt-editable-cursor-hover);
2148
+ }
2149
+ .saltPillInput:active {
2150
+ --input-borderColor: var(--salt-editable-borderColor-active);
2151
+ --input-borderStyle: var(--salt-editable-borderStyle-active);
2152
+ --input-borderWidth: var(--salt-editable-borderWidth-active);
2153
+ background: var(--saltInput-background-active, var(--input-background-active));
2154
+ cursor: var(--salt-editable-cursor-active);
2155
+ }
2156
+ .saltPillInput-primary {
2157
+ --input-background: var(--salt-editable-primary-background);
2158
+ --input-background-active: var(--salt-editable-primary-background-active);
2159
+ --input-background-hover: var(--salt-editable-primary-background-hover);
2160
+ --input-background-disabled: var(--salt-editable-primary-background-disabled);
2161
+ --input-background-readonly: var(--salt-editable-primary-background-readonly);
2162
+ }
2163
+ .saltPillInput-secondary {
2164
+ --input-background: var(--salt-editable-secondary-background);
2165
+ --input-background-active: var(--salt-editable-secondary-background-active);
2166
+ --input-background-hover: var(--salt-editable-secondary-background-active);
2167
+ --input-background-disabled: var(--salt-editable-secondary-background-disabled);
2168
+ --input-background-readonly: var(--salt-editable-secondary-background-readonly);
2169
+ }
2170
+ .saltPillInput-error,
2171
+ .saltPillInput-error:hover {
2172
+ --input-background: var(--salt-status-error-background);
2173
+ --input-background-active: var(--salt-status-error-background);
2174
+ --input-background-hover: var(--salt-status-error-background);
2175
+ --input-borderColor: var(--salt-status-error-borderColor);
2176
+ --input-outlineColor: var(--salt-status-error-borderColor);
2177
+ }
2178
+ .saltPillInput-warning,
2179
+ .saltPillInput-warning:hover {
2180
+ --input-background: var(--salt-status-warning-background);
2181
+ --input-background-active: var(--salt-status-warning-background);
2182
+ --input-background-hover: var(--salt-status-warning-background);
2183
+ --input-borderColor: var(--salt-status-warning-borderColor);
2184
+ --input-outlineColor: var(--salt-status-warning-borderColor);
2185
+ }
2186
+ .saltPillInput-success,
2187
+ .saltPillInput-success:hover {
2188
+ --input-background: var(--salt-status-success-background);
2189
+ --input-background-active: var(--salt-status-success-background);
2190
+ --input-background-hover: var(--salt-status-success-background);
2191
+ --input-borderColor: var(--salt-status-success-borderColor);
2192
+ --input-outlineColor: var(--salt-status-success-borderColor);
2193
+ }
2194
+ .saltPillInput-input {
2195
+ background: none;
2196
+ border: none;
2197
+ box-sizing: content-box;
2198
+ color: inherit;
2199
+ cursor: inherit;
2200
+ display: block;
2201
+ flex: 1;
2202
+ font: inherit;
2203
+ height: 100%;
2204
+ letter-spacing: var(--saltInput-letterSpacing, 0);
2205
+ margin: 0;
2206
+ min-width: 0;
2207
+ overflow: hidden;
2208
+ padding: 0;
2209
+ text-align: var(--input-textAlign);
2210
+ width: 100%;
2211
+ }
2212
+ .saltPillInput-input:focus {
2213
+ outline: none;
2214
+ }
2215
+ .saltPillInput-input::selection {
2216
+ background: var(--salt-content-foreground-highlight);
2217
+ }
2218
+ .saltPillInput-input::placeholder {
2219
+ color: var(--salt-content-secondary-foreground);
2220
+ font-weight: var(--salt-text-fontWeight-small);
2221
+ }
2222
+ .saltPillInput-focused {
2223
+ --input-borderColor: var(--input-outlineColor);
2224
+ --input-borderWidth: var(--salt-editable-borderWidth-active);
2225
+ outline: var(--saltInput-outline, var(--salt-focused-outlineWidth) var(--salt-focused-outlineStyle) var(--input-outlineColor));
2226
+ }
2227
+ .saltPillInput.saltPillInput-readOnly {
2228
+ --input-borderColor: var(--salt-editable-borderColor-readonly);
2229
+ --input-borderStyle: var(--salt-editable-borderStyle-readonly);
2230
+ --input-borderWidth: var(--salt-size-border);
2231
+ background: var(--input-background-readonly);
2232
+ cursor: var(--salt-editable-cursor-readonly);
2233
+ }
2234
+ .saltPillInput-focused.saltPillInput-disabled {
2235
+ --input-borderWidth: var(--salt-size-border);
2236
+ outline: none;
2237
+ }
2238
+ .saltPillInput-focused.saltPillInput-readOnly {
2239
+ --input-borderWidth: var(--salt-size-border);
2240
+ }
2241
+ .saltPillInput-disabled .saltPillInput-input::selection {
2242
+ background: none;
2243
+ }
2244
+ .saltPillInput.saltPillInput-disabled,
2245
+ .saltPillInput.saltPillInput-disabled:hover,
2246
+ .saltPillInput.saltPillInput-disabled:active {
2247
+ --input-borderColor: var(--salt-editable-borderColor-disabled);
2248
+ --input-borderStyle: var(--salt-editable-borderStyle-disabled);
2249
+ --input-borderWidth: var(--salt-size-border);
2250
+ background: var(--input-background-disabled);
2251
+ cursor: var(--salt-editable-cursor-disabled);
2252
+ color: var(--saltInput-color-disabled, var(--salt-content-primary-foreground-disabled));
2253
+ }
2254
+ .saltPillInput-activationIndicator {
2255
+ left: 0;
2256
+ bottom: 0;
2257
+ width: 100%;
2258
+ position: absolute;
2259
+ border-bottom: var(--input-borderWidth) var(--input-borderStyle) var(--input-borderColor);
2260
+ }
2261
+ .saltPillInput-startAdornmentContainer {
2262
+ align-items: center;
2263
+ display: inline-flex;
2264
+ padding-right: var(--salt-spacing-100);
2265
+ column-gap: var(--salt-spacing-100);
2266
+ }
2267
+ .saltPillInput-endAdornmentContainer {
2268
+ align-items: center;
2269
+ display: inline-flex;
2270
+ padding-left: var(--salt-spacing-100);
2271
+ padding-top: var(--salt-spacing-50);
2272
+ column-gap: var(--salt-spacing-100);
2273
+ align-self: flex-start;
2274
+ }
2275
+ .saltPillInput-readOnly .saltPillInput-startAdornmentContainer {
2276
+ margin-left: var(--salt-spacing-50);
2277
+ }
2278
+ .saltPillInput-startAdornmentContainer .saltButton ~ .saltButton {
2279
+ margin-left: calc(-1 * var(--salt-spacing-50));
2280
+ }
2281
+ .saltPillInput-endAdornmentContainer .saltButton ~ .saltButton {
2282
+ margin-left: calc(-1 * var(--salt-spacing-50));
2283
+ }
2284
+ .saltPillInput-startAdornmentContainer .saltButton:first-child {
2285
+ margin-left: calc(var(--salt-spacing-50) * -1);
2286
+ }
2287
+ .saltPillInput-endAdornmentContainer .saltButton:last-child {
2288
+ margin-right: calc(var(--salt-spacing-50) * -1);
2289
+ }
2290
+ .saltPillInput-startAdornmentContainer > .saltButton,
2291
+ .saltPillInput-endAdornmentContainer > .saltButton {
2292
+ --saltButton-padding: var(--salt-spacing-50);
2293
+ --saltButton-height: calc(var(--salt-size-base) - var(--salt-spacing-100));
2294
+ }
2295
+ .saltPillInput-inputWrapper {
2296
+ display: flex;
2297
+ gap: var(--salt-spacing-50);
2298
+ align-items: center;
2299
+ flex: 1;
2300
+ padding: var(--salt-spacing-50) 0;
2301
+ flex-wrap: wrap;
2302
+ max-height: inherit;
2303
+ height: inherit;
2304
+ overflow-y: auto;
2305
+ box-sizing: border-box;
2306
+ }
2307
+ .saltPillInput-pillList {
2308
+ display: contents;
2309
+ }
2310
+ .saltPillInput .saltPill:focus-visible {
2311
+ background: var(--salt-selectable-background-hover);
2312
+ outline: none;
2313
+ }
2314
+ .saltPillInput .saltPill:hover {
2315
+ background: var(--salt-selectable-background-hover);
2316
+ }
2317
+ .saltPillInput .saltPill:active {
2318
+ background: var(--salt-actionable-primary-background-active);
2319
+ --saltPill-color: var(--salt-actionable-primary-foreground-active);
2320
+ --saltIcon-color: var(--salt-actionable-primary-foreground-active);
2321
+ }
2322
+ div[role=listitem] {
2323
+ display: inline;
2324
+ }
2325
+ .saltPillInput-overflowIndicator {
2326
+ width: calc(var(--salt-size-base) - var(--salt-spacing-100));
2327
+ height: calc(var(--salt-size-base) - var(--salt-spacing-100));
2328
+ display: flex;
2329
+ align-items: center;
2330
+ justify-content: center;
2331
+ }
2332
+
1933
2333
  /* src/radio-button/RadioButton.css */
1934
2334
  .saltRadioButton {
1935
2335
  display: flex;
@@ -2669,21 +3069,37 @@ label.saltText small,
2669
3069
  .saltCircularProgress-track {
2670
3070
  inline-size: calc(var(--salt-size-base) * 3);
2671
3071
  block-size: calc(var(--salt-size-base) * 3);
2672
- border-style: var(--salt-track-borderStyle);
2673
- border-width: var(--salt-size-bar-small);
3072
+ outline-style: var(--salt-track-borderStyle);
3073
+ outline-width: var(--salt-size-bar);
3074
+ outline-offset: calc(var(--salt-size-bar) * -1.5);
2674
3075
  border-radius: calc(var(--salt-size-base) * 3);
2675
- border-color: var(--salt-track-borderColor);
3076
+ outline-color: var(--salt-track-borderColor);
2676
3077
  box-sizing: border-box;
2677
3078
  }
2678
- .saltCircularProgress-bar {
3079
+ .saltCircularProgress-bar,
3080
+ .saltCircularProgress-bufferBorder,
3081
+ .saltCircularProgress-bufferBackground {
2679
3082
  inline-size: calc(var(--salt-size-base) * 3);
2680
3083
  block-size: calc(var(--salt-size-base) * 3);
2681
- border-style: var(--salt-track-borderStyle);
2682
- border-width: var(--salt-size-bar-strong);
2683
3084
  border-radius: calc(var(--salt-size-base) * 3);
2684
- border-color: var(--salt-accent-background);
2685
3085
  box-sizing: border-box;
2686
3086
  }
3087
+ .saltCircularProgress-bar {
3088
+ border-color: var(--salt-accent-background);
3089
+ border-style: var(--salt-track-borderStyle);
3090
+ border-width: var(--salt-size-bar-strong);
3091
+ }
3092
+ .saltCircularProgress-bufferBorder {
3093
+ border: solid var(--salt-size-border) var(--salt-accent-background);
3094
+ outline: solid var(--salt-size-border) var(--salt-accent-background);
3095
+ outline-offset: calc(var(--salt-size-bar-strong) * -1);
3096
+ }
3097
+ .saltCircularProgress-bufferBackground {
3098
+ border: solid var(--salt-size-bar-strong) var(--salt-container-primary-background);
3099
+ position: absolute;
3100
+ bottom: 0;
3101
+ z-index: calc(var(--salt-zIndex-default) * -1);
3102
+ }
2687
3103
  .saltCircularProgress-bars {
2688
3104
  position: absolute;
2689
3105
  inset-block-start: 0;
@@ -2691,26 +3107,50 @@ label.saltText small,
2691
3107
  inline-size: 100%;
2692
3108
  block-size: 100%;
2693
3109
  }
3110
+ .saltCircularProgress-bufferOverlayRight,
3111
+ .saltCircularProgress-bufferOverlayLeft,
2694
3112
  .saltCircularProgress-barOverlayRight,
2695
- .saltCircularProgress-barOverlayLeft {
2696
- inline-size: 50%;
3113
+ .saltCircularProgress-barOverlayLeft,
3114
+ .saltCircularProgress-bufferSubOverlayRight,
3115
+ .saltCircularProgress-bufferSubOverlayLeft,
3116
+ .saltCircularProgress-barSubOverlayRight,
3117
+ .saltCircularProgress-barSubOverlayLeft {
2697
3118
  block-size: 100%;
2698
3119
  transform-origin: 100% center;
2699
- transform: rotate(180deg);
2700
3120
  overflow: hidden;
3121
+ }
3122
+ .saltCircularProgress-bufferOverlayRight,
3123
+ .saltCircularProgress-bufferOverlayLeft,
3124
+ .saltCircularProgress-barOverlayRight,
3125
+ .saltCircularProgress-barOverlayLeft {
3126
+ inline-size: 50%;
3127
+ transform: rotate(180deg);
2701
3128
  position: absolute;
2702
3129
  }
3130
+ .saltCircularProgress-bufferSubOverlayRight,
3131
+ .saltCircularProgress-bufferSubOverlayLeft,
2703
3132
  .saltCircularProgress-barSubOverlayRight,
2704
3133
  .saltCircularProgress-barSubOverlayLeft {
2705
3134
  inline-size: 100%;
2706
- block-size: 100%;
2707
- transform-origin: 100% center;
2708
- overflow: hidden;
2709
3135
  transform: rotate(-180deg);
2710
3136
  }
3137
+ .saltCircularProgress-bufferOverlayLeft,
2711
3138
  .saltCircularProgress-barOverlayLeft {
2712
3139
  transform: rotate(0deg);
2713
3140
  }
3141
+ .saltCircularProgress-bufferOverlayRight:before,
3142
+ .saltCircularProgress-bufferSubOverlay:before {
3143
+ content: "";
3144
+ background: var(--salt-accent-background);
3145
+ position: absolute;
3146
+ right: 0;
3147
+ width: var(--salt-size-border);
3148
+ height: var(--salt-size-bar-strong);
3149
+ }
3150
+ .saltCircularProgress-bufferOverlayRight:before {
3151
+ bottom: 0;
3152
+ z-index: var(--salt-zIndex-default);
3153
+ }
2714
3154
 
2715
3155
  /* src/progress/LinearProgress/LinearProgress.css */
2716
3156
  .saltLinearProgress {
@@ -2728,23 +3168,34 @@ label.saltText small,
2728
3168
  overflow: hidden;
2729
3169
  height: var(--salt-size-bar-strong);
2730
3170
  }
2731
- .saltLinearProgress-bar {
2732
- width: 100%;
3171
+ .saltLinearProgress-bar,
3172
+ .saltLinearProgress-buffer {
2733
3173
  position: absolute;
2734
3174
  left: 0;
2735
3175
  bottom: 0;
2736
3176
  top: 0;
2737
3177
  transition: transform 0.2s linear;
2738
3178
  transform-origin: left;
3179
+ }
3180
+ .saltLinearProgress-buffer {
3181
+ width: 0;
3182
+ background: var(--salt-container-primary-background);
3183
+ outline: solid var(--salt-size-border) var(--salt-accent-background);
3184
+ z-index: var(--salt-zIndex-default);
3185
+ outline-offset: calc(var(--salt-size-border) * -1);
3186
+ }
3187
+ .saltLinearProgress-bar {
3188
+ width: 100%;
2739
3189
  background: var(--salt-accent-background);
2740
- z-index: 2;
3190
+ z-index: calc(var(--salt-zIndex-default) * 2);
2741
3191
  }
2742
3192
  .saltLinearProgress-track {
2743
3193
  background: var(--salt-track-borderColor);
2744
3194
  width: 100%;
2745
- height: var(--salt-size-bar-small);
3195
+ height: var(--salt-size-bar);
2746
3196
  position: absolute;
2747
- top: calc((var(--salt-size-bar-strong) - var(--salt-size-bar-small)) / 2);
3197
+ top: calc((var(--salt-size-bar-strong) - var(--salt-size-bar)) / 2);
3198
+ right: 0;
2748
3199
  transition: transform 0.2s linear;
2749
3200
  transform-origin: left;
2750
3201
  }
@@ -2755,4 +3206,4 @@ label.saltText small,
2755
3206
  padding-left: var(--salt-spacing-100);
2756
3207
  }
2757
3208
 
2758
- /* src/4ac14efc-3221-403f-9025-57897d045d58.css */
3209
+ /* src/27680800-7be6-4fe8-984e-51d71cc3f624.css */
@@ -14,6 +14,81 @@ require('../utils/useFloatingUI/useFloatingUI.js');
14
14
  var useId = require('../utils/useId.js');
15
15
  require('../salt-provider/SaltProvider.js');
16
16
  require('../viewport/ViewportProvider.js');
17
+ require('./AccordionGroup.js');
18
+ require('./AccordionPanel.js');
19
+ require('./AccordionHeader.js');
20
+ require('../aria-announcer/AriaAnnouncerContext.js');
21
+ require('../avatar/Avatar.js');
22
+ require('../badge/Badge.js');
23
+ require('../banner/Banner.js');
24
+ require('../banner/BannerActions.js');
25
+ require('../banner/BannerContent.js');
26
+ require('../border-item/BorderItem.js');
27
+ require('../border-layout/BorderLayout.js');
28
+ require('../button/Button.js');
29
+ require('../card/Card.js');
30
+ require('../card/InteractableCard.js');
31
+ require('../checkbox/Checkbox.js');
32
+ require('../checkbox/CheckboxGroup.js');
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');
57
+ require('../form-field-context/FormFieldContext.js');
58
+ require('../grid-item/GridItem.js');
59
+ require('../grid-layout/GridLayout.js');
60
+ require('../input/Input.js');
61
+ require('../link/Link.js');
62
+ require('../link-card/LinkCard.js');
63
+ require('../list-control/ListControlContext.js');
64
+ require('../multiline-input/MultilineInput.js');
65
+ require('../navigation-item/NavigationItem.js');
66
+ require('../option/Option.js');
67
+ require('../option/OptionGroup.js');
68
+ require('../pagination/Pagination.js');
69
+ require('../pagination/Paginator.js');
70
+ require('../pagination/CompactInput.js');
71
+ require('../pagination/CompactPaginator.js');
72
+ require('../pagination/GoToInput.js');
73
+ require('../panel/Panel.js');
74
+ require('../pill/Pill.js');
75
+ require('../progress/CircularProgress/CircularProgress.js');
76
+ require('../progress/LinearProgress/LinearProgress.js');
77
+ require('../radio-button/RadioButton.js');
78
+ require('../radio-button/RadioButtonGroup.js');
79
+ require('../scrim/Scrim.js');
80
+ require('../spinner/Spinner.js');
81
+ require('../stack-layout/StackLayout.js');
82
+ require('../status-adornment/StatusAdornment.js');
83
+ require('../toast/Toast.js');
84
+ require('../toast/ToastContent.js');
85
+ require('../split-layout/SplitLayout.js');
86
+ require('../switch/Switch.js');
87
+ require('../toggle-button/ToggleButton.js');
88
+ require('../toggle-button-group/ToggleButtonGroup.js');
89
+ require('../toggle-button-group/ToggleButtonGroupContext.js');
90
+ require('../tooltip/Tooltip.js');
91
+ require('@floating-ui/react');
17
92
  var Accordion$1 = require('./Accordion.css.js');
18
93
 
19
94
  const withBaseName = makePrefixer.makePrefixer("saltAccordion");
@@ -1 +1 @@
1
- {"version":3,"file":"Accordion.js","sources":["../src/accordion/Accordion.tsx"],"sourcesContent":["import { ComponentPropsWithoutRef, forwardRef, SyntheticEvent } from \"react\";\nimport { clsx } from \"clsx\";\nimport { AccordionContext } from \"./AccordionContext\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { makePrefixer, useControlled, useId } from \"../utils\";\nimport accordionCss from \"./Accordion.css\";\nexport interface AccordionProps extends ComponentPropsWithoutRef<\"div\"> {\n /**\n * AccordionGroup value.\n */\n value: string;\n /**\n * Whether the accordion is expanded.\n */\n expanded?: boolean;\n /**\n * Whether the accordion is expanded by default.\n */\n defaultExpanded?: boolean;\n /**\n * Callback fired when the accordion is toggled.\n */\n onToggle?: (event: SyntheticEvent<HTMLButtonElement>) => void;\n /**\n * Whether the accordion is disabled.\n */\n disabled?: boolean;\n /**\n * The status of the accordion.\n */\n status?: \"error\" | \"warning\" | \"success\";\n}\n\nconst withBaseName = makePrefixer(\"saltAccordion\");\n\nexport const Accordion = forwardRef<HTMLDivElement, AccordionProps>(\n function Accordion(props, ref) {\n const {\n className,\n defaultExpanded,\n expanded: expandedProp,\n disabled,\n id: idProp,\n onToggle,\n status,\n value,\n ...rest\n } = props;\n\n const id = useId(idProp);\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-accordion\",\n css: accordionCss,\n window: targetWindow,\n });\n\n const [expanded, setExpanded] = useControlled({\n controlled: expandedProp,\n default: Boolean(defaultExpanded),\n name: \"Accordion\",\n state: \"expanded\",\n });\n\n const toggle = (event: SyntheticEvent<HTMLButtonElement>) => {\n setExpanded((prev) => !prev);\n onToggle?.(event);\n };\n\n return (\n <AccordionContext.Provider\n value={{\n value,\n toggle,\n expanded,\n disabled: Boolean(disabled),\n id: id ?? \"\",\n status,\n }}\n >\n <div\n ref={ref}\n className={clsx(\n withBaseName(),\n { [withBaseName(status ?? \"\")]: status },\n className\n )}\n {...rest}\n />\n </AccordionContext.Provider>\n );\n }\n);\n"],"names":["makePrefixer","forwardRef","Accordion","useId","useWindow","useComponentCssInjection","accordionCss","useControlled","jsx","AccordionContext","clsx"],"mappings":";;;;;;;;;;;;;;;;;;AAkCA,MAAM,YAAA,GAAeA,0BAAa,eAAe,CAAA,CAAA;AAE1C,MAAM,SAAY,GAAAC,gBAAA;AAAA,EACvB,SAASC,UAAU,CAAA,KAAA,EAAO,GAAK,EAAA;AAC7B,IAAM,MAAA;AAAA,MACJ,SAAA;AAAA,MACA,eAAA;AAAA,MACA,QAAU,EAAA,YAAA;AAAA,MACV,QAAA;AAAA,MACA,EAAI,EAAA,MAAA;AAAA,MACJ,QAAA;AAAA,MACA,MAAA;AAAA,MACA,KAAA;AAAA,MACG,GAAA,IAAA;AAAA,KACD,GAAA,KAAA,CAAA;AAEJ,IAAM,MAAA,EAAA,GAAKC,YAAM,MAAM,CAAA,CAAA;AACvB,IAAA,MAAM,eAAeC,gBAAU,EAAA,CAAA;AAC/B,IAAyBC,+BAAA,CAAA;AAAA,MACvB,MAAQ,EAAA,gBAAA;AAAA,MACR,GAAK,EAAAC,WAAA;AAAA,MACL,MAAQ,EAAA,YAAA;AAAA,KACT,CAAA,CAAA;AAED,IAAA,MAAM,CAAC,QAAA,EAAU,WAAW,CAAA,GAAIC,2BAAc,CAAA;AAAA,MAC5C,UAAY,EAAA,YAAA;AAAA,MACZ,OAAA,EAAS,QAAQ,eAAe,CAAA;AAAA,MAChC,IAAM,EAAA,WAAA;AAAA,MACN,KAAO,EAAA,UAAA;AAAA,KACR,CAAA,CAAA;AAED,IAAM,MAAA,MAAA,GAAS,CAAC,KAA6C,KAAA;AAC3D,MAAY,WAAA,CAAA,CAAC,IAAS,KAAA,CAAC,IAAI,CAAA,CAAA;AAC3B,MAAW,QAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,QAAA,CAAA,KAAA,CAAA,CAAA;AAAA,KACb,CAAA;AAEA,IACE,uBAAAC,cAAA,CAACC,kCAAiB,QAAjB,EAAA;AAAA,MACC,KAAO,EAAA;AAAA,QACL,KAAA;AAAA,QACA,MAAA;AAAA,QACA,QAAA;AAAA,QACA,QAAA,EAAU,QAAQ,QAAQ,CAAA;AAAA,QAC1B,IAAI,EAAM,IAAA,IAAA,GAAA,EAAA,GAAA,EAAA;AAAA,QACV,MAAA;AAAA,OACF;AAAA,MAEA,QAAC,kBAAAD,cAAA,CAAA,KAAA,EAAA;AAAA,QACC,GAAA;AAAA,QACA,SAAW,EAAAE,SAAA;AAAA,UACT,YAAa,EAAA;AAAA,UACb,EAAE,CAAC,YAAA,CAAa,MAAU,IAAA,IAAA,GAAA,MAAA,GAAA,EAAE,IAAI,MAAO,EAAA;AAAA,UACvC,SAAA;AAAA,SACF;AAAA,QACC,GAAG,IAAA;AAAA,OACN,CAAA;AAAA,KACF,CAAA,CAAA;AAAA,GAEJ;AACF;;;;"}
1
+ {"version":3,"file":"Accordion.js","sources":["../src/accordion/Accordion.tsx"],"sourcesContent":["import { ComponentPropsWithoutRef, forwardRef, SyntheticEvent } from \"react\";\nimport { clsx } from \"clsx\";\nimport { AccordionContext } from \"./AccordionContext\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { makePrefixer, useControlled, useId } from \"../utils\";\nimport accordionCss from \"./Accordion.css\";\nexport interface AccordionProps extends ComponentPropsWithoutRef<\"div\"> {\n /**\n * AccordionGroup value.\n */\n value: string;\n /**\n * Whether the accordion is expanded.\n */\n expanded?: boolean;\n /**\n * Whether the accordion is expanded by default.\n */\n defaultExpanded?: boolean;\n /**\n * Callback fired when the accordion is toggled.\n */\n onToggle?: (event: SyntheticEvent<HTMLButtonElement>) => void;\n /**\n * Whether the accordion is disabled.\n */\n disabled?: boolean;\n /**\n * The status of the accordion.\n */\n status?: \"error\" | \"warning\" | \"success\";\n}\n\nconst withBaseName = makePrefixer(\"saltAccordion\");\n\nexport const Accordion = forwardRef<HTMLDivElement, AccordionProps>(\n function Accordion(props, ref) {\n const {\n className,\n defaultExpanded,\n expanded: expandedProp,\n disabled,\n id: idProp,\n onToggle,\n status,\n value,\n ...rest\n } = props;\n\n const id = useId(idProp);\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-accordion\",\n css: accordionCss,\n window: targetWindow,\n });\n\n const [expanded, setExpanded] = useControlled({\n controlled: expandedProp,\n default: Boolean(defaultExpanded),\n name: \"Accordion\",\n state: \"expanded\",\n });\n\n const toggle = (event: SyntheticEvent<HTMLButtonElement>) => {\n setExpanded((prev) => !prev);\n onToggle?.(event);\n };\n\n return (\n <AccordionContext.Provider\n value={{\n value,\n toggle,\n expanded,\n disabled: Boolean(disabled),\n id: id ?? \"\",\n status,\n }}\n >\n <div\n ref={ref}\n className={clsx(\n withBaseName(),\n { [withBaseName(status ?? \"\")]: status },\n className\n )}\n {...rest}\n />\n </AccordionContext.Provider>\n );\n }\n);\n"],"names":["makePrefixer","forwardRef","Accordion","useId","useWindow","useComponentCssInjection","accordionCss","useControlled","jsx","AccordionContext","clsx"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkCA,MAAM,YAAA,GAAeA,0BAAa,eAAe,CAAA,CAAA;AAE1C,MAAM,SAAY,GAAAC,gBAAA;AAAA,EACvB,SAASC,UAAU,CAAA,KAAA,EAAO,GAAK,EAAA;AAC7B,IAAM,MAAA;AAAA,MACJ,SAAA;AAAA,MACA,eAAA;AAAA,MACA,QAAU,EAAA,YAAA;AAAA,MACV,QAAA;AAAA,MACA,EAAI,EAAA,MAAA;AAAA,MACJ,QAAA;AAAA,MACA,MAAA;AAAA,MACA,KAAA;AAAA,MACG,GAAA,IAAA;AAAA,KACD,GAAA,KAAA,CAAA;AAEJ,IAAM,MAAA,EAAA,GAAKC,YAAM,MAAM,CAAA,CAAA;AACvB,IAAA,MAAM,eAAeC,gBAAU,EAAA,CAAA;AAC/B,IAAyBC,+BAAA,CAAA;AAAA,MACvB,MAAQ,EAAA,gBAAA;AAAA,MACR,GAAK,EAAAC,WAAA;AAAA,MACL,MAAQ,EAAA,YAAA;AAAA,KACT,CAAA,CAAA;AAED,IAAA,MAAM,CAAC,QAAA,EAAU,WAAW,CAAA,GAAIC,2BAAc,CAAA;AAAA,MAC5C,UAAY,EAAA,YAAA;AAAA,MACZ,OAAA,EAAS,QAAQ,eAAe,CAAA;AAAA,MAChC,IAAM,EAAA,WAAA;AAAA,MACN,KAAO,EAAA,UAAA;AAAA,KACR,CAAA,CAAA;AAED,IAAM,MAAA,MAAA,GAAS,CAAC,KAA6C,KAAA;AAC3D,MAAY,WAAA,CAAA,CAAC,IAAS,KAAA,CAAC,IAAI,CAAA,CAAA;AAC3B,MAAW,QAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,QAAA,CAAA,KAAA,CAAA,CAAA;AAAA,KACb,CAAA;AAEA,IACE,uBAAAC,cAAA,CAACC,kCAAiB,QAAjB,EAAA;AAAA,MACC,KAAO,EAAA;AAAA,QACL,KAAA;AAAA,QACA,MAAA;AAAA,QACA,QAAA;AAAA,QACA,QAAA,EAAU,QAAQ,QAAQ,CAAA;AAAA,QAC1B,IAAI,EAAM,IAAA,IAAA,GAAA,EAAA,GAAA,EAAA;AAAA,QACV,MAAA;AAAA,OACF;AAAA,MAEA,QAAC,kBAAAD,cAAA,CAAA,KAAA,EAAA;AAAA,QACC,GAAA;AAAA,QACA,SAAW,EAAAE,SAAA;AAAA,UACT,YAAa,EAAA;AAAA,UACb,EAAE,CAAC,YAAA,CAAa,MAAU,IAAA,IAAA,GAAA,MAAA,GAAA,EAAE,IAAI,MAAO,EAAA;AAAA,UACvC,SAAA;AAAA,SACF;AAAA,QACC,GAAG,IAAA;AAAA,OACN,CAAA;AAAA,KACF,CAAA,CAAA;AAAA,GAEJ;AACF;;;;"}