@ditari/bsui 5.0.3 → 5.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (151) hide show
  1. package/dist/cjs/_virtual/_commonjsHelpers.cjs +47 -0
  2. package/dist/cjs/_virtual/_commonjsHelpers.cjs.map +1 -0
  3. package/dist/cjs/_virtual/_plugin-vue_export-helper.cjs +14 -0
  4. package/dist/cjs/_virtual/_plugin-vue_export-helper.cjs.map +1 -0
  5. package/dist/cjs/_virtual/dayjs.min.cjs +12 -0
  6. package/dist/cjs/_virtual/dayjs.min.cjs.map +1 -0
  7. package/dist/cjs/_virtual/dayjs.min2.cjs +6 -0
  8. package/dist/cjs/_virtual/dayjs.min2.cjs.map +1 -0
  9. package/dist/cjs/components/date/RangePicker.vue.cjs +10 -0
  10. package/dist/cjs/components/date/RangePicker.vue.cjs.map +1 -0
  11. package/dist/cjs/components/date/RangePicker.vue2.cjs +89 -0
  12. package/dist/cjs/components/date/RangePicker.vue2.cjs.map +1 -0
  13. package/dist/cjs/components/date/index.cjs +13 -0
  14. package/dist/cjs/components/date/index.cjs.map +1 -0
  15. package/dist/cjs/components/form/FormLayout.cjs +202 -0
  16. package/dist/cjs/components/form/FormLayout.cjs.map +1 -0
  17. package/dist/cjs/components/form/index.cjs +12 -0
  18. package/dist/cjs/components/form/index.cjs.map +1 -0
  19. package/dist/cjs/components/icon/Moon.vue.cjs +33 -0
  20. package/dist/cjs/components/icon/Moon.vue.cjs.map +1 -0
  21. package/dist/cjs/components/icon/Sun.vue.cjs +45 -0
  22. package/dist/cjs/components/icon/Sun.vue.cjs.map +1 -0
  23. package/dist/cjs/components/icon/index.cjs +16 -0
  24. package/dist/cjs/components/icon/index.cjs.map +1 -0
  25. package/dist/cjs/components/index.cjs +11 -0
  26. package/dist/cjs/components/index.cjs.map +1 -1
  27. package/dist/cjs/components/layout/Layout.vue2.cjs +68 -28
  28. package/dist/cjs/components/layout/Layout.vue2.cjs.map +1 -1
  29. package/dist/cjs/components/layout/List.cjs +102 -31
  30. package/dist/cjs/components/layout/List.cjs.map +1 -1
  31. package/dist/cjs/components/layout/Show.cjs +0 -4
  32. package/dist/cjs/components/layout/Show.cjs.map +1 -1
  33. package/dist/cjs/components/layout/components/layout/HeaderLayout.vue2.cjs +3 -2
  34. package/dist/cjs/components/layout/components/layout/HeaderLayout.vue2.cjs.map +1 -1
  35. package/dist/cjs/components/layout/components/layout/ThemeApp.vue.cjs +10 -0
  36. package/dist/cjs/components/layout/components/layout/ThemeApp.vue.cjs.map +1 -0
  37. package/dist/cjs/components/layout/components/layout/ThemeApp.vue2.cjs +56 -0
  38. package/dist/cjs/components/layout/components/layout/ThemeApp.vue2.cjs.map +1 -0
  39. package/dist/cjs/components/layout/components/menu/Menu.cjs +63 -12
  40. package/dist/cjs/components/layout/components/menu/Menu.cjs.map +1 -1
  41. package/dist/cjs/components/layout/components/settings/BlockCheckbox.vue.cjs +10 -0
  42. package/dist/cjs/components/layout/components/settings/BlockCheckbox.vue.cjs.map +1 -0
  43. package/dist/cjs/components/layout/components/settings/BlockCheckbox.vue2.cjs +59 -0
  44. package/dist/cjs/components/layout/components/settings/BlockCheckbox.vue2.cjs.map +1 -0
  45. package/dist/cjs/components/layout/components/settings/SettingDrawer.cjs +109 -0
  46. package/dist/cjs/components/layout/components/settings/SettingDrawer.cjs.map +1 -0
  47. package/dist/cjs/components/tab/Search.cjs +241 -0
  48. package/dist/cjs/components/tab/Search.cjs.map +1 -0
  49. package/dist/cjs/components/tab/Tab.vue2.cjs +18 -57
  50. package/dist/cjs/components/tab/Tab.vue2.cjs.map +1 -1
  51. package/dist/cjs/components/table/Table.cjs +5 -6
  52. package/dist/cjs/components/table/Table.cjs.map +1 -1
  53. package/dist/cjs/index.cjs +8 -0
  54. package/dist/cjs/index.cjs.map +1 -1
  55. package/dist/cjs/node_modules/.pnpm/dayjs@1.11.13/node_modules/dayjs/dayjs.min.cjs +20 -0
  56. package/dist/cjs/node_modules/.pnpm/dayjs@1.11.13/node_modules/dayjs/dayjs.min.cjs.map +1 -0
  57. package/dist/css/components/layout/components/settings/style/index.css +1 -0
  58. package/dist/css/components/tab/style/index.css +1 -1
  59. package/dist/css/index.css +1 -1
  60. package/dist/esm/_virtual/_commonjsHelpers.mjs +41 -0
  61. package/dist/esm/_virtual/_commonjsHelpers.mjs.map +1 -0
  62. package/dist/esm/_virtual/_plugin-vue_export-helper.mjs +10 -0
  63. package/dist/esm/_virtual/_plugin-vue_export-helper.mjs.map +1 -0
  64. package/dist/esm/_virtual/dayjs.min.mjs +8 -0
  65. package/dist/esm/_virtual/dayjs.min.mjs.map +1 -0
  66. package/dist/esm/_virtual/dayjs.min2.mjs +4 -0
  67. package/dist/esm/_virtual/dayjs.min2.mjs.map +1 -0
  68. package/dist/esm/components/date/RangePicker.vue.mjs +6 -0
  69. package/dist/esm/components/date/RangePicker.vue.mjs.map +1 -0
  70. package/dist/esm/components/date/RangePicker.vue2.mjs +85 -0
  71. package/dist/esm/components/date/RangePicker.vue2.mjs.map +1 -0
  72. package/dist/esm/components/date/index.mjs +11 -0
  73. package/dist/esm/components/date/index.mjs.map +1 -0
  74. package/dist/esm/components/form/FormLayout.mjs +198 -0
  75. package/dist/esm/components/form/FormLayout.mjs.map +1 -0
  76. package/dist/esm/components/form/index.mjs +10 -0
  77. package/dist/esm/components/form/index.mjs.map +1 -0
  78. package/dist/esm/components/icon/Moon.vue.mjs +29 -0
  79. package/dist/esm/components/icon/Moon.vue.mjs.map +1 -0
  80. package/dist/esm/components/icon/Sun.vue.mjs +41 -0
  81. package/dist/esm/components/icon/Sun.vue.mjs.map +1 -0
  82. package/dist/esm/components/icon/index.mjs +13 -0
  83. package/dist/esm/components/icon/index.mjs.map +1 -0
  84. package/dist/esm/components/index.mjs +7 -0
  85. package/dist/esm/components/index.mjs.map +1 -1
  86. package/dist/esm/components/layout/Layout.vue2.mjs +71 -31
  87. package/dist/esm/components/layout/Layout.vue2.mjs.map +1 -1
  88. package/dist/esm/components/layout/List.mjs +104 -33
  89. package/dist/esm/components/layout/List.mjs.map +1 -1
  90. package/dist/esm/components/layout/Show.mjs +0 -4
  91. package/dist/esm/components/layout/Show.mjs.map +1 -1
  92. package/dist/esm/components/layout/components/layout/HeaderLayout.vue2.mjs +4 -3
  93. package/dist/esm/components/layout/components/layout/HeaderLayout.vue2.mjs.map +1 -1
  94. package/dist/esm/components/layout/components/layout/ThemeApp.vue.mjs +6 -0
  95. package/dist/esm/components/layout/components/layout/ThemeApp.vue.mjs.map +1 -0
  96. package/dist/esm/components/layout/components/layout/ThemeApp.vue2.mjs +52 -0
  97. package/dist/esm/components/layout/components/layout/ThemeApp.vue2.mjs.map +1 -0
  98. package/dist/esm/components/layout/components/menu/Menu.mjs +64 -13
  99. package/dist/esm/components/layout/components/menu/Menu.mjs.map +1 -1
  100. package/dist/esm/components/layout/components/settings/BlockCheckbox.vue.mjs +6 -0
  101. package/dist/esm/components/layout/components/settings/BlockCheckbox.vue.mjs.map +1 -0
  102. package/dist/esm/components/layout/components/settings/BlockCheckbox.vue2.mjs +55 -0
  103. package/dist/esm/components/layout/components/settings/BlockCheckbox.vue2.mjs.map +1 -0
  104. package/dist/esm/components/layout/components/settings/SettingDrawer.mjs +105 -0
  105. package/dist/esm/components/layout/components/settings/SettingDrawer.mjs.map +1 -0
  106. package/dist/esm/components/tab/Search.mjs +237 -0
  107. package/dist/esm/components/tab/Search.mjs.map +1 -0
  108. package/dist/esm/components/tab/Tab.vue2.mjs +20 -59
  109. package/dist/esm/components/tab/Tab.vue2.mjs.map +1 -1
  110. package/dist/esm/components/table/Table.mjs +5 -6
  111. package/dist/esm/components/table/Table.mjs.map +1 -1
  112. package/dist/esm/index.mjs +4 -0
  113. package/dist/esm/index.mjs.map +1 -1
  114. package/dist/esm/node_modules/.pnpm/dayjs@1.11.13/node_modules/dayjs/dayjs.min.mjs +18 -0
  115. package/dist/esm/node_modules/.pnpm/dayjs@1.11.13/node_modules/dayjs/dayjs.min.mjs.map +1 -0
  116. package/dist/style/index.scss +8 -1
  117. package/dist/style/layout/components/settings/style/index.scss +177 -0
  118. package/dist/style/tab/style/index.scss +15 -3
  119. package/dist/types/components/date/RangePicker.vue.d.ts +293 -0
  120. package/dist/types/components/date/RangePicker.vue.d.ts.map +1 -0
  121. package/dist/types/components/date/index.d.ts +3 -0
  122. package/dist/types/components/date/index.d.ts.map +1 -0
  123. package/dist/types/components/form/FormLayout.d.ts +49 -0
  124. package/dist/types/components/form/FormLayout.d.ts.map +1 -0
  125. package/dist/types/components/form/index.d.ts +3 -0
  126. package/dist/types/components/form/index.d.ts.map +1 -0
  127. package/dist/types/components/icon/index.d.ts +4 -0
  128. package/dist/types/components/icon/index.d.ts.map +1 -0
  129. package/dist/types/components/index.d.ts +3 -0
  130. package/dist/types/components/index.d.ts.map +1 -1
  131. package/dist/types/components/layout/Layout.vue.d.ts +100 -2
  132. package/dist/types/components/layout/Layout.vue.d.ts.map +1 -1
  133. package/dist/types/components/layout/List.d.ts +2 -2
  134. package/dist/types/components/layout/List.d.ts.map +1 -1
  135. package/dist/types/components/layout/Show.d.ts +2 -5
  136. package/dist/types/components/layout/Show.d.ts.map +1 -1
  137. package/dist/types/components/layout/components/layout/HeaderLayout.vue.d.ts +22 -0
  138. package/dist/types/components/layout/components/layout/HeaderLayout.vue.d.ts.map +1 -1
  139. package/dist/types/components/layout/components/layout/ThemeApp.vue.d.ts +9 -0
  140. package/dist/types/components/layout/components/layout/ThemeApp.vue.d.ts.map +1 -0
  141. package/dist/types/components/layout/components/menu/Menu.d.ts.map +1 -1
  142. package/dist/types/components/layout/components/settings/BlockCheckbox.vue.d.ts +47 -0
  143. package/dist/types/components/layout/components/settings/BlockCheckbox.vue.d.ts.map +1 -0
  144. package/dist/types/components/layout/components/settings/SettingDrawer.d.ts +50 -0
  145. package/dist/types/components/layout/components/settings/SettingDrawer.d.ts.map +1 -0
  146. package/dist/types/components/tab/Search.d.ts +3 -0
  147. package/dist/types/components/tab/Search.d.ts.map +1 -0
  148. package/dist/types/components/tab/Tab.vue.d.ts +2 -6
  149. package/dist/types/components/tab/Tab.vue.d.ts.map +1 -1
  150. package/dist/types/components/table/Table.d.ts.map +1 -1
  151. package/package.json +3 -3
