@threadlabs/looma 0.25.1 → 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.
@@ -5202,7 +5202,7 @@ svg[data-v-521a280a-s] {
5202
5202
  whole value is. The action slot takes one button at the end, inside the border, for the one
5203
5203
  thing the field is for ("Continue" after a site's address), so it reads as the field's action
5204
5204
  and not the form's. */
5205
- [data-component~="ui-input-group"][data-v-875c0c72] {
5205
+ [data-component~="ui-input-group"][data-v-57e02424] {
5206
5206
  /* The group's own border and height stand for the input's, so the group is a lone Input's height.
5207
5207
  Hooks do not inherit, so these are defaults for the input; its own hooks still win. */
5208
5208
  --_ui-default-input-border-width: 0;
@@ -5249,36 +5249,36 @@ svg[data-v-521a280a-s] {
5249
5249
  }
5250
5250
 
5251
5251
  /* The frame takes its input's size, so a small group lines up with small buttons and fields. */
5252
- [data-component~="ui-input-group"][data-v-875c0c72]:has(.field [data-ui-input-state~="size=sm"]) {
5252
+ [data-component~="ui-input-group"][data-v-57e02424]:has(.field [data-ui-input-state~="size=sm"]) {
5253
5253
  min-block-size: var(--ui-control-size-sm);
5254
5254
  }
5255
- [data-component~="ui-input-group"][data-v-875c0c72]:has(.field [data-ui-input-state~="size=lg"]) {
5255
+ [data-component~="ui-input-group"][data-v-57e02424]:has(.field [data-ui-input-state~="size=lg"]) {
5256
5256
  min-block-size: var(--ui-control-size-lg);
5257
5257
  }
5258
5258
  @media (pointer: coarse) {
5259
- [data-component~="ui-input-group"][data-v-875c0c72]:has(.field [data-ui-input-state~="size=sm"]) {
5259
+ [data-component~="ui-input-group"][data-v-57e02424]:has(.field [data-ui-input-state~="size=sm"]) {
5260
5260
  min-block-size: var(--ui-control-min-block-size);
5261
5261
  }
5262
5262
  }
5263
- [data-component~="ui-input-group"][data-v-875c0c72]:hover:not(:has(:is(input, textarea):focus, :is(input, textarea):disabled, :is(input, textarea):read-only, [aria-invalid="true"], :is(:user-invalid, [data-user-invalid]))) {
5263
+ [data-component~="ui-input-group"][data-v-57e02424]:hover:not(:has(:is(input, textarea):focus, :is(input, textarea):disabled, :is(input, textarea):read-only, [aria-invalid="true"], :is(:user-invalid, [data-user-invalid]))) {
5264
5264
  border-color: var(--ui-control-border-hover, var(--ui-text-secondary));
5265
5265
  }
5266
5266
 
5267
5267
  /* The ring shows when the field's input would show its own: when it is focus-visible, which a
5268
5268
  text input is for a pointer as well as a keyboard. A focused action button draws its own. */
5269
- [data-component~="ui-input-group"][data-v-875c0c72]:has(.field :is(input, textarea):focus-visible) {
5269
+ [data-component~="ui-input-group"][data-v-57e02424]:has(.field :is(input, textarea):focus-visible) {
5270
5270
  border-color: var(--ui-control-focus, var(--ui-accent-solid));
5271
5271
  box-shadow:
5272
5272
  var(--ui-control-inset),
5273
5273
  var(--ui-control-focus-halo-shadow);
5274
5274
  }
5275
- [data-component~="ui-input-group"][data-v-875c0c72]:has([aria-invalid="true"], :is(:user-invalid, [data-user-invalid])) {
5275
+ [data-component~="ui-input-group"][data-v-57e02424]:has([aria-invalid="true"], :is(:user-invalid, [data-user-invalid])) {
5276
5276
  border-color: var(
5277
5277
  --ui-input-group-invalid-border,
5278
5278
  var(--ui-field-danger, var(--ui-danger-solid))
5279
5279
  );
5280
5280
  }
5281
- [data-component~="ui-input-group"][data-v-875c0c72]:has(:is(input, textarea):is([aria-invalid="true"], :is(:user-invalid, [data-user-invalid])):focus-visible) {
5281
+ [data-component~="ui-input-group"][data-v-57e02424]:has(:is(input, textarea):is([aria-invalid="true"], :is(:user-invalid, [data-user-invalid])):focus-visible) {
5282
5282
  box-shadow: var(
5283
5283
  --ui-input-group-invalid-focus-shadow,
5284
5284
  var(--ui-control-inset),
@@ -5292,23 +5292,23 @@ svg[data-v-521a280a-s] {
5292
5292
 
5293
5293
  /* Forced colors drop box shadows, so the focus ring becomes an outline. */
5294
5294
  @media (forced-colors: active) {
5295
- [data-component~="ui-input-group"][data-v-875c0c72]:has(:is(input, textarea):focus-visible) {
5295
+ [data-component~="ui-input-group"][data-v-57e02424]:has(:is(input, textarea):focus-visible) {
5296
5296
  outline: var(--ui-focus-width) solid Highlight;
5297
5297
  outline-offset: var(--ui-border-width);
5298
5298
  }
5299
5299
  }
5300
- [data-component~="ui-input-group"][data-ui-input-group-state~="disabled"][data-v-875c0c72],
5301
- [data-component~="ui-input-group"][data-v-875c0c72]:has(:is(input, textarea):disabled) {
5300
+ [data-component~="ui-input-group"][data-ui-input-group-state~="disabled"][data-v-57e02424],
5301
+ [data-component~="ui-input-group"][data-v-57e02424]:has(:is(input, textarea):disabled) {
5302
5302
  background: var(--ui-control-surface-disabled, var(--ui-surface-muted));
5303
5303
  box-shadow: none;
5304
5304
  cursor: not-allowed;
5305
5305
  }
5306
- .field[data-v-875c0c72] {
5306
+ .field[data-v-57e02424] {
5307
5307
  display: flex;
5308
5308
  flex: 1;
5309
5309
  min-inline-size: 0;
5310
5310
  }
5311
- .affix[data-v-875c0c72] {
5311
+ .affix[data-v-57e02424] {
5312
5312
  display: inline-flex;
5313
5313
  flex: none;
5314
5314
  align-items: center;
@@ -5320,21 +5320,21 @@ svg[data-v-521a280a-s] {
5320
5320
  }
5321
5321
 
5322
5322
  /* Fixed text is part of the value, but should not look editable. */
5323
- .affix[data-v-875c0c72]:has([slot="prefix"]),
5324
- .affix[data-v-875c0c72]:has([slot="suffix"]) {
5323
+ .affix[data-v-57e02424]:has([slot="prefix"]),
5324
+ .affix[data-v-57e02424]:has([slot="suffix"]) {
5325
5325
  background: var(--ui-surface-muted);
5326
5326
  }
5327
- .affix[data-v-875c0c72]:has([slot="prefix"]) {
5327
+ .affix[data-v-57e02424]:has([slot="prefix"]) {
5328
5328
  border-inline-end: var(--ui-border-width) solid var(--ui-border-divider);
5329
5329
  }
5330
- .affix[data-v-875c0c72]:has([slot="suffix"]) {
5330
+ .affix[data-v-57e02424]:has([slot="suffix"]) {
5331
5331
  border-inline-start: var(--ui-border-width) solid var(--ui-border-divider);
5332
5332
  }
5333
- [data-component~="ui-input-group"][data-ui-input-group-state~="prefixKind=icon"][data-v-875c0c72] {
5333
+ [data-component~="ui-input-group"][data-ui-input-group-state~="prefixKind=icon"][data-v-57e02424] {
5334
5334
  --_ui-default-input-padding-inline-start: var(--ui-space-2);
5335
5335
  }
5336
5336
  [data-component~="ui-input-group"][data-ui-input-group-state~="prefixKind=icon"]
5337
- .affix[data-v-875c0c72]:first-child {
5337
+ .affix[data-v-57e02424]:first-child {
5338
5338
  padding-inline-end: 0;
5339
5339
  border-inline-end: 0;
5340
5340
  background: transparent;
@@ -5342,7 +5342,7 @@ svg[data-v-521a280a-s] {
5342
5342
 
5343
5343
  /* Centred rather than padded above and below: the group is exactly a lone Input's height, so a
5344
5344
  small button sits inside it with the difference split evenly, and the field keeps its height. */
5345
- .action[data-v-875c0c72] {
5345
+ .action[data-v-57e02424] {
5346
5346
  display: flex;
5347
5347
  flex: none;
5348
5348
  align-items: center;
@@ -5350,26 +5350,46 @@ svg[data-v-521a280a-s] {
5350
5350
  }
5351
5351
 
5352
5352
  /* Multiline text owns the first row; its action remains inside the same frame below it. */
5353
- [data-component~="ui-input-group"][data-ui-input-group-state~="multiline"][data-v-875c0c72] {
5353
+ [data-component~="ui-input-group"][data-ui-input-group-state~="multiline"][data-v-57e02424] {
5354
5354
  display: grid;
5355
5355
  grid-template-columns: auto minmax(0, 1fr) auto;
5356
5356
  }
5357
- [data-component~="ui-input-group"][data-ui-input-group-state~="multiline"] .field[data-v-875c0c72] {
5357
+ [data-component~="ui-input-group"][data-ui-input-group-state~="multiline"] .field[data-v-57e02424] {
5358
5358
  grid-column: 2;
5359
5359
  }
5360
- [data-component~="ui-input-group"][data-ui-input-group-state~="multiline"] .action[data-v-875c0c72] {
5360
+ [data-component~="ui-input-group"][data-ui-input-group-state~="multiline"] .action[data-v-57e02424] {
5361
5361
  grid-column: 1 / -1;
5362
5362
  justify-content: end;
5363
5363
  padding: var(--ui-space-2);
5364
5364
  padding-block-start: 0;
5365
5365
  }
5366
- .affix[data-v-875c0c72]:empty,
5367
- .action[data-v-875c0c72]:empty {
5366
+
5367
+ /* The same textarea keeps its full resizeable box. Its text reserves the action's live width,
5368
+ so a translated label or pending indicator cannot cover what the person types. */
5369
+ [data-component~="ui-input-group"][data-ui-input-group-state~="multiline"][data-ui-input-group-state~="actionPosition=top-end"][data-v-57e02424] {
5370
+ --_ui-default-textarea-padding-inline-end: calc(
5371
+ var(--_ui-input-group-action-inline-size, 7rem) + var(--ui-space-3)
5372
+ );
5373
+ }
5374
+ [data-component~="ui-input-group"][data-ui-input-group-state~="multiline"][data-ui-input-group-state~="actionPosition=top-end"]
5375
+ .field[data-v-57e02424] {
5376
+ grid-row: 1;
5377
+ }
5378
+ [data-component~="ui-input-group"][data-ui-input-group-state~="multiline"][data-ui-input-group-state~="actionPosition=top-end"]
5379
+ .action[data-v-57e02424] {
5380
+ grid-column: 2;
5381
+ grid-row: 1;
5382
+ align-self: start;
5383
+ justify-self: end;
5384
+ padding: var(--ui-space-2);
5385
+ }
5386
+ .affix[data-v-57e02424]:empty,
5387
+ .action[data-v-57e02424]:empty {
5368
5388
  display: none;
5369
5389
  }
5370
5390
 
5371
5391
  /* A component that sets its display still honours the hidden attribute on its root. */
5372
- [data-component~="ui-input-group"][hidden][data-v-875c0c72] {
5392
+ [data-component~="ui-input-group"][hidden][data-v-57e02424] {
5373
5393
  display: none;
5374
5394
  }
5375
5395
 
@@ -8236,7 +8256,11 @@ tbody tr[data-v-93c9ac9c-s]:last-child > * {
8236
8256
  syntax: "*";
8237
8257
  inherits: false;
8238
8258
  }
8239
- [data-component~="ui-textarea"][data-v-cb05f253] {
8259
+ @property --ui-textarea-padding-inline-end {
8260
+ syntax: "*";
8261
+ inherits: false;
8262
+ }
8263
+ [data-component~="ui-textarea"][data-v-f5b6ae17] {
8240
8264
  box-sizing: border-box;
8241
8265
  display: inline-block;
8242
8266
  inline-size: 100%;
@@ -8245,6 +8269,10 @@ tbody tr[data-v-93c9ac9c-s]:last-child > * {
8245
8269
  margin: 0;
8246
8270
  --_padding-block: var(--ui-space-2);
8247
8271
  padding: var(--ui-space-2) var(--ui-space-3);
8272
+ padding-inline-end: var(
8273
+ --ui-textarea-padding-inline-end,
8274
+ var(--_ui-default-textarea-padding-inline-end, var(--ui-space-3))
8275
+ );
8248
8276
  appearance: none;
8249
8277
  resize: vertical;
8250
8278
  border: var(
@@ -8277,15 +8305,15 @@ tbody tr[data-v-93c9ac9c-s]:last-child > * {
8277
8305
  }
8278
8306
 
8279
8307
  /* Tabbing into a field selects its text; tint that selection softly instead of the page highlight. */
8280
- [data-component~="ui-textarea"][data-v-cb05f253]::selection {
8308
+ [data-component~="ui-textarea"][data-v-f5b6ae17]::selection {
8281
8309
  background: color-mix(in srgb, var(--ui-accent-solid) 20%, transparent);
8282
8310
  color: inherit;
8283
8311
  }
8284
- [data-component~="ui-textarea"][data-v-cb05f253]::placeholder {
8312
+ [data-component~="ui-textarea"][data-v-f5b6ae17]::placeholder {
8285
8313
  color: var(--ui-control-placeholder, var(--ui-text-secondary));
8286
8314
  opacity: 1;
8287
8315
  }
8288
- [data-component~="ui-textarea"][data-v-cb05f253]:hover:not(:focus):not(:disabled):not(:read-only):not([aria-invalid="true"]):not(:is(:user-invalid, [data-user-invalid])) {
8316
+ [data-component~="ui-textarea"][data-v-f5b6ae17]:hover:not(:focus):not(:disabled):not(:read-only):not([aria-invalid="true"]):not(:is(:user-invalid, [data-user-invalid])) {
8289
8317
  border-color: var(
8290
8318
  --ui-textarea-border-hover,
8291
8319
  var(
@@ -8294,7 +8322,7 @@ tbody tr[data-v-93c9ac9c-s]:last-child > * {
8294
8322
  )
8295
8323
  );
8296
8324
  }
8297
- [data-component~="ui-textarea"][data-v-cb05f253]:focus-visible {
8325
+ [data-component~="ui-textarea"][data-v-f5b6ae17]:focus-visible {
8298
8326
  border-color: var(
8299
8327
  --ui-textarea-focus-border,
8300
8328
  var(--_ui-default-textarea-focus-border, var(--ui-control-focus, var(--ui-accent-solid)))
@@ -8311,14 +8339,14 @@ tbody tr[data-v-93c9ac9c-s]:last-child > * {
8311
8339
  }
8312
8340
 
8313
8341
  /* The app's invalid flag, or the browser's own verdict once the user has left an invalid field. */
8314
- [data-component~="ui-textarea"][aria-invalid="true"][data-v-cb05f253],
8315
- [data-component~="ui-textarea"][data-v-cb05f253]:is(:user-invalid, [data-user-invalid]) {
8342
+ [data-component~="ui-textarea"][aria-invalid="true"][data-v-f5b6ae17],
8343
+ [data-component~="ui-textarea"][data-v-f5b6ae17]:is(:user-invalid, [data-user-invalid]) {
8316
8344
  border-color: var(
8317
8345
  --ui-textarea-invalid-border,
8318
8346
  var(--_ui-default-textarea-invalid-border, var(--ui-field-danger, var(--ui-danger-solid)))
8319
8347
  );
8320
8348
  }
8321
- [data-component~="ui-textarea"][data-v-cb05f253]:is([aria-invalid="true"], :is(:user-invalid, [data-user-invalid])):focus-visible {
8349
+ [data-component~="ui-textarea"][data-v-f5b6ae17]:is([aria-invalid="true"], :is(:user-invalid, [data-user-invalid])):focus-visible {
8322
8350
  box-shadow: var(
8323
8351
  --ui-textarea-invalid-focus-shadow,
8324
8352
  var(
@@ -8335,24 +8363,32 @@ tbody tr[data-v-93c9ac9c-s]:last-child > * {
8335
8363
  )
8336
8364
  );
8337
8365
  }
8338
- [data-component~="ui-textarea"][data-v-cb05f253]:disabled {
8366
+ [data-component~="ui-textarea"][data-v-f5b6ae17]:disabled {
8339
8367
  background: var(--ui-control-surface-disabled, var(--ui-surface-muted));
8340
8368
  color: var(--ui-disabled-text);
8341
8369
  box-shadow: none;
8342
8370
  cursor: not-allowed;
8343
8371
  }
8344
- [data-component~="ui-textarea"][data-ui-textarea-state~="size=sm"][data-v-cb05f253] {
8372
+ [data-component~="ui-textarea"][data-ui-textarea-state~="size=sm"][data-v-f5b6ae17] {
8345
8373
  --_padding-block: var(--ui-space-1);
8346
8374
  padding: var(--ui-space-1) var(--ui-space-2);
8375
+ padding-inline-end: var(
8376
+ --ui-textarea-padding-inline-end,
8377
+ var(--_ui-default-textarea-padding-inline-end, var(--ui-space-2))
8378
+ );
8347
8379
  font-size: var(--ui-font-size-sm);
8348
8380
  }
8349
- [data-component~="ui-textarea"][data-ui-textarea-state~="size=lg"][data-v-cb05f253] {
8381
+ [data-component~="ui-textarea"][data-ui-textarea-state~="size=lg"][data-v-f5b6ae17] {
8350
8382
  --_padding-block: var(--ui-space-3);
8351
8383
  padding: var(--ui-space-3) var(--ui-space-4);
8384
+ padding-inline-end: var(
8385
+ --ui-textarea-padding-inline-end,
8386
+ var(--_ui-default-textarea-padding-inline-end, var(--ui-space-4))
8387
+ );
8352
8388
  font-size: var(--ui-font-size-md);
8353
8389
  }
8354
8390
  @supports (field-sizing: content) {
8355
- [data-component~="ui-textarea"][data-ui-textarea-state~="autosize"][data-v-cb05f253] {
8391
+ [data-component~="ui-textarea"][data-ui-textarea-state~="autosize"][data-v-f5b6ae17] {
8356
8392
  field-sizing: content;
8357
8393
  min-block-size: calc(var(--_rows) * 1lh + var(--_padding-block) + var(--_padding-block) + 2px);
8358
8394
  }
@@ -8360,13 +8396,13 @@ tbody tr[data-v-93c9ac9c-s]:last-child > * {
8360
8396
 
8361
8397
  /* Below 16px, iOS zooms the page into the focused field, so touch keeps body-size text. */
8362
8398
  @media (pointer: coarse) {
8363
- [data-component~="ui-textarea"][data-ui-textarea-state~="size=sm"][data-v-cb05f253] {
8399
+ [data-component~="ui-textarea"][data-ui-textarea-state~="size=sm"][data-v-f5b6ae17] {
8364
8400
  font-size: inherit;
8365
8401
  }
8366
8402
  }
8367
8403
 
8368
8404
  /* A component that sets its display still honours the hidden attribute on its root. */
8369
- [data-component~="ui-textarea"][hidden][data-v-cb05f253] {
8405
+ [data-component~="ui-textarea"][hidden][data-v-f5b6ae17] {
8370
8406
  display: none;
8371
8407
  }
8372
8408
 
@@ -8780,7 +8816,7 @@ to {
8780
8816
  syntax: "*";
8781
8817
  inherits: false;
8782
8818
  }
8783
- [data-component~="ui-tree-item"][data-v-4981f1b6] {
8819
+ [data-component~="ui-tree-item"][data-v-f2ec0a81] {
8784
8820
  /* Hooks do not inherit, so the parts below read them from the root. The tree's density
8785
8821
  sets the defaults, in --_ui-default-*. */
8786
8822
  --_ui-tree-item-min-block-size: var(
@@ -8802,7 +8838,7 @@ to {
8802
8838
  min-inline-size: 0;
8803
8839
  margin-inline-start: calc(var(--_ui-tree-item-indent-step, 0) * var(--_ui-tree-indent, 16px));
8804
8840
  }
8805
- .row[data-v-4981f1b6] {
8841
+ .row[data-v-f2ec0a81] {
8806
8842
  position: relative;
8807
8843
  display: grid;
8808
8844
  grid-template-columns: var(--_tree-disclosure-size) auto minmax(0, 1fr);
@@ -8819,54 +8855,54 @@ to {
8819
8855
  box-shadow var(--ui-motion-fast) var(--ui-motion-ease),
8820
8856
  min-block-size var(--ui-motion-base) var(--ui-motion-ease);
8821
8857
  }
8822
- .row[data-v-4981f1b6]:hover,
8823
- .row[data-v-4981f1b6]:focus-within {
8858
+ .row[data-v-f2ec0a81]:hover,
8859
+ .row[data-v-f2ec0a81]:focus-within {
8824
8860
  color: var(--ui-text-primary);
8825
8861
  background: var(--ui-surface-muted);
8826
8862
  }
8827
8863
 
8828
8864
  /* Selection is the same surface recipe as destination and choice rows. */
8829
- [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] {
8830
8866
  color: var(--ui-selection-text);
8831
8867
  background: var(--ui-selection-surface);
8832
8868
  }
8833
8869
  [data-component~="ui-tree-item"][data-ui-tree-item-state~="selected"]:not([aria-disabled="true"])
8834
8870
  > .row
8835
- > .leading[data-v-4981f1b6] {
8871
+ > .leading[data-v-f2ec0a81] {
8836
8872
  color: var(--ui-selection-text);
8837
8873
  }
8838
- [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] {
8839
8875
  color: var(--ui-disabled-text);
8840
8876
  background: var(--ui-disabled-surface);
8841
8877
  }
8842
- [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] {
8843
8879
  opacity: 0.42;
8844
8880
  }
8845
- [data-component~="ui-tree-item"][data-move-source] > .row > .label[data-v-4981f1b6],
8846
- [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] {
8847
8883
  opacity: 0.42;
8848
8884
  }
8849
- [data-component~="ui-tree-item"][data-v-4981f1b6]:focus {
8885
+ [data-component~="ui-tree-item"][data-v-f2ec0a81]:focus {
8850
8886
  outline: none;
8851
8887
  }
8852
- [data-component~="ui-tree-item"]:focus-visible .row[data-v-4981f1b6] {
8888
+ [data-component~="ui-tree-item"]:focus-visible .row[data-v-f2ec0a81] {
8853
8889
  box-shadow: 0 0 0 var(--ui-focus-width) var(--ui-focus-ring);
8854
8890
  }
8855
8891
 
8856
8892
  /* Child combinators: drop feedback belongs to this item's own row, not the rows nested in it. */
8857
- [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] {
8858
8894
  background: var(--ui-accent-subtle);
8859
8895
  box-shadow: inset 0 0 0 var(--ui-accent-line-width)
8860
8896
  var(--_ui-tree-drop-color, var(--ui-accent-solid));
8861
8897
  }
8862
- .disclosure[data-v-4981f1b6],
8863
- .disclosure-spacer[data-v-4981f1b6] {
8898
+ .disclosure[data-v-f2ec0a81],
8899
+ .disclosure-spacer[data-v-f2ec0a81] {
8864
8900
  grid-column: 1;
8865
8901
  grid-row: 1;
8866
8902
  inline-size: var(--_tree-disclosure-size);
8867
8903
  block-size: 28px;
8868
8904
  }
8869
- .disclosure[data-v-4981f1b6] {
8905
+ .disclosure[data-v-f2ec0a81] {
8870
8906
  display: grid;
8871
8907
  /* Start-aligned: the chevron's ink, not its hit area, aligns with the content above it. */
8872
8908
  place-items: center start;
@@ -8877,10 +8913,10 @@ to {
8877
8913
  border-radius: var(--ui-radius-sm);
8878
8914
  cursor: pointer;
8879
8915
  }
8880
- .disclosure[hidden][data-v-4981f1b6] {
8916
+ .disclosure[hidden][data-v-f2ec0a81] {
8881
8917
  display: none;
8882
8918
  }
8883
- .selection-hit[data-v-4981f1b6] {
8919
+ .selection-hit[data-v-f2ec0a81] {
8884
8920
  display: none;
8885
8921
  grid-column: 2;
8886
8922
  grid-row: 1;
@@ -8889,29 +8925,29 @@ to {
8889
8925
  block-size: var(--_ui-tree-item-min-block-size, var(--_tree-row-min-height));
8890
8926
  cursor: pointer;
8891
8927
  }
8892
- .selection-checkbox[data-v-4981f1b6] {
8928
+ .selection-checkbox[data-v-f2ec0a81] {
8893
8929
  inline-size: 1rem;
8894
8930
  block-size: 1rem;
8895
8931
  margin: 0;
8896
8932
  accent-color: var(--ui-accent-solid);
8897
8933
  }
8898
- [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] {
8899
8935
  grid-template-columns: var(--_tree-disclosure-size) 1.25rem auto minmax(0, 1fr);
8900
8936
  }
8901
- [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] {
8902
8938
  display: grid;
8903
8939
  }
8904
- [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] {
8905
8941
  grid-column: 3;
8906
8942
  }
8907
- [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] {
8908
8944
  grid-column: 4;
8909
8945
  }
8910
- .disclosure[data-v-4981f1b6]:hover {
8946
+ .disclosure[data-v-f2ec0a81]:hover {
8911
8947
  color: var(--ui-text-primary);
8912
8948
  background: var(--ui-surface-elevated);
8913
8949
  }
8914
- .disclosure-icon[data-v-4981f1b6] {
8950
+ .disclosure-icon[data-v-f2ec0a81] {
8915
8951
  display: grid;
8916
8952
  place-items: center;
8917
8953
  inline-size: 12px;
@@ -8919,7 +8955,7 @@ to {
8919
8955
  transform: rotate(-90deg);
8920
8956
  transition: transform var(--ui-motion-fast) var(--ui-motion-ease);
8921
8957
  }
8922
- .disclosure-icon[data-v-4981f1b6]::before {
8958
+ .disclosure-icon[data-v-f2ec0a81]::before {
8923
8959
  display: block;
8924
8960
  inline-size: 0.375rem;
8925
8961
  block-size: 0.375rem;
@@ -8929,19 +8965,19 @@ to {
8929
8965
  /* A chevron's ink sits below its box centre; lift it so it centres optically (in either rotation). */
8930
8966
  transform: translateY(-20%) rotate(45deg);
8931
8967
  }
8932
- [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] {
8933
8969
  transform: rotate(0deg);
8934
8970
  }
8935
8971
 
8936
8972
  /* Lucide grip-vertical, filling the handle as in Looma 0.2. */
8937
- .drag-handle svg[data-v-4981f1b6] {
8973
+ .drag-handle svg[data-v-f2ec0a81] {
8938
8974
  display: block;
8939
8975
  inline-size: 100%;
8940
8976
  block-size: 100%;
8941
8977
  }
8942
8978
 
8943
8979
  /* Slotted content is outside this scope, so :has() cannot see it; hide only a truly empty slot. */
8944
- .leading[data-v-4981f1b6] {
8980
+ .leading[data-v-f2ec0a81] {
8945
8981
  display: inline-grid;
8946
8982
  place-items: center;
8947
8983
  grid-column: 2;
@@ -8954,12 +8990,12 @@ to {
8954
8990
  position: relative;
8955
8991
  z-index: 1;
8956
8992
  }
8957
- .leading[data-v-4981f1b6]:empty {
8993
+ .leading[data-v-f2ec0a81]:empty {
8958
8994
  display: none;
8959
8995
  }
8960
8996
 
8961
8997
  /* Icons match the label's size (as in Knit's tree): an unsized SVG would otherwise render 300×150. */
8962
- svg[data-v-4981f1b6-s],img[data-v-4981f1b6-s] {
8998
+ svg[data-v-f2ec0a81-s],img[data-v-f2ec0a81-s] {
8963
8999
  display: block;
8964
9000
  inline-size: 1em;
8965
9001
  block-size: 1em;
@@ -8968,7 +9004,7 @@ svg[data-v-4981f1b6-s],img[data-v-4981f1b6-s] {
8968
9004
 
8969
9005
  /* The label spans the row's height and centres its content, so slotted content (a link) can
8970
9006
  stretch to fill the row as its own hit area; the padding tokens remove the inset. */
8971
- .label[data-v-4981f1b6] {
9007
+ .label[data-v-f2ec0a81] {
8972
9008
  grid-column: 3;
8973
9009
  grid-row: 1;
8974
9010
  align-self: stretch;
@@ -8986,7 +9022,7 @@ svg[data-v-4981f1b6-s],img[data-v-4981f1b6-s] {
8986
9022
 
8987
9023
  /* Slotted label content fills the cell, so a link is the row's hit area rather than sizing to
8988
9024
  its own text and reading as overflow. */
8989
- .label-text[data-v-4981f1b6] {
9025
+ .label-text[data-v-f2ec0a81] {
8990
9026
  display: flex;
8991
9027
  align-items: center;
8992
9028
  /* Stretches, so slotted content can still be the row's full-height hit area. */
@@ -8996,16 +9032,16 @@ svg[data-v-4981f1b6-s],img[data-v-4981f1b6-s] {
8996
9032
  inline-size: 100%;
8997
9033
  white-space: nowrap;
8998
9034
  }
8999
- .label-text > [data-v-4981f1b6-s] {
9035
+ .label-text > [data-v-f2ec0a81-s] {
9000
9036
  flex: 1 1 auto;
9001
9037
  min-inline-size: 0;
9002
9038
  }
9003
9039
 
9004
9040
  /* The controls sit over the label's end, so the text fades out where they begin. The fade is
9005
9041
  the truncation mark while it shows: an ellipsis under it would read as a second one. */
9006
- .row:hover > .label[data-v-4981f1b6],
9007
- .row:focus-within > .label[data-v-4981f1b6],
9008
- [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] {
9009
9045
  text-overflow: clip;
9010
9046
  mask-image: linear-gradient(
9011
9047
  to right,
@@ -9013,9 +9049,9 @@ svg[data-v-4981f1b6-s],img[data-v-4981f1b6-s] {
9013
9049
  transparent calc(100% - var(--_tree-actions-width, 1.75rem))
9014
9050
  );
9015
9051
  }
9016
- .row:hover > .label[data-v-4981f1b6]:dir(rtl),
9017
- .row:focus-within > .label[data-v-4981f1b6]:dir(rtl),
9018
- [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) {
9019
9055
  mask-image: linear-gradient(
9020
9056
  to left,
9021
9057
  #000 calc(100% - var(--_tree-actions-width, 1.75rem) - var(--ui-space-1)),
@@ -9027,10 +9063,10 @@ svg[data-v-4981f1b6-s],img[data-v-4981f1b6-s] {
9027
9063
  there, and starts again. Only when it actually overflows — the controller measures by how
9028
9064
  much — after the controls have taken their place over its end — and hands over the distance
9029
9065
  and a duration from it, so every name moves at the same speed. */
9030
- .row[data-ui-marquee] > .label > .label-text[data-v-4981f1b6] {
9066
+ .row[data-ui-marquee] > .label > .label-text[data-v-f2ec0a81] {
9031
9067
  /* Once per pass: the controller restarts it after a rest at the end, so the name holds still
9032
9068
  long enough to read rather than sliding back and forth. */
9033
- 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;
9034
9070
  will-change: transform;
9035
9071
  }
9036
9072
 
@@ -9038,7 +9074,7 @@ svg[data-v-4981f1b6-s],img[data-v-4981f1b6-s] {
9038
9074
  slides, the label reaches back under the icon (the controller measures how far) with its text
9039
9075
  where it was, and fades out across the gap before the icon, fully gone where the icon begins
9040
9076
  to cover it: the name slips under the icon rather than stopping at a hard edge beside it. */
9041
- .row[data-ui-marquee] > .label[data-v-4981f1b6] {
9077
+ .row[data-ui-marquee] > .label[data-v-f2ec0a81] {
9042
9078
  margin-inline-start: calc(-1 * var(--_marquee-lead, 0px));
9043
9079
  padding-inline-start: calc(
9044
9080
  var(--_marquee-lead, 0px) + var(--_ui-tree-item-label-padding-inline, var(--ui-space-2))
@@ -9053,7 +9089,7 @@ svg[data-v-4981f1b6-s],img[data-v-4981f1b6-s] {
9053
9089
  transparent calc(100% - var(--_tree-actions-width, 1.75rem))
9054
9090
  );
9055
9091
  }
9056
- .row[data-ui-marquee] > .label[data-v-4981f1b6]:dir(rtl) {
9092
+ .row[data-ui-marquee] > .label[data-v-f2ec0a81]:dir(rtl) {
9057
9093
  mask-image: linear-gradient(
9058
9094
  to left,
9059
9095
  transparent var(--_marquee-icon-width, 0px),
@@ -9064,7 +9100,7 @@ svg[data-v-4981f1b6-s],img[data-v-4981f1b6-s] {
9064
9100
  transparent calc(100% - var(--_tree-actions-width, 1.75rem))
9065
9101
  );
9066
9102
  }
9067
- @keyframes ui-tree-item-marquee-4981f1b6 {
9103
+ @keyframes ui-tree-item-marquee-f2ec0a81 {
9068
9104
  from {
9069
9105
  transform: translateX(0);
9070
9106
  }
@@ -9075,15 +9111,15 @@ to {
9075
9111
 
9076
9112
  /* Reduced motion keeps the fade, which already says the name continues. */
9077
9113
  @media (prefers-reduced-motion: reduce) {
9078
- .row[data-ui-marquee] > .label > .label-text[data-v-4981f1b6] {
9114
+ .row[data-ui-marquee] > .label > .label-text[data-v-f2ec0a81] {
9079
9115
  animation: none;
9080
9116
  }
9081
9117
  }
9082
- .row:hover > .label > [data-v-4981f1b6-s],
9083
- .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] {
9084
9120
  text-overflow: clip;
9085
9121
  }
9086
- .actions[data-v-4981f1b6] {
9122
+ .actions[data-v-f2ec0a81] {
9087
9123
  position: absolute;
9088
9124
  z-index: 1;
9089
9125
  inset-block: 0;
@@ -9095,19 +9131,19 @@ to {
9095
9131
  pointer-events: none;
9096
9132
  transition: opacity var(--ui-motion-fast) var(--ui-motion-ease);
9097
9133
  }
9098
- .row:hover > .actions[data-v-4981f1b6],
9099
- .row:focus-within > .actions[data-v-4981f1b6],
9100
- [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] {
9101
9137
  opacity: 1;
9102
9138
  pointer-events: auto;
9103
9139
  }
9104
9140
 
9105
9141
  /* Without hover there is no reveal, so the controls keep their own column. */
9106
9142
  @media (hover: none), (pointer: coarse) {
9107
- .row[data-v-4981f1b6] {
9143
+ .row[data-v-f2ec0a81] {
9108
9144
  grid-template-columns: var(--_tree-disclosure-size) auto minmax(0, 1fr) auto;
9109
9145
  }
9110
- .actions[data-v-4981f1b6] {
9146
+ .actions[data-v-f2ec0a81] {
9111
9147
  position: static;
9112
9148
  grid-column: 4;
9113
9149
  grid-row: 1;
@@ -9116,13 +9152,13 @@ to {
9116
9152
  opacity: 1;
9117
9153
  pointer-events: auto;
9118
9154
  }
9119
- .row:is(:hover, :focus-within) > .label[data-v-4981f1b6],
9120
- .row:is(:hover, :focus-within) > .label[data-v-4981f1b6]:dir(rtl),
9121
- [data-component~="ui-tree-item"][data-move-source] > .row > .label[data-v-4981f1b6],
9122
- [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) {
9123
9159
  mask-image: none;
9124
9160
  }
9125
- .row[data-ui-marquee] > .label[data-v-4981f1b6] {
9161
+ .row[data-ui-marquee] > .label[data-v-f2ec0a81] {
9126
9162
  mask-image: linear-gradient(
9127
9163
  to right,
9128
9164
  transparent var(--_marquee-icon-width, 0px),
@@ -9131,7 +9167,7 @@ to {
9131
9167
  )
9132
9168
  );
9133
9169
  }
9134
- .row[data-ui-marquee] > .label[data-v-4981f1b6]:dir(rtl) {
9170
+ .row[data-ui-marquee] > .label[data-v-f2ec0a81]:dir(rtl) {
9135
9171
  mask-image: linear-gradient(
9136
9172
  to left,
9137
9173
  transparent var(--_marquee-icon-width, 0px),
@@ -9140,10 +9176,10 @@ to {
9140
9176
  )
9141
9177
  );
9142
9178
  }
9143
- [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] {
9144
9180
  grid-template-columns: var(--_tree-disclosure-size) 1.25rem auto minmax(0, 1fr) auto;
9145
9181
  }
9146
- [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] {
9147
9183
  grid-column: 5;
9148
9184
  }
9149
9185
  }
@@ -9152,7 +9188,7 @@ to {
9152
9188
  empty column, right before the icon; a branch's disclosure is there, so its handle sits just
9153
9189
  outside the row. It is bare until pointed at: a resting surface behind it read as a faint
9154
9190
  patch rather than as a control. */
9155
- .drag-handle[data-v-4981f1b6] {
9191
+ .drag-handle[data-v-f2ec0a81] {
9156
9192
  position: absolute;
9157
9193
  z-index: 2;
9158
9194
  inset-block-start: 50%;
@@ -9173,24 +9209,24 @@ to {
9173
9209
  transform: translateY(-50%);
9174
9210
  transition: opacity var(--ui-motion-fast) var(--ui-motion-ease);
9175
9211
  }
9176
- .row:hover .drag-handle[data-v-4981f1b6],
9177
- .drag-handle[data-v-4981f1b6]:hover,
9178
- .drag-handle[data-v-4981f1b6]:focus-visible,
9179
- [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] {
9180
9216
  opacity: 1;
9181
9217
  }
9182
- [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] {
9183
9219
  inset-inline-start: calc(-1 * var(--_tree-disclosure-size) - 2px);
9184
9220
  }
9185
- .drag-handle[data-v-4981f1b6]:hover,
9186
- .drag-handle[data-v-4981f1b6]:focus-visible {
9221
+ .drag-handle[data-v-f2ec0a81]:hover,
9222
+ .drag-handle[data-v-f2ec0a81]:focus-visible {
9187
9223
  color: var(--ui-text-primary);
9188
9224
  background: var(--ui-surface-hover);
9189
9225
  }
9190
- .drag-handle[data-v-4981f1b6]:active {
9226
+ .drag-handle[data-v-f2ec0a81]:active {
9191
9227
  cursor: grabbing;
9192
9228
  }
9193
- .drop-indicator[data-v-4981f1b6] {
9229
+ .drop-indicator[data-v-f2ec0a81] {
9194
9230
  position: absolute;
9195
9231
  z-index: 3;
9196
9232
  inset-inline: 1px;
@@ -9200,8 +9236,8 @@ to {
9200
9236
  background: var(--_ui-tree-drop-color, var(--ui-accent-solid));
9201
9237
  pointer-events: none;
9202
9238
  }
9203
- .drop-indicator[data-v-4981f1b6]::before,
9204
- .drop-indicator[data-v-4981f1b6]::after {
9239
+ .drop-indicator[data-v-f2ec0a81]::before,
9240
+ .drop-indicator[data-v-f2ec0a81]::after {
9205
9241
  content: "";
9206
9242
  position: absolute;
9207
9243
  inset-block-start: 50%;
@@ -9212,34 +9248,34 @@ to {
9212
9248
  background: var(--ui-surface-elevated);
9213
9249
  transform: translateY(-50%);
9214
9250
  }
9215
- .drop-indicator[data-v-4981f1b6]::before {
9251
+ .drop-indicator[data-v-f2ec0a81]::before {
9216
9252
  inset-inline-start: -1px;
9217
9253
  }
9218
- .drop-indicator[data-v-4981f1b6]::after {
9254
+ .drop-indicator[data-v-f2ec0a81]::after {
9219
9255
  inset-inline-end: -1px;
9220
9256
  }
9221
- [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] {
9222
9258
  display: block;
9223
9259
  inset-block-start: calc(-0.5 * var(--ui-accent-line-width));
9224
9260
  }
9225
- [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] {
9226
9262
  display: block;
9227
9263
  inset-block-end: calc(-0.5 * var(--ui-accent-line-width));
9228
9264
  }
9229
- .children[hidden][data-v-4981f1b6] {
9265
+ .children[hidden][data-v-f2ec0a81] {
9230
9266
  display: none;
9231
9267
  }
9232
- 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] {
9233
9269
  --_tree-row-min-height: 44px;
9234
9270
  }
9235
- 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] {
9236
9272
  grid-template-columns: 44px var(--_tree-disclosure-size) auto minmax(0, 1fr);
9237
9273
  }
9238
- 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],
9239
9275
  html[data-ui-input-modality="touch"]
9240
9276
  [data-component~="ui-tree-item"][data-ui-tree-item-state~="isContainer"]
9241
9277
  > .row
9242
- > .drag-handle[data-v-4981f1b6] {
9278
+ > .drag-handle[data-v-f2ec0a81] {
9243
9279
  position: relative;
9244
9280
  grid-column: 1;
9245
9281
  grid-row: 1;
@@ -9251,24 +9287,24 @@ html[data-ui-input-modality="touch"]
9251
9287
  transform: none;
9252
9288
  cursor: pointer;
9253
9289
  }
9254
- 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] {
9255
9291
  grid-column: 2;
9256
9292
  }
9257
- 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] {
9258
9294
  grid-column: 3;
9259
9295
  }
9260
- 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] {
9261
9297
  grid-column: 4;
9262
9298
  }
9263
9299
  html[data-ui-input-modality="touch"]
9264
9300
  [data-component~="ui-tree-item"][data-selection-mode="multiple"]
9265
- > .row[data-v-4981f1b6] {
9301
+ > .row[data-v-f2ec0a81] {
9266
9302
  grid-template-columns: 44px var(--_tree-disclosure-size) 44px auto minmax(0, 1fr);
9267
9303
  }
9268
9304
  html[data-ui-input-modality="touch"]
9269
9305
  [data-component~="ui-tree-item"][data-selection-mode="multiple"]
9270
9306
  > .row
9271
- > .selection-hit[data-v-4981f1b6] {
9307
+ > .selection-hit[data-v-f2ec0a81] {
9272
9308
  grid-column: 3;
9273
9309
  inline-size: 44px;
9274
9310
  block-size: 44px;
@@ -9276,55 +9312,55 @@ html[data-ui-input-modality="touch"]
9276
9312
  html[data-ui-input-modality="touch"]
9277
9313
  [data-component~="ui-tree-item"][data-selection-mode="multiple"]
9278
9314
  > .row
9279
- > .leading[data-v-4981f1b6] {
9315
+ > .leading[data-v-f2ec0a81] {
9280
9316
  grid-column: 4;
9281
9317
  }
9282
9318
  html[data-ui-input-modality="touch"]
9283
9319
  [data-component~="ui-tree-item"][data-selection-mode="multiple"]
9284
9320
  > .row
9285
- > .label[data-v-4981f1b6] {
9321
+ > .label[data-v-f2ec0a81] {
9286
9322
  grid-column: 5;
9287
9323
  }
9288
9324
  @media (hover: none), (pointer: coarse) {
9289
- 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] {
9290
9326
  grid-template-columns: 44px var(--_tree-disclosure-size) auto minmax(0, 1fr) auto;
9291
9327
  }
9292
- 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] {
9293
9329
  grid-column: 5;
9294
9330
  }
9295
9331
  html[data-ui-input-modality="touch"]
9296
9332
  [data-component~="ui-tree-item"][data-selection-mode="multiple"]
9297
- > .row[data-v-4981f1b6] {
9333
+ > .row[data-v-f2ec0a81] {
9298
9334
  grid-template-columns: 44px var(--_tree-disclosure-size) 44px auto minmax(0, 1fr) auto;
9299
9335
  }
9300
9336
  html[data-ui-input-modality="touch"]
9301
9337
  [data-component~="ui-tree-item"][data-selection-mode="multiple"]
9302
9338
  > .row
9303
- > .actions[data-v-4981f1b6] {
9339
+ > .actions[data-v-f2ec0a81] {
9304
9340
  grid-column: 6;
9305
9341
  }
9306
9342
  }
9307
9343
  @media (prefers-reduced-motion: reduce) {
9308
- .row[data-v-4981f1b6],
9309
- .disclosure-icon[data-v-4981f1b6],
9310
- .drag-handle[data-v-4981f1b6] {
9344
+ .row[data-v-f2ec0a81],
9345
+ .disclosure-icon[data-v-f2ec0a81],
9346
+ .drag-handle[data-v-f2ec0a81] {
9311
9347
  transition: none;
9312
9348
  }
9313
9349
  }
9314
9350
  @media (forced-colors: active) {
9315
- [data-component~="ui-tree-item"]:focus-visible > .row[data-v-4981f1b6] {
9351
+ [data-component~="ui-tree-item"]:focus-visible > .row[data-v-f2ec0a81] {
9316
9352
  outline: var(--ui-focus-width) solid Highlight;
9317
9353
  outline-offset: calc(-1 * var(--ui-focus-width));
9318
9354
  }
9319
9355
  [data-component~="ui-tree-item"][data-ui-tree-item-state~="selected"]:not(:focus-visible):not([aria-disabled="true"])
9320
- > .row[data-v-4981f1b6] {
9356
+ > .row[data-v-f2ec0a81] {
9321
9357
  outline: var(--ui-border-width) solid Highlight;
9322
9358
  outline-offset: calc(-1 * var(--ui-border-width));
9323
9359
  }
9324
9360
  }
9325
9361
 
9326
9362
  /* A component that sets its display still honours the hidden attribute on its root. */
9327
- [data-component~="ui-tree-item"][hidden][data-v-4981f1b6] {
9363
+ [data-component~="ui-tree-item"][hidden][data-v-f2ec0a81] {
9328
9364
  display: none;
9329
9365
  }
9330
9366
  /**