@salt-ds/core 1.22.0 → 1.24.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 (461) hide show
  1. package/css/salt-core.css +201 -96
  2. package/dist-cjs/accordion/Accordion.js +9 -2
  3. package/dist-cjs/accordion/Accordion.js.map +1 -1
  4. package/dist-cjs/accordion/AccordionContext.js +9 -2
  5. package/dist-cjs/accordion/AccordionContext.js.map +1 -1
  6. package/dist-cjs/accordion/AccordionGroup.js +9 -2
  7. package/dist-cjs/accordion/AccordionGroup.js.map +1 -1
  8. package/dist-cjs/accordion/AccordionHeader.js +10 -2
  9. package/dist-cjs/accordion/AccordionHeader.js.map +1 -1
  10. package/dist-cjs/accordion/AccordionPanel.js +9 -2
  11. package/dist-cjs/accordion/AccordionPanel.js.map +1 -1
  12. package/dist-cjs/aria-announcer/useAriaAnnouncer.js +9 -2
  13. package/dist-cjs/aria-announcer/useAriaAnnouncer.js.map +1 -1
  14. package/dist-cjs/avatar/Avatar.js +9 -2
  15. package/dist-cjs/avatar/Avatar.js.map +1 -1
  16. package/dist-cjs/avatar/useAvatarImage.js +9 -2
  17. package/dist-cjs/avatar/useAvatarImage.js.map +1 -1
  18. package/dist-cjs/badge/Badge.js +9 -2
  19. package/dist-cjs/badge/Badge.js.map +1 -1
  20. package/dist-cjs/banner/Banner.js +9 -2
  21. package/dist-cjs/banner/Banner.js.map +1 -1
  22. package/dist-cjs/banner/BannerActions.js +9 -2
  23. package/dist-cjs/banner/BannerActions.js.map +1 -1
  24. package/dist-cjs/banner/BannerContent.js +9 -2
  25. package/dist-cjs/banner/BannerContent.js.map +1 -1
  26. package/dist-cjs/border-item/BorderItem.js +9 -2
  27. package/dist-cjs/border-item/BorderItem.js.map +1 -1
  28. package/dist-cjs/border-layout/BorderLayout.js +9 -2
  29. package/dist-cjs/border-layout/BorderLayout.js.map +1 -1
  30. package/dist-cjs/button/Button.js +9 -2
  31. package/dist-cjs/button/Button.js.map +1 -1
  32. package/dist-cjs/card/Card.css.js +1 -1
  33. package/dist-cjs/card/Card.js +9 -2
  34. package/dist-cjs/card/Card.js.map +1 -1
  35. package/dist-cjs/checkbox/Checkbox.js +10 -3
  36. package/dist-cjs/checkbox/Checkbox.js.map +1 -1
  37. package/dist-cjs/checkbox/CheckboxGroup.js +9 -2
  38. package/dist-cjs/checkbox/CheckboxGroup.js.map +1 -1
  39. package/dist-cjs/checkbox/CheckboxIcon.js +9 -2
  40. package/dist-cjs/checkbox/CheckboxIcon.js.map +1 -1
  41. package/dist-cjs/checkbox/internal/CheckboxGroupContext.js +9 -2
  42. package/dist-cjs/checkbox/internal/CheckboxGroupContext.js.map +1 -1
  43. package/dist-cjs/combo-box/ComboBox.js +8 -1
  44. package/dist-cjs/combo-box/ComboBox.js.map +1 -1
  45. package/dist-cjs/combo-box/useComboBox.js +9 -2
  46. package/dist-cjs/combo-box/useComboBox.js.map +1 -1
  47. package/dist-cjs/dialog/Dialog.js +10 -3
  48. package/dist-cjs/dialog/Dialog.js.map +1 -1
  49. package/dist-cjs/dialog/DialogActions.js +9 -2
  50. package/dist-cjs/dialog/DialogActions.js.map +1 -1
  51. package/dist-cjs/dialog/DialogCloseButton.js +12 -3
  52. package/dist-cjs/dialog/DialogCloseButton.js.map +1 -1
  53. package/dist-cjs/dialog/DialogContent.js +9 -2
  54. package/dist-cjs/dialog/DialogContent.js.map +1 -1
  55. package/dist-cjs/dialog/DialogHeader.js +9 -2
  56. package/dist-cjs/dialog/DialogHeader.js.map +1 -1
  57. package/dist-cjs/drawer/Drawer.js +8 -1
  58. package/dist-cjs/drawer/Drawer.js.map +1 -1
  59. package/dist-cjs/drawer/DrawerCloseButton.js +9 -2
  60. package/dist-cjs/drawer/DrawerCloseButton.js.map +1 -1
  61. package/dist-cjs/dropdown/Dropdown.js +9 -2
  62. package/dist-cjs/dropdown/Dropdown.js.map +1 -1
  63. package/dist-cjs/file-drop-zone/FileDropZone.js +9 -2
  64. package/dist-cjs/file-drop-zone/FileDropZone.js.map +1 -1
  65. package/dist-cjs/file-drop-zone/FileDropZoneTrigger.js +9 -2
  66. package/dist-cjs/file-drop-zone/FileDropZoneTrigger.js.map +1 -1
  67. package/dist-cjs/flex-item/FlexItem.js +9 -2
  68. package/dist-cjs/flex-item/FlexItem.js.map +1 -1
  69. package/dist-cjs/flex-layout/FlexLayout.js +9 -2
  70. package/dist-cjs/flex-layout/FlexLayout.js.map +1 -1
  71. package/dist-cjs/form-field/FormField.js +9 -2
  72. package/dist-cjs/form-field/FormField.js.map +1 -1
  73. package/dist-cjs/form-field/FormFieldHelperText.js +9 -2
  74. package/dist-cjs/form-field/FormFieldHelperText.js.map +1 -1
  75. package/dist-cjs/form-field/FormFieldLabel.js +9 -2
  76. package/dist-cjs/form-field/FormFieldLabel.js.map +1 -1
  77. package/dist-cjs/form-field-context/FormFieldContext.js +9 -2
  78. package/dist-cjs/form-field-context/FormFieldContext.js.map +1 -1
  79. package/dist-cjs/grid-item/GridItem.js +9 -2
  80. package/dist-cjs/grid-item/GridItem.js.map +1 -1
  81. package/dist-cjs/grid-layout/GridLayout.js +9 -2
  82. package/dist-cjs/grid-layout/GridLayout.js.map +1 -1
  83. package/dist-cjs/index.js +19 -2
  84. package/dist-cjs/index.js.map +1 -1
  85. package/dist-cjs/input/Input.js +9 -2
  86. package/dist-cjs/input/Input.js.map +1 -1
  87. package/dist-cjs/interactable-card/InteractableCard.css.js +6 -0
  88. package/dist-cjs/interactable-card/InteractableCard.js +201 -0
  89. package/dist-cjs/interactable-card/InteractableCard.js.map +1 -0
  90. package/dist-cjs/interactable-card/InteractableCardGroup.css.js +6 -0
  91. package/dist-cjs/interactable-card/InteractableCardGroup.css.js.map +1 -0
  92. package/dist-cjs/interactable-card/InteractableCardGroup.js +232 -0
  93. package/dist-cjs/interactable-card/InteractableCardGroup.js.map +1 -0
  94. package/dist-cjs/interactable-card/InteractableCardGroupContext.js +107 -0
  95. package/dist-cjs/interactable-card/InteractableCardGroupContext.js.map +1 -0
  96. package/dist-cjs/{card → interactable-card}/useInteractableCard.js +5 -2
  97. package/dist-cjs/interactable-card/useInteractableCard.js.map +1 -0
  98. package/dist-cjs/link/Link.js +9 -2
  99. package/dist-cjs/link/Link.js.map +1 -1
  100. package/dist-cjs/link-card/LinkCard.css.js +1 -1
  101. package/dist-cjs/link-card/LinkCard.js +9 -2
  102. package/dist-cjs/link-card/LinkCard.js.map +1 -1
  103. package/dist-cjs/list-control/ListControlContext.js +9 -2
  104. package/dist-cjs/list-control/ListControlContext.js.map +1 -1
  105. package/dist-cjs/list-control/ListControlState.js +9 -2
  106. package/dist-cjs/list-control/ListControlState.js.map +1 -1
  107. package/dist-cjs/multiline-input/MultilineInput.js +9 -2
  108. package/dist-cjs/multiline-input/MultilineInput.js.map +1 -1
  109. package/dist-cjs/navigation-item/NavigationItem.js +9 -2
  110. package/dist-cjs/navigation-item/NavigationItem.js.map +1 -1
  111. package/dist-cjs/option/Option.js +9 -2
  112. package/dist-cjs/option/Option.js.map +1 -1
  113. package/dist-cjs/option/OptionGroup.js +9 -2
  114. package/dist-cjs/option/OptionGroup.js.map +1 -1
  115. package/dist-cjs/option/OptionList.js +9 -2
  116. package/dist-cjs/option/OptionList.js.map +1 -1
  117. package/dist-cjs/option/OptionListBase.js +9 -2
  118. package/dist-cjs/option/OptionListBase.js.map +1 -1
  119. package/dist-cjs/overlay/Overlay.js +164 -0
  120. package/dist-cjs/overlay/Overlay.js.map +1 -0
  121. package/dist-cjs/overlay/OverlayContext.js +127 -0
  122. package/dist-cjs/overlay/OverlayContext.js.map +1 -0
  123. package/dist-cjs/overlay/OverlayPanel.css.js +6 -0
  124. package/dist-cjs/overlay/OverlayPanel.css.js.map +1 -0
  125. package/dist-cjs/overlay/OverlayPanel.js +166 -0
  126. package/dist-cjs/overlay/OverlayPanel.js.map +1 -0
  127. package/dist-cjs/overlay/OverlayPanelCloseButton.css.js +6 -0
  128. package/dist-cjs/overlay/OverlayPanelCloseButton.css.js.map +1 -0
  129. package/dist-cjs/overlay/OverlayPanelCloseButton.js +129 -0
  130. package/dist-cjs/overlay/OverlayPanelCloseButton.js.map +1 -0
  131. package/dist-cjs/overlay/OverlayPanelContent.css.js +6 -0
  132. package/dist-cjs/overlay/OverlayPanelContent.css.js.map +1 -0
  133. package/dist-cjs/{card/InteractableCard.js → overlay/OverlayPanelContent.js} +24 -44
  134. package/dist-cjs/overlay/OverlayPanelContent.js.map +1 -0
  135. package/dist-cjs/overlay/OverlayTrigger.js +123 -0
  136. package/dist-cjs/overlay/OverlayTrigger.js.map +1 -0
  137. package/dist-cjs/pagination/CompactInput.js +9 -2
  138. package/dist-cjs/pagination/CompactInput.js.map +1 -1
  139. package/dist-cjs/pagination/CompactPaginator.js +9 -2
  140. package/dist-cjs/pagination/CompactPaginator.js.map +1 -1
  141. package/dist-cjs/pagination/GoToInput.js +9 -2
  142. package/dist-cjs/pagination/GoToInput.js.map +1 -1
  143. package/dist-cjs/pagination/PageButton.js +9 -2
  144. package/dist-cjs/pagination/PageButton.js.map +1 -1
  145. package/dist-cjs/pagination/PageRanges.js +9 -2
  146. package/dist-cjs/pagination/PageRanges.js.map +1 -1
  147. package/dist-cjs/pagination/Pagination.js +9 -2
  148. package/dist-cjs/pagination/Pagination.js.map +1 -1
  149. package/dist-cjs/pagination/Paginator.js +9 -2
  150. package/dist-cjs/pagination/Paginator.js.map +1 -1
  151. package/dist-cjs/panel/Panel.js +9 -2
  152. package/dist-cjs/panel/Panel.js.map +1 -1
  153. package/dist-cjs/pill/Pill.js +10 -2
  154. package/dist-cjs/pill/Pill.js.map +1 -1
  155. package/dist-cjs/pill-input/PillInput.js +9 -2
  156. package/dist-cjs/pill-input/PillInput.js.map +1 -1
  157. package/dist-cjs/progress/CircularProgress/CircularProgress.js +9 -2
  158. package/dist-cjs/progress/CircularProgress/CircularProgress.js.map +1 -1
  159. package/dist-cjs/progress/LinearProgress/LinearProgress.js +11 -4
  160. package/dist-cjs/progress/LinearProgress/LinearProgress.js.map +1 -1
  161. package/dist-cjs/radio-button/RadioButton.js +10 -3
  162. package/dist-cjs/radio-button/RadioButton.js.map +1 -1
  163. package/dist-cjs/radio-button/RadioButtonGroup.js +9 -2
  164. package/dist-cjs/radio-button/RadioButtonGroup.js.map +1 -1
  165. package/dist-cjs/radio-button/RadioButtonIcon.js +9 -2
  166. package/dist-cjs/radio-button/RadioButtonIcon.js.map +1 -1
  167. package/dist-cjs/radio-button/internal/RadioGroupContext.js +9 -2
  168. package/dist-cjs/radio-button/internal/RadioGroupContext.js.map +1 -1
  169. package/dist-cjs/salt-provider/SaltProvider.js +9 -2
  170. package/dist-cjs/salt-provider/SaltProvider.js.map +1 -1
  171. package/dist-cjs/scrim/Scrim.js +9 -2
  172. package/dist-cjs/scrim/Scrim.js.map +1 -1
  173. package/dist-cjs/segmented-button-group/SegmentedButtonGroup.css.js +6 -0
  174. package/dist-cjs/segmented-button-group/SegmentedButtonGroup.css.js.map +1 -0
  175. package/dist-cjs/segmented-button-group/SegmentedButtonGroup.js +118 -0
  176. package/dist-cjs/segmented-button-group/SegmentedButtonGroup.js.map +1 -0
  177. package/dist-cjs/spinner/Spinner.js +9 -2
  178. package/dist-cjs/spinner/Spinner.js.map +1 -1
  179. package/dist-cjs/spinner/svgSpinners/SpinnerSVG.js +9 -2
  180. package/dist-cjs/spinner/svgSpinners/SpinnerSVG.js.map +1 -1
  181. package/dist-cjs/split-layout/SplitLayout.js +9 -2
  182. package/dist-cjs/split-layout/SplitLayout.js.map +1 -1
  183. package/dist-cjs/stack-layout/StackLayout.js +9 -2
  184. package/dist-cjs/stack-layout/StackLayout.js.map +1 -1
  185. package/dist-cjs/status-adornment/StatusAdornment.js +9 -2
  186. package/dist-cjs/status-adornment/StatusAdornment.js.map +1 -1
  187. package/dist-cjs/status-indicator/StatusIndicator.js +9 -2
  188. package/dist-cjs/status-indicator/StatusIndicator.js.map +1 -1
  189. package/dist-cjs/switch/Switch.js +10 -2
  190. package/dist-cjs/switch/Switch.js.map +1 -1
  191. package/dist-cjs/text/Text.js +9 -2
  192. package/dist-cjs/text/Text.js.map +1 -1
  193. package/dist-cjs/toast/Toast.js +9 -2
  194. package/dist-cjs/toast/Toast.js.map +1 -1
  195. package/dist-cjs/toast/ToastContent.js +9 -2
  196. package/dist-cjs/toast/ToastContent.js.map +1 -1
  197. package/dist-cjs/toggle-button/ToggleButton.js +10 -2
  198. package/dist-cjs/toggle-button/ToggleButton.js.map +1 -1
  199. package/dist-cjs/toggle-button-group/ToggleButtonGroup.js +9 -2
  200. package/dist-cjs/toggle-button-group/ToggleButtonGroup.js.map +1 -1
  201. package/dist-cjs/toggle-button-group/ToggleButtonGroupContext.js +9 -2
  202. package/dist-cjs/toggle-button-group/ToggleButtonGroupContext.js.map +1 -1
  203. package/dist-cjs/tooltip/Tooltip.css.js +1 -1
  204. package/dist-cjs/tooltip/Tooltip.js +15 -3
  205. package/dist-cjs/tooltip/Tooltip.js.map +1 -1
  206. package/dist-cjs/tooltip/TooltipBase.js +9 -2
  207. package/dist-cjs/tooltip/TooltipBase.js.map +1 -1
  208. package/dist-cjs/tooltip/useAriaAnnounce.js +9 -2
  209. package/dist-cjs/tooltip/useAriaAnnounce.js.map +1 -1
  210. package/dist-cjs/tooltip/useTooltip.js +8 -1
  211. package/dist-cjs/tooltip/useTooltip.js.map +1 -1
  212. package/dist-cjs/utils/useFloatingUI/useFloatingUI.js +3 -5
  213. package/dist-cjs/utils/useFloatingUI/useFloatingUI.js.map +1 -1
  214. package/dist-cjs/utils/useValueEffect.js +9 -2
  215. package/dist-cjs/utils/useValueEffect.js.map +1 -1
  216. package/dist-cjs/viewport/ViewportProvider.js +9 -2
  217. package/dist-cjs/viewport/ViewportProvider.js.map +1 -1
  218. package/dist-es/accordion/Accordion.js +9 -2
  219. package/dist-es/accordion/Accordion.js.map +1 -1
  220. package/dist-es/accordion/AccordionContext.js +9 -2
  221. package/dist-es/accordion/AccordionContext.js.map +1 -1
  222. package/dist-es/accordion/AccordionGroup.js +9 -2
  223. package/dist-es/accordion/AccordionGroup.js.map +1 -1
  224. package/dist-es/accordion/AccordionHeader.js +10 -2
  225. package/dist-es/accordion/AccordionHeader.js.map +1 -1
  226. package/dist-es/accordion/AccordionPanel.js +9 -2
  227. package/dist-es/accordion/AccordionPanel.js.map +1 -1
  228. package/dist-es/aria-announcer/useAriaAnnouncer.js +9 -2
  229. package/dist-es/aria-announcer/useAriaAnnouncer.js.map +1 -1
  230. package/dist-es/avatar/Avatar.js +9 -2
  231. package/dist-es/avatar/Avatar.js.map +1 -1
  232. package/dist-es/avatar/useAvatarImage.js +9 -2
  233. package/dist-es/avatar/useAvatarImage.js.map +1 -1
  234. package/dist-es/badge/Badge.js +9 -2
  235. package/dist-es/badge/Badge.js.map +1 -1
  236. package/dist-es/banner/Banner.js +9 -2
  237. package/dist-es/banner/Banner.js.map +1 -1
  238. package/dist-es/banner/BannerActions.js +9 -2
  239. package/dist-es/banner/BannerActions.js.map +1 -1
  240. package/dist-es/banner/BannerContent.js +9 -2
  241. package/dist-es/banner/BannerContent.js.map +1 -1
  242. package/dist-es/border-item/BorderItem.js +9 -2
  243. package/dist-es/border-item/BorderItem.js.map +1 -1
  244. package/dist-es/border-layout/BorderLayout.js +9 -2
  245. package/dist-es/border-layout/BorderLayout.js.map +1 -1
  246. package/dist-es/button/Button.js +9 -2
  247. package/dist-es/button/Button.js.map +1 -1
  248. package/dist-es/card/Card.css.js +1 -1
  249. package/dist-es/card/Card.js +9 -2
  250. package/dist-es/card/Card.js.map +1 -1
  251. package/dist-es/checkbox/Checkbox.js +10 -3
  252. package/dist-es/checkbox/Checkbox.js.map +1 -1
  253. package/dist-es/checkbox/CheckboxGroup.js +9 -2
  254. package/dist-es/checkbox/CheckboxGroup.js.map +1 -1
  255. package/dist-es/checkbox/CheckboxIcon.js +9 -2
  256. package/dist-es/checkbox/CheckboxIcon.js.map +1 -1
  257. package/dist-es/checkbox/internal/CheckboxGroupContext.js +9 -2
  258. package/dist-es/checkbox/internal/CheckboxGroupContext.js.map +1 -1
  259. package/dist-es/combo-box/ComboBox.js +8 -1
  260. package/dist-es/combo-box/ComboBox.js.map +1 -1
  261. package/dist-es/combo-box/useComboBox.js +9 -2
  262. package/dist-es/combo-box/useComboBox.js.map +1 -1
  263. package/dist-es/dialog/Dialog.js +10 -3
  264. package/dist-es/dialog/Dialog.js.map +1 -1
  265. package/dist-es/dialog/DialogActions.js +9 -2
  266. package/dist-es/dialog/DialogActions.js.map +1 -1
  267. package/dist-es/dialog/DialogCloseButton.js +12 -3
  268. package/dist-es/dialog/DialogCloseButton.js.map +1 -1
  269. package/dist-es/dialog/DialogContent.js +9 -2
  270. package/dist-es/dialog/DialogContent.js.map +1 -1
  271. package/dist-es/dialog/DialogHeader.js +9 -2
  272. package/dist-es/dialog/DialogHeader.js.map +1 -1
  273. package/dist-es/drawer/Drawer.js +8 -1
  274. package/dist-es/drawer/Drawer.js.map +1 -1
  275. package/dist-es/drawer/DrawerCloseButton.js +9 -2
  276. package/dist-es/drawer/DrawerCloseButton.js.map +1 -1
  277. package/dist-es/dropdown/Dropdown.js +9 -2
  278. package/dist-es/dropdown/Dropdown.js.map +1 -1
  279. package/dist-es/file-drop-zone/FileDropZone.js +9 -2
  280. package/dist-es/file-drop-zone/FileDropZone.js.map +1 -1
  281. package/dist-es/file-drop-zone/FileDropZoneTrigger.js +9 -2
  282. package/dist-es/file-drop-zone/FileDropZoneTrigger.js.map +1 -1
  283. package/dist-es/flex-item/FlexItem.js +9 -2
  284. package/dist-es/flex-item/FlexItem.js.map +1 -1
  285. package/dist-es/flex-layout/FlexLayout.js +9 -2
  286. package/dist-es/flex-layout/FlexLayout.js.map +1 -1
  287. package/dist-es/form-field/FormField.js +9 -2
  288. package/dist-es/form-field/FormField.js.map +1 -1
  289. package/dist-es/form-field/FormFieldHelperText.js +9 -2
  290. package/dist-es/form-field/FormFieldHelperText.js.map +1 -1
  291. package/dist-es/form-field/FormFieldLabel.js +9 -2
  292. package/dist-es/form-field/FormFieldLabel.js.map +1 -1
  293. package/dist-es/form-field-context/FormFieldContext.js +9 -2
  294. package/dist-es/form-field-context/FormFieldContext.js.map +1 -1
  295. package/dist-es/grid-item/GridItem.js +9 -2
  296. package/dist-es/grid-item/GridItem.js.map +1 -1
  297. package/dist-es/grid-layout/GridLayout.js +9 -2
  298. package/dist-es/grid-layout/GridLayout.js.map +1 -1
  299. package/dist-es/index.js +9 -1
  300. package/dist-es/index.js.map +1 -1
  301. package/dist-es/input/Input.js +9 -2
  302. package/dist-es/input/Input.js.map +1 -1
  303. package/dist-es/interactable-card/InteractableCard.css.js +4 -0
  304. package/dist-es/interactable-card/InteractableCard.js +197 -0
  305. package/dist-es/interactable-card/InteractableCard.js.map +1 -0
  306. package/dist-es/interactable-card/InteractableCardGroup.css.js +4 -0
  307. package/dist-es/interactable-card/InteractableCardGroup.css.js.map +1 -0
  308. package/dist-es/interactable-card/InteractableCardGroup.js +228 -0
  309. package/dist-es/interactable-card/InteractableCardGroup.js.map +1 -0
  310. package/dist-es/interactable-card/InteractableCardGroupContext.js +102 -0
  311. package/dist-es/interactable-card/InteractableCardGroupContext.js.map +1 -0
  312. package/dist-es/{card → interactable-card}/useInteractableCard.js +5 -2
  313. package/dist-es/interactable-card/useInteractableCard.js.map +1 -0
  314. package/dist-es/link/Link.js +9 -2
  315. package/dist-es/link/Link.js.map +1 -1
  316. package/dist-es/link-card/LinkCard.css.js +1 -1
  317. package/dist-es/link-card/LinkCard.js +9 -2
  318. package/dist-es/link-card/LinkCard.js.map +1 -1
  319. package/dist-es/list-control/ListControlContext.js +9 -2
  320. package/dist-es/list-control/ListControlContext.js.map +1 -1
  321. package/dist-es/list-control/ListControlState.js +9 -2
  322. package/dist-es/list-control/ListControlState.js.map +1 -1
  323. package/dist-es/multiline-input/MultilineInput.js +9 -2
  324. package/dist-es/multiline-input/MultilineInput.js.map +1 -1
  325. package/dist-es/navigation-item/NavigationItem.js +9 -2
  326. package/dist-es/navigation-item/NavigationItem.js.map +1 -1
  327. package/dist-es/option/Option.js +9 -2
  328. package/dist-es/option/Option.js.map +1 -1
  329. package/dist-es/option/OptionGroup.js +9 -2
  330. package/dist-es/option/OptionGroup.js.map +1 -1
  331. package/dist-es/option/OptionList.js +9 -2
  332. package/dist-es/option/OptionList.js.map +1 -1
  333. package/dist-es/option/OptionListBase.js +9 -2
  334. package/dist-es/option/OptionListBase.js.map +1 -1
  335. package/dist-es/overlay/Overlay.js +160 -0
  336. package/dist-es/overlay/Overlay.js.map +1 -0
  337. package/dist-es/overlay/OverlayContext.js +122 -0
  338. package/dist-es/overlay/OverlayContext.js.map +1 -0
  339. package/dist-es/overlay/OverlayPanel.css.js +4 -0
  340. package/dist-es/overlay/OverlayPanel.css.js.map +1 -0
  341. package/dist-es/overlay/OverlayPanel.js +162 -0
  342. package/dist-es/overlay/OverlayPanel.js.map +1 -0
  343. package/dist-es/overlay/OverlayPanelCloseButton.css.js +4 -0
  344. package/dist-es/overlay/OverlayPanelCloseButton.css.js.map +1 -0
  345. package/dist-es/overlay/OverlayPanelCloseButton.js +121 -0
  346. package/dist-es/overlay/OverlayPanelCloseButton.js.map +1 -0
  347. package/dist-es/overlay/OverlayPanelContent.css.js +4 -0
  348. package/dist-es/overlay/OverlayPanelContent.css.js.map +1 -0
  349. package/dist-es/overlay/OverlayPanelContent.js +115 -0
  350. package/dist-es/overlay/OverlayPanelContent.js.map +1 -0
  351. package/dist-es/overlay/OverlayTrigger.js +119 -0
  352. package/dist-es/overlay/OverlayTrigger.js.map +1 -0
  353. package/dist-es/pagination/CompactInput.js +9 -2
  354. package/dist-es/pagination/CompactInput.js.map +1 -1
  355. package/dist-es/pagination/CompactPaginator.js +9 -2
  356. package/dist-es/pagination/CompactPaginator.js.map +1 -1
  357. package/dist-es/pagination/GoToInput.js +9 -2
  358. package/dist-es/pagination/GoToInput.js.map +1 -1
  359. package/dist-es/pagination/PageButton.js +9 -2
  360. package/dist-es/pagination/PageButton.js.map +1 -1
  361. package/dist-es/pagination/PageRanges.js +9 -2
  362. package/dist-es/pagination/PageRanges.js.map +1 -1
  363. package/dist-es/pagination/Pagination.js +9 -2
  364. package/dist-es/pagination/Pagination.js.map +1 -1
  365. package/dist-es/pagination/Paginator.js +9 -2
  366. package/dist-es/pagination/Paginator.js.map +1 -1
  367. package/dist-es/panel/Panel.js +9 -2
  368. package/dist-es/panel/Panel.js.map +1 -1
  369. package/dist-es/pill/Pill.js +10 -2
  370. package/dist-es/pill/Pill.js.map +1 -1
  371. package/dist-es/pill-input/PillInput.js +9 -2
  372. package/dist-es/pill-input/PillInput.js.map +1 -1
  373. package/dist-es/progress/CircularProgress/CircularProgress.js +9 -2
  374. package/dist-es/progress/CircularProgress/CircularProgress.js.map +1 -1
  375. package/dist-es/progress/LinearProgress/LinearProgress.js +11 -4
  376. package/dist-es/progress/LinearProgress/LinearProgress.js.map +1 -1
  377. package/dist-es/radio-button/RadioButton.js +10 -3
  378. package/dist-es/radio-button/RadioButton.js.map +1 -1
  379. package/dist-es/radio-button/RadioButtonGroup.js +9 -2
  380. package/dist-es/radio-button/RadioButtonGroup.js.map +1 -1
  381. package/dist-es/radio-button/RadioButtonIcon.js +9 -2
  382. package/dist-es/radio-button/RadioButtonIcon.js.map +1 -1
  383. package/dist-es/radio-button/internal/RadioGroupContext.js +9 -2
  384. package/dist-es/radio-button/internal/RadioGroupContext.js.map +1 -1
  385. package/dist-es/salt-provider/SaltProvider.js +9 -2
  386. package/dist-es/salt-provider/SaltProvider.js.map +1 -1
  387. package/dist-es/scrim/Scrim.js +9 -2
  388. package/dist-es/scrim/Scrim.js.map +1 -1
  389. package/dist-es/segmented-button-group/SegmentedButtonGroup.css.js +4 -0
  390. package/dist-es/segmented-button-group/SegmentedButtonGroup.css.js.map +1 -0
  391. package/dist-es/{card/InteractableCard.js → segmented-button-group/SegmentedButtonGroup.js} +20 -45
  392. package/dist-es/segmented-button-group/SegmentedButtonGroup.js.map +1 -0
  393. package/dist-es/spinner/Spinner.js +9 -2
  394. package/dist-es/spinner/Spinner.js.map +1 -1
  395. package/dist-es/spinner/svgSpinners/SpinnerSVG.js +9 -2
  396. package/dist-es/spinner/svgSpinners/SpinnerSVG.js.map +1 -1
  397. package/dist-es/split-layout/SplitLayout.js +9 -2
  398. package/dist-es/split-layout/SplitLayout.js.map +1 -1
  399. package/dist-es/stack-layout/StackLayout.js +9 -2
  400. package/dist-es/stack-layout/StackLayout.js.map +1 -1
  401. package/dist-es/status-adornment/StatusAdornment.js +9 -2
  402. package/dist-es/status-adornment/StatusAdornment.js.map +1 -1
  403. package/dist-es/status-indicator/StatusIndicator.js +9 -2
  404. package/dist-es/status-indicator/StatusIndicator.js.map +1 -1
  405. package/dist-es/switch/Switch.js +10 -2
  406. package/dist-es/switch/Switch.js.map +1 -1
  407. package/dist-es/text/Text.js +9 -2
  408. package/dist-es/text/Text.js.map +1 -1
  409. package/dist-es/toast/Toast.js +9 -2
  410. package/dist-es/toast/Toast.js.map +1 -1
  411. package/dist-es/toast/ToastContent.js +9 -2
  412. package/dist-es/toast/ToastContent.js.map +1 -1
  413. package/dist-es/toggle-button/ToggleButton.js +10 -2
  414. package/dist-es/toggle-button/ToggleButton.js.map +1 -1
  415. package/dist-es/toggle-button-group/ToggleButtonGroup.js +9 -2
  416. package/dist-es/toggle-button-group/ToggleButtonGroup.js.map +1 -1
  417. package/dist-es/toggle-button-group/ToggleButtonGroupContext.js +9 -2
  418. package/dist-es/toggle-button-group/ToggleButtonGroupContext.js.map +1 -1
  419. package/dist-es/tooltip/Tooltip.css.js +1 -1
  420. package/dist-es/tooltip/Tooltip.js +15 -3
  421. package/dist-es/tooltip/Tooltip.js.map +1 -1
  422. package/dist-es/tooltip/TooltipBase.js +9 -2
  423. package/dist-es/tooltip/TooltipBase.js.map +1 -1
  424. package/dist-es/tooltip/useAriaAnnounce.js +9 -2
  425. package/dist-es/tooltip/useAriaAnnounce.js.map +1 -1
  426. package/dist-es/tooltip/useTooltip.js +8 -1
  427. package/dist-es/tooltip/useTooltip.js.map +1 -1
  428. package/dist-es/utils/useFloatingUI/useFloatingUI.js +3 -5
  429. package/dist-es/utils/useFloatingUI/useFloatingUI.js.map +1 -1
  430. package/dist-es/utils/useValueEffect.js +9 -2
  431. package/dist-es/utils/useValueEffect.js.map +1 -1
  432. package/dist-es/viewport/ViewportProvider.js +9 -2
  433. package/dist-es/viewport/ViewportProvider.js.map +1 -1
  434. package/dist-types/card/index.d.ts +0 -1
  435. package/dist-types/index.d.ts +3 -0
  436. package/dist-types/{card → interactable-card}/InteractableCard.d.ts +15 -1
  437. package/dist-types/interactable-card/InteractableCardGroup.d.ts +27 -0
  438. package/dist-types/interactable-card/InteractableCardGroupContext.d.ts +12 -0
  439. package/dist-types/interactable-card/index.d.ts +3 -0
  440. package/dist-types/overlay/Overlay.d.ts +13 -0
  441. package/dist-types/overlay/OverlayContext.d.ts +21 -0
  442. package/dist-types/overlay/OverlayPanel.d.ts +8 -0
  443. package/dist-types/overlay/OverlayPanelCloseButton.d.ts +2 -0
  444. package/dist-types/overlay/OverlayPanelContent.d.ts +8 -0
  445. package/dist-types/overlay/OverlayTrigger.d.ts +5 -0
  446. package/dist-types/overlay/index.d.ts +5 -0
  447. package/dist-types/segmented-button-group/SegmentedButtonGroup.d.ts +4 -0
  448. package/dist-types/segmented-button-group/index.d.ts +1 -0
  449. package/dist-types/tooltip/Tooltip.d.ts +2 -1
  450. package/dist-types/tooltip/TooltipBase.d.ts +2 -2
  451. package/dist-types/utils/useFloatingUI/useFloatingUI.d.ts +1 -1
  452. package/package.json +2 -2
  453. package/dist-cjs/card/InteractableCard.css.js +0 -6
  454. package/dist-cjs/card/InteractableCard.js.map +0 -1
  455. package/dist-cjs/card/useInteractableCard.js.map +0 -1
  456. package/dist-es/card/InteractableCard.css.js +0 -4
  457. package/dist-es/card/InteractableCard.js.map +0 -1
  458. package/dist-es/card/useInteractableCard.js.map +0 -1
  459. /package/dist-cjs/{card → interactable-card}/InteractableCard.css.js.map +0 -0
  460. /package/dist-es/{card → interactable-card}/InteractableCard.css.js.map +0 -0
  461. /package/dist-types/{card → interactable-card}/useInteractableCard.d.ts +0 -0
