tttb 0.1.6

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 (83) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +38 -0
  3. package/dist/_virtual/_plugin-vue_export-helper.js +9 -0
  4. package/dist/components.js +36 -0
  5. package/dist/directives.js +16 -0
  6. package/dist/hooks.js +1 -0
  7. package/dist/icons/brands.js +554 -0
  8. package/dist/icons/regular.js +278 -0
  9. package/dist/icons/solid.js +1989 -0
  10. package/dist/index.js +84 -0
  11. package/dist/node_modules/@floating-ui/core/dist/floating-ui.core.js +393 -0
  12. package/dist/node_modules/@floating-ui/dom/dist/floating-ui.dom.js +399 -0
  13. package/dist/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.js +136 -0
  14. package/dist/node_modules/@floating-ui/utils/dist/floating-ui.utils.js +129 -0
  15. package/dist/node_modules/@floating-ui/vue/dist/floating-ui.vue.js +130 -0
  16. package/dist/node_modules/@fortawesome/fontawesome-svg-core/index.js +3074 -0
  17. package/dist/node_modules/@fortawesome/free-brands-svg-icons/index.js +3156 -0
  18. package/dist/node_modules/@fortawesome/free-regular-svg-icons/index.js +1228 -0
  19. package/dist/node_modules/@fortawesome/free-solid-svg-icons/index.js +9602 -0
  20. package/dist/node_modules/@fortawesome/vue-fontawesome/index.es.js +487 -0
  21. package/dist/node_modules/gsap/CSSPlugin.js +424 -0
  22. package/dist/node_modules/gsap/gsap-core.js +1645 -0
  23. package/dist/node_modules/gsap/index.js +13 -0
  24. package/dist/src/components/Button/index.js +6 -0
  25. package/dist/src/components/Button/index.vue.js +74 -0
  26. package/dist/src/components/Checkbox/index.js +6 -0
  27. package/dist/src/components/Checkbox/index.vue.js +43 -0
  28. package/dist/src/components/Dialog/DialogItem.vue.js +80 -0
  29. package/dist/src/components/Dialog/DialogPrompt.vue.js +60 -0
  30. package/dist/src/components/Dialog/index.js +6 -0
  31. package/dist/src/components/Dialog/index.vue.js +77 -0
  32. package/dist/src/components/Icon/index.js +6 -0
  33. package/dist/src/components/Icon/index.vue.js +17 -0
  34. package/dist/src/components/Icon/props.js +31 -0
  35. package/dist/src/components/Loading/index.js +6 -0
  36. package/dist/src/components/Loading/index.vue.js +45 -0
  37. package/dist/src/components/Message/index.js +6 -0
  38. package/dist/src/components/Message/index.vue.js +86 -0
  39. package/dist/src/components/Modal/index.js +6 -0
  40. package/dist/src/components/Modal/index.vue.js +53 -0
  41. package/dist/src/components/Nav/index.js +6 -0
  42. package/dist/src/components/Nav/index.vue.js +87 -0
  43. package/dist/src/components/Pagination/index.js +6 -0
  44. package/dist/src/components/Pagination/index.vue.js +165 -0
  45. package/dist/src/components/Popconfirm/index.js +6 -0
  46. package/dist/src/components/Popconfirm/index.vue.js +118 -0
  47. package/dist/src/components/Popover/index.js +6 -0
  48. package/dist/src/components/Popover/index.vue.js +34 -0
  49. package/dist/src/components/Switch/index.js +6 -0
  50. package/dist/src/components/Switch/index.vue.js +80 -0
  51. package/dist/src/components/Table/index.js +6 -0
  52. package/dist/src/components/Table/index.vue.js +42 -0
  53. package/dist/src/components/Timer/index.js +6 -0
  54. package/dist/src/components/Timer/index.vue.js +30 -0
  55. package/dist/src/components/Tooltip/TooltipContent.vue.js +25 -0
  56. package/dist/src/components/Tooltip/TooltipItem.vue.js +51 -0
  57. package/dist/src/components/Tooltip/TooltipLayer.vue.js +41 -0
  58. package/dist/src/components/Tooltip/constants.js +19 -0
  59. package/dist/src/components/Tooltip/index.js +6 -0
  60. package/dist/src/components/Tooltip/index.vue.js +49 -0
  61. package/dist/src/components/Tooltip/manager.js +102 -0
  62. package/dist/src/components/Tooltip/props.js +28 -0
  63. package/dist/src/components/Tooltip/useTooltip.js +38 -0
  64. package/dist/src/components/Warn/index.js +6 -0
  65. package/dist/src/components/Warn/index.vue.js +24 -0
  66. package/dist/src/components/Watermark/index.js +6 -0
  67. package/dist/src/components/Watermark/index.vue.js +69 -0
  68. package/dist/src/components/Watermark/useWatermarkBg.js +11 -0
  69. package/dist/src/components/helpers.js +21 -0
  70. package/dist/src/directives/vDelayIn.js +86 -0
  71. package/dist/src/directives/vLazy.js +63 -0
  72. package/dist/src/directives/vLoading.js +47 -0
  73. package/dist/src/directives/vRipple.js +78 -0
  74. package/dist/src/directives/vSlideIn.js +39 -0
  75. package/dist/src/directives/vTextJump.js +33 -0
  76. package/dist/src/directives/vTooltip.js +38 -0
  77. package/dist/src/utils/dialog.js +41 -0
  78. package/dist/src/utils/localStorage.js +25 -0
  79. package/dist/src/utils/msg.js +21 -0
  80. package/dist/src/utils/tools.js +70 -0
  81. package/dist/tttb.css +1 -0
  82. package/dist/utils.js +22 -0
  83. package/package.json +59 -0
