@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.
- package/components/ui-input-group/ui-input-group.html +21 -0
- package/components/ui-input-group/ui-input-group.js +17 -0
- package/components/ui-textarea/ui-textarea.html +7 -0
- package/components/ui-tree-item/ui-tree-item.html +1 -1
- package/dist/index.js +1 -1
- package/package.json +1 -1
- package/styles/ui-input-group.css +21 -0
- package/styles/ui-textarea.css +7 -0
- package/styles/ui-tree-item.css +1 -1
- package/vanilla/UiInputGroup.d.ts +1 -0
- package/vanilla/UiInputGroup.js +1 -1
- package/vue/UiInputGroup.d.ts +9 -0
- package/vue/UiInputGroup.vue +48 -1
- package/vue/UiTextarea.vue +16 -0
- package/vue/UiTreeItem.vue +1 -1
- package/vue/chunks/UiInputGroup.js +27 -2
- package/vue/chunks/UiTextarea.js +1 -1
- package/vue/chunks/UiTreeItem.js +1 -1
- package/vue/components.css +176 -140
package/vue/components.css
CHANGED
|
@@ -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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
5301
|
-
[data-component~="ui-input-group"][data-v-
|
|
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-
|
|
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-
|
|
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-
|
|
5324
|
-
.affix[data-v-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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
|
-
|
|
5367
|
-
.action
|
|
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-
|
|
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
|
-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
8315
|
-
[data-component~="ui-textarea"][data-v-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
8823
|
-
.row[data-v-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
8846
|
-
[data-component~="ui-tree-item"][data-move-source] > .row > .leading[data-v-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
8863
|
-
.disclosure-spacer[data-v-
|
|
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-
|
|
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-
|
|
8916
|
+
.disclosure[hidden][data-v-f2ec0a81] {
|
|
8881
8917
|
display: none;
|
|
8882
8918
|
}
|
|
8883
|
-
.selection-hit[data-v-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
9007
|
-
.row:focus-within > .label[data-v-
|
|
9008
|
-
[data-component~="ui-tree-item"][data-move-source] > .row > .label[data-v-
|
|
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-
|
|
9017
|
-
.row:focus-within > .label[data-v-
|
|
9018
|
-
[data-component~="ui-tree-item"][data-move-source] > .row > .label[data-v-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
9083
|
-
.row:focus-within > .label > [data-v-
|
|
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-
|
|
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-
|
|
9099
|
-
.row:focus-within > .actions[data-v-
|
|
9100
|
-
[data-component~="ui-tree-item"][data-move-source] > .row > .actions[data-v-
|
|
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-
|
|
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-
|
|
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-
|
|
9120
|
-
.row:is(:hover, :focus-within) > .label[data-v-
|
|
9121
|
-
[data-component~="ui-tree-item"][data-move-source] > .row > .label[data-v-
|
|
9122
|
-
[data-component~="ui-tree-item"][data-move-source] > .row > .label[data-v-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
9177
|
-
.drag-handle[data-v-
|
|
9178
|
-
.drag-handle[data-v-
|
|
9179
|
-
[data-component~="ui-tree-item"][data-dragging] > .row > .drag-handle[data-v-
|
|
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-
|
|
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-
|
|
9186
|
-
.drag-handle[data-v-
|
|
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-
|
|
9226
|
+
.drag-handle[data-v-f2ec0a81]:active {
|
|
9191
9227
|
cursor: grabbing;
|
|
9192
9228
|
}
|
|
9193
|
-
.drop-indicator[data-v-
|
|
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-
|
|
9204
|
-
.drop-indicator[data-v-
|
|
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-
|
|
9251
|
+
.drop-indicator[data-v-f2ec0a81]::before {
|
|
9216
9252
|
inset-inline-start: -1px;
|
|
9217
9253
|
}
|
|
9218
|
-
.drop-indicator[data-v-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
9309
|
-
.disclosure-icon[data-v-
|
|
9310
|
-
.drag-handle[data-v-
|
|
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-
|
|
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-
|
|
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-
|
|
9363
|
+
[data-component~="ui-tree-item"][hidden][data-v-f2ec0a81] {
|
|
9328
9364
|
display: none;
|
|
9329
9365
|
}
|
|
9330
9366
|
/**
|