@salt-ds/core 1.44.1 → 1.46.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 (265) hide show
  1. package/CHANGELOG.md +55 -0
  2. package/css/salt-core.css +449 -11
  3. package/dist-cjs/accordion/Accordion.js.map +1 -1
  4. package/dist-cjs/accordion/AccordionContext.js.map +1 -1
  5. package/dist-cjs/accordion/AccordionHeader.js.map +1 -1
  6. package/dist-cjs/accordion/AccordionPanel.js.map +1 -1
  7. package/dist-cjs/aria-announcer/AriaAnnouncerContext.js.map +1 -1
  8. package/dist-cjs/aria-announcer/AriaAnnouncerProvider.js.map +1 -1
  9. package/dist-cjs/aria-announcer/useAriaAnnouncer.js +1 -9
  10. package/dist-cjs/aria-announcer/useAriaAnnouncer.js.map +1 -1
  11. package/dist-cjs/avatar/Avatar.js.map +1 -1
  12. package/dist-cjs/button/Button.js.map +1 -1
  13. package/dist-cjs/button/useButton.js.map +1 -1
  14. package/dist-cjs/checkbox/Checkbox.js.map +1 -1
  15. package/dist-cjs/checkbox/CheckboxGroup.js.map +1 -1
  16. package/dist-cjs/checkbox/internal/CheckboxGroupContext.js.map +1 -1
  17. package/dist-cjs/combo-box/ComboBox.js.map +1 -1
  18. package/dist-cjs/combo-box/useComboBox.js.map +1 -1
  19. package/dist-cjs/dialog/Dialog.js.map +1 -1
  20. package/dist-cjs/dialog/DialogContent.js.map +1 -1
  21. package/dist-cjs/dialog/DialogContext.js.map +1 -1
  22. package/dist-cjs/drawer/Drawer.js.map +1 -1
  23. package/dist-cjs/dropdown/Dropdown.js.map +1 -1
  24. package/dist-cjs/file-drop-zone/FileDropZone.js.map +1 -1
  25. package/dist-cjs/file-drop-zone/FileDropZoneTrigger.js.map +1 -1
  26. package/dist-cjs/file-drop-zone/internal/utils.js.map +1 -1
  27. package/dist-cjs/flex-layout/parseSpacing.js.map +1 -1
  28. package/dist-cjs/form-field/FormField.js.map +1 -1
  29. package/dist-cjs/form-field/FormFieldHelperText.js.map +1 -1
  30. package/dist-cjs/form-field/FormFieldLabel.js.map +1 -1
  31. package/dist-cjs/grid-layout/GridLayout.js.map +1 -1
  32. package/dist-cjs/index.js +4 -0
  33. package/dist-cjs/index.js.map +1 -1
  34. package/dist-cjs/input/Input.js.map +1 -1
  35. package/dist-cjs/interactable-card/InteractableCard.js.map +1 -1
  36. package/dist-cjs/interactable-card/InteractableCardGroup.js.map +1 -1
  37. package/dist-cjs/interactable-card/InteractableCardGroupContext.js.map +1 -1
  38. package/dist-cjs/interactable-card/useInteractableCard.js.map +1 -1
  39. package/dist-cjs/link/Link.js.map +1 -1
  40. package/dist-cjs/list-box/ListBox.js.map +1 -1
  41. package/dist-cjs/list-control/ListControlContext.js.map +1 -1
  42. package/dist-cjs/list-control/ListControlState.js.map +1 -1
  43. package/dist-cjs/menu/MenuBase.js.map +1 -1
  44. package/dist-cjs/menu/MenuContext.js.map +1 -1
  45. package/dist-cjs/menu/MenuGroup.js.map +1 -1
  46. package/dist-cjs/menu/MenuItem.js.map +1 -1
  47. package/dist-cjs/menu/MenuPanel.js.map +1 -1
  48. package/dist-cjs/menu/MenuPanelContext.js.map +1 -1
  49. package/dist-cjs/menu/MenuTrigger.js.map +1 -1
  50. package/dist-cjs/multiline-input/MultilineInput.js.map +1 -1
  51. package/dist-cjs/navigation-item/ExpansionIcon.js +1 -1
  52. package/dist-cjs/navigation-item/ExpansionIcon.js.map +1 -1
  53. package/dist-cjs/navigation-item/NavigationItem.js.map +1 -1
  54. package/dist-cjs/option/Option.js.map +1 -1
  55. package/dist-cjs/overlay/Overlay.js.map +1 -1
  56. package/dist-cjs/pagination/PageButton.js.map +1 -1
  57. package/dist-cjs/pagination/Pagination.js.map +1 -1
  58. package/dist-cjs/pagination/PaginationContext.js.map +1 -1
  59. package/dist-cjs/pagination/usePagination.js.map +1 -1
  60. package/dist-cjs/parent-child-layout/ParentChildLayout.js.map +1 -1
  61. package/dist-cjs/pill-input/PillInput.js.map +1 -1
  62. package/dist-cjs/progress/CircularProgress/CircularProgress.js.map +1 -1
  63. package/dist-cjs/progress/LinearProgress/LinearProgress.js.map +1 -1
  64. package/dist-cjs/radio-button/RadioButton.js.map +1 -1
  65. package/dist-cjs/radio-button/RadioButtonGroup.js.map +1 -1
  66. package/dist-cjs/radio-button/internal/RadioGroupContext.js.map +1 -1
  67. package/dist-cjs/salt-provider/SaltProvider.js.map +1 -1
  68. package/dist-cjs/skip-link/internal/useManageFocusOnTarget.js.map +1 -1
  69. package/dist-cjs/slider/RangeSlider.js.map +1 -1
  70. package/dist-cjs/slider/Slider.js.map +1 -1
  71. package/dist-cjs/slider/internal/SliderThumb.js.map +1 -1
  72. package/dist-cjs/slider/internal/SliderTrack.js.map +1 -1
  73. package/dist-cjs/slider/internal/useRangeSliderThumb.js.map +1 -1
  74. package/dist-cjs/slider/internal/useSliderThumb.js.map +1 -1
  75. package/dist-cjs/stack-layout/StackLayout.js.map +1 -1
  76. package/dist-cjs/stepper/Step.css.js +6 -0
  77. package/dist-cjs/stepper/Step.css.js.map +1 -0
  78. package/dist-cjs/stepper/Step.js +167 -0
  79. package/dist-cjs/stepper/Step.js.map +1 -0
  80. package/dist-cjs/stepper/Stepper.css.js +6 -0
  81. package/dist-cjs/stepper/Stepper.css.js.map +1 -0
  82. package/dist-cjs/stepper/Stepper.js +40 -0
  83. package/dist-cjs/stepper/Stepper.js.map +1 -0
  84. package/dist-cjs/stepper/internal/StepConnector.css.js +6 -0
  85. package/dist-cjs/stepper/internal/StepConnector.css.js.map +1 -0
  86. package/dist-cjs/stepper/internal/StepConnector.js +27 -0
  87. package/dist-cjs/stepper/internal/StepConnector.js.map +1 -0
  88. package/dist-cjs/stepper/internal/StepExpandTrigger.css.js +6 -0
  89. package/dist-cjs/stepper/internal/StepExpandTrigger.css.js.map +1 -0
  90. package/dist-cjs/stepper/internal/StepExpandTrigger.js +45 -0
  91. package/dist-cjs/stepper/internal/StepExpandTrigger.js.map +1 -0
  92. package/dist-cjs/stepper/internal/StepIcon.css.js +6 -0
  93. package/dist-cjs/stepper/internal/StepIcon.css.js.map +1 -0
  94. package/dist-cjs/stepper/internal/StepIcon.js +62 -0
  95. package/dist-cjs/stepper/internal/StepIcon.js.map +1 -0
  96. package/dist-cjs/stepper/internal/StepScreenReaderOnly.js +13 -0
  97. package/dist-cjs/stepper/internal/StepScreenReaderOnly.js.map +1 -0
  98. package/dist-cjs/stepper/internal/StepText.css.js +6 -0
  99. package/dist-cjs/stepper/internal/StepText.css.js.map +1 -0
  100. package/dist-cjs/stepper/internal/StepText.js +50 -0
  101. package/dist-cjs/stepper/internal/StepText.js.map +1 -0
  102. package/dist-cjs/stepper/internal/StepperProvider.js +19 -0
  103. package/dist-cjs/stepper/internal/StepperProvider.js.map +1 -0
  104. package/dist-cjs/switch/Switch.js.map +1 -1
  105. package/dist-cjs/toggle-button/ToggleButton.css.js +1 -1
  106. package/dist-cjs/toggle-button/ToggleButton.js +34 -20
  107. package/dist-cjs/toggle-button/ToggleButton.js.map +1 -1
  108. package/dist-cjs/toggle-button-group/ToggleButtonGroup.css.js +1 -1
  109. package/dist-cjs/toggle-button-group/ToggleButtonGroup.js +30 -6
  110. package/dist-cjs/toggle-button-group/ToggleButtonGroup.js.map +1 -1
  111. package/dist-cjs/toggle-button-group/ToggleButtonGroupContext.js.map +1 -1
  112. package/dist-cjs/tooltip/Tooltip.js.map +1 -1
  113. package/dist-cjs/tooltip/TooltipBase.js.map +1 -1
  114. package/dist-cjs/tooltip/useAriaAnnounce.js.map +1 -1
  115. package/dist-cjs/tooltip/useTooltip.js.map +1 -1
  116. package/dist-cjs/utils/mergeProps.js.map +1 -1
  117. package/dist-cjs/utils/useControlled.js.map +1 -1
  118. package/dist-cjs/utils/useFloatingUI/useFloatingUI.js.map +1 -1
  119. package/dist-cjs/utils/useId.js.map +1 -1
  120. package/dist-cjs/utils/usePreventScroll.js.map +1 -1
  121. package/dist-cjs/utils/useResizeObserver.js.map +1 -1
  122. package/dist-cjs/utils/useResponsiveProp.js.map +1 -1
  123. package/dist-es/accordion/Accordion.js.map +1 -1
  124. package/dist-es/accordion/AccordionContext.js.map +1 -1
  125. package/dist-es/accordion/AccordionHeader.js.map +1 -1
  126. package/dist-es/accordion/AccordionPanel.js.map +1 -1
  127. package/dist-es/aria-announcer/AriaAnnouncerContext.js.map +1 -1
  128. package/dist-es/aria-announcer/AriaAnnouncerProvider.js.map +1 -1
  129. package/dist-es/aria-announcer/useAriaAnnouncer.js +1 -9
  130. package/dist-es/aria-announcer/useAriaAnnouncer.js.map +1 -1
  131. package/dist-es/avatar/Avatar.js.map +1 -1
  132. package/dist-es/breakpoints/BreakpointProvider.js +1 -1
  133. package/dist-es/button/Button.js.map +1 -1
  134. package/dist-es/button/useButton.js.map +1 -1
  135. package/dist-es/checkbox/Checkbox.js.map +1 -1
  136. package/dist-es/checkbox/CheckboxGroup.js.map +1 -1
  137. package/dist-es/checkbox/internal/CheckboxGroupContext.js.map +1 -1
  138. package/dist-es/combo-box/ComboBox.js.map +1 -1
  139. package/dist-es/combo-box/useComboBox.js.map +1 -1
  140. package/dist-es/dialog/Dialog.js.map +1 -1
  141. package/dist-es/dialog/DialogContent.js.map +1 -1
  142. package/dist-es/dialog/DialogContext.js.map +1 -1
  143. package/dist-es/drawer/Drawer.js.map +1 -1
  144. package/dist-es/dropdown/Dropdown.js.map +1 -1
  145. package/dist-es/file-drop-zone/FileDropZone.js +1 -1
  146. package/dist-es/file-drop-zone/FileDropZone.js.map +1 -1
  147. package/dist-es/file-drop-zone/FileDropZoneTrigger.js.map +1 -1
  148. package/dist-es/file-drop-zone/internal/utils.js.map +1 -1
  149. package/dist-es/flex-layout/parseSpacing.js.map +1 -1
  150. package/dist-es/form-field/FormField.js.map +1 -1
  151. package/dist-es/form-field/FormFieldHelperText.js.map +1 -1
  152. package/dist-es/form-field/FormFieldLabel.js.map +1 -1
  153. package/dist-es/grid-layout/GridLayout.js.map +1 -1
  154. package/dist-es/index.js +2 -0
  155. package/dist-es/index.js.map +1 -1
  156. package/dist-es/input/Input.js.map +1 -1
  157. package/dist-es/interactable-card/InteractableCard.js.map +1 -1
  158. package/dist-es/interactable-card/InteractableCardGroup.js.map +1 -1
  159. package/dist-es/interactable-card/InteractableCardGroupContext.js.map +1 -1
  160. package/dist-es/interactable-card/useInteractableCard.js.map +1 -1
  161. package/dist-es/link/Link.js.map +1 -1
  162. package/dist-es/list-box/ListBox.js.map +1 -1
  163. package/dist-es/list-control/ListControlContext.js.map +1 -1
  164. package/dist-es/list-control/ListControlState.js.map +1 -1
  165. package/dist-es/menu/MenuBase.js +1 -1
  166. package/dist-es/menu/MenuBase.js.map +1 -1
  167. package/dist-es/menu/MenuContext.js.map +1 -1
  168. package/dist-es/menu/MenuGroup.js.map +1 -1
  169. package/dist-es/menu/MenuItem.js.map +1 -1
  170. package/dist-es/menu/MenuPanel.js.map +1 -1
  171. package/dist-es/menu/MenuPanelContext.js.map +1 -1
  172. package/dist-es/menu/MenuTrigger.js.map +1 -1
  173. package/dist-es/multiline-input/MultilineInput.js.map +1 -1
  174. package/dist-es/navigation-item/ExpansionIcon.js +1 -1
  175. package/dist-es/navigation-item/ExpansionIcon.js.map +1 -1
  176. package/dist-es/navigation-item/NavigationItem.js.map +1 -1
  177. package/dist-es/option/Option.js.map +1 -1
  178. package/dist-es/overlay/Overlay.js +1 -1
  179. package/dist-es/overlay/Overlay.js.map +1 -1
  180. package/dist-es/pagination/PageButton.js.map +1 -1
  181. package/dist-es/pagination/Pagination.js.map +1 -1
  182. package/dist-es/pagination/PaginationContext.js.map +1 -1
  183. package/dist-es/pagination/usePagination.js.map +1 -1
  184. package/dist-es/parent-child-layout/ParentChildLayout.js.map +1 -1
  185. package/dist-es/pill-input/PillInput.js.map +1 -1
  186. package/dist-es/progress/CircularProgress/CircularProgress.js.map +1 -1
  187. package/dist-es/progress/LinearProgress/LinearProgress.js.map +1 -1
  188. package/dist-es/radio-button/RadioButton.js.map +1 -1
  189. package/dist-es/radio-button/RadioButtonGroup.js.map +1 -1
  190. package/dist-es/radio-button/internal/RadioGroupContext.js.map +1 -1
  191. package/dist-es/salt-provider/SaltProvider.js.map +1 -1
  192. package/dist-es/semantic-icon-provider/SemanticIconProvider.js +1 -1
  193. package/dist-es/skip-link/internal/useManageFocusOnTarget.js.map +1 -1
  194. package/dist-es/slider/RangeSlider.js.map +1 -1
  195. package/dist-es/slider/Slider.js.map +1 -1
  196. package/dist-es/slider/internal/SliderThumb.js.map +1 -1
  197. package/dist-es/slider/internal/SliderTrack.js.map +1 -1
  198. package/dist-es/slider/internal/useRangeSliderThumb.js.map +1 -1
  199. package/dist-es/slider/internal/useSliderThumb.js.map +1 -1
  200. package/dist-es/stack-layout/StackLayout.js.map +1 -1
  201. package/dist-es/stepper/Step.css.js +4 -0
  202. package/dist-es/stepper/Step.css.js.map +1 -0
  203. package/dist-es/stepper/Step.js +165 -0
  204. package/dist-es/stepper/Step.js.map +1 -0
  205. package/dist-es/stepper/Stepper.css.js +4 -0
  206. package/dist-es/stepper/Stepper.css.js.map +1 -0
  207. package/dist-es/stepper/Stepper.js +38 -0
  208. package/dist-es/stepper/Stepper.js.map +1 -0
  209. package/dist-es/stepper/internal/StepConnector.css.js +4 -0
  210. package/dist-es/stepper/internal/StepConnector.css.js.map +1 -0
  211. package/dist-es/stepper/internal/StepConnector.js +25 -0
  212. package/dist-es/stepper/internal/StepConnector.js.map +1 -0
  213. package/dist-es/stepper/internal/StepExpandTrigger.css.js +4 -0
  214. package/dist-es/stepper/internal/StepExpandTrigger.css.js.map +1 -0
  215. package/dist-es/stepper/internal/StepExpandTrigger.js +43 -0
  216. package/dist-es/stepper/internal/StepExpandTrigger.js.map +1 -0
  217. package/dist-es/stepper/internal/StepIcon.css.js +4 -0
  218. package/dist-es/stepper/internal/StepIcon.css.js.map +1 -0
  219. package/dist-es/stepper/internal/StepIcon.js +60 -0
  220. package/dist-es/stepper/internal/StepIcon.js.map +1 -0
  221. package/dist-es/stepper/internal/StepScreenReaderOnly.js +11 -0
  222. package/dist-es/stepper/internal/StepScreenReaderOnly.js.map +1 -0
  223. package/dist-es/stepper/internal/StepText.css.js +4 -0
  224. package/dist-es/stepper/internal/StepText.css.js.map +1 -0
  225. package/dist-es/stepper/internal/StepText.js +48 -0
  226. package/dist-es/stepper/internal/StepText.js.map +1 -0
  227. package/dist-es/stepper/internal/StepperProvider.js +15 -0
  228. package/dist-es/stepper/internal/StepperProvider.js.map +1 -0
  229. package/dist-es/switch/Switch.js.map +1 -1
  230. package/dist-es/toggle-button/ToggleButton.css.js +1 -1
  231. package/dist-es/toggle-button/ToggleButton.js +34 -20
  232. package/dist-es/toggle-button/ToggleButton.js.map +1 -1
  233. package/dist-es/toggle-button-group/ToggleButtonGroup.css.js +1 -1
  234. package/dist-es/toggle-button-group/ToggleButtonGroup.js +30 -6
  235. package/dist-es/toggle-button-group/ToggleButtonGroup.js.map +1 -1
  236. package/dist-es/toggle-button-group/ToggleButtonGroupContext.js.map +1 -1
  237. package/dist-es/tooltip/Tooltip.js.map +1 -1
  238. package/dist-es/tooltip/TooltipBase.js.map +1 -1
  239. package/dist-es/tooltip/useAriaAnnounce.js.map +1 -1
  240. package/dist-es/tooltip/useTooltip.js +1 -1
  241. package/dist-es/tooltip/useTooltip.js.map +1 -1
  242. package/dist-es/utils/mergeProps.js.map +1 -1
  243. package/dist-es/utils/useControlled.js.map +1 -1
  244. package/dist-es/utils/useFloatingUI/useFloatingUI.js +2 -2
  245. package/dist-es/utils/useFloatingUI/useFloatingUI.js.map +1 -1
  246. package/dist-es/utils/useId.js.map +1 -1
  247. package/dist-es/utils/usePreventScroll.js.map +1 -1
  248. package/dist-es/utils/useResizeObserver.js.map +1 -1
  249. package/dist-es/utils/useResponsiveProp.js.map +1 -1
  250. package/dist-types/combo-box/ComboBox.d.ts +2 -2
  251. package/dist-types/form-field/FormFieldHelperText.d.ts +3 -1
  252. package/dist-types/index.d.ts +1 -0
  253. package/dist-types/stepper/Step.d.ts +46 -0
  254. package/dist-types/stepper/Stepper.d.ts +9 -0
  255. package/dist-types/stepper/index.d.ts +2 -0
  256. package/dist-types/stepper/internal/StepConnector.d.ts +1 -0
  257. package/dist-types/stepper/internal/StepExpandTrigger.d.ts +5 -0
  258. package/dist-types/stepper/internal/StepIcon.d.ts +8 -0
  259. package/dist-types/stepper/internal/StepScreenReaderOnly.d.ts +5 -0
  260. package/dist-types/stepper/internal/StepText.d.ts +5 -0
  261. package/dist-types/stepper/internal/StepperProvider.d.ts +9 -0
  262. package/dist-types/toggle-button/ToggleButton.d.ts +30 -1
  263. package/dist-types/toggle-button-group/ToggleButtonGroup.d.ts +16 -2
  264. package/dist-types/toggle-button-group/ToggleButtonGroupContext.d.ts +6 -2
  265. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,60 @@
