@ditari/bsui 5.0.1 → 5.0.3

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 (169) hide show
  1. package/dist/cjs/components/index.cjs +12 -7
  2. package/dist/cjs/components/index.cjs.map +1 -1
  3. package/dist/cjs/components/layout/Layout.vue.cjs +10 -0
  4. package/dist/cjs/components/layout/Layout.vue.cjs.map +1 -0
  5. package/dist/cjs/components/layout/Layout.vue2.cjs +144 -0
  6. package/dist/cjs/components/layout/Layout.vue2.cjs.map +1 -0
  7. package/dist/cjs/components/layout/{list.cjs → List.cjs} +18 -4
  8. package/dist/cjs/components/layout/List.cjs.map +1 -0
  9. package/dist/cjs/components/layout/Show.cjs +134 -0
  10. package/dist/cjs/components/layout/Show.cjs.map +1 -0
  11. package/dist/cjs/components/layout/components/layout/HeaderLayout.vue.cjs +10 -0
  12. package/dist/cjs/components/layout/components/layout/HeaderLayout.vue.cjs.map +1 -0
  13. package/dist/cjs/components/layout/components/layout/HeaderLayout.vue2.cjs +120 -0
  14. package/dist/cjs/components/layout/components/layout/HeaderLayout.vue2.cjs.map +1 -0
  15. package/dist/cjs/components/layout/components/layout/RouterContent.vue.cjs +10 -0
  16. package/dist/cjs/components/layout/components/layout/RouterContent.vue.cjs.map +1 -0
  17. package/dist/cjs/components/layout/components/layout/RouterContent.vue2.cjs +47 -0
  18. package/dist/cjs/components/layout/components/layout/RouterContent.vue2.cjs.map +1 -0
  19. package/dist/cjs/components/layout/components/menu/Menu.cjs +117 -0
  20. package/dist/cjs/components/layout/components/menu/Menu.cjs.map +1 -0
  21. package/dist/cjs/components/layout/index.cjs +16 -8
  22. package/dist/cjs/components/layout/index.cjs.map +1 -1
  23. package/dist/cjs/components/select/Select.vue.cjs +10 -0
  24. package/dist/cjs/components/select/Select.vue.cjs.map +1 -0
  25. package/dist/cjs/components/select/Select.vue2.cjs +105 -0
  26. package/dist/cjs/components/select/Select.vue2.cjs.map +1 -0
  27. package/dist/cjs/components/select/index.cjs +14 -0
  28. package/dist/cjs/components/select/index.cjs.map +1 -0
  29. package/dist/cjs/components/tab/Tab.vue.cjs +1 -1
  30. package/dist/cjs/components/tab/Tab.vue.cjs.map +1 -1
  31. package/dist/cjs/components/tab/Tab.vue2.cjs +92 -46
  32. package/dist/cjs/components/tab/Tab.vue2.cjs.map +1 -1
  33. package/dist/cjs/components/tab/index.cjs +1 -0
  34. package/dist/cjs/components/tab/index.cjs.map +1 -1
  35. package/dist/cjs/components/table/{table.cjs → Table.cjs} +2 -9
  36. package/dist/cjs/components/table/Table.cjs.map +1 -0
  37. package/dist/cjs/components/table/index.cjs +7 -6
  38. package/dist/cjs/components/table/index.cjs.map +1 -1
  39. package/dist/cjs/components/table/interface.cjs +1 -0
  40. package/dist/cjs/components/table/interface.cjs.map +1 -1
  41. package/dist/cjs/index.cjs +11 -6
  42. package/dist/cjs/index.cjs.map +1 -1
  43. package/dist/cjs/shims-vue.d.cjs +4 -0
  44. package/dist/cjs/shims-vue.d.cjs.map +1 -0
  45. package/dist/cjs/utils/useTheme.cjs +23 -0
  46. package/dist/cjs/utils/useTheme.cjs.map +1 -0
  47. package/dist/css/components/tab/style/index.css +1 -159
  48. package/dist/css/index.css +1 -159
  49. package/dist/esm/components/index.mjs +8 -3
  50. package/dist/esm/components/index.mjs.map +1 -1
  51. package/dist/esm/components/layout/Layout.vue.mjs +6 -0
  52. package/dist/esm/components/layout/Layout.vue.mjs.map +1 -0
  53. package/dist/esm/components/layout/Layout.vue2.mjs +140 -0
  54. package/dist/esm/components/layout/Layout.vue2.mjs.map +1 -0
  55. package/dist/esm/components/layout/{list.mjs → List.mjs} +18 -4
  56. package/dist/esm/components/layout/List.mjs.map +1 -0
  57. package/dist/esm/components/layout/Show.mjs +130 -0
  58. package/dist/esm/components/layout/Show.mjs.map +1 -0
  59. package/dist/esm/components/layout/components/layout/HeaderLayout.vue.mjs +6 -0
  60. package/dist/esm/components/layout/components/layout/HeaderLayout.vue.mjs.map +1 -0
  61. package/dist/esm/components/layout/components/layout/HeaderLayout.vue2.mjs +116 -0
  62. package/dist/esm/components/layout/components/layout/HeaderLayout.vue2.mjs.map +1 -0
  63. package/dist/esm/components/layout/components/layout/RouterContent.vue.mjs +6 -0
  64. package/dist/esm/components/layout/components/layout/RouterContent.vue.mjs.map +1 -0
  65. package/dist/esm/components/layout/components/layout/RouterContent.vue2.mjs +43 -0
  66. package/dist/esm/components/layout/components/layout/RouterContent.vue2.mjs.map +1 -0
  67. package/dist/esm/components/layout/components/menu/Menu.mjs +113 -0
  68. package/dist/esm/components/layout/components/menu/Menu.mjs.map +1 -0
  69. package/dist/esm/components/layout/index.mjs +12 -5
  70. package/dist/esm/components/layout/index.mjs.map +1 -1
  71. package/dist/esm/components/select/Select.vue.mjs +6 -0
  72. package/dist/esm/components/select/Select.vue.mjs.map +1 -0
  73. package/dist/esm/components/select/Select.vue2.mjs +101 -0
  74. package/dist/esm/components/select/Select.vue2.mjs.map +1 -0
  75. package/dist/esm/components/select/index.mjs +10 -0
  76. package/dist/esm/components/select/index.mjs.map +1 -0
  77. package/dist/esm/components/tab/Tab.vue.mjs +1 -1
  78. package/dist/esm/components/tab/Tab.vue.mjs.map +1 -1
  79. package/dist/esm/components/tab/Tab.vue2.mjs +94 -48
  80. package/dist/esm/components/tab/Tab.vue2.mjs.map +1 -1
  81. package/dist/esm/components/tab/index.mjs +1 -0
  82. package/dist/esm/components/tab/index.mjs.map +1 -1
  83. package/dist/esm/components/table/{table.mjs → Table.mjs} +3 -10
  84. package/dist/esm/components/table/Table.mjs.map +1 -0
  85. package/dist/esm/components/table/index.mjs +3 -2
  86. package/dist/esm/components/table/index.mjs.map +1 -1
  87. package/dist/esm/components/table/interface.mjs +1 -1
  88. package/dist/esm/index.mjs +6 -3
  89. package/dist/esm/index.mjs.map +1 -1
  90. package/dist/esm/shims-vue.d.mjs +2 -0
  91. package/dist/esm/shims-vue.d.mjs.map +1 -0
  92. package/dist/esm/utils/useTheme.mjs +21 -0
  93. package/dist/esm/utils/useTheme.mjs.map +1 -0
  94. package/dist/style/index.scss +1 -0
  95. package/dist/style/tab/style/index.scss +1 -1
  96. package/dist/{esm → types}/components/index.d.ts +2 -0
  97. package/dist/types/components/index.d.ts.map +1 -0
  98. package/dist/types/components/layout/Layout.vue.d.ts +56 -0
  99. package/dist/types/components/layout/Layout.vue.d.ts.map +1 -0
  100. package/dist/{cjs/components/layout/list.d.ts → types/components/layout/List.d.ts} +2 -2
  101. package/dist/types/components/layout/List.d.ts.map +1 -0
  102. package/dist/types/components/layout/Show.d.ts +18 -0
  103. package/dist/types/components/layout/Show.d.ts.map +1 -0
  104. package/dist/types/components/layout/components/layout/HeaderLayout.vue.d.ts +28 -0
  105. package/dist/types/components/layout/components/layout/HeaderLayout.vue.d.ts.map +1 -0
  106. package/dist/types/components/layout/components/layout/RouterContent.vue.d.ts +5 -0
  107. package/dist/types/components/layout/components/layout/RouterContent.vue.d.ts.map +1 -0
  108. package/dist/types/components/layout/components/menu/Menu.d.ts +3 -0
  109. package/dist/types/components/layout/components/menu/Menu.d.ts.map +1 -0
  110. package/dist/types/components/layout/index.d.ts +5 -0
  111. package/dist/types/components/layout/index.d.ts.map +1 -0
  112. package/dist/types/components/select/Select.vue.d.ts +97 -0
  113. package/dist/types/components/select/Select.vue.d.ts.map +1 -0
  114. package/dist/types/components/select/index.d.ts +3 -0
  115. package/dist/types/components/select/index.d.ts.map +1 -0
  116. package/dist/{cjs → types}/components/tab/Tab.vue.d.ts +10 -3
  117. package/dist/types/components/tab/Tab.vue.d.ts.map +1 -0
  118. package/dist/{cjs → types}/components/tab/index.d.ts +1 -0
  119. package/dist/types/components/tab/index.d.ts.map +1 -0
  120. package/dist/{cjs/components/table/table.d.ts → types/components/table/Table.d.ts} +8 -7
  121. package/dist/types/components/table/Table.d.ts.map +1 -0
  122. package/dist/types/components/table/index.d.ts +4 -0
  123. package/dist/types/components/table/index.d.ts.map +1 -0
  124. package/dist/{cjs → types}/components/table/interface.d.ts +1 -0
  125. package/dist/types/components/table/interface.d.ts.map +1 -0
  126. package/dist/{cjs → types}/index.d.ts +1 -0
  127. package/dist/types/index.d.ts.map +1 -0
  128. package/dist/types/utils/useTheme.d.ts +9 -0
  129. package/dist/types/utils/useTheme.d.ts.map +1 -0
  130. package/package.json +24 -6
  131. package/CHANGELOG.md +0 -7
  132. package/dist/cjs/components/index.d.ts +0 -3
  133. package/dist/cjs/components/layout/index.d.ts +0 -3
  134. package/dist/cjs/components/layout/list.cjs.map +0 -1
  135. package/dist/cjs/components/layout/show.cjs +0 -24
  136. package/dist/cjs/components/layout/show.cjs.map +0 -1
  137. package/dist/cjs/components/layout/show.d.ts +0 -5
  138. package/dist/cjs/components/table/index.d.ts +0 -3
  139. package/dist/cjs/components/table/table.cjs.map +0 -1
  140. package/dist/esm/components/layout/index.d.ts +0 -3
  141. package/dist/esm/components/layout/list.d.ts +0 -5
  142. package/dist/esm/components/layout/list.mjs.map +0 -1
  143. package/dist/esm/components/layout/show.d.ts +0 -5
  144. package/dist/esm/components/layout/show.mjs +0 -20
  145. package/dist/esm/components/layout/show.mjs.map +0 -1
  146. package/dist/esm/components/tab/Tab.vue.d.ts +0 -22
  147. package/dist/esm/components/tab/index.d.ts +0 -2
  148. package/dist/esm/components/table/index.d.ts +0 -3
  149. package/dist/esm/components/table/interface.d.ts +0 -45
  150. package/dist/esm/components/table/table.d.ts +0 -136
  151. package/dist/esm/components/table/table.mjs.map +0 -1
  152. package/dist/esm/index.d.ts +0 -7
  153. package/src/components/index.ts +0 -4
  154. package/src/components/layout/index.ts +0 -15
  155. package/src/components/layout/list.tsx +0 -137
  156. package/src/components/layout/show.tsx +0 -13
  157. package/src/components/readme.md +0 -4
  158. package/src/components/tab/Tab.vue +0 -105
  159. package/src/components/tab/index.ts +0 -9
  160. package/src/components/tab/style/index.scss +0 -176
  161. package/src/components/table/index.ts +0 -10
  162. package/src/components/table/interface.ts +0 -59
  163. package/src/components/table/table.tsx +0 -491
  164. package/src/index.scss +0 -1
  165. package/src/index.ts +0 -31
  166. package/tsconfig.app.json +0 -29
  167. package/tsconfig.json +0 -7
  168. package/tsconfig.node.json +0 -27
  169. package/vite.config.ts +0 -43
