@salt-ds/core 1.58.0 → 1.59.1

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 (119) hide show
  1. package/CHANGELOG.md +53 -0
  2. package/css/salt-core.css +114 -50
  3. package/dist-cjs/accordion/Accordion.js.map +1 -1
  4. package/dist-cjs/accordion/AccordionContext.js.map +1 -1
  5. package/dist-cjs/avatar/Avatar.css.js +1 -1
  6. package/dist-cjs/badge/Badge.css.js +1 -1
  7. package/dist-cjs/card/Card.css.js +1 -1
  8. package/dist-cjs/checkbox/Checkbox.css.js +1 -1
  9. package/dist-cjs/checkbox/Checkbox.js +0 -1
  10. package/dist-cjs/checkbox/Checkbox.js.map +1 -1
  11. package/dist-cjs/checkbox/CheckboxIcon.css.js +1 -1
  12. package/dist-cjs/dialog/DialogHeader.css.js +1 -1
  13. package/dist-cjs/index.js +6 -0
  14. package/dist-cjs/index.js.map +1 -1
  15. package/dist-cjs/interactable-card/InteractableCard.css.js +1 -1
  16. package/dist-cjs/link-card/LinkCard.css.js +1 -1
  17. package/dist-cjs/option/Option.css.js +1 -1
  18. package/dist-cjs/option/Option.js +1 -1
  19. package/dist-cjs/option/Option.js.map +1 -1
  20. package/dist-cjs/overlay/OverlayPanel.js +2 -2
  21. package/dist-cjs/overlay/OverlayPanel.js.map +1 -1
  22. package/dist-cjs/progress/CircularProgress/CircularProgress.css.js +1 -1
  23. package/dist-cjs/progress/LinearProgress/LinearProgress.css.js +1 -1
  24. package/dist-cjs/radio-button/RadioButton.css.js +1 -1
  25. package/dist-cjs/radio-button/RadioButton.js +0 -1
  26. package/dist-cjs/radio-button/RadioButton.js.map +1 -1
  27. package/dist-cjs/radio-button/RadioButtonIcon.css.js +1 -1
  28. package/dist-cjs/salt-provider/SaltProvider.js +1 -1
  29. package/dist-cjs/salt-provider/SaltProvider.js.map +1 -1
  30. package/dist-cjs/slider/internal/SliderThumb.css.js +1 -1
  31. package/dist-cjs/slider/internal/SliderTrack.css.js +1 -1
  32. package/dist-cjs/slider/internal/SliderTrack.js +0 -2
  33. package/dist-cjs/slider/internal/SliderTrack.js.map +1 -1
  34. package/dist-cjs/spinner/Spinner.css.js +1 -1
  35. package/dist-cjs/spinner/svgSpinners/SpinnerSVG.js +1 -1
  36. package/dist-cjs/spinner/svgSpinners/SpinnerSVG.js.map +1 -1
  37. package/dist-cjs/switch/Switch.css.js +1 -1
  38. package/dist-cjs/toggletip/Toggletip.js +71 -0
  39. package/dist-cjs/toggletip/Toggletip.js.map +1 -0
  40. package/dist-cjs/toggletip/ToggletipContext.js +42 -0
  41. package/dist-cjs/toggletip/ToggletipContext.js.map +1 -0
  42. package/dist-cjs/toggletip/ToggletipPanel.css.js +6 -0
  43. package/dist-cjs/toggletip/ToggletipPanel.css.js.map +1 -0
  44. package/dist-cjs/toggletip/ToggletipPanel.js +117 -0
  45. package/dist-cjs/toggletip/ToggletipPanel.js.map +1 -0
  46. package/dist-cjs/toggletip/ToggletipTrigger.css.js +6 -0
  47. package/dist-cjs/toggletip/ToggletipTrigger.css.js.map +1 -0
  48. package/dist-cjs/toggletip/ToggletipTrigger.js +67 -0
  49. package/dist-cjs/toggletip/ToggletipTrigger.js.map +1 -0
  50. package/dist-cjs/tooltip/TooltipBase.js +2 -2
  51. package/dist-cjs/tooltip/TooltipBase.js.map +1 -1
  52. package/dist-cjs/utils/useEventCallback.js +8 -2
  53. package/dist-cjs/utils/useEventCallback.js.map +1 -1
  54. package/dist-cjs/utils/useFloatingUI/useFloatingUI.js.map +1 -1
  55. package/dist-cjs/utils/useForkRef.js.map +1 -1
  56. package/dist-es/accordion/Accordion.js.map +1 -1
  57. package/dist-es/accordion/AccordionContext.js.map +1 -1
  58. package/dist-es/avatar/Avatar.css.js +1 -1
  59. package/dist-es/badge/Badge.css.js +1 -1
  60. package/dist-es/card/Card.css.js +1 -1
  61. package/dist-es/checkbox/Checkbox.css.js +1 -1
  62. package/dist-es/checkbox/Checkbox.js +0 -1
  63. package/dist-es/checkbox/Checkbox.js.map +1 -1
  64. package/dist-es/checkbox/CheckboxIcon.css.js +1 -1
  65. package/dist-es/dialog/DialogHeader.css.js +1 -1
  66. package/dist-es/index.js +3 -0
  67. package/dist-es/index.js.map +1 -1
  68. package/dist-es/interactable-card/InteractableCard.css.js +1 -1
  69. package/dist-es/link-card/LinkCard.css.js +1 -1
  70. package/dist-es/option/Option.css.js +1 -1
  71. package/dist-es/option/Option.js +1 -1
  72. package/dist-es/option/Option.js.map +1 -1
  73. package/dist-es/overlay/OverlayPanel.js +2 -2
  74. package/dist-es/overlay/OverlayPanel.js.map +1 -1
  75. package/dist-es/progress/CircularProgress/CircularProgress.css.js +1 -1
  76. package/dist-es/progress/LinearProgress/LinearProgress.css.js +1 -1
  77. package/dist-es/radio-button/RadioButton.css.js +1 -1
  78. package/dist-es/radio-button/RadioButton.js +0 -1
  79. package/dist-es/radio-button/RadioButton.js.map +1 -1
  80. package/dist-es/radio-button/RadioButtonIcon.css.js +1 -1
  81. package/dist-es/salt-provider/SaltProvider.js +1 -1
  82. package/dist-es/salt-provider/SaltProvider.js.map +1 -1
  83. package/dist-es/slider/internal/SliderThumb.css.js +1 -1
  84. package/dist-es/slider/internal/SliderTrack.css.js +1 -1
  85. package/dist-es/slider/internal/SliderTrack.js +0 -2
  86. package/dist-es/slider/internal/SliderTrack.js.map +1 -1
  87. package/dist-es/spinner/Spinner.css.js +1 -1
  88. package/dist-es/spinner/svgSpinners/SpinnerSVG.js +1 -1
  89. package/dist-es/spinner/svgSpinners/SpinnerSVG.js.map +1 -1
  90. package/dist-es/switch/Switch.css.js +1 -1
  91. package/dist-es/toggletip/Toggletip.js +69 -0
  92. package/dist-es/toggletip/Toggletip.js.map +1 -0
  93. package/dist-es/toggletip/ToggletipContext.js +39 -0
  94. package/dist-es/toggletip/ToggletipContext.js.map +1 -0
  95. package/dist-es/toggletip/ToggletipPanel.css.js +4 -0
  96. package/dist-es/toggletip/ToggletipPanel.css.js.map +1 -0
  97. package/dist-es/toggletip/ToggletipPanel.js +115 -0
  98. package/dist-es/toggletip/ToggletipPanel.js.map +1 -0
  99. package/dist-es/toggletip/ToggletipTrigger.css.js +4 -0
  100. package/dist-es/toggletip/ToggletipTrigger.css.js.map +1 -0
  101. package/dist-es/toggletip/ToggletipTrigger.js +65 -0
  102. package/dist-es/toggletip/ToggletipTrigger.js.map +1 -0
  103. package/dist-es/tooltip/TooltipBase.js +2 -2
  104. package/dist-es/tooltip/TooltipBase.js.map +1 -1
  105. package/dist-es/utils/useEventCallback.js +8 -2
  106. package/dist-es/utils/useEventCallback.js.map +1 -1
  107. package/dist-es/utils/useFloatingUI/useFloatingUI.js.map +1 -1
  108. package/dist-es/utils/useForkRef.js.map +1 -1
  109. package/dist-types/accordion/Accordion.d.ts +2 -2
  110. package/dist-types/accordion/AccordionContext.d.ts +1 -1
  111. package/dist-types/index.d.ts +1 -0
  112. package/dist-types/toggletip/Toggletip.d.ts +14 -0
  113. package/dist-types/toggletip/ToggletipContext.d.ts +17 -0
  114. package/dist-types/toggletip/ToggletipPanel.d.ts +8 -0
  115. package/dist-types/toggletip/ToggletipTrigger.d.ts +5 -0
  116. package/dist-types/toggletip/index.d.ts +3 -0
  117. package/dist-types/utils/useEventCallback.d.ts +1 -1
  118. package/dist-types/utils/useFloatingUI/useFloatingUI.d.ts +1 -1
  119. package/package.json +2 -2
package/CHANGELOG.md CHANGED
@@ -1,5 +1,58 @@
1
1
  # @salt-ds/core
2
2
 
3
+ ## 1.59.1
4
+
5
+ ### Patch Changes
6
+
7
+ - e131baa: Improved `useEventCallback`'s stability.
8
+ - 2d2d62b: Changed Accordion's value prop to be optional.
9
+
10
+ ## 1.59.0
11
+
12
+ ### Minor Changes
13
+
14
+ - 5c36edc: Added `Toggletip`.
15
+
16
+ `Toggletip` shows a user supplementary information on click.
17
+
18
+ ```tsx
19
+ <Toggletip>
20
+ <ToggletipTrigger aria-label="More info about locked content">
21
+ <HelpCircleIcon aria-hidden />
22
+ </ToggletipTrigger>
23
+ <ToggletipPanel>
24
+ <Text>
25
+ This setting is managed at a project level. Contact your administrator
26
+ for assistance.
27
+ </Text>
28
+ </ToggletipPanel>
29
+ </Toggletip>
30
+ ```
31
+
32
+ ### Patch Changes
33
+
34
+ - cfc1591: Simplify disabled styling across the system. This affected the following components:
35
+
36
+ ## Core
37
+
38
+ - Checkbox
39
+ - Combo box
40
+ - Dropdown
41
+ - List box
42
+ - Radio button
43
+ - Slider
44
+ - Switch
45
+
46
+ ## Lab
47
+
48
+ - Tree
49
+
50
+ - 89429e2: Updated accent token usage, to align to the recent theme change.
51
+ - 0a08ae0: Fixed `SaltProvider` and `SaltProviderNext` not applying inherited themes.
52
+ - 5c36edc: Update Overlay and Tooltip arrow sizes.
53
+ - Updated dependencies [49b3486]
54
+ - @salt-ds/icons@1.18.0
55
+
3
56
  ## 1.58.0
