@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,326 @@
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 'menu-mixins.clarity.scss' as menu-mixins;
10
+ @use '../../button/variables.buttons' as button-variables;
11
+ @use '../../image/icons.clarity';
12
+ @use '../../image/images.clarity';
13
+ @use '../../styles/mixins';
14
+ @use 'variables.dropdown' as dropdown-variables;
15
+ @use '../../styles/core/tokens/variables.tokens' as tokens;
16
+ @use '../../layout/tabs/mixins.tabs' as tabs-mixins;
17
+ @use '../../styles/variables/variables.density' as density;
18
+
19
+ @include meta.load-css('properties.dropdown');
20
+ @include mixins.exports('dropdown.clarity') {
21
+ .dropdown {
22
+ position: relative;
23
+ display: inline-block;
24
+
25
+ .dropdown-toggle {
26
+ display: inline-flex;
27
+ align-items: center;
28
+ position: relative;
29
+ margin: 0;
30
+ white-space: nowrap;
31
+ cursor: pointer;
32
+
33
+ cds-icon,
34
+ clr-icon {
35
+ &[shape^='caret'],
36
+ &[shape^='angle'] {
37
+ color: inherit;
38
+
39
+ &:not([size]) {
40
+ @include mixins.equilateral(density.$clr-base-icon-size-s);
41
+ }
42
+ }
43
+ }
44
+
45
+ &.btn {
46
+ text-overflow: unset;
47
+
48
+ cds-icon,
49
+ clr-icon {
50
+ &[shape^='caret'],
51
+ &[shape^='angle'] {
52
+ right: button-variables.$clr-btn-horizontal-padding;
53
+ }
54
+ }
55
+ }
56
+
57
+ &:not(.btn) {
58
+ padding: 0;
59
+ color: dropdown-variables.$clr-dropdown-active-text-color;
60
+
61
+ cds-icon,
62
+ clr-icon {
63
+ &[shape^='caret'],
64
+ &[shape^='angle'] {
65
+ right: 0;
66
+ }
67
+ }
68
+ }
69
+ }
70
+
71
+ .dropdown-menu {
72
+ margin-top: density.$clr-base-vertical-offset-2xs;
73
+ }
74
+
75
+ button.dropdown-toggle:not(.btn) {
76
+ background: transparent;
77
+ border: none;
78
+ cursor: pointer;
79
+ color: dropdown-variables.$clr-dropdown-active-text-color;
80
+ }
81
+ }
82
+
83
+ //Dropdown Menu
84
+ .dropdown-menu > * {
85
+ display: block;
86
+ white-space: nowrap;
87
+ }
88
+
89
+ .dropdown-menu {
90
+ @include menu-mixins.generate-dropdown-menu();
91
+
92
+ .dropdown-header {
93
+ @include menu-mixins.generate-dropdown-header();
94
+
95
+ & ~ .dropdown-item,
96
+ & ~ .dropdown > .dropdown-item {
97
+ padding-left: density.$clr-base-horizontal-offset-2xl;
98
+ }
99
+ }
100
+
101
+ .btn,
102
+ .btn-secondary,
103
+ .btn-info,
104
+ .btn-outline,
105
+ .btn-outline-primary,
106
+ .btn-outline-secondary,
107
+ .btn-outline-warning,
108
+ .btn-outline-danger,
109
+ .btn-outline-success,
110
+ .btn-danger,
111
+ .btn-primary,
112
+ .btn-warning,
113
+ .btn-success,
114
+ .btn-link,
115
+ .dropdown-item {
116
+ @include menu-mixins.generate-dropdown-item();
117
+ @include mixins.overflow-ellipsis(true);
118
+ @include tabs-mixins.nav-link-border-appearance('left');
119
+
120
+ &.active {
121
+ &::before {
122
+ border-color: tokens.$cds-alias-object-interaction-background-highlight;
123
+ }
124
+ }
125
+
126
+ &.expandable {
127
+ padding-right: density.$clr-base-horizontal-offset-xs;
128
+
129
+ &::after {
130
+ content: '';
131
+ mask: icons.generateCaretIcon("'none'");
132
+ mask-repeat: no-repeat;
133
+ mask-size: cover;
134
+ background-color: dropdown-variables.$clr-dropdown-item-color;
135
+
136
+ @include mixins.equilateral(density.$clr-base-icon-size-xs);
137
+
138
+ transform: rotate(-90deg);
139
+ margin-left: auto;
140
+ }
141
+
142
+ &.active::after {
143
+ background-color: dropdown-variables.$clr-dropdown-item-selected-color;
144
+ }
145
+
146
+ &:hover::after {
147
+ background-color: dropdown-variables.$clr-dropdown-item-hover-color;
148
+ }
149
+
150
+ &:active::after {
151
+ background-color: dropdown-variables.$clr-dropdown-item-active-color;
152
+ }
153
+
154
+ &.disabled,
155
+ &:disabled {
156
+ &::after {
157
+ background-color: dropdown-variables.$clr-dropdown-item-disabled-color;
158
+ }
159
+ }
160
+ }
161
+
162
+ &:focus-visible {
163
+ outline: none;
164
+ }
165
+
166
+ &:focus {
167
+ @include menu-mixins.dropdown-item-outline();
168
+ }
169
+ }
170
+
171
+ .btn,
172
+ .dropdown-item {
173
+ @include menu-mixins.generate-dropdown-item-height();
174
+ }
175
+
176
+ a.dropdown-item {
177
+ text-decoration: none;
178
+ }
179
+
180
+ .dropdown-divider {
181
+ border-bottom: dropdown-variables.$clr-dropdown-divider-border-width solid
182
+ dropdown-variables.$clr-dropdown-divider-color;
183
+ margin: density.$clr-base-vertical-offset-l density.$clr-base-horizontal-offset-l;
184
+ }
185
+ }
186
+
187
+ //Directions
188
+ .btn-group-overflow,
189
+ .tabs-overflow,
190
+ .dropdown {
191
+ $dropdown-menu-positional-nudge: density.$clr-base-vertical-offset-2xs;
192
+
193
+ &.open > .dropdown-menu,
194
+ &.open > .dropdown-menu-wrapper > .dropdown-menu {
195
+ visibility: visible;
196
+ }
197
+
198
+ &.bottom-left > .dropdown-menu,
199
+ &.bottom-right > .dropdown-menu {
200
+ top: 100%;
201
+ bottom: auto;
202
+ margin: $dropdown-menu-positional-nudge 0 0 0;
203
+ }
204
+
205
+ &.bottom-left > .dropdown-menu {
206
+ left: 0;
207
+ right: auto;
208
+ }
209
+
210
+ &.bottom-right > .dropdown-menu {
211
+ right: 0;
212
+ left: auto;
213
+ }
214
+
215
+ &.top-left > .dropdown-menu,
216
+ &.top-right > .dropdown-menu {
217
+ top: auto;
218
+ bottom: 100%;
219
+ margin: 0 0 $dropdown-menu-positional-nudge;
220
+ }
221
+
222
+ &.top-left > .dropdown-menu {
223
+ left: 0;
224
+ right: auto;
225
+ }
226
+
227
+ &.top-right > .dropdown-menu {
228
+ right: 0;
229
+ left: auto;
230
+ }
231
+
232
+ &.left-top > .dropdown-menu,
233
+ &.left-bottom > .dropdown-menu {
234
+ right: 100%;
235
+ left: auto;
236
+ margin: 0 $dropdown-menu-positional-nudge 0 0;
237
+ }
238
+
239
+ &.left-bottom > .dropdown-menu {
240
+ top: 0;
241
+ bottom: auto;
242
+ }
243
+
244
+ &.left-top > .dropdown-menu {
245
+ bottom: 0;
246
+ top: auto;
247
+ }
248
+
249
+ &.right-top > .dropdown-menu,
250
+ &.right-bottom > .dropdown-menu {
251
+ left: 100%;
252
+ right: auto;
253
+ margin: 0 0 0 $dropdown-menu-positional-nudge;
254
+ }
255
+
256
+ &.right-bottom > .dropdown-menu {
257
+ top: 0;
258
+ bottom: auto;
259
+ }
260
+
261
+ &.right-top > .dropdown-menu {
262
+ bottom: 0;
263
+ top: auto;
264
+ }
265
+
266
+ // nested dropdown (submenu)
267
+ .dropdown {
268
+ $clr-dropdown-submenu-overlap-margin: #{tokens.$cds-global-space-1};
269
+ $clr-dropdown-submenu-vertical-margin: calc(-1 * #{density.$clr-base-vertical-offset-2xl});
270
+ // -1 is to account for the border that shifts the menu down by 1 pixel
271
+
272
+ .dropdown-menu {
273
+ border-color: dropdown-variables.$clr-dropdown-child-border-color;
274
+ position: absolute;
275
+ }
276
+
277
+ &.left-top {
278
+ > .dropdown-menu,
279
+ > .dropdown-menu-wrapper > .dropdown-menu {
280
+ inset: 0 100% auto auto;
281
+ margin-top: $clr-dropdown-submenu-vertical-margin;
282
+ margin-right: $clr-dropdown-submenu-overlap-margin;
283
+ }
284
+ }
285
+
286
+ &.right-top {
287
+ > .dropdown-menu,
288
+ > .dropdown-menu-wrapper > .dropdown-menu {
289
+ inset: 0 auto auto 100%;
290
+ margin-top: $clr-dropdown-submenu-vertical-margin;
291
+ margin-left: $clr-dropdown-submenu-overlap-margin;
292
+ }
293
+ }
294
+
295
+ &.left-bottom {
296
+ > .dropdown-menu,
297
+ > .dropdown-menu-wrapper > .dropdown-menu {
298
+ inset: auto 100% 0 auto;
299
+ margin-bottom: $clr-dropdown-submenu-vertical-margin;
300
+ margin-right: $clr-dropdown-submenu-overlap-margin;
301
+ }
302
+ }
303
+
304
+ &.right-bottom {
305
+ > .dropdown-menu,
306
+ > .dropdown-menu-wrapper > .dropdown-menu {
307
+ inset: auto auto 0 100%;
308
+ margin-bottom: $clr-dropdown-submenu-vertical-margin;
309
+ margin-left: $clr-dropdown-submenu-overlap-margin;
310
+ }
311
+ }
312
+ }
313
+ }
314
+
315
+ .clr-popover-content > .dropdown-menu {
316
+ visibility: visible;
317
+ position: static;
318
+ overflow-y: auto;
319
+
320
+ .dropdown-header,
321
+ .dropdown-item,
322
+ .dropdown > .dropdown-item {
323
+ min-height: density.$clr-base-row-height-s;
324
+ }
325
+ }
326
+ }
@@ -0,0 +1,132 @@
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:map';
9
+ @use '../../styles/mixins';
10
+ @use '../../styles/variables/variables';
11
+ @use 'variables.dropdown' as dropdown-variables;
12
+ @use '../../styles/variables/variables.density' as density;
13
+ @use '../../styles/core/tokens/variables.tokens' as tokens;
14
+
15
+ @mixin generate-dropdown-menu() {
16
+ display: flex;
17
+ flex-direction: column;
18
+ position: absolute;
19
+ top: 100%;
20
+ left: 0;
21
+
22
+ //Dimensions
23
+ min-width: mixins.baselinePx(120);
24
+ max-width: mixins.baselinePx(360);
25
+
26
+ //Other
27
+ background-color: dropdown-variables.$clr-dropdown-bg-color;
28
+ border-width: tokens.$cds-alias-object-border-width-100;
29
+ border-style: solid;
30
+ border-color: dropdown-variables.$clr-dropdown-border-color;
31
+ border-radius: density.$clr-base-border-radius-s;
32
+ box-shadow: tokens.$cds-alias-object-shadow-200;
33
+ padding: density.$clr-base-vertical-offset-l density.$clr-base-layout-space-4xs;
34
+ visibility: hidden;
35
+ z-index: map.get(variables.$clr-layers, dropdown-menu);
36
+ }
37
+ @mixin generate-dropdown-item() {
38
+ @include mixins.generate-typography-token(
39
+ 'SECONDARY-13-RG-EXP',
40
+ (
41
+ font-weight: dropdown-variables.$clr-dropdown-item-font-weight,
42
+ )
43
+ );
44
+
45
+ color: dropdown-variables.$clr-dropdown-item-color;
46
+ background-color: dropdown-variables.$clr-dropdown-item-bg-color;
47
+ border: 0;
48
+ cursor: pointer;
49
+ display: flex;
50
+ gap: density.$clr-base-gap-xs;
51
+ align-items: center;
52
+ height: auto;
53
+ margin: 0;
54
+ width: 100%;
55
+ text-transform: none;
56
+
57
+ &.active {
58
+ color: dropdown-variables.$clr-dropdown-item-selected-color;
59
+ background-color: dropdown-variables.$clr-dropdown-item-selected-bg-color;
60
+ }
61
+
62
+ &:hover {
63
+ color: dropdown-variables.$clr-dropdown-item-hover-color;
64
+ background-color: dropdown-variables.$clr-dropdown-item-hover-bg-color;
65
+ text-decoration: none;
66
+
67
+ &.active {
68
+ background-color: dropdown-variables.$clr-dropdown-item-selected-hover-bg-color;
69
+ }
70
+ }
71
+
72
+ &:active {
73
+ color: dropdown-variables.$clr-dropdown-item-active-color;
74
+ background-color: dropdown-variables.$clr-dropdown-item-active-bg-color;
75
+
76
+ &.active {
77
+ background-color: dropdown-variables.$clr-dropdown-item-selected-active-bg-color;
78
+ }
79
+ }
80
+
81
+ &:focus {
82
+ z-index: inherit;
83
+ }
84
+
85
+ &.disabled,
86
+ &:disabled {
87
+ pointer-events: none;
88
+ color: dropdown-variables.$clr-dropdown-item-disabled-color;
89
+ background-color: dropdown-variables.$clr-dropdown-item-disabled-bg-color;
90
+ user-select: none;
91
+
92
+ &:hover {
93
+ background: none;
94
+ }
95
+
96
+ &:active {
97
+ background: none;
98
+ box-shadow: none;
99
+ }
100
+ }
101
+ }
102
+ @mixin generate-dropdown-header() {
103
+ display: block;
104
+ color: dropdown-variables.$clr-dropdown-header-color;
105
+
106
+ @include mixins.overflow-ellipsis(true);
107
+
108
+ // Typography
109
+
110
+ @include mixins.generate-typography-token(
111
+ 'SECONDARY-13-MD-EXP',
112
+ (
113
+ font-weight: dropdown-variables.$clr-dropdown-header-font-weight,
114
+ )
115
+ );
116
+
117
+ padding: 0 density.$clr-base-horizontal-offset-l;
118
+ margin: 0;
119
+ }
120
+ @mixin generate-dropdown-item-height() {
121
+ padding: 0 density.$clr-base-horizontal-offset-2xl 0 density.$clr-base-horizontal-offset-l;
122
+
123
+ @media screen and (max-width: map.get(variables.$clr-grid-breakpoints, sm)) {
124
+ padding: density.$clr-base-vertical-offset-s density.$clr-base-horizontal-offset-2xl;
125
+ }
126
+ }
127
+ @mixin dropdown-item-outline() {
128
+ outline-color: Highlight;
129
+ outline-color: -webkit-focus-ring-color;
130
+ outline-style: auto;
131
+ outline-offset: calc(-1 * tokens.$cds-global-space-2);
132
+ }
@@ -0,0 +1,50 @@
1
+ /*
2
+ * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.
3
+ * The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries.
4
+ * This software is released under MIT license.
5
+ * The full license information can be found in LICENSE in the root directory of this project.
6
+ */
7
+
8
+ @use '../../styles/mixins';
9
+ @use '../../styles/core/tokens/variables.tokens' as tokens;
10
+
11
+ @include mixins.exports('dropdown.properties') {
12
+ @include mixins.root-or-host() {
13
+ --clr-dropdown-divider-border-width: #{tokens.$cds-global-space-1};
14
+ --clr-dropdown-header-font-weight: #{tokens.$cds-alias-typography-font-weight-medium};
15
+ --clr-dropdown-item-font-weight: #{tokens.$cds-alias-typography-secondary-font-weight};
16
+
17
+ &,
18
+ & [cds-theme] {
19
+ // Usage: ../popover/dropdown/_dropdown.clarity.scss
20
+ --clr-dropdown-active-text-color: #{tokens.$cds-alias-object-interaction-color-active};
21
+ --clr-dropdown-bg-color: #{tokens.$cds-alias-object-container-background};
22
+ --clr-dropdown-border-color: #{tokens.$cds-alias-object-border-color};
23
+ --clr-dropdown-divider-color: #{tokens.$cds-alias-object-border-color-tint};
24
+ --clr-dropdown-child-border-color: #{tokens.$cds-alias-object-border-color};
25
+
26
+ // Usage: ../data/datagrid/_datagrid.clarity.scss
27
+ // Usage: ../emphasis/alert/_alert.clarity.scss
28
+ --clr-dropdown-text-color: #{tokens.$cds-alias-object-interaction-color};
29
+
30
+ // Usage: ../popover/dropdown/_dropdown.clarity.scss
31
+ // Dropdown Header
32
+ --clr-dropdown-header-color: #{tokens.$cds-alias-typography-color-400};
33
+
34
+ // Usage: ../popover/dropdown/_menu-mixins.clarity.scss
35
+ // Dropdown Item
36
+ --clr-dropdown-item-color: #{tokens.$cds-alias-object-interaction-color};
37
+ --clr-dropdown-item-bg-color: transparent;
38
+ --clr-dropdown-item-hover-color: #{tokens.$cds-alias-object-interaction-color-hover};
39
+ --clr-dropdown-item-hover-bg-color: #{tokens.$cds-alias-object-interaction-background-hover};
40
+ --clr-dropdown-item-active-color: #{tokens.$cds-alias-object-interaction-color-active};
41
+ --clr-dropdown-item-active-bg-color: #{tokens.$cds-alias-object-interaction-background-active};
42
+ --clr-dropdown-item-selected-color: #{tokens.$cds-alias-object-interaction-color-selected};
43
+ --clr-dropdown-item-selected-bg-color: #{tokens.$cds-alias-object-interaction-background-selected};
44
+ --clr-dropdown-item-selected-hover-bg-color: var(--cds-alias-object-interaction-background-selected-hover);
45
+ --clr-dropdown-item-selected-active-bg-color: var(--cds-alias-object-interaction-background-selected-active);
46
+ --clr-dropdown-item-disabled-color: #{tokens.$cds-alias-object-interaction-color-disabled};
47
+ --clr-dropdown-item-disabled-bg-color: transparent; // #{tokens.$cds-alias-object-interaction-background-disabled};
48
+ }
49
+ }
50
+ }
@@ -0,0 +1,36 @@
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-dropdown-active-text-color: var(--clr-dropdown-active-text-color) !default;
8
+ $clr-dropdown-bg-color: var(--clr-dropdown-bg-color) !default;
9
+ $clr-dropdown-border-color: var(--clr-dropdown-border-color) !default;
10
+ $clr-dropdown-divider-color: var(--clr-dropdown-divider-color) !default;
11
+ $clr-dropdown-divider-border-width: var(--clr-dropdown-divider-border-width) !default;
12
+ $clr-dropdown-child-border-color: var(--clr-dropdown-child-border-color) !default;
13
+
14
+ // Usage: ../data/datagrid/_datagrid.clarity.scss
15
+ // Usage: ../emphasis/alert/_alert.clarity.scss
16
+ $clr-dropdown-text-color: var(--clr-dropdown-text-color) !default;
17
+
18
+ // Dropdown Header
19
+ $clr-dropdown-header-color: var(--clr-dropdown-header-color) !default;
20
+ $clr-dropdown-header-font-weight: var(--clr-dropdown-header-font-weight) !default;
21
+
22
+ // Usage: ../popover/dropdown/_menu-mixins.clarity.scss
23
+ // Dropdown Item
24
+ $clr-dropdown-item-font-weight: var(--clr-dropdown-item-font-weight) !default;
25
+ $clr-dropdown-item-color: var(--clr-dropdown-item-color) !default;
26
+ $clr-dropdown-item-bg-color: var(--clr-dropdown-item-bg-color) !default;
27
+ $clr-dropdown-item-hover-color: var(--clr-dropdown-item-hover-color) !default;
28
+ $clr-dropdown-item-hover-bg-color: var(--clr-dropdown-item-hover-bg-color) !default;
29
+ $clr-dropdown-item-active-color: var(--clr-dropdown-item-active-color) !default;
30
+ $clr-dropdown-item-active-bg-color: var(--clr-dropdown-item-active-bg-color) !default;
31
+ $clr-dropdown-item-selected-color: var(--clr-dropdown-item-selected-color) !default;
32
+ $clr-dropdown-item-selected-bg-color: var(--clr-dropdown-item-selected-bg-color) !default;
33
+ $clr-dropdown-item-selected-hover-bg-color: var(--clr-dropdown-item-selected-hover-bg-color) !default;
34
+ $clr-dropdown-item-selected-active-bg-color: var(--clr-dropdown-item-selected-active-bg-color) !default;
35
+ $clr-dropdown-item-disabled-color: var(--clr-dropdown-item-disabled-color) !default;
36
+ $clr-dropdown-item-disabled-bg-color: var(--clr-dropdown-item-disabled-bg-color) !default;
@@ -0,0 +1,34 @@
1
+ /*
2
+ * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.
3
+ * The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries.
4
+ * This software is released under MIT license.
5
+ * The full license information can be found in LICENSE in the root directory of this project.
6
+ */
7
+
8
+ @use '../../styles/mixins';
9
+ @use '../../styles/variables/variables.density' as density;
10
+ @use '../../styles/core/tokens/variables.tokens' as tokens;
11
+
12
+ @include mixins.exports('signpost.properties') {
13
+ @include mixins.root-or-host() {
14
+ &,
15
+ & [clr-density] {
16
+ --clr-signpost-border-radius: #{density.$clr-base-border-radius-s};
17
+ --clr-signpost-pointer-size: #{density.$clr-base-layout-space-s};
18
+ }
19
+
20
+ &,
21
+ & [cds-theme] {
22
+ // Usage: ../signpost/_signpost.clarity.scss
23
+ --clr-signpost-content-color: #{tokens.$cds-alias-typography-color-400};
24
+ --clr-signpost-content-bg-color: #{tokens.$cds-alias-object-container-background};
25
+ --clr-signpost-content-border-color: #{tokens.$cds-alias-object-interaction-border-color};
26
+ --clr-signpost-action-color: #{tokens.$cds-alias-object-interaction-color};
27
+ --clr-signpost-action-hover-color: #{tokens.$cds-alias-object-interaction-color-hover};
28
+ --clr-signpost-action-active-color: #{tokens.$cds-alias-object-interaction-color-active};
29
+ --clr-signpost-pointer-border: var(--clr-signpost-pointer-size) solid var(--clr-signpost-content-border-color);
30
+ --clr-signpost-pointer-invisible-border: var(--clr-signpost-pointer-size) solid transparent;
31
+ --clr-signpost-pointer-pseudo-border: var(--clr-signpost-pointer-size) solid var(--clr-signpost-content-bg-color);
32
+ }
33
+ }
34
+ }