@ditari/bsui 5.0.6 → 5.0.7

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 (34) hide show
  1. package/dist/cjs/components/layout/Layout.vue2.cjs +2 -1
  2. package/dist/cjs/components/layout/Layout.vue2.cjs.map +1 -1
  3. package/dist/cjs/components/layout/Show.cjs +17 -2
  4. package/dist/cjs/components/layout/Show.cjs.map +1 -1
  5. package/dist/cjs/components/layout/components/layout/HeaderLayout.vue2.cjs +3 -2
  6. package/dist/cjs/components/layout/components/layout/HeaderLayout.vue2.cjs.map +1 -1
  7. package/dist/cjs/components/layout/components/menu/Menu.cjs +15 -11
  8. package/dist/cjs/components/layout/components/menu/Menu.cjs.map +1 -1
  9. package/dist/cjs/components/tab/Search.cjs +15 -6
  10. package/dist/cjs/components/tab/Search.cjs.map +1 -1
  11. package/dist/cjs/components/tab/Tab.vue2.cjs +0 -1
  12. package/dist/cjs/components/tab/Tab.vue2.cjs.map +1 -1
  13. package/dist/esm/components/layout/Layout.vue2.mjs +2 -1
  14. package/dist/esm/components/layout/Layout.vue2.mjs.map +1 -1
  15. package/dist/esm/components/layout/Show.mjs +18 -3
  16. package/dist/esm/components/layout/Show.mjs.map +1 -1
  17. package/dist/esm/components/layout/components/layout/HeaderLayout.vue2.mjs +3 -2
  18. package/dist/esm/components/layout/components/layout/HeaderLayout.vue2.mjs.map +1 -1
  19. package/dist/esm/components/layout/components/menu/Menu.mjs +16 -12
  20. package/dist/esm/components/layout/components/menu/Menu.mjs.map +1 -1
  21. package/dist/esm/components/tab/Search.mjs +15 -6
  22. package/dist/esm/components/tab/Search.mjs.map +1 -1
  23. package/dist/esm/components/tab/Tab.vue2.mjs +0 -1
  24. package/dist/esm/components/tab/Tab.vue2.mjs.map +1 -1
  25. package/dist/types/components/layout/Layout.vue.d.ts +6 -2
  26. package/dist/types/components/layout/Layout.vue.d.ts.map +1 -1
  27. package/dist/types/components/layout/Show.d.ts.map +1 -1
  28. package/dist/types/components/layout/components/layout/HeaderLayout.vue.d.ts +4 -2
  29. package/dist/types/components/layout/components/layout/HeaderLayout.vue.d.ts.map +1 -1
  30. package/dist/types/components/layout/components/menu/Menu.d.ts.map +1 -1
  31. package/dist/types/components/tab/Search.d.ts.map +1 -1
  32. package/dist/types/components/tab/Tab.vue.d.ts +2 -2
  33. package/dist/types/components/tab/Tab.vue.d.ts.map +1 -1
  34. package/package.json +3 -3
@@ -1,6 +1,6 @@
1
1
  import { defineComponent, computed, createVNode, ref } from 'vue';
2
2
  import { useRoute, useRouter } from 'vue-router';
3
- import { Flex, PageHeader } from 'ant-design-vue';
3
+ import { theme, Flex, PageHeader } from 'ant-design-vue';
4
4
  import { storeToRefs } from 'pinia';
5
5
  import { useWindowScroll } from '@vueuse/core';
6
6
  import { LeftOutlined } from '@ant-design/icons-vue';
