ziko 0.63.0 → 0.63.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ziko.cjs +97 -3
- package/dist/ziko.js +97 -3
- package/dist/ziko.min.js +2 -2
- package/dist/ziko.mjs +86 -4
- package/package.json +1 -1
- package/src/ui/index.js +3 -2
- package/src/ui/utils/index.js +1 -1
package/dist/ziko.cjs
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
/*
|
|
3
3
|
Project: ziko.js
|
|
4
4
|
Author: Zakaria Elalaoui
|
|
5
|
-
Date : Wed Feb 11 2026
|
|
5
|
+
Date : Wed Feb 11 2026 14:01:19 GMT+0100 (UTC+01:00)
|
|
6
6
|
Git-Repo : https://github.com/zakarialaoui10/ziko.js
|
|
7
7
|
Git-Wiki : https://github.com/zakarialaoui10/ziko.js/wiki
|
|
8
8
|
Released under MIT License
|
|
@@ -3304,7 +3304,7 @@ var IndexingMethods = /*#__PURE__*/Object.freeze({
|
|
|
3304
3304
|
map: map
|
|
3305
3305
|
});
|
|
3306
3306
|
|
|
3307
|
-
function style(styles){
|
|
3307
|
+
function style$1(styles){
|
|
3308
3308
|
if(!this.element?.style) return this;
|
|
3309
3309
|
for(let key in styles){
|
|
3310
3310
|
const value = styles[key];
|
|
@@ -3343,7 +3343,7 @@ var StyleMethods = /*#__PURE__*/Object.freeze({
|
|
|
3343
3343
|
hide: hide,
|
|
3344
3344
|
show: show,
|
|
3345
3345
|
size: size,
|
|
3346
|
-
style: style
|
|
3346
|
+
style: style$1
|
|
3347
3347
|
});
|
|
3348
3348
|
|
|
3349
3349
|
// import {
|
|
@@ -3510,6 +3510,88 @@ let UIElement$1 = class UIElement extends UIElementCore{
|
|
|
3510
3510
|
|
|
3511
3511
|
};
|
|
3512
3512
|
|
|
3513
|
+
const call_with_optional_props = (Component) => {
|
|
3514
|
+
return (...args) => {
|
|
3515
|
+
const first = args[0];
|
|
3516
|
+
const isChild = first?.isUIElement?.() || isPrimitive(first) ;
|
|
3517
|
+
return isChild
|
|
3518
|
+
? new Component({}, ...args)
|
|
3519
|
+
: new Component(first, ...args.slice(1))
|
|
3520
|
+
};
|
|
3521
|
+
};
|
|
3522
|
+
function add_vendor_prefix(property) {
|
|
3523
|
+
const propertyUC = property.slice(0, 1).toUpperCase() + property.slice(1);
|
|
3524
|
+
const vendors = ['Webkit', 'Moz', 'O', 'ms'];
|
|
3525
|
+
for(let i = 0, len = vendors.length; i < len; i++) {
|
|
3526
|
+
const vendor = vendors[i];
|
|
3527
|
+
if(typeof (globalThis?.document?.body).style[vendor + propertyUC] !== 'undefined') return vendor + propertyUC;
|
|
3528
|
+
}
|
|
3529
|
+
return property;
|
|
3530
|
+
}
|
|
3531
|
+
const normalize_css_value = value => typeof value === 'number' ? value+'px' : value;
|
|
3532
|
+
const add_class = (UIElement, name) => UIElement.element.className = UIElement.element.className.replace(/\s+$/gi, '') + ' ' + name;
|
|
3533
|
+
const remove_class =(UIElement, name) => UIElement.element.className = UIElement.element.className.replace(name, '');
|
|
3534
|
+
|
|
3535
|
+
// const addSuffixeToNumber=(value,suffixe="px")=>{
|
|
3536
|
+
// if(typeof value === "number") value+=suffixe;
|
|
3537
|
+
// if(value instanceof Array)value=value.map(n=>typeof n==="number"?n+=suffixe:n).join(" ");
|
|
3538
|
+
// return value;
|
|
3539
|
+
// }
|
|
3540
|
+
|
|
3541
|
+
// const Id = (a) => document.getElementById(a);
|
|
3542
|
+
// const Class = (a) => [...document.getElementsByClassName(a)];
|
|
3543
|
+
// const $=(...selector)=>{
|
|
3544
|
+
// var ele=[]
|
|
3545
|
+
// for(let i=0;i<selector.length;i++){
|
|
3546
|
+
// if(typeof selector[i]=="string")ele.push(...document.querySelectorAll(selector[i]));
|
|
3547
|
+
// if(selector[i] instanceof UIElement)ele.push(selector[i].element)
|
|
3548
|
+
// }
|
|
3549
|
+
// return ele.length===1?ele[0]:ele;
|
|
3550
|
+
// }
|
|
3551
|
+
|
|
3552
|
+
const style = (el, styles) => {if(el)Object.assign(el.style, styles);};
|
|
3553
|
+
|
|
3554
|
+
function script(src) {
|
|
3555
|
+
const Script = document?.createElement("script");
|
|
3556
|
+
Script.setAttribute("src", src);
|
|
3557
|
+
document.head.appendChild(Script);
|
|
3558
|
+
}
|
|
3559
|
+
function linkStyle(href) {
|
|
3560
|
+
const link = document?.createElement("link");
|
|
3561
|
+
link.setAttribute("rel", "stylesheet");
|
|
3562
|
+
link.setAttribute("href", href);
|
|
3563
|
+
document.head.appendChild(link);
|
|
3564
|
+
}
|
|
3565
|
+
const CloneElement = (UIElement) => {
|
|
3566
|
+
var clone = new UIElement.__proto__.constructor();
|
|
3567
|
+
//waitForUIElm(UIElement).then(e=>console.log(e)).then(()=>clone = new UIElement.__proto__.constructor())
|
|
3568
|
+
//let a = new UIElement.__proto__.constructor()
|
|
3569
|
+
return clone;
|
|
3570
|
+
};
|
|
3571
|
+
const cloneUI=UIElement=>{
|
|
3572
|
+
return Object.assign(Object.create(Object.getPrototypeOf(UIElement)),UIElement)
|
|
3573
|
+
};
|
|
3574
|
+
function isPrimitive(value) {
|
|
3575
|
+
return typeof value !== 'object' && typeof value !== 'function' || value === null;
|
|
3576
|
+
}
|
|
3577
|
+
const waitElm=(UIElement)=>{
|
|
3578
|
+
return new Promise(resolve => {
|
|
3579
|
+
if (UIElement) {
|
|
3580
|
+
return resolve(UIElement);
|
|
3581
|
+
}
|
|
3582
|
+
const observer = new MutationObserver(() => {
|
|
3583
|
+
if (UIElement) {
|
|
3584
|
+
resolve(UIElement);
|
|
3585
|
+
observer.disconnect();
|
|
3586
|
+
}
|
|
3587
|
+
});
|
|
3588
|
+
observer.observe(document?.body, {
|
|
3589
|
+
childList: true,
|
|
3590
|
+
subtree: true
|
|
3591
|
+
});
|
|
3592
|
+
});
|
|
3593
|
+
};
|
|
3594
|
+
|
|
3513
3595
|
class UIView extends UIElement$1{
|
|
3514
3596
|
constructor(...items){
|
|
3515
3597
|
super({element : 'div', name : 'view'});
|
|
@@ -5410,6 +5492,7 @@ if(globalThis?.document){
|
|
|
5410
5492
|
|
|
5411
5493
|
exports.App = App;
|
|
5412
5494
|
exports.Clock = Clock;
|
|
5495
|
+
exports.CloneElement = CloneElement;
|
|
5413
5496
|
exports.Complex = Complex;
|
|
5414
5497
|
exports.E = E;
|
|
5415
5498
|
exports.EPSILON = EPSILON;
|
|
@@ -5451,6 +5534,8 @@ exports.acos = acos$1;
|
|
|
5451
5534
|
exports.acosh = acosh;
|
|
5452
5535
|
exports.acot = acot;
|
|
5453
5536
|
exports.add = add;
|
|
5537
|
+
exports.add_class = add_class;
|
|
5538
|
+
exports.add_vendor_prefix = add_vendor_prefix;
|
|
5454
5539
|
exports.and = and;
|
|
5455
5540
|
exports.animation = animation;
|
|
5456
5541
|
exports.apply_fun = apply_fun;
|
|
@@ -5475,11 +5560,13 @@ exports.bind_touch_event = bind_touch_event;
|
|
|
5475
5560
|
exports.bind_view_event = bind_view_event;
|
|
5476
5561
|
exports.bind_wheel_event = bind_wheel_event;
|
|
5477
5562
|
exports.binomial = binomial;
|
|
5563
|
+
exports.call_with_optional_props = call_with_optional_props;
|
|
5478
5564
|
exports.cartesianProduct = cartesianProduct;
|
|
5479
5565
|
exports.cbrt = cbrt;
|
|
5480
5566
|
exports.ceil = ceil;
|
|
5481
5567
|
exports.clamp = clamp;
|
|
5482
5568
|
exports.clock = clock;
|
|
5569
|
+
exports.cloneUI = cloneUI;
|
|
5483
5570
|
exports.complex = complex;
|
|
5484
5571
|
exports.cos = cos$3;
|
|
5485
5572
|
exports.cosh = cosh$2;
|
|
@@ -5526,6 +5613,7 @@ exports.in_quart = in_quart;
|
|
|
5526
5613
|
exports.in_quint = in_quint;
|
|
5527
5614
|
exports.in_sin = in_sin;
|
|
5528
5615
|
exports.isApproximatlyEqual = isApproximatlyEqual;
|
|
5616
|
+
exports.isPrimitive = isPrimitive;
|
|
5529
5617
|
exports.isStateGetter = isStateGetter;
|
|
5530
5618
|
exports.json2arr = json2arr;
|
|
5531
5619
|
exports.json2css = json2css;
|
|
@@ -5537,6 +5625,7 @@ exports.json2yml = json2yml;
|
|
|
5537
5625
|
exports.json2ymlFile = json2ymlFile;
|
|
5538
5626
|
exports.lerp = lerp;
|
|
5539
5627
|
exports.linear = linear;
|
|
5628
|
+
exports.linkStyle = linkStyle;
|
|
5540
5629
|
exports.linspace = linspace;
|
|
5541
5630
|
exports.ln = ln;
|
|
5542
5631
|
exports.logspace = logspace;
|
|
@@ -5556,6 +5645,7 @@ exports.mul = mul;
|
|
|
5556
5645
|
exports.nand = nand;
|
|
5557
5646
|
exports.nor = nor;
|
|
5558
5647
|
exports.norm = norm;
|
|
5648
|
+
exports.normalize_css_value = normalize_css_value;
|
|
5559
5649
|
exports.nthr = nthr;
|
|
5560
5650
|
exports.nums = nums;
|
|
5561
5651
|
exports.obj2str = obj2str;
|
|
@@ -5577,7 +5667,9 @@ exports.pow = pow$1;
|
|
|
5577
5667
|
exports.ppcm = ppcm;
|
|
5578
5668
|
exports.preload = preload;
|
|
5579
5669
|
exports.rad2deg = rad2deg;
|
|
5670
|
+
exports.remove_class = remove_class;
|
|
5580
5671
|
exports.round = round;
|
|
5672
|
+
exports.script = script;
|
|
5581
5673
|
exports.sec = sec;
|
|
5582
5674
|
exports.sig = sig;
|
|
5583
5675
|
exports.sign = sign;
|
|
@@ -5588,6 +5680,7 @@ exports.sqrt = sqrt$2;
|
|
|
5588
5680
|
exports.std = std;
|
|
5589
5681
|
exports.step = step;
|
|
5590
5682
|
exports.step_fps = step_fps;
|
|
5683
|
+
exports.style = style;
|
|
5591
5684
|
exports.sub = sub;
|
|
5592
5685
|
exports.svg2ascii = svg2ascii;
|
|
5593
5686
|
exports.svg2img = svg2img;
|
|
@@ -5617,6 +5710,7 @@ exports.useThread = useThread;
|
|
|
5617
5710
|
exports.useTitle = useTitle;
|
|
5618
5711
|
exports.variance = variance;
|
|
5619
5712
|
exports.wait = wait;
|
|
5713
|
+
exports.waitElm = waitElm;
|
|
5620
5714
|
exports.waitForUIElm = waitForUIElm;
|
|
5621
5715
|
exports.waitForUIElmSync = waitForUIElmSync;
|
|
5622
5716
|
exports.xnor = xnor;
|
package/dist/ziko.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
/*
|
|
3
3
|
Project: ziko.js
|
|
4
4
|
Author: Zakaria Elalaoui
|
|
5
|
-
Date : Wed Feb 11 2026
|
|
5
|
+
Date : Wed Feb 11 2026 14:01:19 GMT+0100 (UTC+01:00)
|
|
6
6
|
Git-Repo : https://github.com/zakarialaoui10/ziko.js
|
|
7
7
|
Git-Wiki : https://github.com/zakarialaoui10/ziko.js/wiki
|
|
8
8
|
Released under MIT License
|
|
@@ -3308,7 +3308,7 @@
|
|
|
3308
3308
|
map: map
|
|
3309
3309
|
});
|
|
3310
3310
|
|
|
3311
|
-
function style(styles){
|
|
3311
|
+
function style$1(styles){
|
|
3312
3312
|
if(!this.element?.style) return this;
|
|
3313
3313
|
for(let key in styles){
|
|
3314
3314
|
const value = styles[key];
|
|
@@ -3347,7 +3347,7 @@
|
|
|
3347
3347
|
hide: hide,
|
|
3348
3348
|
show: show,
|
|
3349
3349
|
size: size,
|
|
3350
|
-
style: style
|
|
3350
|
+
style: style$1
|
|
3351
3351
|
});
|
|
3352
3352
|
|
|
3353
3353
|
// import {
|
|
@@ -3514,6 +3514,88 @@
|
|
|
3514
3514
|
|
|
3515
3515
|
};
|
|
3516
3516
|
|
|
3517
|
+
const call_with_optional_props = (Component) => {
|
|
3518
|
+
return (...args) => {
|
|
3519
|
+
const first = args[0];
|
|
3520
|
+
const isChild = first?.isUIElement?.() || isPrimitive(first) ;
|
|
3521
|
+
return isChild
|
|
3522
|
+
? new Component({}, ...args)
|
|
3523
|
+
: new Component(first, ...args.slice(1))
|
|
3524
|
+
};
|
|
3525
|
+
};
|
|
3526
|
+
function add_vendor_prefix(property) {
|
|
3527
|
+
const propertyUC = property.slice(0, 1).toUpperCase() + property.slice(1);
|
|
3528
|
+
const vendors = ['Webkit', 'Moz', 'O', 'ms'];
|
|
3529
|
+
for(let i = 0, len = vendors.length; i < len; i++) {
|
|
3530
|
+
const vendor = vendors[i];
|
|
3531
|
+
if(typeof (globalThis?.document?.body).style[vendor + propertyUC] !== 'undefined') return vendor + propertyUC;
|
|
3532
|
+
}
|
|
3533
|
+
return property;
|
|
3534
|
+
}
|
|
3535
|
+
const normalize_css_value = value => typeof value === 'number' ? value+'px' : value;
|
|
3536
|
+
const add_class = (UIElement, name) => UIElement.element.className = UIElement.element.className.replace(/\s+$/gi, '') + ' ' + name;
|
|
3537
|
+
const remove_class =(UIElement, name) => UIElement.element.className = UIElement.element.className.replace(name, '');
|
|
3538
|
+
|
|
3539
|
+
// const addSuffixeToNumber=(value,suffixe="px")=>{
|
|
3540
|
+
// if(typeof value === "number") value+=suffixe;
|
|
3541
|
+
// if(value instanceof Array)value=value.map(n=>typeof n==="number"?n+=suffixe:n).join(" ");
|
|
3542
|
+
// return value;
|
|
3543
|
+
// }
|
|
3544
|
+
|
|
3545
|
+
// const Id = (a) => document.getElementById(a);
|
|
3546
|
+
// const Class = (a) => [...document.getElementsByClassName(a)];
|
|
3547
|
+
// const $=(...selector)=>{
|
|
3548
|
+
// var ele=[]
|
|
3549
|
+
// for(let i=0;i<selector.length;i++){
|
|
3550
|
+
// if(typeof selector[i]=="string")ele.push(...document.querySelectorAll(selector[i]));
|
|
3551
|
+
// if(selector[i] instanceof UIElement)ele.push(selector[i].element)
|
|
3552
|
+
// }
|
|
3553
|
+
// return ele.length===1?ele[0]:ele;
|
|
3554
|
+
// }
|
|
3555
|
+
|
|
3556
|
+
const style = (el, styles) => {if(el)Object.assign(el.style, styles);};
|
|
3557
|
+
|
|
3558
|
+
function script(src) {
|
|
3559
|
+
const Script = document?.createElement("script");
|
|
3560
|
+
Script.setAttribute("src", src);
|
|
3561
|
+
document.head.appendChild(Script);
|
|
3562
|
+
}
|
|
3563
|
+
function linkStyle(href) {
|
|
3564
|
+
const link = document?.createElement("link");
|
|
3565
|
+
link.setAttribute("rel", "stylesheet");
|
|
3566
|
+
link.setAttribute("href", href);
|
|
3567
|
+
document.head.appendChild(link);
|
|
3568
|
+
}
|
|
3569
|
+
const CloneElement = (UIElement) => {
|
|
3570
|
+
var clone = new UIElement.__proto__.constructor();
|
|
3571
|
+
//waitForUIElm(UIElement).then(e=>console.log(e)).then(()=>clone = new UIElement.__proto__.constructor())
|
|
3572
|
+
//let a = new UIElement.__proto__.constructor()
|
|
3573
|
+
return clone;
|
|
3574
|
+
};
|
|
3575
|
+
const cloneUI=UIElement=>{
|
|
3576
|
+
return Object.assign(Object.create(Object.getPrototypeOf(UIElement)),UIElement)
|
|
3577
|
+
};
|
|
3578
|
+
function isPrimitive(value) {
|
|
3579
|
+
return typeof value !== 'object' && typeof value !== 'function' || value === null;
|
|
3580
|
+
}
|
|
3581
|
+
const waitElm=(UIElement)=>{
|
|
3582
|
+
return new Promise(resolve => {
|
|
3583
|
+
if (UIElement) {
|
|
3584
|
+
return resolve(UIElement);
|
|
3585
|
+
}
|
|
3586
|
+
const observer = new MutationObserver(() => {
|
|
3587
|
+
if (UIElement) {
|
|
3588
|
+
resolve(UIElement);
|
|
3589
|
+
observer.disconnect();
|
|
3590
|
+
}
|
|
3591
|
+
});
|
|
3592
|
+
observer.observe(document?.body, {
|
|
3593
|
+
childList: true,
|
|
3594
|
+
subtree: true
|
|
3595
|
+
});
|
|
3596
|
+
});
|
|
3597
|
+
};
|
|
3598
|
+
|
|
3517
3599
|
class UIView extends UIElement$1{
|
|
3518
3600
|
constructor(...items){
|
|
3519
3601
|
super({element : 'div', name : 'view'});
|
|
@@ -5414,6 +5496,7 @@
|
|
|
5414
5496
|
|
|
5415
5497
|
exports.App = App;
|
|
5416
5498
|
exports.Clock = Clock;
|
|
5499
|
+
exports.CloneElement = CloneElement;
|
|
5417
5500
|
exports.Complex = Complex;
|
|
5418
5501
|
exports.E = E;
|
|
5419
5502
|
exports.EPSILON = EPSILON;
|
|
@@ -5455,6 +5538,8 @@
|
|
|
5455
5538
|
exports.acosh = acosh;
|
|
5456
5539
|
exports.acot = acot;
|
|
5457
5540
|
exports.add = add;
|
|
5541
|
+
exports.add_class = add_class;
|
|
5542
|
+
exports.add_vendor_prefix = add_vendor_prefix;
|
|
5458
5543
|
exports.and = and;
|
|
5459
5544
|
exports.animation = animation;
|
|
5460
5545
|
exports.apply_fun = apply_fun;
|
|
@@ -5479,11 +5564,13 @@
|
|
|
5479
5564
|
exports.bind_view_event = bind_view_event;
|
|
5480
5565
|
exports.bind_wheel_event = bind_wheel_event;
|
|
5481
5566
|
exports.binomial = binomial;
|
|
5567
|
+
exports.call_with_optional_props = call_with_optional_props;
|
|
5482
5568
|
exports.cartesianProduct = cartesianProduct;
|
|
5483
5569
|
exports.cbrt = cbrt;
|
|
5484
5570
|
exports.ceil = ceil;
|
|
5485
5571
|
exports.clamp = clamp;
|
|
5486
5572
|
exports.clock = clock;
|
|
5573
|
+
exports.cloneUI = cloneUI;
|
|
5487
5574
|
exports.complex = complex;
|
|
5488
5575
|
exports.cos = cos$3;
|
|
5489
5576
|
exports.cosh = cosh$2;
|
|
@@ -5530,6 +5617,7 @@
|
|
|
5530
5617
|
exports.in_quint = in_quint;
|
|
5531
5618
|
exports.in_sin = in_sin;
|
|
5532
5619
|
exports.isApproximatlyEqual = isApproximatlyEqual;
|
|
5620
|
+
exports.isPrimitive = isPrimitive;
|
|
5533
5621
|
exports.isStateGetter = isStateGetter;
|
|
5534
5622
|
exports.json2arr = json2arr;
|
|
5535
5623
|
exports.json2css = json2css;
|
|
@@ -5541,6 +5629,7 @@
|
|
|
5541
5629
|
exports.json2ymlFile = json2ymlFile;
|
|
5542
5630
|
exports.lerp = lerp;
|
|
5543
5631
|
exports.linear = linear;
|
|
5632
|
+
exports.linkStyle = linkStyle;
|
|
5544
5633
|
exports.linspace = linspace;
|
|
5545
5634
|
exports.ln = ln;
|
|
5546
5635
|
exports.logspace = logspace;
|
|
@@ -5560,6 +5649,7 @@
|
|
|
5560
5649
|
exports.nand = nand;
|
|
5561
5650
|
exports.nor = nor;
|
|
5562
5651
|
exports.norm = norm;
|
|
5652
|
+
exports.normalize_css_value = normalize_css_value;
|
|
5563
5653
|
exports.nthr = nthr;
|
|
5564
5654
|
exports.nums = nums;
|
|
5565
5655
|
exports.obj2str = obj2str;
|
|
@@ -5581,7 +5671,9 @@
|
|
|
5581
5671
|
exports.ppcm = ppcm;
|
|
5582
5672
|
exports.preload = preload;
|
|
5583
5673
|
exports.rad2deg = rad2deg;
|
|
5674
|
+
exports.remove_class = remove_class;
|
|
5584
5675
|
exports.round = round;
|
|
5676
|
+
exports.script = script;
|
|
5585
5677
|
exports.sec = sec;
|
|
5586
5678
|
exports.sig = sig;
|
|
5587
5679
|
exports.sign = sign;
|
|
@@ -5592,6 +5684,7 @@
|
|
|
5592
5684
|
exports.std = std;
|
|
5593
5685
|
exports.step = step;
|
|
5594
5686
|
exports.step_fps = step_fps;
|
|
5687
|
+
exports.style = style;
|
|
5595
5688
|
exports.sub = sub;
|
|
5596
5689
|
exports.svg2ascii = svg2ascii;
|
|
5597
5690
|
exports.svg2img = svg2img;
|
|
@@ -5621,6 +5714,7 @@
|
|
|
5621
5714
|
exports.useTitle = useTitle;
|
|
5622
5715
|
exports.variance = variance;
|
|
5623
5716
|
exports.wait = wait;
|
|
5717
|
+
exports.waitElm = waitElm;
|
|
5624
5718
|
exports.waitForUIElm = waitForUIElm;
|
|
5625
5719
|
exports.waitForUIElmSync = waitForUIElmSync;
|
|
5626
5720
|
exports.xnor = xnor;
|
package/dist/ziko.min.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/*
|
|
2
2
|
Project: ziko.js
|
|
3
3
|
Author: Zakaria Elalaoui
|
|
4
|
-
Date : Wed Feb 11 2026
|
|
4
|
+
Date : Wed Feb 11 2026 14:01:19 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";const{PI:e,E:s}=Math,r=Number.EPSILON,n=(t,...e)=>{const s=e.map(e=>{return"object"!=typeof(s=e)&&"function"!=typeof s||null===s||e?.__mapfun__?t(e):e instanceof Array?e.map(e=>n(t,e)):ArrayBuffer.isView(e)?e.map(e=>t(e)):e instanceof Set?new Set(n(t,...e)):e instanceof Map?new Map([...e].map(e=>[e[0],n(t,e[1])])):e.isMatrix?.()?new e.constructor(e.rows,e.cols,n(e.arr.flat(1))):e instanceof Object?Object.fromEntries(Object.entries(e).map(e=>[e[0],n(t,e[1])])):void 0;var s});return 1==s.length?s[0]:s},i=(t,e)=>t.isComplex?.()?new t.constructor(e(t.a),e(t.b)):t.isMatrix?.()?new t.constructor(t.rows,t.cols,t.arr.flat(1).map(e)):(t instanceof Array&&n(e,...t),e(t)),o=(t,e,s)=>{if("number"==typeof e){if("number"==typeof s)switch(t){case"add":return e+s;case"sub":return e-s;case"mul":return e*s;case"div":return e/s;case"modulo":return e%s}return s?.isComplex?.()&&(e=new s.constructor(e,0)),s?.isMatrix?.()&&(e=s.constructor.nums(s.rows,s.cols,e)),e[t](s)}if(e?.isComplex?.()){if("number"==typeof s||s?.isComplex?.())return e.clone()[t](s);if(s?.isMatrix?.())return(e=s.constructor.nums(s.rows,s.cols,e)).clone()[t](s)}if(e?.isMatrix?.())return e.clone()[t](s)},h=(t,...e)=>{let s=t;for(let t=0;t<e.length;t++)s=o("add",s,e[t]);return s},c=(t,...e)=>{let s=t;for(let t=0;t<e.length;t++)s=o("sub",s,e[t]);return s},l=(t,...e)=>{let s=t;for(let t=0;t<e.length;t++)s=o("mul",s,e[t]);return s},u=(t,...e)=>{let s=t;for(let t=0;t<e.length;t++)s=o("div",s,e[t]);return s},m=(t,...e)=>{let s=t;for(let t=0;t<e.length;t++)s=o("modulo",s,e[t]);return s},p=(...t)=>t.reduce((t,e)=>t+e)/t.length,f=(...t)=>{const e=t.length;if(0===e)return NaN;const s=p(...t);return t.reduce((t,e)=>t+(e-s)**2,0)/e},d=(...t)=>{let e,s=[],r=0,n=t.length;for(e=0;e<n;e++)r=h(r,t[e]),s.push(r);return s},g=(t,e)=>{if(0===t.length)return NaN;let s=[...t].sort((t,e)=>t-e),r=e/100*(s.length-1),n=Math.floor(r),i=r-n;return n===s.length-1?s[n]:s[n]*(1-i)+s[n+1]*i};class w{static int(t,e){return Math.floor(this.float(t,e))}static float(t,e){return void 0!==e?Math.random()*(e-t)+t:Math.random()*t}static bin(){return this.int(2)}static oct(){return this.int(8)}static dec(){return this.int(10)}static hex(){return((t,e,s)=>{const r=parseInt(t,e);if(Number.isNaN(r))throw new TypeError("Invalid value for the given base");return r.toString(s)})(this.int(16),10,16)}static char(t=!1){const e=t?this.int(65,91):this.int(97,123);return String.fromCharCode(e)}static bool(){return Boolean(this.int(2))}static get color(){return{hex:()=>`#${this.int(16777215).toString(16).padStart(6,"0")}`,hexa:()=>{const[t,e,s,r]=Array.from({length:4},()=>this.int(255).toString(16).padStart(2,"0"));return`#${t}${e}${s}${r}`},rgb:()=>{const[t,e,s]=Array.from({length:3},()=>this.int(255));return`rgb(${t}, ${e}, ${s})`},rgba:()=>{const[t,e,s]=Array.from({length:3},()=>this.int(255));return`rgba(${t}, ${e}, ${s}, ${Math.random().toFixed(2)})`},hsl:()=>`hsl(${this.int(360)}, ${this.int(100)}%, ${this.int(100)}%)`,hsla:()=>`hsla(${this.int(360)}, ${this.int(100)}%, ${this.int(100)}%, ${Math.random().toFixed(2)})`,gray:()=>{const t=this.int(255);return`rgb(${t}, ${t}, ${t})`}}}static get sample(){const t=this;return{int:(e,s,r)=>Array.from({length:e},()=>t.int(s,r)),float:(e,s,r)=>Array.from({length:e},()=>t.float(s,r)),char:(e,s=!1)=>Array.from({length:e},()=>t.char(s)),bool:e=>Array.from({length:e},()=>t.bool()),bin:e=>Array.from({length:e},()=>t.bin()),oct:e=>Array.from({length:e},()=>t.oct()),dec:e=>Array.from({length:e},()=>t.dec()),hex:e=>Array.from({length:e},()=>t.hex()),get color(){return{hex:e=>Array.from({length:e},()=>t.color.hex()),hexa:e=>Array.from({length:e},()=>t.color.hexa()),rgb:e=>Array.from({length:e},()=>t.color.rgb()),rgba:e=>Array.from({length:e},()=>t.color.rgba()),hsl:e=>Array.from({length:e},()=>t.color.hsl()),hsla:e=>Array.from({length:e},()=>t.color.hsla()),gray:e=>Array.from({length:e},()=>t.color.gray())}},choice:(e,s,r)=>Array.from({length:e},()=>t.choice(s,r))}}static shuffle(t){return[...t].sort(()=>.5-Math.random())}static choice(t=[1,2,3],e=new Array(t.length).fill(1/t.length)){const s=d(...e).map(t=>100*t),r=new Array(100);r.fill(t[0],0,s[0]);for(let e=1;e<t.length;e++)r.fill(t[e],s[e-1],s[e]);return r[this.int(r.length)]}}globalThis.Random=w;class y{constructor(t=0,e=0){[this.a,this.b]=((t,e,s)=>{let r,n;return e instanceof t?(r=e.a,n=e.b):"object"==typeof e?"a"in e&&"b"in e?(r=e.a,n=e.b):"a"in e&&"z"in e?(r=e.a,n=Math.sqrt(e.z**2-e.a**2)):"a"in e&&"phi"in e?(r=e.a,n=e.a*Math.tan(e.phi)):"b"in e&&"z"in e?(n=e.b,r=Math.sqrt(e.z**2-e.b**2)):"b"in e&&"phi"in e?(n=s,r=e.b/Math.tan(e.phi)):"z"in e&&"phi"in e&&(r=+e.z*Math.cos(e.phi).toFixed(15),n=+e.z*Math.sin(e.phi).toFixed(15)):"number"==typeof e&&"number"==typeof s&&(r=+e.toFixed(32),n=+s.toFixed(32)),[r,n]})(y,t,e)}get __mapfun__(){return!0}isComplex(){return!0}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}serialize(){return JSON.stringify({type:"complex",data:this})}static deserialize(t){"string"==typeof t&&(t=JSON.parse(t));let{data:e,type:s}=t;return"complex"===s&&"a"in e&&"b"in e?new y(e.a,e.b):TypeError("Not a valid complex")}toFixed(t){return this.a=+this.a.toFixed(t),this.b=+this.b.toFixed(t),this}toPrecision(t){return this.a=+this.a.toPrecision(t),this.b=+this.b.toPrecision(t),this}clone(){return new y(this.a,this.b)}get z(){return Math.hypot(this.a,this.b)}get phi(){return Math.atan2(this.b,this.a)}static zero(){return new y(0,0)}static fromPolar(t,e){return new y(+(t*cos(e)).toFixed(13),+(t*sin(e)).toFixed(13))}static get random(){return{int:(t,e)=>new y(...w.sample.int(2,t,e)),float:(t,e)=>new y(...w.sample.float(2,t,e))}}static twiddle(t,e){const s=-2*Math.PI*t/e;return new y(Math.cos(s),Math.sin(s))}get conj(){return new y(this.a,-this.b)}get inv(){return new y(this.a/Math.hypot(this.a,this.b),-this.b/Math.hypot(this.a,this.b))}add(...t){for(let e=0;e<t.length;e++)"number"==typeof t[e]&&(t[e]=new y(t[e],0)),this.a+=t[e].a,this.b+=t[e].b;return this}sub(...t){for(let e=0;e<t.length;e++)"number"==typeof t[e]&&(t[e]=new y(t[e],0)),this.a-=t[e].a,this.b-=t[e].b;return this}mul(...t){let{z:e,phi:s}=this;for(let r=0;r<t.length;r++)"number"==typeof t[r]&&(t[r]=new y(t[r],0)),e*=t[r].z,s+=t[r].phi;return this.a=e*Math.cos(s),this.b=e*Math.sin(s),this.toFixed(8)}div(...t){let{z:e,phi:s}=this;for(let r=0;r<t.length;r++)"number"==typeof t[r]&&(t[r]=new y(t[r],0)),e/=t[r].z,s-=t[r].phi;return this.a=e*Math.cos(s),this.b=e*Math.sin(s),this.toFixed(8)}modulo(...t){for(let e=0;e<t.length;e++)"number"==typeof t[e]&&(t[e]=new y(t[e],0)),this.a%=t[e].a,this.b%=t[e].b;return this}pow(...t){let{z:e,phi:s}=this;for(let r=0;r<t.length;r++)"number"==typeof t[r]&&(t[r]=new y(t[r],0)),e*=Math.exp(t[r].a*Math.log(e)-t[r].b*s),s+=t[r].b*Math.log(e)+t[r].a*s;return this.a=e*Math.cos(s),this.b=e*Math.sin(s),this}get expo(){return[this.z,this.phi]}nthr(t=2){return _({z:this.z**(1/t),phi:this.phi/t})}get sqrt(){return this.nthr(2)}get cbrt(){return this.nthr(3)}get log(){return _(this.z,this.phi)}get cos(){return _(Math.cos(this.a)*Math.cosh(this.b),Math.sin(this.a)*Math.sinh(this.b))}get sin(){return _(Math.sin(this.a)*Math.cosh(this.b),Math.cos(this.a)*Math.sinh(this.b))}get tan(){const t=cos(2*this.a)+cosh(2*this.b);return _(Math.sin(2*this.a)/t,Math.sinh(2*this.b)/t)}}const _=(t,e)=>{if((t instanceof Array||ArrayBuffer.isView(t))&&(e instanceof Array||ArrayBuffer.isView(t)))return t.map((s,r)=>_(t[r],e[r]));if(t.isMatrix?.()&&e.isMatrix?.()){if(t.shape[0]!==e.shape[0]||t.shape[1]!==e.shape[1])return Error(0);const s=t.arr.map((s,r)=>_(t.arr[r],e.arr[r]));return new t.constructor(t.rows,t.cols,...s)}return new y(t,e)},v=(...t)=>n(t=>t.isComplex?.()?t.z:Math.abs(t),...t),x=(...t)=>{const e=t.pop();return n(t=>t.isComplex?.()?e.isComplex?.()?new t.constructor({z:Math.exp(e.a*Math.log(t.z)-e.b*t.phi),phi:e.b*Math.log(t.z)+e.a*t.phi}):new t.constructor({z:t.z**e,phi:t.phi*e}):e.isComplex?.()?new t.constructor({z:Math.exp(e.a*Math.log(t)),phi:e.b*Math.log(t)}):Math.pow(t,e),...t)},M=(...t)=>n(t=>t.isComplex?.()?new t.constructor({z:t.z**.5,phi:t.phi/2}):t<0?_(0,Math.sqrt(-t)).toFixed(8):+Math.sqrt(t).toFixed(8),...t),E=(...t)=>{const e=t.pop();if("number"!=typeof e)throw Error("nthr expects a real number n");return n(t=>t.isComplex?.()?new t.constructor({z:t.z**(1/e),phi:t.phi/e}):t<0?e%2==2?_(0,(-t)**(1/e)).toFixed(8):+(-1*(-t)**(1/e)).toFixed(8):+(t**(1/e)).toFixed(8),...t)},k=(...t)=>n(t=>t.isComplex?.()?new t.constructor(Math.log(t.z),t.phi).toFixed(8):+Math.log(t).toFixed(8),...t),C=(...t)=>n(t=>t.isComplex?.()?new t.constructor(Math.floor(t.a),Math.floor(t.b)):Math.floor(t),...t),T=(t,e,s)=>i(t,t=>e!==s?(t-e)/(s-e):0),S=(t,e,s)=>i(t,t=>(s-e)*t+e),O=(t,e,s)=>i(t,t=>Math.min(Math.max(t,e),s)),A=(t,e,s,r,n)=>i(t,t=>S(T(t,e,s),r,n)),j=(t,e,s=!0)=>{if(t instanceof Array&&!(e instanceof Array))return n(t=>j(t,e,s),...t);if(e instanceof Array&&!(t instanceof Array))return n(e=>j(t,e,s),...e);if(t instanceof Array&&e instanceof Array)return t.map((t,r)=>j(t,e[r],s));const r=Math.atan2(t,e);return s?r:180*r/Math.PI},P=t=>t.isComplex?.()?new t.constructor(P(t.a),P(t.b)):t.isMatrix?.()?new t.constructor(t.rows,t.cols,t.arr.flat(1).map(P)):+!t,R=(t,e)=>{if(t.every(t=>t.isComplex?.())){const s=t.map(t=>t.a),r=t.map(t=>t.b);return new t[0].constructor(e(...s),e(...r))}if(t.every(t=>t.isMatrix?.())){if(!t.every(e=>e.rows===t[0].rows&&e.cols===t[0].cols))return TypeError("All matrices must have the same shape");const{rows:s,cols:r}=t[0],n=Array.from({length:s},(s,n)=>Array.from({length:r},(s,r)=>e(...t.map(t=>t.arr[n][r]))));return new t[0].constructor(n)}return null},I=(...t)=>{const e=R(t,I);return null!==e?e:t.reduce((t,e)=>t&e,1)},F=(...t)=>{const e=R(t,F);return null!==e?e:t.reduce((t,e)=>t|e,0)},z=(...t)=>{const e=R(t,z);return null!==e?e:t.reduce((t,e)=>t^e,0)},$=(t,e)=>{for(let e=0;e<t.arr.length;e++)Object.defineProperty(t,e,{value:t.arr[e],writable:!0,configurable:!0,enumerable:!1});for(let s=t.arr.length;s<e;s++)delete t[s]};function D(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}function L(t,e){if(t=t.clone(),e=e.clone(),t.rows!==e.rows)return;let s=t.arr;for(let r=0;r<t.rows;r++)for(let n=t.cols;n<t.cols+e.cols;n++)s[r][n]=e.arr[r][n-t.cols];return t.cols+=e.cols,new t.constructor(t.rows,t.cols,s.flat(1))}function N(t,e){if(t=t.clone(),e=e.clone(),t.cols!==e.cols)return;let s=t.arr;for(let r=t.rows;r<t.rows+e.rows;r++){s[r]=[];for(let n=0;n<t.cols;n++)s[r][n]=e.arr[r-t.rows][n]}return t.rows+=e.rows,new t.constructor(t.rows,t.cols,s.flat(1))}class U{constructor(t,e,s=[]){[this.rows,this.cols,this.arr]=((t,e,s,r)=>{if(!(e instanceof t)){let t,n,i=[];if(e instanceof Array)i=e,e=i.length,s=i[0].length;else for(t=0;t<e;t++)for(i.push([]),i[t].push(new Array(s)),n=0;n<s;n++)i[t][n]=r[t*s+n],null==r[t*s+n]&&(i[t][n]=0);return[e,s,i]}arr=e.arr,s=(e=e.rows).cols})(U,t,e,s),$(this)}isMatrix(){return!0}clone(){return new U(this.rows,this.cols,this.arr.flat(1))}toComplex(){return this.arr=n(t=>t?.isComplex?.()?t:new y(t,0),...this.arr),$(this),this}[Symbol.iterator](){return this.arr[Symbol.iterator]()}get size(){return this.rows*this.cols}get shape(){return[this.rows,this.cols]}at(t=0,e=void 0){if(t<0&&(t+=this.rows),t<0||t>=this.rows)throw new Error("Row index out of bounds");if(void 0===e)return this.arr[t];if(e<0&&(e+=this.cols),e<0||e>=this.cols)throw new Error("Column index out of bounds");return this.arr[t][e]}slice(t=0,e=0,s=this.rows-1,r=this.cols-1){s<0&&(s=this.rows+s),r<0&&(r=this.cols+r);let n=s-t,i=r-e,o=new Array(i);for(let s=0;s<n;s++){o[s]=[];for(let r=0;r<i;r++)o[s][r]=this.arr[s+t][r+e]}return this.arr=o,$(this.rows),this.rows=n,this.cols=i,this}reshape(t,e){if(t*e!==this.rows*this.cols)throw Error("size not matched");const s=this.rows;return Object.assign(this,new U(t,e,this.arr.flat(1))),$(s),this}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 U(this.cols,this.rows,t.flat(1))}get det(){return(t=this).isSquare?1==t.rows?t.arr[0][0]:function t(e){if(2==e.length)return e.flat(1).some(t=>t?.isMatrix?.())?void console.warn("Tensors are not completely supported yet ..."):c(l(e[0][0],e[1][1]),l(e[0][1],e[1][0]));for(var s=0,r=0;r<e.length;r++){const n=h(l(x(-1,r),l(e[0][r],t(D(e,r)))));s=h(s,n)}return s}(t.arr):new Error("is not square matrix");var t}get inv(){return function(t){if(t.row!==t.cols)throw Error('is not a square matrix"');if(0===t.det)throw Error("determinant should not equal 0");const{arr:e}=t;if(e.length===e[0].length){var s=0,r=0,n=0,i=e.length,o=0,a=[],h=[];for(s=0;s<i;s+=1)for(a[a.length]=[],h[h.length]=[],n=0;n<i;n+=1)a[s][n]=s==n?1:0,h[s][n]=e[s][n];for(s=0;s<i;s+=1){if(0==(o=h[s][s])){for(r=s+1;r<i;r+=1)if(0!=h[r][s]){for(n=0;n<i;n++)o=h[s][n],h[s][n]=h[r][n],h[r][n]=o,o=a[s][n],a[s][n]=a[r][n],a[r][n]=o;break}if(0==(o=h[s][s]))return}for(n=0;n<i;n++)h[s][n]=h[s][n]/o,a[s][n]=a[s][n]/o;for(r=0;r<i;r++)if(r!=s)for(o=h[r][s],n=0;n<i;n++)h[r][n]-=o*h[s][n],a[r][n]-=o*a[s][n]}return new t.constructor(a)}}(this)}static eye(t){let e=new U(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}static zeros(t,e){let s=new U(t,e);for(let n=0;n<t;n++)for(var r=0;r<e;r++)s.arr[n][r]=0;return s}static ones(t,e){let s=new U(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 U(t,e);for(let n=0;n<t;n++)for(let t=0;t<e;t++)r.arr[n][t]=s;return r}static get random(){return{int:(t,e,s,r)=>new U(t,e,w.sample.int(t*e,s,r)),float:(t,e,s)=>new U(t,e,w.sample.float(t*e,s,b))}}get range(){return{map:(t,e,s,r)=>(this.arr=A(this.arr,t,e,s,r),this),norm:(t,e)=>(this.arr=T(this.arr,t,e),this),lerp:(t,e)=>(this.arr=S(this.arr,t,e),this),clamp:(t,e)=>(this.arr=O(this.arr,t,e),this)}}hstack(...t){const e=[this,...t].reduce((t,e)=>L(t,e));return Object.assign(this,e),$(this),this}vstack(...t){const e=[this,...t].reduce((t,e)=>N(t,e));return Object.assign(this,e),$(this),this}hqueue(...t){const e=[this,...t].reverse().reduce((t,e)=>L(t,e));return Object.assign(this,e),$(this),this}vqueue(...t){const e=[this,...t].reverse().reduce((t,e)=>N(t,e));return Object.assign(this,e),$(this),this}forEach(t){return this.arr.flat(1).forEach(t),this}forEachRow(t){return this.arr.forEach(t),this}forEachCol(t){return this.clone().T.forEachRow(t),this}map(t){const e=this.arr.flat(1).map(t);return new U(this.rows,this.cols,e)}mapRows(t=()=>{}){return this.arr=this.arr.map(t),this}mapCols(t){return this.clone().T.mapRows(t).T}sort(t=()=>{}){const e=this.arr.flat(1).sort(t);return new U(this.rows,this.cols,e)}shuffle(){return this.sort(()=>.5-Math.random())}sortRows(t=()=>{}){return this.arr=this.arr.map(e=>e.sort(t)),this}shuffleRows(){return this.sortRows(()=>.5-Math.random())}sortCols(t){return this.clone().T.sortRows(t).T}shuffleCols(){return this.sortCols(()=>.5-Math.random())}reduce(t,e){const s=e?this.arr.flat(1).reduce(t,e):this.arr.flat(1).reduce(t);return new U([[s]])}reduceRows(t,e){const s=e?this.arr.map(s=>s.reduce(t,e)):this.arr.map(e=>e.reduce(t));return new U(1,this.cols,s)}reduceCols(t,e){return this.T.reduceRows(t,e).T}filterRows(t){const e=this.arr.map(e=>e.some(e=>t(e))),s=[];let r;for(r=0;r<e.length;r++)e[r]&&s.push(this.arr[r]);return new U(s)}filterCols(t){const e=this.T.filterRows(t);return new U(e).T}every(t){return this.arr.flat(1).every(t)}everyRow(t){return this.arr.map(e=>e.every(t))}everyCol(t){return this.T.arr.map(e=>e.every(t))}some(t){return this.arr.flat(1).some(t)}someRow(t){return this.arr.map(e=>e.some(t))}someCol(t){return this.T.arr.map(e=>e.some(t))}get isSquare(){return this.rows===this.cols}get isSym(){if(!this.isSquare)return!1;for(let t=0;t<this.rows;t++)for(let e=t+1;e<this.cols;e++)if(this.arr[t][e]!==this.arr[e][t])return!1;return!0}get isAntiSym(){if(!this.isSquare)return!1;const t=this.rows;for(let e=0;e<t;e++){if(0!==this.arr[e][e])return!1;for(let s=e+1;s<t;s++)if(this.arr[e][s]!==-this.arr[s][e])return!1}return!0}get isDiag(){if(!this.isSquare)return!1;const t=this.rows;for(let e=0;e<t;e++)for(let s=e+1;s<t;s++)if(0!==this.arr[e][s]||0!==this.arr[s][e])return!1;return!0}get isOrtho(){return!!this.isSquare&&(this.isDiag&&(1==this.det||-1==this.det))}get isIdemp(){if(!this.isSquare)return!1;const t=this.rows,e=this.arr,s=[];for(let r=0;r<t;r++){s[r]=[];for(let n=0;n<t;n++){let i=0;for(let s=0;s<t;s++)i+=e[r][s]*e[s][n];s[r][n]=i}}for(let r=0;r<t;r++)for(let n=0;n<t;n++)if(s[r][n]!==e[r][n])return!1;return!0}get isUpperTri(){if(!this.isSquare)return!1;const t=this.rows;for(let e=1;e<t;e++)for(let t=0;t<e;t++)if(0!==this.arr[e][t])return!1;return!0}get isLowerTri(){if(!this.isSquare)return!1;const t=this.rows;for(let e=0;e<t-1;e++)for(let s=e+1;s<t;s++)if(0!==this.arr[e][s])return!1;return!0}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}toFixed(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].toFixed(t);return this}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)}#t(t,...e){for(let r=0;r<e.length;r++){("number"==typeof e[r]||e[r]?.isComplex?.())&&(e[r]=U.nums(this.rows,this.cols,e[r]));for(let n=0;n<this.rows;n++)for(var s=0;s<this.cols;s++)this.arr[n][s]=t(this.arr[n][s],e[r].arr[n][s])}return new U(this.rows,this.cols,this.arr.flat(1))}add(...t){return this.#t(h,...t)}sub(...t){return this.#t(c,...t)}mul(...t){return this.#t(l,...t)}div(...t){return this.#t(u,...t)}modulo(...t){return this.#t(m,...t)}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 n=0;n<this.arr[0].length;n++)e[s][r]=h(e[s][r],l(this.arr[s][n],t.arr[n][r]))}}return new U(this.arr.length,t.arr[0].length,e.flat(1))}pow(t){let e=this.clone(),s=this.clone();for(let r=0;r<t-1;r++)s=s.dot(e);return s}sum(){let t=0;for(let e=0;e<this.rows;e++)for(let s=0;s<this.cols;s++)t=h(t,this.arr[e][s]);return t}prod(){let t=1;for(let e=0;e<this.rows;e++)for(let s=0;s<this.cols;s++)t=l(t,this.arr[e][s]);return t}hasComplex(){return this.arr.flat(1/0).some(t=>t instanceof y)}get min(){this.hasComplex()&&console.error("Complex numbers are not comparable");let t=[];for(let e=0;e<this.rows;e++)t.push(Math.min(...this.arr[e]));return Math.min(...t)}get max(){this.hasComplex()&&console.error("Complex numbers are not comparable");let t=[];for(let e=0;e<this.rows;e++)t.push(Math.max(...this.arr[e]));return Math.max(...t)}get minRows(){this.hasComplex()&&console.error("Complex numbers are not comparable");let t=[];for(let e=0;e<this.rows;e++)t.push(Math.min(...this.arr[e]));return t}get maxRows(){this.hasComplex()&&console.error("Complex numbers are not comparable");let t=[];for(let e=0;e<this.rows;e++)t.push(Math.max(...this.arr[e]));return t}get minCols(){return this.hasComplex()&&console.error("Complex numbers are not comparable"),this.T.minRows}get maxCols(){return this.hasComplex()&&console.error("Complex numbers are not comparable"),this.T.maxRows}static fromVector(t){return new U(t.length,1,t)}serialize(){const t=n(t=>t.serialize?.()||t,...this.arr);return JSON.stringify({type:"matrix",data:{rows:this.rows,cols:this.cols,arr:t}})}static deserialize(t){"string"==typeof t&&(t=JSON.parse(t));const{type:e,data:s}=t;if("matrix"!==e)return TypeError("Not a valid Matrix");let{arr:r}=s;return r=n(t=>{if("string"==typeof t){const e=JSON.parse(t),{type:s}=e;if("complex"===s)return y.deserialize(e)}return t},...r),new U(r)}flip(){return this.flipeH().flipeV()}flipeH(){return this.arr=this.arr.map(t=>[...t].reverse()),$(this),this}flipeV(){return this.arr=this.arr.reverse(),$(this),this}}const q=t=>new Array(t).fill(0),Z=t=>new Array(t).fill(1),B=(t,e)=>new Array(e).fill(t),V=(t,e,s,r=!1)=>{let n=[];if(t<e)for(let i=t;r?i<=e:i<e;i+=s)n.push(10*i/10);else for(let i=t;r?i>=e:i>e;i-=s)n.push(10*i/10);return n},H=(t,e,s=v(e-t)+1,r=!0)=>{if(Math.floor(s)===s){if([t,e].every(t=>"number"==typeof t)){const[o,a]=[t,e].sort((t,e)=>e-t);var n=[];let h;h=r?(o-a)/(s-1):(o-a)/s;for(var i=0;i<s;i++)t<e?n.push(a+h*i):n.push(o-h*i);return n}if([t,e].some(t=>t.isComplex?.())){const n=new s.constructor(t),i=new s.constructor(e);s=s||Math.abs(n.a-i.a)+1;const o=H(n.a,i.a,s,r),a=H(n.b,i.b,s,r);let h=new Array(s).fill(null);return h=h.map((t,e)=>new t.constructor(o[e],a[e])),h}}},W=(t,e,r=e-t+1,n=s,i=!0)=>H(t,e,r,i).map(t=>x(n,t)),G=(t,e,s=v(e-t)+1,r=!0)=>{if(Math.floor(s)===s){if([t,e].every(t=>"number"==typeof t)){const[n,i]=[t,e].sort((t,e)=>e-t);let o;o=E(n/i,r?s-1:s);const a=[i];for(let t=1;t<s;t++)a.push(a[t-1]*o);return t<e?a:a.reverse()}if([t,e].some(t=>t.isComplex?.())){const n=new s.constructor(t),i=new s.constructor(e);let o;s=s||Math.abs(n.a-i.a)+1,o=E(i.div(n),r?s-1:s);const a=[n];for(let t=1;t<s;t++)a.push(l(a[t-1],o));return a}}},K=(t,e,s)=>{const[r,n]=[Math.min(e,s),Math.max(e,s)];return t>=r&&t<=n},J=(t,e,s=1e-4)=>Math.abs(t-e)<=s,Y=(t,e)=>t.reduce((t,s)=>[...t,...e.map(t=>[s,t])],[]),X=(t,e)=>{let s,r=1;if(t==C(t)&&e==C(e)){for(s=2;s<=t&&s<=e;++s)t%s==0&&e%s==0&&(r=s);return r}console.log("error")},Q=(t,e)=>{let s;if(t==C(t)&&e==C(e)){for(s=t>e?t:e;s%t!=0||s%e!=0;)++s;return s}console.log("error")},tt={zeros:q,ones:Z,nums:B,arange:V,linspace:H,logspace:W,geomspace:G,cartesianProduct:Y,ppcm:Q,pgcd:X,inRange:K,isApproximatlyEqual:J};class et{constructor(t){this.cache={node:t}}isZikoUINode(){return!0}get node(){return this.cache.node}}class st extends Array{constructor(...t){super(...t)}clear(){return this.length=0,this}getItemById(t){return this.find(e=>e.element.id===t)}getItemsByTagName(t){return this.filter(e=>e.element.tagName.toLowerCase()===t.toLowerCase())}getElementsByClassName(t){return this.filter(e=>e.element.classList?.contains(t))}querySelector(t){const e=globalThis?.document?.querySelector(t);return e&&this.find(t=>t.element===e)||null}querySelectorAll(t){const e=globalThis?.document?.querySelectorAll(t);return Array.from(e).map(t=>this.find(e=>e.element===t)).filter(Boolean)}}const rt=new st,nt={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},it={store:new Map,index:0,register:function(t){this.store.set(this.index++,t)},reset(){this.index=0,this.store.clear()}},ot={ui_index:0,get_ui_index:function(){return this.ui_index++},register_ui:function(t){}};class at{#e;#s;#r;#n;#i;#o;constructor(t=""){this.#e=new BroadcastChannel(t),this.#s=new Map,this.#r=new Map,this.#n="ziko-channel:"+1e17*Math.random(),this.#i=new Set([this.#n]),this.#o=new Set,this.#e.addEventListener("message",t=>{const{last_sent_event:e,userId:s,eventData:r,rooms:n}=t.data;if(s===this.#n)return;if(n&&n.length&&!n.some(t=>this.#o.has(t)))return;this.#i.add(s),this.#s=new Map(r);const i=this.#r.get(e);i&&i.forEach(({fn:t,rooms:s})=>{s&&0!==s.length&&n&&!n.some(t=>s.includes(t))||t(this.#s.get(e))})})}emit(t,e,s){return this.#s.set(t,e),"string"==typeof s&&(s=[s]),this.#e.postMessage({eventData:Array.from(this.#s.entries()),last_sent_event:t,userId:this.#n,rooms:s&&s.length?s:void 0}),this}on(t,e=console.log,s){return this.#r.has(t)||this.#r.set(t,[]),"string"==typeof s&&(s=[s]),this.#r.get(t).push({fn:e,rooms:s}),this}off(t,e){return this.#r.has(t)?(this.#r.set(t,this.#r.get(t).filter(t=>t.fn!==e)),this):this}once(t,e,s){const r=s=>{e(s),this.off(t,r)};return this.on(t,r,s),this}join(...t){return t.forEach(t=>this.#o.add(t)),this}leave(...t){return t.length?t.forEach(t=>this.#o.delete(t)):this.#o.clear(),this}close(){return this.#e.close(),this}}const ht=t=>new at(t);class ct{constructor(t,e,s,r=!0){this.cache={storage:t,globalKey:e,channel:r?ht(`Ziko:useStorage-${e}`):null,oldItemKeys:new Set},this.#a(s,r)}get items(){const t=this.cache.storage.getItem(this.cache.globalKey);if(!t)return{};try{return JSON.parse(t)}catch{return{}}}#h(){const t=this.items;this.cache.oldItemKeys.forEach(t=>delete this[t]);for(const e in t)this[e]=t[e],this.cache.oldItemKeys.add(e)}#a(t,e){if(e&&this.cache.channel&&this.cache.channel.on("Ziko-Storage-Updated",()=>this.#h()),t)if(this.cache.storage.getItem(this.cache.globalKey)){const t=this.items;Object.keys(t).forEach(t=>this.cache.oldItemKeys.add(t)),this.#h()}else this.set(t);else this.#h()}set(t){return this.cache.storage.setItem(this.cache.globalKey,JSON.stringify(t)),this.cache.channel&&this.cache.channel.emit("Ziko-Storage-Updated",t),this.#h(),this}add(t){return this.set({...this.items,...t}),this}remove(...t){const e={...this.items};return t.forEach(t=>{delete e[t],delete this[t],this.cache.oldItemKeys.delete(t)}),this.set(e),this}get(t){return this.items[t]}clear(){return this.cache.storage.removeItem(this.cache.globalKey),this.cache.oldItemKeys.forEach(t=>delete this[t]),this.cache.oldItemKeys.clear(),this.#h(),this}onStorageUpdated(t){return this.cache.channel&&this.cache.channel.on("Ziko-Storage-Updated",t),this}}const lt=(t,e,s=!0)=>new ct(sessionStorage,t,e,s);var ut={store:new Map,index:0,session_storage:null,register:function(t){if(!(void 0).SSR&&(void 0).DEV){this.session||(this.session_storage=lt("ziko-state",{}));const e=this.session_storage.get(this.index);e?t.value=e:this.session_storage.add({[this.index]:t.value})}this.store.set(this.index++,t)},update:function(t,e){!(void 0).SSR&&(void 0).DEV&&this.session_storage.add({[t]:e})}};function mt(){var t;globalThis?.__Ziko__||(globalThis.__Ziko__={__UI__:rt,__HYDRATION__:it,__State__:ut,__Config__:nt,__CACHE__:ot,__PROVIDERS__:{}},t=__Ziko__,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}}))}mt();class pt extends et{constructor(){super()}init(t,e,s,r){if(this.target=globalThis.__Ziko__.__Config__.default.target||globalThis?.document?.body,"string"==typeof t)switch(s){case"html":t=globalThis?.document?.createElement(t);break;case"svg":t=globalThis?.document?.createElementNS("http://www.w3.org/2000/svg",t);break;default:throw Error("Not supported")}else this.target=t?.parentElement;Object.assign(this.cache,{name:e,isInteractive:!1,parent:null,isBody:!1,isRoot:!1,isHidden:!1,isFrozzen:!1,legacyParent:null,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},t&&Object.assign(this.cache,{element:t}),this.items=new st,globalThis.__Ziko__.__UI__[this.cache.name]?globalThis.__Ziko__.__UI__[this.cache.name]?.push(this):globalThis.__Ziko__.__UI__[this.cache.name]=[this],t&&r&&this?.render?.(),globalThis.__Ziko__.__UI__.push(this)}get element(){return this.cache.element}[Symbol.iterator](){return this.items[Symbol.iterator]()}maintain(){for(let t=0;t<this.items.length;t++)Object.defineProperty(this,t,{value:this.items[t],writable:!0,configurable:!0,enumerable:!1})}isInteractive(){return this.cache.isInteractive}isUIElement(){return!0}}function ft(t,...e){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||"function"!=typeof r.value?Object.defineProperty(Object.getPrototypeOf(t),e,r):"function"==typeof r.value&&(Object.getPrototypeOf(t).hasOwnProperty(e)||Object.defineProperty(Object.getPrototypeOf(t),e,r))}}(t,e))}var dt=Object.freeze({__proto__:null,mount:function(t=this.target,e=0){return e>0?(setTimeout(()=>this.mount(t,0),e),this):(this.isBody||(t?.isUIElement&&(t=t.element),this.target=t,this.target?.appendChild(this.element)),this)},unmount:function(t=0){return t>0?(setTimeout(()=>this.unmount(0),t),this):(this.cache.parent?this.cache.parent.remove(this):this.target?.children?.length&&[...this.target.children].includes(this.element)&&this.target.removeChild(this.element),this)}});function gt(t){const{store:e,index:s}=__Ziko__.__State__;__Ziko__.__State__.register({value:t,subscribers:new Set,paused:!1});let r=e.get(s);return[function(){return{value:r.value,isStateGetter:()=>!0,_subscribe:t=>r.subscribers.add(t)}},function(t){r.paused||("function"==typeof t&&(t=t(r.value)),t!==r.value&&(r.value=t,r.subscribers.forEach(t=>t(r.value)),__Ziko__.__State__.update(s,t)))},{pause:()=>{r.paused=!0},resume:()=>{r.paused=!1},clear:()=>{r.subscribers.clear()},force:t=>{"function"==typeof t&&(t=t(r.value)),r.value=t,r.subscribers.forEach(t=>t(r.value))},getSubscribers:()=>new Set(r.subscribers)}]}globalThis.__Ziko__||mt();const bt=t=>"function"==typeof t&&t?.()?.isStateGetter?.();class wt extends et{constructor(...t){super("span","text",!1,...t),this.element=globalThis?.document?.createTextNode(...t)}isText(){return!0}}const yt=(...t)=>new wt(...t);async function _t(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++){if(["number","string"].includes(typeof s[r])&&(s[r]=yt(s[r])),s[r]instanceof Function){const t=s[r]();t.isStateGetter&&(s[r]=yt(t.value),t._subscribe(t=>s[r].element.textContent=t,s[r]))}if("function"==typeof globalThis?.Node&&s[r]instanceof globalThis?.Node&&(s[r]=new this.constructor(s[r])),s[r]?.isZikoUINode)s[r].cache.parent=this,this.element?.[t](s[r].element),s[r].target=this.element,this.items[e](s[r]);else if(s[r]instanceof Promise){const n=await s[r];n.cache.parent=this,this.element?.[t](n.element),n.target=this.element,this.items[e](n)}else 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}function vt(t,e){if(globalThis.SVGAElement&&this.element instanceof globalThis.SVGAElement&&(t=((t="")=>0!==t.length&&/^[a-z][a-zA-Z0-9]*$/.test(t))(t)?((t="")=>t.replace(/[A-Z]/g,t=>"-"+t.toLowerCase()))(t):t),!this?.attr[t]||this?.attr[t]!==e){if(bt(e)){e()._subscribe(e=>this.element?.setAttribute(t,e),this)}else this.element?.setAttribute(t,e);Object.assign(this.cache.attributes,{[t]:e})}}var xt=Object.freeze({__proto__:null,getAttr:function(t){return t=is_camelcase(t)?camel2hyphencase(t):t,this.element.attributes[t].value},removeAttr:function(...t){for(let e=0;e<t.length;e++)this.element?.removeAttribute(t[e]);return this},setAttr:function(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(" ")),vt.call(this,s[t],r[t])}else e instanceof Array&&(e=e.join(" ")),vt.call(this,t,e);return this},setContentEditable:function(t=!0){return this.setAttr("contenteditable",t),this}});var Mt=Object.freeze({__proto__:null,after:function(t){return t?.isUIElement&&(t=t.element),this.element?.after(t),this},append:function(...t){return _t.call(this,"append","push",...t),this},before:function(t){return t?.isUIElement&&(t=t.element),this.element?.before(t),this},clear:function(){return this?.items?.forEach(t=>t.unmount()),this.element.innerHTML="",this},insertAt:function(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]=yt(e[s])),this.element?.insertBefore(e[s].element,this.items[t].element),this.items.splice(t,0,e[s]);return this},prepend:function(...t){return this.__addItem__.call(this,"prepend","unshift",...t),this},remove:function(...t){const e=t=>{"number"==typeof t&&(t=this.items[t]),t?.isUIElement&&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},replaceElementWith:function(t){return this.cache.element.replaceWith(t),this.cache.element=t,this}});const Et={Click:["Click","DblClick","ClickAway"],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"],View:["EnterView","ExitView","ResizeView"],Swipe:["SwipeLeft","SwipeUp","SwipeRight","SwipeDown"]};function kt(t,e,s,r){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.callbacks[e]?.(this)}function Ct(t,...e){return(0===e.length?Object.keys(this.cache.paused):e).forEach(e=>{this.cache.paused.hasOwnProperty(e)&&(this.targetElement?.[t](e,this.cache.__controllers__[e],this.cache.options[e]),this.cache.paused[e]="removeEventListener"===t)}),this}const Tt=(t="")=>t.startsWith("Ptr")?`pointer${t.split("Ptr")[1].toLowerCase()}`:t.toLowerCase();class St{constructor(t,e=null,s=[],r,n){this.target=e,this.cache={signature:t,currentEvent:null,event:null,options:{},preventDefault:{},stopPropagation:{},stopImmediatePropagation:{},paused:{},callbacks:{},__controllers__:{}},s&&this._register_events(s,r,n)}_register_events(t,e,s,r=!0){const n=t?.map(t=>Tt(t));return n?.forEach((n,i)=>{this.cache.preventDefault[n]=!1,this.cache.options[n]={},this.cache.paused[n]=!1,this.cache.__controllers__[n]=t=>kt.call(this,t,n,e,s),r&&(this[`on${t[i]}`]=t=>this.__onEvent(n,this.cache.options[n],{},t))}),this}__onEvent(t,e,s,r){return r?(this.cache.callbacks[t]=r,this.__handle(t,this.cache.__controllers__[t],e,s),this):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}get detail(){return this.cache.event.detail}setTarget(t){return this.target=t,this}__handle(t,e,s){return this.targetElement?.addEventListener(t,e,s),this}#c(t,...e){return(0===e.length?Object.keys(this.cache[t]):e).forEach(e=>{this.cache[t].hasOwnProperty(e)&&(this.cache[t][e]=!0)}),this}preventDefault(...t){return this.#c("preventDefault",...t)}stopPropagation(...t){return this.#c("stopPropagation",...t)}stopImmediatePropagation(...t){return this.#c("stopImmediatePropagation",...t)}setEventOptions(t,e){const s=Tt(t);return this.pause(),Object.assign(this.cache.options[s],e),this.resume(),this}pause(...t){return Ct.call(this,"removeEventListener",...t)}resume(...t){return Ct.call(this,"addEventListener",...t)}dispose(){return this.pause(),this.target.events[this.cache.signature]=null,this}}function Ot(){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}}function At(){const t=this.targetElement.getBoundingClientRect(),e=this.event;let s=e.clientX-t.left|0,r=e.clientY-t.top|0;if(this.cache.useNormalisedCoordinates){const t=this.targetElement.clientWidth,e=this.targetElement.clientHeight;s=+(s/t*2-1).toFixed(8),r=+(r/e*-2+1).toFixed(8)}switch(this.currentEvent){case"pointerdown":this.dx=s,this.dy=r,this.isDown=!0;break;case"pointermove":this.mx=s,this.my=r,this.isMoving=!0;break;case"pointerup":this.ux=s,this.uy=r,this.isDown=!1,this.isMoving=!1}}function jt(){const t=this.targetElement.getBoundingClientRect(),e=this.event;let s=e.clientX-t.left|0,r=e.clientY-t.top|0;if(this.cache.useNormalisedCoordinates){const t=this.targetElement.clientWidth,e=this.targetElement.clientHeight;s=+(s/t*2-1).toFixed(8),r=+(r/e*-2+1).toFixed(8)}switch(this.currentEvent){case"mousedown":this.dx=s,this.dy=r,this.isDown=!0;break;case"mousemove":this.mx=s,this.my=r,this.isMoving=!0;break;case"mouserup":this.ux=s,this.uy=r,this.isDown=!1,this.isMoving=!1}}function Pt(){const t=this.event,e=t.touches?.[0]||t.changedTouches?.[0];if(!e)return;const s=this.targetElement.getBoundingClientRect();let r=e.clientX-s.left,n=e.clientY-s.top;if(this.cache.useNormalisedCoordinates){const t=this.targetElement.clientWidth,e=this.targetElement.clientHeight;r=+(r/t*2-1).toFixed(8),n=+(n/e*-2+1).toFixed(8)}switch(this.currentEvent){case"touchstart":this.dx=r,this.dy=n,this.isDown=!0;break;case"touchmove":this.mx=r,this.my=n,this.isMoving=!0;break;case"touchend":this.ux=r,this.uy=n,this.isDown=!1}}class Rt extends St{constructor(t,e=null,s=[],r,n){super(t,e,s,r,n),Object.assign(this.cache,{useNormalisedCoordinates:!1}),this.isDown=!1,this.isMoving=!1,this.dx=0,this.dy=0,this.mx=0,this.my=0,this.ux=0,this.uy=0}get isDragging(){return this.isDown&&this.isMoving}useNormalisedCoordinates(t=!0){return this.cache.useNormalisedCoordinates=t,this}}class It extends Event{constructor(t,e){super("clickaway",{bubbles:!0,cancelable:!0}),this.originalEvent=t,this.targetElement=e}}const Ft=(t,e)=>{let s=0;return(...r)=>{const n=(new Date).getTime();n-s<e||(s=n,t(...r))}};class zt extends CustomEvent{constructor(t,e,{bubbles:s=!0,cancelable:r=!0}={}){super(t,{detail:e,bubbles:s,cancelable:r})}}class $t extends CustomEvent{constructor(t,e){super(t,{detail:e,bubbles:!0,cancelable:!0})}}const Dt=(t,e)=>(function(t){function e(e){if(!t.contains(e.target)){const s=new It(e,t);t.dispatchEvent(s)}}console.log(t),globalThis?.document?.addEventListener("click",e)}(t.element),new St("click",t,Et.Click,null,e)),Lt=(t,e)=>new St("clipboard",t,Et.Clipboard,null,e),Nt=(t,e)=>new St("drag",t,Et.Drag,null,e),Ut=(t,e)=>new St("focus",t,Et.Focus,null,e),qt=(t,e)=>new St("key",t,Et.Key,Ot,e),Zt=(t,e)=>new Rt("mouse",t,Et.Mouse,jt,e),Bt=(t,e)=>new Rt("ptr",t,Et.Ptr,At,e),Vt=(t,e)=>new St("wheel",t,Et.Wheel,null,e),Ht=(t,e)=>(function(t,{intersection:e=!0,resize:s=!0,threshold:r=0,throttleResize:n=100,throttleEnterExit:i=0}={}){let o,a;const h=e=>{for(let s of e){const{width:e,height:r}=s.contentRect;t.dispatchEvent(new zt("resizeview",{width:e,height:r,entry:s}))}},c=n>0?Ft(h,n):h,l=e=>{for(let s of e){const e=s.isIntersecting?"enterview":"exitview";t.dispatchEvent(new zt(e,s))}},u=i>0?Ft(l,i):l;e&&(o=new IntersectionObserver(u,{threshold:r}),o.observe(t)),s&&(a=new ResizeObserver(c),a.observe(t))}(t.element),new St("view",t,Et.View,null,e)),Wt=(t,e)=>(function(t,e=50,s=100,r=500){let n=0,i=0,o=0,a=!1;function h(t){n=t.clientX,i=t.clientY,o=performance.now(),a=!0}function c(h){if(!a)return;a=!1;const c=h.clientX-n,l=h.clientY-i;let u=null,m=null;performance.now()-o<=r&&(Math.abs(c)>=e&&Math.abs(l)<=s?(u=c<0?"left":"right",m="swipe"+u):Math.abs(l)>=e&&Math.abs(c)<=s&&(u=l<0?"up":"down",m="swipe"+u)),m&&t.dispatchEvent(new $t(m,{direction:u,distX:c,distY:l,originalEvent:h}))}t.addEventListener("pointerdown",h,{passive:!0}),t.addEventListener("pointerup",c,{passive:!0})}(t.element),new St("swipe",t,Et.Swipe,null,e));class Gt extends St{constructor(t,e,s){super("custom",t,e,Kt,s)}_register_events(t){return super._register_events(t,null,null,!1),this}emit(t,e={}){const s=new CustomEvent(t,{detail:e,bubbles:!0,cancelable:!0});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 Kt(){}const Jt=(t,e,s)=>new Gt(t,e,s),Yt={ptr:Bt,mouse:Zt,key:qt,click:Dt,drag:Nt,clipboard:Lt,focus:Ut,wheel:Vt,view:Ht,swipe:Wt},Xt={on(t,...e){return this.events.custom||(this.events.custom=Jt(this)),this.events.custom.on(t,...e),this},emit(t,e={}){return this.events.custom||(this.events.custom=Jt(this)),this.events.custom.emit(t,e),this}};Object.entries(Et).forEach(([t,e])=>{const s=t.toLowerCase();e.forEach(t=>{const e=`on${t}`;Xt[e]=function(t){return this.events[s]||(this.events[s]=Yt[s](this)),this.events[s][e](t),this}})});var Qt=Object.freeze({__proto__:null,at:function(t){return this.items.at(t)},find:function(t){return this.items.filter(t)},forEach:function(t){return this.items.forEach(t),this},map:function(t){return this.items.map(t)}});var te=Object.freeze({__proto__:null,animate:function(t,{duration:e=1e3,iterations:s=1,easing:r="ease"}={}){return this.element?.animate(t,{duration:e,iterations:s,easing:r}),this},hide:function(){},show:function(){},size:function(t,e){return this.style({width:t,height:e})},style:function(t){if(!this.element?.style)return this;for(let e in t){const s=t[e];if(bt(s)){const t=s();Object.assign(this.element.style,{[e]:t.value}),t._subscribe(t=>{console.log({newValue:t}),Object.assign(this.element.style,{[e]:t})})}else Object.assign(this.element.style,{[e]:s})}return this}});let ee=class extends pt{constructor({element:t,name:e="",type:s="html",render:r=__Ziko__.__Config__.default.render}={}){super(),ft(this,dt,xt,Mt,te,Qt,Xt),t&&this.init(t,e,s,r)}get element(){return this.cache.element}isInteractive(){return this.cache.isInteractive}useClient(t){return this.cache.isInteractive||(this.element.setAttribute("data-hydration-index",globalThis.__Ziko__.__HYDRATION__.index),globalThis.__Ziko__.__HYDRATION__.register(()=>this),this.cache.isInteractive=!0),t&&this.element.setAttribute("data-hydration-directive",t),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}};class se extends ee{constructor(...t){super({element:"div",name:"view"}),this.append(...t)}}const re=["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","table","tbody","td","template","textarea","tfoot","th","thead","time","title","tr","track","u","ul","var","video","wbr"],ne=["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"],ie=["math","annotation","merror","mfrac","mi","mprescripts","mn","mo","mover","mpadded","mphantom","mprescripts","mroot","mrow","ms","semantics","mspace","msqrt","mstyle","msub","msup","msubsup","mtable","mtd","mtext","mtr","munder","munderover"],oe=new Proxy({},{get(t,e){if("string"!=typeof e)return;let s,r=e.replaceAll("_","-").toLowerCase();return re.includes(r)&&(s="html"),ne.includes(r)&&(s="svg"),ie.includes(r)&&(s="mathml"),(...t)=>0===t.length?new ee({element:r,name:r,type:s}):["string","number"].includes(typeof t[0])||t[0]instanceof ee||"function"==typeof t[0]&&t[0]().isStateGetter()?new ee({element:r,name:r,type:s}).append(...t):new ee({element:r,type:s}).setAttr(t.shift()).append(...t)}});function ae(t){return 1==t?this.style({flexDirection:"column"}):-1==t&&this.style({flexDirection:"column-reverse"}),this}function he(t){return 1==t?this.style({flexDirection:"row"}):-1==t&&this.style({flexDirection:"row-reverse"}),this}function ce(t){return"number"==typeof t&&(t=["flex-start","center","flex-end"][t+1]),t}function le(t){return ce(-t)}class ue extends ee{constructor({tag:t="div",orientation:e="h",order:s,w:r="100%",h:n="100%"}={}){super({element:t,name:"Flex"}),this.direction="cols",this.style({display:"flex"})}isFlex(){return!0}responsify(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 ae.call(this,s),this.style({alignItems:"number"==typeof t?ce.call(this,t):t,justifyContent:"number"==typeof e?le.call(this,e):e}),this}horizontal(t,e,s=1){return he.call(this,s),this.style({alignItems:"number"==typeof e?le.call(this,e):e,justifyContent:"number"==typeof t?ce.call(this,t):t}),this}show(){return this.isHidden=!1,this.style({display:"flex"}),this}}class me extends pt{constructor({element:t,name:e,type:s,render:r}){super({element:t,name:e,type:s,render:r})}}class pe extends me{constructor(t,e){super({element:"div",name:"suspense"}),this.setAttr({dataTemp:"suspense"}),this.fallback_ui=t,this.append(t),(async()=>{try{const s=await e();t.unmount(),this.append(s)}catch(t){console.log({error:t})}})()}}class fe extends ee{constructor(t){super({element:"div",name:"html_wrappper"}),this.element.append(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)),this.style({display:"contents"})}}class de extends ee{constructor(t){super({element:"div",name:"html_wrappper"}),this.element.append(function(t){if("undefined"!=typeof DOMParser){const e=(new DOMParser).parseFromString(t.trim(),"image/svg+xml").documentElement;if("parsererror"===e.nodeName)throw new Error("Invalid SVG string");if(e.hasAttribute("xmlns"))return e;const{children:s,attributes:r}=e,n=document.createElementNS("http://www.w3.org/2000/svg","svg");for(let{name:t,value:e}of r)n.setAttribute(t,e);return n.append(...s),globalThis.svg=e,globalThis.children=s,globalThis.attributes=r,globalThis.element=n,n}throw new Error("DOMParser is not available in this environment")}(t)),this.style({display:"contents"})}}class ge extends ee{constructor(t,e){super(),this.key=t,this.cases=e,this.init()}init(){Object.values(this.cases).filter(t=>t!=this.current).forEach(t=>t.unmount()),super.init(this.current.element)}get current(){const t=Object.keys(this.cases).find(t=>t==this.key)??"default";return this.cases[t]}updateKey(t){return this.key=t,this.replaceElementWith(this.current.element),this}}const{PI:be,sqrt:we,cos:ye,sin:_e,acos:ve,pow:xe}=Math,Me=t=>t,Ee=(t,e=7.5625,s=2.75)=>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;class ke{constructor(t,{ease:e=Me,step:s=50,t0:r=0,start:n=!0,duration:i=3e3}={}){this.callback=t,this.state={isRunning:!1,animationId:null,startTime:null,ease:e,step:s,autoStart:n,duration:i},this.t=0,this.tx=0,this.ty=0,this.i=0,this.state.autoStart&&this.start()}#l=()=>{this.t+=this.state.step,this.i++,this.tx=A(this.t,0,this.state.duration,0,1),this.ty=this.state.ease(this.tx),this.callback(this),this.t>=this.state.duration&&(clearInterval(this.state.animationId),this.state.isRunning=!1)};#u(t=!0){return this.state.isRunning||(t&&this.reset(!1),this.state.isRunning=!0,this.state.startTime=Date.now(),this.state.animationId=setInterval(this.#l,this.state.step)),this}start(){return this.#u(!0)}pause(){return this.state.isRunning&&(clearInterval(this.state.animationId),this.state.isRunning=!1),this}resume(){return this.#u(!1)}stop(){return this.pause(),this.reset(!1),this}reset(t=!0){return this.t=0,this.tx=0,this.ty=0,this.i=0,t&&this.start(),this}}class Ce{constructor(t,e,s=1/0,r){this.ms=e,this.fn=t,this.count=s,this.frame=1,this.id=null,this.running=!1,r&&this.start()}start(){return this.running||(this.running=!0,this.frame=1,this.id=setInterval(()=>{this.frame>this.count?this.stop():(this.fn.call(null,this),this.frame++)},this.ms)),this}stop(){return this.running&&(this.running=!1,clearInterval(this.id),this.id=null),this}isRunning(){return this.running}}class Te extends Ce{constructor(t=1e3/60){super(t,()=>this._tick()),this.elapsed=0,this._lastTime=performance.now(),this._callbacks=new Set}_tick(){const t=performance.now(),e=t-this._lastTime;this.elapsed+=e,this._lastTime=t;for(const t of this._callbacks)t({elapsed:this.elapsed,delta:e})}onTick(t){return this._callbacks.add(t),()=>this._callbacks.delete(t)}reset(){this.elapsed=0,this._lastTime=performance.now()}pause(){super.stop()}resume(){this._lastTime=performance.now(),super.start()}}class Se{constructor(t=[],{repeat:e=1,loop:s=!1}={}){this.tasks=t,this.repeat=e,this.loop=s,this.stopped=!1,this.running=!1,this.onStart=null,this.onTask=null,this.onEnd=null}async run(){if(this.running)return;this.running=!0,this.stopped=!1,this.onStart&&this.onStart();let t=this.repeat;do{for(const t of this.tasks){if(this.stopped)return;if(Array.isArray(t))await Promise.all(t.map(({fn:t,delay:e=0})=>new Promise(async s=>{e>0&&await new Promise(t=>setTimeout(t,e)),this.onTask&&this.onTask(t),await t(),s()})));else{const{fn:e,delay:s=0}=t;s>0&&await new Promise(t=>setTimeout(t,s)),this.onTask&&this.onTask(e),await e()}}}while(this.loop&&!this.stopped&&(t===1/0||t-- >1));!this.stopped&&this.onEnd&&this.onEnd(),this.running=!1}stop(){this.stopped=!0,this.running=!1}addTask(t){this.tasks.push(t)}clearTasks(){this.tasks=[]}}class Oe{constructor(t,{step:e=1e3,t0:s=0,t1:r=1/0,autoplay:n=!0}={}){this.callback=t,this.cache={isRunning:!1,id:null,last_tick:null,step:e,t0:s,t1:r,autoplay:n,pauseTime:null,frame:0},n&&(s?this.startAfter(s):this.start(),r!==1/0&&this.stopAfter(r))}get frame(){return this.cache.frame}get elapsed(){return this.cache.elapsed}start(){return this.cache.isRunning||(this.cache.frame=0,this.cache.isRunning=!0,this.cache.last_tick=Date.now(),this.animate()),this}pause(){return this.cache.isRunning&&(clearTimeout(this.cache.id),this.cache.isRunning=!1,this.cache.pauseTime=Date.now()),this}resume(){if(!this.cache.isRunning){if(this.cache.isRunning=!0,this.cache.pauseTime){const t=Date.now()-this.cache.pauseTime;this.cache.last_tick+=t}this.animate()}return this}stop(){return this.pause(),this.cache.frame=0,this}startAfter(t=1e3){return setTimeout(()=>this.start(),t),this}stopAfter(t=1e3){return setTimeout(()=>this.stop(),t),this}animate=()=>{if(this.cache.isRunning){const t=Date.now(),e=t-this.cache.last_tick;e>=this.cache.step&&(this.cache.elapsed=t-(this.cache.t0||0),this.callback(this),this.cache.frame++,this.cache.last_tick=t-e%this.cache.step),this.cache.id=setTimeout(this.animate,0)}}}const Ae=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"){try{const e=await fetch(t);if(!e.ok)throw new Error(`HTTP error! status: ${e.status}`);const s=await e.text();return(new DOMParser).parseFromString(s,"text/html").documentElement}catch(t){throw console.error("Failed to fetch DOM:",t),t}},globalThis.fetchdomSync=function(t="https://github.com/zakarialaoui10"){try{const e=Ae(t);return(new DOMParser).parseFromString(e,"text/html").documentElement}catch(t){throw console.error("Failed to fetch DOM synchronously:",t),t}};const je=(t,e=",")=>t.trim().trimEnd().split("\n").map(t=>t.split(e)),Pe=(t,e=",")=>{const[s,...r]=je(t,e);return r.map(t=>{const e={};return s.forEach((s,r)=>{e[s]=t[r]}),e})},Re=t=>t instanceof Array?[Object.keys(t[0]),...t.map(t=>Object.values(t))]:[Object.keys(t)],Ie=(t,e)=>Re(t).map(t=>t.join(e)).join("\n"),Fe=(t,e=",")=>Ie(t instanceof Object?t:JSON.parse(t),e),ze=(t,e)=>{const s=[];if(Array.isArray(t))t.forEach(t=>{if("object"==typeof t&&null!==t){s.push(`${e}-`);const r=ze(t,`${e} `);s.push(...r)}else s.push(`${e}- ${t}`)});else for(const r in t)if(t.hasOwnProperty(r)){const n=t[r];if("object"==typeof n&&null!==n){s.push(`${e}${r}:`);const t=ze(n,`${e} `);s.push(...t)}else s.push(`${e}${r}: ${n}`)}return s},$e=(t,e="")=>ze(t,e).join("\n"),De=(t,e)=>$e(t instanceof Object?t:JSON.parse(t),e),Le=(t,e=1)=>{let s="";for(const r in t)if(t.hasOwnProperty(r)){const n=t[r];s+="\n"+" ".repeat(e)+`<${r}>`,s+="object"==typeof n?Le(n,e+2):`${n}`,s+=`</${r}>`}return s.trim()},Ne=t=>(new XMLSerializer).serializeToString(t),Ue=t=>btoa(Ne(t)),qe=t=>"data:image/svg+xml;base64,"+Ue(t),Ze=t=>JSON.stringify(n(t=>["number","string","boolean","bigint"].includes(typeof t)?String(t):t instanceof y||t instanceof U?t.toString():t instanceof Array?Ve(t):void 0,t),null," ").replace(/"([^"]+)":/g,"$1:").replace(/: "([^"]+)"/g,": $1"),Be=t=>{if(!Array.isArray(t))return 0;let e=1;for(const s of t)if(Array.isArray(s)){const t=Be(s);t+1>e&&(e=t+1)}return e},Ve=t=>{let e=0;return function t(s){let r=Be(s),n=0;return s.some(t=>Array.isArray(t))&&(e++,n=1),"["+s.map((r,n)=>["number","string","boolean","bigint"].includes(typeof r)?String(r):r instanceof y?r.toString():r instanceof Array?`\n${" ".repeat(e)}${t(r)}${n===s.length-1?"\n":""}`:r instanceof Object?Ze(r):void 0)+`${" ".repeat((r+e+1)*n)}]`}(t)},He=(t,e=0)=>{t=We(t);let s="";const r=" ".repeat(e);for(let n in t)if("object"==typeof t[n]){s+=`${r}${n} {\n`;const i=t[n];for(let t in i)"object"==typeof i[t]?s+=He({[t]:i[t]},e+1):s+=`${r} ${t.replace(/[A-Z]/g,t=>"-"+t.toLowerCase())}: ${i[t]};\n`;s+=`${r}}\n`}return s};function We(t){return"object"!=typeof t||null===t?t:Object.keys(t).reduce((e,s)=>(e[s.trim()]=We(t[s]),e),Array.isArray(t)?[]:{})}class Ge{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.mount(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?.isUIElement?this.wrapper=t:"function"==typeof t&&(this.wrapper=t()),this}}function Ke(t){return/:\w+/.test(t)}class Je extends Ge{constructor({head:t,wrapper:e,target:s,routes:r}){super({head:t,wrapper:e,target:s}),this.routes=new Map([["404",yt("Error 404")],...Object.entries(r)]),this.clear(),globalThis.onpopstate=this.mount(location.pathname)}clear(){return[...this.routes].forEach(t=>{!Ke(t[0])&&t[1]?.isUIElement&&t[1].unmount()}),this}mount(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],n=r[t];if(!e.startsWith(":")&&e!==n)return!1}return!0}(e[0],t));let r;if(Ke(e)){const n=function(t,e){const s=t.split("/"),r=e.split("/"),n={};if(s.length!==r.length)return n;for(let t=0;t<s.length;t++){const e=s[t],i=r[t];if(e.startsWith(":"))n[e.slice(1)]=i;else if(e!==i)return{}}return n}(e,t);r=s.call(this,n)}else s?.isUIElement&&s.mount(this.wrapper),"function"==typeof s&&(r=s());return r?.isUIElement&&r.mount(this.wrapper),r instanceof Promise&&r.then(t=>t.mount(this.wrapper)),globalThis.history.pushState({},"",t),this}}const Ye=({head:t,wrapper:e,target:s,routes:r})=>new Je({head:t,wrapper:e,target:s,routes:r});function Xe(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("/"),n=e.split("/"),i=r.indexOf(n.at(-1));if(-1!==i){const t=r.slice(i+1),e=r.at(-1),n="index.js"===e||"index.ts"===e,o=s.some(t=>e===`.${t}`||e.endsWith(`.${t}`));if(n)return"/"+(t.length>1?t.slice(0,-1).join("/"):"");if(o)return"/"+t.join("/").replace(/\.(js|ts)$/,"")}return""}class Qe{#m;#p=new Map;#f=0;constructor(){const t=new Blob(['\n this.onmessage = function(e) {\n const { id, funStr, args, close } = e.data;\n try {\n const func = new Function("return " + funStr)();\n const result = func(...args);\n postMessage({ id, result });\n } catch (error) {\n postMessage({ id, error: error.message });\n } finally {\n if (close) self.close();\n }\n }\n '],{type:"text/javascript"});this.#m=new Worker(URL.createObjectURL(t)),this.#m.addEventListener("message",t=>{const{id:e,result:s,error:r}=t.data,n=this.#p.get(e);n&&(n(s,r),this.#p.delete(e))})}call(t,e,s=[],r=!0){if("function"!=typeof t)throw new TypeError("func must be a function");const n=++this.#f;return this.#p.set(n,e),this.#m.postMessage({id:n,funStr:t.toString(),args:s,close:r}),this}terminate(){this.#m.terminate()}}class ts{constructor(t=10){this.events={},this.maxListeners=t}on(t,e){return 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.`),this}once(t,e){const s=(...r)=>{this.off(t,s),e(...r)};return this.on(t,s)}off(t,e){const s=this.events[t];if(!s)return this;const r=s.indexOf(e);return-1!==r&&s.splice(r,1),this}emit(t,e){const s=this.events[t];return!!s&&([...s].forEach(s=>{try{s(e)}catch(e){console.error(`Error in listener for '${t}':`,e)}}),!0)}remove(t){return delete this.events[t],this}clear(){return this.events={},this}setMaxListeners(t){return this.maxListeners=t,this}}const es=t=>new ts(t);class ss{#d;#g;#b=null;constructor(t=[],e=()=>{}){this.#d=t,this.#g=e,this.#a()}#w(){return this.#d.some(({query:t})=>globalThis.matchMedia(t).matches)}#a(){this.#d.forEach(({query:t,callback:e})=>{const s=globalThis.matchMedia(t),r=()=>{const t=this.#w();s.matches?(e(),this.#b=e):t||this.#b===this.#g||(this.#g(),this.#b=this.#g)};r(),s.addEventListener("change",r)})}}class rs{constructor(t=document.title,e=!0){this.cache={emitter:null},e&&this.useEventEmitter(),this.set(t)}useEventEmitter(){return this.cache.emitter=es(),this}setTitle(t){return t!==document.title&&(document.title=t,this.cache.emitter&&this.cache.emitter.emit("ziko:title-changed",t)),this}get current(){return document.title}onChange(t){return this.cache.emitter&&this.cache.emitter.on("ziko:title-changed",t),this}}class ns{constructor(t,{namespace:e="Ziko",ValidateCssProps:s=!1}={}){this.currentPropsMap=t,this.namespace=e,this.ValidateCssProps=s,this.use(t)}use(t){return this.ValidateCssProps&&function(t){const e=new Set(Object.keys(document.documentElement.style));for(const s in t)if(!e.has(s))throw new Error(`Invalid CSS property: "${s}"`)}(t),this.currentPropsMap=t,this.#h(),this}#h(){const t=globalThis?.document?.documentElement?.style;for(const e in this.currentPropsMap){const s=this.namespace?`--${this.namespace}-${e}`:`--${e}`;t.setProperty(s,this.currentPropsMap[e]),Object.defineProperty(this,e,{value:`var(${s})`,writable:!0,configurable:!0,enumerable:!1})}}}let{sqrt:is,cos:os,sin:as,exp:hs,log:cs,cosh:ls,sinh:us}=Math;for(const t of Object.getOwnPropertyNames(Math)){const e=Math[t];"function"==typeof e&&(Math[t]=new Proxy(e,{apply(e,s,r){const n=r[0];if("number"==typeof n||0===r.length)return e.apply(s,r);if(n?.isComplex?.()){const{a:t,b:i,z:o,phi:a}=n,h=(t,e)=>new n.constructor(t,e);switch(e.name){case"abs":return n.z;case"sqrt":return h(is(o)*os(a/2),is(o)*as(a/2));case"log":return h(cs(o),a);case"exp":return h(hs(t)*os(i),hs(t)*as(i));case"cos":return h(os(t)*ls(i),-as(t)*us(i));case"sin":return h(as(t)*ls(i),os(t)*us(i));case"tan":{const e=os(2*t)+ls(2*i);return h(as(2*t)/e,us(2*i)/e)}case"cosh":return h(ls(t)*os(i),us(t)*as(i));case"sinh":return h(us(t)*os(i),ls(t)*as(i));case"tanh":{const e=ls(2*t)+os(2*i);return h(us(2*t)/e,as(2*i)/e)}default:return e.apply(s,r)}}throw new TypeError(`Math.${t} expects only numbers`)}}))}globalThis?.document&&document?.addEventListener("DOMContentLoaded",__Ziko__.__Config__.init()),t.App=({head:t,wrapper:e,target:s})=>new Ge({head:t,wrapper:e,target:s}),t.Clock=Te,t.Complex=y,t.E=s,t.EPSILON=r,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 n=0;n<e.length;n++){const i=await t[e[n]](),o=await i.default;Object.assign(r,{[Xe(e[n],s)]:o})}return Ye({target:document.body,routes:{"/":()=>{},...r},wrapper:oe.section()})},t.Flex=(...t)=>{let e="div";return"string"==typeof t[0]&&(e=t[0],t.pop()),new ue(e).append(...t)},t.HTMLWrapper=t=>new fe(t),t.Matrix=U,t.PI=e,t.Random=w,t.SPA=Ye,t.SVGWrapper=t=>new de(t),t.Scheduler=(t,{repeat:e=null}={})=>new Se(t,{repeat:e}),t.Suspense=(t,e)=>new pe(t,e),t.Switch=({key:t,cases:e})=>new ge(t,e),t.Tick=Ce,t.TimeAnimation=ke,t.TimeLoop=Oe,t.TimeScheduler=Se,t.UIElement=ee,t.UIFlex=ue,t.UIHTMLWrapper=fe,t.UINode=et,t.UISVGWrapper=de,t.UISwitch=ge,t.UIView=se,t.UseRoot=ns,t.UseThread=Qe,t.Utils=tt,t.View=(...t)=>new se(...t),t.ZikoApp=Ge,t.ZikoEvent=St,t.ZikoSPA=Je,t.ZikoUISuspense=pe,t.ZikoUIText=wt,t.abs=v,t.accum_prod=(...t)=>{let e,s=[],r=1,n=t.length;for(e=0;e<n;e++)r=l(r,t[e]),s.push(r);return s},t.accum_sum=d,t.acos=(...t)=>n(t=>{if(t?.isComplex){const{a:e,b:s}=t,r=Math.hypot(e+1,s),n=Math.hypot(e-1,s);return globalThis.Rp=r,globalThis.Rm=n,new t.constructor(Math.acos((r-n)/2),-Math.acosh((r+n)/2)).toFixed(8)}return+Math.acos(t).toFixed(8)},...t),t.acosh=(...t)=>n(t=>t?.isComplex?k(t.clone().add(M(t.clone().mul(t.clone()).sub(1)))):+Math.acosh(t).toFixed(8),...t),t.acot=(...t)=>n(t=>{if(t?.isComplex){const{a:e,b:s}=t;return new t.constructor(Math.atan(2*e/(e**2+(s-1)*(s+1)))/2,Math.log((e**2+(s-1)**2)/(e**2+(s+1)**2))/4).toFixed(8)}return+(Math.PI/2-Math.atan(t)).toFixed(8)},...t),t.add=h,t.and=I,t.animation=(t,{ease:e,t0:s,t1:r,start:n,duration:i}={})=>new ke(t,{ease:e,t0:s,t1:r,start:n,duration:i}),t.apply_fun=i,t.arange=V,t.arc=t=>1-_e(ve(t)),t.arr2str=Ve,t.asin=(...t)=>n(t=>{if(t?.isComplex){const{a:e,b:s}=t,r=Math.hypot(e+1,s),n=Math.hypot(e-1,s);return new t.constructor(Math.asin((r-n)/2),Math.acosh((r+n)/2)).toFixed(8)}return+Math.asin(t).toFixed(8)},...t),t.asinh=(...t)=>n(t=>t?.isComplex?k(t.clone().add(M(t.clone().mul(t.clone()).add(1)))):+Math.asinh(t).toFixed(8),...t),t.atan=(...t)=>n(t=>{if(t?.isComplex){const{a:e,b:s}=t;return new t.constructor(Math.atan(2*e/(1-e**2-s**2))/2,Math.log((e**2+(1+s)**2)/(e**2+(1-s)**2))/4).toFixed(8)}return+Math.atan(t).toFixed(8)},...t),t.atan2=j,t.atanh=(...t)=>n(t=>+Math.atanh(t).toFixed(8),...t),t.back=(t,e=1)=>t**2*((e+1)*t-e),t.bind_click_event=Dt,t.bind_clipboard_event=Lt,t.bind_drag_event=Nt,t.bind_focus_event=Ut,t.bind_key_event=qt,t.bind_mouse_event=Zt,t.bind_pointer_event=Bt,t.bind_swipe_event=Wt,t.bind_touch_event=(t,e)=>new Rt("touch",t,Et.Touch,Pt,e),t.bind_view_event=Ht,t.bind_wheel_event=Vt,t.binomial=(t,e)=>{if(t!==Math.floor(t))return TypeError("n must be an integer");if(e!==Math.floor(e))return TypeError("k must be an integer");if(t<0)return TypeError("n must be non-negative");if(e<0||t<0||e>t)return 0;e>t-e&&(e=t-e);let s,r=1;for(s=0;s<e;s++)r=r*(t-s)/(s+1);return r},t.cartesianProduct=Y,t.cbrt=(...t)=>n(t=>t.isComplex?.()?new t.constructor({z:t.z**(1/3),phi:t.phi/3}).toFixed(8):+Math.cbrt(t).toFixed(8),...t),t.ceil=(...t)=>n(t=>t.isComplex?.()?new t.constructor(Math.ceil(t.a),Math.ceil(t.b)):Math.ceil(t),...t),t.clamp=O,t.clock=t=>new Te(t),t.complex=_,t.cos=(...t)=>n(t=>t.isComplex?.()?new t.constructor(Math.cos(t.a)*Math.cosh(t.b),-Math.sin(t.a)*Math.sinh(t.b)).toFixed(8):+Math.cos(t).toFixed(8),...t),t.cosh=(...t)=>n(t=>t?.isComplex?new t.constructor(Math.cosh(t.a)*Math.cos(t.b),Math.sinh(t.a)*Math.sin(t.b)).toFixed(8):+Math.cosh(t).toFixed(8),...t),t.coth=(...t)=>n(t=>{if(t?.isComplex){const{a:e,b:s}=t,r=Math.sinh(e)**2*Math.cos(s)**2+Math.cosh(e)**2*Math.sin(s)**2;return new t.constructor(Math.cosh(e)*Math.sinh(e)/r,-Math.sin(s)*Math.cos(s)/r).toFixed(8)}return+(1/Math.tanh(t)).toFixed(8)},...t),t.croot=(...t)=>{const e=t.pop();if(!e.isComplex?.())throw Error("croot expect Complex number as root");return n(t=>{"number"==typeof t&&(t=new e.constructor(t,0));const{a:s,b:r}=e,{z:n,phi:i}=t,o=Math.hypot(s,r),a=Math.exp((Math.log(n)*s+i*r)/o),h=(i*s-Math.log(n)*r)/o;return new e.constructor(a*Math.cos(h),a*Math.sin(h)).toFixed(8)},...t)},t.csv2arr=je,t.csv2json=(t,e=",")=>JSON.stringify(Pe(t,e)),t.csv2matrix=(t,e=",")=>new U(je(t,e)),t.csv2object=Pe,t.csv2sql=(t,e)=>{const s=t.trim().trimEnd().split("\n").filter(t=>t);let r=`INSERT INTO ${e} (${s[0].split(",").join(", ")}) Values `,n=[];for(let t=1;t<s.length;t++){const e=s[t].split(",");n.push(`(${e})`)}return r+n.join(",\n")},t.debounce=(t,e=1e3)=>(...s)=>setTimeout(()=>t(...s),e),t.defineParamsGetter=function(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}})},t.define_wc=function(t,e,s={},{mode:r="open"}={}){globalThis.customElements?.get(t)?console.warn(`Custom element "${t}" is already defined`):-1!==t.search("-")?globalThis.customElements?.define(t,class extends HTMLElement{static get observedAttributes(){return["style",...Object.keys(s)]}constructor(){super(),this.attachShadow({mode:r}),this.props={},this.mask={...s}}connectedCallback(){this.render()}render(){this.shadowRoot.innerHTML="";const t=e(this.props);t instanceof Array?t.forEach(t=>t.mount(this.shadowRoot)):t.mount(this.shadowRoot)}attributeChangedCallback(t,e,s){Object.assign(this.props,{[t]:this.mask[t].type(s)}),this.render()}}):console.warn(`"${t}" is not a valid custom element name`)},t.deg2rad=(...t)=>n(t=>t*Math.PI/180,...t),t.discret=(t,e=5)=>Math.ceil(t*e)/e,t.div=u,t.elastic=t=>-2*xe(2,10*(t-1))*ye(20*be*t/3*t),t.event_controller=kt,t.exp=(...t)=>n(t=>t.isComplex?.()?new t.constructor(Math.exp(t.a)*Math.cos(t.b),Math.exp(t.a)*Math.sin(t.b)).toFixed(8):+Math.exp(t).toFixed(8),...t),t.floor=C,t.fract=(...t)=>n(t=>t.isComplex?.()?new t.constructor(t.a-Math.trunc(t.a),t.b-Math.trunc(t.b)):t-Math.trunc(t),...t),t.geomspace=G,t.getEvent=Tt,t.hypot=(...t)=>{const e=t.find(t=>t.isComplex?.());if(e){const s=t.map(t=>t.isComplex?.()?t:new e.constructor(t,0));return Math.hypot(...s.map(t=>t.z))}return Math.hypot(...t)},t.inRange=K,t.in_back=(t,e=1.70158,s=e+1)=>s*xe(t,3)-e*t**2,t.in_bounce=(t,e=7.5625,s=2.75)=>1-Ee(1-t,e,s),t.in_circ=t=>1-we(1-t**2),t.in_cubic=t=>t**3,t.in_elastic=(t,e=2*be/3)=>0===t?0:1===t?1:-xe(2,10*t-10)*_e((10*t-10.75)*e),t.in_expo=t=>0===t?0:2**(10*t-10),t.in_out_back=(t,e=1.70158,s=1.525*e)=>t<.5?xe(2*t,2)*(2*(s+1)*t-s)/2:(xe(2*t-2,2)*((s+1)*(2*t-2)+s)+2)/2,t.in_out_bounce=(t,e=7.5625,s=2.75)=>t<.5?Ee(1-2*t,e,s)/2:Ee(2*t-1,e,s)/2,t.in_out_circ=t=>t<.5?(1-we(1-(2*t)**2))/2:(we(1-(-2*t+2)**2)+1)/2,t.in_out_cubic=t=>t<.5?4*t**3:1-(-2*t+2)**3/2,t.in_out_elastic=(t,e=2*be/4.5)=>0===t?0:1===t?1:t<.5?-xe(2,20*t-10)*_e((20*t-11.125)*e)/2:xe(2,-20*t+10)*_e((20*t-11.125)*e)/2+1,t.in_out_expo=t=>0===t?0:1===t?1:t<.5?2**(20*t-10)/2:(2-2**(-20*t+10))/2,t.in_out_quad=t=>t<.5?2*t**2:1-(-2*t+2)**2/2,t.in_out_quart=t=>t<.5?8*t**4:1-(-2*t+2)**4/2,t.in_out_quint=t=>t<.5?16*t**5:1-(-2*t+2)**5/2,t.in_out_sin=t=>-(ye(be*t)-1)/2,t.in_quad=t=>t**2,t.in_quart=t=>t**4,t.in_quint=t=>t**5,t.in_sin=t=>1-ye(t*be/2),t.isApproximatlyEqual=J,t.isStateGetter=bt,t.json2arr=t=>Re(t instanceof Object?t:JSON.parse(t)),t.json2css=He,t.json2csv=Fe,t.json2csvFile=(t,e)=>{const s=Fe(t,e),r=new Blob([s],{type:"text/csv;charset=utf-8;"});return{str:s,blob:r,url:URL.createObjectURL(r)}},t.json2xml=Le,t.json2xmlFile=(t,e)=>{const s=Le(t,e),r=new Blob([s],{type:"text/xml;charset=utf-8;"});return{str:s,blob:r,url:URL.createObjectURL(r)}},t.json2yml=De,t.json2ymlFile=(t,e)=>{const s=De(t,e),r=new Blob([s],{type:"text/yml;charset=utf-8;"});return{str:s,blob:r,url:URL.createObjectURL(r)}},t.lerp=S,t.linear=Me,t.linspace=H,t.ln=k,t.logspace=W,t.loop=(t,e={})=>new Oe(t,e),t.map=A,t.mapfun=n,t.matrix=(t,e,s)=>new U(t,e,s),t.matrix2=(...t)=>new U(2,2,t),t.matrix3=(...t)=>new U(3,3,t),t.matrix4=(...t)=>new U(4,4,t),t.max=(...t)=>Math.max(...t),t.mean=p,t.median=t=>g(t,50),t.min=(...t)=>Math.min(...t),t.modulo=m,t.mul=l,t.nand=(...t)=>P(I(...t)),t.nor=(...t)=>P(F(...t)),t.norm=T,t.nthr=E,t.nums=B,t.obj2str=Ze,t.ones=Z,t.or=F,t.out_back=(t,e=1.70158,s=e+1)=>1+s*xe(t-1,3)+e*xe(t-1,2),t.out_bounce=Ee,t.out_circ=t=>we(1-(t-1)**2),t.out_cubic=t=>1-(1-t)**3,t.out_elastic=(t,e=2*be/3)=>0===t?0:1===t?1:xe(2,-10*t)*_e((10*t-.75)*e)+1,t.out_expo=t=>1===t?1:1-2**(-10*t),t.out_quad=t=>1-(1-t)**2,t.out_quart=t=>1-(1-t)**4,t.out_quint=t=>1-(1-t)**5,t.out_sin=t=>_e(t*be/2),t.percentile=g,t.pgcd=X,t.pow=x,t.ppcm=Q,t.preload=Ae,t.rad2deg=(...t)=>n(t=>t/Math.PI*180,...t),t.round=(...t)=>n(t=>t.isComplex?.()?new t.constructor(Math.round(t.a),Math.round(t.b)):Math.round(t),...t),t.sec=(...t)=>n(t=>(t.isComplex?.(),+(1/Math.cos(t)).toFixed(8)),...t),t.sig=(...t)=>n(t=>1/(1+Math.exp(-t)).toFixed(8),...t),t.sign=(...t)=>n(t=>{if(t.isComplex?.()){const{z:e,phi:s}=t;return 0===e?new t.constructor(0,0):new t.constructor({z:1,phi:s})}return Math.sign(t)},...t),t.sin=(...t)=>n(t=>t?.isComplex?new t.constructor(Math.sin(t.a)*Math.cosh(t.b),Math.cos(t.a)*Math.sinh(t.b)).toFixed(8):+Math.sin(t).toFixed(8),...t),t.sinh=(...t)=>n(t=>t?.isComplex?new t.constructor(Math.sinh(t.a)*Math.cos(t.b),Math.cosh(t.a)*Math.sin(t.b)).toFixed(8):+Math.sinh(t).toFixed(8),...t),t.sleep=t=>new Promise(e=>setTimeout(e,t)),t.sqrt=M,t.std=(...t)=>Math.sqrt(f(...t)),t.step=(t,e=5)=>Math.floor(t*e)/e,t.step_fps=t=>1e3/t,t.sub=c,t.svg2ascii=Ue,t.svg2img=(t,e=!0)=>oe.img(qe(t)).mount(e),t.svg2imgUrl=qe,t.svg2str=Ne,t.tags=oe,t.tan=(...t)=>n(t=>{if(t?.isComplex){const e=Math.cos(2*t.a)+Math.cosh(2*t.b);return new t.constructor(Math.sin(2*t.a)/e,Math.sinh(2*t.b)/e).toFixed(8)}return+Math.tan(t).toFixed(8)},...t),t.tanh=(...t)=>n(t=>{if(t?.isComplex){const e=Math.cosh(2*a)+Math.cos(2*b);return new t.constructor(Math.sinh(2*a)/e,Math.sin(2*b)/e).toFixed(8)}return+Math.tanh(t).toFixed(8)},...t),t.text=yt,t.throttle=Ft,t.tick=(t,e,s=1/0,r=!0)=>new Ce(t,e,s,r),t.timeTaken=t=>{console.time("timeTaken");const e=t();return console.timeEnd("timeTaken"),e},t.time_memory_Taken=t=>{const e=Date.now(),s=performance.memory.usedJSHeapSize,r=t();return{elapsedTime:Date.now()-e,usedMemory:performance.memory.usedJSHeapSize-s,result:r}},t.timeout=function(t,e){let s;const r=new Promise(r=>{s=setTimeout(()=>{e&&e(),r()},t)});return{id:s,clear:()=>clearTimeout(s),promise:r}},t.toggle_event_listener=Ct,t.trunc=(...t)=>n(t=>t.isComplex?.()?new t.constructor(Math.trunc(t.a),Math.trunc(t.b)):Math.trunc(t),...t),t.useDerived=function(t,e){let s=t(...e.map(t=>t().value));const r=new Set;return e.forEach(n=>{n()._subscribe(()=>{{const n=t(...e.map(t=>t().value));n!==s&&(s=n,r.forEach(t=>t(s)))}})}),()=>({value:s,isStateGetter:()=>!0,_subscribe:t=>r.add(t)})},t.useEventEmitter=es,t.useIPC=ht,t.useLocaleStorage=(t,e,s=!0)=>new ct(localStorage,t,e,s),t.useMediaQuery=(t,e)=>new ss(t,e),t.useReactive=t=>n(t=>{const e=gt(t);return{get:e[0],set:e[1]}},t),t.useRoot=(t,e={})=>new ns(t,e),t.useSessionStorage=lt,t.useState=gt,t.useThread=(t,e,s=[],r=!0)=>(new Qe).call(t,e,s,r),t.useTitle=(t,e=!0)=>new rs(t,e),t.variance=f,t.wait=t=>new Promise(e=>setTimeout(e,t)),t.waitForUIElm=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})}),t.waitForUIElmSync=(t,e=2e3)=>{const s=Date.now();for(;Date.now()-s<e;)if(t.element)return t.element},t.xnor=(...t)=>P(z(...t)),t.xor=z,t.zeros=q});
|
|
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";const{PI:e,E:s}=Math,r=Number.EPSILON,n=(t,...e)=>{const s=e.map(e=>{return"object"!=typeof(s=e)&&"function"!=typeof s||null===s||e?.__mapfun__?t(e):e instanceof Array?e.map(e=>n(t,e)):ArrayBuffer.isView(e)?e.map(e=>t(e)):e instanceof Set?new Set(n(t,...e)):e instanceof Map?new Map([...e].map(e=>[e[0],n(t,e[1])])):e.isMatrix?.()?new e.constructor(e.rows,e.cols,n(e.arr.flat(1))):e instanceof Object?Object.fromEntries(Object.entries(e).map(e=>[e[0],n(t,e[1])])):void 0;var s});return 1==s.length?s[0]:s},i=(t,e)=>t.isComplex?.()?new t.constructor(e(t.a),e(t.b)):t.isMatrix?.()?new t.constructor(t.rows,t.cols,t.arr.flat(1).map(e)):(t instanceof Array&&n(e,...t),e(t)),o=(t,e,s)=>{if("number"==typeof e){if("number"==typeof s)switch(t){case"add":return e+s;case"sub":return e-s;case"mul":return e*s;case"div":return e/s;case"modulo":return e%s}return s?.isComplex?.()&&(e=new s.constructor(e,0)),s?.isMatrix?.()&&(e=s.constructor.nums(s.rows,s.cols,e)),e[t](s)}if(e?.isComplex?.()){if("number"==typeof s||s?.isComplex?.())return e.clone()[t](s);if(s?.isMatrix?.())return(e=s.constructor.nums(s.rows,s.cols,e)).clone()[t](s)}if(e?.isMatrix?.())return e.clone()[t](s)},h=(t,...e)=>{let s=t;for(let t=0;t<e.length;t++)s=o("add",s,e[t]);return s},c=(t,...e)=>{let s=t;for(let t=0;t<e.length;t++)s=o("sub",s,e[t]);return s},l=(t,...e)=>{let s=t;for(let t=0;t<e.length;t++)s=o("mul",s,e[t]);return s},u=(t,...e)=>{let s=t;for(let t=0;t<e.length;t++)s=o("div",s,e[t]);return s},m=(t,...e)=>{let s=t;for(let t=0;t<e.length;t++)s=o("modulo",s,e[t]);return s},p=(...t)=>t.reduce((t,e)=>t+e)/t.length,f=(...t)=>{const e=t.length;if(0===e)return NaN;const s=p(...t);return t.reduce((t,e)=>t+(e-s)**2,0)/e},d=(...t)=>{let e,s=[],r=0,n=t.length;for(e=0;e<n;e++)r=h(r,t[e]),s.push(r);return s},g=(t,e)=>{if(0===t.length)return NaN;let s=[...t].sort((t,e)=>t-e),r=e/100*(s.length-1),n=Math.floor(r),i=r-n;return n===s.length-1?s[n]:s[n]*(1-i)+s[n+1]*i};class w{static int(t,e){return Math.floor(this.float(t,e))}static float(t,e){return void 0!==e?Math.random()*(e-t)+t:Math.random()*t}static bin(){return this.int(2)}static oct(){return this.int(8)}static dec(){return this.int(10)}static hex(){return((t,e,s)=>{const r=parseInt(t,e);if(Number.isNaN(r))throw new TypeError("Invalid value for the given base");return r.toString(s)})(this.int(16),10,16)}static char(t=!1){const e=t?this.int(65,91):this.int(97,123);return String.fromCharCode(e)}static bool(){return Boolean(this.int(2))}static get color(){return{hex:()=>`#${this.int(16777215).toString(16).padStart(6,"0")}`,hexa:()=>{const[t,e,s,r]=Array.from({length:4},()=>this.int(255).toString(16).padStart(2,"0"));return`#${t}${e}${s}${r}`},rgb:()=>{const[t,e,s]=Array.from({length:3},()=>this.int(255));return`rgb(${t}, ${e}, ${s})`},rgba:()=>{const[t,e,s]=Array.from({length:3},()=>this.int(255));return`rgba(${t}, ${e}, ${s}, ${Math.random().toFixed(2)})`},hsl:()=>`hsl(${this.int(360)}, ${this.int(100)}%, ${this.int(100)}%)`,hsla:()=>`hsla(${this.int(360)}, ${this.int(100)}%, ${this.int(100)}%, ${Math.random().toFixed(2)})`,gray:()=>{const t=this.int(255);return`rgb(${t}, ${t}, ${t})`}}}static get sample(){const t=this;return{int:(e,s,r)=>Array.from({length:e},()=>t.int(s,r)),float:(e,s,r)=>Array.from({length:e},()=>t.float(s,r)),char:(e,s=!1)=>Array.from({length:e},()=>t.char(s)),bool:e=>Array.from({length:e},()=>t.bool()),bin:e=>Array.from({length:e},()=>t.bin()),oct:e=>Array.from({length:e},()=>t.oct()),dec:e=>Array.from({length:e},()=>t.dec()),hex:e=>Array.from({length:e},()=>t.hex()),get color(){return{hex:e=>Array.from({length:e},()=>t.color.hex()),hexa:e=>Array.from({length:e},()=>t.color.hexa()),rgb:e=>Array.from({length:e},()=>t.color.rgb()),rgba:e=>Array.from({length:e},()=>t.color.rgba()),hsl:e=>Array.from({length:e},()=>t.color.hsl()),hsla:e=>Array.from({length:e},()=>t.color.hsla()),gray:e=>Array.from({length:e},()=>t.color.gray())}},choice:(e,s,r)=>Array.from({length:e},()=>t.choice(s,r))}}static shuffle(t){return[...t].sort(()=>.5-Math.random())}static choice(t=[1,2,3],e=new Array(t.length).fill(1/t.length)){const s=d(...e).map(t=>100*t),r=new Array(100);r.fill(t[0],0,s[0]);for(let e=1;e<t.length;e++)r.fill(t[e],s[e-1],s[e]);return r[this.int(r.length)]}}globalThis.Random=w;class y{constructor(t=0,e=0){[this.a,this.b]=((t,e,s)=>{let r,n;return e instanceof t?(r=e.a,n=e.b):"object"==typeof e?"a"in e&&"b"in e?(r=e.a,n=e.b):"a"in e&&"z"in e?(r=e.a,n=Math.sqrt(e.z**2-e.a**2)):"a"in e&&"phi"in e?(r=e.a,n=e.a*Math.tan(e.phi)):"b"in e&&"z"in e?(n=e.b,r=Math.sqrt(e.z**2-e.b**2)):"b"in e&&"phi"in e?(n=s,r=e.b/Math.tan(e.phi)):"z"in e&&"phi"in e&&(r=+e.z*Math.cos(e.phi).toFixed(15),n=+e.z*Math.sin(e.phi).toFixed(15)):"number"==typeof e&&"number"==typeof s&&(r=+e.toFixed(32),n=+s.toFixed(32)),[r,n]})(y,t,e)}get __mapfun__(){return!0}isComplex(){return!0}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}serialize(){return JSON.stringify({type:"complex",data:this})}static deserialize(t){"string"==typeof t&&(t=JSON.parse(t));let{data:e,type:s}=t;return"complex"===s&&"a"in e&&"b"in e?new y(e.a,e.b):TypeError("Not a valid complex")}toFixed(t){return this.a=+this.a.toFixed(t),this.b=+this.b.toFixed(t),this}toPrecision(t){return this.a=+this.a.toPrecision(t),this.b=+this.b.toPrecision(t),this}clone(){return new y(this.a,this.b)}get z(){return Math.hypot(this.a,this.b)}get phi(){return Math.atan2(this.b,this.a)}static zero(){return new y(0,0)}static fromPolar(t,e){return new y(+(t*cos(e)).toFixed(13),+(t*sin(e)).toFixed(13))}static get random(){return{int:(t,e)=>new y(...w.sample.int(2,t,e)),float:(t,e)=>new y(...w.sample.float(2,t,e))}}static twiddle(t,e){const s=-2*Math.PI*t/e;return new y(Math.cos(s),Math.sin(s))}get conj(){return new y(this.a,-this.b)}get inv(){return new y(this.a/Math.hypot(this.a,this.b),-this.b/Math.hypot(this.a,this.b))}add(...t){for(let e=0;e<t.length;e++)"number"==typeof t[e]&&(t[e]=new y(t[e],0)),this.a+=t[e].a,this.b+=t[e].b;return this}sub(...t){for(let e=0;e<t.length;e++)"number"==typeof t[e]&&(t[e]=new y(t[e],0)),this.a-=t[e].a,this.b-=t[e].b;return this}mul(...t){let{z:e,phi:s}=this;for(let r=0;r<t.length;r++)"number"==typeof t[r]&&(t[r]=new y(t[r],0)),e*=t[r].z,s+=t[r].phi;return this.a=e*Math.cos(s),this.b=e*Math.sin(s),this.toFixed(8)}div(...t){let{z:e,phi:s}=this;for(let r=0;r<t.length;r++)"number"==typeof t[r]&&(t[r]=new y(t[r],0)),e/=t[r].z,s-=t[r].phi;return this.a=e*Math.cos(s),this.b=e*Math.sin(s),this.toFixed(8)}modulo(...t){for(let e=0;e<t.length;e++)"number"==typeof t[e]&&(t[e]=new y(t[e],0)),this.a%=t[e].a,this.b%=t[e].b;return this}pow(...t){let{z:e,phi:s}=this;for(let r=0;r<t.length;r++)"number"==typeof t[r]&&(t[r]=new y(t[r],0)),e*=Math.exp(t[r].a*Math.log(e)-t[r].b*s),s+=t[r].b*Math.log(e)+t[r].a*s;return this.a=e*Math.cos(s),this.b=e*Math.sin(s),this}get expo(){return[this.z,this.phi]}nthr(t=2){return _({z:this.z**(1/t),phi:this.phi/t})}get sqrt(){return this.nthr(2)}get cbrt(){return this.nthr(3)}get log(){return _(this.z,this.phi)}get cos(){return _(Math.cos(this.a)*Math.cosh(this.b),Math.sin(this.a)*Math.sinh(this.b))}get sin(){return _(Math.sin(this.a)*Math.cosh(this.b),Math.cos(this.a)*Math.sinh(this.b))}get tan(){const t=cos(2*this.a)+cosh(2*this.b);return _(Math.sin(2*this.a)/t,Math.sinh(2*this.b)/t)}}const _=(t,e)=>{if((t instanceof Array||ArrayBuffer.isView(t))&&(e instanceof Array||ArrayBuffer.isView(t)))return t.map((s,r)=>_(t[r],e[r]));if(t.isMatrix?.()&&e.isMatrix?.()){if(t.shape[0]!==e.shape[0]||t.shape[1]!==e.shape[1])return Error(0);const s=t.arr.map((s,r)=>_(t.arr[r],e.arr[r]));return new t.constructor(t.rows,t.cols,...s)}return new y(t,e)},v=(...t)=>n(t=>t.isComplex?.()?t.z:Math.abs(t),...t),x=(...t)=>{const e=t.pop();return n(t=>t.isComplex?.()?e.isComplex?.()?new t.constructor({z:Math.exp(e.a*Math.log(t.z)-e.b*t.phi),phi:e.b*Math.log(t.z)+e.a*t.phi}):new t.constructor({z:t.z**e,phi:t.phi*e}):e.isComplex?.()?new t.constructor({z:Math.exp(e.a*Math.log(t)),phi:e.b*Math.log(t)}):Math.pow(t,e),...t)},M=(...t)=>n(t=>t.isComplex?.()?new t.constructor({z:t.z**.5,phi:t.phi/2}):t<0?_(0,Math.sqrt(-t)).toFixed(8):+Math.sqrt(t).toFixed(8),...t),E=(...t)=>{const e=t.pop();if("number"!=typeof e)throw Error("nthr expects a real number n");return n(t=>t.isComplex?.()?new t.constructor({z:t.z**(1/e),phi:t.phi/e}):t<0?e%2==2?_(0,(-t)**(1/e)).toFixed(8):+(-1*(-t)**(1/e)).toFixed(8):+(t**(1/e)).toFixed(8),...t)},k=(...t)=>n(t=>t.isComplex?.()?new t.constructor(Math.log(t.z),t.phi).toFixed(8):+Math.log(t).toFixed(8),...t),C=(...t)=>n(t=>t.isComplex?.()?new t.constructor(Math.floor(t.a),Math.floor(t.b)):Math.floor(t),...t),T=(t,e,s)=>i(t,t=>e!==s?(t-e)/(s-e):0),S=(t,e,s)=>i(t,t=>(s-e)*t+e),O=(t,e,s)=>i(t,t=>Math.min(Math.max(t,e),s)),A=(t,e,s,r,n)=>i(t,t=>S(T(t,e,s),r,n)),j=(t,e,s=!0)=>{if(t instanceof Array&&!(e instanceof Array))return n(t=>j(t,e,s),...t);if(e instanceof Array&&!(t instanceof Array))return n(e=>j(t,e,s),...e);if(t instanceof Array&&e instanceof Array)return t.map((t,r)=>j(t,e[r],s));const r=Math.atan2(t,e);return s?r:180*r/Math.PI},P=t=>t.isComplex?.()?new t.constructor(P(t.a),P(t.b)):t.isMatrix?.()?new t.constructor(t.rows,t.cols,t.arr.flat(1).map(P)):+!t,I=(t,e)=>{if(t.every(t=>t.isComplex?.())){const s=t.map(t=>t.a),r=t.map(t=>t.b);return new t[0].constructor(e(...s),e(...r))}if(t.every(t=>t.isMatrix?.())){if(!t.every(e=>e.rows===t[0].rows&&e.cols===t[0].cols))return TypeError("All matrices must have the same shape");const{rows:s,cols:r}=t[0],n=Array.from({length:s},(s,n)=>Array.from({length:r},(s,r)=>e(...t.map(t=>t.arr[n][r]))));return new t[0].constructor(n)}return null},R=(...t)=>{const e=I(t,R);return null!==e?e:t.reduce((t,e)=>t&e,1)},F=(...t)=>{const e=I(t,F);return null!==e?e:t.reduce((t,e)=>t|e,0)},z=(...t)=>{const e=I(t,z);return null!==e?e:t.reduce((t,e)=>t^e,0)},$=(t,e)=>{for(let e=0;e<t.arr.length;e++)Object.defineProperty(t,e,{value:t.arr[e],writable:!0,configurable:!0,enumerable:!1});for(let s=t.arr.length;s<e;s++)delete t[s]};function D(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}function L(t,e){if(t=t.clone(),e=e.clone(),t.rows!==e.rows)return;let s=t.arr;for(let r=0;r<t.rows;r++)for(let n=t.cols;n<t.cols+e.cols;n++)s[r][n]=e.arr[r][n-t.cols];return t.cols+=e.cols,new t.constructor(t.rows,t.cols,s.flat(1))}function N(t,e){if(t=t.clone(),e=e.clone(),t.cols!==e.cols)return;let s=t.arr;for(let r=t.rows;r<t.rows+e.rows;r++){s[r]=[];for(let n=0;n<t.cols;n++)s[r][n]=e.arr[r-t.rows][n]}return t.rows+=e.rows,new t.constructor(t.rows,t.cols,s.flat(1))}class U{constructor(t,e,s=[]){[this.rows,this.cols,this.arr]=((t,e,s,r)=>{if(!(e instanceof t)){let t,n,i=[];if(e instanceof Array)i=e,e=i.length,s=i[0].length;else for(t=0;t<e;t++)for(i.push([]),i[t].push(new Array(s)),n=0;n<s;n++)i[t][n]=r[t*s+n],null==r[t*s+n]&&(i[t][n]=0);return[e,s,i]}arr=e.arr,s=(e=e.rows).cols})(U,t,e,s),$(this)}isMatrix(){return!0}clone(){return new U(this.rows,this.cols,this.arr.flat(1))}toComplex(){return this.arr=n(t=>t?.isComplex?.()?t:new y(t,0),...this.arr),$(this),this}[Symbol.iterator](){return this.arr[Symbol.iterator]()}get size(){return this.rows*this.cols}get shape(){return[this.rows,this.cols]}at(t=0,e=void 0){if(t<0&&(t+=this.rows),t<0||t>=this.rows)throw new Error("Row index out of bounds");if(void 0===e)return this.arr[t];if(e<0&&(e+=this.cols),e<0||e>=this.cols)throw new Error("Column index out of bounds");return this.arr[t][e]}slice(t=0,e=0,s=this.rows-1,r=this.cols-1){s<0&&(s=this.rows+s),r<0&&(r=this.cols+r);let n=s-t,i=r-e,o=new Array(i);for(let s=0;s<n;s++){o[s]=[];for(let r=0;r<i;r++)o[s][r]=this.arr[s+t][r+e]}return this.arr=o,$(this.rows),this.rows=n,this.cols=i,this}reshape(t,e){if(t*e!==this.rows*this.cols)throw Error("size not matched");const s=this.rows;return Object.assign(this,new U(t,e,this.arr.flat(1))),$(s),this}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 U(this.cols,this.rows,t.flat(1))}get det(){return(t=this).isSquare?1==t.rows?t.arr[0][0]:function t(e){if(2==e.length)return e.flat(1).some(t=>t?.isMatrix?.())?void console.warn("Tensors are not completely supported yet ..."):c(l(e[0][0],e[1][1]),l(e[0][1],e[1][0]));for(var s=0,r=0;r<e.length;r++){const n=h(l(x(-1,r),l(e[0][r],t(D(e,r)))));s=h(s,n)}return s}(t.arr):new Error("is not square matrix");var t}get inv(){return function(t){if(t.row!==t.cols)throw Error('is not a square matrix"');if(0===t.det)throw Error("determinant should not equal 0");const{arr:e}=t;if(e.length===e[0].length){var s=0,r=0,n=0,i=e.length,o=0,a=[],h=[];for(s=0;s<i;s+=1)for(a[a.length]=[],h[h.length]=[],n=0;n<i;n+=1)a[s][n]=s==n?1:0,h[s][n]=e[s][n];for(s=0;s<i;s+=1){if(0==(o=h[s][s])){for(r=s+1;r<i;r+=1)if(0!=h[r][s]){for(n=0;n<i;n++)o=h[s][n],h[s][n]=h[r][n],h[r][n]=o,o=a[s][n],a[s][n]=a[r][n],a[r][n]=o;break}if(0==(o=h[s][s]))return}for(n=0;n<i;n++)h[s][n]=h[s][n]/o,a[s][n]=a[s][n]/o;for(r=0;r<i;r++)if(r!=s)for(o=h[r][s],n=0;n<i;n++)h[r][n]-=o*h[s][n],a[r][n]-=o*a[s][n]}return new t.constructor(a)}}(this)}static eye(t){let e=new U(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}static zeros(t,e){let s=new U(t,e);for(let n=0;n<t;n++)for(var r=0;r<e;r++)s.arr[n][r]=0;return s}static ones(t,e){let s=new U(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 U(t,e);for(let n=0;n<t;n++)for(let t=0;t<e;t++)r.arr[n][t]=s;return r}static get random(){return{int:(t,e,s,r)=>new U(t,e,w.sample.int(t*e,s,r)),float:(t,e,s)=>new U(t,e,w.sample.float(t*e,s,b))}}get range(){return{map:(t,e,s,r)=>(this.arr=A(this.arr,t,e,s,r),this),norm:(t,e)=>(this.arr=T(this.arr,t,e),this),lerp:(t,e)=>(this.arr=S(this.arr,t,e),this),clamp:(t,e)=>(this.arr=O(this.arr,t,e),this)}}hstack(...t){const e=[this,...t].reduce((t,e)=>L(t,e));return Object.assign(this,e),$(this),this}vstack(...t){const e=[this,...t].reduce((t,e)=>N(t,e));return Object.assign(this,e),$(this),this}hqueue(...t){const e=[this,...t].reverse().reduce((t,e)=>L(t,e));return Object.assign(this,e),$(this),this}vqueue(...t){const e=[this,...t].reverse().reduce((t,e)=>N(t,e));return Object.assign(this,e),$(this),this}forEach(t){return this.arr.flat(1).forEach(t),this}forEachRow(t){return this.arr.forEach(t),this}forEachCol(t){return this.clone().T.forEachRow(t),this}map(t){const e=this.arr.flat(1).map(t);return new U(this.rows,this.cols,e)}mapRows(t=()=>{}){return this.arr=this.arr.map(t),this}mapCols(t){return this.clone().T.mapRows(t).T}sort(t=()=>{}){const e=this.arr.flat(1).sort(t);return new U(this.rows,this.cols,e)}shuffle(){return this.sort(()=>.5-Math.random())}sortRows(t=()=>{}){return this.arr=this.arr.map(e=>e.sort(t)),this}shuffleRows(){return this.sortRows(()=>.5-Math.random())}sortCols(t){return this.clone().T.sortRows(t).T}shuffleCols(){return this.sortCols(()=>.5-Math.random())}reduce(t,e){const s=e?this.arr.flat(1).reduce(t,e):this.arr.flat(1).reduce(t);return new U([[s]])}reduceRows(t,e){const s=e?this.arr.map(s=>s.reduce(t,e)):this.arr.map(e=>e.reduce(t));return new U(1,this.cols,s)}reduceCols(t,e){return this.T.reduceRows(t,e).T}filterRows(t){const e=this.arr.map(e=>e.some(e=>t(e))),s=[];let r;for(r=0;r<e.length;r++)e[r]&&s.push(this.arr[r]);return new U(s)}filterCols(t){const e=this.T.filterRows(t);return new U(e).T}every(t){return this.arr.flat(1).every(t)}everyRow(t){return this.arr.map(e=>e.every(t))}everyCol(t){return this.T.arr.map(e=>e.every(t))}some(t){return this.arr.flat(1).some(t)}someRow(t){return this.arr.map(e=>e.some(t))}someCol(t){return this.T.arr.map(e=>e.some(t))}get isSquare(){return this.rows===this.cols}get isSym(){if(!this.isSquare)return!1;for(let t=0;t<this.rows;t++)for(let e=t+1;e<this.cols;e++)if(this.arr[t][e]!==this.arr[e][t])return!1;return!0}get isAntiSym(){if(!this.isSquare)return!1;const t=this.rows;for(let e=0;e<t;e++){if(0!==this.arr[e][e])return!1;for(let s=e+1;s<t;s++)if(this.arr[e][s]!==-this.arr[s][e])return!1}return!0}get isDiag(){if(!this.isSquare)return!1;const t=this.rows;for(let e=0;e<t;e++)for(let s=e+1;s<t;s++)if(0!==this.arr[e][s]||0!==this.arr[s][e])return!1;return!0}get isOrtho(){return!!this.isSquare&&(this.isDiag&&(1==this.det||-1==this.det))}get isIdemp(){if(!this.isSquare)return!1;const t=this.rows,e=this.arr,s=[];for(let r=0;r<t;r++){s[r]=[];for(let n=0;n<t;n++){let i=0;for(let s=0;s<t;s++)i+=e[r][s]*e[s][n];s[r][n]=i}}for(let r=0;r<t;r++)for(let n=0;n<t;n++)if(s[r][n]!==e[r][n])return!1;return!0}get isUpperTri(){if(!this.isSquare)return!1;const t=this.rows;for(let e=1;e<t;e++)for(let t=0;t<e;t++)if(0!==this.arr[e][t])return!1;return!0}get isLowerTri(){if(!this.isSquare)return!1;const t=this.rows;for(let e=0;e<t-1;e++)for(let s=e+1;s<t;s++)if(0!==this.arr[e][s])return!1;return!0}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}toFixed(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].toFixed(t);return this}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)}#t(t,...e){for(let r=0;r<e.length;r++){("number"==typeof e[r]||e[r]?.isComplex?.())&&(e[r]=U.nums(this.rows,this.cols,e[r]));for(let n=0;n<this.rows;n++)for(var s=0;s<this.cols;s++)this.arr[n][s]=t(this.arr[n][s],e[r].arr[n][s])}return new U(this.rows,this.cols,this.arr.flat(1))}add(...t){return this.#t(h,...t)}sub(...t){return this.#t(c,...t)}mul(...t){return this.#t(l,...t)}div(...t){return this.#t(u,...t)}modulo(...t){return this.#t(m,...t)}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 n=0;n<this.arr[0].length;n++)e[s][r]=h(e[s][r],l(this.arr[s][n],t.arr[n][r]))}}return new U(this.arr.length,t.arr[0].length,e.flat(1))}pow(t){let e=this.clone(),s=this.clone();for(let r=0;r<t-1;r++)s=s.dot(e);return s}sum(){let t=0;for(let e=0;e<this.rows;e++)for(let s=0;s<this.cols;s++)t=h(t,this.arr[e][s]);return t}prod(){let t=1;for(let e=0;e<this.rows;e++)for(let s=0;s<this.cols;s++)t=l(t,this.arr[e][s]);return t}hasComplex(){return this.arr.flat(1/0).some(t=>t instanceof y)}get min(){this.hasComplex()&&console.error("Complex numbers are not comparable");let t=[];for(let e=0;e<this.rows;e++)t.push(Math.min(...this.arr[e]));return Math.min(...t)}get max(){this.hasComplex()&&console.error("Complex numbers are not comparable");let t=[];for(let e=0;e<this.rows;e++)t.push(Math.max(...this.arr[e]));return Math.max(...t)}get minRows(){this.hasComplex()&&console.error("Complex numbers are not comparable");let t=[];for(let e=0;e<this.rows;e++)t.push(Math.min(...this.arr[e]));return t}get maxRows(){this.hasComplex()&&console.error("Complex numbers are not comparable");let t=[];for(let e=0;e<this.rows;e++)t.push(Math.max(...this.arr[e]));return t}get minCols(){return this.hasComplex()&&console.error("Complex numbers are not comparable"),this.T.minRows}get maxCols(){return this.hasComplex()&&console.error("Complex numbers are not comparable"),this.T.maxRows}static fromVector(t){return new U(t.length,1,t)}serialize(){const t=n(t=>t.serialize?.()||t,...this.arr);return JSON.stringify({type:"matrix",data:{rows:this.rows,cols:this.cols,arr:t}})}static deserialize(t){"string"==typeof t&&(t=JSON.parse(t));const{type:e,data:s}=t;if("matrix"!==e)return TypeError("Not a valid Matrix");let{arr:r}=s;return r=n(t=>{if("string"==typeof t){const e=JSON.parse(t),{type:s}=e;if("complex"===s)return y.deserialize(e)}return t},...r),new U(r)}flip(){return this.flipeH().flipeV()}flipeH(){return this.arr=this.arr.map(t=>[...t].reverse()),$(this),this}flipeV(){return this.arr=this.arr.reverse(),$(this),this}}const q=t=>new Array(t).fill(0),Z=t=>new Array(t).fill(1),B=(t,e)=>new Array(e).fill(t),V=(t,e,s,r=!1)=>{let n=[];if(t<e)for(let i=t;r?i<=e:i<e;i+=s)n.push(10*i/10);else for(let i=t;r?i>=e:i>e;i-=s)n.push(10*i/10);return n},H=(t,e,s=v(e-t)+1,r=!0)=>{if(Math.floor(s)===s){if([t,e].every(t=>"number"==typeof t)){const[o,a]=[t,e].sort((t,e)=>e-t);var n=[];let h;h=r?(o-a)/(s-1):(o-a)/s;for(var i=0;i<s;i++)t<e?n.push(a+h*i):n.push(o-h*i);return n}if([t,e].some(t=>t.isComplex?.())){const n=new s.constructor(t),i=new s.constructor(e);s=s||Math.abs(n.a-i.a)+1;const o=H(n.a,i.a,s,r),a=H(n.b,i.b,s,r);let h=new Array(s).fill(null);return h=h.map((t,e)=>new t.constructor(o[e],a[e])),h}}},W=(t,e,r=e-t+1,n=s,i=!0)=>H(t,e,r,i).map(t=>x(n,t)),G=(t,e,s=v(e-t)+1,r=!0)=>{if(Math.floor(s)===s){if([t,e].every(t=>"number"==typeof t)){const[n,i]=[t,e].sort((t,e)=>e-t);let o;o=E(n/i,r?s-1:s);const a=[i];for(let t=1;t<s;t++)a.push(a[t-1]*o);return t<e?a:a.reverse()}if([t,e].some(t=>t.isComplex?.())){const n=new s.constructor(t),i=new s.constructor(e);let o;s=s||Math.abs(n.a-i.a)+1,o=E(i.div(n),r?s-1:s);const a=[n];for(let t=1;t<s;t++)a.push(l(a[t-1],o));return a}}},K=(t,e,s)=>{const[r,n]=[Math.min(e,s),Math.max(e,s)];return t>=r&&t<=n},J=(t,e,s=1e-4)=>Math.abs(t-e)<=s,Y=(t,e)=>t.reduce((t,s)=>[...t,...e.map(t=>[s,t])],[]),X=(t,e)=>{let s,r=1;if(t==C(t)&&e==C(e)){for(s=2;s<=t&&s<=e;++s)t%s==0&&e%s==0&&(r=s);return r}console.log("error")},Q=(t,e)=>{let s;if(t==C(t)&&e==C(e)){for(s=t>e?t:e;s%t!=0||s%e!=0;)++s;return s}console.log("error")},tt={zeros:q,ones:Z,nums:B,arange:V,linspace:H,logspace:W,geomspace:G,cartesianProduct:Y,ppcm:Q,pgcd:X,inRange:K,isApproximatlyEqual:J};class et{constructor(t){this.cache={node:t}}isZikoUINode(){return!0}get node(){return this.cache.node}}class st extends Array{constructor(...t){super(...t)}clear(){return this.length=0,this}getItemById(t){return this.find(e=>e.element.id===t)}getItemsByTagName(t){return this.filter(e=>e.element.tagName.toLowerCase()===t.toLowerCase())}getElementsByClassName(t){return this.filter(e=>e.element.classList?.contains(t))}querySelector(t){const e=globalThis?.document?.querySelector(t);return e&&this.find(t=>t.element===e)||null}querySelectorAll(t){const e=globalThis?.document?.querySelectorAll(t);return Array.from(e).map(t=>this.find(e=>e.element===t)).filter(Boolean)}}const rt=new st,nt={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},it={store:new Map,index:0,register:function(t){this.store.set(this.index++,t)},reset(){this.index=0,this.store.clear()}},ot={ui_index:0,get_ui_index:function(){return this.ui_index++},register_ui:function(t){}};class at{#e;#s;#r;#n;#i;#o;constructor(t=""){this.#e=new BroadcastChannel(t),this.#s=new Map,this.#r=new Map,this.#n="ziko-channel:"+1e17*Math.random(),this.#i=new Set([this.#n]),this.#o=new Set,this.#e.addEventListener("message",t=>{const{last_sent_event:e,userId:s,eventData:r,rooms:n}=t.data;if(s===this.#n)return;if(n&&n.length&&!n.some(t=>this.#o.has(t)))return;this.#i.add(s),this.#s=new Map(r);const i=this.#r.get(e);i&&i.forEach(({fn:t,rooms:s})=>{s&&0!==s.length&&n&&!n.some(t=>s.includes(t))||t(this.#s.get(e))})})}emit(t,e,s){return this.#s.set(t,e),"string"==typeof s&&(s=[s]),this.#e.postMessage({eventData:Array.from(this.#s.entries()),last_sent_event:t,userId:this.#n,rooms:s&&s.length?s:void 0}),this}on(t,e=console.log,s){return this.#r.has(t)||this.#r.set(t,[]),"string"==typeof s&&(s=[s]),this.#r.get(t).push({fn:e,rooms:s}),this}off(t,e){return this.#r.has(t)?(this.#r.set(t,this.#r.get(t).filter(t=>t.fn!==e)),this):this}once(t,e,s){const r=s=>{e(s),this.off(t,r)};return this.on(t,r,s),this}join(...t){return t.forEach(t=>this.#o.add(t)),this}leave(...t){return t.length?t.forEach(t=>this.#o.delete(t)):this.#o.clear(),this}close(){return this.#e.close(),this}}const ht=t=>new at(t);class ct{constructor(t,e,s,r=!0){this.cache={storage:t,globalKey:e,channel:r?ht(`Ziko:useStorage-${e}`):null,oldItemKeys:new Set},this.#a(s,r)}get items(){const t=this.cache.storage.getItem(this.cache.globalKey);if(!t)return{};try{return JSON.parse(t)}catch{return{}}}#h(){const t=this.items;this.cache.oldItemKeys.forEach(t=>delete this[t]);for(const e in t)this[e]=t[e],this.cache.oldItemKeys.add(e)}#a(t,e){if(e&&this.cache.channel&&this.cache.channel.on("Ziko-Storage-Updated",()=>this.#h()),t)if(this.cache.storage.getItem(this.cache.globalKey)){const t=this.items;Object.keys(t).forEach(t=>this.cache.oldItemKeys.add(t)),this.#h()}else this.set(t);else this.#h()}set(t){return this.cache.storage.setItem(this.cache.globalKey,JSON.stringify(t)),this.cache.channel&&this.cache.channel.emit("Ziko-Storage-Updated",t),this.#h(),this}add(t){return this.set({...this.items,...t}),this}remove(...t){const e={...this.items};return t.forEach(t=>{delete e[t],delete this[t],this.cache.oldItemKeys.delete(t)}),this.set(e),this}get(t){return this.items[t]}clear(){return this.cache.storage.removeItem(this.cache.globalKey),this.cache.oldItemKeys.forEach(t=>delete this[t]),this.cache.oldItemKeys.clear(),this.#h(),this}onStorageUpdated(t){return this.cache.channel&&this.cache.channel.on("Ziko-Storage-Updated",t),this}}const lt=(t,e,s=!0)=>new ct(sessionStorage,t,e,s);var ut={store:new Map,index:0,session_storage:null,register:function(t){if(!(void 0).SSR&&(void 0).DEV){this.session||(this.session_storage=lt("ziko-state",{}));const e=this.session_storage.get(this.index);e?t.value=e:this.session_storage.add({[this.index]:t.value})}this.store.set(this.index++,t)},update:function(t,e){!(void 0).SSR&&(void 0).DEV&&this.session_storage.add({[t]:e})}};function mt(){var t;globalThis?.__Ziko__||(globalThis.__Ziko__={__UI__:rt,__HYDRATION__:it,__State__:ut,__Config__:nt,__CACHE__:ot,__PROVIDERS__:{}},t=__Ziko__,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}}))}mt();class pt extends et{constructor(){super()}init(t,e,s,r){if(this.target=globalThis.__Ziko__.__Config__.default.target||globalThis?.document?.body,"string"==typeof t)switch(s){case"html":t=globalThis?.document?.createElement(t);break;case"svg":t=globalThis?.document?.createElementNS("http://www.w3.org/2000/svg",t);break;default:throw Error("Not supported")}else this.target=t?.parentElement;Object.assign(this.cache,{name:e,isInteractive:!1,parent:null,isBody:!1,isRoot:!1,isHidden:!1,isFrozzen:!1,legacyParent:null,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},t&&Object.assign(this.cache,{element:t}),this.items=new st,globalThis.__Ziko__.__UI__[this.cache.name]?globalThis.__Ziko__.__UI__[this.cache.name]?.push(this):globalThis.__Ziko__.__UI__[this.cache.name]=[this],t&&r&&this?.render?.(),globalThis.__Ziko__.__UI__.push(this)}get element(){return this.cache.element}[Symbol.iterator](){return this.items[Symbol.iterator]()}maintain(){for(let t=0;t<this.items.length;t++)Object.defineProperty(this,t,{value:this.items[t],writable:!0,configurable:!0,enumerable:!1})}isInteractive(){return this.cache.isInteractive}isUIElement(){return!0}}function ft(t,...e){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||"function"!=typeof r.value?Object.defineProperty(Object.getPrototypeOf(t),e,r):"function"==typeof r.value&&(Object.getPrototypeOf(t).hasOwnProperty(e)||Object.defineProperty(Object.getPrototypeOf(t),e,r))}}(t,e))}var dt=Object.freeze({__proto__:null,mount:function(t=this.target,e=0){return e>0?(setTimeout(()=>this.mount(t,0),e),this):(this.isBody||(t?.isUIElement&&(t=t.element),this.target=t,this.target?.appendChild(this.element)),this)},unmount:function(t=0){return t>0?(setTimeout(()=>this.unmount(0),t),this):(this.cache.parent?this.cache.parent.remove(this):this.target?.children?.length&&[...this.target.children].includes(this.element)&&this.target.removeChild(this.element),this)}});function gt(t){const{store:e,index:s}=__Ziko__.__State__;__Ziko__.__State__.register({value:t,subscribers:new Set,paused:!1});let r=e.get(s);return[function(){return{value:r.value,isStateGetter:()=>!0,_subscribe:t=>r.subscribers.add(t)}},function(t){r.paused||("function"==typeof t&&(t=t(r.value)),t!==r.value&&(r.value=t,r.subscribers.forEach(t=>t(r.value)),__Ziko__.__State__.update(s,t)))},{pause:()=>{r.paused=!0},resume:()=>{r.paused=!1},clear:()=>{r.subscribers.clear()},force:t=>{"function"==typeof t&&(t=t(r.value)),r.value=t,r.subscribers.forEach(t=>t(r.value))},getSubscribers:()=>new Set(r.subscribers)}]}globalThis.__Ziko__||mt();const bt=t=>"function"==typeof t&&t?.()?.isStateGetter?.();class wt extends et{constructor(...t){super("span","text",!1,...t),this.element=globalThis?.document?.createTextNode(...t)}isText(){return!0}}const yt=(...t)=>new wt(...t);async function _t(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++){if(["number","string"].includes(typeof s[r])&&(s[r]=yt(s[r])),s[r]instanceof Function){const t=s[r]();t.isStateGetter&&(s[r]=yt(t.value),t._subscribe(t=>s[r].element.textContent=t,s[r]))}if("function"==typeof globalThis?.Node&&s[r]instanceof globalThis?.Node&&(s[r]=new this.constructor(s[r])),s[r]?.isZikoUINode)s[r].cache.parent=this,this.element?.[t](s[r].element),s[r].target=this.element,this.items[e](s[r]);else if(s[r]instanceof Promise){const n=await s[r];n.cache.parent=this,this.element?.[t](n.element),n.target=this.element,this.items[e](n)}else 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}function vt(t,e){if(globalThis.SVGAElement&&this.element instanceof globalThis.SVGAElement&&(t=((t="")=>0!==t.length&&/^[a-z][a-zA-Z0-9]*$/.test(t))(t)?((t="")=>t.replace(/[A-Z]/g,t=>"-"+t.toLowerCase()))(t):t),!this?.attr[t]||this?.attr[t]!==e){if(bt(e)){e()._subscribe(e=>this.element?.setAttribute(t,e),this)}else this.element?.setAttribute(t,e);Object.assign(this.cache.attributes,{[t]:e})}}var xt=Object.freeze({__proto__:null,getAttr:function(t){return t=is_camelcase(t)?camel2hyphencase(t):t,this.element.attributes[t].value},removeAttr:function(...t){for(let e=0;e<t.length;e++)this.element?.removeAttribute(t[e]);return this},setAttr:function(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(" ")),vt.call(this,s[t],r[t])}else e instanceof Array&&(e=e.join(" ")),vt.call(this,t,e);return this},setContentEditable:function(t=!0){return this.setAttr("contenteditable",t),this}});var Mt=Object.freeze({__proto__:null,after:function(t){return t?.isUIElement&&(t=t.element),this.element?.after(t),this},append:function(...t){return _t.call(this,"append","push",...t),this},before:function(t){return t?.isUIElement&&(t=t.element),this.element?.before(t),this},clear:function(){return this?.items?.forEach(t=>t.unmount()),this.element.innerHTML="",this},insertAt:function(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]=yt(e[s])),this.element?.insertBefore(e[s].element,this.items[t].element),this.items.splice(t,0,e[s]);return this},prepend:function(...t){return this.__addItem__.call(this,"prepend","unshift",...t),this},remove:function(...t){const e=t=>{"number"==typeof t&&(t=this.items[t]),t?.isUIElement&&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},replaceElementWith:function(t){return this.cache.element.replaceWith(t),this.cache.element=t,this}});const Et={Click:["Click","DblClick","ClickAway"],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"],View:["EnterView","ExitView","ResizeView"],Swipe:["SwipeLeft","SwipeUp","SwipeRight","SwipeDown"]};function kt(t,e,s,r){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.callbacks[e]?.(this)}function Ct(t,...e){return(0===e.length?Object.keys(this.cache.paused):e).forEach(e=>{this.cache.paused.hasOwnProperty(e)&&(this.targetElement?.[t](e,this.cache.__controllers__[e],this.cache.options[e]),this.cache.paused[e]="removeEventListener"===t)}),this}const Tt=(t="")=>t.startsWith("Ptr")?`pointer${t.split("Ptr")[1].toLowerCase()}`:t.toLowerCase();class St{constructor(t,e=null,s=[],r,n){this.target=e,this.cache={signature:t,currentEvent:null,event:null,options:{},preventDefault:{},stopPropagation:{},stopImmediatePropagation:{},paused:{},callbacks:{},__controllers__:{}},s&&this._register_events(s,r,n)}_register_events(t,e,s,r=!0){const n=t?.map(t=>Tt(t));return n?.forEach((n,i)=>{this.cache.preventDefault[n]=!1,this.cache.options[n]={},this.cache.paused[n]=!1,this.cache.__controllers__[n]=t=>kt.call(this,t,n,e,s),r&&(this[`on${t[i]}`]=t=>this.__onEvent(n,this.cache.options[n],{},t))}),this}__onEvent(t,e,s,r){return r?(this.cache.callbacks[t]=r,this.__handle(t,this.cache.__controllers__[t],e,s),this):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}get detail(){return this.cache.event.detail}setTarget(t){return this.target=t,this}__handle(t,e,s){return this.targetElement?.addEventListener(t,e,s),this}#c(t,...e){return(0===e.length?Object.keys(this.cache[t]):e).forEach(e=>{this.cache[t].hasOwnProperty(e)&&(this.cache[t][e]=!0)}),this}preventDefault(...t){return this.#c("preventDefault",...t)}stopPropagation(...t){return this.#c("stopPropagation",...t)}stopImmediatePropagation(...t){return this.#c("stopImmediatePropagation",...t)}setEventOptions(t,e){const s=Tt(t);return this.pause(),Object.assign(this.cache.options[s],e),this.resume(),this}pause(...t){return Ct.call(this,"removeEventListener",...t)}resume(...t){return Ct.call(this,"addEventListener",...t)}dispose(){return this.pause(),this.target.events[this.cache.signature]=null,this}}function Ot(){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}}function At(){const t=this.targetElement.getBoundingClientRect(),e=this.event;let s=e.clientX-t.left|0,r=e.clientY-t.top|0;if(this.cache.useNormalisedCoordinates){const t=this.targetElement.clientWidth,e=this.targetElement.clientHeight;s=+(s/t*2-1).toFixed(8),r=+(r/e*-2+1).toFixed(8)}switch(this.currentEvent){case"pointerdown":this.dx=s,this.dy=r,this.isDown=!0;break;case"pointermove":this.mx=s,this.my=r,this.isMoving=!0;break;case"pointerup":this.ux=s,this.uy=r,this.isDown=!1,this.isMoving=!1}}function jt(){const t=this.targetElement.getBoundingClientRect(),e=this.event;let s=e.clientX-t.left|0,r=e.clientY-t.top|0;if(this.cache.useNormalisedCoordinates){const t=this.targetElement.clientWidth,e=this.targetElement.clientHeight;s=+(s/t*2-1).toFixed(8),r=+(r/e*-2+1).toFixed(8)}switch(this.currentEvent){case"mousedown":this.dx=s,this.dy=r,this.isDown=!0;break;case"mousemove":this.mx=s,this.my=r,this.isMoving=!0;break;case"mouserup":this.ux=s,this.uy=r,this.isDown=!1,this.isMoving=!1}}function Pt(){const t=this.event,e=t.touches?.[0]||t.changedTouches?.[0];if(!e)return;const s=this.targetElement.getBoundingClientRect();let r=e.clientX-s.left,n=e.clientY-s.top;if(this.cache.useNormalisedCoordinates){const t=this.targetElement.clientWidth,e=this.targetElement.clientHeight;r=+(r/t*2-1).toFixed(8),n=+(n/e*-2+1).toFixed(8)}switch(this.currentEvent){case"touchstart":this.dx=r,this.dy=n,this.isDown=!0;break;case"touchmove":this.mx=r,this.my=n,this.isMoving=!0;break;case"touchend":this.ux=r,this.uy=n,this.isDown=!1}}class It extends St{constructor(t,e=null,s=[],r,n){super(t,e,s,r,n),Object.assign(this.cache,{useNormalisedCoordinates:!1}),this.isDown=!1,this.isMoving=!1,this.dx=0,this.dy=0,this.mx=0,this.my=0,this.ux=0,this.uy=0}get isDragging(){return this.isDown&&this.isMoving}useNormalisedCoordinates(t=!0){return this.cache.useNormalisedCoordinates=t,this}}class Rt extends Event{constructor(t,e){super("clickaway",{bubbles:!0,cancelable:!0}),this.originalEvent=t,this.targetElement=e}}const Ft=(t,e)=>{let s=0;return(...r)=>{const n=(new Date).getTime();n-s<e||(s=n,t(...r))}};class zt extends CustomEvent{constructor(t,e,{bubbles:s=!0,cancelable:r=!0}={}){super(t,{detail:e,bubbles:s,cancelable:r})}}class $t extends CustomEvent{constructor(t,e){super(t,{detail:e,bubbles:!0,cancelable:!0})}}const Dt=(t,e)=>(function(t){function e(e){if(!t.contains(e.target)){const s=new Rt(e,t);t.dispatchEvent(s)}}console.log(t),globalThis?.document?.addEventListener("click",e)}(t.element),new St("click",t,Et.Click,null,e)),Lt=(t,e)=>new St("clipboard",t,Et.Clipboard,null,e),Nt=(t,e)=>new St("drag",t,Et.Drag,null,e),Ut=(t,e)=>new St("focus",t,Et.Focus,null,e),qt=(t,e)=>new St("key",t,Et.Key,Ot,e),Zt=(t,e)=>new It("mouse",t,Et.Mouse,jt,e),Bt=(t,e)=>new It("ptr",t,Et.Ptr,At,e),Vt=(t,e)=>new St("wheel",t,Et.Wheel,null,e),Ht=(t,e)=>(function(t,{intersection:e=!0,resize:s=!0,threshold:r=0,throttleResize:n=100,throttleEnterExit:i=0}={}){let o,a;const h=e=>{for(let s of e){const{width:e,height:r}=s.contentRect;t.dispatchEvent(new zt("resizeview",{width:e,height:r,entry:s}))}},c=n>0?Ft(h,n):h,l=e=>{for(let s of e){const e=s.isIntersecting?"enterview":"exitview";t.dispatchEvent(new zt(e,s))}},u=i>0?Ft(l,i):l;e&&(o=new IntersectionObserver(u,{threshold:r}),o.observe(t)),s&&(a=new ResizeObserver(c),a.observe(t))}(t.element),new St("view",t,Et.View,null,e)),Wt=(t,e)=>(function(t,e=50,s=100,r=500){let n=0,i=0,o=0,a=!1;function h(t){n=t.clientX,i=t.clientY,o=performance.now(),a=!0}function c(h){if(!a)return;a=!1;const c=h.clientX-n,l=h.clientY-i;let u=null,m=null;performance.now()-o<=r&&(Math.abs(c)>=e&&Math.abs(l)<=s?(u=c<0?"left":"right",m="swipe"+u):Math.abs(l)>=e&&Math.abs(c)<=s&&(u=l<0?"up":"down",m="swipe"+u)),m&&t.dispatchEvent(new $t(m,{direction:u,distX:c,distY:l,originalEvent:h}))}t.addEventListener("pointerdown",h,{passive:!0}),t.addEventListener("pointerup",c,{passive:!0})}(t.element),new St("swipe",t,Et.Swipe,null,e));class Gt extends St{constructor(t,e,s){super("custom",t,e,Kt,s)}_register_events(t){return super._register_events(t,null,null,!1),this}emit(t,e={}){const s=new CustomEvent(t,{detail:e,bubbles:!0,cancelable:!0});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 Kt(){}const Jt=(t,e,s)=>new Gt(t,e,s),Yt={ptr:Bt,mouse:Zt,key:qt,click:Dt,drag:Nt,clipboard:Lt,focus:Ut,wheel:Vt,view:Ht,swipe:Wt},Xt={on(t,...e){return this.events.custom||(this.events.custom=Jt(this)),this.events.custom.on(t,...e),this},emit(t,e={}){return this.events.custom||(this.events.custom=Jt(this)),this.events.custom.emit(t,e),this}};Object.entries(Et).forEach(([t,e])=>{const s=t.toLowerCase();e.forEach(t=>{const e=`on${t}`;Xt[e]=function(t){return this.events[s]||(this.events[s]=Yt[s](this)),this.events[s][e](t),this}})});var Qt=Object.freeze({__proto__:null,at:function(t){return this.items.at(t)},find:function(t){return this.items.filter(t)},forEach:function(t){return this.items.forEach(t),this},map:function(t){return this.items.map(t)}});var te=Object.freeze({__proto__:null,animate:function(t,{duration:e=1e3,iterations:s=1,easing:r="ease"}={}){return this.element?.animate(t,{duration:e,iterations:s,easing:r}),this},hide:function(){},show:function(){},size:function(t,e){return this.style({width:t,height:e})},style:function(t){if(!this.element?.style)return this;for(let e in t){const s=t[e];if(bt(s)){const t=s();Object.assign(this.element.style,{[e]:t.value}),t._subscribe(t=>{console.log({newValue:t}),Object.assign(this.element.style,{[e]:t})})}else Object.assign(this.element.style,{[e]:s})}return this}});let ee=class extends pt{constructor({element:t,name:e="",type:s="html",render:r=__Ziko__.__Config__.default.render}={}){super(),ft(this,dt,xt,Mt,te,Qt,Xt),t&&this.init(t,e,s,r)}get element(){return this.cache.element}isInteractive(){return this.cache.isInteractive}useClient(t){return this.cache.isInteractive||(this.element.setAttribute("data-hydration-index",globalThis.__Ziko__.__HYDRATION__.index),globalThis.__Ziko__.__HYDRATION__.register(()=>this),this.cache.isInteractive=!0),t&&this.element.setAttribute("data-hydration-directive",t),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}};function se(t){return"object"!=typeof t&&"function"!=typeof t||null===t}class re extends ee{constructor(...t){super({element:"div",name:"view"}),this.append(...t)}}const ne=["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","table","tbody","td","template","textarea","tfoot","th","thead","time","title","tr","track","u","ul","var","video","wbr"],ie=["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"],oe=["math","annotation","merror","mfrac","mi","mprescripts","mn","mo","mover","mpadded","mphantom","mprescripts","mroot","mrow","ms","semantics","mspace","msqrt","mstyle","msub","msup","msubsup","mtable","mtd","mtext","mtr","munder","munderover"],ae=new Proxy({},{get(t,e){if("string"!=typeof e)return;let s,r=e.replaceAll("_","-").toLowerCase();return ne.includes(r)&&(s="html"),ie.includes(r)&&(s="svg"),oe.includes(r)&&(s="mathml"),(...t)=>0===t.length?new ee({element:r,name:r,type:s}):["string","number"].includes(typeof t[0])||t[0]instanceof ee||"function"==typeof t[0]&&t[0]().isStateGetter()?new ee({element:r,name:r,type:s}).append(...t):new ee({element:r,type:s}).setAttr(t.shift()).append(...t)}});function he(t){return 1==t?this.style({flexDirection:"column"}):-1==t&&this.style({flexDirection:"column-reverse"}),this}function ce(t){return 1==t?this.style({flexDirection:"row"}):-1==t&&this.style({flexDirection:"row-reverse"}),this}function le(t){return"number"==typeof t&&(t=["flex-start","center","flex-end"][t+1]),t}function ue(t){return le(-t)}class me extends ee{constructor({tag:t="div",orientation:e="h",order:s,w:r="100%",h:n="100%"}={}){super({element:t,name:"Flex"}),this.direction="cols",this.style({display:"flex"})}isFlex(){return!0}responsify(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 he.call(this,s),this.style({alignItems:"number"==typeof t?le.call(this,t):t,justifyContent:"number"==typeof e?ue.call(this,e):e}),this}horizontal(t,e,s=1){return ce.call(this,s),this.style({alignItems:"number"==typeof e?ue.call(this,e):e,justifyContent:"number"==typeof t?le.call(this,t):t}),this}show(){return this.isHidden=!1,this.style({display:"flex"}),this}}class pe extends pt{constructor({element:t,name:e,type:s,render:r}){super({element:t,name:e,type:s,render:r})}}class fe extends pe{constructor(t,e){super({element:"div",name:"suspense"}),this.setAttr({dataTemp:"suspense"}),this.fallback_ui=t,this.append(t),(async()=>{try{const s=await e();t.unmount(),this.append(s)}catch(t){console.log({error:t})}})()}}class de extends ee{constructor(t){super({element:"div",name:"html_wrappper"}),this.element.append(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)),this.style({display:"contents"})}}class ge extends ee{constructor(t){super({element:"div",name:"html_wrappper"}),this.element.append(function(t){if("undefined"!=typeof DOMParser){const e=(new DOMParser).parseFromString(t.trim(),"image/svg+xml").documentElement;if("parsererror"===e.nodeName)throw new Error("Invalid SVG string");if(e.hasAttribute("xmlns"))return e;const{children:s,attributes:r}=e,n=document.createElementNS("http://www.w3.org/2000/svg","svg");for(let{name:t,value:e}of r)n.setAttribute(t,e);return n.append(...s),globalThis.svg=e,globalThis.children=s,globalThis.attributes=r,globalThis.element=n,n}throw new Error("DOMParser is not available in this environment")}(t)),this.style({display:"contents"})}}class be extends ee{constructor(t,e){super(),this.key=t,this.cases=e,this.init()}init(){Object.values(this.cases).filter(t=>t!=this.current).forEach(t=>t.unmount()),super.init(this.current.element)}get current(){const t=Object.keys(this.cases).find(t=>t==this.key)??"default";return this.cases[t]}updateKey(t){return this.key=t,this.replaceElementWith(this.current.element),this}}const{PI:we,sqrt:ye,cos:_e,sin:ve,acos:xe,pow:Me}=Math,Ee=t=>t,ke=(t,e=7.5625,s=2.75)=>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;class Ce{constructor(t,{ease:e=Ee,step:s=50,t0:r=0,start:n=!0,duration:i=3e3}={}){this.callback=t,this.state={isRunning:!1,animationId:null,startTime:null,ease:e,step:s,autoStart:n,duration:i},this.t=0,this.tx=0,this.ty=0,this.i=0,this.state.autoStart&&this.start()}#l=()=>{this.t+=this.state.step,this.i++,this.tx=A(this.t,0,this.state.duration,0,1),this.ty=this.state.ease(this.tx),this.callback(this),this.t>=this.state.duration&&(clearInterval(this.state.animationId),this.state.isRunning=!1)};#u(t=!0){return this.state.isRunning||(t&&this.reset(!1),this.state.isRunning=!0,this.state.startTime=Date.now(),this.state.animationId=setInterval(this.#l,this.state.step)),this}start(){return this.#u(!0)}pause(){return this.state.isRunning&&(clearInterval(this.state.animationId),this.state.isRunning=!1),this}resume(){return this.#u(!1)}stop(){return this.pause(),this.reset(!1),this}reset(t=!0){return this.t=0,this.tx=0,this.ty=0,this.i=0,t&&this.start(),this}}class Te{constructor(t,e,s=1/0,r){this.ms=e,this.fn=t,this.count=s,this.frame=1,this.id=null,this.running=!1,r&&this.start()}start(){return this.running||(this.running=!0,this.frame=1,this.id=setInterval(()=>{this.frame>this.count?this.stop():(this.fn.call(null,this),this.frame++)},this.ms)),this}stop(){return this.running&&(this.running=!1,clearInterval(this.id),this.id=null),this}isRunning(){return this.running}}class Se extends Te{constructor(t=1e3/60){super(t,()=>this._tick()),this.elapsed=0,this._lastTime=performance.now(),this._callbacks=new Set}_tick(){const t=performance.now(),e=t-this._lastTime;this.elapsed+=e,this._lastTime=t;for(const t of this._callbacks)t({elapsed:this.elapsed,delta:e})}onTick(t){return this._callbacks.add(t),()=>this._callbacks.delete(t)}reset(){this.elapsed=0,this._lastTime=performance.now()}pause(){super.stop()}resume(){this._lastTime=performance.now(),super.start()}}class Oe{constructor(t=[],{repeat:e=1,loop:s=!1}={}){this.tasks=t,this.repeat=e,this.loop=s,this.stopped=!1,this.running=!1,this.onStart=null,this.onTask=null,this.onEnd=null}async run(){if(this.running)return;this.running=!0,this.stopped=!1,this.onStart&&this.onStart();let t=this.repeat;do{for(const t of this.tasks){if(this.stopped)return;if(Array.isArray(t))await Promise.all(t.map(({fn:t,delay:e=0})=>new Promise(async s=>{e>0&&await new Promise(t=>setTimeout(t,e)),this.onTask&&this.onTask(t),await t(),s()})));else{const{fn:e,delay:s=0}=t;s>0&&await new Promise(t=>setTimeout(t,s)),this.onTask&&this.onTask(e),await e()}}}while(this.loop&&!this.stopped&&(t===1/0||t-- >1));!this.stopped&&this.onEnd&&this.onEnd(),this.running=!1}stop(){this.stopped=!0,this.running=!1}addTask(t){this.tasks.push(t)}clearTasks(){this.tasks=[]}}class Ae{constructor(t,{step:e=1e3,t0:s=0,t1:r=1/0,autoplay:n=!0}={}){this.callback=t,this.cache={isRunning:!1,id:null,last_tick:null,step:e,t0:s,t1:r,autoplay:n,pauseTime:null,frame:0},n&&(s?this.startAfter(s):this.start(),r!==1/0&&this.stopAfter(r))}get frame(){return this.cache.frame}get elapsed(){return this.cache.elapsed}start(){return this.cache.isRunning||(this.cache.frame=0,this.cache.isRunning=!0,this.cache.last_tick=Date.now(),this.animate()),this}pause(){return this.cache.isRunning&&(clearTimeout(this.cache.id),this.cache.isRunning=!1,this.cache.pauseTime=Date.now()),this}resume(){if(!this.cache.isRunning){if(this.cache.isRunning=!0,this.cache.pauseTime){const t=Date.now()-this.cache.pauseTime;this.cache.last_tick+=t}this.animate()}return this}stop(){return this.pause(),this.cache.frame=0,this}startAfter(t=1e3){return setTimeout(()=>this.start(),t),this}stopAfter(t=1e3){return setTimeout(()=>this.stop(),t),this}animate=()=>{if(this.cache.isRunning){const t=Date.now(),e=t-this.cache.last_tick;e>=this.cache.step&&(this.cache.elapsed=t-(this.cache.t0||0),this.callback(this),this.cache.frame++,this.cache.last_tick=t-e%this.cache.step),this.cache.id=setTimeout(this.animate,0)}}}const je=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"){try{const e=await fetch(t);if(!e.ok)throw new Error(`HTTP error! status: ${e.status}`);const s=await e.text();return(new DOMParser).parseFromString(s,"text/html").documentElement}catch(t){throw console.error("Failed to fetch DOM:",t),t}},globalThis.fetchdomSync=function(t="https://github.com/zakarialaoui10"){try{const e=je(t);return(new DOMParser).parseFromString(e,"text/html").documentElement}catch(t){throw console.error("Failed to fetch DOM synchronously:",t),t}};const Pe=(t,e=",")=>t.trim().trimEnd().split("\n").map(t=>t.split(e)),Ie=(t,e=",")=>{const[s,...r]=Pe(t,e);return r.map(t=>{const e={};return s.forEach((s,r)=>{e[s]=t[r]}),e})},Re=t=>t instanceof Array?[Object.keys(t[0]),...t.map(t=>Object.values(t))]:[Object.keys(t)],Fe=(t,e)=>Re(t).map(t=>t.join(e)).join("\n"),ze=(t,e=",")=>Fe(t instanceof Object?t:JSON.parse(t),e),$e=(t,e)=>{const s=[];if(Array.isArray(t))t.forEach(t=>{if("object"==typeof t&&null!==t){s.push(`${e}-`);const r=$e(t,`${e} `);s.push(...r)}else s.push(`${e}- ${t}`)});else for(const r in t)if(t.hasOwnProperty(r)){const n=t[r];if("object"==typeof n&&null!==n){s.push(`${e}${r}:`);const t=$e(n,`${e} `);s.push(...t)}else s.push(`${e}${r}: ${n}`)}return s},De=(t,e="")=>$e(t,e).join("\n"),Le=(t,e)=>De(t instanceof Object?t:JSON.parse(t),e),Ne=(t,e=1)=>{let s="";for(const r in t)if(t.hasOwnProperty(r)){const n=t[r];s+="\n"+" ".repeat(e)+`<${r}>`,s+="object"==typeof n?Ne(n,e+2):`${n}`,s+=`</${r}>`}return s.trim()},Ue=t=>(new XMLSerializer).serializeToString(t),qe=t=>btoa(Ue(t)),Ze=t=>"data:image/svg+xml;base64,"+qe(t),Be=t=>JSON.stringify(n(t=>["number","string","boolean","bigint"].includes(typeof t)?String(t):t instanceof y||t instanceof U?t.toString():t instanceof Array?He(t):void 0,t),null," ").replace(/"([^"]+)":/g,"$1:").replace(/: "([^"]+)"/g,": $1"),Ve=t=>{if(!Array.isArray(t))return 0;let e=1;for(const s of t)if(Array.isArray(s)){const t=Ve(s);t+1>e&&(e=t+1)}return e},He=t=>{let e=0;return function t(s){let r=Ve(s),n=0;return s.some(t=>Array.isArray(t))&&(e++,n=1),"["+s.map((r,n)=>["number","string","boolean","bigint"].includes(typeof r)?String(r):r instanceof y?r.toString():r instanceof Array?`\n${" ".repeat(e)}${t(r)}${n===s.length-1?"\n":""}`:r instanceof Object?Be(r):void 0)+`${" ".repeat((r+e+1)*n)}]`}(t)},We=(t,e=0)=>{t=Ge(t);let s="";const r=" ".repeat(e);for(let n in t)if("object"==typeof t[n]){s+=`${r}${n} {\n`;const i=t[n];for(let t in i)"object"==typeof i[t]?s+=We({[t]:i[t]},e+1):s+=`${r} ${t.replace(/[A-Z]/g,t=>"-"+t.toLowerCase())}: ${i[t]};\n`;s+=`${r}}\n`}return s};function Ge(t){return"object"!=typeof t||null===t?t:Object.keys(t).reduce((e,s)=>(e[s.trim()]=Ge(t[s]),e),Array.isArray(t)?[]:{})}class Ke{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.mount(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?.isUIElement?this.wrapper=t:"function"==typeof t&&(this.wrapper=t()),this}}function Je(t){return/:\w+/.test(t)}class Ye extends Ke{constructor({head:t,wrapper:e,target:s,routes:r}){super({head:t,wrapper:e,target:s}),this.routes=new Map([["404",yt("Error 404")],...Object.entries(r)]),this.clear(),globalThis.onpopstate=this.mount(location.pathname)}clear(){return[...this.routes].forEach(t=>{!Je(t[0])&&t[1]?.isUIElement&&t[1].unmount()}),this}mount(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],n=r[t];if(!e.startsWith(":")&&e!==n)return!1}return!0}(e[0],t));let r;if(Je(e)){const n=function(t,e){const s=t.split("/"),r=e.split("/"),n={};if(s.length!==r.length)return n;for(let t=0;t<s.length;t++){const e=s[t],i=r[t];if(e.startsWith(":"))n[e.slice(1)]=i;else if(e!==i)return{}}return n}(e,t);r=s.call(this,n)}else s?.isUIElement&&s.mount(this.wrapper),"function"==typeof s&&(r=s());return r?.isUIElement&&r.mount(this.wrapper),r instanceof Promise&&r.then(t=>t.mount(this.wrapper)),globalThis.history.pushState({},"",t),this}}const Xe=({head:t,wrapper:e,target:s,routes:r})=>new Ye({head:t,wrapper:e,target:s,routes:r});function Qe(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("/"),n=e.split("/"),i=r.indexOf(n.at(-1));if(-1!==i){const t=r.slice(i+1),e=r.at(-1),n="index.js"===e||"index.ts"===e,o=s.some(t=>e===`.${t}`||e.endsWith(`.${t}`));if(n)return"/"+(t.length>1?t.slice(0,-1).join("/"):"");if(o)return"/"+t.join("/").replace(/\.(js|ts)$/,"")}return""}class ts{#m;#p=new Map;#f=0;constructor(){const t=new Blob(['\n this.onmessage = function(e) {\n const { id, funStr, args, close } = e.data;\n try {\n const func = new Function("return " + funStr)();\n const result = func(...args);\n postMessage({ id, result });\n } catch (error) {\n postMessage({ id, error: error.message });\n } finally {\n if (close) self.close();\n }\n }\n '],{type:"text/javascript"});this.#m=new Worker(URL.createObjectURL(t)),this.#m.addEventListener("message",t=>{const{id:e,result:s,error:r}=t.data,n=this.#p.get(e);n&&(n(s,r),this.#p.delete(e))})}call(t,e,s=[],r=!0){if("function"!=typeof t)throw new TypeError("func must be a function");const n=++this.#f;return this.#p.set(n,e),this.#m.postMessage({id:n,funStr:t.toString(),args:s,close:r}),this}terminate(){this.#m.terminate()}}class es{constructor(t=10){this.events={},this.maxListeners=t}on(t,e){return 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.`),this}once(t,e){const s=(...r)=>{this.off(t,s),e(...r)};return this.on(t,s)}off(t,e){const s=this.events[t];if(!s)return this;const r=s.indexOf(e);return-1!==r&&s.splice(r,1),this}emit(t,e){const s=this.events[t];return!!s&&([...s].forEach(s=>{try{s(e)}catch(e){console.error(`Error in listener for '${t}':`,e)}}),!0)}remove(t){return delete this.events[t],this}clear(){return this.events={},this}setMaxListeners(t){return this.maxListeners=t,this}}const ss=t=>new es(t);class rs{#d;#g;#b=null;constructor(t=[],e=()=>{}){this.#d=t,this.#g=e,this.#a()}#w(){return this.#d.some(({query:t})=>globalThis.matchMedia(t).matches)}#a(){this.#d.forEach(({query:t,callback:e})=>{const s=globalThis.matchMedia(t),r=()=>{const t=this.#w();s.matches?(e(),this.#b=e):t||this.#b===this.#g||(this.#g(),this.#b=this.#g)};r(),s.addEventListener("change",r)})}}class ns{constructor(t=document.title,e=!0){this.cache={emitter:null},e&&this.useEventEmitter(),this.set(t)}useEventEmitter(){return this.cache.emitter=ss(),this}setTitle(t){return t!==document.title&&(document.title=t,this.cache.emitter&&this.cache.emitter.emit("ziko:title-changed",t)),this}get current(){return document.title}onChange(t){return this.cache.emitter&&this.cache.emitter.on("ziko:title-changed",t),this}}class is{constructor(t,{namespace:e="Ziko",ValidateCssProps:s=!1}={}){this.currentPropsMap=t,this.namespace=e,this.ValidateCssProps=s,this.use(t)}use(t){return this.ValidateCssProps&&function(t){const e=new Set(Object.keys(document.documentElement.style));for(const s in t)if(!e.has(s))throw new Error(`Invalid CSS property: "${s}"`)}(t),this.currentPropsMap=t,this.#h(),this}#h(){const t=globalThis?.document?.documentElement?.style;for(const e in this.currentPropsMap){const s=this.namespace?`--${this.namespace}-${e}`:`--${e}`;t.setProperty(s,this.currentPropsMap[e]),Object.defineProperty(this,e,{value:`var(${s})`,writable:!0,configurable:!0,enumerable:!1})}}}let{sqrt:os,cos:as,sin:hs,exp:cs,log:ls,cosh:us,sinh:ms}=Math;for(const t of Object.getOwnPropertyNames(Math)){const e=Math[t];"function"==typeof e&&(Math[t]=new Proxy(e,{apply(e,s,r){const n=r[0];if("number"==typeof n||0===r.length)return e.apply(s,r);if(n?.isComplex?.()){const{a:t,b:i,z:o,phi:a}=n,h=(t,e)=>new n.constructor(t,e);switch(e.name){case"abs":return n.z;case"sqrt":return h(os(o)*as(a/2),os(o)*hs(a/2));case"log":return h(ls(o),a);case"exp":return h(cs(t)*as(i),cs(t)*hs(i));case"cos":return h(as(t)*us(i),-hs(t)*ms(i));case"sin":return h(hs(t)*us(i),as(t)*ms(i));case"tan":{const e=as(2*t)+us(2*i);return h(hs(2*t)/e,ms(2*i)/e)}case"cosh":return h(us(t)*as(i),ms(t)*hs(i));case"sinh":return h(ms(t)*as(i),us(t)*hs(i));case"tanh":{const e=us(2*t)+as(2*i);return h(ms(2*t)/e,hs(2*i)/e)}default:return e.apply(s,r)}}throw new TypeError(`Math.${t} expects only numbers`)}}))}globalThis?.document&&document?.addEventListener("DOMContentLoaded",__Ziko__.__Config__.init()),t.App=({head:t,wrapper:e,target:s})=>new Ke({head:t,wrapper:e,target:s}),t.Clock=Se,t.CloneElement=t=>new t.__proto__.constructor,t.Complex=y,t.E=s,t.EPSILON=r,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 n=0;n<e.length;n++){const i=await t[e[n]](),o=await i.default;Object.assign(r,{[Qe(e[n],s)]:o})}return Xe({target:document.body,routes:{"/":()=>{},...r},wrapper:ae.section()})},t.Flex=(...t)=>{let e="div";return"string"==typeof t[0]&&(e=t[0],t.pop()),new me(e).append(...t)},t.HTMLWrapper=t=>new de(t),t.Matrix=U,t.PI=e,t.Random=w,t.SPA=Xe,t.SVGWrapper=t=>new ge(t),t.Scheduler=(t,{repeat:e=null}={})=>new Oe(t,{repeat:e}),t.Suspense=(t,e)=>new fe(t,e),t.Switch=({key:t,cases:e})=>new be(t,e),t.Tick=Te,t.TimeAnimation=Ce,t.TimeLoop=Ae,t.TimeScheduler=Oe,t.UIElement=ee,t.UIFlex=me,t.UIHTMLWrapper=de,t.UINode=et,t.UISVGWrapper=ge,t.UISwitch=be,t.UIView=re,t.UseRoot=is,t.UseThread=ts,t.Utils=tt,t.View=(...t)=>new re(...t),t.ZikoApp=Ke,t.ZikoEvent=St,t.ZikoSPA=Ye,t.ZikoUISuspense=fe,t.ZikoUIText=wt,t.abs=v,t.accum_prod=(...t)=>{let e,s=[],r=1,n=t.length;for(e=0;e<n;e++)r=l(r,t[e]),s.push(r);return s},t.accum_sum=d,t.acos=(...t)=>n(t=>{if(t?.isComplex){const{a:e,b:s}=t,r=Math.hypot(e+1,s),n=Math.hypot(e-1,s);return globalThis.Rp=r,globalThis.Rm=n,new t.constructor(Math.acos((r-n)/2),-Math.acosh((r+n)/2)).toFixed(8)}return+Math.acos(t).toFixed(8)},...t),t.acosh=(...t)=>n(t=>t?.isComplex?k(t.clone().add(M(t.clone().mul(t.clone()).sub(1)))):+Math.acosh(t).toFixed(8),...t),t.acot=(...t)=>n(t=>{if(t?.isComplex){const{a:e,b:s}=t;return new t.constructor(Math.atan(2*e/(e**2+(s-1)*(s+1)))/2,Math.log((e**2+(s-1)**2)/(e**2+(s+1)**2))/4).toFixed(8)}return+(Math.PI/2-Math.atan(t)).toFixed(8)},...t),t.add=h,t.add_class=(t,e)=>t.element.className=t.element.className.replace(/\s+$/gi,"")+" "+e,t.add_vendor_prefix=function(t){const e=t.slice(0,1).toUpperCase()+t.slice(1),s=["Webkit","Moz","O","ms"];for(let t=0,r=s.length;t<r;t++){const r=s[t];if(void 0!==(globalThis?.document?.body).style[r+e])return r+e}return t},t.and=R,t.animation=(t,{ease:e,t0:s,t1:r,start:n,duration:i}={})=>new Ce(t,{ease:e,t0:s,t1:r,start:n,duration:i}),t.apply_fun=i,t.arange=V,t.arc=t=>1-ve(xe(t)),t.arr2str=He,t.asin=(...t)=>n(t=>{if(t?.isComplex){const{a:e,b:s}=t,r=Math.hypot(e+1,s),n=Math.hypot(e-1,s);return new t.constructor(Math.asin((r-n)/2),Math.acosh((r+n)/2)).toFixed(8)}return+Math.asin(t).toFixed(8)},...t),t.asinh=(...t)=>n(t=>t?.isComplex?k(t.clone().add(M(t.clone().mul(t.clone()).add(1)))):+Math.asinh(t).toFixed(8),...t),t.atan=(...t)=>n(t=>{if(t?.isComplex){const{a:e,b:s}=t;return new t.constructor(Math.atan(2*e/(1-e**2-s**2))/2,Math.log((e**2+(1+s)**2)/(e**2+(1-s)**2))/4).toFixed(8)}return+Math.atan(t).toFixed(8)},...t),t.atan2=j,t.atanh=(...t)=>n(t=>+Math.atanh(t).toFixed(8),...t),t.back=(t,e=1)=>t**2*((e+1)*t-e),t.bind_click_event=Dt,t.bind_clipboard_event=Lt,t.bind_drag_event=Nt,t.bind_focus_event=Ut,t.bind_key_event=qt,t.bind_mouse_event=Zt,t.bind_pointer_event=Bt,t.bind_swipe_event=Wt,t.bind_touch_event=(t,e)=>new It("touch",t,Et.Touch,Pt,e),t.bind_view_event=Ht,t.bind_wheel_event=Vt,t.binomial=(t,e)=>{if(t!==Math.floor(t))return TypeError("n must be an integer");if(e!==Math.floor(e))return TypeError("k must be an integer");if(t<0)return TypeError("n must be non-negative");if(e<0||t<0||e>t)return 0;e>t-e&&(e=t-e);let s,r=1;for(s=0;s<e;s++)r=r*(t-s)/(s+1);return r},t.call_with_optional_props=t=>(...e)=>{const s=e[0];return s?.isUIElement?.()||se(s)?new t({},...e):new t(s,...e.slice(1))},t.cartesianProduct=Y,t.cbrt=(...t)=>n(t=>t.isComplex?.()?new t.constructor({z:t.z**(1/3),phi:t.phi/3}).toFixed(8):+Math.cbrt(t).toFixed(8),...t),t.ceil=(...t)=>n(t=>t.isComplex?.()?new t.constructor(Math.ceil(t.a),Math.ceil(t.b)):Math.ceil(t),...t),t.clamp=O,t.clock=t=>new Se(t),t.cloneUI=t=>Object.assign(Object.create(Object.getPrototypeOf(t)),t),t.complex=_,t.cos=(...t)=>n(t=>t.isComplex?.()?new t.constructor(Math.cos(t.a)*Math.cosh(t.b),-Math.sin(t.a)*Math.sinh(t.b)).toFixed(8):+Math.cos(t).toFixed(8),...t),t.cosh=(...t)=>n(t=>t?.isComplex?new t.constructor(Math.cosh(t.a)*Math.cos(t.b),Math.sinh(t.a)*Math.sin(t.b)).toFixed(8):+Math.cosh(t).toFixed(8),...t),t.coth=(...t)=>n(t=>{if(t?.isComplex){const{a:e,b:s}=t,r=Math.sinh(e)**2*Math.cos(s)**2+Math.cosh(e)**2*Math.sin(s)**2;return new t.constructor(Math.cosh(e)*Math.sinh(e)/r,-Math.sin(s)*Math.cos(s)/r).toFixed(8)}return+(1/Math.tanh(t)).toFixed(8)},...t),t.croot=(...t)=>{const e=t.pop();if(!e.isComplex?.())throw Error("croot expect Complex number as root");return n(t=>{"number"==typeof t&&(t=new e.constructor(t,0));const{a:s,b:r}=e,{z:n,phi:i}=t,o=Math.hypot(s,r),a=Math.exp((Math.log(n)*s+i*r)/o),h=(i*s-Math.log(n)*r)/o;return new e.constructor(a*Math.cos(h),a*Math.sin(h)).toFixed(8)},...t)},t.csv2arr=Pe,t.csv2json=(t,e=",")=>JSON.stringify(Ie(t,e)),t.csv2matrix=(t,e=",")=>new U(Pe(t,e)),t.csv2object=Ie,t.csv2sql=(t,e)=>{const s=t.trim().trimEnd().split("\n").filter(t=>t);let r=`INSERT INTO ${e} (${s[0].split(",").join(", ")}) Values `,n=[];for(let t=1;t<s.length;t++){const e=s[t].split(",");n.push(`(${e})`)}return r+n.join(",\n")},t.debounce=(t,e=1e3)=>(...s)=>setTimeout(()=>t(...s),e),t.defineParamsGetter=function(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}})},t.define_wc=function(t,e,s={},{mode:r="open"}={}){globalThis.customElements?.get(t)?console.warn(`Custom element "${t}" is already defined`):-1!==t.search("-")?globalThis.customElements?.define(t,class extends HTMLElement{static get observedAttributes(){return["style",...Object.keys(s)]}constructor(){super(),this.attachShadow({mode:r}),this.props={},this.mask={...s}}connectedCallback(){this.render()}render(){this.shadowRoot.innerHTML="";const t=e(this.props);t instanceof Array?t.forEach(t=>t.mount(this.shadowRoot)):t.mount(this.shadowRoot)}attributeChangedCallback(t,e,s){Object.assign(this.props,{[t]:this.mask[t].type(s)}),this.render()}}):console.warn(`"${t}" is not a valid custom element name`)},t.deg2rad=(...t)=>n(t=>t*Math.PI/180,...t),t.discret=(t,e=5)=>Math.ceil(t*e)/e,t.div=u,t.elastic=t=>-2*Me(2,10*(t-1))*_e(20*we*t/3*t),t.event_controller=kt,t.exp=(...t)=>n(t=>t.isComplex?.()?new t.constructor(Math.exp(t.a)*Math.cos(t.b),Math.exp(t.a)*Math.sin(t.b)).toFixed(8):+Math.exp(t).toFixed(8),...t),t.floor=C,t.fract=(...t)=>n(t=>t.isComplex?.()?new t.constructor(t.a-Math.trunc(t.a),t.b-Math.trunc(t.b)):t-Math.trunc(t),...t),t.geomspace=G,t.getEvent=Tt,t.hypot=(...t)=>{const e=t.find(t=>t.isComplex?.());if(e){const s=t.map(t=>t.isComplex?.()?t:new e.constructor(t,0));return Math.hypot(...s.map(t=>t.z))}return Math.hypot(...t)},t.inRange=K,t.in_back=(t,e=1.70158,s=e+1)=>s*Me(t,3)-e*t**2,t.in_bounce=(t,e=7.5625,s=2.75)=>1-ke(1-t,e,s),t.in_circ=t=>1-ye(1-t**2),t.in_cubic=t=>t**3,t.in_elastic=(t,e=2*we/3)=>0===t?0:1===t?1:-Me(2,10*t-10)*ve((10*t-10.75)*e),t.in_expo=t=>0===t?0:2**(10*t-10),t.in_out_back=(t,e=1.70158,s=1.525*e)=>t<.5?Me(2*t,2)*(2*(s+1)*t-s)/2:(Me(2*t-2,2)*((s+1)*(2*t-2)+s)+2)/2,t.in_out_bounce=(t,e=7.5625,s=2.75)=>t<.5?ke(1-2*t,e,s)/2:ke(2*t-1,e,s)/2,t.in_out_circ=t=>t<.5?(1-ye(1-(2*t)**2))/2:(ye(1-(-2*t+2)**2)+1)/2,t.in_out_cubic=t=>t<.5?4*t**3:1-(-2*t+2)**3/2,t.in_out_elastic=(t,e=2*we/4.5)=>0===t?0:1===t?1:t<.5?-Me(2,20*t-10)*ve((20*t-11.125)*e)/2:Me(2,-20*t+10)*ve((20*t-11.125)*e)/2+1,t.in_out_expo=t=>0===t?0:1===t?1:t<.5?2**(20*t-10)/2:(2-2**(-20*t+10))/2,t.in_out_quad=t=>t<.5?2*t**2:1-(-2*t+2)**2/2,t.in_out_quart=t=>t<.5?8*t**4:1-(-2*t+2)**4/2,t.in_out_quint=t=>t<.5?16*t**5:1-(-2*t+2)**5/2,t.in_out_sin=t=>-(_e(we*t)-1)/2,t.in_quad=t=>t**2,t.in_quart=t=>t**4,t.in_quint=t=>t**5,t.in_sin=t=>1-_e(t*we/2),t.isApproximatlyEqual=J,t.isPrimitive=se,t.isStateGetter=bt,t.json2arr=t=>Re(t instanceof Object?t:JSON.parse(t)),t.json2css=We,t.json2csv=ze,t.json2csvFile=(t,e)=>{const s=ze(t,e),r=new Blob([s],{type:"text/csv;charset=utf-8;"});return{str:s,blob:r,url:URL.createObjectURL(r)}},t.json2xml=Ne,t.json2xmlFile=(t,e)=>{const s=Ne(t,e),r=new Blob([s],{type:"text/xml;charset=utf-8;"});return{str:s,blob:r,url:URL.createObjectURL(r)}},t.json2yml=Le,t.json2ymlFile=(t,e)=>{const s=Le(t,e),r=new Blob([s],{type:"text/yml;charset=utf-8;"});return{str:s,blob:r,url:URL.createObjectURL(r)}},t.lerp=S,t.linear=Ee,t.linkStyle=function(t){const e=document?.createElement("link");e.setAttribute("rel","stylesheet"),e.setAttribute("href",t),document.head.appendChild(e)},t.linspace=H,t.ln=k,t.logspace=W,t.loop=(t,e={})=>new Ae(t,e),t.map=A,t.mapfun=n,t.matrix=(t,e,s)=>new U(t,e,s),t.matrix2=(...t)=>new U(2,2,t),t.matrix3=(...t)=>new U(3,3,t),t.matrix4=(...t)=>new U(4,4,t),t.max=(...t)=>Math.max(...t),t.mean=p,t.median=t=>g(t,50),t.min=(...t)=>Math.min(...t),t.modulo=m,t.mul=l,t.nand=(...t)=>P(R(...t)),t.nor=(...t)=>P(F(...t)),t.norm=T,t.normalize_css_value=t=>"number"==typeof t?t+"px":t,t.nthr=E,t.nums=B,t.obj2str=Be,t.ones=Z,t.or=F,t.out_back=(t,e=1.70158,s=e+1)=>1+s*Me(t-1,3)+e*Me(t-1,2),t.out_bounce=ke,t.out_circ=t=>ye(1-(t-1)**2),t.out_cubic=t=>1-(1-t)**3,t.out_elastic=(t,e=2*we/3)=>0===t?0:1===t?1:Me(2,-10*t)*ve((10*t-.75)*e)+1,t.out_expo=t=>1===t?1:1-2**(-10*t),t.out_quad=t=>1-(1-t)**2,t.out_quart=t=>1-(1-t)**4,t.out_quint=t=>1-(1-t)**5,t.out_sin=t=>ve(t*we/2),t.percentile=g,t.pgcd=X,t.pow=x,t.ppcm=Q,t.preload=je,t.rad2deg=(...t)=>n(t=>t/Math.PI*180,...t),t.remove_class=(t,e)=>t.element.className=t.element.className.replace(e,""),t.round=(...t)=>n(t=>t.isComplex?.()?new t.constructor(Math.round(t.a),Math.round(t.b)):Math.round(t),...t),t.script=function(t){const e=document?.createElement("script");e.setAttribute("src",t),document.head.appendChild(e)},t.sec=(...t)=>n(t=>(t.isComplex?.(),+(1/Math.cos(t)).toFixed(8)),...t),t.sig=(...t)=>n(t=>1/(1+Math.exp(-t)).toFixed(8),...t),t.sign=(...t)=>n(t=>{if(t.isComplex?.()){const{z:e,phi:s}=t;return 0===e?new t.constructor(0,0):new t.constructor({z:1,phi:s})}return Math.sign(t)},...t),t.sin=(...t)=>n(t=>t?.isComplex?new t.constructor(Math.sin(t.a)*Math.cosh(t.b),Math.cos(t.a)*Math.sinh(t.b)).toFixed(8):+Math.sin(t).toFixed(8),...t),t.sinh=(...t)=>n(t=>t?.isComplex?new t.constructor(Math.sinh(t.a)*Math.cos(t.b),Math.cosh(t.a)*Math.sin(t.b)).toFixed(8):+Math.sinh(t).toFixed(8),...t),t.sleep=t=>new Promise(e=>setTimeout(e,t)),t.sqrt=M,t.std=(...t)=>Math.sqrt(f(...t)),t.step=(t,e=5)=>Math.floor(t*e)/e,t.step_fps=t=>1e3/t,t.style=(t,e)=>{t&&Object.assign(t.style,e)},t.sub=c,t.svg2ascii=qe,t.svg2img=(t,e=!0)=>ae.img(Ze(t)).mount(e),t.svg2imgUrl=Ze,t.svg2str=Ue,t.tags=ae,t.tan=(...t)=>n(t=>{if(t?.isComplex){const e=Math.cos(2*t.a)+Math.cosh(2*t.b);return new t.constructor(Math.sin(2*t.a)/e,Math.sinh(2*t.b)/e).toFixed(8)}return+Math.tan(t).toFixed(8)},...t),t.tanh=(...t)=>n(t=>{if(t?.isComplex){const e=Math.cosh(2*a)+Math.cos(2*b);return new t.constructor(Math.sinh(2*a)/e,Math.sin(2*b)/e).toFixed(8)}return+Math.tanh(t).toFixed(8)},...t),t.text=yt,t.throttle=Ft,t.tick=(t,e,s=1/0,r=!0)=>new Te(t,e,s,r),t.timeTaken=t=>{console.time("timeTaken");const e=t();return console.timeEnd("timeTaken"),e},t.time_memory_Taken=t=>{const e=Date.now(),s=performance.memory.usedJSHeapSize,r=t();return{elapsedTime:Date.now()-e,usedMemory:performance.memory.usedJSHeapSize-s,result:r}},t.timeout=function(t,e){let s;const r=new Promise(r=>{s=setTimeout(()=>{e&&e(),r()},t)});return{id:s,clear:()=>clearTimeout(s),promise:r}},t.toggle_event_listener=Ct,t.trunc=(...t)=>n(t=>t.isComplex?.()?new t.constructor(Math.trunc(t.a),Math.trunc(t.b)):Math.trunc(t),...t),t.useDerived=function(t,e){let s=t(...e.map(t=>t().value));const r=new Set;return e.forEach(n=>{n()._subscribe(()=>{{const n=t(...e.map(t=>t().value));n!==s&&(s=n,r.forEach(t=>t(s)))}})}),()=>({value:s,isStateGetter:()=>!0,_subscribe:t=>r.add(t)})},t.useEventEmitter=ss,t.useIPC=ht,t.useLocaleStorage=(t,e,s=!0)=>new ct(localStorage,t,e,s),t.useMediaQuery=(t,e)=>new rs(t,e),t.useReactive=t=>n(t=>{const e=gt(t);return{get:e[0],set:e[1]}},t),t.useRoot=(t,e={})=>new is(t,e),t.useSessionStorage=lt,t.useState=gt,t.useThread=(t,e,s=[],r=!0)=>(new ts).call(t,e,s,r),t.useTitle=(t,e=!0)=>new ns(t,e),t.variance=f,t.wait=t=>new Promise(e=>setTimeout(e,t)),t.waitElm=t=>new Promise(e=>{if(t)return e(t);const s=new MutationObserver(()=>{t&&(e(t),s.disconnect())});s.observe(document?.body,{childList:!0,subtree:!0})}),t.waitForUIElm=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})}),t.waitForUIElmSync=(t,e=2e3)=>{const s=Date.now();for(;Date.now()-s<e;)if(t.element)return t.element},t.xnor=(...t)=>P(z(...t)),t.xor=z,t.zeros=q});
|
package/dist/ziko.mjs
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
/*
|
|
3
3
|
Project: ziko.js
|
|
4
4
|
Author: Zakaria Elalaoui
|
|
5
|
-
Date : Wed Feb 11 2026
|
|
5
|
+
Date : Wed Feb 11 2026 14:01:19 GMT+0100 (UTC+01:00)
|
|
6
6
|
Git-Repo : https://github.com/zakarialaoui10/ziko.js
|
|
7
7
|
Git-Wiki : https://github.com/zakarialaoui10/ziko.js/wiki
|
|
8
8
|
Released under MIT License
|
|
@@ -3302,7 +3302,7 @@ var IndexingMethods = /*#__PURE__*/Object.freeze({
|
|
|
3302
3302
|
map: map
|
|
3303
3303
|
});
|
|
3304
3304
|
|
|
3305
|
-
function style(styles){
|
|
3305
|
+
function style$1(styles){
|
|
3306
3306
|
if(!this.element?.style) return this;
|
|
3307
3307
|
for(let key in styles){
|
|
3308
3308
|
const value = styles[key];
|
|
@@ -3341,7 +3341,7 @@ var StyleMethods = /*#__PURE__*/Object.freeze({
|
|
|
3341
3341
|
hide: hide,
|
|
3342
3342
|
show: show,
|
|
3343
3343
|
size: size,
|
|
3344
|
-
style: style
|
|
3344
|
+
style: style$1
|
|
3345
3345
|
});
|
|
3346
3346
|
|
|
3347
3347
|
// import {
|
|
@@ -3508,6 +3508,88 @@ let UIElement$1 = class UIElement extends UIElementCore{
|
|
|
3508
3508
|
|
|
3509
3509
|
};
|
|
3510
3510
|
|
|
3511
|
+
const call_with_optional_props = (Component) => {
|
|
3512
|
+
return (...args) => {
|
|
3513
|
+
const first = args[0];
|
|
3514
|
+
const isChild = first?.isUIElement?.() || isPrimitive(first) ;
|
|
3515
|
+
return isChild
|
|
3516
|
+
? new Component({}, ...args)
|
|
3517
|
+
: new Component(first, ...args.slice(1))
|
|
3518
|
+
};
|
|
3519
|
+
};
|
|
3520
|
+
function add_vendor_prefix(property) {
|
|
3521
|
+
const propertyUC = property.slice(0, 1).toUpperCase() + property.slice(1);
|
|
3522
|
+
const vendors = ['Webkit', 'Moz', 'O', 'ms'];
|
|
3523
|
+
for(let i = 0, len = vendors.length; i < len; i++) {
|
|
3524
|
+
const vendor = vendors[i];
|
|
3525
|
+
if(typeof (globalThis?.document?.body).style[vendor + propertyUC] !== 'undefined') return vendor + propertyUC;
|
|
3526
|
+
}
|
|
3527
|
+
return property;
|
|
3528
|
+
}
|
|
3529
|
+
const normalize_css_value = value => typeof value === 'number' ? value+'px' : value;
|
|
3530
|
+
const add_class = (UIElement, name) => UIElement.element.className = UIElement.element.className.replace(/\s+$/gi, '') + ' ' + name;
|
|
3531
|
+
const remove_class =(UIElement, name) => UIElement.element.className = UIElement.element.className.replace(name, '');
|
|
3532
|
+
|
|
3533
|
+
// const addSuffixeToNumber=(value,suffixe="px")=>{
|
|
3534
|
+
// if(typeof value === "number") value+=suffixe;
|
|
3535
|
+
// if(value instanceof Array)value=value.map(n=>typeof n==="number"?n+=suffixe:n).join(" ");
|
|
3536
|
+
// return value;
|
|
3537
|
+
// }
|
|
3538
|
+
|
|
3539
|
+
// const Id = (a) => document.getElementById(a);
|
|
3540
|
+
// const Class = (a) => [...document.getElementsByClassName(a)];
|
|
3541
|
+
// const $=(...selector)=>{
|
|
3542
|
+
// var ele=[]
|
|
3543
|
+
// for(let i=0;i<selector.length;i++){
|
|
3544
|
+
// if(typeof selector[i]=="string")ele.push(...document.querySelectorAll(selector[i]));
|
|
3545
|
+
// if(selector[i] instanceof UIElement)ele.push(selector[i].element)
|
|
3546
|
+
// }
|
|
3547
|
+
// return ele.length===1?ele[0]:ele;
|
|
3548
|
+
// }
|
|
3549
|
+
|
|
3550
|
+
const style = (el, styles) => {if(el)Object.assign(el.style, styles);};
|
|
3551
|
+
|
|
3552
|
+
function script(src) {
|
|
3553
|
+
const Script = document?.createElement("script");
|
|
3554
|
+
Script.setAttribute("src", src);
|
|
3555
|
+
document.head.appendChild(Script);
|
|
3556
|
+
}
|
|
3557
|
+
function linkStyle(href) {
|
|
3558
|
+
const link = document?.createElement("link");
|
|
3559
|
+
link.setAttribute("rel", "stylesheet");
|
|
3560
|
+
link.setAttribute("href", href);
|
|
3561
|
+
document.head.appendChild(link);
|
|
3562
|
+
}
|
|
3563
|
+
const CloneElement = (UIElement) => {
|
|
3564
|
+
var clone = new UIElement.__proto__.constructor();
|
|
3565
|
+
//waitForUIElm(UIElement).then(e=>console.log(e)).then(()=>clone = new UIElement.__proto__.constructor())
|
|
3566
|
+
//let a = new UIElement.__proto__.constructor()
|
|
3567
|
+
return clone;
|
|
3568
|
+
};
|
|
3569
|
+
const cloneUI=UIElement=>{
|
|
3570
|
+
return Object.assign(Object.create(Object.getPrototypeOf(UIElement)),UIElement)
|
|
3571
|
+
};
|
|
3572
|
+
function isPrimitive(value) {
|
|
3573
|
+
return typeof value !== 'object' && typeof value !== 'function' || value === null;
|
|
3574
|
+
}
|
|
3575
|
+
const waitElm=(UIElement)=>{
|
|
3576
|
+
return new Promise(resolve => {
|
|
3577
|
+
if (UIElement) {
|
|
3578
|
+
return resolve(UIElement);
|
|
3579
|
+
}
|
|
3580
|
+
const observer = new MutationObserver(() => {
|
|
3581
|
+
if (UIElement) {
|
|
3582
|
+
resolve(UIElement);
|
|
3583
|
+
observer.disconnect();
|
|
3584
|
+
}
|
|
3585
|
+
});
|
|
3586
|
+
observer.observe(document?.body, {
|
|
3587
|
+
childList: true,
|
|
3588
|
+
subtree: true
|
|
3589
|
+
});
|
|
3590
|
+
});
|
|
3591
|
+
};
|
|
3592
|
+
|
|
3511
3593
|
class UIView extends UIElement$1{
|
|
3512
3594
|
constructor(...items){
|
|
3513
3595
|
super({element : 'div', name : 'view'});
|
|
@@ -5406,4 +5488,4 @@ if(globalThis?.document){
|
|
|
5406
5488
|
document?.addEventListener("DOMContentLoaded", __Ziko__.__Config__.init());
|
|
5407
5489
|
}
|
|
5408
5490
|
|
|
5409
|
-
export { App, Clock, Complex, E, EPSILON, FileBasedRouting, Flex, HTMLWrapper, Matrix, PI$1 as PI, Random, SPA, SVGWrapper, Scheduler, Suspense, Switch, Tick, TimeAnimation, TimeLoop, TimeScheduler, UIElement$1 as UIElement, UIFlex, UIHTMLWrapper, UINode, UISVGWrapper, UISwitch, UIView, UseRoot, UseThread, Utils, View, ZikoApp, ZikoEvent, ZikoSPA, ZikoUISuspense, ZikoUIText, abs, accum_prod, accum_sum, acos$1 as acos, acosh, acot, add, and, animation, apply_fun, arange, arc, arr2str, asin, asinh, atan, atan2, atanh, back, bind_click_event, bind_clipboard_event, bind_drag_event, bind_focus_event, bind_key_event, bind_mouse_event, bind_pointer_event, bind_swipe_event, bind_touch_event, bind_view_event, bind_wheel_event, binomial, cartesianProduct, cbrt, ceil, clamp, clock, complex, cos$3 as cos, cosh$2 as cosh, coth, croot, csv2arr, csv2json, csv2matrix, csv2object, csv2sql, debounce, defineParamsGetter, define_wc, deg2rad, discret, div, elastic, event_controller, exp$1 as exp, floor, fract, geomspace, getEvent, hypot, inRange, in_back, in_bounce, in_circ, in_cubic, in_elastic, in_expo, in_out_back, in_out_bounce, in_out_circ, in_out_cubic, in_out_elastic, in_out_expo, in_out_quad, in_out_quart, in_out_quint, in_out_sin, in_quad, in_quart, in_quint, in_sin, isApproximatlyEqual, isStateGetter, json2arr, json2css, json2csv, json2csvFile, json2xml, json2xmlFile, json2yml, json2ymlFile, lerp, linear, linspace, ln, logspace, loop, map$1 as map, mapfun, matrix, matrix2, matrix3, matrix4, max, mean, median, min, modulo, mul, nand, nor, norm, nthr, nums, obj2str, ones, or, out_back, out_bounce, out_circ, out_cubic, out_elastic, out_expo, out_quad, out_quart, out_quint, out_sin, percentile, pgcd, pow$1 as pow, ppcm, preload, rad2deg, round, sec, sig, sign, sin$3 as sin, sinh$1 as sinh, sleep, sqrt$2 as sqrt, std, step, step_fps, sub, svg2ascii, svg2img, svg2imgUrl, svg2str, tags, tan, tanh, text, throttle, tick, timeTaken, time_memory_Taken, timeout, toggle_event_listener, trunc, useDerived, useEventEmitter, useIPC, useLocaleStorage, useMediaQuery, useReactive, useRoot, useSessionStorage, useState, useThread, useTitle, variance, wait, waitForUIElm, waitForUIElmSync, xnor, xor, zeros };
|
|
5491
|
+
export { App, Clock, CloneElement, Complex, E, EPSILON, FileBasedRouting, Flex, HTMLWrapper, Matrix, PI$1 as PI, Random, SPA, SVGWrapper, Scheduler, Suspense, Switch, Tick, TimeAnimation, TimeLoop, TimeScheduler, UIElement$1 as UIElement, UIFlex, UIHTMLWrapper, UINode, UISVGWrapper, UISwitch, UIView, UseRoot, UseThread, Utils, View, ZikoApp, ZikoEvent, ZikoSPA, ZikoUISuspense, ZikoUIText, abs, accum_prod, accum_sum, acos$1 as acos, acosh, acot, add, add_class, add_vendor_prefix, and, animation, apply_fun, arange, arc, arr2str, asin, asinh, atan, atan2, atanh, back, bind_click_event, bind_clipboard_event, bind_drag_event, bind_focus_event, bind_key_event, bind_mouse_event, bind_pointer_event, bind_swipe_event, bind_touch_event, bind_view_event, bind_wheel_event, binomial, call_with_optional_props, cartesianProduct, cbrt, ceil, clamp, clock, cloneUI, complex, cos$3 as cos, cosh$2 as cosh, coth, croot, csv2arr, csv2json, csv2matrix, csv2object, csv2sql, debounce, defineParamsGetter, define_wc, deg2rad, discret, div, elastic, event_controller, exp$1 as exp, floor, fract, geomspace, getEvent, hypot, inRange, in_back, in_bounce, in_circ, in_cubic, in_elastic, in_expo, in_out_back, in_out_bounce, in_out_circ, in_out_cubic, in_out_elastic, in_out_expo, in_out_quad, in_out_quart, in_out_quint, in_out_sin, in_quad, in_quart, in_quint, in_sin, isApproximatlyEqual, isPrimitive, isStateGetter, json2arr, json2css, json2csv, json2csvFile, json2xml, json2xmlFile, json2yml, json2ymlFile, lerp, linear, linkStyle, linspace, ln, logspace, loop, map$1 as map, mapfun, matrix, matrix2, matrix3, matrix4, max, mean, median, min, modulo, mul, nand, nor, norm, normalize_css_value, nthr, nums, obj2str, ones, or, out_back, out_bounce, out_circ, out_cubic, out_elastic, out_expo, out_quad, out_quart, out_quint, out_sin, percentile, pgcd, pow$1 as pow, ppcm, preload, rad2deg, remove_class, round, script, sec, sig, sign, sin$3 as sin, sinh$1 as sinh, sleep, sqrt$2 as sqrt, std, step, step_fps, style, sub, svg2ascii, svg2img, svg2imgUrl, svg2str, tags, tan, tanh, text, throttle, tick, timeTaken, time_memory_Taken, timeout, toggle_event_listener, trunc, useDerived, useEventEmitter, useIPC, useLocaleStorage, useMediaQuery, useReactive, useRoot, useSessionStorage, useState, useThread, useTitle, variance, wait, waitElm, waitForUIElm, waitForUIElmSync, xnor, xor, zeros };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ziko",
|
|
3
|
-
"version": "0.63.
|
|
3
|
+
"version": "0.63.1",
|
|
4
4
|
"description": "A versatile JavaScript library offering a rich set of Hyperscript Based UI components, advanced mathematical utilities, interactivity ,animations, client side routing and more ...",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"front-end",
|
package/src/ui/index.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
export * from
|
|
2
|
-
export * from
|
|
1
|
+
export * from './constructors/UIElement.js'
|
|
2
|
+
export * from './constructors/UINode.js'
|
|
3
|
+
export * from './utils/index.js'
|
|
3
4
|
export * from './view/index.js'
|
|
4
5
|
export * from './tags/index.js';
|
|
5
6
|
export * from './text/index.js';
|
package/src/ui/utils/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export const call_with_optional_props = (Component) => {
|
|
2
2
|
return (...args) => {
|
|
3
3
|
const first = args[0];
|
|
4
|
-
const isChild = first?.isUIElement() || isPrimitive(first) ;
|
|
4
|
+
const isChild = first?.isUIElement?.() || isPrimitive(first) ;
|
|
5
5
|
return isChild
|
|
6
6
|
? new Component({}, ...args)
|
|
7
7
|
: new Component(first, ...args.slice(1))
|