@ditari/bsui 5.0.30 → 5.1.1

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 (104) hide show
  1. package/dist/cjs/components/card/Card.cjs +49 -0
  2. package/dist/cjs/components/card/Card.cjs.map +1 -0
  3. package/dist/cjs/components/card/index.cjs +8 -0
  4. package/dist/cjs/components/card/index.cjs.map +1 -0
  5. package/dist/cjs/components/card/style.cjs +40 -0
  6. package/dist/cjs/components/card/style.cjs.map +1 -0
  7. package/dist/cjs/components/date/RangePicker.vue2.cjs +3 -2
  8. package/dist/cjs/components/date/RangePicker.vue2.cjs.map +1 -1
  9. package/dist/cjs/components/index.cjs +11 -0
  10. package/dist/cjs/components/index.cjs.map +1 -1
  11. package/dist/cjs/components/layout/AppContext.cjs +7 -0
  12. package/dist/cjs/components/layout/AppContext.cjs.map +1 -0
  13. package/dist/cjs/components/layout/Layout.vue2.cjs +8 -14
  14. package/dist/cjs/components/layout/Layout.vue2.cjs.map +1 -1
  15. package/dist/cjs/components/layout/Show.cjs +6 -1
  16. package/dist/cjs/components/layout/Show.cjs.map +1 -1
  17. package/dist/cjs/components/layout/components/layout/ThemeApp.vue2.cjs +0 -1
  18. package/dist/cjs/components/layout/components/layout/ThemeApp.vue2.cjs.map +1 -1
  19. package/dist/cjs/components/layout/components/menu/Menu.cjs +37 -38
  20. package/dist/cjs/components/layout/components/menu/Menu.cjs.map +1 -1
  21. package/dist/cjs/components/table-form/TableForm.cjs +109 -0
  22. package/dist/cjs/components/table-form/TableForm.cjs.map +1 -0
  23. package/dist/cjs/components/table-form/TableFormItem.cjs +112 -0
  24. package/dist/cjs/components/table-form/TableFormItem.cjs.map +1 -0
  25. package/dist/cjs/components/table-form/index.cjs +16 -0
  26. package/dist/cjs/components/table-form/index.cjs.map +1 -0
  27. package/dist/cjs/components/table-form/interface.cjs +58 -0
  28. package/dist/cjs/components/table-form/interface.cjs.map +1 -0
  29. package/dist/cjs/components/table-form/style.cjs +124 -0
  30. package/dist/cjs/components/table-form/style.cjs.map +1 -0
  31. package/dist/cjs/hooks/useDesign.cjs +31 -0
  32. package/dist/cjs/hooks/useDesign.cjs.map +1 -0
  33. package/dist/cjs/index.cjs +13 -3
  34. package/dist/cjs/index.cjs.map +1 -1
  35. package/dist/cjs/utils/withInstall.cjs +18 -0
  36. package/dist/cjs/utils/withInstall.cjs.map +1 -0
  37. package/dist/esm/components/card/Card.mjs +47 -0
  38. package/dist/esm/components/card/Card.mjs.map +1 -0
  39. package/dist/esm/components/card/index.mjs +4 -0
  40. package/dist/esm/components/card/index.mjs.map +1 -0
  41. package/dist/esm/components/card/style.mjs +38 -0
  42. package/dist/esm/components/card/style.mjs.map +1 -0
  43. package/dist/esm/components/date/RangePicker.vue2.mjs +4 -3
  44. package/dist/esm/components/date/RangePicker.vue2.mjs.map +1 -1
  45. package/dist/esm/components/index.mjs +5 -0
  46. package/dist/esm/components/index.mjs.map +1 -1
  47. package/dist/esm/components/layout/AppContext.mjs +5 -0
  48. package/dist/esm/components/layout/AppContext.mjs.map +1 -0
  49. package/dist/esm/components/layout/Layout.vue2.mjs +9 -15
  50. package/dist/esm/components/layout/Layout.vue2.mjs.map +1 -1
  51. package/dist/esm/components/layout/Show.mjs +7 -2
  52. package/dist/esm/components/layout/Show.mjs.map +1 -1
  53. package/dist/esm/components/layout/components/layout/ThemeApp.vue2.mjs +0 -1
  54. package/dist/esm/components/layout/components/layout/ThemeApp.vue2.mjs.map +1 -1
  55. package/dist/esm/components/layout/components/menu/Menu.mjs +39 -40
  56. package/dist/esm/components/layout/components/menu/Menu.mjs.map +1 -1
  57. package/dist/esm/components/table-form/TableForm.mjs +106 -0
  58. package/dist/esm/components/table-form/TableForm.mjs.map +1 -0
  59. package/dist/esm/components/table-form/TableFormItem.mjs +110 -0
  60. package/dist/esm/components/table-form/TableFormItem.mjs.map +1 -0
  61. package/dist/esm/components/table-form/index.mjs +10 -0
  62. package/dist/esm/components/table-form/index.mjs.map +1 -0
  63. package/dist/esm/components/table-form/interface.mjs +54 -0
  64. package/dist/esm/components/table-form/interface.mjs.map +1 -0
  65. package/dist/esm/components/table-form/style.mjs +122 -0
  66. package/dist/esm/components/table-form/style.mjs.map +1 -0
  67. package/dist/esm/hooks/useDesign.mjs +28 -0
  68. package/dist/esm/hooks/useDesign.mjs.map +1 -0
  69. package/dist/esm/index.mjs +4 -0
  70. package/dist/esm/index.mjs.map +1 -1
  71. package/dist/esm/utils/withInstall.mjs +16 -0
  72. package/dist/esm/utils/withInstall.mjs.map +1 -0
  73. package/dist/types/components/card/Card.d.ts +6 -0
  74. package/dist/types/components/card/Card.d.ts.map +1 -0
  75. package/dist/types/components/card/index.d.ts +3 -0
  76. package/dist/types/components/card/index.d.ts.map +1 -0
  77. package/dist/types/components/card/style.d.ts +9 -0
  78. package/dist/types/components/card/style.d.ts.map +1 -0
  79. package/dist/types/components/date/RangePicker.vue.d.ts +3 -0
  80. package/dist/types/components/date/RangePicker.vue.d.ts.map +1 -1
  81. package/dist/types/components/index.d.ts +2 -0
  82. package/dist/types/components/index.d.ts.map +1 -1
  83. package/dist/types/components/layout/AppContext.d.ts +11 -0
  84. package/dist/types/components/layout/AppContext.d.ts.map +1 -0
  85. package/dist/types/components/layout/Layout.vue.d.ts +11 -2
  86. package/dist/types/components/layout/Layout.vue.d.ts.map +1 -1
  87. package/dist/types/components/layout/Show.d.ts.map +1 -1
  88. package/dist/types/components/layout/components/layout/ThemeApp.vue.d.ts.map +1 -1
  89. package/dist/types/components/layout/components/menu/Menu.d.ts.map +1 -1
  90. package/dist/types/components/table-form/TableForm.d.ts +57 -0
  91. package/dist/types/components/table-form/TableForm.d.ts.map +1 -0
  92. package/dist/types/components/table-form/TableFormItem.d.ts +23 -0
  93. package/dist/types/components/table-form/TableFormItem.d.ts.map +1 -0
  94. package/dist/types/components/table-form/index.d.ts +9 -0
  95. package/dist/types/components/table-form/index.d.ts.map +1 -0
  96. package/dist/types/components/table-form/interface.d.ts +57 -0
  97. package/dist/types/components/table-form/interface.d.ts.map +1 -0
  98. package/dist/types/components/table-form/style.d.ts +12 -0
  99. package/dist/types/components/table-form/style.d.ts.map +1 -0
  100. package/dist/types/hooks/useDesign.d.ts +8 -0
  101. package/dist/types/hooks/useDesign.d.ts.map +1 -0
  102. package/dist/types/utils/withInstall.d.ts +12 -0
  103. package/dist/types/utils/withInstall.d.ts.map +1 -0
  104. package/package.json +3 -3
