@toyz/loom 0.13.0 → 0.13.2
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/lazy.d.ts +9 -4
- package/dist/element/lazy.d.ts.map +1 -1
- package/dist/element/lazy.js +46 -26
- package/dist/element/lazy.js.map +1 -1
- package/dist/router/outlet.d.ts +1 -1
- package/dist/router/outlet.d.ts.map +1 -1
- package/dist/router/outlet.js +18 -4
- package/dist/router/outlet.js.map +1 -1
- package/package.json +1 -1
package/dist/element/lazy.d.ts
CHANGED
|
@@ -3,6 +3,10 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Stackable class decorator that defers module loading until first mount.
|
|
5
5
|
*
|
|
6
|
+
* The shell element hosts a real instance inside its shadow DOM.
|
|
7
|
+
* This is necessary because TC39 private fields (#private) are
|
|
8
|
+
* per-class-identity — prototype-copying can't transfer private slots.
|
|
9
|
+
*
|
|
6
10
|
* ```ts
|
|
7
11
|
* @component("settings-page")
|
|
8
12
|
* @route("/settings")
|
|
@@ -10,9 +14,10 @@
|
|
|
10
14
|
* class SettingsPage extends LoomElement {}
|
|
11
15
|
* ```
|
|
12
16
|
*/
|
|
13
|
-
declare const LAZY_LOADER:
|
|
14
|
-
declare const LAZY_OPTS:
|
|
15
|
-
declare const LAZY_LOADED:
|
|
17
|
+
declare const LAZY_LOADER: import("..").LoomSymbol<unknown>;
|
|
18
|
+
declare const LAZY_OPTS: import("..").LoomSymbol<LazyOptions>;
|
|
19
|
+
declare const LAZY_LOADED: import("..").LoomSymbol<boolean>;
|
|
20
|
+
declare const LAZY_IMPL: import("..").LoomSymbol<unknown>;
|
|
16
21
|
export interface LazyOptions {
|
|
17
22
|
/** Tag name of a loading component to show while the chunk loads */
|
|
18
23
|
loading?: string;
|
|
@@ -27,5 +32,5 @@ export interface LazyOptions {
|
|
|
27
32
|
export declare function lazy(loader: () => Promise<{
|
|
28
33
|
default: unknown;
|
|
29
34
|
} | unknown>, opts?: LazyOptions): (value: Function, _context: ClassDecoratorContext) => void;
|
|
30
|
-
export { LAZY_LOADER, LAZY_OPTS, LAZY_LOADED };
|
|
35
|
+
export { LAZY_LOADER, LAZY_OPTS, LAZY_LOADED, LAZY_IMPL };
|
|
31
36
|
//# sourceMappingURL=lazy.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lazy.d.ts","sourceRoot":"","sources":["../../src/element/lazy.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"lazy.d.ts","sourceRoot":"","sources":["../../src/element/lazy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAIH,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,oEAAoE;IACpE,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;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,UAsElE;AAED,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC"}
|
package/dist/element/lazy.js
CHANGED
|
@@ -3,6 +3,10 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Stackable class decorator that defers module loading until first mount.
|
|
5
5
|
*
|
|
6
|
+
* The shell element hosts a real instance inside its shadow DOM.
|
|
7
|
+
* This is necessary because TC39 private fields (#private) are
|
|
8
|
+
* per-class-identity — prototype-copying can't transfer private slots.
|
|
9
|
+
*
|
|
6
10
|
* ```ts
|
|
7
11
|
* @component("settings-page")
|
|
8
12
|
* @route("/settings")
|
|
@@ -10,9 +14,11 @@
|
|
|
10
14
|
* class SettingsPage extends LoomElement {}
|
|
11
15
|
* ```
|
|
12
16
|
*/
|
|
13
|
-
|
|
14
|
-
const
|
|
15
|
-
const
|
|
17
|
+
import { ROUTE_PROPS, createSymbol } from "../decorators/symbols";
|
|
18
|
+
const LAZY_LOADER = createSymbol("lazy:loader");
|
|
19
|
+
const LAZY_OPTS = createSymbol("lazy:opts");
|
|
20
|
+
const LAZY_LOADED = createSymbol("lazy:loaded");
|
|
21
|
+
const LAZY_IMPL = createSymbol("lazy:impl");
|
|
16
22
|
/**
|
|
17
23
|
* @lazy(loader, opts?) — Stackable class decorator
|
|
18
24
|
*
|
|
@@ -23,14 +29,20 @@ const LAZY_LOADED = Symbol("loom:lazy:loaded");
|
|
|
23
29
|
export function lazy(loader, opts) {
|
|
24
30
|
return function (value, _context) {
|
|
25
31
|
const ctor = value;
|
|
26
|
-
ctor[LAZY_LOADER] = loader;
|
|
27
|
-
ctor[LAZY_OPTS] = opts;
|
|
32
|
+
ctor[LAZY_LOADER.key] = loader;
|
|
33
|
+
ctor[LAZY_OPTS.key] = opts;
|
|
28
34
|
const origConnected = ctor.prototype.connectedCallback;
|
|
29
35
|
ctor.prototype.connectedCallback = async function () {
|
|
30
|
-
if
|
|
36
|
+
// Already loaded — if we have a hosted impl, just call its connected
|
|
37
|
+
if (ctor[LAZY_LOADED.key]) {
|
|
31
38
|
origConnected?.call(this);
|
|
39
|
+
// Re-mount the impl if disconnected/reconnected
|
|
40
|
+
if (!this[LAZY_IMPL.key] || !this[LAZY_IMPL.key].isConnected) {
|
|
41
|
+
this._mountLazyImpl?.();
|
|
42
|
+
}
|
|
32
43
|
return;
|
|
33
44
|
}
|
|
45
|
+
// Show loading indicator
|
|
34
46
|
if (opts?.loading) {
|
|
35
47
|
const loadingEl = document.createElement(opts.loading);
|
|
36
48
|
this.shadow.appendChild(loadingEl);
|
|
@@ -38,27 +50,35 @@ export function lazy(loader, opts) {
|
|
|
38
50
|
try {
|
|
39
51
|
const mod = await loader();
|
|
40
52
|
const RealClass = mod.default ?? mod;
|
|
41
|
-
|
|
42
|
-
const
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
Object.defineProperty(ctor.prototype, key, desc);
|
|
47
|
-
}
|
|
48
|
-
const staticDescs = Object.getOwnPropertyDescriptors(RealClass);
|
|
49
|
-
for (const [key, desc] of Object.entries(staticDescs)) {
|
|
50
|
-
if (["prototype", "length", "name"].includes(key))
|
|
51
|
-
continue;
|
|
52
|
-
Object.defineProperty(ctor, key, desc);
|
|
53
|
+
// Register the real class under an internal impl tag
|
|
54
|
+
const baseTag = ctor.__loom_tag ?? this.tagName.toLowerCase();
|
|
55
|
+
const implTag = `${baseTag}-impl`;
|
|
56
|
+
if (!customElements.get(implTag)) {
|
|
57
|
+
customElements.define(implTag, RealClass);
|
|
53
58
|
}
|
|
54
|
-
|
|
59
|
+
// Store the impl tag for future mounts
|
|
60
|
+
ctor[LAZY_LOADED.key] = true;
|
|
61
|
+
ctor.__lazy_impl_tag = implTag;
|
|
62
|
+
// Clear loading indicator and mount
|
|
55
63
|
this.shadow.innerHTML = "";
|
|
56
|
-
|
|
57
|
-
ctor.
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
64
|
+
this._mountLazyImpl = () => {
|
|
65
|
+
const realEl = document.createElement(ctor.__lazy_impl_tag);
|
|
66
|
+
// Forward all attributes from shell → real instance
|
|
67
|
+
for (const attr of this.attributes) {
|
|
68
|
+
realEl.setAttribute(attr.name, attr.value);
|
|
69
|
+
}
|
|
70
|
+
// Forward route data via ROUTE_PROPS metadata
|
|
71
|
+
const routeBindings = ctor[ROUTE_PROPS.key] ?? [];
|
|
72
|
+
for (const binding of routeBindings) {
|
|
73
|
+
const val = this[binding.propKey];
|
|
74
|
+
if (val !== undefined) {
|
|
75
|
+
realEl[binding.propKey] = val;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
this.shadow.appendChild(realEl);
|
|
79
|
+
this[LAZY_IMPL.key] = realEl;
|
|
80
|
+
};
|
|
81
|
+
this._mountLazyImpl();
|
|
62
82
|
}
|
|
63
83
|
catch (err) {
|
|
64
84
|
console.error("[Loom @lazy] Failed to load module:", err);
|
|
@@ -67,5 +87,5 @@ export function lazy(loader, opts) {
|
|
|
67
87
|
};
|
|
68
88
|
};
|
|
69
89
|
}
|
|
70
|
-
export { LAZY_LOADER, LAZY_OPTS, LAZY_LOADED };
|
|
90
|
+
export { LAZY_LOADER, LAZY_OPTS, LAZY_LOADED, LAZY_IMPL };
|
|
71
91
|
//# sourceMappingURL=lazy.js.map
|
package/dist/element/lazy.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lazy.js","sourceRoot":"","sources":["../../src/element/lazy.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"lazy.js","sourceRoot":"","sources":["../../src/element/lazy.ts"],"names":[],"mappings":"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"}
|
package/dist/router/outlet.d.ts
CHANGED
|
@@ -30,7 +30,7 @@ declare class LoomOutlet extends LoomElement {
|
|
|
30
30
|
* falls back to setAttribute for backward compat.
|
|
31
31
|
*/
|
|
32
32
|
private _injectRouteData;
|
|
33
|
-
/** Parse query params from the URL hash */
|
|
33
|
+
/** Parse query params from the URL (supports both hash and history mode) */
|
|
34
34
|
private _parseQuery;
|
|
35
35
|
private _adoptParentStyles;
|
|
36
36
|
private _clear;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"outlet.d.ts","sourceRoot":"","sources":["../../src/router/outlet.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAMjD,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"outlet.d.ts","sourceRoot":"","sources":["../../src/router/outlet.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAMjD,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAKxC,cACM,UAAW,SAAQ,WAAW;IAClC,sEAAsE;IAChE,QAAQ,CAAC,MAAM,EAAE,aAAa,EAAE,CAAM;IACtC,QAAQ,CAAC,WAAW,UAAQ;IAElC,oEAAoE;IACpE,UAAU,EAAE,CAAC,CAAC,EAAE,EAAE,WAAW,KAAK,IAAI,CAAC,GAAG,IAAI,CAAQ;IAEtD,OAAO,CAAC,WAAW,CAAuB;IAC1C,OAAO,CAAC,UAAU,CAA4B;IAC9C,OAAO,CAAC,gBAAgB,CAAS;IAGjC,cAAc,CAAC,CAAC,EAAE,YAAY;IAI9B,0EAA0E;IAC1E,YAAY;IAiBZ,OAAO,CAAC,KAAK;IAoBb,OAAO,CAAC,MAAM;IAmBd;;;;OAIG;IACH,OAAO,CAAC,gBAAgB;IAyCxB,4EAA4E;IAC5E,OAAO,CAAC,WAAW;IASnB,OAAO,CAAC,kBAAkB;IAM1B,OAAO,CAAC,MAAM;IAQd,OAAO,CAAC,YAAY;CAkBrB;AAED,OAAO,EAAE,UAAU,EAAE,CAAC"}
|
package/dist/router/outlet.js
CHANGED
|
@@ -50,6 +50,8 @@ import { ROUTE_PROPS, TRANSFORMS } from "../decorators/symbols";
|
|
|
50
50
|
import { matchRoute } from "./route";
|
|
51
51
|
import { RouteChanged } from "./events";
|
|
52
52
|
import { params as paramsSentinel, routeQuery as querySentinel } from "../store/decorators";
|
|
53
|
+
import { app } from "../app";
|
|
54
|
+
import { LoomRouter } from "./router";
|
|
53
55
|
let LoomOutlet = (() => {
|
|
54
56
|
let _classDecorators = [component("loom-outlet")];
|
|
55
57
|
let _classDescriptor;
|
|
@@ -99,7 +101,15 @@ let LoomOutlet = (() => {
|
|
|
99
101
|
if (this._initialResolved)
|
|
100
102
|
return;
|
|
101
103
|
this._initialResolved = true;
|
|
102
|
-
|
|
104
|
+
// Use the router's mode to read the current path (supports hash + history)
|
|
105
|
+
let path;
|
|
106
|
+
try {
|
|
107
|
+
path = app.get(LoomRouter).mode.read();
|
|
108
|
+
}
|
|
109
|
+
catch {
|
|
110
|
+
// Fallback: try both hash and pathname
|
|
111
|
+
path = location.hash.slice(1) || location.pathname || "/";
|
|
112
|
+
}
|
|
103
113
|
const match = matchRoute(path);
|
|
104
114
|
if (match) {
|
|
105
115
|
this._show(path, match.params);
|
|
@@ -180,11 +190,15 @@ let LoomOutlet = (() => {
|
|
|
180
190
|
}
|
|
181
191
|
}
|
|
182
192
|
}
|
|
183
|
-
/** Parse query params from the URL hash */
|
|
193
|
+
/** Parse query params from the URL (supports both hash and history mode) */
|
|
184
194
|
_parseQuery() {
|
|
185
195
|
const hash = location.hash;
|
|
186
|
-
const
|
|
187
|
-
|
|
196
|
+
const hashQ = hash.indexOf("?");
|
|
197
|
+
// Hash mode: query is inside the hash fragment
|
|
198
|
+
if (hashQ >= 0)
|
|
199
|
+
return new URLSearchParams(hash.slice(hashQ + 1));
|
|
200
|
+
// History mode: query is in location.search
|
|
201
|
+
return new URLSearchParams(location.search);
|
|
188
202
|
}
|
|
189
203
|
_adoptParentStyles(el) {
|
|
190
204
|
if (typeof el.adoptStyles === "function") {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"outlet.js","sourceRoot":"","sources":["../../src/router/outlet.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,EAAE,EAAE,MAAM,sBAAsB,CAAC;AAC1C,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACxC,OAAO,EAAE,MAAM,IAAI,cAAc,EAAE,UAAU,IAAI,aAAa,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"outlet.js","sourceRoot":"","sources":["../../src/router/outlet.ts"],"names":[],"mappings":"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"}
|