tttb 0.0.20

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.

Potentially problematic release.


This version of tttb might be problematic. Click here for more details.

Files changed (68) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +38 -0
  3. package/dist/es/_virtual/_plugin-vue_export-helper.js +9 -0
  4. package/dist/es/components.js +32 -0
  5. package/dist/es/directives.js +14 -0
  6. package/dist/es/hooks.js +4 -0
  7. package/dist/es/index.js +80 -0
  8. package/dist/es/node_modules/@floating-ui/core/dist/floating-ui.core.js +389 -0
  9. package/dist/es/node_modules/@floating-ui/dom/dist/floating-ui.dom.js +399 -0
  10. package/dist/es/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.js +136 -0
  11. package/dist/es/node_modules/@floating-ui/utils/dist/floating-ui.utils.js +129 -0
  12. package/dist/es/node_modules/@fortawesome/fontawesome-svg-core/index.js +3074 -0
  13. package/dist/es/node_modules/@fortawesome/free-brands-svg-icons/index.js +3155 -0
  14. package/dist/es/node_modules/@fortawesome/free-regular-svg-icons/index.js +1227 -0
  15. package/dist/es/node_modules/@fortawesome/free-solid-svg-icons/index.js +9601 -0
  16. package/dist/es/node_modules/@fortawesome/vue-fontawesome/index.es.js +487 -0
  17. package/dist/es/src/components/Button/index.js +6 -0
  18. package/dist/es/src/components/Button/index.vue.js +73 -0
  19. package/dist/es/src/components/Checkbox/index.js +6 -0
  20. package/dist/es/src/components/Checkbox/index.vue.js +60 -0
  21. package/dist/es/src/components/Dialog/DialogItem.vue.js +73 -0
  22. package/dist/es/src/components/Dialog/DialogPrompt.vue.js +56 -0
  23. package/dist/es/src/components/Dialog/index.js +6 -0
  24. package/dist/es/src/components/Dialog/index.vue.js +84 -0
  25. package/dist/es/src/components/Icon/index.js +6 -0
  26. package/dist/es/src/components/Icon/index.vue.js +21 -0
  27. package/dist/es/src/components/Icon/props.js +31 -0
  28. package/dist/es/src/components/Loading/index.js +6 -0
  29. package/dist/es/src/components/Loading/index.vue.js +45 -0
  30. package/dist/es/src/components/Message/index.js +6 -0
  31. package/dist/es/src/components/Message/index.vue.js +41 -0
  32. package/dist/es/src/components/Modal/index.js +6 -0
  33. package/dist/es/src/components/Modal/index.vue.js +67 -0
  34. package/dist/es/src/components/Nav/index.js +6 -0
  35. package/dist/es/src/components/Nav/index.vue.js +83 -0
  36. package/dist/es/src/components/Pagination/index.js +6 -0
  37. package/dist/es/src/components/Pagination/index.vue.js +151 -0
  38. package/dist/es/src/components/Switch/index.js +6 -0
  39. package/dist/es/src/components/Switch/index.vue.js +80 -0
  40. package/dist/es/src/components/Table/index.js +6 -0
  41. package/dist/es/src/components/Table/index.vue.js +42 -0
  42. package/dist/es/src/components/Timer/index.js +6 -0
  43. package/dist/es/src/components/Timer/index.vue.js +30 -0
  44. package/dist/es/src/components/Tooltip/index.js +6 -0
  45. package/dist/es/src/components/Tooltip/index.vue.js +123 -0
  46. package/dist/es/src/components/Tooltip/props.js +47 -0
  47. package/dist/es/src/components/Warn/index.js +6 -0
  48. package/dist/es/src/components/Warn/index.vue.js +23 -0
  49. package/dist/es/src/components/Watermark/index.js +6 -0
  50. package/dist/es/src/components/Watermark/index.vue.js +69 -0
  51. package/dist/es/src/components/Watermark/useWatermarkBg.js +11 -0
  52. package/dist/es/src/directives/vDelayIn.js +86 -0
  53. package/dist/es/src/directives/vLazy.js +63 -0
  54. package/dist/es/src/directives/vLoading.js +39 -0
  55. package/dist/es/src/directives/vSlideIn.js +39 -0
  56. package/dist/es/src/directives/vTextJump.js +36 -0
  57. package/dist/es/src/directives/vTooltip.js +41 -0
  58. package/dist/es/src/helpers.js +7 -0
  59. package/dist/es/src/hooks/useScrollControl.js +83 -0
  60. package/dist/es/src/utils/dialog.js +34 -0
  61. package/dist/es/src/utils/localStorage.js +25 -0
  62. package/dist/es/src/utils/msg.js +27 -0
  63. package/dist/es/src/utils/tools.js +70 -0
  64. package/dist/es/tttb.css +1 -0
  65. package/dist/es/utils.js +22 -0
  66. package/dist/umd/tb-ui.css +1 -0
  67. package/dist/umd/tb-ui.umd.cjs +563 -0
  68. package/package.json +61 -0