@@ -0,0 +1,49 @@
1
+ 'use strict';
2
+
3
+ var vue = require('vue');
4
+ var css = require('@emotion/css');
5
+ var useDesign = require('../../hooks/useDesign.cjs');
6
+ var withInstall = require('../../utils/withInstall.cjs');
7
+ var style = require('./style.cjs');
8
+
9
+ "use strict";
10
+ const _Card = /* @__PURE__ */ vue.defineComponent({
11
+ name: "DCard",
12
+ props: {
13
+ title: String
14
+ },
15
+ setup(props, {
16
+ slots
17
+ }) {
18
+ const {
19
+ getPrefixCls
20
+ } = useDesign.useDesign("card");
21
+ const styles = style.useStyle();
22
+ return () => {
23
+ var _a;
24
+ const rootCls = getPrefixCls();
25
+ const headerCls = getPrefixCls("head");
26
+ const iconCls = getPrefixCls("icon");
27
+ const titleCls = getPrefixCls("title");
28
+ const actionCls = getPrefixCls("action");
29
+ const bodyCls = getPrefixCls("body");
30
+ return vue.createVNode("div", {
31
+ "class": css.cx(rootCls, styles.container)
32
+ }, [vue.createVNode("div", {
33
+ "class": css.cx(headerCls, styles.header)
34
+ }, [slots.icon && vue.createVNode("div", {
35
+ "class": css.cx(iconCls, styles.icon)
36
+ }, [slots.icon()]), vue.createVNode("div", {
37
+ "class": css.cx(titleCls, styles.header_title)
38
+ }, [props.title])]), slots.action && vue.createVNode("div", {
39
+ "class": css.cx(actionCls, styles.action)
40
+ }, [slots.action()]), vue.createVNode("div", {
41
+ "class": css.cx(bodyCls, styles.body)
42
+ }, [(_a = slots.default) == null ? void 0 : _a.call(slots)])]);
43
+ };
44
+ }
45
+ });
46
+ const Card = withInstall.withInstall(_Card);
47
+
48
+ exports.Card = Card;
49
+ //# sourceMappingURL=Card.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Card.cjs","sources":["../../../../src/components/card/Card.tsx"],"sourcesContent":["// components/card/index.tsx\r\nimport { defineComponent } from \"vue\";\r\n\r\nimport { cx } from \"@emotion/css\"; // 引入 cx\r\n\r\nimport { useDesign } from \"../../hooks/useDesign\"; // 引入我们刚才写的 hook\r\nimport { withInstall } from \"../../utils/withInstall\";\r\n\r\nimport { useStyle } from \"./style\";\r\n\r\nconst _Card = defineComponent({\r\n name: \"DCard\",\r\n props: {\r\n title: String\r\n },\r\n setup(props, { slots }) {\r\n // 初始化 Design Hook,传入组件名 'card'\r\n const { getPrefixCls } = useDesign(\"card\");\r\n\r\n // 初始化 Emotion 样式\r\n const styles = useStyle();\r\n\r\n return () => {\r\n // 生成语义化类名\r\n const rootCls = getPrefixCls();\r\n const headerCls = getPrefixCls(\"head\");\r\n const iconCls = getPrefixCls(\"icon\");\r\n const titleCls = getPrefixCls(\"title\");\r\n const actionCls = getPrefixCls(\"action\");\r\n const bodyCls = getPrefixCls(\"body\");\r\n\r\n return (\r\n <div class={cx(rootCls, styles.container)}>\r\n {/* Header 区域 */}\r\n <div class={cx(headerCls, styles.header)}>\r\n {slots.icon && <div class={cx(iconCls, styles.icon)}>{slots.icon()}</div>}\r\n <div class={cx(titleCls, styles.header_title)}>{props.title}</div>\r\n </div>\r\n {/*action*/}\r\n {slots.action && <div class={cx(actionCls, styles.action)}>{slots.action()}</div>}\r\n\r\n {/* Body 区域 */}\r\n <div class={cx(bodyCls, styles.body)}>{slots.default?.()}</div>\r\n </div>\r\n );\r\n };\r\n }\r\n});\r\n\r\nexport const Card = withInstall(_Card);\r\n"],"names":["_Card","defineComponent","name","props","title","String","setup","slots","getPrefixCls","useDesign","styles","useStyle","rootCls","headerCls","iconCls","titleCls","actionCls","bodyCls","_createVNode","cx","container","header","icon","header_title","action","body","default","Card","withInstall"],"mappings":";;;;;;;;;AAUA,MAAMA,wBAAQC,mBAAAA,CAAgB;AAAA,EAC5BC,IAAAA,EAAM,OAAA;AAAA,EACNC,KAAAA,EAAO;AAAA,IACLC,KAAAA,EAAOC;AAAAA,GACT;AAAA,EACAC,MAAMH,KAAAA,EAAO;AAAA,IAAEI;AAAAA,GAAM,EAAG;AAEtB,IAAA,MAAM;AAAA,MAAEC;AAAAA,KAAa,GAAIC,oBAAU,MAAM,CAAA;AAGzC,IAAA,MAAMC,SAASC,cAAAA,EAAS;AAExB,IAAA,OAAO,MAAM;AAtBjB,MAAA,IAAA,EAAA;AAwBM,MAAA,MAAMC,UAAUJ,YAAAA,EAAa;AAC7B,MAAA,MAAMK,SAAAA,GAAYL,aAAa,MAAM,CAAA;AACrC,MAAA,MAAMM,OAAAA,GAAUN,aAAa,MAAM,CAAA;AACnC,MAAA,MAAMO,QAAAA,GAAWP,aAAa,OAAO,CAAA;AACrC,MAAA,MAAMQ,SAAAA,GAAYR,aAAa,QAAQ,CAAA;AACvC,MAAA,MAAMS,OAAAA,GAAUT,aAAa,MAAM,CAAA;AAEnC,MAAA,OAAAU,gBAAA,KAAA,EAAA;AAAA,QAAA,OAAA,EACcC,MAAAA,CAAGP,OAAAA,EAASF,MAAAA,CAAOU,SAAS;AAAA,OAAC,EAAA,CAAAF,eAAAA,CAAA,KAAA,EAAA;AAAA,QAAA,OAAA,EAE3BC,MAAAA,CAAGN,SAAAA,EAAWH,MAAAA,CAAOW,MAAM;AAAA,OAAC,EAAA,CACrCd,KAAAA,CAAMe,IAAAA,IAAIJ,gBAAA,KAAA,EAAA;AAAA,QAAA,OAAA,EAAgBC,MAAAA,CAAGL,OAAAA,EAASJ,MAAAA,CAAOY,IAAI;AAAA,OAAC,EAAA,CAAGf,KAAAA,CAAMe,IAAAA,EAAM,CAAA,CAAA,EAAOJ,gBAAA,KAAA,EAAA;AAAA,QAAA,OAAA,EAC7DC,MAAAA,CAAGJ,QAAAA,EAAUL,MAAAA,CAAOa,YAAY;AAAA,OAAC,EAAA,CAAGpB,KAAAA,CAAMC,KAAK,CAAA,CAAA,CAAA,CAAA,EAG5DG,KAAAA,CAAMiB,MAAAA,IAAMN,eAAAA,CAAA,KAAA,EAAA;AAAA,QAAA,OAAA,EAAgBC,MAAAA,CAAGH,SAAAA,EAAWN,MAAAA,CAAOc,MAAM;AAAA,OAAC,EAAA,CAAGjB,KAAAA,CAAMiB,MAAAA,EAAQ,CAAA,CAAA,EAAON,gBAAA,KAAA,EAAA;AAAA,QAAA,OAAA,EAGrEC,MAAAA,CAAGF,OAAAA,EAASP,MAAAA,CAAOe,IAAI;AAAA,SAAC,CAAA,CAAGlB,EAAAA,GAAAA,KAAAA,CAAMmB,YAANnB,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,EAAAA,CAAAA,IAAAA,CAAAA,KAAAA,CAAiB,CAAA,CAAA,CAAA,CAAA;AAAA,IAG9D,CAAA;AAAA,EACF;AACF,CAAC,CAAA;AAEM,MAAMoB,IAAAA,GAAOC,wBAAY5B,KAAK;;;;"}
@@ -0,0 +1,8 @@
1
+ 'use strict';
2
+
3
+ var Card = require('./Card.cjs');
4
+
5
+ "use strict";
6
+
7
+ exports.Card = Card.Card;
8
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"}
@@ -0,0 +1,40 @@
1
+ 'use strict';
2
+
3
+ var css = require('@emotion/css');
4
+
5
+ "use strict";
6
+ const useStyle = () => {
7
+ return {
8
+ container: css.css`
9
+ display: flex;
10
+ flex-direction: column;
11
+ background-color: #fff;
12
+ `,
13
+ header: css.css`
14
+ display: flex;
15
+ margin-bottom: 20px;
16
+ `,
17
+ header_title: css.css`
18
+ line-height: 1.5;
19
+ /* 如果标题过长,防止换行破坏布局,可以加这行 */
20
+ white-space: nowrap;
21
+ `,
22
+ // 可选:如果你需要对 icon 容器做特殊处理(例如防止图标被压缩)
23
+ icon: css.css`
24
+ margin-right: 10px;
25
+ display: inline-flex;
26
+ align-items: center;
27
+ flex-shrink: 0; /* 防止标题过长时挤压图标 */
28
+ `,
29
+ action: css.css`
30
+ margin-bottom: 10px;
31
+ `,
32
+ body: css.css`
33
+ display: flex;
34
+ flex-direction: column;
35
+ `
36
+ };
37
+ };
38
+
39
+ exports.useStyle = useStyle;
40
+ //# sourceMappingURL=style.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"style.cjs","sources":["../../../../src/components/card/style.ts"],"sourcesContent":["import { css } from \"@emotion/css\";\r\n\r\nexport const useStyle = () => {\r\n return {\r\n container: css`\r\n display: flex;\r\n flex-direction: column;\r\n background-color: #fff;\r\n `,\r\n header: css`\r\n display: flex;\r\n margin-bottom: 20px;\r\n `,\r\n header_title: css`\r\n line-height: 1.5;\r\n /* 如果标题过长,防止换行破坏布局,可以加这行 */\r\n white-space: nowrap;\r\n `,\r\n // 可选:如果你需要对 icon 容器做特殊处理(例如防止图标被压缩)\r\n icon: css`\r\n margin-right: 10px;\r\n display: inline-flex;\r\n align-items: center;\r\n flex-shrink: 0; /* 防止标题过长时挤压图标 */\r\n `,\r\n action: css`\r\n margin-bottom: 10px;\r\n `,\r\n body: css`\r\n display: flex;\r\n flex-direction: column;\r\n `\r\n };\r\n};\r\n"],"names":["css"],"mappings":";;;;;AAEO,MAAM,WAAW,MAAM;AAC5B,EAAA,OAAO;AAAA,IACL,SAAA,EAAWA,OAAA;AAAA;AAAA;AAAA;AAAA,IAAA,CAAA;AAAA,IAKX,MAAA,EAAQA,OAAA;AAAA;AAAA;AAAA,IAAA,CAAA;AAAA,IAIR,YAAA,EAAcA,OAAA;AAAA;AAAA;AAAA;AAAA,IAAA,CAAA;AAAA;AAAA,IAMd,IAAA,EAAMA,OAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAA,CAAA;AAAA,IAMN,MAAA,EAAQA,OAAA;AAAA;AAAA,IAAA,CAAA;AAAA,IAGR,IAAA,EAAMA,OAAA;AAAA;AAAA;AAAA,IAAA;AAAA,GAIR;AACF;;;;"}
@@ -64,6 +64,7 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
64
64
  };
65
65
  const props = __props;
