@neuralfog/elemix-storybook 0.1.0 → 0.2.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.
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t),e=null),t.exports),t=e((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}})})),n=e((e=>{Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});var n=t(),r={deletes:[],inserts:[],moves:[]},i=(e,t)=>{let n=e.length,i=t.length;if(n===i){let i=!0;for(let r=0;r<n;r++)if(e[r].key!==t[r].key){i=!1;break}if(i)return r}let o=Object.create(null);for(let t=0;t<n;t++)o[e[t].key]=t;let s=new Int32Array(i),c=[],l=[],u=Object.create(null);for(let e=0;e<i;e++){let n=t[e].key;u[n]=!0;let r=o[n];r===void 0?s[e]=-1:(s[e]=r,c.push(r),l.push(e))}let d=a(c),f=new Uint8Array(i);for(let e=0;e<d.length;e++)f[l[d[e]]]=1;let p=[],m=[],h=[];for(let t=0;t<n;t++)u[e[t].key]!==!0&&p.push({key:e[t].key});for(let e=0;e<i;e++){let n=e+1<i?t[e+1].key:void 0;s[e]===-1?m.push({key:t[e].key,value:t[e],beforeKey:n}):f[e]||h.push({key:t[e].key,beforeKey:n})}return{deletes:p,inserts:m,moves:h}},a=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},o=e=>typeof e==`object`&&!!e&&`strings`in e&&`values`in e,s=/(\S+)(?==(?:["']?)$)/,c=(e,t)=>{let r=e.match(s);if(!r)return;let i=r[1],a={index:t,name:i,value:n.a(t),virtual:!1,type:n.s.STD},o=i[0];return o===`@`?(a.virtual=!0,a.type=n.s.EVENT):o===`:`?(a.virtual=!0,a.type=i.endsWith(`:ref`)?n.s.REF:n.s.PROP):o===`~`&&i.startsWith(`~model`)?(a.virtual=!0,a.type=n.s.MODEL):o===`.`&&(i.startsWith(`.bind-attrs`)?(a.virtual=!0,a.type=n.s.BIND_ATTRS):i.startsWith(`.bind-events`)?(a.virtual=!0,a.type=n.s.BIND_EVENTS):i.startsWith(`.class`)&&(a.virtual=!0,a.type=n.s.DIRECT_CLASS)),a},l=new Map,u=e=>{let t=l.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 l.set(e,n),n},d=(e,t,n)=>{for(let r=0,i=t.length;r<i;r++){let i=t[r],a=e.querySelector(`[${u(i.name)}='${i.value}']`);a&&(i.virtual&&a.removeAttribute(i.name),n.set(i.index,E[i.type](a,i)))}},f=e=>Array.isArray(e)?`list`:o(e)?`template`:`string`,p=(e,t,n)=>e===`list`?_(t,n):e===`template`?g(t,n):h(t),m=(e,t,n)=>{let r,i;return e=>{let a=f(e);i&&i!==a&&(r?.dispose(),r=void 0),r||(r=p(a,t,n),i=a),r.update(e)}},h=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()}}},g=(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}},_=(e,t)=>{let n=new Map,r=new Map,a=[],o=(i,a)=>{if(!i.key)throw Error(`use repeat directive when rendering the lists`);let o=n.get(i.key);if(!o){o=t(i),n.set(i.key,o);let s=a||e,c=o.mountBefore(s,i.values);c.length&&r.set(i.key,c[c.length-1])}return o},s=()=>{for(let[,e]of r)e.remove();n.clear(),r.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}=i(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;r.get(t)?.remove(),r.delete(t),n.delete(t)}for(let t=f.length-1;t>=0;t--){let n=r.get(f[t].key),i=r.get(f[t].beforeKey);n&&i?i.before(n):n&&e.before(n)}for(let e=d.length-1;e>=0;e--){let t=r.get(d[e].beforeKey);o(d[e].value,t)}for(let e=0;e<l.length;e++)n.get(l[e].key)?.update(l[e].values);a=l},dispose:()=>{s(),a=[]}}},v=(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))}},y=(e,t)=>{let n,r=`on${t.name.slice(1)}`;return t=>{t===void 0||n===t||(n=t,e[r]=t)}},b=(e,t)=>{let n=t.name.slice(1);return t=>{let r=e;r.$props&&r.$props.set(n,t)}},x=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}},S=e=>t=>{t!==void 0&&(t.value=e)},C=e=>{let t=e.getAttribute(`class`)||``,r;return i=>{if(!(typeof i!=`object`||!i))for(let[a,o]of Object.entries(i)){let i=n.t(a);if(o==null||o===!1){e.hasAttribute(i)&&e.removeAttribute(i),t.length&&r!==t&&(r=t,e.setAttribute(`class`,t));continue}if(i===`class`){let i=n.o(t,String(o));r!==i&&(r=i,e.setAttribute(`class`,i));continue}let s=String(o);e.getAttribute(i)!==s&&e.setAttribute(i,s)}}},w=e=>{let t=e.getAttribute(`class`)||``,r;return i=>{if(i==null){t.length&&r!==t&&(r=t,e.setAttribute(`class`,t));return}if(typeof i==`string`){let a=n.o(t,i);r!==a&&(r=a,e.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=n.o(t,a);r!==o&&(r=o,e.setAttribute(`class`,o))}}},T=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)}},E={[n.s.STD]:v,[n.s.EVENT]:y,[n.s.PROP]:b,[n.s.MODEL]:e=>x(e),[n.s.REF]:e=>S(e),[n.s.BIND_ATTRS]:e=>C(e),[n.s.BIND_EVENTS]:e=>T(e),[n.s.DIRECT_CLASS]:e=>w(e)},D=e=>{let t=new Map,r=[],i,a=``,{strings:o}=e;for(let e=0,t=o.length;e<t;e++)if(a+=o[e],e<t-1){let t=c(o[e],e);t&&r.push(t),a+=n.a(e)}a=n.r(n.n(a));let s=()=>(i||(i=document.createElement(`template`),i.innerHTML=a),i.content.cloneNode(!0)),l=(e,i)=>{let a=document.createTreeWalker(e,NodeFilter.SHOW_COMMENT,null);for(;a.nextNode();){let{nodeValue:e}=a.currentNode;if(e?.startsWith(`₥`)){let r=n.i(e);t.set(r,m(i[r],a.currentNode,D))}}d(e,r,t)};return{mount:(e,t)=>{let n=s();l(n,t),e.appendChild(n)},mountBefore:(e,t)=>{let n=s();l(n,t);let r=Array.from(n.childNodes);return e.before(n),r},update:e=>{for(let[n,r]of t)r(e[n])}}},O=(e,...t)=>({strings:e,values:t,key:``}),k=Symbol();e.html=O,e.render=(e,t)=>{if(!t)throw Error(`render method needs to accept instance of HTMLElement`);let n=t;n[k]||(n[k]=new Map);let r=n[k],i=r.get(e.strings);i||(i=D(e),r.set(e.strings,i),i.mount(t,e.values)),i.update(e.values)}}))(),r=new Map,i=(e,t)=>{let i=t.parameters?.elemix??{};if(i.setup&&!r.has(t.id)){let e=i.setup(t);r.set(t.id,e)}let a=document.createElement(`div`);a.setAttribute(`data-elemix-root`,``);let o=document.getElementById(`storybook-root`)??document.body;return o.innerHTML=``,o.appendChild(a),i.beforeRender?.(t),(0,n.render)(e(t),a),i.afterRender?.(t),a};exports.elemixDecorator=i;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});let e=require("@neuralfog/elemix/render");var t=new Map,n=(n,r)=>{let i=r.parameters?.elemix??{};if(i.setup&&!t.has(r.id)){let e=i.setup(r);t.set(r.id,e)}let a=document.createElement(`div`);a.setAttribute(`data-elemix-root`,``);let o=document.getElementById(`storybook-root`)??document.body;return o.innerHTML=``,o.appendChild(a),i.beforeRender?.(r),(0,e.render)(n(r),a),i.afterRender?.(r),a};exports.elemixDecorator=n;
@@ -1,4 +1,4 @@
1
- import type { HtmlTemplate } from '@neuralfog/elemix-renderer';
1
+ import type { HtmlTemplate } from '@neuralfog/elemix/render';
2
2
  import type { StoryContext, Parameters, Meta } from '@storybook/web-components-vite';
3
3
  export type ElemixTeardown = () => void;
4
4
  export type ElemixParams<TArgs = Record<string, never>> = {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@neuralfog/elemix-storybook",
3
- "version": "0.1.0",
3
+ "version": "0.2.0",
4
4
  "license": "MIT",
5
5
  "author": "brownhounds",
6
6
  "main": "dist/index.js",
@@ -18,16 +18,18 @@
18
18
  "build-storybook": "storybook build",
19
19
  "lint": "tsc --noEmit && biome format && biome lint",
20
20
  "lint:fix": "biome format --write . && biome lint --write . && tsc --noEmit",
21
- "test": "vitest",
21
+ "test": "vitest run",
22
22
  "test:watch": "vitest --watch",
23
23
  "test:coverage": "vitest run --coverage",
24
24
  "release": "npm run clean && npm run build && npm publish --access public"
25
25
  },
26
+ "peerDependencies": {
27
+ "@neuralfog/elemix": "0.5.0"
28
+ },
26
29
  "devDependencies": {
27
30
  "@chromatic-com/storybook": "5.2.1",
28
31
  "@neuralfog/biome-config": "0.1.2",
29
- "@neuralfog/elemix": "0.3.0",
30
- "@neuralfog/elemix-renderer": "0.4.0",
32
+ "@neuralfog/elemix": "0.5.0",
31
33
  "@neuralfog/ts-config": "0.1.2",
32
34
  "@storybook/addon-a11y": "10.4.1",
33
35
  "@storybook/addon-docs": "10.4.1",