@threadlabs/looma 0.25.2 → 0.25.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@threadlabs/looma",
3
- "version": "0.25.2",
3
+ "version": "0.25.3",
4
4
  "type": "module",
5
5
  "description": "Looma components as HTML, Vue, and plain DOM, with design tokens.",
6
6
  "license": "MIT",
@@ -187,7 +187,7 @@
187
187
  transform: translateY(-20%) rotate(45deg);
188
188
  }
189
189
 
190
- :scope[aria-expanded="true"] .disclosure-icon {
190
+ :scope[aria-expanded="true"] > .row > .disclosure > .disclosure-icon {
191
191
  transform: rotate(0deg);
192
192
  }
193
193
 
@@ -878,7 +878,7 @@ function concat<T extends unknown[]>(...values: T): ConcatResult<T> {
878
878
  transform: translateY(-20%) rotate(45deg);
879
879
  }
880
880
 
881
- [data-component~="ui-tree-item"][aria-expanded="true"] .disclosure-icon {
881
+ [data-component~="ui-tree-item"][aria-expanded="true"] > .row > .disclosure > .disclosure-icon {
882
882
  transform: rotate(0deg);
883
883
  }
884
884
 
@@ -676,6 +676,6 @@ var UiTreeItem_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
676
676
  }]]);
677
677
  };
678
678
  }
679
- }), [["__scopeId", "data-v-4981f1b6"]]);
679
+ }), [["__scopeId", "data-v-f2ec0a81"]]);
680
680
  //#endregion
681
681
  export { UiTreeItem_default as t };
@@ -8816,7 +8816,7 @@ to {
8816
8816
  syntax: "*";
8817
8817
  inherits: false;
8818
8818
  }
