@threadlabs/looma 0.11.6 → 0.12.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/components/shared/describe.js +9 -0
- package/components/ui-button/ui-button.html +6 -19
- package/components/ui-checkbox/ui-checkbox.html +22 -1
- package/components/ui-checkbox/ui-checkbox.js +2 -0
- package/components/ui-icon-button/ui-icon-button.html +4 -14
- package/components/ui-radio/ui-radio.html +22 -1
- package/components/ui-radio/ui-radio.js +2 -0
- package/components/ui-sidebar/ui-sidebar.js +3 -1
- package/components/ui-switch/ui-switch.html +22 -1
- package/components/ui-switch/ui-switch.js +2 -0
- package/dist/index.js +1 -1
- package/package.json +1 -1
- package/styles/ui-button.css +11 -25
- package/styles/ui-checkbox.css +21 -1
- package/styles/ui-icon-button.css +4 -13
- package/styles/ui-radio.css +21 -1
- package/styles/ui-switch.css +21 -1
- package/theme-dark.css +2 -0
- package/theme-high-contrast.css +3 -0
- package/tokens.css +3 -0
- package/vanilla/UiCheckbox.js +18 -3
- package/vanilla/UiRadio.js +18 -3
- package/vanilla/UiSwitch.js +18 -3
- package/vue/UiButton.vue +6 -19
- package/vue/UiCheckbox.d.ts +3 -1
- package/vue/UiCheckbox.vue +24 -2
- package/vue/UiIconButton.vue +3 -13
- package/vue/UiRadio.d.ts +3 -1
- package/vue/UiRadio.vue +24 -2
- package/vue/UiSwitch.d.ts +3 -1
- package/vue/UiSwitch.vue +24 -2
- package/vue/chunks/UiButton.js +1 -1
- package/vue/chunks/UiCheckbox.js +14 -4
- package/vue/chunks/UiIconButton.js +1 -1
- package/vue/chunks/UiRadio.js +14 -4
- package/vue/chunks/UiSwitch.js +14 -4
- package/vue/components.css +150 -123
package/vue/components.css
CHANGED
|
@@ -368,7 +368,7 @@ ol[data-v-0d86d58e] {
|
|
|
368
368
|
display: none;
|
|
369
369
|
}
|
|
370
370
|
|
|
371
|
-
[data-component~="ui-button"][data-v-
|
|
371
|
+
[data-component~="ui-button"][data-v-75541d8a] {
|
|
372
372
|
--_hue: var(--ui-accent);
|
|
373
373
|
--_hue-hover: var(--ui-accent-hover);
|
|
374
374
|
--_hue-active: var(--ui-accent-active);
|
|
@@ -387,15 +387,15 @@ ol[data-v-0d86d58e] {
|
|
|
387
387
|
vertical-align: middle;
|
|
388
388
|
color: var(--_tone-text);
|
|
389
389
|
}
|
|
390
|
-
[data-component~="ui-button"][data-ui-button-state~="align=start"][data-v-
|
|
390
|
+
[data-component~="ui-button"][data-ui-button-state~="align=start"][data-v-75541d8a] {
|
|
391
391
|
justify-content: flex-start;
|
|
392
392
|
text-align: start;
|
|
393
393
|
}
|
|
394
|
-
[data-component~="ui-button"][data-ui-button-state~="stretch"][data-v-
|
|
394
|
+
[data-component~="ui-button"][data-ui-button-state~="stretch"][data-v-75541d8a] {
|
|
395
395
|
display: flex;
|
|
396
396
|
inline-size: 100%;
|
|
397
397
|
}
|
|
398
|
-
[data-component~="ui-button"][data-v-
|
|
398
|
+
[data-component~="ui-button"][data-v-75541d8a] {
|
|
399
399
|
appearance: none;
|
|
400
400
|
min-block-size: var(--ui-button-min-block-size, var(--ui-control-size-md));
|
|
401
401
|
border-style: solid;
|
|
@@ -420,17 +420,17 @@ ol[data-v-0d86d58e] {
|
|
|
420
420
|
margin: 0;
|
|
421
421
|
}
|
|
422
422
|
@supports (text-box-trim: trim-both) {
|
|
423
|
-
[data-component~="ui-button"][data-v-
|
|
423
|
+
[data-component~="ui-button"][data-v-75541d8a] {
|
|
424
424
|
text-box-trim: trim-both;
|
|
425
425
|
text-box-edge: cap alphabetic;
|
|
426
426
|
}
|
|
427
427
|
}
|
|
428
|
-
[data-component~="ui-button"][data-ui-button-state~="size=sm"][data-v-
|
|
428
|
+
[data-component~="ui-button"][data-ui-button-state~="size=sm"][data-v-75541d8a] {
|
|
429
429
|
min-block-size: var(--ui-control-size-sm);
|
|
430
430
|
padding: var(--ui-space-1) var(--ui-space-2);
|
|
431
431
|
font-size: var(--ui-font-size-sm);
|
|
432
432
|
}
|
|
433
|
-
[data-component~="ui-button"][data-ui-button-state~="size=lg"][data-v-
|
|
433
|
+
[data-component~="ui-button"][data-ui-button-state~="size=lg"][data-v-75541d8a] {
|
|
434
434
|
min-block-size: var(--ui-control-size-lg);
|
|
435
435
|
padding: var(--ui-space-3) var(--ui-space-4);
|
|
436
436
|
font-size: var(--ui-font-size-md);
|
|
@@ -438,29 +438,29 @@ ol[data-v-0d86d58e] {
|
|
|
438
438
|
|
|
439
439
|
/* A link is never :enabled, so interactive states test "not unavailable" instead: for a button that
|
|
440
440
|
is exactly :enabled, at the same specificity, and it also matches a link that can be followed. */
|
|
441
|
-
[data-component~="ui-button"][data-v-
|
|
441
|
+
[data-component~="ui-button"][data-v-75541d8a]:hover:not(:disabled, [aria-disabled="true"]) {
|
|
442
442
|
border-color: var(--ui-button-hover-border, var(--_tone-hover));
|
|
443
443
|
background-color: var(--ui-button-hover-surface, oklch(from var(--_tone) l c h / 12%));
|
|
444
444
|
}
|
|
445
445
|
|
|
446
446
|
/* Pressed reads as pressed in: the highlight goes, and the shadow moves inside. */
|
|
447
|
-
[data-component~="ui-button"][data-v-
|
|
447
|
+
[data-component~="ui-button"][data-v-75541d8a]:active:not(:disabled, [aria-disabled="true"]) {
|
|
448
448
|
background-color: var(--ui-button-active-surface, oklch(from var(--_tone) l c h / 18%));
|
|
449
449
|
background-image: none;
|
|
450
450
|
box-shadow: var(--ui-pressed);
|
|
451
451
|
}
|
|
452
|
-
[data-component~="ui-button"][data-ui-button-state~="variant=solid"][data-v-
|
|
453
|
-
[data-component~="ui-button"][data-ui-button-state~="variant=danger"][data-v-
|
|
452
|
+
[data-component~="ui-button"][data-ui-button-state~="variant=solid"][data-v-75541d8a],
|
|
453
|
+
[data-component~="ui-button"][data-ui-button-state~="variant=danger"][data-v-75541d8a] {
|
|
454
454
|
border-color: var(--_tone);
|
|
455
455
|
background-color: var(--_tone);
|
|
456
456
|
color: var(--_on-tone);
|
|
457
457
|
box-shadow: var(--ui-button-solid-shadow, var(--ui-raised));
|
|
458
458
|
}
|
|
459
|
-
:is([data-component~="ui-button"][data-ui-button-state~="variant=solid"][data-v-
|
|
459
|
+
:is([data-component~="ui-button"][data-ui-button-state~="variant=solid"][data-v-75541d8a], [data-component~="ui-button"][data-ui-button-state~="variant=danger"][data-v-75541d8a]):hover:not(:disabled, [aria-disabled="true"]) {
|
|
460
460
|
background-color: var(--_tone-hover);
|
|
461
461
|
border-color: var(--_tone-hover);
|
|
462
462
|
}
|
|
463
|
-
:is([data-component~="ui-button"][data-ui-button-state~="variant=solid"][data-v-
|
|
463
|
+
:is([data-component~="ui-button"][data-ui-button-state~="variant=solid"][data-v-75541d8a], [data-component~="ui-button"][data-ui-button-state~="variant=danger"][data-v-75541d8a]):active:not(:disabled, [aria-disabled="true"]) {
|
|
464
464
|
background-color: var(--_tone-active);
|
|
465
465
|
border-color: var(--_tone-active);
|
|
466
466
|
background-image: none;
|
|
@@ -469,43 +469,43 @@ ol[data-v-0d86d58e] {
|
|
|
469
469
|
|
|
470
470
|
/* Tone is the colour, variant is the volume. Every pairing works: a danger outline is a
|
|
471
471
|
destructive secondary action, not a special case. */
|
|
472
|
-
[data-component~="ui-button"][data-ui-button-state~="tone=neutral"][data-v-
|
|
472
|
+
[data-component~="ui-button"][data-ui-button-state~="tone=neutral"][data-v-75541d8a] {
|
|
473
473
|
--_hue: var(--ui-text);
|
|
474
474
|
--_hue-hover: var(--ui-text);
|
|
475
475
|
--_hue-active: var(--ui-text);
|
|
476
476
|
--_hue-text: var(--ui-text);
|
|
477
477
|
--_on-hue: var(--ui-surface);
|
|
478
478
|
}
|
|
479
|
-
[data-component~="ui-button"][data-ui-button-state~="tone=danger"][data-v-
|
|
480
|
-
[data-component~="ui-button"][data-ui-button-state~="variant=danger"][data-v-
|
|
479
|
+
[data-component~="ui-button"][data-ui-button-state~="tone=danger"][data-v-75541d8a],
|
|
480
|
+
[data-component~="ui-button"][data-ui-button-state~="variant=danger"][data-v-75541d8a] {
|
|
481
481
|
--_hue: var(--ui-danger);
|
|
482
482
|
--_hue-hover: var(--ui-danger-hover);
|
|
483
483
|
--_hue-active: var(--ui-danger-hover);
|
|
484
484
|
--_hue-text: var(--ui-danger-hover);
|
|
485
485
|
--_on-hue: var(--ui-on-danger);
|
|
486
486
|
}
|
|
487
|
-
[data-component~="ui-button"][data-ui-button-state~="tone=success"][data-v-
|
|
487
|
+
[data-component~="ui-button"][data-ui-button-state~="tone=success"][data-v-75541d8a] {
|
|
488
488
|
--_hue: var(--ui-success);
|
|
489
489
|
--_hue-hover: color-mix(in srgb, var(--ui-success) 85%, #000);
|
|
490
490
|
--_hue-active: color-mix(in srgb, var(--ui-success) 75%, #000);
|
|
491
491
|
--_hue-text: color-mix(in srgb, var(--ui-success) 85%, #000);
|
|
492
492
|
--_on-hue: var(--ui-surface);
|
|
493
493
|
}
|
|
494
|
-
[data-component~="ui-button"][data-ui-button-state~="tone=warning"][data-v-
|
|
494
|
+
[data-component~="ui-button"][data-ui-button-state~="tone=warning"][data-v-75541d8a] {
|
|
495
495
|
--_hue: var(--ui-warning);
|
|
496
496
|
--_hue-hover: color-mix(in srgb, var(--ui-warning) 85%, #000);
|
|
497
497
|
--_hue-active: color-mix(in srgb, var(--ui-warning) 75%, #000);
|
|
498
498
|
--_hue-text: color-mix(in srgb, var(--ui-warning) 85%, #000);
|
|
499
499
|
--_on-hue: var(--ui-surface);
|
|
500
500
|
}
|
|
501
|
-
[data-component~="ui-button"][data-ui-button-state~="tone=info"][data-v-
|
|
501
|
+
[data-component~="ui-button"][data-ui-button-state~="tone=info"][data-v-75541d8a] {
|
|
502
502
|
--_hue: var(--ui-info);
|
|
503
503
|
--_hue-hover: color-mix(in srgb, var(--ui-info) 85%, #000);
|
|
504
504
|
--_hue-active: color-mix(in srgb, var(--ui-info) 75%, #000);
|
|
505
505
|
--_hue-text: color-mix(in srgb, var(--ui-info) 85%, #000);
|
|
506
506
|
--_on-hue: var(--ui-surface);
|
|
507
507
|
}
|
|
508
|
-
[data-component~="ui-button"][data-ui-button-state~="variant=ghost"][data-v-
|
|
508
|
+
[data-component~="ui-button"][data-ui-button-state~="variant=ghost"][data-v-75541d8a] {
|
|
509
509
|
border-color: transparent;
|
|
510
510
|
background: transparent;
|
|
511
511
|
box-shadow: none;
|
|
@@ -513,64 +513,52 @@ ol[data-v-0d86d58e] {
|
|
|
513
513
|
}
|
|
514
514
|
|
|
515
515
|
/* Tints derive from the text colour, not a surface token, so hover and press show on any background. */
|
|
516
|
-
[data-component~="ui-button"][data-ui-button-state~="variant=ghost"][data-v-
|
|
516
|
+
[data-component~="ui-button"][data-ui-button-state~="variant=ghost"][data-v-75541d8a]:hover:not(:disabled, [aria-disabled="true"]) {
|
|
517
517
|
background-color: var(--ui-button-ghost-hover-surface, oklch(from var(--_tone) l c h / 10%));
|
|
518
518
|
border-color: transparent;
|
|
519
519
|
}
|
|
520
|
-
[data-component~="ui-button"][data-ui-button-state~="variant=ghost"][data-v-
|
|
520
|
+
[data-component~="ui-button"][data-ui-button-state~="variant=ghost"][data-v-75541d8a]:active:not(:disabled, [aria-disabled="true"]) {
|
|
521
521
|
background-color: var(--ui-button-ghost-active-surface, oklch(from var(--_tone) l c h / 16%));
|
|
522
522
|
border-color: transparent;
|
|
523
523
|
box-shadow: var(--ui-pressed);
|
|
524
524
|
}
|
|
525
525
|
|
|
526
526
|
/* A soft halo that transitions in with the other box-shadow changes, layered on the raised shadow. */
|
|
527
|
-
[data-component~="ui-button"][data-v-
|
|
527
|
+
[data-component~="ui-button"][data-v-75541d8a]:focus-visible {
|
|
528
528
|
outline: none;
|
|
529
529
|
box-shadow:
|
|
530
530
|
var(--ui-button-shadow, var(--ui-raised)),
|
|
531
531
|
var(--ui-focus-halo);
|
|
532
532
|
}
|
|
533
|
-
[data-component~="ui-button"][data-ui-button-state~="variant=solid"][data-v-
|
|
533
|
+
[data-component~="ui-button"][data-ui-button-state~="variant=solid"][data-v-75541d8a]:focus-visible {
|
|
534
534
|
box-shadow:
|
|
535
535
|
var(--ui-button-solid-shadow, var(--ui-raised)),
|
|
536
536
|
var(--ui-focus-halo);
|
|
537
537
|
}
|
|
538
538
|
|
|
539
|
-
/* Disabled
|
|
540
|
-
disabled outline is still an outline and a disabled ghost still has no edge.
|
|
541
|
-
|
|
542
|
-
highlight and shadow, because nothing that cannot be pressed should
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
so a dark theme dims where a light one lightens — the same rule, both schemes. */
|
|
547
|
-
--_tone: color-mix(in oklab, var(--_hue) 58%, var(--ui-surface));
|
|
548
|
-
--_tone-hover: var(--_tone);
|
|
549
|
-
--_tone-active: var(--_tone);
|
|
550
|
-
--_tone-text: color-mix(in oklab, var(--_hue-text) 72%, var(--ui-surface));
|
|
551
|
-
--_on-tone: var(--_tone-text);
|
|
552
|
-
|
|
539
|
+
/* Disabled keeps the shape and washes out the rest: every variant keeps its own structure, so a
|
|
540
|
+
disabled outline is still an outline and a disabled ghost still has no edge. One filter fades
|
|
541
|
+
fill, border, and text together (--ui-disabled-filter), and the theme decides which way is
|
|
542
|
+
toward the page. The highlight and shadow go, because nothing that cannot be pressed should
|
|
543
|
+
look raised. */
|
|
544
|
+
[data-component~="ui-button"][data-v-75541d8a]:is(:disabled, [aria-disabled="true"]) {
|
|
545
|
+
filter: var(--ui-button-disabled-filter, var(--ui-disabled-filter));
|
|
553
546
|
opacity: var(--ui-button-disabled-opacity, 1);
|
|
554
547
|
cursor: not-allowed;
|
|
555
548
|
background-image: none;
|
|
556
549
|
box-shadow: none;
|
|
557
550
|
}
|
|
558
551
|
|
|
559
|
-
/* A filled button keeps its fill, faded further so its text stays legible on it. */
|
|
560
|
-
:is([data-component~="ui-button"][data-ui-button-state~="variant=solid"][data-v-97872575], [data-component~="ui-button"][data-ui-button-state~="variant=danger"][data-v-97872575]):is(:disabled, [aria-disabled="true"]) {
|
|
561
|
-
--_tone: color-mix(in oklab, var(--_hue) 34%, var(--ui-surface));
|
|
562
|
-
}
|
|
563
|
-
|
|
564
552
|
/* Ghost has no hover to fall back on, so disabled is the one state it has to state outright:
|
|
565
553
|
it takes a surface rather than reading as plain text. The surface is a wash of the faded tone,
|
|
566
554
|
the way hover washes the live one, so it stays light in every tone. An opaque mix toward the
|
|
567
555
|
hue came out a mid-grey slab for neutral, whose hue is the ink: louder than the enabled button. */
|
|
568
|
-
[data-component~="ui-button"][data-ui-button-state~="variant=ghost"][data-v-
|
|
556
|
+
[data-component~="ui-button"][data-ui-button-state~="variant=ghost"][data-v-75541d8a]:is(:disabled, [aria-disabled="true"]) {
|
|
569
557
|
background-color: oklch(from var(--_tone) l c h / 14%);
|
|
570
558
|
border-color: transparent;
|
|
571
559
|
}
|
|
572
560
|
@media (pointer: coarse) {
|
|
573
|
-
[data-component~="ui-button"][data-v-
|
|
561
|
+
[data-component~="ui-button"][data-v-75541d8a] {
|
|
574
562
|
min-block-size: var(--ui-control-min-block-size);
|
|
575
563
|
}
|
|
576
564
|
}
|
|
@@ -580,11 +568,11 @@ ol[data-v-0d86d58e] {
|
|
|
580
568
|
a link-style one keeps its text size, so a standalone one ("See all" under a list) needs the
|
|
581
569
|
area. Only the link needs it: a hit area on every button would reach over its neighbours. */
|
|
582
570
|
html[data-ui-input-modality="touch"]
|
|
583
|
-
[data-component~="ui-button"][data-ui-button-state~="variant=link"][data-v-
|
|
571
|
+
[data-component~="ui-button"][data-ui-button-state~="variant=link"][data-v-75541d8a] {
|
|
584
572
|
position: relative;
|
|
585
573
|
}
|
|
586
574
|
html[data-ui-input-modality="touch"]
|
|
587
|
-
[data-component~="ui-button"][data-ui-button-state~="variant=link"][data-v-
|
|
575
|
+
[data-component~="ui-button"][data-ui-button-state~="variant=link"][data-v-75541d8a]::after {
|
|
588
576
|
position: absolute;
|
|
589
577
|
inset: 50% auto auto 50%;
|
|
590
578
|
inline-size: max(100%, var(--ui-control-min-block-size));
|
|
@@ -595,7 +583,7 @@ html[data-ui-input-modality="touch"]
|
|
|
595
583
|
|
|
596
584
|
/* Link: an inline text action. No box, padding, or minimum height (inline targets are exempt under
|
|
597
585
|
WCAG 2.5.8); the inherited font; an underline that strengthens on hover; a visible focus ring. */
|
|
598
|
-
[data-component~="ui-button"][data-ui-button-state~="variant=link"][data-v-
|
|
586
|
+
[data-component~="ui-button"][data-ui-button-state~="variant=link"][data-v-75541d8a] {
|
|
599
587
|
display: inline;
|
|
600
588
|
min-block-size: 0;
|
|
601
589
|
padding: 0;
|
|
@@ -613,22 +601,21 @@ html[data-ui-input-modality="touch"]
|
|
|
613
601
|
color var(--ui-motion-fast) var(--ui-motion-ease),
|
|
614
602
|
text-decoration-color var(--ui-motion-fast) var(--ui-motion-ease);
|
|
615
603
|
}
|
|
616
|
-
[data-component~="ui-button"][data-ui-button-state~="variant=link"][data-v-
|
|
604
|
+
[data-component~="ui-button"][data-ui-button-state~="variant=link"][data-v-75541d8a]:hover:not(:disabled, [aria-disabled="true"]) {
|
|
617
605
|
color: var(--ui-button-link-hover-text, var(--ui-text-primary));
|
|
618
606
|
text-decoration-color: currentColor;
|
|
619
607
|
background: none;
|
|
620
608
|
transform: none;
|
|
621
609
|
}
|
|
622
|
-
[data-component~="ui-button"][data-ui-button-state~="variant=link"][data-v-
|
|
610
|
+
[data-component~="ui-button"][data-ui-button-state~="variant=link"][data-v-75541d8a]:active:not(:disabled, [aria-disabled="true"]) {
|
|
623
611
|
background: none;
|
|
624
612
|
transform: none;
|
|
625
613
|
}
|
|
626
|
-
[data-component~="ui-button"][data-ui-button-state~="variant=link"][data-v-
|
|
614
|
+
[data-component~="ui-button"][data-ui-button-state~="variant=link"][data-v-75541d8a]:is(:disabled, [aria-disabled="true"]) {
|
|
627
615
|
background: none;
|
|
628
616
|
border-color: transparent;
|
|
629
|
-
color: var(--ui-button-disabled-text, var(--ui-disabled-text));
|
|
630
617
|
}
|
|
631
|
-
[data-component~="ui-button"][data-ui-button-state~="variant=link"][data-v-
|
|
618
|
+
[data-component~="ui-button"][data-ui-button-state~="variant=link"][data-v-75541d8a]:focus-visible {
|
|
632
619
|
box-shadow: none;
|
|
633
620
|
/* Fallback keeps the ring if the token is missing: an unresolved var() would void the outline. */
|
|
634
621
|
outline: 2px solid var(--ui-focus-ring);
|
|
@@ -636,7 +623,7 @@ html[data-ui-input-modality="touch"]
|
|
|
636
623
|
}
|
|
637
624
|
|
|
638
625
|
/* A component that sets its display still honours the hidden attribute on its root. */
|
|
639
|
-
[data-component~="ui-button"][hidden][data-v-
|
|
626
|
+
[data-component~="ui-button"][hidden][data-v-75541d8a] {
|
|
640
627
|
display: none;
|
|
641
628
|
}
|
|
642
629
|
|
|
@@ -752,7 +739,7 @@ html[data-ui-input-modality="touch"]
|
|
|
752
739
|
display: none;
|
|
753
740
|
}
|
|
754
741
|
|
|
755
|
-
[data-component~="ui-checkbox"][data-v-
|
|
742
|
+
[data-component~="ui-checkbox"][data-v-4d65c3b0] {
|
|
756
743
|
display: inline-flex;
|
|
757
744
|
align-items: flex-start;
|
|
758
745
|
gap: var(--ui-checkbox-gap, var(--ui-space-2));
|
|
@@ -760,11 +747,27 @@ html[data-ui-input-modality="touch"]
|
|
|
760
747
|
color: var(--ui-text-primary);
|
|
761
748
|
cursor: pointer;
|
|
762
749
|
}
|
|
763
|
-
|
|
750
|
+
|
|
751
|
+
/* The label, and under it an optional line saying what the choice means. */
|
|
752
|
+
.text[data-v-4d65c3b0] {
|
|
753
|
+
display: flex;
|
|
754
|
+
flex-direction: column;
|
|
755
|
+
gap: var(--ui-space-1);
|
|
756
|
+
min-inline-size: 0;
|
|
757
|
+
}
|
|
758
|
+
.label[data-v-4d65c3b0] {
|
|
764
759
|
min-inline-size: 0;
|
|
765
760
|
line-height: var(--ui-line-height-md);
|
|
766
761
|
}
|
|
767
|
-
|
|
762
|
+
.description[data-v-4d65c3b0] {
|
|
763
|
+
color: var(--ui-text-secondary);
|
|
764
|
+
font-size: var(--ui-font-size-sm);
|
|
765
|
+
line-height: var(--ui-line-height);
|
|
766
|
+
}
|
|
767
|
+
.description[data-v-4d65c3b0]:empty {
|
|
768
|
+
display: none;
|
|
769
|
+
}
|
|
770
|
+
input[data-v-4d65c3b0] {
|
|
768
771
|
appearance: none;
|
|
769
772
|
-webkit-appearance: none;
|
|
770
773
|
position: relative;
|
|
@@ -782,20 +785,20 @@ input[data-v-9c9d1eaa] {
|
|
|
782
785
|
border-color var(--ui-motion-fast) var(--ui-motion-ease),
|
|
783
786
|
box-shadow var(--ui-motion-fast) var(--ui-motion-ease);
|
|
784
787
|
}
|
|
785
|
-
input[data-v-
|
|
788
|
+
input[data-v-4d65c3b0]::after {
|
|
786
789
|
content: "";
|
|
787
790
|
position: absolute;
|
|
788
791
|
opacity: 0;
|
|
789
792
|
}
|
|
790
|
-
input[data-v-
|
|
791
|
-
input[data-v-
|
|
793
|
+
input[data-v-4d65c3b0]:checked,
|
|
794
|
+
input[data-v-4d65c3b0]:indeterminate {
|
|
792
795
|
border-color: var(--ui-accent-solid);
|
|
793
796
|
background: var(--ui-accent-solid);
|
|
794
797
|
box-shadow: inset 0 1px 2px color-mix(in srgb, #000 16%, transparent);
|
|
795
798
|
}
|
|
796
799
|
|
|
797
800
|
/* Centre the tick's box, then lift it: a rotated L's ink sits ~0.11rem below its box centre. */
|
|
798
|
-
input[data-v-
|
|
801
|
+
input[data-v-4d65c3b0]:checked::after {
|
|
799
802
|
inset: 0;
|
|
800
803
|
margin: auto;
|
|
801
804
|
inline-size: 0.32rem;
|
|
@@ -808,7 +811,7 @@ input[data-v-9c9d1eaa]:checked::after {
|
|
|
808
811
|
opacity: 1;
|
|
809
812
|
transform: translateY(-0.11rem) rotate(45deg);
|
|
810
813
|
}
|
|
811
|
-
input[data-v-
|
|
814
|
+
input[data-v-4d65c3b0]:indeterminate::after {
|
|
812
815
|
inset: 50% 0.23rem auto;
|
|
813
816
|
block-size: 0.125rem;
|
|
814
817
|
border-radius: var(--ui-radius-round);
|
|
@@ -816,25 +819,25 @@ input[data-v-9c9d1eaa]:indeterminate::after {
|
|
|
816
819
|
opacity: 1;
|
|
817
820
|
transform: translateY(-50%);
|
|
818
821
|
}
|
|
819
|
-
input[data-v-
|
|
822
|
+
input[data-v-4d65c3b0]:hover:enabled {
|
|
820
823
|
border-color: var(--ui-accent-solid);
|
|
821
824
|
}
|
|
822
|
-
input[data-v-
|
|
825
|
+
input[data-v-4d65c3b0]:focus-visible {
|
|
823
826
|
outline: 2px solid var(--ui-focus-ring, var(--ui-accent-solid));
|
|
824
827
|
outline-offset: 2px;
|
|
825
828
|
}
|
|
826
|
-
[data-component~="ui-checkbox"][data-ui-checkbox-state~="disabled"][data-v-
|
|
829
|
+
[data-component~="ui-checkbox"][data-ui-checkbox-state~="disabled"][data-v-4d65c3b0] {
|
|
827
830
|
color: var(--ui-text-muted);
|
|
828
831
|
cursor: not-allowed;
|
|
829
832
|
}
|
|
830
|
-
[data-component~="ui-checkbox"][data-ui-checkbox-state~="disabled"] input[data-v-
|
|
833
|
+
[data-component~="ui-checkbox"][data-ui-checkbox-state~="disabled"] input[data-v-4d65c3b0] {
|
|
831
834
|
border-color: var(--ui-border-default);
|
|
832
835
|
background: var(--ui-control-surface-disabled, var(--ui-surface-muted));
|
|
833
836
|
cursor: not-allowed;
|
|
834
837
|
}
|
|
835
838
|
|
|
836
839
|
/* A component that sets its display still honours the hidden attribute on its root. */
|
|
837
|
-
[data-component~="ui-checkbox"][hidden][data-v-
|
|
840
|
+
[data-component~="ui-checkbox"][hidden][data-v-4d65c3b0] {
|
|
838
841
|
display: none;
|
|
839
842
|
}
|
|
840
843
|
|
|
@@ -2972,14 +2975,14 @@ svg[data-v-dc9b5621-s] {
|
|
|
2972
2975
|
display: none;
|
|
2973
2976
|
}
|
|
2974
2977
|
|
|
2975
|
-
[data-component~="ui-icon-button"][data-v-
|
|
2978
|
+
[data-component~="ui-icon-button"][data-v-c322b7ed] {
|
|
2976
2979
|
display: inline-flex;
|
|
2977
2980
|
color: var(--ui-text-secondary);
|
|
2978
2981
|
}
|
|
2979
|
-
[data-component~="ui-icon-button"][data-ui-icon-button-state~="anticipatory"][data-v-
|
|
2982
|
+
[data-component~="ui-icon-button"][data-ui-icon-button-state~="anticipatory"][data-v-c322b7ed] {
|
|
2980
2983
|
position: relative;
|
|
2981
2984
|
}
|
|
2982
|
-
[data-component~="ui-icon-button"][data-ui-icon-button-state~="anticipatory"][data-v-
|
|
2985
|
+
[data-component~="ui-icon-button"][data-ui-icon-button-state~="anticipatory"][data-v-c322b7ed]::before {
|
|
2983
2986
|
content: "";
|
|
2984
2987
|
position: absolute;
|
|
2985
2988
|
inset: 50% auto auto 50%;
|
|
@@ -2998,17 +3001,17 @@ svg[data-v-dc9b5621-s] {
|
|
|
2998
3001
|
* surface and icon. The root is the native button, so hiding it outright would hide the dot
|
|
2999
3002
|
* too, and slotted icons sit outside this scope; `color: transparent` hides currentColor icons. */
|
|
3000
3003
|
@media (hover: hover) and (pointer: fine) {
|
|
3001
|
-
[data-component~="ui-icon-button"][data-ui-icon-button-state~="anticipatory"][data-v-
|
|
3004
|
+
[data-component~="ui-icon-button"][data-ui-icon-button-state~="anticipatory"][data-v-c322b7ed]:not([data-component~="ui-icon-button"][data-ui-icon-button-state~="variant=solid"], [data-ui-proximity="near"], :hover, :focus-visible) {
|
|
3002
3005
|
border-color: transparent;
|
|
3003
3006
|
background: transparent;
|
|
3004
3007
|
box-shadow: none;
|
|
3005
3008
|
color: transparent;
|
|
3006
3009
|
}
|
|
3007
3010
|
}
|
|
3008
|
-
[data-component~="ui-icon-button"][data-ui-icon-button-state~="anticipatory"][data-v-
|
|
3011
|
+
[data-component~="ui-icon-button"][data-ui-icon-button-state~="anticipatory"][data-v-c322b7ed]:is([data-component~="ui-icon-button"][data-ui-icon-button-state~="variant=solid"], [data-ui-proximity="near"], :hover, :focus-visible)::before {
|
|
3009
3012
|
opacity: 0;
|
|
3010
3013
|
}
|
|
3011
|
-
[data-component~="ui-icon-button"][data-v-
|
|
3014
|
+
[data-component~="ui-icon-button"][data-v-c322b7ed] {
|
|
3012
3015
|
/* The size prop resolves here; --ui-icon-button-size overrides it on an element. */
|
|
3013
3016
|
--_size: 2rem;
|
|
3014
3017
|
appearance: none;
|
|
@@ -3034,7 +3037,7 @@ svg[data-v-dc9b5621-s] {
|
|
|
3034
3037
|
transform var(--ui-motion-fast) var(--ui-motion-ease);
|
|
3035
3038
|
}
|
|
3036
3039
|
@media (hover: none), (pointer: coarse) {
|
|
3037
|
-
[data-component~="ui-icon-button"][data-ui-icon-button-state~="anticipatory"][data-v-
|
|
3040
|
+
[data-component~="ui-icon-button"][data-ui-icon-button-state~="anticipatory"][data-v-c322b7ed]::before {
|
|
3038
3041
|
opacity: 0;
|
|
3039
3042
|
}
|
|
3040
3043
|
}
|
|
@@ -3042,10 +3045,10 @@ svg[data-v-dc9b5621-s] {
|
|
|
3042
3045
|
/* A touch target without a bigger button: an invisible hit area, at least the control
|
|
3043
3046
|
minimum, centred on the button (::before is the anticipatory guide). */
|
|
3044
3047
|
@media (pointer: coarse) {
|
|
3045
|
-
[data-component~="ui-icon-button"][data-v-
|
|
3048
|
+
[data-component~="ui-icon-button"][data-v-c322b7ed] {
|
|
3046
3049
|
position: relative;
|
|
3047
3050
|
}
|
|
3048
|
-
[data-component~="ui-icon-button"][data-v-
|
|
3051
|
+
[data-component~="ui-icon-button"][data-v-c322b7ed]::after {
|
|
3049
3052
|
content: "";
|
|
3050
3053
|
position: absolute;
|
|
3051
3054
|
inset: 50% auto auto 50%;
|
|
@@ -3054,10 +3057,10 @@ svg[data-v-dc9b5621-s] {
|
|
|
3054
3057
|
transform: translate(-50%, -50%);
|
|
3055
3058
|
}
|
|
3056
3059
|
}
|
|
3057
|
-
html[data-ui-input-modality="touch"] [data-component~="ui-icon-button"][data-v-
|
|
3060
|
+
html[data-ui-input-modality="touch"] [data-component~="ui-icon-button"][data-v-c322b7ed] {
|
|
3058
3061
|
position: relative;
|
|
3059
3062
|
}
|
|
3060
|
-
html[data-ui-input-modality="touch"] [data-component~="ui-icon-button"][data-v-
|
|
3063
|
+
html[data-ui-input-modality="touch"] [data-component~="ui-icon-button"][data-v-c322b7ed]::after {
|
|
3061
3064
|
content: "";
|
|
3062
3065
|
position: absolute;
|
|
3063
3066
|
inset: 50% auto auto 50%;
|
|
@@ -3065,29 +3068,29 @@ html[data-ui-input-modality="touch"] [data-component~="ui-icon-button"][data-v-b
|
|
|
3065
3068
|
block-size: max(100%, var(--ui-control-min-block-size));
|
|
3066
3069
|
transform: translate(-50%, -50%);
|
|
3067
3070
|
}
|
|
3068
|
-
[data-component~="ui-icon-button"][data-ui-icon-button-state~="size=sm"][data-v-
|
|
3071
|
+
[data-component~="ui-icon-button"][data-ui-icon-button-state~="size=sm"][data-v-c322b7ed] {
|
|
3069
3072
|
--_size: 1.75rem;
|
|
3070
3073
|
inline-size: var(--ui-icon-button-size, var(--_size));
|
|
3071
3074
|
block-size: var(--ui-icon-button-size, var(--_size));
|
|
3072
3075
|
min-inline-size: var(--ui-icon-button-size, var(--_size));
|
|
3073
3076
|
min-block-size: var(--ui-icon-button-size, var(--_size));
|
|
3074
3077
|
}
|
|
3075
|
-
[data-component~="ui-icon-button"][data-ui-icon-button-state~="size=lg"][data-v-
|
|
3078
|
+
[data-component~="ui-icon-button"][data-ui-icon-button-state~="size=lg"][data-v-c322b7ed] {
|
|
3076
3079
|
--_size: 2.5rem;
|
|
3077
3080
|
inline-size: var(--ui-icon-button-size, var(--_size));
|
|
3078
3081
|
block-size: var(--ui-icon-button-size, var(--_size));
|
|
3079
3082
|
min-inline-size: var(--ui-icon-button-size, var(--_size));
|
|
3080
3083
|
min-block-size: var(--ui-icon-button-size, var(--_size));
|
|
3081
3084
|
}
|
|
3082
|
-
[data-component~="ui-icon-button"][data-ui-icon-button-state~="round"][data-v-
|
|
3085
|
+
[data-component~="ui-icon-button"][data-ui-icon-button-state~="round"][data-v-c322b7ed] {
|
|
3083
3086
|
border-radius: var(--ui-radius-round);
|
|
3084
3087
|
}
|
|
3085
|
-
[data-component~="ui-icon-button"][data-ui-icon-button-state~="variant=outline"][data-v-
|
|
3088
|
+
[data-component~="ui-icon-button"][data-ui-icon-button-state~="variant=outline"][data-v-c322b7ed] {
|
|
3086
3089
|
border-color: var(--ui-icon-button-border, var(--ui-border-default));
|
|
3087
3090
|
background: var(--ui-icon-button-outline-surface, var(--ui-surface-default));
|
|
3088
3091
|
color: var(--ui-icon-button-outline-text, var(--ui-text-primary));
|
|
3089
3092
|
}
|
|
3090
|
-
[data-component~="ui-icon-button"][data-ui-icon-button-state~="variant=solid"][data-v-
|
|
3093
|
+
[data-component~="ui-icon-button"][data-ui-icon-button-state~="variant=solid"][data-v-c322b7ed] {
|
|
3091
3094
|
background: var(--ui-icon-button-solid-surface, var(--ui-accent-solid));
|
|
3092
3095
|
color: var(--ui-icon-button-solid-text, var(--ui-text-on-accent));
|
|
3093
3096
|
box-shadow: var(
|
|
@@ -3095,51 +3098,43 @@ html[data-ui-input-modality="touch"] [data-component~="ui-icon-button"][data-v-b
|
|
|
3095
3098
|
0 1px 2px color-mix(in srgb, var(--ui-accent-solid) 18%, transparent)
|
|
3096
3099
|
);
|
|
3097
3100
|
}
|
|
3098
|
-
[data-component~="ui-icon-button"][data-v-
|
|
3101
|
+
[data-component~="ui-icon-button"][data-v-c322b7ed]:hover:enabled {
|
|
3099
3102
|
/* Derived from the text colour so the ghost hover shows on any background. */
|
|
3100
3103
|
background: var(--ui-icon-button-hover-surface, color-mix(in srgb, currentColor 8%, transparent));
|
|
3101
3104
|
color: var(--ui-icon-button-hover-text, var(--ui-text-primary));
|
|
3102
3105
|
}
|
|
3103
|
-
[data-component~="ui-icon-button"][data-ui-icon-button-state~="variant=outline"][data-v-
|
|
3106
|
+
[data-component~="ui-icon-button"][data-ui-icon-button-state~="variant=outline"][data-v-c322b7ed]:hover:enabled {
|
|
3104
3107
|
border-color: var(--ui-icon-button-hover-border, var(--ui-border-strong));
|
|
3105
3108
|
}
|
|
3106
|
-
[data-component~="ui-icon-button"][data-ui-icon-button-state~="variant=solid"][data-v-
|
|
3109
|
+
[data-component~="ui-icon-button"][data-ui-icon-button-state~="variant=solid"][data-v-c322b7ed]:hover:enabled {
|
|
3107
3110
|
background: var(--ui-icon-button-solid-hover-surface, var(--ui-accent-hover));
|
|
3108
3111
|
}
|
|
3109
|
-
[data-component~="ui-icon-button"][data-v-
|
|
3112
|
+
[data-component~="ui-icon-button"][data-v-c322b7ed]:active:enabled {
|
|
3110
3113
|
transform: scale(var(--ui-icon-button-active-scale, 0.96));
|
|
3111
3114
|
}
|
|
3112
|
-
[data-component~="ui-icon-button"][data-v-
|
|
3115
|
+
[data-component~="ui-icon-button"][data-v-c322b7ed]:focus-visible {
|
|
3113
3116
|
outline: none;
|
|
3114
3117
|
box-shadow: var(--ui-focus-halo);
|
|
3115
3118
|
}
|
|
3116
3119
|
|
|
3117
3120
|
/* Disabled colours fall back to each variant's own; ghost takes only the icon colour. */
|
|
3118
|
-
|
|
3121
|
+
/* Disabled washes the button out the way Button does: the same shape, one filter. */
|
|
3122
|
+
[data-component~="ui-icon-button"][data-v-c322b7ed]:disabled {
|
|
3123
|
+
filter: var(--ui-icon-button-disabled-filter, var(--ui-disabled-filter));
|
|
3119
3124
|
opacity: var(--ui-icon-button-disabled-opacity, 1);
|
|
3120
|
-
color: var(--ui-icon-button-disabled-text, var(--ui-disabled-text));
|
|
3121
3125
|
cursor: not-allowed;
|
|
3126
|
+
box-shadow: none;
|
|
3122
3127
|
}
|
|
3123
|
-
[data-component~="ui-icon-button"][data-
|
|
3124
|
-
border-color: var(--ui-icon-button-disabled-border, var(--ui-border));
|
|
3125
|
-
background-color: var(--ui-icon-button-disabled-surface, var(--ui-disabled-surface));
|
|
3126
|
-
color: var(--ui-icon-button-disabled-text, var(--ui-disabled-text));
|
|
3127
|
-
}
|
|
3128
|
-
[data-component~="ui-icon-button"][data-ui-icon-button-state~="variant=solid"][data-v-bcedd63e]:disabled {
|
|
3129
|
-
border-color: var(--ui-icon-button-disabled-border, var(--ui-border));
|
|
3130
|
-
background-color: var(--ui-icon-button-disabled-surface, var(--ui-disabled-surface));
|
|
3131
|
-
color: var(--ui-icon-button-disabled-text, var(--ui-disabled-text));
|
|
3132
|
-
}
|
|
3133
|
-
[data-component~="ui-icon-button"][data-v-bcedd63e] {
|
|
3128
|
+
[data-component~="ui-icon-button"][data-v-c322b7ed] {
|
|
3134
3129
|
--_icon-button-icon-default: var(--ui-icon-size-md);
|
|
3135
3130
|
}
|
|
3136
|
-
[data-component~="ui-icon-button"][data-ui-icon-button-state~="size=sm"][data-v-
|
|
3131
|
+
[data-component~="ui-icon-button"][data-ui-icon-button-state~="size=sm"][data-v-c322b7ed] {
|
|
3137
3132
|
--_icon-button-icon-default: var(--ui-icon-size-sm);
|
|
3138
3133
|
}
|
|
3139
|
-
[data-component~="ui-icon-button"][data-ui-icon-button-state~="size=lg"][data-v-
|
|
3134
|
+
[data-component~="ui-icon-button"][data-ui-icon-button-state~="size=lg"][data-v-c322b7ed] {
|
|
3140
3135
|
--_icon-button-icon-default: var(--ui-icon-size-lg);
|
|
3141
3136
|
}
|
|
3142
|
-
svg[data-v-
|
|
3137
|
+
svg[data-v-c322b7ed-s] {
|
|
3143
3138
|
inline-size: var(--ui-icon-button-icon-size, var(--_icon-button-icon-default));
|
|
3144
3139
|
block-size: var(--ui-icon-button-icon-size, var(--_icon-button-icon-default));
|
|
3145
3140
|
flex-shrink: 0;
|
|
@@ -3147,7 +3142,7 @@ svg[data-v-bcedd63e-s] {
|
|
|
3147
3142
|
}
|
|
3148
3143
|
|
|
3149
3144
|
/* A component that sets its display still honours the hidden attribute on its root. */
|
|
3150
|
-
[data-component~="ui-icon-button"][hidden][data-v-
|
|
3145
|
+
[data-component~="ui-icon-button"][hidden][data-v-c322b7ed] {
|
|
3151
3146
|
display: none;
|
|
3152
3147
|
}
|
|
3153
3148
|
|
|
@@ -3699,7 +3694,7 @@ svg[data-v-bcedd63e-s] {
|
|
|
3699
3694
|
}
|
|
3700
3695
|
}
|
|
3701
3696
|
|
|
3702
|
-
[data-component~="ui-radio"][data-v-
|
|
3697
|
+
[data-component~="ui-radio"][data-v-f9c61d50] {
|
|
3703
3698
|
display: inline-flex;
|
|
3704
3699
|
align-items: flex-start;
|
|
3705
3700
|
gap: var(--ui-radio-gap, var(--ui-space-2));
|
|
@@ -3707,11 +3702,27 @@ svg[data-v-bcedd63e-s] {
|
|
|
3707
3702
|
color: var(--ui-text-primary);
|
|
3708
3703
|
cursor: pointer;
|
|
3709
3704
|
}
|
|
3710
|
-
|
|
3705
|
+
|
|
3706
|
+
/* The label, and under it an optional line saying what the choice means. */
|
|
3707
|
+
.text[data-v-f9c61d50] {
|
|
3708
|
+
display: flex;
|
|
3709
|
+
flex-direction: column;
|
|
3710
|
+
gap: var(--ui-space-1);
|
|
3711
|
+
min-inline-size: 0;
|
|
3712
|
+
}
|
|
3713
|
+
.label[data-v-f9c61d50] {
|
|
3711
3714
|
min-inline-size: 0;
|
|
3712
3715
|
line-height: var(--ui-line-height-md);
|
|
3713
3716
|
}
|
|
3714
|
-
|
|
3717
|
+
.description[data-v-f9c61d50] {
|
|
3718
|
+
color: var(--ui-text-secondary);
|
|
3719
|
+
font-size: var(--ui-font-size-sm);
|
|
3720
|
+
line-height: var(--ui-line-height);
|
|
3721
|
+
}
|
|
3722
|
+
.description[data-v-f9c61d50]:empty {
|
|
3723
|
+
display: none;
|
|
3724
|
+
}
|
|
3725
|
+
input[data-v-f9c61d50] {
|
|
3715
3726
|
flex: 0 0 auto;
|
|
3716
3727
|
inline-size: var(--ui-radio-size, 1.125rem);
|
|
3717
3728
|
block-size: var(--ui-radio-size, 1.125rem);
|
|
@@ -3719,20 +3730,20 @@ input[data-v-e31949a7] {
|
|
|
3719
3730
|
accent-color: var(--ui-accent-solid);
|
|
3720
3731
|
cursor: pointer;
|
|
3721
3732
|
}
|
|
3722
|
-
input[data-v-
|
|
3733
|
+
input[data-v-f9c61d50]:focus-visible {
|
|
3723
3734
|
outline: 2px solid var(--ui-focus-ring, var(--ui-accent-solid));
|
|
3724
3735
|
outline-offset: 2px;
|
|
3725
3736
|
}
|
|
3726
|
-
[data-component~="ui-radio"][data-ui-radio-state~="disabled"][data-v-
|
|
3737
|
+
[data-component~="ui-radio"][data-ui-radio-state~="disabled"][data-v-f9c61d50] {
|
|
3727
3738
|
color: var(--ui-text-muted);
|
|
3728
3739
|
cursor: not-allowed;
|
|
3729
3740
|
}
|
|
3730
|
-
[data-component~="ui-radio"][data-ui-radio-state~="disabled"] input[data-v-
|
|
3741
|
+
[data-component~="ui-radio"][data-ui-radio-state~="disabled"] input[data-v-f9c61d50] {
|
|
3731
3742
|
cursor: not-allowed;
|
|
3732
3743
|
}
|
|
3733
3744
|
|
|
3734
3745
|
/* A component that sets its display still honours the hidden attribute on its root. */
|
|
3735
|
-
[data-component~="ui-radio"][hidden][data-v-
|
|
3746
|
+
[data-component~="ui-radio"][hidden][data-v-f9c61d50] {
|
|
3736
3747
|
display: none;
|
|
3737
3748
|
}
|
|
3738
3749
|
|
|
@@ -4569,7 +4580,7 @@ to {
|
|
|
4569
4580
|
display: none;
|
|
4570
4581
|
}
|
|
4571
4582
|
|
|
4572
|
-
[data-component~="ui-switch"][data-v-
|
|
4583
|
+
[data-component~="ui-switch"][data-v-85cb3260] {
|
|
4573
4584
|
display: inline-flex;
|
|
4574
4585
|
align-items: flex-start;
|
|
4575
4586
|
gap: var(--ui-switch-gap, var(--ui-space-2));
|
|
@@ -4577,11 +4588,27 @@ to {
|
|
|
4577
4588
|
color: var(--ui-text-primary);
|
|
4578
4589
|
cursor: pointer;
|
|
4579
4590
|
}
|
|
4580
|
-
|
|
4591
|
+
|
|
4592
|
+
/* The label, and under it an optional line saying what the choice means. */
|
|
4593
|
+
.text[data-v-85cb3260] {
|
|
4594
|
+
display: flex;
|
|
4595
|
+
flex-direction: column;
|
|
4596
|
+
gap: var(--ui-space-1);
|
|
4597
|
+
min-inline-size: 0;
|
|
4598
|
+
}
|
|
4599
|
+
.label[data-v-85cb3260] {
|
|
4581
4600
|
min-inline-size: 0;
|
|
4582
4601
|
line-height: var(--ui-line-height-md);
|
|
4583
4602
|
}
|
|
4584
|
-
|
|
4603
|
+
.description[data-v-85cb3260] {
|
|
4604
|
+
color: var(--ui-text-secondary);
|
|
4605
|
+
font-size: var(--ui-font-size-sm);
|
|
4606
|
+
line-height: var(--ui-line-height);
|
|
4607
|
+
}
|
|
4608
|
+
.description[data-v-85cb3260]:empty {
|
|
4609
|
+
display: none;
|
|
4610
|
+
}
|
|
4611
|
+
input[data-v-85cb3260] {
|
|
4585
4612
|
appearance: none;
|
|
4586
4613
|
-webkit-appearance: none;
|
|
4587
4614
|
position: relative;
|
|
@@ -4599,7 +4626,7 @@ input[data-v-26ab3add] {
|
|
|
4599
4626
|
border-color var(--ui-motion-fast) var(--ui-motion-ease);
|
|
4600
4627
|
margin: 0;
|
|
4601
4628
|
}
|
|
4602
|
-
input[data-v-
|
|
4629
|
+
input[data-v-85cb3260]::after {
|
|
4603
4630
|
content: "";
|
|
4604
4631
|
position: absolute;
|
|
4605
4632
|
top: 3px;
|
|
@@ -4611,35 +4638,35 @@ input[data-v-26ab3add]::after {
|
|
|
4611
4638
|
box-shadow: var(--ui-shadow-xs);
|
|
4612
4639
|
transition: transform var(--ui-motion-fast) var(--ui-motion-ease);
|
|
4613
4640
|
}
|
|
4614
|
-
input[data-v-
|
|
4641
|
+
input[data-v-85cb3260]:checked {
|
|
4615
4642
|
background: var(--ui-accent-solid);
|
|
4616
4643
|
border-color: var(--ui-accent-solid);
|
|
4617
4644
|
}
|
|
4618
|
-
input[data-v-
|
|
4645
|
+
input[data-v-85cb3260]:checked::after {
|
|
4619
4646
|
transform: translateX(1rem);
|
|
4620
4647
|
background: var(--ui-text-on-accent);
|
|
4621
4648
|
}
|
|
4622
|
-
input[data-v-
|
|
4649
|
+
input[data-v-85cb3260]:focus-visible {
|
|
4623
4650
|
outline: 2px solid var(--ui-focus-ring, var(--ui-accent-solid));
|
|
4624
4651
|
outline-offset: 2px;
|
|
4625
4652
|
}
|
|
4626
|
-
[data-component~="ui-switch"][data-ui-switch-state~="disabled"][data-v-
|
|
4653
|
+
[data-component~="ui-switch"][data-ui-switch-state~="disabled"][data-v-85cb3260] {
|
|
4627
4654
|
color: var(--ui-text-muted);
|
|
4628
4655
|
cursor: not-allowed;
|
|
4629
4656
|
}
|
|
4630
|
-
[data-component~="ui-switch"][data-ui-switch-state~="disabled"] input[data-v-
|
|
4657
|
+
[data-component~="ui-switch"][data-ui-switch-state~="disabled"] input[data-v-85cb3260] {
|
|
4631
4658
|
border-color: var(--ui-border-default);
|
|
4632
4659
|
background: var(--ui-control-surface-disabled, var(--ui-surface-muted));
|
|
4633
4660
|
cursor: not-allowed;
|
|
4634
4661
|
}
|
|
4635
4662
|
@media (prefers-reduced-motion: reduce) {
|
|
4636
|
-
input[data-v-
|
|
4663
|
+
input[data-v-85cb3260], input[data-v-85cb3260]::after {
|
|
4637
4664
|
transition: none;
|
|
4638
4665
|
}
|
|
4639
4666
|
}
|
|
4640
4667
|
|
|
4641
4668
|
/* A component that sets its display still honours the hidden attribute on its root. */
|
|
4642
|
-
[data-component~="ui-switch"][hidden][data-v-
|
|
4669
|
+
[data-component~="ui-switch"][hidden][data-v-85cb3260] {
|
|
4643
4670
|
display: none;
|
|
4644
4671
|
}
|
|
4645
4672
|
|