1
1
  # @salt-ds/core
2
2
 
3
+ ## 1.46.0
4
+
5
+ ### Minor Changes
6
+
7
+ - ec1736e: Added `defaultSelected` prop to `ToggleButton` to control default selected state. Updated `ToggleButton` `appearance` JSDoc to be more clear around selected state.
8
+
9
+ ### Patch Changes
10
+
11
+ - 8b4cbfb: Fixed Step component not working with Tooltip due to missing `forwardRef`.
12
+ - bbdf4a6: Removed `onPillRemove` callback from the ComboBox's type definitions. `onPillRemove` has never been supported nor is it intended to be supported. `onSelectionChange` can be used instead to detect the removed pill.
13
+
14
+ ## 1.45.0
15
+
16
+ ### Minor Changes
17
+
18
+ - c664e97: - Moved `SteppedTracker` component from labs to core, renamed as `Stepper`.
19
+
20
+ - `Stepper` visually communicates a user’s progress through a linear process. It gives the user context about where they are, which steps have they completed, how many steps are left and if any errors or warnings have occurred.
21
+
22
+ ```tsx
23
+ import { Stepper, Step } from "@salt-ds/core";
24
+
25
+ function Example() {
26
+ return (
27
+ <Stepper orientation="horizontal">
28
+ <Step label="Step 1" stage="completed" />
29
+ <Step label="Step 2" stage="active" />
30
+ <Step label="Step 3" stage="pending" />
31
+ </Stepper>
32
+ );
33
+ }
34
+ ```
35
+
36
+ - 06232b0: Added `sentiment`, `appearance` and `readOnly` props to `ToggleButton` and `ToggleButtonGroup`.
37
+
38
+ ```tsx
39
+ <ToggleButton sentiment="positive" appearance="bordered">
40
+ Home
41
+ </ToggleButton>
42
+ ```
43
+
44
+ ```tsx
45
+ <ToggleButtonGroup sentiment="accented" appearance="bordered">
46
+ <ToggleButton> Home</ToggleButton>
47
+ </ToggleButtonGroup>
48
+ ```
49
+
50
+ ```tsx
51
+ <ToggleButtonGroup readOnly={true}>
52
+ <ToggleButton> Home</ToggleButton>
53
+ </ToggleButtonGroup>
54
+ ```
55
+
56
+ Added support for visually indicating the selected toggle button within a disabled toggle button group.
57
+
3
58
  ## 1.44.1
