ladrillosjs 0.1.8 → 1.0.0-rc.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/dist/ladrillosjs.cjs.js +1 -1
- package/dist/ladrillosjs.es.js +1 -1
- package/dist/ladrillosjs.umd.js +3 -5
- package/dist/main-C0peSxBK.js +3 -0
- package/dist/main-CS7d-nps.mjs +126 -0
- package/dist/webcomponent-D2l14_jr.js +1 -0
- package/dist/webcomponent-Dw20JVmS.mjs +171 -0
- package/package.json +1 -1
- package/dist/main-BaJULV0N.js +0 -5
- package/dist/main-CE6RxSxw.mjs +0 -145
- package/dist/webcomponent-UVarlU1-.js +0 -1
- package/dist/webcomponent-u6r_KhfX.mjs +0 -184
package/dist/ladrillosjs.cjs.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./main-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./main-C0peSxBK.js");exports.ladrillos=e.ladrillos;
|
package/dist/ladrillosjs.es.js
CHANGED
package/dist/ladrillosjs.umd.js
CHANGED
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
(function(
|
|
2
|
-
`+(yield
|
|
3
|
-
`+
|
|
4
|
-
`+(yield b(t+"?raw"))),i.remove()}const T=Array.from(w.querySelectorAll("style"));for(const i of T)y+=`
|
|
5
|
-
`+i.textContent,i.remove();y=y.trim();const v=document.createElement("template");v.innerHTML=w.body.innerHTML,this.components[c]={tagName:c,template:v,script:E,style:y,externalScripts:f},this._defineWebComponent(c,u),e.log(`Component ${c} registered successfully`)}catch(f){e.error(`Failed to register component ${c}:`,f)}})}_defineWebComponent(c,d){return A(this,null,function*(){const{defineWebComponent:u}=yield Promise.resolve().then(()=>x);u(this.components[c],d)})}}p=new WeakMap,C(_,"_SCRIPT_ALL",/<script>([\s\S]*?)<\/script>/g),C(_,"_STYLE_ALL",/<style>([\s\S]*?)<\/style>/g),C(_,"_SCRIPT_ONE",/<script>([\s\S]*?)<\/script>/),C(_,"_STYLE_ONE",/<style>([\s\S]*?)<\/style>/);const S=new _;function $(a,c={}){return new Proxy(c,{set(d,u,f){const g=d[u];return d[u]=f,g!==f&&!a._initializing&&(typeof a._updateBinding=="function"?a._updateBinding(u,f):a._update()),!0},get(d,u){return d[u]}})}const x=Object.freeze(Object.defineProperty({__proto__:null,defineWebComponent:(a,c)=>{if(!a){e.error("Component is not defined or invalid.");return}if(customElements.get(a.tagName)){e.warn(`Component ${a.tagName} is already defined.`);return}const{tagName:d,template:u,script:f,style:g,externalScripts:N}=a,R=/{(.*?)}/g,w=/{\s*([\w$]+)\(\)\s*}/,B=(i=>{const t=new Set;return i.innerHTML.replace(R,(r,s)=>t.add(s.trim().toLowerCase())),Array.from(t)})(u),b=f.replace(/\b(?:const|let|var)\s+([\w$]+)\s*=/g,"state.$1 =").replace(/function\s+([\w$]+)\s*\(/g,"state.$1 = function (").replace(/\bclass\s+([\w$]+)\s*(extends\s+[\w$]+\s*)?{/g,"state.$1 = class $1 $2{"),y=f?new Function("state",`with(state){${b}}`):()=>{},T=(i=>{const t=[];return i.content.querySelectorAll("*").forEach(r=>{Array.from(r.attributes).forEach(s=>{if(!s.name.startsWith("on"))return;const l=s.name.slice(2),m=s.value.match(w);m&&(r.dataset._evtIndex=t.length,t.push({evt:l,fnName:m[1]}),r.removeAttribute(s.name))})}),t})(u);class v extends HTMLElement{constructor(){super(),c&&this.attachShadow({mode:"open"}),this.state={},this.styleElement=document.createElement("style"),this.scriptElement=document.createElement("script"),this.styleElement.textContent=g||"",this._textBindings={},this._origText=new Map,this._hasConnected=!1,this._isUpdating=!1,this._isBinding=!1}connectedCallback(){if(this._hasConnected)return;this._hasConnected=!0,this._textBindings={},this._origText=new Map;const t=u.content.cloneNode(!0);this.shadowRoot?this.shadowRoot.innerHTML="":this.innerHTML="",N.forEach(s=>{const l=document.createElement("script");l.src=s,l.onload=()=>{e.log(`Loaded external script: ${s}`)},document.head.appendChild(l)}),this.shadowRoot?(this.shadowRoot.appendChild(this.scriptElement),this.shadowRoot.appendChild(this.styleElement),this.shadowRoot.appendChild(t)):(this.appendChild(this.styleElement),this.appendChild(t)),this.state=$(this,{}),this._initializing=!0;try{y.call(this,this.state)}catch(s){console.error("Error initializing component script:",s)}finally{this._initializing=!1}const r=this.shadowRoot||this;this._processTemplate(r)}_processTemplate(t){this._getAllTextNodes(t).forEach(s=>{const l=s.textContent;l.includes("{")&&l.includes("}")&&(this._origText.set(s,l),s.textContent=l.replace(/{([^}]+)}/g,(m,h)=>(h=h.trim(),this._textBindings[h]=this._textBindings[h]||[],this._textBindings[h].push(s),this.hasAttribute(h)?this.getAttribute(h):this.state[h]!==void 0?this.state[h]:m)))}),T.forEach((s,l)=>{const m=t.querySelector(`[data-_evt-index="${l}"]`);m.removeAttribute("data-_evt-index"),m.addEventListener(s.evt,h=>{const H=this.state[s.fnName];typeof H=="function"&&H.call(m,h)})})}_getAllTextNodes(t){const r=[],s=document.createTreeWalker(t,NodeFilter.SHOW_TEXT,null,!1);let l;for(;l=s.nextNode();)r.push(l);return r}_update(){if(!this._isUpdating){this._isUpdating=!0;try{const t=u.content.cloneNode(!0);this._processTemplate(t),this.shadowRoot?(this.shadowRoot.innerHTML="",this.shadowRoot.appendChild(this.styleElement),this.shadowRoot.appendChild(t)):(this.innerHTML="",this.appendChild(this.styleElement),this.appendChild(t))}finally{this._isUpdating=!1}}}_updateBinding(t){if(!this._isBinding){this._isBinding=!0;try{(this._textBindings[t]||[]).forEach(s=>{const l=this._origText.get(s)||"";s.textContent=l.replace(R,(m,h)=>(h=h.trim(),this.hasAttribute(h)?this.getAttribute(h):this.state[h]))})}finally{this._isBinding=!1,this.emit(t,this.state[t])}}}disconnectedCallback(){this._hasConnected=!1,T.forEach((t,r)=>{const s=(this.shadowRoot||this).querySelector(`[data-_evt-index="${r}"]`);s&&s.removeEventListener(t.evt,this.state[t.fnName])}),e.log("disconnectedCallback",this)}static get observedAttributes(){return B}attributeChangedCallback(t,r,s){r!==s&&(this.state[t]=s)}emit(t,r){const s=r!=null?r:this.state;this.dispatchEvent(new CustomEvent(t,{detail:s,bubbles:!0}))}querySelector(t){return this.shadowRoot?this.shadowRoot.querySelector(t):super.querySelector(t)}querySelectorAll(t){return this.shadowRoot?this.shadowRoot.querySelectorAll(t):super.querySelectorAll(t)}}customElements.define(d,v),e.log(`Web component defined: <${d}></${d}>`)}},Symbol.toStringTag,{value:"Module"}));n.ladrillos=S,Object.defineProperty(n,Symbol.toStringTag,{value:"Module"})});
|
|
1
|
+
(function(i,r){typeof exports=="object"&&typeof module!="undefined"?r(exports):typeof define=="function"&&define.amd?define(["exports"],r):(i=typeof globalThis!="undefined"?globalThis:i||self,r(i.ladrillosjs={}))})(this,function(i){"use strict";var F=i=>{throw TypeError(i)};var W=(i,r,a)=>r.has(i)||F("Cannot "+a);var S=(i,r,a)=>(W(i,r,"read from private field"),a?a.call(i):r.get(i)),A=(i,r,a)=>r.has(i)?F("Cannot add the same private member more than once"):r instanceof WeakSet?r.add(i):r.set(i,a);var B=(i,r,a)=>(W(i,r,"access private method"),a);var g=(i,r,a)=>new Promise((T,$)=>{var q=d=>{try{p(a.next(d))}catch(k){$(k)}},f=d=>{try{p(a.throw(d))}catch(k){$(k)}},p=d=>d.done?T(d.value):Promise.resolve(d.value).then(q,f);p((a=a.apply(i,r)).next())});var f,p,d,N;const r={log(_,...o){},error(_,...o){console.error(_,...o)},warn(_,...o){}},v=class v{constructor(){A(this,f,new Map);A(this,p,new DOMParser);this.components={}}registerComponent(o,h,y=!0){return g(this,null,function*(){var C,x,E;if(this.components[o]){r.log(`Component ${o} already registered.`);return}this.components[o]={__registering:!0};try{const w=yield g(this,null,function*(){const t=S(this,f).get(h);if(t)return t;const l=yield(yield fetch(h)).text();return S(this,f).set(h,l),l}),b=S(this,p).parseFromString(w.replace(/<!--[\s\S]*?-->/g,""),"text/html"),e=[],s=[];for(const t of b.querySelectorAll("script"))t.src?s.push({src:t.src,type:(C=t.type)!=null?C:null}):t.textContent&&e.push({content:t.textContent.trim(),type:(x=t.type)!=null?x:null}),t.remove();let n="";for(const t of b.querySelectorAll("link[rel='stylesheet']"))n+=`
|
|
2
|
+
`+(yield B(E=v,d,N).call(E,`${t.href}?raw`)),t.remove();for(const t of b.querySelectorAll("style"))t.textContent&&(n+=`
|
|
3
|
+
`+t.textContent.trim()),t.remove();n=n.trim(),this.components[o]={tagName:o,template:b.body.innerHTML.trim(),scripts:e,externalScripts:s,style:n},yield this._defineWebComponent(o,y),r.log(`Component ${o} registered successfully`)}catch(w){r.error(`Failed to register component ${o}:`,w),delete this.components[o]}})}_defineWebComponent(o,h){return g(this,null,function*(){const{defineWebComponent:y}=yield Promise.resolve().then(()=>q);y(this.components[o],h)})}};f=new WeakMap,p=new WeakMap,d=new WeakSet,N=function(o){return g(this,null,function*(){try{const h=yield fetch(o);if(!h.ok)throw new Error(`HTTP ${h.status}`);return yield h.text()}catch(h){return r.error(`Failed to fetch resource at ${o}:`,h),""}})},A(v,d);let a=v;const T=new a,q=Object.freeze(Object.defineProperty({__proto__:null,defineWebComponent:(_,o)=>{const{tagName:h,template:y,scripts:C,externalScripts:x,style:E}=_;class w extends HTMLElement{constructor(){super(),o&&this.attachShadow({mode:"open"}),this.state={},this._bindings=[],this._eventBindings=[],this.observer=new MutationObserver(e=>{e.forEach(s=>{if(s.type==="attributes"){const n=s.attributeName,t=this.getAttribute(n);this.handleAttributeChange(n,t)}})}),this.observer.observe(this,{attributes:!0,attributeOldValue:!0}),this._render()}connectedCallback(){this._loadTemplate(),this._loadStyles(),this._loadScript(),this._render()}handleAttributeChange(e,s){this._render()}disconnectedCallback(){this.observer.disconnect(),this._eventBindings.forEach(({element:e,event:s,listener:n})=>{e.removeEventListener(s,n)}),this._eventBindings=[]}_loadTemplate(){o?this.shadowRoot.innerHTML=y:this.innerHTML=y,this._scanBindings()}_scanBindings(){const e=document.createTreeWalker(this.shadowRoot,NodeFilter.SHOW_TEXT,null,!1);let s;for(;s=e.nextNode();){const n=[...s.textContent.matchAll(/{([^}]+)}/g)];if(n.length){const t=n.map(([,c])=>({node:s,template:s.textContent,key:c.trim()}));this._bindings.push(t)}}this._getEventBindings()}_getEventBindings(){var s;((s=this.shadowRoot)!=null?s:this).querySelectorAll("*").forEach(n=>{Array.from(n.attributes).forEach(t=>{if(!t.name.startsWith("on"))return;const c=t.name.slice(2),l=t.value;n.removeAttribute(t.name);const u=m=>{l.includes("(")?new Function(`return ${l}`).call(this):typeof this[l]=="function"?this[l](m):typeof this.state[l]=="function"&&this.state[l](m)};n.addEventListener(c,u),this._eventBindings.push({element:n,event:c,listener:u})})})}_render(){this.getAttributeNames().forEach(e=>{this.state[e]=this.getAttribute(e)}),this._bindings.forEach(e=>{var s;if(Array.isArray(e)){const{node:n,template:t}=e[0],c={};e.forEach(({key:l})=>{var u;c[l]=(u=this.state[l])!=null?u:""}),n.textContent=this._renderTemplate(t,c)}else{const{node:n,template:t,key:c}=e,l={[c]:(s=this.state[c])!=null?s:""};n.textContent=this._renderTemplate(t,l)}})}_renderTemplate(e,s){return e.replace(/\{\s*([\w.]+)\s*}/g,(n,t)=>{let c=s[t];if(typeof c=="function")try{c=c.call(this)}catch(l){c=""}return c!=null?c:""})}_loadStyles(){const e=document.createElement("style");e.textContent=E,o?this.shadowRoot.appendChild(e):this.appendChild(e)}_loadScript(){return g(this,null,function*(){for(const e of x)if(e.type==="component"){const n=yield(yield fetch(e.src)).text();new Function(n).call(this)}else yield new Promise((s,n)=>{const t=document.createElement("script");t.src=e.src,e.type&&(t.type=e.type),t.onload=()=>{s()},t.onerror=n,document.head.appendChild(t)});C.forEach(e=>{var s;if(e.type==="module"){const n=document.createElement("script");n.type="module",n.textContent=e.content,((s=this.shadowRoot)!=null?s:this).appendChild(n)}else{const n=/(?:const|let|var)\s+([a-zA-Z_$][0-9a-zA-Z_$]*)\s*=\s*([^;]+)/g;let t;for(;(t=n.exec(e.content))!==null;){const c=t[1],l=t[2].trim();let u;try{u=new Function(`return (${l});`).call(this)}catch(m){u=l}this._bindings.some(m=>Array.isArray(m)?m.some(({key:R})=>R===c):m.key===c)&&(this.state[c]=u)}new Function(e.content).call(this)}}),this._render()})}setState(e){Object.assign(this.state,e),this._render()}querySelector(e){return console.log("querySelector",e),o?this.shadowRoot.querySelector(e):this.querySelector(e)}querySelectorAll(e){return o?this.shadowRoot.querySelectorAll(e):this.querySelectorAll(e)}}customElements.define(h,w),r.log(`Web component defined: <${h}></${h}>`)}},Symbol.toStringTag,{value:"Module"}));i.ladrillos=T,Object.defineProperty(i,Symbol.toStringTag,{value:"Module"})});
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
"use strict";var b=r=>{throw TypeError(r)};var q=(r,e,t)=>e.has(r)||b("Cannot "+t);var y=(r,e,t)=>(q(r,e,"read from private field"),t?t.call(r):e.get(r)),m=(r,e,t)=>e.has(r)?b("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(r):e.set(r,t);var v=(r,e,t)=>(q(r,e,"access private method"),t);var p=(r,e,t)=>new Promise((i,l)=>{var g=o=>{try{n(t.next(o))}catch(c){l(c)}},u=o=>{try{n(t.throw(o))}catch(c){l(c)}},n=o=>o.done?i(o.value):Promise.resolve(o.value).then(g,u);n((t=t.apply(r,e)).next())});const h={log(r,...e){},error(r,...e){console.error(r,...e)},warn(r,...e){}};var f,w,d,F;const C=class C{constructor(){m(this,f,new Map);m(this,w,new DOMParser);this.components={}}registerComponent(e,t,i=!0){return p(this,null,function*(){var l,g,u;if(this.components[e]){h.log(`Component ${e} already registered.`);return}this.components[e]={__registering:!0};try{const n=yield p(this,null,function*(){const s=y(this,f).get(t);if(s)return s;const $=yield(yield fetch(t)).text();return y(this,f).set(t,$),$}),o=y(this,w).parseFromString(n.replace(/<!--[\s\S]*?-->/g,""),"text/html"),c=[],S=[];for(const s of o.querySelectorAll("script"))s.src?S.push({src:s.src,type:(l=s.type)!=null?l:null}):s.textContent&&c.push({content:s.textContent.trim(),type:(g=s.type)!=null?g:null}),s.remove();let a="";for(const s of o.querySelectorAll("link[rel='stylesheet']"))a+=`
|
|
2
|
+
`+(yield v(u=C,d,F).call(u,`${s.href}?raw`)),s.remove();for(const s of o.querySelectorAll("style"))s.textContent&&(a+=`
|
|
3
|
+
`+s.textContent.trim()),s.remove();a=a.trim(),this.components[e]={tagName:e,template:o.body.innerHTML.trim(),scripts:c,externalScripts:S,style:a},yield this._defineWebComponent(e,i),h.log(`Component ${e} registered successfully`)}catch(n){h.error(`Failed to register component ${e}:`,n),delete this.components[e]}})}_defineWebComponent(e,t){return p(this,null,function*(){const{defineWebComponent:i}=yield Promise.resolve().then(()=>require("./webcomponent-D2l14_jr.js"));i(this.components[e],t)})}};f=new WeakMap,w=new WeakMap,d=new WeakSet,F=function(e){return p(this,null,function*(){try{const t=yield fetch(e);if(!t.ok)throw new Error(`HTTP ${t.status}`);return yield t.text()}catch(t){return h.error(`Failed to fetch resource at ${e}:`,t),""}})},m(C,d);let x=C;const k=new x;exports.ladrillos=k;exports.logger=h;
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
var b = (r) => {
|
|
2
|
+
throw TypeError(r);
|
|
3
|
+
};
|
|
4
|
+
var F = (r, t, e) => t.has(r) || b("Cannot " + e);
|
|
5
|
+
var g = (r, t, e) => (F(r, t, "read from private field"), e ? e.call(r) : t.get(r)), m = (r, t, e) => t.has(r) ? b("Cannot add the same private member more than once") : t instanceof WeakSet ? t.add(r) : t.set(r, e);
|
|
6
|
+
var k = (r, t, e) => (F(r, t, "access private method"), e);
|
|
7
|
+
var p = (r, t, e) => new Promise((i, a) => {
|
|
8
|
+
var f = (o) => {
|
|
9
|
+
try {
|
|
10
|
+
n(e.next(o));
|
|
11
|
+
} catch (c) {
|
|
12
|
+
a(c);
|
|
13
|
+
}
|
|
14
|
+
}, y = (o) => {
|
|
15
|
+
try {
|
|
16
|
+
n(e.throw(o));
|
|
17
|
+
} catch (c) {
|
|
18
|
+
a(c);
|
|
19
|
+
}
|
|
20
|
+
}, n = (o) => o.done ? i(o.value) : Promise.resolve(o.value).then(f, y);
|
|
21
|
+
n((e = e.apply(r, t)).next());
|
|
22
|
+
});
|
|
23
|
+
const u = {
|
|
24
|
+
/**
|
|
25
|
+
* Log a message only in development mode
|
|
26
|
+
* @param {string} message - The message to log
|
|
27
|
+
* @param {any[]} args - Additional arguments to log
|
|
28
|
+
*/
|
|
29
|
+
log(r, ...t) {
|
|
30
|
+
},
|
|
31
|
+
/**
|
|
32
|
+
* Log an error (always logs in both dev and production)
|
|
33
|
+
* @param {string} message - The error message
|
|
34
|
+
* @param {any[]} args - Additional arguments to log
|
|
35
|
+
*/
|
|
36
|
+
error(r, ...t) {
|
|
37
|
+
console.error(r, ...t);
|
|
38
|
+
},
|
|
39
|
+
/**
|
|
40
|
+
* Log a warning only in development mode
|
|
41
|
+
* @param {string} message - The warning message
|
|
42
|
+
* @param {any[]} args - Additional arguments to log
|
|
43
|
+
*/
|
|
44
|
+
warn(r, ...t) {
|
|
45
|
+
}
|
|
46
|
+
};
|
|
47
|
+
var h, w, d, q;
|
|
48
|
+
const x = class x {
|
|
49
|
+
constructor() {
|
|
50
|
+
m(this, h, /* @__PURE__ */ new Map());
|
|
51
|
+
m(this, w, new DOMParser());
|
|
52
|
+
this.components = {};
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Registers a web‐component by fetching its HTML, scripts, and styles.
|
|
56
|
+
* @param {string} name
|
|
57
|
+
* @param {string} path
|
|
58
|
+
* @param {boolean} [useShadowDOM=true]
|
|
59
|
+
*/
|
|
60
|
+
registerComponent(t, e, i = !0) {
|
|
61
|
+
return p(this, null, function* () {
|
|
62
|
+
var a, f, y;
|
|
63
|
+
if (this.components[t]) {
|
|
64
|
+
u.log(`Component ${t} already registered.`);
|
|
65
|
+
return;
|
|
66
|
+
}
|
|
67
|
+
this.components[t] = { __registering: !0 };
|
|
68
|
+
try {
|
|
69
|
+
const n = yield p(this, null, function* () {
|
|
70
|
+
const s = g(this, h).get(e);
|
|
71
|
+
if (s) return s;
|
|
72
|
+
const $ = yield (yield fetch(e)).text();
|
|
73
|
+
return g(this, h).set(e, $), $;
|
|
74
|
+
}), o = g(this, w).parseFromString(
|
|
75
|
+
n.replace(/<!--[\s\S]*?-->/g, ""),
|
|
76
|
+
"text/html"
|
|
77
|
+
), c = [], S = [];
|
|
78
|
+
for (const s of o.querySelectorAll("script"))
|
|
79
|
+
s.src ? S.push({ src: s.src, type: (a = s.type) != null ? a : null }) : s.textContent && c.push({
|
|
80
|
+
content: s.textContent.trim(),
|
|
81
|
+
type: (f = s.type) != null ? f : null
|
|
82
|
+
}), s.remove();
|
|
83
|
+
let l = "";
|
|
84
|
+
for (const s of o.querySelectorAll("link[rel='stylesheet']"))
|
|
85
|
+
l += `
|
|
86
|
+
` + (yield k(y = x, d, q).call(y, `${s.href}?raw`)), s.remove();
|
|
87
|
+
for (const s of o.querySelectorAll("style"))
|
|
88
|
+
s.textContent && (l += `
|
|
89
|
+
` + s.textContent.trim()), s.remove();
|
|
90
|
+
l = l.trim(), this.components[t] = {
|
|
91
|
+
tagName: t,
|
|
92
|
+
template: o.body.innerHTML.trim(),
|
|
93
|
+
scripts: c,
|
|
94
|
+
externalScripts: S,
|
|
95
|
+
style: l
|
|
96
|
+
}, yield this._defineWebComponent(t, i), u.log(`Component ${t} registered successfully`);
|
|
97
|
+
} catch (n) {
|
|
98
|
+
u.error(`Failed to register component ${t}:`, n), delete this.components[t];
|
|
99
|
+
}
|
|
100
|
+
});
|
|
101
|
+
}
|
|
102
|
+
/** @private */
|
|
103
|
+
_defineWebComponent(t, e) {
|
|
104
|
+
return p(this, null, function* () {
|
|
105
|
+
const { defineWebComponent: i } = yield import("./webcomponent-Dw20JVmS.mjs");
|
|
106
|
+
i(this.components[t], e);
|
|
107
|
+
});
|
|
108
|
+
}
|
|
109
|
+
};
|
|
110
|
+
h = new WeakMap(), w = new WeakMap(), d = new WeakSet(), q = function(t) {
|
|
111
|
+
return p(this, null, function* () {
|
|
112
|
+
try {
|
|
113
|
+
const e = yield fetch(t);
|
|
114
|
+
if (!e.ok) throw new Error(`HTTP ${e.status}`);
|
|
115
|
+
return yield e.text();
|
|
116
|
+
} catch (e) {
|
|
117
|
+
return u.error(`Failed to fetch resource at ${t}:`, e), "";
|
|
118
|
+
}
|
|
119
|
+
});
|
|
120
|
+
}, m(x, d);
|
|
121
|
+
let C = x;
|
|
122
|
+
const M = new C();
|
|
123
|
+
export {
|
|
124
|
+
M as a,
|
|
125
|
+
u as l
|
|
126
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var _=(p,c,a)=>new Promise((u,m)=>{var f=l=>{try{d(a.next(l))}catch(e){m(e)}},y=l=>{try{d(a.throw(l))}catch(e){m(e)}},d=l=>l.done?u(l.value):Promise.resolve(l.value).then(f,y);d((a=a.apply(p,c)).next())});Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const v=require("./main-C0peSxBK.js"),b=(p,c)=>{const{tagName:a,template:u,scripts:m,externalScripts:f,style:y}=p;class d extends HTMLElement{constructor(){super(),c&&this.attachShadow({mode:"open"}),this.state={},this._bindings=[],this._eventBindings=[],this.observer=new MutationObserver(e=>{e.forEach(n=>{if(n.type==="attributes"){const t=n.attributeName,s=this.getAttribute(t);this.handleAttributeChange(t,s)}})}),this.observer.observe(this,{attributes:!0,attributeOldValue:!0}),this._render()}connectedCallback(){this._loadTemplate(),this._loadStyles(),this._loadScript(),this._render()}handleAttributeChange(e,n){this._render()}disconnectedCallback(){this.observer.disconnect(),this._eventBindings.forEach(({element:e,event:n,listener:t})=>{e.removeEventListener(n,t)}),this._eventBindings=[]}_loadTemplate(){c?this.shadowRoot.innerHTML=u:this.innerHTML=u,this._scanBindings()}_scanBindings(){const e=document.createTreeWalker(this.shadowRoot,NodeFilter.SHOW_TEXT,null,!1);let n;for(;n=e.nextNode();){const t=[...n.textContent.matchAll(/{([^}]+)}/g)];if(t.length){const s=t.map(([,i])=>({node:n,template:n.textContent,key:i.trim()}));this._bindings.push(s)}}this._getEventBindings()}_getEventBindings(){var n;((n=this.shadowRoot)!=null?n:this).querySelectorAll("*").forEach(t=>{Array.from(t.attributes).forEach(s=>{if(!s.name.startsWith("on"))return;const i=s.name.slice(2),r=s.value;t.removeAttribute(s.name);const o=h=>{r.includes("(")?new Function(`return ${r}`).call(this):typeof this[r]=="function"?this[r](h):typeof this.state[r]=="function"&&this.state[r](h)};t.addEventListener(i,o),this._eventBindings.push({element:t,event:i,listener:o})})})}_render(){this.getAttributeNames().forEach(e=>{this.state[e]=this.getAttribute(e)}),this._bindings.forEach(e=>{var n;if(Array.isArray(e)){const{node:t,template:s}=e[0],i={};e.forEach(({key:r})=>{var o;i[r]=(o=this.state[r])!=null?o:""}),t.textContent=this._renderTemplate(s,i)}else{const{node:t,template:s,key:i}=e,r={[i]:(n=this.state[i])!=null?n:""};t.textContent=this._renderTemplate(s,r)}})}_renderTemplate(e,n){return e.replace(/\{\s*([\w.]+)\s*}/g,(t,s)=>{let i=n[s];if(typeof i=="function")try{i=i.call(this)}catch(r){i=""}return i!=null?i:""})}_loadStyles(){const e=document.createElement("style");e.textContent=y,c?this.shadowRoot.appendChild(e):this.appendChild(e)}_loadScript(){return _(this,null,function*(){for(const e of f)if(e.type==="component"){const t=yield(yield fetch(e.src)).text();new Function(t).call(this)}else yield new Promise((n,t)=>{const s=document.createElement("script");s.src=e.src,e.type&&(s.type=e.type),s.onload=()=>{n()},s.onerror=t,document.head.appendChild(s)});m.forEach(e=>{var n;if(e.type==="module"){const t=document.createElement("script");t.type="module",t.textContent=e.content,((n=this.shadowRoot)!=null?n:this).appendChild(t)}else{const t=/(?:const|let|var)\s+([a-zA-Z_$][0-9a-zA-Z_$]*)\s*=\s*([^;]+)/g;let s;for(;(s=t.exec(e.content))!==null;){const i=s[1],r=s[2].trim();let o;try{o=new Function(`return (${r});`).call(this)}catch(h){o=r}this._bindings.some(h=>Array.isArray(h)?h.some(({key:g})=>g===i):h.key===i)&&(this.state[i]=o)}new Function(e.content).call(this)}}),this._render()})}setState(e){Object.assign(this.state,e),this._render()}querySelector(e){return console.log("querySelector",e),c?this.shadowRoot.querySelector(e):this.querySelector(e)}querySelectorAll(e){return c?this.shadowRoot.querySelectorAll(e):this.querySelectorAll(e)}}customElements.define(a,d),v.logger.log(`Web component defined: <${a}></${a}>`)};exports.defineWebComponent=b;
|
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
var _ = (p, c, a) => new Promise((u, m) => {
|
|
2
|
+
var f = (l) => {
|
|
3
|
+
try {
|
|
4
|
+
d(a.next(l));
|
|
5
|
+
} catch (t) {
|
|
6
|
+
m(t);
|
|
7
|
+
}
|
|
8
|
+
}, y = (l) => {
|
|
9
|
+
try {
|
|
10
|
+
d(a.throw(l));
|
|
11
|
+
} catch (t) {
|
|
12
|
+
m(t);
|
|
13
|
+
}
|
|
14
|
+
}, d = (l) => l.done ? u(l.value) : Promise.resolve(l.value).then(f, y);
|
|
15
|
+
d((a = a.apply(p, c)).next());
|
|
16
|
+
});
|
|
17
|
+
import { l as v } from "./main-CS7d-nps.mjs";
|
|
18
|
+
const w = (p, c) => {
|
|
19
|
+
const { tagName: a, template: u, scripts: m, externalScripts: f, style: y } = p;
|
|
20
|
+
class d extends HTMLElement {
|
|
21
|
+
constructor() {
|
|
22
|
+
super(), c && this.attachShadow({ mode: "open" }), this.state = {}, this._bindings = [], this._eventBindings = [], this.observer = new MutationObserver((t) => {
|
|
23
|
+
t.forEach((n) => {
|
|
24
|
+
if (n.type === "attributes") {
|
|
25
|
+
const e = n.attributeName, s = this.getAttribute(e);
|
|
26
|
+
this.handleAttributeChange(e, s);
|
|
27
|
+
}
|
|
28
|
+
});
|
|
29
|
+
}), this.observer.observe(this, {
|
|
30
|
+
attributes: !0,
|
|
31
|
+
// Watch for attribute changes
|
|
32
|
+
attributeOldValue: !0
|
|
33
|
+
// Track old values too
|
|
34
|
+
}), this._render();
|
|
35
|
+
}
|
|
36
|
+
connectedCallback() {
|
|
37
|
+
this._loadTemplate(), this._loadStyles(), this._loadScript(), this._render();
|
|
38
|
+
}
|
|
39
|
+
handleAttributeChange(t, n) {
|
|
40
|
+
this._render();
|
|
41
|
+
}
|
|
42
|
+
disconnectedCallback() {
|
|
43
|
+
this.observer.disconnect(), this._eventBindings.forEach(({ element: t, event: n, listener: e }) => {
|
|
44
|
+
t.removeEventListener(n, e);
|
|
45
|
+
}), this._eventBindings = [];
|
|
46
|
+
}
|
|
47
|
+
_loadTemplate() {
|
|
48
|
+
c ? this.shadowRoot.innerHTML = u : this.innerHTML = u, this._scanBindings();
|
|
49
|
+
}
|
|
50
|
+
_scanBindings() {
|
|
51
|
+
const t = document.createTreeWalker(
|
|
52
|
+
this.shadowRoot,
|
|
53
|
+
NodeFilter.SHOW_TEXT,
|
|
54
|
+
null,
|
|
55
|
+
!1
|
|
56
|
+
);
|
|
57
|
+
let n;
|
|
58
|
+
for (; n = t.nextNode(); ) {
|
|
59
|
+
const e = [...n.textContent.matchAll(/{([^}]+)}/g)];
|
|
60
|
+
if (e.length) {
|
|
61
|
+
const s = e.map(([, i]) => ({
|
|
62
|
+
node: n,
|
|
63
|
+
template: n.textContent,
|
|
64
|
+
key: i.trim()
|
|
65
|
+
}));
|
|
66
|
+
this._bindings.push(s);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
this._getEventBindings();
|
|
70
|
+
}
|
|
71
|
+
_getEventBindings() {
|
|
72
|
+
var n;
|
|
73
|
+
((n = this.shadowRoot) != null ? n : this).querySelectorAll("*").forEach((e) => {
|
|
74
|
+
Array.from(e.attributes).forEach((s) => {
|
|
75
|
+
if (!s.name.startsWith("on")) return;
|
|
76
|
+
const i = s.name.slice(2), r = s.value;
|
|
77
|
+
e.removeAttribute(s.name);
|
|
78
|
+
const o = (h) => {
|
|
79
|
+
r.includes("(") ? new Function(`return ${r}`).call(this) : typeof this[r] == "function" ? this[r](h) : typeof this.state[r] == "function" && this.state[r](h);
|
|
80
|
+
};
|
|
81
|
+
e.addEventListener(i, o), this._eventBindings.push({ element: e, event: i, listener: o });
|
|
82
|
+
});
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
_render() {
|
|
86
|
+
this.getAttributeNames().forEach((t) => {
|
|
87
|
+
this.state[t] = this.getAttribute(t);
|
|
88
|
+
}), this._bindings.forEach((t) => {
|
|
89
|
+
var n;
|
|
90
|
+
if (Array.isArray(t)) {
|
|
91
|
+
const { node: e, template: s } = t[0], i = {};
|
|
92
|
+
t.forEach(({ key: r }) => {
|
|
93
|
+
var o;
|
|
94
|
+
i[r] = (o = this.state[r]) != null ? o : "";
|
|
95
|
+
}), e.textContent = this._renderTemplate(s, i);
|
|
96
|
+
} else {
|
|
97
|
+
const { node: e, template: s, key: i } = t, r = { [i]: (n = this.state[i]) != null ? n : "" };
|
|
98
|
+
e.textContent = this._renderTemplate(s, r);
|
|
99
|
+
}
|
|
100
|
+
});
|
|
101
|
+
}
|
|
102
|
+
_renderTemplate(t, n) {
|
|
103
|
+
return t.replace(/\{\s*([\w.]+)\s*}/g, (e, s) => {
|
|
104
|
+
let i = n[s];
|
|
105
|
+
if (typeof i == "function")
|
|
106
|
+
try {
|
|
107
|
+
i = i.call(this);
|
|
108
|
+
} catch (r) {
|
|
109
|
+
i = "";
|
|
110
|
+
}
|
|
111
|
+
return i != null ? i : "";
|
|
112
|
+
});
|
|
113
|
+
}
|
|
114
|
+
_loadStyles() {
|
|
115
|
+
const t = document.createElement("style");
|
|
116
|
+
t.textContent = y, c ? this.shadowRoot.appendChild(t) : this.appendChild(t);
|
|
117
|
+
}
|
|
118
|
+
_loadScript() {
|
|
119
|
+
return _(this, null, function* () {
|
|
120
|
+
for (const t of f)
|
|
121
|
+
if (t.type === "component") {
|
|
122
|
+
const e = yield (yield fetch(t.src)).text();
|
|
123
|
+
new Function(e).call(this);
|
|
124
|
+
} else
|
|
125
|
+
yield new Promise((n, e) => {
|
|
126
|
+
const s = document.createElement("script");
|
|
127
|
+
s.src = t.src, t.type && (s.type = t.type), s.onload = () => {
|
|
128
|
+
n();
|
|
129
|
+
}, s.onerror = e, document.head.appendChild(s);
|
|
130
|
+
});
|
|
131
|
+
m.forEach((t) => {
|
|
132
|
+
var n;
|
|
133
|
+
if (t.type === "module") {
|
|
134
|
+
const e = document.createElement("script");
|
|
135
|
+
e.type = "module", e.textContent = t.content, ((n = this.shadowRoot) != null ? n : this).appendChild(e);
|
|
136
|
+
} else {
|
|
137
|
+
const e = /(?:const|let|var)\s+([a-zA-Z_$][0-9a-zA-Z_$]*)\s*=\s*([^;]+)/g;
|
|
138
|
+
let s;
|
|
139
|
+
for (; (s = e.exec(t.content)) !== null; ) {
|
|
140
|
+
const i = s[1], r = s[2].trim();
|
|
141
|
+
let o;
|
|
142
|
+
try {
|
|
143
|
+
o = new Function(`return (${r});`).call(this);
|
|
144
|
+
} catch (h) {
|
|
145
|
+
o = r;
|
|
146
|
+
}
|
|
147
|
+
this._bindings.some(
|
|
148
|
+
(h) => Array.isArray(h) ? h.some(({ key: g }) => g === i) : h.key === i
|
|
149
|
+
) && (this.state[i] = o);
|
|
150
|
+
}
|
|
151
|
+
new Function(t.content).call(this);
|
|
152
|
+
}
|
|
153
|
+
}), this._render();
|
|
154
|
+
});
|
|
155
|
+
}
|
|
156
|
+
// --- public APIs
|
|
157
|
+
setState(t) {
|
|
158
|
+
Object.assign(this.state, t), this._render();
|
|
159
|
+
}
|
|
160
|
+
querySelector(t) {
|
|
161
|
+
return console.log("querySelector", t), c ? this.shadowRoot.querySelector(t) : this.querySelector(t);
|
|
162
|
+
}
|
|
163
|
+
querySelectorAll(t) {
|
|
164
|
+
return c ? this.shadowRoot.querySelectorAll(t) : this.querySelectorAll(t);
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
customElements.define(a, d), v.log(`Web component defined: <${a}></${a}>`);
|
|
168
|
+
};
|
|
169
|
+
export {
|
|
170
|
+
w as defineWebComponent
|
|
171
|
+
};
|
package/package.json
CHANGED
package/dist/main-BaJULV0N.js
DELETED
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
"use strict";var b=Object.defineProperty;var A=t=>{throw TypeError(t)};var x=(t,e,r)=>e in t?b(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r;var g=(t,e,r)=>x(t,typeof e!="symbol"?e+"":e,r),k=(t,e,r)=>e.has(t)||A("Cannot "+r);var _=(t,e,r)=>(k(t,e,"read from private field"),r?r.call(t):e.get(t)),C=(t,e,r)=>e.has(t)?A("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,r);var h=(t,e,r)=>new Promise((p,i)=>{var l=n=>{try{u(r.next(n))}catch(c){i(c)}},S=n=>{try{u(r.throw(n))}catch(c){i(c)}},u=n=>n.done?p(n.value):Promise.resolve(n.value).then(l,S);u((r=r.apply(t,e)).next())});const a={log(t,...e){},error(t,...e){console.error(t,...e)},warn(t,...e){}},q=["___vscode_livepreview_injected_script"];var y;class f{constructor(){C(this,y,new Map);this.components={}}registerComponent(e,r,p=!0){return h(this,null,function*(){if(this.components[e]){a.log(`Component ${e} already registered, skipping.`);return}try{const i=[];let l=_(this,y).get(r);l||(l=yield(yield fetch(r)).text(),_(this,y).set(r,l));const S=l.replace(/<!--[\s\S]*?-->/g,""),n=new DOMParser().parseFromString(S,"text/html");Array.from(n.querySelectorAll("script[external]")).forEach(s=>{const o=s.getAttribute("src");o&&i.push(o),s.remove()});let c="";const v=Array.from(n.querySelectorAll("script:not([type='module']):not([external])"));function d(s){return h(this,null,function*(){try{const o=yield fetch(s);if(!o.ok)throw new Error(`HTTP ${o.status}`);return yield o.text()}catch(o){return a.error(`Failed to fetch resource at ${s}:`,o),""}})}for(const s of v){const o=s.getAttribute("src");if(o&&q.some($=>o.includes($))){a.log(`Skipping ignored script "${o}"`),s.remove();continue}o?c+=`
|
|
2
|
-
`+(yield d(o)):c+=`
|
|
3
|
-
`+s.textContent,s.remove()}c=c.replace(/\/\*[\s\S]*?\*\//g,"").replace(/(^|[^:])\/\/.*$/gm,"$1").trim();let m="";const E=Array.from(n.querySelectorAll("link[rel='stylesheet']"));for(const s of E){const o=s.getAttribute("href");o&&(m+=`
|
|
4
|
-
`+(yield d(o+"?raw"))),s.remove()}const T=Array.from(n.querySelectorAll("style"));for(const s of T)m+=`
|
|
5
|
-
`+s.textContent,s.remove();m=m.trim();const w=document.createElement("template");w.innerHTML=n.body.innerHTML,this.components[e]={tagName:e,template:w,script:c,style:m,externalScripts:i},this._defineWebComponent(e,p),a.log(`Component ${e} registered successfully`)}catch(i){a.error(`Failed to register component ${e}:`,i)}})}_defineWebComponent(e,r){return h(this,null,function*(){const{defineWebComponent:p}=yield Promise.resolve().then(()=>require("./webcomponent-UVarlU1-.js"));p(this.components[e],r)})}}y=new WeakMap,g(f,"_SCRIPT_ALL",/<script>([\s\S]*?)<\/script>/g),g(f,"_STYLE_ALL",/<style>([\s\S]*?)<\/style>/g),g(f,"_SCRIPT_ONE",/<script>([\s\S]*?)<\/script>/),g(f,"_STYLE_ONE",/<style>([\s\S]*?)<\/style>/);const L=new f;exports.ladrillos=L;exports.logger=a;
|
package/dist/main-CE6RxSxw.mjs
DELETED
|
@@ -1,145 +0,0 @@
|
|
|
1
|
-
var $ = Object.defineProperty;
|
|
2
|
-
var A = (t) => {
|
|
3
|
-
throw TypeError(t);
|
|
4
|
-
};
|
|
5
|
-
var b = (t, e, r) => e in t ? $(t, e, { enumerable: !0, configurable: !0, writable: !0, value: r }) : t[e] = r;
|
|
6
|
-
var m = (t, e, r) => b(t, typeof e != "symbol" ? e + "" : e, r), k = (t, e, r) => e.has(t) || A("Cannot " + r);
|
|
7
|
-
var _ = (t, e, r) => (k(t, e, "read from private field"), r ? r.call(t) : e.get(t)), C = (t, e, r) => e.has(t) ? A("Cannot add the same private member more than once") : e instanceof WeakSet ? e.add(t) : e.set(t, r);
|
|
8
|
-
var h = (t, e, r) => new Promise((a, i) => {
|
|
9
|
-
var l = (n) => {
|
|
10
|
-
try {
|
|
11
|
-
u(r.next(n));
|
|
12
|
-
} catch (c) {
|
|
13
|
-
i(c);
|
|
14
|
-
}
|
|
15
|
-
}, S = (n) => {
|
|
16
|
-
try {
|
|
17
|
-
u(r.throw(n));
|
|
18
|
-
} catch (c) {
|
|
19
|
-
i(c);
|
|
20
|
-
}
|
|
21
|
-
}, u = (n) => n.done ? a(n.value) : Promise.resolve(n.value).then(l, S);
|
|
22
|
-
u((r = r.apply(t, e)).next());
|
|
23
|
-
});
|
|
24
|
-
const f = {
|
|
25
|
-
/**
|
|
26
|
-
* Log a message only in development mode
|
|
27
|
-
* @param {string} message - The message to log
|
|
28
|
-
* @param {any[]} args - Additional arguments to log
|
|
29
|
-
*/
|
|
30
|
-
log(t, ...e) {
|
|
31
|
-
},
|
|
32
|
-
/**
|
|
33
|
-
* Log an error (always logs in both dev and production)
|
|
34
|
-
* @param {string} message - The error message
|
|
35
|
-
* @param {any[]} args - Additional arguments to log
|
|
36
|
-
*/
|
|
37
|
-
error(t, ...e) {
|
|
38
|
-
console.error(t, ...e);
|
|
39
|
-
},
|
|
40
|
-
/**
|
|
41
|
-
* Log a warning only in development mode
|
|
42
|
-
* @param {string} message - The warning message
|
|
43
|
-
* @param {any[]} args - Additional arguments to log
|
|
44
|
-
*/
|
|
45
|
-
warn(t, ...e) {
|
|
46
|
-
}
|
|
47
|
-
}, L = ["___vscode_livepreview_injected_script"];
|
|
48
|
-
var y;
|
|
49
|
-
class g {
|
|
50
|
-
constructor() {
|
|
51
|
-
C(this, y, /* @__PURE__ */ new Map());
|
|
52
|
-
this.components = {};
|
|
53
|
-
}
|
|
54
|
-
/**
|
|
55
|
-
* @param {string} name
|
|
56
|
-
* @param {string} path
|
|
57
|
-
* @param {boolean} [useShadowDOM=true]
|
|
58
|
-
* @returns {Promise<void>}
|
|
59
|
-
*/
|
|
60
|
-
registerComponent(e, r, a = !0) {
|
|
61
|
-
return h(this, null, function* () {
|
|
62
|
-
if (this.components[e]) {
|
|
63
|
-
f.log(`Component ${e} already registered, skipping.`);
|
|
64
|
-
return;
|
|
65
|
-
}
|
|
66
|
-
try {
|
|
67
|
-
const i = [];
|
|
68
|
-
let l = _(this, y).get(r);
|
|
69
|
-
l || (l = yield (yield fetch(r)).text(), _(this, y).set(r, l));
|
|
70
|
-
const S = l.replace(/<!--[\s\S]*?-->/g, ""), n = new DOMParser().parseFromString(S, "text/html");
|
|
71
|
-
Array.from(n.querySelectorAll("script[external]")).forEach((s) => {
|
|
72
|
-
const o = s.getAttribute("src");
|
|
73
|
-
o && i.push(o), s.remove();
|
|
74
|
-
});
|
|
75
|
-
let c = "";
|
|
76
|
-
const E = Array.from(
|
|
77
|
-
n.querySelectorAll("script:not([type='module']):not([external])")
|
|
78
|
-
);
|
|
79
|
-
function w(s) {
|
|
80
|
-
return h(this, null, function* () {
|
|
81
|
-
try {
|
|
82
|
-
const o = yield fetch(s);
|
|
83
|
-
if (!o.ok) throw new Error(`HTTP ${o.status}`);
|
|
84
|
-
return yield o.text();
|
|
85
|
-
} catch (o) {
|
|
86
|
-
return f.error(`Failed to fetch resource at ${s}:`, o), "";
|
|
87
|
-
}
|
|
88
|
-
});
|
|
89
|
-
}
|
|
90
|
-
for (const s of E) {
|
|
91
|
-
const o = s.getAttribute("src");
|
|
92
|
-
if (o && L.some((x) => o.includes(x))) {
|
|
93
|
-
f.log(`Skipping ignored script "${o}"`), s.remove();
|
|
94
|
-
continue;
|
|
95
|
-
}
|
|
96
|
-
o ? c += `
|
|
97
|
-
` + (yield w(o)) : c += `
|
|
98
|
-
` + s.textContent, s.remove();
|
|
99
|
-
}
|
|
100
|
-
c = c.replace(/\/\*[\s\S]*?\*\//g, "").replace(/(^|[^:])\/\/.*$/gm, "$1").trim();
|
|
101
|
-
let p = "";
|
|
102
|
-
const T = Array.from(
|
|
103
|
-
n.querySelectorAll("link[rel='stylesheet']")
|
|
104
|
-
);
|
|
105
|
-
for (const s of T) {
|
|
106
|
-
const o = s.getAttribute("href");
|
|
107
|
-
o && (p += `
|
|
108
|
-
` + (yield w(o + "?raw"))), s.remove();
|
|
109
|
-
}
|
|
110
|
-
const v = Array.from(n.querySelectorAll("style"));
|
|
111
|
-
for (const s of v)
|
|
112
|
-
p += `
|
|
113
|
-
` + s.textContent, s.remove();
|
|
114
|
-
p = p.trim();
|
|
115
|
-
const d = document.createElement("template");
|
|
116
|
-
d.innerHTML = n.body.innerHTML, this.components[e] = {
|
|
117
|
-
tagName: e,
|
|
118
|
-
template: d,
|
|
119
|
-
script: c,
|
|
120
|
-
style: p,
|
|
121
|
-
externalScripts: i
|
|
122
|
-
}, this._defineWebComponent(e, a), f.log(`Component ${e} registered successfully`);
|
|
123
|
-
} catch (i) {
|
|
124
|
-
f.error(`Failed to register component ${e}:`, i);
|
|
125
|
-
}
|
|
126
|
-
});
|
|
127
|
-
}
|
|
128
|
-
/**
|
|
129
|
-
* @private
|
|
130
|
-
* @param {string} name
|
|
131
|
-
* @param {boolean} useShadowDOM
|
|
132
|
-
*/
|
|
133
|
-
_defineWebComponent(e, r) {
|
|
134
|
-
return h(this, null, function* () {
|
|
135
|
-
const { defineWebComponent: a } = yield import("./webcomponent-u6r_KhfX.mjs");
|
|
136
|
-
a(this.components[e], r);
|
|
137
|
-
});
|
|
138
|
-
}
|
|
139
|
-
}
|
|
140
|
-
y = new WeakMap(), m(g, "_SCRIPT_ALL", /<script>([\s\S]*?)<\/script>/g), m(g, "_STYLE_ALL", /<style>([\s\S]*?)<\/style>/g), m(g, "_SCRIPT_ONE", /<script>([\s\S]*?)<\/script>/), m(g, "_STYLE_ONE", /<style>([\s\S]*?)<\/style>/);
|
|
141
|
-
const F = new g();
|
|
142
|
-
export {
|
|
143
|
-
F as a,
|
|
144
|
-
f as l
|
|
145
|
-
};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const d=require("./main-BaJULV0N.js");function v(r,u={}){return new Proxy(u,{set(h,o,l){const g=h[o];return h[o]=l,g!==l&&!r._initializing&&(typeof r._updateBinding=="function"?r._updateBinding(o,l):r._update()),!0},get(h,o){return h[o]}})}const B=(r,u)=>{if(!r){d.logger.error("Component is not defined or invalid.");return}if(customElements.get(r.tagName)){d.logger.warn(`Component ${r.tagName} is already defined.`);return}const{tagName:h,template:o,script:l,style:g,externalScripts:_}=r,p=/{(.*?)}/g,E=/{\s*([\w$]+)\(\)\s*}/,x=(c=>{const t=new Set;return c.innerHTML.replace(p,(s,e)=>t.add(e.trim().toLowerCase())),Array.from(t)})(o),w=l.replace(/\b(?:const|let|var)\s+([\w$]+)\s*=/g,"state.$1 =").replace(/function\s+([\w$]+)\s*\(/g,"state.$1 = function (").replace(/\bclass\s+([\w$]+)\s*(extends\s+[\w$]+\s*)?{/g,"state.$1 = class $1 $2{"),C=l?new Function("state",`with(state){${w}}`):()=>{},f=(c=>{const t=[];return c.content.querySelectorAll("*").forEach(s=>{Array.from(s.attributes).forEach(e=>{if(!e.name.startsWith("on"))return;const i=e.name.slice(2),a=e.value.match(E);a&&(s.dataset._evtIndex=t.length,t.push({evt:i,fnName:a[1]}),s.removeAttribute(e.name))})}),t})(o);class b extends HTMLElement{constructor(){super(),u&&this.attachShadow({mode:"open"}),this.state={},this.styleElement=document.createElement("style"),this.scriptElement=document.createElement("script"),this.styleElement.textContent=g||"",this._textBindings={},this._origText=new Map,this._hasConnected=!1,this._isUpdating=!1,this._isBinding=!1}connectedCallback(){if(this._hasConnected)return;this._hasConnected=!0,this._textBindings={},this._origText=new Map;const t=o.content.cloneNode(!0);this.shadowRoot?this.shadowRoot.innerHTML="":this.innerHTML="",_.forEach(e=>{const i=document.createElement("script");i.src=e,i.onload=()=>{d.logger.log(`Loaded external script: ${e}`)},document.head.appendChild(i)}),this.shadowRoot?(this.shadowRoot.appendChild(this.scriptElement),this.shadowRoot.appendChild(this.styleElement),this.shadowRoot.appendChild(t)):(this.appendChild(this.styleElement),this.appendChild(t)),this.state=v(this,{}),this._initializing=!0;try{C.call(this,this.state)}catch(e){console.error("Error initializing component script:",e)}finally{this._initializing=!1}const s=this.shadowRoot||this;this._processTemplate(s)}_processTemplate(t){this._getAllTextNodes(t).forEach(e=>{const i=e.textContent;i.includes("{")&&i.includes("}")&&(this._origText.set(e,i),e.textContent=i.replace(/{([^}]+)}/g,(a,n)=>(n=n.trim(),this._textBindings[n]=this._textBindings[n]||[],this._textBindings[n].push(e),this.hasAttribute(n)?this.getAttribute(n):this.state[n]!==void 0?this.state[n]:a)))}),f.forEach((e,i)=>{const a=t.querySelector(`[data-_evt-index="${i}"]`);a.removeAttribute("data-_evt-index"),a.addEventListener(e.evt,n=>{const m=this.state[e.fnName];typeof m=="function"&&m.call(a,n)})})}_getAllTextNodes(t){const s=[],e=document.createTreeWalker(t,NodeFilter.SHOW_TEXT,null,!1);let i;for(;i=e.nextNode();)s.push(i);return s}_update(){if(!this._isUpdating){this._isUpdating=!0;try{const t=o.content.cloneNode(!0);this._processTemplate(t),this.shadowRoot?(this.shadowRoot.innerHTML="",this.shadowRoot.appendChild(this.styleElement),this.shadowRoot.appendChild(t)):(this.innerHTML="",this.appendChild(this.styleElement),this.appendChild(t))}finally{this._isUpdating=!1}}}_updateBinding(t){if(!this._isBinding){this._isBinding=!0;try{(this._textBindings[t]||[]).forEach(e=>{const i=this._origText.get(e)||"";e.textContent=i.replace(p,(a,n)=>(n=n.trim(),this.hasAttribute(n)?this.getAttribute(n):this.state[n]))})}finally{this._isBinding=!1,this.emit(t,this.state[t])}}}disconnectedCallback(){this._hasConnected=!1,f.forEach((t,s)=>{const e=(this.shadowRoot||this).querySelector(`[data-_evt-index="${s}"]`);e&&e.removeEventListener(t.evt,this.state[t.fnName])}),d.logger.log("disconnectedCallback",this)}static get observedAttributes(){return x}attributeChangedCallback(t,s,e){s!==e&&(this.state[t]=e)}emit(t,s){const e=s!=null?s:this.state;this.dispatchEvent(new CustomEvent(t,{detail:e,bubbles:!0}))}querySelector(t){return this.shadowRoot?this.shadowRoot.querySelector(t):super.querySelector(t)}querySelectorAll(t){return this.shadowRoot?this.shadowRoot.querySelectorAll(t):super.querySelectorAll(t)}}customElements.define(h,b),d.logger.log(`Web component defined: <${h}></${h}>`)};exports.defineWebComponent=B;
|
|
@@ -1,184 +0,0 @@
|
|
|
1
|
-
import { l as d } from "./main-CE6RxSxw.mjs";
|
|
2
|
-
function v(r, u = {}) {
|
|
3
|
-
return new Proxy(u, {
|
|
4
|
-
set(h, o, l) {
|
|
5
|
-
const p = h[o];
|
|
6
|
-
return h[o] = l, p !== l && !r._initializing && (typeof r._updateBinding == "function" ? r._updateBinding(o, l) : r._update()), !0;
|
|
7
|
-
},
|
|
8
|
-
get(h, o) {
|
|
9
|
-
return h[o];
|
|
10
|
-
}
|
|
11
|
-
});
|
|
12
|
-
}
|
|
13
|
-
const T = (r, u) => {
|
|
14
|
-
if (!r) {
|
|
15
|
-
d.error("Component is not defined or invalid.");
|
|
16
|
-
return;
|
|
17
|
-
}
|
|
18
|
-
if (customElements.get(r.tagName)) {
|
|
19
|
-
d.warn(`Component ${r.tagName} is already defined.`);
|
|
20
|
-
return;
|
|
21
|
-
}
|
|
22
|
-
const { tagName: h, template: o, script: l, style: p, externalScripts: _ } = r, f = /{(.*?)}/g, E = /{\s*([\w$]+)\(\)\s*}/, x = ((c) => {
|
|
23
|
-
const t = /* @__PURE__ */ new Set();
|
|
24
|
-
return c.innerHTML.replace(
|
|
25
|
-
f,
|
|
26
|
-
(s, e) => t.add(e.trim().toLowerCase())
|
|
27
|
-
), Array.from(t);
|
|
28
|
-
})(o), w = l.replace(/\b(?:const|let|var)\s+([\w$]+)\s*=/g, "state.$1 =").replace(/function\s+([\w$]+)\s*\(/g, "state.$1 = function (").replace(
|
|
29
|
-
/\bclass\s+([\w$]+)\s*(extends\s+[\w$]+\s*)?{/g,
|
|
30
|
-
"state.$1 = class $1 $2{"
|
|
31
|
-
), C = l ? new Function("state", `with(state){${w}}`) : () => {
|
|
32
|
-
}, g = ((c) => {
|
|
33
|
-
const t = [];
|
|
34
|
-
return c.content.querySelectorAll("*").forEach((s) => {
|
|
35
|
-
Array.from(s.attributes).forEach((e) => {
|
|
36
|
-
if (!e.name.startsWith("on")) return;
|
|
37
|
-
const i = e.name.slice(2), a = e.value.match(E);
|
|
38
|
-
a && (s.dataset._evtIndex = t.length, t.push({ evt: i, fnName: a[1] }), s.removeAttribute(e.name));
|
|
39
|
-
});
|
|
40
|
-
}), t;
|
|
41
|
-
})(o);
|
|
42
|
-
class b extends HTMLElement {
|
|
43
|
-
constructor() {
|
|
44
|
-
super(), u && this.attachShadow({ mode: "open" }), this.state = {}, this.styleElement = document.createElement("style"), this.scriptElement = document.createElement("script"), this.styleElement.textContent = p || "", this._textBindings = {}, this._origText = /* @__PURE__ */ new Map(), this._hasConnected = !1, this._isUpdating = !1, this._isBinding = !1;
|
|
45
|
-
}
|
|
46
|
-
/**
|
|
47
|
-
* Called when element is inserted into the DOM.
|
|
48
|
-
* - Initializes reactive state
|
|
49
|
-
* - Runs user script to populate state
|
|
50
|
-
* - Processes template bindings
|
|
51
|
-
* - Appends style + content to (shadow) root
|
|
52
|
-
*/
|
|
53
|
-
connectedCallback() {
|
|
54
|
-
if (this._hasConnected) return;
|
|
55
|
-
this._hasConnected = !0, this._textBindings = {}, this._origText = /* @__PURE__ */ new Map();
|
|
56
|
-
const t = o.content.cloneNode(!0);
|
|
57
|
-
this.shadowRoot ? this.shadowRoot.innerHTML = "" : this.innerHTML = "", _.forEach((e) => {
|
|
58
|
-
const i = document.createElement("script");
|
|
59
|
-
i.src = e, i.onload = () => {
|
|
60
|
-
d.log(`Loaded external script: ${e}`);
|
|
61
|
-
}, document.head.appendChild(i);
|
|
62
|
-
}), this.shadowRoot ? (this.shadowRoot.appendChild(this.scriptElement), this.shadowRoot.appendChild(this.styleElement), this.shadowRoot.appendChild(t)) : (this.appendChild(this.styleElement), this.appendChild(t)), this.state = v(this, {}), this._initializing = !0;
|
|
63
|
-
try {
|
|
64
|
-
C.call(this, this.state);
|
|
65
|
-
} catch (e) {
|
|
66
|
-
console.error("Error initializing component script:", e);
|
|
67
|
-
} finally {
|
|
68
|
-
this._initializing = !1;
|
|
69
|
-
}
|
|
70
|
-
const s = this.shadowRoot || this;
|
|
71
|
-
this._processTemplate(s);
|
|
72
|
-
}
|
|
73
|
-
_processTemplate(t) {
|
|
74
|
-
this._getAllTextNodes(t).forEach((e) => {
|
|
75
|
-
const i = e.textContent;
|
|
76
|
-
i.includes("{") && i.includes("}") && (this._origText.set(e, i), e.textContent = i.replace(/{([^}]+)}/g, (a, n) => (n = n.trim(), this._textBindings[n] = this._textBindings[n] || [], this._textBindings[n].push(e), this.hasAttribute(n) ? this.getAttribute(n) : this.state[n] !== void 0 ? this.state[n] : a)));
|
|
77
|
-
}), g.forEach((e, i) => {
|
|
78
|
-
const a = t.querySelector(`[data-_evt-index="${i}"]`);
|
|
79
|
-
a.removeAttribute("data-_evt-index"), a.addEventListener(e.evt, (n) => {
|
|
80
|
-
const m = this.state[e.fnName];
|
|
81
|
-
typeof m == "function" && m.call(a, n);
|
|
82
|
-
});
|
|
83
|
-
});
|
|
84
|
-
}
|
|
85
|
-
/**
|
|
86
|
-
* Retrieve all text nodes under a given root node.
|
|
87
|
-
*
|
|
88
|
-
* @param {Node} node
|
|
89
|
-
* @returns {Text[]}
|
|
90
|
-
*/
|
|
91
|
-
_getAllTextNodes(t) {
|
|
92
|
-
const s = [], e = document.createTreeWalker(
|
|
93
|
-
t,
|
|
94
|
-
NodeFilter.SHOW_TEXT,
|
|
95
|
-
null,
|
|
96
|
-
!1
|
|
97
|
-
);
|
|
98
|
-
let i;
|
|
99
|
-
for (; i = e.nextNode(); )
|
|
100
|
-
s.push(i);
|
|
101
|
-
return s;
|
|
102
|
-
}
|
|
103
|
-
/**
|
|
104
|
-
* clears previous DOM, re-processes template and styles.
|
|
105
|
-
* Usually called by reactive state on mutation.
|
|
106
|
-
*/
|
|
107
|
-
_update() {
|
|
108
|
-
if (!this._isUpdating) {
|
|
109
|
-
this._isUpdating = !0;
|
|
110
|
-
try {
|
|
111
|
-
const t = o.content.cloneNode(!0);
|
|
112
|
-
this._processTemplate(t), this.shadowRoot ? (this.shadowRoot.innerHTML = "", this.shadowRoot.appendChild(this.styleElement), this.shadowRoot.appendChild(t)) : (this.innerHTML = "", this.appendChild(this.styleElement), this.appendChild(t));
|
|
113
|
-
} finally {
|
|
114
|
-
this._isUpdating = !1;
|
|
115
|
-
}
|
|
116
|
-
}
|
|
117
|
-
}
|
|
118
|
-
// only update the nodes bound to a single key
|
|
119
|
-
_updateBinding(t) {
|
|
120
|
-
if (!this._isBinding) {
|
|
121
|
-
this._isBinding = !0;
|
|
122
|
-
try {
|
|
123
|
-
(this._textBindings[t] || []).forEach((e) => {
|
|
124
|
-
const i = this._origText.get(e) || "";
|
|
125
|
-
e.textContent = i.replace(f, (a, n) => (n = n.trim(), this.hasAttribute(n) ? this.getAttribute(n) : this.state[n]));
|
|
126
|
-
});
|
|
127
|
-
} finally {
|
|
128
|
-
this._isBinding = !1, this.emit(t, this.state[t]);
|
|
129
|
-
}
|
|
130
|
-
}
|
|
131
|
-
}
|
|
132
|
-
/**
|
|
133
|
-
* Called when the element is removed from the DOM
|
|
134
|
-
*/
|
|
135
|
-
disconnectedCallback() {
|
|
136
|
-
this._hasConnected = !1, g.forEach((t, s) => {
|
|
137
|
-
const e = (this.shadowRoot || this).querySelector(
|
|
138
|
-
`[data-_evt-index="${s}"]`
|
|
139
|
-
);
|
|
140
|
-
e && e.removeEventListener(t.evt, this.state[t.fnName]);
|
|
141
|
-
}), d.log("disconnectedCallback", this);
|
|
142
|
-
}
|
|
143
|
-
// property
|
|
144
|
-
static get observedAttributes() {
|
|
145
|
-
return x;
|
|
146
|
-
}
|
|
147
|
-
/**
|
|
148
|
-
* Called when one of the observed attributes changes.
|
|
149
|
-
* Updates state and triggers a re-render via the reactive proxy.
|
|
150
|
-
*
|
|
151
|
-
* @param {string} name
|
|
152
|
-
* @param {string} oldVal
|
|
153
|
-
* @param {string} newVal
|
|
154
|
-
*/
|
|
155
|
-
attributeChangedCallback(t, s, e) {
|
|
156
|
-
s !== e && (this.state[t] = e);
|
|
157
|
-
}
|
|
158
|
-
/**
|
|
159
|
-
* Dispatch a custom event from the component.
|
|
160
|
-
*
|
|
161
|
-
* @param {string} name Event name
|
|
162
|
-
* @param {*} [detail] Payload; defaults to full component state
|
|
163
|
-
*/
|
|
164
|
-
emit(t, s) {
|
|
165
|
-
const e = s != null ? s : this.state;
|
|
166
|
-
this.dispatchEvent(
|
|
167
|
-
new CustomEvent(t, {
|
|
168
|
-
detail: e,
|
|
169
|
-
bubbles: !0
|
|
170
|
-
})
|
|
171
|
-
);
|
|
172
|
-
}
|
|
173
|
-
querySelector(t) {
|
|
174
|
-
return this.shadowRoot ? this.shadowRoot.querySelector(t) : super.querySelector(t);
|
|
175
|
-
}
|
|
176
|
-
querySelectorAll(t) {
|
|
177
|
-
return this.shadowRoot ? this.shadowRoot.querySelectorAll(t) : super.querySelectorAll(t);
|
|
178
|
-
}
|
|
179
|
-
}
|
|
180
|
-
customElements.define(h, b), d.log(`Web component defined: <${h}></${h}>`);
|
|
181
|
-
};
|
|
182
|
-
export {
|
|
183
|
-
T as defineWebComponent
|
|
184
|
-
};
|