@threadlabs/looma 0.15.7 → 0.16.1
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/icons.js +1 -0
- package/components/ui-badge/ui-badge.html +3 -8
- package/components/ui-dialog/ui-dialog.html +11 -4
- package/components/ui-dialog/ui-dialog.js +4 -2
- package/components/ui-icon/ui-icon.html +1 -0
- package/dist/index.js +1 -1
- package/editor/chunks/extensions.js +124 -4
- package/editor/extensions/chip.d.ts +26 -0
- package/editor/extensions/index.d.ts +1 -0
- package/editor/extensions/index.js +2 -2
- package/editor/extensions/slash-command.d.ts +2 -1
- package/editor/icons.d.ts +1 -0
- package/editor/index.js +4 -3
- package/package.json +1 -1
- package/styles/ui-badge.css +3 -8
- package/vanilla/UiDialog.d.ts +1 -0
- package/vanilla/UiDialog.js +1 -1
- package/vanilla/UiIcon.js +1 -1
- package/vue/UiBadge.vue +7 -8
- package/vue/UiDialog.d.ts +2 -1
- package/vue/UiDialog.vue +2 -1
- package/vue/UiIcon.vue +4 -0
- package/vue/UiSearchShell.d.ts +1 -1
- package/vue/chunks/UiBadge.js +1 -1
- package/vue/chunks/UiDialog.js +6 -2
- package/vue/chunks/UiIcon.js +11 -1
- package/vue/components.css +165 -63
- package/vue/editor/index.js +115 -2
package/vue/UiDialog.d.ts
CHANGED
|
@@ -3,6 +3,7 @@ type __VLS_Props = {
|
|
|
3
3
|
closedby?: 'any' | 'closerequest' | 'none';
|
|
4
4
|
for?: string;
|
|
5
5
|
label?: string;
|
|
6
|
+
modal?: boolean;
|
|
6
7
|
modeless?: boolean;
|
|
7
8
|
open?: boolean;
|
|
8
9
|
size?: 'sm' | 'md' | 'lg' | 'fullscreen';
|
|
@@ -42,7 +43,7 @@ declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {},
|
|
|
42
43
|
for: string;
|
|
43
44
|
open: boolean;
|
|
44
45
|
alert: boolean;
|
|
45
|
-
|
|
46
|
+
modal: boolean;
|
|
46
47
|
modeless: boolean;
|
|
47
48
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
48
49
|
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
package/vue/UiDialog.vue
CHANGED
|
@@ -12,14 +12,15 @@ const props = withDefaults(
|
|
|
12
12
|
closedby?: 'any' | 'closerequest' | 'none'
|
|
13
13
|
for?: string
|
|
14
14
|
label?: string
|
|
15
|
+
modal?: boolean
|
|
15
16
|
modeless?: boolean
|
|
16
17
|
open?: boolean
|
|
17
18
|
size?: 'sm' | 'md' | 'lg' | 'fullscreen'
|
|
18
19
|
}>(),
|
|
19
20
|
{
|
|
20
21
|
alert: false,
|
|
21
|
-
closedby: 'closerequest',
|
|
22
22
|
for: '',
|
|
23
|
+
modal: false,
|
|
23
24
|
modeless: false,
|
|
24
25
|
open: false,
|
|
25
26
|
size: 'md',
|
package/vue/UiIcon.vue
CHANGED
|
@@ -281,6 +281,10 @@ const shapes = computed(() =>
|
|
|
281
281
|
tag: 'path',
|
|
282
282
|
d: 'M9 3H5a2 2 0 0 0-2 2v4m6-6h10a2 2 0 0 1 2 2v4M9 3v18m0 0h10a2 2 0 0 0 2-2V9M9 21H5a2 2 0 0 1-2-2V9m0 0h18',
|
|
283
283
|
}],
|
|
284
|
+
tag: [{
|
|
285
|
+
tag: 'path',
|
|
286
|
+
d: 'M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z',
|
|
287
|
+
}, { tag: 'circle', cx: '7.5', cy: '7.5', r: '.5', fill: 'currentColor' }],
|
|
284
288
|
trash: [
|
|
285
289
|
{ tag: 'path', d: 'M10 11v6' },
|
|
286
290
|
{ tag: 'path', d: 'M14 11v6' },
|
package/vue/UiSearchShell.d.ts
CHANGED
|
@@ -31,8 +31,8 @@ declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {},
|
|
|
31
31
|
}>, {
|
|
32
32
|
label: string;
|
|
33
33
|
open: boolean;
|
|
34
|
-
dismissible: boolean;
|
|
35
34
|
modal: boolean;
|
|
35
|
+
dismissible: boolean;
|
|
36
36
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
37
37
|
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
38
38
|
declare const _default: typeof __VLS_export;
|
package/vue/chunks/UiBadge.js
CHANGED
|
@@ -24,6 +24,6 @@ var UiBadge_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE
|
|
|
24
24
|
return openBlock(), createElementBlock("span", mergeProps({ "data-component": "ui-badge" }, _ctx.$attrs, { "data-ui-badge-state": hostState.value || void 0 }), [renderSlot(_ctx.$slots, "default", {}, void 0, true)], 16, _hoisted_1);
|
|
25
25
|
};
|
|
26
26
|
}
|
|
27
|
-
}), [["__scopeId", "data-v-
|
|
27
|
+
}), [["__scopeId", "data-v-bea7b3f9"]]);
|
|
28
28
|
//#endregion
|
|
29
29
|
export { UiBadge_default as t };
|
package/vue/chunks/UiDialog.js
CHANGED
|
@@ -25,9 +25,13 @@ var UiDialog_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PUR
|
|
|
25
25
|
type: Boolean,
|
|
26
26
|
default: false
|
|
27
27
|
},
|
|
28
|
-
closedby: {
|
|
28
|
+
closedby: {},
|
|
29
29
|
for: { default: "" },
|
|
30
30
|
label: {},
|
|
31
|
+
modal: {
|
|
32
|
+
type: Boolean,
|
|
33
|
+
default: false
|
|
34
|
+
},
|
|
31
35
|
modeless: {
|
|
32
36
|
type: Boolean,
|
|
33
37
|
default: false
|
|
@@ -92,6 +96,6 @@ var UiDialog_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PUR
|
|
|
92
96
|
], 16, _hoisted_1);
|
|
93
97
|
};
|
|
94
98
|
}
|
|
95
|
-
}), [["__scopeId", "data-v-
|
|
99
|
+
}), [["__scopeId", "data-v-ef5a672e"]]);
|
|
96
100
|
//#endregion
|
|
97
101
|
export { UiDialog_default as t };
|
package/vue/chunks/UiIcon.js
CHANGED
|
@@ -879,6 +879,16 @@ var UiIcon_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE_
|
|
|
879
879
|
tag: "path",
|
|
880
880
|
d: "M9 3H5a2 2 0 0 0-2 2v4m6-6h10a2 2 0 0 1 2 2v4M9 3v18m0 0h10a2 2 0 0 0 2-2V9M9 21H5a2 2 0 0 1-2-2V9m0 0h18"
|
|
881
881
|
}],
|
|
882
|
+
tag: [{
|
|
883
|
+
tag: "path",
|
|
884
|
+
d: "M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z"
|
|
885
|
+
}, {
|
|
886
|
+
tag: "circle",
|
|
887
|
+
cx: "7.5",
|
|
888
|
+
cy: "7.5",
|
|
889
|
+
r: ".5",
|
|
890
|
+
fill: "currentColor"
|
|
891
|
+
}],
|
|
882
892
|
trash: [
|
|
883
893
|
{
|
|
884
894
|
tag: "path",
|
|
@@ -1042,6 +1052,6 @@ var UiIcon_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE_
|
|
|
1042
1052
|
}), 128))]))], 16);
|
|
1043
1053
|
};
|
|
1044
1054
|
}
|
|
1045
|
-
}), [["__scopeId", "data-v-
|
|
1055
|
+
}), [["__scopeId", "data-v-988c6eae"]]);
|
|
1046
1056
|
//#endregion
|
|
1047
1057
|
export { UiIcon_default as t };
|
package/vue/components.css
CHANGED
|
@@ -92,7 +92,7 @@
|
|
|
92
92
|
syntax: "*";
|
|
93
93
|
inherits: false;
|
|
94
94
|
}
|
|
95
|
-
[data-component~="ui-icon"][data-v-
|
|
95
|
+
[data-component~="ui-icon"][data-v-988c6eae] {
|
|
96
96
|
/* Hooks do not inherit, so the svg reads the stroke from the root. A Looma component that
|
|
97
97
|
sizes the icons it renders sets --_ui-default-icon-*, which the icon's own hooks override. */
|
|
98
98
|
--_ui-icon-stroke-width: var(--ui-icon-stroke-width, var(--_ui-default-icon-stroke-width));
|
|
@@ -102,14 +102,14 @@
|
|
|
102
102
|
inline-size: var(--ui-icon-size, var(--_ui-default-icon-size, 1em));
|
|
103
103
|
block-size: var(--ui-icon-size, var(--_ui-default-icon-size, 1em));
|
|
104
104
|
}
|
|
105
|
-
svg[data-v-
|
|
105
|
+
svg[data-v-988c6eae] {
|
|
106
106
|
inline-size: 100%;
|
|
107
107
|
block-size: 100%;
|
|
108
108
|
stroke-width: var(--_ui-icon-stroke-width, 2);
|
|
109
109
|
}
|
|
110
110
|
|
|
111
111
|
/* A component that sets its display still honours the hidden attribute on its root. */
|
|
112
|
-
[data-component~="ui-icon"][hidden][data-v-
|
|
112
|
+
[data-component~="ui-icon"][hidden][data-v-988c6eae] {
|
|
113
113
|
display: none;
|
|
114
114
|
}
|
|
115
115
|
|
|
@@ -314,11 +314,11 @@ svg[data-v-50d3f581] {
|
|
|
314
314
|
syntax: "*";
|
|
315
315
|
inherits: false;
|
|
316
316
|
}
|
|
317
|
-
[data-component~="ui-badge"][data-v-
|
|
317
|
+
[data-component~="ui-badge"][data-v-bea7b3f9] {
|
|
318
318
|
--_badge-surface: var(--ui-surface-subtle);
|
|
319
319
|
--_badge-text: var(--ui-text-secondary);
|
|
320
|
-
/*
|
|
321
|
-
--_badge-border: var(--
|
|
320
|
+
/* Sit between the soft fill and its stronger theme ink. */
|
|
321
|
+
--_badge-border: color-mix(in srgb, var(--_badge-surface) 75%, var(--_badge-text) 25%);
|
|
322
322
|
/* --ui-badge-color derives a wash and an ink from one colour, between the tone and the explicit
|
|
323
323
|
surface, text, and border hooks. Each value is invalid, so the tone shows, while it is unset. The
|
|
324
324
|
mixes keep 4.5:1 text contrast for any colour, in a light theme or a dark one. */
|
|
@@ -326,7 +326,11 @@ svg[data-v-50d3f581] {
|
|
|
326
326
|
--_badge-color-wash: color-mix(in oklab, var(--_ui-badge-color) 15%, var(--ui-surface-default));
|
|
327
327
|
--_badge-color-ink: color-mix(in oklab, var(--_ui-badge-color) 35%, var(--ui-text-primary));
|
|
328
328
|
--_badge-color-surface: var(--_badge-color-wash);
|
|
329
|
-
--_badge-color-border:
|
|
329
|
+
--_badge-color-border: color-mix(
|
|
330
|
+
in srgb,
|
|
331
|
+
var(--_badge-color-wash) 75%,
|
|
332
|
+
var(--_badge-color-ink) 25%
|
|
333
|
+
);
|
|
330
334
|
--_badge-color-text: var(--_badge-color-ink);
|
|
331
335
|
--_badge-outline-surface: var(
|
|
332
336
|
--ui-badge-surface,
|
|
@@ -354,7 +358,7 @@ svg[data-v-50d3f581] {
|
|
|
354
358
|
* Trimming applies to block containers; an inline-block is one and, like the inline-flex it
|
|
355
359
|
* replaces, still sizes to its label rather than filling its container. */
|
|
356
360
|
@supports (text-box-trim: trim-both) {
|
|
357
|
-
[data-component~="ui-badge"][data-v-
|
|
361
|
+
[data-component~="ui-badge"][data-v-bea7b3f9] {
|
|
358
362
|
display: inline-block;
|
|
359
363
|
min-block-size: var(--ui-badge-min-block-size, 1.5rem);
|
|
360
364
|
text-align: center;
|
|
@@ -363,65 +367,60 @@ svg[data-v-50d3f581] {
|
|
|
363
367
|
text-box-edge: cap alphabetic;
|
|
364
368
|
}
|
|
365
369
|
}
|
|
366
|
-
[data-component~="ui-badge"][data-ui-badge-state~="tone=accent"][data-v-
|
|
370
|
+
[data-component~="ui-badge"][data-ui-badge-state~="tone=accent"][data-v-bea7b3f9] {
|
|
367
371
|
--_badge-surface: var(--ui-accent-strong-surface, var(--ui-accent-solid));
|
|
368
372
|
--_badge-border: var(--ui-accent-strong-surface, var(--ui-accent-solid));
|
|
369
373
|
--_badge-text: var(--ui-accent-on-strong, var(--ui-text-on-accent));
|
|
370
374
|
}
|
|
371
|
-
[data-component~="ui-badge"][data-ui-badge-state~="tone=danger"][data-v-
|
|
375
|
+
[data-component~="ui-badge"][data-ui-badge-state~="tone=danger"][data-v-bea7b3f9] {
|
|
372
376
|
--_badge-surface: var(--ui-danger-strong-surface, var(--ui-danger-solid));
|
|
373
377
|
--_badge-border: var(--ui-danger-strong-surface, var(--ui-danger-solid));
|
|
374
378
|
--_badge-text: var(--ui-danger-on-strong, var(--ui-text-on-accent));
|
|
375
379
|
}
|
|
376
|
-
[data-component~="ui-badge"][data-ui-badge-state~="tone=success"][data-v-
|
|
380
|
+
[data-component~="ui-badge"][data-ui-badge-state~="tone=success"][data-v-bea7b3f9] {
|
|
377
381
|
--_badge-surface: var(--ui-success-strong-surface, var(--ui-success-solid));
|
|
378
382
|
--_badge-border: var(--ui-success-strong-surface, var(--ui-success-solid));
|
|
379
383
|
--_badge-text: var(--ui-success-on-strong, var(--ui-text-on-accent));
|
|
380
384
|
}
|
|
381
|
-
[data-component~="ui-badge"][data-ui-badge-state~="tone=warning"][data-v-
|
|
385
|
+
[data-component~="ui-badge"][data-ui-badge-state~="tone=warning"][data-v-bea7b3f9] {
|
|
382
386
|
--_badge-surface: var(--ui-warning-strong-surface, var(--ui-warning-solid));
|
|
383
387
|
--_badge-border: var(--ui-warning-strong-surface, var(--ui-warning-solid));
|
|
384
388
|
--_badge-text: var(--ui-warning-on-strong, var(--ui-text-on-accent));
|
|
385
389
|
}
|
|
386
|
-
[data-component~="ui-badge"][data-ui-badge-state~="tone=info"][data-v-
|
|
390
|
+
[data-component~="ui-badge"][data-ui-badge-state~="tone=info"][data-v-bea7b3f9] {
|
|
387
391
|
--_badge-surface: var(--ui-info-strong-surface, var(--ui-info-solid));
|
|
388
392
|
--_badge-border: var(--ui-info-strong-surface, var(--ui-info-solid));
|
|
389
393
|
--_badge-text: var(--ui-info-on-strong, var(--ui-text-on-accent));
|
|
390
394
|
}
|
|
391
|
-
[data-component~="ui-badge"][data-ui-badge-state~="variant=subtle"][data-ui-badge-state~="tone=accent"][data-v-
|
|
395
|
+
[data-component~="ui-badge"][data-ui-badge-state~="variant=subtle"][data-ui-badge-state~="tone=accent"][data-v-bea7b3f9] {
|
|
392
396
|
--_badge-surface: var(--ui-accent-soft);
|
|
393
|
-
--_badge-border: var(--ui-accent-soft);
|
|
394
397
|
--_badge-text: var(--ui-accent-subtle-text, var(--ui-accent-solid));
|
|
395
398
|
}
|
|
396
|
-
[data-component~="ui-badge"][data-ui-badge-state~="variant=subtle"][data-ui-badge-state~="tone=danger"][data-v-
|
|
399
|
+
[data-component~="ui-badge"][data-ui-badge-state~="variant=subtle"][data-ui-badge-state~="tone=danger"][data-v-bea7b3f9] {
|
|
397
400
|
--_badge-surface: var(--ui-danger-soft);
|
|
398
|
-
--_badge-border: var(--ui-danger-soft);
|
|
399
401
|
--_badge-text: var(--ui-danger-subtle-text, var(--ui-danger-solid));
|
|
400
402
|
}
|
|
401
|
-
[data-component~="ui-badge"][data-ui-badge-state~="variant=subtle"][data-ui-badge-state~="tone=success"][data-v-
|
|
403
|
+
[data-component~="ui-badge"][data-ui-badge-state~="variant=subtle"][data-ui-badge-state~="tone=success"][data-v-bea7b3f9] {
|
|
402
404
|
--_badge-surface: var(--ui-success-soft);
|
|
403
|
-
--_badge-border: var(--ui-success-soft);
|
|
404
405
|
--_badge-text: var(--ui-success-subtle-text, var(--ui-success-solid));
|
|
405
406
|
}
|
|
406
|
-
[data-component~="ui-badge"][data-ui-badge-state~="variant=subtle"][data-ui-badge-state~="tone=warning"][data-v-
|
|
407
|
+
[data-component~="ui-badge"][data-ui-badge-state~="variant=subtle"][data-ui-badge-state~="tone=warning"][data-v-bea7b3f9] {
|
|
407
408
|
--_badge-surface: var(--ui-warning-soft);
|
|
408
|
-
--_badge-border: var(--ui-warning-soft);
|
|
409
409
|
--_badge-text: var(--ui-warning-subtle-text, var(--ui-warning-solid));
|
|
410
410
|
}
|
|
411
|
-
[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-bea7b3f9] {
|
|
412
412
|
--_badge-surface: var(--ui-info-soft);
|
|
413
|
-
--_badge-border: var(--ui-info-soft);
|
|
414
413
|
--_badge-text: var(--ui-info-subtle-text, var(--ui-info-solid));
|
|
415
414
|
}
|
|
416
415
|
|
|
417
416
|
/* A solid colour fills with the ink. Its text is the page surface, mixed at 0% only so that it too is
|
|
418
417
|
invalid while the hook is unset. */
|
|
419
|
-
[data-component~="ui-badge"][data-ui-badge-state~="variant=solid"][data-v-
|
|
418
|
+
[data-component~="ui-badge"][data-ui-badge-state~="variant=solid"][data-v-bea7b3f9] {
|
|
420
419
|
--_badge-color-surface: var(--_badge-color-ink);
|
|
421
420
|
--_badge-color-border: var(--_badge-color-ink);
|
|
422
421
|
--_badge-color-text: color-mix(in oklab, var(--_ui-badge-color) 0%, var(--ui-surface-default));
|
|
423
422
|
}
|
|
424
|
-
[data-component~="ui-badge"][data-ui-badge-state~="variant=outline"][data-v-
|
|
423
|
+
[data-component~="ui-badge"][data-ui-badge-state~="variant=outline"][data-v-bea7b3f9] {
|
|
425
424
|
--_badge-surface: var(--ui-surface-default);
|
|
426
425
|
--_badge-border: var(--ui-border-strong);
|
|
427
426
|
--_badge-text: var(--ui-text-secondary);
|
|
@@ -429,23 +428,23 @@ svg[data-v-50d3f581] {
|
|
|
429
428
|
--_badge-color-surface: initial;
|
|
430
429
|
--_badge-color-border: var(--_badge-color-ink);
|
|
431
430
|
}
|
|
432
|
-
[data-component~="ui-badge"][data-ui-badge-state~="variant=outline"][data-ui-badge-state~="tone=accent"][data-v-
|
|
431
|
+
[data-component~="ui-badge"][data-ui-badge-state~="variant=outline"][data-ui-badge-state~="tone=accent"][data-v-bea7b3f9] {
|
|
433
432
|
--_badge-border: var(--ui-accent-solid);
|
|
434
433
|
--_badge-text: var(--ui-accent-subtle-text, var(--ui-accent-solid));
|
|
435
434
|
}
|
|
436
|
-
[data-component~="ui-badge"][data-ui-badge-state~="variant=outline"][data-ui-badge-state~="tone=danger"][data-v-
|
|
435
|
+
[data-component~="ui-badge"][data-ui-badge-state~="variant=outline"][data-ui-badge-state~="tone=danger"][data-v-bea7b3f9] {
|
|
437
436
|
--_badge-border: var(--ui-danger-solid);
|
|
438
437
|
--_badge-text: var(--ui-danger-subtle-text, var(--ui-danger-solid));
|
|
439
438
|
}
|
|
440
|
-
[data-component~="ui-badge"][data-ui-badge-state~="variant=outline"][data-ui-badge-state~="tone=success"][data-v-
|
|
439
|
+
[data-component~="ui-badge"][data-ui-badge-state~="variant=outline"][data-ui-badge-state~="tone=success"][data-v-bea7b3f9] {
|
|
441
440
|
--_badge-border: var(--ui-success-solid);
|
|
442
441
|
--_badge-text: var(--ui-success-subtle-text, var(--ui-success-solid));
|
|
443
442
|
}
|
|
444
|
-
[data-component~="ui-badge"][data-ui-badge-state~="variant=outline"][data-ui-badge-state~="tone=warning"][data-v-
|
|
443
|
+
[data-component~="ui-badge"][data-ui-badge-state~="variant=outline"][data-ui-badge-state~="tone=warning"][data-v-bea7b3f9] {
|
|
445
444
|
--_badge-border: var(--ui-warning-solid);
|
|
446
445
|
--_badge-text: var(--ui-warning-subtle-text, var(--ui-warning-solid));
|
|
447
446
|
}
|
|
448
|
-
[data-component~="ui-badge"][data-ui-badge-state~="variant=outline"][data-ui-badge-state~="tone=info"][data-v-
|
|
447
|
+
[data-component~="ui-badge"][data-ui-badge-state~="variant=outline"][data-ui-badge-state~="tone=info"][data-v-bea7b3f9] {
|
|
449
448
|
--_badge-border: var(--ui-info-solid);
|
|
450
449
|
--_badge-text: var(--ui-info-subtle-text, var(--ui-info-solid));
|
|
451
450
|
}
|
|
@@ -453,7 +452,7 @@ svg[data-v-50d3f581] {
|
|
|
453
452
|
/* A tag is flat at the start and points at the end. The point is cut from the box, so it has no
|
|
454
453
|
outline to follow: the edge is the fill. The end padding grows by the point's depth so the
|
|
455
454
|
label never runs into it. */
|
|
456
|
-
[data-component~="ui-badge"][data-ui-badge-state~="shape=tag"][data-v-
|
|
455
|
+
[data-component~="ui-badge"][data-ui-badge-state~="shape=tag"][data-v-bea7b3f9] {
|
|
457
456
|
--_badge-point: var(--ui-badge-point, var(--ui-space-2));
|
|
458
457
|
|
|
459
458
|
border-color: transparent;
|
|
@@ -467,7 +466,7 @@ svg[data-v-50d3f581] {
|
|
|
467
466
|
0 100%
|
|
468
467
|
);
|
|
469
468
|
}
|
|
470
|
-
[data-component~="ui-badge"][data-ui-badge-state~="shape=tag"][data-v-
|
|
469
|
+
[data-component~="ui-badge"][data-ui-badge-state~="shape=tag"][data-v-bea7b3f9]:dir(rtl) {
|
|
471
470
|
padding-inline-end: var(--ui-badge-padding-inline, var(--ui-space-2));
|
|
472
471
|
padding-inline-start: calc(
|
|
473
472
|
var(--ui-badge-padding-inline, var(--ui-space-2)) + var(--_badge-point)
|
|
@@ -477,12 +476,12 @@ svg[data-v-50d3f581] {
|
|
|
477
476
|
|
|
478
477
|
/* The tag clips its point, including the native border. Draw the outer shape in the border
|
|
479
478
|
colour and an inset inner shape in the surface colour to keep a visible diagonal edge. */
|
|
480
|
-
[data-component~="ui-badge"][data-ui-badge-state~="variant=outline"][data-ui-badge-state~="shape=tag"][data-v-
|
|
479
|
+
[data-component~="ui-badge"][data-ui-badge-state~="variant=outline"][data-ui-badge-state~="shape=tag"][data-v-bea7b3f9] {
|
|
481
480
|
position: relative;
|
|
482
481
|
isolation: isolate;
|
|
483
482
|
background: var(--ui-badge-border, var(--_badge-color-border, var(--_badge-border)));
|
|
484
483
|
}
|
|
485
|
-
[data-component~="ui-badge"][data-ui-badge-state~="variant=outline"][data-ui-badge-state~="shape=tag"][data-v-
|
|
484
|
+
[data-component~="ui-badge"][data-ui-badge-state~="variant=outline"][data-ui-badge-state~="shape=tag"][data-v-bea7b3f9]::before {
|
|
486
485
|
content: "";
|
|
487
486
|
position: absolute;
|
|
488
487
|
inset: 1px;
|
|
@@ -497,22 +496,22 @@ svg[data-v-50d3f581] {
|
|
|
497
496
|
);
|
|
498
497
|
pointer-events: none;
|
|
499
498
|
}
|
|
500
|
-
[data-component~="ui-badge"][data-ui-badge-state~="variant=outline"][data-ui-badge-state~="shape=tag"][data-v-
|
|
499
|
+
[data-component~="ui-badge"][data-ui-badge-state~="variant=outline"][data-ui-badge-state~="shape=tag"][data-v-bea7b3f9]:dir(rtl)::before {
|
|
501
500
|
clip-path: polygon(var(--_badge-point) 0, 100% 0, 100% 100%, var(--_badge-point) 100%, 0 50%);
|
|
502
501
|
}
|
|
503
502
|
@media (forced-colors: active) {
|
|
504
|
-
[data-component~="ui-badge"][data-ui-badge-state~="variant=outline"][data-ui-badge-state~="shape=tag"][data-v-
|
|
503
|
+
[data-component~="ui-badge"][data-ui-badge-state~="variant=outline"][data-ui-badge-state~="shape=tag"][data-v-bea7b3f9] {
|
|
505
504
|
forced-color-adjust: none;
|
|
506
505
|
background: CanvasText;
|
|
507
506
|
color: CanvasText;
|
|
508
507
|
}
|
|
509
|
-
[data-component~="ui-badge"][data-ui-badge-state~="variant=outline"][data-ui-badge-state~="shape=tag"][data-v-
|
|
508
|
+
[data-component~="ui-badge"][data-ui-badge-state~="variant=outline"][data-ui-badge-state~="shape=tag"][data-v-bea7b3f9]::before {
|
|
510
509
|
background: Canvas;
|
|
511
510
|
}
|
|
512
511
|
}
|
|
513
512
|
|
|
514
513
|
/* A component that sets its display still honours the hidden attribute on its root. */
|
|
515
|
-
[data-component~="ui-badge"][hidden][data-v-
|
|
514
|
+
[data-component~="ui-badge"][hidden][data-v-bea7b3f9] {
|
|
516
515
|
display: none;
|
|
517
516
|
}
|
|
518
517
|
|
|
@@ -2214,7 +2213,7 @@ dd[data-v-6e5b491d] {
|
|
|
2214
2213
|
syntax: "*";
|
|
2215
2214
|
inherits: false;
|
|
2216
2215
|
}
|
|
2217
|
-
[data-component~="ui-dialog"][data-v-
|
|
2216
|
+
[data-component~="ui-dialog"][data-v-ef5a672e] {
|
|
2218
2217
|
/* Hooks do not inherit, so the parts below read them from the root. */
|
|
2219
2218
|
--_ui-dialog-duration: var(--ui-dialog-duration);
|
|
2220
2219
|
|
|
@@ -2249,21 +2248,21 @@ dd[data-v-6e5b491d] {
|
|
|
2249
2248
|
display var(--ui-dialog-duration, var(--ui-motion-base)) var(--ui-motion-ease) allow-discrete,
|
|
2250
2249
|
overlay var(--ui-dialog-duration, var(--ui-motion-base)) var(--ui-motion-ease) allow-discrete;
|
|
2251
2250
|
}
|
|
2252
|
-
[data-component~="ui-dialog"][open][data-v-
|
|
2251
|
+
[data-component~="ui-dialog"][open][data-v-ef5a672e] {
|
|
2253
2252
|
display: flex;
|
|
2254
2253
|
visibility: visible;
|
|
2255
2254
|
pointer-events: auto;
|
|
2256
2255
|
opacity: 1;
|
|
2257
2256
|
transform: scale(1);
|
|
2258
|
-
animation: ui-dialog-enter-
|
|
2257
|
+
animation: ui-dialog-enter-ef5a672e var(--ui-dialog-duration, var(--ui-motion-base)) var(--ui-motion-ease);
|
|
2259
2258
|
}
|
|
2260
|
-
[data-component~="ui-dialog"][data-ui-dialog-state~="size=sm"][data-v-
|
|
2259
|
+
[data-component~="ui-dialog"][data-ui-dialog-state~="size=sm"][data-v-ef5a672e] {
|
|
2261
2260
|
--_ui-dialog-size: 360px;
|
|
2262
2261
|
}
|
|
2263
|
-
[data-component~="ui-dialog"][data-ui-dialog-state~="size=lg"][data-v-
|
|
2262
|
+
[data-component~="ui-dialog"][data-ui-dialog-state~="size=lg"][data-v-ef5a672e] {
|
|
2264
2263
|
--_ui-dialog-size: 640px;
|
|
2265
2264
|
}
|
|
2266
|
-
[data-component~="ui-dialog"][data-ui-dialog-state~="size=fullscreen"][data-v-
|
|
2265
|
+
[data-component~="ui-dialog"][data-ui-dialog-state~="size=fullscreen"][data-v-ef5a672e] {
|
|
2267
2266
|
inset: 0;
|
|
2268
2267
|
inline-size: 100%;
|
|
2269
2268
|
block-size: 100dvh;
|
|
@@ -2271,12 +2270,12 @@ dd[data-v-6e5b491d] {
|
|
|
2271
2270
|
margin: 0;
|
|
2272
2271
|
border-radius: var(--ui-dialog-radius, 0);
|
|
2273
2272
|
}
|
|
2274
|
-
[data-component~="ui-dialog"][data-ui-dialog-state~="alert"] .close[data-v-
|
|
2273
|
+
[data-component~="ui-dialog"][data-ui-dialog-state~="alert"] .close[data-v-ef5a672e] {
|
|
2275
2274
|
display: none;
|
|
2276
2275
|
}
|
|
2277
2276
|
|
|
2278
2277
|
/* Header and actions stay pinned; only the body scrolls when content is long. */
|
|
2279
|
-
header[data-v-
|
|
2278
|
+
header[data-v-ef5a672e] {
|
|
2280
2279
|
display: flex;
|
|
2281
2280
|
align-items: center;
|
|
2282
2281
|
gap: var(--ui-space-3);
|
|
@@ -2286,7 +2285,7 @@ header[data-v-8d67e1e0] {
|
|
|
2286
2285
|
}
|
|
2287
2286
|
|
|
2288
2287
|
/* :host-qualified so page heading rules that reach in cannot outrank the dialog chrome. */
|
|
2289
|
-
[data-component~="ui-dialog"] .title[data-v-
|
|
2288
|
+
[data-component~="ui-dialog"] .title[data-v-ef5a672e] {
|
|
2290
2289
|
flex: 1;
|
|
2291
2290
|
min-inline-size: 0;
|
|
2292
2291
|
margin: 0;
|
|
@@ -2298,7 +2297,7 @@ header[data-v-8d67e1e0] {
|
|
|
2298
2297
|
font-weight: var(--ui-font-semibold);
|
|
2299
2298
|
line-height: var(--ui-line-height-tight);
|
|
2300
2299
|
}
|
|
2301
|
-
.close[data-v-
|
|
2300
|
+
.close[data-v-ef5a672e] {
|
|
2302
2301
|
display: inline-grid;
|
|
2303
2302
|
place-items: center;
|
|
2304
2303
|
flex: none;
|
|
@@ -2317,8 +2316,8 @@ header[data-v-8d67e1e0] {
|
|
|
2317
2316
|
}
|
|
2318
2317
|
|
|
2319
2318
|
/* A CSS-drawn X. */
|
|
2320
|
-
.close[data-v-
|
|
2321
|
-
.close[data-v-
|
|
2319
|
+
.close[data-v-ef5a672e]::before,
|
|
2320
|
+
.close[data-v-ef5a672e]::after {
|
|
2322
2321
|
content: "";
|
|
2323
2322
|
grid-area: 1 / 1;
|
|
2324
2323
|
inline-size: 0.875rem;
|
|
@@ -2327,30 +2326,30 @@ header[data-v-8d67e1e0] {
|
|
|
2327
2326
|
background: currentColor;
|
|
2328
2327
|
transform: rotate(45deg);
|
|
2329
2328
|
}
|
|
2330
|
-
.close[data-v-
|
|
2329
|
+
.close[data-v-ef5a672e]::after {
|
|
2331
2330
|
transform: rotate(-45deg);
|
|
2332
2331
|
}
|
|
2333
|
-
.close[data-v-
|
|
2332
|
+
.close[data-v-ef5a672e]:hover {
|
|
2334
2333
|
background: var(--ui-surface-muted);
|
|
2335
2334
|
color: var(--ui-text-primary);
|
|
2336
2335
|
}
|
|
2337
|
-
.close[data-v-
|
|
2336
|
+
.close[data-v-ef5a672e]:focus-visible {
|
|
2338
2337
|
outline: 2px solid var(--ui-focus-ring);
|
|
2339
2338
|
outline-offset: 2px;
|
|
2340
2339
|
}
|
|
2341
2340
|
|
|
2342
2341
|
/* A touch target, like Button on coarse pointers. */
|
|
2343
2342
|
@media (pointer: coarse) {
|
|
2344
|
-
.close[data-v-
|
|
2343
|
+
.close[data-v-ef5a672e] {
|
|
2345
2344
|
inline-size: var(--ui-control-min-block-size);
|
|
2346
2345
|
block-size: var(--ui-control-min-block-size);
|
|
2347
2346
|
}
|
|
2348
2347
|
}
|
|
2349
|
-
html[data-ui-input-modality="touch"] [data-component~="ui-dialog"] .close[data-v-
|
|
2348
|
+
html[data-ui-input-modality="touch"] [data-component~="ui-dialog"] .close[data-v-ef5a672e] {
|
|
2350
2349
|
inline-size: var(--ui-control-min-block-size);
|
|
2351
2350
|
block-size: var(--ui-control-min-block-size);
|
|
2352
2351
|
}
|
|
2353
|
-
.body[data-v-
|
|
2352
|
+
.body[data-v-ef5a672e] {
|
|
2354
2353
|
flex: 1 1 auto;
|
|
2355
2354
|
min-block-size: 0;
|
|
2356
2355
|
overflow: auto;
|
|
@@ -2378,7 +2377,7 @@ html[data-ui-input-modality="touch"] [data-component~="ui-dialog"] .close[data-v
|
|
|
2378
2377
|
-1px calc(100% - var(--_ui-scroll-fade-size)),
|
|
2379
2378
|
calc(100% - var(--_ui-scroll-fade-size)) 100%;
|
|
2380
2379
|
}
|
|
2381
|
-
footer[data-v-
|
|
2380
|
+
footer[data-v-ef5a672e] {
|
|
2382
2381
|
display: flex;
|
|
2383
2382
|
flex: none;
|
|
2384
2383
|
flex-wrap: wrap;
|
|
@@ -2387,28 +2386,28 @@ footer[data-v-8d67e1e0] {
|
|
|
2387
2386
|
padding: var(--ui-space-3) var(--ui-space-5);
|
|
2388
2387
|
border-block-start: 1px solid var(--ui-border-default);
|
|
2389
2388
|
}
|
|
2390
|
-
footer[data-v-
|
|
2389
|
+
footer[data-v-ef5a672e]:empty {
|
|
2391
2390
|
display: none;
|
|
2392
2391
|
}
|
|
2393
|
-
@keyframes ui-dialog-enter-
|
|
2392
|
+
@keyframes ui-dialog-enter-ef5a672e {
|
|
2394
2393
|
from {
|
|
2395
2394
|
opacity: 0;
|
|
2396
2395
|
transform: scale(0.96);
|
|
2397
2396
|
}
|
|
2398
2397
|
}
|
|
2399
|
-
[data-component~="ui-dialog"][data-v-
|
|
2398
|
+
[data-component~="ui-dialog"][data-v-ef5a672e]::backdrop {
|
|
2400
2399
|
background-color: transparent;
|
|
2401
2400
|
transition:
|
|
2402
2401
|
background-color var(--_ui-dialog-duration, var(--ui-motion-base)) var(--ui-motion-ease),
|
|
2403
2402
|
display var(--_ui-dialog-duration, var(--ui-motion-base)) var(--ui-motion-ease) allow-discrete,
|
|
2404
2403
|
overlay var(--_ui-dialog-duration, var(--ui-motion-base)) var(--ui-motion-ease) allow-discrete;
|
|
2405
2404
|
}
|
|
2406
|
-
[data-component~="ui-dialog"][open][data-v-
|
|
2405
|
+
[data-component~="ui-dialog"][open][data-v-ef5a672e]::backdrop {
|
|
2407
2406
|
background-color: var(--ui-overlay-backdrop);
|
|
2408
|
-
animation: ui-dialog-backdrop-enter-
|
|
2407
|
+
animation: ui-dialog-backdrop-enter-ef5a672e var(--_ui-dialog-duration, var(--ui-motion-base))
|
|
2409
2408
|
var(--ui-motion-ease);
|
|
2410
2409
|
}
|
|
2411
|
-
@keyframes ui-dialog-backdrop-enter-
|
|
2410
|
+
@keyframes ui-dialog-backdrop-enter-ef5a672e {
|
|
2412
2411
|
from {
|
|
2413
2412
|
background-color: transparent;
|
|
2414
2413
|
}
|
|
@@ -8577,6 +8576,7 @@ html[data-ui-input-modality="touch"]
|
|
|
8577
8576
|
|
|
8578
8577
|
.looma-editor__table-picker-popover,
|
|
8579
8578
|
.looma-editor__link-popover,
|
|
8579
|
+
.looma-editor__chip-popover,
|
|
8580
8580
|
.looma-editor__table-toolbar-shell,
|
|
8581
8581
|
.looma-editor__table-menu-shell {
|
|
8582
8582
|
z-index: var(--ui-editor-popover-z-index, 300);
|
|
@@ -8593,6 +8593,55 @@ html[data-ui-input-modality="touch"]
|
|
|
8593
8593
|
inline-size: min(22rem, calc(100vw - 2rem));
|
|
8594
8594
|
}
|
|
8595
8595
|
|
|
8596
|
+
.looma-editor__chip-popover {
|
|
8597
|
+
inline-size: min(15rem, calc(100vw - 2rem));
|
|
8598
|
+
}
|
|
8599
|
+
|
|
8600
|
+
.looma-editor__chip-form {
|
|
8601
|
+
display: flex;
|
|
8602
|
+
flex-direction: column;
|
|
8603
|
+
gap: var(--ui-space-3);
|
|
8604
|
+
}
|
|
8605
|
+
|
|
8606
|
+
.looma-editor__chip-form input {
|
|
8607
|
+
box-sizing: border-box;
|
|
8608
|
+
width: 100%;
|
|
8609
|
+
min-height: var(--ui-control-min-block-size);
|
|
8610
|
+
padding: var(--ui-space-2);
|
|
8611
|
+
border: 1px solid var(--ui-control-border);
|
|
8612
|
+
border-radius: var(--ui-field-radius, var(--ui-radius-md));
|
|
8613
|
+
background: var(--ui-control-surface);
|
|
8614
|
+
color: var(--ui-text-primary);
|
|
8615
|
+
font: inherit;
|
|
8616
|
+
}
|
|
8617
|
+
|
|
8618
|
+
.looma-editor__chip-colors {
|
|
8619
|
+
display: flex;
|
|
8620
|
+
justify-content: space-between;
|
|
8621
|
+
gap: var(--ui-space-1);
|
|
8622
|
+
}
|
|
8623
|
+
|
|
8624
|
+
.looma-editor__chip-color {
|
|
8625
|
+
display: grid;
|
|
8626
|
+
place-items: center;
|
|
8627
|
+
width: 1.65rem;
|
|
8628
|
+
height: 1.65rem;
|
|
8629
|
+
padding: 0;
|
|
8630
|
+
border: 1px solid var(--_chip-border);
|
|
8631
|
+
border-radius: 50%;
|
|
8632
|
+
background: var(--_chip-surface);
|
|
8633
|
+
color: var(--_chip-text);
|
|
8634
|
+
font: inherit;
|
|
8635
|
+
font-size: var(--ui-font-size-xs);
|
|
8636
|
+
cursor: pointer;
|
|
8637
|
+
}
|
|
8638
|
+
|
|
8639
|
+
.looma-editor__chip-form :is(input, button):focus-visible,
|
|
8640
|
+
.looma-editor .ProseMirror [data-looma-chip]:focus-visible {
|
|
8641
|
+
outline: 2px solid var(--ui-focus-ring);
|
|
8642
|
+
outline-offset: 2px;
|
|
8643
|
+
}
|
|
8644
|
+
|
|
8596
8645
|
.looma-editor__link-form,
|
|
8597
8646
|
.looma-editor__link-form label {
|
|
8598
8647
|
display: flex;
|
|
@@ -8741,6 +8790,59 @@ html[data-ui-input-modality="touch"]
|
|
|
8741
8790
|
white-space: nowrap;
|
|
8742
8791
|
}
|
|
8743
8792
|
|
|
8793
|
+
.looma-editor .ProseMirror [data-looma-chip],
|
|
8794
|
+
.looma-editor__chip-color {
|
|
8795
|
+
--_chip-tone-surface: var(--ui-surface-subtle);
|
|
8796
|
+
--_chip-tone-text: var(--ui-text-secondary);
|
|
8797
|
+
--_chip-surface: var(--ui-editor-chip-surface, var(--_chip-tone-surface));
|
|
8798
|
+
--_chip-text: var(--ui-editor-chip-text, var(--_chip-tone-text));
|
|
8799
|
+
--_chip-border: var(--ui-editor-chip-border, color-mix(in srgb, var(--_chip-surface) 75%, var(--_chip-text) 25%));
|
|
8800
|
+
}
|
|
8801
|
+
|
|
8802
|
+
.looma-editor .ProseMirror [data-looma-chip][data-color="blue"],
|
|
8803
|
+
.looma-editor__chip-color[data-color="blue"] {
|
|
8804
|
+
--_chip-tone-surface: var(--ui-info-soft);
|
|
8805
|
+
--_chip-tone-text: var(--ui-info-subtle-text);
|
|
8806
|
+
}
|
|
8807
|
+
|
|
8808
|
+
.looma-editor .ProseMirror [data-looma-chip][data-color="green"],
|
|
8809
|
+
.looma-editor__chip-color[data-color="green"] {
|
|
8810
|
+
--_chip-tone-surface: var(--ui-success-soft);
|
|
8811
|
+
--_chip-tone-text: var(--ui-success-subtle-text);
|
|
8812
|
+
}
|
|
8813
|
+
|
|
8814
|
+
.looma-editor .ProseMirror [data-looma-chip][data-color="yellow"],
|
|
8815
|
+
.looma-editor__chip-color[data-color="yellow"] {
|
|
8816
|
+
--_chip-tone-surface: var(--ui-warning-soft);
|
|
8817
|
+
--_chip-tone-text: var(--ui-warning-subtle-text);
|
|
8818
|
+
}
|
|
8819
|
+
|
|
8820
|
+
.looma-editor .ProseMirror [data-looma-chip][data-color="red"],
|
|
8821
|
+
.looma-editor__chip-color[data-color="red"] {
|
|
8822
|
+
--_chip-tone-surface: var(--ui-danger-soft);
|
|
8823
|
+
--_chip-tone-text: var(--ui-danger-subtle-text);
|
|
8824
|
+
}
|
|
8825
|
+
|
|
8826
|
+
.looma-editor .ProseMirror [data-looma-chip][data-color="purple"],
|
|
8827
|
+
.looma-editor__chip-color[data-color="purple"] {
|
|
8828
|
+
--_chip-tone-surface: var(--ui-accent-soft);
|
|
8829
|
+
--_chip-tone-text: var(--ui-accent-subtle-text);
|
|
8830
|
+
}
|
|
8831
|
+
|
|
8832
|
+
.looma-editor .ProseMirror [data-looma-chip] {
|
|
8833
|
+
padding: 0.08em 0.45em;
|
|
8834
|
+
border: 1px solid var(--_chip-border);
|
|
8835
|
+
border-radius: var(--ui-radius-round);
|
|
8836
|
+
background: var(--_chip-surface);
|
|
8837
|
+
color: var(--_chip-text);
|
|
8838
|
+
font-size: var(--ui-editor-chip-font-size, var(--ui-font-size-sm));
|
|
8839
|
+
font-weight: var(--ui-font-medium);
|
|
8840
|
+
line-height: var(--ui-line-height-tight);
|
|
8841
|
+
-webkit-box-decoration-break: clone;
|
|
8842
|
+
box-decoration-break: clone;
|
|
8843
|
+
cursor: pointer;
|
|
8844
|
+
}
|
|
8845
|
+
|
|
8744
8846
|
.ProseMirror .tableWrapper {
|
|
8745
8847
|
max-width: 100%;
|
|
8746
8848
|
overflow-x: auto;
|