ladrillosjs 0.1.2 → 0.1.3
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 +5 -1
- package/dist/main-BLGdqIcm.mjs +167 -0
- package/dist/main-DEaqXlbt.js +5 -0
- package/dist/{webcomponent-CUDuf8lm.js → webcomponent-BAieZxvs.js} +1 -1
- package/dist/{webcomponent-DytFVRp0.mjs → webcomponent-CjT9G5Wz.mjs} +1 -1
- package/package.json +8 -2
- package/dist/main-CLBumiAD.mjs +0 -101
- package/dist/main-DQ-yGgzS.js +0 -1
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-DEaqXlbt.js");exports.ladrillos=e.ladrillos;
|
package/dist/ladrillosjs.es.js
CHANGED
package/dist/ladrillosjs.umd.js
CHANGED
|
@@ -1 +1,5 @@
|
|
|
1
|
-
(function(s
|
|
1
|
+
(function(o,s){typeof exports=="object"&&typeof module!="undefined"?s(exports):typeof define=="function"&&define.amd?define(["exports"],s):(o=typeof globalThis!="undefined"?globalThis:o||self,s(o.ladrillosjs={}))})(this,function(o){"use strict";var M=Object.defineProperty;var R=o=>{throw TypeError(o)};var q=(o,s,i)=>s in o?M(o,s,{enumerable:!0,configurable:!0,writable:!0,value:i}):o[s]=i;var x=(o,s,i)=>q(o,typeof s!="symbol"?s+"":s,i),H=(o,s,i)=>s.has(o)||R("Cannot "+i);var A=(o,s,i)=>(H(o,s,"read from private field"),i?i.call(o):s.get(o)),B=(o,s,i)=>s.has(o)?R("Cannot add the same private member more than once"):s instanceof WeakSet?s.add(o):s.set(o,i);var v=(o,s,i)=>new Promise((b,C)=>{var $=l=>{try{f(i.next(l))}catch(c){C(c)}},E=l=>{try{f(i.throw(l))}catch(c){C(c)}},f=l=>l.done?b(l.value):Promise.resolve(l.value).then($,E);f((i=i.apply(o,s)).next())});var f;const s={log(l,...c){},error(l,...c){console.error(l,...c)},warn(l,...c){}};class i{constructor(){B(this,f,new Map);this.components={}}registerComponent(c,h,d=!0){return v(this,null,function*(){if(this.components[c]){s.log(`Component ${c} already registered, skipping.`);return}try{let u=A(this,f).get(h);u||(u=yield(yield fetch(h)).text(),A(this,f).set(h,u));const _=u.replace(/<!--[\s\S]*?-->/g,""),w=new DOMParser().parseFromString(_,"text/html");let y="";const S=Array.from(w.querySelectorAll("script:not([type='module'])"));for(const e of S){if(e.src){const n=e.getAttribute("src");let a;try{a=n}catch(r){console.error(`Invalid script URL "${n}" (base "${h}") - skipping:`,r),e.remove();continue}try{const r=yield fetch(a);if(!r.ok)throw new Error(`HTTP ${r.status}`);y+=`
|
|
2
|
+
`+(yield r.text())}catch(r){console.error(`Could not load script at ${a} - skipping:`,r)}}else y+=`
|
|
3
|
+
`+e.textContent;e.remove()}y=y.replace(/\/\*[\s\S]*?\*\//g,"").replace(/\/\/.*$/gm,"").trim();let m="";const T=Array.from(w.querySelectorAll("link[rel='stylesheet']"));for(const e of T){const n=e.getAttribute("href");let a;try{a=n+"?raw"}catch(r){console.error(`Invalid stylesheet URL "${n}" (base "${h}") - skipping:`,r),e.remove();continue}try{const r=yield fetch(a);if(!r.ok)throw new Error(`HTTP ${r.status}`);m+=`
|
|
4
|
+
`+(yield r.text())}catch(r){console.error(`Could not load stylesheet at ${a} - skipping:`,r)}e.remove()}const g=Array.from(w.querySelectorAll("style"));for(const e of g)m+=`
|
|
5
|
+
`+e.textContent,e.remove();m=m.trim();const t=document.createElement("template");t.innerHTML=w.body.innerHTML,this.components[c]={tagName:c,template:t,script:y,style:m},this._defineWebComponent(c,d),s.log(`Component ${c} registered successfully`)}catch(u){s.error(`Failed to register component ${c}:`,u)}})}_defineWebComponent(c,h){return v(this,null,function*(){const{defineWebComponent:d}=yield Promise.resolve().then(()=>E);d(this.components[c],h)})}}f=new WeakMap,x(i,"_SCRIPT_ALL",/<script>([\s\S]*?)<\/script>/g),x(i,"_STYLE_ALL",/<style>([\s\S]*?)<\/style>/g),x(i,"_SCRIPT_ONE",/<script>([\s\S]*?)<\/script>/),x(i,"_STYLE_ONE",/<style>([\s\S]*?)<\/style>/);const b=new i;function C(l,c={}){return new Proxy(c,{set(h,d,u){const _=h[d];return h[d]=u,_!==u&&!l._initializing&&(typeof l._updateBinding=="function"?l._updateBinding(d,u):l._update()),!0},get(h,d){return h[d]}})}const E=Object.freeze(Object.defineProperty({__proto__:null,defineWebComponent:(l,c)=>{if(!l){s.error("Component is not defined or invalid.");return}if(customElements.get(l.tagName)){s.warn(`Component ${l.tagName} is already defined.`);return}const{tagName:h,template:d,script:u,style:_}=l,w=(g=>{const t=/{(.*?)}/g,e=new Set;let n;for(;(n=t.exec(g.innerHTML))!==null;)e.add(n[1].trim().toLowerCase());return Array.from(e)})(d),y=u.replace(/\b(?:const|let|var)\s+([\w$]+)\s*=/g,"state.$1 =").replace(/function\s+([\w$]+)\s*\(/g,"state.$1 = function ("),S=u?new Function("state",`with(state){${y}}`):()=>{},m=[];d.content.querySelectorAll("*").forEach(g=>{Array.from(g.attributes).forEach(t=>{if(!t.name.startsWith("on"))return;const e=t.name.slice(2),n=t.value.match(/{\s*([\w$]+)\(\)\s*}/);if(!n)return;const a=n[1];g.dataset._evtIndex=m.length,m.push({evt:e,fnName:a}),g.removeAttribute(t.name)})});class T extends HTMLElement{constructor(){super(),c&&this.attachShadow({mode:"open"}),this.state={},this.styleElement=document.createElement("style"),this.styleElement.textContent=_||"",this._textBindings={},this._origText=new Map}connectedCallback(){this._textBindings={},this._origText=new Map;const t=d.content.cloneNode(!0);this.shadowRoot?(this.shadowRoot.appendChild(this.styleElement),this.shadowRoot.appendChild(t)):(this.appendChild(this.styleElement),this.appendChild(t)),this.state=C(this,{}),this._initializing=!0;try{S.call(this,this.state)}catch(n){console.error("Error initializing component script:",n)}finally{this._initializing=!1}const e=this.shadowRoot||this;this._processTemplate(e)}_processTemplate(t){this._getAllTextNodes(t).forEach(n=>{const a=n.textContent;a.includes("{")&&a.includes("}")&&(this._origText.set(n,a),n.textContent=a.replace(/{([^}]+)}/g,(r,p)=>(p=p.trim(),this._textBindings[p]=this._textBindings[p]||[],this._textBindings[p].push(n),this.hasAttribute(p)?this.getAttribute(p):this.state[p]!==void 0?this.state[p]:r)))}),m.forEach((n,a)=>{const r=t.querySelector(`[data-_evt-index="${a}"]`);r.removeAttribute("data-_evt-index"),r.addEventListener(n.evt,p=>{const N=this.state[n.fnName];typeof N=="function"&&N.call(r,p)})})}_getAllTextNodes(t){const e=[],n=document.createTreeWalker(t,NodeFilter.SHOW_TEXT,null,!1);let a;for(;a=n.nextNode();)e.push(a);return e}_update(){const t=d.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))}_updateBinding(t){(this._textBindings[t]||[]).forEach(e=>{const n=this._origText.get(e)||"";e.textContent=n.replace(/{([^}]+)}/g,(a,r)=>(r=r.trim(),this.hasAttribute(r)?this.getAttribute(r):this.state[r]))})}disconnectedCallback(){s.log("disconnectedCallback",this)}static get observedAttributes(){return w}attributeChangedCallback(t,e,n){e!==n&&(this.state[t]=n)}emit(t,e){const n=e!=null?e:this.state;this.dispatchEvent(new CustomEvent(t,{detail:n,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,T),s.log(`Web component defined: <${h}></${h}>`)}},Symbol.toStringTag,{value:"Module"}));o.ladrillos=b,Object.defineProperty(o,Symbol.toStringTag,{value:"Module"})});
|
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
var k = Object.defineProperty;
|
|
2
|
+
var $ = (e) => {
|
|
3
|
+
throw TypeError(e);
|
|
4
|
+
};
|
|
5
|
+
var b = (e, t, r) => t in e ? k(e, t, { enumerable: !0, configurable: !0, writable: !0, value: r }) : e[t] = r;
|
|
6
|
+
var y = (e, t, r) => b(e, typeof t != "symbol" ? t + "" : t, r), v = (e, t, r) => t.has(e) || $("Cannot " + r);
|
|
7
|
+
var w = (e, t, r) => (v(e, t, "read from private field"), r ? r.call(e) : t.get(e)), A = (e, t, r) => t.has(e) ? $("Cannot add the same private member more than once") : t instanceof WeakSet ? t.add(e) : t.set(e, r);
|
|
8
|
+
var d = (e, t, r) => new Promise((a, c) => {
|
|
9
|
+
var u = (o) => {
|
|
10
|
+
try {
|
|
11
|
+
l(r.next(o));
|
|
12
|
+
} catch (p) {
|
|
13
|
+
c(p);
|
|
14
|
+
}
|
|
15
|
+
}, S = (o) => {
|
|
16
|
+
try {
|
|
17
|
+
l(r.throw(o));
|
|
18
|
+
} catch (p) {
|
|
19
|
+
c(p);
|
|
20
|
+
}
|
|
21
|
+
}, l = (o) => o.done ? a(o.value) : Promise.resolve(o.value).then(u, S);
|
|
22
|
+
l((r = r.apply(e, t)).next());
|
|
23
|
+
});
|
|
24
|
+
const E = {
|
|
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(e, ...t) {
|
|
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(e, ...t) {
|
|
38
|
+
console.error(e, ...t);
|
|
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(e, ...t) {
|
|
46
|
+
}
|
|
47
|
+
};
|
|
48
|
+
var h;
|
|
49
|
+
class f {
|
|
50
|
+
constructor() {
|
|
51
|
+
A(this, h, /* @__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(t, r, a = !0) {
|
|
61
|
+
return d(this, null, function* () {
|
|
62
|
+
if (this.components[t]) {
|
|
63
|
+
E.log(`Component ${t} already registered, skipping.`);
|
|
64
|
+
return;
|
|
65
|
+
}
|
|
66
|
+
try {
|
|
67
|
+
let c = w(this, h).get(r);
|
|
68
|
+
c || (c = yield (yield fetch(r)).text(), w(this, h).set(r, c));
|
|
69
|
+
const u = c.replace(/<!--[\s\S]*?-->/g, ""), l = new DOMParser().parseFromString(u, "text/html");
|
|
70
|
+
let o = "";
|
|
71
|
+
const p = Array.from(
|
|
72
|
+
l.querySelectorAll("script:not([type='module'])")
|
|
73
|
+
);
|
|
74
|
+
for (const n of p) {
|
|
75
|
+
if (n.src) {
|
|
76
|
+
const g = n.getAttribute("src");
|
|
77
|
+
let i;
|
|
78
|
+
try {
|
|
79
|
+
i = g;
|
|
80
|
+
} catch (s) {
|
|
81
|
+
console.error(
|
|
82
|
+
`Invalid script URL "${g}" (base "${r}") - skipping:`,
|
|
83
|
+
s
|
|
84
|
+
), n.remove();
|
|
85
|
+
continue;
|
|
86
|
+
}
|
|
87
|
+
try {
|
|
88
|
+
const s = yield fetch(i);
|
|
89
|
+
if (!s.ok) throw new Error(`HTTP ${s.status}`);
|
|
90
|
+
o += `
|
|
91
|
+
` + (yield s.text());
|
|
92
|
+
} catch (s) {
|
|
93
|
+
console.error(
|
|
94
|
+
`Could not load script at ${i} - skipping:`,
|
|
95
|
+
s
|
|
96
|
+
);
|
|
97
|
+
}
|
|
98
|
+
} else
|
|
99
|
+
o += `
|
|
100
|
+
` + n.textContent;
|
|
101
|
+
n.remove();
|
|
102
|
+
}
|
|
103
|
+
o = o.replace(/\/\*[\s\S]*?\*\//g, "").replace(/\/\/.*$/gm, "").trim();
|
|
104
|
+
let m = "";
|
|
105
|
+
const T = Array.from(
|
|
106
|
+
l.querySelectorAll("link[rel='stylesheet']")
|
|
107
|
+
);
|
|
108
|
+
for (const n of T) {
|
|
109
|
+
const g = n.getAttribute("href");
|
|
110
|
+
let i;
|
|
111
|
+
try {
|
|
112
|
+
i = g + "?raw";
|
|
113
|
+
} catch (s) {
|
|
114
|
+
console.error(
|
|
115
|
+
`Invalid stylesheet URL "${g}" (base "${r}") - skipping:`,
|
|
116
|
+
s
|
|
117
|
+
), n.remove();
|
|
118
|
+
continue;
|
|
119
|
+
}
|
|
120
|
+
try {
|
|
121
|
+
const s = yield fetch(i);
|
|
122
|
+
if (!s.ok) throw new Error(`HTTP ${s.status}`);
|
|
123
|
+
m += `
|
|
124
|
+
` + (yield s.text());
|
|
125
|
+
} catch (s) {
|
|
126
|
+
console.error(
|
|
127
|
+
`Could not load stylesheet at ${i} - skipping:`,
|
|
128
|
+
s
|
|
129
|
+
);
|
|
130
|
+
}
|
|
131
|
+
n.remove();
|
|
132
|
+
}
|
|
133
|
+
const _ = Array.from(l.querySelectorAll("style"));
|
|
134
|
+
for (const n of _)
|
|
135
|
+
m += `
|
|
136
|
+
` + n.textContent, n.remove();
|
|
137
|
+
m = m.trim();
|
|
138
|
+
const C = document.createElement("template");
|
|
139
|
+
C.innerHTML = l.body.innerHTML, this.components[t] = {
|
|
140
|
+
tagName: t,
|
|
141
|
+
template: C,
|
|
142
|
+
script: o,
|
|
143
|
+
style: m
|
|
144
|
+
}, this._defineWebComponent(t, a), E.log(`Component ${t} registered successfully`);
|
|
145
|
+
} catch (c) {
|
|
146
|
+
E.error(`Failed to register component ${t}:`, c);
|
|
147
|
+
}
|
|
148
|
+
});
|
|
149
|
+
}
|
|
150
|
+
/**
|
|
151
|
+
* @private
|
|
152
|
+
* @param {string} name
|
|
153
|
+
* @param {boolean} useShadowDOM
|
|
154
|
+
*/
|
|
155
|
+
_defineWebComponent(t, r) {
|
|
156
|
+
return d(this, null, function* () {
|
|
157
|
+
const { defineWebComponent: a } = yield import("./webcomponent-CjT9G5Wz.mjs");
|
|
158
|
+
a(this.components[t], r);
|
|
159
|
+
});
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
h = new WeakMap(), y(f, "_SCRIPT_ALL", /<script>([\s\S]*?)<\/script>/g), y(f, "_STYLE_ALL", /<style>([\s\S]*?)<\/style>/g), y(f, "_SCRIPT_ONE", /<script>([\s\S]*?)<\/script>/), y(f, "_STYLE_ONE", /<style>([\s\S]*?)<\/style>/);
|
|
163
|
+
const L = new f();
|
|
164
|
+
export {
|
|
165
|
+
L as a,
|
|
166
|
+
E as l
|
|
167
|
+
};
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
"use strict";var k=Object.defineProperty;var $=t=>{throw TypeError(t)};var b=(t,e,r)=>e in t?k(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r;var y=(t,e,r)=>b(t,typeof e!="symbol"?e+"":e,r),v=(t,e,r)=>e.has(t)||$("Cannot "+r);var w=(t,e,r)=>(v(t,e,"read from private field"),r?r.call(t):e.get(t)),A=(t,e,r)=>e.has(t)?$("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,r);var E=(t,e,r)=>new Promise((a,c)=>{var d=o=>{try{l(r.next(o))}catch(p){c(p)}},S=o=>{try{l(r.throw(o))}catch(p){c(p)}},l=o=>o.done?a(o.value):Promise.resolve(o.value).then(d,S);l((r=r.apply(t,e)).next())});const u={log(t,...e){},error(t,...e){console.error(t,...e)},warn(t,...e){}};var h;class f{constructor(){A(this,h,new Map);this.components={}}registerComponent(e,r,a=!0){return E(this,null,function*(){if(this.components[e]){u.log(`Component ${e} already registered, skipping.`);return}try{let c=w(this,h).get(r);c||(c=yield(yield fetch(r)).text(),w(this,h).set(r,c));const d=c.replace(/<!--[\s\S]*?-->/g,""),l=new DOMParser().parseFromString(d,"text/html");let o="";const p=Array.from(l.querySelectorAll("script:not([type='module'])"));for(const n of p){if(n.src){const m=n.getAttribute("src");let i;try{i=m}catch(s){console.error(`Invalid script URL "${m}" (base "${r}") - skipping:`,s),n.remove();continue}try{const s=yield fetch(i);if(!s.ok)throw new Error(`HTTP ${s.status}`);o+=`
|
|
2
|
+
`+(yield s.text())}catch(s){console.error(`Could not load script at ${i} - skipping:`,s)}}else o+=`
|
|
3
|
+
`+n.textContent;n.remove()}o=o.replace(/\/\*[\s\S]*?\*\//g,"").replace(/\/\/.*$/gm,"").trim();let g="";const T=Array.from(l.querySelectorAll("link[rel='stylesheet']"));for(const n of T){const m=n.getAttribute("href");let i;try{i=m+"?raw"}catch(s){console.error(`Invalid stylesheet URL "${m}" (base "${r}") - skipping:`,s),n.remove();continue}try{const s=yield fetch(i);if(!s.ok)throw new Error(`HTTP ${s.status}`);g+=`
|
|
4
|
+
`+(yield s.text())}catch(s){console.error(`Could not load stylesheet at ${i} - skipping:`,s)}n.remove()}const _=Array.from(l.querySelectorAll("style"));for(const n of _)g+=`
|
|
5
|
+
`+n.textContent,n.remove();g=g.trim();const C=document.createElement("template");C.innerHTML=l.body.innerHTML,this.components[e]={tagName:e,template:C,script:o,style:g},this._defineWebComponent(e,a),u.log(`Component ${e} registered successfully`)}catch(c){u.error(`Failed to register component ${e}:`,c)}})}_defineWebComponent(e,r){return E(this,null,function*(){const{defineWebComponent:a}=yield Promise.resolve().then(()=>require("./webcomponent-BAieZxvs.js"));a(this.components[e],r)})}}h=new WeakMap,y(f,"_SCRIPT_ALL",/<script>([\s\S]*?)<\/script>/g),y(f,"_STYLE_ALL",/<style>([\s\S]*?)<\/style>/g),y(f,"_SCRIPT_ONE",/<script>([\s\S]*?)<\/script>/),y(f,"_STYLE_ONE",/<style>([\s\S]*?)<\/style>/);const L=new f;exports.ladrillos=L;exports.logger=u;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const d=require("./main-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const d=require("./main-DEaqXlbt.js");function C(a,u={}){return new Proxy(u,{set(l,r,h){const g=l[r];return l[r]=h,g!==h&&!a._initializing&&(typeof a._updateBinding=="function"?a._updateBinding(r,h):a._update()),!0},get(l,r){return l[r]}})}const b=(a,u)=>{if(!a){d.logger.error("Component is not defined or invalid.");return}if(customElements.get(a.tagName)){d.logger.warn(`Component ${a.tagName} is already defined.`);return}const{tagName:l,template:r,script:h,style:g}=a,f=(c=>{const t=/{(.*?)}/g,i=new Set;let e;for(;(e=t.exec(c.innerHTML))!==null;)i.add(e[1].trim().toLowerCase());return Array.from(i)})(r),x=h.replace(/\b(?:const|let|var)\s+([\w$]+)\s*=/g,"state.$1 =").replace(/function\s+([\w$]+)\s*\(/g,"state.$1 = function ("),w=h?new Function("state",`with(state){${x}}`):()=>{},p=[];r.content.querySelectorAll("*").forEach(c=>{Array.from(c.attributes).forEach(t=>{if(!t.name.startsWith("on"))return;const i=t.name.slice(2),e=t.value.match(/{\s*([\w$]+)\(\)\s*}/);if(!e)return;const n=e[1];c.dataset._evtIndex=p.length,p.push({evt:i,fnName:n}),c.removeAttribute(t.name)})});class _ extends HTMLElement{constructor(){super(),u&&this.attachShadow({mode:"open"}),this.state={},this.styleElement=document.createElement("style"),this.styleElement.textContent=g||"",this._textBindings={},this._origText=new Map}connectedCallback(){this._textBindings={},this._origText=new Map;const t=r.content.cloneNode(!0);this.shadowRoot?(this.shadowRoot.appendChild(this.styleElement),this.shadowRoot.appendChild(t)):(this.appendChild(this.styleElement),this.appendChild(t)),this.state=C(this,{}),this._initializing=!0;try{w.call(this,this.state)}catch(e){console.error("Error initializing component script:",e)}finally{this._initializing=!1}const i=this.shadowRoot||this;this._processTemplate(i)}_processTemplate(t){this._getAllTextNodes(t).forEach(e=>{const n=e.textContent;n.includes("{")&&n.includes("}")&&(this._origText.set(e,n),e.textContent=n.replace(/{([^}]+)}/g,(s,o)=>(o=o.trim(),this._textBindings[o]=this._textBindings[o]||[],this._textBindings[o].push(e),this.hasAttribute(o)?this.getAttribute(o):this.state[o]!==void 0?this.state[o]:s)))}),p.forEach((e,n)=>{const s=t.querySelector(`[data-_evt-index="${n}"]`);s.removeAttribute("data-_evt-index"),s.addEventListener(e.evt,o=>{const m=this.state[e.fnName];typeof m=="function"&&m.call(s,o)})})}_getAllTextNodes(t){const i=[],e=document.createTreeWalker(t,NodeFilter.SHOW_TEXT,null,!1);let n;for(;n=e.nextNode();)i.push(n);return i}_update(){const t=r.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))}_updateBinding(t){(this._textBindings[t]||[]).forEach(i=>{const e=this._origText.get(i)||"";i.textContent=e.replace(/{([^}]+)}/g,(n,s)=>(s=s.trim(),this.hasAttribute(s)?this.getAttribute(s):this.state[s]))})}disconnectedCallback(){d.logger.log("disconnectedCallback",this)}static get observedAttributes(){return f}attributeChangedCallback(t,i,e){i!==e&&(this.state[t]=e)}emit(t,i){const e=i!=null?i: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(l,_),d.logger.log(`Web component defined: <${l}></${l}>`)};exports.defineWebComponent=b;
|
package/package.json
CHANGED
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ladrillosjs",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.3",
|
|
4
4
|
"description": "A lightweight, zero-dependency web component framework for building modular web applications.",
|
|
5
|
+
"repository": {
|
|
6
|
+
"type": "git",
|
|
7
|
+
"url": "git+https://github.com/drubiodev/LadrillosJS.git"
|
|
8
|
+
},
|
|
5
9
|
"files": [
|
|
6
10
|
"dist"
|
|
7
11
|
],
|
|
@@ -21,7 +25,9 @@
|
|
|
21
25
|
"build": "vite build",
|
|
22
26
|
"preview": "vite preview"
|
|
23
27
|
},
|
|
24
|
-
"keywords": [
|
|
28
|
+
"keywords": [
|
|
29
|
+
"webcomponents"
|
|
30
|
+
],
|
|
25
31
|
"author": "Daniel Rubio",
|
|
26
32
|
"license": "MIT",
|
|
27
33
|
"devDependencies": {
|
package/dist/main-CLBumiAD.mjs
DELETED
|
@@ -1,101 +0,0 @@
|
|
|
1
|
-
var h = Object.defineProperty;
|
|
2
|
-
var E = (t) => {
|
|
3
|
-
throw TypeError(t);
|
|
4
|
-
};
|
|
5
|
-
var C = (t, e, s) => e in t ? h(t, e, { enumerable: !0, configurable: !0, writable: !0, value: s }) : t[e] = s;
|
|
6
|
-
var a = (t, e, s) => C(t, typeof e != "symbol" ? e + "" : e, s), f = (t, e, s) => e.has(t) || E("Cannot " + s);
|
|
7
|
-
var S = (t, e, s) => (f(t, e, "read from private field"), s ? s.call(t) : e.get(t)), L = (t, e, s) => e.has(t) ? E("Cannot add the same private member more than once") : e instanceof WeakSet ? e.add(t) : e.set(t, s);
|
|
8
|
-
var T = (t, e, s) => new Promise((i, c) => {
|
|
9
|
-
var m = (r) => {
|
|
10
|
-
try {
|
|
11
|
-
n(s.next(r));
|
|
12
|
-
} catch (l) {
|
|
13
|
-
c(l);
|
|
14
|
-
}
|
|
15
|
-
}, g = (r) => {
|
|
16
|
-
try {
|
|
17
|
-
n(s.throw(r));
|
|
18
|
-
} catch (l) {
|
|
19
|
-
c(l);
|
|
20
|
-
}
|
|
21
|
-
}, n = (r) => r.done ? i(r.value) : Promise.resolve(r.value).then(m, g);
|
|
22
|
-
n((s = s.apply(t, e)).next());
|
|
23
|
-
});
|
|
24
|
-
const _ = {
|
|
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
|
-
};
|
|
48
|
-
var p;
|
|
49
|
-
const o = class o {
|
|
50
|
-
constructor() {
|
|
51
|
-
L(this, p, /* @__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, s, i = !0) {
|
|
61
|
-
return T(this, null, function* () {
|
|
62
|
-
if (this.components[e]) {
|
|
63
|
-
_.log(`Component ${e} already registered, skipping.`);
|
|
64
|
-
return;
|
|
65
|
-
}
|
|
66
|
-
try {
|
|
67
|
-
let c = S(this, p).get(s);
|
|
68
|
-
c || (c = yield (yield fetch(s)).text(), S(this, p).set(s, c));
|
|
69
|
-
const m = c.replace(o._SCRIPT_ALL, "").replace(o._STYLE_ALL, ""), g = document.createElement("template");
|
|
70
|
-
g.innerHTML = m;
|
|
71
|
-
const n = o._SCRIPT_ONE.exec(c), r = o._STYLE_ONE.exec(c);
|
|
72
|
-
this.components[e] = {
|
|
73
|
-
tagName: e,
|
|
74
|
-
template: g,
|
|
75
|
-
script: (n == null ? void 0 : n[1].trim()) || "",
|
|
76
|
-
style: (r == null ? void 0 : r[1].trim()) || ""
|
|
77
|
-
}, this._defineWebComponent(e, i), _.log(`Component ${e} registered successfully`);
|
|
78
|
-
} catch (c) {
|
|
79
|
-
_.error(`Failed to register component ${e}:`, c);
|
|
80
|
-
}
|
|
81
|
-
});
|
|
82
|
-
}
|
|
83
|
-
/**
|
|
84
|
-
* @private
|
|
85
|
-
* @param {string} name
|
|
86
|
-
* @param {boolean} useShadowDOM
|
|
87
|
-
*/
|
|
88
|
-
_defineWebComponent(e, s) {
|
|
89
|
-
return T(this, null, function* () {
|
|
90
|
-
const { defineWebComponent: i } = yield import("./webcomponent-DytFVRp0.mjs");
|
|
91
|
-
i(this.components[e], s);
|
|
92
|
-
});
|
|
93
|
-
}
|
|
94
|
-
};
|
|
95
|
-
p = new WeakMap(), a(o, "_SCRIPT_ALL", /<script>([\s\S]*?)<\/script>/g), a(o, "_STYLE_ALL", /<style>([\s\S]*?)<\/style>/g), a(o, "_SCRIPT_ONE", /<script>([\s\S]*?)<\/script>/), a(o, "_STYLE_ONE", /<style>([\s\S]*?)<\/style>/);
|
|
96
|
-
let y = o;
|
|
97
|
-
const w = new y();
|
|
98
|
-
export {
|
|
99
|
-
w as a,
|
|
100
|
-
_ as l
|
|
101
|
-
};
|
package/dist/main-DQ-yGgzS.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";var E=Object.defineProperty;var u=t=>{throw TypeError(t)};var L=(t,e,s)=>e in t?E(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s;var a=(t,e,s)=>L(t,typeof e!="symbol"?e+"":e,s),C=(t,e,s)=>e.has(t)||u("Cannot "+s);var T=(t,e,s)=>(C(t,e,"read from private field"),s?s.call(t):e.get(t)),y=(t,e,s)=>e.has(t)?u("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,s);var _=(t,e,s)=>new Promise((i,r)=>{var S=c=>{try{n(s.next(c))}catch(l){r(l)}},p=c=>{try{n(s.throw(c))}catch(l){r(l)}},n=c=>c.done?i(c.value):Promise.resolve(c.value).then(S,p);n((s=s.apply(t,e)).next())});const m={log(t,...e){},error(t,...e){console.error(t,...e)},warn(t,...e){}};var g;const o=class o{constructor(){y(this,g,new Map);this.components={}}registerComponent(e,s,i=!0){return _(this,null,function*(){if(this.components[e]){m.log(`Component ${e} already registered, skipping.`);return}try{let r=T(this,g).get(s);r||(r=yield(yield fetch(s)).text(),T(this,g).set(s,r));const S=r.replace(o._SCRIPT_ALL,"").replace(o._STYLE_ALL,""),p=document.createElement("template");p.innerHTML=S;const n=o._SCRIPT_ONE.exec(r),c=o._STYLE_ONE.exec(r);this.components[e]={tagName:e,template:p,script:(n==null?void 0:n[1].trim())||"",style:(c==null?void 0:c[1].trim())||""},this._defineWebComponent(e,i),m.log(`Component ${e} registered successfully`)}catch(r){m.error(`Failed to register component ${e}:`,r)}})}_defineWebComponent(e,s){return _(this,null,function*(){const{defineWebComponent:i}=yield Promise.resolve().then(()=>require("./webcomponent-CUDuf8lm.js"));i(this.components[e],s)})}};g=new WeakMap,a(o,"_SCRIPT_ALL",/<script>([\s\S]*?)<\/script>/g),a(o,"_STYLE_ALL",/<style>([\s\S]*?)<\/style>/g),a(o,"_SCRIPT_ONE",/<script>([\s\S]*?)<\/script>/),a(o,"_STYLE_ONE",/<style>([\s\S]*?)<\/style>/);let h=o;const f=new h;exports.ladrillos=f;exports.logger=m;
|