raiutils 9.0.5 → 9.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/router.d.ts CHANGED
@@ -20,6 +20,7 @@ declare const _default: {
20
20
  handle: typeof handle;
21
21
  serve: typeof serve;
22
22
  sendCode: typeof sendCode;
23
+ /** Map of file extensions to MIME types */
23
24
  types: StringMap;
24
25
  };
25
26
  export default _default;
@@ -1 +1 @@
1
- {"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../src/router.ts"],"names":[],"mappings":"AAMA,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAqBrC;;;uCAGuC;AACvC,iBAAe,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,eAAe,EAAE,GAAG,EAAE,IAAI,CAAC,cAAc,EACrF,IAAI,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,mBAAmB,iBA0CrD;AAED,oDAAoD;AACpD,iBAAe,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,eAAe,EAAE,GAAG,EAAE,IAAI,CAAC,cAAc,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,mBAAmB,iBAGzH;AASD,iEAAiE;AACjE,iBAAS,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,cAAc,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,QAEpE;;IA8BA,mCAAmC;WAEtB,MAAM;IACnB;;;4DAGwD;cAExC,MAAM,GAAG,OAAO;;;;;;AATjC,wBAWE"}
1
+ {"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../src/router.ts"],"names":[],"mappings":"AAMA,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAoBrC;;;uCAGuC;AACvC,iBAAe,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,eAAe,EAAE,GAAG,EAAE,IAAI,CAAC,cAAc,EACrF,IAAI,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,mBAAmB,iBA4CrD;AAED,oDAAoD;AACpD,iBAAe,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,eAAe,EAAE,GAAG,EAAE,IAAI,CAAC,cAAc,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,mBAAmB,iBAGzH;AASD,iEAAiE;AACjE,iBAAS,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,cAAc,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,QAEpE;;IA8BA,mCAAmC;WAEtB,MAAM;IACnB;;;4DAGwD;cAExC,MAAM,GAAG,OAAO;;;;IAEhC,2CAA2C;;;AAX5C,wBAaE"}
package/dist/router.js CHANGED
@@ -1 +1 @@
1
- import e from"path";import t from"fs/promises";import r from"crypto";import n from"chalk";import i from"./uuid.js";let a=0;const o={".html":"text/html",".php":"text/html",".css":"text/css",".png":"image/png",".svg":"image/svg+xml",".js":"application/javascript",".pdf":"application/pdf",".mp4":"video/mp4",".ogg":"video/ogg",".webm":"video/webm"};let s=!0;async function l(l,p,m,u,g){let h;try{let d,f=await async function(r,n,i){if(-1!==n.indexOf(".."))throw"Bad path";let a=function(t,r,n){if(n){let t,i;for(t in n)if(i=t.startsWith("/")?t:"/"+t,r.startsWith(i))return e.join(n[t],r.slice(i.length))}return t+r}(r,n,i);a.endsWith("/")&&(a=a.slice(0,-1));try{return(await t.stat(a)).isDirectory()?e.join(a,"/index.html"):a}catch(t){if(!e.extname(a))return a+".html";throw t}}(l,new URL(p.url,"http://a").pathname,u),w={},y=200,b=e.extname(f),v=o[b],x=p.headers.range;v&&(w["content-type"]=v),h=await t.open(f);let N=await h.stat(),R=N.size;if(x){if(!x.startsWith("bytes=")||2!==(x=x.slice(6).split("-")).length||!x[0])return await c(h,R,x,m);let e=Number(x[0]),t=Number(x[1]);if(t||(t=R-1),e>=R||t>=R||e>=t)return await c(h,R,x,m);d=h.createReadStream({start:e,end:t}),w["accept-ranges"]="bytes",w["content-range"]=`bytes ${e}-${t}/${R}`,y=206}else if("number"==typeof s){if(R<=s){d=await h.readFile();let e=r.createHash("sha1");e.update(d),w.etag=e.digest("base64url")}}else s&&(w.etag=new i(BigInt(N.mtime.getTime())).toString());if(w.etag&&w.etag===p.headers["if-none-match"])return m.writeHead(304,""),m.end(),h.close();if(d||(d=h.createReadStream()),g)for(const e in g)w[e]=g[e];m.writeHead(y,"",w),d instanceof Buffer?(m.write(d),m.end()):d.pipe(m),m.on("close",()=>h.close()),a&&function(e,t){console.log(n.dim("-- Served "+e+(t?" with type "+t:"")))}(f.startsWith(l)?f.slice(l.length):f,v)}catch(e){let t="ENOENT"===e.code;!a&&t||(t?f("-- Not found"):f("-- Read",e)),d(m,t?404:500,t?"Resource Not Found":e),h&&h.close()}}async function c(e,t,r,n){a&&f("-- Bad Range",r);let i={"content-range":"bytes */"+t};n.writeHead(416,"",i),n.end(),e.close()}function d(e,t,r){e.writeHead(t,""),e.write(`<pre style='font-size:16pt'>Error ${t}: ${r}</pre>`),e.end()}function f(e,t){console.error(n.red(e,t))}export default{get debug(){return a},set debug(e){a=e},get etagMode(){return s},set etagMode(e){s=e},handle:l,serve:async function(e,t,r,n){let i=t.url;return t.url="/",l(e,t,r,void 0,n).finally(()=>t.url=i)},sendCode:d,types:o}//# sourceMappingURL=router.js.map
1
+ import e from"path";import t from"fs/promises";import r from"crypto";import n from"chalk";import a from"./uuid.js";let i=0;const o={".html":"text/html",".php":"text/html",".css":"text/css",".png":"image/png",".svg":"image/svg+xml",".js":"application/javascript",".pdf":"application/pdf",".mp4":"video/mp4",".ogg":"video/ogg",".webm":"video/webm"};let s=!0;async function l(l,p,m,u,g){let h;try{let d,f=await async function(r,n,a){if(-1!==n.indexOf(".."))throw"Bad path";let i=function(t,r,n){if(n){let t,a;for(t in n)if(a=t.startsWith("/")?t:"/"+t,r.startsWith(a))return e.join(n[t],r.slice(a.length))}return t+r}(r,n,a);i.endsWith("/")&&(i=i.slice(0,-1));try{return(await t.stat(i)).isDirectory()?e.join(i,"/index.html"):i}catch(t){if(!e.extname(i))return i+".html";throw t}}(l,new URL(p.url,"http://a").pathname,u),w={},y=200,b=e.extname(f),v=o[b],x=p.headers.range;v&&(w["content-type"]=v),h=await t.open(f);let N=await h.stat(),R=N.size;if(x){if(!x.startsWith("bytes=")||2!==(x=x.slice(6).split("-")).length||!x[0])return await c(h,R,x,m);let e=Number(x[0]),t=Number(x[1]);if(t||(t=R-1),e>=R||t>=R||e>=t)return await c(h,R,x,m);d=h.createReadStream({start:e,end:t}),w["accept-ranges"]="bytes",w["content-range"]=`bytes ${e}-${t}/${R}`,y=206}else if("number"==typeof s){if(R<=s){d=await h.readFile();let e=r.createHash("sha1");e.update(d),w.etag=e.digest("base64url")}}else s&&(w.etag=new a(BigInt(N.mtime.getTime())).toString());if(w.etag&&w.etag===p.headers["if-none-match"])return m.sendDate=!1,m.writeHead(304,"",g),m.end(),h.close();if(d||(d=h.createReadStream()),g)for(const e in g)w[e]=g[e];m.writeHead(y,"",w),d instanceof Buffer?(m.write(d),m.end()):d.pipe(m),m.on("close",()=>h.close()),i&&function(e,t){console.log(n.dim("-- Served "+e+(t?" with type "+t:"")))}(f.startsWith(l)?f.slice(l.length):f,v)}catch(e){let t="ENOENT"===e.code;!i&&t||(t?f("-- Not found"):f("-- Read",e)),d(m,t?404:500,t?"Resource Not Found":e),h&&h.close()}}async function c(e,t,r,n){i&&f("-- Bad Range",r);let a={"content-range":"bytes */"+t};n.writeHead(416,"",a),n.end(),e.close()}function d(e,t,r){e.writeHead(t,""),e.write(`<pre style='font-size:16pt'>Error ${t}: ${r}</pre>`),e.end()}function f(e,t){console.error(n.red(e,t))}export default{get debug(){return i},set debug(e){i=e},get etagMode(){return s},set etagMode(e){s=e},handle:l,serve:async function(e,t,r,n){let a=t.url;return t.url="/",l(e,t,r,void 0,n).finally(()=>t.url=a)},sendCode:d,types:o}//# sourceMappingURL=router.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["path","fs","crypto","C","UUID","debug","types","etagMode","async","handle","root","req","res","vDir","headers","f","str","fn","dir","uri","indexOf","v","vs","startsWith","join","slice","length","parseUri","endsWith","stat","isDirectory","e","extname","resolve","URL","url","pathname","hdr","ext","ct","rng","range","open","st","dl","size","split","rngErr","rs","Number","re","createReadStream","start","end","readFile","h","createHash","update","etag","digest","BigInt","mtime","getTime","toString","writeHead","close","k","Buffer","write","pipe","on","name","console","log","dim","nf","code","err","sendCode","fl","msg","m","error","red","serve","u","undefined","finally"],"sources":["../src/router.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["path","fs","crypto","C","UUID","debug","types","etagMode","async","handle","root","req","res","vDir","headers","f","str","fn","dir","uri","indexOf","v","vs","startsWith","join","slice","length","parseUri","endsWith","stat","isDirectory","e","extname","resolve","URL","url","pathname","hdr","ext","ct","rng","range","open","st","dl","size","split","rngErr","rs","Number","re","createReadStream","start","end","readFile","h","createHash","update","etag","digest","BigInt","mtime","getTime","toString","sendDate","writeHead","close","k","Buffer","write","pipe","on","name","console","log","dim","nf","code","err","sendCode","fl","msg","m","error","red","serve","u","undefined","finally"],"sources":["../src/router.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,122 @@
1
+ import { utils as U } from './utils.js';
2
+ import type * as UT from './utils.js';
3
+ export type * from './utils.js';
4
+ declare global {
5
+ export interface HTMLCollection {
6
+ each: <R>(fn: (itm: Element, idx: number, len: number) => R | "!", st?: number, en?: number) => (R | undefined);
7
+ eachAsync: <R>(fn: (itm: Element, idx: number, len: number) => R | "!", st?: number, en?: number, pe?: boolean) => Promise<R | undefined>;
8
+ }
9
+ export interface NodeList {
10
+ each: <R>(fn: (itm: Node, idx: number, len: number) => R | "!", st?: number, en?: number) => (R | undefined);
11
+ eachAsync: <R>(fn: (itm: Node, idx: number, len: number) => R | "!", st?: number, en?: number, pe?: boolean) => Promise<R | undefined>;
12
+ }
13
+ export interface TouchList {
14
+ /** Get touch by id, if it exists */
15
+ get(id: number): Touch | undefined;
16
+ }
17
+ export interface Element {
18
+ /** Get an element's index in its parent. Returns -1 if the element has no parent */
19
+ index: number;
20
+ /** Insert child at index */
21
+ insertChildAt(el: Element, i: number): void;
22
+ /** Get element bounding rect as UtilRect object */
23
+ boundingRect: ext.UtilRect;
24
+ /** Get element inner rect (excluding border and padding) as UtilRect object */
25
+ innerRect: ext.UtilRect;
26
+ }
27
+ }
28
+ export interface NumField extends HTMLInputElement {
29
+ num: number;
30
+ ns: string | null;
31
+ set: (num: number | string) => void;
32
+ setRange: (min?: number, max?: number, decMax?: number) => void;
33
+ onnuminput?: (this: GlobalEventHandlers, ev?: Event) => any;
34
+ }
35
+ export interface TextArea extends HTMLTextAreaElement {
36
+ set: (val: string) => void;
37
+ }
38
+ declare namespace ext {
39
+ /** Get element bounding rect as UtilRect object */
40
+ const boundingRect: (e: Element) => UtilRect;
41
+ /** Get element inner rect (excluding border and padding) as UtilRect object */
42
+ function innerRect(e: Element): UtilRect;
43
+ const device: U.UserAgentInfo, mobile: boolean | undefined;
44
+ /** Better class for bounding boxes */
45
+ class UtilRect {
46
+ x: number;
47
+ left: number;
48
+ y: number;
49
+ top: number;
50
+ x2: number;
51
+ right: number;
52
+ y2: number;
53
+ bottom: number;
54
+ w: number;
55
+ width: number;
56
+ h: number;
57
+ height: number;
58
+ centerX: number;
59
+ centerY: number;
60
+ constructor(t: number | DOMRect | UtilRect, b?: number, l?: number, r?: number);
61
+ /** Check if rect contains point, other rect, or Element */
62
+ contains(x: number | UtilRect | Element, y?: number): boolean;
63
+ /** Check if rect overlaps rect or Element */
64
+ overlaps(r: UtilRect | Element): boolean;
65
+ /** Get distance from this rect to point, other rect, or Element */
66
+ dist(x: number | UtilRect | Element, y?: number): number;
67
+ /** Expand (or contract if negative) a UtilRect by num of pixels. Useful for using UtilRect objects as element hitboxes
68
+ @returns self for chaining */
69
+ expand(by: number): this;
70
+ }
71
+ /** Center element with JS
72
+
73
+ Modes:
74
+ - `trans`: Uses transform: translate. Responsive, no container
75
+ - Default: New flexbox method
76
+ @param only `x` for only x axis centering, `y` for only y axis, null for both */
77
+ function center(el: HTMLElement, only?: "x" | "y", mode?: "trans"): void;
78
+ /** Called when a virtual navigation event occurs, including on page load */
79
+ let onNav: (state: any) => void;
80
+ /** Generate a virtual navigation event, updating the URL bar
81
+ @param state Optional data given to `onNav` whenever the user returns to this history entry */
82
+ function go(url: string | URL, state?: any): void;
83
+ /** Create elements with ease! Just remember **PCSI** - Parent, class, style, innerHTML */
84
+ function mkEl<K extends keyof HTMLElementTagNameMap>(tag: K, parent?: Node | null, cls?: string | null, style?: CSSStyleDeclaration | UT.AnyMap | null, inner?: string | null): HTMLElementTagNameMap[K];
85
+ /** Shorthand for `mkEl` with div tag */
86
+ const mkDiv: (parent?: Node | null, cls?: string | null, style?: CSSStyleDeclaration | UT.AnyMap | null, inner?: string | null) => HTMLDivElement;
87
+ /** Add text node to the DOM */
88
+ const addText: (parent: Node, text: string) => Text;
89
+ /** Get predicted width of text w/ given CSS font style */
90
+ function textWidth(txt: string, font: string): number;
91
+ /** Create a CSS rule and append it to the current document
92
+ @param sel CSS selector, eg. `.class` or `#id` */
93
+ function addCSS(sel: string, style: CSSStyleDeclaration | UT.AnyMap, sheet?: CSSStyleSheet): void;
94
+ /** Remove a CSS selector from **all** stylesheets */
95
+ function remCSS(sel: string): void;
96
+ /** Turns your boring <input> into a mobile-friendly number entry field with max/min & negative support!
97
+
98
+ Tips:
99
+ - Use `field.onnuminput` in place of oninput, get number value with field.num
100
+ - On mobile, use star key for decimal point and pound key for negative
101
+ - You can set `field.nStep` in order to change the up/down arrow step size
102
+ - Use `field.setRange` to change min, max, and decMax
103
+
104
+ @param min Min value, default min safe int
105
+ @param max Max value, default max safe int
106
+ @param decMax Max decimal precision (eg. 3 is 0.001), default 0
107
+ @param sym If a symbol (eg. '$') is given, uses currency mode */
108
+ function numField(field: HTMLInputElement, min?: number, max?: number, decMax?: number, sym?: string): NumField;
109
+ /** Auto-resizing textarea, dynamically scales lineHeight based on input.
110
+ Use `el.set(value)` to set value & update size */
111
+ function autosize(el: HTMLTextAreaElement, maxRows?: number, minRows?: number): void;
112
+ /** Set `datetime-local` or `date` input from JS Date object or string, adjusting for local timezone */
113
+ function setDateTime(el: HTMLInputElement, date: Date | string | number): void;
114
+ /** Get value of `datetime-local` or `date` input as JS Date */
115
+ const getDateTime: (el: HTMLInputElement) => Date;
116
+ /** Trigger browser download of file. If `data` is a string or URL,
117
+ it is treated as a URL. Otherwise, it is downloaded as Blob data */
118
+ function download(data: string | URL | Blob | ArrayBuffer, name?: string): Promise<void>;
119
+ }
120
+ export declare const utils: typeof U & typeof ext;
121
+ export default utils;
122
+ //# sourceMappingURL=utils-dom.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils-dom.d.ts","sourceRoot":"","sources":["../src/utils-dom.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ import{utils as t}from"./utils.js";!function(e){function n(t){let e=t.getBoundingClientRect(),n=getComputedStyle(t);return new i(e.top+parseFloat(n.paddingTop)+parseFloat(n.borderTopWidth),e.bottom-parseFloat(n.paddingBottom)-parseFloat(n.borderBottomWidth),e.left+parseFloat(n.paddingLeft)+parseFloat(n.borderLeftWidth),e.right-parseFloat(n.paddingRight)-parseFloat(n.borderRightWidth))}window.TouchList&&t.proto(TouchList,"get",function(t){for(const e of this)if(e.identifier===t)return e}),t.define(Element.prototype,"index",function(){const t=this.parentElement;return t?Array.prototype.indexOf.call(t.children,this):-1}),t.proto(Element,"insertChildAt",function(t,e){e<0&&(e=0),e>=this.children.length?this.appendChild(t):this.insertBefore(t,this.children[e])}),e.boundingRect=t=>new i(t.getBoundingClientRect()),e.innerRect=n,t.define(Element.prototype,"boundingRect",function(){return e.boundingRect(this)}),t.define(Element.prototype,"innerRect",function(){return n(this)}),e.device=t.deviceInfo(),e.mobile=e.device.mobile;class i{constructor(e,n,o,s){const r=Number.isFinite;let l=0,a=0,u=0,c=0;t.define(this,"x",()=>u,t=>{r(t)&&(c+=t-u,u=t)}),t.define(this,"y",()=>l,t=>{r(t)&&(a+=t-l,l=t)}),t.define(this,"top",()=>l,t=>{l=r(t)?t:0}),t.define(this,["bottom","y2"],()=>a,t=>{a=r(t)?t:0}),t.define(this,"left",()=>u,t=>{u=r(t)?t:0}),t.define(this,["right","x2"],()=>c,t=>{c=r(t)?t:0}),t.define(this,["width","w"],()=>c-u,t=>{c=t>=0?u+t:0}),t.define(this,["height","h"],()=>a-l,t=>{a=t>=0?l+t:0}),t.define(this,"centerX",()=>u/2+c/2),t.define(this,"centerY",()=>l/2+a/2),e instanceof DOMRect||e instanceof i?(l=e.top,a=e.bottom,u=e.left,c=e.right):(l=e,a=n,u=o,c=s)}contains(t,e){return t instanceof Element?this.contains(t.boundingRect):t instanceof i?t.x>=this.x&&t.x2<=this.x2&&t.y>=this.y&&t.y2<=this.y2:t>=this.x&&t<=this.x2&&e>=this.y&&e<=this.y2}overlaps(t){if(t instanceof Element)return this.overlaps(t.boundingRect);if(!(t instanceof i))return!1;let e,n;return e=t.x2-t.x>=this.x2-this.x?this.x>=t.x&&this.x<=t.x2||this.x2>=t.x&&this.x2<=t.x2:t.x>=this.x&&t.x<=this.x2||t.x2>=this.x&&t.x2<=this.x2,n=t.y2-t.y>=this.y2-this.y?this.y>=t.y&&this.y<=t.y2||this.y2>=t.y&&this.y2<=t.y2:t.y>=this.y&&t.y<=this.y2||t.y2>=this.y&&t.y2<=this.y2,e&&n}dist(t,e){if(t instanceof Element)return this.dist(t.boundingRect);const n=t instanceof i;return e=Math.abs((n?t.centerY:e)-this.centerY),t=Math.abs((n?t.centerX:t)-this.centerX),Math.sqrt(t*t+e*e)}expand(t){return this.top-=t,this.left-=t,this.bottom+=t,this.right+=t,this}}e.UtilRect=i;const o=/translate(?:x|y)?\(.+?\)/gi;function s(t){e.onNav&&e.onNav.call(null,t)}function r(t,e,n,i,o){const s=document.createElement(t);if(null!=n&&(s.className=n),null!=o&&(s.innerHTML=o),i&&"object"==typeof i)for(const t in i)t in s.style?s.style[t]=i[t]:s.style.setProperty(t,i[t]);return null!=e&&e.appendChild(s),s}let l;e.center=function(t,n,i){const s=t.style;if("trans"==i){s.position||(s.position="absolute");let t=s.transform.replace(o,"").trim();n&&"x"!==n||(s.left="50%",t+=" translateX(-50%)"),n&&"y"!==n||(s.top="50%",t+=" translateY(-50%)"),s.transform=t}else{const i=e.mkDiv(t.parentNode,null,{display:"flex",top:0,left:0}),o=i.style;i.appendChild(t),n&&"x"!==n||(o.justifyContent="center",o.width="100%"),n&&"y"!==n||(o.alignItems="center",o.height="100%",o.position="absolute")}},[HTMLCollection,NodeList].forEach(e=>{t.proto(e,"each",Array.prototype.each),t.proto(e,"eachAsync",Array.prototype.eachAsync)}),e.go=function(t,e){history.pushState(e,"",t),s(e)},addEventListener("popstate",t=>s(t.state)),addEventListener("load",()=>setTimeout(()=>s(history.state),1)),e.mkEl=r,e.mkDiv=(t,e,n,i)=>r("div",t,e,n,i),e.addText=(t,e)=>t.appendChild(document.createTextNode(e)),e.textWidth=function(t,e){const n=(l||(l=r("canvas"))).getContext("2d");return n.font=e,n.measureText(t).width};const a=/[A-Z]/g,u=t=>"-"+t.toLowerCase();e.addCSS=function(t,e,n){n||(n=function(){for(const t of document.styleSheets)try{return t.cssRules,t}catch(t){}return r("style",document.head).sheet}());let i,o=[];for(i in e)o.push(`${i.replace(a,u)}:${e[i]}`);n.insertRule(`${t}{${o.join(";")}}`)},e.remCSS=function(t){let e,n;for(e of document.styleSheets){try{n=e.cssRules}catch(t){continue}for(let i=0,o=n.length;i<o;++i)n[i]instanceof CSSStyleRule&&n[i].selectorText===t&&e.deleteRule(i)}};const c=/\.0*$/;e.numField=function(n,i,o,s,r){const l=n,a=RegExp(`[,${r?RegExp.escape(r):""}]`,"g");function u(e){return"string"==typeof e&&(e=e.replace(a,"")),e=t.bounds(Number(e)||0,i,o),s?Number(e.toFixed(s)):Math.round(e)}return l.type=e.mobile||s||r?"tel":"number",l.setAttribute("pattern","\\d*"),l.step||(l.step=1),l.addEventListener("keydown",e=>{if(e.ctrlKey)return;let n=e.key,a=1===n.length&&Number.isFinite(Number(n)),u=l.ns,d=u.length,h=u.indexOf(".");if("Tab"!==n&&"Enter"!==n){if(a?(-1===h||d-h<s+1)&&(u+=n):"."===n||"*"===n?s&&-1==h&&l.num!=o&&(i>=0||l.num!=i)&&(!d&&i>0?u=Math.floor(i)+".":u+="."):"Backspace"===n||"Delete"===n?u=i>0&&l.num===i&&u.endsWith(".")?"":u.slice(0,-1):"-"===n||"#"===n?i<0&&!d&&(u="-"):"ArrowUp"===n?(u=null,l.set(l.num+Number(l.step))):"ArrowDown"===n&&(u=null,l.set(l.num-Number(l.step))),null!==u&&u!==l.ns){d=u.length,h=u.indexOf(".");let n="-"===u||"-."===u,p=n?"0":u+(u.endsWith(".")?"0":""),f=Number(p),m=t.bounds(f,i,o);(!a||!u||l.num!==m||-1!==h&&d-h<s+1)&&(l.ns=u,l.num=m,l.value=r?n?r+"-0.00":t.formatCost(m,r):("-"===u[0]?"-":"")+Math.floor(Math.abs(m))+(-1!==h?u.slice(h)+(c.test(u)?"0":""):""),l.onnuminput&&l.onnuminput.call(l,e))}e.preventDefault()}}),l.set=e=>{l.num=u(e),l.ns=l.num.toString(),l.value=r?t.formatCost(l.num,r):l.ns,l.ns=l.ns.replace(/^(-?)0+/,"$1"),l.onnuminput&&l.onnuminput.call(l)},l.setRange=(t,e,n)=>{i=null==t?Number.MIN_SAFE_INTEGER:t,o=null==e?Number.MAX_SAFE_INTEGER:e,s=null==n?r?2:0:n,u(l.num)!==l.num&&l.set(l.num)},l.addEventListener("input",()=>l.set(l.value)),l.addEventListener("paste",t=>{l.set(t.clipboardData.getData("text")),t.preventDefault()}),l.setRange(i,o,s),l},e.autosize=function(e,n=5,i=1){const o=e;o.set=t=>{o.value=t,r()};let s=o.style;function r(){if(0===o.scrollHeight)return setTimeout(r,1);o.setAttribute("rows",1);let e=getComputedStyle(o);s.setProperty("overflow","hidden","important"),s.width=o.innerRect.w+"px",s.boxSizing="content-box",s.borderWidth=s.paddingInline="0";let l=parseFloat(e.paddingTop)+parseFloat(e.paddingBottom),a="normal"===e.lineHeight?parseFloat(e.height):parseFloat(e.lineHeight),u=Math.round((Math.round(o.scrollHeight)-l)/a);s.overflow=s.width=s.boxSizing=s.borderWidth=s.paddingInline="",o.setAttribute("rows",t.bounds(u,i,n))}s.maxHeight=s.resize="none",s.minHeight="0",s.height="auto",o.setAttribute("rows",i),o.addEventListener("input",r)},e.setDateTime=function(t,e){e instanceof Date||(e=new Date(e)),t.value=new Date(e.getTime()-6e4*e.getTimezoneOffset()).toISOString().slice(0,"date"===t.type?10:19)},e.getDateTime=t=>new Date(t.value+("date"===t.type?"T00:00":"")),e.download=async function(t,e){const n=r("a");if("string"==typeof t||t instanceof URL)n.href=t.toString(),n.download=e||n.href.split("/").at(-1),n.click();else{t instanceof Blob||(t=new Blob([t]));const i=URL.createObjectURL(t);n.href=i,n.download=e||"file",n.click(),URL.revokeObjectURL(i)}}}(t);export const utils=t;export default utils//# sourceMappingURL=utils-dom.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["U","ext","innerRect","e","r","getBoundingClientRect","s","getComputedStyle","UtilRect","top","parseFloat","paddingTop","borderTopWidth","bottom","paddingBottom","borderBottomWidth","left","paddingLeft","borderLeftWidth","right","paddingRight","borderRightWidth","window","TouchList","proto","id","t","this","identifier","define","Element","prototype","p","parentElement","Array","indexOf","call","children","el","i","length","appendChild","insertBefore","boundingRect","device","deviceInfo","mobile","constructor","b","l","f","Number","isFinite","tt","bb","ll","rr","v","DOMRect","contains","x","y","x2","y2","overlaps","dist","n","Math","abs","centerY","centerX","sqrt","expand","by","R_CTR","doNav","onNav","mkEl","tag","parent","cls","style","inner","document","createElement","className","innerHTML","k","setProperty","TWCanvas","center","only","mode","os","position","tr","transform","replace","trim","cont","mkDiv","parentNode","display","cs","justifyContent","width","alignItems","height","HTMLCollection","NodeList","forEach","each","eachAsync","go","url","state","history","pushState","addEventListener","setTimeout","addText","text","createTextNode","textWidth","txt","font","ctx","getContext","measureText","R_SK","R_SR","toLowerCase","addCSS","sel","sheet","styleSheets","cssRules","head","defSty","push","insertRule","join","remCSS","rl","CSSStyleRule","selectorText","deleteRule","R_NFZ","numField","field","min","max","decMax","sym","RM","RegExp","escape","numRng","bounds","toFixed","round","type","setAttribute","step","ctrlKey","key","kn","ns","len","dec","num","floor","endsWith","slice","set","neg","nr","value","formatCost","test","onnuminput","preventDefault","toString","setRange","nMin","nMax","nDecMax","MIN_SAFE_INTEGER","MAX_SAFE_INTEGER","clipboardData","getData","autosize","maxRows","minRows","cb","scrollHeight","w","boxSizing","borderWidth","paddingInline","pad","lh","lineHeight","rows","overflow","maxHeight","resize","minHeight","setDateTime","date","Date","getTime","getTimezoneOffset","toISOString","getDateTime","download","async","data","name","a","URL","href","split","at","click","Blob","u","createObjectURL","revokeObjectURL","utils"],"sources":["../src/utils-dom.ts"],"mappings":"gBAEkBA,MAAS,cAmD3B,SAAUC,GAoBV,SAAgBC,EAAUC,GACzB,IAAIC,EAAED,EAAEE,wBAAyBC,EAAEC,iBAAiBJ,GACpD,OAAO,IAAIK,EAASJ,EAAEK,IAAIC,WAAWJ,EAAEK,YAAYD,WAAWJ,EAAEM,gBAC/DR,EAAES,OAAOH,WAAWJ,EAAEQ,eAAeJ,WAAWJ,EAAES,mBAClDX,EAAEY,KAAKN,WAAWJ,EAAEW,aAAaP,WAAWJ,EAAEY,iBAC9Cd,EAAEe,MAAMT,WAAWJ,EAAEc,cAAcV,WAAWJ,EAAEe,kBAClD,CAzBGC,OAAOC,WAAWvB,EAAEwB,MAAMD,UAAW,MAAO,SAAoBE,GAClE,IAAI,MAAMC,KAAKC,KAAM,GAAGD,EAAEE,aAAeH,EAAI,OAAOC,CACrD,GAEA1B,EAAE6B,OAAOC,QAAQC,UAAW,QAAS,WACpC,MAAMC,EAAEL,KAAKM,cAAe,OAAID,EACzBE,MAAMH,UAAUI,QAAQC,KAAKJ,EAAEK,SAAUV,OADL,CAE5C,GAGA3B,EAAEwB,MAAMM,QAAS,gBAAiB,SAAoBQ,EAAaC,GAC/DA,EAAE,IAAGA,EAAE,GAAMA,GAAKZ,KAAKU,SAASG,OAAQb,KAAKc,YAAYH,GACvDX,KAAKe,aAAaJ,EAAIX,KAAKU,SAASE,GAC1C,GAGatC,EAAA0C,aAAgBxC,GAAe,IAAIK,EAASL,EAAEE,yBAG3CJ,EAAAC,UAASA,EAQzBF,EAAE6B,OAAOC,QAAQC,UAAW,eAAgB,WAAqB,OAAO9B,EAAA0C,aAAahB,KAAK,GAC1F3B,EAAE6B,OAAOC,QAAQC,UAAW,YAAa,WAAqB,OAAO7B,EAAUyB,KAAK,GAEvE1B,EAAA2C,OAAS5C,EAAE6C,aAAc5C,EAAA6C,OAAS7C,EAAA2C,OAAOE,OAOtD,MAAatC,EASZ,WAAAuC,CAAYrB,EAAgCsB,EAAYC,EAAY7C,GACnE,MAAM8C,EAAEC,OAAOC,SAAU,IAAIC,EAAG,EAAEC,EAAG,EAAEC,EAAG,EAAEC,EAAG,EAC/CxD,EAAE6B,OAAOF,KAAK,IAAO,IAAI4B,EAAKE,IAAIP,EAAEO,KAAID,GAAIC,EAAEF,EAAGA,EAAGE,KACpDzD,EAAE6B,OAAOF,KAAK,IAAO,IAAI0B,EAAKI,IAAIP,EAAEO,KAAIH,GAAIG,EAAEJ,EAAGA,EAAGI,KACpDzD,EAAE6B,OAAOF,KAAK,MAAS,IAAI0B,EAAKI,IAAIJ,EAAGH,EAAEO,GAAGA,EAAE,IAC9CzD,EAAE6B,OAAOF,KAAK,CAAC,SAAS,MAAM,IAAI2B,EAAKG,IAAIH,EAAGJ,EAAEO,GAAGA,EAAE,IACrDzD,EAAE6B,OAAOF,KAAK,OAAU,IAAI4B,EAAKE,IAAIF,EAAGL,EAAEO,GAAGA,EAAE,IAC/CzD,EAAE6B,OAAOF,KAAK,CAAC,QAAQ,MAAO,IAAI6B,EAAKC,IAAID,EAAGN,EAAEO,GAAGA,EAAE,IACrDzD,EAAE6B,OAAOF,KAAK,CAAC,QAAQ,KAAM,IAAI6B,EAAGD,EAAIE,IAAID,EAAGC,GAAG,EAAEF,EAAGE,EAAE,IACzDzD,EAAE6B,OAAOF,KAAK,CAAC,SAAS,KAAM,IAAI2B,EAAGD,EAAII,IAAIH,EAAGG,GAAG,EAAEJ,EAAGI,EAAE,IAC1DzD,EAAE6B,OAAOF,KAAK,UAAY,IAAI4B,EAAG,EAAEC,EAAG,GACtCxD,EAAE6B,OAAOF,KAAK,UAAY,IAAI0B,EAAG,EAAEC,EAAG,GACnC5B,aAAagC,SAAWhC,aAAalB,GACvC6C,EAAG3B,EAAEjB,IAAK6C,EAAG5B,EAAEb,OAAQ0C,EAAG7B,EAAEV,KAAMwC,EAAG9B,EAAEP,QACnCkC,EAAG3B,EAAG4B,EAAGN,EAAIO,EAAGN,EAAIO,EAAGpD,EAC7B,CAGA,QAAAuD,CAASC,EAAgCC,GACxC,OAAGD,aAAa9B,QAAgBH,KAAKgC,SAASC,EAAEjB,cAC7CiB,aAAapD,EAAiBoD,EAAEA,GAAKjC,KAAKiC,GAAKA,EAAEE,IAAMnC,KAAKmC,IAAMF,EAAEC,GAAKlC,KAAKkC,GAAKD,EAAEG,IAAMpC,KAAKoC,GAC5FH,GAAKjC,KAAKiC,GAAKA,GAAKjC,KAAKmC,IAAMD,GAAMlC,KAAKkC,GAAKA,GAAMlC,KAAKoC,EAClE,CAGA,QAAAC,CAAS5D,GACR,GAAGA,aAAa0B,QAAS,OAAOH,KAAKqC,SAAS5D,EAAEuC,cAChD,KAAKvC,aAAaI,GAAW,OAAO,EACpC,IAAIoD,EAAQC,EAKZ,OAJ+BD,EAA5BxD,EAAE0D,GAAG1D,EAAEwD,GAAKjC,KAAKmC,GAAGnC,KAAKiC,EAAOjC,KAAKiC,GAAKxD,EAAEwD,GAAKjC,KAAKiC,GAAKxD,EAAE0D,IAAMnC,KAAKmC,IAAM1D,EAAEwD,GAAKjC,KAAKmC,IAAM1D,EAAE0D,GAC5F1D,EAAEwD,GAAKjC,KAAKiC,GAAKxD,EAAEwD,GAAKjC,KAAKmC,IAAM1D,EAAE0D,IAAMnC,KAAKiC,GAAKxD,EAAE0D,IAAMnC,KAAKmC,GAC5CD,EAA5BzD,EAAE2D,GAAG3D,EAAEyD,GAAKlC,KAAKoC,GAAGpC,KAAKkC,EAAOlC,KAAKkC,GAAKzD,EAAEyD,GAAKlC,KAAKkC,GAAKzD,EAAE2D,IAAMpC,KAAKoC,IAAM3D,EAAEyD,GAAKlC,KAAKoC,IAAM3D,EAAE2D,GAC5F3D,EAAEyD,GAAKlC,KAAKkC,GAAKzD,EAAEyD,GAAKlC,KAAKoC,IAAM3D,EAAE2D,IAAMpC,KAAKkC,GAAKzD,EAAE2D,IAAMpC,KAAKoC,GACpEH,GAAGC,CACX,CAGA,IAAAI,CAAKL,EAAgCC,GACpC,GAAGD,aAAa9B,QAAS,OAAOH,KAAKsC,KAAKL,EAAEjB,cAC5C,MAAMuB,EAAIN,aAAapD,EAGvB,OAFAqD,EAAIM,KAAKC,KAAKF,EAAGN,EAAeS,QAAQR,GAAalC,KAAK0C,SAC1DT,EAAIO,KAAKC,KAAKF,EAAGN,EAAeU,QAAQV,GAAajC,KAAK2C,SACnDH,KAAKI,KAAKX,EAAEA,EAAEC,EAAEA,EACxB,CAIA,MAAAW,CAAOC,GAEN,OADA9C,KAAKlB,KAAOgE,EAAI9C,KAAKX,MAAQyD,EAAI9C,KAAKd,QAAU4D,EAAI9C,KAAKR,OAASsD,EAC3D9C,IACR,EA3DY1B,EAAAO,SAAQA,EA8DrB,MAAMkE,EAAQ,6BA6Cd,SAASC,EAAMrE,GAAYL,EAAA2E,OAAO3E,EAAA2E,MAAMxC,KAAK,KAAK9B,EAAE,CAKpD,SAAgBuE,EAA4CC,EAAQC,EAAsBC,EAC1FC,EAAgDC,GAC/C,MAAM/E,EAAIgF,SAASC,cAAcN,GAGjC,GAFU,MAAPE,IAAa7E,EAAEkF,UAAYL,GAClB,MAATE,IAAe/E,EAAEmF,UAAYJ,GAC7BD,GAA0B,iBAAVA,EAAoB,IAAI,MAAMM,KAAKN,EAClDM,KAAKpF,EAAE8E,MAAQ9E,EAAE8E,MAAcM,GAAMN,EAAcM,GACjDpF,EAAE8E,MAAMO,YAAYD,EAAIN,EAAcM,IAG5C,OADa,MAAVR,GAAgBA,EAAOtC,YAAYtC,GAC/BA,CACR,CAWA,IAAIsF,EAhEYxF,EAAAyF,OAAhB,SAAuBpD,EAAiBqD,EAAkBC,GACzD,MAAMC,EAAKvD,EAAG2C,MACd,GAAW,SAARW,EAAiB,CACfC,EAAGC,WAAUD,EAAGC,SAAS,YAC7B,IAAIC,EAAKF,EAAGG,UAAUC,QAAQvB,EAAM,IAAIwB,OACpCP,GAAiB,MAATA,IAAcE,EAAG7E,KAAK,MAAO+E,GAAI,qBACzCJ,GAAiB,MAATA,IAAcE,EAAGpF,IAAI,MAAOsF,GAAI,qBAC5CF,EAAGG,UAAUD,CACd,KAAO,CACN,MAAMI,EAAOlG,EAAAmG,MAAM9D,EAAG+D,WAAY,KAAM,CAACC,QAAQ,OAAQ7F,IAAI,EAAGO,KAAK,IAAKuF,EAAKJ,EAAKlB,MACpFkB,EAAK1D,YAAYH,GACbqD,GAAiB,MAATA,IAAcY,EAAGC,eAAe,SAAUD,EAAGE,MAAM,QAC3Dd,GAAiB,MAATA,IAAcY,EAAGG,WAAW,SACvCH,EAAGI,OAAO,OAAQJ,EAAGT,SAAS,WAChC,CACD,EAIA,CAACc,eAAgBC,UAAUC,QAAQ9E,IAClChC,EAAEwB,MAAMQ,EAAG,OAAQE,MAAMH,UAAUgF,MACnC/G,EAAEwB,MAAMQ,EAAG,YAAaE,MAAMH,UAAUiF,aAUzB/G,EAAAgH,GAAhB,SAAmBC,EAAmBC,GACrCC,QAAQC,UAAUF,EAAO,GAAID,GAAMvC,EAAMwC,EAC1C,EAEAG,iBAAiB,WAAYnH,GAAKwE,EAAMxE,EAAEgH,QAC1CG,iBAAiB,OAAQ,IAAMC,WAAW,IAAM5C,EAAMyC,QAAQD,OAAO,IAMrDlH,EAAA4E,KAAIA,EAcP5E,EAAAmG,MAAQ,CAACrB,EAAsBC,EAAqBC,EAChEC,IAA0BL,EAAK,MAAOE,EAAQC,EAAKC,EAAOC,GAG9CjF,EAAAuH,QAAU,CAACzC,EAAc0C,IAAiB1C,EAAOtC,YAAY0C,SAASuC,eAAeD,IAOlFxH,EAAA0H,UAAhB,SAA0BC,EAAaC,GACtC,MAA+CC,GAArCrC,IAAWA,EAASZ,EAAK,YAAoBkD,WAAW,MACjD,OAAjBD,EAAID,KAAOA,EAAaC,EAAIE,YAAYJ,GAAKnB,KAC9C,EAEA,MAAMwB,EAAO,SAAUC,EAAM5H,GAAc,IAAIA,EAAE6H,cASjClI,EAAAmI,OAAhB,SAAuBC,EAAapD,EAAwCqD,GACvEA,IAAOA,EATZ,WACC,IAAI,MAAMhI,KAAK6E,SAASoD,YAAoB,IAAiB,OAAZjI,EAAEkI,SAAiBlI,CAAC,CAAE,MAAMH,GAAI,CAEjF,OAAO0E,EAAK,QAASM,SAASsD,MAAMH,KACrC,CAKkBI,IAAU,IAAInD,EAAEjF,EAAE,GACnC,IAAIiF,KAAKN,EAAO3E,EAAEqI,KAAK,GAAGpD,EAAEU,QAAQgC,EAAMC,MAAUjD,EAAoBM,MACxE+C,EAAOM,WAAW,GAAGP,KAAO/H,EAAEuI,KAAK,QACpC,EAGgB5I,EAAA6I,OAAhB,SAAuBT,GACtB,IAAI/H,EAAEyI,EACN,IAAIzI,KAAK6E,SAASoD,YAAoB,CACrC,IAAKQ,EAAGzI,EAAEkI,QAAQ,CAAE,MAAMrI,GAAI,QAAQ,CACtC,IAAI,IAAIoC,EAAE,EAAEU,EAAE8F,EAAGvG,OAAQD,EAAEU,IAAKV,EAAMwG,EAAGxG,aAAcyG,cACnDD,EAAGxG,GAAG0G,eAAeZ,GAAK/H,EAAE4I,WAAW3G,EAC5C,CACD,EAIA,MAAM4G,EAAM,QAcIlJ,EAAAmJ,SAAhB,SAAyBC,EAAyBC,EAAcC,EAAcC,EAAiBC,GAC9F,MAAMvG,EAAImG,EAAmBK,EAAKC,OAAO,KAAKF,EAAIE,OAAOC,OAAOH,GAAK,MAAO,KAqC5E,SAASI,EAAO3F,GAGf,MAFc,iBAAJA,IAAcA,EAAEA,EAAE+B,QAAQyD,EAAG,KACvCxF,EAAElE,EAAE8J,OAAO3G,OAAOe,IAAI,EAAGoF,EAAKC,GACvBC,EAAOrG,OAAOe,EAAE6F,QAAQP,IAASrF,KAAK6F,MAAM9F,EACpD,CAiBA,OAzDAhB,EAAE+G,KAAQhK,EAAA6C,QAAQ0G,GAAQC,EAAK,MAAM,SACrCvG,EAAEgH,aAAa,UAAW,QAEtBhH,EAAEiH,OAAMjH,EAAEiH,KAAO,GACrBjH,EAAEoE,iBAAiB,UAAWnH,IAC7B,GAAGA,EAAEiK,QAAS,OACd,IAAI7E,EAAEpF,EAAEkK,IAAKC,EAAc,IAAX/E,EAAE/C,QAAYW,OAAOC,SAASD,OAAOoC,IACpDgF,EAAGrH,EAAEqH,GAAIC,EAAID,EAAI/H,OAAQiI,EAAIF,EAAIpI,QAAQ,KAE1C,GAAO,QAAJoD,GAAiB,UAAJA,EAAhB,CAaA,GAZQ+E,IAAe,IAAPG,GAAYD,EAAIC,EAAMjB,EAAQ,KAAGe,GAAIhF,GACzC,MAAJA,GAAe,MAAJA,EAAaiE,IAAgB,GAANiB,GACrCvH,EAAEwH,KAAKnB,IAAQD,GAAM,GAAKpG,EAAEwH,KAAKpB,MACjCkB,GAAOlB,EAAK,EAAGiB,EAAGpG,KAAKwG,MAAMrB,GAAM,IAClCiB,GAAI,KACK,cAAJhF,GAAuB,WAAJA,EACkBgF,EAA5CjB,EAAK,GAAKpG,EAAEwH,MAAMpB,GAAOiB,EAAIK,SAAS,KAAS,GAC1CL,EAAIM,MAAM,GAAG,GACR,MAAJtF,GAAe,MAAJA,EAAa+D,EAAK,IAAMkB,IAAKD,EAAG,KACzC,YAAJhF,GAAegF,EAAG,KAAMrH,EAAE4H,IAAI5H,EAAEwH,IAAIvH,OAAOD,EAAEiH,QACzC,cAAJ5E,IAAiBgF,EAAG,KAAMrH,EAAE4H,IAAI5H,EAAEwH,IAAIvH,OAAOD,EAAEiH,QAE7C,OAAPI,GAAeA,IAAOrH,EAAEqH,GAAI,CAC9BC,EAAID,EAAG/H,OAAQiI,EAAIF,EAAGpI,QAAQ,KAC9B,IAAI4I,EAAS,MAALR,GAAe,OAALA,EAAWjK,EAAEyK,EAAI,IAAIR,GAAIA,EAAGK,SAAS,KAAK,IAAI,IAC/DI,EAAG7H,OAAO7C,GAAI4D,EAAElE,EAAE8J,OAAOkB,EAAI1B,EAAKC,KAC/Be,IAAOC,GAAMrH,EAAEwH,MAAQxG,IAAa,IAAPuG,GAAYD,EAAIC,EAAMjB,EAAQ,KAC9DtG,EAAEqH,GAAGA,EAAIrH,EAAEwH,IAAIxG,EACfhB,EAAE+H,MAAQxB,EAAMsB,EAAItB,EAAI,QAAQzJ,EAAEkL,WAAWhH,EAAEuF,IACrC,MAARc,EAAG,GAAS,IAAI,IAAIpG,KAAKwG,MAAMxG,KAAKC,IAAIF,MAChC,IAAPuG,EAASF,EAAGM,MAAMJ,IAAMtB,EAAMgC,KAAKZ,GAAI,IAAI,IAAI,IAC/CrH,EAAEkI,YAAYlI,EAAEkI,WAAWhJ,KAAKc,EAAE/C,GAEvC,CACAA,EAAEkL,gBAd2D,IAqB9DnI,EAAE4H,IAAI5G,IACLhB,EAAEwH,IAAMb,EAAO3F,GACfhB,EAAEqH,GAAKrH,EAAEwH,IAAIY,WACbpI,EAAE+H,MAAQxB,EAAIzJ,EAAEkL,WAAWhI,EAAEwH,IAAIjB,GAAKvG,EAAEqH,GACxCrH,EAAEqH,GAAGrH,EAAEqH,GAAGtE,QAAQ,UAAU,MACzB/C,EAAEkI,YAAYlI,EAAEkI,WAAWhJ,KAAKc,IAEpCA,EAAEqI,SAAS,CAACC,EAAMC,EAAMC,KACvBpC,EAAU,MAANkC,EAAarI,OAAOwI,iBAAmBH,EAC3CjC,EAAU,MAANkC,EAAatI,OAAOyI,iBAAmBH,EAC3CjC,EAAgB,MAATkC,EAAgBjC,EAAI,EAAE,EAAIiC,EAC9B7B,EAAO3G,EAAEwH,OAASxH,EAAEwH,KAAKxH,EAAE4H,IAAI5H,EAAEwH,MAErCxH,EAAEoE,iBAAiB,QAAS,IAAMpE,EAAE4H,IAAI5H,EAAE+H,QAC1C/H,EAAEoE,iBAAiB,QAASnH,IAAM+C,EAAE4H,IAAI3K,EAAE0L,cAAeC,QAAQ,SAAU3L,EAAEkL,mBAC7EnI,EAAEqI,SAASjC,EAAKC,EAAKC,GACdtG,CACR,EAKgBjD,EAAA8L,SAAhB,SAAyBzJ,EAAyB0J,EAAQ,EAAGC,EAAQ,GACpE,MAAM9L,EAAImC,EACVnC,EAAE2K,IAAMrH,IAAMtD,EAAE8K,MAAMxH,EAAEyI,KACxB,IAAI5L,EAAEH,EAAE8E,MAGR,SAASiH,IACR,GAAoB,IAAjB/L,EAAEgM,aAAkB,OAAO5E,WAAW2E,EAAG,GAC5C/L,EAAE+J,aAAa,OAAQ,GAEvB,IAAI3D,EAAGhG,iBAAiBJ,GACxBG,EAAEkF,YAAY,WAAY,SAAU,aACpClF,EAAEmG,MAAMtG,EAAED,UAAUkM,EAAE,KAAM9L,EAAE+L,UAAU,cAAe/L,EAAEgM,YAAYhM,EAAEiM,cAAc,IAErF,IAAIC,EAAI9L,WAAW6F,EAAG5F,YAAcD,WAAW6F,EAAGzF,eAClD2L,EAAmB,WAAhBlG,EAAGmG,WAAwBhM,WAAW6F,EAAGI,QAAUjG,WAAW6F,EAAGmG,YACpEC,EAAKxI,KAAK6F,OAAO7F,KAAK6F,MAAM7J,EAAEgM,cAAgBK,GAAKC,GAEnDnM,EAAEsM,SAAStM,EAAEmG,MAAMnG,EAAE+L,UAAU/L,EAAEgM,YAAYhM,EAAEiM,cAAc,GAC7DpM,EAAE+J,aAAa,OAAQlK,EAAE8J,OAAO6C,EAAMV,EAASD,GAChD,CAhBA1L,EAAEuM,UAAUvM,EAAEwM,OAAO,OAAQxM,EAAEyM,UAAU,IAAKzM,EAAEqG,OAAO,OACvDxG,EAAE+J,aAAa,OAAQ+B,GAgBvB9L,EAAEmH,iBAAiB,QAAS4E,EAC7B,EAKgBjM,EAAA+M,YAAhB,SAA4B1K,EAAsB2K,GAC5CA,aAAgBC,OAAOD,EAAK,IAAIC,KAAKD,IAC1C3K,EAAG2I,MAAQ,IAAIiC,KAAKD,EAAKE,UAAqC,IAAzBF,EAAKG,qBACzCC,cAAcxC,MAAM,EAAa,SAAVvI,EAAG2H,KAAc,GAAG,GAC7C,EAGahK,EAAAqN,YAAehL,GAAyB,IAAI4K,KAAK5K,EAAG2I,OAAiB,SAAV3I,EAAG2H,KAAc,SAAS,KAM5EhK,EAAAsN,SAAfC,eAAwBC,EAAyCC,GACvE,MAAMC,EAAI9I,EAAK,KACf,GAAmB,iBAAT4I,GAAqBA,aAAgBG,IAC9CD,EAAEE,KAAOJ,EAAKnC,WACdqC,EAAEJ,SAAWG,GAAQC,EAAEE,KAAKC,MAAM,KAAKC,IAAI,GAC3CJ,EAAEK,YACI,CACDP,aAAgBQ,OAAOR,EAAO,IAAIQ,KAAK,CAACR,KAC7C,MAAMS,EAAIN,IAAIO,gBAAgBV,GAC9BE,EAAEE,KAAKK,EAAGP,EAAEJ,SAASG,GAAM,OAAQC,EAAEK,QACrCJ,IAAIQ,gBAAgBF,EACrB,CACD,CACC,CAnVD,CAAUlO,UAqVH,MAAMqO,MAA+BrO,iBAC7BqO","ignoreList":[]}
@@ -0,0 +1,12 @@
1
+ import { utils as U } from './utils.js';
2
+ export type * from './utils.js';
3
+ declare namespace ext {
4
+ /** Get list of system IPs */
5
+ function getIPs(): string[];
6
+ /** Get system info
7
+ @returns [sysOS, arch, cpuInfo] */
8
+ function getOS(): string[];
9
+ }
10
+ export declare const utils: typeof U & typeof ext;
11
+ export default utils;
12
+ //# sourceMappingURL=utils-node.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils-node.d.ts","sourceRoot":"","sources":["../src/utils-node.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,IAAI,CAAC,EAAE,MAAM,YAAY,CAAC;AACxC,mBAAmB,YAAY,CAAC;AAEhC,kBAAU,GAAG,CAAC;IACd,6BAA6B;IAC7B,SAAgB,MAAM,aAMrB;IAED;sCACkC;IAClC,SAAgB,KAAK,aAepB;CACA;AAED,eAAO,MAAM,KAAK,EAAI,OAAO,CAAC,GAAG,OAAO,GAAK,CAAC;AAC9C,eAAe,KAAK,CAAC"}
@@ -0,0 +1 @@
1
+ import a from"os";import{utils as r}from"./utils.js";var e;(e=r).getIPs=function(){const r=[],e=a.networkInterfaces();for(let a in e)e[a].forEach(a=>{!a.internal&&"IPv4"==a.family&&"00:00:00:00:00:00"!=a.mac&&a.address&&r.push(a.address)});return r},e.getOS=function(){var r;let e,t;switch(a.platform()){case"win32":e="Windows";break;case"darwin":e="MacOS";break;case"linux":e="Linux";break;default:e=a.platform()}switch(a.arch()){case"ia32":t="32-bit";break;case"x64":t="64-bit";break;case"arm":t="ARM";break;default:t=a.arch()}return[e,t,(null===(r=a.cpus()[0])||void 0===r?void 0:r.model)||""]};export const utils=r;export default utils//# sourceMappingURL=utils-node.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["os","U","ext","getIPs","ip","fl","networkInterfaces","k","forEach","f","internal","family","mac","address","push","getOS","sysOS","arch","platform","_a","cpus","model","utils"],"sources":["../src/utils-node.ts"],"mappings":"OAEOA,MAAQ,qBACGC,MAAS,aAG3B,IAAUC,KAAAD,GAEME,OAAhB,WACC,MAAMC,EAAa,GAAIC,EAAGL,EAAGM,oBAC7B,IAAI,IAAIC,KAAKF,EAAIA,EAAGE,GAAIC,QAAQC,KAC3BA,EAAEC,UAAwB,QAAZD,EAAEE,QAA6B,qBAATF,EAAEG,KAA8BH,EAAEI,SAAST,EAAGU,KAAKL,EAAEI,WAE9F,OAAOT,CACR,EAIgBF,EAAAa,MAAhB,W,MACC,IAAIC,EAAOC,EACX,OAAOjB,EAAGkB,YACT,IAAK,QAASF,EAAM,UAAW,MAC/B,IAAK,SAAUA,EAAM,QAAS,MAC9B,IAAK,QAASA,EAAM,QAAS,MAC7B,QAASA,EAAMhB,EAAGkB,WAEnB,OAAOlB,EAAGiB,QACT,IAAK,OAAQA,EAAK,SAAU,MAC5B,IAAK,MAAOA,EAAK,SAAU,MAC3B,IAAK,MAAOA,EAAK,MAAO,MACxB,QAASA,EAAKjB,EAAGiB,OAElB,MAAO,CAACD,EAAOC,GAAkB,QAAZE,EAAAnB,EAAGoB,OAAO,UAAE,IAAAD,OAAA,EAAAA,EAAEE,QAAO,GAC3C,SAGO,MAAMC,MAA+BrB,iBAC7BqB","ignoreList":[]}
package/dist/utils.d.ts CHANGED
@@ -23,14 +23,6 @@ declare global {
23
23
  firstEmpty(): number;
24
24
  at(idx: number): T | undefined;
25
25
  }
