@salt-ds/core 1.20.0 → 1.22.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 (440) hide show
  1. package/css/salt-core.css +474 -19
  2. package/dist-cjs/accordion/Accordion.js +77 -0
  3. package/dist-cjs/accordion/Accordion.js.map +1 -1
  4. package/dist-cjs/accordion/AccordionContext.js +81 -0
  5. package/dist-cjs/accordion/AccordionContext.js.map +1 -1
  6. package/dist-cjs/accordion/AccordionGroup.js +78 -1
  7. package/dist-cjs/accordion/AccordionGroup.js.map +1 -1
  8. package/dist-cjs/accordion/AccordionHeader.js +75 -0
  9. package/dist-cjs/accordion/AccordionHeader.js.map +1 -1
  10. package/dist-cjs/accordion/AccordionPanel.js +77 -0
  11. package/dist-cjs/accordion/AccordionPanel.js.map +1 -1
  12. package/dist-cjs/aria-announcer/useAriaAnnouncer.js +80 -0
  13. package/dist-cjs/aria-announcer/useAriaAnnouncer.js.map +1 -1
  14. package/dist-cjs/avatar/Avatar.js +76 -0
  15. package/dist-cjs/avatar/Avatar.js.map +1 -1
  16. package/dist-cjs/avatar/useAvatarImage.js +81 -0
  17. package/dist-cjs/avatar/useAvatarImage.js.map +1 -1
  18. package/dist-cjs/badge/Badge.js +77 -0
  19. package/dist-cjs/badge/Badge.js.map +1 -1
  20. package/dist-cjs/banner/Banner.js +78 -2
  21. package/dist-cjs/banner/Banner.js.map +1 -1
  22. package/dist-cjs/banner/BannerActions.js +78 -1
  23. package/dist-cjs/banner/BannerActions.js.map +1 -1
  24. package/dist-cjs/banner/BannerContent.js +78 -1
  25. package/dist-cjs/banner/BannerContent.js.map +1 -1
  26. package/dist-cjs/border-item/BorderItem.js +77 -1
  27. package/dist-cjs/border-item/BorderItem.js.map +1 -1
  28. package/dist-cjs/border-layout/BorderLayout.js +78 -0
  29. package/dist-cjs/border-layout/BorderLayout.js.map +1 -1
  30. package/dist-cjs/button/Button.js +78 -1
  31. package/dist-cjs/button/Button.js.map +1 -1
  32. package/dist-cjs/card/Card.js +77 -0
  33. package/dist-cjs/card/Card.js.map +1 -1
  34. package/dist-cjs/card/InteractableCard.js +77 -0
  35. package/dist-cjs/card/InteractableCard.js.map +1 -1
  36. package/dist-cjs/checkbox/Checkbox.js +75 -0
  37. package/dist-cjs/checkbox/Checkbox.js.map +1 -1
  38. package/dist-cjs/checkbox/CheckboxGroup.js +76 -0
  39. package/dist-cjs/checkbox/CheckboxGroup.js.map +1 -1
  40. package/dist-cjs/checkbox/CheckboxIcon.js +77 -0
  41. package/dist-cjs/checkbox/CheckboxIcon.js.map +1 -1
  42. package/dist-cjs/checkbox/internal/CheckboxGroupContext.js +81 -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 +445 -0
  47. package/dist-cjs/combo-box/ComboBox.js.map +1 -0
  48. package/dist-cjs/combo-box/useComboBox.js +155 -0
  49. package/dist-cjs/combo-box/useComboBox.js.map +1 -0
  50. package/dist-cjs/dialog/Dialog.js +79 -3
  51. package/dist-cjs/dialog/Dialog.js.map +1 -1
  52. package/dist-cjs/dialog/DialogActions.js +78 -1
  53. package/dist-cjs/dialog/DialogActions.js.map +1 -1
  54. package/dist-cjs/dialog/DialogCloseButton.js +76 -1
  55. package/dist-cjs/dialog/DialogCloseButton.js.map +1 -1
  56. package/dist-cjs/dialog/DialogContent.js +78 -1
  57. package/dist-cjs/dialog/DialogContent.js.map +1 -1
  58. package/dist-cjs/dialog/DialogHeader.css.js +1 -1
  59. package/dist-cjs/dialog/DialogHeader.js +124 -51
  60. package/dist-cjs/dialog/DialogHeader.js.map +1 -1
  61. package/dist-cjs/drawer/Drawer.js +79 -4
  62. package/dist-cjs/drawer/Drawer.js.map +1 -1
  63. package/dist-cjs/drawer/DrawerCloseButton.js +76 -1
  64. package/dist-cjs/drawer/DrawerCloseButton.js.map +1 -1
  65. package/dist-cjs/dropdown/Dropdown.css.js +6 -0
  66. package/dist-cjs/dropdown/Dropdown.css.js.map +1 -0
  67. package/dist-cjs/dropdown/Dropdown.js +414 -0
  68. package/dist-cjs/dropdown/Dropdown.js.map +1 -0
  69. package/dist-cjs/file-drop-zone/FileDropZone.js +77 -0
  70. package/dist-cjs/file-drop-zone/FileDropZone.js.map +1 -1
  71. package/dist-cjs/file-drop-zone/FileDropZoneTrigger.js +78 -0
  72. package/dist-cjs/file-drop-zone/FileDropZoneTrigger.js.map +1 -1
  73. package/dist-cjs/flex-item/FlexItem.js +81 -2
  74. package/dist-cjs/flex-item/FlexItem.js.map +1 -1
  75. package/dist-cjs/flex-layout/FlexLayout.js +81 -2
  76. package/dist-cjs/flex-layout/FlexLayout.js.map +1 -1
  77. package/dist-cjs/form-field/FormField.js +76 -0
  78. package/dist-cjs/form-field/FormField.js.map +1 -1
  79. package/dist-cjs/form-field/FormFieldHelperText.js +73 -3
  80. package/dist-cjs/form-field/FormFieldHelperText.js.map +1 -1
  81. package/dist-cjs/form-field/FormFieldLabel.js +72 -1
  82. package/dist-cjs/form-field/FormFieldLabel.js.map +1 -1
  83. package/dist-cjs/form-field-context/FormFieldContext.js +80 -0
  84. package/dist-cjs/form-field-context/FormFieldContext.js.map +1 -1
  85. package/dist-cjs/grid-item/GridItem.js +81 -2
  86. package/dist-cjs/grid-item/GridItem.js.map +1 -1
  87. package/dist-cjs/grid-layout/GridLayout.js +81 -2
  88. package/dist-cjs/grid-layout/GridLayout.js.map +1 -1
  89. package/dist-cjs/index.js +20 -2
  90. package/dist-cjs/index.js.map +1 -1
  91. package/dist-cjs/input/Input.js +75 -0
  92. package/dist-cjs/input/Input.js.map +1 -1
  93. package/dist-cjs/link/Link.js +73 -3
  94. package/dist-cjs/link/Link.js.map +1 -1
  95. package/dist-cjs/link-card/LinkCard.js +77 -0
  96. package/dist-cjs/link-card/LinkCard.js.map +1 -1
  97. package/dist-cjs/list-control/ListControlContext.js +123 -0
  98. package/dist-cjs/list-control/ListControlContext.js.map +1 -0
  99. package/dist-cjs/list-control/ListControlState.js +278 -0
  100. package/dist-cjs/list-control/ListControlState.js.map +1 -0
  101. package/dist-cjs/multiline-input/MultilineInput.js +75 -0
  102. package/dist-cjs/multiline-input/MultilineInput.js.map +1 -1
  103. package/dist-cjs/navigation-item/NavigationItem.js +79 -2
  104. package/dist-cjs/navigation-item/NavigationItem.js.map +1 -1
  105. package/dist-cjs/option/Option.css.js +6 -0
  106. package/dist-cjs/option/Option.css.js.map +1 -0
  107. package/dist-cjs/option/Option.js +180 -0
  108. package/dist-cjs/option/Option.js.map +1 -0
  109. package/dist-cjs/option/OptionGroup.css.js +6 -0
  110. package/dist-cjs/option/OptionGroup.css.js.map +1 -0
  111. package/dist-cjs/option/OptionGroup.js +125 -0
  112. package/dist-cjs/option/OptionGroup.js.map +1 -0
  113. package/dist-cjs/option/OptionList.css.js +6 -0
  114. package/dist-cjs/option/OptionList.css.js.map +1 -0
  115. package/dist-cjs/option/OptionList.js +120 -0
  116. package/dist-cjs/option/OptionList.js.map +1 -0
  117. package/dist-cjs/option/OptionListBase.js +115 -0
  118. package/dist-cjs/option/OptionListBase.js.map +1 -0
  119. package/dist-cjs/pagination/CompactInput.js +78 -2
  120. package/dist-cjs/pagination/CompactInput.js.map +1 -1
  121. package/dist-cjs/pagination/CompactPaginator.js +72 -3
  122. package/dist-cjs/pagination/CompactPaginator.js.map +1 -1
  123. package/dist-cjs/pagination/GoToInput.js +71 -4
  124. package/dist-cjs/pagination/GoToInput.js.map +1 -1
  125. package/dist-cjs/pagination/PageButton.js +79 -2
  126. package/dist-cjs/pagination/PageButton.js.map +1 -1
  127. package/dist-cjs/pagination/PageRanges.js +80 -2
  128. package/dist-cjs/pagination/PageRanges.js.map +1 -1
  129. package/dist-cjs/pagination/Pagination.js +78 -2
  130. package/dist-cjs/pagination/Pagination.js.map +1 -1
  131. package/dist-cjs/pagination/Paginator.js +77 -2
  132. package/dist-cjs/pagination/Paginator.js.map +1 -1
  133. package/dist-cjs/panel/Panel.js +79 -2
  134. package/dist-cjs/panel/Panel.js.map +1 -1
  135. package/dist-cjs/pill/Pill.js +76 -0
  136. package/dist-cjs/pill/Pill.js.map +1 -1
  137. package/dist-cjs/pill-input/PillInput.css.js +6 -0
  138. package/dist-cjs/pill-input/PillInput.css.js.map +1 -0
  139. package/dist-cjs/pill-input/PillInput.js +340 -0
  140. package/dist-cjs/pill-input/PillInput.js.map +1 -0
  141. package/dist-cjs/pill-input/useTruncatePills.js +83 -0
  142. package/dist-cjs/pill-input/useTruncatePills.js.map +1 -0
  143. package/dist-cjs/progress/CircularProgress/CircularProgress.css.js +1 -1
  144. package/dist-cjs/progress/CircularProgress/CircularProgress.js +141 -15
  145. package/dist-cjs/progress/CircularProgress/CircularProgress.js.map +1 -1
  146. package/dist-cjs/progress/LinearProgress/LinearProgress.css.js +1 -1
  147. package/dist-cjs/progress/LinearProgress/LinearProgress.js +92 -9
  148. package/dist-cjs/progress/LinearProgress/LinearProgress.js.map +1 -1
  149. package/dist-cjs/radio-button/RadioButton.js +80 -4
  150. package/dist-cjs/radio-button/RadioButton.js.map +1 -1
  151. package/dist-cjs/radio-button/RadioButtonGroup.js +79 -3
  152. package/dist-cjs/radio-button/RadioButtonGroup.js.map +1 -1
  153. package/dist-cjs/radio-button/RadioButtonIcon.js +78 -0
  154. package/dist-cjs/radio-button/RadioButtonIcon.js.map +1 -1
  155. package/dist-cjs/radio-button/internal/RadioGroupContext.js +81 -0
  156. package/dist-cjs/radio-button/internal/RadioGroupContext.js.map +1 -1
  157. package/dist-cjs/salt-provider/SaltProvider.js +80 -3
  158. package/dist-cjs/salt-provider/SaltProvider.js.map +1 -1
  159. package/dist-cjs/scrim/Scrim.js +78 -1
  160. package/dist-cjs/scrim/Scrim.js.map +1 -1
  161. package/dist-cjs/spinner/Spinner.js +78 -2
  162. package/dist-cjs/spinner/Spinner.js.map +1 -1
  163. package/dist-cjs/spinner/svgSpinners/SpinnerSVG.js +80 -0
  164. package/dist-cjs/spinner/svgSpinners/SpinnerSVG.js.map +1 -1
  165. package/dist-cjs/split-layout/SplitLayout.js +78 -2
  166. package/dist-cjs/split-layout/SplitLayout.js.map +1 -1
  167. package/dist-cjs/stack-layout/StackLayout.js +80 -2
  168. package/dist-cjs/stack-layout/StackLayout.js.map +1 -1
  169. package/dist-cjs/status-adornment/StatusAdornment.js +77 -0
  170. package/dist-cjs/status-adornment/StatusAdornment.js.map +1 -1
  171. package/dist-cjs/status-indicator/StatusIndicator.js +78 -2
  172. package/dist-cjs/status-indicator/StatusIndicator.js.map +1 -1
  173. package/dist-cjs/switch/Switch.js +77 -2
  174. package/dist-cjs/switch/Switch.js.map +1 -1
  175. package/dist-cjs/text/Code.js +21 -0
  176. package/dist-cjs/text/Code.js.map +1 -0
  177. package/dist-cjs/text/Text.css.js +1 -1
  178. package/dist-cjs/text/Text.js +79 -2
  179. package/dist-cjs/text/Text.js.map +1 -1
  180. package/dist-cjs/toast/Toast.js +76 -0
  181. package/dist-cjs/toast/Toast.js.map +1 -1
  182. package/dist-cjs/toast/ToastContent.js +77 -0
  183. package/dist-cjs/toast/ToastContent.js.map +1 -1
  184. package/dist-cjs/toggle-button/ToggleButton.js +75 -0
  185. package/dist-cjs/toggle-button/ToggleButton.js.map +1 -1
  186. package/dist-cjs/toggle-button-group/ToggleButtonGroup.js +76 -0
  187. package/dist-cjs/toggle-button-group/ToggleButtonGroup.js.map +1 -1
  188. package/dist-cjs/toggle-button-group/ToggleButtonGroupContext.js +80 -0
  189. package/dist-cjs/toggle-button-group/ToggleButtonGroupContext.js.map +1 -1
  190. package/dist-cjs/tooltip/Tooltip.js +77 -1
  191. package/dist-cjs/tooltip/Tooltip.js.map +1 -1
  192. package/dist-cjs/tooltip/TooltipBase.js +77 -2
  193. package/dist-cjs/tooltip/TooltipBase.js.map +1 -1
  194. package/dist-cjs/tooltip/useAriaAnnounce.js +79 -0
  195. package/dist-cjs/tooltip/useAriaAnnounce.js.map +1 -1
  196. package/dist-cjs/tooltip/useTooltip.js +80 -0
  197. package/dist-cjs/tooltip/useTooltip.js.map +1 -1
  198. package/dist-cjs/utils/ownerWindow.js.map +1 -1
  199. package/dist-cjs/utils/useEventCallback.js +20 -0
  200. package/dist-cjs/utils/useEventCallback.js.map +1 -0
  201. package/dist-cjs/utils/useResizeObserver.js +29 -0
  202. package/dist-cjs/utils/useResizeObserver.js.map +1 -0
  203. package/dist-cjs/utils/useValueEffect.js +126 -0
  204. package/dist-cjs/utils/useValueEffect.js.map +1 -0
  205. package/dist-cjs/viewport/ViewportProvider.js +80 -0
  206. package/dist-cjs/viewport/ViewportProvider.js.map +1 -1
  207. package/dist-es/accordion/Accordion.js +77 -0
  208. package/dist-es/accordion/Accordion.js.map +1 -1
  209. package/dist-es/accordion/AccordionContext.js +81 -0
  210. package/dist-es/accordion/AccordionContext.js.map +1 -1
  211. package/dist-es/accordion/AccordionGroup.js +78 -1
  212. package/dist-es/accordion/AccordionGroup.js.map +1 -1
  213. package/dist-es/accordion/AccordionHeader.js +75 -0
  214. package/dist-es/accordion/AccordionHeader.js.map +1 -1
  215. package/dist-es/accordion/AccordionPanel.js +77 -0
  216. package/dist-es/accordion/AccordionPanel.js.map +1 -1
  217. package/dist-es/aria-announcer/useAriaAnnouncer.js +80 -0
  218. package/dist-es/aria-announcer/useAriaAnnouncer.js.map +1 -1
  219. package/dist-es/avatar/Avatar.js +76 -0
  220. package/dist-es/avatar/Avatar.js.map +1 -1
  221. package/dist-es/avatar/useAvatarImage.js +81 -0
  222. package/dist-es/avatar/useAvatarImage.js.map +1 -1
  223. package/dist-es/badge/Badge.js +77 -0
  224. package/dist-es/badge/Badge.js.map +1 -1
  225. package/dist-es/banner/Banner.js +78 -2
  226. package/dist-es/banner/Banner.js.map +1 -1
  227. package/dist-es/banner/BannerActions.js +78 -1
  228. package/dist-es/banner/BannerActions.js.map +1 -1
  229. package/dist-es/banner/BannerContent.js +78 -1
  230. package/dist-es/banner/BannerContent.js.map +1 -1
  231. package/dist-es/border-item/BorderItem.js +77 -1
  232. package/dist-es/border-item/BorderItem.js.map +1 -1
  233. package/dist-es/border-layout/BorderLayout.js +78 -0
  234. package/dist-es/border-layout/BorderLayout.js.map +1 -1
  235. package/dist-es/button/Button.js +78 -1
  236. package/dist-es/button/Button.js.map +1 -1
  237. package/dist-es/card/Card.js +77 -0
  238. package/dist-es/card/Card.js.map +1 -1
  239. package/dist-es/card/InteractableCard.js +77 -0
  240. package/dist-es/card/InteractableCard.js.map +1 -1
  241. package/dist-es/checkbox/Checkbox.js +75 -0
  242. package/dist-es/checkbox/Checkbox.js.map +1 -1
  243. package/dist-es/checkbox/CheckboxGroup.js +76 -0
  244. package/dist-es/checkbox/CheckboxGroup.js.map +1 -1
  245. package/dist-es/checkbox/CheckboxIcon.js +77 -0
  246. package/dist-es/checkbox/CheckboxIcon.js.map +1 -1
  247. package/dist-es/checkbox/internal/CheckboxGroupContext.js +81 -0
  248. package/dist-es/checkbox/internal/CheckboxGroupContext.js.map +1 -1
  249. package/dist-es/combo-box/ComboBox.css.js +4 -0
  250. package/dist-es/combo-box/ComboBox.css.js.map +1 -0
  251. package/dist-es/combo-box/ComboBox.js +441 -0
  252. package/dist-es/combo-box/ComboBox.js.map +1 -0
  253. package/dist-es/combo-box/useComboBox.js +151 -0
  254. package/dist-es/combo-box/useComboBox.js.map +1 -0
  255. package/dist-es/dialog/Dialog.js +79 -3
  256. package/dist-es/dialog/Dialog.js.map +1 -1
  257. package/dist-es/dialog/DialogActions.js +78 -1
  258. package/dist-es/dialog/DialogActions.js.map +1 -1
  259. package/dist-es/dialog/DialogCloseButton.js +76 -1
  260. package/dist-es/dialog/DialogCloseButton.js.map +1 -1
  261. package/dist-es/dialog/DialogContent.js +78 -1
  262. package/dist-es/dialog/DialogContent.js.map +1 -1
  263. package/dist-es/dialog/DialogHeader.css.js +1 -1
  264. package/dist-es/dialog/DialogHeader.js +124 -51
  265. package/dist-es/dialog/DialogHeader.js.map +1 -1
  266. package/dist-es/drawer/Drawer.js +79 -4
  267. package/dist-es/drawer/Drawer.js.map +1 -1
  268. package/dist-es/drawer/DrawerCloseButton.js +76 -1
  269. package/dist-es/drawer/DrawerCloseButton.js.map +1 -1
  270. package/dist-es/dropdown/Dropdown.css.js +4 -0
  271. package/dist-es/dropdown/Dropdown.css.js.map +1 -0
  272. package/dist-es/dropdown/Dropdown.js +410 -0
  273. package/dist-es/dropdown/Dropdown.js.map +1 -0
  274. package/dist-es/file-drop-zone/FileDropZone.js +77 -0
  275. package/dist-es/file-drop-zone/FileDropZone.js.map +1 -1
  276. package/dist-es/file-drop-zone/FileDropZoneTrigger.js +78 -0
  277. package/dist-es/file-drop-zone/FileDropZoneTrigger.js.map +1 -1
  278. package/dist-es/flex-item/FlexItem.js +81 -2
  279. package/dist-es/flex-item/FlexItem.js.map +1 -1
  280. package/dist-es/flex-layout/FlexLayout.js +81 -2
  281. package/dist-es/flex-layout/FlexLayout.js.map +1 -1
  282. package/dist-es/form-field/FormField.js +76 -0
  283. package/dist-es/form-field/FormField.js.map +1 -1
  284. package/dist-es/form-field/FormFieldHelperText.js +73 -3
  285. package/dist-es/form-field/FormFieldHelperText.js.map +1 -1
  286. package/dist-es/form-field/FormFieldLabel.js +72 -1
  287. package/dist-es/form-field/FormFieldLabel.js.map +1 -1
  288. package/dist-es/form-field-context/FormFieldContext.js +80 -0
  289. package/dist-es/form-field-context/FormFieldContext.js.map +1 -1
  290. package/dist-es/grid-item/GridItem.js +81 -2
  291. package/dist-es/grid-item/GridItem.js.map +1 -1
  292. package/dist-es/grid-layout/GridLayout.js +81 -2
  293. package/dist-es/grid-layout/GridLayout.js.map +1 -1
  294. package/dist-es/index.js +10 -1
  295. package/dist-es/index.js.map +1 -1
  296. package/dist-es/input/Input.js +75 -0
  297. package/dist-es/input/Input.js.map +1 -1
  298. package/dist-es/link/Link.js +73 -3
  299. package/dist-es/link/Link.js.map +1 -1
  300. package/dist-es/link-card/LinkCard.js +77 -0
  301. package/dist-es/link-card/LinkCard.js.map +1 -1
  302. package/dist-es/list-control/ListControlContext.js +118 -0
  303. package/dist-es/list-control/ListControlContext.js.map +1 -0
  304. package/dist-es/list-control/ListControlState.js +273 -0
  305. package/dist-es/list-control/ListControlState.js.map +1 -0
  306. package/dist-es/multiline-input/MultilineInput.js +75 -0
  307. package/dist-es/multiline-input/MultilineInput.js.map +1 -1
  308. package/dist-es/navigation-item/NavigationItem.js +79 -2
  309. package/dist-es/navigation-item/NavigationItem.js.map +1 -1
  310. package/dist-es/option/Option.css.js +4 -0
  311. package/dist-es/option/Option.css.js.map +1 -0
  312. package/dist-es/option/Option.js +176 -0
  313. package/dist-es/option/Option.js.map +1 -0
  314. package/dist-es/option/OptionGroup.css.js +4 -0
  315. package/dist-es/option/OptionGroup.css.js.map +1 -0
  316. package/dist-es/option/OptionGroup.js +121 -0
  317. package/dist-es/option/OptionGroup.js.map +1 -0
  318. package/dist-es/option/OptionList.css.js +4 -0
  319. package/dist-es/option/OptionList.css.js.map +1 -0
  320. package/dist-es/option/OptionList.js +116 -0
  321. package/dist-es/option/OptionList.js.map +1 -0
  322. package/dist-es/option/OptionListBase.js +111 -0
  323. package/dist-es/option/OptionListBase.js.map +1 -0
  324. package/dist-es/pagination/CompactInput.js +78 -2
  325. package/dist-es/pagination/CompactInput.js.map +1 -1
  326. package/dist-es/pagination/CompactPaginator.js +72 -3
  327. package/dist-es/pagination/CompactPaginator.js.map +1 -1
  328. package/dist-es/pagination/GoToInput.js +71 -4
  329. package/dist-es/pagination/GoToInput.js.map +1 -1
  330. package/dist-es/pagination/PageButton.js +79 -2
  331. package/dist-es/pagination/PageButton.js.map +1 -1
  332. package/dist-es/pagination/PageRanges.js +80 -2
  333. package/dist-es/pagination/PageRanges.js.map +1 -1
  334. package/dist-es/pagination/Pagination.js +78 -2
  335. package/dist-es/pagination/Pagination.js.map +1 -1
  336. package/dist-es/pagination/Paginator.js +77 -2
  337. package/dist-es/pagination/Paginator.js.map +1 -1
  338. package/dist-es/panel/Panel.js +79 -2
  339. package/dist-es/panel/Panel.js.map +1 -1
  340. package/dist-es/pill/Pill.js +76 -0
  341. package/dist-es/pill/Pill.js.map +1 -1
  342. package/dist-es/pill-input/PillInput.css.js +4 -0
  343. package/dist-es/pill-input/PillInput.css.js.map +1 -0
  344. package/dist-es/pill-input/PillInput.js +336 -0
  345. package/dist-es/pill-input/PillInput.js.map +1 -0
  346. package/dist-es/pill-input/useTruncatePills.js +79 -0
  347. package/dist-es/pill-input/useTruncatePills.js.map +1 -0
  348. package/dist-es/progress/CircularProgress/CircularProgress.css.js +1 -1
  349. package/dist-es/progress/CircularProgress/CircularProgress.js +141 -15
  350. package/dist-es/progress/CircularProgress/CircularProgress.js.map +1 -1
  351. package/dist-es/progress/LinearProgress/LinearProgress.css.js +1 -1
  352. package/dist-es/progress/LinearProgress/LinearProgress.js +92 -9
  353. package/dist-es/progress/LinearProgress/LinearProgress.js.map +1 -1
  354. package/dist-es/radio-button/RadioButton.js +80 -4
  355. package/dist-es/radio-button/RadioButton.js.map +1 -1
  356. package/dist-es/radio-button/RadioButtonGroup.js +79 -3
  357. package/dist-es/radio-button/RadioButtonGroup.js.map +1 -1
  358. package/dist-es/radio-button/RadioButtonIcon.js +78 -0
  359. package/dist-es/radio-button/RadioButtonIcon.js.map +1 -1
  360. package/dist-es/radio-button/internal/RadioGroupContext.js +81 -0
  361. package/dist-es/radio-button/internal/RadioGroupContext.js.map +1 -1
  362. package/dist-es/salt-provider/SaltProvider.js +80 -3
  363. package/dist-es/salt-provider/SaltProvider.js.map +1 -1
  364. package/dist-es/scrim/Scrim.js +78 -1
  365. package/dist-es/scrim/Scrim.js.map +1 -1
  366. package/dist-es/spinner/Spinner.js +78 -2
  367. package/dist-es/spinner/Spinner.js.map +1 -1
  368. package/dist-es/spinner/svgSpinners/SpinnerSVG.js +80 -0
  369. package/dist-es/spinner/svgSpinners/SpinnerSVG.js.map +1 -1
  370. package/dist-es/split-layout/SplitLayout.js +78 -2
  371. package/dist-es/split-layout/SplitLayout.js.map +1 -1
  372. package/dist-es/stack-layout/StackLayout.js +80 -2
  373. package/dist-es/stack-layout/StackLayout.js.map +1 -1
  374. package/dist-es/status-adornment/StatusAdornment.js +77 -0
  375. package/dist-es/status-adornment/StatusAdornment.js.map +1 -1
  376. package/dist-es/status-indicator/StatusIndicator.js +78 -2
  377. package/dist-es/status-indicator/StatusIndicator.js.map +1 -1
  378. package/dist-es/switch/Switch.js +77 -2
  379. package/dist-es/switch/Switch.js.map +1 -1
  380. package/dist-es/text/Code.js +17 -0
  381. package/dist-es/text/Code.js.map +1 -0
  382. package/dist-es/text/Text.css.js +1 -1
  383. package/dist-es/text/Text.js +79 -2
  384. package/dist-es/text/Text.js.map +1 -1
  385. package/dist-es/toast/Toast.js +76 -0
  386. package/dist-es/toast/Toast.js.map +1 -1
  387. package/dist-es/toast/ToastContent.js +77 -0
  388. package/dist-es/toast/ToastContent.js.map +1 -1
  389. package/dist-es/toggle-button/ToggleButton.js +75 -0
  390. package/dist-es/toggle-button/ToggleButton.js.map +1 -1
  391. package/dist-es/toggle-button-group/ToggleButtonGroup.js +76 -0
  392. package/dist-es/toggle-button-group/ToggleButtonGroup.js.map +1 -1
  393. package/dist-es/toggle-button-group/ToggleButtonGroupContext.js +80 -0
  394. package/dist-es/toggle-button-group/ToggleButtonGroupContext.js.map +1 -1
  395. package/dist-es/tooltip/Tooltip.js +77 -1
  396. package/dist-es/tooltip/Tooltip.js.map +1 -1
  397. package/dist-es/tooltip/TooltipBase.js +77 -2
  398. package/dist-es/tooltip/TooltipBase.js.map +1 -1
  399. package/dist-es/tooltip/useAriaAnnounce.js +79 -0
  400. package/dist-es/tooltip/useAriaAnnounce.js.map +1 -1
  401. package/dist-es/tooltip/useTooltip.js +80 -0
  402. package/dist-es/tooltip/useTooltip.js.map +1 -1
  403. package/dist-es/utils/ownerWindow.js.map +1 -1
  404. package/dist-es/utils/useEventCallback.js +16 -0
  405. package/dist-es/utils/useEventCallback.js.map +1 -0
  406. package/dist-es/utils/useResizeObserver.js +25 -0
  407. package/dist-es/utils/useResizeObserver.js.map +1 -0
  408. package/dist-es/utils/useValueEffect.js +122 -0
  409. package/dist-es/utils/useValueEffect.js.map +1 -0
  410. package/dist-es/viewport/ViewportProvider.js +80 -0
  411. package/dist-es/viewport/ViewportProvider.js.map +1 -1
  412. package/dist-types/combo-box/ComboBox.d.ts +17 -0
  413. package/dist-types/combo-box/index.d.ts +1 -0
  414. package/dist-types/combo-box/useComboBox.d.ts +30 -0
  415. package/dist-types/dialog/DialogHeader.d.ts +2 -4
  416. package/dist-types/dropdown/Dropdown.d.ts +99 -0
  417. package/dist-types/dropdown/index.d.ts +1 -0
  418. package/dist-types/index.d.ts +4 -0
  419. package/dist-types/list-control/ListControlContext.d.ts +21 -0
  420. package/dist-types/list-control/ListControlState.d.ts +70 -0
  421. package/dist-types/list-control/index.d.ts +1 -0
  422. package/dist-types/option/Option.d.ts +16 -0
  423. package/dist-types/option/OptionGroup.d.ts +12 -0
  424. package/dist-types/option/OptionList.d.ts +5 -0
  425. package/dist-types/option/OptionListBase.d.ts +4 -0
  426. package/dist-types/option/index.d.ts +2 -0
  427. package/dist-types/pill-input/PillInput.d.ts +48 -0
  428. package/dist-types/pill-input/index.d.ts +1 -0
  429. package/dist-types/pill-input/useTruncatePills.d.ts +8 -0
  430. package/dist-types/progress/CircularProgress/CircularProgress.d.ts +5 -0
  431. package/dist-types/progress/LinearProgress/LinearProgress.d.ts +5 -0
  432. package/dist-types/text/Code.d.ts +2 -0
  433. package/dist-types/text/Text.d.ts +1 -1
  434. package/dist-types/text/index.d.ts +2 -1
  435. package/dist-types/utils/index.d.ts +3 -0
  436. package/dist-types/utils/ownerWindow.d.ts +1 -1
  437. package/dist-types/utils/useEventCallback.d.ts +4 -0
  438. package/dist-types/utils/useResizeObserver.d.ts +6 -0
  439. package/dist-types/utils/useValueEffect.d.ts +4 -0
  440. package/package.json +1 -1
