guava-ui 0.0.4 → 0.0.5

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.
@@ -1,40 +1,43 @@
1
- var M = Object.defineProperty, D = Object.defineProperties;
2
- var z = Object.getOwnPropertyDescriptors;
3
- var T = Object.getOwnPropertySymbols;
4
- var R = Object.prototype.hasOwnProperty, H = Object.prototype.propertyIsEnumerable;
5
- var $ = (e, t, s) => t in e ? M(e, t, { enumerable: !0, configurable: !0, writable: !0, value: s }) : e[t] = s, C = (e, t) => {
6
- for (var s in t || (t = {}))
7
- R.call(t, s) && $(e, s, t[s]);
8
- if (T)
9
- for (var s of T(t))
10
- H.call(t, s) && $(e, s, t[s]);
1
+ var Ke = Object.defineProperty, _e = Object.defineProperties;
2
+ var $e = Object.getOwnPropertyDescriptors;
3
+ var ue = Object.getOwnPropertySymbols;
4
+ var et = Object.prototype.hasOwnProperty, tt = Object.prototype.propertyIsEnumerable;
5
+ var de = (e, t, n) => t in e ? Ke(e, t, { enumerable: !0, configurable: !0, writable: !0, value: n }) : e[t] = n, N = (e, t) => {
6
+ for (var n in t || (t = {}))
7
+ et.call(t, n) && de(e, n, t[n]);
8
+ if (ue)
9
+ for (var n of ue(t))
10
+ tt.call(t, n) && de(e, n, t[n]);
11
11
  return e;
12
- }, _ = (e, t) => D(e, z(t));
13
- var f = (e, t, s) => new Promise((r, o) => {
14
- var n = (i) => {
12
+ }, U = (e, t) => _e(e, $e(t));
13
+ var Z = (e, t, n) => new Promise((r, o) => {
14
+ var l = (i) => {
15
15
  try {
16
- u(s.next(i));
17
- } catch (d) {
18
- o(d);
16
+ s(n.next(i));
17
+ } catch (c) {
18
+ o(c);
19
19
  }
20
20
  }, a = (i) => {
21
21
  try {
22
- u(s.throw(i));
23
- } catch (d) {
24
- o(d);
22
+ s(n.throw(i));
23
+ } catch (c) {
24
+ o(c);
25
25
  }
26
- }, u = (i) => i.done ? r(i.value) : Promise.resolve(i.value).then(n, a);
27
- u((s = s.apply(e, t)).next());
26
+ }, s = (i) => i.done ? r(i.value) : Promise.resolve(i.value).then(l, a);
27
+ s((n = n.apply(e, t)).next());
28
28
  });
29
- import { defineComponent as O, computed as h, watch as J, createVNode as V, useAttrs as F, createElementBlock as v, openBlock as k, mergeProps as b, unref as E, createElementVNode as B } from "vue";
30
- import { ElButton as K, ElMessage as Z, ElMessageBox as Q, ElNotification as W } from "element-plus";
31
- import { useStyle as X } from "@/hook/web/useStyle";
32
- import Y from "axios";
33
- import { useI18n as P } from "@/hook/web/useI18n";
34
- import { useUserStore as ee } from "@/store/modules/user";
35
- import { useRouter as te } from "vue-router";
36
- import p from "crypto-js";
37
- const se = /* @__PURE__ */ O({
29
+ import { setActivePinia as nt } from "pinia";
30
+ import { defineComponent as O, computed as f, watch as P, createVNode as v, useAttrs as rt, createElementBlock as R, openBlock as y, mergeProps as V, unref as u, createElementVNode as W, resolveComponent as te, createBlock as C, normalizeClass as I, withCtx as k, Fragment as ne, renderList as ot, createTextVNode as Ee, toDisplayString as Ne, ref as re, TransitionGroup as lt, isVNode as We, normalizeStyle as pe, getCurrentScope as at, onScopeDispose as st, shallowRef as xe, toValue as B, getCurrentInstance as it, onMounted as Te, createCommentVNode as ct } from "vue";
31
+ import { ElButton as ut, ElDropdown as dt, ElDropdownMenu as pt, ElDropdownItem as ft, ElBacktop as mt, ElBreadcrumb as vt, ElBreadcrumbItem as ht, ElIcon as yt, ElMenuItem as bt, ElSubMenu as gt, ElScrollbar as St, ElMenu as jt, ElMessageBox as Gt, ElMessage as Ot, ElNotification as Zt } from "element-plus";
32
+ import { useStyle as E } from "@/hook/web/useStyle";
33
+ import { useRouter as oe } from "vue-router";
34
+ import { useLocaleStore as wt } from "@/store/modules/locale";
35
+ import { useLocale as Rt } from "@/hook/web/useLocale";
36
+ import { useI18n as ke } from "@/hook/web/useI18n";
37
+ import { useAppStore as A } from "@/store/modules/app";
38
+ import { usePermsStore as Me } from "@/store/modules/perms";
39
+ import w from "crypto-js";
40
+ const It = /* @__PURE__ */ O({
38
41
  name: "GvButton",
39
42
  // --- pass params between parent-child ---
40
43
  props: {
@@ -42,6 +45,7 @@ const se = /* @__PURE__ */ O({
42
45
  type: String,
43
46
  default: "GvButton",
44
47
  request: !1
48
+ //
45
49
  }
46
50
  },
47
51
  // --- register components ---
@@ -50,268 +54,1196 @@ const se = /* @__PURE__ */ O({
50
54
  emits: ["click", "submit"],
51
55
  setup(e, {
52
56
  emit: t,
53
- slots: s
57
+ slots: n
54
58
  }) {
55
- const r = h(() => {
56
- var n;
57
- return (n = s.default) == null ? void 0 : n.call(s);
59
+ const r = f(() => {
60
+ var l;
61
+ return (l = n.default) == null ? void 0 : l.call(n);
58
62
  });
59
- J(() => e.message, (n) => {
60
- console.log("GvButton:" + n);
63
+ P(() => e.message, (l) => {
64
+ console.log("GvButton:" + l);
61
65
  });
62
- const o = (n, a) => {
63
- alert("this is a child event"), t("click", n, a);
66
+ const o = (l, a) => {
67
+ alert("this is a child event"), t("click", l, a);
64
68
  };
65
- return () => V(K, {
69
+ return () => v(ut, {
66
70
  class: "gv-button",
67
- onClick: (n) => o(n, e.message)
71
+ onClick: (l) => o(l, e.message)
68
72
  }, {
69
73
  default: () => {
70
- var n;
71
- return [(n = r.value) != null ? n : e.message];
74
+ var l;
75
+ return [(l = r.value) != null ? l : e.message];
72
76
  }
73
77
  });
74
78
  }
75
- }), j = (e, t) => {
76
- const s = e.__vccOpts || e;
79
+ }), D = (e, t) => {
80
+ const n = e.__vccOpts || e;
77
81
  for (const [r, o] of t)
78
- s[r] = o;
79
- return s;
80
- }, N = /* @__PURE__ */ j(se, [["__scopeId", "data-v-67cee13e"]]), re = {
82
+ n[r] = o;
83
+ return n;
84
+ }, fe = /* @__PURE__ */ D(It, [["__scopeId", "data-v-b3b7fd80"]]), Et = {
81
85
  install(e) {
82
86
  var t;
83
- e.component((t = N.name) != null ? t : "GvButton", N);
87
+ e.component((t = fe.name) != null ? t : "GvButton", fe);
84
88
  }
85
- }, oe = (e) => /^(https?:|mailto:|tel:)/.test(e), x = (e) => f(void 0, null, function* () {
89
+ }, le = (e) => {
90
+ try {
91
+ return new URL(e), !0;
92
+ } catch (t) {
93
+ return !1;
94
+ }
95
+ }, F = (e, t) => {
96
+ if (le(t)) return t;
97
+ const n = t.startsWith("/") || !t ? t : `/${t}`;
98
+ return `${e}${n}`.replace(/\/\//g, "/").trim();
99
+ }, Nt = (e) => /^(https?:|mailto:|tel:)/.test(e), Le = (e) => Z(null, null, function* () {
86
100
  return new Promise((t) => setTimeout(t, e));
87
- }), Be = (e) => e ? e.replace(/\_(\w)/g, function(t, s) {
88
- return s.toUpperCase();
89
- }) : "", Ne = (e) => e.replace(/([A-Z])/g, "_$1").toLowerCase(), ne = ["href"], ae = ["xlink:href"], ce = /* @__PURE__ */ O({
90
- name: "GvSvgIcon",
101
+ }), mr = (e) => e ? e.replace(/\_(\w)/g, function(t, n) {
102
+ return n.toUpperCase();
103
+ }) : "", vr = (e) => e.replace(/([A-Z])/g, "_$1").toLowerCase(), ze = (e) => typeof e == "object" && e !== null && "message" in e, hr = (e) => {
104
+ if (e && e.key) {
105
+ if (e.key.toLowerCase() === "q" && e.ctrlKey === !0) {
106
+ e.preventDefault(), e.stopPropagation();
107
+ const t = document.body.querySelector(".main-container .ht-container .ht-search__bar>.ht-button.search");
108
+ if (t && t.style.display !== "none") t.click();
109
+ else {
110
+ const n = document.body.querySelector(".main-container .ht-container .ht-edit__bar .ht-button.search");
111
+ n && n.style.display === "" && n.click();
112
+ }
113
+ } else if (e.key.toLowerCase() === "r" && e.ctrlKey === !0) {
114
+ e.preventDefault(), e.stopPropagation();
115
+ const t = document.body.querySelector(".main-container .ht-container .ht-form .ht-search__bar>.ht-button.reset");
116
+ t && t.style.display !== "none" && t.getAttribute("refform") && t.click();
117
+ } else if (e.key.toLowerCase() === "e" && e.ctrlKey === !0) {
118
+ e.preventDefault(), e.stopPropagation();
119
+ const t = document.body.querySelector(".main-container .ht-container .ht-form .ht-search__bar>.ht-button.shrink");
120
+ if (t && t.style.display === "") t.click();
121
+ else {
122
+ const n = document.body.querySelector(".main-container .ht-container .ht-form .ht-search__bar>.ht-button.expand");
123
+ n.style.display === "" && n.click();
124
+ }
125
+ } else if (e.key.toLowerCase() === "s" && e.ctrlKey === !0) {
126
+ e.preventDefault(), e.stopPropagation();
127
+ const t = document.body.querySelector(".main-container .ht-container .ht-drawer__popup .ht-drawer .ht-drawer__footer>.ht-drawer__footer--inner .ht-button.save");
128
+ if (t && t.style.display === "") t.click();
129
+ else {
130
+ const n = document.body.querySelector(".main-container .ht-container .ht-edit__bar .ht-button.save");
131
+ n && n.style.display === "" && n.click();
132
+ }
133
+ } else if (e.key.toLowerCase() === "n" && e.ctrlKey === !0) {
134
+ e.preventDefault(), e.stopPropagation();
135
+ const t = document.body.querySelector(".main-container .ht-container .ht-table__container .ht-table__bar .ht-button.save");
136
+ if (t && t.style.display === "") t.click();
137
+ else {
138
+ const n = document.body.querySelector(".main-container .ht-container .ht-edit__bar .ht-button.save");
139
+ n && n.style.display === "" && n.click();
140
+ }
141
+ } else if (e.key.toLowerCase() === "=" && e.ctrlKey === !0) {
142
+ e.preventDefault(), e.stopPropagation();
143
+ const t = document.body.querySelector(".main-container .ht-container .ht-table__container .ht-table__search .ht-table__search-input > .el-input__inner");
144
+ t && t.focus();
145
+ } else if (e.key === "Escape") {
146
+ e.preventDefault(), e.stopPropagation();
147
+ const t = document.documentElement.querySelector("body>.el-message-box__wrapper");
148
+ if (t && t.style.display !== "none")
149
+ t.querySelector(".el-message-box .el-message-box__btns button").click();
150
+ else {
151
+ const n = document.documentElement.querySelector("body>.ht-dialog");
152
+ if (n && n.style.display !== "none")
153
+ n.querySelector(".el-dialog__header button").click();
154
+ else {
155
+ const r = document.body.querySelectorAll(".main-container .ht-container .ht-dialog__popup .ht-dialog");
156
+ if (r) {
157
+ for (let l = 0; l < r.length; l++)
158
+ if (r[l].style.display !== "none") {
159
+ const a = r[l].querySelector(".el-dialog__header button");
160
+ if (a && a.style.display !== "none") {
161
+ a.click();
162
+ return;
163
+ }
164
+ }
165
+ }
166
+ const o = document.body.querySelector(".main-container .ht-container .ht-drawer__popup .ht-drawer .el-drawer__header button");
167
+ o && o.style.display !== "none" && o.click();
168
+ }
169
+ }
170
+ }
171
+ }
172
+ }, Wt = ["href"], xt = ["xlink:href"], Tt = /* @__PURE__ */ O({
173
+ name: "GvIcon",
91
174
  // 定义组件名称
92
175
  inheritAttrs: !1,
93
- __name: "GvSvgIcon",
176
+ __name: "GvIcon",
94
177
  props: {
95
178
  iconType: { default: "svg" },
96
- iconClass: {},
179
+ iconName: {},
97
180
  className: { default: "" },
98
181
  size: {}
99
182
  },
100
183
  setup(e) {
101
- const { variables: t } = X(), s = t.namespace, r = F(), o = e, n = h(() => oe(o.iconClass)), a = h(() => o.iconType === "svg" ? `#${s}-icon-${o.iconClass}` : `#${o.iconClass}`), u = h(() => o.className ? "svg-icon " + o.className : "svg-icon"), i = h(() => ({
102
- mask: `url(${o.iconClass}) no-repeat 50% 50%`,
103
- "-webkit-mask": `url(${o.iconClass}) no-repeat 50% 50%`
184
+ const { variables: t } = E(), n = t.namespace, r = rt(), o = e, l = f(() => Nt(o.iconName)), a = f(() => o.iconType === "svg" ? `#${n}-icon-${o.iconName}` : `#${o.iconName}`), s = f(() => o.className ? "svg-icon " + o.className : "svg-icon"), i = f(() => ({
185
+ mask: `url(${o.iconName}) no-repeat 50% 50%`,
186
+ "-webkit-mask": `url(${o.iconName}) no-repeat 50% 50%`
104
187
  }));
105
- return (d, w) => n.value ? (k(), v("div", b({
188
+ return (c, d) => l.value ? (y(), R("div", V({
106
189
  key: 0,
107
190
  style: i.value,
108
191
  class: "svg-external-icon svg-icon"
109
- }, E(r)), null, 16)) : d.iconType === "svg" ? (k(), v("svg", b({
192
+ }, u(r)), null, 16)) : c.iconType === "svg" ? (y(), R("svg", V({
110
193
  key: 1,
111
- class: u.value,
194
+ class: s.value,
112
195
  "aria-hidden": "true"
113
- }, E(r)), [
114
- B("use", { href: a.value }, null, 8, ne)
115
- ], 16)) : (k(), v("svg", b({
196
+ }, u(r)), [
197
+ W("use", { href: a.value }, null, 8, Wt)
198
+ ], 16)) : (y(), R("svg", V({
116
199
  key: 2,
117
- class: u.value,
118
- style: { "font-size": d.size + "px" },
200
+ class: s.value,
201
+ style: { "font-size": c.size + "px" },
119
202
  "aria-hidden": "true"
120
- }, E(r)), [
121
- B("use", { "xlink:href": a.value }, null, 8, ae)
203
+ }, u(r)), [
204
+ W("use", { "xlink:href": a.value }, null, 8, xt)
122
205
  ], 16));
123
206
  }
124
- }), I = /* @__PURE__ */ j(ce, [["__scopeId", "data-v-b1560990"]]), ie = {
207
+ }), H = /* @__PURE__ */ D(Tt, [["__scopeId", "data-v-0fd7e877"]]), kt = {
125
208
  install(e) {
126
209
  var t;
127
- e.component((t = I.name) != null ? t : "GvSvgIcon", I);
128
- }
129
- }, { t: g } = P(), ue = 5e3, le = 6e3, me = 2e3, pe = 5e3, de = () => ({
130
- alert: (r = "No message...", o = "success") => f(void 0, null, function* () {
131
- const n = document.body.querySelector("body>.el-notification");
132
- n && n.remove();
133
- const a = g("common.promptMsg"), u = o === "error" ? le : ue;
134
- W({
135
- title: a,
136
- message: r,
137
- type: o,
138
- duration: u
139
- }), yield x(u);
140
- }),
141
- confirm: (r, o = "warning") => f(void 0, null, function* () {
142
- if (document.body.querySelector("body>.el-confirm")) return;
143
- let n;
144
- const a = !0;
145
- r ? n = r : n = g("common.confirmMsg");
146
- const u = g("common.confirmHint"), i = g("common.confirmOk"), d = g("common.confirmCancel");
147
- return new Promise((w, q) => {
148
- Q.confirm(n, u, {
149
- confirmButtonText: i,
150
- cancelButtonText: d,
151
- type: o,
152
- showCancelButton: a
153
- }).then(() => {
154
- w(!0);
155
- }).catch(() => {
156
- q(!1);
210
+ e.component((t = H.name) != null ? t : "GvIcon", H);
211
+ }
212
+ };
213
+ /*!
214
+ * is-plain-object <https://github.com/jonschlinkert/is-plain-object>
215
+ *
216
+ * Copyright (c) 2014-2017, Jon Schlinkert.
217
+ * Released under the MIT License.
218
+ */
219
+ function me(e) {
220
+ return Object.prototype.toString.call(e) === "[object Object]";
221
+ }
222
+ function Mt(e) {
223
+ var t, n;
224
+ return me(e) === !1 ? !1 : (t = e.constructor, t === void 0 ? !0 : (n = t.prototype, !(me(n) === !1 || n.hasOwnProperty("isPrototypeOf") === !1)));
225
+ }
226
+ function Y() {
227
+ return Y = Object.assign ? Object.assign.bind() : function(e) {
228
+ for (var t = 1; t < arguments.length; t++) {
229
+ var n = arguments[t];
230
+ for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]);
231
+ }
232
+ return e;
233
+ }, Y.apply(this, arguments);
234
+ }
235
+ function De(e, t) {
236
+ if (e == null) return {};
237
+ var n = {};
238
+ for (var r in e) if (Object.prototype.hasOwnProperty.call(e, r)) {
239
+ if (t.indexOf(r) >= 0) continue;
240
+ n[r] = e[r];
241
+ }
242
+ return n;
243
+ }
244
+ const $ = { silent: !1, logLevel: "warn" }, Lt = ["validator"], Ye = Object.prototype, Pe = Ye.toString, zt = Ye.hasOwnProperty, Ce = /^\s*function (\w+)/;
245
+ function ve(e) {
246
+ var t;
247
+ const n = (t = e == null ? void 0 : e.type) !== null && t !== void 0 ? t : e;
248
+ if (n) {
249
+ const r = n.toString().match(Ce);
250
+ return r ? r[1] : "";
251
+ }
252
+ return "";
253
+ }
254
+ const x = Mt;
255
+ function Ue() {
256
+ }
257
+ let h = Ue;
258
+ process.env.NODE_ENV !== "production" && (h = typeof console != "undefined" ? function(t, n = $.logLevel) {
259
+ $.silent === !1 && console[n](`[VueTypes warn]: ${t}`);
260
+ } : Ue);
261
+ const M = (e, t) => zt.call(e, t), Dt = Number.isInteger || function(e) {
262
+ return typeof e == "number" && isFinite(e) && Math.floor(e) === e;
263
+ }, L = Array.isArray || function(e) {
264
+ return Pe.call(e) === "[object Array]";
265
+ }, z = (e) => Pe.call(e) === "[object Function]", Q = (e, t) => x(e) && M(e, "_vueTypes_name") && (!t || e._vueTypes_name === t), Je = (e) => x(e) && (M(e, "type") || ["_vueTypes_name", "validator", "default", "required"].some((t) => M(e, t)));
266
+ function ae(e, t) {
267
+ return Object.defineProperty(e.bind(t), "__original", { value: e });
268
+ }
269
+ function T(e, t, n = !1) {
270
+ let r, o = !0, l = "";
271
+ r = x(e) ? e : { type: e };
272
+ const a = Q(r) ? r._vueTypes_name + " - " : "";
273
+ if (Je(r) && r.type !== null) {
274
+ if (r.type === void 0 || r.type === !0 || !r.required && t == null) return o;
275
+ L(r.type) ? (o = r.type.some((s) => T(s, t, !0) === !0), l = r.type.map((s) => ve(s)).join(" or ")) : (l = ve(r), o = l === "Array" ? L(t) : l === "Object" ? x(t) : l === "String" || l === "Number" || l === "Boolean" || l === "Function" ? function(s) {
276
+ if (s == null) return "";
277
+ const i = s.constructor.toString().match(Ce);
278
+ return i ? i[1].replace(/^Async/, "") : "";
279
+ }(t) === l : t instanceof r.type);
280
+ }
281
+ if (!o) {
282
+ const s = `${a}value "${t}" should be of type "${l}"`;
283
+ return n === !1 ? (h(s), !1) : s;
284
+ }
285
+ if (M(r, "validator") && z(r.validator)) {
286
+ const s = h, i = [];
287
+ if (h = (c) => {
288
+ i.push(c);
289
+ }, o = r.validator(t), h = s, !o) {
290
+ const c = (i.length > 1 ? "* " : "") + i.join(`
291
+ * `);
292
+ return i.length = 0, n === !1 ? (h(c), o) : c;
293
+ }
294
+ }
295
+ return o;
296
+ }
297
+ function b(e, t) {
298
+ const n = Object.defineProperties(t, { _vueTypes_name: { value: e, writable: !0 }, isRequired: { get() {
299
+ return this.required = !0, this;
300
+ } }, def: { value(o) {
301
+ return o === void 0 ? this.type === Boolean || Array.isArray(this.type) && this.type.includes(Boolean) ? void (this.default = void 0) : (M(this, "default") && delete this.default, this) : z(o) || T(this, o, !0) === !0 ? (this.default = L(o) ? () => [...o] : x(o) ? () => Object.assign({}, o) : o, this) : (h(`${this._vueTypes_name} - invalid default value: "${o}"`), this);
302
+ } } }), { validator: r } = n;
303
+ return z(r) && (n.validator = ae(r, n)), n;
304
+ }
305
+ function G(e, t) {
306
+ const n = b(e, t);
307
+ return Object.defineProperty(n, "validate", { value(r) {
308
+ return z(this.validator) && h(`${this._vueTypes_name} - calling .validate() will overwrite the current custom validator function. Validator info:
309
+ ${JSON.stringify(this)}`), this.validator = ae(r, this), this;
310
+ } });
311
+ }
312
+ function he(e, t, n) {
313
+ const r = function(i) {
314
+ const c = {};
315
+ return Object.getOwnPropertyNames(i).forEach((d) => {
316
+ c[d] = Object.getOwnPropertyDescriptor(i, d);
317
+ }), Object.defineProperties({}, c);
318
+ }(t);
319
+ if (r._vueTypes_name = e, !x(n)) return r;
320
+ const { validator: o } = n, l = De(n, Lt);
321
+ if (z(o)) {
322
+ let { validator: i } = r;
323
+ i && (i = (s = (a = i).__original) !== null && s !== void 0 ? s : a), r.validator = ae(i ? function(c) {
324
+ return i.call(this, c) && o.call(this, c);
325
+ } : o, r);
326
+ }
327
+ var a, s;
328
+ return Object.assign(r, l);
329
+ }
330
+ function X(e) {
331
+ return e.replace(/^(?!\s*$)/gm, " ");
332
+ }
333
+ const Yt = () => G("any", {}), Pt = () => G("function", { type: Function }), ye = () => G("boolean", { type: Boolean }), Ct = () => G("string", { type: String }), Ut = () => G("number", { type: Number }), Jt = () => G("array", { type: Array }), Bt = () => G("object", { type: Object }), Ft = () => b("integer", { type: Number, validator(e) {
334
+ const t = Dt(e);
335
+ return t === !1 && h(`integer - "${e}" is not an integer`), t;
336
+ } }), Ht = () => b("symbol", { validator(e) {
337
+ const t = typeof e == "symbol";
338
+ return t === !1 && h(`symbol - invalid value "${e}"`), t;
339
+ } }), Qt = () => Object.defineProperty({ type: null, validator(e) {
340
+ const t = e === null;
341
+ return t === !1 && h("nullable - value should be null"), t;
342
+ } }, "_vueTypes_name", { value: "nullable" });
343
+ function At(e, t = "custom validation failed") {
344
+ if (typeof e != "function") throw new TypeError("[VueTypes error]: You must provide a function as argument");
345
+ return b(e.name || "<<anonymous function>>", { type: null, validator(n) {
346
+ const r = e(n);
347
+ return r || h(`${this._vueTypes_name} - ${t}`), r;
348
+ } });
349
+ }
350
+ function Xt(e) {
351
+ if (!L(e)) throw new TypeError("[VueTypes error]: You must provide an array as argument.");
352
+ const t = `oneOf - value should be one of "${e.map((r) => typeof r == "symbol" ? r.toString() : r).join('", "')}".`, n = { validator(r) {
353
+ const o = e.indexOf(r) !== -1;
354
+ return o || h(t), o;
355
+ } };
356
+ if (e.indexOf(null) === -1) {
357
+ const r = e.reduce((o, l) => {
358
+ if (l != null) {
359
+ const a = l.constructor;
360
+ o.indexOf(a) === -1 && o.push(a);
361
+ }
362
+ return o;
363
+ }, []);
364
+ r.length > 0 && (n.type = r);
365
+ }
366
+ return b("oneOf", n);
367
+ }
368
+ function qt(e) {
369
+ if (!L(e)) throw new TypeError("[VueTypes error]: You must provide an array as argument");
370
+ let t = !1, n = !1, r = [];
371
+ for (let l = 0; l < e.length; l += 1) {
372
+ const a = e[l];
373
+ if (Je(a)) {
374
+ if (z(a.validator) && (t = !0), Q(a, "oneOf") && a.type) {
375
+ r = r.concat(a.type);
376
+ continue;
377
+ }
378
+ if (Q(a, "nullable")) {
379
+ n = !0;
380
+ continue;
381
+ }
382
+ if (a.type === !0 || !a.type) {
383
+ h('oneOfType - invalid usage of "true" and "null" as types.');
384
+ continue;
385
+ }
386
+ r = r.concat(a.type);
387
+ } else r.push(a);
388
+ }
389
+ r = r.filter((l, a) => r.indexOf(l) === a);
390
+ const o = n === !1 && r.length > 0 ? r : null;
391
+ return b("oneOfType", t ? { type: o, validator(l) {
392
+ const a = [], s = e.some((i) => {
393
+ const c = T(i, l, !0);
394
+ return typeof c == "string" && a.push(c), c === !0;
395
+ });
396
+ return s || h(`oneOfType - provided value does not match any of the ${a.length} passed-in validators:
397
+ ${X(a.join(`
398
+ `))}`), s;
399
+ } } : { type: o });
400
+ }
401
+ function Vt(e) {
402
+ return b("arrayOf", { type: Array, validator(t) {
403
+ let n = "";
404
+ const r = t.every((o) => (n = T(e, o, !0), n === !0));
405
+ return r || h(`arrayOf - value validation error:
406
+ ${X(n)}`), r;
407
+ } });
408
+ }
409
+ function Kt(e) {
410
+ return b("instanceOf", { type: e });
411
+ }
412
+ function _t(e) {
413
+ return b("objectOf", { type: Object, validator(t) {
414
+ let n = "";
415
+ const r = Object.keys(t).every((o) => (n = T(e, t[o], !0), n === !0));
416
+ return r || h(`objectOf - value validation error:
417
+ ${X(n)}`), r;
418
+ } });
419
+ }
420
+ function $t(e) {
421
+ const t = Object.keys(e), n = t.filter((o) => {
422
+ var l;
423
+ return !((l = e[o]) === null || l === void 0 || !l.required);
424
+ }), r = b("shape", { type: Object, validator(o) {
425
+ if (!x(o)) return !1;
426
+ const l = Object.keys(o);
427
+ if (n.length > 0 && n.some((a) => l.indexOf(a) === -1)) {
428
+ const a = n.filter((s) => l.indexOf(s) === -1);
429
+ return h(a.length === 1 ? `shape - required property "${a[0]}" is not defined.` : `shape - required properties "${a.join('", "')}" are not defined.`), !1;
430
+ }
431
+ return l.every((a) => {
432
+ if (t.indexOf(a) === -1) return this._vueTypes_isLoose === !0 || (h(`shape - shape definition does not include a "${a}" property. Allowed keys: "${t.join('", "')}".`), !1);
433
+ const s = T(e[a], o[a], !0);
434
+ return typeof s == "string" && h(`shape - "${a}" property validation error:
435
+ ${X(s)}`), s === !0;
436
+ });
437
+ } });
438
+ return Object.defineProperty(r, "_vueTypes_isLoose", { writable: !0, value: !1 }), Object.defineProperty(r, "loose", { get() {
439
+ return this._vueTypes_isLoose = !0, this;
440
+ } }), r;
441
+ }
442
+ const en = ["name", "validate", "getter"], tn = /* @__PURE__ */ ((e) => ((e = class {
443
+ static get any() {
444
+ return Yt();
445
+ }
446
+ static get func() {
447
+ return Pt().def(this.defaults.func);
448
+ }
449
+ static get bool() {
450
+ return this.defaults.bool === void 0 ? ye() : ye().def(this.defaults.bool);
451
+ }
452
+ static get string() {
453
+ return Ct().def(this.defaults.string);
454
+ }
455
+ static get number() {
456
+ return Ut().def(this.defaults.number);
457
+ }
458
+ static get array() {
459
+ return Jt().def(this.defaults.array);
460
+ }
461
+ static get object() {
462
+ return Bt().def(this.defaults.object);
463
+ }
464
+ static get integer() {
465
+ return Ft().def(this.defaults.integer);
466
+ }
467
+ static get symbol() {
468
+ return Ht();
469
+ }
470
+ static get nullable() {
471
+ return Qt();
472
+ }
473
+ static extend(t) {
474
+ if (h("VueTypes.extend is deprecated. Use the ES6+ method instead. See https://dwightjack.github.io/vue-types/advanced/extending-vue-types.html#extending-namespaced-validators-in-es6 for details."), L(t)) return t.forEach((i) => this.extend(i)), this;
475
+ const { name: n, validate: r = !1, getter: o = !1 } = t, l = De(t, en);
476
+ if (M(this, n)) throw new TypeError(`[VueTypes error]: Type "${n}" already defined`);
477
+ const { type: a } = l;
478
+ if (Q(a)) return delete l.type, Object.defineProperty(this, n, o ? { get: () => he(n, a, l) } : { value(...i) {
479
+ const c = he(n, a, l);
480
+ return c.validator && (c.validator = c.validator.bind(c, ...i)), c;
481
+ } });
482
+ let s;
483
+ return s = o ? { get() {
484
+ const i = Object.assign({}, l);
485
+ return r ? G(n, i) : b(n, i);
486
+ }, enumerable: !0 } : { value(...i) {
487
+ const c = Object.assign({}, l);
488
+ let d;
489
+ return d = r ? G(n, c) : b(n, c), c.validator && (d.validator = c.validator.bind(d, ...i)), d;
490
+ }, enumerable: !0 }, Object.defineProperty(this, n, s);
491
+ }
492
+ }).defaults = {}, e.sensibleDefaults = void 0, e.config = $, e.custom = At, e.oneOf = Xt, e.instanceOf = Kt, e.oneOfType = qt, e.arrayOf = Vt, e.objectOf = _t, e.shape = $t, e.utils = { validate: (t, n) => T(n, t, !0) === !0, toType: (t, n, r = !1) => r ? G(t, n) : b(t, n) }, e))();
493
+ function Be(e = { func: () => {
494
+ }, bool: !0, string: "", number: 0, array: () => [], object: () => ({}), integer: 0 }) {
495
+ var t;
496
+ return (t = class extends tn {
497
+ static get sensibleDefaults() {
498
+ return Y({}, this.defaults);
499
+ }
500
+ static set sensibleDefaults(n) {
501
+ this.defaults = n !== !1 ? Y({}, n !== !0 ? n : e) : {};
502
+ }
503
+ }).defaults = Y({}, e), t;
504
+ }
505
+ class yr extends Be() {
506
+ }
507
+ const nn = Be({
508
+ func: void 0,
509
+ bool: void 0,
510
+ string: void 0,
511
+ number: void 0,
512
+ object: void 0,
513
+ integer: void 0
514
+ });
515
+ class se extends nn {
516
+ static get style() {
517
+ return G("style", {
518
+ type: [String, Object]
519
+ });
520
+ }
521
+ }
522
+ const be = /* @__PURE__ */ O({
523
+ name: "GvLangSelect",
524
+ // 定义组件名称
525
+ inheritAttrs: !0,
526
+ __name: "GvLangSelect",
527
+ props: {
528
+ className: se.string.def("")
529
+ },
530
+ setup(e) {
531
+ const { getPrefixCls: t } = E(), n = t("lang-select"), r = wt(), o = f(() => r.getLocaleMap), l = f(() => r.getCurrentLocale), a = oe(), s = (i) => Z(null, null, function* () {
532
+ if (i === u(l).lang) return;
533
+ const { switchLocale: c } = Rt();
534
+ yield c(i), a.go(0);
535
+ });
536
+ return (i, c) => {
537
+ const d = te("GvIcon");
538
+ return y(), C(u(dt), {
539
+ class: I([u(n), "international"]),
540
+ trigger: "click",
541
+ onCommand: s
542
+ }, {
543
+ dropdown: k(() => [
544
+ v(u(pt), null, {
545
+ default: k(() => [
546
+ (y(!0), R(ne, null, ot(o.value, (S) => (y(), C(u(ft), {
547
+ key: S.lang,
548
+ command: S.lang
549
+ }, {
550
+ default: k(() => [
551
+ Ee(Ne(S.name), 1)
552
+ ]),
553
+ _: 2
554
+ }, 1032, ["command"]))), 128))
555
+ ]),
556
+ _: 1
557
+ })
558
+ ]),
559
+ default: k(() => [
560
+ W("div", null, [
561
+ v(d, {
562
+ "class-name": `international-icon ${e.className}`,
563
+ "icon-name": "language"
564
+ }, null, 8, ["class-name"])
565
+ ])
566
+ ]),
567
+ _: 1
568
+ }, 8, ["class"]);
569
+ };
570
+ }
571
+ }), rn = {
572
+ install(e) {
573
+ var t;
574
+ e.component((t = be.name) != null ? t : "GvLangSelect", be);
575
+ }
576
+ }, ge = /* @__PURE__ */ O({
577
+ name: "GvBacktop",
578
+ // 定义组件名称
579
+ inheritAttrs: !0,
580
+ __name: "GvBacktop",
581
+ setup(e) {
582
+ const { getPrefixCls: t, variables: n } = E(), r = t("backtop");
583
+ return (o, l) => (y(), C(u(mt), {
584
+ class: I(u(r)),
585
+ target: `.${u(n).namespace}-layout-content-scrollbar .${u(n).elNamespace}-scrollbar__wrap`
586
+ }, null, 8, ["class", "target"]));
587
+ }
588
+ }), on = {
589
+ install(e) {
590
+ var t;
591
+ e.component((t = ge.name) != null ? t : "GvBacktop", ge);
592
+ }
593
+ }, Fe = (e, t = "") => {
594
+ var r;
595
+ const n = [];
596
+ for (const o of e) {
597
+ const l = o == null ? void 0 : o.meta;
598
+ if (l != null && l.hidden && !l.canTo) continue;
599
+ const a = !(l != null && l.alwaysShow) && ((r = o.children) == null ? void 0 : r.length) === 1 ? U(N({}, o.children[0]), { path: F(o.path, o.children[0].path) }) : N({}, o);
600
+ a.path = F(t, a.path), a.children && (a.children = Fe(a.children, a.path)), a && n.push(a);
601
+ }
602
+ return n;
603
+ }, ln = {
604
+ id: "id",
605
+ children: "children",
606
+ pid: "pid"
607
+ }, He = (e) => Object.assign({}, ln, e), an = (e, t = {}) => {
608
+ t = He(t);
609
+ const { children: n } = t, r = [...e];
610
+ for (let o = 0; o < r.length; o++)
611
+ r[o][n] && r.splice(o + 1, 0, ...r[o][n]);
612
+ return r;
613
+ }, sn = (e, t, n = {}) => {
614
+ n = He(n);
615
+ const r = n.children;
616
+ function o(l) {
617
+ return l.map((a) => N({}, a)).filter((a) => (a[r] = a[r] && o(a[r]), t(a) || a[r] && a[r].length));
618
+ }
619
+ return o(e);
620
+ };
621
+ function cn(e) {
622
+ return typeof e == "function" || Object.prototype.toString.call(e) === "[object Object]" && !We(e);
623
+ }
624
+ const {
625
+ getPrefixCls: un
626
+ } = E(), dn = un("breadcrumb"), pn = /* @__PURE__ */ O({
627
+ name: "GvBreadcrumb",
628
+ setup() {
629
+ const e = A(), t = Me(), n = f(() => e.getShowBreadcrumbIcon), {
630
+ currentRoute: r
631
+ } = oe(), {
632
+ t: o
633
+ } = ke(), l = re([]), a = f(() => {
634
+ const c = t.getRouters;
635
+ return Fe(c);
636
+ }), s = () => {
637
+ const c = r.value.matched.slice(-1)[0].path;
638
+ l.value = sn(u(a), (d) => d.path === c);
639
+ }, i = () => an(u(l)).map((d) => {
640
+ const S = !d.redirect || d.redirect === "noredirect", g = d.meta;
641
+ return v(ht, {
642
+ to: {
643
+ path: S ? "" : d.path
644
+ },
645
+ key: d.name
646
+ }, {
647
+ default: () => {
648
+ var j, m;
649
+ return [g != null && g.icon && n.value ? v(ne, null, [v(H, {
650
+ iconName: g.icon,
651
+ className: "mr-[5px]"
652
+ }, null), " ", o(((j = d == null ? void 0 : d.meta) == null ? void 0 : j.title) || "")]) : o(((m = d == null ? void 0 : d.meta) == null ? void 0 : m.title) || "")];
653
+ }
157
654
  });
158
655
  });
159
- }),
160
- message: (r = "No message...", o = "warning", n = !1) => f(void 0, null, function* () {
161
- if (n === !1 && (document.body.querySelector("body>.el-message") || document.body.querySelector("body>.el-notification")))
162
- return;
163
- const a = o === "error" ? pe : me;
164
- Z({
165
- message: r,
166
- showClose: !0,
167
- type: o,
168
- duration: a
169
- }), yield x(a);
170
- })
171
- }), U = "abcdefgabcdefg12", xe = (e) => {
172
- const t = p.enc.Utf8.parse(U);
173
- let s;
174
- typeof e == "object" ? s = JSON.stringify(e) : s = e;
175
- const r = p.enc.Utf8.parse(s);
176
- return p.AES.encrypt(r, t, { mode: p.mode.ECB, padding: p.pad.Pkcs7 }).toString();
177
- }, Ie = (e) => {
178
- const t = p.enc.Utf8.parse(U), s = p.AES.decrypt(e, t, { mode: p.mode.ECB, padding: p.pad.Pkcs7 });
179
- return p.enc.Utf8.stringify(s).toString();
180
- }, Oe = (e) => {
181
- const t = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
182
- let s = "";
183
- for (let r = 0; r < e; r++) {
184
- const o = Math.floor(Math.random() * t.length);
185
- s += t.substring(o, o + 1);
186
- }
187
- return s;
188
- }, { t: c } = P(), { alert: m } = de(), l = ee(), G = te(), fe = "https://api.example.com", ge = void 0, y = {
189
- 200: c("http.responseDataSuccess"),
190
- 201: c("http.dataOpSuccess"),
191
- 202: c("http.requestBackground"),
192
- 204: c("http.dataDelSuccess"),
193
- 400: c("http.responseError"),
194
- 401: c("http.noPerm"),
195
- 403: c("http.authorizedUserForbidden"),
196
- 404: c("http.targetRequestError"),
197
- 406: c("http.requestFormatError"),
198
- 410: c("http.resourceDel"),
199
- 422: c("http.createObjError"),
200
- 500: c("http.serverError"),
201
- 502: c("http.gatewayError"),
202
- 503: c("http.serviceError"),
203
- 504: c("http.gatewayTimeOut"),
204
- default: c("http.networkLinkError")
205
- }, he = [23001, 23002, 23003, 23007, 23008, 1999], ye = () => {
206
- var e, t, s;
656
+ return P(() => r.value, (c) => {
657
+ c.path.startsWith("/redirect/") || s();
658
+ }, {
659
+ immediate: !0
660
+ }), () => {
661
+ let c;
662
+ return v(vt, {
663
+ separator: "/",
664
+ class: `${dn} flex items-center h-full ml-[10px]`
665
+ }, {
666
+ default: () => [v(lt, {
667
+ appear: !0,
668
+ "enter-active-class": "animate__animated animate__fadeInRight"
669
+ }, cn(c = i()) ? c : {
670
+ default: () => [c]
671
+ })]
672
+ });
673
+ };
674
+ }
675
+ }), Se = /* @__PURE__ */ D(pn, [["__scopeId", "data-v-4c06779c"]]), fn = {
676
+ install(e) {
677
+ var t;
678
+ e.component((t = Se.name) != null ? t : "GvBreadCrumb", Se);
679
+ }
680
+ };
681
+ /*! Element Plus Icons Vue v2.3.1 */
682
+ var mn = /* @__PURE__ */ O({
683
+ name: "Expand",
684
+ __name: "expand",
685
+ setup(e) {
686
+ return (t, n) => (y(), R("svg", {
687
+ xmlns: "http://www.w3.org/2000/svg",
688
+ viewBox: "0 0 1024 1024"
689
+ }, [
690
+ W("path", {
691
+ fill: "currentColor",
692
+ d: "M128 192h768v128H128zm0 256h512v128H128zm0 256h768v128H128zm576-352 192 160-192 128z"
693
+ })
694
+ ]));
695
+ }
696
+ }), vn = mn, hn = /* @__PURE__ */ O({
697
+ name: "Fold",
698
+ __name: "fold",
699
+ setup(e) {
700
+ return (t, n) => (y(), R("svg", {
701
+ xmlns: "http://www.w3.org/2000/svg",
702
+ viewBox: "0 0 1024 1024"
703
+ }, [
704
+ W("path", {
705
+ fill: "currentColor",
706
+ d: "M896 192H128v128h768zm0 256H384v128h512zm0 256H128v128h768zM320 384 128 512l192 128z"
707
+ })
708
+ ]));
709
+ }
710
+ }), yn = hn;
711
+ const bn = { class: "trigger" }, gn = /* @__PURE__ */ O({
712
+ name: "GvHamburger",
713
+ // 定义组件名称
714
+ inheritAttrs: !0,
715
+ __name: "GvHamburger",
716
+ props: {
717
+ color: se.string.def("")
718
+ },
719
+ setup(e) {
720
+ const { getPrefixCls: t } = E(), n = t("hamburger"), r = A(), o = f(() => r.getCollapseMenus), l = () => {
721
+ const a = u(o);
722
+ r.setCollapseMenus(!a);
723
+ };
724
+ return (a, s) => (y(), R("div", {
725
+ class: I(u(n)),
726
+ onClick: l
727
+ }, [
728
+ W("div", bn, [
729
+ v(u(yt), {
730
+ size: 20,
731
+ class: I(`${u(n)}__icon`)
732
+ }, {
733
+ default: k(() => [
734
+ o.value ? (y(), C(u(yn), {
735
+ key: 1,
736
+ class: I(`${u(n)}__icon`),
737
+ style: pe({ color: e.color })
738
+ }, null, 8, ["class", "style"])) : (y(), C(u(vn), {
739
+ key: 0,
740
+ class: I(`${u(n)}__icon`),
741
+ style: pe({ color: e.color })
742
+ }, null, 8, ["class", "style"]))
743
+ ]),
744
+ _: 1
745
+ }, 8, ["class"])
746
+ ])
747
+ ], 2));
748
+ }
749
+ }), je = /* @__PURE__ */ D(gn, [["__scopeId", "data-v-335923db"]]), Sn = {
750
+ install(e) {
751
+ var t;
752
+ e.component((t = je.name) != null ? t : "GvHamburger", je);
753
+ }
754
+ };
755
+ function Qe(e) {
756
+ return at() ? (st(e), !0) : !1;
757
+ }
758
+ const Ae = typeof window != "undefined" && typeof document != "undefined";
759
+ typeof WorkerGlobalScope != "undefined" && globalThis instanceof WorkerGlobalScope;
760
+ const jn = Object.prototype.toString, Gn = (e) => jn.call(e) === "[object Object]";
761
+ function K(e) {
762
+ return Array.isArray(e) ? e : [e];
763
+ }
764
+ function On(e, t, n) {
765
+ return P(
766
+ e,
767
+ t,
768
+ U(N({}, n), {
769
+ immediate: !0
770
+ })
771
+ );
772
+ }
773
+ const Zn = Ae ? window : void 0, wn = Ae ? window.document : void 0;
774
+ function ee(e) {
775
+ var t;
776
+ const n = B(e);
777
+ return (t = n == null ? void 0 : n.$el) != null ? t : n;
778
+ }
779
+ function Ge(...e) {
780
+ const t = [], n = () => {
781
+ t.forEach((s) => s()), t.length = 0;
782
+ }, r = (s, i, c, d) => (s.addEventListener(i, c, d), () => s.removeEventListener(i, c, d)), o = f(() => {
783
+ const s = K(B(e[0])).filter((i) => i != null);
784
+ return s.every((i) => typeof i != "string") ? s : void 0;
785
+ }), l = On(
786
+ () => {
787
+ var s, i;
788
+ return [
789
+ (i = (s = o.value) == null ? void 0 : s.map((c) => ee(c))) != null ? i : [Zn].filter((c) => c != null),
790
+ K(B(o.value ? e[1] : e[0])),
791
+ K(u(o.value ? e[2] : e[1])),
792
+ // @ts-expect-error - TypeScript gets the correct types, but somehow still complains
793
+ B(o.value ? e[3] : e[2])
794
+ ];
795
+ },
796
+ ([s, i, c, d]) => {
797
+ if (n(), !(s != null && s.length) || !(i != null && i.length) || !(c != null && c.length))
798
+ return;
799
+ const S = Gn(d) ? N({}, d) : d;
800
+ t.push(
801
+ ...s.flatMap(
802
+ (g) => i.flatMap(
803
+ (j) => c.map((m) => r(g, j, m, S))
804
+ )
805
+ )
806
+ );
807
+ },
808
+ { flush: "post" }
809
+ ), a = () => {
810
+ l(), n();
811
+ };
812
+ return Qe(n), a;
813
+ }
814
+ function Rn() {
815
+ const e = xe(!1), t = it();
816
+ return t && Te(() => {
817
+ e.value = !0;
818
+ }, t), e;
819
+ }
820
+ function In(e) {
821
+ const t = Rn();
822
+ return f(() => (t.value, !!e()));
823
+ }
824
+ const Oe = [
825
+ "fullscreenchange",
826
+ "webkitfullscreenchange",
827
+ "webkitendfullscreen",
828
+ "mozfullscreenchange",
829
+ "MSFullscreenChange"
830
+ ];
831
+ function En(e, t = {}) {
832
+ const {
833
+ document: n = wn,
834
+ autoExit: r = !1
835
+ } = t, o = f(() => {
836
+ var p;
837
+ return (p = ee(e)) != null ? p : n == null ? void 0 : n.documentElement;
838
+ }), l = xe(!1), a = f(() => [
839
+ "requestFullscreen",
840
+ "webkitRequestFullscreen",
841
+ "webkitEnterFullscreen",
842
+ "webkitEnterFullScreen",
843
+ "webkitRequestFullScreen",
844
+ "mozRequestFullScreen",
845
+ "msRequestFullscreen"
846
+ ].find((p) => n && p in n || o.value && p in o.value)), s = f(() => [
847
+ "exitFullscreen",
848
+ "webkitExitFullscreen",
849
+ "webkitExitFullScreen",
850
+ "webkitCancelFullScreen",
851
+ "mozCancelFullScreen",
852
+ "msExitFullscreen"
853
+ ].find((p) => n && p in n || o.value && p in o.value)), i = f(() => [
854
+ "fullScreen",
855
+ "webkitIsFullScreen",
856
+ "webkitDisplayingFullscreen",
857
+ "mozFullScreen",
858
+ "msFullscreenElement"
859
+ ].find((p) => n && p in n || o.value && p in o.value)), c = [
860
+ "fullscreenElement",
861
+ "webkitFullscreenElement",
862
+ "mozFullScreenElement",
863
+ "msFullscreenElement"
864
+ ].find((p) => n && p in n), d = In(() => o.value && n && a.value !== void 0 && s.value !== void 0 && i.value !== void 0), S = () => c ? (n == null ? void 0 : n[c]) === o.value : !1, g = () => {
865
+ if (i.value) {
866
+ if (n && n[i.value] != null)
867
+ return n[i.value];
868
+ {
869
+ const p = o.value;
870
+ if ((p == null ? void 0 : p[i.value]) != null)
871
+ return !!p[i.value];
872
+ }
873
+ }
874
+ return !1;
875
+ };
876
+ function j() {
877
+ return Z(this, null, function* () {
878
+ if (!(!d.value || !l.value)) {
879
+ if (s.value)
880
+ if ((n == null ? void 0 : n[s.value]) != null)
881
+ yield n[s.value]();
882
+ else {
883
+ const p = o.value;
884
+ (p == null ? void 0 : p[s.value]) != null && (yield p[s.value]());
885
+ }
886
+ l.value = !1;
887
+ }
888
+ });
889
+ }
890
+ function m() {
891
+ return Z(this, null, function* () {
892
+ if (!d.value || l.value)
893
+ return;
894
+ g() && (yield j());
895
+ const p = o.value;
896
+ a.value && (p == null ? void 0 : p[a.value]) != null && (yield p[a.value](), l.value = !0);
897
+ });
898
+ }
899
+ function q() {
900
+ return Z(this, null, function* () {
901
+ yield l.value ? j() : m();
902
+ });
903
+ }
904
+ const ie = () => {
905
+ const p = g();
906
+ (!p || p && S()) && (l.value = p);
907
+ }, ce = { capture: !1, passive: !0 };
908
+ return Ge(n, Oe, ie, ce), Ge(() => ee(o), Oe, ie, ce), r && Qe(j), {
909
+ isSupported: d,
910
+ isFullscreen: l,
911
+ enter: m,
912
+ exit: j,
913
+ toggle: q
914
+ };
915
+ }
916
+ const Nn = /* @__PURE__ */ O({
917
+ __name: "GvScreenFull",
918
+ props: {
919
+ color: se.string.def("")
920
+ },
921
+ setup(e) {
922
+ const { getPrefixCls: t } = E(), n = t("screenfull"), { toggle: r, isFullscreen: o } = En(), l = () => {
923
+ r();
924
+ };
925
+ return (a, s) => {
926
+ const i = te("GvIcon");
927
+ return y(), R("div", {
928
+ class: I(u(n)),
929
+ onClick: l
930
+ }, [
931
+ v(i, {
932
+ "icon-name": u(o) ? "exit-fullscreen" : "fullscreen"
933
+ }, null, 8, ["icon-name"])
934
+ ], 2);
935
+ };
936
+ }
937
+ }), Ze = /* @__PURE__ */ D(Nn, [["__scopeId", "data-v-c0ae644d"]]), Wn = {
938
+ install(e) {
939
+ var t;
940
+ e.component((t = Ze.name) != null ? t : "GvScreenFull", Ze);
941
+ }
942
+ }, xn = (e, t = []) => {
943
+ const n = re(), r = t.filter((o) => {
944
+ var a;
945
+ return ((a = o.meta) != null ? a : {}).hidden ? !1 : (n.value = o, !0);
946
+ });
947
+ return r.length === 1 ? {
948
+ oneShowingChild: !0,
949
+ onlyOneChild: u(n)
950
+ } : r.length ? {
951
+ oneShowingChild: !1,
952
+ onlyOneChild: u(n)
953
+ } : (n.value = U(N({}, e), { path: "", noShowingChildren: !0 }), {
954
+ oneShowingChild: !0,
955
+ onlyOneChild: u(n)
956
+ });
957
+ }, Tn = () => ({
958
+ renderMenuTitle: (t) => {
959
+ const {
960
+ t: n
961
+ } = ke();
962
+ if (!t)
963
+ return v("span", {
964
+ class: "v-menu__title overflow-hidden overflow-ellipsis whitespace-nowrap"
965
+ }, [Ee("No Title")]);
966
+ const {
967
+ title: r = "Please set title",
968
+ icon: o
969
+ } = t;
970
+ return o ? v(ne, null, [v(H, {
971
+ iconName: t.icon || ""
972
+ }, null), v("span", {
973
+ class: "v-menu__title overflow-hidden overflow-ellipsis whitespace-nowrap"
974
+ }, [n(r)])]) : v("span", {
975
+ class: "v-menu__title overflow-hidden overflow-ellipsis whitespace-nowrap"
976
+ }, [n(r)]);
977
+ }
978
+ }), {
979
+ getPrefixCls: kn
980
+ } = E(), Mn = kn("submenu"), {
981
+ renderMenuTitle: we
982
+ } = Tn(), Ln = (e) => {
983
+ const t = (n, r = "/") => n.filter((o) => {
984
+ var l;
985
+ return !((l = o.meta) != null && l.hidden);
986
+ }).map((o) => {
987
+ var c;
988
+ const l = (c = o.meta) != null ? c : {}, {
989
+ oneShowingChild: a,
990
+ onlyOneChild: s
991
+ } = xn(o, o.children), i = le(o.path) ? o.path : F(r, o.path);
992
+ return a && (!(s != null && s.children) || s != null && s.noShowingChildren) && !(l != null && l.alwaysShow) ? v(bt, {
993
+ index: s ? F(i, s.path) : i
994
+ }, {
995
+ default: () => we(s ? s == null ? void 0 : s.meta : l)
996
+ }) : v(gt, {
997
+ index: i,
998
+ teleported: !0,
999
+ popperClass: u(e) === "vertical" ? `${Mn}-popper--vertical` : ""
1000
+ }, {
1001
+ title: () => we(l),
1002
+ default: () => t(o.children, i)
1003
+ });
1004
+ });
207
1005
  return {
208
- Authorization: l.getToken,
209
- AuthorizationRefresh: l.getRefreshToken,
210
- useraccount: l.getLoginAccount,
211
- userid: l.getUserId,
212
- deptid: ((e = l.getUserInfo) == null ? void 0 : e.deptid) || -1,
213
- oemcid: ((t = l.getUserInfo) == null ? void 0 : t.oemcid) || 1,
214
- comid: ((s = l.getUserInfo) == null ? void 0 : s.comid) || 1,
215
- loginuuid: l.getLoginUuid,
216
- language: l.getLanguage,
217
- userAgent: "PC"
1006
+ renderMenuItem: t
218
1007
  };
219
- }, A = (e) => {
220
- const { response: t = {} } = e;
221
- let s = 0;
222
- try {
223
- s = t.status;
224
- } catch (r) {
225
- if (console.error(r), e.toString().indexOf("TypeError:") !== -1)
226
- return m(c("http.reqParamError"), "error"), Promise.reject(e);
227
- if (e.toString().indexOf("Error: timeout") !== -1)
228
- return m(`${c("http.networkTimeout")} ${t.status || ""}`, "error"), Promise.reject(e);
229
- if (e.toString().indexOf("Error: Network Error") !== -1)
230
- return m(`${c("http.networkError")} ${t.status || ""}`, "error"), Promise.reject(e);
231
- }
232
- if (t.data && t.data.status === "fail") {
233
- let r = "";
234
- t.status !== 400 && (r = y[s]), m(`[${t.data.code || "[]"}] - ${r || t.data.message}`, "warning");
235
- } else if (s) {
236
- const r = y[s] || t.statusText || y.default;
237
- switch (s) {
238
- case 401:
239
- m(`[${s || "[]"}] - ${r}`, "error");
240
- break;
241
- case 403:
242
- G.push({ path: "/401" });
243
- break;
244
- default:
245
- m(`[${s || "[]"}] - ${r}`, "error");
246
- break;
1008
+ };
1009
+ function zn(e) {
1010
+ return typeof e == "function" || Object.prototype.toString.call(e) === "[object Object]" && !We(e);
1011
+ }
1012
+ const {
1013
+ getPrefixCls: Dn
1014
+ } = E(), J = Dn("sidebar"), Yn = /* @__PURE__ */ O({
1015
+ name: "GvSidebar",
1016
+ props: {
1017
+ menuSelect: {
1018
+ type: Function,
1019
+ default: void 0
247
1020
  }
248
- } else m(`${c("http.noResponse")} ${t.status || ""}`, "error");
249
- return Promise.reject(e);
250
- }, L = Y.create({
251
- baseURL: process.env.NODE_ENV === "production" ? "" : fe,
252
- // api 的 base_url
253
- timeout: ge,
254
- // 请求超时时间
255
- withCredentials: !1
256
- // paramsSerializer: params => {
257
- // // 序列化 GET 请求参数 -> a: [1, 2] => a=1&a=2
258
- // return qs.stringify(params, { arrayFormat: 'repeat' });
259
- // }
260
- });
261
- L.interceptors.request.use((e) => (e.headers = Object.assign(e.headers, ye()), e.method === "post" && typeof e.data != "object" && (e.headers.post["Content-Type"] = "application/json"), e.params = _(C({}, e.params || {}), {
262
- _t: +(/* @__PURE__ */ new Date()).getTime()
263
- }), e), A);
264
- L.interceptors.response.use((e) => {
265
- const { headers: t, data: s, statusText: r, status: o } = e, { datas: n } = s;
266
- let a;
267
- const u = t.newtoken;
268
- if (u && l.setRefreshToken(u), o !== 200) {
269
- if (he.includes(n.code)) {
270
- try {
271
- a = JSON.parse(n.message);
272
- } catch (i) {
273
- console.error(i), a = { error: n.message };
1021
+ },
1022
+ setup(e) {
1023
+ const t = A(), n = f(() => t.getLayout), {
1024
+ push: r,
1025
+ currentRoute: o
1026
+ } = oe(), l = Me(), a = f(() => ["default", "topLeft", "cutMenu"].includes(u(n)) ? "vertical" : "horizontal"), s = f(() => u(n) === "cutMenu" ? l.getMenuTabRouters : l.getRouters), i = f(() => t.getCollapseMenus), c = f(() => t.getLeftMenuUniqueOpened), d = f(() => {
1027
+ const {
1028
+ meta: m,
1029
+ path: q
1030
+ } = u(o);
1031
+ return m.activeMenu ? m.activeMenu : q;
1032
+ }), S = (m) => {
1033
+ e.menuSelect && e.menuSelect(m), le(m) ? window.open(m) : r(m);
1034
+ }, g = () => v(jt, {
1035
+ defaultActive: u(d),
1036
+ mode: u(a),
1037
+ collapse: u(n) === "top" || u(n) === "cutMenu" ? !1 : u(i),
1038
+ uniqueOpened: u(n) === "top" ? !1 : u(c),
1039
+ backgroundColor: "var(--left-menu-bg-color)",
1040
+ textColor: "var(--left-menu-text-color)",
1041
+ activeTextColor: "var(--left-menu-text-active-color)",
1042
+ popperClass: u(a) === "vertical" ? `${J}-popper--vertical` : `${J}-popper--horizontal`,
1043
+ onSelect: S
1044
+ }, {
1045
+ default: () => {
1046
+ const {
1047
+ renderMenuItem: m
1048
+ } = Ln(a);
1049
+ return m(u(s));
1050
+ }
1051
+ }), j = () => {
1052
+ let m;
1053
+ return u(n) === "top" ? g() : v(St, null, zn(m = g()) ? m : {
1054
+ default: () => [m]
1055
+ });
1056
+ };
1057
+ return () => v("div", {
1058
+ id: "gv-sidebar",
1059
+ class: [`${J} ${J}__${u(a)}`, "h-[100%] overflow-hidden flex-col bg-[var(--left-menu-bg-color)]", {
1060
+ "w-[var(--left-menu-min-width)]": u(i) && u(n) !== "cutMenu",
1061
+ "w-[var(--left-menu-max-width)]": !u(i) && u(n) !== "cutMenu"
1062
+ }]
1063
+ }, [j()]);
1064
+ }
1065
+ }), Re = /* @__PURE__ */ D(Yn, [["__scopeId", "data-v-99854e48"]]), Pn = {
1066
+ install(e) {
1067
+ var t;
1068
+ e.component((t = Re.name) != null ? t : "GvSidebar", Re);
1069
+ }
1070
+ }, Cn = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFYAAABaCAYAAAAilKGMAAAACXBIWXMAAAZ2AAAGdgEpJm+AAAAKDGlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgOS4xLWMwMDIgNzkuYTZhNjM5NjhhLCAyMDI0LzAzLzA2LTExOjUyOjA1ICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIiB4bWxuczp0aWZmPSJodHRwOi8vbnMuYWRvYmUuY29tL3RpZmYvMS4wLyIgeG1sbnM6ZXhpZj0iaHR0cDovL25zLmFkb2JlLmNvbS9leGlmLzEuMC8iIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1wTU06RG9jdW1lbnRJRD0iYWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOmQxNjAxODBkLTVlZmUtZjc0MS1iY2RhLTdjMDBjNTc4ZTVkMCIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo1ZDE1ZDUxNC05YzkxLTQwNTYtYTgzNS05YjZlYmRlOTQ5ZmEiIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0iRTU1OUFCRUUwQ0NBMTg5NjNBREJDRTREOTQ1Q0M5MDkiIGRjOmZvcm1hdD0iaW1hZ2UvcG5nIiBwaG90b3Nob3A6Q29sb3JNb2RlPSIzIiB0aWZmOkltYWdlV2lkdGg9IjYzNiIgdGlmZjpJbWFnZUxlbmd0aD0iNjYwIiB0aWZmOlBob3RvbWV0cmljSW50ZXJwcmV0YXRpb249IjIiIHRpZmY6U2FtcGxlc1BlclBpeGVsPSIzIiB0aWZmOlhSZXNvbHV0aW9uPSIxNDQvMSIgdGlmZjpZUmVzb2x1dGlvbj0iMTQ0LzEiIHRpZmY6UmVzb2x1dGlvblVuaXQ9IjIiIGV4aWY6RXhpZlZlcnNpb249IjAyMzEiIGV4aWY6Q29sb3JTcGFjZT0iNjU1MzUiIGV4aWY6UGl4ZWxYRGltZW5zaW9uPSI2MzYiIGV4aWY6UGl4ZWxZRGltZW5zaW9uPSI2NjAiIHhtcDpDcmVhdGVEYXRlPSIyMDI0LTExLTI5VDEyOjQ4OjMzKzA4OjAwIiB4bXA6TW9kaWZ5RGF0ZT0iMjAyNC0xMS0yOVQxMjo1MToyNCswODowMCIgeG1wOk1ldGFkYXRhRGF0ZT0iMjAyNC0xMS0yOVQxMjo1MToyNCswODowMCI+IDx4bXBNTTpIaXN0b3J5PiA8cmRmOlNlcT4gPHJkZjpsaSBzdEV2dDphY3Rpb249InNhdmVkIiBzdEV2dDppbnN0YW5jZUlEPSJ4bXAuaWlkOmZiNWYzMGIyLWJmODgtNDQ3My1iMDk0LWIzMGUzYjkyMzczZiIgc3RFdnQ6d2hlbj0iMjAyNC0xMS0yOVQxMjo0OToxNyswODowMCIgc3RFdnQ6c29mdHdhcmVBZ2VudD0iQWRvYmUgUGhvdG9zaG9wIDI1LjExIChNYWNpbnRvc2gpIiBzdEV2dDpjaGFuZ2VkPSIvIi8+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJjb252ZXJ0ZWQiIHN0RXZ0OnBhcmFtZXRlcnM9ImZyb20gaW1hZ2UvanBlZyB0byBpbWFnZS9wbmciLz4gPHJkZjpsaSBzdEV2dDphY3Rpb249ImRlcml2ZWQiIHN0RXZ0OnBhcmFtZXRlcnM9ImNvbnZlcnRlZCBmcm9tIGltYWdlL2pwZWcgdG8gaW1hZ2UvcG5nIi8+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJzYXZlZCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDo4MDg4Y2NiMi05NDFlLTQ1YmItOGZhZi02YjA5Mjc0M2Q0MDciIHN0RXZ0OndoZW49IjIwMjQtMTEtMjlUMTI6NDk6MTcrMDg6MDAiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCAyNS4xMSAoTWFjaW50b3NoKSIgc3RFdnQ6Y2hhbmdlZD0iLyIvPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0ic2F2ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6NWQxNWQ1MTQtOWM5MS00MDU2LWE4MzUtOWI2ZWJkZTk0OWZhIiBzdEV2dDp3aGVuPSIyMDI0LTExLTI5VDEyOjUxOjI0KzA4OjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgMjUuMTEgKE1hY2ludG9zaCkiIHN0RXZ0OmNoYW5nZWQ9Ii8iLz4gPC9yZGY6U2VxPiA8L3htcE1NOkhpc3Rvcnk+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOmZiNWYzMGIyLWJmODgtNDQ3My1iMDk0LWIzMGUzYjkyMzczZiIgc3RSZWY6ZG9jdW1lbnRJRD0iRTU1OUFCRUUwQ0NBMTg5NjNBREJDRTREOTQ1Q0M5MDkiIHN0UmVmOm9yaWdpbmFsRG9jdW1lbnRJRD0iRTU1OUFCRUUwQ0NBMTg5NjNBREJDRTREOTQ1Q0M5MDkiLz4gPHRpZmY6Qml0c1BlclNhbXBsZT4gPHJkZjpTZXE+IDxyZGY6bGk+ODwvcmRmOmxpPiA8cmRmOmxpPjg8L3JkZjpsaT4gPHJkZjpsaT44PC9yZGY6bGk+IDwvcmRmOlNlcT4gPC90aWZmOkJpdHNQZXJTYW1wbGU+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+WfjB/QAAOnxJREFUeJztvXe4XFd19//Z+9Tp5famq2rJVnE3trGxMcY0h2KMDSb04NBCDIQQQgukvKTwQAKEEkIS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", Ie = /* @__PURE__ */ O({
1071
+ __name: "GvSidebarLogo",
1072
+ setup(e) {
1073
+ const { getPrefixCls: t } = E(), n = t("logo"), r = A(), o = re(!0), l = f(() => r.getTitle), a = f(() => r.getLayout), s = f(() => r.getCollapseMenus);
1074
+ return P(
1075
+ () => s.value,
1076
+ (i) => {
1077
+ if (u(a) === "topLeft" || u(a) === "cutMenu") {
1078
+ o.value = !0;
1079
+ return;
1080
+ }
1081
+ o.value = !i;
274
1082
  }
275
- n.code === 23003 && (a = c("http.loginAgain"), G.push({ path: "/" })), a && m(a, "error");
276
- } else {
277
- const i = n.code;
278
- switch (a = y[i] || r || y.default, i) {
279
- case 401:
280
- break;
281
- case 403:
282
- break;
283
- default:
284
- m(`${a} - ${o || ""}`, "error");
285
- break;
1083
+ ), P(
1084
+ () => a.value,
1085
+ (i) => {
1086
+ i === "top" || i === "cutMenu" ? o.value = !0 : u(s) ? o.value = !1 : o.value = !0;
286
1087
  }
287
- }
288
- return Promise.reject(new Error(a));
289
- } else
290
- return s.status === "fail" ? (m(`${s.code || "unknow"} - ${s.message || ""}`, "error"), Promise.reject(new Error(s.message))) : s instanceof Blob ? { headers: t, data: s } : e.data;
291
- }, A);
292
- const Pe = () => ({
293
- fetchData: (t, s) => f(void 0, null, function* () {
294
- return yield t(s);
295
- })
296
- }), ve = [re, ie], S = (e) => {
297
- S.INSTALLED || (S.INSTALLED = !0, ve.forEach((t) => t.install(e)));
298
- }, je = {
299
- install: S
1088
+ ), Te(() => {
1089
+ u(s) && (o.value = !1);
1090
+ }), (i, c) => {
1091
+ const d = te("router-link");
1092
+ return y(), R("div", null, [
1093
+ v(d, {
1094
+ class: I([u(n), a.value !== "default" ? `${u(n)}__Top` : "", "flex !h-[var(--logo-height)] items-center cursor-pointer pl-[8px] relative decoration-none overflow-hidden"]),
1095
+ to: "/"
1096
+ }, {
1097
+ default: k(() => [
1098
+ c[0] || (c[0] = W("img", {
1099
+ src: Cn,
1100
+ class: "w-[calc(var(--logo-height)-10px)] h-[calc(var(--logo-height)-10px)]"
1101
+ }, null, -1)),
1102
+ o.value ? (y(), R("div", {
1103
+ key: 0,
1104
+ class: I([
1105
+ "inline-block whitespace-nowrap ml-[10px] text-[16px] font-bold",
1106
+ {
1107
+ "text-[var(--logo-title-text-color)]": a.value === "default",
1108
+ "text-[var(--top-header-text-color)]": a.value === "topLeft" || a.value === "top" || a.value === "cutMenu"
1109
+ }
1110
+ ])
1111
+ }, Ne(l.value), 3)) : ct("", !0)
1112
+ ]),
1113
+ _: 1
1114
+ }, 8, ["class"])
1115
+ ]);
1116
+ };
1117
+ }
1118
+ }), Un = {
1119
+ install(e) {
1120
+ var t;
1121
+ e.component((t = Ie.name) != null ? t : "GvSidebarLogo", Ie);
1122
+ }
1123
+ }, _ = "__LIB_BRIDGE_CONTEXT__", Jn = () => {
1124
+ const e = globalThis;
1125
+ return e[_] || (e[_] = {}), e[_];
1126
+ }, Bn = (e) => {
1127
+ Object.assign(Jn(), e);
1128
+ }, Fn = (e, t) => Z(null, null, function* () {
1129
+ return yield e(t);
1130
+ }), br = () => ({
1131
+ fetchData: Fn
1132
+ }), Hn = (e) => Object.prototype.toString.call(e).slice(8, -1), Qn = (e = "sessionStorage") => ({
1133
+ setStorage: (l, a) => {
1134
+ const s = Hn(a);
1135
+ window[e].setItem(l, JSON.stringify({ type: s, value: a }));
1136
+ },
1137
+ getStorage: (l) => {
1138
+ const a = window[e].getItem(l);
1139
+ if (a) {
1140
+ const { value: s } = JSON.parse(a);
1141
+ return s;
1142
+ } else return a;
1143
+ },
1144
+ removeStorage: (l) => {
1145
+ window[e].removeItem(l);
1146
+ },
1147
+ clear: (l) => {
1148
+ const a = Object.keys(window[e]), s = ["dynamicRouter", "serverDynamicRouter"], i = l ? [...l, ...s] : s;
1149
+ (i ? a.filter((d) => !i.includes(d)) : a).forEach((d) => {
1150
+ window[e].removeItem(d);
1151
+ });
1152
+ }
1153
+ }), { getStorage: An } = Qn("localStorage"), Xe = An("lang"), Xn = 5e3, qn = 6e3, Vn = 2e3, Kn = 5e3, _n = (e, t = "success") => Z(null, null, function* () {
1154
+ const n = document.body.querySelector("body>.el-notification");
1155
+ n && n.remove();
1156
+ let r = "提示信息";
1157
+ Xe === "en" && (r = "Hint");
1158
+ const o = t === "error" ? qn : Xn;
1159
+ let l = "No message...";
1160
+ ze(e) ? l = e.message || "No message..." : typeof e == "string" ? l = e : typeof e == "object" && (l = JSON.stringify(e)), Zt({
1161
+ title: r,
1162
+ message: l,
1163
+ type: t,
1164
+ duration: o
1165
+ }), yield Le(o);
1166
+ }), $n = (e, t = "warning") => Z(null, null, function* () {
1167
+ if (document.body.querySelector("body>.el-confirm")) return;
1168
+ let n;
1169
+ const r = !0;
1170
+ n = "是否确定此操作?";
1171
+ let o = "提示信息", l = "确定", a = "取消";
1172
+ return e ? n = e : Xe === "en" && (n = "Are you sure you want to proceed?", o = "Hint", l = "Ok", a = "Cancel"), new Promise((s, i) => {
1173
+ Gt.confirm(n, o, {
1174
+ confirmButtonText: l,
1175
+ cancelButtonText: a,
1176
+ type: t,
1177
+ showCancelButton: r
1178
+ }).then(() => {
1179
+ s(!0);
1180
+ }).catch(() => {
1181
+ i(!1);
1182
+ });
1183
+ });
1184
+ }), er = (e, t = "warning", n = !1) => Z(null, null, function* () {
1185
+ if (n === !1 && (document.body.querySelector("body>.el-message") || document.body.querySelector("body>.el-notification")))
1186
+ return;
1187
+ let r = "No message...";
1188
+ ze(e) ? r = e.message || "No message..." : typeof e == "string" ? r = e : typeof e == "object" && (r = JSON.stringify(e));
1189
+ const o = t === "error" ? Kn : Vn;
1190
+ Ot({
1191
+ message: r,
1192
+ showClose: !0,
1193
+ type: t,
1194
+ duration: o
1195
+ }), yield Le(o);
1196
+ }), gr = () => ({
1197
+ alert: _n,
1198
+ message: er,
1199
+ confirm: $n
1200
+ }), qe = "abcdefgabcdefg12", Sr = (e) => {
1201
+ const t = w.enc.Utf8.parse(qe);
1202
+ let n;
1203
+ typeof e == "object" ? n = JSON.stringify(e) : n = e;
1204
+ const r = w.enc.Utf8.parse(n);
1205
+ return w.AES.encrypt(r, t, { mode: w.mode.ECB, padding: w.pad.Pkcs7 }).toString();
1206
+ }, jr = (e) => {
1207
+ const t = w.enc.Utf8.parse(qe), n = w.AES.decrypt(e, t, { mode: w.mode.ECB, padding: w.pad.Pkcs7 });
1208
+ return w.enc.Utf8.stringify(n).toString();
1209
+ }, Gr = (e) => {
1210
+ const t = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
1211
+ let n = "";
1212
+ for (let r = 0; r < e; r++) {
1213
+ const o = Math.floor(Math.random() * t.length);
1214
+ n += t.substring(o, o + 1);
1215
+ }
1216
+ return n;
1217
+ }, tr = [Et, kt, rn, on, fn, Sn, Wn, Pn, Un], Ve = (e, t) => {
1218
+ Ve.INSTALLED = !0, nt(t.store), Bn(t), tr.forEach((n) => n.install(e));
1219
+ }, Or = {
1220
+ install: Ve
300
1221
  };
301
1222
  export {
302
- re as GvButton,
303
- ie as GvSvgIcon,
304
- Ie as decrypt,
305
- je as default,
306
- xe as encrypt,
307
- Oe as generateKey,
308
- oe as isExternal,
309
- U as key,
310
- ye as setHeaders,
311
- x as sleep,
312
- Be as toHump,
313
- Ne as toLine,
314
- Pe as useCrud,
315
- de as useNotify
1223
+ on as GvBacktop,
1224
+ fn as GvBreadCrumb,
1225
+ Et as GvButton,
1226
+ Sn as GvHamburger,
1227
+ kt as GvIcon,
1228
+ rn as GvLangSelect,
1229
+ Wn as GvScreenFull,
1230
+ Pn as GvSideBar,
1231
+ Un as GvSidebarLogo,
1232
+ jr as decrypt,
1233
+ Or as default,
1234
+ Sr as encrypt,
1235
+ Gr as generateKey,
1236
+ ze as isError,
1237
+ Nt as isExternal,
1238
+ le as isUrl,
1239
+ qe as key,
1240
+ F as pathResolve,
1241
+ hr as setQuickKeys,
1242
+ Le as sleep,
1243
+ mr as toHump,
1244
+ vr as toLine,
1245
+ br as useCrud,
1246
+ gr as useNotify,
1247
+ Qn as useStorage
316
1248
  };
317
1249
  //# sourceMappingURL=guava-ui.es.js.map