@workday/canvas-kit-css 14.0.0-alpha.1168-next.0 → 14.0.0-alpha.1171-next.0

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.
package/button.css ADDED
@@ -0,0 +1,757 @@
1
+ .cnvs-button {
2
+ box-sizing: border-box;
3
+ font-family: "Roboto","Helvetica Neue","Helvetica",Arial,sans-serif;
4
+ font-size: 0.875rem;
5
+ line-height: normal;
6
+ letter-spacing: 0.015rem;
7
+ font-weight: var(--cnvs-sys-font-weight-bold);
8
+ background-color: var(--cnvs-button-color-prop-default-background, var(--cnvs-button-background, transparent));
9
+ color: var(--cnvs-button-color-prop-default-label, var(--cnvs-button-label, var(--cnvs-sys-color-fg-strong)));
10
+ border-width: 0.0625rem;
11
+ border-style: solid;
12
+ gap: var(--cnvs-sys-space-x2);
13
+ border-color: var(--cnvs-button-color-prop-default-border, var(--cnvs-button-border, transparent));
14
+ cursor: pointer;
15
+ display: inline-flex;
16
+ box-shadow: none;
17
+ align-items: center;
18
+ justify-content: center;
19
+ outline: 0.125rem transparent;
20
+ white-space: nowrap;
21
+ -webkit-font-smoothing: antialiased;
22
+ -moz-osx-font-smoothing: grayscale;
23
+ border-radius: var(--cnvs-button-color-prop-default-border-radius, var(--cnvs-button-border-radius, var(--cnvs-sys-shape-round)));
24
+ position: relative;
25
+ vertical-align: middle;
26
+ overflow: hidden;
27
+ --cnvs-system-icon-color: var(--cnvs-button-color-prop-default-icon, var(--cnvs-sys-color-fg-strong));
28
+ transition: box-shadow 120ms linear,border 120ms linear,background-color 120ms linear,color 120ms linear;
29
+ }
30
+
31
+ .cnvs-button:disabled, .cnvs-button:disabled:active, .cnvs-button.disabled {
32
+ cursor: default;
33
+ box-shadow: none;
34
+ opacity: var(--cnvs-button-color-prop-default-opacity, var(--cnvs-button-opacity, var(--cnvs-sys-opacity-full)));
35
+ }
36
+
37
+ .cnvs-button:focus-visible, .cnvs-button.focus {
38
+ background-color: var(--cnvs-button-color-prop-focus-background, var(--cnvs-button-background, transparent));
39
+ border-color: var(--cnvs-button-color-prop-focus-border, var(--cnvs-button-border, transparent));
40
+ color: var(--cnvs-button-color-prop-focus-label, var(--cnvs-button-label, var(--cnvs-sys-color-fg-strong)));
41
+ --cnvs-system-icon-color: var(--cnvs-button-color-prop-focus-icon, var(--cnvs-sys-color-fg-strong));
42
+ outline: 0.125rem solid transparent;
43
+ outline-offset: 0.125rem;
44
+ box-shadow: 0 0 0 2px var(--cnvs-button-color-prop-focus-box-shadow-inner, var(--cnvs-button-box-shadow-inner, var(--cnvs-sys-color-border-inverse))),0 0 0 4px var(--cnvs-button-color-prop-focus-box-shadow-outer, var(--cnvs-button-box-shadow-outer, var(--cnvs-brand-common-focus-outline)));
45
+ }
46
+
47
+ .cnvs-button:hover, .cnvs-button.hover {
48
+ background-color: var(--cnvs-button-color-prop-hover-background, var(--cnvs-button-background, var(--cnvs-sys-color-bg-contrast-strong)));
49
+ border-color: var(--cnvs-button-color-prop-hover-border, var(--cnvs-button-border, transparent));
50
+ color: var(--cnvs-button-color-prop-hover-label, var(--cnvs-button-label, var(--cnvs-sys-color-fg-stronger)));
51
+ --cnvs-system-icon-color: var(--cnvs-button-color-prop-hover-icon, var(--cnvs-sys-color-fg-stronger));
52
+ }
53
+
54
+ .cnvs-button:hover:active {
55
+ transition-duration: 40ms;
56
+ }
57
+
58
+ .cnvs-button:active, .cnvs-button.active {
59
+ background-color: var(--cnvs-button-color-prop-active-background, var(--cnvs-button-background, transparent));
60
+ border-color: var(--cnvs-button-color-prop-active-border, var(--cnvs-button-border, transparent));
61
+ color: var(--cnvs-button-color-prop-active-label, var(--cnvs-button-label, var(--cnvs-sys-color-fg-strong)));
62
+ --cnvs-system-icon-color: var(--cnvs-button-color-prop-active-icon, var(--cnvs-sys-color-fg-strong));
63
+ }
64
+
65
+ .cnvs-button:disabled, .cnvs-button.disabled {
66
+ background-color: var(--cnvs-button-color-prop-disabled-background, var(--cnvs-button-background, transparent));
67
+ border-color: var(--cnvs-button-color-prop-disabled-border, var(--cnvs-button-border, transparent));
68
+ color: var(--cnvs-button-color-prop-disabled-label, var(--cnvs-button-label, var(--cnvs-sys-color-fg-strong)));
69
+ --cnvs-system-icon-color: var(--cnvs-button-color-prop-disabled-icon, var(--cnvs-sys-color-fg-strong));
70
+ }
71
+
72
+ @media (prefers-contrast: more) {
73
+ .cnvs-button[aria-pressed="true"] {
74
+ outline: 0.125rem solid transparent;
75
+ outline-offset: -0.0625rem;
76
+ }
77
+
78
+ .cnvs-button[aria-pressed="true"]:focus-visible, .cnvs-button[aria-pressed="true"].focus {
79
+ outline: 0.25rem double transparent;
80
+ outline-offset: 0;
81
+ }
82
+
83
+
84
+ }
85
+
86
+ .cnvs-button svg {
87
+ pointer-events: none;
88
+ }
89
+
90
+
91
+ .cnvs-button.size-large {
92
+ font-family: var(--cnvs-sys-font-family-default);
93
+ font-weight: var(--cnvs-sys-font-weight-bold);
94
+ line-height: var(--cnvs-sys-line-height-body-small);
95
+ font-size: var(--cnvs-sys-font-size-body-small);
96
+ letter-spacing: var(--cnvs-base-letter-spacing-200);
97
+ height: 3rem;
98
+ padding-inline: var(--cnvs-sys-space-x8);
99
+ min-width: 7rem;
100
+ }
101
+
102
+
103
+ .cnvs-button.size-medium {
104
+ font-family: var(--cnvs-sys-font-family-default);
105
+ font-weight: var(--cnvs-sys-font-weight-bold);
106
+ line-height: var(--cnvs-sys-line-height-subtext-large);
107
+ font-size: var(--cnvs-sys-font-size-subtext-large);
108
+ letter-spacing: var(--cnvs-base-letter-spacing-150);
109
+ min-width: 6rem;
110
+ padding-inline: var(--cnvs-sys-space-x6);
111
+ height: var(--cnvs-sys-space-x10);
112
+ }
113
+
114
+
115
+ .cnvs-button.size-small {
116
+ font-family: var(--cnvs-sys-font-family-default);
117
+ font-weight: var(--cnvs-sys-font-weight-bold);
118
+ line-height: var(--cnvs-sys-line-height-subtext-large);
119
+ font-size: var(--cnvs-sys-font-size-subtext-large);
120
+ letter-spacing: var(--cnvs-base-letter-spacing-150);
121
+ height: var(--cnvs-sys-space-x8);
122
+ min-width: var(--cnvs-sys-space-x20);
123
+ padding-inline: var(--cnvs-sys-space-x4);
124
+ gap: var(--cnvs-sys-space-x1);
125
+ }
126
+
127
+
128
+ .cnvs-button.size-extra-small {
129
+ font-family: var(--cnvs-sys-font-family-default);
130
+ font-weight: var(--cnvs-sys-font-weight-bold);
131
+ line-height: var(--cnvs-sys-line-height-subtext-medium);
132
+ font-size: var(--cnvs-sys-font-size-subtext-medium);
133
+ letter-spacing: var(--cnvs-base-letter-spacing-100);
134
+ height: var(--cnvs-sys-space-x6);
135
+ min-width: auto;
136
+ padding-inline: var(--cnvs-sys-space-x3);
137
+ gap: var(--cnvs-sys-space-x1);
138
+ }
139
+
140
+
141
+ .cnvs-button.grow {
142
+ width: 100%;
143
+ max-width: 100%;
144
+ }
145
+
146
+
147
+ .cnvs-button.icon-position-only {
148
+ padding: var(--cnvs-sys-space-zero);
149
+ }
150
+
151
+
152
+
153
+
154
+ .cnvs-button.size-large.icon-position-only {
155
+ min-width: calc(var(--cnvs-sys-space-x4) * 3);
156
+ }
157
+
158
+
159
+ .cnvs-button.size-large.icon-position-start {
160
+ padding-inline-start: var(--cnvs-sys-space-x6);
161
+ padding-inline-end: var(--cnvs-sys-space-x8);
162
+ }
163
+
164
+
165
+ .cnvs-button.size-large.icon-position-end {
166
+ padding-inline-start: var(--cnvs-sys-space-x8);
167
+ padding-inline-end: var(--cnvs-sys-space-x6);
168
+ }
169
+
170
+
171
+ .cnvs-button.size-medium.icon-position-only {
172
+ min-width: var(--cnvs-sys-space-x10);
173
+ }
174
+
175
+
176
+ .cnvs-button.size-medium.icon-position-start {
177
+ padding-inline-start: calc(var(--cnvs-sys-space-x1) * 5);
178
+ padding-inline-end: var(--cnvs-sys-space-x6);
179
+ }
180
+
181
+
182
+ .cnvs-button.size-medium.icon-position-end {
183
+ padding-inline-start: var(--cnvs-sys-space-x6);
184
+ padding-inline-end: calc(var(--cnvs-sys-space-x1) * 5);
185
+ }
186
+
187
+
188
+ .cnvs-button.size-small.icon-position-only {
189
+ min-width: var(--cnvs-sys-space-x8);
190
+ }
191
+
192
+
193
+ .cnvs-button.size-small.icon-position-start {
194
+ padding-inline-start: var(--cnvs-sys-space-x3);
195
+ padding-inline-end: var(--cnvs-sys-space-x4);
196
+ }
197
+
198
+
199
+ .cnvs-button.size-small.icon-position-end {
200
+ padding-inline-start: var(--cnvs-sys-space-x4);
201
+ padding-inline-end: var(--cnvs-sys-space-x3);
202
+ }
203
+
204
+
205
+ .cnvs-button.size-extraSmall.icon-position-only {
206
+ min-width: var(--cnvs-sys-space-x6);
207
+ }
208
+
209
+
210
+ .cnvs-button.size-extraSmall.icon-position-start {
211
+ padding-inline-start: var(--cnvs-sys-space-x2);
212
+ padding-inline-end: var(--cnvs-sys-space-x3);
213
+ }
214
+
215
+
216
+ .cnvs-button.size-extraSmall.icon-position-end {
217
+ padding-inline-start: var(--cnvs-sys-space-x3);
218
+ padding-inline-end: var(--cnvs-sys-space-x2);
219
+ }
220
+
221
+
222
+ .cnvs-tertiary-button {
223
+ box-sizing: border-box;
224
+ padding-inline: var(--cnvs-sys-space-x2);
225
+ min-width: auto;
226
+ text-decoration: underline;
227
+ border: var(--cnvs-sys-space-zero);
228
+ --cnvs-button-background: transparent;
229
+ --cnvs-button-border-radius: var(--cnvs-sys-shape-x1);
230
+ --cnvs-button-label: var(--cnvs-brand-primary-base);
231
+ --cnvs-system-icon-color: var(--cnvs-button-color-prop-default-icon, var(--cnvs-brand-primary-base));
232
+ }
233
+
234
+ .cnvs-tertiary-button:focus-visible, .cnvs-tertiary-button.focus {
235
+ --cnvs-button-background: transparent;
236
+ --cnvs-button-label: var(--cnvs-brand-primary-base);
237
+ --cnvs-button-box-shadow-inner: var(--cnvs-brand-common-focus-outline);
238
+ --cnvs-button-box-shadow-outer: var(--cnvs-brand-common-focus-outline);
239
+ --cnvs-system-icon-color: var(--cnvs-button-color-prop-focus-icon, var(--cnvs-brand-primary-base));
240
+ box-shadow: 0 0 0 0px var(--cnvs-sys-color-border-inverse),0 0 0 2px var(--cnvs-brand-common-focus-outline);
241
+ }
242
+
243
+ .cnvs-tertiary-button:hover, .cnvs-tertiary-button.hover {
244
+ --cnvs-button-background: var(--cnvs-sys-color-bg-alt-default);
245
+ --cnvs-button-label: var(--cnvs-brand-primary-dark);
246
+ --cnvs-system-icon-color: var(--cnvs-button-color-prop-hover-icon, var(--cnvs-brand-primary-dark));
247
+ }
248
+
249
+ .cnvs-tertiary-button:active, .cnvs-tertiary-button.active {
250
+ --cnvs-button-background: var(--cnvs-sys-color-bg-alt-strong);
251
+ --cnvs-button-label: var(--cnvs-brand-primary-darkest);
252
+ --cnvs-system-icon-color: var(--cnvs-button-color-prop-active-icon, var(--cnvs-brand-primary-darkest));
253
+ }
254
+
255
+ .cnvs-tertiary-button:disabled, .cnvs-tertiary-button.disabled {
256
+ --cnvs-button-background: transparent;
257
+ --cnvs-button-label: var(--cnvs-brand-primary-base);
258
+ --cnvs-button-opacity: var(--cnvs-sys-opacity-disabled);
259
+ --cnvs-system-icon-color: var(--cnvs-button-color-prop-active-icon, var(--cnvs-brand-primary-base));
260
+ }
261
+
262
+
263
+ .cnvs-tertiary-button.icon-position-only {
264
+ padding: 0;
265
+ border-radius: var(--cnvs-sys-shape-round);
266
+ --cnvs-system-icon-color: var(--cnvs-button-color-prop-default-icon, var(--cnvs-sys-color-fg-strong));
267
+ }
268
+
269
+ .cnvs-tertiary-button.icon-position-only:focus-visible, .cnvs-tertiary-button.icon-position-only.focus {
270
+ --cnvs-system-icon-color: var(--cnvs-button-color-prop-focus-icon, var(--cnvs-sys-color-fg-strong));
271
+ }
272
+
273
+ .cnvs-tertiary-button.icon-position-only:hover, .cnvs-tertiary-button.icon-position-only.hover {
274
+ --cnvs-system-icon-color: var(--cnvs-button-color-prop-hover-icon, var(--cnvs-sys-color-fg-strong));
275
+ }
276
+
277
+ .cnvs-tertiary-button.icon-position-only:active, .cnvs-tertiary-button.icon-position-only.active {
278
+ --cnvs-system-icon-color: var(--cnvs-button-color-prop-active-icon, var(--cnvs-sys-color-fg-strong));
279
+ }
280
+
281
+ .cnvs-tertiary-button.icon-position-only:disabled, .cnvs-tertiary-button.icon-position-only.disabled {
282
+ --cnvs-system-icon-color: var(--cnvs-button-color-prop-disabled-icon, var(--cnvs-sys-color-fg-strong));
283
+ }
284
+
285
+
286
+
287
+
288
+ .cnvs-tertiary-button.is-themeable {
289
+ --cnvs-system-icon-color: var(--cnvs-button-color-prop-default-icon, var(--cnvs-brand-primary-base));
290
+ }
291
+
292
+ .cnvs-tertiary-button.is-themeable:focus-visible, .cnvs-tertiary-button.is-themeable.focus {
293
+ --cnvs-system-icon-color: var(--cnvs-button-color-prop-focus-icon, var(--cnvs-brand-primary-base));
294
+ }
295
+
296
+ .cnvs-tertiary-button.is-themeable:hover, .cnvs-tertiary-button.is-themeable.hover {
297
+ --cnvs-system-icon-color: var(--cnvs-button-color-prop-hover-icon, var(--cnvs-brand-primary-dark));
298
+ }
299
+
300
+ .cnvs-tertiary-button.is-themeable:active, .cnvs-tertiary-button.is-themeable.active {
301
+ --cnvs-system-icon-color: var(--cnvs-button-color-prop-active-icon, var(--cnvs-brand-primary-darkest));
302
+ }
303
+
304
+ .cnvs-tertiary-button.is-themeable:disabled, .cnvs-tertiary-button.is-themeable.disabled {
305
+ --cnvs-system-icon-color: var(--cnvs-button-color-prop-disabled-icon, var(--cnvs-brand-primary-base));
306
+ }
307
+
308
+
309
+ .cnvs-tertiary-button.variant-inverse {
310
+ --cnvs-button-background: transparent;
311
+ --cnvs-button-label: var(--cnvs-sys-color-fg-inverse);
312
+ --cnvs-system-icon-color: var(--cnvs-button-color-prop-default-icon, var(--cnvs-sys-color-fg-inverse));
313
+ }
314
+
315
+ .cnvs-tertiary-button.variant-inverse:focus-visible, .cnvs-tertiary-button.variant-inverse.focus {
316
+ --cnvs-button-background: var(--cnvs-sys-color-bg-default);
317
+ --cnvs-button-label: var(--cnvs-sys-color-fg-strong);
318
+ --cnvs-system-icon-color: var(--cnvs-button-color-prop-focus-icon, var(--cnvs-sys-color-fg-strong));
319
+ box-shadow: inset 0 0 0 2px var(--cnvs-sys-color-border-contrast-default),0 0 0 2px var(--cnvs-sys-color-border-inverse);
320
+ }
321
+
322
+ .cnvs-tertiary-button.variant-inverse:hover, .cnvs-tertiary-button.variant-inverse.hover {
323
+ --cnvs-button-background: var(--cnvs-sys-color-bg-default);
324
+ --cnvs-button-label: var(--cnvs-sys-color-fg-strong);
325
+ --cnvs-system-icon-color: var(--cnvs-button-color-prop-hover-icon, var(--cnvs-sys-color-fg-strong));
326
+ }
327
+
328
+ .cnvs-tertiary-button.variant-inverse:active, .cnvs-tertiary-button.variant-inverse.active {
329
+ --cnvs-button-background: var(--cnvs-sys-color-bg-alt-soft);
330
+ --cnvs-button-label: var(--cnvs-sys-color-fg-strong);
331
+ --cnvs-system-icon-color: var(--cnvs-button-color-prop-active-icon, var(--cnvs-sys-color-fg-strong));
332
+ }
333
+
334
+ .cnvs-tertiary-button.variant-inverse:disabled, .cnvs-tertiary-button.variant-inverse.disabled {
335
+ --cnvs-button-background: transparent;
336
+ --cnvs-button-label: var(--cnvs-sys-color-fg-inverse);
337
+ --cnvs-system-icon-color: var(--cnvs-button-color-prop-disabled-icon, var(--cnvs-sys-color-fg-inverse));
338
+ }
339
+
340
+
341
+ .cnvs-tertiary-button.size-large.icon-position-only {
342
+ min-width: calc(var(--cnvs-sys-space-x4) * 3);
343
+ }
344
+
345
+
346
+ .cnvs-tertiary-button.size-large.icon-position-start {
347
+ padding-inline-start: var(--cnvs-sys-space-x2);
348
+ padding-inline-end: var(--cnvs-sys-space-x3);
349
+ }
350
+
351
+
352
+ .cnvs-tertiary-button.size-large.icon-position-end {
353
+ padding-inline-start: var(--cnvs-sys-space-x3);
354
+ padding-inline-end: var(--cnvs-sys-space-x2);
355
+ }
356
+
357
+
358
+ .cnvs-tertiary-button.size-medium.icon-position-only {
359
+ min-width: var(--cnvs-sys-space-x10);
360
+ }
361
+
362
+
363
+ .cnvs-tertiary-button.size-medium.icon-position-start {
364
+ padding-inline-start: var(--cnvs-sys-space-x2);
365
+ padding-inline-end: var(--cnvs-sys-space-x3);
366
+ }
367
+
368
+
369
+ .cnvs-tertiary-button.size-medium.icon-position-end {
370
+ padding-inline-start: var(--cnvs-sys-space-x3);
371
+ padding-inline-end: var(--cnvs-sys-space-x2);
372
+ }
373
+
374
+
375
+ .cnvs-tertiary-button.size-small.icon-position-only {
376
+ min-width: var(--cnvs-sys-space-x8);
377
+ }
378
+
379
+
380
+ .cnvs-tertiary-button.size-small.icon-position-start {
381
+ padding-inline-start: var(--cnvs-sys-space-x2);
382
+ padding-inline-end: var(--cnvs-sys-space-x3);
383
+ }
384
+
385
+
386
+ .cnvs-tertiary-button.size-small.icon-position-end {
387
+ padding-inline-start: var(--cnvs-sys-space-x3);
388
+ padding-inline-end: var(--cnvs-sys-space-x2);
389
+ }
390
+
391
+
392
+ .cnvs-tertiary-button.size-extraSmall.icon-position-only {
393
+ min-width: var(--cnvs-sys-space-x6);
394
+ }
395
+
396
+
397
+ .cnvs-tertiary-button.size-extraSmall.icon-position-start {
398
+ padding-inline-start: var(--cnvs-sys-space-x1);
399
+ padding-inline-end: var(--cnvs-sys-space-x2);
400
+ }
401
+
402
+
403
+ .cnvs-tertiary-button.size-extraSmall.icon-position-end {
404
+ padding-inline-start: var(--cnvs-sys-space-x2);
405
+ padding-inline-end: var(--cnvs-sys-space-x1);
406
+ }
407
+
408
+
409
+ .cnvs-toolbar-icon-button {
410
+ box-sizing: border-box;
411
+ min-width: var(--cnvs-sys-space-x8);
412
+ padding: var(--cnvs-sys-space-zero);
413
+ height: var(--cnvs-sys-space-x8);
414
+ --cnvs-button-border-radius: var(--cnvs-sys-shape-x1);
415
+ --cnvs-system-icon-color: var(--cnvs-sys-color-fg-muted-soft);
416
+ }
417
+
418
+ .cnvs-toolbar-icon-button:focus-visible, .cnvs-toolbar-icon-button.focus {
419
+ --cnvs-system-icon-color: var(--cnvs-sys-color-fg-muted-soft);
420
+ box-shadow: 0 0 0 0px var(--cnvs-sys-color-border-transparent),0 0 0 2px var(--cnvs-brand-common-focus-outline);
421
+ }
422
+
423
+ .cnvs-toolbar-icon-button:hover, .cnvs-toolbar-icon-button.hover {
424
+ --cnvs-button-background: var(--cnvs-sys-color-bg-alt-default);
425
+ --cnvs-system-icon-color: var(--cnvs-sys-color-fg-muted-stronger);
426
+ }
427
+
428
+ .cnvs-toolbar-icon-button:active, .cnvs-toolbar-icon-button.active {
429
+ --cnvs-button-background: var(--cnvs-sys-color-bg-alt-stronger);
430
+ }
431
+
432
+ .cnvs-toolbar-icon-button:disabled, .cnvs-toolbar-icon-button.disabled {
433
+ --cnvs-button-background: var(--cnvs-sys-color-bg-transparent);
434
+ --cnvs-system-icon-color: var(--cnvs-sys-color-fg-disabled);
435
+ }
436
+
437
+ .cnvs-toolbar-icon-button[aria-pressed='true'] {
438
+ --cnvs-system-icon-color: var(--cnvs-brand-primary-base);
439
+ --cnvs-button-background: var(--cnvs-brand-primary-lightest);
440
+ }
441
+
442
+ .cnvs-toolbar-icon-button[aria-pressed='true']:hover, .cnvs-toolbar-icon-button[aria-pressed='true'].hover {
443
+ --cnvs-button-background: var(--cnvs-sys-color-bg-alt-default);
444
+ --cnvs-system-icon-color: var(--cnvs-brand-primary-dark);
445
+ }
446
+
447
+ .cnvs-toolbar-icon-button[aria-pressed='true']:active, .cnvs-toolbar-icon-button[aria-pressed='true'].active {
448
+ --cnvs-button-background: var(--cnvs-sys-color-bg-alt-stronger);
449
+ --cnvs-system-icon-color: var(--cnvs-brand-primary-dark);
450
+ }
451
+
452
+ .cnvs-toolbar-icon-button[aria-pressed='true']:disabled, .cnvs-toolbar-icon-button[aria-pressed='true'].disabled {
453
+ --cnvs-button-background: var(--cnvs-brand-primary-lightest);
454
+ --cnvs-system-icon-color: var(--cnvs-brand-primary-light);
455
+ }
456
+
457
+
458
+ .cnvs-toolbar-dropdown-button {
459
+ box-sizing: border-box;
460
+ padding: var(--cnvs-sys-space-zero);
461
+ min-width: var(--cnvs-sys-space-x8);
462
+ gap: var(--cnvs-sys-space-zero);
463
+ --cnvs-button-border-radius: var(--cnvs-sys-shape-x1);
464
+ --cnvs-system-icon-color: var(--cnvs-sys-color-fg-muted-soft);
465
+ }
466
+
467
+ .cnvs-toolbar-dropdown-button:focus-visible, .cnvs-toolbar-dropdown-button.focus {
468
+ --cnvs-button-background: var(--cnvs-sys-color-bg-transparent);
469
+ --cnvs-system-icon-color: var(--cnvs-sys-color-fg-muted-soft);
470
+ box-shadow: 0 0 0 0px var(--cnvs-sys-color-border-transparent),0 0 0 2px var(--cnvs-brand-common-focus-outline);
471
+ }
472
+
473
+ .cnvs-toolbar-dropdown-button:hover, .cnvs-toolbar-dropdown-button.hover {
474
+ --cnvs-button-background: var(--cnvs-sys-color-bg-alt-default);
475
+ --cnvs-system-icon-color: var(--cnvs-sys-color-fg-muted-stronger);
476
+ }
477
+
478
+ .cnvs-toolbar-dropdown-button:active, .cnvs-toolbar-dropdown-button.active {
479
+ --cnvs-button-background: var(--cnvs-sys-color-bg-alt-stronger);
480
+ --cnvs-system-icon-color: var(--cnvs-sys-color-fg-muted-stronger);
481
+ }
482
+
483
+ .cnvs-toolbar-dropdown-button:disabled, .cnvs-toolbar-dropdown-button.disabled {
484
+ --cnvs-button-background: var(--cnvs-sys-color-bg-transparent);
485
+ --cnvs-system-icon-color: var(--cnvs-sys-color-fg-disabled);
486
+ }
487
+
488
+ .cnvs-toolbar-dropdown-button [data-part="toolbar-dropdown-btn-custom-icon"] {
489
+ margin-inline-start: var(--cnvs-sys-space-x1);
490
+ margin-inline-end: calc(0.125rem * -1);
491
+ }
492
+
493
+ .cnvs-toolbar-dropdown-button [data-part="toolbar-dropdown-btn-arrow"] {
494
+ margin: 0;
495
+ margin-inline-end: 0.125rem;
496
+ }
497
+
498
+
499
+ .cnvs-toolbar-dropdown-button.should-mirror-icon [data-part="toolbar-dropdown-btn-custom-icon"] {
500
+ margin-inline-end: 0;
501
+ margin-inline-start: 0.125rem;
502
+ }
503
+
504
+
505
+ .cnvs-hyperlink {
506
+ box-sizing: border-box;
507
+ font-family: var(--cnvs-sys-font-family-default);
508
+ text-decoration: underline;
509
+ color: var(--cnvs-sys-color-text-primary-default);
510
+ cursor: pointer;
511
+ border-radius: var(--cnvs-sys-shape-half);
512
+ display: inline-block;
513
+ padding: 0 2px;
514
+ margin: 0 -2px;
515
+ transition: color 0.15s,background-color 0.15s;
516
+ }
517
+
518
+ .cnvs-hyperlink:hover, .cnvs-hyperlink.hover {
519
+ color: var(--cnvs-sys-color-text-primary-strong);
520
+ background: var(--cnvs-sys-color-bg-alt-soft);
521
+ }
522
+
523
+ .cnvs-hyperlink:focus, .cnvs-hyperlink.focus, .cnvs-hyperlink:focus-visible {
524
+ box-shadow: 0 0 0 2px var(--cnvs-sys-color-bg-primary-default);
525
+ outline: none;
526
+ }
527
+
528
+ .cnvs-hyperlink:active, .cnvs-hyperlink.active {
529
+ color: var(--cnvs-sys-color-text-primary-stronger);
530
+ background: var(--cnvs-sys-color-bg-alt-default);
531
+ }
532
+
533
+
534
+ .cnvs-hyperlink.variant-inverse {
535
+ color: var(--cnvs-sys-color-text-inverse);
536
+ }
537
+
538
+ .cnvs-hyperlink.variant-inverse:hover, .cnvs-hyperlink.variant-inverse.hover {
539
+ color: var(--cnvs-sys-color-text-inverse);
540
+ background: rgba(255, 255, 255, 0.1);
541
+ }
542
+
543
+ .cnvs-hyperlink.variant-inverse:focus, .cnvs-hyperlink.variant-inverse.focus, .cnvs-hyperlink.variant-inverse:focus-visible {
544
+ box-shadow: 0 0 0 2px var(--cnvs-sys-color-text-inverse);
545
+ }
546
+
547
+ .cnvs-hyperlink.variant-inverse:active, .cnvs-hyperlink.variant-inverse.active {
548
+ color: var(--cnvs-sys-color-text-primary-stronger);
549
+ background: var(--cnvs-sys-color-bg-alt-soft);
550
+ }
551
+
552
+
553
+ .cnvs-external-hyperlink {
554
+ box-sizing: border-box;
555
+ display: inline-flex;
556
+ flex-direction: row;
557
+ align-items: center;
558
+ }
559
+
560
+ .cnvs-external-hyperlink [data-part="external-hyperlink-icon"] {
561
+ --cnvs-system-icon-color: currentColor;
562
+ --cnvs-svg-size: 1em;
563
+ width: calc(1em - 0.0625rem);
564
+ min-width: calc(var(--cnvs-sys-space-x4) - 0.0625rem);
565
+ margin-inline-start: calc(var(--cnvs-sys-space-x1) - 0.125rem);
566
+ }
567
+
568
+ .cnvs-external-hyperlink [data-part="external-hyperlink-icon"]>svg {
569
+ min-width: var(--cnvs-sys-space-x4);
570
+ min-height: var(--cnvs-sys-space-x4);
571
+ }
572
+
573
+
574
+ .cnvs-primary-button {
575
+ box-sizing: border-box;
576
+ --cnvs-button-background: var(--cnvs-brand-action-base, var(--cnvs-brand-primary-base));
577
+ --cnvs-button-border-radius: var(--cnvs-sys-shape-round);
578
+ --cnvs-button-label: var(--cnvs-brand-action-accent, var(--cnvs-brand-primary-accent));
579
+ --cnvs-system-icon-color: var(--cnvs-button-color-prop-default-icon, var(--cnvs-brand-action-accent, var(--cnvs-brand-primary-accent)));
580
+ }
581
+
582
+ .cnvs-primary-button:focus-visible, .cnvs-primary-button.focus {
583
+ --cnvs-button-background: var(--cnvs-brand-action-base, var(--cnvs-brand-primary-base));
584
+ --cnvs-button-label: var(--cnvs-brand-action-accent, var(--cnvs-brand-primary-accent));
585
+ --cnvs-button-box-shadow-inner: var(--cnvs-sys-color-border-inverse);
586
+ --cnvs-button-box-shadow-outer: var(--cnvs-brand-common-focus-outline);
587
+ --cnvs-system-icon-color: var(--cnvs-button-color-prop-focus-icon, var(--cnvs-brand-action-accent, var(--cnvs-brand-primary-accent)));
588
+ }
589
+
590
+ .cnvs-primary-button:hover, .cnvs-primary-button.hover {
591
+ --cnvs-button-background: var(--cnvs-brand-action-dark, var(--cnvs-brand-primary-dark));
592
+ --cnvs-button-label: var(--cnvs-brand-action-accent, var(--cnvs-brand-primary-accent));
593
+ --cnvs-system-icon-color: var(--cnvs-button-color-prop-hover-icon, var(--cnvs-brand-action-accent, var(--cnvs-brand-primary-accent)));
594
+ }
595
+
596
+ .cnvs-primary-button:active, .cnvs-primary-button.active {
597
+ --cnvs-button-background: var(--cnvs-brand-action-darkest, var(--cnvs-brand-primary-darkest));
598
+ --cnvs-button-label: var(--cnvs-brand-action-accent, var(--cnvs-brand-primary-accent));
599
+ --cnvs-system-icon-color: var(--cnvs-button-color-prop-active-icon, var(--cnvs-brand-action-accent, var(--cnvs-brand-primary-accent)));
600
+ }
601
+
602
+ .cnvs-primary-button:disabled, .cnvs-primary-button.disabled {
603
+ --cnvs-button-background: var(--cnvs-brand-action-base, var(--cnvs-brand-primary-base));
604
+ --cnvs-button-label: var(--cnvs-brand-action-accent, var(--cnvs-brand-primary-accent));
605
+ --cnvs-button-opacity: var(--cnvs-sys-opacity-disabled);
606
+ --cnvs-system-icon-color: var(--cnvs-button-color-prop-disabled-icon, var(--cnvs-brand-action-accent, var(--cnvs-brand-primary-accent)));
607
+ }
608
+
609
+
610
+ .cnvs-primary-button.variant-inverse {
611
+ --cnvs-button-background: var(--cnvs-sys-color-bg-default);
612
+ --cnvs-button-border-radius: var(--cnvs-sys-shape-round);
613
+ --cnvs-button-label: var(--cnvs-sys-color-fg-strong);
614
+ --cnvs-system-icon-color: var(--cnvs-button-color-prop-default-icon, var(--cnvs-sys-color-fg-strong));
615
+ }
616
+
617
+ .cnvs-primary-button.variant-inverse:focus-visible, .cnvs-primary-button.variant-inverse.focus {
618
+ --cnvs-button-background: var(--cnvs-sys-color-bg-default);
619
+ --cnvs-button-label: var(--cnvs-sys-color-fg-strong);
620
+ --cnvs-button-box-shadow-inner: var(--cnvs-sys-color-border-contrast-default);
621
+ --cnvs-button-box-shadow-outer: var(--cnvs-sys-color-border-inverse);
622
+ --cnvs-system-icon-color: var(--cnvs-button-color-prop-focus-icon, var(--cnvs-sys-color-fg-strong));
623
+ }
624
+
625
+ .cnvs-primary-button.variant-inverse:hover, .cnvs-primary-button.variant-inverse.hover {
626
+ --cnvs-button-background: var(--cnvs-sys-color-bg-alt-default);
627
+ --cnvs-button-label: var(--cnvs-sys-color-fg-stronger);
628
+ --cnvs-system-icon-color: var(--cnvs-button-color-prop-hover-icon, var(--cnvs-sys-color-fg-stronger));
629
+ }
630
+
631
+ .cnvs-primary-button.variant-inverse:active, .cnvs-primary-button.variant-inverse.active {
632
+ --cnvs-button-background: var(--cnvs-sys-color-bg-alt-strong);
633
+ --cnvs-button-label: var(--cnvs-sys-color-fg-stronger);
634
+ --cnvs-system-icon-color: var(--cnvs-button-color-prop-active-icon, var(--cnvs-sys-color-fg-stronger));
635
+ }
636
+
637
+ .cnvs-primary-button.variant-inverse:disabled, .cnvs-primary-button.variant-inverse.disabled {
638
+ --cnvs-button-background: var(--cnvs-sys-color-bg-default);
639
+ --cnvs-button-label: var(--cnvs-sys-color-fg-strong);
640
+ --cnvs-system-icon-color: var(--cnvs-button-color-prop-disabled-icon, var(--cnvs-sys-color-fg-strong));
641
+ }
642
+
643
+
644
+ .cnvs-secondary-button {
645
+ box-sizing: border-box;
646
+ --cnvs-button-background: transparent;
647
+ --cnvs-button-border: var(--cnvs-sys-color-border-contrast-default);
648
+ --cnvs-button-border-radius: var(--cnvs-sys-shape-round);
649
+ --cnvs-button-label: var(--cnvs-sys-color-fg-strong);
650
+ --cnvs-system-icon-color: var(--cnvs-button-color-prop-default-icon, var(--cnvs-sys-color-fg-strong));
651
+ }
652
+
653
+ .cnvs-secondary-button:focus-visible, .cnvs-secondary-button.focus {
654
+ --cnvs-button-background: transparent;
655
+ --cnvs-button-border: var(--cnvs-sys-color-border-contrast-default);
656
+ --cnvs-button-label: var(--cnvs-sys-color-fg-strong);
657
+ --cnvs-button-box-shadow-inner: var(--cnvs-sys-color-border-inverse);
658
+ --cnvs-button-box-shadow-outer: var(--cnvs-brand-common-focus-outline);
659
+ --cnvs-system-icon-color: var(--cnvs-button-color-prop-focus-icon, var(--cnvs-sys-color-fg-strong));
660
+ }
661
+
662
+ .cnvs-secondary-button:hover, .cnvs-secondary-button.hover {
663
+ --cnvs-button-background: var(--cnvs-sys-color-bg-contrast-default);
664
+ --cnvs-button-border: var(--cnvs-sys-color-border-contrast-default);
665
+ --cnvs-button-label: var(--cnvs-brand-primary-accent);
666
+ --cnvs-system-icon-color: var(--cnvs-button-color-prop-hover-icon, var(--cnvs-brand-primary-accent));
667
+ }
668
+
669
+ .cnvs-secondary-button:active, .cnvs-secondary-button.active {
670
+ --cnvs-button-background: var(--cnvs-sys-color-bg-contrast-strong);
671
+ --cnvs-button-border: var(--cnvs-sys-color-border-contrast-strong);
672
+ --cnvs-button-label: var(--cnvs-brand-primary-accent);
673
+ --cnvs-system-icon-color: var(--cnvs-button-color-prop-active-icon, var(--cnvs-brand-primary-accent));
674
+ }
675
+
676
+ .cnvs-secondary-button:disabled, .cnvs-secondary-button.disabled {
677
+ --cnvs-button-background: transparent;
678
+ --cnvs-button-border: var(--cnvs-sys-color-border-contrast-default);
679
+ --cnvs-button-label: var(--cnvs-sys-color-fg-strong);
680
+ --cnvs-button-opacity: var(--cnvs-sys-opacity-disabled);
681
+ --cnvs-system-icon-color: var(--cnvs-button-color-prop-disabled-icon, var(--cnvs-sys-color-fg-strong));
682
+ }
683
+
684
+
685
+ .cnvs-secondary-button.variant-inverse {
686
+ --cnvs-button-background: transparent;
687
+ --cnvs-button-border: var(--cnvs-sys-color-border-inverse);
688
+ --cnvs-button-label: var(--cnvs-sys-color-fg-inverse);
689
+ --cnvs-system-icon-color: var(--cnvs-button-color-prop-default-icon, var(--cnvs-sys-color-fg-inverse));
690
+ }
691
+
692
+ .cnvs-secondary-button.variant-inverse:focus-visible, .cnvs-secondary-button.variant-inverse.focus {
693
+ --cnvs-button-background: var(--cnvs-sys-color-bg-default);
694
+ --cnvs-button-border: transparent;
695
+ --cnvs-button-label: var(--cnvs-sys-color-fg-strong);
696
+ --cnvs-button-box-shadow-inner: var(--cnvs-sys-color-border-contrast-default);
697
+ --cnvs-button-box-shadow-outer: var(--cnvs-sys-color-border-inverse);
698
+ --cnvs-system-icon-color: var(--cnvs-button-color-prop-focus-icon, var(--cnvs-sys-color-fg-strong));
699
+ }
700
+
701
+ .cnvs-secondary-button.variant-inverse:hover, .cnvs-secondary-button.variant-inverse.hover {
702
+ --cnvs-button-background: var(--cnvs-sys-color-bg-alt-default);
703
+ --cnvs-button-border: transparent;
704
+ --cnvs-button-label: var(--cnvs-sys-color-fg-stronger);
705
+ --cnvs-system-icon-color: var(--cnvs-button-color-prop-hover-icon, var(--cnvs-sys-color-fg-stronger));
706
+ }
707
+
708
+ .cnvs-secondary-button.variant-inverse:active, .cnvs-secondary-button.variant-inverse.active {
709
+ --cnvs-button-background: var(--cnvs-sys-color-bg-alt-strong);
710
+ --cnvs-button-border: transparent;
711
+ --cnvs-button-label: var(--cnvs-sys-color-fg-stronger);
712
+ --cnvs-system-icon-color: var(--cnvs-button-color-prop-active-icon, var(--cnvs-sys-color-fg-stronger));
713
+ }
714
+
715
+ .cnvs-secondary-button.variant-inverse:disabled, .cnvs-secondary-button.variant-inverse.disabled {
716
+ --cnvs-button-background: transparent;
717
+ --cnvs-button-border: var(--cnvs-sys-color-border-inverse);
718
+ --cnvs-button-label: var(--cnvs-sys-color-fg-inverse);
719
+ --cnvs-system-icon-color: var(--cnvs-button-color-prop-disabled-icon, var(--cnvs-sys-color-fg-inverse));
720
+ }
721
+
722
+
723
+ .cnvs-delete-button {
724
+ box-sizing: border-box;
725
+ --cnvs-button-background: var(--cnvs-brand-error-base);
726
+ --cnvs-button-border-radius: var(--cnvs-sys-shape-round);
727
+ --cnvs-button-label: var(--cnvs-brand-error-accent);
728
+ --cnvs-system-icon-color: var(--cnvs-button-color-prop-default-icon, var(--cnvs-brand-error-accent));
729
+ }
730
+
731
+ .cnvs-delete-button:focus-visible, .cnvs-delete-button.focus {
732
+ --cnvs-button-background: var(--cnvs-brand-error-base);
733
+ --cnvs-button-label: var(--cnvs-brand-error-accent);
734
+ --cnvs-system-icon-color: var(--cnvs-button-color-prop-focus-icon, var(--cnvs-brand-error-accent));
735
+ --cnvs-button-box-shadow-inner: var(--cnvs-sys-color-border-inverse);
736
+ --cnvs-button-box-shadow-outer: var(--cnvs-brand-common-focus-outline);
737
+ }
738
+
739
+ .cnvs-delete-button:hover, .cnvs-delete-button.hover {
740
+ --cnvs-button-background: var(--cnvs-brand-error-dark);
741
+ --cnvs-button-label: var(--cnvs-brand-error-accent);
742
+ --cnvs-system-icon-color: var(--cnvs-button-color-prop-hover-icon, var(--cnvs-brand-error-accent));
743
+ }
744
+
745
+ .cnvs-delete-button:active, .cnvs-delete-button.active {
746
+ --cnvs-button-background: var(--cnvs-brand-error-darkest);
747
+ --cnvs-button-label: var(--cnvs-brand-error-accent);
748
+ --cnvs-system-icon-color: var(--cnvs-button-color-prop-active-icon, var(--cnvs-brand-error-accent));
749
+ }
750
+
751
+ .cnvs-delete-button:disabled, .cnvs-delete-button.disabled {
752
+ --cnvs-button-background: var(--cnvs-brand-error-base);
753
+ --cnvs-button-label: var(--cnvs-brand-error-accent);
754
+ --cnvs-system-icon-color: var(--cnvs-button-color-prop-disabled-icon, var(--cnvs-brand-error-accent));
755
+ --cnvs-button-opacity: var(--cnvs-sys-opacity-disabled);
756
+ }
757
+