@dt-frames/ui 2.0.3 → 2.0.4

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.
Files changed (44) hide show
  1. package/es/assets/locales/en.ts +1 -1
  2. package/es/components/curd/index.js +279 -269
  3. package/es/components/drawer/index.d.ts +1 -1
  4. package/es/components/drawer/index.js +27 -27
  5. package/es/components/drawer/src/index.d.ts +2 -3
  6. package/es/components/form/index.d.ts +20 -20
  7. package/es/components/form/index.js +91 -45
  8. package/es/components/form/index.less +206 -8
  9. package/es/components/form/src/components/FormItem.d.ts +3 -7
  10. package/es/components/form/src/components/formIcon.d.ts +14 -14
  11. package/es/components/form/src/components/formInputUseDialog.d.ts +8 -8
  12. package/es/components/form/src/enums/index.d.ts +1 -1
  13. package/es/components/form/src/index.d.ts +16 -16
  14. package/es/components/form/src/props.d.ts +2 -6
  15. package/es/components/form/src/types/form.type.d.ts +1 -1
  16. package/es/components/icons/index.less +5 -0
  17. package/es/components/modal/index.js +35 -34
  18. package/es/components/modal/index.less +10 -0
  19. package/es/components/modal/src/components/ModalFooter.d.ts +3 -3
  20. package/es/components/modal/src/index.d.ts +9 -9
  21. package/es/components/source/hooks/useSource.d.ts +14 -0
  22. package/es/components/source/index.js +66 -28
  23. package/es/components/source/types/source.type.d.ts +4 -8
  24. package/es/components/table/index.js +278 -215
  25. package/es/components/table/index.less +41 -14
  26. package/es/components/table/src/index.d.ts +20 -10
  27. package/es/components/table/src/props.d.ts +8 -4
  28. package/es/components/table/src/types/table.type.d.ts +4 -5
  29. package/es/theme/index.js +342 -120
  30. package/es/theme/index.less +150 -0
  31. package/es/theme/src/components/header/components/size.d.ts +5 -5
  32. package/es/theme/src/components/header/helper/menu-tree.d.ts +1 -0
  33. package/es/theme/src/components/header/index.d.ts +5 -5
  34. package/es/theme/src/components/header/multiple-header.d.ts +6 -7
  35. package/es/theme/src/components/sider/components/drag-bar.d.ts +1 -1
  36. package/es/theme/src/components/sider/components/sider-trigger.d.ts +0 -1
  37. package/es/theme/src/components/sider/index.d.ts +147 -3
  38. package/es/theme/src/components/sider/mix-sider.d.ts +146 -0
  39. package/es/theme/src/enums/theme.enum.d.ts +2 -1
  40. package/es/theme/src/hooks/useMenu.d.ts +5 -3
  41. package/es/theme/src/index.d.ts +159 -15
  42. package/es/theme/src/stores/theme.store.d.ts +3 -0
  43. package/es/theme/src/types/theme.type.d.ts +1 -0
  44. package/package.json +1 -3
package/es/theme/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { BackTop, Breadcrumb, Empty, InputSearch, Popover, Avatar, Tooltip, Select, Switch, Divider, Button, Drawer, MenuItem, SubMenu, Menu, LayoutHeader, LayoutSider, MenuDivider, Dropdown, TabPane, Tabs, 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, normalizeClass, normalizeStyle, withDirectives, toDisplayString, vShow, ref, watchEffect, createVNode, withCtx, Fragment, renderList, resolveDirective, getCurrentInstance, inject, onUnmounted, h, provide, onBeforeUnmount, resolveDynamicComponent, renderSlot, mergeProps, createTextVNode, watch, normalizeProps, guardReactiveProps, resolveComponent, reactive, toRef, withModifiers, createSlots, Transition, KeepAlive } from "vue";
4
+ import { toRaw, unref, computed, onMounted, nextTick, defineComponent, openBlock, createBlock, createCommentVNode, createElementBlock, createElementVNode, normalizeClass, normalizeStyle, withDirectives, toDisplayString, vShow, ref, watchEffect, createVNode, withCtx, Fragment, renderList, resolveDirective, getCurrentInstance, inject, onUnmounted, h, provide, onBeforeUnmount, resolveDynamicComponent, renderSlot, mergeProps, createTextVNode, watch, normalizeProps, guardReactiveProps, resolveComponent, reactive, toRef, withModifiers, Transition, createSlots, KeepAlive } from "vue";
5
5
  import { useRouter, RouterView } from "vue-router";
6
6
  import { DtCache, CacheKey, deepMerge, Pages, useGo, useRedo, Language, isObject, useTimeoutFn, useI18n, isBoolean, localeList, changeLocale, off, on, getParentSlots, isFunction, copyText, isUrl, openWindow, isNullAndUnDef, menuList2Map, useApp, withInstall as withInstall$1 } from "@dt-frames/core";
7
7
  import { defineStore } from "pinia";
@@ -35,6 +35,7 @@ var MenuType = /* @__PURE__ */ ((MenuType2) => {
35
35
  MenuType2["SIDE"] = "sidebar";
36
36
  MenuType2["TOP_MENU"] = "top-menu";
37
37
  MenuType2["MIX"] = "mix";
38
+ MenuType2["MIX_SIDEBAR"] = "mix-sidebar";
38
39
  return MenuType2;
39
40
  })(MenuType || {});