4
57
 
5
58
  ### Minor Changes
package/css/salt-core.css CHANGED
@@ -143,7 +143,7 @@
143
143
  user-select: none;
144
144
  }
145
145
  .saltAvatar-accent {
146
- --avatar-background: var(--salt-accent-background);
146
+ --avatar-background: var(--salt-sentiment-accent-background);
147
147
  }
148
148
  .saltAvatar-category-1 {
149
149
  --avatar-background: var(--salt-category-1-bold-background);
@@ -240,7 +240,7 @@
240
240
  font-weight: var(--salt-text-notation-fontWeight);
241
241
  font-family: var(--salt-text-fontFamily);
242
242
  line-height: var(--salt-text-notation-lineHeight);
243
- background: var(--salt-accent-background);
243
+ background: var(--salt-sentiment-accent-background);
244
244
  color: var(--salt-content-bold-foreground);
245
245
  -webkit-font-smoothing: antialiased;
246
246
  -moz-osx-font-smoothing: grayscale;
@@ -666,7 +666,7 @@
666
666
  box-sizing: border-box;
667
667
  border-radius: var(--saltCard-borderRadius, var(--salt-palette-corner, 0));
668
668
  overflow: hidden;
669
- --card-accent-color: var(--salt-accent-background);
669
+ --card-accent-color: var(--salt-sentiment-accent-background);
670
670
  }
