@threadlabs/looma 0.22.10 → 0.22.12
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/shared/overlay.js +33 -1
- package/components/ui-dialog/ui-dialog.html +6 -0
- package/components/ui-dialog/ui-dialog.js +2 -2
- package/components/ui-input-group/ui-input-group.html +14 -0
- package/components/ui-search-shell/ui-search-shell.html +8 -0
- package/components/ui-search-shell/ui-search-shell.js +11 -1
- package/components/ui-sidebar/ui-sidebar.js +3 -0
- package/components/ui-toast-region/ui-toast-region.js +4 -0
- package/components/ui-tooltip/ui-tooltip.js +13 -2
- package/dist/index.js +1 -1
- package/package.json +1 -1
- package/styles/ui-dialog.css +6 -0
- package/styles/ui-input-group.css +16 -0
- package/styles/ui-search-shell.css +8 -0
- package/vue/UiDialog.vue +6 -0
- package/vue/UiInputGroup.vue +14 -0
- package/vue/UiSearchShell.vue +8 -0
- package/vue/chunks/UiDialog.js +1 -1
- package/vue/chunks/UiInputGroup.js +1 -1
- package/vue/chunks/UiSearchShell.js +1 -1
- package/vue/components.css +145 -63
- package/vue/editor/LoomaEditor.d.ts +48 -0
- package/vue/editor/index.d.ts +1 -1
- package/vue/editor/index.js +174 -9
package/package.json
CHANGED
package/styles/ui-dialog.css
CHANGED
|
@@ -213,6 +213,12 @@
|
|
|
213
213
|
background-color: var(--ui-overlay-backdrop);
|
|
214
214
|
animation: ui-dialog-backdrop-enter var(--_ui-dialog-duration, var(--ui-motion-base)) var(--ui-motion-ease);
|
|
215
215
|
}
|
|
216
|
+
|
|
217
|
+
:scope[open][data-ui-backdrop-hidden]::backdrop {
|
|
218
|
+
background-color: transparent;
|
|
219
|
+
animation: none;
|
|
220
|
+
transition: none;
|
|
221
|
+
}
|
|
216
222
|
}
|
|
217
223
|
@scope ([data-component~="ui-dialog"]) to ([data-component]) {
|
|
218
224
|
/* This component's hooks style the element they are set on, and never a nested one. */
|
|
@@ -125,6 +125,20 @@
|
|
|
125
125
|
white-space: nowrap;
|
|
126
126
|
}
|
|
127
127
|
|
|
128
|
+
/* Fixed text is part of the value, but should not look editable. */
|
|
129
|
+
.affix:has([slot="prefix"]),
|
|
130
|
+
.affix:has([slot="suffix"]) {
|
|
131
|
+
background: var(--ui-surface-muted);
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
.affix:has([slot="prefix"]) {
|
|
135
|
+
border-inline-end: 1px solid var(--ui-border-divider);
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
.affix:has([slot="suffix"]) {
|
|
139
|
+
border-inline-start: 1px solid var(--ui-border-divider);
|
|
140
|
+
}
|
|
141
|
+
|
|
128
142
|
/* Centred rather than padded above and below: the group is exactly a lone Input's height, so a
|
|
129
143
|
small button sits inside it with the difference split evenly, and the field keeps its height. */
|
|
130
144
|
.action {
|
|
@@ -166,6 +180,8 @@
|
|
|
166
180
|
@media (forced-colors: active) {
|
|
167
181
|
}
|
|
168
182
|
|
|
183
|
+
/* Fixed text is part of the value, but should not look editable. */
|
|
184
|
+
|
|
169
185
|
/* Centred rather than padded above and below: the group is exactly a lone Input's height, so a
|
|
170
186
|
small button sits inside it with the difference split evenly, and the field keeps its height. */
|
|
171
187
|
|
package/vue/UiDialog.vue
CHANGED
|
@@ -545,6 +545,12 @@ footer:empty {
|
|
|
545
545
|
var(--ui-motion-ease);
|
|
546
546
|
}
|
|
547
547
|
|
|
548
|
+
[data-component~="ui-dialog"][open][data-ui-backdrop-hidden]::backdrop {
|
|
549
|
+
background-color: transparent;
|
|
550
|
+
animation: none;
|
|
551
|
+
transition: none;
|
|
552
|
+
}
|
|
553
|
+
|
|
548
554
|
@keyframes ui-dialog-backdrop-enter {
|
|
549
555
|
from {
|
|
550
556
|
background-color: transparent;
|
package/vue/UiInputGroup.vue
CHANGED
|
@@ -269,6 +269,20 @@ useComponentHost(() => import('../components/ui-input-group/ui-input-group.js'),
|
|
|
269
269
|
white-space: nowrap;
|
|
270
270
|
}
|
|
271
271
|
|
|
272
|
+
/* Fixed text is part of the value, but should not look editable. */
|
|
273
|
+
.affix:has([slot="prefix"]),
|
|
274
|
+
.affix:has([slot="suffix"]) {
|
|
275
|
+
background: var(--ui-surface-muted);
|
|
276
|
+
}
|
|
277
|
+
|
|
278
|
+
.affix:has([slot="prefix"]) {
|
|
279
|
+
border-inline-end: 1px solid var(--ui-border-divider);
|
|
280
|
+
}
|
|
281
|
+
|
|
282
|
+
.affix:has([slot="suffix"]) {
|
|
283
|
+
border-inline-start: 1px solid var(--ui-border-divider);
|
|
284
|
+
}
|
|
285
|
+
|
|
272
286
|
/* Centred rather than padded above and below: the group is exactly a lone Input's height, so a
|
|
273
287
|
small button sits inside it with the difference split evenly, and the field keeps its height. */
|
|
274
288
|
.action {
|
package/vue/UiSearchShell.vue
CHANGED
|
@@ -298,6 +298,14 @@ dialog::backdrop {
|
|
|
298
298
|
background: var(--ui-overlay-backdrop);
|
|
299
299
|
}
|
|
300
300
|
|
|
301
|
+
dialog:modal {
|
|
302
|
+
background: transparent;
|
|
303
|
+
}
|
|
304
|
+
|
|
305
|
+
dialog[data-ui-backdrop-hidden]::backdrop {
|
|
306
|
+
background: transparent;
|
|
307
|
+
}
|
|
308
|
+
|
|
301
309
|
.panel {
|
|
302
310
|
position: relative;
|
|
303
311
|
display: flex;
|
package/vue/chunks/UiDialog.js
CHANGED
package/vue/components.css
CHANGED
|
@@ -2381,7 +2381,7 @@ dd[data-v-7a7db3d1] {
|
|
|
2381
2381
|
syntax: "*";
|
|
2382
2382
|
inherits: false;
|
|
2383
2383
|
}
|
|
2384
|
-
[data-component~="ui-dialog"][data-v-
|
|
2384
|
+
[data-component~="ui-dialog"][data-v-89cad3bb] {
|
|
2385
2385
|
/* Hooks do not inherit, so the parts below read them from the root. */
|
|
2386
2386
|
--_ui-dialog-duration: var(--ui-dialog-duration);
|
|
2387
2387
|
|
|
@@ -2416,21 +2416,21 @@ dd[data-v-7a7db3d1] {
|
|
|
2416
2416
|
display var(--ui-dialog-duration, var(--ui-motion-base)) var(--ui-motion-ease) allow-discrete,
|
|
2417
2417
|
overlay var(--ui-dialog-duration, var(--ui-motion-base)) var(--ui-motion-ease) allow-discrete;
|
|
2418
2418
|
}
|
|
2419
|
-
[data-component~="ui-dialog"][open][data-v-
|
|
2419
|
+
[data-component~="ui-dialog"][open][data-v-89cad3bb] {
|
|
2420
2420
|
display: flex;
|
|
2421
2421
|
visibility: visible;
|
|
2422
2422
|
pointer-events: auto;
|
|
2423
2423
|
opacity: 1;
|
|
2424
2424
|
transform: scale(1);
|
|
2425
|
-
animation: ui-dialog-enter-
|
|
2425
|
+
animation: ui-dialog-enter-89cad3bb var(--ui-dialog-duration, var(--ui-motion-base)) var(--ui-motion-ease);
|
|
2426
2426
|
}
|
|
2427
|
-
[data-component~="ui-dialog"][data-ui-dialog-state~="size=sm"][data-v-
|
|
2427
|
+
[data-component~="ui-dialog"][data-ui-dialog-state~="size=sm"][data-v-89cad3bb] {
|
|
2428
2428
|
--_ui-dialog-size: 360px;
|
|
2429
2429
|
}
|
|
2430
|
-
[data-component~="ui-dialog"][data-ui-dialog-state~="size=lg"][data-v-
|
|
2430
|
+
[data-component~="ui-dialog"][data-ui-dialog-state~="size=lg"][data-v-89cad3bb] {
|
|
2431
2431
|
--_ui-dialog-size: 640px;
|
|
2432
2432
|
}
|
|
2433
|
-
[data-component~="ui-dialog"][data-ui-dialog-state~="size=fullscreen"][data-v-
|
|
2433
|
+
[data-component~="ui-dialog"][data-ui-dialog-state~="size=fullscreen"][data-v-89cad3bb] {
|
|
2434
2434
|
inset: 0;
|
|
2435
2435
|
inline-size: 100%;
|
|
2436
2436
|
block-size: 100dvh;
|
|
@@ -2438,12 +2438,12 @@ dd[data-v-7a7db3d1] {
|
|
|
2438
2438
|
margin: 0;
|
|
2439
2439
|
border-radius: var(--ui-dialog-radius, 0);
|
|
2440
2440
|
}
|
|
2441
|
-
[data-component~="ui-dialog"][data-ui-dialog-state~="alert"] .close[data-v-
|
|
2441
|
+
[data-component~="ui-dialog"][data-ui-dialog-state~="alert"] .close[data-v-89cad3bb] {
|
|
2442
2442
|
display: none;
|
|
2443
2443
|
}
|
|
2444
2444
|
|
|
2445
2445
|
/* Header and actions stay pinned; only the body scrolls when content is long. */
|
|
2446
|
-
header[data-v-
|
|
2446
|
+
header[data-v-89cad3bb] {
|
|
2447
2447
|
display: flex;
|
|
2448
2448
|
align-items: center;
|
|
2449
2449
|
gap: var(--ui-space-3);
|
|
@@ -2452,7 +2452,7 @@ header[data-v-6680d681] {
|
|
|
2452
2452
|
}
|
|
2453
2453
|
|
|
2454
2454
|
/* :host-qualified so page heading rules that reach in cannot outrank the dialog chrome. */
|
|
2455
|
-
[data-component~="ui-dialog"] .title[data-v-
|
|
2455
|
+
[data-component~="ui-dialog"] .title[data-v-89cad3bb] {
|
|
2456
2456
|
flex: 1;
|
|
2457
2457
|
min-inline-size: 0;
|
|
2458
2458
|
margin: 0;
|
|
@@ -2464,7 +2464,7 @@ header[data-v-6680d681] {
|
|
|
2464
2464
|
font-weight: var(--ui-font-semibold);
|
|
2465
2465
|
line-height: var(--ui-line-height-tight);
|
|
2466
2466
|
}
|
|
2467
|
-
.close[data-v-
|
|
2467
|
+
.close[data-v-89cad3bb] {
|
|
2468
2468
|
display: inline-grid;
|
|
2469
2469
|
place-items: center;
|
|
2470
2470
|
flex: none;
|
|
@@ -2483,8 +2483,8 @@ header[data-v-6680d681] {
|
|
|
2483
2483
|
}
|
|
2484
2484
|
|
|
2485
2485
|
/* A CSS-drawn X. */
|
|
2486
|
-
.close[data-v-
|
|
2487
|
-
.close[data-v-
|
|
2486
|
+
.close[data-v-89cad3bb]::before,
|
|
2487
|
+
.close[data-v-89cad3bb]::after {
|
|
2488
2488
|
content: "";
|
|
2489
2489
|
grid-area: 1 / 1;
|
|
2490
2490
|
inline-size: 0.875rem;
|
|
@@ -2493,35 +2493,35 @@ header[data-v-6680d681] {
|
|
|
2493
2493
|
background: currentColor;
|
|
2494
2494
|
transform: rotate(45deg);
|
|
2495
2495
|
}
|
|
2496
|
-
.close[data-v-
|
|
2496
|
+
.close[data-v-89cad3bb]::after {
|
|
2497
2497
|
transform: rotate(-45deg);
|
|
2498
2498
|
}
|
|
2499
|
-
.close[data-v-
|
|
2499
|
+
.close[data-v-89cad3bb]:hover {
|
|
2500
2500
|
background: var(--ui-surface-muted);
|
|
2501
2501
|
color: var(--ui-text-primary);
|
|
2502
2502
|
}
|
|
2503
|
-
.close[data-v-
|
|
2503
|
+
.close[data-v-89cad3bb]:focus-visible {
|
|
2504
2504
|
outline: 2px solid var(--ui-focus-ring);
|
|
2505
2505
|
outline-offset: 2px;
|
|
2506
2506
|
}
|
|
2507
2507
|
|
|
2508
2508
|
/* A touch target, like Button on coarse pointers. */
|
|
2509
2509
|
@media (pointer: coarse) {
|
|
2510
|
-
.close[data-v-
|
|
2510
|
+
.close[data-v-89cad3bb] {
|
|
2511
2511
|
inline-size: var(--ui-control-min-block-size);
|
|
2512
2512
|
block-size: var(--ui-control-min-block-size);
|
|
2513
2513
|
}
|
|
2514
2514
|
}
|
|
2515
|
-
html[data-ui-input-modality="touch"] [data-component~="ui-dialog"] .close[data-v-
|
|
2515
|
+
html[data-ui-input-modality="touch"] [data-component~="ui-dialog"] .close[data-v-89cad3bb] {
|
|
2516
2516
|
inline-size: var(--ui-control-min-block-size);
|
|
2517
2517
|
block-size: var(--ui-control-min-block-size);
|
|
2518
2518
|
}
|
|
2519
|
-
.body[data-v-
|
|
2519
|
+
.body[data-v-89cad3bb] {
|
|
2520
2520
|
flex: 1 1 auto;
|
|
2521
2521
|
min-block-size: 0;
|
|
2522
2522
|
padding: var(--ui-space-5);
|
|
2523
2523
|
}
|
|
2524
|
-
footer[data-v-
|
|
2524
|
+
footer[data-v-89cad3bb] {
|
|
2525
2525
|
display: flex;
|
|
2526
2526
|
flex: none;
|
|
2527
2527
|
flex-wrap: wrap;
|
|
@@ -2529,28 +2529,33 @@ footer[data-v-6680d681] {
|
|
|
2529
2529
|
gap: var(--ui-space-2);
|
|
2530
2530
|
padding: var(--ui-space-3) var(--ui-space-5);
|
|
2531
2531
|
}
|
|
2532
|
-
footer[data-v-
|
|
2532
|
+
footer[data-v-89cad3bb]:empty {
|
|
2533
2533
|
display: none;
|
|
2534
2534
|
}
|
|
2535
|
-
@keyframes ui-dialog-enter-
|
|
2535
|
+
@keyframes ui-dialog-enter-89cad3bb {
|
|
2536
2536
|
from {
|
|
2537
2537
|
opacity: 0;
|
|
2538
2538
|
transform: scale(0.96);
|
|
2539
2539
|
}
|
|
2540
2540
|
}
|
|
2541
|
-
[data-component~="ui-dialog"][data-v-
|
|
2541
|
+
[data-component~="ui-dialog"][data-v-89cad3bb]::backdrop {
|
|
2542
2542
|
background-color: transparent;
|
|
2543
2543
|
transition:
|
|
2544
2544
|
background-color var(--_ui-dialog-duration, var(--ui-motion-base)) var(--ui-motion-ease),
|
|
2545
2545
|
display var(--_ui-dialog-duration, var(--ui-motion-base)) var(--ui-motion-ease) allow-discrete,
|
|
2546
2546
|
overlay var(--_ui-dialog-duration, var(--ui-motion-base)) var(--ui-motion-ease) allow-discrete;
|
|
2547
2547
|
}
|
|
2548
|
-
[data-component~="ui-dialog"][open][data-v-
|
|
2548
|
+
[data-component~="ui-dialog"][open][data-v-89cad3bb]::backdrop {
|
|
2549
2549
|
background-color: var(--ui-overlay-backdrop);
|
|
2550
|
-
animation: ui-dialog-backdrop-enter-
|
|
2550
|
+
animation: ui-dialog-backdrop-enter-89cad3bb var(--_ui-dialog-duration, var(--ui-motion-base))
|
|
2551
2551
|
var(--ui-motion-ease);
|
|
2552
2552
|
}
|
|
2553
|
-
|
|
2553
|
+
[data-component~="ui-dialog"][open][data-ui-backdrop-hidden][data-v-89cad3bb]::backdrop {
|
|
2554
|
+
background-color: transparent;
|
|
2555
|
+
animation: none;
|
|
2556
|
+
transition: none;
|
|
2557
|
+
}
|
|
2558
|
+
@keyframes ui-dialog-backdrop-enter-89cad3bb {
|
|
2554
2559
|
from {
|
|
2555
2560
|
background-color: transparent;
|
|
2556
2561
|
}
|
|
@@ -4790,7 +4795,7 @@ svg[data-v-0d1b1c7d-s] {
|
|
|
4790
4795
|
whole value is. The action slot takes one button at the end, inside the border, for the one
|
|
4791
4796
|
thing the field is for ("Continue" after a site's address), so it reads as the field's action
|
|
4792
4797
|
and not the form's. */
|
|
4793
|
-
[data-component~="ui-input-group"][data-v-
|
|
4798
|
+
[data-component~="ui-input-group"][data-v-5cf4aea5] {
|
|
4794
4799
|
/* The group's own border and height stand for the input's, so the group is a lone Input's height.
|
|
4795
4800
|
Hooks do not inherit, so these are defaults for the input; its own hooks still win. */
|
|
4796
4801
|
--_ui-default-input-border-width: 0;
|
|
@@ -4826,36 +4831,36 @@ svg[data-v-0d1b1c7d-s] {
|
|
|
4826
4831
|
}
|
|
4827
4832
|
|
|
4828
4833
|
/* The frame takes its input's size, so a small group lines up with small buttons and fields. */
|
|
4829
|
-
[data-component~="ui-input-group"][data-v-
|
|
4834
|
+
[data-component~="ui-input-group"][data-v-5cf4aea5]:has(.field [data-ui-input-state~="size=sm"]) {
|
|
4830
4835
|
min-block-size: var(--ui-control-size-sm);
|
|
4831
4836
|
}
|
|
4832
|
-
[data-component~="ui-input-group"][data-v-
|
|
4837
|
+
[data-component~="ui-input-group"][data-v-5cf4aea5]:has(.field [data-ui-input-state~="size=lg"]) {
|
|
4833
4838
|
min-block-size: var(--ui-control-size-lg);
|
|
4834
4839
|
}
|
|
4835
4840
|
@media (pointer: coarse) {
|
|
4836
|
-
[data-component~="ui-input-group"][data-v-
|
|
4841
|
+
[data-component~="ui-input-group"][data-v-5cf4aea5]:has(.field [data-ui-input-state~="size=sm"]) {
|
|
4837
4842
|
min-block-size: var(--ui-control-min-block-size);
|
|
4838
4843
|
}
|
|
4839
4844
|
}
|
|
4840
|
-
[data-component~="ui-input-group"][data-v-
|
|
4845
|
+
[data-component~="ui-input-group"][data-v-5cf4aea5]:hover:not(:has(input:focus, input:disabled, input:read-only, [aria-invalid="true"], :is(:user-invalid, [data-user-invalid]))) {
|
|
4841
4846
|
border-color: var(--ui-control-border-hover, var(--ui-text-secondary));
|
|
4842
4847
|
}
|
|
4843
4848
|
|
|
4844
4849
|
/* The ring shows when the field's input would show its own: when it is focus-visible, which a
|
|
4845
4850
|
text input is for a pointer as well as a keyboard. A focused action button draws its own. */
|
|
4846
|
-
[data-component~="ui-input-group"][data-v-
|
|
4851
|
+
[data-component~="ui-input-group"][data-v-5cf4aea5]:has(.field input:focus-visible) {
|
|
4847
4852
|
border-color: var(--ui-control-focus, var(--ui-accent-solid));
|
|
4848
4853
|
box-shadow:
|
|
4849
4854
|
var(--ui-control-inset),
|
|
4850
4855
|
var(--ui-control-focus-halo-shadow);
|
|
4851
4856
|
}
|
|
4852
|
-
[data-component~="ui-input-group"][data-v-
|
|
4857
|
+
[data-component~="ui-input-group"][data-v-5cf4aea5]:has([aria-invalid="true"], :is(:user-invalid, [data-user-invalid])) {
|
|
4853
4858
|
border-color: var(
|
|
4854
4859
|
--ui-input-group-invalid-border,
|
|
4855
4860
|
var(--ui-field-danger, var(--ui-danger-solid))
|
|
4856
4861
|
);
|
|
4857
4862
|
}
|
|
4858
|
-
[data-component~="ui-input-group"][data-v-
|
|
4863
|
+
[data-component~="ui-input-group"][data-v-5cf4aea5]:has(input:is([aria-invalid="true"], :is(:user-invalid, [data-user-invalid])):focus-visible) {
|
|
4859
4864
|
box-shadow: var(
|
|
4860
4865
|
--ui-input-group-invalid-focus-shadow,
|
|
4861
4866
|
var(--ui-control-inset),
|
|
@@ -4869,23 +4874,23 @@ svg[data-v-0d1b1c7d-s] {
|
|
|
4869
4874
|
|
|
4870
4875
|
/* Forced colors drop box shadows, so the focus ring becomes an outline. */
|
|
4871
4876
|
@media (forced-colors: active) {
|
|
4872
|
-
[data-component~="ui-input-group"][data-v-
|
|
4877
|
+
[data-component~="ui-input-group"][data-v-5cf4aea5]:has(input:focus-visible) {
|
|
4873
4878
|
outline: 2px solid Highlight;
|
|
4874
4879
|
outline-offset: 1px;
|
|
4875
4880
|
}
|
|
4876
4881
|
}
|
|
4877
|
-
[data-component~="ui-input-group"][data-ui-input-group-state~="disabled"][data-v-
|
|
4878
|
-
[data-component~="ui-input-group"][data-v-
|
|
4882
|
+
[data-component~="ui-input-group"][data-ui-input-group-state~="disabled"][data-v-5cf4aea5],
|
|
4883
|
+
[data-component~="ui-input-group"][data-v-5cf4aea5]:has(input:disabled) {
|
|
4879
4884
|
background: var(--ui-control-surface-disabled, var(--ui-surface-muted));
|
|
4880
4885
|
box-shadow: none;
|
|
4881
4886
|
cursor: not-allowed;
|
|
4882
4887
|
}
|
|
4883
|
-
.field[data-v-
|
|
4888
|
+
.field[data-v-5cf4aea5] {
|
|
4884
4889
|
display: flex;
|
|
4885
4890
|
flex: 1;
|
|
4886
4891
|
min-inline-size: 0;
|
|
4887
4892
|
}
|
|
4888
|
-
.affix[data-v-
|
|
4893
|
+
.affix[data-v-5cf4aea5] {
|
|
4889
4894
|
display: inline-flex;
|
|
4890
4895
|
flex: none;
|
|
4891
4896
|
align-items: center;
|
|
@@ -4896,21 +4901,33 @@ svg[data-v-0d1b1c7d-s] {
|
|
|
4896
4901
|
white-space: nowrap;
|
|
4897
4902
|
}
|
|
4898
4903
|
|
|
4904
|
+
/* Fixed text is part of the value, but should not look editable. */
|
|
4905
|
+
.affix[data-v-5cf4aea5]:has([slot="prefix"]),
|
|
4906
|
+
.affix[data-v-5cf4aea5]:has([slot="suffix"]) {
|
|
4907
|
+
background: var(--ui-surface-muted);
|
|
4908
|
+
}
|
|
4909
|
+
.affix[data-v-5cf4aea5]:has([slot="prefix"]) {
|
|
4910
|
+
border-inline-end: 1px solid var(--ui-border-divider);
|
|
4911
|
+
}
|
|
4912
|
+
.affix[data-v-5cf4aea5]:has([slot="suffix"]) {
|
|
4913
|
+
border-inline-start: 1px solid var(--ui-border-divider);
|
|
4914
|
+
}
|
|
4915
|
+
|
|
4899
4916
|
/* Centred rather than padded above and below: the group is exactly a lone Input's height, so a
|
|
4900
4917
|
small button sits inside it with the difference split evenly, and the field keeps its height. */
|
|
4901
|
-
.action[data-v-
|
|
4918
|
+
.action[data-v-5cf4aea5] {
|
|
4902
4919
|
display: flex;
|
|
4903
4920
|
flex: none;
|
|
4904
4921
|
align-items: center;
|
|
4905
4922
|
padding-inline: var(--ui-space-1);
|
|
4906
4923
|
}
|
|
4907
|
-
.affix[data-v-
|
|
4908
|
-
.action[data-v-
|
|
4924
|
+
.affix[data-v-5cf4aea5]:empty,
|
|
4925
|
+
.action[data-v-5cf4aea5]:empty {
|
|
4909
4926
|
display: none;
|
|
4910
4927
|
}
|
|
4911
4928
|
|
|
4912
4929
|
/* A component that sets its display still honours the hidden attribute on its root. */
|
|
4913
|
-
[data-component~="ui-input-group"][hidden][data-v-
|
|
4930
|
+
[data-component~="ui-input-group"][hidden][data-v-5cf4aea5] {
|
|
4914
4931
|
display: none;
|
|
4915
4932
|
}
|
|
4916
4933
|
|
|
@@ -6319,7 +6336,7 @@ legend[data-v-f7b72b3f] + * {
|
|
|
6319
6336
|
syntax: "*";
|
|
6320
6337
|
inherits: false;
|
|
6321
6338
|
}
|
|
6322
|
-
[data-component~="ui-search-shell"][data-v-
|
|
6339
|
+
[data-component~="ui-search-shell"][data-v-34344651] {
|
|
6323
6340
|
/* Hooks do not inherit, so the parts below read them from the root. */
|
|
6324
6341
|
--_ui-search-shell-z-index: var(--ui-search-shell-z-index);
|
|
6325
6342
|
--_ui-search-shell-padding-top: var(--ui-search-shell-padding-top);
|
|
@@ -6334,7 +6351,7 @@ legend[data-v-f7b72b3f] + * {
|
|
|
6334
6351
|
|
|
6335
6352
|
display: contents;
|
|
6336
6353
|
}
|
|
6337
|
-
dialog[data-v-
|
|
6354
|
+
dialog[data-v-34344651] {
|
|
6338
6355
|
position: fixed;
|
|
6339
6356
|
inset: 0;
|
|
6340
6357
|
z-index: var(--_ui-search-shell-z-index, 400);
|
|
@@ -6352,10 +6369,16 @@ dialog[data-v-d7cd9501] {
|
|
|
6352
6369
|
background: var(--ui-overlay-backdrop);
|
|
6353
6370
|
color: var(--ui-text-primary);
|
|
6354
6371
|
}
|
|
6355
|
-
dialog[data-v-
|
|
6372
|
+
dialog[data-v-34344651]::backdrop {
|
|
6356
6373
|
background: var(--ui-overlay-backdrop);
|
|
6357
6374
|
}
|
|
6358
|
-
|
|
6375
|
+
dialog[data-v-34344651]:modal {
|
|
6376
|
+
background: transparent;
|
|
6377
|
+
}
|
|
6378
|
+
dialog[data-ui-backdrop-hidden][data-v-34344651]::backdrop {
|
|
6379
|
+
background: transparent;
|
|
6380
|
+
}
|
|
6381
|
+
.panel[data-v-34344651] {
|
|
6359
6382
|
position: relative;
|
|
6360
6383
|
display: flex;
|
|
6361
6384
|
flex-direction: column;
|
|
@@ -6375,10 +6398,10 @@ dialog[data-v-d7cd9501]::backdrop {
|
|
|
6375
6398
|
var(--ui-overlay-shadow, var(--ui-elevation-dialog, var(--ui-shadow-xl)))
|
|
6376
6399
|
);
|
|
6377
6400
|
}
|
|
6378
|
-
.search[data-v-
|
|
6401
|
+
.search[data-v-34344651] {
|
|
6379
6402
|
padding: var(--ui-space-3);
|
|
6380
6403
|
}
|
|
6381
|
-
input[slot="search"][data-v-
|
|
6404
|
+
input[slot="search"][data-v-34344651-s] {
|
|
6382
6405
|
box-sizing: border-box;
|
|
6383
6406
|
inline-size: 100%;
|
|
6384
6407
|
min-block-size: var(--ui-control-min-block-size);
|
|
@@ -6390,24 +6413,24 @@ input[slot="search"][data-v-d7cd9501-s] {
|
|
|
6390
6413
|
font: inherit;
|
|
6391
6414
|
box-shadow: var(--ui-shadow-xs);
|
|
6392
6415
|
}
|
|
6393
|
-
input[slot="search"][data-v-
|
|
6416
|
+
input[slot="search"][data-v-34344651-s]:focus-visible {
|
|
6394
6417
|
border-color: var(--_ui-search-shell-focus-color, var(--ui-control-focus));
|
|
6395
6418
|
outline: 2px solid var(--ui-focus-ring);
|
|
6396
6419
|
outline-offset: 2px;
|
|
6397
6420
|
}
|
|
6398
|
-
.status[data-v-
|
|
6399
|
-
.actions[data-v-
|
|
6421
|
+
.status[data-v-34344651],
|
|
6422
|
+
.actions[data-v-34344651] {
|
|
6400
6423
|
flex-shrink: 0;
|
|
6401
6424
|
padding: var(--ui-space-2) var(--ui-space-4);
|
|
6402
6425
|
color: var(--ui-text-secondary);
|
|
6403
6426
|
font-size: var(--ui-font-size-sm);
|
|
6404
6427
|
}
|
|
6405
|
-
.status[data-v-
|
|
6428
|
+
.status[data-v-34344651] {
|
|
6406
6429
|
padding-block-start: 0;
|
|
6407
6430
|
}
|
|
6408
6431
|
|
|
6409
6432
|
/* Laid out like the dialog's action row: actions right-aligned, spaced as buttons, no fill. */
|
|
6410
|
-
.actions[data-v-
|
|
6433
|
+
.actions[data-v-34344651] {
|
|
6411
6434
|
display: flex;
|
|
6412
6435
|
flex-wrap: wrap;
|
|
6413
6436
|
align-items: center;
|
|
@@ -6415,11 +6438,11 @@ input[slot="search"][data-v-d7cd9501-s]:focus-visible {
|
|
|
6415
6438
|
gap: var(--ui-space-2);
|
|
6416
6439
|
padding: var(--ui-space-3) var(--ui-space-4);
|
|
6417
6440
|
}
|
|
6418
|
-
.status[data-v-
|
|
6419
|
-
.actions[data-v-
|
|
6441
|
+
.status[data-v-34344651]:empty,
|
|
6442
|
+
.actions[data-v-34344651]:empty {
|
|
6420
6443
|
display: none;
|
|
6421
6444
|
}
|
|
6422
|
-
.body[data-v-
|
|
6445
|
+
.body[data-v-34344651] {
|
|
6423
6446
|
flex: 1;
|
|
6424
6447
|
min-block-size: 0;
|
|
6425
6448
|
overflow: auto;
|
|
@@ -6447,10 +6470,10 @@ input[slot="search"][data-v-d7cd9501-s]:focus-visible {
|
|
|
6447
6470
|
calc(100% - var(--_ui-scroll-fade-size)) 100%;
|
|
6448
6471
|
}
|
|
6449
6472
|
@media (max-width: 47.9375rem) {
|
|
6450
|
-
dialog[data-v-
|
|
6473
|
+
dialog[data-v-34344651] {
|
|
6451
6474
|
padding: 0;
|
|
6452
6475
|
}
|
|
6453
|
-
.panel[data-v-
|
|
6476
|
+
.panel[data-v-34344651] {
|
|
6454
6477
|
inline-size: 100%;
|
|
6455
6478
|
min-block-size: 100dvh;
|
|
6456
6479
|
max-block-size: none;
|
|
@@ -6460,7 +6483,7 @@ dialog[data-v-d7cd9501] {
|
|
|
6460
6483
|
}
|
|
6461
6484
|
|
|
6462
6485
|
/* A component that sets its display still honours the hidden attribute on its root. */
|
|
6463
|
-
[data-component~="ui-search-shell"][hidden][data-v-
|
|
6486
|
+
[data-component~="ui-search-shell"][hidden][data-v-34344651] {
|
|
6464
6487
|
display: none;
|
|
6465
6488
|
}
|
|
6466
6489
|
|
|
@@ -9047,18 +9070,26 @@ html[data-ui-input-modality="touch"]
|
|
|
9047
9070
|
|
|
9048
9071
|
.looma-editor__link-context-actions {
|
|
9049
9072
|
display: flex;
|
|
9073
|
+
flex-wrap: wrap;
|
|
9050
9074
|
align-items: center;
|
|
9051
9075
|
gap: var(--ui-space-1);
|
|
9052
9076
|
}
|
|
9053
9077
|
|
|
9054
9078
|
.looma-editor__link-context-url {
|
|
9055
9079
|
min-width: 0;
|
|
9056
|
-
|
|
9057
|
-
overflow: hidden;
|
|
9080
|
+
flex: 1 1 100%;
|
|
9058
9081
|
padding-inline: var(--ui-space-2);
|
|
9059
9082
|
color: var(--ui-text-secondary);
|
|
9060
|
-
|
|
9061
|
-
|
|
9083
|
+
overflow-wrap: anywhere;
|
|
9084
|
+
font-size: var(--ui-font-size-sm);
|
|
9085
|
+
}
|
|
9086
|
+
|
|
9087
|
+
.looma-editor__link-context-url :is(strong, small) {
|
|
9088
|
+
display: block;
|
|
9089
|
+
}
|
|
9090
|
+
|
|
9091
|
+
.looma-editor__link-context-url strong {
|
|
9092
|
+
color: var(--ui-text-primary);
|
|
9062
9093
|
}
|
|
9063
9094
|
|
|
9064
9095
|
.looma-editor__link-context-actions :is(button, a) {
|
|
@@ -9175,6 +9206,57 @@ html[data-ui-input-modality="touch"]
|
|
|
9175
9206
|
align-items: center;
|
|
9176
9207
|
}
|
|
9177
9208
|
|
|
9209
|
+
.looma-editor__link-modes {
|
|
9210
|
+
display: flex;
|
|
9211
|
+
gap: var(--ui-space-1);
|
|
9212
|
+
}
|
|
9213
|
+
|
|
9214
|
+
.looma-editor__link-modes button,
|
|
9215
|
+
.looma-editor__link-results button {
|
|
9216
|
+
min-height: var(--ui-control-min-block-size);
|
|
9217
|
+
padding: var(--ui-space-2);
|
|
9218
|
+
border: 1px solid var(--ui-control-border);
|
|
9219
|
+
border-radius: var(--ui-field-radius, var(--ui-radius-md));
|
|
9220
|
+
background: var(--ui-control-surface);
|
|
9221
|
+
color: var(--ui-text-primary);
|
|
9222
|
+
font: inherit;
|
|
9223
|
+
text-align: left;
|
|
9224
|
+
cursor: pointer;
|
|
9225
|
+
}
|
|
9226
|
+
|
|
9227
|
+
.looma-editor__link-modes button[aria-pressed="true"] {
|
|
9228
|
+
border-color: var(--ui-accent);
|
|
9229
|
+
color: var(--ui-accent);
|
|
9230
|
+
}
|
|
9231
|
+
|
|
9232
|
+
.looma-editor__link-results {
|
|
9233
|
+
display: flex;
|
|
9234
|
+
flex-direction: column;
|
|
9235
|
+
gap: var(--ui-space-1);
|
|
9236
|
+
max-height: 15rem;
|
|
9237
|
+
overflow-y: auto;
|
|
9238
|
+
}
|
|
9239
|
+
|
|
9240
|
+
.looma-editor__link-results p {
|
|
9241
|
+
margin: 0;
|
|
9242
|
+
color: var(--ui-text-secondary);
|
|
9243
|
+
font-size: var(--ui-font-size-sm);
|
|
9244
|
+
}
|
|
9245
|
+
|
|
9246
|
+
.looma-editor__link-results button {
|
|
9247
|
+
display: flex;
|
|
9248
|
+
flex-direction: column;
|
|
9249
|
+
width: 100%;
|
|
9250
|
+
}
|
|
9251
|
+
|
|
9252
|
+
.looma-editor__link-results button:is(:hover, :focus-visible) {
|
|
9253
|
+
background: var(--ui-surface-subtle);
|
|
9254
|
+
}
|
|
9255
|
+
|
|
9256
|
+
.looma-editor__link-results button small {
|
|
9257
|
+
color: var(--ui-text-secondary);
|
|
9258
|
+
}
|
|
9259
|
+
|
|
9178
9260
|
.looma-editor__link-error {
|
|
9179
9261
|
margin: 0;
|
|
9180
9262
|
color: var(--ui-field-danger, var(--ui-danger));
|