@dt-frames/ui 2.0.3 → 2.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/assets/locales/en.ts +1 -1
- package/es/components/curd/index.js +346 -331
- package/es/components/curd/src/components/Curd.d.ts +0 -8
- package/es/components/curd/src/props.d.ts +0 -4
- package/es/components/drawer/index.d.ts +1 -1
- package/es/components/drawer/index.js +27 -27
- package/es/components/drawer/src/index.d.ts +2 -3
- package/es/components/form/index.d.ts +0 -33
- package/es/components/form/index.js +72 -36
- package/es/components/form/index.less +212 -9
- package/es/components/form/src/components/FormItem.d.ts +3 -7
- package/es/components/form/src/components/formIcon.d.ts +14 -14
- package/es/components/form/src/components/formInputUseDialog.d.ts +8 -8
- package/es/components/form/src/enums/index.d.ts +1 -1
- package/es/components/form/src/index.d.ts +0 -25
- package/es/components/form/src/props.d.ts +2 -6
- package/es/components/form/src/types/form.type.d.ts +1 -1
- package/es/components/icons/index.less +5 -0
- package/es/components/modal/index.js +35 -34
- package/es/components/modal/index.less +10 -0
- package/es/components/modal/src/components/ModalFooter.d.ts +3 -3
- package/es/components/modal/src/index.d.ts +9 -9
- package/es/components/source/hooks/useSource.d.ts +14 -0
- package/es/components/source/index.js +72 -31
- package/es/components/source/types/source.type.d.ts +5 -8
- package/es/components/table/index.js +418 -305
- package/es/components/table/index.less +62 -14
- package/es/components/table/src/components/TableAction.d.ts +1 -1
- package/es/components/table/src/index.d.ts +30 -10
- package/es/components/table/src/props.d.ts +12 -4
- package/es/components/table/src/types/table.type.d.ts +4 -5
- package/es/components/tree/index.d.ts +2 -0
- package/es/components/tree/index.js +1087 -0
- package/es/components/tree/index.less +119 -0
- package/es/components/tree/src/basicProps.d.ts +146 -0
- package/es/components/tree/src/components/ContextMenu.d.ts +64 -0
- package/es/components/tree/src/components/TreeHeader.d.ts +98 -0
- package/es/components/tree/src/enums/index.d.ts +6 -0
- package/es/components/tree/src/hooks/useContextMenu.d.ts +2 -0
- package/es/components/tree/src/hooks/useTree.d.ts +14 -0
- package/es/components/tree/src/index.d.ts +6526 -0
- package/es/components/tree/src/type/menu.d.ts +33 -0
- package/es/components/tree/src/type/tree.d.ts +55 -0
- package/es/components/tree/src/utils/tree.d.ts +5 -0
- package/es/packages/ui/src/assets/locales/en.d.ts +101 -0
- package/es/packages/ui/src/assets/locales/index.d.ts +2 -0
- package/es/packages/ui/src/assets/locales/zh.d.ts +103 -0
- package/es/packages/ui/src/components/container/index.d.ts +94 -0
- package/es/packages/ui/src/components/container/src/components/bar.d.ts +14 -0
- package/es/packages/ui/src/components/container/src/components/scroll-bar.d.ts +70 -0
- package/es/packages/ui/src/components/container/src/hooks/scroll.d.ts +10 -0
- package/es/packages/ui/src/components/container/src/scroll-container.d.ts +76 -0
- package/es/packages/ui/src/components/container/src/slot-container.d.ts +20 -0
- package/es/packages/ui/src/components/container/src/types/scroll.type.d.ts +22 -0
- package/es/packages/ui/src/components/container/src/utils/scroll.d.ts +5 -0
- package/es/packages/ui/src/global.d.ts +7 -0
- package/es/packages/ui/src/theme/index.d.ts +10 -0
- package/es/packages/ui/src/theme/src/components/content/index.d.ts +27 -0
- package/es/packages/ui/src/theme/src/components/feature/back-top.d.ts +5 -0
- package/es/packages/ui/src/theme/src/components/feature/index.d.ts +7 -0
- package/es/packages/ui/src/theme/src/components/footer/index.d.ts +31 -0
- package/es/packages/ui/src/theme/src/components/header/components/bread-crumb.d.ts +6 -0
- package/es/packages/ui/src/theme/src/components/header/components/fullscreen.d.ts +5 -0
- package/es/packages/ui/src/theme/src/components/header/components/index.d.ts +11 -0
- package/es/packages/ui/src/theme/src/components/header/components/lang-picker.d.ts +23 -0
- package/es/packages/ui/src/theme/src/components/header/components/logo.d.ts +56 -0
- package/es/packages/ui/src/theme/src/components/header/components/menu-filter.d.ts +22 -0
- package/es/packages/ui/src/theme/src/components/header/components/notify.d.ts +24 -0
- package/es/packages/ui/src/theme/src/components/header/components/setting-theme.d.ts +223 -0
- package/es/packages/ui/src/theme/src/components/header/components/size.d.ts +282 -0
- package/es/packages/ui/src/theme/src/components/header/components/theme-drawer/feature.d.ts +138 -0
- package/es/packages/ui/src/theme/src/components/header/components/theme-drawer/index.d.ts +3 -0
- package/es/packages/ui/src/theme/src/components/header/components/theme-drawer/menu-type.d.ts +16 -0
- package/es/packages/ui/src/theme/src/components/header/components/theme-drawer/select.d.ts +58 -0
- package/es/packages/ui/src/theme/src/components/header/components/theme-drawer/switch.d.ts +49 -0
- package/es/packages/ui/src/theme/src/components/header/components/trigger.d.ts +10 -0
- package/es/packages/ui/src/theme/src/components/header/components/user-info.d.ts +37 -0
- package/es/packages/ui/src/theme/src/components/header/helper/change-theme.d.ts +13 -0
- package/es/packages/ui/src/theme/src/components/header/helper/menu-tree.d.ts +4 -0
- package/es/packages/ui/src/theme/src/components/header/index.d.ts +720 -0
- package/es/packages/ui/src/theme/src/components/header/multiple-header.d.ts +806 -0
- package/es/packages/ui/src/theme/src/components/sider/components/basic-menu/basic-menu-item.d.ts +62 -0
- package/es/packages/ui/src/theme/src/components/sider/components/basic-menu/basic-menu.d.ts +207 -0
- package/es/packages/ui/src/theme/src/components/sider/components/basic-menu/basic-sub-menu-item.d.ts +127 -0
- package/es/packages/ui/src/theme/src/components/sider/components/basic-menu/menu-item-content.d.ts +26 -0
- package/es/packages/ui/src/theme/src/components/sider/components/drag-bar.d.ts +14 -0
- package/es/packages/ui/src/theme/src/components/sider/components/layout-menu.d.ts +22 -0
- package/es/packages/ui/src/theme/src/components/sider/components/props.d.ts +69 -0
- package/es/packages/ui/src/theme/src/components/sider/components/sider-trigger.d.ts +17 -0
- package/es/packages/ui/src/theme/src/components/sider/helper/sider.d.ts +12 -0
- package/es/packages/ui/src/theme/src/components/sider/helper/split-menu.d.ts +10 -0
- package/es/packages/ui/src/theme/src/components/sider/index.d.ts +235 -0
- package/es/packages/ui/src/theme/src/components/sider/mix-sider.d.ts +167 -0
- package/es/packages/ui/src/theme/src/components/tabs/components/TabContent.d.ts +6 -0
- package/es/packages/ui/src/theme/src/components/tabs/components/TabRedo.d.ts +21 -0
- package/es/packages/ui/src/theme/src/components/tabs/components/index.d.ts +3 -0
- package/es/packages/ui/src/theme/src/components/tabs/hooks/useMultifyTabs.d.ts +7 -0
- package/es/packages/ui/src/theme/src/components/tabs/hooks/useTabDropdown.d.ts +6 -0
- package/es/packages/ui/src/theme/src/components/tabs/index.d.ts +63 -0
- package/es/packages/ui/src/theme/src/components/tabs/types/tabs.type.d.ts +7 -0
- package/es/packages/ui/src/theme/src/enums/index.d.ts +1 -0
- package/es/packages/ui/src/theme/src/enums/theme.enum.d.ts +34 -0
- package/es/packages/ui/src/theme/src/hooks/index.d.ts +6 -0
- package/es/packages/ui/src/theme/src/hooks/useDragLine.d.ts +2 -0
- package/es/packages/ui/src/theme/src/hooks/useHeader.d.ts +25 -0
- package/es/packages/ui/src/theme/src/hooks/useMenu.d.ts +29 -0
- package/es/packages/ui/src/theme/src/hooks/useMultifyTab.d.ts +8 -0
- package/es/packages/ui/src/theme/src/hooks/useOpenKeys.d.ts +7 -0
- package/es/packages/ui/src/theme/src/hooks/useTheme.d.ts +9 -0
- package/es/packages/ui/src/theme/src/index.d.ts +1851 -0
- package/es/packages/ui/src/theme/src/setting/theme.setting.d.ts +2 -0
- package/es/packages/ui/src/theme/src/stores/index.d.ts +3 -0
- package/es/packages/ui/src/theme/src/stores/routeReuse.store.d.ts +23 -0
- package/es/packages/ui/src/theme/src/stores/theme.store.d.ts +18 -0
- package/es/packages/ui/src/theme/src/types/index.d.ts +3 -0
- package/es/packages/ui/src/theme/src/types/menu.type.d.ts +15 -0
- package/es/packages/ui/src/theme/src/types/theme.type.d.ts +62 -0
- package/es/packages/ui/src/utils/withInstall.d.ts +4 -0
- package/es/theme/index.d.ts +2 -1
- package/es/theme/index.js +898 -683
- package/es/theme/index.less +205 -0
- package/es/theme/src/components/header/components/logo.d.ts +22 -0
- package/es/theme/src/components/header/components/size.d.ts +5 -5
- package/es/theme/src/components/header/helper/menu-tree.d.ts +1 -0
- package/es/theme/src/components/header/index.d.ts +92 -5
- package/es/theme/src/components/header/multiple-header.d.ts +94 -7
- package/es/theme/src/components/sider/components/drag-bar.d.ts +1 -1
- package/es/theme/src/components/sider/components/sider-trigger.d.ts +0 -1
- package/es/theme/src/components/sider/index.d.ts +169 -3
- package/es/theme/src/components/sider/mix-sider.d.ts +168 -0
- package/es/theme/src/enums/theme.enum.d.ts +2 -1
- package/es/theme/src/hooks/useMenu.d.ts +5 -3
- package/es/theme/src/hooks/useMultifyTab.d.ts +1 -0
- package/es/theme/src/index.d.ts +356 -15
- package/es/theme/src/stores/theme.store.d.ts +3 -0
- package/es/theme/src/types/theme.type.d.ts +2 -0
- package/index.d.ts +2 -1
- package/index.js +6 -2
- package/package.json +4 -4
- package/tsconfig.json +1 -0
- package/vite.config.ts +1 -0
package/es/theme/index.js
CHANGED
|
@@ -1,13 +1,16 @@
|
|
|
1
|
-
import { BackTop, Breadcrumb, Empty, InputSearch, Popover, Avatar, Tooltip, Select, Switch, Divider, Button, Drawer,
|
|
1
|
+
import { BackTop, MenuItem, MenuDivider, Menu, Dropdown, TabPane, Tabs, Breadcrumb, Empty, InputSearch, Popover, Avatar, Tooltip, Select, Switch, Divider, Button, Drawer, SubMenu, LayoutHeader, LayoutSider, LayoutContent, Layout, ConfigProvider } from "ant-design-vue/es";
|
|
2
2
|
import "ant-design-vue/es/config-provider/style";
|
|
3
3
|
import "ant-design-vue/es/layout/style";
|
|
4
|
-
import { toRaw, unref, computed, onMounted, nextTick, defineComponent, openBlock, createBlock, createCommentVNode, createElementBlock, createElementVNode,
|
|
4
|
+
import { toRaw, unref, computed, onMounted, nextTick, defineComponent, openBlock, createBlock, createCommentVNode, createElementBlock, createElementVNode, reactive, withCtx, createVNode, Fragment, renderList, normalizeClass, toDisplayString, ref, watch, createSlots, getCurrentInstance, inject, onUnmounted, h, provide, onBeforeUnmount, normalizeStyle, resolveDynamicComponent, renderSlot, mergeProps, withDirectives, vShow, watchEffect, resolveDirective, createTextVNode, normalizeProps, guardReactiveProps, resolveComponent, toRef, withModifiers, Transition, KeepAlive } from "vue";
|
|
5
5
|
import { useRouter, RouterView } from "vue-router";
|
|
6
|
-
import { DtCache, CacheKey, deepMerge, Pages, useGo, useRedo, Language, isObject, useTimeoutFn, useI18n,
|
|
6
|
+
import { DtCache, CacheKey, deepMerge, Pages, useGo, useRedo, Language, isObject, useTimeoutFn, useI18n, isNullAndUnDef, menuList2Map, off, on, getParentSlots, isBoolean, localeList, changeLocale, isFunction, copyText, isUrl, openWindow, useApp, withInstall as withInstall$1 } from "@dt-frames/core";
|
|
7
7
|
import { defineStore } from "pinia";
|
|
8
8
|
import { trim } from "lodash-es";
|
|
9
9
|
import { useDebounceFn, useFullscreen, useThrottleFn } from "@vueuse/core";
|
|
10
10
|
import "ant-design-vue/es/back-top/style";
|
|
11
|
+
import "ant-design-vue/es/tabs/style";
|
|
12
|
+
import "ant-design-vue/es/dropdown/style";
|
|
13
|
+
import "ant-design-vue/es/menu/style";
|
|
11
14
|
import "ant-design-vue/es/breadcrumb/style";
|
|
12
15
|
import "ant-design-vue/es/popover/style";
|
|
13
16
|
import "ant-design-vue/es/input/style";
|
|
@@ -20,12 +23,11 @@ import "ant-design-vue/es/divider/style";
|
|
|
20
23
|
import "ant-design-vue/es/tooltip/style";
|
|
21
24
|
import "ant-design-vue/es/select/style";
|
|
22
25
|
import "ant-design-vue/es/switch/style";
|
|
23
|
-
import "ant-design-vue/es/menu/style";
|
|
24
|
-
import "ant-design-vue/es/tabs/style";
|
|
25
|
-
import "ant-design-vue/es/dropdown/style";
|
|
26
26
|
import zhCN from "ant-design-vue/es/locale/zh_CN";
|
|
27
27
|
import en from "ant-design-vue/es/locale/en_US";
|
|
28
|
-
import
|
|
28
|
+
import dayjs from "dayjs";
|
|
29
|
+
import "dayjs/locale/zh-cn";
|
|
30
|
+
import "dayjs/locale/es-us";
|
|
29
31
|
var Theme = /* @__PURE__ */ ((Theme2) => {
|
|
30
32
|
Theme2["DARK"] = "dark";
|
|
31
33
|
Theme2["LIGHT"] = "light";
|
|
@@ -35,6 +37,7 @@ var MenuType = /* @__PURE__ */ ((MenuType2) => {
|
|
|
35
37
|
MenuType2["SIDE"] = "sidebar";
|
|
36
38
|
MenuType2["TOP_MENU"] = "top-menu";
|
|
37
39
|
MenuType2["MIX"] = "mix";
|
|
40
|
+
MenuType2["MIX_SIDEBAR"] = "mix-sidebar";
|
|
38
41
|
return MenuType2;
|
|
39
42
|
})(MenuType || {});
|
|
40
43
|
var MenuMode = /* @__PURE__ */ ((MenuMode2) => {
|
|
@@ -92,7 +95,8 @@ const defaultThemeConf = {
|
|
|
92
95
|
menuWidth: 240,
|
|
93
96
|
trigger: true,
|
|
94
97
|
type: MenuType.SIDE,
|
|
95
|
-
mode: MenuMode.INLINE
|
|
98
|
+
mode: MenuMode.INLINE,
|
|
99
|
+
mixSideTrigger: "hover"
|
|
96
100
|
},
|
|
97
101
|
footerOptions: {
|
|
98
102
|
show: false,
|
|
@@ -113,7 +117,8 @@ const useThemeStore = defineStore({
|
|
|
113
117
|
id: "dt-theme",
|
|
114
118
|
state: () => ({
|
|
115
119
|
themeConf: DtCache.getLocal(CacheKey.THEME) ?? defaultThemeConf,
|
|
116
|
-
pageLoading: false
|
|
120
|
+
pageLoading: false,
|
|
121
|
+
mixSiderHasSubMenu: false
|
|
117
122
|
}),
|
|
118
123
|
getters: {
|
|
119
124
|
getThemeConf() {
|
|
@@ -133,6 +138,9 @@ const useThemeStore = defineStore({
|
|
|
133
138
|
},
|
|
134
139
|
getPageLoading() {
|
|
135
140
|
return this.pageLoading;
|
|
141
|
+
},
|
|
142
|
+
getMixSiderIsHasMenu() {
|
|
143
|
+
return this.mixSiderHasSubMenu;
|
|
136
144
|
}
|
|
137
145
|
},
|
|
138
146
|
actions: {
|
|
@@ -140,6 +148,9 @@ const useThemeStore = defineStore({
|
|
|
140
148
|
let newThemeConf = deepMerge(this.themeConf, options);
|
|
141
149
|
this.themeConf = deepMerge(defaultThemeConf, newThemeConf);
|
|
142
150
|
DtCache.setLocal(CacheKey.THEME, this.themeConf);
|
|
151
|
+
},
|
|
152
|
+
setMixSiderIsHasMenu(val) {
|
|
153
|
+
this.mixSiderHasSubMenu = val;
|
|
143
154
|
}
|
|
144
155
|
}
|
|
145
156
|
});
|
|
@@ -295,8 +306,18 @@ function useMenu() {
|
|
|
295
306
|
const getIsMixMode = computed(() => {
|
|
296
307
|
return unref(getMenuMode) === MenuMode.INLINE && unref(getMenuType) === MenuType.MIX;
|
|
297
308
|
});
|
|
298
|
-
const
|
|
299
|
-
const
|
|
309
|
+
const getIsMixSidebar = computed(() => unref(getMenuType) === MenuType.MIX_SIDEBAR);
|
|
310
|
+
const getMenuWidth = computed(() => {
|
|
311
|
+
if (unref(getIsMixMode)) {
|
|
312
|
+
return Number(getMenuConf.menuWidth) - 40;
|
|
313
|
+
} else if (unref(getIsMixSidebar)) {
|
|
314
|
+
return Number(getMenuConf.menuWidth) - 10;
|
|
315
|
+
} else {
|
|
316
|
+
return Number(getMenuConf.menuWidth);
|
|
317
|
+
}
|
|
318
|
+
});
|
|
319
|
+
const getMixSideTrigger = computed(() => getMenuConf.mixSideTrigger);
|
|
320
|
+
const getLogoWidth = computed(() => unref(getIsMixSidebar) ? "80px" : getMenuConf.menuWidth);
|
|
300
321
|
const getMenuType = computed(() => getMenuConf.type);
|
|
301
322
|
const getIsTopMenu = computed(() => unref(getMenuType) === MenuType.TOP_MENU);
|
|
302
323
|
const getMenuMode = computed(() => getMenuConf.mode);
|
|
@@ -338,7 +359,9 @@ function useMenu() {
|
|
|
338
359
|
getRealWidth,
|
|
339
360
|
getCalcContentWidth,
|
|
340
361
|
getIsMixMode,
|
|
362
|
+
getIsMixSidebar,
|
|
341
363
|
getCanDrag,
|
|
364
|
+
getMixSideTrigger,
|
|
342
365
|
toggleCollapsed,
|
|
343
366
|
setThemeStore
|
|
344
367
|
};
|
|
@@ -347,12 +370,14 @@ function useMultipleTab() {
|
|
|
347
370
|
const { getRouteReuseConf } = useThemeStore();
|
|
348
371
|
const getShowMultipleTab = computed(() => getRouteReuseConf.show);
|
|
349
372
|
const getShowQuick = computed(() => getRouteReuseConf.showQuick);
|
|
373
|
+
const getMultipleTabPosIsTop = computed(() => getRouteReuseConf.position === "top");
|
|
350
374
|
const getShowRedo = computed(() => getRouteReuseConf.showRedo);
|
|
351
375
|
const getCanCache = computed(() => getRouteReuseConf.cache);
|
|
352
376
|
const getCanDrag = computed(() => getRouteReuseConf.canDrag);
|
|
353
377
|
return {
|
|
354
378
|
getShowMultipleTab,
|
|
355
379
|
getShowQuick,
|
|
380
|
+
getMultipleTabPosIsTop,
|
|
356
381
|
getShowRedo,
|
|
357
382
|
getCanCache,
|
|
358
383
|
getCanDrag
|
|
@@ -371,12 +396,12 @@ function useHeader() {
|
|
|
371
396
|
getMenuMode,
|
|
372
397
|
getSplit,
|
|
373
398
|
getIsTopMenu,
|
|
374
|
-
|
|
399
|
+
getIsMixSidebar
|
|
375
400
|
} = useMenu();
|
|
376
|
-
const { getShowMultipleTab } = useMultipleTab();
|
|
401
|
+
const { getShowMultipleTab, getMultipleTabPosIsTop } = useMultipleTab();
|
|
377
402
|
const getHeaderTheme = computed(() => getHeaderConf.theme);
|
|
378
403
|
const getFixed = computed(() => getHeaderConf.fixed);
|
|
379
|
-
const getShowHeaderLogo = computed(() => unref(getShowLogo) && !unref(getIsSidebarType));
|
|
404
|
+
const getShowHeaderLogo = computed(() => unref(getShowLogo) && !unref(getIsSidebarType) && !unref(getIsMixSidebar));
|
|
380
405
|
const getShowSearch = computed(() => getHeaderConf.showSearch);
|
|
381
406
|
const getShowHeaderTrigger = computed(() => {
|
|
382
407
|
if (unref(getMenuType) === MenuType.TOP_MENU || !unref(getShowMenu) || unref(getMenuHidden)) {
|
|
@@ -394,19 +419,19 @@ function useHeader() {
|
|
|
394
419
|
const getShowLocale = computed(() => getHeaderConf.showLocaleSwitch);
|
|
395
420
|
const getShowSettingTheme = computed(() => getHeaderConf.showSettingTheme);
|
|
396
421
|
const getShowFullHeaderRef = computed(() => {
|
|
397
|
-
return !unref(getIsSidebarType) && !unref(getIsTopMenu);
|
|
422
|
+
return !unref(getIsSidebarType) && !unref(getIsMixSidebar) && !unref(getIsTopMenu);
|
|
398
423
|
});
|
|
399
424
|
const getHeaderHeight = computed(() => {
|
|
400
425
|
let height = 0;
|
|
401
426
|
height += HEADER_HEIGHT;
|
|
402
|
-
if (unref(getShowMultipleTab) && !unref(getSplit)) {
|
|
427
|
+
if (unref(getShowMultipleTab) && !unref(getSplit) && !unref(getMultipleTabPosIsTop)) {
|
|
403
428
|
height += TABS_HEIGHT;
|
|
404
429
|
}
|
|
405
430
|
return height;
|
|
406
431
|
});
|
|
407
432
|
const getTabsHeight = computed(() => TABS_HEIGHT);
|
|
408
433
|
const getShowInsetHeaderRef = computed(() => {
|
|
409
|
-
return unref(getIsSidebarType) || unref(getIsTopMenu);
|
|
434
|
+
return unref(getIsSidebarType) || unref(getIsTopMenu) || unref(getIsMixSidebar);
|
|
410
435
|
});
|
|
411
436
|
const getShowBackToTop = computed(() => getHeaderConf.showBackToTop);
|
|
412
437
|
const getIsZH = computed(() => {
|
|
@@ -502,6 +527,26 @@ function getFilterMenu(filter = "", flag = false) {
|
|
|
502
527
|
getTargetMenus(DtCache.getLocal(CacheKey.MENUS)?.children);
|
|
503
528
|
return _menus;
|
|
504
529
|
}
|
|
530
|
+
function getParentTreeByPath(path) {
|
|
531
|
+
const _menus = DtCache.getLocal(CacheKey.MENUS)?.children || [];
|
|
532
|
+
let routes = [];
|
|
533
|
+
let getParentByPath = (menu, path2 = "") => {
|
|
534
|
+
if (menu.children && menu.children.length) {
|
|
535
|
+
menu.children.forEach((subMenu) => {
|
|
536
|
+
subMenu.parentMenus = [...menu.parentMenus].concat([subMenu]);
|
|
537
|
+
getParentByPath(subMenu, path2);
|
|
538
|
+
});
|
|
539
|
+
}
|
|
540
|
+
if (menu.url === path2) {
|
|
541
|
+
routes = menu.parentMenus;
|
|
542
|
+
}
|
|
543
|
+
};
|
|
544
|
+
_menus.forEach((menu) => {
|
|
545
|
+
menu.parentMenus = [menu];
|
|
546
|
+
getParentByPath(menu, path);
|
|
547
|
+
});
|
|
548
|
+
return routes.length ? routes[0] : { id: null, children: [], icon: "", label: "" };
|
|
549
|
+
}
|
|
505
550
|
function useOpenKeys(menuState, menus, type) {
|
|
506
551
|
async function setOpenKeys(path) {
|
|
507
552
|
if (type === MenuType.TOP_MENU)
|
|
@@ -597,7 +642,7 @@ function useDragLine(siderRef, dragBarRef) {
|
|
|
597
642
|
};
|
|
598
643
|
}
|
|
599
644
|
}
|
|
600
|
-
const _sfc_main$
|
|
645
|
+
const _sfc_main$z = /* @__PURE__ */ defineComponent({
|
|
601
646
|
__name: "back-top",
|
|
602
647
|
setup(__props) {
|
|
603
648
|
const getTarget = () => document.getElementById("dt-layout-content");
|
|
@@ -612,236 +657,330 @@ const _sfc_main$y = /* @__PURE__ */ defineComponent({
|
|
|
612
657
|
};
|
|
613
658
|
}
|
|
614
659
|
});
|
|
615
|
-
const _sfc_main$
|
|
660
|
+
const _sfc_main$y = /* @__PURE__ */ defineComponent({
|
|
616
661
|
__name: "index",
|
|
617
662
|
setup(__props) {
|
|
618
663
|
return (_ctx, _cache) => {
|
|
619
|
-
return openBlock(), createBlock(_sfc_main$
|
|
664
|
+
return openBlock(), createBlock(_sfc_main$z);
|
|
620
665
|
};
|
|
621
666
|
}
|
|
622
667
|
});
|
|
623
|
-
const
|
|
624
|
-
|
|
668
|
+
const _hoisted_1$i = /* @__PURE__ */ createElementVNode("i", { class: "block i ic:baseline-autorenew" }, null, -1);
|
|
669
|
+
const _hoisted_2$9 = [
|
|
670
|
+
_hoisted_1$i
|
|
671
|
+
];
|
|
672
|
+
const _sfc_main$x = /* @__PURE__ */ defineComponent({
|
|
673
|
+
__name: "TabRedo",
|
|
625
674
|
setup(__props) {
|
|
626
|
-
const
|
|
675
|
+
const tabStore = useRouteReuseStore();
|
|
676
|
+
const router = useRouter();
|
|
677
|
+
function handleRedo() {
|
|
678
|
+
tabStore.refreshPage(router);
|
|
679
|
+
}
|
|
627
680
|
return (_ctx, _cache) => {
|
|
628
681
|
return openBlock(), createElementBlock("span", {
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
},
|
|
632
|
-
createElementVNode("i", {
|
|
633
|
-
class: normalizeClass(["i block", !unref(isFullscreen) ? "ic:baseline-fullscreen" : "ic:baseline-fullscreen-exit"])
|
|
634
|
-
}, null, 2)
|
|
635
|
-
]);
|
|
682
|
+
onClick: handleRedo,
|
|
683
|
+
class: "inline-block w-9 h-9 leading-9 -mt-0.5 text-zinc-600 text-center cursor-pointer border-l border-zinc-300 hover:text-zinc-900"
|
|
684
|
+
}, _hoisted_2$9);
|
|
636
685
|
};
|
|
637
686
|
}
|
|
638
687
|
});
|
|
639
|
-
|
|
640
|
-
const
|
|
641
|
-
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
|
|
688
|
+
function useTabDropdown() {
|
|
689
|
+
const router = useRouter();
|
|
690
|
+
const { currentRoute } = router;
|
|
691
|
+
const tabStore = useRouteReuseStore();
|
|
692
|
+
const state = reactive({
|
|
693
|
+
current: null,
|
|
694
|
+
currentIndex: 0
|
|
695
|
+
});
|
|
696
|
+
const getDropMenuList = computed(() => {
|
|
648
697
|
const { t } = useI18n("UI");
|
|
649
|
-
const
|
|
650
|
-
const
|
|
651
|
-
const
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
|
|
698
|
+
const { path, meta } = unref(currentRoute);
|
|
699
|
+
const curItem = state.current;
|
|
700
|
+
const isCurItem = curItem ? curItem.path === path : false;
|
|
701
|
+
const index = state.currentIndex;
|
|
702
|
+
const closeLeftDisabled = index === 0 || !isCurItem;
|
|
703
|
+
const disabled = tabStore.getTabList.length === 1;
|
|
704
|
+
const closeRightDisabled = !isCurItem || index === tabStore.getTabList.length - 1 && tabStore.getLastDragEndIndex >= 0;
|
|
705
|
+
const dropMenuList = [
|
|
706
|
+
{
|
|
707
|
+
icon: "ic:baseline-close",
|
|
708
|
+
text: t("CLOSE_CURRENT_TAG"),
|
|
709
|
+
onClick: () => tabStore.closeTab(path, router),
|
|
710
|
+
disabled: !!meta?.affix || disabled,
|
|
711
|
+
divider: true
|
|
712
|
+
},
|
|
713
|
+
{
|
|
714
|
+
icon: "mdi:arrow-collapse-left",
|
|
715
|
+
text: t("CLOSE_LEFT_TAGS"),
|
|
716
|
+
onClick: () => tabStore.closeLeftTabs(path),
|
|
717
|
+
disabled: closeLeftDisabled,
|
|
718
|
+
divider: false
|
|
719
|
+
},
|
|
720
|
+
{
|
|
721
|
+
icon: "mdi:arrow-collapse-right",
|
|
722
|
+
text: t("CLOSE_RIGHT_TAGS"),
|
|
723
|
+
onClick: () => tabStore.closeRightTabs(path),
|
|
724
|
+
disabled: closeRightDisabled,
|
|
725
|
+
divider: true
|
|
726
|
+
},
|
|
727
|
+
{
|
|
728
|
+
icon: "ic:baseline-sync-alt",
|
|
729
|
+
text: t("CLOSE_OTHER_TAGS"),
|
|
730
|
+
onClick: () => tabStore.closeOtherTabs(path),
|
|
731
|
+
disabled: disabled || !isCurItem
|
|
732
|
+
},
|
|
733
|
+
{
|
|
734
|
+
icon: "ic:baseline-horizontal-rule",
|
|
735
|
+
text: t("CLOSE_ALL_TAGE"),
|
|
736
|
+
onClick: () => tabStore.closeAllTab(currentRoute, router),
|
|
737
|
+
disabled
|
|
738
|
+
}
|
|
739
|
+
];
|
|
740
|
+
return dropMenuList;
|
|
741
|
+
});
|
|
742
|
+
function handleContext(e) {
|
|
743
|
+
e?.preventDefault();
|
|
744
|
+
const { path } = unref(currentRoute);
|
|
745
|
+
const index = tabStore.getTabList.findIndex((tab) => tab.path === path);
|
|
746
|
+
state.current = unref(currentRoute);
|
|
747
|
+
state.currentIndex = index;
|
|
667
748
|
}
|
|
668
|
-
|
|
669
|
-
|
|
670
|
-
__name: "trigger",
|
|
671
|
-
props: { theme: String },
|
|
672
|
-
setup(__props) {
|
|
673
|
-
const props = __props;
|
|
674
|
-
const { getCollapsed, toggleCollapsed } = useMenu();
|
|
675
|
-
return (_ctx, _cache) => {
|
|
676
|
-
return openBlock(), createElementBlock("div", {
|
|
677
|
-
class: normalizeClass(["flex w-12 h-full cursor-pointer items-center justify-center", props.theme]),
|
|
678
|
-
onClick: _cache[0] || (_cache[0] = (...args) => unref(toggleCollapsed) && unref(toggleCollapsed)(...args))
|
|
679
|
-
}, [
|
|
680
|
-
createElementVNode("i", {
|
|
681
|
-
class: normalizeClass(["i leading-none", unref(getCollapsed) ? "ic:baseline-format-indent-increase" : "ic:baseline-format-indent-decrease"])
|
|
682
|
-
}, null, 2)
|
|
683
|
-
], 2);
|
|
684
|
-
};
|
|
749
|
+
function handleMenuEvent(item) {
|
|
750
|
+
item.onClick?.();
|
|
685
751
|
}
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
|
|
689
|
-
|
|
752
|
+
return {
|
|
753
|
+
getDropMenuList,
|
|
754
|
+
handleContext,
|
|
755
|
+
handleMenuEvent
|
|
756
|
+
};
|
|
757
|
+
}
|
|
758
|
+
const _hoisted_1$h = /* @__PURE__ */ createElementVNode("i", { class: "block i ic:baseline-keyboard-arrow-down" }, null, -1);
|
|
759
|
+
const _hoisted_2$8 = [
|
|
760
|
+
_hoisted_1$h
|
|
761
|
+
];
|
|
762
|
+
const _hoisted_3$6 = { class: "text-13" };
|
|
763
|
+
const _sfc_main$w = /* @__PURE__ */ defineComponent({
|
|
764
|
+
__name: "TabContent",
|
|
690
765
|
setup(__props) {
|
|
691
|
-
const {
|
|
692
|
-
let routes = ref([]);
|
|
693
|
-
const { currentRoute = null } = useRouter();
|
|
694
|
-
watchEffect(() => {
|
|
695
|
-
if (!currentRoute || currentRoute.value.path === "/")
|
|
696
|
-
return;
|
|
697
|
-
routes.value = getBreadCrumb(currentRoute.value.path);
|
|
698
|
-
});
|
|
766
|
+
const { getDropMenuList, handleContext, handleMenuEvent } = useTabDropdown();
|
|
699
767
|
return (_ctx, _cache) => {
|
|
700
|
-
const
|
|
701
|
-
|
|
702
|
-
|
|
703
|
-
|
|
704
|
-
|
|
705
|
-
|
|
706
|
-
|
|
707
|
-
|
|
708
|
-
|
|
768
|
+
const _component_AMenuItem = MenuItem;
|
|
769
|
+
const _component_AMenuDivider = MenuDivider;
|
|
770
|
+
const _component_AMenu = Menu;
|
|
771
|
+
const _component_ADropdown = Dropdown;
|
|
772
|
+
return openBlock(), createBlock(_component_ADropdown, {
|
|
773
|
+
placement: "bottomRight",
|
|
774
|
+
trigger: ["click"],
|
|
775
|
+
overlayClassName: "dt-reuse-tabs__dropdown"
|
|
776
|
+
}, {
|
|
777
|
+
overlay: withCtx(() => [
|
|
778
|
+
createVNode(_component_AMenu, null, {
|
|
779
|
+
default: withCtx(() => [
|
|
780
|
+
(openBlock(true), createElementBlock(Fragment, null, renderList(unref(getDropMenuList), (item, index) => {
|
|
781
|
+
return openBlock(), createElementBlock(Fragment, { key: index }, [
|
|
782
|
+
createVNode(_component_AMenuItem, {
|
|
783
|
+
onClick: ($event) => unref(handleMenuEvent)(item),
|
|
784
|
+
disabled: item.disabled
|
|
785
|
+
}, {
|
|
786
|
+
default: withCtx(() => [
|
|
787
|
+
createElementVNode("i", {
|
|
788
|
+
class: normalizeClass(["i pr-4", item.icon])
|
|
789
|
+
}, null, 2),
|
|
790
|
+
createElementVNode("span", _hoisted_3$6, toDisplayString(item.text), 1)
|
|
791
|
+
]),
|
|
792
|
+
_: 2
|
|
793
|
+
}, 1032, ["onClick", "disabled"]),
|
|
794
|
+
item.divider ? (openBlock(), createBlock(_component_AMenuDivider, {
|
|
795
|
+
key: `d-${index}`
|
|
796
|
+
})) : createCommentVNode("", true)
|
|
797
|
+
], 64);
|
|
798
|
+
}), 128))
|
|
799
|
+
]),
|
|
800
|
+
_: 1
|
|
801
|
+
})
|
|
802
|
+
]),
|
|
803
|
+
default: withCtx(() => [
|
|
804
|
+
createElementVNode("span", {
|
|
805
|
+
onClick: _cache[0] || (_cache[0] = (...args) => unref(handleContext) && unref(handleContext)(...args)),
|
|
806
|
+
class: "inline-block w-9 h-9 leading-9 -mt-0.5 text-zinc-600 text-center cursor-pointer border-l border-zinc-300 hover:text-zinc-900"
|
|
807
|
+
}, _hoisted_2$8)
|
|
808
|
+
]),
|
|
809
|
+
_: 1
|
|
810
|
+
});
|
|
709
811
|
};
|
|
710
812
|
}
|
|
711
813
|
});
|
|
712
|
-
|
|
713
|
-
|
|
714
|
-
|
|
715
|
-
|
|
716
|
-
const
|
|
717
|
-
|
|
718
|
-
|
|
719
|
-
|
|
720
|
-
};
|
|
721
|
-
const _sfc_main$s = /* @__PURE__ */ defineComponent({
|
|
722
|
-
__name: "menu-filter",
|
|
723
|
-
setup(__props) {
|
|
724
|
-
const { t } = useI18n("UI");
|
|
725
|
-
const menuList = ref([]);
|
|
726
|
-
const router = useRouter();
|
|
727
|
-
const filter = ref("");
|
|
728
|
-
const { getShowSearch, getIsZH } = useHeader();
|
|
729
|
-
const isUseDef = computed(() => {
|
|
730
|
-
return isBoolean(getShowSearch.value);
|
|
731
|
-
});
|
|
732
|
-
function visibleChange(e) {
|
|
733
|
-
if (e) {
|
|
734
|
-
filterMenu();
|
|
735
|
-
} else {
|
|
736
|
-
filter.value = null;
|
|
814
|
+
function initAffixTabs() {
|
|
815
|
+
const affixList = ref([]);
|
|
816
|
+
const tabStore = useRouteReuseStore();
|
|
817
|
+
const router = useRouter();
|
|
818
|
+
const filterAffixTabs = (routes = []) => {
|
|
819
|
+
return routes && routes.reduce((tabs, route) => {
|
|
820
|
+
if (route.meta && route.meta.affix) {
|
|
821
|
+
tabs.push(toRaw(route));
|
|
737
822
|
}
|
|
738
|
-
|
|
739
|
-
|
|
740
|
-
|
|
741
|
-
|
|
742
|
-
|
|
743
|
-
|
|
744
|
-
|
|
745
|
-
|
|
746
|
-
|
|
823
|
+
return tabs;
|
|
824
|
+
}, []);
|
|
825
|
+
};
|
|
826
|
+
const addAffixTabs = () => {
|
|
827
|
+
const affixTabs = filterAffixTabs(router.getRoutes());
|
|
828
|
+
affixList.value = affixTabs;
|
|
829
|
+
for (const tab of affixTabs) {
|
|
830
|
+
tabStore.addTab({
|
|
831
|
+
meta: tab.meta,
|
|
832
|
+
name: tab.name,
|
|
833
|
+
path: tab.path
|
|
834
|
+
});
|
|
835
|
+
}
|
|
836
|
+
};
|
|
837
|
+
let isAddAffix = false;
|
|
838
|
+
if (!isAddAffix) {
|
|
839
|
+
addAffixTabs();
|
|
840
|
+
isAddAffix = true;
|
|
841
|
+
}
|
|
842
|
+
return affixList.value.map((item) => item.meta?.title).filter(Boolean);
|
|
843
|
+
}
|
|
844
|
+
function useSortable(el, options) {
|
|
845
|
+
function initSortable() {
|
|
846
|
+
nextTick(async () => {
|
|
847
|
+
if (!el)
|
|
848
|
+
return;
|
|
849
|
+
const Sortable = (await import("sortablejs")).default;
|
|
850
|
+
Sortable.create(unref(el), {
|
|
851
|
+
animation: 500,
|
|
852
|
+
delay: 400,
|
|
853
|
+
delayOnTouchOnly: true,
|
|
854
|
+
...options
|
|
747
855
|
});
|
|
856
|
+
});
|
|
857
|
+
}
|
|
858
|
+
return { initSortable };
|
|
859
|
+
}
|
|
860
|
+
function useTabsDrag(affixList) {
|
|
861
|
+
const tabStore = useRouteReuseStore();
|
|
862
|
+
const { getCanDrag } = useMultipleTab();
|
|
863
|
+
nextTick(() => {
|
|
864
|
+
if (!unref(getCanDrag))
|
|
865
|
+
return;
|
|
866
|
+
const el = document.querySelectorAll(`.dt-reuse-tabs .ant-tabs-nav-list`)?.[0];
|
|
867
|
+
const { initSortable } = useSortable(el, {
|
|
868
|
+
filter: (e) => {
|
|
869
|
+
const text = e?.target?.innerText;
|
|
870
|
+
if (!text)
|
|
871
|
+
return false;
|
|
872
|
+
return affixList.includes(text);
|
|
873
|
+
},
|
|
874
|
+
onEnd: (evt) => {
|
|
875
|
+
const { oldIndex, newIndex } = evt;
|
|
876
|
+
if (isNullAndUnDef(oldIndex) || isNullAndUnDef(newIndex) || oldIndex === newIndex)
|
|
877
|
+
return;
|
|
878
|
+
tabStore.sortTabs(oldIndex, newIndex);
|
|
879
|
+
}
|
|
880
|
+
});
|
|
881
|
+
initSortable();
|
|
882
|
+
});
|
|
883
|
+
}
|
|
884
|
+
const _hoisted_1$g = { class: "dt-reuse-tabs leading-8 border-b border-solid border-gray-200" };
|
|
885
|
+
const _sfc_main$v = /* @__PURE__ */ defineComponent({
|
|
886
|
+
__name: "index",
|
|
887
|
+
setup(__props) {
|
|
888
|
+
const { t } = useI18n("UI");
|
|
889
|
+
const router = useRouter();
|
|
890
|
+
const go = useGo(router);
|
|
891
|
+
const tabStore = useRouteReuseStore();
|
|
892
|
+
const { getShowQuick, getShowRedo } = useMultipleTab();
|
|
893
|
+
const menuLabelMap = menuList2Map();
|
|
894
|
+
const activeKeyRef = ref(null);
|
|
895
|
+
const getTabsState = computed(() => {
|
|
896
|
+
return tabStore.getTabList.filter((item) => !item.meta?.hideTab);
|
|
897
|
+
});
|
|
898
|
+
const unClose = computed(() => unref(getTabsState).length === 1);
|
|
899
|
+
function handleChange(activeKey) {
|
|
900
|
+
activeKeyRef.value = activeKey;
|
|
901
|
+
go(activeKey);
|
|
748
902
|
}
|
|
903
|
+
function handleEdit(targetKey) {
|
|
904
|
+
if (unref(unClose))
|
|
905
|
+
return;
|
|
906
|
+
tabStore.closeTab(targetKey, router);
|
|
907
|
+
}
|
|
908
|
+
const affixTextList = initAffixTabs();
|
|
909
|
+
useTabsDrag(affixTextList);
|
|
910
|
+
watch(
|
|
911
|
+
() => router.currentRoute.value.path,
|
|
912
|
+
(v) => {
|
|
913
|
+
if (v === "/" || v === "/login")
|
|
914
|
+
return;
|
|
915
|
+
const { meta = {} } = unref(router.currentRoute);
|
|
916
|
+
const { hideTab = false } = meta;
|
|
917
|
+
if (activeKeyRef.value !== v) {
|
|
918
|
+
activeKeyRef.value = v;
|
|
919
|
+
}
|
|
920
|
+
if (!hideTab) {
|
|
921
|
+
tabStore.addTab(unref(router.currentRoute));
|
|
922
|
+
}
|
|
923
|
+
},
|
|
924
|
+
{
|
|
925
|
+
immediate: true
|
|
926
|
+
}
|
|
927
|
+
);
|
|
749
928
|
return (_ctx, _cache) => {
|
|
750
|
-
const
|
|
751
|
-
const
|
|
752
|
-
|
|
753
|
-
|
|
754
|
-
|
|
755
|
-
|
|
756
|
-
|
|
757
|
-
|
|
758
|
-
|
|
759
|
-
|
|
760
|
-
|
|
761
|
-
|
|
762
|
-
|
|
763
|
-
|
|
764
|
-
class: "px-5 leading-9 border-gray-200 border-dashed border-b m-0 cursor-pointer transition-all duration-300 text-13"
|
|
765
|
-
}, toDisplayString(unref(getIsZH) ? menu.label : menu.enLabel), 9, _hoisted_2$8);
|
|
766
|
-
}), 256)),
|
|
767
|
-
!menuList.value.length ? (openBlock(), createElementBlock("div", _hoisted_3$5, [
|
|
768
|
-
createVNode(_component_AEmpty, {
|
|
769
|
-
description: "\u6682\u65E0\u6570\u636E",
|
|
770
|
-
imageStyle: { width: "100%" }
|
|
771
|
-
})
|
|
772
|
-
])) : createCommentVNode("", true)
|
|
773
|
-
]),
|
|
929
|
+
const _component_ATabPane = TabPane;
|
|
930
|
+
const _component_ATabs = Tabs;
|
|
931
|
+
return openBlock(), createElementBlock("div", _hoisted_1$g, [
|
|
932
|
+
createVNode(_component_ATabs, {
|
|
933
|
+
type: "editable-card",
|
|
934
|
+
size: "small",
|
|
935
|
+
animated: false,
|
|
936
|
+
hideAdd: true,
|
|
937
|
+
tabBarGutter: 3,
|
|
938
|
+
activeKey: activeKeyRef.value,
|
|
939
|
+
onChange: handleChange,
|
|
940
|
+
onEdit: handleEdit,
|
|
941
|
+
class: "h-8"
|
|
942
|
+
}, createSlots({
|
|
774
943
|
default: withCtx(() => [
|
|
775
|
-
|
|
776
|
-
|
|
777
|
-
|
|
778
|
-
|
|
779
|
-
|
|
780
|
-
|
|
781
|
-
|
|
944
|
+
(openBlock(true), createElementBlock(Fragment, null, renderList(unref(getTabsState), (item) => {
|
|
945
|
+
return openBlock(), createBlock(_component_ATabPane, {
|
|
946
|
+
key: item.query ? item.fullPath : item.path,
|
|
947
|
+
closable: !(item && item.meta && item.meta.affix)
|
|
948
|
+
}, {
|
|
949
|
+
tab: withCtx(() => [
|
|
950
|
+
createElementVNode("span", null, toDisplayString(unref(menuLabelMap).get(item.path) || unref(t)("UNKNOWN_ROUTE")), 1)
|
|
951
|
+
]),
|
|
952
|
+
_: 2
|
|
953
|
+
}, 1032, ["closable"]);
|
|
954
|
+
}), 128))
|
|
782
955
|
]),
|
|
783
|
-
_:
|
|
784
|
-
}
|
|
785
|
-
|
|
956
|
+
_: 2
|
|
957
|
+
}, [
|
|
958
|
+
unref(getShowRedo) || unref(getShowQuick) ? {
|
|
959
|
+
name: "rightExtra",
|
|
960
|
+
fn: withCtx(() => [
|
|
961
|
+
unref(getShowRedo) ? (openBlock(), createBlock(unref(_sfc_main$x), { key: 0 })) : createCommentVNode("", true),
|
|
962
|
+
unref(getShowQuick) ? (openBlock(), createBlock(unref(_sfc_main$w), { key: 1 })) : createCommentVNode("", true)
|
|
963
|
+
]),
|
|
964
|
+
key: "0"
|
|
965
|
+
} : void 0
|
|
966
|
+
]), 1032, ["activeKey"])
|
|
967
|
+
]);
|
|
786
968
|
};
|
|
787
969
|
}
|
|
788
970
|
});
|
|
789
|
-
const
|
|
790
|
-
|
|
791
|
-
const _hoisted_3$4 = {
|
|
792
|
-
class: "pr-2",
|
|
793
|
-
size: 16
|
|
794
|
-
};
|
|
795
|
-
const _hoisted_4$2 = /* @__PURE__ */ createElementVNode("span", { class: "dt_header_icon text-lg text-gray-800 cursor-pointer px-3 hover:bg-gray-500 hover:bg-opacity-50 transition-all duration-300" }, [
|
|
796
|
-
/* @__PURE__ */ createElementVNode("i", { class: "block i ic:baseline-language" })
|
|
797
|
-
], -1);
|
|
798
|
-
const _sfc_main$r = /* @__PURE__ */ defineComponent({
|
|
799
|
-
__name: "lang-picker",
|
|
800
|
-
props: {
|
|
801
|
-
reload: { type: Boolean }
|
|
802
|
-
},
|
|
971
|
+
const _sfc_main$u = /* @__PURE__ */ defineComponent({
|
|
972
|
+
__name: "fullscreen",
|
|
803
973
|
setup(__props) {
|
|
804
|
-
const
|
|
805
|
-
const visible = ref(false);
|
|
806
|
-
let currentLang = DtCache.getLocal(CacheKey.LOCALE);
|
|
807
|
-
async function toggleLang(lang) {
|
|
808
|
-
visible.value = false;
|
|
809
|
-
if (lang !== currentLang) {
|
|
810
|
-
currentLang = lang;
|
|
811
|
-
await changeLocale(lang);
|
|
812
|
-
props.reload && location.reload();
|
|
813
|
-
}
|
|
814
|
-
}
|
|
974
|
+
const { toggle, isFullscreen } = useFullscreen();
|
|
815
975
|
return (_ctx, _cache) => {
|
|
816
|
-
|
|
817
|
-
|
|
818
|
-
|
|
819
|
-
|
|
820
|
-
|
|
821
|
-
|
|
822
|
-
|
|
823
|
-
|
|
824
|
-
}, {
|
|
825
|
-
content: withCtx(() => [
|
|
826
|
-
createElementVNode("ul", _hoisted_1$f, [
|
|
827
|
-
(openBlock(true), createElementBlock(Fragment, null, renderList(unref(localeList), (it) => {
|
|
828
|
-
return openBlock(), createElementBlock("li", {
|
|
829
|
-
onClick: ($event) => toggleLang(it.event),
|
|
830
|
-
class: normalizeClass(["px-4 my-1 leading-9 flex border-gray-200 cursor-pointer hover:bg-gray-100 transition-all duration-300 text-13", it.event === unref(currentLang) ? "active bg-gray-100" : ""])
|
|
831
|
-
}, [
|
|
832
|
-
withDirectives(createElementVNode("span", _hoisted_3$4, null, 512), [
|
|
833
|
-
[_directive_icon, it.icon]
|
|
834
|
-
]),
|
|
835
|
-
createElementVNode("span", null, toDisplayString(it.text), 1)
|
|
836
|
-
], 10, _hoisted_2$7);
|
|
837
|
-
}), 256))
|
|
838
|
-
])
|
|
839
|
-
]),
|
|
840
|
-
default: withCtx(() => [
|
|
841
|
-
_hoisted_4$2
|
|
842
|
-
]),
|
|
843
|
-
_: 1
|
|
844
|
-
}, 8, ["visible"]);
|
|
976
|
+
return openBlock(), createElementBlock("span", {
|
|
977
|
+
class: "dt_header_icon text-lg text-gray-800 cursor-pointer px-3 hover:bg-gray-500 hover:bg-opacity-50 transition-all duration-300",
|
|
978
|
+
onClick: _cache[0] || (_cache[0] = (...args) => unref(toggle) && unref(toggle)(...args))
|
|
979
|
+
}, [
|
|
980
|
+
createElementVNode("i", {
|
|
981
|
+
class: normalizeClass(["i block", !unref(isFullscreen) ? "ic:baseline-fullscreen" : "ic:baseline-fullscreen-exit"])
|
|
982
|
+
}, null, 2)
|
|
983
|
+
]);
|
|
845
984
|
};
|
|
846
985
|
}
|
|
847
986
|
});
|
|
@@ -983,8 +1122,8 @@ const Bar = defineComponent({
|
|
|
983
1122
|
);
|
|
984
1123
|
}
|
|
985
1124
|
});
|
|
986
|
-
const _hoisted_1$
|
|
987
|
-
const _sfc_main$
|
|
1125
|
+
const _hoisted_1$f = { class: "scrollbar relative h-full overflow-hidden" };
|
|
1126
|
+
const _sfc_main$t = /* @__PURE__ */ defineComponent({
|
|
988
1127
|
__name: "scroll-bar",
|
|
989
1128
|
props: {
|
|
990
1129
|
wrapClass: {
|
|
@@ -1053,7 +1192,7 @@ const _sfc_main$q = /* @__PURE__ */ defineComponent({
|
|
|
1053
1192
|
}
|
|
1054
1193
|
});
|
|
1055
1194
|
return (_ctx, _cache) => {
|
|
1056
|
-
return openBlock(), createElementBlock("div", _hoisted_1$
|
|
1195
|
+
return openBlock(), createElementBlock("div", _hoisted_1$f, [
|
|
1057
1196
|
createElementVNode("div", {
|
|
1058
1197
|
ref_key: "wrap",
|
|
1059
1198
|
ref: wrap,
|
|
@@ -1086,12 +1225,12 @@ const _sfc_main$q = /* @__PURE__ */ defineComponent({
|
|
|
1086
1225
|
};
|
|
1087
1226
|
}
|
|
1088
1227
|
});
|
|
1089
|
-
const _sfc_main$
|
|
1228
|
+
const _sfc_main$s = /* @__PURE__ */ defineComponent({
|
|
1090
1229
|
__name: "scroll-container",
|
|
1091
1230
|
setup(__props) {
|
|
1092
1231
|
const scrollbarRef = ref(null);
|
|
1093
1232
|
return (_ctx, _cache) => {
|
|
1094
|
-
return openBlock(), createBlock(_sfc_main$
|
|
1233
|
+
return openBlock(), createBlock(_sfc_main$t, mergeProps({
|
|
1095
1234
|
ref_key: "scrollbarRef",
|
|
1096
1235
|
ref: scrollbarRef
|
|
1097
1236
|
}, _ctx.$attrs, { class: "w-full h-full" }), {
|
|
@@ -1103,7 +1242,7 @@ const _sfc_main$p = /* @__PURE__ */ defineComponent({
|
|
|
1103
1242
|
};
|
|
1104
1243
|
}
|
|
1105
1244
|
});
|
|
1106
|
-
const _sfc_main$
|
|
1245
|
+
const _sfc_main$r = /* @__PURE__ */ defineComponent({
|
|
1107
1246
|
__name: "slot-container",
|
|
1108
1247
|
props: {
|
|
1109
1248
|
template: {
|
|
@@ -1127,18 +1266,234 @@ const withInstall = (comp) => {
|
|
|
1127
1266
|
};
|
|
1128
1267
|
return comp;
|
|
1129
1268
|
};
|
|
1130
|
-
const DtScrollContainer = withInstall(_sfc_main$
|
|
1131
|
-
const DtSlotContainer = withInstall(_sfc_main$
|
|
1132
|
-
const _hoisted_1$d = { class: "dt_header_icon text-lg text-gray-800 cursor-pointer px-3 hover:bg-gray-500 hover:bg-opacity-50 transition-all duration-300 relative" };
|
|
1133
|
-
const
|
|
1134
|
-
|
|
1269
|
+
const DtScrollContainer = withInstall(_sfc_main$s);
|
|
1270
|
+
const DtSlotContainer = withInstall(_sfc_main$r);
|
|
1271
|
+
const logoUrl = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADkAAAA5CAYAAACMGIOFAAAACXBIWXMAAAsTAAALEwEAmpwYAAAzfGlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxNDggNzkuMTY0MDM2LCAyMDE5LzA4LzEzLTAxOjA2OjU3ICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOnBob3Rvc2hvcD0iaHR0cDovL25zLmFkb2JlLmNvbS9waG90b3Nob3AvMS4wLyIgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChNYWNpbnRvc2gpIiB4bXA6Q3JlYXRlRGF0ZT0iMjAxOS0wNS0wNlQxMToyNzoyOCswODowMCIgeG1wOk1ldGFkYXRhRGF0ZT0iMjAyMS0xMC0yNFQxNDozMToxNiswODowMCIgeG1wOk1vZGlmeURhdGU9IjIwMjEtMTAtMjRUMTQ6MzE6MTYrMDg6MDAiIHBob3Rvc2hvcDpDb2xvck1vZGU9IjMiIHBob3Rvc2hvcDpJQ0NQcm9maWxlPSJzUkdCIElFQzYxOTY2LTIuMSIgZGM6Zm9ybWF0PSJpbWFnZS9wbmciIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NWU1YmFlNWUtOTQzOS1lYjQ4LWJiMjEtZjZjM2UwOWYxODM2IiB4bXBNTTpEb2N1bWVudElEPSJhZG9iZTpkb2NpZDpwaG90b3Nob3A6ZGU4M2YxYWYtODBkMS1kMTRlLTg5ZWMtNGE1MjUzNzFkZTcwIiB4bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ9InhtcC5kaWQ6OTg1ODkwODQtMjkyYi01ODRiLTkzODAtNWJmY2E3NjJmYzk5Ij4gPHBob3Rvc2hvcDpEb2N1bWVudEFuY2VzdG9ycz4gPHJkZjpCYWc+IDxyZGY6bGk+MDBCQTBEMEExQ0M5RDAwNTMxNTlBMjBGRTcxOTA2RTg8L3JkZjpsaT4gPHJkZjpsaT4wMTQwNjdEM0ZDNjM5OTM3RTc4QkFCNDFBMzdCNzMwNTwvcmRmOmxpPiA8cmRmOmxpPjAyRDI2REY0MDMxREJFOUM5N0Q5Mzg1RjE5QTUwMUQ0PC9yZGY6bGk+IDxyZGY6bGk+MDcxNDVGQzc5RjkxODMwQjNGRUNFOUZCODNEMDZDN0M8L3JkZjpsaT4gPHJkZjpsaT4wRDgyMkI0MThFM0E2RjZCMjBDMEM2NjkwOUI0QTc5QTwvcmRmOmxpPiA8cmRmOmxpPjBGOUM0NTJBMkZGQTE3QzU4RTQ5MzVFQUU3RUJEQzI1PC9yZGY6bGk+IDxyZGY6bGk+MTY2N0I2OTg3MUJGRjQ4MThEODU5RENGMjIzOTUyMjg8L3JkZjpsaT4gPHJkZjpsaT4xOTNFMUQ2M0ExRDJEN0VBN0U0MTFBMzlBQzNENkJBMzwvcmRmOmxpPiA8cmRmOmxpPjIwNjY1MENBM0RBNUM2OURFQjZCRjAyMTQ3MEUzM0Y1PC9yZGY6bGk+IDxyZGY6bGk+MjE1QzM3NDMwNUM1MUVDQ0FENUM1RDUzQThCMEMwMkI8L3JkZjpsaT4gPHJkZjpsaT4yMThDREMzM0Y0OTE1NTMzQzRFQjMwRUIzQTU3MjM1RjwvcmRmOmxpPiA8cmRmOmxpPjI0N0QxRUVDRThCMjkzOTJCNzQ3RjVCMzQ3Rjc5RDRGPC9yZGY6bGk+IDxyZGY6bGk+MkVDOURBNDM2NEQ2RTBCRjYwNzExRDJFOUY1OEM4ODg8L3JkZjpsaT4gPHJkZjpsaT4zNzEyQTgyQjE3NEM0OUMwMDg2MTUxMEJBODEzMDlBOTwvcmRmOmxpPiA8cmRmOmxpPjNEQjIwQTEwQzQyQjZGMkZEMEMwQkYyNUZDNEU5NzFFPC9yZGY6bGk+IDxyZGY6bGk+NDFDMTBEM0IzRUFBQTUwQjI5ODRBNzY1MEM5QzQzMTc8L3JkZjpsaT4gPHJkZjpsaT40OTQxN0MwQjQxMDgxRkJDRDQxNjAwQTM1QUE0MkEwMzwvcmRmOmxpPiA8cmRmOmxpPjRCQUVBREUyQjhFMTk4MTA2MkM5RjQzMTFCREI5Njg5PC9yZGY6bGk+IDxyZGY6bGk+NEU5NTUxOEI4OUI2MjEwOTRFNDdGMEU3MUQ4MUYxRjQ8L3JkZjpsaT4gPHJkZjpsaT41NDlEOUJFODJBRjc3NzVFOTMzRDc3QjJDOEY4N0QwMDwvcmRmOmxpPiA8cmRmOmxpPjU1NTQ4QzhDN0VEODdCRDI2MUI1RTNDRTBCQzdGNUM3PC9yZGY6bGk+IDxyZGY6bGk+NTg0RjVFMjNEMEFFMDA0NUQ4OENBM0I3MTUxNDQyODk8L3JkZjpsaT4gPHJkZjpsaT41OUVDMTdCMzk5Q0Y3QzFDQkJEN0FBMDUwODYyMzY1OTwvcmRmOmxpPiA8cmRmOmxpPjVDRUFCMzA0QUVFMTUyMzVGMDM3Mjg1NTdDMjFCQTBBPC9yZGY6bGk+IDxyZGY6bGk+NUUwRkI3MDI4QjU5NDlBNEFDRkU0NjIwNjRCQjVFNTc8L3JkZjpsaT4gPHJkZjpsaT42NzlCNDI1OEZGQjVDQTZBQUM2MDgzQkJBQTNFMDYwRTwvcmRmOmxpPiA8cmRmOmxpPjZDMDkzMzdDRjQxRTU3NTQ2NTFFMTJCNkRDMTU5OTcyPC9yZGY6bGk+IDxyZGY6bGk+NzU1RTZBRjM1MzM3ODA5MkM3NzlCNDE1MDAwRDg0RkE8L3JkZjpsaT4gPHJkZjpsaT43OUJDMjI2N0QxODVCOTM4MTA4RDQ2N0ZBNEI0QzVBOTwvcmRmOmxpPiA8cmRmOmxpPjdDMTMzQkQ1NDA3MzQ3RTVBREJFMzJBNDlCODIzRUFEPC9yZGY6bGk+IDxyZGY6bGk+ODE2QzZGQUI0NTQ4NzMyNjU5NTc2NkNCNEYzNDFEQUQ8L3JkZjpsaT4gPHJkZjpsaT44MzZFNkZCNjlEMDk4Njg5RDc4RDdEQjlEQjhDREExRTwvcmRmOmxpPiA8cmRmOmxpPjg1QTM5MUEyMkM2NEY1Q0IwQTM3QTg2MzZFNTRGOUY2PC9yZGY6bGk+IDxyZGY6bGk+OEE0QkZEOTQzQUZGOTlEMDdEREU1MUYwMDFDNEE5REE8L3JkZjpsaT4gPHJkZjpsaT45NEMzMkU2QTE1MTdCNzBBNDM5ODVBQTc2NTM0NEI2OTwvcmRmOmxpPiA8cmRmOmxpPkFCMzlENjBENTExNEVFOEE4RkJBREUyRTkyMEM0NUExPC9yZGY6bGk+IDxyZGY6bGk+QjIwMUZGOTM3QzYwNzkxMEY4MUY5REJERkNDRkZGRTk8L3JkZjpsaT4gPHJkZjpsaT5CRTYxMzMxREQ1MkI2MjlFNjgwNUVCMzQ3MkRFRTJEMjwvcmRmOmxpPiA8cmRmOmxpPkJFQzM4NTRBODA1RkQ1NkM3RThEMkUxN0M0NzA5ODkwPC9yZGY6bGk+IDxyZGY6bGk+Qzg5NkI0OTZGMTgyREU1MTgzNTg3MEIwOTM0MUQ4RTg8L3JkZjpsaT4gPHJkZjpsaT5DQkJEN0U5OEM1MEI0RTE0RDA0MkNFNTMzQUE1QTgyMDwvcmRmOmxpPiA8cmRmOmxpPkQ5NjQzNUIwNkRFNTQ2OTg4MDUyMjVDNERBRkUzOEIyPC9yZGY6bGk+IDxyZGY6bGk+RTJCNTc3NDY4ODE4NEI2Mzk4OTE0RTI4MkQ5RThFODQ8L3JkZjpsaT4gPHJkZjpsaT5FNDJCMEFDNjg1OTAyMTcyQzIxNjEyQkJGMjFGRjg0QjwvcmRmOmxpPiA8cmRmOmxpPkU1QjQzNTBCREVFMTQ1NUMxM0UxNTU1NEM2MEY2QjQ0PC9yZGY6bGk+IDxyZGY6bGk+RUI3NzhBRjNENDVERUNBQkFCRUEwRkZDQTg4QTEyNDM8L3JkZjpsaT4gPHJkZjpsaT5GNTY3RjdBNDRCNTJFQUMwNTYxNkVBODdGRjlEMzMxQzwvcmRmOmxpPiA8cmRmOmxpPkY1RjgzQTQyMzI4N0E0MUUyMTM5ODdDNTRERjhFOUQ3PC9yZGY6bGk+IDxyZGY6bGk+RkVBQkZDQTQyQzY1N0ZFN0Y1MjEzOEQ0NkQyRTQ2MjM8L3JkZjpsaT4gPHJkZjpsaT5hZG9iZTpkb2NpZDpwaG90b3Nob3A6MDQ3NzM4NzYtZTg2Zi0xMWU3LTg4MmMtYWRiZmQ5NWE3NjU0PC9yZGY6bGk+IDxyZGY6bGk+YWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOjA4ZjFmZmI5LWM1MWUtMTE3OS1iNTJlLWFkNGFiZjVjNmRhZDwvcmRmOmxpPiA8cmRmOmxpPmFkb2JlOmRvY2lkOnBob3Rvc2hvcDowYjM2MmY4Yi1hY2I2LTExZTUtOGZmZS1lMzQ2MTgxMGQzZTk8L3JkZjpsaT4gPHJkZjpsaT5hZG9iZTpkb2NpZDpwaG90b3Nob3A6MTAwMDFlZTUtZGVmNy03MjRiLTg3OTctZDg4YjE0ZWI3YjExPC9yZGY6bGk+IDxyZGY6bGk+YWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOjE0Y2YxMGI4LWNlOTItMTE3OS04ZDJhLWIzNjcyY2QwOWI2MzwvcmRmOmxpPiA8cmRmOmxpPmFkb2JlOmRvY2lkOnBob3Rvc2hvcDoxNzM4ZDA5ZS05YTk4LTExZTUtOTE3ZS1kNGExOTRhYWE2N2U8L3JkZjpsaT4gPHJkZjpsaT5hZG9iZTpkb2NpZDpwaG90b3Nob3A6MWZkODY3YmItYzJlOC0xMTc5LWFkOTYtZjBjODUzNzZkYjFkPC9yZGY6bGk+IDxyZGY6bGk+YWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOjIxMzMzNjE3LWNjYWItMDg0OS04YWFmLWE0MzQwY2ZiZGVmZjwvcmRmOmxpPiA8cmRmOmxpPmFkb2JlOmRvY2lkOnBob3Rvc2hvcDoyNGI4YzllYS05MDU3LTExZTYtODBkYi04ZTk5ZjZiZDFiNTY8L3JkZjpsaT4gPHJkZjpsaT5hZG9iZTpkb2NpZDpwaG90b3Nob3A6MmRmNzZkN2YtOWMyMy0xMWU1LWJlOTUtZDNiYjFlNDBhYmZhPC9yZGY6bGk+IDxyZGY6bGk+YWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOjM0NDUxNTQyLTlhYjQtMTFlNS05MTdlLWQ0YTE5NGFhYTY3ZTwvcmRmOmxpPiA8cmRmOmxpPmFkb2JlOmRvY2lkOnBob3Rvc2hvcDozNTU4NmExZi00M2FiLTExNzktYTg2Ny1hMmFiMmIxYjU2OTY8L3JkZjpsaT4gPHJkZjpsaT5hZG9iZTpkb2NpZDpwaG90b3Nob3A6Mzg2ZDAwYzAtNmRjMi0xMTc3LWFiNjUtYTIwYWMzNDdjYzI2PC9yZGY6bGk+IDxyZGY6bGk+YWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOjNhNDdmMTQxLWJlNmItZjE0My1hMzM3LTM4ZmIwZGQzMzljYjwvcmRmOmxpPiA8cmRmOmxpPmFkb2JlOmRvY2lkOnBob3Rvc2hvcDozYjk1ZmY2Zi1hYjAwLTExNzktOGEyYS1lYmY4MzMyOTc0NTc8L3JkZjpsaT4gPHJkZjpsaT5hZG9iZTpkb2NpZDpwaG90b3Nob3A6NDVjOGUzYjMtYjg5Mi00ZTQwLTg3YjUtYWIwNTk0NmFjMDE2PC9yZGY6bGk+IDxyZGY6bGk+YWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOjQ4YTI0ZDkyLWUyMzMtMjM0NC1iNTQ1LWE3OTA3MDY1MjJiMzwvcmRmOmxpPiA8cmRmOmxpPmFkb2JlOmRvY2lkOnBob3Rvc2hvcDo0YmNiZWZkMS04MTBlLTJkNGEtYTA4NS04MGVmYmMwZjJiODA8L3JkZjpsaT4gPHJkZjpsaT5hZG9iZTpkb2NpZDpwaG90b3Nob3A6NTUzNTRjMmEtYzMyOC0xMTc5LWFkOTYtZjBjODUzNzZkYjFkPC9yZGY6bGk+IDxyZGY6bGk+YWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOjcxODQ0ZWUwLWMwY2MtMTE3OS05ODliLWNlNWRkM2Y3NmNhYjwvcmRmOmxpPiA8cmRmOmxpPmFkb2JlOmRvY2lkOnBob3Rvc2hvcDo3MzFhNjYwZC1jY2Q4LWNiNDQtOWZkYS1jOTY1NjAwYTlmOTI8L3JkZjpsaT4gPHJkZjpsaT5hZG9iZTpkb2NpZDpwaG90b3Nob3A6NzdiYjEwZmYtYjI4ZC0xMWU4LThiN2UtZjE3MTY4ZDMxZTljPC9yZGY6bGk+IDxyZGY6bGk+YWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOjgyNGIxODI5LTliYTUtMTFlNS1hZmM2LTg3NjcxZTA3ZTBjNDwvcmRmOmxpPiA8cmRmOmxpPmFkb2JlOmRvY2lkOnBob3Rvc2hvcDo4MzQ2YzY1NC1kMzM0LTEwNDMtYjZjNS1kYTM3N2QwYWIyNTg8L3JkZjpsaT4gPHJkZjpsaT5hZG9iZTpkb2NpZDpwaG90b3Nob3A6OTgyODRiN2UtOWIzNi0xMWU1LTkxN2UtZDRhMTk0YWFhNjdlPC9yZGY6bGk+IDxyZGY6bGk+YWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOjlkNDM5Y2UwLWIyM2UtMTFlNS05MTYxLWY5ZDdjYzE1OTQzMjwvcmRmOmxpPiA8cmRmOmxpPmFkb2JlOmRvY2lkOnBob3Rvc2hvcDo5ZWQ1MWIzNS1hYzM2LTExNzktYmE0ZS1kZjIxY2JlNzI1Yjk8L3JkZjpsaT4gPHJkZjpsaT5hZG9iZTpkb2NpZDpwaG90b3Nob3A6YTE2NTQzNjYtODg0ZS0xMWU1LThjOTAtYzY5MjYzYzdiOTYxPC9yZGY6bGk+IDxyZGY6bGk+YWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOmEzMzUzZGI3LWE4MDItOTc0Mi1iZmYzLTI0Mzk4YjY5OTI5ZTwvcmRmOmxpPiA8cmRmOmxpPmFkb2JlOmRvY2lkOnBob3Rvc2hvcDphZDM0MWU1Ni1iMjczLTE2NDktODY2ZC0xN2E5MjcxZjExODg8L3JkZjpsaT4gPHJkZjpsaT5hZG9iZTpkb2NpZDpwaG90b3Nob3A6YmExNjlmMjMtOTA1OC0xMWU2LTgwZGItOGU5OWY2YmQxYjU2PC9yZGY6bGk+IDxyZGY6bGk+YWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOmJlNjYzNjRhLWUwM2YtNWU0OS05YmY0LWM0YjIwMTc3NTliNTwvcmRmOmxpPiA8cmRmOmxpPmFkb2JlOmRvY2lkOnBob3Rvc2hvcDpiZTY2YzcxYy1hYTQ1LTExZTUtYmY4Yi1hZWNlNTk4MWMzNmQ8L3JkZjpsaT4gPHJkZjpsaT5hZG9iZTpkb2NpZDpwaG90b3Nob3A6Yzc5Yzc3YzYtOWMxOS0xMWU1LWJlOTUtZDNiYjFlNDBhYmZhPC9yZGY6bGk+IDxyZGY6bGk+YWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOmNjZDJjZGNhLTQ2OWUtMTE3OS1iYzUzLWRmNDJmNjRkYjZhYzwvcmRmOmxpPiA8cmRmOmxpPmFkb2JlOmRvY2lkOnBob3Rvc2hvcDpkZDE2YWYyNi1iNGI2LTExNzktODkwYi05YjY5NDhiZDgzZTk8L3JkZjpsaT4gPHJkZjpsaT5hZG9iZTpkb2NpZDpwaG90b3Nob3A6ZTNmZmVlNjgtM2MxMi03MzQzLWE1NTItOTAxYmFkMTViOGMwPC9yZGY6bGk+IDxyZGY6bGk+YWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOmVhOGYyYzNkLTkwNTMtMTFlNi04MGRiLThlOTlmNmJkMWI1NjwvcmRmOmxpPiA8cmRmOmxpPmFkb2JlOmRvY2lkOnBob3Rvc2hvcDpmMTc1NDg3ZC05YjcwLTExZTUtYWU3Mi1lYmI4OWUwZmQwZWY8L3JkZjpsaT4gPHJkZjpsaT5hZG9iZTpkb2NpZDpwaG90b3Nob3A6Zjg4Y2M5NGQtYzcwZS0xMTc5LWJjNzQtYzljNmY5NjcyYTQ0PC9yZGY6bGk+IDxyZGY6bGk+YWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOmY5MTdmNjM5LTkwNGUtMTFlNi05MThjLWZmZjgyYjQxY2YyZTwvcmRmOmxpPiA8cmRmOmxpPmFkb2JlOmRvY2lkOnBob3Rvc2hvcDpmYWU1ZDczNy05YTIzLTExZTUtOTJlNC04YzM5MzI2N2QwMWM8L3JkZjpsaT4gPHJkZjpsaT54bXAuZGlkOjAwMWU2NDI1LWI5ZTgtMWQ0My1hY2EzLWQwMzM3MDM4NGFjYzwvcmRmOmxpPiA8cmRmOmxpPnhtcC5kaWQ6MDE4MDExNzQwNzIwNjgxMTgwODNBMzJBMUI2ODVERTQ8L3JkZjpsaT4gPHJkZjpsaT54bXAuZGlkOjAyZDdmMjgzLTE0ZTUtNDAyOS1hZWZhLThmMGIwOTk0NWQyMDwvcmRmOmxpPiA8cmRmOmxpPnhtcC5kaWQ6MDUyN2I1ODctZGRiZi1jNzQ2LWI3YzYtZGQ5MDlhNzhhZDllPC9yZGY6bGk+IDxyZGY6bGk+eG1wLmRpZDowRUVEMzFGQkQxQjBFMjExQjc5OUFEQTUzNjYzOTg5NTwvcmRmOmxpPiA8cmRmOmxpPnhtcC5kaWQ6MGNkOWFiZWMtM2UyOC1hZjQ3LTk1NjctZjBlY2EwZTU4MGFkPC9yZGY6bGk+IDxyZGY6bGk+eG1wLmRpZDoxMDdGMjg5NDUxNTAxMUU4QkNGOEU4NzI4QzNERDBCMDwvcmRmOmxpPiA8cmRmOmxpPnhtcC5kaWQ6MTBjZGNiZGMtY2M2NS00ZWJmLWEzZmEtMWZmNjIyMTc2ODZjPC9yZGY6bGk+IDxyZGY6bGk+eG1wLmRpZDoxM2Q2YjY5My0zM2QwLWZmNDctOTk1Yy0yZGRkYzQ0NTgxMTI8L3JkZjpsaT4gPHJkZjpsaT54bXAuZGlkOjFGRjAyMjJBNzI3RkUzMTE4QTIyRkI5QzU1Rjk3RkVGPC9yZGY6bGk+IDxyZGY6bGk+eG1wLmRpZDoxY2MzNWUzOC0yMTY3LTk4NDgtOTNhOC05ZmMyNTAxNGMzMzM8L3JkZjpsaT4gPHJkZjpsaT54bXAuZGlkOjI2NzdiOWEzLTQxZDItMzE0NC1iNTI0LWQ3N2U1YTYyZGI0MDwvcmRmOmxpPiA8cmRmOmxpPnhtcC5kaWQ6MjZlYjJmNWItNWViYy00ODk3LWEyZmItYjc0MGQ5ZTMwZDc2PC9yZGY6bGk+IDxyZGY6bGk+eG1wLmRpZDoyQkU5QjkyOUIyNkExMUU1QjIxNjhFODMzRDJENUU0RjwvcmRmOmxpPiA8cmRmOmxpPnhtcC5kaWQ6MmEyYTA2OWEtNjEwNS00NzM3LWE0ZjktNmJiNWEwNzI2ZjdhPC9yZGY6bGk+IDxyZGY6bGk+eG1wLmRpZDoyYzRhZDFjYy1lNzUwLTFlNDctYTlmMi0xNTEwZTFiMDRiOTM8L3JkZjpsaT4gPHJkZjpsaT54bXAuZGlkOjJkZWZlNGVjLTdjYzctYmU0OS1iYzg5LTQ5OGUzZmQ1ZjVmZjwvcmRmOmxpPiA8cmRmOmxpPnhtcC5kaWQ6MzRDNjBDN0JCMkQwMTFFNTg4NUM5MjhFNTk3ODMxQ0Y8L3JkZjpsaT4gPHJkZjpsaT54bXAuZGlkOjM2Y2ViMGI3LTU4MTktNTQ0NC1iN2NmLWU2OWEyODBmNWFhMTwvcmRmOmxpPiA8cmRmOmxpPnhtcC5kaWQ6M0VBQzJERDc1MzUxRTgxMTk3NkFGMzlCNEI2QUZCRjg8L3JkZjpsaT4gPHJkZjpsaT54bXAuZGlkOjNhNWFiMjgwLTQwZmUtNGY1ZS05ZmE2LTcxNjE2YjczODEyYjwvcmRmOmxpPiA8cmRmOmxpPnhtcC5kaWQ6M2Q1Njg0OTgtOTg0ZC00NThhLWIyNDktZWFjYzMyMjUyYTIwPC9yZGY6bGk+IDxyZGY6bGk+eG1wLmRpZDo0MTk0ZmE2Mi1jYWRlLThmNDktYTIxNy1lY2E3ZWUzZDIyYTA8L3JkZjpsaT4gPHJkZjpsaT54bXAuZGlkOjQ0MzMyRjU5QjI2MDExRTU4RDNGOEJEQUJDMENEMEFDPC9yZGY6bGk+IDxyZGY6bGk+eG1wLmRpZDo0NmVkZjRlNC05MTUyLTVlNGItODA4Ny1kYTQzN2JjNWRjM2M8L3JkZjpsaT4gPHJkZjpsaT54bXAuZGlkOjQ4RTNEMDA3MDgyMDY4MTE4MjJBRDdEMjNEMDQ0QTk1PC9yZGY6bGk+IDxyZGY6bGk+eG1wLmRpZDo1Y2EzNTUzMS1lOTZmLTRjMjAtOWViYi01M2U3NTJkMDMxYWQ8L3JkZjpsaT4gPHJkZjpsaT54bXAuZGlkOjVlODc5ZTZmLWE3MjMtMjI0Ny1iOGQ4LWE5MDI4YzY4YmQyZjwvcmRmOmxpPiA8cmRmOmxpPnhtcC5kaWQ6NjViOTJlMzAtNWU0NC0wNjRmLTk3YWQtMzg2YWI5ZTQ3NzEwPC9yZGY6bGk+IDxyZGY6bGk+eG1wLmRpZDo2ODc0QjFFNzZBMjA2ODExODIyQUM2N0Y1OEJFQTE3OTwvcmRmOmxpPiA8cmRmOmxpPnhtcC5kaWQ6NjliYWZkZWItNDM4NS04MjQ4LTk2NDgtMTIyN2YxMTE2ZTViPC9yZGY6bGk+IDxyZGY6bGk+eG1wLmRpZDo2QTc0QjFFNzZBMjA2ODExODIyQUM2N0Y1OEJFQTE3OTwvcmRmOmxpPiA8cmRmOmxpPnhtcC5kaWQ6NkZENTNBMzgwQTIwNjgxMTgyMkFDRjE5MTgwRTgxQjI8L3JkZjpsaT4gPHJkZjpsaT54bXAuZGlkOjZlYjFkY2Y1LTliNjctOWQ0NC05MWJmLWZmODQzYWNmMTZmMTwvcmRmOmxpPiA8cmRmOmxpPnhtcC5kaWQ6NzI2MGY1YjQtY2MxNy1kZjRlLWIwMWUtZjEzYWQyMWQwODkwPC9yZGY6bGk+IDxyZGY6bGk+eG1wLmRpZDo3NDljYmFlOC0xNTRmLTM5NDAtOWVlNi0yMmQxZjgwZmEzYTE8L3JkZjpsaT4gPHJkZjpsaT54bXAuZGlkOjc3OUQyNjQwQjI1QjExRTU5M0MxRDg5NTlDNDg0NDg1PC9yZGY6bGk+IDxyZGY6bGk+eG1wLmRpZDo3YTE1ZGNmMS1kYTE4LTQ3YzUtYWI0ZS1iOTQ4NTUyOTAyNjc8L3JkZjpsaT4gPHJkZjpsaT54bXAuZGlkOjdhOTJkNDBiLTY5ZTctNDlhMy04ZDIzLTIzZjNkNzc0ZmVkYTwvcmRmOmxpPiA8cmRmOmxpPnhtcC5kaWQ6N2MwMmQ3YjEtMDNkYS00Zjg1LTk5YzAtMDBiM2YwMzI5MDNmPC9yZGY6bGk+IDxyZGY6bGk+eG1wLmRpZDo3ZGRjODNmMS1jYTIxLTlhNDMtYWFlMS1kMjhkZTkyMjc3OWQ8L3JkZjpsaT4gPHJkZjpsaT54bXAuZGlkOjhEMzA2NTQ0OTYxQjExRTQ4OTM3REM3Rjg4OUZGMDQzPC9yZGY6bGk+IDxyZGY6bGk+eG1wLmRpZDo4RkNCRUNBRkIyNkMxMUU1OUExNDgwMjUxQTI3MzQzNjwvcmRmOmxpPiA8cmRmOmxpPnhtcC5kaWQ6OGM2NWIxOTYtOWNhNC1mNDQ0LTlkMzQtZDM1MzM4YTllMjE1PC9yZGY6bGk+IDxyZGY6bGk+eG1wLmRpZDo4Y2M3ODA2MS0yNzk2LTRlYTAtYTVhZC1hNjk3ZDRjMjA3OGU8L3JkZjpsaT4gPHJkZjpsaT54bXAuZGlkOjkzNTk1Mzc0LTc5MjUtM2U0ZC1iMDRjLTk2YzU2OTY1NGNkYjwvcmRmOmxpPiA8cmRmOmxpPnhtcC5kaWQ6OTU5NkI5OTE3NzIwNjgxMTgyMkFDNjdGNThCRUExNzk8L3JkZjpsaT4gPHJkZjpsaT54bXAuZGlkOjlGMUZFMkJFRTNDMEU1MTE5QUU5OUNFNTZGNjc4NzY3PC9yZGY6bGk+IDxyZGY6bGk+eG1wLmRpZDpCQkFFMjI5OEYxMTlFOTExODhFMjgzQjVGRjY0QkU5MjwvcmRmOmxpPiA8cmRmOmxpPnhtcC5kaWQ6QzM3MTlGNDQwMkM0RTUxMUJBNDE4NUE1ODhCNTEwODc8L3JkZjpsaT4gPHJkZjpsaT54bXAuZGlkOkM5NjUwQ0I5MDcyMDY4MTE4MDgzQTE1REU3MzQzNjUyPC9yZGY6bGk+IDxyZGY6bGk+eG1wLmRpZDpENTNBODdBQzQxNjdFNDExQkZERUY2ODdGMzU2NEY5NzwvcmRmOmxpPiA8cmRmOmxpPnhtcC5kaWQ6REJDMjdENjQyRTZCRTUxMTlGQkVGMkREMkU4REFDRUY8L3JkZjpsaT4gPHJkZjpsaT54bXAuZGlkOkRFQjkwOEE1OEI3OEU1MTE5MTk5OUVFQkJCRDI4M0UyPC9yZGY6bGk+IDxyZGY6bGk+eG1wLmRpZDpGODdGMTE3NDA3MjA2ODExODIyQUNCNkU2OTFDMjRGRjwvcmRmOmxpPiA8cmRmOmxpPnhtcC5kaWQ6YTIyZmVmZDItNTM0MS05NDQ4LWFiNDQtYWJhZjhmNDgxOTlhPC9yZGY6bGk+IDxyZGY6bGk+eG1wLmRpZDphMjk1Y2U2Ny1iOWIxLThhNGUtOGZmYS02YjJjOTIxMDlmMTY8L3JkZjpsaT4gPHJkZjpsaT54bXAuZGlkOmE2NDcwMTE5LTg3ZWUtOGU0ZC04ODZlLTM1MDUwY2Y3YTBjYzwvcmRmOmxpPiA8cmRmOmxpPnhtcC5kaWQ6YTdiMjA5MmItMDg2Zi02NTQ3LWJhNTUtNzEzN2ZhOTRmZjVjPC9yZGY6bGk+IDxyZGY6bGk+eG1wLmRpZDphN2M2ZjA0NS1lNTE3LTVlNGUtOTUzZi1mY2I3ODMyMzZkMDY8L3JkZjpsaT4gPHJkZjpsaT54bXAuZGlkOmE4NGU1MWFmLWJhZTYtNGNiOS05ZGQ3LTZmOTJjYWVjZDQ1NDwvcmRmOmxpPiA8cmRmOmxpPnhtcC5kaWQ6YWVkZjcwYWMtOGExNy05OTQ1LTgxYzctM2FmNWFlM2UwM2VhPC9yZGY6bGk+IDxyZGY6bGk+eG1wLmRpZDpiMjljYzBmMi05MTg1LTQ0ZjEtOWU5YS1kMzhkMTkwMmU5OGQ8L3JkZjpsaT4gPHJkZjpsaT54bXAuZGlkOmJhMGJjNGViLTJjYzgtMTg0ZC1iN2Q1LTE2MzQxM2JkY2I5MjwvcmRmOmxpPiA8cmRmOmxpPnhtcC5kaWQ6YmMxYzdmNWYtNTMzMy1kZDQ3LTg1NmMtMDFlNTJhN2NiMWY4PC9yZGY6bGk+IDxyZGY6bGk+eG1wLmRpZDpiZTE0OWFhNy0zZDM4LTc5NGEtOWVhMi0xYWFiMDAxNGMwNzY8L3JkZjpsaT4gPHJkZjpsaT54bXAuZGlkOmJmYWIwNDVmLTQ4MTItNDdlNi05N2NlLWNjNzk1NmUzYTFhNzwvcmRmOmxpPiA8cmRmOmxpPnhtcC5kaWQ6YzIxNWY4ODUtNGI4Ny01YjQxLTg1M2YtM2Q5NmRlNWMxOThlPC9yZGY6bGk+IDxyZGY6bGk+eG1wLmRpZDpjNWIxODhiNC1hZTMzLTRiODctYmRjZC05M2U5Yzk0MWM1YjA8L3JkZjpsaT4gPHJkZjpsaT54bXAuZGlkOmM5YTI2YzkyLTQ1MTgtNGI1YS04NjIwLWIxYjExMTZlMGZkZDwvcmRmOmxpPiA8cmRmOmxpPnhtcC5kaWQ6Y2YwMDViZTUtNWYzZi1mMTQ1LWI5OGEtYTU2YjU1NTk4YzkyPC9yZGY6bGk+IDxyZGY6bGk+eG1wLmRpZDpkZDliOTBkMi01MjcyLTQyOWUtODQ2Zi1mMTMxMmE0ODNlNjE8L3JkZjpsaT4gPHJkZjpsaT54bXAuZGlkOmU1NmQyNjUyLWM3YzQtMzk0ZC05MzA4LTlmM2Q5YmQzMGU1MDwvcmRmOmxpPiA8cmRmOmxpPnhtcC5kaWQ6ZTcwNTM5OWQtNDY0ZS00M2ZmLWE1MmMtY2RjOGE4YmY3ZWE2PC9yZGY6bGk+IDxyZGY6bGk+eG1wLmRpZDplZDAxYWNlYS0xNDYwLTYxNGQtODdlNC1mMmEzNDM1NjA3Njk8L3JkZjpsaT4gPHJkZjpsaT54bXAuZGlkOmVlNDYzYjU0LTRjMjItNGMyZC1hZjQwLTdlN2U0Yzc2YTcwMDwvcmRmOmxpPiA8cmRmOmxpPnhtcC5kaWQ6ZWVlNzBjZjMtZDRiZC05MjQxLThiNzAtN2NjYmFkMzViZGU2PC9yZGY6bGk+IDxyZGY6bGk+eG1wLmRpZDplZmQ5MzI1Mi01MjBkLWYxNDEtOTAxMy0wZGI3MTBhZWRmNzU8L3JkZjpsaT4gPHJkZjpsaT54bXAuZGlkOmY1YjljZjZkLTM2YjgtYTc0MS1iMGZmLTE3ZGU0YzQwNjZjNjwvcmRmOmxpPiA8L3JkZjpCYWc+IDwvcGhvdG9zaG9wOkRvY3VtZW50QW5jZXN0b3JzPiA8eG1wTU06SGlzdG9yeT4gPHJkZjpTZXE+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJjcmVhdGVkIiBzdEV2dDppbnN0YW5jZUlEPSJ4bXAuaWlkOjk4NTg5MDg0LTI5MmItNTg0Yi05MzgwLTViZmNhNzYyZmM5OSIgc3RFdnQ6d2hlbj0iMjAxOS0wNS0wNlQxMToyNzoyOCswODowMCIgc3RFdnQ6c29mdHdhcmVBZ2VudD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTkgKFdpbmRvd3MpIi8+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJzYXZlZCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDplY2UyZWZjMi01NDlkLTBkNDgtYTExNi1kZTI1ZmU1NzNkYzkiIHN0RXZ0OndoZW49IjIwMTktMDUtMDZUMTE6NDM6MjQrMDg6MDAiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE5IChXaW5kb3dzKSIgc3RFdnQ6Y2hhbmdlZD0iLyIvPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0ic2F2ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6NDQ5NDBhMmEtNzEwNy00YmFlLThjOTMtY2ZjNGRkM2UyYjc2IiBzdEV2dDp3aGVuPSIyMDE5LTA3LTAyVDEyOjIwOjE5KzA4OjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgQ0MgKE1hY2ludG9zaCkiIHN0RXZ0OmNoYW5nZWQ9Ii8iLz4gPHJkZjpsaSBzdEV2dDphY3Rpb249ImNvbnZlcnRlZCIgc3RFdnQ6cGFyYW1ldGVycz0iZnJvbSBhcHBsaWNhdGlvbi92bmQuYWRvYmUucGhvdG9zaG9wIHRvIGltYWdlL3BuZyIvPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0iZGVyaXZlZCIgc3RFdnQ6cGFyYW1ldGVycz0iY29udmVydGVkIGZyb20gYXBwbGljYXRpb24vdm5kLmFkb2JlLnBob3Rvc2hvcCB0byBpbWFnZS9wbmciLz4gPHJkZjpsaSBzdEV2dDphY3Rpb249InNhdmVkIiBzdEV2dDppbnN0YW5jZUlEPSJ4bXAuaWlkOjZlYjlkOTFjLTI5NDAtNGMwZS1iMjEwLTg3NGMwNmY5NzBkMyIgc3RFdnQ6d2hlbj0iMjAxOS0wNy0wMlQxMjoyMDoxOSswODowMCIgc3RFdnQ6c29mdHdhcmVBZ2VudD0iQWRvYmUgUGhvdG9zaG9wIENDIChNYWNpbnRvc2gpIiBzdEV2dDpjaGFuZ2VkPSIvIi8+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJzYXZlZCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDo1ZTViYWU1ZS05NDM5LWViNDgtYmIyMS1mNmMzZTA5ZjE4MzYiIHN0RXZ0OndoZW49IjIwMjEtMTAtMjRUMTQ6MzE6MTYrMDg6MDAiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCAyMS4wIChXaW5kb3dzKSIgc3RFdnQ6Y2hhbmdlZD0iLyIvPiA8L3JkZjpTZXE+IDwveG1wTU06SGlzdG9yeT4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NDQ5NDBhMmEtNzEwNy00YmFlLThjOTMtY2ZjNGRkM2UyYjc2IiBzdFJlZjpkb2N1bWVudElEPSJhZG9iZTpkb2NpZDpwaG90b3Nob3A6NWJmZGU1MDUtMmVkMy1lZjQxLWFiYjgtNWRjYTRhNjUxZjVlIiBzdFJlZjpvcmlnaW5hbERvY3VtZW50SUQ9InhtcC5kaWQ6OTg1ODkwODQtMjkyYi01ODRiLTkzODAtNWJmY2E3NjJmYzk5Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+UQTyIAAAAptJREFUaN7l2ktoE0EYwPH/xtRXbRupRlsQ04JoRRQE8aQiYhHFg+JFRD1oC4oVfJx6UDwIRSsURYUiorWCiohaRSz0IIoExMfBS7A+wEIjqXFpFySm6XrYTTEmpunuJu7OfJdsJjNf8svMJDPsKLqu82covWpmQWliDHgF3ARuAKqdZHpjIOO5D3eED1gNnAcGgHPAHCeTuy3KgaPAB/PRLyIyHQGzR18CS0RFpmOVOV+3i4wEmAXcBY6LjARQgLPACZGR6TgFHPAEUkGnpixKtf+7leYXgK2uRU5XErTVtvJ1WYjI0gYuLThkJc0UoAsIFVLZX+re6wrtZVPl0/GyZ9paO38x14D1gO6antxc9SQDGBudS3d8l52U64B9rhquO2ffGr9WUwF2f7nOcKrSbtrTQIWjwzVYBg0zrH2aqcoYfSMbePtzBZ1DzUST85z47oLAYRObe5pMdheyoxo6661tVEJvFIZTRRkkg+aP0C8370LsRg2wzbHhOpCAB/Hs8uXlUDfNuA6PwLdkdp1kcXeqB4HbjiDDGoQ1Jau8faFOXdC47ogq9Kol7801Zo8OirCsy7e2bRRl7ZovtsiA3JjLJBoyACwSHQmwUgbkYhmQ9TIga2VAzpcBWSEDskoG5EwZkKMyIDUZkDEZkP0yICMyIN/LgHwhOvIj8El05P1chaIhu0VHvgbeiY5s/9cLoiAjwB3Rkccwjq4Ji3wEPM5XwevIGNA8USUvI3VgPzlu8IiEbAUeFlLRq8iLQFuhlb2I7ABaJtPA57E5eBI4wgTndv4Ov0eAKrAH6LHS2As9+RzjTlWP1QRuRv4AmjBOXX22k8iNw1UDLgNngCEnEroJGQeumLuJmJOJ/zdSB/qAq8A9IFGMN/kNt6GNd9kLeHQAAAAASUVORK5CYII=";
|
|
1272
|
+
const _hoisted_1$e = ["src"];
|
|
1273
|
+
const _sfc_main$q = /* @__PURE__ */ defineComponent({
|
|
1274
|
+
__name: "logo",
|
|
1275
|
+
props: {
|
|
1276
|
+
theme: { type: String, validator: (v) => ["light", "dark"].includes(v) },
|
|
1277
|
+
showTitle: { type: Boolean, default: true }
|
|
1278
|
+
},
|
|
1135
1279
|
setup(__props) {
|
|
1280
|
+
const props = __props;
|
|
1281
|
+
const { t } = useI18n("UI");
|
|
1136
1282
|
const slots = getParentSlots(null, "dt-theme");
|
|
1283
|
+
const title = t("COMPANY_NAME");
|
|
1284
|
+
const { getLogoWidth } = useMenu();
|
|
1285
|
+
const getLogoClass = computed(() => {
|
|
1286
|
+
return `${props.theme} dt-logo px-2.5 text-sm flex items-center pl-2.5 cursor-pointer text-center transition-all duration-200 ease-in-out `;
|
|
1287
|
+
});
|
|
1137
1288
|
return (_ctx, _cache) => {
|
|
1138
|
-
|
|
1139
|
-
|
|
1140
|
-
|
|
1141
|
-
|
|
1289
|
+
return openBlock(), createElementBlock("div", {
|
|
1290
|
+
class: normalizeClass(unref(getLogoClass)),
|
|
1291
|
+
style: normalizeStyle({
|
|
1292
|
+
minWidth: `${unref(getLogoWidth)}px`
|
|
1293
|
+
})
|
|
1294
|
+
}, [
|
|
1295
|
+
unref(slots).logo ? (openBlock(), createBlock(unref(DtSlotContainer), {
|
|
1296
|
+
key: 0,
|
|
1297
|
+
template: unref(slots).logo
|
|
1298
|
+
}, null, 8, ["template"])) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [
|
|
1299
|
+
createElementVNode("img", { src: unref(logoUrl) }, null, 8, _hoisted_1$e),
|
|
1300
|
+
withDirectives(createElementVNode("div", { class: "dt-logo__title text-base font-bold transition-all duration-500 pl-3" }, toDisplayString(unref(title)), 513), [
|
|
1301
|
+
[vShow, __props.showTitle]
|
|
1302
|
+
])
|
|
1303
|
+
], 64))
|
|
1304
|
+
], 6);
|
|
1305
|
+
};
|
|
1306
|
+
}
|
|
1307
|
+
});
|
|
1308
|
+
const _sfc_main$p = /* @__PURE__ */ defineComponent({
|
|
1309
|
+
__name: "trigger",
|
|
1310
|
+
props: { theme: String },
|
|
1311
|
+
setup(__props) {
|
|
1312
|
+
const props = __props;
|
|
1313
|
+
const { getCollapsed, toggleCollapsed } = useMenu();
|
|
1314
|
+
return (_ctx, _cache) => {
|
|
1315
|
+
return openBlock(), createElementBlock("div", {
|
|
1316
|
+
class: normalizeClass(["flex w-12 h-full cursor-pointer items-center justify-center", props.theme]),
|
|
1317
|
+
onClick: _cache[0] || (_cache[0] = (...args) => unref(toggleCollapsed) && unref(toggleCollapsed)(...args))
|
|
1318
|
+
}, [
|
|
1319
|
+
createElementVNode("i", {
|
|
1320
|
+
class: normalizeClass(["i leading-none", unref(getCollapsed) ? "ic:baseline-format-indent-increase" : "ic:baseline-format-indent-decrease"])
|
|
1321
|
+
}, null, 2)
|
|
1322
|
+
], 2);
|
|
1323
|
+
};
|
|
1324
|
+
}
|
|
1325
|
+
});
|
|
1326
|
+
const _hoisted_1$d = { class: "dt-breadcrumb" };
|
|
1327
|
+
const _sfc_main$o = /* @__PURE__ */ defineComponent({
|
|
1328
|
+
__name: "bread-crumb",
|
|
1329
|
+
setup(__props) {
|
|
1330
|
+
const { getIsZH } = useHeader();
|
|
1331
|
+
let routes = ref([]);
|
|
1332
|
+
const { currentRoute = null } = useRouter();
|
|
1333
|
+
watchEffect(() => {
|
|
1334
|
+
if (!currentRoute || currentRoute.value.path === "/")
|
|
1335
|
+
return;
|
|
1336
|
+
routes.value = getBreadCrumb(currentRoute.value.path);
|
|
1337
|
+
});
|
|
1338
|
+
return (_ctx, _cache) => {
|
|
1339
|
+
const _component_ABreadcrumb = Breadcrumb;
|
|
1340
|
+
return openBlock(), createElementBlock("div", _hoisted_1$d, [
|
|
1341
|
+
createVNode(_component_ABreadcrumb, { routes: unref(routes) }, {
|
|
1342
|
+
itemRender: withCtx(({ route }) => [
|
|
1343
|
+
createElementVNode("span", null, toDisplayString((unref(getIsZH) ? route.label : route.enLabel) || route.meta?.title), 1)
|
|
1344
|
+
]),
|
|
1345
|
+
_: 1
|
|
1346
|
+
}, 8, ["routes"])
|
|
1347
|
+
]);
|
|
1348
|
+
};
|
|
1349
|
+
}
|
|
1350
|
+
});
|
|
1351
|
+
const _hoisted_1$c = {
|
|
1352
|
+
key: 0,
|
|
1353
|
+
class: "dt-menu-filter h-7 pr-2"
|
|
1354
|
+
};
|
|
1355
|
+
const _hoisted_2$7 = ["onClick"];
|
|
1356
|
+
const _hoisted_3$5 = {
|
|
1357
|
+
key: 0,
|
|
1358
|
+
class: "flex items-center justify-center h-full overflow-hidden"
|
|
1359
|
+
};
|
|
1360
|
+
const _sfc_main$n = /* @__PURE__ */ defineComponent({
|
|
1361
|
+
__name: "menu-filter",
|
|
1362
|
+
setup(__props) {
|
|
1363
|
+
const { t } = useI18n("UI");
|
|
1364
|
+
const menuList = ref([]);
|
|
1365
|
+
const router = useRouter();
|
|
1366
|
+
const filter = ref("");
|
|
1367
|
+
const { getShowSearch, getIsZH } = useHeader();
|
|
1368
|
+
const isUseDef = computed(() => {
|
|
1369
|
+
return isBoolean(getShowSearch.value);
|
|
1370
|
+
});
|
|
1371
|
+
function visibleChange(e) {
|
|
1372
|
+
if (e) {
|
|
1373
|
+
filterMenu();
|
|
1374
|
+
} else {
|
|
1375
|
+
filter.value = null;
|
|
1376
|
+
}
|
|
1377
|
+
}
|
|
1378
|
+
function filterMenu() {
|
|
1379
|
+
menuList.value = getFilterMenu(filter.value, true);
|
|
1380
|
+
}
|
|
1381
|
+
function navigation(url) {
|
|
1382
|
+
router.push(url);
|
|
1383
|
+
setTimeout(() => {
|
|
1384
|
+
filter.value = "";
|
|
1385
|
+
menuList.value = [];
|
|
1386
|
+
});
|
|
1387
|
+
}
|
|
1388
|
+
return (_ctx, _cache) => {
|
|
1389
|
+
const _component_AEmpty = Empty;
|
|
1390
|
+
const _component_AInputSearch = InputSearch;
|
|
1391
|
+
const _component_APopover = Popover;
|
|
1392
|
+
return unref(isUseDef) ? (openBlock(), createElementBlock("div", _hoisted_1$c, [
|
|
1393
|
+
createVNode(_component_APopover, {
|
|
1394
|
+
placement: "bottom",
|
|
1395
|
+
overlayClassName: "dt-menu-filter__popover",
|
|
1396
|
+
trigger: "focus",
|
|
1397
|
+
onVisibleChange: visibleChange
|
|
1398
|
+
}, {
|
|
1399
|
+
content: withCtx(() => [
|
|
1400
|
+
(openBlock(true), createElementBlock(Fragment, null, renderList(menuList.value, (menu) => {
|
|
1401
|
+
return openBlock(), createElementBlock("p", {
|
|
1402
|
+
onClick: ($event) => navigation(menu.url),
|
|
1403
|
+
class: "px-5 leading-9 border-gray-200 border-dashed border-b m-0 cursor-pointer transition-all duration-300 text-13"
|
|
1404
|
+
}, toDisplayString(unref(getIsZH) ? menu.label : menu.enLabel), 9, _hoisted_2$7);
|
|
1405
|
+
}), 256)),
|
|
1406
|
+
!menuList.value.length ? (openBlock(), createElementBlock("div", _hoisted_3$5, [
|
|
1407
|
+
createVNode(_component_AEmpty, {
|
|
1408
|
+
description: "\u6682\u65E0\u6570\u636E",
|
|
1409
|
+
imageStyle: { width: "100%" }
|
|
1410
|
+
})
|
|
1411
|
+
])) : createCommentVNode("", true)
|
|
1412
|
+
]),
|
|
1413
|
+
default: withCtx(() => [
|
|
1414
|
+
createVNode(_component_AInputSearch, {
|
|
1415
|
+
value: filter.value,
|
|
1416
|
+
"onUpdate:value": _cache[0] || (_cache[0] = ($event) => filter.value = $event),
|
|
1417
|
+
placeholder: unref(t)("FILTER_MORE"),
|
|
1418
|
+
onInput: filterMenu,
|
|
1419
|
+
size: unref(UiSize).SMALL
|
|
1420
|
+
}, null, 8, ["value", "placeholder", "size"])
|
|
1421
|
+
]),
|
|
1422
|
+
_: 1
|
|
1423
|
+
})
|
|
1424
|
+
])) : createCommentVNode("", true);
|
|
1425
|
+
};
|
|
1426
|
+
}
|
|
1427
|
+
});
|
|
1428
|
+
const _hoisted_1$b = { class: "lang m-0" };
|
|
1429
|
+
const _hoisted_2$6 = ["onClick"];
|
|
1430
|
+
const _hoisted_3$4 = {
|
|
1431
|
+
class: "pr-2",
|
|
1432
|
+
size: 16
|
|
1433
|
+
};
|
|
1434
|
+
const _hoisted_4$3 = /* @__PURE__ */ createElementVNode("span", { class: "dt_header_icon text-lg text-gray-800 cursor-pointer px-3 hover:bg-gray-500 hover:bg-opacity-50 transition-all duration-300" }, [
|
|
1435
|
+
/* @__PURE__ */ createElementVNode("i", { class: "block i ic:baseline-language" })
|
|
1436
|
+
], -1);
|
|
1437
|
+
const _sfc_main$m = /* @__PURE__ */ defineComponent({
|
|
1438
|
+
__name: "lang-picker",
|
|
1439
|
+
props: {
|
|
1440
|
+
reload: { type: Boolean }
|
|
1441
|
+
},
|
|
1442
|
+
setup(__props) {
|
|
1443
|
+
const props = __props;
|
|
1444
|
+
const visible = ref(false);
|
|
1445
|
+
let currentLang = DtCache.getLocal(CacheKey.LOCALE);
|
|
1446
|
+
async function toggleLang(lang) {
|
|
1447
|
+
visible.value = false;
|
|
1448
|
+
if (lang !== currentLang) {
|
|
1449
|
+
currentLang = lang;
|
|
1450
|
+
await changeLocale(lang);
|
|
1451
|
+
props.reload && location.reload();
|
|
1452
|
+
}
|
|
1453
|
+
}
|
|
1454
|
+
return (_ctx, _cache) => {
|
|
1455
|
+
const _component_APopover = Popover;
|
|
1456
|
+
const _directive_icon = resolveDirective("icon");
|
|
1457
|
+
return openBlock(), createBlock(_component_APopover, {
|
|
1458
|
+
placement: "bottom",
|
|
1459
|
+
visible: visible.value,
|
|
1460
|
+
"onUpdate:visible": _cache[0] || (_cache[0] = ($event) => visible.value = $event),
|
|
1461
|
+
overlayClassName: "dt-lang-picker__popover",
|
|
1462
|
+
trigger: "click"
|
|
1463
|
+
}, {
|
|
1464
|
+
content: withCtx(() => [
|
|
1465
|
+
createElementVNode("ul", _hoisted_1$b, [
|
|
1466
|
+
(openBlock(true), createElementBlock(Fragment, null, renderList(unref(localeList), (it) => {
|
|
1467
|
+
return openBlock(), createElementBlock("li", {
|
|
1468
|
+
onClick: ($event) => toggleLang(it.event),
|
|
1469
|
+
class: normalizeClass(["px-4 my-1 leading-9 flex border-gray-200 cursor-pointer hover:bg-gray-100 transition-all duration-300 text-13", it.event === unref(currentLang) ? "active bg-gray-100" : ""])
|
|
1470
|
+
}, [
|
|
1471
|
+
withDirectives(createElementVNode("span", _hoisted_3$4, null, 512), [
|
|
1472
|
+
[_directive_icon, it.icon]
|
|
1473
|
+
]),
|
|
1474
|
+
createElementVNode("span", null, toDisplayString(it.text), 1)
|
|
1475
|
+
], 10, _hoisted_2$6);
|
|
1476
|
+
}), 256))
|
|
1477
|
+
])
|
|
1478
|
+
]),
|
|
1479
|
+
default: withCtx(() => [
|
|
1480
|
+
_hoisted_4$3
|
|
1481
|
+
]),
|
|
1482
|
+
_: 1
|
|
1483
|
+
}, 8, ["visible"]);
|
|
1484
|
+
};
|
|
1485
|
+
}
|
|
1486
|
+
});
|
|
1487
|
+
const _hoisted_1$a = { class: "dt_header_icon text-lg text-gray-800 cursor-pointer px-3 hover:bg-gray-500 hover:bg-opacity-50 transition-all duration-300 relative" };
|
|
1488
|
+
const _sfc_main$l = /* @__PURE__ */ defineComponent({
|
|
1489
|
+
__name: "notify",
|
|
1490
|
+
setup(__props) {
|
|
1491
|
+
const slots = getParentSlots(null, "dt-theme");
|
|
1492
|
+
return (_ctx, _cache) => {
|
|
1493
|
+
const _component_APopover = Popover;
|
|
1494
|
+
const _directive_icon = resolveDirective("icon");
|
|
1495
|
+
return openBlock(), createBlock(_component_APopover, {
|
|
1496
|
+
trigger: "click",
|
|
1142
1497
|
overlayClassName: "dt-notify__popover"
|
|
1143
1498
|
}, {
|
|
1144
1499
|
content: withCtx(() => [
|
|
@@ -1148,7 +1503,7 @@ const _sfc_main$n = /* @__PURE__ */ defineComponent({
|
|
|
1148
1503
|
}, null, 8, ["template"])) : createCommentVNode("", true)
|
|
1149
1504
|
]),
|
|
1150
1505
|
default: withCtx(() => [
|
|
1151
|
-
createElementVNode("span", _hoisted_1$
|
|
1506
|
+
createElementVNode("span", _hoisted_1$a, [
|
|
1152
1507
|
withDirectives(createElementVNode("span", null, null, 512), [
|
|
1153
1508
|
[_directive_icon, "ant-design:bell-outlined"]
|
|
1154
1509
|
]),
|
|
@@ -1163,12 +1518,12 @@ const _sfc_main$n = /* @__PURE__ */ defineComponent({
|
|
|
1163
1518
|
};
|
|
1164
1519
|
}
|
|
1165
1520
|
});
|
|
1166
|
-
const _hoisted_1$
|
|
1167
|
-
const _hoisted_2$
|
|
1521
|
+
const _hoisted_1$9 = { class: "lang m-0" };
|
|
1522
|
+
const _hoisted_2$5 = ["onClick"];
|
|
1168
1523
|
const _hoisted_3$3 = /* @__PURE__ */ createElementVNode("span", { class: "dt_header_icon text-lg text-gray-800 cursor-pointer px-3 hover:bg-gray-500 hover:bg-opacity-50 transition-all duration-300" }, [
|
|
1169
1524
|
/* @__PURE__ */ createElementVNode("i", { class: "block i ic:baseline-format-size" })
|
|
1170
1525
|
], -1);
|
|
1171
|
-
const _sfc_main$
|
|
1526
|
+
const _sfc_main$k = /* @__PURE__ */ defineComponent({
|
|
1172
1527
|
__name: "size",
|
|
1173
1528
|
setup(__props) {
|
|
1174
1529
|
const { t } = useI18n("UI");
|
|
@@ -1206,14 +1561,14 @@ const _sfc_main$m = /* @__PURE__ */ defineComponent({
|
|
|
1206
1561
|
trigger: "click"
|
|
1207
1562
|
}, {
|
|
1208
1563
|
content: withCtx(() => [
|
|
1209
|
-
createElementVNode("ul", _hoisted_1$
|
|
1564
|
+
createElementVNode("ul", _hoisted_1$9, [
|
|
1210
1565
|
(openBlock(), createElementBlock(Fragment, null, renderList(sizeList, (it) => {
|
|
1211
1566
|
return createElementVNode("li", {
|
|
1212
1567
|
onClick: ($event) => toggleLang(it.event),
|
|
1213
1568
|
class: normalizeClass(["px-4 my-1 leading-9 flex border-gray-200 cursor-pointer hover:bg-gray-100 transition-all duration-300 text-13", it.event === unref(getUiSize) ? "active bg-gray-100" : ""])
|
|
1214
1569
|
}, [
|
|
1215
1570
|
createElementVNode("span", null, toDisplayString(it.text), 1)
|
|
1216
|
-
], 10, _hoisted_2$
|
|
1571
|
+
], 10, _hoisted_2$5);
|
|
1217
1572
|
}), 64))
|
|
1218
1573
|
])
|
|
1219
1574
|
]),
|
|
@@ -1225,15 +1580,15 @@ const _sfc_main$m = /* @__PURE__ */ defineComponent({
|
|
|
1225
1580
|
};
|
|
1226
1581
|
}
|
|
1227
1582
|
});
|
|
1228
|
-
const _hoisted_1$
|
|
1229
|
-
const _hoisted_2$
|
|
1583
|
+
const _hoisted_1$8 = { class: "m-0" };
|
|
1584
|
+
const _hoisted_2$4 = {
|
|
1230
1585
|
class: "pr-2",
|
|
1231
1586
|
size: 16
|
|
1232
1587
|
};
|
|
1233
1588
|
const _hoisted_3$2 = { class: "dt_header_icon h-12 text-lg text-gray-800 cursor-pointer px-3 hover:bg-gray-500 hover:bg-opacity-50 transition-all duration-300 flex items-center" };
|
|
1234
|
-
const _hoisted_4$
|
|
1235
|
-
const _hoisted_5 = { class: "pl-2 text-13" };
|
|
1236
|
-
const _sfc_main$
|
|
1589
|
+
const _hoisted_4$2 = ["src"];
|
|
1590
|
+
const _hoisted_5$1 = { class: "pl-2 text-13" };
|
|
1591
|
+
const _sfc_main$j = /* @__PURE__ */ defineComponent({
|
|
1237
1592
|
__name: "user-info",
|
|
1238
1593
|
setup(__props) {
|
|
1239
1594
|
const { t } = useI18n("UI");
|
|
@@ -1258,7 +1613,7 @@ const _sfc_main$l = /* @__PURE__ */ defineComponent({
|
|
|
1258
1613
|
trigger: "click"
|
|
1259
1614
|
}, {
|
|
1260
1615
|
content: withCtx(() => [
|
|
1261
|
-
createElementVNode("div", _hoisted_1$
|
|
1616
|
+
createElementVNode("div", _hoisted_1$8, [
|
|
1262
1617
|
unref(slots).userInfo ? (openBlock(), createBlock(unref(DtSlotContainer), {
|
|
1263
1618
|
key: 0,
|
|
1264
1619
|
template: unref(slots).userInfo
|
|
@@ -1268,7 +1623,7 @@ const _sfc_main$l = /* @__PURE__ */ defineComponent({
|
|
|
1268
1623
|
onClick: _cache[0] || (_cache[0] = ($event) => signOut()),
|
|
1269
1624
|
class: "px-4 my-1 leading-9 flex border-gray-200 cursor-pointer hover:bg-gray-100 transition-all duration-300 text-13"
|
|
1270
1625
|
}, [
|
|
1271
|
-
withDirectives(createElementVNode("span", _hoisted_2$
|
|
1626
|
+
withDirectives(createElementVNode("span", _hoisted_2$4, null, 512), [
|
|
1272
1627
|
[_directive_icon, "ant-design:logout-outlined"]
|
|
1273
1628
|
]),
|
|
1274
1629
|
createElementVNode("span", null, toDisplayString(unref(t)("LOGIN_OUT")), 1)
|
|
@@ -1279,11 +1634,11 @@ const _sfc_main$l = /* @__PURE__ */ defineComponent({
|
|
|
1279
1634
|
createElementVNode("div", _hoisted_3$2, [
|
|
1280
1635
|
createVNode(_component_AAvatar, { size: 28 }, {
|
|
1281
1636
|
icon: withCtx(() => [
|
|
1282
|
-
createElementVNode("img", { src: "/node_modules/@dt-frames/ui/es/assets/imgs/header/avatar.png" }, null, 8, _hoisted_4$
|
|
1637
|
+
createElementVNode("img", { src: "/node_modules/@dt-frames/ui/es/assets/imgs/header/avatar.png" }, null, 8, _hoisted_4$2)
|
|
1283
1638
|
]),
|
|
1284
1639
|
_: 1
|
|
1285
1640
|
}),
|
|
1286
|
-
createElementVNode("span", _hoisted_5, toDisplayString(unref(getUserInfo)?.userNo), 1)
|
|
1641
|
+
createElementVNode("span", _hoisted_5$1, toDisplayString(unref(getUserInfo)?.userNo), 1)
|
|
1287
1642
|
])
|
|
1288
1643
|
]),
|
|
1289
1644
|
_: 1
|
|
@@ -1388,13 +1743,13 @@ function changeTheme(event, value = {}) {
|
|
|
1388
1743
|
}
|
|
1389
1744
|
useThemeStore().setThemeConf(conf);
|
|
1390
1745
|
}
|
|
1391
|
-
const _hoisted_1$
|
|
1392
|
-
const _hoisted_2$
|
|
1746
|
+
const _hoisted_1$7 = { class: "flex flex-row justify-center dt-menu-type" };
|
|
1747
|
+
const _hoisted_2$3 = ["onClick"];
|
|
1393
1748
|
const _hoisted_3$1 = /* @__PURE__ */ createElementVNode("div", { class: "dt-menu-type__item" }, null, -1);
|
|
1394
|
-
const _hoisted_4 = [
|
|
1749
|
+
const _hoisted_4$1 = [
|
|
1395
1750
|
_hoisted_3$1
|
|
1396
1751
|
];
|
|
1397
|
-
const _sfc_main$
|
|
1752
|
+
const _sfc_main$i = /* @__PURE__ */ defineComponent({
|
|
1398
1753
|
__name: "menu-type",
|
|
1399
1754
|
setup(__props) {
|
|
1400
1755
|
const { getMenuType, getMenuMode } = useMenu();
|
|
@@ -1422,6 +1777,14 @@ const _sfc_main$k = /* @__PURE__ */ defineComponent({
|
|
|
1422
1777
|
mode: MenuMode.HORIZONTAL,
|
|
1423
1778
|
type: MenuType.TOP_MENU,
|
|
1424
1779
|
split: false
|
|
1780
|
+
},
|
|
1781
|
+
{
|
|
1782
|
+
title: "\u5DE6\u4FA7\u83DC\u5355\u6DF7\u5408\u6A21\u5F0F",
|
|
1783
|
+
headTheme: Theme.LIGHT,
|
|
1784
|
+
menuTheme: Theme.DARK,
|
|
1785
|
+
mode: MenuMode.INLINE,
|
|
1786
|
+
type: MenuType.MIX_SIDEBAR,
|
|
1787
|
+
split: false
|
|
1425
1788
|
}
|
|
1426
1789
|
];
|
|
1427
1790
|
function changeMenuType(item) {
|
|
@@ -1429,7 +1792,7 @@ const _sfc_main$k = /* @__PURE__ */ defineComponent({
|
|
|
1429
1792
|
}
|
|
1430
1793
|
return (_ctx, _cache) => {
|
|
1431
1794
|
const _component_ATooltip = Tooltip;
|
|
1432
|
-
return openBlock(), createElementBlock("div", _hoisted_1$
|
|
1795
|
+
return openBlock(), createElementBlock("div", _hoisted_1$7, [
|
|
1433
1796
|
(openBlock(), createElementBlock(Fragment, null, renderList(menuTypeList, (item) => {
|
|
1434
1797
|
return createVNode(_component_ATooltip, {
|
|
1435
1798
|
key: item.title,
|
|
@@ -1447,7 +1810,7 @@ const _sfc_main$k = /* @__PURE__ */ defineComponent({
|
|
|
1447
1810
|
[`dt-menu-type__item--active`]: unref(getMenuType) === item.type && unref(getMenuMode) === item.mode
|
|
1448
1811
|
}
|
|
1449
1812
|
])
|
|
1450
|
-
}, _hoisted_4, 10, _hoisted_2$
|
|
1813
|
+
}, _hoisted_4$1, 10, _hoisted_2$3)
|
|
1451
1814
|
]),
|
|
1452
1815
|
_: 2
|
|
1453
1816
|
}, 1032, ["title"]);
|
|
@@ -1456,8 +1819,8 @@ const _sfc_main$k = /* @__PURE__ */ defineComponent({
|
|
|
1456
1819
|
};
|
|
1457
1820
|
}
|
|
1458
1821
|
});
|
|
1459
|
-
const _hoisted_1$
|
|
1460
|
-
const _sfc_main$
|
|
1822
|
+
const _hoisted_1$6 = { class: "flex justify-between mb-5" };
|
|
1823
|
+
const _sfc_main$h = /* @__PURE__ */ defineComponent({
|
|
1461
1824
|
__name: "select",
|
|
1462
1825
|
props: {
|
|
1463
1826
|
event: { type: Number },
|
|
@@ -1480,7 +1843,7 @@ const _sfc_main$j = /* @__PURE__ */ defineComponent({
|
|
|
1480
1843
|
}
|
|
1481
1844
|
return (_ctx, _cache) => {
|
|
1482
1845
|
const _component_ASelect = Select;
|
|
1483
|
-
return openBlock(), createElementBlock("div", _hoisted_1$
|
|
1846
|
+
return openBlock(), createElementBlock("div", _hoisted_1$6, [
|
|
1484
1847
|
createElementVNode("span", null, toDisplayString(__props.title), 1),
|
|
1485
1848
|
createVNode(_component_ASelect, mergeProps(unref(getBindValue), {
|
|
1486
1849
|
disabled: __props.disabled,
|
|
@@ -1493,8 +1856,8 @@ const _sfc_main$j = /* @__PURE__ */ defineComponent({
|
|
|
1493
1856
|
};
|
|
1494
1857
|
}
|
|
1495
1858
|
});
|
|
1496
|
-
const _hoisted_1$
|
|
1497
|
-
const _sfc_main$
|
|
1859
|
+
const _hoisted_1$5 = { class: "flex justify-between mb-5" };
|
|
1860
|
+
const _sfc_main$g = /* @__PURE__ */ defineComponent({
|
|
1498
1861
|
__name: "switch",
|
|
1499
1862
|
props: {
|
|
1500
1863
|
event: {
|
|
@@ -1517,7 +1880,7 @@ const _sfc_main$i = /* @__PURE__ */ defineComponent({
|
|
|
1517
1880
|
}
|
|
1518
1881
|
return (_ctx, _cache) => {
|
|
1519
1882
|
const _component_ASwitch = Switch;
|
|
1520
|
-
return openBlock(), createElementBlock("div", _hoisted_1$
|
|
1883
|
+
return openBlock(), createElementBlock("div", _hoisted_1$5, [
|
|
1521
1884
|
createElementVNode("span", null, toDisplayString(__props.title), 1),
|
|
1522
1885
|
createVNode(_component_ASwitch, mergeProps(unref(getBindValue), {
|
|
1523
1886
|
disabled: __props.disabled,
|
|
@@ -1529,7 +1892,7 @@ const _sfc_main$i = /* @__PURE__ */ defineComponent({
|
|
|
1529
1892
|
};
|
|
1530
1893
|
}
|
|
1531
1894
|
});
|
|
1532
|
-
const _sfc_main$
|
|
1895
|
+
const _sfc_main$f = /* @__PURE__ */ defineComponent({
|
|
1533
1896
|
__name: "feature",
|
|
1534
1897
|
setup(__props) {
|
|
1535
1898
|
const { t } = useI18n("UI");
|
|
@@ -1605,7 +1968,7 @@ const _sfc_main$h = /* @__PURE__ */ defineComponent({
|
|
|
1605
1968
|
return (_ctx, _cache) => {
|
|
1606
1969
|
return openBlock(), createElementBlock(Fragment, null, [
|
|
1607
1970
|
(openBlock(), createElementBlock(Fragment, null, renderList(switchItems, (item) => {
|
|
1608
|
-
return createVNode(_sfc_main$
|
|
1971
|
+
return createVNode(_sfc_main$g, {
|
|
1609
1972
|
key: item.title,
|
|
1610
1973
|
title: item.title,
|
|
1611
1974
|
event: item.event,
|
|
@@ -1613,7 +1976,7 @@ const _sfc_main$h = /* @__PURE__ */ defineComponent({
|
|
|
1613
1976
|
}, null, 8, ["title", "event", "def"]);
|
|
1614
1977
|
}), 64)),
|
|
1615
1978
|
(openBlock(), createElementBlock(Fragment, null, renderList(selectItems, (item) => {
|
|
1616
|
-
return createVNode(_sfc_main$
|
|
1979
|
+
return createVNode(_sfc_main$h, {
|
|
1617
1980
|
key: item.title,
|
|
1618
1981
|
title: item.title,
|
|
1619
1982
|
event: item.event,
|
|
@@ -1625,9 +1988,9 @@ const _sfc_main$h = /* @__PURE__ */ defineComponent({
|
|
|
1625
1988
|
};
|
|
1626
1989
|
}
|
|
1627
1990
|
});
|
|
1628
|
-
const _hoisted_1$
|
|
1629
|
-
const _hoisted_2$
|
|
1630
|
-
const _sfc_main$
|
|
1991
|
+
const _hoisted_1$4 = { class: "mt-5" };
|
|
1992
|
+
const _hoisted_2$2 = { class: "dt-setting-theme__tips p-3 text-12 bg-gray-100 rounded" };
|
|
1993
|
+
const _sfc_main$e = /* @__PURE__ */ defineComponent({
|
|
1631
1994
|
__name: "setting-theme",
|
|
1632
1995
|
setup(__props) {
|
|
1633
1996
|
const { t } = useI18n("UI");
|
|
@@ -1735,16 +2098,16 @@ const _sfc_main$g = /* @__PURE__ */ defineComponent({
|
|
|
1735
2098
|
]),
|
|
1736
2099
|
_: 1
|
|
1737
2100
|
}),
|
|
1738
|
-
createVNode(unref(_sfc_main$
|
|
2101
|
+
createVNode(unref(_sfc_main$i)),
|
|
1739
2102
|
createVNode(_component_ADivider, null, {
|
|
1740
2103
|
default: withCtx(() => [
|
|
1741
2104
|
createTextVNode(toDisplayString(unref(t)("PAGE_SHOW")), 1)
|
|
1742
2105
|
]),
|
|
1743
2106
|
_: 1
|
|
1744
2107
|
}),
|
|
1745
|
-
createVNode(unref(_sfc_main$
|
|
2108
|
+
createVNode(unref(_sfc_main$f)),
|
|
1746
2109
|
createVNode(_component_ADivider),
|
|
1747
|
-
createElementVNode("div", _hoisted_1$
|
|
2110
|
+
createElementVNode("div", _hoisted_1$4, [
|
|
1748
2111
|
createVNode(_component_AButton, {
|
|
1749
2112
|
onClick: copy,
|
|
1750
2113
|
class: "mb-3",
|
|
@@ -1767,7 +2130,7 @@ const _sfc_main$g = /* @__PURE__ */ defineComponent({
|
|
|
1767
2130
|
_: 1
|
|
1768
2131
|
})
|
|
1769
2132
|
]),
|
|
1770
|
-
createElementVNode("div", _hoisted_2$
|
|
2133
|
+
createElementVNode("div", _hoisted_2$2, toDisplayString(unref(t)("DRAWER_TIPS")), 1)
|
|
1771
2134
|
]),
|
|
1772
2135
|
_: 1
|
|
1773
2136
|
}, 8, ["visible", "title"])
|
|
@@ -1942,7 +2305,7 @@ const contentProps = {
|
|
|
1942
2305
|
},
|
|
1943
2306
|
isSplitMenu: Boolean
|
|
1944
2307
|
});
|
|
1945
|
-
const _sfc_main$
|
|
2308
|
+
const _sfc_main$d = /* @__PURE__ */ defineComponent({
|
|
1946
2309
|
__name: "menu-item-content",
|
|
1947
2310
|
props: contentProps,
|
|
1948
2311
|
setup(__props) {
|
|
@@ -1959,7 +2322,7 @@ const _sfc_main$f = /* @__PURE__ */ defineComponent({
|
|
|
1959
2322
|
};
|
|
1960
2323
|
}
|
|
1961
2324
|
});
|
|
1962
|
-
const _sfc_main$
|
|
2325
|
+
const _sfc_main$c = /* @__PURE__ */ defineComponent({
|
|
1963
2326
|
__name: "basic-menu-item",
|
|
1964
2327
|
props: ItemProp,
|
|
1965
2328
|
setup(__props) {
|
|
@@ -1970,14 +2333,14 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
|
|
|
1970
2333
|
key: _ctx.item.url
|
|
1971
2334
|
}, {
|
|
1972
2335
|
default: withCtx(() => [
|
|
1973
|
-
createVNode(_sfc_main$
|
|
2336
|
+
createVNode(_sfc_main$d, normalizeProps(guardReactiveProps(props)), null, 16)
|
|
1974
2337
|
]),
|
|
1975
2338
|
_: 1
|
|
1976
2339
|
});
|
|
1977
2340
|
};
|
|
1978
2341
|
}
|
|
1979
2342
|
});
|
|
1980
|
-
const _sfc_main$
|
|
2343
|
+
const _sfc_main$b = /* @__PURE__ */ defineComponent({
|
|
1981
2344
|
__name: "basic-sub-menu-item",
|
|
1982
2345
|
props: ItemProp,
|
|
1983
2346
|
setup(__props) {
|
|
@@ -1994,14 +2357,14 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({
|
|
|
1994
2357
|
const _component_BasicSubMenuItem = resolveComponent("BasicSubMenuItem", true);
|
|
1995
2358
|
const _component_ASubMenu = SubMenu;
|
|
1996
2359
|
return openBlock(), createElementBlock(Fragment, null, [
|
|
1997
|
-
!menuHasChildren(unref(item)) && unref(getShowMenu) ? (openBlock(), createBlock(_sfc_main$
|
|
2360
|
+
!menuHasChildren(unref(item)) && unref(getShowMenu) ? (openBlock(), createBlock(_sfc_main$c, normalizeProps(mergeProps({ key: 0 }, props)), null, 16)) : createCommentVNode("", true),
|
|
1998
2361
|
menuHasChildren(unref(item)) && unref(getShowMenu) ? (openBlock(), createBlock(_component_ASubMenu, {
|
|
1999
2362
|
class: normalizeClass([unref(theme)]),
|
|
2000
2363
|
key: unref(item).id,
|
|
2001
2364
|
popupClassName: "app-top-menu-popup"
|
|
2002
2365
|
}, {
|
|
2003
2366
|
title: withCtx(() => [
|
|
2004
|
-
createVNode(_sfc_main$
|
|
2367
|
+
createVNode(_sfc_main$d, mergeProps(props, { item: unref(item) }), null, 16, ["item"])
|
|
2005
2368
|
]),
|
|
2006
2369
|
default: withCtx(() => [
|
|
2007
2370
|
(openBlock(true), createElementBlock(Fragment, null, renderList(unref(item).children, (childrenItem) => {
|
|
@@ -2016,7 +2379,7 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({
|
|
|
2016
2379
|
};
|
|
2017
2380
|
}
|
|
2018
2381
|
});
|
|
2019
|
-
const _sfc_main$
|
|
2382
|
+
const _sfc_main$a = /* @__PURE__ */ defineComponent({
|
|
2020
2383
|
__name: "basic-menu",
|
|
2021
2384
|
props: BasicMenu,
|
|
2022
2385
|
emits: ["menuClick"],
|
|
@@ -2103,7 +2466,7 @@ const _sfc_main$c = /* @__PURE__ */ defineComponent({
|
|
|
2103
2466
|
}, {
|
|
2104
2467
|
default: withCtx(() => [
|
|
2105
2468
|
(openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.items, (item) => {
|
|
2106
|
-
return openBlock(), createBlock(_sfc_main$
|
|
2469
|
+
return openBlock(), createBlock(_sfc_main$b, {
|
|
2107
2470
|
key: item.id,
|
|
2108
2471
|
item,
|
|
2109
2472
|
theme: _ctx.theme,
|
|
@@ -2116,7 +2479,7 @@ const _sfc_main$c = /* @__PURE__ */ defineComponent({
|
|
|
2116
2479
|
};
|
|
2117
2480
|
}
|
|
2118
2481
|
});
|
|
2119
|
-
const _sfc_main$
|
|
2482
|
+
const _sfc_main$9 = defineComponent({
|
|
2120
2483
|
name: "LayoutMenu",
|
|
2121
2484
|
props: {
|
|
2122
2485
|
theme: String,
|
|
@@ -2176,6 +2539,8 @@ const _sfc_main$b = defineComponent({
|
|
|
2176
2539
|
go(path);
|
|
2177
2540
|
}
|
|
2178
2541
|
function renderHeader() {
|
|
2542
|
+
if (!unref(getIsShowLogo))
|
|
2543
|
+
return null;
|
|
2179
2544
|
if (slots.logo) {
|
|
2180
2545
|
return createVNode(DtSlotContainer, {
|
|
2181
2546
|
"template": slots.logo,
|
|
@@ -2185,9 +2550,7 @@ const _sfc_main$b = defineComponent({
|
|
|
2185
2550
|
}
|
|
2186
2551
|
}, null);
|
|
2187
2552
|
}
|
|
2188
|
-
|
|
2189
|
-
return null;
|
|
2190
|
-
return createVNode(_sfc_main$v, {
|
|
2553
|
+
return createVNode(_sfc_main$q, {
|
|
2191
2554
|
"showTitle": !unref(getCollapsed),
|
|
2192
2555
|
"class": unref(getLogoClass),
|
|
2193
2556
|
"theme": unref(getComputedTheme)
|
|
@@ -2212,7 +2575,7 @@ const _sfc_main$b = defineComponent({
|
|
|
2212
2575
|
} = unref(getMenuProps);
|
|
2213
2576
|
if (!menus || !menus.length)
|
|
2214
2577
|
return null;
|
|
2215
|
-
return createVNode(_sfc_main$
|
|
2578
|
+
return createVNode(_sfc_main$a, mergeProps(menuProps, {
|
|
2216
2579
|
"isHorizontal": props.isHorizontal,
|
|
2217
2580
|
"type": unref(getMenuType),
|
|
2218
2581
|
"showLogo": unref(getIsShowLogo),
|
|
@@ -2227,12 +2590,15 @@ const _sfc_main$b = defineComponent({
|
|
|
2227
2590
|
};
|
|
2228
2591
|
}
|
|
2229
2592
|
});
|
|
2230
|
-
const _hoisted_1$
|
|
2231
|
-
|
|
2593
|
+
const _hoisted_1$3 = {
|
|
2594
|
+
key: 3,
|
|
2595
|
+
class: "max-w-full pl-3 pr-20 dt-reuse-tabs__top"
|
|
2596
|
+
};
|
|
2597
|
+
const _hoisted_2$1 = {
|
|
2232
2598
|
key: 0,
|
|
2233
2599
|
class: "flex-1 h-full min-w-0 items-center"
|
|
2234
2600
|
};
|
|
2235
|
-
const _sfc_main$
|
|
2601
|
+
const _sfc_main$8 = /* @__PURE__ */ defineComponent({
|
|
2236
2602
|
__name: "index",
|
|
2237
2603
|
props: {
|
|
2238
2604
|
fixed: Boolean
|
|
@@ -2253,12 +2619,14 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
|
|
|
2253
2619
|
getShowSearch,
|
|
2254
2620
|
getShowUiSize
|
|
2255
2621
|
} = useHeader();
|
|
2622
|
+
const { getShowMultipleTab, getMultipleTabPosIsTop } = useMultipleTab();
|
|
2256
2623
|
const getSplitType = computed(() => {
|
|
2257
2624
|
return unref(getSplit) ? MenuSplitTye.TOP : MenuSplitTye.NONE;
|
|
2258
2625
|
});
|
|
2259
2626
|
const getMenuMode = computed(() => {
|
|
2260
2627
|
return unref(getSplit) ? MenuMode.HORIZONTAL : null;
|
|
2261
2628
|
});
|
|
2629
|
+
const getShowTab = computed(() => unref(getShowMultipleTab) && unref(getMultipleTabPosIsTop));
|
|
2262
2630
|
const getHeaderCls = computed(() => {
|
|
2263
2631
|
let theme = unref(getHeaderTheme);
|
|
2264
2632
|
let cls = "dt-header flex p-0 items-center justify-between ";
|
|
@@ -2274,20 +2642,27 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
|
|
|
2274
2642
|
class: normalizeClass([unref(getHeaderCls), "flex items-center justify-between"])
|
|
2275
2643
|
}, {
|
|
2276
2644
|
default: withCtx(() => [
|
|
2277
|
-
createElementVNode("div",
|
|
2278
|
-
|
|
2645
|
+
createElementVNode("div", {
|
|
2646
|
+
class: normalizeClass(["dt-header-left flex h-full items-center", {
|
|
2647
|
+
"w-0 flex-1": unref(getShowTab)
|
|
2648
|
+
}])
|
|
2649
|
+
}, [
|
|
2650
|
+
unref(getShowHeaderLogo) ? (openBlock(), createBlock(unref(_sfc_main$q), {
|
|
2279
2651
|
key: 0,
|
|
2280
2652
|
theme: unref(getHeaderTheme),
|
|
2281
2653
|
class: "dt-header-logo"
|
|
2282
2654
|
}, null, 8, ["theme"])) : createCommentVNode("", true),
|
|
2283
|
-
unref(getShowHeaderTrigger) && !unref(getSplit) ? (openBlock(), createBlock(unref(_sfc_main$
|
|
2655
|
+
unref(getShowHeaderTrigger) && !unref(getSplit) && !unref(getShowTab) ? (openBlock(), createBlock(unref(_sfc_main$p), {
|
|
2284
2656
|
key: 1,
|
|
2285
2657
|
theme: unref(getHeaderTheme)
|
|
2286
2658
|
}, null, 8, ["theme"])) : createCommentVNode("", true),
|
|
2287
|
-
unref(getShowBread) ? (openBlock(), createBlock(unref(_sfc_main$
|
|
2288
|
-
|
|
2289
|
-
|
|
2290
|
-
|
|
2659
|
+
unref(getShowBread) && !unref(getShowTab) ? (openBlock(), createBlock(unref(_sfc_main$o), { key: 2 })) : createCommentVNode("", true),
|
|
2660
|
+
unref(getShowTab) ? (openBlock(), createElementBlock("div", _hoisted_1$3, [
|
|
2661
|
+
createVNode(_sfc_main$v)
|
|
2662
|
+
])) : createCommentVNode("", true)
|
|
2663
|
+
], 2),
|
|
2664
|
+
unref(getShowTopMenu) ? (openBlock(), createElementBlock("div", _hoisted_2$1, [
|
|
2665
|
+
createVNode(_sfc_main$9, {
|
|
2291
2666
|
isHorizontal: true,
|
|
2292
2667
|
theme: unref(getHeaderTheme),
|
|
2293
2668
|
splitType: unref(getSplitType),
|
|
@@ -2300,16 +2675,16 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
|
|
|
2300
2675
|
"padding-right": unref(getShowSettingTheme) ? "" : "20px"
|
|
2301
2676
|
})
|
|
2302
2677
|
}, [
|
|
2303
|
-
unref(getShowSearch) ? (openBlock(), createBlock(unref(_sfc_main$
|
|
2304
|
-
unref(getShowNotice) ? (openBlock(), createBlock(unref(_sfc_main$
|
|
2305
|
-
unref(getShowUiSize) ? (openBlock(), createBlock(unref(_sfc_main$
|
|
2306
|
-
unref(getShowFullScreen) ? (openBlock(), createBlock(unref(_sfc_main$
|
|
2307
|
-
unref(getShowLocale) ? (openBlock(), createBlock(unref(_sfc_main$
|
|
2678
|
+
unref(getShowSearch) ? (openBlock(), createBlock(unref(_sfc_main$n), { key: 0 })) : createCommentVNode("", true),
|
|
2679
|
+
unref(getShowNotice) ? (openBlock(), createBlock(unref(_sfc_main$l), { key: 1 })) : createCommentVNode("", true),
|
|
2680
|
+
unref(getShowUiSize) ? (openBlock(), createBlock(unref(_sfc_main$k), { key: 2 })) : createCommentVNode("", true),
|
|
2681
|
+
unref(getShowFullScreen) ? (openBlock(), createBlock(unref(_sfc_main$u), { key: 3 })) : createCommentVNode("", true),
|
|
2682
|
+
unref(getShowLocale) ? (openBlock(), createBlock(unref(_sfc_main$m), {
|
|
2308
2683
|
key: 4,
|
|
2309
2684
|
reload: true
|
|
2310
2685
|
})) : createCommentVNode("", true),
|
|
2311
|
-
createVNode(unref(_sfc_main$
|
|
2312
|
-
unref(getShowSettingTheme) ? (openBlock(), createBlock(unref(_sfc_main$
|
|
2686
|
+
createVNode(unref(_sfc_main$j)),
|
|
2687
|
+
unref(getShowSettingTheme) ? (openBlock(), createBlock(unref(_sfc_main$e), { key: 5 })) : createCommentVNode("", true)
|
|
2313
2688
|
], 4)
|
|
2314
2689
|
]),
|
|
2315
2690
|
_: 1
|
|
@@ -2344,7 +2719,7 @@ function useTrigger() {
|
|
|
2344
2719
|
});
|
|
2345
2720
|
return { getTriggerAttr, getShowTrigger };
|
|
2346
2721
|
}
|
|
2347
|
-
const _sfc_main$
|
|
2722
|
+
const _sfc_main$7 = /* @__PURE__ */ defineComponent({
|
|
2348
2723
|
__name: "sider-trigger",
|
|
2349
2724
|
props: {
|
|
2350
2725
|
type: {
|
|
@@ -2368,7 +2743,7 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
|
|
|
2368
2743
|
};
|
|
2369
2744
|
}
|
|
2370
2745
|
});
|
|
2371
|
-
const _sfc_main$
|
|
2746
|
+
const _sfc_main$6 = /* @__PURE__ */ defineComponent({
|
|
2372
2747
|
__name: "drag-bar",
|
|
2373
2748
|
setup(__props) {
|
|
2374
2749
|
const { getCollapsed, getCanDrag, getMenuWidth } = useMenu();
|
|
@@ -2394,29 +2769,193 @@ const _sfc_main$8 = /* @__PURE__ */ defineComponent({
|
|
|
2394
2769
|
};
|
|
2395
2770
|
}
|
|
2396
2771
|
});
|
|
2397
|
-
const
|
|
2398
|
-
|
|
2772
|
+
const _hoisted_1$2 = { class: "dt-mix-sider__shallow-menu" };
|
|
2773
|
+
const _hoisted_2 = { class: "m-0" };
|
|
2774
|
+
const _hoisted_3 = { class: "dt-mix-sider__sub-shallow-menu" };
|
|
2775
|
+
const _hoisted_4 = { key: 0 };
|
|
2776
|
+
const _hoisted_5 = { class: "opacity-60 m-0 py-3 text-lg pt-6" };
|
|
2777
|
+
const _hoisted_6 = ["onClick"];
|
|
2778
|
+
const _hoisted_7 = { class: "m-0" };
|
|
2779
|
+
const _hoisted_8 = ["onClick"];
|
|
2780
|
+
const _hoisted_9 = { class: "m-0" };
|
|
2781
|
+
const _sfc_main$5 = /* @__PURE__ */ defineComponent({
|
|
2782
|
+
__name: "mix-sider",
|
|
2399
2783
|
setup(__props) {
|
|
2400
|
-
const
|
|
2401
|
-
|
|
2402
|
-
|
|
2403
|
-
|
|
2404
|
-
|
|
2405
|
-
|
|
2406
|
-
|
|
2407
|
-
|
|
2408
|
-
|
|
2409
|
-
|
|
2410
|
-
|
|
2411
|
-
|
|
2412
|
-
|
|
2413
|
-
|
|
2414
|
-
|
|
2415
|
-
|
|
2416
|
-
|
|
2417
|
-
|
|
2418
|
-
|
|
2419
|
-
|
|
2784
|
+
const MENU_WIDTH = 80;
|
|
2785
|
+
const go = useGo();
|
|
2786
|
+
const { getMenuWidth, getMenuTheme, getMixSideTrigger } = useMenu();
|
|
2787
|
+
const { setMixSiderIsHasMenu } = useThemeStore();
|
|
2788
|
+
const menuModules = getShallowMenus();
|
|
2789
|
+
const activeId = ref("");
|
|
2790
|
+
const subMenus = ref([]);
|
|
2791
|
+
const getDomStyle = computed(() => setDomWidth(`${unref(subMenus)?.length ? unref(getMenuWidth) : MENU_WIDTH}px`));
|
|
2792
|
+
const getWrapStyle = computed(() => setDomWidth(`${MENU_WIDTH}px`));
|
|
2793
|
+
const getSubMenuStyle = computed(() => {
|
|
2794
|
+
return {
|
|
2795
|
+
width: `${unref(getMenuWidth) - MENU_WIDTH}px`,
|
|
2796
|
+
left: `${MENU_WIDTH}px`
|
|
2797
|
+
};
|
|
2798
|
+
});
|
|
2799
|
+
function setDomWidth(width) {
|
|
2800
|
+
return {
|
|
2801
|
+
width,
|
|
2802
|
+
minWidth: width,
|
|
2803
|
+
maxWidth: width,
|
|
2804
|
+
flex: `0 0 ${width}`,
|
|
2805
|
+
transition: "all 0.2s"
|
|
2806
|
+
};
|
|
2807
|
+
}
|
|
2808
|
+
const getMenuEvents = {
|
|
2809
|
+
onMouseleave: () => {
|
|
2810
|
+
setActive(currentRoute.value.path);
|
|
2811
|
+
}
|
|
2812
|
+
};
|
|
2813
|
+
const getItemEvents = (item) => {
|
|
2814
|
+
if (unref(getMixSideTrigger) === "hover") {
|
|
2815
|
+
return {
|
|
2816
|
+
onMouseenter: () => handleModuleClick(item.url, true),
|
|
2817
|
+
onClick: () => handleModuleClick(item.url)
|
|
2818
|
+
};
|
|
2819
|
+
}
|
|
2820
|
+
return {
|
|
2821
|
+
onClick: () => handleModuleClick(item.url)
|
|
2822
|
+
};
|
|
2823
|
+
};
|
|
2824
|
+
const { currentRoute = null } = useRouter();
|
|
2825
|
+
function setActive(path) {
|
|
2826
|
+
const pTree = getParentTreeByPath(path);
|
|
2827
|
+
activeId.value = pTree.id;
|
|
2828
|
+
subMenus.value = pTree.children;
|
|
2829
|
+
setMixSiderIsHasMenu(Boolean(pTree.children?.length));
|
|
2830
|
+
}
|
|
2831
|
+
function handleModuleClick(path, isHover = false) {
|
|
2832
|
+
setActive(path);
|
|
2833
|
+
if (!isHover) {
|
|
2834
|
+
go(path);
|
|
2835
|
+
}
|
|
2836
|
+
}
|
|
2837
|
+
watchEffect(() => {
|
|
2838
|
+
if (!currentRoute || currentRoute.value.path === "/")
|
|
2839
|
+
return;
|
|
2840
|
+
setActive(currentRoute.value.path);
|
|
2841
|
+
});
|
|
2842
|
+
return (_ctx, _cache) => {
|
|
2843
|
+
return openBlock(), createElementBlock(Fragment, null, [
|
|
2844
|
+
createElementVNode("div", {
|
|
2845
|
+
class: "h-full overflow-hidden",
|
|
2846
|
+
style: normalizeStyle(unref(getDomStyle))
|
|
2847
|
+
}, null, 4),
|
|
2848
|
+
createElementVNode("div", mergeProps({
|
|
2849
|
+
style: unref(getWrapStyle),
|
|
2850
|
+
class: ["dt-mix-sider fixed top-0 left-0 h-full overflow-hidden", unref(getMenuTheme)]
|
|
2851
|
+
}, getMenuEvents), [
|
|
2852
|
+
createVNode(_sfc_main$q, {
|
|
2853
|
+
showTitle: false,
|
|
2854
|
+
class: normalizeClass("justify-center z-10")
|
|
2855
|
+
}),
|
|
2856
|
+
createVNode(unref(DtScrollContainer), { class: "z-10" }, {
|
|
2857
|
+
default: withCtx(() => [
|
|
2858
|
+
createElementVNode("ul", _hoisted_1$2, [
|
|
2859
|
+
(openBlock(true), createElementBlock(Fragment, null, renderList(unref(menuModules), (item) => {
|
|
2860
|
+
return openBlock(), createElementBlock("li", mergeProps({
|
|
2861
|
+
key: item.id,
|
|
2862
|
+
class: ["py-3 cursor-pointer relative text-center", {
|
|
2863
|
+
"active-menu": item.id === activeId.value
|
|
2864
|
+
}]
|
|
2865
|
+
}, getItemEvents(item)), [
|
|
2866
|
+
createElementVNode("i", {
|
|
2867
|
+
class: normalizeClass(["i", item.icon])
|
|
2868
|
+
}, null, 2),
|
|
2869
|
+
createElementVNode("p", _hoisted_2, toDisplayString(item.label), 1)
|
|
2870
|
+
], 16);
|
|
2871
|
+
}), 128))
|
|
2872
|
+
])
|
|
2873
|
+
]),
|
|
2874
|
+
_: 1
|
|
2875
|
+
}),
|
|
2876
|
+
createVNode(Transition, { name: "dt-mix-sider__animate" }, {
|
|
2877
|
+
default: withCtx(() => [
|
|
2878
|
+
subMenus.value?.length ? (openBlock(), createElementBlock("div", {
|
|
2879
|
+
key: 0,
|
|
2880
|
+
class: "fixed top-0 h-full sub-menu bg-white",
|
|
2881
|
+
style: normalizeStyle(unref(getSubMenuStyle))
|
|
2882
|
+
}, [
|
|
2883
|
+
createVNode(unref(DtScrollContainer), null, {
|
|
2884
|
+
default: withCtx(() => [
|
|
2885
|
+
createElementVNode("ul", _hoisted_3, [
|
|
2886
|
+
(openBlock(true), createElementBlock(Fragment, null, renderList(subMenus.value, (menu) => {
|
|
2887
|
+
return openBlock(), createElementBlock("li", {
|
|
2888
|
+
key: menu.id
|
|
2889
|
+
}, [
|
|
2890
|
+
menu.children?.length ? (openBlock(), createElementBlock("div", _hoisted_4, [
|
|
2891
|
+
createElementVNode("p", _hoisted_5, toDisplayString(menu.label), 1),
|
|
2892
|
+
createElementVNode("ul", null, [
|
|
2893
|
+
(openBlock(true), createElementBlock(Fragment, null, renderList(menu.children, (subMenu) => {
|
|
2894
|
+
return openBlock(), createElementBlock("li", {
|
|
2895
|
+
key: subMenu.id,
|
|
2896
|
+
class: normalizeClass(["flex cursor-pointer", {
|
|
2897
|
+
"active-menu": subMenu.url === unref(currentRoute).fullPath
|
|
2898
|
+
}]),
|
|
2899
|
+
onClick: ($event) => unref(go)(subMenu.url)
|
|
2900
|
+
}, [
|
|
2901
|
+
createElementVNode("i", {
|
|
2902
|
+
class: normalizeClass(["i opacity-50 pr-2", subMenu.icon])
|
|
2903
|
+
}, null, 2),
|
|
2904
|
+
createElementVNode("p", _hoisted_7, toDisplayString(subMenu.label), 1)
|
|
2905
|
+
], 10, _hoisted_6);
|
|
2906
|
+
}), 128))
|
|
2907
|
+
])
|
|
2908
|
+
])) : (openBlock(), createElementBlock("div", {
|
|
2909
|
+
key: 1,
|
|
2910
|
+
class: normalizeClass(["sub-menu flex cursor-pointer", {
|
|
2911
|
+
"active-menu": menu.url === unref(currentRoute).fullPath
|
|
2912
|
+
}]),
|
|
2913
|
+
onClick: ($event) => unref(go)(menu.url)
|
|
2914
|
+
}, [
|
|
2915
|
+
createElementVNode("i", {
|
|
2916
|
+
class: normalizeClass(["i opacity-50 pr-2", menu.icon])
|
|
2917
|
+
}, null, 2),
|
|
2918
|
+
createElementVNode("p", _hoisted_9, toDisplayString(menu.label), 1)
|
|
2919
|
+
], 10, _hoisted_8))
|
|
2920
|
+
]);
|
|
2921
|
+
}), 128))
|
|
2922
|
+
])
|
|
2923
|
+
]),
|
|
2924
|
+
_: 1
|
|
2925
|
+
})
|
|
2926
|
+
], 4)) : createCommentVNode("", true)
|
|
2927
|
+
]),
|
|
2928
|
+
_: 1
|
|
2929
|
+
})
|
|
2930
|
+
], 16)
|
|
2931
|
+
], 64);
|
|
2932
|
+
};
|
|
2933
|
+
}
|
|
2934
|
+
});
|
|
2935
|
+
const _sfc_main$4 = /* @__PURE__ */ defineComponent({
|
|
2936
|
+
__name: "index",
|
|
2937
|
+
setup(__props) {
|
|
2938
|
+
const {
|
|
2939
|
+
getMenuFixed,
|
|
2940
|
+
getSplit,
|
|
2941
|
+
getMenuHidden,
|
|
2942
|
+
getMenuWidth,
|
|
2943
|
+
getCollapsed,
|
|
2944
|
+
getMenuTheme,
|
|
2945
|
+
getRealWidth,
|
|
2946
|
+
getIsMixMode,
|
|
2947
|
+
getIsMixSidebar
|
|
2948
|
+
} = useMenu();
|
|
2949
|
+
const {
|
|
2950
|
+
getCollapsedWidth,
|
|
2951
|
+
onBreakPointChange
|
|
2952
|
+
} = useMenuSwitch();
|
|
2953
|
+
const {
|
|
2954
|
+
getTriggerAttr,
|
|
2955
|
+
getShowTrigger
|
|
2956
|
+
} = useTrigger();
|
|
2957
|
+
const dragBarRef = ref(null);
|
|
2958
|
+
const sideRef = ref(null);
|
|
2420
2959
|
const hiddenDomStyle = computed(() => {
|
|
2421
2960
|
const width = `${unref(getRealWidth)}px`;
|
|
2422
2961
|
return {
|
|
@@ -2453,10 +2992,14 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
|
|
|
2453
2992
|
const getMode = computed(() => {
|
|
2454
2993
|
return unref(getSplit) ? MenuMode.INLINE : null;
|
|
2455
2994
|
});
|
|
2456
|
-
const renderTrigger = h(_sfc_main$
|
|
2995
|
+
const renderTrigger = h(_sfc_main$7);
|
|
2457
2996
|
return (_ctx, _cache) => {
|
|
2458
2997
|
const _component_ALayoutSider = LayoutSider;
|
|
2459
|
-
return
|
|
2998
|
+
return unref(getIsMixSidebar) ? (openBlock(), createBlock(_sfc_main$5, {
|
|
2999
|
+
key: 0
|
|
3000
|
+
})) : (openBlock(), createElementBlock(Fragment, {
|
|
3001
|
+
key: 1
|
|
3002
|
+
}, [unref(getMenuFixed) ? withDirectives((openBlock(), createElementBlock("div", {
|
|
2460
3003
|
key: 0,
|
|
2461
3004
|
style: normalizeStyle(unref(hiddenDomStyle))
|
|
2462
3005
|
}, null, 4)), [[vShow, unref(showClassSideBarRef)]]) : createCommentVNode("", true), withDirectives(createVNode(_component_ALayoutSider, mergeProps({
|
|
@@ -2472,319 +3015,16 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
|
|
|
2472
3015
|
theme: unref(getMenuTheme),
|
|
2473
3016
|
trigger: unref(renderTrigger)
|
|
2474
3017
|
}, unref(getTriggerAttr)), {
|
|
2475
|
-
default: withCtx(() => [createVNode(_sfc_main$
|
|
3018
|
+
default: withCtx(() => [createVNode(_sfc_main$9, {
|
|
2476
3019
|
theme: unref(getMenuTheme),
|
|
2477
3020
|
menuMode: unref(getMode),
|
|
2478
3021
|
splitType: unref(getSplitType)
|
|
2479
|
-
}, null, 8, ["theme", "menuMode", "splitType"]), createVNode(_sfc_main$
|
|
3022
|
+
}, null, 8, ["theme", "menuMode", "splitType"]), createVNode(_sfc_main$6, {
|
|
2480
3023
|
ref_key: "dragBarRef",
|
|
2481
3024
|
ref: dragBarRef
|
|
2482
3025
|
}, null, 512)]),
|
|
2483
3026
|
_: 1
|
|
2484
|
-
}, 16, ["class", "width", "collapsed", "collapsedWidth", "onBreakpoint", "theme", "trigger"]), [[vShow, unref(showClassSideBarRef)]])], 64);
|
|
2485
|
-
};
|
|
2486
|
-
}
|
|
2487
|
-
});
|
|
2488
|
-
const _hoisted_1$5 = /* @__PURE__ */ createElementVNode("i", { class: "block i ic:baseline-autorenew" }, null, -1);
|
|
2489
|
-
const _hoisted_2$1 = [
|
|
2490
|
-
_hoisted_1$5
|
|
2491
|
-
];
|
|
2492
|
-
const _sfc_main$6 = /* @__PURE__ */ defineComponent({
|
|
2493
|
-
__name: "TabRedo",
|
|
2494
|
-
setup(__props) {
|
|
2495
|
-
const tabStore = useRouteReuseStore();
|
|
2496
|
-
const router = useRouter();
|
|
2497
|
-
function handleRedo() {
|
|
2498
|
-
tabStore.refreshPage(router);
|
|
2499
|
-
}
|
|
2500
|
-
return (_ctx, _cache) => {
|
|
2501
|
-
return openBlock(), createElementBlock("span", {
|
|
2502
|
-
onClick: handleRedo,
|
|
2503
|
-
class: "inline-block w-9 h-9 leading-9 -mt-0.5 text-zinc-600 text-center cursor-pointer border-l border-zinc-300 hover:text-zinc-900"
|
|
2504
|
-
}, _hoisted_2$1);
|
|
2505
|
-
};
|
|
2506
|
-
}
|
|
2507
|
-
});
|
|
2508
|
-
function useTabDropdown() {
|
|
2509
|
-
const router = useRouter();
|
|
2510
|
-
const { currentRoute } = router;
|
|
2511
|
-
const tabStore = useRouteReuseStore();
|
|
2512
|
-
const state = reactive({
|
|
2513
|
-
current: null,
|
|
2514
|
-
currentIndex: 0
|
|
2515
|
-
});
|
|
2516
|
-
const getDropMenuList = computed(() => {
|
|
2517
|
-
const { t } = useI18n("UI");
|
|
2518
|
-
const { path, meta } = unref(currentRoute);
|
|
2519
|
-
const curItem = state.current;
|
|
2520
|
-
const isCurItem = curItem ? curItem.path === path : false;
|
|
2521
|
-
const index = state.currentIndex;
|
|
2522
|
-
const closeLeftDisabled = index === 0 || !isCurItem;
|
|
2523
|
-
const disabled = tabStore.getTabList.length === 1;
|
|
2524
|
-
const closeRightDisabled = !isCurItem || index === tabStore.getTabList.length - 1 && tabStore.getLastDragEndIndex >= 0;
|
|
2525
|
-
const dropMenuList = [
|
|
2526
|
-
{
|
|
2527
|
-
icon: "ic:baseline-close",
|
|
2528
|
-
text: t("CLOSE_CURRENT_TAG"),
|
|
2529
|
-
onClick: () => tabStore.closeTab(path, router),
|
|
2530
|
-
disabled: !!meta?.affix || disabled,
|
|
2531
|
-
divider: true
|
|
2532
|
-
},
|
|
2533
|
-
{
|
|
2534
|
-
icon: "mdi:arrow-collapse-left",
|
|
2535
|
-
text: t("CLOSE_LEFT_TAGS"),
|
|
2536
|
-
onClick: () => tabStore.closeLeftTabs(path),
|
|
2537
|
-
disabled: closeLeftDisabled,
|
|
2538
|
-
divider: false
|
|
2539
|
-
},
|
|
2540
|
-
{
|
|
2541
|
-
icon: "mdi:arrow-collapse-right",
|
|
2542
|
-
text: t("CLOSE_RIGHT_TAGS"),
|
|
2543
|
-
onClick: () => tabStore.closeRightTabs(path),
|
|
2544
|
-
disabled: closeRightDisabled,
|
|
2545
|
-
divider: true
|
|
2546
|
-
},
|
|
2547
|
-
{
|
|
2548
|
-
icon: "ic:baseline-sync-alt",
|
|
2549
|
-
text: t("CLOSE_OTHER_TAGS"),
|
|
2550
|
-
onClick: () => tabStore.closeOtherTabs(path),
|
|
2551
|
-
disabled: disabled || !isCurItem
|
|
2552
|
-
},
|
|
2553
|
-
{
|
|
2554
|
-
icon: "ic:baseline-horizontal-rule",
|
|
2555
|
-
text: t("CLOSE_ALL_TAGE"),
|
|
2556
|
-
onClick: () => tabStore.closeAllTab(currentRoute, router),
|
|
2557
|
-
disabled
|
|
2558
|
-
}
|
|
2559
|
-
];
|
|
2560
|
-
return dropMenuList;
|
|
2561
|
-
});
|
|
2562
|
-
function handleContext(e) {
|
|
2563
|
-
e?.preventDefault();
|
|
2564
|
-
const { path } = unref(currentRoute);
|
|
2565
|
-
const index = tabStore.getTabList.findIndex((tab) => tab.path === path);
|
|
2566
|
-
state.current = unref(currentRoute);
|
|
2567
|
-
state.currentIndex = index;
|
|
2568
|
-
}
|
|
2569
|
-
function handleMenuEvent(item) {
|
|
2570
|
-
item.onClick?.();
|
|
2571
|
-
}
|
|
2572
|
-
return {
|
|
2573
|
-
getDropMenuList,
|
|
2574
|
-
handleContext,
|
|
2575
|
-
handleMenuEvent
|
|
2576
|
-
};
|
|
2577
|
-
}
|
|
2578
|
-
const _hoisted_1$4 = /* @__PURE__ */ createElementVNode("i", { class: "block i ic:baseline-keyboard-arrow-down" }, null, -1);
|
|
2579
|
-
const _hoisted_2 = [
|
|
2580
|
-
_hoisted_1$4
|
|
2581
|
-
];
|
|
2582
|
-
const _hoisted_3 = { class: "text-13" };
|
|
2583
|
-
const _sfc_main$5 = /* @__PURE__ */ defineComponent({
|
|
2584
|
-
__name: "TabContent",
|
|
2585
|
-
setup(__props) {
|
|
2586
|
-
const { getDropMenuList, handleContext, handleMenuEvent } = useTabDropdown();
|
|
2587
|
-
return (_ctx, _cache) => {
|
|
2588
|
-
const _component_AMenuItem = MenuItem;
|
|
2589
|
-
const _component_AMenuDivider = MenuDivider;
|
|
2590
|
-
const _component_AMenu = Menu;
|
|
2591
|
-
const _component_ADropdown = Dropdown;
|
|
2592
|
-
return openBlock(), createBlock(_component_ADropdown, {
|
|
2593
|
-
placement: "bottomRight",
|
|
2594
|
-
trigger: ["click"],
|
|
2595
|
-
overlayClassName: "dt-reuse-tabs__dropdown"
|
|
2596
|
-
}, {
|
|
2597
|
-
overlay: withCtx(() => [
|
|
2598
|
-
createVNode(_component_AMenu, null, {
|
|
2599
|
-
default: withCtx(() => [
|
|
2600
|
-
(openBlock(true), createElementBlock(Fragment, null, renderList(unref(getDropMenuList), (item, index) => {
|
|
2601
|
-
return openBlock(), createElementBlock(Fragment, { key: index }, [
|
|
2602
|
-
createVNode(_component_AMenuItem, {
|
|
2603
|
-
onClick: ($event) => unref(handleMenuEvent)(item),
|
|
2604
|
-
disabled: item.disabled
|
|
2605
|
-
}, {
|
|
2606
|
-
default: withCtx(() => [
|
|
2607
|
-
createElementVNode("i", {
|
|
2608
|
-
class: normalizeClass(["i pr-4", item.icon])
|
|
2609
|
-
}, null, 2),
|
|
2610
|
-
createElementVNode("span", _hoisted_3, toDisplayString(item.text), 1)
|
|
2611
|
-
]),
|
|
2612
|
-
_: 2
|
|
2613
|
-
}, 1032, ["onClick", "disabled"]),
|
|
2614
|
-
item.divider ? (openBlock(), createBlock(_component_AMenuDivider, {
|
|
2615
|
-
key: `d-${index}`
|
|
2616
|
-
})) : createCommentVNode("", true)
|
|
2617
|
-
], 64);
|
|
2618
|
-
}), 128))
|
|
2619
|
-
]),
|
|
2620
|
-
_: 1
|
|
2621
|
-
})
|
|
2622
|
-
]),
|
|
2623
|
-
default: withCtx(() => [
|
|
2624
|
-
createElementVNode("span", {
|
|
2625
|
-
onClick: _cache[0] || (_cache[0] = (...args) => unref(handleContext) && unref(handleContext)(...args)),
|
|
2626
|
-
class: "inline-block w-9 h-9 leading-9 -mt-0.5 text-zinc-600 text-center cursor-pointer border-l border-zinc-300 hover:text-zinc-900"
|
|
2627
|
-
}, _hoisted_2)
|
|
2628
|
-
]),
|
|
2629
|
-
_: 1
|
|
2630
|
-
});
|
|
2631
|
-
};
|
|
2632
|
-
}
|
|
2633
|
-
});
|
|
2634
|
-
function initAffixTabs() {
|
|
2635
|
-
const affixList = ref([]);
|
|
2636
|
-
const tabStore = useRouteReuseStore();
|
|
2637
|
-
const router = useRouter();
|
|
2638
|
-
const filterAffixTabs = (routes = []) => {
|
|
2639
|
-
return routes && routes.reduce((tabs, route) => {
|
|
2640
|
-
if (route.meta && route.meta.affix) {
|
|
2641
|
-
tabs.push(toRaw(route));
|
|
2642
|
-
}
|
|
2643
|
-
return tabs;
|
|
2644
|
-
}, []);
|
|
2645
|
-
};
|
|
2646
|
-
const addAffixTabs = () => {
|
|
2647
|
-
const affixTabs = filterAffixTabs(router.getRoutes());
|
|
2648
|
-
affixList.value = affixTabs;
|
|
2649
|
-
for (const tab of affixTabs) {
|
|
2650
|
-
tabStore.addTab({
|
|
2651
|
-
meta: tab.meta,
|
|
2652
|
-
name: tab.name,
|
|
2653
|
-
path: tab.path
|
|
2654
|
-
});
|
|
2655
|
-
}
|
|
2656
|
-
};
|
|
2657
|
-
let isAddAffix = false;
|
|
2658
|
-
if (!isAddAffix) {
|
|
2659
|
-
addAffixTabs();
|
|
2660
|
-
isAddAffix = true;
|
|
2661
|
-
}
|
|
2662
|
-
return affixList.value.map((item) => item.meta?.title).filter(Boolean);
|
|
2663
|
-
}
|
|
2664
|
-
function useSortable(el, options) {
|
|
2665
|
-
function initSortable() {
|
|
2666
|
-
nextTick(async () => {
|
|
2667
|
-
if (!el)
|
|
2668
|
-
return;
|
|
2669
|
-
const Sortable = (await import("sortablejs")).default;
|
|
2670
|
-
Sortable.create(unref(el), {
|
|
2671
|
-
animation: 500,
|
|
2672
|
-
delay: 400,
|
|
2673
|
-
delayOnTouchOnly: true,
|
|
2674
|
-
...options
|
|
2675
|
-
});
|
|
2676
|
-
});
|
|
2677
|
-
}
|
|
2678
|
-
return { initSortable };
|
|
2679
|
-
}
|
|
2680
|
-
function useTabsDrag(affixList) {
|
|
2681
|
-
const tabStore = useRouteReuseStore();
|
|
2682
|
-
const { getCanDrag } = useMultipleTab();
|
|
2683
|
-
nextTick(() => {
|
|
2684
|
-
if (!unref(getCanDrag))
|
|
2685
|
-
return;
|
|
2686
|
-
const el = document.querySelectorAll(`.dt-reuse-tabs .ant-tabs-nav-list`)?.[0];
|
|
2687
|
-
const { initSortable } = useSortable(el, {
|
|
2688
|
-
filter: (e) => {
|
|
2689
|
-
const text = e?.target?.innerText;
|
|
2690
|
-
if (!text)
|
|
2691
|
-
return false;
|
|
2692
|
-
return affixList.includes(text);
|
|
2693
|
-
},
|
|
2694
|
-
onEnd: (evt) => {
|
|
2695
|
-
const { oldIndex, newIndex } = evt;
|
|
2696
|
-
if (isNullAndUnDef(oldIndex) || isNullAndUnDef(newIndex) || oldIndex === newIndex)
|
|
2697
|
-
return;
|
|
2698
|
-
tabStore.sortTabs(oldIndex, newIndex);
|
|
2699
|
-
}
|
|
2700
|
-
});
|
|
2701
|
-
initSortable();
|
|
2702
|
-
});
|
|
2703
|
-
}
|
|
2704
|
-
const _hoisted_1$3 = { class: "dt-reuse-tabs leading-8 border-b border-solid border-gray-200" };
|
|
2705
|
-
const _sfc_main$4 = /* @__PURE__ */ defineComponent({
|
|
2706
|
-
__name: "index",
|
|
2707
|
-
setup(__props) {
|
|
2708
|
-
const { t } = useI18n("UI");
|
|
2709
|
-
const router = useRouter();
|
|
2710
|
-
const go = useGo(router);
|
|
2711
|
-
const tabStore = useRouteReuseStore();
|
|
2712
|
-
const { getShowQuick, getShowRedo } = useMultipleTab();
|
|
2713
|
-
const menuLabelMap = menuList2Map();
|
|
2714
|
-
const activeKeyRef = ref(null);
|
|
2715
|
-
const getTabsState = computed(() => {
|
|
2716
|
-
return tabStore.getTabList.filter((item) => !item.meta?.hideTab);
|
|
2717
|
-
});
|
|
2718
|
-
const unClose = computed(() => unref(getTabsState).length === 1);
|
|
2719
|
-
function handleChange(activeKey) {
|
|
2720
|
-
activeKeyRef.value = activeKey;
|
|
2721
|
-
go(activeKey);
|
|
2722
|
-
}
|
|
2723
|
-
function handleEdit(targetKey) {
|
|
2724
|
-
if (unref(unClose))
|
|
2725
|
-
return;
|
|
2726
|
-
tabStore.closeTab(targetKey, router);
|
|
2727
|
-
}
|
|
2728
|
-
const affixTextList = initAffixTabs();
|
|
2729
|
-
useTabsDrag(affixTextList);
|
|
2730
|
-
watch(
|
|
2731
|
-
() => router.currentRoute.value.path,
|
|
2732
|
-
(v) => {
|
|
2733
|
-
if (v === "/" || v === "/login")
|
|
2734
|
-
return;
|
|
2735
|
-
const { meta = {} } = unref(router.currentRoute);
|
|
2736
|
-
const { hideTab = false } = meta;
|
|
2737
|
-
if (activeKeyRef.value !== v) {
|
|
2738
|
-
activeKeyRef.value = v;
|
|
2739
|
-
}
|
|
2740
|
-
if (!hideTab) {
|
|
2741
|
-
tabStore.addTab(unref(router.currentRoute));
|
|
2742
|
-
}
|
|
2743
|
-
},
|
|
2744
|
-
{
|
|
2745
|
-
immediate: true
|
|
2746
|
-
}
|
|
2747
|
-
);
|
|
2748
|
-
return (_ctx, _cache) => {
|
|
2749
|
-
const _component_ATabPane = TabPane;
|
|
2750
|
-
const _component_ATabs = Tabs;
|
|
2751
|
-
return openBlock(), createElementBlock("div", _hoisted_1$3, [
|
|
2752
|
-
createVNode(_component_ATabs, {
|
|
2753
|
-
type: "editable-card",
|
|
2754
|
-
size: "small",
|
|
2755
|
-
animated: false,
|
|
2756
|
-
hideAdd: true,
|
|
2757
|
-
tabBarGutter: 3,
|
|
2758
|
-
activeKey: activeKeyRef.value,
|
|
2759
|
-
onChange: handleChange,
|
|
2760
|
-
onEdit: handleEdit,
|
|
2761
|
-
class: "h-8"
|
|
2762
|
-
}, createSlots({
|
|
2763
|
-
default: withCtx(() => [
|
|
2764
|
-
(openBlock(true), createElementBlock(Fragment, null, renderList(unref(getTabsState), (item) => {
|
|
2765
|
-
return openBlock(), createBlock(_component_ATabPane, {
|
|
2766
|
-
key: item.query ? item.fullPath : item.path,
|
|
2767
|
-
closable: !(item && item.meta && item.meta.affix)
|
|
2768
|
-
}, {
|
|
2769
|
-
tab: withCtx(() => [
|
|
2770
|
-
createElementVNode("span", null, toDisplayString(unref(menuLabelMap).get(item.path) || unref(t)("UNKNOWN_ROUTE")), 1)
|
|
2771
|
-
]),
|
|
2772
|
-
_: 2
|
|
2773
|
-
}, 1032, ["closable"]);
|
|
2774
|
-
}), 128))
|
|
2775
|
-
]),
|
|
2776
|
-
_: 2
|
|
2777
|
-
}, [
|
|
2778
|
-
unref(getShowRedo) || unref(getShowQuick) ? {
|
|
2779
|
-
name: "rightExtra",
|
|
2780
|
-
fn: withCtx(() => [
|
|
2781
|
-
unref(getShowRedo) ? (openBlock(), createBlock(unref(_sfc_main$6), { key: 0 })) : createCommentVNode("", true),
|
|
2782
|
-
unref(getShowQuick) ? (openBlock(), createBlock(unref(_sfc_main$5), { key: 1 })) : createCommentVNode("", true)
|
|
2783
|
-
]),
|
|
2784
|
-
key: "0"
|
|
2785
|
-
} : void 0
|
|
2786
|
-
]), 1032, ["activeKey"])
|
|
2787
|
-
]);
|
|
3027
|
+
}, 16, ["class", "width", "collapsed", "collapsedWidth", "onBreakpoint", "theme", "trigger"]), [[vShow, unref(showClassSideBarRef)]])], 64));
|
|
2788
3028
|
};
|
|
2789
3029
|
}
|
|
2790
3030
|
});
|
|
@@ -2795,12 +3035,11 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
|
|
|
2795
3035
|
getHeaderHeight,
|
|
2796
3036
|
getFixed,
|
|
2797
3037
|
getShowFullHeaderRef,
|
|
2798
|
-
getHeaderTheme,
|
|
2799
3038
|
getShowInsetHeaderRef,
|
|
2800
3039
|
getTabsHeight
|
|
2801
3040
|
} = useHeader();
|
|
2802
|
-
const { getCalcContentWidth, getIsMixMode,
|
|
2803
|
-
const { getShowMultipleTab } = useMultipleTab();
|
|
3041
|
+
const { getCalcContentWidth, getIsMixMode, getSplit, getIsMixSidebar } = useMenu();
|
|
3042
|
+
const { getShowMultipleTab, getMultipleTabPosIsTop } = useMultipleTab();
|
|
2804
3043
|
const getPlaceholderDomStyle = computed(() => {
|
|
2805
3044
|
let height = unref(getHeaderHeight);
|
|
2806
3045
|
if (unref(getIsMixMode)) {
|
|
@@ -2816,7 +3055,9 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
|
|
|
2816
3055
|
const { menusRef } = useSplitMenu(getSplitType);
|
|
2817
3056
|
const getWrapStyle = computed(() => {
|
|
2818
3057
|
const style = {};
|
|
2819
|
-
if (unref(
|
|
3058
|
+
if (unref(getIsMixSidebar)) {
|
|
3059
|
+
style.width = useThemeStore().getMixSiderIsHasMenu ? unref(getCalcContentWidth) : "calc(100% - 80px)";
|
|
3060
|
+
} else if (unref(getSplit) && !unref(menusRef)?.length) {
|
|
2820
3061
|
style.width = "100%";
|
|
2821
3062
|
} else if (unref(getFixed)) {
|
|
2822
3063
|
style.width = unref(getCalcContentWidth);
|
|
@@ -2842,14 +3083,14 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
|
|
|
2842
3083
|
style: normalizeStyle(unref(getWrapStyle)),
|
|
2843
3084
|
class: normalizeClass(unref(getClass))
|
|
2844
3085
|
}, [
|
|
2845
|
-
unref(getShowInsetHeaderRef) ? (openBlock(), createBlock(_sfc_main$
|
|
2846
|
-
unref(getShowMultipleTab) ? (openBlock(), createBlock(_sfc_main$
|
|
3086
|
+
unref(getShowInsetHeaderRef) ? (openBlock(), createBlock(_sfc_main$8, { key: 0 })) : createCommentVNode("", true),
|
|
3087
|
+
unref(getShowMultipleTab) && !unref(getMultipleTabPosIsTop) ? (openBlock(), createBlock(_sfc_main$v, { key: 1 })) : createCommentVNode("", true)
|
|
2847
3088
|
], 6)
|
|
2848
3089
|
]);
|
|
2849
3090
|
};
|
|
2850
3091
|
}
|
|
2851
3092
|
});
|
|
2852
|
-
const _hoisted_1$
|
|
3093
|
+
const _hoisted_1$1 = { class: "pr-2.5" };
|
|
2853
3094
|
const _sfc_main$2 = /* @__PURE__ */ defineComponent({
|
|
2854
3095
|
__name: "index",
|
|
2855
3096
|
setup(__props) {
|
|
@@ -2870,7 +3111,7 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
|
|
|
2870
3111
|
style: normalizeStyle(unref(footerOptions))
|
|
2871
3112
|
}, {
|
|
2872
3113
|
default: withCtx(() => [
|
|
2873
|
-
createElementVNode("span", _hoisted_1$
|
|
3114
|
+
createElementVNode("span", _hoisted_1$1, toDisplayString(unref(title)), 1),
|
|
2874
3115
|
createElementVNode("span", null, toDisplayString(unref(subTitle)), 1)
|
|
2875
3116
|
]),
|
|
2876
3117
|
_: 1
|
|
@@ -2878,7 +3119,7 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
|
|
|
2878
3119
|
};
|
|
2879
3120
|
}
|
|
2880
3121
|
});
|
|
2881
|
-
const _hoisted_1
|
|
3122
|
+
const _hoisted_1 = ["loading"];
|
|
2882
3123
|
const _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
|
2883
3124
|
__name: "index",
|
|
2884
3125
|
setup(__props) {
|
|
@@ -2925,54 +3166,24 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
|
|
2925
3166
|
]),
|
|
2926
3167
|
_: 1
|
|
2927
3168
|
})
|
|
2928
|
-
], 10, _hoisted_1
|
|
3169
|
+
], 10, _hoisted_1);
|
|
2929
3170
|
};
|
|
2930
3171
|
}
|
|
2931
3172
|
});
|
|
2932
|
-
var commonjsGlobal = typeof globalThis !== "undefined" ? globalThis : typeof window !== "undefined" ? window : typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : {};
|
|
2933
|
-
var zhCn = { exports: {} };
|
|
2934
|
-
(function(module, exports) {
|
|
2935
|
-
!function(e, _) {
|
|
2936
|
-
module.exports = _(require$$0);
|
|
2937
|
-
}(commonjsGlobal, function(e) {
|
|
2938
|
-
function _(e2) {
|
|
2939
|
-
return e2 && "object" == typeof e2 && "default" in e2 ? e2 : { default: e2 };
|
|
2940
|
-
}
|
|
2941
|
-
var t = _(e), d = { name: "zh-cn", weekdays: "\u661F\u671F\u65E5_\u661F\u671F\u4E00_\u661F\u671F\u4E8C_\u661F\u671F\u4E09_\u661F\u671F\u56DB_\u661F\u671F\u4E94_\u661F\u671F\u516D".split("_"), weekdaysShort: "\u5468\u65E5_\u5468\u4E00_\u5468\u4E8C_\u5468\u4E09_\u5468\u56DB_\u5468\u4E94_\u5468\u516D".split("_"), weekdaysMin: "\u65E5_\u4E00_\u4E8C_\u4E09_\u56DB_\u4E94_\u516D".split("_"), months: "\u4E00\u6708_\u4E8C\u6708_\u4E09\u6708_\u56DB\u6708_\u4E94\u6708_\u516D\u6708_\u4E03\u6708_\u516B\u6708_\u4E5D\u6708_\u5341\u6708_\u5341\u4E00\u6708_\u5341\u4E8C\u6708".split("_"), monthsShort: "1\u6708_2\u6708_3\u6708_4\u6708_5\u6708_6\u6708_7\u6708_8\u6708_9\u6708_10\u6708_11\u6708_12\u6708".split("_"), ordinal: function(e2, _2) {
|
|
2942
|
-
return "W" === _2 ? e2 + "\u5468" : e2 + "\u65E5";
|
|
2943
|
-
}, weekStart: 1, yearStart: 4, formats: { LT: "HH:mm", LTS: "HH:mm:ss", L: "YYYY/MM/DD", LL: "YYYY\u5E74M\u6708D\u65E5", LLL: "YYYY\u5E74M\u6708D\u65E5Ah\u70B9mm\u5206", LLLL: "YYYY\u5E74M\u6708D\u65E5ddddAh\u70B9mm\u5206", l: "YYYY/M/D", ll: "YYYY\u5E74M\u6708D\u65E5", lll: "YYYY\u5E74M\u6708D\u65E5 HH:mm", llll: "YYYY\u5E74M\u6708D\u65E5dddd HH:mm" }, relativeTime: { future: "%s\u5185", past: "%s\u524D", s: "\u51E0\u79D2", m: "1 \u5206\u949F", mm: "%d \u5206\u949F", h: "1 \u5C0F\u65F6", hh: "%d \u5C0F\u65F6", d: "1 \u5929", dd: "%d \u5929", M: "1 \u4E2A\u6708", MM: "%d \u4E2A\u6708", y: "1 \u5E74", yy: "%d \u5E74" }, meridiem: function(e2, _2) {
|
|
2944
|
-
var t2 = 100 * e2 + _2;
|
|
2945
|
-
return t2 < 600 ? "\u51CC\u6668" : t2 < 900 ? "\u65E9\u4E0A" : t2 < 1100 ? "\u4E0A\u5348" : t2 < 1300 ? "\u4E2D\u5348" : t2 < 1800 ? "\u4E0B\u5348" : "\u665A\u4E0A";
|
|
2946
|
-
} };
|
|
2947
|
-
return t.default.locale(d, null, true), d;
|
|
2948
|
-
});
|
|
2949
|
-
})(zhCn);
|
|
2950
|
-
var esUs = { exports: {} };
|
|
2951
|
-
(function(module, exports) {
|
|
2952
|
-
!function(e, s) {
|
|
2953
|
-
module.exports = s(require$$0);
|
|
2954
|
-
}(commonjsGlobal, function(e) {
|
|
2955
|
-
function s(e2) {
|
|
2956
|
-
return e2 && "object" == typeof e2 && "default" in e2 ? e2 : { default: e2 };
|
|
2957
|
-
}
|
|
2958
|
-
var o = s(e), d = { name: "es-us", weekdays: "domingo_lunes_martes_mi\xE9rcoles_jueves_viernes_s\xE1bado".split("_"), weekdaysShort: "dom._lun._mar._mi\xE9._jue._vie._s\xE1b.".split("_"), weekdaysMin: "do_lu_ma_mi_ju_vi_s\xE1".split("_"), months: "enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre".split("_"), monthsShort: "ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic".split("_"), relativeTime: { future: "en %s", past: "hace %s", s: "unos segundos", m: "un minuto", mm: "%d minutos", h: "una hora", hh: "%d horas", d: "un d\xEDa", dd: "%d d\xEDas", M: "un mes", MM: "%d meses", y: "un a\xF1o", yy: "%d a\xF1os" }, ordinal: function(e2) {
|
|
2959
|
-
return e2 + "\xBA";
|
|
2960
|
-
}, formats: { LT: "h:mm A", LTS: "h:mm:ss A", L: "MM/DD/YYYY", LL: "D [de] MMMM [de] YYYY", LLL: "D [de] MMMM [de] YYYY h:mm A", LLLL: "dddd, D [de] MMMM [de] YYYY h:mm A" } };
|
|
2961
|
-
return o.default.locale(d, null, true), d;
|
|
2962
|
-
});
|
|
2963
|
-
})(esUs);
|
|
2964
|
-
const _hoisted_1 = { class: "dt-theme w-full h-full" };
|
|
2965
3173
|
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
2966
3174
|
__name: "index",
|
|
2967
3175
|
setup(__props) {
|
|
2968
3176
|
const { currentRoute } = useRouter();
|
|
2969
3177
|
const { getShowFullHeaderRef, getIsZH, getHeaderHeight, getUiSize } = useHeader();
|
|
2970
|
-
const { getSplit, getShowMenu, getShowSidebar } = useMenu();
|
|
3178
|
+
const { getSplit, getShowMenu, getShowSidebar, getIsMixSidebar } = useMenu();
|
|
2971
3179
|
const { getFooter, getShowFooter } = useTheme();
|
|
2972
3180
|
const { height } = unref(getFooter);
|
|
2973
|
-
|
|
3181
|
+
dayjs.locale(unref(getIsZH) ? "zh-cn" : "en");
|
|
2974
3182
|
const layoutClass = computed(() => {
|
|
2975
3183
|
let cls = "ant-layout";
|
|
3184
|
+
if (unref(getIsMixSidebar)) {
|
|
3185
|
+
cls += " ant-layout-has-sider";
|
|
3186
|
+
}
|
|
2976
3187
|
if (unref(getShowMenu)) {
|
|
2977
3188
|
cls += " flex flex-auto min-h-0 flex-row";
|
|
2978
3189
|
}
|
|
@@ -2995,7 +3206,9 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
2995
3206
|
return (_ctx, _cache) => {
|
|
2996
3207
|
const _component_ALayout = Layout;
|
|
2997
3208
|
const _component_AConfigProvider = ConfigProvider;
|
|
2998
|
-
return openBlock(), createElementBlock("div",
|
|
3209
|
+
return openBlock(), createElementBlock("div", {
|
|
3210
|
+
class: normalizeClass(["dt-theme w-full h-full", `dt-theme-${unref(getUiSize)}`])
|
|
3211
|
+
}, [
|
|
2999
3212
|
createVNode(_component_AConfigProvider, {
|
|
3000
3213
|
locale: unref(getIsZH) ? unref(zhCN) : unref(en),
|
|
3001
3214
|
"component-size": unref(getUiSize)
|
|
@@ -3006,8 +3219,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
3006
3219
|
class: "w-full h-full flex"
|
|
3007
3220
|
}, {
|
|
3008
3221
|
default: withCtx(() => [
|
|
3009
|
-
createVNode(_sfc_main$
|
|
3010
|
-
unref(getShowFullHeaderRef) ? (openBlock(), createBlock(_sfc_main$
|
|
3222
|
+
createVNode(_sfc_main$y),
|
|
3223
|
+
unref(getShowFullHeaderRef) ? (openBlock(), createBlock(_sfc_main$8, {
|
|
3011
3224
|
key: 0,
|
|
3012
3225
|
fixed: ""
|
|
3013
3226
|
})) : createCommentVNode("", true),
|
|
@@ -3016,8 +3229,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
3016
3229
|
style: normalizeStyle(unref(layoutOption))
|
|
3017
3230
|
}, {
|
|
3018
3231
|
default: withCtx(() => [
|
|
3019
|
-
unref(getShowSidebar) ? (openBlock(), createBlock(_sfc_main$
|
|
3020
|
-
createVNode(_component_ALayout, { class: "dt-theme-main flex w-full h-ful" }, {
|
|
3232
|
+
unref(getShowSidebar) ? (openBlock(), createBlock(_sfc_main$4, { key: 0 })) : createCommentVNode("", true),
|
|
3233
|
+
createVNode(_component_ALayout, { class: "dt-theme-main flex w-full h-ful transition-width duration-200" }, {
|
|
3021
3234
|
default: withCtx(() => [
|
|
3022
3235
|
createVNode(_sfc_main$3),
|
|
3023
3236
|
createVNode(_sfc_main$1, {
|
|
@@ -3036,7 +3249,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
3036
3249
|
]),
|
|
3037
3250
|
_: 1
|
|
3038
3251
|
}, 8, ["locale", "component-size"])
|
|
3039
|
-
]);
|
|
3252
|
+
], 2);
|
|
3040
3253
|
};
|
|
3041
3254
|
}
|
|
3042
3255
|
});
|
|
@@ -3123,7 +3336,7 @@ const EN = {
|
|
|
3123
3336
|
"NAV_MODE": "Navigation bar mode",
|
|
3124
3337
|
"PAGE_SHOW": "Interface Display",
|
|
3125
3338
|
"COPY": "Copy",
|
|
3126
|
-
"DRAWER_TIPS": "The function mainly real-time preview layout effect, more complete configuration in the
|
|
3339
|
+
"DRAWER_TIPS": "The function mainly real-time preview layout effect, more complete configuration in the src/core/Settings/theme.ts. The layout preview function will be turned off in production.",
|
|
3127
3340
|
"FULL": "Flow-based",
|
|
3128
3341
|
"FIXED": "Fixed width",
|
|
3129
3342
|
"BREAD_CURB": "Bread crumbs",
|
|
@@ -3247,7 +3460,9 @@ const ZH = {
|
|
|
3247
3460
|
const uiLang = (lang) => lang === Language.ZH ? ZH : EN;
|
|
3248
3461
|
const DtTheme = withInstall$1(_sfc_main);
|
|
3249
3462
|
export {
|
|
3463
|
+
ContentMode,
|
|
3250
3464
|
DtTheme,
|
|
3465
|
+
UiSize,
|
|
3251
3466
|
defaultThemeConf,
|
|
3252
3467
|
uiLang,
|
|
3253
3468
|
useRouteReuseStore,
|