@@ -20,7 +20,6 @@ import '../border-item/BorderItem.js';
20
20
  import '../border-layout/BorderLayout.js';
21
21
  import '../button/Button.js';
22
22
  import '../card/Card.js';
23
- import '../card/InteractableCard.js';
24
23
  import '../checkbox/Checkbox.js';
25
24
  import '../checkbox/CheckboxGroup.js';
26
25
  import { useComponentCssInjection } from '@salt-ds/styles';
@@ -55,12 +54,20 @@ import '../form-field-context/FormFieldContext.js';
55
54
  import '../grid-item/GridItem.js';
56
55
  import '../grid-layout/GridLayout.js';
57
56
  import '../input/Input.js';
57
+ import '../interactable-card/InteractableCard.js';
58
+ import '../interactable-card/InteractableCardGroup.js';
59
+ import '../interactable-card/InteractableCardGroupContext.js';
58
60
  import '../link/Link.js';
59
61
  import '../link-card/LinkCard.js';
60
62
  import '../list-control/ListControlContext.js';
61
63
  import '../multiline-input/MultilineInput.js';
62
64
  import '../option/Option.js';
63
65
  import '../option/OptionGroup.js';
66
+ import '../overlay/OverlayContext.js';
67
+ import '@floating-ui/react';
68
+ import '../overlay/OverlayPanel.js';
69
+ import '../overlay/OverlayPanelCloseButton.js';
70
+ import '../overlay/OverlayPanelContent.js';
64
71
  import '../pagination/Pagination.js';
