spikijs 1.1.26 → 1.1.28

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/README.md CHANGED
@@ -26,7 +26,10 @@ SpikiJS enforces strict security and architectural separation of concerns:
26
26
  2. **No Attribute Parameters:** Function parameters are not supported inside HTML attributes (e.g. `s-click="save(item)"` is invalid).
27
27
  - **Correct Pattern:** Bind only the method name (`s-click="save"`). Inside loop templates, Spiki automatically injects context variables directly into `this` (e.g. `this.item`, `this.index`).
28
28
 
29
- 3. **State Access via `this`:** All data reading and state mutations must be performed inside component methods using the `this` context (e.g. `this.count++`).
29
+ 3. **No Dot Modifiers:** Attribute names do **NOT** support dots (`.`) or modifier suffixes (e.g. `s-submit.prevent="submitForm"` is invalid).
30
+ - **Correct Pattern:** Bind clean directive names (`s-submit="submitForm"`). Handle event options like `e.preventDefault()` directly inside your JS method.
31
+
32
+ 4. **State Access via `this`:** All data reading and state mutations must be performed inside component methods using the `this` context (e.g. `this.count++`).
30
33
 
31
34
  ---
32
35
 
@@ -39,11 +42,49 @@ Include SpikiJS via script tag. Spiki automatically exposes `window.spiki`:
39
42
  <script src="https://unpkg.com/spikijs"></script>
40
43
  ```
41
44
 
42
- ### ESM Module (Modern Browsers / NPM)
45
+ ### ES Module / NPM
46
+ Install SpikiJS via npm package manager:
47
+
48
+ ```bash
49
+ npm install spikijs
50
+ ```
51
+
43
52
  Import SpikiJS directly as an ES module:
44
53
 
45
54
  ```javascript