@@ -6,21 +6,31 @@ var vue = require('vue');
6
6
  var vueRouter = require('vue-router');
7
7
  var pinia = require('pinia');
8
8
  var Menu = require('./components/menu/Menu.cjs');
9
+ var SettingDrawer = require('./components/settings/SettingDrawer.cjs');
9
10
  var store = require('@ditari/store');
10
11
  var css = require('@emotion/css');
11
12
  require('./components/layout/HeaderLayout.vue.cjs');
12
13
  require('./components/layout/RouterContent.vue.cjs');
14
+ require('./components/layout/ThemeApp.vue.cjs');
15
+ var ThemeApp_vue_vue_type_script_setup_true_lang = require('./components/layout/ThemeApp.vue2.cjs');
13
16
  var HeaderLayout_vue_vue_type_script_setup_true_lang = require('./components/layout/HeaderLayout.vue2.cjs');
14
17
  var RouterContent_vue_vue_type_script_setup_true_lang = require('./components/layout/RouterContent.vue2.cjs');
15
18
 
16
19
  "use strict";
17
20
  var _sfc_main = /* @__PURE__ */ vue.defineComponent({
18
21
  __name: "Layout",
22
+ props: {
23
+ watermark: { type: Object, required: false, default: () => ({
24
+ content: ""
25
+ }) }
26
+ },
19
27
  setup(__props) {
28
+ const props = __props;
20
29
  const { layout } = pinia.storeToRefs(store.useAppStore());
21
30
  const route = vueRouter.useRoute();
22
31
  const { layoutStyle, siderStyle, rightStyle, rightContentStyle } = useStyle();
23
32
  useKeepAlive();
33
+ const { watermarkContent } = useWatermark();
24
34
  function useKeepAlive() {
25
35
  const { save } = store.useKeepAliveStore();
26
36
  vue.watch(
@@ -33,6 +43,19 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
33
43
  }
34
44
  );
35
45
  }
46
+ function useWatermark() {
47
+ const watermarkContent2 = vue.ref("");
48
+ vue.watch(
49
+ () => props.watermark,
50
+ (val) => {
51
+ watermarkContent2.value = val.content || "";
52
+ },
53
+ { deep: true, immediate: true }
54
+ );
55
+ return {
56
+ watermarkContent: watermarkContent2
57
+ };
58
+ }
36
59
  function useStyle() {
37
60
  const layoutStyle2 = css.css`
38
61
  height: 100%;
@@ -78,50 +101,66 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
78
101
  return (_ctx, _cache) => {
79
102
  const _component_a_layout_sider = vue.resolveComponent("a-layout-sider");
80
103
  const _component_a_layout_content = vue.resolveComponent("a-layout-content");
104
+ const _component_a_watermark = vue.resolveComponent("a-watermark");
81
105
  const _component_a_layout = vue.resolveComponent("a-layout");
82
106
  const _component_a_back_top = vue.resolveComponent("a-back-top");
83
107
  return vue.openBlock(), vue.createElementBlock(
84
108
  vue.Fragment,
85
109
  null,
86
110
  [
87
- vue.createVNode(_component_a_layout, {
88
- class: vue.normalizeClass(vue.unref(layoutStyle))
89
- }, {
111
+ vue.createVNode(ThemeApp_vue_vue_type_script_setup_true_lang.default, null, {
90
112
  default: vue.withCtx(() => [
91
- vue.createVNode(_component_a_layout_sider, {
92
- collapsed: vue.unref(layout).collapsed,
93
- "onUpdate:collapsed": _cache[0] || (_cache[0] = ($event) => vue.unref(layout).collapsed = $event),
94
- theme: "light",
95
- collapsible: "",
96
- trigger: null,
97
- class: vue.normalizeClass(vue.unref(siderStyle))
98
- }, {
99
- default: vue.withCtx(() => [
100
- vue.renderSlot(_ctx.$slots, "logo"),
101
- vue.createVNode(vue.unref(Menu.default))
102
- ]),
103
- _: 3
104
- /* FORWARDED */
105
- }, 8, ["collapsed", "class"]),
106
113
  vue.createVNode(_component_a_layout, {
107
- class: vue.normalizeClass(vue.unref(rightStyle))
114
+ class: vue.normalizeClass(vue.unref(layoutStyle))
108
115
  }, {
109
116
  default: vue.withCtx(() => [
110
- vue.createVNode(HeaderLayout_vue_vue_type_script_setup_true_lang.default, null, {
117
+ vue.createVNode(_component_a_layout_sider, {
118
+ collapsed: vue.unref(layout).collapsed,
119
+ "onUpdate:collapsed": _cache[0] || (_cache[0] = ($event) => vue.unref(layout).collapsed = $event),
120
+ theme: "light",
121
+ collapsible: "",
122
+ trigger: null,
123
+ class: vue.normalizeClass(vue.unref(siderStyle))
124
+ }, {
111
125
  default: vue.withCtx(() => [
112
- vue.renderSlot(_ctx.$slots, "headerRight")
126
+ vue.renderSlot(_ctx.$slots, "logo"),
127
+ vue.createVNode(vue.unref(Menu.default))
113
128
  ]),
114
129
  _: 3
115
130
  /* FORWARDED */
116
- }),
117
- vue.createVNode(_component_a_layout_content, {
118
- class: vue.normalizeClass(vue.unref(rightContentStyle))
131
+ }, 8, ["collapsed", "class"]),
132
+ vue.createVNode(_component_a_layout, {
133
+ class: vue.normalizeClass(vue.unref(rightStyle))
119
134
  }, {
120
135
  default: vue.withCtx(() => [
121
- vue.createVNode(RouterContent_vue_vue_type_script_setup_true_lang.default)
136
+ vue.createVNode(_component_a_watermark, {
137
+ content: vue.unref(watermarkContent),
138
+ style: { "display": "flex", "height": "100%" }
139
+ }, {
140
+ default: vue.withCtx(() => [
141
+ vue.createVNode(HeaderLayout_vue_vue_type_script_setup_true_lang.default, null, {
142
+ default: vue.withCtx(() => [
143
+ vue.renderSlot(_ctx.$slots, "headerRight")
144
+ ]),
145
+ _: 3
146
+ /* FORWARDED */
147
+ }),
148
+ vue.createVNode(_component_a_layout_content, {
149
+ class: vue.normalizeClass(vue.unref(rightContentStyle))
150
+ }, {
151
+ default: vue.withCtx(() => [
152
+ vue.createVNode(RouterContent_vue_vue_type_script_setup_true_lang.default)
153
+ ]),
154
+ _: 1
155
+ /* STABLE */
156
+ }, 8, ["class"])
157
+ ]),
158
+ _: 3
159
+ /* FORWARDED */
160
+ }, 8, ["content"])
122
161
  ]),
123
- _: 1
124
- /* STABLE */
162
+ _: 3
163
+ /* FORWARDED */
125
164
  }, 8, ["class"])
126
165
  ]),
127
166
  _: 3
@@ -130,7 +169,8 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
130
169
  ]),
131
170
  _: 3
132
171
  /* FORWARDED */
133
- }, 8, ["class"]),
172
+ }),
173
+ vue.createVNode(vue.unref(SettingDrawer.default)),
134
174
  vue.createVNode(_component_a_back_top)
135
175
  ],
136
176
  64
@@ -1 +1 @@
1
- {"version":3,"file":"Layout.vue2.cjs","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":["storeToRefs","useAppStore","useRoute","useKeepAliveStore","watch","layoutStyle","css","computed","siderStyle","rightStyle","rightContentStyle"],"mappings":";;;;;;;;;;;;;;;;;;;AAYA,IAAA,MAAM,EAAE,MAAA,EAAW,GAAAA,iBAAA,CAAYC,mBAAa,CAAA;AAC5C,IAAA,MAAM,QAAQC,kBAAS,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,GAAIC,uBAAkB,EAAA;AAEnC,MAAAC,SAAA;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,MAAMC,YAAc,GAAAC,OAAA;AAAA;AAAA,EAAA,CAAA;AAIpB,MAAA,MAAM,eAAkB,GAAAA,OAAA;AAAA;AAAA,EAAA,CAAA;AAIxB,MAAA,MAAM,IAAO,GAAAC,YAAA;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,GAAAD,YAAA;AAAA,QACjB,MAAMD,OAAA;AAAA;AAAA;AAAA;AAAA;AAAA,aAKK,EAAA,MAAA,CAAO,MAAM,SAAS,CAAA;;AAAA;AAAA;AAAA;AAAA;AAAA,IAAA;AAAA,OAOnC;AAEA,MAAA,MAAMG,WAAa,GAAAF,YAAA;AAAA,QACjB,MAAMD,OAAA;AAAA,mBAAA,EACW,KAAK,KAAK,CAAA;AAAA,MAAA,EACvB,eAAe;AAAA,IAAA;AAAA,OAErB;AAEA,MAAA,MAAMI,kBAAoB,GAAAH,YAAA;AAAA,QACxB,MAAMD,OAAA;AAAA,mBACW,EAAA,MAAA,CAAO,MAAM,YAAY,CAAA;AAAA,IAAA;AAAA,OAE5C;AAEA,MAAO,OAAA;AAAA,QACL,WAAAD,EAAAA,YAAAA;AAAA,QACA,UAAAG,EAAAA,WAAAA;AAAA,QACA,UAAAC,EAAAA,WAAAA;AAAA,QACA,iBAAAC,EAAAA;AAAA,OACF;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"Layout.vue2.cjs","sources":["../../../../src/components/layout/Layout.vue"],"sourcesContent":["<script setup lang=\"ts\">\r\nimport { computed, ref, 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 SettingDrawer from \"./components/settings/SettingDrawer\";\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\nimport AppTheme from \"./components/layout/ThemeApp.vue\";\r\n\r\nconst props = defineProps({\n watermark: { type: Object, required: false, default: () => ({\r\n content: \"\"\r\n }) }\n});\r\n\r\nconst { layout } = storeToRefs(useAppStore());\r\nconst route = useRoute();\r\n\r\nconst { layoutStyle, siderStyle, rightStyle, rightContentStyle } = useStyle();\r\nuseKeepAlive();\r\nconst { watermarkContent } = useWatermark();\r\n\r\nfunction useKeepAlive() {\r\n // 保存需要被缓存的标签\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 useWatermark() {\r\n const watermarkContent = ref(\"\");\r\n // 监听 watermark 的变化\r\n watch(\r\n () => props.watermark,\r\n val => {\r\n watermarkContent.value = val.content || \"\";\r\n },\r\n { deep: true, immediate: true }\r\n );\r\n\r\n return {\r\n watermarkContent\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 <app-theme>\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 <a-watermark\r\n :content=\"watermarkContent\"\r\n style=\"display: flex; height: 100%\"\r\n >\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-watermark>\r\n </a-layout>\r\n </a-layout>\r\n </app-theme>\r\n <SettingDrawer />\r\n <a-back-top></a-back-top>\r\n</template>\r\n\r\n<style scoped></style>\r\n"],"names":["storeToRefs","useAppStore","useRoute","useKeepAliveStore","watch","watermarkContent","ref","layoutStyle","css","computed","siderStyle","rightStyle","rightContentStyle"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAcA,IAAA,MAAM,KAAQ,GAAA,OAAA;AAMd,IAAA,MAAM,EAAE,MAAA,EAAW,GAAAA,iBAAA,CAAYC,mBAAa,CAAA;AAC5C,IAAA,MAAM,QAAQC,kBAAS,EAAA;AAEvB,IAAA,MAAM,EAAE,WAAa,EAAA,UAAA,EAAY,UAAY,EAAA,iBAAA,KAAsB,QAAS,EAAA;AAC5E,IAAa,YAAA,EAAA;AACb,IAAM,MAAA,EAAE,gBAAiB,EAAA,GAAI,YAAa,EAAA;AAE1C,IAAA,SAAS,YAAe,GAAA;AAEtB,MAAM,MAAA,EAAE,IAAK,EAAA,GAAIC,uBAAkB,EAAA;AAEnC,MAAAC,SAAA;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,YAAe,GAAA;AACtB,MAAMC,MAAAA,iBAAAA,GAAmBC,QAAI,EAAE,CAAA;AAE/B,MAAAF,SAAA;AAAA,QACE,MAAM,KAAM,CAAA,SAAA;AAAA,QACZ,CAAO,GAAA,KAAA;AACL,UAAAC,iBAAAA,CAAiB,KAAQ,GAAA,GAAA,CAAI,OAAW,IAAA,EAAA;AAAA,SAC1C;AAAA,QACA,EAAE,IAAA,EAAM,IAAM,EAAA,SAAA,EAAW,IAAK;AAAA,OAChC;AAEA,MAAO,OAAA;AAAA,QACL,gBAAAA,EAAAA;AAAA,OACF;AAAA;AAGF,IAAA,SAAS,QAAW,GAAA;AAClB,MAAA,MAAME,YAAc,GAAAC,OAAA;AAAA;AAAA,EAAA,CAAA;AAIpB,MAAA,MAAM,eAAkB,GAAAA,OAAA;AAAA;AAAA,EAAA,CAAA;AAIxB,MAAA,MAAM,IAAO,GAAAC,YAAA;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,GAAAD,YAAA;AAAA,QACjB,MAAMD,OAAA;AAAA;AAAA;AAAA;AAAA;AAAA,aAKK,EAAA,MAAA,CAAO,MAAM,SAAS,CAAA;;AAAA;AAAA;AAAA;AAAA;AAAA,IAAA;AAAA,OAOnC;AAEA,MAAA,MAAMG,WAAa,GAAAF,YAAA;AAAA,QACjB,MAAMD,OAAA;AAAA,mBAAA,EACW,KAAK,KAAK,CAAA;AAAA,MAAA,EACvB,eAAe;AAAA,IAAA;AAAA,OAErB;AAEA,MAAA,MAAMI,kBAAoB,GAAAH,YAAA;AAAA,QACxB,MAAMD,OAAA;AAAA,mBACW,EAAA,MAAA,CAAO,MAAM,YAAY,CAAA;AAAA,IAAA;AAAA,OAE5C;AAEA,MAAO,OAAA;AAAA,QACL,WAAAD,EAAAA,YAAAA;AAAA,QACA,UAAAG,EAAAA,WAAAA;AAAA,QACA,UAAAC,EAAAA,WAAAA;AAAA,QACA,iBAAAC,EAAAA;AAAA,OACF;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -3,6 +3,7 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var vue = require('vue');
6
+ var vueRouter = require('vue-router');
6
7
  var antDesignVue = require('ant-design-vue');
7
8
  var pinia = require('pinia');
8
9
  var core = require('@vueuse/core');
@@ -20,22 +21,25 @@ const tableRootStyle = css.css`
20
21
  `;
21
22
  const list = /* @__PURE__ */ vue.defineComponent({
22
23
  name: "DListLayout",
23
- emits: ["change"],
24
+ emits: ["refresh"],
24
25
  setup(_, {
25
- slots
26
+ slots,
27
+ emit
26
28
  }) {
29
+ const route = vueRouter.useRoute();
30
+ const {
31
+ refresh
32
+ } = pinia.storeToRefs(store.useAppStore());
27
33
  const {
28
34
  tableRef,
29
35
  height,
30
36
  tableVisible,
31
37
  playTableHeight
32
38
  } = useTableHeight();
33
- const {
34
- layout
35
- } = pinia.storeToRefs(store.useAppStore());
36
39
  const {
37
40
  formRef
38
41
  } = useForm();
42
+ useReload();
39
43
  const maskDivStyle = vue.computed(() => {
40
44
  return css.css`
41
45
  position: absolute;
@@ -59,6 +63,19 @@ const list = /* @__PURE__ */ vue.defineComponent({
59
63
  const cardStyle = css.css`
60
64
  box-shadow: none !important;
61
65
  `;
66
+ const leftCardStyle = css.css`
67
+ .ant-card-body {
68
+ overflow-y: scroll;
69
+ -ms-overflow-style: none; /* 对 IE 和 Edge 生效 */
70
+ scrollbar-width: none; /* 对 Firefox 生效 */
71
+
72
+ /* Webkit 浏览器 */
73
+
74
+ ::-webkit-scrollbar {
75
+ display: none;
76
+ }
77
+ }
78
+ `;
62
79
  const listStyle = vue.computed(() => css.css``);
63
80
  vue.onMounted(() => {
64
81
  playTableHeight();
@@ -98,29 +115,54 @@ const list = /* @__PURE__ */ vue.defineComponent({
98
115
  formRef: formRef2
99
116
  };
100
117
  }
101
- return () => {
102
- let _slot;
103
- return vue.createVNode(antDesignVue.Flex, {
104
- "vertical": true,
105
- "class": listStyle.value,
106
- "style": {
107
- height: "100%",
108
- padding: "24px"
109
- }
110
- }, {
111
- default: () => [slots.form && vue.createVNode(antDesignVue.Card, {
112
- "class": cardStyle,
113
- "ref": formRef,
114
- "style": {
115
- marginBottom: "20px"
116
- },
117
- "bodyStyle": {
118
- padding: "24px 24px 0 24px"
119
- },
120
- "bordered": false
121
- }, _isSlot(_slot = slots.form()) ? _slot : {
122
- default: () => [_slot]
123
- }), vue.createVNode(antDesignVue.Flex, {
118
+ function useReload() {
119
+ let stopHandleWatch;
120
+ if (!route.name) {
121
+ stopHandleWatch = _useWatch();
122
+ vue.onUnmounted(() => {
123
+ stopHandleWatch == null ? void 0 : stopHandleWatch();
124
+ });
125
+ } else {
126
+ vue.onActivated(() => {
127
+ if (refresh.value) {
128
+ refresh.value = false;
129
+ emit("refresh");
130
+ }
131
+ stopHandleWatch = _useWatch();
132
+ });
133
+ vue.onDeactivated(() => {
134
+ stopHandleWatch == null ? void 0 : stopHandleWatch();
135
+ });
136
+ }
137
+ function _useWatch() {
138
+ return vue.watch(() => refresh.value, (val) => {
139
+ if (val) {
140
+ emit("refresh");
141
+ }
142
+ });
143
+ }
144
+ }
145
+ function useLayout() {
146
+ function formLayout() {
147
+ return () => {
148
+ let _slot;
149
+ return slots.form && vue.createVNode(antDesignVue.Card, {
150
+ "class": cardStyle,
151
+ "ref": formRef,
152
+ "style": {
153
+ marginBottom: "10px"
154
+ },
155
+ "bodyStyle": {
156
+ padding: "10px 10px 0 10px"
157
+ },
158
+ "bordered": false
159
+ }, _isSlot(_slot = slots.form()) ? _slot : {
160
+ default: () => [_slot]
161
+ });
162
+ };
163
+ }
164
+ function tableLayout() {
165
+ return () => vue.createVNode(antDesignVue.Flex, {
124
166
  "flex": 1,
125
167
  "vertical": true
126
168
  }, {
@@ -130,7 +172,8 @@ const list = /* @__PURE__ */ vue.defineComponent({
130
172
  height: "100%"
131
173
  },
132
174
  "bodyStyle": {
133
- height: "100%"
175
+ height: "100%",
176
+ padding: "10px"
134
177
  },
135
178
  "bordered": false
136
179
  }, {
@@ -142,7 +185,7 @@ const list = /* @__PURE__ */ vue.defineComponent({
142
185
  }, {
143
186
  default: () => [vue.createVNode(antDesignVue.Space, {
144
187
  "style": {
145
- marginBottom: "20px"
188
+ marginBottom: "6px"
146
189
  }
147
190
  }, {
148
191
  default: () => {
@@ -172,9 +215,37 @@ const list = /* @__PURE__ */ vue.defineComponent({
172
215
  })]
173
216
  })]
174
217
  })]
218
+ });
219
+ }
220
+ return vue.createVNode(antDesignVue.Flex, {
221
+ "class": listStyle.value,
222
+ "gap": 10,
223
+ "style": {
224
+ height: "100%",
225
+ padding: "10px"
226
+ }
227
+ }, {
228
+ default: () => [slots.left ? vue.createVNode(antDesignVue.Card, {
229
+ "class": [cardStyle, leftCardStyle],
230
+ "bordered": false,
231
+ "bodyStyle": {
232
+ height: "100%",
233
+ padding: "10px"
234
+ }
235
+ }, {
236
+ default: () => {
237
+ var _a;
238
+ return [(_a = slots.left) == null ? void 0 : _a.call(slots)];
239
+ }
240
+ }) : null, vue.createVNode(antDesignVue.Flex, {
241
+ "vertical": true,
242
+ "flex": 1
243
+ }, {
244
+ default: () => [formLayout()(), tableLayout()()]
175
245
  })]
176
246
  });
177
- };
247
+ }
248
+ return () => useLayout();
178
249
  }
179
250
  });
180
251
 
@@ -1 +1 @@
1
- {"version":3,"file":"List.cjs","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","defineComponent","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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"}
1
+ {"version":3,"file":"List.cjs","sources":["../../../../src/components/layout/List.tsx"],"sourcesContent":["import {\r\n computed,\r\n defineComponent,\r\n nextTick,\r\n onActivated,\r\n onDeactivated,\r\n onMounted,\r\n onUnmounted,\r\n ref,\r\n watch,\r\n type WatchStopHandle\r\n} from \"vue\";\r\nimport { useRoute } from \"vue-router\";\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: [\"refresh\"],\r\n setup(_, { slots, emit }) {\r\n const route = useRoute();\r\n const { refresh } = storeToRefs(useAppStore());\r\n const { tableRef, height, tableVisible, playTableHeight } =\r\n useTableHeight();\r\n const { formRef } = useForm();\r\n useReload();\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 leftCardStyle = css`\r\n .ant-card-body {\r\n overflow-y: 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 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 // 处理标签重载\r\n function useReload() {\r\n let stopHandleWatch: WatchStopHandle;\r\n // !route.meta.keepAlive\r\n if (!route.name) {\r\n stopHandleWatch = _useWatch();\r\n // 卸载未缓存的组件\r\n onUnmounted(() => {\r\n stopHandleWatch?.();\r\n });\r\n } else {\r\n // 激活缓存页面\r\n onActivated(() => {\r\n if (refresh.value) {\r\n refresh.value = false;\r\n emit(\"refresh\");\r\n }\r\n stopHandleWatch = _useWatch();\r\n });\r\n // 离开缓存页面\r\n onDeactivated(() => {\r\n stopHandleWatch?.();\r\n });\r\n }\r\n\r\n function _useWatch() {\r\n //点击了标签重载图标\r\n return watch(\r\n () => refresh.value,\r\n val => {\r\n if (val) {\r\n // 发送刷新事件到列表页面\r\n emit(\"refresh\");\r\n }\r\n }\r\n );\r\n }\r\n }\r\n\r\n function useLayout() {\r\n function formLayout() {\r\n return () =>\r\n slots.form && (\r\n <Card\r\n class={cardStyle}\r\n ref={formRef}\r\n style={{ marginBottom: \"10px\" }}\r\n bodyStyle={{ padding: \"10px 10px 0 10px\" }}\r\n bordered={false}\r\n >\r\n {slots.form()}\r\n </Card>\r\n );\r\n }\r\n\r\n function tableLayout() {\r\n return () => (\r\n <Flex flex={1} vertical={true}>\r\n <Card\r\n class={cardStyle}\r\n style={{ height: \"100%\" }}\r\n bodyStyle={{ height: \"100%\", padding: \"10px\" }}\r\n bordered={false}\r\n >\r\n <Flex style={{ height: \"100%\" }} vertical={true}>\r\n <Space style={{ marginBottom: \"6px\" }}>{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 );\r\n }\r\n\r\n return (\r\n <Flex\r\n class={listStyle.value}\r\n gap={10}\r\n style={{ height: \"100%\", padding: \"10px\" }}\r\n >\r\n {slots.left ? (\r\n <Card\r\n class={[cardStyle, leftCardStyle]}\r\n bordered={false}\r\n bodyStyle={{\r\n height: \"100%\",\r\n padding: \"10px\"\r\n }}\r\n >\r\n {slots.left?.()}\r\n </Card>\r\n ) : null}\r\n <Flex vertical={true} flex={1}>\r\n {formLayout()()}\r\n {tableLayout()()}\r\n </Flex>\r\n </Flex>\r\n );\r\n }\r\n\r\n return () => useLayout();\r\n }\r\n});\r\n\r\nexport default list;\r\n"],"names":["_isSlot","s","Object","prototype","toString","call","_isVNode","tableRootStyle","css","list","defineComponent","name","emits","setup","_","slots","emit","route","useRoute","refresh","storeToRefs","useAppStore","tableRef","height","tableVisible","playTableHeight","useTableHeight","formRef","useForm","useReload","maskDivStyle","computed","value","tableWrapperStyle","cardStyle","leftCardStyle","listStyle","onMounted","ref","$el","offsetHeight","nextTick","setTimeout","formHeight","useElementSize","watch","stopHandleWatch","_useWatch","onUnmounted","onActivated","onDeactivated","val","useLayout","formLayout","_slot","form","_createVNode","Card","marginBottom","padding","default","tableLayout","Flex","Space","tools","table","left"],"mappings":";;;;;;;;;;;;;AAkBmC,SAAAA,QAAAC,CAAA,EAAA;AAAA,EAAA,OAAA,OAAAA,CAAAA,KAAA,UAAAC,IAAAA,MAAAA,CAAAC,SAAAC,CAAAA,QAAAA,CAAAC,IAAAJ,CAAAA,CAAA,CAAAK,KAAAA,iBAAAA,IAAAA,CAAAA,WAAAA,CAAAL,CAAA,CAAA;AAAA;AAEnC,MAAMM,cAAiBC,GAAAA,OAAAA;AAAAA;AAAAA;AAAAA;AAAAA,CAAAA;AAMvB,MAAMC,uBAAuBC,mBAAA,CAAA;AAAA,EAC3BC,IAAM,EAAA,aAAA;AAAA,EACNC,KAAAA,EAAO,CAAC,SAAS,CAAA;AAAA,EACjBC,MAAMC,CAAG,EAAA;AAAA,IAAEC,KAAAA;AAAAA,IAAOC;AAAAA,GAAQ,EAAA;AACxB,IAAA,MAAMC,QAAQC,kBAAS,EAAA;AACvB,IAAM,MAAA;AAAA,MAAEC;AAAAA,KAAQ,GAAIC,iBAAYC,CAAAA,iBAAAA,EAAa,CAAA;AAC7C,IAAM,MAAA;AAAA,MAAEC,QAAAA;AAAAA,MAAUC,MAAAA;AAAAA,MAAQC,YAAAA;AAAAA,MAAcC;AAAAA,QACtCC,cAAe,EAAA;AACjB,IAAM,MAAA;AAAA,MAAEC;AAAAA,QAAYC,OAAQ,EAAA;AAC5BC,IAAU,SAAA,EAAA;AAEV,IAAMC,MAAAA,YAAAA,GAAeC,aAAS,MAAM;AAClC,MAAOvB,OAAAA,OAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,iBAQMgB,EAAAA,YAAAA,CAAaQ,KAAQ,GAAA,OAAA,GAAU,MAAM,CAAA;AAAA,MAAA,CAAA;AAAA,KAEnD,CAAA;AAED,IAAA,MAAMC,iBAAoBzB,GAAAA,OAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,IAAAA,CAAAA;AAS1B,IAAA,MAAM0B,SAAY1B,GAAAA,OAAAA;AAAAA;AAAAA,IAAAA,CAAAA;AAIlB,IAAA,MAAM2B,aAAgB3B,GAAAA,OAAAA;AAAAA;AAAAA;AAAAA;AAAAA;;AAAAA;;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,IAAAA,CAAAA;AActB,IAAM4B,MAAAA,SAAAA,GAAYL,YAAS,CAAA,MAAMvB,OAAK,CAAA,CAAA,CAAA;AAEtC6B,IAAAA,aAAAA,CAAU,MAAM;AACdZ,MAAgB,eAAA,EAAA;AAAA,KACjB,CAAA;AAED,IAAA,SAASC,cAAiB,GAAA;AACxB,MAAA,MAAMJ,YAAWgB,OAAI,EAAA;AACrB,MAAMf,MAAAA,OAAAA,GAASe,QAAI,CAAC,CAAA;AACpB,MAAMd,MAAAA,aAAAA,GAAec,QAAI,IAAI,CAAA;AAE7B,MAAA,SAASb,gBAAkB,GAAA;AAxFjC,QAAA,IAAA,EAAA;AAyFQD,QAAAA,cAAaQ,KAAQ,GAAA,IAAA;AACrBT,QAAAA,OAAAA,CAAOS,SAAQV,EAAAA,GAAAA,SAAAA,IAAAA,gBAAAA,SAAUU,CAAAA,KAAAA,KAAVV,mBAAiBiB,GAAIC,CAAAA,YAAAA;AACpCC,QAAAA,YAAAA,CAAS,MAAM;AACbC,UAAAA,UAAAA,CAAW,MAAM;AACflB,YAAAA,cAAaQ,KAAQ,GAAA,KAAA;AAAA,aACpB,EAAE,CAAA;AAAA,SACN,CAAA;AAAA;AAGH,MAAO,OAAA;AAAA,QACLV,QAAAA,EAAAA,SAAAA;AAAAA,QACAC,MAAAA,EAAAA,OAAAA;AAAAA,QACAC,YAAAA,EAAAA,aAAAA;AAAAA,QACAC,eAAAA,EAAAA;AAAAA,OACF;AAAA;AAGF,IAAA,SAASG,OAAU,GAAA;AACjB,MAAMD,MAAAA,QAAAA,GAAUW,QAAI,IAAI,CAAA;AACxB,MAAM,MAAA;AAAA,QAAEf,MAAQoB,EAAAA;AAAAA,OAAW,GAAIC,oBAAejB,QAAO,CAAA;AACrDkB,MACEA,SAAA,CAAA,MAAMF,UAAWX,CAAAA,KAAAA,EACjB,MAAM;AACJS,QAAAA,YAAAA,CAAS,MAAM;AACbhB,UAAgB,eAAA,EAAA;AAAA,SACjB,CAAA;AAAA,OAEL,CAAA;AAEA,MAAO,OAAA;AAAA,QACLE,OAAAA,EAAAA;AAAAA,OACF;AAAA;AAIF,IAAA,SAASE,SAAY,GAAA;AACnB,MAAIiB,IAAAA,eAAAA;AAEJ,MAAI,IAAA,CAAC7B,MAAMN,IAAM,EAAA;AACfmC,QAAAA,eAAAA,GAAkBC,SAAU,EAAA;AAE5BC,QAAAA,eAAAA,CAAY,MAAM;AAChBF,UAAAA,eAAAA,IAAAA,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,eAAAA,EAAAA;AAAAA,SACD,CAAA;AAAA,OACI,MAAA;AAELG,QAAAA,eAAAA,CAAY,MAAM;AAChB,UAAA,IAAI9B,QAAQa,KAAO,EAAA;AACjBb,YAAAA,OAAAA,CAAQa,KAAQ,GAAA,KAAA;AAChBhB,YAAAA,IAAAA,CAAK,SAAS,CAAA;AAAA;AAEhB8B,UAAAA,eAAAA,GAAkBC,SAAU,EAAA;AAAA,SAC7B,CAAA;AAEDG,QAAAA,iBAAAA,CAAc,MAAM;AAClBJ,UAAAA,eAAAA,IAAAA,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,eAAAA,EAAAA;AAAAA,SACD,CAAA;AAAA;AAGH,MAAA,SAASC,SAAY,GAAA;AAEnB,QAAA,OAAOF,SACL,CAAA,MAAM1B,OAAQa,CAAAA,KAAAA,EACdmB,CAAO,GAAA,KAAA;AACL,UAAA,IAAIA,GAAK,EAAA;AAEPnC,YAAAA,IAAAA,CAAK,SAAS,CAAA;AAAA;AAChB,SAEJ,CAAA;AAAA;AACF;AAGF,IAAA,SAASoC,SAAY,GAAA;AACnB,MAAA,SAASC,UAAa,GAAA;AACpB,QAAA,OAAO,MAAA;AAAA,UAAAC,IAAAA,KAAAA;AAAA,UACLvC,OAAAA,KAAAA,CAAMwC,IAAIC,IAAAA,eAAAA,CAAAC,iBAAA,EAAA;AAAA,YAAA,OAECvB,EAAAA,SAAAA;AAAAA,YAAS,KACXP,EAAAA,OAAAA;AAAAA,YAAO,OACL,EAAA;AAAA,cAAE+B,YAAc,EAAA;AAAA,aAAO;AAAA,YAAC,WACpB,EAAA;AAAA,cAAEC,OAAS,EAAA;AAAA,aAAmB;AAAA,YAAC,UAChC,EAAA;AAAA,aAAK3D,OAAAsD,CAAAA,KAAAA,GAEdvC,MAAMwC,IAAK,EAAC,IAAAD,KAAA,GAAA;AAAA,YAAAM,OAAAA,EAAAA,MAAA,CAAAN,KAAA;AAAA,WAEhB,CAAA;AAAA,SAAA;AAAA;AAGL,MAAA,SAASO,WAAc,GAAA;AACrB,QAAO,OAAA,MAAAL,gBAAAM,iBAAA,EAAA;AAAA,UAAA,MACO,EAAA,CAAA;AAAA,UAAC,UAAY,EAAA;AAAA,SAAI,EAAA;AAAA,UAAAF,OAAAA,EAAAA,MAAAJ,CAAAA,eAAAA,CAAAC,iBAAA,EAAA;AAAA,YAAA,OAElBvB,EAAAA,SAAAA;AAAAA,YAAS,OACT,EAAA;AAAA,cAAEX,MAAQ,EAAA;AAAA,aAAO;AAAA,YAAC,WACd,EAAA;AAAA,cAAEA,MAAQ,EAAA,MAAA;AAAA,cAAQoC,OAAS,EAAA;AAAA,aAAO;AAAA,YAAC,UACpC,EAAA;AAAA,WAAK,EAAA;AAAA,YAAAC,OAAAA,EAAAA,MAAAJ,CAAAA,eAAAA,CAAAM,iBAAA,EAAA;AAAA,cAAA,OAEF,EAAA;AAAA,gBAAEvC,MAAQ,EAAA;AAAA,eAAO;AAAA,cAAC,UAAY,EAAA;AAAA,aAAI,EAAA;AAAA,cAAAqC,OAAAA,EAAAA,MAAAJ,CAAAA,eAAAA,CAAAO,kBAAA,EAAA;AAAA,gBAAA,OAC/B,EAAA;AAAA,kBAAEL,YAAc,EAAA;AAAA;AAAM,eAAC,EAAA;AAAA,gBAAAE,SAAAA,MAAA;AA5LrD,kBAAA,IAAA,EAAA;AA4LqD,kBAAG7C,OAAAA,CAAAA,CAAAA,EAAAA,GAAAA,KAAAA,CAAMiD,UAANjD,IAAe,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,KAAA,CAAA,CAAA;AAAA;AAAA,eAAAyC,CAAAA,EAAAA,eAAAA,CAAAM,iBAAA,EAAA;AAAA,gBAAA,KAEhDxC,EAAAA,QAAAA;AAAAA,gBAAQ,MACP,EAAA,CAAA;AAAA,gBAAC,OACA,EAAA;AAAA,kBAAEC,MAAQ,EAAA;AAAA,iBAAO;AAAA,gBAAC,UACf,EAAA;AAAA,eAAI,EAAA;AAAA,gBAAAqC,SAAAA,MAAA;AAjMhC,kBAAA,IAAA,EAAA;AAiMgC,kBAAA,OAAA,CAAAJ,gBAAA,KAAA,EAAA;AAAA,oBAAA,OAEFjD,EAAAA;AAAAA,mBAAc,EAAA,CAAAiD,eAAAA,CAAA,KAAA,EAAA;AAAA,oBAAA,SACZ1B,YAAaE,CAAAA;AAAAA,mBAAK,EAAA,IAAA,CAAAwB,EAAAA,eAAAA,CAAA,KAAA,EAAA;AAAA,oBAAA,OAClBvB,EAAAA;AAAAA,mBACTlB,EAAAA,CAAAA,CAAAA,EAAMkD,GAAAA,KAAAA,CAAAA,KAAAA,KAANlD,IAAc,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,KAAA,EAAA;AAAA,oBAAEQ,QAAQA,MAAOS,CAAAA;AAAAA,mBAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA;AAAA,eAAA,CAAA;AAAA,aAAA,CAAA;AAAA,WAAA,CAAA;AAAA,SAOrD,CAAA;AAAA;AAGH,MAAA,OAAAwB,gBAAAM,iBAAA,EAAA;AAAA,QAAA,SAEW1B,SAAUJ,CAAAA,KAAAA;AAAAA,QAAK,KACjB,EAAA,EAAA;AAAA,QAAE,OACA,EAAA;AAAA,UAAET,MAAQ,EAAA,MAAA;AAAA,UAAQoC,OAAS,EAAA;AAAA;AAAO,OAAC,EAAA;AAAA,QAAAC,SAAAA,MAEzC7C,CAAAA,KAAMmD,CAAAA,IAAAA,GAAIV,gBAAAC,iBAAA,EAAA;AAAA,UAAA,OAAA,EAEA,CAACvB,SAAAA,EAAWC,aAAa,CAAA;AAAA,UAAC,UACvB,EAAA,KAAA;AAAA,UAAK,WACJ,EAAA;AAAA,YACTZ,MAAQ,EAAA,MAAA;AAAA,YACRoC,OAAS,EAAA;AAAA;AACX,SAAC,EAAA;AAAA,UAAAC,SAAAA,MAAA;AA7Nf,YAAA,IAAA,EAAA;AA6Ne,YAEA7C,OAAAA,CAAAA,CAAAA,EAAAA,GAAAA,KAAAA,CAAMmD,SAANnD,IAAc,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,KAAA,CAAA,CAAA;AAAA;AAAA,SAAA,CAAA,GAEf,IAAIyC,EAAAA,eAAAA,CAAAM,iBAAA,EAAA;AAAA,UAAA,UACQ,EAAA,IAAA;AAAA,UAAI,MAAQ,EAAA;AAAA,SAAC,EAAA;AAAA,UAAAF,OAAAA,EAAAA,MAC1BP,CAAAA,UAAAA,IACAQ,EAAAA,WAAAA,IAAe;AAAA,SAAA,CAAA;AAAA,OAAA,CAAA;AAAA;AAMxB,IAAA,OAAO,MAAMT,SAAU,EAAA;AAAA;AAE3B,CAAC;;;;"}
@@ -23,13 +23,10 @@ const getProps = () => {
23
23
  const show = /* @__PURE__ */ vue.defineComponent({
24
24
  name: "DShowLayout",
25
25
  props: getProps(),
26
- emits: ["update:value", "change"],
27
26
  setup(props, {
28
- emit,
29
27
  slots,
30
28
  expose
31
29
  }) {
32
- emit("update:value", "ddd");
33
30
  const {
34
31
  layout
35
32
  } = pinia.storeToRefs(store.useAppStore());
@@ -98,7 +95,6 @@ const show = /* @__PURE__ */ vue.defineComponent({
98
95
  default: () => {
99
96
  var _a, _b;
100
97
  return [vue.createVNode(antDesignVue.PageHeader, {
101
- "ghost": ghost.value,
102
98
  "class": pageHeaderStyle.value,
103
99
  "onBack": () => onBack(),
104
100
  "title": pageTitle()
@@ -1 +1 @@
1
- {"version":3,"file":"Show.cjs","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","defineComponent","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":";;;;;;;;;;;;;;AAUA,MAAMA,WAAWA,MAAM;AACrB,EAAO,OAAA;AAAA,IACLC,KAAO,EAAA;AAAA,MACLC,IAAMC,EAAAA,OAAAA;AAAAA,MACNC,OAAS,EAAA;AAAA;AACX,GACF;AACF,CAAA;AACA,MAAMC,uBAAuBC,mBAAA,CAAA;AAAA,EAC3BC,IAAM,EAAA,aAAA;AAAA,EACNC,OAAOR,QAAS,EAAA;AAAA,EAChBS,KAAAA,EAAO,CAAC,cAAA,EAAgB,QAAQ,CAAA;AAAA,EAChCC,MAAMF,KAAO,EAAA;AAAA,IAAEG,IAAAA;AAAAA,IAAMC,KAAAA;AAAAA,IAAOC;AAAAA,GAAU,EAAA;AACpCF,IAAAA,IAAAA,CAAK,gBAAgB,KAAK,CAAA;AAC1B,IAAM,MAAA;AAAA,MAAEG;AAAAA,KAAO,GAAIC,iBAAYC,CAAAA,iBAAAA,EAAa,CAAA;AAC5C,IAAM,MAAA;AAAA,MAAEC;AAAAA,QAAeC,oBAAe,EAAA;AACtC,IAAA,MAAMC,QAAQC,kBAAS,EAAA;AACvB,IAAA,MAAMC,SAASC,mBAAU,EAAA;AAEzB,IAAM,MAAA;AAAA,MAAEC;AAAAA,QAAMC,oBAAgB,EAAA;AAE9B,IAAMC,MAAAA,eAAAA,GAAkBC,aACtB,MAAMC,OAAAA;AAAAA;AAAAA,aAEGb,EAAAA,MAAAA,CAAOc,MAAMC,YAAY,CAAA;AAAA;AAAA;AAAA;;AAAA,QAAA,EAK9BN,CAAEK,CAAAA,KAAAA,GAAQ,CAAI,GAAA,8CAAA,GAAiD,EAAE;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAavE,CAAA,CAAA;AACA,IAAME,MAAAA,YAAAA,GAAeJ,aACnB,MAAMC,OAAAA;AAAAA,2BACiBf,EAAAA,KAAAA,CAAMmB,MAAS,GAAA,MAAA,GAAS,GAAG,CAAA;AAAA,MAEpD,CAAA,CAAA;AACA,IAAMC,MAAAA,WAAAA,GAAcN,aAClB,MAAMC,OAAAA;AAAAA;AAAAA;AAAAA;AAAAA,cAIIb,EAAAA,MAAAA,CAAOc,MAAMK,SACjBnB,GAAAA,MAAAA,CAAOc,MAAMM,cACbpB,GAAAA,MAAAA,CAAOc,MAAMO,SAAS,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAO9B,CAAA,CAAA;AACA,IAAMC,MAAAA,SAAAA,GAAYA,MAAAC,eAAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAYlB,KAAMmB,CAAAA,IAAAA,CAAKC,KAAS,IAAA,oBAAK,CAAO,CAAA;AAC9D,IAAMC,MAAAA,KAAAA,GAAQC,QAAI,KAAK,CAAA;AAEvB,IAAA,MAAMC,SAASA,MAAM;AACnB,MAAA,IAAIlC,MAAMP,KAAO,EAAA;AAEfgB,QAAAA,UAAAA,CAAWE,MAAMwB,QAAQ,CAAA;AACzBtB,QAAAA,MAAAA,CAAOuB,GAAG,CAAE,CAAA,CAAA;AAAA,OACP,MAAA;AAELvB,QAAAA,MAAAA,CAAOuB,GAAG,CAAE,CAAA,CAAA;AAAA;AACd,KACF;AAEA,IAAA,MAAMC,cAAcA,MAAM;AACxB5B,MAAAA,UAAAA,CAAWE,MAAMwB,QAAQ,CAAA;AACzBtB,MAAAA,MAAAA,CAAOuB,GAAG,CAAE,CAAA,CAAA;AAAA,KACd;AAEA/B,IAAO,MAAA,CAAA;AAAA,MACLZ,KAAO4C,EAAAA;AAAAA,KACR,CAAA;AAED,IAAO,OAAA,MAAAR,gBAAAS,iBAAA,EAAA;AAAA,MAAA,UACW,EAAA;AAAA,KAAI,EAAA;AAAA,MAAA1C,SAAAA,MAAAiC;AAjG1B,QAAA,IAAA,EAAA,EAAA,EAAA;AAiG0BA,QAAAA,OAAAA,CAAAA,gBAAAU,uBAAA,EAAA;AAAA,UAAA,SAETP,KAAMZ,CAAAA,KAAAA;AAAAA,UAAK,SACXH,eAAgBG,CAAAA,KAAAA;AAAAA,UAAK,QAAA,EACpBc,MAAMA,MAAO,EAAA;AAAA,UAAC,SACfN,SAAU;AAAA,SAAC,EAAA;AAAA,UAGhBY,UAAUA,MAAAX,eAAAA,CAAAA,OAAAA,IAAAA,EAAAA,CAAAA,gBAAAY,qBAAA,EAAA;AAAA,YAAA,OAEe,EAAA;AAAA,cAAEC,QAAU,EAAA;AAAA;AAAO,WAAC,EAE5C,IAAA,CAAA,CAAA,CAAA;AAAA,UACDC,OAAOA,MAAA;AA9GnB,YAAAC,IAAAA,GAAAA;AA8GyBxC,YAAAA,OAAAA,CAAAA,GAAAA,GAAAA,KAAAA,CAAMuC,KAANvC,KAAAA,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,GAAAA,CAAAA,IAAAA,CAAAA,KAAAA,CAAAA;AAAAA,WAAAA;AAAAA,UACbmB,QAAQA,MAAA;AA/GpB,YAAAqB,IAAAA,GAAAA;AA+G0BxC,YAAAA,OAAAA,CAAAA,GAAAA,GAAAA,KAAAA,CAAMmB,MAANnB,KAAAA,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,GAAAA,CAAAA,IAAAA,CAAAA,KAAAA,CAAAA;AAAAA,WAAAA;AAAAA,UACdyC,UAAUA,MAAA;AAhHtB,YAAAD,IAAAA,GAAAA;AAgH4BxC,YAAAA,OAAAA,CAAAA,GAAAA,GAAAA,KAAAA,CAAMyC,QAANzC,KAAAA,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,GAAAA,CAAAA,IAAAA,CAAAA,KAAAA,CAAAA;AAAAA;AAAAA,SAAkB,CAAAyB,EAAAA,eAAAA,CAAA,KAAA,EAAA;AAAA,UAAA,SAG1BP,YAAaF,CAAAA;AAAAA,SAAK,EAAA,EAAGhB,EAAMR,GAAAA,KAAAA,CAAAA,OAAAA,KAANQ,8BAAiB,IAAAyB,gBAAA,KAAA,EAAA;AAAA,UAAA,SACtCL,WAAYJ,CAAAA;AAAAA,WAAK,CAAGhB,CAAAA,EAAAA,GAAAA,KAAAA,CAAMmB,MAANnB,KAAAA,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,EAAAA,CAAAA,IAAAA,CAAAA,KAAAA,CAAgB,CAAA,CAAA,CAAA;AAAA;AAAA,KAEnD,CAAA;AAAA;AAEL,CAAC;;;;"}
1
+ {"version":3,"file":"Show.cjs","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 <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","defineComponent","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"],"mappings":"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"}
@@ -8,6 +8,8 @@ var pinia = require('pinia');
8
8
  var iconsVue = require('@ant-design/icons-vue');
9
9
  var store = require('@ditari/store');
10
10
  var css = require('@emotion/css');
11
+ require('../../../tab/Tab.vue.cjs');
12
+ var Tab_vue_vue_type_script_setup_true_lang = require('../../../tab/Tab.vue2.cjs');
11
13
 
12
14
  "use strict";
13
15
  var _sfc_main = /* @__PURE__ */ vue.defineComponent({
@@ -64,7 +66,6 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
64
66
  };
65
67
  }
66
68
  return (_ctx, _cache) => {
67
- const _component_Tab = vue.resolveComponent("Tab");
68
69
  return vue.openBlock(), vue.createElementBlock(
69
70
  "div",
70
71
  {
@@ -92,7 +93,7 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
92
93
  class: vue.normalizeClass(vue.unref(headerTabStyle))
93
94
  },
94
95
  [
95
- vue.createVNode(_component_Tab)
96
+ vue.createVNode(Tab_vue_vue_type_script_setup_true_lang.default)
96
97
  ],
97
98
  2
98
99
  /* CLASS */
@@ -1 +1 @@
1
- {"version":3,"file":"HeaderLayout.vue2.cjs","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":["storeToRefs","useAppStore","theme","computed","headerStyle","css","headerTabStyle","collapsedStyle","rightStyle"],"mappings":";;;;;;;;;;;;;;;AAYA,IAAA,MAAM,EAAE,MAAA,EAAW,GAAAA,iBAAA,CAAYC,mBAAa,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,GAAAC,kBAAA;AACrB,MAAM,MAAA,EAAE,KAAM,EAAA,GAAyC,QAAS,EAAA;AAEhE,MAAA,MAAM,IAAO,GAAAC,YAAA;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,YAAc,GAAAD,YAAA;AAAA,QAClB,MAAME,OAAA;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,GAAAH,YAAA;AAAA,QACrB,MAAME,OAAA;AAAA;AAAA;AAAA;AAAA,IAAA;AAAA,OAKR;AAEA,MAAA,MAAME,eAAiB,GAAAJ,YAAA;AAAA,QACrB,MAAME,OAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAA;AAAA,OAQR;AAEA,MAAA,MAAMG,WAAa,GAAAL,YAAA;AAAA,QACjB,MAAME,OAAA;AAAA;AAAA,IAAA;AAAA,OAGR;AAEA,MAAO,OAAA;AAAA,QACL,WAAAD,EAAAA,YAAAA;AAAA,QACA,cAAAE,EAAAA,eAAAA;AAAA,QACA,cAAAC,EAAAA,eAAAA;AAAA,QACA,UAAAC,EAAAA;AAAA,OACF;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"HeaderLayout.vue2.cjs","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":["storeToRefs","useAppStore","theme","computed","headerStyle","css","headerTabStyle","collapsedStyle","rightStyle"],"mappings":";;;;;;;;;;;;;;;;;AAYA,IAAA,MAAM,EAAE,MAAA,EAAW,GAAAA,iBAAA,CAAYC,mBAAa,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,GAAAC,kBAAA;AACrB,MAAM,MAAA,EAAE,KAAM,EAAA,GAAyC,QAAS,EAAA;AAEhE,MAAA,MAAM,IAAO,GAAAC,YAAA;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,YAAc,GAAAD,YAAA;AAAA,QAClB,MAAME,OAAA;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,GAAAH,YAAA;AAAA,QACrB,MAAME,OAAA;AAAA;AAAA;AAAA;AAAA,IAAA;AAAA,OAKR;AAEA,MAAA,MAAME,eAAiB,GAAAJ,YAAA;AAAA,QACrB,MAAME,OAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAA;AAAA,OAQR;AAEA,MAAA,MAAMG,WAAa,GAAAL,YAAA;AAAA,QACjB,MAAME,OAAA;AAAA;AAAA,IAAA;AAAA,OAGR;AAEA,MAAO,OAAA;AAAA,QACL,WAAAD,EAAAA,YAAAA;AAAA,QACA,cAAAE,EAAAA,eAAAA;AAAA,QACA,cAAAC,EAAAA,eAAAA;AAAA,QACA,UAAAC,EAAAA;AAAA,OACF;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,10 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var ThemeApp_vue_vue_type_script_setup_true_lang = require('./ThemeApp.vue2.cjs');
6
+
7
+ "use strict";
8
+
9
+ exports.default = ThemeApp_vue_vue_type_script_setup_true_lang.default;
10
+ //# sourceMappingURL=ThemeApp.vue.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ThemeApp.vue.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;"}
@@ -0,0 +1,56 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var vue = require('vue');
6
+ var antDesignVue = require('ant-design-vue');
7
+ var pinia = require('pinia');
8
+ var store = require('@ditari/store');
9
+
10
+ "use strict";
11
+ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
12
+ __name: "ThemeApp",
13
+ setup(__props) {
14
+ const { appTheme } = useTheme();
15
+ function useTheme() {
16
+ const { modeConfig } = pinia.storeToRefs(store.useAppStore());
17
+ const appTheme2 = vue.ref({ algorithm: "" });
18
+ vue.watch(
19
+ () => modeConfig.value.mode,
20
+ (val) => {
21
+ if (val === "os") {
22
+ const isDarkMode = window.matchMedia && window.matchMedia("(prefers-color-scheme: dark)").matches;
23
+ if (isDarkMode) {
24
+ appTheme2.value.algorithm = antDesignVue.theme.darkAlgorithm;
25
+ } else {
26
+ appTheme2.value.algorithm = antDesignVue.theme.defaultAlgorithm;
27
+ }
28
+ } else if (val === "light") {
29
+ appTheme2.value.algorithm = antDesignVue.theme.defaultAlgorithm;
30
+ } else if (val === "dark") {
31
+ appTheme2.value.algorithm = antDesignVue.theme.darkAlgorithm;
32
+ } else {
33
+ appTheme2.value.algorithm = antDesignVue.theme.defaultAlgorithm;
34
+ }
35
+ },
36
+ { immediate: true }
37
+ );
38
+ return {
39
+ appTheme: appTheme2
40
+ };
41
+ }
42
+ return (_ctx, _cache) => {
43
+ const _component_a_config_provider = vue.resolveComponent("a-config-provider");
44
+ return vue.openBlock(), vue.createBlock(_component_a_config_provider, { theme: vue.unref(appTheme) }, {
45
+ default: vue.withCtx(() => [
46
+ vue.renderSlot(_ctx.$slots, "default")
47
+ ]),
48
+ _: 3
49
+ /* FORWARDED */
50
+ }, 8, ["theme"]);
51
+ };
52
+ }
53
+ });
54
+
55
+ exports.default = _sfc_main;
56
+ //# sourceMappingURL=ThemeApp.vue2.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ThemeApp.vue2.cjs","sources":["../../../../../../src/components/layout/components/layout/ThemeApp.vue"],"sourcesContent":["<script setup lang=\"ts\">\r\nimport { Ref, ref, watch } from \"vue\";\r\nimport { theme } from \"ant-design-vue\";\r\nimport { storeToRefs } from \"pinia\";\r\n\r\nimport { useAppStore } from \"@ditari/store\";\r\n\r\nconst { appTheme } = useTheme();\r\n\r\nfunction useTheme(): { appTheme: Ref<unknown> } {\r\n const { modeConfig } = storeToRefs(useAppStore());\r\n const appTheme = ref<Record<string, unknown>>({ algorithm: \"\" });\r\n\r\n watch(\r\n () => modeConfig.value.mode,\r\n (val: string) => {\r\n if (val === \"os\") {\r\n const isDarkMode =\r\n window.matchMedia &&\r\n window.matchMedia(\"(prefers-color-scheme: dark)\").matches;\r\n if (isDarkMode) {\r\n appTheme.value.algorithm = theme.darkAlgorithm;\r\n } else {\r\n appTheme.value.algorithm = theme.defaultAlgorithm;\r\n }\r\n } else if (val === \"light\") {\r\n appTheme.value.algorithm = theme.defaultAlgorithm;\r\n } else if (val === \"dark\") {\r\n appTheme.value.algorithm = theme.darkAlgorithm;\r\n } else {\r\n appTheme.value.algorithm = theme.defaultAlgorithm;\r\n }\r\n },\r\n { immediate: true }\r\n );\r\n\r\n return {\r\n appTheme\r\n };\r\n}\r\n</script>\r\n\r\n<template>\r\n <a-config-provider :theme=\"appTheme\">\r\n <slot></slot>\r\n </a-config-provider>\r\n</template>\r\n\r\n<style scoped></style>\r\n"],"names":["storeToRefs","useAppStore","appTheme","ref","watch","theme"],"mappings":";;;;;;;;;;;;;AAOA,IAAM,MAAA,EAAE,QAAS,EAAA,GAAI,QAAS,EAAA;AAE9B,IAAA,SAAS,QAAuC,GAAA;AAC9C,MAAA,MAAM,EAAE,UAAA,EAAe,GAAAA,iBAAA,CAAYC,mBAAa,CAAA;AAChD,MAAA,MAAMC,SAAW,GAAAC,OAAA,CAA6B,EAAE,SAAA,EAAW,IAAI,CAAA;AAE/D,MAAAC,SAAA;AAAA,QACE,MAAM,WAAW,KAAM,CAAA,IAAA;AAAA,QACvB,CAAC,GAAgB,KAAA;AACf,UAAA,IAAI,QAAQ,IAAM,EAAA;AAChB,YAAA,MAAM,aACJ,MAAO,CAAA,UAAA,IACP,MAAO,CAAA,UAAA,CAAW,8BAA8B,CAAE,CAAA,OAAA;AACpD,YAAA,IAAI,UAAY,EAAA;AACd,cAAAF,SAAAA,CAAS,KAAM,CAAA,SAAA,GAAYG,kBAAM,CAAA,aAAA;AAAA,aAC5B,MAAA;AACL,cAAAH,SAAAA,CAAS,KAAM,CAAA,SAAA,GAAYG,kBAAM,CAAA,gBAAA;AAAA;AACnC,WACF,MAAA,IAAW,QAAQ,OAAS,EAAA;AAC1B,YAAAH,SAAAA,CAAS,KAAM,CAAA,SAAA,GAAYG,kBAAM,CAAA,gBAAA;AAAA,WACnC,MAAA,IAAW,QAAQ,MAAQ,EAAA;AACzB,YAAAH,SAAAA,CAAS,KAAM,CAAA,SAAA,GAAYG,kBAAM,CAAA,aAAA;AAAA,WAC5B,MAAA;AACL,YAAAH,SAAAA,CAAS,KAAM,CAAA,SAAA,GAAYG,kBAAM,CAAA,gBAAA;AAAA;AACnC,SACF;AAAA,QACA,EAAE,WAAW,IAAK;AAAA,OACpB;AAEA,MAAO,OAAA;AAAA,QACL,QAAAH,EAAAA;AAAA,OACF;AAAA;;;;;;;;;;;;;;;;"}