@rossigee/clarity-ui 18.2.1-fixed

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 (219) hide show
  1. package/README.md +29 -0
  2. package/STYLES.md +1796 -0
  3. package/accordion/_accordion.clarity.scss +81 -0
  4. package/accordion/_properties.accordion.scss +45 -0
  5. package/accordion/_variables.accordion.scss +91 -0
  6. package/button/_buttons.clarity.scss +374 -0
  7. package/button/_mixins.buttons.scss +232 -0
  8. package/button/_properties.buttons.scss +325 -0
  9. package/button/_properties.toggles.scss +35 -0
  10. package/button/_variables.buttons.scss +843 -0
  11. package/button/_variables.toggles.scss +41 -0
  12. package/button/button-group/_button-group.clarity.scss +193 -0
  13. package/clr-ui.css +31728 -0
  14. package/clr-ui.css.map +1 -0
  15. package/clr-ui.min.css +52 -0
  16. package/clr-ui.min.css.map +1 -0
  17. package/collapsible-panel/_mixins.collapsible-panel.scss +189 -0
  18. package/collapsible-panel/_properties.collapsible-panel.scss +42 -0
  19. package/collapsible-panel/_variables.collapsible-panel.scss +40 -0
  20. package/data/_mixins.tables.scss +111 -0
  21. package/data/_properties.tables.scss +62 -0
  22. package/data/_tables.clarity.scss +120 -0
  23. package/data/_variables.tables.scss +42 -0
  24. package/data/datagrid/_datagrid.clarity.scss +1753 -0
  25. package/data/datagrid/_mixins.datagrid.scss +102 -0
  26. package/data/datagrid/_properties.datagrid.scss +90 -0
  27. package/data/datagrid/_variables.datagrid.scss +96 -0
  28. package/data/stack-view/_properties.stack-view.scss +50 -0
  29. package/data/stack-view/_stack-view.clarity.scss +267 -0
  30. package/data/stack-view/_variables.stack-view.scss +32 -0
  31. package/data/tree-view/_properties.tree-view.scss +41 -0
  32. package/data/tree-view/_tree-view.clarity.scss +281 -0
  33. package/data/tree-view/_variables.tree-view.scss +51 -0
  34. package/emphasis/alert/_alert.clarity.scss +467 -0
  35. package/emphasis/alert/_mixins.alert.scss +96 -0
  36. package/emphasis/alert/_properties.alert.scss +183 -0
  37. package/emphasis/alert/_variables.alert.scss +502 -0
  38. package/emphasis/badge/_badges.clarity.scss +61 -0
  39. package/emphasis/badge/_mixins.bades.scss +34 -0
  40. package/emphasis/badge/_properties.badges.scss +82 -0
  41. package/emphasis/badge/_variables.badges.scss +160 -0
  42. package/emphasis/label/_labels.clarity.scss +175 -0
  43. package/emphasis/label/_mixins.label.scss +76 -0
  44. package/emphasis/label/_properties.label.scss +105 -0
  45. package/emphasis/label/_variables.label.scss +181 -0
  46. package/forms/combobox/_combobox.clarity.scss +322 -0
  47. package/forms/combobox/_properties.combobox.scss +45 -0
  48. package/forms/combobox/_variables.combobox.scss +32 -0
  49. package/forms/datepicker/_datepicker.clarity.scss +259 -0
  50. package/forms/datepicker/_mixins.datepicker.scss +90 -0
  51. package/forms/datepicker/_properties.datepicker.scss +46 -0
  52. package/forms/datepicker/_variables.datepicker.scss +74 -0
  53. package/forms/styles/_checkbox.clarity.scss +193 -0
  54. package/forms/styles/_containers.clarity.scss +228 -0
  55. package/forms/styles/_datalist.clarity.scss +47 -0
  56. package/forms/styles/_file-input.clarity.scss +134 -0
  57. package/forms/styles/_file.clarity.scss +52 -0
  58. package/forms/styles/_form.clarity.scss +87 -0
  59. package/forms/styles/_input-group.clarity.scss +118 -0
  60. package/forms/styles/_input.clarity.scss +78 -0
  61. package/forms/styles/_mixins.forms.scss +173 -0
  62. package/forms/styles/_number-input.clarity.scss +58 -0
  63. package/forms/styles/_password.clarity.scss +26 -0
  64. package/forms/styles/_properties.forms.scss +121 -0
  65. package/forms/styles/_radio.clarity.scss +120 -0
  66. package/forms/styles/_range.clarity.scss +124 -0
  67. package/forms/styles/_select.clarity.scss +178 -0
  68. package/forms/styles/_textarea.clarity.scss +77 -0
  69. package/forms/styles/_toggles.clarity.scss +209 -0
  70. package/forms/styles/_variables.forms.scss +128 -0
  71. package/icon/icon.component.scss +242 -0
  72. package/image/_icons.clarity.scss +101 -0
  73. package/image/_images.clarity.scss +42 -0
  74. package/image/_mixins.images.scss +11 -0
  75. package/layout/_card.clarity.scss +311 -0
  76. package/layout/_login.clarity.scss +240 -0
  77. package/layout/_properties.card.scss +36 -0
  78. package/layout/_properties.login.scss +32 -0
  79. package/layout/_variables.card.scss +23 -0
  80. package/layout/_variables.login.scss +22 -0
  81. package/layout/breadcrumbs/_breadcrumbs.clarity.scss +60 -0
  82. package/layout/breadcrumbs/_properties.breadcrumbs.scss +18 -0
  83. package/layout/breadcrumbs/_variables.breadcrumbs.scss +11 -0
  84. package/layout/grid/_grid.scss +23 -0
  85. package/layout/grid/grid/_grid.scss +39 -0
  86. package/layout/grid/mixins/_breakpoint.scss +83 -0
  87. package/layout/grid/mixins/_clearfix.scss +13 -0
  88. package/layout/grid/mixins/_grid-framework.scss +91 -0
  89. package/layout/grid/mixins/_grid.scss +39 -0
  90. package/layout/grid/utilities/_align.scss +30 -0
  91. package/layout/grid/utilities/_clearfix.scss +12 -0
  92. package/layout/grid/utilities/_display.scss +18 -0
  93. package/layout/grid/utilities/_flex.scss +222 -0
  94. package/layout/grid/utilities/_float.scss +26 -0
  95. package/layout/grid/utilities/_visibility.scss +60 -0
  96. package/layout/main-container/_layout.clarity.scss +87 -0
  97. package/layout/main-container/_properties.header.scss +39 -0
  98. package/layout/main-container/_variables.header.scss +32 -0
  99. package/layout/nav/_header.clarity.scss +40 -0
  100. package/layout/nav/_links.clarity.scss +84 -0
  101. package/layout/nav/_mixins.header.scss +332 -0
  102. package/layout/nav/_mixins.responsive-nav.scss +75 -0
  103. package/layout/nav/_nav.clarity.scss +100 -0
  104. package/layout/nav/_properties.nav.scss +27 -0
  105. package/layout/nav/_properties.responsive-nav.scss +23 -0
  106. package/layout/nav/_properties.subnav.scss +19 -0
  107. package/layout/nav/_responsive-nav.clarity.scss +488 -0
  108. package/layout/nav/_subnav.clarity.scss +48 -0
  109. package/layout/nav/_variables.nav.scss +13 -0
  110. package/layout/nav/_variables.responsive-nav.scss +28 -0
  111. package/layout/nav/_variables.subnav.scss +21 -0
  112. package/layout/tabs/_mixins.tabs.scss +41 -0
  113. package/layout/tabs/_properties.tabs.scss +25 -0
  114. package/layout/tabs/_tabs.clarity.scss +110 -0
  115. package/layout/tabs/_variables.tabs.scss +17 -0
  116. package/layout/vertical-nav/_mixins.vertical-nav.scss +52 -0
  117. package/layout/vertical-nav/_properties.vertical-nav.scss +73 -0
  118. package/layout/vertical-nav/_variables.vertical-nav.scss +52 -0
  119. package/layout/vertical-nav/_vertical-nav.clarity.scss +469 -0
  120. package/main.scss +14 -0
  121. package/modal/_modal.clarity.scss +362 -0
  122. package/modal/_properties.modal.scss +45 -0
  123. package/modal/_variables.modal.scss +38 -0
  124. package/package.json +15 -0
  125. package/popover/common/_popover.clarity.scss +28 -0
  126. package/popover/dropdown/_dropdown.clarity.scss +326 -0
  127. package/popover/dropdown/_menu-mixins.clarity.scss +132 -0
  128. package/popover/dropdown/_properties.dropdown.scss +50 -0
  129. package/popover/dropdown/_variables.dropdown.scss +36 -0
  130. package/popover/signpost/_properties.signpost.scss +34 -0
  131. package/popover/signpost/_signposts.clarity.scss +414 -0
  132. package/popover/signpost/_variables.signpost.scss +21 -0
  133. package/popover/tooltip/_mixins.tooltip.scss +186 -0
  134. package/popover/tooltip/_properties.tooltip.scss +28 -0
  135. package/popover/tooltip/_tooltips.clarity.scss +122 -0
  136. package/popover/tooltip/_variables.tooltip.scss +20 -0
  137. package/progress/progress-bars/_progress-bars.clarity.scss +616 -0
  138. package/progress/progress-bars/_properties.progress-bars.scss +24 -0
  139. package/progress/progress-bars/_variables.progress-bars.scss +15 -0
  140. package/progress/progress-bars/utils/_mixins.clarity.scss +18 -0
  141. package/progress/spinner/_mixins.spinner.scss +30 -0
  142. package/progress/spinner/_properties.spinner.scss +37 -0
  143. package/progress/spinner/_spinner.clarity.scss +148 -0
  144. package/progress/spinner/_variables.spinner.scss +25 -0
  145. package/stepper/_properties.stepper.scss +29 -0
  146. package/stepper/_stepper.clarity.scss +184 -0
  147. package/stepper/_variables.stepper.scss +13 -0
  148. package/styles/_a11y.scss +14 -0
  149. package/styles/_close.clarity.scss +60 -0
  150. package/styles/_components.clarity.scss +183 -0
  151. package/styles/_mixins.scss +478 -0
  152. package/styles/_normalize.scss +292 -0
  153. package/styles/_reboot.clarity.scss +374 -0
  154. package/styles/_variables.clarity.scss +139 -0
  155. package/styles/core/base/base.element.scss +97 -0
  156. package/styles/core/global.scss +12 -0
  157. package/styles/core/layout/_alignments.scss +18 -0
  158. package/styles/core/layout/_container.scss +29 -0
  159. package/styles/core/layout/_display.scss +58 -0
  160. package/styles/core/layout/_optimize.scss +60 -0
  161. package/styles/core/layout/_shadow-dom.scss +47 -0
  162. package/styles/core/layout/_spacing.scss +31 -0
  163. package/styles/core/layout/_type-grid.scss +66 -0
  164. package/styles/core/layout/_type-horizontal.scss +33 -0
  165. package/styles/core/layout/_type-vertical.scss +26 -0
  166. package/styles/core/layout/mixins/_mixins.alignment.scss +35 -0
  167. package/styles/core/layout/mixins/_mixins.display.scss +23 -0
  168. package/styles/core/layout/mixins/_mixins.grid.scss +105 -0
  169. package/styles/core/layout/mixins/_mixins.scss +106 -0
  170. package/styles/core/layout/mixins/_mixins.shadow-dom.scss +106 -0
  171. package/styles/core/layout/mixins/_mixins.type-horizontal.scss +113 -0
  172. package/styles/core/layout/mixins/_mixins.type-vertical.scss +108 -0
  173. package/styles/core/module.layout.scss +22 -0
  174. package/styles/core/module.reset.scss +48 -0
  175. package/styles/core/module.typography.scss +9 -0
  176. package/styles/core/theme.dark.scss +266 -0
  177. package/styles/core/theme.high-contrast.scss +42 -0
  178. package/styles/core/theme.low-motion.scss +20 -0
  179. package/styles/core/tokens/_alias-interaction.scss +59 -0
  180. package/styles/core/tokens/_alias-object-background.scss +14 -0
  181. package/styles/core/tokens/_alias-object-border.scss +21 -0
  182. package/styles/core/tokens/_alias-object-container.scss +20 -0
  183. package/styles/core/tokens/_alias-object-opacity.scss +15 -0
  184. package/styles/core/tokens/_alias-object-shadow.scss +17 -0
  185. package/styles/core/tokens/_alias-status.scss +34 -0
  186. package/styles/core/tokens/_alias-typography.scss +101 -0
  187. package/styles/core/tokens/_alias-utility.scss +38 -0
  188. package/styles/core/tokens/_alias-viz-colors.scss +170 -0
  189. package/styles/core/tokens/_global-animation.scss +32 -0
  190. package/styles/core/tokens/_global-colors.scss +249 -0
  191. package/styles/core/tokens/_global-space.scss +52 -0
  192. package/styles/core/tokens/_internal-scale.scss +14 -0
  193. package/styles/core/tokens/_properties.tokens.scss +21 -0
  194. package/styles/core/tokens/_variables.tokens.scss +770 -0
  195. package/styles/core/typography/_legacy-typography.scss +328 -0
  196. package/styles/core/typography/_mixins.typography.scss +18 -0
  197. package/styles/core/typography/_typography.scss +321 -0
  198. package/styles/variables/_properties.density.scss +223 -0
  199. package/styles/variables/_properties.global.scss +51 -0
  200. package/styles/variables/_properties.layout.scss +21 -0
  201. package/styles/variables/_properties.scss +11 -0
  202. package/styles/variables/_properties.typography.scss +164 -0
  203. package/styles/variables/_variables.density.scss +114 -0
  204. package/styles/variables/_variables.global.scss +82 -0
  205. package/styles/variables/_variables.layout.scss +37 -0
  206. package/styles/variables/_variables.scss +11 -0
  207. package/styles/variables/_variables.typography.scss +156 -0
  208. package/timeline/_properties.timeline.scss +38 -0
  209. package/timeline/_timeline.clarity.scss +172 -0
  210. package/timeline/_variables.timeline.scss +29 -0
  211. package/typography/_code.scss +36 -0
  212. package/typography/_font-metropolis.scss +45 -0
  213. package/typography/_lists.scss +81 -0
  214. package/typography/_typography.scss +322 -0
  215. package/utils/animations/_animations.clarity.scss +44 -0
  216. package/utils/animations/_mixins.animations.scss +33 -0
  217. package/wizard/_properties.wizard.scss +53 -0
  218. package/wizard/_variables.wizard.scss +58 -0
  219. package/wizard/_wizard.clarity.scss +688 -0
