@threadlabs/looma 0.15.2 → 0.15.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/ui-badge/ui-badge.html +30 -5
- package/components/ui-combobox/ui-combobox.html +14 -11
- package/components/ui-combobox/ui-combobox.js +2 -2
- package/dist/index.js +1 -1
- package/editor/chunks/extensions.js +2440 -40
- package/editor/extensions/smart-paste.d.ts +4 -4
- package/package.json +2 -1
- package/styles/ui-badge.css +31 -4
- package/tokens.css +2 -1
- package/vanilla/UiCombobox.d.ts +7 -7
- package/vanilla/UiCombobox.js +1 -1
- package/vue/UiBadge.vue +31 -4
- package/vue/UiCombobox.d.ts +15 -0
- package/vue/UiCombobox.vue +57 -10
- package/vue/chunks/UiBadge.js +1 -1
- package/vue/chunks/UiCombobox.js +30 -9
- package/vue/components.css +112 -85
package/vue/components.css
CHANGED
|
@@ -274,6 +274,10 @@ svg[data-v-50d3f581] {
|
|
|
274
274
|
syntax: "*";
|
|
275
275
|
inherits: false;
|
|
276
276
|
}
|
|
277
|
+
@property --ui-badge-color {
|
|
278
|
+
syntax: "*";
|
|
279
|
+
inherits: false;
|
|
280
|
+
}
|
|
277
281
|
@property --ui-badge-font-size {
|
|
278
282
|
syntax: "*";
|
|
279
283
|
inherits: false;
|
|
@@ -310,12 +314,24 @@ svg[data-v-50d3f581] {
|
|
|
310
314
|
syntax: "*";
|
|
311
315
|
inherits: false;
|
|
312
316
|
}
|
|
313
|
-
[data-component~="ui-badge"][data-v-
|
|
317
|
+
[data-component~="ui-badge"][data-v-3485e390] {
|
|
314
318
|
--_badge-surface: var(--ui-surface-subtle);
|
|
315
319
|
--_badge-text: var(--ui-text-secondary);
|
|
316
320
|
/* Every tone's edge is its fill, so it is unseen until forced colors draw it. */
|
|
317
321
|
--_badge-border: var(--ui-surface-subtle);
|
|
318
|
-
|
|
322
|
+
/* --ui-badge-color derives a wash and an ink from one colour, between the tone and the explicit
|
|
323
|
+
surface, text, and border hooks. Each value is invalid, so the tone shows, while it is unset. The
|
|
324
|
+
mixes keep 4.5:1 text contrast for any colour, in a light theme or a dark one. */
|
|
325
|
+
--_ui-badge-color: var(--ui-badge-color);
|
|
326
|
+
--_badge-color-wash: color-mix(in oklab, var(--_ui-badge-color) 15%, var(--ui-surface-default));
|
|
327
|
+
--_badge-color-ink: color-mix(in oklab, var(--_ui-badge-color) 35%, var(--ui-text-primary));
|
|
328
|
+
--_badge-color-surface: var(--_badge-color-wash);
|
|
329
|
+
--_badge-color-border: var(--_badge-color-wash);
|
|
330
|
+
--_badge-color-text: var(--_badge-color-ink);
|
|
331
|
+
--_badge-outline-surface: var(
|
|
332
|
+
--ui-badge-surface,
|
|
333
|
+
var(--_badge-color-surface, var(--_badge-surface))
|
|
334
|
+
);
|
|
319
335
|
|
|
320
336
|
display: inline-flex;
|
|
321
337
|
align-items: center;
|
|
@@ -323,10 +339,10 @@ svg[data-v-50d3f581] {
|
|
|
323
339
|
max-width: 100%;
|
|
324
340
|
padding: var(--ui-badge-padding-block, var(--ui-space-0-5))
|
|
325
341
|
var(--ui-badge-padding-inline, var(--ui-space-2));
|
|
326
|
-
border: 1px solid var(--ui-badge-border, var(--_badge-border));
|
|
342
|
+
border: 1px solid var(--ui-badge-border, var(--_badge-color-border, var(--_badge-border)));
|
|
327
343
|
border-radius: var(--ui-radius-round);
|
|
328
344
|
background: var(--_badge-outline-surface);
|
|
329
|
-
color: var(--ui-badge-text, var(--_badge-text));
|
|
345
|
+
color: var(--ui-badge-text, var(--_badge-color-text, var(--_badge-text)));
|
|
330
346
|
font-family: var(--ui-font-family-sans);
|
|
331
347
|
font-size: var(--ui-badge-font-size, var(--ui-font-size-sm));
|
|
332
348
|
font-weight: var(--ui-badge-font-weight, var(--ui-font-medium));
|
|
@@ -338,7 +354,7 @@ svg[data-v-50d3f581] {
|
|
|
338
354
|
* Trimming applies to block containers; an inline-block is one and, like the inline-flex it
|
|
339
355
|
* replaces, still sizes to its label rather than filling its container. */
|
|
340
356
|
@supports (text-box-trim: trim-both) {
|
|
341
|
-
[data-component~="ui-badge"][data-v-
|
|
357
|
+
[data-component~="ui-badge"][data-v-3485e390] {
|
|
342
358
|
display: inline-block;
|
|
343
359
|
min-block-size: var(--ui-badge-min-block-size, 1.5rem);
|
|
344
360
|
text-align: center;
|
|
@@ -347,78 +363,89 @@ svg[data-v-50d3f581] {
|
|
|
347
363
|
text-box-edge: cap alphabetic;
|
|
348
364
|
}
|
|
349
365
|
}
|
|
350
|
-
[data-component~="ui-badge"][data-ui-badge-state~="tone=accent"][data-v-
|
|
366
|
+
[data-component~="ui-badge"][data-ui-badge-state~="tone=accent"][data-v-3485e390] {
|
|
351
367
|
--_badge-surface: var(--ui-accent-strong-surface, var(--ui-accent-solid));
|
|
352
368
|
--_badge-border: var(--ui-accent-strong-surface, var(--ui-accent-solid));
|
|
353
369
|
--_badge-text: var(--ui-accent-on-strong, var(--ui-text-on-accent));
|
|
354
370
|
}
|
|
355
|
-
[data-component~="ui-badge"][data-ui-badge-state~="tone=danger"][data-v-
|
|
371
|
+
[data-component~="ui-badge"][data-ui-badge-state~="tone=danger"][data-v-3485e390] {
|
|
356
372
|
--_badge-surface: var(--ui-danger-strong-surface, var(--ui-danger-solid));
|
|
357
373
|
--_badge-border: var(--ui-danger-strong-surface, var(--ui-danger-solid));
|
|
358
374
|
--_badge-text: var(--ui-danger-on-strong, var(--ui-text-on-accent));
|
|
359
375
|
}
|
|
360
|
-
[data-component~="ui-badge"][data-ui-badge-state~="tone=success"][data-v-
|
|
376
|
+
[data-component~="ui-badge"][data-ui-badge-state~="tone=success"][data-v-3485e390] {
|
|
361
377
|
--_badge-surface: var(--ui-success-strong-surface, var(--ui-success-solid));
|
|
362
378
|
--_badge-border: var(--ui-success-strong-surface, var(--ui-success-solid));
|
|
363
379
|
--_badge-text: var(--ui-success-on-strong, var(--ui-text-on-accent));
|
|
364
380
|
}
|
|
365
|
-
[data-component~="ui-badge"][data-ui-badge-state~="tone=warning"][data-v-
|
|
381
|
+
[data-component~="ui-badge"][data-ui-badge-state~="tone=warning"][data-v-3485e390] {
|
|
366
382
|
--_badge-surface: var(--ui-warning-strong-surface, var(--ui-warning-solid));
|
|
367
383
|
--_badge-border: var(--ui-warning-strong-surface, var(--ui-warning-solid));
|
|
368
384
|
--_badge-text: var(--ui-warning-on-strong, var(--ui-text-on-accent));
|
|
369
385
|
}
|
|
370
|
-
[data-component~="ui-badge"][data-ui-badge-state~="tone=info"][data-v-
|
|
386
|
+
[data-component~="ui-badge"][data-ui-badge-state~="tone=info"][data-v-3485e390] {
|
|
371
387
|
--_badge-surface: var(--ui-info-strong-surface, var(--ui-info-solid));
|
|
372
388
|
--_badge-border: var(--ui-info-strong-surface, var(--ui-info-solid));
|
|
373
389
|
--_badge-text: var(--ui-info-on-strong, var(--ui-text-on-accent));
|
|
374
390
|
}
|
|
375
|
-
[data-component~="ui-badge"][data-ui-badge-state~="variant=subtle"][data-ui-badge-state~="tone=accent"][data-v-
|
|
391
|
+
[data-component~="ui-badge"][data-ui-badge-state~="variant=subtle"][data-ui-badge-state~="tone=accent"][data-v-3485e390] {
|
|
376
392
|
--_badge-surface: var(--ui-accent-soft);
|
|
377
393
|
--_badge-border: var(--ui-accent-soft);
|
|
378
394
|
--_badge-text: var(--ui-accent-subtle-text, var(--ui-accent-solid));
|
|
379
395
|
}
|
|
380
|
-
[data-component~="ui-badge"][data-ui-badge-state~="variant=subtle"][data-ui-badge-state~="tone=danger"][data-v-
|
|
396
|
+
[data-component~="ui-badge"][data-ui-badge-state~="variant=subtle"][data-ui-badge-state~="tone=danger"][data-v-3485e390] {
|
|
381
397
|
--_badge-surface: var(--ui-danger-soft);
|
|
382
398
|
--_badge-border: var(--ui-danger-soft);
|
|
383
399
|
--_badge-text: var(--ui-danger-subtle-text, var(--ui-danger-solid));
|
|
384
400
|
}
|
|
385
|
-
[data-component~="ui-badge"][data-ui-badge-state~="variant=subtle"][data-ui-badge-state~="tone=success"][data-v-
|
|
401
|
+
[data-component~="ui-badge"][data-ui-badge-state~="variant=subtle"][data-ui-badge-state~="tone=success"][data-v-3485e390] {
|
|
386
402
|
--_badge-surface: var(--ui-success-soft);
|
|
387
403
|
--_badge-border: var(--ui-success-soft);
|
|
388
404
|
--_badge-text: var(--ui-success-subtle-text, var(--ui-success-solid));
|
|
389
405
|
}
|
|
390
|
-
[data-component~="ui-badge"][data-ui-badge-state~="variant=subtle"][data-ui-badge-state~="tone=warning"][data-v-
|
|
406
|
+
[data-component~="ui-badge"][data-ui-badge-state~="variant=subtle"][data-ui-badge-state~="tone=warning"][data-v-3485e390] {
|
|
391
407
|
--_badge-surface: var(--ui-warning-soft);
|
|
392
408
|
--_badge-border: var(--ui-warning-soft);
|
|
393
409
|
--_badge-text: var(--ui-warning-subtle-text, var(--ui-warning-solid));
|
|
394
410
|
}
|
|
395
|
-
[data-component~="ui-badge"][data-ui-badge-state~="variant=subtle"][data-ui-badge-state~="tone=info"][data-v-
|
|
411
|
+
[data-component~="ui-badge"][data-ui-badge-state~="variant=subtle"][data-ui-badge-state~="tone=info"][data-v-3485e390] {
|
|
396
412
|
--_badge-surface: var(--ui-info-soft);
|
|
397
413
|
--_badge-border: var(--ui-info-soft);
|
|
398
414
|
--_badge-text: var(--ui-info-subtle-text, var(--ui-info-solid));
|
|
399
415
|
}
|
|
400
|
-
|
|
416
|
+
|
|
417
|
+
/* A solid colour fills with the ink. Its text is the page surface, mixed at 0% only so that it too is
|
|
418
|
+
invalid while the hook is unset. */
|
|
419
|
+
[data-component~="ui-badge"][data-ui-badge-state~="variant=solid"][data-v-3485e390] {
|
|
420
|
+
--_badge-color-surface: var(--_badge-color-ink);
|
|
421
|
+
--_badge-color-border: var(--_badge-color-ink);
|
|
422
|
+
--_badge-color-text: color-mix(in oklab, var(--_ui-badge-color) 0%, var(--ui-surface-default));
|
|
423
|
+
}
|
|
424
|
+
[data-component~="ui-badge"][data-ui-badge-state~="variant=outline"][data-v-3485e390] {
|
|
401
425
|
--_badge-surface: var(--ui-surface-default);
|
|
402
426
|
--_badge-border: var(--ui-border-strong);
|
|
403
427
|
--_badge-text: var(--ui-text-secondary);
|
|
428
|
+
/* An outline colour keeps the surface and draws its edge and text in the ink. */
|
|
429
|
+
--_badge-color-surface: initial;
|
|
430
|
+
--_badge-color-border: var(--_badge-color-ink);
|
|
404
431
|
}
|
|
405
|
-
[data-component~="ui-badge"][data-ui-badge-state~="variant=outline"][data-ui-badge-state~="tone=accent"][data-v-
|
|
432
|
+
[data-component~="ui-badge"][data-ui-badge-state~="variant=outline"][data-ui-badge-state~="tone=accent"][data-v-3485e390] {
|
|
406
433
|
--_badge-border: var(--ui-accent-solid);
|
|
407
434
|
--_badge-text: var(--ui-accent-subtle-text, var(--ui-accent-solid));
|
|
408
435
|
}
|
|
409
|
-
[data-component~="ui-badge"][data-ui-badge-state~="variant=outline"][data-ui-badge-state~="tone=danger"][data-v-
|
|
436
|
+
[data-component~="ui-badge"][data-ui-badge-state~="variant=outline"][data-ui-badge-state~="tone=danger"][data-v-3485e390] {
|
|
410
437
|
--_badge-border: var(--ui-danger-solid);
|
|
411
438
|
--_badge-text: var(--ui-danger-subtle-text, var(--ui-danger-solid));
|
|
412
439
|
}
|
|
413
|
-
[data-component~="ui-badge"][data-ui-badge-state~="variant=outline"][data-ui-badge-state~="tone=success"][data-v-
|
|
440
|
+
[data-component~="ui-badge"][data-ui-badge-state~="variant=outline"][data-ui-badge-state~="tone=success"][data-v-3485e390] {
|
|
414
441
|
--_badge-border: var(--ui-success-solid);
|
|
415
442
|
--_badge-text: var(--ui-success-subtle-text, var(--ui-success-solid));
|
|
416
443
|
}
|
|
417
|
-
[data-component~="ui-badge"][data-ui-badge-state~="variant=outline"][data-ui-badge-state~="tone=warning"][data-v-
|
|
444
|
+
[data-component~="ui-badge"][data-ui-badge-state~="variant=outline"][data-ui-badge-state~="tone=warning"][data-v-3485e390] {
|
|
418
445
|
--_badge-border: var(--ui-warning-solid);
|
|
419
446
|
--_badge-text: var(--ui-warning-subtle-text, var(--ui-warning-solid));
|
|
420
447
|
}
|
|
421
|
-
[data-component~="ui-badge"][data-ui-badge-state~="variant=outline"][data-ui-badge-state~="tone=info"][data-v-
|
|
448
|
+
[data-component~="ui-badge"][data-ui-badge-state~="variant=outline"][data-ui-badge-state~="tone=info"][data-v-3485e390] {
|
|
422
449
|
--_badge-border: var(--ui-info-solid);
|
|
423
450
|
--_badge-text: var(--ui-info-subtle-text, var(--ui-info-solid));
|
|
424
451
|
}
|
|
@@ -426,7 +453,7 @@ svg[data-v-50d3f581] {
|
|
|
426
453
|
/* A tag is flat at the start and points at the end. The point is cut from the box, so it has no
|
|
427
454
|
outline to follow: the edge is the fill. The end padding grows by the point's depth so the
|
|
428
455
|
label never runs into it. */
|
|
429
|
-
[data-component~="ui-badge"][data-ui-badge-state~="shape=tag"][data-v-
|
|
456
|
+
[data-component~="ui-badge"][data-ui-badge-state~="shape=tag"][data-v-3485e390] {
|
|
430
457
|
--_badge-point: var(--ui-badge-point, var(--ui-space-2));
|
|
431
458
|
|
|
432
459
|
border-color: transparent;
|
|
@@ -440,7 +467,7 @@ svg[data-v-50d3f581] {
|
|
|
440
467
|
0 100%
|
|
441
468
|
);
|
|
442
469
|
}
|
|
443
|
-
[data-component~="ui-badge"][data-ui-badge-state~="shape=tag"][data-v-
|
|
470
|
+
[data-component~="ui-badge"][data-ui-badge-state~="shape=tag"][data-v-3485e390]:dir(rtl) {
|
|
444
471
|
padding-inline-end: var(--ui-badge-padding-inline, var(--ui-space-2));
|
|
445
472
|
padding-inline-start: calc(
|
|
446
473
|
var(--ui-badge-padding-inline, var(--ui-space-2)) + var(--_badge-point)
|
|
@@ -450,12 +477,12 @@ svg[data-v-50d3f581] {
|
|
|
450
477
|
|
|
451
478
|
/* The tag clips its point, including the native border. Draw the outer shape in the border
|
|
452
479
|
colour and an inset inner shape in the surface colour to keep a visible diagonal edge. */
|
|
453
|
-
[data-component~="ui-badge"][data-ui-badge-state~="variant=outline"][data-ui-badge-state~="shape=tag"][data-v-
|
|
480
|
+
[data-component~="ui-badge"][data-ui-badge-state~="variant=outline"][data-ui-badge-state~="shape=tag"][data-v-3485e390] {
|
|
454
481
|
position: relative;
|
|
455
482
|
isolation: isolate;
|
|
456
|
-
background: var(--ui-badge-border, var(--_badge-border));
|
|
483
|
+
background: var(--ui-badge-border, var(--_badge-color-border, var(--_badge-border)));
|
|
457
484
|
}
|
|
458
|
-
[data-component~="ui-badge"][data-ui-badge-state~="variant=outline"][data-ui-badge-state~="shape=tag"][data-v-
|
|
485
|
+
[data-component~="ui-badge"][data-ui-badge-state~="variant=outline"][data-ui-badge-state~="shape=tag"][data-v-3485e390]::before {
|
|
459
486
|
content: "";
|
|
460
487
|
position: absolute;
|
|
461
488
|
inset: 1px;
|
|
@@ -470,22 +497,22 @@ svg[data-v-50d3f581] {
|
|
|
470
497
|
);
|
|
471
498
|
pointer-events: none;
|
|
472
499
|
}
|
|
473
|
-
[data-component~="ui-badge"][data-ui-badge-state~="variant=outline"][data-ui-badge-state~="shape=tag"][data-v-
|
|
500
|
+
[data-component~="ui-badge"][data-ui-badge-state~="variant=outline"][data-ui-badge-state~="shape=tag"][data-v-3485e390]:dir(rtl)::before {
|
|
474
501
|
clip-path: polygon(var(--_badge-point) 0, 100% 0, 100% 100%, var(--_badge-point) 100%, 0 50%);
|
|
475
502
|
}
|
|
476
503
|
@media (forced-colors: active) {
|
|
477
|
-
[data-component~="ui-badge"][data-ui-badge-state~="variant=outline"][data-ui-badge-state~="shape=tag"][data-v-
|
|
504
|
+
[data-component~="ui-badge"][data-ui-badge-state~="variant=outline"][data-ui-badge-state~="shape=tag"][data-v-3485e390] {
|
|
478
505
|
forced-color-adjust: none;
|
|
479
506
|
background: CanvasText;
|
|
480
507
|
color: CanvasText;
|
|
481
508
|
}
|
|
482
|
-
[data-component~="ui-badge"][data-ui-badge-state~="variant=outline"][data-ui-badge-state~="shape=tag"][data-v-
|
|
509
|
+
[data-component~="ui-badge"][data-ui-badge-state~="variant=outline"][data-ui-badge-state~="shape=tag"][data-v-3485e390]::before {
|
|
483
510
|
background: Canvas;
|
|
484
511
|
}
|
|
485
512
|
}
|
|
486
513
|
|
|
487
514
|
/* A component that sets its display still honours the hidden attribute on its root. */
|
|
488
|
-
[data-component~="ui-badge"][hidden][data-v-
|
|
515
|
+
[data-component~="ui-badge"][hidden][data-v-3485e390] {
|
|
489
516
|
display: none;
|
|
490
517
|
}
|
|
491
518
|
|
|
@@ -1539,7 +1566,7 @@ input[data-v-5e151d99]:focus-visible {
|
|
|
1539
1566
|
syntax: "*";
|
|
1540
1567
|
inherits: false;
|
|
1541
1568
|
}
|
|
1542
|
-
[data-component~="ui-combobox"][data-v-
|
|
1569
|
+
[data-component~="ui-combobox"][data-v-af2537d5] {
|
|
1543
1570
|
/* Hooks do not inherit, so the parts below read them from the root. */
|
|
1544
1571
|
--_ui-combobox-label-text: var(--ui-combobox-label-text);
|
|
1545
1572
|
--_ui-combobox-label-font-size: var(--ui-combobox-label-font-size);
|
|
@@ -1564,20 +1591,20 @@ input[data-v-5e151d99]:focus-visible {
|
|
|
1564
1591
|
color: var(--ui-text-primary);
|
|
1565
1592
|
font: inherit;
|
|
1566
1593
|
}
|
|
1567
|
-
label[data-v-
|
|
1594
|
+
label[data-v-af2537d5] {
|
|
1568
1595
|
color: var(--_ui-combobox-label-text, var(--ui-text-primary));
|
|
1569
1596
|
font-size: var(--_ui-combobox-label-font-size, var(--ui-font-size-sm));
|
|
1570
1597
|
font-weight: 500;
|
|
1571
1598
|
}
|
|
1572
1599
|
/* The field and anything that annotates it sit on one row; the help button is beside the box,
|
|
1573
1600
|
not inside it, because a control's box holds its value. */
|
|
1574
|
-
.control[data-v-
|
|
1601
|
+
.control[data-v-af2537d5] {
|
|
1575
1602
|
display: flex;
|
|
1576
1603
|
align-items: center;
|
|
1577
1604
|
gap: var(--ui-space-2);
|
|
1578
1605
|
min-inline-size: 0;
|
|
1579
1606
|
}
|
|
1580
|
-
.field[data-v-
|
|
1607
|
+
.field[data-v-af2537d5] {
|
|
1581
1608
|
flex: 1 1 auto;
|
|
1582
1609
|
display: flex;
|
|
1583
1610
|
min-inline-size: 0;
|
|
@@ -1589,14 +1616,14 @@ label[data-v-069ed42d] {
|
|
|
1589
1616
|
border-color var(--ui-motion-fast) var(--ui-motion-ease),
|
|
1590
1617
|
box-shadow var(--ui-motion-fast) var(--ui-motion-ease);
|
|
1591
1618
|
}
|
|
1592
|
-
.field[data-v-
|
|
1619
|
+
.field[data-v-af2537d5]:focus-within {
|
|
1593
1620
|
border-color: var(--ui-control-focus, var(--ui-accent-solid));
|
|
1594
1621
|
box-shadow:
|
|
1595
1622
|
var(--ui-control-inset),
|
|
1596
1623
|
var(--ui-control-focus-halo-shadow);
|
|
1597
1624
|
}
|
|
1598
1625
|
/* A ghost icon button: the affordance is the mark, not a box around it. */
|
|
1599
|
-
.help[data-v-
|
|
1626
|
+
.help[data-v-af2537d5] {
|
|
1600
1627
|
flex: none;
|
|
1601
1628
|
display: inline-flex;
|
|
1602
1629
|
align-items: center;
|
|
@@ -1613,28 +1640,28 @@ label[data-v-069ed42d] {
|
|
|
1613
1640
|
background-color var(--ui-motion-fast) var(--ui-motion-ease),
|
|
1614
1641
|
color var(--ui-motion-fast) var(--ui-motion-ease);
|
|
1615
1642
|
}
|
|
1616
|
-
.help[data-v-
|
|
1617
|
-
.help[aria-expanded="true"][data-v-
|
|
1643
|
+
.help[data-v-af2537d5]:hover:enabled,
|
|
1644
|
+
.help[aria-expanded="true"][data-v-af2537d5] {
|
|
1618
1645
|
background: color-mix(in srgb, currentColor 8%, transparent);
|
|
1619
1646
|
color: var(--ui-text-primary);
|
|
1620
1647
|
}
|
|
1621
|
-
.help[data-v-
|
|
1648
|
+
.help[data-v-af2537d5]:focus-visible {
|
|
1622
1649
|
outline: none;
|
|
1623
1650
|
box-shadow: var(--ui-focus-halo);
|
|
1624
1651
|
}
|
|
1625
|
-
.help[data-v-
|
|
1652
|
+
.help[data-v-af2537d5]:disabled {
|
|
1626
1653
|
color: var(--ui-disabled-text);
|
|
1627
1654
|
cursor: not-allowed;
|
|
1628
1655
|
}
|
|
1629
|
-
.help-icon[data-v-
|
|
1656
|
+
.help-icon[data-v-af2537d5] {
|
|
1630
1657
|
inline-size: var(--ui-icon-size-sm);
|
|
1631
1658
|
block-size: var(--ui-icon-size-sm);
|
|
1632
1659
|
}
|
|
1633
|
-
input[data-v-
|
|
1660
|
+
input[data-v-af2537d5]::selection {
|
|
1634
1661
|
background: color-mix(in srgb, var(--ui-accent-solid) 20%, transparent);
|
|
1635
1662
|
color: inherit;
|
|
1636
1663
|
}
|
|
1637
|
-
input[data-v-
|
|
1664
|
+
input[data-v-af2537d5] {
|
|
1638
1665
|
appearance: none;
|
|
1639
1666
|
width: 100%;
|
|
1640
1667
|
min-inline-size: 0;
|
|
@@ -1650,20 +1677,20 @@ input[data-v-069ed42d] {
|
|
|
1650
1677
|
margin: 0;
|
|
1651
1678
|
outline: none;
|
|
1652
1679
|
}
|
|
1653
|
-
[data-component~="ui-combobox"][data-ui-combobox-state~="size=sm"][data-v-
|
|
1680
|
+
[data-component~="ui-combobox"][data-ui-combobox-state~="size=sm"][data-v-af2537d5] {
|
|
1654
1681
|
--_row: var(--ui-control-size-sm);
|
|
1655
1682
|
}
|
|
1656
|
-
[data-component~="ui-combobox"][data-ui-combobox-state~="size=sm"] input[data-v-
|
|
1683
|
+
[data-component~="ui-combobox"][data-ui-combobox-state~="size=sm"] input[data-v-af2537d5] {
|
|
1657
1684
|
min-block-size: calc(var(--_row) - 2px);
|
|
1658
1685
|
padding: var(--ui-space-1) var(--ui-space-2);
|
|
1659
1686
|
font-size: var(--ui-font-size-sm);
|
|
1660
1687
|
}
|
|
1661
|
-
[data-component~="ui-combobox"][data-ui-combobox-state~="size=lg"] input[data-v-
|
|
1688
|
+
[data-component~="ui-combobox"][data-ui-combobox-state~="size=lg"] input[data-v-af2537d5] {
|
|
1662
1689
|
min-block-size: calc(var(--ui-control-size-lg) - 2px);
|
|
1663
1690
|
padding: var(--ui-space-3) var(--ui-space-4);
|
|
1664
1691
|
font-size: var(--ui-font-size-md);
|
|
1665
1692
|
}
|
|
1666
|
-
button[data-v-
|
|
1693
|
+
button[data-v-af2537d5] {
|
|
1667
1694
|
appearance: none;
|
|
1668
1695
|
display: inline-grid;
|
|
1669
1696
|
place-items: center;
|
|
@@ -1678,35 +1705,35 @@ button[data-v-069ed42d] {
|
|
|
1678
1705
|
padding: 0 var(--ui-space-1);
|
|
1679
1706
|
cursor: pointer;
|
|
1680
1707
|
}
|
|
1681
|
-
.affordance-icon[data-v-
|
|
1708
|
+
.affordance-icon[data-v-af2537d5] {
|
|
1682
1709
|
display: block;
|
|
1683
1710
|
inline-size: var(--ui-icon-size-sm);
|
|
1684
1711
|
block-size: var(--ui-icon-size-sm);
|
|
1685
1712
|
}
|
|
1686
|
-
button[data-v-
|
|
1713
|
+
button[data-v-af2537d5]:hover:enabled {
|
|
1687
1714
|
background: var(--ui-surface-muted);
|
|
1688
1715
|
color: var(--ui-text-primary);
|
|
1689
1716
|
}
|
|
1690
|
-
button[data-v-
|
|
1717
|
+
button[data-v-af2537d5]:focus-visible {
|
|
1691
1718
|
outline: none;
|
|
1692
1719
|
background: var(--ui-surface-muted);
|
|
1693
1720
|
box-shadow: inset 0 0 0 2px color-mix(in srgb, var(--ui-focus-ring) 45%, transparent);
|
|
1694
1721
|
}
|
|
1695
|
-
input[data-v-
|
|
1722
|
+
input[data-v-af2537d5]:disabled, button[data-v-af2537d5]:disabled {
|
|
1696
1723
|
color: var(--ui-disabled-text);
|
|
1697
1724
|
cursor: not-allowed;
|
|
1698
1725
|
}
|
|
1699
|
-
.field[data-v-
|
|
1726
|
+
.field[data-v-af2537d5]:has(input:disabled) {
|
|
1700
1727
|
background: var(--ui-control-surface-disabled, var(--ui-surface-muted));
|
|
1701
1728
|
}
|
|
1702
|
-
[data-component~="ui-combobox"][data-ui-combobox-state~="validationStatus=error"] .field[data-v-
|
|
1703
|
-
[data-component~="ui-combobox"][data-ui-combobox-state~="invalid"] .field[data-v-
|
|
1729
|
+
[data-component~="ui-combobox"][data-ui-combobox-state~="validationStatus=error"] .field[data-v-af2537d5],
|
|
1730
|
+
[data-component~="ui-combobox"][data-ui-combobox-state~="invalid"] .field[data-v-af2537d5] {
|
|
1704
1731
|
border-color: var(
|
|
1705
1732
|
--_ui-combobox-invalid-border,
|
|
1706
1733
|
var(--ui-field-danger, var(--ui-danger-solid, var(--ui-accent-active)))
|
|
1707
1734
|
);
|
|
1708
1735
|
}
|
|
1709
|
-
.popup[data-v-
|
|
1736
|
+
.popup[data-v-af2537d5] {
|
|
1710
1737
|
box-sizing: border-box;
|
|
1711
1738
|
min-inline-size: 12rem;
|
|
1712
1739
|
max-inline-size: calc(100vw - 1rem);
|
|
@@ -1727,57 +1754,57 @@ input[data-v-069ed42d]:disabled, button[data-v-069ed42d]:disabled {
|
|
|
1727
1754
|
var(--ui-overlay-shadow, var(--ui-elevation-overlay, var(--ui-shadow-lg)))
|
|
1728
1755
|
);
|
|
1729
1756
|
}
|
|
1730
|
-
[hidden][data-v-
|
|
1757
|
+
[hidden][data-v-af2537d5] {
|
|
1731
1758
|
display: none;
|
|
1732
1759
|
}
|
|
1733
|
-
.option[data-v-
|
|
1760
|
+
.option[data-v-af2537d5] {
|
|
1734
1761
|
padding: var(--ui-space-2) var(--ui-space-3);
|
|
1735
1762
|
border-radius: var(--ui-radius-sm);
|
|
1736
1763
|
cursor: pointer;
|
|
1737
1764
|
overflow-wrap: anywhere;
|
|
1738
1765
|
}
|
|
1739
|
-
.option[data-v-
|
|
1766
|
+
.option[data-v-af2537d5]:hover, .option.active[data-v-af2537d5] {
|
|
1740
1767
|
background: var(--ui-surface-muted);
|
|
1741
1768
|
outline: 1px solid var(--ui-focus-ring);
|
|
1742
1769
|
outline-offset: -1px;
|
|
1743
1770
|
}
|
|
1744
|
-
.option[aria-disabled="true"][data-v-
|
|
1771
|
+
.option[aria-disabled="true"][data-v-af2537d5] {
|
|
1745
1772
|
color: var(--ui-disabled-text);
|
|
1746
1773
|
cursor: not-allowed;
|
|
1747
1774
|
}
|
|
1748
|
-
.primary[data-v-
|
|
1775
|
+
.primary[data-v-af2537d5] {
|
|
1749
1776
|
display: block;
|
|
1750
1777
|
color: var(--_ui-combobox-option-text, var(--ui-text-primary));
|
|
1751
1778
|
font-weight: 500;
|
|
1752
1779
|
}
|
|
1753
1780
|
/* A row with a tag or a description: the label and its tag on one line, the description under them. */
|
|
1754
|
-
.detail[data-v-
|
|
1781
|
+
.detail[data-v-af2537d5] {
|
|
1755
1782
|
display: grid;
|
|
1756
1783
|
gap: var(--ui-space-0-5);
|
|
1757
1784
|
min-inline-size: 0;
|
|
1758
1785
|
}
|
|
1759
|
-
.line[data-v-
|
|
1786
|
+
.line[data-v-af2537d5] {
|
|
1760
1787
|
display: flex;
|
|
1761
1788
|
flex-wrap: wrap;
|
|
1762
1789
|
align-items: center;
|
|
1763
1790
|
gap: var(--ui-space-2);
|
|
1764
1791
|
}
|
|
1765
|
-
.description[data-v-
|
|
1792
|
+
.description[data-v-af2537d5] {
|
|
1766
1793
|
color: var(--ui-text-muted);
|
|
1767
1794
|
font-size: var(--ui-font-size-sm);
|
|
1768
1795
|
line-height: var(--ui-line-height-md);
|
|
1769
1796
|
}
|
|
1770
|
-
.message[data-v-
|
|
1797
|
+
.message[data-v-af2537d5], .group[data-v-af2537d5] {
|
|
1771
1798
|
color: var(--_ui-combobox-message-text, var(--ui-text-secondary));
|
|
1772
1799
|
font-weight: 400;
|
|
1773
1800
|
font-size: var(--ui-font-size-sm);
|
|
1774
1801
|
line-height: var(--ui-line-height-md);
|
|
1775
1802
|
overflow-wrap: anywhere;
|
|
1776
1803
|
}
|
|
1777
|
-
.group[data-v-
|
|
1804
|
+
.group[data-v-af2537d5], .popup .message[data-v-af2537d5] {
|
|
1778
1805
|
padding: var(--ui-space-2) var(--ui-space-3);
|
|
1779
1806
|
}
|
|
1780
|
-
.sr-only[data-v-
|
|
1807
|
+
.sr-only[data-v-af2537d5] {
|
|
1781
1808
|
position: absolute;
|
|
1782
1809
|
inline-size: 1px;
|
|
1783
1810
|
block-size: 1px;
|
|
@@ -1786,24 +1813,24 @@ input[data-v-069ed42d]:disabled, button[data-v-069ed42d]:disabled {
|
|
|
1786
1813
|
white-space: nowrap;
|
|
1787
1814
|
}
|
|
1788
1815
|
@media (pointer: coarse) {
|
|
1789
|
-
button[data-v-
|
|
1816
|
+
button[data-v-af2537d5] {
|
|
1790
1817
|
min-inline-size: 2.75rem;
|
|
1791
1818
|
min-block-size: 2.75rem;
|
|
1792
1819
|
}
|
|
1793
1820
|
/* Under touch a small field is still a touch-sized target, as a small button is, and keeps
|
|
1794
1821
|
body-size text: below 16px, iOS zooms the page into the focused field. */
|
|
1795
|
-
[data-component~="ui-combobox"][data-ui-combobox-state~="size=sm"][data-v-
|
|
1822
|
+
[data-component~="ui-combobox"][data-ui-combobox-state~="size=sm"][data-v-af2537d5] {
|
|
1796
1823
|
--_row: var(--ui-control-min-block-size);
|
|
1797
1824
|
}
|
|
1798
|
-
[data-component~="ui-combobox"][data-ui-combobox-state~="size=sm"] input[data-v-
|
|
1825
|
+
[data-component~="ui-combobox"][data-ui-combobox-state~="size=sm"] input[data-v-af2537d5] {
|
|
1799
1826
|
font-size: inherit;
|
|
1800
1827
|
}
|
|
1801
1828
|
}
|
|
1802
1829
|
@media (forced-colors: active) {
|
|
1803
|
-
.field[data-v-
|
|
1830
|
+
.field[data-v-af2537d5], .popup[data-v-af2537d5] {
|
|
1804
1831
|
border-color: CanvasText;
|
|
1805
1832
|
}
|
|
1806
|
-
.option.active[data-v-
|
|
1833
|
+
.option.active[data-v-af2537d5] {
|
|
1807
1834
|
outline-color: Highlight;
|
|
1808
1835
|
}
|
|
1809
1836
|
}
|
|
@@ -1811,12 +1838,12 @@ button[data-v-069ed42d] {
|
|
|
1811
1838
|
/* Multiple mode: every option carries a checkbox, so a list that takes several answers says so
|
|
1812
1839
|
before anything is picked. aria-selected is the state; this draws it.
|
|
1813
1840
|
Longhands, not shorthands: lowering drops a shorthand that omits a component. */
|
|
1814
|
-
[data-component~="ui-combobox"][data-ui-combobox-state~="multiple"] .option[data-v-
|
|
1841
|
+
[data-component~="ui-combobox"][data-ui-combobox-state~="multiple"] .option[data-v-af2537d5] {
|
|
1815
1842
|
display: flex;
|
|
1816
1843
|
gap: var(--ui-space-2);
|
|
1817
1844
|
align-items: center;
|
|
1818
1845
|
}
|
|
1819
|
-
[data-component~="ui-combobox"][data-ui-combobox-state~="multiple"] .option[data-v-
|
|
1846
|
+
[data-component~="ui-combobox"][data-ui-combobox-state~="multiple"] .option[data-v-af2537d5]::before {
|
|
1820
1847
|
content: "";
|
|
1821
1848
|
flex: none;
|
|
1822
1849
|
inline-size: 1.125rem;
|
|
@@ -1831,7 +1858,7 @@ button[data-v-069ed42d] {
|
|
|
1831
1858
|
background-size: 0.7rem;
|
|
1832
1859
|
}
|
|
1833
1860
|
[data-component~="ui-combobox"][data-ui-combobox-state~="multiple"]
|
|
1834
|
-
.option[aria-selected="true"][data-v-
|
|
1861
|
+
.option[aria-selected="true"][data-v-af2537d5]::before {
|
|
1835
1862
|
border-color: var(--ui-accent-solid);
|
|
1836
1863
|
background-color: var(--ui-accent-solid);
|
|
1837
1864
|
background-image: var(
|
|
@@ -1841,14 +1868,14 @@ button[data-v-069ed42d] {
|
|
|
1841
1868
|
}
|
|
1842
1869
|
|
|
1843
1870
|
/* Multiple mode: chips wrap before the cursor on one flexible field line. */
|
|
1844
|
-
[data-component~="ui-combobox"][data-ui-combobox-state~="multiple"] .field[data-v-
|
|
1871
|
+
[data-component~="ui-combobox"][data-ui-combobox-state~="multiple"] .field[data-v-af2537d5] {
|
|
1845
1872
|
flex-wrap: wrap;
|
|
1846
1873
|
align-items: center;
|
|
1847
1874
|
gap: var(--ui-space-1);
|
|
1848
1875
|
min-block-size: var(--_ui-combobox-item-min-block-size, 2.5rem);
|
|
1849
1876
|
padding: var(--ui-space-1);
|
|
1850
1877
|
}
|
|
1851
|
-
[data-component~="ui-combobox"][data-ui-combobox-state~="multiple"] input[data-v-
|
|
1878
|
+
[data-component~="ui-combobox"][data-ui-combobox-state~="multiple"] input[data-v-af2537d5] {
|
|
1852
1879
|
flex: 1 0 var(--_ui-combobox-item-input-min-inline-size, 5rem);
|
|
1853
1880
|
width: auto;
|
|
1854
1881
|
min-block-size: 1.75rem;
|
|
@@ -1856,25 +1883,25 @@ button[data-v-069ed42d] {
|
|
|
1856
1883
|
}
|
|
1857
1884
|
/* A small multiple field starts at the small control height; chosen items still wrap it taller. */
|
|
1858
1885
|
[data-component~="ui-combobox"][data-ui-combobox-state~="multiple"][data-component~="ui-combobox"][data-ui-combobox-state~="size=sm"]
|
|
1859
|
-
.field[data-v-
|
|
1886
|
+
.field[data-v-af2537d5] {
|
|
1860
1887
|
min-block-size: 0;
|
|
1861
1888
|
padding: var(--ui-space-0-5);
|
|
1862
1889
|
}
|
|
1863
1890
|
[data-component~="ui-combobox"][data-ui-combobox-state~="multiple"][data-component~="ui-combobox"][data-ui-combobox-state~="size=sm"]
|
|
1864
|
-
input[data-v-
|
|
1891
|
+
input[data-v-af2537d5] {
|
|
1865
1892
|
min-block-size: calc(var(--_row) - 2px - 2 * var(--ui-space-0-5));
|
|
1866
1893
|
padding: 0 var(--ui-space-1);
|
|
1867
1894
|
}
|
|
1868
1895
|
/* A large multiple field starts at the large control height, as sm starts at the small one. */
|
|
1869
1896
|
[data-component~="ui-combobox"][data-ui-combobox-state~="multiple"][data-component~="ui-combobox"][data-ui-combobox-state~="size=lg"]
|
|
1870
|
-
.field[data-v-
|
|
1897
|
+
.field[data-v-af2537d5] {
|
|
1871
1898
|
min-block-size: 0;
|
|
1872
1899
|
}
|
|
1873
1900
|
[data-component~="ui-combobox"][data-ui-combobox-state~="multiple"][data-component~="ui-combobox"][data-ui-combobox-state~="size=lg"]
|
|
1874
|
-
input[data-v-
|
|
1901
|
+
input[data-v-af2537d5] {
|
|
1875
1902
|
min-block-size: calc(var(--ui-control-size-lg) - 2px - 2 * var(--ui-space-1));
|
|
1876
1903
|
}
|
|
1877
|
-
.item[data-v-
|
|
1904
|
+
.item[data-v-af2537d5] {
|
|
1878
1905
|
appearance: none;
|
|
1879
1906
|
display: inline-flex;
|
|
1880
1907
|
min-inline-size: 0;
|
|
@@ -1888,16 +1915,16 @@ button[data-v-069ed42d] {
|
|
|
1888
1915
|
font: inherit;
|
|
1889
1916
|
cursor: default;
|
|
1890
1917
|
}
|
|
1891
|
-
.item[data-v-
|
|
1918
|
+
.item[data-v-af2537d5]:focus-visible {
|
|
1892
1919
|
outline: 2px solid var(--ui-focus-ring);
|
|
1893
1920
|
outline-offset: 1px;
|
|
1894
1921
|
}
|
|
1895
|
-
.item[data-v-
|
|
1922
|
+
.item[data-v-af2537d5]:disabled {
|
|
1896
1923
|
opacity: 0.6;
|
|
1897
1924
|
}
|
|
1898
1925
|
|
|
1899
1926
|
/* A component that sets its display still honours the hidden attribute on its root. */
|
|
1900
|
-
[data-component~="ui-combobox"][hidden][data-v-
|
|
1927
|
+
[data-component~="ui-combobox"][hidden][data-v-af2537d5] {
|
|
1901
1928
|
display: none;
|
|
1902
1929
|
}
|
|
1903
1930
|
|
|
@@ -8187,7 +8214,7 @@ html[data-ui-input-modality="touch"]
|
|
|
8187
8214
|
position: relative;
|
|
8188
8215
|
}
|
|
8189
8216
|
|
|
8190
|
-
.looma-editor .ProseMirror > .looma-active-block::before {
|
|
8217
|
+
.looma-editor .ProseMirror > .looma-active-block:not(.is-editor-empty)::before {
|
|
8191
8218
|
position: absolute;
|
|
8192
8219
|
z-index: 1;
|
|
8193
8220
|
inset-block: 0;
|