@toyz/loom 0.13.5 → 0.13.7
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
CHANGED
|
@@ -19,8 +19,8 @@ declare const LAZY_OPTS: import("..").LoomSymbol<LazyOptions>;
|
|
|
19
19
|
declare const LAZY_LOADED: import("..").LoomSymbol<boolean>;
|
|
20
20
|
declare const LAZY_IMPL: import("..").LoomSymbol<unknown>;
|
|
21
21
|
export interface LazyOptions {
|
|
22
|
-
/**
|
|
23
|
-
loading?: string;
|
|
22
|
+
/** Loading indicator — tag name string or factory returning a DOM node (JSX works) */
|
|
23
|
+
loading?: string | (() => Node);
|
|
24
24
|
}
|
|
25
25
|
/**
|
|
26
26
|
* @lazy(loader, opts?) — Stackable class decorator
|
|
@@ -1 +1 @@
|
|
|
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,
|
|
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,sFAAsF;IACtF,OAAO,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC;CACjC;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,UAgGlE;AAED,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC"}
|
package/dist/element/lazy.js
CHANGED
|
@@ -46,18 +46,20 @@ export function lazy(loader, opts) {
|
|
|
46
46
|
}
|
|
47
47
|
};
|
|
48
48
|
ctor.prototype.connectedCallback = async function () {
|
|
49
|
-
// Already loaded —
|
|
49
|
+
// Already loaded — mount the impl for this (possibly new) instance
|
|
50
50
|
if (ctor[LAZY_LOADED.key]) {
|
|
51
51
|
origConnected?.call(this);
|
|
52
|
-
//
|
|
52
|
+
// Mount impl if this instance doesn't have one yet
|
|
53
53
|
if (!this[LAZY_IMPL.key] || !this[LAZY_IMPL.key].isConnected) {
|
|
54
|
-
|
|
54
|
+
ctor.__mountLazyImpl.call(this);
|
|
55
55
|
}
|
|
56
56
|
return;
|
|
57
57
|
}
|
|
58
58
|
// Show loading indicator
|
|
59
59
|
if (opts?.loading) {
|
|
60
|
-
const loadingEl =
|
|
60
|
+
const loadingEl = typeof opts.loading === "function"
|
|
61
|
+
? opts.loading()
|
|
62
|
+
: document.createElement(opts.loading);
|
|
61
63
|
this.shadow.appendChild(loadingEl);
|
|
62
64
|
}
|
|
63
65
|
try {
|
|
@@ -69,12 +71,12 @@ export function lazy(loader, opts) {
|
|
|
69
71
|
if (!customElements.get(implTag)) {
|
|
70
72
|
customElements.define(implTag, RealClass);
|
|
71
73
|
}
|
|
72
|
-
// Store the impl tag
|
|
74
|
+
// Store the impl tag and shared mount function on the constructor
|
|
73
75
|
ctor[LAZY_LOADED.key] = true;
|
|
74
76
|
ctor.__lazy_impl_tag = implTag;
|
|
75
|
-
//
|
|
76
|
-
|
|
77
|
-
|
|
77
|
+
// Shared mount function — can be called by any instance
|
|
78
|
+
ctor.__mountLazyImpl = function () {
|
|
79
|
+
this.shadow.innerHTML = "";
|
|
78
80
|
const realEl = document.createElement(ctor.__lazy_impl_tag);
|
|
79
81
|
// Forward all attributes from shell → real instance
|
|
80
82
|
for (const attr of this.attributes) {
|
|
@@ -100,7 +102,7 @@ export function lazy(loader, opts) {
|
|
|
100
102
|
this.shadow.appendChild(realEl);
|
|
101
103
|
this[LAZY_IMPL.key] = realEl;
|
|
102
104
|
};
|
|
103
|
-
|
|
105
|
+
ctor.__mountLazyImpl.call(this);
|
|
104
106
|
}
|
|
105
107
|
catch (err) {
|
|
106
108
|
console.error("[Loom @lazy] Failed to load module:", err);
|
package/dist/element/lazy.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lazy.js","sourceRoot":"","sources":["../../src/element/lazy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAElE,MAAM,WAAW,GAAG,YAAY,CAAC,aAAa,CAAC,CAAC;AAChD,MAAM,SAAS,GAAK,YAAY,CAAc,WAAW,CAAC,CAAC;AAC3D,MAAM,WAAW,GAAG,YAAY,CAAU,aAAa,CAAC,CAAC;AACzD,MAAM,SAAS,GAAK,YAAY,CAAC,WAAW,CAAC,CAAC;AAO9C;;;;;;GAMG;AACH,MAAM,UAAU,IAAI,CAClB,MAAqD,EACrD,IAAkB;IAElB,OAAO,UAAU,KAAe,EAAE,QAA+B;QAC/D,MAAM,IAAI,GAAG,KAAY,CAAC;QAC1B,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC;QAC/B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;QAE3B,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC;QACvD,MAAM,eAAe,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC;QAEnD,kDAAkD;QAClD,IAAI,CAAC,SAAS,CAAC,WAAW,GAAG,UAAU,MAAuB;YAC5D,mCAAmC;YACnC,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC;YAC3B,0DAA0D;YAC1D,eAAe,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YACpC,qCAAqC;YACrC,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;YACjC,IAAI,IAAI,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,UAAU,EAAE,CAAC;gBACnD,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;YAC3B,CAAC;QACH,CAAC,CAAC;QAEF,IAAI,CAAC,SAAS,CAAC,iBAAiB,GAAG,KAAK;YACtC,
|
|
1
|
+
{"version":3,"file":"lazy.js","sourceRoot":"","sources":["../../src/element/lazy.ts"],"names":[],"mappings":"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"}
|