@salt-ds/core 0.0.0-snapshot-20230623164123 → 0.0.0-snapshot-20230802143610

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 (259) hide show
  1. package/dist-cjs/accordion/Accordion.css.js +6 -0
  2. package/dist-cjs/accordion/Accordion.css.js.map +1 -0
  3. package/dist-cjs/accordion/Accordion.js +73 -0
  4. package/dist-cjs/accordion/Accordion.js.map +1 -0
  5. package/dist-cjs/accordion/AccordionContext.js +29 -0
  6. package/dist-cjs/accordion/AccordionContext.js.map +1 -0
  7. package/dist-cjs/accordion/AccordionGroup.css.js +6 -0
  8. package/dist-cjs/accordion/AccordionGroup.css.js.map +1 -0
  9. package/dist-cjs/accordion/AccordionGroup.js +36 -0
  10. package/dist-cjs/accordion/AccordionGroup.js.map +1 -0
  11. package/dist-cjs/accordion/AccordionHeader.css.js +6 -0
  12. package/dist-cjs/accordion/AccordionHeader.css.js.map +1 -0
  13. package/dist-cjs/accordion/AccordionHeader.js +63 -0
  14. package/dist-cjs/accordion/AccordionHeader.js.map +1 -0
  15. package/dist-cjs/accordion/AccordionPanel.css.js +6 -0
  16. package/dist-cjs/accordion/AccordionPanel.css.js.map +1 -0
  17. package/dist-cjs/accordion/AccordionPanel.js +76 -0
  18. package/dist-cjs/accordion/AccordionPanel.js.map +1 -0
  19. package/dist-cjs/button/Button.css.js +1 -1
  20. package/dist-cjs/card/InteractableCard.css.js +1 -1
  21. package/dist-cjs/card/InteractableCard.js +5 -3
  22. package/dist-cjs/card/InteractableCard.js.map +1 -1
  23. package/dist-cjs/checkbox/Checkbox.css.js +1 -1
  24. package/dist-cjs/checkbox/Checkbox.js +36 -19
  25. package/dist-cjs/checkbox/Checkbox.js.map +1 -1
  26. package/dist-cjs/checkbox/CheckboxGroup.js +10 -6
  27. package/dist-cjs/checkbox/CheckboxGroup.js.map +1 -1
  28. package/dist-cjs/checkbox/CheckboxIcon.css.js +1 -1
  29. package/dist-cjs/checkbox/CheckboxIcon.js +45 -27
  30. package/dist-cjs/checkbox/CheckboxIcon.js.map +1 -1
  31. package/dist-cjs/checkbox/internal/CheckboxGroupContext.js.map +1 -1
  32. package/dist-cjs/drawer/Drawer.css.js +6 -0
  33. package/dist-cjs/drawer/Drawer.css.js.map +1 -0
  34. package/dist-cjs/drawer/Drawer.js +82 -0
  35. package/dist-cjs/drawer/Drawer.js.map +1 -0
  36. package/dist-cjs/drawer/useDrawer.js +36 -0
  37. package/dist-cjs/drawer/useDrawer.js.map +1 -0
  38. package/dist-cjs/form-field/FormField.css.js +1 -1
  39. package/dist-cjs/form-field/FormField.js +4 -2
  40. package/dist-cjs/form-field/FormField.js.map +1 -1
  41. package/dist-cjs/form-field/FormFieldHelperText.css.js +1 -1
  42. package/dist-cjs/form-field/FormFieldLabel.css.js +1 -1
  43. package/dist-cjs/form-field/FormFieldLabel.js +15 -6
  44. package/dist-cjs/form-field/FormFieldLabel.js.map +1 -1
  45. package/dist-cjs/form-field-context/FormFieldContext.js.map +1 -1
  46. package/dist-cjs/index.js +27 -10
  47. package/dist-cjs/index.js.map +1 -1
  48. package/dist-cjs/input/Input.css.js +1 -1
  49. package/dist-cjs/input/Input.js +7 -12
  50. package/dist-cjs/input/Input.js.map +1 -1
  51. package/dist-cjs/multiline-input/MultilineInput.css.js +6 -0
  52. package/dist-cjs/multiline-input/MultilineInput.css.js.map +1 -0
  53. package/dist-cjs/multiline-input/MultilineInput.js +170 -0
  54. package/dist-cjs/multiline-input/MultilineInput.js.map +1 -0
  55. package/dist-cjs/radio-button/RadioButton.css.js +1 -1
  56. package/dist-cjs/radio-button/RadioButton.js +28 -10
  57. package/dist-cjs/radio-button/RadioButton.js.map +1 -1
  58. package/dist-cjs/radio-button/RadioButtonGroup.js +5 -1
  59. package/dist-cjs/radio-button/RadioButtonGroup.js.map +1 -1
  60. package/dist-cjs/radio-button/RadioButtonIcon.css.js +1 -1
  61. package/dist-cjs/radio-button/RadioButtonIcon.js +36 -22
  62. package/dist-cjs/radio-button/RadioButtonIcon.js.map +1 -1
  63. package/dist-cjs/radio-button/internal/RadioGroupContext.js.map +1 -1
  64. package/dist-cjs/status-adornment/StatusAdornment.css.js +1 -1
  65. package/dist-cjs/status-adornment/StatusAdornment.js.map +1 -1
  66. package/dist-cjs/text/Text.css.js +1 -1
  67. package/dist-cjs/toast/Toast.css.js +6 -0
  68. package/dist-cjs/toast/Toast.css.js.map +1 -0
  69. package/dist-cjs/toast/Toast.js +50 -0
  70. package/dist-cjs/toast/Toast.js.map +1 -0
  71. package/dist-cjs/toast/ToastContent.css.js +6 -0
  72. package/dist-cjs/toast/ToastContent.css.js.map +1 -0
  73. package/dist-cjs/toast/ToastContent.js +34 -0
  74. package/dist-cjs/toast/ToastContent.js.map +1 -0
  75. package/dist-cjs/toggle-button/ToggleButton.css.js +6 -0
  76. package/dist-cjs/toggle-button/ToggleButton.css.js.map +1 -0
  77. package/dist-cjs/toggle-button/ToggleButton.js +81 -0
  78. package/dist-cjs/toggle-button/ToggleButton.js.map +1 -0
  79. package/dist-cjs/toggle-button-group/ToggleButtonGroup.css.js +6 -0
  80. package/dist-cjs/toggle-button-group/ToggleButtonGroup.css.js.map +1 -0
  81. package/dist-cjs/toggle-button-group/ToggleButtonGroup.js +117 -0
  82. package/dist-cjs/toggle-button-group/ToggleButtonGroup.js.map +1 -0
  83. package/dist-cjs/toggle-button-group/ToggleButtonGroupContext.js +20 -0
  84. package/dist-cjs/toggle-button-group/ToggleButtonGroupContext.js.map +1 -0
  85. package/dist-cjs/tooltip/Tooltip.js +52 -17
  86. package/dist-cjs/tooltip/Tooltip.js.map +1 -1
  87. package/dist-cjs/tooltip/useTooltip.js.map +1 -1
  88. package/dist-cjs/utils/useFloatingUI.js +1 -48
  89. package/dist-cjs/utils/useFloatingUI.js.map +1 -1
  90. package/dist-es/accordion/Accordion.css.js +4 -0
  91. package/dist-es/accordion/Accordion.css.js.map +1 -0
  92. package/dist-es/accordion/Accordion.js +69 -0
  93. package/dist-es/accordion/Accordion.js.map +1 -0
  94. package/dist-es/accordion/AccordionContext.js +24 -0
  95. package/dist-es/accordion/AccordionContext.js.map +1 -0
  96. package/dist-es/accordion/AccordionGroup.css.js +4 -0
  97. package/dist-es/accordion/AccordionGroup.css.js.map +1 -0
  98. package/dist-es/accordion/AccordionGroup.js +32 -0
  99. package/dist-es/accordion/AccordionGroup.js.map +1 -0
  100. package/dist-es/accordion/AccordionHeader.css.js +4 -0
  101. package/dist-es/accordion/AccordionHeader.css.js.map +1 -0
  102. package/dist-es/accordion/AccordionHeader.js +59 -0
  103. package/dist-es/accordion/AccordionHeader.js.map +1 -0
  104. package/dist-es/accordion/AccordionPanel.css.js +4 -0
  105. package/dist-es/accordion/AccordionPanel.css.js.map +1 -0
  106. package/dist-es/accordion/AccordionPanel.js +72 -0
  107. package/dist-es/accordion/AccordionPanel.js.map +1 -0
  108. package/dist-es/button/Button.css.js +1 -1
  109. package/dist-es/card/InteractableCard.css.js +1 -1
  110. package/dist-es/card/InteractableCard.js +5 -3
  111. package/dist-es/card/InteractableCard.js.map +1 -1
  112. package/dist-es/checkbox/Checkbox.css.js +1 -1
  113. package/dist-es/checkbox/Checkbox.js +36 -19
  114. package/dist-es/checkbox/Checkbox.js.map +1 -1
  115. package/dist-es/checkbox/CheckboxGroup.js +10 -6
  116. package/dist-es/checkbox/CheckboxGroup.js.map +1 -1
  117. package/dist-es/checkbox/CheckboxIcon.css.js +1 -1
  118. package/dist-es/checkbox/CheckboxIcon.js +46 -28
  119. package/dist-es/checkbox/CheckboxIcon.js.map +1 -1
  120. package/dist-es/checkbox/internal/CheckboxGroupContext.js.map +1 -1
  121. package/dist-es/drawer/Drawer.css.js +4 -0
  122. package/dist-es/drawer/Drawer.css.js.map +1 -0
  123. package/dist-es/drawer/Drawer.js +77 -0
  124. package/dist-es/drawer/Drawer.js.map +1 -0
  125. package/dist-es/drawer/useDrawer.js +32 -0
  126. package/dist-es/drawer/useDrawer.js.map +1 -0
  127. package/dist-es/form-field/FormField.css.js +1 -1
  128. package/dist-es/form-field/FormField.js +4 -2
  129. package/dist-es/form-field/FormField.js.map +1 -1
  130. package/dist-es/form-field/FormFieldHelperText.css.js +1 -1
  131. package/dist-es/form-field/FormFieldLabel.css.js +1 -1
  132. package/dist-es/form-field/FormFieldLabel.js +16 -7
  133. package/dist-es/form-field/FormFieldLabel.js.map +1 -1
  134. package/dist-es/form-field-context/FormFieldContext.js.map +1 -1
  135. package/dist-es/index.js +14 -3
  136. package/dist-es/index.js.map +1 -1
  137. package/dist-es/input/Input.css.js +1 -1
  138. package/dist-es/input/Input.js +7 -12
  139. package/dist-es/input/Input.js.map +1 -1
  140. package/dist-es/multiline-input/MultilineInput.css.js +4 -0
  141. package/dist-es/multiline-input/MultilineInput.css.js.map +1 -0
  142. package/dist-es/multiline-input/MultilineInput.js +166 -0
  143. package/dist-es/multiline-input/MultilineInput.js.map +1 -0
  144. package/dist-es/radio-button/RadioButton.css.js +1 -1
  145. package/dist-es/radio-button/RadioButton.js +28 -10
  146. package/dist-es/radio-button/RadioButton.js.map +1 -1
  147. package/dist-es/radio-button/RadioButtonGroup.js +5 -1
  148. package/dist-es/radio-button/RadioButtonGroup.js.map +1 -1
  149. package/dist-es/radio-button/RadioButtonIcon.css.js +1 -1
  150. package/dist-es/radio-button/RadioButtonIcon.js +36 -22
  151. package/dist-es/radio-button/RadioButtonIcon.js.map +1 -1
  152. package/dist-es/radio-button/internal/RadioGroupContext.js.map +1 -1
  153. package/dist-es/status-adornment/StatusAdornment.css.js +1 -1
  154. package/dist-es/status-adornment/StatusAdornment.js.map +1 -1
  155. package/dist-es/text/Text.css.js +1 -1
  156. package/dist-es/toast/Toast.css.js +4 -0
  157. package/dist-es/toast/Toast.css.js.map +1 -0
  158. package/dist-es/toast/Toast.js +46 -0
  159. package/dist-es/toast/Toast.js.map +1 -0
  160. package/dist-es/toast/ToastContent.css.js +4 -0
  161. package/dist-es/toast/ToastContent.css.js.map +1 -0
  162. package/dist-es/toast/ToastContent.js +30 -0
  163. package/dist-es/toast/ToastContent.js.map +1 -0
  164. package/dist-es/toggle-button/ToggleButton.css.js +4 -0
  165. package/dist-es/toggle-button/ToggleButton.css.js.map +1 -0
  166. package/dist-es/toggle-button/ToggleButton.js +77 -0
  167. package/dist-es/toggle-button/ToggleButton.js.map +1 -0
  168. package/dist-es/toggle-button-group/ToggleButtonGroup.css.js +4 -0
  169. package/dist-es/toggle-button-group/ToggleButtonGroup.css.js.map +1 -0
  170. package/dist-es/toggle-button-group/ToggleButtonGroup.js +113 -0
  171. package/dist-es/toggle-button-group/ToggleButtonGroup.js.map +1 -0
  172. package/dist-es/toggle-button-group/ToggleButtonGroupContext.js +15 -0
  173. package/dist-es/toggle-button-group/ToggleButtonGroupContext.js.map +1 -0
  174. package/dist-es/tooltip/Tooltip.js +52 -17
  175. package/dist-es/tooltip/Tooltip.js.map +1 -1
  176. package/dist-es/tooltip/useTooltip.js.map +1 -1
  177. package/dist-es/utils/useFloatingUI.js +3 -46
  178. package/dist-es/utils/useFloatingUI.js.map +1 -1
  179. package/dist-types/accordion/Accordion.d.ts +29 -0
  180. package/dist-types/accordion/AccordionContext.d.ts +11 -0
  181. package/dist-types/accordion/AccordionGroup.d.ts +3 -0
  182. package/dist-types/accordion/AccordionHeader.d.ts +3 -0
  183. package/dist-types/accordion/AccordionPanel.d.ts +3 -0
  184. package/dist-types/accordion/index.d.ts +4 -0
  185. package/dist-types/card/InteractableCard.d.ts +2 -3
  186. package/dist-types/checkbox/Checkbox.d.ts +6 -2
  187. package/dist-types/checkbox/CheckboxGroup.d.ts +6 -1
  188. package/dist-types/checkbox/CheckboxIcon.d.ts +7 -2
  189. package/dist-types/checkbox/internal/CheckboxGroupContext.d.ts +3 -1
  190. package/dist-types/drawer/Drawer.d.ts +22 -0
  191. package/dist-types/drawer/index.d.ts +2 -0
  192. package/dist-types/drawer/useDrawer.d.ts +27 -0
  193. package/dist-types/form-field/FormField.d.ts +5 -1
  194. package/dist-types/form-field/FormFieldLabel.d.ts +10 -1
  195. package/dist-types/form-field/index.d.ts +0 -1
  196. package/dist-types/form-field-context/FormFieldContext.d.ts +3 -0
  197. package/dist-types/index.d.ts +7 -0
  198. package/dist-types/input/index.d.ts +0 -1
  199. package/dist-types/multiline-input/MultilineInput.d.ts +40 -0
  200. package/dist-types/multiline-input/index.d.ts +1 -0
  201. package/dist-types/radio-button/RadioButton.d.ts +12 -4
  202. package/dist-types/radio-button/RadioButtonGroup.d.ts +4 -0
  203. package/dist-types/radio-button/RadioButtonIcon.d.ts +10 -5
  204. package/dist-types/radio-button/internal/RadioGroupContext.d.ts +3 -1
  205. package/dist-types/status-adornment/StatusAdornment.d.ts +1 -2
  206. package/dist-types/toast/Toast.d.ts +9 -0
  207. package/dist-types/toast/ToastContent.d.ts +2 -0
  208. package/dist-types/toast/index.d.ts +2 -0
  209. package/dist-types/toggle-button/ToggleButton.d.ts +7 -0
  210. package/dist-types/toggle-button/index.d.ts +1 -0
  211. package/dist-types/toggle-button-group/ToggleButtonGroup.d.ts +25 -0
  212. package/dist-types/toggle-button-group/ToggleButtonGroupContext.d.ts +10 -0
  213. package/dist-types/toggle-button-group/index.d.ts +2 -0
  214. package/dist-types/utils/useFloatingUI.d.ts +1 -22
  215. package/package.json +8 -8
  216. package/dist-cjs/checkbox/assets/CheckboxCheckedIcon.js +0 -33
  217. package/dist-cjs/checkbox/assets/CheckboxCheckedIcon.js.map +0 -1
  218. package/dist-cjs/checkbox/assets/CheckboxCheckedIconHD.js +0 -32
  219. package/dist-cjs/checkbox/assets/CheckboxCheckedIconHD.js.map +0 -1
  220. package/dist-cjs/checkbox/assets/CheckboxIndeterminateIcon.js +0 -37
  221. package/dist-cjs/checkbox/assets/CheckboxIndeterminateIcon.js.map +0 -1
  222. package/dist-cjs/checkbox/assets/CheckboxUncheckedIcon.js +0 -26
  223. package/dist-cjs/checkbox/assets/CheckboxUncheckedIcon.js.map +0 -1
  224. package/dist-cjs/form-field/FormFieldControlWrapper.css.js +0 -6
  225. package/dist-cjs/form-field/FormFieldControlWrapper.css.js.map +0 -1
  226. package/dist-cjs/form-field/FormFieldControlWrapper.js +0 -47
  227. package/dist-cjs/form-field/FormFieldControlWrapper.js.map +0 -1
  228. package/dist-cjs/input/adornment-button/AdornmentButton.css.js +0 -6
  229. package/dist-cjs/input/adornment-button/AdornmentButton.css.js.map +0 -1
  230. package/dist-cjs/input/adornment-button/AdornmentButton.js +0 -41
  231. package/dist-cjs/input/adornment-button/AdornmentButton.js.map +0 -1
  232. package/dist-cjs/tooltip/TooltipBase.js +0 -62
  233. package/dist-cjs/tooltip/TooltipBase.js.map +0 -1
  234. package/dist-es/checkbox/assets/CheckboxCheckedIcon.js +0 -29
  235. package/dist-es/checkbox/assets/CheckboxCheckedIcon.js.map +0 -1
  236. package/dist-es/checkbox/assets/CheckboxCheckedIconHD.js +0 -28
  237. package/dist-es/checkbox/assets/CheckboxCheckedIconHD.js.map +0 -1
  238. package/dist-es/checkbox/assets/CheckboxIndeterminateIcon.js +0 -33
  239. package/dist-es/checkbox/assets/CheckboxIndeterminateIcon.js.map +0 -1
  240. package/dist-es/checkbox/assets/CheckboxUncheckedIcon.js +0 -22
  241. package/dist-es/checkbox/assets/CheckboxUncheckedIcon.js.map +0 -1
  242. package/dist-es/form-field/FormFieldControlWrapper.css.js +0 -4
  243. package/dist-es/form-field/FormFieldControlWrapper.css.js.map +0 -1
  244. package/dist-es/form-field/FormFieldControlWrapper.js +0 -41
  245. package/dist-es/form-field/FormFieldControlWrapper.js.map +0 -1
  246. package/dist-es/input/adornment-button/AdornmentButton.css.js +0 -4
  247. package/dist-es/input/adornment-button/AdornmentButton.css.js.map +0 -1
  248. package/dist-es/input/adornment-button/AdornmentButton.js +0 -37
  249. package/dist-es/input/adornment-button/AdornmentButton.js.map +0 -1
  250. package/dist-es/tooltip/TooltipBase.js +0 -58
  251. package/dist-es/tooltip/TooltipBase.js.map +0 -1
  252. package/dist-types/checkbox/assets/CheckboxCheckedIcon.d.ts +0 -4
  253. package/dist-types/checkbox/assets/CheckboxCheckedIconHD.d.ts +0 -4
  254. package/dist-types/checkbox/assets/CheckboxIndeterminateIcon.d.ts +0 -4
  255. package/dist-types/checkbox/assets/CheckboxUncheckedIcon.d.ts +0 -4
  256. package/dist-types/checkbox/assets/index.d.ts +0 -4
  257. package/dist-types/form-field/FormFieldControlWrapper.d.ts +0 -11
  258. package/dist-types/input/adornment-button/AdornmentButton.d.ts +0 -4
  259. package/dist-types/tooltip/TooltipBase.d.ts +0 -13
