@threadlabs/looma 0.25.2 → 0.25.4

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.
@@ -349,7 +349,7 @@ svg[data-v-bf7b9190] {
349
349
  syntax: "*";
350
350
  inherits: false;
351
351
  }
352
- [data-component~="ui-badge"][data-v-b1009c5d] {
352
+ [data-component~="ui-badge"][data-v-5065fda2] {
353
353
  --_badge-surface: color-mix(in srgb, var(--ui-surface-subtle) 80%, var(--ui-surface-default));
354
354
  --_badge-text: var(--ui-text-secondary);
355
355
  /* Sit between the soft fill and its stronger theme ink. */
@@ -375,6 +375,7 @@ svg[data-v-bf7b9190] {
375
375
  display: inline-flex;
376
376
  align-items: center;
377
377
  justify-content: center;
378
+ gap: var(--ui-space-1);
378
379
  box-sizing: border-box;
379
380
  min-inline-size: 0;
380
381
  max-inline-size: 100%;
@@ -394,17 +395,48 @@ svg[data-v-bf7b9190] {
394
395
 
395
396
  /* A constrained badge keeps its surface intact and ellipsizes only its label. The full
396
397
  text stays in the DOM for accessible names and consumers' selected values. */
397
- .label[data-v-b1009c5d] {
398
+ .label[data-v-5065fda2] {
398
399
  display: block;
399
400
  min-inline-size: 0;
400
401
  overflow: hidden;
401
402
  text-overflow: ellipsis;
402
403
  }
404
+ .label[data-v-5065fda2]:empty {
405
+ display: none;
406
+ }
407
+
408
+ /* Icon content has its own flex item so label ellipsis never clips its strokes. */
409
+ .icon[data-v-5065fda2] {
410
+ display: inline-flex;
411
+ align-items: center;
412
+ justify-content: center;
413
+ flex: none;
414
+ }
415
+ .icon[data-v-5065fda2]:empty {
416
+ display: none;
417
+ }
418
+ .icon svg[data-v-5065fda2-s] {
419
+ display: block;
420
+ inline-size: 1em;
421
+ block-size: 1em;
422
+ flex: none;
423
+ }
424
+
425
+ /* Ordinary icon-plus-text children keep inline ellipsis, with explicit glyph spacing. */
426
+ .label svg[data-v-5065fda2-s] {
427
+ inline-size: 1em;
428
+ block-size: 1em;
429
+ vertical-align: middle;
430
+ margin-inline-end: var(--ui-space-1);
431
+ }
432
+ .label[data-v-5065fda2]:has(svg) {
433
+ text-box-trim: none;
434
+ }
403
435
 
404
- /* Trim leading while retaining the font's ascent and descent. A cap-to-baseline box
405
- would crop glyphs where the label clips horizontal overflow for ellipsis. */
436
+ /* Text-only badges retain their trimmed inline baseline. Icon content needs a flex row;
437
+ trimming its label separately keeps the glyph centered without changing adjacent lines. */
406
438
  @supports (text-box-trim: trim-both) {
407
- [data-component~="ui-badge"][data-v-b1009c5d] {
439
+ [data-component~="ui-badge"][data-v-5065fda2] {
408
440
  display: inline-block;
409
441
  min-block-size: var(--ui-badge-min-block-size, 1.5rem);
410
442
  text-align: center;
@@ -412,8 +444,17 @@ svg[data-v-bf7b9190] {
412
444
  text-box-trim: trim-both;
413
445
  text-box-edge: text;
414
446
  }
447
+ [data-component~="ui-badge"][data-v-5065fda2]:has(.icon:not(:empty)),
448
+ [data-component~="ui-badge"][data-v-5065fda2]:has(.label svg) {
449
+ display: inline-flex;
450
+ text-box-trim: none;
415
451
  }
416
- [data-component~="ui-badge"][data-ui-badge-state~="size=xs"][data-v-b1009c5d] {
452
+ [data-component~="ui-badge"]:has(.icon:not(:empty)) .label[data-v-5065fda2] {
453
+ text-box-trim: trim-both;
454
+ text-box-edge: text;
455
+ }
456
+ }
457
+ [data-component~="ui-badge"][data-ui-badge-state~="size=xs"][data-v-5065fda2] {
417
458
  box-sizing: border-box;
418
459
  min-inline-size: 1rem;
419
460
  min-block-size: var(--ui-badge-min-block-size, 1rem);
@@ -421,52 +462,52 @@ svg[data-v-bf7b9190] {
421
462
  font-size: var(--ui-badge-font-size, var(--ui-font-size-2xs));
422
463
  line-height: var(--ui-badge-line-height, 1);
423
464
  }
424
- [data-component~="ui-badge"][data-ui-badge-state~="tone=accent"][data-v-b1009c5d] {
465
+ [data-component~="ui-badge"][data-ui-badge-state~="tone=accent"][data-v-5065fda2] {
425
466
  --_badge-surface: var(--ui-accent-strong-surface, var(--ui-accent-solid));
426
467
  --_badge-border: var(--ui-accent-strong-surface, var(--ui-accent-solid));
427
468
  --_badge-text: var(--ui-accent-on-strong, var(--ui-text-on-accent));
428
469
  }
429
- [data-component~="ui-badge"][data-ui-badge-state~="tone=danger"][data-v-b1009c5d] {
470
+ [data-component~="ui-badge"][data-ui-badge-state~="tone=danger"][data-v-5065fda2] {
430
471
  --_badge-surface: var(--ui-danger-strong-surface, var(--ui-danger-solid));
431
472
  --_badge-border: var(--ui-danger-strong-surface, var(--ui-danger-solid));
432
473
  --_badge-text: var(--ui-danger-on-strong, var(--ui-text-on-accent));
433
474
  }
434
- [data-component~="ui-badge"][data-ui-badge-state~="tone=success"][data-v-b1009c5d] {
475
+ [data-component~="ui-badge"][data-ui-badge-state~="tone=success"][data-v-5065fda2] {
435
476
  --_badge-surface: var(--ui-success-strong-surface, var(--ui-success-solid));
436
477
  --_badge-border: var(--ui-success-strong-surface, var(--ui-success-solid));
437
478
  --_badge-text: var(--ui-success-on-strong, var(--ui-text-on-accent));
438
479
  }
439
- [data-component~="ui-badge"][data-ui-badge-state~="tone=warning"][data-v-b1009c5d] {
480
+ [data-component~="ui-badge"][data-ui-badge-state~="tone=warning"][data-v-5065fda2] {
440
481
  --_badge-surface: var(--ui-warning-strong-surface, var(--ui-warning-solid));
441
482
  --_badge-border: var(--ui-warning-strong-surface, var(--ui-warning-solid));
442
483
  --_badge-text: var(--ui-warning-on-strong, var(--ui-text-on-accent));
443
484
  }
444
- [data-component~="ui-badge"][data-ui-badge-state~="tone=info"][data-v-b1009c5d] {
485
+ [data-component~="ui-badge"][data-ui-badge-state~="tone=info"][data-v-5065fda2] {
445
486
  --_badge-surface: var(--ui-info-strong-surface, var(--ui-info-solid));
446
487
  --_badge-border: var(--ui-info-strong-surface, var(--ui-info-solid));
447
488
  --_badge-text: var(--ui-info-on-strong, var(--ui-text-on-accent));
448
489
  }
449
- [data-component~="ui-badge"][data-ui-badge-state~="variant=subtle"][data-ui-badge-state~="tone=accent"][data-v-b1009c5d] {
490
+ [data-component~="ui-badge"][data-ui-badge-state~="variant=subtle"][data-ui-badge-state~="tone=accent"][data-v-5065fda2] {
450
491
  --_badge-surface: color-mix(in srgb, var(--ui-accent-solid) 19%, var(--ui-surface-default));
451
492
  --_badge-border: color-mix(in srgb, var(--ui-accent-solid) 25%, var(--ui-surface-default));
452
493
  --_badge-text: var(--ui-accent-subtle-text, var(--ui-accent-solid));
453
494
  }
454
- [data-component~="ui-badge"][data-ui-badge-state~="variant=subtle"][data-ui-badge-state~="tone=danger"][data-v-b1009c5d] {
495
+ [data-component~="ui-badge"][data-ui-badge-state~="variant=subtle"][data-ui-badge-state~="tone=danger"][data-v-5065fda2] {
455
496
  --_badge-surface: color-mix(in srgb, var(--ui-danger-solid) 19%, var(--ui-surface-default));
456
497
  --_badge-border: color-mix(in srgb, var(--ui-danger-solid) 25%, var(--ui-surface-default));
457
498
  --_badge-text: var(--ui-danger-subtle-text, var(--ui-danger-solid));
458
499
  }
459
- [data-component~="ui-badge"][data-ui-badge-state~="variant=subtle"][data-ui-badge-state~="tone=success"][data-v-b1009c5d] {
500
+ [data-component~="ui-badge"][data-ui-badge-state~="variant=subtle"][data-ui-badge-state~="tone=success"][data-v-5065fda2] {
460
501
  --_badge-surface: color-mix(in srgb, var(--ui-success-solid) 19%, var(--ui-surface-default));
461
502
  --_badge-border: color-mix(in srgb, var(--ui-success-solid) 25%, var(--ui-surface-default));
462
503
  --_badge-text: var(--ui-success-subtle-text, var(--ui-success-solid));
463
504
  }
464
- [data-component~="ui-badge"][data-ui-badge-state~="variant=subtle"][data-ui-badge-state~="tone=warning"][data-v-b1009c5d] {
505
+ [data-component~="ui-badge"][data-ui-badge-state~="variant=subtle"][data-ui-badge-state~="tone=warning"][data-v-5065fda2] {
465
506
  --_badge-surface: color-mix(in srgb, var(--ui-warning-solid) 19%, var(--ui-surface-default));
466
507
  --_badge-border: color-mix(in srgb, var(--ui-warning-solid) 25%, var(--ui-surface-default));
467
508
  --_badge-text: var(--ui-warning-subtle-text, var(--ui-warning-solid));
468
509
  }
469
- [data-component~="ui-badge"][data-ui-badge-state~="variant=subtle"][data-ui-badge-state~="tone=info"][data-v-b1009c5d] {
510
+ [data-component~="ui-badge"][data-ui-badge-state~="variant=subtle"][data-ui-badge-state~="tone=info"][data-v-5065fda2] {
470
511
  --_badge-surface: color-mix(in srgb, var(--ui-info-solid) 19%, var(--ui-surface-default));
471
512
  --_badge-border: color-mix(in srgb, var(--ui-info-solid) 25%, var(--ui-surface-default));
472
513
  --_badge-text: var(--ui-info-subtle-text, var(--ui-info-solid));
@@ -474,12 +515,12 @@ svg[data-v-bf7b9190] {
474
515
 
475
516
  /* A solid colour fills with the ink. Its text is the page surface, mixed at 0% only so that it too is
476
517
  invalid while the hook is unset. */
477
- [data-component~="ui-badge"][data-ui-badge-state~="variant=solid"][data-v-b1009c5d] {
518
+ [data-component~="ui-badge"][data-ui-badge-state~="variant=solid"][data-v-5065fda2] {
478
519
  --_badge-color-surface: var(--_badge-color-ink);
479
520
  --_badge-color-border: var(--_badge-color-ink);
480
521
  --_badge-color-text: color-mix(in oklab, var(--_ui-badge-color) 0%, var(--ui-surface-default));
481
522
  }
482
- [data-component~="ui-badge"][data-ui-badge-state~="variant=outline"][data-v-b1009c5d] {
523
+ [data-component~="ui-badge"][data-ui-badge-state~="variant=outline"][data-v-5065fda2] {
483
524
  --_badge-surface: var(--ui-surface-default);
484
525
  --_badge-border: var(--ui-border-strong);
485
526
  --_badge-text: var(--ui-text-secondary);
@@ -487,29 +528,29 @@ svg[data-v-bf7b9190] {
487
528
  --_badge-color-surface: initial;
488
529
  --_badge-color-border: var(--_badge-color-ink);
489
530
  }
490
- [data-component~="ui-badge"][data-ui-badge-state~="variant=outline"][data-ui-badge-state~="tone=accent"][data-v-b1009c5d] {
531
+ [data-component~="ui-badge"][data-ui-badge-state~="variant=outline"][data-ui-badge-state~="tone=accent"][data-v-5065fda2] {
491
532
  --_badge-border: var(--ui-accent-solid);
492
533
  --_badge-text: var(--ui-accent-subtle-text, var(--ui-accent-solid));
493
534
  }
494
- [data-component~="ui-badge"][data-ui-badge-state~="variant=outline"][data-ui-badge-state~="tone=danger"][data-v-b1009c5d] {
535
+ [data-component~="ui-badge"][data-ui-badge-state~="variant=outline"][data-ui-badge-state~="tone=danger"][data-v-5065fda2] {
495
536
  --_badge-border: var(--ui-danger-solid);
496
537
  --_badge-text: var(--ui-danger-subtle-text, var(--ui-danger-solid));
497
538
  }
498
- [data-component~="ui-badge"][data-ui-badge-state~="variant=outline"][data-ui-badge-state~="tone=success"][data-v-b1009c5d] {
539
+ [data-component~="ui-badge"][data-ui-badge-state~="variant=outline"][data-ui-badge-state~="tone=success"][data-v-5065fda2] {
499
540
  --_badge-border: var(--ui-success-solid);
500
541
  --_badge-text: var(--ui-success-subtle-text, var(--ui-success-solid));
501
542
  }
502
- [data-component~="ui-badge"][data-ui-badge-state~="variant=outline"][data-ui-badge-state~="tone=warning"][data-v-b1009c5d] {
543
+ [data-component~="ui-badge"][data-ui-badge-state~="variant=outline"][data-ui-badge-state~="tone=warning"][data-v-5065fda2] {
503
544
  --_badge-border: var(--ui-warning-solid);
504
545
  --_badge-text: var(--ui-warning-subtle-text, var(--ui-warning-solid));
505
546
  }
506
- [data-component~="ui-badge"][data-ui-badge-state~="variant=outline"][data-ui-badge-state~="tone=info"][data-v-b1009c5d] {
547
+ [data-component~="ui-badge"][data-ui-badge-state~="variant=outline"][data-ui-badge-state~="tone=info"][data-v-5065fda2] {
507
548
  --_badge-border: var(--ui-info-solid);
508
549
  --_badge-text: var(--ui-info-subtle-text, var(--ui-info-solid));
509
550
  }
510
551
 
511
552
  /* An icon mark keeps the existing tone recipe and follows the global spacing and radius. */
512
- [data-component~="ui-badge"][data-ui-badge-state~="shape=square"][data-v-b1009c5d] {
553
+ [data-component~="ui-badge"][data-ui-badge-state~="shape=square"][data-v-5065fda2] {
513
554
  --_badge-square-size: var(--ui-badge-square-size, calc(var(--ui-space-4) * 2));
514
555
  display: inline-flex;
515
556
  box-sizing: border-box;
@@ -522,17 +563,23 @@ svg[data-v-bf7b9190] {
522
563
  border-radius: var(--ui-radius-md);
523
564
  text-box-trim: none;
524
565
  }
525
- [data-component~="ui-badge"][data-ui-badge-state~="shape=square"][data-ui-badge-state~="size=xs"][data-v-b1009c5d] {
566
+ [data-component~="ui-badge"][data-ui-badge-state~="shape=square"][data-ui-badge-state~="size=xs"][data-v-5065fda2] {
526
567
  --_badge-square-size: var(--ui-badge-square-size, calc(var(--ui-space-3) * 2));
527
568
  }
528
- [data-component~="ui-badge"][data-ui-badge-state~="shape=square"] .label[data-v-b1009c5d] {
569
+ [data-component~="ui-badge"][data-ui-badge-state~="shape=square"] .label[data-v-5065fda2] {
529
570
  display: inline-flex;
530
571
  align-items: center;
531
572
  justify-content: center;
532
573
  }
574
+ [data-component~="ui-badge"][data-ui-badge-state~="shape=square"] .label svg[data-v-5065fda2-s] {
575
+ margin-inline-end: 0;
576
+ }
577
+ [data-component~="ui-badge"][data-ui-badge-state~="shape=square"] .label[data-v-5065fda2]:empty {
578
+ display: none;
579
+ }
533
580
 
534
581
  /* A dot uses the badge's tone recipe; only its silhouette and visible label change. */
535
- [data-component~="ui-badge"][data-ui-badge-state~="shape=dot"][data-v-b1009c5d] {
582
+ [data-component~="ui-badge"][data-ui-badge-state~="shape=dot"][data-v-5065fda2] {
536
583
  position: relative;
537
584
  box-sizing: border-box;
538
585
  flex: none;
@@ -544,7 +591,7 @@ svg[data-v-bf7b9190] {
544
591
  border-radius: var(--ui-radius-round);
545
592
  text-box-trim: none;
546
593
  }
547
- [data-component~="ui-badge"][data-ui-badge-state~="shape=dot"] .label[data-v-b1009c5d] {
594
+ [data-component~="ui-badge"][data-ui-badge-state~="shape=dot"] .label[data-v-5065fda2] {
548
595
  position: absolute;
549
596
  inline-size: 1px;
550
597
  block-size: 1px;
@@ -555,7 +602,7 @@ svg[data-v-bf7b9190] {
555
602
 
556
603
  /* The clipped point needs an inset surface over an outer border-colour shape: a native border
557
604
  has no diagonal edge to follow. Keep this edge for every tag variant. */
558
- [data-component~="ui-badge"][data-ui-badge-state~="shape=tag"][data-v-b1009c5d] {
605
+ [data-component~="ui-badge"][data-ui-badge-state~="shape=tag"][data-v-5065fda2] {
559
606
  --_badge-point: var(--ui-badge-point, var(--ui-space-2));
560
607
 
561
608
  position: relative;
@@ -572,7 +619,7 @@ svg[data-v-bf7b9190] {
572
619
  0 100%
573
620
  );
574
621
  }
575
- [data-component~="ui-badge"][data-ui-badge-state~="shape=tag"][data-v-b1009c5d]::before {
622
+ [data-component~="ui-badge"][data-ui-badge-state~="shape=tag"][data-v-5065fda2]::before {
576
623
  content: "";
577
624
  position: absolute;
578
625
  inset: 0;
@@ -587,34 +634,34 @@ svg[data-v-bf7b9190] {
587
634
  );
588
635
  pointer-events: none;
589
636
  }
590
- [data-component~="ui-badge"][data-ui-badge-state~="shape=tag"][data-v-b1009c5d]:dir(rtl) {
637
+ [data-component~="ui-badge"][data-ui-badge-state~="shape=tag"][data-v-5065fda2]:dir(rtl) {
591
638
  padding-inline-end: var(--ui-badge-padding-inline, var(--ui-space-2));
592
639
  padding-inline-start: calc(
593
640
  var(--ui-badge-padding-inline, var(--ui-space-2)) + var(--_badge-point)
594
641
  );
595
642
  clip-path: polygon(var(--_badge-point) 0, 100% 0, 100% 100%, var(--_badge-point) 100%, 0 50%);
596
643
  }
597
- [data-component~="ui-badge"][data-ui-badge-state~="shape=tag"][data-v-b1009c5d]:dir(rtl)::before {
644
+ [data-component~="ui-badge"][data-ui-badge-state~="shape=tag"][data-v-5065fda2]:dir(rtl)::before {
598
645
  clip-path: polygon(var(--_badge-point) 0, 100% 0, 100% 100%, var(--_badge-point) 100%, 0 50%);
599
646
  }
600
647
  @media (forced-colors: active) {
601
- [data-component~="ui-badge"][data-ui-badge-state~="shape=dot"][data-v-b1009c5d] {
648
+ [data-component~="ui-badge"][data-ui-badge-state~="shape=dot"][data-v-5065fda2] {
602
649
  forced-color-adjust: none;
603
650
  border-color: CanvasText;
604
651
  background: CanvasText;
605
652
  }
606
- [data-component~="ui-badge"][data-ui-badge-state~="shape=tag"][data-v-b1009c5d] {
653
+ [data-component~="ui-badge"][data-ui-badge-state~="shape=tag"][data-v-5065fda2] {
607
654
  forced-color-adjust: none;
608
655
  background: CanvasText;
609
656
  color: CanvasText;
610
657
  }
611
- [data-component~="ui-badge"][data-ui-badge-state~="shape=tag"][data-v-b1009c5d]::before {
658
+ [data-component~="ui-badge"][data-ui-badge-state~="shape=tag"][data-v-5065fda2]::before {
612
659
  background: Canvas;
613
660
  }
614
661
  }
615
662
 
616
663
  /* A component that sets its display still honours the hidden attribute on its root. */
617
- [data-component~="ui-badge"][hidden][data-v-b1009c5d] {
664
+ [data-component~="ui-badge"][hidden][data-v-5065fda2] {
618
665
  display: none;
619
666
  }
620
667
 
@@ -824,7 +871,7 @@ svg[data-v-fb67873c],
824
871
  syntax: "*";
825
872
  inherits: false;
826
873
  }
827
- [data-component~="ui-button"][data-v-5c174bca] {
874
+ [data-component~="ui-button"][data-v-7c2bc2b4] {
828
875
  --_hue: var(--ui-accent);
829
876
  --_hue-hover: var(--ui-accent-hover);
830
877
  --_hue-active: var(--ui-accent-active);
@@ -840,18 +887,19 @@ svg[data-v-fb67873c],
840
887
  display: inline-flex;
841
888
  align-items: center;
842
889
  justify-content: center;
890
+ column-gap: var(--ui-space-2);
843
891
  vertical-align: middle;
844
892
  color: var(--_tone-text);
845
893
  }
846
- [data-component~="ui-button"][data-ui-button-state~="align=start"][data-v-5c174bca] {
894
+ [data-component~="ui-button"][data-ui-button-state~="align=start"][data-v-7c2bc2b4] {
847
895
  justify-content: flex-start;
848
896
  text-align: start;
849
897
  }
850
- [data-component~="ui-button"][data-ui-button-state~="stretch"][data-v-5c174bca] {
898
+ [data-component~="ui-button"][data-ui-button-state~="stretch"][data-v-7c2bc2b4] {
851
899
  display: flex;
852
900
  inline-size: 100%;
853
901
  }
854
- [data-component~="ui-button"][data-v-5c174bca] {
902
+ [data-component~="ui-button"][data-v-7c2bc2b4] {
855
903
  appearance: none;
856
904
  min-block-size: var(--ui-button-min-block-size, var(--ui-control-size-md));
857
905
  border-style: solid;
@@ -879,35 +927,34 @@ svg[data-v-fb67873c],
879
927
  }
880
928
 
881
929
  /* An anchor keeps the boxed button look even when an app styles ordinary links. */
882
- [data-component~="ui-button"][data-v-5c174bca]:is(a) {
930
+ [data-component~="ui-button"][data-v-7c2bc2b4]:is(a) {
883
931
  text-decoration: none;
884
932
  }
885
- .spinner-wrap[data-v-5c174bca] {
933
+ .spinner-wrap[data-v-7c2bc2b4] {
886
934
  display: inline-flex;
887
935
  flex: none;
888
- margin-inline-end: var(--ui-space-2);
889
936
  vertical-align: middle;
890
937
  }
891
938
  @supports (text-box-trim: trim-both) {
892
- [data-component~="ui-button"][data-v-5c174bca] {
939
+ [data-component~="ui-button"][data-v-7c2bc2b4] {
893
940
  text-box-trim: trim-both;
894
941
  text-box-edge: cap alphabetic;
895
942
  }
896
943
  }
897
- [data-component~="ui-button"][data-ui-button-state~="size=xs"][data-v-5c174bca] {
944
+ [data-component~="ui-button"][data-ui-button-state~="size=xs"][data-v-7c2bc2b4] {
898
945
  min-block-size: 1.5rem;
899
946
  padding: calc(var(--ui-space-0-5) * 1.5) calc(var(--ui-space-1) * 1.25);
900
947
  font-size: var(--ui-font-size-xs);
901
948
  }
902
- [data-component~="ui-button"][data-ui-button-state~="shape=pill"][data-v-5c174bca] {
949
+ [data-component~="ui-button"][data-ui-button-state~="shape=pill"][data-v-7c2bc2b4] {
903
950
  border-radius: var(--ui-button-radius, var(--ui-radius-round));
904
951
  }
905
- [data-component~="ui-button"][data-ui-button-state~="size=sm"][data-v-5c174bca] {
952
+ [data-component~="ui-button"][data-ui-button-state~="size=sm"][data-v-7c2bc2b4] {
906
953
  min-block-size: var(--ui-control-size-sm);
907
954
  padding: var(--ui-space-1) var(--ui-space-2);
908
955
  font-size: var(--ui-font-size-sm);
909
956
  }
910
- [data-component~="ui-button"][data-ui-button-state~="size=lg"][data-v-5c174bca] {
957
+ [data-component~="ui-button"][data-ui-button-state~="size=lg"][data-v-7c2bc2b4] {
911
958
  min-block-size: var(--ui-control-size-lg);
912
959
  padding: var(--ui-space-3) var(--ui-space-4);
913
960
  font-size: var(--ui-font-size-md);
@@ -915,7 +962,7 @@ svg[data-v-fb67873c],
915
962
 
916
963
  /* Card actions inherit Button's palette and behavior; only their shared layout changes.
917
964
  The icon may contain any decorative composition. Empty icons remove their column. */
918
- [data-component~="ui-button"][data-ui-button-state~="variant=card"][data-v-5c174bca] {
965
+ [data-component~="ui-button"][data-ui-button-state~="variant=card"][data-v-7c2bc2b4] {
919
966
  display: grid;
920
967
  grid-template-columns: auto minmax(0, 1fr) auto;
921
968
  align-content: center;
@@ -928,23 +975,23 @@ svg[data-v-fb67873c],
928
975
  box-shadow: none;
929
976
  background-image: none;
930
977
  }
931
- [data-component~="ui-button"][data-ui-button-state~="variant=card"][data-ui-button-state~="size=lg"][data-v-5c174bca] {
978
+ [data-component~="ui-button"][data-ui-button-state~="variant=card"][data-ui-button-state~="size=lg"][data-v-7c2bc2b4] {
932
979
  min-block-size: max(var(--ui-control-min-block-size), var(--ui-control-size-lg));
933
980
  }
934
- [data-component~="ui-button"][data-ui-button-state~="variant=card"][data-v-5c174bca]:has(.card-icon:empty) {
981
+ [data-component~="ui-button"][data-ui-button-state~="variant=card"][data-v-7c2bc2b4]:has(.card-icon:empty) {
935
982
  grid-template-columns: minmax(0, 1fr) auto;
936
983
  }
937
- .card-icon[data-v-5c174bca] {
984
+ .card-icon[data-v-7c2bc2b4] {
938
985
  display: flex;
939
986
  align-items: flex-start;
940
987
  }
941
- .card-icon[data-v-5c174bca]:empty {
988
+ .card-icon[data-v-7c2bc2b4]:empty {
942
989
  display: none;
943
990
  }
944
- .card-content[data-v-5c174bca] {
991
+ .card-content[data-v-7c2bc2b4] {
945
992
  min-inline-size: 0;
946
993
  }
947
- .card-action[data-v-5c174bca] {
994
+ .card-action[data-v-7c2bc2b4] {
948
995
  display: flex;
949
996
  align-items: center;
950
997
  align-self: center;
@@ -952,29 +999,29 @@ svg[data-v-fb67873c],
952
999
 
953
1000
  /* A link is never :enabled, so interactive states test "not unavailable" instead: for a button that
954
1001
  is exactly :enabled, at the same specificity, and it also matches a link that can be followed. */
955
- [data-component~="ui-button"][data-v-5c174bca]:hover:not(:disabled, [aria-disabled="true"]) {
1002
+ [data-component~="ui-button"][data-v-7c2bc2b4]:hover:not(:disabled, [aria-disabled="true"]) {
956
1003
  border-color: var(--ui-button-hover-border, var(--_tone-hover));
957
1004
  background-color: var(--ui-button-hover-surface, oklch(from var(--_tone) l c h / 12%));
958
1005
  }
959
1006
 
960
1007
  /* Pressed reads as pressed in: the highlight goes, and the shadow moves inside. */
961
- [data-component~="ui-button"][data-v-5c174bca]:active:not(:disabled, [aria-disabled="true"]) {
1008
+ [data-component~="ui-button"][data-v-7c2bc2b4]:active:not(:disabled, [aria-disabled="true"]) {
962
1009
  background-color: var(--ui-button-active-surface, oklch(from var(--_tone) l c h / 18%));
963
1010
  background-image: none;
964
1011
  box-shadow: var(--ui-pressed);
965
1012
  }
966
- [data-component~="ui-button"][data-ui-button-state~="variant=solid"][data-v-5c174bca],
967
- [data-component~="ui-button"][data-ui-button-state~="variant=danger"][data-v-5c174bca] {
1013
+ [data-component~="ui-button"][data-ui-button-state~="variant=solid"][data-v-7c2bc2b4],
1014
+ [data-component~="ui-button"][data-ui-button-state~="variant=danger"][data-v-7c2bc2b4] {
968
1015
  border-color: var(--_tone);
969
1016
  background-color: var(--_tone);
970
1017
  color: var(--_on-tone);
971
1018
  box-shadow: var(--ui-button-solid-shadow, var(--ui-raised));
972
1019
  }
973
- :is([data-component~="ui-button"][data-ui-button-state~="variant=solid"][data-v-5c174bca], [data-component~="ui-button"][data-ui-button-state~="variant=danger"][data-v-5c174bca]):hover:not(:disabled, [aria-disabled="true"]) {
1020
+ :is([data-component~="ui-button"][data-ui-button-state~="variant=solid"][data-v-7c2bc2b4], [data-component~="ui-button"][data-ui-button-state~="variant=danger"][data-v-7c2bc2b4]):hover:not(:disabled, [aria-disabled="true"]) {
974
1021
  background-color: var(--_tone-hover);
975
1022
  border-color: var(--_tone-hover);
976
1023
  }
977
- :is([data-component~="ui-button"][data-ui-button-state~="variant=solid"][data-v-5c174bca], [data-component~="ui-button"][data-ui-button-state~="variant=danger"][data-v-5c174bca]):active:not(:disabled, [aria-disabled="true"]) {
1024
+ :is([data-component~="ui-button"][data-ui-button-state~="variant=solid"][data-v-7c2bc2b4], [data-component~="ui-button"][data-ui-button-state~="variant=danger"][data-v-7c2bc2b4]):active:not(:disabled, [aria-disabled="true"]) {
978
1025
  background-color: var(--_tone-active);
979
1026
  border-color: var(--_tone-active);
980
1027
  background-image: none;
@@ -983,43 +1030,43 @@ svg[data-v-fb67873c],
983
1030
 
984
1031
  /* Tone is the colour, variant is the volume. Every pairing works: a danger outline is a
985
1032
  destructive secondary action, not a special case. */
986
- [data-component~="ui-button"][data-ui-button-state~="tone=neutral"][data-v-5c174bca] {
1033
+ [data-component~="ui-button"][data-ui-button-state~="tone=neutral"][data-v-7c2bc2b4] {
987
1034
  --_hue: var(--ui-text);
988
1035
  --_hue-hover: var(--ui-text);
989
1036
  --_hue-active: var(--ui-text);
990
1037
  --_hue-text: var(--ui-text);
991
1038
  --_on-hue: var(--ui-surface);
992
1039
  }
993
- [data-component~="ui-button"][data-ui-button-state~="tone=danger"][data-v-5c174bca],
994
- [data-component~="ui-button"][data-ui-button-state~="variant=danger"][data-v-5c174bca] {
1040
+ [data-component~="ui-button"][data-ui-button-state~="tone=danger"][data-v-7c2bc2b4],
1041
+ [data-component~="ui-button"][data-ui-button-state~="variant=danger"][data-v-7c2bc2b4] {
995
1042
  --_hue: var(--ui-danger);
996
1043
  --_hue-hover: var(--ui-danger-hover);
997
1044
  --_hue-active: var(--ui-danger-hover);
998
1045
  --_hue-text: var(--ui-danger-hover);
999
1046
  --_on-hue: var(--ui-on-danger);
1000
1047
  }
1001
- [data-component~="ui-button"][data-ui-button-state~="tone=success"][data-v-5c174bca] {
1048
+ [data-component~="ui-button"][data-ui-button-state~="tone=success"][data-v-7c2bc2b4] {
1002
1049
  --_hue: var(--ui-success);
1003
1050
  --_hue-hover: color-mix(in srgb, var(--ui-success) 85%, #000);
1004
1051
  --_hue-active: color-mix(in srgb, var(--ui-success) 75%, #000);
1005
1052
  --_hue-text: color-mix(in srgb, var(--ui-success) 85%, #000);
1006
1053
  --_on-hue: var(--ui-surface);
1007
1054
  }
1008
- [data-component~="ui-button"][data-ui-button-state~="tone=warning"][data-v-5c174bca] {
1055
+ [data-component~="ui-button"][data-ui-button-state~="tone=warning"][data-v-7c2bc2b4] {
1009
1056
  --_hue: var(--ui-warning);
1010
1057
  --_hue-hover: color-mix(in srgb, var(--ui-warning) 85%, #000);
1011
1058
  --_hue-active: color-mix(in srgb, var(--ui-warning) 75%, #000);
1012
1059
  --_hue-text: color-mix(in srgb, var(--ui-warning) 85%, #000);
1013
1060
  --_on-hue: var(--ui-surface);
1014
1061
  }
1015
- [data-component~="ui-button"][data-ui-button-state~="tone=info"][data-v-5c174bca] {
1062
+ [data-component~="ui-button"][data-ui-button-state~="tone=info"][data-v-7c2bc2b4] {
1016
1063
  --_hue: var(--ui-info);
1017
1064
  --_hue-hover: color-mix(in srgb, var(--ui-info) 85%, #000);
1018
1065
  --_hue-active: color-mix(in srgb, var(--ui-info) 75%, #000);
1019
1066
  --_hue-text: color-mix(in srgb, var(--ui-info) 85%, #000);
1020
1067
  --_on-hue: var(--ui-surface);
1021
1068
  }
1022
- [data-component~="ui-button"][data-ui-button-state~="variant=ghost"][data-v-5c174bca] {
1069
+ [data-component~="ui-button"][data-ui-button-state~="variant=ghost"][data-v-7c2bc2b4] {
1023
1070
  border-color: transparent;
1024
1071
  background: transparent;
1025
1072
  box-shadow: none;
@@ -1027,14 +1074,14 @@ svg[data-v-fb67873c],
1027
1074
  }
1028
1075
 
1029
1076
  /* Tints derive from the text colour, not a surface token, so hover and press show on any background. */
1030
- [data-component~="ui-button"][data-ui-button-state~="variant=ghost"][data-v-5c174bca]:hover:not(:disabled, [aria-disabled="true"]) {
1077
+ [data-component~="ui-button"][data-ui-button-state~="variant=ghost"][data-v-7c2bc2b4]:hover:not(:disabled, [aria-disabled="true"]) {
1031
1078
  background-color: var(--ui-button-ghost-hover-surface, oklch(from var(--_tone) l c h / 10%));
1032
1079
  border-color: transparent;
1033
1080
  }
1034
1081
 
1035
1082
  /* Pressed, or holding its menu open, a ghost button sinks slightly: a light surface with a faint
1036
1083
  edge and a soft inner shadow. Lighter than hover, so an open menu's trigger never reads as heavy. */
1037
- [data-component~="ui-button"][data-ui-button-state~="variant=ghost"][data-v-5c174bca]:is(:active, [aria-expanded="true"]):not(:disabled, [aria-disabled="true"]) {
1084
+ [data-component~="ui-button"][data-ui-button-state~="variant=ghost"][data-v-7c2bc2b4]:is(:active, [aria-expanded="true"]):not(:disabled, [aria-disabled="true"]) {
1038
1085
  background-color: var(
1039
1086
  --ui-button-ghost-active-surface,
1040
1087
  color-mix(in oklch, var(--ui-surface), var(--_tone) 3%)
@@ -1046,13 +1093,13 @@ svg[data-v-fb67873c],
1046
1093
  }
1047
1094
 
1048
1095
  /* A soft halo that transitions in with the other box-shadow changes, layered on the raised shadow. */
1049
- [data-component~="ui-button"][data-v-5c174bca]:focus-visible {
1096
+ [data-component~="ui-button"][data-v-7c2bc2b4]:focus-visible {
1050
1097
  outline: none;
1051
1098
  box-shadow:
1052
1099
  var(--ui-button-shadow, var(--ui-raised)),
1053
1100
  var(--ui-focus-halo);
1054
1101
  }
1055
- [data-component~="ui-button"][data-ui-button-state~="variant=solid"][data-v-5c174bca]:focus-visible {
1102
+ [data-component~="ui-button"][data-ui-button-state~="variant=solid"][data-v-7c2bc2b4]:focus-visible {
1056
1103
  box-shadow:
1057
1104
  var(--ui-button-solid-shadow, var(--ui-raised)),
1058
1105
  var(--ui-focus-halo);
@@ -1060,7 +1107,7 @@ svg[data-v-fb67873c],
1060
1107
 
1061
1108
  /* A loading action stays visually active; only an explicitly disabled action takes the
1062
1109
  neutral disabled palette. Its flat surface and muted ink make the state unambiguous. */
1063
- [data-component~="ui-button"][data-v-5c174bca]:is(:disabled, [aria-disabled="true"]:not([aria-busy="true"])) {
1110
+ [data-component~="ui-button"][data-v-7c2bc2b4]:is(:disabled, [aria-disabled="true"]:not([aria-busy="true"])) {
1064
1111
  border-color: var(--ui-disabled-border);
1065
1112
  background-color: var(--ui-disabled-surface);
1066
1113
  color: var(--ui-disabled-text);
@@ -1070,19 +1117,19 @@ svg[data-v-fb67873c],
1070
1117
  background-image: none;
1071
1118
  box-shadow: none;
1072
1119
  }
1073
- :is([data-component~="ui-button"][data-ui-button-state~="loading"][data-v-5c174bca], [data-component~="ui-button"][data-ui-button-state~="pending"][data-v-5c174bca]):focus-visible {
1120
+ :is([data-component~="ui-button"][data-ui-button-state~="loading"][data-v-7c2bc2b4], [data-component~="ui-button"][data-ui-button-state~="pending"][data-v-7c2bc2b4]):focus-visible {
1074
1121
  box-shadow: var(--ui-focus-halo);
1075
1122
  }
1076
1123
 
1077
1124
  /* Ghost keeps no border, but gains the same neutral surface as other disabled buttons. */
1078
- [data-component~="ui-button"][data-ui-button-state~="variant=ghost"][data-v-5c174bca]:is(:disabled, [aria-disabled="true"]:not([aria-busy="true"])) {
1125
+ [data-component~="ui-button"][data-ui-button-state~="variant=ghost"][data-v-7c2bc2b4]:is(:disabled, [aria-disabled="true"]:not([aria-busy="true"])) {
1079
1126
  background-color: var(--ui-disabled-surface);
1080
1127
  border-color: transparent;
1081
1128
  }
1082
1129
 
1083
1130
  /* The size states outrank :host, so sm is named too, or a small button would stay small. */
1084
1131
  @media (pointer: coarse) {
1085
- [data-component~="ui-button"][data-v-5c174bca], [data-component~="ui-button"][data-ui-button-state~="size=sm"][data-v-5c174bca] {
1132
+ [data-component~="ui-button"][data-v-7c2bc2b4], [data-component~="ui-button"][data-ui-button-state~="size=sm"][data-v-7c2bc2b4] {
1086
1133
  min-block-size: var(--ui-control-min-block-size);
1087
1134
  }
1088
1135
  }
@@ -1093,15 +1140,15 @@ svg[data-v-fb67873c],
1093
1140
  area. xs sits inside a line of text the same way, so it keeps its size and gains the area too.
1094
1141
  Only these need it: a hit area on every button would reach over its neighbours. */
1095
1142
  html[data-ui-input-modality="touch"]
1096
- [data-component~="ui-button"][data-ui-button-state~="variant=link"][data-v-5c174bca],
1143
+ [data-component~="ui-button"][data-ui-button-state~="variant=link"][data-v-7c2bc2b4],
1097
1144
  html[data-ui-input-modality="touch"]
1098
- [data-component~="ui-button"][data-ui-button-state~="size=xs"][data-v-5c174bca] {
1145
+ [data-component~="ui-button"][data-ui-button-state~="size=xs"][data-v-7c2bc2b4] {
1099
1146
  position: relative;
1100
1147
  }
1101
1148
  html[data-ui-input-modality="touch"]
1102
- [data-component~="ui-button"][data-ui-button-state~="variant=link"][data-v-5c174bca]::after,
1149
+ [data-component~="ui-button"][data-ui-button-state~="variant=link"][data-v-7c2bc2b4]::after,
1103
1150
  html[data-ui-input-modality="touch"]
1104
- [data-component~="ui-button"][data-ui-button-state~="size=xs"][data-v-5c174bca]::after {
1151
+ [data-component~="ui-button"][data-ui-button-state~="size=xs"][data-v-7c2bc2b4]::after {
1105
1152
  position: absolute;
1106
1153
  inset: 50% auto auto 50%;
1107
1154
  inline-size: max(100%, var(--ui-control-min-block-size));
@@ -1112,7 +1159,7 @@ html[data-ui-input-modality="touch"]
1112
1159
 
1113
1160
  /* Link: an inline text action. No box, padding, or minimum height (inline targets are exempt under
1114
1161
  WCAG 2.5.8); the inherited font; an underline that strengthens on hover; a visible focus ring. */
1115
- [data-component~="ui-button"][data-ui-button-state~="variant=link"][data-v-5c174bca] {
1162
+ [data-component~="ui-button"][data-ui-button-state~="variant=link"][data-v-7c2bc2b4] {
1116
1163
  display: inline;
1117
1164
  min-block-size: 0;
1118
1165
  padding: 0;
@@ -1130,21 +1177,21 @@ html[data-ui-input-modality="touch"]
1130
1177
  color var(--ui-motion-fast) var(--ui-motion-ease),
1131
1178
  text-decoration-color var(--ui-motion-fast) var(--ui-motion-ease);
1132
1179
  }
1133
- [data-component~="ui-button"][data-ui-button-state~="variant=link"][data-v-5c174bca]:hover:not(:disabled, [aria-disabled="true"]) {
1180
+ [data-component~="ui-button"][data-ui-button-state~="variant=link"][data-v-7c2bc2b4]:hover:not(:disabled, [aria-disabled="true"]) {
1134
1181
  color: var(--ui-button-link-hover-text, var(--ui-text-primary));
1135
1182
  text-decoration-color: currentColor;
1136
1183
  background: none;
1137
1184
  transform: none;
1138
1185
  }
1139
- [data-component~="ui-button"][data-ui-button-state~="variant=link"][data-v-5c174bca]:active:not(:disabled, [aria-disabled="true"]) {
1186
+ [data-component~="ui-button"][data-ui-button-state~="variant=link"][data-v-7c2bc2b4]:active:not(:disabled, [aria-disabled="true"]) {
1140
1187
  background: none;
1141
1188
  transform: none;
1142
1189
  }
1143
- [data-component~="ui-button"][data-ui-button-state~="variant=link"][data-v-5c174bca]:is(:disabled, [aria-disabled="true"]:not([aria-busy="true"])) {
1190
+ [data-component~="ui-button"][data-ui-button-state~="variant=link"][data-v-7c2bc2b4]:is(:disabled, [aria-disabled="true"]:not([aria-busy="true"])) {
1144
1191
  background: none;
1145
1192
  border-color: transparent;
1146
1193
  }
1147
- [data-component~="ui-button"][data-ui-button-state~="variant=link"][data-v-5c174bca]:focus-visible {
1194
+ [data-component~="ui-button"][data-ui-button-state~="variant=link"][data-v-7c2bc2b4]:focus-visible {
1148
1195
  box-shadow: none;
1149
1196
  /* Fallback keeps the ring if the token is missing: an unresolved var() would void the outline. */
1150
1197
  outline: var(--ui-focus-width) solid var(--ui-focus-ring);
@@ -1152,7 +1199,7 @@ html[data-ui-input-modality="touch"]
1152
1199
  }
1153
1200
 
1154
1201
  /* A component that sets its display still honours the hidden attribute on its root. */
1155
- [data-component~="ui-button"][hidden][data-v-5c174bca] {
1202
+ [data-component~="ui-button"][hidden][data-v-7c2bc2b4] {
1156
1203
  display: none;
1157
1204
  }
1158
1205
 
@@ -8816,7 +8863,7 @@ to {
8816
8863
  syntax: "*";
8817
8864
  inherits: false;
8818
8865
  }
8819
- [data-component~="ui-tree-item"][data-v-4981f1b6] {
8866
+ [data-component~="ui-tree-item"][data-v-f2ec0a81] {
8820
8867
  /* Hooks do not inherit, so the parts below read them from the root. The tree's density
8821
8868
  sets the defaults, in --_ui-default-*. */
8822
8869
  --_ui-tree-item-min-block-size: var(
@@ -8838,7 +8885,7 @@ to {
8838
8885
  min-inline-size: 0;
8839
8886
  margin-inline-start: calc(var(--_ui-tree-item-indent-step, 0) * var(--_ui-tree-indent, 16px));
8840
8887
  }
8841
- .row[data-v-4981f1b6] {
8888
+ .row[data-v-f2ec0a81] {
8842
8889
  position: relative;
8843
8890
  display: grid;
8844
8891
  grid-template-columns: var(--_tree-disclosure-size) auto minmax(0, 1fr);
@@ -8855,54 +8902,54 @@ to {
8855
8902
  box-shadow var(--ui-motion-fast) var(--ui-motion-ease),
8856
8903
  min-block-size var(--ui-motion-base) var(--ui-motion-ease);
8857
8904
  }
8858
- .row[data-v-4981f1b6]:hover,
8859
- .row[data-v-4981f1b6]:focus-within {
8905
+ .row[data-v-f2ec0a81]:hover,
8906
+ .row[data-v-f2ec0a81]:focus-within {
8860
8907
  color: var(--ui-text-primary);
8861
8908
  background: var(--ui-surface-muted);
8862
8909
  }
8863
8910
 
8864
8911
  /* Selection is the same surface recipe as destination and choice rows. */
8865
- [data-component~="ui-tree-item"][data-ui-tree-item-state~="selected"] > .row[data-v-4981f1b6] {
8912
+ [data-component~="ui-tree-item"][data-ui-tree-item-state~="selected"] > .row[data-v-f2ec0a81] {
8866
8913
  color: var(--ui-selection-text);
8867
8914
  background: var(--ui-selection-surface);
8868
8915
  }
8869
8916
  [data-component~="ui-tree-item"][data-ui-tree-item-state~="selected"]:not([aria-disabled="true"])
8870
8917
  > .row
8871
- > .leading[data-v-4981f1b6] {
8918
+ > .leading[data-v-f2ec0a81] {
8872
8919
  color: var(--ui-selection-text);
8873
8920
  }
8874
- [data-component~="ui-tree-item"][data-ui-tree-item-state~="disabled"] .row[data-v-4981f1b6] {
8921
+ [data-component~="ui-tree-item"][data-ui-tree-item-state~="disabled"] .row[data-v-f2ec0a81] {
8875
8922
  color: var(--ui-disabled-text);
8876
8923
  background: var(--ui-disabled-surface);
8877
8924
  }
8878
- [data-component~="ui-tree-item"][data-dragging]:not([data-move-source]) .row[data-v-4981f1b6] {
8925
+ [data-component~="ui-tree-item"][data-dragging]:not([data-move-source]) .row[data-v-f2ec0a81] {
8879
8926
  opacity: 0.42;
8880
8927
  }
8881
- [data-component~="ui-tree-item"][data-move-source] > .row > .label[data-v-4981f1b6],
8882
- [data-component~="ui-tree-item"][data-move-source] > .row > .leading[data-v-4981f1b6] {
8928
+ [data-component~="ui-tree-item"][data-move-source] > .row > .label[data-v-f2ec0a81],
8929
+ [data-component~="ui-tree-item"][data-move-source] > .row > .leading[data-v-f2ec0a81] {
8883
8930
  opacity: 0.42;
8884
8931
  }
8885
- [data-component~="ui-tree-item"][data-v-4981f1b6]:focus {
8932
+ [data-component~="ui-tree-item"][data-v-f2ec0a81]:focus {
8886
8933
  outline: none;
8887
8934
  }
8888
- [data-component~="ui-tree-item"]:focus-visible .row[data-v-4981f1b6] {
8935
+ [data-component~="ui-tree-item"]:focus-visible .row[data-v-f2ec0a81] {
8889
8936
  box-shadow: 0 0 0 var(--ui-focus-width) var(--ui-focus-ring);
8890
8937
  }
8891
8938
 
8892
8939
  /* Child combinators: drop feedback belongs to this item's own row, not the rows nested in it. */
8893
- [data-component~="ui-tree-item"][data-drop-position="inside"] > .row[data-v-4981f1b6] {
8940
+ [data-component~="ui-tree-item"][data-drop-position="inside"] > .row[data-v-f2ec0a81] {
8894
8941
  background: var(--ui-accent-subtle);
8895
8942
  box-shadow: inset 0 0 0 var(--ui-accent-line-width)
8896
8943
  var(--_ui-tree-drop-color, var(--ui-accent-solid));
8897
8944
  }
8898
- .disclosure[data-v-4981f1b6],
8899
- .disclosure-spacer[data-v-4981f1b6] {
8945
+ .disclosure[data-v-f2ec0a81],
8946
+ .disclosure-spacer[data-v-f2ec0a81] {
8900
8947
  grid-column: 1;
8901
8948
  grid-row: 1;
8902
8949
  inline-size: var(--_tree-disclosure-size);
8903
8950
  block-size: 28px;
8904
8951
  }
8905
- .disclosure[data-v-4981f1b6] {
8952
+ .disclosure[data-v-f2ec0a81] {
8906
8953
  display: grid;
8907
8954
  /* Start-aligned: the chevron's ink, not its hit area, aligns with the content above it. */
8908
8955
  place-items: center start;
@@ -8913,10 +8960,10 @@ to {
8913
8960
  border-radius: var(--ui-radius-sm);
8914
8961
  cursor: pointer;
8915
8962
  }
8916
- .disclosure[hidden][data-v-4981f1b6] {
8963
+ .disclosure[hidden][data-v-f2ec0a81] {
8917
8964
  display: none;
8918
8965
  }
8919
- .selection-hit[data-v-4981f1b6] {
8966
+ .selection-hit[data-v-f2ec0a81] {
8920
8967
  display: none;
8921
8968
  grid-column: 2;
8922
8969
  grid-row: 1;
@@ -8925,29 +8972,29 @@ to {
8925
8972
  block-size: var(--_ui-tree-item-min-block-size, var(--_tree-row-min-height));
8926
8973
  cursor: pointer;
8927
8974
  }
8928
- .selection-checkbox[data-v-4981f1b6] {
8975
+ .selection-checkbox[data-v-f2ec0a81] {
8929
8976
  inline-size: 1rem;
8930
8977
  block-size: 1rem;
8931
8978
  margin: 0;
8932
8979
  accent-color: var(--ui-accent-solid);
8933
8980
  }
8934
- [data-component~="ui-tree-item"][data-selection-mode="multiple"] > .row[data-v-4981f1b6] {
8981
+ [data-component~="ui-tree-item"][data-selection-mode="multiple"] > .row[data-v-f2ec0a81] {
8935
8982
  grid-template-columns: var(--_tree-disclosure-size) 1.25rem auto minmax(0, 1fr);
8936
8983
  }
8937
- [data-component~="ui-tree-item"][data-selection-mode="multiple"] > .row > .selection-hit[data-v-4981f1b6] {
8984
+ [data-component~="ui-tree-item"][data-selection-mode="multiple"] > .row > .selection-hit[data-v-f2ec0a81] {
8938
8985
  display: grid;
8939
8986
  }
8940
- [data-component~="ui-tree-item"][data-selection-mode="multiple"] > .row > .leading[data-v-4981f1b6] {
8987
+ [data-component~="ui-tree-item"][data-selection-mode="multiple"] > .row > .leading[data-v-f2ec0a81] {
8941
8988
  grid-column: 3;
8942
8989
  }
8943
- [data-component~="ui-tree-item"][data-selection-mode="multiple"] > .row > .label[data-v-4981f1b6] {
8990
+ [data-component~="ui-tree-item"][data-selection-mode="multiple"] > .row > .label[data-v-f2ec0a81] {
8944
8991
  grid-column: 4;
8945
8992
  }
8946
- .disclosure[data-v-4981f1b6]:hover {
8993
+ .disclosure[data-v-f2ec0a81]:hover {
8947
8994
  color: var(--ui-text-primary);
8948
8995
  background: var(--ui-surface-elevated);
8949
8996
  }
8950
- .disclosure-icon[data-v-4981f1b6] {
8997
+ .disclosure-icon[data-v-f2ec0a81] {
8951
8998
  display: grid;
8952
8999
  place-items: center;
8953
9000
  inline-size: 12px;
@@ -8955,7 +9002,7 @@ to {
8955
9002
  transform: rotate(-90deg);
8956
9003
  transition: transform var(--ui-motion-fast) var(--ui-motion-ease);
8957
9004
  }
8958
- .disclosure-icon[data-v-4981f1b6]::before {
9005
+ .disclosure-icon[data-v-f2ec0a81]::before {
8959
9006
  display: block;
8960
9007
  inline-size: 0.375rem;
8961
9008
  block-size: 0.375rem;
@@ -8965,19 +9012,19 @@ to {
8965
9012
  /* A chevron's ink sits below its box centre; lift it so it centres optically (in either rotation). */
8966
9013
  transform: translateY(-20%) rotate(45deg);
8967
9014
  }
8968
- [data-component~="ui-tree-item"][aria-expanded="true"] .disclosure-icon[data-v-4981f1b6] {
9015
+ [data-component~="ui-tree-item"][aria-expanded="true"] > .row > .disclosure > .disclosure-icon[data-v-f2ec0a81] {
8969
9016
  transform: rotate(0deg);
8970
9017
  }
8971
9018
 
8972
9019
  /* Lucide grip-vertical, filling the handle as in Looma 0.2. */
8973
- .drag-handle svg[data-v-4981f1b6] {
9020
+ .drag-handle svg[data-v-f2ec0a81] {
8974
9021
  display: block;
8975
9022
  inline-size: 100%;
8976
9023
  block-size: 100%;
8977
9024
  }
8978
9025
 
8979
9026
  /* Slotted content is outside this scope, so :has() cannot see it; hide only a truly empty slot. */
8980
- .leading[data-v-4981f1b6] {
9027
+ .leading[data-v-f2ec0a81] {
8981
9028
  display: inline-grid;
8982
9029
  place-items: center;
8983
9030
  grid-column: 2;
@@ -8990,12 +9037,12 @@ to {
8990
9037
  position: relative;
8991
9038
  z-index: 1;
8992
9039
  }
8993
- .leading[data-v-4981f1b6]:empty {
9040
+ .leading[data-v-f2ec0a81]:empty {
8994
9041
  display: none;
8995
9042
  }
8996
9043
 
8997
9044
  /* Icons match the label's size (as in Knit's tree): an unsized SVG would otherwise render 300×150. */
8998
- svg[data-v-4981f1b6-s],img[data-v-4981f1b6-s] {
9045
+ svg[data-v-f2ec0a81-s],img[data-v-f2ec0a81-s] {
8999
9046
  display: block;
9000
9047
  inline-size: 1em;
9001
9048
  block-size: 1em;
@@ -9004,7 +9051,7 @@ svg[data-v-4981f1b6-s],img[data-v-4981f1b6-s] {
9004
9051
 
9005
9052
  /* The label spans the row's height and centres its content, so slotted content (a link) can
9006
9053
  stretch to fill the row as its own hit area; the padding tokens remove the inset. */
9007
- .label[data-v-4981f1b6] {
9054
+ .label[data-v-f2ec0a81] {
9008
9055
  grid-column: 3;
9009
9056
  grid-row: 1;
9010
9057
  align-self: stretch;
@@ -9022,7 +9069,7 @@ svg[data-v-4981f1b6-s],img[data-v-4981f1b6-s] {
9022
9069
 
9023
9070
  /* Slotted label content fills the cell, so a link is the row's hit area rather than sizing to
9024
9071
  its own text and reading as overflow. */
9025
- .label-text[data-v-4981f1b6] {
9072
+ .label-text[data-v-f2ec0a81] {
9026
9073
  display: flex;
9027
9074
  align-items: center;
9028
9075
  /* Stretches, so slotted content can still be the row's full-height hit area. */
@@ -9032,16 +9079,16 @@ svg[data-v-4981f1b6-s],img[data-v-4981f1b6-s] {
9032
9079
  inline-size: 100%;
9033
9080
  white-space: nowrap;
9034
9081
  }
9035
- .label-text > [data-v-4981f1b6-s] {
9082
+ .label-text > [data-v-f2ec0a81-s] {
9036
9083
  flex: 1 1 auto;
9037
9084
  min-inline-size: 0;
9038
9085
  }
9039
9086
 
9040
9087
  /* The controls sit over the label's end, so the text fades out where they begin. The fade is
9041
9088
  the truncation mark while it shows: an ellipsis under it would read as a second one. */
9042
- .row:hover > .label[data-v-4981f1b6],
9043
- .row:focus-within > .label[data-v-4981f1b6],
9044
- [data-component~="ui-tree-item"][data-move-source] > .row > .label[data-v-4981f1b6] {
9089
+ .row:hover > .label[data-v-f2ec0a81],
9090
+ .row:focus-within > .label[data-v-f2ec0a81],
9091
+ [data-component~="ui-tree-item"][data-move-source] > .row > .label[data-v-f2ec0a81] {
9045
9092
  text-overflow: clip;
9046
9093
  mask-image: linear-gradient(
9047
9094
  to right,
@@ -9049,9 +9096,9 @@ svg[data-v-4981f1b6-s],img[data-v-4981f1b6-s] {
9049
9096
  transparent calc(100% - var(--_tree-actions-width, 1.75rem))
9050
9097
  );
9051
9098
  }
9052
- .row:hover > .label[data-v-4981f1b6]:dir(rtl),
9053
- .row:focus-within > .label[data-v-4981f1b6]:dir(rtl),
9054
- [data-component~="ui-tree-item"][data-move-source] > .row > .label[data-v-4981f1b6]:dir(rtl) {
9099
+ .row:hover > .label[data-v-f2ec0a81]:dir(rtl),
9100
+ .row:focus-within > .label[data-v-f2ec0a81]:dir(rtl),
9101
+ [data-component~="ui-tree-item"][data-move-source] > .row > .label[data-v-f2ec0a81]:dir(rtl) {
9055
9102
  mask-image: linear-gradient(
9056
9103
  to left,
9057
9104
  #000 calc(100% - var(--_tree-actions-width, 1.75rem) - var(--ui-space-1)),
@@ -9063,10 +9110,10 @@ svg[data-v-4981f1b6-s],img[data-v-4981f1b6-s] {
9063
9110
  there, and starts again. Only when it actually overflows — the controller measures by how
9064
9111
  much — after the controls have taken their place over its end — and hands over the distance
9065
9112
  and a duration from it, so every name moves at the same speed. */
9066
- .row[data-ui-marquee] > .label > .label-text[data-v-4981f1b6] {
9113
+ .row[data-ui-marquee] > .label > .label-text[data-v-f2ec0a81] {
9067
9114
  /* Once per pass: the controller restarts it after a rest at the end, so the name holds still
9068
9115
  long enough to read rather than sliding back and forth. */
9069
- animation: ui-tree-item-marquee-4981f1b6 var(--_marquee-duration) linear 0.5s 1 normal forwards;
9116
+ animation: ui-tree-item-marquee-f2ec0a81 var(--_marquee-duration) linear 0.5s 1 normal forwards;
9070
9117
  will-change: transform;
9071
9118
  }
9072
9119
 
@@ -9074,7 +9121,7 @@ svg[data-v-4981f1b6-s],img[data-v-4981f1b6-s] {
9074
9121
  slides, the label reaches back under the icon (the controller measures how far) with its text
9075
9122
  where it was, and fades out across the gap before the icon, fully gone where the icon begins
9076
9123
  to cover it: the name slips under the icon rather than stopping at a hard edge beside it. */
9077
- .row[data-ui-marquee] > .label[data-v-4981f1b6] {
9124
+ .row[data-ui-marquee] > .label[data-v-f2ec0a81] {
9078
9125
  margin-inline-start: calc(-1 * var(--_marquee-lead, 0px));
9079
9126
  padding-inline-start: calc(
9080
9127
  var(--_marquee-lead, 0px) + var(--_ui-tree-item-label-padding-inline, var(--ui-space-2))
@@ -9089,7 +9136,7 @@ svg[data-v-4981f1b6-s],img[data-v-4981f1b6-s] {
9089
9136
  transparent calc(100% - var(--_tree-actions-width, 1.75rem))
9090
9137
  );
9091
9138
  }
9092
- .row[data-ui-marquee] > .label[data-v-4981f1b6]:dir(rtl) {
9139
+ .row[data-ui-marquee] > .label[data-v-f2ec0a81]:dir(rtl) {
9093
9140
  mask-image: linear-gradient(
9094
9141
  to left,
9095
9142
  transparent var(--_marquee-icon-width, 0px),
@@ -9100,7 +9147,7 @@ svg[data-v-4981f1b6-s],img[data-v-4981f1b6-s] {
9100
9147
  transparent calc(100% - var(--_tree-actions-width, 1.75rem))
9101
9148
  );
9102
9149
  }
9103
- @keyframes ui-tree-item-marquee-4981f1b6 {
9150
+ @keyframes ui-tree-item-marquee-f2ec0a81 {
9104
9151
  from {
9105
9152
  transform: translateX(0);
9106
9153
  }
@@ -9111,15 +9158,15 @@ to {
9111
9158
 
9112
9159
  /* Reduced motion keeps the fade, which already says the name continues. */
9113
9160
  @media (prefers-reduced-motion: reduce) {
9114
- .row[data-ui-marquee] > .label > .label-text[data-v-4981f1b6] {
9161
+ .row[data-ui-marquee] > .label > .label-text[data-v-f2ec0a81] {
9115
9162
  animation: none;
9116
9163
  }
9117
9164
  }
9118
- .row:hover > .label > [data-v-4981f1b6-s],
9119
- .row:focus-within > .label > [data-v-4981f1b6-s] {
9165
+ .row:hover > .label > [data-v-f2ec0a81-s],
9166
+ .row:focus-within > .label > [data-v-f2ec0a81-s] {
9120
9167
  text-overflow: clip;
9121
9168
  }
9122
- .actions[data-v-4981f1b6] {
9169
+ .actions[data-v-f2ec0a81] {
9123
9170
  position: absolute;
9124
9171
  z-index: 1;
9125
9172
  inset-block: 0;
@@ -9131,19 +9178,19 @@ to {
9131
9178
  pointer-events: none;
9132
9179
  transition: opacity var(--ui-motion-fast) var(--ui-motion-ease);
9133
9180
  }
9134
- .row:hover > .actions[data-v-4981f1b6],
9135
- .row:focus-within > .actions[data-v-4981f1b6],
9136
- [data-component~="ui-tree-item"][data-move-source] > .row > .actions[data-v-4981f1b6] {
9181
+ .row:hover > .actions[data-v-f2ec0a81],
9182
+ .row:focus-within > .actions[data-v-f2ec0a81],
9183
+ [data-component~="ui-tree-item"][data-move-source] > .row > .actions[data-v-f2ec0a81] {
9137
9184
  opacity: 1;
9138
9185
  pointer-events: auto;
9139
9186
  }
9140
9187
 
9141
9188
  /* Without hover there is no reveal, so the controls keep their own column. */
9142
9189
  @media (hover: none), (pointer: coarse) {
9143
- .row[data-v-4981f1b6] {
9190
+ .row[data-v-f2ec0a81] {
9144
9191
  grid-template-columns: var(--_tree-disclosure-size) auto minmax(0, 1fr) auto;
9145
9192
  }
9146
- .actions[data-v-4981f1b6] {
9193
+ .actions[data-v-f2ec0a81] {
9147
9194
  position: static;
9148
9195
  grid-column: 4;
9149
9196
  grid-row: 1;
@@ -9152,13 +9199,13 @@ to {
9152
9199
  opacity: 1;
9153
9200
  pointer-events: auto;
9154
9201
  }
9155
- .row:is(:hover, :focus-within) > .label[data-v-4981f1b6],
9156
- .row:is(:hover, :focus-within) > .label[data-v-4981f1b6]:dir(rtl),
9157
- [data-component~="ui-tree-item"][data-move-source] > .row > .label[data-v-4981f1b6],
9158
- [data-component~="ui-tree-item"][data-move-source] > .row > .label[data-v-4981f1b6]:dir(rtl) {
9202
+ .row:is(:hover, :focus-within) > .label[data-v-f2ec0a81],
9203
+ .row:is(:hover, :focus-within) > .label[data-v-f2ec0a81]:dir(rtl),
9204
+ [data-component~="ui-tree-item"][data-move-source] > .row > .label[data-v-f2ec0a81],
9205
+ [data-component~="ui-tree-item"][data-move-source] > .row > .label[data-v-f2ec0a81]:dir(rtl) {
9159
9206
  mask-image: none;
9160
9207
  }
9161
- .row[data-ui-marquee] > .label[data-v-4981f1b6] {
9208
+ .row[data-ui-marquee] > .label[data-v-f2ec0a81] {
9162
9209
  mask-image: linear-gradient(
9163
9210
  to right,
9164
9211
  transparent var(--_marquee-icon-width, 0px),
@@ -9167,7 +9214,7 @@ to {
9167
9214
  )
9168
9215
  );
9169
9216
  }
9170
- .row[data-ui-marquee] > .label[data-v-4981f1b6]:dir(rtl) {
9217
+ .row[data-ui-marquee] > .label[data-v-f2ec0a81]:dir(rtl) {
9171
9218
  mask-image: linear-gradient(
9172
9219
  to left,
9173
9220
  transparent var(--_marquee-icon-width, 0px),
@@ -9176,10 +9223,10 @@ to {
9176
9223
  )
9177
9224
  );
9178
9225
  }
9179
- [data-component~="ui-tree-item"][data-selection-mode="multiple"] > .row[data-v-4981f1b6] {
9226
+ [data-component~="ui-tree-item"][data-selection-mode="multiple"] > .row[data-v-f2ec0a81] {
9180
9227
  grid-template-columns: var(--_tree-disclosure-size) 1.25rem auto minmax(0, 1fr) auto;
9181
9228
  }
9182
- [data-component~="ui-tree-item"][data-selection-mode="multiple"] > .row > .actions[data-v-4981f1b6] {
9229
+ [data-component~="ui-tree-item"][data-selection-mode="multiple"] > .row > .actions[data-v-f2ec0a81] {
9183
9230
  grid-column: 5;
9184
9231
  }
9185
9232
  }
@@ -9188,7 +9235,7 @@ to {
9188
9235
  empty column, right before the icon; a branch's disclosure is there, so its handle sits just
9189
9236
  outside the row. It is bare until pointed at: a resting surface behind it read as a faint
9190
9237
  patch rather than as a control. */
9191
- .drag-handle[data-v-4981f1b6] {
9238
+ .drag-handle[data-v-f2ec0a81] {
9192
9239
  position: absolute;
9193
9240
  z-index: 2;
9194
9241
  inset-block-start: 50%;
@@ -9209,24 +9256,24 @@ to {
9209
9256
  transform: translateY(-50%);
9210
9257
  transition: opacity var(--ui-motion-fast) var(--ui-motion-ease);
9211
9258
  }
9212
- .row:hover .drag-handle[data-v-4981f1b6],
9213
- .drag-handle[data-v-4981f1b6]:hover,
9214
- .drag-handle[data-v-4981f1b6]:focus-visible,
9215
- [data-component~="ui-tree-item"][data-dragging] > .row > .drag-handle[data-v-4981f1b6] {
9259
+ .row:hover .drag-handle[data-v-f2ec0a81],
9260
+ .drag-handle[data-v-f2ec0a81]:hover,
9261
+ .drag-handle[data-v-f2ec0a81]:focus-visible,
9262
+ [data-component~="ui-tree-item"][data-dragging] > .row > .drag-handle[data-v-f2ec0a81] {
9216
9263
  opacity: 1;
9217
9264
  }
9218
- [data-component~="ui-tree-item"][data-ui-tree-item-state~="isContainer"] > .row > .drag-handle[data-v-4981f1b6] {
9265
+ [data-component~="ui-tree-item"][data-ui-tree-item-state~="isContainer"] > .row > .drag-handle[data-v-f2ec0a81] {
9219
9266
  inset-inline-start: calc(-1 * var(--_tree-disclosure-size) - 2px);
9220
9267
  }
9221
- .drag-handle[data-v-4981f1b6]:hover,
9222
- .drag-handle[data-v-4981f1b6]:focus-visible {
9268
+ .drag-handle[data-v-f2ec0a81]:hover,
9269
+ .drag-handle[data-v-f2ec0a81]:focus-visible {
9223
9270
  color: var(--ui-text-primary);
9224
9271
  background: var(--ui-surface-hover);
9225
9272
  }
9226
- .drag-handle[data-v-4981f1b6]:active {
9273
+ .drag-handle[data-v-f2ec0a81]:active {
9227
9274
  cursor: grabbing;
9228
9275
  }
9229
- .drop-indicator[data-v-4981f1b6] {
9276
+ .drop-indicator[data-v-f2ec0a81] {
9230
9277
  position: absolute;
9231
9278
  z-index: 3;
9232
9279
  inset-inline: 1px;
@@ -9236,8 +9283,8 @@ to {
9236
9283
  background: var(--_ui-tree-drop-color, var(--ui-accent-solid));
9237
9284
  pointer-events: none;
9238
9285
  }
9239
- .drop-indicator[data-v-4981f1b6]::before,
9240
- .drop-indicator[data-v-4981f1b6]::after {
9286
+ .drop-indicator[data-v-f2ec0a81]::before,
9287
+ .drop-indicator[data-v-f2ec0a81]::after {
9241
9288
  content: "";
9242
9289
  position: absolute;
9243
9290
  inset-block-start: 50%;
@@ -9248,34 +9295,34 @@ to {
9248
9295
  background: var(--ui-surface-elevated);
9249
9296
  transform: translateY(-50%);
9250
9297
  }
9251
- .drop-indicator[data-v-4981f1b6]::before {
9298
+ .drop-indicator[data-v-f2ec0a81]::before {
9252
9299
  inset-inline-start: -1px;
9253
9300
  }
9254
- .drop-indicator[data-v-4981f1b6]::after {
9301
+ .drop-indicator[data-v-f2ec0a81]::after {
9255
9302
  inset-inline-end: -1px;
9256
9303
  }
9257
- [data-component~="ui-tree-item"][data-drop-position="before"] > .row > .row-drop-indicator[data-v-4981f1b6] {
9304
+ [data-component~="ui-tree-item"][data-drop-position="before"] > .row > .row-drop-indicator[data-v-f2ec0a81] {
9258
9305
  display: block;
9259
9306
  inset-block-start: calc(-0.5 * var(--ui-accent-line-width));
9260
9307
  }
9261
- [data-component~="ui-tree-item"][data-drop-position="after"] > .subtree-drop-indicator[data-v-4981f1b6] {
9308
+ [data-component~="ui-tree-item"][data-drop-position="after"] > .subtree-drop-indicator[data-v-f2ec0a81] {
9262
9309
  display: block;
9263
9310
  inset-block-end: calc(-0.5 * var(--ui-accent-line-width));
9264
9311
  }
9265
- .children[hidden][data-v-4981f1b6] {
9312
+ .children[hidden][data-v-f2ec0a81] {
9266
9313
  display: none;
9267
9314
  }
9268
- html[data-ui-input-modality="touch"] [data-component~="ui-tree-item"][data-v-4981f1b6] {
9315
+ html[data-ui-input-modality="touch"] [data-component~="ui-tree-item"][data-v-f2ec0a81] {
9269
9316
  --_tree-row-min-height: 44px;
9270
9317
  }
9271
- html[data-ui-input-modality="touch"] [data-component~="ui-tree-item"] .row[data-v-4981f1b6] {
9318
+ html[data-ui-input-modality="touch"] [data-component~="ui-tree-item"] .row[data-v-f2ec0a81] {
9272
9319
  grid-template-columns: 44px var(--_tree-disclosure-size) auto minmax(0, 1fr);
9273
9320
  }
9274
- html[data-ui-input-modality="touch"] [data-component~="ui-tree-item"] .drag-handle[data-v-4981f1b6],
9321
+ html[data-ui-input-modality="touch"] [data-component~="ui-tree-item"] .drag-handle[data-v-f2ec0a81],
9275
9322
  html[data-ui-input-modality="touch"]
9276
9323
  [data-component~="ui-tree-item"][data-ui-tree-item-state~="isContainer"]
9277
9324
  > .row
9278
- > .drag-handle[data-v-4981f1b6] {
9325
+ > .drag-handle[data-v-f2ec0a81] {
9279
9326
  position: relative;
9280
9327
  grid-column: 1;
9281
9328
  grid-row: 1;
@@ -9287,24 +9334,24 @@ html[data-ui-input-modality="touch"]
9287
9334
  transform: none;
9288
9335
  cursor: pointer;
9289
9336
  }
9290
- html[data-ui-input-modality="touch"] [data-component~="ui-tree-item"] .disclosure[data-v-4981f1b6] {
9337
+ html[data-ui-input-modality="touch"] [data-component~="ui-tree-item"] .disclosure[data-v-f2ec0a81] {
9291
9338
  grid-column: 2;
9292
9339
  }
9293
- html[data-ui-input-modality="touch"] [data-component~="ui-tree-item"] .leading[data-v-4981f1b6] {
9340
+ html[data-ui-input-modality="touch"] [data-component~="ui-tree-item"] .leading[data-v-f2ec0a81] {
9294
9341
  grid-column: 3;
9295
9342
  }
9296
- html[data-ui-input-modality="touch"] [data-component~="ui-tree-item"] .label[data-v-4981f1b6] {
9343
+ html[data-ui-input-modality="touch"] [data-component~="ui-tree-item"] .label[data-v-f2ec0a81] {
9297
9344
  grid-column: 4;
9298
9345
  }
9299
9346
  html[data-ui-input-modality="touch"]
9300
9347
  [data-component~="ui-tree-item"][data-selection-mode="multiple"]
9301
- > .row[data-v-4981f1b6] {
9348
+ > .row[data-v-f2ec0a81] {
9302
9349
  grid-template-columns: 44px var(--_tree-disclosure-size) 44px auto minmax(0, 1fr);
9303
9350
  }
9304
9351
  html[data-ui-input-modality="touch"]
9305
9352
  [data-component~="ui-tree-item"][data-selection-mode="multiple"]
9306
9353
  > .row
9307
- > .selection-hit[data-v-4981f1b6] {
9354
+ > .selection-hit[data-v-f2ec0a81] {
9308
9355
  grid-column: 3;
9309
9356
  inline-size: 44px;
9310
9357
  block-size: 44px;
@@ -9312,55 +9359,55 @@ html[data-ui-input-modality="touch"]
9312
9359
  html[data-ui-input-modality="touch"]
9313
9360
  [data-component~="ui-tree-item"][data-selection-mode="multiple"]
9314
9361
  > .row
9315
- > .leading[data-v-4981f1b6] {
9362
+ > .leading[data-v-f2ec0a81] {
9316
9363
  grid-column: 4;
9317
9364
  }
9318
9365
  html[data-ui-input-modality="touch"]
9319
9366
  [data-component~="ui-tree-item"][data-selection-mode="multiple"]
9320
9367
  > .row
9321
- > .label[data-v-4981f1b6] {
9368
+ > .label[data-v-f2ec0a81] {
9322
9369
  grid-column: 5;
9323
9370
  }
9324
9371
  @media (hover: none), (pointer: coarse) {
9325
- html[data-ui-input-modality="touch"] [data-component~="ui-tree-item"] .row[data-v-4981f1b6] {
9372
+ html[data-ui-input-modality="touch"] [data-component~="ui-tree-item"] .row[data-v-f2ec0a81] {
9326
9373
  grid-template-columns: 44px var(--_tree-disclosure-size) auto minmax(0, 1fr) auto;
9327
9374
  }
9328
- html[data-ui-input-modality="touch"] [data-component~="ui-tree-item"] .actions[data-v-4981f1b6] {
9375
+ html[data-ui-input-modality="touch"] [data-component~="ui-tree-item"] .actions[data-v-f2ec0a81] {
9329
9376
  grid-column: 5;
9330
9377
  }
9331
9378
  html[data-ui-input-modality="touch"]
9332
9379
  [data-component~="ui-tree-item"][data-selection-mode="multiple"]
9333
- > .row[data-v-4981f1b6] {
9380
+ > .row[data-v-f2ec0a81] {
9334
9381
  grid-template-columns: 44px var(--_tree-disclosure-size) 44px auto minmax(0, 1fr) auto;
9335
9382
  }
9336
9383
  html[data-ui-input-modality="touch"]
9337
9384
  [data-component~="ui-tree-item"][data-selection-mode="multiple"]
9338
9385
  > .row
9339
- > .actions[data-v-4981f1b6] {
9386
+ > .actions[data-v-f2ec0a81] {
9340
9387
  grid-column: 6;
9341
9388
  }
9342
9389
  }
9343
9390
  @media (prefers-reduced-motion: reduce) {
9344
- .row[data-v-4981f1b6],
9345
- .disclosure-icon[data-v-4981f1b6],
9346
- .drag-handle[data-v-4981f1b6] {
9391
+ .row[data-v-f2ec0a81],
9392
+ .disclosure-icon[data-v-f2ec0a81],
9393
+ .drag-handle[data-v-f2ec0a81] {
9347
9394
  transition: none;
9348
9395
  }
9349
9396
  }
9350
9397
  @media (forced-colors: active) {
9351
- [data-component~="ui-tree-item"]:focus-visible > .row[data-v-4981f1b6] {
9398
+ [data-component~="ui-tree-item"]:focus-visible > .row[data-v-f2ec0a81] {
9352
9399
  outline: var(--ui-focus-width) solid Highlight;
9353
9400
  outline-offset: calc(-1 * var(--ui-focus-width));
9354
9401
  }
9355
9402
  [data-component~="ui-tree-item"][data-ui-tree-item-state~="selected"]:not(:focus-visible):not([aria-disabled="true"])
9356
- > .row[data-v-4981f1b6] {
9403
+ > .row[data-v-f2ec0a81] {
9357
9404
  outline: var(--ui-border-width) solid Highlight;
9358
9405
  outline-offset: calc(-1 * var(--ui-border-width));
9359
9406
  }
9360
9407
  }
9361
9408
 
9362
9409
  /* A component that sets its display still honours the hidden attribute on its root. */
9363
- [data-component~="ui-tree-item"][hidden][data-v-4981f1b6] {
9410
+ [data-component~="ui-tree-item"][hidden][data-v-f2ec0a81] {
9364
9411
  display: none;
9365
9412
  }
9366
9413
  /**