@neuralfog/elemix 0.5.2 → 0.5.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./types-Dum6QV0O.js"),t=require("./utilities-COO_YT_a.js");var n=(e,t)=>{customElements.get(e)===void 0&&customElements.define(e,t)},r=e=>r=>{let i=t.t(r.name);r.$styles=e?.styles||[],n(i,r)},i=t=>(n,r)=>{n.stateProperties||=new Map,n.stateProperties.has(r)||n.stateProperties.set(r,t||e.t.LOCAL_STATE)};exports.component=r,exports.state=i;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./types-BiKJhqBa.js"),t=require("./utilities-COO_YT_a.js");var n=(e,t)=>{customElements.get(e)===void 0&&customElements.define(e,t)},r=e=>r=>{let i=t.t(r.name);r.$styles=e?.styles||[],n(i,r)},i=t=>(n,r)=>{n.stateProperties||=new Map,n.stateProperties.has(r)||n.stateProperties.set(r,t||e.t.LOCAL_STATE)};exports.component=r,exports.state=i;
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./render-Ch7neI7j.js"),t=require("./types-Dum6QV0O.js"),n=require("./renderers-BBOJdSjj.js"),r=require("./Reactive-CQV_s8zX.js"),i=require("./App-tMVVu8H5.js");var a=class{component;locked=!1;scheduledRenderTriggers=new Set;constructor(e){this.component=e}schedule(e,t=!1){let r=n.n.active;n.n.active=null;let i;try{i=this.component.template()}finally{n.n.active=r}i&&(e&&this.scheduledRenderTriggers.add(e),this.locked||(this.locked=!0,n.t.add(this),setTimeout(()=>{this.render(Array.from(this.scheduledRenderTriggers)),this.scheduledRenderTriggers.clear(),this.locked=!1,n.t.delete(this),t&&(this.component.onMount(),this.component.removeAttribute(`data-cloak`))},0)))}render(t){for(let e of this.component.tracked)e.unsubscribe(this.component);this.component.tracked.clear();let r=n.n.active;n.n.active=this.component;try{e.n(this.component.template(),this.component.root)}finally{n.n.active=r}this.component.onRender(t)}},o=class{component;constructor(e){this.component=e}initialize(){let e=this.component.constructor.prototype.stateProperties;if(e)for(let[t,n]of e){let e=this.component;e[t]=new r.t(e[t],n).subscribe(this.component).value}}},s=class{component;data={};constructor(e){this.component=e}initialize(){this.data=new r.t(this.data,t.t.PROPS).subscribe(this.component).value}setReactive(e,t){this.data[e]=t}set(e,t){if(typeof t==`object`&&t){this.setReactive(e,t);return}let n=this.data[e];if(typeof t==`function`){this.data[e]||this.setReactive(e,t);return}n!==t&&this.setReactive(e,t)}},c=class{component;styles;constructor(e){this.component=e,this.styles=this.component.constructor.$styles}initialize(){if(this.component.shadowRoot&&this.styles.length){let e=new CSSStyleSheet;e.replaceSync(this.styles.join(` `));let t=i.t.config.baseStyles||[];this.component.shadowRoot.adoptedStyleSheets=[...t,e,...this.component.controlStyles]}}},l=class extends HTMLElement{$props=new s(this);$renderer=new a(this);$localState=new o(this);$styles=new c(this);$controlStyles;tracked=new Set;get root(){return this.shadowRoot}get props(){return this.$props.data}get styles(){return this.$styles}get controlStyles(){return this.$controlStyles||[]}constructor(){super(),this.attachShadow({mode:`open`}),this.setAttribute(`data-cloak`,``)}connectedCallback(){this.beforeMount(),this.$styles.initialize(),this.$props.initialize(),this.$localState.initialize(),this.render(t.t.ON_MOUNT,!0)}disconnectedCallback(){n.t.delete(this.$renderer),this.unsubscribeFromSignals(),this.onDispose()}template(){}onRender(e){}beforeMount(){}onMount(){}onDispose(){}render(e,t=!1){this.$renderer.schedule(e,t)}setControlStyles(e){this.$controlStyles=e}unsubscribeFromSignals(){for(let e of this.tracked)e.unsubscribe(this);this.tracked.clear()}hasSlot(e){return Array.from(this.children).some(t=>t.getAttribute(`slot`)===e)}};exports.Component=l,exports.RenderTrigger=t.t,exports.html=t.n;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./render-B9Razo8x.js"),t=require("./types-BiKJhqBa.js"),n=require("./renderers-BBOJdSjj.js"),r=require("./Reactive-CQV_s8zX.js"),i=require("./App-tMVVu8H5.js");var a=class{component;locked=!1;scheduledRenderTriggers=new Set;constructor(e){this.component=e}schedule(e,t=!1){let r=n.n.active;n.n.active=null;let i;try{i=this.component.template()}finally{n.n.active=r}i&&(e&&this.scheduledRenderTriggers.add(e),this.locked||(this.locked=!0,n.t.add(this),setTimeout(()=>{this.render(Array.from(this.scheduledRenderTriggers)),this.scheduledRenderTriggers.clear(),this.locked=!1,n.t.delete(this),t&&(this.component.onMount(),this.component.removeAttribute(`data-cloak`))},0)))}render(t){for(let e of this.component.tracked)e.unsubscribe(this.component);this.component.tracked.clear();let r=n.n.active;n.n.active=this.component;try{e.n(this.component.template(),this.component.root)}finally{n.n.active=r}this.component.onRender(t)}},o=class{component;constructor(e){this.component=e}initialize(){let e=this.component.constructor.prototype.stateProperties;if(e)for(let[t,n]of e){let e=this.component;e[t]=new r.t(e[t],n).subscribe(this.component).value}}},s=class{component;data={};constructor(e){this.component=e}initialize(){this.data=new r.t(this.data,t.t.PROPS).subscribe(this.component).value}setReactive(e,t){this.data[e]=t}set(e,t){if(typeof t==`object`&&t){this.setReactive(e,t);return}let n=this.data[e];if(typeof t==`function`){this.data[e]||this.setReactive(e,t);return}n!==t&&this.setReactive(e,t)}},c=class{component;styles;constructor(e){this.component=e,this.styles=this.component.constructor.$styles}initialize(){if(this.component.shadowRoot&&this.styles.length){let e=new CSSStyleSheet;e.replaceSync(this.styles.join(` `));let t=i.t.config.baseStyles||[];this.component.shadowRoot.adoptedStyleSheets=[...t,e,...this.component.controlStyles]}}},l=class extends HTMLElement{$props=new s(this);$renderer=new a(this);$localState=new o(this);$styles=new c(this);$controlStyles;tracked=new Set;get root(){return this.shadowRoot}get props(){return this.$props.data}get styles(){return this.$styles}get controlStyles(){return this.$controlStyles||[]}constructor(){super(),this.attachShadow({mode:`open`}),this.setAttribute(`data-cloak`,``)}connectedCallback(){this.beforeMount(),this.$styles.initialize(),this.$props.initialize(),this.$localState.initialize(),this.render(t.t.ON_MOUNT,!0)}disconnectedCallback(){n.t.delete(this.$renderer),this.unsubscribeFromSignals(),this.onDispose()}template(){}onRender(e){}beforeMount(){}onMount(){}onDispose(){}render(e,t=!1){this.$renderer.schedule(e,t)}setControlStyles(e){this.$controlStyles=e}unsubscribeFromSignals(){for(let e of this.tracked)e.unsubscribe(this);this.tracked.clear()}hasSlot(e){return Array.from(this.children).some(t=>t.getAttribute(`slot`)===e)}};exports.Component=l,exports.RenderTrigger=t.t,exports.html=t.n;
@@ -1 +1 @@
1
- const e=require("./utils-lujR-c6b.js");var t={deletes:[],inserts:[],moves:[]},n=(e,n)=>{let i=e.length,a=n.length;if(i===a){let r=!0;for(let t=0;t<i;t++)if(e[t].key!==n[t].key){r=!1;break}if(r)return t}let o=Object.create(null);for(let t=0;t<i;t++)o[e[t].key]=t;let s=new Int32Array(a),c=[],l=[],u=Object.create(null);for(let e=0;e<a;e++){let t=n[e].key;u[t]=!0;let r=o[t];r===void 0?s[e]=-1:(s[e]=r,c.push(r),l.push(e))}let d=r(c),f=new Uint8Array(a);for(let e=0;e<d.length;e++)f[l[d[e]]]=1;let p=[],m=[],h=[];for(let t=0;t<i;t++)u[e[t].key]!==!0&&p.push({key:e[t].key});for(let e=0;e<a;e++){let t=e+1<a?n[e+1].key:void 0;s[e]===-1?m.push({key:n[e].key,value:n[e],beforeKey:t}):f[e]||h.push({key:n[e].key,beforeKey:t})}return{deletes:p,inserts:m,moves:h}},r=e=>{let t=e.length;if(t===0)return[];let n=new Int32Array(t),r=new Int32Array(t),i=0;for(let a=0;a<t;a++){let t=0,o=i;for(;t<o;){let n=t+o>>>1;e[r[n]]<e[a]?t=n+1:o=n}r[t]=a,t===i&&i++,n[a]=t>0?r[t-1]:-1}let a=Array(i),o=r[i-1];for(let e=i-1;e>=0;e--)a[e]=o,o=n[o];return a},i=e=>typeof e==`object`&&!!e&&`strings`in e&&`values`in e,a=/(\S+)(?==(?:["']?)$)/,o=(t,n)=>{let r=t.match(a);if(!r)return;let i=r[1],o={index:n,name:i,value:e.i(n),virtual:!1,type:e.o.STD},s=i[0];return s===`@`?(o.virtual=!0,o.type=e.o.EVENT):s===`:`?(o.virtual=!0,o.type=i.endsWith(`:ref`)?e.o.REF:e.o.PROP):s===`~`&&i.startsWith(`~model`)?(o.virtual=!0,o.type=e.o.MODEL):s===`.`&&(o.virtual=!0,o.type=i.startsWith(`.class`)?e.o.DIRECT_CLASS:e.o.DIRECT_PROP),o},s=new Map,c=e=>{let t=s.get(e);if(t)return t;let n=``;for(let t=0;t<e.length;t++){let r=e[t],i=r.charCodeAt(0);n+=i>=48&&i<=57||i>=65&&i<=90||i>=97&&i<=122||r===`-`||r===`_`?r:`\\${r}`}return s.set(e,n),n},l=(e,t,n)=>{for(let r=0,i=t.length;r<i;r++){let i=t[r],a=e.querySelector(`[${c(i.name)}='${i.value}']`);a&&(i.virtual&&a.removeAttribute(i.name),n.set(i.index,C[i.type](a,i)))}},u=e=>Array.isArray(e)?`list`:i(e)?`template`:`string`,d=(e,t,n)=>e===`list`?h(t,n):e===`template`?m(t,n):p(t),f=(e,t,n)=>{let r,i;return e=>{let a=u(e);i&&i!==a&&(r?.dispose(),r=void 0),r||(r=d(a,t,n),i=a),r.update(e)}},p=e=>{let t=document.createTextNode(``);return e.before(t),{update:e=>{let n=e==null?``:String(e);t.textContent!==n&&(t.textContent=n)},dispose:()=>{t.remove()}}},m=(e,t)=>{let n,r,i=[],a=()=>{for(let e=0;e<i.length;e++)i[e].remove();i=[]};return{update:o=>{let s=o;n!==s.strings&&(r=void 0,a()),r||(r=t(s),n=s.strings,i=r.mountBefore(e,s.values)),r.update(s.values)},dispose:a}},h=(e,t)=>{let r=new Map,i=new Map,a=[],o=(n,a)=>{if(!n.key)throw Error(`use repeat directive when rendering the lists`);let o=r.get(n.key);if(!o){o=t(n),r.set(n.key,o);let s=a||e,c=o.mountBefore(s,n.values);c.length&&i.set(n.key,c[c.length-1])}return o},s=()=>{for(let[,e]of i)e.remove();r.clear(),i.clear()},c=e=>{for(let t=0;t<e.length;t++)o(e[t]).update(e[t].values)};return{update:t=>{let l=t;if(!a.length){c(l),a=l;return}if(!l.length){s(),a=l;return}let{deletes:u,inserts:d,moves:f}=n(a,l);if(u.length===l.length||d.length===l.length){s(),c(l),a=l;return}for(let e=u.length-1;e>=0;e--){let t=u[e].key;i.get(t)?.remove(),i.delete(t),r.delete(t)}for(let t=f.length-1;t>=0;t--){let n=i.get(f[t].key),r=i.get(f[t].beforeKey);n&&r?r.before(n):n&&e.before(n)}for(let e=d.length-1;e>=0;e--){let t=i.get(d[e].beforeKey);o(d[e].value,t)}for(let e=0;e<l.length;e++)r.get(l[e].key)?.update(l[e].values);a=l},dispose:()=>{s(),a=[]}}},g=(e,t)=>{let n,{name:r}=t;return t=>{if(t===void 0)return;let i=String(t);n!==i&&(n=i,e.setAttribute(r,i))}},_=(e,t)=>{let n,r=`on${t.name.slice(1)}`;return t=>{t===void 0||n===t||(n=t,e[r]=t)}},v=(e,t)=>{let n=t.name.slice(1);return t=>{let r=e;r.$props&&r.$props.set(n,t)}},y=e=>t=>{if(t===void 0)return;let n=t,r=e;r.value!==n.value&&(r.value=n.value),e.oninput||=e=>{n.value=e.target.value}},b=e=>t=>{t!==void 0&&(t.value=e)},x=t=>{let n=t.getAttribute(`class`)||``,r;return i=>{if(i==null){n.length&&r!==n&&(r=n,t.setAttribute(`class`,n));return}if(typeof i==`string`){let a=e.a(n,i);r!==a&&(r=a,t.setAttribute(`class`,a));return}if(typeof i==`object`){let a=``;for(let[e,t]of Object.entries(i))t&&(a.length&&(a+=` `),a+=e);let o=e.a(n,a);r!==o&&(r=o,t.setAttribute(`class`,o))}}},S=(e,t)=>{let n=t.name.slice(1),r;return t=>{r!==t&&(r=t,e[n]=t)}},C={[e.o.STD]:g,[e.o.EVENT]:_,[e.o.PROP]:v,[e.o.MODEL]:e=>y(e),[e.o.REF]:e=>b(e),[e.o.DIRECT_CLASS]:e=>x(e),[e.o.DIRECT_PROP]:S},w=t=>{let n=new Map,r=[],i,a=``,{strings:s}=t;for(let t=0,n=s.length;t<n;t++)if(a+=s[t],t<n-1){let n=o(s[t],t);n&&r.push(n),a+=e.i(t)}a=e.n(e.t(a));let c=()=>(i||(i=document.createElement(`template`),i.innerHTML=a),i.content.cloneNode(!0)),u=(t,i)=>{let a=document.createTreeWalker(t,NodeFilter.SHOW_COMMENT,null);for(;a.nextNode();){let{nodeValue:t}=a.currentNode;if(t?.startsWith(`₥`)){let r=e.r(t);n.set(r,f(i[r],a.currentNode,w))}}l(t,r,n)};return{mount:(e,t)=>{let n=c();u(n,t),e.appendChild(n)},mountBefore:(e,t)=>{let n=c();u(n,t);let r=Array.from(n.childNodes);return e.before(n),r},update:e=>{for(let[t,r]of n)r(e[t])}}},T=(e,...t)=>({strings:e,values:t,key:``}),E=Symbol(),D=(e,t)=>{if(!t)throw Error(`render method needs to accept instance of HTMLElement`);let n=t;n[E]||(n[E]=new Map);let r=n[E],i=r.get(e.strings);i||(i=w(e),r.set(e.strings,i),i.mount(t,e.values)),i.update(e.values)};Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return D}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return T}});
1
+ const e=require("./utils-lujR-c6b.js");var t={deletes:[],inserts:[],moves:[]},n=(e,n)=>{let i=e.length,a=n.length;if(i===a){let r=!0;for(let t=0;t<i;t++)if(e[t].key!==n[t].key){r=!1;break}if(r)return t}let o=Object.create(null);for(let t=0;t<i;t++)o[e[t].key]=t;let s=new Int32Array(a),c=[],l=[],u=Object.create(null);for(let e=0;e<a;e++){let t=n[e].key;u[t]=!0;let r=o[t];r===void 0?s[e]=-1:(s[e]=r,c.push(r),l.push(e))}let d=r(c),f=new Uint8Array(a);for(let e=0;e<d.length;e++)f[l[d[e]]]=1;let p=[],m=[],h=[];for(let t=0;t<i;t++)u[e[t].key]!==!0&&p.push({key:e[t].key});for(let e=0;e<a;e++){let t=e+1<a?n[e+1].key:void 0;s[e]===-1?m.push({key:n[e].key,value:n[e],beforeKey:t}):f[e]||h.push({key:n[e].key,beforeKey:t})}return{deletes:p,inserts:m,moves:h}},r=e=>{let t=e.length;if(t===0)return[];let n=new Int32Array(t),r=new Int32Array(t),i=0;for(let a=0;a<t;a++){let t=0,o=i;for(;t<o;){let n=t+o>>>1;e[r[n]]<e[a]?t=n+1:o=n}r[t]=a,t===i&&i++,n[a]=t>0?r[t-1]:-1}let a=Array(i),o=r[i-1];for(let e=i-1;e>=0;e--)a[e]=o,o=n[o];return a},i=e=>typeof e==`object`&&!!e&&`strings`in e&&`values`in e,a=/(\S+)(?==(?:["']?)$)/,o=(t,n)=>{let r=t.match(a);if(!r)return;let i=r[1],o={index:n,name:i,value:e.i(n),virtual:!1,type:e.o.STD},s=i[0];return s===`@`?(o.virtual=!0,o.type=e.o.EVENT):s===`:`?(o.virtual=!0,o.type=i.endsWith(`:ref`)?e.o.REF:e.o.PROP):s===`~`&&i.startsWith(`~model`)?(o.virtual=!0,o.type=e.o.MODEL):s===`.`&&(o.virtual=!0,o.type=i.startsWith(`.class`)?e.o.DIRECT_CLASS:e.o.DIRECT_PROP),o},s=new Map,c=e=>{let t=s.get(e);if(t)return t;let n=``;for(let t=0;t<e.length;t++){let r=e[t],i=r.charCodeAt(0);n+=i>=48&&i<=57||i>=65&&i<=90||i>=97&&i<=122||r===`-`||r===`_`?r:`\\${r}`}return s.set(e,n),n},l=(e,t,n)=>{for(let r=0,i=t.length;r<i;r++){let i=t[r],a=e.querySelector(`[${c(i.name)}='${i.value}']`);a&&(i.virtual&&a.removeAttribute(i.name),n.set(i.index,C[i.type](a,i)))}},u=e=>Array.isArray(e)?`list`:i(e)?`template`:`string`,d=(e,t,n)=>e===`list`?h(t,n):e===`template`?m(t,n):p(t),f=(e,t,n)=>{let r,i;return e=>{let a=u(e);i&&i!==a&&(r?.dispose(),r=void 0),r||(r=d(a,t,n),i=a),r.update(e)}},p=e=>{let t=document.createTextNode(``);return e.before(t),{update:e=>{let n=e==null?``:String(e);t.textContent!==n&&(t.textContent=n)},dispose:()=>{t.remove()}}},m=(e,t)=>{let n,r,i=[],a=()=>{for(let e=0;e<i.length;e++)i[e].remove();i=[]};return{update:o=>{let s=o;n!==s.strings&&(r=void 0,a()),r||(r=t(s),n=s.strings,i=r.mountBefore(e,s.values)),r.update(s.values)},dispose:a}},h=(e,t)=>{let r=new Map,i=new Map,a=[],o=(n,a)=>{if(!n.key)throw Error(`use repeat directive when rendering the lists`);let o=r.get(n.key);if(!o){o=t(n),r.set(n.key,o);let s=a||e,c=o.mountBefore(s,n.values);c.length&&i.set(n.key,c[c.length-1])}return o},s=()=>{for(let[,e]of i)e.remove();r.clear(),i.clear()},c=e=>{for(let t=0;t<e.length;t++)o(e[t]).update(e[t].values)};return{update:t=>{let l=t;if(!a.length){c(l),a=l;return}if(!l.length){s(),a=l;return}let{deletes:u,inserts:d,moves:f}=n(a,l);if(u.length===l.length||d.length===l.length){s(),c(l),a=l;return}for(let e=u.length-1;e>=0;e--){let t=u[e].key;i.get(t)?.remove(),i.delete(t),r.delete(t)}for(let t=f.length-1;t>=0;t--){let n=i.get(f[t].key),r=i.get(f[t].beforeKey);n&&r?r.before(n):n&&e.before(n)}for(let e=d.length-1;e>=0;e--){let t=i.get(d[e].beforeKey);o(d[e].value,t)}for(let e=0;e<l.length;e++)r.get(l[e].key)?.update(l[e].values);a=l},dispose:()=>{s(),a=[]}}},g=(e,t)=>{let n,{name:r}=t;return t=>{if(t===void 0)return;let i=String(t);n!==i&&(n=i,e.setAttribute(r,i))}},_=(e,t)=>{let n,r=`on${t.name.slice(1)}`;return t=>{t===void 0||n===t||(n=t,e[r]=t)}},v=(e,t)=>{let n=t.name.slice(1);return t=>{let r=e;r.$props&&r.$props.set(n,t)}},y=e=>t=>{if(t===void 0)return;let n=t,r=e;r.value!==n.value&&(r.value=n.value),e.oninput||=e=>{n.value=e.target.value}},b=e=>t=>{t!==void 0&&(t.value=e)},x=t=>{let n=t.getAttribute(`class`)||``,r;return i=>{if(i==null){n.length&&r!==n&&(r=n,t.setAttribute(`class`,n));return}if(typeof i==`string`){let a=e.a(n,i);r!==a&&(r=a,t.setAttribute(`class`,a));return}if(typeof i==`object`){let a=``;for(let[e,t]of Object.entries(i))t&&(a.length&&(a+=` `),a+=e);let o=e.a(n,a);r!==o&&(r=o,t.setAttribute(`class`,o))}}},S=(e,t)=>{let n=t.name.slice(1),r;return t=>{r!==t&&(r=t,e[n]=t)}},C={[e.o.STD]:g,[e.o.EVENT]:_,[e.o.PROP]:v,[e.o.MODEL]:e=>y(e),[e.o.REF]:e=>b(e),[e.o.DIRECT_CLASS]:e=>x(e),[e.o.DIRECT_PROP]:S},w=t=>{let n=new Map,r=[],i,a=``,{strings:s}=t;for(let t=0,n=s.length;t<n;t++)if(a+=s[t],t<n-1){let n=o(s[t],t);n&&r.push(n),a+=e.i(t)}a=e.n(e.t(a));let c=()=>(i||(i=document.createElement(`template`),i.innerHTML=a),i.content.cloneNode(!0)),u=(t,i)=>{let a=document.createTreeWalker(t,NodeFilter.SHOW_COMMENT,null);for(;a.nextNode();){let{nodeValue:t}=a.currentNode;if(t?.startsWith(`₥`)){let r=e.r(t);n.set(r,f(i[r],a.currentNode,w))}}l(t,r,n)},d=e=>{for(let[t,r]of n)r(e[t])};return{mount:(e,t)=>{let n=c();u(n,t),d(t),e.appendChild(n)},mountBefore:(e,t)=>{let n=c();u(n,t),d(t);let r=Array.from(n.childNodes);return e.before(n),r},update:e=>{for(let[t,r]of n)r(e[t])}}},T=(e,...t)=>({strings:e,values:t,key:``}),E=Symbol(),D=(e,t)=>{if(!t)throw Error(`render method needs to accept instance of HTMLElement`);let n=t;n[E]||(n[E]=new Map);let r=n[E],i=r.get(e.strings);i||(i=w(e),r.set(e.strings,i),i.mount(t,e.values)),i.update(e.values)};Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return D}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return T}});
package/dist/render.js CHANGED
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./render-Ch7neI7j.js");exports.html=e.t,exports.render=e.n;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./render-B9Razo8x.js");exports.html=e.t,exports.render=e.n;
package/dist/signal.js CHANGED
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./types-Dum6QV0O.js"),t=require("./Reactive-CQV_s8zX.js");var n=(n,r)=>new t.t(n,r||e.t.SIGNAL);exports.signal=n;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./types-BiKJhqBa.js"),t=require("./Reactive-CQV_s8zX.js");var n=(n,r)=>new t.t(n,r||e.t.SIGNAL);exports.signal=n;
@@ -1,6 +1,7 @@
1
- export declare const ref: <Value>(value?: Value | undefined) => {
1
+ export type Ref<Value> = {
2
2
  value?: Value;
3
3
  };
4
+ export declare const ref: <Value>(value?: Value | undefined) => Ref<Value>;
4
5
  export declare const fastUID: () => string;
5
6
  export declare function render(): Promise<boolean>;
6
7
  export declare const camelToKebabCase: (input: string) => string;
@@ -1,8 +1,6 @@
1
1
  import { Component } from '../../src/component/Component';
2
2
  import { type Template } from '../../src/types';
3
3
  export declare class RefApp extends Component {
4
- ref: {
5
- value?: unknown;
6
- };
4
+ ref: import("../../utilities").Ref<unknown>;
7
5
  template: () => Template;
8
6
  }
@@ -2,9 +2,7 @@ import { Component } from '../../src/component/Component';
2
2
  import { type Template } from '../../src/types';
3
3
  export declare class ViewModelBindingApp extends Component {
4
4
  state: {
5
- input: {
6
- value?: string | undefined;
7
- };
5
+ input: import("../../utilities").Ref<string>;
8
6
  };
9
7
  template: () => Template;
10
8
  }
@@ -0,0 +1,18 @@
1
+ import { Component } from '../../../src/component/Component';
2
+ import { type Template } from '../../../src/types';
3
+ /**
4
+ * Reads its `data-payload` attribute in `beforeMount` and parses it as JSON.
5
+ * If the renderer applies attribute hole values AFTER `connectedCallback`
6
+ * fires, `getAttribute('data-payload')` will return the literal marker
7
+ * comment string ("<!--MARKER-->") and `JSON.parse` throws.
8
+ *
9
+ * The fixture captures whatever parsed successfully so the test can assert
10
+ * the attribute was already hydrated by the time `beforeMount` ran.
11
+ */
12
+ export declare class AttrBeforeConnect extends Component {
13
+ parsed: unknown;
14
+ parseError: string | null;
15
+ rawAttr: string | null;
16
+ beforeMount(): void;
17
+ template: () => Template;
18
+ }
@@ -17,9 +17,7 @@ export declare class OtpLikeStructure extends Component {
17
17
  state: {
18
18
  digits: Digit[];
19
19
  };
20
- inputRefs: {
21
- value?: HTMLInputElement | undefined;
22
- }[];
20
+ inputRefs: import("../../../utilities").Ref<HTMLInputElement>[];
23
21
  private onInput;
24
22
  private onKeyDown;
25
23
  private onBeforeInput;
@@ -0,0 +1 @@
1
+ import '../fixtures/renderer/AttrBeforeConnect';
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../render-Ch7neI7j.js");var t=(e,n)=>{let r=Array.from(e.querySelectorAll(n)),i=e=>{for(let i of t(e,n))r.includes(i)||r.push(i)};e instanceof HTMLElement&&e.shadowRoot&&i(e.shadowRoot);for(let t of e.querySelectorAll(`*`))t.shadowRoot&&i(t.shadowRoot);return r},n=(e,n)=>t(e,n)[0],r=async(e,t,r=2e3)=>{let i=performance.now();for(;performance.now()-i<r;){let r=n(e,t);if(r)return r;await new Promise(e=>setTimeout(e,25))}throw Error(`Timeout waiting for ${t}`)},i=()=>{let t={screen(n){return e.n(n,document.body),t},body(){return document.body},root(){return document.body.firstElementChild},getComponent(e){return n(document.body,e)}};return t};exports.present=i,exports.query=n,exports.queryAll=t,exports.waitFor=r;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../render-B9Razo8x.js");var t=(e,n)=>{let r=Array.from(e.querySelectorAll(n)),i=e=>{for(let i of t(e,n))r.includes(i)||r.push(i)};e instanceof HTMLElement&&e.shadowRoot&&i(e.shadowRoot);for(let t of e.querySelectorAll(`*`))t.shadowRoot&&i(t.shadowRoot);return r},n=(e,n)=>t(e,n)[0],r=async(e,t,r=2e3)=>{let i=performance.now();for(;performance.now()-i<r;){let r=n(e,t);if(r)return r;await new Promise(e=>setTimeout(e,25))}throw Error(`Timeout waiting for ${t}`)},i=()=>{let t={screen(n){return e.n(n,document.body),t},body(){return document.body},root(){return document.body.firstElementChild},getComponent(e){return n(document.body,e)}};return t};exports.present=i,exports.query=n,exports.queryAll=t,exports.waitFor=r;
@@ -1,3 +1,4 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},s=(n,r,a)=>(a=n==null?{}:e(i(n)),o(r||!n||!n.__esModule?t(a,`default`,{value:n,enumerable:!0}):a,n));let c=require("unified"),l=require("rehype-parse");l=s(l);let u=require("rehype-format");u=s(u);let d=require("rehype-stringify");d=s(d);var f=e=>(0,c.unified)().use(l.default,{fragment:!0}).use(u.default).use(d.default).processSync(e).toString(),p=e=>{if(!e)return``;if(e.nodeType===3&&e.textContent)return e.textContent.trim();if(e.nodeType!==1)return``;let t=``,n=e.cloneNode();if(e.shadowRoot&&(t+=`
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e=new Set([`area`,`base`,`br`,`col`,`embed`,`hr`,`img`,`input`,`link`,`meta`,`source`,`track`,`wbr`]),t=new Set(`a.abbr.area.b.bdi.bdo.br.button.cite.code.data.datalist.del.dfn.em.i.input.ins.kbd.keygen.label.map.mark.meter.noscript.output.progress.q.ruby.s.samp.select.small.span.strong.sub.sup.template.textarea.time.u.var.wbr`.split(`.`)),n=e=>!t.has(e.tagName.toLowerCase()),r=e=>{for(let t of Array.from(e.childNodes))if(t.nodeType===1&&n(t))return!0;return!1},i=e=>e.nodeType===3&&!(e.nodeValue??``).trim(),a=new Set([`allowfullscreen`,`async`,`autofocus`,`autoplay`,`checked`,`controls`,`default`,`defer`,`disabled`,`formnovalidate`,`hidden`,`inert`,`ismap`,`itemscope`,`loop`,`multiple`,`muted`,`nomodule`,`novalidate`,`open`,`playsinline`,`readonly`,`required`,`reversed`,`selected`]),o=e=>e.replace(/&/g,`&amp;`).replace(/"/g,`&quot;`),s=e=>{let t=``;for(let n of Array.from(e.attributes))n.value===``&&a.has(n.name)?t+=` ${n.name}`:t+=` ${n.name}="${o(n.value)}"`;return t},c=(e,t,n)=>{let r=t+n;for(;r>=0&&r<e.length;){let t=e[r];if(t.nodeType===8){r+=n;continue}if(t.nodeType===3){if((t.nodeValue??``).replace(/\s+/g,` `).trim())return t;r+=n;continue}return t}return null},l=t=>{let n=Array.from(t),r=``;for(let t=0;t<n.length;t++){let i=n[t];if(i.nodeType===3){let e=(i.nodeValue??``).replace(/\s+/g,` `),a=c(n,t,-1),o=c(n,t,1);if((!a||a.nodeType!==3)&&(e=e.replace(/^ /,``)),(!o||o.nodeType!==3)&&(e=e.replace(/ $/,``)),e===``)continue;r+=e}else if(i.nodeType===8)r+=`<!--${i.nodeValue}-->`;else if(i.nodeType===1){let t=i,n=t.tagName.toLowerCase(),a=s(t);if(e.has(n))r+=`<${n}${a}>`;else{let e=l(Array.from(t.childNodes));r+=`<${n}${a}>${e}</${n}>`}}}return r},u=(t,a)=>{let o=t.tagName.toLowerCase(),c=s(t);if(e.has(o))return`<${o}${c}>`;if(!r(t))return`<${o}${c}>${l(Array.from(t.childNodes))}</${o}>`;let d=` `.repeat(a+1),f=` `.repeat(a),p=`<${o}${c}>`,m=[],h=()=>{m.length!==0&&(p+=l(m),m.length=0)};for(let e of Array.from(t.childNodes))i(e)||(e.nodeType===1&&n(e)?(h(),p+=`\n${d}${u(e,a+1)}`):m.push(e));return h(),p+=`\n${f}</${o}>`,p},d=e=>{let t=new DOMParser().parseFromString(e,`text/html`),n=`
2
+ `;for(let e of Array.from(t.body.childNodes))if(!i(e)){if(e.nodeType===1)n+=`${u(e,0)}\n`;else if(e.nodeType===8)n+=`<!--${e.nodeValue}-->\n`;else if(e.nodeType===3){let t=e.nodeValue??``;t.trim()&&(n+=`${t}\n`)}}return n},f=e=>{if(!e)return``;if(e.nodeType===3&&e.textContent)return e.textContent.trim();if(e.nodeType!==1)return``;let t=``,n=e.cloneNode();if(e.shadowRoot&&(t+=`
2
3
  <!-- #shadowroot -->
3
- `),e=e.shadowRoot||e,e.children.length)for(let n of e.childNodes)n.assignedNodes?n.assignedNodes()[0]?n.nodeName.includes(`-`)?t+=`\n${p(n.assignedNodes()[0])}\n`:t+=p(n.assignedNodes()[0]):n.nodeName.includes(`-`)?t+=`\n${n.innerHTML}\n`:t+=n.innerHTML:n.nodeName.includes(`-`)?t+=`\n${p(n)}\n`:t+=p(n);else t=e.innerHTML;return n.innerHTML=t,n.outerHTML},m=e=>f(p(e));exports.HTML=m;
4
+ `),e=e.shadowRoot||e,e.children.length)for(let n of e.childNodes)n.assignedNodes?n.assignedNodes()[0]?n.nodeName.includes(`-`)?t+=`\n${f(n.assignedNodes()[0])}\n`:t+=f(n.assignedNodes()[0]):n.nodeName.includes(`-`)?t+=`\n${n.innerHTML}\n`:t+=n.innerHTML:n.nodeName.includes(`-`)?t+=`\n${f(n)}\n`:t+=f(n);else t=e.innerHTML;return n.innerHTML=t,n.outerHTML},p=e=>d(f(e));exports.HTML=p;
@@ -1 +1 @@
1
- var e=require("./render-Ch7neI7j.js").t,t={PROPS:`PROPS`,SIGNAL:`SIGNAL`,LOCAL_STATE:`LOCAL_STATE`,ON_MOUNT:`ON_MOUNT`};Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return e}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return t}});
1
+ var e=require("./render-B9Razo8x.js").t,t={PROPS:`PROPS`,SIGNAL:`SIGNAL`,LOCAL_STATE:`LOCAL_STATE`,ON_MOUNT:`ON_MOUNT`};Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return e}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return t}});
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@neuralfog/elemix",
3
- "version": "0.5.2",
3
+ "version": "0.5.4",
4
4
  "license": "MIT",