4
59
 
5
60
  ### Patch Changes
package/css/salt-core.css CHANGED
@@ -3675,6 +3675,82 @@ a:focus .saltCard-interactable.saltCard-disabled {
3675
3675
  --statusIndicator-Color: var(--statusIndicator-info-color);
3676
3676
  }
3677
3677
 
3678
+ /* src/stepper/Step.css */
3679
+ .saltStep {
3680
+ --step-icon-base-size: var(--salt-size-icon, 12px);
3681
+ --step-icon-size-multiplier: var(--saltIcon-size-multiplier, 1.5);
3682
+ --step-icon-size: calc(var(--step-icon-base-size) * var(--step-icon-size-multiplier));
3683
+ --step-depth: var(--saltStep-depth, 0);
3684
+ }
3685
+ .saltStepper-horizontal .saltStep {
3686
+ position: relative;
3687
+ display: grid;
3688
+ grid-template-columns: 1fr;
3689
+ grid-template-rows: repeat(3, min-content);
3690
+ grid-template-areas: "icon" "label" "description";
3691
+ justify-items: center;
3692
+ align-items: center;
3693
+ text-align: center;
3694
+ flex: 1;
3695
+ padding: 0 var(--salt-spacing-25);
3696
+ }
3697
+ .saltStepper-vertical .saltStep {
3698
+ display: grid;
3699
+ grid-template-columns: var(--step-icon-size) 1fr min-content;
3700
+ grid-template-areas: "icon label expand" "connector description ." "stepper stepper stepper";
3701
+ justify-items: start;
3702
+ align-items: start;
3703
+ gap: 0 var(--salt-spacing-100);
3704
+ width: 100%;
3705
+ transition-duration: inherit;
3706
+ transition-timing-function: inherit;
3707
+ transition-property: grid-template-rows;
3708
+ }
3709
+ .saltStepper-vertical .saltStep-terminal {
3710
+ grid-template-areas: "icon label label" "connector description description" "stepper stepper stepper";
3711
+ }
3712
+ .saltStepper-vertical > .saltStep.saltStep-expanded {
3713
+ grid-template-rows: var(--salt-size-base) min-content 1fr;
3714
+ }
3715
+ .saltStepper-vertical > .saltStep.saltStep-collapsed {
3716
+ grid-template-rows: var(--salt-size-base) min-content 0fr;
3717
+ }
3718
+
3719
+ /* src/stepper/Stepper.css */
3720
+ .saltStepper {
3721
+ grid-area: stepper;
3722
+ width: 100%;
3723
+ height: 100%;
3724
+ margin: 0;
3725
+ padding: 0;
3726
+ list-style-type: none;
3727
+ transition-duration: var(--salt-duration-perceptible);
3728
+ transition-timing-function: ease-in-out;
3729
+ transition-property: opacity, visibility;
3730
+ }
3731
+ @media (prefers-reduced-motion) {
3732
+ .saltStepper {
3733
+ transition-duration: var(--salt-duration-instant);
3734
+ }
3735
+ }
3736
+ .saltStepper-horizontal {
3737
+ display: flex;
3738
+ flex-direction: row;
3739
+ }
3740
+ .saltStepper-vertical {
3741
+ display: flex;
3742
+ flex-direction: column;
3743
+ overflow: hidden;
3744
+ }
3745
+ .saltStepper-vertical > .saltStep.saltStep-expanded > .saltStepper {
3746
+ opacity: 1;
3747
+ visibility: visible;
3748
+ }
3749
+ .saltStepper-vertical > .saltStep.saltStep-collapsed > .saltStepper {
3750
+ opacity: 0;
3751
+ visibility: hidden;
3752
+ }
3753
+
3678
3754
  /* src/switch/Switch.css */
3679
3755
  .saltSwitch {
3680
3756
  display: flex;
@@ -4239,20 +4315,21 @@ label.saltText small,
4239
4315
  border-style: solid;
4240
4316
  border-width: var(--salt-size-border, 0);
4241
4317
  border-radius: var(--salt-palette-corner-weak, 0);
4318
+ box-sizing: border-box;
4242
4319
  color: var(--toggleButton-text-color);
4243
4320
  cursor: pointer;
4244
4321
  display: inline-flex;
4245
4322
  gap: var(--salt-spacing-50);
4323
+ height: var(--salt-size-base);
4246
4324
  justify-content: center;
4325
+ line-height: var(--salt-text-lineHeight);
4247
4326
  font-size: var(--salt-text-fontSize);
4248
4327
  font-weight: var(--salt-text-action-fontWeight);
4249
4328
  font-family: var(--salt-text-action-fontFamily);
4250
- line-height: var(--salt-text-lineHeight);
4251
4329
  letter-spacing: var(--salt-text-action-letterSpacing);
4252
4330
  text-transform: var(--salt-text-action-textTransform);
4253
4331
  padding: 0 calc(var(--salt-spacing-100) - var(--salt-size-border, 0));
4254
4332
  margin: 0;
4255
- height: var(--salt-size-base);
4256
4333
  min-width: unset;
4257
4334
  position: relative;
4258
4335
  text-align: var(--salt-text-action-textAlign);
@@ -4278,30 +4355,264 @@ label.saltText small,
4278
4355
  }
4279
4356
  .saltToggleButton[aria-checked=true],
4280
4357
  .saltToggleButton[aria-pressed=true] {
4281
- background: var(--toggleButton-background-active);
4282
- color: var(--toggleButton-text-color-active);
4358
+ background: var(--toggleButton-background-selected);
4359
+ color: var(--toggleButton-text-color-selected);
4283
4360
  cursor: var(--salt-actionable-cursor-active);
4284
- border-color: var(--toggleButton-borderColor-active);
4361
+ border-color: var(--toggleButton-borderColor-selected);
4285
4362
  }
