@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,362 @@
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 'sass:meta';
10
+ @use '../styles/mixins';
11
+ @use '../styles/variables/variables';
12
+ @use 'variables.modal' as modal-variables;
13
+ @use '../styles/core/tokens/variables.tokens' as tokens;
14
+ @use '../styles/variables/variables.density' as density;
15
+
16
+ @include meta.load-css('properties.modal');
17
+ @include mixins.exports('modal.clarity') {
18
+ .clr-side-panel-pinned-right-sm {
19
+ padding-right: modal-variables.$clr-modal-sm-width !important;
20
+ }
21
+
22
+ .clr-side-panel-pinned-right-md {
23
+ padding-right: modal-variables.$clr-modal-md-width !important;
24
+ }
25
+
26
+ .clr-side-panel-pinned-right-lg {
27
+ padding-right: modal-variables.$clr-modal-lg-width !important;
28
+ }
29
+
30
+ .clr-side-panel-pinned-right-xl {
31
+ padding-right: modal-variables.$clr-modal-xl-width !important;
32
+ }
33
+
34
+ $modal-height-width-ratio: 0.5;
35
+ // We need to be able to show at least title and buttons
36
+ $min-bottom-side-panel-height: calc(modal-variables.$clr-modal-sm-width * 0.6);
37
+
38
+ .clr-side-panel-pinned-bottom-sm {
39
+ padding-bottom: calc(modal-variables.$clr-modal-sm-width * $modal-height-width-ratio) !important;
40
+ }
41
+
42
+ .clr-side-panel-pinned-bottom-md {
43
+ padding-bottom: calc(modal-variables.$clr-modal-md-width * $modal-height-width-ratio) !important;
44
+ }
45
+
46
+ .clr-side-panel-pinned-bottom-lg {
47
+ padding-bottom: calc(modal-variables.$clr-modal-lg-width * $modal-height-width-ratio) !important;
48
+ }
49
+
50
+ .clr-side-panel-pinned-bottom-xl {
51
+ padding-bottom: calc(modal-variables.$clr-modal-xl-width * $modal-height-width-ratio) !important;
52
+ }
53
+
54
+ .clr-modal-host {
55
+ overflow: hidden;
56
+ position: relative;
57
+
58
+ .modal,
59
+ .modal-backdrop {
60
+ position: absolute;
61
+ }
62
+
63
+ .clr-modal-host-scrollable {
64
+ height: 100%;
65
+ overflow-y: auto;
66
+ }
67
+ }
68
+
69
+ .modal {
70
+ position: fixed;
71
+ inset: 0;
72
+ z-index: map.get(variables.$clr-layers, modal);
73
+ display: flex;
74
+ flex-direction: column;
75
+ justify-content: center;
76
+ align-items: center;
77
+ padding: calc(modal-variables.$clr-modal-vertical-space * 2) calc(modal-variables.$clr-modal-horizontal-space * 2);
78
+ max-width: 100%;
79
+
80
+ @media screen and (max-width: map.get(variables.$clr-grid-breakpoints, sm)) {
81
+ padding: calc(modal-variables.$clr-modal-vertical-space / 2) calc(modal-variables.$clr-modal-horizontal-space / 2);
82
+ }
83
+
84
+ .modal-body {
85
+ padding: modal-variables.$clr-modal-vertical-gap modal-variables.$clr-modal-horizontal-space;
86
+ }
87
+ }
88
+
89
+ .side-panel {
90
+ .modal {
91
+ left: initial;
92
+ padding: 0;
93
+
94
+ .modal-content-wrapper {
95
+ height: 100%;
96
+
97
+ .modal-content {
98
+ height: 100%;
99
+ display: flex;
100
+ flex-direction: column;
101
+ }
102
+ }
103
+
104
+ .modal-dialog {
105
+ border: none;
106
+ border-radius: 0;
107
+ height: 100%;
108
+ }
109
+
110
+ &.modal-full-screen {
111
+ inset: 0;
112
+ padding: 0;
113
+ }
114
+
115
+ .modal-body-wrapper {
116
+ flex: 1 1;
117
+ max-height: 100%;
118
+ }
119
+ }
120
+
121
+ &.side-panel-bottom {
122
+ .modal:not(.modal-full-screen) {
123
+ top: initial;
124
+ width: 100%;
125
+ justify-content: end;
126
+ max-height: 100%;
127
+ min-height: $min-bottom-side-panel-height;
128
+ height: calc(modal-variables.$clr-modal-md-width * $modal-height-width-ratio);
129
+
130
+ &:has(.modal-sm) {
131
+ height: calc(modal-variables.$clr-modal-sm-width * $modal-height-width-ratio);
132
+ }
133
+
134
+ &:has(.modal-lg) {
135
+ height: calc(modal-variables.$clr-modal-lg-width * $modal-height-width-ratio);
136
+ }
137
+
138
+ &:has(.modal-xl) {
139
+ height: calc(modal-variables.$clr-modal-xl-width * $modal-height-width-ratio);
140
+ }
141
+ }
142
+
143
+ .modal-dialog {
144
+ max-height: 100%;
145
+ width: 100%;
146
+ }
147
+ }
148
+ }
149
+
150
+ .modal-dialog {
151
+ position: relative;
152
+ z-index: map.get(variables.$clr-layers, modal);
153
+ width: modal-variables.$clr-modal-md-width;
154
+ border-radius: modal-variables.$clr-modal-border-radius;
155
+ box-shadow: modal-variables.$clr-modal-content-box-shadow;
156
+ border: tokens.$cds-alias-object-border-width-100 solid tokens.$cds-alias-object-container-border-color;
157
+ background-color: modal-variables.$clr-modal-bg-color;
158
+ max-width: 100%;
159
+
160
+ &.modal-sm {
161
+ width: modal-variables.$clr-modal-sm-width;
162
+ }
163
+
164
+ &.modal-lg {
165
+ width: modal-variables.$clr-modal-lg-width;
166
+ }
167
+
168
+ &.modal-xl {
169
+ width: modal-variables.$clr-modal-xl-width;
170
+ }
171
+ }
172
+
173
+ .modal-header {
174
+ border-bottom: none;
175
+ padding: modal-variables.$clr-modal-vertical-space modal-variables.$clr-modal-horizontal-space 0;
176
+
177
+ & + .modal-footer {
178
+ padding-top: modal-variables.$clr-modal-vertical-gap;
179
+ }
180
+
181
+ // TODO: This class is used only in the clr-modal template.
182
+ // It should be merged this with `.modal-header` in a major version
183
+ // because this would be breaking for the static modals.
184
+ &--accessible {
185
+ @extend .modal-header;
186
+
187
+ display: flex;
188
+ justify-content: space-between;
189
+ align-items: flex-start;
190
+ }
191
+
192
+ .modal-title,
193
+ .side-panel-title {
194
+ color: modal-variables.$clr-modal-title-color;
195
+ margin: 0;
196
+
197
+ &:not([cds-text]) {
198
+ //cds-text do not have color, margin
199
+ font-family: modal-variables.$clr-modal-title-font-family; //TODO remove line and PI tokens in GA 17+
200
+ //TODO remove API tokens overrides in GA 17+
201
+
202
+ @include mixins.generate-typography-token(
203
+ 'SECTION-20-STD',
204
+ (
205
+ font-size: modal-variables.$clr-modal-title-font-size,
206
+ font-weight: modal-variables.$clr-modal-title-font-weight,
207
+ line-height: modal-variables.$clr-modal-title-line-height,
208
+ letter-spacing: modal-variables.$clr-modal-title-letter-spacing,
209
+ )
210
+ );
211
+ }
212
+ }
213
+
214
+ .close,
215
+ .pinnable {
216
+ font-size: initial;
217
+ line-height: initial;
218
+
219
+ cds-icon,
220
+ clr-icon {
221
+ fill: modal-variables.$clr-modal-close-color;
222
+
223
+ &:not([size]) {
224
+ // per measurement, this results in an icon that is 24x24...
225
+
226
+ @include mixins.equilateral(modal-variables.$clr-modal-icon-size);
227
+ }
228
+ }
229
+
230
+ &:hover {
231
+ cds-icon,
232
+ clr-icon {
233
+ fill: variables.$clr-close-color-hover;
234
+ }
235
+
236
+ &:active {
237
+ cds-icon,
238
+ clr-icon {
239
+ fill: variables.$clr-close-color-active;
240
+ }
241
+ }
242
+ }
243
+ }
244
+
245
+ .pinnable {
246
+ padding: 0;
247
+ cursor: pointer;
248
+ background: transparent;
249
+ border: 0;
250
+ margin-right: modal-variables.$clr-modal-horizontal-gap;
251
+ appearance: none;
252
+ }
253
+ }
254
+
255
+ .modal-title-wrapper {
256
+ flex: 1;
257
+
258
+ .modal-title,
259
+ .side-panel-title {
260
+ h3 {
261
+ margin-top: 0;
262
+ }
263
+ }
264
+ }
265
+
266
+ .modal-body-wrapper {
267
+ // This doesn't do much, but at least with several paragraphs in the content
268
+ // it doesn't mess up the modal's proportions.
269
+ max-height: 70vh;
270
+ overflow: hidden auto;
271
+
272
+ .modal-body,
273
+ .side-panel-body {
274
+ color: tokens.$cds-alias-typography-color-400;
275
+
276
+ @include mixins.generate-typography-token('BODY-14-RG-STD');
277
+ }
278
+
279
+ & > :first-child {
280
+ margin-top: 0;
281
+ }
282
+
283
+ & > :last-child {
284
+ margin-bottom: 0;
285
+ }
286
+ }
287
+
288
+ .modal-footer {
289
+ padding: 0 modal-variables.$clr-modal-horizontal-space modal-variables.$clr-modal-vertical-space;
290
+ }
291
+
292
+ .modal-footer,
293
+ .side-panel-footer {
294
+ display: flex;
295
+ justify-content: flex-end;
296
+ gap: modal-variables.$clr-modal-horizontal-gap;
297
+
298
+ .btn {
299
+ //switched right margin to left because footer is right aligned
300
+ margin: 0;
301
+ }
302
+ }
303
+
304
+ @media screen and (max-width: map.get(variables.$clr-grid-breakpoints, md)) and (orientation: landscape) {
305
+ .modal-body-wrapper {
306
+ max-height: 55vh;
307
+ }
308
+ }
309
+ @media screen and (max-width: map.get(variables.$clr-grid-breakpoints, sm)) {
310
+ .modal-body-wrapper {
311
+ max-height: 55vh;
312
+ }
313
+ }
314
+
315
+ .modal-backdrop {
316
+ position: fixed;
317
+ inset: -100vh 0 0 -100vw;
318
+ background-color: modal-variables.$clr-modal-backdrop-color;
319
+ z-index: map.get(variables.$clr-layers, modal-bg);
320
+
321
+ &.static {
322
+ pointer-events: none;
323
+ }
324
+ }
325
+
326
+ // modal-nav is only used in wizards
327
+ .modal .modal-nav {
328
+ display: none;
329
+ }
330
+
331
+ // full-screen modals
332
+ .modal.modal-full-screen {
333
+ padding: modal-variables.$clr-modal-vertical-space modal-variables.$clr-modal-horizontal-space;
334
+ height: 100%;
335
+
336
+ .modal-dialog {
337
+ display: flex;
338
+ width: 100%;
339
+ height: 100%;
340
+
341
+ .modal-content-wrapper {
342
+ display: flex;
343
+ flex-grow: 1;
344
+ }
345
+
346
+ // This cannot be nested inside `.modal-content-wrapper` because that class is not documented for static css-only modals.
347
+ .modal-content {
348
+ display: flex;
349
+ flex-direction: column;
350
+ flex-grow: 1;
351
+ }
352
+
353
+ .modal-body-wrapper,
354
+ // This is needed because the `.modal-body-wrapper` class is not documented for static css-only modals.
355
+ .modal-body {
356
+ // Fill space to push footer to bottom.
357
+ flex-grow: 1;
358
+ max-height: 100%;
359
+ }
360
+ }
361
+ }
362
+ }
@@ -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:color';
9
+ @use '../styles/mixins';
10
+ @use '../styles/variables/variables';
11
+ @use './variables.modal' as modal-variables;
12
+ @use '../styles/variables/variables.density' as density;
13
+ @use '../styles/core/tokens/variables.tokens' as tokens;
14
+
15
+ @include mixins.exports('modal.properties') {
16
+ @include mixins.root-or-host() {
17
+ // sizes
18
+ --clr-modal-sm-width: #{mixins.baselinePx(288)};
19
+ --clr-modal-md-width: #{mixins.baselinePx(576)};
20
+ --clr-modal-lg-width: #{mixins.baselinePx(864)};
21
+ --clr-modal-xl-width: #{mixins.baselinePx(1152)};
22
+ --clr-modal-title-font-family: #{variables.$clr-font};
23
+ --clr-modal-title-font-weight: #{tokens.$cds-alias-typography-section-font-weight};
24
+ --clr-modal-title-letter-spacing: #{mixins.baselinePx(-0.2)};
25
+
26
+ &,
27
+ & [clr-density] {
28
+ --clr-modal-border-radius: #{density.$clr-base-border-radius-s};
29
+ --clr-modal-title-font-size: #{density.$clr-base-typography-font-size-section};
30
+ --clr-modal-title-line-height: #{density.$clr-base-typography-line-height-24};
31
+ }
32
+
33
+ &,
34
+ & [cds-theme] {
35
+ // color
36
+ --clr-modal-close-color: var(--clr-close-color);
37
+ --clr-modal-bg-color: #{tokens.$cds-alias-object-container-background};
38
+ --clr-modal-content-box-shadow: #{tokens.$cds-alias-object-shadow-300};
39
+ --clr-modal-backdrop-color: #{tokens.$cds-alias-object-overlay-backdrop-background};
40
+
41
+ // title
42
+ --clr-modal-title-color: #{tokens.$cds-alias-typography-color-400};
43
+ }
44
+ }
45
+ }
@@ -0,0 +1,38 @@
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:color';
9
+ @use '../styles/core/tokens/variables.tokens' as tokens;
10
+ @use '../styles/variables/variables.density' as density;
11
+
12
+ // Usage: ../modal/_modal.clarity.scss
13
+ $clr-modal-horizontal-space: density.$clr-base-horizontal-offset-2xl !default;
14
+ $clr-modal-vertical-space: density.$clr-base-vertical-offset-2xl !default;
15
+ $clr-modal-vertical-gap: density.$clr-base-gap-xl !default;
16
+ $clr-modal-horizontal-gap: density.$clr-base-gap-s !default;
17
+ $clr-modal-border-radius: var(--clr-modal-border-radius) !default;
18
+ $clr-modal-icon-size: density.$clr-base-icon-size-l !default;
19
+
20
+ $clr-modal-close-color: var(--clr-modal-close-color) !default;
21
+ $clr-modal-bg-color: var(--clr-modal-bg-color) !default;
22
+ $clr-modal-content-box-shadow: var(--clr-modal-content-box-shadow) !default;
23
+ $clr-modal-backdrop-color: var(--clr-modal-backdrop-color) !default;
24
+
25
+ // Usage: ../modal/_modal.clarity.scss
26
+ // Usage: ../wizard/_wizard.clarity.scss
27
+ $clr-modal-sm-width: var(--clr-modal-sm-width) !default;
28
+ $clr-modal-md-width: var(--clr-modal-md-width) !default;
29
+ $clr-modal-lg-width: var(--clr-modal-lg-width) !default;
30
+ $clr-modal-xl-width: var(--clr-modal-xl-width) !default;
31
+
32
+ // Usage: ../modal/_modal.clarity.scss
33
+ $clr-modal-title-color: var(--clr-modal-title-color) !default;
34
+ $clr-modal-title-font-size: var(--clr-modal-title-font-size) !default;
35
+ $clr-modal-title-font-family: var(--clr-modal-title-font-family) !default;
36
+ $clr-modal-title-font-weight: var(--clr-modal-title-font-weight) !default;
37
+ $clr-modal-title-line-height: var(--clr-modal-title-line-height) !default;
38
+ $clr-modal-title-letter-spacing: var(--clr-modal-title-letter-spacing) !default;
package/package.json ADDED
@@ -0,0 +1,15 @@
1
+ {
2
+ "name": "@rossigee/clarity-ui",
3
+ "version": "18.2.1-fixed",
4
+ "description": "CSS for Clarity",
5
+ "homepage": "https://clarity.design",
6
+ "repository": {
7
+ "type": "git",
8
+ "url": "https://github.com/rossigee/ng-clarity.git"
9
+ },
10
+ "author": "Clarity Design System",
11
+ "license": "MIT",
12
+ "bugs": {
13
+ "url": "https://github.com/rossigee/ng-clarity/issues"
14
+ }
15
+ }
@@ -0,0 +1,28 @@
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.global';
11
+ @use '@angular/cdk/overlay-prebuilt.css';
12
+
13
+ @include mixins.exports('popover.clarity') {
14
+ .is-off-screen {
15
+ @include mixins.off-screen-styles();
16
+ }
17
+
18
+ .clr-popover-content {
19
+ z-index: map.get(variables.$clr-layers, smart-popover);
20
+ }
21
+
22
+ .clr-overlay-container {
23
+ &,
24
+ .cdk-overlay-connected-position-bounding-box {
25
+ z-index: map.get(variables.$clr-layers, smart-popover);
26
+ }
27
+ }
28
+ }