diff --git a/app.js b/app.js
index cbc718c..ea3e7e5 100644
--- a/app.js
+++ b/app.js
@@ -1,4 +1,4 @@
-const {DOM, Tag, H} = Gale({
+const {DOM, Tag, Div} = Gale({
Button: {
padding: "20px",
background: "orange",
@@ -30,15 +30,15 @@ const {DOM, Tag, H} = Gale({
Orange:{
background:"orange"
}
-}, "abilities");
+});
const UI =()=>
{
- return H.Window(
- H.Ability({class:Tag("Ability", "Orange")}),
- H.Ability(),
- H.Ability(),
- H.Ability.Orange(),
+ return Div.Window(
+ Div.Ability({class:Tag("Ability", "Orange")}),
+ Div.Ability(),
+ Div.Ability(),
+ Div.Ability.Orange(),
)
}
diff --git a/bundle.js b/bundle.js
new file mode 100644
index 0000000..52ff28e
--- /dev/null
+++ b/bundle.js
@@ -0,0 +1,3 @@
+var ue=Object.defineProperty;var _e=(e,t)=>{for(var r in t)ue(e,r,{get:t[r],enumerable:!0})};var y=Object.getPrototypeOf,b,k,w,T,z={isConnected:1},ye=1e3,O,pe={},Se=y(z),Q=y(y),p,Z=(e,t,r,l)=>(e??(setTimeout(r,l),new Set)).add(t),q=(e,t,r)=>{let l=w;w=t;try{return e(r)}catch(n){return console.error(n),r}finally{w=l}},P=e=>e.filter(t=>t._dom?.isConnected),U=e=>O=Z(O,e,()=>{for(let t of O)t._bindings=P(t._bindings),t._listeners=P(t._listeners);O=p},ye),I={get val(){return w?._getters?.add(this),this.rawVal},get oldVal(){return w?._getters?.add(this),this._oldVal},set val(e){w?._setters?.add(this),e!==this.rawVal&&(this.rawVal=e,this._bindings.length+this._listeners.length?(k?.add(this),b=Z(b,this,ve)):this._oldVal=e)}},Y=e=>({__proto__:I,rawVal:e,_oldVal:e,_bindings:[],_listeners:[]}),V=(e,t)=>{let r={_getters:new Set,_setters:new Set},l={f:e},n=T;T=[];let i=q(e,r,t);i=(i??document).nodeType?i:new Text(i);for(let o of r._getters)r._setters.has(o)||(U(o),o._bindings.push(l));for(let o of T)o._dom=i;return T=n,l._dom=i},G=(e,t=Y(),r)=>{let l={_getters:new Set,_setters:new Set},n={f:e,s:t};n._dom=r??T?.push(n)??z,t.val=q(e,l,t.rawVal);for(let i of l._getters)l._setters.has(i)||(U(i),i._listeners.push(n));return t},j=(e,...t)=>{for(let r of t.flat(1/0)){let l=y(r??0),n=l===I?V(()=>r.val):l===Q?V(r):r;n!=p&&e.append(n)}return e},ee=(e,t,...r)=>{let[{is:l,...n},...i]=y(r[0]??0)===Se?r:[{},...r],o=e?document.createElementNS(e,t,{is:l}):document.createElement(t,{is:l});for(let[d,g]of Object.entries(n)){let u=_=>_?Object.getOwnPropertyDescriptor(_,d)??u(y(_)):p,C=t+","+d,c=pe[C]??=u(y(o))?.set??0,a=d.startsWith("on")?(_,h)=>{let f=d.slice(2);o.removeEventListener(f,h),o.addEventListener(f,_)}:c?c.bind(o):o.setAttribute.bind(o,d),s=y(g??0);d.startsWith("on")||s===Q&&(g=G(g),s=I),s===I?V(()=>(a(g.val,g._oldVal),o)):a(g)}return j(o,i)},J=e=>({get:(t,r)=>ee.bind(p,e,r)}),te=(e,t)=>t?t!==e&&e.replaceWith(t):e.remove(),ve=()=>{let e=0,t=[...b].filter(l=>l.rawVal!==l._oldVal);do{k=new Set;for(let l of new Set(t.flatMap(n=>n._listeners=P(n._listeners))))G(l.f,l.s,l._dom),l._dom=p}while(++e<100&&(t=[...k]).length);let r=[...b].filter(l=>l.rawVal!==l._oldVal);b=p;for(let l of new Set(r.flatMap(n=>n._bindings=P(n._bindings))))te(l._dom,V(l.f,l._dom)),l._dom=p;for(let l of r)l._oldVal=l.rawVal},M={tags:new Proxy(e=>new Proxy(ee,J(e)),J()),hydrate:(e,t)=>te(e,V(t,e)),add:j,state:Y,derive:G};var W={};_e(W,{calc:()=>Ce,compact:()=>B,list:()=>Re,noreactive:()=>Pe,raw:()=>de,reactive:()=>R,replace:()=>ge,stateFields:()=>Ie});var{fromEntries:le,entries:D,keys:E,hasOwn:F,getPrototypeOf:K,create:we,assign:me}=Object,{get:ne,set:re,deleteProperty:Te,ownKeys:be}=Reflect,{state:$,derive:Ve,add:Ae}=M,x,De=1e3,X,L,v=Symbol(),oe=Symbol(),H=Symbol(),S=Symbol(),A=Symbol(),ie=Symbol(),Ce=e=>(e[oe]=1,e),m=e=>e instanceof Object&&!(e instanceof Function)&&!e[ie],ae=e=>{if(e?.[oe]){let t=$();return Ve(()=>{let r=e();m(t.rawVal)&&m(r)?ge(t.rawVal,r):t.val=R(r)}),t}else return $(R(e))},Oe=e=>{let t=Array.isArray(e)?[]:{__proto__:K(e)};for(let[r,l]of D(e))t[r]=ae(l);return t[H]=[],t[S]=$(1),t},se={get:(e,t,r)=>t===v?e:F(e,t)?Array.isArray(e)&&t==="length"?(e[S].val,e.length):e[t].val:ne(e,t,r),set:(e,t,r,l)=>F(e,t)?Array.isArray(e)&&t==="length"?(r!==e.length&&++e[S].val,e.length=r,1):(e[t].val=R(r),1):t in e?re(e,t,r,l):re(e,t,ae(r))&&(++e[S].val,N(e).forEach(ce.bind(X,l,t,e[t],L)),1),deleteProperty:(e,t)=>(Te(e,t)&&$e(e,t),++e[S].val),ownKeys:e=>(e[S].val,be(e))},R=e=>!m(e)||e[v]?e:new Proxy(Oe(e),se),Pe=e=>(e[ie]=1,e),Ie=e=>e[v],Me=K($()),xe=e=>new Proxy(e,{get:(t,r,l)=>K(t[r]??0)===Me?{val:de(t[r].rawVal)}:ne(t,r,l)}),de=e=>e?.[v]?new Proxy(xe(e[v]),se):e,N=e=>e[H]=e[H].filter(t=>t._containerDom.isConnected),ce=(e,t,r,l,{_containerDom:n,f:i})=>{let o=Array.isArray(e),d=o?Number(t):t;Ae(n,()=>n[A][t]=i(r,()=>delete e[t],d)),o&&!l&&d!==e.length-1&&n.insertBefore(n.lastChild,n[A][E(e).find(g=>Number(g)>d)])},$e=(e,t)=>{for(let r of N(e)){let l=r._containerDom[A];l[t]?.remove(),delete l[t]}},He=e=>(x??(x=(setTimeout(()=>(x.forEach(N),x=X),De),new Set))).add(e),Re=(e,t,r)=>{let l={_containerDom:e instanceof Function?e():e,f:r},n=t[v];l._containerDom[A]={},n[H].push(l),He(n);for(let[i,o]of D(n))ce(t,i,o,1,l);return l._containerDom},fe=(e,t)=>{for(let[n,i]of D(t)){let o=e[n];m(o)&&m(i)?fe(o,i):e[n]=i}for(let n in e)F(t,n)||delete e[n];let r=E(t),l=Array.isArray(e);if(l||E(e).some((n,i)=>n!==r[i])){let n=e[v];if(l)e.length=t.length;else{++n[S].val;let i={...n};for(let o of r)delete n[o];for(let o of r)n[o]=i[o]}for(let{_containerDom:i}of N(n)){let{firstChild:o,[A]:d}=i;for(let g of r)o===d[g]?o=o.nextSibling:i.insertBefore(d[g],o)}}return e},ge=(e,t)=>{L=1;try{return fe(e,t instanceof Function?Array.isArray(e)?t(e.filter(r=>1)):le(t(D(e))):t)}finally{L=X}},B=e=>Array.isArray(e)?e.filter(t=>1).map(B):m(e)?me(we(K(e)),le(D(e).map(([t,r])=>[t,B(r)]))):e;var he=(e,t="")=>{let r="@",l=":",n=".",i="^",o=(c,a,s)=>{let _=Object.keys(a).map(h=>{let f=a[h];switch(h[0]){case r:return o(`@media(max-width:${h.substring(r.length)})`,f,s);case l:return o(`&${h}`,f,s);case n:return o(`${h}${s}`,f,s);case i:return o(`&:hover .${h.substring(i.length)}${s}`,f,s)}return`${h.replace(/([a-z])([A-Z])/g,"$1-$2")}: ${f};`});return`${c}{${_.join(`
+`)}}`},d=(c,a)=>{let s=a.lastIndexOf(c)+c.length;return s?a.substring(s):a},g=c=>{let a=van.tags[c],s=[],_=new Proxy((...h)=>{let f=a(...h);return f.className=s.join(u+" ")+u+" "+f.className,s=[],f},{get(h,f){return s.push(f.substring(f.lastIndexOf(".")+1)),_}});return _},u=t?"_"+t:"",C=Object.keys(e).map(c=>o("."+c+u,e[c],u)).join(`
+`);return globalThis.document?.head.insertAdjacentHTML("beforeend",``),{Tag(...c){return c.map(a=>d(i,d(n,a))).join(u+" ")+u},CSS:C,DOM:new Proxy({},{get(c,a){return g(a)}}),Div:new Proxy({},{get(c,a){return g("div")[a]}})}};globalThis.van=M;globalThis.vanX=W;globalThis.Gale=he;
diff --git a/deno.json b/deno.json
index 4512197..7cc3241 100644
--- a/deno.json
+++ b/deno.json
@@ -9,7 +9,8 @@
{
"work": "deno run -Ar ./scripts/dev_server.ts",
"scan": "deno run -Ar ./scripts/refresh_types.ts",
- "html": "deno run -Ar ./scripts/scaffold.ts --html"
+ "html": "deno run -Ar ./scripts/scaffold.ts --html",
+ "make": "deno bundle --no-lock --platform=browser --inline-imports=true --output=bundle.js --minify src/bundle_entry.ts"
},
"imports":
{
diff --git a/deno.lock b/deno.lock
index 18570d3..15e2ab1 100644
--- a/deno.lock
+++ b/deno.lock
@@ -1,13 +1,27 @@
{
- "version": "4",
+ "version": "5",
"specifiers": {
- "jsr:@std/media-types@*": "1.1.0"
+ "jsr:@std/media-types@*": "1.1.0",
+ "npm:vanjs-core@*": "1.5.5",
+ "npm:vanjs-core@^1.5.5": "1.5.5",
+ "npm:vanjs-ext@~0.6.3": "0.6.3"
},
"jsr": {
"@std/media-types@1.1.0": {
"integrity": "c9d093f0c05c3512932b330e3cc1fe1d627b301db33a4c2c2185c02471d6eaa4"
}
},
+ "npm": {
+ "vanjs-core@1.5.5": {
+ "integrity": "sha512-BC9MjbXYIRqnwncXfacT6upJpVmIKyrV2MjZi8NuCK+yc9RP0hfdghTpmEuYswXOfkLarDPPcYK4X6q68T9e+g=="
+ },
+ "vanjs-ext@0.6.3": {
+ "integrity": "sha512-Jmaeqx9nCjelwDVSQEaRtt7R4Y/Kj/zJBG3bZSiIPj8Wtr8nEFRsJX9K5qcGl1o3cGEEFBE9suyoSqs/6tiOBg==",
+ "dependencies": [
+ "vanjs-core"
+ ]
+ }
+ },
"redirects": {
"https://deno.land/std/path/mod.ts": "https://deno.land/std@0.224.0/path/mod.ts"
},
diff --git a/dist/core.d.ts b/dist/core.d.ts
index f29e88b..ddadce9 100644
--- a/dist/core.d.ts
+++ b/dist/core.d.ts
@@ -62,26 +62,42 @@ declare global
readonly noreactive: (obj: T) => T
readonly stateFields: (obj: T) => VanX.StateOf
readonly raw: (obj: T) => T
- readonly list: (container: (() => ElementType) | ElementType, items: T,itemFunc: (v: Van.State>, deleter: () => void, k: VanX.KeyType) => Node) => ElementType
+ readonly list: (
+ container: (() => ElementType) | ElementType,
+ items: T,itemFunc: (v: Van.State>, deleter: () => void, k: VanX.KeyType) => Node
+ ) => ElementType
readonly replace: (obj: T, replacement: VanX.ReplacementFunc | T) => T
readonly compact: (obj: T) => T
+ // my addition
+ readonly Store: (obj:T, key:string)=>T
};
namespace Gale {
type KeyQuery = "@";
- type KeyPseudo = ":";
+ type KeyState = ":";
type KeyChild = ".";
type KeyGroup = "^";
- type UserStyles = Partial & {[key: `${KeyQuery|KeyPseudo|KeyChild|KeyGroup}${string}`]: UserStyles }
+ type UserStyles = Partial & {[key: `${KeyQuery|KeyState|KeyChild|KeyGroup}${string}`]: UserStyles }
type UserSheet = Record
type CollectKeys = {[Key in keyof Obj]: Obj[Key] extends object ? Key | CollectKeys : Key }[keyof Obj]
type FilterKeys = Keys extends `${KeyChild|KeyGroup}${infer Rest}` ? Keys : never
type CrossMultiply = A extends string ? B extends string ? `${A}${B}` : never : never
type CrossMultiplyRecord = keyof Rec | { [K in keyof Rec]: K extends string ? CrossMultiply>> : never }[keyof Rec]
- type Tier = (selector:string, obj:UserStyles)=>string;
- type CreateSheet = (sheet:UserSheet&T)=> ((...args:CrossMultiplyRecord[])=>string)&{css:string}
+ type Tier = (selector:string, obj:UserStyles, suffix:string)=>string;
+ type CreateSheet = (sheet:UserSheet&T, hash?:string)=>{
+ Tag:(...args:CrossMultiplyRecord[])=>string,
+ CSS:string,
+ DOM:Elemental>,
+ Div:Circular, Van.TagFunc>
+ }
+
+
+ type Elemental = {[K in keyof HTMLElementTagNameMap]: Van.TagFunc&Circular>}
+
+ type Circular = {
+ [K in Keys]: Circular&Func
+ };
+
}
-
const Gale:Gale.CreateSheet
-
}
\ No newline at end of file
diff --git a/dist/core.js b/dist/core.js
index ed5ed39..7753984 100644
--- a/dist/core.js
+++ b/dist/core.js
@@ -1,3 +1,4 @@
+
//van
{let e,t,r,o,n,l,s,i,f,h,w,a,d,u,_,c,S,g,y,b,m,v,j,x,O;s=Object.getPrototypeOf,f={},h=s(i={isConnected:1}),w=s(s),a=(e,t,r,o)=>(e??(setTimeout(r,o),new Set)).add(t),d=(e,t,o)=>{let n=r;r=t;try{return e(o)}catch(e){return console.error(e),o}finally{r=n}},u=e=>e.filter(e=>e.t?.isConnected),_=e=>n=a(n,e,()=>{for(let e of n)e.o=u(e.o),e.l=u(e.l);n=l},1e3),c={get val(){return r?.i?.add(this),this.rawVal},get oldVal(){return r?.i?.add(this),this.h},set val(o){r?.u?.add(this),o!==this.rawVal&&(this.rawVal=o,this.o.length+this.l.length?(t?.add(this),e=a(e,this,x)):this.h=o)}},S=e=>({__proto__:c,rawVal:e,h:e,o:[],l:[]}),g=(e,t)=>{let r={i:new Set,u:new Set},n={f:e},l=o;o=[];let s=d(e,r,t);s=(s??document).nodeType?s:new Text(s);for(let e of r.i)r.u.has(e)||(_(e),e.o.push(n));for(let e of o)e.t=s;return o=l,n.t=s},y=(e,t=S(),r)=>{let n={i:new Set,u:new Set},l={f:e,s:t};l.t=r??o?.push(l)??i,t.val=d(e,n,t.rawVal);for(let e of n.i)n.u.has(e)||(_(e),e.l.push(l));return t},b=(e,...t)=>{for(let r of t.flat(1/0)){let t=s(r??0),o=t===c?g(()=>r.val):t===w?g(r):r;o!=l&&e.append(o)}return e},m=(e,t,...r)=>{let[{is:o,...n},...i]=s(r[0]??0)===h?r:[{},...r],a=e?document.createElementNS(e,t,{is:o}):document.createElement(t,{is:o});for(let[e,r]of Object.entries(n)){let o=t=>t?Object.getOwnPropertyDescriptor(t,e)??o(s(t)):l,n=t+","+e,i=f[n]??=o(s(a))?.set??0,h=e.startsWith("on")?(t,r)=>{let o=e.slice(2);a.removeEventListener(o,r),a.addEventListener(o,t)}:i?i.bind(a):a.setAttribute.bind(a,e),d=s(r??0);e.startsWith("on")||d===w&&(r=y(r),d=c),d===c?g(()=>(h(r.val,r.h),a)):h(r)}return b(a,i)},v=e=>({get:(t,r)=>m.bind(l,e,r)}),j=(e,t)=>t?t!==e&&e.replaceWith(t):e.remove(),x=()=>{let r=0,o=[...e].filter(e=>e.rawVal!==e.h);do{t=new Set;for(let e of new Set(o.flatMap(e=>e.l=u(e.l))))y(e.f,e.s,e.t),e.t=l}while(++r<100&&(o=[...t]).length);let n=[...e].filter(e=>e.rawVal!==e.h);e=l;for(let e of new Set(n.flatMap(e=>e.o=u(e.o))))j(e.t,g(e.f,e.t)),e.t=l;for(let e of n)e.h=e.rawVal},O={tags:new Proxy(e=>new Proxy(m,v(e)),v()),hydrate:(e,t)=>j(e,g(t,e)),add:b,state:S,derive:y},window.van=O;}
@@ -5,10 +6,16 @@
{let e,t,r,{fromEntries:o,entries:l,keys:n,hasOwn:f,getPrototypeOf:a}=Object,{get:i,set:y,deleteProperty:c,ownKeys:s}=Reflect,{state:m,derive:d,add:u}=van,b=1e3,w=Symbol(),A=Symbol(),S=Symbol(),_=Symbol(),g=Symbol(),p=Symbol(),P=e=>(e[A]=1,e),v=e=>e instanceof Object&&!(e instanceof Function)&&!e[p],h=e=>{if(e?.[A]){let t=m();return d(()=>{let r=e();v(t.rawVal)&&v(r)?B(t.rawVal,r):t.val=x(r)}),t}return m(x(e))},F=e=>{let t=Array.isArray(e)?[]:{__proto__:a(e)};for(let[r,o]of l(e))t[r]=h(o);return t[S]=[],t[_]=m(1),t},O={get:(e,t,r)=>t===w?e:f(e,t)?Array.isArray(e)&&"length"===t?(e[_].val,e.length):e[t].val:i(e,t,r),set:(e,o,l,n)=>f(e,o)?Array.isArray(e)&&"length"===o?(l!==e.length&&++e[_].val,e.length=l,1):(e[o].val=x(l),1):o in e?y(e,o,l,n):y(e,o,h(l))&&(++e[_].val,C(e).forEach(E.bind(t,n,o,e[o],r)),1),deleteProperty:(e,t)=>(c(e,t)&&R(e,t),++e[_].val),ownKeys:e=>(e[_].val,s(e))},x=e=>!v(e)||e[w]?e:new Proxy(F(e),O),D=e=>(e[p]=1,e),j=e=>e[w],K=a(m()),N=e=>new Proxy(e,{get:(e,t,r)=>a(e[t]??0)===K?{val:k(e[t].rawVal)}:i(e,t,r)}),k=e=>e?.[w]?new Proxy(N(e[w]),O):e,C=e=>e[S]=e[S].filter(e=>e.t.isConnected),E=(e,t,r,o,{t:l,f:f})=>{let a=Array.isArray(e),i=a?Number(t):t;u(l,()=>l[g][t]=f(r,()=>delete e[t],i)),a&&!o&&i!==e.length-1&&l.insertBefore(l.lastChild,l[g][n(e).find(e=>Number(e)>i)])},R=(e,t)=>{for(let r of C(e)){let e=r.t[g];e[t]?.remove(),delete e[t]}},T=r=>(e??(setTimeout(()=>(e.forEach(C),e=t),b),e=new Set)).add(r),q=(e,t,r)=>{let o={t:e instanceof Function?e():e,f:r},n=t[w];o.t[g]={},n[S].push(o),T(n);for(let[e,r]of l(n))E(t,e,r,1,o);return o.t},z=(e,t)=>{for(let[r,o]of l(t)){let t=e[r];v(t)&&v(o)?z(t,o):e[r]=o}for(let r in e)f(t,r)||delete e[r];let r=n(t),o=Array.isArray(e);if(o||n(e).some((e,t)=>e!==r[t])){let l=e[w];if(o)e.length=t.length;else{++l[_].val;let e={...l};for(let e of r)delete l[e];for(let t of r)l[t]=e[t]}for(let{t:e}of C(l)){let{firstChild:t,[g]:o}=e;for(let l of r)t===o[l]?t=t.nextSibling:e.insertBefore(o[l],t)}}return e},B=(e,n)=>{r=1;try{return z(e,n instanceof Function?Array.isArray(e)?n(e.filter(e=>1)):o(n(l(e))):n)}finally{r=t}},G=e=>Array.isArray(e)?e.filter(e=>1).map(G):v(e)?o(l(e).map(([e,t])=>[e,G(t)])):e;window.vanX={calc:P,reactive:x,noreactive:D,stateFields:j,raw:k,list:q,replace:B,compact:G}}
//Store
-vanX.Store=(e,t)=>{const a=localStorage.getItem(t),r=vanX.reactive(a?JSON.parse(a):e);return van.derive((()=>localStorage.setItem(t,JSON.stringify(vanX.compact(r))))),r};
+vanX.Store=(e,t)=>
+{
+ const a = localStorage.getItem(t);
+ const r = vanX.reactive( a ? JSON.parse(a) : e );
+
+ return van.derive( (()=>localStorage.setItem(t,JSON.stringify(vanX.compact(r)))) ),r
+};
//gale
globalThis.Gale=(e,t="")=>{const n=(e,t,s)=>`${e}{${Object.keys(t).map((e=>{const r=t[e];switch(e[0]){case"@":return n(`@media(max-width:${e.substring(1)})`,r,s);case":":return n(`&${e}`,r,s);case".":return n(`${e}${s}`,r,s);case"^":return n(`&:hover .${e.substring(1)}${s}`,r,s)}return`${e.replace(/([a-z])([A-Z])/g,"$1-$2")}: ${r};`})).join("\n")}}`,s=(e,t)=>{const n=t.lastIndexOf(e)+e.length;return n?t.substring(n):t},r=e=>{const t=van.tags[e];let n=[];const s=new Proxy(((...e)=>{const s=t(...e);return s.className=n.join(a+" ")+a+" "+s.className,n=[],s}),{get:(e,t)=>(n.push(t.substring(t.lastIndexOf(".")+1)),s)});return s},a=t?"_"+t:"",c=Object.keys(e).map((t=>n("."+t+a,e[t],a))).join("\n");return globalThis.document?.head.insertAdjacentHTML("beforeend",``),{Tag:(...e)=>e.map((e=>s("^",s(".",e)))).join(a+" ")+a,CSS:c,DOM:new Proxy({},{get:(e,t)=>r(t)}),H:new Proxy({},{get:(e,t)=>r("div")[t]})}};
//boot
-((t="/")=>{fetch(t+"deno.json").then((t=>t.json())).then((e=>{const n=(t,e)=>{let n=document.createElement("script");n.type=t,n.textContent=e,document.head.appendChild(n)},o=e.imports;for(let e in o){const n=o[e];n.startsWith("./")&&(o[e]=t+n.substring(2))}n("importmap",JSON.stringify({imports:o})),n("module",'import "entry"; ')}))})();
\ No newline at end of file
+((t="/")=>{fetch(t+"deno.json").then((t=>t.json())).then((e=>{const n=(t,e)=>{let n=document.createElement("script");n.type=t,n.textContent=e,document.head.appendChild(n)},o=e.imports;for(let e in o){const n=o[e];n.startsWith("./")&&(o[e]=t+n.substring(2))}n("importmap",JSON.stringify({imports:o})),n("module",'import "entry"; ')}))})();
diff --git a/index.html b/index.html
index 15b630e..fd56352 100644
--- a/index.html
+++ b/index.html
@@ -4,8 +4,12 @@
-
-
+
+