4286
- .saltToggleButton:disabled {
4363
+ .saltToggleButton[aria-disabled=true] {
4287
4364
  background: var(--toggleButton-background-disabled);
4288
4365
  color: var(--toggleButton-text-color-disabled);
4289
4366
  cursor: var(--salt-actionable-cursor-disabled);
4290
4367
  border-color: var(--toggleButton-borderColor-disabled);
4291
4368
  }
4292
- .saltToggleButton {
4369
+ .saltToggleButton[aria-checked=true].saltToggleButton[aria-disabled=true],
4370
+ .saltToggleButton[aria-pressed=true].saltToggleButton[aria-disabled=true] {
4371
+ background: var(--toggleButton-background-disabled-selected);
4372
+ color: var(--toggleButton-text-color-disabled-selected);
4373
+ border-color: var(--toggleButton-borderColor-disabled-selected);
4374
+ }
4375
+ .saltToggleButton.saltToggleButton-readOnly {
4376
+ background: var(--toggleButton-background-readonly);
4377
+ color: var(--toggleButton-text-color-readonly);
4378
+ cursor: var(--salt-actionable-cursor-disabled);
4379
+ border-color: var(--toggleButton-borderColor-readonly);
4380
+ }
4381
+ .saltToggleButton[aria-checked=true].saltToggleButton-readOnly,
4382
+ .saltToggleButton[aria-pressed=true].saltToggleButton-readOnly {
4383
+ background: var(--toggleButton-background-readonly-selected);
4384
+ color: var(--toggleButton-text-color-readonly-selected);
4385
+ border-color: var(--toggleButton-borderColor-readonly-selected);
4386
+ }
4387
+ .saltToggleButton-neutral.saltToggleButton-solid {
4293
4388
  --toggleButton-text-color: var(--salt-actionable-subtle-foreground);
4294
4389
  --toggleButton-text-color-hover: var(--salt-actionable-subtle-foreground-hover);
4295
- --toggleButton-text-color-active: var(--salt-actionable-subtle-foreground-active);
4390
+ --toggleButton-text-color-selected: var(--salt-actionable-subtle-foreground-active);
4296
4391
  --toggleButton-text-color-disabled: var(--salt-actionable-subtle-foreground-disabled);
4392
+ --toggleButton-text-color-disabled-selected: var(--salt-actionable-bold-foreground-disabled);
4393
+ --toggleButton-text-color-readonly: var(--salt-actionable-subtle-foreground-disabled);
4394
+ --toggleButton-text-color-readonly-selected: var(--salt-actionable-subtle-foreground-active);
4297
4395
  --toggleButton-background: var(--salt-actionable-subtle-background);
4298
4396
  --toggleButton-background-hover: var(--salt-actionable-subtle-background-hover);
4299
- --toggleButton-background-active: var(--salt-actionable-subtle-background-active);
4397
+ --toggleButton-background-selected: var(--salt-actionable-subtle-background-active);
4300
4398
  --toggleButton-background-disabled: var(--salt-actionable-subtle-background-disabled);
4399
+ --toggleButton-background-disabled-selected: var(--salt-actionable-bold-background-disabled);
4400
+ --toggleButton-background-readonly: var(--salt-actionable-subtle-background-disabled);
4401
+ --toggleButton-background-readonly-selected: var(--salt-actionable-subtle-background-active);
4301
4402
  --toggleButton-borderColor: var(--salt-actionable-subtle-borderColor);
4302
4403
  --toggleButton-borderColor-hover: var(--salt-actionable-subtle-borderColor-hover);
4303
- --toggleButton-borderColor-active: var(--salt-actionable-subtle-borderColor-active);
4404
+ --toggleButton-borderColor-selected: var(--salt-actionable-subtle-borderColor-active);
4405
+ --toggleButton-borderColor-disabled: var(--salt-actionable-subtle-borderColor-disabled);
4406
+ --toggleButton-borderColor-disabled-selected: var(--salt-actionable-bold-borderColor-disabled);
4407
+ --toggleButton-borderColor-readonly: var(--salt-actionable-subtle-borderColor-disabled);
4408
+ --toggleButton-borderColor-readonly-selected: var(--salt-actionable-subtle-borderColor-active);
4409
+ }
4410
+ .saltToggleButton-accented.saltToggleButton-solid {
4411
+ --toggleButton-text-color: var(--salt-actionable-accented-subtle-foreground);
4412
+ --toggleButton-text-color-hover: var(--salt-actionable-accented-subtle-foreground-hover);
4413
+ --toggleButton-text-color-selected: var(--salt-actionable-accented-subtle-foreground-active);
4414
+ --toggleButton-text-color-disabled: var(--salt-actionable-accented-subtle-foreground-disabled);
4415
+ --toggleButton-text-color-disabled-selected: var(--salt-actionable-accented-bold-foreground-disabled);
4416
+ --toggleButton-text-color-readonly: var(--salt-actionable-accented-subtle-foreground-disabled);
4417
+ --toggleButton-text-color-readonly-selected: var(--salt-actionable-accented-subtle-foreground-active);
4418
+ --toggleButton-background: var(--salt-actionable-accented-subtle-background);
4419
+ --toggleButton-background-hover: var(--salt-actionable-accented-subtle-background-hover);
4420
+ --toggleButton-background-selected: var(--salt-actionable-accented-subtle-background-active);
4421
+ --toggleButton-background-disabled: var(--salt-actionable-accented-subtle-background-disabled);
4422
+ --toggleButton-background-disabled-selected: var(--salt-actionable-accented-bold-background-disabled);
4423
+ --toggleButton-background-readonly: var(--salt-actionable-accented-subtle-background-disabled);
4424
+ --toggleButton-background-readonly-selected: var(--salt-actionable-accented-subtle-background-active);
4425
+ --toggleButton-borderColor: var(--salt-actionable-accented-subtle-borderColor);
4426
+ --toggleButton-borderColor-hover: var(--salt-actionable-accented-subtle-borderColor-hover);
4427
+ --toggleButton-borderColor-selected: var(--salt-actionable-accented-subtle-borderColor-active);
4428
+ --toggleButton-borderColor-disabled: var(--salt-actionable-accented-subtle-borderColor-disabled);
4429
+ --toggleButton-borderColor-disabled-selected: var(--salt-actionable-accented-bold-borderColor-disabled);
4430
+ --toggleButton-borderColor-readonly: var(--salt-actionable-accented-subtle-borderColor-disabled);
4431
+ --toggleButton-borderColor-readonly-selected: var(--salt-actionable-accented-subtle-borderColor-active);
4432
+ }
4433
+ .saltToggleButton-positive.saltToggleButton-solid {
4434
+ --toggleButton-text-color: var(--salt-actionable-positive-subtle-foreground);
4435
+ --toggleButton-text-color-hover: var(--salt-actionable-positive-subtle-foreground-hover);
4436
+ --toggleButton-text-color-selected: var(--salt-actionable-positive-subtle-foreground-active);
4437
+ --toggleButton-text-color-disabled: var(--salt-actionable-positive-subtle-foreground-disabled);
4438
+ --toggleButton-text-color-disabled-selected: var(--salt-actionable-positive-bold-foreground-disabled);
4439
+ --toggleButton-text-color-readonly: var(--salt-actionable-positive-subtle-foreground-disabled);
4440
+ --toggleButton-text-color-readonly-selected: var(--salt-actionable-positive-subtle-foreground-active);
4441
+ --toggleButton-background: var(--salt-actionable-positive-subtle-background);
4442
+ --toggleButton-background-hover: var(--salt-actionable-positive-subtle-background-hover);
4443
+ --toggleButton-background-selected: var(--salt-actionable-positive-subtle-background-active);
4444
+ --toggleButton-background-disabled: var(--salt-actionable-positive-subtle-background-disabled);
4445
+ --toggleButton-background-disabled-selected: var(--salt-actionable-positive-bold-background-disabled);
4446
+ --toggleButton-background-readonly: var(--salt-actionable-positive-subtle-background-disabled);
4447
+ --toggleButton-background-readonly-selected: var(--salt-actionable-positive-subtle-background-active);
4448
+ --toggleButton-borderColor: var(--salt-actionable-positive-subtle-borderColor);
4449
+ --toggleButton-borderColor-hover: var(--salt-actionable-positive-subtle-borderColor-hover);
4450
+ --toggleButton-borderColor-selected: var(--salt-actionable-positive-subtle-borderColor-active);
4451
+ --toggleButton-borderColor-disabled: var(--salt-actionable-positive-subtle-borderColor-disabled);
4452
+ --toggleButton-borderColor-disabled-selected: var(--salt-actionable-positive-bold-borderColor-disabled);
4453
+ --toggleButton-borderColor-readonly: var(--salt-actionable-positive-subtle-borderColor-disabled);
4454
+ --toggleButton-borderColor-readonly-selected: var(--salt-actionable-positive-subtle-borderColor-active);
4455
+ }
4456
+ .saltToggleButton-negative.saltToggleButton-solid {
4457
+ --toggleButton-text-color: var(--salt-actionable-negative-subtle-foreground);
4458
+ --toggleButton-text-color-hover: var(--salt-actionable-negative-subtle-foreground-hover);
4459
+ --toggleButton-text-color-selected: var(--salt-actionable-negative-subtle-foreground-active);
4460
+ --toggleButton-text-color-disabled: var(--salt-actionable-negative-subtle-foreground-disabled);
4461
+ --toggleButton-text-color-disabled-selected: var(--salt-actionable-negative-bold-foreground-disabled);
4462
+ --toggleButton-text-color-readonly: var(--salt-actionable-negative-subtle-foreground-disabled);
4463
+ --toggleButton-text-color-readonly-selected: var(--salt-actionable-negative-subtle-foreground-active);
4464
+ --toggleButton-background: var(--salt-actionable-negative-subtle-background);
4465
+ --toggleButton-background-hover: var(--salt-actionable-negative-subtle-background-hover);
4466
+ --toggleButton-background-selected: var(--salt-actionable-negative-subtle-background-active);
4467
+ --toggleButton-background-disabled: var(--salt-actionable-negative-subtle-background-disabled);
4468
+ --toggleButton-background-disabled-selected: var(--salt-actionable-negative-bold-background-disabled);
4469
+ --toggleButton-background-readonly: var(--salt-actionable-negative-subtle-background-disabled);
4470
+ --toggleButton-background-readonly-selected: var(--salt-actionable-negative-subtle-background-active);
4471
+ --toggleButton-borderColor: var(--salt-actionable-negative-subtle-borderColor);
4472
+ --toggleButton-borderColor-hover: var(--salt-actionable-negative-subtle-borderColor-hover);
4473
+ --toggleButton-borderColor-selected: var(--salt-actionable-negative-subtle-borderColor-active);
4474
+ --toggleButton-borderColor-disabled: var(--salt-actionable-negative-subtle-borderColor-disabled);
4475
+ --toggleButton-borderColor-disabled-selected: var(--salt-actionable-negative-bold-borderColor-disabled);
4476
+ --toggleButton-borderColor-readonly: var(--salt-actionable-negative-subtle-borderColor-disabled);
4477
+ --toggleButton-borderColor-readonly-selected: var(--salt-actionable-negative-subtle-borderColor-active);
4478
+ }
4479
+ .saltToggleButton-caution.saltToggleButton-solid {
4480
+ --toggleButton-text-color: var(--salt-actionable-caution-subtle-foreground);
4481
+ --toggleButton-text-color-hover: var(--salt-actionable-caution-subtle-foreground-hover);
4482
+ --toggleButton-text-color-selected: var(--salt-actionable-caution-subtle-foreground-active);
4483
+ --toggleButton-text-color-disabled: var(--salt-actionable-caution-subtle-foreground-disabled);
4484
+ --toggleButton-text-color-disabled-selected: var(--salt-actionable-caution-bold-foreground-disabled);
4485
+ --toggleButton-text-color-readonly: var(--salt-actionable-caution-subtle-foreground-disabled);
4486
+ --toggleButton-text-color-readonly-selected: var(--salt-actionable-caution-subtle-foreground-active);
4487
+ --toggleButton-background: var(--salt-actionable-caution-subtle-background);
4488
+ --toggleButton-background-hover: var(--salt-actionable-caution-subtle-background-hover);
4489
+ --toggleButton-background-selected: var(--salt-actionable-caution-subtle-background-active);
4490
+ --toggleButton-background-disabled: var(--salt-actionable-caution-subtle-background-disabled);
4491
+ --toggleButton-background-disabled-selected: var(--salt-actionable-caution-bold-background-disabled);
4492
+ --toggleButton-background-readonly: var(--salt-actionable-caution-subtle-background-disabled);
4493
+ --toggleButton-background-readonly-selected: var(--salt-actionable-caution-subtle-background-active);
4494
+ --toggleButton-borderColor: var(--salt-actionable-caution-subtle-borderColor);
4495
+ --toggleButton-borderColor-hover: var(--salt-actionable-caution-subtle-borderColor-hover);
4496
+ --toggleButton-borderColor-selected: var(--salt-actionable-caution-subtle-borderColor-active);
4497
+ --toggleButton-borderColor-disabled: var(--salt-actionable-caution-subtle-borderColor-disabled);
4498
+ --toggleButton-borderColor-disabled-selected: var(--salt-actionable-caution-bold-borderColor-disabled);
4499
+ --toggleButton-borderColor-readonly: var(--salt-actionable-caution-subtle-borderColor-disabled);
4500
+ --toggleButton-borderColor-readonly-selected: var(--salt-actionable-caution-subtle-borderColor-active);
4501
+ }
4502
+ .saltToggleButton-neutral.saltToggleButton-bordered {
4503
+ --toggleButton-text-color: var(--salt-actionable-subtle-foreground);
4504
+ --toggleButton-text-color-hover: var(--salt-actionable-subtle-foreground-hover);
4505
+ --toggleButton-text-color-selected: var(--salt-actionable-foreground);
4506
+ --toggleButton-text-color-disabled: var(--salt-actionable-subtle-foreground-disabled);
4507
+ --toggleButton-text-color-disabled-selected: var(--salt-actionable-foreground-disabled);
4508
+ --toggleButton-text-color-readonly: var(--salt-actionable-subtle-foreground-disabled);
4509
+ --toggleButton-text-color-readonly-selected: var(--salt-actionable-foreground);
4510
+ --toggleButton-background: var(--salt-actionable-subtle-background);
4511
+ --toggleButton-background-hover: var(--salt-actionable-subtle-background-hover);
4512
+ --toggleButton-background-selected: var(--salt-actionable-background);
4513
+ --toggleButton-background-disabled: var(--salt-actionable-subtle-background-disabled);
4514
+ --toggleButton-background-disabled-selected: var(--salt-actionable-background-disabled);
4515
+ --toggleButton-background-readonly: var(--salt-actionable-subtle-background-disabled);
4516
+ --toggleButton-background-readonly-selected: var(--salt-actionable-background);
4517
+ --toggleButton-borderColor: var(--salt-actionable-subtle-borderColor);
4518
+ --toggleButton-borderColor-hover: var(--salt-actionable-subtle-border);
4519
+ --toggleButton-borderColor-selected: var(--salt-actionable-borderColor);
4304
4520
  --toggleButton-borderColor-disabled: var(--salt-actionable-subtle-borderColor-disabled);
4521
+ --toggleButton-borderColor-disabled-selected: var(--salt-actionable-borderColor-disabled);
4522
+ --toggleButton-borderColor-readonly: var(--salt-actionable-subtle-borderColor-disabled);
4523
+ --toggleButton-borderColor-readonly-selected: var(--salt-actionable-borderColor);
4524
+ }
4525
+ .saltToggleButton-accented.saltToggleButton-bordered {
4526
+ --toggleButton-text-color: var(--salt-actionable-accented-subtle-foreground);
4527
+ --toggleButton-text-color-hover: var(--salt-actionable-accented-subtle-foreground-hover);
4528
+ --toggleButton-text-color-selected: var(--salt-actionable-accented-foreground);
4529
+ --toggleButton-text-color-disabled: var(--salt-actionable-accented-subtle-foreground-disabled);
4530
+ --toggleButton-text-color-disabled-selected: var(--salt-actionable-accented-foreground-disabled);
4531
+ --toggleButton-text-color-readonly: var(--salt-actionable-accented-subtle-foreground-disabled);
4532
+ --toggleButton-text-color-readonly-selected: var(--salt-actionable-accented-foreground);
4533
+ --toggleButton-background: var(--salt-actionable-accented-subtle-background);
4534
+ --toggleButton-background-hover: var(--salt-actionable-accented-subtle-background-hover);
4535
+ --toggleButton-background-selected: var(--salt-actionable-accented-background);
4536
+ --toggleButton-background-disabled: var(--salt-actionable-accented-subtle-background-disabled);
4537
+ --toggleButton-background-disabled-selected: var(--salt-actionable-accented-background-disabled);
4538
+ --toggleButton-background-readonly: var(--salt-actionable-accented-subtle-background-disabled);
4539
+ --toggleButton-background-readonly-selected: var(--salt-actionable-accented-background);
4540
+ --toggleButton-borderColor: var(--salt-actionable-accented-subtle-borderColor);
4541
+ --toggleButton-borderColor-hover: var(--salt-actionable-accented-subtle-borderColor);
4542
+ --toggleButton-borderColor-selected: var(--salt-actionable-accented-borderColor);
4543
+ --toggleButton-borderColor-disabled: var(--salt-actionable-accented-subtle-borderColor-disabled);
4544
+ --toggleButton-borderColor-disabled-selected: var(--salt-actionable-accented-borderColor-disabled);
4545
+ --toggleButton-borderColor-readonly: var(--salt-actionable-accented-subtle-borderColor-disabled);
4546
+ --toggleButton-borderColor-readonly-selected: var(--salt-actionable-accented-borderColor);
4547
+ }
4548
+ .saltToggleButton-positive.saltToggleButton-bordered {
4549
+ --toggleButton-text-color: var(--salt-actionable-positive-subtle-foreground);
4550
+ --toggleButton-text-color-hover: var(--salt-actionable-positive-subtle-foreground-hover);
4551
+ --toggleButton-text-color-selected: var(--salt-actionable-positive-foreground);
4552
+ --toggleButton-text-color-disabled: var(--salt-actionable-positive-subtle-foreground-disabled);
4553
+ --toggleButton-text-color-disabled-selected: var(--salt-actionable-positive-foreground-disabled);
4554
+ --toggleButton-text-color-readonly: var(--salt-actionable-positive-subtle-foreground-disabled);
4555
+ --toggleButton-text-color-readonly-selected: var(--salt-actionable-positive-foreground);
4556
+ --toggleButton-background: var(--salt-actionable-positive-subtle-background);
4557
+ --toggleButton-background-hover: var(--salt-actionable-positive-subtle-background-hover);
4558
+ --toggleButton-background-selected: var(--salt-actionable-positive-background);
4559
+ --toggleButton-background-disabled: var(--salt-actionable-positive-subtle-background-disabled);
4560
+ --toggleButton-background-disabled-selected: var(--salt-actionable-positive-background-disabled);
4561
+ --toggleButton-background-readonly: var(--salt-actionable-positive-subtle-background-disabled);
4562
+ --toggleButton-background-readonly-selected: var(--salt-actionable-positive-background);
4563
+ --toggleButton-borderColor: var(--salt-actionable-positive-subtle-borderColor);
4564
+ --toggleButton-borderColor-hover: var(--salt-actionable-positive-subtle-borderColor);
4565
+ --toggleButton-borderColor-selected: var(--salt-actionable-positive-borderColor);
4566
+ --toggleButton-borderColor-disabled: var(--salt-actionable-positive-subtle-borderColor-disabled);
4567
+ --toggleButton-borderColor-disabled-selected: var(--salt-actionable-positive-borderColor-disabled);
4568
+ --toggleButton-borderColor-readonly: var(--salt-actionable-positive-subtle-borderColor-disabled);
4569
+ --toggleButton-borderColor-readonly-selected: var(--salt-actionable-positive-borderColor);
4570
+ }
4571
+ .saltToggleButton-negative.saltToggleButton-bordered {
4572
+ --toggleButton-text-color: var(--salt-actionable-negative-subtle-foreground);
4573
+ --toggleButton-text-color-hover: var(--salt-actionable-negative-subtle-foreground-hover);
4574
+ --toggleButton-text-color-selected: var(--salt-actionable-negative-foreground);
4575
+ --toggleButton-text-color-disabled: var(--salt-actionable-negative-subtle-foreground-disabled);
4576
+ --toggleButton-text-color-disabled-selected: var(--salt-actionable-negative-foreground-disabled);
4577
+ --toggleButton-text-color-readonly: var(--salt-actionable-negative-subtle-foreground-disabled);
4578
+ --toggleButton-text-color-readonly-selected: var(--salt-actionable-negative-foreground);
4579
+ --toggleButton-background: var(--salt-actionable-negative-subtle-background);
4580
+ --toggleButton-background-hover: var(--salt-actionable-negative-subtle-background-hover);
4581
+ --toggleButton-background-selected: var(--salt-actionable-negative-background);
4582
+ --toggleButton-background-disabled: var(--salt-actionable-negative-subtle-background-disabled);
4583
+ --toggleButton-background-disabled-selected: var(--salt-actionable-negative-background-disabled);
4584
+ --toggleButton-background-readonly: var(--salt-actionable-negative-subtle-background-disabled);
4585
+ --toggleButton-background-readonly-selected: var(--salt-actionable-negative-background);
4586
+ --toggleButton-borderColor: var(--salt-actionable-negative-subtle-borderColor);
4587
+ --toggleButton-borderColor-hover: var(--salt-actionable-negative-subtle-borderColor);
4588
+ --toggleButton-borderColor-selected: var(--salt-actionable-negative-borderColor);
4589
+ --toggleButton-borderColor-disabled: var(--salt-actionable-negative-subtle-borderColor-disabled);
4590
+ --toggleButton-borderColor-disabled-selected: var(--salt-actionable-negative-borderColor-disabled);
4591
+ --toggleButton-borderColor-readonly: var(--salt-actionable-negative-subtle-borderColor-disabled);
4592
+ --toggleButton-borderColor-readonly-selected: var(--salt-actionable-negative-borderColor);
4593
+ }
4594
+ .saltToggleButton-caution.saltToggleButton-bordered {
4595
+ --toggleButton-text-color: var(--salt-actionable-caution-subtle-foreground);
4596
+ --toggleButton-text-color-hover: var(--salt-actionable-caution-subtle-foreground-hover);
4597
+ --toggleButton-text-color-selected: var(--salt-actionable-caution-foreground);
4598
+ --toggleButton-text-color-disabled: var(--salt-actionable-caution-subtle-foreground-disabled);
4599
+ --toggleButton-text-color-disabled-selected: var(--salt-actionable-caution-foreground-disabled);
4600
+ --toggleButton-text-color-readonly: var(--salt-actionable-caution-subtle-foreground-disabled);
4601
+ --toggleButton-text-color-readonly-selected: var(--salt-actionable-caution-foreground);
4602
+ --toggleButton-background: var(--salt-actionable-caution-subtle-background);
4603
+ --toggleButton-background-hover: var(--salt-actionable-caution-subtle-background-hover);
4604
+ --toggleButton-background-selected: var(--salt-actionable-caution-background);
4605
+ --toggleButton-background-disabled: var(--salt-actionable-caution-subtle-background-disabled);
4606
+ --toggleButton-background-disabled-selected: var(--salt-actionable-caution-background-disabled);
4607
+ --toggleButton-background-readonly: var(--salt-actionable-caution-subtle-background-disabled);
4608
+ --toggleButton-background-readonly-selected: var(--salt-actionable-caution-background);
4609
+ --toggleButton-borderColor: var(--salt-actionable-caution-subtle-borderColor);
4610
+ --toggleButton-borderColor-hover: var(--salt-actionable-caution-subtle-borderColor);
4611
+ --toggleButton-borderColor-selected: var(--salt-actionable-caution-borderColor);
4612
+ --toggleButton-borderColor-disabled: var(--salt-actionable-caution-subtle-borderColor-disabled);
4613
+ --toggleButton-borderColor-disabled-selected: var(--salt-actionable-caution-borderColor-disabled);
4614
+ --toggleButton-borderColor-readonly: var(--salt-actionable-caution-subtle-borderColor-disabled);
4615
+ --toggleButton-borderColor-readonly-selected: var(--salt-actionable-caution-borderColor);
4305
4616
  }
4306
4617
 
4307
4618
  /* src/toggle-button-group/ToggleButtonGroup.css */
@@ -4315,6 +4626,16 @@ label.saltText small,
4315
4626
  padding: calc(var(--salt-spacing-50) - var(--salt-size-border));
4316
4627
  flex-direction: row;
4317
4628
  }
4629
+ .saltToggleButtonGroup-disabled {
4630
+ background: var(--salt-container-primary-background-disabled);
4631
+ border-color: var(--salt-container-primary-borderColor-disabled);
4632
+ cursor: var(--salt-actionable-cursor-disabled);
4633
+ }
4634
+ .saltToggleButtonGroup-readOnly {
4635
+ background: var(--salt-container-primary-background);
4636
+ border-color: var(--salt-container-primary-borderColor);
4637
+ cursor: var(--salt-actionable-cursor-disabled);
4638
+ }
4318
4639
  .saltToggleButtonGroup .saltToggleButton {
4319
4640
  border-radius: var(--salt-palette-corner-weaker, 0);
4320
4641
  }
@@ -4812,4 +5133,121 @@ label.saltText small,
4812
5133
  top: calc((var(--salt-size-base) - var(--salt-size-bar)) / 2);
4813
5134
  }