66
66
  const emits = __emit;
67
+ const attrs = vue.useAttrs();
67
68
  const innerValue = vue.ref(null);
68
69
  vue.watch(
69
70
  () => props.value,
@@ -111,14 +112,14 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
111
112
  };
112
113
  return (_ctx, _cache) => {
113
114
  const _component_a_range_picker = vue.resolveComponent("a-range-picker");
114
- return vue.openBlock(), vue.createBlock(_component_a_range_picker, {
115
+ return vue.openBlock(), vue.createBlock(_component_a_range_picker, vue.mergeProps(vue.unref(attrs), {
115
116
  style: { "width": "100%" },
116
117
  value: innerValue.value,
117
118
  "onUpdate:value": _cache[0] || (_cache[0] = ($event) => innerValue.value = $event),
118
119
  placeholder: ["\u5F00\u59CB\u65F6\u95F4", "\u7ED3\u675F\u65F6\u95F4"],
119
120
  onChange: handleChange,
120
121
  valueFormat: __props.format
121
- }, null, 8, ["value", "valueFormat"]);
122
+ }), null, 16, ["value", "valueFormat"]);
122
123
  };
123
124
  }
124
125
  });
@@ -1 +1 @@
1
- {"version":3,"file":"RangePicker.vue2.cjs","sources":["../../../../src/components/date/RangePicker.vue"],"sourcesContent":["<script setup lang=\"ts\">\r\nimport { ref, watch } from \"vue\";\r\n\r\n// 工具函数:规范化路径\r\nconst normalizePath = (\r\n field: string | string[]\r\n): string[] => {\r\n return Array.isArray(field) ? field : [field];\r\n};\r\n\r\n// 工具函数:获取嵌套值\r\nconst getNestedValue = <T extends Record<string, unknown>>(\r\n obj: T,\r\n field: string | string[]\r\n): string | null | undefined => {\r\n const path = normalizePath(field);\r\n let current: unknown = obj;\r\n\r\n for (const key of path) {\r\n if (\r\n current &&\r\n typeof current === \"object\" &&\r\n key in current\r\n ) {\r\n current = (current as Record<string, unknown>)[key];\r\n } else {\r\n return undefined;\r\n }\r\n }\r\n return current as string | null | undefined;\r\n};\r\n\r\n// 工具函数:设置嵌套值\r\nconst setNestedValue = <T extends Record<string, unknown>>(\r\n obj: T,\r\n field: string | string[],\r\n value: string | null\r\n): T => {\r\n const path = normalizePath(field);\r\n const newObj = { ...obj };\r\n let current: Record<string, unknown> = newObj;\r\n\r\n for (let i = 0; i < path.length - 1; i++) {\r\n const key = path[i];\r\n if (\r\n !(key in current) ||\r\n typeof current[key] !== \"object\" ||\r\n current[key] === null\r\n ) {\r\n current[key] = {};\r\n } else {\r\n current[key] = { ...current[key] };\r\n }\r\n current = current[key] as Record<string, unknown>;\r\n }\r\n\r\n current[path[path.length - 1]] = value;\r\n return newObj as T;\r\n};\r\n\r\n// 定义 props 类型\r\ninterface Props {\r\n value: Record<string, unknown>;\r\n startField?: string | string[];\r\n endField?: string | string[];\r\n format?: string;\r\n}\r\n\r\nconst props = defineProps({\n value: { type: Object, required: true, default: () => ({}) },\n startField: { type: [String, Array], required: false, default: \"startTime\" },\n endField: { type: [String, Array], required: false, default: \"endTime\" },\n format: { type: String, required: false, default: \"YYYY-MM-DD\" }\n});\r\n\r\n// 定义 emits 类型\r\nconst emits = defineEmits([\"update:value\", \"change\"]);\r\n\r\n// 内部值,用于日期选择器\r\nconst innerValue = ref<any>(null); // 使用 any 代替 Dayjs\r\n\r\n// 监听外部 value 变化,同步内部值\r\nwatch(\r\n () => props.value,\r\n newVal => {\r\n const start = getNestedValue(newVal, props.startField);\r\n const end = getNestedValue(newVal, props.endField);\r\n\r\n if (start && end) {\r\n innerValue.value = [start, end];\r\n } else {\r\n innerValue.value = null;\r\n }\r\n },\r\n { immediate: true, deep: true }\r\n);\r\n\r\n// 处理日期变化\r\nconst handleChange = (dates: [any, any]) => {\r\n let updatedValue = { ...props.value };\r\n\r\n if (dates && dates.length === 2) {\r\n const [startTime, endTime] = dates;\r\n updatedValue = setNestedValue(\r\n updatedValue,\r\n props.startField,\r\n startTime ? startTime : null\r\n );\r\n updatedValue = setNestedValue(\r\n updatedValue,\r\n props.endField,\r\n endTime ? endTime : null\r\n );\r\n // 更新 innerValue 为当前选择的日期范围数组\r\n innerValue.value = dates;\r\n } else {\r\n updatedValue = setNestedValue(\r\n updatedValue,\r\n props.startField,\r\n null\r\n );\r\n updatedValue = setNestedValue(\r\n updatedValue,\r\n props.endField,\r\n null\r\n );\r\n // 清空 innerValue\r\n innerValue.value = null;\r\n }\r\n\r\n emits(\"update:value\", updatedValue);\r\n emits(\"change\", updatedValue);\r\n};\r\n</script>\r\n\r\n<template>\r\n <a-range-picker\r\n style=\"width: 100%\"\r\n v-model:value=\"innerValue\"\r\n :placeholder=\"['开始时间', '结束时间']\"\r\n @change=\"handleChange\"\r\n :valueFormat=\"format\"\r\n />\r\n</template>\r\n\r\n<style scoped></style>\r\n"],"names":["ref","watch","_createBlock"],"mappings":"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"}
1
+ {"version":3,"file":"RangePicker.vue2.cjs","sources":["../../../../src/components/date/RangePicker.vue"],"sourcesContent":["<script setup lang=\"ts\">\r\nimport { ref, useAttrs, watch } from \"vue\";\r\n\r\n// 工具函数:规范化路径\r\nconst normalizePath = (\r\n field: string | string[]\r\n): string[] => {\r\n return Array.isArray(field) ? field : [field];\r\n};\r\n\r\n// 工具函数:获取嵌套值\r\nconst getNestedValue = <T extends Record<string, unknown>>(\r\n obj: T,\r\n field: string | string[]\r\n): string | null | undefined => {\r\n const path = normalizePath(field);\r\n let current: unknown = obj;\r\n\r\n for (const key of path) {\r\n if (\r\n current &&\r\n typeof current === \"object\" &&\r\n key in current\r\n ) {\r\n current = (current as Record<string, unknown>)[key];\r\n } else {\r\n return undefined;\r\n }\r\n }\r\n return current as string | null | undefined;\r\n};\r\n\r\n// 工具函数:设置嵌套值\r\nconst setNestedValue = <T extends Record<string, unknown>>(\r\n obj: T,\r\n field: string | string[],\r\n value: string | null\r\n): T => {\r\n const path = normalizePath(field);\r\n const newObj = { ...obj };\r\n let current: Record<string, unknown> = newObj;\r\n\r\n for (let i = 0; i < path.length - 1; i++) {\r\n const key = path[i];\r\n if (\r\n !(key in current) ||\r\n typeof current[key] !== \"object\" ||\r\n current[key] === null\r\n ) {\r\n current[key] = {};\r\n } else {\r\n current[key] = { ...current[key] };\r\n }\r\n current = current[key] as Record<string, unknown>;\r\n }\r\n\r\n current[path[path.length - 1]] = value;\r\n return newObj as T;\r\n};\r\n\r\n// 定义 props 类型\r\ninterface Props {\r\n value: Record<string, unknown>;\r\n startField?: string | string[];\r\n endField?: string | string[];\r\n format?: string;\r\n}\r\n\r\nconst props = defineProps({\n value: { type: Object, required: true, default: () => ({}) },\n startField: { type: [String, Array], required: false, default: \"startTime\" },\n endField: { type: [String, Array], required: false, default: \"endTime\" },\n format: { type: String, required: false, default: \"YYYY-MM-DD\" }\n});\r\n\r\n// 定义 emits 类型\r\nconst emits = defineEmits([\"update:value\", \"change\"]);\r\n\r\nconst attrs = useAttrs();\r\n\r\n// 内部值,用于日期选择器\r\nconst innerValue = ref<any>(null); // 使用 any 代替 Dayjs\r\n\r\n// 监听外部 value 变化,同步内部值\r\nwatch(\r\n () => props.value,\r\n newVal => {\r\n const start = getNestedValue(newVal, props.startField);\r\n const end = getNestedValue(newVal, props.endField);\r\n\r\n if (start && end) {\r\n innerValue.value = [start, end];\r\n } else {\r\n innerValue.value = null;\r\n }\r\n },\r\n { immediate: true, deep: true }\r\n);\r\n\r\n// 处理日期变化\r\nconst handleChange = (dates: [any, any]) => {\r\n let updatedValue = { ...props.value };\r\n\r\n if (dates && dates.length === 2) {\r\n const [startTime, endTime] = dates;\r\n updatedValue = setNestedValue(\r\n updatedValue,\r\n props.startField,\r\n startTime ? startTime : null\r\n );\r\n updatedValue = setNestedValue(\r\n updatedValue,\r\n props.endField,\r\n endTime ? endTime : null\r\n );\r\n // 更新 innerValue 为当前选择的日期范围数组\r\n innerValue.value = dates;\r\n } else {\r\n updatedValue = setNestedValue(\r\n updatedValue,\r\n props.startField,\r\n null\r\n );\r\n updatedValue = setNestedValue(\r\n updatedValue,\r\n props.endField,\r\n null\r\n );\r\n // 清空 innerValue\r\n innerValue.value = null;\r\n }\r\n\r\n emits(\"update:value\", updatedValue);\r\n emits(\"change\", updatedValue);\r\n};\r\n</script>\r\n\r\n<template>\r\n <a-range-picker\r\n v-bind=\"attrs\"\r\n style=\"width: 100%\"\r\n v-model:value=\"innerValue\"\r\n :placeholder=\"['开始时间', '结束时间']\"\r\n @change=\"handleChange\"\r\n :valueFormat=\"format\"\r\n />\r\n</template>\r\n\r\n<style scoped></style>\r\n"],"names":["useAttrs","ref","watch","_createBlock","_mergeProps","_unref"],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  'use strict';
2
2
 
3
+ require('./card/index.cjs');
3
4
  require('./date/index.cjs');
4
5
  require('./dic/index.cjs');
5
6
  require('./form/index.cjs');
@@ -8,10 +9,12 @@ require('./layout/index.cjs');
8
9
  require('./select/index.cjs');
9
10
  require('./tab/index.cjs');
10
11
  require('./table/index.cjs');
12
+ var index = require('./table-form/index.cjs');
11
13
  var DicReplace = require('./dic/DicReplace.cjs');
12
14
  var Select_vue_vue_type_script_setup_true_lang = require('./select/Select.vue2.cjs');
13
15
  var Tab_vue_vue_type_script_setup_true_lang = require('./tab/Tab.vue2.cjs');
14
16
  var Table = require('./table/Table.cjs');
17
+ var Card = require('./card/Card.cjs');
15
18
  var RangePicker_vue_vue_type_script_setup_true_lang = require('./date/RangePicker.vue2.cjs');
16
19
  var FormLayout = require('./form/FormLayout.cjs');
17
20
  var Moon = require('./icon/Moon.vue.cjs');
@@ -22,13 +25,17 @@ var Menu = require('./layout/components/menu/Menu.cjs');
22
25
  var Layout_vue_vue_type_script_setup_true_lang = require('./layout/Layout.vue2.cjs');
23
26
  var List = require('./layout/List.cjs');
24
27
  var Show = require('./layout/Show.cjs');
28
+ var _interface = require('./table-form/interface.cjs');
29
+ var TableFormItem = require('./table-form/TableFormItem.cjs');
25
30
 
26
31
  "use strict";
27
32
 
33
+ exports.TableForm = index.TableForm;
28
34
  exports.DicRep = DicReplace.default;
29
35
  exports.Select = Select_vue_vue_type_script_setup_true_lang.default;
30
36
  exports.Tab = Tab_vue_vue_type_script_setup_true_lang.default;
31
37
  exports.Table = Table.default;
38
+ exports.Card = Card.Card;
32
39
  exports.RangePicker = RangePicker_vue_vue_type_script_setup_true_lang.default;
33
40
  exports.FormLayout = FormLayout.default;
34
41
  exports.Moon = Moon.default;
@@ -39,4 +46,8 @@ exports.Menu = Menu.default;
39
46
  exports.Layout = Layout_vue_vue_type_script_setup_true_lang.default;
40
47
  exports.List = List.default;
41
48
  exports.Show = Show.default;
49
+ exports.DEFAULT_STYLES_CONFIG = _interface.DEFAULT_STYLES_CONFIG;
50
+ exports.tableFormItemProps = _interface.tableFormItemProps;
51
+ exports.tableFormProps = _interface.tableFormProps;
52
+ exports.TableFormItem = TableFormItem.TableFormItem;
42
53
  //# sourceMappingURL=index.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,7 @@
1
+ 'use strict';
2
+
3
+ "use strict";
4
+ const AppContextKey = Symbol("d-bsui-context");
5
+
6
+ exports.AppContextKey = AppContextKey;
7
+ //# sourceMappingURL=AppContext.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AppContext.cjs","sources":["../../../../src/components/layout/AppContext.ts"],"sourcesContent":["import { ComputedRef, VNode } from \"vue\";\r\n\r\nexport const AppContextKey = Symbol(\"d-bsui-context\");\r\nexport interface AppContext {\r\n // 水印\r\n watermarkContent?: ComputedRef<{ content: string }>;\r\n renderMenuIcon?: (item: {\r\n icon: string;\r\n }) => VNode | VNode[];\r\n}\r\n"],"names":[],"mappings":";;;AAEO,MAAM,aAAA,GAAgB,OAAO,gBAAgB;;;;"}
@@ -5,6 +5,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  var vue = require('vue');
6
6
  var vueRouter = require('vue-router');
7
7
  var pinia = require('pinia');
8
+ var AppContext = require('./AppContext.cjs');
8
9
  var Menu = require('./components/menu/Menu.cjs');
9
10
  var SettingDrawer = require('./components/settings/SettingDrawer.cjs');
10
11
  var store = require('@ditari/store');
@@ -22,16 +23,19 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
22
23
  watermark: { type: Object, required: false, default: () => ({
23
24
  content: ""
24
25
  }) },
25
- isSettings: { type: Boolean, required: false, default: true }
26
+ isSettings: { type: Boolean, required: false, default: false },
27
+ renderMenuIcon: { type: Function, required: false, default: void 0 }
26
28
  },
