@salt-ds/core 1.33.0 → 1.35.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 (110) hide show
  1. package/css/salt-core.css +152 -130
  2. package/dist-cjs/accordion/Accordion.css.js +1 -1
  3. package/dist-cjs/accordion/Accordion.js +10 -2
  4. package/dist-cjs/accordion/Accordion.js.map +1 -1
  5. package/dist-cjs/accordion/AccordionContext.js +4 -1
  6. package/dist-cjs/accordion/AccordionContext.js.map +1 -1
  7. package/dist-cjs/accordion/AccordionHeader.css.js +1 -1
  8. package/dist-cjs/accordion/AccordionHeader.js +21 -5
  9. package/dist-cjs/accordion/AccordionHeader.js.map +1 -1
  10. package/dist-cjs/accordion/AccordionPanel.css.js +1 -1
  11. package/dist-cjs/accordion/AccordionPanel.js +10 -4
  12. package/dist-cjs/accordion/AccordionPanel.js.map +1 -1
  13. package/dist-cjs/badge/Badge.css.js +1 -1
  14. package/dist-cjs/badge/Badge.js +3 -1
  15. package/dist-cjs/badge/Badge.js.map +1 -1
  16. package/dist-cjs/button/Button.css.js +1 -1
  17. package/dist-cjs/card/Card.css.js +1 -1
  18. package/dist-cjs/card/Card.js.map +1 -1
  19. package/dist-cjs/checkbox/Checkbox.css.js +1 -1
  20. package/dist-cjs/checkbox/CheckboxIcon.css.js +1 -1
  21. package/dist-cjs/combo-box/ComboBox.css.js +1 -1
  22. package/dist-cjs/combo-box/ComboBox.js +10 -5
  23. package/dist-cjs/combo-box/ComboBox.js.map +1 -1
  24. package/dist-cjs/dialog/Dialog.css.js +1 -1
  25. package/dist-cjs/dropdown/Dropdown.js +3 -1
  26. package/dist-cjs/dropdown/Dropdown.js.map +1 -1
  27. package/dist-cjs/form-field/FormField.css.js +1 -1
  28. package/dist-cjs/form-field/FormField.js.map +1 -1
  29. package/dist-cjs/form-field/FormFieldHelperText.js +1 -1
  30. package/dist-cjs/form-field/FormFieldHelperText.js.map +1 -1
  31. package/dist-cjs/interactable-card/InteractableCard.css.js +1 -1
  32. package/dist-cjs/interactable-card/InteractableCard.js.map +1 -1
  33. package/dist-cjs/link-card/LinkCard.css.js +1 -1
  34. package/dist-cjs/link-card/LinkCard.js.map +1 -1
  35. package/dist-cjs/list-control/ListControlState.js +4 -9
  36. package/dist-cjs/list-control/ListControlState.js.map +1 -1
  37. package/dist-cjs/navigation-item/NavigationItem.css.js +1 -1
  38. package/dist-cjs/navigation-item/NavigationItem.js +6 -7
  39. package/dist-cjs/navigation-item/NavigationItem.js.map +1 -1
  40. package/dist-cjs/option/Option.css.js +1 -1
  41. package/dist-cjs/pagination/PageButton.css.js +1 -1
  42. package/dist-cjs/panel/Panel.css.js +1 -1
  43. package/dist-cjs/panel/Panel.js.map +1 -1
  44. package/dist-cjs/pill-input/PillInput.css.js +1 -1
  45. package/dist-cjs/pill-input/PillInput.js +19 -2
  46. package/dist-cjs/pill-input/PillInput.js.map +1 -1
  47. package/dist-cjs/radio-button/RadioButton.css.js +1 -1
  48. package/dist-cjs/radio-button/RadioButtonIcon.css.js +1 -1
  49. package/dist-cjs/radio-button/RadioButtonIcon.js +0 -1
  50. package/dist-cjs/radio-button/RadioButtonIcon.js.map +1 -1
  51. package/dist-cjs/salt-provider/SaltProvider.js.map +1 -1
  52. package/dist-es/accordion/Accordion.css.js +1 -1
  53. package/dist-es/accordion/Accordion.js +11 -3
  54. package/dist-es/accordion/Accordion.js.map +1 -1
  55. package/dist-es/accordion/AccordionContext.js +4 -1
  56. package/dist-es/accordion/AccordionContext.js.map +1 -1
  57. package/dist-es/accordion/AccordionHeader.css.js +1 -1
  58. package/dist-es/accordion/AccordionHeader.js +21 -5
  59. package/dist-es/accordion/AccordionHeader.js.map +1 -1
  60. package/dist-es/accordion/AccordionPanel.css.js +1 -1
  61. package/dist-es/accordion/AccordionPanel.js +10 -4
  62. package/dist-es/accordion/AccordionPanel.js.map +1 -1
  63. package/dist-es/badge/Badge.css.js +1 -1
  64. package/dist-es/badge/Badge.js +3 -1
  65. package/dist-es/badge/Badge.js.map +1 -1
  66. package/dist-es/button/Button.css.js +1 -1
  67. package/dist-es/card/Card.css.js +1 -1
  68. package/dist-es/card/Card.js.map +1 -1
  69. package/dist-es/checkbox/Checkbox.css.js +1 -1
  70. package/dist-es/checkbox/CheckboxIcon.css.js +1 -1
  71. package/dist-es/combo-box/ComboBox.css.js +1 -1
  72. package/dist-es/combo-box/ComboBox.js +10 -5
  73. package/dist-es/combo-box/ComboBox.js.map +1 -1
  74. package/dist-es/dialog/Dialog.css.js +1 -1
  75. package/dist-es/dropdown/Dropdown.js +3 -1
  76. package/dist-es/dropdown/Dropdown.js.map +1 -1
  77. package/dist-es/form-field/FormField.css.js +1 -1
  78. package/dist-es/form-field/FormField.js.map +1 -1
  79. package/dist-es/form-field/FormFieldHelperText.js +1 -1
  80. package/dist-es/form-field/FormFieldHelperText.js.map +1 -1
  81. package/dist-es/interactable-card/InteractableCard.css.js +1 -1
  82. package/dist-es/interactable-card/InteractableCard.js.map +1 -1
  83. package/dist-es/link-card/LinkCard.css.js +1 -1
  84. package/dist-es/link-card/LinkCard.js.map +1 -1
  85. package/dist-es/list-control/ListControlState.js +4 -9
  86. package/dist-es/list-control/ListControlState.js.map +1 -1
  87. package/dist-es/navigation-item/NavigationItem.css.js +1 -1
  88. package/dist-es/navigation-item/NavigationItem.js +6 -7
  89. package/dist-es/navigation-item/NavigationItem.js.map +1 -1
  90. package/dist-es/option/Option.css.js +1 -1
  91. package/dist-es/pagination/PageButton.css.js +1 -1
  92. package/dist-es/panel/Panel.css.js +1 -1
  93. package/dist-es/panel/Panel.js.map +1 -1
  94. package/dist-es/pill-input/PillInput.css.js +1 -1
  95. package/dist-es/pill-input/PillInput.js +19 -2
  96. package/dist-es/pill-input/PillInput.js.map +1 -1
  97. package/dist-es/radio-button/RadioButton.css.js +1 -1
  98. package/dist-es/radio-button/RadioButtonIcon.css.js +1 -1
  99. package/dist-es/radio-button/RadioButtonIcon.js +0 -1
  100. package/dist-es/radio-button/RadioButtonIcon.js.map +1 -1
  101. package/dist-es/salt-provider/SaltProvider.js.map +1 -1
  102. package/dist-types/accordion/AccordionContext.d.ts +4 -1
  103. package/dist-types/badge/Badge.d.ts +3 -2
  104. package/dist-types/card/Card.d.ts +1 -1
  105. package/dist-types/form-field/FormField.d.ts +5 -3
  106. package/dist-types/interactable-card/InteractableCard.d.ts +1 -1
  107. package/dist-types/link-card/LinkCard.d.ts +1 -1
  108. package/dist-types/panel/Panel.d.ts +1 -1
  109. package/dist-types/salt-provider/SaltProvider.d.ts +1 -1
  110. package/package.json +1 -1