5
5
  "author": "brownhounds",
6
6
  "main": "dist/index.js",
@@ -34,18 +34,6 @@
34
34
  "lint:fix": "biome format --write && biome lint --fix",
35
35
  "release": "npm run clean && npm run build && npm publish --access public"
36
36
  },
37
- "peerDependencies": {
38
- "rehype-format": "5.0.1",
39
- "rehype-parse": "9.0.1",
40
- "rehype-stringify": "10.0.1",
41
- "unified": "11.0.5"
42
- },
43
- "peerDependenciesMeta": {
44
- "rehype-format": { "optional": true },
45
- "rehype-parse": { "optional": true },
46
- "rehype-stringify": { "optional": true },
47
- "unified": { "optional": true }
48
- },
49
37
  "devDependencies": {
50
38
  "@neuralfog/biome-config": "0.1.2",
51
39
  "@neuralfog/ts-config": "0.1.2",
@@ -54,11 +42,7 @@
54
42
  "@vitest/ui": "4.1.7",
55
43
  "esbuild": "0.28.0",
56
44
  "jsdom": "29.1.1",
57
- "rehype-format": "5.0.1",
58
- "rehype-parse": "9.0.1",
59
- "rehype-stringify": "10.0.1",
60
45
  "typescript": "6.0.3",
61
- "unified": "11.0.5",
62
46
  "vite": "8.0.14",
63
47
  "vitest": "4.1.7"
64
48
  }