40
41
  var MenuMode = /* @__PURE__ */ ((MenuMode2) => {
@@ -92,7 +93,8 @@ const defaultThemeConf = {
92
93
  menuWidth: 240,
93
94
  trigger: true,
94
95
  type: MenuType.SIDE,
95
- mode: MenuMode.INLINE
96
+ mode: MenuMode.INLINE,
97
+ mixSideTrigger: "hover"
96
98
  },
97
99
  footerOptions: {
98
100
  show: false,
@@ -113,7 +115,8 @@ const useThemeStore = defineStore({
113
115
  id: "dt-theme",
114
116
  state: () => ({
115
117
  themeConf: DtCache.getLocal(CacheKey.THEME) ?? defaultThemeConf,
116
- pageLoading: false
118
+ pageLoading: false,
119
+ mixSiderHasSubMenu: false
117
120
  }),
118
121
  getters: {
119
122
  getThemeConf() {
@@ -133,6 +136,9 @@ const useThemeStore = defineStore({
133
136
  },
134
137
  getPageLoading() {
135
138
  return this.pageLoading;
139
+ },
140
+ getMixSiderIsHasMenu() {
141
+ return this.mixSiderHasSubMenu;
136
142
  }
137
143
  },
138
144
  actions: {
@@ -140,6 +146,9 @@ const useThemeStore = defineStore({
140
146
  let newThemeConf = deepMerge(this.themeConf, options);
141
147
  this.themeConf = deepMerge(defaultThemeConf, newThemeConf);
142
148
  DtCache.setLocal(CacheKey.THEME, this.themeConf);
149
+ },
150
+ setMixSiderIsHasMenu(val) {
151
+ this.mixSiderHasSubMenu = val;
143
152
  }
144
153
  }
145
154
  });
@@ -295,8 +304,18 @@ function useMenu() {
295
304
  const getIsMixMode = computed(() => {
296
305
  return unref(getMenuMode) === MenuMode.INLINE && unref(getMenuType) === MenuType.MIX;
297
306
  });
298
- const getMenuWidth = computed(() => unref(getIsMixMode) ? Number(getMenuConf.menuWidth) - 40 : getMenuConf.menuWidth);
299
- const getLogoWidth = computed(() => getMenuConf.menuWidth);
307
+ const getIsMixSidebar = computed(() => unref(getMenuType) === MenuType.MIX_SIDEBAR);
308
+ const getMenuWidth = computed(() => {
309
+ if (unref(getIsMixMode)) {
310
+ return Number(getMenuConf.menuWidth) - 40;
311
+ } else if (unref(getIsMixSidebar)) {
312
+ return Number(getMenuConf.menuWidth) - 10;
313
+ } else {
314
+ return Number(getMenuConf.menuWidth);
315
+ }
316
+ });
317
+ const getMixSideTrigger = computed(() => getMenuConf.mixSideTrigger);
318
+ const getLogoWidth = computed(() => unref(getIsMixSidebar) ? "80px" : getMenuConf.menuWidth);
300
319
  const getMenuType = computed(() => getMenuConf.type);
301
320
  const getIsTopMenu = computed(() => unref(getMenuType) === MenuType.TOP_MENU);
302
321
  const getMenuMode = computed(() => getMenuConf.mode);
@@ -338,7 +357,9 @@ function useMenu() {
338
357
  getRealWidth,
339
358
  getCalcContentWidth,
340
359
  getIsMixMode,
360
+ getIsMixSidebar,
341
361
  getCanDrag,
362
+ getMixSideTrigger,
342
363
  toggleCollapsed,
343
364
  setThemeStore
344
365
  };
@@ -371,12 +392,12 @@ function useHeader() {
371
392
  getMenuMode,
372
393
  getSplit,
373
394
  getIsTopMenu,
374
- getIsMixMode
395
+ getIsMixSidebar
375
396
  } = useMenu();
376
397
  const { getShowMultipleTab } = useMultipleTab();
377
398
  const getHeaderTheme = computed(() => getHeaderConf.theme);
378
399
  const getFixed = computed(() => getHeaderConf.fixed);
379
- const getShowHeaderLogo = computed(() => unref(getShowLogo) && !unref(getIsSidebarType));
400
+ const getShowHeaderLogo = computed(() => unref(getShowLogo) && !unref(getIsSidebarType) && !unref(getIsMixSidebar));
380
401
  const getShowSearch = computed(() => getHeaderConf.showSearch);
381
402
  const getShowHeaderTrigger = computed(() => {
382
403
  if (unref(getMenuType) === MenuType.TOP_MENU || !unref(getShowMenu) || unref(getMenuHidden)) {
@@ -394,7 +415,7 @@ function useHeader() {
394
415
  const getShowLocale = computed(() => getHeaderConf.showLocaleSwitch);
395
416
  const getShowSettingTheme = computed(() => getHeaderConf.showSettingTheme);
396
417
  const getShowFullHeaderRef = computed(() => {
397
- return !unref(getIsSidebarType) && !unref(getIsTopMenu);
418
+ return !unref(getIsSidebarType) && !unref(getIsMixSidebar) && !unref(getIsTopMenu);
398
419
  });
399
420
  const getHeaderHeight = computed(() => {
400
421
  let height = 0;
@@ -406,7 +427,7 @@ function useHeader() {
406
427
  });
407
428
  const getTabsHeight = computed(() => TABS_HEIGHT);
408
429
  const getShowInsetHeaderRef = computed(() => {
409
- return unref(getIsSidebarType) || unref(getIsTopMenu);
430
+ return unref(getIsSidebarType) || unref(getIsTopMenu) || unref(getIsMixSidebar);
410
431
  });
411
432
  const getShowBackToTop = computed(() => getHeaderConf.showBackToTop);
412
433
  const getIsZH = computed(() => {
@@ -502,6 +523,26 @@ function getFilterMenu(filter = "", flag = false) {
502
523
  getTargetMenus(DtCache.getLocal(CacheKey.MENUS)?.children);
503
524
  return _menus;
504
525
  }
526
+ function getParentTreeByPath(path) {
527
+ const _menus = DtCache.getLocal(CacheKey.MENUS)?.children || [];
528
+ let routes = [];
529
+ let getParentByPath = (menu, path2 = "") => {
530
+ if (menu.children && menu.children.length) {
531
+ menu.children.forEach((subMenu) => {
532
+ subMenu.parentMenus = [...menu.parentMenus].concat([subMenu]);
533
+ getParentByPath(subMenu, path2);
534
+ });
535
+ }
536
+ if (menu.url === path2) {
537
+ routes = menu.parentMenus;
538
+ }
539
+ };
540
+ _menus.forEach((menu) => {
541
+ menu.parentMenus = [menu];
542
+ getParentByPath(menu, path);
543
+ });
544
+ return routes.length ? routes[0] : { id: null, children: [], icon: "", label: "" };
545
+ }
505
546
  function useOpenKeys(menuState, menus, type) {
506
547
  async function setOpenKeys(path) {
507
548
  if (type === MenuType.TOP_MENU)
@@ -597,7 +638,7 @@ function useDragLine(siderRef, dragBarRef) {
597
638
  };
598
639
  }
599
640
  }
600
- const _sfc_main$y = /* @__PURE__ */ defineComponent({
641
+ const _sfc_main$z = /* @__PURE__ */ defineComponent({
601
642
  __name: "back-top",
602
643
  setup(__props) {
603
644
  const getTarget = () => document.getElementById("dt-layout-content");
@@ -612,15 +653,15 @@ const _sfc_main$y = /* @__PURE__ */ defineComponent({
612
653
  };
613
654
  }
614
655
  });
615
- const _sfc_main$x = /* @__PURE__ */ defineComponent({
656
+ const _sfc_main$y = /* @__PURE__ */ defineComponent({
616
657
  __name: "index",
617
658
  setup(__props) {
618
659
  return (_ctx, _cache) => {
619
- return openBlock(), createBlock(_sfc_main$y);
660
+ return openBlock(), createBlock(_sfc_main$z);
620
661
  };
621
662
  }
622
663
  });
623
- const _sfc_main$w = /* @__PURE__ */ defineComponent({
664
+ const _sfc_main$x = /* @__PURE__ */ defineComponent({
624
665
  __name: "fullscreen",
625
666
  setup(__props) {
626
667
  const { toggle, isFullscreen } = useFullscreen();
@@ -637,7 +678,7 @@ const _sfc_main$w = /* @__PURE__ */ defineComponent({
637
678
  }
638
679
  });
639
680
  const _hoisted_1$i = ["src"];
640
- const _sfc_main$v = /* @__PURE__ */ defineComponent({
681
+ const _sfc_main$w = /* @__PURE__ */ defineComponent({
641
682
  __name: "logo",
642
683
  props: {
643
684
  theme: { type: String, validator: (v) => ["light", "dark"].includes(v) },
@@ -666,7 +707,7 @@ const _sfc_main$v = /* @__PURE__ */ defineComponent({
666
707
  };
667
708
  }
668
709
  });
669
- const _sfc_main$u = /* @__PURE__ */ defineComponent({
710
+ const _sfc_main$v = /* @__PURE__ */ defineComponent({
670
711
  __name: "trigger",
671
712
  props: { theme: String },
672
713
  setup(__props) {
@@ -685,7 +726,7 @@ const _sfc_main$u = /* @__PURE__ */ defineComponent({
685
726
  }
686
727
  });
687
728
  const _hoisted_1$h = { class: "dt-breadcrumb" };
688
- const _sfc_main$t = /* @__PURE__ */ defineComponent({
729
+ const _sfc_main$u = /* @__PURE__ */ defineComponent({
689
730
  __name: "bread-crumb",
690
731
  setup(__props) {
691
732
  const { getIsZH } = useHeader();
@@ -713,12 +754,12 @@ const _hoisted_1$g = {
713
754
  key: 0,
714
755
  class: "dt-menu-filter h-7 pr-2"
715
756
  };
716
- const _hoisted_2$8 = ["onClick"];
717
- const _hoisted_3$5 = {
757
+ const _hoisted_2$9 = ["onClick"];
758
+ const _hoisted_3$6 = {
718
759
  key: 0,
719
760
  class: "flex items-center justify-center h-full overflow-hidden"
720
761
  };
721
- const _sfc_main$s = /* @__PURE__ */ defineComponent({
762
+ const _sfc_main$t = /* @__PURE__ */ defineComponent({
722
763
  __name: "menu-filter",
723
764
  setup(__props) {
724
765
  const { t } = useI18n("UI");
@@ -762,9 +803,9 @@ const _sfc_main$s = /* @__PURE__ */ defineComponent({
762
803
  return openBlock(), createElementBlock("p", {
763
804
  onClick: ($event) => navigation(menu.url),
764
805
  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);
806
+ }, toDisplayString(unref(getIsZH) ? menu.label : menu.enLabel), 9, _hoisted_2$9);
766
807
  }), 256)),
767
- !menuList.value.length ? (openBlock(), createElementBlock("div", _hoisted_3$5, [
808
+ !menuList.value.length ? (openBlock(), createElementBlock("div", _hoisted_3$6, [
768
809
  createVNode(_component_AEmpty, {
769
810
  description: "\u6682\u65E0\u6570\u636E",
770
811
  imageStyle: { width: "100%" }
@@ -787,15 +828,15 @@ const _sfc_main$s = /* @__PURE__ */ defineComponent({
787
828
  }
788
829
  });
789
830
  const _hoisted_1$f = { class: "lang m-0" };
790
- const _hoisted_2$7 = ["onClick"];
791
- const _hoisted_3$4 = {
831
+ const _hoisted_2$8 = ["onClick"];
832
+ const _hoisted_3$5 = {
792
833
  class: "pr-2",
793
834
  size: 16
794
835
  };
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" }, [
836
+ 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" }, [
796
837
  /* @__PURE__ */ createElementVNode("i", { class: "block i ic:baseline-language" })
797
838
  ], -1);
798
- const _sfc_main$r = /* @__PURE__ */ defineComponent({
839
+ const _sfc_main$s = /* @__PURE__ */ defineComponent({
799
840
  __name: "lang-picker",
800
841
  props: {
801
842
  reload: { type: Boolean }
@@ -829,16 +870,16 @@ const _sfc_main$r = /* @__PURE__ */ defineComponent({
829
870
  onClick: ($event) => toggleLang(it.event),
830
871
  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
872
  }, [
832
- withDirectives(createElementVNode("span", _hoisted_3$4, null, 512), [
873
+ withDirectives(createElementVNode("span", _hoisted_3$5, null, 512), [
833
874
  [_directive_icon, it.icon]
834
875
  ]),
835
876
  createElementVNode("span", null, toDisplayString(it.text), 1)
836
- ], 10, _hoisted_2$7);
877
+ ], 10, _hoisted_2$8);
837
878
  }), 256))
838
879
  ])
839
880
  ]),
840
881
  default: withCtx(() => [
841
- _hoisted_4$2
882
+ _hoisted_4$3
842
883
  ]),
843
884
  _: 1
844
885
  }, 8, ["visible"]);
@@ -984,7 +1025,7 @@ const Bar = defineComponent({
984
1025
  }
985
1026
  });
986
1027
  const _hoisted_1$e = { class: "scrollbar relative h-full overflow-hidden" };
987
- const _sfc_main$q = /* @__PURE__ */ defineComponent({
1028
+ const _sfc_main$r = /* @__PURE__ */ defineComponent({
988
1029
  __name: "scroll-bar",
989
1030
  props: {
990
1031
  wrapClass: {
@@ -1086,12 +1127,12 @@ const _sfc_main$q = /* @__PURE__ */ defineComponent({
1086
1127
  };
1087
1128
  }
1088
1129
  });
1089
- const _sfc_main$p = /* @__PURE__ */ defineComponent({
1130
+ const _sfc_main$q = /* @__PURE__ */ defineComponent({
1090
1131
  __name: "scroll-container",
1091
1132
  setup(__props) {
1092
1133
  const scrollbarRef = ref(null);
1093
1134
  return (_ctx, _cache) => {
1094
- return openBlock(), createBlock(_sfc_main$q, mergeProps({
1135
+ return openBlock(), createBlock(_sfc_main$r, mergeProps({
1095
1136
  ref_key: "scrollbarRef",
1096
1137
  ref: scrollbarRef
1097
1138
  }, _ctx.$attrs, { class: "w-full h-full" }), {
@@ -1103,7 +1144,7 @@ const _sfc_main$p = /* @__PURE__ */ defineComponent({
1103
1144
  };
1104
1145
  }
1105
1146
  });
1106
- const _sfc_main$o = /* @__PURE__ */ defineComponent({
1147
+ const _sfc_main$p = /* @__PURE__ */ defineComponent({
1107
1148
  __name: "slot-container",
1108
1149
  props: {
1109
1150
  template: {
@@ -1127,10 +1168,10 @@ const withInstall = (comp) => {
1127
1168
  };
1128
1169
  return comp;
1129
1170
  };
1130
- const DtScrollContainer = withInstall(_sfc_main$p);
1131
- const DtSlotContainer = withInstall(_sfc_main$o);
1171
+ const DtScrollContainer = withInstall(_sfc_main$q);
1172
+ const DtSlotContainer = withInstall(_sfc_main$p);
1132
1173
  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 _sfc_main$n = /* @__PURE__ */ defineComponent({
1174
+ const _sfc_main$o = /* @__PURE__ */ defineComponent({
1134
1175
  __name: "notify",
1135
1176
  setup(__props) {
1136
1177
  const slots = getParentSlots(null, "dt-theme");
@@ -1164,11 +1205,11 @@ const _sfc_main$n = /* @__PURE__ */ defineComponent({
1164
1205
  }
1165
1206
  });
1166
1207
  const _hoisted_1$c = { class: "lang m-0" };
1167
- const _hoisted_2$6 = ["onClick"];
1168
- 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" }, [
1208
+ const _hoisted_2$7 = ["onClick"];
1209
+ const _hoisted_3$4 = /* @__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
1210
  /* @__PURE__ */ createElementVNode("i", { class: "block i ic:baseline-format-size" })
1170
1211
  ], -1);
1171
- const _sfc_main$m = /* @__PURE__ */ defineComponent({
1212
+ const _sfc_main$n = /* @__PURE__ */ defineComponent({
1172
1213
  __name: "size",
1173
1214
  setup(__props) {
1174
1215
  const { t } = useI18n("UI");
@@ -1213,12 +1254,12 @@ const _sfc_main$m = /* @__PURE__ */ defineComponent({
1213
1254
  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
1255
  }, [
1215
1256
  createElementVNode("span", null, toDisplayString(it.text), 1)
1216
- ], 10, _hoisted_2$6);
1257
+ ], 10, _hoisted_2$7);
1217
1258
  }), 64))
1218
1259
  ])
1219
1260
  ]),
1220
1261
  default: withCtx(() => [
1221
- _hoisted_3$3
1262
+ _hoisted_3$4
1222
1263
  ]),
1223
1264
  _: 1
1224
1265
  }, 8, ["visible"]);
@@ -1226,14 +1267,14 @@ const _sfc_main$m = /* @__PURE__ */ defineComponent({
1226
1267
  }
1227
1268
  });
1228
1269
  const _hoisted_1$b = { class: "m-0" };
1229
- const _hoisted_2$5 = {
1270
+ const _hoisted_2$6 = {
1230
1271
  class: "pr-2",
1231
1272
  size: 16
1232
1273
  };
1233
- 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$1 = ["src"];
1235
- const _hoisted_5 = { class: "pl-2 text-13" };
1236
- const _sfc_main$l = /* @__PURE__ */ defineComponent({
1274
+ const _hoisted_3$3 = { 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" };
1275
+ const _hoisted_4$2 = ["src"];
1276
+ const _hoisted_5$1 = { class: "pl-2 text-13" };
1277
+ const _sfc_main$m = /* @__PURE__ */ defineComponent({
1237
1278
  __name: "user-info",
1238
1279
  setup(__props) {
1239
1280
  const { t } = useI18n("UI");
@@ -1268,7 +1309,7 @@ const _sfc_main$l = /* @__PURE__ */ defineComponent({
1268
1309
  onClick: _cache[0] || (_cache[0] = ($event) => signOut()),
1269
1310
  class: "px-4 my-1 leading-9 flex border-gray-200 cursor-pointer hover:bg-gray-100 transition-all duration-300 text-13"
1270
1311
  }, [
1271
- withDirectives(createElementVNode("span", _hoisted_2$5, null, 512), [
1312
+ withDirectives(createElementVNode("span", _hoisted_2$6, null, 512), [
1272
1313
  [_directive_icon, "ant-design:logout-outlined"]
1273
1314
  ]),
1274
1315
  createElementVNode("span", null, toDisplayString(unref(t)("LOGIN_OUT")), 1)
@@ -1276,14 +1317,14 @@ const _sfc_main$l = /* @__PURE__ */ defineComponent({
1276
1317
  ])
1277
1318
  ]),
1278
1319
  default: withCtx(() => [
1279
- createElementVNode("div", _hoisted_3$2, [
1320
+ createElementVNode("div", _hoisted_3$3, [
1280
1321
  createVNode(_component_AAvatar, { size: 28 }, {
1281
1322
  icon: withCtx(() => [
1282
- createElementVNode("img", { src: "/node_modules/@dt-frames/ui/es/assets/imgs/header/avatar.png" }, null, 8, _hoisted_4$1)
1323
+ createElementVNode("img", { src: "/node_modules/@dt-frames/ui/es/assets/imgs/header/avatar.png" }, null, 8, _hoisted_4$2)
1283
1324
  ]),
1284
1325
  _: 1
1285
1326
  }),
1286
- createElementVNode("span", _hoisted_5, toDisplayString(unref(getUserInfo)?.userNo), 1)
1327
+ createElementVNode("span", _hoisted_5$1, toDisplayString(unref(getUserInfo)?.userNo), 1)
1287
1328
  ])
1288
1329
  ]),
1289
1330
  _: 1
@@ -1389,12 +1430,12 @@ function changeTheme(event, value = {}) {
1389
1430
  useThemeStore().setThemeConf(conf);
1390
1431
  }
1391
1432
  const _hoisted_1$a = { class: "flex flex-row justify-center dt-menu-type" };
1392
- const _hoisted_2$4 = ["onClick"];
1393
- const _hoisted_3$1 = /* @__PURE__ */ createElementVNode("div", { class: "dt-menu-type__item" }, null, -1);
1394
- const _hoisted_4 = [
1395
- _hoisted_3$1
1433
+ const _hoisted_2$5 = ["onClick"];
1434
+ const _hoisted_3$2 = /* @__PURE__ */ createElementVNode("div", { class: "dt-menu-type__item" }, null, -1);
1435
+ const _hoisted_4$1 = [
1436
+ _hoisted_3$2
1396
1437
  ];
1397
- const _sfc_main$k = /* @__PURE__ */ defineComponent({
1438
+ const _sfc_main$l = /* @__PURE__ */ defineComponent({
1398
1439
  __name: "menu-type",
1399
1440
  setup(__props) {
1400
1441
  const { getMenuType, getMenuMode } = useMenu();
@@ -1422,6 +1463,14 @@ const _sfc_main$k = /* @__PURE__ */ defineComponent({
1422
1463
  mode: MenuMode.HORIZONTAL,
1423
1464
  type: MenuType.TOP_MENU,
1424
1465
  split: false
1466
+ },
1467
+ {
1468
+ title: "\u5DE6\u4FA7\u83DC\u5355\u6DF7\u5408\u6A21\u5F0F",
1469
+ headTheme: Theme.LIGHT,
1470
+ menuTheme: Theme.DARK,
1471
+ mode: MenuMode.INLINE,
1472
+ type: MenuType.MIX_SIDEBAR,
1473
+ split: false
1425
1474
  }
1426
1475
  ];
1427
1476
  function changeMenuType(item) {
@@ -1447,7 +1496,7 @@ const _sfc_main$k = /* @__PURE__ */ defineComponent({
1447
1496
  [`dt-menu-type__item--active`]: unref(getMenuType) === item.type && unref(getMenuMode) === item.mode
1448
1497
  }
1449
1498
  ])
1450
- }, _hoisted_4, 10, _hoisted_2$4)
1499
+ }, _hoisted_4$1, 10, _hoisted_2$5)
1451
1500
  ]),
1452
1501
  _: 2
1453
1502
  }, 1032, ["title"]);
@@ -1457,7 +1506,7 @@ const _sfc_main$k = /* @__PURE__ */ defineComponent({
1457
1506
  }
1458
1507
  });
1459
1508
  const _hoisted_1$9 = { class: "flex justify-between mb-5" };
1460
- const _sfc_main$j = /* @__PURE__ */ defineComponent({
1509
+ const _sfc_main$k = /* @__PURE__ */ defineComponent({
1461
1510
  __name: "select",
1462
1511
  props: {
1463
1512
  event: { type: Number },
@@ -1494,7 +1543,7 @@ const _sfc_main$j = /* @__PURE__ */ defineComponent({
1494
1543
  }
1495
1544
  });
1496
1545
  const _hoisted_1$8 = { class: "flex justify-between mb-5" };
1497
- const _sfc_main$i = /* @__PURE__ */ defineComponent({
1546
+ const _sfc_main$j = /* @__PURE__ */ defineComponent({
1498
1547
  __name: "switch",
1499
1548
  props: {
1500
1549
  event: {
@@ -1529,7 +1578,7 @@ const _sfc_main$i = /* @__PURE__ */ defineComponent({
1529
1578
  };
1530
1579
  }
1531
1580
  });
1532
- const _sfc_main$h = /* @__PURE__ */ defineComponent({
1581
+ const _sfc_main$i = /* @__PURE__ */ defineComponent({
1533
1582
  __name: "feature",
1534
1583
  setup(__props) {
1535
1584
  const { t } = useI18n("UI");
@@ -1605,7 +1654,7 @@ const _sfc_main$h = /* @__PURE__ */ defineComponent({
1605
1654
  return (_ctx, _cache) => {
1606
1655
  return openBlock(), createElementBlock(Fragment, null, [
1607
1656
  (openBlock(), createElementBlock(Fragment, null, renderList(switchItems, (item) => {
1608
- return createVNode(_sfc_main$i, {
1657
+ return createVNode(_sfc_main$j, {
1609
1658
  key: item.title,
1610
1659
  title: item.title,
1611
1660
  event: item.event,
@@ -1613,7 +1662,7 @@ const _sfc_main$h = /* @__PURE__ */ defineComponent({
1613
1662
  }, null, 8, ["title", "event", "def"]);
1614
1663
  }), 64)),
1615
1664
  (openBlock(), createElementBlock(Fragment, null, renderList(selectItems, (item) => {
1616
- return createVNode(_sfc_main$j, {
1665
+ return createVNode(_sfc_main$k, {
1617
1666
  key: item.title,
1618
1667
  title: item.title,
1619
1668
  event: item.event,
@@ -1626,8 +1675,8 @@ const _sfc_main$h = /* @__PURE__ */ defineComponent({
1626
1675
  }
1627
1676
  });
1628
1677
  const _hoisted_1$7 = { class: "mt-5" };
1629
- const _hoisted_2$3 = { class: "dt-setting-theme__tips p-3 text-12 bg-gray-100 rounded" };
1630
- const _sfc_main$g = /* @__PURE__ */ defineComponent({
1678
+ const _hoisted_2$4 = { class: "dt-setting-theme__tips p-3 text-12 bg-gray-100 rounded" };
1679
+ const _sfc_main$h = /* @__PURE__ */ defineComponent({
1631
1680
  __name: "setting-theme",
1632
1681
  setup(__props) {
1633
1682
  const { t } = useI18n("UI");
@@ -1735,14 +1784,14 @@ const _sfc_main$g = /* @__PURE__ */ defineComponent({
1735
1784
  ]),
1736
1785
  _: 1
1737
1786
  }),
1738
- createVNode(unref(_sfc_main$k)),
1787
+ createVNode(unref(_sfc_main$l)),
1739
1788
  createVNode(_component_ADivider, null, {
1740
1789
  default: withCtx(() => [
1741
1790
  createTextVNode(toDisplayString(unref(t)("PAGE_SHOW")), 1)
1742
1791
  ]),
1743
1792
  _: 1
1744
1793
  }),
1745
- createVNode(unref(_sfc_main$h)),
1794
+ createVNode(unref(_sfc_main$i)),
1746
1795
  createVNode(_component_ADivider),
1747
1796
  createElementVNode("div", _hoisted_1$7, [
1748
1797
  createVNode(_component_AButton, {
@@ -1767,7 +1816,7 @@ const _sfc_main$g = /* @__PURE__ */ defineComponent({
1767
1816
  _: 1
1768
1817
  })
1769
1818
  ]),
1770
- createElementVNode("div", _hoisted_2$3, toDisplayString(unref(t)("DRAWER_TIPS")), 1)
1819
+ createElementVNode("div", _hoisted_2$4, toDisplayString(unref(t)("DRAWER_TIPS")), 1)
1771
1820
  ]),
1772
1821
  _: 1
1773
1822
  }, 8, ["visible", "title"])
@@ -1942,7 +1991,7 @@ const contentProps = {
1942
1991
  },
1943
1992
  isSplitMenu: Boolean
1944
1993
  });
1945
- const _sfc_main$f = /* @__PURE__ */ defineComponent({
1994
+ const _sfc_main$g = /* @__PURE__ */ defineComponent({
1946
1995
  __name: "menu-item-content",
1947
1996
  props: contentProps,
1948
1997
  setup(__props) {
@@ -1959,7 +2008,7 @@ const _sfc_main$f = /* @__PURE__ */ defineComponent({
1959
2008
  };
1960
2009
  }
1961
2010
  });
1962
- const _sfc_main$e = /* @__PURE__ */ defineComponent({
2011
+ const _sfc_main$f = /* @__PURE__ */ defineComponent({
1963
2012
  __name: "basic-menu-item",
1964
2013
  props: ItemProp,
1965
2014
  setup(__props) {
@@ -1970,14 +2019,14 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
1970
2019
  key: _ctx.item.url
1971
2020
  }, {
1972
2021
  default: withCtx(() => [
1973
- createVNode(_sfc_main$f, normalizeProps(guardReactiveProps(props)), null, 16)
2022
+ createVNode(_sfc_main$g, normalizeProps(guardReactiveProps(props)), null, 16)
1974
2023
  ]),
1975
2024
  _: 1
1976
2025
  });
1977
2026
  };
1978
2027
  }
1979
2028
  });
1980
- const _sfc_main$d = /* @__PURE__ */ defineComponent({
2029
+ const _sfc_main$e = /* @__PURE__ */ defineComponent({
1981
2030
  __name: "basic-sub-menu-item",
1982
2031
  props: ItemProp,
1983
2032
  setup(__props) {
@@ -1994,14 +2043,14 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({
1994
2043
  const _component_BasicSubMenuItem = resolveComponent("BasicSubMenuItem", true);
1995
2044
  const _component_ASubMenu = SubMenu;
1996
2045
  return openBlock(), createElementBlock(Fragment, null, [
1997
- !menuHasChildren(unref(item)) && unref(getShowMenu) ? (openBlock(), createBlock(_sfc_main$e, normalizeProps(mergeProps({ key: 0 }, props)), null, 16)) : createCommentVNode("", true),
2046
+ !menuHasChildren(unref(item)) && unref(getShowMenu) ? (openBlock(), createBlock(_sfc_main$f, normalizeProps(mergeProps({ key: 0 }, props)), null, 16)) : createCommentVNode("", true),
1998
2047
  menuHasChildren(unref(item)) && unref(getShowMenu) ? (openBlock(), createBlock(_component_ASubMenu, {
1999
2048
  class: normalizeClass([unref(theme)]),
2000
2049
  key: unref(item).id,
2001
2050
  popupClassName: "app-top-menu-popup"
2002
2051
  }, {
2003
2052
  title: withCtx(() => [
2004
- createVNode(_sfc_main$f, mergeProps(props, { item: unref(item) }), null, 16, ["item"])
2053
+ createVNode(_sfc_main$g, mergeProps(props, { item: unref(item) }), null, 16, ["item"])
2005
2054
  ]),
2006
2055
  default: withCtx(() => [
2007
2056
  (openBlock(true), createElementBlock(Fragment, null, renderList(unref(item).children, (childrenItem) => {
@@ -2016,7 +2065,7 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({
2016
2065
  };
2017
2066
  }
2018
2067
  });
2019
- const _sfc_main$c = /* @__PURE__ */ defineComponent({
2068
+ const _sfc_main$d = /* @__PURE__ */ defineComponent({
2020
2069
  __name: "basic-menu",
2021
2070
  props: BasicMenu,
2022
2071
  emits: ["menuClick"],
@@ -2103,7 +2152,7 @@ const _sfc_main$c = /* @__PURE__ */ defineComponent({
2103
2152
  }, {
2104
2153
  default: withCtx(() => [
2105
2154
  (openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.items, (item) => {
2106
- return openBlock(), createBlock(_sfc_main$d, {
2155
+ return openBlock(), createBlock(_sfc_main$e, {
2107
2156
  key: item.id,
2108
2157
  item,
2109
2158
  theme: _ctx.theme,
@@ -2116,7 +2165,7 @@ const _sfc_main$c = /* @__PURE__ */ defineComponent({
2116
2165
  };
2117
2166
  }
2118
2167
  });
2119
- const _sfc_main$b = defineComponent({
2168
+ const _sfc_main$c = defineComponent({
2120
2169
  name: "LayoutMenu",
2121
2170
  props: {
2122
2171
  theme: String,
@@ -2187,7 +2236,7 @@ const _sfc_main$b = defineComponent({
2187
2236
  }
2188
2237
  if (!unref(getIsShowLogo))
2189
2238
  return null;
2190
- return createVNode(_sfc_main$v, {
2239
+ return createVNode(_sfc_main$w, {
2191
2240
  "showTitle": !unref(getCollapsed),
2192
2241
  "class": unref(getLogoClass),
2193
2242
  "theme": unref(getComputedTheme)
@@ -2212,7 +2261,7 @@ const _sfc_main$b = defineComponent({
2212
2261
  } = unref(getMenuProps);
2213
2262
  if (!menus || !menus.length)
2214
2263
  return null;
2215
- return createVNode(_sfc_main$c, mergeProps(menuProps, {
2264
+ return createVNode(_sfc_main$d, mergeProps(menuProps, {
2216
2265
  "isHorizontal": props.isHorizontal,
2217
2266
  "type": unref(getMenuType),
2218
2267
  "showLogo": unref(getIsShowLogo),
@@ -2228,11 +2277,11 @@ const _sfc_main$b = defineComponent({
2228
2277
  }
2229
2278
  });
2230
2279
  const _hoisted_1$6 = { class: "dt-header-left flex h-full items-center" };
2231
- const _hoisted_2$2 = {
2280
+ const _hoisted_2$3 = {
2232
2281
  key: 0,
2233
2282
  class: "flex-1 h-full min-w-0 items-center"
2234
2283
  };
2235
- const _sfc_main$a = /* @__PURE__ */ defineComponent({
2284
+ const _sfc_main$b = /* @__PURE__ */ defineComponent({
2236
2285
  __name: "index",
2237
2286
  props: {
2238
2287
  fixed: Boolean
@@ -2275,19 +2324,19 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
2275
2324
  }, {
2276
2325
  default: withCtx(() => [
2277
2326
  createElementVNode("div", _hoisted_1$6, [
2278
- unref(getShowHeaderLogo) ? (openBlock(), createBlock(unref(_sfc_main$v), {
2327
+ unref(getShowHeaderLogo) ? (openBlock(), createBlock(unref(_sfc_main$w), {
2279
2328
  key: 0,
2280
2329
  theme: unref(getHeaderTheme),
2281
2330
  class: "dt-header-logo"
2282
2331
  }, null, 8, ["theme"])) : createCommentVNode("", true),
2283
- unref(getShowHeaderTrigger) && !unref(getSplit) ? (openBlock(), createBlock(unref(_sfc_main$u), {
2332
+ unref(getShowHeaderTrigger) && !unref(getSplit) ? (openBlock(), createBlock(unref(_sfc_main$v), {
2284
2333
  key: 1,
2285
2334
  theme: unref(getHeaderTheme)
2286
2335
  }, null, 8, ["theme"])) : createCommentVNode("", true),
2287
- unref(getShowBread) ? (openBlock(), createBlock(unref(_sfc_main$t), { key: 2 })) : createCommentVNode("", true)
2336
+ unref(getShowBread) ? (openBlock(), createBlock(unref(_sfc_main$u), { key: 2 })) : createCommentVNode("", true)
2288
2337
  ]),
2289
- unref(getShowTopMenu) ? (openBlock(), createElementBlock("div", _hoisted_2$2, [
2290
- createVNode(_sfc_main$b, {
2338
+ unref(getShowTopMenu) ? (openBlock(), createElementBlock("div", _hoisted_2$3, [
2339
+ createVNode(_sfc_main$c, {
2291
2340
  isHorizontal: true,
2292
2341
  theme: unref(getHeaderTheme),
2293
2342
  splitType: unref(getSplitType),
@@ -2300,16 +2349,16 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
2300
2349
  "padding-right": unref(getShowSettingTheme) ? "" : "20px"
2301
2350
  })
2302
2351
  }, [
2303
- unref(getShowSearch) ? (openBlock(), createBlock(unref(_sfc_main$s), { key: 0 })) : createCommentVNode("", true),
2304
- unref(getShowNotice) ? (openBlock(), createBlock(unref(_sfc_main$n), { key: 1 })) : createCommentVNode("", true),
2305
- unref(getShowUiSize) ? (openBlock(), createBlock(unref(_sfc_main$m), { key: 2 })) : createCommentVNode("", true),
2306
- unref(getShowFullScreen) ? (openBlock(), createBlock(unref(_sfc_main$w), { key: 3 })) : createCommentVNode("", true),
2307
- unref(getShowLocale) ? (openBlock(), createBlock(unref(_sfc_main$r), {
2352
+ unref(getShowSearch) ? (openBlock(), createBlock(unref(_sfc_main$t), { key: 0 })) : createCommentVNode("", true),
2353
+ unref(getShowNotice) ? (openBlock(), createBlock(unref(_sfc_main$o), { key: 1 })) : createCommentVNode("", true),
2354
+ unref(getShowUiSize) ? (openBlock(), createBlock(unref(_sfc_main$n), { key: 2 })) : createCommentVNode("", true),
2355
+ unref(getShowFullScreen) ? (openBlock(), createBlock(unref(_sfc_main$x), { key: 3 })) : createCommentVNode("", true),
2356
+ unref(getShowLocale) ? (openBlock(), createBlock(unref(_sfc_main$s), {
2308
2357
  key: 4,
2309
2358
  reload: true
2310
2359
  })) : createCommentVNode("", true),
2311
- createVNode(unref(_sfc_main$l)),
2312
- unref(getShowSettingTheme) ? (openBlock(), createBlock(unref(_sfc_main$g), { key: 5 })) : createCommentVNode("", true)
2360
+ createVNode(unref(_sfc_main$m)),
2361
+ unref(getShowSettingTheme) ? (openBlock(), createBlock(unref(_sfc_main$h), { key: 5 })) : createCommentVNode("", true)
2313
2362
  ], 4)
2314
2363
  ]),
2315
2364
  _: 1
@@ -2344,7 +2393,7 @@ function useTrigger() {
2344
2393
  });
2345
2394
  return { getTriggerAttr, getShowTrigger };
2346
2395
  }
2347
- const _sfc_main$9 = /* @__PURE__ */ defineComponent({
2396
+ const _sfc_main$a = /* @__PURE__ */ defineComponent({
2348
2397
  __name: "sider-trigger",
2349
2398
  props: {
2350
2399
  type: {
@@ -2368,7 +2417,7 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
2368
2417
  };
2369
2418
  }
2370
2419
  });
2371
- const _sfc_main$8 = /* @__PURE__ */ defineComponent({
2420
+ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
2372
2421
  __name: "drag-bar",
2373
2422
  setup(__props) {
2374
2423
  const { getCollapsed, getCanDrag, getMenuWidth } = useMenu();
@@ -2394,6 +2443,169 @@ const _sfc_main$8 = /* @__PURE__ */ defineComponent({
2394
2443
  };
2395
2444
  }
2396
2445
  });
2446
+ const _hoisted_1$5 = { class: "dt-mix-sider__shallow-menu" };
2447
+ const _hoisted_2$2 = { class: "m-0" };
2448
+ const _hoisted_3$1 = { class: "dt-mix-sider__sub-shallow-menu" };
2449
+ const _hoisted_4 = { key: 0 };
2450
+ const _hoisted_5 = { class: "opacity-60 m-0 py-3 text-lg pt-6" };
2451
+ const _hoisted_6 = ["onClick"];
2452
+ const _hoisted_7 = { class: "m-0" };
2453
+ const _hoisted_8 = ["onClick"];
2454
+ const _hoisted_9 = { class: "m-0" };
2455
+ const _sfc_main$8 = /* @__PURE__ */ defineComponent({
2456
+ __name: "mix-sider",
2457
+ setup(__props) {
2458
+ const MENU_WIDTH = 80;
2459
+ const go = useGo();
2460
+ const { getMenuWidth, getMenuTheme, getMixSideTrigger } = useMenu();
2461
+ const { setMixSiderIsHasMenu } = useThemeStore();
2462
+ const menuModules = getShallowMenus();
2463
+ const activeId = ref("");
2464
+ const subMenus = ref([]);
2465
+ const getDomStyle = computed(() => setDomWidth(`${unref(subMenus)?.length ? unref(getMenuWidth) : MENU_WIDTH}px`));
2466
+ const getWrapStyle = computed(() => setDomWidth(`${MENU_WIDTH}px`));
2467
+ const getSubMenuStyle = computed(() => {
2468
+ return {
2469
+ width: `${unref(getMenuWidth) - MENU_WIDTH}px`,
2470
+ left: `${MENU_WIDTH}px`
2471
+ };
2472
+ });
2473
+ function setDomWidth(width) {
2474
+ return {
2475
+ width,
2476
+ minWidth: width,
2477
+ maxWidth: width,
2478
+ flex: `0 0 ${width}`,
2479
+ transition: "all 0.2s"
2480
+ };
2481
+ }
2482
+ const getMenuEvents = {
2483
+ onMouseleave: () => {
2484
+ setActive(currentRoute.value.path);
2485
+ }
2486
+ };
2487
+ const getItemEvents = (item) => {
2488
+ if (unref(getMixSideTrigger) === "hover") {
2489
+ return {
2490
+ onMouseenter: () => handleModuleClick(item.url, true),
2491
+ onClick: () => handleModuleClick(item.url)
2492
+ };
2493
+ }
2494
+ return {
2495
+ onClick: () => handleModuleClick(item.url)
2496
+ };
2497
+ };
2498
+ const { currentRoute = null } = useRouter();
2499
+ function setActive(path) {
2500
+ const pTree = getParentTreeByPath(path);
2501
+ activeId.value = pTree.id;
2502
+ subMenus.value = pTree.children;
2503
+ setMixSiderIsHasMenu(Boolean(pTree.children?.length));
2504
+ }
2505
+ function handleModuleClick(path, isHover = false) {
2506
+ setActive(path);
2507
+ if (!isHover) {
2508
+ go(path);
2509
+ }
2510
+ }
2511
+ watchEffect(() => {
2512
+ if (!currentRoute || currentRoute.value.path === "/")
2513
+ return;
2514
+ setActive(currentRoute.value.path);
2515
+ });
2516
+ return (_ctx, _cache) => {
2517
+ return openBlock(), createElementBlock(Fragment, null, [
2518
+ createElementVNode("div", {
2519
+ class: "h-full overflow-hidden",
2520
+ style: normalizeStyle(unref(getDomStyle))
2521
+ }, null, 4),
2522
+ createElementVNode("div", mergeProps({
2523
+ style: unref(getWrapStyle),
2524
+ class: ["dt-mix-sider fixed top-0 left-0 h-full overflow-hidden", unref(getMenuTheme)]
2525
+ }, getMenuEvents), [
2526
+ createVNode(_sfc_main$w, {
2527
+ showTitle: false,
2528
+ class: normalizeClass("justify-center z-10")
2529
+ }),
2530
+ createVNode(unref(DtScrollContainer), { class: "z-10" }, {
2531
+ default: withCtx(() => [
2532
+ createElementVNode("ul", _hoisted_1$5, [
2533
+ (openBlock(true), createElementBlock(Fragment, null, renderList(unref(menuModules), (item) => {
2534
+ return openBlock(), createElementBlock("li", mergeProps({
2535
+ key: item.id,
2536
+ class: ["py-3 cursor-pointer relative text-center", {
2537
+ "active-menu": item.id === activeId.value
2538
+ }]
2539
+ }, getItemEvents(item)), [
2540
+ createElementVNode("i", {
2541
+ class: normalizeClass(["i", item.icon])
2542
+ }, null, 2),
2543
+ createElementVNode("p", _hoisted_2$2, toDisplayString(item.label), 1)
2544
+ ], 16);
2545
+ }), 128))
2546
+ ])
2547
+ ]),
2548
+ _: 1
2549
+ }),
2550
+ createVNode(Transition, { name: "dt-mix-sider__animate" }, {
2551
+ default: withCtx(() => [
2552
+ subMenus.value?.length ? (openBlock(), createElementBlock("div", {
2553
+ key: 0,
2554
+ class: "fixed top-0 h-full sub-menu bg-white",
2555
+ style: normalizeStyle(unref(getSubMenuStyle))
2556
+ }, [
2557
+ createVNode(unref(DtScrollContainer), null, {
2558
+ default: withCtx(() => [
2559
+ createElementVNode("ul", _hoisted_3$1, [
2560
+ (openBlock(true), createElementBlock(Fragment, null, renderList(subMenus.value, (menu) => {
2561
+ return openBlock(), createElementBlock("li", {
2562
+ key: menu.id
2563
+ }, [
2564
+ menu.children?.length ? (openBlock(), createElementBlock("div", _hoisted_4, [
2565
+ createElementVNode("p", _hoisted_5, toDisplayString(menu.label), 1),
2566
+ createElementVNode("ul", null, [
2567
+ (openBlock(true), createElementBlock(Fragment, null, renderList(menu.children, (subMenu) => {
2568
+ return openBlock(), createElementBlock("li", {
2569
+ key: subMenu.id,
2570
+ class: normalizeClass(["flex cursor-pointer", {
2571
+ "active-menu": subMenu.url === unref(currentRoute).fullPath
2572
+ }]),
2573
+ onClick: ($event) => unref(go)(subMenu.url)
2574
+ }, [
2575
+ createElementVNode("i", {
2576
+ class: normalizeClass(["i opacity-50 pr-2", subMenu.icon])
2577
+ }, null, 2),
2578
+ createElementVNode("p", _hoisted_7, toDisplayString(subMenu.label), 1)
2579
+ ], 10, _hoisted_6);
2580
+ }), 128))
2581
+ ])
2582
+ ])) : (openBlock(), createElementBlock("div", {
2583
+ key: 1,
2584
+ class: normalizeClass(["sub-menu flex cursor-pointer", {
2585
+ "active-menu": menu.url === unref(currentRoute).fullPath
2586
+ }]),
2587
+ onClick: ($event) => unref(go)(menu.url)
2588
+ }, [
2589
+ createElementVNode("i", {
2590
+ class: normalizeClass(["i opacity-50 pr-2", menu.icon])
2591
+ }, null, 2),
2592
+ createElementVNode("p", _hoisted_9, toDisplayString(menu.label), 1)
2593
+ ], 10, _hoisted_8))
2594
+ ]);
2595
+ }), 128))
2596
+ ])
2597
+ ]),
2598
+ _: 1
2599
+ })
2600
+ ], 4)) : createCommentVNode("", true)
2601
+ ]),
2602
+ _: 1
2603
+ })
2604
+ ], 16)
2605
+ ], 64);
2606
+ };
2607
+ }
2608
+ });
2397
2609
  const _sfc_main$7 = /* @__PURE__ */ defineComponent({
2398
2610
  __name: "index",
2399
2611
  setup(__props) {
@@ -2405,7 +2617,8 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
2405
2617
  getCollapsed,
2406
2618
  getMenuTheme,
2407
2619
  getRealWidth,
2408
- getIsMixMode
2620
+ getIsMixMode,
2621
+ getIsMixSidebar
2409
2622
  } = useMenu();
2410
2623
  const {
2411
2624
  getCollapsedWidth,
@@ -2453,10 +2666,14 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
2453
2666
  const getMode = computed(() => {
2454
2667
  return unref(getSplit) ? MenuMode.INLINE : null;
2455
2668
  });
2456
- const renderTrigger = h(_sfc_main$9);
2669
+ const renderTrigger = h(_sfc_main$a);
2457
2670
  return (_ctx, _cache) => {
2458
2671
  const _component_ALayoutSider = LayoutSider;
2459
- return openBlock(), createElementBlock(Fragment, null, [unref(getMenuFixed) ? withDirectives((openBlock(), createElementBlock("div", {
2672
+ return unref(getIsMixSidebar) ? (openBlock(), createBlock(_sfc_main$8, {
2673
+ key: 0
2674
+ })) : (openBlock(), createElementBlock(Fragment, {
2675
+ key: 1
2676
+ }, [unref(getMenuFixed) ? withDirectives((openBlock(), createElementBlock("div", {
2460
2677
  key: 0,
2461
2678
  style: normalizeStyle(unref(hiddenDomStyle))
2462
2679
  }, null, 4)), [[vShow, unref(showClassSideBarRef)]]) : createCommentVNode("", true), withDirectives(createVNode(_component_ALayoutSider, mergeProps({
@@ -2472,22 +2689,22 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
2472
2689
  theme: unref(getMenuTheme),
2473
2690
  trigger: unref(renderTrigger)
2474
2691
  }, unref(getTriggerAttr)), {
2475
- default: withCtx(() => [createVNode(_sfc_main$b, {
2692
+ default: withCtx(() => [createVNode(_sfc_main$c, {
2476
2693
  theme: unref(getMenuTheme),
2477
2694
  menuMode: unref(getMode),
2478
2695
  splitType: unref(getSplitType)
2479
- }, null, 8, ["theme", "menuMode", "splitType"]), createVNode(_sfc_main$8, {
2696
+ }, null, 8, ["theme", "menuMode", "splitType"]), createVNode(_sfc_main$9, {
2480
2697
  ref_key: "dragBarRef",
2481
2698
  ref: dragBarRef
2482
2699
  }, null, 512)]),
2483
2700
  _: 1
2484
- }, 16, ["class", "width", "collapsed", "collapsedWidth", "onBreakpoint", "theme", "trigger"]), [[vShow, unref(showClassSideBarRef)]])], 64);
2701
+ }, 16, ["class", "width", "collapsed", "collapsedWidth", "onBreakpoint", "theme", "trigger"]), [[vShow, unref(showClassSideBarRef)]])], 64));
2485
2702
  };
2486
2703
  }
2487
2704
  });
2488
- const _hoisted_1$5 = /* @__PURE__ */ createElementVNode("i", { class: "block i ic:baseline-autorenew" }, null, -1);
2705
+ const _hoisted_1$4 = /* @__PURE__ */ createElementVNode("i", { class: "block i ic:baseline-autorenew" }, null, -1);
2489
2706
  const _hoisted_2$1 = [
2490
- _hoisted_1$5
2707
+ _hoisted_1$4
2491
2708
  ];
2492
2709
  const _sfc_main$6 = /* @__PURE__ */ defineComponent({
2493
2710
  __name: "TabRedo",
@@ -2575,9 +2792,9 @@ function useTabDropdown() {
2575
2792
  handleMenuEvent
2576
2793
  };
2577
2794
  }
2578
- const _hoisted_1$4 = /* @__PURE__ */ createElementVNode("i", { class: "block i ic:baseline-keyboard-arrow-down" }, null, -1);
2795
+ const _hoisted_1$3 = /* @__PURE__ */ createElementVNode("i", { class: "block i ic:baseline-keyboard-arrow-down" }, null, -1);
2579
2796
  const _hoisted_2 = [
2580
- _hoisted_1$4
2797
+ _hoisted_1$3
2581
2798
  ];
2582
2799
  const _hoisted_3 = { class: "text-13" };
2583
2800
  const _sfc_main$5 = /* @__PURE__ */ defineComponent({
@@ -2701,7 +2918,7 @@ function useTabsDrag(affixList) {
2701
2918
  initSortable();
2702
2919
  });
2703
2920
  }
2704
- const _hoisted_1$3 = { class: "dt-reuse-tabs leading-8 border-b border-solid border-gray-200" };
2921
+ const _hoisted_1$2 = { class: "dt-reuse-tabs leading-8 border-b border-solid border-gray-200" };
2705
2922
  const _sfc_main$4 = /* @__PURE__ */ defineComponent({
2706
2923
  __name: "index",
2707
2924
  setup(__props) {
@@ -2748,7 +2965,7 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
2748
2965
  return (_ctx, _cache) => {
2749
2966
  const _component_ATabPane = TabPane;
2750
2967
  const _component_ATabs = Tabs;
2751
- return openBlock(), createElementBlock("div", _hoisted_1$3, [
2968
+ return openBlock(), createElementBlock("div", _hoisted_1$2, [
2752
2969
  createVNode(_component_ATabs, {
2753
2970
  type: "editable-card",
2754
2971
  size: "small",
@@ -2795,11 +3012,10 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
2795
3012
  getHeaderHeight,
2796
3013
  getFixed,
2797
3014
  getShowFullHeaderRef,
2798
- getHeaderTheme,
2799
3015
  getShowInsetHeaderRef,
2800
3016
  getTabsHeight
2801
3017
  } = useHeader();
2802
- const { getCalcContentWidth, getIsMixMode, getIsTopMenu, getSplit } = useMenu();
3018
+ const { getCalcContentWidth, getIsMixMode, getSplit, getIsMixSidebar } = useMenu();
2803
3019
  const { getShowMultipleTab } = useMultipleTab();
2804
3020
  const getPlaceholderDomStyle = computed(() => {
2805
3021
  let height = unref(getHeaderHeight);
@@ -2816,7 +3032,9 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
2816
3032
  const { menusRef } = useSplitMenu(getSplitType);
2817
3033
  const getWrapStyle = computed(() => {
2818
3034
  const style = {};
2819
- if (unref(getSplit) && !unref(menusRef)?.length) {
3035
+ if (unref(getIsMixSidebar)) {
3036
+ style.width = useThemeStore().getMixSiderIsHasMenu ? unref(getCalcContentWidth) : "calc(100% - 80px)";
3037
+ } else if (unref(getSplit) && !unref(menusRef)?.length) {
2820
3038
  style.width = "100%";
2821
3039
  } else if (unref(getFixed)) {
2822
3040
  style.width = unref(getCalcContentWidth);
@@ -2842,14 +3060,14 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
2842
3060
  style: normalizeStyle(unref(getWrapStyle)),
2843
3061
  class: normalizeClass(unref(getClass))
2844
3062
  }, [
2845
- unref(getShowInsetHeaderRef) ? (openBlock(), createBlock(_sfc_main$a, { key: 0 })) : createCommentVNode("", true),
3063
+ unref(getShowInsetHeaderRef) ? (openBlock(), createBlock(_sfc_main$b, { key: 0 })) : createCommentVNode("", true),
2846
3064
  unref(getShowMultipleTab) ? (openBlock(), createBlock(_sfc_main$4, { key: 1 })) : createCommentVNode("", true)
2847
3065
  ], 6)
2848
3066
  ]);
2849
3067
  };
2850
3068
  }
2851
3069
  });
2852
- const _hoisted_1$2 = { class: "pr-2.5" };
3070
+ const _hoisted_1$1 = { class: "pr-2.5" };
2853
3071
  const _sfc_main$2 = /* @__PURE__ */ defineComponent({
2854
3072
  __name: "index",
2855
3073
  setup(__props) {
@@ -2870,7 +3088,7 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
2870
3088
  style: normalizeStyle(unref(footerOptions))
2871
3089
  }, {
2872
3090
  default: withCtx(() => [
2873
- createElementVNode("span", _hoisted_1$2, toDisplayString(unref(title)), 1),
3091
+ createElementVNode("span", _hoisted_1$1, toDisplayString(unref(title)), 1),
2874
3092
  createElementVNode("span", null, toDisplayString(unref(subTitle)), 1)
2875
3093
  ]),
2876
3094
  _: 1
@@ -2878,7 +3096,7 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
2878
3096
  };
2879
3097
  }
2880
3098
  });
2881
- const _hoisted_1$1 = ["loading"];
3099
+ const _hoisted_1 = ["loading"];
2882
3100
  const _sfc_main$1 = /* @__PURE__ */ defineComponent({
2883
3101
  __name: "index",
2884
3102
  setup(__props) {
@@ -2925,7 +3143,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
2925
3143
  ]),
2926
3144
  _: 1
2927
3145
  })
2928
- ], 10, _hoisted_1$1);
3146
+ ], 10, _hoisted_1);
2929
3147
  };
2930
3148
  }
2931
3149
  });
@@ -2961,18 +3179,20 @@ var esUs = { exports: {} };
2961
3179
  return o.default.locale(d, null, true), d;
2962
3180
  });
2963
3181
  })(esUs);
2964
- const _hoisted_1 = { class: "dt-theme w-full h-full" };
2965
3182
  const _sfc_main = /* @__PURE__ */ defineComponent({
2966
3183
  __name: "index",
2967
3184
  setup(__props) {
2968
3185
  const { currentRoute } = useRouter();
2969
3186
  const { getShowFullHeaderRef, getIsZH, getHeaderHeight, getUiSize } = useHeader();
2970
- const { getSplit, getShowMenu, getShowSidebar } = useMenu();
3187
+ const { getSplit, getShowMenu, getShowSidebar, getIsMixSidebar } = useMenu();
2971
3188
  const { getFooter, getShowFooter } = useTheme();
2972
3189
  const { height } = unref(getFooter);
2973
3190
  require$$0.locale(unref(getIsZH) ? "zh-cn" : "en");
2974
3191
  const layoutClass = computed(() => {
2975
3192
  let cls = "ant-layout";
3193
+ if (unref(getIsMixSidebar)) {
3194
+ cls += " ant-layout-has-sider";
3195
+ }
2976
3196
  if (unref(getShowMenu)) {
2977
3197
  cls += " flex flex-auto min-h-0 flex-row";
2978
3198
  }
@@ -2995,7 +3215,9 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
2995
3215
  return (_ctx, _cache) => {
2996
3216
  const _component_ALayout = Layout;
2997
3217
  const _component_AConfigProvider = ConfigProvider;
2998
- return openBlock(), createElementBlock("div", _hoisted_1, [
3218
+ return openBlock(), createElementBlock("div", {
3219
+ class: normalizeClass(["dt-theme w-full h-full", `dt-theme-${unref(getUiSize)}`])
3220
+ }, [
2999
3221
  createVNode(_component_AConfigProvider, {
3000
3222
  locale: unref(getIsZH) ? unref(zhCN) : unref(en),
3001
3223
  "component-size": unref(getUiSize)
@@ -3006,8 +3228,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
3006
3228
  class: "w-full h-full flex"
3007
3229
  }, {
3008
3230
  default: withCtx(() => [
3009
- createVNode(_sfc_main$x),
3010
- unref(getShowFullHeaderRef) ? (openBlock(), createBlock(_sfc_main$a, {
3231
+ createVNode(_sfc_main$y),
3232
+ unref(getShowFullHeaderRef) ? (openBlock(), createBlock(_sfc_main$b, {
3011
3233
  key: 0,
3012
3234
  fixed: ""
3013
3235
  })) : createCommentVNode("", true),
@@ -3017,7 +3239,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
3017
3239
  }, {
3018
3240
  default: withCtx(() => [
3019
3241
  unref(getShowSidebar) ? (openBlock(), createBlock(_sfc_main$7, { key: 0 })) : createCommentVNode("", true),
3020
- createVNode(_component_ALayout, { class: "dt-theme-main flex w-full h-ful" }, {
3242
+ createVNode(_component_ALayout, { class: "dt-theme-main flex w-full h-ful transition-width duration-200" }, {
3021
3243
  default: withCtx(() => [
3022
3244
  createVNode(_sfc_main$3),
3023
3245
  createVNode(_sfc_main$1, {
@@ -3036,7 +3258,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
3036
3258
  ]),
3037
3259
  _: 1
3038
3260
  }, 8, ["locale", "component-size"])
3039
- ]);
3261
+ ], 2);
3040
3262
  };
3041
3263
  }
3042
3264
  });
@@ -3123,7 +3345,7 @@ const EN = {
3123
3345
  "NAV_MODE": "Navigation bar mode",
3124
3346
  "PAGE_SHOW": "Interface Display",
3125
3347
  "COPY": "Copy",
3126
- "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.",
3348
+ "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
3349
  "FULL": "Flow-based",
3128
3350
  "FIXED": "Fixed width",
3129
3351
  "BREAD_CURB": "Bread crumbs",