@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,37 @@
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
+ @use '../../styles/variables/variables.density' as density;
11
+
12
+ @include mixins.exports('spinner.properties') {
13
+ @include mixins.root-or-host() {
14
+ --clr-spinner-inside-button-stroke-width: #{tokens.$cds-alias-object-border-width-200};
15
+ --clr-spinner-inside-treeview-stroke-width: #{tokens.$cds-alias-object-border-width-200};
16
+ --clr-spinner-border-radius: #{tokens.$cds-alias-object-border-radius-300};
17
+
18
+ &,
19
+ & [clr-density] {
20
+ --clr-spinner-default-size: #{density.$clr-base-spinner-l};
21
+ --clr-spinner-medium-size: #{density.$clr-base-spinner-m};
22
+ --clr-spinner-small-size: #{density.$clr-base-spinner-s};
23
+ --clr-spinner-default-stroke-width: #{density.$clr-base-spinner-stroke-l};
24
+ --clr-spinner-medium-stroke-width: #{density.$clr-base-spinner-stroke-m};
25
+ --clr-spinner-small-stroke-width: #{density.$clr-base-spinner-stroke-s};
26
+ --clr-spinner-margin-right: #{density.$clr-base-horizontal-offset-l};
27
+ }
28
+
29
+ &,
30
+ & [cds-theme] {
31
+ --clr-spinner-fill-bg-color: #{tokens.$cds-alias-object-container-background-shade};
32
+ --clr-spinner-fill-inverse-bg-color: #{tokens.$cds-alias-object-container-background-inverse-tint};
33
+ --clr-spinner-fill-color: #{tokens.$cds-alias-status-info};
34
+ --clr-spinner-fill-inverse-color: #{tokens.$cds-alias-status-info-tint};
35
+ }
36
+ }
37
+ }
@@ -0,0 +1,148 @@
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 '../../image/icons.clarity';
10
+ @use '../../styles/mixins';
11
+ @use 'variables.spinner' as spinner-variables;
12
+ @use 'mixins.spinner' as spinner-mixins;
13
+ @use '../../button/variables.buttons' as button-variables;
14
+ @use '../../styles/variables/variables.density' as density;
15
+
16
+ @include meta.load-css('properties.spinner');
17
+ @include mixins.exports('spinner.clarity') {
18
+ .spinner {
19
+ // spinner-lg is the default
20
+ position: relative;
21
+ display: inline-block;
22
+
23
+ @include mixins.min-equilateral(spinner-variables.$clr-spinner-default-size);
24
+ @include mixins.generate-typography-token('SECONDARY-13-RG-CPT');
25
+
26
+ animation: spin 1s linear infinite;
27
+ margin-right: 0;
28
+ padding: 0;
29
+ text-indent: 100%;
30
+ overflow: hidden;
31
+ white-space: nowrap;
32
+
33
+ &::after {
34
+ content: '';
35
+
36
+ @include mixins.min-equilateral(spinner-variables.$clr-spinner-default-size);
37
+
38
+ position: absolute;
39
+ top: 0;
40
+ left: 0;
41
+ clip-path: ellipse(100% 53.5% at 0 0);
42
+ border: spinner-variables.$clr-spinner-default-stroke-width solid spinner-variables.$clr-spinner-fill-color;
43
+ border-right-color: transparent;
44
+ border-bottom-color: transparent;
45
+ border-radius: spinner-variables.$clr-spinner-border-radius;
46
+ }
47
+
48
+ &::before {
49
+ content: '';
50
+
51
+ @include mixins.min-equilateral(spinner-variables.$clr-spinner-default-size);
52
+
53
+ position: absolute;
54
+ top: 0;
55
+ left: 0;
56
+ border: spinner-variables.$clr-spinner-default-stroke-width solid spinner-variables.$clr-spinner-fill-bg-color;
57
+ border-radius: spinner-variables.$clr-spinner-border-radius;
58
+ }
59
+
60
+ &.spinner-md {
61
+ @include spinner-mixins.spinner-size-before-after(
62
+ spinner-variables.$clr-spinner-medium-size,
63
+ spinner-variables.$clr-spinner-medium-stroke-width
64
+ );
65
+ }
66
+
67
+ &.spinner-inline,
68
+ &.spinner-sm {
69
+ @include spinner-mixins.spinner-size-before-after(
70
+ spinner-variables.$clr-spinner-small-size,
71
+ spinner-variables.$clr-spinner-small-stroke-width
72
+ );
73
+ }
74
+
75
+ &.spinner-inline {
76
+ vertical-align: text-bottom; //To align with text properly
77
+ margin-right: spinner-variables.$clr-spinner-margin-right;
78
+ }
79
+
80
+ &.spinner-inverse {
81
+ @include spinner-mixins.spinner-color-before-after(
82
+ spinner-variables.$clr-spinner-fill-inverse-color,
83
+ spinner-variables.$clr-spinner-fill-inverse-bg-color
84
+ );
85
+ }
86
+
87
+ &.spinner-neutral-0 {
88
+ // needed for loading banner alerts in core
89
+
90
+ @include spinner-mixins.spinner-color-before-after(
91
+ spinner-variables.$clr-spinner-fill-color,
92
+ rgba(transparent, 1)
93
+ );
94
+ }
95
+
96
+ &.spinner-check {
97
+ animation: none;
98
+
99
+ &::after,
100
+ &::before {
101
+ border: none;
102
+ }
103
+ // Using mask instead of background-image so we can use the CSS properties
104
+ // and support both light / dark themes.
105
+ mask: icons.generateCheckIcon();
106
+ mask-repeat: no-repeat;
107
+ background-color: button-variables.$clr-btn-success-checked-color;
108
+ }
109
+ }
110
+
111
+ //Spinners inside of buttons
112
+ .btn {
113
+ .spinner {
114
+ margin-right: 0;
115
+
116
+ @include spinner-mixins.spinner-size-before-after(
117
+ density.$clr-base-icon-size-s,
118
+ spinner-variables.$clr-spinner-inside-button-stroke-width
119
+ );
120
+ }
121
+ }
122
+
123
+ .btn-icon:not(.btn-sm) {
124
+ .spinner {
125
+ @include mixins.min-equilateral(density.$clr-base-icon-size-s);
126
+ }
127
+ }
128
+
129
+ // Spinners inside treeview
130
+ .clr-treenode-spinner-container {
131
+ .spinner {
132
+ @include spinner-mixins.spinner-size-before-after(
133
+ density.$clr-base-icon-size-s,
134
+ spinner-variables.$clr-spinner-inside-treeview-stroke-width
135
+ );
136
+ }
137
+ }
138
+
139
+ @keyframes spin {
140
+ 0% {
141
+ transform: rotate(0deg);
142
+ }
143
+
144
+ 100% {
145
+ transform: rotate(360deg);
146
+ }
147
+ }
148
+ }
@@ -0,0 +1,25 @@
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
+ $clr-spinner-default-size: var(--clr-spinner-default-size) !default;
8
+ $clr-spinner-medium-size: var(--clr-spinner-medium-size) !default;
9
+ $clr-spinner-small-size: var(--clr-spinner-small-size) !default;
10
+
11
+ $clr-spinner-inside-button-stroke-width: var(--clr-spinner-inside-button-stroke-width) !default;
12
+ $clr-spinner-inside-treeview-stroke-width: var(--clr-spinner-inside-treeview-stroke-width) !default;
13
+
14
+ $clr-spinner-default-stroke-width: var(--clr-spinner-default-stroke-width) !default;
15
+ $clr-spinner-medium-stroke-width: var(--clr-spinner-medium-stroke-width) !default;
16
+ $clr-spinner-small-stroke-width: var(--clr-spinner-small-stroke-width) !default;
17
+
18
+ $clr-spinner-fill-color: var(--clr-spinner-fill-color) !default;
19
+ $clr-spinner-fill-bg-color: var(--clr-spinner-fill-bg-color) !default;
20
+ $clr-spinner-fill-inverse-color: var(--clr-spinner-fill-inverse-color) !default;
21
+ $clr-spinner-fill-inverse-bg-color: var(--clr-spinner-fill-inverse-bg-color) !default;
22
+
23
+ $clr-spinner-border-radius: var(--clr-spinner-border-radius) !default;
24
+
25
+ $clr-spinner-margin-right: var(--clr-spinner-margin-right) !default;
@@ -0,0 +1,29 @@
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 '../styles/core/tokens/variables.tokens' as tokens;
11
+
12
+ @include meta.load-css('../collapsible-panel/properties.collapsible-panel');
13
+ @include mixins.exports('stepper.properties') {
14
+ @include mixins.root-or-host() {
15
+ &,
16
+ [cds-theme] {
17
+ --clr-stepper-error-color: #{tokens.$cds-alias-status-danger};
18
+ --clr-stepper-complete-color: #{tokens.$cds-alias-status-success};
19
+ --clr-stepper-header-left-indicator: inset #{tokens.$cds-global-space-5} 0 0
20
+ #{tokens.$cds-alias-status-neutral-tint};
21
+ --clr-stepper-header-left-current-indicator: inset #{tokens.$cds-global-space-5} 0 0
22
+ #{tokens.$cds-alias-object-interaction-background-highlight};
23
+ --clr-stepper-header-left-complete-indicator: inset #{tokens.$cds-global-space-5} 0 0
24
+ #{tokens.$cds-alias-status-success};
25
+ --clr-stepper-header-left-error-indicator: inset #{tokens.$cds-global-space-5} 0 0
26
+ #{tokens.$cds-alias-status-danger};
27
+ }
28
+ }
29
+ }
@@ -0,0 +1,184 @@
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 '../collapsible-panel/variables.collapsible-panel' as panel-variables;
11
+ @use '../collapsible-panel/mixins.collapsible-panel' as collapsible-panel;
12
+ @use '../styles/variables/variables.density' as density;
13
+ @use 'variables.stepper' as stepper-variables;
14
+
15
+ @include meta.load-css('properties.stepper');
16
+ @include mixins.exports('stepper.clarity') {
17
+ @include collapsible-panel.collapsible-panel('clr-stepper');
18
+
19
+ // Left-indicator box-shadows by state
20
+ .clr-stepper-header {
21
+ box-shadow: stepper-variables.$clr-stepper-header-left-indicator;
22
+ }
23
+
24
+ .clr-stepper-panel-open > .clr-stepper-header {
25
+ box-shadow: stepper-variables.$clr-stepper-header-left-current-indicator;
26
+ }
27
+
28
+ .clr-stepper-panel-complete > .clr-stepper-header {
29
+ box-shadow: stepper-variables.$clr-stepper-header-left-complete-indicator;
30
+ }
31
+
32
+ .clr-stepper-panel-error > .clr-stepper-header {
33
+ box-shadow: stepper-variables.$clr-stepper-header-left-error-indicator;
34
+ }
35
+
36
+ // Higher specificity overrides so complete/error shadows win over the
37
+ // .clr-stepper-panel-open shadow when both states coexist on a panel.
38
+ .clr-stepper-panel-open {
39
+ .clr-stepper-panel-complete > .clr-stepper-header {
40
+ box-shadow: stepper-variables.$clr-stepper-header-left-complete-indicator;
41
+ }
42
+
43
+ .clr-stepper-panel-error > .clr-stepper-header {
44
+ box-shadow: stepper-variables.$clr-stepper-header-left-error-indicator;
45
+ }
46
+ }
47
+
48
+ // Status icons and visibility
49
+ .clr-stepper-panel-complete {
50
+ & > .clr-stepper-complete-icon {
51
+ display: inline-block;
52
+ color: stepper-variables.$clr-stepper-complete-color;
53
+ }
54
+
55
+ & > .clr-stepper-angle {
56
+ visibility: visible;
57
+ }
58
+
59
+ .ng-trigger.clr-stepper-content {
60
+ display: block;
61
+ }
62
+ }
63
+
64
+ .clr-stepper-panel-error > .clr-stepper-error-icon {
65
+ display: inline-block;
66
+ color: stepper-variables.$clr-stepper-error-color;
67
+ }
68
+
69
+ .clr-stepper-panel-error .clr-stepper-number,
70
+ .clr-stepper-panel-complete .clr-stepper-number {
71
+ @include mixins.screen-reader-only();
72
+ }
73
+
74
+ // Stepper form layout
75
+ .clr-stepper-forms {
76
+ display: block;
77
+ margin-bottom: density.$clr-base-vertical-offset-xl;
78
+
79
+ .clr-stepper-header > .clr-stepper-header-button {
80
+ align-items: center;
81
+ gap: density.$clr-base-gap-l;
82
+ min-height: density.$clr-base-dg-row-height;
83
+ padding: #{density.$clr-base-vertical-offset-xl} #{density.$clr-base-horizontal-offset-xl}
84
+ #{density.$clr-base-vertical-offset-xl} #{density.$clr-base-horizontal-offset-2xl};
85
+
86
+ > .clr-step-status {
87
+ display: inline-flex;
88
+ gap: density.$clr-base-gap-m;
89
+ align-items: center;
90
+
91
+ > .clr-step-status-icon {
92
+ @include mixins.min-equilateral(density.$clr-base-icon-size-l);
93
+
94
+ display: inline-flex;
95
+ align-items: center;
96
+ justify-content: center;
97
+
98
+ > .clr-step-error-icon,
99
+ > .clr-step-complete-icon {
100
+ @include mixins.min-equilateral(density.$clr-base-icon-size-m);
101
+
102
+ padding: 0;
103
+ }
104
+
105
+ > .clr-step-error-icon {
106
+ color: stepper-variables.$clr-stepper-error-color;
107
+ }
108
+
109
+ > .clr-step-complete-icon {
110
+ color: stepper-variables.$clr-stepper-complete-color;
111
+ }
112
+ }
113
+ }
114
+
115
+ > .clr-step-title-wrapper {
116
+ display: inline-flex;
117
+ min-width: panel-variables.$clr-collapsible-panel-title-min-width;
118
+ max-width: calc(264 * (1rem / var(--cds-global-base)));
119
+ width: 100%;
120
+ gap: density.$clr-base-gap-xs;
121
+ align-items: center;
122
+
123
+ @include mixins.generate-typography-token('BODY-14-SB-EXP');
124
+
125
+ > .clr-step-number {
126
+ min-width: density.$clr-base-layout-space-l;
127
+ }
128
+
129
+ > .clr-stepper-title {
130
+ min-width: initial;
131
+ max-width: initial;
132
+ width: initial;
133
+ margin-left: 0;
134
+ }
135
+ }
136
+
137
+ > .clr-stepper-description,
138
+ > .clr-step-description {
139
+ margin-left: 0;
140
+
141
+ @include mixins.generate-typography-token('BODY-14-RG-EXP');
142
+ }
143
+
144
+ @media (max-width: panel-variables.$clr-collapsible-panel-responsive-breakpoint) {
145
+ gap: density.$clr-base-gap-xs;
146
+
147
+ > .clr-step-status {
148
+ min-width: initial;
149
+ width: initial;
150
+ }
151
+
152
+ > .clr-step-title-wrapper {
153
+ width: initial;
154
+
155
+ > .clr-step-number {
156
+ min-width: initial;
157
+ }
158
+ }
159
+ }
160
+ }
161
+
162
+ .clr-stepper-panel-inactive:not(.clr-stepper-panel-open) > .clr-stepper-header .clr-step-angle {
163
+ visibility: hidden;
164
+
165
+ @media (max-width: panel-variables.$clr-collapsible-panel-responsive-breakpoint) {
166
+ display: none;
167
+ }
168
+ }
169
+
170
+ .clr-step-button {
171
+ margin-top: density.$clr-base-gap-l;
172
+ margin-right: density.$clr-base-gap-m;
173
+ margin-bottom: 0;
174
+ }
175
+ }
176
+
177
+ clr-stepper-panel .clr-stepper-inner-content {
178
+ padding: #{density.$clr-base-vertical-offset-2xl} #{density.$clr-base-layout-space-xl};
179
+
180
+ clr-step-content > :first-child {
181
+ margin-top: 0;
182
+ }
183
+ }
184
+ }
@@ -0,0 +1,13 @@
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
+ $clr-stepper-error-color: var(--clr-stepper-error-color) !default;
9
+ $clr-stepper-complete-color: var(--clr-stepper-complete-color) !default;
10
+ $clr-stepper-header-left-indicator: var(--clr-stepper-header-left-indicator) !default;
11
+ $clr-stepper-header-left-current-indicator: var(--clr-stepper-header-left-current-indicator) !default;
12
+ $clr-stepper-header-left-complete-indicator: var(--clr-stepper-header-left-complete-indicator) !default;
13
+ $clr-stepper-header-left-error-indicator: var(--clr-stepper-header-left-error-indicator) !default;
@@ -0,0 +1,14 @@
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 'mixins';
9
+
10
+ @include mixins.exports('a11y.clarity') {
11
+ .clr-sr-only {
12
+ @include mixins.screen-reader-only();
13
+ }
14
+ }
@@ -0,0 +1,60 @@
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:string';
9
+ @use 'mixins';
10
+ @use './core/tokens/variables.tokens' as tokens;
11
+ @use 'variables/variables.global';
12
+
13
+ @include mixins.exports('close.clarity') {
14
+ // scss-lint:disable QualifyingElement
15
+ button.close {
16
+ padding: 0;
17
+ cursor: pointer;
18
+ background: transparent;
19
+ border: 0;
20
+ appearance: none;
21
+ }
22
+ // scss-lint:enable QualifyingElement
23
+
24
+ .close {
25
+ float: right;
26
+ font-size: tokens.$cds-global-space-11;
27
+ transition: color linear 0.2s;
28
+ font-weight: 200;
29
+ text-shadow: none;
30
+ line-height: inherit;
31
+ color: variables.$clr-close-color;
32
+
33
+ cds-icon,
34
+ clr-icon {
35
+ fill: variables.$clr-close-color;
36
+ }
37
+
38
+ &:hover {
39
+ color: variables.$clr-close-color-hover;
40
+
41
+ cds-icon,
42
+ clr-icon {
43
+ fill: variables.$clr-close-color-hover;
44
+ }
45
+ }
46
+
47
+ &:active {
48
+ color: variables.$clr-close-color-active;
49
+
50
+ cds-icon,
51
+ clr-icon {
52
+ fill: variables.$clr-close-color-active;
53
+ }
54
+ }
55
+
56
+ &:focus {
57
+ @include mixins.include-outline-style-form-fields();
58
+ }
59
+ }
60
+ }