@threadlabs/looma 0.13.2 → 0.13.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.
@@ -64,16 +64,22 @@
64
64
  display: none;
65
65
  }
66
66
 
67
- [data-component~="ui-affordance-scope"][data-v-0288ef7b] {
67
+ [data-component~="ui-affordance-scope"][data-v-0ec8d3e6] {
68
68
  display: contents;
69
69
  --ui-affordance-scope-engaged: 0;
70
+ --ui-affordance-scope-guide: 1;
70
71
  }
71
- [data-component~="ui-affordance-scope"][data-ui-affordance-scope-state~="engaged"][data-v-0288ef7b] {
72
+ [data-component~="ui-affordance-scope"][data-ui-affordance-scope-state~="engaged"][data-v-0ec8d3e6] {
72
73
  --ui-affordance-scope-engaged: 1;
73
74
  }
74
75
 
76
+ /* Published to descendants: each guide multiplies its opacity by it, so none reaches them all. */
77
+ [data-component~="ui-affordance-scope"][data-ui-affordance-scope-state~="guide=none"][data-v-0ec8d3e6] {
78
+ --ui-affordance-scope-guide: 0;
79
+ }
80
+
75
81
  /* A component that sets its display still honours the hidden attribute on its root. */
76
- [data-component~="ui-affordance-scope"][hidden][data-v-0288ef7b] {
82
+ [data-component~="ui-affordance-scope"][hidden][data-v-0ec8d3e6] {
77
83
  display: none;
78
84
  }
79
85
 
@@ -1088,7 +1094,7 @@ input[data-v-e122df08]:focus-visible {
1088
1094
  syntax: "*";
1089
1095
  inherits: false;
1090
1096
  }
1091
- [data-component~="ui-cluster"][data-v-d749e74b] {
1097
+ [data-component~="ui-cluster"][data-v-81b18ffc] {
1092
1098
  --_layout-gap: var(--ui-space-3);
1093
1099
  display: flex;
1094
1100
  flex-wrap: wrap;
@@ -1098,33 +1104,42 @@ input[data-v-e122df08]:focus-visible {
1098
1104
  max-inline-size: 100%;
1099
1105
  margin: 0;
1100
1106
  }
1101
- [data-component~="ui-cluster"][data-ui-cluster-state~="gap=xs"][data-v-d749e74b] {
1107
+ [data-component~="ui-cluster"][data-ui-cluster-state~="gap=xs"][data-v-81b18ffc] {
1102
1108
  --_layout-gap: var(--ui-space-2);
1103
1109
  }
1104
- [data-component~="ui-cluster"][data-ui-cluster-state~="gap=s"][data-v-d749e74b] {
1110
+ [data-component~="ui-cluster"][data-ui-cluster-state~="gap=s"][data-v-81b18ffc] {
1105
1111
  --_layout-gap: var(--ui-space-3);
1106
1112
  }
1107
- [data-component~="ui-cluster"][data-ui-cluster-state~="gap=m"][data-v-d749e74b] {
1113
+ [data-component~="ui-cluster"][data-ui-cluster-state~="gap=m"][data-v-81b18ffc] {
1108
1114
  --_layout-gap: var(--ui-space-4);
1109
1115
  }
1110
- [data-component~="ui-cluster"][data-ui-cluster-state~="gap=l"][data-v-d749e74b] {
1116
+ [data-component~="ui-cluster"][data-ui-cluster-state~="gap=l"][data-v-81b18ffc] {
1111
1117
  --_layout-gap: var(--ui-space-5);
1112
1118
  }
1113
- [data-component~="ui-cluster"][data-ui-cluster-state~="gap=xl"][data-v-d749e74b] {
1119
+ [data-component~="ui-cluster"][data-ui-cluster-state~="gap=xl"][data-v-81b18ffc] {
1114
1120
  --_layout-gap: var(--ui-space-6);
1115
1121
  }
1116
- [data-component~="ui-cluster"][data-ui-cluster-state~="align=start"][data-v-d749e74b] {
1122
+ [data-component~="ui-cluster"][data-ui-cluster-state~="align=start"][data-v-81b18ffc] {
1117
1123
  align-items: flex-start;
1118
1124
  }
1119
- [data-component~="ui-cluster"][data-ui-cluster-state~="align=end"][data-v-d749e74b] {
1125
+ [data-component~="ui-cluster"][data-ui-cluster-state~="align=end"][data-v-81b18ffc] {
1120
1126
  align-items: flex-end;
1121
1127
  }
1122
- [data-component~="ui-cluster"][data-ui-cluster-state~="align=stretch"][data-v-d749e74b] {
1128
+ [data-component~="ui-cluster"][data-ui-cluster-state~="align=stretch"][data-v-81b18ffc] {
1123
1129
  align-items: stretch;
1124
1130
  }
1131
+ [data-component~="ui-cluster"][data-ui-cluster-state~="justify=center"][data-v-81b18ffc] {
1132
+ justify-content: center;
1133
+ }
1134
+ [data-component~="ui-cluster"][data-ui-cluster-state~="justify=end"][data-v-81b18ffc] {
1135
+ justify-content: flex-end;
1136
+ }
1137
+ [data-component~="ui-cluster"][data-ui-cluster-state~="justify=between"][data-v-81b18ffc] {
1138
+ justify-content: space-between;
1139
+ }
1125
1140
 
1126
1141
  /* A component that sets its display still honours the hidden attribute on its root. */
1127
- [data-component~="ui-cluster"][hidden][data-v-d749e74b] {
1142
+ [data-component~="ui-cluster"][hidden][data-v-81b18ffc] {
1128
1143
  display: none;
1129
1144
  }
1130
1145
 
@@ -2654,39 +2669,39 @@ from {
2654
2669
  display: none;
2655
2670
  }
2656
2671
 
2657
- [data-component~="ui-editor-table-overlay"][data-v-af4935bb] {
2672
+ [data-component~="ui-editor-table-overlay"][data-v-0de9cbcc] {
2658
2673
  display: block;
2659
2674
  width: 100%;
2660
2675
  height: 100%;
2661
2676
  overflow: visible;
2662
2677
  pointer-events: none;
2663
2678
  }
2664
- [data-component~="ui-editor-table-overlay"][data-v-af4935bb] {
2679
+ [data-component~="ui-editor-table-overlay"][data-v-0de9cbcc] {
2665
2680
  position: relative;
2666
2681
  width: 100%;
2667
2682
  height: 100%;
2668
2683
  overflow: visible;
2669
2684
  pointer-events: none;
2670
2685
  }
2671
- .rows[data-v-af4935bb],
2672
- .cols[data-v-af4935bb] {
2686
+ .rows[data-v-0de9cbcc],
2687
+ .cols[data-v-0de9cbcc] {
2673
2688
  pointer-events: none;
2674
2689
  position: absolute;
2675
2690
  }
2676
- .rows[data-v-af4935bb] {
2691
+ .rows[data-v-0de9cbcc] {
2677
2692
  inset: 0;
2678
2693
  width: 100%;
2679
2694
  }
2680
- .cols[data-v-af4935bb] {
2695
+ .cols[data-v-0de9cbcc] {
2681
2696
  inset: 0;
2682
2697
  height: 100%;
2683
2698
  }
2684
- .control[data-v-af4935bb] {
2699
+ .control[data-v-0de9cbcc] {
2685
2700
  position: absolute;
2686
2701
  z-index: 1;
2687
2702
  pointer-events: none;
2688
2703
  }
2689
- .handle[data-v-af4935bb] {
2704
+ .handle[data-v-0de9cbcc] {
2690
2705
  position: absolute;
2691
2706
  display: inline-flex;
2692
2707
  align-items: center;
@@ -2713,86 +2728,86 @@ from {
2713
2728
  pointer-events: auto;
2714
2729
  cursor: pointer;
2715
2730
  }
2716
- .handle[data-v-af4935bb] {
2731
+ .handle[data-v-0de9cbcc] {
2717
2732
  --_ui-default-icon-size: 14px;
2718
2733
  --_ui-default-icon-stroke-width: 2;
2719
2734
  }
2720
- .handle[data-ui-proximity="near"][data-v-af4935bb],
2721
- .control.active .handle[data-v-af4935bb],
2722
- .handle[data-v-af4935bb]:focus-visible {
2735
+ .handle[data-ui-proximity="near"][data-v-0de9cbcc],
2736
+ .control.active .handle[data-v-0de9cbcc],
2737
+ .handle[data-v-0de9cbcc]:focus-visible {
2723
2738
  opacity: 1;
2724
2739
  scale: 1;
2725
2740
  }
2726
- .control.active .handle[data-v-af4935bb],
2727
- .handle[data-v-af4935bb]:focus-visible {
2741
+ .control.active .handle[data-v-0de9cbcc],
2742
+ .handle[data-v-0de9cbcc]:focus-visible {
2728
2743
  border-color: var(--ui-affordance-direct-color, var(--ui-accent-solid));
2729
2744
  background: var(--ui-affordance-direct-color, var(--ui-accent-solid));
2730
2745
  color: var(--ui-text-on-accent);
2731
2746
  box-shadow: var(--ui-shadow-sm, 0 1px 3px rgb(0 0 0 / 0.1));
2732
2747
  }
2733
- .handle[data-v-af4935bb]:focus-visible,
2734
- .selector[data-v-af4935bb]:focus-visible,
2735
- .cell-menu[data-v-af4935bb]:focus-visible {
2748
+ .handle[data-v-0de9cbcc]:focus-visible,
2749
+ .selector[data-v-0de9cbcc]:focus-visible,
2750
+ .cell-menu[data-v-0de9cbcc]:focus-visible {
2736
2751
  outline: 2px solid var(--ui-focus-ring);
2737
2752
  outline-offset: 2px;
2738
2753
  }
2739
- .control.row[data-v-af4935bb] {
2754
+ .control.row[data-v-0de9cbcc] {
2740
2755
  left: 0;
2741
2756
  width: 100%;
2742
2757
  height: 0;
2743
2758
  }
2744
- .control.row .handle[data-v-af4935bb] {
2759
+ .control.row .handle[data-v-0de9cbcc] {
2745
2760
  top: -12px;
2746
2761
  left: -30px;
2747
2762
  }
2748
- .control.col[data-v-af4935bb] {
2763
+ .control.col[data-v-0de9cbcc] {
2749
2764
  top: 0;
2750
2765
  width: 0;
2751
2766
  height: 100%;
2752
2767
  }
2753
- .control.col .handle[data-v-af4935bb] {
2768
+ .control.col .handle[data-v-0de9cbcc] {
2754
2769
  top: -30px;
2755
2770
  left: -12px;
2756
2771
  }
2757
- .line[data-v-af4935bb] {
2772
+ .line[data-v-0de9cbcc] {
2758
2773
  position: absolute;
2759
2774
  background: var(--ui-affordance-direct-color, var(--ui-accent-solid));
2760
2775
  opacity: 0;
2761
2776
  transition: opacity var(--ui-affordance-motion, var(--ui-motion-fast)) var(--ui-motion-ease);
2762
2777
  }
2763
- .control.row .line[data-v-af4935bb] {
2778
+ .control.row .line[data-v-0de9cbcc] {
2764
2779
  inset: -1px 0 auto;
2765
2780
  height: 2px;
2766
2781
  }
2767
- .control.col .line[data-v-af4935bb] {
2782
+ .control.col .line[data-v-0de9cbcc] {
2768
2783
  inset: 0 auto 0 -1px;
2769
2784
  width: 2px;
2770
2785
  }
2771
- .control.active .line[data-v-af4935bb] {
2786
+ .control.active .line[data-v-0de9cbcc] {
2772
2787
  opacity: 0.8;
2773
2788
  }
2774
- .guide[data-v-af4935bb] {
2789
+ .guide[data-v-0de9cbcc] {
2775
2790
  position: absolute;
2776
2791
  width: var(--ui-affordance-guide-size);
2777
2792
  height: var(--ui-affordance-guide-size);
2778
2793
  border-radius: var(--ui-radius-round);
2779
2794
  background: var(--ui-affordance-guide-color, var(--ui-border-strong));
2780
- opacity: var(--ui-affordance-guide-opacity);
2795
+ opacity: calc(var(--ui-affordance-guide-opacity) * var(--ui-affordance-scope-guide, 1));
2781
2796
  transition: opacity var(--ui-affordance-motion, var(--ui-motion-fast)) var(--ui-motion-ease);
2782
2797
  }
2783
- .control.row .guide[data-v-af4935bb] {
2798
+ .control.row .guide[data-v-0de9cbcc] {
2784
2799
  left: -10px;
2785
2800
  top: -2px;
2786
2801
  }
2787
- .control.col .guide[data-v-af4935bb] {
2802
+ .control.col .guide[data-v-0de9cbcc] {
2788
2803
  left: -2px;
2789
2804
  top: -10px;
2790
2805
  }
2791
- .control:has(.handle[data-ui-proximity="near"]) .guide[data-v-af4935bb],
2792
- .control.active .guide[data-v-af4935bb] {
2806
+ .control:has(.handle[data-ui-proximity="near"]) .guide[data-v-0de9cbcc],
2807
+ .control.active .guide[data-v-0de9cbcc] {
2793
2808
  opacity: 0;
2794
2809
  }
2795
- .tooltip[data-v-af4935bb] {
2810
+ .tooltip[data-v-0de9cbcc] {
2796
2811
  position: absolute;
2797
2812
  z-index: 2;
2798
2813
  top: calc(100% + 6px);
@@ -2811,18 +2826,18 @@ from {
2811
2826
  transition: opacity var(--ui-affordance-motion, var(--ui-motion-fast)) var(--ui-motion-ease);
2812
2827
  pointer-events: none;
2813
2828
  }
2814
- .control.row .tooltip[data-v-af4935bb] {
2829
+ .control.row .tooltip[data-v-0de9cbcc] {
2815
2830
  top: 50%;
2816
2831
  left: auto;
2817
2832
  right: calc(100% + 8px);
2818
2833
  transform: translateY(-50%);
2819
2834
  }
2820
- .control.active .tooltip[data-v-af4935bb],
2821
- .handle:focus-visible .tooltip[data-v-af4935bb] {
2835
+ .control.active .tooltip[data-v-0de9cbcc],
2836
+ .handle:focus-visible .tooltip[data-v-0de9cbcc] {
2822
2837
  opacity: 1;
2823
2838
  }
2824
- .selector[data-v-af4935bb],
2825
- .cell-menu[data-v-af4935bb] {
2839
+ .selector[data-v-0de9cbcc],
2840
+ .cell-menu[data-v-0de9cbcc] {
2826
2841
  position: absolute;
2827
2842
  z-index: 2;
2828
2843
  display: inline-flex;
@@ -2841,27 +2856,27 @@ from {
2841
2856
  border-color var(--ui-affordance-motion, var(--ui-motion-fast)) var(--ui-motion-ease),
2842
2857
  box-shadow var(--ui-affordance-motion, var(--ui-motion-fast)) var(--ui-motion-ease);
2843
2858
  }
2844
- .selector[data-v-af4935bb]:hover,
2845
- .cell-menu[data-v-af4935bb]:hover {
2859
+ .selector[data-v-0de9cbcc]:hover,
2860
+ .cell-menu[data-v-0de9cbcc]:hover {
2846
2861
  background: var(--ui-surface-muted);
2847
2862
  color: var(--ui-text-primary);
2848
2863
  box-shadow: var(--ui-shadow-xs, 0 1px 2px rgb(0 0 0 / 0.05));
2849
2864
  }
2850
- .selector[data-v-af4935bb] {
2865
+ .selector[data-v-0de9cbcc] {
2851
2866
  border-radius: var(--ui-radius-round);
2852
2867
  }
2853
- .selector[data-v-af4935bb]::before {
2868
+ .selector[data-v-0de9cbcc]::before {
2854
2869
  content: "";
2855
2870
  position: absolute;
2856
2871
  inset: 50% auto auto 50%;
2857
2872
  border-radius: var(--ui-radius-round);
2858
2873
  background: var(--ui-affordance-guide-color, var(--ui-border-strong));
2859
- opacity: var(--ui-affordance-guide-opacity);
2874
+ opacity: calc(var(--ui-affordance-guide-opacity) * var(--ui-affordance-scope-guide, 1));
2860
2875
  transform: translate(-50%, -50%);
2861
2876
  transition: opacity var(--ui-affordance-motion, var(--ui-motion-fast)) var(--ui-motion-ease);
2862
2877
  pointer-events: none;
2863
2878
  }
2864
- .selector .glyph[data-v-af4935bb] {
2879
+ .selector .glyph[data-v-0de9cbcc] {
2865
2880
  display: block;
2866
2881
  width: 14px;
2867
2882
  height: 14px;
@@ -2873,55 +2888,55 @@ from {
2873
2888
  opacity var(--ui-affordance-motion, var(--ui-motion-fast)) var(--ui-motion-ease),
2874
2889
  transform var(--ui-affordance-motion, var(--ui-motion-fast)) var(--ui-motion-ease);
2875
2890
  }
2876
- .selector[data-v-af4935bb]:hover::before,
2877
- .selector[data-v-af4935bb]:focus-visible::before {
2891
+ .selector[data-v-0de9cbcc]:hover::before,
2892
+ .selector[data-v-0de9cbcc]:focus-visible::before {
2878
2893
  opacity: 0;
2879
2894
  }
2880
- .selector:hover .glyph[data-v-af4935bb],
2881
- .selector:focus-visible .glyph[data-v-af4935bb] {
2895
+ .selector:hover .glyph[data-v-0de9cbcc],
2896
+ .selector:focus-visible .glyph[data-v-0de9cbcc] {
2882
2897
  opacity: 1;
2883
2898
  transform: scale(1);
2884
2899
  }
2885
- .selector.row[data-v-af4935bb] {
2900
+ .selector.row[data-v-0de9cbcc] {
2886
2901
  left: -9px;
2887
2902
  width: 18px;
2888
2903
  height: 32px;
2889
2904
  transform: translateY(-50%);
2890
2905
  }
2891
- .selector.row[data-v-af4935bb]::before {
2906
+ .selector.row[data-v-0de9cbcc]::before {
2892
2907
  width: 2px;
2893
2908
  height: 16px;
2894
2909
  }
2895
- .selector.column[data-v-af4935bb] {
2910
+ .selector.column[data-v-0de9cbcc] {
2896
2911
  top: -9px;
2897
2912
  width: 32px;
2898
2913
  height: 18px;
2899
2914
  transform: translateX(-50%);
2900
2915
  }
2901
- .selector.column[data-v-af4935bb]::before {
2916
+ .selector.column[data-v-0de9cbcc]::before {
2902
2917
  width: 16px;
2903
2918
  height: 2px;
2904
2919
  }
2905
2920
  @media (hover: none), (pointer: coarse) {
2906
- .selector[data-v-af4935bb]::before {
2921
+ .selector[data-v-0de9cbcc]::before {
2907
2922
  opacity: 0;
2908
2923
  }
2909
- .selector .glyph[data-v-af4935bb] {
2924
+ .selector .glyph[data-v-0de9cbcc] {
2910
2925
  opacity: 1;
2911
2926
  transform: none;
2912
2927
  }
2913
2928
  }
2914
- .cell-menu[data-v-af4935bb] {
2929
+ .cell-menu[data-v-0de9cbcc] {
2915
2930
  width: 24px;
2916
2931
  height: 24px;
2917
2932
  border-radius: var(--ui-radius-sm);
2918
2933
  background: color-mix(in srgb, var(--ui-surface-muted) 78%, transparent);
2919
2934
  }
2920
- .cell-menu[data-v-af4935bb] {
2935
+ .cell-menu[data-v-0de9cbcc] {
2921
2936
  --_ui-default-icon-size: 15px;
2922
2937
  --_ui-default-icon-stroke-width: 2;
2923
2938
  }
2924
- [data-component~="ui-editor-table-overlay"][hidden][data-v-af4935bb] {
2939
+ [data-component~="ui-editor-table-overlay"][hidden][data-v-0de9cbcc] {
2925
2940
  display: none;
2926
2941
  }
2927
2942
 
@@ -3478,7 +3493,7 @@ svg[data-v-03a5b772-s] {
3478
3493
  syntax: "*";
3479
3494
  inherits: false;
3480
3495
  }
3481
- [data-component~="ui-icon-button"][data-v-027d9fcb] {
3496
+ [data-component~="ui-icon-button"][data-v-006fa1b2] {
3482
3497
  /* Hooks do not inherit, so the parts below read them from the root. */
3483
3498
  --_ui-icon-button-icon-size: var(--ui-icon-button-icon-size);
3484
3499
  --_ui-icon-button-icon-stroke-width: var(--ui-icon-button-icon-stroke-width);
@@ -3486,10 +3501,10 @@ svg[data-v-03a5b772-s] {
3486
3501
  display: inline-flex;
3487
3502
  color: var(--ui-text-secondary);
3488
3503
  }
3489
- [data-component~="ui-icon-button"][data-ui-icon-button-state~="anticipatory"][data-v-027d9fcb] {
3504
+ [data-component~="ui-icon-button"][data-ui-icon-button-state~="anticipatory"][data-v-006fa1b2] {
3490
3505
  position: relative;
3491
3506
  }
3492
- [data-component~="ui-icon-button"][data-ui-icon-button-state~="anticipatory"][data-v-027d9fcb]::before {
3507
+ [data-component~="ui-icon-button"][data-ui-icon-button-state~="anticipatory"][data-v-006fa1b2]::before {
3493
3508
  content: "";
3494
3509
  position: absolute;
3495
3510
  inset: 50% auto auto 50%;
@@ -3498,7 +3513,7 @@ svg[data-v-03a5b772-s] {
3498
3513
  block-size: var(--ui-affordance-guide-size);
3499
3514
  border-radius: var(--ui-radius-round);
3500
3515
  background: var(--ui-affordance-guide-color, var(--ui-border-strong));
3501
- opacity: var(--ui-affordance-guide-opacity);
3516
+ opacity: calc(var(--ui-affordance-guide-opacity) * var(--ui-affordance-scope-guide, 1));
3502
3517
  transform: translate(-50%, -50%);
3503
3518
  transition: opacity var(--ui-affordance-motion, var(--ui-motion-fast)) var(--ui-motion-ease);
3504
3519
  pointer-events: none;
@@ -3508,17 +3523,17 @@ svg[data-v-03a5b772-s] {
3508
3523
  * surface and icon. The root is the native button, so hiding it outright would hide the dot
3509
3524
  * too, and slotted icons sit outside this scope; `color: transparent` hides currentColor icons. */
3510
3525
  @media (hover: hover) and (pointer: fine) {
3511
- [data-component~="ui-icon-button"][data-ui-icon-button-state~="anticipatory"][data-v-027d9fcb]:not([data-component~="ui-icon-button"][data-ui-icon-button-state~="variant=solid"], [data-ui-proximity="near"], :hover, :focus-visible) {
3526
+ [data-component~="ui-icon-button"][data-ui-icon-button-state~="anticipatory"][data-v-006fa1b2]:not([data-component~="ui-icon-button"][data-ui-icon-button-state~="variant=solid"], [data-ui-proximity="near"], :hover, :focus-visible) {
3512
3527
  border-color: transparent;
3513
3528
  background: transparent;
3514
3529
  box-shadow: none;
3515
3530
  color: transparent;
3516
3531
  }
3517
3532
  }
3518
- [data-component~="ui-icon-button"][data-ui-icon-button-state~="anticipatory"][data-v-027d9fcb]:is([data-component~="ui-icon-button"][data-ui-icon-button-state~="variant=solid"], [data-ui-proximity="near"], :hover, :focus-visible)::before {
3533
+ [data-component~="ui-icon-button"][data-ui-icon-button-state~="anticipatory"][data-v-006fa1b2]:is([data-component~="ui-icon-button"][data-ui-icon-button-state~="variant=solid"], [data-ui-proximity="near"], :hover, :focus-visible)::before {
3519
3534
  opacity: 0;
3520
3535
  }
3521
- [data-component~="ui-icon-button"][data-v-027d9fcb] {
3536
+ [data-component~="ui-icon-button"][data-v-006fa1b2] {
3522
3537
  /* The size prop resolves here; --ui-icon-button-size overrides it on an element. */
3523
3538
  --_size: 2rem;
3524
3539
  appearance: none;
@@ -3544,7 +3559,7 @@ svg[data-v-03a5b772-s] {
3544
3559
  transform var(--ui-motion-fast) var(--ui-motion-ease);
3545
3560
  }
3546
3561
  @media (hover: none), (pointer: coarse) {
3547
- [data-component~="ui-icon-button"][data-ui-icon-button-state~="anticipatory"][data-v-027d9fcb]::before {
3562
+ [data-component~="ui-icon-button"][data-ui-icon-button-state~="anticipatory"][data-v-006fa1b2]::before {
3548
3563
  opacity: 0;
3549
3564
  }
3550
3565
  }
@@ -3552,10 +3567,10 @@ svg[data-v-03a5b772-s] {
3552
3567
  /* A touch target without a bigger button: an invisible hit area, at least the control
3553
3568
  minimum, centred on the button (::before is the anticipatory guide). */
3554
3569
  @media (pointer: coarse) {
3555
- [data-component~="ui-icon-button"][data-v-027d9fcb] {
3570
+ [data-component~="ui-icon-button"][data-v-006fa1b2] {
3556
3571
  position: relative;
3557
3572
  }
3558
- [data-component~="ui-icon-button"][data-v-027d9fcb]::after {
3573
+ [data-component~="ui-icon-button"][data-v-006fa1b2]::after {
3559
3574
  content: "";
3560
3575
  position: absolute;
3561
3576
  inset: 50% auto auto 50%;
@@ -3564,10 +3579,10 @@ svg[data-v-03a5b772-s] {
3564
3579
  transform: translate(-50%, -50%);
3565
3580
  }
3566
3581
  }
3567
- html[data-ui-input-modality="touch"] [data-component~="ui-icon-button"][data-v-027d9fcb] {
3582
+ html[data-ui-input-modality="touch"] [data-component~="ui-icon-button"][data-v-006fa1b2] {
3568
3583
  position: relative;
3569
3584
  }
3570
- html[data-ui-input-modality="touch"] [data-component~="ui-icon-button"][data-v-027d9fcb]::after {
3585
+ html[data-ui-input-modality="touch"] [data-component~="ui-icon-button"][data-v-006fa1b2]::after {
3571
3586
  content: "";
3572
3587
  position: absolute;
3573
3588
  inset: 50% auto auto 50%;
@@ -3575,29 +3590,29 @@ html[data-ui-input-modality="touch"] [data-component~="ui-icon-button"][data-v-0
3575
3590
  block-size: max(100%, var(--ui-control-min-block-size));
3576
3591
  transform: translate(-50%, -50%);
3577
3592
  }
3578
- [data-component~="ui-icon-button"][data-ui-icon-button-state~="size=sm"][data-v-027d9fcb] {
3593
+ [data-component~="ui-icon-button"][data-ui-icon-button-state~="size=sm"][data-v-006fa1b2] {
3579
3594
  --_size: 1.75rem;
3580
3595
  inline-size: var(--ui-icon-button-size, var(--_size));
3581
3596
  block-size: var(--ui-icon-button-size, var(--_size));
3582
3597
  min-inline-size: var(--ui-icon-button-size, var(--_size));
3583
3598
  min-block-size: var(--ui-icon-button-size, var(--_size));
3584
3599
  }
3585
- [data-component~="ui-icon-button"][data-ui-icon-button-state~="size=lg"][data-v-027d9fcb] {
3600
+ [data-component~="ui-icon-button"][data-ui-icon-button-state~="size=lg"][data-v-006fa1b2] {
3586
3601
  --_size: 2.5rem;
3587
3602
  inline-size: var(--ui-icon-button-size, var(--_size));
3588
3603
  block-size: var(--ui-icon-button-size, var(--_size));
3589
3604
  min-inline-size: var(--ui-icon-button-size, var(--_size));
3590
3605
  min-block-size: var(--ui-icon-button-size, var(--_size));
3591
3606
  }
3592
- [data-component~="ui-icon-button"][data-ui-icon-button-state~="round"][data-v-027d9fcb] {
3607
+ [data-component~="ui-icon-button"][data-ui-icon-button-state~="round"][data-v-006fa1b2] {
3593
3608
  border-radius: var(--ui-radius-round);
3594
3609
  }
3595
- [data-component~="ui-icon-button"][data-ui-icon-button-state~="variant=outline"][data-v-027d9fcb] {
3610
+ [data-component~="ui-icon-button"][data-ui-icon-button-state~="variant=outline"][data-v-006fa1b2] {
3596
3611
  border-color: var(--ui-icon-button-border, var(--ui-border-default));
3597
3612
  background: var(--ui-icon-button-outline-surface, var(--ui-surface-default));
3598
3613
  color: var(--ui-icon-button-outline-text, var(--ui-text-primary));
3599
3614
  }
3600
- [data-component~="ui-icon-button"][data-ui-icon-button-state~="variant=solid"][data-v-027d9fcb] {
3615
+ [data-component~="ui-icon-button"][data-ui-icon-button-state~="variant=solid"][data-v-006fa1b2] {
3601
3616
  background: var(--ui-icon-button-solid-surface, var(--ui-accent-solid));
3602
3617
  color: var(--ui-icon-button-solid-text, var(--ui-text-on-accent));
3603
3618
  box-shadow: var(
@@ -3605,43 +3620,47 @@ html[data-ui-input-modality="touch"] [data-component~="ui-icon-button"][data-v-0
3605
3620
  0 1px 2px color-mix(in srgb, var(--ui-accent-solid) 18%, transparent)
3606
3621
  );
3607
3622
  }
3608
- [data-component~="ui-icon-button"][data-v-027d9fcb]:hover:enabled {
3623
+ [data-component~="ui-icon-button"][data-v-006fa1b2]:hover:enabled {
3609
3624
  /* Derived from the text colour so the ghost hover shows on any background. */
3610
3625
  background: var(--ui-icon-button-hover-surface, color-mix(in srgb, currentColor 8%, transparent));
3611
3626
  color: var(--ui-icon-button-hover-text, var(--ui-text-primary));
3612
3627
  }
3613
- [data-component~="ui-icon-button"][data-ui-icon-button-state~="variant=outline"][data-v-027d9fcb]:hover:enabled {
3628
+ [data-component~="ui-icon-button"][data-ui-icon-button-state~="variant=outline"][data-v-006fa1b2]:hover:enabled {
3614
3629
  border-color: var(--ui-icon-button-hover-border, var(--ui-border-strong));
3615
3630
  }
3616
- [data-component~="ui-icon-button"][data-ui-icon-button-state~="variant=solid"][data-v-027d9fcb]:hover:enabled {
3631
+ [data-component~="ui-icon-button"][data-ui-icon-button-state~="variant=solid"][data-v-006fa1b2]:hover:enabled {
3617
3632
  background: var(--ui-icon-button-solid-hover-surface, var(--ui-accent-hover));
3618
3633
  }
3619
- [data-component~="ui-icon-button"][data-v-027d9fcb]:active:enabled {
3634
+ [data-component~="ui-icon-button"][data-v-006fa1b2]:active:enabled {
3620
3635
  transform: scale(var(--ui-icon-button-active-scale, 0.96));
3621
3636
  }
3622
- [data-component~="ui-icon-button"][data-v-027d9fcb]:focus-visible {
3637
+ [data-component~="ui-icon-button"][data-v-006fa1b2]:focus-visible {
3623
3638
  outline: none;
3624
3639
  box-shadow: var(--ui-focus-halo);
3625
3640
  }
3626
3641
 
3627
3642
  /* Disabled colours fall back to each variant's own; ghost takes only the icon colour. */
3628
3643
  /* Disabled washes the button out the way Button does: the same shape, one filter. */
3629
- [data-component~="ui-icon-button"][data-v-027d9fcb]:disabled {
3644
+ [data-component~="ui-icon-button"][data-v-006fa1b2]:disabled {
3630
3645
  filter: var(--ui-icon-button-disabled-filter, var(--ui-disabled-filter));
3631
3646
  opacity: var(--ui-icon-button-disabled-opacity, 1);
3632
3647
  cursor: not-allowed;
3633
3648
  box-shadow: none;
3634
3649
  }
3635
- [data-component~="ui-icon-button"][data-v-027d9fcb] {
3650
+ [data-component~="ui-icon-button"][data-v-006fa1b2] {
3636
3651
  --_icon-button-icon-default: var(--ui-icon-size-md);
3652
+ /* A slotted ui-icon is its own component, out of reach of the svg rule below; these are its
3653
+ defaults, which its own --ui-icon-* hooks still override. */
3654
+ --_ui-default-icon-size: var(--_ui-icon-button-icon-size, var(--_icon-button-icon-default));
3655
+ --_ui-default-icon-stroke-width: var(--_ui-icon-button-icon-stroke-width, 1.75);
3637
3656
  }
3638
- [data-component~="ui-icon-button"][data-ui-icon-button-state~="size=sm"][data-v-027d9fcb] {
3657
+ [data-component~="ui-icon-button"][data-ui-icon-button-state~="size=sm"][data-v-006fa1b2] {
3639
3658
  --_icon-button-icon-default: var(--ui-icon-size-sm);
3640
3659
  }
3641
- [data-component~="ui-icon-button"][data-ui-icon-button-state~="size=lg"][data-v-027d9fcb] {
3660
+ [data-component~="ui-icon-button"][data-ui-icon-button-state~="size=lg"][data-v-006fa1b2] {
3642
3661
  --_icon-button-icon-default: var(--ui-icon-size-lg);
3643
3662
  }
3644
- svg[data-v-027d9fcb-s] {
3663
+ svg[data-v-006fa1b2-s] {
3645
3664
  inline-size: var(--_ui-icon-button-icon-size, var(--_icon-button-icon-default));
3646
3665
  block-size: var(--_ui-icon-button-icon-size, var(--_icon-button-icon-default));
3647
3666
  flex-shrink: 0;
@@ -3649,7 +3668,7 @@ svg[data-v-027d9fcb-s] {
3649
3668
  }
3650
3669
 
3651
3670
  /* A component that sets its display still honours the hidden attribute on its root. */
3652
- [data-component~="ui-icon-button"][hidden][data-v-027d9fcb] {
3671
+ [data-component~="ui-icon-button"][hidden][data-v-006fa1b2] {
3653
3672
  display: none;
3654
3673
  }
3655
3674
 
@@ -5270,7 +5289,7 @@ dialog[data-v-40145d41] {
5270
5289
  syntax: "*";
5271
5290
  inherits: false;
5272
5291
  }
5273
- [data-component~="ui-sidebar"][data-v-eff27033] {
5292
+ [data-component~="ui-sidebar"][data-v-6929aec9] {
5274
5293
  /* Hooks do not inherit, so the parts below read them from the root. */
5275
5294
  --_ui-sidebar-backdrop: var(--ui-sidebar-backdrop);
5276
5295
 
@@ -5285,14 +5304,14 @@ dialog[data-v-40145d41] {
5285
5304
  background: var(--ui-sidebar-surface, var(--ui-surface-default));
5286
5305
  border-inline-end: 1px solid var(--ui-sidebar-border, var(--ui-border-default));
5287
5306
  }
5288
- [data-component~="ui-sidebar"][data-ui-sidebar-state~="side=end"][data-v-eff27033] {
5307
+ [data-component~="ui-sidebar"][data-ui-sidebar-state~="side=end"][data-v-6929aec9] {
5289
5308
  border-inline-end: 0;
5290
5309
  border-inline-start: 1px solid var(--ui-sidebar-border, var(--ui-border-default));
5291
5310
  }
5292
5311
 
5293
5312
  /* The panel's content scrolls, and each edge that hides content fades: the scroll fade every
5294
5313
  Looma scroller uses (see ui-scroll-area). */
5295
- .content[data-v-eff27033] {
5314
+ .content[data-v-6929aec9] {
5296
5315
  flex: 1;
5297
5316
  min-block-size: 0;
5298
5317
  overflow: auto;
@@ -5319,10 +5338,10 @@ dialog[data-v-40145d41] {
5319
5338
  }
5320
5339
 
5321
5340
  /* Collapsed while docked. */
5322
- [data-component~="ui-sidebar"][data-ui-sidebar-state~="internalCollapsed"][data-v-eff27033]:not([popover]) {
5341
+ [data-component~="ui-sidebar"][data-ui-sidebar-state~="internalCollapsed"][data-v-6929aec9]:not([popover]) {
5323
5342
  display: none;
5324
5343
  }
5325
- .resizer[data-v-eff27033] {
5344
+ .resizer[data-v-6929aec9] {
5326
5345
  position: absolute;
5327
5346
  z-index: 1;
5328
5347
  inset-block: 0;
@@ -5335,15 +5354,15 @@ dialog[data-v-40145d41] {
5335
5354
  touch-action: none;
5336
5355
  outline: none;
5337
5356
  }
5338
- .resizer[hidden][data-v-eff27033] {
5357
+ .resizer[hidden][data-v-6929aec9] {
5339
5358
  display: none;
5340
5359
  }
5341
- [data-component~="ui-sidebar"][data-ui-sidebar-state~="side=end"] .resizer[data-v-eff27033] {
5360
+ [data-component~="ui-sidebar"][data-ui-sidebar-state~="side=end"] .resizer[data-v-6929aec9] {
5342
5361
  inset-inline-end: auto;
5343
5362
  inset-inline-start: 0;
5344
5363
  transform: translateX(-50%);
5345
5364
  }
5346
- .resizer[data-v-eff27033]::after {
5365
+ .resizer[data-v-6929aec9]::after {
5347
5366
  content: "";
5348
5367
  position: absolute;
5349
5368
  inset-block: 0;
@@ -5354,12 +5373,12 @@ dialog[data-v-40145d41] {
5354
5373
  var(--ui-affordance-guide-color, var(--ui-border-strong)) 45%,
5355
5374
  transparent
5356
5375
  );
5357
- opacity: var(--ui-affordance-guide-opacity);
5376
+ opacity: calc(var(--ui-affordance-guide-opacity) * var(--ui-affordance-scope-guide, 1));
5358
5377
  transition:
5359
5378
  background-color var(--ui-affordance-motion, var(--ui-motion-fast)) var(--ui-motion-ease),
5360
5379
  opacity var(--ui-affordance-motion, var(--ui-motion-fast)) var(--ui-motion-ease);
5361
5380
  }
5362
- .guide[data-v-eff27033] {
5381
+ .guide[data-v-6929aec9] {
5363
5382
  position: absolute;
5364
5383
  inset-block-start: 50%;
5365
5384
  inset-inline-start: 50%;
@@ -5373,16 +5392,16 @@ dialog[data-v-40145d41] {
5373
5392
  transition: opacity var(--ui-affordance-motion, var(--ui-motion-fast)) var(--ui-motion-ease);
5374
5393
  pointer-events: none;
5375
5394
  }
5376
- .resizer[data-v-eff27033]:is(:hover, :focus-visible)::after {
5395
+ .resizer[data-v-6929aec9]:is(:hover, :focus-visible)::after {
5377
5396
  background: var(--ui-affordance-direct-color, var(--ui-accent-solid, var(--ui-focus-ring)));
5378
5397
  opacity: 1;
5379
5398
  }
5380
- .resizer:is(:hover, :focus-visible) > .guide[data-v-eff27033] {
5399
+ .resizer:is(:hover, :focus-visible) > .guide[data-v-6929aec9] {
5381
5400
  opacity: 1;
5382
5401
  }
5383
5402
 
5384
5403
  /* Drawer: a popover in the top layer, sliding in from its edge. Closed popovers are hidden by the UA. */
5385
- [data-component~="ui-sidebar"][popover][data-v-eff27033] {
5404
+ [data-component~="ui-sidebar"][popover][data-v-6929aec9] {
5386
5405
  position: fixed;
5387
5406
  inset-block: 0;
5388
5407
  inset-inline-start: 0;
@@ -5402,36 +5421,36 @@ dialog[data-v-40145d41] {
5402
5421
  }
5403
5422
 
5404
5423
  /* The author display above would otherwise override the UA rule that hides a closed popover. */
5405
- [data-component~="ui-sidebar"][popover][data-v-eff27033]:not(:popover-open) {
5424
+ [data-component~="ui-sidebar"][popover][data-v-6929aec9]:not(:popover-open) {
5406
5425
  display: none;
5407
5426
  transform: translateX(-100%);
5408
5427
  }
5409
- [data-component~="ui-sidebar"][data-ui-sidebar-state~="side=end"][popover][data-v-eff27033] {
5428
+ [data-component~="ui-sidebar"][data-ui-sidebar-state~="side=end"][popover][data-v-6929aec9] {
5410
5429
  inset-inline-start: auto;
5411
5430
  inset-inline-end: 0;
5412
5431
  }
5413
- [data-component~="ui-sidebar"][data-ui-sidebar-state~="side=end"][popover][data-v-eff27033]:not(:popover-open) {
5432
+ [data-component~="ui-sidebar"][data-ui-sidebar-state~="side=end"][popover][data-v-6929aec9]:not(:popover-open) {
5414
5433
  transform: translateX(100%);
5415
5434
  }
5416
5435
  @starting-style {
5417
- [data-component~="ui-sidebar"][popover][data-v-eff27033]:popover-open {
5436
+ [data-component~="ui-sidebar"][popover][data-v-6929aec9]:popover-open {
5418
5437
  transform: translateX(-100%);
5419
5438
  }
5420
- [data-component~="ui-sidebar"][data-ui-sidebar-state~="side=end"][popover][data-v-eff27033]:popover-open {
5439
+ [data-component~="ui-sidebar"][data-ui-sidebar-state~="side=end"][popover][data-v-6929aec9]:popover-open {
5421
5440
  transform: translateX(100%);
5422
5441
  }
5423
5442
  }
5424
- [data-component~="ui-sidebar"][popover][data-v-eff27033]::backdrop {
5443
+ [data-component~="ui-sidebar"][popover][data-v-6929aec9]::backdrop {
5425
5444
  background: var(--_ui-sidebar-backdrop, rgb(0 0 0 / 0.32));
5426
5445
  }
5427
5446
  @media (prefers-reduced-motion: reduce) {
5428
- [data-component~="ui-sidebar"][popover][data-v-eff27033] {
5447
+ [data-component~="ui-sidebar"][popover][data-v-6929aec9] {
5429
5448
  transition: none;
5430
5449
  }
5431
5450
  }
5432
5451
 
5433
5452
  /* A component that sets its display still honours the hidden attribute on its root. */
5434
- [data-component~="ui-sidebar"][hidden][data-v-eff27033] {
5453
+ [data-component~="ui-sidebar"][hidden][data-v-6929aec9] {
5435
5454
  display: none;
5436
5455
  }
5437
5456