@@ -0,0 +1,39 @@
1
+ const a = /* @__PURE__ */ new WeakMap(), o = new IntersectionObserver((t) => {
2
+ for (const e of t) {
3
+ const n = a.get(e.target);
4
+ n && e.isIntersecting && (n.play(), o.unobserve(e.target));
5
+ }
6
+ }), i = (t) => t.getBoundingClientRect().top - 100 > window.innerHeight, s = {
7
+ name: "slide-in",
8
+ mounted(t, e) {
9
+ if (!i(t))
10
+ return;
11
+ const n = t.animate(
12
+ [
13
+ {
14
+ transform: "translateY(100px)",
15
+ opacity: 0.5
16
+ },
17
+ {
18
+ transform: "translateY(0px)",
19
+ opacity: 1
20
+ }
21
+ ],
22
+ {
23
+ duration: 600,
24
+ easing: "ease-out",
25
+ delay: e.value || 0,
26
+ fill: "both"
27
+ }
28
+ );
29
+ n.pause(), n.onfinish = () => {
30
+ n.cancel();
31
+ }, a.set(t, n), o.observe(t);
32
+ },
33
+ unmounted(t) {
34
+ o.unobserve(t);
35
+ }
36
+ };
37
+ export {
38
+ s as default
39
+ };
@@ -0,0 +1,36 @@
1
+ import "../utils/dialog.js";
2
+ import "../utils/localStorage.js";
3
+ import "../utils/msg.js";
4
+ import { getRandomInt as a } from "../utils/tools.js";
5
+ const c = {
6
+ name: "text-jump",
7
+ mounted(n, o) {
8
+ const t = o.value || ["#ff1e00", "#335bff"];
9
+ n.style.cssText += `
10
+ background-image: linear-gradient(90deg, ${t[0]}33 0%, ${t[0]} 20%, ${t[1]} 80%, ${t[1]}33 100%);
11
+ background-size: 200% 100%;
12
+ background-clip: text;
13
+ color: transparent;
14
+ `, n.animate(
15
+ [
16
+ {
17
+ backgroundPositionX: "200%"
18
+ },
19
+ {
20
+ backgroundPositionX: "0%"
21
+ }
22
+ ],
23
+ {
24
+ //匀速,无限循环
25
+ duration: 4e3,
26
+ easing: "linear",
27
+ iterations: 1 / 0,
28
+ delay: a(0, 8) * -500
29
+ //随机延迟
30
+ }
31
+ ).play();
32
+ }
33
+ };
34
+ export {
35
+ c as default
36
+ };
@@ -0,0 +1,41 @@
1
+ import { render as c, h as l } from "vue";
2
+ import p from "../components/Tooltip/index.js";
3
+ const a = /* @__PURE__ */ new WeakMap(), L = {
4
+ name: "tooltip",
5
+ mounted(e, t) {
6
+ const o = document.createElement("div"), n = t.value, f = t.arg || "top", i = t.modifiers.click ? "click" : "hover", m = l(p, {
7
+ content: n,
8
+ placement: f,
9
+ trigger: i,
10
+ virtualRef: e,
11
+ manual: !0
12
+ });
13
+ c(m, o);
14
+ const r = m.component.exposed, v = () => r.show(), d = () => r.hide(), u = () => r.toggle();
15
+ let s;
16
+ i === "hover" ? (e.addEventListener("mouseenter", v), e.addEventListener("mouseleave", d), s = () => {
17
+ e.removeEventListener("mouseenter", v), e.removeEventListener("mouseleave", d);
18
+ }) : (e.addEventListener("click", u), s = () => {
19
+ e.removeEventListener("click", u);
20
+ }), a.set(e, { container: o, removeEvents: s });
21
+ },
22
+ updated(e, t) {
23
+ const o = a.get(e);
24
+ if (o) {
25
+ const n = l(p, {
26
+ content: t.value,
27
+ placement: t.arg || "top",
28
+ virtualRef: e,
29
+ manual: !0
30
+ });
31
+ c(n, o.container);
32
+ }
33
+ },
34
+ unmounted(e) {
35
+ const t = a.get(e);
36
+ t && (c(null, t.container), t.removeEvents());
37
+ }
38
+ };
39
+ export {
40
+ L as default
41
+ };
@@ -0,0 +1,7 @@
1
+ const l = (a) => a && (a.install = (i) => {
2
+ const r = a.name || a.__name;
3
+ r && i.component(r, a);
4
+ }, a);
5
+ export {
6
+ l as withInstall
7
+ };
@@ -0,0 +1,83 @@
1
+ import { ref as L, watch as T, toValue as m, onMounted as D, onUnmounted as Y } from "vue";
2
+ const n = {
3
+ disabledCount: 0,
4
+ allowedElements: /* @__PURE__ */ new Set(),
5
+ touchStartY: 0,
6
+ touchStartElement: null,
7
+ isInAllowedElement: !1
8
+ }, b = (r) => {
9
+ const s = m(r);
10
+ return s ? (Array.isArray(s) ? s : [s]).map((o) => m(o)).filter((o) => o instanceof HTMLElement) : [];
11
+ };
12
+ function H(r = {}) {
13
+ const { allowedElements: s, immediate: f = !1 } = r, o = /* @__PURE__ */ new Set(), a = L(!1), c = (e) => {
14
+ let t = e;
15
+ for (; t; ) {
16
+ if (n.allowedElements.has(t)) return t;
17
+ t = t.parentElement;
18
+ }
19
+ return null;
20
+ }, d = (e) => e ? e.scrollHeight > e.clientHeight + 1 : !1, E = (e) => {
21
+ const t = c(e.target);
22
+ if (t && d(t)) {
23
+ const l = t.scrollTop <= 0 && e.deltaY < 0, u = Math.ceil(t.scrollTop + t.clientHeight) >= t.scrollHeight && e.deltaY > 0;
24
+ if (!(l || u)) return;
25
+ }
26
+ e.cancelable && e.preventDefault();
27
+ }, h = (e) => {
28
+ const t = e.touches[0];
29
+ n.touchStartY = t.clientY;
30
+ const l = c(e.target);
31
+ l && d(l) ? (n.touchStartElement = l, n.isInAllowedElement = !0) : (n.touchStartElement = null, n.isInAllowedElement = !1);
32
+ }, w = (e) => {
33
+ if (!n.isInAllowedElement || !n.touchStartElement) {
34
+ e.cancelable && e.preventDefault();
35
+ return;
36
+ }
37
+ const t = e.touches[0].clientY - n.touchStartY;
38
+ if (Math.abs(t) < 1) return;
39
+ const l = n.touchStartElement, u = l.scrollTop <= 0, C = Math.ceil(l.scrollTop + l.clientHeight) >= l.scrollHeight;
40
+ (u && t > 0 || C && t < 0) && e.cancelable && e.preventDefault();
41
+ }, v = (e) => {
42
+ b(e).forEach((l) => {
43
+ o.add(l), n.allowedElements.add(l), l.dataset.scrollAllowed = "true";
44
+ });
45
+ }, g = (e) => {
46
+ b(e).forEach((l) => {
47
+ o.delete(l), n.allowedElements.delete(l), delete l.dataset.scrollAllowed;
48
+ });
49
+ }, i = () => {
50
+ o.forEach((e) => {
51
+ n.allowedElements.delete(e), delete e.dataset.scrollAllowed;
52
+ }), o.clear();
53
+ }, p = () => {
54
+ a.value || (a.value = !0, n.disabledCount++, n.disabledCount === 1 && (document.addEventListener("wheel", E, { passive: !1 }), document.addEventListener("touchstart", h, { passive: !0 }), document.addEventListener("touchmove", w, { passive: !1 }), document.addEventListener("keydown", S, { passive: !1 })));
55
+ }, A = () => {
56
+ a.value && (a.value = !1, n.disabledCount = Math.max(0, n.disabledCount - 1), n.disabledCount === 0 && (document.removeEventListener("wheel", E), document.removeEventListener("touchstart", h), document.removeEventListener("touchmove", w), document.removeEventListener("keydown", S)));
57
+ }, S = (e) => {
58
+ if (!["Space", "ArrowUp", "ArrowDown", "PageUp", "PageDown"].includes(e.code)) return;
59
+ const l = c(document.activeElement);
60
+ l && d(l) || e.cancelable && e.preventDefault();
61
+ };
62
+ return T(
63
+ () => m(s),
64
+ (e) => {
65
+ e && (i(), v(e));
66
+ },
67
+ { deep: !0, immediate: !0 }
68
+ ), D(() => {
69
+ f && p();
70
+ }), Y(() => {
71
+ i(), a.value && A();
72
+ }), {
73
+ isDisabled: a,
74
+ disableScroll: p,
75
+ enableScroll: A,
76
+ addAllowedElement: v,
77
+ removeAllowedElement: g,
78
+ clearAllowedElements: i
79
+ };
80
+ }
81
+ export {
82
+ H as useScrollControl
83
+ };
@@ -0,0 +1,34 @@
1
+ import m from "../components/Dialog/index.js";
2
+ import { createApp as p } from "vue";
3
+ let r = null, e = null;
4
+ const o = document.createElement("div"), a = (t) => typeof t == "object" && t !== null, s = (t, n) => (!a(t) && (t = { content: t }), n === "prompt" && u(t), t.type = n, t), u = (t) => {
5
+ if (!Array.isArray(t.content))
6
+ throw new Error("Prompt content must be an array");
7
+ t.content = t.content.map((n) => {
8
+ if (typeof n == "string")
9
+ return { label: n };
10
+ if (a(n))
11
+ return n;
12
+ throw new Error("Prompt content must be an array of strings or objects");
13
+ });
14
+ }, d = () => {
15
+ r || (document.body.appendChild(o), r = p(m, {
16
+ onDestroy: () => {
17
+ r.unmount(), r = null, document.body.removeChild(o);
18
+ }
19
+ }), e = r.mount(o));
20
+ }, c = (t, n) => {
21
+ d();
22
+ const l = s(t, n);
23
+ return e.open(l);
24
+ }, y = {
25
+ destroy: () => {
26
+ e && e.destroyAll();
27
+ },
28
+ confirm: (t) => c(t, "confirm"),
29
+ alert: (t) => c(t, "alert"),
30
+ prompt: (t) => c(t, "prompt")
31
+ };
32
+ export {
33
+ y as dialog
34
+ };
@@ -0,0 +1,25 @@
1
+ import { msg as o } from "./msg.js";
2
+ const r = window.localStorage;
3
+ r || o.error("当前浏览器不支持本地存储功能,部分功能可能无法使用,请更换浏览器后重试");
4
+ const c = {
5
+ get(e) {
6
+ const t = r.getItem(e);
7
+ return t ? JSON.parse(t) : null;
8
+ },
9
+ set(e, t) {
10
+ try {
11
+ r.setItem(e, JSON.stringify(t));
12
+ } catch {
13
+ o.error("本地数据存储失败,请清除缓存后重试");
14
+ }
15
+ },
16
+ remove(e) {
17
+ r.removeItem(e);
18
+ },
19
+ clear() {
20
+ r.clear();
21
+ }
22
+ };
23
+ export {
24
+ c as localStorage
25
+ };
@@ -0,0 +1,27 @@
1
+ import c from "../components/Message/index.js";
2
+ import { createApp as m } from "vue";
3
+ const t = document.createElement("div");
4
+ let n = null, r = null;
5
+ const o = (e, s) => {
6
+ n || (document.body.appendChild(t), n = m(c, {
7
+ onDestroy: () => {
8
+ n.unmount(), n = null, document.body.removeChild(t);
9
+ }
10
+ }), r = n.mount(t)), r.add(e, s);
11
+ }, i = {
12
+ success: (e) => {
13
+ o(e, "success");
14
+ },
15
+ error: (e) => {
16
+ o(e, "error");
17
+ },
18
+ warning: (e) => {
19
+ o(e, "warning");
20
+ },
21
+ info: (e) => {
22
+ o(e, "info");
23
+ }
24
+ };
25
+ export {
26
+ i as msg
27
+ };
@@ -0,0 +1,70 @@
1
+ const l = (() => {
2
+ const t = navigator.userAgent || navigator.vendor || window.opera;
3
+ return /Mobi|Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(t);
4
+ })(), u = (t = 16) => {
5
+ const e = Date.now().toString(36);
6
+ return e + s(t - e.length);
7
+ }, s = (t) => {
8
+ const e = Math.random().toString(36).substring(2, 2 + t);
9
+ return e.length === t ? e : e + s(t - e.length);
10
+ }, f = (t, e) => {
11
+ let n = !1;
12
+ return function(...r) {
13
+ n || (t.apply(this, r), n = !0, setTimeout(() => {
14
+ n = !1;
15
+ }, e));
16
+ };
17
+ }, a = (t, e = 500) => {
18
+ let n;
19
+ function r(...o) {
20
+ clearTimeout(n), n = setTimeout(() => {
21
+ t.apply(this, o);
22
+ }, e);
23
+ }
24
+ return r.cancel = () => {
25
+ clearTimeout(n);
26
+ }, r;
27
+ }, p = (t, e) => Math.floor(Math.random() * (e - t)) + t, g = (t) => (t /= 100, Math.random() < t), m = (t) => {
28
+ for (let e = t.length - 1; e > 0; e--) {
29
+ const n = Math.floor(Math.random() * (e + 1));
30
+ [t[e], t[n]] = [t[n], t[e]];
31
+ }
32
+ return t;
33
+ }, c = (t) => typeof t == "object" && t !== null, i = (t, e = /* @__PURE__ */ new WeakMap()) => {
34
+ if (!c(t)) return t;
35
+ if (e.has(t)) return e.get(t);
36
+ let n = Array.isArray(t) ? [] : {};
37
+ e.set(t, n);
38
+ const r = Object.getOwnPropertySymbols(t);
39
+ r.length > 0 && r.forEach((o) => {
40
+ n[o] = i(t[o], e);
41
+ });
42
+ for (let o in t)
43
+ t.hasOwnProperty(o) && (n[o] = i(t[o], e));
44
+ return n;
45
+ }, d = (t, e) => {
46
+ const n = {};
47
+ for (let r in t)
48
+ t.hasOwnProperty(r) && !e.includes(r) && (n[r] = t[r]);
49
+ return n;
50
+ }, h = (t, e) => {
51
+ const n = {};
52
+ for (let r of e)
53
+ t.hasOwnProperty(r) && (n[r] = t[r]);
54
+ return n;
55
+ }, y = (t) => t && typeof t.then == "function" && typeof t.catch == "function";
56
+ export {
57
+ g as chance,
58
+ a as debounce,
59
+ i as deepClone,
60
+ u as getId,
61
+ p as getRandomInt,
62
+ s as getRandomStr,
63
+ l as isMobile,
64
+ c as isObject,
65
+ y as isPromise,
66
+ d as omit,
67
+ h as pick,
68
+ m as shuffleArray,
69
+ f as throttleFirst
70
+ };
@@ -0,0 +1 @@
1
+ @charset "UTF-8";html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:"";content:none}table{border-collapse:collapse;border-spacing:0}a{text-decoration:none;color:inherit}input,textarea,button,select{border:none;margin:0;-webkit-appearance:none;appearance:none;border-radius:0;background:transparent}input:focus,textarea:focus,button:focus,select:focus{outline:none;outline-offset:0}:root{--color-primary: #409eff;--color-primary-light-3: rgb(121.3, 187.1, 255);--color-primary-light-5: rgb(159.5, 206.5, 255);--color-primary-light-7: rgb(197.7, 225.9, 255);--color-primary-light-9: rgb(235.9, 245.3, 255);--color-primary-light-8: rgb(216.8, 235.6, 255);--color-primary-dark-2: rgb(51.2, 126.4, 204);--color-success: #67c23a;--color-success-light-3: rgb(148.6, 212.3, 117.1);--color-success-light-5: rgb(179, 224.5, 156.5);--color-success-light-7: rgb(209.4, 236.7, 195.9);--color-success-light-9: rgb(239.8, 248.9, 235.3);--color-success-light-8: rgb(224.6, 242.8, 215.6);--color-success-dark-2: rgb(82.4, 155.2, 46.4);--color-warning: #e6a23c;--color-warning-light-3: rgb(237.5, 189.9, 118.5);--color-warning-light-5: rgb(242.5, 208.5, 157.5);--color-warning-light-7: rgb(247.5, 227.1, 196.5);--color-warning-light-9: rgb(252.5, 245.7, 235.5);--color-warning-light-8: rgb(250, 236.4, 216);--color-warning-dark-2: rgb(184, 129.6, 48);--color-danger: #f56c6c;--color-danger-light-3: rgb(248, 152.1, 152.1);--color-danger-light-5: rgb(250, 181.5, 181.5);--color-danger-light-7: rgb(252, 210.9, 210.9);--color-danger-light-9: rgb(254, 240.3, 240.3);--color-danger-light-8: rgb(253, 225.6, 225.6);--color-danger-dark-2: rgb(196, 86.4, 86.4);--color-info: #909399;--color-info-light-3: rgb(177.3, 179.4, 183.6);--color-info-light-5: rgb(199.5, 201, 204);--color-info-light-7: rgb(221.7, 222.6, 224.4);--color-info-light-9: rgb(243.9, 244.2, 244.8);--color-info-light-8: rgb(232.8, 233.4, 234.6);--color-info-dark-2: rgb(115.2, 117.6, 122.4);--color-white: #fff;--color-black: #000}*,:before,:after{-webkit-tap-highlight-color:transparent;box-sizing:border-box}body{font-family:Helvetica Neue,Arial,Hiragino Sans GB,STHeiti,Microsoft YaHei;color:#2c2c2c}::-webkit-scrollbar{background:#eee;height:4px;width:4px}::-webkit-scrollbar-thumb{background:#bbb;border-radius:2px}a{color:var(--color-primary);cursor:pointer}a:hover{color:var(--color-primary-light-3)}a:active{color:var(--color-primary-dark-2)}.loading-container[data-v-557da3ef]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;white-space:nowrap;text-align:center;pointer-events:none}.loading-svg[data-v-557da3ef]{height:var(--size);width:var(--size);animation:loading-rotate-557da3ef 2s linear infinite}.path[data-v-557da3ef]{stroke-width:4;stroke-linecap:round;animation:loading-dash-557da3ef 1.5s ease-in-out infinite}@keyframes loading-rotate-557da3ef{to{transform:rotate(360deg)}}@keyframes loading-dash-557da3ef{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-40px}to{stroke-dasharray:90,150;stroke-dashoffset:-120px}}.modal-container[data-v-567b02a5]{position:fixed;inset:0;background:var(--bg, rgba(0, 0, 0, .5));-webkit-backdrop-filter:blur(var(--blur, 0px));backdrop-filter:blur(var(--blur, 0px));z-index:var(--z-index, 1000);display:flex;align-items:center;justify-content:center}.modal-enter-active[data-v-567b02a5],.modal-leave-active[data-v-567b02a5]{transition:var(--duration)}.modal-enter-from[data-v-567b02a5],.modal-leave-to[data-v-567b02a5]{background:transparent}.input-item[data-v-dae7d3f6]{display:block;width:95%;margin:10px auto;position:relative}.input-item .input-inner[data-v-dae7d3f6]{display:flex;border:1px solid #aaa;border-radius:10px;transition:.3s ease-in-out;padding:0 6px 0 10px;height:40px;line-height:40px}.input-item .input-inner input[data-v-dae7d3f6]{display:block;flex:1;background:transparent}.input-item .input-inner input[data-v-dae7d3f6]::placeholder{color:#aaa}.input-item .input-inner[data-v-dae7d3f6]:focus-within{border-color:var(--color-primary)}.input-item .input-inner:focus-within~.label[data-v-dae7d3f6]{color:var(--color-primary)}.input-item .input-inner .icon-container[data-v-dae7d3f6]{cursor:pointer;color:#aaa}.input-item .input-inner .icon-container[data-v-dae7d3f6]:hover{color:var(--color-danger)}.input-item .label[data-v-dae7d3f6]{position:absolute;left:5px;top:-8px;color:#aaa;transition:.3s ease-in-out;pointer-events:none;padding:0 5px;box-sizing:border-box;font-size:12px;line-height:16px;background:#eee;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.input-item .msg[data-v-dae7d3f6]{display:none;font-size:12px;padding:0 5px;color:var(--color-danger);text-align:left}.input-item.error .input-inner[data-v-dae7d3f6]{border-color:var(--color-danger)}.input-item.error .input-inner~.label[data-v-dae7d3f6]{color:var(--color-danger)}.input-item.error .msg[data-v-dae7d3f6]{display:block}.total-err[data-v-dae7d3f6]{color:var(--color-danger);font-size:14px}.total-err .icon-container[data-v-dae7d3f6]{font-size:initial}.area[data-v-85b344bc]{position:absolute;width:80%;max-width:380px;min-width:200px;background:#eee;border-radius:10px;box-sizing:border-box;padding-top:22px;box-shadow:0 0 5px #0000001a;text-align:center;word-break:break-word;overflow:hidden;color:#444}.area .title[data-v-85b344bc]{font-size:18px;font-weight:600;margin-bottom:10px;padding:0 20px}.area .content[data-v-85b344bc]{line-height:1.5;padding:0 20px;max-height:50vh;overflow:auto}.area .tip[data-v-85b344bc]{padding:0 20px;font-size:12px;color:var(--color-info);line-height:1.4;margin-top:5px;max-height:30vh;overflow:auto}.area .btns[data-v-85b344bc]{border-top:1px solid #ccc;margin-top:15px;display:flex}.area .btns .btn[data-v-85b344bc]{flex:1;padding:16px 10px;cursor:pointer;font-size:14px;background:#eee}.area .btns .btn[data-v-85b344bc]:hover:not(:disabled){background:var(--color-info-light-7)}.area .btns .btn.confirm[data-v-85b344bc]{font-weight:700;color:var(--color-primary)}.area .btns .btn.confirm.danger[data-v-85b344bc]{color:var(--color-danger)}.area .btns .btn.confirm[data-v-85b344bc]:disabled{cursor:not-allowed;color:var(--color-info)}.area .btns .btn.cancel[data-v-85b344bc]{color:var(--color-info-dark-2);border-right:1px solid #ccc}.dialog-container[data-v-4a59b93e]{position:fixed;inset:0;-webkit-user-select:none;user-select:none;z-index:9999}.modal-enter-active[data-v-4a59b93e],.modal-leave-active[data-v-4a59b93e]{transition:var(--duration)}.modal-enter-from[data-v-4a59b93e],.modal-leave-to[data-v-4a59b93e]{background:transparent}.area-enter-active[data-v-4a59b93e],.area-leave-active[data-v-4a59b93e]{transition:var(--duration) cubic-bezier(.5,1.75,.5,1)}.area-enter-from[data-v-4a59b93e],.area-leave-to[data-v-4a59b93e]{opacity:0;transform:scale(.8)}.message-container[data-v-b11505b8]{position:fixed;width:85%;max-width:800px;left:50%;bottom:80%;transform:translate(-50%);z-index:1000;line-height:1.2;font-size:15px;display:flex;flex-direction:column;gap:4px;pointer-events:none;color:#fff;text-align:center}.message-container .item[data-v-b11505b8]{padding:5px 34px;background:linear-gradient(90deg,var(--bg))}.message-container .item.info[data-v-b11505b8]{--bg: transparent, var(--color-info-light-5), var(--color-info-light-3), var(--color-info), var(--color-info), var(--color-info-light-3), var(--color-info-light-5), transparent}.message-container .item.success[data-v-b11505b8]{--bg: transparent, var(--color-success-light-5), var(--color-success-light-3), var(--color-success), var(--color-success), var(--color-success-light-3), var(--color-success-light-5), transparent}.message-container .item.warning[data-v-b11505b8]{--bg: transparent, var(--color-warning-light-5), var(--color-warning-light-3), var(--color-warning), var(--color-warning), var(--color-warning-light-3), var(--color-warning-light-5), transparent}.message-container .item.error[data-v-b11505b8]{--bg: transparent, var(--color-danger-light-5), var(--color-danger-light-3), var(--color-danger), var(--color-danger), var(--color-danger-light-3), var(--color-danger-light-5), transparent}.v-enter-active[data-v-b11505b8],.v-leave-active[data-v-b11505b8]{transition:.5s}.v-move[data-v-b11505b8]{transition:.2s}.v-enter-from[data-v-b11505b8],.v-leave-to[data-v-b11505b8]{opacity:0;transform:scaleY(.5)}.button-container[data-v-719c19ce]{padding:8px 15px;border-radius:4px;cursor:pointer;transition:.3s;display:inline-flex;align-items:center;gap:6px;color:var(--color);background:var(--bg-color);border:1px solid var(--border-color, var(--bg-color))}.button-container[data-v-719c19ce]:hover{color:var(--hover-color, var(--color));background:var(--hover-bg-color);border-color:var(--hover-border-color, var(--hover-bg-color))}.button-container[data-v-719c19ce]:active{color:var(--active-color, var(--color));background:var(--active-bg-color);border-color:var(--active-border-color, var(--active-bg-color))}.button-container[data-v-719c19ce]:disabled{color:var(--disabled-color, var(--color));background:var(--disabled-bg-color);border-color:var(--disabled-border-color, var(--disabled-bg-color));cursor:not-allowed}.button-container.default[data-v-719c19ce]{--color: var(--color-info-dark-2);--bg-color: var(--color-white);--border-color: var(--color-info-light-3);--hover-color: var(--color-primary);--hover-bg-color: var(--color-primary-light-9);--hover-border-color: var(--color-primary-light-7);--active-color: var(--color-primary);--active-bg-color: var(--color-primary-light-9);--active-border-color: var(--color-primary);--disabled-color: var(--color-info-light-5);--disabled-bg-color: var(--color-white);--disabled-border-color: var(--color-info-light-7)}.button-container.primary[data-v-719c19ce]{--color: var(--color-white);--bg-color: var(--color-primary);--hover-bg-color: var(--color-primary-light-3);--active-bg-color: var(--color-primary-dark-2);--active-border-color: var(--color-primary-dark-2);--disabled-bg-color: var(--color-primary-light-5)}.button-container.warning[data-v-719c19ce]{--color: var(--color-white);--bg-color: var(--color-warning);--hover-bg-color: var(--color-warning-light-3);--active-bg-color: var(--color-warning-dark-2);--disabled-bg-color: var(--color-warning-light-5)}.button-container.danger[data-v-719c19ce]{--color: var(--color-white);--bg-color: var(--color-danger);--hover-bg-color: var(--color-danger-light-3);--active-bg-color: var(--color-danger-dark-2);--disabled-bg-color: var(--color-danger-light-5)}.button-container.success[data-v-719c19ce]{--color: var(--color-white);--bg-color: var(--color-success);--hover-bg-color: var(--color-success-light-3);--active-bg-color: var(--color-success-dark-2);--disabled-bg-color: var(--color-success-light-5)}.checkbox-container[data-v-e1e8e55f]{height:100%}.checkbox-container .label[data-v-e1e8e55f]{display:flex;align-items:center;height:100%;cursor:inherit}.checkbox-container .label input[data-v-e1e8e55f]{display:none}.checkbox-container .label input:checked+.svg .box[data-v-e1e8e55f],.checkbox-container .label input:checked+.svg .tick[data-v-e1e8e55f]{stroke-dashoffset:0}.checkbox-container .label .desc[data-v-e1e8e55f]{margin-left:5px;padding-right:2px;height:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.checkbox-container .label .svg[data-v-e1e8e55f]{height:70%;margin-left:5px;border-radius:3px}.checkbox-container .label .svg .box[data-v-e1e8e55f]{stroke:var(--color-primary);stroke-dasharray:800;stroke-dashoffset:800;transition:stroke-dashoffset .6s ease-in}.checkbox-container .label .svg .tick[data-v-e1e8e55f]{stroke:var(--color-primary);stroke-dasharray:172;stroke-dashoffset:172;transition:stroke-dashoffset .6s ease-in}.nav-container .nav-container[data-v-997e3fe4]{font-size:14px;transition:.4s ease}.nav-container .nav-container .link[data-v-997e3fe4]{padding:15px;padding-left:calc(20px + var(--layer) * 15px)}.link[data-v-997e3fe4]{padding:20px;display:flex;gap:10px;align-items:center;color:#333;transition:.3s;position:relative}.link[data-v-997e3fe4]:after{content:"";position:absolute;top:0;right:0;width:2px;height:100%;transform:scaleY(0);background:var(--color-primary);transition:.3s}.link[data-v-997e3fe4]:hover{background:var(--color-primary-light-9)}.link.active[data-v-997e3fe4]{color:var(--color-primary);background:var(--color-primary-light-8)}.link.active[data-v-997e3fe4]:after{transform:scaleY(1)}.arrow-icon[data-v-997e3fe4]{transition:.3s linear}.arrow-icon.right[data-v-997e3fe4]{transform:rotate(-90deg)}.pagination-container[data-v-377aabe8]{display:flex;flex-direction:column;align-items:center;gap:8px;font-size:14px;color:#333}.controls[data-v-377aabe8]{display:flex;gap:4px;flex-wrap:wrap;justify-content:center}.item[data-v-377aabe8]{padding:6px 10px;cursor:pointer;border-radius:2px;min-width:36px;text-align:center;background:#f0f2f5;color:#333;transition:color .3s}.item[data-v-377aabe8]:hover{color:var(--color-primary)}.item.active[data-v-377aabe8]{background:var(--color-primary);color:#fff}.item[data-v-377aabe8]:disabled{color:inherit;cursor:not-allowed;opacity:.5}.meta[data-v-377aabe8]{display:flex;gap:12px;align-items:center;justify-content:center;flex-wrap:wrap}.meta select[data-v-377aabe8]{padding:4px 6px;border:1px solid #dcdcdc;border-radius:4px}.meta input[data-v-377aabe8]{width:72px;padding:4px 6px;border:1px solid #dcdcdc;border-radius:4px}.switch-container[data-v-e990b96f]{display:inline-block;--switch-width: 46px;--switch-height: 24px;--switch-bg: rgb(131, 131, 131);--switch-checked-bg: var(--color);--switch-offset: calc((var(--switch-height) - var(--circle-diameter)) / 2);--switch-transition: all .2s cubic-bezier(.27, .2, .25, 1.51);--circle-diameter: 18px;--circle-bg: #fff;--circle-shadow: 1px 1px 2px rgba(146, 146, 146, .45);--circle-checked-shadow: -1px 1px 2px rgba(163, 163, 163, .45);--circle-transition: var(--switch-transition);--icon-transition: all .2s cubic-bezier(.27, .2, .25, 1.51);--icon-cross-color: var(--switch-bg);--icon-cross-size: 6px;--icon-checkmark-color: var(--switch-checked-bg);--icon-checkmark-size: 10px;--effect-width: calc(var(--circle-diameter) / 2);--effect-height: calc(var(--effect-width) / 2 - 1px);--effect-bg: var(--circle-bg);--effect-border-radius: 1px;--effect-transition: all .2s ease-in-out}.switch-container.success[data-v-e990b96f]{--color: var(--color-success)}.switch-container.danger[data-v-e990b96f]{--color: var(--color-danger)}.switch-container.warning[data-v-e990b96f]{--color: var(--color-warning)}.switch-container.primary[data-v-e990b96f]{--color: var(--color-primary)}.switch-container input[data-v-e990b96f]{display:none}.switch-container svg[data-v-e990b96f]{transition:var(--icon-transition);position:absolute;height:auto}.switch-container .checkmark[data-v-e990b96f]{width:var(--icon-checkmark-size);color:var(--icon-checkmark-color);transform:scale(0)}.switch-container .cross[data-v-e990b96f]{width:var(--icon-cross-size);color:var(--icon-cross-color)}.slider[data-v-e990b96f]{box-sizing:border-box;width:var(--switch-width);height:var(--switch-height);background:var(--switch-bg);border-radius:999px;display:flex;align-items:center;position:relative;transition:var(--switch-transition);cursor:pointer}.slider[data-v-e990b96f]:before{content:"";position:absolute;width:var(--effect-width);height:var(--effect-height);left:calc(var(--switch-offset) + var(--effect-width) / 2);background:var(--effect-bg);border-radius:var(--effect-border-radius);transition:var(--effect-transition)}.slider .circle[data-v-e990b96f]{width:var(--circle-diameter);height:var(--circle-diameter);background:var(--circle-bg);border-radius:inherit;box-shadow:var(--circle-shadow);display:flex;align-items:center;justify-content:center;transition:var(--circle-transition);z-index:1;position:absolute;left:var(--switch-offset)}.switch-container input:checked+.slider[data-v-e990b96f]{background:var(--switch-checked-bg)}.switch-container input:checked+.slider[data-v-e990b96f]:before{left:calc(100% - var(--effect-width) - var(--effect-width) / 2 - var(--switch-offset))}.switch-container input:checked+.slider .checkmark[data-v-e990b96f]{transform:scale(1)}.switch-container input:checked+.slider .cross[data-v-e990b96f]{transform:scale(0)}.switch-container input:checked+.slider .circle[data-v-e990b96f]{left:calc(100% - var(--circle-diameter) - var(--switch-offset));box-shadow:var(--circle-checked-shadow)}.warn-container[data-v-b19e6118]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;padding:20px;height:100%;color:var(--color-info-dark-2)}.warn-container .icon-container[data-v-b19e6118]{font-size:3em}.table-container[data-v-1aec7e5e]{width:100%;max-height:100%;overflow:auto;border-radius:4px}.table-inner[data-v-1aec7e5e]{display:table;width:100%}header.row[data-v-1aec7e5e]{display:table-row;background:#dfdfdf;font-weight:700;position:sticky;top:0}header.row .cell[data-v-1aec7e5e]{padding:8px 10px}.row[data-v-1aec7e5e]{display:table-row;transition:.3s}.row[data-v-1aec7e5e]:nth-child(2n){background:#f9f9f9}div.row[data-v-1aec7e5e]:hover{background:#eaeaea}.cell[data-v-1aec7e5e]{display:table-cell;border:1px solid #ddd}.content[data-v-1aec7e5e]{padding:10px;word-break:keep-all;max-height:150px;overflow:hidden auto}.tooltip-container[data-v-5cbb8fec]{position:fixed;z-index:9999;top:0;left:0;font-size:14px;transform:translate(var(--x),var(--y))}.tooltip-container .inner[data-v-5cbb8fec]{padding:6px 10px;background:var(--color-white);color:var(--color-info-dark-2);border:1px solid var(--color-info);box-shadow:0 2px 8px #00000026;border-radius:4px}.tooltip-container .inner .arrow[data-v-5cbb8fec]{position:absolute;width:8px;height:8px;top:0;left:0;background:inherit;border:inherit;border-right-color:transparent;border-bottom-color:transparent;transform:translate(var(--arrow-x),var(--arrow-y)) rotate(var(--arrow-rot))}.fade-enter-active .inner[data-v-5cbb8fec],.fade-leave-active .inner[data-v-5cbb8fec]{transition:.3s ease}.fade-enter-from .inner[data-v-5cbb8fec],.fade-leave-to .inner[data-v-5cbb8fec]{opacity:0}.watermark-container[data-v-ddd3abb0]{position:relative;height:100%;overflow:hidden}
@@ -0,0 +1,22 @@
1
+ import { dialog as t } from "./src/utils/dialog.js";
2
+ import { localStorage as i } from "./src/utils/localStorage.js";
3
+ import { msg as a } from "./src/utils/msg.js";
4
+ import { chance as s, debounce as c, deepClone as d, getId as f, getRandomInt as g, getRandomStr as n, isMobile as p, isObject as x, isPromise as b, omit as h, pick as u, shuffleArray as I, throttleFirst as R } from "./src/utils/tools.js";
5
+ export {
6
+ s as chance,
7
+ c as debounce,
8
+ d as deepClone,
9
+ t as dialog,
10
+ f as getId,
11
+ g as getRandomInt,
12
+ n as getRandomStr,
13
+ p as isMobile,
14
+ x as isObject,
15
+ b as isPromise,
16
+ i as localStorage,
17
+ a as msg,
18
+ h as omit,
19
+ u as pick,
20
+ I as shuffleArray,
21
+ R as throttleFirst
22
+ };
@@ -0,0 +1 @@
1
+ @charset "UTF-8";html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:"";content:none}table{border-collapse:collapse;border-spacing:0}a{text-decoration:none;color:inherit}input,textarea,button,select{border:none;margin:0;-webkit-appearance:none;appearance:none;border-radius:0;background:transparent}input:focus,textarea:focus,button:focus,select:focus{outline:none;outline-offset:0}:root{--color-primary: #409eff;--color-primary-light-3: rgb(121.3, 187.1, 255);--color-primary-light-5: rgb(159.5, 206.5, 255);--color-primary-light-7: rgb(197.7, 225.9, 255);--color-primary-light-9: rgb(235.9, 245.3, 255);--color-primary-light-8: rgb(216.8, 235.6, 255);--color-primary-dark-2: rgb(51.2, 126.4, 204);--color-success: #67c23a;--color-success-light-3: rgb(148.6, 212.3, 117.1);--color-success-light-5: rgb(179, 224.5, 156.5);--color-success-light-7: rgb(209.4, 236.7, 195.9);--color-success-light-9: rgb(239.8, 248.9, 235.3);--color-success-light-8: rgb(224.6, 242.8, 215.6);--color-success-dark-2: rgb(82.4, 155.2, 46.4);--color-warning: #e6a23c;--color-warning-light-3: rgb(237.5, 189.9, 118.5);--color-warning-light-5: rgb(242.5, 208.5, 157.5);--color-warning-light-7: rgb(247.5, 227.1, 196.5);--color-warning-light-9: rgb(252.5, 245.7, 235.5);--color-warning-light-8: rgb(250, 236.4, 216);--color-warning-dark-2: rgb(184, 129.6, 48);--color-danger: #f56c6c;--color-danger-light-3: rgb(248, 152.1, 152.1);--color-danger-light-5: rgb(250, 181.5, 181.5);--color-danger-light-7: rgb(252, 210.9, 210.9);--color-danger-light-9: rgb(254, 240.3, 240.3);--color-danger-light-8: rgb(253, 225.6, 225.6);--color-danger-dark-2: rgb(196, 86.4, 86.4);--color-info: #909399;--color-info-light-3: rgb(177.3, 179.4, 183.6);--color-info-light-5: rgb(199.5, 201, 204);--color-info-light-7: rgb(221.7, 222.6, 224.4);--color-info-light-9: rgb(243.9, 244.2, 244.8);--color-info-light-8: rgb(232.8, 233.4, 234.6);--color-info-dark-2: rgb(115.2, 117.6, 122.4);--color-white: #fff;--color-black: #000}*,:before,:after{-webkit-tap-highlight-color:transparent;box-sizing:border-box}body{font-family:Helvetica Neue,Arial,Hiragino Sans GB,STHeiti,Microsoft YaHei;color:#2c2c2c}::-webkit-scrollbar{background:#eee;height:4px;width:4px}::-webkit-scrollbar-thumb{background:#bbb;border-radius:2px}a{color:var(--color-primary);cursor:pointer}a:hover{color:var(--color-primary-light-3)}a:active{color:var(--color-primary-dark-2)}.loading-container[data-v-557da3ef]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;white-space:nowrap;text-align:center;pointer-events:none}.loading-svg[data-v-557da3ef]{height:var(--size);width:var(--size);animation:loading-rotate-557da3ef 2s linear infinite}.path[data-v-557da3ef]{stroke-width:4;stroke-linecap:round;animation:loading-dash-557da3ef 1.5s ease-in-out infinite}@keyframes loading-rotate-557da3ef{to{transform:rotate(360deg)}}@keyframes loading-dash-557da3ef{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-40px}to{stroke-dasharray:90,150;stroke-dashoffset:-120px}}.modal-container[data-v-567b02a5]{position:fixed;inset:0;background:var(--bg, rgba(0, 0, 0, .5));-webkit-backdrop-filter:blur(var(--blur, 0px));backdrop-filter:blur(var(--blur, 0px));z-index:var(--z-index, 1000);display:flex;align-items:center;justify-content:center}.modal-enter-active[data-v-567b02a5],.modal-leave-active[data-v-567b02a5]{transition:var(--duration)}.modal-enter-from[data-v-567b02a5],.modal-leave-to[data-v-567b02a5]{background:transparent}.input-item[data-v-dae7d3f6]{display:block;width:95%;margin:10px auto;position:relative}.input-item .input-inner[data-v-dae7d3f6]{display:flex;border:1px solid #aaa;border-radius:10px;transition:.3s ease-in-out;padding:0 6px 0 10px;height:40px;line-height:40px}.input-item .input-inner input[data-v-dae7d3f6]{display:block;flex:1;background:transparent}.input-item .input-inner input[data-v-dae7d3f6]::placeholder{color:#aaa}.input-item .input-inner[data-v-dae7d3f6]:focus-within{border-color:var(--color-primary)}.input-item .input-inner:focus-within~.label[data-v-dae7d3f6]{color:var(--color-primary)}.input-item .input-inner .icon-container[data-v-dae7d3f6]{cursor:pointer;color:#aaa}.input-item .input-inner .icon-container[data-v-dae7d3f6]:hover{color:var(--color-danger)}.input-item .label[data-v-dae7d3f6]{position:absolute;left:5px;top:-8px;color:#aaa;transition:.3s ease-in-out;pointer-events:none;padding:0 5px;box-sizing:border-box;font-size:12px;line-height:16px;background:#eee;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.input-item .msg[data-v-dae7d3f6]{display:none;font-size:12px;padding:0 5px;color:var(--color-danger);text-align:left}.input-item.error .input-inner[data-v-dae7d3f6]{border-color:var(--color-danger)}.input-item.error .input-inner~.label[data-v-dae7d3f6]{color:var(--color-danger)}.input-item.error .msg[data-v-dae7d3f6]{display:block}.total-err[data-v-dae7d3f6]{color:var(--color-danger);font-size:14px}.total-err .icon-container[data-v-dae7d3f6]{font-size:initial}.area[data-v-85b344bc]{position:absolute;width:80%;max-width:380px;min-width:200px;background:#eee;border-radius:10px;box-sizing:border-box;padding-top:22px;box-shadow:0 0 5px #0000001a;text-align:center;word-break:break-word;overflow:hidden;color:#444}.area .title[data-v-85b344bc]{font-size:18px;font-weight:600;margin-bottom:10px;padding:0 20px}.area .content[data-v-85b344bc]{line-height:1.5;padding:0 20px;max-height:50vh;overflow:auto}.area .tip[data-v-85b344bc]{padding:0 20px;font-size:12px;color:var(--color-info);line-height:1.4;margin-top:5px;max-height:30vh;overflow:auto}.area .btns[data-v-85b344bc]{border-top:1px solid #ccc;margin-top:15px;display:flex}.area .btns .btn[data-v-85b344bc]{flex:1;padding:16px 10px;cursor:pointer;font-size:14px;background:#eee}.area .btns .btn[data-v-85b344bc]:hover:not(:disabled){background:var(--color-info-light-7)}.area .btns .btn.confirm[data-v-85b344bc]{font-weight:700;color:var(--color-primary)}.area .btns .btn.confirm.danger[data-v-85b344bc]{color:var(--color-danger)}.area .btns .btn.confirm[data-v-85b344bc]:disabled{cursor:not-allowed;color:var(--color-info)}.area .btns .btn.cancel[data-v-85b344bc]{color:var(--color-info-dark-2);border-right:1px solid #ccc}.dialog-container[data-v-4a59b93e]{position:fixed;inset:0;-webkit-user-select:none;user-select:none;z-index:9999}.modal-enter-active[data-v-4a59b93e],.modal-leave-active[data-v-4a59b93e]{transition:var(--duration)}.modal-enter-from[data-v-4a59b93e],.modal-leave-to[data-v-4a59b93e]{background:transparent}.area-enter-active[data-v-4a59b93e],.area-leave-active[data-v-4a59b93e]{transition:var(--duration) cubic-bezier(.5,1.75,.5,1)}.area-enter-from[data-v-4a59b93e],.area-leave-to[data-v-4a59b93e]{opacity:0;transform:scale(.8)}.message-container[data-v-b11505b8]{position:fixed;width:85%;max-width:800px;left:50%;bottom:80%;transform:translate(-50%);z-index:1000;line-height:1.2;font-size:15px;display:flex;flex-direction:column;gap:4px;pointer-events:none;color:#fff;text-align:center}.message-container .item[data-v-b11505b8]{padding:5px 34px;background:linear-gradient(90deg,var(--bg))}.message-container .item.info[data-v-b11505b8]{--bg: transparent, var(--color-info-light-5), var(--color-info-light-3), var(--color-info), var(--color-info), var(--color-info-light-3), var(--color-info-light-5), transparent}.message-container .item.success[data-v-b11505b8]{--bg: transparent, var(--color-success-light-5), var(--color-success-light-3), var(--color-success), var(--color-success), var(--color-success-light-3), var(--color-success-light-5), transparent}.message-container .item.warning[data-v-b11505b8]{--bg: transparent, var(--color-warning-light-5), var(--color-warning-light-3), var(--color-warning), var(--color-warning), var(--color-warning-light-3), var(--color-warning-light-5), transparent}.message-container .item.error[data-v-b11505b8]{--bg: transparent, var(--color-danger-light-5), var(--color-danger-light-3), var(--color-danger), var(--color-danger), var(--color-danger-light-3), var(--color-danger-light-5), transparent}.v-enter-active[data-v-b11505b8],.v-leave-active[data-v-b11505b8]{transition:.5s}.v-move[data-v-b11505b8]{transition:.2s}.v-enter-from[data-v-b11505b8],.v-leave-to[data-v-b11505b8]{opacity:0;transform:scaleY(.5)}.button-container[data-v-719c19ce]{padding:8px 15px;border-radius:4px;cursor:pointer;transition:.3s;display:inline-flex;align-items:center;gap:6px;color:var(--color);background:var(--bg-color);border:1px solid var(--border-color, var(--bg-color))}.button-container[data-v-719c19ce]:hover{color:var(--hover-color, var(--color));background:var(--hover-bg-color);border-color:var(--hover-border-color, var(--hover-bg-color))}.button-container[data-v-719c19ce]:active{color:var(--active-color, var(--color));background:var(--active-bg-color);border-color:var(--active-border-color, var(--active-bg-color))}.button-container[data-v-719c19ce]:disabled{color:var(--disabled-color, var(--color));background:var(--disabled-bg-color);border-color:var(--disabled-border-color, var(--disabled-bg-color));cursor:not-allowed}.button-container.default[data-v-719c19ce]{--color: var(--color-info-dark-2);--bg-color: var(--color-white);--border-color: var(--color-info-light-3);--hover-color: var(--color-primary);--hover-bg-color: var(--color-primary-light-9);--hover-border-color: var(--color-primary-light-7);--active-color: var(--color-primary);--active-bg-color: var(--color-primary-light-9);--active-border-color: var(--color-primary);--disabled-color: var(--color-info-light-5);--disabled-bg-color: var(--color-white);--disabled-border-color: var(--color-info-light-7)}.button-container.primary[data-v-719c19ce]{--color: var(--color-white);--bg-color: var(--color-primary);--hover-bg-color: var(--color-primary-light-3);--active-bg-color: var(--color-primary-dark-2);--active-border-color: var(--color-primary-dark-2);--disabled-bg-color: var(--color-primary-light-5)}.button-container.warning[data-v-719c19ce]{--color: var(--color-white);--bg-color: var(--color-warning);--hover-bg-color: var(--color-warning-light-3);--active-bg-color: var(--color-warning-dark-2);--disabled-bg-color: var(--color-warning-light-5)}.button-container.danger[data-v-719c19ce]{--color: var(--color-white);--bg-color: var(--color-danger);--hover-bg-color: var(--color-danger-light-3);--active-bg-color: var(--color-danger-dark-2);--disabled-bg-color: var(--color-danger-light-5)}.button-container.success[data-v-719c19ce]{--color: var(--color-white);--bg-color: var(--color-success);--hover-bg-color: var(--color-success-light-3);--active-bg-color: var(--color-success-dark-2);--disabled-bg-color: var(--color-success-light-5)}.checkbox-container[data-v-e1e8e55f]{height:100%}.checkbox-container .label[data-v-e1e8e55f]{display:flex;align-items:center;height:100%;cursor:inherit}.checkbox-container .label input[data-v-e1e8e55f]{display:none}.checkbox-container .label input:checked+.svg .box[data-v-e1e8e55f],.checkbox-container .label input:checked+.svg .tick[data-v-e1e8e55f]{stroke-dashoffset:0}.checkbox-container .label .desc[data-v-e1e8e55f]{margin-left:5px;padding-right:2px;height:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.checkbox-container .label .svg[data-v-e1e8e55f]{height:70%;margin-left:5px;border-radius:3px}.checkbox-container .label .svg .box[data-v-e1e8e55f]{stroke:var(--color-primary);stroke-dasharray:800;stroke-dashoffset:800;transition:stroke-dashoffset .6s ease-in}.checkbox-container .label .svg .tick[data-v-e1e8e55f]{stroke:var(--color-primary);stroke-dasharray:172;stroke-dashoffset:172;transition:stroke-dashoffset .6s ease-in}.nav-container .nav-container[data-v-997e3fe4]{font-size:14px;transition:.4s ease}.nav-container .nav-container .link[data-v-997e3fe4]{padding:15px;padding-left:calc(20px + var(--layer) * 15px)}.link[data-v-997e3fe4]{padding:20px;display:flex;gap:10px;align-items:center;color:#333;transition:.3s;position:relative}.link[data-v-997e3fe4]:after{content:"";position:absolute;top:0;right:0;width:2px;height:100%;transform:scaleY(0);background:var(--color-primary);transition:.3s}.link[data-v-997e3fe4]:hover{background:var(--color-primary-light-9)}.link.active[data-v-997e3fe4]{color:var(--color-primary);background:var(--color-primary-light-8)}.link.active[data-v-997e3fe4]:after{transform:scaleY(1)}.arrow-icon[data-v-997e3fe4]{transition:.3s linear}.arrow-icon.right[data-v-997e3fe4]{transform:rotate(-90deg)}.pagination-container[data-v-377aabe8]{display:flex;flex-direction:column;align-items:center;gap:8px;font-size:14px;color:#333}.controls[data-v-377aabe8]{display:flex;gap:4px;flex-wrap:wrap;justify-content:center}.item[data-v-377aabe8]{padding:6px 10px;cursor:pointer;border-radius:2px;min-width:36px;text-align:center;background:#f0f2f5;color:#333;transition:color .3s}.item[data-v-377aabe8]:hover{color:var(--color-primary)}.item.active[data-v-377aabe8]{background:var(--color-primary);color:#fff}.item[data-v-377aabe8]:disabled{color:inherit;cursor:not-allowed;opacity:.5}.meta[data-v-377aabe8]{display:flex;gap:12px;align-items:center;justify-content:center;flex-wrap:wrap}.meta select[data-v-377aabe8]{padding:4px 6px;border:1px solid #dcdcdc;border-radius:4px}.meta input[data-v-377aabe8]{width:72px;padding:4px 6px;border:1px solid #dcdcdc;border-radius:4px}.switch-container[data-v-e990b96f]{display:inline-block;--switch-width: 46px;--switch-height: 24px;--switch-bg: rgb(131, 131, 131);--switch-checked-bg: var(--color);--switch-offset: calc((var(--switch-height) - var(--circle-diameter)) / 2);--switch-transition: all .2s cubic-bezier(.27, .2, .25, 1.51);--circle-diameter: 18px;--circle-bg: #fff;--circle-shadow: 1px 1px 2px rgba(146, 146, 146, .45);--circle-checked-shadow: -1px 1px 2px rgba(163, 163, 163, .45);--circle-transition: var(--switch-transition);--icon-transition: all .2s cubic-bezier(.27, .2, .25, 1.51);--icon-cross-color: var(--switch-bg);--icon-cross-size: 6px;--icon-checkmark-color: var(--switch-checked-bg);--icon-checkmark-size: 10px;--effect-width: calc(var(--circle-diameter) / 2);--effect-height: calc(var(--effect-width) / 2 - 1px);--effect-bg: var(--circle-bg);--effect-border-radius: 1px;--effect-transition: all .2s ease-in-out}.switch-container.success[data-v-e990b96f]{--color: var(--color-success)}.switch-container.danger[data-v-e990b96f]{--color: var(--color-danger)}.switch-container.warning[data-v-e990b96f]{--color: var(--color-warning)}.switch-container.primary[data-v-e990b96f]{--color: var(--color-primary)}.switch-container input[data-v-e990b96f]{display:none}.switch-container svg[data-v-e990b96f]{transition:var(--icon-transition);position:absolute;height:auto}.switch-container .checkmark[data-v-e990b96f]{width:var(--icon-checkmark-size);color:var(--icon-checkmark-color);transform:scale(0)}.switch-container .cross[data-v-e990b96f]{width:var(--icon-cross-size);color:var(--icon-cross-color)}.slider[data-v-e990b96f]{box-sizing:border-box;width:var(--switch-width);height:var(--switch-height);background:var(--switch-bg);border-radius:999px;display:flex;align-items:center;position:relative;transition:var(--switch-transition);cursor:pointer}.slider[data-v-e990b96f]:before{content:"";position:absolute;width:var(--effect-width);height:var(--effect-height);left:calc(var(--switch-offset) + var(--effect-width) / 2);background:var(--effect-bg);border-radius:var(--effect-border-radius);transition:var(--effect-transition)}.slider .circle[data-v-e990b96f]{width:var(--circle-diameter);height:var(--circle-diameter);background:var(--circle-bg);border-radius:inherit;box-shadow:var(--circle-shadow);display:flex;align-items:center;justify-content:center;transition:var(--circle-transition);z-index:1;position:absolute;left:var(--switch-offset)}.switch-container input:checked+.slider[data-v-e990b96f]{background:var(--switch-checked-bg)}.switch-container input:checked+.slider[data-v-e990b96f]:before{left:calc(100% - var(--effect-width) - var(--effect-width) / 2 - var(--switch-offset))}.switch-container input:checked+.slider .checkmark[data-v-e990b96f]{transform:scale(1)}.switch-container input:checked+.slider .cross[data-v-e990b96f]{transform:scale(0)}.switch-container input:checked+.slider .circle[data-v-e990b96f]{left:calc(100% - var(--circle-diameter) - var(--switch-offset));box-shadow:var(--circle-checked-shadow)}.warn-container[data-v-b19e6118]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;padding:20px;height:100%;color:var(--color-info-dark-2)}.warn-container .icon-container[data-v-b19e6118]{font-size:3em}.table-container[data-v-1aec7e5e]{width:100%;max-height:100%;overflow:auto;border-radius:4px}.table-inner[data-v-1aec7e5e]{display:table;width:100%}header.row[data-v-1aec7e5e]{display:table-row;background:#dfdfdf;font-weight:700;position:sticky;top:0}header.row .cell[data-v-1aec7e5e]{padding:8px 10px}.row[data-v-1aec7e5e]{display:table-row;transition:.3s}.row[data-v-1aec7e5e]:nth-child(2n){background:#f9f9f9}div.row[data-v-1aec7e5e]:hover{background:#eaeaea}.cell[data-v-1aec7e5e]{display:table-cell;border:1px solid #ddd}.content[data-v-1aec7e5e]{padding:10px;word-break:keep-all;max-height:150px;overflow:hidden auto}.tooltip-container[data-v-5cbb8fec]{position:fixed;z-index:9999;top:0;left:0;font-size:14px;transform:translate(var(--x),var(--y))}.tooltip-container .inner[data-v-5cbb8fec]{padding:6px 10px;background:var(--color-white);color:var(--color-info-dark-2);border:1px solid var(--color-info);box-shadow:0 2px 8px #00000026;border-radius:4px}.tooltip-container .inner .arrow[data-v-5cbb8fec]{position:absolute;width:8px;height:8px;top:0;left:0;background:inherit;border:inherit;border-right-color:transparent;border-bottom-color:transparent;transform:translate(var(--arrow-x),var(--arrow-y)) rotate(var(--arrow-rot))}.fade-enter-active .inner[data-v-5cbb8fec],.fade-leave-active .inner[data-v-5cbb8fec]{transition:.3s ease}.fade-enter-from .inner[data-v-5cbb8fec],.fade-leave-to .inner[data-v-5cbb8fec]{opacity:0}.watermark-container[data-v-ddd3abb0]{position:relative;height:100%;overflow:hidden}