minutool 1.0.32 → 1.0.34
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/index.d.ts +12 -0
- package/dist/minutool.js +128 -125
- package/dist/minutool.js.map +1 -1
- package/dist/minutool.umd.cjs +4 -4
- package/dist/minutool.umd.cjs.map +1 -1
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -318,6 +318,18 @@ export declare const cleanNull: <T>(obj: T, recursive?: boolean) => T;
|
|
|
318
318
|
|
|
319
319
|
export declare const COMMON_DPI = 96;
|
|
320
320
|
|
|
321
|
+
/**
|
|
322
|
+
* 组合多个清理函数为一个清理函数
|
|
323
|
+
* @param cleanups - 要组合的清理函数数组
|
|
324
|
+
* @returns 一个函数,调用时会依次执行所有传入的清理函数
|
|
325
|
+
* @example
|
|
326
|
+
* const cleanup1 = () => console.log('cleanup1');
|
|
327
|
+
* const cleanup2 = () => console.log('cleanup2');
|
|
328
|
+
* const combinedCleanup = composeCleanups(cleanup1, cleanup2);
|
|
329
|
+
* combinedCleanup(); // 会依次执行 cleanup1 和 cleanup2
|
|
330
|
+
*/
|
|
331
|
+
export declare const composeCleanups: (...cleanups: Array<() => void>) => (() => void);
|
|
332
|
+
|
|
321
333
|
export declare const convertMinutesToTimezoneOffsetStr: (offsetMinutes: number) => string;
|
|
322
334
|
|
|
323
335
|
/**
|
package/dist/minutool.js
CHANGED
|
@@ -367,19 +367,21 @@ const Vn = (e, t) => {
|
|
|
367
367
|
n.initEvent(t.toLowerCase(), !1, !0), e.dispatchEvent(n);
|
|
368
368
|
} else
|
|
369
369
|
e.fireEvent("on" + t.toLowerCase());
|
|
370
|
-
}, ao = (e) => {
|
|
370
|
+
}, ao = (...e) => () => {
|
|
371
|
+
e.forEach((t) => t());
|
|
372
|
+
}, so = (e) => {
|
|
371
373
|
const t = b(e);
|
|
372
374
|
t && (t.style.display = "none");
|
|
373
|
-
},
|
|
375
|
+
}, co = (e) => {
|
|
374
376
|
const t = b(e);
|
|
375
377
|
t && (t.style.display = "");
|
|
376
|
-
},
|
|
378
|
+
}, lo = (e) => {
|
|
377
379
|
let t = b(e);
|
|
378
380
|
return t && t.parentNode && t.parentNode.removeChild(t);
|
|
379
381
|
}, B = "disabled", Ye = (e, t = "") => ae(e, t, !1), je = (e, t = "") => ae(e, t, !0), ae = (e, t = "", n = null) => {
|
|
380
382
|
let o = b(e), r = n === null ? !o.classList.contains(B) : !n;
|
|
381
383
|
r && ze(`.${B} {pointer-event:none !important;}`, "__element_lock_style__"), o.classList.toggle(B, r), o[r ? "setAttribute" : "removeAttribute"]("disabled", "disabled"), o[r ? "setAttribute" : "removeAttribute"]("data-disabled", "disabled"), t && o.classList.toggle(t, r);
|
|
382
|
-
},
|
|
384
|
+
}, po = (e, t, n) => {
|
|
383
385
|
e = b(e);
|
|
384
386
|
let o = !1;
|
|
385
387
|
const r = [];
|
|
@@ -394,11 +396,11 @@ const Vn = (e, t) => {
|
|
|
394
396
|
), () => {
|
|
395
397
|
r.forEach((i) => i());
|
|
396
398
|
};
|
|
397
|
-
},
|
|
399
|
+
}, uo = (e, t) => {
|
|
398
400
|
Ye(e), t(() => {
|
|
399
401
|
je(e);
|
|
400
402
|
});
|
|
401
|
-
},
|
|
403
|
+
}, fo = (e) => e.parentNode ? Array.prototype.indexOf.call(e.parentNode.children, e) : -1, se = (e, t = document) => {
|
|
402
404
|
if (typeof e == "string")
|
|
403
405
|
return e = e.trim(), e.indexOf(":scope") !== 0 && (e = ":scope " + e), Array.from(t.querySelectorAll(e));
|
|
404
406
|
if (Array.isArray(e)) {
|
|
@@ -407,7 +409,7 @@ const Vn = (e, t) => {
|
|
|
407
409
|
n.push(...se(o));
|
|
408
410
|
}), n;
|
|
409
411
|
} else return NodeList.prototype.isPrototypeOf(e) || HTMLCollection.prototype.isPrototypeOf(e) ? Array.from(e) : e instanceof HTMLElement ? [e] : e;
|
|
410
|
-
}, b = (e, t = document) => typeof e == "string" ? t.querySelector(e) : e,
|
|
412
|
+
}, b = (e, t = document) => typeof e == "string" ? t.querySelector(e) : e, mo = (e) => {
|
|
411
413
|
let t = document.getElementsByTagName("*"), n = [];
|
|
412
414
|
for (n = []; e && e.nodeType === 1; e = e.parentNode)
|
|
413
415
|
if (e.hasAttribute("id")) {
|
|
@@ -426,7 +428,7 @@ const Vn = (e, t) => {
|
|
|
426
428
|
n.unshift(e.localName.toLowerCase() + "[" + o + "]");
|
|
427
429
|
}
|
|
428
430
|
return n.length ? "/" + n.join("/") : null;
|
|
429
|
-
},
|
|
431
|
+
}, ho = (e, t, n = !0) => {
|
|
430
432
|
const o = "ON_DOM_TREE_CHANGE_BIND_" + ke();
|
|
431
433
|
let r = () => {
|
|
432
434
|
se(`input:not([${o}]), textarea:not([${o}]), select:not([${o}])`, e).forEach((i) => {
|
|
@@ -451,7 +453,7 @@ const Vn = (e, t) => {
|
|
|
451
453
|
}, s)) : (r = Date.now(), n(a));
|
|
452
454
|
});
|
|
453
455
|
a.observe(e, t);
|
|
454
|
-
},
|
|
456
|
+
}, go = (e, t = {
|
|
455
457
|
left: 0,
|
|
456
458
|
top: 0,
|
|
457
459
|
width: window.innerWidth,
|
|
@@ -459,23 +461,23 @@ const Vn = (e, t) => {
|
|
|
459
461
|
}) => {
|
|
460
462
|
let n = { left: e.left, top: e.top };
|
|
461
463
|
return e.width > t.width || e.height > t.height || (e.width + e.left > t.width + t.left && (n.left = e.left - (e.width + e.left - (t.width + t.left))), e.height + e.top > t.height + t.top && (n.top = e.top - (e.height + e.top - (t.height + t.top))), e.left < t.left && (n.left = t.left), e.top < t.top && (n.top = t.top)), n;
|
|
462
|
-
},
|
|
464
|
+
}, wo = (e, t) => e.left <= t.left ? e.left + e.width >= t.left && (v(t.top, e.top, e.top + e.height) || v(t.top + t.height, e.top, e.top + e.height) || t.top >= e.top && t.height >= e.height) : t.left + t.width >= e.left && (v(e.top, t.top, t.top + t.height) || v(e.top + e.height, t.top, t.top + t.height) || e.top >= t.top && e.height >= t.height), xo = (e) => e ? !!(e.tabIndex >= 0 || e instanceof HTMLAnchorElement && e.href || e instanceof HTMLButtonElement && !e.disabled || e instanceof HTMLInputElement && !e.disabled || e instanceof HTMLTextAreaElement && !e.disabled) : !1;
|
|
463
465
|
let E = {};
|
|
464
|
-
const
|
|
466
|
+
const vo = (e, t = !1) => (!t && e in E || (E[e] = new Promise((n, o) => {
|
|
465
467
|
let r = document.createElement("link");
|
|
466
468
|
r.rel = "stylesheet", r.href = e, r.onload = () => {
|
|
467
469
|
n();
|
|
468
470
|
}, r.onerror = () => {
|
|
469
471
|
o();
|
|
470
472
|
}, document.head.append(r);
|
|
471
|
-
})), E[e]),
|
|
473
|
+
})), E[e]), yo = (e, t = !1) => (!t && e in E || (E[e] = new Promise((n, o) => {
|
|
472
474
|
let r = document.createElement("script");
|
|
473
475
|
r.src = e, r.onload = () => {
|
|
474
476
|
n();
|
|
475
477
|
}, r.onerror = () => {
|
|
476
478
|
o();
|
|
477
479
|
}, document.head.append(r);
|
|
478
|
-
})), E[e]),
|
|
480
|
+
})), E[e]), Eo = (e) => {
|
|
479
481
|
let t = e.style.visibility, n = e.style.display, o, r;
|
|
480
482
|
return e.style.visibility = "hidden", e.style.display = "block", o = e.clientWidth, r = e.clientHeight, e.style.visibility = t, e.style.display = n, { width: o, height: r };
|
|
481
483
|
}, ze = (e, t = "", n = document) => {
|
|
@@ -483,14 +485,14 @@ const xo = (e, t = !1) => (!t && e in E || (E[e] = new Promise((n, o) => {
|
|
|
483
485
|
return n.querySelector(`#${t}`);
|
|
484
486
|
let o = n.createElement("style");
|
|
485
487
|
return n.head.appendChild(o), o.innerHTML = e, t && (o.id = t), o;
|
|
486
|
-
},
|
|
487
|
-
v(e.top + e.height, t.top, t.top + t.height) && v(e.left + e.width, t.left, t.left + t.width),
|
|
488
|
+
}, Mo = (e, t) => v(e.top, t.top, t.top + t.height) && v(e.left, t.left, t.left + t.width) && //左上角
|
|
489
|
+
v(e.top + e.height, t.top, t.top + t.height) && v(e.left + e.width, t.left, t.left + t.width), bo = (e) => Math.pow(10, -e), To = (e, t) => {
|
|
488
490
|
try {
|
|
489
491
|
return new URL(e, t).href;
|
|
490
492
|
} catch {
|
|
491
493
|
return e;
|
|
492
494
|
}
|
|
493
|
-
},
|
|
495
|
+
}, Ao = (e, t = null) => {
|
|
494
496
|
const n = document.createElement("template");
|
|
495
497
|
e = e.trim(), n.innerHTML = e;
|
|
496
498
|
let o = [];
|
|
@@ -515,14 +517,14 @@ v(e.top + e.height, t.top, t.top + t.height) && v(e.left + e.width, t.left, t.le
|
|
|
515
517
|
width: n.width,
|
|
516
518
|
height: n.height
|
|
517
519
|
};
|
|
518
|
-
},
|
|
520
|
+
}, So = (e) => {
|
|
519
521
|
let t = {};
|
|
520
522
|
for (let n in e) {
|
|
521
523
|
const o = e[n];
|
|
522
524
|
o != null && (t[`--${n}`] = `${o}`);
|
|
523
525
|
}
|
|
524
526
|
return t;
|
|
525
|
-
},
|
|
527
|
+
}, Co = (e, t = null, {
|
|
526
528
|
lockInView: n = !1,
|
|
527
529
|
onStart: o,
|
|
528
530
|
onEnd: r,
|
|
@@ -557,7 +559,7 @@ v(e.top + e.height, t.top, t.top + t.height) && v(e.left + e.width, t.left, t.le
|
|
|
557
559
|
}, I = /* @__PURE__ */ new WeakMap(), Ge = (e) => {
|
|
558
560
|
const t = I.get(e);
|
|
559
561
|
t && (cancelAnimationFrame(t.raf), I.delete(e), e.style.scrollBehavior = t.prevBehavior);
|
|
560
|
-
},
|
|
562
|
+
}, _o = (e, t, n = {}) => {
|
|
561
563
|
const { duration: o = 380, axis: r = "scrollLeft", onEnd: i, easingFn: a = ye } = n;
|
|
562
564
|
Ge(e);
|
|
563
565
|
const s = e.style.scrollBehavior;
|
|
@@ -576,10 +578,10 @@ v(e.top + e.height, t.top, t.top + t.height) && v(e.left + e.width, t.left, t.le
|
|
|
576
578
|
S < 1 && u ? u.raf = requestAnimationFrame(T) : (I.delete(e), f());
|
|
577
579
|
};
|
|
578
580
|
I.set(e, { raf: requestAnimationFrame(T), prevBehavior: s });
|
|
579
|
-
},
|
|
581
|
+
}, Oo = (e) => e.replace(/[\\/:*?"<>|]/g, "_").replace(/[\0-\x1F]/g, "_").replace(/\s+/g, " ").replace(/^\.+/, "").replace(/\.+$/, "").trim(), J = (e) => new Promise((t, n) => {
|
|
580
582
|
const o = new FileReader();
|
|
581
583
|
o.onload = () => t(o.result), o.onerror = (r) => n(r), o.readAsDataURL(e);
|
|
582
|
-
}), X = {}, Z = (e, t = null) => t !== null ? (X[e] = t, null) : X[e] || null,
|
|
584
|
+
}), X = {}, Z = (e, t = null) => t !== null ? (X[e] = t, null) : X[e] || null, Io = async (e) => {
|
|
583
585
|
if (!e)
|
|
584
586
|
return null;
|
|
585
587
|
if (typeof e == "string" && e.startsWith("data:"))
|
|
@@ -596,7 +598,7 @@ v(e.top + e.height, t.top, t.top + t.height) && v(e.left + e.width, t.left, t.le
|
|
|
596
598
|
} catch (t) {
|
|
597
599
|
return console.warn("file2Base64DataURL failed:", t), null;
|
|
598
600
|
}
|
|
599
|
-
},
|
|
601
|
+
}, Do = (e, t) => {
|
|
600
602
|
const n = document.createElement("a");
|
|
601
603
|
n.rel = "noopener noreferrer", n.href = e, n.download = t, document.body.appendChild(n), n.click(), document.body.removeChild(n);
|
|
602
604
|
}, ce = [
|
|
@@ -634,7 +636,7 @@ v(e.top + e.height, t.top, t.top + t.height) && v(e.left + e.width, t.left, t.le
|
|
|
634
636
|
"TFOOT",
|
|
635
637
|
"UL",
|
|
636
638
|
"VIDEO"
|
|
637
|
-
],
|
|
639
|
+
], No = [
|
|
638
640
|
"A",
|
|
639
641
|
"ABBR",
|
|
640
642
|
"ACRONYM",
|
|
@@ -667,7 +669,7 @@ v(e.top + e.height, t.top, t.top + t.height) && v(e.left + e.width, t.left, t.le
|
|
|
667
669
|
"TT",
|
|
668
670
|
"U",
|
|
669
671
|
"VAR"
|
|
670
|
-
].concat(...ce),
|
|
672
|
+
].concat(...ce), Lo = ["AREA", "BASE", "BR", "COL", "EMBED", "HR", "IMG", "INPUT", "LINK", "META", "PARAM", "SOURCE", "TRACK", "WBR"], Ke = ["STYLE", "COMMENT", "SELECT", "OPTION", "SCRIPT", "TITLE", "HEAD", "BUTTON", "META", "LINK", "PARAM", "SOURCE"], Ro = (e, t = {}) => {
|
|
671
673
|
t.keepLineBreak = t.keepLineBreak !== !1;
|
|
672
674
|
const n = t.imgReplacer !== void 0 ? t.imgReplacer : "[Image]";
|
|
673
675
|
e = e.replace(/<img[^>]*src=["']([^"']*)["'][^>]*alt=["']([^"']*)["'][^>]*>/gi, function(i, a, s) {
|
|
@@ -700,12 +702,12 @@ v(e.top + e.height, t.top, t.top + t.height) && v(e.left + e.width, t.left, t.le
|
|
|
700
702
|
}), e = e.replace(/&#(\d+);/g, function(i, a) {
|
|
701
703
|
return String.fromCharCode(parseInt(a));
|
|
702
704
|
}), e = e.replace(/&/gi, "&"), t.keepLineBreak || (e = e.replace(/\n+/g, " ")), e = e.trim(), e;
|
|
703
|
-
},
|
|
705
|
+
}, ko = (e) => Ve(e, 0, !1).replace(/\n/g, "<br/>"), Po = (e) => window.CSS && CSS.escape ? CSS.escape(e) : e.replace(/[!"#$%&'()*+,.\/:;<=>?@[\\\]^`{|}~]/g, "\\$&"), Fo = (e) => {
|
|
704
706
|
let t = e.split(";");
|
|
705
707
|
return t.pop(), t.map((n) => String.fromCharCode(n[2] === "x" ? parseInt(n.slice(3), 16) : parseInt(n.slice(2)))).join("");
|
|
706
708
|
};
|
|
707
709
|
let O;
|
|
708
|
-
const
|
|
710
|
+
const Ho = (e) => (O || (O = document.createElement("div")), e = e.replace(/<script[^>]*>([\S\s]*?)<\/script>/gim, ""), e = e.replace(/<\/?\w(?:[^"'>]|"[^"]*"|'[^']*')*>/gim, ""), O.innerHTML = e, e = O.textContent || "", O.textContent = "", e), Bo = (e) => {
|
|
709
711
|
let t = "";
|
|
710
712
|
for (let n in e) {
|
|
711
713
|
let o = e[n] === null ? "" : e[n];
|
|
@@ -715,8 +717,8 @@ const Fo = (e) => (O || (O = document.createElement("div")), e = e.replace(/<scr
|
|
|
715
717
|
}, Ve = (e, t = 2, n = !0) => {
|
|
716
718
|
let o = String(e).replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">").replace(/"/g, """).replace(/'/g, "'");
|
|
717
719
|
return n && (o = o.replace(/[\r\n]/g, "<br/>")), t && (o = o.replace(/\t/g, " ".repeat(t))), o = o.replace(/\s/g, " "), o;
|
|
718
|
-
},
|
|
719
|
-
`),
|
|
720
|
+
}, $o = (e) => String(e).replace(/"/g, '"').replace(/'/g, "'").replace(/</g, "<").replace(/>/g, ">").replace(/ /g, " ").replace(/&/g, "&").replace(/<br.*>/, `
|
|
721
|
+
`), Uo = (e) => {
|
|
720
722
|
if (!e)
|
|
721
723
|
return "";
|
|
722
724
|
let t = e;
|
|
@@ -735,10 +737,10 @@ const Fo = (e) => (O || (O = document.createElement("div")), e = e.replace(/<scr
|
|
|
735
737
|
}), r += "</table>", r;
|
|
736
738
|
}), t = t.replace(/^\s*-\s+(.*)/gim, "<li>$1</li>"), t = t.replace(/(<li>.*<\/li>)/gims, "<ul>$1</ul>"), t = t.replace(/\n/g, "<br />"), t.trim();
|
|
737
739
|
}, ee = (e, t = "") => (t = t ? " " : `
|
|
738
|
-
`, ("" + e).replace(/&/g, "&").replace(/'/g, "'").replace(/"/g, """).replace(/</g, "<").replace(/>/g, ">").replace(/\r\n/g, t).replace(/[\r\n]/g, t)),
|
|
740
|
+
`, ("" + e).replace(/&/g, "&").replace(/'/g, "'").replace(/"/g, """).replace(/</g, "<").replace(/>/g, ">").replace(/\r\n/g, t).replace(/[\r\n]/g, t)), Yo = (e, t) => {
|
|
739
741
|
let n = e.split("");
|
|
740
742
|
return t = t || 0, n.map((o) => `&#${t ? "x" + o.charCodeAt(0).toString(16) : o.charCodeAt(0)};`).join("");
|
|
741
|
-
},
|
|
743
|
+
}, jo = (e, t, n = '<span class="matched">%s</span>') => t ? e.replace(new RegExp(Y(t), "ig"), (o) => n.replace("%s", o)) : e, qo = (e) => {
|
|
742
744
|
if (!e.src)
|
|
743
745
|
return null;
|
|
744
746
|
if (e.src.indexOf("data:") === 0)
|
|
@@ -757,7 +759,7 @@ const Fo = (e) => (O || (O = document.createElement("div")), e = e.replace(/<scr
|
|
|
757
759
|
}, r.onerror = (i) => {
|
|
758
760
|
n(new Error("Failed to load SVG into Image:" + i));
|
|
759
761
|
}, r.src = o;
|
|
760
|
-
}),
|
|
762
|
+
}), zo = (e, t = null, n = null) => (t = t || "image/png", new Promise((o, r) => {
|
|
761
763
|
const i = N(n) ? Ce(n) : 1;
|
|
762
764
|
Je(e).then((a) => {
|
|
763
765
|
const [s, c] = Xe(e), l = document.createElement("canvas");
|
|
@@ -781,7 +783,7 @@ const Fo = (e) => (O || (O = document.createElement("div")), e = e.replace(/<scr
|
|
|
781
783
|
t = i.width, n = i.height;
|
|
782
784
|
}
|
|
783
785
|
return [t, n];
|
|
784
|
-
},
|
|
786
|
+
}, Wo = (e, t = !1) => new Promise((n, o) => {
|
|
785
787
|
if (t) {
|
|
786
788
|
const i = Z(e);
|
|
787
789
|
if (i)
|
|
@@ -834,7 +836,7 @@ const Fo = (e) => (O || (O = document.createElement("div")), e = e.replace(/<scr
|
|
|
834
836
|
for (r = 0; r < e.length; r += 1)
|
|
835
837
|
o = e.charCodeAt(r), n += t.charAt(o >>> 4 & 15) + t.charAt(o & 15);
|
|
836
838
|
return n;
|
|
837
|
-
}, q = (e) => unescape(encodeURIComponent(e)), ue = (e) => et(q(e)), nt = (e) => pe(ue(e)), fe = (e, t) => tt(q(e), q(t)), ot = (e, t) => pe(fe(e, t)),
|
|
839
|
+
}, q = (e) => unescape(encodeURIComponent(e)), ue = (e) => et(q(e)), nt = (e) => pe(ue(e)), fe = (e, t) => tt(q(e), q(t)), ot = (e, t) => pe(fe(e, t)), Go = (e, t, n) => t ? n ? fe(t, e) : ot(t, e) : n ? ue(e) : nt(e), Ko = "application/octet-stream", D = "application/json", rt = "application/x-www-form-urlencoded", it = "multipart/form-data", Vo = "text/plain", Qo = "text/html", Jo = {
|
|
838
840
|
323: "text/h323",
|
|
839
841
|
accdb: "application/msaccess",
|
|
840
842
|
accde: "application/msaccess",
|
|
@@ -1251,7 +1253,7 @@ const ct = (e, t = {}) => {
|
|
|
1251
1253
|
default:
|
|
1252
1254
|
return de(e);
|
|
1253
1255
|
}
|
|
1254
|
-
},
|
|
1256
|
+
}, Xo = (e, t = null, n = {}) => G(e, t, { ...n, ContentType: D, Accept: D }).then((o) => o.json()), Zo = (e, t = null, n = {}) => G(e, t, { ...n, method: "POST", ContentType: D, Accept: D }).then((o) => o.json()), er = (e, t, n = null, o = {}) => {
|
|
1255
1257
|
const r = new FormData();
|
|
1256
1258
|
if (Object.keys(t).forEach((i) => {
|
|
1257
1259
|
r.append(i, t[i], t[i].name);
|
|
@@ -1270,19 +1272,19 @@ const ct = (e, t = {}) => {
|
|
|
1270
1272
|
return t;
|
|
1271
1273
|
}
|
|
1272
1274
|
return e;
|
|
1273
|
-
},
|
|
1275
|
+
}, tr = (e) => Object.keys(e).length === 0, nr = (e, t) => {
|
|
1274
1276
|
let n = {};
|
|
1275
1277
|
for (let o in e)
|
|
1276
1278
|
t[o] !== void 0 ? n[t[o]] = e[o] : n[o] = e[o];
|
|
1277
1279
|
return n;
|
|
1278
|
-
},
|
|
1280
|
+
}, or = (e) => Object.entries(e).map(([t, n]) => [/^\d+$/.test(t) ? Number(t) : t, n]), rr = (e) => {
|
|
1279
1281
|
const t = {};
|
|
1280
1282
|
for (const [n, o] of e) {
|
|
1281
1283
|
const r = typeof n == "string" && /^\d+$/.test(n) ? Number(n) : n;
|
|
1282
1284
|
t[r] = o;
|
|
1283
1285
|
}
|
|
1284
1286
|
return t;
|
|
1285
|
-
},
|
|
1287
|
+
}, ir = (e) => Object.fromEntries(Object.entries(e).map(([t, n]) => [n, t])), ar = (e, t, n) => {
|
|
1286
1288
|
const o = t.split(".");
|
|
1287
1289
|
let r = e;
|
|
1288
1290
|
for (const i of o) {
|
|
@@ -1291,7 +1293,7 @@ const ct = (e, t = {}) => {
|
|
|
1291
1293
|
r = r[i];
|
|
1292
1294
|
}
|
|
1293
1295
|
return r !== void 0 ? r : n;
|
|
1294
|
-
},
|
|
1296
|
+
}, sr = (e, t, n) => {
|
|
1295
1297
|
const o = t.split("."), r = o.pop();
|
|
1296
1298
|
let i = e;
|
|
1297
1299
|
for (const a of o)
|
|
@@ -1310,7 +1312,7 @@ const ct = (e, t = {}) => {
|
|
|
1310
1312
|
for (const o in n)
|
|
1311
1313
|
n[o] === null ? delete n[o] : t && typeof n[o] == "object" && dt(n[o], !0);
|
|
1312
1314
|
return e;
|
|
1313
|
-
},
|
|
1315
|
+
}, cr = (/* @__PURE__ */ new Date()).getFullYear(), lr = (/* @__PURE__ */ new Date()).getMonth() + 1, pr = (/* @__PURE__ */ new Date()).getDate(), ur = 60 * 1e3, fr = 60 * 60 * 1e3, L = 24 * 60 * 60 * 1e3, mr = 7 * L, dr = 30 * L, hr = 31 * L, gr = 365 * L, wr = 366 * L, xr = 0, vr = 1, yr = 2, Er = 3, Mr = 4, br = 5, Tr = 6, ht = ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"], gt = ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"], wt = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"], xt = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"], Ar = ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"], Sr = ["1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月"], Cr = ["日", "一", "二", "三", "四", "五", "六"], _r = ["星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"], Or = (e, t, n) => {
|
|
1314
1316
|
let o = () => {
|
|
1315
1317
|
if (t && t(e), e-- > 0) {
|
|
1316
1318
|
setTimeout(o, 1e3);
|
|
@@ -1319,17 +1321,17 @@ const ct = (e, t = {}) => {
|
|
|
1319
1321
|
n && n();
|
|
1320
1322
|
};
|
|
1321
1323
|
o();
|
|
1322
|
-
},
|
|
1324
|
+
}, Ir = (e) => {
|
|
1323
1325
|
if (!e || e < 10)
|
|
1324
1326
|
return "刚刚";
|
|
1325
1327
|
e = Math.floor(e / 1e3);
|
|
1326
1328
|
const t = Math.floor(e / 3600), n = Math.floor(e % 3600 / 60), o = e % 60;
|
|
1327
1329
|
let r = "";
|
|
1328
1330
|
return t > 0 && (r += t + "小时"), (n > 0 || t > 0) && (r += n + "分钟"), r += o + "秒前", r;
|
|
1329
|
-
},
|
|
1331
|
+
}, Dr = (e, t = !1) => {
|
|
1330
1332
|
const n = new Date(e);
|
|
1331
1333
|
return new Date(n.getTime() - n.getTimezoneOffset() * 6e4).toISOString().slice(0, t ? 19 : 16);
|
|
1332
|
-
},
|
|
1334
|
+
}, Nr = (e, t, n) => e <= 0 ? 1 / 0 : (Date.now() - n) / e * (t - e), oe = {
|
|
1333
1335
|
d: (e) => {
|
|
1334
1336
|
let t = e.getDate();
|
|
1335
1337
|
return (t < 10 ? "0" : "") + t;
|
|
@@ -1469,57 +1471,57 @@ const ct = (e, t = {}) => {
|
|
|
1469
1471
|
}, yt = (e) => {
|
|
1470
1472
|
const t = Math.floor(e / 60), n = Math.abs(e % 60);
|
|
1471
1473
|
return `${t >= 0 ? "+" : "-"}${String(Math.abs(t)).padStart(2, "0")}:${String(n).padStart(2, "0")}`;
|
|
1472
|
-
},
|
|
1474
|
+
}, Lr = (e) => {
|
|
1473
1475
|
const t = vt(e);
|
|
1474
1476
|
return yt(t);
|
|
1475
|
-
},
|
|
1477
|
+
}, Rr = (e) => he("W", e);
|
|
1476
1478
|
export {
|
|
1477
1479
|
st as AbortError,
|
|
1478
1480
|
ce as BLOCK_TAGS,
|
|
1479
1481
|
Pn as Base64Encode,
|
|
1480
1482
|
rn as COMMON_DPI,
|
|
1481
|
-
|
|
1482
|
-
|
|
1483
|
-
|
|
1484
|
-
|
|
1485
|
-
|
|
1486
|
-
|
|
1487
|
-
|
|
1488
|
-
|
|
1483
|
+
pr as DATE_NOW,
|
|
1484
|
+
br as DAY_FRIDAY,
|
|
1485
|
+
vr as DAY_MONDAY,
|
|
1486
|
+
Tr as DAY_SATURDAY,
|
|
1487
|
+
xr as DAY_SUNDAY,
|
|
1488
|
+
Mr as DAY_THURSDAY,
|
|
1489
|
+
yr as DAY_TUESDAY,
|
|
1490
|
+
Er as DAY_WEDNESDAY,
|
|
1489
1491
|
un as GOLDEN_RATIO,
|
|
1490
|
-
|
|
1491
|
-
|
|
1492
|
+
Ko as MIME_BINARY_DEFAULT,
|
|
1493
|
+
Jo as MIME_EXTENSION_MAP,
|
|
1492
1494
|
rt as MIME_FORM,
|
|
1493
|
-
|
|
1495
|
+
Qo as MIME_HTML,
|
|
1494
1496
|
D as MIME_JSON,
|
|
1495
1497
|
it as MIME_MULTIPART,
|
|
1496
|
-
|
|
1497
|
-
|
|
1498
|
+
Vo as MIME_TEXT,
|
|
1499
|
+
Ar as MONTH_NAMES_CN,
|
|
1498
1500
|
wt as MONTH_NAMES_EN,
|
|
1499
|
-
|
|
1501
|
+
Sr as MONTH_NAMES_SHORT_CN,
|
|
1500
1502
|
xt as MONTH_NAMES_SHORT_EN,
|
|
1501
|
-
|
|
1503
|
+
lr as MONTH_NOW,
|
|
1502
1504
|
L as ONE_DAY,
|
|
1503
|
-
|
|
1504
|
-
|
|
1505
|
-
|
|
1506
|
-
|
|
1507
|
-
|
|
1508
|
-
|
|
1509
|
-
|
|
1510
|
-
|
|
1505
|
+
fr as ONE_HOUR,
|
|
1506
|
+
ur as ONE_MINUTE,
|
|
1507
|
+
dr as ONE_MONTH30,
|
|
1508
|
+
hr as ONE_MONTH31,
|
|
1509
|
+
mr as ONE_WEEK,
|
|
1510
|
+
gr as ONE_YEAR365,
|
|
1511
|
+
wr as ONE_YEAR366,
|
|
1512
|
+
No as PAIR_TAGS,
|
|
1511
1513
|
Ke as REMOVABLE_TAGS,
|
|
1512
1514
|
Ee as SCREEN_DPI,
|
|
1513
|
-
|
|
1515
|
+
Lo as SELF_CLOSING_TAGS,
|
|
1514
1516
|
re as STAND_DPI,
|
|
1515
1517
|
V as TRIM_BOTH,
|
|
1516
1518
|
Q as TRIM_LEFT,
|
|
1517
1519
|
De as TRIM_RIGHT,
|
|
1518
|
-
|
|
1520
|
+
_r as WEEK_DAY_NAMES_CN,
|
|
1519
1521
|
ht as WEEK_DAY_NAMES_EN,
|
|
1520
|
-
|
|
1522
|
+
Cr as WEEK_DAY_NAMES_SHORT_CN,
|
|
1521
1523
|
gt as WEEK_DAY_NAMES_SHORT_EN,
|
|
1522
|
-
|
|
1524
|
+
cr as YEAR_NOW,
|
|
1523
1525
|
ct as abortableFetch,
|
|
1524
1526
|
nn as arrayChunk,
|
|
1525
1527
|
Jt as arrayColumn,
|
|
@@ -1537,25 +1539,26 @@ export {
|
|
|
1537
1539
|
oo as bindInputDebounce,
|
|
1538
1540
|
to as bindKeyDown,
|
|
1539
1541
|
eo as bindKeyUp,
|
|
1540
|
-
|
|
1542
|
+
Co as bindNodeMove,
|
|
1541
1543
|
ro as bindStorageEvent,
|
|
1542
1544
|
Ne as blobToBase64,
|
|
1543
1545
|
J as blobToDataUri,
|
|
1544
|
-
|
|
1545
|
-
|
|
1546
|
-
|
|
1546
|
+
Bo as buildHtmlHidden,
|
|
1547
|
+
So as buildStyleVars,
|
|
1548
|
+
Nr as calcRemainingMSecs,
|
|
1547
1549
|
Tn as camelCase,
|
|
1548
1550
|
Ge as cancelScrollAnimation,
|
|
1549
1551
|
Se as capitalize,
|
|
1550
1552
|
Et as clamp01,
|
|
1551
1553
|
dt as cleanNull,
|
|
1554
|
+
ao as composeCleanups,
|
|
1552
1555
|
yt as convertMinutesToTimezoneOffsetStr,
|
|
1553
|
-
|
|
1554
|
-
|
|
1555
|
-
|
|
1556
|
+
Or as countDown,
|
|
1557
|
+
Ao as createDomByHtml,
|
|
1558
|
+
Po as cssSelectorEscape,
|
|
1556
1559
|
Mn as cutString,
|
|
1557
1560
|
Yn as debounce,
|
|
1558
|
-
|
|
1561
|
+
Ho as decodeHTMLEntities,
|
|
1559
1562
|
ne as deepClone,
|
|
1560
1563
|
F as deleteCookie,
|
|
1561
1564
|
Bn as deleteCookieAllPaths,
|
|
@@ -1564,7 +1567,7 @@ export {
|
|
|
1564
1567
|
yn as digitCount,
|
|
1565
1568
|
Ye as disabled,
|
|
1566
1569
|
Qn as dispatchEvent,
|
|
1567
|
-
|
|
1570
|
+
Do as downloadFile,
|
|
1568
1571
|
jt as easeInBack,
|
|
1569
1572
|
Vt as easeInBounce,
|
|
1570
1573
|
$t as easeInCirc,
|
|
@@ -1598,39 +1601,39 @@ export {
|
|
|
1598
1601
|
Mt as easeValue,
|
|
1599
1602
|
je as enabled,
|
|
1600
1603
|
Me as enterFullScreen,
|
|
1601
|
-
|
|
1604
|
+
Fo as entityToString,
|
|
1602
1605
|
ee as escapeAttr,
|
|
1603
1606
|
Ve as escapeHtml,
|
|
1604
1607
|
Xn as eventDelegate,
|
|
1605
1608
|
be as exitFullScreen,
|
|
1606
1609
|
bn as extract,
|
|
1607
|
-
|
|
1610
|
+
Io as fileToBase64DataUri,
|
|
1608
1611
|
se as findAll,
|
|
1609
1612
|
b as findOne,
|
|
1610
|
-
|
|
1613
|
+
To as fixBaseUrl,
|
|
1611
1614
|
Ce as floatVal,
|
|
1612
1615
|
he as formatDate,
|
|
1613
1616
|
Ln as formatSize,
|
|
1614
1617
|
We as getBoundingClientRect,
|
|
1615
1618
|
Hn as getCookie,
|
|
1616
|
-
|
|
1617
|
-
|
|
1618
|
-
|
|
1619
|
+
Eo as getDomDimension,
|
|
1620
|
+
Xo as getJson,
|
|
1621
|
+
mo as getNodeXPath,
|
|
1619
1622
|
vt as getTimezoneOffsetMinutes,
|
|
1620
|
-
|
|
1623
|
+
Lr as getTimezoneOffsetStr,
|
|
1621
1624
|
Cn as getUTF8StrLen,
|
|
1622
|
-
|
|
1625
|
+
Rr as getWeekNumber,
|
|
1623
1626
|
ke as guid,
|
|
1624
|
-
|
|
1625
|
-
|
|
1626
|
-
|
|
1627
|
-
|
|
1627
|
+
so as hide,
|
|
1628
|
+
jo as highlightText,
|
|
1629
|
+
Ro as html2Text,
|
|
1630
|
+
qo as imgToBase64,
|
|
1628
1631
|
ze as insertStyleSheet,
|
|
1629
1632
|
ut as isBodyInit,
|
|
1630
1633
|
Nn as isChinese,
|
|
1631
|
-
|
|
1634
|
+
tr as isEmptyObject,
|
|
1632
1635
|
pn as isFirefox,
|
|
1633
|
-
|
|
1636
|
+
xo as isFocusable,
|
|
1634
1637
|
Wn as isFunction,
|
|
1635
1638
|
Te as isInFullScreen,
|
|
1636
1639
|
Gn as isJSON,
|
|
@@ -1642,39 +1645,39 @@ export {
|
|
|
1642
1645
|
jn as isPromise,
|
|
1643
1646
|
Pe as isUrl,
|
|
1644
1647
|
An as kebabCase,
|
|
1645
|
-
|
|
1648
|
+
go as keepRectInContainer,
|
|
1646
1649
|
ve as lerp,
|
|
1647
1650
|
wn as limit,
|
|
1648
1651
|
xe as linear,
|
|
1649
|
-
|
|
1650
|
-
|
|
1651
|
-
|
|
1652
|
-
|
|
1653
|
-
|
|
1652
|
+
vo as loadCss,
|
|
1653
|
+
yo as loadScript,
|
|
1654
|
+
uo as lockElementInteraction,
|
|
1655
|
+
Uo as markdown2Html,
|
|
1656
|
+
Go as md5,
|
|
1654
1657
|
dn as mmToPt,
|
|
1655
1658
|
fn as mmToPx,
|
|
1656
1659
|
mn as mmToTwip,
|
|
1657
|
-
|
|
1660
|
+
Ir as msToHMS,
|
|
1658
1661
|
qe as mutationEffective,
|
|
1659
|
-
|
|
1662
|
+
fo as nodeIndex,
|
|
1660
1663
|
de as objToQuery,
|
|
1661
|
-
|
|
1662
|
-
|
|
1663
|
-
|
|
1664
|
-
|
|
1664
|
+
or as objectEntries,
|
|
1665
|
+
rr as objectFromEntries,
|
|
1666
|
+
ar as objectGet,
|
|
1667
|
+
nr as objectKeyReplace,
|
|
1665
1668
|
mt as objectMerge,
|
|
1666
|
-
|
|
1667
|
-
|
|
1669
|
+
sr as objectSet,
|
|
1670
|
+
ir as objectSwitchKV,
|
|
1668
1671
|
Ue as offEvent,
|
|
1669
1672
|
Jn as onDocReady,
|
|
1670
|
-
|
|
1673
|
+
ho as onDomTreeChange,
|
|
1671
1674
|
$e as onEvent,
|
|
1672
1675
|
Vn as onEvents,
|
|
1673
|
-
|
|
1676
|
+
po as onHover,
|
|
1674
1677
|
U as parseUnit,
|
|
1675
|
-
|
|
1676
|
-
|
|
1677
|
-
|
|
1678
|
+
er as postFiles,
|
|
1679
|
+
Zo as postJson,
|
|
1680
|
+
bo as precisionToStep,
|
|
1678
1681
|
Kn as printStack,
|
|
1679
1682
|
hn as ptToMm,
|
|
1680
1683
|
gn as pxToMm,
|
|
@@ -1683,35 +1686,35 @@ export {
|
|
|
1683
1686
|
xn as randomInt,
|
|
1684
1687
|
Ie as randomString,
|
|
1685
1688
|
_n as randomWords,
|
|
1686
|
-
|
|
1687
|
-
|
|
1689
|
+
wo as rectAssoc,
|
|
1690
|
+
Mo as rectInLayout,
|
|
1688
1691
|
Y as regQuote,
|
|
1689
|
-
|
|
1692
|
+
lo as remove,
|
|
1690
1693
|
G as request,
|
|
1691
1694
|
Ae as round,
|
|
1692
|
-
|
|
1693
|
-
|
|
1695
|
+
Oo as sanitizeFileName,
|
|
1696
|
+
_o as scrollToAnimated,
|
|
1694
1697
|
Fn as setCookie,
|
|
1695
|
-
|
|
1696
|
-
|
|
1698
|
+
co as show,
|
|
1699
|
+
Wo as srcToBase64,
|
|
1697
1700
|
Dn as strChunk,
|
|
1698
1701
|
On as strToPascalCase,
|
|
1699
|
-
|
|
1702
|
+
Yo as stringToEntity,
|
|
1700
1703
|
En as stripSlashes,
|
|
1701
1704
|
Xe as svgGetDimension,
|
|
1702
1705
|
Je as svgToImg,
|
|
1703
|
-
|
|
1706
|
+
zo as svgToImgData,
|
|
1704
1707
|
Qe as svgToSrc,
|
|
1705
|
-
|
|
1708
|
+
ko as text2Html,
|
|
1706
1709
|
$n as throttle,
|
|
1707
1710
|
Un as throttleEffect,
|
|
1708
|
-
|
|
1711
|
+
Dr as timestampToDateTimeLocal,
|
|
1709
1712
|
ae as toggleDisabled,
|
|
1710
1713
|
cn as toggleFullScreen,
|
|
1711
1714
|
io as triggerDomEvent,
|
|
1712
1715
|
In as trim,
|
|
1713
1716
|
Sn as truncate,
|
|
1714
|
-
|
|
1717
|
+
$o as unescapeHtml,
|
|
1715
1718
|
K as unitConvert,
|
|
1716
1719
|
Z as urlB64DataCache,
|
|
1717
1720
|
_e as utf8Decode,
|