@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,81 @@
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.accordion' as accordion-variables;
11
+ @use '../styles/variables/variables.density' as density;
12
+ @use '../collapsible-panel/mixins.collapsible-panel' as collapsible-panel;
13
+
14
+ @include meta.load-css('properties.accordion');
15
+ @include mixins.exports('accordion.clarity') {
16
+ @include collapsible-panel.collapsible-panel('clr-accordion', accordion-variables.$clr-accordion-theme...);
17
+
18
+ .clr-accordion {
19
+ display: block;
20
+ margin-bottom: density.$clr-base-vertical-offset-xl;
21
+
22
+ .clr-accordion-panel .clr-accordion-header {
23
+ border-radius: accordion-variables.$clr-accordion-border-radius;
24
+
25
+ & + .clr-accordion-content-region > .clr-accordion-content {
26
+ border-bottom-left-radius: accordion-variables.$clr-accordion-border-radius;
27
+ border-bottom-right-radius: accordion-variables.$clr-accordion-border-radius;
28
+ }
29
+ }
30
+
31
+ .clr-accordion-panel + .clr-accordion-panel > div[class*='clr-accordion-panel-'] > .clr-accordion-header {
32
+ border-top-left-radius: unset;
33
+ border-top-right-radius: unset;
34
+ }
35
+
36
+ .clr-accordion-panel:not(:last-child) > div[class*='clr-accordion-panel-'] > .clr-accordion-header {
37
+ &,
38
+ & + .clr-accordion-content-region > .clr-accordion-content {
39
+ border-bottom-left-radius: unset;
40
+ border-bottom-right-radius: unset;
41
+ }
42
+ }
43
+
44
+ .clr-accordion-panel-open > .clr-accordion-header {
45
+ border-bottom-left-radius: 0;
46
+ border-bottom-right-radius: 0;
47
+ }
48
+
49
+ .clr-accordion-header-button {
50
+ align-items: center;
51
+ padding: density.$clr-base-vertical-offset-m density.$clr-base-horizontal-offset-l;
52
+ }
53
+
54
+ .clr-accordion-inner-content {
55
+ padding: density.$clr-base-vertical-offset-m density.$clr-base-horizontal-offset-l
56
+ density.$clr-base-vertical-offset-m
57
+ calc(
58
+ density.$clr-base-horizontal-offset-l + density.$clr-base-icon-size-s + density.$clr-base-horizontal-offset-m
59
+ );
60
+ color: accordion-variables.$clr-accordion-content-color;
61
+
62
+ @include mixins.generate-typography-token('SECONDARY-13-RG-STD');
63
+ }
64
+
65
+ .clr-accordion-panel-disabled .clr-accordion-inner-content {
66
+ color: accordion-variables.$clr-accordion-panel-disabled-color;
67
+ cursor: not-allowed;
68
+ }
69
+
70
+ .clr-accordion-status {
71
+ width: auto;
72
+
73
+ cds-icon,
74
+ clr-icon {
75
+ &:not([size]) {
76
+ @include mixins.min-equilateral(density.$clr-base-icon-size-s);
77
+ }
78
+ }
79
+ }
80
+ }
81
+ }
@@ -0,0 +1,45 @@
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
+
11
+ // The base collapsible-panel properties are loaded first. Accordion properties
12
+ // alias them so consumers can override per-component via --clr-accordion-* or
13
+ // globally via --clr-collapsible-panel-*. The base mixin styles resolve
14
+ // --clr-collapsible-panel-* directly; accordion-only styles use --clr-accordion-*.
15
+ @include meta.load-css('../collapsible-panel/properties.collapsible-panel');
16
+ @include mixins.exports('accordion.properties') {
17
+ @include mixins.root-or-host() {
18
+ &,
19
+ [cds-theme] {
20
+ --clr-accordion-text-color: var(--clr-collapsible-panel-text-color);
21
+ --clr-accordion-text-color-hover: var(--clr-collapsible-panel-text-color-hover);
22
+ --clr-accordion-text-color-active: var(--clr-collapsible-panel-text-color-active);
23
+ --clr-accordion-panel-disabled-color: var(--clr-collapsible-panel-panel-disabled-color);
24
+ --clr-accordion-content-background-color: var(--clr-collapsible-panel-content-background-color);
25
+ --clr-accordion-content-color: var(--clr-collapsible-panel-content-color);
26
+ --clr-accordion-header-background-color: var(--clr-collapsible-panel-header-background-color);
27
+ --clr-accordion-header-disabled-background-color: var(--clr-collapsible-panel-header-disabled-background-color);
28
+ --clr-accordion-header-hover-background-color: var(--clr-collapsible-panel-header-hover-background-color);
29
+ --clr-accordion-header-active-background-color: var(--clr-collapsible-panel-header-active-background-color);
30
+ --clr-accordion-header-open-background-color: var(--clr-collapsible-panel-header-open-background-color);
31
+ --clr-accordion-header-open-active-background-color: var(
32
+ --clr-collapsible-panel-header-open-active-background-color
33
+ );
34
+ --clr-accordion-header-open-hover-background-color: var(
35
+ --clr-collapsible-panel-header-open-hover-background-color
36
+ );
37
+ --clr-accordion-border-color: var(--clr-collapsible-panel-border-color);
38
+ }
39
+
40
+ &,
41
+ [clr-density] {
42
+ --clr-accordion-border-radius: var(--clr-collapsible-panel-border-radius);
43
+ }
44
+ }
45
+ }
@@ -0,0 +1,91 @@
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 '../collapsible-panel/variables.collapsible-panel' as panel-variables;
9
+
10
+ $clr-accordion-text-color: var(
11
+ --clr-accordion-text-color,
12
+ #{panel-variables.$clr-collapsible-panel-text-color}
13
+ ) !default;
14
+ $clr-accordion-text-color-hover: var(
15
+ --clr-accordion-text-color-hover,
16
+ #{panel-variables.$clr-collapsible-panel-text-color-hover}
17
+ ) !default;
18
+ $clr-accordion-text-color-active: var(
19
+ --clr-accordion-text-color-active,
20
+ #{panel-variables.$clr-collapsible-panel-text-color-active}
21
+ ) !default;
22
+ $clr-accordion-panel-disabled-color: var(
23
+ --clr-accordion-panel-disabled-color,
24
+ #{panel-variables.$clr-collapsible-panel-panel-disabled-color}
25
+ ) !default;
26
+ $clr-accordion-content-background-color: var(
27
+ --clr-accordion-content-background-color,
28
+ #{panel-variables.$clr-collapsible-panel-content-background-color}
29
+ ) !default;
30
+ $clr-accordion-header-background-color: var(
31
+ --clr-accordion-header-background-color,
32
+ #{panel-variables.$clr-collapsible-panel-header-background-color}
33
+ ) !default;
34
+ $clr-accordion-header-disabled-background-color: var(
35
+ --clr-accordion-header-disabled-background-color,
36
+ #{panel-variables.$clr-collapsible-panel-header-disabled-background-color}
37
+ ) !default;
38
+ $clr-accordion-header-hover-background-color: var(
39
+ --clr-accordion-header-hover-background-color,
40
+ #{panel-variables.$clr-collapsible-panel-header-hover-background-color}
41
+ ) !default;
42
+ $clr-accordion-header-active-background-color: var(
43
+ --clr-accordion-header-active-background-color,
44
+ #{panel-variables.$clr-collapsible-panel-header-active-background-color}
45
+ ) !default;
46
+ $clr-accordion-header-open-background-color: var(
47
+ --clr-accordion-header-open-background-color,
48
+ #{panel-variables.$clr-collapsible-panel-header-open-background-color}
49
+ ) !default;
50
+ $clr-accordion-header-open-active-background-color: var(
51
+ --clr-accordion-header-open-active-background-color,
52
+ #{panel-variables.$clr-collapsible-panel-header-open-active-background-color}
53
+ ) !default;
54
+ $clr-accordion-header-open-hover-background-color: var(
55
+ --clr-accordion-header-open-hover-background-color,
56
+ #{panel-variables.$clr-collapsible-panel-header-open-hover-background-color}
57
+ ) !default;
58
+
59
+ $clr-accordion-content-color: var(
60
+ --clr-accordion-content-color,
61
+ #{panel-variables.$clr-collapsible-panel-content-color}
62
+ ) !default;
63
+
64
+ $clr-accordion-responsive-breakpoint: panel-variables.$clr-collapsible-panel-responsive-breakpoint !default;
65
+
66
+ $clr-accordion-border-color: var(
67
+ --clr-accordion-border-color,
68
+ #{panel-variables.$clr-collapsible-panel-border-color}
69
+ ) !default;
70
+ $clr-accordion-border-radius: var(
71
+ --clr-accordion-border-radius,
72
+ #{panel-variables.$clr-collapsible-panel-border-radius}
73
+ ) !default;
74
+
75
+ $clr-accordion-theme: (
76
+ text-color: $clr-accordion-text-color,
77
+ text-color-hover: $clr-accordion-text-color-hover,
78
+ text-color-active: $clr-accordion-text-color-active,
79
+ panel-disabled-color: $clr-accordion-panel-disabled-color,
80
+ content-background-color: $clr-accordion-content-background-color,
81
+ header-background-color: $clr-accordion-header-background-color,
82
+ header-disabled-background-color: $clr-accordion-header-disabled-background-color,
83
+ header-hover-background-color: $clr-accordion-header-hover-background-color,
84
+ header-active-background-color: $clr-accordion-header-active-background-color,
85
+ header-open-background-color: $clr-accordion-header-open-background-color,
86
+ header-open-active-background-color: $clr-accordion-header-open-active-background-color,
87
+ header-open-hover-background-color: $clr-accordion-header-open-hover-background-color,
88
+ border-color: $clr-accordion-border-color,
89
+ content-color: $clr-accordion-content-color,
90
+ responsive-breakpoint: $clr-accordion-responsive-breakpoint,
91
+ );
@@ -0,0 +1,374 @@
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 'mixins.buttons' as button-mixins;
11
+ @use 'variables.buttons' as buttons-variables;
12
+ @use '../styles/variables/variables.density' as density;
13
+ @use '../styles/core/tokens/variables.tokens' as tokens;
14
+
15
+ @include meta.load-css('properties.buttons');
16
+ @include mixins.exports('buttons.clarity') {
17
+ .btn {
18
+ @include button-mixins.generateButton();
19
+ @include button-mixins.populateButtonProperties(default);
20
+ @include mixins.generate-typography-token('BUTTON-12');
21
+
22
+ height: buttons-variables.$clr-btn-appearance-form-height;
23
+ padding: buttons-variables.$clr-btn-appearance-form-padding;
24
+
25
+ .clr-loading-btn-content {
26
+ display: flex;
27
+ gap: buttons-variables.$clr-btn-gap;
28
+ align-items: center;
29
+ }
30
+ }
31
+
32
+ a.btn,
33
+ .btn.btn-secondary,
34
+ .btn-secondary .btn {
35
+ @include button-mixins.populateButtonProperties(default);
36
+ }
37
+
38
+ .btn.btn-info,
39
+ .btn-info .btn,
40
+ .btn.btn-primary,
41
+ .btn-primary .btn {
42
+ @include button-mixins.populateButtonProperties(primary);
43
+ }
44
+
45
+ .btn.btn-success,
46
+ .btn-success .btn {
47
+ @include button-mixins.populateButtonProperties(success);
48
+ }
49
+
50
+ .btn.btn-warning,
51
+ .btn-warning .btn {
52
+ @include button-mixins.populateButtonProperties(warning);
53
+ }
54
+
55
+ .btn.btn-danger,
56
+ .btn-danger .btn {
57
+ @include button-mixins.populateButtonProperties(danger);
58
+ }
59
+
60
+ .btn.btn-neutral,
61
+ .btn-neutral .btn {
62
+ @include button-mixins.populateButtonProperties(neutral);
63
+ }
64
+
65
+ .btn.btn-outline,
66
+ .btn.btn-outline .btn,
67
+ .btn.btn-secondary-outline,
68
+ .btn.btn-outline-secondary,
69
+ .btn-secondary-outline .btn,
70
+ .btn-outline-secondary .btn,
71
+ .btn-outline .btn {
72
+ @include button-mixins.populateButtonProperties(default-outline);
73
+ }
74
+
75
+ .btn.btn-primary-outline,
76
+ .btn-outline-info .btn,
77
+ .btn-info-outline .btn,
78
+ .btn-primary-outline .btn,
79
+ .btn-outline-primary .btn,
80
+ .btn.btn-outline-primary,
81
+ .btn.btn-outline-info,
82
+ .btn.btn-info-outline,
83
+ .btn.btn-info-outline {
84
+ @include button-mixins.populateButtonProperties(primary-outline);
85
+ }
86
+
87
+ .btn.btn-success-outline,
88
+ .btn.btn-outline-success,
89
+ .btn-success-outline .btn,
90
+ .btn-outline-success .btn {
91
+ @include button-mixins.populateButtonProperties(success-outline);
92
+ }
93
+
94
+ .btn.btn-warning-outline,
95
+ .btn.btn-outline-warning,
96
+ .btn-warning-outline .btn,
97
+ .btn-outline-warning .btn {
98
+ @include button-mixins.populateButtonProperties(warning-outline);
99
+ }
100
+
101
+ .btn.btn-danger-outline,
102
+ .btn.btn-outline-danger,
103
+ .btn-danger-outline .btn,
104
+ .btn-outline-danger .btn {
105
+ @include button-mixins.populateButtonProperties(danger-outline);
106
+ }
107
+
108
+ .btn.btn-neutral-outline,
109
+ .btn.btn-outline-neutral,
110
+ .btn-neutral-outline .btn,
111
+ .btn-outline-neutral .btn {
112
+ @include button-mixins.populateButtonProperties(neutral-outline);
113
+ }
114
+
115
+ .btn.btn-link,
116
+ .btn-link .btn {
117
+ @include button-mixins.populateButtonProperties(link);
118
+
119
+ //To override the visited state of anchor links styled as buttons
120
+ &:visited {
121
+ @include button-mixins.button-css-var(link, color, visited-color);
122
+
123
+ cds-icon,
124
+ clr-icon {
125
+ @include button-mixins.button-css-var(link, color, visited-color);
126
+ }
127
+
128
+ &:hover {
129
+ @include button-mixins.button-css-var(link, color, visited-hover-color);
130
+
131
+ cds-icon,
132
+ clr-icon {
133
+ @include button-mixins.button-css-var(link, color, visited-hover-color);
134
+ }
135
+ }
136
+ }
137
+ }
138
+
139
+ .btn.btn-link-primary,
140
+ .btn-link-primary .btn {
141
+ @include button-mixins.populateButtonProperties(link-primary);
142
+ }
143
+
144
+ .btn.btn-link-success,
145
+ .btn-link-success .btn {
146
+ @include button-mixins.populateButtonProperties(link-success);
147
+ }
148
+
149
+ .btn.btn-link-warning,
150
+ .btn-link-warning .btn {
151
+ @include button-mixins.populateButtonProperties(link-warning);
152
+ }
153
+
154
+ .btn.btn-link-danger,
155
+ .btn-link-danger .btn {
156
+ @include button-mixins.populateButtonProperties(link-danger);
157
+ }
158
+
159
+ .btn.btn-link-neutral,
160
+ .btn-link-neutral .btn {
161
+ @include button-mixins.populateButtonProperties(link-neutral);
162
+ }
163
+
164
+ .btn.btn-inverse,
165
+ .btn-inverse .btn {
166
+ @include button-mixins.populateButtonProperties(inverse);
167
+ }
168
+
169
+ .btn.btn-sm,
170
+ .btn-sm .btn {
171
+ @include button-mixins.btn-sm-appearance();
172
+ }
173
+
174
+ .btn-block {
175
+ display: flex;
176
+ width: 100%;
177
+ max-width: 100%;
178
+ }
179
+
180
+ .btn {
181
+ margin: buttons-variables.$clr-btn-vertical-margin buttons-variables.$clr-btn-horizontal-margin
182
+ buttons-variables.$clr-btn-vertical-margin 0;
183
+
184
+ &.btn-link {
185
+ margin-right: 0;
186
+ }
187
+
188
+ &.btn-link.btn-inverse {
189
+ border-color: transparent;
190
+ }
191
+ }
192
+
193
+ //Small Icon Button
194
+ .btn-sm:not(.btn-link) {
195
+ cds-icon,
196
+ clr-icon {
197
+ &:not([size]) {
198
+ height: buttons-variables.$clr-btn-appearance-standard-icon-size;
199
+ width: buttons-variables.$clr-btn-appearance-standard-icon-size;
200
+ }
201
+ }
202
+ }
203
+
204
+ .btn-icon {
205
+ min-width: 0;
206
+ }
207
+
208
+ //Overflow
209
+ .btn-group {
210
+ &.btn-link .dropdown-toggle {
211
+ @include button-mixins.populateButtonProperties(link);
212
+ }
213
+
214
+ &.btn-sm .btn-group-overflow > .dropdown-toggle {
215
+ @include button-mixins.btn-sm-appearance();
216
+ }
217
+ }
218
+
219
+ //Checkboxes styled as Buttons
220
+ //Radio Buttons styled as Buttons
221
+ .checkbox.btn,
222
+ .checkbox-inline.btn,
223
+ .radio.btn,
224
+ .radio-inline.btn {
225
+ padding: 0;
226
+
227
+ label {
228
+ @include button-mixins.btn-appearance();
229
+
230
+ padding: 0 density.$clr-base-horizontal-offset-l;
231
+ }
232
+
233
+ &.disabled label,
234
+ &:disabled label {
235
+ cursor: not-allowed;
236
+ }
237
+ }
238
+
239
+ .checkbox.btn,
240
+ .checkbox-inline.btn {
241
+ input[type='checkbox'] + label::before,
242
+ input[type='checkbox'] + label::after {
243
+ content: none;
244
+ }
245
+ }
246
+
247
+ .radio.btn,
248
+ .radio-inline.btn {
249
+ input[type='radio'] + label::before,
250
+ input[type='radio'] + label::after {
251
+ content: none;
252
+ }
253
+ }
254
+
255
+ .checkbox.btn,
256
+ .checkbox-inline.btn {
257
+ @include button-mixins.btn-checked-styles();
258
+
259
+ label {
260
+ width: 100%;
261
+ }
262
+
263
+ &.btn-secondary,
264
+ &.btn-info,
265
+ &.btn-outline,
266
+ &.btn-primary-outline,
267
+ &.btn-secondary-outline,
268
+ &.btn-outline-primary,
269
+ &.btn-outline-secondary,
270
+ &.btn-info-outline,
271
+ &.btn-outline-info {
272
+ @include button-mixins.btn-checked-styles();
273
+ }
274
+
275
+ &.btn-primary {
276
+ @include button-mixins.btn-checked-styles(primary);
277
+ }
278
+
279
+ &.btn-success {
280
+ @include button-mixins.btn-checked-styles(success);
281
+ }
282
+
283
+ &.btn-warning {
284
+ @include button-mixins.btn-checked-styles(warning);
285
+ }
286
+
287
+ &.btn-danger {
288
+ @include button-mixins.btn-checked-styles(danger);
289
+ }
290
+
291
+ &.btn-success-outline,
292
+ &.btn-outline-success {
293
+ @include button-mixins.btn-checked-styles(outline-success);
294
+ }
295
+
296
+ &.btn-danger-outline,
297
+ &.btn-outline-danger {
298
+ @include button-mixins.btn-checked-styles(outline-danger);
299
+ }
300
+
301
+ &.btn-warning-outline,
302
+ &.btn-outline-warning {
303
+ @include button-mixins.btn-checked-styles(outline-warning);
304
+ }
305
+
306
+ &.btn-link {
307
+ @include button-mixins.btn-checked-styles(link);
308
+ }
309
+
310
+ &.btn-inverse {
311
+ @include button-mixins.btn-checked-styles(inverse);
312
+ }
313
+ }
314
+
315
+ .radio.btn,
316
+ .radio.btn {
317
+ @include button-mixins.btn-checked-styles(default, radio);
318
+
319
+ label {
320
+ width: 100%;
321
+ }
322
+
323
+ &.btn-secondary,
324
+ &.btn-info,
325
+ &.btn-outline,
326
+ &.btn-primary-outline,
327
+ &.btn-secondary-outline,
328
+ &.btn-outline-primary,
329
+ &.btn-outline-secondary,
330
+ &.btn-info-outline,
331
+ &.btn-outline-info {
332
+ @include button-mixins.btn-checked-styles(default, radio);
333
+ }
334
+
335
+ &.btn-primary {
336
+ @include button-mixins.btn-checked-styles(primary, radio);
337
+ }
338
+
339
+ &.btn-success {
340
+ @include button-mixins.btn-checked-styles(success, radio);
341
+ }
342
+
343
+ &.btn-warning {
344
+ @include button-mixins.btn-checked-styles(warning, radio);
345
+ }
346
+
347
+ &.btn-danger {
348
+ @include button-mixins.btn-checked-styles(danger, radio);
349
+ }
350
+
351
+ &.btn-success-outline,
352
+ &.btn-outline-success {
353
+ @include button-mixins.btn-checked-styles(success-outline, radio);
354
+ }
355
+
356
+ &.btn-warning-outline,
357
+ &.btn-outline-warning {
358
+ @include button-mixins.btn-checked-styles(warning-outline, radio);
359
+ }
360
+
361
+ &.btn-danger-outline,
362
+ &.btn-outline-danger {
363
+ @include button-mixins.btn-checked-styles(danger-outline, radio);
364
+ }
365
+
366
+ &.btn-link {
367
+ @include button-mixins.btn-checked-styles(link, radio);
368
+ }
369
+
370
+ &.btn-inverse {
371
+ @include button-mixins.btn-checked-styles(inverse, radio);
372
+ }
373
+ }
374
+ }