@ithinkdt/ui 4.0.0-700 → 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-Yo5FKzwp.js → components-DYFd5z-C.js} +618 -624
- package/dist/components.js +1 -1
- package/dist/directives-CBQhJ3zJ.js +237 -0
- package/dist/directives.js +1 -1
- package/dist/index.js +333 -333
- package/dist/page.js +359 -327
- package/dist/{use-style-DrH-89qR.js → use-style-BGq0HdRK.js} +2 -2
- package/dist/use-style.js +1 -1
- package/esm/components.d.ts +8 -5
- package/esm/design.d.ts +1 -1
- package/esm/page.d.ts +8 -3
- package/locale.d.ts +1 -0
- package/package.json +9 -9
- package/dist/directives-RPqFovTo.js +0 -237
package/dist/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
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-
|
|
3
|
-
import { i as vTooltip, n as vSpin, r as TooltipDirectiveProvider, t as SpinDirectiveProvider } from "./directives-
|
|
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"
|
|
@@ -369,28 +369,28 @@ const AppLayout = /* @__PURE__ */ defineComponent({
|
|
|
369
369
|
},
|
|
370
370
|
fullContent: Boolean
|
|
371
371
|
},
|
|
372
|
-
setup(
|
|
372
|
+
setup(e, { slots: t }) {
|
|
373
373
|
useStyle("-layout", style, ref("app"), !1);
|
|
374
|
-
let
|
|
374
|
+
let r = reactive({
|
|
375
375
|
siderWidth: "0px",
|
|
376
376
|
headerHeight: "0px",
|
|
377
377
|
footerHeight: "0px",
|
|
378
378
|
hasMultiTab: !1
|
|
379
379
|
});
|
|
380
|
-
return provide(CTX_INJECTION_KEY,
|
|
381
|
-
let { layout:
|
|
380
|
+
return provide(CTX_INJECTION_KEY, r), () => {
|
|
381
|
+
let { layout: n } = e;
|
|
382
382
|
return createVNode("div", {
|
|
383
383
|
class: {
|
|
384
384
|
"app-layout": !0,
|
|
385
|
-
"app-layout--full-header":
|
|
386
|
-
"app-layout--full-content":
|
|
385
|
+
"app-layout--full-header": n === "top2bottom",
|
|
386
|
+
"app-layout--full-content": e.fullContent
|
|
387
387
|
},
|
|
388
388
|
style: {
|
|
389
|
-
"--app-sider-width":
|
|
390
|
-
"--app-header-height":
|
|
391
|
-
"--app-footer-height":
|
|
389
|
+
"--app-sider-width": r.siderWidth,
|
|
390
|
+
"--app-header-height": r.headerHeight,
|
|
391
|
+
"--app-footer-height": r.footerHeight
|
|
392
392
|
}
|
|
393
|
-
}, [renderSlot(
|
|
393
|
+
}, [renderSlot(t, "default")]);
|
|
394
394
|
};
|
|
395
395
|
}
|
|
396
396
|
}), AppHeader = /* @__PURE__ */ defineComponent({
|
|
@@ -399,12 +399,12 @@ const AppLayout = /* @__PURE__ */ defineComponent({
|
|
|
399
399
|
type: Number,
|
|
400
400
|
default: 44
|
|
401
401
|
} },
|
|
402
|
-
setup(
|
|
403
|
-
let
|
|
404
|
-
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")]));
|
|
405
405
|
}
|
|
406
|
-
}),
|
|
407
|
-
name: "
|
|
406
|
+
}), AppSidebar = /* @__PURE__ */ defineComponent({
|
|
407
|
+
name: "AppSidebar",
|
|
408
408
|
props: {
|
|
409
409
|
showCollapseBtn: {
|
|
410
410
|
type: Boolean,
|
|
@@ -421,21 +421,21 @@ const AppLayout = /* @__PURE__ */ defineComponent({
|
|
|
421
421
|
}
|
|
422
422
|
},
|
|
423
423
|
emits: { "update:collapsed": () => !0 },
|
|
424
|
-
setup(
|
|
425
|
-
provide(COLLAPSED_INJECTION_KEY, toRef(
|
|
426
|
-
let { t:
|
|
427
|
-
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, {
|
|
428
428
|
class: "app-sider__collapse-btn",
|
|
429
429
|
quaternary: !0,
|
|
430
430
|
onClick: () => {
|
|
431
|
-
|
|
431
|
+
n("update:collapsed", !t.collapsed);
|
|
432
432
|
}
|
|
433
|
-
}, { 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]));
|
|
434
434
|
}
|
|
435
435
|
}), AppContent = /* @__PURE__ */ defineComponent({
|
|
436
436
|
name: "AppContent",
|
|
437
|
-
setup(
|
|
438
|
-
return () => createVNode("div", { class: "app-content" }, [renderSlot(
|
|
437
|
+
setup(e, { slots: t }) {
|
|
438
|
+
return () => createVNode("div", { class: "app-content" }, [renderSlot(t, "default")]);
|
|
439
439
|
}
|
|
440
440
|
}), AppFooter = /* @__PURE__ */ defineComponent({
|
|
441
441
|
name: "AppFooter",
|
|
@@ -443,13 +443,13 @@ const AppLayout = /* @__PURE__ */ defineComponent({
|
|
|
443
443
|
type: Number,
|
|
444
444
|
default: 30
|
|
445
445
|
} },
|
|
446
|
-
setup(
|
|
447
|
-
let
|
|
448
|
-
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")]));
|
|
449
449
|
}
|
|
450
450
|
});
|
|
451
|
-
function _isSlot$2(
|
|
452
|
-
return typeof
|
|
451
|
+
function _isSlot$2(e) {
|
|
452
|
+
return typeof e == "function" || Object.prototype.toString.call(e) === "[object Object]" && !isVNode(e);
|
|
453
453
|
}
|
|
454
454
|
const AppLogo = /* @__PURE__ */ defineComponent({
|
|
455
455
|
name: "AppLogo",
|
|
@@ -469,47 +469,47 @@ const AppLogo = /* @__PURE__ */ defineComponent({
|
|
|
469
469
|
default: !0
|
|
470
470
|
}
|
|
471
471
|
},
|
|
472
|
-
setup(
|
|
473
|
-
let
|
|
472
|
+
setup(e, { slots: t }) {
|
|
473
|
+
let n = computedAsync(() => typeof e.src == "function" ? e.src() : e.src), r = inject(COLLAPSED_INJECTION_KEY, !1);
|
|
474
474
|
return () => {
|
|
475
|
-
let { name:
|
|
476
|
-
|
|
477
|
-
let
|
|
475
|
+
let { name: i, collapsed: a, center: o, link: s } = e;
|
|
476
|
+
a ??= unref(r);
|
|
477
|
+
let l = a ? 1 : 1 / 1.1;
|
|
478
478
|
return createVNode("div", {
|
|
479
479
|
class: "app-logo",
|
|
480
480
|
style: {
|
|
481
481
|
"--app-logo-img-size": "32px",
|
|
482
482
|
"--app-logo-name-size": "22px",
|
|
483
|
-
width:
|
|
483
|
+
width: o ? "100%" : "auto",
|
|
484
484
|
overflow: "hidden",
|
|
485
485
|
display: "flex",
|
|
486
486
|
alignItems: "center",
|
|
487
|
-
justifyContent:
|
|
488
|
-
cursor:
|
|
487
|
+
justifyContent: o ? "center" : "flex-start",
|
|
488
|
+
cursor: s ? "pointer" : void 0
|
|
489
489
|
}
|
|
490
|
-
}, [
|
|
490
|
+
}, [t.default ? t.default() : createVNode("div", {
|
|
491
491
|
class: "app-logo__img",
|
|
492
492
|
style: `
|
|
493
|
-
width: ${
|
|
494
|
-
font-size: ${
|
|
493
|
+
width: ${a ? "var(--app-sider-width, 60px)" : "56px"};
|
|
494
|
+
font-size: ${a ? "calc(var(--app-sider-width, 60px) - 24px)" : "32px"};
|
|
495
495
|
transition: width 0.2s ease-in-out 0.1s;
|
|
496
496
|
flex: 0 0 auto;
|
|
497
497
|
display: flex;
|
|
498
498
|
justify-content: center
|
|
499
499
|
`
|
|
500
|
-
}, [
|
|
501
|
-
src:
|
|
500
|
+
}, [t.icon ? t.icon() : createVNode("img", {
|
|
501
|
+
src: n.value,
|
|
502
502
|
alt: "App Logo",
|
|
503
|
-
style: `transition: height 0.2s ease-in-out; height: calc(var(--app-logo-img-size) * ${
|
|
504
|
-
}, null)]),
|
|
503
|
+
style: `transition: height 0.2s ease-in-out; height: calc(var(--app-logo-img-size) * ${l})`
|
|
504
|
+
}, null)]), i ? createVNode(NText, {
|
|
505
505
|
class: "app-logo__name",
|
|
506
506
|
style: "font-size: var(--app-logo-name-size); font-weight: bold; white-space: nowrap; flex: 0 1 auto; overflow: hidden"
|
|
507
|
-
}, _isSlot$2(
|
|
507
|
+
}, _isSlot$2(i) ? i : { default: () => [i] }) : ""]);
|
|
508
508
|
};
|
|
509
509
|
}
|
|
510
510
|
});
|
|
511
|
-
function _isSlot$1(
|
|
512
|
-
return typeof
|
|
511
|
+
function _isSlot$1(e) {
|
|
512
|
+
return typeof e == "function" || Object.prototype.toString.call(e) === "[object Object]" && !isVNode(e);
|
|
513
513
|
}
|
|
514
514
|
const AppMenu = /* @__PURE__ */ defineComponent({
|
|
515
515
|
name: "AppMenu",
|
|
@@ -534,52 +534,52 @@ const AppMenu = /* @__PURE__ */ defineComponent({
|
|
|
534
534
|
default: 60
|
|
535
535
|
}
|
|
536
536
|
},
|
|
537
|
-
setup(
|
|
538
|
-
let
|
|
539
|
-
watch([() =>
|
|
540
|
-
if (
|
|
541
|
-
let
|
|
542
|
-
let
|
|
543
|
-
for (let
|
|
544
|
-
if (
|
|
545
|
-
let
|
|
546
|
-
_:
|
|
547
|
-
key:
|
|
548
|
-
label: () =>
|
|
549
|
-
icon:
|
|
550
|
-
children:
|
|
551
|
-
path:
|
|
552
|
-
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
|
|
553
553
|
};
|
|
554
|
-
delete
|
|
554
|
+
delete s.type, a.push(s);
|
|
555
555
|
}
|
|
556
|
-
return
|
|
556
|
+
return a;
|
|
557
557
|
};
|
|
558
|
-
|
|
559
|
-
}, { immediate: !0 }), watch([useTemplateRef("menu"), () =>
|
|
560
|
-
|
|
558
|
+
t.value = i(n);
|
|
559
|
+
}, { immediate: !0 }), watch([useTemplateRef("menu"), () => e.current], ([e, t]) => {
|
|
560
|
+
e?.showOption(t);
|
|
561
561
|
}, { immediate: !0 });
|
|
562
|
-
let
|
|
563
|
-
let
|
|
564
|
-
if (
|
|
565
|
-
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,
|
|
566
566
|
target: "_blank",
|
|
567
|
-
onClick: (
|
|
568
|
-
}, [
|
|
567
|
+
onClick: (e) => e.stopPropagation()
|
|
568
|
+
}, [t.label()]);
|
|
569
569
|
else {
|
|
570
|
-
let
|
|
571
|
-
|
|
570
|
+
let e;
|
|
571
|
+
i = createVNode(RouterLink, { to: t.path }, _isSlot$1(e = t.label()) ? e : { default: () => [e] });
|
|
572
572
|
}
|
|
573
|
-
else
|
|
574
|
-
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]), [[
|
|
575
575
|
vTooltip,
|
|
576
|
-
|
|
576
|
+
t.label(),
|
|
577
577
|
void 0,
|
|
578
578
|
{
|
|
579
579
|
auto: !0,
|
|
580
580
|
right: !0
|
|
581
581
|
}
|
|
582
|
-
]])),
|
|
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", {
|
|
583
583
|
xmlns: "http://www.w3.org/2000/svg",
|
|
584
584
|
width: "24",
|
|
585
585
|
height: "24",
|
|
@@ -588,48 +588,48 @@ const AppMenu = /* @__PURE__ */ defineComponent({
|
|
|
588
588
|
}, [createVNode("path", {
|
|
589
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",
|
|
590
590
|
fill: "var(--color-danger)"
|
|
591
|
-
}, null)])])),
|
|
591
|
+
}, null)])])), i;
|
|
592
592
|
};
|
|
593
593
|
return () => {
|
|
594
|
-
let
|
|
594
|
+
let i = createVNode(NMenu, {
|
|
595
595
|
ref: "menu",
|
|
596
|
-
options:
|
|
596
|
+
options: t.value,
|
|
597
597
|
rootIndent: 16,
|
|
598
|
-
accordion:
|
|
599
|
-
collapsed:
|
|
598
|
+
accordion: e.accordion,
|
|
599
|
+
collapsed: e.collapsed ?? unref(n),
|
|
600
600
|
dropdownProps: { showArrow: !0 },
|
|
601
|
-
mode:
|
|
602
|
-
value:
|
|
603
|
-
renderLabel:
|
|
601
|
+
mode: e.horizontal ? "horizontal" : "vertical",
|
|
602
|
+
value: e.current ?? null,
|
|
603
|
+
renderLabel: r,
|
|
604
604
|
responsive: !0,
|
|
605
|
-
collapsedWidth:
|
|
606
|
-
width:
|
|
605
|
+
collapsedWidth: e.collapsedWidth,
|
|
606
|
+
width: e.width
|
|
607
607
|
}, null);
|
|
608
|
-
return
|
|
608
|
+
return e.horizontal ? i : createVNode(NScrollbar, null, _isSlot$1(i) ? i : { default: () => [i] });
|
|
609
609
|
};
|
|
610
610
|
}
|
|
611
611
|
});
|
|
612
|
-
function useCtxMenu(
|
|
613
|
-
let { t:
|
|
612
|
+
function useCtxMenu(t, n, r) {
|
|
613
|
+
let { t: i } = useI18n(), a = reactive({
|
|
614
614
|
visible: !1,
|
|
615
615
|
x: 0,
|
|
616
616
|
y: 0
|
|
617
|
-
}),
|
|
618
|
-
|
|
619
|
-
},
|
|
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 () => {
|
|
620
620
|
requestIdleCallback(() => {
|
|
621
|
-
|
|
621
|
+
a.visible = !1;
|
|
622
622
|
}, { timeout: 30 });
|
|
623
|
-
},
|
|
623
|
+
}, l = useRouter();
|
|
624
624
|
return {
|
|
625
|
-
ctx:
|
|
626
|
-
onCtx:
|
|
627
|
-
|
|
625
|
+
ctx: a,
|
|
626
|
+
onCtx: o,
|
|
627
|
+
onClickOutside: s,
|
|
628
628
|
options: computed(() => [
|
|
629
629
|
{
|
|
630
630
|
key: "reload",
|
|
631
|
-
label:
|
|
632
|
-
disabled: !
|
|
631
|
+
label: i("common.layout.tabs.reloadTab"),
|
|
632
|
+
disabled: !a.tab || a.tab.key !== n.value,
|
|
633
633
|
icon: () => createVNode(NIcon, { size: 20 }, { default: () => [createVNode("svg", {
|
|
634
634
|
xmlns: "http://www.w3.org/2000/svg",
|
|
635
635
|
"xmlns:xlink": "http://www.w3.org/1999/xlink",
|
|
@@ -644,7 +644,7 @@ function useCtxMenu(z, B, V) {
|
|
|
644
644
|
},
|
|
645
645
|
{
|
|
646
646
|
key: "fullTab",
|
|
647
|
-
label:
|
|
647
|
+
label: i("common.layout.tabs.fullTab"),
|
|
648
648
|
icon: () => createVNode(NIcon, { size: 16 }, { default: () => [createVNode("svg", {
|
|
649
649
|
xmlns: "http://www.w3.org/2000/svg",
|
|
650
650
|
width: "1em",
|
|
@@ -663,8 +663,8 @@ function useCtxMenu(z, B, V) {
|
|
|
663
663
|
},
|
|
664
664
|
{
|
|
665
665
|
key: "open",
|
|
666
|
-
label:
|
|
667
|
-
disabled: !
|
|
666
|
+
label: i("common.layout.tabs.openTabBlank"),
|
|
667
|
+
disabled: !a.tab,
|
|
668
668
|
icon: () => createVNode(NIcon, { size: 20 }, { default: () => [createVNode("svg", {
|
|
669
669
|
xmlns: "http://www.w3.org/2000/svg",
|
|
670
670
|
"xmlns:xlink": "http://www.w3.org/1999/xlink",
|
|
@@ -681,7 +681,7 @@ function useCtxMenu(z, B, V) {
|
|
|
681
681
|
},
|
|
682
682
|
{
|
|
683
683
|
key: "closeAll",
|
|
684
|
-
label:
|
|
684
|
+
label: i("common.layout.tabs.closeAllTabs"),
|
|
685
685
|
icon: () => createVNode(NIcon, { size: 20 }, { default: () => [createVNode("svg", {
|
|
686
686
|
xmlns: "http://www.w3.org/2000/svg",
|
|
687
687
|
"xmlns:xlink": "http://www.w3.org/1999/xlink",
|
|
@@ -696,8 +696,8 @@ function useCtxMenu(z, B, V) {
|
|
|
696
696
|
},
|
|
697
697
|
{
|
|
698
698
|
key: "closeLeft",
|
|
699
|
-
label:
|
|
700
|
-
disabled: !
|
|
699
|
+
label: i("common.layout.tabs.closeLeftTabs"),
|
|
700
|
+
disabled: !a.tab,
|
|
701
701
|
icon: () => createVNode(NIcon, { size: 20 }, { default: () => [createVNode("svg", {
|
|
702
702
|
xmlns: "http://www.w3.org/2000/svg",
|
|
703
703
|
"xmlns:xlink": "http://www.w3.org/1999/xlink",
|
|
@@ -712,8 +712,8 @@ function useCtxMenu(z, B, V) {
|
|
|
712
712
|
},
|
|
713
713
|
{
|
|
714
714
|
key: "closeRight",
|
|
715
|
-
label:
|
|
716
|
-
disabled: !
|
|
715
|
+
label: i("common.layout.tabs.closeRightTabs"),
|
|
716
|
+
disabled: !a.tab,
|
|
717
717
|
icon: () => createVNode(NIcon, { size: 20 }, { default: () => [createVNode("svg", {
|
|
718
718
|
xmlns: "http://www.w3.org/2000/svg",
|
|
719
719
|
"xmlns:xlink": "http://www.w3.org/1999/xlink",
|
|
@@ -728,8 +728,8 @@ function useCtxMenu(z, B, V) {
|
|
|
728
728
|
},
|
|
729
729
|
{
|
|
730
730
|
key: "closeOther",
|
|
731
|
-
label:
|
|
732
|
-
disabled: !
|
|
731
|
+
label: i("common.layout.tabs.closeOtherTabs"),
|
|
732
|
+
disabled: !a.tab,
|
|
733
733
|
icon: () => createVNode(NIcon, { size: 20 }, { default: () => [" ", createVNode("svg", {
|
|
734
734
|
xmlns: "http://www.w3.org/2000/svg",
|
|
735
735
|
"xmlns:xlink": "http://www.w3.org/1999/xlink",
|
|
@@ -743,63 +743,63 @@ function useCtxMenu(z, B, V) {
|
|
|
743
743
|
}, null)])] })
|
|
744
744
|
}
|
|
745
745
|
]),
|
|
746
|
-
onSelect: async (
|
|
747
|
-
|
|
748
|
-
let
|
|
749
|
-
if (
|
|
750
|
-
await
|
|
751
|
-
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);
|
|
752
752
|
return;
|
|
753
753
|
}
|
|
754
|
-
if (
|
|
755
|
-
|
|
754
|
+
if (e === "fullTab") {
|
|
755
|
+
r();
|
|
756
756
|
return;
|
|
757
757
|
}
|
|
758
|
-
if (
|
|
758
|
+
if (a.tab) switch (e) {
|
|
759
759
|
case "open":
|
|
760
|
-
window.open(
|
|
760
|
+
window.open(a.tab.href, "_blank");
|
|
761
761
|
break;
|
|
762
762
|
case "reload":
|
|
763
|
-
|
|
763
|
+
a.tab.reloading || (a.tab.reloading = !0, await promiseTimeout(220), a.tab.reloading = !1);
|
|
764
764
|
break;
|
|
765
765
|
case "close":
|
|
766
|
-
|
|
766
|
+
a.tab?.close();
|
|
767
767
|
break;
|
|
768
768
|
case "closeOther":
|
|
769
|
-
|
|
770
|
-
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);
|
|
771
771
|
break;
|
|
772
772
|
case "closeLeft":
|
|
773
|
-
|
|
774
|
-
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);
|
|
775
775
|
break;
|
|
776
776
|
case "closeRight":
|
|
777
|
-
|
|
778
|
-
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);
|
|
779
779
|
break;
|
|
780
780
|
}
|
|
781
781
|
}
|
|
782
782
|
};
|
|
783
783
|
}
|
|
784
|
-
function useContentScroll(
|
|
785
|
-
function
|
|
786
|
-
if (
|
|
787
|
-
let
|
|
788
|
-
|
|
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({
|
|
789
789
|
behavior: "smooth",
|
|
790
|
-
left: Math.max(0,
|
|
790
|
+
left: Math.max(0, t.value.offsetLeft + r.offsetLeft - e.value.clientWidth / 2 + r.clientWidth / 2 + 10)
|
|
791
791
|
});
|
|
792
792
|
}
|
|
793
|
-
return watchDebounced(useElementHover(
|
|
794
|
-
|
|
795
|
-
}, { debounce: 333 }), watch(
|
|
796
|
-
|
|
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 }));
|
|
797
797
|
}, { passive: !1 }), {
|
|
798
|
-
el:
|
|
799
|
-
content:
|
|
798
|
+
el: e,
|
|
799
|
+
content: t
|
|
800
800
|
};
|
|
801
801
|
}
|
|
802
|
-
var IBg = (
|
|
802
|
+
var IBg = (e) => createVNode("svg", e, [
|
|
803
803
|
createVNode("defs", null, [
|
|
804
804
|
createVNode("symbol", {
|
|
805
805
|
id: "geometry-left",
|
|
@@ -845,39 +845,39 @@ var IBg = (d) => createVNode("svg", d, [
|
|
|
845
845
|
dark: Boolean
|
|
846
846
|
},
|
|
847
847
|
emits: ["close"],
|
|
848
|
-
setup(
|
|
849
|
-
let
|
|
850
|
-
watch(
|
|
851
|
-
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";
|
|
852
852
|
});
|
|
853
|
-
let
|
|
853
|
+
let l = useThemeVars(), u = computed(() => ({
|
|
854
854
|
fontSize: "14px",
|
|
855
|
-
color:
|
|
855
|
+
color: e.isCurrent ? l.value.primaryColor : l.value.textColor3,
|
|
856
856
|
maxWidth: "355px",
|
|
857
857
|
overflow: "hidden"
|
|
858
|
-
})),
|
|
858
|
+
})), d = computed(() => ({
|
|
859
859
|
width: "calc(100% + 27px)",
|
|
860
860
|
height: "100%",
|
|
861
861
|
position: "absolute",
|
|
862
862
|
top: "0",
|
|
863
863
|
left: "-14px",
|
|
864
|
-
zIndex:
|
|
865
|
-
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"
|
|
866
866
|
}));
|
|
867
867
|
return () => createVNode("div", {
|
|
868
|
-
ref:
|
|
868
|
+
ref: r,
|
|
869
869
|
style: "position: relative; padding: 2px 10px 5px; cursor: pointer"
|
|
870
870
|
}, [
|
|
871
871
|
createVNode("div", {
|
|
872
|
-
ref:
|
|
872
|
+
ref: a,
|
|
873
873
|
style: "transition: width 300ms; overflow: hidden"
|
|
874
874
|
}, [createVNode("div", {
|
|
875
|
-
ref:
|
|
875
|
+
ref: o,
|
|
876
876
|
style: "display: flex; align-items: center; gap: 4px; width: fit-content"
|
|
877
|
-
}, [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, {
|
|
878
878
|
text: !0,
|
|
879
|
-
onClick: (
|
|
880
|
-
|
|
879
|
+
onClick: (e) => {
|
|
880
|
+
e.stopPropagation(), t("close");
|
|
881
881
|
}
|
|
882
882
|
}, { default: () => [createVNode(NIcon, { size: 18 }, { default: () => [createVNode("svg", {
|
|
883
883
|
xmlns: "http://www.w3.org/2000/svg",
|
|
@@ -889,7 +889,7 @@ var IBg = (d) => createVNode("svg", d, [
|
|
|
889
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"
|
|
890
890
|
}, null)])] })] })]) : void 0])]),
|
|
891
891
|
createVNode("span", { style: "height: 50%; width: 1px; background: #aaa; display: inline-block; position: absolute; top: 20%; right: -4px; z-index: -3" }, null),
|
|
892
|
-
createVNode(IBg, { style:
|
|
892
|
+
createVNode(IBg, { style: d.value }, null)
|
|
893
893
|
]);
|
|
894
894
|
}
|
|
895
895
|
});
|
|
@@ -903,53 +903,53 @@ const AppMultiTabs = /* @__PURE__ */ defineComponent({
|
|
|
903
903
|
dark: Boolean
|
|
904
904
|
},
|
|
905
905
|
emits: ["update:fullTab"],
|
|
906
|
-
setup(
|
|
907
|
-
let
|
|
908
|
-
|
|
909
|
-
let
|
|
910
|
-
return useContentScroll(
|
|
911
|
-
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,
|
|
912
912
|
style: "flex: 1 1 100%; height: 100%; display: flex; overflow: hidden; align-items: center; position: relative"
|
|
913
913
|
}, [
|
|
914
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),
|
|
915
915
|
createVNode("div", {
|
|
916
|
-
ref:
|
|
916
|
+
ref: m,
|
|
917
917
|
style: "padding-inline: 12px; flex: 1 1 auto; display: flex; align-items: end; gap: 8px; height: 100%",
|
|
918
|
-
onContextmenu: (
|
|
919
|
-
}, [
|
|
920
|
-
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;
|
|
921
921
|
return createVNode(AppTab, {
|
|
922
|
-
key:
|
|
923
|
-
isCurrent:
|
|
924
|
-
isLast:
|
|
925
|
-
onClose:
|
|
926
|
-
closable:
|
|
927
|
-
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,
|
|
928
928
|
onClick: () => {
|
|
929
|
-
|
|
929
|
+
s || i.push(t.fullPath);
|
|
930
930
|
},
|
|
931
|
-
onContextmenu: (
|
|
932
|
-
}, { default: () => [
|
|
933
|
-
isCurrent:
|
|
934
|
-
name:
|
|
935
|
-
tab:
|
|
936
|
-
}) :
|
|
931
|
+
onContextmenu: (e) => o(e, t)
|
|
932
|
+
}, { default: () => [n.name ? n.name({
|
|
933
|
+
isCurrent: s,
|
|
934
|
+
name: l,
|
|
935
|
+
tab: t
|
|
936
|
+
}) : l] });
|
|
937
937
|
})]),
|
|
938
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)
|
|
939
939
|
]), createVNode(NDropdown, {
|
|
940
940
|
placement: "bottom-start",
|
|
941
941
|
trigger: "manual",
|
|
942
|
-
show:
|
|
943
|
-
x:
|
|
944
|
-
y:
|
|
945
|
-
options:
|
|
946
|
-
onClickoutside:
|
|
947
|
-
onSelect:
|
|
942
|
+
show: a.visible,
|
|
943
|
+
x: a.x,
|
|
944
|
+
y: a.y,
|
|
945
|
+
options: l.value,
|
|
946
|
+
onClickoutside: s,
|
|
947
|
+
onSelect: u
|
|
948
948
|
}, null)]);
|
|
949
949
|
}
|
|
950
950
|
});
|
|
951
|
-
function _isSlot(
|
|
952
|
-
return typeof
|
|
951
|
+
function _isSlot(e) {
|
|
952
|
+
return typeof e == "function" || Object.prototype.toString.call(e) === "[object Object]" && !isVNode(e);
|
|
953
953
|
}
|
|
954
954
|
const AppNotification = /* @__PURE__ */ defineComponent({
|
|
955
955
|
name: "AppNotification",
|
|
@@ -964,36 +964,36 @@ const AppNotification = /* @__PURE__ */ defineComponent({
|
|
|
964
964
|
default: 3e4
|
|
965
965
|
}
|
|
966
966
|
},
|
|
967
|
-
setup(
|
|
968
|
-
let { t:
|
|
967
|
+
setup(t, { slots: n, attrs: r }) {
|
|
968
|
+
let { t: i } = useI18n(), a = ref(!1), o = ref("unread"), u = reactive({
|
|
969
969
|
page: 1,
|
|
970
970
|
size: 10,
|
|
971
971
|
loading: !1,
|
|
972
972
|
records: [],
|
|
973
973
|
total: 0,
|
|
974
974
|
unread: 0
|
|
975
|
-
}), { sync:
|
|
975
|
+
}), { sync: d, post: p } = useAtomicBroadcast({
|
|
976
976
|
channel: "__ithinkdt_mc_shared_channel",
|
|
977
|
-
onMsg: (
|
|
978
|
-
|
|
977
|
+
onMsg: (e) => {
|
|
978
|
+
u.unread = e;
|
|
979
979
|
},
|
|
980
|
-
getMsg: () => (
|
|
981
|
-
|
|
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;
|
|
982
982
|
}).finally(() => {
|
|
983
|
-
|
|
984
|
-
})),
|
|
985
|
-
timeout: () =>
|
|
983
|
+
u.loading = !1;
|
|
984
|
+
})), t.getUnreadCount?.() ?? 0),
|
|
985
|
+
timeout: () => t.interval,
|
|
986
986
|
immediate: !0
|
|
987
987
|
});
|
|
988
988
|
return () => {
|
|
989
|
-
let
|
|
989
|
+
let e = withDirectives(createVNode(NButton, mergeProps(r, {
|
|
990
990
|
quaternary: !0,
|
|
991
991
|
style: "--n-padding: 0 12px",
|
|
992
992
|
onClick: () => {
|
|
993
|
-
|
|
993
|
+
a.value = !0, o.value = u.unread > 0 ? "unread" : "all", setTimeout(d, 300);
|
|
994
994
|
}
|
|
995
|
-
}), { default: () => [
|
|
996
|
-
show:
|
|
995
|
+
}), { default: () => [n.icon ? n.icon() : createVNode(NBadge, {
|
|
996
|
+
show: u.unread > 0,
|
|
997
997
|
dot: !0,
|
|
998
998
|
offset: [-2, 5],
|
|
999
999
|
processing: !0
|
|
@@ -1011,47 +1011,47 @@ const AppNotification = /* @__PURE__ */ defineComponent({
|
|
|
1011
1011
|
color: "currentColor"
|
|
1012
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)])])] })] })] }), [[
|
|
1013
1013
|
vTooltip,
|
|
1014
|
-
|
|
1014
|
+
i("common.notification.tip", { count: u.unread }),
|
|
1015
1015
|
void 0,
|
|
1016
1016
|
{ bottom: !0 }
|
|
1017
|
-
]]),
|
|
1018
|
-
let
|
|
1017
|
+
]]), p = () => {
|
|
1018
|
+
let e, t;
|
|
1019
1019
|
return createVNode("div", { style: "display: flex; align-items: baseline; gap: 20px" }, [
|
|
1020
|
-
createVNode("div", { style: "padding-right: 12px" }, [
|
|
1020
|
+
createVNode("div", { style: "padding-right: 12px" }, [i("common.notification.title")]),
|
|
1021
1021
|
createVNode(NButton, {
|
|
1022
1022
|
text: !0,
|
|
1023
|
-
type:
|
|
1023
|
+
type: o.value === "all" ? "primary" : "default",
|
|
1024
1024
|
onClick: () => {
|
|
1025
|
-
|
|
1025
|
+
o.value = "all", d();
|
|
1026
1026
|
}
|
|
1027
|
-
}, _isSlot(
|
|
1027
|
+
}, _isSlot(e = i("common.notification.all")) ? e : { default: () => [e] }),
|
|
1028
1028
|
createVNode(NButton, {
|
|
1029
1029
|
text: !0,
|
|
1030
|
-
type:
|
|
1030
|
+
type: o.value === "unread" ? "primary" : "default",
|
|
1031
1031
|
onClick: () => {
|
|
1032
|
-
|
|
1032
|
+
o.value = "unread", d();
|
|
1033
1033
|
}
|
|
1034
|
-
}, _isSlot(
|
|
1034
|
+
}, _isSlot(t = i("common.notification.unread", { count: u.unread > 99 ? "99+" : u.unread.toString() })) ? t : { default: () => [t] })
|
|
1035
1035
|
]);
|
|
1036
|
-
},
|
|
1037
|
-
key:
|
|
1036
|
+
}, m = (e) => createVNode(NListItem, {
|
|
1037
|
+
key: e.key,
|
|
1038
1038
|
onClick: () => {
|
|
1039
|
-
|
|
1040
|
-
|
|
1041
|
-
}),
|
|
1039
|
+
e.status === "unread" && (t.markRead?.([e.key]).then(() => {
|
|
1040
|
+
e.status = "read";
|
|
1041
|
+
}), u.unread--), e.link && window.open(e.link, "_target");
|
|
1042
1042
|
}
|
|
1043
1043
|
}, { default: () => [createVNode(NThing, {
|
|
1044
1044
|
bordered: !1,
|
|
1045
1045
|
closable: !0,
|
|
1046
1046
|
contentIndented: !0,
|
|
1047
1047
|
size: "small",
|
|
1048
|
-
onMouseenter: () =>
|
|
1049
|
-
onMouseleave: () =>
|
|
1048
|
+
onMouseenter: () => e.hover = !0,
|
|
1049
|
+
onMouseleave: () => e.hover = !1,
|
|
1050
1050
|
style: "padding: 0 4px"
|
|
1051
1051
|
}, {
|
|
1052
1052
|
avatar: () => createVNode(NIcon, {
|
|
1053
1053
|
size: 22,
|
|
1054
|
-
color:
|
|
1054
|
+
color: e.status === "unread" ? "var(--color-primary)" : void 0
|
|
1055
1055
|
}, { default: () => [createVNode("svg", {
|
|
1056
1056
|
xmlns: "http://www.w3.org/2000/svg",
|
|
1057
1057
|
width: "1em",
|
|
@@ -1061,48 +1061,48 @@ const AppNotification = /* @__PURE__ */ defineComponent({
|
|
|
1061
1061
|
fill: "currentColor",
|
|
1062
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"
|
|
1063
1063
|
}, null)])] }),
|
|
1064
|
-
header: () =>
|
|
1064
|
+
header: () => e.title,
|
|
1065
1065
|
"header-extra": () => {
|
|
1066
|
-
let
|
|
1067
|
-
return
|
|
1066
|
+
let n, r;
|
|
1067
|
+
return e.hover ? createVNode("div", {
|
|
1068
1068
|
style: "display: flex; justify-content: end; gap: 12px",
|
|
1069
|
-
onClick: (
|
|
1070
|
-
|
|
1069
|
+
onClick: (e) => {
|
|
1070
|
+
e.preventDefault(), e.stopPropagation();
|
|
1071
1071
|
}
|
|
1072
|
-
}, [
|
|
1072
|
+
}, [e.status === "unread" ? createVNode(NButton, {
|
|
1073
1073
|
text: !0,
|
|
1074
1074
|
type: "primary",
|
|
1075
1075
|
onClick: () => {
|
|
1076
|
-
|
|
1077
|
-
|
|
1076
|
+
t.markRead?.([e.key]).then(() => {
|
|
1077
|
+
e.status = "read", u.unread--;
|
|
1078
1078
|
});
|
|
1079
1079
|
}
|
|
1080
|
-
}, _isSlot(
|
|
1080
|
+
}, _isSlot(n = i("common.notification.markRead")) ? n : { default: () => [n] }) : void 0, createVNode(NButton, {
|
|
1081
1081
|
text: !0,
|
|
1082
1082
|
type: "error",
|
|
1083
1083
|
onClick: () => {
|
|
1084
|
-
|
|
1084
|
+
u.records === 1 ? (u.records = [], d()) : u.records.splice(u.records.findIndex((t) => t.key == e.key), 1), t.markDelete?.([e.key]);
|
|
1085
1085
|
}
|
|
1086
|
-
}, _isSlot(
|
|
1086
|
+
}, _isSlot(r = i("common.notification.markDelete")) ? r : { default: () => [r] })]) : void 0;
|
|
1087
1087
|
},
|
|
1088
|
-
default:
|
|
1089
|
-
footer: () => createVNode("span", { style: "color: gray" }, [
|
|
1090
|
-
})] }),
|
|
1091
|
-
let
|
|
1092
|
-
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, {
|
|
1093
1093
|
clickable: !0,
|
|
1094
1094
|
hoverable: !0,
|
|
1095
1095
|
style: "min-height: 50vh"
|
|
1096
|
-
}, _isSlot(
|
|
1097
|
-
},
|
|
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, {
|
|
1098
1098
|
text: !0,
|
|
1099
1099
|
type: "primary",
|
|
1100
|
-
disabled:
|
|
1100
|
+
disabled: u.records.length === 0,
|
|
1101
1101
|
onClick: () => {
|
|
1102
|
-
let
|
|
1103
|
-
|
|
1104
|
-
for (;
|
|
1105
|
-
|
|
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();
|
|
1106
1106
|
});
|
|
1107
1107
|
}
|
|
1108
1108
|
}, {
|
|
@@ -1115,42 +1115,42 @@ const AppNotification = /* @__PURE__ */ defineComponent({
|
|
|
1115
1115
|
fill: "currentColor",
|
|
1116
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"
|
|
1117
1117
|
}, null)])] }),
|
|
1118
|
-
default: () =>
|
|
1118
|
+
default: () => i("common.notification.markPageRead")
|
|
1119
1119
|
}) : createVNode("span", null, null), createVNode(NPagination, {
|
|
1120
1120
|
simple: !0,
|
|
1121
|
-
pageSize:
|
|
1122
|
-
page:
|
|
1123
|
-
itemCount:
|
|
1124
|
-
onUpdatePage: (
|
|
1125
|
-
|
|
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();
|
|
1126
1126
|
}
|
|
1127
1127
|
}, null)]);
|
|
1128
|
-
return createVNode(Fragment, null, [
|
|
1129
|
-
show:
|
|
1130
|
-
"onUpdate:show": (
|
|
1128
|
+
return createVNode(Fragment, null, [e, createVNode(NDrawer, {
|
|
1129
|
+
show: a.value,
|
|
1130
|
+
"onUpdate:show": (e) => a.value = e,
|
|
1131
1131
|
showMask: !1,
|
|
1132
1132
|
width: 400
|
|
1133
1133
|
}, { default: () => [createVNode(NDrawerContent, {
|
|
1134
|
-
title:
|
|
1134
|
+
title: i("common.notification.title"),
|
|
1135
1135
|
closable: !0,
|
|
1136
1136
|
nativeScrollbar: !1,
|
|
1137
1137
|
bodyContentStyle: { padding: "0" }
|
|
1138
1138
|
}, {
|
|
1139
|
-
header:
|
|
1140
|
-
default:
|
|
1141
|
-
footer:
|
|
1139
|
+
header: p,
|
|
1140
|
+
default: h,
|
|
1141
|
+
footer: g
|
|
1142
1142
|
})] })]);
|
|
1143
1143
|
};
|
|
1144
1144
|
}
|
|
1145
1145
|
});
|
|
1146
|
-
var ICheck = (
|
|
1146
|
+
var ICheck = (e) => createVNode("svg", mergeProps({
|
|
1147
1147
|
xmlns: "http://www.w3.org/2000/svg",
|
|
1148
1148
|
"xmlns:xlink": "http://www.w3.org/1999/xlink",
|
|
1149
1149
|
role: "img",
|
|
1150
1150
|
width: "1em",
|
|
1151
1151
|
height: "1em",
|
|
1152
1152
|
viewBox: "0 0 24 24"
|
|
1153
|
-
},
|
|
1153
|
+
}, e), [createVNode("path", {
|
|
1154
1154
|
fill: "currentColor",
|
|
1155
1155
|
d: "m9.55 18l-5.7-5.7l1.425-1.425L9.55 15.15l9.175-9.175L20.15 7.4z"
|
|
1156
1156
|
}, null)]);
|
|
@@ -1161,27 +1161,27 @@ const AppTenant = /* @__PURE__ */ defineComponent({
|
|
|
1161
1161
|
current: String
|
|
1162
1162
|
},
|
|
1163
1163
|
emit: ["update:current"],
|
|
1164
|
-
setup(
|
|
1165
|
-
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, {
|
|
1166
1166
|
round: !0,
|
|
1167
1167
|
size: 22,
|
|
1168
1168
|
color: "var(--color-primary-hover)"
|
|
1169
|
-
}, { 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(() => [{
|
|
1170
1170
|
id: "___",
|
|
1171
|
-
name:
|
|
1171
|
+
name: r("common.account.changeTenant"),
|
|
1172
1172
|
disabled: !0
|
|
1173
|
-
}, ...
|
|
1173
|
+
}, ...t.options ?? []]);
|
|
1174
1174
|
return () => {
|
|
1175
|
-
if (!
|
|
1176
|
-
let
|
|
1175
|
+
if (!t.options?.length) return;
|
|
1176
|
+
let e = t.options.find((e) => e.id === t.current);
|
|
1177
1177
|
return createVNode(NDropdown, {
|
|
1178
|
-
options:
|
|
1178
|
+
options: a.value,
|
|
1179
1179
|
placement: "bottom-end",
|
|
1180
1180
|
keyField: "id",
|
|
1181
1181
|
labelField: "name",
|
|
1182
1182
|
showArrow: !0,
|
|
1183
|
-
renderLabel:
|
|
1184
|
-
onSelect: (
|
|
1183
|
+
renderLabel: i,
|
|
1184
|
+
onSelect: (e) => e !== t.current && n("update:current", e)
|
|
1185
1185
|
}, { default: () => [createVNode(NButton, {
|
|
1186
1186
|
quaternary: !0,
|
|
1187
1187
|
style: "--n-padding: 0 6px"
|
|
@@ -1197,15 +1197,15 @@ const AppTenant = /* @__PURE__ */ defineComponent({
|
|
|
1197
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",
|
|
1198
1198
|
fill: "currentColor"
|
|
1199
1199
|
}, null)])] }),
|
|
1200
|
-
default: () =>
|
|
1200
|
+
default: () => e?.shotName || e?.name
|
|
1201
1201
|
})] });
|
|
1202
1202
|
};
|
|
1203
1203
|
}
|
|
1204
1204
|
}), UIProvider = /* @__PURE__ */ defineComponent({
|
|
1205
1205
|
name: "UIProvider",
|
|
1206
1206
|
props: { i18n: Function },
|
|
1207
|
-
setup(
|
|
1208
|
-
return provide(UI_I18N_INJECTION, toRef(
|
|
1207
|
+
setup(e, { slots: n }) {
|
|
1208
|
+
return provide(UI_I18N_INJECTION, toRef(e, "i18n")), () => n.default();
|
|
1209
1209
|
}
|
|
1210
1210
|
});
|
|
1211
|
-
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 };
|