671
671
  .saltCard-primary {
672
672
  background: var(--saltCard-background, var(--salt-container-primary-background));
@@ -766,8 +766,9 @@ a:focus .saltCard-interactable.saltCard-disabled {
766
766
  font-weight: var(--salt-text-fontWeight);
767
767
  }
768
768
  .saltCheckbox-disabled {
769
- color: var(--salt-content-primary-foreground-disabled);
769
+ color: var(--salt-content-primary-foreground);
770
770
  cursor: var(--salt-cursor-disabled);
771
+ opacity: 0.4;
771
772
  }
772
773
  .saltCheckbox-readOnly {
773
774
  color: var(--salt-content-primary-foreground);
@@ -870,14 +871,15 @@ a:focus .saltCard-interactable.saltCard-disabled {
870
871
  .saltCheckbox:hover .saltCheckboxIcon-disabled,
871
872
  .saltCheckboxIcon-disabled.saltCheckboxIcon-indeterminate,
872
873
  .saltCheckbox:hover .saltCheckboxIcon-disabled.saltCheckboxIcon-indeterminate {
873
- border-color: var(--salt-selectable-borderColor-disabled);
874
- background: var(--salt-container-primary-background-disabled);
875
- color: var(--salt-selectable-foreground-disabled);
874
+ opacity: 0.4;
875
+ border-color: var(--salt-selectable-borderColor);
876
+ background: var(--salt-container-primary-background);
877
+ color: var(--salt-selectable-foreground);
876
878
  }
877
879
  .saltCheckboxIcon-checked.saltCheckboxIcon-disabled,
878
880
  .saltCheckbox:hover .saltCheckboxIcon-checked.saltCheckboxIcon-disabled {
879
- border-color: var(--salt-selectable-borderColor-selectedDisabled);
880
- color: var(--salt-selectable-foreground-selectedDisabled);
881
+ border-color: var(--salt-selectable-borderColor-selected);
882
+ color: var(--salt-selectable-foreground-selected);
881
883
  }
882
884
  .saltCheckboxIcon-indeterminate::before {
883
885
  content: "";
@@ -1126,7 +1128,7 @@ a:focus .saltCard-interactable.saltCard-disabled {
1126
1128
  left: 0;
1127
1129
  bottom: var(--salt-spacing-300);
1128
1130
  width: var(--salt-size-bar);
1129
- background: var(--salt-accent-background);
1131
+ background: var(--salt-sentiment-accent-background);
1130
1132
  }
1131
1133
 
1132
1134
  /* src/divider/Divider.css */
@@ -1882,7 +1884,7 @@ a:focus .saltCard-interactable.saltCard-disabled {
1882
1884
  text-align: start;
1883
1885
  transition: box-shadow var(--salt-duration-instant) ease-in-out;
1884
1886
  overflow: hidden;
1885
- --card-accent-color: var(--salt-accent-background);
1887
+ --card-accent-color: var(--salt-sentiment-accent-background);
1886
1888
  }
1887
1889
  .saltInteractableCard-primary {
1888
1890
  background: var(--saltInteractableCard-background, var(--salt-container-primary-background));
@@ -1959,7 +1961,7 @@ a:focus .saltCard-interactable.saltCard-disabled {
1959
1961
  color: var(--salt-content-primary-foreground-disabled);
1960
1962
  cursor: var(--salt-cursor-disabled);
1961
1963
  outline: none;
1962
- --card-accent-color: var(--salt-accent-background-disabled);
1964
+ --card-accent-color: var(--salt-sentiment-accent-background-disabled);
1963
1965
  }
1964
1966
  .saltInteractableCard-primary.saltInteractableCard-disabled,
1965
1967
  .saltInteractableCard-primary.saltInteractableCard-disabled:focus,
@@ -2124,7 +2126,7 @@ a:focus .saltCard-interactable.saltCard-disabled {
2124
2126
  position: relative;
2125
2127
  text-decoration: none;
2126
2128
  transition: box-shadow var(--salt-duration-instant) ease-in-out;
2127
- --linkCard-accent-color: var(--salt-accent-background);
2129
+ --linkCard-accent-color: var(--salt-sentiment-accent-background);
2128
2130
  }
2129
2131
  .saltLinkCard-primary {
2130
2132
  background: var(--saltLinkCard-background, var(--salt-container-primary-background));
@@ -2891,6 +2893,12 @@ a:focus .saltCard-interactable.saltCard-disabled {
2891
2893
  .saltOption:hover {
2892
2894
  background: var(--salt-selectable-background-hover);
2893
2895
  }
2896
+ .saltOption[aria-disabled=true] {
2897
+ color: var(--salt-content-primary-foreground);
2898
+ background: var(--salt-selectable-background);
2899
+ opacity: 0.4;
2900
+ cursor: var(--salt-cursor-disabled);
2901
+ }
2894
2902
  .saltOption[aria-selected=true] {
2895
2903
  z-index: var(--salt-zIndex-default);
2896
2904
  background: var(--salt-selectable-background-selected);
@@ -2899,10 +2907,6 @@ a:focus .saltCard-interactable.saltCard-disabled {
2899
2907
  calc(var(--salt-size-fixed-100) * -1) 0 0 var(--salt-size-fixed-100) var(--salt-selectable-borderColor-selected),
2900
2908
  0 calc(var(--salt-size-fixed-100) * -1) 0 var(--salt-selectable-borderColor-selected);
2901
2909
  }
2902
- .saltOption[aria-disabled=true] {
2903
- color: var(--salt-content-primary-foreground-disabled);
2904
- cursor: var(--salt-cursor-disabled);
2905
- }
2906
2910
  .saltOption .saltIcon:not(.saltCheckboxIcon-icon) {
2907
2911
  min-height: var(--salt-text-lineHeight);
2908
2912
  }
@@ -3547,8 +3551,9 @@ a:focus .saltCard-interactable.saltCard-disabled {
3547
3551
  --radioButton-icon-margin: calc((var(--salt-text-lineHeight) - var(--salt-size-selectable)) / 2);
3548
3552
  }
3549
3553
  .saltRadioButton-disabled {
3550
- color: var(--salt-content-primary-foreground-disabled);
3554
+ color: var(--salt-content-primary-foreground);
3551
3555
  cursor: var(--salt-cursor-disabled);
3556
+ opacity: 0.4;
3552
3557
  }
3553
3558
  .saltRadioButton-readOnly {
3554
3559
  color: var(--salt-content-primary-foreground);
@@ -3646,14 +3651,15 @@ a:focus .saltCard-interactable.saltCard-disabled {
3646
3651
  }
3647
3652
  .saltRadioButtonIcon-disabled,
3648
3653
  .saltRadioButton:hover .saltRadioButtonIcon-disabled {
3649
- border-color: var(--salt-selectable-borderColor-disabled);
3650
- background: var(--salt-container-primary-background-disabled);
3651
- color: var(--salt-selectable-foreground-disabled);
3654
+ opacity: 0.4;
3655
+ border-color: var(--salt-selectable-borderColor);
3656
+ background: var(--salt-container-primary-background);
3657
+ color: var(--salt-selectable-foreground);
3652
3658
  }
3653
3659
  .saltRadioButtonIcon-checked.saltRadioButtonIcon-disabled,
3654
3660
  .saltRadioButton:hover .saltRadioButtonIcon-checked.saltRadioButtonIcon-disabled {
3655
- border-color: var(--salt-selectable-borderColor-selectedDisabled);
3656
- color: var(--salt-selectable-foreground-selectedDisabled);
3661
+ border-color: var(--salt-selectable-borderColor-selected);
3662
+ color: var(--salt-selectable-foreground-selected);
3657
3663
  }
3658
3664
  .saltRadioButtonIcon-error,
3659
3665
  .saltRadioButton:hover .saltRadioButtonIcon-error {
@@ -3795,7 +3801,7 @@ a:focus .saltCard-interactable.saltCard-disabled {
3795
3801
  position: relative;
3796
3802
  }
3797
3803
  .saltSpinner-gradientStop {
3798
- stop-color: var(--saltSpinner-gradient-color, var(--salt-accent-background));
3804
+ stop-color: var(--saltSpinner-gradient-color, var(--salt-sentiment-accent-background));
3799
3805
  }
3800
3806
  .saltSpinner-medium {
3801
3807
  --spinner-strokeWidth: var(--salt-size-bar);
@@ -4000,8 +4006,9 @@ a:focus .saltCard-interactable.saltCard-disabled {
4000
4006
  line-height: var(--salt-text-lineHeight);
4001
4007
  }
4002
4008
  .saltSwitch-disabled {
4003
- color: var(--salt-content-primary-foreground-disabled);
4009
+ color: var(--salt-content-primary-foreground);
4004
4010
  cursor: var(--salt-cursor-disabled);
4011
+ opacity: 0.4;
4005
4012
  }
4006
4013
  .saltSwitch-track {
4007
4014
  border: var(--salt-size-fixed-100) var(--salt-borderStyle-solid) var(--salt-selectable-borderColor);
@@ -4036,14 +4043,14 @@ a:focus .saltCard-interactable.saltCard-disabled {
4036
4043
  }
4037
4044
  .saltSwitch-disabled .saltSwitch-track,
4038
4045
  .saltSwitch-disabled:hover .saltSwitch-track {
4039
- border-color: var(--salt-selectable-borderColor-disabled);
4040
- color: var(--salt-selectable-foreground-disabled);
4041
- background: var(--salt-container-primary-background-disabled);
4046
+ border-color: var(--salt-selectable-borderColor);
4047
+ color: var(--salt-selectable-foreground);
4048
+ background: var(--salt-container-primary-background);
4042
4049
  }
4043
4050
  .saltSwitch-checked.saltSwitch-disabled .saltSwitch-track,
4044
4051
  .saltSwitch-checked.saltSwitch-disabled:hover .saltSwitch-track {
4045
- border-color: var(--salt-selectable-borderColor-selectedDisabled);
4046
- color: var(--salt-selectable-foreground-selectedDisabled);
4052
+ border-color: var(--salt-selectable-borderColor-selected);
4053
+ color: var(--salt-selectable-foreground-selected);
4047
4054
  }
4048
4055
  .saltSwitch-thumb {
4049
4056
  display: flex;
@@ -5015,6 +5022,68 @@ label.saltText small,
5015
5022
  justify-content: start;
5016
5023
  }
5017
5024
 
5025
+ /* src/toggletip/ToggletipPanel.css */
5026
+ .saltToggletipPanel {
5027
+ --toggletip-background: var(--salt-container-primary-background);
5028
+ --toggletip-borderColor: var(--salt-container-primary-borderColor);
5029
+ box-sizing: border-box;
5030
+ padding: var(--salt-spacing-100);
5031
+ font-family: var(--salt-text-fontFamily);
5032
+ font-size: var(--salt-text-fontSize);
5033
+ font-weight: var(--salt-text-fontWeight);
5034
+ line-height: var(--salt-text-lineHeight);
5035
+ border: var(--salt-size-fixed-100) var(--salt-borderStyle-solid) var(--toggletip-borderColor);
5036
+ border-radius: var(--salt-palette-corner-weak);
5037
+ background: var(--toggletip-background);
5038
+ box-shadow: var(--salt-overlayable-shadow-popout);
5039
+ color: var(--salt-content-primary-foreground);
5040
+ z-index: var(--salt-zIndex-flyover);
5041
+ max-width: 45ch;
5042
+ max-height: 100vh;
5043
+ }
5044
+ .saltToggletipPanel-content {
5045
+ max-height: 100%;
5046
+ overflow-y: auto;
5047
+ }
5048
+ .saltToggletipPanel-content:focus-visible {
5049
+ outline-offset: var(--salt-spacing-fixed-100);
5050
+ }
5051
+
5052
+ /* src/toggletip/ToggletipTrigger.css */
5053
+ .saltToggletipTrigger {
5054
+ box-sizing: border-box;
5055
+ align-items: center;
5056
+ appearance: none;
5057
+ display: inline-flex;
5058
+ gap: var(--salt-spacing-50);
5059
+ justify-content: center;
5060
+ font-size: var(--salt-text-fontSize);
5061
+ font-family: var(--salt-text-fontFamily);
5062
+ font-weight: var(--salt-text-fontWeight);
5063
+ line-height: var(--salt-text-lineHeight);
5064
+ letter-spacing: var(--salt-text-letterSpacing);
5065
+ padding: 0;
5066
+ margin: 0;
5067
+ min-height: var(--salt-size-icon);
5068
+ min-width: var(--salt-size-icon);
5069
+ position: relative;
5070
+ text-align: var(--salt-text-action-textAlign);
5071
+ text-decoration: none;
5072
+ transition: none;
5073
+ width: auto;
5074
+ -webkit-appearance: none;
5075
+ -webkit-tap-highlight-color: transparent;
5076
+ color: var(--salt-content-primary-foreground);
5077
+ background: transparent;
5078
+ border: none;
5079
+ cursor: var(--salt-cursor-hover);
5080
+ flex: 0;
5081
+ }
5082
+ .saltToggletipTrigger:focus-visible {
5083
+ outline: var(--salt-focused-outline);
5084
+ outline-offset: var(--salt-size-fixed-100);
5085
+ }
5086
+
5018
5087
  /* src/tooltip/Tooltip.css */
5019
5088
  .saltTooltip {
5020
5089
  --tooltip-background: var(--saltTooltip-background, var(--salt-container-primary-background));
@@ -5258,13 +5327,13 @@ label.saltText small,
5258
5327
  box-sizing: border-box;
5259
5328
  }
5260
5329
  .saltCircularProgress-bar {
5261
- border-color: var(--salt-accent-background);
5330
+ border-color: var(--salt-sentiment-accent-background);
5262
5331
  border-style: var(--salt-borderStyle-solid);
5263
5332
  border-width: var(--salt-size-bar-strong);
5264
5333
  }
5265
5334
  .saltCircularProgress-bufferBorder {
5266
- border: solid var(--salt-size-fixed-100) var(--salt-accent-background);
5267
- outline: solid var(--salt-size-fixed-100) var(--salt-accent-background);
5335
+ border: solid var(--salt-size-fixed-100) var(--salt-sentiment-accent-background);
5336
+ outline: solid var(--salt-size-fixed-100) var(--salt-sentiment-accent-background);
5268
5337
  outline-offset: calc(var(--salt-size-bar-strong) * -1);
5269
5338
  }
5270
5339
  .saltCircularProgress-bufferBackground {
@@ -5314,7 +5383,7 @@ label.saltText small,
5314
5383
  .saltCircularProgress-bufferOverlayRight:before,
5315
5384
  .saltCircularProgress-bufferSubOverlay:before {
5316
5385
  content: "";
5317
- background: var(--salt-accent-background);
5386
+ background: var(--salt-sentiment-accent-background);
5318
5387
  position: absolute;
5319
5388
  right: 0;
5320
5389
  width: var(--salt-size-fixed-100);
@@ -5353,13 +5422,13 @@ label.saltText small,
5353
5422
  .saltLinearProgress-buffer {
5354
5423
  width: 0;
5355
5424
  background: var(--salt-container-primary-background);
5356
- outline: solid var(--salt-size-fixed-100) var(--salt-accent-background);
5425
+ outline: solid var(--salt-size-fixed-100) var(--salt-sentiment-accent-background);
5357
5426
  z-index: var(--salt-zIndex-default);
5358
5427
  outline-offset: calc(var(--salt-size-fixed-100) * -1);
5359
5428
  }
5360
5429
  .saltLinearProgress-bar {
5361
5430
  width: 100%;
5362
- background: var(--salt-accent-background);
5431
+ background: var(--salt-sentiment-accent-background);
5363
5432
  z-index: calc(var(--salt-zIndex-default) * 2);
5364
5433
  }
5365
5434
  .saltLinearProgress-track {
@@ -5402,7 +5471,7 @@ label.saltText small,
5402
5471
  /* src/slider/internal/SliderThumb.css */
5403
5472
  .saltSliderThumb {
5404
5473
  align-items: center;
5405
- background: var(--salt-accent-borderColor);
5474
+ background: var(--salt-sentiment-accent-borderColor);
5406
5475
  cursor: var(--salt-cursor-grab);
5407
5476
  display: flex;
5408
5477
  height: var(--salt-size-selectable);
@@ -5414,7 +5483,6 @@ label.saltText small,
5414
5483
  touch-action: none;
5415
5484
  }
5416
5485
  .saltSliderThumb-disabled {
5417
- background: var(--salt-accent-borderColor-disabled);
5418
5486
  cursor: var(--salt-cursor-disabled);
5419
5487
  pointer-events: none;
5420
5488
  }
@@ -5500,7 +5568,7 @@ label.saltText small,
5500
5568
  /* src/slider/internal/SliderTrack.css */
5501
5569
  .saltSliderTrack {
5502
5570
  --slider-track-background: var(--salt-sentiment-neutral-track);
5503
- --slider-track-fill: var(--salt-accent-borderColor);
5571
+ --slider-track-fill: var(--salt-sentiment-accent-borderColor);
5504
5572
  --slider-progressPercentage: 0%;
5505
5573
  --slider-tick-height: calc((var(--salt-size-selectable) - var(--salt-size-bar)) / 2);
5506
5574
  --slider-progressPercentageStart: 0%;
@@ -5513,7 +5581,7 @@ label.saltText small,
5513
5581
  margin-bottom: calc(var(--salt-size-base) / 2);
5514
5582
  }
5515
5583
  .saltSliderTrack-disabled {
5516
- cursor: var(--salt-cursor-disabled);
5584
+ opacity: 0.4;
5517
5585
  }
5518
5586
  .saltSliderTrack-container {
5519
5587
  align-items: center;
@@ -5555,7 +5623,7 @@ label.saltText small,
5555
5623
  background: var(--slider-track-fill);
5556
5624
  border-top-left-radius: var(--salt-palette-corner-weaker);
5557
5625
  border-bottom-left-radius: var(--salt-palette-corner-weaker);
5558
- width: calc(var(--slider-progressPercentage) - var(--salt-size-fixed-300));
5626
+ width: calc(var(--slider-progressPercentage) - var(--salt-spacing-fixed-300));
5559
5627
  }
5560
5628
  .saltSliderTrack-hasMinTick.saltSliderTrack-rail::before {
5561
5629
  border-bottom-left-radius: unset;
@@ -5564,23 +5632,23 @@ label.saltText small,
5564
5632
  background: var(--slider-track-background);
5565
5633
  border-top-right-radius: var(--salt-palette-corner-weaker);
5566
5634
  border-bottom-right-radius: var(--salt-palette-corner-weaker);
5567
- width: calc(100% - var(--slider-progressPercentage) - var(--salt-size-fixed-300));
5635
+ width: calc(100% - var(--slider-progressPercentage) - var(--salt-spacing-fixed-300));
5568
5636
  }
5569
5637
  .saltSliderTrack-hasMaxTick.saltSliderTrack-rail::after {
5570
5638
  border-bottom-right-radius: unset;
5571
5639
  }
5572
5640
  .saltSliderTrack-range .saltSliderTrack-rail::before {
5573
5641
  background: var(--slider-track-background);
5574
- width: calc(var(--slider-progressPercentageStart) - var(--salt-size-fixed-300));
5642
+ width: calc(var(--slider-progressPercentageStart) - var(--salt-spacing-fixed-300));
5575
5643
  }
5576
5644
  .saltSliderTrack-range .saltSliderTrack-rail::after {
5577
5645
  background: var(--slider-track-background);
5578
- width: calc(100% - var(--slider-progressPercentageEnd) - var(--salt-size-fixed-300));
5646
+ width: calc(100% - var(--slider-progressPercentageEnd) - var(--salt-spacing-fixed-300));
5579
5647
  }
5580
5648
  .saltSliderTrack-range .saltSliderTrack-rail .saltSliderTrack-fill {
5581
5649
  background: var(--slider-track-fill);
5582
5650
  height: 100%;
5583
- left: calc(var(--slider-progressPercentageStart) + var(--salt-size-fixed-300));
5651
+ left: calc(var(--slider-progressPercentageStart) + var(--salt-spacing-fixed-300));
5584
5652
  position: absolute;
5585
5653
  width: calc(var(--slider-progressPercentageEnd) - var(--slider-progressPercentageStart) - var(--salt-size-fixed-600));
5586
5654
  }
@@ -5592,10 +5660,6 @@ label.saltText small,
5592
5660
  .saltSliderTrack-dragging .saltSliderTrack-wrapper {
5593
5661
  cursor: var(--salt-cursor-grab-active);
5594
5662
  }
5595
- .saltSliderTrack-disabled {
5596
- --slider-track-fill: var(--salt-accent-borderColor-disabled);
5597
- --slider-track-background: var(--salt-sentiment-neutral-track-disabled);
5598
- }
5599
5663
  .saltSliderTrack-ticks {
5600
5664
  top: calc(var(--salt-size-bar) + var(--slider-tick-height));
5601
5665
  position: absolute;
@@ -5774,4 +5838,4 @@ label.saltText small,
5774
5838
  color: var(--salt-status-error-foreground-informative);
5775
5839
  }
5776
5840
 
5777
- /* src/244337bf-6a40-49c5-ab4b-8e10a53e69fd.css */
5841
+ /* src/1811ae6e-f5ef-4979-9e24-35bfb4a6a50d.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 forwardRef,\n type SyntheticEvent,\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,SAAA,GAAYC,gBAAA;AAAA,EACvB,SAASC,UAAAA,CAAU,KAAA,EAAO,GAAA,EAAK;AAC7B,IAAA,MAAM;AAAA,MACJ,SAAA;AAAA,MACA,eAAA;AAAA,MACA,QAAA,EAAU,YAAA;AAAA,MACV,QAAA;AAAA,MACA,aAAA,GAAgB,MAAA;AAAA,MAChB,EAAA,EAAI,MAAA;AAAA,MACJ,QAAA;AAAA,MACA,MAAA;AAAA,MACA,KAAA;AAAA,MACA,GAAG;AAAA,KACL,GAAI,KAAA;AAEJ,IAAA,MAAM,EAAA,GAAKC,YAAM,MAAM,CAAA;AACvB,IAAA,MAAM,CAAC,QAAA,EAAU,WAAW,IAAIC,cAAA,CAAS,CAAA,EAAG,EAAE,CAAA,OAAA,CAAS,CAAA;AACvD,IAAA,MAAM,CAAC,OAAA,EAAS,UAAU,IAAIA,cAAA,CAAS,CAAA,EAAG,EAAE,CAAA,MAAA,CAAQ,CAAA;AAEpD,IAAA,MAAM,eAAeC,gBAAA,EAAU;AAC/B,IAAAC,+BAAA,CAAyB;AAAA,MACvB,MAAA,EAAQ,gBAAA;AAAA,MACR,GAAA,EAAKC,WAAA;AAAA,MACL,MAAA,EAAQ;AAAA,KACT,CAAA;AAED,IAAA,MAAM,CAAC,QAAA,EAAU,WAAW,CAAA,GAAIC,2BAAA,CAAc;AAAA,MAC5C,UAAA,EAAY,YAAA;AAAA,MACZ,OAAA,EAAS,QAAQ,eAAe,CAAA;AAAA,MAChC,IAAA,EAAM,WAAA;AAAA,MACN,KAAA,EAAO;AAAA,KACR,CAAA;AAED,IAAA,MAAM,MAAA,GAAS,CAAC,KAAA,KAA6C;AAC3D,MAAA,WAAA,CAAY,CAAC,IAAA,KAAS,CAAC,IAAI,CAAA;AAC3B,MAAA,QAAA,IAAA,IAAA,GAAA,MAAA,GAAA,QAAA,CAAW,KAAA,CAAA;AAAA,IACb,CAAA;AAEA,IAAA,uBACEC,cAAA;AAAA,MAACC,iCAAA,CAAiB,QAAA;AAAA,MAAjB;AAAA,QACC,KAAA,EAAO;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,SAAA,EAAWE,SAAA;AAAA,cACT,YAAA,EAAa;AAAA,cACb;AAAA,gBACE,CAAC,YAAA,CAAa,MAAA,IAAU,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,EAEJ;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 forwardRef,\n type SyntheticEvent,\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 * Optional value used by controlled group patterns.\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,SAAA,GAAYC,gBAAA;AAAA,EACvB,SAASC,UAAAA,CAAU,KAAA,EAAO,GAAA,EAAK;AAC7B,IAAA,MAAM;AAAA,MACJ,SAAA;AAAA,MACA,eAAA;AAAA,MACA,QAAA,EAAU,YAAA;AAAA,MACV,QAAA;AAAA,MACA,aAAA,GAAgB,MAAA;AAAA,MAChB,EAAA,EAAI,MAAA;AAAA,MACJ,QAAA;AAAA,MACA,MAAA;AAAA,MACA,KAAA;AAAA,MACA,GAAG;AAAA,KACL,GAAI,KAAA;AAEJ,IAAA,MAAM,EAAA,GAAKC,YAAM,MAAM,CAAA;AACvB,IAAA,MAAM,CAAC,QAAA,EAAU,WAAW,IAAIC,cAAA,CAAS,CAAA,EAAG,EAAE,CAAA,OAAA,CAAS,CAAA;AACvD,IAAA,MAAM,CAAC,OAAA,EAAS,UAAU,IAAIA,cAAA,CAAS,CAAA,EAAG,EAAE,CAAA,MAAA,CAAQ,CAAA;AAEpD,IAAA,MAAM,eAAeC,gBAAA,EAAU;AAC/B,IAAAC,+BAAA,CAAyB;AAAA,MACvB,MAAA,EAAQ,gBAAA;AAAA,MACR,GAAA,EAAKC,WAAA;AAAA,MACL,MAAA,EAAQ;AAAA,KACT,CAAA;AAED,IAAA,MAAM,CAAC,QAAA,EAAU,WAAW,CAAA,GAAIC,2BAAA,CAAc;AAAA,MAC5C,UAAA,EAAY,YAAA;AAAA,MACZ,OAAA,EAAS,QAAQ,eAAe,CAAA;AAAA,MAChC,IAAA,EAAM,WAAA;AAAA,MACN,KAAA,EAAO;AAAA,KACR,CAAA;AAED,IAAA,MAAM,MAAA,GAAS,CAAC,KAAA,KAA6C;AAC3D,MAAA,WAAA,CAAY,CAAC,IAAA,KAAS,CAAC,IAAI,CAAA;AAC3B,MAAA,QAAA,IAAA,IAAA,GAAA,MAAA,GAAA,QAAA,CAAW,KAAA,CAAA;AAAA,IACb,CAAA;AAEA,IAAA,uBACEC,cAAA;AAAA,MAACC,iCAAA,CAAiB,QAAA;AAAA,MAAjB;AAAA,QACC,KAAA,EAAO;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,SAAA,EAAWE,SAAA;AAAA,cACT,YAAA,EAAa;AAAA,cACb;AAAA,gBACE,CAAC,YAAA,CAAa,MAAA,IAAU,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,EAEJ;AACF;;;;"}
@@ -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,gBAAA,GAAmBA,2BAAA;AAAA,EAC9B,kBAAA;AAAA,EACA;AAAA,IACE,KAAA,EAAO,EAAA;AAAA,IACP,QAAA,EAAU,KAAA;AAAA,IACV,QAAQ,MAAM,MAAA;AAAA,IACd,QAAA,EAAU,KAAA;AAAA,IACV,aAAA,EAAe,MAAA;AAAA,IACf,QAAA,EAAU,EAAA;AAAA,IACV,aAAa,MAAM,MAAA;AAAA,IACnB,OAAA,EAAS,EAAA;AAAA,IACT,YAAY,MAAM;AAAA;AAEtB;AAEO,SAAS,YAAA,GAAe;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,gBAAA,GAAmBA,2BAAA;AAAA,EAC9B,kBAAA;AAAA,EACA;AAAA,IACE,KAAA,EAAO,EAAA;AAAA,IACP,QAAA,EAAU,KAAA;AAAA,IACV,QAAQ,MAAM,MAAA;AAAA,IACd,QAAA,EAAU,KAAA;AAAA,IACV,aAAA,EAAe,MAAA;AAAA,IACf,QAAA,EAAU,EAAA;AAAA,IACV,aAAa,MAAM,MAAA;AAAA,IACnB,OAAA,EAAS,EAAA;AAAA,IACT,YAAY,MAAM;AAAA;AAEtB;AAEO,SAAS,YAAA,GAAe;AAC7B,EAAA,OAAOC,iBAAW,gBAAgB,CAAA;AACpC;;;;;"}
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var css_248z = "/* Default variables applied to the root element */\n.saltAvatar {\n --avatar-size-multiplier: var(--saltAvatar-size-multiplier, 1);\n --avatar-base-size: var(--salt-size-base);\n --avatar-base-fontSize: var(--saltAvatar-fontSize, var(--salt-text-notation-fontSize));\n --avatar-container-size: calc(var(--avatar-base-size) * var(--avatar-size-multiplier));\n --avatar-fontSize: calc(var(--avatar-base-fontSize) * var(--avatar-size-multiplier));\n /* Icon styling */\n --saltIcon-size: calc(var(--avatar-container-size) / 2);\n}\n\n/* Style applied to the root element */\n.saltAvatar {\n color: var(--saltAvatar-foreground, var(--salt-content-bold-foreground));\n background: var(--saltAvatar-background, var(--avatar-background));\n font-size: var(--avatar-fontSize);\n line-height: var(--saltAvatar-lineHeight, var(--salt-text-notation-lineHeight));\n font-family: var(--salt-text-fontFamily);\n font-weight: var(--salt-text-fontWeight);\n width: var(--avatar-container-size);\n min-width: var(--avatar-container-size);\n height: var(--avatar-container-size);\n min-height: var(--avatar-container-size);\n border-radius: var(--saltAvatar-borderRadius, var(--salt-palette-corner-strongest, 50%));\n\n display: flex;\n justify-content: center;\n align-items: center;\n overflow: hidden;\n user-select: none;\n}\n\n.saltAvatar-accent {\n --avatar-background: var(--salt-accent-background);\n}\n\n.saltAvatar-category-1 {\n --avatar-background: var(--salt-category-1-bold-background);\n}\n.saltAvatar-category-2 {\n --avatar-background: var(--salt-category-2-bold-background);\n}\n\n.saltAvatar-category-3 {\n --avatar-background: var(--salt-category-3-bold-background);\n}\n\n.saltAvatar-category-4 {\n --avatar-background: var(--salt-category-4-bold-background);\n}\n\n.saltAvatar-category-5 {\n --avatar-background: var(--salt-category-5-bold-background);\n}\n\n.saltAvatar-category-6 {\n --avatar-background: var(--salt-category-6-bold-background);\n}\n\n.saltAvatar-category-7 {\n --avatar-background: var(--salt-category-7-bold-background);\n}\n\n.saltAvatar-category-8 {\n --avatar-background: var(--salt-category-8-bold-background);\n}\n\n.saltAvatar-category-9 {\n --avatar-background: var(--salt-category-9-bold-background);\n}\n\n.saltAvatar-category-10 {\n --avatar-background: var(--salt-category-10-bold-background);\n}\n.saltAvatar-category-11 {\n --avatar-background: var(--salt-category-11-bold-background);\n}\n.saltAvatar-category-12 {\n --avatar-background: var(--salt-category-12-bold-background);\n}\n.saltAvatar-category-13 {\n --avatar-background: var(--salt-category-13-bold-background);\n}\n.saltAvatar-category-14 {\n --avatar-background: var(--salt-category-14-bold-background);\n}\n.saltAvatar-category-15 {\n --avatar-background: var(--salt-category-15-bold-background);\n}\n.saltAvatar-category-16 {\n --avatar-background: var(--salt-category-16-bold-background);\n}\n.saltAvatar-category-17 {\n --avatar-background: var(--salt-category-17-bold-background);\n}\n.saltAvatar-category-18 {\n --avatar-background: var(--salt-category-18-bold-background);\n}\n.saltAvatar-category-19 {\n --avatar-background: var(--salt-category-19-bold-background);\n}\n.saltAvatar-category-20 {\n --avatar-background: var(--salt-category-20-bold-background);\n}\n\n.saltAvatar:has(img),\n.saltAvatar-withImage {\n --avatar-background: none;\n}\n\n/* Style applied to the image/svg element. We specifically allow SVGs as the Avatar image to enable SVGs such as Flags to take up the full Avatar space */\n.saltAvatar > img,\n.saltAvatar > svg:not(.saltIcon) {\n width: 100%;\n height: 100%;\n}\n";
3
+ var css_248z = "/* Default variables applied to the root element */\n.saltAvatar {\n --avatar-size-multiplier: var(--saltAvatar-size-multiplier, 1);\n --avatar-base-size: var(--salt-size-base);\n --avatar-base-fontSize: var(--saltAvatar-fontSize, var(--salt-text-notation-fontSize));\n --avatar-container-size: calc(var(--avatar-base-size) * var(--avatar-size-multiplier));\n --avatar-fontSize: calc(var(--avatar-base-fontSize) * var(--avatar-size-multiplier));\n /* Icon styling */\n --saltIcon-size: calc(var(--avatar-container-size) / 2);\n}\n\n/* Style applied to the root element */\n.saltAvatar {\n color: var(--saltAvatar-foreground, var(--salt-content-bold-foreground));\n background: var(--saltAvatar-background, var(--avatar-background));\n font-size: var(--avatar-fontSize);\n line-height: var(--saltAvatar-lineHeight, var(--salt-text-notation-lineHeight));\n font-family: var(--salt-text-fontFamily);\n font-weight: var(--salt-text-fontWeight);\n width: var(--avatar-container-size);\n min-width: var(--avatar-container-size);\n height: var(--avatar-container-size);\n min-height: var(--avatar-container-size);\n border-radius: var(--saltAvatar-borderRadius, var(--salt-palette-corner-strongest, 50%));\n\n display: flex;\n justify-content: center;\n align-items: center;\n overflow: hidden;\n user-select: none;\n}\n\n.saltAvatar-accent {\n --avatar-background: var(--salt-sentiment-accent-background);\n}\n\n.saltAvatar-category-1 {\n --avatar-background: var(--salt-category-1-bold-background);\n}\n.saltAvatar-category-2 {\n --avatar-background: var(--salt-category-2-bold-background);\n}\n\n.saltAvatar-category-3 {\n --avatar-background: var(--salt-category-3-bold-background);\n}\n\n.saltAvatar-category-4 {\n --avatar-background: var(--salt-category-4-bold-background);\n}\n\n.saltAvatar-category-5 {\n --avatar-background: var(--salt-category-5-bold-background);\n}\n\n.saltAvatar-category-6 {\n --avatar-background: var(--salt-category-6-bold-background);\n}\n\n.saltAvatar-category-7 {\n --avatar-background: var(--salt-category-7-bold-background);\n}\n\n.saltAvatar-category-8 {\n --avatar-background: var(--salt-category-8-bold-background);\n}\n\n.saltAvatar-category-9 {\n --avatar-background: var(--salt-category-9-bold-background);\n}\n\n.saltAvatar-category-10 {\n --avatar-background: var(--salt-category-10-bold-background);\n}\n.saltAvatar-category-11 {\n --avatar-background: var(--salt-category-11-bold-background);\n}\n.saltAvatar-category-12 {\n --avatar-background: var(--salt-category-12-bold-background);\n}\n.saltAvatar-category-13 {\n --avatar-background: var(--salt-category-13-bold-background);\n}\n.saltAvatar-category-14 {\n --avatar-background: var(--salt-category-14-bold-background);\n}\n.saltAvatar-category-15 {\n --avatar-background: var(--salt-category-15-bold-background);\n}\n.saltAvatar-category-16 {\n --avatar-background: var(--salt-category-16-bold-background);\n}\n.saltAvatar-category-17 {\n --avatar-background: var(--salt-category-17-bold-background);\n}\n.saltAvatar-category-18 {\n --avatar-background: var(--salt-category-18-bold-background);\n}\n.saltAvatar-category-19 {\n --avatar-background: var(--salt-category-19-bold-background);\n}\n.saltAvatar-category-20 {\n --avatar-background: var(--salt-category-20-bold-background);\n}\n\n.saltAvatar:has(img),\n.saltAvatar-withImage {\n --avatar-background: none;\n}\n\n/* Style applied to the image/svg element. We specifically allow SVGs as the Avatar image to enable SVGs such as Flags to take up the full Avatar space */\n.saltAvatar > img,\n.saltAvatar > svg:not(.saltIcon) {\n width: 100%;\n height: 100%;\n}\n";
4
4
 
5
5
  module.exports = css_248z;
6
6
  //# sourceMappingURL=Avatar.css.js.map
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var css_248z = "/* Style applied to the root element */\n.saltBadge {\n display: inline-flex;\n position: relative;\n flex-shrink: 0;\n vertical-align: middle;\n --badge-size: var(--salt-text-notation-lineHeight);\n}\n\n.saltBadge-badge {\n /* Should this vary according to touch size */\n padding-left: var(--salt-spacing-50);\n padding-right: var(--salt-spacing-50);\n height: var(--badge-size);\n min-width: var(--badge-size);\n border-radius: var(--salt-palette-corner-strongest, 9999px);\n\n white-space: nowrap;\n z-index: var(--salt-zIndex-default);\n box-sizing: border-box;\n\n align-items: center;\n justify-content: center;\n display: inline-flex;\n margin: auto;\n\n font-size: var(--salt-text-notation-fontSize);\n font-weight: var(--salt-text-notation-fontWeight);\n font-family: var(--salt-text-fontFamily);\n line-height: var(--salt-text-notation-lineHeight);\n background: var(--salt-accent-background);\n color: var(--salt-content-bold-foreground);\n\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n\n.saltBadge-topRight {\n position: absolute;\n right: var(--salt-spacing-100);\n transform: translateX(100%) translateY(calc(-1 * (var(--badge-size) / 2)));\n}\n\n.saltBadge-dotBadge {\n height: var(--salt-size-adornment);\n min-width: var(--salt-size-adornment);\n padding: 0;\n --badge-size: var(--salt-size-adornment);\n}\n\n.saltBadge-dotBadge.saltBadge-topRight {\n right: calc((var(--salt-size-adornment) / 2));\n}\n";
3
+ var css_248z = "/* Style applied to the root element */\n.saltBadge {\n display: inline-flex;\n position: relative;\n flex-shrink: 0;\n vertical-align: middle;\n --badge-size: var(--salt-text-notation-lineHeight);\n}\n\n.saltBadge-badge {\n /* Should this vary according to touch size */\n padding-left: var(--salt-spacing-50);\n padding-right: var(--salt-spacing-50);\n height: var(--badge-size);\n min-width: var(--badge-size);\n border-radius: var(--salt-palette-corner-strongest, 9999px);\n\n white-space: nowrap;\n z-index: var(--salt-zIndex-default);\n box-sizing: border-box;\n\n align-items: center;\n justify-content: center;\n display: inline-flex;\n margin: auto;\n\n font-size: var(--salt-text-notation-fontSize);\n font-weight: var(--salt-text-notation-fontWeight);\n font-family: var(--salt-text-fontFamily);\n line-height: var(--salt-text-notation-lineHeight);\n background: var(--salt-sentiment-accent-background);\n color: var(--salt-content-bold-foreground);\n\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n\n.saltBadge-topRight {\n position: absolute;\n right: var(--salt-spacing-100);\n transform: translateX(100%) translateY(calc(-1 * (var(--badge-size) / 2)));\n}\n\n.saltBadge-dotBadge {\n height: var(--salt-size-adornment);\n min-width: var(--salt-size-adornment);\n padding: 0;\n --badge-size: var(--salt-size-adornment);\n}\n\n.saltBadge-dotBadge.saltBadge-topRight {\n right: calc((var(--salt-size-adornment) / 2));\n}\n";
4
4
 
5
5
  module.exports = css_248z;
6
6
  //# sourceMappingURL=Badge.css.js.map
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var css_248z = "/* Styles applied to the root element */\n.saltCard {\n border-width: var(--saltCard-borderWidth, var(--salt-size-fixed-100));\n border-style: var(--salt-borderStyle-solid);\n padding: var(--saltCard-padding, var(--salt-spacing-200));\n position: relative;\n box-shadow: var(--salt-overlayable-shadow);\n transition: box-shadow var(--salt-duration-instant) ease-in-out;\n box-sizing: border-box;\n border-radius: var(--saltCard-borderRadius, var(--salt-palette-corner, 0));\n overflow: hidden;\n --card-accent-color: var(--salt-accent-background);\n}\n\n.saltCard-primary {\n background: var(--saltCard-background, var(--salt-container-primary-background));\n border-color: var(--salt-container-primary-borderColor);\n}\n\n.saltCard-secondary {\n background: var(--saltCard-background, var(--salt-container-secondary-background));\n border-color: var(--salt-container-secondary-borderColor);\n}\n\n.saltCard-tertiary {\n background: var(--saltCard-background, var(--salt-container-tertiary-background));\n border-color: var(--salt-container-tertiary-borderColor);\n}\n\n.saltCard-ghost {\n background: var(--saltCard-background, var(--salt-container-ghost-background));\n border-color: var(--salt-container-ghost-borderColor);\n}\n\n/* Styles applied to create accent */\n.saltCard-accent::after {\n content: \"\";\n position: absolute;\n background-color: var(--saltCard-accent-color, var(--card-accent-color));\n}\n\n/* Styles applied to Card if `accent=\"bottom\"` (default) */\n.saltCard-accentBottom::after {\n left: calc(-1 * var(--salt-size-fixed-100));\n bottom: calc(-1 * var(--salt-size-fixed-100));\n height: var(--salt-size-bar);\n width: calc(100% + var(--salt-size-fixed-200));\n}\n\n/* Styles applied to Card if `accent=\"left\"` */\n.saltCard-accentLeft::after {\n left: calc(-1 * var(--salt-size-fixed-100));\n top: calc(-1 * var(--salt-size-fixed-100));\n height: calc(100% + var(--salt-size-fixed-200));\n width: var(--salt-size-bar);\n}\n\n/* Styles applied to Card if `accent=\"top\"` */\n.saltCard-accentTop::after {\n left: calc(-1 * var(--salt-size-fixed-100));\n top: calc(-1 * var(--salt-size-fixed-100));\n height: var(--salt-size-bar);\n width: calc(100% + var(--salt-size-fixed-200));\n}\n\n/* Styles applied to Card if `accent=\"right\"` */\n.saltCard-accentRight::after {\n right: calc(-1 * var(--salt-size-fixed-100));\n top: calc(-1 * var(--salt-size-fixed-100));\n height: calc(100% + var(--salt-size-fixed-200));\n width: var(--salt-size-bar);\n}\n\n/*\n * **Deprecated:** The following styles are deprecated\n * Use Interactable Card component instead\n * for interactable styling\n */\n\n/* **Deprecated:** Styles applied if `interactable={true}` */\n.saltCard-interactable {\n display: block;\n transition: none;\n}\n\n/* **Deprecated:** Styles applied on hover if `interactable={true}` */\na:focus .saltCard-interactable,\n.saltCard-interactable:hover {\n box-shadow: var(--saltCard-boxShadow-hover, var(--salt-overlayable-shadow-hover));\n cursor: var(--saltCard-cursor-hover, var(--salt-cursor-hover));\n border-color: var(--salt-actionable-accented-borderColor-hover);\n position: relative;\n}\n\n/* Styles applied if `hoverable` is set */\n@media (hover: hover) {\n .saltCard-hoverable:hover {\n box-shadow: var(--saltCard-boxShadow-hover, var(--salt-overlayable-shadow-hover));\n border-color: var(--salt-actionable-accented-borderColor-hover);\n }\n}\n\n/* **Deprecated:** Styles applied on active state if `interactable={true}` */\n.saltCard-interactable:active {\n border-color: var(--salt-actionable-accented-borderColor-active);\n box-shadow: var(--saltCard-boxShadow-active, var(--salt-overlayable-shadow-hover));\n outline: var(--salt-focused-outline);\n outline-offset: var(--salt-focused-outlineOffset);\n}\n\n/* **Deprecated:** Styles applied on hover if `interactable={true}` and `disabled={true}` */\na:focus .saltCard-interactable.saltCard-disabled,\n.saltCard-interactable.saltCard-disabled:hover,\n.saltCard-interactable.saltCard-disabled:active {\n box-shadow: var(--saltCard-boxShadow-disabled, var(--salt-overlayable-shadow));\n}\n\n/* **Deprecated:** Styles applied if `disabled={true}` */\n.saltCard-disabled,\n.saltCard-disabled.saltCard-interactable,\na:focus .saltCard-interactable.saltCard-disabled {\n border-color: var(--salt-container-primary-borderColor-disabled);\n color: var(--saltCard-color-disabled, var(--salt-content-primary-foreground-disabled));\n cursor: var(--saltCard-cursor-disabled, var(--salt-cursor-disabled));\n outline: none;\n}\n\n/* **Deprecated:** Styles applied to nested divs if `disabled={true}` */\n.saltCard-disabled div {\n pointer-events: none;\n}\n";
3
+ var css_248z = "/* Styles applied to the root element */\n.saltCard {\n border-width: var(--saltCard-borderWidth, var(--salt-size-fixed-100));\n border-style: var(--salt-borderStyle-solid);\n padding: var(--saltCard-padding, var(--salt-spacing-200));\n position: relative;\n box-shadow: var(--salt-overlayable-shadow);\n transition: box-shadow var(--salt-duration-instant) ease-in-out;\n box-sizing: border-box;\n border-radius: var(--saltCard-borderRadius, var(--salt-palette-corner, 0));\n overflow: hidden;\n --card-accent-color: var(--salt-sentiment-accent-background);\n}\n\n.saltCard-primary {\n background: var(--saltCard-background, var(--salt-container-primary-background));\n border-color: var(--salt-container-primary-borderColor);\n}\n\n.saltCard-secondary {\n background: var(--saltCard-background, var(--salt-container-secondary-background));\n border-color: var(--salt-container-secondary-borderColor);\n}\n\n.saltCard-tertiary {\n background: var(--saltCard-background, var(--salt-container-tertiary-background));\n border-color: var(--salt-container-tertiary-borderColor);\n}\n\n.saltCard-ghost {\n background: var(--saltCard-background, var(--salt-container-ghost-background));\n border-color: var(--salt-container-ghost-borderColor);\n}\n\n/* Styles applied to create accent */\n.saltCard-accent::after {\n content: \"\";\n position: absolute;\n background-color: var(--saltCard-accent-color, var(--card-accent-color));\n}\n\n/* Styles applied to Card if `accent=\"bottom\"` (default) */\n.saltCard-accentBottom::after {\n left: calc(-1 * var(--salt-size-fixed-100));\n bottom: calc(-1 * var(--salt-size-fixed-100));\n height: var(--salt-size-bar);\n width: calc(100% + var(--salt-size-fixed-200));\n}\n\n/* Styles applied to Card if `accent=\"left\"` */\n.saltCard-accentLeft::after {\n left: calc(-1 * var(--salt-size-fixed-100));\n top: calc(-1 * var(--salt-size-fixed-100));\n height: calc(100% + var(--salt-size-fixed-200));\n width: var(--salt-size-bar);\n}\n\n/* Styles applied to Card if `accent=\"top\"` */\n.saltCard-accentTop::after {\n left: calc(-1 * var(--salt-size-fixed-100));\n top: calc(-1 * var(--salt-size-fixed-100));\n height: var(--salt-size-bar);\n width: calc(100% + var(--salt-size-fixed-200));\n}\n\n/* Styles applied to Card if `accent=\"right\"` */\n.saltCard-accentRight::after {\n right: calc(-1 * var(--salt-size-fixed-100));\n top: calc(-1 * var(--salt-size-fixed-100));\n height: calc(100% + var(--salt-size-fixed-200));\n width: var(--salt-size-bar);\n}\n\n/*\n * **Deprecated:** The following styles are deprecated\n * Use Interactable Card component instead\n * for interactable styling\n */\n\n/* **Deprecated:** Styles applied if `interactable={true}` */\n.saltCard-interactable {\n display: block;\n transition: none;\n}\n\n/* **Deprecated:** Styles applied on hover if `interactable={true}` */\na:focus .saltCard-interactable,\n.saltCard-interactable:hover {\n box-shadow: var(--saltCard-boxShadow-hover, var(--salt-overlayable-shadow-hover));\n cursor: var(--saltCard-cursor-hover, var(--salt-cursor-hover));\n border-color: var(--salt-actionable-accented-borderColor-hover);\n position: relative;\n}\n\n/* Styles applied if `hoverable` is set */\n@media (hover: hover) {\n .saltCard-hoverable:hover {\n box-shadow: var(--saltCard-boxShadow-hover, var(--salt-overlayable-shadow-hover));\n border-color: var(--salt-actionable-accented-borderColor-hover);\n }\n}\n\n/* **Deprecated:** Styles applied on active state if `interactable={true}` */\n.saltCard-interactable:active {\n border-color: var(--salt-actionable-accented-borderColor-active);\n box-shadow: var(--saltCard-boxShadow-active, var(--salt-overlayable-shadow-hover));\n outline: var(--salt-focused-outline);\n outline-offset: var(--salt-focused-outlineOffset);\n}\n\n/* **Deprecated:** Styles applied on hover if `interactable={true}` and `disabled={true}` */\na:focus .saltCard-interactable.saltCard-disabled,\n.saltCard-interactable.saltCard-disabled:hover,\n.saltCard-interactable.saltCard-disabled:active {\n box-shadow: var(--saltCard-boxShadow-disabled, var(--salt-overlayable-shadow));\n}\n\n/* **Deprecated:** Styles applied if `disabled={true}` */\n.saltCard-disabled,\n.saltCard-disabled.saltCard-interactable,\na:focus .saltCard-interactable.saltCard-disabled {\n border-color: var(--salt-container-primary-borderColor-disabled);\n color: var(--saltCard-color-disabled, var(--salt-content-primary-foreground-disabled));\n cursor: var(--saltCard-cursor-disabled, var(--salt-cursor-disabled));\n outline: none;\n}\n\n/* **Deprecated:** Styles applied to nested divs if `disabled={true}` */\n.saltCard-disabled div {\n pointer-events: none;\n}\n";
4
4
 
5
5
  module.exports = css_248z;
6
6
  //# sourceMappingURL=Card.css.js.map
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var css_248z = "/* Styles applied to root component */\n.saltCheckbox {\n display: inline-flex;\n width: fit-content;\n gap: var(--salt-spacing-100);\n position: relative;\n cursor: var(--salt-cursor-hover);\n\n font-size: var(--salt-text-fontSize);\n line-height: var(--salt-text-lineHeight);\n font-family: var(--salt-text-fontFamily);\n font-weight: var(--salt-text-fontWeight);\n}\n\n/* Styles applied to root component if `disabled={true}` */\n.saltCheckbox-disabled {\n color: var(--salt-content-primary-foreground-disabled);\n cursor: var(--salt-cursor-disabled);\n}\n\n/* Styles applied to root component if `readOnly={true}` */\n.saltCheckbox-readOnly {\n color: var(--salt-content-primary-foreground);\n cursor: var(--salt-cursor-readonly);\n}\n\n.saltCheckbox-input,\n.saltCheckboxIcon {\n margin: calc((var(--salt-text-lineHeight) - var(--salt-size-selectable)) / 2) 0;\n box-sizing: border-box;\n}\n\n/* Styles applied to the icon component if focused */\n.saltCheckbox-input:focus-visible + .saltCheckboxIcon {\n outline-offset: var(--salt-spacing-fixed-100);\n outline: var(--saltCheckbox-outline, var(--salt-focused-outline));\n border-color: var(--salt-selectable-borderColor-hover);\n color: var(--salt-selectable-foreground-hover);\n clip-path: unset;\n}\n\n.saltCheckbox-input:focus-visible + .saltCheckboxIcon-checked {\n border-color: var(--salt-selectable-borderColor-selected);\n color: var(--salt-selectable-foreground-selected);\n}\n\n.saltCheckbox-error .saltCheckbox-input:focus-visible + .saltCheckboxIcon {\n outline-color: var(--salt-status-error-foreground-decorative);\n border-color: var(--salt-status-error-borderColor);\n color: var(--salt-status-error-foreground-decorative);\n}\n\n.saltCheckbox-warning .saltCheckbox-input:focus-visible + .saltCheckboxIcon {\n outline-color: var(--salt-status-warning-foreground-decorative);\n border-color: var(--salt-status-warning-borderColor);\n color: var(--salt-status-warning-foreground-decorative);\n}\n\n/* Styles applied to input element */\n.saltCheckbox-input {\n cursor: inherit;\n opacity: 0;\n padding: 0;\n position: absolute;\n z-index: var(--salt-zIndex-default);\n}\n";
3
+ var css_248z = "/* Styles applied to root component */\n.saltCheckbox {\n display: inline-flex;\n width: fit-content;\n gap: var(--salt-spacing-100);\n position: relative;\n cursor: var(--salt-cursor-hover);\n\n font-size: var(--salt-text-fontSize);\n line-height: var(--salt-text-lineHeight);\n font-family: var(--salt-text-fontFamily);\n font-weight: var(--salt-text-fontWeight);\n}\n\n/* Styles applied to root component if `disabled={true}` */\n.saltCheckbox-disabled {\n color: var(--salt-content-primary-foreground);\n\n cursor: var(--salt-cursor-disabled);\n opacity: 0.4;\n}\n\n/* Styles applied to root component if `readOnly={true}` */\n.saltCheckbox-readOnly {\n color: var(--salt-content-primary-foreground);\n cursor: var(--salt-cursor-readonly);\n}\n\n.saltCheckbox-input,\n.saltCheckboxIcon {\n margin: calc((var(--salt-text-lineHeight) - var(--salt-size-selectable)) / 2) 0;\n box-sizing: border-box;\n}\n\n/* Styles applied to the icon component if focused */\n.saltCheckbox-input:focus-visible + .saltCheckboxIcon {\n outline-offset: var(--salt-spacing-fixed-100);\n outline: var(--saltCheckbox-outline, var(--salt-focused-outline));\n border-color: var(--salt-selectable-borderColor-hover);\n color: var(--salt-selectable-foreground-hover);\n clip-path: unset;\n}\n\n.saltCheckbox-input:focus-visible + .saltCheckboxIcon-checked {\n border-color: var(--salt-selectable-borderColor-selected);\n color: var(--salt-selectable-foreground-selected);\n}\n\n.saltCheckbox-error .saltCheckbox-input:focus-visible + .saltCheckboxIcon {\n outline-color: var(--salt-status-error-foreground-decorative);\n border-color: var(--salt-status-error-borderColor);\n color: var(--salt-status-error-foreground-decorative);\n}\n\n.saltCheckbox-warning .saltCheckbox-input:focus-visible + .saltCheckboxIcon {\n outline-color: var(--salt-status-warning-foreground-decorative);\n border-color: var(--salt-status-warning-borderColor);\n color: var(--salt-status-warning-foreground-decorative);\n}\n\n/* Styles applied to input element */\n.saltCheckbox-input {\n cursor: inherit;\n opacity: 0;\n padding: 0;\n position: absolute;\n z-index: var(--salt-zIndex-default);\n}\n";
4
4
 
5
5
  module.exports = css_248z;
6
6
  //# sourceMappingURL=Checkbox.css.js.map
@@ -136,7 +136,6 @@ const Checkbox = React.forwardRef(
136
136
  CheckboxIcon.CheckboxIcon,
137
137
  {
138
138
  checked,
139
- disabled,
140
139
  readOnly,
141
140
  indeterminate,
142
141
  validationStatus,
@@ -1 +1 @@
1
- {"version":3,"file":"Checkbox.js","sources":["../src/checkbox/Checkbox.tsx"],"sourcesContent":["import { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { clsx } from \"clsx\";\nimport {\n type ChangeEventHandler,\n type FocusEventHandler,\n forwardRef,\n type InputHTMLAttributes,\n type ReactNode,\n type Ref,\n useRef,\n} from \"react\";\nimport { useFormFieldProps } from \"../form-field-context\";\nimport type { AdornmentValidationStatus } from \"../status-adornment\";\nimport type { DataAttributes } from \"../types\";\nimport {\n makePrefixer,\n useControlled,\n useForkRef,\n useIsomorphicLayoutEffect,\n} from \"../utils\";\nimport checkboxCss from \"./Checkbox.css\";\nimport { CheckboxIcon } from \"./CheckboxIcon\";\nimport { useCheckboxGroup } from \"./internal/useCheckboxGroup\";\n\nconst withBaseName = makePrefixer(\"saltCheckbox\");\nexport interface CheckboxProps\n extends Omit<\n InputHTMLAttributes<HTMLLabelElement>,\n \"onChange\" | \"onBlur\" | \"onFocus\"\n > {\n /**\n * If `true`, the checkbox will be checked.\n */\n checked?: boolean;\n /**\n * Whether the checkbox component is checked by default\n * This will be disregarded if checked is already set.\n */\n defaultChecked?: boolean;\n /**\n * If `true`, the checkbox will be disabled.\n */\n disabled?: boolean;\n /**\n * **Deprecated**: Use validationStatus instead\n * If `true`, the checkbox will be in the error state.\n */\n error?: boolean;\n /**\n * If true, the checkbox appears indeterminate. A data-indeterminate attribute is set on the input.\n */\n indeterminate?: boolean;\n /**\n * Properties applied to the input element.\n */\n inputProps?: Partial<InputHTMLAttributes<HTMLInputElement>> & DataAttributes;\n /**\n * Used to access the hidden `<input>` element.\n */\n inputRef?: Ref<HTMLInputElement>;\n /**\n * The label to be shown next to the checkbox.\n */\n label?: ReactNode;\n /**\n * The name applied to the input.\n */\n name?: string;\n /**\n * Callback when checkbox loses focus.\n */\n onBlur?: FocusEventHandler<HTMLInputElement>;\n /**\n * Callback when checked state is changed.\n */\n onChange?: ChangeEventHandler<HTMLInputElement>;\n /**\n * Callback when checkbox gains focus.\n */\n onFocus?: FocusEventHandler<HTMLInputElement>;\n /**\n * The value of the checkbox.\n */\n value?: string;\n /**\n * Validation status, one of \"warning\" | \"error\" | \"success\"\n *\n * Checkbox has styling variants for \"error\" and \"warning\".\n * No visual styling will be applied on \"success\" variant.\n */\n validationStatus?: AdornmentValidationStatus;\n}\n\nexport const Checkbox = forwardRef<HTMLLabelElement, CheckboxProps>(\n function Checkbox(\n {\n checked: checkedProp,\n className,\n defaultChecked,\n disabled: disabledProp,\n error,\n indeterminate,\n inputProps = {},\n inputRef: inputRefProp,\n label,\n name,\n onBlur,\n onChange,\n onFocus,\n value,\n validationStatus: validationStatusProp,\n readOnly: readOnlyProp,\n ...rest\n },\n ref,\n ) {\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-checkbox\",\n css: checkboxCss,\n window: targetWindow,\n });\n const checkboxGroup = useCheckboxGroup();\n\n const {\n \"aria-describedby\": inputDescribedBy,\n \"aria-labelledby\": inputLabelledBy,\n className: inputClassName,\n onChange: inputOnChange,\n ...restInputProps\n } = inputProps;\n\n const checkboxGroupChecked =\n checkedProp ??\n (checkboxGroup?.checkedValues && value\n ? checkboxGroup.checkedValues.includes(value)\n : checkedProp);\n\n const [checked, setChecked] = useControlled({\n controlled: checkboxGroupChecked,\n default: Boolean(defaultChecked),\n name: \"Checkbox\",\n state: \"checked\",\n });\n\n const {\n a11yProps: formFieldA11yProps,\n disabled: formFieldDisabled,\n readOnly: formFieldReadOnly,\n validationStatus: formFieldValidationStatus,\n } = useFormFieldProps();\n\n const disabled =\n checkboxGroup?.disabled || formFieldDisabled || disabledProp;\n const readOnly =\n checkboxGroup?.readOnly || formFieldReadOnly || readOnlyProp;\n const validationStatus = !disabled\n ? (checkboxGroup?.validationStatus ??\n formFieldValidationStatus ??\n validationStatusProp)\n : undefined;\n\n const inputRef = useRef<HTMLInputElement>(null);\n const handleInputRef = useForkRef(inputRefProp, inputRef);\n\n const handleChange: ChangeEventHandler<HTMLInputElement> = (event) => {\n // Workaround for https://github.com/facebook/react/issues/9023\n if (event.nativeEvent.defaultPrevented || readOnly) {\n return;\n }\n\n const value = event.target.checked;\n setChecked(value);\n onChange?.(event);\n inputOnChange?.(event);\n checkboxGroup?.onChange?.(event);\n };\n\n useIsomorphicLayoutEffect(() => {\n if (inputRef.current != null) {\n inputRef.current.indeterminate = indeterminate ?? false;\n }\n }, [indeterminate]);\n\n return (\n <label\n className={clsx(\n withBaseName(),\n {\n [withBaseName(\"disabled\")]: disabled,\n [withBaseName(\"readOnly\")]: readOnly,\n [withBaseName(\"error\")]: error /* **Deprecated** */,\n [withBaseName(validationStatus ?? \"\")]: validationStatus,\n },\n className,\n )}\n ref={ref}\n {...rest}\n >\n <input\n aria-readonly={readOnly || undefined}\n aria-describedby={\n clsx(\n checkboxGroup === undefined\n ? formFieldA11yProps?.[\"aria-describedby\"]\n : undefined,\n inputDescribedBy,\n ) || undefined\n }\n aria-labelledby={\n clsx(\n checkboxGroup === undefined\n ? formFieldA11yProps?.[\"aria-labelledby\"]\n : undefined,\n inputLabelledBy,\n ) || undefined\n }\n name={name}\n value={value}\n checked={checked}\n className={clsx(withBaseName(\"input\"), inputClassName)}\n data-indeterminate={indeterminate}\n defaultChecked={defaultChecked}\n disabled={disabled}\n readOnly={readOnly}\n onBlur={onBlur}\n onChange={handleChange}\n onFocus={onFocus}\n type=\"checkbox\"\n ref={handleInputRef}\n {...restInputProps}\n />\n <CheckboxIcon\n checked={checked}\n disabled={disabled}\n readOnly={readOnly}\n indeterminate={indeterminate}\n validationStatus={validationStatus}\n error={error}\n />\n {label}\n </label>\n );\n },\n);\n"],"names":["makePrefixer","forwardRef","Checkbox","useWindow","useComponentCssInjection","checkboxCss","useCheckboxGroup","useControlled","useFormFieldProps","useRef","useForkRef","value","useIsomorphicLayoutEffect","jsxs","clsx","jsx","CheckboxIcon"],"mappings":"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"}
1
+ {"version":3,"file":"Checkbox.js","sources":["../src/checkbox/Checkbox.tsx"],"sourcesContent":["import { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { clsx } from \"clsx\";\nimport {\n type ChangeEventHandler,\n type FocusEventHandler,\n forwardRef,\n type InputHTMLAttributes,\n type ReactNode,\n type Ref,\n useRef,\n} from \"react\";\nimport { useFormFieldProps } from \"../form-field-context\";\nimport type { AdornmentValidationStatus } from \"../status-adornment\";\nimport type { DataAttributes } from \"../types\";\nimport {\n makePrefixer,\n useControlled,\n useForkRef,\n useIsomorphicLayoutEffect,\n} from \"../utils\";\nimport checkboxCss from \"./Checkbox.css\";\nimport { CheckboxIcon } from \"./CheckboxIcon\";\nimport { useCheckboxGroup } from \"./internal/useCheckboxGroup\";\n\nconst withBaseName = makePrefixer(\"saltCheckbox\");\nexport interface CheckboxProps\n extends Omit<\n InputHTMLAttributes<HTMLLabelElement>,\n \"onChange\" | \"onBlur\" | \"onFocus\"\n > {\n /**\n * If `true`, the checkbox will be checked.\n */\n checked?: boolean;\n /**\n * Whether the checkbox component is checked by default\n * This will be disregarded if checked is already set.\n */\n defaultChecked?: boolean;\n /**\n * If `true`, the checkbox will be disabled.\n */\n disabled?: boolean;\n /**\n * **Deprecated**: Use validationStatus instead\n * If `true`, the checkbox will be in the error state.\n */\n error?: boolean;\n /**\n * If true, the checkbox appears indeterminate. A data-indeterminate attribute is set on the input.\n */\n indeterminate?: boolean;\n /**\n * Properties applied to the input element.\n */\n inputProps?: Partial<InputHTMLAttributes<HTMLInputElement>> & DataAttributes;\n /**\n * Used to access the hidden `<input>` element.\n */\n inputRef?: Ref<HTMLInputElement>;\n /**\n * The label to be shown next to the checkbox.\n */\n label?: ReactNode;\n /**\n * The name applied to the input.\n */\n name?: string;\n /**\n * Callback when checkbox loses focus.\n */\n onBlur?: FocusEventHandler<HTMLInputElement>;\n /**\n * Callback when checked state is changed.\n */\n onChange?: ChangeEventHandler<HTMLInputElement>;\n /**\n * Callback when checkbox gains focus.\n */\n onFocus?: FocusEventHandler<HTMLInputElement>;\n /**\n * The value of the checkbox.\n */\n value?: string;\n /**\n * Validation status, one of \"warning\" | \"error\" | \"success\"\n *\n * Checkbox has styling variants for \"error\" and \"warning\".\n * No visual styling will be applied on \"success\" variant.\n */\n validationStatus?: AdornmentValidationStatus;\n}\n\nexport const Checkbox = forwardRef<HTMLLabelElement, CheckboxProps>(\n function Checkbox(\n {\n checked: checkedProp,\n className,\n defaultChecked,\n disabled: disabledProp,\n error,\n indeterminate,\n inputProps = {},\n inputRef: inputRefProp,\n label,\n name,\n onBlur,\n onChange,\n onFocus,\n value,\n validationStatus: validationStatusProp,\n readOnly: readOnlyProp,\n ...rest\n },\n ref,\n ) {\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-checkbox\",\n css: checkboxCss,\n window: targetWindow,\n });\n const checkboxGroup = useCheckboxGroup();\n\n const {\n \"aria-describedby\": inputDescribedBy,\n \"aria-labelledby\": inputLabelledBy,\n className: inputClassName,\n onChange: inputOnChange,\n ...restInputProps\n } = inputProps;\n\n const checkboxGroupChecked =\n checkedProp ??\n (checkboxGroup?.checkedValues && value\n ? checkboxGroup.checkedValues.includes(value)\n : checkedProp);\n\n const [checked, setChecked] = useControlled({\n controlled: checkboxGroupChecked,\n default: Boolean(defaultChecked),\n name: \"Checkbox\",\n state: \"checked\",\n });\n\n const {\n a11yProps: formFieldA11yProps,\n disabled: formFieldDisabled,\n readOnly: formFieldReadOnly,\n validationStatus: formFieldValidationStatus,\n } = useFormFieldProps();\n\n const disabled =\n checkboxGroup?.disabled || formFieldDisabled || disabledProp;\n const readOnly =\n checkboxGroup?.readOnly || formFieldReadOnly || readOnlyProp;\n const validationStatus = !disabled\n ? (checkboxGroup?.validationStatus ??\n formFieldValidationStatus ??\n validationStatusProp)\n : undefined;\n\n const inputRef = useRef<HTMLInputElement>(null);\n const handleInputRef = useForkRef(inputRefProp, inputRef);\n\n const handleChange: ChangeEventHandler<HTMLInputElement> = (event) => {\n // Workaround for https://github.com/facebook/react/issues/9023\n if (event.nativeEvent.defaultPrevented || readOnly) {\n return;\n }\n\n const value = event.target.checked;\n setChecked(value);\n onChange?.(event);\n inputOnChange?.(event);\n checkboxGroup?.onChange?.(event);\n };\n\n useIsomorphicLayoutEffect(() => {\n if (inputRef.current != null) {\n inputRef.current.indeterminate = indeterminate ?? false;\n }\n }, [indeterminate]);\n\n return (\n <label\n className={clsx(\n withBaseName(),\n {\n [withBaseName(\"disabled\")]: disabled,\n [withBaseName(\"readOnly\")]: readOnly,\n [withBaseName(\"error\")]: error /* **Deprecated** */,\n [withBaseName(validationStatus ?? \"\")]: validationStatus,\n },\n className,\n )}\n ref={ref}\n {...rest}\n >\n <input\n aria-readonly={readOnly || undefined}\n aria-describedby={\n clsx(\n checkboxGroup === undefined\n ? formFieldA11yProps?.[\"aria-describedby\"]\n : undefined,\n inputDescribedBy,\n ) || undefined\n }\n aria-labelledby={\n clsx(\n checkboxGroup === undefined\n ? formFieldA11yProps?.[\"aria-labelledby\"]\n : undefined,\n inputLabelledBy,\n ) || undefined\n }\n name={name}\n value={value}\n checked={checked}\n className={clsx(withBaseName(\"input\"), inputClassName)}\n data-indeterminate={indeterminate}\n defaultChecked={defaultChecked}\n disabled={disabled}\n readOnly={readOnly}\n onBlur={onBlur}\n onChange={handleChange}\n onFocus={onFocus}\n type=\"checkbox\"\n ref={handleInputRef}\n {...restInputProps}\n />\n <CheckboxIcon\n checked={checked}\n readOnly={readOnly}\n indeterminate={indeterminate}\n validationStatus={validationStatus}\n error={error}\n />\n {label}\n </label>\n );\n },\n);\n"],"names":["makePrefixer","forwardRef","Checkbox","useWindow","useComponentCssInjection","checkboxCss","useCheckboxGroup","useControlled","useFormFieldProps","useRef","useForkRef","value","useIsomorphicLayoutEffect","jsxs","clsx","jsx","CheckboxIcon"],"mappings":"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"}