package/css/salt-core.css CHANGED
@@ -11,6 +11,9 @@
11
11
  .saltAccordion-success {
12
12
  border-top-color: var(--salt-status-success-borderColor);
13
13
  }
14
+ .saltAccordion-disabled {
15
+ border-top-color: var(--salt-separable-tertiary-borderColor);
16
+ }
14
17
 
15
18
  /* src/accordion/AccordionGroup.css */
16
19
  .saltAccordionGroup {
@@ -39,11 +42,6 @@
39
42
  outline: var(--salt-focused-outline);
40
43
  outline-offset: calc(-1 * var(--salt-focused-outlineWidth));
41
44
  }
42
- .saltAccordionHeader:disabled {
43
- background: var(--salt-actionable-secondary-background);
44
- color: var(--salt-content-primary-foreground-disabled);
45
- cursor: var(--salt-actionable-cursor-disabled);
46
- }
47
45
  .saltAccordionHeader-content {
48
46
  padding: var(--salt-spacing-75) 0;
49
47
  width: 100%;
@@ -74,6 +72,11 @@
74
72
  height: var(--salt-size-base);
75
73
  margin-left: auto;
76
74
  }
75
+ .saltAccordionHeader:disabled {
76
+ background: var(--salt-actionable-secondary-background);
77
+ color: var(--salt-content-primary-foreground-disabled);
78
+ cursor: var(--salt-actionable-cursor-disabled);
79
+ }
77
80
 
78
81
  /* src/accordion/AccordionPanel.css */
