@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,139 @@
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
+ // Clarity Components
8
+ //
9
+ // Global
10
+ // Alerts
11
+ // Badge & Label
12
+ // Button
13
+ // Card
14
+ // Dropdown
15
+ // List
16
+ // Table
17
+ // Datagrid (Has dependency on table)
18
+ // Form, Input, Checkbox, Radio, Toggle
19
+ // Header
20
+ // Login
21
+ // Modal and Wizard
22
+ // Nav
23
+ // Typography
24
+ // Progress Bars
25
+ // Signpost
26
+ // Stack View
27
+ // Tabs
28
+ // Tree View
29
+ // Tooltip
30
+ // Typography
31
+ // Vertical Nav
32
+
33
+ @forward '../styles/variables/variables';
34
+
35
+ // Alert
36
+ @forward '../emphasis/alert/variables.alert';
37
+ // End Alert
38
+
39
+ // Label
40
+ // Has code sharing with badges
41
+ @forward '../emphasis/label/variables.label';
42
+ // END: Label
43
+
44
+ // Badge
45
+ //Has code sharing with labels
46
+ @forward '../emphasis/badge/variables.badges';
47
+ // END: Badge
48
+
49
+ // Button
50
+ // Disabled states are global for all buttons, independent of status or type
51
+ @forward '../button/variables.buttons';
52
+ // BUTTON END
53
+
54
+ // Card
55
+ @forward '../layout/variables.card';
56
+ // END CARD
57
+
58
+ // Dropdown
59
+ @forward '../popover/dropdown/variables.dropdown';
60
+ // END: Dropdown
61
+
62
+ // Table
63
+ // NOTE: Datagrid depends on these
64
+ @forward '../data/variables.tables';
65
+ // END Table
66
+
67
+ // Datagrid
68
+ @forward '../data/datagrid/variables.datagrid';
69
+ // End Datagrid
70
+
71
+ // Forms
72
+ @forward '../forms/styles/variables.forms';
73
+ @forward '../button/variables.toggles';
74
+ @forward '../forms/datepicker/variables.datepicker';
75
+ @forward '../forms/combobox/variables.combobox';
76
+
77
+ // Header
78
+ @forward '../layout/main-container/variables.header';
79
+ // END Header
80
+
81
+ // Login
82
+ @forward '../layout/variables.login';
83
+ // END: Login
84
+
85
+ // Modal and Wizard (They are genetically related)
86
+ @forward '../modal/variables.modal';
87
+ @forward '../wizard/variables.wizard';
88
+ // END: Modal and Wizard
89
+
90
+ // Nav
91
+ // There are several components grouped under Nav:
92
+ // Links
93
+ // Responsive Nav
94
+ // Vertical Nav
95
+ // Responsive Nav
96
+ // Global nav variables
97
+ @forward '../layout/nav/variables.nav';
98
+ @forward '../layout/nav/variables.responsive-nav';
99
+ // Subnav - NOTE: Depricated
100
+ @forward '../layout/nav/variables.subnav';
101
+ // Vertical Nav
102
+ @forward '../layout/vertical-nav/variables.vertical-nav';
103
+ // END: Nav variables
104
+
105
+ // Progress Bars
106
+ @forward '../progress/progress-bars/variables.progress-bars';
107
+ // END Progress bars
108
+
109
+ // Signpost
110
+ @forward '../popover/signpost/variables.signpost';
111
+ // END Signpost variables
112
+
113
+ // Spinners
114
+ @forward '../progress/spinner/variables.spinner';
115
+ // END Spinners
116
+
117
+ // Stack View
118
+ @forward '../data/stack-view/variables.stack-view';
119
+
120
+ // Tabs
121
+ @forward '../layout/tabs/variables.tabs';
122
+
123
+ // Tree View
124
+ @forward '../data/tree-view/variables.tree-view';
125
+
126
+ // Tooltip
127
+ @forward '../popover/tooltip/variables.tooltip';
128
+
129
+ // Collapsible Panel
130
+ @forward '../collapsible-panel/variables.collapsible-panel';
131
+
132
+ // Accordion
133
+ @forward '../accordion/variables.accordion';
134
+
135
+ // Timeline
136
+ @forward '../timeline/variables.timeline';
137
+
138
+ // Breadcrumbs
139
+ @forward '../layout/breadcrumbs/variables.breadcrumbs';
@@ -0,0 +1,97 @@
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 '../tokens/variables.tokens' as tokens;
9
+
10
+ // Every Web Component will need to import a minimal amount of core CSS
11
+ :host {
12
+ all: initial;
13
+ display: block;
14
+ visibility: inherit;
15
+ font-family: tokens.$cds-alias-typography-font-family;
16
+ contain: layout; // https://developer.mozilla.org/en-US/docs/Web/CSS/contain
17
+ box-sizing: border-box !important;
18
+ appearance: none !important;
19
+ }
20
+
21
+ *,
22
+ *::before,
23
+ *::after {
24
+ box-sizing: inherit !important;
25
+ }
26
+
27
+ slot {
28
+ font-family: tokens.$cds-alias-typography-font-family;
29
+ display: contents !important;
30
+ }
31
+
32
+ ::slotted(*) {
33
+ font-family: inherit;
34
+ box-sizing: inherit;
35
+ }
36
+
37
+ ::slotted(*)::placeholder {
38
+ color: tokens.$cds-alias-typography-color-200;
39
+ }
40
+
41
+ :host([role='button']),
42
+ :host([_is-anchor]) {
43
+ cursor: pointer !important;
44
+
45
+ ::slotted(*) {
46
+ cursor: pointer !important;
47
+ }
48
+ }
49
+
50
+ :host([role='button'][disabled]) {
51
+ cursor: not-allowed !important;
52
+
53
+ ::slotted(*) {
54
+ cursor: not-allowed !important;
55
+ pointer-events: none;
56
+ }
57
+ }
58
+
59
+ // https://developers.google.com/web/fundamentals/web-components/best-practices#add-a-:host-display-style-that-respects-the-hidden-attribute
60
+ // we need the check against hidden='false' here because React is pushing string through instead of adding/removing the boolean attribute
61
+ // https://github.com/lit/lit/issues/3053
62
+ :host([hidden]),
63
+ [hidden] {
64
+ display: none !important;
65
+ }
66
+
67
+ :host([hidden*='false']) {
68
+ display: block !important;
69
+ }
70
+
71
+ [role='dialog'][hidden],
72
+ [role='dialog'][hidden] > *,
73
+ :host([role='dialog'][hidden]),
74
+ :host([role='dialog'][hidden]) ::slotted(*) {
75
+ // safari https://www.tpgi.com/the-current-state-of-modal-dialog-accessibility/
76
+ display: block !important;
77
+ visibility: hidden !important;
78
+ }
79
+
80
+ [role='dialog'][hidden*='false'],
81
+ [role='dialog'][hidden*='false'] > *,
82
+ :host([role='dialog'][hidden*='false']),
83
+ :host([role='dialog'][hidden*='false']) ::slotted(*) {
84
+ visibility: visible !important;
85
+ }
86
+
87
+ // normalize focus styles
88
+ // https://coryrylan.com/blog/dont-override-css-outline-focus-styles
89
+ :host([tabindex='0']:focus),
90
+ :host([tabindex='0']:focus) [focusable],
91
+ :host([_focused]) [focusable],
92
+ :host([_focused]) .input,
93
+ [tabindex='0'][focusable]:focus {
94
+ outline: #{tokens.$cds-alias-object-interaction-outline-static};
95
+ outline: #{tokens.$cds-alias-object-interaction-outline-webkit-static};
96
+ outline-offset: #{tokens.$cds-alias-object-interaction-outline-offset};
97
+ }
@@ -0,0 +1,12 @@
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
+ @forward './tokens/properties.tokens';
9
+ @forward './theme.dark.scss';
10
+ @forward './module.reset';
11
+ @forward './module.typography';
12
+ @forward './module.layout';
@@ -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
+ // common alignment styles shared between vertical and horizontal layouts
8
+ @use 'mixins/mixins';
9
+ @use 'mixins/mixins.alignment' as alignment-mixins;
10
+ @use 'optimize';
11
+
12
+ @include alignment-mixins.generateHorizontalVerticalAlignments();
13
+
14
+ @each $breakpoint, $breakpoint-value in mixins.$cds-layout-breakpoints {
15
+ @media (min-width: $breakpoint-value) {
16
+ @include alignment-mixins.generateHorizontalVerticalAlignments($breakpoint);
17
+ }
18
+ }
@@ -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 './mixins/mixins' as mixins;
9
+
10
+ [cds-layout='no-scrolling'] {
11
+ overflow: hidden !important;
12
+ }
13
+
14
+ [cds-layout~='fill'],
15
+ [cds-layout~='container:fill'] {
16
+ width: 100% !important;
17
+ }
18
+
19
+ [cds-layout~='container:center'] {
20
+ margin-left: auto;
21
+ margin-right: auto;
22
+ }
23
+
24
+ @each $width, $width-value in mixins.$cds-layout-widths {
25
+ [cds-layout~='container:#{$width}'] {
26
+ width: 100%;
27
+ max-width: $width-value;
28
+ }
29
+ }
@@ -0,0 +1,58 @@
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 '../tokens/variables.tokens' as tokens;
9
+ @use 'mixins/mixins.display' as display-mixins;
10
+
11
+ [cds-layout~='display:none'] {
12
+ display: none !important;
13
+ }
14
+
15
+ [cds-layout~='display:flex'] {
16
+ display: flex !important;
17
+ }
18
+
19
+ [cds-layout~='display:contents'] {
20
+ display: contents !important;
21
+ }
22
+
23
+ [cds-layout~='display:block'] {
24
+ display: block !important;
25
+ }
26
+
27
+ [cds-layout~='display:inline'] {
28
+ display: inline !important;
29
+ }
30
+
31
+ @media (min-width: tokens.$cds-global-layout-width-sm-static) {
32
+ @include display-mixins.display('sm');
33
+ }
34
+ @media (min-width: tokens.$cds-global-layout-width-md-static) {
35
+ @include display-mixins.display('md');
36
+ }
37
+ @media (min-width: tokens.$cds-global-layout-width-lg-static) {
38
+ @include display-mixins.display('lg');
39
+ }
40
+ @media (min-width: tokens.$cds-global-layout-width-xl-static) {
41
+ @include display-mixins.display('xl');
42
+ }
43
+
44
+ ::slotted([cds-layout~='display:screen-reader-only']),
45
+ [cds-layout~='display:screen-reader-only'] {
46
+ position: absolute !important;
47
+ // clip: rect(1px, 1px, 1px, 1px);
48
+ clip-path: inset(50%);
49
+ padding: 0;
50
+ border: 0;
51
+ height: 1px;
52
+ width: 1px;
53
+ overflow: hidden;
54
+ white-space: nowrap;
55
+ top: 0;
56
+ left: 0;
57
+ display: block !important;
58
+ }
@@ -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 '../tokens/variables.tokens' as tokens;
9
+ @use '../../mixins';
10
+
11
+ // This is a performance optimization that aliases the token to a "minified" value to reduce overall bundle size.
12
+ @include mixins.root-or-host() {
13
+ &,
14
+ [clr-density] {
15
+ --δ1: #{tokens.$cds-global-layout-space-xxxs};
16
+ --δ2: #{tokens.$cds-global-layout-space-xxs};
17
+ --δ3: #{tokens.$cds-global-layout-space-xs};
18
+ --δ4: #{tokens.$cds-global-layout-space-sm};
19
+ --δ5: #{tokens.$cds-global-layout-space-md};
20
+ --δ6: #{tokens.$cds-global-layout-space-lg};
21
+ --δ7: #{tokens.$cds-global-layout-space-xl};
22
+ --δ8: #{tokens.$cds-global-layout-space-xxl};
23
+ --δ9: #{tokens.$cds-global-layout-space-xxxl};
24
+ }
25
+ }
26
+
27
+ $δ1: var(--δ1);
28
+ $δ2: var(--δ2);
29
+ $δ3: var(--δ3);
30
+ $δ4: var(--δ4);
31
+ $δ5: var(--δ5);
32
+ $δ6: var(--δ6);
33
+ $δ7: var(--δ7);
34
+ $δ8: var(--δ8);
35
+ $δ9: var(--δ9);
36
+
37
+ // selectors one location to make it easier to test for shorthand optimizations
38
+ // this is also helpful for tools like AMP that require data-* prefix on all attrs
39
+ $layout: 'cds-layout';
40
+ $horizontal: 'horizontal';
41
+ $vertical: 'vertical';
42
+ $grid: 'grid';
43
+ $gap: 'gap';
44
+ $align: 'align';
45
+ $top: 'top';
46
+ $bottom: 'bottom';
47
+ $left: 'left';
48
+ $right: 'right';
49
+ $center: 'center';
50
+ $stretch: 'stretch';
51
+ $shrink: 'shrink';
52
+ $fill: 'fill';
53
+ $cols: 'cols';
54
+ $rows: 'rows';
55
+ $col: 'col';
56
+ $row: 'row';
57
+ $vertical-center: 'vertical-center';
58
+ $horizontal-center: 'horizontal-center';
59
+ $vertical-stretch: 'vertical-stretch';
60
+ $horizontal-stretch: 'horizontal-stretch';
@@ -0,0 +1,47 @@
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
+ // The following styles are the layout alignment utilities adapted for Shadow DOM
9
+ // support. This enables alignments to be used for sloted content. This is limited
10
+ // to only layout alignment utils to prevent excessive code bloat and duplication between
11
+ // global and component stylesheets. Example:
12
+
13
+ /*
14
+ <div cds-layout="horizontal gap:lg">
15
+ <slot></slot>
16
+ </div>
17
+
18
+ <my-element>
19
+ <button></button>
20
+ <button></button>
21
+ <button cds-layout="align:bottom"></button>
22
+ </my-element>
23
+ */
24
+
25
+ @use './mixins/mixins';
26
+ @use './mixins/mixins.shadow-dom' as shadow-dom-mixins;
27
+ @use 'optimize';
28
+
29
+ @include shadow-dom-mixins.generateShadowDomVerticalStretch();
30
+ @include shadow-dom-mixins.generateShadowDomVerticalItemAlignment();
31
+
32
+ @each $breakpoint, $breakpoint-value in mixins.$cds-layout-breakpoints {
33
+ @media (min-width: $breakpoint-value) {
34
+ @include shadow-dom-mixins.generateShadowDomVerticalStretch($breakpoint);
35
+ @include shadow-dom-mixins.generateShadowDomVerticalItemAlignment($breakpoint);
36
+ }
37
+ }
38
+
39
+ @include shadow-dom-mixins.generateShadowDomHorizontalStretch();
40
+ @include shadow-dom-mixins.generateShadowDomHorizontalItemAlignment();
41
+
42
+ @each $breakpoint, $breakpoint-value in mixins.$cds-layout-breakpoints {
43
+ @media (min-width: $breakpoint-value) {
44
+ @include shadow-dom-mixins.generateShadowDomHorizontalStretch($breakpoint);
45
+ @include shadow-dom-mixins.generateShadowDomHorizontalItemAlignment($breakpoint);
46
+ }
47
+ }
@@ -0,0 +1,31 @@
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
+ // why are we doing these in groups?
8
+ // so that more explicit side declarations can override more general axis declarations
9
+ // it's more verbose but allows customization through greater specificity
10
+ // <div cds-layout="p:sm p-t:lg p-b:none">...</div>
11
+
12
+ // The micro syntax is primarily needed for performance.
13
+ // To support all the sides as well as breakpoints we need
14
+ // a compact syntax to prevent an excessive amount of generated CSS.
15
+ // [type]-[side]@[breakpoint]:[size]
16
+
17
+ @use './mixins/mixins';
18
+
19
+ @include mixins.generateGaps();
20
+ @include mixins.spacers();
21
+ @include mixins.axisSpacers();
22
+ @include mixins.sideSpacers();
23
+
24
+ @each $breakpoint, $breakpoint-value in mixins.$cds-layout-breakpoints {
25
+ @media (min-width: $breakpoint-value) {
26
+ @include mixins.generateGaps($breakpoint);
27
+ @include mixins.spacers($breakpoint);
28
+ @include mixins.axisSpacers($breakpoint);
29
+ @include mixins.sideSpacers($breakpoint);
30
+ }
31
+ }
@@ -0,0 +1,66 @@
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 '../tokens/variables.tokens' as tokens;
9
+ @use './mixins/mixins';
10
+ @use './mixins/mixins.grid' as grid-mixins;
11
+ @use 'optimize';
12
+
13
+ [#{optimize.$layout}~='#{optimize.$grid}'] {
14
+ display: grid;
15
+ align-items: start;
16
+ align-content: start;
17
+ grid-template-columns: repeat(#{tokens.$cds-global-layout-grid-cols}, 1fr);
18
+ width: 100%;
19
+
20
+ &[#{optimize.$layout}*='#{optimize.$rows}'] {
21
+ grid-template-rows: repeat(12, auto);
22
+ }
23
+
24
+ & > [#{optimize.$layout}*='#{optimize.$row}'] {
25
+ align-self: stretch;
26
+ }
27
+
28
+ &[#{optimize.$layout}*='#{optimize.$cols}:auto'] {
29
+ grid-auto-flow: column;
30
+ grid-template-columns: initial;
31
+ }
32
+ }
33
+
34
+ [#{optimize.$layout}*='#{optimize.$cols}\@'] > * {
35
+ grid-column: span #{tokens.$cds-global-layout-grid-cols};
36
+ }
37
+
38
+ [#{optimize.$layout}*='#{optimize.$col}\@'] {
39
+ grid-column: span 12;
40
+ }
41
+
42
+ @include grid-mixins.generateColumnsAndRows();
43
+ @include grid-mixins.generateExplicitColumnAndRow();
44
+ @include grid-mixins.generatePositions();
45
+ @include grid-mixins.generateAlignments();
46
+
47
+ @each $breakpoint, $breakpoint-value in mixins.$cds-layout-breakpoints {
48
+ @media (min-width: $breakpoint-value) {
49
+ @include grid-mixins.generateColumnsAndRows($breakpoint);
50
+ }
51
+ }
52
+ @each $breakpoint, $breakpoint-value in mixins.$cds-layout-breakpoints {
53
+ @media (min-width: $breakpoint-value) {
54
+ @include grid-mixins.generateExplicitColumnAndRow($breakpoint);
55
+ }
56
+ }
57
+ @each $breakpoint, $breakpoint-value in mixins.$cds-layout-breakpoints {
58
+ @media (min-width: $breakpoint-value) {
59
+ @include grid-mixins.generatePositions($breakpoint);
60
+ }
61
+ }
62
+ @each $breakpoint, $breakpoint-value in mixins.$cds-layout-breakpoints {
63
+ @media (min-width: $breakpoint-value) {
64
+ @include grid-mixins.generateAlignments($breakpoint);
65
+ }
66
+ }
@@ -0,0 +1,33 @@
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/mixins';
9
+ @use 'mixins/mixins.type-horizontal' as horizontal-mixins;
10
+ @use 'optimize';
11
+
12
+ [#{optimize.$layout}~='#{optimize.$horizontal}'] {
13
+ display: flex;
14
+ flex-flow: row wrap;
15
+ place-items: flex-start flex-start;
16
+ width: 100%;
17
+ margin: 0;
18
+ min-height: 0;
19
+
20
+ > [#{optimize.$layout}~='#{optimize.$horizontal}'],
21
+ > [#{optimize.$layout}~='#{optimize.$vertical}'],
22
+ > [cds-text] {
23
+ width: initial !important;
24
+ }
25
+ }
26
+
27
+ @include horizontal-mixins.generateHorizontalAlignments();
28
+
29
+ @each $breakpoint, $breakpoint-value in mixins.$cds-layout-breakpoints {
30
+ @media (min-width: $breakpoint-value) {
31
+ @include horizontal-mixins.generateHorizontalAlignments($breakpoint);
32
+ }
33
+ }
@@ -0,0 +1,26 @@
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/mixins' as mixins;
9
+ @use 'mixins/mixins.type-vertical' as vertical-mixins;
10
+ @use 'optimize';
11
+
12
+ [#{optimize.$layout}~='#{optimize.$vertical}'] {
13
+ width: 100%;
14
+ display: flex;
15
+ flex-direction: column;
16
+ justify-content: flex-start;
17
+ align-items: flex-start;
18
+ }
19
+
20
+ @include vertical-mixins.generateVerticalAlignments();
21
+
22
+ @each $breakpoint, $breakpoint-value in mixins.$cds-layout-breakpoints {
23
+ @media (min-width: $breakpoint-value) {
24
+ @include vertical-mixins.generateVerticalAlignments($breakpoint);
25
+ }
26
+ }
@@ -0,0 +1,35 @@
1
+ /*
2
+ * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.
3
+ * The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries.
4
+ * This software is released under MIT license.
5
+ * The full license information can be found in LICENSE in the root directory of this project.
6
+ */
7
+
8
+ @use '../optimize';
9
+
10
+ @mixin generateHorizontalVerticalAxisFill($breakpoint: null) {
11
+ [#{optimize.$layout}*='#{optimize.$align}#{$breakpoint}:#{optimize.$fill}'] > * {
12
+ flex-grow: 1 !important;
13
+ flex-basis: 0 !important;
14
+ }
15
+ }
16
+ @mixin generateHorizontalVerticalWrap($breakpoint: null) {
17
+ [#{optimize.$layout}~='wrap#{$breakpoint}:none'] {
18
+ flex-wrap: nowrap !important;
19
+ }
20
+ }
21
+ @mixin generateHorizontalVerticalItemStretchShrink($breakpoint: null) {
22
+ [#{optimize.$layout}*='#{optimize.$align}#{$breakpoint}:#{optimize.$stretch}'] {
23
+ flex-grow: 1 !important;
24
+ }
25
+
26
+ [#{optimize.$layout}*='#{optimize.$align}#{$breakpoint}:#{optimize.$shrink}'] {
27
+ flex-shrink: 1 !important;
28
+ flex-grow: 0 !important;
29
+ }
30
+ }
31
+ @mixin generateHorizontalVerticalAlignments($breakpoint: null) {
32
+ @include generateHorizontalVerticalAxisFill($breakpoint);
33
+ @include generateHorizontalVerticalWrap($breakpoint);
34
+ @include generateHorizontalVerticalItemStretchShrink($breakpoint);
35
+ }
@@ -0,0 +1,23 @@
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
+ @mixin display($breakpoint) {
8
+ [cds-layout~='display\@#{$breakpoint}:none'] {
9
+ display: none !important;
10
+ }
11
+
12
+ [cds-layout~='display\@#{$breakpoint}:flex'] {
13
+ display: flex !important;
14
+ }
15
+
16
+ [cds-layout~='display\@#{$breakpoint}:block'] {
17
+ display: block !important;
18
+ }
19
+
20
+ [cds-layout~='display\@#{$breakpoint}:inline'] {
21
+ display: inline !important;
22
+ }
23
+ }