@@ -5,6 +5,86 @@ import '../utils/useId.js';
5
5
  import '../salt-provider/SaltProvider.js';
6
6
  import '../viewport/ViewportProvider.js';
7
7
  import 'clsx';
8
+ import '../accordion/AccordionGroup.js';
9
+ import '../accordion/AccordionPanel.js';
10
+ import '../accordion/Accordion.js';
11
+ import '../accordion/AccordionHeader.js';
12
+ import '../aria-announcer/AriaAnnouncerContext.js';
13
+ import 'react/jsx-runtime';
14
+ import '../avatar/Avatar.js';
15
+ import '../badge/Badge.js';
16
+ import '../banner/Banner.js';
17
+ import '../banner/BannerActions.js';
18
+ import '../banner/BannerContent.js';
19
+ import '../border-item/BorderItem.js';
20
+ import '../border-layout/BorderLayout.js';
21
+ import '../button/Button.js';
22
+ import '../card/Card.js';
23
+ import '../card/InteractableCard.js';
24
+ import '../checkbox/Checkbox.js';
25
+ import '../checkbox/CheckboxGroup.js';
26
+ import '@salt-ds/styles';
27
+ import '@salt-ds/window';
28
+ import '@salt-ds/icons';
29
+ import '../combo-box/ComboBox.js';
30
+ import '../dialog/Dialog.js';
31
+ import '../dialog/DialogHeader.js';
32
+ import '../dialog/DialogActions.js';
33
+ import '../dialog/DialogContent.js';
34
+ import '../dialog/DialogContext.js';
35
+ import '../dialog/DialogCloseButton.js';
36
+ import '../drawer/Drawer.js';
37
+ import '../drawer/DrawerCloseButton.js';
38
+ import '../dropdown/Dropdown.js';
39
+ import '../file-drop-zone/FileDropZone.js';
40
+ import '../file-drop-zone/FileDropZoneIcon.js';
41
+ import '../file-drop-zone/FileDropZoneTrigger.js';
42
+ import '../flex-item/FlexItem.js';
43
+ import '../flex-layout/FlexLayout.js';
44
+ import '../flow-layout/FlowLayout.js';
45
+ import '../form-field/FormField.js';
46
+ import '../status-indicator/StatusIndicator.js';
47
+ import '../text/Text.js';
48
+ import '../text/Code.js';
49
+ import '../text/Display.js';
50
+ import '../text/Headings.js';
51
+ import '../text/Label.js';
52
+ import '../text/TextAction.js';
53
+ import '../text/TextNotation.js';
54
+ import '../grid-item/GridItem.js';
55
+ import '../grid-layout/GridLayout.js';
56
+ import '../input/Input.js';
57
+ import '../link/Link.js';
58
+ import '../link-card/LinkCard.js';
59
+ import '../list-control/ListControlContext.js';
60
+ import '../multiline-input/MultilineInput.js';
61
+ import '../navigation-item/NavigationItem.js';
62
+ import '../option/Option.js';
63
+ import '../option/OptionGroup.js';
64
+ import '../pagination/Pagination.js';
65
+ import '../pagination/Paginator.js';
66
+ import '../pagination/CompactInput.js';
67
+ import '../pagination/CompactPaginator.js';
68
+ import '../pagination/GoToInput.js';
69
+ import '../panel/Panel.js';
70
+ import '../pill/Pill.js';
71
+ import '../progress/CircularProgress/CircularProgress.js';
72
+ import '../progress/LinearProgress/LinearProgress.js';
73
+ import '../radio-button/RadioButton.js';
74
+ import '../radio-button/RadioButtonGroup.js';
75
+ import '../scrim/Scrim.js';
76
+ import '../spinner/Spinner.js';
77
+ import '../stack-layout/StackLayout.js';
78
+ import '../status-adornment/StatusAdornment.js';
79
+ import '../toast/Toast.js';
80
+ import '../toast/ToastContent.js';
81
+ import '../split-layout/SplitLayout.js';
82
+ import '../switch/Switch.js';
83
+ import '../toggle-button/ToggleButton.js';
84
+ import '../toggle-button-group/ToggleButtonGroup.js';
85
+ import '../toggle-button-group/ToggleButtonGroupContext.js';
86
+ import '../tooltip/Tooltip.js';
87
+ import '@floating-ui/react';
8
88
 