65
72
  import '../pagination/Paginator.js';
66
73
  import '../pagination/CompactInput.js';
@@ -73,6 +80,7 @@ import '../progress/LinearProgress/LinearProgress.js';
73
80
  import '../radio-button/RadioButton.js';
74
81
  import '../radio-button/RadioButtonGroup.js';
75
82
  import '../scrim/Scrim.js';
83
+ import '../segmented-button-group/SegmentedButtonGroup.js';
76
84
  import '../spinner/Spinner.js';
77
85
  import '../stack-layout/StackLayout.js';
78
86
  import '../status-adornment/StatusAdornment.js';
@@ -84,7 +92,6 @@ import '../toggle-button/ToggleButton.js';
84
92
  import '../toggle-button-group/ToggleButtonGroup.js';
85
93
  import '../toggle-button-group/ToggleButtonGroupContext.js';
86
94
  import '../tooltip/Tooltip.js';
87
- import '@floating-ui/react';
88
95
  import { ExpansionIcon } from './ExpansionIcon.js';
89
96
  import { ConditionalWrapper } from './ConditionalWrapper.js';
90
97
  import css_248z from './NavigationItem.css.js';
@@ -1 +1 @@
1
- {"version":3,"file":"NavigationItem.js","sources":["../src/navigation-item/NavigationItem.tsx"],"sourcesContent":["import { ComponentPropsWithoutRef, forwardRef, MouseEventHandler } from \"react\";\nimport { makePrefixer } from \"../utils\";\nimport { clsx } from \"clsx\";\nimport { ExpansionIcon } from \"./ExpansionIcon\";\nimport { ConditionalWrapper } from \"./ConditionalWrapper\";\n\nimport { useWindow } from \"@salt-ds/window\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\n\nimport navigationItemCss from \"./NavigationItem.css\";\n\nexport interface NavigationItemProps extends ComponentPropsWithoutRef<\"div\"> {\n /**\n * Whether the navigation item is active.\n */\n active?: boolean;\n /**\n * Whether the nested group is collapsed and there is an active nested item within it.\n */\n blurActive?: boolean;\n /**\n * Whether the navigation item is expanded.\n */\n expanded?: boolean;\n /**\n * Level of nesting.\n */\n level?: number;\n /**\n * The orientation of the navigation item.\n */\n orientation?: \"horizontal\" | \"vertical\";\n /**\n * Whether the navigation item is a parent with nested items.\n */\n parent?: boolean;\n /**\n * Action to be triggered when the navigation item is expanded.\n */\n onExpand?: MouseEventHandler<HTMLButtonElement>;\n /**\n * Href to be passed to the Link element.\n */\n href?: string;\n}\n\nconst withBaseName = makePrefixer(\"saltNavigationItem\");\n\nexport const NavigationItem = forwardRef<HTMLDivElement, NavigationItemProps>(\n function NavigationItem(props, ref) {\n const {\n active,\n blurActive,\n children,\n className,\n expanded = false,\n orientation = \"horizontal\",\n parent,\n level = 0,\n onExpand,\n href,\n style: styleProp,\n ...rest\n } = props;\n\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-navigation-item\",\n css: navigationItemCss,\n window: targetWindow,\n });\n\n const style = {\n ...styleProp,\n \"--saltNavigationItem-level\": `${level}`,\n };\n\n return (\n <div\n ref={ref}\n className={clsx(withBaseName(), className)}\n style={style}\n {...rest}\n >\n <ConditionalWrapper\n className={clsx(\n withBaseName(\"wrapper\"),\n {\n [withBaseName(\"active\")]: active || blurActive,\n [withBaseName(\"blurActive\")]: blurActive,\n [withBaseName(\"rootItem\")]: level === 0,\n },\n withBaseName(orientation)\n )}\n parent={parent}\n expanded={expanded}\n onExpand={onExpand}\n active={active}\n href={href}\n >\n <span className={withBaseName(\"label\")}>{children}</span>\n {parent && (\n <ExpansionIcon expanded={expanded} orientation={orientation} />\n )}\n </ConditionalWrapper>\n </div>\n );\n }\n);\n"],"names":["NavigationItem","navigationItemCss"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8CA,MAAM,YAAA,GAAe,aAAa,oBAAoB,CAAA,CAAA;AAE/C,MAAM,cAAiB,GAAA,UAAA;AAAA,EAC5B,SAASA,eAAe,CAAA,KAAA,EAAO,GAAK,EAAA;AAClC,IAAM,MAAA;AAAA,MACJ,MAAA;AAAA,MACA,UAAA;AAAA,MACA,QAAA;AAAA,MACA,SAAA;AAAA,MACA,QAAW,GAAA,KAAA;AAAA,MACX,WAAc,GAAA,YAAA;AAAA,MACd,MAAA;AAAA,MACA,KAAQ,GAAA,CAAA;AAAA,MACR,QAAA;AAAA,MACA,IAAA;AAAA,MACA,KAAO,EAAA,SAAA;AAAA,MACJ,GAAA,IAAA;AAAA,KACD,GAAA,KAAA,CAAA;AAEJ,IAAA,MAAM,eAAe,SAAU,EAAA,CAAA;AAC/B,IAAyB,wBAAA,CAAA;AAAA,MACvB,MAAQ,EAAA,sBAAA;AAAA,MACR,GAAK,EAAAC,QAAA;AAAA,MACL,MAAQ,EAAA,YAAA;AAAA,KACT,CAAA,CAAA;AAED,IAAA,MAAM,KAAQ,GAAA;AAAA,MACZ,GAAG,SAAA;AAAA,MACH,8BAA8B,CAAG,EAAA,KAAA,CAAA,CAAA;AAAA,KACnC,CAAA;AAEA,IAAA,uBACG,GAAA,CAAA,KAAA,EAAA;AAAA,MACC,GAAA;AAAA,MACA,SAAW,EAAA,IAAA,CAAK,YAAa,EAAA,EAAG,SAAS,CAAA;AAAA,MACzC,KAAA;AAAA,MACC,GAAG,IAAA;AAAA,MAEJ,QAAC,kBAAA,IAAA,CAAA,kBAAA,EAAA;AAAA,QACC,SAAW,EAAA,IAAA;AAAA,UACT,aAAa,SAAS,CAAA;AAAA,UACtB;AAAA,YACE,CAAC,YAAA,CAAa,QAAQ,CAAA,GAAI,MAAU,IAAA,UAAA;AAAA,YACpC,CAAC,YAAa,CAAA,YAAY,CAAI,GAAA,UAAA;AAAA,YAC9B,CAAC,YAAA,CAAa,UAAU,CAAA,GAAI,KAAU,KAAA,CAAA;AAAA,WACxC;AAAA,UACA,aAAa,WAAW,CAAA;AAAA,SAC1B;AAAA,QACA,MAAA;AAAA,QACA,QAAA;AAAA,QACA,QAAA;AAAA,QACA,MAAA;AAAA,QACA,IAAA;AAAA,QAEA,QAAA,EAAA;AAAA,0BAAC,GAAA,CAAA,MAAA,EAAA;AAAA,YAAK,SAAA,EAAW,aAAa,OAAO,CAAA;AAAA,YAAI,QAAA;AAAA,WAAS,CAAA;AAAA,UACjD,0BACE,GAAA,CAAA,aAAA,EAAA;AAAA,YAAc,QAAA;AAAA,YAAoB,WAAA;AAAA,WAA0B,CAAA;AAAA,SAAA;AAAA,OAEjE,CAAA;AAAA,KACF,CAAA,CAAA;AAAA,GAEJ;AACF;;;;"}
1
+ {"version":3,"file":"NavigationItem.js","sources":["../src/navigation-item/NavigationItem.tsx"],"sourcesContent":["import { ComponentPropsWithoutRef, forwardRef, MouseEventHandler } from \"react\";\nimport { makePrefixer } from \"../utils\";\nimport { clsx } from \"clsx\";\nimport { ExpansionIcon } from \"./ExpansionIcon\";\nimport { ConditionalWrapper } from \"./ConditionalWrapper\";\n\nimport { useWindow } from \"@salt-ds/window\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\n\nimport navigationItemCss from \"./NavigationItem.css\";\n\nexport interface NavigationItemProps extends ComponentPropsWithoutRef<\"div\"> {\n /**\n * Whether the navigation item is active.\n */\n active?: boolean;\n /**\n * Whether the nested group is collapsed and there is an active nested item within it.\n */\n blurActive?: boolean;\n /**\n * Whether the navigation item is expanded.\n */\n expanded?: boolean;\n /**\n * Level of nesting.\n */\n level?: number;\n /**\n * The orientation of the navigation item.\n */\n orientation?: \"horizontal\" | \"vertical\";\n /**\n * Whether the navigation item is a parent with nested items.\n */\n parent?: boolean;\n /**\n * Action to be triggered when the navigation item is expanded.\n */\n onExpand?: MouseEventHandler<HTMLButtonElement>;\n /**\n * Href to be passed to the Link element.\n */\n href?: string;\n}\n\nconst withBaseName = makePrefixer(\"saltNavigationItem\");\n\nexport const NavigationItem = forwardRef<HTMLDivElement, NavigationItemProps>(\n function NavigationItem(props, ref) {\n const {\n active,\n blurActive,\n children,\n className,\n expanded = false,\n orientation = \"horizontal\",\n parent,\n level = 0,\n onExpand,\n href,\n style: styleProp,\n ...rest\n } = props;\n\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-navigation-item\",\n css: navigationItemCss,\n window: targetWindow,\n });\n\n const style = {\n ...styleProp,\n \"--saltNavigationItem-level\": `${level}`,\n };\n\n return (\n <div\n ref={ref}\n className={clsx(withBaseName(), className)}\n style={style}\n {...rest}\n >\n <ConditionalWrapper\n className={clsx(\n withBaseName(\"wrapper\"),\n {\n [withBaseName(\"active\")]: active || blurActive,\n [withBaseName(\"blurActive\")]: blurActive,\n [withBaseName(\"rootItem\")]: level === 0,\n },\n withBaseName(orientation)\n )}\n parent={parent}\n expanded={expanded}\n onExpand={onExpand}\n active={active}\n href={href}\n >\n <span className={withBaseName(\"label\")}>{children}</span>\n {parent && (\n <ExpansionIcon expanded={expanded} orientation={orientation} />\n )}\n </ConditionalWrapper>\n </div>\n );\n }\n);\n"],"names":["NavigationItem","navigationItemCss"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8CA,MAAM,YAAA,GAAe,aAAa,oBAAoB,CAAA,CAAA;AAE/C,MAAM,cAAiB,GAAA,UAAA;AAAA,EAC5B,SAASA,eAAe,CAAA,KAAA,EAAO,GAAK,EAAA;AAClC,IAAM,MAAA;AAAA,MACJ,MAAA;AAAA,MACA,UAAA;AAAA,MACA,QAAA;AAAA,MACA,SAAA;AAAA,MACA,QAAW,GAAA,KAAA;AAAA,MACX,WAAc,GAAA,YAAA;AAAA,MACd,MAAA;AAAA,MACA,KAAQ,GAAA,CAAA;AAAA,MACR,QAAA;AAAA,MACA,IAAA;AAAA,MACA,KAAO,EAAA,SAAA;AAAA,MACJ,GAAA,IAAA;AAAA,KACD,GAAA,KAAA,CAAA;AAEJ,IAAA,MAAM,eAAe,SAAU,EAAA,CAAA;AAC/B,IAAyB,wBAAA,CAAA;AAAA,MACvB,MAAQ,EAAA,sBAAA;AAAA,MACR,GAAK,EAAAC,QAAA;AAAA,MACL,MAAQ,EAAA,YAAA;AAAA,KACT,CAAA,CAAA;AAED,IAAA,MAAM,KAAQ,GAAA;AAAA,MACZ,GAAG,SAAA;AAAA,MACH,8BAA8B,CAAG,EAAA,KAAA,CAAA,CAAA;AAAA,KACnC,CAAA;AAEA,IAAA,uBACG,GAAA,CAAA,KAAA,EAAA;AAAA,MACC,GAAA;AAAA,MACA,SAAW,EAAA,IAAA,CAAK,YAAa,EAAA,EAAG,SAAS,CAAA;AAAA,MACzC,KAAA;AAAA,MACC,GAAG,IAAA;AAAA,MAEJ,QAAC,kBAAA,IAAA,CAAA,kBAAA,EAAA;AAAA,QACC,SAAW,EAAA,IAAA;AAAA,UACT,aAAa,SAAS,CAAA;AAAA,UACtB;AAAA,YACE,CAAC,YAAA,CAAa,QAAQ,CAAA,GAAI,MAAU,IAAA,UAAA;AAAA,YACpC,CAAC,YAAa,CAAA,YAAY,CAAI,GAAA,UAAA;AAAA,YAC9B,CAAC,YAAA,CAAa,UAAU,CAAA,GAAI,KAAU,KAAA,CAAA;AAAA,WACxC;AAAA,UACA,aAAa,WAAW,CAAA;AAAA,SAC1B;AAAA,QACA,MAAA;AAAA,QACA,QAAA;AAAA,QACA,QAAA;AAAA,QACA,MAAA;AAAA,QACA,IAAA;AAAA,QAEA,QAAA,EAAA;AAAA,0BAAC,GAAA,CAAA,MAAA,EAAA;AAAA,YAAK,SAAA,EAAW,aAAa,OAAO,CAAA;AAAA,YAAI,QAAA;AAAA,WAAS,CAAA;AAAA,UACjD,0BACE,GAAA,CAAA,aAAA,EAAA;AAAA,YAAc,QAAA;AAAA,YAAoB,WAAA;AAAA,WAA0B,CAAA;AAAA,SAAA;AAAA,OAEjE,CAAA;AAAA,KACF,CAAA,CAAA;AAAA,GAEJ;AACF;;;;"}
@@ -23,7 +23,6 @@ import '../border-item/BorderItem.js';
23
23
  import '../border-layout/BorderLayout.js';
24
24
  import '../button/Button.js';
25
25
  import '../card/Card.js';
26
- import '../card/InteractableCard.js';
27
26
  import { Checkbox } from '../checkbox/Checkbox.js';
28
27
  import '../checkbox/CheckboxGroup.js';
29
28
  import '@salt-ds/icons';
@@ -56,12 +55,20 @@ import '../form-field-context/FormFieldContext.js';
56
55
  import '../grid-item/GridItem.js';
57
56
  import '../grid-layout/GridLayout.js';
58
57
  import '../input/Input.js';
58
+ import '../interactable-card/InteractableCard.js';
59
+ import '../interactable-card/InteractableCardGroup.js';
60
+ import '../interactable-card/InteractableCardGroupContext.js';
59
61
  import '../link/Link.js';
60
62
  import '../link-card/LinkCard.js';
61
63
  import { useListControlContext } from '../list-control/ListControlContext.js';
62
64
  import '../multiline-input/MultilineInput.js';
63
65
  import '../navigation-item/NavigationItem.js';
64
66
  import './OptionGroup.js';
67
+ import '../overlay/OverlayContext.js';
68
+ import '@floating-ui/react';
69
+ import '../overlay/OverlayPanel.js';
70
+ import '../overlay/OverlayPanelCloseButton.js';
71
+ import '../overlay/OverlayPanelContent.js';
65
72
  import '../pagination/Pagination.js';
66
73
  import '../pagination/Paginator.js';
67
74
  import '../pagination/CompactInput.js';
@@ -74,6 +81,7 @@ import '../progress/LinearProgress/LinearProgress.js';
74
81
  import '../radio-button/RadioButton.js';
75
82
  import '../radio-button/RadioButtonGroup.js';
76
83
  import '../scrim/Scrim.js';
84
+ import '../segmented-button-group/SegmentedButtonGroup.js';
77
85
  import '../spinner/Spinner.js';
78
86
  import '../stack-layout/StackLayout.js';
79
87
  import '../status-adornment/StatusAdornment.js';
@@ -85,7 +93,6 @@ import '../toggle-button/ToggleButton.js';
85
93
  import '../toggle-button-group/ToggleButtonGroup.js';
86
94
  import '../toggle-button-group/ToggleButtonGroupContext.js';
87
95
  import '../tooltip/Tooltip.js';
88
- import '@floating-ui/react';
89
96
  import css_248z from './Option.css.js';
90
97
 
91
98
  const withBaseName = makePrefixer("saltOption");
@@ -1 +1 @@
1
- {"version":3,"file":"Option.js","sources":["../src/option/Option.tsx"],"sourcesContent":["import {\n ComponentPropsWithoutRef,\n forwardRef,\n MouseEvent,\n ReactNode,\n useEffect,\n useMemo,\n useRef,\n} from \"react\";\nimport { clsx } from \"clsx\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { makePrefixer, useForkRef, useId } from \"../utils\";\nimport { Checkbox } from \"../checkbox\";\nimport {\n OptionValue,\n useListControlContext,\n} from \"../list-control/ListControlContext\";\nimport optionCss from \"./Option.css\";\n\nexport interface OptionProps extends ComponentPropsWithoutRef<\"div\"> {\n /**\n * If `true`, the option will be disabled.\n */\n disabled?: boolean;\n /**\n * The value of the option.\n */\n value: unknown;\n /**\n * The content of the option.\n */\n children?: ReactNode;\n}\n\nconst withBaseName = makePrefixer(\"saltOption\");\n\nexport const Option = forwardRef<HTMLDivElement, OptionProps>(function Option(\n props,\n ref\n) {\n const {\n className,\n children,\n disabled,\n onClick,\n id: idProp,\n value,\n ...rest\n } = props;\n\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-option\",\n css: optionCss,\n window: targetWindow,\n });\n\n const optionRef = useRef(null);\n const id = useId(idProp);\n\n const {\n setActive,\n activeState,\n multiselect,\n select,\n register,\n selectedState,\n focusVisibleState,\n valueToString,\n } = useListControlContext();\n\n const selected = selectedState.includes(value);\n const active = activeState?.id === id;\n\n const optionValue: OptionValue<unknown> = useMemo(\n () => ({\n id: String(id),\n disabled: Boolean(disabled),\n value,\n }),\n [id, disabled, value]\n );\n\n const handleClick = (event: MouseEvent<HTMLDivElement>) => {\n if (disabled || id == undefined) {\n return;\n }\n\n // set active descendent\n setActive(optionValue);\n\n // handle selection\n select(event, optionValue);\n\n onClick?.(event);\n };\n\n const handleMouseOver = () => {\n setActive(optionValue);\n };\n\n useEffect(() => {\n if (id && optionRef.current) {\n return register(optionValue, optionRef.current);\n }\n }, [optionValue, id, register]);\n\n const handleRef = useForkRef(optionRef, ref);\n\n return (\n <div\n aria-disabled={disabled ? \"true\" : undefined}\n aria-selected={selected}\n className={clsx(\n withBaseName(),\n {\n [withBaseName(\"active\")]: active,\n [withBaseName(\"focusVisible\")]: focusVisibleState && active,\n },\n className\n )}\n ref={handleRef}\n role=\"option\"\n id={id}\n onClick={handleClick}\n onMouseOver={handleMouseOver}\n {...rest}\n >\n {multiselect && (\n <Checkbox\n checked={selected}\n aria-hidden=\"true\"\n inputProps={{ tabIndex: -1 }}\n />\n )}\n {children ?? valueToString(value)}\n </div>\n );\n});\n"],"names":["Option","optionCss"],"mappings":"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"}
1
+ {"version":3,"file":"Option.js","sources":["../src/option/Option.tsx"],"sourcesContent":["import {\n ComponentPropsWithoutRef,\n forwardRef,\n MouseEvent,\n ReactNode,\n useEffect,\n useMemo,\n useRef,\n} from \"react\";\nimport { clsx } from \"clsx\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { makePrefixer, useForkRef, useId } from \"../utils\";\nimport { Checkbox } from \"../checkbox\";\nimport {\n OptionValue,\n useListControlContext,\n} from \"../list-control/ListControlContext\";\nimport optionCss from \"./Option.css\";\n\nexport interface OptionProps extends ComponentPropsWithoutRef<\"div\"> {\n /**\n * If `true`, the option will be disabled.\n */\n disabled?: boolean;\n /**\n * The value of the option.\n */\n value: unknown;\n /**\n * The content of the option.\n */\n children?: ReactNode;\n}\n\nconst withBaseName = makePrefixer(\"saltOption\");\n\nexport const Option = forwardRef<HTMLDivElement, OptionProps>(function Option(\n props,\n ref\n) {\n const {\n className,\n children,\n disabled,\n onClick,\n id: idProp,\n value,\n ...rest\n } = props;\n\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-option\",\n css: optionCss,\n window: targetWindow,\n });\n\n const optionRef = useRef(null);\n const id = useId(idProp);\n\n const {\n setActive,\n activeState,\n multiselect,\n select,\n register,\n selectedState,\n focusVisibleState,\n valueToString,\n } = useListControlContext();\n\n const selected = selectedState.includes(value);\n const active = activeState?.id === id;\n\n const optionValue: OptionValue<unknown> = useMemo(\n () => ({\n id: String(id),\n disabled: Boolean(disabled),\n value,\n }),\n [id, disabled, value]\n );\n\n const handleClick = (event: MouseEvent<HTMLDivElement>) => {\n if (disabled || id == undefined) {\n return;\n }\n\n // set active descendent\n setActive(optionValue);\n\n // handle selection\n select(event, optionValue);\n\n onClick?.(event);\n };\n\n const handleMouseOver = () => {\n setActive(optionValue);\n };\n\n useEffect(() => {\n if (id && optionRef.current) {\n return register(optionValue, optionRef.current);\n }\n }, [optionValue, id, register]);\n\n const handleRef = useForkRef(optionRef, ref);\n\n return (\n <div\n aria-disabled={disabled ? \"true\" : undefined}\n aria-selected={selected}\n className={clsx(\n withBaseName(),\n {\n [withBaseName(\"active\")]: active,\n [withBaseName(\"focusVisible\")]: focusVisibleState && active,\n },\n className\n )}\n ref={handleRef}\n role=\"option\"\n id={id}\n onClick={handleClick}\n onMouseOver={handleMouseOver}\n {...rest}\n >\n {multiselect && (\n <Checkbox\n checked={selected}\n aria-hidden=\"true\"\n inputProps={{ tabIndex: -1 }}\n />\n )}\n {children ?? valueToString(value)}\n </div>\n );\n});\n"],"names":["Option","optionCss"],"mappings":"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"}
@@ -22,7 +22,6 @@ import '../border-item/BorderItem.js';
22
22
  import '../border-layout/BorderLayout.js';
23
23
  import '../button/Button.js';
24
24
  import '../card/Card.js';
25
- import '../card/InteractableCard.js';
26
25
  import '../checkbox/Checkbox.js';
27
26
  import '../checkbox/CheckboxGroup.js';
28
27
  import '@salt-ds/icons';
@@ -55,12 +54,20 @@ import '../form-field-context/FormFieldContext.js';
55
54
  import '../grid-item/GridItem.js';
56
55
  import '../grid-layout/GridLayout.js';
57
56
  import '../input/Input.js';
57
+ import '../interactable-card/InteractableCard.js';
58
+ import '../interactable-card/InteractableCardGroup.js';
59
+ import '../interactable-card/InteractableCardGroupContext.js';
58
60
  import '../link/Link.js';
59
61
  import '../link-card/LinkCard.js';
60
62
  import '../list-control/ListControlContext.js';
61
63
  import '../multiline-input/MultilineInput.js';
62
64
  import '../navigation-item/NavigationItem.js';
63
65
  import './Option.js';
66
+ import '../overlay/OverlayContext.js';
67
+ import '@floating-ui/react';
68
+ import '../overlay/OverlayPanel.js';
69
+ import '../overlay/OverlayPanelCloseButton.js';
70
+ import '../overlay/OverlayPanelContent.js';
64
71
  import '../pagination/Pagination.js';
65
72
  import '../pagination/Paginator.js';
66
73
  import '../pagination/CompactInput.js';
@@ -73,6 +80,7 @@ import '../progress/LinearProgress/LinearProgress.js';
73
80
  import '../radio-button/RadioButton.js';
74
81
  import '../radio-button/RadioButtonGroup.js';
75
82
  import '../scrim/Scrim.js';
83
+ import '../segmented-button-group/SegmentedButtonGroup.js';
76
84
  import '../spinner/Spinner.js';
77
85
  import '../stack-layout/StackLayout.js';
78
86
  import '../status-adornment/StatusAdornment.js';
@@ -84,7 +92,6 @@ import '../toggle-button/ToggleButton.js';
84
92
  import '../toggle-button-group/ToggleButtonGroup.js';
85
93
  import '../toggle-button-group/ToggleButtonGroupContext.js';
86
94
  import '../tooltip/Tooltip.js';
87
- import '@floating-ui/react';
88
95
  import css_248z from './OptionGroup.css.js';
89
96
 
90
97
  const withBaseName = makePrefixer("saltOptionGroup");
@@ -1 +1 @@
1
- {"version":3,"file":"OptionGroup.js","sources":["../src/option/OptionGroup.tsx"],"sourcesContent":["import { ComponentPropsWithoutRef, forwardRef, ReactNode } from \"react\";\nimport { clsx } from \"clsx\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { makePrefixer, useId } from \"../utils\";\nimport optionGroupCss from \"./OptionGroup.css\";\n\nexport interface OptionGroupProps extends ComponentPropsWithoutRef<\"div\"> {\n /**\n * The label of the option group.\n */\n label?: string;\n /**\n * Options to be rendered inside the option group.\n */\n children?: ReactNode;\n}\n\nconst withBaseName = makePrefixer(\"saltOptionGroup\");\nexport const OptionGroup = forwardRef<HTMLDivElement, OptionGroupProps>(\n function OptionGroup(props, ref) {\n const { className, children, label, ...rest } = props;\n\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-option-group\",\n css: optionGroupCss,\n window: targetWindow,\n });\n\n const labelId = useId();\n\n return (\n <div\n aria-labelledby={labelId}\n className={clsx(withBaseName(), className)}\n role=\"group\"\n ref={ref}\n {...rest}\n >\n <div aria-hidden className={withBaseName(\"label\")} id={labelId}>\n {label}\n </div>\n {children}\n </div>\n );\n }\n);\n"],"names":["OptionGroup","optionGroupCss"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkBA,MAAM,YAAA,GAAe,aAAa,iBAAiB,CAAA,CAAA;AAC5C,MAAM,WAAc,GAAA,UAAA;AAAA,EACzB,SAASA,YAAY,CAAA,KAAA,EAAO,GAAK,EAAA;AAC/B,IAAA,MAAM,EAAE,SAAA,EAAW,QAAU,EAAA,KAAA,EAAA,GAAU,MAAS,GAAA,KAAA,CAAA;AAEhD,IAAA,MAAM,eAAe,SAAU,EAAA,CAAA;AAC/B,IAAyB,wBAAA,CAAA;AAAA,MACvB,MAAQ,EAAA,mBAAA;AAAA,MACR,GAAK,EAAAC,QAAA;AAAA,MACL,MAAQ,EAAA,YAAA;AAAA,KACT,CAAA,CAAA;AAED,IAAA,MAAM,UAAU,KAAM,EAAA,CAAA;AAEtB,IAAA,uBACG,IAAA,CAAA,KAAA,EAAA;AAAA,MACC,iBAAiB,EAAA,OAAA;AAAA,MACjB,SAAW,EAAA,IAAA,CAAK,YAAa,EAAA,EAAG,SAAS,CAAA;AAAA,MACzC,IAAK,EAAA,OAAA;AAAA,MACL,GAAA;AAAA,MACC,GAAG,IAAA;AAAA,MAEJ,QAAA,EAAA;AAAA,wBAAC,GAAA,CAAA,KAAA,EAAA;AAAA,UAAI,aAAW,EAAA,IAAA;AAAA,UAAC,SAAA,EAAW,aAAa,OAAO,CAAA;AAAA,UAAG,EAAI,EAAA,OAAA;AAAA,UACpD,QAAA,EAAA,KAAA;AAAA,SACH,CAAA;AAAA,QACC,QAAA;AAAA,OAAA;AAAA,KACH,CAAA,CAAA;AAAA,GAEJ;AACF;;;;"}
1
+ {"version":3,"file":"OptionGroup.js","sources":["../src/option/OptionGroup.tsx"],"sourcesContent":["import { ComponentPropsWithoutRef, forwardRef, ReactNode } from \"react\";\nimport { clsx } from \"clsx\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { makePrefixer, useId } from \"../utils\";\nimport optionGroupCss from \"./OptionGroup.css\";\n\nexport interface OptionGroupProps extends ComponentPropsWithoutRef<\"div\"> {\n /**\n * The label of the option group.\n */\n label?: string;\n /**\n * Options to be rendered inside the option group.\n */\n children?: ReactNode;\n}\n\nconst withBaseName = makePrefixer(\"saltOptionGroup\");\nexport const OptionGroup = forwardRef<HTMLDivElement, OptionGroupProps>(\n function OptionGroup(props, ref) {\n const { className, children, label, ...rest } = props;\n\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-option-group\",\n css: optionGroupCss,\n window: targetWindow,\n });\n\n const labelId = useId();\n\n return (\n <div\n aria-labelledby={labelId}\n className={clsx(withBaseName(), className)}\n role=\"group\"\n ref={ref}\n {...rest}\n >\n <div aria-hidden className={withBaseName(\"label\")} id={labelId}>\n {label}\n </div>\n {children}\n </div>\n );\n }\n);\n"],"names":["OptionGroup","optionGroupCss"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkBA,MAAM,YAAA,GAAe,aAAa,iBAAiB,CAAA,CAAA;AAC5C,MAAM,WAAc,GAAA,UAAA;AAAA,EACzB,SAASA,YAAY,CAAA,KAAA,EAAO,GAAK,EAAA;AAC/B,IAAA,MAAM,EAAE,SAAA,EAAW,QAAU,EAAA,KAAA,EAAA,GAAU,MAAS,GAAA,KAAA,CAAA;AAEhD,IAAA,MAAM,eAAe,SAAU,EAAA,CAAA;AAC/B,IAAyB,wBAAA,CAAA;AAAA,MACvB,MAAQ,EAAA,mBAAA;AAAA,MACR,GAAK,EAAAC,QAAA;AAAA,MACL,MAAQ,EAAA,YAAA;AAAA,KACT,CAAA,CAAA;AAED,IAAA,MAAM,UAAU,KAAM,EAAA,CAAA;AAEtB,IAAA,uBACG,IAAA,CAAA,KAAA,EAAA;AAAA,MACC,iBAAiB,EAAA,OAAA;AAAA,MACjB,SAAW,EAAA,IAAA,CAAK,YAAa,EAAA,EAAG,SAAS,CAAA;AAAA,MACzC,IAAK,EAAA,OAAA;AAAA,MACL,GAAA;AAAA,MACC,GAAG,IAAA;AAAA,MAEJ,QAAA,EAAA;AAAA,wBAAC,GAAA,CAAA,KAAA,EAAA;AAAA,UAAI,aAAW,EAAA,IAAA;AAAA,UAAC,SAAA,EAAW,aAAa,OAAO,CAAA;AAAA,UAAG,EAAI,EAAA,OAAA;AAAA,UACpD,QAAA,EAAA,KAAA;AAAA,SACH,CAAA;AAAA,QACC,QAAA;AAAA,OAAA;AAAA,KACH,CAAA,CAAA;AAAA,GAEJ;AACF;;;;"}
@@ -20,7 +20,6 @@ import '../border-item/BorderItem.js';
20
20
  import '../border-layout/BorderLayout.js';
21
21
  import '../button/Button.js';
22
22
  import '../card/Card.js';
23
- import '../card/InteractableCard.js';
24
23
  import '../checkbox/Checkbox.js';
25
24
  import '../checkbox/CheckboxGroup.js';
26
25
  import '@salt-ds/styles';
@@ -55,6 +54,9 @@ import '../form-field-context/FormFieldContext.js';
55
54
  import '../grid-item/GridItem.js';
56
55
  import '../grid-layout/GridLayout.js';
57
56
  import '../input/Input.js';
57
+ import '../interactable-card/InteractableCard.js';
58
+ import '../interactable-card/InteractableCardGroup.js';
59
+ import '../interactable-card/InteractableCardGroupContext.js';
58
60
  import '../link/Link.js';
59
61
  import '../link-card/LinkCard.js';
60
62
  import '../list-control/ListControlContext.js';
@@ -62,6 +64,11 @@ import '../multiline-input/MultilineInput.js';
62
64
  import '../navigation-item/NavigationItem.js';
63
65
  import './Option.js';
64
66
  import './OptionGroup.js';
67
+ import '../overlay/OverlayContext.js';
68
+ import '@floating-ui/react';
69
+ import '../overlay/OverlayPanel.js';
70
+ import '../overlay/OverlayPanelCloseButton.js';
71
+ import '../overlay/OverlayPanelContent.js';
65
72
  import '../pagination/Pagination.js';
66
73
  import '../pagination/Paginator.js';
67
74
  import '../pagination/CompactInput.js';
@@ -74,6 +81,7 @@ import '../progress/LinearProgress/LinearProgress.js';
74
81
  import '../radio-button/RadioButton.js';
75
82
  import '../radio-button/RadioButtonGroup.js';
76
83
  import '../scrim/Scrim.js';
84
+ import '../segmented-button-group/SegmentedButtonGroup.js';
77
85
  import '../spinner/Spinner.js';
78
86
  import '../stack-layout/StackLayout.js';
79
87
  import '../status-adornment/StatusAdornment.js';
@@ -85,7 +93,6 @@ import '../toggle-button/ToggleButton.js';
85
93
  import '../toggle-button-group/ToggleButtonGroup.js';
86
94
  import '../toggle-button-group/ToggleButtonGroupContext.js';
87
95
  import '../tooltip/Tooltip.js';
88
- import '@floating-ui/react';
89
96
  import { OptionListBase } from './OptionListBase.js';
90
97
 
91
98
  const withBaseName = makePrefixer("saltOptionList");
@@ -1 +1 @@
1
- {"version":3,"file":"OptionList.js","sources":["../src/option/OptionList.tsx"],"sourcesContent":["import { forwardRef } from \"react\";\nimport { clsx } from \"clsx\";\nimport {\n FloatingComponentProps,\n makePrefixer,\n useFloatingComponent,\n} from \"../utils\";\nimport { OptionListBase } from \"./OptionListBase\";\n\nexport interface OptionListProps extends FloatingComponentProps {\n collapsed?: boolean;\n}\n\nconst withBaseName = makePrefixer(\"saltOptionList\");\n\nexport const OptionList = forwardRef<HTMLDivElement, OptionListProps>(\n function OptionList(props, ref) {\n const { children, className, collapsed, open, ...rest } = props;\n\n const { Component: FloatingComponent } = useFloatingComponent();\n\n return (\n <FloatingComponent\n className={clsx(\n withBaseName(),\n {\n [withBaseName(\"collapsed\")]: collapsed,\n },\n className\n )}\n role=\"listbox\"\n open={open}\n {...rest}\n ref={ref}\n >\n <OptionListBase>{children}</OptionListBase>\n </FloatingComponent>\n );\n }\n);\n"],"names":["OptionList"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAaA,MAAM,YAAA,GAAe,aAAa,gBAAgB,CAAA,CAAA;AAE3C,MAAM,UAAa,GAAA,UAAA;AAAA,EACxB,SAASA,WAAW,CAAA,KAAA,EAAO,GAAK,EAAA;AAC9B,IAAA,MAAM,EAAE,QAAU,EAAA,SAAA,EAAW,SAAW,EAAA,IAAA,EAAA,GAAS,MAAS,GAAA,KAAA,CAAA;AAE1D,IAAA,MAAM,EAAE,SAAA,EAAW,iBAAkB,EAAA,GAAI,oBAAqB,EAAA,CAAA;AAE9D,IAAA,uBACG,GAAA,CAAA,iBAAA,EAAA;AAAA,MACC,SAAW,EAAA,IAAA;AAAA,QACT,YAAa,EAAA;AAAA,QACb;AAAA,UACE,CAAC,YAAa,CAAA,WAAW,CAAI,GAAA,SAAA;AAAA,SAC/B;AAAA,QACA,SAAA;AAAA,OACF;AAAA,MACA,IAAK,EAAA,SAAA;AAAA,MACL,IAAA;AAAA,MACC,GAAG,IAAA;AAAA,MACJ,GAAA;AAAA,MAEA,QAAC,kBAAA,GAAA,CAAA,cAAA,EAAA;AAAA,QAAgB,QAAA;AAAA,OAAS,CAAA;AAAA,KAC5B,CAAA,CAAA;AAAA,GAEJ;AACF;;;;"}
1
+ {"version":3,"file":"OptionList.js","sources":["../src/option/OptionList.tsx"],"sourcesContent":["import { forwardRef } from \"react\";\nimport { clsx } from \"clsx\";\nimport {\n FloatingComponentProps,\n makePrefixer,\n useFloatingComponent,\n} from \"../utils\";\nimport { OptionListBase } from \"./OptionListBase\";\n\nexport interface OptionListProps extends FloatingComponentProps {\n collapsed?: boolean;\n}\n\nconst withBaseName = makePrefixer(\"saltOptionList\");\n\nexport const OptionList = forwardRef<HTMLDivElement, OptionListProps>(\n function OptionList(props, ref) {\n const { children, className, collapsed, open, ...rest } = props;\n\n const { Component: FloatingComponent } = useFloatingComponent();\n\n return (\n <FloatingComponent\n className={clsx(\n withBaseName(),\n {\n [withBaseName(\"collapsed\")]: collapsed,\n },\n className\n )}\n role=\"listbox\"\n open={open}\n {...rest}\n ref={ref}\n >\n <OptionListBase>{children}</OptionListBase>\n </FloatingComponent>\n );\n }\n);\n"],"names":["OptionList"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAaA,MAAM,YAAA,GAAe,aAAa,gBAAgB,CAAA,CAAA;AAE3C,MAAM,UAAa,GAAA,UAAA;AAAA,EACxB,SAASA,WAAW,CAAA,KAAA,EAAO,GAAK,EAAA;AAC9B,IAAA,MAAM,EAAE,QAAU,EAAA,SAAA,EAAW,SAAW,EAAA,IAAA,EAAA,GAAS,MAAS,GAAA,KAAA,CAAA;AAE1D,IAAA,MAAM,EAAE,SAAA,EAAW,iBAAkB,EAAA,GAAI,oBAAqB,EAAA,CAAA;AAE9D,IAAA,uBACG,GAAA,CAAA,iBAAA,EAAA;AAAA,MACC,SAAW,EAAA,IAAA;AAAA,QACT,YAAa,EAAA;AAAA,QACb;AAAA,UACE,CAAC,YAAa,CAAA,WAAW,CAAI,GAAA,SAAA;AAAA,SAC/B;AAAA,QACA,SAAA;AAAA,OACF;AAAA,MACA,IAAK,EAAA,SAAA;AAAA,MACL,IAAA;AAAA,MACC,GAAG,IAAA;AAAA,MACJ,GAAA;AAAA,MAEA,QAAC,kBAAA,GAAA,CAAA,cAAA,EAAA;AAAA,QAAgB,QAAA;AAAA,OAAS,CAAA;AAAA,KAC5B,CAAA,CAAA;AAAA,GAEJ;AACF;;;;"}
@@ -20,7 +20,6 @@ import '../border-item/BorderItem.js';
20
20
  import '../border-layout/BorderLayout.js';
21
21
  import '../button/Button.js';
22
22
  import '../card/Card.js';
23
- import '../card/InteractableCard.js';
24
23
  import '../checkbox/Checkbox.js';
25
24
  import '../checkbox/CheckboxGroup.js';
26
25
  import { useComponentCssInjection } from '@salt-ds/styles';
@@ -55,6 +54,9 @@ import '../form-field-context/FormFieldContext.js';
55
54
  import '../grid-item/GridItem.js';
56
55
  import '../grid-layout/GridLayout.js';
57
56
  import '../input/Input.js';
57
+ import '../interactable-card/InteractableCard.js';
58
+ import '../interactable-card/InteractableCardGroup.js';
59
+ import '../interactable-card/InteractableCardGroupContext.js';
58
60
  import '../link/Link.js';
59
61
  import '../link-card/LinkCard.js';
60
62
  import '../list-control/ListControlContext.js';
@@ -62,6 +64,11 @@ import '../multiline-input/MultilineInput.js';
62
64
  import '../navigation-item/NavigationItem.js';
63
65
  import './Option.js';
64
66
  import './OptionGroup.js';
67
+ import '../overlay/OverlayContext.js';
68
+ import '@floating-ui/react';
69
+ import '../overlay/OverlayPanel.js';
70
+ import '../overlay/OverlayPanelCloseButton.js';
71
+ import '../overlay/OverlayPanelContent.js';
65
72
  import '../pagination/Pagination.js';
66
73
  import '../pagination/Paginator.js';
67
74
  import '../pagination/CompactInput.js';
@@ -74,6 +81,7 @@ import '../progress/LinearProgress/LinearProgress.js';
74
81
  import '../radio-button/RadioButton.js';
75
82
  import '../radio-button/RadioButtonGroup.js';
76
83
  import '../scrim/Scrim.js';
84
+ import '../segmented-button-group/SegmentedButtonGroup.js';
77
85
  import '../spinner/Spinner.js';
78
86
  import '../stack-layout/StackLayout.js';
79
87
  import '../status-adornment/StatusAdornment.js';
@@ -85,7 +93,6 @@ import '../toggle-button/ToggleButton.js';
85
93
  import '../toggle-button-group/ToggleButtonGroup.js';
86
94
  import '../toggle-button-group/ToggleButtonGroupContext.js';
87
95
  import '../tooltip/Tooltip.js';
88
- import '@floating-ui/react';
89
96
  import css_248z from './OptionList.css.js';
90
97
 
91
98
  const withBaseName = makePrefixer("saltOptionList");
@@ -1 +1 @@
1
- {"version":3,"file":"OptionListBase.js","sources":["../src/option/OptionListBase.tsx"],"sourcesContent":["import { ComponentPropsWithoutRef, forwardRef } from \"react\";\nimport { clsx } from \"clsx\";\nimport { makePrefixer } from \"../utils\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport optionListCss from \"./OptionList.css\";\n\nconst withBaseName = makePrefixer(\"saltOptionList\");\n\nexport interface OptionListBaseProps extends ComponentPropsWithoutRef<\"div\"> {}\n\nexport const OptionListBase = forwardRef<HTMLDivElement, OptionListBaseProps>(\n function OptionListBase(props, ref) {\n const { children, className, ...rest } = props;\n\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-option-list\",\n css: optionListCss,\n window: targetWindow,\n });\n\n return (\n <div\n className={clsx(withBaseName(\"container\"), className)}\n {...rest}\n ref={ref}\n >\n {children}\n </div>\n );\n }\n);\n"],"names":["OptionListBase","optionListCss"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOA,MAAM,YAAA,GAAe,aAAa,gBAAgB,CAAA,CAAA;AAI3C,MAAM,cAAiB,GAAA,UAAA;AAAA,EAC5B,SAASA,eAAe,CAAA,KAAA,EAAO,GAAK,EAAA;AAClC,IAAA,MAAM,EAAE,QAAA,EAAU,SAAc,EAAA,GAAA,IAAA,EAAS,GAAA,KAAA,CAAA;AAEzC,IAAA,MAAM,eAAe,SAAU,EAAA,CAAA;AAC/B,IAAyB,wBAAA,CAAA;AAAA,MACvB,MAAQ,EAAA,kBAAA;AAAA,MACR,GAAK,EAAAC,QAAA;AAAA,MACL,MAAQ,EAAA,YAAA;AAAA,KACT,CAAA,CAAA;AAED,IAAA,uBACG,GAAA,CAAA,KAAA,EAAA;AAAA,MACC,SAAW,EAAA,IAAA,CAAK,YAAa,CAAA,WAAW,GAAG,SAAS,CAAA;AAAA,MACnD,GAAG,IAAA;AAAA,MACJ,GAAA;AAAA,MAEC,QAAA;AAAA,KACH,CAAA,CAAA;AAAA,GAEJ;AACF;;;;"}
1
+ {"version":3,"file":"OptionListBase.js","sources":["../src/option/OptionListBase.tsx"],"sourcesContent":["import { ComponentPropsWithoutRef, forwardRef } from \"react\";\nimport { clsx } from \"clsx\";\nimport { makePrefixer } from \"../utils\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport optionListCss from \"./OptionList.css\";\n\nconst withBaseName = makePrefixer(\"saltOptionList\");\n\nexport interface OptionListBaseProps extends ComponentPropsWithoutRef<\"div\"> {}\n\nexport const OptionListBase = forwardRef<HTMLDivElement, OptionListBaseProps>(\n function OptionListBase(props, ref) {\n const { children, className, ...rest } = props;\n\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-option-list\",\n css: optionListCss,\n window: targetWindow,\n });\n\n return (\n <div\n className={clsx(withBaseName(\"container\"), className)}\n {...rest}\n ref={ref}\n >\n {children}\n </div>\n );\n }\n);\n"],"names":["OptionListBase","optionListCss"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOA,MAAM,YAAA,GAAe,aAAa,gBAAgB,CAAA,CAAA;AAI3C,MAAM,cAAiB,GAAA,UAAA;AAAA,EAC5B,SAASA,eAAe,CAAA,KAAA,EAAO,GAAK,EAAA;AAClC,IAAA,MAAM,EAAE,QAAA,EAAU,SAAc,EAAA,GAAA,IAAA,EAAS,GAAA,KAAA,CAAA;AAEzC,IAAA,MAAM,eAAe,SAAU,EAAA,CAAA;AAC/B,IAAyB,wBAAA,CAAA;AAAA,MACvB,MAAQ,EAAA,kBAAA;AAAA,MACR,GAAK,EAAAC,QAAA;AAAA,MACL,MAAQ,EAAA,YAAA;AAAA,KACT,CAAA,CAAA;AAED,IAAA,uBACG,GAAA,CAAA,KAAA,EAAA;AAAA,MACC,SAAW,EAAA,IAAA,CAAK,YAAa,CAAA,WAAW,GAAG,SAAS,CAAA;AAAA,MACnD,GAAG,IAAA;AAAA,MACJ,GAAA;AAAA,MAEC,QAAA;AAAA,KACH,CAAA,CAAA;AAAA,GAEJ;AACF;;;;"}
@@ -0,0 +1,160 @@
1
+ import { jsx } from 'react/jsx-runtime';
2
+ import { useRef, useMemo } from 'react';
3
+ import { OverlayContext } from './OverlayContext.js';
4
+ import { useControlled } from '../utils/useControlled.js';
5
+ import { useFloatingUI } from '../utils/useFloatingUI/useFloatingUI.js';
6
+ import '../utils/useId.js';
7
+ import '../salt-provider/SaltProvider.js';
8
+ import '../viewport/ViewportProvider.js';
9
+ import 'clsx';
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 '../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 '../form-field-context/FormFieldContext.js';
55
+ import '../grid-item/GridItem.js';
56
+ import '../grid-layout/GridLayout.js';
57
+ import '../input/Input.js';
58
+ import '../interactable-card/InteractableCard.js';
59
+ import '../interactable-card/InteractableCardGroup.js';
60
+ import '../interactable-card/InteractableCardGroupContext.js';
61
+ import '../link/Link.js';
62
+ import '../link-card/LinkCard.js';
63
+ import '../list-control/ListControlContext.js';
64
+ import '../multiline-input/MultilineInput.js';
65
+ import '../navigation-item/NavigationItem.js';
66
+ import '../option/Option.js';
67
+ import '../option/OptionGroup.js';
68
+ import { offset, flip, shift, limitShift, arrow, useInteractions, useRole, useClick, useDismiss } from '@floating-ui/react';
69
+ import './OverlayPanel.js';
70
+ import './OverlayPanelCloseButton.js';
71
+ import './OverlayPanelContent.js';
72
+ import '../pagination/Pagination.js';
73
+ import '../pagination/Paginator.js';
74
+ import '../pagination/CompactInput.js';
75
+ import '../pagination/CompactPaginator.js';
76
+ import '../pagination/GoToInput.js';
77
+ import '../panel/Panel.js';
78
+ import '../pill/Pill.js';
79
+ import '../progress/CircularProgress/CircularProgress.js';
80
+ import '../progress/LinearProgress/LinearProgress.js';
81
+ import '../radio-button/RadioButton.js';
82
+ import '../radio-button/RadioButtonGroup.js';
83
+ import '../scrim/Scrim.js';
84
+ import '../segmented-button-group/SegmentedButtonGroup.js';
85
+ import '../spinner/Spinner.js';
86
+ import '../stack-layout/StackLayout.js';
87
+ import '../status-adornment/StatusAdornment.js';
88
+ import '../toast/Toast.js';
89
+ import '../toast/ToastContent.js';
90
+ import '../split-layout/SplitLayout.js';
91
+ import '../switch/Switch.js';
92
+ import '../toggle-button/ToggleButton.js';
93
+ import '../toggle-button-group/ToggleButtonGroup.js';
94
+ import '../toggle-button-group/ToggleButtonGroupContext.js';
95
+ import '../tooltip/Tooltip.js';
96
+
97
+ const Overlay = ({
98
+ children,
99
+ open,
100
+ onOpenChange,
101
+ placement: placementProp = "top"
102
+ }) => {
103
+ const arrowRef = useRef(null);
104
+ const [openState, setOpenState] = useControlled({
105
+ controlled: open,
106
+ default: false,
107
+ name: "Overlay",
108
+ state: "open"
109
+ });
110
+ const handleOpenChange = (newOpen) => {
111
+ setOpenState(newOpen);
112
+ onOpenChange == null ? void 0 : onOpenChange(newOpen);
113
+ };
114
+ const { x, y, strategy, context, elements, floating, reference } = useFloatingUI({
115
+ open: openState,
116
+ onOpenChange: handleOpenChange,
117
+ placement: placementProp,
118
+ middleware: [
119
+ offset(11),
120
+ flip(),
121
+ shift({ limiter: limitShift() }),
122
+ arrow({ element: arrowRef })
123
+ ]
124
+ });
125
+ const { getReferenceProps, getFloatingProps } = useInteractions([
126
+ useRole(context, { role: "dialog" }),
127
+ useClick(context),
128
+ useDismiss(context)
129
+ ]);
130
+ const floatingStyles = useMemo(() => {
131
+ var _a, _b;
132
+ return {
133
+ top: y != null ? y : 0,
134
+ left: x != null ? x : 0,
135
+ position: strategy,
136
+ width: (_a = elements.floating) == null ? void 0 : _a.offsetWidth,
137
+ height: (_b = elements.floating) == null ? void 0 : _b.offsetHeight
138
+ };
139
+ }, [elements.floating, strategy, x, y]);
140
+ const arrowProps = {
141
+ ref: arrowRef,
142
+ context
143
+ };
144
+ return /* @__PURE__ */ jsx(OverlayContext.Provider, {
145
+ value: {
146
+ openState,
147
+ floatingStyles,
148
+ context,
149
+ arrowProps,
150
+ floating,
151
+ reference,
152
+ getFloatingProps,
153
+ getReferenceProps
154
+ },
155
+ children
156
+ });
157
+ };
158
+
159
+ export { Overlay };
160
+ //# sourceMappingURL=Overlay.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Overlay.js","sources":["../src/overlay/Overlay.tsx"],"sourcesContent":["import { ComponentPropsWithoutRef, useMemo, useRef } from \"react\";\nimport { OverlayContext } from \"./OverlayContext\";\nimport { useControlled, useFloatingUI } from \"../utils\";\nimport {\n flip,\n offset,\n shift,\n limitShift,\n arrow,\n useClick,\n useDismiss,\n useInteractions,\n useRole,\n} from \"@floating-ui/react\";\n\nexport interface OverlayProps extends ComponentPropsWithoutRef<\"div\"> {\n /**\n * Display or hide the component.\n */\n open?: boolean;\n /**\n * Callback function triggered when open state changes.\n */\n onOpenChange?: (open: boolean) => void;\n /*\n * Set the placement of the Overlay component relative to the trigger element. Defaults to `top`.\n */\n placement?: \"top\" | \"bottom\" | \"left\" | \"right\";\n}\n\nexport const Overlay = ({\n children,\n open,\n onOpenChange,\n placement: placementProp = \"top\",\n}: OverlayProps) => {\n const arrowRef = useRef<SVGSVGElement | null>(null);\n\n const [openState, setOpenState] = useControlled({\n controlled: open,\n default: false,\n name: \"Overlay\",\n state: \"open\",\n });\n\n const handleOpenChange = (newOpen: boolean) => {\n setOpenState(newOpen);\n onOpenChange?.(newOpen);\n };\n\n const { x, y, strategy, context, elements, floating, reference } =\n useFloatingUI({\n open: openState,\n onOpenChange: handleOpenChange,\n placement: placementProp,\n middleware: [\n offset(11),\n flip(),\n shift({ limiter: limitShift() }),\n arrow({ element: arrowRef }),\n ],\n });\n\n const { getReferenceProps, getFloatingProps } = useInteractions([\n useRole(context, { role: \"dialog\" }),\n useClick(context),\n useDismiss(context),\n ]);\n\n const floatingStyles = useMemo(() => {\n return {\n top: y ?? 0,\n left: x ?? 0,\n position: strategy,\n width: elements.floating?.offsetWidth,\n height: elements.floating?.offsetHeight,\n };\n }, [elements.floating, strategy, x, y]);\n\n const arrowProps = {\n ref: arrowRef,\n context,\n };\n\n return (\n <OverlayContext.Provider\n value={{\n openState,\n floatingStyles,\n context,\n arrowProps,\n floating,\n reference,\n getFloatingProps,\n getReferenceProps,\n }}\n >\n {children}\n </OverlayContext.Provider>\n );\n};\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8BO,MAAM,UAAU,CAAC;AAAA,EACtB,QAAA;AAAA,EACA,IAAA;AAAA,EACA,YAAA;AAAA,EACA,WAAW,aAAgB,GAAA,KAAA;AAC7B,CAAoB,KAAA;AAClB,EAAM,MAAA,QAAA,GAAW,OAA6B,IAAI,CAAA,CAAA;AAElD,EAAA,MAAM,CAAC,SAAA,EAAW,YAAY,CAAA,GAAI,aAAc,CAAA;AAAA,IAC9C,UAAY,EAAA,IAAA;AAAA,IACZ,OAAS,EAAA,KAAA;AAAA,IACT,IAAM,EAAA,SAAA;AAAA,IACN,KAAO,EAAA,MAAA;AAAA,GACR,CAAA,CAAA;AAED,EAAM,MAAA,gBAAA,GAAmB,CAAC,OAAqB,KAAA;AAC7C,IAAA,YAAA,CAAa,OAAO,CAAA,CAAA;AACpB,IAAe,YAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,YAAA,CAAA,OAAA,CAAA,CAAA;AAAA,GACjB,CAAA;AAEA,EAAM,MAAA,EAAE,GAAG,CAAG,EAAA,QAAA,EAAU,SAAS,QAAU,EAAA,QAAA,EAAU,SAAU,EAAA,GAC7D,aAAc,CAAA;AAAA,IACZ,IAAM,EAAA,SAAA;AAAA,IACN,YAAc,EAAA,gBAAA;AAAA,IACd,SAAW,EAAA,aAAA;AAAA,IACX,UAAY,EAAA;AAAA,MACV,OAAO,EAAE,CAAA;AAAA,MACT,IAAK,EAAA;AAAA,MACL,KAAM,CAAA,EAAE,OAAS,EAAA,UAAA,IAAc,CAAA;AAAA,MAC/B,KAAM,CAAA,EAAE,OAAS,EAAA,QAAA,EAAU,CAAA;AAAA,KAC7B;AAAA,GACD,CAAA,CAAA;AAEH,EAAA,MAAM,EAAE,iBAAA,EAAmB,gBAAiB,EAAA,GAAI,eAAgB,CAAA;AAAA,IAC9D,OAAQ,CAAA,OAAA,EAAS,EAAE,IAAA,EAAM,UAAU,CAAA;AAAA,IACnC,SAAS,OAAO,CAAA;AAAA,IAChB,WAAW,OAAO,CAAA;AAAA,GACnB,CAAA,CAAA;AAED,EAAM,MAAA,cAAA,GAAiB,QAAQ,MAAM;AArEvC,IAAA,IAAA,EAAA,EAAA,EAAA,CAAA;AAsEI,IAAO,OAAA;AAAA,MACL,KAAK,CAAK,IAAA,IAAA,GAAA,CAAA,GAAA,CAAA;AAAA,MACV,MAAM,CAAK,IAAA,IAAA,GAAA,CAAA,GAAA,CAAA;AAAA,MACX,QAAU,EAAA,QAAA;AAAA,MACV,KAAA,EAAA,CAAO,EAAS,GAAA,QAAA,CAAA,QAAA,KAAT,IAAmB,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,WAAA;AAAA,MAC1B,MAAA,EAAA,CAAQ,EAAS,GAAA,QAAA,CAAA,QAAA,KAAT,IAAmB,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,YAAA;AAAA,KAC7B,CAAA;AAAA,KACC,CAAC,QAAA,CAAS,UAAU,QAAU,EAAA,CAAA,EAAG,CAAC,CAAC,CAAA,CAAA;AAEtC,EAAA,MAAM,UAAa,GAAA;AAAA,IACjB,GAAK,EAAA,QAAA;AAAA,IACL,OAAA;AAAA,GACF,CAAA;AAEA,EACE,uBAAA,GAAA,CAAC,eAAe,QAAf,EAAA;AAAA,IACC,KAAO,EAAA;AAAA,MACL,SAAA;AAAA,MACA,cAAA;AAAA,MACA,OAAA;AAAA,MACA,UAAA;AAAA,MACA,QAAA;AAAA,MACA,SAAA;AAAA,MACA,gBAAA;AAAA,MACA,iBAAA;AAAA,KACF;AAAA,IAEC,QAAA;AAAA,GACH,CAAA,CAAA;AAEJ;;;;"}
@@ -0,0 +1,122 @@
1
+ import { createContext } from '../utils/createContext.js';
2
+ import { useContext } from 'react';
3
+ import '../utils/useFloatingUI/useFloatingUI.js';
4
+ import '../utils/useId.js';
5
+ import '../salt-provider/SaltProvider.js';
6
+ import '../viewport/ViewportProvider.js';
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 '../checkbox/Checkbox.js';
24
+ import '../checkbox/CheckboxGroup.js';
25
+ import '@salt-ds/styles';
26
+ import '@salt-ds/window';
27
+ import '@salt-ds/icons';
28
+ import '../combo-box/ComboBox.js';
29
+ import '../dialog/Dialog.js';
30
+ import '../dialog/DialogHeader.js';
31
+ import '../dialog/DialogActions.js';
32
+ import '../dialog/DialogContent.js';
33
+ import '../dialog/DialogContext.js';
34
+ import '../dialog/DialogCloseButton.js';
35
+ import '../drawer/Drawer.js';
36
+ import '../drawer/DrawerCloseButton.js';
37
+ import '../dropdown/Dropdown.js';
38
+ import '../file-drop-zone/FileDropZone.js';
39
+ import '../file-drop-zone/FileDropZoneIcon.js';
40
+ import '../file-drop-zone/FileDropZoneTrigger.js';
41
+ import '../flex-item/FlexItem.js';
42
+ import '../flex-layout/FlexLayout.js';
43
+ import '../flow-layout/FlowLayout.js';
44
+ import '../form-field/FormField.js';
45
+ import '../status-indicator/StatusIndicator.js';
46
+ import '../text/Text.js';
47
+ import '../text/Code.js';
48
+ import '../text/Display.js';
49
+ import '../text/Headings.js';
50
+ import '../text/Label.js';
51
+ import '../text/TextAction.js';
52
+ import '../text/TextNotation.js';
53
+ import '../form-field-context/FormFieldContext.js';
54
+ import '../grid-item/GridItem.js';
55
+ import '../grid-layout/GridLayout.js';
56
+ import '../input/Input.js';
57
+ import '../interactable-card/InteractableCard.js';
58
+ import '../interactable-card/InteractableCardGroup.js';
59
+ import '../interactable-card/InteractableCardGroupContext.js';
60
+ import '../link/Link.js';
61
+ import '../link-card/LinkCard.js';
62
+ import '../list-control/ListControlContext.js';
63
+ import '../multiline-input/MultilineInput.js';
64
+ import '../navigation-item/NavigationItem.js';
65
+ import '../option/Option.js';
66
+ import '../option/OptionGroup.js';
67
+ import '@floating-ui/react';
68
+ import './OverlayPanel.js';
69
+ import './OverlayPanelCloseButton.js';
70
+ import './OverlayPanelContent.js';
71
+ import '../pagination/Pagination.js';
72
+ import '../pagination/Paginator.js';
73
+ import '../pagination/CompactInput.js';
74
+ import '../pagination/CompactPaginator.js';
75
+ import '../pagination/GoToInput.js';
76
+ import '../panel/Panel.js';
77
+ import '../pill/Pill.js';
78
+ import '../progress/CircularProgress/CircularProgress.js';
79
+ import '../progress/LinearProgress/LinearProgress.js';
80
+ import '../radio-button/RadioButton.js';
81
+ import '../radio-button/RadioButtonGroup.js';
82
+ import '../scrim/Scrim.js';
83
+ import '../segmented-button-group/SegmentedButtonGroup.js';
84
+ import '../spinner/Spinner.js';
85
+ import '../stack-layout/StackLayout.js';
86
+ import '../status-adornment/StatusAdornment.js';
87
+ import '../toast/Toast.js';
88
+ import '../toast/ToastContent.js';
89
+ import '../split-layout/SplitLayout.js';
90
+ import '../switch/Switch.js';
91
+ import '../toggle-button/ToggleButton.js';
92
+ import '../toggle-button-group/ToggleButtonGroup.js';
93
+ import '../toggle-button-group/ToggleButtonGroupContext.js';
94
+ import '../tooltip/Tooltip.js';
95
+
96
+ const OverlayContext = createContext(
97
+ "OverlayContext",
98
+ {
99
+ openState: false,
100
+ floatingStyles: {
101
+ top: 0,
102
+ left: 0,
103
+ position: ""
104
+ },
105
+ context: {},
106
+ arrowProps: {},
107
+ reference: {},
108
+ floating: {},
109
+ getFloatingProps() {
110
+ return {};
111
+ },
112
+ getReferenceProps() {
113
+ return {};
114
+ }
115
+ }
116
+ );
117
+ function useOverlayContext() {
118
+ return useContext(OverlayContext);
119
+ }
120
+
121
+ export { OverlayContext, useOverlayContext };
122
+ //# sourceMappingURL=OverlayContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OverlayContext.js","sources":["../src/overlay/OverlayContext.ts"],"sourcesContent":["import {\n FloatingArrowProps,\n FloatingContext,\n ReferenceType,\n Strategy,\n} from \"@floating-ui/react\";\nimport { createContext, useFloatingUI } from \"../utils\";\nimport { useContext } from \"react\";\n\ntype FloatingReturn = ReturnType<typeof useFloatingUI>;\ntype FloatingStyleProps = {\n top: number;\n left: number;\n position: Strategy;\n width?: number;\n height?: number;\n};\n\nexport interface OverlayContextValue {\n openState: boolean;\n floatingStyles: FloatingStyleProps;\n arrowProps: FloatingArrowProps;\n context: FloatingContext;\n reference?: (node: ReferenceType | null) => void;\n floating?: (node: HTMLElement | null) => void;\n getFloatingProps: (\n userProps?: React.HTMLProps<HTMLElement> | undefined\n ) => Record<string, unknown>;\n getReferenceProps: (\n userProps?: React.HTMLProps<Element> | undefined\n ) => Record<string, unknown>;\n}\n\nexport const OverlayContext = createContext<OverlayContextValue>(\n \"OverlayContext\",\n {\n openState: false,\n floatingStyles: {\n top: 0,\n left: 0,\n position: \"\" as Strategy,\n },\n context: {} as FloatingContext,\n arrowProps: {} as FloatingArrowProps,\n reference: {} as FloatingReturn[\"reference\"],\n floating: {} as FloatingReturn[\"floating\"],\n getFloatingProps() {\n return {} as Record<string, unknown>;\n },\n getReferenceProps() {\n return {} as Record<string, unknown>;\n },\n }\n);\n\nexport function useOverlayContext() {\n return useContext(OverlayContext);\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiCO,MAAM,cAAiB,GAAA,aAAA;AAAA,EAC5B,gBAAA;AAAA,EACA;AAAA,IACE,SAAW,EAAA,KAAA;AAAA,IACX,cAAgB,EAAA;AAAA,MACd,GAAK,EAAA,CAAA;AAAA,MACL,IAAM,EAAA,CAAA;AAAA,MACN,QAAU,EAAA,EAAA;AAAA,KACZ;AAAA,IACA,SAAS,EAAC;AAAA,IACV,YAAY,EAAC;AAAA,IACb,WAAW,EAAC;AAAA,IACZ,UAAU,EAAC;AAAA,IACX,gBAAmB,GAAA;AACjB,MAAA,OAAO,EAAC,CAAA;AAAA,KACV;AAAA,IACA,iBAAoB,GAAA;AAClB,MAAA,OAAO,EAAC,CAAA;AAAA,KACV;AAAA,GACF;AACF,EAAA;AAEO,SAAS,iBAAoB,GAAA;AAClC,EAAA,OAAO,WAAW,cAAc,CAAA,CAAA;AAClC;;;;"}
@@ -0,0 +1,4 @@
1
+ var css_248z = ".saltOverlayPanel {\n --overlay-borderColor: var(--saltOverlay-borderColor, var(--salt-container-primary-borderColor));\n --overlay-background: var(--saltOverlay-background, var(--salt-container-primary-background));\n font-family: var(--salt-text-fontFamily);\n font-size: var(--saltOverlay-fontSize, var(--salt-text-fontSize));\n font-weight: var(--saltOverlay-fontWeight, var(--salt-text-fontWeight));\n line-height: var(--saltOverlay-lineHeight, var(--salt-text-lineHeight));\n\n border-color: var(--overlay-borderColor);\n border-style: var(--saltOverlay-borderStyle, var(--salt-container-borderStyle));\n border-width: var(--saltOverlay-borderWidth, var(--salt-size-border));\n border-radius: var(--saltOverlay-borderRadius, var(--salt-palette-corner, 0));\n\n background: var(--overlay-background);\n box-shadow: var(--saltOverlay-boxShadow, var(--salt-overlayable-shadow-popout));\n\n color: var(--saltOverlay-text-color, var(--salt-text-primary-foreground));\n z-index: var(--saltOverlay-zIndex, var(--salt-zIndex-flyover));\n width: max-content;\n}\n";
2
+
3
+ export { css_248z as default };
4
+ //# sourceMappingURL=OverlayPanel.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OverlayPanel.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}