@neuralfog/elemix 0.3.0 → 0.4.0

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-v1ChTfwQ.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-B6SjOQPJ.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,2 +1 @@
1
- import { repeat } from '@neuralfog/elemix-renderer/directives';
2
- export { repeat };
1
+ export { repeat } from './src/renderer/directives';
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e=require("./chunk-NGjzN6Tu.js").t((e=>{Object.defineProperty(e,Symbol.toStringTag,{value:`Module`}),e.repeat=(e,t,n)=>e.map((e,r)=>{let i=t(e,r);return i.key=n?.(e,r)||String(r),i})}))();exports.repeat=e.repeat;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e=(e,t,n)=>e.map((e,r)=>{let i=t(e,r);return i.key=n?.(e,r)||String(r),i});exports.repeat=e;
package/dist/index.d.ts CHANGED
@@ -1,2 +1,3 @@
1
1
  export * from './src/component/Component';
2
2
  export * from './src/types';
3
+ export type { HtmlTemplate } from './src/renderer/types';
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./types-v1ChTfwQ.js"),t=require("./renderers-BBOJdSjj.js"),n=require("./Reactive-CQV_s8zX.js"),r=require("./App-tMVVu8H5.js");let i=require("@neuralfog/elemix-renderer");var a=class{component;locked=!1;scheduledRenderTriggers=new Set;constructor(e){this.component=e}schedule(e,n=!1){let r=t.n.active;t.n.active=null;let i;try{i=this.component.template()}finally{t.n.active=r}i&&(e&&this.scheduledRenderTriggers.add(e),this.locked||(this.locked=!0,t.t.add(this),setTimeout(()=>{this.render(Array.from(this.scheduledRenderTriggers)),this.scheduledRenderTriggers.clear(),this.locked=!1,t.t.delete(this),n&&(this.component.onMount(),this.component.removeAttribute(`data-cloak`))},0)))}render(e){for(let e of this.component.tracked)e.unsubscribe(this.component);this.component.tracked.clear();let n=t.n.active;t.n.active=this.component;try{(0,i.render)(this.component.template(),this.component.root)}finally{t.n.active=n}this.component.onRender(e)}},o=class{component;constructor(e){this.component=e}initialize(){let e=this.component.constructor.prototype.stateProperties;if(e)for(let[t,r]of e){let e=this.component;e[t]=new n.t(e[t],r).subscribe(this.component).value}}},s=class{component;data={};constructor(e){this.component=e}initialize(){this.data=new n.t(this.data,e.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=r.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(e.t.ON_MOUNT,!0)}disconnectedCallback(){t.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=e.t,exports.html=e.n;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./render-BC66dqY-.js"),t=require("./types-B6SjOQPJ.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;
@@ -0,0 +1 @@
1
+ const e=require("./utils-Bfw6tf_Y.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===`.`&&(i.startsWith(`.bind-attrs`)?(o.virtual=!0,o.type=e.o.BIND_ATTRS):i.startsWith(`.bind-events`)?(o.virtual=!0,o.type=e.o.BIND_EVENTS):i.startsWith(`.class`)&&(o.virtual=!0,o.type=e.o.DIRECT_CLASS)),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,w[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(!(typeof i!=`object`||!i))for(let[a,o]of Object.entries(i)){let i=e.t(a);if(o==null||o===!1){t.hasAttribute(i)&&t.removeAttribute(i),n.length&&r!==n&&(r=n,t.setAttribute(`class`,n));continue}if(i===`class`){let i=e.a(n,String(o));r!==i&&(r=i,t.setAttribute(`class`,i));continue}let s=String(o);t.getAttribute(i)!==s&&t.setAttribute(i,s)}}},S=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))}}},C=e=>{let t=new Map;return n=>{if(!(typeof n!=`object`||!n))for(let[r,i]of Object.entries(n))t.get(r)!==i&&(t.set(r,i),e[`on${r}`]=i)}},w={[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.BIND_ATTRS]:e=>x(e),[e.o.BIND_EVENTS]:e=>C(e),[e.o.DIRECT_CLASS]:e=>S(e)},T=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(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,T))}}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])}}},E=(e,...t)=>({strings:e,values:t,key:``}),D=Symbol(),O=(e,t)=>{if(!t)throw Error(`render method needs to accept instance of HTMLElement`);let n=t;n[D]||(n[D]=new Map);let r=n[D],i=r.get(e.strings);i||(i=T(e),r.set(e.strings,i),i.mount(t,e.values)),i.update(e.values)};Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return O}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return E}});
@@ -0,0 +1,2 @@
1
+ export { html, render } from './src/renderer/render';
2
+ export type { HtmlTemplate } from './src/renderer/types';
package/dist/render.js ADDED
@@ -0,0 +1 @@
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./render-BC66dqY-.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-v1ChTfwQ.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-B6SjOQPJ.js"),t=require("./Reactive-CQV_s8zX.js");var n=(n,r)=>new t.t(n,r||e.t.SIGNAL);exports.signal=n;
@@ -0,0 +1,19 @@
1
+ import type { HtmlTemplate } from './types';
2
+ export type DiffDeleteOp = {
3
+ key: string;
4
+ };
5
+ export type DiffInsertOp = {
6
+ key: string;
7
+ value: HtmlTemplate;
8
+ beforeKey?: string;
9
+ };
10
+ export type DiffMoveOp = {
11
+ key: string;
12
+ beforeKey?: string;
13
+ };
14
+ export type DiffResult = {
15
+ deletes: DiffDeleteOp[];
16
+ inserts: DiffInsertOp[];
17
+ moves: DiffMoveOp[];
18
+ };
19
+ export declare const diff: (oldArr: HtmlTemplate[], newArr: HtmlTemplate[]) => DiffResult;
@@ -0,0 +1,2 @@
1
+ import type { HtmlTemplate } from './types';
2
+ export declare const repeat: <T = unknown>(list: T[], callback: (val: T, index: number) => HtmlTemplate, key?: (val: T, index: number) => string) => HtmlTemplate[];
@@ -0,0 +1,2 @@
1
+ import type { Fragment, HtmlTemplate } from './types';
2
+ export declare const createFragment: (template: HtmlTemplate) => Fragment;
@@ -0,0 +1,7 @@
1
+ import { type AttrDef, type Fragment, type Hole, type HtmlTemplate } from './types';
2
+ export declare const isTemplate: (v: unknown) => v is HtmlTemplate;
3
+ export declare const detectAttribute: (raw: string, index: number) => AttrDef | undefined;
4
+ export declare const hydrateAttributes: (frag: DocumentFragment, attrs: AttrDef[], holes: Map<number, Hole>) => void;
5
+ type MkFrag = (t: HtmlTemplate) => Fragment;
6
+ export declare const createContentHole: (_value: unknown, anchor: Comment, mk: MkFrag) => Hole;
7
+ export {};
@@ -0,0 +1,3 @@
1
+ import type { HtmlTemplate } from './types';
2
+ export declare const html: (strings: TemplateStringsArray, ...values: unknown[]) => HtmlTemplate;
3
+ export declare const render: (template: HtmlTemplate, container: HTMLElement | null) => void;
@@ -0,0 +1,30 @@
1
+ export type HtmlTemplate = {
2
+ strings: TemplateStringsArray;
3
+ values: unknown[];
4
+ key: string;
5
+ };
6
+ export type Hole = (value: unknown) => void;
7
+ export type Fragment = {
8
+ mount(target: ParentNode, values: unknown[]): void;
9
+ mountBefore(ref: ChildNode, values: unknown[]): ChildNode[];
10
+ update(values: unknown[]): void;
11
+ };
12
+ export declare const MARKER = "\u20A5";
13
+ export declare const Attr: {
14
+ readonly EVENT: 0;
15
+ readonly PROP: 1;
16
+ readonly MODEL: 2;
17
+ readonly STD: 3;
18
+ readonly REF: 4;
19
+ readonly BIND_ATTRS: 5;
20
+ readonly BIND_EVENTS: 6;
21
+ readonly DIRECT_CLASS: 7;
22
+ };
23
+ export type Attr = (typeof Attr)[keyof typeof Attr];
24
+ export type AttrDef = {
25
+ index: number;
26
+ name: string;
27
+ value: string;
28
+ virtual: boolean;
29
+ type: Attr;
30
+ };
@@ -0,0 +1,5 @@
1
+ export declare const indexFromMarker: (comment: string) => number;
2
+ export declare const makeMarker: (index: number) => string;
3
+ export declare const fixAttributeQuotes: (input: string) => string;
4
+ export declare const camelToKebab: (s: string) => string;
5
+ export declare const mergeClasses: (a: string, b: string) => string;
@@ -1,4 +1,4 @@
1
- import { type HtmlTemplate } from '@neuralfog/elemix-renderer';
1
+ import type { HtmlTemplate } from './renderer/types';
2
2
  export type Template = HtmlTemplate;
3
3
  export declare const html: (strings: TemplateStringsArray, ...values: unknown[]) => HtmlTemplate;
4
4
  export declare const RenderTrigger: {
@@ -0,0 +1 @@
1
+ var e=require("./render-BC66dqY-.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,2 +1,2 @@
1
- export { mergeClasses } from '@neuralfog/elemix-renderer/utils';
1
+ export { mergeClasses } from './src/renderer/utils';
2
2
  export * from './src/utilities';
package/dist/utilities.js CHANGED
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./chunk-NGjzN6Tu.js"),t=require("./utilities-COO_YT_a.js");var n=e.t((e=>{var t={EVENT:0,PROP:1,MODEL:2,STD:3,REF:4,BIND_ATTRS:5,BIND_EVENTS:6,DIRECT_CLASS:7},n=RegExp(`₥(\\d+)`),r=e=>{let t=e.match(n);if(!t)throw Error(`Unable to extract index from hole comment`);return Number(t[1])},i=e=>`<!--₥${e}-->`,a=e=>e.replace(/(\S+)=((<!--[\s\S]*?-->)|([^\s">]+))/g,`$1="$2"`),o=new Set([`area`,`base`,`br`,`col`,`embed`,`hr`,`img`,`input`,`link`,`meta`,`source`,`track`,`wbr`]),s=/<([a-zA-Z][a-zA-Z0-9-]*)([^>]*?)\s*\/>/g,c=e=>e.replace(s,(e,t,n)=>o.has(t.toLowerCase())?e:`<${t}${n}></${t}>`),l=e=>e.replace(/([A-Z])/g,e=>`-${e.toLowerCase()}`),u=(e,t)=>{let n=new Set,r=``,i=e=>{let t=e.split(` `);for(let e=0;e<t.length;e++){let i=t[e];i&&!n.has(i)&&(n.add(i),r.length&&(r+=` `),r+=i)}};return i(e),i(t),r};Object.defineProperty(e,"a",{enumerable:!0,get:function(){return i}}),Object.defineProperty(e,"i",{enumerable:!0,get:function(){return r}}),Object.defineProperty(e,"n",{enumerable:!0,get:function(){return a}}),Object.defineProperty(e,"o",{enumerable:!0,get:function(){return u}}),Object.defineProperty(e,"r",{enumerable:!0,get:function(){return c}}),Object.defineProperty(e,"s",{enumerable:!0,get:function(){return t}}),Object.defineProperty(e,"t",{enumerable:!0,get:function(){return l}})})),r=e.t((e=>{Object.defineProperty(e,Symbol.toStringTag,{value:`Module`}),e.mergeClasses=n().o}))();exports.camelToKebabCase=t.t,exports.fastUID=t.n,exports.makeCssStylesheet=t.r,Object.defineProperty(exports,"mergeClasses",{enumerable:!0,get:function(){return r.mergeClasses}}),exports.ref=t.i,exports.render=t.a;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./utils-Bfw6tf_Y.js"),t=require("./utilities-COO_YT_a.js");exports.camelToKebabCase=t.t,exports.fastUID=t.n,exports.makeCssStylesheet=t.r,exports.mergeClasses=e.a,exports.ref=t.i,exports.render=t.a;
@@ -0,0 +1 @@
1
+ var e={EVENT:0,PROP:1,MODEL:2,STD:3,REF:4,BIND_ATTRS:5,BIND_EVENTS:6,DIRECT_CLASS:7},t=RegExp(`₥(\\d+)`),n=e=>{let n=e.match(t);if(!n)throw Error(`Unable to extract index from hole comment`);return Number(n[1])},r=e=>`<!--₥${e}-->`,i=e=>e.replace(/(\S+)=((<!--[\s\S]*?-->)|([^\s">]+))/g,`$1="$2"`),a=e=>e.replace(/([A-Z])/g,e=>`-${e.toLowerCase()}`),o=(e,t)=>{let n=new Set,r=``,i=e=>{let t=e.split(` `);for(let e=0;e<t.length;e++){let i=t[e];i&&!n.has(i)&&(n.add(i),r.length&&(r+=` `),r+=i)}};return i(e),i(t),r};Object.defineProperty(exports,"a",{enumerable:!0,get:function(){return o}}),Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return r}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return i}}),Object.defineProperty(exports,"o",{enumerable:!0,get:function(){return e}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return n}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return a}});
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@neuralfog/elemix",
3
- "version": "0.3.0",
3
+ "version": "0.4.0",
4
4
  "license": "MIT",
5
5
  "author": "brownhounds",
6
6
  "main": "dist/index.js",
@@ -10,6 +10,7 @@
10
10
  ".": "./dist/index.js",
11
11
  "./decorators": "./dist/decorators.js",
12
12
  "./directives": "./dist/directives.js",
13
+ "./render": "./dist/render.js",
13
14
  "./signal": "./dist/signal.js",
14
15
  "./reactive": "./dist/reactive.js",
15
16
  "./config": "./dist/config.js",
@@ -41,8 +42,5 @@
41
42
  "typescript": "6.0.3",
42
43
  "vite": "8.0.14",
43
44
  "vitest": "4.1.7"
44
- },
45
- "peerDependencies": {
46
- "@neuralfog/elemix-renderer": "0.4.0"
47
45
  }
48
46
  }
@@ -1 +0,0 @@
1
- var e=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t),e=null),t.exports);Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return e}});
@@ -1 +0,0 @@
1
- var e=require("@neuralfog/elemix-renderer").html,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}});