27
29
  emits: ["onMenuClick"],
28
30
  setup(__props, { emit: __emit }) {
29
31
  const props = __props;
30
32
  const emits = __emit;
31
33
  const { layout, modeConfig, sideTokenStyle } = pinia.storeToRefs(store.useAppStore());
32
- const route = vueRouter.useRoute();
33
- useWatermark();
34
34
  const { onMenuClick } = useMenu();
35
+ vue.provide(AppContext.AppContextKey, {
36
+ watermarkContent: vue.computed(() => props.watermark || ""),
37
+ renderMenuIcon: props.renderMenuIcon
38
+ });
35
39
  const {
36
40
  layoutStyle,
37
41
  siderStyle,
@@ -40,6 +44,7 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
40
44
  } = useStyle();
41
45
  useKeepAlive();
42
46
  function useKeepAlive() {
47
+ const route = vueRouter.useRoute();
43
48
  const { save } = store.useKeepAliveStore();
44
49
  vue.watch(
45
50
  () => route.path,
@@ -51,17 +56,6 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
51
56
  }
52
57
  );
53
58
  }
54
- function useWatermark() {
55
- const watermarkContent = vue.ref("");
56
- vue.provide("watermarkContent", watermarkContent);
57
- vue.watch(
58
- () => props.watermark,
59
- (val) => {
60
- watermarkContent.value = val.content || "";
61
- },
62
- { deep: true, immediate: true }
63
- );
64
- }
65
59
  function useStyle() {
66
60
  const layoutStyle2 = css.css`
67
61
  height: 100vh;
@@ -1 +1 @@
1
- {"version":3,"file":"Layout.vue2.cjs","sources":["../../../../src/components/layout/Layout.vue"],"sourcesContent":["<script setup lang=\"ts\">\r\nimport { computed, provide, 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 {\r\n useAppStore,\r\n useKeepAliveStore\r\n} 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 props = defineProps({\n watermark: { type: Object, required: false, default: () => ({\r\n content: \"\"\r\n }) },\n isSettings: { type: Boolean, required: false, default: true }\n});\r\nconst emits = defineEmits([\"onMenuClick\"]);\r\n\r\nconst { layout, modeConfig, sideTokenStyle } =\r\n storeToRefs(useAppStore());\r\nconst route = useRoute();\r\nuseWatermark();\r\nconst { onMenuClick } = useMenu();\r\n\r\nconst {\r\n layoutStyle,\r\n siderStyle,\r\n rightStyle,\r\n rightContentStyle\r\n} = useStyle();\r\nuseKeepAlive();\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 provide(\"watermarkContent\", watermarkContent);\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\r\nfunction useStyle() {\r\n const layoutStyle = css`\r\n height: 100vh;\r\n `;\r\n\r\n const transitionStyle = css`\r\n transition: margin-left 0.4s\r\n 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 z-index: 1;\r\n width: ${layout.value.sideWidth}px;\r\n\r\n .app-side {\r\n height: 100%;\r\n display: flex;\r\n flex-direction: column;\r\n ${modeConfig.value.mode === \"light\"\r\n ? `background:${sideTokenStyle.value.bgColor};`\r\n : \"\"}\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\r\nfunction useMenu() {\r\n const onMenuClick = (item: never) => {\r\n emits(\"onMenuClick\", item);\r\n };\r\n\r\n return {\r\n onMenuClick\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 :width=\"layout.sideWidth\"\r\n >\r\n <div class=\"app-side\">\r\n <slot name=\"logo\"></slot>\r\n <d-menu @onMenuClick=\"onMenuClick\" />\r\n </div>\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\r\n <SettingDrawer v-if=\"isSettings\" />\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","ref","provide","layoutStyle","css","computed","siderStyle","rightStyle","rightContentStyle","onMenuClick","_createVNode","_unref","_createElementVNode","_renderSlot","DMenu","HeaderLayout","RouterContent","_createBlock","SettingDrawer"],"mappings":"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"}
1
+ {"version":3,"file":"Layout.vue2.cjs","sources":["../../../../src/components/layout/Layout.vue"],"sourcesContent":["<script setup lang=\"ts\">\r\nimport { computed, provide, VNode, watch } from \"vue\";\r\nimport { useRoute } from \"vue-router\";\r\nimport { storeToRefs } from \"pinia\";\r\n\r\nimport { AppContext, AppContextKey } from \"./AppContext\";\r\nimport DMenu from \"./components/menu/Menu\";\r\nimport SettingDrawer from \"./components/settings/SettingDrawer\";\r\nimport {\r\n useAppStore,\r\n useKeepAliveStore\r\n} 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 props = defineProps({\n watermark: { type: Object, required: false, default: () => ({\r\n content: \"\"\r\n }) },\n isSettings: { type: Boolean, required: false, default: false },\n renderMenuIcon: { type: Function, required: false, default: undefined }\n});\r\nconst emits = defineEmits([\"onMenuClick\"]);\r\n\r\nconst { layout, modeConfig, sideTokenStyle } =\r\n storeToRefs(useAppStore());\r\n\r\nconst { onMenuClick } = useMenu();\r\n\r\nprovide<AppContext>(AppContextKey, {\r\n watermarkContent: computed(() => props.watermark || \"\"),\r\n renderMenuIcon: props.renderMenuIcon\r\n});\r\n\r\nconst {\r\n layoutStyle,\r\n siderStyle,\r\n rightStyle,\r\n rightContentStyle\r\n} = useStyle();\r\nuseKeepAlive();\r\n\r\nfunction useKeepAlive() {\r\n const route = useRoute();\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 useStyle() {\r\n const layoutStyle = css`\r\n height: 100vh;\r\n `;\r\n\r\n const transitionStyle = css`\r\n transition: margin-left 0.4s\r\n 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 z-index: 1;\r\n width: ${layout.value.sideWidth}px;\r\n\r\n .app-side {\r\n height: 100%;\r\n display: flex;\r\n flex-direction: column;\r\n ${modeConfig.value.mode === \"light\"\r\n ? `background:${sideTokenStyle.value.bgColor};`\r\n : \"\"}\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\r\nfunction useMenu() {\r\n const onMenuClick = (item: never) => {\r\n emits(\"onMenuClick\", item);\r\n };\r\n\r\n return {\r\n onMenuClick\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 :width=\"layout.sideWidth\"\r\n >\r\n <div class=\"app-side\">\r\n <slot name=\"logo\"></slot>\r\n <d-menu @onMenuClick=\"onMenuClick\" />\r\n </div>\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\r\n <SettingDrawer v-if=\"isSettings\" />\r\n <a-back-top></a-back-top>\r\n</template>\r\n\r\n<style scoped></style>\r\n"],"names":["storeToRefs","useAppStore","provide","AppContextKey","computed","useRoute","useKeepAliveStore","watch","layoutStyle","css","siderStyle","rightStyle","rightContentStyle","onMenuClick","_createVNode","_unref","_createElementVNode","_renderSlot","DMenu","HeaderLayout","RouterContent","_createBlock","SettingDrawer"],"mappings":"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"}
@@ -7,6 +7,7 @@ var vueRouter = require('vue-router');
7
7
  var antDesignVue = require('ant-design-vue');
8
8
  var pinia = require('pinia');
9
9
  var core = require('@vueuse/core');
10
+ var AppContext = require('./AppContext.cjs');
10
11
  var iconsVue = require('@ant-design/icons-vue');
11
12
  var store = require('@ditari/store');
12
13
  var css = require('@emotion/css');
@@ -30,7 +31,11 @@ const show = /* @__PURE__ */ vue.defineComponent({
30
31
  const {
31
32
  useToken
32
33
  } = antDesignVue.theme;
33
- const watermarkContent = vue.ref(vue.inject("watermarkContent", ""));
34
+ const appContext = vue.inject(AppContext.AppContextKey, null);
35
+ const watermarkContent = vue.computed(() => {
36
+ var _a;
37
+ return (_a = appContext == null ? void 0 : appContext.watermarkContent) == null ? void 0 : _a.value.content;
38
+ });
34
39
  const {
35
40
  token
36
41
  } = useToken();
@@ -1 +1 @@
1
- {"version":3,"file":"Show.cjs","sources":["../../../../src/components/layout/Show.tsx"],"sourcesContent":["import {\r\n computed,\r\n ComputedRef,\r\n defineComponent,\r\n inject,\r\n ref\r\n} from \"vue\";\r\nimport { useRoute, useRouter } from \"vue-router\";\r\nimport {\r\n Flex,\r\n PageHeader,\r\n theme,\r\n Watermark\r\n} from \"ant-design-vue\";\r\nimport { storeToRefs } from \"pinia\";\r\nimport { useWindowScroll } from \"@vueuse/core\";\r\n\r\nimport { LeftOutlined } from \"@ant-design/icons-vue\";\r\nimport { useAppStore, useNavTabStore } from \"@ditari/store\";\r\nimport { css } from \"@emotion/css\";\r\nimport type { GlobalToken } from \"ant-design-vue/es/theme/interface\";\r\n\r\nconst getProps = () => {\r\n return {\r\n close: {\r\n type: Boolean,\r\n default: false\r\n }\r\n };\r\n};\r\nconst show = defineComponent({\r\n name: \"DShowLayout\",\r\n props: getProps(),\r\n setup(props, { slots, expose }) {\r\n const { useToken } = theme;\r\n const watermarkContent = ref(\r\n inject(\"watermarkContent\", \"\")\r\n );\r\n const { token }: { token: ComputedRef<GlobalToken> } =\r\n useToken();\r\n\r\n const { layout, modeConfig, refresh } =\r\n storeToRefs(useAppStore());\r\n const { deleteTabs } = useNavTabStore();\r\n\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: 0;\r\n transition: all 0.3s;\r\n background-color: ${token.value.colorBgLayout};\r\n\r\n ${y.value > 0\r\n ? \"box-shadow:0 10px 10px rgba(0, 0, 0, 0.15);\"\r\n : \"\"}\r\n .ant-page-header-back {\r\n height: 100%;\r\n margin-right: 0;\r\n\r\n .ant-page-header-back-button {\r\n height: 100%;\r\n padding: 0 6px !important;\r\n display: flex !important;\r\n align-items: center;\r\n justify-content: center;\r\n }\r\n }\r\n\r\n .ant-page-header-heading-title {\r\n font-size: 14px;\r\n }\r\n `\r\n );\r\n const contentStyle = computed(\r\n () => css`\r\n padding: 10px 10px\r\n ${slots.bottomFooter ? \"50px\" : \"0\"};\r\n background: ${token.value.colorBgLayout};\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 height: 50px;\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: ${modeConfig.value.mode !== \"light\"\r\n ? token.value.colorBgContainer\r\n : \"#fff\"};\r\n box-shadow: 6px 0 10px rgba(0, 0, 0, 0.15);\r\n transition: left 0.4s\r\n cubic-bezier(0.22, 1.2, 0.36, 1);\r\n `\r\n );\r\n const pageTitle = () => (\r\n <div>{route.meta.title || \"无标题\"}</div>\r\n );\r\n const ghost = ref(false);\r\n\r\n const onBack = () => {\r\n if (props.close) {\r\n // 返回关闭标签\r\n deleteTabs(route.fullPath);\r\n router.go(-1);\r\n } else {\r\n // 不关闭标签\r\n router.go(-1);\r\n }\r\n };\r\n\r\n const onClosePage = () => {\r\n refresh.value = true;\r\n deleteTabs(route.fullPath);\r\n router.go(-1);\r\n };\r\n\r\n expose({\r\n close: onClosePage\r\n });\r\n\r\n return () => (\r\n <Watermark content={watermarkContent.value}>\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\r\n style={{ fontSize: \"26px\" }}\r\n />\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}>\r\n {slots.default?.()}\r\n </div>\r\n {slots.bottomFooter ? (\r\n <div class={footerStyle.value}>\r\n {slots.bottomFooter?.()}\r\n </div>\r\n ) : null}\r\n </Flex>\r\n </Watermark>\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","useToken","theme","watermarkContent","ref","inject","token","layout","modeConfig","refresh","storeToRefs","useAppStore","deleteTabs","useNavTabStore","route","useRoute","router","useRouter","y","useWindowScroll","pageHeaderStyle","computed","css","value","headerHeight","colorBgLayout","contentStyle","bottomFooter","footerStyle","collapsed","collapsedWidth","sideWidth","mode","colorBgContainer","pageTitle","_createVNode","meta","title","ghost","onBack","fullPath","go","onClosePage","Watermark","Flex","PageHeader","backIcon","LeftOutlined","fontSize","extra","_a","footer","subTitle"],"mappings":"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"}
1
+ {"version":3,"file":"Show.cjs","sources":["../../../../src/components/layout/Show.tsx"],"sourcesContent":["import {\r\n computed,\r\n ComputedRef,\r\n defineComponent,\r\n inject,\r\n ref\r\n} from \"vue\";\r\nimport { useRoute, useRouter } from \"vue-router\";\r\nimport {\r\n Flex,\r\n PageHeader,\r\n theme,\r\n Watermark\r\n} from \"ant-design-vue\";\r\nimport { storeToRefs } from \"pinia\";\r\nimport { useWindowScroll } from \"@vueuse/core\";\r\n\r\nimport { AppContext, AppContextKey } from \"./AppContext\";\r\nimport { LeftOutlined } from \"@ant-design/icons-vue\";\r\nimport { useAppStore, useNavTabStore } from \"@ditari/store\";\r\nimport { css } from \"@emotion/css\";\r\nimport type { GlobalToken } from \"ant-design-vue/es/theme/interface\";\r\n\r\nconst getProps = () => {\r\n return {\r\n close: {\r\n type: Boolean,\r\n default: false\r\n }\r\n };\r\n};\r\nconst show = defineComponent({\r\n name: \"DShowLayout\",\r\n props: getProps(),\r\n setup(props, { slots, expose }) {\r\n const { useToken } = theme;\r\n\r\n const appContext = inject<AppContext | null>(\r\n AppContextKey,\r\n null\r\n );\r\n\r\n const watermarkContent = computed(\r\n () => appContext?.watermarkContent?.value.content\r\n );\r\n\r\n const { token }: { token: ComputedRef<GlobalToken> } =\r\n useToken();\r\n\r\n const { layout, modeConfig, refresh } =\r\n storeToRefs(useAppStore());\r\n const { deleteTabs } = useNavTabStore();\r\n\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: 0;\r\n transition: all 0.3s;\r\n background-color: ${token.value.colorBgLayout};\r\n\r\n ${y.value > 0\r\n ? \"box-shadow:0 10px 10px rgba(0, 0, 0, 0.15);\"\r\n : \"\"}\r\n .ant-page-header-back {\r\n height: 100%;\r\n margin-right: 0;\r\n\r\n .ant-page-header-back-button {\r\n height: 100%;\r\n padding: 0 6px !important;\r\n display: flex !important;\r\n align-items: center;\r\n justify-content: center;\r\n }\r\n }\r\n\r\n .ant-page-header-heading-title {\r\n font-size: 14px;\r\n }\r\n `\r\n );\r\n const contentStyle = computed(\r\n () => css`\r\n padding: 10px 10px\r\n ${slots.bottomFooter ? \"50px\" : \"0\"};\r\n background: ${token.value.colorBgLayout};\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 height: 50px;\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: ${modeConfig.value.mode !== \"light\"\r\n ? token.value.colorBgContainer\r\n : \"#fff\"};\r\n box-shadow: 6px 0 10px rgba(0, 0, 0, 0.15);\r\n transition: left 0.4s\r\n cubic-bezier(0.22, 1.2, 0.36, 1);\r\n `\r\n );\r\n const pageTitle = () => (\r\n <div>{route.meta.title || \"无标题\"}</div>\r\n );\r\n const ghost = ref(false);\r\n\r\n const onBack = () => {\r\n if (props.close) {\r\n // 返回关闭标签\r\n deleteTabs(route.fullPath);\r\n router.go(-1);\r\n } else {\r\n // 不关闭标签\r\n router.go(-1);\r\n }\r\n };\r\n\r\n const onClosePage = () => {\r\n refresh.value = true;\r\n deleteTabs(route.fullPath);\r\n router.go(-1);\r\n };\r\n\r\n expose({\r\n close: onClosePage\r\n });\r\n\r\n return () => (\r\n <Watermark content={watermarkContent.value}>\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\r\n style={{ fontSize: \"26px\" }}\r\n />\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}>\r\n {slots.default?.()}\r\n </div>\r\n {slots.bottomFooter ? (\r\n <div class={footerStyle.value}>\r\n {slots.bottomFooter?.()}\r\n </div>\r\n ) : null}\r\n </Flex>\r\n </Watermark>\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","useToken","theme","appContext","inject","AppContextKey","watermarkContent","computed","value","content","token","layout","modeConfig","refresh","storeToRefs","useAppStore","deleteTabs","useNavTabStore","route","useRoute","router","useRouter","y","useWindowScroll","pageHeaderStyle","css","headerHeight","colorBgLayout","contentStyle","bottomFooter","footerStyle","collapsed","collapsedWidth","sideWidth","mode","colorBgContainer","pageTitle","_createVNode","meta","title","ghost","ref","onBack","fullPath","go","onClosePage","Watermark","Flex","PageHeader","backIcon","LeftOutlined","fontSize","extra","_a","footer","subTitle"],"mappings":";;;;;;;;;;;;;;;AAuBA,MAAMA,WAAWA,MAAM;AACrB,EAAA,OAAO;AAAA,IACLC,KAAAA,EAAO;AAAA,MACLC,IAAAA,EAAMC,OAAAA;AAAAA,MACNC,OAAAA,EAAS;AAAA;AACX,GACF;AACF,CAAA;AACA,MAAMC,uBAAOC,mBAAAA,CAAgB;AAAA,EAC3BC,IAAAA,EAAM,aAAA;AAAA,EACNC,OAAOR,QAAAA,EAAS;AAAA,EAChBS,MAAMD,KAAAA,EAAO;AAAA,IAAEE,KAAAA;AAAAA,IAAOC;AAAAA,GAAO,EAAG;AAC9B,IAAA,MAAM;AAAA,MAAEC;AAAAA,KAAS,GAAIC,kBAAAA;AAErB,IAAA,MAAMC,UAAAA,GAAaC,UAAAA,CACjBC,wBAAAA,EACA,IACF,CAAA;AAEA,IAAA,MAAMC,gBAAAA,GAAmBC,aACvB,MAAA;AA3CN,MAAA,IAAA,EAAA;AA2CYJ,MAAAA,OAAAA,CAAAA,EAAAA,GAAAA,UAAAA,IAAAA,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,UAAAA,CAAYG,gBAAAA,KAAZH,mBAA8BK,KAAAA,CAAMC,OAAAA;AAAAA,IAAAA,CAC5C,CAAA;AAEA,IAAA,MAAM;AAAA,MAAEC;AAAAA,QACNT,QAAAA,EAAS;AAEX,IAAA,MAAM;AAAA,MAAEU,MAAAA;AAAAA,MAAQC,UAAAA;AAAAA,MAAYC;AAAAA,KAAQ,GAClCC,iBAAAA,CAAYC,iBAAAA,EAAa,CAAA;AAC3B,IAAA,MAAM;AAAA,MAAEC;AAAAA,QAAeC,oBAAAA,EAAe;AAEtC,IAAA,MAAMC,QAAQC,kBAAAA,EAAS;AACvB,IAAA,MAAMC,SAASC,mBAAAA,EAAU;AAEzB,IAAA,MAAM;AAAA,MAAEC;AAAAA,QAAMC,oBAAAA,EAAgB;AAE9B,IAAA,MAAMC,eAAAA,GAAkBjB,aACtB,MAAMkB,OAAAA;AAAAA;AAAAA,aAAAA,EAEGd,MAAAA,CAAOH,MAAMkB,YAAY,CAAA;AAAA;AAAA;AAAA;AAAA,0BAAA,EAIZhB,KAAAA,CAAMF,MAAMmB,aAAa,CAAA;;AAAA,QAAA,EAE3CL,CAAAA,CAAEd,KAAAA,GAAQ,CAAA,GACR,6CAAA,GACA,EAAE;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA,MAAA,CAkBV,CAAA;AACA,IAAA,MAAMoB,YAAAA,GAAerB,aACnB,MAAMkB,OAAAA;AAAAA;AAAAA,UAAAA,EAEA1B,KAAAA,CAAM8B,YAAAA,GAAe,MAAA,GAAS,GAAG,CAAA;AAAA,oBAAA,EACvBnB,KAAAA,CAAMF,MAAMmB,aAAa,CAAA;AAAA,MAAA,CAE3C,CAAA;AACA,IAAA,MAAMG,WAAAA,GAAcvB,aAClB,MAAMkB,OAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,cAAAA,EAKId,MAAAA,CAAOH,MAAMuB,SAAAA,GACjBpB,MAAAA,CAAOH,MAAMwB,cAAAA,GACbrB,MAAAA,CAAOH,MAAMyB,SAAS,CAAA;AAAA;AAAA;AAAA,oBAAA,EAGZrB,WAAWJ,KAAAA,CAAM0B,IAAAA,KAAS,UACpCxB,KAAAA,CAAMF,KAAAA,CAAM2B,mBACZ,MAAM,CAAA;AAAA;AAAA;AAAA;AAAA,MAAA,CAKd,CAAA;AACA,IAAA,MAAMC,SAAAA,GAAYA,MAAAC,eAAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CACVnB,KAAAA,CAAMoB,IAAAA,CAAKC,KAAAA,IAAS,oBAAK,CAAA,CAAA;AAEjC,IAAA,MAAMC,KAAAA,GAAQC,QAAI,KAAK,CAAA;AAEvB,IAAA,MAAMC,SAASA,MAAM;AACnB,MAAA,IAAI7C,MAAMP,KAAAA,EAAO;AAEf0B,QAAAA,UAAAA,CAAWE,MAAMyB,QAAQ,CAAA;AACzBvB,QAAAA,MAAAA,CAAOwB,GAAG,CAAA,CAAE,CAAA;AAAA,MACd,CAAA,MAAO;AAELxB,QAAAA,MAAAA,CAAOwB,GAAG,CAAA,CAAE,CAAA;AAAA,MACd;AAAA,IACF,CAAA;AAEA,IAAA,MAAMC,cAAcA,MAAM;AACxBhC,MAAAA,OAAAA,CAAQL,KAAAA,GAAQ,IAAA;AAChBQ,MAAAA,UAAAA,CAAWE,MAAMyB,QAAQ,CAAA;AACzBvB,MAAAA,MAAAA,CAAOwB,GAAG,CAAA,CAAE,CAAA;AAAA,IACd,CAAA;AAEA5C,IAAAA,MAAAA,CAAO;AAAA,MACLV,KAAAA,EAAOuD;AAAAA,KACR,CAAA;AAED,IAAA,OAAO,MAAAR,gBAAAS,sBAAAA,EAAA;AAAA,MAAA,WACexC,gBAAAA,CAAiBE;AAAAA,KAAK,EAAA;AAAA,MAAAf,OAAAA,EAAAA,MAAA,CAAA4C,eAAAA,CAAAU,iBAAAA,EAAA;AAAA,QAAA,UAAA,EACxB;AAAA,OAAI,EAAA;AAAA,QAAAtD,SAAAA,MAAA;AA9I5B,UAAA,IAAA,EAAA,EAAA,EAAA;AA8I4B,UAAA,OAAA,CAAA4C,gBAAAW,uBAAAA,EAAA;AAAA,YAAA,SAETR,KAAAA,CAAMhC,KAAAA;AAAAA,YAAK,SACXgB,eAAAA,CAAgBhB,KAAAA;AAAAA,YAAK,QAAA,EACpBkC,MAAMA,MAAAA,EAAO;AAAA,YAAC,SACfN,SAAAA;AAAU,WAAC,EAAA;AAAA,YAGhBa,UAAUA,MAAAZ,eAAAA,CAAA,OAAA,IAAA,EAAA,CAAAA,gBAAAa,qBAAAA,EAAA;AAAA,cAAA,OAAA,EAGG;AAAA,gBAAEC,QAAAA,EAAU;AAAA;AAAO,aAAC,EAAA,IAAA,CAAA,CAAA,CAAA;AAAA,YAIjCC,OAAOA,MAAA;AA7JrB,cAAA,IAAAC,GAAAA;AA6J2BtD,cAAAA,OAAAA,CAAAA,GAAAA,GAAAA,KAAAA,CAAMqD,KAAAA,KAANrD,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,GAAAA,CAAAA,IAAAA,CAAAA,KAAAA,CAAAA;AAAAA,YAAAA,CAAAA;AAAAA,YACbuD,QAAQA,MAAA;AA9JtB,cAAA,IAAAD,GAAAA;AA8J4BtD,cAAAA,OAAAA,CAAAA,GAAAA,GAAAA,KAAAA,CAAMuD,MAAAA,KAANvD,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,GAAAA,CAAAA,IAAAA,CAAAA,KAAAA,CAAAA;AAAAA,YAAAA,CAAAA;AAAAA,YACdwD,UAAUA,MAAA;AA/JxB,cAAA,IAAAF,GAAAA;AA+J8BtD,cAAAA,OAAAA,CAAAA,GAAAA,GAAAA,KAAAA,CAAMwD,QAAAA,KAANxD,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,GAAAA,CAAAA,IAAAA,CAAAA,KAAAA,CAAAA;AAAAA,YAAAA;AAAAA,WAAkB,CAAA,EAAAsC,eAAAA,CAAA,KAAA,EAAA;AAAA,YAAA,SAG1BT,YAAAA,CAAapB;AAAAA,WAAK,EAAA,CAAA,CAC3BT,EAAAA,GAAAA,KAAAA,CAAMN,OAAAA,KAANM,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,EAAAA,CAAAA,IAAAA,CAAAA,KAAAA,CAAiB,IAEnBA,KAAAA,CAAM8B,YAAAA,GAAYQ,eAAAA,CAAA,KAAA,EAAA;AAAA,YAAA,SACLP,WAAAA,CAAYtB;AAAAA,aAAK,CAAA,CAC1BT,EAAAA,GAAAA,KAAAA,CAAM8B,iBAAN9B,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,EAAAA,CAAAA,IAAAA,CAAAA,KAAAA,CAAsB,KAEvB,IAAI,CAAA;AAAA,QAAA;AAAA,OAAA,CAAA;AAAA,KAAA,CAAA;AAAA,EAIhB;AACF,CAAC;;;;"}
@@ -60,7 +60,6 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
60
60
  }
61
61
  break;
62
62
  }
63
- console.log(token);
64
63
  }