26
- export interface HTMLCollection {
27
- each: <R>(fn: (itm: Element, idx: number, len: number) => R | "!", st?: number, en?: number) => (R | undefined);
28
- eachAsync: <R>(fn: (itm: Element, idx: number, len: number) => R | "!", st?: number, en?: number, pe?: boolean) => Promise<R | undefined>;
29
- }
30
- export interface NodeList {
31
- each: <R>(fn: (itm: Node, idx: number, len: number) => R | "!", st?: number, en?: number) => (R | undefined);
32
- eachAsync: <R>(fn: (itm: Node, idx: number, len: number) => R | "!", st?: number, en?: number, pe?: boolean) => Promise<R | undefined>;
33
- }
34
26
  export interface Function {
35
27
  /** Wrap a function so that it always has a preset argument list when called.
36
28
  In the called function, `this` is set to the caller's arguments, granting access to both */
@@ -44,10 +36,6 @@ declare global {
44
36
  /** Escapes regex syntax characters */
45
37
  escape(s: string): string;
46
38
  }
47
- export interface TouchList {
48
- /** Get touch by id, if it exists */
49
- get(id: number): Touch | undefined;
50
- }
51
39
  interface Base64Opts {
52
40
  alphabet?: 'base64' | 'base64url';
53
41
  omitPadding?: boolean;
@@ -58,16 +46,6 @@ declare global {
58
46
  export interface Uint8Array {
59
47
  toBase64(opts: Base64Opts): string;
60
48
  }
61
- export interface Element {
62
- /** Get an element's index in its parent. Returns -1 if the element has no parent */
63
- index: number;
64
- /** Insert child at index */
65
- insertChildAt(el: Element, i: number): void;
66
- /** Get element bounding rect as UtilRect object */
67
- boundingRect: utils.UtilRect;
68
- /** Get element inner rect (excluding border and padding) as UtilRect object */
69
- innerRect: utils.UtilRect;
70
- }
71
49
  }
72
50
  export interface AnyMap {
73
51
  [k: string]: any;
@@ -80,9 +58,11 @@ export interface QueryMap {
80
58
  }
81
59
  export declare namespace utils {
82
60
  /** Current library version */
83
- export const VER = "v9.0.5";
61
+ export const VER = "v9.1.0";
84
62
  /** Whether the environment is Node.js or Browser */
85
63
  export const isNode: boolean;
64
+ /** Import modules only in Node.js, otherwise return empty list */
65
+ export const importNode: (...mods: string[]) => Promise<any[]>;
86
66
  /** Add getter and/or setter for `name` to `obj` */
87
67
  export function define(obj: Object, name: string | string[], get?: () => any | null, set?: (v: any) => void | null): void;
88
68
  /** Define immutable, non-enumerable property or method in object prototype
@@ -138,37 +118,11 @@ export declare namespace utils {
138
118
  export const Easing: {
139
119
  [k: string]: Ease;
140
120
  };
141
- /** Get element bounding rect as UtilRect object */
142
- export const boundingRect: (e: Element) => UtilRect;
143
- /** Get element inner rect (excluding border and padding) as UtilRect object */
144
- export function innerRect(e: Element): UtilRect;
145
- /** Better class for bounding boxes */
146
- export class UtilRect {
147
- x: number;
148
- left: number;
149
- y: number;
150
- top: number;
151
- x2: number;
152
- right: number;
153
- y2: number;
154
- bottom: number;
155
- w: number;
156
- width: number;
157
- h: number;
158
- height: number;
159
- centerX: number;
160
- centerY: number;
161
- constructor(t: number | DOMRect | UtilRect, b?: number, l?: number, r?: number);
162
- /** Check if rect contains point, other rect, or Element */
163
- contains(x: number | UtilRect | Element, y?: number): boolean;
164
- /** Check if rect overlaps rect or Element */
165
- overlaps(r: UtilRect | Element): boolean;
166
- /** Get distance from this rect to point, other rect, or Element */
167
- dist(x: number | UtilRect | Element, y?: number): number;
168
- /** Expand (or contract if negative) a UtilRect by num of pixels. Useful for using UtilRect objects as element hitboxes
169
- @returns self for chaining */
170
- expand(by: number): this;
171
- }
121
+ /** Check if string, array, or object is empty.
122
+ Returns false for all other types */
123
+ export function isBlank(s: any): boolean;
124
+ /** setTimeout but async */
125
+ export const delay: (ms: number) => Promise<void>;
172
126
  export interface UserAgentInfo {
173
127
  os?: string;
174
128
  rawOS?: string;
@@ -181,33 +135,6 @@ export declare namespace utils {
181
135
  /** UserAgent-based Mobile device detection
182
136
  @param ua User Agent string; defaults to navigator.userAgent */
183
137
  export function deviceInfo(ua?: string): UserAgentInfo;
184
- export const device: UserAgentInfo | null;
185
- export const mobile: boolean | undefined;
186
- /** Center element with JS
187
-
188
- Modes:
189
- - `trans`: Uses transform: translate. Responsive, no container
190
- - Default: New flexbox method
191
- @param only `x` for only x axis centering, `y` for only y axis, null for both */
192
- export function center(el: HTMLElement, only?: "x" | "y", mode?: "trans"): void;
193
- /** Called when a virtual navigation event occurs, including on page load */
194
- export let onNav: (state: any) => void;
195
- /** Generate a virtual navigation event, updating the URL bar
196
- @param state Optional data given to `onNav` whenever the user returns to this history entry */
197
- export function go(url: string | URL, state?: any): void;
198
- /** Create elements with ease! Just remember **PCSI** - Parent, class, style, innerHTML */
199
- export function mkEl<K extends keyof HTMLElementTagNameMap>(tag: K, parent?: Node | null, cls?: string | null, style?: CSSStyleDeclaration | AnyMap | null, inner?: string | null): HTMLElementTagNameMap[K];
200
- /** Shorthand for `mkEl` with div tag */
201
- export const mkDiv: (parent?: Node | null, cls?: string | null, style?: CSSStyleDeclaration | AnyMap | null, inner?: string | null) => HTMLDivElement;
202
- /** Add text node to the DOM */
203
- export const addText: (parent: Node, text: string) => Text;
204
- /** Get predicted width of text w/ given CSS font style */
205
- export function textWidth(txt: string, font: string): number;
206
- /** Create a CSS rule and append it to the current document
207
- @param sel CSS selector, eg. `.class` or `#id` */
208
- export function addCSS(sel: string, style: CSSStyleDeclaration | AnyMap, sheet?: CSSStyleSheet): void;
209
- /** Remove a CSS selector from **all** stylesheets */
210
- export function remCSS(sel: string): void;
211
138
  /** Set a cookie
212
139
  @param val Leave blank to unset
213
140
  @param exp Optional expiry; Set to `-1` for max
@@ -230,32 +157,6 @@ export declare namespace utils {
230
157
  /** Convert Object into a URL query string
231
158
  @param sep Key separator, defaults to `&` */
232
159
  export function toQuery(data: QueryMap, sep?: string): string;
233
- export interface NumField extends HTMLInputElement {
234
- num: number;
235
- ns: string | null;
236
- set: (num: number | string) => void;
237
- setRange: (min?: number, max?: number, decMax?: number) => void;
238
- onnuminput?: (this: GlobalEventHandlers, ev?: Event) => any;
239
- }
240
- /** Turns your boring <input> into a mobile-friendly number entry field with max/min & negative support!
241
-
242
- Tips:
243
- - Use `field.onnuminput` in place of oninput, get number value with field.num
244
- - On mobile, use star key for decimal point and pound key for negative
245
- - You can set `field.nStep` in order to change the up/down arrow step size
246
- - Use `field.setRange` to change min, max, and decMax
247
-
248
- @param min Min value, default min safe int
249
- @param max Max value, default max safe int
250
- @param decMax Max decimal precision (eg. 3 is 0.001), default 0
251
- @param sym If a symbol (eg. '$') is given, uses currency mode */
252
- export function numField(field: HTMLInputElement, min?: number, max?: number, decMax?: number, sym?: string): NumField;
253
- export interface TextArea extends HTMLTextAreaElement {
254
- set: (val: string) => void;
255
- }
256
- /** Auto-resizing textarea, dynamically scales lineHeight based on input.
257
- Use `el.set(value)` to set value & update size */
258
- export function autosize(el: HTMLTextAreaElement, maxRows?: number, minRows?: number): void;
259
160
  export const months: string[];
260
161
  export interface DateFormatOpts {
261
162
  /** Include seconds */
@@ -279,24 +180,6 @@ export declare namespace utils {
279
180
  export function formatDate(d?: Date, opt?: DateFormatOpts): string;
280
181
  /** Add suffix to number (eg. 31st, 12th, 22nd) */
281
182
  export function suffix(n: number): string;
282
- /** Set `datetime-local` or `date` input from JS Date object or string, adjusting for local timezone */
283
- export function setDateTime(el: HTMLInputElement, date: Date | string | number): void;
284
- /** Get value of `datetime-local` or `date` input as JS Date */
285
- export const getDateTime: (el: HTMLInputElement) => Date;
286
- /** Check if string, array, or object is empty.
287
- Returns false for all other types */
288
- export function isBlank(s: any): boolean;
289
- /** Trigger browser download of file. If `data` is a string or URL,
290
- it is treated as a URL. Otherwise, it is downloaded as Blob data */
291
- export function download(data: string | URL | Blob | ArrayBuffer, name?: string): Promise<void>;
292
- /** setTimeout but async */
293
- export const delay: (ms: number) => Promise<void>;
294
- /** Get list of system IPs */
295
- export function getIPs(): Promise<string[]>;
296
- /** Get system info
297
- @returns [sysOS, arch, cpuInfo] */
298
- export function getOS(): Promise<string[]>;
299
183
  export {};
300
184
  }
301
- export default utils;
302
185
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
package/dist/utils.js CHANGED
@@ -1 +1 @@
1
- const t="undefined"==typeof window,e=t?[{},{back:()=>{},forward:()=>{}},class{},class{},class{},class{},()=>{}]:[window,history,DOMRect,HTMLCollection,Element,NodeList,addEventListener];export var utils;!function(n){const[i,o,r,s,a,l,u]=e;function c(t,e,n,i){const o={get:n||void 0,set:i||void 0};if(Array.isArray(e))for(const n of e)Object.defineProperty(t,n,o);else Object.defineProperty(t,e,o)}function f(t,e,n,i,o){const r={value:n,writable:!!o};if(i||(t=t.prototype),Array.isArray(e))for(const n of e)Object.defineProperty(t,n,r);else Object.defineProperty(t,e,r)}function d(t,e,n){let i,o=this.length,r=Math.max(e<0?o+e:e||0,0);for(null!=n&&(o=Math.min(n<0?o+n:n,o));r<o;++r)if("!"===(i=t(this[r],r,o)))this instanceof s?this[r].remove():this.splice(r,1),--r,--o;else if(null!=i)return i}async function h(t,e,n,i=!0){let o,r=this.length,a=e=Math.max(e<0?r+e:e||0,0),l=[];for(null!=n&&(r=Math.min(n<0?r+n:n,r));a<r;++a){if(o=t(this[a],a,r),!i&&(o=await o,"!"!==o&&null!=o))return o;l.push(o)}for(i&&(l=await Promise.all(l)),a=e,o=0;a<r;++a,++o)if("!"===l[o])this instanceof s?this[a].remove():this.splice(a,1),--a,--r;else if(null!=l[o])return l[o]}n.VER="v9.0.5",n.isNode=t,n.define=c,n.proto=f,n.copy=function t(e,n){if(0===n||"object"!=typeof e)return e;let i;if(n=n>0?n-1:void 0,Array.isArray(e))i=Array(e.length),e.forEach((e,o)=>i[o]=t(e,n));else{i={};for(let o in e)i[o]=t(e[o],n)}return i},n.merge=function t(e,...n){let i,o;for(const r of n)for(const n in r){if(i=e[n],o=r[n],i&&o){if(i.length>=0&&o.length>=0){Array.prototype.push.apply(i,o);continue}if("object"==typeof i&&"object"==typeof o){t(i,o);continue}}e[n]=o}return e},n.setProp=function(t,e,n,i=!1){"string"==typeof e&&(e=e.split("."));let o=0,r=e.length-1,s=t;for(;o<r;++o)if(s=s[e[o]],!s||"object"!=typeof s){if(i)return!1;s=t[e[o]]={}}const a=e.at(-1);return!(i&&null!=s[a]||(s[a]=n,0))},n.getProp=function(t,e){"string"==typeof e&&(e=e.split("."));try{for(const n of e)t=t[n];return t}catch(t){}},f(Array,"clean",function(t){for(let e,n=0,i=this.length;n<i;++n)e=this[n],(L(e)||!1===e||!t&&0===e)&&(this.splice(n--,1),--i);return this}),f(Array,"remove",function(t){const e=this.indexOf(t);return-1!==e&&(this.splice(e,1),!0)}),f(Array,"firstEmpty",function(){const t=this.length;for(let e=0;e<t;++e)if(null==this[e])return e;return t}),[Array,s,l].forEach(t=>{f(t,"each",d),f(t,"eachAsync",h)});const p=("undefined"==typeof BigInt?t=>t:BigInt)(0);function m(t,e="$"){if(!t)return e+"0.00";const n=t.toFixed(2).split(".");return e+n[0].split("").reverse().reduce((t,e,n)=>"-"==e?e+t:e+(!n||n%3?"":",")+t,"")+"."+n[1]}n.abs=t=>"bigint"==typeof t?t<p?-t:t:Math.abs(t),n.min=(...t)=>{let e,n;for(e of t)e>n||(n=e);return n},n.max=(...t)=>{let e,n;for(e of t)e<n||(n=e);return n},n.deg=t=>180*t/Math.PI,n.rad=t=>t*Math.PI/180,Math.cot=t=>1/Math.tan(t),n.fixedNum=function(t,e,i=10){"bigint"==typeof e&&(e=Number(e));let o=n.abs(t).toString(i).toUpperCase();return(t<0?"-":"")+(16==i?"0x":2==i?"0b":"")+"0".repeat(Math.max(e-o.length,0))+o},n.bounds=(t,e=0,n=1)=>t>=e?t<=n?t:n:e,n.norm=function(t,e=0,i=1){let o=i-e;return((t+n.abs(e))%o+o)%o+e},n.map=function(t,e,n,i,o,r){let s=(t-e)/(n-e);return(r?r(s):s)*(o-i)+i},n.hexToRgb=function(t){const e=parseInt(t.slice(1),16);return[e>>16&255,e>>8&255,255&e]},n.rgbToHsl=function(t,e,n){let i,o,r=Math.max(t/=255,e/=255,n/=255),s=Math.min(t,e,n),a=(r+s)/2;if(r===s)i=o=0;else{let l=r-s;switch(o=a>.5?l/(2-r-s):l/(r+s),r){case t:i=(e-n)/l+(e<n?6:0);break;case e:i=(n-t)/l+2;break;default:i=(t-e)/l+4}i/=6}return[360*i,100*o,100*a]},n.rand=function(t,e,n=1,i){e*=n,t*=n;let o=Math.random();return Math.round((i?i(o):o)*(e-t)+t)/n},n.formatCost=m,n.Easing={linear:t=>t,easeInQuad:t=>t*t,easeOutQuad:t=>t*(2-t),easeInOutQuad:t=>t<.5?2*t*t:(4-2*t)*t-1,easeInCubic:t=>t*t*t,easeOutCubic:t=>--t*t*t+1,easeInOutCubic:t=>t<.5?4*t*t*t:(t-1)*(2*t-2)*(2*t-2)+1,easeInQuart:t=>t*t*t*t,easeOutQuart:t=>1- --t*t*t*t,easeInOutQuart:t=>t<.5?8*t*t*t*t:1-8*--t*t*t*t,easeInQuint:t=>t*t*t*t*t,easeOutQuint:t=>1+--t*t*t*t*t,easeInOutQuint:t=>t<.5?16*t*t*t*t*t:1+16*--t*t*t*t*t};const y=/[|\\{}()[\]^$+*?.]/g,g=/-/g;"escape"in RegExp||f(RegExp,"escape",t=>t.replace(y,"\\$&").replace(g,"\\x2d"),!0);const b="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",x=b.replace("+/","-_"),v={43:62,47:63,48:52,49:53,50:54,51:55,52:56,53:57,54:58,55:59,56:60,57:61,65:0,66:1,67:2,68:3,69:4,70:5,71:6,72:7,73:8,74:9,75:10,76:11,77:12,78:13,79:14,80:15,81:16,82:17,83:18,84:19,85:20,86:21,87:22,88:23,89:24,90:25,97:26,98:27,99:28,100:29,101:30,102:31,103:32,104:33,105:34,106:35,107:36,108:37,109:38,110:39,111:40,112:41,113:42,114:43,115:44,116:45,117:46,118:47,119:48,120:49,121:50,122:51,45:62,95:63};function w(t,e){const n=v[t.charCodeAt(e)];if(null==n)throw"Bad char at "+e;return n}function O(t){let e=t.getBoundingClientRect(),n=getComputedStyle(t);return new R(e.top+parseFloat(n.paddingTop)+parseFloat(n.borderTopWidth),e.bottom-parseFloat(n.paddingBottom)-parseFloat(n.borderBottomWidth),e.left+parseFloat(n.paddingLeft)+parseFloat(n.borderLeftWidth),e.right-parseFloat(n.paddingRight)-parseFloat(n.borderRightWidth))}"toBase64"in Uint8Array.prototype||f(Uint8Array,"toBase64",function(t){let e,n=this.byteLength,i=n%3,o=t&&"base64url"===t.alphabet?x:b,r=0,s="";for(n-=i;r<n;r+=3)e=this[r]<<16|this[r+1]<<8|this[r+2],s+=o[(16515072&e)>>18]+o[(258048&e)>>12]+o[(4032&e)>>6]+o[63&e];return 1===i?(e=this[n],s+=o[(252&e)>>2]+o[(3&e)<<4],t&&t.omitPadding||(s+="=")):2===i&&(e=this[n]<<8|this[n+1],s+=o[(64512&e)>>10]+o[(1008&e)>>4]+o[(15&e)<<2],t&&t.omitPadding||(s+="==")),s}),"fromBase64"in Uint8Array||f(Uint8Array,"fromBase64",t=>{let e=t.length,n=e-1;for(;n>=0&&61===t.charCodeAt(n);--n);e=n+1,n=0;let i=e%4;if(e-=i,1==i)throw"Bad b64 len";let o,r=new Uint8Array(3*e/4+(i?i-1:0)),s=-1;for(;n<e;n+=4)o=w(t,n)<<18|w(t,n+1)<<12|w(t,n+2)<<6|w(t,n+3),r[++s]=o>>16,r[++s]=o>>8,r[++s]=o;return 2==i?r[++s]=w(t,n)<<2|w(t,n+1)>>4:3==i&&(o=w(t,n)<<10|w(t,n+1)<<4|w(t,n+2)>>2,r[++s]=o>>8,r[++s]=o),r},!0),"at"in Array.prototype||f(Array,"at",function(t){const e=this.length,n=t<0?e+t:t;if(n>=0&&n<e)return this[n]}),f(Function,"wrap",function(...t){const e=this;return function(){return e.apply(arguments,t)}},!1,!0),i.TouchList&&f(TouchList,"get",function(t){for(const e of this)if(e.identifier===t)return e}),c(a.prototype,"index",function(){const t=this.parentElement;return t?Array.prototype.indexOf.call(t.children,this):-1}),f(a,"insertChildAt",function(t,e){e<0&&(e=0),e>=this.children.length?this.appendChild(t):this.insertBefore(t,this.children[e])}),n.boundingRect=t=>new R(t.getBoundingClientRect()),n.innerRect=O,c(a.prototype,"boundingRect",function(){return n.boundingRect(this)}),c(a.prototype,"innerRect",function(){return O(this)});class R{constructor(t,e,n,i){const o=Number.isFinite;let s=0,a=0,l=0,u=0;c(this,"x",()=>l,t=>{o(t)&&(u+=t-l,l=t)}),c(this,"y",()=>s,t=>{o(t)&&(a+=t-s,s=t)}),c(this,"top",()=>s,t=>{s=o(t)?t:0}),c(this,["bottom","y2"],()=>a,t=>{a=o(t)?t:0}),c(this,"left",()=>l,t=>{l=o(t)?t:0}),c(this,["right","x2"],()=>u,t=>{u=o(t)?t:0}),c(this,["width","w"],()=>u-l,t=>{u=t>=0?l+t:0}),c(this,["height","h"],()=>a-s,t=>{a=t>=0?s+t:0}),c(this,"centerX",()=>l/2+u/2),c(this,"centerY",()=>s/2+a/2),t instanceof r||t instanceof R?(s=t.top,a=t.bottom,l=t.left,u=t.right):(s=t,a=e,l=n,u=i)}contains(t,e){return t instanceof a?this.contains(t.boundingRect):t instanceof R?t.x>=this.x&&t.x2<=this.x2&&t.y>=this.y&&t.y2<=this.y2:t>=this.x&&t<=this.x2&&e>=this.y&&e<=this.y2}overlaps(t){if(t instanceof a)return this.overlaps(t.boundingRect);if(!(t instanceof R))return!1;let e,n;return e=t.x2-t.x>=this.x2-this.x?this.x>=t.x&&this.x<=t.x2||this.x2>=t.x&&this.x2<=t.x2:t.x>=this.x&&t.x<=this.x2||t.x2>=this.x&&t.x2<=this.x2,n=t.y2-t.y>=this.y2-this.y?this.y>=t.y&&this.y<=t.y2||this.y2>=t.y&&this.y2<=t.y2:t.y>=this.y&&t.y<=this.y2||t.y2>=this.y&&t.y2<=this.y2,e&&n}dist(t,e){if(t instanceof a)return this.dist(t.boundingRect);const n=t instanceof R;return e=Math.abs((n?t.centerY:e)-this.centerY),t=Math.abs((n?t.centerX:t)-this.centerX),Math.sqrt(t*t+e*e)}expand(t){return this.top-=t,this.left-=t,this.bottom+=t,this.right+=t,this}}function A(t){t||(t=navigator.userAgent);const e={};if(!t.startsWith("Mozilla/5.0 "))return e;let n,i,o=t.indexOf(")"),r=e.rawOS=t.slice(13,o);return r.startsWith("Windows")?(n=r.split("; "),e.os="Windows",e.type=-1!==n.indexOf("WOW64")?"x64 PC; x86 Browser":-1!==n.indexOf("x64")?"x64 PC":"x86 PC",n=r.indexOf("Windows NT "),e.version=r.slice(n+11,r.indexOf(";",n+12))):r.startsWith("iP")?(n=r.indexOf("OS"),e.os="iOS",e.type=r.slice(0,r.indexOf(";")),e.version=r.slice(n+3,r.indexOf(" ",n+4)).replace(/_/g,".")):r.startsWith("Macintosh;")?(n=r.indexOf(" Mac OS X"),e.os="MacOS",e.type=r.slice(11,n)+" Mac",e.version=r.slice(n+10).replace(/_/g,".")):-1!==(n=r.indexOf("Android"))?(e.os="Android",e.version=r.slice(n+8,r.indexOf(";",n+9)),n=r.lastIndexOf(";"),i=r.indexOf(" Build",n+2),e.type=r.slice(n+2,-1===i?void 0:i)):r.startsWith("X11;")&&(r=r.slice(5).split(/[;\s]+/),n=r.length,e.os=("Linux"===r[0]?"":"Linux ")+r[0],e.type=r[n-2],e.version=r[n-1]),(n=Number(e.version))&&(e.version=n),n=t.indexOf(" ",o+2),i=t.indexOf(")",n+1),i=-1===i?n+1:i+2,e.engine=t.slice(o+2,n),e.browser=t.slice(i),e.mobile=!!t.match(/Mobi/i),e}n.UtilRect=R,n.deviceInfo=A,n.device=t?null:A(),n.mobile=null===n.device||void 0===n.device?void 0:n.device.mobile;const M=/translate(?:x|y)?\(.+?\)/gi;function C(t){n.onNav&&n.onNav.call(null,t)}function I(t,e,n,i,o){const r=document.createElement(t);if(null!=n&&(r.className=n),null!=o&&(r.innerHTML=o),i&&"object"==typeof i)for(const t in i)t in r.style?r.style[t]=i[t]:r.style.setProperty(t,i[t]);return null!=e&&e.appendChild(r),r}let S;n.center=function(t,e,i){const o=t.style;if("trans"==i){o.position||(o.position="absolute");let t=o.transform.replace(M,"").trim();e&&"x"!==e||(o.left="50%",t+=" translateX(-50%)"),e&&"y"!==e||(o.top="50%",t+=" translateY(-50%)"),o.transform=t}else{const i=n.mkDiv(t.parentNode,null,{display:"flex",top:0,left:0}),o=i.style;i.appendChild(t),e&&"x"!==e||(o.justifyContent="center",o.width="100%"),e&&"y"!==e||(o.alignItems="center",o.height="100%",o.position="absolute")}},n.go=function(t,e){o.pushState(e,"",t),C(e)},u("popstate",t=>C(t.state)),u("load",()=>setTimeout(()=>C(o.state),1)),n.mkEl=I,n.mkDiv=(t,e,n,i)=>I("div",t,e,n,i),n.addText=(t,e)=>t.appendChild(document.createTextNode(e)),n.textWidth=function(t,e){const n=(S||(S=I("canvas"))).getContext("2d");return n.font=e,n.measureText(t).width};const k=/[A-Z]/g,N=t=>"-"+t.toLowerCase();function E(t,e){return!0===e?t:("string"!=typeof e&&(e=JSON.stringify(e)),`${t}=${encodeURIComponent(e)}`)}n.addCSS=function(t,e,n){n||(n=function(){for(const t of document.styleSheets)try{return t.cssRules,t}catch(t){}return I("style",document.head).sheet}());let i,o=[];for(i in e)o.push(`${i.replace(k,N)}:${e[i]}`);n.insertRule(`${t}{${o.join(";")}}`)},n.remCSS=function(t){let e,n;for(e of document.styleSheets){try{n=e.cssRules}catch(t){continue}for(let i=0,o=n.length;i<o;++i)n[i]instanceof CSSStyleRule&&n[i].selectorText===t&&e.deleteRule(i)}},n.setCookie=function(e,n,i,o){let r=`${encodeURIComponent(e)}=${null==n?"":encodeURIComponent(n)};path=/`;return null!=i&&(-1===i&&(i=new Date(9e14)),r+=i instanceof Date?";expires="+i.toUTCString():";max-age="+i),o&&(r+=";secure"),t||(document.cookie=r),r},n.getCookie=function(t,e){null==e&&(e=document.cookie),t=encodeURIComponent(t)+"=";let n,i=e.split("; ");for(n of i)if(n.startsWith(t))return decodeURIComponent(n.slice(t.length))},n.remCookie=function(e){let n=encodeURIComponent(e)+"=;max-age=0";return t||(document.cookie=n),n},n.getCookies=function(t){if(null==t&&(t=document.cookie),!t)return{};let e,n;const i={};for(e of t.split("; "))n=e.indexOf("="),i[decodeURIComponent(e.slice(0,n))]=decodeURIComponent(e.slice(n+1));return i},n.fromQuery=function(t,e="&"){t.startsWith("?")&&(t=t.slice(1));let n,i,o,r,s={};for(n of t.split(e))i=n.indexOf("="),-1===i?(o=n,r=!0):(o=decodeURIComponent(n.slice(0,i)),r=decodeURIComponent(n.slice(i+1))),o in s?(i=s[o],Array.isArray(i)?i.push(r):s[o]=[i,r]):s[o]=r;return s},n.toQuery=function(t,e="&"){let n,i,o=[];for(n in t)if(i=t[n],n=encodeURIComponent(n),Array.isArray(i))for(const t of i)o.push(E(n,t));else o.push(E(n,i));return o.join(e)};const T=/\.0*$/;function U(t){return t<=9?"0"+t:t}function F(t){let e=t%10,n=t%100;return 1==e&&11!=n?t+"st":2==e&&12!=n?t+"nd":3==e&&13!=n?t+"rd":t+"th"}n.numField=function(t,e,i,o,r){const s=t,a=RegExp(`[,${r?RegExp.escape(r):""}]`,"g");function l(t){return"string"==typeof t&&(t=t.replace(a,"")),t=n.bounds(Number(t)||0,e,i),o?Number(t.toFixed(o)):Math.round(t)}return s.type=n.mobile||o||r?"tel":"number",s.setAttribute("pattern","\\d*"),s.step||(s.step=1),s.addEventListener("keydown",t=>{if(t.ctrlKey)return;let a=t.key,l=1===a.length&&Number.isFinite(Number(a)),u=s.ns,c=u.length,f=u.indexOf(".");if("Tab"!==a&&"Enter"!==a){if(l?(-1===f||c-f<o+1)&&(u+=a):"."===a||"*"===a?o&&-1==f&&s.num!=i&&(e>=0||s.num!=e)&&(!c&&e>0?u=Math.floor(e)+".":u+="."):"Backspace"===a||"Delete"===a?u=e>0&&s.num===e&&u.endsWith(".")?"":u.slice(0,-1):"-"===a||"#"===a?e<0&&!c&&(u="-"):"ArrowUp"===a?(u=null,s.set(s.num+Number(s.step))):"ArrowDown"===a&&(u=null,s.set(s.num-Number(s.step))),null!==u&&u!==s.ns){c=u.length,f=u.indexOf(".");let a="-"===u||"-."===u,d=a?"0":u+(u.endsWith(".")?"0":""),h=Number(d),p=n.bounds(h,e,i);(!l||!u||s.num!==p||-1!==f&&c-f<o+1)&&(s.ns=u,s.num=p,s.value=r?a?r+"-0.00":m(p,r):("-"===u[0]?"-":"")+Math.floor(Math.abs(p))+(-1!==f?u.slice(f)+(T.test(u)?"0":""):""),s.onnuminput&&s.onnuminput.call(s,t))}t.preventDefault()}}),s.set=t=>{s.num=l(t),s.ns=s.num.toString(),s.value=r?m(s.num,r):s.ns,s.ns=s.ns.replace(/^(-?)0+/,"$1"),s.onnuminput&&s.onnuminput.call(s)},s.setRange=(t,n,a)=>{e=null==t?Number.MIN_SAFE_INTEGER:t,i=null==n?Number.MAX_SAFE_INTEGER:n,o=null==a?r?2:0:a,l(s.num)!==s.num&&s.set(s.num)},s.addEventListener("input",()=>s.set(s.value)),s.addEventListener("paste",t=>{s.set(t.clipboardData.getData("text")),t.preventDefault()}),s.setRange(e,i,o),s},n.autosize=function(t,e=5,i=1){const o=t;o.set=t=>{o.value=t,s()};let r=o.style;function s(){if(0===o.scrollHeight)return setTimeout(s,1);o.setAttribute("rows",1);let t=getComputedStyle(o);r.setProperty("overflow","hidden","important"),r.width=o.innerRect.w+"px",r.boxSizing="content-box",r.borderWidth=r.paddingInline="0";let a=parseFloat(t.paddingTop)+parseFloat(t.paddingBottom),l="normal"===t.lineHeight?parseFloat(t.height):parseFloat(t.lineHeight),u=Math.round((Math.round(o.scrollHeight)-a)/l);r.overflow=r.width=r.boxSizing=r.borderWidth=r.paddingInline="",o.setAttribute("rows",n.bounds(u,i,e))}r.maxHeight=r.resize="none",r.minHeight="0",r.height="auto",o.setAttribute("rows",i),o.addEventListener("input",s)},n.months=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],n.formatDate=function(t,e={}){let i,o,r="";if(!(null!=t&&t.getDate&&(i=t.getFullYear())>1969))return"[Invalid Date]";if(null==e.time||e.time){let n=t.getHours(),i="";if(e.h24||(i=" AM",n>=12&&(i=" PM",n-=12),n||(n=12)),r=n+":"+U(t.getMinutes())+(e.sec?":"+U(t.getSeconds())+(e.ms?(t.getMilliseconds()/1e3).toFixed(Number.isFinite(e.ms)?e.ms:3).slice(1):""):""),r+=i,e.time)return r}return o=t.getDate(),o=n.months[t.getMonth()]+" "+(null==e.suf||e.suf?F(o):o),null!=e.year&&!e.year||e.year===i||(o=o+", "+i),e.df?o+(r&&(e.sep||" ")+r):(r&&r+(e.sep||" "))+o},n.suffix=F,n.setDateTime=function(t,e){e instanceof Date||(e=new Date(e)),t.value=new Date(e.getTime()-6e4*e.getTimezoneOffset()).toISOString().slice(0,"date"===t.type?10:19)},n.getDateTime=t=>new Date(t.value+("date"===t.type?"T00:00":""));const D=/\S/;function L(t){return null==t||("string"==typeof t?!D.test(t):"object"==typeof t&&("number"==typeof t.length?0===t.length:0===Object.keys(t).length))}let W;async function P(){W||(W=await import("os"))}n.isBlank=L,n.download=async function(t,e){const n=I("a");if("string"==typeof t||t instanceof URL)n.href=t.toString(),n.download=e||n.href.split("/").at(-1),n.click();else{t instanceof Blob||(t=new Blob([t]));const i=URL.createObjectURL(t);n.href=i,n.download=e||"file",n.click(),URL.revokeObjectURL(i)}},n.delay=t=>new Promise(e=>setTimeout(e,t)),n.getIPs=async function(){await P();const t=[],e=W.networkInterfaces();for(let n in e)e[n].forEach(e=>{!e.internal&&"IPv4"==e.family&&"00:00:00:00:00:00"!=e.mac&&e.address&&t.push(e.address)});return t},n.getOS=async function(){var t;let e,n;switch(await P(),W.platform()){case"win32":e="Windows";break;case"darwin":e="MacOS";break;case"linux":e="Linux";break;default:e=W.platform()}switch(W.arch()){case"ia32":n="32-bit";break;case"x64":n="64-bit";break;case"arm":n="ARM";break;default:n=W.arch()}return[e,n,(null===(t=W.cpus()[0])||void 0===t?void 0:t.model)||""]}}(utils||(utils={}));export default utils//# sourceMappingURL=utils.js.map
1
+ const e="undefined"==typeof window,t=e?[{},class{}]:[document,HTMLCollection];export var utils;!function(n){const[i,r]=t;function o(e,t,n,i,r){const o={value:n,writable:!!r};if(i||(e=e.prototype),Array.isArray(t))for(const n of t)Object.defineProperty(e,n,o);else Object.defineProperty(e,t,o)}n.VER="v9.1.0",n.isNode=e,n.importNode=async(...t)=>e?Promise.all(t.map(e=>import(e))):[],n.define=function(e,t,n,i){const r={get:n||void 0,set:i||void 0};if(Array.isArray(t))for(const n of t)Object.defineProperty(e,n,r);else Object.defineProperty(e,t,r)},n.proto=o,n.copy=function e(t,n){if(0===n||"object"!=typeof t)return t;let i;if(n=n>0?n-1:void 0,Array.isArray(t))i=Array(t.length),t.forEach((t,r)=>i[r]=e(t,n));else{i={};for(let r in t)i[r]=e(t[r],n)}return i},n.merge=function e(t,...n){let i,r;for(const o of n)for(const n in o){if(i=t[n],r=o[n],i&&r){if(i.length>=0&&r.length>=0){Array.prototype.push.apply(i,r);continue}if("object"==typeof i&&"object"==typeof r){e(i,r);continue}}t[n]=r}return t},n.setProp=function(e,t,n,i=!1){"string"==typeof t&&(t=t.split("."));let r=0,o=t.length-1,s=e;for(;r<o;++r)if(s=s[t[r]],!s||"object"!=typeof s){if(i)return!1;s=e[t[r]]={}}const a=t.at(-1);return!(i&&null!=s[a]||(s[a]=n,0))},n.getProp=function(e,t){"string"==typeof t&&(t=t.split("."));try{for(const n of t)e=e[n];return e}catch(e){}},o(Array,"clean",function(e){for(let t,n=0,i=this.length;n<i;++n)t=this[n],(d(t)||!1===t||!e&&0===t)&&(this.splice(n--,1),--i);return this}),o(Array,"remove",function(e){const t=this.indexOf(e);return-1!==t&&(this.splice(t,1),!0)}),o(Array,"firstEmpty",function(){const e=this.length;for(let t=0;t<e;++t)if(null==this[t])return t;return e}),o(Array,"each",function(e,t,n){let i,o=this.length,s=Math.max(t<0?o+t:t||0,0);for(null!=n&&(o=Math.min(n<0?o+n:n,o));s<o;++s)if("!"===(i=e(this[s],s,o)))this instanceof r?this[s].remove():this.splice(s,1),--s,--o;else if(null!=i)return i}),o(Array,"eachAsync",async function(e,t,n,i=!0){let o,s=this.length,a=t=Math.max(t<0?s+t:t||0,0),u=[];for(null!=n&&(s=Math.min(n<0?s+n:n,s));a<s;++a){if(o=e(this[a],a,s),!i&&(o=await o,"!"!==o&&null!=o))return o;u.push(o)}for(i&&(u=await Promise.all(u)),a=t,o=0;a<s;++a,++o)if("!"===u[o])this instanceof r?this[a].remove():this.splice(a,1),--a,--s;else if(null!=u[o])return u[o]});const s=("undefined"==typeof BigInt?e=>e:BigInt)(0);n.abs=e=>"bigint"==typeof e?e<s?-e:e:Math.abs(e),n.min=(...e)=>{let t,n;for(t of e)t>n||(n=t);return n},n.max=(...e)=>{let t,n;for(t of e)t<n||(n=t);return n},n.deg=e=>180*e/Math.PI,n.rad=e=>e*Math.PI/180,Math.cot=e=>1/Math.tan(e),n.fixedNum=function(e,t,i=10){"bigint"==typeof t&&(t=Number(t));let r=n.abs(e).toString(i).toUpperCase();return(e<0?"-":"")+(16==i?"0x":2==i?"0b":"")+"0".repeat(Math.max(t-r.length,0))+r},n.bounds=(e,t=0,n=1)=>e>=t?e<=n?e:n:t,n.norm=function(e,t=0,i=1){let r=i-t;return((e+n.abs(t))%r+r)%r+t},n.map=function(e,t,n,i,r,o){let s=(e-t)/(n-t);return(o?o(s):s)*(r-i)+i},n.hexToRgb=function(e){const t=parseInt(e.slice(1),16);return[t>>16&255,t>>8&255,255&t]},n.rgbToHsl=function(e,t,n){let i,r,o=Math.max(e/=255,t/=255,n/=255),s=Math.min(e,t,n),a=(o+s)/2;if(o===s)i=r=0;else{let u=o-s;switch(r=a>.5?u/(2-o-s):u/(o+s),o){case e:i=(t-n)/u+(t<n?6:0);break;case t:i=(n-e)/u+2;break;default:i=(e-t)/u+4}i/=6}return[360*i,100*r,100*a]},n.rand=function(e,t,n=1,i){t*=n,e*=n;let r=Math.random();return Math.round((i?i(r):r)*(t-e)+e)/n},n.formatCost=function(e,t="$"){if(!e)return t+"0.00";const n=e.toFixed(2).split(".");return t+n[0].split("").reverse().reduce((e,t,n)=>"-"==t?t+e:t+(!n||n%3?"":",")+e,"")+"."+n[1]},n.Easing={linear:e=>e,easeInQuad:e=>e*e,easeOutQuad:e=>e*(2-e),easeInOutQuad:e=>e<.5?2*e*e:(4-2*e)*e-1,easeInCubic:e=>e*e*e,easeOutCubic:e=>--e*e*e+1,easeInOutCubic:e=>e<.5?4*e*e*e:(e-1)*(2*e-2)*(2*e-2)+1,easeInQuart:e=>e*e*e*e,easeOutQuart:e=>1- --e*e*e*e,easeInOutQuart:e=>e<.5?8*e*e*e*e:1-8*--e*e*e*e,easeInQuint:e=>e*e*e*e*e,easeOutQuint:e=>1+--e*e*e*e*e,easeInOutQuint:e=>e<.5?16*e*e*e*e*e:1+16*--e*e*e*e*e};const a=/[|\\{}()[\]^$+*?.]/g,u=/-/g;"escape"in RegExp||o(RegExp,"escape",e=>e.replace(a,"\\$&").replace(u,"\\x2d"),!0);const l="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",c=l.replace("+/","-_"),f={43:62,47:63,48:52,49:53,50:54,51:55,52:56,53:57,54:58,55:59,56:60,57:61,65:0,66:1,67:2,68:3,69:4,70:5,71:6,72:7,73:8,74:9,75:10,76:11,77:12,78:13,79:14,80:15,81:16,82:17,83:18,84:19,85:20,86:21,87:22,88:23,89:24,90:25,97:26,98:27,99:28,100:29,101:30,102:31,103:32,104:33,105:34,106:35,107:36,108:37,109:38,110:39,111:40,112:41,113:42,114:43,115:44,116:45,117:46,118:47,119:48,120:49,121:50,122:51,45:62,95:63};function p(e,t){const n=f[e.charCodeAt(t)];if(null==n)throw"Bad char at "+t;return n}"toBase64"in Uint8Array.prototype||o(Uint8Array,"toBase64",function(e){let t,n=this.byteLength,i=n%3,r=e&&"base64url"===e.alphabet?c:l,o=0,s="";for(n-=i;o<n;o+=3)t=this[o]<<16|this[o+1]<<8|this[o+2],s+=r[(16515072&t)>>18]+r[(258048&t)>>12]+r[(4032&t)>>6]+r[63&t];return 1===i?(t=this[n],s+=r[(252&t)>>2]+r[(3&t)<<4],e&&e.omitPadding||(s+="=")):2===i&&(t=this[n]<<8|this[n+1],s+=r[(64512&t)>>10]+r[(1008&t)>>4]+r[(15&t)<<2],e&&e.omitPadding||(s+="==")),s}),"fromBase64"in Uint8Array||o(Uint8Array,"fromBase64",e=>{let t=e.length,n=t-1;for(;n>=0&&61===e.charCodeAt(n);--n);t=n+1,n=0;let i=t%4;if(t-=i,1==i)throw"Bad b64 len";let r,o=new Uint8Array(3*t/4+(i?i-1:0)),s=-1;for(;n<t;n+=4)r=p(e,n)<<18|p(e,n+1)<<12|p(e,n+2)<<6|p(e,n+3),o[++s]=r>>16,o[++s]=r>>8,o[++s]=r;return 2==i?o[++s]=p(e,n)<<2|p(e,n+1)>>4:3==i&&(r=p(e,n)<<10|p(e,n+1)<<4|p(e,n+2)>>2,o[++s]=r>>8,o[++s]=r),o},!0),"at"in Array.prototype||o(Array,"at",function(e){const t=this.length,n=e<0?t+e:e;if(n>=0&&n<t)return this[n]}),o(Function,"wrap",function(...e){const t=this;return function(){return t.apply(arguments,e)}},!1,!0);const h=/\S/;function d(e){return null==e||("string"==typeof e?!h.test(e):"object"==typeof e&&("number"==typeof e.length?0===e.length:0===Object.keys(e).length))}function y(e,t){return!0===t?e:("string"!=typeof t&&(t=JSON.stringify(t)),`${e}=${encodeURIComponent(t)}`)}function m(e){return e<=9?"0"+e:e}function g(e){let t=e%10,n=e%100;return 1==t&&11!=n?e+"st":2==t&&12!=n?e+"nd":3==t&&13!=n?e+"rd":e+"th"}n.isBlank=d,n.delay=e=>new Promise(t=>setTimeout(t,e)),n.deviceInfo=function(e){e||(e=navigator.userAgent);const t={};if(!e.startsWith("Mozilla/5.0 "))return t;let n,i,r=e.indexOf(")"),o=t.rawOS=e.slice(13,r);return o.startsWith("Windows")?(n=o.split("; "),t.os="Windows",t.type=-1!==n.indexOf("WOW64")?"x64 PC; x86 Browser":-1!==n.indexOf("x64")?"x64 PC":"x86 PC",n=o.indexOf("Windows NT "),t.version=o.slice(n+11,o.indexOf(";",n+12))):o.startsWith("iP")?(n=o.indexOf("OS"),t.os="iOS",t.type=o.slice(0,o.indexOf(";")),t.version=o.slice(n+3,o.indexOf(" ",n+4)).replace(/_/g,".")):o.startsWith("Macintosh;")?(n=o.indexOf(" Mac OS X"),t.os="MacOS",t.type=o.slice(11,n)+" Mac",t.version=o.slice(n+10).replace(/_/g,".")):-1!==(n=o.indexOf("Android"))?(t.os="Android",t.version=o.slice(n+8,o.indexOf(";",n+9)),n=o.lastIndexOf(";"),i=o.indexOf(" Build",n+2),t.type=o.slice(n+2,-1===i?void 0:i)):o.startsWith("X11;")&&(o=o.slice(5).split(/[;\s]+/),n=o.length,t.os=("Linux"===o[0]?"":"Linux ")+o[0],t.type=o[n-2],t.version=o[n-1]),(n=Number(t.version))&&(t.version=n),n=e.indexOf(" ",r+2),i=e.indexOf(")",n+1),i=-1===i?n+1:i+2,t.engine=e.slice(r+2,n),t.browser=e.slice(i),t.mobile=!!e.match(/Mobi/i),t},n.setCookie=function(t,n,r,o){let s=`${encodeURIComponent(t)}=${null==n?"":encodeURIComponent(n)};path=/`;return n&&(null!=r&&(-1===r&&(r=new Date(9e14)),s+=r instanceof Date?";expires="+r.toUTCString():";max-age="+r),o&&(s+=";secure")),e||(i.cookie=s),s},n.getCookie=function(e,t){null==t&&(t=i.cookie),e=encodeURIComponent(e)+"=";let n,r=t.split("; ");for(n of r)if(n.startsWith(e))return decodeURIComponent(n.slice(e.length))},n.remCookie=function(t){let n=encodeURIComponent(t)+"=;max-age=0";return e||(i.cookie=n),n},n.getCookies=function(e){if(null==e&&(e=i.cookie),!e)return{};let t,n;const r={};for(t of e.split("; "))n=t.indexOf("="),r[decodeURIComponent(t.slice(0,n))]=decodeURIComponent(t.slice(n+1));return r},n.fromQuery=function(e,t="&"){e.startsWith("?")&&(e=e.slice(1));let n,i,r,o,s={};for(n of e.split(t))i=n.indexOf("="),-1===i?(r=n,o=!0):(r=decodeURIComponent(n.slice(0,i)),o=decodeURIComponent(n.slice(i+1))),r in s?(i=s[r],Array.isArray(i)?i.push(o):s[r]=[i,o]):s[r]=o;return s},n.toQuery=function(e,t="&"){let n,i,r=[];for(n in e)if(i=e[n],n=encodeURIComponent(n),Array.isArray(i))for(const e of i)r.push(y(n,e));else r.push(y(n,i));return r.join(t)},n.months=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],n.formatDate=function(e,t={}){let i,r,o="";if(!(null!=e&&e.getDate&&(i=e.getFullYear())>1969))return"[Invalid Date]";if(null==t.time||t.time){let n=e.getHours(),i="";if(t.h24||(i=" AM",n>=12&&(i=" PM",n-=12),n||(n=12)),o=n+":"+m(e.getMinutes())+(t.sec?":"+m(e.getSeconds())+(t.ms?(e.getMilliseconds()/1e3).toFixed(Number.isFinite(t.ms)?t.ms:3).slice(1):""):""),o+=i,t.time)return o}return r=e.getDate(),r=n.months[e.getMonth()]+" "+(null==t.suf||t.suf?g(r):r),null!=t.year&&!t.year||t.year===i||(r=r+", "+i),t.df?r+(o&&(t.sep||" ")+o):(o&&o+(t.sep||" "))+r},n.suffix=g}(utils||(utils={}))//# sourceMappingURL=utils.js.map