@@ -24,7 +24,14 @@ const show = /* @__PURE__ */ defineComponent({
24
24
  expose
25
25
  }) {
26
26
  const {
27
- layout
27
+ useToken
28
+ } = theme;
29
+ const {
30
+ token
31
+ } = useToken();
32
+ const {
33
+ layout,
34
+ refresh
28
35
  } = storeToRefs(useAppStore());
29
36
  const {
30
37
  deleteTabs
@@ -40,10 +47,12 @@ const show = /* @__PURE__ */ defineComponent({
40
47
  z-index: 10;
41
48
  padding: 4px 24px;
42
49
  transition: all 0.3s;
50
+ background-color: ${token.value.colorBgLayout};
43
51
 
44
- ${y.value > 0 ? "box-shadow: 6px 0 10px rgba(0, 0, 0, 0.15);" : ""}
52
+ ${y.value > 0 ? "box-shadow:0 10px 10px rgba(0, 0, 0, 0.15);" : ""}
45
53
  .ant-page-header-back {
46
54
  height: 100%;
55
+ margin-right: 0;
47
56
 
48
57
  .ant-page-header-back-button {
49
58
  height: 100%;
@@ -53,6 +62,10 @@ const show = /* @__PURE__ */ defineComponent({
53
62
  justify-content: center;
54
63
  }
55
64
  }
65
+
66
+ .ant-page-header-heading-title {
67
+ font-size: 14px;
68
+ }
56
69
  `);
57
70
  const contentStyle = computed(() => css`
58
71
  padding: 10px 10px ${slots.footer ? "70px" : "0"};
@@ -79,6 +92,7 @@ const show = /* @__PURE__ */ defineComponent({
79
92
  }
80
93
  };
81
94
  const onClosePage = () => {
95
+ refresh.value = true;
82
96
  deleteTabs(route.fullPath);
83
97
  router.go(-1);
84
98
  };
@@ -91,6 +105,7 @@ const show = /* @__PURE__ */ defineComponent({
91
105
  default: () => {
92
106
  var _a, _b;
93
107
  return [createVNode(PageHeader, {
108
+ "ghost": ghost.value,
94
109
  "class": pageHeaderStyle.value,
95
110
  "onBack": () => onBack(),
96
111
  "title": pageTitle()
@@ -1 +1 @@
1
- {"version":3,"file":"Show.mjs","sources":["../../../../src/components/layout/Show.tsx"],"sourcesContent":["import { computed, defineComponent, ref } from \"vue\";\r\nimport { useRoute, useRouter } from \"vue-router\";\r\nimport { Flex, PageHeader } from \"ant-design-vue\";\r\nimport { storeToRefs } from \"pinia\";\r\nimport { useWindowScroll } from \"@vueuse/core\";\r\n\r\nimport { LeftOutlined } from \"@ant-design/icons-vue\";\r\nimport { useAppStore, useNavTabStore } from \"@ditari/store\";\r\nimport { css } from \"@emotion/css\";\r\n\r\nconst getProps = () => {\r\n return {\r\n close: {\r\n type: Boolean,\r\n default: false\r\n }\r\n };\r\n};\r\nconst show = defineComponent({\r\n name: \"DShowLayout\",\r\n props: getProps(),\r\n setup(props, { slots, expose }) {\r\n const { layout } = storeToRefs(useAppStore());\r\n const { deleteTabs } = useNavTabStore();\r\n const route = useRoute();\r\n const router = useRouter();\r\n\r\n const { y } = useWindowScroll();\r\n\r\n const pageHeaderStyle = computed(\r\n () => css`\r\n position: sticky;\r\n top: ${layout.value.headerHeight}px;\r\n z-index: 10;\r\n padding: 4px 24px;\r\n transition: all 0.3s;\r\n\r\n ${y.value > 0 ? \"box-shadow: 6px 0 10px rgba(0, 0, 0, 0.15);\" : \"\"}\r\n .ant-page-header-back {\r\n height: 100%;\r\n\r\n .ant-page-header-back-button {\r\n height: 100%;\r\n padding: 0 6px !important;\r\n display: flex !important;\r\n align-items: center;\r\n justify-content: center;\r\n }\r\n }\r\n `\r\n );\r\n const contentStyle = computed(\r\n () => css`\r\n padding: 10px 10px ${slots.footer ? \"70px\" : \"0\"};\r\n `\r\n );\r\n const footerStyle = computed(\r\n () => css`\r\n position: fixed;\r\n right: 0;\r\n bottom: 0;\r\n left: ${layout.value.collapsed\r\n ? layout.value.collapsedWidth\r\n : layout.value.sideWidth}px;\r\n z-index: 10;\r\n padding: 10px;\r\n background: #fff;\r\n box-shadow: 6px 0 10px rgba(0, 0, 0, 0.15);\r\n transition: left 0.4s cubic-bezier(0.22, 1.2, 0.36, 1);\r\n `\r\n );\r\n const pageTitle = () => <div>{route.meta.title || \"无标题\"}</div>;\r\n const ghost = ref(false);\r\n\r\n const onBack = () => {\r\n if (props.close) {\r\n // 返回关闭标签\r\n deleteTabs(route.fullPath);\r\n router.go(-1);\r\n } else {\r\n // 不关闭标签\r\n router.go(-1);\r\n }\r\n };\r\n\r\n const onClosePage = () => {\r\n deleteTabs(route.fullPath);\r\n router.go(-1);\r\n };\r\n\r\n expose({\r\n close: onClosePage\r\n });\r\n\r\n return () => (\r\n <Flex vertical={true}>\r\n <PageHeader\r\n class={pageHeaderStyle.value}\r\n onBack={() => onBack()}\r\n title={pageTitle()}\r\n >\r\n {{\r\n backIcon: () => (\r\n <div>\r\n <LeftOutlined style={{ fontSize: \"26px\" }} />\r\n </div>\r\n ),\r\n extra: () => slots.extra?.(),\r\n footer: () => slots.footer?.(),\r\n subTitle: () => slots.subTitle?.()\r\n }}\r\n </PageHeader>\r\n <div class={contentStyle.value}>{slots.default?.()}</div>\r\n {slots.showfooter ? (\r\n <div class={footerStyle.value}>{slots.showfooter?.()}</div>\r\n ) : null}\r\n </Flex>\r\n );\r\n }\r\n});\r\n\r\nexport default show;\r\n"],"names":["getProps","close","type","Boolean","default","show","name","props","setup","slots","expose","layout","storeToRefs","useAppStore","deleteTabs","useNavTabStore","route","useRoute","router","useRouter","y","useWindowScroll","pageHeaderStyle","computed","css","value","headerHeight","contentStyle","footer","footerStyle","collapsed","collapsedWidth","sideWidth","pageTitle","_createVNode","meta","title","ghost","ref","onBack","fullPath","go","onClosePage","Flex","PageHeader","backIcon","LeftOutlined","fontSize","extra","_a","subTitle","showfooter"],"mappings":"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"}
1
+ {"version":3,"file":"Show.mjs","sources":["../../../../src/components/layout/Show.tsx"],"sourcesContent":["import { computed, ComputedRef, defineComponent, ref } from \"vue\";\r\nimport { useRoute, useRouter } from \"vue-router\";\r\nimport { Flex, PageHeader, theme } from \"ant-design-vue\";\r\nimport { storeToRefs } from \"pinia\";\r\nimport { useWindowScroll } from \"@vueuse/core\";\r\n\r\nimport { LeftOutlined } from \"@ant-design/icons-vue\";\r\nimport { useAppStore, useNavTabStore } from \"@ditari/store\";\r\nimport { css } from \"@emotion/css\";\r\nimport type { GlobalToken } from \"ant-design-vue/es/theme/interface\";\r\n\r\nconst getProps = () => {\r\n return {\r\n close: {\r\n type: Boolean,\r\n default: false\r\n }\r\n };\r\n};\r\nconst show = defineComponent({\r\n name: \"DShowLayout\",\r\n props: getProps(),\r\n setup(props, { slots, expose }) {\r\n const { useToken } = theme;\r\n const { token }: { token: ComputedRef<GlobalToken> } = useToken();\r\n const { layout, refresh } = storeToRefs(useAppStore());\r\n const { deleteTabs } = useNavTabStore();\r\n const route = useRoute();\r\n const router = useRouter();\r\n\r\n const { y } = useWindowScroll();\r\n\r\n const pageHeaderStyle = computed(\r\n () => css`\r\n position: sticky;\r\n top: ${layout.value.headerHeight}px;\r\n z-index: 10;\r\n padding: 4px 24px;\r\n transition: all 0.3s;\r\n background-color: ${token.value.colorBgLayout};\r\n\r\n ${y.value > 0 ? \"box-shadow:0 10px 10px rgba(0, 0, 0, 0.15);\" : \"\"}\r\n .ant-page-header-back {\r\n height: 100%;\r\n margin-right: 0;\r\n\r\n .ant-page-header-back-button {\r\n height: 100%;\r\n padding: 0 6px !important;\r\n display: flex !important;\r\n align-items: center;\r\n justify-content: center;\r\n }\r\n }\r\n\r\n .ant-page-header-heading-title {\r\n font-size: 14px;\r\n }\r\n `\r\n );\r\n const contentStyle = computed(\r\n () => css`\r\n padding: 10px 10px ${slots.footer ? \"70px\" : \"0\"};\r\n `\r\n );\r\n const footerStyle = computed(\r\n () => css`\r\n position: fixed;\r\n right: 0;\r\n bottom: 0;\r\n left: ${layout.value.collapsed\r\n ? layout.value.collapsedWidth\r\n : layout.value.sideWidth}px;\r\n z-index: 10;\r\n padding: 10px;\r\n background: #fff;\r\n box-shadow: 6px 0 10px rgba(0, 0, 0, 0.15);\r\n transition: left 0.4s cubic-bezier(0.22, 1.2, 0.36, 1);\r\n `\r\n );\r\n const pageTitle = () => <div>{route.meta.title || \"无标题\"}</div>;\r\n const ghost = ref(false);\r\n\r\n const onBack = () => {\r\n if (props.close) {\r\n // 返回关闭标签\r\n deleteTabs(route.fullPath);\r\n router.go(-1);\r\n } else {\r\n // 不关闭标签\r\n router.go(-1);\r\n }\r\n };\r\n\r\n const onClosePage = () => {\r\n refresh.value = true;\r\n deleteTabs(route.fullPath);\r\n router.go(-1);\r\n };\r\n\r\n expose({\r\n close: onClosePage\r\n });\r\n\r\n return () => (\r\n <Flex vertical={true}>\r\n <PageHeader\r\n ghost={ghost.value}\r\n class={pageHeaderStyle.value}\r\n onBack={() => onBack()}\r\n title={pageTitle()}\r\n >\r\n {{\r\n backIcon: () => (\r\n <div>\r\n <LeftOutlined style={{ fontSize: \"26px\" }} />\r\n </div>\r\n ),\r\n extra: () => slots.extra?.(),\r\n footer: () => slots.footer?.(),\r\n subTitle: () => slots.subTitle?.()\r\n }}\r\n </PageHeader>\r\n <div class={contentStyle.value}>{slots.default?.()}</div>\r\n {slots.showfooter ? (\r\n <div class={footerStyle.value}>{slots.showfooter?.()}</div>\r\n ) : null}\r\n </Flex>\r\n );\r\n }\r\n});\r\n\r\nexport default show;\r\n"],"names":["getProps","close","type","Boolean","default","show","name","props","setup","slots","expose","useToken","theme","token","layout","refresh","storeToRefs","useAppStore","deleteTabs","useNavTabStore","route","useRoute","router","useRouter","y","useWindowScroll","pageHeaderStyle","computed","css","value","headerHeight","colorBgLayout","contentStyle","footer","footerStyle","collapsed","collapsedWidth","sideWidth","pageTitle","_createVNode","meta","title","ghost","ref","onBack","fullPath","go","onClosePage","Flex","PageHeader","backIcon","LeftOutlined","fontSize","extra","_a","subTitle","showfooter"],"mappings":"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"}
@@ -11,7 +11,7 @@ import _sfc_main$1 from '../../../tab/Tab.vue2.mjs';
11
11
  var _sfc_main = /* @__PURE__ */ defineComponent({
12
12
  __name: "HeaderLayout",
13
13
  setup(__props) {
14
- const { layout } = storeToRefs(useAppStore());
14
+ const { layout, modeConfig, headerTokenStyle } = storeToRefs(useAppStore());
15
15
  const { headerStyle, headerTabStyle, collapsedStyle, rightStyle } = useStyle();
16
16
  function useStyle() {
17
17
  const { useToken } = theme;
@@ -24,7 +24,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
24
24
  position: fixed;
25
25
  top: 0;
26
26
  right: 0;
27
- background-color: ${token.value.colorBgContainer};
27
+ background-color: ${modeConfig.value.mode !== "light" ? token.value.colorBgContainer : headerTokenStyle.value.bgColor};
28
28
  left: ${left.value};
29
29
  height: ${layout.value.headerHeight}px;
30
30
  transition: left 0.4s cubic-bezier(0.22, 1.2, 0.36, 1);
@@ -47,6 +47,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
47
47
  align-items: center;
48
48
  justify-content: center;
49
49
  cursor: pointer;
50
+ color: ${modeConfig.value.mode === "light" ? headerTokenStyle.value.txtColor : "inherit"};
50
51
  `
51
52
  );
52
53
  const rightStyle2 = computed(
@@ -1 +1 @@
1
- {"version":3,"file":"HeaderLayout.vue2.mjs","sources":["../../../../../../src/components/layout/components/layout/HeaderLayout.vue"],"sourcesContent":["<script setup lang=\"ts\">\r\nimport { computed, type ComputedRef } from \"vue\";\r\nimport { theme } from \"ant-design-vue\";\r\nimport { storeToRefs } from \"pinia\";\r\n\r\nimport { MenuFoldOutlined, MenuUnfoldOutlined } from \"@ant-design/icons-vue\";\r\nimport { useAppStore } from \"@ditari/store\";\r\nimport { css } from \"@emotion/css\";\r\nimport type { GlobalToken } from \"ant-design-vue/es/theme/interface\";\r\n\r\nimport Tab from \"../../../tab/Tab.vue\";\r\n\r\nconst { layout } = storeToRefs(useAppStore());\r\nconst { headerStyle, headerTabStyle, collapsedStyle, rightStyle } = useStyle();\r\n\r\nfunction useStyle(): {\r\n headerStyle: ComputedRef<string>;\r\n headerTabStyle: ComputedRef<string>;\r\n collapsedStyle: ComputedRef<string>;\r\n rightStyle: ComputedRef<string>;\r\n} {\r\n const { useToken } = theme;\r\n const { token }: { token: ComputedRef<GlobalToken> } = useToken();\r\n\r\n const left = computed(\r\n () =>\r\n `${layout.value.collapsed ? layout.value.collapsedWidth : layout.value.sideWidth}px`\r\n );\r\n\r\n const headerStyle = computed(\r\n () => css`\r\n position: fixed;\r\n top: 0;\r\n right: 0;\r\n background-color: ${token.value.colorBgContainer};\r\n left: ${left.value};\r\n height: ${layout.value.headerHeight}px;\r\n transition: left 0.4s cubic-bezier(0.22, 1.2, 0.36, 1);\r\n display: flex;\r\n align-items: flex-end;\r\n `\r\n );\r\n\r\n const headerTabStyle = computed(\r\n () => css`\r\n flex: 1;\r\n overflow: hidden;\r\n padding-right: 10px;\r\n `\r\n );\r\n\r\n const collapsedStyle = computed(\r\n () => css`\r\n padding: 0 10px;\r\n height: 100%;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n cursor: pointer;\r\n `\r\n );\r\n\r\n const rightStyle = computed(\r\n () => css`\r\n height: 100%;\r\n `\r\n );\r\n\r\n return {\r\n headerStyle,\r\n headerTabStyle,\r\n collapsedStyle,\r\n rightStyle\r\n };\r\n}\r\n</script>\r\n\r\n<template>\r\n <div :class=\"headerStyle\">\r\n <div :class=\"collapsedStyle\" @click=\"layout.collapsed = !layout.collapsed\">\r\n <menu-unfold-outlined v-if=\"layout.collapsed\" class=\"trigger\" />\r\n <menu-fold-outlined v-else />\r\n </div>\r\n <div :class=\"headerTabStyle\">\r\n <Tab />\r\n </div>\r\n <div :class=\"rightStyle\">\r\n <slot></slot>\r\n </div>\r\n </div>\r\n</template>\r\n\r\n<style scoped></style>\r\n"],"names":["headerStyle","headerTabStyle","collapsedStyle","rightStyle"],"mappings":";;;;;;;;;;;;;AAYA,IAAA,MAAM,EAAE,MAAA,EAAW,GAAA,WAAA,CAAY,aAAa,CAAA;AAC5C,IAAA,MAAM,EAAE,WAAa,EAAA,cAAA,EAAgB,cAAgB,EAAA,UAAA,KAAe,QAAS,EAAA;AAE7E,IAAA,SAAS,QAKP,GAAA;AACA,MAAM,MAAA,EAAE,UAAa,GAAA,KAAA;AACrB,MAAM,MAAA,EAAE,KAAM,EAAA,GAAyC,QAAS,EAAA;AAEhE,MAAA,MAAM,IAAO,GAAA,QAAA;AAAA,QACX,MACE,CAAG,EAAA,MAAA,CAAO,KAAM,CAAA,SAAA,GAAY,OAAO,KAAM,CAAA,cAAA,GAAiB,MAAO,CAAA,KAAA,CAAM,SAAS,CAAA,EAAA;AAAA,OACpF;AAEA,MAAA,MAAMA,YAAc,GAAA,QAAA;AAAA,QAClB,MAAM,GAAA;AAAA;AAAA;AAAA;AAAA,wBAIgB,EAAA,KAAA,CAAM,MAAM,gBAAgB,CAAA;AAAA,YAAA,EACxC,KAAK,KAAK,CAAA;AAAA,cACR,EAAA,MAAA,CAAO,MAAM,YAAY,CAAA;AAAA;AAAA;AAAA;AAAA,IAAA;AAAA,OAKvC;AAEA,MAAA,MAAMC,eAAiB,GAAA,QAAA;AAAA,QACrB,MAAM,GAAA;AAAA;AAAA;AAAA;AAAA,IAAA;AAAA,OAKR;AAEA,MAAA,MAAMC,eAAiB,GAAA,QAAA;AAAA,QACrB,MAAM,GAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAA;AAAA,OAQR;AAEA,MAAA,MAAMC,WAAa,GAAA,QAAA;AAAA,QACjB,MAAM,GAAA;AAAA;AAAA,IAAA;AAAA,OAGR;AAEA,MAAO,OAAA;AAAA,QACL,WAAAH,EAAAA,YAAAA;AAAA,QACA,cAAAC,EAAAA,eAAAA;AAAA,QACA,cAAAC,EAAAA,eAAAA;AAAA,QACA,UAAAC,EAAAA;AAAA,OACF;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"HeaderLayout.vue2.mjs","sources":["../../../../../../src/components/layout/components/layout/HeaderLayout.vue"],"sourcesContent":["<script setup lang=\"ts\">\r\nimport { computed, type ComputedRef } from \"vue\";\r\nimport { theme } from \"ant-design-vue\";\r\nimport { storeToRefs } from \"pinia\";\r\n\r\nimport { MenuFoldOutlined, MenuUnfoldOutlined } from \"@ant-design/icons-vue\";\r\nimport { useAppStore } from \"@ditari/store\";\r\nimport { css } from \"@emotion/css\";\r\nimport type { GlobalToken } from \"ant-design-vue/es/theme/interface\";\r\n\r\nimport Tab from \"../../../tab/Tab.vue\";\r\n\r\nconst { layout, modeConfig, headerTokenStyle } = storeToRefs(useAppStore());\r\nconst { headerStyle, headerTabStyle, collapsedStyle, rightStyle } = useStyle();\r\n\r\nfunction useStyle(): {\r\n headerStyle: ComputedRef<string>;\r\n headerTabStyle: ComputedRef<string>;\r\n collapsedStyle: ComputedRef<string>;\r\n rightStyle: ComputedRef<string>;\r\n} {\r\n const { useToken } = theme;\r\n const { token }: { token: ComputedRef<GlobalToken> } = useToken();\r\n\r\n const left = computed(\r\n () =>\r\n `${layout.value.collapsed ? layout.value.collapsedWidth : layout.value.sideWidth}px`\r\n );\r\n\r\n const headerStyle = computed(\r\n () => css`\r\n position: fixed;\r\n top: 0;\r\n right: 0;\r\n background-color: ${modeConfig.value.mode !== \"light\"\r\n ? token.value.colorBgContainer\r\n : headerTokenStyle.value.bgColor};\r\n left: ${left.value};\r\n height: ${layout.value.headerHeight}px;\r\n transition: left 0.4s cubic-bezier(0.22, 1.2, 0.36, 1);\r\n display: flex;\r\n align-items: flex-end;\r\n `\r\n );\r\n\r\n const headerTabStyle = computed(\r\n () => css`\r\n flex: 1;\r\n overflow: hidden;\r\n padding-right: 10px;\r\n `\r\n );\r\n\r\n const collapsedStyle = computed(\r\n () => css`\r\n padding: 0 10px;\r\n height: 100%;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n cursor: pointer;\r\n color: ${modeConfig.value.mode === \"light\"\r\n ? headerTokenStyle.value.txtColor\r\n : \"inherit\"};\r\n `\r\n );\r\n\r\n const rightStyle = computed(\r\n () => css`\r\n height: 100%;\r\n `\r\n );\r\n\r\n return {\r\n headerStyle,\r\n headerTabStyle,\r\n collapsedStyle,\r\n rightStyle\r\n };\r\n}\r\n</script>\r\n\r\n<template>\r\n <div :class=\"headerStyle\">\r\n <div :class=\"collapsedStyle\" @click=\"layout.collapsed = !layout.collapsed\">\r\n <menu-unfold-outlined v-if=\"layout.collapsed\" class=\"trigger\" />\r\n <menu-fold-outlined v-else />\r\n </div>\r\n <div :class=\"headerTabStyle\">\r\n <Tab />\r\n </div>\r\n <div :class=\"rightStyle\">\r\n <slot></slot>\r\n </div>\r\n </div>\r\n</template>\r\n\r\n<style scoped></style>\r\n"],"names":["headerStyle","headerTabStyle","collapsedStyle","rightStyle"],"mappings":";;;;;;;;;;;;;AAYA,IAAA,MAAM,EAAE,MAAQ,EAAA,UAAA,EAAY,kBAAqB,GAAA,WAAA,CAAY,aAAa,CAAA;AAC1E,IAAA,MAAM,EAAE,WAAa,EAAA,cAAA,EAAgB,cAAgB,EAAA,UAAA,KAAe,QAAS,EAAA;AAE7E,IAAA,SAAS,QAKP,GAAA;AACA,MAAM,MAAA,EAAE,UAAa,GAAA,KAAA;AACrB,MAAM,MAAA,EAAE,KAAM,EAAA,GAAyC,QAAS,EAAA;AAEhE,MAAA,MAAM,IAAO,GAAA,QAAA;AAAA,QACX,MACE,CAAG,EAAA,MAAA,CAAO,KAAM,CAAA,SAAA,GAAY,OAAO,KAAM,CAAA,cAAA,GAAiB,MAAO,CAAA,KAAA,CAAM,SAAS,CAAA,EAAA;AAAA,OACpF;AAEA,MAAA,MAAMA,YAAc,GAAA,QAAA;AAAA,QAClB,MAAM,GAAA;AAAA;AAAA;AAAA;AAAA,wBAIgB,EAAA,UAAA,CAAW,MAAM,IAAS,KAAA,OAAA,GAC1C,MAAM,KAAM,CAAA,gBAAA,GACZ,gBAAiB,CAAA,KAAA,CAAM,OAAO,CAAA;AAAA,YAAA,EAC1B,KAAK,KAAK,CAAA;AAAA,cACR,EAAA,MAAA,CAAO,MAAM,YAAY,CAAA;AAAA;AAAA;AAAA;AAAA,IAAA;AAAA,OAKvC;AAEA,MAAA,MAAMC,eAAiB,GAAA,QAAA;AAAA,QACrB,MAAM,GAAA;AAAA;AAAA;AAAA;AAAA,IAAA;AAAA,OAKR;AAEA,MAAA,MAAMC,eAAiB,GAAA,QAAA;AAAA,QACrB,MAAM,GAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,aAAA,EAOK,WAAW,KAAM,CAAA,IAAA,KAAS,UAC/B,gBAAiB,CAAA,KAAA,CAAM,WACvB,SAAS,CAAA;AAAA,IAAA;AAAA,OAEjB;AAEA,MAAA,MAAMC,WAAa,GAAA,QAAA;AAAA,QACjB,MAAM,GAAA;AAAA;AAAA,IAAA;AAAA,OAGR;AAEA,MAAO,OAAA;AAAA,QACL,WAAAH,EAAAA,YAAAA;AAAA,QACA,cAAAC,EAAAA,eAAAA;AAAA,QACA,cAAAC,EAAAA,eAAAA;AAAA,QACA,UAAAC,EAAAA;AAAA,OACF;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,7 +1,7 @@
1
1
  import { defineComponent, computed, watch, createVNode, resolveComponent } from 'vue';
2
2
  import { useRoute, useRouter } from 'vue-router';
3
3
  import { storeToRefs } from 'pinia';
4
- import { useAppStore, useMenuStore } from '@ditari/store';
4
+ import { useAppStore, useNoStore, useMenuStore } from '@ditari/store';
5
5
  import { css } from '@emotion/css';
6
6
 
7
7
  "use strict";
@@ -28,13 +28,19 @@ var __async = (__this, __arguments, generator) => {
28
28
  var DMenu = /* @__PURE__ */ defineComponent({
29
29
  name: "DMenu",
30
30
  setup() {
31
+ const {
32
+ layout,
33
+ modeConfig
34
+ } = storeToRefs(useAppStore());
35
+ const {
36
+ menuList
37
+ } = storeToRefs(useNoStore());
31
38
  const {
32
39
  menuWrapperStyle
33
40
  } = useStyle();
34
41
  const {
35
42
  openKeys,
36
43
  selectedKeys,
37
- data,
38
44
  onClick
39
45
  } = useMenu();
40
46
  function useStyle() {
@@ -48,9 +54,9 @@ var DMenu = /* @__PURE__ */ defineComponent({
48
54
  -ms-overflow-style: none; /* 对 IE 和 Edge 生效 */
49
55
  scrollbar-width: none; /* 对 Firefox 生效 */
50
56
 
57
+ ${modeConfig.value.mode === "light" ? "background:transparent;" : ""}
51
58
  /* Webkit 浏览器 */
52
-
53
- ::-webkit-scrollbar {
59
+ ::-webkit-scrollbar {
54
60
  display: none;
55
61
  }
56
62
  }
@@ -60,20 +66,18 @@ var DMenu = /* @__PURE__ */ defineComponent({
60
66
  };
61
67
  }
62
68
  function useMenu() {
63
- const {
64
- layout
65
- } = storeToRefs(useAppStore());
66
69
  const {
67
70
  openKeys: openKeys2,
68
71
  selectedKeys: selectedKeys2,
69
- data: data2
72
+ data
70
73
  } = storeToRefs(useMenuStore());
71
74
  const route = useRoute();
72
75
  const router = useRouter();
73
76
  watch(() => route.fullPath, (path) => __async(this, null, function* () {
77
+ console.log(path);
74
78
  const flag = selectedKeys2.value.some((item) => item === path);
75
79
  if (!flag) {
76
- const rs = _findMatchedMenuKey(path, data2.value);
80
+ const rs = _findMatchedMenuKey(path, data.value);
77
81
  if (rs) {
78
82
  if (!layout.value.collapsed) {
79
83
  if (rs == null ? void 0 : rs.parentKey) {
@@ -88,7 +92,7 @@ var DMenu = /* @__PURE__ */ defineComponent({
88
92
  }));
89
93
  watch(() => layout.value.collapsed, (val) => {
90
94
  const path = selectedKeys2.value[0];
91
- const rs = _findMatchedMenuKey(path, data2.value);
95
+ const rs = _findMatchedMenuKey(path, data.value);
92
96
  if (val) {
93
97
  openKeys2.value = [];
94
98
  } else {
@@ -141,7 +145,7 @@ var DMenu = /* @__PURE__ */ defineComponent({
141
145
  return {
142
146
  openKeys: openKeys2,
143
147
  selectedKeys: selectedKeys2,
144
- data: data2,
148
+ data,
145
149
  onClick: onClick2
146
150
  };
147
151
  }
@@ -152,7 +156,7 @@ var DMenu = /* @__PURE__ */ defineComponent({
152
156
  "onUpdate:open-keys": ($event) => openKeys.value = $event,
153
157
  "selected-keys": selectedKeys.value,
154
158
  "onUpdate:selected-keys": ($event) => selectedKeys.value = $event,
155
- "items": data.value,
159
+ "items": menuList.value,
156
160
  "mode": "inline",
157
161
  "triggerSubMenuAction": "hover",
158
162
  "onClick": onClick
@@ -1 +1 @@
1
- {"version":3,"file":"Menu.mjs","sources":["../../../../../../src/components/layout/components/menu/Menu.tsx"],"sourcesContent":["import { computed, defineComponent, nextTick, watch } from \"vue\";\r\nimport { useRoute, useRouter } from \"vue-router\";\r\nimport { storeToRefs } from \"pinia\";\r\n\r\nimport { useAppStore, useMenuStore } from \"@ditari/store\";\r\nimport { css } from \"@emotion/css\";\r\n\r\nexport default defineComponent({\r\n name: \"DMenu\",\r\n setup() {\r\n const { menuWrapperStyle } = useStyle();\r\n const { openKeys, selectedKeys, data, onClick } = useMenu();\r\n\r\n function useStyle() {\r\n const menuWrapperStyle = computed(\r\n () => css`\r\n flex: 1;\r\n overflow: hidden;\r\n\r\n .ant-menu {\r\n height: 100%;\r\n overflow: scroll;\r\n -ms-overflow-style: none; /* 对 IE 和 Edge 生效 */\r\n scrollbar-width: none; /* 对 Firefox 生效 */\r\n\r\n /* Webkit 浏览器 */\r\n\r\n ::-webkit-scrollbar {\r\n display: none;\r\n }\r\n }\r\n `\r\n );\r\n return {\r\n menuWrapperStyle\r\n };\r\n }\r\n\r\n function useMenu() {\r\n const { layout } = storeToRefs(useAppStore());\r\n const { openKeys, selectedKeys, data } = storeToRefs(useMenuStore());\r\n const route = useRoute();\r\n const router = useRouter();\r\n\r\n /**\r\n * 在标签切换的时候,路由会变化,需要动态关联左侧菜单的选中状态\r\n */\r\n watch(\r\n () => route.fullPath,\r\n async path => {\r\n const flag = selectedKeys.value.some((item: string) => item === path);\r\n if (!flag) {\r\n const rs = _findMatchedMenuKey(path, data.value as never);\r\n if (rs) {\r\n if (!layout.value.collapsed) {\r\n if (rs?.parentKey) {\r\n openKeys.value = [rs.parentKey];\r\n } else {\r\n openKeys.value = [rs!.matchedKey];\r\n }\r\n }\r\n selectedKeys.value = [rs!.matchedKey];\r\n }\r\n }\r\n }\r\n );\r\n\r\n watch(\r\n () => layout.value.collapsed,\r\n val => {\r\n const path = selectedKeys.value[0];\r\n const rs = _findMatchedMenuKey(path, data.value as never);\r\n if (val) {\r\n openKeys.value = [];\r\n } else {\r\n if (rs?.parentKey) {\r\n openKeys.value = [rs.parentKey];\r\n } else {\r\n openKeys.value = [rs!.matchedKey];\r\n }\r\n }\r\n }\r\n );\r\n\r\n // 匹配菜单项的函数(支持嵌套 children)\r\n const _findMatchedMenuKey = (\r\n path: string,\r\n menuItems: { key: string; children: [] }[],\r\n parentKey: string = \"\"\r\n ): { matchedKey: string; parentKey: string } | null => {\r\n // 遍历菜单项\r\n for (const item of menuItems) {\r\n // 完全匹配\r\n if (item.key === path) {\r\n return { matchedKey: item.key, parentKey };\r\n }\r\n\r\n // 如果当前菜单项有 children,递归查找\r\n if (item.children && item.children.length > 0) {\r\n const result = _findMatchedMenuKey(path, item.children, item.key);\r\n if (result) {\r\n return result;\r\n }\r\n }\r\n\r\n // 匹配以 basePath 开头的菜单项\r\n const match = path.match(/^\\/[^/]+/); // 匹配以 / 开头,后面不包含 / 的部分\r\n const basePath = match ? match[0] : \"\"; // 提取基础路径,如 /user\r\n if (item.key.startsWith(basePath)) {\r\n return { matchedKey: item.key, parentKey };\r\n }\r\n }\r\n\r\n // 如果没有找到匹配的菜单项,返回 null\r\n return null;\r\n };\r\n\r\n const onClick = ({\r\n key,\r\n keyPath\r\n }: {\r\n item: string;\r\n key: string;\r\n keyPath: string[];\r\n }) => {\r\n openKeys.value = keyPath;\r\n selectedKeys.value = [key];\r\n\r\n // 判断目标路由和当前路由是否相等;\r\n // 不相等的时候再跳转\r\n if (route.path !== key) {\r\n router.push(key).then(r => {\r\n if (r) {\r\n console.warn(r);\r\n }\r\n });\r\n }\r\n };\r\n\r\n return {\r\n openKeys,\r\n selectedKeys,\r\n data,\r\n onClick\r\n };\r\n }\r\n\r\n return () => (\r\n <div class={menuWrapperStyle.value}>\r\n <a-menu\r\n v-model:open-keys={openKeys.value}\r\n v-model:selected-keys={selectedKeys.value}\r\n items={data.value}\r\n mode=\"inline\"\r\n triggerSubMenuAction={\"hover\"}\r\n onClick={onClick}\r\n ></a-menu>\r\n </div>\r\n );\r\n }\r\n});\r\n"],"names":["name","setup","menuWrapperStyle","useStyle","openKeys","selectedKeys","data","onClick","useMenu","computed","css","layout","storeToRefs","useAppStore","useMenuStore","route","useRoute","router","useRouter","watch","fullPath","path","flag","value","some","item","rs","_findMatchedMenuKey","collapsed","parentKey","matchedKey","val","menuItems","key","children","length","result","match","basePath","startsWith","keyPath","push","then","r","console","warn","_createVNode","_resolveComponent","$event"],"mappings":"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"}
1
+ {"version":3,"file":"Menu.mjs","sources":["../../../../../../src/components/layout/components/menu/Menu.tsx"],"sourcesContent":["import { computed, defineComponent, watch } from \"vue\";\r\nimport { useRoute, useRouter } from \"vue-router\";\r\nimport { storeToRefs } from \"pinia\";\r\n\r\nimport { useAppStore, useMenuStore, useNoStore } from \"@ditari/store\";\r\nimport { css } from \"@emotion/css\";\r\n\r\nexport default defineComponent({\r\n name: \"DMenu\",\r\n setup() {\r\n const { layout, modeConfig } = storeToRefs(useAppStore());\r\n const { menuList } = storeToRefs(useNoStore());\r\n const { menuWrapperStyle } = useStyle();\r\n const { openKeys, selectedKeys, onClick } = useMenu();\r\n\r\n function useStyle() {\r\n const menuWrapperStyle = computed(\r\n () => css`\r\n flex: 1;\r\n overflow: hidden;\r\n\r\n .ant-menu {\r\n height: 100%;\r\n overflow: scroll;\r\n -ms-overflow-style: none; /* 对 IE 和 Edge 生效 */\r\n scrollbar-width: none; /* 对 Firefox 生效 */\r\n\r\n ${modeConfig.value.mode === \"light\"\r\n ? \"background:transparent;\"\r\n : \"\"}\r\n /* Webkit 浏览器 */\r\n ::-webkit-scrollbar {\r\n display: none;\r\n }\r\n }\r\n `\r\n );\r\n return {\r\n menuWrapperStyle\r\n };\r\n }\r\n\r\n function useMenu() {\r\n const { openKeys, selectedKeys, data } = storeToRefs(useMenuStore());\r\n const route = useRoute();\r\n const router = useRouter();\r\n\r\n /**\r\n * 在标签切换的时候,路由会变化,需要动态关联左侧菜单的选中状态\r\n */\r\n watch(\r\n () => route.fullPath,\r\n async path => {\r\n console.log(path);\r\n const flag = selectedKeys.value.some((item: string) => item === path);\r\n if (!flag) {\r\n const rs = _findMatchedMenuKey(path, data.value as never);\r\n if (rs) {\r\n if (!layout.value.collapsed) {\r\n if (rs?.parentKey) {\r\n openKeys.value = [rs.parentKey];\r\n } else {\r\n openKeys.value = [rs!.matchedKey];\r\n }\r\n }\r\n selectedKeys.value = [rs!.matchedKey];\r\n }\r\n }\r\n }\r\n );\r\n\r\n watch(\r\n () => layout.value.collapsed,\r\n val => {\r\n const path = selectedKeys.value[0];\r\n const rs = _findMatchedMenuKey(path, data.value as never);\r\n if (val) {\r\n openKeys.value = [];\r\n } else {\r\n if (rs?.parentKey) {\r\n openKeys.value = [rs.parentKey];\r\n } else {\r\n openKeys.value = [rs!.matchedKey];\r\n }\r\n }\r\n }\r\n );\r\n\r\n // 匹配菜单项的函数(支持嵌套 children)\r\n const _findMatchedMenuKey = (\r\n path: string,\r\n menuItems: { key: string; children: [] }[],\r\n parentKey: string = \"\"\r\n ): { matchedKey: string; parentKey: string } | null => {\r\n // 遍历菜单项\r\n for (const item of menuItems) {\r\n // 完全匹配\r\n if (item.key === path) {\r\n return { matchedKey: item.key, parentKey };\r\n }\r\n\r\n // 如果当前菜单项有 children,递归查找\r\n if (item.children && item.children.length > 0) {\r\n const result = _findMatchedMenuKey(path, item.children, item.key);\r\n if (result) {\r\n return result;\r\n }\r\n }\r\n\r\n // 匹配以 basePath 开头的菜单项\r\n const match = path.match(/^\\/[^/]+/); // 匹配以 / 开头,后面不包含 / 的部分\r\n const basePath = match ? match[0] : \"\"; // 提取基础路径,如 /user\r\n if (item.key.startsWith(basePath)) {\r\n return { matchedKey: item.key, parentKey };\r\n }\r\n }\r\n\r\n // 如果没有找到匹配的菜单项,返回 null\r\n return null;\r\n };\r\n\r\n const onClick = ({\r\n key,\r\n keyPath\r\n }: {\r\n item: string;\r\n key: string;\r\n keyPath: string[];\r\n }) => {\r\n openKeys.value = keyPath;\r\n selectedKeys.value = [key];\r\n\r\n // 判断目标路由和当前路由是否相等;\r\n // 不相等的时候再跳转\r\n if (route.path !== key) {\r\n router.push(key).then(r => {\r\n if (r) {\r\n console.warn(r);\r\n }\r\n });\r\n }\r\n };\r\n\r\n return {\r\n openKeys,\r\n selectedKeys,\r\n data,\r\n onClick\r\n };\r\n }\r\n\r\n return () => (\r\n <div class={menuWrapperStyle.value}>\r\n <a-menu\r\n v-model:open-keys={openKeys.value}\r\n v-model:selected-keys={selectedKeys.value}\r\n items={menuList.value}\r\n mode=\"inline\"\r\n triggerSubMenuAction={\"hover\"}\r\n onClick={onClick}\r\n ></a-menu>\r\n </div>\r\n );\r\n }\r\n});\r\n"],"names":["name","setup","layout","modeConfig","storeToRefs","useAppStore","menuList","useNoStore","menuWrapperStyle","useStyle","openKeys","selectedKeys","onClick","useMenu","computed","css","value","mode","data","useMenuStore","route","useRoute","router","useRouter","watch","fullPath","path","console","log","flag","some","item","rs","_findMatchedMenuKey","collapsed","parentKey","matchedKey","val","menuItems","key","children","length","result","match","basePath","startsWith","keyPath","push","then","r","warn","_createVNode","_resolveComponent","$event"],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { defineComponent, ref, computed, watch, createVNode, resolveComponent, Fragment, createTextVNode, h } from 'vue';
2
+ import { useRouter } from 'vue-router';
2
3
  import { theme } from 'ant-design-vue';
3
4
  import { useMagicKeys, useWindowScroll } from '@vueuse/core';
4
5
  import { SearchOutlined, UnorderedListOutlined, CloseOutlined, DownOutlined } from '@ant-design/icons-vue';
@@ -10,6 +11,7 @@ import dayjs from '../../_virtual/dayjs.min.mjs';
10
11
  var Search = /* @__PURE__ */ defineComponent({
11
12
  name: "Search",
12
13
  setup() {
14
+ const router = useRouter();
13
15
  const {
14
16
  useToken
15
17
  } = theme;
@@ -39,9 +41,6 @@ var Search = /* @__PURE__ */ defineComponent({
39
41
  open.value = false;
40
42
  }
41
43
  });
42
- const buttonToken = {
43
- borderRadius: "12px"
44
- };
45
44
  const onCloseTab = (path) => {
46
45
  deleteTabs(path);
47
46
  };
@@ -55,6 +54,7 @@ var Search = /* @__PURE__ */ defineComponent({
55
54
  flex-direction: column;
56
55
  max-height: 400px;
57
56
  overflow-y: overlay;
57
+ user-select: none;
58
58
 
59
59
  /* 整个滚动条 */
60
60
 
@@ -100,9 +100,10 @@ var Search = /* @__PURE__ */ defineComponent({
100
100
  align-items: center;
101
101
  padding: 4px 10px;
102
102
  width: 400px;
103
+ cursor: pointer;
103
104
 
104
105
  &:hover {
105
- background-color: red;
106
+ background-color: ${token.value.colorBgLayout};
106
107
 
107
108
  .close-wrapper {
108
109
  display: block;
@@ -156,7 +157,7 @@ var Search = /* @__PURE__ */ defineComponent({
156
157
  text-align: center;
157
158
 
158
159
  &:hover {
159
- background-color: blue;
160
+ // background-color: ${token.value.colorBgLayout};
160
161
  }
161
162
  }
162
163
  }
@@ -176,6 +177,12 @@ var Search = /* @__PURE__ */ defineComponent({
176
177
  return `${diffInHours} \u5C0F\u65F6\u524D`;
177
178
  }
178
179
  }
180
+ const onJump = (item) => {
181
+ if (item.fullPath) {
182
+ router.push(item.fullPath);
183
+ }
184
+ open.value = false;
185
+ };
179
186
  return () => createVNode("div", null, [createVNode(resolveComponent("a-popover"), {
180
187
  "open": open.value,
181
188
  "onUpdate:open": ($event) => open.value = $event,
@@ -208,7 +215,9 @@ var Search = /* @__PURE__ */ defineComponent({
208
215
  "class": "search-title"
209
216
  }, [createTextVNode("\u6253\u5F00\u7684\u6807\u7B7E\u9875")]), createVNode("ul", null, [navTabList.value.map((item) => {
210
217
  var _a, _b;
211
- return createVNode("li", null, [createVNode("div", {
218
+ return createVNode("li", {
219
+ "onClick": () => onJump(item)
220
+ }, [createVNode("div", {
212
221
  "class": "icon"
213
222
  }, [createVNode(UnorderedListOutlined, null, null)]), createVNode("div", {
214
223
  "class": "content"
@@ -1 +1 @@
1
- {"version":3,"file":"Search.mjs","sources":["../../../../src/components/tab/Search.tsx"],"sourcesContent":["import { computed, ComputedRef, defineComponent, h, ref, watch } from \"vue\";\r\nimport { theme } from \"ant-design-vue\";\r\nimport { useMagicKeys, useWindowScroll } from \"@vueuse/core\";\r\n\r\nimport {\r\n CloseOutlined,\r\n DownOutlined,\r\n SearchOutlined,\r\n UnorderedListOutlined\r\n} from \"@ant-design/icons-vue\";\r\nimport { useNavTabStore } from \"@ditari/store\";\r\nimport { css } from \"@emotion/css\";\r\nimport type { GlobalToken } from \"ant-design-vue/es/theme/interface\";\r\nimport dayjs from \"dayjs\";\r\n\r\nexport default defineComponent({\r\n name: \"Search\",\r\n setup() {\r\n const { useToken } = theme;\r\n const { token }: { token: ComputedRef<GlobalToken> } = useToken();\r\n\r\n const { getList, deleteTabs } = useNavTabStore();\r\n // 用来监听 Ctrl + Shift + S\r\n const keys = useMagicKeys();\r\n const shiftCtrlA = keys[\"Shift+Ctrl+S\"];\r\n const open = ref(false);\r\n const { y } = useWindowScroll();\r\n\r\n const navTabList = computed(() => {\r\n return getList!.sort((a, b) => (b.openTime || 0) - (a.openTime || 0));\r\n });\r\n\r\n watch(shiftCtrlA, v => {\r\n if (v) {\r\n open.value = !open.value;\r\n }\r\n });\r\n watch(\r\n () => y.value,\r\n val => {\r\n if (val > 0) {\r\n open.value = false;\r\n }\r\n }\r\n );\r\n\r\n const buttonToken = {\r\n borderRadius: \"12px\"\r\n };\r\n\r\n const onCloseTab = (path: string) => {\r\n deleteTabs(path);\r\n };\r\n\r\n const searchStyle = computed(\r\n () => css`\r\n padding: 10px;\r\n border-bottom: 1px solid ${token.value.colorBorder};\r\n `\r\n );\r\n\r\n const searchListStyle = computed(\r\n () => css`\r\n position: relative;\r\n display: flex;\r\n flex-direction: column;\r\n max-height: 400px;\r\n overflow-y: overlay;\r\n\r\n /* 整个滚动条 */\r\n\r\n ::-webkit-scrollbar {\r\n width: 4px; /* 垂直滚动条的宽度 */\r\n height: 4px; /* 水平滚动条的高度 */\r\n }\r\n\r\n /* 滚动条轨道 */\r\n\r\n ::-webkit-scrollbar-track {\r\n background: transparent; /* 轨道背景色 */\r\n border-radius: 0; /* 轨道圆角 */\r\n }\r\n\r\n /* 滚动条滑块 */\r\n\r\n ::-webkit-scrollbar-thumb {\r\n //background: #888; /* 滑块背景色 */\r\n // border-radius: 6px; /* 滑块圆角 */\r\n border: 3px solid ${token.value.colorPrimaryBorder}; /* 滑块边框 */\r\n }\r\n\r\n /* 滚动条滑块悬停效果 */\r\n\r\n ::-webkit-scrollbar-thumb:hover {\r\n background: red; /* 滑块悬停背景色 */\r\n }\r\n\r\n .search-title {\r\n position: sticky;\r\n top: 0;\r\n padding: 10px;\r\n }\r\n\r\n ul {\r\n margin: 0;\r\n padding: 0;\r\n list-style: none;\r\n\r\n li {\r\n display: flex;\r\n align-items: center;\r\n padding: 4px 10px;\r\n width: 400px;\r\n\r\n &:hover {\r\n background-color: red;\r\n\r\n .close-wrapper {\r\n display: block;\r\n }\r\n }\r\n\r\n .icon {\r\n width: 42px;\r\n height: 42px;\r\n border-radius: 10px;\r\n background-color: ${token.value.colorPrimary};\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n }\r\n\r\n .content {\r\n padding-left: 10px;\r\n\r\n .time-ago {\r\n display: flex;\r\n align-items: center;\r\n font-size: 12px;\r\n\r\n .hostname {\r\n max-width: 180px;\r\n overflow: hidden;\r\n }\r\n\r\n .split {\r\n width: 4px;\r\n height: 4px;\r\n display: inline-block;\r\n background-color: ${token.value.colorPrimary};\r\n border-radius: 10px;\r\n margin: 0 6px;\r\n }\r\n }\r\n }\r\n\r\n .close-wrapper {\r\n display: none;\r\n flex: 1;\r\n text-align: right;\r\n\r\n .close-btn {\r\n display: inline-block;\r\n width: 22px;\r\n height: 22px;\r\n border-radius: 50%;\r\n text-align: center;\r\n\r\n &:hover {\r\n background-color: blue;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n `\r\n );\r\n\r\n function timeAgo(providedTime: number) {\r\n const now = dayjs();\r\n const diffInSeconds = now.diff(providedTime, \"second\"); // 计算时间差(秒)\r\n const diffInMinutes = now.diff(providedTime, \"minute\"); // 计算时间差(分钟)\r\n const diffInHours = now.diff(providedTime, \"hour\"); // 计算时间差(小时)\r\n\r\n if (diffInMinutes < 1) {\r\n return `${diffInSeconds} 秒前`;\r\n } else if (diffInHours < 1) {\r\n return `${diffInMinutes} 分钟前`;\r\n } else {\r\n return `${diffInHours} 小时前`;\r\n }\r\n }\r\n\r\n return () => (\r\n <div>\r\n <a-popover\r\n v-model:open={open.value}\r\n placement={\"bottomRight\"}\r\n trigger={\"click\"}\r\n overlayClassName={\"search-popover-wrapper\"}\r\n >\r\n {{\r\n default: () => (\r\n <div>\r\n <a-button\r\n style={{ borderRadius: \"10px\" }}\r\n icon={h(DownOutlined)}\r\n title={\"搜索标签页\"}\r\n />\r\n </div>\r\n ),\r\n content: () => (\r\n <>\r\n <div class={searchStyle.value}>\r\n <a-input placeholder={\"搜索标签页\"} bordered={false}>\r\n {{\r\n prefix: () => <SearchOutlined />,\r\n suffix: () => (\r\n <span style={{ color: \"rgba(0, 0, 0, 0.45)\" }}>\r\n Ctrl+Shift+S\r\n </span>\r\n )\r\n }}\r\n </a-input>\r\n </div>\r\n <div class={searchListStyle.value}>\r\n <span class={\"search-title\"}>打开的标签页</span>\r\n <ul>\r\n {navTabList.value.map(item => (\r\n <li>\r\n <div class={\"icon\"}>\r\n <UnorderedListOutlined />\r\n </div>\r\n <div class={\"content\"}>\r\n <div class={\"title\"}>{item.meta?.title}</div>\r\n <div class={\"time-ago\"}>\r\n <span class={\"hostname\"}>\r\n {window.location.hostname + \"\" + item.path}\r\n </span>\r\n <span class={\"split\"}></span>\r\n <span class={\"time\"}>\r\n {timeAgo(item.openTime ?? 0)}\r\n </span>\r\n </div>\r\n </div>\r\n <div class={\"close-wrapper\"}>\r\n <span\r\n class={\"close-btn\"}\r\n onClick={() => onCloseTab(item.fullPath || \"\")}\r\n >\r\n <CloseOutlined />\r\n </span>\r\n </div>\r\n </li>\r\n ))}\r\n </ul>\r\n </div>\r\n </>\r\n )\r\n }}\r\n </a-popover>\r\n </div>\r\n );\r\n }\r\n});\r\n"],"names":["name","setup","useToken","theme","token","getList","deleteTabs","useNavTabStore","keys","useMagicKeys","shiftCtrlA","open","ref","y","useWindowScroll","navTabList","computed","sort","a","b","openTime","watch","v","value","val","buttonToken","borderRadius","onCloseTab","path","searchStyle","css","colorBorder","searchListStyle","colorPrimaryBorder","colorPrimary","timeAgo","providedTime","now","dayjs","diffInSeconds","diff","diffInMinutes","diffInHours","_createVNode","_resolveComponent","$event","default","h","DownOutlined","content","_Fragment","prefix","SearchOutlined","suffix","color","_createTextVNode","map","item","UnorderedListOutlined","meta","title","window","location","hostname","onClick","fullPath","CloseOutlined"],"mappings":"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"}
1
+ {"version":3,"file":"Search.mjs","sources":["../../../../src/components/tab/Search.tsx"],"sourcesContent":["import { computed, ComputedRef, defineComponent, h, ref, watch } from \"vue\";\r\nimport { useRouter } from \"vue-router\";\r\nimport { theme } from \"ant-design-vue\";\r\nimport { useMagicKeys, useWindowScroll } from \"@vueuse/core\";\r\n\r\nimport {\r\n CloseOutlined,\r\n DownOutlined,\r\n SearchOutlined,\r\n UnorderedListOutlined\r\n} from \"@ant-design/icons-vue\";\r\nimport { type NavTabsState, useNavTabStore } from \"@ditari/store\";\r\nimport { css } from \"@emotion/css\";\r\nimport type { GlobalToken } from \"ant-design-vue/es/theme/interface\";\r\nimport dayjs from \"dayjs\";\r\n\r\nexport default defineComponent({\r\n name: \"Search\",\r\n setup() {\r\n const router = useRouter();\r\n\r\n const { useToken } = theme;\r\n const { token }: { token: ComputedRef<GlobalToken> } = useToken();\r\n\r\n const { getList, deleteTabs } = useNavTabStore();\r\n // 用来监听 Ctrl + Shift + S\r\n const keys = useMagicKeys();\r\n const shiftCtrlA = keys[\"Shift+Ctrl+S\"];\r\n const open = ref(false);\r\n const { y } = useWindowScroll();\r\n\r\n const navTabList = computed(() => {\r\n return getList!.sort((a, b) => (b.openTime || 0) - (a.openTime || 0));\r\n });\r\n\r\n watch(shiftCtrlA, v => {\r\n if (v) {\r\n open.value = !open.value;\r\n }\r\n });\r\n watch(\r\n () => y.value,\r\n val => {\r\n if (val > 0) {\r\n open.value = false;\r\n }\r\n }\r\n );\r\n\r\n const onCloseTab = (path: string) => {\r\n deleteTabs(path);\r\n };\r\n\r\n const searchStyle = computed(\r\n () => css`\r\n padding: 10px;\r\n border-bottom: 1px solid ${token.value.colorBorder};\r\n `\r\n );\r\n\r\n const searchListStyle = computed(\r\n () => css`\r\n position: relative;\r\n display: flex;\r\n flex-direction: column;\r\n max-height: 400px;\r\n overflow-y: overlay;\r\n user-select: none;\r\n\r\n /* 整个滚动条 */\r\n\r\n ::-webkit-scrollbar {\r\n width: 4px; /* 垂直滚动条的宽度 */\r\n height: 4px; /* 水平滚动条的高度 */\r\n }\r\n\r\n /* 滚动条轨道 */\r\n\r\n ::-webkit-scrollbar-track {\r\n background: transparent; /* 轨道背景色 */\r\n border-radius: 0; /* 轨道圆角 */\r\n }\r\n\r\n /* 滚动条滑块 */\r\n\r\n ::-webkit-scrollbar-thumb {\r\n //background: #888; /* 滑块背景色 */\r\n // border-radius: 6px; /* 滑块圆角 */\r\n border: 3px solid ${token.value.colorPrimaryBorder}; /* 滑块边框 */\r\n }\r\n\r\n /* 滚动条滑块悬停效果 */\r\n\r\n ::-webkit-scrollbar-thumb:hover {\r\n background: red; /* 滑块悬停背景色 */\r\n }\r\n\r\n .search-title {\r\n position: sticky;\r\n top: 0;\r\n padding: 10px;\r\n }\r\n\r\n ul {\r\n margin: 0;\r\n padding: 0;\r\n list-style: none;\r\n\r\n li {\r\n display: flex;\r\n align-items: center;\r\n padding: 4px 10px;\r\n width: 400px;\r\n cursor: pointer;\r\n\r\n &:hover {\r\n background-color: ${token.value.colorBgLayout};\r\n\r\n .close-wrapper {\r\n display: block;\r\n }\r\n }\r\n\r\n .icon {\r\n width: 42px;\r\n height: 42px;\r\n border-radius: 10px;\r\n background-color: ${token.value.colorPrimary};\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n }\r\n\r\n .content {\r\n padding-left: 10px;\r\n\r\n .time-ago {\r\n display: flex;\r\n align-items: center;\r\n font-size: 12px;\r\n\r\n .hostname {\r\n max-width: 180px;\r\n overflow: hidden;\r\n }\r\n\r\n .split {\r\n width: 4px;\r\n height: 4px;\r\n display: inline-block;\r\n background-color: ${token.value.colorPrimary};\r\n border-radius: 10px;\r\n margin: 0 6px;\r\n }\r\n }\r\n }\r\n\r\n .close-wrapper {\r\n display: none;\r\n flex: 1;\r\n text-align: right;\r\n\r\n .close-btn {\r\n display: inline-block;\r\n width: 22px;\r\n height: 22px;\r\n border-radius: 50%;\r\n text-align: center;\r\n\r\n &:hover {\r\n // background-color: ${token.value.colorBgLayout};\r\n }\r\n }\r\n }\r\n }\r\n }\r\n `\r\n );\r\n\r\n function timeAgo(providedTime: number) {\r\n const now = dayjs();\r\n const diffInSeconds = now.diff(providedTime, \"second\"); // 计算时间差(秒)\r\n const diffInMinutes = now.diff(providedTime, \"minute\"); // 计算时间差(分钟)\r\n const diffInHours = now.diff(providedTime, \"hour\"); // 计算时间差(小时)\r\n\r\n if (diffInMinutes < 1) {\r\n return `${diffInSeconds} 秒前`;\r\n } else if (diffInHours < 1) {\r\n return `${diffInMinutes} 分钟前`;\r\n } else {\r\n return `${diffInHours} 小时前`;\r\n }\r\n }\r\n\r\n const onJump = (item: NavTabsState) => {\r\n if (item.fullPath) {\r\n router.push(item.fullPath);\r\n }\r\n open.value = false;\r\n };\r\n\r\n return () => (\r\n <div>\r\n <a-popover\r\n v-model:open={open.value}\r\n placement={\"bottomRight\"}\r\n trigger={\"click\"}\r\n overlayClassName={\"search-popover-wrapper\"}\r\n >\r\n {{\r\n default: () => (\r\n <div>\r\n <a-button\r\n style={{ borderRadius: \"10px\" }}\r\n icon={h(DownOutlined)}\r\n title={\"搜索标签页\"}\r\n />\r\n </div>\r\n ),\r\n content: () => (\r\n <>\r\n <div class={searchStyle.value}>\r\n <a-input placeholder={\"搜索标签页\"} bordered={false}>\r\n {{\r\n prefix: () => <SearchOutlined />,\r\n suffix: () => (\r\n <span style={{ color: \"rgba(0, 0, 0, 0.45)\" }}>\r\n Ctrl+Shift+S\r\n </span>\r\n )\r\n }}\r\n </a-input>\r\n </div>\r\n <div class={searchListStyle.value}>\r\n <span class={\"search-title\"}>打开的标签页</span>\r\n <ul>\r\n {navTabList.value.map(item => (\r\n <li onClick={() => onJump(item)}>\r\n <div class={\"icon\"}>\r\n <UnorderedListOutlined />\r\n </div>\r\n <div class={\"content\"}>\r\n <div class={\"title\"}>{item.meta?.title}</div>\r\n <div class={\"time-ago\"}>\r\n <span class={\"hostname\"}>\r\n {window.location.hostname + \"\" + item.path}\r\n </span>\r\n <span class={\"split\"}></span>\r\n <span class={\"time\"}>\r\n {timeAgo(item.openTime ?? 0)}\r\n </span>\r\n </div>\r\n </div>\r\n <div class={\"close-wrapper\"}>\r\n <span\r\n class={\"close-btn\"}\r\n onClick={() => onCloseTab(item.fullPath || \"\")}\r\n >\r\n <CloseOutlined />\r\n </span>\r\n </div>\r\n </li>\r\n ))}\r\n </ul>\r\n </div>\r\n </>\r\n )\r\n }}\r\n </a-popover>\r\n </div>\r\n );\r\n }\r\n});\r\n"],"names":["name","setup","router","useRouter","useToken","theme","token","getList","deleteTabs","useNavTabStore","keys","useMagicKeys","shiftCtrlA","open","ref","y","useWindowScroll","navTabList","computed","sort","a","b","openTime","watch","v","value","val","onCloseTab","path","searchStyle","css","colorBorder","searchListStyle","colorPrimaryBorder","colorBgLayout","colorPrimary","timeAgo","providedTime","now","dayjs","diffInSeconds","diff","diffInMinutes","diffInHours","onJump","item","fullPath","push","_createVNode","_resolveComponent","$event","default","borderRadius","h","DownOutlined","content","_Fragment","prefix","SearchOutlined","suffix","color","_createTextVNode","map","onClick","UnorderedListOutlined","meta","title","window","location","hostname","CloseOutlined"],"mappings":"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"}
@@ -26,7 +26,6 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
26
26
  return css`
27
27
  --active-tab-color: ${activeTabColor.value};
28
28
  --splitColor: ${splitColor.value};
29
- background: ${token.value.colorBgContainer};
30
29
  padding-top: 10px;
31
30
  display: flex;
32
31
  `;
@@ -1 +1 @@
1
- {"version":3,"file":"Tab.vue2.mjs","sources":["../../../../src/components/tab/Tab.vue"],"sourcesContent":["<script setup lang=\"ts\">\r\nimport { computed, type ComputedRef, watch } from \"vue\";\r\nimport { useRoute, useRouter } from \"vue-router\";\r\nimport { theme } from \"ant-design-vue\";\r\nimport { storeToRefs } from \"pinia\";\r\n\r\nimport Search from \"./Search\";\r\nimport { CloseOutlined } from \"@ant-design/icons-vue\";\r\nimport { useNavTabStore } from \"@ditari/store\";\r\nimport { css } from \"@emotion/css\";\r\nimport type { GlobalToken } from \"ant-design-vue/es/theme/interface\";\r\n\r\nconst { tabsNavStyle, tabHoverBgStyle, closeBtnStyle } = useStyle();\r\n\r\nconst { activeKey, list, onChange, onClose } = useTab();\r\n\r\nfunction useStyle(): {\r\n tabsNavStyle: ComputedRef<string>;\r\n tabHoverBgStyle: ComputedRef<string>;\r\n closeBtnStyle: ComputedRef<string>;\r\n} {\r\n const { useToken } = theme;\r\n const { token }: { token: ComputedRef<GlobalToken> } = useToken();\r\n\r\n const activeTabColor = computed(() => token.value.colorBgLayout);\r\n const splitColor = computed(() => token.value.colorBorderSecondary);\r\n\r\n const tabsNavStyle = computed(() => {\r\n return css`\r\n --active-tab-color: ${activeTabColor.value};\r\n --splitColor: ${splitColor.value};\r\n background: ${token.value.colorBgContainer};\r\n padding-top: 10px;\r\n display: flex;\r\n `;\r\n });\r\n\r\n const tabHoverBgStyle = computed(() => {\r\n return css`\r\n &:before {\r\n background: ${token.value.colorPrimaryBgHover};\r\n }\r\n `;\r\n });\r\n\r\n const closeBtnStyle = computed(() => {\r\n return css`\r\n &:hover {\r\n background: ${token.value.colorPrimaryBorderHover};\r\n border-radius: 50%;\r\n }\r\n `;\r\n });\r\n\r\n return {\r\n tabsNavStyle,\r\n tabHoverBgStyle,\r\n closeBtnStyle\r\n };\r\n}\r\n\r\nfunction useTab() {\r\n const route = useRoute();\r\n const router = useRouter();\r\n\r\n const store = useNavTabStore();\r\n const { list, activeKey } = storeToRefs(store);\r\n const { save, deleteTabs } = store;\r\n\r\n watch(\r\n () => route.fullPath,\r\n () => {\r\n save(route);\r\n },\r\n {\r\n immediate: true\r\n }\r\n );\r\n\r\n watch(\r\n () => route.fullPath,\r\n val => {\r\n activeKey.value = val;\r\n },\r\n {\r\n immediate: true\r\n }\r\n );\r\n\r\n const onChange = (key: string) => {\r\n if (key !== route.path) {\r\n // 匹配打开的标签路由数据\r\n const rs = list.value.filter(item => item.fullPath === key)[0];\r\n router.push(rs);\r\n }\r\n };\r\n\r\n const onClose = ($event: Event, key: string | undefined) => {\r\n if (!key) return;\r\n //阻止冒泡\r\n $event.stopPropagation();\r\n // 删除标签\r\n deleteTabs(key);\r\n // 重新push已打开的路由\r\n const backRoute = list.value[list.value.length - 1];\r\n if (backRoute.fullPath) {\r\n router.push(backRoute.fullPath);\r\n }\r\n };\r\n\r\n return {\r\n activeKey,\r\n list,\r\n onChange,\r\n onClose\r\n };\r\n}\r\n</script>\r\n<template>\r\n <div class=\"tabs-nav-wrapper\" :class=\"tabsNavStyle\">\r\n <Search />\r\n <div class=\"d-tabs-nav\">\r\n <a-tabs\r\n size=\"small\"\r\n v-model:activeKey=\"activeKey\"\r\n type=\"card\"\r\n hide-add\r\n @change=\"onChange\"\r\n >\r\n <a-tab-pane\r\n :key=\"item.fullPath\"\r\n :closable=\"false\"\r\n v-for=\"item in list\"\r\n :class=\"{ active: activeKey === item.fullPath }\"\r\n >\r\n <template #tab>\r\n <div class=\"tab-hover-bg\" :class=\"tabHoverBgStyle\"></div>\r\n <div class=\"tab-dividers\"></div>\r\n <div class=\"tab-item\">{{ item.meta?.title || \"无标题\" }}</div>\r\n <div class=\"tab-close\">\r\n <div\r\n class=\"close-btn\"\r\n :class=\"closeBtnStyle\"\r\n @click=\"onClose($event, item.fullPath)\"\r\n >\r\n <CloseOutlined />\r\n </div>\r\n </div>\r\n </template>\r\n </a-tab-pane>\r\n </a-tabs>\r\n </div>\r\n </div>\r\n</template>\r\n\r\n<style lang=\"scss\"></style>\r\n"],"names":["tabsNavStyle","tabHoverBgStyle","closeBtnStyle","list","activeKey","onChange","onClose"],"mappings":"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"}
1
+ {"version":3,"file":"Tab.vue2.mjs","sources":["../../../../src/components/tab/Tab.vue"],"sourcesContent":["<script setup lang=\"ts\">\r\nimport { computed, type ComputedRef, watch } from \"vue\";\r\nimport { useRoute, useRouter } from \"vue-router\";\r\nimport { theme } from \"ant-design-vue\";\r\nimport { storeToRefs } from \"pinia\";\r\n\r\nimport Search from \"./Search\";\r\nimport { CloseOutlined } from \"@ant-design/icons-vue\";\r\nimport { useAppStore, useNavTabStore } from \"@ditari/store\";\r\nimport { css } from \"@emotion/css\";\r\nimport type { GlobalToken } from \"ant-design-vue/es/theme/interface\";\r\n\r\nconst { tabsNavStyle, tabHoverBgStyle, closeBtnStyle } = useStyle();\r\n\r\nconst { activeKey, list, onChange, onClose } = useTab();\r\n\r\nfunction useStyle(): {\r\n tabsNavStyle: ComputedRef<string>;\r\n tabHoverBgStyle: ComputedRef<string>;\r\n closeBtnStyle: ComputedRef<string>;\r\n} {\r\n const { useToken } = theme;\r\n const { token }: { token: ComputedRef<GlobalToken> } = useToken();\r\n\r\n const activeTabColor = computed(() => token.value.colorBgLayout);\r\n const splitColor = computed(() => token.value.colorBorderSecondary);\r\n\r\n const tabsNavStyle = computed(() => {\r\n return css`\r\n --active-tab-color: ${activeTabColor.value};\r\n --splitColor: ${splitColor.value};\r\n padding-top: 10px;\r\n display: flex;\r\n `;\r\n });\r\n\r\n const tabHoverBgStyle = computed(() => {\r\n return css`\r\n &:before {\r\n background: ${token.value.colorPrimaryBgHover};\r\n }\r\n `;\r\n });\r\n\r\n const closeBtnStyle = computed(() => {\r\n return css`\r\n &:hover {\r\n background: ${token.value.colorPrimaryBorderHover};\r\n border-radius: 50%;\r\n }\r\n `;\r\n });\r\n\r\n return {\r\n tabsNavStyle,\r\n tabHoverBgStyle,\r\n closeBtnStyle\r\n };\r\n}\r\n\r\nfunction useTab() {\r\n const route = useRoute();\r\n const router = useRouter();\r\n\r\n const store = useNavTabStore();\r\n const { list, activeKey } = storeToRefs(store);\r\n const { save, deleteTabs } = store;\r\n\r\n watch(\r\n () => route.fullPath,\r\n () => {\r\n save(route);\r\n },\r\n {\r\n immediate: true\r\n }\r\n );\r\n\r\n watch(\r\n () => route.fullPath,\r\n val => {\r\n activeKey.value = val;\r\n },\r\n {\r\n immediate: true\r\n }\r\n );\r\n\r\n const onChange = (key: string) => {\r\n if (key !== route.path) {\r\n // 匹配打开的标签路由数据\r\n const rs = list.value.filter(item => item.fullPath === key)[0];\r\n router.push(rs);\r\n }\r\n };\r\n\r\n const onClose = ($event: Event, key: string | undefined) => {\r\n if (!key) return;\r\n //阻止冒泡\r\n $event.stopPropagation();\r\n // 删除标签\r\n deleteTabs(key);\r\n // 重新push已打开的路由\r\n const backRoute = list.value[list.value.length - 1];\r\n if (backRoute.fullPath) {\r\n router.push(backRoute.fullPath);\r\n }\r\n };\r\n\r\n return {\r\n activeKey,\r\n list,\r\n onChange,\r\n onClose\r\n };\r\n}\r\n</script>\r\n<template>\r\n <div class=\"tabs-nav-wrapper\" :class=\"tabsNavStyle\">\r\n <Search />\r\n <div class=\"d-tabs-nav\">\r\n <a-tabs\r\n size=\"small\"\r\n v-model:activeKey=\"activeKey\"\r\n type=\"card\"\r\n hide-add\r\n @change=\"onChange\"\r\n >\r\n <a-tab-pane\r\n :key=\"item.fullPath\"\r\n :closable=\"false\"\r\n v-for=\"item in list\"\r\n :class=\"{ active: activeKey === item.fullPath }\"\r\n >\r\n <template #tab>\r\n <div class=\"tab-hover-bg\" :class=\"tabHoverBgStyle\"></div>\r\n <div class=\"tab-dividers\"></div>\r\n <div class=\"tab-item\">{{ item.meta?.title || \"无标题\" }}</div>\r\n <div class=\"tab-close\">\r\n <div\r\n class=\"close-btn\"\r\n :class=\"closeBtnStyle\"\r\n @click=\"onClose($event, item.fullPath)\"\r\n >\r\n <CloseOutlined />\r\n </div>\r\n </div>\r\n </template>\r\n </a-tab-pane>\r\n </a-tabs>\r\n </div>\r\n </div>\r\n</template>\r\n\r\n<style lang=\"scss\"></style>\r\n"],"names":["tabsNavStyle","tabHoverBgStyle","closeBtnStyle","list","activeKey","onChange","onClose"],"mappings":"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"}
@@ -19,6 +19,8 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
19
19
  collapsedWidth: number;
20
20
  collapsed: boolean;
21
21
  }>;
22
+ modeConfig: import("vue").Ref<import("@ditari/store/dist/types/modules/useAppStore").Mode, import("@ditari/store/dist/types/modules/useAppStore").Mode>;
23
+ sideTokenStyle: import("vue").Ref<Record<string, string>, Record<string, string>>;
22
24
  route: import("vue-router").RouteLocationNormalizedLoadedGeneric;
23
25
  layoutStyle: string;
24
26
  siderStyle: import("vue").ComputedRef<string>;
@@ -95,6 +97,8 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
95
97
  collapsedWidth: number;
96
98
  collapsed: boolean;
97
99
  }>;
100
+ modeConfig: import("vue").Ref<import("@ditari/store/dist/types/modules/useAppStore").Mode, import("@ditari/store/dist/types/modules/useAppStore").Mode>;
101
+ headerTokenStyle: import("vue").Ref<Record<string, string>, Record<string, string>>;
98
102
  headerStyle: import("vue").ComputedRef<string>;
99
103
  headerTabStyle: import("vue").ComputedRef<string>;
100
104
  collapsedStyle: import("vue").ComputedRef<string>;
@@ -112,7 +116,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
112
116
  tabHoverBgStyle: import("vue").ComputedRef<string>;
113
117
  closeBtnStyle: import("vue").ComputedRef<string>;
114
118
  activeKey: import("vue").Ref<string, string>;
115
- list: import("vue").Ref<import("@ditari/store/dist/types/modules/useNavTabStore").NavTabsState[], import("@ditari/store/dist/types/modules/useNavTabStore").NavTabsState[]>;
119
+ list: import("vue").Ref<import("@ditari/store").NavTabsState[], import("@ditari/store").NavTabsState[]>;
116
120
  onChange: (key: string) => void;
117
121
  onClose: ($event: Event, key: string | undefined) => void;
118
122
  useStyle: () => {
@@ -122,7 +126,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
122
126
  };
123
127
  useTab: () => {
124
128
  activeKey: import("vue").Ref<string, string>;
125
- list: import("vue").Ref<import("@ditari/store/dist/types/modules/useNavTabStore").NavTabsState[], import("@ditari/store/dist/types/modules/useNavTabStore").NavTabsState[]>;
129
+ list: import("vue").Ref<import("@ditari/store").NavTabsState[], import("@ditari/store").NavTabsState[]>;
126
130
  onChange: (key: string) => void;
127
131
  onClose: ($event: Event, key: string | undefined) => void;
128
132
  };
@@ -1 +1 @@
1
- {"version":3,"file":"Layout.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/layout/Layout.vue.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAeA,wBAwGE"}
1
+ {"version":3,"file":"Layout.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/layout/Layout.vue.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAeA,wBA2GE"}
@@ -1 +1 @@
1
- {"version":3,"file":"Show.d.ts","sourceRoot":"","sources":["../../../../src/components/layout/Show.tsx"],"names":[],"mappings":"AAkBA,QAAA,MAAM,IAAI;;;;;;;;;;;;4EAqGR,CAAC;AAEH,eAAe,IAAI,CAAC"}
1
+ {"version":3,"file":"Show.d.ts","sourceRoot":"","sources":["../../../../src/components/layout/Show.tsx"],"names":[],"mappings":"AAmBA,QAAA,MAAM,IAAI;;;;;;;;;;;;4EA+GR,CAAC;AAEH,eAAe,IAAI,CAAC"}
@@ -11,6 +11,8 @@ declare const _default: import("vue").DefineComponent<{}, {
11
11
  collapsedWidth: number;
12
12
  collapsed: boolean;
13
13
  }>;
14
+ modeConfig: import("vue").Ref<import("@ditari/store/dist/types/modules/useAppStore").Mode, import("@ditari/store/dist/types/modules/useAppStore").Mode>;
15
+ headerTokenStyle: import("vue").Ref<Record<string, string>, Record<string, string>>;
14
16
  headerStyle: ComputedRef<string>;
15
17
  headerTabStyle: ComputedRef<string>;
16
18
  collapsedStyle: ComputedRef<string>;
@@ -28,7 +30,7 @@ declare const _default: import("vue").DefineComponent<{}, {
28
30
  tabHoverBgStyle: ComputedRef<string>;
29
31
  closeBtnStyle: ComputedRef<string>;
30
32
  activeKey: import("vue").Ref<string, string>;
31
- list: import("vue").Ref<import("@ditari/store/dist/types/modules/useNavTabStore").NavTabsState[], import("@ditari/store/dist/types/modules/useNavTabStore").NavTabsState[]>;
33
+ list: import("vue").Ref<import("@ditari/store").NavTabsState[], import("@ditari/store").NavTabsState[]>;
32
34
  onChange: (key: string) => void;
33
35
  onClose: ($event: Event, key: string | undefined) => void;
34
36
  useStyle: () => {
@@ -38,7 +40,7 @@ declare const _default: import("vue").DefineComponent<{}, {
38
40
  };
39
41
  useTab: () => {
40
42
  activeKey: import("vue").Ref<string, string>;
41
- list: import("vue").Ref<import("@ditari/store/dist/types/modules/useNavTabStore").NavTabsState[], import("@ditari/store/dist/types/modules/useNavTabStore").NavTabsState[]>;
43
+ list: import("vue").Ref<import("@ditari/store").NavTabsState[], import("@ditari/store").NavTabsState[]>;
42
44
  onChange: (key: string) => void;
43
45
  onClose: ($event: Event, key: string | undefined) => void;
44
46
  };
@@ -1 +1 @@
1
- {"version":3,"file":"HeaderLayout.vue.d.ts","sourceRoot":"","sources":["../../../../../../src/components/layout/components/layout/HeaderLayout.vue.ts"],"names":[],"mappings":"AACA,OAAO,EAAY,KAAK,WAAW,EAAE,MAAM,KAAK,CAAC;;;;;;;;;;;;;;;;;oBAmB5B;QACnB,WAAW,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;QACjC,cAAc,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;QACpC,cAAc,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;QACpC,UAAU,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;KACjC;;;;;;;;;;;;;;;;;;;;;;;;;;AAZD,wBAyEE"}
1
+ {"version":3,"file":"HeaderLayout.vue.d.ts","sourceRoot":"","sources":["../../../../../../src/components/layout/components/layout/HeaderLayout.vue.ts"],"names":[],"mappings":"AACA,OAAO,EAAY,KAAK,WAAW,EAAE,MAAM,KAAK,CAAC;;;;;;;;;;;;;;;;;;;oBAmB5B;QACnB,WAAW,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;QACjC,cAAc,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;QACpC,cAAc,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;QACpC,UAAU,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;KACjC;;;;;;;;;;;;;;;;;;;;;;;;;;AAZD,wBA8EE"}
@@ -1 +1 @@
1
- {"version":3,"file":"Menu.d.ts","sourceRoot":"","sources":["../../../../../../src/components/layout/components/menu/Menu.tsx"],"names":[],"mappings":";AAOA,wBAyJG"}
1
+ {"version":3,"file":"Menu.d.ts","sourceRoot":"","sources":["../../../../../../src/components/layout/components/menu/Menu.tsx"],"names":[],"mappings":";AAOA,wBA6JG"}
@@ -1 +1 @@
1
- {"version":3,"file":"Search.d.ts","sourceRoot":"","sources":["../../../../src/components/tab/Search.tsx"],"names":[],"mappings":";AAeA,wBAyPG"}
1
+ {"version":3,"file":"Search.d.ts","sourceRoot":"","sources":["../../../../src/components/tab/Search.tsx"],"names":[],"mappings":";AAgBA,wBAgQG"}
@@ -4,7 +4,7 @@ declare const _default: import("vue").DefineComponent<{}, {
4
4
  tabHoverBgStyle: ComputedRef<string>;
5
5
  closeBtnStyle: ComputedRef<string>;
6
6
  activeKey: import("vue").Ref<string, string>;
7
- list: import("vue").Ref<import("@ditari/store/dist/types/modules/useNavTabStore").NavTabsState[], import("@ditari/store/dist/types/modules/useNavTabStore").NavTabsState[]>;
7
+ list: import("vue").Ref<import("@ditari/store").NavTabsState[], import("@ditari/store").NavTabsState[]>;
8
8
  onChange: (key: string) => void;
9
9
  onClose: ($event: Event, key: string | undefined) => void;
10
10
  useStyle: () => {
@@ -14,7 +14,7 @@ declare const _default: import("vue").DefineComponent<{}, {
14
14
  };
15
15
  useTab: () => {
16
16
  activeKey: import("vue").Ref<string, string>;
17
- list: import("vue").Ref<import("@ditari/store/dist/types/modules/useNavTabStore").NavTabsState[], import("@ditari/store/dist/types/modules/useNavTabStore").NavTabsState[]>;
17
+ list: import("vue").Ref<import("@ditari/store").NavTabsState[], import("@ditari/store").NavTabsState[]>;
18
18
  onChange: (key: string) => void;
19
19
  onClose: ($event: Event, key: string | undefined) => void;
20
20
  };