@@ -0,0 +1,232 @@
1
+ /*
2
+ * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.
3
+ * The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries.
4
+ * This software is released under MIT license.
5
+ * The full license information can be found in LICENSE in the root directory of this project.
6
+ */
7
+
8
+ @use 'sass:meta';
9
+ @use '../styles/mixins';
10
+ @use 'variables.buttons' as buttons-variables;
11
+ @use '../styles/variables/variables.density' as density;
12
+ @use '../styles/core/tokens/variables.tokens' as tokens;
13
+
14
+ @function getSassButtonColor($type: default, $property: null) {
15
+ @if not $property {
16
+ @return null;
17
+ }
18
+ @if $type == default {
19
+ @return buttons-variables.lookupFromDefaultButtonColors($property);
20
+ }
21
+ @if $type == default-outline {
22
+ @return buttons-variables.lookupFromDefaultOutlineButtonColors($property);
23
+ }
24
+ @if $type == primary {
25
+ @return buttons-variables.lookupFromPrimaryButtonColors($property);
26
+ }
27
+ @if $type == primary-outline {
28
+ @return buttons-variables.lookupFromPrimaryOutlineButtonColors($property);
29
+ }
30
+ @if $type == success {
31
+ @return buttons-variables.lookupFromSuccessButtonColors($property);
32
+ }
33
+ @if $type == success-outline {
34
+ @return buttons-variables.lookupFromSuccessOutlineButtonColors($property);
35
+ }
36
+ @if $type == danger {
37
+ @return buttons-variables.lookupFromDangerButtonColors($property);
38
+ }
39
+ @if $type == neutral {
40
+ @return buttons-variables.lookupFromNeutralButtonColors($property);
41
+ }
42
+ @if $type == neutral-outline {
43
+ @return buttons-variables.lookupFromNeutralOutlineButtonColors($property);
44
+ }
45
+ @if $type == danger-outline {
46
+ @return buttons-variables.lookupFromDangerOutlineButtonColors($property);
47
+ }
48
+ @if $type == warning {
49
+ @return buttons-variables.lookupFromWarningButtonColors($property);
50
+ }
51
+ @if $type == warning-outline {
52
+ @return buttons-variables.lookupFromWarningOutlineButtonColors($property);
53
+ }
54
+ @if $type == link {
55
+ @return buttons-variables.lookupFromLinkButtonColors($property);
56
+ }
57
+ @if $type == link-primary {
58
+ @return buttons-variables.lookupFromLinkPrimaryButtonColors($property);
59
+ }
60
+ @if $type == link-success {
61
+ @return buttons-variables.lookupFromLinkSuccessButtonColors($property);
62
+ }
63
+ @if $type == link-warning {
64
+ @return buttons-variables.lookupFromLinkWarningButtonColors($property);
65
+ }
66
+ @if $type == link-danger {
67
+ @return buttons-variables.lookupFromLinkDangerButtonColors($property);
68
+ }
69
+ @if $type == link-neutral {
70
+ @return buttons-variables.lookupFromLinkNeutralButtonColors($property);
71
+ }
72
+ @if $type == inverse {
73
+ @return buttons-variables.lookupFromInverseButtonColors($property);
74
+ }
75
+ @if $type == icon {
76
+ @return buttons-variables.lookupFromIconButtonColors($property);
77
+ }
78
+
79
+ @return null;
80
+ }
81
+
82
+ @mixin button-css-var($button-type: default, $style: null, $styleNickname: $style) {
83
+ @if $style {
84
+ #{$style}: getSassButtonColor($button-type, $styleNickname);
85
+ }
86
+ }
87
+ @mixin populateButtonProperties($button-type: default) {
88
+ @include button-css-var($button-type, border-color);
89
+ @include button-css-var($button-type, background-color, bg-color);
90
+ @include button-css-var($button-type, color);
91
+
92
+ cds-icon,
93
+ clr-icon {
94
+ @include button-css-var($button-type, color);
95
+
96
+ &:not([size]) {
97
+ @include mixins.min-equilateral(density.$clr-base-icon-size-s);
98
+ }
99
+ }
100
+
101
+ &:hover {
102
+ @include button-css-var($button-type, background-color, hover-bg-color);
103
+ @include button-css-var($button-type, color, hover-color);
104
+
105
+ cds-icon,
106
+ clr-icon {
107
+ @include button-css-var($button-type, color, hover-color);
108
+ }
109
+ }
110
+
111
+ &:active {
112
+ @include button-css-var($button-type, background-color, active-bg-color);
113
+ @include button-css-var($button-type, color, active-color);
114
+
115
+ cds-icon,
116
+ clr-icon {
117
+ @include button-css-var($button-type, color, active-color);
118
+ }
119
+ }
120
+
121
+ &.disabled,
122
+ &:disabled {
123
+ @include button-css-var($button-type, color, disabled-color);
124
+
125
+ cursor: not-allowed;
126
+
127
+ @include button-css-var($button-type, background-color, disabled-bg-color);
128
+ @include button-css-var($button-type, border-color, disabled-border-color);
129
+
130
+ cds-icon,
131
+ clr-icon {
132
+ @include button-css-var($button-type, color, disabled-color);
133
+ }
134
+ }
135
+ }
136
+ @mixin btn-checked-styles($button-type: default, $type: checkbox) {
137
+ // add semantic prop: group-checked-font-color
138
+ input[type='#{$type}']:checked + label {
139
+ @include button-css-var($button-type, background-color, checked-bg-color);
140
+ @include button-css-var($button-type, color, checked-color);
141
+
142
+ // override icon colors on inverted backgrounds
143
+ & > clr-icon,
144
+ & > cds-icon {
145
+ @include button-css-var($button-type, color, checked-color);
146
+ }
147
+ }
148
+
149
+ input[type='#{$type}']:checked:hover + label {
150
+ @include button-css-var($button-type, background-color, checked-hover-bg-color);
151
+ @include button-css-var($button-type, color, checked-hover-color);
152
+
153
+ // override icon colors on inverted backgrounds
154
+ & > clr-icon,
155
+ & > cds-icon {
156
+ @include button-css-var($button-type, color, checked-hover-color);
157
+ }
158
+ }
159
+
160
+ input[type='#{$type}']:checked:active + label {
161
+ @include button-css-var($button-type, background-color, checked-active-bg-color);
162
+ @include button-css-var($button-type, color, checked-active-color);
163
+
164
+ // override icon colors on inverted backgrounds
165
+ & > clr-icon,
166
+ & > cds-icon {
167
+ @include button-css-var($button-type, color, checked-active-color);
168
+ }
169
+ }
170
+
171
+ &.disabled input[type='#{$type}']:checked + label,
172
+ &:disabled input[type='#{$type}']:checked + label {
173
+ @include button-css-var($button-type, color, checked-disabled-color);
174
+ @include button-css-var($button-type, background-color, checked-disabled-bg-color);
175
+ // override icon colors on inverted backgrounds
176
+ & > clr-icon,
177
+ & > cds-icon {
178
+ @include button-css-var($button-type, color, checked-disabled-color);
179
+ }
180
+ }
181
+ }
182
+ @mixin btn-nowrap() {
183
+ white-space: nowrap;
184
+ text-overflow: ellipsis;
185
+ overflow: hidden;
186
+ }
187
+ @mixin btn-min-max-widths() {
188
+ min-width: tokens.$cds-global-space-14;
189
+ max-width: mixins.baselinePx(360);
190
+ }
191
+ @mixin btn-text-properties() {
192
+ text-align: center;
193
+ text-decoration: none;
194
+ vertical-align: middle;
195
+
196
+ &:hover {
197
+ text-decoration: none;
198
+ }
199
+ }
200
+ @mixin btn-default-border-styles() {
201
+ border: buttons-variables.$clr-btn-border-width solid;
202
+ border-radius: buttons-variables.$clr-btn-border-radius;
203
+ }
204
+ @mixin btn-appearance() {
205
+ cursor: pointer;
206
+ display: inline-flex;
207
+ gap: buttons-variables.$clr-btn-gap;
208
+ align-items: center;
209
+ place-content: center;
210
+
211
+ // Overrides a Fix for IOS in BS4 _normalize.scss (~ln 330)
212
+ // `!important` is to override specificity in this instance
213
+ // But we wanted to preserve the normalize fix in non-Clarity buttons for iOS
214
+ appearance: none !important;
215
+ }
216
+ @mixin btn-sm-appearance() {
217
+ @include mixins.generate-typography-token('BUTTON-11-SMALL');
218
+
219
+ height: buttons-variables.$clr-btn-appearance-standard-height;
220
+ padding: buttons-variables.$clr-btn-appearance-standard-padding;
221
+ }
222
+ @mixin generateButton() {
223
+ @include btn-appearance();
224
+ @include btn-default-border-styles();
225
+ @include btn-min-max-widths();
226
+ @include btn-nowrap();
227
+ @include btn-text-properties();
228
+ }
229
+ @mixin square-off-btngroup-btns($dir: left) {
230
+ border-top-#{$dir}-radius: 0;
231
+ border-bottom-#{$dir}-radius: 0;
232
+ }
@@ -0,0 +1,325 @@
1
+ /*
2
+ * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.
3
+ * The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries.
4
+ * This software is released under MIT license.
5
+ * The full license information can be found in LICENSE in the root directory of this project.
6
+ */
7
+
8
+ @use '../styles/mixins';
9
+ @use '../styles/variables/variables.density' as density;
10
+ @use '../styles/core/tokens/variables.tokens' as tokens;
11
+
12
+ @include mixins.exports('button.properties') {
13
+ @include mixins.root-or-host() {
14
+ --clr-btn-group-focus-outline: #{tokens.$cds-alias-object-interaction-outline};
15
+
16
+ &,
17
+ [clr-density] {
18
+ // Spacing
19
+ --clr-btn-vertical-margin: #{density.$clr-base-vertical-offset-s};
20
+ --clr-btn-horizontal-margin: #{density.$clr-base-gap-m};
21
+ --clr-btn-horizontal-padding: #{density.$clr-base-horizontal-offset-l};
22
+ --clr-btn-vertical-padding: 0;
23
+ --clr-btn-padding: var(--clr-btn-vertical-padding) var(--clr-btn-horizontal-padding);
24
+ --clr-btn-gap: #{density.$clr-base-gap-s};
25
+
26
+ // Sizing
27
+ --clr-btn-height: #{density.$clr-base-row-height-m}; // this is standard height
28
+ --clr-btn-height-sm: #{density.$clr-base-row-height-s}; // this is btn-sm (small) height
29
+
30
+ // Borders
31
+ --clr-btn-border-radius: #{density.$clr-base-border-radius-s};
32
+ --clr-btn-border-width: #{tokens.$cds-global-space-1};
33
+
34
+ // Standard button appearance - overrideable but not advertised!
35
+ --clr-btn-appearance-standard-height: var(--clr-btn-height-sm);
36
+ --clr-btn-appearance-standard-padding: var(--clr-btn-padding);
37
+ --clr-btn-appearance-standard-icon-size: #{density.$clr-base-icon-size-s};
38
+
39
+ // form-style button appearance styles - overrideable but not advertised!
40
+ --clr-btn-appearance-form-height: var(--clr-btn-height);
41
+ --clr-btn-appearance-form-padding: var(--clr-btn-padding);
42
+ }
43
+
44
+ &,
45
+ [cds-theme] {
46
+ // Shared colors
47
+ --clr-btn-transparent-bg-color: #{tokens.$cds-alias-object-opacity-0};
48
+ --clr-btn-outline-bg-color: var(--clr-btn-transparent-bg-color);
49
+
50
+ // Default button colors
51
+ --clr-btn-default-color: #{tokens.$cds-alias-status-info};
52
+ --clr-btn-default-border-color: var(--clr-btn-default-color);
53
+ --clr-btn-default-bg-color: var(--clr-btn-outline-bg-color);
54
+ --clr-btn-default-hover-bg-color: #{tokens.$cds-alias-object-interaction-info-secondary-hover};
55
+ --clr-btn-default-hover-color: #{tokens.$cds-alias-typography-info-hover};
56
+ --clr-btn-default-active-color: var(--clr-btn-default-color);
57
+ --clr-btn-default-active-bg-color: var(--clr-btn-outline-bg-color);
58
+ --clr-btn-default-disabled-color: #{tokens.$cds-alias-typography-disabled};
59
+ --clr-btn-default-disabled-bg-color: var(--clr-btn-default-outline-bg-color);
60
+ --clr-btn-default-disabled-border-color: #{tokens.$cds-alias-status-disabled};
61
+ --clr-btn-default-checked-color: #{tokens.$cds-alias-typography-color-100};
62
+ --clr-btn-default-checked-bg-color: var(--clr-btn-default-color);
63
+ --clr-btn-default-checked-hover-color: var(--clr-btn-default-checked-color);
64
+ --clr-btn-default-checked-hover-bg-color: #{tokens.$cds-alias-object-interaction-info-hover};
65
+ --clr-btn-default-checked-active-color: var(--clr-btn-default-checked-color);
66
+ --clr-btn-default-checked-active-bg-color: var(--clr-btn-default-color);
67
+ --clr-btn-default-checked-disabled-color: #{tokens.$cds-alias-typography-disabled-button};
68
+ --clr-btn-default-checked-disabled-bg-color: #{tokens.$cds-alias-status-disabled};
69
+
70
+ // Default outline button
71
+ --clr-btn-default-outline-color: #{tokens.$cds-alias-status-info};
72
+ --clr-btn-default-outline-border-color: var(--clr-btn-primary-outline-color);
73
+ --clr-btn-default-outline-bg-color: var(--clr-btn-outline-bg-color);
74
+ --clr-btn-default-outline-hover-bg-color: #{tokens.$cds-alias-object-interaction-info-secondary-hover};
75
+ --clr-btn-default-outline-hover-color: #{tokens.$cds-alias-typography-info-hover};
76
+ --clr-btn-default-outline-active-color: var(--clr-btn-default-outline-color);
77
+ --clr-btn-default-outline-active-bg-color: var(--clr-btn-outline-bg-color);
78
+ --clr-btn-default-outline-disabled-color: #{tokens.$cds-alias-typography-disabled};
79
+ --clr-btn-default-outline-disabled-bg-color: var(--clr-btn-default-outline-bg-color);
80
+ --clr-btn-default-outline-disabled-border-color: #{tokens.$cds-alias-status-disabled};
81
+ --clr-btn-default-outline-checked-color: #{tokens.$cds-alias-typography-color-100};
82
+ --clr-btn-default-outline-checked-bg-color: var(--clr-btn-default-outline-bg-color);
83
+
84
+ // Primary button colors
85
+ --clr-btn-primary-color: #{tokens.$cds-alias-typography-color-100};
86
+ --clr-btn-primary-bg-color: #{tokens.$cds-alias-status-info};
87
+ --clr-btn-primary-border-color: #{tokens.$cds-alias-status-info};
88
+ --clr-btn-primary-hover-bg-color: #{tokens.$cds-alias-object-interaction-info-hover};
89
+ --clr-btn-primary-hover-color: var(--clr-btn-primary-color);
90
+ --clr-btn-primary-active-color: #{tokens.$cds-alias-typography-color-100};
91
+ --clr-btn-primary-active-bg-color: var(--cds-alias-object-interaction-info-active);
92
+ --clr-btn-primary-disabled-color: #{tokens.$cds-alias-typography-disabled-button};
93
+ --clr-btn-primary-disabled-bg-color: #{tokens.$cds-alias-status-disabled};
94
+ --clr-btn-primary-disabled-border-color: #{tokens.$cds-alias-status-disabled};
95
+ --clr-btn-primary-checked-bg-color: #{tokens.$cds-alias-status-info};
96
+ --clr-btn-primary-checked-color: #{tokens.$cds-alias-typography-color-100};
97
+
98
+ // Primary outline button
99
+ --clr-btn-primary-outline-color: #{tokens.$cds-alias-status-info};
100
+ --clr-btn-primary-outline-border-color: var(--clr-btn-primary-outline-color);
101
+ --clr-btn-primary-outline-bg-color: var(--clr-btn-outline-bg-color);
102
+ --clr-btn-primary-outline-hover-bg-color: #{tokens.$cds-alias-object-interaction-info-secondary-hover};
103
+ --clr-btn-primary-outline-hover-color: #{tokens.$cds-alias-typography-info-hover};
104
+ --clr-btn-primary-outline-active-bg-color: var(--clr-btn-outline-bg-color);
105
+ --clr-btn-primary-outline-active-color: var(--clr-btn-primary-outline-color);
106
+ --clr-btn-primary-outline-disabled-color: #{tokens.$cds-alias-typography-disabled};
107
+ --clr-btn-primary-outline-disabled-bg-color: var(--clr-btn-default-outline-bg-color);
108
+ --clr-btn-primary-outline-disabled-border-color: #{tokens.$cds-alias-status-disabled};
109
+ --clr-btn-primary-outline-checked-color: #{tokens.$cds-alias-typography-color-100};
110
+ --clr-btn-primary-outline-checked-bg-color: var(--clr-btn-default-outline-bg-color);
111
+
112
+ // Success button colors
113
+ --clr-btn-success-color: #{tokens.$cds-alias-typography-color-100};
114
+ --clr-btn-success-bg-color: #{tokens.$cds-alias-status-success};
115
+ --clr-btn-success-border-color: var(--clr-btn-success-bg-color);
116
+ --clr-btn-success-hover-bg-color: #{tokens.$cds-alias-object-interaction-success-hover};
117
+ --clr-btn-success-hover-color: var(--clr-btn-success-color);
118
+ --clr-btn-success-active-color: #{tokens.$cds-alias-typography-color-100};
119
+ --clr-btn-success-active-bg-color: var(--cds-alias-object-interaction-success-active);
120
+ --clr-btn-success-disabled-color: #{tokens.$cds-alias-typography-disabled-button};
121
+ --clr-btn-success-disabled-bg-color: #{tokens.$cds-alias-status-disabled};
122
+ --clr-btn-success-disabled-border-color: #{tokens.$cds-alias-status-disabled};
123
+ --clr-btn-success-checked-bg-color: var(--clr-btn-success-color);
124
+ --clr-btn-success-checked-color: var(--clr-btn-success-bg-color);
125
+
126
+ // Success outline button colors
127
+ --clr-btn-success-outline-color: #{tokens.$cds-alias-status-success};
128
+ --clr-btn-success-outline-bg-color: var(--clr-btn-outline-bg-color);
129
+ --clr-btn-success-outline-border-color: #{tokens.$cds-alias-status-success};
130
+ --clr-btn-success-outline-hover-bg-color: #{tokens.$cds-alias-object-interaction-success-secondary-hover};
131
+ --clr-btn-success-outline-hover-color: #{tokens.$cds-alias-typography-success-hover};
132
+ --clr-btn-success-outline-active-bg-color: var(--clr-btn-success-outline-bg-color);
133
+ --clr-btn-success-outline-active-color: var(--clr-btn-success-outline-color);
134
+ --clr-btn-success-outline-disabled-color: #{tokens.$cds-alias-typography-disabled};
135
+ --clr-btn-success-outline-disabled-bg-color: var(--clr-btn-default-outline-bg-color);
136
+ --clr-btn-success-outline-disabled-border-color: #{tokens.$cds-alias-status-disabled};
137
+ --clr-btn-success-outline-checked-bg-color: var(--clr-btn-success-outline-bg-color);
138
+ --clr-btn-success-outline-checked-color: var(--clr-btn-success-outline-color);
139
+
140
+ // Danger button colors
141
+ --clr-btn-danger-color: #{tokens.$cds-alias-typography-color-100};
142
+ --clr-btn-danger-bg-color: #{tokens.$cds-alias-status-danger};
143
+ --clr-btn-danger-border-color: var(--clr-btn-danger-bg-color);
144
+ --clr-btn-danger-hover-bg-color: #{tokens.$cds-alias-object-interaction-danger-hover};
145
+ --clr-btn-danger-hover-color: var(--clr-btn-danger-color);
146
+ --clr-btn-danger-active-bg-color: var(--cds-alias-object-interaction-danger-active);
147
+ --clr-btn-danger-active-color: #{tokens.$cds-alias-typography-color-100};
148
+ --clr-btn-danger-disabled-color: #{tokens.$cds-alias-typography-disabled-button};
149
+ --clr-btn-danger-disabled-bg-color: #{tokens.$cds-alias-status-disabled};
150
+ --clr-btn-danger-disabled-border-color: #{tokens.$cds-alias-status-disabled};
151
+ --clr-btn-danger-checked-bg-color: var(--clr-btn-danger-bg-color);
152
+ --clr-btn-danger-checked-color: var(--clr-btn-danger-color);
153
+
154
+ // Danger outline button colors
155
+ --clr-btn-danger-outline-color: #{tokens.$cds-alias-status-danger};
156
+ --clr-btn-danger-outline-bg-color: var(--clr-btn-outline-bg-color);
157
+ --clr-btn-danger-outline-border-color: #{tokens.$cds-alias-status-danger};
158
+ --clr-btn-danger-outline-hover-bg-color: #{tokens.$cds-alias-object-interaction-danger-secondary-hover};
159
+ --clr-btn-danger-outline-hover-color: #{tokens.$cds-alias-typography-danger-hover};
160
+ --clr-btn-danger-outline-active-bg-color: var(--clr-btn-danger-outline-bg-color);
161
+ --clr-btn-danger-outline-active-color: var(--clr-btn-danger-outline-color);
162
+ --clr-btn-danger-outline-disabled-color: #{tokens.$cds-alias-typography-disabled};
163
+ --clr-btn-danger-outline-disabled-bg-color: var(--clr-btn-default-outline-bg-color);
164
+ --clr-btn-danger-outline-disabled-border-color: #{tokens.$cds-alias-status-disabled};
165
+ --clr-btn-danger-outline-checked-bg-color: var(--clr-btn-danger-outline-bg-color);
166
+ --clr-btn-danger-outline-checked-color: var(--clr-btn-danger-outline-color);
167
+
168
+ // Warning button colors
169
+ --clr-btn-warning-color: #{tokens.$cds-global-color-black};
170
+ --clr-btn-warning-bg-color: #{tokens.$cds-alias-status-warning};
171
+ --clr-btn-warning-border-color: var(--clr-btn-warning-bg-color);
172
+ --clr-btn-warning-hover-bg-color: #{tokens.$cds-alias-object-interaction-warning-hover};
173
+ --clr-btn-warning-hover-color: var(--clr-btn-warning-color);
174
+ --clr-btn-warning-active-bg-color: var(--cds-alias-object-interaction-warning-active);
175
+ --clr-btn-warning-active-color: var(--clr-btn-warning-color);
176
+ --clr-btn-warning-disabled-color: #{tokens.$cds-alias-typography-disabled-button};
177
+ --clr-btn-warning-disabled-bg-color: #{tokens.$cds-alias-status-disabled};
178
+ --clr-btn-warning-disabled-border-color: #{tokens.$cds-alias-status-disabled};
179
+ --clr-btn-warning-checked-bg-color: var(--clr-btn-warning-bg-color);
180
+ --clr-btn-warning-checked-color: var(--clr-btn-warning-color);
181
+
182
+ // Warning outline button colors
183
+ --clr-btn-warning-outline-color: #{tokens.$cds-alias-status-warning-dark};
184
+ --clr-btn-warning-outline-bg-color: var(--clr-btn-outline-bg-color);
185
+ --clr-btn-warning-outline-border-color: #{tokens.$cds-alias-status-warning-dark};
186
+ --clr-btn-warning-outline-hover-bg-color: #{tokens.$cds-alias-object-interaction-warning-secondary-hover};
187
+ --clr-btn-warning-outline-hover-color: #{tokens.$cds-alias-typography-warning-hover};
188
+ --clr-btn-warning-outline-active-bg-color: var(--clr-btn-warning-outline-bg-color);
189
+ --clr-btn-warning-outline-active-color: var(--clr-btn-warning-outline-color);
190
+ --clr-btn-warning-outline-disabled-color: #{tokens.$cds-alias-typography-disabled};
191
+ --clr-btn-warning-outline-disabled-bg-color: var(--clr-btn-default-outline-bg-color);
192
+ --clr-btn-warning-outline-disabled-border-color: #{tokens.$cds-alias-status-disabled};
193
+ --clr-btn-warning-outline-checked-bg-color: var(--clr-btn-warning-outline-bg-color);
194
+ --clr-btn-warning-outline-checked-color: var(--clr-btn-warning-outline-color);
195
+
196
+ // Neutral button colors
197
+ --clr-btn-neutral-color: #{tokens.$cds-alias-typography-color-100};
198
+ --clr-btn-neutral-bg-color: #{tokens.$cds-alias-status-neutral};
199
+ --clr-btn-neutral-border-color: var(--clr-btn-neutral-bg-color);
200
+ --clr-btn-neutral-hover-bg-color: #{tokens.$cds-alias-object-interaction-neutral-hover};
201
+ --clr-btn-neutral-hover-color: var(--clr-btn-neutral-color);
202
+ --clr-btn-neutral-active-bg-color: var(--cds-alias-object-interaction-neutral-active);
203
+ --clr-btn-neutral-active-color: var(--clr-btn-neutral-color);
204
+ --clr-btn-neutral-disabled-color: #{tokens.$cds-alias-typography-disabled-button};
205
+ --clr-btn-neutral-disabled-bg-color: #{tokens.$cds-alias-status-disabled};
206
+ --clr-btn-neutral-disabled-border-color: #{tokens.$cds-alias-status-disabled};
207
+ --clr-btn-neutral-checked-bg-color: var(--clr-btn-neutral-bg-color);
208
+ --clr-btn-neutral-checked-color: var(--clr-btn-neutral-color);
209
+
210
+ // Neutral outline button colors
211
+ --clr-btn-neutral-outline-color: #{tokens.$cds-alias-status-neutral};
212
+ --clr-btn-neutral-outline-bg-color: #{tokens.$cds-alias-object-opacity-0};
213
+ --clr-btn-neutral-outline-border-color: var(--clr-btn-neutral-outline-color);
214
+ --clr-btn-neutral-outline-hover-color: #{tokens.$cds-alias-typography-neutral-hover};
215
+ --clr-btn-neutral-outline-hover-bg-color: #{tokens.$cds-alias-object-interaction-neutral-secondary-hover};
216
+ --clr-btn-neutral-outline-active-color: #{tokens.$cds-alias-status-neutral};
217
+ --clr-btn-neutral-outline-active-bg-color: #{tokens.$cds-alias-object-opacity-0};
218
+ --clr-btn-neutral-outline-disabled-color: #{tokens.$cds-alias-typography-disabled};
219
+ --clr-btn-neutral-outline-disabled-bg-color: var(--clr-btn-default-outline-bg-color);
220
+ --clr-btn-neutral-outline-disabled-border-color: #{tokens.$cds-alias-status-disabled};
221
+ --clr-btn-neutral-outline-checked-bg-color: var(--clr-btn-neutral-outline-bg-color);
222
+ --clr-btn-neutral-outline-checked-color: var(--clr-btn-neutral-outline-color);
223
+
224
+ // Link button colors
225
+ --clr-btn-link-color: #{tokens.$cds-alias-status-info};
226
+ --clr-btn-link-bg-color: var(--clr-btn-transparent-bg-color);
227
+ --clr-btn-link-border-color: var(--clr-btn-transparent-bg-color);
228
+ --clr-btn-link-active-color: var(--clr-btn-link-color);
229
+ --clr-btn-link-active-bg-color: var(--clr-btn-transparent-bg-color);
230
+ --clr-btn-link-hover-bg-color: var(--clr-btn-transparent-bg-color);
231
+ --clr-btn-link-hover-color: #{tokens.$cds-alias-typography-info-hover};
232
+ --clr-btn-link-visited-color: #{tokens.$cds-alias-typography-link-color-visited};
233
+ --clr-btn-link-visited-hover-color: #{tokens.$cds-alias-typography-link-color-visited-hover};
234
+ --clr-btn-link-disabled-color: #{tokens.$cds-alias-typography-disabled};
235
+ --clr-btn-link-disabled-bg-color: var(--clr-btn-transparent-bg-color);
236
+ --clr-btn-link-disabled-border-color: var(--clr-btn-transparent-bg-color);
237
+ --clr-btn-link-checked-bg-color: var(--clr-btn-transparent-bg-color);
238
+ --clr-btn-link-checked-color: #{tokens.$cds-global-color-blue-800};
239
+
240
+ // Primary Link button colors
241
+ --clr-btn-link-primary-color: #{tokens.$cds-alias-status-info};
242
+ --clr-btn-link-primary-bg-color: var(--clr-btn-transparent-bg-color);
243
+ --clr-btn-link-primary-border-color: var(--clr-btn-transparent-bg-color);
244
+ --clr-btn-link-primary-hover-bg-color: var(--clr-btn-transparent-bg-color);
245
+ --clr-btn-link-primary-hover-color: #{tokens.$cds-alias-typography-info-hover};
246
+ --clr-btn-link-primary-active-color: var(--clr-btn-link-primary-color);
247
+ --clr-btn-link-primary-active-bg-color: var(--clr-btn-transparent-bg-color);
248
+ --clr-btn-link-primary-disabled-color: #{tokens.$cds-alias-typography-disabled};
249
+ --clr-btn-link-primary-disabled-bg-color: var(--clr-btn-transparent-bg-color);
250
+ --clr-btn-link-primary-disabled-border-color: var(--clr-btn-transparent-bg-color);
251
+ --clr-btn-link-primary-checked-bg-color: var(--clr-btn-transparent-bg-color);
252
+ --clr-btn-link-primary-checked-color: var(--clr-btn-link-primary-color);
253
+
254
+ // Success Link button colors
255
+ --clr-btn-link-success-color: #{tokens.$cds-alias-status-success};
256
+ --clr-btn-link-success-bg-color: var(--clr-btn-transparent-bg-color);
257
+ --clr-btn-link-success-border-color: var(--clr-btn-transparent-bg-color);
258
+ --clr-btn-link-success-hover-bg-color: var(--clr-btn-transparent-bg-color);
259
+ --clr-btn-link-success-hover-color: #{tokens.$cds-alias-typography-success-hover};
260
+ --clr-btn-link-success-active-color: var(--clr-btn-link-success-color);
261
+ --clr-btn-link-success-active-bg-color: var(--clr-btn-transparent-bg-color);
262
+ --clr-btn-link-success-disabled-color: #{tokens.$cds-alias-typography-disabled};
263
+ --clr-btn-link-success-disabled-bg-color: var(--clr-btn-transparent-bg-color);
264
+ --clr-btn-link-success-disabled-border-color: var(--clr-btn-transparent-bg-color);
265
+ --clr-btn-link-success-checked-bg-color: var(--clr-btn-transparent-bg-color);
266
+ --clr-btn-link-success-checked-color: var(--clr-btn-link-success-color);
267
+
268
+ // Warning Link button colors
269
+ --clr-btn-link-warning-color: #{tokens.$cds-alias-status-warning-dark};
270
+ --clr-btn-link-warning-bg-color: var(--clr-btn-transparent-bg-color);
271
+ --clr-btn-link-warning-border-color: var(--clr-btn-transparent-bg-color);
272
+ --clr-btn-link-warning-hover-bg-color: var(--clr-btn-transparent-bg-color);
273
+ --clr-btn-link-warning-hover-color: #{tokens.$cds-alias-typography-warning-hover};
274
+ --clr-btn-link-warning-active-color: var(--clr-btn-link-warning-color);
275
+ --clr-btn-link-warning-active-bg-color: var(--clr-btn-transparent-bg-color);
276
+ --clr-btn-link-warning-disabled-color: #{tokens.$cds-alias-typography-disabled};
277
+ --clr-btn-link-warning-disabled-bg-color: var(--clr-btn-transparent-bg-color);
278
+ --clr-btn-link-warning-disabled-border-color: var(--clr-btn-transparent-bg-color);
279
+ --clr-btn-link-warning-checked-bg-color: var(--clr-btn-transparent-bg-color);
280
+ --clr-btn-link-warning-checked-color: var(--clr-btn-link-warning-color);
281
+
282
+ // Danger Link button colors
283
+ --clr-btn-link-danger-color: #{tokens.$cds-alias-status-danger};
284
+ --clr-btn-link-danger-bg-color: var(--clr-btn-transparent-bg-color);
285
+ --clr-btn-link-danger-border-color: var(--clr-btn-transparent-bg-color);
286
+ --clr-btn-link-danger-hover-bg-color: var(--clr-btn-transparent-bg-color);
287
+ --clr-btn-link-danger-hover-color: #{tokens.$cds-alias-typography-danger-hover};
288
+ --clr-btn-link-danger-active-color: var(--clr-btn-link-danger-color);
289
+ --clr-btn-link-danger-active-bg-color: var(--clr-btn-transparent-bg-color);
290
+ --clr-btn-link-danger-disabled-color: #{tokens.$cds-alias-typography-disabled};
291
+ --clr-btn-link-danger-disabled-bg-color: var(--clr-btn-transparent-bg-color);
292
+ --clr-btn-link-danger-disabled-border-color: var(--clr-btn-transparent-bg-color);
293
+ --clr-btn-link-danger-checked-bg-color: var(--clr-btn-transparent-bg-color);
294
+ --clr-btn-link-danger-checked-color: var(--clr-btn-link-danger-color);
295
+
296
+ // Danger Link button colors
297
+ --clr-btn-link-neutral-color: #{tokens.$cds-alias-status-neutral};
298
+ --clr-btn-link-neutral-bg-color: var(--clr-btn-transparent-bg-color);
299
+ --clr-btn-link-neutral-border-color: var(--clr-btn-transparent-bg-color);
300
+ --clr-btn-link-neutral-hover-bg-color: var(--clr-btn-transparent-bg-color);
301
+ --clr-btn-link-neutral-hover-color: #{tokens.$cds-alias-typography-neutral-hover};
302
+ --clr-btn-link-neutral-active-color: var(--clr-btn-link-neutral-color);
303
+ --clr-btn-link-neutral-active-bg-color: var(--clr-btn-transparent-bg-color);
304
+ --clr-btn-link-neutral-disabled-color: #{tokens.$cds-alias-typography-disabled};
305
+ --clr-btn-link-neutral-disabled-bg-color: var(--clr-btn-transparent-bg-color);
306
+ --clr-btn-link-neutral-disabled-border-color: var(--clr-btn-transparent-bg-color);
307
+ --clr-btn-link-neutral-checked-bg-color: var(--clr-btn-transparent-bg-color);
308
+ --clr-btn-link-neutral-checked-color: var(--clr-btn-link-neutral-color);
309
+
310
+ // Inverse button colors
311
+ --clr-btn-inverse-color: #{tokens.$cds-global-color-white};
312
+ --clr-btn-inverse-border-color: #{tokens.$cds-global-color-white};
313
+ --clr-btn-inverse-bg-color: var(--clr-btn-transparent-bg-color);
314
+ --clr-btn-inverse-hover-bg-color: #{tokens.$cds-alias-object-interaction-inverse-hover};
315
+ --clr-btn-inverse-hover-color: var(--clr-btn-inverse-color); // var(--clr-color-neutral-0);
316
+ --clr-btn-inverse-active-bg-color: var(--cds-alias-object-interaction-inverse-active);
317
+ --clr-btn-inverse-active-color: #{tokens.$cds-global-color-white};
318
+ --clr-btn-inverse-disabled-color: #{tokens.$cds-alias-typography-disabled};
319
+ --clr-btn-inverse-disabled-bg-color: var(--clr-btn-default-outline-bg-color);
320
+ --clr-btn-inverse-disabled-border-color: #{tokens.$cds-alias-status-disabled};
321
+ --clr-btn-inverse-checked-bg-color: var(--clr-btn-inverse-bg-color);
322
+ --clr-btn-inverse-checked-color: var(--clr-btn-inverse-color);
323
+ }
324
+ }
325
+ }
@@ -0,0 +1,35 @@
1
+ /*
2
+ * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.
3
+ * The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries.
4
+ * This software is released under MIT license.
5
+ * The full license information can be found in LICENSE in the root directory of this project.
6
+ */
7
+
8
+ @use '../styles/mixins';
9
+ @use '../styles/core/tokens/variables.tokens' as tokens;
10
+
11
+ @include mixins.exports('toggle.properties') {
12
+ @include mixins.root-or-host() {
13
+ &,
14
+ [cds-theme] {
15
+ // colors
16
+ --clr-toggle-bg-color-off: #{tokens.$cds-alias-status-neutral};
17
+ --clr-toggle-bg-color-on: #{tokens.$cds-alias-status-success};
18
+ --clr-toggle-handle-bg-color: #{tokens.$cds-alias-object-interaction-background};
19
+ --clr-toggle-handle-border-color: var(--clr-toggle-bg-color-off);
20
+ --clr-toggle-handle-border-color-on: var(--clr-toggle-bg-color-on);
21
+
22
+ // disabled colors
23
+ --clr-toggle-disabled-default-border-color: #{tokens.$cds-alias-object-interaction-color-disabled};
24
+ --clr-toggle-disabled-default-handle-color: #{tokens.$cds-alias-object-interaction-background};
25
+ --clr-toggle-disabled-off-border-color: var(--clr-toggle-disabled-default-border-color);
26
+ --clr-toggle-disabled-off-bg-color: var(--clr-toggle-disabled-default-handle-color);
27
+
28
+ // Also sets disabled/on inner part of handle circle.
29
+ --clr-toggle-disabled-off-handle-border-color: var(--clr-toggle-disabled-default-border-color);
30
+ --clr-toggle-disabled-on-border-color: var(--clr-toggle-disabled-default-border-color);
31
+ --clr-toggle-disabled-on-bg-color: var(--clr-toggle-disabled-default-border-color);
32
+ --clr-toggle-disabled-on-handle-border-color: var(--clr-toggle-disabled-default-border-color);
33
+ }
34
+ }
35
+ }