@@ -0,0 +1,140 @@
1
+ import { defineComponent, watch, computed, resolveComponent, createElementBlock, openBlock, Fragment, createVNode, normalizeClass, unref, withCtx, renderSlot } from 'vue';
2
+ import { useRoute } from 'vue-router';
3
+ import { storeToRefs } from 'pinia';
4
+ import DMenu from './components/menu/Menu.mjs';
5
+ import { useAppStore, useKeepAliveStore } from '@ditari/store';
6
+ import { css } from '@emotion/css';
7
+ import './components/layout/HeaderLayout.vue.mjs';
8
+ import './components/layout/RouterContent.vue.mjs';
9
+ import _sfc_main$1 from './components/layout/HeaderLayout.vue2.mjs';
10
+ import _sfc_main$2 from './components/layout/RouterContent.vue2.mjs';
11
+
12
+ "use strict";
13
+ var _sfc_main = /* @__PURE__ */ defineComponent({
14
+ __name: "Layout",
15
+ setup(__props) {
16
+ const { layout } = storeToRefs(useAppStore());
17
+ const route = useRoute();
18
+ const { layoutStyle, siderStyle, rightStyle, rightContentStyle } = useStyle();
19
+ useKeepAlive();
20
+ function useKeepAlive() {
21
+ const { save } = useKeepAliveStore();
22
+ watch(
23
+ () => route.path,
24
+ () => {
25
+ save(route);
26
+ },
27
+ {
28
+ immediate: true
29
+ }
30
+ );
31
+ }
32
+ function useStyle() {
33
+ const layoutStyle2 = css`
34
+ height: 100%;
35
+ `;
36
+ const transitionStyle = css`
37
+ transition: margin-left 0.4s cubic-bezier(0.22, 1.2, 0.36, 1);
38
+ `;
39
+ const left = computed(
40
+ () => `${layout.value.collapsed ? layout.value.collapsedWidth : layout.value.sideWidth}px`
41
+ );
42
+ const siderStyle2 = computed(
43
+ () => css`
44
+ position: fixed !important;
45
+ top: 0;
46
+ bottom: 0;
47
+ left: 0;
48
+ width: ${layout.value.sideWidth}px;
49
+
50
+ .ant-layout-sider-children {
51
+ display: flex;
52
+ flex-direction: column;
53
+ }
54
+ `
55
+ );
56
+ const rightStyle2 = computed(
57
+ () => css`
58
+ margin-left: ${left.value};
59
+ ${transitionStyle}
60
+ `
61
+ );
62
+ const rightContentStyle2 = computed(
63
+ () => css`
64
+ padding-top: ${layout.value.headerHeight}px;
65
+ `
66
+ );
67
+ return {
68
+ layoutStyle: layoutStyle2,
69
+ siderStyle: siderStyle2,
70
+ rightStyle: rightStyle2,
71
+ rightContentStyle: rightContentStyle2
72
+ };
73
+ }
74
+ return (_ctx, _cache) => {
75
+ const _component_a_layout_sider = resolveComponent("a-layout-sider");
76
+ const _component_a_layout_content = resolveComponent("a-layout-content");
77
+ const _component_a_layout = resolveComponent("a-layout");
78
+ const _component_a_back_top = resolveComponent("a-back-top");
79
+ return openBlock(), createElementBlock(
80
+ Fragment,
81
+ null,
82
+ [
83
+ createVNode(_component_a_layout, {
84
+ class: normalizeClass(unref(layoutStyle))
85
+ }, {
86
+ default: withCtx(() => [
87
+ createVNode(_component_a_layout_sider, {
88
+ collapsed: unref(layout).collapsed,
89
+ "onUpdate:collapsed": _cache[0] || (_cache[0] = ($event) => unref(layout).collapsed = $event),
90
+ theme: "light",
91
+ collapsible: "",
92
+ trigger: null,
93
+ class: normalizeClass(unref(siderStyle))
94
+ }, {
95
+ default: withCtx(() => [
96
+ renderSlot(_ctx.$slots, "logo"),
97
+ createVNode(unref(DMenu))
98
+ ]),
99
+ _: 3
100
+ /* FORWARDED */
101
+ }, 8, ["collapsed", "class"]),
102
+ createVNode(_component_a_layout, {
103
+ class: normalizeClass(unref(rightStyle))
104
+ }, {
105
+ default: withCtx(() => [
106
+ createVNode(_sfc_main$1, null, {
107
+ default: withCtx(() => [
108
+ renderSlot(_ctx.$slots, "headerRight")
109
+ ]),
110
+ _: 3
111
+ /* FORWARDED */
112
+ }),
113
+ createVNode(_component_a_layout_content, {
114
+ class: normalizeClass(unref(rightContentStyle))
115
+ }, {
116
+ default: withCtx(() => [
117
+ createVNode(_sfc_main$2)
118
+ ]),
119
+ _: 1
120
+ /* STABLE */
121
+ }, 8, ["class"])
122
+ ]),
123
+ _: 3
124
+ /* FORWARDED */
125
+ }, 8, ["class"])
126
+ ]),
127
+ _: 3
128
+ /* FORWARDED */
129
+ }, 8, ["class"]),
130
+ createVNode(_component_a_back_top)
131
+ ],
132
+ 64
133
+ /* STABLE_FRAGMENT */
134
+ );
135
+ };
136
+ }
137
+ });
138
+
139
+ export { _sfc_main as default };
140
+ //# sourceMappingURL=Layout.vue2.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Layout.vue2.mjs","sources":["../../../../src/components/layout/Layout.vue"],"sourcesContent":["<script setup lang=\"ts\">\r\nimport { computed, watch } from \"vue\";\r\nimport { useRoute } from \"vue-router\";\r\nimport { storeToRefs } from \"pinia\";\r\n\r\nimport DMenu from \"./components/menu/Menu\";\r\nimport { useAppStore, useKeepAliveStore } from \"@ditari/store\";\r\nimport { css } from \"@emotion/css\";\r\n\r\nimport HeaderLayout from \"./components/layout/HeaderLayout.vue\";\r\nimport RouterContent from \"./components/layout/RouterContent.vue\";\r\n\r\nconst { layout } = storeToRefs(useAppStore());\r\nconst route = useRoute();\r\n\r\nconst { layoutStyle, siderStyle, rightStyle, rightContentStyle } = useStyle();\r\n\r\nuseKeepAlive();\r\n\r\nfunction useKeepAlive() {\r\n const { save } = useKeepAliveStore();\r\n\r\n watch(\r\n () => route.path,\r\n () => {\r\n save(route);\r\n },\r\n {\r\n immediate: true\r\n }\r\n );\r\n}\r\n\r\nfunction useStyle() {\r\n const layoutStyle = css`\r\n height: 100%;\r\n `;\r\n\r\n const transitionStyle = css`\r\n transition: margin-left 0.4s cubic-bezier(0.22, 1.2, 0.36, 1);\r\n `;\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 siderStyle = computed(\r\n () => css`\r\n position: fixed !important;\r\n top: 0;\r\n bottom: 0;\r\n left: 0;\r\n width: ${layout.value.sideWidth}px;\r\n\r\n .ant-layout-sider-children {\r\n display: flex;\r\n flex-direction: column;\r\n }\r\n `\r\n );\r\n\r\n const rightStyle = computed(\r\n () => css`\r\n margin-left: ${left.value};\r\n ${transitionStyle}\r\n `\r\n );\r\n\r\n const rightContentStyle = computed(\r\n () => css`\r\n padding-top: ${layout.value.headerHeight}px;\r\n `\r\n );\r\n\r\n return {\r\n layoutStyle,\r\n siderStyle,\r\n rightStyle,\r\n rightContentStyle\r\n };\r\n}\r\n</script>\r\n\r\n<template>\r\n <a-layout :class=\"layoutStyle\">\r\n <a-layout-sider\r\n v-model:collapsed=\"layout.collapsed\"\r\n theme=\"light\"\r\n collapsible\r\n :trigger=\"null\"\r\n :class=\"siderStyle\"\r\n >\r\n <slot name=\"logo\"></slot>\r\n <d-menu />\r\n </a-layout-sider>\r\n <a-layout :class=\"rightStyle\">\r\n <header-layout>\r\n <slot name=\"headerRight\"></slot>\r\n </header-layout>\r\n <a-layout-content :class=\"rightContentStyle\">\r\n <RouterContent />\r\n </a-layout-content>\r\n </a-layout>\r\n </a-layout>\r\n <a-back-top></a-back-top>\r\n</template>\r\n\r\n<style scoped></style>\r\n"],"names":["layoutStyle","siderStyle","rightStyle","rightContentStyle"],"mappings":";;;;;;;;;;;;;;;AAYA,IAAA,MAAM,EAAE,MAAA,EAAW,GAAA,WAAA,CAAY,aAAa,CAAA;AAC5C,IAAA,MAAM,QAAQ,QAAS,EAAA;AAEvB,IAAA,MAAM,EAAE,WAAa,EAAA,UAAA,EAAY,UAAY,EAAA,iBAAA,KAAsB,QAAS,EAAA;AAE5E,IAAa,YAAA,EAAA;AAEb,IAAA,SAAS,YAAe,GAAA;AACtB,MAAM,MAAA,EAAE,IAAK,EAAA,GAAI,iBAAkB,EAAA;AAEnC,MAAA,KAAA;AAAA,QACE,MAAM,KAAM,CAAA,IAAA;AAAA,QACZ,MAAM;AACJ,UAAA,IAAA,CAAK,KAAK,CAAA;AAAA,SACZ;AAAA,QACA;AAAA,UACE,SAAW,EAAA;AAAA;AACb,OACF;AAAA;AAGF,IAAA,SAAS,QAAW,GAAA;AAClB,MAAA,MAAMA,YAAc,GAAA,GAAA;AAAA;AAAA,EAAA,CAAA;AAIpB,MAAA,MAAM,eAAkB,GAAA,GAAA;AAAA;AAAA,EAAA,CAAA;AAIxB,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,MAAMC,WAAa,GAAA,QAAA;AAAA,QACjB,MAAM,GAAA;AAAA;AAAA;AAAA;AAAA;AAAA,aAKK,EAAA,MAAA,CAAO,MAAM,SAAS,CAAA;;AAAA;AAAA;AAAA;AAAA;AAAA,IAAA;AAAA,OAOnC;AAEA,MAAA,MAAMC,WAAa,GAAA,QAAA;AAAA,QACjB,MAAM,GAAA;AAAA,mBAAA,EACW,KAAK,KAAK,CAAA;AAAA,MAAA,EACvB,eAAe;AAAA,IAAA;AAAA,OAErB;AAEA,MAAA,MAAMC,kBAAoB,GAAA,QAAA;AAAA,QACxB,MAAM,GAAA;AAAA,mBACW,EAAA,MAAA,CAAO,MAAM,YAAY,CAAA;AAAA,IAAA;AAAA,OAE5C;AAEA,MAAO,OAAA;AAAA,QACL,WAAAH,EAAAA,YAAAA;AAAA,QACA,UAAAC,EAAAA,WAAAA;AAAA,QACA,UAAAC,EAAAA,WAAAA;AAAA,QACA,iBAAAC,EAAAA;AAAA,OACF;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,8 +1,11 @@
1
1
  import { isVNode, defineComponent, computed, onMounted, ref, nextTick, watch, createVNode } from 'vue';
