@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.
- package/dist/decorators.js +1 -1
- package/dist/index.js +1 -1
- package/dist/{render-Ch7neI7j.js → render-B9Razo8x.js} +1 -1
- package/dist/render.js +1 -1
- package/dist/signal.js +1 -1
- package/dist/src/utilities.d.ts +2 -1
- package/dist/test/fixtures/Ref.d.ts +1 -3
- package/dist/test/fixtures/ViewModelBinding.d.ts +1 -3
- package/dist/test/fixtures/renderer/AttrBeforeConnect.d.ts +18 -0
- package/dist/test/fixtures/renderer/OtpStructure.d.ts +1 -3
- package/dist/test/renderer/attr-before-connect.test.d.ts +1 -0
- package/dist/testing/index.js +1 -1
- package/dist/testing/snapshots.js +3 -2
- package/dist/{types-Dum6QV0O.js → types-BiKJhqBa.js} +1 -1
- package/package.json +1 -17
package/dist/decorators.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./types-
|
|
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-
|
|
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-
|
|
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-
|
|
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;
|
package/dist/src/utilities.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
export
|
|
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';
|
package/dist/testing/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../render-
|
|
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=
|
|
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,`&`).replace(/"/g,`"`),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${
|
|
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-
|
|
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.
|
|
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
|
}
|