ziko 0.34.1 → 0.35.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (40) hide show
  1. package/dist/ziko.cjs +162 -162
  2. package/dist/ziko.js +162 -162
  3. package/dist/ziko.min.js +2 -2
  4. package/dist/ziko.mjs +162 -162
  5. package/package.json +4 -1
  6. package/src/index.js +2 -2
  7. package/src/reactivity/hooks/{UI → ui}/index.js +2 -2
  8. package/src/ui/{elements/ZikoUIElement.js → constructors/ziko-ui-element.js} +1 -1
  9. package/src/ui/constructors/ziko-ui-node.js +5 -0
  10. package/src/ui/elements/flex/index.js +1 -1
  11. package/src/ui/elements/grid/index.js +1 -1
  12. package/src/ui/elements/io/Inputs/__helpers__.js +1 -1
  13. package/src/ui/elements/io/Inputs/input/index.js +1 -1
  14. package/src/ui/elements/io/Inputs/input-file/input-image.js +1 -1
  15. package/src/ui/elements/io/Select/index.js +1 -1
  16. package/src/ui/elements/io/Textarea/index.js +1 -1
  17. package/src/ui/elements/list/index.js +1 -1
  18. package/src/ui/elements/media/Image/figure.js +1 -1
  19. package/src/ui/elements/media/Image/image.js +1 -1
  20. package/src/ui/elements/media/__ZikoUIDynamicMediaELement__.js +1 -1
  21. package/src/ui/elements/misc/hyperscript.js +1 -1
  22. package/src/ui/elements/misc/index.js +1 -1
  23. package/src/ui/elements/misc/suspense.js +1 -1
  24. package/src/ui/elements/misc/xml-wrapper.js +1 -1
  25. package/src/ui/elements/semantic/index.js +1 -1
  26. package/src/ui/elements/table/elements.js +1 -1
  27. package/src/ui/elements/table/table.js +1 -1
  28. package/src/ui/elements/text/__ZikoUIText__.js +1 -1
  29. package/src/ui/elements/text/heading.js +1 -1
  30. package/src/ui/index.js +1 -1
  31. package/src/ui/tags/index.js +1 -1
  32. package/src/ui/utils/index.js +1 -1
  33. package/src/watch/dom-observer/ziko-observer.js +15 -0
  34. /package/src/reactivity/hooks/{UI → ui}/useCssLink.js +0 -0
  35. /package/src/reactivity/hooks/{UI → ui}/useLinearGradient.js +0 -0
  36. /package/src/reactivity/hooks/{UI → ui}/useMediaQuery.js +0 -0
  37. /package/src/reactivity/hooks/{UI → ui}/useRadialGradient.js +0 -0
  38. /package/src/reactivity/hooks/{UI → ui}/useRoot.js +0 -0
  39. /package/src/reactivity/hooks/{UI → ui}/useStyle.js +0 -0
  40. /package/src/reactivity/hooks/{UI → ui}/useTheme.js +0 -0
package/dist/ziko.min.js CHANGED
@@ -1,9 +1,9 @@
1
1
  /*
2
2
  Project: ziko.js
3
3
  Author: Zakaria Elalaoui
4
- Date : Mon Aug 04 2025 13:51:44 GMT+0100 (UTC+01:00)
4
+ Date : Thu Aug 07 2025 10:32:14 GMT+0100 (UTC+01:00)
5
5
  Git-Repo : https://github.com/zakarialaoui10/ziko.js
6
6
  Git-Wiki : https://github.com/zakarialaoui10/ziko.js/wiki
7
7
  Released under MIT License
8
8
  */
9
- !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).Ziko={})}(this,(function(t){"use strict";function e(t,...e){if("function"==typeof t)return e.forEach((e=>function(t,e){const s=Object.getOwnPropertyDescriptors(e);class r extends t{constructor(...t){super(...t);for(const t of Reflect.ownKeys(s)){const e=s[t];"function"==typeof e.value&&(this[t]=e.value.bind(this))}}}for(const t of Reflect.ownKeys(s)){const e=s[t];("get"in e||"set"in e||"function"!=typeof e.value)&&Object.defineProperty(r.prototype,t,e)}return r}(t,e)));if("object"!=typeof t)throw new TypeError("compose: target must be a class or instance");e.forEach((e=>function(t,e){const s=Object.getOwnPropertyDescriptors(e);for(const e of Reflect.ownKeys(s)){const r=s[e];"get"in r||"set"in r?Object.defineProperty(t,e,r):"function"==typeof r.value?t[e]=r.value.bind(t):t[e]=r.value}}(t,e)))}const{PI:s,E:r}=Math,i=Number.EPSILON;var n=Object.freeze({__proto__:null,E:r,EPSILON:i,PI:s});const{PI:a,cos:o,sin:h,tan:l,acos:u,asin:m,atan:p,cosh:f,sinh:g,tanh:b,acosh:y,asinh:w,atanh:x,log:v}=Math;let _={cos:o,sin:h,tan:l,sinc:t=>h(a*t)/(a*t),sec:t=>1/o(t),csc:t=>1/h(t),cot:t=>1/l(t),acos:u,asin:m,atan:p,acot:t=>a/2-p(t),cosh:f,sinh:g,tanh:b,coth:t=>.5*v((1+t)/(1-t)),acosh:y,asinh:w,atanh:x};_=new Proxy(_,{get(t,e){if(e in t)return s=>+t[e](s).toFixed(15)}});class k{}const I=(t,...e)=>{const s=e.map((e=>{if(null===e)return t(null);if(["number","string","boolean","bigint","undefined"].includes(typeof e))return t(e);if(e instanceof Array)return e.map((e=>I(t,e)));if(ArrayBuffer.isView(e))return e.map((e=>t(e)));if(e instanceof Set)return new Set(I(t,...e));if(e instanceof Map)return new Map([...e].map((e=>[e[0],I(t,e[1])])));if(e instanceof Tn)return new Tn(e.rows,e.cols,I(e.arr.flat(1)));if(e instanceof Sn){const[s,r,i,n]=[e.a,e.b,e.z,e.phi];switch(t){case Math.log:return Zn(Fn(i),n);case Math.exp:return Zn(zn(s)*Hn(r),zn(s)*Nn(r));case Math.abs:return i;case Math.sqrt:return Zn(Dn(i)*Hn(n/2),Dn(i)*Nn(n/2));case _.cos:return Zn(Hn(s)*Qn(r),-Nn(s)*Jn(r));case _.sin:return Zn(Nn(s)*Qn(r),Hn(s)*Jn(r));case _.tan:{const t=Hn(2*s)+Qn(2*r);return Zn(Nn(2*s)/t,Jn(2*r)/t)}case _.cosh:return Zn(Qn(s)*Hn(r),Jn(s)*Nn(r));case _.sinh:return Zn(Jn(s)*Hn(r),Qn(s)*Nn(r));case _.tanh:{const t=Qn(2*s)+Hn(2*r);return Zn(Jn(2*s)/t,Nn(2*r)/t)}default:return t(e)}}else if(e instanceof Object)return t(Object)||Object.fromEntries(Object.entries(e).map((e=>[e[0],I(t,e[1])])))}));return 1==s.length?s[0]:s},E=(t,e)=>{if("number"==typeof t){if("number"==typeof e)return t+e;if(e instanceof Sn)return Zn(t+e.a,e.b);if(e instanceof Tn)return Tn.nums(e.rows,e.cols,t).add(e);if(e instanceof Array)return e.map((e=>M(e,t)))}else{if(t instanceof Sn||t instanceof Tn)return e instanceof Array?e.map((e=>t.clone.add(e))):t.clone.add(e);if(t instanceof Array){if(!(e instanceof Array))return t.map((t=>M(t,e)));if(t.length===e.length)return t.map(((t,s)=>M(t,e[s])))}}},T=(t,e)=>{if("number"==typeof t){if("number"==typeof e)return t-e;if(e instanceof Sn)return Zn(t-e.a,-e.b);if(e instanceof Tn)return Tn.nums(e.rows,e.cols,t).sub(e);if(e instanceof Array)return e.map((e=>j(e,t)))}else{if(t instanceof Sn||t instanceof Tn)return e instanceof Array?e.map((e=>t.clone.sub(e))):t.clone.sub(e);if(t instanceof Array){if(!(e instanceof Array))return t.map((t=>j(t,e)));if(e instanceof Array&&t.length===e.length)return t.map(((t,s)=>j(t,e[s])))}}},A=(t,e)=>{if("number"==typeof t){if("number"==typeof e)return t*e;if(e instanceof Sn)return Zn(t*e.a,t*e.b);if(e instanceof Tn)return Tn.nums(e.rows,e.cols,t).mul(e);if(e instanceof Array)return e.map((e=>S(t,e)))}else{if(t instanceof Sn||t instanceof Tn)return e instanceof Array?e.map((e=>t.clone.mul(e))):t.clone.mul(e);if(t instanceof Array){if(!(e instanceof Array))return t.map((t=>S(t,e)));if(e instanceof Array&&t.length===e.length)return t.map(((t,s)=>S(t,e[s])))}}},C=(t,e)=>{if("number"==typeof t){if("number"==typeof e)return t/e;if(e instanceof Sn)return Zn(t/e.a,t/e.b);if(e instanceof Tn)return Tn.nums(e.rows,e.cols,t).div(e);if(e instanceof Array)return e.map((e=>Z(t,e)))}else{if(t instanceof Sn||t instanceof Tn)return e instanceof Array?e.map((e=>t.clone.div(e))):t.clone.div(e);if(t instanceof Array){if(!(e instanceof Array))return t.map((t=>Z(t,e)));if(e instanceof Array&&t.length===e.length)return t.map(((t,s)=>Z(t,e[s])))}}},O=(t,e)=>{if("number"==typeof t){if("number"==typeof e)return t%e;if(e instanceof Sn)return Zn(t%e.a,t%e.b);if(e instanceof Tn)return Tn.nums(e.rows,e.cols,t).modulo(e);if(e instanceof Array)return e.map((e=>Z(t,e)))}else{if(t instanceof Sn||t instanceof Tn)return e instanceof Array?e.map((e=>t.clone.div(e))):t.clone.div(e);if(t instanceof Array&&!(e instanceof Array))return t.map((t=>M(t,e)))}},M=(t,...e)=>{var s=t;for(let t=0;t<e.length;t++)s=E(s,e[t]);return s},j=(t,...e)=>{var s=t;for(let t=0;t<e.length;t++)s=T(s,e[t]);return s},S=(t,...e)=>{var s=t;for(let t=0;t<e.length;t++)s=A(s,e[t]);return s},Z=(t,...e)=>{var s=t;for(let t=0;t<e.length;t++)s=C(s,e[t]);return s},U=(t,...e)=>{var s=t;for(let t=0;t<e.length;t++)s=O(s,e[t]);return s},R=t=>new Array(t).fill(0),D=t=>new Array(t).fill(1),L=(t,e)=>new Array(e).fill(t),P=(t,e,s)=>{if("number"==typeof t)return e!==s?(t-e)/(s-e):0;if(t instanceof Tn)return new Tn(t.rows,t.cols,P(t.arr.flat(1),e,s));if(t instanceof Sn)return new Sn(P(t.a,e,s),P(t.b,e,s));if(t instanceof Array){if(t.every((t=>typeof("number"===t))))return t.map((t=>P(t,e,s)));{let e=new Array(t.length);for(let s=0;s<t.length;s++)e[s]=P(t[s])}}},F=(t,e,s)=>{if("number"==typeof t)return(s-e)*t+e;if(t instanceof Tn)return new Tn(t.rows,t.cols,F(t.arr.flat(1),e,s));if(t instanceof Sn)return new Sn(F(t.a,e,s),F(t.b,e,s));if(t instanceof Array){if(t.every((t=>typeof("number"===t))))return t.map((t=>F(t,e,s)));{let e=new Array(t.length);for(let s=0;s<t.length;s++)e[s]=F(t[s])}}},H=(t,e,s,r,i)=>{if("number"==typeof t)return F(P(t,e,s),r,i);if(t instanceof Tn)return new Tn(t.rows,t.cols,H(t.arr.flat(1),e,s,r,i));if(t instanceof Sn)return new Sn(H(t.a,s,r,i),H(t.b,e,s,r,i));if(t instanceof Array){if(t.every((t=>typeof("number"===t))))return t.map((t=>H(t,e,s,r,i)));{let n=new Array(t.length);for(let a=0;a<t.length;a++)n[a]=H(t[a],e,s,r,i)}}},N=(t,e,s)=>{const[r,i]=[K(e,s),Q(e,s)];if("number"==typeof t)return K(Q(t,r),i);if(t instanceof Tn)return new Tn(t.rows,t.cols,N(t.arr.flat(1),r,i));if(t instanceof Sn)return new Sn(N(t.a,r,i),N(t.b,r,i));if(t instanceof Array){if(t.every((t=>typeof("number"===t))))return t.map((t=>N(t,r,i)));{let e=new Array(t.length);for(let s=0;s<t.length;s++)e[s]=N(t[s],r,i)}}},$=(t,e,s,r=!1)=>{let i=[];if(t<e)for(let n=t;r?n<=e:n<e;n+=s)i.push(10*n/10);else for(let n=t;r?n>=e:n>e;n-=s)i.push(10*n/10);return i},B=(t,e,s=Rn(e-t)+1,r=!0)=>{if(Math.floor(s)===s){if([t,e].every((t=>"number"==typeof t))){const[a,o]=[t,e].sort(((t,e)=>e-t));var i=[];let h;h=r?(a-o)/(s-1):(a-o)/s;for(var n=0;n<s;n++)t<e?i.push(o+h*n):i.push(a-h*n);return i}if([t,e].some((t=>t instanceof Sn))){const i=Zn(t),n=Zn(e);s=s||Math.abs(i.a-n.a)+1;const a=B(i.a,n.a,s,r),o=B(i.b,n.b,s,r);let h=new Array(s).fill(null);return h=h.map(((t,e)=>Zn(a[e],o[e]))),h}}},V=(t,e,s=e-t+1,i=r,n=!0)=>B(t,e,s,n).map((t=>Ln(i,t))),q=(t,e,s=Rn(e-t)+1,r=!0)=>{if(Math.floor(s)===s){if([t,e].every((t=>"number"==typeof t))){const[i,n]=[t,e].sort(((t,e)=>e-t));let a;a=Pn(i/n,r?s-1:s);const o=[n];for(let t=1;t<s;t++)o.push(o[t-1]*a);return t<e?o:o.reverse()}if([t,e].some((t=>t instanceof Sn))){const i=Zn(t),n=Zn(e);let a;s=s||Math.abs(i.a-n.a)+1,a=Pn(n.div(i),r?s-1:s);const o=[i];for(let t=1;t<s;t++)o.push(S(o[t-1],a));return o}}},W=(...t)=>mapfun((t=>t*Math.PI/180),...t),Y=(...t)=>mapfun((t=>t/Math.PI*180),...t),G=(...t)=>{if(t.every((t=>"number"==typeof t))){let e=t[0];for(let s=1;s<t.length;s++)e+=t[s];return e}const e=[];for(let s=0;s<t.length;s++)t[s]instanceof Array?e.push(G(...t[s])):t[s]instanceof Object&&e.push(G(...Object.values(t[s])));return 1===e.length?e[0]:e},X=(...t)=>{if(t.every((t=>"number"==typeof t))){let e=t[0];for(let s=1;s<t.length;s++)e*=t[s];return e}const e=[];for(let s=0;s<t.length;s++)t[s]instanceof Array?e.push(X(...t[s])):t[s]instanceof Object&&e.push(X(...Object.values(t[s])));return 1===e.length?e[0]:e},K=(...t)=>{if(t.every((t=>"number"==typeof t)))return Math.min(...t);const e=[];for(let s=0;s<t.length;s++)t[s]instanceof Array?e.push(K(...t[s])):t[s]instanceof Object&&e.push(Object.fromEntries([Object.entries(t[s]).sort(((t,e)=>t[1]-e[1]))[0]]));return 1===e.length?e[0]:e},Q=(...t)=>{if(t.every((t=>"number"==typeof t)))return Math.max(...t);const e=[];for(let s=0;s<t.length;s++)t[s]instanceof Array?e.push(K(...t[s])):t[s]instanceof Object&&e.push(Object.fromEntries([Object.entries(t[s]).sort(((t,e)=>e[1]-t[1]))[0]]));return 1===e.length?e[0]:e},J=(...t)=>{if(t.every((t=>"number"==typeof t))){let e=t.reduce(((t,e)=>[...t,t[t.length-1]+e]),[0]);return e.shift(),e}const e=[];for(let s=0;s<t.length;s++)t[s]instanceof Array?e.push(J(...t[s])):t[s]instanceof Object&&e.push(null);return 1===e.length?e[0]:e},tt=(t,e,s)=>{const[r,i]=[Math.min(e,s),Math.max(e,s)];return t>=r&&t<=i},et=(t,e,s=1e-4)=>Math.abs(t-e)<=s,st=(t,e)=>t.reduce(((t,s)=>[...t,...e.map((t=>[s,t]))]),[]),rt=(t,e)=>{let s,r=1;if(t==aa(t)&&e==aa(e)){for(s=2;s<=t&&s<=e;++s)t%s==0&&e%s==0&&(r=s);return r}console.log("error")},it=(t,e)=>{let s;if(t==aa(t)&&e==aa(e)){for(s=t>e?t:e;s%t!=0||s%e!=0;)++s;return s}console.log("error")},nt={add:M,sub:j,mul:S,div:Z,modulo:U,zeros:R,ones:D,nums:L,norm:P,lerp:F,map:H,clamp:N,arange:$,linspace:B,logspace:V,geomspace:q,sum:G,prod:X,accum:J,cartesianProduct:st,ppcm:it,pgcd:rt,deg2rad:W,rad2deg:Y,inRange:tt,isApproximatlyEqual:et};var at=Object.freeze({__proto__:null,Utils:nt,add:M,arange:$,cartesianProduct:st,clamp:N,deg2rad:W,div:Z,geomspace:q,inRange:tt,isApproximatlyEqual:et,lerp:F,linspace:B,logspace:V,map:H,mapfun:I,modulo:U,mul:S,norm:P,nums:L,ones:D,pgcd:rt,ppcm:it,prod:X,rad2deg:Y,sub:j,sum:G,zeros:R});const ot=t=>{const e=[],s=2**t.length;for(let r=0;r<s;r+=1){const s=[];for(let e=0;e<t.length;e+=1)r&1<<e&&s.push(t[e]);e.push(s)}return e},ht={_mode:Number,_map:function(t,e,s){return e instanceof Tn?new Tn(e.rows,e.cols,e.arr.flat(1).map((e=>t(e,s)))):e instanceof Sn?new Sn(t(e.a,s),t(e.b,s)):e instanceof Array?e.map((e=>t(e,s))):void 0},dec2base(t,e){return this._mode=e<=10?Number:String,"number"==typeof t?this._mode((t>>>0).toString(e)):this._map(this.dec2base,t,e)},dec2bin(t){return this.dec2base(t,2)},dec2oct(t){return this.dec2base(t,8)},dec2hex(t){return this.dec2base(t,16)},bin2base(t,e){return this.dec2base(this.bin2dec(t),e)},bin2dec(t){return this._mode("0b"+t)},bin2oct(t){return this.bin2base(t,8)},bin2hex(t){return this.bin2base(t,16)},oct2dec(t){return this._mode("0o"+t)},oct2bin(t){return this.dec2bin(this.oct2dec(t))},oct2hex(t){return this.dec2hex(this.oct2dec(t))},oct2base(t,e){return this.dec2base(this.oct2dec(t),e)},hex2dec(t){return this._mode("0x"+t)},hex2bin(t){return this.dec2bin(this.hex2dec(t))},hex2oct(t){return this.dec2oct(this.hex2dec(t))},hex2base(t,e){return this.dec2base(this.hex2dec(t),e)},IEEE32toDec(t){let e=t.split(" ").join("").padEnd(32,"0"),s=e[0],r=2**(+("0b"+e.slice(1,9))-127);return(-1)**s*(1+e.slice(9,32).split("").map((t=>+t)).map(((t,e)=>t*2**(-e-1))).reduce(((t,e)=>t+e),0))*r},IEEE64toDec(t){let e=t.split(" ").join("").padEnd(64,"0"),s=e[0],r=2**(+("0b"+e.slice(1,12))-1023);return(-1)**s*(1+e.slice(13,64).split("").map((t=>+t)).map(((t,e)=>t*2**(-e-1))).reduce(((t,e)=>t+e),0))*r}},ct={_mode:Number,_map:function(t,e,s){return e instanceof Tn?new Tn(e.rows,e.cols,e.arr.flat(1).map((e=>t(e,s)))):e instanceof Sn?new Sn(t(e.a,s),t(e.b,s)):e instanceof Array?e.map((e=>t(e,s))):void 0},not:function(t){return["number","boolean"].includes(typeof t)?ct._mode(!t):this._map(this.not,t)},and:function(t,...e){return["number","boolean"].includes(typeof t)?ct._mode(e.reduce(((t,e)=>t&e),t)):this._map(this.and,t,e)},or:function(t,...e){return["number","boolean"].includes(typeof t)?ct._mode(e.reduce(((t,e)=>t|e),t)):this._map(this.or,t,e)},nand:function(t,...e){return this.not(this.and(t,e))},nor:function(t,...e){return this.not(this.or(t,e))},xor:function(t,...e){let s=[t,...e];return["number","boolean"].includes(typeof t)?this._mode(1===s.reduce(((t,e)=>(1==+e&&(t+=1),t)),0)):this._map(this.xor,t,e)},xnor:function(t,...e){return ct.not(ct.xor(t,e))}};class lt{static withDiscount(t,e=t.length){if(1===e)return t.map((t=>[t]));const s=[];let r;return r=this.withDiscount(t,e-1),t.forEach((t=>{r.forEach((e=>{s.push([t].concat(e))}))})),s}static withoutDiscount(t){if(1===t.length)return t.map((t=>[t]));const e=[],s=this.withoutDiscount(t.slice(1)),r=t[0];for(let t=0;t<s.length;t++){const i=s[t];for(let t=0;t<=i.length;t++){const s=i.slice(0,t),n=i.slice(t);e.push(s.concat([r],n))}}return e}}class ut{static withDiscount(t,e){if(1===e)return t.map((t=>[t]));const s=[];return t.forEach(((r,i)=>{this.withDiscount(t.slice(i),e-1).forEach((t=>{s.push([r].concat(t))}))})),s}static withoutDiscount(t,e){if(1===e)return t.map((t=>[t]));const s=[];return t.forEach(((r,i)=>{this.withoutDiscount(t.slice(i+1),e-1).forEach((t=>{s.push([r].concat(t))}))})),s}}const mt=(t,e,s=!1)=>ut[s?"withDiscount":"withoutDiscount"](t,e);var pt=Object.freeze({__proto__:null,Base:ht,Combinaison:ut,Logic:ct,Permutation:lt,combinaison:mt,powerSet:ot,subSet:null});class dt{static float(t=1,e){return e?Math.random()*(e-t)+t:t*Math.random()}static int(t,e){return Math.floor(this.float(t,e))}static char(t){t=t??this.bool();const e=String.fromCharCode(this.int(97,120));return t?e.toUpperCase():e}static bool(){return[!1,!0][Math.floor(2*Math.random())]}static string(t,e){return t instanceof Array?new Array(this.int(...t)).fill(0).map((()=>this.char(e))).join(""):new Array(t).fill(0).map((()=>this.char(e))).join("")}static bin(){return this.int(2)}static oct(){return this.int(8)}static dec(){return this.int(8)}static hex(){return this.int(16)}static choice(t=[1,2,3],e=new Array(t.length).fill(1/t.length)){let s=new Array(100);e=nt.accum(...e).map((t=>100*t)),s.fill(t[0],0,e[0]);for(let r=1;r<t.length;r++)s.fill(t[r],e[r-1],e[r]);return s[this.int(s.length-1)]}static shuffleArr(t){return t.sort((()=>.5-Math.random()))}static shuffleMatrix(t){const{rows:e,cols:s,arr:r}=t;return An(e,s,r.flat().sort((()=>.5-Math.random())))}static floats(t,e,s){return new Array(t).fill(0).map((()=>this.float(e,s)))}static ints(t,e,s){return new Array(t).fill(0).map((()=>this.int(e,s)))}static bools(t){return new Array(t).fill(0).map((()=>this.bool()))}static bins(t){return new Array(t).fill(0).map((()=>this.int(2)))}static octs(t){return new Array(t).fill(0).map((()=>this.int(8)))}static decs(t){return new Array(t).fill(0).map((()=>this.int(10)))}static hexs(t){return new Array(t).fill(0).map((()=>this.int(16)))}static choices(t,e,s){return new Array(t).fill(0).map((()=>this.choice(e,s)))}static perm(...t){return t.permS[this.int(t.length)]}static color(){return"#"+ht.dec2hex(this.float(16777216)).padStart(6,0)}static colors(t){return new Array(t).fill(null).map((()=>this.color()))}static complex(t=[0,1],e=[0,1]){return t instanceof Array?new Sn(this.float(t[0],t[1]),this.float(e[0],e[1])):new Sn(...this.floats(2,t,e))}static complexInt(t=[0,1],e=[0,1]){return new Sn(this.int(t[0],t[1]),this.int(e[0],e[1]))}static complexBin(){return new Sn(...this.bins(2))}static complexOct(){return new Sn(...this.octs(2))}static complexDec(){return new Sn(...this.decs(10))}static complexHex(){return new Sn(...this.octs(2))}static complexes(t,e=0,s=1){return new Array(t).fill(0).map((()=>this.complex(e,s)))}static complexesInt(t,e=0,s=1){return new Array(t).fill(0).map((()=>this.complexInt(e,s)))}static complexesBin(t){return new Array(t).fill(0).map((()=>this.complexBin()))}static complexesOct(t){return new Array(t).fill(0).map((()=>this.complexOct()))}static complexesDec(t){return new Array(t).fill(0).map((()=>this.complexDec()))}static complexesHex(t){return new Array(t).fill(0).map((()=>this.complexHex()))}static matrix(t,e,s,r){return An(t,e,this.floats(t*e,s,r))}static matrixInt(t,e,s,r){return An(t,e,this.ints(t*e,s,r))}static matrixBin(t,e){return An(t,e,this.bins(t*e))}static matrixOct(t,e){return An(t,e,this.octs(t*e))}static matrixDec(t,e){return An(t,e,this.decs(t*e))}static matrixHex(t,e){return An(t,e,this.hex(t*e))}static matrixColor(t,e){return An(t,e,this.colors(t*e))}static matrixComplex(t,e,s,r){return An(t,e,this.complexes(t*e,s,r))}static matrixComplexInt(t,e,s,r){return An(t,e,this.complexesInt(t*e,s,r))}static matrixComplexBin(t,e){return An(t,e,this.complexesBin(t*e))}static matrixComplexOct(t,e){return An(t,e,this.complexesBin(t*e))}static matrixComplexDec(t,e){return An(t,e,this.complexesBin(t*e))}static matrixComplexHex(t,e){return An(t,e,this.complexesBin(t*e))}}var ft=Object.freeze({__proto__:null,Random:dt});const gt=t=>{const e=new XMLHttpRequest;if(e.open("GET",t,!1),e.send(),200===e.status)return e.responseText;throw new Error(`Failed to fetch data from ${t}. Status: ${e.status}`)};globalThis.fetchdom=async function(t="https://github.com/zakarialaoui10"){const e=await fetch(t),s=await e.text();return(new DOMParser).parseFromString(s,"text/xml").documentElement},globalThis.fetchdomSync=function(t="https://github.com/zakarialaoui10"){const e=gt(t);return(new DOMParser).parseFromString(e,"text/xml").documentElement};var bt=Object.freeze({__proto__:null,preload:gt});const yt=(t,e=",")=>t.trim().trimEnd().split("\n").map((t=>t.split(e))),wt=(t,e=",")=>new Tn(yt(t,e)),xt=(t,e=",")=>{const[s,...r]=yt(t,e);return r.map((t=>{const e={};return s.forEach(((s,r)=>{e[s]=t[r]})),e}))},vt=(t,e=",")=>JSON.stringify(xt(t,e)),_t=(t,e)=>{const s=t.trim().trimEnd().split("\n").filter((t=>t));let r=`INSERT INTO ${e} (${s[0].split(",").join(", ")}) Values `,i=[];for(let t=1;t<s.length;t++){const e=s[t].split(",");i.push(`(${e})`)}return r+i.join(",\n")},kt=t=>t instanceof Array?[Object.keys(t[0]),...t.map((t=>Object.values(t)))]:[Object.keys(t)],It=(t,e)=>kt(t).map((t=>t.join(e))).join("\n"),Et=t=>kt(t instanceof Object?t:JSON.parse(t)),Tt=(t,e=",")=>It(t instanceof Object?t:JSON.parse(t),e),At=(t,e)=>{const s=Tt(t,e),r=new Blob([s],{type:"text/csv;charset=utf-8;"});return{str:s,blob:r,url:URL.createObjectURL(r)}},Ct=(t,e)=>{const s=[];if(Array.isArray(t))t.forEach((t=>{if("object"==typeof t&&null!==t){s.push(`${e}-`);const r=Ct(t,`${e} `);s.push(...r)}else s.push(`${e}- ${t}`)}));else for(const r in t)if(t.hasOwnProperty(r)){const i=t[r];if("object"==typeof i&&null!==i){s.push(`${e}${r}:`);const t=Ct(i,`${e} `);s.push(...t)}else s.push(`${e}${r}: ${i}`)}return s},Ot=(t,e="")=>Ct(t,e).join("\n"),Mt=(t,e)=>Ot(t instanceof Object?t:JSON.parse(t),e),jt=(t,e)=>{const s=Mt(t,e),r=new Blob([s],{type:"text/yml;charset=utf-8;"});return{str:s,blob:r,url:URL.createObjectURL(r)}},St=(t,e=1)=>{let s="";for(const r in t)if(t.hasOwnProperty(r)){const i=t[r];s+="\n"+" ".repeat(e)+`<${r}>`,s+="object"==typeof i?St(i,e+2):`${i}`,s+=`</${r}>`}return s.trim()},Zt=(t,e)=>{const s=St(t,e),r=new Blob([s],{type:"text/xml;charset=utf-8;"});return{str:s,blob:r,url:URL.createObjectURL(r)}},Ut={append(...t){return Rt.call(this,"append","push",...t),this},prepend(...t){return this.__addItem__.call(this,"prepend","unshift",...t),this},insertAt(t,...e){if(t>=this.element.children.length)this.append(...e);else for(let s=0;s<e.length;s++)["number","string"].includes(typeof e[s])&&(e[s]=Es(e[s])),this.element?.insertBefore(e[s].element,this.items[t].element),this.items.splice(t,0,e[s]);return this},remove(...t){const e=t=>{"number"==typeof t&&(t=this.items[t]),t?.isZikoUIElement&&this.element?.removeChild(t.element),this.items=this.items.filter((e=>e!==t))};for(let s=0;s<t.length;s++)e(t[s]);for(let t=0;t<this.items.length;t++)Object.assign(this,{[[t]]:this.items[t]});return this},clear(){return this?.items?.forEach((t=>t.unrender())),this.element.innerHTML="",this},render(t=this.target){if(!this.isBody)return t?.isZikoUIElement&&(t=t.element),this.target=t,this.target?.appendChild(this.element),this},unrender(){return this.cache.parent?this.cache.parent.remove(this):this.target?.children?.length&&[...this.target?.children].includes(this.element)&&this.target.removeChild(this.element),this},renderAfter(t=1){return setTimeout((()=>this.render()),t),this},unrenderAfter(t=1){return setTimeout((()=>this.unrender()),t),this},after(t){return t?.isZikoUIElement&&(t=t.element),this.element?.after(t),this},before(t){return t?.isZikoUIElement&&(t=t.element),this.element?.before(t),this}};function Rt(t,e,...s){if(this.cache.isFrozzen)return console.warn("You can't append new item to frozzen element"),this;for(let r=0;r<s.length;r++)["number","string"].includes(typeof s[r])&&(s[r]=Es(s[r])),"function"==typeof globalThis?.Node&&s[r]instanceof globalThis?.Node&&(s[r]=new this.constructor(s[r])),s[r]?.isZikoUIElement?(s[r].cache.parent=this,this.element[t](s[r].element),s[r].target=this.element,this.items[e](s[r])):s[r]instanceof Object&&(s[r]?.style&&this.style(s[r]?.style),s[r]?.attr&&Object.entries(s[r].attr).forEach((t=>this.setAttr(""+t[0],t[1]))));return this.maintain(),this}const Dt={at(t){return this.items.at(t)},forEach(t){return this.items.forEach(t),this},map(t){return this.items.map(t)},find(t){return this.items.filter(t)}},Lt={Click:["Click","DblClick"],Ptr:["PtrMove","PtrDown","PtrUp","PtrLeave","PtrEnter","PtrOut","PtrCancel"],Mouse:["MouseMove","MouseDown","MouseUp","MouseEnter","MouseLeave","MouseOut"],Key:["KeyDown","KeyPress","KeyUp"],Clipboard:["Copy","Cut","Paste"],Focus:["focus","blur"],Drag:["Drag","DragStart","DragEnd","Drop"],Wheel:["Wheel"]},Pt=(t="")=>t.startsWith("Ptr")?`pointer${t.split("Ptr")[1].toLowerCase()}`:t.toLowerCase();function zt(t,e,s,r,i){this.cache.currentEvent=e,this.cache.event=t,s?.call(this),r?.hasOwnProperty("prototype")?r?.call(this):r?.call(null,this),this.cache.preventDefault[e]&&t.preventDefault(),this.cache.stopPropagation[e]&&t.stopPropagation(),this.cache.stopImmediatePropagation[e]&&t.stopImmediatePropagation(),this.cache.stream.enabled[e]&&i&&this.cache.stream.history[e].push(i),this.cache.callbacks[e]?.map((t=>t(this)))}class Ft{constructor(t=null,e=[],s,r){this.target=t,this.cache={currentEvent:null,event:null,options:{},preventDefault:{},stopPropagation:{},stopImmediatePropagation:{},event_flow:{},paused:{},stream:{enabled:{},clear:{},history:{}},callbacks:{},__controllers__:{}},e&&this._register_events(e,s,r)}_register_events(t,e,s,r=!0){const i=t?.map((t=>Pt(t)));return i?.forEach(((i,n)=>{Object.assign(this.cache.preventDefault,{[i]:!1}),Object.assign(this.cache.options,{[i]:{}}),Object.assign(this.cache.paused,{[i]:!1}),Object.assign(this.cache.stream.enabled,{[i]:!1}),Object.assign(this.cache.stream.clear,{[i]:!1}),Object.assign(this.cache.stream.history,{[i]:[]}),Object.assign(this.cache.__controllers__,{[i]:t=>zt.call(this,t,i,e,s)}),r&&Object.assign(this,{[`on${t[n]}`]:(...t)=>this.__onEvent(i,this.cache.options[i],{},...t)})})),this}get targetElement(){return this.target?.element}get isParent(){return this.target?.element===this.event.srcElement}get item(){return this.target.find((t=>t.element==this.event?.srcElement))?.[0]}get currentEvent(){return this.cache.currentEvent}get event(){return this.cache.event}setTarget(t){return this.target=t,this}__handle(t,e,s,r){return this.targetElement?.addEventListener(t,e,s),this}__onEvent(t,e,s,...r){if(0===r.length){if(console.log("00"),!this.cache.callbacks[t])return this;console.log("Call"),this.cache.callbacks[t].map((t=>e=>t.call(this,e)))}else this.cache.callbacks[t]=r.map((t=>e=>t.call(this,e)));return this.__handle(t,this.cache.__controllers__[t],e,s),this}#t(t,e,s){"default"===s&&Object.assign(this.cache[t],{...this.cache[t],...e});const r="default"===s?this.cache[t]:Object.fromEntries(Object.keys(this.cache.preventDefault).map((t=>[t,s])));return Object.assign(this.cache[t],{...r,...e}),this}preventDefault(t={},e="default"){return this.#t("preventDefault",t,e),this}stopPropagation(t={},e="default"){return this.#t("stopPropagation",t,e),this}stopImmediatePropagation(t={},e="default"){return this.#t("stopImmediatePropagation",t,e),this}setEventOptions(t,e){return this.pause({[t]:!0},"default"),Object.assign(this.cache.options[Pt(t)],e),this.resume({[t]:!0},"default"),this}pause(t={},e="default"){t={..."default"===e?this.cache.stream.enabled:Object.entries(Object.keys(this.cache.stream.enabled).map((t=>[t,e]))),...t};for(let e in t)t[e]&&(this.targetElement?.removeEventListener(e,this.cache.__controllers__[e],this.cache.options[e]),this.cache.paused[e]=!0);return this}resume(t={},e="default"){t={..."default"===e?this.cache.stream.enabled:Object.entries(Object.keys(this.cache.stream.enabled).map((t=>[t,e]))),...t};for(let e in t)t[e]&&(this.targetElement?.addEventListener(e,this.cache.__controllers__[e],this.cache.options[e]),this.cache.paused[e]=!1);return this}stream(t={},e="default"){this.cache.stream.t0=Date.now();return t={...Object.fromEntries(Object.keys(this.cache.stream.enabled).map((t=>[t,e]))),...t},Object.assign(this.cache.stream.enabled,t),this}clear(){return this}dispose(t={},e="default"){return this.pause(t,e),this}}class Ht extends Ft{constructor(t,e){super(t,Lt.Click,Nt,e)}}function Nt(){"click"===this.currentEvent?this.dx=0:this.dx=1}const $t=(t,e)=>new Ht(t,e);class Bt extends Ft{constructor(t,e){super(t,Lt.Clipboard,Vt,e)}}function Vt(){}const qt=(t,e)=>new Bt(t,e);class Wt extends Ft{constructor(t,e,s){super(t,e,Yt,s)}_register_events(t){return super._register_events(t,null,null,!1),this}emit(t,e={}){const s=new Event(t);return this.targetElement.dispatchEvent(s),this}on(t,...e){return this.cache.options.hasOwnProperty(t)||this._register_events([t]),this.__onEvent(t,this.cache.options[t],{},...e),this}}function Yt(){}class Gt extends Ft{constructor(t,e){super(t,Lt.Drag,Xt,e)}}function Xt(){}const Kt=(t,e)=>new Gt(t,e);class Qt extends Ft{constructor(t,e){super(t,Lt.Focus,Jt,e)}}function Jt(){}const te=(t,e)=>new Qt(t,e);let ee=class extends Ft{constructor(t,e){super(t,Lt.Hash,se,e)}};function se(){}class re extends Ft{constructor(t,e){super(t,Lt.Key,ie,e)}}function ie(){switch(this.currentEvent){case"keydown":this.kd=this.event.key;break;case"keypress":this.kp=this.event.key;break;case"keyup":this.ku=this.event.key}}const ne=(t,e)=>new re(t,e);class ae extends Ft{constructor(t,e){super(t,Lt.Mouse,oe,e)}}function oe(){}const he=(t,e)=>new ae(t,e);class ce extends Ft{constructor(t,e){super(t,Lt.Ptr,le,e),this.isDown=!1}}function le(){switch(this.currentEvent){case"pointerdown":this.dx=parseInt(this.event.offsetX),this.dy=parseInt(this.event.offsetY),this.isDown=!0;break;case"pointermove":this.mx=parseInt(this.event.offsetX),this.my=parseInt(this.event.offsetY),this.isMoving=!0;break;case"pointerup":{this.ux=parseInt(this.event.offsetX),this.uy=parseInt(this.event.offsetY),this.isDown=!1,console.log(this.target.width);const t=(this.ux-this.dx)/this.target.width,e=(this.dy-this.uy)/this.target.height,s=t<0?"left":t>0?"right":"none",r=e<0?"bottom":e>0?"top":"none";this.swippe={h:s,v:r,delta_x:t,delta_y:e}}}}const ue=(t,e)=>new ce(t,e);class me extends Ft{constructor(t,e){super(t,Lt.Touch,pe,e)}}function pe(){}class de extends Ft{constructor(t,e){super(t,Lt.Wheel,fe,e)}}function fe(){}const ge=(t,e)=>new de(t,e),be={ptr:ue,mouse:he,key:ne,click:$t,drag:Kt,clipboard:qt,focus:te,wheel:ge},ye={};Object.entries(Lt).forEach((([t,e])=>{e.forEach((e=>{const s=`on${e}`;ye[s]=function(...e){return this.events[t]||(this.events[t]=be[t.toLowerCase()](this)),this.events[t][s](...e),this}}))}));let we=class{constructor(t={},e=(t.hasOwnProperty("default")?"default":Object.keys(t)[0]),s=0){this.id="Ziko-Style-"+s,this.keys=new Set,this.styles={default:{fontSize:"1em",color:"green"},other:{fontSize:"2em",color:"cyan"}},t&&this.add(t),e&&this.use(e)}get current(){return[...this.keys].reduce(((t,e)=>(t[e]=`var(--${e}-${this.id})`,t)),{})}add(t,e={}){return t&&"object"==typeof t&&!Array.isArray(t)?Object.assign(this.styles,t):"string"==typeof t&&Object.assign(this.styles,{[t]:e}),this}#e(t){const e=Object.keys(this.styles);for(let s in this.styles[e[t]])Object.prototype.hasOwnProperty.call(this.styles[e[t]],s)&&(document.documentElement.style.setProperty(`--${s}-${this.id}`,this.styles[e[t]][s]),this.keys.add(s));return this}#s(t){if(!this.styles[t])return this;for(let e in this.styles[t])Object.prototype.hasOwnProperty.call(this.styles[t],e)&&(document.documentElement.style.setProperty(`--${e}-${this.id}`,this.styles[t][e]),this.keys.add(e));return this}#r(t){for(let e in t)Object.prototype.hasOwnProperty.call(t,e)&&(document.documentElement.style.setProperty(`--${e}-${this.id}`,t[e]),this.keys.add(e));return this}use(t){return"number"==typeof t?this.#e(t):"string"==typeof t?this.#s(t):t&&"object"==typeof t?this.#r(t):this}};const xe=(t,e="px")=>("number"==typeof t&&(t+=e),t instanceof Array&&(t=t.map((t=>"number"==typeof t?t+=e:t)).join(" ")),t);class ve{constructor(t={}){this.target=null,this.styles=new Map([["default",t]]),this.cache={isHidden:!1,isFaddedOut:!1,transformation:{Flip:[0,0,0],matrix:new Tn([[1,0,0,0],[0,1,0,0],[0,0,1,0],[0,0,0,1]])}}}style(t){for(const[e,s]of Object.entries(t))xn.isCamelCase(e)&&(delete t[e],Object.assign(t,{[xn.camel2hyphencase(e)]:s}));return this?.target?.element?.style&&Object.assign(this?.target?.element?.style,t),this}linkTo(t){return this.target=t,this}use(t="default"){return this.style(this.styles.get(t)),this}update(t,e){const s=this.styles.get(t);return s?this.styles.set(t,Object.assign(s,e)):this.styles.set(t,e),this}add(t,e){return this.styles.set(t,e),this}replace(t,e){return this.styles.set(t,e),this}delete(...t){return t.forEach((t=>this.styles.delete(t))),this}updateDefaultStyle(){const t=Object.fromEntries(Object.entries(this.target.element.style).filter((t=>isNaN(+t[0]))));return this.update("default",t),this}hover(t){return t&&this.add("hover",t),this.target?.element?.addEventListener("pointerenter",(()=>this.use("hover"))),this.target?.element?.addEventListener("pointerleave",(()=>this.use("default"))),this}isInline(){return getComputedStyle(this.target.element).display.includes("inline")}isBlock(){return!this.isInline()}size(t,e){return this.style({width:t,height:e}),this}width(t){if(t instanceof Object){if(t instanceof Array&&(t={min:t[0],max:t[1]}),"min"in t||"max"in t){let e=t.min??t.max,s=t.max??t.min;e=xe(e,"px"),s=xe(s,"px"),this.style({minWidth:e,maxWidth:s},{target:target,maskVector:maskVector})}}else t=xe(t,"px"),this.style({width:t});return this}height(t){if(t instanceof Object){if(t instanceof Array&&(t={min:t[0],max:t[1]}),"min"in t||"max"in t){let e=t.min??t.max,s=t.max??t.min;e=xe(e,"px"),s=xe(s,"px"),this.style({minHeight:e,maxHeight:s},{target:target,maskVector:maskVector})}}else t=xe(t,"px"),this.style({height:t});return this}enableResize(t=!1,e=!1){let s="none";return s=t?e?"both":"horizontal":e?"vertical":"none",this.style({resize:s,overflow:"hidden"}),this.isInline()&&(console.group("Ziko Issue : Temporarily Incompatible Method"),console.warn(".enableResize has no effect on inline elements!"),console.info("%cConsider using other display types such as block, inline-block, flex, or grid for proper resizing behavior.","color:gold;background-color:#3333cc;padding:5px"),console.groupEnd()),this}hide({after:t,target:e,maskVector:s}={}){if("number"==typeof t){const r=()=>this.hide({target:e,maskVector:s});setTimeout(r,t),clearTimeout(r)}else this.cache.isHidden=!0,this.style({display:"none"},{target:e,maskVector:s});return this}show({after:t,target:e,maskVector:s}={}){if("number"==typeof t){const r=()=>this.show({target:e,maskVector:s});setTimeout(r,t),clearTimeout(r)}else this.cache.isHidden=!1,this.style({display:""},{target:e,maskVector:s});return this}color(t){return this.style({color:t}),this}background(t){return this.style({background:t}),this}backgroundColor(t){return this.style({backgroundColor:t}),this}opacity(t,{target:e,maskVector:s}={}){return this.style({opacity:t},{target:e,maskVector:s}),this}position(t){return this.style({position:t}),this}display(t,{target:e,maskVector:s}={}){return this.style({display:t},{target:e,maskVector:s}),this}zIndex(t){return this.style({zIndex:t}),this}float(t,{target:e,maskVector:s}={}){return this.style({float:t},{target:e,maskVector:s}),this}border(t="1px solid red",{target:e,maskVector:s}={}){return this.style({border:t},{target:e,maskVector:s}),this}borderTop(t="1px solid red",{target:e,maskVector:s}={}){return this.style({borderTop:t},{target:e,maskVector:s}),this}borderRight(t="1px solid red",{target:e,maskVector:s}={}){return this.style({borderRight:t},{target:e,maskVector:s}),this}borderBottom(t="1px solid red",{target:e,maskVector:s}={}){return this.style({borderBottom:t},{target:e,maskVector:s}),this}borderLeft(t="1px solid red",{target:e,maskVector:s}={}){return this.style({borderLeft:t},{target:e,maskVector:s}),this}borderRadius(t){return t=xe(t,"px"),this.style({borderRadius:t},{target:target,maskVector:maskVector}),this}margin(t){return t=xe(t,"px"),this.style({margin:t},{target:target,maskVector:maskVector}),this}marginTop(t){return t=xe(t,"px"),this.style({marginTop:t}),this}marginRight(t){return t=xe(t,"px"),this.style({marginRight:t}),this}marginBootom(t){return t=xe(t,"px"),this.style({marginBootom:t}),this}marginLeft(t){return t=xe(t,"px"),this.style({marginLeft:t}),this}padding(t){return t=xe(t,"px"),this.style({padding:t}),this}paddingTop(t){return t=xe(t,"px"),this.style({paddingTop:t}),this}paddingRight(t){return t=xe(t,"px"),this.style({paddingRight:t}),this}paddingBootom(t){return t=xe(t,"px"),this.style({paddingBootom:t}),this}paddingLeft(t){return t=xe(t,"px"),this.style({paddingLeft:t}),this}font(t){return this.style({font:t}),this}fontFamily(t=""){return this.style({fontFamily:t}),this}fontSize(t){return this.style({fontSize:t}),this}cursor(t="pointer"){return this.style({cursor:t}),this}overflow(t,e){const s=["hidden","auto"];return this.style({overflowX:"number"==typeof t?s[t]:t,overflowY:"number"==typeof e?s[e]:e},{target:target,maskVector:maskVector}),this}clip(t,{target:e,maskVector:s}={}){return"string"==typeof t&&(t="polygon("+t+")"),this.style({clipPath:t},{target:e,maskVector:s}),this}fadeOut(t=1){return this.style({transition:`opacity ${t/1e3}s`,opacity:0}),this.cache.isFaddedOut=!0,this}fadeIn(t=1){return this.style({transition:`opacity ${t/1e3}s`,opacity:1}),this.cache.isFaddedOut=!1,this}toggleFade(t=1e3,e=t){return this.cache.isFaddedOut?this.fadeIn(t):this.fadeOut(e),this}morphBorderRadius(t,e){return this.style({borderRadius:t,transition:`borderRadius ${e/1e3}s`}),this}#i(t){const e=this.cache.transformation.matrix.arr.join(",");this.style({transform:`matrix3d(${e})`,"-webkit-transform":`matrix3d(${e})`,"-moz-transform":`matrix3d(${e})`,"-ms-transform":`matrix3d(${e})`,"-o-transform":`matrix3d(${e})`}),0!=t&&this.style({transition:`transform ${t/1e3}s ease`})}translate(t,e=t,s=0,r=0){return this.cache.transformation.matrix.set(3,0,t),this.cache.transformation.matrix.set(3,1,e),this.cache.transformation.matrix.set(3,2,s),this.#i(r),this}translateX(t,e=0){return this.cache.transformation.matrix.set(3,0,t),this.#i(e),this}translateY(t,e=0){return this.cache.transformation.matrix.set(3,1,t),this.#i(e),this}translateZ(t,e=0){const s=-1/this.cache.transformation.matrix[2][2];return this.cache.transformation.matrix.set(3,2,z),this.cache.transformation.matrix.set(3,3,1-t/s),this.#i(e),this}perspective(t,e=0){const s=this.cache.transformation.matrix[3][2];return this.cache.transformation.matrix.set(2,2,-1/d),this.cache.transformation.matrix.set(3,3,1-s/t),this.#i(e),this}scale(t,e=t,s=0){return this.cache.transformation.matrix.set(0,0,t),this.cache.transformation.matrix.set(1,1,e),this.#i(s),this}scaleX(t=1,e=0){return this.cache.transformation.matrix.set(0,0,t),this.#i(e),this}scaleY(t=1,e=0){return this.cache.transformation.matrix.set(1,1,t),this.cache.transformation.matrix.arr.join(","),this.#i(e),this}skew(t,e=t,s=0){return this.cache.transformation.matrix.set(0,1,t),this.cache.transformation.matrix.set(1,0,e),this.cache.transformation.matrix.arr.join(","),this.#i(s),this}skewX(t=1,e=0){return this.cache.transformation.matrix.set(0,1,t),this.cache.transformation.matrix.arr.join(","),this.#i(e),this}skewY(t=1,e=0){return this.cache.transformation.matrix.set(1,0,t),this.cache.transformation.matrix.arr.join(","),this.#i(e),this}rotateX(t,e=0){return this.cache.transformation.matrix.set(1,1,Hn(t)),this.cache.transformation.matrix.set(1,2,-Nn(t)),this.cache.transformation.matrix.set(2,1,Nn(t)),this.cache.transformation.matrix.set(1,2,Hn(t)),this.#i(e),this}rotateY(t,e=0){return this.cache.transformation.matrix.set(0,0,Hn(t)),this.cache.transformation.matrix.set(0,2,Nn(t)),this.cache.transformation.matrix.set(2,0,-Nn(t)),this.cache.transformation.matrix.set(2,2,Hn(t)),this.#i(e),this}rotateZ(t,e=0){return this.cache.transformation.matrix.set(0,0,Hn(t)),this.cache.transformation.matrix.set(0,1,-Nn(t)),this.cache.transformation.matrix.set(1,0,Nn(t)),this.cache.transformation.matrix.set(1,1,Hn(t)),this.#i(e),this}flipeX(t=1){return this.cache.transformation.Flip[0]+=180,this.cache.transformation.Flip[0]%=360,this.rotateX(this.cache.transformation.Flip[0],t),this}flipeY(t=1){return this.cache.transformation.Flip[1]+=180,this.cache.transformation.Flip[1]%=360,this.rotateY(this.cache.transformation.Flip[1],t),this}flipeZ(t=1){return this.cache.transformation.Flip[2]+=180,this.cache.transformation.Flip[2]%=360,this.rotateZ(this.cache.transformation.Flip[2],t),this}slideHeightIn(t=1,e=this.h){return this.style({transition:t+"s",height:e}),this}slideHeightOut(t=1){return this.style({transition:t+"s",height:0}),this.target?.element?.n("transitionend",(()=>this.style({opacity:"none"}))),this}slideWidthIn(t=1,e=this.w){return this.style({transition:t+"s",width:e}),this}slideWidthOut(t=1){this.style({transition:t+"s",width:0});const e=()=>{this.style({opacity:"none"})};return this.target?.element?.addEventListener("transitionend",e),this.target?.element?.removeEventListener("transitionend",e),this}slideIn({transitionTimming:t=1,w:e="100%",h:s="auto"}={}){return this.style({transition:t+"s",width:e,height:s,visibility:"visible"}),this}slideOut({transitionTimming:t=1,width:e=0,heightransitionTimming:s=0}={}){this.style({visibility:"hidden",transition:t+"s",opacity:"none",width:e,height:height});const r=()=>{this.style({opacity:"none"})};return this.target?.element?.addEventListener("transitionend",r),this.target?.element?.removeEventListener("transitionend",r),this}}function _e(t,e,s,r){return this.event=t,this.cache.preventDefault[e]&&t.preventDefault(),console.log({setter:s}),s&&s(),this.cache.stream.enabled[e]&&r&&this.cache.stream.history[e].push(r),this.cache.callbacks[e].map((t=>t(this))),this}class ke{constructor(t){this.target=null,this.setTarget(t),this.__dispose=this.dispose.bind(this)}get targetElement(){return this.target.element}setTarget(t){return this.target=t,this}__handle(t,e,s){const r="drag"===t?t:`${this.cache.prefixe}${t}`;return this.dispose(s),this.targetElement?.addEventListener(r,e),this}__onEvent(t,e,...s){if(0===s.length){if(!(this.cache.callbacks.length>1))return this;this.cache.callbacks.map((t=>e=>t.call(this,e)))}else this.cache.callbacks[t]=s.map((t=>e=>t.call(this,e)));return this.__handle(t,this.__controller[t],e),this}preventDefault(t={}){return Object.assign(this.cache.preventDefault,t),this}pause(t={}){t={...Object.fromEntries(Object.keys(this.cache.stream.enabled).map((t=>[t,!0]))),...t};for(let e in t)t[e]&&(this.targetElement?.removeEventListener(`${this.cache.prefixe}${e}`,this.__controller[`${this.cache.prefixe}${e}`]),this.cache.paused[`${this.cache.prefixe}${e}`]=!0);return this}resume(t={}){t={...Object.fromEntries(Object.keys(this.cache.stream.enabled).map((t=>[t,!0]))),...t};for(let e in t)t[e]&&(this.targetElement?.addEventListener(`${this.cache.prefixe}${e}`,this.__controller[`${this.cache.prefixe}${e}`]),this.cache.paused[`${this.cache.prefixe}${e}`]=!1);return this}dispose(t={}){return this.pause(t),this}stream(t={}){this.cache.stream.t0=Date.now();return t={...Object.fromEntries(Object.keys(this.cache.stream.enabled).map((t=>[t,!0]))),...t},Object.assign(this.cache.stream.enabled,t),this}clear(t={}){t={...Object.fromEntries(Object.keys(this.cache.stream.clear).map((t=>[t,!0]))),...t};for(let e in t)t[e]&&(this.cache.stream.history[e]=[]);return this}}function Ie(t){_e.call(this,t,"input",null,null)}function Ee(t){_e.call(this,t,"change",null,null)}class Te extends ke{constructor(t){super(t),this.event=null,this.cache={prefixe:"",preventDefault:{input:!1,change:!1},paused:{input:!1,change:!1},stream:{enabled:{input:!1,change:!1},clear:{input:!1,change:!1},history:{input:[],change:[]}},callbacks:{input:[],change:[]}},this.__controller={input:Ie.bind(this),change:Ee.bind(this)}}get value(){return this.target.value}onInput(...t){return this.__onEvent("input",{},...t),this}onChange(...t){return this.__onEvent("change",{},...t),this}}const Ae=t=>new Te(t);function Ce(t){_e.call(this,t,"hashchange",null,null)}class Oe extends ke{constructor(t){super(t),this.event=null,this.cache={prefixe:"",preventDefault:{hashchange:!1},paused:{hashchange:!1},stream:{enabled:{hashchange:!1},clear:{hashchange:!1},history:{hashchange:[]}},callbacks:{hashchange:[]}},this.__controller={hashchange:Ce.bind(this)}}onChange(...t){return this.__onEvent("hashchange",{},...t),this}}const Me=t=>new Oe(t),je=t=>function(e){_e.call(this,e,t,null,null)};class Se extends ke{constructor(t){super(t),this.event=null,this.cache={prefixe:"",preventDefault:{},paused:{},stream:{enabled:{},clear:{},history:{}},callbacks:{}},this.__controller={}}#n(t){return this.cache.preventDefault[t]=!1,this.cache.paused[t]=!1,this.cache.stream.enabled=!1,this.cache.stream.clear=!1,this.cache.stream.history=[],this.cache.callbacks[t]=[],this.__controller[t]=je(t).bind(this),this}on(t,...e){return this.__controller[t]||this.#n(t),this.__onEvent(t,{},...e),this}emit(t,e={}){this.__controller[t]||this.#n(t),this.detail=e;const s=new Event(t);return this.targetElement.dispatchEvent(s),this}}const Ze=t=>new Se(t);class Ue extends ke{constructor(t,e=.3,s=.3){super(t);const{removeListener:r,setWidthThreshold:i,setHeightThreshold:n}=function(t,e=.5,s=.5,r,i){let n=F(e,0,r),a=F(s,0,i),o=0,h=0,c=0,l=0;const u=t=>{o=t.clientX,h=t.clientY},m=t=>{c=t.clientX,l=t.clientY,p()};function p(){const t=c-o,e=l-h;(Math.abs(t)>n||Math.abs(e)>a)&&d(t,e)}function d(e,s){const o=globalThis?.CustomEvent?new CustomEvent("swipe",{detail:{deltaX:Rn(e)<n?0:la(e)*P(Rn(e),0,r),deltaY:Rn(s)<a?0:la(s)*P(Rn(s),0,i),direction:{x:Rn(e)<n?"none":e>0?"right":"left",y:Rn(s)<a?"none":s>0?"down":"up"}}}):null;t?.dispatchEvent(o)}function f(t){n=F(t,0,r)}function g(t){a=F(t,0,i)}return t?.addEventListener("pointerdown",u),t?.addEventListener("pointerup",m),{removeListener(){t?.removeEventListener("pointerdown",u),t?.removeEventListener("pointerup",m),console.log("Swipe event listeners removed")},setWidthThreshold:f,setHeightThreshold:g}}(this.target?.element,e,s,this.target.width,this.target.height);this.cache={width_threshold:e,height_threshold:s,removeListener:r,setWidthThreshold:i,setHeightThreshold:n,legacyTouchAction:globalThis?.document?.body?.style?.touchAction,prefixe:"",preventDefault:{swipe:!1},paused:{swipe:!1},stream:{enabled:{swipe:!1},clear:{swipe:!1},history:{swipe:[]}},callbacks:{swipe:[]}},this.__controller={swipe:Re.bind(this)}}onSwipe(...t){return Object.assign(globalThis?.document?.body?.style,{touchAction:"none"}),this.__onEvent("swipe",{},...t),this}updateThresholds(t=this.cache.width_threshold,e=this.cache.height_threshold){return void 0!==t&&this.cache.setWidthThreshold(t),void 0!==e&&this.cache.setHeightThreshold(e),this}destroy(){return this.cache.removeListener(),Object.assign(globalThis?.document?.body?.style,{touchAction:this.cache.legacyTouchAction}),this}}function Re(t){_e.call(this,t,"swipe",null,null)}const De=(t,e,s)=>new Ue(t,e,s);var Le=Object.freeze({__proto__:null,ZikoCustomEvent:Se,ZikoEventHash:Oe,ZikoEventInput:Te,ZikoEventSwipe:Ue,useCustomEvent:Ze,useHashEvent:Me,useInputEvent:Ae,useSwipeEvent:De});class Pe{constructor(t,e){this.target=t,this.observer=null,this.cache={options:e||{attributes:!0,childList:!0,subtree:!0},streamingEnabled:!0,lastMutation:null,mutationHistory:{}},this.observeCallback=(t,e)=>{if(this.cache.streamingEnabled)for(const e of t)switch(e.type){case"attributes":this.cache.mutationHistory.attributes.push(e.target.getAttribute(e.attributeName));break;case"childList":this.cache.mutationHistory.childList.push(e);break;case"subtree":this.cache.mutationHistory.subtree.push(e)}this.callback&&this.callback(t,e)}}observe(t){if(!this.observer){if(!globalThis.MutationObserver)return void console.log("MutationObserver Nor Supported");this.observer=new MutationObserver(this.cache.observeCallback),this.observer.observe(this.target.element,this.cache.options),this.callback=([e])=>t.call(e,this),this.cache.streamingEnabled=!0}}pause(t){this.observer&&(this.observer.disconnect(),t&&this.observer.observe(this.target,t))}reset(t){this.observer&&(this.observer.disconnect(),this.observer.observe(this.target,t||this.cache.options))}clear(){return this.observer&&(this.observer.disconnect(),this.observer=null,this.cache.mutationHistory={attributes:[],childList:[],subtree:[]}),this.cache.streamingEnabled=!1,this}getMutationHistory(){return this.cache.mutationHistory}enableStreaming(){return this.cache.streamingEnabled=!0,this}disableStreaming(){return this.cache.streamingEnabled=!1,this}}const ze=(t,e={},s=null)=>{const r=new Pe(t,e);return s&&r.observe(s),r};class Fe extends Pe{constructor(t,e){super(t,{attributes:!0,childList:!1,subtree:!1}),Object.assign(this.cache,{observeCallback:(t,e)=>{for(const e of t)this.cache.lastMutation={name:e.attributeName,value:e.target.getAttribute(e.attributeName)},this.cache.streamingEnabled&&this.cache.mutationHistory.attributes.push(this.cache.lastMutation);this.callback&&this.callback(t,e)}}),this.cache.mutationHistory.attributes=[],e&&this.observe(e)}get history(){return this.cache.mutationHistory.attributes}}const He=(t,e)=>new Fe(t,e);class Ne extends Pe{constructor(t,e){super(t,{attributes:!1,childList:!0,subtree:!1}),Object.assign(this.cache,{observeCallback:(t,e)=>{for(const e of t)e.addedNodes?this.cache.lastMutation={type:"add",item:this.target.find((t=>t.element===e.addedNodes[0]))[0],previous:this.target.find((t=>t.element===e.previousSibling))[0]}:e.addedNodes&&(this.cache.lastMutation={type:"remove",item:this.target.find((t=>t.element===e.removedNodes[0]))[0],previous:this.target.find((t=>t.element===e.previousSibling))[0]}),this.cache.streamingEnabled&&this.cache.mutationHistory.children.push(this.cache.lastMutation);this.callback&&this.callback(t,e)}}),this.cache.mutationHistory.children=[],e&&this.observe(e)}get item(){return this.cache.lastMutation.item}get history(){return this.cache.mutationHistory.children}}const $e=(t,e)=>new Ne(t,e);class Be{constructor(t,e,{threshold:s=0,margin:r=0}={}){this.target=t,this.config={threshold:s,margin:r},globalThis.IntersectionObserver?this.observer=new IntersectionObserver((t=>{this.entrie=t[0],e(this)}),{threshold:this.threshold}):console.log("IntersectionObserver Not Supported")}get ratio(){return this.entrie.intersectionRatio}get isIntersecting(){return this.entrie.isIntersecting}setThreshould(t){return this.config.threshold=t,this}setMargin(t){return t="number"==typeof t?t+"px":t,this.config.margin=t,this}start(){return this.observer.observe(this.target.element),this}stop(){return this}}const Ve=(t,e,s)=>new Be(t,e,s);class qe{constructor(t,e){this.target=t,this.contentRect=null,this.observer=new ResizeObserver((()=>{e(this)}))}get BoundingRect(){return this.target.element.getBoundingClientRect()}get width(){return this.BoundingRect.width}get height(){return this.BoundingRect.height}get top(){return this.BoundingRect.top}get bottom(){return this.BoundingRect.bottom}get right(){return this.BoundingRect.right}get left(){return this.BoundingRect.left}get x(){return this.BoundingRect.x}get y(){return this.BoundingRect.y}start(){return this.observer.observe(this.target.element),this}stop(){return this.observer.unobserve(this.target.element),this}}const We=(t,e)=>new qe(t,e);class Ye{constructor(t=(t=>console.log({x:t.x,y:t.y}))){this.cache={},this.previousX=globalThis?.screenX,this.previousY=globalThis?.screenY}update(){Object.assign(this.cache,{screenXLeft:globalThis?.screenX,screenXRight:globalThis?.screen.availWidth-globalThis?.screenX,screenYTop:globalThis?.screenY,screenYBottom:globalThis?.screen.availHeight-globalThis?.screenY-globalThis?.outerHeight,screenCenterX:globalThis?.screen.availWidth/2,screenCenterY:globalThis?.screen.availHeight/2,windowCenterX:globalThis?.outerWidth/2+globalThis?.screenX,windowCenterY:globalThis?.outerHeight/2+globalThis?.screenY,deltaCenterX:globalThis?.screen.availWidth/2-globalThis?.outerWidth/2+globalThis?.screenX,deltaCenterY:null})}get x0(){return H(globalThis?.screenX,0,globalThis.screen.availWidth,-1,1)}get y0(){return-H(globalThis?.screenY,0,globalThis.screen.availHeight,-1,1)}get x1(){return H(globalThis?.screenX+globalThis?.outerWidth,0,globalThis.screen.availWidth,-1,1)}get y1(){return-H(globalThis?.screenY+globalThis?.outerHeight,0,globalThis.screen.availHeight,-1,1)}get cx(){return H(globalThis?.outerWidth/2+globalThis?.screenX,0,globalThis.screen.availWidth,-1,1)}get cy(){return-H(globalThis?.outerHeight/2+globalThis?.screenY,0,globalThis.screen.availHeight,-1,1)}}const Ge=t=>new Ye(t);var Xe=Object.freeze({__proto__:null,ZikoMutationObserver:Pe,watch:ze,watchAttr:He,watchChildren:$e,watchIntersection:Ve,watchScreen:Ge,watchSize:We});const Ke=(t,e=[],s=(()=>{}))=>{t.cache.stream.enabled.down=!0;const r=e.length,i=t.cache.stream.history.down.slice(-r).map((t=>t.key));e.join("")===i.join("")&&(t.event.preventDefault(),s.call(t,t))};class Qe{constructor(){this.events={},this.maxListeners=10}on(t,e){this.events[t]||(this.events[t]=[]),this.events[t].push(e),this.events[t].length>this.maxListeners&&console.warn(`Warning: Possible memory leak. Event '${t}' has more than ${this.maxListeners} listeners.`)}once(t,e){const s=r=>{this.off(t,s),e(r)};this.on(t,s)}off(t,e){const s=this.events[t];if(s){const t=s.indexOf(e);-1!==t&&s.splice(t,1)}}emit(t,e){const s=this.events[t];s&&s.forEach((t=>{t(e)}))}clear(t){t?delete this.events[t]:this.events={}}setMaxListener(t,e){this.maxListeners=e}removeAllListeners(t){t?this.events[t]=[]:this.events={}}}const Je=()=>new Qe;let ts=class{constructor(t,e=!0){this.#n(),this.cache={Emitter:null},e&&this.useEventEmitter(),this.set(t)}#n(){return this.__FavIcon__=document.querySelector("link[rel*='icon']")||document?.createElement("link"),this.__FavIcon__.type="image/x-icon",this.__FavIcon__.rel="shortcut icon",this}set(t){return t!==this.__FavIcon__.href&&(this.__FavIcon__.href=t,this.cache.Emitter&&this.cache.Emitter.emit("ziko:favicon-changed")),this}get current(){return document.__FavIcon__.href}onChange(t){return this.cache.Emitter&&this.cache.Emitter.on("ziko:favicon-changed",t),this}useEventEmitter(){return this.cache.Emitter=Je(),this}};const es=(t,e)=>new ts(t,e);let ss=class{constructor({viewport:t,charset:e,description:s,author:r,keywords:i}){this.document=globalThis?.document,this.meta={},this.init({viewport:t,charset:e,description:s,author:r,keywords:i})}init({viewport:t,charset:e,description:s,author:r,keywords:i}){t&&this.setViewport(t),e&&this.setCharset(e),s&&this.describe(s),r&&this.setAuthor(r),i&&this.setKeywords(i)}set(t,e){const s="charset"===(t=t.toLowerCase()),r=s?document.querySelector("meta[charset]"):document.querySelector(`meta[name=${t}]`);return this.meta=r??document?.createElement("meta"),s?this.meta.setAttribute("charset",e):(this.meta.setAttribute("name",t),this.meta.setAttribute("content",e)),r||this.document.head.append(this.meta),this}setCharset(t="utf-8"){return this.set("charset",t),this}describe(t){return this.set("description",t),this}setViewport(t="width=device-width, initial-scale=1.0"){return this.set("viewport",t),this}setKeywords(...t){return t=[...new Set(t)].join(", "),this.set("keywords",t),this}setAuthor(t){return this.set("author",t),this}};const rs=({viewport:t,charset:e,description:s,author:r,keywords:i})=>new ss({viewport:t,charset:e,description:s,author:r,keywords:i});let is=class{constructor(t=document.title,e=!0){this.cache={Emitter:null},e&&this.useEventEmitter(),this.set(t)}useEventEmitter(){return this.cache.Emitter=Je(),this}set(t){return t!==document.title&&(document.title=t,this.cache.Emitter&&this.cache.Emitter.emit("ziko:title-changed")),this}get current(){return document.title}onChange(t){return this.cache.Emitter&&this.cache.Emitter.on("ziko:title-changed",t),this}};const ns=(t,e)=>new is(t,e);let as=class{constructor({title:t,lang:e,icon:s,meta:r,noscript:i}){this.html=globalThis?.document?.documentElement,this.head=globalThis?.document?.head,t&&ns(t),e&&this.setLang(e),s&&es(s),r&&rs(r),i&&this.setNoScript()}setLang(t){this.html.setAttribute("lang",t)}setNoScript(t){}};const os=({title:t,lang:e,icon:s,meta:r,noscript:i})=>new as({title:t,lang:e,icon:s,meta:r,noscript:i});class hs{constructor(t={},e=(t.hasOwnProperty("default")?"default":Object.keys(t)[0]),s=0){this.id="Ziko-Style-"+s,this.keys=new Set,this.styles={default:{fontSize:"1em",color:"green"},other:{fontSize:"2em",color:"cyan"}},t&&this.add(t),e&&this.use(e)}get current(){return[...this.keys].reduce(((t,e)=>(t[e]=`var(--${e}-${this.id})`,t)),{})}add(t,e={}){return t&&"object"==typeof t&&!Array.isArray(t)?Object.assign(this.styles,t):"string"==typeof t&&Object.assign(this.styles,{[t]:e}),this}#e(t){const e=Object.keys(this.styles);for(let s in this.styles[e[t]])Object.prototype.hasOwnProperty.call(this.styles[e[t]],s)&&(document.documentElement.style.setProperty(`--${s}-${this.id}`,this.styles[e[t]][s]),this.keys.add(s));return this}#s(t){if(!this.styles[t])return this;for(let e in this.styles[t])Object.prototype.hasOwnProperty.call(this.styles[t],e)&&(document.documentElement.style.setProperty(`--${e}-${this.id}`,this.styles[t][e]),this.keys.add(e));return this}#r(t){for(let e in t)Object.prototype.hasOwnProperty.call(t,e)&&(document.documentElement.style.setProperty(`--${e}-${this.id}`,t[e]),this.keys.add(e));return this}use(t){return"number"==typeof t?this.#e(t):"string"==typeof t?this.#s(t):t&&"object"==typeof t?this.#r(t):this}}const cs=(t,e,s)=>new hs(t,e,s);class ls{constructor(t=[],e=(()=>{})){this.mediaQueryRules=t,this.fallback=e,this.lastCalledCallback=null,this.init()}init(){this.mediaQueryRules.forEach((({query:t,callback:e})=>{const s=globalThis.matchMedia(t),r=()=>{const t=this.mediaQueryRules.some((({query:t})=>globalThis.matchMedia(t).matches));s.matches?(e(),this.lastCalledCallback=e):t||this.lastCalledCallback===this.fallback||(this.fallback(),this.lastCalledCallback=this.fallback)};r(),s.addListener(r)}))}}const us=(t,e)=>new ls(t,e);class ms{constructor(t){this.props={},t&&this.set(t)}get(t){return this.props[t]}set(t){return Object.entries(t).forEach((([t,e])=>this.#a(t,e))),this}#a(t,e){const s=`--${xn.camel2hyphencase(t)}`;document.documentElement.style.setProperty(s,e),Object.assign(this.props,{[t]:`var(${s})`}),Object.assign(this,{[t]:`var(${s})`})}}const ps=t=>(t.startsWith("--")||(t=`--${xn.camel2hyphencase(t)}`),`var(${t})`),ds=t=>new ms(t);const fs={...Le,...Xe,...Object.freeze({__proto__:null,ZikoHead:as,ZikoUseRoot:ms,ZikoUseStyle:hs,useFavIcon:es,useHead:os,useMediaQuery:us,useMeta:rs,useRoot:ds,useRootValue:ps,useStyle:cs,useSuccesifKeys:Ke,useTitle:ns})};class gs{constructor(t,s="",{el_type:r="html",useDefaultStyle:i=!1}={}){if(this.target=globalThis.__Ziko__.__Config__.default.target||globalThis?.document?.body,"string"==typeof t)switch(r){case"html":t=globalThis?.document?.createElement(t);break;case"svg":t=globalThis?.document?.createElementNS("http://www.w3.org/2000/svg",t);default:throw Error("Not supported")}else this.target=t.parentElement;t&&(this.__ele__=t),e(this,Ut,Dt,ye),this.cache={name:s,parent:null,isBody:!1,isRoot:!1,isHidden:!1,isFrozzen:!1,legacyParent:null,style:new ve({}),attributes:{},filters:{},temp:{}},this.events={ptr:null,mouse:null,wheel:null,key:null,drag:null,drop:null,click:null,clipboard:null,focus:null,swipe:null,custom:null},this.observer={resize:null,intersection:null},this.uuid=`${this.cache.name}-${dt.string(16)}`,this.ui_index=globalThis.__Ziko__.__CACHE__.get_ui_index(),this.cache.style.linkTo(this),i&&this.style({position:"relative",boxSizing:"border-box",margin:0,padding:0,width:"auto",height:"auto"}),this.items=[],globalThis.__Ziko__.__UI__[this.cache.name]?globalThis.__Ziko__.__UI__[this.cache.name]?.push(this):globalThis.__Ziko__.__UI__[this.cache.name]=[this],t&&globalThis.__Ziko__.__Config__.default.render&&this?.render?.(),this.isInteractive()&&(this.setAttr("ziko-hydration-index",globalThis.__Ziko__.__HYDRATION__.index),globalThis.__Ziko__.__HYDRATION__.map.set(globalThis.__Ziko__.__HYDRATION__.index,(()=>this)),globalThis.__Ziko__.__HYDRATION__.increment())}get element(){return this.__ele__}isInteractive(){return[!0,!1][Math.floor(2*Math.random())]}get isZikoUIElement(){return!0}register(){return this}get st(){return this.cache.style}get attr(){return this.cache.attributes}get evt(){return this.events}get html(){return this.element.innerHTML}get text(){return this.element.textContent}get isBody(){return this.element===globalThis?.document.body}get parent(){return this.cache.parent}get width(){return this.element.getBoundingClientRect().width}get height(){return this.element.getBoundingClientRect().height}get top(){return this.element.getBoundingClientRect().top}get right(){return this.element.getBoundingClientRect().right}get bottom(){return this.element.getBoundingClientRect().bottom}get left(){return this.element.getBoundingClientRect().left}clone(t=!1){const e=new this.constructor;if(e.__proto__=this.__proto__,this.items.length){const t=[...this.items].map((t=>t.clone()));e.append(...t)}else e.element=this.element.cloneNode(!0);return e.render(t)}style(t){return t instanceof we?this.st.style(t.current):this.st.style(t),this}size(t,e){return this.st.size(t,e),this}maintain(){for(let t=0;t<this.items.length;t++)Object.assign(this,{[[t]]:this.items[t]});return this.length=this.items.length,this}filter(t,e=(()=>{}),s=(()=>{})){const r=this.items.filter(t);return r.forEach(e),this.items.filter((t=>!r.includes(t))).forEach(s),this}filterByTextContent(t,e=!1){this.items.forEach((t=>t.render())),this.filter((s=>!(e?s.text===t:s.text.includes(t))),(t=>t.unrender()))}filterByClass(t){return this.items.map((t=>t.render())),this.items.filter((e=>!e.classes.includes(t))).map((t=>t.unrender())),this}sortByTextContent(t,e){let s=this.children;return s.filter((e=>!e.textContent.toLowerCase().includes(t.toLowerCase()))).map((t=>{t.style.display="none"})),s.filter((e=>e.textContent.toLowerCase().includes(t.toLowerCase()))).map(((t,s)=>t.style.display=e[s])),s.filter((t=>"none"!=t.style.display)),this}get#o(){const t=globalThis.getComputedStyle(this.element),e={};return"0px"!==t.marginRight&&Object.assign(e,{marginLeft:t.marginRight}),"0px"!==t.marginLeft&&Object.assign(e,{marginRight:t.marginLeft}),"0px"!==t.paddingRight&&Object.assign(e,{paddingLeft:t.paddingRight}),"0px"!==t.paddingLeft&&Object.assign(e,{paddingRight:t.paddingLeft}),"0px"!==t.left&&Object.assign(e,{right:t.left}),"0px"!==t.right&&Object.assign(e,{left:t.right}),"right"===t.textAlign&&Object.assign(e,{textAlign:"left"}),"left"===t.textAlign&&Object.assign(e,{textAlign:"right"}),"right"===t.float&&Object.assign(e,{float:"left"}),"left"===t.float&&Object.assign(e,{float:"right"}),"0px"!==t.borderRadiusLeft&&Object.assign(e,{right:t.borderRadiusRight}),"0px"!==t.borderRadiusRight&&Object.assign(e,{right:t.borderRadiusLeft}),["flex","inline-flex"].includes(t.display)&&("flex-end"===t.justifyContent&&Object.assign(e,{justifyContent:"flex-start"}),"flex-start"===t.justifyContent&&Object.assign(e,{justifyContent:"flex-end"})),e}useRtl(t=!1){return t?this.style({...this.#o,direction:"rtl"}):this.style({direction:"rtl"}),this}useLtr(t=!1){return t?this.style({...this.#o,direction:"ltr"}):this.style({direction:"ltr"}),this}freeze(t){return this.cache.isFrozzen=t,this}setTarget(t){if(!this.isBody)return t?.isZikoUIElement&&(t=t.element),this.unrender(),this.target=t,this.render(),this}describe(t){t&&this.setAttr("aria-label",t)}animate(t,{duration:e=1e3,iterations:s=1,easing:r="ease"}={}){return this.element?.animate(t,{duration:e,iterations:s,easing:r}),this}#h(t,e){"svg"!==this.element.tagName&&(t=xn.isCamelCase(t)?xn.camel2hyphencase(t):t),this?.attr[t]&&this?.attr[t]===e||(this.element.setAttribute(t,e),Object.assign(this.cache.attributes,{[t]:e}))}setAttr(t,e){if(t instanceof Object){const[s,r]=[Object.keys(t),Object.values(t)];for(let t=0;t<s.length;t++)r[t]instanceof Array&&(e[t]=r[t].join(" ")),this.#h(s[t],r[t])}else e instanceof Array&&(e=e.join(" ")),this.#h(t,e);return this}removeAttr(...t){for(let e=0;e<t.length;e++)this.element?.removeAttribute(t[e]);return this}getAttr(t){return t=xn.isCamelCase(t)?xn.camel2hyphencase(t):t,this.element.attributes[t].value}setContentEditable(t=!0){return this.setAttr("contenteditable",t),this}get children(){return[...this.element.children]}get cloneElement(){return this.element.cloneNode(!0)}setClasses(...t){return this.setAttr("class",t.join(" ")),this}get classes(){const t=this.element.getAttribute("class");return null===t?[]:t.split(" ")}addClass(){}setId(t){return this.setAttr("id",t),this}get id(){return this.element.getAttribute("id")}onSwipe(t,e,...s){return this.events.swipe||(this.events.swipe=De(this,t,e)),this.events.swipe.onSwipe(...s),this}on(t,...e){return this.events.custom||(this.events.custom=Ze(this)),this.events.custom.on(t,...e),this}emit(t,e={}){return this.events.custom||(this.events.custom=Ze(this)),this.events.custom.emit(t,e),this}watchAttr(t){return this.observer.attr||(this.observer.attr=He(this,t)),this}watchChildren(t){return this.observer.children||(this.observer.children=$e(this,t)),this}watchSize(t){return this.observer.resize||(this.observer.resize=We(this,t)),this.observer.resize.start(),this}watchIntersection(t,e){return this.observer.intersection||(this.observer.intersection=Ve(this,t,e)),this.observer.intersection.start(),this}}class bs extends gs{constructor(t,e,s,...r){super(t,e),this.addValue(...r),this.style({margin:0,padding:0}),Object.assign(this.cache,{lineBreak:s})}get isText(){return!0}get value(){return this.element.textContent}clear(){return this.element.childNodes.forEach((t=>t.remove())),this.element.textContent="",this}addValue(...t){return t.forEach(((t,e)=>{"string"==typeof t||"number"==typeof t?this.element?.appendChild(globalThis?.document.createTextNode(t)):t instanceof gs?this.element?.appendChild(t.element):t instanceof Sn||t instanceof Tn?this.element?.appendChild(new Text(t.toString())):t instanceof Array?this.element?.appendChild(new Text(dn(t))):t instanceof Object&&this.element?.appendChild(new Text(mn(t))),this.cache.lineBreak&&this.element?.appendChild(globalThis.document?.createElement("br"))})),this}setValue(...t){return this.clear(),this.addValue(...t),this}}class ys extends bs{constructor(...t){super("span","text",!1,...t)}}class ws extends bs{constructor(...t){super("q","quote",!1,...t),this.style({fontStyle:"italic"})}get isQuote(){return!0}}class xs extends bs{constructor(...t){super("dfn","dfnText",!1,...t)}get isDfnText(){return!0}}class vs extends bs{constructor(t){super("sup","supText",!1,t)}get isSupText(){return!0}}class _s extends bs{constructor(...t){super("sub","subText",!1,...t)}get isSubText(){return!0}}class ks extends bs{constructor(...t){super("code","codeText",!1,...t)}get isCodeText(){return!0}}class Is extends bs{constructor(t,e){super("abbr","abbrText",!1,t),this.setAttr("title",e)}get isAbbrText(){return!0}}const Es=(...t)=>new ys(...t),Ts=(...t)=>new ws(...t),As=(...t)=>new xs(...t),Cs=(...t)=>new vs(...t),Os=(...t)=>new _s(...t),Ms=(...t)=>new ks(...t),js=(t,e)=>new Is(t,e);class Ss extends bs{constructor(...t){super("p","p",!0,...t)}get isPara(){return!0}}class Zs extends bs{constructor(t,e){super("blockquote","blockquote",!0,e),this.setAttr("cite",t)}get isBlockQuote(){return!0}}const Us=(...t)=>new Ss(...t),Rs=(t,e)=>new Zs(t,e);class Ds extends gs{constructor(t=1,e=""){super(`h${t}`,`h${t}`),this.element.textContent=e}get isHeading(){return!0}get value(){return this.element.innerText}setValue(t=""){this.element.innerText=t}addValue(t=""){return this.element.innerText+=t,this}}const Ls=(t="")=>new Ds(1,t),Ps=(t="")=>new Ds(2,t),zs=(t="")=>new Ds(3,t),Fs=(t="")=>new Ds(4,t),Hs=(t="")=>new Ds(5,t),Ns=(t="")=>new Ds(6,t);var $s=Object.freeze({__proto__:null,ZikoUIAbbrText:Is,ZikoUIBlockQuote:Zs,ZikoUICodeText:ks,ZikoUIDefintion:xs,ZikoUIHeading:Ds,ZikoUIParagraphe:Ss,ZikoUIQuote:ws,ZikoUISubText:_s,ZikoUISupText:vs,ZikoUIText:ys,abbrText:js,blockQuote:Rs,codeText:Ms,dfnText:As,h1:Ls,h2:Ps,h3:zs,h4:Fs,h5:Hs,h6:Ns,p:Us,quote:Ts,subText:Os,supText:Cs,text:Es});class Bs extends gs{constructor(t){super("li","li"),this.append(t)}get isLi(){return!0}}class Vs extends gs{constructor(t,e){super(t,e),delete this.append,this.style({listStylePosition:"inside"})}get isList(){return!0}append(...t){for(let e=0;e<t.length;e++){let s=null;["string","number"].includes(typeof t[e])&&(t[e]=Es(t[e])),t[e]instanceof gs&&(s=new Bs(t[e])),s.setTarget(this.element),this.items.push(s[0]),this.maintain()}}remove(...t){if(0==t.length)this.target.children.length&&this.target.removeChild(this.element);else{const e=t=>{"number"==typeof t&&(t=this.items[t]),t instanceof gs&&this.element?.removeChild(t.parent.element),this.items=this.items.filter((e=>e!==t))};for(let s=0;s<t.length;s++)e(t[s]);for(let t=0;t<this.items.length;t++)Object.assign(this,{[[t]]:this.items[t]})}return this}insertAt(t,...e){if(t>=this.element.children.length)this.append(...e);else for(let s=0;s<e.length;s++){let r=null;["number","string"].includes(typeof e[s])&&(e[s]=Es(e[s])),e[s]instanceof gs&&(r=new Bs(e[s])),this.element?.insertBefore(r.element,this.items[t].parent.element),this.items.splice(t,0,e[s][0])}return this}filterByTextContent(t,e=!1){return this.items.map((t=>t.parent.render())),this.items.filter((s=>{const r=s.element.textContent;return!(e?r===t:r.includes(t))})).map((t=>t.parent.render(!1))),this}sortByTextContent(t=1){return this.items.map((t=>t.parent.render(!1))),this.sortedItems=this.items.sort(((e,s)=>t*e.element.textContent.localeCompare(s.element.textContent))),this.append(...this.sortedItems),this}filterByClass(t){return this.items.map((t=>t.parent.render(!0))),this.items.filter((e=>!e.Classes.includes(t))).map((t=>t.parent.render(!1))),this}delete(t){return[...this.element.children].indexOf(t)}push(){}pop(){}unshift(){}shift(){}sort(){}filter(){}slice(){}}class qs extends Vs{constructor(...t){super("ol","ol"),this.append(...t)}get isOl(){return!0}type(t=1){return this.element?.setAttribute("type",t),this}start(t=1){return this.element?.setAttribute("start",t),this}}class Ws extends Vs{constructor(...t){super("ul","ul"),this.append(...t)}get isUl(){return!0}}const Ys=t=>new Bs(t),Gs=(...t)=>new qs(...t),Xs=(...t)=>new Ws(...t);var Ks=Object.freeze({__proto__:null,li:Ys,ol:Gs,ul:Xs});class Qs extends gs{constructor(t,e,s="",r){super("input","input"),Object.assign(this.events,{input:null}),this.setValue(s),this.setAttr("type",t),this.setAttr("name",e),r&&this.linkDatalist(r)}get isInput(){return!0}setName(t){return this.setAttr("name",t),this}onInput(...t){return this.events.input||(this.events.input=Ae(this)),this.events.input.onInput(...t),this}onChange(...t){return this.events.input||(this.events.input=Ae(this)),this.events.input.onChange(...t),this}linkDatalist(t){let e;if(t instanceof ZikoUIInputDatalist)e=t.Id;else if(t instanceof Array){const s=new ZikoUIInputDatalist(...t);e=s.Id,console.log(s)}else e=t;return this.element?.setAttribute("list",e),this}get value(){return this.element.value}setValue(t=""){return this.element.value=t,this}useState(t){return this.setValue(t),[{value:this.value},t=>this.setValue(t)]}setPlaceholder(t){return t&&(this.element.placeholder=t),this}get isValide(){return this.element.checkValidity()}setRequired(t=!0){return this.element.required=t,this}select(){return this.element.select(),this}copy(){return this.element.select(),document.execCommand("copy"),this}cut(){return this.element.select(),document.execCommand("cut"),this}accept(t){return this.element.accept=t,this}}const Js=(t,e)=>{if(t instanceof Object){const{datalist:e,placeholder:s}=t;return t=t.value??"",new Qs("text","input",t,e).setPlaceholder(s)}return new Qs("text","input",t,e)};class tr extends Qs{constructor(t,e,s=1){super("number","inpuNumber"),this.setMin(t).setMax(e).setStep(s)}get isInputNumber(){return!0}get value(){return+this.element.value}setMin(t){return this.element.min=t,this}setMax(t){return this.element.max=t,this}setStep(t){return this.element.step=t,this}}const er=(t,e,s)=>{if(t instanceof Object){const{value:e,max:s=10,step:r=1,placeholder:i=""}=t;return t=t?.min??0,new ZikoUIInputSlider(t,s,r).setValue(e).setPlaceholder(i)}return new tr(t,e,s)};let sr=class extends Qs{constructor(t=0,e=0,s=10,r=1){super("range","inputSlider"),this.setMin(e).setMax(s).setValue(t).setStep(r)}get isInputSlider(){return!0}setMin(t){return this.element.min=t,this}setMax(t){return this.element.max=t,this}setStep(t){return this.element.step=t,this}};const rr=(t,e,s,r)=>{if(t instanceof Object){const{min:e=0,max:s=10,step:r=1}=t;return new sr(t=t?.value??5,e,s,r)}return new sr(t,e,s,r)};class ir extends Qs{constructor(){super("color","inputColor"),this.background(this.value),this.onInput((()=>this.background(this.value)))}get isInputColor(){return!0}}const nr=()=>new ir;class ar extends Qs{constructor(){super("search","inputSearch"),this.Length=0}get isInputSearch(){return!0}onsearch(t){return this.element?.addEventListener("search",(()=>t())),this}connect(...t){return this}displayLength(t){return this.element?.addEventListener("keyup",(()=>t.setValue(this.Length))),this}}const or=(...t)=>(new ar).connect(...t);class hr extends Qs{constructor(){super("checkbox","inputCheckbox"),this.cursor("pointer")}get isInputCheckbox(){return!0}get checked(){return this.element.checked}check(t=!0){return this.element.checked=t,this}color(t){return this.element.style.accentColor=t,this}}const cr=()=>new hr;class lr extends Qs{constructor(){super("radio","inputRadio"),this.cursor("pointer")}get isInputRadio(){return!0}get checked(){return this.element.checked}check(t=!0){return this.element.checked=t,this}color(t){return this.element.style.accentColor=t,this}}const ur=()=>new lr;class mr extends Qs{constructor(){super("email","inputEmail")}get isInputEmail(){return!0}}const pr=()=>new mr;class dr extends Qs{constructor(){super("password","inputPassword")}get isInputPassword(){return!0}}const fr=()=>new dr;class gr extends Qs{constructor(){super("date","inputDate")}get isInputDate(){return!0}}const br=()=>new gr;class yr extends Qs{constructor(){super("time","inputTime")}get isInputTime(){return!0}}const wr=()=>new yr;class xr extends Qs{constructor(){super("datetime-local","inputDateTime")}get isInputDateTime(){return!0}}const vr=()=>new xr;class _r extends gs{constructor(t,e){super("div",""),this.element.append("svg"===e?function(t){if(globalThis?.DOMParser){return(new DOMParser).parseFromString(t.replace(/\s+/g," ").trim(),"image/svg+xml").documentElement}}(t):function(t){if(globalThis?.DOMParser){const e=(new DOMParser).parseFromString(`<div>${t}</div>`,"text/html");return e.body.firstChild.style.display="contents",e.body.firstChild}}(t))}}class kr extends _r{constructor(t){super(t,"html")}}class Ir extends _r{constructor(t){super(t,"svg")}}const Er=t=>new kr(t),Tr=t=>new Ir(t);class Ar extends gs{constructor(t,e){super("div","suspense"),this.setAttr({dataTemp:"suspense"}),this.fallback_ui=t,this.append(t),(async()=>{try{const s=await e();t.unrender(),this.append(s)}catch(t){console.log({error:t})}})()}}const Cr=(t,e)=>new Ar(t,e),Or=(t,e,s,...r)=>{const{name:i,style:n,...a}=s;let o=new gs(t,i,e);return n&&o.style(n),a&&o.setAttr(a),r&&o.append(...r),o},Mr=(t,e={},...s)=>Or(t,"html",e,...s),jr=(t,e={},...s)=>Or(t,"svg",e,...s),Sr=["a","abb","address","area","article","aside","audio","b","base","bdi","bdo","blockquote","br","button","canvas","caption","cite","code","col","colgroup","data","datalist","dd","del","details","dfn","dialog","div","dl","dt","em","embed","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","hr","i","iframe","img","ipnut","ins","kbd","label","legend","li","main","map","mark","menu","meter","nav","object","ol","optgroup","option","output","p","param","picture","pre","progress","q","rp","rt","ruby","s","samp","search","section","select","small","source","span","strong","sub","summary","sup","svg","table","tbody","td","template","textarea","tfoot","th","thead","time","title","tr","track","u","ul","var","video","wbr"].reduce(((t,e)=>(t[e]=(t,...s)=>Mr(e,t,...s),t)),{}),Zr=["svg","g","defs","symbol","use","image","switch","rect","circle","ellipse","line","polyline","polygon","path","text","tspan","textPath","altGlyph","altGlyphDef","altGlyphItem","glyph","glyphRef","linearGradient","radialGradient","pattern","solidColor","filter","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDropShadow","feFlood","feFuncA","feFuncR","feFuncG","feFuncB","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","feSpecularLighting","feTile","feTurbulence","animate","animateMotion","animateTransform","set","script","desc","title","metadata","foreignObject"].reduce(((t,e)=>(t[e]=(t,...s)=>Mr(e,t,...s),t)),{});class Ur extends gs{constructor(t){super(t,"html")}}class Rr extends gs{constructor(t="button"){super("button","btn"),this.setValue(t),this.st.cursor("pointer"),globalThis.__Ziko__.__Config__.default.render&&this.render()}get isBtn(){return!0}setValue(t){return t instanceof gs?t.setTarget(this.element):(this.element?.appendChild(document.createTextNode("")),this.element.childNodes[0].data=t),this}get value(){return this.element.innerText}toggleValues(...t){let e=(t=t.map((t=>""+t))).indexOf(""+this.value);return-1!=e&&e!=t.length-1?this.setValue(t[e+1]):this.setValue(t[0]),this}}class Dr extends gs{constructor(){super("br","br")}get isBr(){return!0}}class Lr extends gs{constructor(){super("hr","hr"),this.setAttr("role","none")}get isHr(){return!0}}class Pr extends gs{constructor(t){super("a","link"),Object.assign(this.cache,{defaultStyle:{color:"#0275d8",textDecoration:"none"},hoverStyle:{color:"#01447e",textDecoration:"underline"}}),this.setHref(t),this.style(this.cache.defaultStyle),this.onPtrEnter((()=>this.style(this.cache.hoverStyle))),this.onPtrLeave((()=>this.style(this.cache.defaultStyle)))}setHref(t){this.element.href=t}get isLink(){return!0}}const zr=()=>new Dr,Fr=()=>new Lr,Hr=(t=1)=>new Array(t).fill(new Dr),Nr=(t=1)=>new Array(t).fill(new Lr),$r=(t,...e)=>new Pr(t).append(...e),Br=(t,...e)=>new Ur(t).append(...e),Vr=t=>new Rr(t);var qr=Object.freeze({__proto__:null,HTMLWrapper:Er,SVGWrapper:Tr,Suspense:Cr,ZikoUIBr:Dr,ZikoUIHTMLWrapper:kr,ZikoUIHr:Lr,ZikoUIHtmlTag:Ur,ZikoUILink:Pr,ZikoUISVGWrapper:Ir,ZikoUISuspense:Ar,ZikoUIXMLWrapper:_r,br:zr,brs:Hr,btn:Vr,h:Mr,hTags:Sr,hr:Fr,hrs:Nr,html:Br,link:$r,s:jr,sTags:Zr});class Wr extends gs{constructor(t="File"){super("inputImage"),this._aux_element=Vr(t).setTarget(this.target),this.element=document?.createElement("input"),this.element?.setAttribute("type","file"),this.element?.setAttribute("accept","image"),this._aux_element.onClick((()=>this.element.click())),this.element.onChange=this.handleImage.bind(this)}get isInputImage(){return!0}handleImage(t){const e=new FileReader,s=new Image;e.onload=function(t){s.src=t.target.result,console.log(s.src)},e.readAsDataURL(t.target.files[0]),this.img=s}get value(){return this.img}render(t=!0){return t?this.target.appendChild(this._aux_element.element):this.remove(),this}remove(){return this.target.children.length&&this.target.removeChild(this._aux_element.element),this}}const Yr=t=>new Wr(t);class Gr extends gs{constructor(t,e,s,r){super("img","image"),this.value=t,"IMG"===t.nodeName?this.element.setAttribute("src",t.src):this.element?.setAttribute("src",t),"number"==typeof s&&(s+="%"),"number"==typeof r&&(r+="%"),this.setAttr("alt",e),this.style({border:"1px solid black",width:s,height:r})}get isImg(){return!0}updateSrc(t){return this.value=t,this.element.src=t,this}toggleSrc(...t){let e=(t=t.map((t=>""+t))).indexOf(""+this.value);return-1!=e&&e!=t.length-1?this.updateSrc(t[e+1]):this.updateSrc(t[0]),this}alt(t){return this.element.alt=t,this}}const Xr=(t,e,s,r)=>new Gr(t,e,s,r);class Kr extends gs{constructor(t,e){super("figure","figure"),this.img=t.width("100%").element,this.caption=document?.createElement("figcaption"),this.caption.append(e.element),this.element?.append(this.img),this.element?.append(this.caption)}get isFigure(){return!0}}const Qr=(t,e)=>new Kr(t,e);class Jr extends gs{constructor(t,e){super(t,e),this.useControls()}get t(){return this.element.currentTime}useControls(t=!0){return this.element.controls=t,this}enableControls(){return this.element.controls=!0,this}disableControls(){return this.element.controls=!0,this}toggleControls(){return this.element.controls=!this.element.controls,this}play(){return this.element.play(),this}pause(){return this.element.pause(),this}seekTo(t){return this.element.currentTime=t,this}onPlay(){}onPause(){}}class ti extends Jr{constructor(t="",e="100%",s="50vh"){super("video","video"),"VIDEO"===t.nodeName?this.element?.setAttribute("src",t.src):this.element?.setAttribute("src",t),"number"==typeof e&&(e+="%"),"number"==typeof s&&(s+="%"),this.style({width:e,height:s})}get isVideo(){return!0}usePoster(t=""){return this.element.poster=t,this}usePIP(t){return this.element.requestPictureInPicture(t),this}}const ei=(t,e,s)=>new ti(t,e,s);class si extends Jr{constructor(t){super("audio","audio"),this.element?.setAttribute("src",t),this.size("150px","30px")}get isAudio(){return!0}}const ri=t=>new si(t);var ii=Object.freeze({__proto__:null,ZikoUIAudio:si,ZikoUIFigure:Kr,ZikoUIImage:Gr,ZikoUIVideo:ti,audio:ri,figure:Qr,image:Xr,video:ei});class ni extends ti{constructor(){super(),this.element?.setAttribute("src",""),this.constraints={audio:!0,video:{width:1280,height:720}}}get isInputCamera(){return!0}start(){return navigator.mediaDevices.getUserMedia(this.constraints).then((t=>{this.element.srcObject=t,this.element.onloadedmetadata=()=>{this.element.play()}})).catch((function(t){console.log(t.name+": "+t.message)})),this}}const ai=()=>new ni;class oi extends gs{constructor(){super(),this.element=document?.createElement("label")}get isLabel(){return!0}}class hi extends gs{constructor(t=""){super(),this.element=document?.createElement("option"),t instanceof Object&&"value"in t?(this.setValue(t.value),this.setText(t?.text??t.value)):this.setValue(t)}setValue(t=""){return this.element.value=t,this}setText(t=""){return t&&(this.element.textContent=t),this}}let ci=class extends gs{constructor(...t){super(),this.element=document?.createElement("datalist"),this.addOptions(...t).setId("ziko-datalist-id"+dt.string(10))}get isDatalist(){return!0}addOptions(...t){return t.map((t=>this.append(new hi(t)))),this}};const li=(...t)=>new ci(...t);class ui extends gs{constructor(){super(),this.element=document?.createElement("select")}addOptions(...t){return t.map((t=>this.append(new hi(t)))),this}get isSelect(){return!0}}const mi=()=>new ui;class pi extends gs{constructor(){super(),this.element=document?.createElement("textarea")}get value(){return this.element.textContent}get isTextArea(){return!0}}const di=()=>new pi;class fi extends gs{constructor(t="div",e="100%",s="100%"){super(t,"Flex"),this.direction="cols","number"==typeof e&&(e+="%"),"number"==typeof s&&(s+="%"),this.style({width:e,height:s}),this.style({display:"flex"})}get isFlex(){return!0}resp(t,e=!0){return this.wrap(e),this.element.clientWidth<t?this.vertical():this.horizontal(),this}setSpaceAround(){return this.style({justifyContent:"space-around"}),this}setSpaceBetween(){return this.style({justifyContent:"space-between"}),this}setBaseline(){return this.style({alignItems:"baseline"}),this}gap(t){return"row"===this.direction?this.style({columnGap:t}):"column"===this.direction&&this.style({rowGap:t}),this}wrap(t="wrap"){return this.style({flexWrap:"string"==typeof t?t:["no-wrap","wrap","wrap-reverse"][+t]}),this}_justifyContent(t="center"){return this.style({justifyContent:t}),this}vertical(t,e,s=1){return bi.call(this,s),this.style({alignItems:"number"==typeof t?wi.call(this,t):t,justifyContent:"number"==typeof e?xi.call(this,e):e}),this}horizontal(t,e,s=1){return yi.call(this,s),this.style({alignItems:"number"==typeof e?xi.call(this,e):e,justifyContent:"number"==typeof t?wi.call(this,t):t}),this}show(){return this.isHidden=!1,this.style({display:"flex"}),this}}const gi=(...t)=>{let e="div";return"string"==typeof t[0]&&(e=t[0],t.pop()),new fi(e).append(...t)};function bi(t){return 1==t?this.style({flexDirection:"column"}):-1==t&&this.style({flexDirection:"column-reverse"}),this}function yi(t){return 1==t?this.style({flexDirection:"row"}):-1==t&&this.style({flexDirection:"row-reverse"}),this}function wi(t){return"number"==typeof t&&(t=["flex-start","center","flex-end"][t+1]),t}function xi(t){return wi(-t)}var vi=Object.freeze({__proto__:null,Flex:gi,ZikoUIFlex:fi});class _i extends fi{constructor(...t){super("form","Form"),this.append(...t),this.setMethod("POST"),this.setAction("/")}setAction(t="/"){return this.setAttr("action",t),this}setMethod(t="post"){return this.setAttr("method",t),this}get data(){let t=new FormData(this.element);return this.items.forEach((e=>{(e.isInput||e.isSelect||e.isTextarea)&&t.append(e.element.name,e.value)})),t}sendFormData(){return fetch(this.element.action,{method:this.element.method,body:this.data}).then((t=>t.json())).then((t=>console.log(t))).catch((t=>console.error("Error:",t))),this}getByName(t){return this.data.get(t)}}const ki=(...t)=>new _i(...t);var Ii=Object.freeze({__proto__:null,Form:ki,ZikoUIForm:_i,ZikoUIInput:Qs,ZikoUIInputCheckbox:hr,ZikoUIInputColor:ir,ZikoUIInputDatalist:ci,ZikoUIInputDate:gr,ZikoUIInputDateTime:xr,ZikoUIInputEmail:mr,ZikoUIInputImage:Wr,ZikoUIInputNumber:tr,ZikoUIInputOption:hi,ZikoUIInputPassword:dr,ZikoUIInputRadio:lr,ZikoUIInputSearch:ar,ZikoUIInputSlider:sr,ZikoUIInputTime:yr,ZikoUILabel:oi,ZikoUISelect:ui,ZikoUITextArea:pi,checkbox:cr,datalist:li,input:Js,inputCamera:ai,inputColor:nr,inputDate:br,inputDateTime:vr,inputEmail:pr,inputImage:Yr,inputNumber:er,inputPassword:fr,inputTime:wr,radio:ur,search:or,select:mi,slider:rr,textarea:di});class Ei extends gs{constructor(...t){super(),this.element=document?.createElement("Tr"),this.append(...t)}}class Ti extends gs{constructor(...t){super(),this.element=document?.createElement("Td"),this.append(...t)}}class Ai extends gs{constructor(...t){super(),this.element=document?.createElement("Thead"),this.append(...t)}}class Ci extends gs{constructor(...t){super(),this.element=document?.createElement("Tbody"),this.append(...t)}}class Oi extends gs{constructor(t){super(),this.element=document?.createElement("Caption"),this.append(t)}}const Mi=(...t)=>(t=t.map((t=>(t instanceof gs||(t=Es(t)),t))),new Ti(...t)),ji=t=>new Oi(t),Si=t=>{var e=new Array(t.rows).fill(null).map((()=>((...t)=>new Ei(...t))())),s=t.arr.map((t=>t.map((()=>null))));for(let r=0;r<s.length;r++)for(let i=0;i<s[0].length;i++)s[r][i]=Mi(t.arr[r][i]),e[r].append(s[r][i]);return e};class Zi extends gs{constructor(t,{caption:e=null,head:s=null,foot:r=null}={}){super("table","Table"),this.structure={caption:e,head:s,body:null,foot:r},t&&this.fromMatrix(t),e&&this.setCaption(e)}get isTable(){return!0}get caption(){return this.structure.caption}get header(){}get body(){}get footer(){}setCaption(t){return this.removeCaption(),this.structure.caption=ji(t),this.append(this.structure.caption),this}removeCaption(){return this.structure.caption&&this.removeItem(...this.items.filter((t=>t instanceof Oi))),this.structure.caption=null,this}setHeader(...t){return this.tHead=((...t)=>(t=t.map((t=>(t instanceof gs||(t=Mi(t)),t))),new Ai(...UI)))(...t),this.append(this.tHead),this}removeHeader(){return this.removeItem(...this.items.filter((t=>t instanceof Oi))),this}setFooter(t){return this.structure.caption=ji(t),this.append(this.structure.caption),this}removeFooter(){return this.removeItem(...this.items.filter((t=>t instanceof Oi))),this}fromMatrix(t){return this.bodyMatrix=t instanceof Array?An(t):t,this.structure.body&&this.remove(this.structure.body),this.structure.body=((...t)=>new Ci(...t))(),this.append(this.structure.body),this.structure.body.append(...Si(this.bodyMatrix)),this}transpose(){return this.fromMatrix(this.bodyMatrix.T),this}hstack(t){return t instanceof Zi&&(t=t.bodyMatrix),this.fromMatrix(this.bodyMatrix.clone.hstack(t)),this}vstack(t){return t instanceof Zi&&(t=t.bodyMatrix),this.fromMatrix(this.bodyMatrix.clone.vstack(t)),this}slice(t=0,e=0,s=this.bodyMatrix.rows-1,r=this.bodyMatrix.cols-1){return this.fromMatrix(this.bodyMatrix.slice(t,e,s,r)),this}sortByCols(t,e={type:"num",order:"asc"}){return this.fromMatrix(this.bodyMatrix.clone.sortTable(t,e)),this}sortByRows(t,e={type:"num",order:"asc"}){return this.fromMatrix(this.bodyMatrix.T.clone.sortTable(t,e).T),this}filterByRows(t){return this.fromMatrix(this.bodyMatrix.clone.filterByRows(t)),this}filterByCols(t){return this.fromMatrix(this.bodyMatrix.clone.filterByCols(t)),this}forEachRow(t){return this.structure.body.forEach(t),this}forEachItem(t){return this.structure.body.forEach((e=>e.forEach(t))),this}}const Ui=(t,e)=>new Zi(t,e);var Ri=Object.freeze({__proto__:null,Table:Ui});const Di=["Main","Header","Nav","Section","Article","Aside","Footer"],Li={},Pi={};for(let t=0;t<Di.length;t++)Li[`ZikoUI${Di[t]}`]=class extends gs{constructor(){super(Di[t].toLowerCase()),this.style({position:"relative"})}get[`is${Di[t]}`](){return!0}},Pi[Di[t]]=(...e)=>(new Li[`ZikoUI${Di[t]}`]).append(...e);const{Main:zi,Header:Fi,Nav:Hi,Section:Ni,Article:$i,Aside:Bi,Footer:Vi}=Pi,{ZikoUIMain:qi,ZikoUIHeader:Wi,ZikoUINav:Yi,ZikoUISection:Gi,ZikoUIArticle:Xi,ZikoUIAside:Ki,ZikoUIFooter:Qi}=Li;var Ji=Object.freeze({__proto__:null,Article:$i,Aside:Bi,Footer:Vi,Header:Fi,Main:zi,Nav:Hi,Section:Ni,ZikoUIArticle:Xi,ZikoUIAside:Ki,ZikoUIFooter:Qi,ZikoUIHeader:Wi,ZikoUIMain:qi,ZikoUINav:Yi,ZikoUISection:Gi});class tn extends gs{constructor(t="div",e="50vw",s="50vh"){super(t,"Grid"),this.direction="cols","number"==typeof e&&(e+="%"),"number"==typeof s&&(s+="%"),this.style({border:"1px solid black",width:e,height:s}),this.style({display:"grid"})}get isGird(){return!0}columns(t){let e="";for(let s=0;s<t;s++)e=e.concat(" auto");return this.#c(e),this}#c(t="auto auto"){return this.style({gridTemplateColumns:t}),this}gap(t=10,e=t){return"number"==typeof t&&(t+="px"),"number"==typeof e&&(e+="px"),this.style({gridColumnGap:t,gridRowGap:e}),this}}const en=(...t)=>new tn("div").append(...t);var sn=Object.freeze({__proto__:null,Grid:en,ZikoUIGrid:tn});const rn=["a","abb","address","area","article","aside","audio","b","base","bdi","bdo","blockquote","br","button","canvas","caption","cite","code","col","colgroup","data","datalist","dd","del","details","dfn","dialog","div","dl","dt","em","embed","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","hr","i","iframe","img","ipnut","ins","kbd","label","legend","li","main","map","mark","menu","meter","nav","object","ol","optgroup","option","output","p","param","picture","pre","progress","q","rp","rt","ruby","s","samp","search","section","select","small","source","span","strong","sub","summary","sup","svg","table","tbody","td","template","textarea","tfoot","th","thead","time","title","tr","track","u","ul","var","video","wbr"],nn=["svg","g","defs","symbol","use","image","switch","rect","circle","ellipse","line","polyline","polygon","path","text","tspan","textPath","altGlyph","altGlyphDef","altGlyphItem","glyph","glyphRef","linearGradient","radialGradient","pattern","solidColor","filter","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDropShadow","feFlood","feFuncA","feFuncR","feFuncG","feFuncB","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","feSpecularLighting","feTile","feTurbulence","animate","animateMotion","animateTransform","set","script","desc","title","metadata","foreignObject"],an=new Proxy({},{get(t,e){if("string"!=typeof e)return;let s=e.replaceAll("_","-").toLowerCase();return rn.includes(s)?(...t)=>{if(!(t[0]instanceof gs)&&t[0]instanceof Object){let e=t.shift();return console.log(t),new gs(s).setAttr(e).append(...t)}return new gs(s).append(...t)}:nn.includes(s)?(...t)=>new gs(s,"",{el_type:"svg"}).append(...t):(...t)=>{if(!(t[0]instanceof gs)&&t[0]instanceof Object){let e=t.shift();return new gs(s).setAttr(e).append(...t)}return new gs(s).append(...t)}}}),on={...$s,...Ks,...Ii,...ii,...Ri,...Ji,...qr,...vi,...sn,ZikoUIElement:gs},hn=t=>(new XMLSerializer).serializeToString(t),cn=t=>btoa(hn(t)),ln=t=>"data:image/svg+xml;base64,"+cn(t),un=(t,e=!0)=>Xr(ln(t)).render(e),mn=t=>JSON.stringify(I((t=>["number","string","boolean","bigint"].includes(typeof t)?String(t):t instanceof Sn||t instanceof Tn?t.toString():t instanceof Array?dn(t):void 0),t),null," ").replace(/"([^"]+)":/g,"$1:").replace(/: "([^"]+)"/g,": $1"),pn=t=>{if(!Array.isArray(t))return 0;let e=1;for(const s of t)if(Array.isArray(s)){const t=pn(s);t+1>e&&(e=t+1)}return e},dn=t=>{let e=0;return function t(s){let r=pn(s),i=0;return s.some((t=>Array.isArray(t)))&&(e++,i=1),"["+s.map(((r,i)=>["number","string","boolean","bigint"].includes(typeof r)?String(r):r instanceof Sn?r.toString():r instanceof Array?`\n${" ".repeat(e)}${t(r)}${i===s.length-1?"\n":""}`:r instanceof Object?mn(r):void 0))+`${" ".repeat((r+e+1)*i)}]`}(t)},fn=(t,e=0)=>{t=gn(t);let s="";const r=" ".repeat(e);for(let i in t)if("object"==typeof t[i]){s+=`${r}${i} {\n`;const n=t[i];for(let t in n)"object"==typeof n[t]?s+=fn({[t]:n[t]},e+1):s+=`${r} ${t.replace(/[A-Z]/g,(t=>"-"+t.toLowerCase()))}: ${n[t]};\n`;s+=`${r}}\n`}return s};function gn(t){return"object"!=typeof t||null===t?t:Object.keys(t).reduce(((e,s)=>(e[s.trim()]=gn(t[s]),e)),Array.isArray(t)?[]:{})}var bn=Object.freeze({__proto__:null,arr2str:dn,csv2arr:yt,csv2json:vt,csv2matrix:wt,csv2object:xt,csv2sql:_t,json2arr:Et,json2css:fn,json2csv:Tt,json2csvFile:At,json2xml:St,json2xmlFile:Zt,json2yml:Mt,json2ymlFile:jt,obj2str:mn,svg2ascii:cn,svg2img:un,svg2imgUrl:ln,svg2str:hn}),yn=Object.freeze({__proto__:null});const wn={isDigit:/^\d+$/,isURL:/^(https?:\/\/)?([\w\-]+\.)+[\w\-]+(\/[\w\-./?%&=]*)?$/,isHexColor:/^#?([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$/,isIPv4:/^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/,isMACAddress:/^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$/,isDate:/^\d{4}-\d{2}-\d{2}$/};class xn{constructor(t){this.string=t}isDigit(){return wn.isDigit.test(this.string)}static isDigit(t){return new xn(t).isDigit()}isNumber(){return!isNaN(this.string)}static isNumber(t){return new xn(t).isNumber()}isUrl(){return wn.isURL.test(this.string)}static isUrl(t){return new xn(t).isUrl()}isHexColor(){return wn.isHexColor.test(this.string)}static isHexColor(t){return new xn(t).isHexColor()}isIPv4(){return wn.isIPv4.test(this.string)}static isIPv4(t){return new xn(t).isIPv4()}isDate(){return wn.isDate.test(this.string)}static isDate(t){return new xn(t).isDate()}isMACAddress(){return wn.isMACAddress.test(this.string)}static isMACAddress(t){return new xn(t).isMACAddress()}isPascalCase(){if(0===this.string.length)return!1;return/^[A-Z][a-zA-Z0-9]*$/.test(this.string)}static isPascalCase(t){return new xn(t).isPascalCase()}isCamelCase(){if(0===this.string.length)return!1;return/^[a-z][a-zA-Z0-9]*$/.test(this.string)}static isCamelCase(t){return new xn(t).isCamelCase()}isHyphenCase(){return this.string.split("-").length>1}static isHyphenCase(t){return new xn(t).isHyphenCase()}isSnakeCase(){return this.string.split("_").length>1}static isSnakeCase(t){return new xn(t).isSnakeCase()}isPalindrome(){const t=this.string.toLocaleLowerCase();let e,s=t.length;for(e=0;e<s/2;e++)if(t[e]!=t[s-e-1])return!1;return!0}static isPalindrome(t){return new xn(t).isPalindrome()}static isAnagrams(t,e){return t=t.split("").sort(),e=e.split("").sort(),JSON.stringify(t)===JSON.stringify(e)}isIsogram(){return[...new Set(this.string.toLowerCase())].length===this.string.length}static isIsogram(t){return new xn(t).isIsogram()}static camel2hyphencase(t){return t.replace(/[A-Z]/g,(t=>"-"+t.toLowerCase()))}static camel2snakecase(t){return t.replace(/[A-Z]/g,(t=>"_"+t.toLowerCase()))}static camel2pascalcase(t){return t.charAt(0).toUpperCase()+t.slice(1)}static camel2constantcase(t){return t.replace(/[A-Z]/g,(t=>"_"+t)).toUpperCase()}static pascal2snakecase(t){return t.replace(/([A-Z])/g,((t,e)=>e?"_"+t.toLowerCase():t.toLowerCase()))}static pascal2hyphencase(t){return t.replace(/([A-Z])/g,((t,e)=>e?"-"+t.toLowerCase():t.toLowerCase()))}static pascal2camelcase(t){return t.charAt(0).toLowerCase()+t.slice(1)}static pascal2constantcase(t){return t.replace(/([A-Z])/g,((t,e)=>e?"_"+t:t)).toUpperCase()}static snake2camelcase(t){return t.replace(/(_\w)/g,(t=>t[1].toUpperCase()))}static snake2hyphencase(t){return t.replace(/_/g,"-")}static snake2pascalcase(t){return t.split("_").map((t=>t.charAt(0).toUpperCase()+t.slice(1))).join("")}static snake2constantcase(t){return t.toUpperCase()}static hyphen2camelcase(t){return t.replace(/-([a-z])/g,(t=>t[1].toUpperCase()))}static hyphen2snakecase(t){return t.replace(/-/g,"_")}static hyphen2pascalcase(t){return t.split("-").map((t=>t.charAt(0).toUpperCase()+t.slice(1))).join("")}static hyphen2constantcase(t){return t.replace(/-/g,"_").toUpperCase()}static constant2camelcase(t){return t.toLowerCase().replace(/_([a-z])/g,(t=>t[1].toUpperCase()))}static constant2snakecase(t){return t.toLowerCase()}static constant2pascalcase(t){return t.toLowerCase().split("_").map((t=>t.charAt(0).toUpperCase()+t.slice(1))).join("")}static constant2hyphencase(t){return t.toLowerCase().replace(/_/g,"-")}}const vn=t=>t.replace(/\s+/g," "),_n=(t,e)=>t.split("").filter((t=>t==e)).length,kn=(t,e)=>t.split(" ").filter((t=>t==e)).length,In=t=>new xn(t);const En={...bt,...bn,...yn,...Object.freeze({__proto__:null,Str:xn,count:_n,countWords:kn,removeExtraSpace:vn,str:In})};class Tn extends k{constructor(t,e,s=[]){if(super(),t instanceof Tn)this.arr=t.arr,this.rows=t.rows,this.cols=t.cols;else{let r,i,n=[];if(arguments[0]instanceof Array)t=arguments[0].length,e=arguments[0][0].length,n=arguments[0];else for(r=0;r<t;r++)for(n.push([]),n[r].push(new Array(e)),i=0;i<e;i++)n[r][i]=s[r*e+i],null==s[r*e+i]&&(n[r][i]=0);this.rows=t,this.cols=e,this.arr=n}this._maintain()}toString(){return dn(this.arr)}at(t=0,e=void 0){return t<0&&(t=this.rows+t),null==e?this.arr[t]:(e<0&&(e=this.cols+e),this.arr[t][e])}reshape(t,e){if(t*e==this.rows*this.cols)return new Tn(t,e,this.arr.flat(1));console.error("Err")}static eye(t){let e=new Tn(t,t);for(let s=0;s<t;s++)for(let r=0;r<t;r++)e.arr[s][r]=s===r?1:0;return e}get clone(){return new Tn(this.rows,this.cols,this.arr.flat(1))}get size(){return this.rows*this.cols}get shape(){return[this.rows,this.cols]}get reel(){return new Tn(this.cols,this.rows,this.arr.flat(1).reel)}get imag(){return new Tn(this.cols,this.rows,this.arr.flat(1).imag)}_maintain(){for(let t=0;t<this.arr.length;t++)Object.assign(this,{[[t]]:this.arr[t]});return this}get(t=0,e=0){return-1==e?this.arr[t]:-1==t?this.arr.map((t=>t[e])):this.arr[t][e]}set(t=0,e=0,s){if(-1==e)return this.arr[t]=s;if(-1==t){for(let t=0;t<this.cols;t++)this.arr[t][e]=s[t]||0;return this.arr}return this.arr[t][e]=s}get isSquare(){return this.rows/this.cols==1}get isSym(){if(!this.isSquare)return!1;const t=this.T,e=this.clone;return 0==Tn.sub(e,t).max&&0==Tn.sub(e,t).min}get isAntiSym(){if(!this.isSquare)return!1;const t=this.T,e=this.clone;return 0==Tn.add(e,t).max&&0==Tn.add(e,t).min}get isDiag(){if(!this.isSquare)return!1;const t=this.T,e=this.clone,s=Tn.mul(e,t),r=Tn.dot(t,e);return 0==Tn.sub(s,r).max&&0==Tn.sub(s,r).min}get isOrtho(){return!!this.isSquare&&(this.isDiag&&(1==this.det||-1==this.det))}get isIdemp(){if(!this.isSquare)return!1;const t=this.clone,e=Tn.dot(t,t);return 0==Tn.sub(e,t).max&&0==Tn.sub(e,t).min}get T(){let t=[];for(let e=0;e<this.arr[0].length;e++){t[e]=[];for(let s=0;s<this.arr.length;s++)t[e][s]=this.arr[s][e]}return new Tn(this.cols,this.rows,t.flat(1))}get det(){if(!this.isSquare)return new Error("is not square matrix");if(1==this.rows)return this.arr[0][0];function t(t,e){var s=[];for(let e=0;e<t.length;e++)s.push(t[e].slice(0));s.splice(0,1);for(let t=0;t<s.length;t++)s[t].splice(e,1);return s}return function e(s){if(2==s.length)return s.flat(1).some((t=>t instanceof Tn))?void console.warn("Tensors are not completely supported yet ..."):nt.sub(nt.mul(s[0][0],s[1][1]),nt.mul(s[0][1],s[1][0]));for(var r=0,i=0;i<s.length;i++){const n=nt.add(nt.mul(Ln(-1,i),nt.mul(s[0][i],e(t(s,i)))));r=nt.add(r,n)}return r}(this.arr)}get inv(){if(!this.isSquare)return new Error("is not square matrix");if(0===this.det)return"determinat = 0 !!!";let t=function(t){if(t.length!==t[0].length)return;var e=0,s=0,r=0,i=t.length,n=0,a=[],o=[];for(e=0;e<i;e+=1)for(a[a.length]=[],o[o.length]=[],r=0;r<i;r+=1)a[e][r]=e==r?1:0,o[e][r]=t[e][r];for(e=0;e<i;e+=1){if(0==(n=o[e][e])){for(s=e+1;s<i;s+=1)if(0!=o[s][e]){for(r=0;r<i;r++)n=o[e][r],o[e][r]=o[s][r],o[s][r]=n,n=a[e][r],a[e][r]=a[s][r],a[s][r]=n;break}if(0==(n=o[e][e]))return}for(r=0;r<i;r++)o[e][r]=o[e][r]/n,a[e][r]=a[e][r]/n;for(s=0;s<i;s++)if(s!=e)for(n=o[s][e],r=0;r<i;r++)o[s][r]-=n*o[e][r],a[s][r]-=n*a[e][r]}return a}(this.arr);return new Tn(this.rows,this.cols,t.flat(1))}static zeros(t,e){let s=new Tn(t,e);for(let i=0;i<t;i++)for(var r=0;r<e;r++)s.arr[i][r]=0;return s}static ones(t,e){let s=new Tn(t,e);for(let r=0;r<t;r++)for(let t=0;t<e;t++)s.arr[r][t]=1;return s}static nums(t,e,s){let r=new Tn(t,e);for(let i=0;i<t;i++)for(let t=0;t<e;t++)r.arr[i][t]=s;return r}static get rand(){return{int:(t,e,s,r)=>{let i=new Tn(t,e);for(let n=0;n<t;n++)for(let t=0;t<e;t++)i.arr[n][t]=dt.randInt(s,r);return i},bin:(t,e)=>{let s=new Tn(t,e);for(let r=0;r<t;r++)for(let t=0;t<e;t++)s.arr[r][t]=dt.randBin;return s},hex:(t,e)=>{let s=new Tn(t,e);for(let r=0;r<t;r++)for(let t=0;t<e;t++)s.arr[r][t]=dt.randHex;return s},choices:(t,e,s,r)=>{let i=new Tn(t,e);for(let n=0;n<t;n++)for(let t=0;t<e;t++)i.arr[n][t]=dt.choice(s,r);return i},permutation:(t,e,s)=>{}}}static rands(t,e,s=1,r){let i=new Tn(t,e);for(let n=0;n<t;n++)for(let t=0;t<e;t++)i.arr[n][t]=dt.rand(s,r);return i}map(t,e,s,r){return nt.map(this,t,e,s,r)}lerp(t,e){return nt.lerp(this,t,e)}norm(t,e){return nt.norm(this,t,e)}clamp(t,e){return nt.clamp(this,t,e)}static map(t,e,s,r,i){return nt.map(t,e,s,r,i)}static lerp(t,e,s){return nt.lerp(t,e,s)}static norm(t,e,s){return nt.norm(t,e,s)}static clamp(t,e,s){return nt.clamp(An,e,s)}toPrecision(t){for(let e=0;e<this.cols;e++)for(let s=0;s<this.rows;s++)this.arr[e][s]=+this.arr[e][s].toPrecision(t);return this}get toBin(){let t=this.arr.flat(1).toBin;return new Tn(this.rows,this.cols,t)}get toOct(){let t=this.arr.flat(1).toOct;return new Tn(this.rows,this.cols,t)}get toHex(){let t=this.arr.flat(1).toHex;return new Tn(this.rows,this.cols,t)}max2min(){let t=this.arr.flat(1).max2min;return new Tn(this.rows,this.cols,t)}min2max(){let t=this.arr.flat(1).min2max;return new Tn(this.rows,this.cols,t)}sortRows(t=void 0){let e=this.arr.map((e=>e.sort(t))).flat(1);return new Tn(this.rows,this.cols,e)}sortCols(t=void 0){let e=this.T.arr.map((e=>e.sort(t))).flat(1);return new Tn(this.rows,this.cols,e).T}filterByRows(t){var e=this.arr.map((e=>e.map((e=>+(""+e).includes(t))))).map((t=>!!Logic.or(...t))),s=this.arr.filter(((t,s)=>!0===e[s]));return 0===s.length&&s.push([]),console.log(s),new Tn(s)}filterByCols(t){return new Tn(this.T.arr.filter((e=>e.includes(t))))}sortAll(t=void 0){let e=this.arr.flat(1).sort(t);return new Tn(this.rows,this.cols,e)}count(t){return this.arr.flat(1).count(t)}toBase(t){let e=this.arr.flat(1).toBase(t);return new Tn(this.rows,this.cols,e)}#l(t){if(this.rows!==t.rows)return;let e=this.arr;for(let s=0;s<this.rows;s++)for(let r=this.cols;r<this.cols+t.cols;r++)e[s][r]=t.arr[s][r-this.cols];return this.cols+=t.cols,new Tn(this.rows,this.cols,e.flat(1))}hstack(...t){const e=[this,...t].reduce(((t,e)=>t.#l(e)));return Object.assign(this,e),this}static hstack(t,...e){return t.clone.hstack(...e)}#u(t){if(this.cols!==t.cols)return;let e=this.arr;for(let s=this.rows;s<this.rows+t.rows;s++){e[s]=[];for(let r=0;r<this.cols;r++)e[s][r]=t.arr[s-this.rows][r]}return this.rows+=t.rows,new Tn(this.rows,this.cols,e.flat(1))}vstack(...t){const e=[this,...t].reduce(((t,e)=>t.#u(e)));return Object.assign(this,e),this}static vstack(t,...e){return t.clone.vstack(...e)}hqueue(...t){const e=[this,...t].reverse().reduce(((t,e)=>t.#l(e)));return Object.assign(this,e),this}vqueue(...t){const e=[this,...t].reverse().reduce(((t,e)=>t.#u(e)));return Object.assign(this,e),this}static hqueue(t,...e){return t.clone.hqueue(...e)}static vqueue(t,...e){return t.clone.vqueue(...e)}slice(t=0,e=0,s=this.rows-1,r=this.cols-1){let i=s-t,n=r-e,a=new Array(n);for(let s=0;s<i;s++){a[s]=[];for(let r=0;r<n;r++)a[s][r]=this.arr[s+t][r+e]}return new Tn(i,n,a.flat(1))}static slice(t,e=0,s=0,r=this.rows-1,i=this.cols-1){return t.slice(e,s,r,i)}splice(t,e,s,...r){}getRows(t,e=t+1){return this.slice(t,0,e,this.cols)}getCols(t,e=t+1){return this.slice(0,t,this.rows,e)}static getRows(t,e,s=e+1){return t.slice(e,0,s,t.cols)}static getCols(t,e,s=e+1){return t.slice(0,e,t.rows,s)}add(...t){for(let s=0;s<t.length;s++){("number"==typeof t[s]||t[s]instanceof Sn)&&(t[s]=Tn.nums(this.rows,this.cols,t[s]));for(let r=0;r<this.rows;r++)for(var e=0;e<this.cols;e++)this.arr[r][e]=nt.add(this.arr[r][e],t[s].arr[r][e])}return new Tn(this.rows,this.cols,this.arr.flat(1))}sub(...t){for(let s=0;s<t.length;s++){"number"==typeof t[s]&&(t[s]=Tn.nums(this.rows,this.cols,t[s]));for(let r=0;r<this.rows;r++)for(var e=0;e<this.cols;e++)this.arr[r][e]=nt.sub(this.arr[r][e],t[s].arr[r][e])}return new Tn(this.rows,this.cols,this.arr.flat(1))}static add(t,...e){return t.clone.add(...e)}static sub(t,...e){return t.clone.sub(...e)}mul(...t){for(let r=0;r<t.length;r++){"number"==typeof t[r]&&(t[r]=Tn.nums(this.rows,this.cols,t[r]));for(var e=0;e<this.rows;e++)for(var s=0;s<this.cols;s++)this.arr[e][s]=nt.mul(this.arr[e][s],t[r].arr[e][s])}return new Tn(this.rows,this.cols,this.arr.flat(1))}div(...t){for(let s=0;s<t.length;s++){"number"==typeof t[s]&&(t[s]=Tn.nums(this.rows,this.cols,t[s]));for(let r=0;r<this.rows;r++)for(var e=0;e<this.cols;e++)this.arr[r][e]=nt.div(this.arr[r][e],t[s].arr[r][e])}return new Tn(this.rows,this.cols,this.arr.flat(1))}static div(t,...e){return t.clone.div(...e)}static mul(t,...e){return t.clone.mul(...e)}modulo(...t){for(let s=0;s<t.length;s++){"number"==typeof t[s]&&(t[s]=Tn.nums(this.rows,this.cols,t[s]));for(let r=0;r<this.rows;r++)for(var e=0;e<this.cols;e++)this.arr[r][e]=nt.modulo(this.arr[r][e],t[s].arr[r][e])}return new Tn(this.rows,this.cols,this.arr.flat(1))}static modulo(t,...e){return t.clone.modulo(...e)}dot(t){for(var e=[],s=0;s<this.arr.length;s++){e[s]=[];for(var r=0;r<t.arr[0].length;r++){e[s][r]=0;for(var i=0;i<this.arr[0].length;i++)e[s][r]=nt.add(e[s][r],nt.mul(this.arr[s][i],t.arr[i][r]))}}return new Tn(this.arr.length,t.arr[0].length,e.flat(1))}static dot(t,e){return t.dot(e)}pow(t){let e=this.clone,s=this.clone;for(let r=0;r<t-1;r++)s=s.dot(e);return s}static pow(t,e){return t.clone.pow(e)}get somme(){let t=0;for(let e=0;e<this.rows;e++)for(let s=0;s<this.cols;s++)t+=this.arr[e][s];return t}get DoesItContainComplexNumbers(){return this.arr.flat(1/0).some((t=>t instanceof Sn))}get min(){this.DoesItContainComplexNumbers&&console.error("Complex numbers are not comparable");let t=[];for(let e=0;e<this.rows;e++)t.push(K(...this.arr[e]));return K(...t)}get max(){this.DoesItContainComplexNumbers&&console.error("Complex numbers are not comparable");let t=[];for(let e=0;e<this.rows;e++)t.push(Q(...this.arr[e]));return Q(...t)}get minRows(){this.DoesItContainComplexNumbers&&console.error("Complex numbers are not comparable");let t=[];for(let e=0;e<this.rows;e++)t.push(K(...this.arr[e]));return t}get maxRows(){this.DoesItContainComplexNumbers&&console.error("Complex numbers are not comparable");let t=[];for(let e=0;e<this.rows;e++)t.push(Q(...this.arr[e]));return t}get minCols(){return this.DoesItContainComplexNumbers&&console.error("Complex numbers are not comparable"),this.T.minRows}get maxCols(){return this.DoesItContainComplexNumbers&&console.error("Complex numbers are not comparable"),this.T.maxRows}static fromVector(t){return new Tn(t.length,1,t)}get toArray(){let t=[];for(let e=0;e<this.rows;e++)for(let s=0;s<this.cols;s++)t.push(this.arr[e][s]);return t}get print(){let t="[";for(let e=0;e<this.arr.length;e++)t+=(0!=e?" ":"")+` [${this.arr[e].map((t=>" "+t.toString()+" "))}],\n`;console.log(t.substring(0,t.length-2)+" ]"),document.write(t.substring(0,t.length-2)+" ]")}get table(){console.table(this.arr)}get serialize(){return JSON.stringify(this)}static deserialize(t){"string"==typeof t&&(t=JSON.parse(t));let e=new Tn(t.rows,t.cols);return e.arr=t.arr,e}toTable(){var t=new DocumentFragment,e=new Array(this.rows).fill(null).map((()=>document?.createElement("tr"))),s=this.arr.map((t=>t.map((()=>document?.createElement("td")))));for(let t=0;t<s.length;t++)for(let r=0;r<s[0].length;r++)s[t][r].innerHTML=this.arr[t][r],e[t].appendChild(s[t][r]);return e.map((e=>t.appendChild(e))),t}toGrid(t,e={}){let s=Grid();return s.append(...this.map(t).arr.flat(1).map((t=>t.style(e)))),s.Columns(this.cols),s}sortTable(t=0,{type:e="num",order:s="asc"}={}){var r=this.T.arr.map((t=>t.map(((t,e)=>Object.assign({},{x:t,y:e}))))),i=this.T.arr.map((t=>t.map(((t,e)=>Object.assign({},{x:t,y:e})))));"num"===e?"asc"===s?r[t].sort(((t,e)=>t.x-e.x)):"desc"===s?r[t].sort(((t,e)=>e.x-t.x)):"toggle"===s&&(r[t][0].x>r[t][1].x?r[t].sort(((t,e)=>e.x-t.x)):r[t].sort(((t,e)=>t.x-e.x))):"alpha"===e&&("asc"===s?r[t].sort(((t,e)=>(""+t.x).localeCompare(""+e.x))):"desc"===s&&r[t].sort(((t,e)=>(""+e.x).localeCompare(""+t.x)))),s=r[t].map((t=>t.y));for(let e=0;e<r.length;e++)e!==t&&r[e].map(((t,e)=>t.y=s[e]));for(let e=0;e<r.length;e++)e!==t&&i[e].map(((t,i)=>t.x=r[e][s[i]].x));i[t]=r[t];var n=i.map((t=>t.map((t=>t.x))));return new Tn(n).T}}const An=(t,e,s)=>new Tn(t,e,s),Cn=(...t)=>new Tn(2,2,t),On=(...t)=>new Tn(3,3,t),Mn=(...t)=>new Tn(4,4,t);var jn=Object.freeze({__proto__:null,Matrix:Tn,matrix:An,matrix2:Cn,matrix3:On,matrix4:Mn});class Sn extends k{constructor(t=0,e=0){super(),t instanceof Sn?(this.a=t.a,this.b=t.b):"object"==typeof t?"a"in e&&"b"in t?(this.a=t.a,this.b=t.b):"a"in e&&"z"in t?(this.a=t.a,this.b=Dn(t.z**2-t.a**2)):"a"in e&&"phi"in t?(this.a=t.a,this.b=t.a*$n(t.phi)):"b"in e&&"z"in t?(this.b=t.b,this.a=Dn(t.z**2-t.b**2)):"b"in e&&"phi"in t?(this.b=e,this.a=t.b/$n(t.phi)):"z"in e&&"phi"in t&&(this.a=t.z*Hn(t.phi),this.a=t.z*Nn(t.phi)):"number"==typeof t&&"number"==typeof e&&(this.a=+t.toFixed(32),this.b=+e.toFixed(32))}toString(){let t="";return t=0!==this.a?this.b>=0?`${this.a}+${this.b}*i`:`${this.a}-${Math.abs(this.b)}*i`:this.b>=0?`${this.b}*i`:`-${Math.abs(this.b)}*i`,t}get clone(){return new Sn(this.a,this.b)}get z(){return ma(this.a,this.b)}get phi(){return ha(this.b,this.a)}static Zero(){return new Sn(0,0)}get conj(){return new Sn(this.a,-this.b)}get inv(){return new Sn(this.a/(Ln(this.a,2)+Ln(this.b,2)),-this.b/(Ln(this.a,2)+Ln(this.b,2)))}add(...t){for(let e=0;e<t.length;e++)"number"==typeof t[e]&&(t[e]=new Sn(t[e],0));let e=t.map((t=>t.a)),s=t.map((t=>t.b));return this.a+=+G(...e).toFixed(15),this.b+=+G(...s).toFixed(15),this}sub(...t){for(let e=0;e<t.length;e++)"number"==typeof t[e]&&(t[e]=new Sn(t[e],0));let e=t.map((t=>t.a)),s=t.map((t=>t.b));return this.a-=+G(...e).toFixed(15),this.b-=+G(...s).toFixed(15),this}mul(...t){for(let e=0;e<t.length;e++)"number"==typeof t[e]&&(t[e]=new Sn(t[e],0));let e=+X(this.z,...t.map((t=>t.z))).toFixed(15),s=+G(this.phi,...t.map((t=>t.phi))).toFixed(15);return this.a=+(e*Hn(s).toFixed(15)).toFixed(14),this.b=+(e*Nn(s).toFixed(15)).toFixed(14),this}div(...t){for(let e=0;e<t.length;e++)"number"==typeof t[e]&&(t[e]=new Sn(t[e],0));let e=+(this.z/X(...t.map((t=>t.z)))).toFixed(15),s=+(this.phi-G(...t.map((t=>t.phi)))).toFixed(15);return this.a=+(e*Hn(s).toFixed(15)).toFixed(15),this.b=+(e*Nn(s).toFixed(15)).toFixed(15),this}pow(t){if(aa(t)===t&&t>0){let e=+(this.z**t).toFixed(15),s=+(this.phi*t).toFixed(15);this.a=+(e*Hn(s).toFixed(15)).toFixed(15),this.b=+(e*Nn(s).toFixed(15)).toFixed(15)}return this}static fromExpo(t,e){return new Sn(+(t*Hn(e)).toFixed(13),+(t*Nn(e)).toFixed(13))}get expo(){return[this.z,this.phi]}static add(t,...e){return t.clone.add(...e)}static sub(t,...e){return t.clone.sub(...e)}static mul(t,...e){return t.clone.mul(...e)}static div(t,...e){return t.clone.div(...e)}static pow(t,e){return t.clone.pow(e)}static xpowZ(t){return Zn(t**this.a*Hn(this.b*Fn(t)),t**this.a*Nn(this.b*Fn(t)))}sqrtn(t=2){return Zn(Pn(this.z,t)*Hn(this.phi/t),Pn(this.z,t)*Nn(this.phi/t))}get sqrt(){return this.sqrtn(2)}get log(){return Zn(this.z,this.phi)}get cos(){return Zn(Hn(this.a)*Qn(this.b),Nn(this.a)*Jn(this.b))}get sin(){return Zn(Nn(this.a)*Qn(this.b),Hn(this.a)*Jn(this.b))}get tan(){const t=Hn(2*this.a)+Qn(2*this.b);return Zn(Nn(2*this.a)/t,Jn(2*this.b)/t)}printInConsole(){let t=this.a+" + "+this.b+" * i";return console.log(t),t}print(){}UI(){return"<span>"+this.a+" + i * "+this.b+"</span>"}}const Zn=(t,e)=>{if((t instanceof Array||ArrayBuffer.isView(t))&&(e instanceof Array||ArrayBuffer.isView(t)))return t.map(((s,r)=>Zn(t[r],e[r])));if(t instanceof Tn&&e instanceof Tn){if(t.shape[0]!==e.shape[0]||t.shape[1]!==e.shape[1])return Error(0);const s=t.arr.map(((s,r)=>Zn(t.arr[r],e.arr[r])));return new Tn(t.rows,t.cols,...s)}return new Sn(t,e)};var Un=Object.freeze({__proto__:null,Complex:Sn,complex:Zn});const Rn=(...t)=>I(Math.abs,...t),Dn=(...t)=>I(Math.sqrt,...t),Ln=(t,e)=>{if("number"==typeof t)return"number"==typeof e?Math.pow(t,e):e instanceof Sn?Sn.fromExpo(t**e.a,e.b*Fn(t)):I((e=>Ln(t,e)),...e);if(t instanceof Sn)return"number"==typeof e?Sn.fromExpo(t.z**e,t.phi*e):e instanceof Sn?Sn.fromExpo(t.z**e.a*zn(-t.phi*e.b),Fn(t.z)*e.b+e.a*t.phi):I((e=>Ln(t,e)),...e);if(t instanceof Array){if("number"==typeof e)return I((t=>Ln(t,e)),...t);if(e instanceof Array){const s=[];for(let r=0;r<t.length;r++)s.push(I((e=>Ln(t[r],e)),...e));return s}}},Pn=(t,e)=>{if("number"==typeof t)return"number"==typeof e?Math.pow(t,1/e):I((e=>Pn(t,e)),...e);if(t instanceof Sn)return"number"==typeof e?Sn.fromExpo(Pn(t.z,e),t.phi/e):I((e=>Pn(t,e)),...e);if(t instanceof Array){if("number"==typeof e)return I((t=>Pn(t,e)),...t);if(e instanceof Array){const s=[];for(let r=0;r<t.length;r++)s.push(I((e=>Pn(t[r],e)),...e));return s}}},zn=(...t)=>I(Math.exp,...t),Fn=(...t)=>I(Math.log,...t),Hn=(...t)=>I(_.cos,...t),Nn=(...t)=>I(_.sin,...t),$n=(...t)=>I(_.tan,...t),Bn=(...t)=>I(_.sec,...t),Vn=(...t)=>I(_.sinc,...t),qn=(...t)=>I(_.csc,...t),Wn=(...t)=>I(_.cot,...t),Yn=(...t)=>I(_.acos,...t),Gn=(...t)=>I(_.asin,...t),Xn=(...t)=>I(_.atan,...t),Kn=(...t)=>I(_.acot,...t),Qn=(...t)=>I(_.cosh,...t),Jn=(...t)=>I(_.sinh,...t),ta=(...t)=>I(_.tanh,...t),ea=(...t)=>I(_.coth,...t),sa=(...t)=>I(_.acosh,...t),ra=(...t)=>I(_.asinh,...t),ia=(...t)=>I(_.atanh,...t),na=(...t)=>I(Math.ceil,...t),aa=(...t)=>I(Math.floor,...t),oa=(...t)=>I(Math.round,...t),ha=(t,e,s=!0)=>{if("number"==typeof t)return"number"==typeof e?s?Math.atan2(t,e):180*Math.atan2(t,e)/Math.PI:I((e=>ha(t,e,s)),...e);if(t instanceof Array){if("number"==typeof e)return I((t=>ha(t,e,s)),...t);if(e instanceof Array){const s=[];for(let r=0;r<t.length;r++)s.push(I((e=>Ln(t[r],e)),...e));return s}}},ca=(...t)=>I((t=>{let e,s=1;if(0==t)s=1;else if(t>0)for(e=1;e<=t;e++)s*=e;else s=NaN;return s}),...t),la=(...t)=>I(Math.sign,...t),ua=(...t)=>I((t=>1/(1+zn(-t))),...t),ma=(...t)=>t.every((t=>"number"==typeof t))?Math.hypot(...t):t.every((t=>t instanceof Array))?I(Math.hypot,...t):void 0;const pa={...n,...Object.freeze({__proto__:null,abs:Rn,acos:Yn,acosh:sa,acot:Kn,asin:Gn,asinh:ra,atan:Xn,atan2:ha,atanh:ia,ceil:na,cos:Hn,cosh:Qn,cot:Wn,coth:ea,csc:qn,e:zn,fact:ca,floor:aa,hypot:ma,ln:Fn,max:Q,min:K,pow:Ln,round:oa,sec:Bn,sig:ua,sign:la,sin:Nn,sinc:Vn,sinh:Jn,sqrt:Dn,sqrtn:Pn,tan:$n,tanh:ta}),...Un,...jn,...ft,...at,...pt};class da{constructor(t,e=1e3/30,s=0,r=1/0,i=!0){this.callback=t,this.cache={isRunning:!1,AnimationId:null,t0:null,step:e,startTime:s,endTime:r,started:i},this.init(),this.i=0}init(){return this.cache.started&&(this.cache.startTime?this.startAfter(this.cache.startTime):this.start(),this.cache.endTime&&this.cache.endTime!==1/0&&this.stopAfter(this.cache.endTime)),this}start(){return this.cache.isRunning||(this.i=0,this.cache.isRunning=!0,this.cache.t0=Date.now(),this.animate()),this}pause(){return this.cache.isRunning&&(clearTimeout(this.cache.AnimationId),this.cache.isRunning=!1),this}stop(){return this.pause(),this.i=0,this}resume(){return this.cache.isRunning=!0,this.animate(),this}startAfter(t=1e3){return setTimeout(this.start.bind(this),t),this}stopAfter(t=1e3){return setTimeout(this.stop.bind(this),t),this}animate=()=>{if(this.cache.isRunning){const t=Date.now(),e=t-this.cache.t0;e>this.cache.step&&(this.callback(this),this.i++,this.cache.t0=t-e%this.cache.step),this.cache.AnimationId=setTimeout(this.animate,0)}}}const fa=t=>1e3/t,ga=(t,e,s,r,i)=>new da(t,e,s,r,i);var ba=Object.freeze({__proto__:null,useFps:fa,useTimeLoop:ga});const ya={Linear:function(t){return t},InSin:t=>1-Math.cos(t*Math.PI/2),OutSin:t=>Math.sin(t*Math.PI/2),InOutSin:t=>-(Math.cos(Math.PI*t)-1)/2,InQuad:t=>t**2,OutQuad:t=>1-Math.pow(1-t,2),InOutQuad:t=>t<.5?2*Math.pow(t,2):1-Math.pow(-2*t+2,2)/2,InCubic:t=>t**3,OutCubic:t=>1-Math.pow(1-t,3),InOutCubic:t=>t<.5?4*Math.pow(t,3):1-Math.pow(-2*t+2,3)/2,InQuart:t=>t**4,OutQuart:t=>1-Math.pow(1-t,4),InOutQuart:t=>t<.5?8*Math.pow(t,4):1-Math.pow(-2*t+2,4)/2,InQuint:t=>t**5,OutQuint:t=>1-Math.pow(1-t,5),InOutQuint:t=>t<.5?16*Math.pow(t,5):1-Math.pow(-2*t+2,5)/2,InExpo:t=>0===t?0:Math.pow(2,10*t-10),OutExpo:t=>1===t?1:1-Math.pow(2,-10*t),InOutExpo:t=>0===t?0:1===t?1:t<.5?Math.pow(2,20*t-10)/2:(2-Math.pow(2,-20*t+10))/2,InCirc:t=>1-Math.sqrt(1-Math.pow(t,2)),OutCirc:t=>Math.sqrt(1-Math.pow(t-1,2)),InOutCic:t=>t<.5?(1-Math.sqrt(1-Math.pow(2*t,2)))/2:(Math.sqrt(1-Math.pow(-2*t+2,2))+1)/2,Arc:t=>1-Math.sin(Math.acos(t)),Back:t=>Math.pow(t,2)*(2*t-1),Elastic:t=>-2*Math.pow(2,10*(t-1))*Math.cos(20*Math.PI*t/3*t),InBack(t){const e=1.70158;return 2.70158*Math.pow(t,3)-e*t**2},OutBack(t){const e=1.70158;return 1+2.70158*Math.pow(t-1,3)+e*Math.pow(t-1,2)},InOutBack(t){const e=2.5949095;return t<.5?Math.pow(2*t,2)*(7.189819*t-e)/2:(Math.pow(2*t-2,2)*((e+1)*(2*t-2)+e)+2)/2},InElastic(t){const e=2*Math.PI/3;return 0===t?0:1===t?1:-Math.pow(2,10*t-10)*Math.sin((10*t-10.75)*e)},OutElastic(t){const e=2*Math.PI/3;return 0===t?0:1===t?1:Math.pow(2,-10*t)*Math.sin((10*t-.75)*e)+1},InOutElastic(t){const e=2*Math.PI/4.5;return 0===t?0:1===t?1:t<.5?-Math.pow(2,20*t-10)*Math.sin((20*t-11.125)*e)/2:Math.pow(2,-20*t+10)*Math.sin((20*t-11.125)*e)/2+1},InBounce:t=>1-ya.OutBounce(1-t),OutBounce(t){const e=7.5625,s=2.75;return t<1/s?e*t*t:t<2/s?e*(t-=1.5/s)*t+.75:t<2.5/s?e*(t-=2.25/s)*t+.9375:e*(t-=2.625/s)*t+.984375},InOutBounce:t=>t<.5?(1-ya.OutBounce(1-2*t))/2:(1+ya.OutBounce(2*t-1))/2},wa=t=>{const e=Date.now(),s=performance.memory.usedJSHeapSize,r=t();return{elapsedTime:Date.now()-e,usedMemory:performance.memory.usedJSHeapSize-s,result:r}},xa=t=>new Promise((e=>{if(t.element)return e(t.element);const s=new MutationObserver((()=>{t.element&&(e(t.element),s.disconnect())}));s.observe(document?.body,{childList:!0,subtree:!0})})),va=(t,e=2e3)=>{const s=Date.now();for(;Date.now()-s<e;)if(t.element)return t.element},_a=t=>new Promise((e=>setTimeout(e,t))),ka=t=>{console.time("timeTaken");const e=t();return console.timeEnd("timeTaken"),e};var Ia=Object.freeze({__proto__:null,Ease:ya,timeTaken:ka,time_memory_Taken:wa,useDebounce:(t,e=1e3)=>(...s)=>setTimeout((()=>t(...s)),e),useThrottle:(t,e)=>{let s=0;return(...r)=>{const i=(new Date).getTime();i-s<e||(s=i,t(...r))}},wait:_a,waitForUIElm:xa,waitForUIElmSync:va});class Ea{constructor(t,e=ya.Linear,s=50,{t:r=[0,null],start:i=!0,duration:n=3e3}={}){this.cache={isRunning:!1,AnimationId:null,startTime:null,ease:e,step:s,intervall:r,started:i,duration:n},this.t=0,this.tx=0,this.ty=0,this.i=0,this.callback=t}#m(){this.t+=this.cache.step,this.i++,this.tx=H(this.t,0,this.cache.duration,0,1),this.ty=this.cache.ease(this.tx),this.callback(this),this.t>=this.cache.duration&&(clearInterval(this.cache.AnimationId),this.cache.isRunning=!1)}reset(t=!0){return this.t=0,this.tx=0,this.ty=0,this.i=0,t&&this.start(),this}#p(t=!0){return this.cache.isRunning||(t&&this.reset(!1),this.cache.isRunning=!0,this.cache.startTime=Date.now(),this.cache.AnimationId=setInterval(this.#m.bind(this),this.cache.step)),this}start(){return this.#p(!0),this}pause(){return this.cache.isRunning&&(clearTimeout(this.cache.AnimationId),this.cache.isRunning=!1),this}resume(){return this.#p(!1),this}stop(){return this.pause(),this.reset(!1),this}}const Ta={...ba,...ba,...Ia};class Aa extends gs{constructor(t=360,e=300){super("svg","svg"),this.style({border:"1px black solid"}),this.size(t,e),this.view(-10,-10,10,10)}size(t,e){return this.setAttr({width:t,height:e}),this}view(t,e,s,r){let i=Math.abs(s-t),n=Math.abs(r-e);return this.setAttr("viewBox",[t,e,i,n].join(" ")),this.st.scaleY(-1),this}add(...t){for(let e=0;e<t.length;e++)this.element.append(t[e].element),this.items.push(t[e]);return this.maintain(),this}remove(...t){for(let e=0;e<t.length;e++)this.element?.removeChild(t[e].element),this.items=this.items.filter((e=>!t));return this.maintain(),this}mask(){}toString(){return(new XMLSerializer).serializeToString(this.element)}btoa(){return btoa(this.toString())}toImg(){return"data:image/svg+xml;base64,"+this.btoa()}toImg2(){return"data:image/svg+xml;charset=utf8,"+this.toString().replaceAll("<","%3C").replaceAll(">","%3E").replaceAll("#","%23").replaceAll('"',"'")}}const Ca=(t,e)=>new Aa(t,e);var Oa=Object.freeze({__proto__:null,Svg:Ca,ZikoUISvg:Aa});class Ma extends gs{constructor(t,e){super("canvas","canvas"),this.ctx=this.element?.getContext("2d"),this.style({border:"1px red solid"}),this.transformMatrix=new Tn([[1,0,0],[0,1,0],[0,0,1]]),this.axisMatrix=new Tn([[-10,-10],[10,10]]),requestAnimationFrame((()=>this.resize(t,e)),0),this.on("sizeupdated",(()=>this.adjust()))}get Xmin(){return this.axisMatrix[0][0]}get Ymin(){return this.axisMatrix[0][1]}get Xmax(){return this.axisMatrix[1][0]}get Ymax(){return this.axisMatrix[1][1]}get ImageData(){return this.ctx.getImageData(0,0,c.Width,c.Height)}draw(t=!0){return t?(this.clear(),this.items.forEach((t=>{t.parent=this,t.draw(this.ctx)}))):(this.items.at(-1).parent=this,this.items.at(-1).draw(this.ctx)),this.maintain(),this}applyTransformMatrix(){return this.ctx.setTransform(this.transformMatrix[0][0],this.transformMatrix[1][0],this.transformMatrix[0][1],this.transformMatrix[1][1],this.transformMatrix[0][2],this.transformMatrix[1][2]),this}resize(t,e){return this.size(t,e),this.lineWidth(),this.view(this.axisMatrix[0][0],this.axisMatrix[0][1],this.axisMatrix[1][0],this.axisMatrix[1][1]),this.emit("sizeupdated"),this}adjust(){return this.element.width=this.element?.getBoundingClientRect().width,this.element.height=this.element?.getBoundingClientRect().height,this.view(this.axisMatrix[0][0],this.axisMatrix[0][1],this.axisMatrix[1][0],this.axisMatrix[1][1]),this}view(t,e,s,r){return this.transformMatrix[0][0]=this.width/(s-t),this.transformMatrix[1][1]=-this.height/(r-e),this.transformMatrix[0][2]=this.width/2,this.transformMatrix[1][2]=this.height/2,this.axisMatrix=new Tn([[t,e],[s,r]]),this.applyTransformMatrix(),this.clear(),this.lineWidth(1),this.draw(),this}reset(){return this.ctx.setTransform(1,0,0,0,0,0),this}append(t){return this.items.push(t),this.draw(!1),this}background(t){this.ctx.fillStyle=t,this.ctx.setTransform(1,0,0,1,0,0),this.ctx.fillRect(0,0,this.width,this.height),this.applyTransformMatrix(),this.draw()}lineWidth(t){return this.ctx.lineWidth=t/this.transformMatrix[0][0],this}getImageData(t=0,e=0,s=this.width,r=this.height){return this.ctx.getImageData(t,e,s,r)}clear(){return this.ctx.setTransform(1,0,0,1,0,0),this.ctx.clearRect(0,0,this.width,this.height),this.applyTransformMatrix(),this}clone(){console.log(this.width);const t=new Ma;return t.items=this.items,t.transformMatrix=this.transformMatrix,t.axisMatrix=this.axisMatrix,Object.assign(t.cache,{...this.cache}),this.size(this.element.style.width,this.element.style.width),this.applyTransformMatrix(),this.draw(),this.adjust(),t}toImage(){return this.img=document?.createElement("img"),this.img.src=this.element?.toDataURL("image/png"),this}toBlob(){this.element.toBlob((function(t){var e=document?.createElement("img"),s=URL.createObjectURL(t);e.onload=function(){URL.revokeObjectURL(s)},e.src=s,console.log(e)}))}zoomIn(){}zoomOut(){}undo(t){}redo(t){}stream(){}}const ja=(t,e)=>new Ma(t,e);const Sa={...Oa,...Object.freeze({__proto__:null,Canvas:ja,ZikoUICanvas:Ma})};class Za{constructor(t=""){this.channel=new BroadcastChannel(t),this.EVENTS_DATAS_PAIRS=new Map,this.EVENTS_HANDLERS_PAIRS=new Map,this.LAST_RECEIVED_EVENT="",this.UUID="ziko-channel"+dt.string(10),this.SUBSCRIBERS=new Set([this.UUID])}get broadcast(){return this}emit(t,e){return this.EVENTS_DATAS_PAIRS.set(t,e),this.#d(t),this}on(t,e=console.log){return this.EVENTS_HANDLERS_PAIRS.set(t,e),this.#f(),this}#f(){return this.channel.onmessage=t=>{this.LAST_RECEIVED_EVENT=t.data.last_sended_event;const e=t.data.userId;this.SUBSCRIBERS.add(e);const s=t.data.EVENTS_DATAS_PAIRS.get(this.LAST_RECEIVED_EVENT),r=this.EVENTS_HANDLERS_PAIRS.get(this.LAST_RECEIVED_EVENT);s&&r&&r(s)},this}#d(t){return this.channel.postMessage({EVENTS_DATAS_PAIRS:this.EVENTS_DATAS_PAIRS,last_sended_event:t,userId:this.UUID}),this}close(){return this.channel.close(),this}}const Ua=t=>new Za(t);class Ra{constructor(t,e,s){this.cache={storage:t,globalKey:e,channel:Ua(`Ziko:useStorage-${e}`),oldItemKeys:new Set},this.#n(s),this.#g()}get items(){return JSON.parse(this.cache.storage[this.cache.globalKey]??null)}#g(){for(let t in this.items)Object.assign(this,{[[t]]:this.items[t]})}#n(t){this.cache.channel=Ua(`Ziko:useStorage-${this.cache.globalKey}`),this.cache.channel.on("Ziko-Storage-Updated",(()=>this.#g())),t&&(this.cache.storage[this.cache.globalKey]?(Object.keys(this.items).forEach((t=>this.cache.oldItemKeys.add(t))),console.group("Ziko:useStorage"),console.warn(`Storage key '${this.cache.globalKey}' already exists. we will not overwrite it.`),console.info("%cWe'll keep the existing data.","background-color:#2222dd; color:gold;"),console.group("")):this.set(t))}set(t){return this.cache.storage.setItem(this.cache.globalKey,JSON.stringify(t)),this.cache.channel.emit("Ziko-Storage-Updated",{}),Object.keys(t).forEach((t=>this.cache.oldItemKeys.add(t))),this.#g(),this}add(t){const e={...this.items,...t};return this.cache.storage.setItem(this.cache.globalKey,JSON.stringify(e)),this.#g(),this}remove(...t){const e={...this.items};for(let s=0;s<t.length;s++)delete e[t[s]],delete this[t[s]];return this.set(e),this}get(t){return this.items[t]}clear(){return this.cache.storage.removeItem(this.cache.globalKey),this.#g(),this}}class Da{#b;constructor(){this.#b=function(t){try{let e=new Function("return "+t.data.fun)()();postMessage({result:e})}catch(t){postMessage({error:t.message})}finally{t.data.close&&self.close()}}.toString(),this.blob=new Blob(["this.onmessage = "+this.#b],{type:"text/javascript"}),this.worker=new Worker(window.URL.createObjectURL(this.blob))}call(t,e,s=!0){return this.worker.postMessage({fun:t.toString(),close:s}),this.worker.onmessage=function(t){t.data.error?console.error(t.data.error):e(t.data.result)},this}}class La{constructor(t,e=!0){this.#n(),this.cache={Emitter:null},e&&this.useEventEmitter(),this.set(t)}#n(){return this.__FavIcon__=document.querySelector("link[rel*='icon']")||document?.createElement("link"),this.__FavIcon__.type="image/x-icon",this.__FavIcon__.rel="shortcut icon",this}set(t){return t!==this.__FavIcon__.href&&(this.__FavIcon__.href=t,this.cache.Emitter&&this.cache.Emitter.emit("ziko:favicon-changed")),this}get current(){return document.__FavIcon__.href}onChange(t){return this.cache.Emitter&&this.cache.Emitter.on("ziko:favicon-changed",t),this}useEventEmitter(){return this.cache.Emitter=Je(),this}}class Pa{constructor({viewport:t,charset:e,description:s,author:r,keywords:i}){this.document=globalThis?.document,this.meta={},this.init({viewport:t,charset:e,description:s,author:r,keywords:i})}init({viewport:t,charset:e,description:s,author:r,keywords:i}){t&&this.setViewport(t),e&&this.setCharset(e),s&&this.describe(s),r&&this.setAuthor(r),i&&this.setKeywords(i)}set(t,e){const s="charset"===(t=t.toLowerCase()),r=s?document.querySelector("meta[charset]"):document.querySelector(`meta[name=${t}]`);return this.meta=r??document?.createElement("meta"),s?this.meta.setAttribute("charset",e):(this.meta.setAttribute("name",t),this.meta.setAttribute("content",e)),r||this.document.head.append(this.meta),this}setCharset(t="utf-8"){return this.set("charset",t),this}describe(t){return this.set("description",t),this}setViewport(t="width=device-width, initial-scale=1.0"){return this.set("viewport",t),this}setKeywords(...t){return t=[...new Set(t)].join(", "),this.set("keywords",t),this}setAuthor(t){return this.set("author",t),this}}class za{constructor(t=document.title,e=!0){this.cache={Emitter:null},e&&this.useEventEmitter(),this.set(t)}useEventEmitter(){return this.cache.Emitter=Je(),this}set(t){return t!==document.title&&(document.title=t,this.cache.Emitter&&this.cache.Emitter.emit("ziko:title-changed")),this}get current(){return document.title}onChange(t){return this.cache.Emitter&&this.cache.Emitter.on("ziko:title-changed",t),this}}class Fa{constructor({title:t,lang:e,icon:s,meta:r,noscript:i}){this.html=globalThis?.document?.documentElement,this.head=globalThis?.document?.head,t&&((t,e)=>{new za(t,e)})(t),e&&this.setLang(e),s&&((t,e)=>{new La(t,e)})(s),r&&(({viewport:t,charset:e,description:s,author:r,keywords:i})=>{new Pa({viewport:t,charset:e,description:s,author:r,keywords:i})})(r),i&&this.setNoScript()}setLang(t){this.html.setAttribute("lang",t)}setNoScript(t){}}class Ha{constructor({head:t=null,wrapper:e=null,target:s=null}){this.head=t,this.wrapper=e,this.target=s,this.init()}get isZikoApp(){return!0}init(){this.head&&this.setHead(this.head),this.wrapper&&this.setWrapper(this.wrapper),this.target&&this.setTarget(this.target),this.wrapper&&this.target&&this.wrapper.render(this.target)}setTarget(t){return t instanceof HTMLElement?this.target=t:"string"==typeof t&&(this.target=globalThis?.document?.querySelector(t)),this}setWrapper(t){return t?.isZikoUIElement?this.wrapper=t:"function"==typeof t&&(this.wrapper=t()),this}setHead(t){return this.head=t instanceof Fa?t:(({title:t,lang:e,icon:s,meta:r,noscript:i})=>new Fa({title:t,lang:e,icon:s,meta:r,noscript:i}))(t),this}}const Na=({head:t,wrapper:e,target:s})=>new Ha({head:t,wrapper:e,target:s});var $a=Object.freeze({__proto__:null,App:Na,ZikoApp:Ha});function Ba(t){return/:\w+/.test(t)}class Va extends Ha{constructor({head:t,wrapper:e,target:s,routes:r}){super({head:t,wrapper:e,target:s}),this.routes=new Map([["404",Es("Error 404")],...Object.entries(r)]),this.clear(),globalThis.onpopstate=this.render(location.pathname)}clear(){return[...this.routes].forEach((t=>{!Ba(t[0])&&t[1]?.isZikoUIElement&&t[1].unrender()})),this}render(t){const[e,s]=[...this.routes].find((e=>function(t,e){const s=t.split("/"),r=e.split("/");if(s.length!==r.length)return!1;for(let t=0;t<s.length;t++){const e=s[t],i=r[t];if(!e.startsWith(":")&&e!==i)return!1}return!0}(e[0],t)));let r;if(Ba(e)){const i=function(t,e){const s=t.split("/"),r=e.split("/"),i={};if(s.length!==r.length)return i;for(let t=0;t<s.length;t++){const e=s[t],n=r[t];if(e.startsWith(":"))i[e.slice(1)]=n;else if(e!==n)return{}}return i}(e,t);r=s.call(this,i)}else s?.isZikoUIElement&&s.render(this.wrapper),"function"==typeof s&&(r=s());return r?.isZikoUIElement&&r.render(this.wrapper),r instanceof Promise&&r.then((t=>t.render(this.wrapper))),globalThis.history.pushState({},"",t),this}}const qa=({head:t,wrapper:e,target:s,routes:r})=>new Va({head:t,wrapper:e,target:s,routes:r});var Wa=Object.freeze({__proto__:null,SPA:qa,ZikoSPA:Va});function Ya(t){Object.defineProperties(t,{QueryParams:{get:function(){return function(t){const e={};return t.replace(/[A-Z0-9]+?=([\w|:|\/\.]*)/gi,(t=>{const[s,r]=t.split("=");e[s]=r})),e}(globalThis.location.search.substring(1))},configurable:!1,enumerable:!0},HashParams:{get:function(){return globalThis.location.hash.substring(1).split("#")},configurable:!1,enumerable:!0}})}const Ga={__all__(){return Object.values(this).filter(Array.isArray).flat()},querySelectorAll(){return this.__all__().filter((t=>t))},getElementByIndex(t){return this.__all__().find((e=>e.ui_index===t))},getElementById:t=>null,getElementsByClass(){},getElementsByTagName(){}},Xa={map:new Map,index:0,increment:function(){return this.index++}},Ka=new Map,Qa={default:{target:null,render:!0,math:{mode:"deg"}},setDefault:function(t){const e=Object.keys(t),s=Object.values(t);for(let t=0;t<e.length;t++)this.default[e[t]]=s[t]},init:()=>{},renderingMode:"spa",isSSC:!1},Ja={ui_index:0,get_ui_index:function(){return this.ui_index++}};function to(t,e="./src/pages",s=["js","ts"]){"/"===e.at(-1)&&(e=e.slice(0,-1));const r=t.replace(/\\/g,"/").replace(/\[(\w+)\]/g,"$1/:$1").split("/"),i=e.split("/"),n=r.indexOf(i[i.length-1]);if(-1!==n){const t=r.slice(n+1),e=t[t.length-1],i="index.js"===e||"index.ts"===e,a=s.some((t=>e===`.${t}`||e.endsWith(`.${t}`)));if(i)return"/"+(t.length>1?t.slice(0,-1).join("/"):"");if(a)return"/"+t.join("/").replace(/\.(js|ts)$/,"")}return""}const eo={...$a,...Wa,...Object.freeze({__proto__:null,__CACHE__:Ja,__Config__:Qa,__HYDRATION_MAP__:Ka,__HYDRATION__:Xa,__UI__:Ga})};[eo,pa,on,Ta,En,fs,Sa].forEach((t=>Object.assign(t,{ExtractAll:()=>(t=>{const e=Object.keys(t);for(let s=0;s<e.length;s++){const r=e[s];["__ExtractAll__","__RemoveAll__","ExtractAll","RemoveAll"].includes(r)||(globalThis[r]=t[r])}})(t),RemoveAll:()=>(t=>{const e=Object.keys(t);for(let t=0;t<e.length;t++){const s=e[t];"__RemoveAll__"!==s&&delete globalThis[s]}})(t)})));const so={App:eo,Math:pa,UI:on,Time:Ta,Data:En,Reactivity:fs,Graphics:Sa};globalThis.__Ziko__?console.warn("WARNING: Multiple instances of Ziko.js being imported."):(globalThis.__Ziko__={...so,__UI__:Ga,__HYDRATION__:Xa,__HYDRATION_MAP__:Ka,__Config__:Qa,__CACHE__:Ja,ExtractAll:function(){return on.ExtractAll(),pa.ExtractAll(),Ta.ExtractAll(),fs.ExtractAll(),Sa.ExtractAll(),En.ExtractAll(),this},RemoveAll:function(){on.RemoveAll(),pa.RemoveAll(),Ta.RemoveAll(),fs.RemoveAll(),Sa.RemoveAll(),En.RemoveAll()}},Ya(__Ziko__)),globalThis?.document&&document?.addEventListener("DOMContentLoaded",__Ziko__.__Config__.init()),t.App=Na,t.Article=$i,t.Aside=Bi,t.Base=ht,t.Canvas=ja,t.Combinaison=ut,t.Complex=Sn,t.E=r,t.EPSILON=i,t.Ease=ya,t.FileBasedRouting=async function(t){const e=Object.keys(t),s=function(t){if(0===t.length)return"";const e=t.map((t=>t.split("/"))),s=Math.min(...e.map((t=>t.length)));let r=[];for(let t=0;t<s;t++){const s=e[0][t];if(!e.every((e=>e[t]===s||e[t].startsWith("["))))break;r.push(s)}return r.join("/")+(r.length?"/":"")}(e),r={};for(let i=0;i<e.length;i++){const n=await t[e[i]](),a=await n.default;Object.assign(r,{[to(e[i],s)]:a})}return qa({target:document.body,routes:{"/":()=>{},...r},wrapper:Ni()})},t.Flex=gi,t.Footer=Vi,t.Form=ki,t.Grid=en,t.HTMLWrapper=Er,t.Header=Fi,t.Logic=ct,t.Main=zi,t.Matrix=Tn,t.Nav=Hi,t.PI=s,t.Permutation=lt,t.Random=dt,t.SPA=qa,t.SVGWrapper=Tr,t.Section=Ni,t.Str=xn,t.Suspense=Cr,t.Svg=Ca,t.Table=Ui,t.Utils=nt,t.ZikoApp=Ha,t.ZikoCustomEvent=Se,t.ZikoEventClick=Ht,t.ZikoEventClipboard=Bt,t.ZikoEventCustom=Wt,t.ZikoEventDrag=Gt,t.ZikoEventFocus=Qt,t.ZikoEventInput=Te,t.ZikoEventKey=re,t.ZikoEventMouse=ae,t.ZikoEventPointer=ce,t.ZikoEventSwipe=Ue,t.ZikoEventTouch=me,t.ZikoEventWheel=de,t.ZikoHead=as,t.ZikoMutationObserver=Pe,t.ZikoSPA=Va,t.ZikoUIAbbrText=Is,t.ZikoUIArticle=Xi,t.ZikoUIAside=Ki,t.ZikoUIAudio=si,t.ZikoUIBlockQuote=Zs,t.ZikoUIBr=Dr,t.ZikoUICanvas=Ma,t.ZikoUICodeText=ks,t.ZikoUIDefintion=xs,t.ZikoUIElement=gs,t.ZikoUIFigure=Kr,t.ZikoUIFlex=fi,t.ZikoUIFooter=Qi,t.ZikoUIForm=_i,t.ZikoUIGrid=tn,t.ZikoUIHTMLWrapper=kr,t.ZikoUIHeader=Wi,t.ZikoUIHeading=Ds,t.ZikoUIHr=Lr,t.ZikoUIHtmlTag=Ur,t.ZikoUIImage=Gr,t.ZikoUIInput=Qs,t.ZikoUIInputCheckbox=hr,t.ZikoUIInputColor=ir,t.ZikoUIInputDatalist=ci,t.ZikoUIInputDate=gr,t.ZikoUIInputDateTime=xr,t.ZikoUIInputEmail=mr,t.ZikoUIInputImage=Wr,t.ZikoUIInputNumber=tr,t.ZikoUIInputOption=hi,t.ZikoUIInputPassword=dr,t.ZikoUIInputRadio=lr,t.ZikoUIInputSearch=ar,t.ZikoUIInputSlider=sr,t.ZikoUIInputTime=yr,t.ZikoUILabel=oi,t.ZikoUILink=Pr,t.ZikoUIMain=qi,t.ZikoUINav=Yi,t.ZikoUIParagraphe=Ss,t.ZikoUIQuote=ws,t.ZikoUISVGWrapper=Ir,t.ZikoUISection=Gi,t.ZikoUISelect=ui,t.ZikoUISubText=_s,t.ZikoUISupText=vs,t.ZikoUISuspense=Ar,t.ZikoUISvg=Aa,t.ZikoUIText=ys,t.ZikoUITextArea=pi,t.ZikoUIVideo=ti,t.ZikoUIXMLWrapper=_r,t.ZikoUseRoot=ms,t.ZikoUseStyle=hs,t.__CACHE__=Ja,t.__Config__=Qa,t.__HYDRATION_MAP__=Ka,t.__HYDRATION__=Xa,t.__UI__=Ga,t.__ZikoEvent__=Ft,t.abbrText=js,t.abs=Rn,t.accum=J,t.acos=Yn,t.acosh=sa,t.acot=Kn,t.add=M,t.arange=$,t.arr2str=dn,t.asin=Gn,t.asinh=ra,t.atan=Xn,t.atan2=ha,t.atanh=ia,t.audio=ri,t.bindClickEvent=$t,t.bindClipboardEvent=qt,t.bindCustomEvent=(t,e,s)=>new Wt(t,e,s),t.bindDragEvent=Kt,t.bindFocusEvent=te,t.bindHashEvent=(t,e)=>new ee(t,e),t.bindKeyEvent=ne,t.bindMouseEvent=he,t.bindPointerEvent=ue,t.bindTouchEvent=(t,e)=>new me(t,e),t.bindWheelEvent=ge,t.blockQuote=Rs,t.br=zr,t.brs=Hr,t.btn=Vr,t.cartesianProduct=st,t.ceil=na,t.checkbox=cr,t.clamp=N,t.codeText=Ms,t.combinaison=mt,t.complex=Zn,t.cos=Hn,t.cosh=Qn,t.cot=Wn,t.coth=ea,t.count=_n,t.countWords=kn,t.csc=qn,t.csv2arr=yt,t.csv2json=vt,t.csv2matrix=wt,t.csv2object=xt,t.csv2sql=_t,t.datalist=li,t.default=so,t.defineParamsGetter=Ya,t.deg2rad=W,t.dfnText=As,t.div=Z,t.e=zn,t.fact=ca,t.figure=Qr,t.floor=aa,t.geomspace=q,t.getEvent=Pt,t.h=Mr,t.h1=Ls,t.h2=Ps,t.h3=zs,t.h4=Fs,t.h5=Hs,t.h6=Ns,t.hTags=Sr,t.hr=Fr,t.hrs=Nr,t.html=Br,t.hypot=ma,t.image=Xr,t.inRange=tt,t.input=Js,t.inputCamera=ai,t.inputColor=nr,t.inputDate=br,t.inputDateTime=vr,t.inputEmail=pr,t.inputImage=Yr,t.inputNumber=er,t.inputPassword=fr,t.inputTime=wr,t.isApproximatlyEqual=et,t.json2arr=Et,t.json2css=fn,t.json2csv=Tt,t.json2csvFile=At,t.json2xml=St,t.json2xmlFile=Zt,t.json2yml=Mt,t.json2ymlFile=jt,t.lerp=F,t.li=Ys,t.link=$r,t.linspace=B,t.ln=Fn,t.logspace=V,t.map=H,t.mapfun=I,t.matrix=An,t.matrix2=Cn,t.matrix3=On,t.matrix4=Mn,t.max=Q,t.min=K,t.modulo=U,t.mul=S,t.norm=P,t.nums=L,t.obj2str=mn,t.ol=Gs,t.ones=D,t.p=Us,t.pgcd=rt,t.pow=Ln,t.powerSet=ot,t.ppcm=it,t.preload=gt,t.prod=X,t.quote=Ts,t.rad2deg=Y,t.radio=ur,t.removeExtraSpace=vn,t.round=oa,t.s=jr,t.sTags=Zr,t.search=or,t.sec=Bn,t.select=mi,t.sig=ua,t.sign=la,t.sin=Nn,t.sinc=Vn,t.sinh=Jn,t.slider=rr,t.sqrt=Dn,t.sqrtn=Pn,t.str=In,t.sub=j,t.subSet=null,t.subText=Os,t.sum=G,t.supText=Cs,t.svg2ascii=cn,t.svg2img=un,t.svg2imgUrl=ln,t.svg2str=hn,t.tags=an,t.tan=$n,t.tanh=ta,t.text=Es,t.textarea=di,t.timeTaken=ka,t.time_memory_Taken=wa,t.ul=Xs,t.useAnimation=(t,e=ya.Linear,s=50,r)=>new Ea(t,ya.Linear,50,r),t.useChannel=Ua,t.useCustomEvent=Ze,t.useEventEmitter=Je,t.useFavIcon=es,t.useFps=fa,t.useHashEvent=Me,t.useHead=os,t.useInputEvent=Ae,t.useLocaleStorage=(t,e)=>new Ra(localStorage,t,e),t.useMediaQuery=us,t.useMeta=rs,t.useRoot=ds,t.useRootValue=ps,t.useSessionStorage=(t,e)=>new Ra(sessionStorage,t,e),t.useStyle=cs,t.useSuccesifKeys=Ke,t.useSwipeEvent=De,t.useThread=(t,e,s)=>{const r=new Da;return t&&r.call(t,e,s),r},t.useTimeLoop=ga,t.useTitle=ns,t.video=ei,t.wait=_a,t.waitForUIElm=xa,t.waitForUIElmSync=va,t.watch=ze,t.watchAttr=He,t.watchChildren=$e,t.watchIntersection=Ve,t.watchScreen=Ge,t.watchSize=We,t.zeros=R,Object.defineProperty(t,"__esModule",{value:!0})}));
9
+ !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).Ziko={})}(this,(function(t){"use strict";function e(t,...e){if("function"==typeof t)return e.forEach((e=>function(t,e){const s=Object.getOwnPropertyDescriptors(e);class r extends t{constructor(...t){super(...t);for(const t of Reflect.ownKeys(s)){const e=s[t];"function"==typeof e.value&&(this[t]=e.value.bind(this))}}}for(const t of Reflect.ownKeys(s)){const e=s[t];("get"in e||"set"in e||"function"!=typeof e.value)&&Object.defineProperty(r.prototype,t,e)}return r}(t,e)));if("object"!=typeof t)throw new TypeError("compose: target must be a class or instance");e.forEach((e=>function(t,e){const s=Object.getOwnPropertyDescriptors(e);for(const e of Reflect.ownKeys(s)){const r=s[e];"get"in r||"set"in r?Object.defineProperty(t,e,r):"function"==typeof r.value?t[e]=r.value.bind(t):t[e]=r.value}}(t,e)))}const{PI:s,E:r}=Math,i=Number.EPSILON;var n=Object.freeze({__proto__:null,E:r,EPSILON:i,PI:s});const{PI:a,cos:o,sin:h,tan:l,acos:u,asin:m,atan:p,cosh:f,sinh:g,tanh:b,acosh:y,asinh:w,atanh:x,log:v}=Math;let _={cos:o,sin:h,tan:l,sinc:t=>h(a*t)/(a*t),sec:t=>1/o(t),csc:t=>1/h(t),cot:t=>1/l(t),acos:u,asin:m,atan:p,acot:t=>a/2-p(t),cosh:f,sinh:g,tanh:b,coth:t=>.5*v((1+t)/(1-t)),acosh:y,asinh:w,atanh:x};_=new Proxy(_,{get(t,e){if(e in t)return s=>+t[e](s).toFixed(15)}});class k{}const I=(t,...e)=>{const s=e.map((e=>{if(null===e)return t(null);if(["number","string","boolean","bigint","undefined"].includes(typeof e))return t(e);if(e instanceof Array)return e.map((e=>I(t,e)));if(ArrayBuffer.isView(e))return e.map((e=>t(e)));if(e instanceof Set)return new Set(I(t,...e));if(e instanceof Map)return new Map([...e].map((e=>[e[0],I(t,e[1])])));if(e instanceof Tn)return new Tn(e.rows,e.cols,I(e.arr.flat(1)));if(e instanceof Sn){const[s,r,i,n]=[e.a,e.b,e.z,e.phi];switch(t){case Math.log:return Zn(Fn(i),n);case Math.exp:return Zn(zn(s)*Hn(r),zn(s)*Nn(r));case Math.abs:return i;case Math.sqrt:return Zn(Dn(i)*Hn(n/2),Dn(i)*Nn(n/2));case _.cos:return Zn(Hn(s)*Qn(r),-Nn(s)*Jn(r));case _.sin:return Zn(Nn(s)*Qn(r),Hn(s)*Jn(r));case _.tan:{const t=Hn(2*s)+Qn(2*r);return Zn(Nn(2*s)/t,Jn(2*r)/t)}case _.cosh:return Zn(Qn(s)*Hn(r),Jn(s)*Nn(r));case _.sinh:return Zn(Jn(s)*Hn(r),Qn(s)*Nn(r));case _.tanh:{const t=Qn(2*s)+Hn(2*r);return Zn(Jn(2*s)/t,Nn(2*r)/t)}default:return t(e)}}else if(e instanceof Object)return t(Object)||Object.fromEntries(Object.entries(e).map((e=>[e[0],I(t,e[1])])))}));return 1==s.length?s[0]:s},E=(t,e)=>{if("number"==typeof t){if("number"==typeof e)return t+e;if(e instanceof Sn)return Zn(t+e.a,e.b);if(e instanceof Tn)return Tn.nums(e.rows,e.cols,t).add(e);if(e instanceof Array)return e.map((e=>M(e,t)))}else{if(t instanceof Sn||t instanceof Tn)return e instanceof Array?e.map((e=>t.clone.add(e))):t.clone.add(e);if(t instanceof Array){if(!(e instanceof Array))return t.map((t=>M(t,e)));if(t.length===e.length)return t.map(((t,s)=>M(t,e[s])))}}},T=(t,e)=>{if("number"==typeof t){if("number"==typeof e)return t-e;if(e instanceof Sn)return Zn(t-e.a,-e.b);if(e instanceof Tn)return Tn.nums(e.rows,e.cols,t).sub(e);if(e instanceof Array)return e.map((e=>j(e,t)))}else{if(t instanceof Sn||t instanceof Tn)return e instanceof Array?e.map((e=>t.clone.sub(e))):t.clone.sub(e);if(t instanceof Array){if(!(e instanceof Array))return t.map((t=>j(t,e)));if(e instanceof Array&&t.length===e.length)return t.map(((t,s)=>j(t,e[s])))}}},A=(t,e)=>{if("number"==typeof t){if("number"==typeof e)return t*e;if(e instanceof Sn)return Zn(t*e.a,t*e.b);if(e instanceof Tn)return Tn.nums(e.rows,e.cols,t).mul(e);if(e instanceof Array)return e.map((e=>S(t,e)))}else{if(t instanceof Sn||t instanceof Tn)return e instanceof Array?e.map((e=>t.clone.mul(e))):t.clone.mul(e);if(t instanceof Array){if(!(e instanceof Array))return t.map((t=>S(t,e)));if(e instanceof Array&&t.length===e.length)return t.map(((t,s)=>S(t,e[s])))}}},C=(t,e)=>{if("number"==typeof t){if("number"==typeof e)return t/e;if(e instanceof Sn)return Zn(t/e.a,t/e.b);if(e instanceof Tn)return Tn.nums(e.rows,e.cols,t).div(e);if(e instanceof Array)return e.map((e=>Z(t,e)))}else{if(t instanceof Sn||t instanceof Tn)return e instanceof Array?e.map((e=>t.clone.div(e))):t.clone.div(e);if(t instanceof Array){if(!(e instanceof Array))return t.map((t=>Z(t,e)));if(e instanceof Array&&t.length===e.length)return t.map(((t,s)=>Z(t,e[s])))}}},O=(t,e)=>{if("number"==typeof t){if("number"==typeof e)return t%e;if(e instanceof Sn)return Zn(t%e.a,t%e.b);if(e instanceof Tn)return Tn.nums(e.rows,e.cols,t).modulo(e);if(e instanceof Array)return e.map((e=>Z(t,e)))}else{if(t instanceof Sn||t instanceof Tn)return e instanceof Array?e.map((e=>t.clone.div(e))):t.clone.div(e);if(t instanceof Array&&!(e instanceof Array))return t.map((t=>M(t,e)))}},M=(t,...e)=>{var s=t;for(let t=0;t<e.length;t++)s=E(s,e[t]);return s},j=(t,...e)=>{var s=t;for(let t=0;t<e.length;t++)s=T(s,e[t]);return s},S=(t,...e)=>{var s=t;for(let t=0;t<e.length;t++)s=A(s,e[t]);return s},Z=(t,...e)=>{var s=t;for(let t=0;t<e.length;t++)s=C(s,e[t]);return s},U=(t,...e)=>{var s=t;for(let t=0;t<e.length;t++)s=O(s,e[t]);return s},R=t=>new Array(t).fill(0),D=t=>new Array(t).fill(1),L=(t,e)=>new Array(e).fill(t),P=(t,e,s)=>{if("number"==typeof t)return e!==s?(t-e)/(s-e):0;if(t instanceof Tn)return new Tn(t.rows,t.cols,P(t.arr.flat(1),e,s));if(t instanceof Sn)return new Sn(P(t.a,e,s),P(t.b,e,s));if(t instanceof Array){if(t.every((t=>typeof("number"===t))))return t.map((t=>P(t,e,s)));{let e=new Array(t.length);for(let s=0;s<t.length;s++)e[s]=P(t[s])}}},F=(t,e,s)=>{if("number"==typeof t)return(s-e)*t+e;if(t instanceof Tn)return new Tn(t.rows,t.cols,F(t.arr.flat(1),e,s));if(t instanceof Sn)return new Sn(F(t.a,e,s),F(t.b,e,s));if(t instanceof Array){if(t.every((t=>typeof("number"===t))))return t.map((t=>F(t,e,s)));{let e=new Array(t.length);for(let s=0;s<t.length;s++)e[s]=F(t[s])}}},H=(t,e,s,r,i)=>{if("number"==typeof t)return F(P(t,e,s),r,i);if(t instanceof Tn)return new Tn(t.rows,t.cols,H(t.arr.flat(1),e,s,r,i));if(t instanceof Sn)return new Sn(H(t.a,s,r,i),H(t.b,e,s,r,i));if(t instanceof Array){if(t.every((t=>typeof("number"===t))))return t.map((t=>H(t,e,s,r,i)));{let n=new Array(t.length);for(let a=0;a<t.length;a++)n[a]=H(t[a],e,s,r,i)}}},N=(t,e,s)=>{const[r,i]=[K(e,s),Q(e,s)];if("number"==typeof t)return K(Q(t,r),i);if(t instanceof Tn)return new Tn(t.rows,t.cols,N(t.arr.flat(1),r,i));if(t instanceof Sn)return new Sn(N(t.a,r,i),N(t.b,r,i));if(t instanceof Array){if(t.every((t=>typeof("number"===t))))return t.map((t=>N(t,r,i)));{let e=new Array(t.length);for(let s=0;s<t.length;s++)e[s]=N(t[s],r,i)}}},$=(t,e,s,r=!1)=>{let i=[];if(t<e)for(let n=t;r?n<=e:n<e;n+=s)i.push(10*n/10);else for(let n=t;r?n>=e:n>e;n-=s)i.push(10*n/10);return i},B=(t,e,s=Rn(e-t)+1,r=!0)=>{if(Math.floor(s)===s){if([t,e].every((t=>"number"==typeof t))){const[a,o]=[t,e].sort(((t,e)=>e-t));var i=[];let h;h=r?(a-o)/(s-1):(a-o)/s;for(var n=0;n<s;n++)t<e?i.push(o+h*n):i.push(a-h*n);return i}if([t,e].some((t=>t instanceof Sn))){const i=Zn(t),n=Zn(e);s=s||Math.abs(i.a-n.a)+1;const a=B(i.a,n.a,s,r),o=B(i.b,n.b,s,r);let h=new Array(s).fill(null);return h=h.map(((t,e)=>Zn(a[e],o[e]))),h}}},V=(t,e,s=e-t+1,i=r,n=!0)=>B(t,e,s,n).map((t=>Ln(i,t))),q=(t,e,s=Rn(e-t)+1,r=!0)=>{if(Math.floor(s)===s){if([t,e].every((t=>"number"==typeof t))){const[i,n]=[t,e].sort(((t,e)=>e-t));let a;a=Pn(i/n,r?s-1:s);const o=[n];for(let t=1;t<s;t++)o.push(o[t-1]*a);return t<e?o:o.reverse()}if([t,e].some((t=>t instanceof Sn))){const i=Zn(t),n=Zn(e);let a;s=s||Math.abs(i.a-n.a)+1,a=Pn(n.div(i),r?s-1:s);const o=[i];for(let t=1;t<s;t++)o.push(S(o[t-1],a));return o}}},W=(...t)=>mapfun((t=>t*Math.PI/180),...t),Y=(...t)=>mapfun((t=>t/Math.PI*180),...t),G=(...t)=>{if(t.every((t=>"number"==typeof t))){let e=t[0];for(let s=1;s<t.length;s++)e+=t[s];return e}const e=[];for(let s=0;s<t.length;s++)t[s]instanceof Array?e.push(G(...t[s])):t[s]instanceof Object&&e.push(G(...Object.values(t[s])));return 1===e.length?e[0]:e},X=(...t)=>{if(t.every((t=>"number"==typeof t))){let e=t[0];for(let s=1;s<t.length;s++)e*=t[s];return e}const e=[];for(let s=0;s<t.length;s++)t[s]instanceof Array?e.push(X(...t[s])):t[s]instanceof Object&&e.push(X(...Object.values(t[s])));return 1===e.length?e[0]:e},K=(...t)=>{if(t.every((t=>"number"==typeof t)))return Math.min(...t);const e=[];for(let s=0;s<t.length;s++)t[s]instanceof Array?e.push(K(...t[s])):t[s]instanceof Object&&e.push(Object.fromEntries([Object.entries(t[s]).sort(((t,e)=>t[1]-e[1]))[0]]));return 1===e.length?e[0]:e},Q=(...t)=>{if(t.every((t=>"number"==typeof t)))return Math.max(...t);const e=[];for(let s=0;s<t.length;s++)t[s]instanceof Array?e.push(K(...t[s])):t[s]instanceof Object&&e.push(Object.fromEntries([Object.entries(t[s]).sort(((t,e)=>e[1]-t[1]))[0]]));return 1===e.length?e[0]:e},J=(...t)=>{if(t.every((t=>"number"==typeof t))){let e=t.reduce(((t,e)=>[...t,t[t.length-1]+e]),[0]);return e.shift(),e}const e=[];for(let s=0;s<t.length;s++)t[s]instanceof Array?e.push(J(...t[s])):t[s]instanceof Object&&e.push(null);return 1===e.length?e[0]:e},tt=(t,e,s)=>{const[r,i]=[Math.min(e,s),Math.max(e,s)];return t>=r&&t<=i},et=(t,e,s=1e-4)=>Math.abs(t-e)<=s,st=(t,e)=>t.reduce(((t,s)=>[...t,...e.map((t=>[s,t]))]),[]),rt=(t,e)=>{let s,r=1;if(t==aa(t)&&e==aa(e)){for(s=2;s<=t&&s<=e;++s)t%s==0&&e%s==0&&(r=s);return r}console.log("error")},it=(t,e)=>{let s;if(t==aa(t)&&e==aa(e)){for(s=t>e?t:e;s%t!=0||s%e!=0;)++s;return s}console.log("error")},nt={add:M,sub:j,mul:S,div:Z,modulo:U,zeros:R,ones:D,nums:L,norm:P,lerp:F,map:H,clamp:N,arange:$,linspace:B,logspace:V,geomspace:q,sum:G,prod:X,accum:J,cartesianProduct:st,ppcm:it,pgcd:rt,deg2rad:W,rad2deg:Y,inRange:tt,isApproximatlyEqual:et};var at=Object.freeze({__proto__:null,Utils:nt,add:M,arange:$,cartesianProduct:st,clamp:N,deg2rad:W,div:Z,geomspace:q,inRange:tt,isApproximatlyEqual:et,lerp:F,linspace:B,logspace:V,map:H,mapfun:I,modulo:U,mul:S,norm:P,nums:L,ones:D,pgcd:rt,ppcm:it,prod:X,rad2deg:Y,sub:j,sum:G,zeros:R});const ot=t=>{const e=[],s=2**t.length;for(let r=0;r<s;r+=1){const s=[];for(let e=0;e<t.length;e+=1)r&1<<e&&s.push(t[e]);e.push(s)}return e},ht={_mode:Number,_map:function(t,e,s){return e instanceof Tn?new Tn(e.rows,e.cols,e.arr.flat(1).map((e=>t(e,s)))):e instanceof Sn?new Sn(t(e.a,s),t(e.b,s)):e instanceof Array?e.map((e=>t(e,s))):void 0},dec2base(t,e){return this._mode=e<=10?Number:String,"number"==typeof t?this._mode((t>>>0).toString(e)):this._map(this.dec2base,t,e)},dec2bin(t){return this.dec2base(t,2)},dec2oct(t){return this.dec2base(t,8)},dec2hex(t){return this.dec2base(t,16)},bin2base(t,e){return this.dec2base(this.bin2dec(t),e)},bin2dec(t){return this._mode("0b"+t)},bin2oct(t){return this.bin2base(t,8)},bin2hex(t){return this.bin2base(t,16)},oct2dec(t){return this._mode("0o"+t)},oct2bin(t){return this.dec2bin(this.oct2dec(t))},oct2hex(t){return this.dec2hex(this.oct2dec(t))},oct2base(t,e){return this.dec2base(this.oct2dec(t),e)},hex2dec(t){return this._mode("0x"+t)},hex2bin(t){return this.dec2bin(this.hex2dec(t))},hex2oct(t){return this.dec2oct(this.hex2dec(t))},hex2base(t,e){return this.dec2base(this.hex2dec(t),e)},IEEE32toDec(t){let e=t.split(" ").join("").padEnd(32,"0"),s=e[0],r=2**(+("0b"+e.slice(1,9))-127);return(-1)**s*(1+e.slice(9,32).split("").map((t=>+t)).map(((t,e)=>t*2**(-e-1))).reduce(((t,e)=>t+e),0))*r},IEEE64toDec(t){let e=t.split(" ").join("").padEnd(64,"0"),s=e[0],r=2**(+("0b"+e.slice(1,12))-1023);return(-1)**s*(1+e.slice(13,64).split("").map((t=>+t)).map(((t,e)=>t*2**(-e-1))).reduce(((t,e)=>t+e),0))*r}},ct={_mode:Number,_map:function(t,e,s){return e instanceof Tn?new Tn(e.rows,e.cols,e.arr.flat(1).map((e=>t(e,s)))):e instanceof Sn?new Sn(t(e.a,s),t(e.b,s)):e instanceof Array?e.map((e=>t(e,s))):void 0},not:function(t){return["number","boolean"].includes(typeof t)?ct._mode(!t):this._map(this.not,t)},and:function(t,...e){return["number","boolean"].includes(typeof t)?ct._mode(e.reduce(((t,e)=>t&e),t)):this._map(this.and,t,e)},or:function(t,...e){return["number","boolean"].includes(typeof t)?ct._mode(e.reduce(((t,e)=>t|e),t)):this._map(this.or,t,e)},nand:function(t,...e){return this.not(this.and(t,e))},nor:function(t,...e){return this.not(this.or(t,e))},xor:function(t,...e){let s=[t,...e];return["number","boolean"].includes(typeof t)?this._mode(1===s.reduce(((t,e)=>(1==+e&&(t+=1),t)),0)):this._map(this.xor,t,e)},xnor:function(t,...e){return ct.not(ct.xor(t,e))}};class lt{static withDiscount(t,e=t.length){if(1===e)return t.map((t=>[t]));const s=[];let r;return r=this.withDiscount(t,e-1),t.forEach((t=>{r.forEach((e=>{s.push([t].concat(e))}))})),s}static withoutDiscount(t){if(1===t.length)return t.map((t=>[t]));const e=[],s=this.withoutDiscount(t.slice(1)),r=t[0];for(let t=0;t<s.length;t++){const i=s[t];for(let t=0;t<=i.length;t++){const s=i.slice(0,t),n=i.slice(t);e.push(s.concat([r],n))}}return e}}class ut{static withDiscount(t,e){if(1===e)return t.map((t=>[t]));const s=[];return t.forEach(((r,i)=>{this.withDiscount(t.slice(i),e-1).forEach((t=>{s.push([r].concat(t))}))})),s}static withoutDiscount(t,e){if(1===e)return t.map((t=>[t]));const s=[];return t.forEach(((r,i)=>{this.withoutDiscount(t.slice(i+1),e-1).forEach((t=>{s.push([r].concat(t))}))})),s}}const mt=(t,e,s=!1)=>ut[s?"withDiscount":"withoutDiscount"](t,e);var pt=Object.freeze({__proto__:null,Base:ht,Combinaison:ut,Logic:ct,Permutation:lt,combinaison:mt,powerSet:ot,subSet:null});class dt{static float(t=1,e){return e?Math.random()*(e-t)+t:t*Math.random()}static int(t,e){return Math.floor(this.float(t,e))}static char(t){t=t??this.bool();const e=String.fromCharCode(this.int(97,120));return t?e.toUpperCase():e}static bool(){return[!1,!0][Math.floor(2*Math.random())]}static string(t,e){return t instanceof Array?new Array(this.int(...t)).fill(0).map((()=>this.char(e))).join(""):new Array(t).fill(0).map((()=>this.char(e))).join("")}static bin(){return this.int(2)}static oct(){return this.int(8)}static dec(){return this.int(8)}static hex(){return this.int(16)}static choice(t=[1,2,3],e=new Array(t.length).fill(1/t.length)){let s=new Array(100);e=nt.accum(...e).map((t=>100*t)),s.fill(t[0],0,e[0]);for(let r=1;r<t.length;r++)s.fill(t[r],e[r-1],e[r]);return s[this.int(s.length-1)]}static shuffleArr(t){return t.sort((()=>.5-Math.random()))}static shuffleMatrix(t){const{rows:e,cols:s,arr:r}=t;return An(e,s,r.flat().sort((()=>.5-Math.random())))}static floats(t,e,s){return new Array(t).fill(0).map((()=>this.float(e,s)))}static ints(t,e,s){return new Array(t).fill(0).map((()=>this.int(e,s)))}static bools(t){return new Array(t).fill(0).map((()=>this.bool()))}static bins(t){return new Array(t).fill(0).map((()=>this.int(2)))}static octs(t){return new Array(t).fill(0).map((()=>this.int(8)))}static decs(t){return new Array(t).fill(0).map((()=>this.int(10)))}static hexs(t){return new Array(t).fill(0).map((()=>this.int(16)))}static choices(t,e,s){return new Array(t).fill(0).map((()=>this.choice(e,s)))}static perm(...t){return t.permS[this.int(t.length)]}static color(){return"#"+ht.dec2hex(this.float(16777216)).padStart(6,0)}static colors(t){return new Array(t).fill(null).map((()=>this.color()))}static complex(t=[0,1],e=[0,1]){return t instanceof Array?new Sn(this.float(t[0],t[1]),this.float(e[0],e[1])):new Sn(...this.floats(2,t,e))}static complexInt(t=[0,1],e=[0,1]){return new Sn(this.int(t[0],t[1]),this.int(e[0],e[1]))}static complexBin(){return new Sn(...this.bins(2))}static complexOct(){return new Sn(...this.octs(2))}static complexDec(){return new Sn(...this.decs(10))}static complexHex(){return new Sn(...this.octs(2))}static complexes(t,e=0,s=1){return new Array(t).fill(0).map((()=>this.complex(e,s)))}static complexesInt(t,e=0,s=1){return new Array(t).fill(0).map((()=>this.complexInt(e,s)))}static complexesBin(t){return new Array(t).fill(0).map((()=>this.complexBin()))}static complexesOct(t){return new Array(t).fill(0).map((()=>this.complexOct()))}static complexesDec(t){return new Array(t).fill(0).map((()=>this.complexDec()))}static complexesHex(t){return new Array(t).fill(0).map((()=>this.complexHex()))}static matrix(t,e,s,r){return An(t,e,this.floats(t*e,s,r))}static matrixInt(t,e,s,r){return An(t,e,this.ints(t*e,s,r))}static matrixBin(t,e){return An(t,e,this.bins(t*e))}static matrixOct(t,e){return An(t,e,this.octs(t*e))}static matrixDec(t,e){return An(t,e,this.decs(t*e))}static matrixHex(t,e){return An(t,e,this.hex(t*e))}static matrixColor(t,e){return An(t,e,this.colors(t*e))}static matrixComplex(t,e,s,r){return An(t,e,this.complexes(t*e,s,r))}static matrixComplexInt(t,e,s,r){return An(t,e,this.complexesInt(t*e,s,r))}static matrixComplexBin(t,e){return An(t,e,this.complexesBin(t*e))}static matrixComplexOct(t,e){return An(t,e,this.complexesBin(t*e))}static matrixComplexDec(t,e){return An(t,e,this.complexesBin(t*e))}static matrixComplexHex(t,e){return An(t,e,this.complexesBin(t*e))}}var ft=Object.freeze({__proto__:null,Random:dt});const gt=t=>{const e=new XMLHttpRequest;if(e.open("GET",t,!1),e.send(),200===e.status)return e.responseText;throw new Error(`Failed to fetch data from ${t}. Status: ${e.status}`)};globalThis.fetchdom=async function(t="https://github.com/zakarialaoui10"){const e=await fetch(t),s=await e.text();return(new DOMParser).parseFromString(s,"text/xml").documentElement},globalThis.fetchdomSync=function(t="https://github.com/zakarialaoui10"){const e=gt(t);return(new DOMParser).parseFromString(e,"text/xml").documentElement};var bt=Object.freeze({__proto__:null,preload:gt});const yt=(t,e=",")=>t.trim().trimEnd().split("\n").map((t=>t.split(e))),wt=(t,e=",")=>new Tn(yt(t,e)),xt=(t,e=",")=>{const[s,...r]=yt(t,e);return r.map((t=>{const e={};return s.forEach(((s,r)=>{e[s]=t[r]})),e}))},vt=(t,e=",")=>JSON.stringify(xt(t,e)),_t=(t,e)=>{const s=t.trim().trimEnd().split("\n").filter((t=>t));let r=`INSERT INTO ${e} (${s[0].split(",").join(", ")}) Values `,i=[];for(let t=1;t<s.length;t++){const e=s[t].split(",");i.push(`(${e})`)}return r+i.join(",\n")},kt=t=>t instanceof Array?[Object.keys(t[0]),...t.map((t=>Object.values(t)))]:[Object.keys(t)],It=(t,e)=>kt(t).map((t=>t.join(e))).join("\n"),Et=t=>kt(t instanceof Object?t:JSON.parse(t)),Tt=(t,e=",")=>It(t instanceof Object?t:JSON.parse(t),e),At=(t,e)=>{const s=Tt(t,e),r=new Blob([s],{type:"text/csv;charset=utf-8;"});return{str:s,blob:r,url:URL.createObjectURL(r)}},Ct=(t,e)=>{const s=[];if(Array.isArray(t))t.forEach((t=>{if("object"==typeof t&&null!==t){s.push(`${e}-`);const r=Ct(t,`${e} `);s.push(...r)}else s.push(`${e}- ${t}`)}));else for(const r in t)if(t.hasOwnProperty(r)){const i=t[r];if("object"==typeof i&&null!==i){s.push(`${e}${r}:`);const t=Ct(i,`${e} `);s.push(...t)}else s.push(`${e}${r}: ${i}`)}return s},Ot=(t,e="")=>Ct(t,e).join("\n"),Mt=(t,e)=>Ot(t instanceof Object?t:JSON.parse(t),e),jt=(t,e)=>{const s=Mt(t,e),r=new Blob([s],{type:"text/yml;charset=utf-8;"});return{str:s,blob:r,url:URL.createObjectURL(r)}},St=(t,e=1)=>{let s="";for(const r in t)if(t.hasOwnProperty(r)){const i=t[r];s+="\n"+" ".repeat(e)+`<${r}>`,s+="object"==typeof i?St(i,e+2):`${i}`,s+=`</${r}>`}return s.trim()},Zt=(t,e)=>{const s=St(t,e),r=new Blob([s],{type:"text/xml;charset=utf-8;"});return{str:s,blob:r,url:URL.createObjectURL(r)}},Ut={append(...t){return Rt.call(this,"append","push",...t),this},prepend(...t){return this.__addItem__.call(this,"prepend","unshift",...t),this},insertAt(t,...e){if(t>=this.element.children.length)this.append(...e);else for(let s=0;s<e.length;s++)["number","string"].includes(typeof e[s])&&(e[s]=Es(e[s])),this.element?.insertBefore(e[s].element,this.items[t].element),this.items.splice(t,0,e[s]);return this},remove(...t){const e=t=>{"number"==typeof t&&(t=this.items[t]),t?.isZikoUIElement&&this.element?.removeChild(t.element),this.items=this.items.filter((e=>e!==t))};for(let s=0;s<t.length;s++)e(t[s]);for(let t=0;t<this.items.length;t++)Object.assign(this,{[[t]]:this.items[t]});return this},clear(){return this?.items?.forEach((t=>t.unrender())),this.element.innerHTML="",this},render(t=this.target){if(!this.isBody)return t?.isZikoUIElement&&(t=t.element),this.target=t,this.target?.appendChild(this.element),this},unrender(){return this.cache.parent?this.cache.parent.remove(this):this.target?.children?.length&&[...this.target?.children].includes(this.element)&&this.target.removeChild(this.element),this},renderAfter(t=1){return setTimeout((()=>this.render()),t),this},unrenderAfter(t=1){return setTimeout((()=>this.unrender()),t),this},after(t){return t?.isZikoUIElement&&(t=t.element),this.element?.after(t),this},before(t){return t?.isZikoUIElement&&(t=t.element),this.element?.before(t),this}};function Rt(t,e,...s){if(this.cache.isFrozzen)return console.warn("You can't append new item to frozzen element"),this;for(let r=0;r<s.length;r++)["number","string"].includes(typeof s[r])&&(s[r]=Es(s[r])),"function"==typeof globalThis?.Node&&s[r]instanceof globalThis?.Node&&(s[r]=new this.constructor(s[r])),s[r]?.isZikoUIElement?(s[r].cache.parent=this,this.element[t](s[r].element),s[r].target=this.element,this.items[e](s[r])):s[r]instanceof Object&&(s[r]?.style&&this.style(s[r]?.style),s[r]?.attr&&Object.entries(s[r].attr).forEach((t=>this.setAttr(""+t[0],t[1]))));return this.maintain(),this}const Dt={at(t){return this.items.at(t)},forEach(t){return this.items.forEach(t),this},map(t){return this.items.map(t)},find(t){return this.items.filter(t)}},Lt={Click:["Click","DblClick"],Ptr:["PtrMove","PtrDown","PtrUp","PtrLeave","PtrEnter","PtrOut","PtrCancel"],Mouse:["MouseMove","MouseDown","MouseUp","MouseEnter","MouseLeave","MouseOut"],Key:["KeyDown","KeyPress","KeyUp"],Clipboard:["Copy","Cut","Paste"],Focus:["focus","blur"],Drag:["Drag","DragStart","DragEnd","Drop"],Wheel:["Wheel"]},Pt=(t="")=>t.startsWith("Ptr")?`pointer${t.split("Ptr")[1].toLowerCase()}`:t.toLowerCase();function zt(t,e,s,r,i){this.cache.currentEvent=e,this.cache.event=t,s?.call(this),r?.hasOwnProperty("prototype")?r?.call(this):r?.call(null,this),this.cache.preventDefault[e]&&t.preventDefault(),this.cache.stopPropagation[e]&&t.stopPropagation(),this.cache.stopImmediatePropagation[e]&&t.stopImmediatePropagation(),this.cache.stream.enabled[e]&&i&&this.cache.stream.history[e].push(i),this.cache.callbacks[e]?.map((t=>t(this)))}class Ft{constructor(t=null,e=[],s,r){this.target=t,this.cache={currentEvent:null,event:null,options:{},preventDefault:{},stopPropagation:{},stopImmediatePropagation:{},event_flow:{},paused:{},stream:{enabled:{},clear:{},history:{}},callbacks:{},__controllers__:{}},e&&this._register_events(e,s,r)}_register_events(t,e,s,r=!0){const i=t?.map((t=>Pt(t)));return i?.forEach(((i,n)=>{Object.assign(this.cache.preventDefault,{[i]:!1}),Object.assign(this.cache.options,{[i]:{}}),Object.assign(this.cache.paused,{[i]:!1}),Object.assign(this.cache.stream.enabled,{[i]:!1}),Object.assign(this.cache.stream.clear,{[i]:!1}),Object.assign(this.cache.stream.history,{[i]:[]}),Object.assign(this.cache.__controllers__,{[i]:t=>zt.call(this,t,i,e,s)}),r&&Object.assign(this,{[`on${t[n]}`]:(...t)=>this.__onEvent(i,this.cache.options[i],{},...t)})})),this}get targetElement(){return this.target?.element}get isParent(){return this.target?.element===this.event.srcElement}get item(){return this.target.find((t=>t.element==this.event?.srcElement))?.[0]}get currentEvent(){return this.cache.currentEvent}get event(){return this.cache.event}setTarget(t){return this.target=t,this}__handle(t,e,s,r){return this.targetElement?.addEventListener(t,e,s),this}__onEvent(t,e,s,...r){if(0===r.length){if(console.log("00"),!this.cache.callbacks[t])return this;console.log("Call"),this.cache.callbacks[t].map((t=>e=>t.call(this,e)))}else this.cache.callbacks[t]=r.map((t=>e=>t.call(this,e)));return this.__handle(t,this.cache.__controllers__[t],e,s),this}#t(t,e,s){"default"===s&&Object.assign(this.cache[t],{...this.cache[t],...e});const r="default"===s?this.cache[t]:Object.fromEntries(Object.keys(this.cache.preventDefault).map((t=>[t,s])));return Object.assign(this.cache[t],{...r,...e}),this}preventDefault(t={},e="default"){return this.#t("preventDefault",t,e),this}stopPropagation(t={},e="default"){return this.#t("stopPropagation",t,e),this}stopImmediatePropagation(t={},e="default"){return this.#t("stopImmediatePropagation",t,e),this}setEventOptions(t,e){return this.pause({[t]:!0},"default"),Object.assign(this.cache.options[Pt(t)],e),this.resume({[t]:!0},"default"),this}pause(t={},e="default"){t={..."default"===e?this.cache.stream.enabled:Object.entries(Object.keys(this.cache.stream.enabled).map((t=>[t,e]))),...t};for(let e in t)t[e]&&(this.targetElement?.removeEventListener(e,this.cache.__controllers__[e],this.cache.options[e]),this.cache.paused[e]=!0);return this}resume(t={},e="default"){t={..."default"===e?this.cache.stream.enabled:Object.entries(Object.keys(this.cache.stream.enabled).map((t=>[t,e]))),...t};for(let e in t)t[e]&&(this.targetElement?.addEventListener(e,this.cache.__controllers__[e],this.cache.options[e]),this.cache.paused[e]=!1);return this}stream(t={},e="default"){this.cache.stream.t0=Date.now();return t={...Object.fromEntries(Object.keys(this.cache.stream.enabled).map((t=>[t,e]))),...t},Object.assign(this.cache.stream.enabled,t),this}clear(){return this}dispose(t={},e="default"){return this.pause(t,e),this}}class Ht extends Ft{constructor(t,e){super(t,Lt.Click,Nt,e)}}function Nt(){"click"===this.currentEvent?this.dx=0:this.dx=1}const $t=(t,e)=>new Ht(t,e);class Bt extends Ft{constructor(t,e){super(t,Lt.Clipboard,Vt,e)}}function Vt(){}const qt=(t,e)=>new Bt(t,e);class Wt extends Ft{constructor(t,e,s){super(t,e,Yt,s)}_register_events(t){return super._register_events(t,null,null,!1),this}emit(t,e={}){const s=new Event(t);return this.targetElement.dispatchEvent(s),this}on(t,...e){return this.cache.options.hasOwnProperty(t)||this._register_events([t]),this.__onEvent(t,this.cache.options[t],{},...e),this}}function Yt(){}class Gt extends Ft{constructor(t,e){super(t,Lt.Drag,Xt,e)}}function Xt(){}const Kt=(t,e)=>new Gt(t,e);class Qt extends Ft{constructor(t,e){super(t,Lt.Focus,Jt,e)}}function Jt(){}const te=(t,e)=>new Qt(t,e);let ee=class extends Ft{constructor(t,e){super(t,Lt.Hash,se,e)}};function se(){}class re extends Ft{constructor(t,e){super(t,Lt.Key,ie,e)}}function ie(){switch(this.currentEvent){case"keydown":this.kd=this.event.key;break;case"keypress":this.kp=this.event.key;break;case"keyup":this.ku=this.event.key}}const ne=(t,e)=>new re(t,e);class ae extends Ft{constructor(t,e){super(t,Lt.Mouse,oe,e)}}function oe(){}const he=(t,e)=>new ae(t,e);class ce extends Ft{constructor(t,e){super(t,Lt.Ptr,le,e),this.isDown=!1}}function le(){switch(this.currentEvent){case"pointerdown":this.dx=parseInt(this.event.offsetX),this.dy=parseInt(this.event.offsetY),this.isDown=!0;break;case"pointermove":this.mx=parseInt(this.event.offsetX),this.my=parseInt(this.event.offsetY),this.isMoving=!0;break;case"pointerup":{this.ux=parseInt(this.event.offsetX),this.uy=parseInt(this.event.offsetY),this.isDown=!1,console.log(this.target.width);const t=(this.ux-this.dx)/this.target.width,e=(this.dy-this.uy)/this.target.height,s=t<0?"left":t>0?"right":"none",r=e<0?"bottom":e>0?"top":"none";this.swippe={h:s,v:r,delta_x:t,delta_y:e}}}}const ue=(t,e)=>new ce(t,e);class me extends Ft{constructor(t,e){super(t,Lt.Touch,pe,e)}}function pe(){}class de extends Ft{constructor(t,e){super(t,Lt.Wheel,fe,e)}}function fe(){}const ge=(t,e)=>new de(t,e),be={ptr:ue,mouse:he,key:ne,click:$t,drag:Kt,clipboard:qt,focus:te,wheel:ge},ye={};Object.entries(Lt).forEach((([t,e])=>{e.forEach((e=>{const s=`on${e}`;ye[s]=function(...e){return this.events[t]||(this.events[t]=be[t.toLowerCase()](this)),this.events[t][s](...e),this}}))}));let we=class{constructor(t={},e=(t.hasOwnProperty("default")?"default":Object.keys(t)[0]),s=0){this.id="Ziko-Style-"+s,this.keys=new Set,this.styles={default:{fontSize:"1em",color:"green"},other:{fontSize:"2em",color:"cyan"}},t&&this.add(t),e&&this.use(e)}get current(){return[...this.keys].reduce(((t,e)=>(t[e]=`var(--${e}-${this.id})`,t)),{})}add(t,e={}){return t&&"object"==typeof t&&!Array.isArray(t)?Object.assign(this.styles,t):"string"==typeof t&&Object.assign(this.styles,{[t]:e}),this}#e(t){const e=Object.keys(this.styles);for(let s in this.styles[e[t]])Object.prototype.hasOwnProperty.call(this.styles[e[t]],s)&&(document.documentElement.style.setProperty(`--${s}-${this.id}`,this.styles[e[t]][s]),this.keys.add(s));return this}#s(t){if(!this.styles[t])return this;for(let e in this.styles[t])Object.prototype.hasOwnProperty.call(this.styles[t],e)&&(document.documentElement.style.setProperty(`--${e}-${this.id}`,this.styles[t][e]),this.keys.add(e));return this}#r(t){for(let e in t)Object.prototype.hasOwnProperty.call(t,e)&&(document.documentElement.style.setProperty(`--${e}-${this.id}`,t[e]),this.keys.add(e));return this}use(t){return"number"==typeof t?this.#e(t):"string"==typeof t?this.#s(t):t&&"object"==typeof t?this.#r(t):this}};const xe=(t,e="px")=>("number"==typeof t&&(t+=e),t instanceof Array&&(t=t.map((t=>"number"==typeof t?t+=e:t)).join(" ")),t);class ve{constructor(t={}){this.target=null,this.styles=new Map([["default",t]]),this.cache={isHidden:!1,isFaddedOut:!1,transformation:{Flip:[0,0,0],matrix:new Tn([[1,0,0,0],[0,1,0,0],[0,0,1,0],[0,0,0,1]])}}}style(t){for(const[e,s]of Object.entries(t))xn.isCamelCase(e)&&(delete t[e],Object.assign(t,{[xn.camel2hyphencase(e)]:s}));return this?.target?.element?.style&&Object.assign(this?.target?.element?.style,t),this}linkTo(t){return this.target=t,this}use(t="default"){return this.style(this.styles.get(t)),this}update(t,e){const s=this.styles.get(t);return s?this.styles.set(t,Object.assign(s,e)):this.styles.set(t,e),this}add(t,e){return this.styles.set(t,e),this}replace(t,e){return this.styles.set(t,e),this}delete(...t){return t.forEach((t=>this.styles.delete(t))),this}updateDefaultStyle(){const t=Object.fromEntries(Object.entries(this.target.element.style).filter((t=>isNaN(+t[0]))));return this.update("default",t),this}hover(t){return t&&this.add("hover",t),this.target?.element?.addEventListener("pointerenter",(()=>this.use("hover"))),this.target?.element?.addEventListener("pointerleave",(()=>this.use("default"))),this}isInline(){return getComputedStyle(this.target.element).display.includes("inline")}isBlock(){return!this.isInline()}size(t,e){return this.style({width:t,height:e}),this}width(t){if(t instanceof Object){if(t instanceof Array&&(t={min:t[0],max:t[1]}),"min"in t||"max"in t){let e=t.min??t.max,s=t.max??t.min;e=xe(e,"px"),s=xe(s,"px"),this.style({minWidth:e,maxWidth:s},{target:target,maskVector:maskVector})}}else t=xe(t,"px"),this.style({width:t});return this}height(t){if(t instanceof Object){if(t instanceof Array&&(t={min:t[0],max:t[1]}),"min"in t||"max"in t){let e=t.min??t.max,s=t.max??t.min;e=xe(e,"px"),s=xe(s,"px"),this.style({minHeight:e,maxHeight:s},{target:target,maskVector:maskVector})}}else t=xe(t,"px"),this.style({height:t});return this}enableResize(t=!1,e=!1){let s="none";return s=t?e?"both":"horizontal":e?"vertical":"none",this.style({resize:s,overflow:"hidden"}),this.isInline()&&(console.group("Ziko Issue : Temporarily Incompatible Method"),console.warn(".enableResize has no effect on inline elements!"),console.info("%cConsider using other display types such as block, inline-block, flex, or grid for proper resizing behavior.","color:gold;background-color:#3333cc;padding:5px"),console.groupEnd()),this}hide({after:t,target:e,maskVector:s}={}){if("number"==typeof t){const r=()=>this.hide({target:e,maskVector:s});setTimeout(r,t),clearTimeout(r)}else this.cache.isHidden=!0,this.style({display:"none"},{target:e,maskVector:s});return this}show({after:t,target:e,maskVector:s}={}){if("number"==typeof t){const r=()=>this.show({target:e,maskVector:s});setTimeout(r,t),clearTimeout(r)}else this.cache.isHidden=!1,this.style({display:""},{target:e,maskVector:s});return this}color(t){return this.style({color:t}),this}background(t){return this.style({background:t}),this}backgroundColor(t){return this.style({backgroundColor:t}),this}opacity(t,{target:e,maskVector:s}={}){return this.style({opacity:t},{target:e,maskVector:s}),this}position(t){return this.style({position:t}),this}display(t,{target:e,maskVector:s}={}){return this.style({display:t},{target:e,maskVector:s}),this}zIndex(t){return this.style({zIndex:t}),this}float(t,{target:e,maskVector:s}={}){return this.style({float:t},{target:e,maskVector:s}),this}border(t="1px solid red",{target:e,maskVector:s}={}){return this.style({border:t},{target:e,maskVector:s}),this}borderTop(t="1px solid red",{target:e,maskVector:s}={}){return this.style({borderTop:t},{target:e,maskVector:s}),this}borderRight(t="1px solid red",{target:e,maskVector:s}={}){return this.style({borderRight:t},{target:e,maskVector:s}),this}borderBottom(t="1px solid red",{target:e,maskVector:s}={}){return this.style({borderBottom:t},{target:e,maskVector:s}),this}borderLeft(t="1px solid red",{target:e,maskVector:s}={}){return this.style({borderLeft:t},{target:e,maskVector:s}),this}borderRadius(t){return t=xe(t,"px"),this.style({borderRadius:t},{target:target,maskVector:maskVector}),this}margin(t){return t=xe(t,"px"),this.style({margin:t},{target:target,maskVector:maskVector}),this}marginTop(t){return t=xe(t,"px"),this.style({marginTop:t}),this}marginRight(t){return t=xe(t,"px"),this.style({marginRight:t}),this}marginBootom(t){return t=xe(t,"px"),this.style({marginBootom:t}),this}marginLeft(t){return t=xe(t,"px"),this.style({marginLeft:t}),this}padding(t){return t=xe(t,"px"),this.style({padding:t}),this}paddingTop(t){return t=xe(t,"px"),this.style({paddingTop:t}),this}paddingRight(t){return t=xe(t,"px"),this.style({paddingRight:t}),this}paddingBootom(t){return t=xe(t,"px"),this.style({paddingBootom:t}),this}paddingLeft(t){return t=xe(t,"px"),this.style({paddingLeft:t}),this}font(t){return this.style({font:t}),this}fontFamily(t=""){return this.style({fontFamily:t}),this}fontSize(t){return this.style({fontSize:t}),this}cursor(t="pointer"){return this.style({cursor:t}),this}overflow(t,e){const s=["hidden","auto"];return this.style({overflowX:"number"==typeof t?s[t]:t,overflowY:"number"==typeof e?s[e]:e},{target:target,maskVector:maskVector}),this}clip(t,{target:e,maskVector:s}={}){return"string"==typeof t&&(t="polygon("+t+")"),this.style({clipPath:t},{target:e,maskVector:s}),this}fadeOut(t=1){return this.style({transition:`opacity ${t/1e3}s`,opacity:0}),this.cache.isFaddedOut=!0,this}fadeIn(t=1){return this.style({transition:`opacity ${t/1e3}s`,opacity:1}),this.cache.isFaddedOut=!1,this}toggleFade(t=1e3,e=t){return this.cache.isFaddedOut?this.fadeIn(t):this.fadeOut(e),this}morphBorderRadius(t,e){return this.style({borderRadius:t,transition:`borderRadius ${e/1e3}s`}),this}#i(t){const e=this.cache.transformation.matrix.arr.join(",");this.style({transform:`matrix3d(${e})`,"-webkit-transform":`matrix3d(${e})`,"-moz-transform":`matrix3d(${e})`,"-ms-transform":`matrix3d(${e})`,"-o-transform":`matrix3d(${e})`}),0!=t&&this.style({transition:`transform ${t/1e3}s ease`})}translate(t,e=t,s=0,r=0){return this.cache.transformation.matrix.set(3,0,t),this.cache.transformation.matrix.set(3,1,e),this.cache.transformation.matrix.set(3,2,s),this.#i(r),this}translateX(t,e=0){return this.cache.transformation.matrix.set(3,0,t),this.#i(e),this}translateY(t,e=0){return this.cache.transformation.matrix.set(3,1,t),this.#i(e),this}translateZ(t,e=0){const s=-1/this.cache.transformation.matrix[2][2];return this.cache.transformation.matrix.set(3,2,z),this.cache.transformation.matrix.set(3,3,1-t/s),this.#i(e),this}perspective(t,e=0){const s=this.cache.transformation.matrix[3][2];return this.cache.transformation.matrix.set(2,2,-1/d),this.cache.transformation.matrix.set(3,3,1-s/t),this.#i(e),this}scale(t,e=t,s=0){return this.cache.transformation.matrix.set(0,0,t),this.cache.transformation.matrix.set(1,1,e),this.#i(s),this}scaleX(t=1,e=0){return this.cache.transformation.matrix.set(0,0,t),this.#i(e),this}scaleY(t=1,e=0){return this.cache.transformation.matrix.set(1,1,t),this.cache.transformation.matrix.arr.join(","),this.#i(e),this}skew(t,e=t,s=0){return this.cache.transformation.matrix.set(0,1,t),this.cache.transformation.matrix.set(1,0,e),this.cache.transformation.matrix.arr.join(","),this.#i(s),this}skewX(t=1,e=0){return this.cache.transformation.matrix.set(0,1,t),this.cache.transformation.matrix.arr.join(","),this.#i(e),this}skewY(t=1,e=0){return this.cache.transformation.matrix.set(1,0,t),this.cache.transformation.matrix.arr.join(","),this.#i(e),this}rotateX(t,e=0){return this.cache.transformation.matrix.set(1,1,Hn(t)),this.cache.transformation.matrix.set(1,2,-Nn(t)),this.cache.transformation.matrix.set(2,1,Nn(t)),this.cache.transformation.matrix.set(1,2,Hn(t)),this.#i(e),this}rotateY(t,e=0){return this.cache.transformation.matrix.set(0,0,Hn(t)),this.cache.transformation.matrix.set(0,2,Nn(t)),this.cache.transformation.matrix.set(2,0,-Nn(t)),this.cache.transformation.matrix.set(2,2,Hn(t)),this.#i(e),this}rotateZ(t,e=0){return this.cache.transformation.matrix.set(0,0,Hn(t)),this.cache.transformation.matrix.set(0,1,-Nn(t)),this.cache.transformation.matrix.set(1,0,Nn(t)),this.cache.transformation.matrix.set(1,1,Hn(t)),this.#i(e),this}flipeX(t=1){return this.cache.transformation.Flip[0]+=180,this.cache.transformation.Flip[0]%=360,this.rotateX(this.cache.transformation.Flip[0],t),this}flipeY(t=1){return this.cache.transformation.Flip[1]+=180,this.cache.transformation.Flip[1]%=360,this.rotateY(this.cache.transformation.Flip[1],t),this}flipeZ(t=1){return this.cache.transformation.Flip[2]+=180,this.cache.transformation.Flip[2]%=360,this.rotateZ(this.cache.transformation.Flip[2],t),this}slideHeightIn(t=1,e=this.h){return this.style({transition:t+"s",height:e}),this}slideHeightOut(t=1){return this.style({transition:t+"s",height:0}),this.target?.element?.n("transitionend",(()=>this.style({opacity:"none"}))),this}slideWidthIn(t=1,e=this.w){return this.style({transition:t+"s",width:e}),this}slideWidthOut(t=1){this.style({transition:t+"s",width:0});const e=()=>{this.style({opacity:"none"})};return this.target?.element?.addEventListener("transitionend",e),this.target?.element?.removeEventListener("transitionend",e),this}slideIn({transitionTimming:t=1,w:e="100%",h:s="auto"}={}){return this.style({transition:t+"s",width:e,height:s,visibility:"visible"}),this}slideOut({transitionTimming:t=1,width:e=0,heightransitionTimming:s=0}={}){this.style({visibility:"hidden",transition:t+"s",opacity:"none",width:e,height:height});const r=()=>{this.style({opacity:"none"})};return this.target?.element?.addEventListener("transitionend",r),this.target?.element?.removeEventListener("transitionend",r),this}}function _e(t,e,s,r){return this.event=t,this.cache.preventDefault[e]&&t.preventDefault(),console.log({setter:s}),s&&s(),this.cache.stream.enabled[e]&&r&&this.cache.stream.history[e].push(r),this.cache.callbacks[e].map((t=>t(this))),this}class ke{constructor(t){this.target=null,this.setTarget(t),this.__dispose=this.dispose.bind(this)}get targetElement(){return this.target.element}setTarget(t){return this.target=t,this}__handle(t,e,s){const r="drag"===t?t:`${this.cache.prefixe}${t}`;return this.dispose(s),this.targetElement?.addEventListener(r,e),this}__onEvent(t,e,...s){if(0===s.length){if(!(this.cache.callbacks.length>1))return this;this.cache.callbacks.map((t=>e=>t.call(this,e)))}else this.cache.callbacks[t]=s.map((t=>e=>t.call(this,e)));return this.__handle(t,this.__controller[t],e),this}preventDefault(t={}){return Object.assign(this.cache.preventDefault,t),this}pause(t={}){t={...Object.fromEntries(Object.keys(this.cache.stream.enabled).map((t=>[t,!0]))),...t};for(let e in t)t[e]&&(this.targetElement?.removeEventListener(`${this.cache.prefixe}${e}`,this.__controller[`${this.cache.prefixe}${e}`]),this.cache.paused[`${this.cache.prefixe}${e}`]=!0);return this}resume(t={}){t={...Object.fromEntries(Object.keys(this.cache.stream.enabled).map((t=>[t,!0]))),...t};for(let e in t)t[e]&&(this.targetElement?.addEventListener(`${this.cache.prefixe}${e}`,this.__controller[`${this.cache.prefixe}${e}`]),this.cache.paused[`${this.cache.prefixe}${e}`]=!1);return this}dispose(t={}){return this.pause(t),this}stream(t={}){this.cache.stream.t0=Date.now();return t={...Object.fromEntries(Object.keys(this.cache.stream.enabled).map((t=>[t,!0]))),...t},Object.assign(this.cache.stream.enabled,t),this}clear(t={}){t={...Object.fromEntries(Object.keys(this.cache.stream.clear).map((t=>[t,!0]))),...t};for(let e in t)t[e]&&(this.cache.stream.history[e]=[]);return this}}function Ie(t){_e.call(this,t,"input",null,null)}function Ee(t){_e.call(this,t,"change",null,null)}class Te extends ke{constructor(t){super(t),this.event=null,this.cache={prefixe:"",preventDefault:{input:!1,change:!1},paused:{input:!1,change:!1},stream:{enabled:{input:!1,change:!1},clear:{input:!1,change:!1},history:{input:[],change:[]}},callbacks:{input:[],change:[]}},this.__controller={input:Ie.bind(this),change:Ee.bind(this)}}get value(){return this.target.value}onInput(...t){return this.__onEvent("input",{},...t),this}onChange(...t){return this.__onEvent("change",{},...t),this}}const Ae=t=>new Te(t);function Ce(t){_e.call(this,t,"hashchange",null,null)}class Oe extends ke{constructor(t){super(t),this.event=null,this.cache={prefixe:"",preventDefault:{hashchange:!1},paused:{hashchange:!1},stream:{enabled:{hashchange:!1},clear:{hashchange:!1},history:{hashchange:[]}},callbacks:{hashchange:[]}},this.__controller={hashchange:Ce.bind(this)}}onChange(...t){return this.__onEvent("hashchange",{},...t),this}}const Me=t=>new Oe(t),je=t=>function(e){_e.call(this,e,t,null,null)};class Se extends ke{constructor(t){super(t),this.event=null,this.cache={prefixe:"",preventDefault:{},paused:{},stream:{enabled:{},clear:{},history:{}},callbacks:{}},this.__controller={}}#n(t){return this.cache.preventDefault[t]=!1,this.cache.paused[t]=!1,this.cache.stream.enabled=!1,this.cache.stream.clear=!1,this.cache.stream.history=[],this.cache.callbacks[t]=[],this.__controller[t]=je(t).bind(this),this}on(t,...e){return this.__controller[t]||this.#n(t),this.__onEvent(t,{},...e),this}emit(t,e={}){this.__controller[t]||this.#n(t),this.detail=e;const s=new Event(t);return this.targetElement.dispatchEvent(s),this}}const Ze=t=>new Se(t);class Ue extends ke{constructor(t,e=.3,s=.3){super(t);const{removeListener:r,setWidthThreshold:i,setHeightThreshold:n}=function(t,e=.5,s=.5,r,i){let n=F(e,0,r),a=F(s,0,i),o=0,h=0,c=0,l=0;const u=t=>{o=t.clientX,h=t.clientY},m=t=>{c=t.clientX,l=t.clientY,p()};function p(){const t=c-o,e=l-h;(Math.abs(t)>n||Math.abs(e)>a)&&d(t,e)}function d(e,s){const o=globalThis?.CustomEvent?new CustomEvent("swipe",{detail:{deltaX:Rn(e)<n?0:la(e)*P(Rn(e),0,r),deltaY:Rn(s)<a?0:la(s)*P(Rn(s),0,i),direction:{x:Rn(e)<n?"none":e>0?"right":"left",y:Rn(s)<a?"none":s>0?"down":"up"}}}):null;t?.dispatchEvent(o)}function f(t){n=F(t,0,r)}function g(t){a=F(t,0,i)}return t?.addEventListener("pointerdown",u),t?.addEventListener("pointerup",m),{removeListener(){t?.removeEventListener("pointerdown",u),t?.removeEventListener("pointerup",m),console.log("Swipe event listeners removed")},setWidthThreshold:f,setHeightThreshold:g}}(this.target?.element,e,s,this.target.width,this.target.height);this.cache={width_threshold:e,height_threshold:s,removeListener:r,setWidthThreshold:i,setHeightThreshold:n,legacyTouchAction:globalThis?.document?.body?.style?.touchAction,prefixe:"",preventDefault:{swipe:!1},paused:{swipe:!1},stream:{enabled:{swipe:!1},clear:{swipe:!1},history:{swipe:[]}},callbacks:{swipe:[]}},this.__controller={swipe:Re.bind(this)}}onSwipe(...t){return Object.assign(globalThis?.document?.body?.style,{touchAction:"none"}),this.__onEvent("swipe",{},...t),this}updateThresholds(t=this.cache.width_threshold,e=this.cache.height_threshold){return void 0!==t&&this.cache.setWidthThreshold(t),void 0!==e&&this.cache.setHeightThreshold(e),this}destroy(){return this.cache.removeListener(),Object.assign(globalThis?.document?.body?.style,{touchAction:this.cache.legacyTouchAction}),this}}function Re(t){_e.call(this,t,"swipe",null,null)}const De=(t,e,s)=>new Ue(t,e,s);var Le=Object.freeze({__proto__:null,ZikoCustomEvent:Se,ZikoEventHash:Oe,ZikoEventInput:Te,ZikoEventSwipe:Ue,useCustomEvent:Ze,useHashEvent:Me,useInputEvent:Ae,useSwipeEvent:De});class Pe{constructor(t,e){this.target=t,this.observer=null,this.cache={options:e||{attributes:!0,childList:!0,subtree:!0},streamingEnabled:!0,lastMutation:null,mutationHistory:{}},this.observeCallback=(t,e)=>{if(this.cache.streamingEnabled)for(const e of t)switch(e.type){case"attributes":this.cache.mutationHistory.attributes.push(e.target.getAttribute(e.attributeName));break;case"childList":this.cache.mutationHistory.childList.push(e);break;case"subtree":this.cache.mutationHistory.subtree.push(e)}this.callback&&this.callback(t,e)}}observe(t){if(!this.observer){if(!globalThis.MutationObserver)return void console.log("MutationObserver Nor Supported");this.observer=new MutationObserver(this.cache.observeCallback),this.observer.observe(this.target.element,this.cache.options),this.callback=([e])=>t.call(e,this),this.cache.streamingEnabled=!0}}pause(t){this.observer&&(this.observer.disconnect(),t&&this.observer.observe(this.target,t))}reset(t){this.observer&&(this.observer.disconnect(),this.observer.observe(this.target,t||this.cache.options))}clear(){return this.observer&&(this.observer.disconnect(),this.observer=null,this.cache.mutationHistory={attributes:[],childList:[],subtree:[]}),this.cache.streamingEnabled=!1,this}getMutationHistory(){return this.cache.mutationHistory}enableStreaming(){return this.cache.streamingEnabled=!0,this}disableStreaming(){return this.cache.streamingEnabled=!1,this}}const ze=(t,e={},s=null)=>{const r=new Pe(t,e);return s&&r.observe(s),r};class Fe extends Pe{constructor(t,e){super(t,{attributes:!0,childList:!1,subtree:!1}),Object.assign(this.cache,{observeCallback:(t,e)=>{for(const e of t)this.cache.lastMutation={name:e.attributeName,value:e.target.getAttribute(e.attributeName)},this.cache.streamingEnabled&&this.cache.mutationHistory.attributes.push(this.cache.lastMutation);this.callback&&this.callback(t,e)}}),this.cache.mutationHistory.attributes=[],e&&this.observe(e)}get history(){return this.cache.mutationHistory.attributes}}const He=(t,e)=>new Fe(t,e);class Ne extends Pe{constructor(t,e){super(t,{attributes:!1,childList:!0,subtree:!1}),Object.assign(this.cache,{observeCallback:(t,e)=>{for(const e of t)e.addedNodes?this.cache.lastMutation={type:"add",item:this.target.find((t=>t.element===e.addedNodes[0]))[0],previous:this.target.find((t=>t.element===e.previousSibling))[0]}:e.addedNodes&&(this.cache.lastMutation={type:"remove",item:this.target.find((t=>t.element===e.removedNodes[0]))[0],previous:this.target.find((t=>t.element===e.previousSibling))[0]}),this.cache.streamingEnabled&&this.cache.mutationHistory.children.push(this.cache.lastMutation);this.callback&&this.callback(t,e)}}),this.cache.mutationHistory.children=[],e&&this.observe(e)}get item(){return this.cache.lastMutation.item}get history(){return this.cache.mutationHistory.children}}const $e=(t,e)=>new Ne(t,e);class Be{constructor(t,e,{threshold:s=0,margin:r=0}={}){this.target=t,this.config={threshold:s,margin:r},globalThis.IntersectionObserver?this.observer=new IntersectionObserver((t=>{this.entrie=t[0],e(this)}),{threshold:this.threshold}):console.log("IntersectionObserver Not Supported")}get ratio(){return this.entrie.intersectionRatio}get isIntersecting(){return this.entrie.isIntersecting}setThreshould(t){return this.config.threshold=t,this}setMargin(t){return t="number"==typeof t?t+"px":t,this.config.margin=t,this}start(){return this.observer.observe(this.target.element),this}stop(){return this}}const Ve=(t,e,s)=>new Be(t,e,s);class qe{constructor(t,e){this.target=t,this.contentRect=null,this.observer=new ResizeObserver((()=>{e(this)}))}get BoundingRect(){return this.target.element.getBoundingClientRect()}get width(){return this.BoundingRect.width}get height(){return this.BoundingRect.height}get top(){return this.BoundingRect.top}get bottom(){return this.BoundingRect.bottom}get right(){return this.BoundingRect.right}get left(){return this.BoundingRect.left}get x(){return this.BoundingRect.x}get y(){return this.BoundingRect.y}start(){return this.observer.observe(this.target.element),this}stop(){return this.observer.unobserve(this.target.element),this}}const We=(t,e)=>new qe(t,e);class Ye{constructor(t=(t=>console.log({x:t.x,y:t.y}))){this.cache={},this.previousX=globalThis?.screenX,this.previousY=globalThis?.screenY}update(){Object.assign(this.cache,{screenXLeft:globalThis?.screenX,screenXRight:globalThis?.screen.availWidth-globalThis?.screenX,screenYTop:globalThis?.screenY,screenYBottom:globalThis?.screen.availHeight-globalThis?.screenY-globalThis?.outerHeight,screenCenterX:globalThis?.screen.availWidth/2,screenCenterY:globalThis?.screen.availHeight/2,windowCenterX:globalThis?.outerWidth/2+globalThis?.screenX,windowCenterY:globalThis?.outerHeight/2+globalThis?.screenY,deltaCenterX:globalThis?.screen.availWidth/2-globalThis?.outerWidth/2+globalThis?.screenX,deltaCenterY:null})}get x0(){return H(globalThis?.screenX,0,globalThis.screen.availWidth,-1,1)}get y0(){return-H(globalThis?.screenY,0,globalThis.screen.availHeight,-1,1)}get x1(){return H(globalThis?.screenX+globalThis?.outerWidth,0,globalThis.screen.availWidth,-1,1)}get y1(){return-H(globalThis?.screenY+globalThis?.outerHeight,0,globalThis.screen.availHeight,-1,1)}get cx(){return H(globalThis?.outerWidth/2+globalThis?.screenX,0,globalThis.screen.availWidth,-1,1)}get cy(){return-H(globalThis?.outerHeight/2+globalThis?.screenY,0,globalThis.screen.availHeight,-1,1)}}const Ge=t=>new Ye(t);var Xe=Object.freeze({__proto__:null,ZikoMutationObserver:Pe,watch:ze,watchAttr:He,watchChildren:$e,watchIntersection:Ve,watchScreen:Ge,watchSize:We});const Ke=(t,e=[],s=(()=>{}))=>{t.cache.stream.enabled.down=!0;const r=e.length,i=t.cache.stream.history.down.slice(-r).map((t=>t.key));e.join("")===i.join("")&&(t.event.preventDefault(),s.call(t,t))};class Qe{constructor(){this.events={},this.maxListeners=10}on(t,e){this.events[t]||(this.events[t]=[]),this.events[t].push(e),this.events[t].length>this.maxListeners&&console.warn(`Warning: Possible memory leak. Event '${t}' has more than ${this.maxListeners} listeners.`)}once(t,e){const s=r=>{this.off(t,s),e(r)};this.on(t,s)}off(t,e){const s=this.events[t];if(s){const t=s.indexOf(e);-1!==t&&s.splice(t,1)}}emit(t,e){const s=this.events[t];s&&s.forEach((t=>{t(e)}))}clear(t){t?delete this.events[t]:this.events={}}setMaxListener(t,e){this.maxListeners=e}removeAllListeners(t){t?this.events[t]=[]:this.events={}}}const Je=()=>new Qe;let ts=class{constructor(t,e=!0){this.#n(),this.cache={Emitter:null},e&&this.useEventEmitter(),this.set(t)}#n(){return this.__FavIcon__=document.querySelector("link[rel*='icon']")||document?.createElement("link"),this.__FavIcon__.type="image/x-icon",this.__FavIcon__.rel="shortcut icon",this}set(t){return t!==this.__FavIcon__.href&&(this.__FavIcon__.href=t,this.cache.Emitter&&this.cache.Emitter.emit("ziko:favicon-changed")),this}get current(){return document.__FavIcon__.href}onChange(t){return this.cache.Emitter&&this.cache.Emitter.on("ziko:favicon-changed",t),this}useEventEmitter(){return this.cache.Emitter=Je(),this}};const es=(t,e)=>new ts(t,e);let ss=class{constructor({viewport:t,charset:e,description:s,author:r,keywords:i}){this.document=globalThis?.document,this.meta={},this.init({viewport:t,charset:e,description:s,author:r,keywords:i})}init({viewport:t,charset:e,description:s,author:r,keywords:i}){t&&this.setViewport(t),e&&this.setCharset(e),s&&this.describe(s),r&&this.setAuthor(r),i&&this.setKeywords(i)}set(t,e){const s="charset"===(t=t.toLowerCase()),r=s?document.querySelector("meta[charset]"):document.querySelector(`meta[name=${t}]`);return this.meta=r??document?.createElement("meta"),s?this.meta.setAttribute("charset",e):(this.meta.setAttribute("name",t),this.meta.setAttribute("content",e)),r||this.document.head.append(this.meta),this}setCharset(t="utf-8"){return this.set("charset",t),this}describe(t){return this.set("description",t),this}setViewport(t="width=device-width, initial-scale=1.0"){return this.set("viewport",t),this}setKeywords(...t){return t=[...new Set(t)].join(", "),this.set("keywords",t),this}setAuthor(t){return this.set("author",t),this}};const rs=({viewport:t,charset:e,description:s,author:r,keywords:i})=>new ss({viewport:t,charset:e,description:s,author:r,keywords:i});let is=class{constructor(t=document.title,e=!0){this.cache={Emitter:null},e&&this.useEventEmitter(),this.set(t)}useEventEmitter(){return this.cache.Emitter=Je(),this}set(t){return t!==document.title&&(document.title=t,this.cache.Emitter&&this.cache.Emitter.emit("ziko:title-changed")),this}get current(){return document.title}onChange(t){return this.cache.Emitter&&this.cache.Emitter.on("ziko:title-changed",t),this}};const ns=(t,e)=>new is(t,e);let as=class{constructor({title:t,lang:e,icon:s,meta:r,noscript:i}){this.html=globalThis?.document?.documentElement,this.head=globalThis?.document?.head,t&&ns(t),e&&this.setLang(e),s&&es(s),r&&rs(r),i&&this.setNoScript()}setLang(t){this.html.setAttribute("lang",t)}setNoScript(t){}};const os=({title:t,lang:e,icon:s,meta:r,noscript:i})=>new as({title:t,lang:e,icon:s,meta:r,noscript:i});class hs{constructor(t={},e=(t.hasOwnProperty("default")?"default":Object.keys(t)[0]),s=0){this.id="Ziko-Style-"+s,this.keys=new Set,this.styles={default:{fontSize:"1em",color:"green"},other:{fontSize:"2em",color:"cyan"}},t&&this.add(t),e&&this.use(e)}get current(){return[...this.keys].reduce(((t,e)=>(t[e]=`var(--${e}-${this.id})`,t)),{})}add(t,e={}){return t&&"object"==typeof t&&!Array.isArray(t)?Object.assign(this.styles,t):"string"==typeof t&&Object.assign(this.styles,{[t]:e}),this}#e(t){const e=Object.keys(this.styles);for(let s in this.styles[e[t]])Object.prototype.hasOwnProperty.call(this.styles[e[t]],s)&&(document.documentElement.style.setProperty(`--${s}-${this.id}`,this.styles[e[t]][s]),this.keys.add(s));return this}#s(t){if(!this.styles[t])return this;for(let e in this.styles[t])Object.prototype.hasOwnProperty.call(this.styles[t],e)&&(document.documentElement.style.setProperty(`--${e}-${this.id}`,this.styles[t][e]),this.keys.add(e));return this}#r(t){for(let e in t)Object.prototype.hasOwnProperty.call(t,e)&&(document.documentElement.style.setProperty(`--${e}-${this.id}`,t[e]),this.keys.add(e));return this}use(t){return"number"==typeof t?this.#e(t):"string"==typeof t?this.#s(t):t&&"object"==typeof t?this.#r(t):this}}const cs=(t,e,s)=>new hs(t,e,s);class ls{constructor(t=[],e=(()=>{})){this.mediaQueryRules=t,this.fallback=e,this.lastCalledCallback=null,this.init()}init(){this.mediaQueryRules.forEach((({query:t,callback:e})=>{const s=globalThis.matchMedia(t),r=()=>{const t=this.mediaQueryRules.some((({query:t})=>globalThis.matchMedia(t).matches));s.matches?(e(),this.lastCalledCallback=e):t||this.lastCalledCallback===this.fallback||(this.fallback(),this.lastCalledCallback=this.fallback)};r(),s.addListener(r)}))}}const us=(t,e)=>new ls(t,e);class ms{constructor(t){this.props={},t&&this.set(t)}get(t){return this.props[t]}set(t){return Object.entries(t).forEach((([t,e])=>this.#a(t,e))),this}#a(t,e){const s=`--${xn.camel2hyphencase(t)}`;document.documentElement.style.setProperty(s,e),Object.assign(this.props,{[t]:`var(${s})`}),Object.assign(this,{[t]:`var(${s})`})}}const ps=t=>(t.startsWith("--")||(t=`--${xn.camel2hyphencase(t)}`),`var(${t})`),ds=t=>new ms(t);const fs={...Le,...Xe,...Object.freeze({__proto__:null,ZikoHead:as,ZikoUseRoot:ms,ZikoUseStyle:hs,useFavIcon:es,useHead:os,useMediaQuery:us,useMeta:rs,useRoot:ds,useRootValue:ps,useStyle:cs,useSuccesifKeys:Ke,useTitle:ns})};class gs{constructor(t,s="",{el_type:r="html",useDefaultStyle:i=!1}={}){if(this.target=globalThis.__Ziko__.__Config__.default.target||globalThis?.document?.body,"string"==typeof t)switch(r){case"html":t=globalThis?.document?.createElement(t);break;case"svg":t=globalThis?.document?.createElementNS("http://www.w3.org/2000/svg",t);default:throw Error("Not supported")}else this.target=t.parentElement;t&&(this.__ele__=t),e(this,Ut,Dt,ye),this.cache={name:s,parent:null,isBody:!1,isRoot:!1,isHidden:!1,isFrozzen:!1,legacyParent:null,style:new ve({}),attributes:{},filters:{},temp:{}},this.events={ptr:null,mouse:null,wheel:null,key:null,drag:null,drop:null,click:null,clipboard:null,focus:null,swipe:null,custom:null},this.observer={resize:null,intersection:null},this.uuid=`${this.cache.name}-${dt.string(16)}`,this.ui_index=globalThis.__Ziko__.__CACHE__.get_ui_index(),this.cache.style.linkTo(this),i&&this.style({position:"relative",boxSizing:"border-box",margin:0,padding:0,width:"auto",height:"auto"}),this.items=[],globalThis.__Ziko__.__UI__[this.cache.name]?globalThis.__Ziko__.__UI__[this.cache.name]?.push(this):globalThis.__Ziko__.__UI__[this.cache.name]=[this],t&&globalThis.__Ziko__.__Config__.default.render&&this?.render?.(),this.isInteractive()&&(this.setAttr("ziko-hydration-index",globalThis.__Ziko__.__HYDRATION__.index),globalThis.__Ziko__.__HYDRATION__.map.set(globalThis.__Ziko__.__HYDRATION__.index,(()=>this)),globalThis.__Ziko__.__HYDRATION__.increment())}get element(){return this.__ele__}isInteractive(){return[!0,!1][Math.floor(2*Math.random())]}get isZikoUIElement(){return!0}register(){return this}get st(){return this.cache.style}get attr(){return this.cache.attributes}get evt(){return this.events}get html(){return this.element.innerHTML}get text(){return this.element.textContent}get isBody(){return this.element===globalThis?.document.body}get parent(){return this.cache.parent}get width(){return this.element.getBoundingClientRect().width}get height(){return this.element.getBoundingClientRect().height}get top(){return this.element.getBoundingClientRect().top}get right(){return this.element.getBoundingClientRect().right}get bottom(){return this.element.getBoundingClientRect().bottom}get left(){return this.element.getBoundingClientRect().left}clone(t=!1){const e=new this.constructor;if(e.__proto__=this.__proto__,this.items.length){const t=[...this.items].map((t=>t.clone()));e.append(...t)}else e.element=this.element.cloneNode(!0);return e.render(t)}style(t){return t instanceof we?this.st.style(t.current):this.st.style(t),this}size(t,e){return this.st.size(t,e),this}maintain(){for(let t=0;t<this.items.length;t++)Object.assign(this,{[[t]]:this.items[t]});return this.length=this.items.length,this}filter(t,e=(()=>{}),s=(()=>{})){const r=this.items.filter(t);return r.forEach(e),this.items.filter((t=>!r.includes(t))).forEach(s),this}filterByTextContent(t,e=!1){this.items.forEach((t=>t.render())),this.filter((s=>!(e?s.text===t:s.text.includes(t))),(t=>t.unrender()))}filterByClass(t){return this.items.map((t=>t.render())),this.items.filter((e=>!e.classes.includes(t))).map((t=>t.unrender())),this}sortByTextContent(t,e){let s=this.children;return s.filter((e=>!e.textContent.toLowerCase().includes(t.toLowerCase()))).map((t=>{t.style.display="none"})),s.filter((e=>e.textContent.toLowerCase().includes(t.toLowerCase()))).map(((t,s)=>t.style.display=e[s])),s.filter((t=>"none"!=t.style.display)),this}get#o(){const t=globalThis.getComputedStyle(this.element),e={};return"0px"!==t.marginRight&&Object.assign(e,{marginLeft:t.marginRight}),"0px"!==t.marginLeft&&Object.assign(e,{marginRight:t.marginLeft}),"0px"!==t.paddingRight&&Object.assign(e,{paddingLeft:t.paddingRight}),"0px"!==t.paddingLeft&&Object.assign(e,{paddingRight:t.paddingLeft}),"0px"!==t.left&&Object.assign(e,{right:t.left}),"0px"!==t.right&&Object.assign(e,{left:t.right}),"right"===t.textAlign&&Object.assign(e,{textAlign:"left"}),"left"===t.textAlign&&Object.assign(e,{textAlign:"right"}),"right"===t.float&&Object.assign(e,{float:"left"}),"left"===t.float&&Object.assign(e,{float:"right"}),"0px"!==t.borderRadiusLeft&&Object.assign(e,{right:t.borderRadiusRight}),"0px"!==t.borderRadiusRight&&Object.assign(e,{right:t.borderRadiusLeft}),["flex","inline-flex"].includes(t.display)&&("flex-end"===t.justifyContent&&Object.assign(e,{justifyContent:"flex-start"}),"flex-start"===t.justifyContent&&Object.assign(e,{justifyContent:"flex-end"})),e}useRtl(t=!1){return t?this.style({...this.#o,direction:"rtl"}):this.style({direction:"rtl"}),this}useLtr(t=!1){return t?this.style({...this.#o,direction:"ltr"}):this.style({direction:"ltr"}),this}freeze(t){return this.cache.isFrozzen=t,this}setTarget(t){if(!this.isBody)return t?.isZikoUIElement&&(t=t.element),this.unrender(),this.target=t,this.render(),this}describe(t){t&&this.setAttr("aria-label",t)}animate(t,{duration:e=1e3,iterations:s=1,easing:r="ease"}={}){return this.element?.animate(t,{duration:e,iterations:s,easing:r}),this}#h(t,e){"svg"!==this.element.tagName&&(t=xn.isCamelCase(t)?xn.camel2hyphencase(t):t),this?.attr[t]&&this?.attr[t]===e||(this.element.setAttribute(t,e),Object.assign(this.cache.attributes,{[t]:e}))}setAttr(t,e){if(t instanceof Object){const[s,r]=[Object.keys(t),Object.values(t)];for(let t=0;t<s.length;t++)r[t]instanceof Array&&(e[t]=r[t].join(" ")),this.#h(s[t],r[t])}else e instanceof Array&&(e=e.join(" ")),this.#h(t,e);return this}removeAttr(...t){for(let e=0;e<t.length;e++)this.element?.removeAttribute(t[e]);return this}getAttr(t){return t=xn.isCamelCase(t)?xn.camel2hyphencase(t):t,this.element.attributes[t].value}setContentEditable(t=!0){return this.setAttr("contenteditable",t),this}get children(){return[...this.element.children]}get cloneElement(){return this.element.cloneNode(!0)}setClasses(...t){return this.setAttr("class",t.join(" ")),this}get classes(){const t=this.element.getAttribute("class");return null===t?[]:t.split(" ")}addClass(){}setId(t){return this.setAttr("id",t),this}get id(){return this.element.getAttribute("id")}onSwipe(t,e,...s){return this.events.swipe||(this.events.swipe=De(this,t,e)),this.events.swipe.onSwipe(...s),this}on(t,...e){return this.events.custom||(this.events.custom=Ze(this)),this.events.custom.on(t,...e),this}emit(t,e={}){return this.events.custom||(this.events.custom=Ze(this)),this.events.custom.emit(t,e),this}watchAttr(t){return this.observer.attr||(this.observer.attr=He(this,t)),this}watchChildren(t){return this.observer.children||(this.observer.children=$e(this,t)),this}watchSize(t){return this.observer.resize||(this.observer.resize=We(this,t)),this.observer.resize.start(),this}watchIntersection(t,e){return this.observer.intersection||(this.observer.intersection=Ve(this,t,e)),this.observer.intersection.start(),this}}class bs extends gs{constructor(t,e,s,...r){super(t,e),this.addValue(...r),this.style({margin:0,padding:0}),Object.assign(this.cache,{lineBreak:s})}get isText(){return!0}get value(){return this.element.textContent}clear(){return this.element.childNodes.forEach((t=>t.remove())),this.element.textContent="",this}addValue(...t){return t.forEach(((t,e)=>{"string"==typeof t||"number"==typeof t?this.element?.appendChild(globalThis?.document.createTextNode(t)):t instanceof gs?this.element?.appendChild(t.element):t instanceof Sn||t instanceof Tn?this.element?.appendChild(new Text(t.toString())):t instanceof Array?this.element?.appendChild(new Text(dn(t))):t instanceof Object&&this.element?.appendChild(new Text(mn(t))),this.cache.lineBreak&&this.element?.appendChild(globalThis.document?.createElement("br"))})),this}setValue(...t){return this.clear(),this.addValue(...t),this}}class ys extends bs{constructor(...t){super("span","text",!1,...t)}}class ws extends bs{constructor(...t){super("q","quote",!1,...t),this.style({fontStyle:"italic"})}get isQuote(){return!0}}class xs extends bs{constructor(...t){super("dfn","dfnText",!1,...t)}get isDfnText(){return!0}}class vs extends bs{constructor(t){super("sup","supText",!1,t)}get isSupText(){return!0}}class _s extends bs{constructor(...t){super("sub","subText",!1,...t)}get isSubText(){return!0}}class ks extends bs{constructor(...t){super("code","codeText",!1,...t)}get isCodeText(){return!0}}class Is extends bs{constructor(t,e){super("abbr","abbrText",!1,t),this.setAttr("title",e)}get isAbbrText(){return!0}}const Es=(...t)=>new ys(...t),Ts=(...t)=>new ws(...t),As=(...t)=>new xs(...t),Cs=(...t)=>new vs(...t),Os=(...t)=>new _s(...t),Ms=(...t)=>new ks(...t),js=(t,e)=>new Is(t,e);class Ss extends bs{constructor(...t){super("p","p",!0,...t)}get isPara(){return!0}}class Zs extends bs{constructor(t,e){super("blockquote","blockquote",!0,e),this.setAttr("cite",t)}get isBlockQuote(){return!0}}const Us=(...t)=>new Ss(...t),Rs=(t,e)=>new Zs(t,e);class Ds extends gs{constructor(t=1,e=""){super(`h${t}`,`h${t}`),this.element.textContent=e}get isHeading(){return!0}get value(){return this.element.innerText}setValue(t=""){this.element.innerText=t}addValue(t=""){return this.element.innerText+=t,this}}const Ls=(t="")=>new Ds(1,t),Ps=(t="")=>new Ds(2,t),zs=(t="")=>new Ds(3,t),Fs=(t="")=>new Ds(4,t),Hs=(t="")=>new Ds(5,t),Ns=(t="")=>new Ds(6,t);var $s=Object.freeze({__proto__:null,ZikoUIAbbrText:Is,ZikoUIBlockQuote:Zs,ZikoUICodeText:ks,ZikoUIDefintion:xs,ZikoUIHeading:Ds,ZikoUIParagraphe:Ss,ZikoUIQuote:ws,ZikoUISubText:_s,ZikoUISupText:vs,ZikoUIText:ys,abbrText:js,blockQuote:Rs,codeText:Ms,dfnText:As,h1:Ls,h2:Ps,h3:zs,h4:Fs,h5:Hs,h6:Ns,p:Us,quote:Ts,subText:Os,supText:Cs,text:Es});class Bs extends gs{constructor(t){super("li","li"),this.append(t)}get isLi(){return!0}}class Vs extends gs{constructor(t,e){super(t,e),delete this.append,this.style({listStylePosition:"inside"})}get isList(){return!0}append(...t){for(let e=0;e<t.length;e++){let s=null;["string","number"].includes(typeof t[e])&&(t[e]=Es(t[e])),t[e]instanceof gs&&(s=new Bs(t[e])),s.setTarget(this.element),this.items.push(s[0]),this.maintain()}}remove(...t){if(0==t.length)this.target.children.length&&this.target.removeChild(this.element);else{const e=t=>{"number"==typeof t&&(t=this.items[t]),t instanceof gs&&this.element?.removeChild(t.parent.element),this.items=this.items.filter((e=>e!==t))};for(let s=0;s<t.length;s++)e(t[s]);for(let t=0;t<this.items.length;t++)Object.assign(this,{[[t]]:this.items[t]})}return this}insertAt(t,...e){if(t>=this.element.children.length)this.append(...e);else for(let s=0;s<e.length;s++){let r=null;["number","string"].includes(typeof e[s])&&(e[s]=Es(e[s])),e[s]instanceof gs&&(r=new Bs(e[s])),this.element?.insertBefore(r.element,this.items[t].parent.element),this.items.splice(t,0,e[s][0])}return this}filterByTextContent(t,e=!1){return this.items.map((t=>t.parent.render())),this.items.filter((s=>{const r=s.element.textContent;return!(e?r===t:r.includes(t))})).map((t=>t.parent.render(!1))),this}sortByTextContent(t=1){return this.items.map((t=>t.parent.render(!1))),this.sortedItems=this.items.sort(((e,s)=>t*e.element.textContent.localeCompare(s.element.textContent))),this.append(...this.sortedItems),this}filterByClass(t){return this.items.map((t=>t.parent.render(!0))),this.items.filter((e=>!e.Classes.includes(t))).map((t=>t.parent.render(!1))),this}delete(t){return[...this.element.children].indexOf(t)}push(){}pop(){}unshift(){}shift(){}sort(){}filter(){}slice(){}}class qs extends Vs{constructor(...t){super("ol","ol"),this.append(...t)}get isOl(){return!0}type(t=1){return this.element?.setAttribute("type",t),this}start(t=1){return this.element?.setAttribute("start",t),this}}class Ws extends Vs{constructor(...t){super("ul","ul"),this.append(...t)}get isUl(){return!0}}const Ys=t=>new Bs(t),Gs=(...t)=>new qs(...t),Xs=(...t)=>new Ws(...t);var Ks=Object.freeze({__proto__:null,li:Ys,ol:Gs,ul:Xs});class Qs extends gs{constructor(t,e,s="",r){super("input","input"),Object.assign(this.events,{input:null}),this.setValue(s),this.setAttr("type",t),this.setAttr("name",e),r&&this.linkDatalist(r)}get isInput(){return!0}setName(t){return this.setAttr("name",t),this}onInput(...t){return this.events.input||(this.events.input=Ae(this)),this.events.input.onInput(...t),this}onChange(...t){return this.events.input||(this.events.input=Ae(this)),this.events.input.onChange(...t),this}linkDatalist(t){let e;if(t instanceof ZikoUIInputDatalist)e=t.Id;else if(t instanceof Array){const s=new ZikoUIInputDatalist(...t);e=s.Id,console.log(s)}else e=t;return this.element?.setAttribute("list",e),this}get value(){return this.element.value}setValue(t=""){return this.element.value=t,this}useState(t){return this.setValue(t),[{value:this.value},t=>this.setValue(t)]}setPlaceholder(t){return t&&(this.element.placeholder=t),this}get isValide(){return this.element.checkValidity()}setRequired(t=!0){return this.element.required=t,this}select(){return this.element.select(),this}copy(){return this.element.select(),document.execCommand("copy"),this}cut(){return this.element.select(),document.execCommand("cut"),this}accept(t){return this.element.accept=t,this}}const Js=(t,e)=>{if(t instanceof Object){const{datalist:e,placeholder:s}=t;return t=t.value??"",new Qs("text","input",t,e).setPlaceholder(s)}return new Qs("text","input",t,e)};class tr extends Qs{constructor(t,e,s=1){super("number","inpuNumber"),this.setMin(t).setMax(e).setStep(s)}get isInputNumber(){return!0}get value(){return+this.element.value}setMin(t){return this.element.min=t,this}setMax(t){return this.element.max=t,this}setStep(t){return this.element.step=t,this}}const er=(t,e,s)=>{if(t instanceof Object){const{value:e,max:s=10,step:r=1,placeholder:i=""}=t;return t=t?.min??0,new ZikoUIInputSlider(t,s,r).setValue(e).setPlaceholder(i)}return new tr(t,e,s)};let sr=class extends Qs{constructor(t=0,e=0,s=10,r=1){super("range","inputSlider"),this.setMin(e).setMax(s).setValue(t).setStep(r)}get isInputSlider(){return!0}setMin(t){return this.element.min=t,this}setMax(t){return this.element.max=t,this}setStep(t){return this.element.step=t,this}};const rr=(t,e,s,r)=>{if(t instanceof Object){const{min:e=0,max:s=10,step:r=1}=t;return new sr(t=t?.value??5,e,s,r)}return new sr(t,e,s,r)};class ir extends Qs{constructor(){super("color","inputColor"),this.background(this.value),this.onInput((()=>this.background(this.value)))}get isInputColor(){return!0}}const nr=()=>new ir;class ar extends Qs{constructor(){super("search","inputSearch"),this.Length=0}get isInputSearch(){return!0}onsearch(t){return this.element?.addEventListener("search",(()=>t())),this}connect(...t){return this}displayLength(t){return this.element?.addEventListener("keyup",(()=>t.setValue(this.Length))),this}}const or=(...t)=>(new ar).connect(...t);class hr extends Qs{constructor(){super("checkbox","inputCheckbox"),this.cursor("pointer")}get isInputCheckbox(){return!0}get checked(){return this.element.checked}check(t=!0){return this.element.checked=t,this}color(t){return this.element.style.accentColor=t,this}}const cr=()=>new hr;class lr extends Qs{constructor(){super("radio","inputRadio"),this.cursor("pointer")}get isInputRadio(){return!0}get checked(){return this.element.checked}check(t=!0){return this.element.checked=t,this}color(t){return this.element.style.accentColor=t,this}}const ur=()=>new lr;class mr extends Qs{constructor(){super("email","inputEmail")}get isInputEmail(){return!0}}const pr=()=>new mr;class dr extends Qs{constructor(){super("password","inputPassword")}get isInputPassword(){return!0}}const fr=()=>new dr;class gr extends Qs{constructor(){super("date","inputDate")}get isInputDate(){return!0}}const br=()=>new gr;class yr extends Qs{constructor(){super("time","inputTime")}get isInputTime(){return!0}}const wr=()=>new yr;class xr extends Qs{constructor(){super("datetime-local","inputDateTime")}get isInputDateTime(){return!0}}const vr=()=>new xr;class _r extends gs{constructor(t,e){super("div",""),this.element.append("svg"===e?function(t){if(globalThis?.DOMParser){return(new DOMParser).parseFromString(t.replace(/\s+/g," ").trim(),"image/svg+xml").documentElement}}(t):function(t){if(globalThis?.DOMParser){const e=(new DOMParser).parseFromString(`<div>${t}</div>`,"text/html");return e.body.firstChild.style.display="contents",e.body.firstChild}}(t))}}class kr extends _r{constructor(t){super(t,"html")}}class Ir extends _r{constructor(t){super(t,"svg")}}const Er=t=>new kr(t),Tr=t=>new Ir(t);class Ar extends gs{constructor(t,e){super("div","suspense"),this.setAttr({dataTemp:"suspense"}),this.fallback_ui=t,this.append(t),(async()=>{try{const s=await e();t.unrender(),this.append(s)}catch(t){console.log({error:t})}})()}}const Cr=(t,e)=>new Ar(t,e),Or=(t,e,s,...r)=>{const{name:i,style:n,...a}=s;let o=new gs(t,i,e);return n&&o.style(n),a&&o.setAttr(a),r&&o.append(...r),o},Mr=(t,e={},...s)=>Or(t,"html",e,...s),jr=(t,e={},...s)=>Or(t,"svg",e,...s),Sr=["a","abb","address","area","article","aside","audio","b","base","bdi","bdo","blockquote","br","button","canvas","caption","cite","code","col","colgroup","data","datalist","dd","del","details","dfn","dialog","div","dl","dt","em","embed","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","hr","i","iframe","img","ipnut","ins","kbd","label","legend","li","main","map","mark","menu","meter","nav","object","ol","optgroup","option","output","p","param","picture","pre","progress","q","rp","rt","ruby","s","samp","search","section","select","small","source","span","strong","sub","summary","sup","svg","table","tbody","td","template","textarea","tfoot","th","thead","time","title","tr","track","u","ul","var","video","wbr"].reduce(((t,e)=>(t[e]=(t,...s)=>Mr(e,t,...s),t)),{}),Zr=["svg","g","defs","symbol","use","image","switch","rect","circle","ellipse","line","polyline","polygon","path","text","tspan","textPath","altGlyph","altGlyphDef","altGlyphItem","glyph","glyphRef","linearGradient","radialGradient","pattern","solidColor","filter","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDropShadow","feFlood","feFuncA","feFuncR","feFuncG","feFuncB","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","feSpecularLighting","feTile","feTurbulence","animate","animateMotion","animateTransform","set","script","desc","title","metadata","foreignObject"].reduce(((t,e)=>(t[e]=(t,...s)=>Mr(e,t,...s),t)),{});class Ur extends gs{constructor(t){super(t,"html")}}class Rr extends gs{constructor(t="button"){super("button","btn"),this.setValue(t),this.st.cursor("pointer"),globalThis.__Ziko__.__Config__.default.render&&this.render()}get isBtn(){return!0}setValue(t){return t instanceof gs?t.setTarget(this.element):(this.element?.appendChild(document.createTextNode("")),this.element.childNodes[0].data=t),this}get value(){return this.element.innerText}toggleValues(...t){let e=(t=t.map((t=>""+t))).indexOf(""+this.value);return-1!=e&&e!=t.length-1?this.setValue(t[e+1]):this.setValue(t[0]),this}}class Dr extends gs{constructor(){super("br","br")}get isBr(){return!0}}class Lr extends gs{constructor(){super("hr","hr"),this.setAttr("role","none")}get isHr(){return!0}}class Pr extends gs{constructor(t){super("a","link"),Object.assign(this.cache,{defaultStyle:{color:"#0275d8",textDecoration:"none"},hoverStyle:{color:"#01447e",textDecoration:"underline"}}),this.setHref(t),this.style(this.cache.defaultStyle),this.onPtrEnter((()=>this.style(this.cache.hoverStyle))),this.onPtrLeave((()=>this.style(this.cache.defaultStyle)))}setHref(t){this.element.href=t}get isLink(){return!0}}const zr=()=>new Dr,Fr=()=>new Lr,Hr=(t=1)=>new Array(t).fill(new Dr),Nr=(t=1)=>new Array(t).fill(new Lr),$r=(t,...e)=>new Pr(t).append(...e),Br=(t,...e)=>new Ur(t).append(...e),Vr=t=>new Rr(t);var qr=Object.freeze({__proto__:null,HTMLWrapper:Er,SVGWrapper:Tr,Suspense:Cr,ZikoUIBr:Dr,ZikoUIHTMLWrapper:kr,ZikoUIHr:Lr,ZikoUIHtmlTag:Ur,ZikoUILink:Pr,ZikoUISVGWrapper:Ir,ZikoUISuspense:Ar,ZikoUIXMLWrapper:_r,br:zr,brs:Hr,btn:Vr,h:Mr,hTags:Sr,hr:Fr,hrs:Nr,html:Br,link:$r,s:jr,sTags:Zr});class Wr extends gs{constructor(t="File"){super("inputImage"),this._aux_element=Vr(t).setTarget(this.target),this.element=document?.createElement("input"),this.element?.setAttribute("type","file"),this.element?.setAttribute("accept","image"),this._aux_element.onClick((()=>this.element.click())),this.element.onChange=this.handleImage.bind(this)}get isInputImage(){return!0}handleImage(t){const e=new FileReader,s=new Image;e.onload=function(t){s.src=t.target.result,console.log(s.src)},e.readAsDataURL(t.target.files[0]),this.img=s}get value(){return this.img}render(t=!0){return t?this.target.appendChild(this._aux_element.element):this.remove(),this}remove(){return this.target.children.length&&this.target.removeChild(this._aux_element.element),this}}const Yr=t=>new Wr(t);class Gr extends gs{constructor(t,e,s,r){super("img","image"),this.value=t,"IMG"===t.nodeName?this.element.setAttribute("src",t.src):this.element?.setAttribute("src",t),"number"==typeof s&&(s+="%"),"number"==typeof r&&(r+="%"),this.setAttr("alt",e),this.style({border:"1px solid black",width:s,height:r})}get isImg(){return!0}updateSrc(t){return this.value=t,this.element.src=t,this}toggleSrc(...t){let e=(t=t.map((t=>""+t))).indexOf(""+this.value);return-1!=e&&e!=t.length-1?this.updateSrc(t[e+1]):this.updateSrc(t[0]),this}alt(t){return this.element.alt=t,this}}const Xr=(t,e,s,r)=>new Gr(t,e,s,r);class Kr extends gs{constructor(t,e){super("figure","figure"),this.img=t.width("100%").element,this.caption=document?.createElement("figcaption"),this.caption.append(e.element),this.element?.append(this.img),this.element?.append(this.caption)}get isFigure(){return!0}}const Qr=(t,e)=>new Kr(t,e);class Jr extends gs{constructor(t,e){super(t,e),this.useControls()}get t(){return this.element.currentTime}useControls(t=!0){return this.element.controls=t,this}enableControls(){return this.element.controls=!0,this}disableControls(){return this.element.controls=!0,this}toggleControls(){return this.element.controls=!this.element.controls,this}play(){return this.element.play(),this}pause(){return this.element.pause(),this}seekTo(t){return this.element.currentTime=t,this}onPlay(){}onPause(){}}class ti extends Jr{constructor(t="",e="100%",s="50vh"){super("video","video"),"VIDEO"===t.nodeName?this.element?.setAttribute("src",t.src):this.element?.setAttribute("src",t),"number"==typeof e&&(e+="%"),"number"==typeof s&&(s+="%"),this.style({width:e,height:s})}get isVideo(){return!0}usePoster(t=""){return this.element.poster=t,this}usePIP(t){return this.element.requestPictureInPicture(t),this}}const ei=(t,e,s)=>new ti(t,e,s);class si extends Jr{constructor(t){super("audio","audio"),this.element?.setAttribute("src",t),this.size("150px","30px")}get isAudio(){return!0}}const ri=t=>new si(t);var ii=Object.freeze({__proto__:null,ZikoUIAudio:si,ZikoUIFigure:Kr,ZikoUIImage:Gr,ZikoUIVideo:ti,audio:ri,figure:Qr,image:Xr,video:ei});class ni extends ti{constructor(){super(),this.element?.setAttribute("src",""),this.constraints={audio:!0,video:{width:1280,height:720}}}get isInputCamera(){return!0}start(){return navigator.mediaDevices.getUserMedia(this.constraints).then((t=>{this.element.srcObject=t,this.element.onloadedmetadata=()=>{this.element.play()}})).catch((function(t){console.log(t.name+": "+t.message)})),this}}const ai=()=>new ni;class oi extends gs{constructor(){super(),this.element=document?.createElement("label")}get isLabel(){return!0}}class hi extends gs{constructor(t=""){super(),this.element=document?.createElement("option"),t instanceof Object&&"value"in t?(this.setValue(t.value),this.setText(t?.text??t.value)):this.setValue(t)}setValue(t=""){return this.element.value=t,this}setText(t=""){return t&&(this.element.textContent=t),this}}let ci=class extends gs{constructor(...t){super(),this.element=document?.createElement("datalist"),this.addOptions(...t).setId("ziko-datalist-id"+dt.string(10))}get isDatalist(){return!0}addOptions(...t){return t.map((t=>this.append(new hi(t)))),this}};const li=(...t)=>new ci(...t);class ui extends gs{constructor(){super(),this.element=document?.createElement("select")}addOptions(...t){return t.map((t=>this.append(new hi(t)))),this}get isSelect(){return!0}}const mi=()=>new ui;class pi extends gs{constructor(){super(),this.element=document?.createElement("textarea")}get value(){return this.element.textContent}get isTextArea(){return!0}}const di=()=>new pi;class fi extends gs{constructor(t="div",e="100%",s="100%"){super(t,"Flex"),this.direction="cols","number"==typeof e&&(e+="%"),"number"==typeof s&&(s+="%"),this.style({width:e,height:s}),this.style({display:"flex"})}get isFlex(){return!0}resp(t,e=!0){return this.wrap(e),this.element.clientWidth<t?this.vertical():this.horizontal(),this}setSpaceAround(){return this.style({justifyContent:"space-around"}),this}setSpaceBetween(){return this.style({justifyContent:"space-between"}),this}setBaseline(){return this.style({alignItems:"baseline"}),this}gap(t){return"row"===this.direction?this.style({columnGap:t}):"column"===this.direction&&this.style({rowGap:t}),this}wrap(t="wrap"){return this.style({flexWrap:"string"==typeof t?t:["no-wrap","wrap","wrap-reverse"][+t]}),this}_justifyContent(t="center"){return this.style({justifyContent:t}),this}vertical(t,e,s=1){return bi.call(this,s),this.style({alignItems:"number"==typeof t?wi.call(this,t):t,justifyContent:"number"==typeof e?xi.call(this,e):e}),this}horizontal(t,e,s=1){return yi.call(this,s),this.style({alignItems:"number"==typeof e?xi.call(this,e):e,justifyContent:"number"==typeof t?wi.call(this,t):t}),this}show(){return this.isHidden=!1,this.style({display:"flex"}),this}}const gi=(...t)=>{let e="div";return"string"==typeof t[0]&&(e=t[0],t.pop()),new fi(e).append(...t)};function bi(t){return 1==t?this.style({flexDirection:"column"}):-1==t&&this.style({flexDirection:"column-reverse"}),this}function yi(t){return 1==t?this.style({flexDirection:"row"}):-1==t&&this.style({flexDirection:"row-reverse"}),this}function wi(t){return"number"==typeof t&&(t=["flex-start","center","flex-end"][t+1]),t}function xi(t){return wi(-t)}var vi=Object.freeze({__proto__:null,Flex:gi,ZikoUIFlex:fi});class _i extends fi{constructor(...t){super("form","Form"),this.append(...t),this.setMethod("POST"),this.setAction("/")}setAction(t="/"){return this.setAttr("action",t),this}setMethod(t="post"){return this.setAttr("method",t),this}get data(){let t=new FormData(this.element);return this.items.forEach((e=>{(e.isInput||e.isSelect||e.isTextarea)&&t.append(e.element.name,e.value)})),t}sendFormData(){return fetch(this.element.action,{method:this.element.method,body:this.data}).then((t=>t.json())).then((t=>console.log(t))).catch((t=>console.error("Error:",t))),this}getByName(t){return this.data.get(t)}}const ki=(...t)=>new _i(...t);var Ii=Object.freeze({__proto__:null,Form:ki,ZikoUIForm:_i,ZikoUIInput:Qs,ZikoUIInputCheckbox:hr,ZikoUIInputColor:ir,ZikoUIInputDatalist:ci,ZikoUIInputDate:gr,ZikoUIInputDateTime:xr,ZikoUIInputEmail:mr,ZikoUIInputImage:Wr,ZikoUIInputNumber:tr,ZikoUIInputOption:hi,ZikoUIInputPassword:dr,ZikoUIInputRadio:lr,ZikoUIInputSearch:ar,ZikoUIInputSlider:sr,ZikoUIInputTime:yr,ZikoUILabel:oi,ZikoUISelect:ui,ZikoUITextArea:pi,checkbox:cr,datalist:li,input:Js,inputCamera:ai,inputColor:nr,inputDate:br,inputDateTime:vr,inputEmail:pr,inputImage:Yr,inputNumber:er,inputPassword:fr,inputTime:wr,radio:ur,search:or,select:mi,slider:rr,textarea:di});class Ei extends gs{constructor(...t){super(),this.element=document?.createElement("Tr"),this.append(...t)}}class Ti extends gs{constructor(...t){super(),this.element=document?.createElement("Td"),this.append(...t)}}class Ai extends gs{constructor(...t){super(),this.element=document?.createElement("Thead"),this.append(...t)}}class Ci extends gs{constructor(...t){super(),this.element=document?.createElement("Tbody"),this.append(...t)}}class Oi extends gs{constructor(t){super(),this.element=document?.createElement("Caption"),this.append(t)}}const Mi=(...t)=>(t=t.map((t=>(t instanceof gs||(t=Es(t)),t))),new Ti(...t)),ji=t=>new Oi(t),Si=t=>{var e=new Array(t.rows).fill(null).map((()=>((...t)=>new Ei(...t))())),s=t.arr.map((t=>t.map((()=>null))));for(let r=0;r<s.length;r++)for(let i=0;i<s[0].length;i++)s[r][i]=Mi(t.arr[r][i]),e[r].append(s[r][i]);return e};class Zi extends gs{constructor(t,{caption:e=null,head:s=null,foot:r=null}={}){super("table","Table"),this.structure={caption:e,head:s,body:null,foot:r},t&&this.fromMatrix(t),e&&this.setCaption(e)}get isTable(){return!0}get caption(){return this.structure.caption}get header(){}get body(){}get footer(){}setCaption(t){return this.removeCaption(),this.structure.caption=ji(t),this.append(this.structure.caption),this}removeCaption(){return this.structure.caption&&this.removeItem(...this.items.filter((t=>t instanceof Oi))),this.structure.caption=null,this}setHeader(...t){return this.tHead=((...t)=>(t=t.map((t=>(t instanceof gs||(t=Mi(t)),t))),new Ai(...UI)))(...t),this.append(this.tHead),this}removeHeader(){return this.removeItem(...this.items.filter((t=>t instanceof Oi))),this}setFooter(t){return this.structure.caption=ji(t),this.append(this.structure.caption),this}removeFooter(){return this.removeItem(...this.items.filter((t=>t instanceof Oi))),this}fromMatrix(t){return this.bodyMatrix=t instanceof Array?An(t):t,this.structure.body&&this.remove(this.structure.body),this.structure.body=((...t)=>new Ci(...t))(),this.append(this.structure.body),this.structure.body.append(...Si(this.bodyMatrix)),this}transpose(){return this.fromMatrix(this.bodyMatrix.T),this}hstack(t){return t instanceof Zi&&(t=t.bodyMatrix),this.fromMatrix(this.bodyMatrix.clone.hstack(t)),this}vstack(t){return t instanceof Zi&&(t=t.bodyMatrix),this.fromMatrix(this.bodyMatrix.clone.vstack(t)),this}slice(t=0,e=0,s=this.bodyMatrix.rows-1,r=this.bodyMatrix.cols-1){return this.fromMatrix(this.bodyMatrix.slice(t,e,s,r)),this}sortByCols(t,e={type:"num",order:"asc"}){return this.fromMatrix(this.bodyMatrix.clone.sortTable(t,e)),this}sortByRows(t,e={type:"num",order:"asc"}){return this.fromMatrix(this.bodyMatrix.T.clone.sortTable(t,e).T),this}filterByRows(t){return this.fromMatrix(this.bodyMatrix.clone.filterByRows(t)),this}filterByCols(t){return this.fromMatrix(this.bodyMatrix.clone.filterByCols(t)),this}forEachRow(t){return this.structure.body.forEach(t),this}forEachItem(t){return this.structure.body.forEach((e=>e.forEach(t))),this}}const Ui=(t,e)=>new Zi(t,e);var Ri=Object.freeze({__proto__:null,Table:Ui});const Di=["Main","Header","Nav","Section","Article","Aside","Footer"],Li={},Pi={};for(let t=0;t<Di.length;t++)Li[`ZikoUI${Di[t]}`]=class extends gs{constructor(){super(Di[t].toLowerCase()),this.style({position:"relative"})}get[`is${Di[t]}`](){return!0}},Pi[Di[t]]=(...e)=>(new Li[`ZikoUI${Di[t]}`]).append(...e);const{Main:zi,Header:Fi,Nav:Hi,Section:Ni,Article:$i,Aside:Bi,Footer:Vi}=Pi,{ZikoUIMain:qi,ZikoUIHeader:Wi,ZikoUINav:Yi,ZikoUISection:Gi,ZikoUIArticle:Xi,ZikoUIAside:Ki,ZikoUIFooter:Qi}=Li;var Ji=Object.freeze({__proto__:null,Article:$i,Aside:Bi,Footer:Vi,Header:Fi,Main:zi,Nav:Hi,Section:Ni,ZikoUIArticle:Xi,ZikoUIAside:Ki,ZikoUIFooter:Qi,ZikoUIHeader:Wi,ZikoUIMain:qi,ZikoUINav:Yi,ZikoUISection:Gi});class tn extends gs{constructor(t="div",e="50vw",s="50vh"){super(t,"Grid"),this.direction="cols","number"==typeof e&&(e+="%"),"number"==typeof s&&(s+="%"),this.style({border:"1px solid black",width:e,height:s}),this.style({display:"grid"})}get isGird(){return!0}columns(t){let e="";for(let s=0;s<t;s++)e=e.concat(" auto");return this.#c(e),this}#c(t="auto auto"){return this.style({gridTemplateColumns:t}),this}gap(t=10,e=t){return"number"==typeof t&&(t+="px"),"number"==typeof e&&(e+="px"),this.style({gridColumnGap:t,gridRowGap:e}),this}}const en=(...t)=>new tn("div").append(...t);var sn=Object.freeze({__proto__:null,Grid:en,ZikoUIGrid:tn});const rn=["a","abb","address","area","article","aside","audio","b","base","bdi","bdo","blockquote","br","button","canvas","caption","cite","code","col","colgroup","data","datalist","dd","del","details","dfn","dialog","div","dl","dt","em","embed","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","hr","i","iframe","img","ipnut","ins","kbd","label","legend","li","main","map","mark","menu","meter","nav","object","ol","optgroup","option","output","p","param","picture","pre","progress","q","rp","rt","ruby","s","samp","search","section","select","small","source","span","strong","sub","summary","sup","svg","table","tbody","td","template","textarea","tfoot","th","thead","time","title","tr","track","u","ul","var","video","wbr"],nn=["svg","g","defs","symbol","use","image","switch","rect","circle","ellipse","line","polyline","polygon","path","text","tspan","textPath","altGlyph","altGlyphDef","altGlyphItem","glyph","glyphRef","linearGradient","radialGradient","pattern","solidColor","filter","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDropShadow","feFlood","feFuncA","feFuncR","feFuncG","feFuncB","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","feSpecularLighting","feTile","feTurbulence","animate","animateMotion","animateTransform","set","script","desc","title","metadata","foreignObject"],an=new Proxy({},{get(t,e){if("string"!=typeof e)return;let s=e.replaceAll("_","-").toLowerCase();return rn.includes(s)?(...t)=>{if(!(t[0]instanceof gs)&&t[0]instanceof Object){let e=t.shift();return console.log(t),new gs(s).setAttr(e).append(...t)}return new gs(s).append(...t)}:nn.includes(s)?(...t)=>new gs(s,"",{el_type:"svg"}).append(...t):(...t)=>{if(!(t[0]instanceof gs)&&t[0]instanceof Object){let e=t.shift();return new gs(s).setAttr(e).append(...t)}return new gs(s).append(...t)}}}),on={...$s,...Ks,...Ii,...ii,...Ri,...Ji,...qr,...vi,...sn,ZikoUIElement:gs},hn=t=>(new XMLSerializer).serializeToString(t),cn=t=>btoa(hn(t)),ln=t=>"data:image/svg+xml;base64,"+cn(t),un=(t,e=!0)=>Xr(ln(t)).render(e),mn=t=>JSON.stringify(I((t=>["number","string","boolean","bigint"].includes(typeof t)?String(t):t instanceof Sn||t instanceof Tn?t.toString():t instanceof Array?dn(t):void 0),t),null," ").replace(/"([^"]+)":/g,"$1:").replace(/: "([^"]+)"/g,": $1"),pn=t=>{if(!Array.isArray(t))return 0;let e=1;for(const s of t)if(Array.isArray(s)){const t=pn(s);t+1>e&&(e=t+1)}return e},dn=t=>{let e=0;return function t(s){let r=pn(s),i=0;return s.some((t=>Array.isArray(t)))&&(e++,i=1),"["+s.map(((r,i)=>["number","string","boolean","bigint"].includes(typeof r)?String(r):r instanceof Sn?r.toString():r instanceof Array?`\n${" ".repeat(e)}${t(r)}${i===s.length-1?"\n":""}`:r instanceof Object?mn(r):void 0))+`${" ".repeat((r+e+1)*i)}]`}(t)},fn=(t,e=0)=>{t=gn(t);let s="";const r=" ".repeat(e);for(let i in t)if("object"==typeof t[i]){s+=`${r}${i} {\n`;const n=t[i];for(let t in n)"object"==typeof n[t]?s+=fn({[t]:n[t]},e+1):s+=`${r} ${t.replace(/[A-Z]/g,(t=>"-"+t.toLowerCase()))}: ${n[t]};\n`;s+=`${r}}\n`}return s};function gn(t){return"object"!=typeof t||null===t?t:Object.keys(t).reduce(((e,s)=>(e[s.trim()]=gn(t[s]),e)),Array.isArray(t)?[]:{})}var bn=Object.freeze({__proto__:null,arr2str:dn,csv2arr:yt,csv2json:vt,csv2matrix:wt,csv2object:xt,csv2sql:_t,json2arr:Et,json2css:fn,json2csv:Tt,json2csvFile:At,json2xml:St,json2xmlFile:Zt,json2yml:Mt,json2ymlFile:jt,obj2str:mn,svg2ascii:cn,svg2img:un,svg2imgUrl:ln,svg2str:hn}),yn=Object.freeze({__proto__:null});const wn={isDigit:/^\d+$/,isURL:/^(https?:\/\/)?([\w\-]+\.)+[\w\-]+(\/[\w\-./?%&=]*)?$/,isHexColor:/^#?([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$/,isIPv4:/^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/,isMACAddress:/^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$/,isDate:/^\d{4}-\d{2}-\d{2}$/};class xn{constructor(t){this.string=t}isDigit(){return wn.isDigit.test(this.string)}static isDigit(t){return new xn(t).isDigit()}isNumber(){return!isNaN(this.string)}static isNumber(t){return new xn(t).isNumber()}isUrl(){return wn.isURL.test(this.string)}static isUrl(t){return new xn(t).isUrl()}isHexColor(){return wn.isHexColor.test(this.string)}static isHexColor(t){return new xn(t).isHexColor()}isIPv4(){return wn.isIPv4.test(this.string)}static isIPv4(t){return new xn(t).isIPv4()}isDate(){return wn.isDate.test(this.string)}static isDate(t){return new xn(t).isDate()}isMACAddress(){return wn.isMACAddress.test(this.string)}static isMACAddress(t){return new xn(t).isMACAddress()}isPascalCase(){if(0===this.string.length)return!1;return/^[A-Z][a-zA-Z0-9]*$/.test(this.string)}static isPascalCase(t){return new xn(t).isPascalCase()}isCamelCase(){if(0===this.string.length)return!1;return/^[a-z][a-zA-Z0-9]*$/.test(this.string)}static isCamelCase(t){return new xn(t).isCamelCase()}isHyphenCase(){return this.string.split("-").length>1}static isHyphenCase(t){return new xn(t).isHyphenCase()}isSnakeCase(){return this.string.split("_").length>1}static isSnakeCase(t){return new xn(t).isSnakeCase()}isPalindrome(){const t=this.string.toLocaleLowerCase();let e,s=t.length;for(e=0;e<s/2;e++)if(t[e]!=t[s-e-1])return!1;return!0}static isPalindrome(t){return new xn(t).isPalindrome()}static isAnagrams(t,e){return t=t.split("").sort(),e=e.split("").sort(),JSON.stringify(t)===JSON.stringify(e)}isIsogram(){return[...new Set(this.string.toLowerCase())].length===this.string.length}static isIsogram(t){return new xn(t).isIsogram()}static camel2hyphencase(t){return t.replace(/[A-Z]/g,(t=>"-"+t.toLowerCase()))}static camel2snakecase(t){return t.replace(/[A-Z]/g,(t=>"_"+t.toLowerCase()))}static camel2pascalcase(t){return t.charAt(0).toUpperCase()+t.slice(1)}static camel2constantcase(t){return t.replace(/[A-Z]/g,(t=>"_"+t)).toUpperCase()}static pascal2snakecase(t){return t.replace(/([A-Z])/g,((t,e)=>e?"_"+t.toLowerCase():t.toLowerCase()))}static pascal2hyphencase(t){return t.replace(/([A-Z])/g,((t,e)=>e?"-"+t.toLowerCase():t.toLowerCase()))}static pascal2camelcase(t){return t.charAt(0).toLowerCase()+t.slice(1)}static pascal2constantcase(t){return t.replace(/([A-Z])/g,((t,e)=>e?"_"+t:t)).toUpperCase()}static snake2camelcase(t){return t.replace(/(_\w)/g,(t=>t[1].toUpperCase()))}static snake2hyphencase(t){return t.replace(/_/g,"-")}static snake2pascalcase(t){return t.split("_").map((t=>t.charAt(0).toUpperCase()+t.slice(1))).join("")}static snake2constantcase(t){return t.toUpperCase()}static hyphen2camelcase(t){return t.replace(/-([a-z])/g,(t=>t[1].toUpperCase()))}static hyphen2snakecase(t){return t.replace(/-/g,"_")}static hyphen2pascalcase(t){return t.split("-").map((t=>t.charAt(0).toUpperCase()+t.slice(1))).join("")}static hyphen2constantcase(t){return t.replace(/-/g,"_").toUpperCase()}static constant2camelcase(t){return t.toLowerCase().replace(/_([a-z])/g,(t=>t[1].toUpperCase()))}static constant2snakecase(t){return t.toLowerCase()}static constant2pascalcase(t){return t.toLowerCase().split("_").map((t=>t.charAt(0).toUpperCase()+t.slice(1))).join("")}static constant2hyphencase(t){return t.toLowerCase().replace(/_/g,"-")}}const vn=t=>t.replace(/\s+/g," "),_n=(t,e)=>t.split("").filter((t=>t==e)).length,kn=(t,e)=>t.split(" ").filter((t=>t==e)).length,In=t=>new xn(t);const En={...bt,...bn,...yn,...Object.freeze({__proto__:null,Str:xn,count:_n,countWords:kn,removeExtraSpace:vn,str:In})};class Tn extends k{constructor(t,e,s=[]){if(super(),t instanceof Tn)this.arr=t.arr,this.rows=t.rows,this.cols=t.cols;else{let r,i,n=[];if(arguments[0]instanceof Array)t=arguments[0].length,e=arguments[0][0].length,n=arguments[0];else for(r=0;r<t;r++)for(n.push([]),n[r].push(new Array(e)),i=0;i<e;i++)n[r][i]=s[r*e+i],null==s[r*e+i]&&(n[r][i]=0);this.rows=t,this.cols=e,this.arr=n}this._maintain()}toString(){return dn(this.arr)}at(t=0,e=void 0){return t<0&&(t=this.rows+t),null==e?this.arr[t]:(e<0&&(e=this.cols+e),this.arr[t][e])}reshape(t,e){if(t*e==this.rows*this.cols)return new Tn(t,e,this.arr.flat(1));console.error("Err")}static eye(t){let e=new Tn(t,t);for(let s=0;s<t;s++)for(let r=0;r<t;r++)e.arr[s][r]=s===r?1:0;return e}get clone(){return new Tn(this.rows,this.cols,this.arr.flat(1))}get size(){return this.rows*this.cols}get shape(){return[this.rows,this.cols]}get reel(){return new Tn(this.cols,this.rows,this.arr.flat(1).reel)}get imag(){return new Tn(this.cols,this.rows,this.arr.flat(1).imag)}_maintain(){for(let t=0;t<this.arr.length;t++)Object.assign(this,{[[t]]:this.arr[t]});return this}get(t=0,e=0){return-1==e?this.arr[t]:-1==t?this.arr.map((t=>t[e])):this.arr[t][e]}set(t=0,e=0,s){if(-1==e)return this.arr[t]=s;if(-1==t){for(let t=0;t<this.cols;t++)this.arr[t][e]=s[t]||0;return this.arr}return this.arr[t][e]=s}get isSquare(){return this.rows/this.cols==1}get isSym(){if(!this.isSquare)return!1;const t=this.T,e=this.clone;return 0==Tn.sub(e,t).max&&0==Tn.sub(e,t).min}get isAntiSym(){if(!this.isSquare)return!1;const t=this.T,e=this.clone;return 0==Tn.add(e,t).max&&0==Tn.add(e,t).min}get isDiag(){if(!this.isSquare)return!1;const t=this.T,e=this.clone,s=Tn.mul(e,t),r=Tn.dot(t,e);return 0==Tn.sub(s,r).max&&0==Tn.sub(s,r).min}get isOrtho(){return!!this.isSquare&&(this.isDiag&&(1==this.det||-1==this.det))}get isIdemp(){if(!this.isSquare)return!1;const t=this.clone,e=Tn.dot(t,t);return 0==Tn.sub(e,t).max&&0==Tn.sub(e,t).min}get T(){let t=[];for(let e=0;e<this.arr[0].length;e++){t[e]=[];for(let s=0;s<this.arr.length;s++)t[e][s]=this.arr[s][e]}return new Tn(this.cols,this.rows,t.flat(1))}get det(){if(!this.isSquare)return new Error("is not square matrix");if(1==this.rows)return this.arr[0][0];function t(t,e){var s=[];for(let e=0;e<t.length;e++)s.push(t[e].slice(0));s.splice(0,1);for(let t=0;t<s.length;t++)s[t].splice(e,1);return s}return function e(s){if(2==s.length)return s.flat(1).some((t=>t instanceof Tn))?void console.warn("Tensors are not completely supported yet ..."):nt.sub(nt.mul(s[0][0],s[1][1]),nt.mul(s[0][1],s[1][0]));for(var r=0,i=0;i<s.length;i++){const n=nt.add(nt.mul(Ln(-1,i),nt.mul(s[0][i],e(t(s,i)))));r=nt.add(r,n)}return r}(this.arr)}get inv(){if(!this.isSquare)return new Error("is not square matrix");if(0===this.det)return"determinat = 0 !!!";let t=function(t){if(t.length!==t[0].length)return;var e=0,s=0,r=0,i=t.length,n=0,a=[],o=[];for(e=0;e<i;e+=1)for(a[a.length]=[],o[o.length]=[],r=0;r<i;r+=1)a[e][r]=e==r?1:0,o[e][r]=t[e][r];for(e=0;e<i;e+=1){if(0==(n=o[e][e])){for(s=e+1;s<i;s+=1)if(0!=o[s][e]){for(r=0;r<i;r++)n=o[e][r],o[e][r]=o[s][r],o[s][r]=n,n=a[e][r],a[e][r]=a[s][r],a[s][r]=n;break}if(0==(n=o[e][e]))return}for(r=0;r<i;r++)o[e][r]=o[e][r]/n,a[e][r]=a[e][r]/n;for(s=0;s<i;s++)if(s!=e)for(n=o[s][e],r=0;r<i;r++)o[s][r]-=n*o[e][r],a[s][r]-=n*a[e][r]}return a}(this.arr);return new Tn(this.rows,this.cols,t.flat(1))}static zeros(t,e){let s=new Tn(t,e);for(let i=0;i<t;i++)for(var r=0;r<e;r++)s.arr[i][r]=0;return s}static ones(t,e){let s=new Tn(t,e);for(let r=0;r<t;r++)for(let t=0;t<e;t++)s.arr[r][t]=1;return s}static nums(t,e,s){let r=new Tn(t,e);for(let i=0;i<t;i++)for(let t=0;t<e;t++)r.arr[i][t]=s;return r}static get rand(){return{int:(t,e,s,r)=>{let i=new Tn(t,e);for(let n=0;n<t;n++)for(let t=0;t<e;t++)i.arr[n][t]=dt.randInt(s,r);return i},bin:(t,e)=>{let s=new Tn(t,e);for(let r=0;r<t;r++)for(let t=0;t<e;t++)s.arr[r][t]=dt.randBin;return s},hex:(t,e)=>{let s=new Tn(t,e);for(let r=0;r<t;r++)for(let t=0;t<e;t++)s.arr[r][t]=dt.randHex;return s},choices:(t,e,s,r)=>{let i=new Tn(t,e);for(let n=0;n<t;n++)for(let t=0;t<e;t++)i.arr[n][t]=dt.choice(s,r);return i},permutation:(t,e,s)=>{}}}static rands(t,e,s=1,r){let i=new Tn(t,e);for(let n=0;n<t;n++)for(let t=0;t<e;t++)i.arr[n][t]=dt.rand(s,r);return i}map(t,e,s,r){return nt.map(this,t,e,s,r)}lerp(t,e){return nt.lerp(this,t,e)}norm(t,e){return nt.norm(this,t,e)}clamp(t,e){return nt.clamp(this,t,e)}static map(t,e,s,r,i){return nt.map(t,e,s,r,i)}static lerp(t,e,s){return nt.lerp(t,e,s)}static norm(t,e,s){return nt.norm(t,e,s)}static clamp(t,e,s){return nt.clamp(An,e,s)}toPrecision(t){for(let e=0;e<this.cols;e++)for(let s=0;s<this.rows;s++)this.arr[e][s]=+this.arr[e][s].toPrecision(t);return this}get toBin(){let t=this.arr.flat(1).toBin;return new Tn(this.rows,this.cols,t)}get toOct(){let t=this.arr.flat(1).toOct;return new Tn(this.rows,this.cols,t)}get toHex(){let t=this.arr.flat(1).toHex;return new Tn(this.rows,this.cols,t)}max2min(){let t=this.arr.flat(1).max2min;return new Tn(this.rows,this.cols,t)}min2max(){let t=this.arr.flat(1).min2max;return new Tn(this.rows,this.cols,t)}sortRows(t=void 0){let e=this.arr.map((e=>e.sort(t))).flat(1);return new Tn(this.rows,this.cols,e)}sortCols(t=void 0){let e=this.T.arr.map((e=>e.sort(t))).flat(1);return new Tn(this.rows,this.cols,e).T}filterByRows(t){var e=this.arr.map((e=>e.map((e=>+(""+e).includes(t))))).map((t=>!!Logic.or(...t))),s=this.arr.filter(((t,s)=>!0===e[s]));return 0===s.length&&s.push([]),console.log(s),new Tn(s)}filterByCols(t){return new Tn(this.T.arr.filter((e=>e.includes(t))))}sortAll(t=void 0){let e=this.arr.flat(1).sort(t);return new Tn(this.rows,this.cols,e)}count(t){return this.arr.flat(1).count(t)}toBase(t){let e=this.arr.flat(1).toBase(t);return new Tn(this.rows,this.cols,e)}#l(t){if(this.rows!==t.rows)return;let e=this.arr;for(let s=0;s<this.rows;s++)for(let r=this.cols;r<this.cols+t.cols;r++)e[s][r]=t.arr[s][r-this.cols];return this.cols+=t.cols,new Tn(this.rows,this.cols,e.flat(1))}hstack(...t){const e=[this,...t].reduce(((t,e)=>t.#l(e)));return Object.assign(this,e),this}static hstack(t,...e){return t.clone.hstack(...e)}#u(t){if(this.cols!==t.cols)return;let e=this.arr;for(let s=this.rows;s<this.rows+t.rows;s++){e[s]=[];for(let r=0;r<this.cols;r++)e[s][r]=t.arr[s-this.rows][r]}return this.rows+=t.rows,new Tn(this.rows,this.cols,e.flat(1))}vstack(...t){const e=[this,...t].reduce(((t,e)=>t.#u(e)));return Object.assign(this,e),this}static vstack(t,...e){return t.clone.vstack(...e)}hqueue(...t){const e=[this,...t].reverse().reduce(((t,e)=>t.#l(e)));return Object.assign(this,e),this}vqueue(...t){const e=[this,...t].reverse().reduce(((t,e)=>t.#u(e)));return Object.assign(this,e),this}static hqueue(t,...e){return t.clone.hqueue(...e)}static vqueue(t,...e){return t.clone.vqueue(...e)}slice(t=0,e=0,s=this.rows-1,r=this.cols-1){let i=s-t,n=r-e,a=new Array(n);for(let s=0;s<i;s++){a[s]=[];for(let r=0;r<n;r++)a[s][r]=this.arr[s+t][r+e]}return new Tn(i,n,a.flat(1))}static slice(t,e=0,s=0,r=this.rows-1,i=this.cols-1){return t.slice(e,s,r,i)}splice(t,e,s,...r){}getRows(t,e=t+1){return this.slice(t,0,e,this.cols)}getCols(t,e=t+1){return this.slice(0,t,this.rows,e)}static getRows(t,e,s=e+1){return t.slice(e,0,s,t.cols)}static getCols(t,e,s=e+1){return t.slice(0,e,t.rows,s)}add(...t){for(let s=0;s<t.length;s++){("number"==typeof t[s]||t[s]instanceof Sn)&&(t[s]=Tn.nums(this.rows,this.cols,t[s]));for(let r=0;r<this.rows;r++)for(var e=0;e<this.cols;e++)this.arr[r][e]=nt.add(this.arr[r][e],t[s].arr[r][e])}return new Tn(this.rows,this.cols,this.arr.flat(1))}sub(...t){for(let s=0;s<t.length;s++){"number"==typeof t[s]&&(t[s]=Tn.nums(this.rows,this.cols,t[s]));for(let r=0;r<this.rows;r++)for(var e=0;e<this.cols;e++)this.arr[r][e]=nt.sub(this.arr[r][e],t[s].arr[r][e])}return new Tn(this.rows,this.cols,this.arr.flat(1))}static add(t,...e){return t.clone.add(...e)}static sub(t,...e){return t.clone.sub(...e)}mul(...t){for(let r=0;r<t.length;r++){"number"==typeof t[r]&&(t[r]=Tn.nums(this.rows,this.cols,t[r]));for(var e=0;e<this.rows;e++)for(var s=0;s<this.cols;s++)this.arr[e][s]=nt.mul(this.arr[e][s],t[r].arr[e][s])}return new Tn(this.rows,this.cols,this.arr.flat(1))}div(...t){for(let s=0;s<t.length;s++){"number"==typeof t[s]&&(t[s]=Tn.nums(this.rows,this.cols,t[s]));for(let r=0;r<this.rows;r++)for(var e=0;e<this.cols;e++)this.arr[r][e]=nt.div(this.arr[r][e],t[s].arr[r][e])}return new Tn(this.rows,this.cols,this.arr.flat(1))}static div(t,...e){return t.clone.div(...e)}static mul(t,...e){return t.clone.mul(...e)}modulo(...t){for(let s=0;s<t.length;s++){"number"==typeof t[s]&&(t[s]=Tn.nums(this.rows,this.cols,t[s]));for(let r=0;r<this.rows;r++)for(var e=0;e<this.cols;e++)this.arr[r][e]=nt.modulo(this.arr[r][e],t[s].arr[r][e])}return new Tn(this.rows,this.cols,this.arr.flat(1))}static modulo(t,...e){return t.clone.modulo(...e)}dot(t){for(var e=[],s=0;s<this.arr.length;s++){e[s]=[];for(var r=0;r<t.arr[0].length;r++){e[s][r]=0;for(var i=0;i<this.arr[0].length;i++)e[s][r]=nt.add(e[s][r],nt.mul(this.arr[s][i],t.arr[i][r]))}}return new Tn(this.arr.length,t.arr[0].length,e.flat(1))}static dot(t,e){return t.dot(e)}pow(t){let e=this.clone,s=this.clone;for(let r=0;r<t-1;r++)s=s.dot(e);return s}static pow(t,e){return t.clone.pow(e)}get somme(){let t=0;for(let e=0;e<this.rows;e++)for(let s=0;s<this.cols;s++)t+=this.arr[e][s];return t}get DoesItContainComplexNumbers(){return this.arr.flat(1/0).some((t=>t instanceof Sn))}get min(){this.DoesItContainComplexNumbers&&console.error("Complex numbers are not comparable");let t=[];for(let e=0;e<this.rows;e++)t.push(K(...this.arr[e]));return K(...t)}get max(){this.DoesItContainComplexNumbers&&console.error("Complex numbers are not comparable");let t=[];for(let e=0;e<this.rows;e++)t.push(Q(...this.arr[e]));return Q(...t)}get minRows(){this.DoesItContainComplexNumbers&&console.error("Complex numbers are not comparable");let t=[];for(let e=0;e<this.rows;e++)t.push(K(...this.arr[e]));return t}get maxRows(){this.DoesItContainComplexNumbers&&console.error("Complex numbers are not comparable");let t=[];for(let e=0;e<this.rows;e++)t.push(Q(...this.arr[e]));return t}get minCols(){return this.DoesItContainComplexNumbers&&console.error("Complex numbers are not comparable"),this.T.minRows}get maxCols(){return this.DoesItContainComplexNumbers&&console.error("Complex numbers are not comparable"),this.T.maxRows}static fromVector(t){return new Tn(t.length,1,t)}get toArray(){let t=[];for(let e=0;e<this.rows;e++)for(let s=0;s<this.cols;s++)t.push(this.arr[e][s]);return t}get print(){let t="[";for(let e=0;e<this.arr.length;e++)t+=(0!=e?" ":"")+` [${this.arr[e].map((t=>" "+t.toString()+" "))}],\n`;console.log(t.substring(0,t.length-2)+" ]"),document.write(t.substring(0,t.length-2)+" ]")}get table(){console.table(this.arr)}get serialize(){return JSON.stringify(this)}static deserialize(t){"string"==typeof t&&(t=JSON.parse(t));let e=new Tn(t.rows,t.cols);return e.arr=t.arr,e}toTable(){var t=new DocumentFragment,e=new Array(this.rows).fill(null).map((()=>document?.createElement("tr"))),s=this.arr.map((t=>t.map((()=>document?.createElement("td")))));for(let t=0;t<s.length;t++)for(let r=0;r<s[0].length;r++)s[t][r].innerHTML=this.arr[t][r],e[t].appendChild(s[t][r]);return e.map((e=>t.appendChild(e))),t}toGrid(t,e={}){let s=Grid();return s.append(...this.map(t).arr.flat(1).map((t=>t.style(e)))),s.Columns(this.cols),s}sortTable(t=0,{type:e="num",order:s="asc"}={}){var r=this.T.arr.map((t=>t.map(((t,e)=>Object.assign({},{x:t,y:e}))))),i=this.T.arr.map((t=>t.map(((t,e)=>Object.assign({},{x:t,y:e})))));"num"===e?"asc"===s?r[t].sort(((t,e)=>t.x-e.x)):"desc"===s?r[t].sort(((t,e)=>e.x-t.x)):"toggle"===s&&(r[t][0].x>r[t][1].x?r[t].sort(((t,e)=>e.x-t.x)):r[t].sort(((t,e)=>t.x-e.x))):"alpha"===e&&("asc"===s?r[t].sort(((t,e)=>(""+t.x).localeCompare(""+e.x))):"desc"===s&&r[t].sort(((t,e)=>(""+e.x).localeCompare(""+t.x)))),s=r[t].map((t=>t.y));for(let e=0;e<r.length;e++)e!==t&&r[e].map(((t,e)=>t.y=s[e]));for(let e=0;e<r.length;e++)e!==t&&i[e].map(((t,i)=>t.x=r[e][s[i]].x));i[t]=r[t];var n=i.map((t=>t.map((t=>t.x))));return new Tn(n).T}}const An=(t,e,s)=>new Tn(t,e,s),Cn=(...t)=>new Tn(2,2,t),On=(...t)=>new Tn(3,3,t),Mn=(...t)=>new Tn(4,4,t);var jn=Object.freeze({__proto__:null,Matrix:Tn,matrix:An,matrix2:Cn,matrix3:On,matrix4:Mn});class Sn extends k{constructor(t=0,e=0){super(),t instanceof Sn?(this.a=t.a,this.b=t.b):"object"==typeof t?"a"in e&&"b"in t?(this.a=t.a,this.b=t.b):"a"in e&&"z"in t?(this.a=t.a,this.b=Dn(t.z**2-t.a**2)):"a"in e&&"phi"in t?(this.a=t.a,this.b=t.a*$n(t.phi)):"b"in e&&"z"in t?(this.b=t.b,this.a=Dn(t.z**2-t.b**2)):"b"in e&&"phi"in t?(this.b=e,this.a=t.b/$n(t.phi)):"z"in e&&"phi"in t&&(this.a=t.z*Hn(t.phi),this.a=t.z*Nn(t.phi)):"number"==typeof t&&"number"==typeof e&&(this.a=+t.toFixed(32),this.b=+e.toFixed(32))}toString(){let t="";return t=0!==this.a?this.b>=0?`${this.a}+${this.b}*i`:`${this.a}-${Math.abs(this.b)}*i`:this.b>=0?`${this.b}*i`:`-${Math.abs(this.b)}*i`,t}get clone(){return new Sn(this.a,this.b)}get z(){return ma(this.a,this.b)}get phi(){return ha(this.b,this.a)}static Zero(){return new Sn(0,0)}get conj(){return new Sn(this.a,-this.b)}get inv(){return new Sn(this.a/(Ln(this.a,2)+Ln(this.b,2)),-this.b/(Ln(this.a,2)+Ln(this.b,2)))}add(...t){for(let e=0;e<t.length;e++)"number"==typeof t[e]&&(t[e]=new Sn(t[e],0));let e=t.map((t=>t.a)),s=t.map((t=>t.b));return this.a+=+G(...e).toFixed(15),this.b+=+G(...s).toFixed(15),this}sub(...t){for(let e=0;e<t.length;e++)"number"==typeof t[e]&&(t[e]=new Sn(t[e],0));let e=t.map((t=>t.a)),s=t.map((t=>t.b));return this.a-=+G(...e).toFixed(15),this.b-=+G(...s).toFixed(15),this}mul(...t){for(let e=0;e<t.length;e++)"number"==typeof t[e]&&(t[e]=new Sn(t[e],0));let e=+X(this.z,...t.map((t=>t.z))).toFixed(15),s=+G(this.phi,...t.map((t=>t.phi))).toFixed(15);return this.a=+(e*Hn(s).toFixed(15)).toFixed(14),this.b=+(e*Nn(s).toFixed(15)).toFixed(14),this}div(...t){for(let e=0;e<t.length;e++)"number"==typeof t[e]&&(t[e]=new Sn(t[e],0));let e=+(this.z/X(...t.map((t=>t.z)))).toFixed(15),s=+(this.phi-G(...t.map((t=>t.phi)))).toFixed(15);return this.a=+(e*Hn(s).toFixed(15)).toFixed(15),this.b=+(e*Nn(s).toFixed(15)).toFixed(15),this}pow(t){if(aa(t)===t&&t>0){let e=+(this.z**t).toFixed(15),s=+(this.phi*t).toFixed(15);this.a=+(e*Hn(s).toFixed(15)).toFixed(15),this.b=+(e*Nn(s).toFixed(15)).toFixed(15)}return this}static fromExpo(t,e){return new Sn(+(t*Hn(e)).toFixed(13),+(t*Nn(e)).toFixed(13))}get expo(){return[this.z,this.phi]}static add(t,...e){return t.clone.add(...e)}static sub(t,...e){return t.clone.sub(...e)}static mul(t,...e){return t.clone.mul(...e)}static div(t,...e){return t.clone.div(...e)}static pow(t,e){return t.clone.pow(e)}static xpowZ(t){return Zn(t**this.a*Hn(this.b*Fn(t)),t**this.a*Nn(this.b*Fn(t)))}sqrtn(t=2){return Zn(Pn(this.z,t)*Hn(this.phi/t),Pn(this.z,t)*Nn(this.phi/t))}get sqrt(){return this.sqrtn(2)}get log(){return Zn(this.z,this.phi)}get cos(){return Zn(Hn(this.a)*Qn(this.b),Nn(this.a)*Jn(this.b))}get sin(){return Zn(Nn(this.a)*Qn(this.b),Hn(this.a)*Jn(this.b))}get tan(){const t=Hn(2*this.a)+Qn(2*this.b);return Zn(Nn(2*this.a)/t,Jn(2*this.b)/t)}printInConsole(){let t=this.a+" + "+this.b+" * i";return console.log(t),t}print(){}UI(){return"<span>"+this.a+" + i * "+this.b+"</span>"}}const Zn=(t,e)=>{if((t instanceof Array||ArrayBuffer.isView(t))&&(e instanceof Array||ArrayBuffer.isView(t)))return t.map(((s,r)=>Zn(t[r],e[r])));if(t instanceof Tn&&e instanceof Tn){if(t.shape[0]!==e.shape[0]||t.shape[1]!==e.shape[1])return Error(0);const s=t.arr.map(((s,r)=>Zn(t.arr[r],e.arr[r])));return new Tn(t.rows,t.cols,...s)}return new Sn(t,e)};var Un=Object.freeze({__proto__:null,Complex:Sn,complex:Zn});const Rn=(...t)=>I(Math.abs,...t),Dn=(...t)=>I(Math.sqrt,...t),Ln=(t,e)=>{if("number"==typeof t)return"number"==typeof e?Math.pow(t,e):e instanceof Sn?Sn.fromExpo(t**e.a,e.b*Fn(t)):I((e=>Ln(t,e)),...e);if(t instanceof Sn)return"number"==typeof e?Sn.fromExpo(t.z**e,t.phi*e):e instanceof Sn?Sn.fromExpo(t.z**e.a*zn(-t.phi*e.b),Fn(t.z)*e.b+e.a*t.phi):I((e=>Ln(t,e)),...e);if(t instanceof Array){if("number"==typeof e)return I((t=>Ln(t,e)),...t);if(e instanceof Array){const s=[];for(let r=0;r<t.length;r++)s.push(I((e=>Ln(t[r],e)),...e));return s}}},Pn=(t,e)=>{if("number"==typeof t)return"number"==typeof e?Math.pow(t,1/e):I((e=>Pn(t,e)),...e);if(t instanceof Sn)return"number"==typeof e?Sn.fromExpo(Pn(t.z,e),t.phi/e):I((e=>Pn(t,e)),...e);if(t instanceof Array){if("number"==typeof e)return I((t=>Pn(t,e)),...t);if(e instanceof Array){const s=[];for(let r=0;r<t.length;r++)s.push(I((e=>Pn(t[r],e)),...e));return s}}},zn=(...t)=>I(Math.exp,...t),Fn=(...t)=>I(Math.log,...t),Hn=(...t)=>I(_.cos,...t),Nn=(...t)=>I(_.sin,...t),$n=(...t)=>I(_.tan,...t),Bn=(...t)=>I(_.sec,...t),Vn=(...t)=>I(_.sinc,...t),qn=(...t)=>I(_.csc,...t),Wn=(...t)=>I(_.cot,...t),Yn=(...t)=>I(_.acos,...t),Gn=(...t)=>I(_.asin,...t),Xn=(...t)=>I(_.atan,...t),Kn=(...t)=>I(_.acot,...t),Qn=(...t)=>I(_.cosh,...t),Jn=(...t)=>I(_.sinh,...t),ta=(...t)=>I(_.tanh,...t),ea=(...t)=>I(_.coth,...t),sa=(...t)=>I(_.acosh,...t),ra=(...t)=>I(_.asinh,...t),ia=(...t)=>I(_.atanh,...t),na=(...t)=>I(Math.ceil,...t),aa=(...t)=>I(Math.floor,...t),oa=(...t)=>I(Math.round,...t),ha=(t,e,s=!0)=>{if("number"==typeof t)return"number"==typeof e?s?Math.atan2(t,e):180*Math.atan2(t,e)/Math.PI:I((e=>ha(t,e,s)),...e);if(t instanceof Array){if("number"==typeof e)return I((t=>ha(t,e,s)),...t);if(e instanceof Array){const s=[];for(let r=0;r<t.length;r++)s.push(I((e=>Ln(t[r],e)),...e));return s}}},ca=(...t)=>I((t=>{let e,s=1;if(0==t)s=1;else if(t>0)for(e=1;e<=t;e++)s*=e;else s=NaN;return s}),...t),la=(...t)=>I(Math.sign,...t),ua=(...t)=>I((t=>1/(1+zn(-t))),...t),ma=(...t)=>t.every((t=>"number"==typeof t))?Math.hypot(...t):t.every((t=>t instanceof Array))?I(Math.hypot,...t):void 0;const pa={...n,...Object.freeze({__proto__:null,abs:Rn,acos:Yn,acosh:sa,acot:Kn,asin:Gn,asinh:ra,atan:Xn,atan2:ha,atanh:ia,ceil:na,cos:Hn,cosh:Qn,cot:Wn,coth:ea,csc:qn,e:zn,fact:ca,floor:aa,hypot:ma,ln:Fn,max:Q,min:K,pow:Ln,round:oa,sec:Bn,sig:ua,sign:la,sin:Nn,sinc:Vn,sinh:Jn,sqrt:Dn,sqrtn:Pn,tan:$n,tanh:ta}),...Un,...jn,...ft,...at,...pt};class da{constructor(t,e=1e3/30,s=0,r=1/0,i=!0){this.callback=t,this.cache={isRunning:!1,AnimationId:null,t0:null,step:e,startTime:s,endTime:r,started:i},this.init(),this.i=0}init(){return this.cache.started&&(this.cache.startTime?this.startAfter(this.cache.startTime):this.start(),this.cache.endTime&&this.cache.endTime!==1/0&&this.stopAfter(this.cache.endTime)),this}start(){return this.cache.isRunning||(this.i=0,this.cache.isRunning=!0,this.cache.t0=Date.now(),this.animate()),this}pause(){return this.cache.isRunning&&(clearTimeout(this.cache.AnimationId),this.cache.isRunning=!1),this}stop(){return this.pause(),this.i=0,this}resume(){return this.cache.isRunning=!0,this.animate(),this}startAfter(t=1e3){return setTimeout(this.start.bind(this),t),this}stopAfter(t=1e3){return setTimeout(this.stop.bind(this),t),this}animate=()=>{if(this.cache.isRunning){const t=Date.now(),e=t-this.cache.t0;e>this.cache.step&&(this.callback(this),this.i++,this.cache.t0=t-e%this.cache.step),this.cache.AnimationId=setTimeout(this.animate,0)}}}const fa=t=>1e3/t,ga=(t,e,s,r,i)=>new da(t,e,s,r,i);var ba=Object.freeze({__proto__:null,useFps:fa,useTimeLoop:ga});const ya={Linear:function(t){return t},InSin:t=>1-Math.cos(t*Math.PI/2),OutSin:t=>Math.sin(t*Math.PI/2),InOutSin:t=>-(Math.cos(Math.PI*t)-1)/2,InQuad:t=>t**2,OutQuad:t=>1-Math.pow(1-t,2),InOutQuad:t=>t<.5?2*Math.pow(t,2):1-Math.pow(-2*t+2,2)/2,InCubic:t=>t**3,OutCubic:t=>1-Math.pow(1-t,3),InOutCubic:t=>t<.5?4*Math.pow(t,3):1-Math.pow(-2*t+2,3)/2,InQuart:t=>t**4,OutQuart:t=>1-Math.pow(1-t,4),InOutQuart:t=>t<.5?8*Math.pow(t,4):1-Math.pow(-2*t+2,4)/2,InQuint:t=>t**5,OutQuint:t=>1-Math.pow(1-t,5),InOutQuint:t=>t<.5?16*Math.pow(t,5):1-Math.pow(-2*t+2,5)/2,InExpo:t=>0===t?0:Math.pow(2,10*t-10),OutExpo:t=>1===t?1:1-Math.pow(2,-10*t),InOutExpo:t=>0===t?0:1===t?1:t<.5?Math.pow(2,20*t-10)/2:(2-Math.pow(2,-20*t+10))/2,InCirc:t=>1-Math.sqrt(1-Math.pow(t,2)),OutCirc:t=>Math.sqrt(1-Math.pow(t-1,2)),InOutCic:t=>t<.5?(1-Math.sqrt(1-Math.pow(2*t,2)))/2:(Math.sqrt(1-Math.pow(-2*t+2,2))+1)/2,Arc:t=>1-Math.sin(Math.acos(t)),Back:t=>Math.pow(t,2)*(2*t-1),Elastic:t=>-2*Math.pow(2,10*(t-1))*Math.cos(20*Math.PI*t/3*t),InBack(t){const e=1.70158;return 2.70158*Math.pow(t,3)-e*t**2},OutBack(t){const e=1.70158;return 1+2.70158*Math.pow(t-1,3)+e*Math.pow(t-1,2)},InOutBack(t){const e=2.5949095;return t<.5?Math.pow(2*t,2)*(7.189819*t-e)/2:(Math.pow(2*t-2,2)*((e+1)*(2*t-2)+e)+2)/2},InElastic(t){const e=2*Math.PI/3;return 0===t?0:1===t?1:-Math.pow(2,10*t-10)*Math.sin((10*t-10.75)*e)},OutElastic(t){const e=2*Math.PI/3;return 0===t?0:1===t?1:Math.pow(2,-10*t)*Math.sin((10*t-.75)*e)+1},InOutElastic(t){const e=2*Math.PI/4.5;return 0===t?0:1===t?1:t<.5?-Math.pow(2,20*t-10)*Math.sin((20*t-11.125)*e)/2:Math.pow(2,-20*t+10)*Math.sin((20*t-11.125)*e)/2+1},InBounce:t=>1-ya.OutBounce(1-t),OutBounce(t){const e=7.5625,s=2.75;return t<1/s?e*t*t:t<2/s?e*(t-=1.5/s)*t+.75:t<2.5/s?e*(t-=2.25/s)*t+.9375:e*(t-=2.625/s)*t+.984375},InOutBounce:t=>t<.5?(1-ya.OutBounce(1-2*t))/2:(1+ya.OutBounce(2*t-1))/2},wa=t=>{const e=Date.now(),s=performance.memory.usedJSHeapSize,r=t();return{elapsedTime:Date.now()-e,usedMemory:performance.memory.usedJSHeapSize-s,result:r}},xa=t=>new Promise((e=>{if(t.element)return e(t.element);const s=new MutationObserver((()=>{t.element&&(e(t.element),s.disconnect())}));s.observe(document?.body,{childList:!0,subtree:!0})})),va=(t,e=2e3)=>{const s=Date.now();for(;Date.now()-s<e;)if(t.element)return t.element},_a=t=>new Promise((e=>setTimeout(e,t))),ka=t=>{console.time("timeTaken");const e=t();return console.timeEnd("timeTaken"),e};var Ia=Object.freeze({__proto__:null,Ease:ya,timeTaken:ka,time_memory_Taken:wa,useDebounce:(t,e=1e3)=>(...s)=>setTimeout((()=>t(...s)),e),useThrottle:(t,e)=>{let s=0;return(...r)=>{const i=(new Date).getTime();i-s<e||(s=i,t(...r))}},wait:_a,waitForUIElm:xa,waitForUIElmSync:va});class Ea{constructor(t,e=ya.Linear,s=50,{t:r=[0,null],start:i=!0,duration:n=3e3}={}){this.cache={isRunning:!1,AnimationId:null,startTime:null,ease:e,step:s,intervall:r,started:i,duration:n},this.t=0,this.tx=0,this.ty=0,this.i=0,this.callback=t}#m(){this.t+=this.cache.step,this.i++,this.tx=H(this.t,0,this.cache.duration,0,1),this.ty=this.cache.ease(this.tx),this.callback(this),this.t>=this.cache.duration&&(clearInterval(this.cache.AnimationId),this.cache.isRunning=!1)}reset(t=!0){return this.t=0,this.tx=0,this.ty=0,this.i=0,t&&this.start(),this}#p(t=!0){return this.cache.isRunning||(t&&this.reset(!1),this.cache.isRunning=!0,this.cache.startTime=Date.now(),this.cache.AnimationId=setInterval(this.#m.bind(this),this.cache.step)),this}start(){return this.#p(!0),this}pause(){return this.cache.isRunning&&(clearTimeout(this.cache.AnimationId),this.cache.isRunning=!1),this}resume(){return this.#p(!1),this}stop(){return this.pause(),this.reset(!1),this}}const Ta={...ba,...ba,...Ia};class Aa extends gs{constructor(t=360,e=300){super("svg","svg"),this.style({border:"1px black solid"}),this.size(t,e),this.view(-10,-10,10,10)}size(t,e){return this.setAttr({width:t,height:e}),this}view(t,e,s,r){let i=Math.abs(s-t),n=Math.abs(r-e);return this.setAttr("viewBox",[t,e,i,n].join(" ")),this.st.scaleY(-1),this}add(...t){for(let e=0;e<t.length;e++)this.element.append(t[e].element),this.items.push(t[e]);return this.maintain(),this}remove(...t){for(let e=0;e<t.length;e++)this.element?.removeChild(t[e].element),this.items=this.items.filter((e=>!t));return this.maintain(),this}mask(){}toString(){return(new XMLSerializer).serializeToString(this.element)}btoa(){return btoa(this.toString())}toImg(){return"data:image/svg+xml;base64,"+this.btoa()}toImg2(){return"data:image/svg+xml;charset=utf8,"+this.toString().replaceAll("<","%3C").replaceAll(">","%3E").replaceAll("#","%23").replaceAll('"',"'")}}const Ca=(t,e)=>new Aa(t,e);var Oa=Object.freeze({__proto__:null,Svg:Ca,ZikoUISvg:Aa});class Ma extends gs{constructor(t,e){super("canvas","canvas"),this.ctx=this.element?.getContext("2d"),this.style({border:"1px red solid"}),this.transformMatrix=new Tn([[1,0,0],[0,1,0],[0,0,1]]),this.axisMatrix=new Tn([[-10,-10],[10,10]]),requestAnimationFrame((()=>this.resize(t,e)),0),this.on("sizeupdated",(()=>this.adjust()))}get Xmin(){return this.axisMatrix[0][0]}get Ymin(){return this.axisMatrix[0][1]}get Xmax(){return this.axisMatrix[1][0]}get Ymax(){return this.axisMatrix[1][1]}get ImageData(){return this.ctx.getImageData(0,0,c.Width,c.Height)}draw(t=!0){return t?(this.clear(),this.items.forEach((t=>{t.parent=this,t.draw(this.ctx)}))):(this.items.at(-1).parent=this,this.items.at(-1).draw(this.ctx)),this.maintain(),this}applyTransformMatrix(){return this.ctx.setTransform(this.transformMatrix[0][0],this.transformMatrix[1][0],this.transformMatrix[0][1],this.transformMatrix[1][1],this.transformMatrix[0][2],this.transformMatrix[1][2]),this}resize(t,e){return this.size(t,e),this.lineWidth(),this.view(this.axisMatrix[0][0],this.axisMatrix[0][1],this.axisMatrix[1][0],this.axisMatrix[1][1]),this.emit("sizeupdated"),this}adjust(){return this.element.width=this.element?.getBoundingClientRect().width,this.element.height=this.element?.getBoundingClientRect().height,this.view(this.axisMatrix[0][0],this.axisMatrix[0][1],this.axisMatrix[1][0],this.axisMatrix[1][1]),this}view(t,e,s,r){return this.transformMatrix[0][0]=this.width/(s-t),this.transformMatrix[1][1]=-this.height/(r-e),this.transformMatrix[0][2]=this.width/2,this.transformMatrix[1][2]=this.height/2,this.axisMatrix=new Tn([[t,e],[s,r]]),this.applyTransformMatrix(),this.clear(),this.lineWidth(1),this.draw(),this}reset(){return this.ctx.setTransform(1,0,0,0,0,0),this}append(t){return this.items.push(t),this.draw(!1),this}background(t){this.ctx.fillStyle=t,this.ctx.setTransform(1,0,0,1,0,0),this.ctx.fillRect(0,0,this.width,this.height),this.applyTransformMatrix(),this.draw()}lineWidth(t){return this.ctx.lineWidth=t/this.transformMatrix[0][0],this}getImageData(t=0,e=0,s=this.width,r=this.height){return this.ctx.getImageData(t,e,s,r)}clear(){return this.ctx.setTransform(1,0,0,1,0,0),this.ctx.clearRect(0,0,this.width,this.height),this.applyTransformMatrix(),this}clone(){console.log(this.width);const t=new Ma;return t.items=this.items,t.transformMatrix=this.transformMatrix,t.axisMatrix=this.axisMatrix,Object.assign(t.cache,{...this.cache}),this.size(this.element.style.width,this.element.style.width),this.applyTransformMatrix(),this.draw(),this.adjust(),t}toImage(){return this.img=document?.createElement("img"),this.img.src=this.element?.toDataURL("image/png"),this}toBlob(){this.element.toBlob((function(t){var e=document?.createElement("img"),s=URL.createObjectURL(t);e.onload=function(){URL.revokeObjectURL(s)},e.src=s,console.log(e)}))}zoomIn(){}zoomOut(){}undo(t){}redo(t){}stream(){}}const ja=(t,e)=>new Ma(t,e);const Sa={...Oa,...Object.freeze({__proto__:null,Canvas:ja,ZikoUICanvas:Ma})};class Za{constructor(t,e=!0){this.#n(),this.cache={Emitter:null},e&&this.useEventEmitter(),this.set(t)}#n(){return this.__FavIcon__=document.querySelector("link[rel*='icon']")||document?.createElement("link"),this.__FavIcon__.type="image/x-icon",this.__FavIcon__.rel="shortcut icon",this}set(t){return t!==this.__FavIcon__.href&&(this.__FavIcon__.href=t,this.cache.Emitter&&this.cache.Emitter.emit("ziko:favicon-changed")),this}get current(){return document.__FavIcon__.href}onChange(t){return this.cache.Emitter&&this.cache.Emitter.on("ziko:favicon-changed",t),this}useEventEmitter(){return this.cache.Emitter=Je(),this}}class Ua{constructor({viewport:t,charset:e,description:s,author:r,keywords:i}){this.document=globalThis?.document,this.meta={},this.init({viewport:t,charset:e,description:s,author:r,keywords:i})}init({viewport:t,charset:e,description:s,author:r,keywords:i}){t&&this.setViewport(t),e&&this.setCharset(e),s&&this.describe(s),r&&this.setAuthor(r),i&&this.setKeywords(i)}set(t,e){const s="charset"===(t=t.toLowerCase()),r=s?document.querySelector("meta[charset]"):document.querySelector(`meta[name=${t}]`);return this.meta=r??document?.createElement("meta"),s?this.meta.setAttribute("charset",e):(this.meta.setAttribute("name",t),this.meta.setAttribute("content",e)),r||this.document.head.append(this.meta),this}setCharset(t="utf-8"){return this.set("charset",t),this}describe(t){return this.set("description",t),this}setViewport(t="width=device-width, initial-scale=1.0"){return this.set("viewport",t),this}setKeywords(...t){return t=[...new Set(t)].join(", "),this.set("keywords",t),this}setAuthor(t){return this.set("author",t),this}}class Ra{constructor(t=document.title,e=!0){this.cache={Emitter:null},e&&this.useEventEmitter(),this.set(t)}useEventEmitter(){return this.cache.Emitter=Je(),this}set(t){return t!==document.title&&(document.title=t,this.cache.Emitter&&this.cache.Emitter.emit("ziko:title-changed")),this}get current(){return document.title}onChange(t){return this.cache.Emitter&&this.cache.Emitter.on("ziko:title-changed",t),this}}class Da{constructor({title:t,lang:e,icon:s,meta:r,noscript:i}){this.html=globalThis?.document?.documentElement,this.head=globalThis?.document?.head,t&&((t,e)=>{new Ra(t,e)})(t),e&&this.setLang(e),s&&((t,e)=>{new Za(t,e)})(s),r&&(({viewport:t,charset:e,description:s,author:r,keywords:i})=>{new Ua({viewport:t,charset:e,description:s,author:r,keywords:i})})(r),i&&this.setNoScript()}setLang(t){this.html.setAttribute("lang",t)}setNoScript(t){}}class La{constructor({head:t=null,wrapper:e=null,target:s=null}){this.head=t,this.wrapper=e,this.target=s,this.init()}get isZikoApp(){return!0}init(){this.head&&this.setHead(this.head),this.wrapper&&this.setWrapper(this.wrapper),this.target&&this.setTarget(this.target),this.wrapper&&this.target&&this.wrapper.render(this.target)}setTarget(t){return t instanceof HTMLElement?this.target=t:"string"==typeof t&&(this.target=globalThis?.document?.querySelector(t)),this}setWrapper(t){return t?.isZikoUIElement?this.wrapper=t:"function"==typeof t&&(this.wrapper=t()),this}setHead(t){return this.head=t instanceof Da?t:(({title:t,lang:e,icon:s,meta:r,noscript:i})=>new Da({title:t,lang:e,icon:s,meta:r,noscript:i}))(t),this}}const Pa=({head:t,wrapper:e,target:s})=>new La({head:t,wrapper:e,target:s});var za=Object.freeze({__proto__:null,App:Pa,ZikoApp:La});function Fa(t){return/:\w+/.test(t)}class Ha extends La{constructor({head:t,wrapper:e,target:s,routes:r}){super({head:t,wrapper:e,target:s}),this.routes=new Map([["404",Es("Error 404")],...Object.entries(r)]),this.clear(),globalThis.onpopstate=this.render(location.pathname)}clear(){return[...this.routes].forEach((t=>{!Fa(t[0])&&t[1]?.isZikoUIElement&&t[1].unrender()})),this}render(t){const[e,s]=[...this.routes].find((e=>function(t,e){const s=t.split("/"),r=e.split("/");if(s.length!==r.length)return!1;for(let t=0;t<s.length;t++){const e=s[t],i=r[t];if(!e.startsWith(":")&&e!==i)return!1}return!0}(e[0],t)));let r;if(Fa(e)){const i=function(t,e){const s=t.split("/"),r=e.split("/"),i={};if(s.length!==r.length)return i;for(let t=0;t<s.length;t++){const e=s[t],n=r[t];if(e.startsWith(":"))i[e.slice(1)]=n;else if(e!==n)return{}}return i}(e,t);r=s.call(this,i)}else s?.isZikoUIElement&&s.render(this.wrapper),"function"==typeof s&&(r=s());return r?.isZikoUIElement&&r.render(this.wrapper),r instanceof Promise&&r.then((t=>t.render(this.wrapper))),globalThis.history.pushState({},"",t),this}}const Na=({head:t,wrapper:e,target:s,routes:r})=>new Ha({head:t,wrapper:e,target:s,routes:r});var $a=Object.freeze({__proto__:null,SPA:Na,ZikoSPA:Ha});function Ba(t){Object.defineProperties(t,{QueryParams:{get:function(){return function(t){const e={};return t.replace(/[A-Z0-9]+?=([\w|:|\/\.]*)/gi,(t=>{const[s,r]=t.split("=");e[s]=r})),e}(globalThis.location.search.substring(1))},configurable:!1,enumerable:!0},HashParams:{get:function(){return globalThis.location.hash.substring(1).split("#")},configurable:!1,enumerable:!0}})}const Va={__all__(){return Object.values(this).filter(Array.isArray).flat()},querySelectorAll(){return this.__all__().filter((t=>t))},getElementByIndex(t){return this.__all__().find((e=>e.ui_index===t))},getElementById:t=>null,getElementsByClass(){},getElementsByTagName(){}},qa={map:new Map,index:0,increment:function(){return this.index++}},Wa=new Map,Ya={default:{target:null,render:!0,math:{mode:"deg"}},setDefault:function(t){const e=Object.keys(t),s=Object.values(t);for(let t=0;t<e.length;t++)this.default[e[t]]=s[t]},init:()=>{},renderingMode:"spa",isSSC:!1},Ga={ui_index:0,get_ui_index:function(){return this.ui_index++}};function Xa(t,e="./src/pages",s=["js","ts"]){"/"===e.at(-1)&&(e=e.slice(0,-1));const r=t.replace(/\\/g,"/").replace(/\[(\w+)\]/g,"$1/:$1").split("/"),i=e.split("/"),n=r.indexOf(i[i.length-1]);if(-1!==n){const t=r.slice(n+1),e=t[t.length-1],i="index.js"===e||"index.ts"===e,a=s.some((t=>e===`.${t}`||e.endsWith(`.${t}`)));if(i)return"/"+(t.length>1?t.slice(0,-1).join("/"):"");if(a)return"/"+t.join("/").replace(/\.(js|ts)$/,"")}return""}const Ka={...za,...$a,...Object.freeze({__proto__:null,__CACHE__:Ga,__Config__:Ya,__HYDRATION_MAP__:Wa,__HYDRATION__:qa,__UI__:Va})};class Qa{constructor(t=""){this.channel=new BroadcastChannel(t),this.EVENTS_DATAS_PAIRS=new Map,this.EVENTS_HANDLERS_PAIRS=new Map,this.LAST_RECEIVED_EVENT="",this.UUID="ziko-channel"+dt.string(10),this.SUBSCRIBERS=new Set([this.UUID])}get broadcast(){return this}emit(t,e){return this.EVENTS_DATAS_PAIRS.set(t,e),this.#d(t),this}on(t,e=console.log){return this.EVENTS_HANDLERS_PAIRS.set(t,e),this.#f(),this}#f(){return this.channel.onmessage=t=>{this.LAST_RECEIVED_EVENT=t.data.last_sended_event;const e=t.data.userId;this.SUBSCRIBERS.add(e);const s=t.data.EVENTS_DATAS_PAIRS.get(this.LAST_RECEIVED_EVENT),r=this.EVENTS_HANDLERS_PAIRS.get(this.LAST_RECEIVED_EVENT);s&&r&&r(s)},this}#d(t){return this.channel.postMessage({EVENTS_DATAS_PAIRS:this.EVENTS_DATAS_PAIRS,last_sended_event:t,userId:this.UUID}),this}close(){return this.channel.close(),this}}const Ja=t=>new Qa(t);class to{constructor(t,e,s){this.cache={storage:t,globalKey:e,channel:Ja(`Ziko:useStorage-${e}`),oldItemKeys:new Set},this.#n(s),this.#g()}get items(){return JSON.parse(this.cache.storage[this.cache.globalKey]??null)}#g(){for(let t in this.items)Object.assign(this,{[[t]]:this.items[t]})}#n(t){this.cache.channel=Ja(`Ziko:useStorage-${this.cache.globalKey}`),this.cache.channel.on("Ziko-Storage-Updated",(()=>this.#g())),t&&(this.cache.storage[this.cache.globalKey]?(Object.keys(this.items).forEach((t=>this.cache.oldItemKeys.add(t))),console.group("Ziko:useStorage"),console.warn(`Storage key '${this.cache.globalKey}' already exists. we will not overwrite it.`),console.info("%cWe'll keep the existing data.","background-color:#2222dd; color:gold;"),console.group("")):this.set(t))}set(t){return this.cache.storage.setItem(this.cache.globalKey,JSON.stringify(t)),this.cache.channel.emit("Ziko-Storage-Updated",{}),Object.keys(t).forEach((t=>this.cache.oldItemKeys.add(t))),this.#g(),this}add(t){const e={...this.items,...t};return this.cache.storage.setItem(this.cache.globalKey,JSON.stringify(e)),this.#g(),this}remove(...t){const e={...this.items};for(let s=0;s<t.length;s++)delete e[t[s]],delete this[t[s]];return this.set(e),this}get(t){return this.items[t]}clear(){return this.cache.storage.removeItem(this.cache.globalKey),this.#g(),this}}class eo{#b;constructor(){this.#b=function(t){try{let e=new Function("return "+t.data.fun)()();postMessage({result:e})}catch(t){postMessage({error:t.message})}finally{t.data.close&&self.close()}}.toString(),this.blob=new Blob(["this.onmessage = "+this.#b],{type:"text/javascript"}),this.worker=new Worker(window.URL.createObjectURL(this.blob))}call(t,e,s=!0){return this.worker.postMessage({fun:t.toString(),close:s}),this.worker.onmessage=function(t){t.data.error?console.error(t.data.error):e(t.data.result)},this}}[Ka,pa,on,Ta,En,fs,Sa].forEach((t=>Object.assign(t,{ExtractAll:()=>(t=>{const e=Object.keys(t);for(let s=0;s<e.length;s++){const r=e[s];["__ExtractAll__","__RemoveAll__","ExtractAll","RemoveAll"].includes(r)||(globalThis[r]=t[r])}})(t),RemoveAll:()=>(t=>{const e=Object.keys(t);for(let t=0;t<e.length;t++){const s=e[t];"__RemoveAll__"!==s&&delete globalThis[s]}})(t)})));const so={App:Ka,Math:pa,UI:on,Time:Ta,Data:En,Reactivity:fs,Graphics:Sa};globalThis.__Ziko__?console.warn("WARNING: Multiple instances of Ziko.js being imported."):(globalThis.__Ziko__={...so,__UI__:Va,__HYDRATION__:qa,__HYDRATION_MAP__:Wa,__Config__:Ya,__CACHE__:Ga,ExtractAll:function(){return on.ExtractAll(),pa.ExtractAll(),Ta.ExtractAll(),fs.ExtractAll(),Sa.ExtractAll(),En.ExtractAll(),this},RemoveAll:function(){on.RemoveAll(),pa.RemoveAll(),Ta.RemoveAll(),fs.RemoveAll(),Sa.RemoveAll(),En.RemoveAll()}},Ba(__Ziko__)),globalThis?.document&&document?.addEventListener("DOMContentLoaded",__Ziko__.__Config__.init()),t.App=Pa,t.Article=$i,t.Aside=Bi,t.Base=ht,t.Canvas=ja,t.Combinaison=ut,t.Complex=Sn,t.E=r,t.EPSILON=i,t.Ease=ya,t.FileBasedRouting=async function(t){const e=Object.keys(t),s=function(t){if(0===t.length)return"";const e=t.map((t=>t.split("/"))),s=Math.min(...e.map((t=>t.length)));let r=[];for(let t=0;t<s;t++){const s=e[0][t];if(!e.every((e=>e[t]===s||e[t].startsWith("["))))break;r.push(s)}return r.join("/")+(r.length?"/":"")}(e),r={};for(let i=0;i<e.length;i++){const n=await t[e[i]](),a=await n.default;Object.assign(r,{[Xa(e[i],s)]:a})}return Na({target:document.body,routes:{"/":()=>{},...r},wrapper:Ni()})},t.Flex=gi,t.Footer=Vi,t.Form=ki,t.Grid=en,t.HTMLWrapper=Er,t.Header=Fi,t.Logic=ct,t.Main=zi,t.Matrix=Tn,t.Nav=Hi,t.PI=s,t.Permutation=lt,t.Random=dt,t.SPA=Na,t.SVGWrapper=Tr,t.Section=Ni,t.Str=xn,t.Suspense=Cr,t.Svg=Ca,t.Table=Ui,t.Utils=nt,t.ZikoApp=La,t.ZikoCustomEvent=Se,t.ZikoEventClick=Ht,t.ZikoEventClipboard=Bt,t.ZikoEventCustom=Wt,t.ZikoEventDrag=Gt,t.ZikoEventFocus=Qt,t.ZikoEventInput=Te,t.ZikoEventKey=re,t.ZikoEventMouse=ae,t.ZikoEventPointer=ce,t.ZikoEventSwipe=Ue,t.ZikoEventTouch=me,t.ZikoEventWheel=de,t.ZikoHead=as,t.ZikoMutationObserver=Pe,t.ZikoSPA=Ha,t.ZikoUIAbbrText=Is,t.ZikoUIArticle=Xi,t.ZikoUIAside=Ki,t.ZikoUIAudio=si,t.ZikoUIBlockQuote=Zs,t.ZikoUIBr=Dr,t.ZikoUICanvas=Ma,t.ZikoUICodeText=ks,t.ZikoUIDefintion=xs,t.ZikoUIElement=gs,t.ZikoUIFigure=Kr,t.ZikoUIFlex=fi,t.ZikoUIFooter=Qi,t.ZikoUIForm=_i,t.ZikoUIGrid=tn,t.ZikoUIHTMLWrapper=kr,t.ZikoUIHeader=Wi,t.ZikoUIHeading=Ds,t.ZikoUIHr=Lr,t.ZikoUIHtmlTag=Ur,t.ZikoUIImage=Gr,t.ZikoUIInput=Qs,t.ZikoUIInputCheckbox=hr,t.ZikoUIInputColor=ir,t.ZikoUIInputDatalist=ci,t.ZikoUIInputDate=gr,t.ZikoUIInputDateTime=xr,t.ZikoUIInputEmail=mr,t.ZikoUIInputImage=Wr,t.ZikoUIInputNumber=tr,t.ZikoUIInputOption=hi,t.ZikoUIInputPassword=dr,t.ZikoUIInputRadio=lr,t.ZikoUIInputSearch=ar,t.ZikoUIInputSlider=sr,t.ZikoUIInputTime=yr,t.ZikoUILabel=oi,t.ZikoUILink=Pr,t.ZikoUIMain=qi,t.ZikoUINav=Yi,t.ZikoUIParagraphe=Ss,t.ZikoUIQuote=ws,t.ZikoUISVGWrapper=Ir,t.ZikoUISection=Gi,t.ZikoUISelect=ui,t.ZikoUISubText=_s,t.ZikoUISupText=vs,t.ZikoUISuspense=Ar,t.ZikoUISvg=Aa,t.ZikoUIText=ys,t.ZikoUITextArea=pi,t.ZikoUIVideo=ti,t.ZikoUIXMLWrapper=_r,t.ZikoUseRoot=ms,t.ZikoUseStyle=hs,t.__CACHE__=Ga,t.__Config__=Ya,t.__HYDRATION_MAP__=Wa,t.__HYDRATION__=qa,t.__UI__=Va,t.__ZikoEvent__=Ft,t.abbrText=js,t.abs=Rn,t.accum=J,t.acos=Yn,t.acosh=sa,t.acot=Kn,t.add=M,t.arange=$,t.arr2str=dn,t.asin=Gn,t.asinh=ra,t.atan=Xn,t.atan2=ha,t.atanh=ia,t.audio=ri,t.bindClickEvent=$t,t.bindClipboardEvent=qt,t.bindCustomEvent=(t,e,s)=>new Wt(t,e,s),t.bindDragEvent=Kt,t.bindFocusEvent=te,t.bindHashEvent=(t,e)=>new ee(t,e),t.bindKeyEvent=ne,t.bindMouseEvent=he,t.bindPointerEvent=ue,t.bindTouchEvent=(t,e)=>new me(t,e),t.bindWheelEvent=ge,t.blockQuote=Rs,t.br=zr,t.brs=Hr,t.btn=Vr,t.cartesianProduct=st,t.ceil=na,t.checkbox=cr,t.clamp=N,t.codeText=Ms,t.combinaison=mt,t.complex=Zn,t.cos=Hn,t.cosh=Qn,t.cot=Wn,t.coth=ea,t.count=_n,t.countWords=kn,t.csc=qn,t.csv2arr=yt,t.csv2json=vt,t.csv2matrix=wt,t.csv2object=xt,t.csv2sql=_t,t.datalist=li,t.default=so,t.defineParamsGetter=Ba,t.deg2rad=W,t.dfnText=As,t.div=Z,t.e=zn,t.fact=ca,t.figure=Qr,t.floor=aa,t.geomspace=q,t.getEvent=Pt,t.h=Mr,t.h1=Ls,t.h2=Ps,t.h3=zs,t.h4=Fs,t.h5=Hs,t.h6=Ns,t.hTags=Sr,t.hr=Fr,t.hrs=Nr,t.html=Br,t.hypot=ma,t.image=Xr,t.inRange=tt,t.input=Js,t.inputCamera=ai,t.inputColor=nr,t.inputDate=br,t.inputDateTime=vr,t.inputEmail=pr,t.inputImage=Yr,t.inputNumber=er,t.inputPassword=fr,t.inputTime=wr,t.isApproximatlyEqual=et,t.json2arr=Et,t.json2css=fn,t.json2csv=Tt,t.json2csvFile=At,t.json2xml=St,t.json2xmlFile=Zt,t.json2yml=Mt,t.json2ymlFile=jt,t.lerp=F,t.li=Ys,t.link=$r,t.linspace=B,t.ln=Fn,t.logspace=V,t.map=H,t.mapfun=I,t.matrix=An,t.matrix2=Cn,t.matrix3=On,t.matrix4=Mn,t.max=Q,t.min=K,t.modulo=U,t.mul=S,t.norm=P,t.nums=L,t.obj2str=mn,t.ol=Gs,t.ones=D,t.p=Us,t.pgcd=rt,t.pow=Ln,t.powerSet=ot,t.ppcm=it,t.preload=gt,t.prod=X,t.quote=Ts,t.rad2deg=Y,t.radio=ur,t.removeExtraSpace=vn,t.round=oa,t.s=jr,t.sTags=Zr,t.search=or,t.sec=Bn,t.select=mi,t.sig=ua,t.sign=la,t.sin=Nn,t.sinc=Vn,t.sinh=Jn,t.slider=rr,t.sqrt=Dn,t.sqrtn=Pn,t.str=In,t.sub=j,t.subSet=null,t.subText=Os,t.sum=G,t.supText=Cs,t.svg2ascii=cn,t.svg2img=un,t.svg2imgUrl=ln,t.svg2str=hn,t.tags=an,t.tan=$n,t.tanh=ta,t.text=Es,t.textarea=di,t.timeTaken=ka,t.time_memory_Taken=wa,t.ul=Xs,t.useAnimation=(t,e=ya.Linear,s=50,r)=>new Ea(t,ya.Linear,50,r),t.useChannel=Ja,t.useCustomEvent=Ze,t.useEventEmitter=Je,t.useFavIcon=es,t.useFps=fa,t.useHashEvent=Me,t.useHead=os,t.useInputEvent=Ae,t.useLocaleStorage=(t,e)=>new to(localStorage,t,e),t.useMediaQuery=us,t.useMeta=rs,t.useRoot=ds,t.useRootValue=ps,t.useSessionStorage=(t,e)=>new to(sessionStorage,t,e),t.useStyle=cs,t.useSuccesifKeys=Ke,t.useSwipeEvent=De,t.useThread=(t,e,s)=>{const r=new eo;return t&&r.call(t,e,s),r},t.useTimeLoop=ga,t.useTitle=ns,t.video=ei,t.wait=_a,t.waitForUIElm=xa,t.waitForUIElmSync=va,t.watch=ze,t.watchAttr=He,t.watchChildren=$e,t.watchIntersection=Ve,t.watchScreen=Ge,t.watchSize=We,t.zeros=R,Object.defineProperty(t,"__esModule",{value:!0})}));