@toyz/loom 0.17.2 → 0.17.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/dist/element/clipboard.d.ts +25 -0
- package/dist/element/clipboard.d.ts.map +1 -0
- package/dist/element/clipboard.js +60 -0
- package/dist/element/clipboard.js.map +1 -0
- package/dist/element/dnd.d.ts +58 -0
- package/dist/element/dnd.d.ts.map +1 -0
- package/dist/element/dnd.js +132 -0
- package/dist/element/dnd.js.map +1 -0
- package/dist/element/fullscreen.d.ts +29 -0
- package/dist/element/fullscreen.d.ts.map +1 -0
- package/dist/element/fullscreen.js +73 -0
- package/dist/element/fullscreen.js.map +1 -0
- package/dist/element/index.d.ts +6 -0
- package/dist/element/index.d.ts.map +1 -1
- package/dist/element/index.js +8 -0
- package/dist/element/index.js.map +1 -1
- package/dist/element/lazy.d.ts.map +1 -1
- package/dist/element/lazy.js +69 -0
- package/dist/element/lazy.js.map +1 -1
- package/dist/element/media.d.ts +27 -0
- package/dist/element/media.d.ts.map +1 -0
- package/dist/element/media.js +62 -0
- package/dist/element/media.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Loom — @clipboard decorator
|
|
3
|
+
*
|
|
4
|
+
* Method decorator for declarative clipboard read/write.
|
|
5
|
+
*
|
|
6
|
+
* ```ts
|
|
7
|
+
* // Write: method returns the text to copy
|
|
8
|
+
* @clipboard("write")
|
|
9
|
+
* copyLink() { return this.shareUrl; }
|
|
10
|
+
*
|
|
11
|
+
* // Read: method receives pasted text as argument
|
|
12
|
+
* @clipboard("read")
|
|
13
|
+
* onPaste(text: string) { this.content = text; }
|
|
14
|
+
* ```
|
|
15
|
+
*/
|
|
16
|
+
type ClipboardMode = "read" | "write";
|
|
17
|
+
/**
|
|
18
|
+
* @clipboard(mode) — Method decorator
|
|
19
|
+
*
|
|
20
|
+
* - `"write"`: Calling the method copies its return value to the clipboard.
|
|
21
|
+
* - `"read"`: Binds a `paste` event listener; the method receives the pasted text.
|
|
22
|
+
*/
|
|
23
|
+
export declare function clipboard(mode: ClipboardMode): (method: Function, context: ClassMethodDecoratorContext) => ((this: any, ...args: unknown[]) => any) | undefined;
|
|
24
|
+
export {};
|
|
25
|
+
//# sourceMappingURL=clipboard.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"clipboard.d.ts","sourceRoot":"","sources":["../../src/element/clipboard.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH,KAAK,aAAa,GAAG,MAAM,GAAG,OAAO,CAAC;AAEtC;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,aAAa,IAC1B,QAAQ,QAAQ,EAAE,SAAS,2BAA2B,aAG5C,GAAG,WAAW,OAAO,EAAE,sBAkCnD"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Loom — @clipboard decorator
|
|
3
|
+
*
|
|
4
|
+
* Method decorator for declarative clipboard read/write.
|
|
5
|
+
*
|
|
6
|
+
* ```ts
|
|
7
|
+
* // Write: method returns the text to copy
|
|
8
|
+
* @clipboard("write")
|
|
9
|
+
* copyLink() { return this.shareUrl; }
|
|
10
|
+
*
|
|
11
|
+
* // Read: method receives pasted text as argument
|
|
12
|
+
* @clipboard("read")
|
|
13
|
+
* onPaste(text: string) { this.content = text; }
|
|
14
|
+
* ```
|
|
15
|
+
*/
|
|
16
|
+
import { CONNECT_HOOKS } from "../decorators/symbols";
|
|
17
|
+
/**
|
|
18
|
+
* @clipboard(mode) — Method decorator
|
|
19
|
+
*
|
|
20
|
+
* - `"write"`: Calling the method copies its return value to the clipboard.
|
|
21
|
+
* - `"read"`: Binds a `paste` event listener; the method receives the pasted text.
|
|
22
|
+
*/
|
|
23
|
+
export function clipboard(mode) {
|
|
24
|
+
return function (method, context) {
|
|
25
|
+
if (mode === "write") {
|
|
26
|
+
// Wrap the method — calling it copies its return value
|
|
27
|
+
return function (...args) {
|
|
28
|
+
const text = method.call(this, ...args);
|
|
29
|
+
if (text != null && navigator.clipboard) {
|
|
30
|
+
navigator.clipboard.writeText(String(text)).catch(() => {
|
|
31
|
+
// Fallback: legacy execCommand
|
|
32
|
+
const ta = document.createElement("textarea");
|
|
33
|
+
ta.value = String(text);
|
|
34
|
+
ta.style.position = "fixed";
|
|
35
|
+
ta.style.opacity = "0";
|
|
36
|
+
document.body.appendChild(ta);
|
|
37
|
+
ta.select();
|
|
38
|
+
document.execCommand("copy");
|
|
39
|
+
ta.remove();
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
return text;
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
// mode === "read" — listen for paste events on the element
|
|
46
|
+
context.addInitializer(function () {
|
|
47
|
+
if (!this[CONNECT_HOOKS.key])
|
|
48
|
+
this[CONNECT_HOOKS.key] = [];
|
|
49
|
+
this[CONNECT_HOOKS.key].push((el) => {
|
|
50
|
+
const handler = (e) => {
|
|
51
|
+
const text = e.clipboardData?.getData("text/plain") ?? "";
|
|
52
|
+
method.call(el, text, e);
|
|
53
|
+
};
|
|
54
|
+
el.addEventListener("paste", handler);
|
|
55
|
+
return () => el.removeEventListener("paste", handler);
|
|
56
|
+
});
|
|
57
|
+
});
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
//# sourceMappingURL=clipboard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"clipboard.js","sourceRoot":"","sources":["../../src/element/clipboard.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAItD;;;;;GAKG;AACH,MAAM,UAAU,SAAS,CAAC,IAAmB;IAC3C,OAAO,UAAU,MAAgB,EAAE,OAAoC;QACrE,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;YACrB,uDAAuD;YACvD,OAAO,UAAqB,GAAG,IAAe;gBAC5C,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC;gBACxC,IAAI,IAAI,IAAI,IAAI,IAAI,SAAS,CAAC,SAAS,EAAE,CAAC;oBACxC,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;wBACrD,+BAA+B;wBAC/B,MAAM,EAAE,GAAG,QAAQ,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;wBAC9C,EAAE,CAAC,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;wBACxB,EAAE,CAAC,KAAK,CAAC,QAAQ,GAAG,OAAO,CAAC;wBAC5B,EAAE,CAAC,KAAK,CAAC,OAAO,GAAG,GAAG,CAAC;wBACvB,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;wBAC9B,EAAE,CAAC,MAAM,EAAE,CAAC;wBACZ,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;wBAC7B,EAAE,CAAC,MAAM,EAAE,CAAC;oBACd,CAAC,CAAC,CAAC;gBACL,CAAC;gBACD,OAAO,IAAI,CAAC;YACd,CAAC,CAAC;QACJ,CAAC;QAED,2DAA2D;QAC3D,OAAO,CAAC,cAAc,CAAC;YACrB,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC;gBAAE,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;YAE3D,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,EAAe,EAAE,EAAE;gBAC/C,MAAM,OAAO,GAAG,CAAC,CAAiB,EAAE,EAAE;oBACpC,MAAM,IAAI,GAAG,CAAC,CAAC,aAAa,EAAE,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;oBAC1D,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;gBAC3B,CAAC,CAAC;gBAEF,EAAE,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;gBACtC,OAAO,GAAG,EAAE,CAAC,EAAE,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YACxD,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Loom — @draggable / @dropzone decorators
|
|
3
|
+
*
|
|
4
|
+
* Declarative HTML5 Drag and Drop API wrappers.
|
|
5
|
+
*
|
|
6
|
+
* ```ts
|
|
7
|
+
* // Make the component draggable — serializes data for transfer
|
|
8
|
+
* @draggable({ type: "card" })
|
|
9
|
+
* getDragData() { return JSON.stringify({ id: this.cardId }); }
|
|
10
|
+
*
|
|
11
|
+
* // Accept drops — receives transferred data
|
|
12
|
+
* @dropzone({ accept: "card" })
|
|
13
|
+
* onDrop(data: string) { this.items.push(JSON.parse(data)); }
|
|
14
|
+
*
|
|
15
|
+
* // With JSX overlay during drag-over
|
|
16
|
+
* @dropzone({ accept: "card", over: () => <div class="drop-hint">Drop here!</div> })
|
|
17
|
+
* onDrop(data: string) { ... }
|
|
18
|
+
* ```
|
|
19
|
+
*/
|
|
20
|
+
export interface DraggableOptions {
|
|
21
|
+
/** MIME-like type key for dataTransfer, default "text/plain" */
|
|
22
|
+
type?: string;
|
|
23
|
+
/** Drag effect, default "move" */
|
|
24
|
+
effect?: DataTransfer["effectAllowed"];
|
|
25
|
+
}
|
|
26
|
+
export interface DropzoneOptions {
|
|
27
|
+
/** MIME-like type key to accept, default "text/plain" */
|
|
28
|
+
accept?: string;
|
|
29
|
+
/** Drop effect, default "move" */
|
|
30
|
+
effect?: DataTransfer["dropEffect"];
|
|
31
|
+
/** CSS class to add when dragging over, default "drag-over" */
|
|
32
|
+
overClass?: string;
|
|
33
|
+
/**
|
|
34
|
+
* Optional JSX overlay rendered into the element's shadow DOM (or light DOM)
|
|
35
|
+
* during dragover. Removed on dragleave/drop. Accepts a function that returns
|
|
36
|
+
* a DOM node (JSX), or a string that creates a simple text overlay.
|
|
37
|
+
*/
|
|
38
|
+
over?: (() => Node | string) | string;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* @draggable(opts?) — Method decorator
|
|
42
|
+
*
|
|
43
|
+
* Makes the host element draggable. The decorated method returns the drag
|
|
44
|
+
* data string. Sets `draggable="true"`, wires `dragstart`/`dragend` events.
|
|
45
|
+
*/
|
|
46
|
+
export declare function draggable(opts?: DraggableOptions): (method: Function, context: ClassMethodDecoratorContext) => void;
|
|
47
|
+
/**
|
|
48
|
+
* @dropzone(opts?) — Method decorator
|
|
49
|
+
*
|
|
50
|
+
* Makes the host element a drop target. The decorated method receives
|
|
51
|
+
* the transferred data string and the DragEvent. Wires `dragover`,
|
|
52
|
+
* `dragleave`, `drop` events with proper `preventDefault()`.
|
|
53
|
+
*
|
|
54
|
+
* When `opts.over` is provided, a JSX overlay is rendered into the
|
|
55
|
+
* element during dragover and removed on dragleave/drop.
|
|
56
|
+
*/
|
|
57
|
+
export declare function dropzone(opts?: DropzoneOptions): (method: Function, context: ClassMethodDecoratorContext) => void;
|
|
58
|
+
//# sourceMappingURL=dnd.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dnd.d.ts","sourceRoot":"","sources":["../../src/element/dnd.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAIH,MAAM,WAAW,gBAAgB;IAC/B,gEAAgE;IAChE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,kCAAkC;IAClC,MAAM,CAAC,EAAE,YAAY,CAAC,eAAe,CAAC,CAAC;CACxC;AAED,MAAM,WAAW,eAAe;IAC9B,yDAAyD;IACzD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,kCAAkC;IAClC,MAAM,CAAC,EAAE,YAAY,CAAC,YAAY,CAAC,CAAC;IACpC,+DAA+D;IAC/D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;OAIG;IACH,IAAI,CAAC,EAAE,CAAC,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,MAAM,CAAC;CACvC;AAED;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,IAAI,CAAC,EAAE,gBAAgB,IAI9B,QAAQ,QAAQ,EAAE,SAAS,2BAA2B,UA6BxE;AAED;;;;;;;;;GASG;AACH,wBAAgB,QAAQ,CAAC,IAAI,CAAC,EAAE,eAAe,IAM5B,QAAQ,QAAQ,EAAE,SAAS,2BAA2B,UA+DxE"}
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Loom — @draggable / @dropzone decorators
|
|
3
|
+
*
|
|
4
|
+
* Declarative HTML5 Drag and Drop API wrappers.
|
|
5
|
+
*
|
|
6
|
+
* ```ts
|
|
7
|
+
* // Make the component draggable — serializes data for transfer
|
|
8
|
+
* @draggable({ type: "card" })
|
|
9
|
+
* getDragData() { return JSON.stringify({ id: this.cardId }); }
|
|
10
|
+
*
|
|
11
|
+
* // Accept drops — receives transferred data
|
|
12
|
+
* @dropzone({ accept: "card" })
|
|
13
|
+
* onDrop(data: string) { this.items.push(JSON.parse(data)); }
|
|
14
|
+
*
|
|
15
|
+
* // With JSX overlay during drag-over
|
|
16
|
+
* @dropzone({ accept: "card", over: () => <div class="drop-hint">Drop here!</div> })
|
|
17
|
+
* onDrop(data: string) { ... }
|
|
18
|
+
* ```
|
|
19
|
+
*/
|
|
20
|
+
import { CONNECT_HOOKS } from "../decorators/symbols";
|
|
21
|
+
/**
|
|
22
|
+
* @draggable(opts?) — Method decorator
|
|
23
|
+
*
|
|
24
|
+
* Makes the host element draggable. The decorated method returns the drag
|
|
25
|
+
* data string. Sets `draggable="true"`, wires `dragstart`/`dragend` events.
|
|
26
|
+
*/
|
|
27
|
+
export function draggable(opts) {
|
|
28
|
+
const mimeType = opts?.type ?? "text/plain";
|
|
29
|
+
const effect = opts?.effect ?? "move";
|
|
30
|
+
return function (method, context) {
|
|
31
|
+
context.addInitializer(function () {
|
|
32
|
+
if (!this[CONNECT_HOOKS.key])
|
|
33
|
+
this[CONNECT_HOOKS.key] = [];
|
|
34
|
+
this[CONNECT_HOOKS.key].push((el) => {
|
|
35
|
+
el.draggable = true;
|
|
36
|
+
const onStart = (e) => {
|
|
37
|
+
const data = method.call(el);
|
|
38
|
+
e.dataTransfer?.setData(mimeType, String(data ?? ""));
|
|
39
|
+
if (e.dataTransfer)
|
|
40
|
+
e.dataTransfer.effectAllowed = effect;
|
|
41
|
+
el.classList.add("dragging");
|
|
42
|
+
};
|
|
43
|
+
const onEnd = () => {
|
|
44
|
+
el.classList.remove("dragging");
|
|
45
|
+
};
|
|
46
|
+
el.addEventListener("dragstart", onStart);
|
|
47
|
+
el.addEventListener("dragend", onEnd);
|
|
48
|
+
return () => {
|
|
49
|
+
el.removeEventListener("dragstart", onStart);
|
|
50
|
+
el.removeEventListener("dragend", onEnd);
|
|
51
|
+
el.draggable = false;
|
|
52
|
+
};
|
|
53
|
+
});
|
|
54
|
+
});
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* @dropzone(opts?) — Method decorator
|
|
59
|
+
*
|
|
60
|
+
* Makes the host element a drop target. The decorated method receives
|
|
61
|
+
* the transferred data string and the DragEvent. Wires `dragover`,
|
|
62
|
+
* `dragleave`, `drop` events with proper `preventDefault()`.
|
|
63
|
+
*
|
|
64
|
+
* When `opts.over` is provided, a JSX overlay is rendered into the
|
|
65
|
+
* element during dragover and removed on dragleave/drop.
|
|
66
|
+
*/
|
|
67
|
+
export function dropzone(opts) {
|
|
68
|
+
const mimeType = opts?.accept ?? "text/plain";
|
|
69
|
+
const dropEffect = opts?.effect ?? "move";
|
|
70
|
+
const overClass = opts?.overClass ?? "drag-over";
|
|
71
|
+
const overFn = opts?.over;
|
|
72
|
+
return function (method, context) {
|
|
73
|
+
context.addInitializer(function () {
|
|
74
|
+
if (!this[CONNECT_HOOKS.key])
|
|
75
|
+
this[CONNECT_HOOKS.key] = [];
|
|
76
|
+
this[CONNECT_HOOKS.key].push((el) => {
|
|
77
|
+
let overlayEl = null;
|
|
78
|
+
const showOverlay = () => {
|
|
79
|
+
if (!overFn || overlayEl)
|
|
80
|
+
return;
|
|
81
|
+
const content = typeof overFn === "function" ? overFn() : overFn;
|
|
82
|
+
if (content instanceof Node) {
|
|
83
|
+
overlayEl = content;
|
|
84
|
+
}
|
|
85
|
+
else {
|
|
86
|
+
const div = document.createElement("div");
|
|
87
|
+
div.setAttribute("data-loom-dropzone-overlay", "");
|
|
88
|
+
div.textContent = String(content);
|
|
89
|
+
overlayEl = div;
|
|
90
|
+
}
|
|
91
|
+
// Append to shadow root if available, otherwise light DOM
|
|
92
|
+
const root = el.shadowRoot ?? el;
|
|
93
|
+
root.appendChild(overlayEl);
|
|
94
|
+
};
|
|
95
|
+
const hideOverlay = () => {
|
|
96
|
+
if (overlayEl) {
|
|
97
|
+
overlayEl.parentNode?.removeChild(overlayEl);
|
|
98
|
+
overlayEl = null;
|
|
99
|
+
}
|
|
100
|
+
};
|
|
101
|
+
const onOver = (e) => {
|
|
102
|
+
e.preventDefault();
|
|
103
|
+
if (e.dataTransfer)
|
|
104
|
+
e.dataTransfer.dropEffect = dropEffect;
|
|
105
|
+
el.classList.add(overClass);
|
|
106
|
+
showOverlay();
|
|
107
|
+
};
|
|
108
|
+
const onLeave = () => {
|
|
109
|
+
el.classList.remove(overClass);
|
|
110
|
+
hideOverlay();
|
|
111
|
+
};
|
|
112
|
+
const onDrop = (e) => {
|
|
113
|
+
e.preventDefault();
|
|
114
|
+
el.classList.remove(overClass);
|
|
115
|
+
hideOverlay();
|
|
116
|
+
const data = e.dataTransfer?.getData(mimeType) ?? "";
|
|
117
|
+
method.call(el, data, e);
|
|
118
|
+
};
|
|
119
|
+
el.addEventListener("dragover", onOver);
|
|
120
|
+
el.addEventListener("dragleave", onLeave);
|
|
121
|
+
el.addEventListener("drop", onDrop);
|
|
122
|
+
return () => {
|
|
123
|
+
el.removeEventListener("dragover", onOver);
|
|
124
|
+
el.removeEventListener("dragleave", onLeave);
|
|
125
|
+
el.removeEventListener("drop", onDrop);
|
|
126
|
+
hideOverlay();
|
|
127
|
+
};
|
|
128
|
+
});
|
|
129
|
+
});
|
|
130
|
+
};
|
|
131
|
+
}
|
|
132
|
+
//# sourceMappingURL=dnd.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dnd.js","sourceRoot":"","sources":["../../src/element/dnd.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Loom — @fullscreen decorator
|
|
3
|
+
*
|
|
4
|
+
* Accessor decorator that binds a boolean field to the Fullscreen API.
|
|
5
|
+
* Setting to `true` calls `requestFullscreen()`, `false` calls `exitFullscreen()`.
|
|
6
|
+
* Listens for `fullscreenchange` events to keep the field in sync.
|
|
7
|
+
*
|
|
8
|
+
* ```ts
|
|
9
|
+
* @fullscreen()
|
|
10
|
+
* accessor isFullscreen = false;
|
|
11
|
+
*
|
|
12
|
+
* // With options
|
|
13
|
+
* @fullscreen({ navigationUI: "hide" })
|
|
14
|
+
* accessor isFullscreen = false;
|
|
15
|
+
* ```
|
|
16
|
+
*/
|
|
17
|
+
export interface FullscreenOptions {
|
|
18
|
+
/** Navigation UI preference for requestFullscreen */
|
|
19
|
+
navigationUI?: "auto" | "hide" | "show";
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* @fullscreen(opts?) — Accessor decorator
|
|
23
|
+
*
|
|
24
|
+
* Binds a boolean accessor to the Fullscreen API.
|
|
25
|
+
* Toggling the field enters/exits fullscreen. The field stays in sync
|
|
26
|
+
* with external fullscreen changes (e.g., user presses Escape).
|
|
27
|
+
*/
|
|
28
|
+
export declare function fullscreen(opts?: FullscreenOptions): (_target: ClassAccessorDecoratorTarget<any, boolean>, context: ClassAccessorDecoratorContext) => ClassAccessorDecoratorResult<any, boolean>;
|
|
29
|
+
//# sourceMappingURL=fullscreen.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fullscreen.d.ts","sourceRoot":"","sources":["../../src/element/fullscreen.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAIH,MAAM,WAAW,iBAAiB;IAChC,qDAAqD;IACrD,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;CACzC;AAED;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,IAAI,CAAC,EAAE,iBAAiB,IAE/C,SAAS,4BAA4B,CAAC,GAAG,EAAE,OAAO,CAAC,EACnD,SAAS,6BAA6B,KACrC,4BAA4B,CAAC,GAAG,EAAE,OAAO,CAAC,CAoD9C"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Loom — @fullscreen decorator
|
|
3
|
+
*
|
|
4
|
+
* Accessor decorator that binds a boolean field to the Fullscreen API.
|
|
5
|
+
* Setting to `true` calls `requestFullscreen()`, `false` calls `exitFullscreen()`.
|
|
6
|
+
* Listens for `fullscreenchange` events to keep the field in sync.
|
|
7
|
+
*
|
|
8
|
+
* ```ts
|
|
9
|
+
* @fullscreen()
|
|
10
|
+
* accessor isFullscreen = false;
|
|
11
|
+
*
|
|
12
|
+
* // With options
|
|
13
|
+
* @fullscreen({ navigationUI: "hide" })
|
|
14
|
+
* accessor isFullscreen = false;
|
|
15
|
+
* ```
|
|
16
|
+
*/
|
|
17
|
+
import { CONNECT_HOOKS } from "../decorators/symbols";
|
|
18
|
+
/**
|
|
19
|
+
* @fullscreen(opts?) — Accessor decorator
|
|
20
|
+
*
|
|
21
|
+
* Binds a boolean accessor to the Fullscreen API.
|
|
22
|
+
* Toggling the field enters/exits fullscreen. The field stays in sync
|
|
23
|
+
* with external fullscreen changes (e.g., user presses Escape).
|
|
24
|
+
*/
|
|
25
|
+
export function fullscreen(opts) {
|
|
26
|
+
return function (_target, context) {
|
|
27
|
+
const fieldName = context.name;
|
|
28
|
+
const storageKey = `__fs_${fieldName}`;
|
|
29
|
+
context.addInitializer(function () {
|
|
30
|
+
if (!this[CONNECT_HOOKS.key])
|
|
31
|
+
this[CONNECT_HOOKS.key] = [];
|
|
32
|
+
this[CONNECT_HOOKS.key].push((el) => {
|
|
33
|
+
// Sync field when fullscreen changes externally (e.g., Escape key)
|
|
34
|
+
const handler = () => {
|
|
35
|
+
const isFs = document.fullscreenElement === el;
|
|
36
|
+
this[storageKey] = isFs;
|
|
37
|
+
this.scheduleUpdate?.();
|
|
38
|
+
};
|
|
39
|
+
document.addEventListener("fullscreenchange", handler);
|
|
40
|
+
return () => {
|
|
41
|
+
document.removeEventListener("fullscreenchange", handler);
|
|
42
|
+
// Exit fullscreen if component disconnects while fullscreen
|
|
43
|
+
if (document.fullscreenElement === el) {
|
|
44
|
+
document.exitFullscreen?.();
|
|
45
|
+
}
|
|
46
|
+
};
|
|
47
|
+
});
|
|
48
|
+
});
|
|
49
|
+
return {
|
|
50
|
+
init(_value) {
|
|
51
|
+
return false;
|
|
52
|
+
},
|
|
53
|
+
set(value) {
|
|
54
|
+
const prev = this[storageKey];
|
|
55
|
+
this[storageKey] = value;
|
|
56
|
+
if (value && !prev) {
|
|
57
|
+
// Entering fullscreen
|
|
58
|
+
this.requestFullscreen?.(opts);
|
|
59
|
+
}
|
|
60
|
+
else if (!value && prev) {
|
|
61
|
+
// Exiting fullscreen
|
|
62
|
+
if (document.fullscreenElement === this) {
|
|
63
|
+
document.exitFullscreen?.();
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
},
|
|
67
|
+
get() {
|
|
68
|
+
return this[storageKey] ?? false;
|
|
69
|
+
},
|
|
70
|
+
};
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
//# sourceMappingURL=fullscreen.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fullscreen.js","sourceRoot":"","sources":["../../src/element/fullscreen.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAOtD;;;;;;GAMG;AACH,MAAM,UAAU,UAAU,CAAC,IAAwB;IACjD,OAAO,UACL,OAAmD,EACnD,OAAsC;QAEtC,MAAM,SAAS,GAAG,OAAO,CAAC,IAAc,CAAC;QACzC,MAAM,UAAU,GAAG,QAAQ,SAAS,EAAE,CAAC;QAEvC,OAAO,CAAC,cAAc,CAAC;YACrB,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC;gBAAE,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;YAE3D,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,EAAe,EAAE,EAAE;gBAC/C,mEAAmE;gBACnE,MAAM,OAAO,GAAG,GAAG,EAAE;oBACnB,MAAM,IAAI,GAAG,QAAQ,CAAC,iBAAiB,KAAK,EAAE,CAAC;oBAC/C,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;oBACxB,IAAI,CAAC,cAAc,EAAE,EAAE,CAAC;gBAC1B,CAAC,CAAC;gBAEF,QAAQ,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC;gBAEvD,OAAO,GAAG,EAAE;oBACV,QAAQ,CAAC,mBAAmB,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC;oBAC1D,4DAA4D;oBAC5D,IAAI,QAAQ,CAAC,iBAAiB,KAAK,EAAE,EAAE,CAAC;wBACtC,QAAQ,CAAC,cAAc,EAAE,EAAE,CAAC;oBAC9B,CAAC;gBACH,CAAC,CAAC;YACJ,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,OAAO;YACL,IAAI,CAAC,MAAe;gBAClB,OAAO,KAAK,CAAC;YACf,CAAC;YAED,GAAG,CAAY,KAAc;gBAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC;gBAC9B,IAAI,CAAC,UAAU,CAAC,GAAG,KAAK,CAAC;gBAEzB,IAAI,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC;oBACnB,sBAAsB;oBACrB,IAAoB,CAAC,iBAAiB,EAAE,CAAC,IAAI,CAAC,CAAC;gBAClD,CAAC;qBAAM,IAAI,CAAC,KAAK,IAAI,IAAI,EAAE,CAAC;oBAC1B,qBAAqB;oBACrB,IAAI,QAAQ,CAAC,iBAAiB,KAAK,IAAI,EAAE,CAAC;wBACxC,QAAQ,CAAC,cAAc,EAAE,EAAE,CAAC;oBAC9B,CAAC;gBACH,CAAC;YACH,CAAC;YAED,GAAG;gBACD,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,KAAK,CAAC;YACnC,CAAC;SACF,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC"}
|
package/dist/element/index.d.ts
CHANGED
|
@@ -25,4 +25,10 @@ export { provide, consume, ContextRequestEvent } from "./context";
|
|
|
25
25
|
export type { ContextCallback } from "./context";
|
|
26
26
|
export { portal } from "./portal";
|
|
27
27
|
export type { PortalOptions } from "./portal";
|
|
28
|
+
export { media } from "./media";
|
|
29
|
+
export { fullscreen } from "./fullscreen";
|
|
30
|
+
export type { FullscreenOptions } from "./fullscreen";
|
|
31
|
+
export { clipboard } from "./clipboard";
|
|
32
|
+
export { draggable, dropzone } from "./dnd";
|
|
33
|
+
export type { DraggableOptions, DropzoneOptions } from "./dnd";
|
|
28
34
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/element/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AASxC,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAGlE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAG9D,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAGjC,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAGvC,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,cAAc,EAAE,KAAK,qBAAqB,EAAE,MAAM,UAAU,CAAC;AAG7G,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,YAAY,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAGjE,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,YAAY,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAG3D,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAG/B,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,YAAY,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAGtD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,YAAY,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAG3D,OAAO,EAAE,GAAG,EAAE,YAAY,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAC/E,YAAY,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAG5D,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAClE,YAAY,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAGjD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,YAAY,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/element/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AASxC,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAGlE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAG9D,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAGjC,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAGvC,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,cAAc,EAAE,KAAK,qBAAqB,EAAE,MAAM,UAAU,CAAC;AAG7G,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,YAAY,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAGjE,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,YAAY,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAG3D,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAG/B,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,YAAY,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAGtD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,YAAY,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAG3D,OAAO,EAAE,GAAG,EAAE,YAAY,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAC/E,YAAY,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAG5D,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAClE,YAAY,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAGjD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,YAAY,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAG9C,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAGhC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,YAAY,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAGtD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAGxC,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC5C,YAAY,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,OAAO,CAAC"}
|
package/dist/element/index.js
CHANGED
|
@@ -37,4 +37,12 @@ export { log, LogTransport, ConsoleTransport, resetLogTransport } from "./log";
|
|
|
37
37
|
export { provide, consume, ContextRequestEvent } from "./context";
|
|
38
38
|
// Portal: teleport content to external DOM targets
|
|
39
39
|
export { portal } from "./portal";
|
|
40
|
+
// Media: reactive media query binding
|
|
41
|
+
export { media } from "./media";
|
|
42
|
+
// Fullscreen: toggle fullscreen API
|
|
43
|
+
export { fullscreen } from "./fullscreen";
|
|
44
|
+
// Clipboard: declarative copy/paste
|
|
45
|
+
export { clipboard } from "./clipboard";
|
|
46
|
+
// Drag & Drop: declarative DnD
|
|
47
|
+
export { draggable, dropzone } from "./dnd";
|
|
40
48
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/element/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,eAAe;AACf,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAExC,kEAAkE;AAClE,gEAAgE;AAChE,0DAA0D;AAC1D,8DAA8D;AAC9D,4DAA4D;AAE5D,qBAAqB;AACrB,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAElE,uBAAuB;AACvB,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAE9D,kBAAkB;AAClB,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAEjC,qBAAqB;AACrB,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,oBAAoB;AACpB,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,cAAc,EAA8B,MAAM,UAAU,CAAC;AAE7G,iBAAiB;AACjB,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAG9B,yBAAyB;AACzB,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAE9B,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE3D,iBAAiB;AACjB,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAE/B,uBAAuB;AACvB,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAG1C,mBAAmB;AACnB,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAGlC,4BAA4B;AAC5B,OAAO,EAAE,GAAG,EAAE,YAAY,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAG/E,oDAAoD;AACpD,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAGlE,mDAAmD;AACnD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/element/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,eAAe;AACf,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAExC,kEAAkE;AAClE,gEAAgE;AAChE,0DAA0D;AAC1D,8DAA8D;AAC9D,4DAA4D;AAE5D,qBAAqB;AACrB,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAElE,uBAAuB;AACvB,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAE9D,kBAAkB;AAClB,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAEjC,qBAAqB;AACrB,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,oBAAoB;AACpB,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,cAAc,EAA8B,MAAM,UAAU,CAAC;AAE7G,iBAAiB;AACjB,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAG9B,yBAAyB;AACzB,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAE9B,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE3D,iBAAiB;AACjB,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAE/B,uBAAuB;AACvB,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAG1C,mBAAmB;AACnB,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAGlC,4BAA4B;AAC5B,OAAO,EAAE,GAAG,EAAE,YAAY,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAG/E,oDAAoD;AACpD,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAGlE,mDAAmD;AACnD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAGlC,sCAAsC;AACtC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEhC,oCAAoC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAG1C,oCAAoC;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,+BAA+B;AAC/B,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lazy.d.ts","sourceRoot":"","sources":["../../src/element/lazy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAMH,QAAA,MAAM,WAAW,kCAA8B,CAAC;AAChD,QAAA,MAAM,SAAS,sCAA2C,CAAC;AAC3D,QAAA,MAAM,WAAW,kCAAuC,CAAC;AACzD,QAAA,MAAM,SAAS,kCAA8B,CAAC;AAE9C,MAAM,WAAW,WAAW;IAC1B,sFAAsF;IACtF,OAAO,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC;IAChC,mFAAmF;IACnF,KAAK,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC;CAC/B;AAED;;;;;;GAMG;AACH,wBAAgB,IAAI,CAClB,MAAM,EAAE,MAAM,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,EACrD,IAAI,CAAC,EAAE,WAAW,IAED,OAAO,QAAQ,EAAE,UAAU,qBAAqB,
|
|
1
|
+
{"version":3,"file":"lazy.d.ts","sourceRoot":"","sources":["../../src/element/lazy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAMH,QAAA,MAAM,WAAW,kCAA8B,CAAC;AAChD,QAAA,MAAM,SAAS,sCAA2C,CAAC;AAC3D,QAAA,MAAM,WAAW,kCAAuC,CAAC;AACzD,QAAA,MAAM,SAAS,kCAA8B,CAAC;AAE9C,MAAM,WAAW,WAAW;IAC1B,sFAAsF;IACtF,OAAO,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC;IAChC,mFAAmF;IACnF,KAAK,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC;CAC/B;AAED;;;;;;GAMG;AACH,wBAAgB,IAAI,CAClB,MAAM,EAAE,MAAM,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,EACrD,IAAI,CAAC,EAAE,WAAW,IAED,OAAO,QAAQ,EAAE,UAAU,qBAAqB,UAgVlE;AAED,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC"}
|
package/dist/element/lazy.js
CHANGED
|
@@ -100,6 +100,15 @@ export function lazy(loader, opts) {
|
|
|
100
100
|
origScheduleUpdate?.call(this);
|
|
101
101
|
};
|
|
102
102
|
ctor.prototype.connectedCallback = async function () {
|
|
103
|
+
// Set up .ready promise — resolves when impl is fully mounted
|
|
104
|
+
let readyResolve;
|
|
105
|
+
let readyReject;
|
|
106
|
+
this.ready = new Promise((res, rej) => {
|
|
107
|
+
readyResolve = res;
|
|
108
|
+
readyReject = rej;
|
|
109
|
+
});
|
|
110
|
+
// Suppress unhandled rejection if nobody awaits .ready on error
|
|
111
|
+
this.ready.catch(() => { });
|
|
103
112
|
// Already loaded — mount the impl for this (possibly new) instance
|
|
104
113
|
if (ctor[LAZY_LOADED.key]) {
|
|
105
114
|
origConnected?.call(this);
|
|
@@ -107,8 +116,50 @@ export function lazy(loader, opts) {
|
|
|
107
116
|
if (!this[LAZY_IMPL.key] || !this[LAZY_IMPL.key].isConnected) {
|
|
108
117
|
ctor.__mountLazyImpl.call(this);
|
|
109
118
|
}
|
|
119
|
+
readyResolve(this);
|
|
110
120
|
return;
|
|
111
121
|
}
|
|
122
|
+
// Install a Proxy on the instance prototype to auto-queue method
|
|
123
|
+
// calls made before the impl loads. Unknown method calls are buffered
|
|
124
|
+
// and replayed after mount. Each queued call returns a Promise that
|
|
125
|
+
// resolves to the real return value.
|
|
126
|
+
const origProto = Object.getPrototypeOf(this);
|
|
127
|
+
const lazyQueue = [];
|
|
128
|
+
const queueProxy = new Proxy(origProto, {
|
|
129
|
+
get: (target, prop, receiver) => {
|
|
130
|
+
// Symbols and known properties — pass through normally
|
|
131
|
+
if (typeof prop === "symbol" || prop in target) {
|
|
132
|
+
return Reflect.get(target, prop, receiver);
|
|
133
|
+
}
|
|
134
|
+
// Skip Promise protocol, conversion methods, and internals
|
|
135
|
+
if (prop === "then" || prop === "catch" || prop === "finally" ||
|
|
136
|
+
prop === "toJSON" || prop === "valueOf" || prop === "toString" ||
|
|
137
|
+
prop === "toLocaleString" || prop === "constructor" ||
|
|
138
|
+
prop === "nodeType" || prop === "nodeName" ||
|
|
139
|
+
prop.startsWith("_")) {
|
|
140
|
+
return undefined;
|
|
141
|
+
}
|
|
142
|
+
// Unknown string property — return a queuing function
|
|
143
|
+
return (...args) => {
|
|
144
|
+
return new Promise(resolve => {
|
|
145
|
+
lazyQueue.push({ method: prop, args, resolve });
|
|
146
|
+
});
|
|
147
|
+
};
|
|
148
|
+
},
|
|
149
|
+
});
|
|
150
|
+
Object.setPrototypeOf(this, queueProxy);
|
|
151
|
+
// Helper: restore prototype and replay queued calls
|
|
152
|
+
const replayQueue = () => {
|
|
153
|
+
Object.setPrototypeOf(this, origProto);
|
|
154
|
+
const impl = this[LAZY_IMPL.key];
|
|
155
|
+
if (impl) {
|
|
156
|
+
for (const { method, args, resolve } of lazyQueue) {
|
|
157
|
+
const fn = impl[method];
|
|
158
|
+
resolve(typeof fn === "function" ? fn.call(impl, ...args) : fn);
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
lazyQueue.length = 0;
|
|
162
|
+
};
|
|
112
163
|
// Show loading indicator
|
|
113
164
|
if (opts?.loading) {
|
|
114
165
|
const loadingEl = typeof opts.loading === "function"
|
|
@@ -256,10 +307,27 @@ export function lazy(loader, opts) {
|
|
|
256
307
|
proto = Object.getPrototypeOf(proto);
|
|
257
308
|
}
|
|
258
309
|
};
|
|
310
|
+
// Restore original prototype BEFORE mount so that property reads
|
|
311
|
+
// inside __mountLazyImpl (e.g., prop forwarding checking this.heading)
|
|
312
|
+
// don't get intercepted by the queue proxy.
|
|
313
|
+
Object.setPrototypeOf(this, origProto);
|
|
259
314
|
ctor.__mountLazyImpl.call(this);
|
|
315
|
+
// Replay any method calls that were queued while loading
|
|
316
|
+
const impl = this[LAZY_IMPL.key];
|
|
317
|
+
if (impl && lazyQueue.length > 0) {
|
|
318
|
+
for (const { method, args, resolve } of lazyQueue) {
|
|
319
|
+
const fn = impl[method];
|
|
320
|
+
resolve(typeof fn === "function" ? fn.call(impl, ...args) : fn);
|
|
321
|
+
}
|
|
322
|
+
lazyQueue.length = 0;
|
|
323
|
+
}
|
|
260
324
|
bus.emit(new LazyLoadEnd(tag, true, performance.now() - t0));
|
|
325
|
+
readyResolve(this);
|
|
261
326
|
}
|
|
262
327
|
catch (err) {
|
|
328
|
+
// Clean up proxy without replaying
|
|
329
|
+
Object.setPrototypeOf(this, origProto);
|
|
330
|
+
lazyQueue.length = 0;
|
|
263
331
|
console.error("[Loom @lazy] Failed to load module:", err);
|
|
264
332
|
bus.emit(new LazyLoadEnd(tag, false, performance.now() - t0, err));
|
|
265
333
|
this.shadow.innerHTML = "";
|
|
@@ -272,6 +340,7 @@ export function lazy(loader, opts) {
|
|
|
272
340
|
else {
|
|
273
341
|
this.shadow.innerHTML = `<p style="color:red">Failed to load component</p>`;
|
|
274
342
|
}
|
|
343
|
+
readyReject(err);
|
|
275
344
|
}
|
|
276
345
|
};
|
|
277
346
|
};
|
package/dist/element/lazy.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lazy.js","sourceRoot":"","sources":["../../src/element/lazy.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"lazy.js","sourceRoot":"","sources":["../../src/element/lazy.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Loom — @media decorator
|
|
3
|
+
*
|
|
4
|
+
* Reactive media-query binding for accessor fields.
|
|
5
|
+
* Creates a `matchMedia` listener on connect, cleans up on disconnect.
|
|
6
|
+
* The field auto-updates when the media query match state changes.
|
|
7
|
+
*
|
|
8
|
+
* ```ts
|
|
9
|
+
* @media("(max-width: 768px)")
|
|
10
|
+
* accessor isMobile = false;
|
|
11
|
+
*
|
|
12
|
+
* @media("(prefers-color-scheme: dark)")
|
|
13
|
+
* accessor prefersDark = false;
|
|
14
|
+
*
|
|
15
|
+
* @media("(min-width: 1024px) and (orientation: landscape)")
|
|
16
|
+
* accessor isDesktop = false;
|
|
17
|
+
* ```
|
|
18
|
+
*/
|
|
19
|
+
/**
|
|
20
|
+
* @media(query) — Accessor decorator
|
|
21
|
+
*
|
|
22
|
+
* Binds a boolean accessor to a CSS media query via `matchMedia`.
|
|
23
|
+
* The field is set to `true`/`false` on connect and updated reactively
|
|
24
|
+
* whenever the match state changes. Cleanup is automatic on disconnect.
|
|
25
|
+
*/
|
|
26
|
+
export declare function media(query: string): (_target: ClassAccessorDecoratorTarget<any, boolean>, context: ClassAccessorDecoratorContext) => ClassAccessorDecoratorResult<any, boolean>;
|
|
27
|
+
//# sourceMappingURL=media.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"media.d.ts","sourceRoot":"","sources":["../../src/element/media.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAIH;;;;;;GAMG;AACH,wBAAgB,KAAK,CAAC,KAAK,EAAE,MAAM,IAE/B,SAAS,4BAA4B,CAAC,GAAG,EAAE,OAAO,CAAC,EACnD,SAAS,6BAA6B,KACrC,4BAA4B,CAAC,GAAG,EAAE,OAAO,CAAC,CAyC9C"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Loom — @media decorator
|
|
3
|
+
*
|
|
4
|
+
* Reactive media-query binding for accessor fields.
|
|
5
|
+
* Creates a `matchMedia` listener on connect, cleans up on disconnect.
|
|
6
|
+
* The field auto-updates when the media query match state changes.
|
|
7
|
+
*
|
|
8
|
+
* ```ts
|
|
9
|
+
* @media("(max-width: 768px)")
|
|
10
|
+
* accessor isMobile = false;
|
|
11
|
+
*
|
|
12
|
+
* @media("(prefers-color-scheme: dark)")
|
|
13
|
+
* accessor prefersDark = false;
|
|
14
|
+
*
|
|
15
|
+
* @media("(min-width: 1024px) and (orientation: landscape)")
|
|
16
|
+
* accessor isDesktop = false;
|
|
17
|
+
* ```
|
|
18
|
+
*/
|
|
19
|
+
import { CONNECT_HOOKS } from "../decorators/symbols";
|
|
20
|
+
/**
|
|
21
|
+
* @media(query) — Accessor decorator
|
|
22
|
+
*
|
|
23
|
+
* Binds a boolean accessor to a CSS media query via `matchMedia`.
|
|
24
|
+
* The field is set to `true`/`false` on connect and updated reactively
|
|
25
|
+
* whenever the match state changes. Cleanup is automatic on disconnect.
|
|
26
|
+
*/
|
|
27
|
+
export function media(query) {
|
|
28
|
+
return function (_target, context) {
|
|
29
|
+
const fieldName = context.name;
|
|
30
|
+
const storageKey = `__media_${fieldName}`;
|
|
31
|
+
context.addInitializer(function () {
|
|
32
|
+
if (!this[CONNECT_HOOKS.key])
|
|
33
|
+
this[CONNECT_HOOKS.key] = [];
|
|
34
|
+
this[CONNECT_HOOKS.key].push((_el) => {
|
|
35
|
+
const mql = window.matchMedia(query);
|
|
36
|
+
// Set initial value from current match state
|
|
37
|
+
this[storageKey] = mql.matches;
|
|
38
|
+
this.scheduleUpdate?.();
|
|
39
|
+
// Listen for changes
|
|
40
|
+
const handler = (e) => {
|
|
41
|
+
this[storageKey] = e.matches;
|
|
42
|
+
this.scheduleUpdate?.();
|
|
43
|
+
};
|
|
44
|
+
mql.addEventListener("change", handler);
|
|
45
|
+
// Return cleanup — runs on disconnectedCallback
|
|
46
|
+
return () => mql.removeEventListener("change", handler);
|
|
47
|
+
});
|
|
48
|
+
});
|
|
49
|
+
return {
|
|
50
|
+
init(_value) {
|
|
51
|
+
return false; // Will be set from matchMedia on connect
|
|
52
|
+
},
|
|
53
|
+
set(value) {
|
|
54
|
+
this[storageKey] = value;
|
|
55
|
+
},
|
|
56
|
+
get() {
|
|
57
|
+
return this[storageKey] ?? false;
|
|
58
|
+
},
|
|
59
|
+
};
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
//# sourceMappingURL=media.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"media.js","sourceRoot":"","sources":["../../src/element/media.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAEtD;;;;;;GAMG;AACH,MAAM,UAAU,KAAK,CAAC,KAAa;IACjC,OAAO,UACL,OAAmD,EACnD,OAAsC;QAEtC,MAAM,SAAS,GAAG,OAAO,CAAC,IAAc,CAAC;QACzC,MAAM,UAAU,GAAG,WAAW,SAAS,EAAE,CAAC;QAE1C,OAAO,CAAC,cAAc,CAAC;YACrB,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC;gBAAE,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;YAE3D,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,GAAgB,EAAE,EAAE;gBAChD,MAAM,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;gBAErC,6CAA6C;gBAC7C,IAAI,CAAC,UAAU,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC;gBAC/B,IAAI,CAAC,cAAc,EAAE,EAAE,CAAC;gBAExB,qBAAqB;gBACrB,MAAM,OAAO,GAAG,CAAC,CAAsB,EAAE,EAAE;oBACzC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC;oBAC7B,IAAI,CAAC,cAAc,EAAE,EAAE,CAAC;gBAC1B,CAAC,CAAC;gBAEF,GAAG,CAAC,gBAAgB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;gBAExC,gDAAgD;gBAChD,OAAO,GAAG,EAAE,CAAC,GAAG,CAAC,mBAAmB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAC1D,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,OAAO;YACL,IAAI,CAAC,MAAe;gBAClB,OAAO,KAAK,CAAC,CAAC,yCAAyC;YACzD,CAAC;YAED,GAAG,CAAY,KAAc;gBAC3B,IAAI,CAAC,UAAU,CAAC,GAAG,KAAK,CAAC;YAC3B,CAAC;YAED,GAAG;gBACD,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,KAAK,CAAC;YACnC,CAAC;SACF,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC"}
|