@@ -2,49 +2,8 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var jsxRuntime = require('react/jsx-runtime');
6
5
  var react = require('@floating-ui/react');
7
- var React = require('react');
8
- var SaltProvider = require('../salt-provider/SaltProvider.js');
9
6
 
10
- const FloatingComponentContext = React.createContext({
11
- Component: React.forwardRef((props, ref) => {
12
- const { open, disabled, ...rest } = props;
13
- return open && !disabled ? /* @__PURE__ */ jsxRuntime.jsx(react.FloatingPortal, {
14
- children: /* @__PURE__ */ jsxRuntime.jsx(SaltProvider.SaltProvider, {
15
- children: /* @__PURE__ */ jsxRuntime.jsx("div", {
16
- ...rest,
17
- ref
18
- })
19
- })
20
- }) : null;
21
- })
22
- });
23
- if (process.env.NODE_ENV !== "production") {
24
- FloatingComponentContext.displayName = "FloatingComponentContext";
25
- }
26
- function FloatingComponentProvider(props) {
27
- const { Component, children } = props;
28
- const value = React.useMemo(() => ({ Component }), [Component]);
29
- return /* @__PURE__ */ jsxRuntime.jsx(FloatingComponentContext.Provider, {
30
- value,
31
- children
32
- });
33
- }
34
- function useFloatingComponent() {
35
- return React.useContext(FloatingComponentContext);
36
- }
37
- const PlatformContext = React.createContext(react.platform);
38
- function FloatingPlatformProvider(props) {
39
- const { platform: platformProp, children } = props;
40
- return /* @__PURE__ */ jsxRuntime.jsx(PlatformContext.Provider, {
41
- value: platformProp,
42
- children
43
- });
44
- }
45
- function usePlatform() {
46
- return React.useContext(PlatformContext);
47
- }
48
7
  const DEFAULT_FLOATING_UI_MIDDLEWARE = [
49
8
  react.flip(),
50
9
  react.shift({ limiter: react.limitShift() })
@@ -57,15 +16,13 @@ function useFloatingUI(props) {
57
16
  open = false,
58
17
  onOpenChange
59
18
  } = props;
60
- const platform2 = usePlatform();
61
19
  const { reference, floating, refs, update, ...rest } = react.useFloating({
62
20
  placement,
63
21
  strategy,
64
22
  middleware,
65
23
  open,
66
24
  onOpenChange,
67
- whileElementsMounted: react.autoUpdate,
68
- platform: platform2
25
+ whileElementsMounted: react.autoUpdate
69
26
  });
70
27
  return {
71
28
  reference,
@@ -77,9 +34,5 @@ function useFloatingUI(props) {
77
34
  }
78
35
 
79
36
  exports.DEFAULT_FLOATING_UI_MIDDLEWARE = DEFAULT_FLOATING_UI_MIDDLEWARE;
80
- exports.FloatingComponentProvider = FloatingComponentProvider;
81
- exports.FloatingPlatformProvider = FloatingPlatformProvider;
82
- exports.useFloatingComponent = useFloatingComponent;
83
37
  exports.useFloatingUI = useFloatingUI;
84
- exports.usePlatform = usePlatform;
85
38
  //# sourceMappingURL=useFloatingUI.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useFloatingUI.js","sources":["../src/utils/useFloatingUI.tsx"],"sourcesContent":["import type {\n Middleware,\n Placement,\n Platform,\n Strategy,\n} from \"@floating-ui/react\";\nimport {\n autoUpdate,\n flip,\n limitShift,\n platform,\n shift,\n useFloating,\n} from \"@floating-ui/react\";\nimport {\n createContext,\n ReactNode,\n useContext,\n useMemo,\n ForwardedRef,\n forwardRef,\n PropsWithChildren,\n ComponentType,\n} from \"react\";\n\nimport { FloatingPortal } from \"@floating-ui/react\";\nimport { SaltProvider } from \"../salt-provider\";\n\nexport interface FloatingComponentProps extends UseFloatingUIProps {\n /**\n * Option to not render the popper.\n */\n disabled: boolean;\n}\n\nexport interface FloatingComponentContextType {\n Component: ComponentType<PropsWithChildren<FloatingComponentProps>>;\n}\n\nconst FloatingComponentContext = createContext<FloatingComponentContextType>({\n Component: forwardRef((props, ref: ForwardedRef<HTMLDivElement>) => {\n const { open, disabled, ...rest } = props;\n return open && !disabled ? (\n <FloatingPortal>\n <SaltProvider>\n <div {...rest} ref={ref} />\n </SaltProvider>\n </FloatingPortal>\n ) : null;\n }),\n});\n\nif (process.env.NODE_ENV !== \"production\") {\n FloatingComponentContext.displayName = \"FloatingComponentContext\";\n}\n\nexport interface FloatingComponentProviderProps\n extends FloatingComponentContextType {\n children: ReactNode;\n}\n\nexport function FloatingComponentProvider(\n props: FloatingComponentProviderProps\n) {\n const { Component, children } = props;\n const value = useMemo(() => ({ Component }), [Component]);\n\n return (\n <FloatingComponentContext.Provider value={value}>\n {children}\n </FloatingComponentContext.Provider>\n );\n}\n\nexport function useFloatingComponent() {\n return useContext(FloatingComponentContext);\n}\n\nexport type UseFloatingUIProps = {\n /**\n * Sets position relative to trigger.\n */\n placement?: Placement;\n strategy?: Strategy;\n middleware?: Middleware[];\n /**\n * Sets visible state.\n */\n open?: boolean;\n /**\n * Callback function triggered when open state changes.\n */\n onOpenChange?: (open: boolean) => void;\n};\n\nconst PlatformContext = createContext<Platform>(platform);\n\nexport interface FloatingPlatformProviderProps {\n platform: Platform;\n children: ReactNode;\n}\n\nexport function FloatingPlatformProvider(props: FloatingPlatformProviderProps) {\n const { platform: platformProp, children } = props;\n\n return (\n <PlatformContext.Provider value={platformProp}>\n {children}\n </PlatformContext.Provider>\n );\n}\n\nexport function usePlatform() {\n return useContext(PlatformContext);\n}\n\nexport const DEFAULT_FLOATING_UI_MIDDLEWARE = [\n flip(),\n shift({ limiter: limitShift() }),\n];\n\nexport function useFloatingUI(\n props: UseFloatingUIProps\n): ReturnType<typeof useFloating> {\n const {\n placement,\n strategy,\n middleware = DEFAULT_FLOATING_UI_MIDDLEWARE,\n open = false,\n onOpenChange,\n } = props;\n\n const platform = usePlatform();\n\n const { reference, floating, refs, update, ...rest } = useFloating({\n placement,\n strategy,\n middleware,\n open,\n onOpenChange,\n whileElementsMounted: autoUpdate,\n platform,\n });\n\n return {\n reference,\n floating,\n refs,\n update,\n ...rest,\n };\n}\n"],"names":["createContext","forwardRef","jsx","FloatingPortal","SaltProvider","useMemo","useContext","platform","flip","shift","limitShift","useFloating","autoUpdate"],"mappings":";;;;;;;;;AAuCA,MAAM,2BAA2BA,mBAA4C,CAAA;AAAA,EAC3E,SAAW,EAAAC,gBAAA,CAAW,CAAC,KAAA,EAAO,GAAsC,KAAA;AAClE,IAAA,MAAM,EAAE,IAAA,EAAM,QAAa,EAAA,GAAA,IAAA,EAAS,GAAA,KAAA,CAAA;AACpC,IAAO,OAAA,IAAA,IAAQ,CAAC,QAAA,mBACbC,cAAA,CAAAC,oBAAA,EAAA;AAAA,MACC,QAAC,kBAAAD,cAAA,CAAAE,yBAAA,EAAA;AAAA,QACC,QAAC,kBAAAF,cAAA,CAAA,KAAA,EAAA;AAAA,UAAK,GAAG,IAAA;AAAA,UAAM,GAAA;AAAA,SAAU,CAAA;AAAA,OAC3B,CAAA;AAAA,KACF,CACE,GAAA,IAAA,CAAA;AAAA,GACL,CAAA;AACH,CAAC,CAAA,CAAA;AAED,IAAI,OAAA,CAAQ,GAAI,CAAA,QAAA,KAAa,YAAc,EAAA;AACzC,EAAA,wBAAA,CAAyB,WAAc,GAAA,0BAAA,CAAA;AACzC,CAAA;AAOO,SAAS,0BACd,KACA,EAAA;AACA,EAAM,MAAA,EAAE,SAAW,EAAA,QAAA,EAAa,GAAA,KAAA,CAAA;AAChC,EAAM,MAAA,KAAA,GAAQG,cAAQ,OAAO,EAAE,WAAc,CAAA,EAAA,CAAC,SAAS,CAAC,CAAA,CAAA;AAExD,EACE,uBAAAH,cAAA,CAAC,yBAAyB,QAAzB,EAAA;AAAA,IAAkC,KAAA;AAAA,IAChC,QAAA;AAAA,GACH,CAAA,CAAA;AAEJ,CAAA;AAEO,SAAS,oBAAuB,GAAA;AACrC,EAAA,OAAOI,iBAAW,wBAAwB,CAAA,CAAA;AAC5C,CAAA;AAmBA,MAAM,eAAA,GAAkBN,oBAAwBO,cAAQ,CAAA,CAAA;AAOjD,SAAS,yBAAyB,KAAsC,EAAA;AAC7E,EAAA,MAAM,EAAE,QAAA,EAAU,YAAc,EAAA,QAAA,EAAa,GAAA,KAAA,CAAA;AAE7C,EACE,uBAAAL,cAAA,CAAC,gBAAgB,QAAhB,EAAA;AAAA,IAAyB,KAAO,EAAA,YAAA;AAAA,IAC9B,QAAA;AAAA,GACH,CAAA,CAAA;AAEJ,CAAA;AAEO,SAAS,WAAc,GAAA;AAC5B,EAAA,OAAOI,iBAAW,eAAe,CAAA,CAAA;AACnC,CAAA;AAEO,MAAM,8BAAiC,GAAA;AAAA,EAC5CE,UAAK,EAAA;AAAA,EACLC,WAAM,CAAA,EAAE,OAAS,EAAAC,gBAAA,IAAc,CAAA;AACjC,EAAA;AAEO,SAAS,cACd,KACgC,EAAA;AAChC,EAAM,MAAA;AAAA,IACJ,SAAA;AAAA,IACA,QAAA;AAAA,IACA,UAAa,GAAA,8BAAA;AAAA,IACb,IAAO,GAAA,KAAA;AAAA,IACP,YAAA;AAAA,GACE,GAAA,KAAA,CAAA;AAEJ,EAAA,MAAMH,YAAW,WAAY,EAAA,CAAA;AAE7B,EAAA,MAAM,EAAE,SAAW,EAAA,QAAA,EAAU,MAAM,MAAW,EAAA,GAAA,IAAA,KAASI,iBAAY,CAAA;AAAA,IACjE,SAAA;AAAA,IACA,QAAA;AAAA,IACA,UAAA;AAAA,IACA,IAAA;AAAA,IACA,YAAA;AAAA,IACA,oBAAsB,EAAAC,gBAAA;AAAA,IACtB,QAAAL,EAAAA,SAAAA;AAAA,GACD,CAAA,CAAA;AAED,EAAO,OAAA;AAAA,IACL,SAAA;AAAA,IACA,QAAA;AAAA,IACA,IAAA;AAAA,IACA,MAAA;AAAA,IACA,GAAG,IAAA;AAAA,GACL,CAAA;AACF;;;;;;;;;"}
1
+ {"version":3,"file":"useFloatingUI.js","sources":["../src/utils/useFloatingUI.tsx"],"sourcesContent":["import type { Middleware, Placement, Strategy } from \"@floating-ui/react\";\nimport {\n autoUpdate,\n flip,\n limitShift,\n shift,\n useFloating,\n} from \"@floating-ui/react\";\n\nexport type UseFloatingUIProps = {\n /**\n * Sets position relative to trigger.\n */\n placement?: Placement;\n strategy?: Strategy;\n middleware?: Middleware[];\n /**\n * Sets visible state.\n */\n open?: boolean;\n /**\n * Callback function triggered when open state changes.\n */\n onOpenChange?: (open: boolean) => void;\n};\n\nexport const DEFAULT_FLOATING_UI_MIDDLEWARE = [\n flip(),\n shift({ limiter: limitShift() }),\n];\n\nexport function useFloatingUI(\n props: UseFloatingUIProps\n): ReturnType<typeof useFloating> {\n const {\n placement,\n strategy,\n middleware = DEFAULT_FLOATING_UI_MIDDLEWARE,\n open = false,\n onOpenChange,\n } = props;\n\n const { reference, floating, refs, update, ...rest } = useFloating({\n placement,\n strategy,\n middleware,\n open,\n onOpenChange,\n whileElementsMounted: autoUpdate,\n });\n\n return {\n reference,\n floating,\n refs,\n update,\n ...rest,\n };\n}\n"],"names":["flip","shift","limitShift","useFloating","autoUpdate"],"mappings":";;;;;;AA0BO,MAAM,8BAAiC,GAAA;AAAA,EAC5CA,UAAK,EAAA;AAAA,EACLC,WAAM,CAAA,EAAE,OAAS,EAAAC,gBAAA,IAAc,CAAA;AACjC,EAAA;AAEO,SAAS,cACd,KACgC,EAAA;AAChC,EAAM,MAAA;AAAA,IACJ,SAAA;AAAA,IACA,QAAA;AAAA,IACA,UAAa,GAAA,8BAAA;AAAA,IACb,IAAO,GAAA,KAAA;AAAA,IACP,YAAA;AAAA,GACE,GAAA,KAAA,CAAA;AAEJ,EAAA,MAAM,EAAE,SAAW,EAAA,QAAA,EAAU,MAAM,MAAW,EAAA,GAAA,IAAA,KAASC,iBAAY,CAAA;AAAA,IACjE,SAAA;AAAA,IACA,QAAA;AAAA,IACA,UAAA;AAAA,IACA,IAAA;AAAA,IACA,YAAA;AAAA,IACA,oBAAsB,EAAAC,gBAAA;AAAA,GACvB,CAAA,CAAA;AAED,EAAO,OAAA;AAAA,IACL,SAAA;AAAA,IACA,QAAA;AAAA,IACA,IAAA;AAAA,IACA,MAAA;AAAA,IACA,GAAG,IAAA;AAAA,GACL,CAAA;AACF;;;;;"}
@@ -0,0 +1,4 @@
1
+ var css_248z = ".saltAccordion {\n border-top: var(--salt-size-border) var(--salt-separable-borderStyle) var(--salt-separable-tertiary-borderColor);\n}\n\n.saltAccordion-error {\n border-top-color: var(--salt-status-error-borderColor);\n}\n\n.saltAccordion-warning {\n border-top-color: var(--salt-status-warning-borderColor);\n}\n\n.saltAccordion-success {\n border-top-color: var(--salt-status-success-borderColor);\n}\n";
2
+
3
+ export { css_248z as default };
4
+ //# sourceMappingURL=Accordion.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Accordion.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
@@ -0,0 +1,69 @@
1
+ import { jsx } from 'react/jsx-runtime';
2
+ import { forwardRef } from 'react';
3
+ import { clsx } from 'clsx';
4
+ import { AccordionContext } from './AccordionContext.js';
5
+ import { useWindow } from '@salt-ds/window';
6
+ import { useComponentCssInjection } from '@salt-ds/styles';
7
+ import { makePrefixer } from '../utils/makePrefixer.js';
8
+ import { useControlled } from '../utils/useControlled.js';
9
+ import '../utils/useFloatingUI.js';
10
+ import { useId } from '../utils/useId.js';
11
+ import '../salt-provider/SaltProvider.js';
12
+ import '../viewport/ViewportProvider.js';
13
+ import css_248z from './Accordion.css.js';
14
+
15
+ const withBaseName = makePrefixer("saltAccordion");
16
+ const Accordion = forwardRef(
17
+ function Accordion2(props, ref) {
18
+ const {
19
+ className,
20
+ defaultExpanded,
21
+ expanded: expandedProp,
22
+ disabled,
23
+ id: idProp,
24
+ onToggle,
25
+ status,
26
+ value,
27
+ ...rest
28
+ } = props;
29
+ const id = useId(idProp);
30
+ const targetWindow = useWindow();
31
+ useComponentCssInjection({
32
+ testId: "salt-accordion",
33
+ css: css_248z,
34
+ window: targetWindow
35
+ });
36
+ const [expanded, setExpanded] = useControlled({
37
+ controlled: expandedProp,
38
+ default: Boolean(defaultExpanded),
39
+ name: "Accordion",
40
+ state: "expanded"
41
+ });
42
+ const toggle = (event) => {
43
+ setExpanded((prev) => !prev);
44
+ onToggle == null ? void 0 : onToggle(event);
45
+ };
46
+ return /* @__PURE__ */ jsx(AccordionContext.Provider, {
47
+ value: {
48
+ value,
49
+ toggle,
50
+ expanded,
51
+ disabled: Boolean(disabled),
52
+ id: id != null ? id : "",
53
+ status
54
+ },
55
+ children: /* @__PURE__ */ jsx("div", {
56
+ ref,
57
+ className: clsx(
58
+ withBaseName(),
59
+ { [withBaseName(status != null ? status : "")]: status },
60
+ className
61
+ ),
62
+ ...rest
63
+ })
64
+ });
65
+ }
66
+ );
67
+
68
+ export { Accordion };
69
+ //# sourceMappingURL=Accordion.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Accordion.js","sources":["../src/accordion/Accordion.tsx"],"sourcesContent":["import { ComponentPropsWithoutRef, forwardRef, SyntheticEvent } from \"react\";\nimport { clsx } from \"clsx\";\nimport { AccordionContext } from \"./AccordionContext\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { makePrefixer, useControlled, useId } from \"../utils\";\nimport accordionCss from \"./Accordion.css\";\nexport interface AccordionProps extends ComponentPropsWithoutRef<\"div\"> {\n /**\n * AccordionGroup value.\n */\n value: string;\n /**\n * Whether the accordion is expanded.\n */\n expanded?: boolean;\n /**\n * Whether the accordion is expanded by default.\n */\n defaultExpanded?: boolean;\n /**\n * Callback fired when the accordion is toggled.\n * @param event\n */\n onToggle?: (event: SyntheticEvent<HTMLButtonElement>) => void;\n /**\n * Whether the accordion is disabled.\n */\n disabled?: boolean;\n /**\n * The status of the accordion.\n */\n status?: \"error\" | \"warning\" | \"success\";\n}\n\nconst withBaseName = makePrefixer(\"saltAccordion\");\n\nexport const Accordion = forwardRef<HTMLDivElement, AccordionProps>(\n function Accordion(props, ref) {\n const {\n className,\n defaultExpanded,\n expanded: expandedProp,\n disabled,\n id: idProp,\n onToggle,\n status,\n value,\n ...rest\n } = props;\n\n const id = useId(idProp);\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-accordion\",\n css: accordionCss,\n window: targetWindow,\n });\n\n const [expanded, setExpanded] = useControlled({\n controlled: expandedProp,\n default: Boolean(defaultExpanded),\n name: \"Accordion\",\n state: \"expanded\",\n });\n\n const toggle = (event: SyntheticEvent<HTMLButtonElement>) => {\n setExpanded((prev) => !prev);\n onToggle?.(event);\n };\n\n return (\n <AccordionContext.Provider\n value={{\n value,\n toggle,\n expanded,\n disabled: Boolean(disabled),\n id: id ?? \"\",\n status,\n }}\n >\n <div\n ref={ref}\n className={clsx(\n withBaseName(),\n { [withBaseName(status ?? \"\")]: status },\n className\n )}\n {...rest}\n />\n </AccordionContext.Provider>\n );\n }\n);\n"],"names":["Accordion","accordionCss"],"mappings":";;;;;;;;;;;;;;AAmCA,MAAM,YAAA,GAAe,aAAa,eAAe,CAAA,CAAA;AAE1C,MAAM,SAAY,GAAA,UAAA;AAAA,EACvB,SAASA,UAAU,CAAA,KAAA,EAAO,GAAK,EAAA;AAC7B,IAAM,MAAA;AAAA,MACJ,SAAA;AAAA,MACA,eAAA;AAAA,MACA,QAAU,EAAA,YAAA;AAAA,MACV,QAAA;AAAA,MACA,EAAI,EAAA,MAAA;AAAA,MACJ,QAAA;AAAA,MACA,MAAA;AAAA,MACA,KAAA;AAAA,MACG,GAAA,IAAA;AAAA,KACD,GAAA,KAAA,CAAA;AAEJ,IAAM,MAAA,EAAA,GAAK,MAAM,MAAM,CAAA,CAAA;AACvB,IAAA,MAAM,eAAe,SAAU,EAAA,CAAA;AAC/B,IAAyB,wBAAA,CAAA;AAAA,MACvB,MAAQ,EAAA,gBAAA;AAAA,MACR,GAAK,EAAAC,QAAA;AAAA,MACL,MAAQ,EAAA,YAAA;AAAA,KACT,CAAA,CAAA;AAED,IAAA,MAAM,CAAC,QAAA,EAAU,WAAW,CAAA,GAAI,aAAc,CAAA;AAAA,MAC5C,UAAY,EAAA,YAAA;AAAA,MACZ,OAAA,EAAS,QAAQ,eAAe,CAAA;AAAA,MAChC,IAAM,EAAA,WAAA;AAAA,MACN,KAAO,EAAA,UAAA;AAAA,KACR,CAAA,CAAA;AAED,IAAM,MAAA,MAAA,GAAS,CAAC,KAA6C,KAAA;AAC3D,MAAY,WAAA,CAAA,CAAC,IAAS,KAAA,CAAC,IAAI,CAAA,CAAA;AAC3B,MAAW,QAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,QAAA,CAAA,KAAA,CAAA,CAAA;AAAA,KACb,CAAA;AAEA,IACE,uBAAA,GAAA,CAAC,iBAAiB,QAAjB,EAAA;AAAA,MACC,KAAO,EAAA;AAAA,QACL,KAAA;AAAA,QACA,MAAA;AAAA,QACA,QAAA;AAAA,QACA,QAAA,EAAU,QAAQ,QAAQ,CAAA;AAAA,QAC1B,IAAI,EAAM,IAAA,IAAA,GAAA,EAAA,GAAA,EAAA;AAAA,QACV,MAAA;AAAA,OACF;AAAA,MAEA,QAAC,kBAAA,GAAA,CAAA,KAAA,EAAA;AAAA,QACC,GAAA;AAAA,QACA,SAAW,EAAA,IAAA;AAAA,UACT,YAAa,EAAA;AAAA,UACb,EAAE,CAAC,YAAA,CAAa,MAAU,IAAA,IAAA,GAAA,MAAA,GAAA,EAAE,IAAI,MAAO,EAAA;AAAA,UACvC,SAAA;AAAA,SACF;AAAA,QACC,GAAG,IAAA;AAAA,OACN,CAAA;AAAA,KACF,CAAA,CAAA;AAAA,GAEJ;AACF;;;;"}
@@ -0,0 +1,24 @@
1
+ import { useContext } from 'react';
2
+ import { createContext } from '../utils/createContext.js';
3
+ import '../utils/useFloatingUI.js';
4
+ import '../utils/useId.js';
5
+ import '../salt-provider/SaltProvider.js';
6
+ import '../viewport/ViewportProvider.js';
7
+ import 'clsx';
8
+
9
+ const AccordionContext = createContext(
10
+ "AccordionContext",
11
+ {
12
+ value: "",
13
+ expanded: false,
14
+ toggle: () => void 0,
15
+ disabled: false,
16
+ id: ""
17
+ }
18
+ );
19
+ function useAccordion() {
20
+ return useContext(AccordionContext);
21
+ }
22
+
23
+ export { AccordionContext, useAccordion };
24
+ //# sourceMappingURL=AccordionContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AccordionContext.js","sources":["../src/accordion/AccordionContext.ts"],"sourcesContent":["import { SyntheticEvent, useContext } from \"react\";\nimport { createContext } from \"../utils\";\n\nexport interface AccordionContextValue {\n value: string;\n expanded: boolean;\n toggle: (event: SyntheticEvent<HTMLButtonElement>) => void;\n disabled: boolean;\n id: string;\n status?: \"error\" | \"warning\" | \"success\";\n}\n\nexport const AccordionContext = createContext<AccordionContextValue>(\n \"AccordionContext\",\n {\n value: \"\",\n expanded: false,\n toggle: () => undefined,\n disabled: false,\n id: \"\",\n }\n);\n\nexport function useAccordion() {\n return useContext(AccordionContext);\n}\n"],"names":[],"mappings":";;;;;;;;AAYO,MAAM,gBAAmB,GAAA,aAAA;AAAA,EAC9B,kBAAA;AAAA,EACA;AAAA,IACE,KAAO,EAAA,EAAA;AAAA,IACP,QAAU,EAAA,KAAA;AAAA,IACV,QAAQ,MAAM,KAAA,CAAA;AAAA,IACd,QAAU,EAAA,KAAA;AAAA,IACV,EAAI,EAAA,EAAA;AAAA,GACN;AACF,EAAA;AAEO,SAAS,YAAe,GAAA;AAC7B,EAAA,OAAO,WAAW,gBAAgB,CAAA,CAAA;AACpC;;;;"}
@@ -0,0 +1,4 @@
1
+ var css_248z = ".saltAccordionGroup {\n border-bottom: var(--salt-size-border) var(--salt-separable-borderStyle) var(--salt-separable-tertiary-borderColor);\n}\n";
2
+
3
+ export { css_248z as default };
4
+ //# sourceMappingURL=AccordionGroup.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AccordionGroup.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
@@ -0,0 +1,32 @@
1
+ import { jsx } from 'react/jsx-runtime';
2
+ import { forwardRef } from 'react';
3
+ import { clsx } from 'clsx';
4
+ import { makePrefixer } from '../utils/makePrefixer.js';
5
+ import '../utils/useFloatingUI.js';
6
+ import '../utils/useId.js';
7
+ import '../salt-provider/SaltProvider.js';
8
+ import '../viewport/ViewportProvider.js';
9
+ import { useWindow } from '@salt-ds/window';
10
+ import { useComponentCssInjection } from '@salt-ds/styles';
11
+ import css_248z from './AccordionGroup.css.js';
12
+
13
+ const withBaseName = makePrefixer("saltAccordionGroup");
14
+ const AccordionGroup = forwardRef(
15
+ function AccordionGroup2(props, ref) {
16
+ const { className, ...rest } = props;
17
+ const targetWindow = useWindow();
18
+ useComponentCssInjection({
19
+ testId: "salt-accordion-group",
20
+ css: css_248z,
21
+ window: targetWindow
22
+ });
23
+ return /* @__PURE__ */ jsx("div", {
24
+ className: clsx(withBaseName(), className),
25
+ ref,
26
+ ...rest
27
+ });
28
+ }
29
+ );
30
+
31
+ export { AccordionGroup };
32
+ //# sourceMappingURL=AccordionGroup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AccordionGroup.js","sources":["../src/accordion/AccordionGroup.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 accordionGroupCss from \"./AccordionGroup.css\";\n\nexport type AccordionGroupProps = ComponentPropsWithoutRef<\"div\">;\n\nconst withBaseName = makePrefixer(\"saltAccordionGroup\");\n\nexport const AccordionGroup = forwardRef<HTMLDivElement, AccordionGroupProps>(\n function AccordionGroup(props, ref) {\n const { className, ...rest } = props;\n\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-accordion-group\",\n css: accordionGroupCss,\n window: targetWindow,\n });\n\n return (\n <div className={clsx(withBaseName(), className)} ref={ref} {...rest} />\n );\n }\n);\n"],"names":["AccordionGroup","accordionGroupCss"],"mappings":";;;;;;;;;;;;AASA,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,EAAE,SAAc,EAAA,GAAA,IAAA,EAAS,GAAA,KAAA,CAAA;AAE/B,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,uBACG,GAAA,CAAA,KAAA,EAAA;AAAA,MAAI,SAAW,EAAA,IAAA,CAAK,YAAa,EAAA,EAAG,SAAS,CAAA;AAAA,MAAG,GAAA;AAAA,MAAW,GAAG,IAAA;AAAA,KAAM,CAAA,CAAA;AAAA,GAEzE;AACF;;;;"}
@@ -0,0 +1,4 @@
1
+ var css_248z = ".saltAccordionHeader {\n display: flex;\n gap: var(--salt-spacing-100);\n padding-block: var(--salt-spacing-50);\n padding-inline: var(--salt-spacing-100);\n align-items: center;\n border: 0;\n width: 100%;\n min-height: calc(var(--salt-size-base) + var(--salt-spacing-100));\n background: var(--salt-actionable-secondary-background);\n font-size: var(--salt-text-fontSize);\n line-height: var(--salt-text-lineHeight);\n font-family: var(--salt-text-fontFamily);\n color: var(--salt-text-primary-foreground);\n font-weight: var(--salt-text-fontWeight-strong);\n --saltIcon-color: currentcolor;\n text-align: left;\n cursor: var(--salt-actionable-cursor-hover);\n}\n\n.saltAccordionHeader:focus-visible {\n outline: var(--salt-focused-outline);\n outline-offset: calc(-1 * var(--salt-focused-outlineWidth));\n}\n\n.saltAccordionHeader:disabled {\n background: var(--salt-actionable-secondary-background);\n color: var(--salt-text-primary-foreground-disabled);\n --saltIcon-fill: var(--salt-text-primary-foreground-disabled);\n}\n\n.saltAccordionHeader-icon {\n transition: transform var(--salt-duration-perceptible) ease-in-out;\n}\n\n.saltAccordionHeader[aria-expanded=\"true\"] > .saltAccordionHeader-icon {\n transform: rotate(90deg);\n}\n\n.saltAccordionHeader-error {\n background: var(--salt-status-error-background);\n}\n\n.saltAccordionHeader-error:focus-visible {\n outline-color: var(--salt-status-error-borderColor);\n}\n\n.saltAccordionHeader-warning {\n background: var(--salt-status-warning-background);\n}\n\n.saltAccordionHeader-warning:focus-visible {\n outline-color: var(--salt-status-warning-borderColor);\n}\n\n.saltAccordionHeader-success {\n background: var(--salt-status-success-background);\n}\n\n.saltAccordionHeader-success:focus-visible {\n outline-color: var(--salt-status-error-borderColor);\n}\n\n.saltAccordionHeader .saltAccordionHeader-statusIndicator {\n margin-left: auto;\n}\n";
2
+
3
+ export { css_248z as default };
4
+ //# sourceMappingURL=AccordionHeader.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AccordionHeader.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
@@ -0,0 +1,59 @@
1
+ import { jsxs, jsx } from 'react/jsx-runtime';
2
+ import { forwardRef } from 'react';
3
+ import { clsx } from 'clsx';
4
+ import { StatusIndicator } from '../status-indicator/StatusIndicator.js';
5
+ import { ChevronRightIcon } from '@salt-ds/icons';
6
+ import { useWindow } from '@salt-ds/window';
7
+ import { useComponentCssInjection } from '@salt-ds/styles';
8
+ import { makePrefixer } from '../utils/makePrefixer.js';
9
+ import '../utils/useFloatingUI.js';
10
+ import '../utils/useId.js';
11
+ import '../salt-provider/SaltProvider.js';
12
+ import '../viewport/ViewportProvider.js';
13
+ import { useAccordion } from './AccordionContext.js';
14
+ import css_248z from './AccordionHeader.css.js';
15
+
16
+ const withBaseName = makePrefixer("saltAccordionHeader");
17
+ const AccordionHeader = forwardRef(function AccordionHeader2(props, ref) {
18
+ const { children, className, onClick, ...rest } = props;
19
+ const { value, expanded, toggle, disabled, id, status } = useAccordion();
20
+ const targetWindow = useWindow();
21
+ useComponentCssInjection({
22
+ testId: "salt-accordion-header",
23
+ css: css_248z,
24
+ window: targetWindow
25
+ });
26
+ const handleClick = (event) => {
27
+ toggle(event);
28
+ onClick == null ? void 0 : onClick(event);
29
+ };
30
+ return /* @__PURE__ */ jsxs("button", {
31
+ ref,
32
+ className: clsx(
33
+ withBaseName(),
34
+ { [withBaseName(status != null ? status : "")]: status },
35
+ className
36
+ ),
37
+ disabled,
38
+ onClick: handleClick,
39
+ "aria-expanded": expanded,
40
+ id: `${id}-header`,
41
+ "aria-controls": `${id}-panel`,
42
+ value,
43
+ ...rest,
44
+ children: [
45
+ /* @__PURE__ */ jsx(ChevronRightIcon, {
46
+ "aria-hidden": "true",
47
+ className: withBaseName("icon")
48
+ }),
49
+ children,
50
+ status && /* @__PURE__ */ jsx(StatusIndicator, {
51
+ className: withBaseName("statusIndicator"),
52
+ status
53
+ })
54
+ ]
55
+ });
56
+ });
57
+
58
+ export { AccordionHeader };
59
+ //# sourceMappingURL=AccordionHeader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AccordionHeader.js","sources":["../src/accordion/AccordionHeader.tsx"],"sourcesContent":["import { ComponentPropsWithoutRef, forwardRef, MouseEvent } from \"react\";\nimport { clsx } from \"clsx\";\nimport { StatusIndicator } from \"../status-indicator\";\nimport { ChevronRightIcon } from \"@salt-ds/icons\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\n\nimport { makePrefixer } from \"../utils\";\n\nimport { useAccordion } from \"./AccordionContext\";\nimport accordionHeaderCss from \"./AccordionHeader.css\";\n\nexport type AccordionHeaderProps = ComponentPropsWithoutRef<\"button\">;\n\nconst withBaseName = makePrefixer(\"saltAccordionHeader\");\n\nexport const AccordionHeader = forwardRef<\n HTMLButtonElement,\n AccordionHeaderProps\n>(function AccordionHeader(props, ref) {\n const { children, className, onClick, ...rest } = props;\n const { value, expanded, toggle, disabled, id, status } = useAccordion();\n\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-accordion-header\",\n css: accordionHeaderCss,\n window: targetWindow,\n });\n\n const handleClick = (event: MouseEvent<HTMLButtonElement>) => {\n toggle(event);\n onClick?.(event);\n };\n\n return (\n <button\n ref={ref}\n className={clsx(\n withBaseName(),\n { [withBaseName(status ?? \"\")]: status },\n className\n )}\n disabled={disabled}\n onClick={handleClick}\n aria-expanded={expanded}\n id={`${id}-header`}\n aria-controls={`${id}-panel`}\n value={value}\n {...rest}\n >\n <ChevronRightIcon aria-hidden=\"true\" className={withBaseName(\"icon\")} />\n {children}\n {status && (\n <StatusIndicator\n className={withBaseName(\"statusIndicator\")}\n status={status}\n />\n )}\n </button>\n );\n});\n"],"names":["AccordionHeader","accordionHeaderCss"],"mappings":";;;;;;;;;;;;;;;AAcA,MAAM,YAAA,GAAe,aAAa,qBAAqB,CAAA,CAAA;AAEhD,MAAM,eAAkB,GAAA,UAAA,CAG7B,SAASA,gBAAAA,CAAgB,OAAO,GAAK,EAAA;AACrC,EAAA,MAAM,EAAE,QAAA,EAAU,SAAW,EAAA,OAAA,EAAA,GAAY,MAAS,GAAA,KAAA,CAAA;AAClD,EAAM,MAAA,EAAE,OAAO,QAAU,EAAA,MAAA,EAAQ,UAAU,EAAI,EAAA,MAAA,KAAW,YAAa,EAAA,CAAA;AAEvE,EAAA,MAAM,eAAe,SAAU,EAAA,CAAA;AAC/B,EAAyB,wBAAA,CAAA;AAAA,IACvB,MAAQ,EAAA,uBAAA;AAAA,IACR,GAAK,EAAAC,QAAA;AAAA,IACL,MAAQ,EAAA,YAAA;AAAA,GACT,CAAA,CAAA;AAED,EAAM,MAAA,WAAA,GAAc,CAAC,KAAyC,KAAA;AAC5D,IAAA,MAAA,CAAO,KAAK,CAAA,CAAA;AACZ,IAAU,OAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,OAAA,CAAA,KAAA,CAAA,CAAA;AAAA,GACZ,CAAA;AAEA,EAAA,uBACG,IAAA,CAAA,QAAA,EAAA;AAAA,IACC,GAAA;AAAA,IACA,SAAW,EAAA,IAAA;AAAA,MACT,YAAa,EAAA;AAAA,MACb,EAAE,CAAC,YAAA,CAAa,MAAU,IAAA,IAAA,GAAA,MAAA,GAAA,EAAE,IAAI,MAAO,EAAA;AAAA,MACvC,SAAA;AAAA,KACF;AAAA,IACA,QAAA;AAAA,IACA,OAAS,EAAA,WAAA;AAAA,IACT,eAAe,EAAA,QAAA;AAAA,IACf,IAAI,CAAG,EAAA,EAAA,CAAA,OAAA,CAAA;AAAA,IACP,iBAAe,CAAG,EAAA,EAAA,CAAA,MAAA,CAAA;AAAA,IAClB,KAAA;AAAA,IACC,GAAG,IAAA;AAAA,IAEJ,QAAA,EAAA;AAAA,sBAAC,GAAA,CAAA,gBAAA,EAAA;AAAA,QAAiB,aAAY,EAAA,MAAA;AAAA,QAAO,SAAA,EAAW,aAAa,MAAM,CAAA;AAAA,OAAG,CAAA;AAAA,MACrE,QAAA;AAAA,MACA,0BACE,GAAA,CAAA,eAAA,EAAA;AAAA,QACC,SAAA,EAAW,aAAa,iBAAiB,CAAA;AAAA,QACzC,MAAA;AAAA,OACF,CAAA;AAAA,KAAA;AAAA,GAEJ,CAAA,CAAA;AAEJ,CAAC;;;;"}
@@ -0,0 +1,4 @@
1
+ var css_248z = ".saltAccordionPanel {\n display: grid;\n transition: grid-template-rows var(--salt-duration-perceptible) ease-in-out, opacity var(--salt-duration-perceptible) ease-in-out, visibility var(--salt-duration-perceptible) ease-in-out;\n}\n\n.saltAccordionPanel[aria-hidden=\"true\"] {\n grid-template-rows: 0fr;\n opacity: 0;\n visibility: hidden;\n}\n\n.saltAccordionPanel {\n grid-template-rows: 1fr;\n opacity: 1;\n visibility: visible;\n}\n\n.saltAccordionPanel-inner {\n overflow: hidden;\n}\n\n.saltAccordionPanel-content {\n padding-left: calc(var(--salt-spacing-200) + var(--salt-size-icon));\n padding-block: var(--salt-spacing-300);\n}\n\n@media (prefers-reduced-motion: reduce) {\n .saltAccordionPanel {\n transition: none;\n }\n\n .saltAccordionPanel .saltAccordionPanel-inner {\n overflow: visible;\n }\n\n .saltAccordionPanel[aria-hidden=\"true\"] .saltAccordionPanel-inner {\n overflow: hidden;\n }\n}\n";
2
+
3
+ export { css_248z as default };
4
+ //# sourceMappingURL=AccordionPanel.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AccordionPanel.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
@@ -0,0 +1,72 @@
1
+ import { jsx } from 'react/jsx-runtime';
2
+ import { forwardRef, useRef, useEffect } from 'react';
3
+ import { useWindow } from '@salt-ds/window';
4
+ import { useComponentCssInjection } from '@salt-ds/styles';
5
+ import { clsx } from 'clsx';
6
+ import { makePrefixer } from '../utils/makePrefixer.js';
7
+ import '../utils/useFloatingUI.js';
8
+ import { useForkRef } from '../utils/useForkRef.js';
9
+ import '../utils/useId.js';
10
+ import '../salt-provider/SaltProvider.js';
11
+ import '../viewport/ViewportProvider.js';
12
+ import { useAccordion } from './AccordionContext.js';
13
+ import css_248z from './AccordionPanel.css.js';
14
+
15
+ const withBaseName = makePrefixer("saltAccordionPanel");
16
+ const AccordionPanel = forwardRef(
17
+ function AccordionPanel2(props, ref) {
18
+ const { children, className, ...rest } = props;
19
+ const panelRef = useRef(null);
20
+ const handleRef = useForkRef(ref, panelRef);
21
+ const targetWindow = useWindow();
22
+ useComponentCssInjection({
23
+ testId: "salt-accordion-panel",
24
+ css: css_248z,
25
+ window: targetWindow
26
+ });
27
+ const innerRef = useRef(null);
28
+ const { id, expanded } = useAccordion();
29
+ useEffect(() => {
30
+ const panel = panelRef.current;
31
+ if (!panel)
32
+ return;
33
+ const handleTransitionEnd = (event) => {
34
+ if (event.target === panel && expanded && innerRef.current) {
35
+ innerRef.current.style.overflow = "visible";
36
+ }
37
+ };
38
+ const handleTransitionStart = (event) => {
39
+ if (event.target === panel && !expanded && innerRef.current) {
40
+ innerRef.current.style.overflow = "hidden";
41
+ }
42
+ };
43
+ panel.addEventListener("transitionend", handleTransitionEnd);
44
+ panel.addEventListener("transitionstart", handleTransitionStart);
45
+ return () => {
46
+ panel.removeEventListener("transitionend", handleTransitionEnd);
47
+ panel.removeEventListener("transitionstart", handleTransitionStart);
48
+ };
49
+ }, [expanded]);
50
+ return /* @__PURE__ */ jsx("div", {
51
+ ref: handleRef,
52
+ className: clsx(withBaseName(), className),
53
+ role: "region",
54
+ id: `${id}-panel`,
55
+ "aria-labelledby": `${id}-header`,
56
+ "aria-hidden": !expanded ? "true" : void 0,
57
+ hidden: !expanded,
58
+ ...rest,
59
+ children: /* @__PURE__ */ jsx("div", {
60
+ className: withBaseName("inner"),
61
+ ref: innerRef,
62
+ children: /* @__PURE__ */ jsx("div", {
63
+ className: withBaseName("content"),
64
+ children
65
+ })
66
+ })
67
+ });
68
+ }
69
+ );
70
+
71
+ export { AccordionPanel };
72
+ //# sourceMappingURL=AccordionPanel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AccordionPanel.js","sources":["../src/accordion/AccordionPanel.tsx"],"sourcesContent":["import { ComponentPropsWithoutRef, forwardRef, useEffect, useRef } from \"react\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { clsx } from \"clsx\";\n\nimport { makePrefixer, useForkRef } from \"../utils\";\nimport { useAccordion } from \"./AccordionContext\";\nimport accordionPanelCss from \"./AccordionPanel.css\";\n\nexport type AccordionPanelProps = ComponentPropsWithoutRef<\"div\">;\n\nconst withBaseName = makePrefixer(\"saltAccordionPanel\");\n\nexport const AccordionPanel = forwardRef<HTMLDivElement, AccordionPanelProps>(\n function AccordionPanel(props, ref) {\n const { children, className, ...rest } = props;\n\n const panelRef = useRef<HTMLDivElement>(null);\n const handleRef = useForkRef(ref, panelRef);\n\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-accordion-panel\",\n css: accordionPanelCss,\n window: targetWindow,\n });\n\n const innerRef = useRef<HTMLDivElement>(null);\n\n const { id, expanded } = useAccordion();\n\n useEffect(() => {\n const panel = panelRef.current;\n if (!panel) return;\n\n const handleTransitionEnd = (event: TransitionEvent) => {\n if (event.target === panel && expanded && innerRef.current) {\n innerRef.current.style.overflow = \"visible\";\n }\n };\n const handleTransitionStart = (event: TransitionEvent) => {\n if (event.target === panel && !expanded && innerRef.current) {\n innerRef.current.style.overflow = \"hidden\";\n }\n };\n panel.addEventListener(\"transitionend\", handleTransitionEnd);\n panel.addEventListener(\"transitionstart\", handleTransitionStart);\n\n return () => {\n panel.removeEventListener(\"transitionend\", handleTransitionEnd);\n panel.removeEventListener(\"transitionstart\", handleTransitionStart);\n };\n }, [expanded]);\n\n return (\n <div\n ref={handleRef}\n className={clsx(withBaseName(), className)}\n role=\"region\"\n id={`${id}-panel`}\n aria-labelledby={`${id}-header`}\n aria-hidden={!expanded ? \"true\" : undefined}\n hidden={!expanded}\n {...rest}\n >\n <div className={withBaseName(\"inner\")} ref={innerRef}>\n <div className={withBaseName(\"content\")}>{children}</div>\n </div>\n </div>\n );\n }\n);\n"],"names":["AccordionPanel","accordionPanelCss"],"mappings":";;;;;;;;;;;;;;AAWA,MAAM,YAAA,GAAe,aAAa,oBAAoB,CAAA,CAAA;AAE/C,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,IAAM,MAAA,QAAA,GAAW,OAAuB,IAAI,CAAA,CAAA;AAC5C,IAAM,MAAA,SAAA,GAAY,UAAW,CAAA,GAAA,EAAK,QAAQ,CAAA,CAAA;AAE1C,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,IAAM,MAAA,QAAA,GAAW,OAAuB,IAAI,CAAA,CAAA;AAE5C,IAAA,MAAM,EAAE,EAAA,EAAI,QAAS,EAAA,GAAI,YAAa,EAAA,CAAA;AAEtC,IAAA,SAAA,CAAU,MAAM;AACd,MAAA,MAAM,QAAQ,QAAS,CAAA,OAAA,CAAA;AACvB,MAAA,IAAI,CAAC,KAAA;AAAO,QAAA,OAAA;AAEZ,MAAM,MAAA,mBAAA,GAAsB,CAAC,KAA2B,KAAA;AACtD,QAAA,IAAI,KAAM,CAAA,MAAA,KAAW,KAAS,IAAA,QAAA,IAAY,SAAS,OAAS,EAAA;AAC1D,UAAS,QAAA,CAAA,OAAA,CAAQ,MAAM,QAAW,GAAA,SAAA,CAAA;AAAA,SACpC;AAAA,OACF,CAAA;AACA,MAAM,MAAA,qBAAA,GAAwB,CAAC,KAA2B,KAAA;AACxD,QAAA,IAAI,MAAM,MAAW,KAAA,KAAA,IAAS,CAAC,QAAA,IAAY,SAAS,OAAS,EAAA;AAC3D,UAAS,QAAA,CAAA,OAAA,CAAQ,MAAM,QAAW,GAAA,QAAA,CAAA;AAAA,SACpC;AAAA,OACF,CAAA;AACA,MAAM,KAAA,CAAA,gBAAA,CAAiB,iBAAiB,mBAAmB,CAAA,CAAA;AAC3D,MAAM,KAAA,CAAA,gBAAA,CAAiB,mBAAmB,qBAAqB,CAAA,CAAA;AAE/D,MAAA,OAAO,MAAM;AACX,QAAM,KAAA,CAAA,mBAAA,CAAoB,iBAAiB,mBAAmB,CAAA,CAAA;AAC9D,QAAM,KAAA,CAAA,mBAAA,CAAoB,mBAAmB,qBAAqB,CAAA,CAAA;AAAA,OACpE,CAAA;AAAA,KACF,EAAG,CAAC,QAAQ,CAAC,CAAA,CAAA;AAEb,IAAA,uBACG,GAAA,CAAA,KAAA,EAAA;AAAA,MACC,GAAK,EAAA,SAAA;AAAA,MACL,SAAW,EAAA,IAAA,CAAK,YAAa,EAAA,EAAG,SAAS,CAAA;AAAA,MACzC,IAAK,EAAA,QAAA;AAAA,MACL,IAAI,CAAG,EAAA,EAAA,CAAA,MAAA,CAAA;AAAA,MACP,mBAAiB,CAAG,EAAA,EAAA,CAAA,OAAA,CAAA;AAAA,MACpB,aAAA,EAAa,CAAC,QAAA,GAAW,MAAS,GAAA,KAAA,CAAA;AAAA,MAClC,QAAQ,CAAC,QAAA;AAAA,MACR,GAAG,IAAA;AAAA,MAEJ,QAAC,kBAAA,GAAA,CAAA,KAAA,EAAA;AAAA,QAAI,SAAA,EAAW,aAAa,OAAO,CAAA;AAAA,QAAG,GAAK,EAAA,QAAA;AAAA,QAC1C,QAAC,kBAAA,GAAA,CAAA,KAAA,EAAA;AAAA,UAAI,SAAA,EAAW,aAAa,SAAS,CAAA;AAAA,UAAI,QAAA;AAAA,SAAS,CAAA;AAAA,OACrD,CAAA;AAAA,KACF,CAAA,CAAA;AAAA,GAEJ;AACF;;;;"}
@@ -1,4 +1,4 @@
1
- var css_248z = "/* Styles applied to the root element if variant=\"cta\" */\n.saltButton-cta {\n --button-background: var(--salt-actionable-cta-background);\n --button-background-active: var(--salt-actionable-cta-background-active);\n --button-background-disabled: var(--salt-actionable-cta-background-disabled);\n --button-background-hover: var(--salt-actionable-cta-background-hover);\n --button-fontWeight: var(--salt-actionable-cta-fontWeight);\n --button-text-color: var(--salt-actionable-cta-foreground);\n --button-text-color-active: var(--salt-actionable-cta-foreground-active);\n --button-text-color-disabled: var(--salt-actionable-cta-foreground-disabled);\n --button-text-color-hover: var(--salt-actionable-cta-foreground-hover);\n}\n\n/* Icon API in \"CTA\" variant @ignore */\n.saltButton-cta {\n --saltIcon-color: var(--salt-actionable-cta-foreground);\n}\n.saltButton-cta:hover {\n --saltIcon-color: var(--salt-actionable-cta-foreground-hover);\n}\n.saltButton-cta:active,\n.saltButton-cta.saltButton-active {\n --saltIcon-color: var(--salt-actionable-cta-foreground-active);\n}\n.saltButton-cta.saltButton-disabled {\n --saltIcon-color: var(--salt-actionable-cta-foreground-disabled);\n}\n\n/* Styles applied to the root element if variant=\"primary\" (or no variant specified) */\n.saltButton-primary {\n --button-background: var(--salt-actionable-primary-background);\n --button-background-active: var(--salt-actionable-primary-background-active);\n --button-background-disabled: var(--salt-actionable-primary-background-disabled);\n --button-background-hover: var(--salt-actionable-primary-background-hover);\n --button-fontWeight: var(--salt-actionable-primary-fontWeight);\n --button-text-color: var(--salt-actionable-primary-foreground);\n --button-text-color-active: var(--salt-actionable-primary-foreground-active);\n --button-text-color-disabled: var(--salt-actionable-primary-foreground-disabled);\n --button-text-color-hover: var(--salt-actionable-primary-foreground-hover);\n}\n\n/* Icon API in \"primary\" variant @ignore */\n.saltButton-primary {\n --saltIcon-color: var(--salt-actionable-primary-foreground);\n}\n.saltButton-primary:hover {\n --saltIcon-color: var(--salt-actionable-primary-foreground-hover);\n}\n.saltButton-primary:active,\n.saltButton-primary.saltButton-active {\n --saltIcon-color: var(--salt-actionable-primary-foreground-active);\n}\n.saltButton-primary.saltButton-disabled {\n --saltIcon-color: var(--salt-actionable-primary-foreground-disabled);\n}\n\n/* Styles applied to the root element if variant=\"secondary\" */\n.saltButton-secondary {\n --button-background: var(--salt-actionable-secondary-background);\n --button-background-active: var(--salt-actionable-secondary-background-active);\n --button-background-disabled: var(--salt-actionable-secondary-background-disabled);\n --button-background-hover: var(--salt-actionable-secondary-background-hover);\n --button-fontWeight: var(--salt-actionable-secondary-fontWeight);\n --button-text-color: var(--salt-actionable-secondary-foreground);\n --button-text-color-active: var(--salt-actionable-secondary-foreground-active);\n --button-text-color-disabled: var(--salt-actionable-secondary-foreground-disabled);\n --button-text-color-hover: var(--salt-actionable-secondary-foreground-hover);\n}\n\n/* Icon API in \"secondary\" variant @ignore */\n.saltButton-secondary {\n --saltIcon-color: var(--salt-actionable-secondary-foreground);\n}\n\n.saltButton-secondary:hover {\n --saltIcon-color: var(--salt-actionable-secondary-foreground-hover);\n}\n.saltButton-secondary:active,\n.saltButton-secondary.saltButton-active {\n --saltIcon-color: var(--salt-actionable-secondary-foreground-active);\n}\n.saltButton-secondary.saltButton-disabled {\n --saltIcon-color: var(--salt-actionable-secondary-foreground-disabled);\n}\n\n.saltButton {\n align-items: var(--saltButton-alignItems, center);\n appearance: none;\n background: var(--saltButton-background, var(--button-background));\n border-color: var(--saltButton-borderColor, transparent);\n border-style: var(--saltButton-borderStyle, solid);\n border-width: var(--saltButton-borderWidth, 0);\n border-radius: var(--saltButton-borderRadius, 0);\n color: var(--saltButton-text-color, var(--button-text-color));\n cursor: var(--saltButton-cursor, pointer);\n display: inline-flex;\n justify-content: var(--saltButton-justifyContent, center);\n font-size: var(--saltButton-fontSize, var(--salt-text-fontSize));\n font-family: var(--saltButton-fontFamily, var(--salt-text-fontFamily));\n line-height: var(--saltButton-lineHeight, var(--salt-text-lineHeight));\n letter-spacing: var(--saltButton-letterSpacing, var(--salt-actionable-letterSpacing));\n text-transform: var(--saltButton-textTransform, var(--salt-actionable-textTransform));\n padding: 0 var(--saltButton-padding, var(--salt-size-unit));\n margin: var(--saltButton-margin, 0);\n height: var(--saltButton-height, var(--salt-size-base));\n min-width: var(--saltButton-minWidth, unset);\n min-height: 0;\n position: relative;\n text-align: var(--saltButton-textAlign, var(--salt-actionable-textAlign));\n text-decoration: none;\n transition: none;\n user-select: none;\n width: var(--saltButton-width, auto);\n -webkit-appearance: none;\n -webkit-tap-highlight-color: transparent;\n /* Styles applied to align children*/\n font-weight: var(--saltButton-fontWeight, var(--button-fontWeight));\n white-space: pre;\n}\n\n/* Pseudo-class applied to the root element on focus */\n.saltButton:focus-visible {\n outline-style: var(--salt-focused-outlineStyle);\n outline-width: var(--salt-focused-outlineWidth);\n outline-color: var(--salt-focused-outlineColor);\n outline-offset: var(--salt-focused-outlineOffset);\n background: var(--saltButton-background-hover, var(--button-background-hover));\n color: var(--saltButton-text-color-hover, var(--button-text-color-hover));\n}\n\n/* Pseudo-class applied to the root element on focus when Button is active */\n.saltButton.saltButton-active:focus-visible,\n.saltButton:focus-visible(:active) {\n background: var(--saltButton-background-active-hover, var(--button-background));\n color: var(--saltButton-text-color-active-hover, var(--button-text-color));\n}\n\n/* Pseudo-class applied to the root element on hover when Button is not active or disabled */\n.saltButton:hover {\n background: var(--saltButton-background-hover, var(--button-background-hover));\n color: var(--saltButton-text-color-hover, var(--button-text-color-hover));\n}\n\n/* Pseudo-class applied to the root element when Button is active and not disabled */\n.saltButton:active,\n.saltButton.saltButton-active {\n background: var(--saltButton-background-active, var(--button-background-active));\n color: var(--saltButton-text-color-active, var(--button-text-color-active));\n}\n\n/* Pseudo-class applied to the root element if disabled={true} */\n.saltButton:disabled,\n.saltButton-disabled,\n /* Overrides to apply the disabled style when the button is focusable while also disabled */\n.saltButton-disabled:active,\n.saltButton-disabled:focus-visible,\n.saltButton-disabled:hover {\n background: var(--saltButton-background-disabled, var(--button-background-disabled));\n color: var(--saltButton-text-color-disabled, var(--button-text-color-disabled));\n cursor: var(--saltButton-cursor-disabled, var(--salt-actionable-cursor-disabled));\n}\n\n.saltButton[href] {\n display: inline-flex;\n}\n";
1
+ var css_248z = "/* Styles applied to the root element if variant=\"cta\" */\n.saltButton-cta {\n --button-background: var(--salt-actionable-cta-background);\n --button-background-active: var(--salt-actionable-cta-background-active);\n --button-background-disabled: var(--salt-actionable-cta-background-disabled);\n --button-background-hover: var(--salt-actionable-cta-background-hover);\n --button-fontWeight: var(--salt-actionable-cta-fontWeight);\n --button-text-color: var(--salt-actionable-cta-foreground);\n --button-text-color-active: var(--salt-actionable-cta-foreground-active);\n --button-text-color-disabled: var(--salt-actionable-cta-foreground-disabled);\n --button-text-color-hover: var(--salt-actionable-cta-foreground-hover);\n}\n\n/* Icon API in \"CTA\" variant @ignore */\n.saltButton-cta {\n --saltIcon-color: var(--salt-actionable-cta-foreground);\n}\n.saltButton-cta:hover {\n --saltIcon-color: var(--salt-actionable-cta-foreground-hover);\n}\n.saltButton-cta:active,\n.saltButton-cta.saltButton-active {\n --saltIcon-color: var(--salt-actionable-cta-foreground-active);\n}\n.saltButton-cta.saltButton-disabled {\n --saltIcon-color: var(--salt-actionable-cta-foreground-disabled);\n}\n\n/* Styles applied to the root element if variant=\"primary\" (or no variant specified) */\n.saltButton-primary {\n --button-background: var(--salt-actionable-primary-background);\n --button-background-active: var(--salt-actionable-primary-background-active);\n --button-background-disabled: var(--salt-actionable-primary-background-disabled);\n --button-background-hover: var(--salt-actionable-primary-background-hover);\n --button-fontWeight: var(--salt-actionable-primary-fontWeight);\n --button-text-color: var(--salt-actionable-primary-foreground);\n --button-text-color-active: var(--salt-actionable-primary-foreground-active);\n --button-text-color-disabled: var(--salt-actionable-primary-foreground-disabled);\n --button-text-color-hover: var(--salt-actionable-primary-foreground-hover);\n}\n\n/* Icon API in \"primary\" variant @ignore */\n.saltButton-primary {\n --saltIcon-color: var(--salt-actionable-primary-foreground);\n}\n.saltButton-primary:hover {\n --saltIcon-color: var(--salt-actionable-primary-foreground-hover);\n}\n.saltButton-primary:active,\n.saltButton-primary.saltButton-active {\n --saltIcon-color: var(--salt-actionable-primary-foreground-active);\n}\n.saltButton-primary.saltButton-disabled {\n --saltIcon-color: var(--salt-actionable-primary-foreground-disabled);\n}\n\n/* Styles applied to the root element if variant=\"secondary\" */\n.saltButton-secondary {\n --button-background: var(--salt-actionable-secondary-background);\n --button-background-active: var(--salt-actionable-secondary-background-active);\n --button-background-disabled: var(--salt-actionable-secondary-background-disabled);\n --button-background-hover: var(--salt-actionable-secondary-background-hover);\n --button-fontWeight: var(--salt-actionable-secondary-fontWeight);\n --button-text-color: var(--salt-actionable-secondary-foreground);\n --button-text-color-active: var(--salt-actionable-secondary-foreground-active);\n --button-text-color-disabled: var(--salt-actionable-secondary-foreground-disabled);\n --button-text-color-hover: var(--salt-actionable-secondary-foreground-hover);\n}\n\n/* Icon API in \"secondary\" variant @ignore */\n.saltButton-secondary {\n --saltIcon-color: var(--salt-actionable-secondary-foreground);\n}\n\n.saltButton-secondary:hover {\n --saltIcon-color: var(--salt-actionable-secondary-foreground-hover);\n}\n.saltButton-secondary:active,\n.saltButton-secondary.saltButton-active {\n --saltIcon-color: var(--salt-actionable-secondary-foreground-active);\n}\n.saltButton-secondary.saltButton-disabled {\n --saltIcon-color: var(--salt-actionable-secondary-foreground-disabled);\n}\n\n.saltButton {\n align-items: var(--saltButton-alignItems, center);\n appearance: none;\n background: var(--saltButton-background, var(--button-background));\n border-color: var(--saltButton-borderColor, transparent);\n border-style: var(--saltButton-borderStyle, solid);\n border-width: var(--saltButton-borderWidth, 0);\n border-radius: var(--saltButton-borderRadius, 0);\n color: var(--saltButton-text-color, var(--button-text-color));\n cursor: var(--saltButton-cursor, pointer);\n display: inline-flex;\n gap: var(--salt-spacing-50);\n justify-content: var(--saltButton-justifyContent, center);\n font-size: var(--saltButton-fontSize, var(--salt-text-fontSize));\n font-family: var(--saltButton-fontFamily, var(--salt-text-fontFamily));\n line-height: var(--saltButton-lineHeight, var(--salt-text-lineHeight));\n letter-spacing: var(--saltButton-letterSpacing, var(--salt-actionable-letterSpacing));\n text-transform: var(--saltButton-textTransform, var(--salt-actionable-textTransform));\n padding: 0 var(--saltButton-padding, var(--salt-size-unit));\n margin: var(--saltButton-margin, 0);\n height: var(--saltButton-height, var(--salt-size-base));\n min-width: var(--saltButton-minWidth, unset);\n min-height: 0;\n position: relative;\n text-align: var(--saltButton-textAlign, var(--salt-actionable-textAlign));\n text-decoration: none;\n transition: none;\n width: var(--saltButton-width, auto);\n -webkit-appearance: none;\n -webkit-tap-highlight-color: transparent;\n /* Styles applied to align children*/\n font-weight: var(--saltButton-fontWeight, var(--button-fontWeight));\n}\n\n/* Pseudo-class applied to the root element on focus */\n.saltButton:focus-visible {\n outline-style: var(--salt-focused-outlineStyle);\n outline-width: var(--salt-focused-outlineWidth);\n outline-color: var(--salt-focused-outlineColor);\n outline-offset: var(--salt-focused-outlineOffset);\n background: var(--saltButton-background-hover, var(--button-background-hover));\n color: var(--saltButton-text-color-hover, var(--button-text-color-hover));\n}\n\n/* Pseudo-class applied to the root element on focus when Button is active */\n.saltButton.saltButton-active:focus-visible,\n.saltButton:focus-visible(:active) {\n background: var(--saltButton-background-active-hover, var(--button-background));\n color: var(--saltButton-text-color-active-hover, var(--button-text-color));\n}\n\n/* Pseudo-class applied to the root element on hover when Button is not active or disabled */\n.saltButton:hover {\n background: var(--saltButton-background-hover, var(--button-background-hover));\n color: var(--saltButton-text-color-hover, var(--button-text-color-hover));\n}\n\n/* Pseudo-class applied to the root element when Button is active and not disabled */\n.saltButton:active,\n.saltButton.saltButton-active {\n background: var(--saltButton-background-active, var(--button-background-active));\n color: var(--saltButton-text-color-active, var(--button-text-color-active));\n}\n\n/* Pseudo-class applied to the root element if disabled={true} */\n.saltButton:disabled,\n.saltButton-disabled,\n /* Overrides to apply the disabled style when the button is focusable while also disabled */\n.saltButton-disabled:active,\n.saltButton-disabled:focus-visible,\n.saltButton-disabled:hover {\n background: var(--saltButton-background-disabled, var(--button-background-disabled));\n color: var(--saltButton-text-color-disabled, var(--button-text-color-disabled));\n cursor: var(--saltButton-cursor-disabled, var(--salt-actionable-cursor-disabled));\n}\n\n.saltButton[href] {\n display: inline-flex;\n}\n";
2
2
 
3
3
  export { css_248z as default };
4
4
  //# sourceMappingURL=Button.css.js.map
@@ -1,4 +1,4 @@
1
- var css_248z = "/* Styles applied to InteractableCard */\n.saltInteractableCard {\n border-width: var(--saltCard-borderWidth, var(--card-borderWidth));\n border-style: var(--saltCard-borderStyle, var(--salt-container-borderStyle));\n border-color: var(--saltCard-borderColor, var(--salt-accent-borderColor));\n border-radius: var(--saltCard-borderRadius, 0);\n display: block;\n transition: box-shadow var(--salt-duration-instant) cubic-bezier(0.4, 0, 0.2, 1);\n}\n\n/* Styles applied to InteractableCard if `accentPlacement=\"bottom\"` (default) */\n.saltInteractableCard-accentBottom {\n --card-borderWidth: 0 0 var(--salt-size-accent) 0;\n}\n\n/* Styles applied to InteractableCard if `accentPlacement=\"left\"` */\n.saltInteractableCard-accentLeft {\n --card-borderWidth: 0 0 0 var(--salt-size-accent);\n}\n\n/* Styles applied to InteractableCard if `accentPlacement=\"top\"` */\n.saltInteractableCard-accentTop {\n --card-borderWidth: var(--salt-size-accent) 0 0 0;\n}\n\n/* Styles applied to InteractableCard if `accentPlacement=\"right\"` */\n.saltInteractableCard-accentRight {\n --card-borderWidth: 0 var(--salt-size-accent) 0 0;\n}\n\n/* Styles applied to InteractableCard on focus */\na:focus-visible .saltInteractableCard,\n.saltInteractableCard:focus-visible {\n cursor: var(--saltCard-interactable-cursor-focus, var(--salt-selectable-cursor-hover));\n box-shadow: var(--saltCard-interactable-shadow-focus, var(--salt-overlayable-shadow-hover));\n color: var(--saltCard-color-focus, var(--salt-text-primary-foreground));\n outline-color: var(--salt-focused-outlineColor);\n outline-style: var(--salt-focused-outlineStyle);\n outline-width: var(--salt-focused-outlineWidth);\n outline-offset: var(--salt-focused-outlineOffset);\n}\n\na:link .saltInteractableCard * {\n text-decoration: none;\n}\n\n/* Styles applied on active state to InteractableCard */\n.saltInteractableCard:active {\n cursor: var(--saltCard-interactable-cursor-active, var(--salt-selectable-cursor-active));\n box-shadow: var(--saltCard-interactable-shadow-active, var(--salt-overlayable-shadow-hover));\n}\n\n/* Styles applied on hover state to InteractableCard */\n.saltInteractableCard:hover {\n cursor: var(--saltCard-interactable-cursor-hover, var(--salt-selectable-cursor-hover));\n box-shadow: var(--saltCard-interactable-shadow-hover, var(--salt-overlayable-shadow-hover));\n}\n\n/* Styles applied to InteractableCard if `disabled={true}` */\n.saltInteractableCard-disabled,\n.saltInteractableCard-disabled:focus,\n.saltInteractableCard-disabled:hover,\n.saltInteractableCard-disabled:active {\n border-color: var(--saltCard-borderColor-disabled, var(--salt-accent-borderColor-disabled));\n box-shadow: var(--saltCard-interactable-shadow, var(--salt-overlayable-shadow));\n background: var(--saltCard-background-disabled, var(--salt-container-primary-background-disabled));\n color: var(--saltCard-color-disabled, var(--salt-text-primary-foreground-disabled));\n cursor: var(--saltCard-interactable-cursor-disabled, var(--salt-selectable-cursor-disabled));\n outline: none;\n}\n\n/* Styles applied to nested divs in InteractableCard if `disabled={true}` */\n.saltInteractableCard-disabled div {\n pointer-events: none;\n}\n\n/* Class that can be used for anchor tags wrapping InteractableCard */\n.saltInteractableCard-link {\n color: var(--saltCard-link-color, var(--salt-text-primary-foreground));\n inset: var(--salt-focused-outlineInset);\n outline-color: var(--salt-focused-outlineColor);\n outline-offset: var(--salt-focused-outlineOffset);\n outline-style: var(--salt-focused-outlineStyle);\n outline-width: var(--salt-focused-outlineWidth);\n}\n";
1
+ var css_248z = "/* Styles applied to InteractableCard */\n.saltInteractableCard {\n background: var(--saltCard-background, var(--salt-container-primary-background));\n box-shadow: var(--saltCard-boxShadow, var(--salt-overlayable-shadow));\n color: var(--saltCard-color, var(--salt-text-primary-foreground));\n height: var(--saltCard-height, auto);\n min-height: var(--saltCard-minHeight, 100%);\n overflow: hidden;\n border-width: var(--saltCard-borderWidth, var(--card-borderWidth));\n border-style: var(--saltCard-borderStyle, var(--salt-container-borderStyle));\n border-color: var(--saltCard-borderColor, var(--salt-accent-borderColor));\n border-radius: var(--saltCard-borderRadius, 0);\n display: block;\n transition: box-shadow var(--salt-duration-instant) cubic-bezier(0.4, 0, 0.2, 1);\n}\n\n/* Styles applied to Card content */\n.saltInteractableCard-content {\n height: 100%;\n padding: var(--saltCard-padding, var(--salt-size-container-spacing));\n}\n\n/* Styles applied to InteractableCard if `accentPlacement=\"bottom\"` (default) */\n.saltInteractableCard-accentBottom {\n --card-borderWidth: 0 0 var(--salt-size-accent) 0;\n}\n\n/* Styles applied to InteractableCard if `accentPlacement=\"left\"` */\n.saltInteractableCard-accentLeft {\n --card-borderWidth: 0 0 0 var(--salt-size-accent);\n}\n\n/* Styles applied to InteractableCard if `accentPlacement=\"top\"` */\n.saltInteractableCard-accentTop {\n --card-borderWidth: var(--salt-size-accent) 0 0 0;\n}\n\n/* Styles applied to InteractableCard if `accentPlacement=\"right\"` */\n.saltInteractableCard-accentRight {\n --card-borderWidth: 0 var(--salt-size-accent) 0 0;\n}\n\n/* Styles applied to InteractableCard on focus */\na:focus-visible .saltInteractableCard,\n.saltInteractableCard:focus-visible {\n cursor: var(--saltCard-interactable-cursor-focus, var(--salt-selectable-cursor-hover));\n box-shadow: var(--saltCard-interactable-shadow-focus, var(--salt-overlayable-shadow-hover));\n color: var(--saltCard-color-focus, var(--salt-text-primary-foreground));\n outline-color: var(--salt-focused-outlineColor);\n outline-style: var(--salt-focused-outlineStyle);\n outline-width: var(--salt-focused-outlineWidth);\n outline-offset: var(--salt-focused-outlineOffset);\n}\n\na:link .saltInteractableCard * {\n text-decoration: none;\n}\n\n/* Styles applied on active state to InteractableCard */\n.saltInteractableCard:active {\n cursor: var(--saltCard-interactable-cursor-active, var(--salt-selectable-cursor-active));\n box-shadow: var(--saltCard-interactable-shadow-active, var(--salt-overlayable-shadow-hover));\n}\n\n/* Styles applied on hover state to InteractableCard */\n.saltInteractableCard:hover {\n cursor: var(--saltCard-interactable-cursor-hover, var(--salt-selectable-cursor-hover));\n box-shadow: var(--saltCard-interactable-shadow-hover, var(--salt-overlayable-shadow-hover));\n}\n\n/* Styles applied to InteractableCard if `disabled={true}` */\n.saltInteractableCard-disabled,\n.saltInteractableCard-disabled:focus,\n.saltInteractableCard-disabled:hover,\n.saltInteractableCard-disabled:active {\n border-color: var(--saltCard-borderColor-disabled, var(--salt-accent-borderColor-disabled));\n box-shadow: var(--saltCard-interactable-shadow, var(--salt-overlayable-shadow));\n background: var(--saltCard-background-disabled, var(--salt-container-primary-background-disabled));\n color: var(--saltCard-color-disabled, var(--salt-text-primary-foreground-disabled));\n cursor: var(--saltCard-interactable-cursor-disabled, var(--salt-selectable-cursor-disabled));\n outline: none;\n}\n\n/* Styles applied to nested divs in InteractableCard if `disabled={true}` */\n.saltInteractableCard-disabled div {\n pointer-events: none;\n}\n\n/* Class that can be used for anchor tags wrapping InteractableCard */\n.saltInteractableCard-link {\n color: var(--saltCard-link-color, var(--salt-text-primary-foreground));\n inset: var(--salt-focused-outlineInset);\n outline-color: var(--salt-focused-outlineColor);\n outline-offset: var(--salt-focused-outlineOffset);\n outline-style: var(--salt-focused-outlineStyle);\n outline-width: var(--salt-focused-outlineWidth);\n}\n";
2
2
 
3
3
  export { css_248z as default };
4
4
  //# sourceMappingURL=InteractableCard.css.js.map
@@ -3,7 +3,6 @@ import { clsx } from 'clsx';
3
3
  import { forwardRef } from 'react';
4
4
  import { useWindow } from '@salt-ds/window';
5
5
  import { useComponentCssInjection } from '@salt-ds/styles';
6
- import { Card } from './Card.js';
7
6
  import { capitalize } from '../utils/capitalize.js';
8
7
  import { makePrefixer } from '../utils/makePrefixer.js';
9
8
  import '../utils/useFloatingUI.js';
@@ -40,7 +39,7 @@ const InteractableCard = forwardRef(function InteractableCard2(props, ref) {
40
39
  onClick
41
40
  });
42
41
  const { tabIndex, ...restCardProps } = cardProps;
43
- return /* @__PURE__ */ jsx(Card, {
42
+ return /* @__PURE__ */ jsx("div", {
44
43
  ...restCardProps,
45
44
  className: clsx(
46
45
  withBaseName(),
@@ -53,7 +52,10 @@ const InteractableCard = forwardRef(function InteractableCard2(props, ref) {
53
52
  ),
54
53
  ...rest,
55
54
  ref,
56
- children
55
+ children: /* @__PURE__ */ jsx("div", {
56
+ className: withBaseName("content"),
57
+ children
58
+ })
57
59
  });
58
60
  });
59
61
 
@@ -1 +1 @@
1
- {"version":3,"file":"InteractableCard.js","sources":["../src/card/InteractableCard.tsx"],"sourcesContent":["import { clsx } from \"clsx\";\nimport { forwardRef } from \"react\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\n\nimport { Card, CardProps } from \"./Card\";\nimport { capitalize, makePrefixer } from \"../utils\";\nimport { useInteractableCard } from \"./useInteractableCard\";\n\nimport interactableCardCss from \"./InteractableCard.css\";\n\nconst withBaseName = makePrefixer(\"saltInteractableCard\");\n\n// TODO: Remove omissions when Card props deprecated\nexport interface InteractableCardProps\n extends Omit<CardProps, \"disabled\" | \"interactable\"> {\n /**\n * Accent border position: defaults to \"bottom\"\n */\n accentPlacement?: \"bottom\" | \"top\" | \"left\" | \"right\";\n /**\n * If `true`, the card will be disabled.\n */\n disabled?: boolean;\n}\n\nexport const InteractableCard = forwardRef<\n HTMLDivElement,\n InteractableCardProps\n>(function InteractableCard(props, ref) {\n const {\n accentPlacement = \"bottom\",\n children,\n className,\n disabled,\n onBlur,\n onClick,\n onKeyUp,\n onKeyDown,\n ...rest\n } = props;\n\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-interactable-card\",\n css: interactableCardCss,\n window: targetWindow,\n });\n\n const { active, cardProps } = useInteractableCard({\n disabled,\n onKeyUp,\n onKeyDown,\n onBlur,\n onClick,\n });\n // for now, we do not want to spread tab index here as users may be wrapping in a link\n const { tabIndex, ...restCardProps } = cardProps;\n\n return (\n <Card\n {...restCardProps}\n className={clsx(\n withBaseName(),\n withBaseName(`accent${capitalize(accentPlacement)}`),\n {\n [withBaseName(\"disabled\")]: disabled,\n [withBaseName(\"active\")]: active,\n },\n className\n )}\n {...rest}\n ref={ref}\n >\n {children}\n </Card>\n );\n});\n"],"names":["InteractableCard","interactableCardCss"],"mappings":";;;;;;;;;;;;;;;AAWA,MAAM,YAAA,GAAe,aAAa,sBAAsB,CAAA,CAAA;AAejD,MAAM,gBAAmB,GAAA,UAAA,CAG9B,SAASA,iBAAAA,CAAiB,OAAO,GAAK,EAAA;AACtC,EAAM,MAAA;AAAA,IACJ,eAAkB,GAAA,QAAA;AAAA,IAClB,QAAA;AAAA,IACA,SAAA;AAAA,IACA,QAAA;AAAA,IACA,MAAA;AAAA,IACA,OAAA;AAAA,IACA,OAAA;AAAA,IACA,SAAA;AAAA,IACG,GAAA,IAAA;AAAA,GACD,GAAA,KAAA,CAAA;AAEJ,EAAA,MAAM,eAAe,SAAU,EAAA,CAAA;AAC/B,EAAyB,wBAAA,CAAA;AAAA,IACvB,MAAQ,EAAA,wBAAA;AAAA,IACR,GAAK,EAAAC,QAAA;AAAA,IACL,MAAQ,EAAA,YAAA;AAAA,GACT,CAAA,CAAA;AAED,EAAA,MAAM,EAAE,MAAA,EAAQ,SAAU,EAAA,GAAI,mBAAoB,CAAA;AAAA,IAChD,QAAA;AAAA,IACA,OAAA;AAAA,IACA,SAAA;AAAA,IACA,MAAA;AAAA,IACA,OAAA;AAAA,GACD,CAAA,CAAA;AAED,EAAM,MAAA,EAAE,QAAa,EAAA,GAAA,aAAA,EAAkB,GAAA,SAAA,CAAA;AAEvC,EAAA,uBACG,GAAA,CAAA,IAAA,EAAA;AAAA,IACE,GAAG,aAAA;AAAA,IACJ,SAAW,EAAA,IAAA;AAAA,MACT,YAAa,EAAA;AAAA,MACb,YAAa,CAAA,CAAA,MAAA,EAAS,UAAW,CAAA,eAAe,CAAG,CAAA,CAAA,CAAA;AAAA,MACnD;AAAA,QACE,CAAC,YAAa,CAAA,UAAU,CAAI,GAAA,QAAA;AAAA,QAC5B,CAAC,YAAa,CAAA,QAAQ,CAAI,GAAA,MAAA;AAAA,OAC5B;AAAA,MACA,SAAA;AAAA,KACF;AAAA,IACC,GAAG,IAAA;AAAA,IACJ,GAAA;AAAA,IAEC,QAAA;AAAA,GACH,CAAA,CAAA;AAEJ,CAAC;;;;"}
1
+ {"version":3,"file":"InteractableCard.js","sources":["../src/card/InteractableCard.tsx"],"sourcesContent":["import { clsx } from \"clsx\";\nimport { ComponentPropsWithoutRef, forwardRef } from \"react\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\n\nimport { capitalize, makePrefixer } from \"../utils\";\nimport { useInteractableCard } from \"./useInteractableCard\";\n\nimport interactableCardCss from \"./InteractableCard.css\";\n\nconst withBaseName = makePrefixer(\"saltInteractableCard\");\n\n// TODO: Remove omissions when Card props deprecated\nexport interface InteractableCardProps extends ComponentPropsWithoutRef<\"div\"> {\n /**\n * Accent border position: defaults to \"bottom\"\n */\n accentPlacement?: \"bottom\" | \"top\" | \"left\" | \"right\";\n /**\n * If `true`, the card will be disabled.\n */\n disabled?: boolean;\n}\n\nexport const InteractableCard = forwardRef<\n HTMLDivElement,\n InteractableCardProps\n>(function InteractableCard(props, ref) {\n const {\n accentPlacement = \"bottom\",\n children,\n className,\n disabled,\n onBlur,\n onClick,\n onKeyUp,\n onKeyDown,\n ...rest\n } = props;\n\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-interactable-card\",\n css: interactableCardCss,\n window: targetWindow,\n });\n\n const { active, cardProps } = useInteractableCard({\n disabled,\n onKeyUp,\n onKeyDown,\n onBlur,\n onClick,\n });\n // for now, we do not want to spread tab index here as users may be wrapping in a link\n const { tabIndex, ...restCardProps } = cardProps;\n\n return (\n <div\n {...restCardProps}\n className={clsx(\n withBaseName(),\n withBaseName(`accent${capitalize(accentPlacement)}`),\n {\n [withBaseName(\"disabled\")]: disabled,\n [withBaseName(\"active\")]: active,\n },\n className\n )}\n {...rest}\n ref={ref}\n >\n <div className={withBaseName(\"content\")}>{children}</div>\n </div>\n );\n});\n"],"names":["InteractableCard","interactableCardCss"],"mappings":";;;;;;;;;;;;;;AAUA,MAAM,YAAA,GAAe,aAAa,sBAAsB,CAAA,CAAA;AAcjD,MAAM,gBAAmB,GAAA,UAAA,CAG9B,SAASA,iBAAAA,CAAiB,OAAO,GAAK,EAAA;AACtC,EAAM,MAAA;AAAA,IACJ,eAAkB,GAAA,QAAA;AAAA,IAClB,QAAA;AAAA,IACA,SAAA;AAAA,IACA,QAAA;AAAA,IACA,MAAA;AAAA,IACA,OAAA;AAAA,IACA,OAAA;AAAA,IACA,SAAA;AAAA,IACG,GAAA,IAAA;AAAA,GACD,GAAA,KAAA,CAAA;AAEJ,EAAA,MAAM,eAAe,SAAU,EAAA,CAAA;AAC/B,EAAyB,wBAAA,CAAA;AAAA,IACvB,MAAQ,EAAA,wBAAA;AAAA,IACR,GAAK,EAAAC,QAAA;AAAA,IACL,MAAQ,EAAA,YAAA;AAAA,GACT,CAAA,CAAA;AAED,EAAA,MAAM,EAAE,MAAA,EAAQ,SAAU,EAAA,GAAI,mBAAoB,CAAA;AAAA,IAChD,QAAA;AAAA,IACA,OAAA;AAAA,IACA,SAAA;AAAA,IACA,MAAA;AAAA,IACA,OAAA;AAAA,GACD,CAAA,CAAA;AAED,EAAM,MAAA,EAAE,QAAa,EAAA,GAAA,aAAA,EAAkB,GAAA,SAAA,CAAA;AAEvC,EAAA,uBACG,GAAA,CAAA,KAAA,EAAA;AAAA,IACE,GAAG,aAAA;AAAA,IACJ,SAAW,EAAA,IAAA;AAAA,MACT,YAAa,EAAA;AAAA,MACb,YAAa,CAAA,CAAA,MAAA,EAAS,UAAW,CAAA,eAAe,CAAG,CAAA,CAAA,CAAA;AAAA,MACnD;AAAA,QACE,CAAC,YAAa,CAAA,UAAU,CAAI,GAAA,QAAA;AAAA,QAC5B,CAAC,YAAa,CAAA,QAAQ,CAAI,GAAA,MAAA;AAAA,OAC5B;AAAA,MACA,SAAA;AAAA,KACF;AAAA,IACC,GAAG,IAAA;AAAA,IACJ,GAAA;AAAA,IAEA,QAAC,kBAAA,GAAA,CAAA,KAAA,EAAA;AAAA,MAAI,SAAA,EAAW,aAAa,SAAS,CAAA;AAAA,MAAI,QAAA;AAAA,KAAS,CAAA;AAAA,GACrD,CAAA,CAAA;AAEJ,CAAC;;;;"}
@@ -1,4 +1,4 @@
1
- var css_248z = "/* Styles applied to root component */\n\n.saltCheckbox {\n cursor: var(--salt-selectable-cursor-hover);\n background: var(--saltCheckbox-background, none);\n display: flex;\n gap: var(--saltCheckbox-gap, var(--salt-spacing-100));\n position: relative;\n width: fit-content;\n}\n\n/* Styles applied to root component if `disabled={true}` */\n.saltCheckbox-disabled {\n pointer-events: visible;\n color: var(--salt-text-primary-foreground-disabled);\n cursor: var(--salt-selectable-cursor-disabled);\n}\n\n/* Styles applied to the icon component if focused */\n.saltCheckbox-input:focus-visible + .saltCheckboxIcon {\n outline-offset: var(--salt-focused-outlineOffset);\n outline: var(--salt-focused-outline);\n}\n\n/* Styles applied to input element */\n.saltCheckbox-input {\n cursor: inherit;\n left: 0;\n margin: 0;\n opacity: 0;\n padding: 0;\n position: absolute;\n top: 0;\n z-index: var(--salt-zIndex-default);\n}\n";
1
+ var css_248z = "/* Styles applied to root component */\n.saltCheckbox {\n display: flex;\n gap: var(--salt-spacing-100);\n position: relative;\n cursor: var(--salt-selectable-cursor-hover);\n}\n\n/* Styles applied to root component if `disabled={true}` */\n.saltCheckbox-disabled {\n color: var(--salt-text-primary-foreground-disabled);\n cursor: var(--salt-selectable-cursor-disabled);\n}\n\n/* Styles applied to root component if `readOnly={true}` */\n.saltCheckbox-readOnly {\n color: var(--salt-text-primary-foreground);\n cursor: var(--salt-selectable-cursor-readonly);\n}\n\n/* Styles applied to the icon component if focused */\n.saltCheckbox-input:focus-visible + .saltCheckboxIcon {\n outline-offset: var(--salt-focused-outlineOffset);\n outline: var(--saltCheckbox-outline, var(--salt-focused-outline));\n border-color: var(--salt-selectable-borderColor-hover);\n color: var(--salt-selectable-foreground-hover);\n}\n\n.saltCheckbox-input:focus-visible + .saltCheckboxIcon-checked {\n border-color: var(--salt-selectable-borderColor-selected);\n color: var(--salt-selectable-foreground-selected);\n}\n\n.saltCheckbox-error .saltCheckbox-input:focus-visible + .saltCheckboxIcon {\n outline-color: var(--salt-status-error-foreground);\n border-color: var(--salt-status-error-foreground);\n color: var(--salt-status-error-foreground);\n}\n\n.saltCheckbox-warning .saltCheckbox-input:focus-visible + .saltCheckboxIcon {\n outline-color: var(--salt-status-warning-foreground);\n border-color: var(--salt-status-warning-foreground);\n color: var(--salt-status-warning-foreground);\n}\n\n/* Styles applied to input element */\n.saltCheckbox-input {\n cursor: inherit;\n left: 0;\n margin: 0;\n opacity: 0;\n padding: 0;\n position: absolute;\n top: 0;\n z-index: var(--salt-zIndex-default);\n}\n";
2
2
 
3
3
  export { css_248z as default };
4
4
  //# sourceMappingURL=Checkbox.css.js.map