9
89
  const FormFieldContext = createContext(
10
90
  "FormFieldContext",
@@ -1 +1 @@
1
- {"version":3,"file":"FormFieldContext.js","sources":["../src/form-field-context/FormFieldContext.ts"],"sourcesContent":["import { createContext } from \"../utils\";\n\nexport interface A11yValueProps {\n /**\n * id for FormFieldHelperText\n */\n helperTextId?: string;\n /**\n * id for FormFieldLabel\n */\n labelId?: string;\n}\n\nexport type NecessityType = \"required\" | \"optional\" | \"asterisk\";\n\nexport interface a11yValueAriaProps {\n \"aria-labelledby\": A11yValueProps[\"labelId\"];\n \"aria-describedby\": A11yValueProps[\"helperTextId\"] | undefined;\n}\n\nexport interface FormFieldContextValue {\n a11yProps: a11yValueAriaProps;\n disabled: boolean;\n necessity: NecessityType | undefined;\n readOnly: boolean;\n validationStatus: \"error\" | \"warning\" | \"success\" | undefined;\n}\n\nexport const FormFieldContext = createContext(\n \"FormFieldContext\",\n {} as FormFieldContextValue\n);\n"],"names":[],"mappings":";;;;;;;;AA4BO,MAAM,gBAAmB,GAAA,aAAA;AAAA,EAC9B,kBAAA;AAAA,EACA,EAAC;AACH;;;;"}
1
+ {"version":3,"file":"FormFieldContext.js","sources":["../src/form-field-context/FormFieldContext.ts"],"sourcesContent":["import { createContext } from \"../utils\";\n\nexport interface A11yValueProps {\n /**\n * id for FormFieldHelperText\n */\n helperTextId?: string;\n /**\n * id for FormFieldLabel\n */\n labelId?: string;\n}\n\nexport type NecessityType = \"required\" | \"optional\" | \"asterisk\";\n\nexport interface a11yValueAriaProps {\n \"aria-labelledby\": A11yValueProps[\"labelId\"];\n \"aria-describedby\": A11yValueProps[\"helperTextId\"] | undefined;\n}\n\nexport interface FormFieldContextValue {\n a11yProps: a11yValueAriaProps;\n disabled: boolean;\n necessity: NecessityType | undefined;\n readOnly: boolean;\n validationStatus: \"error\" | \"warning\" | \"success\" | undefined;\n}\n\nexport const FormFieldContext = createContext(\n \"FormFieldContext\",\n {} as FormFieldContextValue\n);\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4BO,MAAM,gBAAmB,GAAA,aAAA;AAAA,EAC9B,kBAAA;AAAA,EACA,EAAC;AACH;;;;"}
@@ -5,9 +5,88 @@ import { makePrefixer } from '../utils/makePrefixer.js';
5
5
  import '../utils/useFloatingUI/useFloatingUI.js';
6
6
  import '../utils/useId.js';
7
7
  import { useResponsiveProp } from '../utils/useResponsiveProp.js';
8
- import css_248z from './GridItem.css.js';
9
- import { useWindow } from '@salt-ds/window';
8
+ import '../accordion/AccordionGroup.js';
9
+ import '../accordion/AccordionPanel.js';
10
+ import '../accordion/Accordion.js';
11
+ import '../accordion/AccordionHeader.js';
12
+ import '../aria-announcer/AriaAnnouncerContext.js';
13
+ import '../avatar/Avatar.js';
14
+ import '../badge/Badge.js';
15
+ import '../banner/Banner.js';
16
+ import '../banner/BannerActions.js';
17
+ import '../banner/BannerContent.js';
18
+ import '../border-item/BorderItem.js';
19
+ import '../border-layout/BorderLayout.js';
20
+ import '../button/Button.js';
21
+ import '../card/Card.js';
22
+ import '../card/InteractableCard.js';
23
+ import '../checkbox/Checkbox.js';
24
+ import '../checkbox/CheckboxGroup.js';
10
25
  import { useComponentCssInjection } from '@salt-ds/styles';
26
+ import { useWindow } from '@salt-ds/window';
27
+ import '../salt-provider/SaltProvider.js';
28
+ import '@salt-ds/icons';
29
+ import '../combo-box/ComboBox.js';
30
+ import '../dialog/Dialog.js';
31
+ import '../dialog/DialogHeader.js';
32
+ import '../dialog/DialogActions.js';
33
+ import '../dialog/DialogContent.js';
34
+ import '../dialog/DialogContext.js';
35
+ import '../dialog/DialogCloseButton.js';
36
+ import '../drawer/Drawer.js';
37
+ import '../drawer/DrawerCloseButton.js';
38
+ import '../dropdown/Dropdown.js';
39
+ import '../file-drop-zone/FileDropZone.js';
40
+ import '../file-drop-zone/FileDropZoneIcon.js';
41
+ import '../file-drop-zone/FileDropZoneTrigger.js';
42
+ import '../flex-item/FlexItem.js';
43
+ import '../flex-layout/FlexLayout.js';
44
+ import '../flow-layout/FlowLayout.js';
45
+ import '../form-field/FormField.js';
46
+ import '../status-indicator/StatusIndicator.js';
47
+ import '../text/Text.js';
48
+ import '../text/Code.js';
49
+ import '../text/Display.js';
50
+ import '../text/Headings.js';
51
+ import '../text/Label.js';
52
+ import '../text/TextAction.js';
53
+ import '../text/TextNotation.js';
54
+ import '../form-field-context/FormFieldContext.js';
55
+ import '../grid-layout/GridLayout.js';
56
+ import '../input/Input.js';
57
+ import '../link/Link.js';
58
+ import '../link-card/LinkCard.js';
59
+ import '../list-control/ListControlContext.js';
60
+ import '../multiline-input/MultilineInput.js';
61
+ import '../navigation-item/NavigationItem.js';
62
+ import '../option/Option.js';
63
+ import '../option/OptionGroup.js';
64
+ import '../pagination/Pagination.js';
65
+ import '../pagination/Paginator.js';
66
+ import '../pagination/CompactInput.js';
67
+ import '../pagination/CompactPaginator.js';
68
+ import '../pagination/GoToInput.js';
69
+ import '../panel/Panel.js';
70
+ import '../pill/Pill.js';
71
+ import '../progress/CircularProgress/CircularProgress.js';
72
+ import '../progress/LinearProgress/LinearProgress.js';
73
+ import '../radio-button/RadioButton.js';
74
+ import '../radio-button/RadioButtonGroup.js';
75
+ import '../scrim/Scrim.js';
76
+ import '../spinner/Spinner.js';
77
+ import '../stack-layout/StackLayout.js';
78
+ import '../status-adornment/StatusAdornment.js';
79
+ import '../toast/Toast.js';
80
+ import '../toast/ToastContent.js';
81
+ import '../split-layout/SplitLayout.js';
82
+ import '../switch/Switch.js';
83
+ import '../toggle-button/ToggleButton.js';
84
+ import '../toggle-button-group/ToggleButtonGroup.js';
85
+ import '../toggle-button-group/ToggleButtonGroupContext.js';
86
+ import '../tooltip/Tooltip.js';
87
+ import '@floating-ui/react';
88
+ import '../viewport/ViewportProvider.js';
89
+ import css_248z from './GridItem.css.js';
11
90
 
12
91
  const GRID_ALIGNMENT_BASE = [
13
92
  "start",
@@ -1 +1 @@
1
- {"version":3,"file":"GridItem.js","sources":["../src/grid-item/GridItem.tsx"],"sourcesContent":["import { forwardRef, ElementType, ReactElement } from \"react\";\nimport { clsx } from \"clsx\";\n\nimport {\n makePrefixer,\n ResponsiveProp,\n useResponsiveProp,\n PolymorphicRef,\n PolymorphicComponentPropWithRef,\n} from \"../utils\";\nimport gridItemCss from \"./GridItem.css\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\n\nexport const GRID_ALIGNMENT_BASE = [\n \"start\",\n \"end\",\n \"center\",\n \"stretch\",\n] as const;\n\ntype GridAlignment = (typeof GRID_ALIGNMENT_BASE)[number];\n\ntype GridProperty = number | \"auto\";\nexport type GridItemProps<T extends ElementType> =\n PolymorphicComponentPropWithRef<\n T,\n {\n /**\n * The item will span across the provided number of grid columns. Defaults to \"auto\"\n */\n colSpan?: ResponsiveProp<GridProperty>;\n /**\n * The item will span across the provided number of grid rows. Defaults to \"auto\"\n */\n rowSpan?: ResponsiveProp<GridProperty>;\n /**\n * Aligns a grid item inside a cell along the inline (row) axis. Defaults to \"stretch\"\n */\n horizontalAlignment?: GridAlignment;\n /**\n * Aligns a grid item inside a cell along the block (column) axis. Defaults to \"stretch\"\n */\n verticalAlignment?: GridAlignment;\n }\n >;\n\nconst withBaseName = makePrefixer(\"saltGridItem\");\n\nconst colStart = \"auto\";\nconst colEnd = \"auto\";\nconst rowStart = \"auto\";\nconst rowEnd = \"auto\";\n\ntype GridItemComponent = <T extends ElementType = \"div\">(\n props: GridItemProps<T>\n) => ReactElement | null;\n\nexport const GridItem: GridItemComponent = forwardRef(\n <T extends ElementType = \"div\">(\n {\n as,\n children,\n className,\n colSpan,\n rowSpan,\n horizontalAlignment = \"stretch\",\n verticalAlignment = \"stretch\",\n style,\n ...rest\n }: GridItemProps<T>,\n ref?: PolymorphicRef<T>\n ) => {\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-grid-item\",\n css: gridItemCss,\n window: targetWindow,\n });\n\n const Component = as || \"div\";\n const gridItemColSpan = useResponsiveProp(colSpan, \"auto\");\n\n const gridItemRowSpan = useResponsiveProp(rowSpan, \"auto\");\n\n const gridColumnStart = gridItemColSpan\n ? `span ${gridItemColSpan}`\n : colStart;\n\n const gridColumnEnd = gridItemColSpan ? `span ${gridItemColSpan}` : colEnd;\n\n const gridRowStart = gridItemRowSpan ? `span ${gridItemRowSpan}` : rowStart;\n\n const gridRowEnd = gridItemRowSpan ? `span ${gridItemRowSpan}` : rowEnd;\n\n const gridStyles = {\n ...style,\n \"--gridItem-justifySelf\": horizontalAlignment,\n \"--gridItem-alignSelf\": verticalAlignment,\n \"--gridItem-gridRowStart\": gridRowStart,\n \"--gridItem-gridColumnStart\": gridColumnStart,\n \"--gridItem-gridRowEnd\": gridRowEnd,\n \"--gridItem-gridColumnEnd\": gridColumnEnd,\n };\n\n return (\n <Component\n className={clsx(withBaseName(), className)}\n style={gridStyles}\n ref={ref}\n {...rest}\n >\n {children}\n </Component>\n );\n }\n);\n"],"names":["gridItemCss"],"mappings":";;;;;;;;;;;AAcO,MAAM,mBAAsB,GAAA;AAAA,EACjC,OAAA;AAAA,EACA,KAAA;AAAA,EACA,QAAA;AAAA,EACA,SAAA;AACF,EAAA;AA4BA,MAAM,YAAA,GAAe,aAAa,cAAc,CAAA,CAAA;AAEhD,MAAM,QAAW,GAAA,MAAA,CAAA;AACjB,MAAM,MAAS,GAAA,MAAA,CAAA;AACf,MAAM,QAAW,GAAA,MAAA,CAAA;AACjB,MAAM,MAAS,GAAA,MAAA,CAAA;AAMR,MAAM,QAA8B,GAAA,UAAA;AAAA,EACzC,CACE;AAAA,IACE,EAAA;AAAA,IACA,QAAA;AAAA,IACA,SAAA;AAAA,IACA,OAAA;AAAA,IACA,OAAA;AAAA,IACA,mBAAsB,GAAA,SAAA;AAAA,IACtB,iBAAoB,GAAA,SAAA;AAAA,IACpB,KAAA;AAAA,IACG,GAAA,IAAA;AAAA,KAEL,GACG,KAAA;AACH,IAAA,MAAM,eAAe,SAAU,EAAA,CAAA;AAC/B,IAAyB,wBAAA,CAAA;AAAA,MACvB,MAAQ,EAAA,gBAAA;AAAA,MACR,GAAK,EAAAA,QAAA;AAAA,MACL,MAAQ,EAAA,YAAA;AAAA,KACT,CAAA,CAAA;AAED,IAAA,MAAM,YAAY,EAAM,IAAA,KAAA,CAAA;AACxB,IAAM,MAAA,eAAA,GAAkB,iBAAkB,CAAA,OAAA,EAAS,MAAM,CAAA,CAAA;AAEzD,IAAM,MAAA,eAAA,GAAkB,iBAAkB,CAAA,OAAA,EAAS,MAAM,CAAA,CAAA;AAEzD,IAAM,MAAA,eAAA,GAAkB,eACpB,GAAA,CAAA,KAAA,EAAQ,eACR,CAAA,CAAA,GAAA,QAAA,CAAA;AAEJ,IAAM,MAAA,aAAA,GAAgB,eAAkB,GAAA,CAAA,KAAA,EAAQ,eAAoB,CAAA,CAAA,GAAA,MAAA,CAAA;AAEpE,IAAM,MAAA,YAAA,GAAe,eAAkB,GAAA,CAAA,KAAA,EAAQ,eAAoB,CAAA,CAAA,GAAA,QAAA,CAAA;AAEnE,IAAM,MAAA,UAAA,GAAa,eAAkB,GAAA,CAAA,KAAA,EAAQ,eAAoB,CAAA,CAAA,GAAA,MAAA,CAAA;AAEjE,IAAA,MAAM,UAAa,GAAA;AAAA,MACjB,GAAG,KAAA;AAAA,MACH,wBAA0B,EAAA,mBAAA;AAAA,MAC1B,sBAAwB,EAAA,iBAAA;AAAA,MACxB,yBAA2B,EAAA,YAAA;AAAA,MAC3B,4BAA8B,EAAA,eAAA;AAAA,MAC9B,uBAAyB,EAAA,UAAA;AAAA,MACzB,0BAA4B,EAAA,aAAA;AAAA,KAC9B,CAAA;AAEA,IAAA,uBACG,GAAA,CAAA,SAAA,EAAA;AAAA,MACC,SAAW,EAAA,IAAA,CAAK,YAAa,EAAA,EAAG,SAAS,CAAA;AAAA,MACzC,KAAO,EAAA,UAAA;AAAA,MACP,GAAA;AAAA,MACC,GAAG,IAAA;AAAA,MAEH,QAAA;AAAA,KACH,CAAA,CAAA;AAAA,GAEJ;AACF;;;;"}
1
+ {"version":3,"file":"GridItem.js","sources":["../src/grid-item/GridItem.tsx"],"sourcesContent":["import { forwardRef, ElementType, ReactElement } from \"react\";\nimport { clsx } from \"clsx\";\n\nimport {\n makePrefixer,\n ResponsiveProp,\n useResponsiveProp,\n PolymorphicRef,\n PolymorphicComponentPropWithRef,\n} from \"../utils\";\nimport gridItemCss from \"./GridItem.css\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\n\nexport const GRID_ALIGNMENT_BASE = [\n \"start\",\n \"end\",\n \"center\",\n \"stretch\",\n] as const;\n\ntype GridAlignment = (typeof GRID_ALIGNMENT_BASE)[number];\n\ntype GridProperty = number | \"auto\";\nexport type GridItemProps<T extends ElementType> =\n PolymorphicComponentPropWithRef<\n T,\n {\n /**\n * The item will span across the provided number of grid columns. Defaults to \"auto\"\n */\n colSpan?: ResponsiveProp<GridProperty>;\n /**\n * The item will span across the provided number of grid rows. Defaults to \"auto\"\n */\n rowSpan?: ResponsiveProp<GridProperty>;\n /**\n * Aligns a grid item inside a cell along the inline (row) axis. Defaults to \"stretch\"\n */\n horizontalAlignment?: GridAlignment;\n /**\n * Aligns a grid item inside a cell along the block (column) axis. Defaults to \"stretch\"\n */\n verticalAlignment?: GridAlignment;\n }\n >;\n\nconst withBaseName = makePrefixer(\"saltGridItem\");\n\nconst colStart = \"auto\";\nconst colEnd = \"auto\";\nconst rowStart = \"auto\";\nconst rowEnd = \"auto\";\n\ntype GridItemComponent = <T extends ElementType = \"div\">(\n props: GridItemProps<T>\n) => ReactElement | null;\n\nexport const GridItem: GridItemComponent = forwardRef(\n <T extends ElementType = \"div\">(\n {\n as,\n children,\n className,\n colSpan,\n rowSpan,\n horizontalAlignment = \"stretch\",\n verticalAlignment = \"stretch\",\n style,\n ...rest\n }: GridItemProps<T>,\n ref?: PolymorphicRef<T>\n ) => {\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-grid-item\",\n css: gridItemCss,\n window: targetWindow,\n });\n\n const Component = as || \"div\";\n const gridItemColSpan = useResponsiveProp(colSpan, \"auto\");\n\n const gridItemRowSpan = useResponsiveProp(rowSpan, \"auto\");\n\n const gridColumnStart = gridItemColSpan\n ? `span ${gridItemColSpan}`\n : colStart;\n\n const gridColumnEnd = gridItemColSpan ? `span ${gridItemColSpan}` : colEnd;\n\n const gridRowStart = gridItemRowSpan ? `span ${gridItemRowSpan}` : rowStart;\n\n const gridRowEnd = gridItemRowSpan ? `span ${gridItemRowSpan}` : rowEnd;\n\n const gridStyles = {\n ...style,\n \"--gridItem-justifySelf\": horizontalAlignment,\n \"--gridItem-alignSelf\": verticalAlignment,\n \"--gridItem-gridRowStart\": gridRowStart,\n \"--gridItem-gridColumnStart\": gridColumnStart,\n \"--gridItem-gridRowEnd\": gridRowEnd,\n \"--gridItem-gridColumnEnd\": gridColumnEnd,\n };\n\n return (\n <Component\n className={clsx(withBaseName(), className)}\n style={gridStyles}\n ref={ref}\n {...rest}\n >\n {children}\n </Component>\n );\n }\n);\n"],"names":["gridItemCss"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAcO,MAAM,mBAAsB,GAAA;AAAA,EACjC,OAAA;AAAA,EACA,KAAA;AAAA,EACA,QAAA;AAAA,EACA,SAAA;AACF,EAAA;AA4BA,MAAM,YAAA,GAAe,aAAa,cAAc,CAAA,CAAA;AAEhD,MAAM,QAAW,GAAA,MAAA,CAAA;AACjB,MAAM,MAAS,GAAA,MAAA,CAAA;AACf,MAAM,QAAW,GAAA,MAAA,CAAA;AACjB,MAAM,MAAS,GAAA,MAAA,CAAA;AAMR,MAAM,QAA8B,GAAA,UAAA;AAAA,EACzC,CACE;AAAA,IACE,EAAA;AAAA,IACA,QAAA;AAAA,IACA,SAAA;AAAA,IACA,OAAA;AAAA,IACA,OAAA;AAAA,IACA,mBAAsB,GAAA,SAAA;AAAA,IACtB,iBAAoB,GAAA,SAAA;AAAA,IACpB,KAAA;AAAA,IACG,GAAA,IAAA;AAAA,KAEL,GACG,KAAA;AACH,IAAA,MAAM,eAAe,SAAU,EAAA,CAAA;AAC/B,IAAyB,wBAAA,CAAA;AAAA,MACvB,MAAQ,EAAA,gBAAA;AAAA,MACR,GAAK,EAAAA,QAAA;AAAA,MACL,MAAQ,EAAA,YAAA;AAAA,KACT,CAAA,CAAA;AAED,IAAA,MAAM,YAAY,EAAM,IAAA,KAAA,CAAA;AACxB,IAAM,MAAA,eAAA,GAAkB,iBAAkB,CAAA,OAAA,EAAS,MAAM,CAAA,CAAA;AAEzD,IAAM,MAAA,eAAA,GAAkB,iBAAkB,CAAA,OAAA,EAAS,MAAM,CAAA,CAAA;AAEzD,IAAM,MAAA,eAAA,GAAkB,eACpB,GAAA,CAAA,KAAA,EAAQ,eACR,CAAA,CAAA,GAAA,QAAA,CAAA;AAEJ,IAAM,MAAA,aAAA,GAAgB,eAAkB,GAAA,CAAA,KAAA,EAAQ,eAAoB,CAAA,CAAA,GAAA,MAAA,CAAA;AAEpE,IAAM,MAAA,YAAA,GAAe,eAAkB,GAAA,CAAA,KAAA,EAAQ,eAAoB,CAAA,CAAA,GAAA,QAAA,CAAA;AAEnE,IAAM,MAAA,UAAA,GAAa,eAAkB,GAAA,CAAA,KAAA,EAAQ,eAAoB,CAAA,CAAA,GAAA,MAAA,CAAA;AAEjE,IAAA,MAAM,UAAa,GAAA;AAAA,MACjB,GAAG,KAAA;AAAA,MACH,wBAA0B,EAAA,mBAAA;AAAA,MAC1B,sBAAwB,EAAA,iBAAA;AAAA,MACxB,yBAA2B,EAAA,YAAA;AAAA,MAC3B,4BAA8B,EAAA,eAAA;AAAA,MAC9B,uBAAyB,EAAA,UAAA;AAAA,MACzB,0BAA4B,EAAA,aAAA;AAAA,KAC9B,CAAA;AAEA,IAAA,uBACG,GAAA,CAAA,SAAA,EAAA;AAAA,MACC,SAAW,EAAA,IAAA,CAAK,YAAa,EAAA,EAAG,SAAS,CAAA;AAAA,MACzC,KAAO,EAAA,UAAA;AAAA,MACP,GAAA;AAAA,MACC,GAAG,IAAA;AAAA,MAEH,QAAA;AAAA,KACH,CAAA,CAAA;AAAA,GAEJ;AACF;;;;"}
@@ -5,9 +5,88 @@ import { makePrefixer } from '../utils/makePrefixer.js';
5
5
  import '../utils/useFloatingUI/useFloatingUI.js';
6
6
  import '../utils/useId.js';
7
7
  import { useResponsiveProp } from '../utils/useResponsiveProp.js';
8
- import css_248z from './GridLayout.css.js';
9
- import { useWindow } from '@salt-ds/window';
8
+ import '../accordion/AccordionGroup.js';
9
+ import '../accordion/AccordionPanel.js';
10
+ import '../accordion/Accordion.js';
11
+ import '../accordion/AccordionHeader.js';
12
+ import '../aria-announcer/AriaAnnouncerContext.js';
13
+ import '../avatar/Avatar.js';
14
+ import '../badge/Badge.js';
15
+ import '../banner/Banner.js';
16
+ import '../banner/BannerActions.js';
17
+ import '../banner/BannerContent.js';
18
+ import '../border-item/BorderItem.js';
19
+ import '../border-layout/BorderLayout.js';
20
+ import '../button/Button.js';
21
+ import '../card/Card.js';
22
+ import '../card/InteractableCard.js';
23
+ import '../checkbox/Checkbox.js';
24
+ import '../checkbox/CheckboxGroup.js';
10
25
  import { useComponentCssInjection } from '@salt-ds/styles';
26
+ import { useWindow } from '@salt-ds/window';
27
+ import '../salt-provider/SaltProvider.js';
28
+ import '@salt-ds/icons';
29
+ import '../combo-box/ComboBox.js';
30
+ import '../dialog/Dialog.js';
31
+ import '../dialog/DialogHeader.js';
32
+ import '../dialog/DialogActions.js';
33
+ import '../dialog/DialogContent.js';
34
+ import '../dialog/DialogContext.js';
35
+ import '../dialog/DialogCloseButton.js';
36
+ import '../drawer/Drawer.js';
37
+ import '../drawer/DrawerCloseButton.js';
38
+ import '../dropdown/Dropdown.js';
39
+ import '../file-drop-zone/FileDropZone.js';
40
+ import '../file-drop-zone/FileDropZoneIcon.js';
41
+ import '../file-drop-zone/FileDropZoneTrigger.js';
42
+ import '../flex-item/FlexItem.js';
43
+ import '../flex-layout/FlexLayout.js';
44
+ import '../flow-layout/FlowLayout.js';
45
+ import '../form-field/FormField.js';
46
+ import '../status-indicator/StatusIndicator.js';
47
+ import '../text/Text.js';
48
+ import '../text/Code.js';
49
+ import '../text/Display.js';
50
+ import '../text/Headings.js';
51
+ import '../text/Label.js';
52
+ import '../text/TextAction.js';
53
+ import '../text/TextNotation.js';
54
+ import '../form-field-context/FormFieldContext.js';
55
+ import '../grid-item/GridItem.js';
56
+ import '../input/Input.js';
57
+ import '../link/Link.js';
58
+ import '../link-card/LinkCard.js';
59
+ import '../list-control/ListControlContext.js';
60
+ import '../multiline-input/MultilineInput.js';
61
+ import '../navigation-item/NavigationItem.js';
62
+ import '../option/Option.js';
63
+ import '../option/OptionGroup.js';
64
+ import '../pagination/Pagination.js';
65
+ import '../pagination/Paginator.js';
66
+ import '../pagination/CompactInput.js';
67
+ import '../pagination/CompactPaginator.js';
68
+ import '../pagination/GoToInput.js';
69
+ import '../panel/Panel.js';
70
+ import '../pill/Pill.js';
71
+ import '../progress/CircularProgress/CircularProgress.js';
72
+ import '../progress/LinearProgress/LinearProgress.js';
73
+ import '../radio-button/RadioButton.js';
74
+ import '../radio-button/RadioButtonGroup.js';
75
+ import '../scrim/Scrim.js';
76
+ import '../spinner/Spinner.js';
77
+ import '../stack-layout/StackLayout.js';
78
+ import '../status-adornment/StatusAdornment.js';
79
+ import '../toast/Toast.js';
80
+ import '../toast/ToastContent.js';
81
+ import '../split-layout/SplitLayout.js';
82
+ import '../switch/Switch.js';
83
+ import '../toggle-button/ToggleButton.js';
84
+ import '../toggle-button-group/ToggleButtonGroup.js';
85
+ import '../toggle-button-group/ToggleButtonGroupContext.js';
86
+ import '../tooltip/Tooltip.js';
87
+ import '@floating-ui/react';
88
+ import '../viewport/ViewportProvider.js';
89
+ import css_248z from './GridLayout.css.js';
11
90
 
12
91
  const withBaseName = makePrefixer("saltGridLayout");
13
92
  const GridLayout = forwardRef(
@@ -1 +1 @@
1
- {"version":3,"file":"GridLayout.js","sources":["../src/grid-layout/GridLayout.tsx"],"sourcesContent":["import { forwardRef, ReactElement, ElementType } from \"react\";\nimport { clsx } from \"clsx\";\n\nimport {\n makePrefixer,\n ResponsiveProp,\n useResponsiveProp,\n PolymorphicComponentPropWithRef,\n PolymorphicRef,\n} from \"../utils\";\n\nimport gridLayoutCss from \"./GridLayout.css\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\n\nexport type GridLayoutProps<T extends ElementType> =\n PolymorphicComponentPropWithRef<\n T,\n {\n /**\n * Number of columns to be displayed. Defaults to 12\n */\n columns?: ResponsiveProp<number>;\n /**\n * Number of rows to be displayed. Defaults to 1\n */\n rows?: ResponsiveProp<number>;\n /**\n * Defines the size of the gutter between the columns and the rows by setting a density multiplier. Defaults to 3\n */\n gap?: ResponsiveProp<number>;\n /**\n * Defines the size of the gutter between the columns by setting a density multiplier. Defaults to 1\n */\n columnGap?: ResponsiveProp<number>;\n /**\n * Defines the size of the gutter between the rows by setting a density multiplier. Defaults to 1\n */\n rowGap?: ResponsiveProp<number>;\n }\n >;\n\ntype GridLayoutComponent = <T extends ElementType = \"div\">(\n props: GridLayoutProps<T>\n) => ReactElement | null;\n\nconst withBaseName = makePrefixer(\"saltGridLayout\");\n\nexport const GridLayout: GridLayoutComponent = forwardRef(\n <T extends ElementType = \"div\">(\n {\n as,\n children,\n className,\n columns = 12,\n rows = 1,\n gap,\n columnGap,\n rowGap,\n style,\n ...rest\n }: GridLayoutProps<T>,\n ref?: PolymorphicRef<T>\n ) => {\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-grid-layout\",\n css: gridLayoutCss,\n window: targetWindow,\n });\n const Component = as || \"div\";\n\n const gridColumns = useResponsiveProp(columns, 12);\n\n const gridRows = useResponsiveProp(rows, 1);\n\n const gridGap = useResponsiveProp(gap, 3);\n\n const gridColumnGap = useResponsiveProp(columnGap, 3);\n\n const gridRowGap = useResponsiveProp(rowGap, 3);\n\n const gridLayoutStyles = {\n ...style,\n \"--gridLayout-columns\": gridColumns,\n \"--gridLayout-rows\": gridRows,\n \"--gridLayout-columnGap\": gridColumnGap ?? gridGap,\n \"--gridLayout-rowGap\": gridRowGap ?? gridGap,\n };\n\n return (\n <Component\n className={clsx(withBaseName(), className)}\n style={gridLayoutStyles}\n ref={ref}\n {...rest}\n >\n {children}\n </Component>\n );\n }\n);\n"],"names":["gridLayoutCss"],"mappings":";;;;;;;;;;;AA8CA,MAAM,YAAA,GAAe,aAAa,gBAAgB,CAAA,CAAA;AAE3C,MAAM,UAAkC,GAAA,UAAA;AAAA,EAC7C,CACE;AAAA,IACE,EAAA;AAAA,IACA,QAAA;AAAA,IACA,SAAA;AAAA,IACA,OAAU,GAAA,EAAA;AAAA,IACV,IAAO,GAAA,CAAA;AAAA,IACP,GAAA;AAAA,IACA,SAAA;AAAA,IACA,MAAA;AAAA,IACA,KAAA;AAAA,IACG,GAAA,IAAA;AAAA,KAEL,GACG,KAAA;AACH,IAAA,MAAM,eAAe,SAAU,EAAA,CAAA;AAC/B,IAAyB,wBAAA,CAAA;AAAA,MACvB,MAAQ,EAAA,kBAAA;AAAA,MACR,GAAK,EAAAA,QAAA;AAAA,MACL,MAAQ,EAAA,YAAA;AAAA,KACT,CAAA,CAAA;AACD,IAAA,MAAM,YAAY,EAAM,IAAA,KAAA,CAAA;AAExB,IAAM,MAAA,WAAA,GAAc,iBAAkB,CAAA,OAAA,EAAS,EAAE,CAAA,CAAA;AAEjD,IAAM,MAAA,QAAA,GAAW,iBAAkB,CAAA,IAAA,EAAM,CAAC,CAAA,CAAA;AAE1C,IAAM,MAAA,OAAA,GAAU,iBAAkB,CAAA,GAAA,EAAK,CAAC,CAAA,CAAA;AAExC,IAAM,MAAA,aAAA,GAAgB,iBAAkB,CAAA,SAAA,EAAW,CAAC,CAAA,CAAA;AAEpD,IAAM,MAAA,UAAA,GAAa,iBAAkB,CAAA,MAAA,EAAQ,CAAC,CAAA,CAAA;AAE9C,IAAA,MAAM,gBAAmB,GAAA;AAAA,MACvB,GAAG,KAAA;AAAA,MACH,sBAAwB,EAAA,WAAA;AAAA,MACxB,mBAAqB,EAAA,QAAA;AAAA,MACrB,0BAA0B,aAAiB,IAAA,IAAA,GAAA,aAAA,GAAA,OAAA;AAAA,MAC3C,uBAAuB,UAAc,IAAA,IAAA,GAAA,UAAA,GAAA,OAAA;AAAA,KACvC,CAAA;AAEA,IAAA,uBACG,GAAA,CAAA,SAAA,EAAA;AAAA,MACC,SAAW,EAAA,IAAA,CAAK,YAAa,EAAA,EAAG,SAAS,CAAA;AAAA,MACzC,KAAO,EAAA,gBAAA;AAAA,MACP,GAAA;AAAA,MACC,GAAG,IAAA;AAAA,MAEH,QAAA;AAAA,KACH,CAAA,CAAA;AAAA,GAEJ;AACF;;;;"}
1
+ {"version":3,"file":"GridLayout.js","sources":["../src/grid-layout/GridLayout.tsx"],"sourcesContent":["import { forwardRef, ReactElement, ElementType } from \"react\";\nimport { clsx } from \"clsx\";\n\nimport {\n makePrefixer,\n ResponsiveProp,\n useResponsiveProp,\n PolymorphicComponentPropWithRef,\n PolymorphicRef,\n} from \"../utils\";\n\nimport gridLayoutCss from \"./GridLayout.css\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\n\nexport type GridLayoutProps<T extends ElementType> =\n PolymorphicComponentPropWithRef<\n T,\n {\n /**\n * Number of columns to be displayed. Defaults to 12\n */\n columns?: ResponsiveProp<number>;\n /**\n * Number of rows to be displayed. Defaults to 1\n */\n rows?: ResponsiveProp<number>;\n /**\n * Defines the size of the gutter between the columns and the rows by setting a density multiplier. Defaults to 3\n */\n gap?: ResponsiveProp<number>;\n /**\n * Defines the size of the gutter between the columns by setting a density multiplier. Defaults to 1\n */\n columnGap?: ResponsiveProp<number>;\n /**\n * Defines the size of the gutter between the rows by setting a density multiplier. Defaults to 1\n */\n rowGap?: ResponsiveProp<number>;\n }\n >;\n\ntype GridLayoutComponent = <T extends ElementType = \"div\">(\n props: GridLayoutProps<T>\n) => ReactElement | null;\n\nconst withBaseName = makePrefixer(\"saltGridLayout\");\n\nexport const GridLayout: GridLayoutComponent = forwardRef(\n <T extends ElementType = \"div\">(\n {\n as,\n children,\n className,\n columns = 12,\n rows = 1,\n gap,\n columnGap,\n rowGap,\n style,\n ...rest\n }: GridLayoutProps<T>,\n ref?: PolymorphicRef<T>\n ) => {\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-grid-layout\",\n css: gridLayoutCss,\n window: targetWindow,\n });\n const Component = as || \"div\";\n\n const gridColumns = useResponsiveProp(columns, 12);\n\n const gridRows = useResponsiveProp(rows, 1);\n\n const gridGap = useResponsiveProp(gap, 3);\n\n const gridColumnGap = useResponsiveProp(columnGap, 3);\n\n const gridRowGap = useResponsiveProp(rowGap, 3);\n\n const gridLayoutStyles = {\n ...style,\n \"--gridLayout-columns\": gridColumns,\n \"--gridLayout-rows\": gridRows,\n \"--gridLayout-columnGap\": gridColumnGap ?? gridGap,\n \"--gridLayout-rowGap\": gridRowGap ?? gridGap,\n };\n\n return (\n <Component\n className={clsx(withBaseName(), className)}\n style={gridLayoutStyles}\n ref={ref}\n {...rest}\n >\n {children}\n </Component>\n );\n }\n);\n"],"names":["gridLayoutCss"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8CA,MAAM,YAAA,GAAe,aAAa,gBAAgB,CAAA,CAAA;AAE3C,MAAM,UAAkC,GAAA,UAAA;AAAA,EAC7C,CACE;AAAA,IACE,EAAA;AAAA,IACA,QAAA;AAAA,IACA,SAAA;AAAA,IACA,OAAU,GAAA,EAAA;AAAA,IACV,IAAO,GAAA,CAAA;AAAA,IACP,GAAA;AAAA,IACA,SAAA;AAAA,IACA,MAAA;AAAA,IACA,KAAA;AAAA,IACG,GAAA,IAAA;AAAA,KAEL,GACG,KAAA;AACH,IAAA,MAAM,eAAe,SAAU,EAAA,CAAA;AAC/B,IAAyB,wBAAA,CAAA;AAAA,MACvB,MAAQ,EAAA,kBAAA;AAAA,MACR,GAAK,EAAAA,QAAA;AAAA,MACL,MAAQ,EAAA,YAAA;AAAA,KACT,CAAA,CAAA;AACD,IAAA,MAAM,YAAY,EAAM,IAAA,KAAA,CAAA;AAExB,IAAM,MAAA,WAAA,GAAc,iBAAkB,CAAA,OAAA,EAAS,EAAE,CAAA,CAAA;AAEjD,IAAM,MAAA,QAAA,GAAW,iBAAkB,CAAA,IAAA,EAAM,CAAC,CAAA,CAAA;AAE1C,IAAM,MAAA,OAAA,GAAU,iBAAkB,CAAA,GAAA,EAAK,CAAC,CAAA,CAAA;AAExC,IAAM,MAAA,aAAA,GAAgB,iBAAkB,CAAA,SAAA,EAAW,CAAC,CAAA,CAAA;AAEpD,IAAM,MAAA,UAAA,GAAa,iBAAkB,CAAA,MAAA,EAAQ,CAAC,CAAA,CAAA;AAE9C,IAAA,MAAM,gBAAmB,GAAA;AAAA,MACvB,GAAG,KAAA;AAAA,MACH,sBAAwB,EAAA,WAAA;AAAA,MACxB,mBAAqB,EAAA,QAAA;AAAA,MACrB,0BAA0B,aAAiB,IAAA,IAAA,GAAA,aAAA,GAAA,OAAA;AAAA,MAC3C,uBAAuB,UAAc,IAAA,IAAA,GAAA,UAAA,GAAA,OAAA;AAAA,KACvC,CAAA;AAEA,IAAA,uBACG,GAAA,CAAA,SAAA,EAAA;AAAA,MACC,SAAW,EAAA,IAAA,CAAK,YAAa,EAAA,EAAG,SAAS,CAAA;AAAA,MACzC,KAAO,EAAA,gBAAA;AAAA,MACP,GAAA;AAAA,MACC,GAAG,IAAA;AAAA,MAEH,QAAA;AAAA,KACH,CAAA,CAAA;AAAA,GAEJ;AACF;;;;"}
package/dist-es/index.js CHANGED
@@ -22,6 +22,7 @@ export { InteractableCard } from './card/InteractableCard.js';
22
22
  export { Checkbox } from './checkbox/Checkbox.js';
23
23
  export { CheckboxGroup } from './checkbox/CheckboxGroup.js';
24
24
  export { CheckboxIcon } from './checkbox/CheckboxIcon.js';
25
+ export { ComboBox } from './combo-box/ComboBox.js';
25
26
  export { ConditionalScrimWrapper, Dialog } from './dialog/Dialog.js';
26
27
  export { DialogHeader } from './dialog/DialogHeader.js';
27
28
  export { DialogActions } from './dialog/DialogActions.js';
@@ -30,6 +31,7 @@ export { DialogContext, useDialogContext } from './dialog/DialogContext.js';
30
31
  export { DialogCloseButton } from './dialog/DialogCloseButton.js';
31
32
  export { Drawer } from './drawer/Drawer.js';
32
33
  export { DrawerCloseButton } from './drawer/DrawerCloseButton.js';
34
+ export { Dropdown } from './dropdown/Dropdown.js';
33
35
  export { FileDropZone } from './file-drop-zone/FileDropZone.js';
34
36
  export { FileDropZoneIcon } from './file-drop-zone/FileDropZoneIcon.js';
35
37
  export { FileDropZoneTrigger } from './file-drop-zone/FileDropZoneTrigger.js';
@@ -46,8 +48,11 @@ export { GridLayout } from './grid-layout/GridLayout.js';
46
48
  export { Input } from './input/Input.js';
47
49
  export { Link } from './link/Link.js';
48
50
  export { LinkCard } from './link-card/LinkCard.js';
51
+ export { useListControlContext } from './list-control/ListControlContext.js';
49
52
  export { MultilineInput } from './multiline-input/MultilineInput.js';
50
53
  export { NavigationItem } from './navigation-item/NavigationItem.js';
54
+ export { Option } from './option/Option.js';
55
+ export { OptionGroup } from './option/OptionGroup.js';
51
56
  export { Pagination } from './pagination/Pagination.js';
52
57
  export { Paginator } from './pagination/Paginator.js';
53
58
  export { CompactInput } from './pagination/CompactInput.js';
@@ -67,11 +72,12 @@ export { StatusAdornment } from './status-adornment/StatusAdornment.js';
67
72
  export { StatusIndicator } from './status-indicator/StatusIndicator.js';
68
73
  export { VALIDATION_NAMED_STATUS } from './status-indicator/ValidationStatus.js';
69
74
  export { Text } from './text/Text.js';
75
+ export { Code } from './text/Code.js';
70
76
  export { Display1, Display2, Display3 } from './text/Display.js';
71
77
  export { H1, H2, H3, H4 } from './text/Headings.js';
72
78
  export { Label } from './text/Label.js';
73
- export { TextNotation } from './text/TextNotation.js';
74
79
  export { TextAction } from './text/TextAction.js';
80
+ export { TextNotation } from './text/TextNotation.js';
75
81
  export { DensityValues } from './theme/Density.js';
76
82
  export { getCharacteristicValue } from './theme/Theme.js';
77
83
  export { ModeValues } from './theme/Mode.js';
@@ -104,5 +110,8 @@ export { useIsomorphicLayoutEffect } from './utils/useIsomorphicLayoutEffect.js'
104
110
  export { usePrevious } from './utils/usePrevious.js';
105
111
  export { getCurrentBreakpoint, useCurrentBreakpoint, useOrderedBreakpoints, useResponsiveProp } from './utils/useResponsiveProp.js';
106
112
  export { mergeProps } from './utils/mergeProps.js';
113
+ export { useValueEffect } from './utils/useValueEffect.js';
114
+ export { useResizeObserver } from './utils/useResizeObserver.js';
115
+ export { useEventCallback } from './utils/useEventCallback.js';
107
116
  export { ViewportContext, ViewportProvider, useViewport } from './viewport/ViewportProvider.js';
108
117
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -11,7 +11,82 @@ import '../utils/useFloatingUI/useFloatingUI.js';
11
11
  import '../utils/useId.js';
12
12
  import '../salt-provider/SaltProvider.js';
13
13
  import '../viewport/ViewportProvider.js';
14
+ import '../accordion/AccordionGroup.js';
15
+ import '../accordion/AccordionPanel.js';
16
+ import '../accordion/Accordion.js';
17
+ import '../accordion/AccordionHeader.js';
18
+ import '../aria-announcer/AriaAnnouncerContext.js';
19
+ import '../avatar/Avatar.js';
20
+ import '../badge/Badge.js';
21
+ import '../banner/Banner.js';
22
+ import '../banner/BannerActions.js';
23
+ import '../banner/BannerContent.js';
24
+ import '../border-item/BorderItem.js';
25
+ import '../border-layout/BorderLayout.js';
26
+ import '../button/Button.js';
27
+ import '../card/Card.js';
28
+ import '../card/InteractableCard.js';
29
+ import '../checkbox/Checkbox.js';
30
+ import '../checkbox/CheckboxGroup.js';
31
+ import '@salt-ds/icons';
32
+ import '../combo-box/ComboBox.js';
33
+ import '../dialog/Dialog.js';
34
+ import '../dialog/DialogHeader.js';
35
+ import '../dialog/DialogActions.js';
36
+ import '../dialog/DialogContent.js';
37
+ import '../dialog/DialogContext.js';
38
+ import '../dialog/DialogCloseButton.js';
39
+ import '../drawer/Drawer.js';
40
+ import '../drawer/DrawerCloseButton.js';
41
+ import '../dropdown/Dropdown.js';
42
+ import '../file-drop-zone/FileDropZone.js';
43
+ import '../file-drop-zone/FileDropZoneIcon.js';
44
+ import '../file-drop-zone/FileDropZoneTrigger.js';
45
+ import '../flex-item/FlexItem.js';
46
+ import '../flex-layout/FlexLayout.js';
47
+ import '../flow-layout/FlowLayout.js';
48
+ import '../form-field/FormField.js';
49
+ import '../status-indicator/StatusIndicator.js';
50
+ import '../text/Text.js';
51
+ import '../text/Code.js';
52
+ import '../text/Display.js';
53
+ import '../text/Headings.js';
54
+ import '../text/Label.js';
55
+ import '../text/TextAction.js';
56
+ import '../text/TextNotation.js';
57
+ import '../grid-item/GridItem.js';
58
+ import '../grid-layout/GridLayout.js';
59
+ import '../link/Link.js';
60
+ import '../link-card/LinkCard.js';
61
+ import '../list-control/ListControlContext.js';
62
+ import '../multiline-input/MultilineInput.js';
63
+ import '../navigation-item/NavigationItem.js';
64
+ import '../option/Option.js';
65
+ import '../option/OptionGroup.js';
66
+ import '../pagination/Pagination.js';
67
+ import '../pagination/Paginator.js';
68
+ import '../pagination/CompactInput.js';
69
+ import '../pagination/CompactPaginator.js';
70
+ import '../pagination/GoToInput.js';
71
+ import '../panel/Panel.js';
72
+ import '../pill/Pill.js';
73
+ import '../progress/CircularProgress/CircularProgress.js';
74
+ import '../progress/LinearProgress/LinearProgress.js';
75
+ import '../radio-button/RadioButton.js';
76
+ import '../radio-button/RadioButtonGroup.js';
77
+ import '../scrim/Scrim.js';
78
+ import '../spinner/Spinner.js';
79
+ import '../stack-layout/StackLayout.js';
14
80
  import { StatusAdornment } from '../status-adornment/StatusAdornment.js';
81
+ import '../toast/Toast.js';
82
+ import '../toast/ToastContent.js';
83
+ import '../split-layout/SplitLayout.js';
84
+ import '../switch/Switch.js';
85
+ import '../toggle-button/ToggleButton.js';
86
+ import '../toggle-button-group/ToggleButtonGroup.js';
87
+ import '../toggle-button-group/ToggleButtonGroupContext.js';
88
+ import '../tooltip/Tooltip.js';
89
+ import '@floating-ui/react';
15
90
  import css_248z from './Input.css.js';
16
91
 
17
92
  const withBaseName = makePrefixer("saltInput");
@@ -1 +1 @@
1
- {"version":3,"file":"Input.js","sources":["../src/input/Input.tsx"],"sourcesContent":["import { clsx } from \"clsx\";\nimport {\n ChangeEvent,\n ComponentPropsWithoutRef,\n FocusEvent,\n forwardRef,\n InputHTMLAttributes,\n ReactNode,\n Ref,\n useState,\n} from \"react\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { useFormFieldProps } from \"../form-field-context\";\nimport { makePrefixer, useControlled } from \"../utils\";\nimport { StatusAdornment } from \"../status-adornment\";\n\nimport inputCss from \"./Input.css\";\n\nconst withBaseName = makePrefixer(\"saltInput\");\n\nexport interface InputProps\n extends Omit<ComponentPropsWithoutRef<\"div\">, \"defaultValue\">,\n Pick<\n ComponentPropsWithoutRef<\"input\">,\n \"disabled\" | \"value\" | \"defaultValue\" | \"placeholder\"\n > {\n /**\n * The marker to use in an empty read only Input.\n * Use `''` to disable this feature. Defaults to '—'.\n */\n emptyReadOnlyMarker?: string;\n /**\n * End adornment component\n */\n endAdornment?: ReactNode;\n /**\n * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Attributes) applied to the `input` element.\n */\n inputProps?: InputHTMLAttributes<HTMLInputElement>;\n /**\n * Optional ref for the input component\n */\n inputRef?: Ref<HTMLInputElement>;\n /**\n * If `true`, the component is read only.\n */\n readOnly?: boolean;\n /**\n * Start adornment component\n */\n startAdornment?: ReactNode;\n /**\n * Alignment of text within container. Defaults to \"left\"\n */\n textAlign?: \"left\" | \"center\" | \"right\";\n /**\n * Validation status.\n */\n validationStatus?: \"error\" | \"warning\" | \"success\";\n /**\n * Styling variant. Defaults to \"primary\".\n */\n variant?: \"primary\" | \"secondary\";\n}\n\nexport const Input = forwardRef<HTMLDivElement, InputProps>(function Input(\n {\n \"aria-activedescendant\": ariaActiveDescendant,\n \"aria-expanded\": ariaExpanded,\n \"aria-owns\": ariaOwns,\n className: classNameProp,\n disabled,\n emptyReadOnlyMarker = \"—\",\n endAdornment,\n id,\n inputProps = {},\n inputRef,\n placeholder,\n readOnly: readOnlyProp,\n role,\n startAdornment,\n style,\n textAlign = \"left\",\n value: valueProp,\n defaultValue: defaultValueProp = valueProp === undefined ? \"\" : undefined,\n validationStatus: validationStatusProp,\n variant = \"primary\",\n ...other\n },\n ref\n) {\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-input\",\n css: inputCss,\n window: targetWindow,\n });\n\n const {\n a11yProps: {\n \"aria-describedby\": formFieldDescribedBy,\n \"aria-labelledby\": formFieldLabelledBy,\n } = {},\n disabled: formFieldDisabled,\n readOnly: formFieldReadOnly,\n necessity: formFieldRequired,\n validationStatus: formFieldValidationStatus,\n } = useFormFieldProps();\n\n const restA11yProps = {\n \"aria-activedescendant\": ariaActiveDescendant,\n \"aria-expanded\": ariaExpanded,\n \"aria-owns\": ariaOwns,\n };\n\n const isDisabled = disabled || formFieldDisabled;\n const isReadOnly = readOnlyProp || formFieldReadOnly;\n const validationStatus = formFieldValidationStatus ?? validationStatusProp;\n\n const [focused, setFocused] = useState(false);\n\n const isEmptyReadOnly = isReadOnly && !defaultValueProp && !valueProp;\n const defaultValue = isEmptyReadOnly ? emptyReadOnlyMarker : defaultValueProp;\n\n const {\n \"aria-describedby\": inputDescribedBy,\n \"aria-labelledby\": inputLabelledBy,\n onBlur,\n onChange,\n onFocus,\n required: inputPropsRequired,\n ...restInputProps\n } = inputProps;\n\n const isRequired = formFieldRequired\n ? [\"required\", \"asterisk\"].includes(formFieldRequired)\n : inputPropsRequired;\n\n const [value, setValue] = useControlled({\n controlled: valueProp,\n default: defaultValue,\n name: \"Input\",\n state: \"value\",\n });\n\n const handleChange = (event: ChangeEvent<HTMLInputElement>) => {\n const value = event.target.value;\n setValue(value);\n onChange?.(event);\n };\n\n const handleBlur = (event: FocusEvent<HTMLInputElement>) => {\n onBlur?.(event);\n setFocused(false);\n };\n\n const handleFocus = (event: FocusEvent<HTMLInputElement>) => {\n onFocus?.(event);\n setFocused(true);\n };\n\n const inputStyle = {\n \"--input-textAlign\": textAlign,\n ...style,\n };\n\n return (\n <div\n className={clsx(\n withBaseName(),\n withBaseName(variant),\n {\n [withBaseName(\"focused\")]: !isDisabled && focused,\n [withBaseName(\"disabled\")]: isDisabled,\n [withBaseName(\"readOnly\")]: isReadOnly,\n [withBaseName(validationStatus || \"\")]: validationStatus,\n },\n classNameProp\n )}\n ref={ref}\n style={inputStyle}\n {...other}\n >\n {startAdornment && (\n <div className={withBaseName(\"startAdornmentContainer\")}>\n {startAdornment}\n </div>\n )}\n <input\n aria-describedby={clsx(formFieldDescribedBy, inputDescribedBy)}\n aria-labelledby={clsx(formFieldLabelledBy, inputLabelledBy)}\n className={clsx(withBaseName(\"input\"), inputProps?.className)}\n disabled={isDisabled}\n id={id}\n readOnly={isReadOnly}\n ref={inputRef}\n role={role}\n tabIndex={isDisabled ? -1 : 0}\n onBlur={handleBlur}\n onChange={handleChange}\n onFocus={!isDisabled ? handleFocus : undefined}\n placeholder={placeholder}\n value={value}\n {...restA11yProps}\n {...restInputProps}\n required={isRequired}\n />\n {!isDisabled && !isReadOnly && validationStatus && (\n <StatusAdornment status={validationStatus} />\n )}\n {endAdornment && (\n <div className={withBaseName(\"endAdornmentContainer\")}>\n {endAdornment}\n </div>\n )}\n <div className={withBaseName(\"activationIndicator\")} />\n </div>\n );\n});\n"],"names":["Input","inputCss","value"],"mappings":"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"}
1
+ {"version":3,"file":"Input.js","sources":["../src/input/Input.tsx"],"sourcesContent":["import { clsx } from \"clsx\";\nimport {\n ChangeEvent,\n ComponentPropsWithoutRef,\n FocusEvent,\n forwardRef,\n InputHTMLAttributes,\n ReactNode,\n Ref,\n useState,\n} from \"react\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { useFormFieldProps } from \"../form-field-context\";\nimport { makePrefixer, useControlled } from \"../utils\";\nimport { StatusAdornment } from \"../status-adornment\";\n\nimport inputCss from \"./Input.css\";\n\nconst withBaseName = makePrefixer(\"saltInput\");\n\nexport interface InputProps\n extends Omit<ComponentPropsWithoutRef<\"div\">, \"defaultValue\">,\n Pick<\n ComponentPropsWithoutRef<\"input\">,\n \"disabled\" | \"value\" | \"defaultValue\" | \"placeholder\"\n > {\n /**\n * The marker to use in an empty read only Input.\n * Use `''` to disable this feature. Defaults to '—'.\n */\n emptyReadOnlyMarker?: string;\n /**\n * End adornment component\n */\n endAdornment?: ReactNode;\n /**\n * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Attributes) applied to the `input` element.\n */\n inputProps?: InputHTMLAttributes<HTMLInputElement>;\n /**\n * Optional ref for the input component\n */\n inputRef?: Ref<HTMLInputElement>;\n /**\n * If `true`, the component is read only.\n */\n readOnly?: boolean;\n /**\n * Start adornment component\n */\n startAdornment?: ReactNode;\n /**\n * Alignment of text within container. Defaults to \"left\"\n */\n textAlign?: \"left\" | \"center\" | \"right\";\n /**\n * Validation status.\n */\n validationStatus?: \"error\" | \"warning\" | \"success\";\n /**\n * Styling variant. Defaults to \"primary\".\n */\n variant?: \"primary\" | \"secondary\";\n}\n\nexport const Input = forwardRef<HTMLDivElement, InputProps>(function Input(\n {\n \"aria-activedescendant\": ariaActiveDescendant,\n \"aria-expanded\": ariaExpanded,\n \"aria-owns\": ariaOwns,\n className: classNameProp,\n disabled,\n emptyReadOnlyMarker = \"—\",\n endAdornment,\n id,\n inputProps = {},\n inputRef,\n placeholder,\n readOnly: readOnlyProp,\n role,\n startAdornment,\n style,\n textAlign = \"left\",\n value: valueProp,\n defaultValue: defaultValueProp = valueProp === undefined ? \"\" : undefined,\n validationStatus: validationStatusProp,\n variant = \"primary\",\n ...other\n },\n ref\n) {\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-input\",\n css: inputCss,\n window: targetWindow,\n });\n\n const {\n a11yProps: {\n \"aria-describedby\": formFieldDescribedBy,\n \"aria-labelledby\": formFieldLabelledBy,\n } = {},\n disabled: formFieldDisabled,\n readOnly: formFieldReadOnly,\n necessity: formFieldRequired,\n validationStatus: formFieldValidationStatus,\n } = useFormFieldProps();\n\n const restA11yProps = {\n \"aria-activedescendant\": ariaActiveDescendant,\n \"aria-expanded\": ariaExpanded,\n \"aria-owns\": ariaOwns,\n };\n\n const isDisabled = disabled || formFieldDisabled;\n const isReadOnly = readOnlyProp || formFieldReadOnly;\n const validationStatus = formFieldValidationStatus ?? validationStatusProp;\n\n const [focused, setFocused] = useState(false);\n\n const isEmptyReadOnly = isReadOnly && !defaultValueProp && !valueProp;\n const defaultValue = isEmptyReadOnly ? emptyReadOnlyMarker : defaultValueProp;\n\n const {\n \"aria-describedby\": inputDescribedBy,\n \"aria-labelledby\": inputLabelledBy,\n onBlur,\n onChange,\n onFocus,\n required: inputPropsRequired,\n ...restInputProps\n } = inputProps;\n\n const isRequired = formFieldRequired\n ? [\"required\", \"asterisk\"].includes(formFieldRequired)\n : inputPropsRequired;\n\n const [value, setValue] = useControlled({\n controlled: valueProp,\n default: defaultValue,\n name: \"Input\",\n state: \"value\",\n });\n\n const handleChange = (event: ChangeEvent<HTMLInputElement>) => {\n const value = event.target.value;\n setValue(value);\n onChange?.(event);\n };\n\n const handleBlur = (event: FocusEvent<HTMLInputElement>) => {\n onBlur?.(event);\n setFocused(false);\n };\n\n const handleFocus = (event: FocusEvent<HTMLInputElement>) => {\n onFocus?.(event);\n setFocused(true);\n };\n\n const inputStyle = {\n \"--input-textAlign\": textAlign,\n ...style,\n };\n\n return (\n <div\n className={clsx(\n withBaseName(),\n withBaseName(variant),\n {\n [withBaseName(\"focused\")]: !isDisabled && focused,\n [withBaseName(\"disabled\")]: isDisabled,\n [withBaseName(\"readOnly\")]: isReadOnly,\n [withBaseName(validationStatus || \"\")]: validationStatus,\n },\n classNameProp\n )}\n ref={ref}\n style={inputStyle}\n {...other}\n >\n {startAdornment && (\n <div className={withBaseName(\"startAdornmentContainer\")}>\n {startAdornment}\n </div>\n )}\n <input\n aria-describedby={clsx(formFieldDescribedBy, inputDescribedBy)}\n aria-labelledby={clsx(formFieldLabelledBy, inputLabelledBy)}\n className={clsx(withBaseName(\"input\"), inputProps?.className)}\n disabled={isDisabled}\n id={id}\n readOnly={isReadOnly}\n ref={inputRef}\n role={role}\n tabIndex={isDisabled ? -1 : 0}\n onBlur={handleBlur}\n onChange={handleChange}\n onFocus={!isDisabled ? handleFocus : undefined}\n placeholder={placeholder}\n value={value}\n {...restA11yProps}\n {...restInputProps}\n required={isRequired}\n />\n {!isDisabled && !isReadOnly && validationStatus && (\n <StatusAdornment status={validationStatus} />\n )}\n {endAdornment && (\n <div className={withBaseName(\"endAdornmentContainer\")}>\n {endAdornment}\n </div>\n )}\n <div className={withBaseName(\"activationIndicator\")} />\n </div>\n );\n});\n"],"names":["Input","inputCss","value"],"mappings":"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"}
@@ -7,15 +7,85 @@ import '../utils/useFloatingUI/useFloatingUI.js';
7
7
  import '../utils/useId.js';
8
8
  import '../salt-provider/SaltProvider.js';
9
9
  import '../viewport/ViewportProvider.js';
10
+ import '../accordion/AccordionGroup.js';
11
+ import '../accordion/AccordionPanel.js';
12
+ import '../accordion/Accordion.js';
13
+ import '../accordion/AccordionHeader.js';
14
+ import '../aria-announcer/AriaAnnouncerContext.js';
15
+ import '../avatar/Avatar.js';
16
+ import '../badge/Badge.js';
17
+ import '../banner/Banner.js';
18
+ import '../banner/BannerActions.js';
19
+ import '../banner/BannerContent.js';
20
+ import '../border-item/BorderItem.js';
21
+ import '../border-layout/BorderLayout.js';
22
+ import '../button/Button.js';
23
+ import '../card/Card.js';
24
+ import '../card/InteractableCard.js';
25
+ import '../checkbox/Checkbox.js';
26
+ import '../checkbox/CheckboxGroup.js';
27
+ import { useComponentCssInjection } from '@salt-ds/styles';
28
+ import { useWindow } from '@salt-ds/window';
29
+ import '../combo-box/ComboBox.js';
30
+ import '../dialog/Dialog.js';
31
+ import '../dialog/DialogHeader.js';
32
+ import '../dialog/DialogActions.js';
33
+ import '../dialog/DialogContent.js';
34
+ import '../dialog/DialogContext.js';
35
+ import '../dialog/DialogCloseButton.js';
36
+ import '../drawer/Drawer.js';
37
+ import '../drawer/DrawerCloseButton.js';
38
+ import '../dropdown/Dropdown.js';
39
+ import '../file-drop-zone/FileDropZone.js';
40
+ import '../file-drop-zone/FileDropZoneIcon.js';
41
+ import '../file-drop-zone/FileDropZoneTrigger.js';
42
+ import '../flex-item/FlexItem.js';
43
+ import '../flex-layout/FlexLayout.js';
44
+ import '../flow-layout/FlowLayout.js';
45
+ import '../form-field/FormField.js';
46
+ import '../status-indicator/StatusIndicator.js';
10
47
  import { Text } from '../text/Text.js';
48
+ import '../text/Code.js';
11
49
  import '../text/Display.js';
12
50
  import '../text/Headings.js';
13
51
  import '../text/Label.js';
14
- import '../text/TextNotation.js';
15
52
  import '../text/TextAction.js';
53
+ import '../text/TextNotation.js';
54
+ import '../form-field-context/FormFieldContext.js';
55
+ import '../grid-item/GridItem.js';
56
+ import '../grid-layout/GridLayout.js';
57
+ import '../input/Input.js';
58
+ import '../link-card/LinkCard.js';
59
+ import '../list-control/ListControlContext.js';
60
+ import '../multiline-input/MultilineInput.js';
61
+ import '../navigation-item/NavigationItem.js';
62
+ import '../option/Option.js';
63
+ import '../option/OptionGroup.js';
64
+ import '../pagination/Pagination.js';
65
+ import '../pagination/Paginator.js';
66
+ import '../pagination/CompactInput.js';
67
+ import '../pagination/CompactPaginator.js';
68
+ import '../pagination/GoToInput.js';
69
+ import '../panel/Panel.js';
70
+ import '../pill/Pill.js';
71
+ import '../progress/CircularProgress/CircularProgress.js';
72
+ import '../progress/LinearProgress/LinearProgress.js';
73
+ import '../radio-button/RadioButton.js';
74
+ import '../radio-button/RadioButtonGroup.js';
75
+ import '../scrim/Scrim.js';
76
+ import '../spinner/Spinner.js';
77
+ import '../stack-layout/StackLayout.js';
78
+ import '../status-adornment/StatusAdornment.js';
79
+ import '../toast/Toast.js';
80
+ import '../toast/ToastContent.js';
81
+ import '../split-layout/SplitLayout.js';
82
+ import '../switch/Switch.js';
83
+ import '../toggle-button/ToggleButton.js';
84
+ import '../toggle-button-group/ToggleButtonGroup.js';
85
+ import '../toggle-button-group/ToggleButtonGroupContext.js';
86
+ import '../tooltip/Tooltip.js';
87
+ import '@floating-ui/react';
16
88
  import css_248z from './Link.css.js';
17
- import { useWindow } from '@salt-ds/window';
18
- import { useComponentCssInjection } from '@salt-ds/styles';
19
89
 
20
90
  const withBaseName = makePrefixer("saltLink");
21
91
  const Link = forwardRef(function Link2({
@@ -1 +1 @@
1
- {"version":3,"file":"Link.js","sources":["../src/link/Link.tsx"],"sourcesContent":["import { ComponentType, forwardRef, ReactElement } from \"react\";\nimport { clsx } from \"clsx\";\nimport { IconProps, TearOutIcon } from \"@salt-ds/icons\";\nimport { makePrefixer } from \"../utils\";\nimport { Text, TextProps } from \"../text\";\n\nimport linkCss from \"./Link.css\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\n\nconst withBaseName = makePrefixer(\"saltLink\");\n\n/**\n * Links are a fundamental navigation element. When clicked, they take the user to an entirely different page.\n *\n * @example\n * <LinkExample to=\"#link\">Action</LinkExample>\n */\nexport interface LinkProps extends Omit<TextProps<\"a\">, \"as\" | \"disabled\"> {\n IconComponent?: ComponentType<IconProps> | null;\n}\n\nexport const Link = forwardRef<HTMLAnchorElement, LinkProps>(function Link(\n {\n IconComponent = TearOutIcon,\n href,\n className,\n children,\n variant = \"primary\",\n target = \"_self\",\n ...rest\n },\n ref\n): ReactElement<LinkProps> {\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-link\",\n css: linkCss,\n window: targetWindow,\n });\n\n return (\n <Text\n as=\"a\"\n className={clsx(withBaseName(), className)}\n href={href}\n ref={ref}\n target={target}\n variant={variant}\n {...rest}\n >\n {children}\n {target === \"_blank\" && (\n <>\n {IconComponent && (\n <IconComponent className={withBaseName(\"icon\")} aria-hidden />\n )}\n <span className={withBaseName(\"externalLinkADA\")}>External</span>\n </>\n )}\n </Text>\n );\n});\n"],"names":["Link","linkCss"],"mappings":";;;;;;;;;;;;;;;;;;;AAUA,MAAM,YAAA,GAAe,aAAa,UAAU,CAAA,CAAA;AAY/B,MAAA,IAAA,GAAO,UAAyC,CAAA,SAASA,KACpE,CAAA;AAAA,EACE,aAAgB,GAAA,WAAA;AAAA,EAChB,IAAA;AAAA,EACA,SAAA;AAAA,EACA,QAAA;AAAA,EACA,OAAU,GAAA,SAAA;AAAA,EACV,MAAS,GAAA,OAAA;AAAA,EACN,GAAA,IAAA;AACL,CAAA,EACA,GACyB,EAAA;AACzB,EAAA,MAAM,eAAe,SAAU,EAAA,CAAA;AAC/B,EAAyB,wBAAA,CAAA;AAAA,IACvB,MAAQ,EAAA,WAAA;AAAA,IACR,GAAK,EAAAC,QAAA;AAAA,IACL,MAAQ,EAAA,YAAA;AAAA,GACT,CAAA,CAAA;AAED,EAAA,uBACG,IAAA,CAAA,IAAA,EAAA;AAAA,IACC,EAAG,EAAA,GAAA;AAAA,IACH,SAAW,EAAA,IAAA,CAAK,YAAa,EAAA,EAAG,SAAS,CAAA;AAAA,IACzC,IAAA;AAAA,IACA,GAAA;AAAA,IACA,MAAA;AAAA,IACA,OAAA;AAAA,IACC,GAAG,IAAA;AAAA,IAEH,QAAA,EAAA;AAAA,MAAA,QAAA;AAAA,MACA,WAAW,QACV,oBAAA,IAAA,CAAA,QAAA,EAAA;AAAA,QACG,QAAA,EAAA;AAAA,UAAA,aAAA,oBACE,GAAA,CAAA,aAAA,EAAA;AAAA,YAAc,SAAA,EAAW,aAAa,MAAM,CAAA;AAAA,YAAG,aAAW,EAAA,IAAA;AAAA,WAAC,CAAA;AAAA,0BAE7D,GAAA,CAAA,MAAA,EAAA;AAAA,YAAK,SAAA,EAAW,aAAa,iBAAiB,CAAA;AAAA,YAAG,QAAA,EAAA,UAAA;AAAA,WAAQ,CAAA;AAAA,SAAA;AAAA,OAC5D,CAAA;AAAA,KAAA;AAAA,GAEJ,CAAA,CAAA;AAEJ,CAAC;;;;"}
1
+ {"version":3,"file":"Link.js","sources":["../src/link/Link.tsx"],"sourcesContent":["import { ComponentType, forwardRef, ReactElement } from \"react\";\nimport { clsx } from \"clsx\";\nimport { IconProps, TearOutIcon } from \"@salt-ds/icons\";\nimport { makePrefixer } from \"../utils\";\nimport { Text, TextProps } from \"../text\";\n\nimport linkCss from \"./Link.css\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\n\nconst withBaseName = makePrefixer(\"saltLink\");\n\n/**\n * Links are a fundamental navigation element. When clicked, they take the user to an entirely different page.\n *\n * @example\n * <LinkExample to=\"#link\">Action</LinkExample>\n */\nexport interface LinkProps extends Omit<TextProps<\"a\">, \"as\" | \"disabled\"> {\n IconComponent?: ComponentType<IconProps> | null;\n}\n\nexport const Link = forwardRef<HTMLAnchorElement, LinkProps>(function Link(\n {\n IconComponent = TearOutIcon,\n href,\n className,\n children,\n variant = \"primary\",\n target = \"_self\",\n ...rest\n },\n ref\n): ReactElement<LinkProps> {\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-link\",\n css: linkCss,\n window: targetWindow,\n });\n\n return (\n <Text\n as=\"a\"\n className={clsx(withBaseName(), className)}\n href={href}\n ref={ref}\n target={target}\n variant={variant}\n {...rest}\n >\n {children}\n {target === \"_blank\" && (\n <>\n {IconComponent && (\n <IconComponent className={withBaseName(\"icon\")} aria-hidden />\n )}\n <span className={withBaseName(\"externalLinkADA\")}>External</span>\n </>\n )}\n </Text>\n );\n});\n"],"names":["Link","linkCss"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAUA,MAAM,YAAA,GAAe,aAAa,UAAU,CAAA,CAAA;AAY/B,MAAA,IAAA,GAAO,UAAyC,CAAA,SAASA,KACpE,CAAA;AAAA,EACE,aAAgB,GAAA,WAAA;AAAA,EAChB,IAAA;AAAA,EACA,SAAA;AAAA,EACA,QAAA;AAAA,EACA,OAAU,GAAA,SAAA;AAAA,EACV,MAAS,GAAA,OAAA;AAAA,EACN,GAAA,IAAA;AACL,CAAA,EACA,GACyB,EAAA;AACzB,EAAA,MAAM,eAAe,SAAU,EAAA,CAAA;AAC/B,EAAyB,wBAAA,CAAA;AAAA,IACvB,MAAQ,EAAA,WAAA;AAAA,IACR,GAAK,EAAAC,QAAA;AAAA,IACL,MAAQ,EAAA,YAAA;AAAA,GACT,CAAA,CAAA;AAED,EAAA,uBACG,IAAA,CAAA,IAAA,EAAA;AAAA,IACC,EAAG,EAAA,GAAA;AAAA,IACH,SAAW,EAAA,IAAA,CAAK,YAAa,EAAA,EAAG,SAAS,CAAA;AAAA,IACzC,IAAA;AAAA,IACA,GAAA;AAAA,IACA,MAAA;AAAA,IACA,OAAA;AAAA,IACC,GAAG,IAAA;AAAA,IAEH,QAAA,EAAA;AAAA,MAAA,QAAA;AAAA,MACA,WAAW,QACV,oBAAA,IAAA,CAAA,QAAA,EAAA;AAAA,QACG,QAAA,EAAA;AAAA,UAAA,aAAA,oBACE,GAAA,CAAA,aAAA,EAAA;AAAA,YAAc,SAAA,EAAW,aAAa,MAAM,CAAA;AAAA,YAAG,aAAW,EAAA,IAAA;AAAA,WAAC,CAAA;AAAA,0BAE7D,GAAA,CAAA,MAAA,EAAA;AAAA,YAAK,SAAA,EAAW,aAAa,iBAAiB,CAAA;AAAA,YAAG,QAAA,EAAA,UAAA;AAAA,WAAQ,CAAA;AAAA,SAAA;AAAA,OAC5D,CAAA;AAAA,KAAA;AAAA,GAEJ,CAAA,CAAA;AAEJ,CAAC;;;;"}