spikijs 1.1.33 → 1.1.35

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/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "spikijs",
3
3
  "license": "MIT",
4
- "version": "1.1.33",
4
+ "version": "1.1.35",
5
5
  "type": "module",
6
6
  "repository": {
7
7
  "type": "git",
package/spiki.esm.js CHANGED
@@ -96,7 +96,9 @@ var spiki = (() => {
96
96
  var i = 0, len = effects.length;
97
97
  for (; i < len; i++) {
98
98
  var effect = effects[i];
99
- effect.sched ? effect.sched(effect) : effect();
99
+ if (effect !== activeEffect) {
100
+ effect.sched ? effect.sched(effect) : effect();
101
+ }
100
102
  }
101
103
  }
102
104
  };
@@ -193,7 +195,7 @@ var spiki = (() => {
193
195
  var isArr = Array.isArray(target);
194
196
  var hadKey = isArr ? Number(key) < target.length : Object.prototype.hasOwnProperty.call(target, key);
195
197
 
196
- if (target._i && !hadKey) {
198
+ if (!hadKey) {
197
199
  var proto = Object.getPrototypeOf(target);
198
200
  while (proto && proto !== Object.prototype) {
199
201
  var rawProto = proto._t || proto;
@@ -281,13 +283,13 @@ var spiki = (() => {
281
283
  if (!cmpReg[name]) return;
282
284
 
283
285
  var data = cmpReg[name]();
286
+ data.$refs = {};
287
+ data.$root = rootElement;
288
+ data.$store = globalStore;
289
+ data.$parent = parentScope;
284
290
  if (parentScope) Object.setPrototypeOf(data, parentScope);
285
291
 
286
292
  var state = makeReactive(data);
287
- state.$refs = {};
288
- state.$root = rootElement;
289
- state.$store = globalStore;
290
- state.$parent = parentScope;
291
293
 
292
294
  var cleanups = [];
293
295
  var listeners = Object.create(null);
@@ -494,6 +496,7 @@ var spiki = (() => {
494
496
  }
495
497
  else if (attrName.charCodeAt(0) === 115 && attrName.charCodeAt(1) === 45) {
496
498
  let type = attrName.slice(2);
499
+ if (type === 'data') continue;
497
500
  let p = attrValue.indexOf('.') === -1 ? attrValue : attrValue.split('.');
498
501
 
499
502
  if (type === 'init' || type === 'destroy') {
package/spiki.esm.min.js CHANGED
@@ -1 +1 @@
1
- var spiki=(()=>{var e,t=Object.create(null),r=[],a=!1,n=null,o=!1,i=Promise.resolve(),l={blur:1,focus:1,scroll:1,load:1,error:1,mouseenter:1,mouseleave:1,toggle:1},s=e=>{e._q||(e._q=!0,r.push(e),a||(a=!0,i.then(()=>{var e=r;r=[],a=!1;for(var t=0;t<e.length;t++)e[t]._q=!1,e[t]()})))},c=(e,t)=>{var r,a=e;if("string"==typeof t)r=e?e[t]:void 0;else{for(var n=0,o=t.length;n<o-1&&a;)a=a[t[n++]];r=a?a[t[o-1]]:void 0}if(void 0===r){var i=Array.isArray(t)?t.join("."):t;console.warn("[spikijs] Property undefined: "+i)}return{ctx:a,val:r}},p={};["push","pop","shift","unshift","splice","sort","reverse"].forEach(e=>{p[e]=function(...t){o=!0;try{return Array.prototype[e].apply(this,t)}finally{o=!1,u(this,"length")}}});var f=(e,t)=>{if(n){var r=e._d||(Object.defineProperty(e,"_d",{value:Object.create(null),writable:!0}),e._d),a=r[t]||(r[t]=[]);-1===a.indexOf(n)&&(a.push(n),n.deps.push(a))}},u=(e,t)=>{if(!o&&e._d&&e._d[t])for(var r=e._d[t].slice(),a=0,n=r.length;a<n;a++){var i=r[a];i.sched?i.sched(i):i()}},v=e=>{for(var t=e.deps.length;t--;){var r=e.deps[t],a=r.indexOf(e);-1!==a&&(r[a]=r[r.length-1],r.pop())}e.deps=[]},h=(e,t)=>{var r=()=>{v(r);var t=n;n=r;try{e()}finally{n=t}};return r.deps=[],r.sched=t,r(),()=>v(r)},d=e=>e&&"object"==typeof e&&!e._y&&!(e instanceof Node)&&!(e instanceof Date)&&!(e instanceof RegExp)&&!(e instanceof Map)&&!(e instanceof Set)&&!(e instanceof Promise),y=e=>{if(!d(e))return e;if(Object.prototype.hasOwnProperty.call(e,"_p"))return e._p;var t=new Proxy(e,{get:(e,t,r)=>{if("_y"===t)return r===e._p;if("_t"===t)return e;if("_d"===t)return e._d;if("_i"===t)return e._i;if("_c"===t)return e._c;if(Array.isArray(e)&&p.hasOwnProperty(t))return p[t];var a=Object.getOwnPropertyDescriptor(e,t);if(a&&a.get){var o=e._c||(Object.defineProperty(e,"_c",{value:Object.create(null)}),e._c),i=o[t];if(!i){var l=()=>{v(l);var t=n;n=l;try{i.d=!1,i.v=a.get.call(e._p)}finally{n=t}};l.deps=[],l.sched=()=>{i.d||(i.d=!0,u(e,t))},i=o[t]={r:l,d:!0,v:void 0}}return i.d&&i.r(),f(e,t),d(i.v)?y(i.v):i.v}Object.prototype.hasOwnProperty.call(e,t)&&f(e,Array.isArray(e)?"length":t);var s=Reflect.get(e,t,r);return d(s)?y(s):s},set:(e,t,r,a)=>{var n=e[t],i=Array.isArray(e),l=i?Number(t)<e.length:Object.prototype.hasOwnProperty.call(e,t);if(e._i&&!l)for(var s=Object.getPrototypeOf(e);s&&s!==Object.prototype;){var c=s._t||s;if(Object.prototype.hasOwnProperty.call(c,t))return s[t]=r,!0;s=Object.getPrototypeOf(c)}var p=Reflect.set(e,t,r,a);return!o&&p&&(!l||r!==n||r&&"object"==typeof r)&&(u(e,t),i?u(e,"length"):l||u(e,"_k")),p},deleteProperty:(e,t)=>{var r=Object.prototype.hasOwnProperty.call(e,t),a=Reflect.deleteProperty(e,t);return a&&r&&(u(e,t),Array.isArray(e)?u(e,"length"):u(e,"_k")),a},ownKeys:e=>(f(e,"_k"),Reflect.ownKeys(e))});return Object.defineProperty(e,"_p",{value:t}),t};e=y({});var g=Object.create(null);g.text=(e,t)=>{t=null==t?"":t,e.textContent!==String(t)&&(e.textContent=t)},g.html=(e,t)=>{e.innerHTML!=t&&(e.innerHTML=null==t?"":t)},g.value=(e,t)=>{"checkbox"===e.type?e.checked=!!t:"radio"===e.type?e.checked=e.value==t:e.value!=t&&(e.value=null==t?"":t)},g.attr=(e,t,r)=>{if(null==t||!1===t)e.removeAttribute(r);else{var a=!0===t?"":String(t);e.getAttribute(r)!==a&&e.setAttribute(r,a)}},g.class=(e,t)=>{var r=e._n||"",a=Object.create(null);if(r.split(/\s+/).forEach(e=>e&&(a[e]=1)),"string"==typeof t)t.split(/\s+/).forEach(e=>e&&(a[e]=1));else if(t)for(var n in t)t[n]?a[n]=1:delete a[n];var o=Object.keys(a).join(" ");(e.getAttribute("class")||"")!==o&&e.setAttribute("class",o)};var b=(r,a)=>{if(r._m)return r._m;var n=r.getAttribute("s-data");if(t[n]){var o=t[n]();a&&Object.setPrototypeOf(o,a);var i=y(o);i.$refs={},i.$root=r,i.$store=e,i.$parent=a;var p=[],u=Object.create(null),d=e=>{var t=e.target;if("input"!==e.type||!t._c)for(var a=r.parentNode,n=e.type;t&&t!==a&&!e.cancelBubble;){var o=t._h&&t._h[n];if(o){var l=t._s;if(!l||l.$root!==i.$root){t=t.parentNode;continue}for(var s=o.length;s--;){var p=o[s],f=p.p;if(p.model){var u="checkbox"===t.type?t.checked:t.value;if("number"===t.type||"range"===t.type)u=""===u?null:Number(u);else if("string"==typeof u){var v=u.trim();v&&v.length<16&&46!==v.charCodeAt(v.length-1)&&isFinite(v)&&(48===v.charCodeAt(0)&&1!==v.length&&46!==v.charCodeAt(1)||(u=Number(v)))}if("string"==typeof f)l&&(l[f]=u);else{for(var h=l,d=0,y=f.length-1;d<y&&h;)h=h[f[d++]];h&&(h[f[y]]=u)}}else{var g=c(l,f);"function"==typeof g.val&&(Object.defineProperty(e,"currentTarget",{configurable:!0,value:t}),g.val.call(g.ctx,e))}if(e.cancelBubble)break}}t=t.parentNode}},_=e=>{u[e]||(u[e]=!0,r.addEventListener(e,d,!!l[e]))},m=(e,t,a)=>{if(1===e.nodeType&&!e.hasAttribute("s-ignore"))if(e!==r&&e.hasAttribute("s-data")){var n=b(e,t);n&&a.push(n.unmount)}else{var o=e.getAttribute("s-if"),l=!o&&"TEMPLATE"===e.tagName&&e.getAttribute("s-for"),p=[];if(e.hasAttribute("class")&&!e._n&&(e._n=e.getAttribute("class")),o){var u=document.createTextNode(""),v=null,d=[];e.replaceWith(u);var O="!"===o[0],A=O?o.slice(1):o,j=-1===A.indexOf(".")?A:A.split(".");return a.push(()=>{for(var e=d.length;e--;)d[e]()}),a.push(h(()=>{var r=c(t,j).val;if(O&&(r=!r),r)v||((v=e.cloneNode(!0)).removeAttribute("s-if"),m(v,t,d),u.parentNode.insertBefore(v,u));else if(v){for(var a=d.length;a--;)d[a]();d=[],v.remove(),v=null}},s))}if(l){var x=l.indexOf(" in ");if(-1!==x){var P,N=l.slice(0,x).trim(),E=l.slice(x+4).trim(),k=N.replace(/[()]/g,"").split(","),w=k[0].trim(),C=k[1]?k[1].trim():null,S=-1===E.indexOf(".")?E:E.split("."),T=e.getAttribute("s-key"),L=T?-1===T.indexOf(".")?T:T.split("."):null,$=(u=document.createTextNode(""),Object.create(null));return e.replaceWith(u),a.push(()=>{for(var e in $)$[e].cleanups.forEach(e=>e())}),a.push(h(()=>{var r=c(t,S).val||[];"number"==typeof r&&(r=Array.from({length:Math.max(0,Math.floor(r))},(e,t)=>t+1)),Array.isArray(r)&&f(r,"length");var a=document.createDocumentFragment(),n=u.nextSibling;P=Object.create(null);for(var o=Array.isArray(r),i=o?r:Object.keys(r),l=o?r.length:i.length,s=0;s<l;s++){var p,v=o?s:i[s],h=o?r[s]:r[v];p=null==h||"object"!=typeof h?"p_"+String(h):L?"k_"+c(h,L).val:"i_"+String(v),P[p]&&(p+="_"+s);var d=$[p];if(d)d.scope[w]=h,C&&(d.scope[C]=v);else{var g=e.content.cloneNode(!0),b=Object.create(t);Object.defineProperty(b,"_i",{value:!0});var _=y(b);_[w]=h,C&&(_[C]=v);for(var O=Array.prototype.slice.call(g.childNodes),A=[],j=0;j<O.length;j++)m(O[j],_,A);d={nodes:Array.prototype.slice.call(g.childNodes),scope:_,cleanups:A},$[p]=d}if(d.nodes[0]===n)a.childNodes.length&&u.parentNode.insertBefore(a,n),n=d.nodes[d.nodes.length-1].nextSibling;else for(j=0;j<d.nodes.length;j++)a.appendChild(d.nodes[j]);P[p]=!0}for(var x in a.childNodes.length&&u.parentNode.insertBefore(a,n),$)P[x]||($[x].cleanups.forEach(e=>e()),$[x].nodes.forEach(e=>e.remove()),delete $[x])},s))}}if(e.hasAttributes())for(var M=e.attributes,R=M.length;R--;){var B=M[R],D=B.name,q=B.value;if(58===D.charCodeAt(0)){var F=D.slice(1),H=33===q.charCodeAt(0),K=H?q.slice(1):q;j=-1===K.indexOf(".")?K:K.split(".");p.push({type:"attr",name:F,path:j,neg:H})}else if(115===D.charCodeAt(0)&&45===D.charCodeAt(1)){let r=D.slice(2),n=-1===q.indexOf(".")?q:q.split(".");if("init"===r||"destroy"===r)((r,n)=>{var o=c(t,n);"function"==typeof o.val&&("init"===r?s(()=>{var t=o.val.call(o.ctx,e);"function"==typeof t&&a.push(t)}):a.push(()=>o.val.call(o.ctx,e)))})(r,n);else if("effect"===r)a.push(h(()=>{var r=c(t,n);"function"==typeof r.val&&r.val.call(r.ctx,e)},s));else if("model"===r){p.push({type:"value",path:n}),e._s=t,e._h=e._h||{};var W="checkbox"===e.type||"radio"===e.type||"SELECT"===e.tagName?"change":"input";"input"===W&&(e.addEventListener("compositionstart",()=>e._c=!0),e.addEventListener("compositionend",()=>{e._c=!1,e.dispatchEvent(new Event("input",{bubbles:!0}))})),(e._h[W]=e._h[W]||[]).push({model:!0,p:n}),_(W)}else"ref"===r?i.$refs[q]=e:g[r]?p.push({type:r,path:n}):(e._s=t,e._h=e._h||{},(e._h[r]=e._h[r]||[]).unshift({p:n}),_(r))}}for(var z=e.firstChild;z;){var G=z.nextSibling;m(z,t,a),z=G}p.length&&a.push(h(()=>{for(var r=p.length;r--;){var a=p[r],n=c(t,a.path),o="function"==typeof n.val?n.val.call(n.ctx,e):n.val;"attr"===a.type?(a.neg&&(o=!o),"class"===a.name?g.class(e,o):g.attr(e,o,a.name)):g[a.type](e,o)}},s))}};m(r,i,p),i.init&&i.init();var O={unmount:()=>{i.destroy&&i.destroy.call(i);for(var e=p.length;e--;)p[e]();for(var t in u)r.removeEventListener(t,d,!!l[t]);if(i._c)for(var t in i._c)v(i._c[t].r);r._m=null}};return r._m=O,O}},_=e=>{if(!e||"object"!=typeof e||e instanceof Node||e instanceof Date||e instanceof RegExp)return e;var t=e._t||e;if(Array.isArray(t))return t.map(e=>_(e));var r={};for(var a in t)Object.prototype.hasOwnProperty.call(t,a)&&36!==a.charCodeAt(0)&&95!==a.charCodeAt(0)&&(r[a]=_(t[a]));return r};return{data:(e,...r)=>{t[e]=1===r.length?r[0]:()=>{for(var e={},t=0;t<r.length;t++)Object.defineProperties(e,Object.getOwnPropertyDescriptors(r[t]()));return e}},start:()=>{for(var e=document.querySelectorAll("[s-data]"),t=0;t<e.length;t++)b(e[t])},store:(t,r)=>{if(void 0===r)return e[t];e[t]=r;var a=e[t];return a&&"function"==typeof a.init&&a.init.call(a),a},raw:_,mount:e=>b(e),unmount:e=>{e&&e._m&&e._m.unmount()}}})();export default spiki;
1
+ var spiki=(()=>{var e,t=Object.create(null),r=[],a=!1,n=null,o=!1,i=Promise.resolve(),l={blur:1,focus:1,scroll:1,load:1,error:1,mouseenter:1,mouseleave:1,toggle:1},s=e=>{e._q||(e._q=!0,r.push(e),a||(a=!0,i.then(()=>{var e=r;r=[],a=!1;for(var t=0;t<e.length;t++)e[t]._q=!1,e[t]()})))},c=(e,t)=>{var r,a=e;if("string"==typeof t)r=e?e[t]:void 0;else{for(var n=0,o=t.length;n<o-1&&a;)a=a[t[n++]];r=a?a[t[o-1]]:void 0}if(void 0===r){var i=Array.isArray(t)?t.join("."):t;console.warn("[spikijs] Property undefined: "+i)}return{ctx:a,val:r}},p={};["push","pop","shift","unshift","splice","sort","reverse"].forEach(e=>{p[e]=function(...t){o=!0;try{return Array.prototype[e].apply(this,t)}finally{o=!1,u(this,"length")}}});var f=(e,t)=>{if(n){var r=e._d||(Object.defineProperty(e,"_d",{value:Object.create(null),writable:!0}),e._d),a=r[t]||(r[t]=[]);-1===a.indexOf(n)&&(a.push(n),n.deps.push(a))}},u=(e,t)=>{if(!o&&e._d&&e._d[t])for(var r=e._d[t].slice(),a=0,i=r.length;a<i;a++){var l=r[a];l!==n&&(l.sched?l.sched(l):l())}},v=e=>{for(var t=e.deps.length;t--;){var r=e.deps[t],a=r.indexOf(e);-1!==a&&(r[a]=r[r.length-1],r.pop())}e.deps=[]},h=(e,t)=>{var r=()=>{v(r);var t=n;n=r;try{e()}finally{n=t}};return r.deps=[],r.sched=t,r(),()=>v(r)},d=e=>e&&"object"==typeof e&&!e._y&&!(e instanceof Node)&&!(e instanceof Date)&&!(e instanceof RegExp)&&!(e instanceof Map)&&!(e instanceof Set)&&!(e instanceof Promise),y=e=>{if(!d(e))return e;if(Object.prototype.hasOwnProperty.call(e,"_p"))return e._p;var t=new Proxy(e,{get:(e,t,r)=>{if("_y"===t)return r===e._p;if("_t"===t)return e;if("_d"===t)return e._d;if("_i"===t)return e._i;if("_c"===t)return e._c;if(Array.isArray(e)&&p.hasOwnProperty(t))return p[t];var a=Object.getOwnPropertyDescriptor(e,t);if(a&&a.get){var o=e._c||(Object.defineProperty(e,"_c",{value:Object.create(null)}),e._c),i=o[t];if(!i){var l=()=>{v(l);var t=n;n=l;try{i.d=!1,i.v=a.get.call(e._p)}finally{n=t}};l.deps=[],l.sched=()=>{i.d||(i.d=!0,u(e,t))},i=o[t]={r:l,d:!0,v:void 0}}return i.d&&i.r(),f(e,t),d(i.v)?y(i.v):i.v}Object.prototype.hasOwnProperty.call(e,t)&&f(e,Array.isArray(e)?"length":t);var s=Reflect.get(e,t,r);return d(s)?y(s):s},set:(e,t,r,a)=>{var n=e[t],i=Array.isArray(e),l=i?Number(t)<e.length:Object.prototype.hasOwnProperty.call(e,t);if(!l)for(var s=Object.getPrototypeOf(e);s&&s!==Object.prototype;){var c=s._t||s;if(Object.prototype.hasOwnProperty.call(c,t))return s[t]=r,!0;s=Object.getPrototypeOf(c)}var p=Reflect.set(e,t,r,a);return!o&&p&&(!l||r!==n||r&&"object"==typeof r)&&(u(e,t),i?u(e,"length"):l||u(e,"_k")),p},deleteProperty:(e,t)=>{var r=Object.prototype.hasOwnProperty.call(e,t),a=Reflect.deleteProperty(e,t);return a&&r&&(u(e,t),Array.isArray(e)?u(e,"length"):u(e,"_k")),a},ownKeys:e=>(f(e,"_k"),Reflect.ownKeys(e))});return Object.defineProperty(e,"_p",{value:t}),t};e=y({});var g=Object.create(null);g.text=(e,t)=>{t=null==t?"":t,e.textContent!==String(t)&&(e.textContent=t)},g.html=(e,t)=>{e.innerHTML!=t&&(e.innerHTML=null==t?"":t)},g.value=(e,t)=>{"checkbox"===e.type?e.checked=!!t:"radio"===e.type?e.checked=e.value==t:e.value!=t&&(e.value=null==t?"":t)},g.attr=(e,t,r)=>{if(null==t||!1===t)e.removeAttribute(r);else{var a=!0===t?"":String(t);e.getAttribute(r)!==a&&e.setAttribute(r,a)}},g.class=(e,t)=>{var r=e._n||"",a=Object.create(null);if(r.split(/\s+/).forEach(e=>e&&(a[e]=1)),"string"==typeof t)t.split(/\s+/).forEach(e=>e&&(a[e]=1));else if(t)for(var n in t)t[n]?a[n]=1:delete a[n];var o=Object.keys(a).join(" ");(e.getAttribute("class")||"")!==o&&e.setAttribute("class",o)};var b=(r,a)=>{if(r._m)return r._m;var n=r.getAttribute("s-data");if(t[n]){var o=t[n]();o.$refs={},o.$root=r,o.$store=e,o.$parent=a,a&&Object.setPrototypeOf(o,a);var i=y(o),p=[],u=Object.create(null),d=e=>{var t=e.target;if("input"!==e.type||!t._c)for(var a=r.parentNode,n=e.type;t&&t!==a&&!e.cancelBubble;){var o=t._h&&t._h[n];if(o){var l=t._s;if(!l||l.$root!==i.$root){t=t.parentNode;continue}for(var s=o.length;s--;){var p=o[s],f=p.p;if(p.model){var u="checkbox"===t.type?t.checked:t.value;if("number"===t.type||"range"===t.type)u=""===u?null:Number(u);else if("string"==typeof u){var v=u.trim();v&&v.length<16&&46!==v.charCodeAt(v.length-1)&&isFinite(v)&&(48===v.charCodeAt(0)&&1!==v.length&&46!==v.charCodeAt(1)||(u=Number(v)))}if("string"==typeof f)l&&(l[f]=u);else{for(var h=l,d=0,y=f.length-1;d<y&&h;)h=h[f[d++]];h&&(h[f[y]]=u)}}else{var g=c(l,f);"function"==typeof g.val&&(Object.defineProperty(e,"currentTarget",{configurable:!0,value:t}),g.val.call(g.ctx,e))}if(e.cancelBubble)break}}t=t.parentNode}},_=e=>{u[e]||(u[e]=!0,r.addEventListener(e,d,!!l[e]))},m=(e,t,a)=>{if(1===e.nodeType&&!e.hasAttribute("s-ignore"))if(e!==r&&e.hasAttribute("s-data")){var n=b(e,t);n&&a.push(n.unmount)}else{var o=e.getAttribute("s-if"),l=!o&&"TEMPLATE"===e.tagName&&e.getAttribute("s-for"),p=[];if(e.hasAttribute("class")&&!e._n&&(e._n=e.getAttribute("class")),o){var u=document.createTextNode(""),v=null,d=[];e.replaceWith(u);var O="!"===o[0],A=O?o.slice(1):o,j=-1===A.indexOf(".")?A:A.split(".");return a.push(()=>{for(var e=d.length;e--;)d[e]()}),a.push(h(()=>{var r=c(t,j).val;if(O&&(r=!r),r)v||((v=e.cloneNode(!0)).removeAttribute("s-if"),m(v,t,d),u.parentNode.insertBefore(v,u));else if(v){for(var a=d.length;a--;)d[a]();d=[],v.remove(),v=null}},s))}if(l){var x=l.indexOf(" in ");if(-1!==x){var P,N=l.slice(0,x).trim(),E=l.slice(x+4).trim(),k=N.replace(/[()]/g,"").split(","),w=k[0].trim(),C=k[1]?k[1].trim():null,S=-1===E.indexOf(".")?E:E.split("."),T=e.getAttribute("s-key"),L=T?-1===T.indexOf(".")?T:T.split("."):null,$=(u=document.createTextNode(""),Object.create(null));return e.replaceWith(u),a.push(()=>{for(var e in $)$[e].cleanups.forEach(e=>e())}),a.push(h(()=>{var r=c(t,S).val||[];"number"==typeof r&&(r=Array.from({length:Math.max(0,Math.floor(r))},(e,t)=>t+1)),Array.isArray(r)&&f(r,"length");var a=document.createDocumentFragment(),n=u.nextSibling;P=Object.create(null);for(var o=Array.isArray(r),i=o?r:Object.keys(r),l=o?r.length:i.length,s=0;s<l;s++){var p,v=o?s:i[s],h=o?r[s]:r[v];p=null==h||"object"!=typeof h?"p_"+String(h):L?"k_"+c(h,L).val:"i_"+String(v),P[p]&&(p+="_"+s);var d=$[p];if(d)d.scope[w]=h,C&&(d.scope[C]=v);else{var g=e.content.cloneNode(!0),b=Object.create(t);Object.defineProperty(b,"_i",{value:!0});var _=y(b);_[w]=h,C&&(_[C]=v);for(var O=Array.prototype.slice.call(g.childNodes),A=[],j=0;j<O.length;j++)m(O[j],_,A);d={nodes:Array.prototype.slice.call(g.childNodes),scope:_,cleanups:A},$[p]=d}if(d.nodes[0]===n)a.childNodes.length&&u.parentNode.insertBefore(a,n),n=d.nodes[d.nodes.length-1].nextSibling;else for(j=0;j<d.nodes.length;j++)a.appendChild(d.nodes[j]);P[p]=!0}for(var x in a.childNodes.length&&u.parentNode.insertBefore(a,n),$)P[x]||($[x].cleanups.forEach(e=>e()),$[x].nodes.forEach(e=>e.remove()),delete $[x])},s))}}if(e.hasAttributes())for(var M=e.attributes,R=M.length;R--;){var B=M[R],D=B.name,q=B.value;if(58===D.charCodeAt(0)){var F=D.slice(1),H=33===q.charCodeAt(0),K=H?q.slice(1):q;j=-1===K.indexOf(".")?K:K.split(".");p.push({type:"attr",name:F,path:j,neg:H})}else if(115===D.charCodeAt(0)&&45===D.charCodeAt(1)){let r=D.slice(2);if("data"===r)continue;let n=-1===q.indexOf(".")?q:q.split(".");if("init"===r||"destroy"===r)((r,n)=>{var o=c(t,n);"function"==typeof o.val&&("init"===r?s(()=>{var t=o.val.call(o.ctx,e);"function"==typeof t&&a.push(t)}):a.push(()=>o.val.call(o.ctx,e)))})(r,n);else if("effect"===r)a.push(h(()=>{var r=c(t,n);"function"==typeof r.val&&r.val.call(r.ctx,e)},s));else if("model"===r){p.push({type:"value",path:n}),e._s=t,e._h=e._h||{};var W="checkbox"===e.type||"radio"===e.type||"SELECT"===e.tagName?"change":"input";"input"===W&&(e.addEventListener("compositionstart",()=>e._c=!0),e.addEventListener("compositionend",()=>{e._c=!1,e.dispatchEvent(new Event("input",{bubbles:!0}))})),(e._h[W]=e._h[W]||[]).push({model:!0,p:n}),_(W)}else"ref"===r?i.$refs[q]=e:g[r]?p.push({type:r,path:n}):(e._s=t,e._h=e._h||{},(e._h[r]=e._h[r]||[]).unshift({p:n}),_(r))}}for(var z=e.firstChild;z;){var G=z.nextSibling;m(z,t,a),z=G}p.length&&a.push(h(()=>{for(var r=p.length;r--;){var a=p[r],n=c(t,a.path),o="function"==typeof n.val?n.val.call(n.ctx,e):n.val;"attr"===a.type?(a.neg&&(o=!o),"class"===a.name?g.class(e,o):g.attr(e,o,a.name)):g[a.type](e,o)}},s))}};m(r,i,p),i.init&&i.init();var O={unmount:()=>{i.destroy&&i.destroy.call(i);for(var e=p.length;e--;)p[e]();for(var t in u)r.removeEventListener(t,d,!!l[t]);if(i._c)for(var t in i._c)v(i._c[t].r);r._m=null}};return r._m=O,O}},_=e=>{if(!e||"object"!=typeof e||e instanceof Node||e instanceof Date||e instanceof RegExp)return e;var t=e._t||e;if(Array.isArray(t))return t.map(e=>_(e));var r={};for(var a in t)Object.prototype.hasOwnProperty.call(t,a)&&36!==a.charCodeAt(0)&&95!==a.charCodeAt(0)&&(r[a]=_(t[a]));return r};return{data:(e,...r)=>{t[e]=1===r.length?r[0]:()=>{for(var e={},t=0;t<r.length;t++)Object.defineProperties(e,Object.getOwnPropertyDescriptors(r[t]()));return e}},start:()=>{for(var e=document.querySelectorAll("[s-data]"),t=0;t<e.length;t++)b(e[t])},store:(t,r)=>{if(void 0===r)return e[t];e[t]=r;var a=e[t];return a&&"function"==typeof a.init&&a.init.call(a),a},raw:_,mount:e=>b(e),unmount:e=>{e&&e._m&&e._m.unmount()}}})();export default spiki;
package/spiki.js CHANGED
@@ -99,7 +99,9 @@ var spiki = (() => {
99
99
  var i = 0, len = effects.length;
100
100
  for (; i < len; i++) {
101
101
  var effect = effects[i];
102
- effect.sched ? effect.sched(effect) : effect();
102
+ if (effect !== activeEffect) {
103
+ effect.sched ? effect.sched(effect) : effect();
104
+ }
103
105
  }
104
106
  }
105
107
  };
@@ -196,7 +198,7 @@ var spiki = (() => {
196
198
  var isArr = Array.isArray(target);
197
199
  var hadKey = isArr ? Number(key) < target.length : Object.prototype.hasOwnProperty.call(target, key);
198
200
 
199
- if (target._i && !hadKey) {
201
+ if (!hadKey) {
200
202
  var proto = Object.getPrototypeOf(target);
201
203
  while (proto && proto !== Object.prototype) {
202
204
  var rawProto = proto._t || proto;
@@ -284,13 +286,13 @@ var spiki = (() => {
284
286
  if (!cmpReg[name]) return;
285
287
 
286
288
  var data = cmpReg[name]();
289
+ data.$refs = {};
290
+ data.$root = rootElement;
291
+ data.$store = globalStore;
292
+ data.$parent = parentScope;
287
293
  if (parentScope) Object.setPrototypeOf(data, parentScope);
288
294
 
289
295
  var state = makeReactive(data);
290
- state.$refs = {};
291
- state.$root = rootElement;
292
- state.$store = globalStore;
293
- state.$parent = parentScope;
294
296
 
295
297
  var cleanups = [];
296
298
  var listeners = Object.create(null);
@@ -497,6 +499,7 @@ var spiki = (() => {
497
499
  }
498
500
  else if (attrName.charCodeAt(0) === 115 && attrName.charCodeAt(1) === 45) {
499
501
  let type = attrName.slice(2);
502
+ if (type === 'data') continue;
500
503
  let p = attrValue.indexOf('.') === -1 ? attrValue : attrValue.split('.');
501
504
 
502
505
  if (type === 'init' || type === 'destroy') {
package/spiki.min.js CHANGED
@@ -1 +1 @@
1
- !function(){"use strict";var e=(()=>{var e,t=Object.create(null),r=[],a=!1,n=null,o=!1,i=Promise.resolve(),l={blur:1,focus:1,scroll:1,load:1,error:1,mouseenter:1,mouseleave:1,toggle:1},s=e=>{e._q||(e._q=!0,r.push(e),a||(a=!0,i.then(()=>{var e=r;r=[],a=!1;for(var t=0;t<e.length;t++)e[t]._q=!1,e[t]()})))},c=(e,t)=>{var r,a=e;if("string"==typeof t)r=e?e[t]:void 0;else{for(var n=0,o=t.length;n<o-1&&a;)a=a[t[n++]];r=a?a[t[o-1]]:void 0}if(void 0===r){var i=Array.isArray(t)?t.join("."):t;console.warn("[spikijs] Property undefined: "+i)}return{ctx:a,val:r}},f={};["push","pop","shift","unshift","splice","sort","reverse"].forEach(e=>{f[e]=function(...t){o=!0;try{return Array.prototype[e].apply(this,t)}finally{o=!1,u(this,"length")}}});var p=(e,t)=>{if(n){var r=e._d||(Object.defineProperty(e,"_d",{value:Object.create(null),writable:!0}),e._d),a=r[t]||(r[t]=[]);-1===a.indexOf(n)&&(a.push(n),n.deps.push(a))}},u=(e,t)=>{if(!o&&e._d&&e._d[t])for(var r=e._d[t].slice(),a=0,n=r.length;a<n;a++){var i=r[a];i.sched?i.sched(i):i()}},v=e=>{for(var t=e.deps.length;t--;){var r=e.deps[t],a=r.indexOf(e);-1!==a&&(r[a]=r[r.length-1],r.pop())}e.deps=[]},h=(e,t)=>{var r=()=>{v(r);var t=n;n=r;try{e()}finally{n=t}};return r.deps=[],r.sched=t,r(),()=>v(r)},d=e=>e&&"object"==typeof e&&!e._y&&!(e instanceof Node)&&!(e instanceof Date)&&!(e instanceof RegExp)&&!(e instanceof Map)&&!(e instanceof Set)&&!(e instanceof Promise),y=e=>{if(!d(e))return e;if(Object.prototype.hasOwnProperty.call(e,"_p"))return e._p;var t=new Proxy(e,{get:(e,t,r)=>{if("_y"===t)return r===e._p;if("_t"===t)return e;if("_d"===t)return e._d;if("_i"===t)return e._i;if("_c"===t)return e._c;if(Array.isArray(e)&&f.hasOwnProperty(t))return f[t];var a=Object.getOwnPropertyDescriptor(e,t);if(a&&a.get){var o=e._c||(Object.defineProperty(e,"_c",{value:Object.create(null)}),e._c),i=o[t];if(!i){var l=()=>{v(l);var t=n;n=l;try{i.d=!1,i.v=a.get.call(e._p)}finally{n=t}};l.deps=[],l.sched=()=>{i.d||(i.d=!0,u(e,t))},i=o[t]={r:l,d:!0,v:void 0}}return i.d&&i.r(),p(e,t),d(i.v)?y(i.v):i.v}Object.prototype.hasOwnProperty.call(e,t)&&p(e,Array.isArray(e)?"length":t);var s=Reflect.get(e,t,r);return d(s)?y(s):s},set:(e,t,r,a)=>{var n=e[t],i=Array.isArray(e),l=i?Number(t)<e.length:Object.prototype.hasOwnProperty.call(e,t);if(e._i&&!l)for(var s=Object.getPrototypeOf(e);s&&s!==Object.prototype;){var c=s._t||s;if(Object.prototype.hasOwnProperty.call(c,t))return s[t]=r,!0;s=Object.getPrototypeOf(c)}var f=Reflect.set(e,t,r,a);return!o&&f&&(!l||r!==n||r&&"object"==typeof r)&&(u(e,t),i?u(e,"length"):l||u(e,"_k")),f},deleteProperty:(e,t)=>{var r=Object.prototype.hasOwnProperty.call(e,t),a=Reflect.deleteProperty(e,t);return a&&r&&(u(e,t),Array.isArray(e)?u(e,"length"):u(e,"_k")),a},ownKeys:e=>(p(e,"_k"),Reflect.ownKeys(e))});return Object.defineProperty(e,"_p",{value:t}),t};e=y({});var g=Object.create(null);g.text=(e,t)=>{t=null==t?"":t,e.textContent!==String(t)&&(e.textContent=t)},g.html=(e,t)=>{e.innerHTML!=t&&(e.innerHTML=null==t?"":t)},g.value=(e,t)=>{"checkbox"===e.type?e.checked=!!t:"radio"===e.type?e.checked=e.value==t:e.value!=t&&(e.value=null==t?"":t)},g.attr=(e,t,r)=>{if(null==t||!1===t)e.removeAttribute(r);else{var a=!0===t?"":String(t);e.getAttribute(r)!==a&&e.setAttribute(r,a)}},g.class=(e,t)=>{var r=e._n||"",a=Object.create(null);if(r.split(/\s+/).forEach(e=>e&&(a[e]=1)),"string"==typeof t)t.split(/\s+/).forEach(e=>e&&(a[e]=1));else if(t)for(var n in t)t[n]?a[n]=1:delete a[n];var o=Object.keys(a).join(" ");(e.getAttribute("class")||"")!==o&&e.setAttribute("class",o)};var b=(r,a)=>{if(r._m)return r._m;var n=r.getAttribute("s-data");if(t[n]){var o=t[n]();a&&Object.setPrototypeOf(o,a);var i=y(o);i.$refs={},i.$root=r,i.$store=e,i.$parent=a;var f=[],u=Object.create(null),d=e=>{var t=e.target;if("input"!==e.type||!t._c)for(var a=r.parentNode,n=e.type;t&&t!==a&&!e.cancelBubble;){var o=t._h&&t._h[n];if(o){var l=t._s;if(!l||l.$root!==i.$root){t=t.parentNode;continue}for(var s=o.length;s--;){var f=o[s],p=f.p;if(f.model){var u="checkbox"===t.type?t.checked:t.value;if("number"===t.type||"range"===t.type)u=""===u?null:Number(u);else if("string"==typeof u){var v=u.trim();v&&v.length<16&&46!==v.charCodeAt(v.length-1)&&isFinite(v)&&(48===v.charCodeAt(0)&&1!==v.length&&46!==v.charCodeAt(1)||(u=Number(v)))}if("string"==typeof p)l&&(l[p]=u);else{for(var h=l,d=0,y=p.length-1;d<y&&h;)h=h[p[d++]];h&&(h[p[y]]=u)}}else{var g=c(l,p);"function"==typeof g.val&&(Object.defineProperty(e,"currentTarget",{configurable:!0,value:t}),g.val.call(g.ctx,e))}if(e.cancelBubble)break}}t=t.parentNode}},_=e=>{u[e]||(u[e]=!0,r.addEventListener(e,d,!!l[e]))},m=(e,t,a)=>{if(1===e.nodeType&&!e.hasAttribute("s-ignore"))if(e!==r&&e.hasAttribute("s-data")){var n=b(e,t);n&&a.push(n.unmount)}else{var o=e.getAttribute("s-if"),l=!o&&"TEMPLATE"===e.tagName&&e.getAttribute("s-for"),f=[];if(e.hasAttribute("class")&&!e._n&&(e._n=e.getAttribute("class")),o){var u=document.createTextNode(""),v=null,d=[];e.replaceWith(u);var O="!"===o[0],A=O?o.slice(1):o,j=-1===A.indexOf(".")?A:A.split(".");return a.push(()=>{for(var e=d.length;e--;)d[e]()}),a.push(h(()=>{var r=c(t,j).val;if(O&&(r=!r),r)v||((v=e.cloneNode(!0)).removeAttribute("s-if"),m(v,t,d),u.parentNode.insertBefore(v,u));else if(v){for(var a=d.length;a--;)d[a]();d=[],v.remove(),v=null}},s))}if(l){var x=l.indexOf(" in ");if(-1!==x){var P,N=l.slice(0,x).trim(),w=l.slice(x+4).trim(),E=N.replace(/[()]/g,"").split(","),k=E[0].trim(),C=E[1]?E[1].trim():null,S=-1===w.indexOf(".")?w:w.split("."),T=e.getAttribute("s-key"),L=T?-1===T.indexOf(".")?T:T.split("."):null,$=(u=document.createTextNode(""),Object.create(null));return e.replaceWith(u),a.push(()=>{for(var e in $)$[e].cleanups.forEach(e=>e())}),a.push(h(()=>{var r=c(t,S).val||[];"number"==typeof r&&(r=Array.from({length:Math.max(0,Math.floor(r))},(e,t)=>t+1)),Array.isArray(r)&&p(r,"length");var a=document.createDocumentFragment(),n=u.nextSibling;P=Object.create(null);for(var o=Array.isArray(r),i=o?r:Object.keys(r),l=o?r.length:i.length,s=0;s<l;s++){var f,v=o?s:i[s],h=o?r[s]:r[v];f=null==h||"object"!=typeof h?"p_"+String(h):L?"k_"+c(h,L).val:"i_"+String(v),P[f]&&(f+="_"+s);var d=$[f];if(d)d.scope[k]=h,C&&(d.scope[C]=v);else{var g=e.content.cloneNode(!0),b=Object.create(t);Object.defineProperty(b,"_i",{value:!0});var _=y(b);_[k]=h,C&&(_[C]=v);for(var O=Array.prototype.slice.call(g.childNodes),A=[],j=0;j<O.length;j++)m(O[j],_,A);d={nodes:Array.prototype.slice.call(g.childNodes),scope:_,cleanups:A},$[f]=d}if(d.nodes[0]===n)a.childNodes.length&&u.parentNode.insertBefore(a,n),n=d.nodes[d.nodes.length-1].nextSibling;else for(j=0;j<d.nodes.length;j++)a.appendChild(d.nodes[j]);P[f]=!0}for(var x in a.childNodes.length&&u.parentNode.insertBefore(a,n),$)P[x]||($[x].cleanups.forEach(e=>e()),$[x].nodes.forEach(e=>e.remove()),delete $[x])},s))}}if(e.hasAttributes())for(var M=e.attributes,R=M.length;R--;){var B=M[R],D=B.name,q=B.value;if(58===D.charCodeAt(0)){var F=D.slice(1),H=33===q.charCodeAt(0),K=H?q.slice(1):q;j=-1===K.indexOf(".")?K:K.split(".");f.push({type:"attr",name:F,path:j,neg:H})}else if(115===D.charCodeAt(0)&&45===D.charCodeAt(1)){let r=D.slice(2),n=-1===q.indexOf(".")?q:q.split(".");if("init"===r||"destroy"===r)((r,n)=>{var o=c(t,n);"function"==typeof o.val&&("init"===r?s(()=>{var t=o.val.call(o.ctx,e);"function"==typeof t&&a.push(t)}):a.push(()=>o.val.call(o.ctx,e)))})(r,n);else if("effect"===r)a.push(h(()=>{var r=c(t,n);"function"==typeof r.val&&r.val.call(r.ctx,e)},s));else if("model"===r){f.push({type:"value",path:n}),e._s=t,e._h=e._h||{};var W="checkbox"===e.type||"radio"===e.type||"SELECT"===e.tagName?"change":"input";"input"===W&&(e.addEventListener("compositionstart",()=>e._c=!0),e.addEventListener("compositionend",()=>{e._c=!1,e.dispatchEvent(new Event("input",{bubbles:!0}))})),(e._h[W]=e._h[W]||[]).push({model:!0,p:n}),_(W)}else"ref"===r?i.$refs[q]=e:g[r]?f.push({type:r,path:n}):(e._s=t,e._h=e._h||{},(e._h[r]=e._h[r]||[]).unshift({p:n}),_(r))}}for(var z=e.firstChild;z;){var G=z.nextSibling;m(z,t,a),z=G}f.length&&a.push(h(()=>{for(var r=f.length;r--;){var a=f[r],n=c(t,a.path),o="function"==typeof n.val?n.val.call(n.ctx,e):n.val;"attr"===a.type?(a.neg&&(o=!o),"class"===a.name?g.class(e,o):g.attr(e,o,a.name)):g[a.type](e,o)}},s))}};m(r,i,f),i.init&&i.init();var O={unmount:()=>{i.destroy&&i.destroy.call(i);for(var e=f.length;e--;)f[e]();for(var t in u)r.removeEventListener(t,d,!!l[t]);if(i._c)for(var t in i._c)v(i._c[t].r);r._m=null}};return r._m=O,O}},_=e=>{if(!e||"object"!=typeof e||e instanceof Node||e instanceof Date||e instanceof RegExp)return e;var t=e._t||e;if(Array.isArray(t))return t.map(e=>_(e));var r={};for(var a in t)Object.prototype.hasOwnProperty.call(t,a)&&36!==a.charCodeAt(0)&&95!==a.charCodeAt(0)&&(r[a]=_(t[a]));return r};return{data:(e,...r)=>{t[e]=1===r.length?r[0]:()=>{for(var e={},t=0;t<r.length;t++)Object.defineProperties(e,Object.getOwnPropertyDescriptors(r[t]()));return e}},start:()=>{for(var e=document.querySelectorAll("[s-data]"),t=0;t<e.length;t++)b(e[t])},store:(t,r)=>{if(void 0===r)return e[t];e[t]=r;var a=e[t];return a&&"function"==typeof a.init&&a.init.call(a),a},raw:_,mount:e=>b(e),unmount:e=>{e&&e._m&&e._m.unmount()}}})();window.spiki=e}();
1
+ !function(){"use strict";var e=(()=>{var e,t=Object.create(null),r=[],a=!1,n=null,o=!1,i=Promise.resolve(),l={blur:1,focus:1,scroll:1,load:1,error:1,mouseenter:1,mouseleave:1,toggle:1},s=e=>{e._q||(e._q=!0,r.push(e),a||(a=!0,i.then(()=>{var e=r;r=[],a=!1;for(var t=0;t<e.length;t++)e[t]._q=!1,e[t]()})))},c=(e,t)=>{var r,a=e;if("string"==typeof t)r=e?e[t]:void 0;else{for(var n=0,o=t.length;n<o-1&&a;)a=a[t[n++]];r=a?a[t[o-1]]:void 0}if(void 0===r){var i=Array.isArray(t)?t.join("."):t;console.warn("[spikijs] Property undefined: "+i)}return{ctx:a,val:r}},f={};["push","pop","shift","unshift","splice","sort","reverse"].forEach(e=>{f[e]=function(...t){o=!0;try{return Array.prototype[e].apply(this,t)}finally{o=!1,u(this,"length")}}});var p=(e,t)=>{if(n){var r=e._d||(Object.defineProperty(e,"_d",{value:Object.create(null),writable:!0}),e._d),a=r[t]||(r[t]=[]);-1===a.indexOf(n)&&(a.push(n),n.deps.push(a))}},u=(e,t)=>{if(!o&&e._d&&e._d[t])for(var r=e._d[t].slice(),a=0,i=r.length;a<i;a++){var l=r[a];l!==n&&(l.sched?l.sched(l):l())}},v=e=>{for(var t=e.deps.length;t--;){var r=e.deps[t],a=r.indexOf(e);-1!==a&&(r[a]=r[r.length-1],r.pop())}e.deps=[]},h=(e,t)=>{var r=()=>{v(r);var t=n;n=r;try{e()}finally{n=t}};return r.deps=[],r.sched=t,r(),()=>v(r)},d=e=>e&&"object"==typeof e&&!e._y&&!(e instanceof Node)&&!(e instanceof Date)&&!(e instanceof RegExp)&&!(e instanceof Map)&&!(e instanceof Set)&&!(e instanceof Promise),y=e=>{if(!d(e))return e;if(Object.prototype.hasOwnProperty.call(e,"_p"))return e._p;var t=new Proxy(e,{get:(e,t,r)=>{if("_y"===t)return r===e._p;if("_t"===t)return e;if("_d"===t)return e._d;if("_i"===t)return e._i;if("_c"===t)return e._c;if(Array.isArray(e)&&f.hasOwnProperty(t))return f[t];var a=Object.getOwnPropertyDescriptor(e,t);if(a&&a.get){var o=e._c||(Object.defineProperty(e,"_c",{value:Object.create(null)}),e._c),i=o[t];if(!i){var l=()=>{v(l);var t=n;n=l;try{i.d=!1,i.v=a.get.call(e._p)}finally{n=t}};l.deps=[],l.sched=()=>{i.d||(i.d=!0,u(e,t))},i=o[t]={r:l,d:!0,v:void 0}}return i.d&&i.r(),p(e,t),d(i.v)?y(i.v):i.v}Object.prototype.hasOwnProperty.call(e,t)&&p(e,Array.isArray(e)?"length":t);var s=Reflect.get(e,t,r);return d(s)?y(s):s},set:(e,t,r,a)=>{var n=e[t],i=Array.isArray(e),l=i?Number(t)<e.length:Object.prototype.hasOwnProperty.call(e,t);if(!l)for(var s=Object.getPrototypeOf(e);s&&s!==Object.prototype;){var c=s._t||s;if(Object.prototype.hasOwnProperty.call(c,t))return s[t]=r,!0;s=Object.getPrototypeOf(c)}var f=Reflect.set(e,t,r,a);return!o&&f&&(!l||r!==n||r&&"object"==typeof r)&&(u(e,t),i?u(e,"length"):l||u(e,"_k")),f},deleteProperty:(e,t)=>{var r=Object.prototype.hasOwnProperty.call(e,t),a=Reflect.deleteProperty(e,t);return a&&r&&(u(e,t),Array.isArray(e)?u(e,"length"):u(e,"_k")),a},ownKeys:e=>(p(e,"_k"),Reflect.ownKeys(e))});return Object.defineProperty(e,"_p",{value:t}),t};e=y({});var g=Object.create(null);g.text=(e,t)=>{t=null==t?"":t,e.textContent!==String(t)&&(e.textContent=t)},g.html=(e,t)=>{e.innerHTML!=t&&(e.innerHTML=null==t?"":t)},g.value=(e,t)=>{"checkbox"===e.type?e.checked=!!t:"radio"===e.type?e.checked=e.value==t:e.value!=t&&(e.value=null==t?"":t)},g.attr=(e,t,r)=>{if(null==t||!1===t)e.removeAttribute(r);else{var a=!0===t?"":String(t);e.getAttribute(r)!==a&&e.setAttribute(r,a)}},g.class=(e,t)=>{var r=e._n||"",a=Object.create(null);if(r.split(/\s+/).forEach(e=>e&&(a[e]=1)),"string"==typeof t)t.split(/\s+/).forEach(e=>e&&(a[e]=1));else if(t)for(var n in t)t[n]?a[n]=1:delete a[n];var o=Object.keys(a).join(" ");(e.getAttribute("class")||"")!==o&&e.setAttribute("class",o)};var b=(r,a)=>{if(r._m)return r._m;var n=r.getAttribute("s-data");if(t[n]){var o=t[n]();o.$refs={},o.$root=r,o.$store=e,o.$parent=a,a&&Object.setPrototypeOf(o,a);var i=y(o),f=[],u=Object.create(null),d=e=>{var t=e.target;if("input"!==e.type||!t._c)for(var a=r.parentNode,n=e.type;t&&t!==a&&!e.cancelBubble;){var o=t._h&&t._h[n];if(o){var l=t._s;if(!l||l.$root!==i.$root){t=t.parentNode;continue}for(var s=o.length;s--;){var f=o[s],p=f.p;if(f.model){var u="checkbox"===t.type?t.checked:t.value;if("number"===t.type||"range"===t.type)u=""===u?null:Number(u);else if("string"==typeof u){var v=u.trim();v&&v.length<16&&46!==v.charCodeAt(v.length-1)&&isFinite(v)&&(48===v.charCodeAt(0)&&1!==v.length&&46!==v.charCodeAt(1)||(u=Number(v)))}if("string"==typeof p)l&&(l[p]=u);else{for(var h=l,d=0,y=p.length-1;d<y&&h;)h=h[p[d++]];h&&(h[p[y]]=u)}}else{var g=c(l,p);"function"==typeof g.val&&(Object.defineProperty(e,"currentTarget",{configurable:!0,value:t}),g.val.call(g.ctx,e))}if(e.cancelBubble)break}}t=t.parentNode}},_=e=>{u[e]||(u[e]=!0,r.addEventListener(e,d,!!l[e]))},m=(e,t,a)=>{if(1===e.nodeType&&!e.hasAttribute("s-ignore"))if(e!==r&&e.hasAttribute("s-data")){var n=b(e,t);n&&a.push(n.unmount)}else{var o=e.getAttribute("s-if"),l=!o&&"TEMPLATE"===e.tagName&&e.getAttribute("s-for"),f=[];if(e.hasAttribute("class")&&!e._n&&(e._n=e.getAttribute("class")),o){var u=document.createTextNode(""),v=null,d=[];e.replaceWith(u);var O="!"===o[0],A=O?o.slice(1):o,j=-1===A.indexOf(".")?A:A.split(".");return a.push(()=>{for(var e=d.length;e--;)d[e]()}),a.push(h(()=>{var r=c(t,j).val;if(O&&(r=!r),r)v||((v=e.cloneNode(!0)).removeAttribute("s-if"),m(v,t,d),u.parentNode.insertBefore(v,u));else if(v){for(var a=d.length;a--;)d[a]();d=[],v.remove(),v=null}},s))}if(l){var x=l.indexOf(" in ");if(-1!==x){var P,N=l.slice(0,x).trim(),w=l.slice(x+4).trim(),E=N.replace(/[()]/g,"").split(","),k=E[0].trim(),C=E[1]?E[1].trim():null,S=-1===w.indexOf(".")?w:w.split("."),T=e.getAttribute("s-key"),L=T?-1===T.indexOf(".")?T:T.split("."):null,$=(u=document.createTextNode(""),Object.create(null));return e.replaceWith(u),a.push(()=>{for(var e in $)$[e].cleanups.forEach(e=>e())}),a.push(h(()=>{var r=c(t,S).val||[];"number"==typeof r&&(r=Array.from({length:Math.max(0,Math.floor(r))},(e,t)=>t+1)),Array.isArray(r)&&p(r,"length");var a=document.createDocumentFragment(),n=u.nextSibling;P=Object.create(null);for(var o=Array.isArray(r),i=o?r:Object.keys(r),l=o?r.length:i.length,s=0;s<l;s++){var f,v=o?s:i[s],h=o?r[s]:r[v];f=null==h||"object"!=typeof h?"p_"+String(h):L?"k_"+c(h,L).val:"i_"+String(v),P[f]&&(f+="_"+s);var d=$[f];if(d)d.scope[k]=h,C&&(d.scope[C]=v);else{var g=e.content.cloneNode(!0),b=Object.create(t);Object.defineProperty(b,"_i",{value:!0});var _=y(b);_[k]=h,C&&(_[C]=v);for(var O=Array.prototype.slice.call(g.childNodes),A=[],j=0;j<O.length;j++)m(O[j],_,A);d={nodes:Array.prototype.slice.call(g.childNodes),scope:_,cleanups:A},$[f]=d}if(d.nodes[0]===n)a.childNodes.length&&u.parentNode.insertBefore(a,n),n=d.nodes[d.nodes.length-1].nextSibling;else for(j=0;j<d.nodes.length;j++)a.appendChild(d.nodes[j]);P[f]=!0}for(var x in a.childNodes.length&&u.parentNode.insertBefore(a,n),$)P[x]||($[x].cleanups.forEach(e=>e()),$[x].nodes.forEach(e=>e.remove()),delete $[x])},s))}}if(e.hasAttributes())for(var M=e.attributes,R=M.length;R--;){var B=M[R],D=B.name,q=B.value;if(58===D.charCodeAt(0)){var F=D.slice(1),H=33===q.charCodeAt(0),K=H?q.slice(1):q;j=-1===K.indexOf(".")?K:K.split(".");f.push({type:"attr",name:F,path:j,neg:H})}else if(115===D.charCodeAt(0)&&45===D.charCodeAt(1)){let r=D.slice(2);if("data"===r)continue;let n=-1===q.indexOf(".")?q:q.split(".");if("init"===r||"destroy"===r)((r,n)=>{var o=c(t,n);"function"==typeof o.val&&("init"===r?s(()=>{var t=o.val.call(o.ctx,e);"function"==typeof t&&a.push(t)}):a.push(()=>o.val.call(o.ctx,e)))})(r,n);else if("effect"===r)a.push(h(()=>{var r=c(t,n);"function"==typeof r.val&&r.val.call(r.ctx,e)},s));else if("model"===r){f.push({type:"value",path:n}),e._s=t,e._h=e._h||{};var W="checkbox"===e.type||"radio"===e.type||"SELECT"===e.tagName?"change":"input";"input"===W&&(e.addEventListener("compositionstart",()=>e._c=!0),e.addEventListener("compositionend",()=>{e._c=!1,e.dispatchEvent(new Event("input",{bubbles:!0}))})),(e._h[W]=e._h[W]||[]).push({model:!0,p:n}),_(W)}else"ref"===r?i.$refs[q]=e:g[r]?f.push({type:r,path:n}):(e._s=t,e._h=e._h||{},(e._h[r]=e._h[r]||[]).unshift({p:n}),_(r))}}for(var z=e.firstChild;z;){var G=z.nextSibling;m(z,t,a),z=G}f.length&&a.push(h(()=>{for(var r=f.length;r--;){var a=f[r],n=c(t,a.path),o="function"==typeof n.val?n.val.call(n.ctx,e):n.val;"attr"===a.type?(a.neg&&(o=!o),"class"===a.name?g.class(e,o):g.attr(e,o,a.name)):g[a.type](e,o)}},s))}};m(r,i,f),i.init&&i.init();var O={unmount:()=>{i.destroy&&i.destroy.call(i);for(var e=f.length;e--;)f[e]();for(var t in u)r.removeEventListener(t,d,!!l[t]);if(i._c)for(var t in i._c)v(i._c[t].r);r._m=null}};return r._m=O,O}},_=e=>{if(!e||"object"!=typeof e||e instanceof Node||e instanceof Date||e instanceof RegExp)return e;var t=e._t||e;if(Array.isArray(t))return t.map(e=>_(e));var r={};for(var a in t)Object.prototype.hasOwnProperty.call(t,a)&&36!==a.charCodeAt(0)&&95!==a.charCodeAt(0)&&(r[a]=_(t[a]));return r};return{data:(e,...r)=>{t[e]=1===r.length?r[0]:()=>{for(var e={},t=0;t<r.length;t++)Object.defineProperties(e,Object.getOwnPropertyDescriptors(r[t]()));return e}},start:()=>{for(var e=document.querySelectorAll("[s-data]"),t=0;t<e.length;t++)b(e[t])},store:(t,r)=>{if(void 0===r)return e[t];e[t]=r;var a=e[t];return a&&"function"==typeof a.init&&a.init.call(a),a},raw:_,mount:e=>b(e),unmount:e=>{e&&e._m&&e._m.unmount()}}})();window.spiki=e}();