46
- import spiki from './spikijs/spiki.esm.js';
55
+ import spiki from 'spikijs';
56
+ ```
57
+
58
+ ---
59
+
60
+ ## Quick Start
61
+
62
+ ```html
63
+ <div s-data="counterApp">
64
+ <h2>Count: <span s-text="count"></span></h2>
65
+ <button s-click="increment">+</button>
66
+ <button s-click="decrement">-</button>
67
+ </div>
68
+
69
+ <script type="module">
70
+ import spiki from 'spikijs';
71
+
72
+ // 1. Register Component State & Methods
73
+ spiki.data('counterApp', () => ({
74
+ count: 0,
75
+ increment() {
76
+ this.count++;
77
+ },
78
+ decrement() {
79
+ this.count--;
80
+ }
81
+ }));
82
+
83
+ // 2. Start Engine
84
+ document.addEventListener('DOMContentLoaded', () => {
85
+ spiki.start();
86
+ });
87
+ </script>
47
88
  ```
48
89
 
49
90
  ---
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "spikijs",
3
3
  "license": "MIT",
4
- "version": "1.1.26",
4
+ "version": "1.1.28",
5
5
  "type": "module",
6
6
  "repository": {
7
7
  "type": "git",
package/spiki.esm.js CHANGED
@@ -385,7 +385,7 @@ var spiki = (() => {
385
385
  }
386
386
  if (Array.isArray(list)) track(list, 'length');
387
387
  var frag = document.createDocumentFragment();
388
- var cursor = end;
388
+ var anchor = end.nextSibling;
389
389
  usedKeys = Object.create(null);
390
390
  var isArr = Array.isArray(list);
391
391
  var keys = isArr ? list : Object.keys(list);
@@ -418,13 +418,15 @@ var spiki = (() => {
418
418
  row = { nodes: Array.prototype.slice.call(clone.childNodes), scope: rowScope, cleanups: rowCleanups };
419
419
  nodePool[unique] = row;
420
420
  }
421
- if (row.nodes[0] !== cursor.nextSibling) {
422
- for(var n=0; n<row.nodes.length; n++) frag.appendChild(row.nodes[n]);
423
- cursor.parentNode.insertBefore(frag, cursor.nextSibling);
421
+ if (row.nodes[0] === anchor) {
422
+ if (frag.childNodes.length) end.parentNode.insertBefore(frag, anchor);
423
+ anchor = row.nodes[row.nodes.length - 1].nextSibling;
424
+ } else {
425
+ for (var n = 0; n < row.nodes.length; n++) frag.appendChild(row.nodes[n]);
424
426
  }
425
- cursor = row.nodes[row.nodes.length-1];
426
427
  usedKeys[unique] = true;
427
428
  }
429
+ if (frag.childNodes.length) end.parentNode.insertBefore(frag, anchor);
428
430
  for (var k in nodePool) if (!usedKeys[k]) {
429
431
  nodePool[k].cleanups.forEach(c => c());
430
432
  nodePool[k].nodes.forEach(n => n.remove());
package/spiki.esm.min.js CHANGED
@@ -1 +1 @@
1
- var spiki=(()=>{var r,e=Object,t=Array,a=Reflect,n=Promise,o=Node,i=document,l=console,f="length",v="value",s="push",u="forEach",p="indexOf",c="split",_="slice",d="call",y="keys",h="get",m="prototype",g="hasOwnProperty",b="getPrototypeOf",x="defineProperty",P="create",k="isArray",A="getAttribute",N="setAttribute",w="removeAttribute",E="hasAttribute",S="tagName",T="type",$="name",O="checked",j="parentNode",C="nextSibling",L="textContent",q="innerHTML",M="replaceWith",D="insertBefore",F="cloneNode",K="remove",B="createTextNode",H="addEventListener",R="input",W="checkbox",z="function",G="radio",I="class",J="model",Q="object",U="unshift",V="scope",X="trim",Y="cleanups",Z="nodes",rr="deps",er="destroy",tr="init",ar="charCodeAt",nr="sched",or="string",ir="unmount",lr="attr",fr="s-data",vr="s-if",sr=e[P](null),ur=[],pr=!1,cr=null,_r=!1,dr=n.resolve(),yr={blur:1,focus:1,scroll:1,load:1,error:1,mouseenter:1,mouseleave:1,toggle:1},hr=r=>{r._q||(r._q=!0,ur[s](r),pr||(pr=!0,dr.then(()=>{var r=ur;ur=[],pr=!1;for(var e=r[f];e--;)r[e]._q=!1,r[e]()})))},mr=(r,e)=>{var a,n=r;if(typeof e===or)a=r?r[e]:void 0;else{for(var o=0,i=e[f];o<i-1&&n;)n=n[e[o++]];a=n?n[e[i-1]]:void 0}if(void 0===a){var v=t[k](e)?e.join("."):e;l.warn("[spikijs] Property undefined: "+v)}return{ctx:n,val:a}},gr={};[s,"pop","shift",U,"splice","sort","reverse"][u](r=>{gr[r]=function(...e){_r=!0;try{return t[m][r].apply(this,e)}finally{_r=!1,xr(this,f)}}});var br=(r,t)=>{if(cr){var a=r._d||(e[x](r,"_d",{value:e[P](null),writable:!0}),r._d),n=a[t]||(a[t]=[]);-1===n[p](cr)&&(n[s](cr),cr[rr][s](n))}},xr=(r,e)=>{if(!_r&&r._d&&r._d[e])for(var t=r._d[e][_](),a=0,n=t[f];a<n;a++){var o=t[a];o[nr]?o[nr](o):o()}},Pr=r=>{for(var e=r[rr][f];e--;){var t=r[rr][e],a=t[p](r);-1!==a&&(t[a]=t[t[f]-1],t.pop())}r[rr]=[]},kr=(r,e)=>{var t=()=>{Pr(t);var e=cr;cr=t;try{r()}finally{cr=e}};return t[rr]=[],t[nr]=e,t(),()=>Pr(t)},Ar=r=>{if(!r||typeof r!==Q||r._y||r instanceof o)return r;if(e[m][g][d](r,"_p"))return r._p;var n=new Proxy(r,{get:(r,n,i)=>{if("_y"===n)return i===r._p;if("_t"===n)return r;if("_d"===n)return r._d;if("_i"===n)return r._i;if(t[k](r)&&gr[g](n))return gr[n];var l=e.getOwnPropertyDescriptor(r,n);if(l&&l[h]){var f="_"+n;return f in r||kr(()=>i[f]=l[h][d](i)),i[f]}br(r,n);var v=a[h](r,n,i);return!v||typeof v!==Q||v instanceof o?v:Ar(v)},set:(r,n,o,i)=>{var l=r[n],v=t[k](r),s=v?Number(n)<r[f]:e[m][g][d](r,n);if(r._i&&!s)for(var u=e[b](r);u&&u!==e[m];){if(e[m][g][d](u,n)){var p=a.set(u,n,o);return!_r&&(o!==l||o&&typeof o===Q)&&xr(r,n),p}u=e[b](u)}return p=a.set(r,n,o,i),!_r&&p&&(!s||o!==l||o&&typeof o===Q)&&(xr(r,n),v?xr(r,f):s||xr(r,"_k")),p},deleteProperty:(r,n)=>{var o=e[m][g][d](r,n),i=a.deleteProperty(r,n);return i&&o&&(xr(r,n),t[k](r)?xr(r,f):xr(r,"_k")),i},ownKeys:r=>(br(r,"_k"),a.ownKeys(r))});return e[x](r,"_p",{value:n}),n};r=Ar({});var Nr=e[P](null);Nr.text=(r,e)=>{e=null==e?"":e,r[L]!==String(e)&&(r[L]=e)},Nr.html=(r,e)=>{r[q]!=e&&(r[q]=null==e?"":e)},Nr[v]=(r,e)=>{r[T]===W?r[O]=!!e:r[T]===G?r[O]=r[v]==e:r[v]!=e&&(r[v]=null==e?"":e)},Nr[lr]=(r,e,t)=>{if(null==e||!1===e)r[w](t);else{var a=!0===e?"":String(e);r[A](t)!==a&&r[N](t,a)}},Nr[I]=(r,t)=>{var a=r._n||"",n=e[P](null);if(a[c](/\s+/)[u](r=>r&&(n[r]=1)),typeof t===or)t[c](/\s+/)[u](r=>r&&(n[r]=1));else if(t)for(var o in t)t[o]?n[o]=1:delete n[o];var i=e[y](n).join(" ");(r[A](I)||"")!==i&&r[N](I,i)};var wr=(a,n)=>{if(a._m)return a._m;var o=a[A](fr);if(sr[o]){var l=sr[o]();n&&e.setPrototypeOf(l,n);var h=Ar(l);h.$refs={},h.$root=a,h.$store=r,h.$parent=n;var g=[],b=e[P](null),N=r=>{var t=r.target;if(r[T]!==R||!t._c)for(var n=a[j],o=r[T];t&&t!==n;){var i=t._h&&t._h[o];if(i){var l=t._s;if(!l||l.$root!==h.$root){t=t[j];continue}for(var s=i[f];s--;){var u=i[s],p=u.p;if(u[J]){var c=t[T]===W?t[O]:t[v];if(typeof c===or){var _=c[X]();_&&isFinite(_)&&(48===_[ar](0)&&1!==_[f]&&46!==_[ar](1)||(c=Number(_)))}if(typeof p===or)l&&(l[p]=c);else{for(var y=l,m=0,g=p[f]-1;m<g&&y;)y=y[p[m++]];y&&(y[p[g]]=c)}}else{var b=mr(l,p);typeof b.val===z&&(e[x](r,"currentTarget",{configurable:!0,value:t}),b.val[d](b.ctx,r))}}}t=t[j]}},L=r=>{b[r]||(b[r]=!0,a[H](r,N,!!yr[r]))},q=(r,n,o)=>{if(1===r.nodeType&&!r[E]("s-ignore"))if(r!==a&&r[E](fr)){var l=wr(r,n);l&&o[s](l[ir])}else{var g=r[A](vr),b=!g&&"TEMPLATE"===r[S]&&r[A]("s-for"),O=[];if(r[E](I)&&!r._n&&(r._n=r[A](I)),g){var rr=i[B](""),nr=null,or=[];r[M](rr);var sr="!"===g[0],ur=sr?g[_](1):g,pr=-1===ur[p](".")?ur:ur[c](".");return o[s](()=>{for(var r=or[f];r--;)or[r]()}),o[s](kr(()=>{var e=mr(n,pr).val;if(sr&&(e=!e),e)nr||((nr=r[F](!0))[w](vr),q(nr,n,or),rr[j][D](nr,rr));else if(nr){for(var t=or[f];t--;)or[t]();or=[],nr[K](),nr=null}},hr))}if(b){var cr=b[p](" in ");if(-1!==cr){var _r,dr=b[_](0,cr)[X](),yr=b[_](cr+4)[X](),gr=dr.replace(/[()]/g,"")[c](","),xr=gr[0][X](),Pr=gr[1]?gr[1][X]():null,Er=-1===yr[p](".")?yr:yr[c]("."),Sr=r[A]("s-key"),Tr=Sr?-1===Sr[p](".")?Sr:Sr[c]("."):null,$r=(rr=i[B](""),e[P](null));return r[M](rr),o[s](()=>{for(var r in $r)$r[r][Y][u](r=>r())}),o[s](kr(()=>{var a=mr(n,Er).val||[];"number"==typeof a&&(a=t.from({length:Math.max(0,Math.floor(a))},(r,e)=>e+1)),t[k](a)&&br(a,f);var o=i.createDocumentFragment(),l=rr;_r=e[P](null);for(var v=t[k](a),s=v?a:e[y](a),p=v?a[f]:s[f],c=0;c<p;c++){var h,g=v?c:s[c],b=v?a[c]:a[g];h=null==b||typeof b!==Q?String(b):Tr?mr(b,Tr).val:String(g)+"_o",_r[h]&&(h+="_"+c);var A=$r[h];if(A)A[V][xr]=b,Pr&&(A[V][Pr]=g);else{var N=r.content[F](!0),w=e[P](n);e[x](w,"_i",{value:!0});var E=Ar(w);E[xr]=b,Pr&&(E[Pr]=g);for(var S=t[m][_][d](N.childNodes),T=[],$=0;$<S[f];$++)q(S[$],E,T);A={nodes:t[m][_][d](N.childNodes),scope:E,cleanups:T},$r[h]=A}if(A[Z][0]!==l[C]){for($=0;$<A[Z][f];$++)o.appendChild(A[Z][$]);l[j][D](o,l[C])}l=A[Z][A[Z][f]-1],_r[h]=!0}for(var O in $r)_r[O]||($r[O][Y][u](r=>r()),$r[O][Z][u](r=>r[K]()),delete $r[O])},hr))}}if(r.hasAttributes())for(var Or=r.attributes,jr=Or[f];jr--;){var Cr=Or[jr],Lr=Cr[$],qr=Cr[v];if(58===Lr[ar](0)){var Mr=Lr[_](1),Dr=33===qr[ar](0),Fr=Dr?qr[_](1):qr;pr=-1===Fr[p](".")?Fr:Fr[c]("."),O[s]({type:lr,name:Mr,path:pr,neg:Dr})}else if(115===Lr[ar](0)&&45===Lr[ar](1)){let e=Lr[_](2),t=-1===qr[p](".")?qr:qr[c](".");if(e===tr||e===er)((e,t)=>{var a=mr(n,t);typeof a.val===z&&(e===tr?hr(()=>{var e=a.val[d](a.ctx,r);typeof e===z&&o[s](e)}):o[s](()=>a.val[d](a.ctx,r)))})(e,t);else if("effect"===e)o[s](kr(()=>{var e=mr(n,t);typeof e.val===z&&e.val[d](e.ctx,r)},hr));else if(e===J){O[s]({type:v,path:t}),r._s=n,r._h=r._h||{};var Kr=r[T]===W||r[T]===G||"SELECT"===r[S]?"change":R;Kr===R&&(r[H]("compositionstart",()=>r._c=!0),r[H]("compositionend",()=>{r._c=!1,N({target:r,type:R})})),(r._h[Kr]=r._h[Kr]||[])[s]({model:!0,p:t}),L(Kr)}else"ref"===e?h.$refs[qr]=r:Nr[e]?O[s]({type:e,path:t}):(r._s=n,r._h=r._h||{},(r._h[e]=r._h[e]||[])[U]({p:t}),L(e))}}O[f]&&o[s](kr(()=>{for(var e=O[f];e--;){var t=O[e],a=mr(n,t.path),o=typeof a.val===z?a.val[d](a.ctx,r):a.val;t[T]===lr?(t.neg&&(o=!o),t[$]===I?Nr[I](r,o):Nr[lr](r,o,t[$])):Nr[t[T]](r,o)}},hr));for(var Br=r.firstChild;Br;){var Hr=Br[C];q(Br,n,o),Br=Hr}}};q(a,h,g),h[tr]&&h[tr]();var rr={unmount:()=>{h[er]&&h[er][d](h);for(var r=g[f];r--;)g[r]();for(var e in b)a.removeEventListener(e,N);a._m=null}};return a._m=rr,rr}},Er=r=>{if(!r||typeof r!==Q)return r;var e=r._t||r;if(t[k](e))return e.map(r=>Er(r));var a={};for(var n in e)a[n]=Er(e[n]);return a};return{data:(r,e)=>{sr[r]=e},start:()=>{for(var r=i.querySelectorAll("[s-data]"),e=r[f];e--;)wr(r[e])},store:(e,t)=>{if(void 0===t)return r[e];r[e]=t;var a=r[e];return a&&typeof a[tr]===z&&a[tr][d](a),a},raw:Er,mount:r=>wr(r),unmount:r=>{r&&r._m&&r._m[ir]()}}})();export default spiki;
1
+ var spiki=(()=>{var r,e=Object,t=Array,a=Reflect,o=Promise,n=Node,i=document,l=console,f="length",v="value",s="push",u="forEach",p="indexOf",c="split",d="slice",_="call",y="keys",h="get",m="prototype",g="hasOwnProperty",b="getPrototypeOf",x="defineProperty",N="create",P="isArray",k="getAttribute",A="setAttribute",w="removeAttribute",E="hasAttribute",S="tagName",T="type",$="name",O="checked",j="parentNode",C="nextSibling",L="textContent",q="innerHTML",M="replaceWith",D="insertBefore",F="cloneNode",K="remove",B="createTextNode",H="addEventListener",R="input",W="checkbox",z="function",G="radio",I="class",J="model",Q="object",U="unshift",V="scope",X="trim",Y="cleanups",Z="nodes",rr="deps",er="destroy",tr="init",ar="charCodeAt",or="sched",nr="string",ir="unmount",lr="attr",fr="s-data",vr="s-if",sr=e[N](null),ur=[],pr=!1,cr=null,dr=!1,_r=o.resolve(),yr={blur:1,focus:1,scroll:1,load:1,error:1,mouseenter:1,mouseleave:1,toggle:1},hr=r=>{r._q||(r._q=!0,ur[s](r),pr||(pr=!0,_r.then(()=>{var r=ur;ur=[],pr=!1;for(var e=r[f];e--;)r[e]._q=!1,r[e]()})))},mr=(r,e)=>{var a,o=r;if(typeof e===nr)a=r?r[e]:void 0;else{for(var n=0,i=e[f];n<i-1&&o;)o=o[e[n++]];a=o?o[e[i-1]]:void 0}if(void 0===a){var v=t[P](e)?e.join("."):e;l.warn("[spikijs] Property undefined: "+v)}return{ctx:o,val:a}},gr={};[s,"pop","shift",U,"splice","sort","reverse"][u](r=>{gr[r]=function(...e){dr=!0;try{return t[m][r].apply(this,e)}finally{dr=!1,xr(this,f)}}});var br=(r,t)=>{if(cr){var a=r._d||(e[x](r,"_d",{value:e[N](null),writable:!0}),r._d),o=a[t]||(a[t]=[]);-1===o[p](cr)&&(o[s](cr),cr[rr][s](o))}},xr=(r,e)=>{if(!dr&&r._d&&r._d[e])for(var t=r._d[e][d](),a=0,o=t[f];a<o;a++){var n=t[a];n[or]?n[or](n):n()}},Nr=r=>{for(var e=r[rr][f];e--;){var t=r[rr][e],a=t[p](r);-1!==a&&(t[a]=t[t[f]-1],t.pop())}r[rr]=[]},Pr=(r,e)=>{var t=()=>{Nr(t);var e=cr;cr=t;try{r()}finally{cr=e}};return t[rr]=[],t[or]=e,t(),()=>Nr(t)},kr=r=>{if(!r||typeof r!==Q||r._y||r instanceof n)return r;if(e[m][g][_](r,"_p"))return r._p;var o=new Proxy(r,{get:(r,o,i)=>{if("_y"===o)return i===r._p;if("_t"===o)return r;if("_d"===o)return r._d;if("_i"===o)return r._i;if(t[P](r)&&gr[g](o))return gr[o];var l=e.getOwnPropertyDescriptor(r,o);if(l&&l[h]){var f="_"+o;return f in r||Pr(()=>i[f]=l[h][_](i)),i[f]}br(r,o);var v=a[h](r,o,i);return!v||typeof v!==Q||v instanceof n?v:kr(v)},set:(r,o,n,i)=>{var l=r[o],v=t[P](r),s=v?Number(o)<r[f]:e[m][g][_](r,o);if(r._i&&!s)for(var u=e[b](r);u&&u!==e[m];){if(e[m][g][_](u,o)){var p=a.set(u,o,n);return!dr&&(n!==l||n&&typeof n===Q)&&xr(r,o),p}u=e[b](u)}return p=a.set(r,o,n,i),!dr&&p&&(!s||n!==l||n&&typeof n===Q)&&(xr(r,o),v?xr(r,f):s||xr(r,"_k")),p},deleteProperty:(r,o)=>{var n=e[m][g][_](r,o),i=a.deleteProperty(r,o);return i&&n&&(xr(r,o),t[P](r)?xr(r,f):xr(r,"_k")),i},ownKeys:r=>(br(r,"_k"),a.ownKeys(r))});return e[x](r,"_p",{value:o}),o};r=kr({});var Ar=e[N](null);Ar.text=(r,e)=>{e=null==e?"":e,r[L]!==String(e)&&(r[L]=e)},Ar.html=(r,e)=>{r[q]!=e&&(r[q]=null==e?"":e)},Ar[v]=(r,e)=>{r[T]===W?r[O]=!!e:r[T]===G?r[O]=r[v]==e:r[v]!=e&&(r[v]=null==e?"":e)},Ar[lr]=(r,e,t)=>{if(null==e||!1===e)r[w](t);else{var a=!0===e?"":String(e);r[k](t)!==a&&r[A](t,a)}},Ar[I]=(r,t)=>{var a=r._n||"",o=e[N](null);if(a[c](/\s+/)[u](r=>r&&(o[r]=1)),typeof t===nr)t[c](/\s+/)[u](r=>r&&(o[r]=1));else if(t)for(var n in t)t[n]?o[n]=1:delete o[n];var i=e[y](o).join(" ");(r[k](I)||"")!==i&&r[A](I,i)};var wr=(a,o)=>{if(a._m)return a._m;var n=a[k](fr);if(sr[n]){var l=sr[n]();o&&e.setPrototypeOf(l,o);var h=kr(l);h.$refs={},h.$root=a,h.$store=r,h.$parent=o;var g=[],b=e[N](null),A=r=>{var t=r.target;if(r[T]!==R||!t._c)for(var o=a[j],n=r[T];t&&t!==o;){var i=t._h&&t._h[n];if(i){var l=t._s;if(!l||l.$root!==h.$root){t=t[j];continue}for(var s=i[f];s--;){var u=i[s],p=u.p;if(u[J]){var c=t[T]===W?t[O]:t[v];if(typeof c===nr){var d=c[X]();d&&isFinite(d)&&(48===d[ar](0)&&1!==d[f]&&46!==d[ar](1)||(c=Number(d)))}if(typeof p===nr)l&&(l[p]=c);else{for(var y=l,m=0,g=p[f]-1;m<g&&y;)y=y[p[m++]];y&&(y[p[g]]=c)}}else{var b=mr(l,p);typeof b.val===z&&(e[x](r,"currentTarget",{configurable:!0,value:t}),b.val[_](b.ctx,r))}}}t=t[j]}},L=r=>{b[r]||(b[r]=!0,a[H](r,A,!!yr[r]))},q=(r,o,n)=>{if(1===r.nodeType&&!r[E]("s-ignore"))if(r!==a&&r[E](fr)){var l=wr(r,o);l&&n[s](l[ir])}else{var g=r[k](vr),b=!g&&"TEMPLATE"===r[S]&&r[k]("s-for"),O=[];if(r[E](I)&&!r._n&&(r._n=r[k](I)),g){var rr=i[B](""),or=null,nr=[];r[M](rr);var sr="!"===g[0],ur=sr?g[d](1):g,pr=-1===ur[p](".")?ur:ur[c](".");return n[s](()=>{for(var r=nr[f];r--;)nr[r]()}),n[s](Pr(()=>{var e=mr(o,pr).val;if(sr&&(e=!e),e)or||((or=r[F](!0))[w](vr),q(or,o,nr),rr[j][D](or,rr));else if(or){for(var t=nr[f];t--;)nr[t]();nr=[],or[K](),or=null}},hr))}if(b){var cr=b[p](" in ");if(-1!==cr){var dr,_r=b[d](0,cr)[X](),yr=b[d](cr+4)[X](),gr=_r.replace(/[()]/g,"")[c](","),xr=gr[0][X](),Nr=gr[1]?gr[1][X]():null,Er=-1===yr[p](".")?yr:yr[c]("."),Sr=r[k]("s-key"),Tr=Sr?-1===Sr[p](".")?Sr:Sr[c]("."):null,$r=(rr=i[B](""),e[N](null));return r[M](rr),n[s](()=>{for(var r in $r)$r[r][Y][u](r=>r())}),n[s](Pr(()=>{var a=mr(o,Er).val||[];"number"==typeof a&&(a=t.from({length:Math.max(0,Math.floor(a))},(r,e)=>e+1)),t[P](a)&&br(a,f);var n=i.createDocumentFragment(),l=rr[C];dr=e[N](null);for(var v=t[P](a),s=v?a:e[y](a),p=v?a[f]:s[f],c=0;c<p;c++){var h,g=v?c:s[c],b=v?a[c]:a[g];h=null==b||typeof b!==Q?String(b):Tr?mr(b,Tr).val:String(g)+"_o",dr[h]&&(h+="_"+c);var k=$r[h];if(k)k[V][xr]=b,Nr&&(k[V][Nr]=g);else{var A=r.content[F](!0),w=e[N](o);e[x](w,"_i",{value:!0});var E=kr(w);E[xr]=b,Nr&&(E[Nr]=g);for(var S=t[m][d][_](A.childNodes),T=[],$=0;$<S[f];$++)q(S[$],E,T);k={nodes:t[m][d][_](A.childNodes),scope:E,cleanups:T},$r[h]=k}if(k[Z][0]===l)n.childNodes[f]&&rr[j][D](n,l),l=k[Z][k[Z][f]-1][C];else for($=0;$<k[Z][f];$++)n.appendChild(k[Z][$]);dr[h]=!0}for(var O in n.childNodes[f]&&rr[j][D](n,l),$r)dr[O]||($r[O][Y][u](r=>r()),$r[O][Z][u](r=>r[K]()),delete $r[O])},hr))}}if(r.hasAttributes())for(var Or=r.attributes,jr=Or[f];jr--;){var Cr=Or[jr],Lr=Cr[$],qr=Cr[v];if(58===Lr[ar](0)){var Mr=Lr[d](1),Dr=33===qr[ar](0),Fr=Dr?qr[d](1):qr;pr=-1===Fr[p](".")?Fr:Fr[c]("."),O[s]({type:lr,name:Mr,path:pr,neg:Dr})}else if(115===Lr[ar](0)&&45===Lr[ar](1)){let e=Lr[d](2),t=-1===qr[p](".")?qr:qr[c](".");if(e===tr||e===er)((e,t)=>{var a=mr(o,t);typeof a.val===z&&(e===tr?hr(()=>{var e=a.val[_](a.ctx,r);typeof e===z&&n[s](e)}):n[s](()=>a.val[_](a.ctx,r)))})(e,t);else if("effect"===e)n[s](Pr(()=>{var e=mr(o,t);typeof e.val===z&&e.val[_](e.ctx,r)},hr));else if(e===J){O[s]({type:v,path:t}),r._s=o,r._h=r._h||{};var Kr=r[T]===W||r[T]===G||"SELECT"===r[S]?"change":R;Kr===R&&(r[H]("compositionstart",()=>r._c=!0),r[H]("compositionend",()=>{r._c=!1,A({target:r,type:R})})),(r._h[Kr]=r._h[Kr]||[])[s]({model:!0,p:t}),L(Kr)}else"ref"===e?h.$refs[qr]=r:Ar[e]?O[s]({type:e,path:t}):(r._s=o,r._h=r._h||{},(r._h[e]=r._h[e]||[])[U]({p:t}),L(e))}}O[f]&&n[s](Pr(()=>{for(var e=O[f];e--;){var t=O[e],a=mr(o,t.path),n=typeof a.val===z?a.val[_](a.ctx,r):a.val;t[T]===lr?(t.neg&&(n=!n),t[$]===I?Ar[I](r,n):Ar[lr](r,n,t[$])):Ar[t[T]](r,n)}},hr));for(var Br=r.firstChild;Br;){var Hr=Br[C];q(Br,o,n),Br=Hr}}};q(a,h,g),h[tr]&&h[tr]();var rr={unmount:()=>{h[er]&&h[er][_](h);for(var r=g[f];r--;)g[r]();for(var e in b)a.removeEventListener(e,A);a._m=null}};return a._m=rr,rr}},Er=r=>{if(!r||typeof r!==Q)return r;var e=r._t||r;if(t[P](e))return e.map(r=>Er(r));var a={};for(var o in e)a[o]=Er(e[o]);return a};return{data:(r,e)=>{sr[r]=e},start:()=>{for(var r=i.querySelectorAll("[s-data]"),e=r[f];e--;)wr(r[e])},store:(e,t)=>{if(void 0===t)return r[e];r[e]=t;var a=r[e];return a&&typeof a[tr]===z&&a[tr][_](a),a},raw:Er,mount:r=>wr(r),unmount:r=>{r&&r._m&&r._m[ir]()}}})();export default spiki;
package/spiki.js CHANGED
@@ -388,7 +388,7 @@ var spiki = (() => {
388
388
  }
389
389
  if (Array.isArray(list)) track(list, 'length');
390
390
  var frag = document.createDocumentFragment();
391
- var cursor = end;
391
+ var anchor = end.nextSibling;
392
392
  usedKeys = Object.create(null);
393
393
  var isArr = Array.isArray(list);
394
394
  var keys = isArr ? list : Object.keys(list);
@@ -421,13 +421,15 @@ var spiki = (() => {
421
421
  row = { nodes: Array.prototype.slice.call(clone.childNodes), scope: rowScope, cleanups: rowCleanups };
422
422
  nodePool[unique] = row;
423
423
  }
424
- if (row.nodes[0] !== cursor.nextSibling) {
425
- for(var n=0; n<row.nodes.length; n++) frag.appendChild(row.nodes[n]);
426
- cursor.parentNode.insertBefore(frag, cursor.nextSibling);
424
+ if (row.nodes[0] === anchor) {
425
+ if (frag.childNodes.length) end.parentNode.insertBefore(frag, anchor);
426
+ anchor = row.nodes[row.nodes.length - 1].nextSibling;
427
+ } else {
428
+ for (var n = 0; n < row.nodes.length; n++) frag.appendChild(row.nodes[n]);
427
429
  }
428
- cursor = row.nodes[row.nodes.length-1];
429
430
  usedKeys[unique] = true;
430
431
  }
432
+ if (frag.childNodes.length) end.parentNode.insertBefore(frag, anchor);
431
433
  for (var k in nodePool) if (!usedKeys[k]) {
432
434
  nodePool[k].cleanups.forEach(c => c());
433
435
  nodePool[k].nodes.forEach(n => n.remove());
package/spiki.min.js CHANGED
@@ -1 +1 @@
1
- (()=>{"use strict";var spiki=(()=>{var r,e=Object,t=Array,a=Reflect,n=Promise,o=Node,i=document,l=console,f="length",v="value",s="push",u="forEach",p="indexOf",c="split",_="slice",d="call",y="keys",h="get",m="prototype",g="hasOwnProperty",b="getPrototypeOf",x="defineProperty",P="create",k="isArray",A="getAttribute",N="setAttribute",w="removeAttribute",E="hasAttribute",S="tagName",T="type",$="name",O="checked",j="parentNode",C="nextSibling",L="textContent",q="innerHTML",M="replaceWith",D="insertBefore",F="cloneNode",K="remove",B="createTextNode",H="addEventListener",R="input",W="checkbox",z="function",G="radio",I="class",J="model",Q="object",U="unshift",V="scope",X="trim",Y="cleanups",Z="nodes",rr="deps",er="destroy",tr="init",ar="charCodeAt",nr="sched",or="string",ir="unmount",lr="attr",fr="s-data",vr="s-if",sr=e[P](null),ur=[],pr=!1,cr=null,_r=!1,dr=n.resolve(),yr={blur:1,focus:1,scroll:1,load:1,error:1,mouseenter:1,mouseleave:1,toggle:1},hr=r=>{r._q||(r._q=!0,ur[s](r),pr||(pr=!0,dr.then(()=>{var r=ur;ur=[],pr=!1;for(var e=r[f];e--;)r[e]._q=!1,r[e]()})))},mr=(r,e)=>{var a,n=r;if(typeof e===or)a=r?r[e]:void 0;else{for(var o=0,i=e[f];o<i-1&&n;)n=n[e[o++]];a=n?n[e[i-1]]:void 0}if(void 0===a){var v=t[k](e)?e.join("."):e;l.warn("[spikijs] Property undefined: "+v)}return{ctx:n,val:a}},gr={};[s,"pop","shift",U,"splice","sort","reverse"][u](r=>{gr[r]=function(...e){_r=!0;try{return t[m][r].apply(this,e)}finally{_r=!1,xr(this,f)}}});var br=(r,t)=>{if(cr){var a=r._d||(e[x](r,"_d",{value:e[P](null),writable:!0}),r._d),n=a[t]||(a[t]=[]);-1===n[p](cr)&&(n[s](cr),cr[rr][s](n))}},xr=(r,e)=>{if(!_r&&r._d&&r._d[e])for(var t=r._d[e][_](),a=0,n=t[f];a<n;a++){var o=t[a];o[nr]?o[nr](o):o()}},Pr=r=>{for(var e=r[rr][f];e--;){var t=r[rr][e],a=t[p](r);-1!==a&&(t[a]=t[t[f]-1],t.pop())}r[rr]=[]},kr=(r,e)=>{var t=()=>{Pr(t);var e=cr;cr=t;try{r()}finally{cr=e}};return t[rr]=[],t[nr]=e,t(),()=>Pr(t)},Ar=r=>{if(!r||typeof r!==Q||r._y||r instanceof o)return r;if(e[m][g][d](r,"_p"))return r._p;var n=new Proxy(r,{get:(r,n,i)=>{if("_y"===n)return i===r._p;if("_t"===n)return r;if("_d"===n)return r._d;if("_i"===n)return r._i;if(t[k](r)&&gr[g](n))return gr[n];var l=e.getOwnPropertyDescriptor(r,n);if(l&&l[h]){var f="_"+n;return f in r||kr(()=>i[f]=l[h][d](i)),i[f]}br(r,n);var v=a[h](r,n,i);return!v||typeof v!==Q||v instanceof o?v:Ar(v)},set:(r,n,o,i)=>{var l=r[n],v=t[k](r),s=v?Number(n)<r[f]:e[m][g][d](r,n);if(r._i&&!s)for(var u=e[b](r);u&&u!==e[m];){if(e[m][g][d](u,n)){var p=a.set(u,n,o);return!_r&&(o!==l||o&&typeof o===Q)&&xr(r,n),p}u=e[b](u)}return p=a.set(r,n,o,i),!_r&&p&&(!s||o!==l||o&&typeof o===Q)&&(xr(r,n),v?xr(r,f):s||xr(r,"_k")),p},deleteProperty:(r,n)=>{var o=e[m][g][d](r,n),i=a.deleteProperty(r,n);return i&&o&&(xr(r,n),t[k](r)?xr(r,f):xr(r,"_k")),i},ownKeys:r=>(br(r,"_k"),a.ownKeys(r))});return e[x](r,"_p",{value:n}),n};r=Ar({});var Nr=e[P](null);Nr.text=(r,e)=>{e=null==e?"":e,r[L]!==String(e)&&(r[L]=e)},Nr.html=(r,e)=>{r[q]!=e&&(r[q]=null==e?"":e)},Nr[v]=(r,e)=>{r[T]===W?r[O]=!!e:r[T]===G?r[O]=r[v]==e:r[v]!=e&&(r[v]=null==e?"":e)},Nr[lr]=(r,e,t)=>{if(null==e||!1===e)r[w](t);else{var a=!0===e?"":String(e);r[A](t)!==a&&r[N](t,a)}},Nr[I]=(r,t)=>{var a=r._n||"",n=e[P](null);if(a[c](/\s+/)[u](r=>r&&(n[r]=1)),typeof t===or)t[c](/\s+/)[u](r=>r&&(n[r]=1));else if(t)for(var o in t)t[o]?n[o]=1:delete n[o];var i=e[y](n).join(" ");(r[A](I)||"")!==i&&r[N](I,i)};var wr=(a,n)=>{if(a._m)return a._m;var o=a[A](fr);if(sr[o]){var l=sr[o]();n&&e.setPrototypeOf(l,n);var h=Ar(l);h.$refs={},h.$root=a,h.$store=r,h.$parent=n;var g=[],b=e[P](null),N=r=>{var t=r.target;if(r[T]!==R||!t._c)for(var n=a[j],o=r[T];t&&t!==n;){var i=t._h&&t._h[o];if(i){var l=t._s;if(!l||l.$root!==h.$root){t=t[j];continue}for(var s=i[f];s--;){var u=i[s],p=u.p;if(u[J]){var c=t[T]===W?t[O]:t[v];if(typeof c===or){var _=c[X]();_&&isFinite(_)&&(48===_[ar](0)&&1!==_[f]&&46!==_[ar](1)||(c=Number(_)))}if(typeof p===or)l&&(l[p]=c);else{for(var y=l,m=0,g=p[f]-1;m<g&&y;)y=y[p[m++]];y&&(y[p[g]]=c)}}else{var b=mr(l,p);typeof b.val===z&&(e[x](r,"currentTarget",{configurable:!0,value:t}),b.val[d](b.ctx,r))}}}t=t[j]}},L=r=>{b[r]||(b[r]=!0,a[H](r,N,!!yr[r]))},q=(r,n,o)=>{if(1===r.nodeType&&!r[E]("s-ignore"))if(r!==a&&r[E](fr)){var l=wr(r,n);l&&o[s](l[ir])}else{var g=r[A](vr),b=!g&&"TEMPLATE"===r[S]&&r[A]("s-for"),O=[];if(r[E](I)&&!r._n&&(r._n=r[A](I)),g){var rr=i[B](""),nr=null,or=[];r[M](rr);var sr="!"===g[0],ur=sr?g[_](1):g,pr=-1===ur[p](".")?ur:ur[c](".");return o[s](()=>{for(var r=or[f];r--;)or[r]()}),o[s](kr(()=>{var e=mr(n,pr).val;if(sr&&(e=!e),e)nr||((nr=r[F](!0))[w](vr),q(nr,n,or),rr[j][D](nr,rr));else if(nr){for(var t=or[f];t--;)or[t]();or=[],nr[K](),nr=null}},hr))}if(b){var cr=b[p](" in ");if(-1!==cr){var _r,dr=b[_](0,cr)[X](),yr=b[_](cr+4)[X](),gr=dr.replace(/[()]/g,"")[c](","),xr=gr[0][X](),Pr=gr[1]?gr[1][X]():null,Er=-1===yr[p](".")?yr:yr[c]("."),Sr=r[A]("s-key"),Tr=Sr?-1===Sr[p](".")?Sr:Sr[c]("."):null,$r=(rr=i[B](""),e[P](null));return r[M](rr),o[s](()=>{for(var r in $r)$r[r][Y][u](r=>r())}),o[s](kr(()=>{var a=mr(n,Er).val||[];"number"==typeof a&&(a=t.from({length:Math.max(0,Math.floor(a))},(r,e)=>e+1)),t[k](a)&&br(a,f);var o=i.createDocumentFragment(),l=rr;_r=e[P](null);for(var v=t[k](a),s=v?a:e[y](a),p=v?a[f]:s[f],c=0;c<p;c++){var h,g=v?c:s[c],b=v?a[c]:a[g];h=null==b||typeof b!==Q?String(b):Tr?mr(b,Tr).val:String(g)+"_o",_r[h]&&(h+="_"+c);var A=$r[h];if(A)A[V][xr]=b,Pr&&(A[V][Pr]=g);else{var N=r.content[F](!0),w=e[P](n);e[x](w,"_i",{value:!0});var E=Ar(w);E[xr]=b,Pr&&(E[Pr]=g);for(var S=t[m][_][d](N.childNodes),T=[],$=0;$<S[f];$++)q(S[$],E,T);A={nodes:t[m][_][d](N.childNodes),scope:E,cleanups:T},$r[h]=A}if(A[Z][0]!==l[C]){for($=0;$<A[Z][f];$++)o.appendChild(A[Z][$]);l[j][D](o,l[C])}l=A[Z][A[Z][f]-1],_r[h]=!0}for(var O in $r)_r[O]||($r[O][Y][u](r=>r()),$r[O][Z][u](r=>r[K]()),delete $r[O])},hr))}}if(r.hasAttributes())for(var Or=r.attributes,jr=Or[f];jr--;){var Cr=Or[jr],Lr=Cr[$],qr=Cr[v];if(58===Lr[ar](0)){var Mr=Lr[_](1),Dr=33===qr[ar](0),Fr=Dr?qr[_](1):qr;pr=-1===Fr[p](".")?Fr:Fr[c]("."),O[s]({type:lr,name:Mr,path:pr,neg:Dr})}else if(115===Lr[ar](0)&&45===Lr[ar](1)){let e=Lr[_](2),t=-1===qr[p](".")?qr:qr[c](".");if(e===tr||e===er)((e,t)=>{var a=mr(n,t);typeof a.val===z&&(e===tr?hr(()=>{var e=a.val[d](a.ctx,r);typeof e===z&&o[s](e)}):o[s](()=>a.val[d](a.ctx,r)))})(e,t);else if("effect"===e)o[s](kr(()=>{var e=mr(n,t);typeof e.val===z&&e.val[d](e.ctx,r)},hr));else if(e===J){O[s]({type:v,path:t}),r._s=n,r._h=r._h||{};var Kr=r[T]===W||r[T]===G||"SELECT"===r[S]?"change":R;Kr===R&&(r[H]("compositionstart",()=>r._c=!0),r[H]("compositionend",()=>{r._c=!1,N({target:r,type:R})})),(r._h[Kr]=r._h[Kr]||[])[s]({model:!0,p:t}),L(Kr)}else"ref"===e?h.$refs[qr]=r:Nr[e]?O[s]({type:e,path:t}):(r._s=n,r._h=r._h||{},(r._h[e]=r._h[e]||[])[U]({p:t}),L(e))}}O[f]&&o[s](kr(()=>{for(var e=O[f];e--;){var t=O[e],a=mr(n,t.path),o=typeof a.val===z?a.val[d](a.ctx,r):a.val;t[T]===lr?(t.neg&&(o=!o),t[$]===I?Nr[I](r,o):Nr[lr](r,o,t[$])):Nr[t[T]](r,o)}},hr));for(var Br=r.firstChild;Br;){var Hr=Br[C];q(Br,n,o),Br=Hr}}};q(a,h,g),h[tr]&&h[tr]();var rr={unmount:()=>{h[er]&&h[er][d](h);for(var r=g[f];r--;)g[r]();for(var e in b)a.removeEventListener(e,N);a._m=null}};return a._m=rr,rr}},Er=r=>{if(!r||typeof r!==Q)return r;var e=r._t||r;if(t[k](e))return e.map(r=>Er(r));var a={};for(var n in e)a[n]=Er(e[n]);return a};return{data:(r,e)=>{sr[r]=e},start:()=>{for(var r=i.querySelectorAll("[s-data]"),e=r[f];e--;)wr(r[e])},store:(e,t)=>{if(void 0===t)return r[e];r[e]=t;var a=r[e];return a&&typeof a[tr]===z&&a[tr][d](a),a},raw:Er,mount:r=>wr(r),unmount:r=>{r&&r._m&&r._m[ir]()}}})();window.spiki=spiki})();
1
+ (()=>{"use strict";var spiki=(()=>{var r,e=Object,t=Array,a=Reflect,o=Promise,n=Node,i=document,l=console,f="length",v="value",s="push",u="forEach",p="indexOf",c="split",d="slice",_="call",y="keys",h="get",m="prototype",g="hasOwnProperty",b="getPrototypeOf",x="defineProperty",N="create",P="isArray",k="getAttribute",A="setAttribute",w="removeAttribute",E="hasAttribute",S="tagName",T="type",$="name",O="checked",j="parentNode",C="nextSibling",L="textContent",q="innerHTML",M="replaceWith",D="insertBefore",F="cloneNode",K="remove",B="createTextNode",H="addEventListener",R="input",W="checkbox",z="function",G="radio",I="class",J="model",Q="object",U="unshift",V="scope",X="trim",Y="cleanups",Z="nodes",rr="deps",er="destroy",tr="init",ar="charCodeAt",or="sched",nr="string",ir="unmount",lr="attr",fr="s-data",vr="s-if",sr=e[N](null),ur=[],pr=!1,cr=null,dr=!1,_r=o.resolve(),yr={blur:1,focus:1,scroll:1,load:1,error:1,mouseenter:1,mouseleave:1,toggle:1},hr=r=>{r._q||(r._q=!0,ur[s](r),pr||(pr=!0,_r.then(()=>{var r=ur;ur=[],pr=!1;for(var e=r[f];e--;)r[e]._q=!1,r[e]()})))},mr=(r,e)=>{var a,o=r;if(typeof e===nr)a=r?r[e]:void 0;else{for(var n=0,i=e[f];n<i-1&&o;)o=o[e[n++]];a=o?o[e[i-1]]:void 0}if(void 0===a){var v=t[P](e)?e.join("."):e;l.warn("[spikijs] Property undefined: "+v)}return{ctx:o,val:a}},gr={};[s,"pop","shift",U,"splice","sort","reverse"][u](r=>{gr[r]=function(...e){dr=!0;try{return t[m][r].apply(this,e)}finally{dr=!1,xr(this,f)}}});var br=(r,t)=>{if(cr){var a=r._d||(e[x](r,"_d",{value:e[N](null),writable:!0}),r._d),o=a[t]||(a[t]=[]);-1===o[p](cr)&&(o[s](cr),cr[rr][s](o))}},xr=(r,e)=>{if(!dr&&r._d&&r._d[e])for(var t=r._d[e][d](),a=0,o=t[f];a<o;a++){var n=t[a];n[or]?n[or](n):n()}},Nr=r=>{for(var e=r[rr][f];e--;){var t=r[rr][e],a=t[p](r);-1!==a&&(t[a]=t[t[f]-1],t.pop())}r[rr]=[]},Pr=(r,e)=>{var t=()=>{Nr(t);var e=cr;cr=t;try{r()}finally{cr=e}};return t[rr]=[],t[or]=e,t(),()=>Nr(t)},kr=r=>{if(!r||typeof r!==Q||r._y||r instanceof n)return r;if(e[m][g][_](r,"_p"))return r._p;var o=new Proxy(r,{get:(r,o,i)=>{if("_y"===o)return i===r._p;if("_t"===o)return r;if("_d"===o)return r._d;if("_i"===o)return r._i;if(t[P](r)&&gr[g](o))return gr[o];var l=e.getOwnPropertyDescriptor(r,o);if(l&&l[h]){var f="_"+o;return f in r||Pr(()=>i[f]=l[h][_](i)),i[f]}br(r,o);var v=a[h](r,o,i);return!v||typeof v!==Q||v instanceof n?v:kr(v)},set:(r,o,n,i)=>{var l=r[o],v=t[P](r),s=v?Number(o)<r[f]:e[m][g][_](r,o);if(r._i&&!s)for(var u=e[b](r);u&&u!==e[m];){if(e[m][g][_](u,o)){var p=a.set(u,o,n);return!dr&&(n!==l||n&&typeof n===Q)&&xr(r,o),p}u=e[b](u)}return p=a.set(r,o,n,i),!dr&&p&&(!s||n!==l||n&&typeof n===Q)&&(xr(r,o),v?xr(r,f):s||xr(r,"_k")),p},deleteProperty:(r,o)=>{var n=e[m][g][_](r,o),i=a.deleteProperty(r,o);return i&&n&&(xr(r,o),t[P](r)?xr(r,f):xr(r,"_k")),i},ownKeys:r=>(br(r,"_k"),a.ownKeys(r))});return e[x](r,"_p",{value:o}),o};r=kr({});var Ar=e[N](null);Ar.text=(r,e)=>{e=null==e?"":e,r[L]!==String(e)&&(r[L]=e)},Ar.html=(r,e)=>{r[q]!=e&&(r[q]=null==e?"":e)},Ar[v]=(r,e)=>{r[T]===W?r[O]=!!e:r[T]===G?r[O]=r[v]==e:r[v]!=e&&(r[v]=null==e?"":e)},Ar[lr]=(r,e,t)=>{if(null==e||!1===e)r[w](t);else{var a=!0===e?"":String(e);r[k](t)!==a&&r[A](t,a)}},Ar[I]=(r,t)=>{var a=r._n||"",o=e[N](null);if(a[c](/\s+/)[u](r=>r&&(o[r]=1)),typeof t===nr)t[c](/\s+/)[u](r=>r&&(o[r]=1));else if(t)for(var n in t)t[n]?o[n]=1:delete o[n];var i=e[y](o).join(" ");(r[k](I)||"")!==i&&r[A](I,i)};var wr=(a,o)=>{if(a._m)return a._m;var n=a[k](fr);if(sr[n]){var l=sr[n]();o&&e.setPrototypeOf(l,o);var h=kr(l);h.$refs={},h.$root=a,h.$store=r,h.$parent=o;var g=[],b=e[N](null),A=r=>{var t=r.target;if(r[T]!==R||!t._c)for(var o=a[j],n=r[T];t&&t!==o;){var i=t._h&&t._h[n];if(i){var l=t._s;if(!l||l.$root!==h.$root){t=t[j];continue}for(var s=i[f];s--;){var u=i[s],p=u.p;if(u[J]){var c=t[T]===W?t[O]:t[v];if(typeof c===nr){var d=c[X]();d&&isFinite(d)&&(48===d[ar](0)&&1!==d[f]&&46!==d[ar](1)||(c=Number(d)))}if(typeof p===nr)l&&(l[p]=c);else{for(var y=l,m=0,g=p[f]-1;m<g&&y;)y=y[p[m++]];y&&(y[p[g]]=c)}}else{var b=mr(l,p);typeof b.val===z&&(e[x](r,"currentTarget",{configurable:!0,value:t}),b.val[_](b.ctx,r))}}}t=t[j]}},L=r=>{b[r]||(b[r]=!0,a[H](r,A,!!yr[r]))},q=(r,o,n)=>{if(1===r.nodeType&&!r[E]("s-ignore"))if(r!==a&&r[E](fr)){var l=wr(r,o);l&&n[s](l[ir])}else{var g=r[k](vr),b=!g&&"TEMPLATE"===r[S]&&r[k]("s-for"),O=[];if(r[E](I)&&!r._n&&(r._n=r[k](I)),g){var rr=i[B](""),or=null,nr=[];r[M](rr);var sr="!"===g[0],ur=sr?g[d](1):g,pr=-1===ur[p](".")?ur:ur[c](".");return n[s](()=>{for(var r=nr[f];r--;)nr[r]()}),n[s](Pr(()=>{var e=mr(o,pr).val;if(sr&&(e=!e),e)or||((or=r[F](!0))[w](vr),q(or,o,nr),rr[j][D](or,rr));else if(or){for(var t=nr[f];t--;)nr[t]();nr=[],or[K](),or=null}},hr))}if(b){var cr=b[p](" in ");if(-1!==cr){var dr,_r=b[d](0,cr)[X](),yr=b[d](cr+4)[X](),gr=_r.replace(/[()]/g,"")[c](","),xr=gr[0][X](),Nr=gr[1]?gr[1][X]():null,Er=-1===yr[p](".")?yr:yr[c]("."),Sr=r[k]("s-key"),Tr=Sr?-1===Sr[p](".")?Sr:Sr[c]("."):null,$r=(rr=i[B](""),e[N](null));return r[M](rr),n[s](()=>{for(var r in $r)$r[r][Y][u](r=>r())}),n[s](Pr(()=>{var a=mr(o,Er).val||[];"number"==typeof a&&(a=t.from({length:Math.max(0,Math.floor(a))},(r,e)=>e+1)),t[P](a)&&br(a,f);var n=i.createDocumentFragment(),l=rr[C];dr=e[N](null);for(var v=t[P](a),s=v?a:e[y](a),p=v?a[f]:s[f],c=0;c<p;c++){var h,g=v?c:s[c],b=v?a[c]:a[g];h=null==b||typeof b!==Q?String(b):Tr?mr(b,Tr).val:String(g)+"_o",dr[h]&&(h+="_"+c);var k=$r[h];if(k)k[V][xr]=b,Nr&&(k[V][Nr]=g);else{var A=r.content[F](!0),w=e[N](o);e[x](w,"_i",{value:!0});var E=kr(w);E[xr]=b,Nr&&(E[Nr]=g);for(var S=t[m][d][_](A.childNodes),T=[],$=0;$<S[f];$++)q(S[$],E,T);k={nodes:t[m][d][_](A.childNodes),scope:E,cleanups:T},$r[h]=k}if(k[Z][0]===l)n.childNodes[f]&&rr[j][D](n,l),l=k[Z][k[Z][f]-1][C];else for($=0;$<k[Z][f];$++)n.appendChild(k[Z][$]);dr[h]=!0}for(var O in n.childNodes[f]&&rr[j][D](n,l),$r)dr[O]||($r[O][Y][u](r=>r()),$r[O][Z][u](r=>r[K]()),delete $r[O])},hr))}}if(r.hasAttributes())for(var Or=r.attributes,jr=Or[f];jr--;){var Cr=Or[jr],Lr=Cr[$],qr=Cr[v];if(58===Lr[ar](0)){var Mr=Lr[d](1),Dr=33===qr[ar](0),Fr=Dr?qr[d](1):qr;pr=-1===Fr[p](".")?Fr:Fr[c]("."),O[s]({type:lr,name:Mr,path:pr,neg:Dr})}else if(115===Lr[ar](0)&&45===Lr[ar](1)){let e=Lr[d](2),t=-1===qr[p](".")?qr:qr[c](".");if(e===tr||e===er)((e,t)=>{var a=mr(o,t);typeof a.val===z&&(e===tr?hr(()=>{var e=a.val[_](a.ctx,r);typeof e===z&&n[s](e)}):n[s](()=>a.val[_](a.ctx,r)))})(e,t);else if("effect"===e)n[s](Pr(()=>{var e=mr(o,t);typeof e.val===z&&e.val[_](e.ctx,r)},hr));else if(e===J){O[s]({type:v,path:t}),r._s=o,r._h=r._h||{};var Kr=r[T]===W||r[T]===G||"SELECT"===r[S]?"change":R;Kr===R&&(r[H]("compositionstart",()=>r._c=!0),r[H]("compositionend",()=>{r._c=!1,A({target:r,type:R})})),(r._h[Kr]=r._h[Kr]||[])[s]({model:!0,p:t}),L(Kr)}else"ref"===e?h.$refs[qr]=r:Ar[e]?O[s]({type:e,path:t}):(r._s=o,r._h=r._h||{},(r._h[e]=r._h[e]||[])[U]({p:t}),L(e))}}O[f]&&n[s](Pr(()=>{for(var e=O[f];e--;){var t=O[e],a=mr(o,t.path),n=typeof a.val===z?a.val[_](a.ctx,r):a.val;t[T]===lr?(t.neg&&(n=!n),t[$]===I?Ar[I](r,n):Ar[lr](r,n,t[$])):Ar[t[T]](r,n)}},hr));for(var Br=r.firstChild;Br;){var Hr=Br[C];q(Br,o,n),Br=Hr}}};q(a,h,g),h[tr]&&h[tr]();var rr={unmount:()=>{h[er]&&h[er][_](h);for(var r=g[f];r--;)g[r]();for(var e in b)a.removeEventListener(e,A);a._m=null}};return a._m=rr,rr}},Er=r=>{if(!r||typeof r!==Q)return r;var e=r._t||r;if(t[P](e))return e.map(r=>Er(r));var a={};for(var o in e)a[o]=Er(e[o]);return a};return{data:(r,e)=>{sr[r]=e},start:()=>{for(var r=i.querySelectorAll("[s-data]"),e=r[f];e--;)wr(r[e])},store:(e,t)=>{if(void 0===t)return r[e];r[e]=t;var a=r[e];return a&&typeof a[tr]===z&&a[tr][_](a),a},raw:Er,mount:r=>wr(r),unmount:r=>{r&&r._m&&r._m[ir]()}}})();window.spiki=spiki})();