@@ -0,0 +1,87 @@
1
+ import { inject as g, provide as k, reactive as w, resolveComponent as p, createElementBlock as l, openBlock as o, normalizeStyle as C, unref as n, Fragment as N, renderList as x, withDirectives as h, createBlock as s, createCommentVNode as c, withCtx as m, createElementVNode as E, toDisplayString as L, normalizeClass as b, Transition as B, mergeProps as D, toHandlers as H, createVNode as R, vShow as S } from "vue";
2
+ import V from "../../directives/vRipple.js";
3
+ import v from "../Icon/index.js";
4
+ import { faChevronDown as j } from "../../../node_modules/@fortawesome/free-solid-svg-icons/index.js";
5
+ /* empty css */
6
+ import z from "../../../_virtual/_plugin-vue_export-helper.js";
7
+ const A = { class: "text" }, I = /* @__PURE__ */ Object.assign({ name: "Nav" }, {
8
+ __name: "index",
9
+ props: {
10
+ list: {
11
+ type: Array,
12
+ default: () => []
13
+ }
14
+ },
15
+ setup(i) {
16
+ const f = i, y = g("layer", 0);
17
+ k("layer", y + 1);
18
+ const r = w(f.list.map(() => !0)), u = {
19
+ beforeEnter(e) {
20
+ e.style.height = "0", e.style.opacity = "0", e.style.overflow = "hidden";
21
+ },
22
+ enter(e) {
23
+ e.style.height = e.scrollHeight + "px", e.style.opacity = "1";
24
+ },
25
+ afterEnter(e) {
26
+ e.style.height = "", e.style.overflow = "", e.style.opacity = "";
27
+ },
28
+ beforeLeave(e) {
29
+ e.style.height = e.scrollHeight + "px", e.style.opacity = "0", e.style.overflow = "hidden";
30
+ },
31
+ leave(e) {
32
+ e.style.height = "0", e.style.opacity = "0";
33
+ },
34
+ afterLeave(e) {
35
+ e.style.height = "", e.style.overflow = "", e.style.opacity = "";
36
+ }
37
+ };
38
+ return (e, O) => {
39
+ const d = p("RouterLink"), _ = p("Nav");
40
+ return o(), l("ul", {
41
+ class: "nav-container",
42
+ style: C({ "--layer": n(y) })
43
+ }, [
44
+ (o(!0), l(N, null, x(i.list, (t, a) => (o(), l("li", {
45
+ class: "nav-item",
46
+ key: t.path
47
+ }, [
48
+ h((o(), s(d, {
49
+ class: "link",
50
+ to: { name: t.name },
51
+ "exact-active-class": "active"
52
+ }, {
53
+ default: m(() => [
54
+ t.meta?.icon ? (o(), s(n(v), {
55
+ key: 0,
56
+ icon: t.meta.icon
57
+ }, null, 8, ["icon"])) : c("", !0),
58
+ E("span", A, L(t.meta?.title), 1),
59
+ t.children?.length ? (o(), s(n(v), {
60
+ key: 1,
61
+ icon: n(j),
62
+ class: b(["arrow-icon", r[a] ? "" : "right"]),
63
+ onClick: (F) => r[a] = !r[a]
64
+ }, null, 8, ["icon", "class", "onClick"])) : c("", !0)
65
+ ]),
66
+ _: 2
67
+ }, 1032, ["to"])), [
68
+ [n(V)]
69
+ ]),
70
+ t.children?.length ? (o(), s(B, D({ key: 0 }, H(u)), {
71
+ default: m(() => [
72
+ h(R(_, {
73
+ list: t.children
74
+ }, null, 8, ["list"]), [
75
+ [S, r[a]]
76
+ ])
77
+ ]),
78
+ _: 2
79
+ }, 1040)) : c("", !0)
80
+ ]))), 128))
81
+ ], 4);
82
+ };
83
+ }
84
+ }), K = /* @__PURE__ */ z(I, [["__scopeId", "data-v-aca748b5"]]);
85
+ export {
86
+ K as default
87
+ };
@@ -0,0 +1,6 @@
1
+ import t from "./index.vue.js";
2
+ import { withInstall as o } from "../helpers.js";
3
+ const n = o(t);
4
+ export {
5
+ n as default
6
+ };
@@ -0,0 +1,165 @@
1
+ import { mergeModels as D, useModel as P, ref as E, watch as N, computed as V, createElementBlock as i, createCommentVNode as S, openBlock as r, createElementVNode as k, withDirectives as d, createVNode as q, unref as m, Fragment as z, renderList as B, normalizeClass as K, createTextVNode as $, toDisplayString as g, vModelSelect as L, withKeys as T, vModelText as U } from "vue";
2
+ import x from "../../directives/vRipple.js";
3
+ import w from "../Icon/index.js";
4
+ import { faAngleLeft as _, faAngleRight as F } from "../../../node_modules/@fortawesome/free-solid-svg-icons/index.js";
5
+ import { useRouter as J, useRoute as O } from "vue-router";
6
+ import "../../utils/dialog.js";
7
+ import "../../utils/localStorage.js";
8
+ import { msg as G } from "../../utils/msg.js";
9
+ /* empty css */
10
+ import H from "../../../_virtual/_plugin-vue_export-helper.js";
11
+ const Q = {
12
+ key: 0,
13
+ class: "pagination-container"
14
+ }, W = {
15
+ key: 0,
16
+ class: "controls"
17
+ }, X = ["disabled"], Y = ["onClick"], Z = ["disabled"], ee = { class: "meta" }, te = ["value"], ae = ["max"], le = /* @__PURE__ */ Object.assign({ name: "Pagination" }, {
18
+ __name: "index",
19
+ props: /* @__PURE__ */ D({
20
+ total: { type: Number, default: 0 },
21
+ // 共有多少条数据
22
+ pageSizes: { type: Array, default: () => [10, 20, 50, 100] },
23
+ // 可选的每页条数
24
+ maxButtonCount: { type: Number, default: 7 }
25
+ // 最大显示多少个页码按钮
26
+ }, {
27
+ modelValue: { type: Number, default: 1 },
28
+ modelModifiers: {},
29
+ pageSize: { type: Number, default: 10 },
30
+ pageSizeModifiers: {}
31
+ }),
32
+ emits: ["update:modelValue", "update:pageSize"],
33
+ setup(s) {
34
+ const R = J(), M = O(), l = P(s, "modelValue"), n = P(s, "pageSize"), c = s, v = E("");
35
+ N(n, () => {
36
+ l.value > o.value && p(o.value);
37
+ });
38
+ const o = V(() => !c.total || n.value <= 0 ? 0 : Math.max(0, Math.ceil(c.total / n.value)));
39
+ function p(t) {
40
+ const e = Math.min(Math.max(1, Math.floor(t || 1)), Math.max(1, o.value || 1));
41
+ e !== l.value && (l.value = e);
42
+ }
43
+ function C() {
44
+ let t = Number(v.value);
45
+ if (!t || isNaN(t) || t < 1 || t > o.value) {
46
+ v.value = "", G.warning("请输入有效页码");
47
+ return;
48
+ }
49
+ p(t), v.value = "";
50
+ }
51
+ function A(t) {
52
+ if (t)
53
+ if (t.ellipsis) {
54
+ const e = Math.max(3, Math.min(o.value, Math.max(5, c.maxButtonCount) - 2));
55
+ t.key === "left" ? p(l.value - e) : p(l.value + e);
56
+ } else t.page && p(t.page);
57
+ }
58
+ const I = V(() => {
59
+ const t = [], e = o.value, a = Math.max(5, c.maxButtonCount), f = l.value;
60
+ if (e <= a) {
61
+ for (let u = 1; u <= e; u++) t.push({ key: `p${u}`, page: u, label: u });
62
+ return t;
63
+ }
64
+ const y = Math.floor((a - 1) / 2);
65
+ let h = Math.max(2, f - y), b = Math.min(e - 1, f + y);
66
+ f - 1 <= y && (h = 2, b = a - 1), e - f <= y && (h = e - (a - 2), b = e - 1), t.push({ key: "p1", page: 1, label: 1 }), h > 2 && t.push({ key: "left", ellipsis: !0, label: "..." });
67
+ for (let u = h; u <= b; u++)
68
+ t.push({ key: `p${u}`, page: u, label: u });
69
+ return b < e - 1 && t.push({ key: "right", ellipsis: !0, label: "..." }), t.push({ key: `p${e}`, page: e, label: e }), t;
70
+ }), j = N(
71
+ () => c.total,
72
+ (t) => {
73
+ if (!t) return;
74
+ const e = +M.query.page, a = +M.query.pageSize;
75
+ a && !isNaN(a) && c.pageSizes.includes(a) && (n.value = a), e <= o.value && (p(e), j());
76
+ },
77
+ { immediate: !0 }
78
+ );
79
+ return N([l, n], () => {
80
+ R.replace({
81
+ query: {
82
+ ...M.query,
83
+ page: l.value,
84
+ pageSize: n.value
85
+ }
86
+ });
87
+ }), (t, e) => s.total ? (r(), i("div", Q, [
88
+ s.total > n.value ? (r(), i("ul", W, [
89
+ d((r(), i("button", {
90
+ disabled: l.value === 1,
91
+ onClick: e[0] || (e[0] = (a) => p(l.value - 1)),
92
+ class: "item"
93
+ }, [
94
+ q(m(w), { icon: m(_) }, null, 8, ["icon"])
95
+ ], 8, X)), [
96
+ [m(x)]
97
+ ]),
98
+ (r(!0), i(z, null, B(I.value, (a) => d((r(), i("li", {
99
+ key: a.key,
100
+ class: K([{ active: a.page === l.value }, "item"]),
101
+ onClick: (f) => A(a)
102
+ }, [
103
+ $(g(a.label), 1)
104
+ ], 10, Y)), [
105
+ [m(x)]
106
+ ])), 128)),
107
+ d((r(), i("button", {
108
+ disabled: l.value === o.value || !o.value,
109
+ onClick: e[1] || (e[1] = (a) => p(l.value + 1)),
110
+ class: "item"
111
+ }, [
112
+ q(m(w), { icon: m(F) }, null, 8, ["icon"])
113
+ ], 8, Z)), [
114
+ [m(x)]
115
+ ])
116
+ ])) : S("", !0),
117
+ k("div", ee, [
118
+ k("p", null, "共" + g(s.total) + "条,第" + g(l.value) + " / " + g(o.value || 1) + "页", 1),
119
+ d(k("select", {
120
+ "onUpdate:modelValue": e[2] || (e[2] = (a) => n.value = a)
121
+ }, [
122
+ (r(!0), i(z, null, B(s.pageSizes, (a) => (r(), i("option", {
123
+ key: a,
124
+ value: a
125
+ }, g(a) + " / 页", 9, te))), 128))
126
+ ], 512), [
127
+ [
128
+ L,
129
+ n.value,
130
+ void 0,
131
+ { number: !0 }
132
+ ]
133
+ ]),
134
+ s.total > n.value ? (r(), i(z, { key: 0 }, [
135
+ d(k("input", {
136
+ type: "number",
137
+ "onUpdate:modelValue": e[3] || (e[3] = (a) => v.value = a),
138
+ min: "1",
139
+ max: o.value || 1,
140
+ onKeyup: T(C, ["enter"]),
141
+ placeholder: "页码"
142
+ }, null, 40, ae), [
143
+ [
144
+ U,
145
+ v.value,
146
+ void 0,
147
+ { number: !0 }
148
+ ]
149
+ ]),
150
+ d((r(), i("button", {
151
+ onClick: C,
152
+ class: "item"
153
+ }, [...e[4] || (e[4] = [
154
+ $("跳转", -1)
155
+ ])])), [
156
+ [m(x)]
157
+ ])
158
+ ], 64)) : S("", !0)
159
+ ])
160
+ ])) : S("", !0);
161
+ }
162
+ }), ve = /* @__PURE__ */ H(le, [["__scopeId", "data-v-a1188e42"]]);
163
+ export {
164
+ ve as default
165
+ };
@@ -0,0 +1,6 @@
1
+ import t from "./index.vue.js";
2
+ import { withInstall as o } from "../helpers.js";
3
+ const r = o(t);
4
+ export {
5
+ r as default
6
+ };
@@ -0,0 +1,118 @@
1
+ import { ref as T, createBlock as p, openBlock as r, unref as n, mergeProps as k, createSlots as v, withCtx as o, renderSlot as a, createElementVNode as c, createCommentVNode as u, createElementBlock as S, createTextVNode as l, toDisplayString as s, normalizeProps as C, guardReactiveProps as x, createVNode as y } from "vue";
2
+ import { faQuestionCircle as B } from "../../../node_modules/@fortawesome/free-solid-svg-icons/index.js";
3
+ import P from "../Icon/index.js";
4
+ import $ from "../Popover/index.js";
5
+ import h from "../Button/index.js";
6
+ /* empty css */
7
+ const b = { class: "popconfirm-content" }, N = { class: "top" }, V = { class: "text" }, w = ["innerHTML"], I = { class: "bottom" }, z = /* @__PURE__ */ Object.assign({
8
+ name: "Popconfirm",
9
+ inheritAttrs: !1
10
+ }, {
11
+ __name: "index",
12
+ props: {
13
+ content: {
14
+ type: String,
15
+ default: "确认操作?"
16
+ },
17
+ tip: {
18
+ type: String,
19
+ default: ""
20
+ },
21
+ icon: {
22
+ type: Object,
23
+ default: B
24
+ },
25
+ showIcon: {
26
+ type: Boolean,
27
+ default: !0
28
+ },
29
+ confirmType: {
30
+ type: String,
31
+ default: "primary"
32
+ },
33
+ cancelType: {
34
+ type: String,
35
+ default: "default"
36
+ },
37
+ confirmText: {
38
+ type: String,
39
+ default: "确认"
40
+ },
41
+ cancelText: {
42
+ type: String,
43
+ default: "取消"
44
+ }
45
+ },
46
+ emits: ["confirm", "cancel"],
47
+ setup(e, { emit: g }) {
48
+ const f = g, i = T(null), m = () => {
49
+ f("confirm"), i.value.hide();
50
+ }, d = () => {
51
+ f("cancel"), i.value.hide();
52
+ };
53
+ return (t, R) => (r(), p(n($), k({
54
+ trigger: "click",
55
+ transition: "fade",
56
+ placement: "bottom"
57
+ }, t.$attrs, {
58
+ class: "popconfirm-container",
59
+ ref_key: "popoverRef",
60
+ ref: i
61
+ }), v({
62
+ default: o(() => [
63
+ a(t.$slots, "default")
64
+ ]),
65
+ _: 2
66
+ }, [
67
+ t.$slots.content || e.content ? {
68
+ name: "content",
69
+ fn: o(() => [
70
+ c("div", b, [
71
+ c("div", N, [
72
+ e.showIcon ? (r(), p(n(P), {
73
+ key: 0,
74
+ icon: e.icon
75
+ }, null, 8, ["icon"])) : u("", !0),
76
+ c("div", V, [
77
+ a(t.$slots, "content", {}, () => [
78
+ l(s(e.content), 1)
79
+ ]),
80
+ e.tip ? (r(), S("p", {
81
+ key: 0,
82
+ class: "tip",
83
+ innerHTML: e.tip
84
+ }, null, 8, w)) : u("", !0)
85
+ ])
86
+ ]),
87
+ c("div", I, [
88
+ a(t.$slots, "actions", C(x({ cancel: d, confirm: m })), () => [
89
+ y(n(h), {
90
+ type: e.cancelType,
91
+ onClick: d
92
+ }, {
93
+ default: o(() => [
94
+ l(s(e.cancelText), 1)
95
+ ]),
96
+ _: 1
97
+ }, 8, ["type"]),
98
+ y(n(h), {
99
+ type: e.confirmType,
100
+ onClick: m
101
+ }, {
102
+ default: o(() => [
103
+ l(s(e.confirmText), 1)
104
+ ]),
105
+ _: 1
106
+ }, 8, ["type"])
107
+ ])
108
+ ])
109
+ ])
110
+ ]),
111
+ key: "0"
112
+ } : void 0
113
+ ]), 1040));
114
+ }
115
+ });
116
+ export {
117
+ z as default
118
+ };
@@ -0,0 +1,6 @@
1
+ import o from "./index.vue.js";
2
+ import { withInstall as t } from "../helpers.js";
3
+ const a = t(o);
4
+ export {
5
+ a as default
6
+ };
@@ -0,0 +1,34 @@
1
+ import { ref as n, createBlock as a, openBlock as i, unref as p, mergeProps as l, createSlots as f, renderList as c, withCtx as m, renderSlot as u, normalizeProps as d, guardReactiveProps as h } from "vue";
2
+ import _ from "../Tooltip/index.js";
3
+ /* empty css */
4
+ const $ = /* @__PURE__ */ Object.assign({
5
+ name: "Popover",
6
+ inheritAttrs: !1
7
+ }, {
8
+ __name: "index",
9
+ setup(v, { expose: t }) {
10
+ const e = n(null);
11
+ return t({
12
+ show: () => {
13
+ e.value.show();
14
+ },
15
+ hide: () => {
16
+ e.value.hide();
17
+ }
18
+ }), (r, P) => (i(), a(p(_), l(r.$attrs, {
19
+ class: "popover-container",
20
+ ref_key: "tooltipRef",
21
+ ref: e
22
+ }), f({ _: 2 }, [
23
+ c(r.$slots, (g, o) => ({
24
+ name: o,
25
+ fn: m((s) => [
26
+ u(r.$slots, o, d(h(s || {})))
27
+ ])
28
+ }))
29
+ ]), 1040));
30
+ }
31
+ });
32
+ export {
33
+ $ as default
34
+ };
@@ -0,0 +1,6 @@
1
+ import t from "./index.vue.js";
2
+ import { withInstall as o } from "../helpers.js";
3
+ const m = o(t);
4
+ export {
5
+ m as default
6
+ };
@@ -0,0 +1,80 @@
1
+ import { mergeModels as a, useModel as i, createElementBlock as s, openBlock as o, normalizeClass as c, withDirectives as d, createElementVNode as e, vModelCheckbox as m } from "vue";
2
+ /* empty css */
3
+ import p from "../../../_virtual/_plugin-vue_export-helper.js";
4
+ const w = { class: "slider" }, u = { class: "circle" }, g = {
5
+ class: "cross",
6
+ "xml:space": "preserve",
7
+ style: { "enable-background": "new 0 0 512 512" },
8
+ viewBox: "0 0 365.696 365.696",
9
+ y: "0",
10
+ x: "0",
11
+ height: "6",
12
+ width: "6",
13
+ "xmlns:xlink": "http://www.w3.org/1999/xlink",
14
+ version: "1.1",
15
+ xmlns: "http://www.w3.org/2000/svg"
16
+ }, x = {
17
+ class: "checkmark",
18
+ "xml:space": "preserve",
19
+ style: { "enable-background": "new 0 0 512 512" },
20
+ viewBox: "0 0 24 24",
21
+ y: "0",
22
+ x: "0",
23
+ height: "10",
24
+ width: "10",
25
+ "xmlns:xlink": "http://www.w3.org/1999/xlink",
26
+ version: "1.1",
27
+ xmlns: "http://www.w3.org/2000/svg"
28
+ }, h = /* @__PURE__ */ Object.assign({ name: "Switch" }, {
29
+ __name: "index",
30
+ props: /* @__PURE__ */ a({
31
+ type: {
32
+ type: String,
33
+ default: "success",
34
+ validator: (t) => ["primary", "warning", "danger", "success"].includes(t)
35
+ }
36
+ }, {
37
+ modelValue: { type: Boolean, required: !0 },
38
+ modelModifiers: {}
39
+ }),
40
+ emits: ["update:modelValue"],
41
+ setup(t) {
42
+ const n = i(t, "modelValue");
43
+ return (v, l) => (o(), s("label", {
44
+ class: c(["switch-container", t.type])
45
+ }, [
46
+ d(e("input", {
47
+ type: "checkbox",
48
+ "onUpdate:modelValue": l[0] || (l[0] = (r) => n.value = r)
49
+ }, null, 512), [
50
+ [m, n.value]
51
+ ]),
52
+ e("div", w, [
53
+ e("div", u, [
54
+ (o(), s("svg", g, [...l[1] || (l[1] = [
55
+ e("g", null, [
56
+ e("path", {
57
+ "data-original": "#000000",
58
+ fill: "currentColor",
59
+ d: "M243.188 182.86 356.32 69.726c12.5-12.5 12.5-32.766 0-45.247L341.238 9.398c-12.504-12.503-32.77-12.503-45.25 0L182.86 122.528 69.727 9.374c-12.5-12.5-32.766-12.5-45.247 0L9.375 24.457c-12.5 12.504-12.5 32.77 0 45.25l113.152 113.152L9.398 295.99c-12.503 12.503-12.503 32.769 0 45.25L24.48 356.32c12.5 12.5 32.766 12.5 45.247 0l113.132-113.132L295.99 356.32c12.503 12.5 32.769 12.5 45.25 0l15.081-15.082c12.5-12.504 12.5-32.77 0-45.25zm0 0"
60
+ })
61
+ ], -1)
62
+ ])])),
63
+ (o(), s("svg", x, [...l[2] || (l[2] = [
64
+ e("g", null, [
65
+ e("path", {
66
+ class: "",
67
+ "data-original": "#000000",
68
+ fill: "currentColor",
69
+ d: "M9.707 19.121a.997.997 0 0 1-1.414 0l-5.646-5.647a1.5 1.5 0 0 1 0-2.121l.707-.707a1.5 1.5 0 0 1 2.121 0L9 14.171l9.525-9.525a1.5 1.5 0 0 1 2.121 0l.707.707a1.5 1.5 0 0 1 0 2.121z"
70
+ })
71
+ ], -1)
72
+ ])]))
73
+ ])
74
+ ])
75
+ ], 2));
76
+ }
77
+ }), b = /* @__PURE__ */ p(h, [["__scopeId", "data-v-68db706e"]]);
78
+ export {
79
+ b as default
80
+ };
@@ -0,0 +1,6 @@
1
+ import t from "./index.vue.js";
2
+ import { withInstall as o } from "../helpers.js";
3
+ const e = o(t);
4
+ export {
5
+ e as default
6
+ };
@@ -0,0 +1,42 @@
1
+ import { createElementBlock as t, openBlock as e, createBlock as u, createElementVNode as l, Fragment as n, renderList as s, toDisplayString as o, unref as _ } from "vue";
2
+ import m from "../Warn/index.js";
3
+ /* empty css */
4
+ import p from "../../../_virtual/_plugin-vue_export-helper.js";
5
+ const f = { class: "table-container" }, h = {
6
+ key: 0,
7
+ class: "table-inner"
8
+ }, k = { class: "row" }, v = { class: "content" }, y = /* @__PURE__ */ Object.assign({ name: "Table" }, {
9
+ __name: "index",
10
+ props: {
11
+ data: {
12
+ type: Array,
13
+ required: !0
14
+ }
15
+ },
16
+ setup(a) {
17
+ return (b, g) => (e(), t("div", f, [
18
+ a.data.length ? (e(), t("div", h, [
19
+ l("header", k, [
20
+ (e(!0), t(n, null, s(a.data[0], (c, r) => (e(), t("div", {
21
+ class: "cell",
22
+ key: r
23
+ }, o(r), 1))), 128))
24
+ ]),
25
+ (e(!0), t(n, null, s(a.data, (c, r) => (e(), t("div", {
26
+ class: "row",
27
+ key: r
28
+ }, [
29
+ (e(!0), t(n, null, s(c, (i, d) => (e(), t("div", {
30
+ class: "cell",
31
+ key: d
32
+ }, [
33
+ l("p", v, o(i), 1)
34
+ ]))), 128))
35
+ ]))), 128))
36
+ ])) : (e(), u(_(m), { key: 1 }))
37
+ ]));
38
+ }
39
+ }), T = /* @__PURE__ */ p(y, [["__scopeId", "data-v-4f63b3fa"]]);
40
+ export {
41
+ T as default
42
+ };
@@ -0,0 +1,6 @@
1
+ import t from "./index.vue.js";
2
+ import { withInstall as o } from "../helpers.js";
3
+ const r = o(t);
4
+ export {
5
+ r as default
6
+ };
@@ -0,0 +1,30 @@
1
+ import { ref as i, computed as u, onUnmounted as m, createElementBlock as p, openBlock as v, toDisplayString as f } from "vue";
2
+ const _ = { class: "timer-container" }, I = /* @__PURE__ */ Object.assign({ name: "Timer" }, {
3
+ __name: "index",
4
+ setup(d, { expose: o }) {
5
+ const e = i(0);
6
+ let n;
7
+ const s = u(() => c(e.value));
8
+ m(() => {
9
+ clearInterval(n);
10
+ });
11
+ const c = () => {
12
+ const t = Math.floor(e.value / 3600), r = Math.floor(e.value % 3600 / 60), a = e.value % 60;
13
+ return (t ? [t, r, a] : [r, a]).map((l) => l.toString().padStart(2, "0")).join(":");
14
+ };
15
+ return o({
16
+ start: (t) => {
17
+ t !== void 0 && (e.value = t), !n && (n = setInterval(() => {
18
+ e.value++;
19
+ }, 1e3));
20
+ },
21
+ stop: () => {
22
+ clearInterval(n), n = null;
23
+ },
24
+ getTime: () => e.value
25
+ }), (t, r) => (v(), p("span", _, f(s.value), 1));
26
+ }
27
+ });
28
+ export {
29
+ I as default
30
+ };
@@ -0,0 +1,25 @@
1
+ import { ref as o, createElementBlock as l, openBlock as r, normalizeStyle as s, normalizeClass as c, createVNode as i, withDirectives as a, unref as m, createElementVNode as f, vShow as u } from "vue";
2
+ import { RenderContent as w } from "../helpers.js";
3
+ const C = {
4
+ __name: "TooltipContent",
5
+ props: ["content", "customClass", "light", "side", "style", "showArrow", "singleton"],
6
+ setup(e, { expose: n }) {
7
+ const t = o(null);
8
+ return n({ arrowRef: t }), (d, h) => (r(), l("div", {
9
+ class: c(["tooltip-container", [e.customClass, { light: e.light, singleton: e.singleton }, e.side]]),
10
+ style: s(e.style)
11
+ }, [
12
+ i(m(w), { content: e.content }, null, 8, ["content"]),
13
+ a(f("div", {
14
+ ref_key: "arrowRef",
15
+ ref: t,
16
+ class: "arrow"
17
+ }, null, 512), [
18
+ [u, e.showArrow]
19
+ ])
20
+ ], 6));
21
+ }
22
+ };
23
+ export {
24
+ C as default
25
+ };
@@ -0,0 +1,51 @@
1
+ import { ref as w, computed as r, toRef as s, watch as $, createBlock as l, openBlock as m, Transition as y, withCtx as A, createCommentVNode as R, normalizeStyle as h, unref as a } from "vue";
2
+ import { useTooltip as k } from "./useTooltip.js";
3
+ import { tooltipActions as f } from "./manager.js";
4
+ import C from "./TooltipContent.vue.js";
5
+ const I = {
6
+ __name: "TooltipItem",
7
+ props: ["item", "singleton", "id"],
8
+ emits: ["mouseenter", "mouseleave"],
9
+ setup(e, { emit: T }) {
10
+ const t = e, n = w(null), u = r(() => n.value?.$el), c = r(() => n.value?.arrowRef), { style: p, side: g } = k(
11
+ s(t.item, "props"),
12
+ s(t.item, "triggerEl"),
13
+ u,
14
+ c,
15
+ s(t.item, "zIndex")
16
+ );
17
+ $(n, (i) => {
18
+ const o = i?.$el;
19
+ o && f.updateFloatingEl(t.singleton, t.id, o);
20
+ });
21
+ const d = () => {
22
+ t.singleton || f.remove(t.id);
23
+ };
24
+ return (i, o) => (m(), l(y, {
25
+ name: e.item.props.transition,
26
+ onAfterLeave: d,
27
+ appear: ""
28
+ }, {
29
+ default: A(() => [
30
+ e.item.isVisible ? (m(), l(C, {
31
+ key: 0,
32
+ ref_key: "contentRef",
33
+ ref: n,
34
+ content: e.item.content,
35
+ side: a(g),
36
+ style: h(a(p)),
37
+ light: e.item.props.light,
38
+ showArrow: e.item.props.showArrow,
39
+ customClass: e.item.props.class,
40
+ singleton: e.singleton,
41
+ onMouseenter: o[0] || (o[0] = (v) => i.$emit("mouseenter")),
42
+ onMouseleave: o[1] || (o[1] = (v) => i.$emit("mouseleave"))
43
+ }, null, 8, ["content", "side", "style", "light", "showArrow", "customClass", "singleton"])) : R("", !0)
44
+ ]),
45
+ _: 1
46
+ }, 8, ["name"]));
47
+ }
48
+ };
49
+ export {
50
+ I as default
51
+ };