@ithinkdt/ui 4.0.0-601 → 4.0.0-800
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{components-CDuTve1u.js → components-DYFd5z-C.js} +690 -660
- package/dist/components.js +1 -4
- package/dist/directives-CBQhJ3zJ.js +237 -0
- package/dist/directives.js +1 -2
- package/dist/index.js +335 -336
- package/dist/page.js +363 -332
- package/dist/{use-style-D9hLG26i.js → use-style-BGq0HdRK.js} +2 -2
- package/dist/use-style.js +1 -1
- package/esm/components.d.ts +11 -5
- package/esm/design.d.ts +1 -1
- package/esm/directives.d.ts +6 -0
- package/esm/page.d.ts +8 -3
- package/locale.d.ts +1 -0
- package/package.json +10 -10
- package/dist/directives-8VsgmCuO.js +0 -203
- /package/dist/{use-i18n-Dx7V4KrY.js → use-i18n-D-AJ8KbA.js} +0 -0
package/dist/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { n as useI18n, t as UI_I18N_INJECTION } from "./use-i18n-
|
|
2
|
-
import { g as useStyle, i as cM, n as cB, r as cE, t as c } from "./use-style-
|
|
3
|
-
import { i as vTooltip, n as vSpin, r as TooltipDirectiveProvider, t as SpinDirectiveProvider } from "./directives-
|
|
1
|
+
import { n as useI18n, t as UI_I18N_INJECTION } from "./use-i18n-D-AJ8KbA.js";
|
|
2
|
+
import { g as useStyle, i as cM, n as cB, r as cE, t as c } from "./use-style-BGq0HdRK.js";
|
|
3
|
+
import { i as vTooltip, n as vSpin, r as TooltipDirectiveProvider, t as SpinDirectiveProvider } from "./directives-CBQhJ3zJ.js";
|
|
4
4
|
import { Fragment, computed, createVNode, defineComponent, inject, isVNode, mergeProps, provide, reactive, ref, renderSlot, shallowRef, toRef, toValue, unref, useTemplateRef, watch, withDirectives } from "vue";
|
|
5
5
|
import { computedAsync, promiseTimeout, useElementHover, useElementSize, useEventListener, useFullscreen, watchDebounced } from "@vueuse/core";
|
|
6
6
|
import { NAvatar, NBadge, NBreadcrumb, NBreadcrumbItem, NButton, NDrawer, NDrawerContent, NDropdown, NEmpty, NIcon, NList, NListItem, NMenu, NPagination, NPopover, NScrollbar, NText, NThing, useThemeVars } from "ithinkdt-ui";
|
|
@@ -9,8 +9,8 @@ import { RouterLink, useRouter } from "vue-router";
|
|
|
9
9
|
import { walkTree } from "@ithinkdt/common/tree";
|
|
10
10
|
import { getOpaqueColor } from "@ithinkdt/common/color";
|
|
11
11
|
import { format } from "date-fns";
|
|
12
|
-
function _isSlot$4(
|
|
13
|
-
return typeof
|
|
12
|
+
function _isSlot$4(e) {
|
|
13
|
+
return typeof e == "function" || Object.prototype.toString.call(e) === "[object Object]" && !isVNode(e);
|
|
14
14
|
}
|
|
15
15
|
const AppAccount = /* @__PURE__ */ defineComponent({
|
|
16
16
|
name: "AppAccount",
|
|
@@ -28,8 +28,8 @@ const AppAccount = /* @__PURE__ */ defineComponent({
|
|
|
28
28
|
}
|
|
29
29
|
},
|
|
30
30
|
emit: ["logout", "change-pwd"],
|
|
31
|
-
setup(
|
|
32
|
-
let
|
|
31
|
+
setup(t, { emit: n, slots: r }) {
|
|
32
|
+
let i = computed(() => /^[\u4E00-\u9FA5]+$/.test(t.nickname) ? t.nickname?.slice(t.nickname?.length > 3 ? 2 : 1) : t.nickname?.split(" ")[0]), { t: a } = useI18n(), o = createVNode(NIcon, { size: "28" }, { default: () => [createVNode("svg", {
|
|
33
33
|
xmlns: "http://www.w3.org/2000/svg",
|
|
34
34
|
width: "1em",
|
|
35
35
|
height: "1em",
|
|
@@ -37,7 +37,7 @@ const AppAccount = /* @__PURE__ */ defineComponent({
|
|
|
37
37
|
}, [createVNode("path", {
|
|
38
38
|
fill: "currentColor",
|
|
39
39
|
d: "M12 12q-1.65 0-2.825-1.175T8 8t1.175-2.825T12 4t2.825 1.175T16 8t-1.175 2.825T12 12m-8 6v-.8q0-.85.438-1.562T5.6 14.55q1.55-.775 3.15-1.162T12 13t3.25.388t3.15 1.162q.725.375 1.163 1.088T20 17.2v.8q0 .825-.587 1.413T18 20H6q-.825 0-1.412-.587T4 18"
|
|
40
|
-
}, null)])] }),
|
|
40
|
+
}, null)])] }), l = createVNode("svg", {
|
|
41
41
|
xmlns: "http://www.w3.org/2000/svg",
|
|
42
42
|
width: "1em",
|
|
43
43
|
height: "1em",
|
|
@@ -52,22 +52,22 @@ const AppAccount = /* @__PURE__ */ defineComponent({
|
|
|
52
52
|
quaternary: !0,
|
|
53
53
|
style: "--n-padding: 0 12px"
|
|
54
54
|
}, { default: () => [createVNode("div", { style: "display: flex; align-items: center; gap: 8px" }, [createVNode(NAvatar, {
|
|
55
|
-
key:
|
|
56
|
-
src:
|
|
55
|
+
key: t.head ? "head" : "no-head",
|
|
56
|
+
src: t.head,
|
|
57
57
|
round: !0,
|
|
58
58
|
size: "small",
|
|
59
59
|
radix: .78,
|
|
60
60
|
color: "var(--color-primary-hover)"
|
|
61
61
|
}, {
|
|
62
|
-
fallback: () =>
|
|
63
|
-
placeholder: () =>
|
|
64
|
-
default:
|
|
65
|
-
}), createVNode("span", { style: "font-size: 14px" }, [
|
|
62
|
+
fallback: () => o,
|
|
63
|
+
placeholder: () => o,
|
|
64
|
+
default: t.head ? void 0 : () => i.value
|
|
65
|
+
}), createVNode("span", { style: "font-size: 14px" }, [t.username ?? ""])])] }),
|
|
66
66
|
default: () => {
|
|
67
|
-
let
|
|
67
|
+
let e = () => t.showChangePwd ? createVNode(NButton, {
|
|
68
68
|
quaternary: !0,
|
|
69
69
|
style: "justify-content: left",
|
|
70
|
-
onClick: () =>
|
|
70
|
+
onClick: () => n("change-pwd")
|
|
71
71
|
}, {
|
|
72
72
|
icon: () => createVNode(NIcon, null, { default: () => [createVNode("svg", {
|
|
73
73
|
xmlns: "http://www.w3.org/2000/svg",
|
|
@@ -83,33 +83,33 @@ const AppAccount = /* @__PURE__ */ defineComponent({
|
|
|
83
83
|
r: "2",
|
|
84
84
|
fill: "currentColor"
|
|
85
85
|
}, null)])] }),
|
|
86
|
-
default: () =>
|
|
87
|
-
}) : void 0,
|
|
86
|
+
default: () => a("common.account.changePwd")
|
|
87
|
+
}) : void 0, i = () => t.showLogoutButton ? void 0 : createVNode(NButton, {
|
|
88
88
|
quaternary: !0,
|
|
89
89
|
style: "justify-content: left",
|
|
90
|
-
onClick: () =>
|
|
90
|
+
onClick: () => n("logout")
|
|
91
91
|
}, {
|
|
92
|
-
icon: () => createVNode(NIcon, null, _isSlot$4(
|
|
93
|
-
default: () =>
|
|
92
|
+
icon: () => createVNode(NIcon, null, _isSlot$4(l) ? l : { default: () => [l] }),
|
|
93
|
+
default: () => a("common.account.logout")
|
|
94
94
|
});
|
|
95
|
-
return
|
|
96
|
-
pwd:
|
|
97
|
-
logout:
|
|
95
|
+
return r.dropdown ? r.dropdown({
|
|
96
|
+
pwd: e,
|
|
97
|
+
logout: i
|
|
98
98
|
}) : createVNode("div", { style: "display: flex; flex-direction: column" }, [
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
99
|
+
e(),
|
|
100
|
+
r.dropdownExtra?.(),
|
|
101
|
+
i()
|
|
102
102
|
]);
|
|
103
103
|
}
|
|
104
104
|
}),
|
|
105
|
-
|
|
106
|
-
|
|
105
|
+
r.extra?.(),
|
|
106
|
+
t.showLogoutButton ? withDirectives(createVNode(NButton, {
|
|
107
107
|
quaternary: !0,
|
|
108
108
|
style: "--n-padding: 0 12px",
|
|
109
|
-
onClick: () =>
|
|
110
|
-
}, { default: () => [
|
|
109
|
+
onClick: () => t.username && n("logout")
|
|
110
|
+
}, { default: () => [r.logoutButton?.() ?? createVNode(NIcon, { size: "16" }, _isSlot$4(l) ? l : { default: () => [l] })] }), [[
|
|
111
111
|
vTooltip,
|
|
112
|
-
|
|
112
|
+
a("common.account.logout"),
|
|
113
113
|
void 0,
|
|
114
114
|
{ "bottom-end": !0 }
|
|
115
115
|
]]) : void 0
|
|
@@ -119,15 +119,15 @@ const AppAccount = /* @__PURE__ */ defineComponent({
|
|
|
119
119
|
name: "AppAppearance",
|
|
120
120
|
props: { mode: String },
|
|
121
121
|
emit: ["update:mode"],
|
|
122
|
-
setup(
|
|
123
|
-
let { t:
|
|
122
|
+
setup(t, { emit: n }) {
|
|
123
|
+
let { t: r } = useI18n();
|
|
124
124
|
return () => withDirectives(createVNode(NButton, {
|
|
125
125
|
quaternary: !0,
|
|
126
126
|
style: "--n-padding: 0 12px",
|
|
127
127
|
onClick: () => {
|
|
128
|
-
|
|
128
|
+
n("update:mode", t.mode === "light" ? "dark" : t.mode === "dark" ? "auto" : "light");
|
|
129
129
|
}
|
|
130
|
-
}, { default: () => [createVNode(NIcon, { size: "18" }, { default: () => [
|
|
130
|
+
}, { default: () => [createVNode(NIcon, { size: "18" }, { default: () => [t.mode === "light" ? createVNode("svg", {
|
|
131
131
|
xmlns: "http://www.w3.org/2000/svg",
|
|
132
132
|
"xmlns:xlink": "http://www.w3.org/1999/xlink",
|
|
133
133
|
role: "img",
|
|
@@ -137,7 +137,7 @@ const AppAccount = /* @__PURE__ */ defineComponent({
|
|
|
137
137
|
}, [createVNode("path", {
|
|
138
138
|
fill: "currentColor",
|
|
139
139
|
d: "M12 15q1.25 0 2.125-.875T15 12q0-1.25-.875-2.125T12 9q-1.25 0-2.125.875T9 12q0 1.25.875 2.125T12 15Zm0 2q-2.075 0-3.537-1.463Q7 14.075 7 12t1.463-3.538Q9.925 7 12 7t3.538 1.462Q17 9.925 17 12q0 2.075-1.462 3.537Q14.075 17 12 17ZM1 13v-2h4v2Zm18 0v-2h4v2Zm-8-8V1h2v4Zm0 18v-4h2v4ZM6.35 7.75L3.875 5.275l1.4-1.4L7.75 6.35Zm12.375 12.375L16.25 17.65l1.4-1.4l2.475 2.475ZM17.65 7.75l-1.4-1.4l2.475-2.475l1.4 1.4ZM5.275 20.125l-1.4-1.4L6.35 16.25l1.4 1.4ZM12 12Z"
|
|
140
|
-
}, null)]) :
|
|
140
|
+
}, null)]) : t.mode === "dark" ? createVNode("svg", {
|
|
141
141
|
xmlns: "http://www.w3.org/2000/svg",
|
|
142
142
|
"xmlns:xlink": "http://www.w3.org/1999/xlink",
|
|
143
143
|
role: "img",
|
|
@@ -159,7 +159,7 @@ const AppAccount = /* @__PURE__ */ defineComponent({
|
|
|
159
159
|
d: "M11 19q1.35 0 2.513-.538q1.162-.537 1.987-1.487q-3.15-.2-5.325-2.488Q8 12.2 8 9q0-.325.025-.638q.025-.312.075-.612q-1.4.775-2.25 2.162Q5 11.3 5 13q0 2.5 1.75 4.25T11 19Zm0 2q-3.35 0-5.675-2.325Q3 16.35 3 13q0-3.35 2.325-5.675Q7.65 5 11 5q.125 0 .25.012q.125.013.25.013q-.725.8-1.113 1.812Q10 7.85 10 9q0 2.5 1.75 4.25T16 15q.8 0 1.525-.2q.725-.2 1.375-.55q-.45 2.875-2.662 4.812Q14.025 21 11 21Zm2.8-10L17 2h2l3.2 9h-1.9l-.7-2h-3.2l-.7 2Zm3.05-3.35h2.3L18 4Z"
|
|
160
160
|
}, null)])] })] }), [[
|
|
161
161
|
vTooltip,
|
|
162
|
-
|
|
162
|
+
t.mode === "light" ? r("common.layout.mode.light") : t.mode === "dark" ? r("common.layout.mode.dark") : r("common.layout.mode.auto"),
|
|
163
163
|
void 0,
|
|
164
164
|
{ bottom: !0 }
|
|
165
165
|
]]);
|
|
@@ -175,8 +175,8 @@ const AppAccount = /* @__PURE__ */ defineComponent({
|
|
|
175
175
|
fill: "currentColor",
|
|
176
176
|
d: "m17 18l-5-2.18L7 18V5h10m0-2H7a2 2 0 0 0-2 2v16l7-3l7 3V5a2 2 0 0 0-2-2Z"
|
|
177
177
|
}, null)]), CTX_INJECTION_KEY = "__APP_CTX__", getCtx = () => inject(CTX_INJECTION_KEY);
|
|
178
|
-
function _isSlot$3(
|
|
179
|
-
return typeof
|
|
178
|
+
function _isSlot$3(e) {
|
|
179
|
+
return typeof e == "function" || Object.prototype.toString.call(e) === "[object Object]" && !isVNode(e);
|
|
180
180
|
}
|
|
181
181
|
const AppBreadcrumb = /* @__PURE__ */ defineComponent({
|
|
182
182
|
name: "AppBreadcrumb",
|
|
@@ -190,36 +190,36 @@ const AppBreadcrumb = /* @__PURE__ */ defineComponent({
|
|
|
190
190
|
default: void 0
|
|
191
191
|
}
|
|
192
192
|
},
|
|
193
|
-
setup(
|
|
194
|
-
let
|
|
195
|
-
return watch(() =>
|
|
196
|
-
walkTree(
|
|
197
|
-
|
|
193
|
+
setup(e) {
|
|
194
|
+
let t = useRouter(), n = Symbol(), r = Symbol();
|
|
195
|
+
return watch(() => e.items, (t) => {
|
|
196
|
+
walkTree(t, (t) => {
|
|
197
|
+
t.icon && (typeof t.icon == "string" ? (t[n] = e.getIcon?.(t.icon), t[r] = () => t[n]?.() || IBookmark()) : t[r] = t.icon);
|
|
198
198
|
});
|
|
199
199
|
}, { immediate: !0 }), () => {
|
|
200
|
-
let
|
|
201
|
-
return createVNode(NBreadcrumb, null, _isSlot$3(
|
|
202
|
-
clickable:
|
|
203
|
-
separator:
|
|
204
|
-
onClick:
|
|
205
|
-
|
|
200
|
+
let n;
|
|
201
|
+
return createVNode(NBreadcrumb, null, _isSlot$3(n = e.items.map((e) => createVNode(NBreadcrumbItem, {
|
|
202
|
+
clickable: e.href?.length > 0,
|
|
203
|
+
separator: e.separator,
|
|
204
|
+
onClick: e.href && ((n) => {
|
|
205
|
+
n.stopPropagation(), t.push(e.href);
|
|
206
206
|
})
|
|
207
|
-
}, { default: () => [
|
|
207
|
+
}, { default: () => [e.icon ? createVNode(Fragment, null, [createVNode(NIcon, { component: e[r] }, null), " "]) : void 0, toValue(e.title)] }))) ? n : { default: () => [n] });
|
|
208
208
|
};
|
|
209
209
|
}
|
|
210
210
|
}), AppFullscreen = /* @__PURE__ */ defineComponent({
|
|
211
211
|
name: "AppFullscreen",
|
|
212
212
|
props: {},
|
|
213
213
|
emit: ["change"],
|
|
214
|
-
setup(
|
|
215
|
-
let { t:
|
|
214
|
+
setup(t, { emit: n }) {
|
|
215
|
+
let { t: r } = useI18n(), { isFullscreen: i, toggle: a } = useFullscreen();
|
|
216
216
|
return () => withDirectives(createVNode(NButton, {
|
|
217
217
|
quaternary: !0,
|
|
218
218
|
style: "--n-padding: 0 12px",
|
|
219
219
|
onClick: () => {
|
|
220
|
-
|
|
220
|
+
a(), n("change", i.value);
|
|
221
221
|
}
|
|
222
|
-
}, { default: () => [createVNode(NIcon, { size: "18" }, { default: () => [
|
|
222
|
+
}, { default: () => [createVNode(NIcon, { size: "18" }, { default: () => [i.value ? createVNode("svg", {
|
|
223
223
|
xmlns: "http://www.w3.org/2000/svg",
|
|
224
224
|
width: "1em",
|
|
225
225
|
height: "1em",
|
|
@@ -245,7 +245,7 @@ const AppBreadcrumb = /* @__PURE__ */ defineComponent({
|
|
|
245
245
|
d: "M3.75 8.345V6.25a2.5 2.5 0 0 1 2.5-2.5h2.095M3.75 15.655v2.095a2.5 2.5 0 0 0 2.5 2.5h2.095M20.25 8.345V6.25a2.5 2.5 0 0 0-2.5-2.5h-2.095m4.595 11.905v2.095a2.5 2.5 0 0 1-2.5 2.5h-2.095"
|
|
246
246
|
}, null)])] })] }), [[
|
|
247
247
|
vTooltip,
|
|
248
|
-
|
|
248
|
+
i.value ? r("common.layout.screen.exitfull") : r("common.layout.screen.full"),
|
|
249
249
|
void 0,
|
|
250
250
|
{ bottom: !0 }
|
|
251
251
|
]]);
|
|
@@ -257,12 +257,12 @@ const AppBreadcrumb = /* @__PURE__ */ defineComponent({
|
|
|
257
257
|
supports: Array
|
|
258
258
|
},
|
|
259
259
|
emit: ["update:lang"],
|
|
260
|
-
setup(
|
|
260
|
+
setup(e, { emit: t }) {
|
|
261
261
|
return () => createVNode(NDropdown, {
|
|
262
|
-
options:
|
|
262
|
+
options: e.supports,
|
|
263
263
|
keyField: "value",
|
|
264
264
|
showArrow: !0,
|
|
265
|
-
onSelect: (
|
|
265
|
+
onSelect: (e) => t("update:lang", e)
|
|
266
266
|
}, { default: () => [createVNode(NButton, {
|
|
267
267
|
quaternary: !0,
|
|
268
268
|
style: "--n-padding: 0 12px"
|
|
@@ -303,8 +303,7 @@ var style = /* @__PURE__ */ c([
|
|
|
303
303
|
gridArea: "header",
|
|
304
304
|
overflow: "hidden",
|
|
305
305
|
zIndex: 2,
|
|
306
|
-
height: "var(--app-header-height, 44px)"
|
|
307
|
-
zIndex: "2"
|
|
306
|
+
height: "var(--app-header-height, 44px)"
|
|
308
307
|
}),
|
|
309
308
|
cB("sider", {
|
|
310
309
|
gridArea: "sider",
|
|
@@ -370,28 +369,28 @@ const AppLayout = /* @__PURE__ */ defineComponent({
|
|
|
370
369
|
},
|
|
371
370
|
fullContent: Boolean
|
|
372
371
|
},
|
|
373
|
-
setup(
|
|
372
|
+
setup(e, { slots: t }) {
|
|
374
373
|
useStyle("-layout", style, ref("app"), !1);
|
|
375
|
-
let
|
|
374
|
+
let r = reactive({
|
|
376
375
|
siderWidth: "0px",
|
|
377
376
|
headerHeight: "0px",
|
|
378
377
|
footerHeight: "0px",
|
|
379
378
|
hasMultiTab: !1
|
|
380
379
|
});
|
|
381
|
-
return provide(CTX_INJECTION_KEY,
|
|
382
|
-
let { layout:
|
|
380
|
+
return provide(CTX_INJECTION_KEY, r), () => {
|
|
381
|
+
let { layout: n } = e;
|
|
383
382
|
return createVNode("div", {
|
|
384
383
|
class: {
|
|
385
384
|
"app-layout": !0,
|
|
386
|
-
"app-layout--full-header":
|
|
387
|
-
"app-layout--full-content":
|
|
385
|
+
"app-layout--full-header": n === "top2bottom",
|
|
386
|
+
"app-layout--full-content": e.fullContent
|
|
388
387
|
},
|
|
389
388
|
style: {
|
|
390
|
-
"--app-sider-width":
|
|
391
|
-
"--app-header-height":
|
|
392
|
-
"--app-footer-height":
|
|
389
|
+
"--app-sider-width": r.siderWidth,
|
|
390
|
+
"--app-header-height": r.headerHeight,
|
|
391
|
+
"--app-footer-height": r.footerHeight
|
|
393
392
|
}
|
|
394
|
-
}, [renderSlot(
|
|
393
|
+
}, [renderSlot(t, "default")]);
|
|
395
394
|
};
|
|
396
395
|
}
|
|
397
396
|
}), AppHeader = /* @__PURE__ */ defineComponent({
|
|
@@ -400,12 +399,12 @@ const AppLayout = /* @__PURE__ */ defineComponent({
|
|
|
400
399
|
type: Number,
|
|
401
400
|
default: 44
|
|
402
401
|
} },
|
|
403
|
-
setup(
|
|
404
|
-
let
|
|
405
|
-
return () => (
|
|
402
|
+
setup(e, { slots: t }) {
|
|
403
|
+
let n = getCtx();
|
|
404
|
+
return () => (n.headerHeight = e.height + "px", createVNode("div", { class: "app-header" }, [renderSlot(t, "default")]));
|
|
406
405
|
}
|
|
407
|
-
}),
|
|
408
|
-
name: "
|
|
406
|
+
}), AppSidebar = /* @__PURE__ */ defineComponent({
|
|
407
|
+
name: "AppSidebar",
|
|
409
408
|
props: {
|
|
410
409
|
showCollapseBtn: {
|
|
411
410
|
type: Boolean,
|
|
@@ -422,21 +421,21 @@ const AppLayout = /* @__PURE__ */ defineComponent({
|
|
|
422
421
|
}
|
|
423
422
|
},
|
|
424
423
|
emits: { "update:collapsed": () => !0 },
|
|
425
|
-
setup(
|
|
426
|
-
provide(COLLAPSED_INJECTION_KEY, toRef(
|
|
427
|
-
let { t:
|
|
428
|
-
return () => (
|
|
424
|
+
setup(t, { emit: n, slots: r }) {
|
|
425
|
+
provide(COLLAPSED_INJECTION_KEY, toRef(t, "collapsed"));
|
|
426
|
+
let { t: i } = useI18n(), a = getCtx();
|
|
427
|
+
return () => (a.siderWidth = (t.collapsed ? t.collapsedWidth : t.width) + "px", createVNode("div", { class: "app-sider" }, [renderSlot(r, "default"), t.showCollapseBtn ? withDirectives(createVNode(NButton, {
|
|
429
428
|
class: "app-sider__collapse-btn",
|
|
430
429
|
quaternary: !0,
|
|
431
430
|
onClick: () => {
|
|
432
|
-
|
|
431
|
+
n("update:collapsed", !t.collapsed);
|
|
433
432
|
}
|
|
434
|
-
}, { default: () => [createVNode(NIcon, { size: "20" }, { default: () => [
|
|
433
|
+
}, { default: () => [createVNode(NIcon, { size: "20" }, { default: () => [t.collapsed ? createVNode(IUnfold, null, null) : createVNode(IFold, null, null)] })] }), [[vTooltip, t.collapsed ? i("common.layout.sider.expand") : i("common.layout.sider.collapse")]]) : void 0]));
|
|
435
434
|
}
|
|
436
435
|
}), AppContent = /* @__PURE__ */ defineComponent({
|
|
437
436
|
name: "AppContent",
|
|
438
|
-
setup(
|
|
439
|
-
return () => createVNode("div", { class: "app-content" }, [renderSlot(
|
|
437
|
+
setup(e, { slots: t }) {
|
|
438
|
+
return () => createVNode("div", { class: "app-content" }, [renderSlot(t, "default")]);
|
|
440
439
|
}
|
|
441
440
|
}), AppFooter = /* @__PURE__ */ defineComponent({
|
|
442
441
|
name: "AppFooter",
|
|
@@ -444,13 +443,13 @@ const AppLayout = /* @__PURE__ */ defineComponent({
|
|
|
444
443
|
type: Number,
|
|
445
444
|
default: 30
|
|
446
445
|
} },
|
|
447
|
-
setup(
|
|
448
|
-
let
|
|
449
|
-
return () => (
|
|
446
|
+
setup(e, { slots: t }) {
|
|
447
|
+
let n = getCtx();
|
|
448
|
+
return () => (n.footerHeight = e.height + "px", createVNode("div", { class: "app-footer" }, [renderSlot(t, "default")]));
|
|
450
449
|
}
|
|
451
450
|
});
|
|
452
|
-
function _isSlot$2(
|
|
453
|
-
return typeof
|
|
451
|
+
function _isSlot$2(e) {
|
|
452
|
+
return typeof e == "function" || Object.prototype.toString.call(e) === "[object Object]" && !isVNode(e);
|
|
454
453
|
}
|
|
455
454
|
const AppLogo = /* @__PURE__ */ defineComponent({
|
|
456
455
|
name: "AppLogo",
|
|
@@ -470,47 +469,47 @@ const AppLogo = /* @__PURE__ */ defineComponent({
|
|
|
470
469
|
default: !0
|
|
471
470
|
}
|
|
472
471
|
},
|
|
473
|
-
setup(
|
|
474
|
-
let
|
|
472
|
+
setup(e, { slots: t }) {
|
|
473
|
+
let n = computedAsync(() => typeof e.src == "function" ? e.src() : e.src), r = inject(COLLAPSED_INJECTION_KEY, !1);
|
|
475
474
|
return () => {
|
|
476
|
-
let { name:
|
|
477
|
-
|
|
478
|
-
let
|
|
475
|
+
let { name: i, collapsed: a, center: o, link: s } = e;
|
|
476
|
+
a ??= unref(r);
|
|
477
|
+
let l = a ? 1 : 1 / 1.1;
|
|
479
478
|
return createVNode("div", {
|
|
480
479
|
class: "app-logo",
|
|
481
480
|
style: {
|
|
482
481
|
"--app-logo-img-size": "32px",
|
|
483
482
|
"--app-logo-name-size": "22px",
|
|
484
|
-
width:
|
|
483
|
+
width: o ? "100%" : "auto",
|
|
485
484
|
overflow: "hidden",
|
|
486
485
|
display: "flex",
|
|
487
486
|
alignItems: "center",
|
|
488
|
-
justifyContent:
|
|
489
|
-
cursor:
|
|
487
|
+
justifyContent: o ? "center" : "flex-start",
|
|
488
|
+
cursor: s ? "pointer" : void 0
|
|
490
489
|
}
|
|
491
|
-
}, [
|
|
490
|
+
}, [t.default ? t.default() : createVNode("div", {
|
|
492
491
|
class: "app-logo__img",
|
|
493
492
|
style: `
|
|
494
|
-
width: ${
|
|
495
|
-
font-size: ${
|
|
493
|
+
width: ${a ? "var(--app-sider-width, 60px)" : "56px"};
|
|
494
|
+
font-size: ${a ? "calc(var(--app-sider-width, 60px) - 24px)" : "32px"};
|
|
496
495
|
transition: width 0.2s ease-in-out 0.1s;
|
|
497
496
|
flex: 0 0 auto;
|
|
498
497
|
display: flex;
|
|
499
498
|
justify-content: center
|
|
500
499
|
`
|
|
501
|
-
}, [
|
|
502
|
-
src:
|
|
500
|
+
}, [t.icon ? t.icon() : createVNode("img", {
|
|
501
|
+
src: n.value,
|
|
503
502
|
alt: "App Logo",
|
|
504
|
-
style: `transition: height 0.2s ease-in-out; height: calc(var(--app-logo-img-size) * ${
|
|
505
|
-
}, null)]),
|
|
503
|
+
style: `transition: height 0.2s ease-in-out; height: calc(var(--app-logo-img-size) * ${l})`
|
|
504
|
+
}, null)]), i ? createVNode(NText, {
|
|
506
505
|
class: "app-logo__name",
|
|
507
506
|
style: "font-size: var(--app-logo-name-size); font-weight: bold; white-space: nowrap; flex: 0 1 auto; overflow: hidden"
|
|
508
|
-
}, _isSlot$2(
|
|
507
|
+
}, _isSlot$2(i) ? i : { default: () => [i] }) : ""]);
|
|
509
508
|
};
|
|
510
509
|
}
|
|
511
510
|
});
|
|
512
|
-
function _isSlot$1(
|
|
513
|
-
return typeof
|
|
511
|
+
function _isSlot$1(e) {
|
|
512
|
+
return typeof e == "function" || Object.prototype.toString.call(e) === "[object Object]" && !isVNode(e);
|
|
514
513
|
}
|
|
515
514
|
const AppMenu = /* @__PURE__ */ defineComponent({
|
|
516
515
|
name: "AppMenu",
|
|
@@ -535,52 +534,52 @@ const AppMenu = /* @__PURE__ */ defineComponent({
|
|
|
535
534
|
default: 60
|
|
536
535
|
}
|
|
537
536
|
},
|
|
538
|
-
setup(
|
|
539
|
-
let
|
|
540
|
-
watch([() =>
|
|
541
|
-
if (
|
|
542
|
-
let
|
|
543
|
-
let
|
|
544
|
-
for (let
|
|
545
|
-
if (
|
|
546
|
-
let
|
|
547
|
-
_:
|
|
548
|
-
key:
|
|
549
|
-
label: () =>
|
|
550
|
-
icon:
|
|
551
|
-
children:
|
|
552
|
-
path:
|
|
553
|
-
depth:
|
|
537
|
+
setup(e) {
|
|
538
|
+
let t = shallowRef([]);
|
|
539
|
+
watch([() => e.menus, () => e.single], ([n, r]) => {
|
|
540
|
+
if (t.value = [], !n?.length) return;
|
|
541
|
+
let i = (t, n = 0) => {
|
|
542
|
+
let a = [];
|
|
543
|
+
for (let o of t) {
|
|
544
|
+
if (o.type === "action") continue;
|
|
545
|
+
let t = o.type === "view" ? void 0 : i(o.children ?? [], n + 1), s = {
|
|
546
|
+
_: o,
|
|
547
|
+
key: o.key,
|
|
548
|
+
label: () => e.renderLabel?.(o) ?? o.name,
|
|
549
|
+
icon: n === 0 || o.icon ? e.getIcon?.(o.icon) ?? IBookmark : void 0,
|
|
550
|
+
children: r ? void 0 : t,
|
|
551
|
+
path: o.path || (r ? t?.[0]?.path : void 0),
|
|
552
|
+
depth: n
|
|
554
553
|
};
|
|
555
|
-
delete
|
|
554
|
+
delete s.type, a.push(s);
|
|
556
555
|
}
|
|
557
|
-
return
|
|
556
|
+
return a;
|
|
558
557
|
};
|
|
559
|
-
|
|
560
|
-
}, { immediate: !0 }), watch([useTemplateRef("menu"), () =>
|
|
561
|
-
|
|
558
|
+
t.value = i(n);
|
|
559
|
+
}, { immediate: !0 }), watch([useTemplateRef("menu"), () => e.current], ([e, t]) => {
|
|
560
|
+
e?.showOption(t);
|
|
562
561
|
}, { immediate: !0 });
|
|
563
|
-
let
|
|
564
|
-
let
|
|
565
|
-
if (
|
|
566
|
-
href:
|
|
562
|
+
let n = inject(COLLAPSED_INJECTION_KEY, !1), r = (t) => {
|
|
563
|
+
let r = e.collapsed ?? unref(n), i;
|
|
564
|
+
if (t._.type === "view") if (t.isExternal && t.externalEmbed) i = createVNode("a", {
|
|
565
|
+
href: t.externalLink,
|
|
567
566
|
target: "_blank",
|
|
568
|
-
onClick: (
|
|
569
|
-
}, [
|
|
567
|
+
onClick: (e) => e.stopPropagation()
|
|
568
|
+
}, [t.label()]);
|
|
570
569
|
else {
|
|
571
|
-
let
|
|
572
|
-
|
|
570
|
+
let e;
|
|
571
|
+
i = createVNode(RouterLink, { to: t.path }, _isSlot$1(e = t.label()) ? e : { default: () => [e] });
|
|
573
572
|
}
|
|
574
|
-
else
|
|
575
|
-
return
|
|
573
|
+
else i = createVNode("span", null, [t.label()]);
|
|
574
|
+
return i.key = `${t.key}:${r ? 1 : 0}`, t.depth === 0 && !r && (i = withDirectives(createVNode("div", null, [i]), [[
|
|
576
575
|
vTooltip,
|
|
577
|
-
|
|
576
|
+
t.label(),
|
|
578
577
|
void 0,
|
|
579
578
|
{
|
|
580
579
|
auto: !0,
|
|
581
580
|
right: !0
|
|
582
581
|
}
|
|
583
|
-
]])),
|
|
582
|
+
]])), t.isNew && (i = createVNode("div", { style: "display: flex; width: 100%" }, [createVNode("span", { style: "flex: 0 1 auto; overflow: hidden; text-overflow: ellipsis" }, [i]), createVNode("svg", {
|
|
584
583
|
xmlns: "http://www.w3.org/2000/svg",
|
|
585
584
|
width: "24",
|
|
586
585
|
height: "24",
|
|
@@ -589,48 +588,48 @@ const AppMenu = /* @__PURE__ */ defineComponent({
|
|
|
589
588
|
}, [createVNode("path", {
|
|
590
589
|
d: "M245.76 286.72h552.96c124.928 0 225.28 100.352 225.28 225.28s-100.352 225.28-225.28 225.28H0V532.48c0-135.168 110.592-245.76 245.76-245.76z m133.12 348.16V401.408H348.16v178.176l-112.64-178.176H204.8V634.88h30.72v-178.176L348.16 634.88h30.72z m182.272-108.544v-24.576h-96.256v-75.776h110.592v-24.576h-141.312V634.88h143.36v-24.576h-112.64v-83.968h96.256z m100.352 28.672l-34.816-151.552h-34.816l55.296 233.472H675.84l47.104-161.792 4.096-20.48 4.096 20.48 47.104 161.792h28.672l57.344-233.472h-34.816l-32.768 151.552-4.096 30.72-6.144-30.72-40.96-151.552h-30.72l-40.96 151.552-6.144 30.72-6.144-30.72z",
|
|
591
590
|
fill: "var(--color-danger)"
|
|
592
|
-
}, null)])])),
|
|
591
|
+
}, null)])])), i;
|
|
593
592
|
};
|
|
594
593
|
return () => {
|
|
595
|
-
let
|
|
594
|
+
let i = createVNode(NMenu, {
|
|
596
595
|
ref: "menu",
|
|
597
|
-
options:
|
|
596
|
+
options: t.value,
|
|
598
597
|
rootIndent: 16,
|
|
599
|
-
accordion:
|
|
600
|
-
collapsed:
|
|
598
|
+
accordion: e.accordion,
|
|
599
|
+
collapsed: e.collapsed ?? unref(n),
|
|
601
600
|
dropdownProps: { showArrow: !0 },
|
|
602
|
-
mode:
|
|
603
|
-
value:
|
|
604
|
-
renderLabel:
|
|
601
|
+
mode: e.horizontal ? "horizontal" : "vertical",
|
|
602
|
+
value: e.current ?? null,
|
|
603
|
+
renderLabel: r,
|
|
605
604
|
responsive: !0,
|
|
606
|
-
collapsedWidth:
|
|
607
|
-
width:
|
|
605
|
+
collapsedWidth: e.collapsedWidth,
|
|
606
|
+
width: e.width
|
|
608
607
|
}, null);
|
|
609
|
-
return
|
|
608
|
+
return e.horizontal ? i : createVNode(NScrollbar, null, _isSlot$1(i) ? i : { default: () => [i] });
|
|
610
609
|
};
|
|
611
610
|
}
|
|
612
611
|
});
|
|
613
|
-
function useCtxMenu(
|
|
614
|
-
let { t:
|
|
612
|
+
function useCtxMenu(t, n, r) {
|
|
613
|
+
let { t: i } = useI18n(), a = reactive({
|
|
615
614
|
visible: !1,
|
|
616
615
|
x: 0,
|
|
617
616
|
y: 0
|
|
618
|
-
}),
|
|
619
|
-
|
|
620
|
-
},
|
|
617
|
+
}), o = async (e, t) => {
|
|
618
|
+
e.preventDefault(), e.stopPropagation(), !(a.visible && a.tab === t) && (a.tab = t, a.visible && (a.visible = !1, await promiseTimeout(130)), a.visible = !0, a.x = e.clientX, a.y = e.clientY);
|
|
619
|
+
}, s = async () => {
|
|
621
620
|
requestIdleCallback(() => {
|
|
622
|
-
|
|
621
|
+
a.visible = !1;
|
|
623
622
|
}, { timeout: 30 });
|
|
624
|
-
},
|
|
623
|
+
}, l = useRouter();
|
|
625
624
|
return {
|
|
626
|
-
ctx:
|
|
627
|
-
onCtx:
|
|
628
|
-
|
|
625
|
+
ctx: a,
|
|
626
|
+
onCtx: o,
|
|
627
|
+
onClickOutside: s,
|
|
629
628
|
options: computed(() => [
|
|
630
629
|
{
|
|
631
630
|
key: "reload",
|
|
632
|
-
label:
|
|
633
|
-
disabled: !
|
|
631
|
+
label: i("common.layout.tabs.reloadTab"),
|
|
632
|
+
disabled: !a.tab || a.tab.key !== n.value,
|
|
634
633
|
icon: () => createVNode(NIcon, { size: 20 }, { default: () => [createVNode("svg", {
|
|
635
634
|
xmlns: "http://www.w3.org/2000/svg",
|
|
636
635
|
"xmlns:xlink": "http://www.w3.org/1999/xlink",
|
|
@@ -645,7 +644,7 @@ function useCtxMenu(z, B, V) {
|
|
|
645
644
|
},
|
|
646
645
|
{
|
|
647
646
|
key: "fullTab",
|
|
648
|
-
label:
|
|
647
|
+
label: i("common.layout.tabs.fullTab"),
|
|
649
648
|
icon: () => createVNode(NIcon, { size: 16 }, { default: () => [createVNode("svg", {
|
|
650
649
|
xmlns: "http://www.w3.org/2000/svg",
|
|
651
650
|
width: "1em",
|
|
@@ -664,8 +663,8 @@ function useCtxMenu(z, B, V) {
|
|
|
664
663
|
},
|
|
665
664
|
{
|
|
666
665
|
key: "open",
|
|
667
|
-
label:
|
|
668
|
-
disabled: !
|
|
666
|
+
label: i("common.layout.tabs.openTabBlank"),
|
|
667
|
+
disabled: !a.tab,
|
|
669
668
|
icon: () => createVNode(NIcon, { size: 20 }, { default: () => [createVNode("svg", {
|
|
670
669
|
xmlns: "http://www.w3.org/2000/svg",
|
|
671
670
|
"xmlns:xlink": "http://www.w3.org/1999/xlink",
|
|
@@ -682,7 +681,7 @@ function useCtxMenu(z, B, V) {
|
|
|
682
681
|
},
|
|
683
682
|
{
|
|
684
683
|
key: "closeAll",
|
|
685
|
-
label:
|
|
684
|
+
label: i("common.layout.tabs.closeAllTabs"),
|
|
686
685
|
icon: () => createVNode(NIcon, { size: 20 }, { default: () => [createVNode("svg", {
|
|
687
686
|
xmlns: "http://www.w3.org/2000/svg",
|
|
688
687
|
"xmlns:xlink": "http://www.w3.org/1999/xlink",
|
|
@@ -697,8 +696,8 @@ function useCtxMenu(z, B, V) {
|
|
|
697
696
|
},
|
|
698
697
|
{
|
|
699
698
|
key: "closeLeft",
|
|
700
|
-
label:
|
|
701
|
-
disabled: !
|
|
699
|
+
label: i("common.layout.tabs.closeLeftTabs"),
|
|
700
|
+
disabled: !a.tab,
|
|
702
701
|
icon: () => createVNode(NIcon, { size: 20 }, { default: () => [createVNode("svg", {
|
|
703
702
|
xmlns: "http://www.w3.org/2000/svg",
|
|
704
703
|
"xmlns:xlink": "http://www.w3.org/1999/xlink",
|
|
@@ -713,8 +712,8 @@ function useCtxMenu(z, B, V) {
|
|
|
713
712
|
},
|
|
714
713
|
{
|
|
715
714
|
key: "closeRight",
|
|
716
|
-
label:
|
|
717
|
-
disabled: !
|
|
715
|
+
label: i("common.layout.tabs.closeRightTabs"),
|
|
716
|
+
disabled: !a.tab,
|
|
718
717
|
icon: () => createVNode(NIcon, { size: 20 }, { default: () => [createVNode("svg", {
|
|
719
718
|
xmlns: "http://www.w3.org/2000/svg",
|
|
720
719
|
"xmlns:xlink": "http://www.w3.org/1999/xlink",
|
|
@@ -729,8 +728,8 @@ function useCtxMenu(z, B, V) {
|
|
|
729
728
|
},
|
|
730
729
|
{
|
|
731
730
|
key: "closeOther",
|
|
732
|
-
label:
|
|
733
|
-
disabled: !
|
|
731
|
+
label: i("common.layout.tabs.closeOtherTabs"),
|
|
732
|
+
disabled: !a.tab,
|
|
734
733
|
icon: () => createVNode(NIcon, { size: 20 }, { default: () => [" ", createVNode("svg", {
|
|
735
734
|
xmlns: "http://www.w3.org/2000/svg",
|
|
736
735
|
"xmlns:xlink": "http://www.w3.org/1999/xlink",
|
|
@@ -744,63 +743,63 @@ function useCtxMenu(z, B, V) {
|
|
|
744
743
|
}, null)])] })
|
|
745
744
|
}
|
|
746
745
|
]),
|
|
747
|
-
onSelect: async (
|
|
748
|
-
|
|
749
|
-
let
|
|
750
|
-
if (
|
|
751
|
-
await
|
|
752
|
-
for (let
|
|
746
|
+
onSelect: async (e) => {
|
|
747
|
+
a.visible = !1;
|
|
748
|
+
let i = [...t.value];
|
|
749
|
+
if (e === "closeAll") {
|
|
750
|
+
await l.push("/");
|
|
751
|
+
for (let e of i) e.key !== n.value && e.close(!1);
|
|
753
752
|
return;
|
|
754
753
|
}
|
|
755
|
-
if (
|
|
756
|
-
|
|
754
|
+
if (e === "fullTab") {
|
|
755
|
+
r();
|
|
757
756
|
return;
|
|
758
757
|
}
|
|
759
|
-
if (
|
|
758
|
+
if (a.tab) switch (e) {
|
|
760
759
|
case "open":
|
|
761
|
-
window.open(
|
|
760
|
+
window.open(a.tab.href, "_blank");
|
|
762
761
|
break;
|
|
763
762
|
case "reload":
|
|
764
|
-
|
|
763
|
+
a.tab.reloading || (a.tab.reloading = !0, await promiseTimeout(220), a.tab.reloading = !1);
|
|
765
764
|
break;
|
|
766
765
|
case "close":
|
|
767
|
-
|
|
766
|
+
a.tab?.close();
|
|
768
767
|
break;
|
|
769
768
|
case "closeOther":
|
|
770
|
-
|
|
771
|
-
for (let
|
|
769
|
+
n.value !== a.tab.key && await l.push(a.tab.fullPath);
|
|
770
|
+
for (let e of i) e.key !== a.tab.key && e.close(!1);
|
|
772
771
|
break;
|
|
773
772
|
case "closeLeft":
|
|
774
|
-
|
|
775
|
-
for (let
|
|
773
|
+
n.value !== a.tab.key && await l.push(a.tab.fullPath);
|
|
774
|
+
for (let e of t.value.slice(0, i.indexOf(a.tab))) e.close(!1);
|
|
776
775
|
break;
|
|
777
776
|
case "closeRight":
|
|
778
|
-
|
|
779
|
-
for (let
|
|
777
|
+
n.value !== a.tab.key && await l.push(a.tab.fullPath);
|
|
778
|
+
for (let e of t.value.slice(i.indexOf(a.tab) + 1)) e.close(!1);
|
|
780
779
|
break;
|
|
781
780
|
}
|
|
782
781
|
}
|
|
783
782
|
};
|
|
784
783
|
}
|
|
785
|
-
function useContentScroll(
|
|
786
|
-
function
|
|
787
|
-
if (
|
|
788
|
-
let
|
|
789
|
-
|
|
784
|
+
function useContentScroll(e, t, n) {
|
|
785
|
+
function r(n) {
|
|
786
|
+
if (n === -1 || !t.value?.children.length) return;
|
|
787
|
+
let r = t.value.children[n];
|
|
788
|
+
e.value.scrollTo({
|
|
790
789
|
behavior: "smooth",
|
|
791
|
-
left: Math.max(0,
|
|
790
|
+
left: Math.max(0, t.value.offsetLeft + r.offsetLeft - e.value.clientWidth / 2 + r.clientWidth / 2 + 10)
|
|
792
791
|
});
|
|
793
792
|
}
|
|
794
|
-
return watchDebounced(useElementHover(
|
|
795
|
-
|
|
796
|
-
}, { debounce: 333 }), watch(
|
|
797
|
-
|
|
793
|
+
return watchDebounced(useElementHover(e), (e) => {
|
|
794
|
+
e || r(n.value);
|
|
795
|
+
}, { debounce: 333 }), watch(n, r, { flush: "post" }), useEventListener(e, "wheel", (t) => {
|
|
796
|
+
t.deltaMode === WheelEvent.DOM_DELTA_PIXEL && (t.preventDefault(), e.value.scrollBy({ left: t.deltaY }));
|
|
798
797
|
}, { passive: !1 }), {
|
|
799
|
-
el:
|
|
800
|
-
content:
|
|
798
|
+
el: e,
|
|
799
|
+
content: t
|
|
801
800
|
};
|
|
802
801
|
}
|
|
803
|
-
var IBg = (
|
|
802
|
+
var IBg = (e) => createVNode("svg", e, [
|
|
804
803
|
createVNode("defs", null, [
|
|
805
804
|
createVNode("symbol", {
|
|
806
805
|
id: "geometry-left",
|
|
@@ -846,39 +845,39 @@ var IBg = (d) => createVNode("svg", d, [
|
|
|
846
845
|
dark: Boolean
|
|
847
846
|
},
|
|
848
847
|
emits: ["close"],
|
|
849
|
-
setup(
|
|
850
|
-
let
|
|
851
|
-
watch(
|
|
852
|
-
await promiseTimeout(1),
|
|
848
|
+
setup(e, { emit: t, slots: n }) {
|
|
849
|
+
let r = ref(), i = useElementHover(r), a = ref(), o = ref(), { width: s } = useElementSize(o);
|
|
850
|
+
watch(s, async () => {
|
|
851
|
+
await promiseTimeout(1), a.value.style.width = o.value.scrollWidth + "px";
|
|
853
852
|
});
|
|
854
|
-
let
|
|
853
|
+
let l = useThemeVars(), u = computed(() => ({
|
|
855
854
|
fontSize: "14px",
|
|
856
|
-
color:
|
|
855
|
+
color: e.isCurrent ? l.value.primaryColor : l.value.textColor3,
|
|
857
856
|
maxWidth: "355px",
|
|
858
857
|
overflow: "hidden"
|
|
859
|
-
})),
|
|
858
|
+
})), d = computed(() => ({
|
|
860
859
|
width: "calc(100% + 27px)",
|
|
861
860
|
height: "100%",
|
|
862
861
|
position: "absolute",
|
|
863
862
|
top: "0",
|
|
864
863
|
left: "-14px",
|
|
865
|
-
zIndex:
|
|
866
|
-
color:
|
|
864
|
+
zIndex: e.isCurrent ? -1 : -2,
|
|
865
|
+
color: e.isCurrent ? getOpaqueColor(l.value.primaryColor, e.dark ? .3 : .12, e.dark ? "#000" : "#fff") : i.value ? l.value.borderColor : "transparent"
|
|
867
866
|
}));
|
|
868
867
|
return () => createVNode("div", {
|
|
869
|
-
ref:
|
|
868
|
+
ref: r,
|
|
870
869
|
style: "position: relative; padding: 2px 10px 5px; cursor: pointer"
|
|
871
870
|
}, [
|
|
872
871
|
createVNode("div", {
|
|
873
|
-
ref:
|
|
872
|
+
ref: a,
|
|
874
873
|
style: "transition: width 300ms; overflow: hidden"
|
|
875
874
|
}, [createVNode("div", {
|
|
876
|
-
ref:
|
|
875
|
+
ref: o,
|
|
877
876
|
style: "display: flex; align-items: center; gap: 4px; width: fit-content"
|
|
878
|
-
}, [createVNode("span", { style:
|
|
877
|
+
}, [createVNode("span", { style: u.value }, [n.default?.()]), e.closable !== !1 && (e.isCurrent || i.value) ? createVNode("span", { style: "line-height: 0; display: inline-block; text-align: right; padding-top: 2px" }, [createVNode(NButton, {
|
|
879
878
|
text: !0,
|
|
880
|
-
onClick: (
|
|
881
|
-
|
|
879
|
+
onClick: (e) => {
|
|
880
|
+
e.stopPropagation(), t("close");
|
|
882
881
|
}
|
|
883
882
|
}, { default: () => [createVNode(NIcon, { size: 18 }, { default: () => [createVNode("svg", {
|
|
884
883
|
xmlns: "http://www.w3.org/2000/svg",
|
|
@@ -890,7 +889,7 @@ var IBg = (d) => createVNode("svg", d, [
|
|
|
890
889
|
d: "m6.4 18.308l-.708-.708l5.6-5.6l-5.6-5.6l.708-.708l5.6 5.6l5.6-5.6l.708.708l-5.6 5.6l5.6 5.6l-.708.708l-5.6-5.6z"
|
|
891
890
|
}, null)])] })] })]) : void 0])]),
|
|
892
891
|
createVNode("span", { style: "height: 50%; width: 1px; background: #aaa; display: inline-block; position: absolute; top: 20%; right: -4px; z-index: -3" }, null),
|
|
893
|
-
createVNode(IBg, { style:
|
|
892
|
+
createVNode(IBg, { style: d.value }, null)
|
|
894
893
|
]);
|
|
895
894
|
}
|
|
896
895
|
});
|
|
@@ -904,53 +903,53 @@ const AppMultiTabs = /* @__PURE__ */ defineComponent({
|
|
|
904
903
|
dark: Boolean
|
|
905
904
|
},
|
|
906
905
|
emits: ["update:fullTab"],
|
|
907
|
-
setup(
|
|
908
|
-
let
|
|
909
|
-
|
|
910
|
-
let
|
|
911
|
-
return useContentScroll(
|
|
912
|
-
ref:
|
|
906
|
+
setup(e, { emit: t, slots: n }) {
|
|
907
|
+
let r = getCtx();
|
|
908
|
+
r.hasMultiTab = !0;
|
|
909
|
+
let i = useRouter(), { ctx: a, onCtx: o, onClickOutside: s, options: l, onSelect: u } = useCtxMenu(toRef(e, "tabs"), computed(() => e.current?.key), () => t("update:fullTab", !e.fullTab)), d = computed(() => e.current ? e.tabs.findIndex((t) => t.key === e.current?.key) : -1), f = ref(), m = ref();
|
|
910
|
+
return useContentScroll(f, m, d), () => createVNode("div", { style: "width: 100%; height: 100%; overflow: hidden; display: flex; justify-content: space-between" }, [createVNode("div", {
|
|
911
|
+
ref: f,
|
|
913
912
|
style: "flex: 1 1 100%; height: 100%; display: flex; overflow: hidden; align-items: center; position: relative"
|
|
914
913
|
}, [
|
|
915
914
|
createVNode("div", { style: "height: 100%; flex: 0 0 16px; z-index: 1; position: sticky; left: 0; backdrop-filter: opacity(0.9) blur(5px)" }, null),
|
|
916
915
|
createVNode("div", {
|
|
917
|
-
ref:
|
|
916
|
+
ref: m,
|
|
918
917
|
style: "padding-inline: 12px; flex: 1 1 auto; display: flex; align-items: end; gap: 8px; height: 100%",
|
|
919
|
-
onContextmenu: (
|
|
920
|
-
}, [
|
|
921
|
-
let
|
|
918
|
+
onContextmenu: (e) => o(e)
|
|
919
|
+
}, [e.tabs.map((t, r, a) => {
|
|
920
|
+
let s = e.current?.key === t.key, l = t.title ?? t.path;
|
|
922
921
|
return createVNode(AppTab, {
|
|
923
|
-
key:
|
|
924
|
-
isCurrent:
|
|
925
|
-
isLast:
|
|
926
|
-
onClose:
|
|
927
|
-
closable:
|
|
928
|
-
dark:
|
|
922
|
+
key: t.key,
|
|
923
|
+
isCurrent: s,
|
|
924
|
+
isLast: r === a.length - 1,
|
|
925
|
+
onClose: t.close,
|
|
926
|
+
closable: t.closable,
|
|
927
|
+
dark: e.dark,
|
|
929
928
|
onClick: () => {
|
|
930
|
-
|
|
929
|
+
s || i.push(t.fullPath);
|
|
931
930
|
},
|
|
932
|
-
onContextmenu: (
|
|
933
|
-
}, { default: () => [
|
|
934
|
-
isCurrent:
|
|
935
|
-
name:
|
|
936
|
-
tab:
|
|
937
|
-
}) :
|
|
931
|
+
onContextmenu: (e) => o(e, t)
|
|
932
|
+
}, { default: () => [n.name ? n.name({
|
|
933
|
+
isCurrent: s,
|
|
934
|
+
name: l,
|
|
935
|
+
tab: t
|
|
936
|
+
}) : l] });
|
|
938
937
|
})]),
|
|
939
938
|
createVNode("div", { style: "height: 100%; flex: 0 0 16px; z-index: 1; position: sticky; right: 0; backdrop-filter: opacity(0.9) blur(5px)" }, null)
|
|
940
939
|
]), createVNode(NDropdown, {
|
|
941
940
|
placement: "bottom-start",
|
|
942
941
|
trigger: "manual",
|
|
943
|
-
show:
|
|
944
|
-
x:
|
|
945
|
-
y:
|
|
946
|
-
options:
|
|
947
|
-
onClickoutside:
|
|
948
|
-
onSelect:
|
|
942
|
+
show: a.visible,
|
|
943
|
+
x: a.x,
|
|
944
|
+
y: a.y,
|
|
945
|
+
options: l.value,
|
|
946
|
+
onClickoutside: s,
|
|
947
|
+
onSelect: u
|
|
949
948
|
}, null)]);
|
|
950
949
|
}
|
|
951
950
|
});
|
|
952
|
-
function _isSlot(
|
|
953
|
-
return typeof
|
|
951
|
+
function _isSlot(e) {
|
|
952
|
+
return typeof e == "function" || Object.prototype.toString.call(e) === "[object Object]" && !isVNode(e);
|
|
954
953
|
}
|
|
955
954
|
const AppNotification = /* @__PURE__ */ defineComponent({
|
|
956
955
|
name: "AppNotification",
|
|
@@ -965,36 +964,36 @@ const AppNotification = /* @__PURE__ */ defineComponent({
|
|
|
965
964
|
default: 3e4
|
|
966
965
|
}
|
|
967
966
|
},
|
|
968
|
-
setup(
|
|
969
|
-
let { t:
|
|
967
|
+
setup(t, { slots: n, attrs: r }) {
|
|
968
|
+
let { t: i } = useI18n(), a = ref(!1), o = ref("unread"), u = reactive({
|
|
970
969
|
page: 1,
|
|
971
970
|
size: 10,
|
|
972
971
|
loading: !1,
|
|
973
972
|
records: [],
|
|
974
973
|
total: 0,
|
|
975
974
|
unread: 0
|
|
976
|
-
}), { sync:
|
|
975
|
+
}), { sync: d, post: p } = useAtomicBroadcast({
|
|
977
976
|
channel: "__ithinkdt_mc_shared_channel",
|
|
978
|
-
onMsg: (
|
|
979
|
-
|
|
977
|
+
onMsg: (e) => {
|
|
978
|
+
u.unread = e;
|
|
980
979
|
},
|
|
981
|
-
getMsg: () => (
|
|
982
|
-
|
|
980
|
+
getMsg: () => (a.value && (u.loading = !0, Promise.resolve(t.getPage?.(o.value, u.page, u.size) ?? []).then(({ records: e, total: t }) => {
|
|
981
|
+
u.records = e, o.value === "unread" ? (u.unread = t, p(t)) : u.total = t;
|
|
983
982
|
}).finally(() => {
|
|
984
|
-
|
|
985
|
-
})),
|
|
986
|
-
timeout: () =>
|
|
983
|
+
u.loading = !1;
|
|
984
|
+
})), t.getUnreadCount?.() ?? 0),
|
|
985
|
+
timeout: () => t.interval,
|
|
987
986
|
immediate: !0
|
|
988
987
|
});
|
|
989
988
|
return () => {
|
|
990
|
-
let
|
|
989
|
+
let e = withDirectives(createVNode(NButton, mergeProps(r, {
|
|
991
990
|
quaternary: !0,
|
|
992
991
|
style: "--n-padding: 0 12px",
|
|
993
992
|
onClick: () => {
|
|
994
|
-
|
|
993
|
+
a.value = !0, o.value = u.unread > 0 ? "unread" : "all", setTimeout(d, 300);
|
|
995
994
|
}
|
|
996
|
-
}), { default: () => [
|
|
997
|
-
show:
|
|
995
|
+
}), { default: () => [n.icon ? n.icon() : createVNode(NBadge, {
|
|
996
|
+
show: u.unread > 0,
|
|
998
997
|
dot: !0,
|
|
999
998
|
offset: [-2, 5],
|
|
1000
999
|
processing: !0
|
|
@@ -1012,47 +1011,47 @@ const AppNotification = /* @__PURE__ */ defineComponent({
|
|
|
1012
1011
|
color: "currentColor"
|
|
1013
1012
|
}, [createVNode("path", { d: "M2.53 14.77c-.213 1.394.738 2.361 1.902 2.843c4.463 1.85 10.673 1.85 15.136 0c1.164-.482 2.115-1.45 1.902-2.843c-.13-.857-.777-1.57-1.256-2.267c-.627-.924-.689-1.931-.69-3.003C19.525 5.358 16.157 2 12 2S4.475 5.358 4.475 9.5c0 1.072-.062 2.08-.69 3.003c-.478.697-1.124 1.41-1.255 2.267" }, null), createVNode("path", { d: "M8 19c.458 1.725 2.076 3 4 3c1.925 0 3.541-1.275 4-3" }, null)])])] })] })] }), [[
|
|
1014
1013
|
vTooltip,
|
|
1015
|
-
|
|
1014
|
+
i("common.notification.tip", { count: u.unread }),
|
|
1016
1015
|
void 0,
|
|
1017
1016
|
{ bottom: !0 }
|
|
1018
|
-
]]),
|
|
1019
|
-
let
|
|
1017
|
+
]]), p = () => {
|
|
1018
|
+
let e, t;
|
|
1020
1019
|
return createVNode("div", { style: "display: flex; align-items: baseline; gap: 20px" }, [
|
|
1021
|
-
createVNode("div", { style: "padding-right: 12px" }, [
|
|
1020
|
+
createVNode("div", { style: "padding-right: 12px" }, [i("common.notification.title")]),
|
|
1022
1021
|
createVNode(NButton, {
|
|
1023
1022
|
text: !0,
|
|
1024
|
-
type:
|
|
1023
|
+
type: o.value === "all" ? "primary" : "default",
|
|
1025
1024
|
onClick: () => {
|
|
1026
|
-
|
|
1025
|
+
o.value = "all", d();
|
|
1027
1026
|
}
|
|
1028
|
-
}, _isSlot(
|
|
1027
|
+
}, _isSlot(e = i("common.notification.all")) ? e : { default: () => [e] }),
|
|
1029
1028
|
createVNode(NButton, {
|
|
1030
1029
|
text: !0,
|
|
1031
|
-
type:
|
|
1030
|
+
type: o.value === "unread" ? "primary" : "default",
|
|
1032
1031
|
onClick: () => {
|
|
1033
|
-
|
|
1032
|
+
o.value = "unread", d();
|
|
1034
1033
|
}
|
|
1035
|
-
}, _isSlot(
|
|
1034
|
+
}, _isSlot(t = i("common.notification.unread", { count: u.unread > 99 ? "99+" : u.unread.toString() })) ? t : { default: () => [t] })
|
|
1036
1035
|
]);
|
|
1037
|
-
},
|
|
1038
|
-
key:
|
|
1036
|
+
}, m = (e) => createVNode(NListItem, {
|
|
1037
|
+
key: e.key,
|
|
1039
1038
|
onClick: () => {
|
|
1040
|
-
|
|
1041
|
-
|
|
1042
|
-
}),
|
|
1039
|
+
e.status === "unread" && (t.markRead?.([e.key]).then(() => {
|
|
1040
|
+
e.status = "read";
|
|
1041
|
+
}), u.unread--), e.link && window.open(e.link, "_target");
|
|
1043
1042
|
}
|
|
1044
1043
|
}, { default: () => [createVNode(NThing, {
|
|
1045
1044
|
bordered: !1,
|
|
1046
1045
|
closable: !0,
|
|
1047
1046
|
contentIndented: !0,
|
|
1048
1047
|
size: "small",
|
|
1049
|
-
onMouseenter: () =>
|
|
1050
|
-
onMouseleave: () =>
|
|
1048
|
+
onMouseenter: () => e.hover = !0,
|
|
1049
|
+
onMouseleave: () => e.hover = !1,
|
|
1051
1050
|
style: "padding: 0 4px"
|
|
1052
1051
|
}, {
|
|
1053
1052
|
avatar: () => createVNode(NIcon, {
|
|
1054
1053
|
size: 22,
|
|
1055
|
-
color:
|
|
1054
|
+
color: e.status === "unread" ? "var(--color-primary)" : void 0
|
|
1056
1055
|
}, { default: () => [createVNode("svg", {
|
|
1057
1056
|
xmlns: "http://www.w3.org/2000/svg",
|
|
1058
1057
|
width: "1em",
|
|
@@ -1062,48 +1061,48 @@ const AppNotification = /* @__PURE__ */ defineComponent({
|
|
|
1062
1061
|
fill: "currentColor",
|
|
1063
1062
|
d: "M12.3 7.29c.2-.18.44-.29.7-.29c.27 0 .5.11.71.29c.19.21.29.45.29.71c0 .27-.1.5-.29.71c-.21.19-.44.29-.71.29c-.26 0-.5-.1-.7-.29c-.19-.21-.3-.44-.3-.71c0-.26.11-.5.3-.71m-2.5 4.68s2.17-1.72 2.96-1.79c.74-.06.59.79.52 1.23l-.01.06c-.14.53-.31 1.17-.48 1.78c-.38 1.39-.75 2.75-.66 3c.1.34.72-.09 1.17-.39c.06-.04.11-.08.16-.11c0 0 .08-.08.16.03c.02.03.04.06.06.08c.09.14.14.19.02.27l-.04.02c-.22.15-1.16.81-1.54 1.05c-.41.27-1.98 1.17-1.74-.58c.21-1.23.49-2.29.71-3.12c.41-1.5.59-2.18-.33-1.59c-.37.22-.59.36-.72.45c-.11.08-.12.08-.19-.05l-.03-.06l-.05-.08c-.07-.1-.07-.11.03-.2M22 12c0 5.5-4.5 10-10 10S2 17.5 2 12S6.5 2 12 2s10 4.5 10 10m-2 0c0-4.42-3.58-8-8-8s-8 3.58-8 8s3.58 8 8 8s8-3.58 8-8"
|
|
1064
1063
|
}, null)])] }),
|
|
1065
|
-
header: () =>
|
|
1064
|
+
header: () => e.title,
|
|
1066
1065
|
"header-extra": () => {
|
|
1067
|
-
let
|
|
1068
|
-
return
|
|
1066
|
+
let n, r;
|
|
1067
|
+
return e.hover ? createVNode("div", {
|
|
1069
1068
|
style: "display: flex; justify-content: end; gap: 12px",
|
|
1070
|
-
onClick: (
|
|
1071
|
-
|
|
1069
|
+
onClick: (e) => {
|
|
1070
|
+
e.preventDefault(), e.stopPropagation();
|
|
1072
1071
|
}
|
|
1073
|
-
}, [
|
|
1072
|
+
}, [e.status === "unread" ? createVNode(NButton, {
|
|
1074
1073
|
text: !0,
|
|
1075
1074
|
type: "primary",
|
|
1076
1075
|
onClick: () => {
|
|
1077
|
-
|
|
1078
|
-
|
|
1076
|
+
t.markRead?.([e.key]).then(() => {
|
|
1077
|
+
e.status = "read", u.unread--;
|
|
1079
1078
|
});
|
|
1080
1079
|
}
|
|
1081
|
-
}, _isSlot(
|
|
1080
|
+
}, _isSlot(n = i("common.notification.markRead")) ? n : { default: () => [n] }) : void 0, createVNode(NButton, {
|
|
1082
1081
|
text: !0,
|
|
1083
1082
|
type: "error",
|
|
1084
1083
|
onClick: () => {
|
|
1085
|
-
|
|
1084
|
+
u.records === 1 ? (u.records = [], d()) : u.records.splice(u.records.findIndex((t) => t.key == e.key), 1), t.markDelete?.([e.key]);
|
|
1086
1085
|
}
|
|
1087
|
-
}, _isSlot(
|
|
1086
|
+
}, _isSlot(r = i("common.notification.markDelete")) ? r : { default: () => [r] })]) : void 0;
|
|
1088
1087
|
},
|
|
1089
|
-
default:
|
|
1090
|
-
footer: () => createVNode("span", { style: "color: gray" }, [
|
|
1091
|
-
})] }),
|
|
1092
|
-
let
|
|
1093
|
-
return withDirectives(
|
|
1088
|
+
default: e.content,
|
|
1089
|
+
footer: () => createVNode("span", { style: "color: gray" }, [e.hover ? format(e.date, i("common.notification.time")) : i("common.timeago", { time: e.date })])
|
|
1090
|
+
})] }), h = () => {
|
|
1091
|
+
let e;
|
|
1092
|
+
return withDirectives(u.records.length > 0 ? createVNode(NList, {
|
|
1094
1093
|
clickable: !0,
|
|
1095
1094
|
hoverable: !0,
|
|
1096
1095
|
style: "min-height: 50vh"
|
|
1097
|
-
}, _isSlot(
|
|
1098
|
-
},
|
|
1096
|
+
}, _isSlot(e = u.records.map((e) => m(e))) ? e : { default: () => [e] }) : createVNode(NEmpty, { style: "margin-top: 30vh" }, null), [[vSpin, u.loading]]);
|
|
1097
|
+
}, g = () => createVNode("div", { style: "display: flex; justify-content: space-between; width: 100%" }, [o.value === "unread" ? createVNode(NButton, {
|
|
1099
1098
|
text: !0,
|
|
1100
1099
|
type: "primary",
|
|
1101
|
-
disabled:
|
|
1100
|
+
disabled: u.records.length === 0,
|
|
1102
1101
|
onClick: () => {
|
|
1103
|
-
let
|
|
1104
|
-
|
|
1105
|
-
for (;
|
|
1106
|
-
|
|
1102
|
+
let e = u.records.filter((e) => e.status === "unread").map((e) => e.key);
|
|
1103
|
+
t.markRead(e).then(() => {
|
|
1104
|
+
for (; u.unread - e.length <= u.size * (u.page - 1);) u.page--;
|
|
1105
|
+
d();
|
|
1107
1106
|
});
|
|
1108
1107
|
}
|
|
1109
1108
|
}, {
|
|
@@ -1116,42 +1115,42 @@ const AppNotification = /* @__PURE__ */ defineComponent({
|
|
|
1116
1115
|
fill: "currentColor",
|
|
1117
1116
|
d: "M.41 13.41L6 19l1.41-1.42L1.83 12m20.41-6.42L11.66 16.17L7.5 12l-1.43 1.41L11.66 19l12-12M18 7l-1.41-1.42l-6.35 6.35l1.42 1.41z"
|
|
1118
1117
|
}, null)])] }),
|
|
1119
|
-
default: () =>
|
|
1118
|
+
default: () => i("common.notification.markPageRead")
|
|
1120
1119
|
}) : createVNode("span", null, null), createVNode(NPagination, {
|
|
1121
1120
|
simple: !0,
|
|
1122
|
-
pageSize:
|
|
1123
|
-
page:
|
|
1124
|
-
itemCount:
|
|
1125
|
-
onUpdatePage: (
|
|
1126
|
-
|
|
1121
|
+
pageSize: u.size,
|
|
1122
|
+
page: u.page,
|
|
1123
|
+
itemCount: o.value === "unread" ? u.unread : u.total,
|
|
1124
|
+
onUpdatePage: (e) => {
|
|
1125
|
+
u.page = e, d();
|
|
1127
1126
|
}
|
|
1128
1127
|
}, null)]);
|
|
1129
|
-
return createVNode(Fragment, null, [
|
|
1130
|
-
show:
|
|
1131
|
-
"onUpdate:show": (
|
|
1128
|
+
return createVNode(Fragment, null, [e, createVNode(NDrawer, {
|
|
1129
|
+
show: a.value,
|
|
1130
|
+
"onUpdate:show": (e) => a.value = e,
|
|
1132
1131
|
showMask: !1,
|
|
1133
1132
|
width: 400
|
|
1134
1133
|
}, { default: () => [createVNode(NDrawerContent, {
|
|
1135
|
-
title:
|
|
1134
|
+
title: i("common.notification.title"),
|
|
1136
1135
|
closable: !0,
|
|
1137
1136
|
nativeScrollbar: !1,
|
|
1138
1137
|
bodyContentStyle: { padding: "0" }
|
|
1139
1138
|
}, {
|
|
1140
|
-
header:
|
|
1141
|
-
default:
|
|
1142
|
-
footer:
|
|
1139
|
+
header: p,
|
|
1140
|
+
default: h,
|
|
1141
|
+
footer: g
|
|
1143
1142
|
})] })]);
|
|
1144
1143
|
};
|
|
1145
1144
|
}
|
|
1146
1145
|
});
|
|
1147
|
-
var ICheck = (
|
|
1146
|
+
var ICheck = (e) => createVNode("svg", mergeProps({
|
|
1148
1147
|
xmlns: "http://www.w3.org/2000/svg",
|
|
1149
1148
|
"xmlns:xlink": "http://www.w3.org/1999/xlink",
|
|
1150
1149
|
role: "img",
|
|
1151
1150
|
width: "1em",
|
|
1152
1151
|
height: "1em",
|
|
1153
1152
|
viewBox: "0 0 24 24"
|
|
1154
|
-
},
|
|
1153
|
+
}, e), [createVNode("path", {
|
|
1155
1154
|
fill: "currentColor",
|
|
1156
1155
|
d: "m9.55 18l-5.7-5.7l1.425-1.425L9.55 15.15l9.175-9.175L20.15 7.4z"
|
|
1157
1156
|
}, null)]);
|
|
@@ -1162,27 +1161,27 @@ const AppTenant = /* @__PURE__ */ defineComponent({
|
|
|
1162
1161
|
current: String
|
|
1163
1162
|
},
|
|
1164
1163
|
emit: ["update:current"],
|
|
1165
|
-
setup(
|
|
1166
|
-
let { t:
|
|
1164
|
+
setup(t, { emit: n }) {
|
|
1165
|
+
let { t: r } = useI18n(), i = (e) => e.disabled ? createVNode("div", null, [e.name]) : createVNode("div", { style: "display: flex; align-items: center; justify-content: space-between; gap: 20px" }, [createVNode("div", { style: "display: flex; align-items: center; gap: 8px" }, [createVNode(NAvatar, {
|
|
1167
1166
|
round: !0,
|
|
1168
1167
|
size: 22,
|
|
1169
1168
|
color: "var(--color-primary-hover)"
|
|
1170
|
-
}, { default: () => [
|
|
1169
|
+
}, { default: () => [e.icon?.() || e.name[0]] }), createVNode("span", { style: e.id === t.current ? "color: var(--color-primary)" : "" }, [e.name])]), e.id === t.current ? createVNode(ICheck, { style: "color: var(--color-primary); font-size: 20px" }, null) : createVNode("div", null, null)]), a = computed(() => [{
|
|
1171
1170
|
id: "___",
|
|
1172
|
-
name:
|
|
1171
|
+
name: r("common.account.changeTenant"),
|
|
1173
1172
|
disabled: !0
|
|
1174
|
-
}, ...
|
|
1173
|
+
}, ...t.options ?? []]);
|
|
1175
1174
|
return () => {
|
|
1176
|
-
if (!
|
|
1177
|
-
let
|
|
1175
|
+
if (!t.options?.length) return;
|
|
1176
|
+
let e = t.options.find((e) => e.id === t.current);
|
|
1178
1177
|
return createVNode(NDropdown, {
|
|
1179
|
-
options:
|
|
1178
|
+
options: a.value,
|
|
1180
1179
|
placement: "bottom-end",
|
|
1181
1180
|
keyField: "id",
|
|
1182
1181
|
labelField: "name",
|
|
1183
1182
|
showArrow: !0,
|
|
1184
|
-
renderLabel:
|
|
1185
|
-
onSelect: (
|
|
1183
|
+
renderLabel: i,
|
|
1184
|
+
onSelect: (e) => e !== t.current && n("update:current", e)
|
|
1186
1185
|
}, { default: () => [createVNode(NButton, {
|
|
1187
1186
|
quaternary: !0,
|
|
1188
1187
|
style: "--n-padding: 0 6px"
|
|
@@ -1198,15 +1197,15 @@ const AppTenant = /* @__PURE__ */ defineComponent({
|
|
|
1198
1197
|
d: "M728 600.2c8.1-13.2 4-30.4-9.1-38.5-30.7-19-63.6-33.8-97.8-44.4 69.4-43 115.6-119.8 115.6-207.4C736.7 175.2 627.5 66 492.8 66S249 175.2 249 309.9c0 88.2 46.8 165.5 117 208.3-12.9 4.1-25.6 8.8-38.1 14.1-51.1 21.8-97 53-136.4 92.7-39.4 39.7-70.3 85.9-91.9 137.4-22.4 53.3-33.7 109.9-33.7 168.2 0 15.5 12.5 28 28 28s28-12.5 28-28c0-207.5 167.4-376.3 373.2-376.3 68.8 0 136.1 19 194.4 55 13.1 8.2 30.4 4.1 38.5-9.1zM305 309.9c0-50.2 19.5-97.4 55-132.8 35.5-35.5 82.7-55 132.8-55 50.2 0 97.4 19.5 132.8 55 35.5 35.5 55 82.7 55 132.8s-19.5 97.4-55 132.8c-35.5 35.5-82.7 55-132.8 55-50.2 0-97.4-19.5-132.8-55-35.5-35.5-55-82.6-55-132.8zM606.2 746.4h325.1c11.3 0 21.5-6.8 25.9-17.3s1.9-22.5-6.1-30.5L844.5 592.1c-10.9-10.9-28.7-10.9-39.6 0-10.9 10.9-10.9 28.7 0 39.6l58.7 58.6H606.2c-15.5 0-28 12.5-28 28s12.6 28.1 28 28.1zM931.4 794.6H606.3c-11.3 0-21.5 6.8-25.9 17.3s-1.9 22.5 6.1 30.5l106.6 106.4c5.5 5.5 12.6 8.2 19.8 8.2 7.2 0 14.4-2.7 19.8-8.2 10.9-10.9 10.9-28.7 0-39.6L674 850.6h257.4c15.5 0 28-12.5 28-28s-12.5-28-28-28z",
|
|
1199
1198
|
fill: "currentColor"
|
|
1200
1199
|
}, null)])] }),
|
|
1201
|
-
default: () =>
|
|
1200
|
+
default: () => e?.shotName || e?.name
|
|
1202
1201
|
})] });
|
|
1203
1202
|
};
|
|
1204
1203
|
}
|
|
1205
1204
|
}), UIProvider = /* @__PURE__ */ defineComponent({
|
|
1206
1205
|
name: "UIProvider",
|
|
1207
1206
|
props: { i18n: Function },
|
|
1208
|
-
setup(
|
|
1209
|
-
return provide(UI_I18N_INJECTION, toRef(
|
|
1207
|
+
setup(e, { slots: n }) {
|
|
1208
|
+
return provide(UI_I18N_INJECTION, toRef(e, "i18n")), () => n.default();
|
|
1210
1209
|
}
|
|
1211
1210
|
});
|
|
1212
|
-
export { AppAccount, AppAppearance, AppBreadcrumb, AppContent, AppFooter, AppFullscreen, AppHeader, AppLanguage, AppLayout, AppLogo, AppMenu, AppMultiTabs, AppNotification,
|
|
1211
|
+
export { AppAccount, AppAppearance, AppBreadcrumb, AppContent, AppFooter, AppFullscreen, AppHeader, AppLanguage, AppLayout, AppLogo, AppMenu, AppMultiTabs, AppNotification, AppSidebar, AppTenant, SpinDirectiveProvider, TooltipDirectiveProvider, UIProvider, vSpin, vTooltip };
|