2
2
  import { Flex, Card, Space } from 'ant-design-vue';
3
+ import { storeToRefs } from 'pinia';
3
4
  import { useElementSize } from '@vueuse/core';
5
+ import { useAppStore } from '@ditari/store';
4
6
  import { css } from '@emotion/css';
5
7
 
8
+ "use strict";
6
9
  function _isSlot(s) {
7
10
  return typeof s === "function" || Object.prototype.toString.call(s) === "[object Object]" && !isVNode(s);
8
11
  }
@@ -12,8 +15,8 @@ const tableRootStyle = css`
12
15
  overflow: hidden;
13
16
  `;
14
17
  const list = /* @__PURE__ */ defineComponent({
15
- name: "DList",
16
- emits: ["update:value", "change"],
18
+ name: "DListLayout",
19
+ emits: ["change"],
17
20
  setup(_, {
18
21
  slots
19
22
  }) {
@@ -23,6 +26,9 @@ const list = /* @__PURE__ */ defineComponent({
23
26
  tableVisible,
24
27
  playTableHeight
25
28
  } = useTableHeight();
29
+ const {
30
+ layout
31
+ } = storeToRefs(useAppStore());
26
32
  const {
27
33
  formRef
28
34
  } = useForm();
@@ -46,6 +52,10 @@ const list = /* @__PURE__ */ defineComponent({
46
52
  left: 0;
47
53
  overflow: hidden;
48
54
  `;
55
+ const cardStyle = css`
56
+ box-shadow: none !important;
57
+ `;
58
+ const listStyle = computed(() => css``);
49
59
  onMounted(() => {
50
60
  playTableHeight();
51
61
  });
@@ -88,11 +98,14 @@ const list = /* @__PURE__ */ defineComponent({
88
98
  let _slot;
89
99
  return createVNode(Flex, {
90
100
  "vertical": true,
101
+ "class": listStyle.value,
91
102
  "style": {
92
- height: "100%"
103
+ height: "100%",
104
+ padding: "24px"
93
105
  }
94
106
  }, {
95
107
  default: () => [slots.form && createVNode(Card, {
108
+ "class": cardStyle,
96
109
  "ref": formRef,
97
110
  "style": {
98
111
  marginBottom: "20px"
@@ -108,6 +121,7 @@ const list = /* @__PURE__ */ defineComponent({
108
121
  "vertical": true
109
122
  }, {
110
123
  default: () => [createVNode(Card, {
124
+ "class": cardStyle,
111
125
  "style": {
112
126
  height: "100%"
113
127
  },
@@ -161,4 +175,4 @@ const list = /* @__PURE__ */ defineComponent({
161
175
  });
162
176
 
163
177
  export { list as default };
164
- //# sourceMappingURL=list.mjs.map
178
+ //# sourceMappingURL=List.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"List.mjs","sources":["../../../../src/components/layout/List.tsx"],"sourcesContent":["import {\r\n computed,\r\n defineComponent,\r\n nextTick,\r\n onMounted,\r\n ref,\r\n watch\r\n} from \"vue\";\r\nimport { Card, Flex, Space } from \"ant-design-vue\";\r\nimport { storeToRefs } from \"pinia\";\r\nimport { useElementSize } from \"@vueuse/core\";\r\n\r\nimport { useAppStore } from \"@ditari/store\";\r\nimport { css } from \"@emotion/css\";\r\n\r\nconst tableRootStyle = css`\r\n height: 100%;\r\n position: relative;\r\n overflow: hidden;\r\n`;\r\n\r\nconst list = defineComponent({\r\n name: \"DListLayout\",\r\n emits: [\"change\"],\r\n setup(_, { slots }) {\r\n const { tableRef, height, tableVisible, playTableHeight } =\r\n useTableHeight();\r\n const { layout } = storeToRefs(useAppStore());\r\n const { formRef } = useForm();\r\n // 使用 computed 来动态计算样式\r\n const maskDivStyle = computed(() => {\r\n return css`\r\n position: absolute;\r\n top: 0;\r\n right: 0;\r\n bottom: 0;\r\n left: 0;\r\n z-index: 1;\r\n background: white;\r\n display: ${tableVisible.value ? \"block\" : \"none\"};\r\n `;\r\n });\r\n\r\n const tableWrapperStyle = css`\r\n position: absolute;\r\n top: 0;\r\n right: 0;\r\n bottom: 0;\r\n left: 0;\r\n overflow: hidden;\r\n `;\r\n\r\n const cardStyle = css`\r\n box-shadow: none !important;\r\n `;\r\n\r\n const listStyle = computed(() => css``);\r\n\r\n onMounted(() => {\r\n playTableHeight();\r\n });\r\n\r\n function useTableHeight() {\r\n const tableRef = ref();\r\n const height = ref(0);\r\n const tableVisible = ref(true);\r\n\r\n function playTableHeight() {\r\n tableVisible.value = true;\r\n height.value = tableRef?.value?.$el.offsetHeight;\r\n nextTick(() => {\r\n setTimeout(() => {\r\n tableVisible.value = false;\r\n }, 10);\r\n });\r\n }\r\n\r\n return {\r\n tableRef,\r\n height,\r\n tableVisible,\r\n playTableHeight\r\n };\r\n }\r\n\r\n function useForm() {\r\n const formRef = ref(null);\r\n const { height: formHeight } = useElementSize(formRef);\r\n watch(\r\n () => formHeight.value,\r\n () => {\r\n nextTick(() => {\r\n playTableHeight();\r\n });\r\n }\r\n );\r\n\r\n return {\r\n formRef\r\n };\r\n }\r\n\r\n return () => (\r\n <Flex\r\n vertical={true}\r\n class={listStyle.value}\r\n style={{ height: \"100%\", padding: \"24px\" }}\r\n >\r\n {slots.form && (\r\n <Card\r\n class={cardStyle}\r\n ref={formRef}\r\n style={{ marginBottom: \"20px\" }}\r\n bodyStyle={{ padding: \"24px 24px 0 24px\" }}\r\n bordered={false}\r\n >\r\n {slots.form()}\r\n </Card>\r\n )}\r\n\r\n <Flex flex={1} vertical={true}>\r\n <Card\r\n class={cardStyle}\r\n style={{ height: \"100%\" }}\r\n bodyStyle={{ height: \"100%\" }}\r\n bordered={false}\r\n >\r\n <Flex style={{ height: \"100%\" }} vertical={true}>\r\n <Space style={{ marginBottom: \"20px\" }}>{slots.tools?.()}</Space>\r\n <Flex\r\n ref={tableRef}\r\n flex={1}\r\n style={{ height: \"100%\" }}\r\n vertical={true}\r\n >\r\n <div class={tableRootStyle}>\r\n <div class={maskDivStyle.value}></div>\r\n <div class={tableWrapperStyle}>\r\n {slots.table?.({ height: height.value })}\r\n </div>\r\n </div>\r\n </Flex>\r\n </Flex>\r\n </Card>\r\n </Flex>\r\n </Flex>\r\n );\r\n }\r\n});\r\n\r\nexport default list;\r\n"],"names":["_isSlot","s","Object","prototype","toString","call","_isVNode","tableRootStyle","css","list","name","emits","setup","_","slots","tableRef","height","tableVisible","playTableHeight","useTableHeight","layout","storeToRefs","useAppStore","formRef","useForm","maskDivStyle","computed","value","tableWrapperStyle","cardStyle","listStyle","onMounted","ref","$el","offsetHeight","nextTick","setTimeout","formHeight","useElementSize","watch","_slot","_createVNode","Flex","padding","default","form","Card","marginBottom","Space","tools","table"],"mappings":"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"}
@@ -0,0 +1,130 @@
1
+ import { defineComponent, computed, createVNode, ref } from 'vue';
2
+ import { useRoute, useRouter } from 'vue-router';
3
+ import { Flex, PageHeader } from 'ant-design-vue';
4
+ import { storeToRefs } from 'pinia';
5
+ import { useWindowScroll } from '@vueuse/core';
6
+ import { LeftOutlined } from '@ant-design/icons-vue';
7
+ import { useAppStore, useNavTabStore } from '@ditari/store';
8
+ import { css } from '@emotion/css';
9
+
10
+ "use strict";
11
+ const getProps = () => {
12
+ return {
13
+ close: {
14
+ type: Boolean,
15
+ default: false
16
+ }
17
+ };
18
+ };
19
+ const show = /* @__PURE__ */ defineComponent({
20
+ name: "DShowLayout",
21
+ props: getProps(),
22
+ emits: ["update:value", "change"],
23
+ setup(props, {
24
+ emit,
25
+ slots,
26
+ expose
27
+ }) {
28
+ emit("update:value", "ddd");
29
+ const {
30
+ layout
31
+ } = storeToRefs(useAppStore());
32
+ const {
33
+ deleteTabs
34
+ } = useNavTabStore();
35
+ const route = useRoute();
36
+ const router = useRouter();
37
+ const {
38
+ y
39
+ } = useWindowScroll();
40
+ const pageHeaderStyle = computed(() => css`
41
+ position: sticky;
42
+ top: ${layout.value.headerHeight}px;
43
+ z-index: 10;
44
+ padding: 4px 24px;
45
+ transition: all 0.3s;
46
+
47
+ ${y.value > 0 ? "box-shadow: 6px 0 10px rgba(0, 0, 0, 0.15);" : ""}
48
+ .ant-page-header-back {
49
+ height: 100%;
50
+
51
+ .ant-page-header-back-button {
52
+ height: 100%;
53
+ padding: 0 6px !important;
54
+ display: flex !important;
55
+ align-items: center;
56
+ justify-content: center;
57
+ }
58
+ }
59
+ `);
60
+ const contentStyle = computed(() => css`
61
+ padding: 10px 10px ${slots.footer ? "70px" : "0"};
62
+ `);
63
+ const footerStyle = computed(() => css`
64
+ position: fixed;
65
+ right: 0;
66
+ bottom: 0;
67
+ left: ${layout.value.collapsed ? layout.value.collapsedWidth : layout.value.sideWidth}px;
68
+ z-index: 10;
69
+ padding: 10px;
70
+ background: #fff;
71
+ box-shadow: 6px 0 10px rgba(0, 0, 0, 0.15);
72
+ transition: left 0.4s cubic-bezier(0.22, 1.2, 0.36, 1);
73
+ `);
74
+ const pageTitle = () => createVNode("div", null, [route.meta.title || "\u65E0\u6807\u9898"]);
75
+ const ghost = ref(false);
76
+ const onBack = () => {
77
+ if (props.close) {
78
+ deleteTabs(route.fullPath);
79
+ router.go(-1);
80
+ } else {
81
+ router.go(-1);
82
+ }
83
+ };
84
+ const onClosePage = () => {
85
+ deleteTabs(route.fullPath);
86
+ router.go(-1);
87
+ };
88
+ expose({
89
+ close: onClosePage
90
+ });
91
+ return () => createVNode(Flex, {
92
+ "vertical": true
93
+ }, {
94
+ default: () => {
95
+ var _a, _b;
96
+ return [createVNode(PageHeader, {
97
+ "ghost": ghost.value,
98
+ "class": pageHeaderStyle.value,
99
+ "onBack": () => onBack(),
100
+ "title": pageTitle()
101
+ }, {
102
+ backIcon: () => createVNode("div", null, [createVNode(LeftOutlined, {
103
+ "style": {
104
+ fontSize: "26px"
105
+ }
106
+ }, null)]),
107
+ extra: () => {
108
+ var _a2;
109
+ return (_a2 = slots.extra) == null ? void 0 : _a2.call(slots);
110
+ },
111
+ footer: () => {
112
+ var _a2;
113
+ return (_a2 = slots.footer) == null ? void 0 : _a2.call(slots);
114
+ },
115
+ subTitle: () => {
116
+ var _a2;
117
+ return (_a2 = slots.subTitle) == null ? void 0 : _a2.call(slots);
118
+ }
119
+ }), createVNode("div", {
120
+ "class": contentStyle.value
121
+ }, [(_a = slots.default) == null ? void 0 : _a.call(slots)]), createVNode("div", {
122
+ "class": footerStyle.value
123
+ }, [(_b = slots.footer) == null ? void 0 : _b.call(slots)])];
124
+ }
125
+ });
126
+ }
127
+ });
128
+
129
+ export { show as default };
130
+ //# sourceMappingURL=Show.mjs.map
@@ -0,0 +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 emits: [\"update:value\", \"change\"],\r\n setup(props, { emit, slots, expose }) {\r\n emit(\"update:value\", \"ddd\");\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 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 <div class={footerStyle.value}>{slots.footer?.()}</div>\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","emits","setup","emit","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"],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import _sfc_main from './HeaderLayout.vue2.mjs';
2
+
3
+ "use strict";
4
+
5
+ export { _sfc_main as default };
6
+ //# sourceMappingURL=HeaderLayout.vue.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HeaderLayout.vue.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
@@ -0,0 +1,116 @@
1
+ import { defineComponent, computed, resolveComponent, createElementBlock, openBlock, normalizeClass, unref, createElementVNode, createBlock, createVNode, renderSlot } from 'vue';
2
+ import { theme } from 'ant-design-vue';
3
+ import { storeToRefs } from 'pinia';
4
+ import { MenuUnfoldOutlined, MenuFoldOutlined } from '@ant-design/icons-vue';
5
+ import { useAppStore } from '@ditari/store';
6
+ import { css } from '@emotion/css';
7
+
8
+ "use strict";
9
+ var _sfc_main = /* @__PURE__ */ defineComponent({
10
+ __name: "HeaderLayout",
11
+ setup(__props) {
12
+ const { layout } = storeToRefs(useAppStore());
13
+ const { headerStyle, headerTabStyle, collapsedStyle, rightStyle } = useStyle();
14
+ function useStyle() {
15
+ const { useToken } = theme;
16
+ const { token } = useToken();
17
+ const left = computed(
18
+ () => `${layout.value.collapsed ? layout.value.collapsedWidth : layout.value.sideWidth}px`
19
+ );
20
+ const headerStyle2 = computed(
21
+ () => css`
22
+ position: fixed;
23
+ top: 0;
24
+ right: 0;
25
+ background-color: ${token.value.colorBgContainer};
26
+ left: ${left.value};
27
+ height: ${layout.value.headerHeight}px;
28
+ transition: left 0.4s cubic-bezier(0.22, 1.2, 0.36, 1);
29
+ display: flex;
30
+ align-items: flex-end;
31
+ `
32
+ );
33
+ const headerTabStyle2 = computed(
34
+ () => css`
35
+ flex: 1;
36
+ overflow: hidden;
37
+ padding-right: 10px;
38
+ `
39
+ );
40
+ const collapsedStyle2 = computed(
41
+ () => css`
42
+ padding: 0 10px;
43
+ height: 100%;
44
+ display: flex;
45
+ align-items: center;
46
+ justify-content: center;
47
+ cursor: pointer;
48
+ `
49
+ );
50
+ const rightStyle2 = computed(
51
+ () => css`
52
+ height: 100%;
53
+ `
54
+ );
55
+ return {
56
+ headerStyle: headerStyle2,
57
+ headerTabStyle: headerTabStyle2,
58
+ collapsedStyle: collapsedStyle2,
59
+ rightStyle: rightStyle2
60
+ };
61
+ }
62
+ return (_ctx, _cache) => {
63
+ const _component_Tab = resolveComponent("Tab");
64
+ return openBlock(), createElementBlock(
65
+ "div",
66
+ {
67
+ class: normalizeClass(unref(headerStyle))
68
+ },
69
+ [
70
+ createElementVNode(
71
+ "div",
72
+ {
73
+ class: normalizeClass(unref(collapsedStyle)),
74
+ onClick: _cache[0] || (_cache[0] = ($event) => unref(layout).collapsed = !unref(layout).collapsed)
75
+ },
76
+ [
77
+ unref(layout).collapsed ? (openBlock(), createBlock(unref(MenuUnfoldOutlined), {
78
+ key: 0,
79
+ class: "trigger"
80
+ })) : (openBlock(), createBlock(unref(MenuFoldOutlined), { key: 1 }))
81
+ ],
82
+ 2
83
+ /* CLASS */
84
+ ),
85
+ createElementVNode(
86
+ "div",
87
+ {
88
+ class: normalizeClass(unref(headerTabStyle))
89
+ },
90
+ [
91
+ createVNode(_component_Tab)
92
+ ],
93
+ 2
94
+ /* CLASS */
95
+ ),
96
+ createElementVNode(
97
+ "div",
98
+ {
99
+ class: normalizeClass(unref(rightStyle))
100
+ },
101
+ [
102
+ renderSlot(_ctx.$slots, "default")
103
+ ],
104
+ 2
105
+ /* CLASS */
106
+ )
107
+ ],
108
+ 2
109
+ /* CLASS */
110
+ );
111
+ };
112
+ }
113
+ });
114
+
115
+ export { _sfc_main as default };
116
+ //# sourceMappingURL=HeaderLayout.vue2.mjs.map
@@ -0,0 +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\n// import 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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,6 @@
1
+ import _sfc_main from './RouterContent.vue2.mjs';
2
+
3
+ "use strict";
4
+
5
+ export { _sfc_main as default };
6
+ //# sourceMappingURL=RouterContent.vue.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RouterContent.vue.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
@@ -0,0 +1,43 @@
1
+ import { defineComponent, resolveComponent, createBlock, openBlock, withCtx, createVNode, Transition, KeepAlive, unref, resolveDynamicComponent } from 'vue';
2
+ import { useKeepAliveStore } from '@ditari/store';
3
+
4
+ "use strict";
5
+ var _sfc_main = /* @__PURE__ */ defineComponent({
6
+ __name: "RouterContent",
7
+ setup(__props) {
8
+ const { get: keepAliveNames } = useKeepAliveStore();
9
+ return (_ctx, _cache) => {
10
+ const _component_router_view = resolveComponent("router-view");
11
+ return openBlock(), createBlock(_component_router_view, null, {
12
+ default: withCtx(({ Component }) => [
13
+ createVNode(
14
+ Transition,
15
+ {
16
+ name: "main",
17
+ mode: "out-in",
18
+ appear: ""
19
+ },
20
+ {
21
+ default: withCtx(() => [
22
+ (openBlock(), createBlock(KeepAlive, { include: unref(keepAliveNames) }, [
23
+ (openBlock(), createBlock(resolveDynamicComponent(Component), {
24
+ key: _ctx.$route.path
25
+ }))
26
+ ], 1032, ["include"]))
27
+ ]),
28
+ _: 2
29
+ /* DYNAMIC */
30
+ },
31
+ 1024
32
+ /* DYNAMIC_SLOTS */
33
+ )
34
+ ]),
35
+ _: 1
36
+ /* STABLE */
37
+ });
38
+ };
39
+ }
40
+ });
41
+
42
+ export { _sfc_main as default };
43
+ //# sourceMappingURL=RouterContent.vue2.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RouterContent.vue2.mjs","sources":["../../../../../../src/components/layout/components/layout/RouterContent.vue"],"sourcesContent":["<script setup lang=\"ts\">\r\nimport { useKeepAliveStore } from \"@ditari/store\";\r\n\r\nconst { get: keepAliveNames } = useKeepAliveStore();\r\n</script>\r\n\r\n<template>\r\n <router-view v-slot=\"{ Component }\">\r\n <transition name=\"main\" mode=\"out-in\" appear>\r\n <keep-alive :include=\"keepAliveNames\">\r\n <component :is=\"Component\" :key=\"$route.path\" />\r\n </keep-alive>\r\n </transition>\r\n </router-view>\r\n</template>\r\n\r\n<style scoped></style>\r\n"],"names":[],"mappings":";;;;;;;AAGA,IAAA,MAAM,EAAE,GAAA,EAAK,cAAe,EAAA,GAAI,iBAAkB,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}