65
64
  return {
66
65
  appTheme: appTheme2
@@ -1 +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 props = defineProps({\n themeJson: { type: Object, required: false, default: () => ({}) }\n});\r\n\r\nconst { appTheme } = useTheme();\r\n\r\nfunction useTheme(): { appTheme: Ref<unknown> } {\r\n const { modeConfig, isCompact } =\r\n storeToRefs(useAppStore());\r\n const appTheme = ref<Record<string, unknown>>({});\r\n const { useToken } = theme;\r\n const { token } = useToken();\r\n\r\n watch(\r\n () => modeConfig.value.mode,\r\n () => {\r\n handleTheme();\r\n },\r\n { immediate: true }\r\n );\r\n\r\n watch(\r\n () => isCompact.value,\r\n () => {\r\n handleTheme();\r\n }\r\n );\r\n\r\n function handleTheme() {\r\n const isDarkMode =\r\n window.matchMedia &&\r\n window.matchMedia(\"(prefers-color-scheme: dark)\")\r\n .matches;\r\n switch (modeConfig.value.mode) {\r\n case \"light\":\r\n if (isCompact.value) {\r\n appTheme.value.algorithm = theme.compactAlgorithm;\r\n appTheme.value.token = {};\r\n } else {\r\n appTheme.value.algorithm = theme.defaultAlgorithm;\r\n appTheme.value.token = {};\r\n }\r\n break;\r\n case \"dark\":\r\n if (isCompact.value) {\r\n appTheme.value.token = props.themeJson;\r\n } else {\r\n appTheme.value.algorithm = theme.darkAlgorithm;\r\n appTheme.value.token = {};\r\n }\r\n break;\r\n case \"os\":\r\n if (isCompact.value && isDarkMode) {\r\n appTheme.value.token = props.themeJson;\r\n }\r\n break;\r\n }\r\n console.log(token);\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","theme","watch","_createBlock","_unref","_renderSlot"],"mappings":";;;;;;;;;;;;;;;;AAOA,IAAA,MAAM,KAAA,GAAQ,OAAA;AAId,IAAA,MAAM,EAAE,QAAA,EAAS,GAAI,QAAA,EAAS;AAE9B,IAAA,SAAS,QAAA,GAAuC;AAC9C,MAAA,MAAM,EAAE,UAAA,EAAY,SAAA,EAAU,GAC5BA,iBAAA,CAAYC,mBAAa,CAAA;AAC3B,MAAA,MAAMC,SAAAA,GAAWC,OAAA,CAA6B,EAAE,CAAA;AAChD,MAAA,MAAM,EAAE,UAAS,GAAIC,kBAAA;AACrB,MAAA,MAAM,EAAE,KAAA,EAAM,GAAI,QAAA,EAAS;AAE3B,MAAAC,SAAA;AAAA,QACE,MAAM,WAAW,KAAA,CAAM,IAAA;AAAA,QACvB,MAAM;AACJ,UAAA,WAAA,EAAY;AAAA,QACd,CAAA;AAAA,QACA,EAAE,WAAW,IAAA;AAAK,OACpB;AAEA,MAAAA,SAAA;AAAA,QACE,MAAM,SAAA,CAAU,KAAA;AAAA,QAChB,MAAM;AACJ,UAAA,WAAA,EAAY;AAAA,QACd;AAAA,OACF;AAEA,MAAA,SAAS,WAAA,GAAc;AACrB,QAAA,MAAM,aACJ,MAAA,CAAO,UAAA,IACP,MAAA,CAAO,UAAA,CAAW,8BAA8B,CAAA,CAC7C,OAAA;AACL,QAAA,QAAQ,UAAA,CAAW,MAAM,IAAA;AAAM,UAC7B,KAAK,OAAA;AACH,YAAA,IAAI,UAAU,KAAA,EAAO;AACnB,cAAAH,SAAAA,CAAS,KAAA,CAAM,SAAA,GAAYE,kBAAA,CAAM,gBAAA;AACjC,cAAAF,SAAAA,CAAS,KAAA,CAAM,KAAA,GAAQ,EAAC;AAAA,YAC1B,CAAA,MAAO;AACL,cAAAA,SAAAA,CAAS,KAAA,CAAM,SAAA,GAAYE,kBAAA,CAAM,gBAAA;AACjC,cAAAF,SAAAA,CAAS,KAAA,CAAM,KAAA,GAAQ,EAAC;AAAA,YAC1B;AACA,YAAA;AAAA,UACF,KAAK,MAAA;AACH,YAAA,IAAI,UAAU,KAAA,EAAO;AACnB,cAAAA,SAAAA,CAAS,KAAA,CAAM,KAAA,GAAQ,KAAA,CAAM,SAAA;AAAA,YAC/B,CAAA,MAAO;AACL,cAAAA,SAAAA,CAAS,KAAA,CAAM,SAAA,GAAYE,kBAAA,CAAM,aAAA;AACjC,cAAAF,SAAAA,CAAS,KAAA,CAAM,KAAA,GAAQ,EAAC;AAAA,YAC1B;AACA,YAAA;AAAA,UACF,KAAK,IAAA;AACH,YAAA,IAAI,SAAA,CAAU,SAAS,UAAA,EAAY;AACjC,cAAAA,SAAAA,CAAS,KAAA,CAAM,KAAA,GAAQ,KAAA,CAAM,SAAA;AAAA,YAC/B;AACA,YAAA;AAAA;AAEJ,QAAA,OAAA,CAAQ,IAAI,KAAK,CAAA;AAAA,MACnB;AAEA,MAAA,OAAO;AAAA,QACL,QAAA,EAAAA;AAAA,OACF;AAAA,IACF;;;8BAIEI,eAAA,CAEoB,4BAAA,EAAA,EAFA,KAAA,EAAOC,SAAA,CAAA,QAAA,CAAA,EAAQ,EAAA;AAAA,6BACjC,MAAa;AAAA,UAAbC,cAAA,CAAa,IAAA,CAAA,MAAA,EAAA,SAAA;AAAA;;;;;;;;;;"}
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 props = defineProps({\n themeJson: { type: Object, required: false, default: () => ({}) }\n});\r\n\r\nconst { appTheme } = useTheme();\r\n\r\nfunction useTheme(): { appTheme: Ref<unknown> } {\r\n const { modeConfig, isCompact } =\r\n storeToRefs(useAppStore());\r\n const appTheme = ref<Record<string, unknown>>({});\r\n const { useToken } = theme;\r\n const { token } = useToken();\r\n\r\n watch(\r\n () => modeConfig.value.mode,\r\n () => {\r\n handleTheme();\r\n },\r\n { immediate: true }\r\n );\r\n\r\n watch(\r\n () => isCompact.value,\r\n () => {\r\n handleTheme();\r\n }\r\n );\r\n\r\n function handleTheme() {\r\n const isDarkMode =\r\n window.matchMedia &&\r\n window.matchMedia(\"(prefers-color-scheme: dark)\")\r\n .matches;\r\n switch (modeConfig.value.mode) {\r\n case \"light\":\r\n if (isCompact.value) {\r\n appTheme.value.algorithm = theme.compactAlgorithm;\r\n appTheme.value.token = {};\r\n } else {\r\n appTheme.value.algorithm = theme.defaultAlgorithm;\r\n appTheme.value.token = {};\r\n }\r\n break;\r\n case \"dark\":\r\n if (isCompact.value) {\r\n appTheme.value.token = props.themeJson;\r\n } else {\r\n appTheme.value.algorithm = theme.darkAlgorithm;\r\n appTheme.value.token = {};\r\n }\r\n break;\r\n case \"os\":\r\n if (isCompact.value && isDarkMode) {\r\n appTheme.value.token = props.themeJson;\r\n }\r\n break;\r\n }\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","theme","watch","_createBlock","_unref","_renderSlot"],"mappings":";;;;;;;;;;;;;;;;AAOA,IAAA,MAAM,KAAA,GAAQ,OAAA;AAId,IAAA,MAAM,EAAE,QAAA,EAAS,GAAI,QAAA,EAAS;AAE9B,IAAA,SAAS,QAAA,GAAuC;AAC9C,MAAA,MAAM,EAAE,UAAA,EAAY,SAAA,EAAU,GAC5BA,iBAAA,CAAYC,mBAAa,CAAA;AAC3B,MAAA,MAAMC,SAAAA,GAAWC,OAAA,CAA6B,EAAE,CAAA;AAChD,MAAA,MAAM,EAAE,UAAS,GAAIC,kBAAA;AACrB,MAAA,MAAM,EAAE,KAAA,EAAM,GAAI,QAAA,EAAS;AAE3B,MAAAC,SAAA;AAAA,QACE,MAAM,WAAW,KAAA,CAAM,IAAA;AAAA,QACvB,MAAM;AACJ,UAAA,WAAA,EAAY;AAAA,QACd,CAAA;AAAA,QACA,EAAE,WAAW,IAAA;AAAK,OACpB;AAEA,MAAAA,SAAA;AAAA,QACE,MAAM,SAAA,CAAU,KAAA;AAAA,QAChB,MAAM;AACJ,UAAA,WAAA,EAAY;AAAA,QACd;AAAA,OACF;AAEA,MAAA,SAAS,WAAA,GAAc;AACrB,QAAA,MAAM,aACJ,MAAA,CAAO,UAAA,IACP,MAAA,CAAO,UAAA,CAAW,8BAA8B,CAAA,CAC7C,OAAA;AACL,QAAA,QAAQ,UAAA,CAAW,MAAM,IAAA;AAAM,UAC7B,KAAK,OAAA;AACH,YAAA,IAAI,UAAU,KAAA,EAAO;AACnB,cAAAH,SAAAA,CAAS,KAAA,CAAM,SAAA,GAAYE,kBAAA,CAAM,gBAAA;AACjC,cAAAF,SAAAA,CAAS,KAAA,CAAM,KAAA,GAAQ,EAAC;AAAA,YAC1B,CAAA,MAAO;AACL,cAAAA,SAAAA,CAAS,KAAA,CAAM,SAAA,GAAYE,kBAAA,CAAM,gBAAA;AACjC,cAAAF,SAAAA,CAAS,KAAA,CAAM,KAAA,GAAQ,EAAC;AAAA,YAC1B;AACA,YAAA;AAAA,UACF,KAAK,MAAA;AACH,YAAA,IAAI,UAAU,KAAA,EAAO;AACnB,cAAAA,SAAAA,CAAS,KAAA,CAAM,KAAA,GAAQ,KAAA,CAAM,SAAA;AAAA,YAC/B,CAAA,MAAO;AACL,cAAAA,SAAAA,CAAS,KAAA,CAAM,SAAA,GAAYE,kBAAA,CAAM,aAAA;AACjC,cAAAF,SAAAA,CAAS,KAAA,CAAM,KAAA,GAAQ,EAAC;AAAA,YAC1B;AACA,YAAA;AAAA,UACF,KAAK,IAAA;AACH,YAAA,IAAI,SAAA,CAAU,SAAS,UAAA,EAAY;AACjC,cAAAA,SAAAA,CAAS,KAAA,CAAM,KAAA,GAAQ,KAAA,CAAM,SAAA;AAAA,YAC/B;AACA,YAAA;AAAA;AACJ,MACF;AAEA,MAAA,OAAO;AAAA,QACL,QAAA,EAAAA;AAAA,OACF;AAAA,IACF;;;8BAIEI,eAAA,CAEoB,4BAAA,EAAA,EAFA,KAAA,EAAOC,SAAA,CAAA,QAAA,CAAA,EAAQ,EAAA;AAAA,6BACjC,MAAa;AAAA,UAAbC,cAAA,CAAa,IAAA,CAAA,MAAA,EAAA,SAAA;AAAA;;;;;;;;;;"}
@@ -5,6 +5,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  var vue = require('vue');
6
6
  var vueRouter = require('vue-router');
7
7
  var pinia = require('pinia');
8
+ var AppContext = require('../../AppContext.cjs');
8
9
  var store = require('@ditari/store');
9
10
  var css = require('@emotion/css');
10
11
  var useMenuCore = require('../../../../utils/useMenuCore.cjs');
@@ -36,39 +37,37 @@ var Menu = /* @__PURE__ */ vue.defineComponent({
36
37
  setup(_, {
37
38
  emit
38
39
  }) {
39
- var _a, _b, _c, _d, _e, _f;
40
40
  const appStore = store.useAppStore();
41
41
  const menuStore = store.useMenuStore();
42
- const noStore = store.useNoStore();
43
- const defaultLayout = {
44
- sideWidth: 200,
45
- headerHeight: 44,
46
- collapsedWidth: 80,
47
- collapsed: false
48
- };
49
- const defaultModeConfig = {
50
- mode: "light",
51
- list: [{
52
- value: "light",
53
- label: "\u4EAE\u8272"
54
- }, {
55
- value: "dark",
56
- label: "\u6DF1\u8272"
57
- }, {
58
- value: "os",
59
- label: "\u8DDF\u968F\u7CFB\u7EDF"
60
- }]
61
- };
62
- const defaultMenuList = vue.ref([]);
63
- const defaultOpenKeys = vue.ref([]);
64
- const defaultSelectedKeys = vue.ref([]);
65
- const defaultData = vue.ref([]);
66
- const layout = (_a = pinia.storeToRefs(appStore).layout) != null ? _a : vue.ref(defaultLayout);
67
- const modeConfig = (_b = pinia.storeToRefs(appStore).modeConfig) != null ? _b : vue.ref(defaultModeConfig);
68
- const menuList = (_c = pinia.storeToRefs(noStore).menuList) != null ? _c : defaultMenuList;
69
- const openKeys = (_d = pinia.storeToRefs(menuStore).openKeys) != null ? _d : defaultOpenKeys;
70
- const selectedKeys = (_e = pinia.storeToRefs(menuStore).selectedKeys) != null ? _e : defaultSelectedKeys;
71
- const data = (_f = pinia.storeToRefs(menuStore).data) != null ? _f : defaultData;
42
+ const appContext = vue.inject(AppContext.AppContextKey, null);
43
+ const renderMenuIcon = appContext == null ? void 0 : appContext.renderMenuIcon;
44
+ const {
45
+ layout,
46
+ modeConfig
47
+ } = pinia.storeToRefs(appStore);
48
+ const {
49
+ openKeys,
50
+ selectedKeys,
51
+ data
52
+ } = pinia.storeToRefs(menuStore);
53
+ const menuList = vue.computed(() => {
54
+ const menuData = JSON.parse(JSON.stringify(data.value));
55
+ return renderIcon(menuData);
56
+ });
57
+ function renderIcon(data2) {
58
+ data2.forEach((item) => {
59
+ if (item.icon) {
60
+ const icon = item.icon;
61
+ item.icon = () => renderMenuIcon == null ? void 0 : renderMenuIcon({
62
+ icon
63
+ });
64
+ }
65
+ if (item.children && item.children.length) {
66
+ renderIcon(item.children);
67
+ }
68
+ });
69
+ return data2;
70
+ }
72
71
  const {
73
72
  findMatchedMenuById,
74
73
  findMenuItemByUrl
@@ -147,12 +146,12 @@ var Menu = /* @__PURE__ */ vue.defineComponent({
147
146
  }
148
147
  });
149
148
  const getFullParentChain = (targetId, menus, parentChain = []) => {
150
- var _a2;
149
+ var _a;
151
150
  for (const menu of menus) {
152
151
  if (menu.id === targetId) {
153
152
  return [...parentChain, menu.key];
154
153
  }
155
- if ((_a2 = menu.children) == null ? void 0 : _a2.length) {
154
+ if ((_a = menu.children) == null ? void 0 : _a.length) {
156
155
  const result = getFullParentChain(
157
156
  targetId,
158
157
  menu.children,
@@ -169,15 +168,15 @@ var Menu = /* @__PURE__ */ vue.defineComponent({
169
168
  keyPath,
170
169
  item
171
170
  }) => {
172
- var _a2, _b2, _c2, _d2, _e2;
171
+ var _a, _b, _c, _d;
173
172
  const rs = findMatchedMenuById(key, data.value);
174
- if (((_a2 = item.originItemValue) == null ? void 0 : _a2.isFrame) && ((_b2 = item.originItemValue) == null ? void 0 : _b2.isFrame) === "0") {
173
+ if ((_a = item.originItemValue) == null ? void 0 : _a.isExternalLink) {
175
174
  emit("onMenuClick", item);
176
175
  } else {
177
176
  openKeys.value = keyPath;
178
- selectedKeys.value = [(_c2 = rs.matchItem) == null ? void 0 : _c2.key];
179
- if (((_d2 = rs.matchItem) == null ? void 0 : _d2.url) !== route.path) {
180
- router.push((_e2 = rs.matchItem) == null ? void 0 : _e2.url).then((r) => {
177
+ selectedKeys.value = [(_b = rs.matchItem) == null ? void 0 : _b.key];
178
+ if (((_c = rs.matchItem) == null ? void 0 : _c.url) !== route.path) {
179
+ router.push((_d = rs.matchItem) == null ? void 0 : _d.url).then((r) => {
181
180
  if (r) {
182
181
  console.warn(r);
183
182
  }