@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,616 @@
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 'utils/mixins.clarity';
10
+ @use '../../styles/mixins' as utils-mixins;
11
+ @use '../../layout/variables.card' as card-variables;
12
+ @use 'variables.progress-bars' as progress-bars-variables;
13
+ @use '../../styles/variables/variables.density' as density;
14
+ @use '../../styles/core/tokens/variables.tokens' as tokens;
15
+
16
+ @include meta.load-css('properties.progress-bars');
17
+ @include utils-mixins.exports('progress-bars.clarity') {
18
+ // KEY POINTS TO NOTE:
19
+ // - Firefox does not handle transitions on progress bars yet. So the movement
20
+ // of the progress bar is going to be choppy if it's not indeterminate.
21
+
22
+ // - When browsers allow us control over the styling and animating of the HTML5
23
+ // progress bars, we can get rid of the container and do all our styling 100%
24
+ // on the progress element.
25
+
26
+ // - The concept of a static progress bar fits better with the idea of the HTML5
27
+ // meter element. Sadly there's very little support for this element. When the
28
+ // element is finally adopted, we should consider converting static progress
29
+ // bars to meters and introducing a meter component.
30
+
31
+ .progress,
32
+ .progress-static {
33
+ background-color: transparent;
34
+ border-radius: 0;
35
+ font-size: inherit;
36
+ height: density.$clr-base-progress-bar-height;
37
+ margin: 0;
38
+ overflow: hidden;
39
+ max-height: density.$clr-base-progress-bar-height;
40
+ min-height: density.$clr-base-layout-space-2xs;
41
+ display: block;
42
+ width: 100%;
43
+ }
44
+
45
+ // lame, i know. but this is the only way to override progress default stylings
46
+ // without defining `progress.progress` as our selector. something weird about
47
+ // how browsers define these styles internally.
48
+ .progress {
49
+ > progress {
50
+ @include utils-mixins.clr-appearance-normal();
51
+ @include mixins.clr-progress-color(progress-bars-variables.$clr-progress-default-color);
52
+
53
+ display: block;
54
+ background-color: progress-bars-variables.$clr-progress-bg-color;
55
+ border: none;
56
+
57
+ @include utils-mixins.equilateral(100%);
58
+
59
+ &[value='0']::-moz-progress-bar {
60
+ // Firefox doesn't allow transition or animation on the progress bar. So it's going to be jumpy for now.
61
+
62
+ @include utils-mixins.clr-appearance-normal();
63
+
64
+ color: progress-bars-variables.$clr-progress-bg-color; // why us this using bg color
65
+ min-width: density.$clr-base-layout-space-3xl;
66
+ background-color: transparent;
67
+ background-image: none;
68
+ }
69
+
70
+ &[value='0']::-webkit-progress-value {
71
+ // Prevent transition when resetting back to zero.
72
+ transition: none;
73
+ }
74
+
75
+ &::-webkit-progress-bar {
76
+ border-radius: 0;
77
+ background-color: progress-bars-variables.$clr-progress-bg-color;
78
+ }
79
+
80
+ &::-webkit-progress-inner-element {
81
+ @include utils-mixins.clr-appearance-normal();
82
+ }
83
+
84
+ &::-webkit-progress-value {
85
+ transition: width 0.23s ease-in;
86
+ border-radius: 0;
87
+ }
88
+ }
89
+ }
90
+
91
+ // Variations
92
+ .progress {
93
+ // @deprecated in 3.0
94
+
95
+ /* warning, success, and danger distinctions for progress bars are deprecated in 3.0 */
96
+
97
+ @each $type, $color in (success, progress-bars-variables.$clr-progress-success-color),
98
+ (warning, progress-bars-variables.$clr-progress-warning-color),
99
+ (danger, progress-bars-variables.$clr-progress-danger-color)
100
+ {
101
+ &.#{$type} > progress {
102
+ @include mixins.clr-progress-color($color);
103
+ }
104
+ }
105
+ }
106
+
107
+ // Labeled
108
+ .progress,
109
+ .progress-static {
110
+ &.labeled {
111
+ // ems are used here because we want the label to be relative to its parent's
112
+ // font-sizes. if we used rems we would have to have many, many different
113
+ // sizes of labels.
114
+ position: relative;
115
+ padding-right: tokens.$cds-global-space-11;
116
+ color: progress-bars-variables.$clr-progress-label-color;
117
+
118
+ // We have to use this span hack because browsers (Firefox, Safari) do
119
+ // not currently support using either the :before or :after pseudoelements on
120
+ // the progress element.
121
+ // When that support happens (one day), we can remove both the progress container
122
+ // div and the need for this span. Right now, both are necessary to overcome
123
+ // shortcomings in browser support.
124
+ & > span {
125
+ display: block;
126
+ position: absolute;
127
+ right: 0;
128
+ top: 0;
129
+ margin-top: 0;
130
+
131
+ @include utils-mixins.generate-typography-token('CAPTION-LG-11-CPT');
132
+ }
133
+ }
134
+
135
+ &.compact:not(.labeled) {
136
+ height: density.$clr-base-layout-space-2xs;
137
+ }
138
+
139
+ &.compact.labeled > .progress-meter {
140
+ height: density.$clr-base-layout-space-2xs;
141
+ top: density.$clr-base-vertical-offset-xs;
142
+ }
143
+ }
144
+
145
+ @keyframes clr-progress-fade {
146
+ from {
147
+ opacity: 1;
148
+ }
149
+
150
+ to {
151
+ opacity: 0;
152
+ }
153
+ }
154
+
155
+ .progress.progress-fade > progress[value='100'] {
156
+ &,
157
+ & + span {
158
+ animation: clr-progress-fade 0.3s linear 0.5s forwards;
159
+ }
160
+ }
161
+
162
+ $clr-progress-flashTiming: 0.1s;
163
+ $clr-progress-transition:
164
+ width 0.23s ease-in,
165
+ background-color $clr-progress-flashTiming ease-out 0.3s;
166
+
167
+ %clr-progress-animatedTransition {
168
+ &::-webkit-progress-value {
169
+ transition: $clr-progress-transition;
170
+ }
171
+
172
+ &[value='0']::-webkit-progress-value {
173
+ // Prevent transition when resetting back to zero.
174
+ transition: none;
175
+ }
176
+
177
+ &::-moz-progress-bar {
178
+ transition: $clr-progress-transition;
179
+ }
180
+ }
181
+
182
+ /* flash progress bars are deprecated in 3.0 */
183
+ .progress.flash > progress {
184
+ @extend %clr-progress-animatedTransition;
185
+
186
+ &[value='100'] {
187
+ @include mixins.clr-progress-color(progress-bars-variables.$clr-progress-success-color);
188
+ }
189
+ }
190
+
191
+ /* flash progress bars are deprecated in 3.0 */
192
+ .progress.progress-fade.flash > progress[value='100'] {
193
+ &,
194
+ & + span {
195
+ animation: clr-progress-fade 0.6s linear 1s forwards;
196
+ }
197
+ }
198
+
199
+ /* flash-danger progress bars are deprecated in 3.0 */
200
+ .progress.flash-danger > progress {
201
+ @extend %clr-progress-animatedTransition;
202
+
203
+ &[value='100'] {
204
+ @include mixins.clr-progress-color(progress-bars-variables.$clr-progress-danger-color);
205
+ }
206
+ }
207
+
208
+ // Indeterminate/Looping Progress Bars
209
+
210
+ @keyframes clr-progress-looper {
211
+ from {
212
+ left: -100%;
213
+ }
214
+
215
+ to {
216
+ left: 100%;
217
+ }
218
+ }
219
+
220
+ .progress.loop {
221
+ position: relative;
222
+
223
+ & > progress {
224
+ overflow: hidden;
225
+
226
+ @include mixins.clr-progress-color(transparent);
227
+
228
+ &::-moz-progress-bar {
229
+ background-color: transparent;
230
+ }
231
+ }
232
+
233
+ // by default, looping progress bars cannot be labeled.
234
+ &::after {
235
+ animation: clr-progress-looper 2s ease-in-out infinite;
236
+ content: ' ';
237
+ top: 0;
238
+ bottom: 0;
239
+ left: 0;
240
+ position: absolute;
241
+ display: block;
242
+ background-color: progress-bars-variables.$clr-progress-default-color;
243
+ width: 50%;
244
+ }
245
+
246
+ &.danger::after {
247
+ background-color: progress-bars-variables.$clr-progress-danger-color;
248
+ }
249
+
250
+ &.warning::after {
251
+ background-color: progress-bars-variables.$clr-progress-warning-color;
252
+ }
253
+
254
+ &.success::after {
255
+ background-color: progress-bars-variables.$clr-progress-success-color;
256
+ }
257
+ }
258
+
259
+ .progress-static {
260
+ position: relative;
261
+ border: none;
262
+ width: 100%;
263
+
264
+ // by default, looping progress bars cannot be labeled.
265
+ & > .progress-meter {
266
+ background-color: progress-bars-variables.$clr-progress-bg-color;
267
+ display: block;
268
+ position: absolute;
269
+ inset: 0;
270
+
271
+ &::before {
272
+ background-color: progress-bars-variables.$clr-progress-default-color;
273
+ top: 0;
274
+ bottom: 0;
275
+ left: 0;
276
+ position: absolute;
277
+ display: block;
278
+ width: 0;
279
+ content: ' ';
280
+ }
281
+
282
+ &[data-value='1'],
283
+ &[data-value='2'],
284
+ &[data-value='3'] {
285
+ &::before {
286
+ width: 2%;
287
+ }
288
+ }
289
+
290
+ &[data-value='4'],
291
+ &[data-value='5'],
292
+ &[data-value='6'],
293
+ &[data-value='7'] {
294
+ &::before {
295
+ width: 5%;
296
+ }
297
+ }
298
+
299
+ &[data-value='8'],
300
+ &[data-value='9'],
301
+ &[data-value='10'],
302
+ &[data-value='11'],
303
+ &[data-value='12'] {
304
+ &::before {
305
+ width: 10%;
306
+ }
307
+ }
308
+
309
+ &[data-value='13'],
310
+ &[data-value='14'],
311
+ &[data-value='15'],
312
+ &[data-value='16'],
313
+ &[data-value='17'] {
314
+ &::before {
315
+ width: 15%;
316
+ }
317
+ }
318
+
319
+ &[data-value='18'],
320
+ &[data-value='19'],
321
+ &[data-value='20'],
322
+ &[data-value='21'],
323
+ &[data-value='22'] {
324
+ &::before {
325
+ width: 20%;
326
+ }
327
+ }
328
+
329
+ &[data-value='23'],
330
+ &[data-value='24'],
331
+ &[data-value='25'],
332
+ &[data-value='26'],
333
+ &[data-value='27'] {
334
+ &::before {
335
+ width: 25%;
336
+ }
337
+ }
338
+
339
+ &[data-value='28'],
340
+ &[data-value='29'],
341
+ &[data-value='30'],
342
+ &[data-value='31'],
343
+ &[data-value='32'] {
344
+ &::before {
345
+ width: 30%;
346
+ }
347
+ }
348
+
349
+ &[data-value='33'],
350
+ &[data-value='34'],
351
+ &[data-value='35'],
352
+ &[data-value='36'],
353
+ &[data-value='37'] {
354
+ &::before {
355
+ width: 35%;
356
+ }
357
+ }
358
+
359
+ &[data-value='38'],
360
+ &[data-value='39'],
361
+ &[data-value='40'],
362
+ &[data-value='41'],
363
+ &[data-value='42'] {
364
+ &::before {
365
+ width: 40%;
366
+ }
367
+ }
368
+
369
+ &[data-value='43'],
370
+ &[data-value='44'],
371
+ &[data-value='45'],
372
+ &[data-value='46'],
373
+ &[data-value='47'] {
374
+ &::before {
375
+ width: 45%;
376
+ }
377
+ }
378
+
379
+ &[data-value='48'],
380
+ &[data-value='49'],
381
+ &[data-value='50'],
382
+ &[data-value='51'],
383
+ &[data-value='52'] {
384
+ &::before {
385
+ width: 50%;
386
+ }
387
+ }
388
+
389
+ &[data-value='53'],
390
+ &[data-value='54'],
391
+ &[data-value='55'],
392
+ &[data-value='56'],
393
+ &[data-value='57'] {
394
+ &::before {
395
+ width: 55%;
396
+ }
397
+ }
398
+
399
+ &[data-value='58'],
400
+ &[data-value='59'],
401
+ &[data-value='60'],
402
+ &[data-value='61'],
403
+ &[data-value='62'] {
404
+ &::before {
405
+ width: 60%;
406
+ }
407
+ }
408
+
409
+ &[data-value='63'],
410
+ &[data-value='64'],
411
+ &[data-value='65'],
412
+ &[data-value='66'],
413
+ &[data-value='67'] {
414
+ &::before {
415
+ width: 65%;
416
+ }
417
+ }
418
+
419
+ &[data-value='68'],
420
+ &[data-value='69'],
421
+ &[data-value='70'],
422
+ &[data-value='71'],
423
+ &[data-value='72'] {
424
+ &::before {
425
+ width: 70%;
426
+ }
427
+ }
428
+
429
+ &[data-value='73'],
430
+ &[data-value='74'],
431
+ &[data-value='75'],
432
+ &[data-value='76'],
433
+ &[data-value='77'] {
434
+ &::before {
435
+ width: 75%;
436
+ }
437
+ }
438
+
439
+ &[data-value='78'],
440
+ &[data-value='79'],
441
+ &[data-value='80'],
442
+ &[data-value='81'],
443
+ &[data-value='82'] {
444
+ &::before {
445
+ width: 80%;
446
+ }
447
+ }
448
+
449
+ &[data-value='83'],
450
+ &[data-value='84'],
451
+ &[data-value='85'],
452
+ &[data-value='86'],
453
+ &[data-value='87'] {
454
+ &::before {
455
+ width: 85%;
456
+ }
457
+ }
458
+
459
+ &[data-value='88'],
460
+ &[data-value='89'],
461
+ &[data-value='90'],
462
+ &[data-value='91'],
463
+ &[data-value='92'] {
464
+ &::before {
465
+ width: 90%;
466
+ }
467
+ }
468
+
469
+ &[data-value='93'],
470
+ &[data-value='94'],
471
+ &[data-value='95'],
472
+ &[data-value='96'] {
473
+ &::before {
474
+ width: 95%;
475
+ }
476
+ }
477
+
478
+ &[data-value='97'],
479
+ &[data-value='98'],
480
+ &[data-value='99'] {
481
+ &::before {
482
+ width: 98%;
483
+ }
484
+ }
485
+
486
+ &[data-value='100']::before {
487
+ width: 100%;
488
+ }
489
+ }
490
+
491
+ &.labeled > .progress-meter {
492
+ right: tokens.$cds-global-space-11;
493
+ }
494
+
495
+ /* warning, success, and danger distinctions for progress bars are deprecated in 3.0 */
496
+
497
+ @each $type, $color in (success, progress-bars-variables.$clr-progress-success-color),
498
+ (warning, progress-bars-variables.$clr-progress-warning-color),
499
+ (danger, progress-bars-variables.$clr-progress-danger-color)
500
+ {
501
+ &.#{$type} > .progress-meter::before {
502
+ background-color: $color;
503
+ }
504
+ }
505
+ }
506
+
507
+ // Inside Cards
508
+ .card-block,
509
+ .card-footer {
510
+ $clr-progressInCard-height: density.$clr-base-layout-space-2xs;
511
+
512
+ .progress,
513
+ .progress-static {
514
+ height: $clr-progressInCard-height;
515
+ position: absolute;
516
+ left: 0;
517
+
518
+ // by default, positioned at the topmost of its card-block container
519
+ margin: calc(-1 * density.$clr-base-vertical-offset-m) 0 0;
520
+
521
+ &.top {
522
+ // places progress bar at the top of a card
523
+ margin-top: 0;
524
+ top: 0;
525
+
526
+ // ATM During card shim removal. Set proper tokens.
527
+ border-top-left-radius: card-variables.$clr-card-border-radius;
528
+ border-top-right-radius: card-variables.$clr-card-border-radius;
529
+ }
530
+ }
531
+
532
+ .progress > progress,
533
+ .progress-static > .progress-meter {
534
+ height: $clr-progressInCard-height;
535
+ position: absolute;
536
+ }
537
+ }
538
+
539
+ // Progress blocks, a.k.a. inline progress bars
540
+ .progress-block {
541
+ display: flex;
542
+ width: 100%;
543
+ align-items: center;
544
+ justify-content: center;
545
+ color: progress-bars-variables.$clr-progress-label-color;
546
+
547
+ @include utils-mixins.generate-typography-token('SECONDARY-13-RG-CPT');
548
+
549
+ & > * {
550
+ flex: 0 0 auto;
551
+ padding-right: density.$clr-base-horizontal-offset-l;
552
+
553
+ &:last-child {
554
+ padding-right: 0;
555
+ }
556
+ }
557
+
558
+ & > label,
559
+ & > span {
560
+ max-width: 33%;
561
+ }
562
+
563
+ & > .progress,
564
+ & > .progress-static {
565
+ flex: 0 1 auto;
566
+ }
567
+
568
+ & > .progress-group {
569
+ flex-direction: column;
570
+ height: auto;
571
+ flex: 0 1 auto;
572
+ display: flex;
573
+ width: 100%;
574
+
575
+ .clr-row {
576
+ margin-left: 0;
577
+ margin-right: 0;
578
+ color: progress-bars-variables.$clr-progress-label-color;
579
+
580
+ @include utils-mixins.generate-typography-token('CAPTION-LG-11-CPT');
581
+
582
+ & > [class*='clr-col-'] {
583
+ padding-left: 0;
584
+ padding-right: 0;
585
+ }
586
+ }
587
+ }
588
+ }
589
+
590
+ $clr-progress-in-card-height: density.$clr-base-layout-space-s;
591
+
592
+ .card-block .progress-block {
593
+ margin-bottom: density.$clr-base-vertical-offset-xl;
594
+ padding: 0;
595
+
596
+ &:last-child {
597
+ margin-bottom: 0;
598
+ }
599
+
600
+ & > label {
601
+ max-width: 33%;
602
+ }
603
+
604
+ .progress,
605
+ .progress-static {
606
+ position: relative;
607
+ height: $clr-progress-in-card-height;
608
+ margin-top: 0;
609
+
610
+ & > progress,
611
+ & > .progress-meter {
612
+ height: $clr-progress-in-card-height;
613
+ }
614
+ }
615
+ }
616
+ }
@@ -0,0 +1,24 @@
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('progress.properties') {
12
+ @include mixins.root-or-host() {
13
+ &,
14
+ & [cds-theme] {
15
+ // Usage: ../progress/progress-bars/_progress-bars.clarity.scss
16
+ --clr-progress-default-color: #{tokens.$cds-alias-status-info}; // blue
17
+ --clr-progress-alt-color-1: #{tokens.$cds-alias-status-success}; // green
18
+ --clr-progress-alt-color-2: #{tokens.$cds-alias-status-danger-shade}; // red
19
+ --clr-progress-alt-color-3: #{tokens.$cds-alias-status-warning}; // yellow
20
+ --clr-progress-bg-color: #{tokens.$cds-alias-object-container-background-shade};
21
+ --clr-progress-label-color: #{tokens.$cds-alias-typography-color-400};
22
+ }
23
+ }
24
+ }
@@ -0,0 +1,15 @@
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
+ // Usage: ../progress/progress-bars/_progress-bars.clarity.scss
8
+ $clr-progress-default-color: var(--clr-progress-default-color) !default;
9
+ $clr-progress-success-color: var(--clr-progress-alt-color-1) !default;
10
+ $clr-progress-danger-color: var(--clr-progress-alt-color-2) !default;
11
+ $clr-progress-warning-color: var(--clr-progress-alt-color-3) !default;
12
+
13
+ $clr-progress-bg-color: var(--clr-progress-bg-color) !default;
14
+
15
+ $clr-progress-label-color: var(--clr-progress-label-color) !default;
@@ -0,0 +1,18 @@
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 '../variables.progress-bars' as progress-bars-variables;
9
+
10
+ @mixin clr-progress-color($color: progress-bars-variables.$clr-progress-default-color) {
11
+ &::-webkit-progress-value {
12
+ background-color: $color;
13
+ }
14
+
15
+ &::-moz-progress-bar {
16
+ background-color: $color;
17
+ }
18
+ }
@@ -0,0 +1,30 @@
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
+
10
+ @mixin spinner-size-before-after($spinner-size, $stroke-width-size) {
11
+ &::before,
12
+ &::after {
13
+ @include mixins.min-equilateral($spinner-size);
14
+
15
+ border-width: $stroke-width-size;
16
+ }
17
+
18
+ @include mixins.min-equilateral($spinner-size);
19
+ }
20
+ @mixin spinner-color-before-after($fill-color, $tail-color) {
21
+ &::before {
22
+ border-color: $tail-color;
23
+ }
24
+
25
+ &::after {
26
+ border-color: $fill-color;
27
+ border-right-color: transparent;
28
+ border-bottom-color: transparent;
29
+ }
30
+ }