79
82
  .saltAccordionPanel {
@@ -99,8 +102,8 @@
99
102
  .saltAccordionPanel-content {
100
103
  padding-left: var(--salt-spacing-100);
101
104
  padding-right: var(--salt-spacing-100);
102
- padding-top: var(--salt-spacing-300);
103
- padding-bottom: var(--salt-spacing-300);
105
+ padding-top: var(--salt-spacing-100);
106
+ padding-bottom: var(--salt-spacing-150);
104
107
  }
105
108
  .saltAccordionPanel-indentedContent {
106
109
  padding-left: calc(var(--salt-spacing-200) + var(--salt-size-icon));
@@ -155,12 +158,13 @@
155
158
  position: relative;
156
159
  flex-shrink: 0;
157
160
  vertical-align: middle;
161
+ --badge-size: var(--salt-text-notation-lineHeight);
158
162
  }
159
163
  .saltBadge-badge {
160
164
  padding-left: var(--salt-spacing-50);
161
165
  padding-right: var(--salt-spacing-50);
162
- height: var(--salt-text-notation-lineHeight);
163
- min-width: var(--salt-text-notation-lineHeight);
166
+ height: var(--badge-size);
167
+ min-width: var(--badge-size);
164
168
  border-radius: var(--salt-palette-corner-strongest, 9999px);
165
169
  white-space: nowrap;
166
170
  z-index: var(--salt-zIndex-default);
@@ -181,7 +185,16 @@
181
185
  .saltBadge-topRight {
182
186
  position: absolute;
183
187
  right: var(--salt-spacing-100);
184
- transform: translateX(100%);
188
+ transform: translateX(100%) translateY(calc(-1 * (var(--badge-size) / 2)));
189
+ }
190
+ .saltBadge-dotBadge {
191
+ height: var(--salt-size-adornment);
192
+ min-width: var(--salt-size-adornment);
193
+ padding: 0;
194
+ --badge-size: var(--salt-size-adornment);
195
+ }
196
+ .saltBadge-dotBadge.saltBadge-topRight {
197
+ right: calc((var(--salt-size-adornment) / 2));
185
198
  }
186
199
 
187
200
  /* src/banner/Banner.css */
@@ -366,6 +379,7 @@
366
379
  .saltButton-disabled,
367
380
  .saltButton-disabled:active,
368
381
  .saltButton-disabled:focus-visible,
382
+ .saltButton-disabled:focus-visible:active,
369
383
  .saltButton-disabled:hover {
370
384
  background: var(--saltButton-background-disabled, var(--button-background-disabled));
371
385
  color: var(--saltButton-text-color-disabled, var(--button-text-color-disabled));
@@ -393,6 +407,11 @@
393
407
  border-color: var(--salt-container-secondary-borderColor);
394
408
  --card-accent-color: var(--salt-container-secondary-borderColor);
395
409
  }
410
+ .saltCard-tertiary {
411
+ background: var(--saltCard-background, var(--salt-container-tertiary-background));
412
+ border-color: var(--salt-container-tertiary-borderColor);
413
+ --card-accent-color: var(--salt-container-tertiary-borderColor);
414
+ }
396
415
  .saltCard-accent::after {
397
416
  content: "";
398
417
  position: absolute;
@@ -484,9 +503,6 @@ a:focus .saltCard-interactable.saltCard-disabled {
484
503
  margin-top: calc((var(--salt-text-lineHeight) - var(--salt-size-selectable)) / 2);
485
504
  box-sizing: border-box;
486
505
  }
487
- .saltCheckboxIcon > svg {
488
- transform: translate(0px, 0px);
489
- }
490
506
  .saltCheckbox-input:focus-visible + .saltCheckboxIcon {
491
507
  outline-offset: var(--salt-focused-outlineOffset);
492
508
  outline: var(--saltCheckbox-outline, var(--salt-focused-outline));
@@ -610,10 +626,14 @@ a:focus .saltCard-interactable.saltCard-disabled {
610
626
  border-color: var(--salt-selectable-borderColor-readonly);
611
627
  color: var(--salt-content-primary-foreground);
612
628
  }
629
+ .saltCheckboxIcon > svg {
630
+ position: absolute;
631
+ transform: scale(1.01);
632
+ }
613
633
 
614
634
  /* src/combo-box/ComboBox.css */
615
635
  .saltComboBox-focused {
616
- outline: var(--salt-focused-outline);
636
+ outline: var(--saltPillInput-outline, var(--salt-focused-outlineWidth) var(--salt-focused-outlineStyle) var(--pillInput-outlineColor));
617
637
  }
618
638
 
619
639
  /* src/dialog/Dialog.css */
@@ -631,7 +651,7 @@ a:focus .saltCard-interactable.saltCard-disabled {
631
651
  background: var(--salt-container-primary-background);
632
652
  box-shadow: var(--salt-overlayable-shadow-modal);
633
653
  overflow-y: auto;
634
- z-index: var(--salt-zIndex-drawer);
654
+ z-index: var(--salt-zIndex-modal);
635
655
  height: min-content;
636
656
  border: var(--salt-size-border) var(--salt-container-borderStyle) var(--salt-separable-tertiary-borderColor);
637
657
  box-sizing: border-box;
@@ -1179,6 +1199,7 @@ a:focus .saltCard-interactable.saltCard-disabled {
1179
1199
  line-height: var(--salt-text-lineHeight);
1180
1200
  }
1181
1201
  .saltFormField-labelTop {
1202
+ gap: var(--salt-spacing-75);
1182
1203
  grid-template-areas: "label" "controls";
1183
1204
  }
1184
1205
  .saltFormField-labelTop .saltFormFieldHelperText {
@@ -1502,6 +1523,11 @@ a:focus .saltCard-interactable.saltCard-disabled {
1502
1523
  border-color: var(--salt-container-secondary-borderColor);
1503
1524
  --card-accent-color: var(--salt-container-secondary-borderColor);
1504
1525
  }
1526
+ .saltInteractableCard-tertiary {
1527
+ background: var(--saltInteractableCard-background, var(--salt-container-tertiary-background));
1528
+ border-color: var(--salt-container-tertiary-borderColor);
1529
+ --card-accent-color: var(--salt-container-tertiary-borderColor);
1530
+ }
1505
1531
  .saltInteractableCard-accent::after {
1506
1532
  content: "";
1507
1533
  position: absolute;
@@ -1674,6 +1700,11 @@ a:focus .saltCard-interactable.saltCard-disabled {
1674
1700
  border-color: var(--salt-container-secondary-borderColor);
1675
1701
  --linkCard-accent-color: var(--salt-container-secondary-borderColor);
1676
1702
  }
1703
+ .saltLinkCard-tertiary {
1704
+ background: var(--saltLinkCard-background, var(--salt-container-tertiary-background));
1705
+ border-color: var(--salt-container-tertiary-borderColor);
1706
+ --linkCard-accent-color: var(--salt-container-tertiary-borderColor);
1707
+ }
1677
1708
  .saltLinkCard-accent::after {
1678
1709
  content: "";
1679
1710
  position: absolute;
@@ -2042,6 +2073,13 @@ a:focus .saltCard-interactable.saltCard-disabled {
2042
2073
  }
2043
2074
 
2044
2075
  /* src/navigation-item/NavigationItem.css */
2076
+ .saltNavigationItem {
2077
+ color: var(--salt-content-primary-foreground);
2078
+ line-height: var(--salt-text-lineHeight);
2079
+ font-family: var(--salt-text-fontFamily);
2080
+ font-size: var(--salt-text-fontSize);
2081
+ font-weight: var(--salt-text-fontWeight);
2082
+ }
2045
2083
  .saltNavigationItem-wrapper {
2046
2084
  display: flex;
2047
2085
  gap: var(--salt-spacing-100);
@@ -2049,7 +2087,8 @@ a:focus .saltCard-interactable.saltCard-disabled {
2049
2087
  position: relative;
2050
2088
  background: none;
2051
2089
  border: none;
2052
- font-size: var(--salt-text-fontSize);
2090
+ font: inherit;
2091
+ color: inherit;
2053
2092
  text-decoration: none;
2054
2093
  cursor: var(--salt-selectable-cursor-hover);
2055
2094
  transition: all var(--salt-duration-instant) ease-in-out;
@@ -2075,9 +2114,6 @@ a:focus .saltCard-interactable.saltCard-disabled {
2075
2114
  width: 100%;
2076
2115
  }
2077
2116
  .saltNavigationItem-label {
2078
- color: var(--salt-content-primary-foreground);
2079
- line-height: var(--salt-text-lineHeight);
2080
- font-family: var(--salt-text-fontFamily);
2081
2117
  padding-left: calc(var(--saltNavigationItem-level, 0) * var(--salt-spacing-100));
2082
2118
  flex: 1;
2083
2119
  text-align: left;
@@ -2098,9 +2134,6 @@ a:focus .saltCard-interactable.saltCard-disabled {
2098
2134
  width: 100%;
2099
2135
  }
2100
2136
  .saltNavigationItem-label {
2101
- color: var(--salt-content-primary-foreground);
2102
- line-height: var(--salt-text-lineHeight);
2103
- font-family: var(--salt-text-fontFamily);
2104
2137
  padding-left: calc(var(--saltNavigationItem-level, 0) * var(--salt-spacing-100));
2105
2138
  flex: 1;
2106
2139
  text-align: left;
@@ -2136,13 +2169,13 @@ a:focus .saltCard-interactable.saltCard-disabled {
2136
2169
  .saltNavigationItem-wrapper:hover::after,
2137
2170
  .saltNavigationItem-wrapper:focus-visible::after {
2138
2171
  background: var(--salt-navigable-indicator-hover);
2139
- transition: all var(--salt-duration-perceptible) ease-in-out;
2172
+ transition: background var(--salt-duration-perceptible) ease-in-out;
2140
2173
  }
2141
2174
  .saltNavigationItem-active::after,
2142
2175
  .saltNavigationItem-active:hover::after,
2143
2176
  .saltNavigationItem-active:focus::after {
2144
2177
  background: var(--salt-navigable-indicator-active);
2145
- transition: all var(--salt-duration-perceptible) ease-in-out;
2178
+ transition: background var(--salt-duration-perceptible) ease-in-out;
2146
2179
  }
2147
2180
 
2148
2181
  /* src/option/Option.css */
@@ -2176,27 +2209,10 @@ a:focus .saltCard-interactable.saltCard-disabled {
2176
2209
  .saltOption[aria-selected=true] {
2177
2210
  z-index: var(--salt-zIndex-default);
2178
2211
  background: var(--salt-selectable-background-selected);
2179
- }
2180
- .saltOption[aria-selected=true]::after {
2181
- content: "";
2182
- display: block;
2183
- position: absolute;
2184
- top: -1px;
2185
- bottom: -1px;
2186
- left: 0;
2187
- width: 100%;
2188
- }
2189
- .saltOption[aria-selected=true]::after {
2190
- border-top: var(--salt-size-border) var(--salt-selectable-borderStyle-selected) var(--salt-selectable-borderColor-selected);
2191
- border-bottom: var(--salt-size-border) var(--salt-selectable-borderStyle-selected) var(--salt-selectable-borderColor-selected);
2192
- }
2193
- .saltOption[aria-selected=true]:first-of-type::before {
2194
- border-top: unset;
2195
- top: 0;
2196
- }
2197
- .saltOption[aria-selected=true]:last-of-type::before {
2198
- border-bottom: unset;
2199
- bottom: 0;
2212
+ box-shadow:
2213
+ calc(var(--salt-size-border) * -2) 0 0 0 var(--salt-selectable-background-hover),
2214
+ calc(var(--salt-size-border) * -1) 0 0 var(--salt-size-border) var(--salt-selectable-borderColor-selected),
2215
+ 0 calc(var(--salt-size-border) * -1) 0 var(--salt-selectable-borderColor-selected);
2200
2216
  }
2201
2217
  .saltOption[aria-disabled=true] {
2202
2218
  color: var(--salt-content-primary-foreground-disabled);
@@ -2341,6 +2357,7 @@ a:focus .saltCard-interactable.saltCard-disabled {
2341
2357
  }
2342
2358
  .saltPageButton:hover,
2343
2359
  .saltPageButton:focus-visible {
2360
+ --saltButton-text-color-hover: var(--salt-content-primary-foreground);
2344
2361
  --saltButton-background-hover: var(--salt-selectable-background-hover);
2345
2362
  }
2346
2363
  .saltPageButton:disabled {
@@ -2392,6 +2409,9 @@ a:focus .saltCard-interactable.saltCard-disabled {
2392
2409
  .saltPanel-secondary.saltPanel {
2393
2410
  --panel-background: var(--salt-container-secondary-background);
2394
2411
  }
2412
+ .saltPanel-tertiary.saltPanel {
2413
+ --panel-background: var(--salt-container-tertiary-background);
2414
+ }
2395
2415
  .saltPanel {
2396
2416
  background: var(--saltPanel-background, var(--panel-background));
2397
2417
  color: var(--saltPanel-color, initial);
@@ -2477,27 +2497,27 @@ a:focus .saltCard-interactable.saltCard-disabled {
2477
2497
 
2478
2498
  /* src/pill-input/PillInput.css */
2479
2499
  .saltPillInput {
2480
- --input-border: none;
2481
- --input-borderColor: var(--salt-editable-borderColor);
2482
- --input-borderStyle: var(--salt-editable-borderStyle);
2483
- --input-outlineColor: var(--salt-focused-outlineColor);
2484
- --input-borderWidth: var(--salt-size-border);
2500
+ --pillInput-border: none;
2501
+ --pillInput-borderColor: var(--salt-editable-borderColor);
2502
+ --pillInput-borderStyle: var(--salt-editable-borderStyle);
2503
+ --pillInput-outlineColor: var(--salt-focused-outlineColor);
2504
+ --pillInput-borderWidth: var(--salt-size-border);
2485
2505
  align-items: center;
2486
- background: var(--saltInput-background, var(--input-background));
2487
- color: var(--saltInput-color, var(--salt-content-primary-foreground));
2506
+ background: var(--saltPillInput-background, var(--pillInput-background));
2507
+ border-radius: var(--salt-palette-corner-weak, 0);
2508
+ border: var(--pillInput-border);
2509
+ color: var(--saltPillInput-color, var(--salt-content-primary-foreground));
2488
2510
  display: inline-flex;
2489
2511
  font-family: var(--salt-text-fontFamily);
2490
- font-size: var(--saltInput-fontSize, var(--salt-text-fontSize));
2491
- line-height: var(--saltInput-lineHeight, var(--salt-text-lineHeight));
2492
- min-height: var(--saltInput-minHeight, var(--salt-size-base));
2493
- min-width: var(--saltInput-minWidth, 4em);
2494
- padding-left: var(--saltInput-paddingLeft, var(--salt-spacing-100));
2495
- padding-right: var(--saltInput-paddingRight, var(--salt-spacing-100));
2512
+ font-size: var(--saltPillInput-fontSize, var(--salt-text-fontSize));
2513
+ line-height: var(--saltPillInput-lineHeight, var(--salt-text-lineHeight));
2514
+ min-height: var(--saltPillInput-minHeight, var(--salt-size-base));
2515
+ min-width: var(--saltPillInput-minWidth, 4em);
2516
+ padding-left: var(--saltPillInput-paddingLeft, var(--salt-spacing-100));
2517
+ padding-right: var(--saltPillInput-paddingRight, var(--salt-spacing-100));
2496
2518
  position: relative;
2497
2519
  width: 100%;
2498
2520
  box-sizing: border-box;
2499
- border-radius: var(--salt-palette-corner-weak, 0);
2500
- border: var(--input-border);
2501
2521
  overflow: hidden;
2502
2522
  }
2503
2523
  .saltPillInput-truncate {
@@ -2507,58 +2527,58 @@ a:focus .saltCard-interactable.saltCard-disabled {
2507
2527
  flex-wrap: nowrap;
2508
2528
  }
2509
2529
  .saltPillInput:hover {
2510
- --input-borderStyle: var(--salt-editable-borderStyle-hover);
2511
- --input-borderColor: var(--salt-editable-borderColor-hover);
2512
- background: var(--saltInput-background-hover, var(--input-background-hover));
2530
+ --pillInput-borderStyle: var(--salt-editable-borderStyle-hover);
2531
+ --pillInput-borderColor: var(--salt-editable-borderColor-hover);
2532
+ background: var(--saltPillInput-background-hover, var(--pillInput-background-hover));
2513
2533
  cursor: var(--salt-editable-cursor-hover);
2514
2534
  }
2515
2535
  .saltPillInput:active {
2516
- --input-borderColor: var(--salt-editable-borderColor-active);
2517
- --input-borderStyle: var(--salt-editable-borderStyle-active);
2518
- --input-borderWidth: var(--salt-editable-borderWidth-active);
2519
- background: var(--saltInput-background-active, var(--input-background-active));
2536
+ --pillInput-borderColor: var(--salt-editable-borderColor-active);
2537
+ --pillInput-borderStyle: var(--salt-editable-borderStyle-active);
2538
+ --pillInput-borderWidth: var(--salt-editable-borderWidth-active);
2539
+ background: var(--saltPillInput-background-active, var(--pillInput-background-active));
2520
2540
  cursor: var(--salt-editable-cursor-active);
2521
2541
  }
2522
2542
  .saltPillInput-primary {
2523
- --input-background: var(--salt-editable-primary-background);
2524
- --input-background-active: var(--salt-editable-primary-background-active);
2525
- --input-background-hover: var(--salt-editable-primary-background-hover);
2526
- --input-background-disabled: var(--salt-editable-primary-background-disabled);
2527
- --input-background-readonly: var(--salt-editable-primary-background-readonly);
2543
+ --pillInput-background: var(--salt-editable-primary-background);
2544
+ --pillInput-background-active: var(--salt-editable-primary-background-active);
2545
+ --pillInput-background-hover: var(--salt-editable-primary-background-hover);
2546
+ --pillInput-background-disabled: var(--salt-editable-primary-background-disabled);
2547
+ --pillInput-background-readonly: var(--salt-editable-primary-background-readonly);
2528
2548
  }
2529
2549
  .saltPillInput-secondary {
2530
- --input-background: var(--salt-editable-secondary-background);
2531
- --input-background-active: var(--salt-editable-secondary-background-active);
2532
- --input-background-hover: var(--salt-editable-secondary-background-active);
2533
- --input-background-disabled: var(--salt-editable-secondary-background-disabled);
2534
- --input-background-readonly: var(--salt-editable-secondary-background-readonly);
2550
+ --pillInput-background: var(--salt-editable-secondary-background);
2551
+ --pillInput-background-active: var(--salt-editable-secondary-background-active);
2552
+ --pillInput-background-hover: var(--salt-editable-secondary-background-active);
2553
+ --pillInput-background-disabled: var(--salt-editable-secondary-background-disabled);
2554
+ --pillInput-background-readonly: var(--salt-editable-secondary-background-readonly);
2535
2555
  }
2536
2556
  .saltPillInput-error,
2537
2557
  .saltPillInput-error:hover {
2538
- --input-background: var(--salt-status-error-background);
2539
- --input-background-active: var(--salt-status-error-background);
2540
- --input-background-hover: var(--salt-status-error-background);
2541
- --input-borderColor: var(--salt-status-error-borderColor);
2542
- --input-outlineColor: var(--salt-status-error-borderColor);
2543
- --input-background-readonly: var(--salt-status-error-background);
2558
+ --pillInput-background: var(--salt-status-error-background);
2559
+ --pillInput-background-active: var(--salt-status-error-background);
2560
+ --pillInput-background-hover: var(--salt-status-error-background);
2561
+ --pillInput-borderColor: var(--salt-status-error-borderColor);
2562
+ --pillInput-outlineColor: var(--salt-status-error-borderColor);
2563
+ --pillInput-background-readonly: var(--salt-status-error-background);
2544
2564
  }
2545
2565
  .saltPillInput-warning,
2546
2566
  .saltPillInput-warning:hover {
2547
- --input-background: var(--salt-status-warning-background);
2548
- --input-background-active: var(--salt-status-warning-background);
2549
- --input-background-hover: var(--salt-status-warning-background);
2550
- --input-borderColor: var(--salt-status-warning-borderColor);
2551
- --input-outlineColor: var(--salt-status-warning-borderColor);
2552
- --input-background-readonly: var(--salt-status-warning-background);
2567
+ --pillInput-background: var(--salt-status-warning-background);
2568
+ --pillInput-background-active: var(--salt-status-warning-background);
2569
+ --pillInput-background-hover: var(--salt-status-warning-background);
2570
+ --pillInput-borderColor: var(--salt-status-warning-borderColor);
2571
+ --pillInput-outlineColor: var(--salt-status-warning-borderColor);
2572
+ --pillInput-background-readonly: var(--salt-status-warning-background);
2553
2573
  }
2554
2574
  .saltPillInput-success,
2555
2575
  .saltPillInput-success:hover {
2556
- --input-background: var(--salt-status-success-background);
2557
- --input-background-active: var(--salt-status-success-background);
2558
- --input-background-hover: var(--salt-status-success-background);
2559
- --input-borderColor: var(--salt-status-success-borderColor);
2560
- --input-outlineColor: var(--salt-status-success-borderColor);
2561
- --input-background-readonly: var(--salt-status-success-background);
2576
+ --pillInput-background: var(--salt-status-success-background);
2577
+ --pillInput-background-active: var(--salt-status-success-background);
2578
+ --pillInput-background-hover: var(--salt-status-success-background);
2579
+ --pillInput-borderColor: var(--salt-status-success-borderColor);
2580
+ --pillInput-outlineColor: var(--salt-status-success-borderColor);
2581
+ --pillInput-background-readonly: var(--salt-status-success-background);
2562
2582
  }
2563
2583
  .saltPillInput-input {
2564
2584
  background: none;
@@ -2570,12 +2590,12 @@ a:focus .saltCard-interactable.saltCard-disabled {
2570
2590
  flex: 1;
2571
2591
  font: inherit;
2572
2592
  height: 100%;
2573
- letter-spacing: var(--saltInput-letterSpacing, 0);
2593
+ letter-spacing: var(--saltPillInput-letterSpacing, 0);
2574
2594
  margin: 0;
2575
2595
  min-width: 0;
2576
2596
  overflow: hidden;
2577
2597
  padding: 0;
2578
- text-align: var(--input-textAlign);
2598
+ text-align: var(--pillInput-textAlign);
2579
2599
  width: 100%;
2580
2600
  }
2581
2601
  .saltPillInput-input:focus {
@@ -2590,23 +2610,23 @@ a:focus .saltCard-interactable.saltCard-disabled {
2590
2610
  }
2591
2611
  .saltPillInput-focused,
2592
2612
  .saltPillInput-focused:hover {
2593
- --input-borderColor: var(--input-outlineColor);
2594
- --input-borderWidth: var(--salt-editable-borderWidth-active);
2595
- outline: var(--saltInput-outline, var(--salt-focused-outlineWidth) var(--salt-focused-outlineStyle) var(--input-outlineColor));
2613
+ --pillInput-borderColor: var(--pillInput-outlineColor);
2614
+ --pillInput-borderWidth: var(--salt-editable-borderWidth-active);
2615
+ outline: var(--saltPillInput-outline, var(--salt-focused-outlineWidth) var(--salt-focused-outlineStyle) var(--pillInput-outlineColor));
2596
2616
  }
2597
2617
  .saltPillInput.saltPillInput-readOnly {
2598
- --input-borderColor: var(--salt-editable-borderColor-readonly);
2599
- --input-borderStyle: var(--salt-editable-borderStyle-readonly);
2600
- --input-borderWidth: var(--salt-size-border);
2601
- background: var(--input-background-readonly);
2618
+ --pillInput-borderColor: var(--salt-editable-borderColor-readonly);
2619
+ --pillInput-borderStyle: var(--salt-editable-borderStyle-readonly);
2620
+ --pillInput-borderWidth: var(--salt-size-border);
2621
+ background: var(--pillInput-background-readonly);
2602
2622
  cursor: var(--salt-editable-cursor-readonly);
2603
2623
  }
2604
2624
  .saltPillInput-focused.saltPillInput-disabled {
2605
- --input-borderWidth: var(--salt-size-border);
2625
+ --pillInput-borderWidth: var(--salt-size-border);
2606
2626
  outline: none;
2607
2627
  }
2608
2628
  .saltPillInput-focused.saltPillInput-readOnly {
2609
- --input-borderWidth: var(--salt-size-border);
2629
+ --pillInput-borderWidth: var(--salt-size-border);
2610
2630
  }
2611
2631
  .saltPillInput-disabled .saltPillInput-input::selection {
2612
2632
  background: none;
@@ -2614,32 +2634,32 @@ a:focus .saltCard-interactable.saltCard-disabled {
2614
2634
  .saltPillInput.saltPillInput-disabled,
2615
2635
  .saltPillInput.saltPillInput-disabled:hover,
2616
2636
  .saltPillInput.saltPillInput-disabled:active {
2617
- --input-borderColor: var(--salt-editable-borderColor-disabled);
2618
- --input-borderStyle: var(--salt-editable-borderStyle-disabled);
2619
- --input-borderWidth: var(--salt-size-border);
2620
- background: var(--input-background-disabled);
2637
+ --pillInput-borderColor: var(--salt-editable-borderColor-disabled);
2638
+ --pillInput-borderStyle: var(--salt-editable-borderStyle-disabled);
2639
+ --pillInput-borderWidth: var(--salt-size-border);
2640
+ background: var(--pillInput-background-disabled);
2621
2641
  cursor: var(--salt-editable-cursor-disabled);
2622
- color: var(--saltInput-color-disabled, var(--salt-content-primary-foreground-disabled));
2642
+ color: var(--saltPillInput-color-disabled, var(--salt-content-primary-foreground-disabled));
2623
2643
  }
2624
2644
  .saltPillInput-activationIndicator {
2625
2645
  left: 0;
2626
2646
  bottom: 0;
2627
2647
  width: 100%;
2628
2648
  position: absolute;
2629
- border-bottom: var(--input-borderWidth) var(--input-borderStyle) var(--input-borderColor);
2649
+ border-bottom: var(--pillInput-borderWidth) var(--pillInput-borderStyle) var(--pillInput-borderColor);
2630
2650
  }
2631
2651
  .saltPillInput.saltPillInput-bordered {
2632
- --input-border: var(--salt-size-border) var(--salt-container-borderStyle) var(--input-borderColor);
2633
- --input-borderWidth: 0;
2652
+ --pillInput-border: var(--salt-size-border) var(--salt-container-borderStyle) var(--pillInput-borderColor);
2653
+ --pillInput-borderWidth: 0;
2634
2654
  }
2635
2655
  .saltPillInput-bordered.saltPillInput-focused,
2636
2656
  .saltPillInput-bordered:active {
2637
- --input-borderWidth: var(--salt-editable-borderWidth-active);
2657
+ --pillInput-borderWidth: var(--salt-editable-borderWidth-active);
2638
2658
  }
2639
2659
  .saltPillInput-bordered.saltPillInput-readOnly,
2640
2660
  .saltPillInput-bordered.saltPillInput-disabled:hover,
2641
2661
  .saltPillInput-bordered.saltPillInput-disabled.saltPillInput-focused {
2642
- --input-borderWidth: 0;
2662
+ --pillInput-borderWidth: 0;
2643
2663
  }
2644
2664
  .saltPillInput-startAdornmentContainer {
2645
2665
  align-items: center;
@@ -2655,6 +2675,12 @@ a:focus .saltCard-interactable.saltCard-disabled {
2655
2675
  column-gap: var(--salt-spacing-100);
2656
2676
  align-self: flex-start;
2657
2677
  }
2678
+ .saltPillInput-statusAdornmentContainer {
2679
+ align-self: flex-start;
2680
+ display: inline-flex;
2681
+ align-items: center;
2682
+ height: var(--salt-size-base);
2683
+ }
2658
2684
  .saltPillInput-readOnly .saltPillInput-startAdornmentContainer {
2659
2685
  margin-left: var(--salt-spacing-50);
2660
2686
  }
@@ -2698,18 +2724,12 @@ a:focus .saltCard-interactable.saltCard-disabled {
2698
2724
  display: contents;
2699
2725
  }
2700
2726
  .saltPillInput .saltPill:focus-visible {
2701
- background: var(--salt-selectable-background-hover);
2727
+ background: var(--salt-content-foreground-highlight);
2728
+ color: var(--salt-content-primary-foreground);
2729
+ --saltIcon-color: var(--salt-content-primary-foreground);
2702
2730
  outline: none;
2703
2731
  }
2704
- .saltPillInput .saltPill:hover {
2705
- background: var(--salt-selectable-background-hover);
2706
- }
2707
- .saltPillInput .saltPill:active {
2708
- background: var(--salt-actionable-primary-background-active);
2709
- --saltPill-color: var(--salt-actionable-primary-foreground-active);
2710
- --saltIcon-color: var(--salt-actionable-primary-foreground-active);
2711
- }
2712
- div[role=listitem] {
2732
+ .saltPillInput-pillList div[role=listitem] {
2713
2733
  display: inline;
2714
2734
  }
2715
2735
  .saltPillInput-overflowIndicator {
@@ -2755,9 +2775,6 @@ div[role=listitem] {
2755
2775
  margin-top: var(--radioButton-icon-marginTop);
2756
2776
  box-sizing: border-box;
2757
2777
  }
2758
- .saltRadioButtonIcon > svg {
2759
- transform: translate(0px, 0px);
2760
- }
2761
2778
  .saltRadioButton-input:focus-visible + .saltRadioButtonIcon {
2762
2779
  outline: var(--saltRadioButton-outline, var(--salt-focused-outline));
2763
2780
  outline-offset: var(--salt-focused-outlineOffset);
@@ -2815,6 +2832,7 @@ div[role=listitem] {
2815
2832
  min-width: var(--radioButton-size);
2816
2833
  min-height: var(--radioButton-size);
2817
2834
  border-radius: 50%;
2835
+ position: relative;
2818
2836
  border: var(--salt-size-border) var(--salt-selectable-borderStyle) var(--salt-selectable-borderColor);
2819
2837
  color: var(--salt-selectable-foreground);
2820
2838
  background: var(--salt-container-primary-background);
@@ -2858,6 +2876,10 @@ div[role=listitem] {
2858
2876
  border-color: var(--salt-selectable-borderColor-readonly);
2859
2877
  color: var(--salt-content-primary-foreground);
2860
2878
  }
2879
+ .saltRadioButtonIcon > svg {
2880
+ position: absolute;
2881
+ transform: scale(1.01);
2882
+ }
2861
2883
 
2862
2884
  /* src/salt-provider/SaltProvider.css */
2863
2885
  .salt-provider {
@@ -3894,4 +3916,4 @@ label.saltText small,
3894
3916
  }
3895
3917
  }
3896
3918
 
3897
- /* src/d2dc509c-469f-44b5-8784-1c26d9a0aad8.css */
3919
+ /* src/b2ce0a41-ff2d-46d3-b9b0-a331dce86eca.css */
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- 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";
3
+ 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\n.saltAccordion-disabled {\n border-top-color: var(--salt-separable-tertiary-borderColor);\n}\n";
4
4
 
5
5
  module.exports = css_248z;
6
6
  //# sourceMappingURL=Accordion.css.js.map
@@ -127,6 +127,8 @@ const Accordion = React.forwardRef(
127
127
  ...rest
128
128
  } = props;
129
129
  const id = useId.useId(idProp);
130
+ const [headerId, setHeaderId] = React.useState(`${id}-header`);
131
+ const [panelId, setPanelId] = React.useState(`${id}-panel`);
130
132
  const targetWindow = window.useWindow();
131
133
  styles.useComponentCssInjection({
132
134
  testId: "salt-accordion",
@@ -150,14 +152,20 @@ const Accordion = React.forwardRef(
150
152
  expanded,
151
153
  indicatorSide,
152
154
  disabled: Boolean(disabled),
153
- id: id != null ? id : "",
155
+ headerId,
156
+ setHeaderId,
157
+ panelId,
158
+ setPanelId,
154
159
  status
155
160
  },
156
161
  children: /* @__PURE__ */ jsxRuntime.jsx("div", {
157
162
  ref,
158
163
  className: clsx.clsx(
159
164
  withBaseName(),
160
- { [withBaseName(status != null ? status : "")]: status },
165
+ {
166
+ [withBaseName(status != null ? status : "")]: status,
167
+ [withBaseName("disabled")]: disabled
168
+ },
161
169
  className
162
170
  ),
163
171
  ...rest
@@ -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} 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 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 id: id ?? \"\",\n status,\n }}\n >\n <div\n ref={ref}\n className={clsx(\n withBaseName(),\n { [withBaseName(status ?? \"\")]: status },\n className,\n )}\n {...rest}\n />\n </AccordionContext.Provider>\n );\n },\n);\n"],"names":["makePrefixer","forwardRef","Accordion","useId","useWindow","useComponentCssInjection","accordionCss","useControlled","jsx","AccordionContext","clsx"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2CA,MAAM,YAAA,GAAeA,0BAAa,eAAe,CAAA,CAAA;AAE1C,MAAM,SAAY,GAAAC,gBAAA;AAAA,EACvB,SAASC,UAAU,CAAA,KAAA,EAAO,GAAK,EAAA;AAC7B,IAAM,MAAA;AAAA,MACJ,SAAA;AAAA,MACA,eAAA;AAAA,MACA,QAAU,EAAA,YAAA;AAAA,MACV,QAAA;AAAA,MACA,aAAgB,GAAA,MAAA;AAAA,MAChB,EAAI,EAAA,MAAA;AAAA,MACJ,QAAA;AAAA,MACA,MAAA;AAAA,MACA,KAAA;AAAA,MACG,GAAA,IAAA;AAAA,KACD,GAAA,KAAA,CAAA;AAEJ,IAAM,MAAA,EAAA,GAAKC,YAAM,MAAM,CAAA,CAAA;AACvB,IAAA,MAAM,eAAeC,gBAAU,EAAA,CAAA;AAC/B,IAAyBC,+BAAA,CAAA;AAAA,MACvB,MAAQ,EAAA,gBAAA;AAAA,MACR,GAAK,EAAAC,WAAA;AAAA,MACL,MAAQ,EAAA,YAAA;AAAA,KACT,CAAA,CAAA;AAED,IAAA,MAAM,CAAC,QAAA,EAAU,WAAW,CAAA,GAAIC,2BAAc,CAAA;AAAA,MAC5C,UAAY,EAAA,YAAA;AAAA,MACZ,OAAA,EAAS,QAAQ,eAAe,CAAA;AAAA,MAChC,IAAM,EAAA,WAAA;AAAA,MACN,KAAO,EAAA,UAAA;AAAA,KACR,CAAA,CAAA;AAED,IAAM,MAAA,MAAA,GAAS,CAAC,KAA6C,KAAA;AAC3D,MAAY,WAAA,CAAA,CAAC,IAAS,KAAA,CAAC,IAAI,CAAA,CAAA;AAC3B,MAAW,QAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,QAAA,CAAA,KAAA,CAAA,CAAA;AAAA,KACb,CAAA;AAEA,IACE,uBAAAC,cAAA,CAACC,kCAAiB,QAAjB,EAAA;AAAA,MACC,KAAO,EAAA;AAAA,QACL,KAAA;AAAA,QACA,MAAA;AAAA,QACA,QAAA;AAAA,QACA,aAAA;AAAA,QACA,QAAA,EAAU,QAAQ,QAAQ,CAAA;AAAA,QAC1B,IAAI,EAAM,IAAA,IAAA,GAAA,EAAA,GAAA,EAAA;AAAA,QACV,MAAA;AAAA,OACF;AAAA,MAEA,QAAC,kBAAAD,cAAA,CAAA,KAAA,EAAA;AAAA,QACC,GAAA;AAAA,QACA,SAAW,EAAAE,SAAA;AAAA,UACT,YAAa,EAAA;AAAA,UACb,EAAE,CAAC,YAAA,CAAa,MAAU,IAAA,IAAA,GAAA,MAAA,GAAA,EAAE,IAAI,MAAO,EAAA;AAAA,UACvC,SAAA;AAAA,SACF;AAAA,QACC,GAAG,IAAA;AAAA,OACN,CAAA;AAAA,KACF,CAAA,CAAA;AAAA,GAEJ;AACF;;;;"}
1
+ {"version":3,"file":"Accordion.js","sources":["../src/accordion/Accordion.tsx"],"sourcesContent":["import { 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,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,MACG,GAAA,IAAA;AAAA,KACD,GAAA,KAAA,CAAA;AAEJ,IAAM,MAAA,EAAA,GAAKC,YAAM,MAAM,CAAA,CAAA;AACvB,IAAA,MAAM,CAAC,QAAU,EAAA,WAAW,CAAI,GAAAC,cAAA,CAAS,GAAG,EAAW,CAAA,OAAA,CAAA,CAAA,CAAA;AACvD,IAAA,MAAM,CAAC,OAAS,EAAA,UAAU,CAAI,GAAAA,cAAA,CAAS,GAAG,EAAU,CAAA,MAAA,CAAA,CAAA,CAAA;AAEpD,IAAA,MAAM,eAAeC,gBAAU,EAAA,CAAA;AAC/B,IAAyBC,+BAAA,CAAA;AAAA,MACvB,MAAQ,EAAA,gBAAA;AAAA,MACR,GAAK,EAAAC,WAAA;AAAA,MACL,MAAQ,EAAA,YAAA;AAAA,KACT,CAAA,CAAA;AAED,IAAA,MAAM,CAAC,QAAA,EAAU,WAAW,CAAA,GAAIC,2BAAc,CAAA;AAAA,MAC5C,UAAY,EAAA,YAAA;AAAA,MACZ,OAAA,EAAS,QAAQ,eAAe,CAAA;AAAA,MAChC,IAAM,EAAA,WAAA;AAAA,MACN,KAAO,EAAA,UAAA;AAAA,KACR,CAAA,CAAA;AAED,IAAM,MAAA,MAAA,GAAS,CAAC,KAA6C,KAAA;AAC3D,MAAY,WAAA,CAAA,CAAC,IAAS,KAAA,CAAC,IAAI,CAAA,CAAA;AAC3B,MAAW,QAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,QAAA,CAAA,KAAA,CAAA,CAAA;AAAA,KACb,CAAA;AAEA,IACE,uBAAAC,cAAA,CAACC,kCAAiB,QAAjB,EAAA;AAAA,MACC,KAAO,EAAA;AAAA,QACL,KAAA;AAAA,QACA,MAAA;AAAA,QACA,QAAA;AAAA,QACA,aAAA;AAAA,QACA,QAAA,EAAU,QAAQ,QAAQ,CAAA;AAAA,QAC1B,QAAA;AAAA,QACA,WAAA;AAAA,QACA,OAAA;AAAA,QACA,UAAA;AAAA,QACA,MAAA;AAAA,OACF;AAAA,MAEA,QAAC,kBAAAD,cAAA,CAAA,KAAA,EAAA;AAAA,QACC,GAAA;AAAA,QACA,SAAW,EAAAE,SAAA;AAAA,UACT,YAAa,EAAA;AAAA,UACb;AAAA,YACE,CAAC,YAAA,CAAa,MAAU,IAAA,IAAA,GAAA,MAAA,GAAA,EAAE,CAAI,GAAA,MAAA;AAAA,YAC9B,CAAC,YAAa,CAAA,UAAU,CAAI,GAAA,QAAA;AAAA,WAC9B;AAAA,UACA,SAAA;AAAA,SACF;AAAA,QACC,GAAG,IAAA;AAAA,OACN,CAAA;AAAA,KACF,CAAA,CAAA;AAAA,GAEJ;AACF;;;;"}
@@ -117,7 +117,10 @@ const AccordionContext = createContext.createContext(
117
117
  toggle: () => void 0,
118
118
  disabled: false,
119
119
  indicatorSide: "left",
120
- id: ""
120
+ headerId: "",
121
+ setHeaderId: () => void 0,
122
+ panelId: "",
123
+ setPanelId: () => void 0
121
124
  }
122
125
  );
123
126
  function useAccordion() {
@@ -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 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 indicatorSide: \"left\",\n id: \"\",\n },\n);\n\nexport function useAccordion() {\n return useContext(AccordionContext);\n}\n"],"names":["createContext","useContext"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAaO,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,EAAI,EAAA,EAAA;AAAA,GACN;AACF,EAAA;AAEO,SAAS,YAAe,GAAA;AAC7B,EAAA,OAAOC,iBAAW,gBAAgB,CAAA,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,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,CAAA;AAAA,GACpB;AACF,EAAA;AAEO,SAAS,YAAe,GAAA;AAC7B,EAAA,OAAOC,iBAAW,gBAAgB,CAAA,CAAA;AACpC;;;;;"}