4814
5135
 
4815
- /* src/f36a0096-0ea1-484d-8d21-cc0465aa9951.css */
5136
+ /* src/stepper/internal/StepConnector.css */
5137
+ .saltStepConnector {
5138
+ grid-area: connector;
5139
+ transition-duration: inherit;
5140
+ transition-timing-function: inherit;
5141
+ transition-property: opacity, min-height;
5142
+ }
5143
+ .saltStepper-horizontal .saltStepConnector {
5144
+ position: absolute;
5145
+ transform: translateY(-100%);
5146
+ top: calc(var(--step-icon-size) / 2);
5147
+ left: calc(50% + calc(var(--step-icon-size) / 2 + var(--salt-spacing-100)));
5148
+ right: calc(-50% + calc(var(--step-icon-size) / 2 + var(--salt-spacing-100)));
5149
+ border-top-width: var(--salt-size-border-strong);
5150
+ border-top-style: var(--salt-track-borderStyle-incomplete);
5151
+ border-top-color: var(--salt-track-borderColor);
5152
+ }
5153
+ .saltStepper-horizontal .saltStep-stage-completed > .saltStepConnector,
5154
+ .saltStepper-horizontal .saltStep-stage-inprogress > .saltStepConnector {
5155
+ border-top-style: var(--salt-track-borderStyle-complete);
5156
+ }
5157
+ .saltStepper-vertical .saltStepConnector {
5158
+ min-height: var(--salt-size-base);
5159
+ align-self: stretch;
5160
+ justify-self: center;
5161
+ border-left-width: var(--salt-size-border-strong);
5162
+ border-left-style: var(--salt-track-borderStyle-incomplete);
5163
+ border-left-color: var(--salt-track-borderColor);
5164
+ }
5165
+ .saltStepper-vertical .saltStep-stage-completed > .saltStepConnector,
5166
+ .saltStepper-vertical .saltStep-stage-inprogress > .saltStepConnector {
5167
+ border-left-style: var(--salt-track-borderStyle-complete);
5168
+ }
5169
+ .saltStep-depth-0.saltStep:not(.saltStep-expanded):last-child > .saltStepConnector {
5170
+ opacity: 0;
5171
+ min-height: 0;
5172
+ }
5173
+ .saltStep-depth-0.saltStep-expanded:last-child .saltStep:not(.saltStep-expanded):last-child .saltStepConnector {
5174
+ opacity: 0;
5175
+ min-height: 0;
5176
+ }
5177
+
5178
+ /* src/stepper/internal/StepExpandTrigger.css */
5179
+ .saltStepExpandTrigger {
5180
+ grid-area: expand;
5181
+ }
5182
+ .saltButton.saltStepExpandTrigger:focus-visible {
5183
+ outline-offset: calc(-1 * var(--salt-focused-outlineWidth));
5184
+ }
5185
+
5186
+ /* src/stepper/internal/StepIcon.css */
5187
+ .saltStepIcon {
5188
+ grid-area: icon;
5189
+ display: flex;
5190
+ justify-content: center;
5191
+ align-items: center;
5192
+ justify-self: center;
5193
+ }
5194
+ .saltStepper-vertical .saltStepIcon {
5195
+ height: var(--salt-size-base);
5196
+ }
5197
+ .saltStep-stage-pending > .saltStepIcon {
5198
+ --saltIcon-color: var(--salt-status-static-foreground);
5199
+ }
5200
+ .saltStep-stage-locked > .saltStepIcon {
5201
+ --saltIcon-color: var(--salt-status-static-foreground);
5202
+ }
5203
+ .saltStep-stage-inprogress > .saltStepIcon {
5204
+ --saltIcon-color: var(--salt-status-info-foreground-decorative);
5205
+ }
5206
+ .saltStep-stage-active > .saltStepIcon {
5207
+ --saltIcon-color: var(--salt-status-info-foreground-decorative);
5208
+ }
5209
+ .saltStep-stage-completed > .saltStepIcon {
5210
+ --saltIcon-color: var(--salt-status-success-foreground-decorative);
5211
+ }
5212
+ .saltStep-status-warning > .saltStepIcon {
5213
+ --saltIcon-color: var(--salt-status-warning-foreground-decorative);
5214
+ }
5215
+ .saltStep-status-error > .saltStepIcon {
5216
+ --saltIcon-color: var(--salt-status-error-foreground-decorative);
5217
+ }
5218
+
5219
+ /* src/stepper/internal/StepScreenReaderOnly.css */
5220
+
5221
+ /* src/stepper/internal/StepText.css */
5222
+ .saltStepText-label {
5223
+ grid-area: label;
5224
+ }
5225
+ .saltStepper-horizontal .saltStepText-label {
5226
+ margin-top: var(--salt-spacing-50);
5227
+ }
5228
+ .saltStepper-vertical .saltStepText-label {
5229
+ padding-top: calc((var(--salt-size-base) - var(--salt-text-label-lineHeight)) / 2);
5230
+ padding-bottom: calc((var(--salt-size-base) - var(--salt-text-label-lineHeight)) / 2);
5231
+ padding-left: calc((var(--step-depth)) * var(--salt-spacing-100));
5232
+ }
5233
+ .saltStep-depth-0 > .saltText.saltStepText-label {
5234
+ font-weight: var(--salt-text-fontWeight-strong);
5235
+ }
5236
+ .saltStep-depth-0 > .saltText.saltStepText-label {
5237
+ font-weight: var(--salt-text-fontWeight-strong);
5238
+ }
5239
+ .saltStepText-description {
5240
+ grid-area: description;
5241
+ }
5242
+ .saltStepper-vertical .saltStepText-description {
5243
+ padding-bottom: var(--salt-spacing-300);
5244
+ padding-left: calc((var(--step-depth)) * var(--salt-spacing-100));
5245
+ }
5246
+ .saltStep-status-warning > .saltStepText-description {
5247
+ color: var(--salt-status-warning-foreground-informative);
5248
+ }
5249
+ .saltStep-status-error > .saltStepText-description {
5250
+ color: var(--salt-status-error-foreground-informative);
5251
+ }
5252
+
5253
+ /* src/ede06708-6fa3-455c-adcb-4f41bff7af69.css */
@@ -1 +1 @@
1
- {"version":3,"file":"Accordion.js","sources":["../src/accordion/Accordion.tsx"],"sourcesContent":["import { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { clsx } from \"clsx\";\nimport {\n type ComponentPropsWithoutRef,\n type SyntheticEvent,\n forwardRef,\n useState,\n} from \"react\";\nimport { makePrefixer, useControlled, useId } from \"../utils\";\nimport accordionCss from \"./Accordion.css\";\nimport { AccordionContext } from \"./AccordionContext\";\nexport interface AccordionProps\n extends Omit<ComponentPropsWithoutRef<\"div\">, \"onToggle\"> {\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 * Side to align the Accordion's indicator. Defaults to `left`.\n */\n indicatorSide?: \"left\" | \"right\";\n /**\n * Callback fired when the accordion is toggled.\n */\n onToggle?: (event: SyntheticEvent<HTMLButtonElement>) => void;\n /**\n * Whether the accordion is disabled.\n */\n disabled?: boolean;\n /**\n * The status of the accordion.\n */\n status?: \"error\" | \"warning\" | \"success\";\n}\n\nconst withBaseName = makePrefixer(\"saltAccordion\");\n\nexport const Accordion = forwardRef<HTMLDivElement, AccordionProps>(\n function Accordion(props, ref) {\n const {\n className,\n defaultExpanded,\n expanded: expandedProp,\n disabled,\n indicatorSide = \"left\",\n id: idProp,\n onToggle,\n status,\n value,\n ...rest\n } = props;\n\n const id = useId(idProp);\n const [headerId, setHeaderId] = useState(`${id}-header`);\n const [panelId, setPanelId] = useState(`${id}-panel`);\n\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 indicatorSide,\n disabled: Boolean(disabled),\n headerId,\n setHeaderId,\n panelId,\n setPanelId,\n status,\n }}\n >\n <div\n ref={ref}\n className={clsx(\n withBaseName(),\n {\n [withBaseName(status ?? \"\")]: status,\n [withBaseName(\"disabled\")]: disabled,\n },\n className,\n )}\n {...rest}\n />\n </AccordionContext.Provider>\n );\n },\n);\n"],"names":["makePrefixer","forwardRef","Accordion","useId","useState","useWindow","useComponentCssInjection","accordionCss","useControlled","jsx","AccordionContext","clsx"],"mappings":";;;;;;;;;;;;;;;;AA4CA,MAAM,YAAA,GAAeA,0BAAa,eAAe,CAAA;AAE1C,MAAM,SAAY,GAAAC,gBAAA;AAAA,EACvB,SAASC,UAAU,CAAA,KAAA,EAAO,GAAK,EAAA;AAC7B,IAAM,MAAA;AAAA,MACJ,SAAA;AAAA,MACA,eAAA;AAAA,MACA,QAAU,EAAA,YAAA;AAAA,MACV,QAAA;AAAA,MACA,aAAgB,GAAA,MAAA;AAAA,MAChB,EAAI,EAAA,MAAA;AAAA,MACJ,QAAA;AAAA,MACA,MAAA;AAAA,MACA,KAAA;AAAA,MACA,GAAG;AAAA,KACD,GAAA,KAAA;AAEJ,IAAM,MAAA,EAAA,GAAKC,YAAM,MAAM,CAAA;AACvB,IAAA,MAAM,CAAC,QAAU,EAAA,WAAW,IAAIC,cAAS,CAAA,CAAA,EAAG,EAAE,CAAS,OAAA,CAAA,CAAA;AACvD,IAAA,MAAM,CAAC,OAAS,EAAA,UAAU,IAAIA,cAAS,CAAA,CAAA,EAAG,EAAE,CAAQ,MAAA,CAAA,CAAA;AAEpD,IAAA,MAAM,eAAeC,gBAAU,EAAA;AAC/B,IAAyBC,+BAAA,CAAA;AAAA,MACvB,MAAQ,EAAA,gBAAA;AAAA,MACR,GAAK,EAAAC,WAAA;AAAA,MACL,MAAQ,EAAA;AAAA,KACT,CAAA;AAED,IAAA,MAAM,CAAC,QAAA,EAAU,WAAW,CAAA,GAAIC,2BAAc,CAAA;AAAA,MAC5C,UAAY,EAAA,YAAA;AAAA,MACZ,OAAA,EAAS,QAAQ,eAAe,CAAA;AAAA,MAChC,IAAM,EAAA,WAAA;AAAA,MACN,KAAO,EAAA;AAAA,KACR,CAAA;AAED,IAAM,MAAA,MAAA,GAAS,CAAC,KAA6C,KAAA;AAC3D,MAAY,WAAA,CAAA,CAAC,IAAS,KAAA,CAAC,IAAI,CAAA;AAC3B,MAAW,QAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,QAAA,CAAA,KAAA,CAAA;AAAA,KACb;AAEA,IACE,uBAAAC,cAAA;AAAA,MAACC,iCAAiB,CAAA,QAAA;AAAA,MAAjB;AAAA,QACC,KAAO,EAAA;AAAA,UACL,KAAA;AAAA,UACA,MAAA;AAAA,UACA,QAAA;AAAA,UACA,aAAA;AAAA,UACA,QAAA,EAAU,QAAQ,QAAQ,CAAA;AAAA,UAC1B,QAAA;AAAA,UACA,WAAA;AAAA,UACA,OAAA;AAAA,UACA,UAAA;AAAA,UACA;AAAA,SACF;AAAA,QAEA,QAAA,kBAAAD,cAAA;AAAA,UAAC,KAAA;AAAA,UAAA;AAAA,YACC,GAAA;AAAA,YACA,SAAW,EAAAE,SAAA;AAAA,cACT,YAAa,EAAA;AAAA,cACb;AAAA,gBACE,CAAC,YAAA,CAAa,MAAU,IAAA,EAAE,CAAC,GAAG,MAAA;AAAA,gBAC9B,CAAC,YAAA,CAAa,UAAU,CAAC,GAAG;AAAA,eAC9B;AAAA,cACA;AAAA,aACF;AAAA,YACC,GAAG;AAAA;AAAA;AACN;AAAA,KACF;AAAA;AAGN;;;;"}
1
+ {"version":3,"file":"Accordion.js","sources":["../src/accordion/Accordion.tsx"],"sourcesContent":["import { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { clsx } from \"clsx\";\nimport {\n type ComponentPropsWithoutRef,\n type SyntheticEvent,\n forwardRef,\n useState,\n} from \"react\";\nimport { makePrefixer, useControlled, useId } from \"../utils\";\nimport accordionCss from \"./Accordion.css\";\nimport { AccordionContext } from \"./AccordionContext\";\nexport interface AccordionProps\n extends Omit<ComponentPropsWithoutRef<\"div\">, \"onToggle\"> {\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 * Side to align the Accordion's indicator. Defaults to `left`.\n */\n indicatorSide?: \"left\" | \"right\";\n /**\n * Callback fired when the accordion is toggled.\n */\n onToggle?: (event: SyntheticEvent<HTMLButtonElement>) => void;\n /**\n * Whether the accordion is disabled.\n */\n disabled?: boolean;\n /**\n * The status of the accordion.\n */\n status?: \"error\" | \"warning\" | \"success\";\n}\n\nconst withBaseName = makePrefixer(\"saltAccordion\");\n\nexport const Accordion = forwardRef<HTMLDivElement, AccordionProps>(\n function Accordion(props, ref) {\n const {\n className,\n defaultExpanded,\n expanded: expandedProp,\n disabled,\n indicatorSide = \"left\",\n id: idProp,\n onToggle,\n status,\n value,\n ...rest\n } = props;\n\n const id = useId(idProp);\n const [headerId, setHeaderId] = useState(`${id}-header`);\n const [panelId, setPanelId] = useState(`${id}-panel`);\n\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 indicatorSide,\n disabled: Boolean(disabled),\n headerId,\n setHeaderId,\n panelId,\n setPanelId,\n status,\n }}\n >\n <div\n ref={ref}\n className={clsx(\n withBaseName(),\n {\n [withBaseName(status ?? \"\")]: status,\n [withBaseName(\"disabled\")]: disabled,\n },\n className,\n )}\n {...rest}\n />\n </AccordionContext.Provider>\n );\n },\n);\n"],"names":["makePrefixer","forwardRef","Accordion","useId","useState","useWindow","useComponentCssInjection","accordionCss","useControlled","jsx","AccordionContext","clsx"],"mappings":";;;;;;;;;;;;;;;;AA4CA,MAAM,YAAA,GAAeA,0BAAa,eAAe,CAAA;AAE1C,MAAM,SAAY,GAAAC,gBAAA;AAAA,EACvB,SAASC,UAAU,CAAA,KAAA,EAAO,GAAK,EAAA;AAC7B,IAAM,MAAA;AAAA,MACJ,SAAA;AAAA,MACA,eAAA;AAAA,MACA,QAAU,EAAA,YAAA;AAAA,MACV,QAAA;AAAA,MACA,aAAgB,GAAA,MAAA;AAAA,MAChB,EAAI,EAAA,MAAA;AAAA,MACJ,QAAA;AAAA,MACA,MAAA;AAAA,MACA,KAAA;AAAA,MACA,GAAG;AAAA,KACD,GAAA,KAAA;AAEJ,IAAM,MAAA,EAAA,GAAKC,YAAM,MAAM,CAAA;AACvB,IAAA,MAAM,CAAC,QAAU,EAAA,WAAW,IAAIC,cAAS,CAAA,CAAA,EAAG,EAAE,CAAS,OAAA,CAAA,CAAA;AACvD,IAAA,MAAM,CAAC,OAAS,EAAA,UAAU,IAAIA,cAAS,CAAA,CAAA,EAAG,EAAE,CAAQ,MAAA,CAAA,CAAA;AAEpD,IAAA,MAAM,eAAeC,gBAAU,EAAA;AAC/B,IAAyBC,+BAAA,CAAA;AAAA,MACvB,MAAQ,EAAA,gBAAA;AAAA,MACR,GAAK,EAAAC,WAAA;AAAA,MACL,MAAQ,EAAA;AAAA,KACT,CAAA;AAED,IAAA,MAAM,CAAC,QAAA,EAAU,WAAW,CAAA,GAAIC,2BAAc,CAAA;AAAA,MAC5C,UAAY,EAAA,YAAA;AAAA,MACZ,OAAA,EAAS,QAAQ,eAAe,CAAA;AAAA,MAChC,IAAM,EAAA,WAAA;AAAA,MACN,KAAO,EAAA;AAAA,KACR,CAAA;AAED,IAAM,MAAA,MAAA,GAAS,CAAC,KAA6C,KAAA;AAC3D,MAAY,WAAA,CAAA,CAAC,IAAS,KAAA,CAAC,IAAI,CAAA;AAC3B,MAAW,QAAA,IAAA,IAAA,GAAA,MAAA,GAAA,QAAA,CAAA,KAAA,CAAA;AAAA,KACb;AAEA,IACE,uBAAAC,cAAA;AAAA,MAACC,iCAAiB,CAAA,QAAA;AAAA,MAAjB;AAAA,QACC,KAAO,EAAA;AAAA,UACL,KAAA;AAAA,UACA,MAAA;AAAA,UACA,QAAA;AAAA,UACA,aAAA;AAAA,UACA,QAAA,EAAU,QAAQ,QAAQ,CAAA;AAAA,UAC1B,QAAA;AAAA,UACA,WAAA;AAAA,UACA,OAAA;AAAA,UACA,UAAA;AAAA,UACA;AAAA,SACF;AAAA,QAEA,QAAA,kBAAAD,cAAA;AAAA,UAAC,KAAA;AAAA,UAAA;AAAA,YACC,GAAA;AAAA,YACA,SAAW,EAAAE,SAAA;AAAA,cACT,YAAa,EAAA;AAAA,cACb;AAAA,gBACE,CAAC,YAAA,CAAa,MAAU,IAAA,EAAE,CAAC,GAAG,MAAA;AAAA,gBAC9B,CAAC,YAAA,CAAa,UAAU,CAAC,GAAG;AAAA,eAC9B;AAAA,cACA;AAAA,aACF;AAAA,YACC,GAAG;AAAA;AAAA;AACN;AAAA,KACF;AAAA;AAGN;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"AccordionContext.js","sources":["../src/accordion/AccordionContext.ts"],"sourcesContent":["import { type 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 indicatorSide: \"left\" | \"right\";\n headerId: string;\n setHeaderId: (id: string) => void;\n panelId: string;\n setPanelId: (id: string) => void;\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 indicatorSide: \"left\",\n headerId: \"\",\n setHeaderId: () => undefined,\n panelId: \"\",\n setPanelId: () => undefined,\n },\n);\n\nexport function useAccordion() {\n return useContext(AccordionContext);\n}\n"],"names":["createContext","useContext"],"mappings":";;;;;;;;;;;AAgBO,MAAM,gBAAmB,GAAAA,2BAAA;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,aAAe,EAAA,MAAA;AAAA,IACf,QAAU,EAAA,EAAA;AAAA,IACV,aAAa,MAAM,KAAA,CAAA;AAAA,IACnB,OAAS,EAAA,EAAA;AAAA,IACT,YAAY,MAAM,KAAA;AAAA;AAEtB;AAEO,SAAS,YAAe,GAAA;AAC7B,EAAA,OAAOC,iBAAW,gBAAgB,CAAA;AACpC;;;;;"}
1
+ {"version":3,"file":"AccordionContext.js","sources":["../src/accordion/AccordionContext.ts"],"sourcesContent":["import { type 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 indicatorSide: \"left\" | \"right\";\n headerId: string;\n setHeaderId: (id: string) => void;\n panelId: string;\n setPanelId: (id: string) => void;\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 indicatorSide: \"left\",\n headerId: \"\",\n setHeaderId: () => undefined,\n panelId: \"\",\n setPanelId: () => undefined,\n },\n);\n\nexport function useAccordion() {\n return useContext(AccordionContext);\n}\n"],"names":["createContext","useContext"],"mappings":";;;;;;;;;;;AAgBO,MAAM,gBAAmB,GAAAA,2BAAA;AAAA,EAC9B,kBAAA;AAAA,EACA;AAAA,IACE,KAAO,EAAA,EAAA;AAAA,IACP,QAAU,EAAA,KAAA;AAAA,IACV,QAAQ,MAAM,MAAA;AAAA,IACd,QAAU,EAAA,KAAA;AAAA,IACV,aAAe,EAAA,MAAA;AAAA,IACf,QAAU,EAAA,EAAA;AAAA,IACV,aAAa,MAAM,MAAA;AAAA,IACnB,OAAS,EAAA,EAAA;AAAA,IACT,YAAY,MAAM;AAAA;AAEtB;AAEO,SAAS,YAAe,GAAA;AAC7B,EAAA,OAAOC,iBAAW,gBAAgB,CAAA;AACpC;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"AccordionHeader.js","sources":["../src/accordion/AccordionHeader.tsx"],"sourcesContent":["import { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { clsx } from \"clsx\";\nimport {\n type ComponentPropsWithoutRef,\n type MouseEvent,\n type ReactNode,\n forwardRef,\n} from \"react\";\nimport { useIcon } from \"../semantic-icon-provider\";\nimport { StatusIndicator } from \"../status-indicator\";\nimport { makePrefixer, useIsomorphicLayoutEffect } from \"../utils\";\n\nimport { useAccordion } from \"./AccordionContext\";\nimport accordionHeaderCss from \"./AccordionHeader.css\";\n\nexport interface AccordionHeaderProps\n extends ComponentPropsWithoutRef<\"button\"> {\n /**\n * The content of the Accordion Header\n */\n children?: ReactNode;\n}\n\nconst withBaseName = makePrefixer(\"saltAccordionHeader\");\n\nfunction ExpansionIcon({ expanded }: { expanded: boolean }) {\n const { CollapseIcon, ExpandIcon } = useIcon();\n if (expanded) {\n return <CollapseIcon aria-hidden className={withBaseName(\"icon\")} />;\n }\n\n return <ExpandIcon aria-hidden className={withBaseName(\"icon\")} />;\n}\n\nexport const AccordionHeader = forwardRef<\n HTMLButtonElement,\n AccordionHeaderProps\n>(function AccordionHeader(props, ref) {\n const { children, className, onClick, id, ...rest } = props;\n const {\n value,\n expanded,\n toggle,\n indicatorSide,\n disabled,\n headerId,\n panelId,\n setHeaderId,\n status,\n } = 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 useIsomorphicLayoutEffect(() => {\n if (id) {\n setHeaderId(id);\n }\n }, [id, setHeaderId]);\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={headerId}\n aria-controls={panelId}\n value={value}\n type=\"button\"\n {...rest}\n >\n {indicatorSide === \"left\" && <ExpansionIcon expanded={expanded} />}\n <span className={withBaseName(\"content\")}>{children}</span>\n {status && !disabled && (\n <StatusIndicator\n className={withBaseName(\"statusIndicator\")}\n status={status}\n />\n )}\n {indicatorSide === \"right\" && <ExpansionIcon expanded={expanded} />}\n </button>\n );\n});\n"],"names":["makePrefixer","useIcon","forwardRef","AccordionHeader","useAccordion","useWindow","useComponentCssInjection","accordionHeaderCss","useIsomorphicLayoutEffect","jsxs","clsx","jsx","StatusIndicator"],"mappings":";;;;;;;;;;;;;;;;;;AAwBA,MAAM,YAAA,GAAeA,0BAAa,qBAAqB,CAAA;AAEvD,SAAS,aAAA,CAAc,EAAE,QAAA,EAAmC,EAAA;AAC1D,EAAA,MAAM,EAAE,YAAA,EAAc,UAAW,EAAA,GAAIC,4BAAQ,EAAA;AAC7C,EAAA,IAAI,QAAU,EAAA;AACZ,IAAA,sCAAQ,YAAa,EAAA,EAAA,aAAA,EAAW,MAAC,SAAW,EAAA,YAAA,CAAa,MAAM,CAAG,EAAA,CAAA;AAAA;AAGpE,EAAA,sCAAQ,UAAW,EAAA,EAAA,aAAA,EAAW,MAAC,SAAW,EAAA,YAAA,CAAa,MAAM,CAAG,EAAA,CAAA;AAClE;AAEO,MAAM,eAAkB,GAAAC,gBAAA,CAG7B,SAASC,gBAAAA,CAAgB,OAAO,GAAK,EAAA;AACrC,EAAA,MAAM,EAAE,QAAU,EAAA,SAAA,EAAW,SAAS,EAAI,EAAA,GAAG,MAAS,GAAA,KAAA;AACtD,EAAM,MAAA;AAAA,IACJ,KAAA;AAAA,IACA,QAAA;AAAA,IACA,MAAA;AAAA,IACA,aAAA;AAAA,IACA,QAAA;AAAA,IACA,QAAA;AAAA,IACA,OAAA;AAAA,IACA,WAAA;AAAA,IACA;AAAA,MACEC,6BAAa,EAAA;AAEjB,EAAA,MAAM,eAAeC,gBAAU,EAAA;AAC/B,EAAyBC,+BAAA,CAAA;AAAA,IACvB,MAAQ,EAAA,uBAAA;AAAA,IACR,GAAK,EAAAC,iBAAA;AAAA,IACL,MAAQ,EAAA;AAAA,GACT,CAAA;AAED,EAAM,MAAA,WAAA,GAAc,CAAC,KAAyC,KAAA;AAC5D,IAAA,MAAA,CAAO,KAAK,CAAA;AACZ,IAAU,OAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,OAAA,CAAA,KAAA,CAAA;AAAA,GACZ;AAEA,EAAAC,mDAAA,CAA0B,MAAM;AAC9B,IAAA,IAAI,EAAI,EAAA;AACN,MAAA,WAAA,CAAY,EAAE,CAAA;AAAA;AAChB,GACC,EAAA,CAAC,EAAI,EAAA,WAAW,CAAC,CAAA;AAEpB,EACE,uBAAAC,eAAA;AAAA,IAAC,QAAA;AAAA,IAAA;AAAA,MACC,GAAA;AAAA,MACA,SAAW,EAAAC,SAAA;AAAA,QACT,YAAa,EAAA;AAAA,QACb,EAAE,CAAC,YAAA,CAAa,UAAU,EAAE,CAAC,GAAG,MAAO,EAAA;AAAA,QACvC;AAAA,OACF;AAAA,MACA,QAAA;AAAA,MACA,OAAS,EAAA,WAAA;AAAA,MACT,eAAe,EAAA,QAAA;AAAA,MACf,EAAI,EAAA,QAAA;AAAA,MACJ,eAAe,EAAA,OAAA;AAAA,MACf,KAAA;AAAA,MACA,IAAK,EAAA,QAAA;AAAA,MACJ,GAAG,IAAA;AAAA,MAEH,QAAA,EAAA;AAAA,QAAkB,aAAA,KAAA,MAAA,oBAAWC,cAAA,CAAA,aAAA,EAAA,EAAc,QAAoB,EAAA,CAAA;AAAA,uCAC/D,MAAK,EAAA,EAAA,SAAA,EAAW,YAAa,CAAA,SAAS,GAAI,QAAS,EAAA,CAAA;AAAA,QACnD,MAAA,IAAU,CAAC,QACV,oBAAAA,cAAA;AAAA,UAACC,+BAAA;AAAA,UAAA;AAAA,YACC,SAAA,EAAW,aAAa,iBAAiB,CAAA;AAAA,YACzC;AAAA;AAAA,SACF;AAAA,QAED,aAAkB,KAAA,OAAA,oBAAYD,cAAA,CAAA,aAAA,EAAA,EAAc,QAAoB,EAAA;AAAA;AAAA;AAAA,GACnE;AAEJ,CAAC;;;;"}
1
+ {"version":3,"file":"AccordionHeader.js","sources":["../src/accordion/AccordionHeader.tsx"],"sourcesContent":["import { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { clsx } from \"clsx\";\nimport {\n type ComponentPropsWithoutRef,\n type MouseEvent,\n type ReactNode,\n forwardRef,\n} from \"react\";\nimport { useIcon } from \"../semantic-icon-provider\";\nimport { StatusIndicator } from \"../status-indicator\";\nimport { makePrefixer, useIsomorphicLayoutEffect } from \"../utils\";\n\nimport { useAccordion } from \"./AccordionContext\";\nimport accordionHeaderCss from \"./AccordionHeader.css\";\n\nexport interface AccordionHeaderProps\n extends ComponentPropsWithoutRef<\"button\"> {\n /**\n * The content of the Accordion Header\n */\n children?: ReactNode;\n}\n\nconst withBaseName = makePrefixer(\"saltAccordionHeader\");\n\nfunction ExpansionIcon({ expanded }: { expanded: boolean }) {\n const { CollapseIcon, ExpandIcon } = useIcon();\n if (expanded) {\n return <CollapseIcon aria-hidden className={withBaseName(\"icon\")} />;\n }\n\n return <ExpandIcon aria-hidden className={withBaseName(\"icon\")} />;\n}\n\nexport const AccordionHeader = forwardRef<\n HTMLButtonElement,\n AccordionHeaderProps\n>(function AccordionHeader(props, ref) {\n const { children, className, onClick, id, ...rest } = props;\n const {\n value,\n expanded,\n toggle,\n indicatorSide,\n disabled,\n headerId,\n panelId,\n setHeaderId,\n status,\n } = 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 useIsomorphicLayoutEffect(() => {\n if (id) {\n setHeaderId(id);\n }\n }, [id, setHeaderId]);\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={headerId}\n aria-controls={panelId}\n value={value}\n type=\"button\"\n {...rest}\n >\n {indicatorSide === \"left\" && <ExpansionIcon expanded={expanded} />}\n <span className={withBaseName(\"content\")}>{children}</span>\n {status && !disabled && (\n <StatusIndicator\n className={withBaseName(\"statusIndicator\")}\n status={status}\n />\n )}\n {indicatorSide === \"right\" && <ExpansionIcon expanded={expanded} />}\n </button>\n );\n});\n"],"names":["makePrefixer","useIcon","forwardRef","AccordionHeader","useAccordion","useWindow","useComponentCssInjection","accordionHeaderCss","useIsomorphicLayoutEffect","jsxs","clsx","jsx","StatusIndicator"],"mappings":";;;;;;;;;;;;;;;;;;AAwBA,MAAM,YAAA,GAAeA,0BAAa,qBAAqB,CAAA;AAEvD,SAAS,aAAA,CAAc,EAAE,QAAA,EAAmC,EAAA;AAC1D,EAAA,MAAM,EAAE,YAAA,EAAc,UAAW,EAAA,GAAIC,4BAAQ,EAAA;AAC7C,EAAA,IAAI,QAAU,EAAA;AACZ,IAAA,sCAAQ,YAAa,EAAA,EAAA,aAAA,EAAW,MAAC,SAAW,EAAA,YAAA,CAAa,MAAM,CAAG,EAAA,CAAA;AAAA;AAGpE,EAAA,sCAAQ,UAAW,EAAA,EAAA,aAAA,EAAW,MAAC,SAAW,EAAA,YAAA,CAAa,MAAM,CAAG,EAAA,CAAA;AAClE;AAEO,MAAM,eAAkB,GAAAC,gBAAA,CAG7B,SAASC,gBAAAA,CAAgB,OAAO,GAAK,EAAA;AACrC,EAAA,MAAM,EAAE,QAAU,EAAA,SAAA,EAAW,SAAS,EAAI,EAAA,GAAG,MAAS,GAAA,KAAA;AACtD,EAAM,MAAA;AAAA,IACJ,KAAA;AAAA,IACA,QAAA;AAAA,IACA,MAAA;AAAA,IACA,aAAA;AAAA,IACA,QAAA;AAAA,IACA,QAAA;AAAA,IACA,OAAA;AAAA,IACA,WAAA;AAAA,IACA;AAAA,MACEC,6BAAa,EAAA;AAEjB,EAAA,MAAM,eAAeC,gBAAU,EAAA;AAC/B,EAAyBC,+BAAA,CAAA;AAAA,IACvB,MAAQ,EAAA,uBAAA;AAAA,IACR,GAAK,EAAAC,iBAAA;AAAA,IACL,MAAQ,EAAA;AAAA,GACT,CAAA;AAED,EAAM,MAAA,WAAA,GAAc,CAAC,KAAyC,KAAA;AAC5D,IAAA,MAAA,CAAO,KAAK,CAAA;AACZ,IAAU,OAAA,IAAA,IAAA,GAAA,MAAA,GAAA,OAAA,CAAA,KAAA,CAAA;AAAA,GACZ;AAEA,EAAAC,mDAAA,CAA0B,MAAM;AAC9B,IAAA,IAAI,EAAI,EAAA;AACN,MAAA,WAAA,CAAY,EAAE,CAAA;AAAA;AAChB,GACC,EAAA,CAAC,EAAI,EAAA,WAAW,CAAC,CAAA;AAEpB,EACE,uBAAAC,eAAA;AAAA,IAAC,QAAA;AAAA,IAAA;AAAA,MACC,GAAA;AAAA,MACA,SAAW,EAAAC,SAAA;AAAA,QACT,YAAa,EAAA;AAAA,QACb,EAAE,CAAC,YAAA,CAAa,UAAU,EAAE,CAAC,GAAG,MAAO,EAAA;AAAA,QACvC;AAAA,OACF;AAAA,MACA,QAAA;AAAA,MACA,OAAS,EAAA,WAAA;AAAA,MACT,eAAe,EAAA,QAAA;AAAA,MACf,EAAI,EAAA,QAAA;AAAA,MACJ,eAAe,EAAA,OAAA;AAAA,MACf,KAAA;AAAA,MACA,IAAK,EAAA,QAAA;AAAA,MACJ,GAAG,IAAA;AAAA,MAEH,QAAA,EAAA;AAAA,QAAkB,aAAA,KAAA,MAAA,oBAAWC,cAAA,CAAA,aAAA,EAAA,EAAc,QAAoB,EAAA,CAAA;AAAA,uCAC/D,MAAK,EAAA,EAAA,SAAA,EAAW,YAAa,CAAA,SAAS,GAAI,QAAS,EAAA,CAAA;AAAA,QACnD,MAAA,IAAU,CAAC,QACV,oBAAAA,cAAA;AAAA,UAACC,+BAAA;AAAA,UAAA;AAAA,YACC,SAAA,EAAW,aAAa,iBAAiB,CAAA;AAAA,YACzC;AAAA;AAAA,SACF;AAAA,QAED,aAAkB,KAAA,OAAA,oBAAYD,cAAA,CAAA,aAAA,EAAA,EAAc,QAAoB,EAAA;AAAA;AAAA;AAAA,GACnE;AAEJ,CAAC;;;;"}