8819
- [data-component~="ui-tree-item"][data-v-4981f1b6] {
8819
+ [data-component~="ui-tree-item"][data-v-f2ec0a81] {
8820
8820
  /* Hooks do not inherit, so the parts below read them from the root. The tree's density
8821
8821
  sets the defaults, in --_ui-default-*. */
8822
8822
  --_ui-tree-item-min-block-size: var(
@@ -8838,7 +8838,7 @@ to {
8838
8838
  min-inline-size: 0;
8839
8839
  margin-inline-start: calc(var(--_ui-tree-item-indent-step, 0) * var(--_ui-tree-indent, 16px));
8840
8840
  }
8841
- .row[data-v-4981f1b6] {
8841
+ .row[data-v-f2ec0a81] {
8842
8842
  position: relative;
8843
8843
  display: grid;
8844
8844
  grid-template-columns: var(--_tree-disclosure-size) auto minmax(0, 1fr);
@@ -8855,54 +8855,54 @@ to {
8855
8855
  box-shadow var(--ui-motion-fast) var(--ui-motion-ease),
8856
8856
  min-block-size var(--ui-motion-base) var(--ui-motion-ease);
8857
8857
  }
8858
- .row[data-v-4981f1b6]:hover,
8859
- .row[data-v-4981f1b6]:focus-within {
8858
+ .row[data-v-f2ec0a81]:hover,
8859
+ .row[data-v-f2ec0a81]:focus-within {
8860
8860
  color: var(--ui-text-primary);
8861
8861
  background: var(--ui-surface-muted);
8862
8862
  }
8863
8863
 
8864
8864
  /* 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] {
8865
+ [data-component~="ui-tree-item"][data-ui-tree-item-state~="selected"] > .row[data-v-f2ec0a81] {
8866
8866
  color: var(--ui-selection-text);
8867
8867
  background: var(--ui-selection-surface);
8868
8868
  }
8869
8869
  [data-component~="ui-tree-item"][data-ui-tree-item-state~="selected"]:not([aria-disabled="true"])
8870
8870
  > .row
8871
- > .leading[data-v-4981f1b6] {
8871
+ > .leading[data-v-f2ec0a81] {
8872
8872
  color: var(--ui-selection-text);
8873
8873
  }
8874
- [data-component~="ui-tree-item"][data-ui-tree-item-state~="disabled"] .row[data-v-4981f1b6] {
8874
+ [data-component~="ui-tree-item"][data-ui-tree-item-state~="disabled"] .row[data-v-f2ec0a81] {
8875
8875
  color: var(--ui-disabled-text);
8876
8876
  background: var(--ui-disabled-surface);
8877
8877
  }
8878
- [data-component~="ui-tree-item"][data-dragging]:not([data-move-source]) .row[data-v-4981f1b6] {
8878
+ [data-component~="ui-tree-item"][data-dragging]:not([data-move-source]) .row[data-v-f2ec0a81] {
8879
8879
  opacity: 0.42;
8880
8880
  }
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] {
8881
+ [data-component~="ui-tree-item"][data-move-source] > .row > .label[data-v-f2ec0a81],
8882
+ [data-component~="ui-tree-item"][data-move-source] > .row > .leading[data-v-f2ec0a81] {
8883
8883
  opacity: 0.42;
8884
8884
  }
8885
- [data-component~="ui-tree-item"][data-v-4981f1b6]:focus {
8885
+ [data-component~="ui-tree-item"][data-v-f2ec0a81]:focus {
8886
8886
  outline: none;
8887
8887
  }
8888
- [data-component~="ui-tree-item"]:focus-visible .row[data-v-4981f1b6] {
8888
+ [data-component~="ui-tree-item"]:focus-visible .row[data-v-f2ec0a81] {
8889
8889
  box-shadow: 0 0 0 var(--ui-focus-width) var(--ui-focus-ring);
8890
8890
  }
8891
8891
 
8892
8892
  /* 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] {
8893
+ [data-component~="ui-tree-item"][data-drop-position="inside"] > .row[data-v-f2ec0a81] {
8894
8894
  background: var(--ui-accent-subtle);
8895
8895
  box-shadow: inset 0 0 0 var(--ui-accent-line-width)
8896
8896
  var(--_ui-tree-drop-color, var(--ui-accent-solid));
8897
8897
  }
8898
- .disclosure[data-v-4981f1b6],
8899
- .disclosure-spacer[data-v-4981f1b6] {
8898
+ .disclosure[data-v-f2ec0a81],
8899
+ .disclosure-spacer[data-v-f2ec0a81] {
8900
8900
  grid-column: 1;
8901
8901
  grid-row: 1;
8902
8902
  inline-size: var(--_tree-disclosure-size);
8903
8903
  block-size: 28px;
8904
8904
  }
8905
- .disclosure[data-v-4981f1b6] {
8905
+ .disclosure[data-v-f2ec0a81] {
8906
8906
  display: grid;
8907
8907
  /* Start-aligned: the chevron's ink, not its hit area, aligns with the content above it. */
8908
8908
  place-items: center start;
@@ -8913,10 +8913,10 @@ to {
8913
8913
  border-radius: var(--ui-radius-sm);
8914
8914
  cursor: pointer;
8915
8915
  }
8916
- .disclosure[hidden][data-v-4981f1b6] {
8916
+ .disclosure[hidden][data-v-f2ec0a81] {
8917
8917
  display: none;
8918
8918
  }
8919
- .selection-hit[data-v-4981f1b6] {
8919
+ .selection-hit[data-v-f2ec0a81] {
8920
8920
  display: none;
8921
8921
  grid-column: 2;
8922
8922
  grid-row: 1;
@@ -8925,29 +8925,29 @@ to {
8925
8925
  block-size: var(--_ui-tree-item-min-block-size, var(--_tree-row-min-height));
8926
8926
  cursor: pointer;
8927
8927
  }
8928
- .selection-checkbox[data-v-4981f1b6] {
8928
+ .selection-checkbox[data-v-f2ec0a81] {
8929
8929
  inline-size: 1rem;
8930
8930
  block-size: 1rem;
8931
8931
  margin: 0;
8932
8932
  accent-color: var(--ui-accent-solid);
8933
8933
  }
8934
- [data-component~="ui-tree-item"][data-selection-mode="multiple"] > .row[data-v-4981f1b6] {
8934
+ [data-component~="ui-tree-item"][data-selection-mode="multiple"] > .row[data-v-f2ec0a81] {
8935
8935
  grid-template-columns: var(--_tree-disclosure-size) 1.25rem auto minmax(0, 1fr);
8936
8936
  }
8937
- [data-component~="ui-tree-item"][data-selection-mode="multiple"] > .row > .selection-hit[data-v-4981f1b6] {
8937
+ [data-component~="ui-tree-item"][data-selection-mode="multiple"] > .row > .selection-hit[data-v-f2ec0a81] {
8938
8938
  display: grid;
8939
8939
  }
8940
- [data-component~="ui-tree-item"][data-selection-mode="multiple"] > .row > .leading[data-v-4981f1b6] {
8940
+ [data-component~="ui-tree-item"][data-selection-mode="multiple"] > .row > .leading[data-v-f2ec0a81] {
8941
8941
  grid-column: 3;
8942
8942
  }
8943
- [data-component~="ui-tree-item"][data-selection-mode="multiple"] > .row > .label[data-v-4981f1b6] {
8943
+ [data-component~="ui-tree-item"][data-selection-mode="multiple"] > .row > .label[data-v-f2ec0a81] {
8944
8944
  grid-column: 4;
8945
8945
  }
8946
- .disclosure[data-v-4981f1b6]:hover {
8946
+ .disclosure[data-v-f2ec0a81]:hover {
8947
8947
  color: var(--ui-text-primary);
8948
8948
  background: var(--ui-surface-elevated);
8949
8949
  }
8950
- .disclosure-icon[data-v-4981f1b6] {
8950
+ .disclosure-icon[data-v-f2ec0a81] {
8951
8951
  display: grid;
8952
8952
  place-items: center;
8953
8953
  inline-size: 12px;
@@ -8955,7 +8955,7 @@ to {
8955
8955
  transform: rotate(-90deg);
8956
8956
  transition: transform var(--ui-motion-fast) var(--ui-motion-ease);
8957
8957
  }
8958
- .disclosure-icon[data-v-4981f1b6]::before {
8958
+ .disclosure-icon[data-v-f2ec0a81]::before {
8959
8959
  display: block;
8960
8960
  inline-size: 0.375rem;
8961
8961
  block-size: 0.375rem;
@@ -8965,19 +8965,19 @@ to {
8965
8965
  /* A chevron's ink sits below its box centre; lift it so it centres optically (in either rotation). */
8966
8966
  transform: translateY(-20%) rotate(45deg);
8967
8967
  }
8968
- [data-component~="ui-tree-item"][aria-expanded="true"] .disclosure-icon[data-v-4981f1b6] {
8968
+ [data-component~="ui-tree-item"][aria-expanded="true"] > .row > .disclosure > .disclosure-icon[data-v-f2ec0a81] {
8969
8969
  transform: rotate(0deg);
8970
8970
  }
8971
8971
 
8972
8972
  /* Lucide grip-vertical, filling the handle as in Looma 0.2. */
8973
- .drag-handle svg[data-v-4981f1b6] {
8973
+ .drag-handle svg[data-v-f2ec0a81] {
8974
8974
  display: block;
8975
8975
  inline-size: 100%;
8976
8976
  block-size: 100%;
8977
8977
  }
8978
8978
 
8979
8979
  /* Slotted content is outside this scope, so :has() cannot see it; hide only a truly empty slot. */
8980
- .leading[data-v-4981f1b6] {
8980
+ .leading[data-v-f2ec0a81] {
8981
8981
  display: inline-grid;
8982
8982
  place-items: center;
8983
8983
  grid-column: 2;
@@ -8990,12 +8990,12 @@ to {
8990
8990
  position: relative;
8991
8991
  z-index: 1;
8992
8992
  }
8993
- .leading[data-v-4981f1b6]:empty {
8993
+ .leading[data-v-f2ec0a81]:empty {
8994
8994
  display: none;
8995
8995
  }
8996
8996
 
8997
8997
  /* 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] {
8998
+ svg[data-v-f2ec0a81-s],img[data-v-f2ec0a81-s] {
8999
8999
  display: block;
9000
9000
  inline-size: 1em;
9001
9001
  block-size: 1em;
@@ -9004,7 +9004,7 @@ svg[data-v-4981f1b6-s],img[data-v-4981f1b6-s] {
9004
9004
 
9005
9005
  /* The label spans the row's height and centres its content, so slotted content (a link) can
9006
9006
  stretch to fill the row as its own hit area; the padding tokens remove the inset. */
9007
- .label[data-v-4981f1b6] {
9007
+ .label[data-v-f2ec0a81] {
9008
9008
  grid-column: 3;
9009
9009
  grid-row: 1;
9010
9010
  align-self: stretch;
@@ -9022,7 +9022,7 @@ svg[data-v-4981f1b6-s],img[data-v-4981f1b6-s] {
9022
9022
 
9023
9023
  /* Slotted label content fills the cell, so a link is the row's hit area rather than sizing to
9024
9024
  its own text and reading as overflow. */
9025
- .label-text[data-v-4981f1b6] {
9025
+ .label-text[data-v-f2ec0a81] {
9026
9026
  display: flex;
9027
9027
  align-items: center;
9028
9028
  /* Stretches, so slotted content can still be the row's full-height hit area. */
@@ -9032,16 +9032,16 @@ svg[data-v-4981f1b6-s],img[data-v-4981f1b6-s] {
9032
9032
  inline-size: 100%;
9033
9033
  white-space: nowrap;
9034
9034
  }
9035
- .label-text > [data-v-4981f1b6-s] {
9035
+ .label-text > [data-v-f2ec0a81-s] {
9036
9036
  flex: 1 1 auto;
9037
9037
  min-inline-size: 0;
9038
9038
  }
9039
9039
 
9040
9040
  /* The controls sit over the label's end, so the text fades out where they begin. The fade is
9041
9041
  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] {
9042
+ .row:hover > .label[data-v-f2ec0a81],
9043
+ .row:focus-within > .label[data-v-f2ec0a81],
9044
+ [data-component~="ui-tree-item"][data-move-source] > .row > .label[data-v-f2ec0a81] {
9045
9045
  text-overflow: clip;
9046
9046
  mask-image: linear-gradient(
9047
9047
  to right,
@@ -9049,9 +9049,9 @@ svg[data-v-4981f1b6-s],img[data-v-4981f1b6-s] {
9049
9049
  transparent calc(100% - var(--_tree-actions-width, 1.75rem))
9050
9050
  );
9051
9051
  }
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) {
9052
+ .row:hover > .label[data-v-f2ec0a81]:dir(rtl),
9053
+ .row:focus-within > .label[data-v-f2ec0a81]:dir(rtl),
9054
+ [data-component~="ui-tree-item"][data-move-source] > .row > .label[data-v-f2ec0a81]:dir(rtl) {
9055
9055
  mask-image: linear-gradient(
9056
9056
  to left,
9057
9057
  #000 calc(100% - var(--_tree-actions-width, 1.75rem) - var(--ui-space-1)),
@@ -9063,10 +9063,10 @@ svg[data-v-4981f1b6-s],img[data-v-4981f1b6-s] {
9063
9063
  there, and starts again. Only when it actually overflows — the controller measures by how
9064
9064
  much — after the controls have taken their place over its end — and hands over the distance
9065
9065
  and a duration from it, so every name moves at the same speed. */
9066
- .row[data-ui-marquee] > .label > .label-text[data-v-4981f1b6] {
9066
+ .row[data-ui-marquee] > .label > .label-text[data-v-f2ec0a81] {
9067
9067
  /* Once per pass: the controller restarts it after a rest at the end, so the name holds still
9068
9068
  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;
9069
+ animation: ui-tree-item-marquee-f2ec0a81 var(--_marquee-duration) linear 0.5s 1 normal forwards;
9070
9070
  will-change: transform;
9071
9071
  }
9072
9072
 
@@ -9074,7 +9074,7 @@ svg[data-v-4981f1b6-s],img[data-v-4981f1b6-s] {
9074
9074
  slides, the label reaches back under the icon (the controller measures how far) with its text
9075
9075
  where it was, and fades out across the gap before the icon, fully gone where the icon begins
9076
9076
  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] {
9077
+ .row[data-ui-marquee] > .label[data-v-f2ec0a81] {
9078
9078
  margin-inline-start: calc(-1 * var(--_marquee-lead, 0px));
9079
9079
  padding-inline-start: calc(
9080
9080
  var(--_marquee-lead, 0px) + var(--_ui-tree-item-label-padding-inline, var(--ui-space-2))
@@ -9089,7 +9089,7 @@ svg[data-v-4981f1b6-s],img[data-v-4981f1b6-s] {
9089
9089
  transparent calc(100% - var(--_tree-actions-width, 1.75rem))
9090
9090
  );
9091
9091
  }
9092
- .row[data-ui-marquee] > .label[data-v-4981f1b6]:dir(rtl) {
9092
+ .row[data-ui-marquee] > .label[data-v-f2ec0a81]:dir(rtl) {
9093
9093
  mask-image: linear-gradient(
9094
9094
  to left,
9095
9095
  transparent var(--_marquee-icon-width, 0px),
@@ -9100,7 +9100,7 @@ svg[data-v-4981f1b6-s],img[data-v-4981f1b6-s] {
9100
9100
  transparent calc(100% - var(--_tree-actions-width, 1.75rem))
9101
9101
  );
9102
9102
  }
9103
- @keyframes ui-tree-item-marquee-4981f1b6 {
9103
+ @keyframes ui-tree-item-marquee-f2ec0a81 {
9104
9104
  from {
9105
9105
  transform: translateX(0);
9106
9106
  }
@@ -9111,15 +9111,15 @@ to {
9111
9111
 
9112
9112
  /* Reduced motion keeps the fade, which already says the name continues. */
9113
9113
  @media (prefers-reduced-motion: reduce) {
9114
- .row[data-ui-marquee] > .label > .label-text[data-v-4981f1b6] {
9114
+ .row[data-ui-marquee] > .label > .label-text[data-v-f2ec0a81] {
9115
9115
  animation: none;
9116
9116
  }
9117
9117
  }
9118
- .row:hover > .label > [data-v-4981f1b6-s],
9119
- .row:focus-within > .label > [data-v-4981f1b6-s] {
9118
+ .row:hover > .label > [data-v-f2ec0a81-s],
9119
+ .row:focus-within > .label > [data-v-f2ec0a81-s] {
9120
9120
  text-overflow: clip;
9121
9121
  }
9122
- .actions[data-v-4981f1b6] {
9122
+ .actions[data-v-f2ec0a81] {
9123
9123
  position: absolute;
9124
9124
  z-index: 1;
9125
9125
  inset-block: 0;
@@ -9131,19 +9131,19 @@ to {
9131
9131
  pointer-events: none;
9132
9132
  transition: opacity var(--ui-motion-fast) var(--ui-motion-ease);
9133
9133
  }
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] {
9134
+ .row:hover > .actions[data-v-f2ec0a81],
9135
+ .row:focus-within > .actions[data-v-f2ec0a81],
9136
+ [data-component~="ui-tree-item"][data-move-source] > .row > .actions[data-v-f2ec0a81] {
9137
9137
  opacity: 1;
9138
9138
  pointer-events: auto;
9139
9139
  }
9140
9140
 
9141
9141
  /* Without hover there is no reveal, so the controls keep their own column. */
9142
9142
  @media (hover: none), (pointer: coarse) {
9143
- .row[data-v-4981f1b6] {
9143
+ .row[data-v-f2ec0a81] {
9144
9144
  grid-template-columns: var(--_tree-disclosure-size) auto minmax(0, 1fr) auto;
9145
9145
  }
9146
- .actions[data-v-4981f1b6] {
9146
+ .actions[data-v-f2ec0a81] {
9147
9147
  position: static;
9148
9148
  grid-column: 4;
9149
9149
  grid-row: 1;
@@ -9152,13 +9152,13 @@ to {
9152
9152
  opacity: 1;
9153
9153
  pointer-events: auto;
9154
9154
  }
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) {
9155
+ .row:is(:hover, :focus-within) > .label[data-v-f2ec0a81],
9156
+ .row:is(:hover, :focus-within) > .label[data-v-f2ec0a81]:dir(rtl),
9157
+ [data-component~="ui-tree-item"][data-move-source] > .row > .label[data-v-f2ec0a81],
9158
+ [data-component~="ui-tree-item"][data-move-source] > .row > .label[data-v-f2ec0a81]:dir(rtl) {
9159
9159
  mask-image: none;
9160
9160
  }
9161
- .row[data-ui-marquee] > .label[data-v-4981f1b6] {
9161
+ .row[data-ui-marquee] > .label[data-v-f2ec0a81] {
9162
9162
  mask-image: linear-gradient(
9163
9163
  to right,
9164
9164
  transparent var(--_marquee-icon-width, 0px),
@@ -9167,7 +9167,7 @@ to {
9167
9167
  )
9168
9168
  );
9169
9169
  }
9170
- .row[data-ui-marquee] > .label[data-v-4981f1b6]:dir(rtl) {
9170
+ .row[data-ui-marquee] > .label[data-v-f2ec0a81]:dir(rtl) {
9171
9171
  mask-image: linear-gradient(
9172
9172
  to left,
9173
9173
  transparent var(--_marquee-icon-width, 0px),
@@ -9176,10 +9176,10 @@ to {
9176
9176
  )
9177
9177
  );
9178
9178
  }
9179
- [data-component~="ui-tree-item"][data-selection-mode="multiple"] > .row[data-v-4981f1b6] {
9179
+ [data-component~="ui-tree-item"][data-selection-mode="multiple"] > .row[data-v-f2ec0a81] {
9180
9180
  grid-template-columns: var(--_tree-disclosure-size) 1.25rem auto minmax(0, 1fr) auto;
9181
9181
  }
9182
- [data-component~="ui-tree-item"][data-selection-mode="multiple"] > .row > .actions[data-v-4981f1b6] {
9182
+ [data-component~="ui-tree-item"][data-selection-mode="multiple"] > .row > .actions[data-v-f2ec0a81] {
9183
9183
  grid-column: 5;
9184
9184
  }
9185
9185
  }
@@ -9188,7 +9188,7 @@ to {
9188
9188
  empty column, right before the icon; a branch's disclosure is there, so its handle sits just
9189
9189
  outside the row. It is bare until pointed at: a resting surface behind it read as a faint
9190
9190
  patch rather than as a control. */
9191
- .drag-handle[data-v-4981f1b6] {
9191
+ .drag-handle[data-v-f2ec0a81] {
9192
9192
  position: absolute;
9193
9193
  z-index: 2;
9194
9194
  inset-block-start: 50%;
@@ -9209,24 +9209,24 @@ to {
9209
9209
  transform: translateY(-50%);
9210
9210
  transition: opacity var(--ui-motion-fast) var(--ui-motion-ease);
9211
9211
  }
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] {
9212
+ .row:hover .drag-handle[data-v-f2ec0a81],
9213
+ .drag-handle[data-v-f2ec0a81]:hover,
9214
+ .drag-handle[data-v-f2ec0a81]:focus-visible,
9215
+ [data-component~="ui-tree-item"][data-dragging] > .row > .drag-handle[data-v-f2ec0a81] {
9216
9216
  opacity: 1;
9217
9217
  }
9218
- [data-component~="ui-tree-item"][data-ui-tree-item-state~="isContainer"] > .row > .drag-handle[data-v-4981f1b6] {
9218
+ [data-component~="ui-tree-item"][data-ui-tree-item-state~="isContainer"] > .row > .drag-handle[data-v-f2ec0a81] {
9219
9219
  inset-inline-start: calc(-1 * var(--_tree-disclosure-size) - 2px);
9220
9220
  }
9221
- .drag-handle[data-v-4981f1b6]:hover,
9222
- .drag-handle[data-v-4981f1b6]:focus-visible {
9221
+ .drag-handle[data-v-f2ec0a81]:hover,
9222
+ .drag-handle[data-v-f2ec0a81]:focus-visible {
9223
9223
  color: var(--ui-text-primary);
9224
9224
  background: var(--ui-surface-hover);
9225
9225
  }
9226
- .drag-handle[data-v-4981f1b6]:active {
9226
+ .drag-handle[data-v-f2ec0a81]:active {
9227
9227
  cursor: grabbing;
9228
9228
  }
9229
- .drop-indicator[data-v-4981f1b6] {
9229
+ .drop-indicator[data-v-f2ec0a81] {
9230
9230
  position: absolute;
9231
9231
  z-index: 3;
9232
9232
  inset-inline: 1px;
@@ -9236,8 +9236,8 @@ to {
9236
9236
  background: var(--_ui-tree-drop-color, var(--ui-accent-solid));
9237
9237
  pointer-events: none;
9238
9238
  }
9239
- .drop-indicator[data-v-4981f1b6]::before,
9240
- .drop-indicator[data-v-4981f1b6]::after {
9239
+ .drop-indicator[data-v-f2ec0a81]::before,
9240
+ .drop-indicator[data-v-f2ec0a81]::after {
9241
9241
  content: "";
9242
9242
  position: absolute;
9243
9243
  inset-block-start: 50%;
@@ -9248,34 +9248,34 @@ to {
9248
9248
  background: var(--ui-surface-elevated);
9249
9249
  transform: translateY(-50%);
9250
9250
  }
9251
- .drop-indicator[data-v-4981f1b6]::before {
9251
+ .drop-indicator[data-v-f2ec0a81]::before {
9252
9252
  inset-inline-start: -1px;
9253
9253
  }
9254
- .drop-indicator[data-v-4981f1b6]::after {
9254
+ .drop-indicator[data-v-f2ec0a81]::after {
9255
9255
  inset-inline-end: -1px;
9256
9256
  }
9257
- [data-component~="ui-tree-item"][data-drop-position="before"] > .row > .row-drop-indicator[data-v-4981f1b6] {
9257
+ [data-component~="ui-tree-item"][data-drop-position="before"] > .row > .row-drop-indicator[data-v-f2ec0a81] {
9258
9258
  display: block;
9259
9259
  inset-block-start: calc(-0.5 * var(--ui-accent-line-width));
9260
9260
  }
9261
- [data-component~="ui-tree-item"][data-drop-position="after"] > .subtree-drop-indicator[data-v-4981f1b6] {
9261
+ [data-component~="ui-tree-item"][data-drop-position="after"] > .subtree-drop-indicator[data-v-f2ec0a81] {
9262
9262
  display: block;
9263
9263
  inset-block-end: calc(-0.5 * var(--ui-accent-line-width));
9264
9264
  }
9265
- .children[hidden][data-v-4981f1b6] {
9265
+ .children[hidden][data-v-f2ec0a81] {
9266
9266
  display: none;
9267
9267
  }
9268
- html[data-ui-input-modality="touch"] [data-component~="ui-tree-item"][data-v-4981f1b6] {
9268
+ html[data-ui-input-modality="touch"] [data-component~="ui-tree-item"][data-v-f2ec0a81] {
9269
9269
  --_tree-row-min-height: 44px;
9270
9270
  }
9271
- html[data-ui-input-modality="touch"] [data-component~="ui-tree-item"] .row[data-v-4981f1b6] {
9271
+ html[data-ui-input-modality="touch"] [data-component~="ui-tree-item"] .row[data-v-f2ec0a81] {
9272
9272
  grid-template-columns: 44px var(--_tree-disclosure-size) auto minmax(0, 1fr);
9273
9273
  }
9274
- html[data-ui-input-modality="touch"] [data-component~="ui-tree-item"] .drag-handle[data-v-4981f1b6],
9274
+ html[data-ui-input-modality="touch"] [data-component~="ui-tree-item"] .drag-handle[data-v-f2ec0a81],
9275
9275
  html[data-ui-input-modality="touch"]
9276
9276
  [data-component~="ui-tree-item"][data-ui-tree-item-state~="isContainer"]
9277
9277
  > .row
9278
- > .drag-handle[data-v-4981f1b6] {
9278
+ > .drag-handle[data-v-f2ec0a81] {
9279
9279
  position: relative;
9280
9280
  grid-column: 1;
9281
9281
  grid-row: 1;
@@ -9287,24 +9287,24 @@ html[data-ui-input-modality="touch"]
9287
9287
  transform: none;
9288
9288
  cursor: pointer;
9289
9289
  }
9290
- html[data-ui-input-modality="touch"] [data-component~="ui-tree-item"] .disclosure[data-v-4981f1b6] {
9290
+ html[data-ui-input-modality="touch"] [data-component~="ui-tree-item"] .disclosure[data-v-f2ec0a81] {
9291
9291
  grid-column: 2;
9292
9292
  }
9293
- html[data-ui-input-modality="touch"] [data-component~="ui-tree-item"] .leading[data-v-4981f1b6] {
9293
+ html[data-ui-input-modality="touch"] [data-component~="ui-tree-item"] .leading[data-v-f2ec0a81] {
9294
9294
  grid-column: 3;
9295
9295
  }
9296
- html[data-ui-input-modality="touch"] [data-component~="ui-tree-item"] .label[data-v-4981f1b6] {
9296
+ html[data-ui-input-modality="touch"] [data-component~="ui-tree-item"] .label[data-v-f2ec0a81] {
9297
9297
  grid-column: 4;
9298
9298
  }
9299
9299
  html[data-ui-input-modality="touch"]
9300
9300
  [data-component~="ui-tree-item"][data-selection-mode="multiple"]
9301
- > .row[data-v-4981f1b6] {
9301
+ > .row[data-v-f2ec0a81] {
9302
9302
  grid-template-columns: 44px var(--_tree-disclosure-size) 44px auto minmax(0, 1fr);
9303
9303
  }
9304
9304
  html[data-ui-input-modality="touch"]
9305
9305
  [data-component~="ui-tree-item"][data-selection-mode="multiple"]
9306
9306
  > .row
9307
- > .selection-hit[data-v-4981f1b6] {
9307
+ > .selection-hit[data-v-f2ec0a81] {
9308
9308
  grid-column: 3;
9309
9309
  inline-size: 44px;
9310
9310
  block-size: 44px;
@@ -9312,55 +9312,55 @@ html[data-ui-input-modality="touch"]
9312
9312
  html[data-ui-input-modality="touch"]
9313
9313
  [data-component~="ui-tree-item"][data-selection-mode="multiple"]
9314
9314
  > .row
9315
- > .leading[data-v-4981f1b6] {
9315
+ > .leading[data-v-f2ec0a81] {
9316
9316
  grid-column: 4;
9317
9317
  }
9318
9318
  html[data-ui-input-modality="touch"]
9319
9319
  [data-component~="ui-tree-item"][data-selection-mode="multiple"]
9320
9320
  > .row
9321
- > .label[data-v-4981f1b6] {
9321
+ > .label[data-v-f2ec0a81] {
9322
9322
  grid-column: 5;
9323
9323
  }
9324
9324
  @media (hover: none), (pointer: coarse) {
9325
- html[data-ui-input-modality="touch"] [data-component~="ui-tree-item"] .row[data-v-4981f1b6] {
9325
+ html[data-ui-input-modality="touch"] [data-component~="ui-tree-item"] .row[data-v-f2ec0a81] {
9326
9326
  grid-template-columns: 44px var(--_tree-disclosure-size) auto minmax(0, 1fr) auto;
9327
9327
  }
9328
- html[data-ui-input-modality="touch"] [data-component~="ui-tree-item"] .actions[data-v-4981f1b6] {
9328
+ html[data-ui-input-modality="touch"] [data-component~="ui-tree-item"] .actions[data-v-f2ec0a81] {
9329
9329
  grid-column: 5;
9330
9330
  }
9331
9331
  html[data-ui-input-modality="touch"]
9332
9332
  [data-component~="ui-tree-item"][data-selection-mode="multiple"]
9333
- > .row[data-v-4981f1b6] {
9333
+ > .row[data-v-f2ec0a81] {
9334
9334
  grid-template-columns: 44px var(--_tree-disclosure-size) 44px auto minmax(0, 1fr) auto;
9335
9335
  }
9336
9336
  html[data-ui-input-modality="touch"]
9337
9337
  [data-component~="ui-tree-item"][data-selection-mode="multiple"]
9338
9338
  > .row
9339
- > .actions[data-v-4981f1b6] {
9339
+ > .actions[data-v-f2ec0a81] {
9340
9340
  grid-column: 6;
9341
9341
  }
9342
9342
  }
9343
9343
  @media (prefers-reduced-motion: reduce) {
9344
- .row[data-v-4981f1b6],
9345
- .disclosure-icon[data-v-4981f1b6],
9346
- .drag-handle[data-v-4981f1b6] {
9344
+ .row[data-v-f2ec0a81],
9345
+ .disclosure-icon[data-v-f2ec0a81],
9346
+ .drag-handle[data-v-f2ec0a81] {
9347
9347
  transition: none;
9348
9348
  }
9349
9349
  }
9350
9350
  @media (forced-colors: active) {
9351
- [data-component~="ui-tree-item"]:focus-visible > .row[data-v-4981f1b6] {
9351
+ [data-component~="ui-tree-item"]:focus-visible > .row[data-v-f2ec0a81] {
9352
9352
  outline: var(--ui-focus-width) solid Highlight;
9353
9353
  outline-offset: calc(-1 * var(--ui-focus-width));
9354
9354
  }
9355
9355
  [data-component~="ui-tree-item"][data-ui-tree-item-state~="selected"]:not(:focus-visible):not([aria-disabled="true"])
9356
- > .row[data-v-4981f1b6] {
9356
+ > .row[data-v-f2ec0a81] {
9357
9357
  outline: var(--ui-border-width) solid Highlight;
9358
9358
  outline-offset: calc(-1 * var(--ui-border-width));
9359
9359
  }
9360
9360
  }
9361
9361
 
9362
9362
  /* A component that sets its display still honours the hidden attribute on its root. */
9363
- [data-component~="ui-tree-item"][hidden][data-v-4981f1b6] {
9363
+ [data-component~="ui-tree-item"][hidden][data-v-f2ec0a81] {
9364
9364
  display: none;
9365
9365
  }
9366
9366
  /**