@threadlabs/looma 0.15.7 → 0.16.0
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-dialog/ui-dialog.html +11 -4
- package/components/ui-dialog/ui-dialog.js +4 -2
- package/dist/index.js +1 -1
- package/package.json +1 -1
- package/vanilla/UiDialog.d.ts +1 -0
- package/vanilla/UiDialog.js +1 -1
- package/vue/UiDialog.d.ts +2 -1
- package/vue/UiDialog.vue +2 -1
- package/vue/UiSearchShell.d.ts +1 -1
- package/vue/chunks/UiDialog.js +6 -2
- package/vue/components.css +25 -25
package/package.json
CHANGED
package/vanilla/UiDialog.d.ts
CHANGED
|
@@ -12,6 +12,7 @@ export interface UiDialogProps {
|
|
|
12
12
|
closedby?: "any" | "closerequest" | "none" | null;
|
|
13
13
|
for?: string | null;
|
|
14
14
|
label?: string | null;
|
|
15
|
+
modal?: boolean | null;
|
|
15
16
|
modeless?: boolean | null;
|
|
16
17
|
open?: boolean | null;
|
|
17
18
|
size?: "sm" | "md" | "lg" | "fullscreen" | null;
|
package/vanilla/UiDialog.js
CHANGED
|
@@ -3,7 +3,7 @@ import { manageComponentLifecycle } from "@nextwebwg/html-next/runtime";
|
|
|
3
3
|
import * as controller from "../components/ui-dialog/ui-dialog.js";
|
|
4
4
|
import "../styles/ui-dialog.css";
|
|
5
5
|
|
|
6
|
-
const definition = {...{"contract":{"tag":"ui-dialog","props":{"alert":{"type":"boolean","required":false,"target":{"attribute":"alert"},"default":false},"closedby":{"type":{"enum":["any","closerequest","none"]},"required":false,"target":{"attribute":"closedby"}
|
|
6
|
+
const definition = {...{"contract":{"tag":"ui-dialog","props":{"alert":{"type":"boolean","required":false,"target":{"attribute":"alert"},"default":false},"closedby":{"type":{"enum":["any","closerequest","none"]},"required":false,"target":{"attribute":"closedby"}},"for":{"type":"string","required":false,"target":{"attribute":"for"},"default":""},"label":{"type":"string","required":false,"target":{"attribute":"label"}},"modal":{"type":"boolean","required":false,"target":{"attribute":"modal"},"default":false},"modeless":{"type":"boolean","required":false,"target":{"attribute":"modeless"},"default":false},"open":{"type":"boolean","required":false,"target":{"attribute":"open"},"default":false},"size":{"type":{"enum":["sm","md","lg","fullscreen"]},"required":false,"target":{"attribute":"size"},"default":"md"}}},"template":{"kind":"element","name":"dialog","attributes":[{"kind":"attribute","name":"aria-label","expression":"accessibleLabel","expressionPlan":{"source":"accessibleLabel","ast":{"kind":"id","name":"accessibleLabel"},"dependencies":["accessibleLabel"]}}],"children":[{"kind":"element","name":"header","attributes":[],"children":[{"kind":"element","name":"h2","attributes":[{"kind":"literal","name":"class","value":"title"},{"kind":"directive","name":"value","expression":"label","expressionPlan":{"source":"label","ast":{"kind":"id","name":"label"},"dependencies":["label"]}}],"children":[],"flow":{"kind":"if","test":"label","testPlan":{"source":"label","ast":{"kind":"id","name":"label"},"dependencies":["label"]}}},{"kind":"element","name":"button","attributes":[{"kind":"literal","name":"class","value":"close"},{"kind":"literal","name":"type","value":"button"},{"kind":"literal","name":"aria-label","value":"Close"}],"children":[],"ref":"close"}]},{"kind":"element","name":"div","attributes":[{"kind":"literal","name":"class","value":"body"}],"children":[{"kind":"slot"}]},{"kind":"element","name":"footer","attributes":[],"children":[{"kind":"slot","fallback":[],"name":"actions"}]}]},"declarations":[{"kind":"state","name":"internalOpen","expression":{"source":"false","ast":{"kind":"literal","value":false},"dependencies":[]}},{"kind":"state","name":"accessibleLabel","expression":{"source":"'Dialog'","ast":{"kind":"literal","value":"Dialog"},"dependencies":[]}},{"kind":"event","name":"open","type":"object({ open: boolean, reason: action | programmatic, trigger: keyboard | pointer | programmatic })","bubbles":true,"composed":true,"cancelable":false},{"kind":"event","name":"close","type":"object({ open: boolean, reason: action | programmatic | light-dismiss | escape, trigger: keyboard | pointer | programmatic })","bubbles":true,"composed":true,"cancelable":false}],"root":{"kind":"native","element":"dialog","choices":["dialog"]}},source:{file:import.meta.url},css:""};
|
|
7
7
|
|
|
8
8
|
export function createUiDialog(options = {}) {
|
|
9
9
|
const { attributes = {}, children = [], slots = {}, ...componentProps } = options;
|
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/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/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/components.css
CHANGED
|
@@ -2214,7 +2214,7 @@ dd[data-v-6e5b491d] {
|
|
|
2214
2214
|
syntax: "*";
|
|
2215
2215
|
inherits: false;
|
|
2216
2216
|
}
|
|
2217
|
-
[data-component~="ui-dialog"][data-v-
|
|
2217
|
+
[data-component~="ui-dialog"][data-v-ef5a672e] {
|
|
2218
2218
|
/* Hooks do not inherit, so the parts below read them from the root. */
|
|
2219
2219
|
--_ui-dialog-duration: var(--ui-dialog-duration);
|
|
2220
2220
|
|
|
@@ -2249,21 +2249,21 @@ dd[data-v-6e5b491d] {
|
|
|
2249
2249
|
display var(--ui-dialog-duration, var(--ui-motion-base)) var(--ui-motion-ease) allow-discrete,
|
|
2250
2250
|
overlay var(--ui-dialog-duration, var(--ui-motion-base)) var(--ui-motion-ease) allow-discrete;
|
|
2251
2251
|
}
|
|
2252
|
-
[data-component~="ui-dialog"][open][data-v-
|
|
2252
|
+
[data-component~="ui-dialog"][open][data-v-ef5a672e] {
|
|
2253
2253
|
display: flex;
|
|
2254
2254
|
visibility: visible;
|
|
2255
2255
|
pointer-events: auto;
|
|
2256
2256
|
opacity: 1;
|
|
2257
2257
|
transform: scale(1);
|
|
2258
|
-
animation: ui-dialog-enter-
|
|
2258
|
+
animation: ui-dialog-enter-ef5a672e var(--ui-dialog-duration, var(--ui-motion-base)) var(--ui-motion-ease);
|
|
2259
2259
|
}
|
|
2260
|
-
[data-component~="ui-dialog"][data-ui-dialog-state~="size=sm"][data-v-
|
|
2260
|
+
[data-component~="ui-dialog"][data-ui-dialog-state~="size=sm"][data-v-ef5a672e] {
|
|
2261
2261
|
--_ui-dialog-size: 360px;
|
|
2262
2262
|
}
|
|
2263
|
-
[data-component~="ui-dialog"][data-ui-dialog-state~="size=lg"][data-v-
|
|
2263
|
+
[data-component~="ui-dialog"][data-ui-dialog-state~="size=lg"][data-v-ef5a672e] {
|
|
2264
2264
|
--_ui-dialog-size: 640px;
|
|
2265
2265
|
}
|
|
2266
|
-
[data-component~="ui-dialog"][data-ui-dialog-state~="size=fullscreen"][data-v-
|
|
2266
|
+
[data-component~="ui-dialog"][data-ui-dialog-state~="size=fullscreen"][data-v-ef5a672e] {
|
|
2267
2267
|
inset: 0;
|
|
2268
2268
|
inline-size: 100%;
|
|
2269
2269
|
block-size: 100dvh;
|
|
@@ -2271,12 +2271,12 @@ dd[data-v-6e5b491d] {
|
|
|
2271
2271
|
margin: 0;
|
|
2272
2272
|
border-radius: var(--ui-dialog-radius, 0);
|
|
2273
2273
|
}
|
|
2274
|
-
[data-component~="ui-dialog"][data-ui-dialog-state~="alert"] .close[data-v-
|
|
2274
|
+
[data-component~="ui-dialog"][data-ui-dialog-state~="alert"] .close[data-v-ef5a672e] {
|
|
2275
2275
|
display: none;
|
|
2276
2276
|
}
|
|
2277
2277
|
|
|
2278
2278
|
/* Header and actions stay pinned; only the body scrolls when content is long. */
|
|
2279
|
-
header[data-v-
|
|
2279
|
+
header[data-v-ef5a672e] {
|
|
2280
2280
|
display: flex;
|
|
2281
2281
|
align-items: center;
|
|
2282
2282
|
gap: var(--ui-space-3);
|
|
@@ -2286,7 +2286,7 @@ header[data-v-8d67e1e0] {
|
|
|
2286
2286
|
}
|
|
2287
2287
|
|
|
2288
2288
|
/* :host-qualified so page heading rules that reach in cannot outrank the dialog chrome. */
|
|
2289
|
-
[data-component~="ui-dialog"] .title[data-v-
|
|
2289
|
+
[data-component~="ui-dialog"] .title[data-v-ef5a672e] {
|
|
2290
2290
|
flex: 1;
|
|
2291
2291
|
min-inline-size: 0;
|
|
2292
2292
|
margin: 0;
|
|
@@ -2298,7 +2298,7 @@ header[data-v-8d67e1e0] {
|
|
|
2298
2298
|
font-weight: var(--ui-font-semibold);
|
|
2299
2299
|
line-height: var(--ui-line-height-tight);
|
|
2300
2300
|
}
|
|
2301
|
-
.close[data-v-
|
|
2301
|
+
.close[data-v-ef5a672e] {
|
|
2302
2302
|
display: inline-grid;
|
|
2303
2303
|
place-items: center;
|
|
2304
2304
|
flex: none;
|
|
@@ -2317,8 +2317,8 @@ header[data-v-8d67e1e0] {
|
|
|
2317
2317
|
}
|
|
2318
2318
|
|
|
2319
2319
|
/* A CSS-drawn X. */
|
|
2320
|
-
.close[data-v-
|
|
2321
|
-
.close[data-v-
|
|
2320
|
+
.close[data-v-ef5a672e]::before,
|
|
2321
|
+
.close[data-v-ef5a672e]::after {
|
|
2322
2322
|
content: "";
|
|
2323
2323
|
grid-area: 1 / 1;
|
|
2324
2324
|
inline-size: 0.875rem;
|
|
@@ -2327,30 +2327,30 @@ header[data-v-8d67e1e0] {
|
|
|
2327
2327
|
background: currentColor;
|
|
2328
2328
|
transform: rotate(45deg);
|
|
2329
2329
|
}
|
|
2330
|
-
.close[data-v-
|
|
2330
|
+
.close[data-v-ef5a672e]::after {
|
|
2331
2331
|
transform: rotate(-45deg);
|
|
2332
2332
|
}
|
|
2333
|
-
.close[data-v-
|
|
2333
|
+
.close[data-v-ef5a672e]:hover {
|
|
2334
2334
|
background: var(--ui-surface-muted);
|
|
2335
2335
|
color: var(--ui-text-primary);
|
|
2336
2336
|
}
|
|
2337
|
-
.close[data-v-
|
|
2337
|
+
.close[data-v-ef5a672e]:focus-visible {
|
|
2338
2338
|
outline: 2px solid var(--ui-focus-ring);
|
|
2339
2339
|
outline-offset: 2px;
|
|
2340
2340
|
}
|
|
2341
2341
|
|
|
2342
2342
|
/* A touch target, like Button on coarse pointers. */
|
|
2343
2343
|
@media (pointer: coarse) {
|
|
2344
|
-
.close[data-v-
|
|
2344
|
+
.close[data-v-ef5a672e] {
|
|
2345
2345
|
inline-size: var(--ui-control-min-block-size);
|
|
2346
2346
|
block-size: var(--ui-control-min-block-size);
|
|
2347
2347
|
}
|
|
2348
2348
|
}
|
|
2349
|
-
html[data-ui-input-modality="touch"] [data-component~="ui-dialog"] .close[data-v-
|
|
2349
|
+
html[data-ui-input-modality="touch"] [data-component~="ui-dialog"] .close[data-v-ef5a672e] {
|
|
2350
2350
|
inline-size: var(--ui-control-min-block-size);
|
|
2351
2351
|
block-size: var(--ui-control-min-block-size);
|
|
2352
2352
|
}
|
|
2353
|
-
.body[data-v-
|
|
2353
|
+
.body[data-v-ef5a672e] {
|
|
2354
2354
|
flex: 1 1 auto;
|
|
2355
2355
|
min-block-size: 0;
|
|
2356
2356
|
overflow: auto;
|
|
@@ -2378,7 +2378,7 @@ html[data-ui-input-modality="touch"] [data-component~="ui-dialog"] .close[data-v
|
|
|
2378
2378
|
-1px calc(100% - var(--_ui-scroll-fade-size)),
|
|
2379
2379
|
calc(100% - var(--_ui-scroll-fade-size)) 100%;
|
|
2380
2380
|
}
|
|
2381
|
-
footer[data-v-
|
|
2381
|
+
footer[data-v-ef5a672e] {
|
|
2382
2382
|
display: flex;
|
|
2383
2383
|
flex: none;
|
|
2384
2384
|
flex-wrap: wrap;
|
|
@@ -2387,28 +2387,28 @@ footer[data-v-8d67e1e0] {
|
|
|
2387
2387
|
padding: var(--ui-space-3) var(--ui-space-5);
|
|
2388
2388
|
border-block-start: 1px solid var(--ui-border-default);
|
|
2389
2389
|
}
|
|
2390
|
-
footer[data-v-
|
|
2390
|
+
footer[data-v-ef5a672e]:empty {
|
|
2391
2391
|
display: none;
|
|
2392
2392
|
}
|
|
2393
|
-
@keyframes ui-dialog-enter-
|
|
2393
|
+
@keyframes ui-dialog-enter-ef5a672e {
|
|
2394
2394
|
from {
|
|
2395
2395
|
opacity: 0;
|
|
2396
2396
|
transform: scale(0.96);
|
|
2397
2397
|
}
|
|
2398
2398
|
}
|
|
2399
|
-
[data-component~="ui-dialog"][data-v-
|
|
2399
|
+
[data-component~="ui-dialog"][data-v-ef5a672e]::backdrop {
|
|
2400
2400
|
background-color: transparent;
|
|
2401
2401
|
transition:
|
|
2402
2402
|
background-color var(--_ui-dialog-duration, var(--ui-motion-base)) var(--ui-motion-ease),
|
|
2403
2403
|
display var(--_ui-dialog-duration, var(--ui-motion-base)) var(--ui-motion-ease) allow-discrete,
|
|
2404
2404
|
overlay var(--_ui-dialog-duration, var(--ui-motion-base)) var(--ui-motion-ease) allow-discrete;
|
|
2405
2405
|
}
|
|
2406
|
-
[data-component~="ui-dialog"][open][data-v-
|
|
2406
|
+
[data-component~="ui-dialog"][open][data-v-ef5a672e]::backdrop {
|
|
2407
2407
|
background-color: var(--ui-overlay-backdrop);
|
|
2408
|
-
animation: ui-dialog-backdrop-enter-
|
|
2408
|
+
animation: ui-dialog-backdrop-enter-ef5a672e var(--_ui-dialog-duration, var(--ui-motion-base))
|
|
2409
2409
|
var(--ui-motion-ease);
|
|
2410
2410
|
}
|
|
2411
|
-
@keyframes ui-dialog-backdrop-enter-
|
|
2411
|
+
@keyframes ui-dialog-backdrop-enter-ef5a672e {
|
|
2412
2412
|
from {
|
|
2413
2413
|
background-color: transparent;
|
|
2414
2414
|
}
|