@ditari/bsui 5.1.19 → 5.1.22

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 (135) hide show
  1. package/dist/cjs/components/action-bar/ActionBar.vue.cjs +10 -0
  2. package/dist/cjs/components/action-bar/ActionBar.vue.cjs.map +1 -0
  3. package/dist/cjs/components/action-bar/ActionBar.vue.d.ts +48 -0
  4. package/dist/cjs/components/action-bar/ActionBar.vue2.cjs +114 -0
  5. package/dist/cjs/components/action-bar/ActionBar.vue2.cjs.map +1 -0
  6. package/dist/cjs/components/action-bar/index.cjs +16 -0
  7. package/dist/cjs/components/action-bar/index.cjs.map +1 -0
  8. package/dist/cjs/components/action-bar/index.d.ts +4 -0
  9. package/dist/cjs/components/card/Card.cjs +8 -2
  10. package/dist/cjs/components/card/Card.cjs.map +1 -1
  11. package/dist/cjs/components/card/style.cjs +4 -2
  12. package/dist/cjs/components/card/style.cjs.map +1 -1
  13. package/dist/cjs/components/desensitize/Desensitize.cjs +99 -0
  14. package/dist/cjs/components/desensitize/Desensitize.cjs.map +1 -0
  15. package/dist/cjs/components/desensitize/Desensitize.d.ts +60 -0
  16. package/dist/cjs/components/desensitize/index.cjs +15 -0
  17. package/dist/cjs/components/desensitize/index.cjs.map +1 -0
  18. package/dist/cjs/components/desensitize/index.d.ts +4 -0
  19. package/dist/cjs/components/desensitize/style.cjs +22 -0
  20. package/dist/cjs/components/desensitize/style.cjs.map +1 -0
  21. package/dist/cjs/components/desensitize/style.d.ts +6 -0
  22. package/dist/cjs/components/dic/DicReplace.cjs +2 -1
  23. package/dist/cjs/components/dic/DicReplace.cjs.map +1 -1
  24. package/dist/cjs/components/form/FormLayout.cjs +147 -23
  25. package/dist/cjs/components/form/FormLayout.cjs.map +1 -1
  26. package/dist/cjs/components/form/FormLayout.d.ts +61 -0
  27. package/dist/cjs/components/index.cjs +6 -0
  28. package/dist/cjs/components/index.cjs.map +1 -1
  29. package/dist/cjs/components/index.d.ts +2 -0
  30. package/dist/cjs/components/layout/AppContext.cjs.map +1 -1
  31. package/dist/cjs/components/layout/AppLayout.cjs.map +1 -1
  32. package/dist/cjs/components/layout/List.cjs.map +1 -1
  33. package/dist/cjs/components/layout/Show.cjs.map +1 -1
  34. package/dist/cjs/components/layout/components/layout/RouterContentName.vue2.cjs.map +1 -1
  35. package/dist/cjs/components/layout/components/mobile/MobileList.cjs.map +1 -1
  36. package/dist/cjs/components/layout/style.cjs.map +1 -1
  37. package/dist/cjs/components/select/Select.vue2.cjs +0 -3
  38. package/dist/cjs/components/select/Select.vue2.cjs.map +1 -1
  39. package/dist/cjs/components/table-form/TableForm.cjs.map +1 -1
  40. package/dist/cjs/components/table-form/TableFormItem.cjs.map +1 -1
  41. package/dist/cjs/components/table-form/index.cjs.map +1 -1
  42. package/dist/cjs/components/table-form/interface.cjs.map +1 -1
  43. package/dist/cjs/components/table-form/style.cjs.map +1 -1
  44. package/dist/cjs/components/tools-bar/ToolsBar.vue.cjs +10 -0
  45. package/dist/cjs/components/tools-bar/ToolsBar.vue.cjs.map +1 -0
  46. package/dist/cjs/components/tools-bar/ToolsBar.vue.d.ts +27 -0
  47. package/dist/cjs/components/tools-bar/ToolsBar.vue2.cjs +124 -0
  48. package/dist/cjs/components/tools-bar/ToolsBar.vue2.cjs.map +1 -0
  49. package/dist/cjs/components/tools-bar/index.cjs +16 -0
  50. package/dist/cjs/components/tools-bar/index.cjs.map +1 -0
  51. package/dist/cjs/components/tools-bar/index.d.ts +4 -0
  52. package/dist/cjs/hooks/useDesign.cjs.map +1 -1
  53. package/dist/cjs/index.cjs +4 -0
  54. package/dist/cjs/index.cjs.map +1 -1
  55. package/dist/cjs/utils/withInstall.cjs.map +1 -1
  56. package/dist/esm/components/action-bar/ActionBar.vue.d.ts +48 -0
  57. package/dist/esm/components/action-bar/ActionBar.vue.mjs +6 -0
  58. package/dist/esm/components/action-bar/ActionBar.vue.mjs.map +1 -0
  59. package/dist/esm/components/action-bar/ActionBar.vue2.mjs +110 -0
  60. package/dist/esm/components/action-bar/ActionBar.vue2.mjs.map +1 -0
  61. package/dist/esm/components/action-bar/index.d.ts +4 -0
  62. package/dist/esm/components/action-bar/index.mjs +11 -0
  63. package/dist/esm/components/action-bar/index.mjs.map +1 -0
  64. package/dist/esm/components/card/Card.mjs +8 -2
  65. package/dist/esm/components/card/Card.mjs.map +1 -1
  66. package/dist/esm/components/card/style.mjs +4 -2
  67. package/dist/esm/components/card/style.mjs.map +1 -1
  68. package/dist/esm/components/desensitize/Desensitize.d.ts +60 -0
  69. package/dist/esm/components/desensitize/Desensitize.mjs +97 -0
  70. package/dist/esm/components/desensitize/Desensitize.mjs.map +1 -0
  71. package/dist/esm/components/desensitize/index.d.ts +4 -0
  72. package/dist/esm/components/desensitize/index.mjs +10 -0
  73. package/dist/esm/components/desensitize/index.mjs.map +1 -0
  74. package/dist/esm/components/desensitize/style.d.ts +6 -0
  75. package/dist/esm/components/desensitize/style.mjs +20 -0
  76. package/dist/esm/components/desensitize/style.mjs.map +1 -0
  77. package/dist/esm/components/dic/DicReplace.mjs +2 -1
  78. package/dist/esm/components/dic/DicReplace.mjs.map +1 -1
  79. package/dist/esm/components/form/FormLayout.d.ts +61 -0
  80. package/dist/esm/components/form/FormLayout.mjs +149 -25
  81. package/dist/esm/components/form/FormLayout.mjs.map +1 -1
  82. package/dist/esm/components/index.d.ts +2 -0
  83. package/dist/esm/components/index.mjs +4 -0
  84. package/dist/esm/components/index.mjs.map +1 -1
  85. package/dist/esm/components/layout/AppContext.mjs.map +1 -1
  86. package/dist/esm/components/layout/AppLayout.mjs.map +1 -1
  87. package/dist/esm/components/layout/List.mjs.map +1 -1
  88. package/dist/esm/components/layout/Show.mjs.map +1 -1
  89. package/dist/esm/components/layout/components/layout/RouterContentName.vue2.mjs.map +1 -1
  90. package/dist/esm/components/layout/components/mobile/MobileList.mjs.map +1 -1
  91. package/dist/esm/components/layout/style.mjs.map +1 -1
  92. package/dist/esm/components/select/Select.vue2.mjs +0 -3
  93. package/dist/esm/components/select/Select.vue2.mjs.map +1 -1
  94. package/dist/esm/components/table-form/TableForm.mjs.map +1 -1
  95. package/dist/esm/components/table-form/TableFormItem.mjs.map +1 -1
  96. package/dist/esm/components/table-form/index.mjs.map +1 -1
  97. package/dist/esm/components/table-form/interface.mjs.map +1 -1
  98. package/dist/esm/components/table-form/style.mjs.map +1 -1
  99. package/dist/esm/components/tools-bar/ToolsBar.vue.d.ts +27 -0
  100. package/dist/esm/components/tools-bar/ToolsBar.vue.mjs +6 -0
  101. package/dist/esm/components/tools-bar/ToolsBar.vue.mjs.map +1 -0
  102. package/dist/esm/components/tools-bar/ToolsBar.vue2.mjs +120 -0
  103. package/dist/esm/components/tools-bar/ToolsBar.vue2.mjs.map +1 -0
  104. package/dist/esm/components/tools-bar/index.d.ts +4 -0
  105. package/dist/esm/components/tools-bar/index.mjs +11 -0
  106. package/dist/esm/components/tools-bar/index.mjs.map +1 -0
  107. package/dist/esm/hooks/useDesign.mjs.map +1 -1
  108. package/dist/esm/index.mjs +2 -0
  109. package/dist/esm/index.mjs.map +1 -1
  110. package/dist/esm/utils/withInstall.mjs.map +1 -1
  111. package/dist/types/components/action-bar/ActionBar.vue.d.ts +48 -0
  112. package/dist/types/components/action-bar/ActionBar.vue.d.ts.map +1 -0
  113. package/dist/types/components/action-bar/index.d.ts +4 -0
  114. package/dist/types/components/action-bar/index.d.ts.map +1 -0
  115. package/dist/types/components/card/Card.d.ts.map +1 -1
  116. package/dist/types/components/card/style.d.ts.map +1 -1
  117. package/dist/types/components/desensitize/Desensitize.d.ts +60 -0
  118. package/dist/types/components/desensitize/Desensitize.d.ts.map +1 -0
  119. package/dist/types/components/desensitize/index.d.ts +4 -0
  120. package/dist/types/components/desensitize/index.d.ts.map +1 -0
  121. package/dist/types/components/desensitize/style.d.ts +6 -0
  122. package/dist/types/components/desensitize/style.d.ts.map +1 -0
  123. package/dist/types/components/dic/DicReplace.d.ts.map +1 -1
  124. package/dist/types/components/form/FormLayout.d.ts +61 -0
  125. package/dist/types/components/form/FormLayout.d.ts.map +1 -1
  126. package/dist/types/components/index.d.ts +2 -0
  127. package/dist/types/components/index.d.ts.map +1 -1
  128. package/dist/types/components/layout/components/layout/RouterContentName.vue.d.ts.map +1 -1
  129. package/dist/types/components/tools-bar/ToolsBar.vue.d.ts +27 -0
  130. package/dist/types/components/tools-bar/ToolsBar.vue.d.ts.map +1 -0
  131. package/dist/types/components/tools-bar/index.d.ts +4 -0
  132. package/dist/types/components/tools-bar/index.d.ts.map +1 -0
  133. package/dist/types/index.d.ts.map +1 -1
  134. package/package.json +2 -2
  135. package/src/index.ts +1 -0
@@ -7,6 +7,7 @@ var DicReplace = require('./components/dic/DicReplace.cjs');
7
7
  var Select_vue_vue_type_script_setup_true_lang = require('./components/select/Select.vue2.cjs');
8
8
  var Tab_vue_vue_type_script_setup_true_lang = require('./components/tab/Tab.vue2.cjs');
9
9
  var Table = require('./components/table/Table.cjs');
10
+ var ActionBar_vue_vue_type_script_setup_true_lang = require('./components/action-bar/ActionBar.vue2.cjs');
10
11
  var Card = require('./components/card/Card.cjs');
11
12
  var RangePicker_vue_vue_type_script_setup_true_lang = require('./components/date/RangePicker.vue2.cjs');
12
13
  var FormLayout = require('./components/form/FormLayout.cjs');
@@ -23,6 +24,7 @@ var Show = require('./components/layout/Show.cjs');
23
24
  var _interface = require('./components/table-form/interface.cjs');
24
25
  var index$1 = require('./components/table-form/index.cjs');
25
26
  var TableFormItem = require('./components/table-form/TableFormItem.cjs');
27
+ var ToolsBar_vue_vue_type_script_setup_true_lang = require('./components/tools-bar/ToolsBar.vue2.cjs');
26
28
 
27
29
  "use strict";
28
30
  const install = (app) => {
@@ -43,6 +45,7 @@ exports.DicRep = DicReplace.default;
43
45
  exports.Select = Select_vue_vue_type_script_setup_true_lang.default;
44
46
  exports.Tab = Tab_vue_vue_type_script_setup_true_lang.default;
45
47
  exports.Table = Table.default;
48
+ exports.ActionBar = ActionBar_vue_vue_type_script_setup_true_lang.default;
46
49
  exports.Card = Card.Card;
47
50
  exports.RangePicker = RangePicker_vue_vue_type_script_setup_true_lang.default;
48
51
  exports.FormLayout = FormLayout.default;
@@ -61,6 +64,7 @@ exports.tableFormItemProps = _interface.tableFormItemProps;
61
64
  exports.tableFormProps = _interface.tableFormProps;
62
65
  exports.TableForm = index$1.TableForm;
63
66
  exports.TableFormItem = TableFormItem.TableFormItem;
67
+ exports.ToolsBar = ToolsBar_vue_vue_type_script_setup_true_lang.default;
64
68
  exports.default = index;
65
69
  exports.install = install;
66
70
  //# sourceMappingURL=index.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sources":["../../src/index.ts"],"sourcesContent":["import * as components from \"./components\";\r\nimport type { App, DefineComponent, Plugin } from \"vue\";\r\n\r\n// import { version } from \"../package.json\";\r\n\r\nexport * from \"./components\";\r\n\r\n// 定义组件类型,确保每个组件都可能具有 `install` 方法\r\ntype ComponentWithInstall = DefineComponent<\r\n never,\r\n never,\r\n never\r\n> & {\r\n install?: (app: App) => void;\r\n};\r\n\r\nexport const install = (app: App) => {\r\n Object.keys(components).forEach(key => {\r\n const component = components[\r\n key as keyof typeof components\r\n ] as ComponentWithInstall;\r\n // 类型断言,告诉 TypeScript component 可能是一个插件\r\n const plugin = component as Plugin;\r\n // 如果组件有 install 方法,则按插件安装\r\n if (plugin.install) {\r\n app.use(plugin);\r\n }\r\n });\r\n};\r\n\r\nexport default {\r\n // version,\r\n install\r\n};\r\n"],"names":["components"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAgBO,MAAM,OAAA,GAAU,CAAC,GAAA,KAAa;AACnC,EAAA,MAAA,CAAO,IAAA,CAAKA,OAAU,CAAA,CAAE,OAAA,CAAQ,CAAA,GAAA,KAAO;AACrC,IAAA,MAAM,SAAA,GAAYA,QAChB,GACF,CAAA;AAEA,IAAA,MAAM,MAAA,GAAS,SAAA;AAEf,IAAA,IAAI,OAAO,OAAA,EAAS;AAClB,MAAA,GAAA,CAAI,IAAI,MAAM,CAAA;AAAA,IAChB;AAAA,EACF,CAAC,CAAA;AACH;AAEA,YAAe;AAAA;AAAA,EAEb;AACF,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.cjs","sources":["../../src/index.ts"],"sourcesContent":["import * as components from \"./components\";\r\nimport type { App, DefineComponent, Plugin } from \"vue\";\r\n\r\n// import { version } from \"../package.json\";\r\n\r\nexport * from \"./components\";\r\n\r\n// 定义组件类型,确保每个组件都可能具有 `install` 方法\r\ntype ComponentWithInstall = DefineComponent<\r\n never,\r\n never,\r\n never\r\n> & {\r\n install?: (app: App) => void;\r\n};\r\n\r\nexport const install = (app: App) => {\r\n\r\n Object.keys(components).forEach(key => {\r\n const component = components[\r\n key as keyof typeof components\r\n ] as ComponentWithInstall;\r\n // 类型断言,告诉 TypeScript component 可能是一个插件\r\n const plugin = component as Plugin;\r\n // 如果组件有 install 方法,则按插件安装\r\n if (plugin.install) {\r\n app.use(plugin);\r\n }\r\n });\r\n};\r\n\r\nexport default {\r\n // version,\r\n install\r\n};\r\n"],"names":["components"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgBO,MAAM,OAAA,GAAU,CAAC,GAAA,KAAa;AAEnC,EAAA,MAAA,CAAO,IAAA,CAAKA,OAAU,CAAA,CAAE,OAAA,CAAQ,CAAA,GAAA,KAAO;AACrC,IAAA,MAAM,SAAA,GAAYA,QAChB,GACF,CAAA;AAEA,IAAA,MAAM,MAAA,GAAS,SAAA;AAEf,IAAA,IAAI,OAAO,OAAA,EAAS;AAClB,MAAA,GAAA,CAAI,IAAI,MAAM,CAAA;AAAA,IAChB;AAAA,EACF,CAAC,CAAA;AACH;AAEA,YAAe;AAAA;AAAA,EAEb;AACF,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"withInstall.cjs","sources":["../../../src/utils/withInstall.ts"],"sourcesContent":["// src/utils/withInstall.ts\n\nimport type { App, Component, Plugin } from \"vue\";\n\n// 扩展类型定义,允许组件对象拥有其他静态属性\nexport type SFCWithInstall<T> = T &\n Plugin & {\n [key: string]: T; // 允许任意静态属性\n };\n\n/**\n * 优化后的 withInstall 辅助函数\n * * 关键修改:\n * - 将泛型 T 的约束改为更通用的 Vue Component 类型。\n * - 使用 'Component' 或 'ComponentOptionsBase' 来确保兼容性。\n */\nexport const withInstall = <T extends Component>(component: T) => {\n const comp = component as SFCWithInstall<T>;\n\n if (!comp.install) {\n comp.install = (app: App) => {\n // 确保能获取到组件名\n const name = (comp as Component).name;\n if (name) {\n app.component(name, comp);\n }\n };\n }\n return comp;\n};\n"],"names":[],"mappings":";;;AAgBO,MAAM,WAAA,GAAc,CAAsB,SAAA,KAAiB;AAChE,EAAA,MAAM,IAAA,GAAO,SAAA;AAEb,EAAA,IAAI,CAAC,KAAK,OAAA,EAAS;AACjB,IAAA,IAAA,CAAK,OAAA,GAAU,CAAC,GAAA,KAAa;AAE3B,MAAA,MAAM,OAAQ,IAAA,CAAmB,IAAA;AACjC,MAAA,IAAI,IAAA,EAAM;AACR,QAAA,GAAA,CAAI,SAAA,CAAU,MAAM,IAAI,CAAA;AAAA,MAC1B;AAAA,IACF,CAAA;AAAA,EACF;AACA,EAAA,OAAO,IAAA;AACT;;;;"}
1
+ {"version":3,"file":"withInstall.cjs","sources":["../../../src/utils/withInstall.ts"],"sourcesContent":["// src/utils/withInstall.ts\r\n\r\nimport type { App, Component, Plugin } from \"vue\";\r\n\r\n// 扩展类型定义,允许组件对象拥有其他静态属性\r\nexport type SFCWithInstall<T> = T &\r\n Plugin & {\r\n [key: string]: T; // 允许任意静态属性\r\n };\r\n\r\n/**\r\n * 优化后的 withInstall 辅助函数\r\n * * 关键修改:\r\n * - 将泛型 T 的约束改为更通用的 Vue Component 类型。\r\n * - 使用 'Component' 或 'ComponentOptionsBase' 来确保兼容性。\r\n */\r\nexport const withInstall = <T extends Component>(component: T) => {\r\n const comp = component as SFCWithInstall<T>;\r\n\r\n if (!comp.install) {\r\n comp.install = (app: App) => {\r\n // 确保能获取到组件名\r\n const name = (comp as Component).name;\r\n if (name) {\r\n app.component(name, comp);\r\n }\r\n };\r\n }\r\n return comp;\r\n};\r\n"],"names":[],"mappings":";;;AAgBO,MAAM,WAAA,GAAc,CAAsB,SAAA,KAAiB;AAChE,EAAA,MAAM,IAAA,GAAO,SAAA;AAEb,EAAA,IAAI,CAAC,KAAK,OAAA,EAAS;AACjB,IAAA,IAAA,CAAK,OAAA,GAAU,CAAC,GAAA,KAAa;AAE3B,MAAA,MAAM,OAAQ,IAAA,CAAmB,IAAA;AACjC,MAAA,IAAI,IAAA,EAAM;AACR,QAAA,GAAA,CAAI,SAAA,CAAU,MAAM,IAAI,CAAA;AAAA,MAC1B;AAAA,IACF,CAAA;AAAA,EACF;AACA,EAAA,OAAO,IAAA;AACT;;;;"}
@@ -0,0 +1,48 @@
1
+ import { isVNode, type VNode } from "vue";
2
+ interface ButtonItem {
3
+ title: string | VNode;
4
+ status?: boolean | ((record: {
5
+ [key: string]: unknown;
6
+ }) => boolean);
7
+ onClick?: (record: {
8
+ [key: string]: unknown;
9
+ }) => void;
10
+ onEvent?: (record: {
11
+ [key: string]: unknown;
12
+ }) => void;
13
+ }
14
+ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
15
+ buttonGroups: {
16
+ type: ArrayConstructor;
17
+ required: false;
18
+ };
19
+ actions: {
20
+ type: ArrayConstructor;
21
+ required: false;
22
+ };
23
+ record: {
24
+ type: ObjectConstructor;
25
+ required: true;
26
+ };
27
+ }>, {
28
+ props: any;
29
+ isShow: (item: ButtonItem) => boolean;
30
+ visibleButtons: import("vue").ComputedRef<ButtonItem[]>;
31
+ showDivider: (item: ButtonItem) => boolean;
32
+ isVNode: typeof isVNode;
33
+ }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
34
+ buttonGroups: {
35
+ type: ArrayConstructor;
36
+ required: false;
37
+ };
38
+ actions: {
39
+ type: ArrayConstructor;
40
+ required: false;
41
+ };
42
+ record: {
43
+ type: ObjectConstructor;
44
+ required: true;
45
+ };
46
+ }>> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
47
+ export default _default;
48
+ //# sourceMappingURL=ActionBar.vue.d.ts.map
@@ -0,0 +1,6 @@
1
+ import _sfc_main from './ActionBar.vue2.mjs';
2
+
3
+ "use strict";
4
+
5
+ export { _sfc_main as default };
6
+ //# sourceMappingURL=ActionBar.vue.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ActionBar.vue.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
@@ -0,0 +1,110 @@
1
+ import { defineComponent, computed, resolveComponent, createElementBlock, openBlock, withModifiers, Fragment, renderList, createCommentVNode, createBlock, isVNode, resolveDynamicComponent, createTextVNode, toDisplayString } from 'vue';
2
+
3
+ "use strict";
4
+ var __defProp = Object.defineProperty;
5
+ var __defProps = Object.defineProperties;
6
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
7
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
8
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
9
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
10
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
11
+ var __spreadValues = (a, b) => {
12
+ for (var prop in b || (b = {}))
13
+ if (__hasOwnProp.call(b, prop))
14
+ __defNormalProp(a, prop, b[prop]);
15
+ if (__getOwnPropSymbols)
16
+ for (var prop of __getOwnPropSymbols(b)) {
17
+ if (__propIsEnum.call(b, prop))
18
+ __defNormalProp(a, prop, b[prop]);
19
+ }
20
+ return a;
21
+ };
22
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
23
+ const _hoisted_1 = ["onClick"];
24
+ var _sfc_main = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues({}, {
25
+ name: "DActionBar"
26
+ }), {
27
+ __name: "ActionBar",
28
+ props: {
29
+ buttonGroups: { type: Array, required: false },
30
+ actions: { type: Array, required: false },
31
+ record: { type: Object, required: true }
32
+ },
33
+ setup(__props) {
34
+ const props = __props;
35
+ const isShow = (item) => {
36
+ var _a;
37
+ if (typeof item.status === "function") {
38
+ return item.status(props.record);
39
+ }
40
+ return (_a = item.status) != null ? _a : true;
41
+ };
42
+ const visibleButtons = computed(() => {
43
+ const groups = props.actions || props.buttonGroups || [];
44
+ return groups.filter((item) => isShow(item));
45
+ });
46
+ const showDivider = (item) => {
47
+ if (!isShow(item)) {
48
+ return false;
49
+ }
50
+ const visibleIndex = visibleButtons.value.findIndex((v) => v.title === item.title);
51
+ return visibleIndex !== -1 && visibleIndex < visibleButtons.value.length - 1;
52
+ };
53
+ return (_ctx, _cache) => {
54
+ const _component_a_divider = resolveComponent("a-divider");
55
+ return openBlock(), createElementBlock("div", {
56
+ onClick: _cache[0] || (_cache[0] = withModifiers(() => {
57
+ }, ["stop"]))
58
+ }, [
59
+ (openBlock(true), createElementBlock(
60
+ Fragment,
61
+ null,
62
+ renderList(__props.actions || __props.buttonGroups || [], (item, index) => {
63
+ return openBlock(), createElementBlock(
64
+ Fragment,
65
+ { key: index },
66
+ [
67
+ isShow(item) ? (openBlock(), createElementBlock("a", {
68
+ key: 0,
69
+ onClick: withModifiers(($event) => {
70
+ var _a;
71
+ return (_a = item.onClick || item.onEvent) == null ? void 0 : _a(__props.record);
72
+ }, ["stop"])
73
+ }, [
74
+ isVNode(item.title) ? (openBlock(), createBlock(resolveDynamicComponent(item.title), {
75
+ key: 0,
76
+ record: __props.record
77
+ }, null, 8, ["record"])) : (openBlock(), createElementBlock(
78
+ Fragment,
79
+ { key: 1 },
80
+ [
81
+ createTextVNode(
82
+ toDisplayString(item.title),
83
+ 1
84
+ /* TEXT */
85
+ )
86
+ ],
87
+ 64
88
+ /* STABLE_FRAGMENT */
89
+ ))
90
+ ], 8, _hoisted_1)) : createCommentVNode("v-if", true),
91
+ showDivider(item) ? (openBlock(), createBlock(_component_a_divider, {
92
+ key: 1,
93
+ type: "vertical",
94
+ style: { "border-color": "#3e7fff", "border-width": "2px" }
95
+ })) : createCommentVNode("v-if", true)
96
+ ],
97
+ 64
98
+ /* STABLE_FRAGMENT */
99
+ );
100
+ }),
101
+ 128
102
+ /* KEYED_FRAGMENT */
103
+ ))
104
+ ]);
105
+ };
106
+ }
107
+ }));
108
+
109
+ export { _sfc_main as default };
110
+ //# sourceMappingURL=ActionBar.vue2.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ActionBar.vue2.mjs","sources":["../../../../src/components/action-bar/ActionBar.vue"],"sourcesContent":["<script setup lang=\"ts\">\r\n import { computed, isVNode, type VNode } from \"vue\";\r\n\r\n defineOptions({\r\n name: \"DActionBar\"\r\n });\r\n\r\n interface ButtonItem {\r\n title: string | VNode;\r\n status?: boolean | ((record: { [key: string]: unknown }) => boolean);\r\n onClick?: (record: { [key: string]: unknown }) => void;\r\n onEvent?: (record: { [key: string]: unknown }) => void; // 别名,为了向后兼容\r\n }\r\n\r\n // 2. 普通的 Props 声明\r\n const props = defineProps({\n buttonGroups: { type: Array, required: false },\n actions: { type: Array, required: false },\n record: { type: Object, required: true }\n});\r\n\r\n /**\r\n * 判断按钮是否显示\r\n */\r\n const isShow = (item: ButtonItem): boolean => {\r\n if (typeof item.status === \"function\") {\r\n return item.status(props.record);\r\n }\r\n return item.status ?? true;\r\n };\r\n\r\n /**\r\n * 过滤出当前真正显示的按钮列表\r\n */\r\n const visibleButtons = computed(() => {\r\n const groups: ButtonItem[] = props.actions || props.buttonGroups || [];\r\n return groups.filter((item: ButtonItem) => isShow(item));\r\n });\r\n\r\n /**\r\n * 判断分隔线状态\r\n */\r\n const showDivider = (item: ButtonItem): boolean => {\r\n if (!isShow(item)) {\r\n return false;\r\n }\r\n\r\n // 逻辑保持不变:在可见列表里找自己\r\n const visibleIndex = visibleButtons.value.findIndex((v: ButtonItem) => v.title === item.title);\r\n return visibleIndex !== -1 && visibleIndex < visibleButtons.value.length - 1;\r\n };\r\n</script>\r\n\r\n<template>\r\n <div @click.stop>\r\n <template v-for=\"(item, index) in actions || buttonGroups || []\" :key=\"index\">\r\n <a v-if=\"isShow(item)\" @click.stop=\"(item.onClick || item.onEvent)?.(record)\">\r\n <template v-if=\"isVNode(item.title)\">\r\n <component :is=\"item.title\" :record=\"record\" />\r\n </template>\r\n <template v-else>\r\n {{ item.title }}\r\n </template>\r\n </a>\r\n <a-divider\r\n v-if=\"showDivider(item)\"\r\n type=\"vertical\"\r\n style=\"border-color: #3e7fff; border-width: 2px\"\r\n />\r\n </template>\r\n </div>\r\n</template>\r\n"],"names":["_createElementBlock","_openBlock","_Fragment","_withModifiers","_createBlock","_resolveDynamicComponent","_createTextVNode","_toDisplayString"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAeE,IAAA,MAAM,KAAA,GAAQ,OAAA;AASd,IAAA,MAAM,MAAA,GAAS,CAAC,IAAA,KAA8B;;AAC5C,MAAA,IAAI,OAAO,IAAA,CAAK,MAAA,KAAW,UAAA,EAAY;AACrC,QAAA,OAAO,IAAA,CAAK,MAAA,CAAO,KAAA,CAAM,MAAM,CAAA;AAAA,MACjC;AACA,MAAA,OAAA,CAAO,EAAA,GAAA,IAAA,CAAK,WAAL,IAAA,GAAA,EAAA,GAAe,IAAA;AAAA,IACxB,CAAA;AAKA,IAAA,MAAM,cAAA,GAAiB,SAAS,MAAM;AACpC,MAAA,MAAM,MAAA,GAAuB,KAAA,CAAM,OAAA,IAAW,KAAA,CAAM,gBAAgB,EAAC;AACrE,MAAA,OAAO,OAAO,MAAA,CAAO,CAAC,IAAA,KAAqB,MAAA,CAAO,IAAI,CAAC,CAAA;AAAA,IACzD,CAAC,CAAA;AAKD,IAAA,MAAM,WAAA,GAAc,CAAC,IAAA,KAA8B;AACjD,MAAA,IAAI,CAAC,MAAA,CAAO,IAAI,CAAA,EAAG;AACjB,QAAA,OAAO,KAAA;AAAA,MACT;AAGA,MAAA,MAAM,YAAA,GAAe,eAAe,KAAA,CAAM,SAAA,CAAU,CAAC,CAAA,KAAkB,CAAA,CAAE,KAAA,KAAU,IAAA,CAAK,KAAK,CAAA;AAC7F,MAAA,OAAO,YAAA,KAAiB,CAAA,CAAA,IAAM,YAAA,GAAe,cAAA,CAAe,MAAM,MAAA,GAAS,CAAA;AAAA,IAC7E,CAAA;;;0BAIAA,kBAAA,CAgBM,KAAA,EAAA;AAAA,QAhBA,OAAA,0CAAD,MAAA;AAAA,QAAA,CAAA,EAAW,CAAA,MAAA,CAAA,CAAA;AAAA;SACdC,SAAA,CAAA,IAAA,CAAA,EAAAD,kBAAA;AAAA,UAcWE,QAAA;AAAA;qBAduB,QAAA,OAAA,IAAW,OAAA,iBAAY,EAAA,EAAA,CAAvC,IAAA,EAAM,KAAA,KAAK;;;qBAA0C,KAAA,EAAK;AAAA,cAAA;AAAA,gBACjE,OAAO,IAAI,CAAA,iBAApBF,mBAOI,GAAA,EAAA;AAAA;kBAPoB,OAAA,EAAKG,aAAA,CAAA,CAAA,MAAA,KAAA;;AAAQ,oBAAA,OAAA,CAAA,EAAA,GAAA,IAAA,CAAK,OAAA,IAAW,IAAA,CAAK,OAAA,KAArB,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAgC,OAAA,CAAA,MAAA,CAAA;AAAA,kBAAA,CAAA,EAAM,CAAA,MAAA,CAAA;AAAA;kBACzD,OAAA,CAAQ,IAAA,CAAK,KAAK,CAAA,iBAChCC,WAAA,CAA+CC,uBAAA,CAA/B,IAAA,CAAK,KAAK,CAAA,EAAA;AAAA;oBAAG,QAAQ,OAAA,CAAA;AAAA,2DAEvCL,kBAAA;AAAA,oBAEWE,QAAA;AAAA,oBAAA,EAAA,KAAA,CAAA,EAAA;AAAA,oBAAA;AAAA,sBADNI,eAAA;AAAA,wBAAAC,eAAA,CAAA,KAAK,KAAK,CAAA;AAAA,wBAAA;AAAA;AAAA;AAAA;;;;;gBAIT,YAAY,IAAI,CAAA,iBADxBH,YAIE,oBAAA,EAAA;AAAA;kBAFA,IAAA,EAAK,UAAA;AAAA,kBACL,KAAA,EAAA,EAAA,cAAA,EAAA,SAAA,EAAA,gBAAA,KAAA;AAAA;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,4 @@
1
+ import ActionBar from "./ActionBar.vue";
2
+ export { ActionBar };
3
+ export default ActionBar;
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,11 @@
1
+ import './ActionBar.vue.mjs';
2
+ import _sfc_main from './ActionBar.vue2.mjs';
3
+
4
+ "use strict";
5
+ _sfc_main.install = function(app) {
6
+ app.component(_sfc_main.name, _sfc_main);
7
+ return app;
8
+ };
9
+
10
+ export { _sfc_main as ActionBar, _sfc_main as default };
11
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","sources":["../../../../src/components/action-bar/index.ts"],"sourcesContent":["import ActionBar from \"./ActionBar.vue\";\r\nimport type { App } from \"vue\";\r\n\r\nActionBar.install = function (app: App) {\r\n app.component(ActionBar.name!, ActionBar);\r\n return app;\r\n};\r\n\r\nexport { ActionBar };\r\nexport default ActionBar;\r\n"],"names":["ActionBar"],"mappings":";;;;AAGAA,SAAA,CAAU,OAAA,GAAU,SAAU,GAAA,EAAU;AACtC,EAAA,GAAA,CAAI,SAAA,CAAUA,SAAA,CAAU,IAAA,EAAOA,SAAS,CAAA;AACxC,EAAA,OAAO,GAAA;AACT,CAAA;;;;"}
@@ -20,7 +20,9 @@ const _Card = /* @__PURE__ */ defineComponent({
20
20
  return () => {
21
21
  var _a;
22
22
  const rootCls = getPrefixCls();
23
+ const headerWrapperCls = getPrefixCls("head-wrapper");
23
24
  const headerCls = getPrefixCls("head");
25
+ const headerExctraCls = getPrefixCls("extra");
24
26
  const iconCls = getPrefixCls("icon");
25
27
  const titleCls = getPrefixCls("title");
26
28
  const actionCls = getPrefixCls("action");
@@ -28,12 +30,16 @@ const _Card = /* @__PURE__ */ defineComponent({
28
30
  return createVNode("div", {
29
31
  "class": cx(rootCls, styles.container)
30
32
  }, [createVNode("div", {
31
- "class": cx(headerCls, styles.header)
33
+ "class": cx(headerWrapperCls, styles.header)
34
+ }, [createVNode("div", {
35
+ "class": cx(headerCls)
32
36
  }, [slots.icon && createVNode("div", {
33
37
  "class": cx(iconCls, styles.icon)
34
38
  }, [slots.icon()]), createVNode("div", {
35
39
  "class": cx(titleCls, styles.header_title)
36
- }, [props.title])]), slots.action && createVNode("div", {
40
+ }, [props.title])]), slots.extra && createVNode("div", {
41
+ "class": cx(headerExctraCls)
42
+ }, [slots.extra()])]), slots.action && createVNode("div", {
37
43
  "class": cx(actionCls, styles.action)
38
44
  }, [slots.action()]), createVNode("div", {
39
45
  "class": cx(bodyCls, styles.body)
@@ -1 +1 @@
1
- {"version":3,"file":"Card.mjs","sources":["../../../../src/components/card/Card.tsx"],"sourcesContent":["// components/card/index.tsx\nimport { defineComponent } from \"vue\";\n\nimport { cx } from \"@emotion/css\"; // 引入 cx\n\nimport { useDesign } from \"../../hooks/useDesign\"; // 引入我们刚才写的 hook\nimport { withInstall } from \"../../utils/withInstall\";\n\nimport { useStyle } from \"./style\";\n\nconst _Card = defineComponent({\n name: \"DCard\",\n props: {\n title: String\n },\n setup(props, { slots }) {\n // 初始化 Design Hook,传入组件名 'card'\n const { getPrefixCls } = useDesign(\"card\");\n\n // 初始化 Emotion 样式\n const styles = useStyle();\n\n return () => {\n // 生成语义化类名\n const rootCls = getPrefixCls();\n const headerCls = getPrefixCls(\"head\");\n const iconCls = getPrefixCls(\"icon\");\n const titleCls = getPrefixCls(\"title\");\n const actionCls = getPrefixCls(\"action\");\n const bodyCls = getPrefixCls(\"body\");\n\n return (\n <div class={cx(rootCls, styles.container)}>\n {/* Header 区域 */}\n <div class={cx(headerCls, styles.header)}>\n {slots.icon && (\n <div class={cx(iconCls, styles.icon)}>\n {slots.icon()}\n </div>\n )}\n <div class={cx(titleCls, styles.header_title)}>\n {props.title}\n </div>\n </div>\n {/*action*/}\n {slots.action && (\n <div class={cx(actionCls, styles.action)}>\n {slots.action()}\n </div>\n )}\n\n {/* Body 区域 */}\n <div class={cx(bodyCls, styles.body)}>\n {slots.default?.()}\n </div>\n </div>\n );\n };\n }\n});\n\nexport const Card = withInstall(_Card);\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,eAAAA,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,UAAU,MAAM,CAAA;AAGzC,IAAA,MAAMC,SAASC,QAAAA,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,YAAA,KAAA,EAAA;AAAA,QAAA,OAAA,EACcC,EAAAA,CAAGP,OAAAA,EAASF,MAAAA,CAAOU,SAAS;AAAA,OAAC,EAAA,CAAAF,WAAAA,CAAA,KAAA,EAAA;AAAA,QAAA,OAAA,EAE3BC,EAAAA,CAAGN,SAAAA,EAAWH,MAAAA,CAAOW,MAAM;AAAA,OAAC,EAAA,CACrCd,KAAAA,CAAMe,IAAAA,IAAIJ,YAAA,KAAA,EAAA;AAAA,QAAA,OAAA,EACGC,EAAAA,CAAGL,OAAAA,EAASJ,MAAAA,CAAOY,IAAI;AAAA,OAAC,EAAA,CACjCf,KAAAA,CAAMe,IAAAA,EAAM,CAAA,CAAA,EAEhBJ,YAAA,KAAA,EAAA;AAAA,QAAA,OAAA,EACWC,EAAAA,CAAGJ,QAAAA,EAAUL,MAAAA,CAAOa,YAAY;AAAA,OAAC,EAAA,CAC1CpB,KAAAA,CAAMC,KAAK,CAAA,CAAA,CAAA,CAAA,EAIfG,KAAAA,CAAMiB,MAAAA,IAAMN,WAAAA,CAAA,KAAA,EAAA;AAAA,QAAA,OAAA,EACCC,EAAAA,CAAGH,SAAAA,EAAWN,MAAAA,CAAOc,MAAM;AAAA,OAAC,EAAA,CACrCjB,KAAAA,CAAMiB,MAAAA,EAAQ,CAAA,CAAA,EAElBN,YAAA,KAAA,EAAA;AAAA,QAAA,OAAA,EAGWC,EAAAA,CAAGF,OAAAA,EAASP,MAAAA,CAAOe,IAAI;AAAA,SAAC,CAAA,CACjClB,EAAAA,GAAAA,KAAAA,CAAMmB,YAANnB,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,EAAAA,CAAAA,IAAAA,CAAAA,KAAAA,CAAiB,CAAA,CAAA,CAAA,CAAA;AAAA,IAI1B,CAAA;AAAA,EACF;AACF,CAAC,CAAA;AAEM,MAAMoB,IAAAA,GAAOC,YAAY5B,KAAK;;;;"}
1
+ {"version":3,"file":"Card.mjs","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 headerWrapperCls = getPrefixCls(\"head-wrapper\");\r\n const headerCls = getPrefixCls(\"head\");\r\n const headerExctraCls = getPrefixCls(\"extra\");\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(headerWrapperCls, styles.header)}>\r\n <div class={cx(headerCls)}>\r\n {slots.icon && (\r\n <div class={cx(iconCls, styles.icon)}>\r\n {slots.icon()}\r\n </div>\r\n )}\r\n <div class={cx(titleCls, styles.header_title)}>\r\n {props.title}\r\n </div>\r\n </div>\r\n {\r\n slots.extra && (\r\n <div class={cx(headerExctraCls)}>\r\n {slots.extra()}\r\n </div>\r\n )\r\n }\r\n </div>\r\n {/*action*/}\r\n {slots.action && (\r\n <div class={cx(actionCls, styles.action)}>\r\n {slots.action()}\r\n </div>\r\n )}\r\n\r\n {/* Body 区域 */}\r\n <div class={cx(bodyCls, styles.body)}>\r\n {slots.default?.()}\r\n </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","headerWrapperCls","headerCls","headerExctraCls","iconCls","titleCls","actionCls","bodyCls","_createVNode","cx","container","header","icon","header_title","extra","action","body","default","Card","withInstall"],"mappings":";;;;;;;AAUA,MAAMA,wBAAQC,eAAAA,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,UAAU,MAAM,CAAA;AAGzC,IAAA,MAAMC,SAASC,QAAAA,EAAS;AAExB,IAAA,OAAO,MAAM;AAtBjB,MAAA,IAAA,EAAA;AAwBM,MAAA,MAAMC,UAAUJ,YAAAA,EAAa;AAC7B,MAAA,MAAMK,gBAAAA,GAAmBL,aAAa,cAAc,CAAA;AACpD,MAAA,MAAMM,SAAAA,GAAYN,aAAa,MAAM,CAAA;AACrC,MAAA,MAAMO,eAAAA,GAAkBP,aAAa,OAAO,CAAA;AAC5C,MAAA,MAAMQ,OAAAA,GAAUR,aAAa,MAAM,CAAA;AACnC,MAAA,MAAMS,QAAAA,GAAWT,aAAa,OAAO,CAAA;AACrC,MAAA,MAAMU,SAAAA,GAAYV,aAAa,QAAQ,CAAA;AACvC,MAAA,MAAMW,OAAAA,GAAUX,aAAa,MAAM,CAAA;AAEnC,MAAA,OAAAY,YAAA,KAAA,EAAA;AAAA,QAAA,OAAA,EACcC,EAAAA,CAAGT,OAAAA,EAASF,MAAAA,CAAOY,SAAS;AAAA,OAAC,EAAA,CAAAF,WAAAA,CAAA,KAAA,EAAA;AAAA,QAAA,OAAA,EAE3BC,EAAAA,CAAGR,gBAAAA,EAAkBH,MAAAA,CAAOa,MAAM;AAAA,OAAC,EAAA,CAAAH,WAAAA,CAAA,KAAA,EAAA;AAAA,QAAA,OAAA,EACjCC,GAAGP,SAAS;AAAA,OAAC,EAAA,CACtBP,KAAAA,CAAMiB,IAAAA,IAAIJ,YAAA,KAAA,EAAA;AAAA,QAAA,OAAA,EACGC,EAAAA,CAAGL,OAAAA,EAASN,MAAAA,CAAOc,IAAI;AAAA,OAAC,EAAA,CACjCjB,KAAAA,CAAMiB,IAAAA,EAAM,CAAA,CAAA,EAEhBJ,YAAA,KAAA,EAAA;AAAA,QAAA,OAAA,EACWC,EAAAA,CAAGJ,QAAAA,EAAUP,MAAAA,CAAOe,YAAY;AAAA,OAAC,EAAA,CAC1CtB,KAAAA,CAAMC,KAAK,CAAA,CAAA,CAAA,CAAA,EAIdG,KAAAA,CAAMmB,KAAAA,IAAKN,WAAAA,CAAA,KAAA,EAAA;AAAA,QAAA,OAAA,EACGC,GAAGN,eAAe;AAAA,OAAC,EAAA,CAC5BR,KAAAA,CAAMmB,KAAAA,EAAO,CAAA,CAEjB,CAAA,CAAA,EAIJnB,KAAAA,CAAMoB,MAAAA,IAAMP,WAAAA,CAAA,KAAA,EAAA;AAAA,QAAA,OAAA,EACCC,EAAAA,CAAGH,SAAAA,EAAWR,MAAAA,CAAOiB,MAAM;AAAA,OAAC,EAAA,CACrCpB,KAAAA,CAAMoB,MAAAA,EAAQ,CAAA,CAAA,EAElBP,YAAA,KAAA,EAAA;AAAA,QAAA,OAAA,EAGWC,EAAAA,CAAGF,OAAAA,EAAST,MAAAA,CAAOkB,IAAI;AAAA,SAAC,CAAA,CACjCrB,EAAAA,GAAAA,KAAAA,CAAMsB,YAANtB,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,EAAAA,CAAAA,IAAAA,CAAAA,KAAAA,CAAiB,CAAA,CAAA,CAAA,CAAA;AAAA,IAI1B,CAAA;AAAA,EACF;AACF,CAAC,CAAA;AAEM,MAAMuB,IAAAA,GAAOC,YAAY/B,KAAK;;;;"}
@@ -10,7 +10,9 @@ const useStyle = () => {
10
10
  `,
11
11
  header: css`
12
12
  display: flex;
13
- margin-bottom: 20px;
13
+ padding: 4px;
14
+ align-items: center;
15
+ justify-content: space-between;
14
16
  `,
15
17
  header_title: css`
16
18
  line-height: 1.5;
@@ -25,7 +27,7 @@ const useStyle = () => {
25
27
  flex-shrink: 0; /* 防止标题过长时挤压图标 */
26
28
  `,
27
29
  action: css`
28
- margin-bottom: 10px;
30
+ padding: 4px;
29
31
  `,
30
32
  body: css`
31
33
  display: flex;
@@ -1 +1 @@
1
- {"version":3,"file":"style.mjs","sources":["../../../../src/components/card/style.ts"],"sourcesContent":["import { css } from \"@emotion/css\";\n\nexport const useStyle = () => {\n return {\n container: css`\n display: flex;\n flex-direction: column;\n background-color: #fff;\n `,\n header: css`\n display: flex;\n margin-bottom: 20px;\n `,\n header_title: css`\n line-height: 1.5;\n /* 如果标题过长,防止换行破坏布局,可以加这行 */\n white-space: nowrap;\n `,\n // 可选:如果你需要对 icon 容器做特殊处理(例如防止图标被压缩)\n icon: css`\n margin-right: 10px;\n display: inline-flex;\n align-items: center;\n flex-shrink: 0; /* 防止标题过长时挤压图标 */\n `,\n action: css`\n margin-bottom: 10px;\n `,\n body: css`\n display: flex;\n flex-direction: column;\n `\n };\n};\n"],"names":[],"mappings":";;;AAEO,MAAM,WAAW,MAAM;AAC5B,EAAA,OAAO;AAAA,IACL,SAAA,EAAW,GAAA;AAAA;AAAA;AAAA;AAAA,IAAA,CAAA;AAAA,IAKX,MAAA,EAAQ,GAAA;AAAA;AAAA;AAAA,IAAA,CAAA;AAAA,IAIR,YAAA,EAAc,GAAA;AAAA;AAAA;AAAA;AAAA,IAAA,CAAA;AAAA;AAAA,IAMd,IAAA,EAAM,GAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAA,CAAA;AAAA,IAMN,MAAA,EAAQ,GAAA;AAAA;AAAA,IAAA,CAAA;AAAA,IAGR,IAAA,EAAM,GAAA;AAAA;AAAA;AAAA,IAAA;AAAA,GAIR;AACF;;;;"}
1
+ {"version":3,"file":"style.mjs","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 padding: 4px;\r\n align-items: center;\r\n justify-content: space-between;\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 padding: 4px;\r\n `,\r\n body: css`\r\n display: flex;\r\n flex-direction: column;\r\n `\r\n };\r\n};\r\n"],"names":[],"mappings":";;;AAEO,MAAM,WAAW,MAAM;AAC5B,EAAA,OAAO;AAAA,IACL,SAAA,EAAW,GAAA;AAAA;AAAA;AAAA;AAAA,IAAA,CAAA;AAAA,IAKX,MAAA,EAAQ,GAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAA,CAAA;AAAA,IAMR,YAAA,EAAc,GAAA;AAAA;AAAA;AAAA;AAAA,IAAA,CAAA;AAAA;AAAA,IAMd,IAAA,EAAM,GAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAA,CAAA;AAAA,IAMN,MAAA,EAAQ,GAAA;AAAA;AAAA,IAAA,CAAA;AAAA,IAGR,IAAA,EAAM,GAAA;AAAA;AAAA;AAAA,IAAA;AAAA,GAIR;AACF;;;;"}
@@ -0,0 +1,60 @@
1
+ export declare const Desensitize: import("../../utils/withInstall").SFCWithInstall<import("vue").DefineComponent<import("vue").ExtractPropTypes<{
2
+ value: {
3
+ type: () => string | undefined;
4
+ required: true;
5
+ };
6
+ style: {
7
+ type: StringConstructor;
8
+ default: string;
9
+ };
10
+ rule: {
11
+ type: StringConstructor;
12
+ required: true;
13
+ };
14
+ regex: {
15
+ type: StringConstructor;
16
+ default: string;
17
+ };
18
+ regexValue: {
19
+ type: StringConstructor;
20
+ default: string;
21
+ };
22
+ eye: {
23
+ type: BooleanConstructor;
24
+ default: boolean;
25
+ };
26
+ }>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
27
+ value: {
28
+ type: () => string | undefined;
29
+ required: true;
30
+ };
31
+ style: {
32
+ type: StringConstructor;
33
+ default: string;
34
+ };
35
+ rule: {
36
+ type: StringConstructor;
37
+ required: true;
38
+ };
39
+ regex: {
40
+ type: StringConstructor;
41
+ default: string;
42
+ };
43
+ regexValue: {
44
+ type: StringConstructor;
45
+ default: string;
46
+ };
47
+ eye: {
48
+ type: BooleanConstructor;
49
+ default: boolean;
50
+ };
51
+ }>> & Readonly<{}>, {
52
+ style: string;
53
+ regex: string;
54
+ regexValue: string;
55
+ eye: boolean;
56
+ }, {}, {
57
+ EyeOutlined: import("@ant-design/icons-vue/lib/icons/EyeOutlined").EyeOutlinedIconType;
58
+ EyeInvisibleOutlined: import("@ant-design/icons-vue/lib/icons/EyeInvisibleOutlined").EyeInvisibleOutlinedIconType;
59
+ }, {}, string, import("vue").ComponentProvideOptions, true, {}, any>>;
60
+ //# sourceMappingURL=Desensitize.d.ts.map
@@ -0,0 +1,97 @@
1
+ import { defineComponent, ref, computed, createVNode, withDirectives, resolveComponent, vShow } from 'vue';
2
+ import { EyeInvisibleOutlined, EyeOutlined } from '@ant-design/icons-vue';
3
+ import { cx } from '@emotion/css';
4
+ import { useDesign } from '../../hooks/useDesign.mjs';
5
+ import { withInstall } from '../../utils/withInstall.mjs';
6
+ import { useStyle } from './style.mjs';
7
+
8
+ "use strict";
9
+ const _Desensitize = /* @__PURE__ */ defineComponent({
10
+ name: "DDesensitize",
11
+ components: {
12
+ EyeOutlined,
13
+ EyeInvisibleOutlined
14
+ },
15
+ props: {
16
+ value: {
17
+ // type: [string,number] 可以使用PropType 来声明对象类型
18
+ // type: String as () => string | number,
19
+ type: String,
20
+ required: true
21
+ },
22
+ // 替换样式
23
+ style: {
24
+ type: String,
25
+ default: "*"
26
+ },
27
+ // 替换规则 id 和mobile
28
+ rule: {
29
+ type: String,
30
+ required: true
31
+ },
32
+ // 正则表达式
33
+ regex: {
34
+ type: String,
35
+ default: ""
36
+ },
37
+ // 替换方式
38
+ regexValue: {
39
+ type: String,
40
+ default: ""
41
+ },
42
+ eye: {
43
+ type: Boolean,
44
+ default: false
45
+ }
46
+ },
47
+ setup(props) {
48
+ const {
49
+ getPrefixCls
50
+ } = useDesign("desensitize");
51
+ const styles = useStyle();
52
+ const invisible = ref(true);
53
+ const desensitizedString = computed(() => {
54
+ const value = props.value;
55
+ const rule = props.rule;
56
+ const regex = props.regex;
57
+ const regexValue = props.regexValue;
58
+ let str = "";
59
+ if (!value) {
60
+ return "";
61
+ }
62
+ if (rule) {
63
+ switch (rule) {
64
+ case "mobile":
65
+ str = value.replace(/(\d{3})\d{4}(\d{4})/, "$1*****$2");
66
+ break;
67
+ case "id":
68
+ str = value.replace(/(\d{4})\d{10}(\w{4})/, "$1*****$2");
69
+ break;
70
+ }
71
+ } else {
72
+ str = value.replace(regex, regexValue);
73
+ }
74
+ return str;
75
+ });
76
+ return () => {
77
+ const rootCls = getPrefixCls();
78
+ const valueCls = getPrefixCls("value");
79
+ const iconCls = getPrefixCls("icon");
80
+ return createVNode("div", {
81
+ "class": cx(rootCls, styles.container)
82
+ }, [createVNode("span", {
83
+ "class": cx(valueCls, styles.value)
84
+ }, [invisible.value ? desensitizedString.value : props.value]), props.eye ? createVNode("span", {
85
+ "class": cx(iconCls, styles.icon)
86
+ }, [withDirectives(createVNode(resolveComponent("eye-outlined"), {
87
+ "onClick": () => invisible.value = !invisible.value
88
+ }, null), [[vShow, !invisible.value]]), withDirectives(createVNode(resolveComponent("eye-invisible-outlined"), {
89
+ "onClick": () => invisible.value = !invisible.value
90
+ }, null), [[vShow, invisible.value]])]) : void 0]);
91
+ };
92
+ }
93
+ });
94
+ const Desensitize = withInstall(_Desensitize);
95
+
96
+ export { Desensitize };
97
+ //# sourceMappingURL=Desensitize.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Desensitize.mjs","sources":["../../../../src/components/desensitize/Desensitize.tsx"],"sourcesContent":["/**\r\n * 脱敏\r\n * @author 余春林\r\n */\r\nimport { defineComponent, computed, ref } from \"vue\";\r\nimport { EyeOutlined, EyeInvisibleOutlined } from \"@ant-design/icons-vue\";\r\nimport { cx } from \"@emotion/css\";\r\n\r\nimport { useDesign } from \"../../hooks/useDesign\";\r\nimport { withInstall } from \"../../utils/withInstall\";\r\n\r\nimport { useStyle } from \"./style\";\r\n\r\nconst _Desensitize = defineComponent({\r\n name: \"DDesensitize\",\r\n components: {\r\n EyeOutlined,\r\n EyeInvisibleOutlined\r\n },\r\n props: {\r\n value: {\r\n // type: [string,number] 可以使用PropType 来声明对象类型\r\n // type: String as () => string | number,\r\n type: String as () => string | undefined,\r\n required: true\r\n },\r\n // 替换样式\r\n style: {\r\n type: String,\r\n default: \"*\"\r\n },\r\n // 替换规则 id 和mobile\r\n rule: {\r\n type: String,\r\n required: true\r\n },\r\n // 正则表达式\r\n regex: {\r\n type: String,\r\n default: \"\"\r\n },\r\n // 替换方式\r\n regexValue: {\r\n type: String,\r\n default: \"\"\r\n },\r\n eye: {\r\n type: Boolean,\r\n default: false\r\n }\r\n },\r\n setup(props) {\r\n const { getPrefixCls } = useDesign(\"desensitize\");\r\n const styles = useStyle();\r\n\r\n // 控制显示隐藏脱敏或者不脱敏\r\n const invisible = ref(true);\r\n const desensitizedString = computed(() => {\r\n const value = props.value;\r\n const rule = props.rule;\r\n const regex = props.regex;\r\n const regexValue = props.regexValue;\r\n let str = \"\";\r\n if (!value) {\r\n return \"\";\r\n }\r\n if (rule) {\r\n switch (rule) {\r\n case \"mobile\":\r\n str = value.replace(/(\\d{3})\\d{4}(\\d{4})/, \"$1*****$2\");\r\n break;\r\n case \"id\":\r\n str = value.replace(/(\\d{4})\\d{10}(\\w{4})/, \"$1*****$2\");\r\n break;\r\n }\r\n } else {\r\n str = value.replace(regex, regexValue);\r\n }\r\n return str;\r\n });\r\n return () => {\r\n const rootCls = getPrefixCls();\r\n const valueCls = getPrefixCls(\"value\");\r\n const iconCls = getPrefixCls(\"icon\");\r\n\r\n return (\r\n <div class={cx(rootCls, styles.container)}>\r\n <span class={cx(valueCls, styles.value)}>\r\n {invisible.value ? desensitizedString.value : props.value}\r\n </span>\r\n {props.eye ? (\r\n <span class={cx(iconCls, styles.icon)}>\r\n <eye-outlined\r\n onClick={() => (invisible.value = !invisible.value)}\r\n v-show={!invisible.value}\r\n />\r\n <eye-invisible-outlined\r\n onClick={() => (invisible.value = !invisible.value)}\r\n v-show={invisible.value}\r\n />\r\n </span>\r\n ) : undefined}\r\n </div>\r\n );\r\n };\r\n }\r\n});\r\n\r\nexport const Desensitize = withInstall(_Desensitize);\r\n"],"names":["_Desensitize","defineComponent","name","components","EyeOutlined","EyeInvisibleOutlined","props","value","type","String","required","style","default","rule","regex","regexValue","eye","Boolean","setup","getPrefixCls","useDesign","styles","useStyle","invisible","ref","desensitizedString","computed","str","replace","rootCls","valueCls","iconCls","_createVNode","cx","container","icon","_withDirectives","_resolveComponent","onClick","_vShow","undefined","Desensitize","withInstall"],"mappings":";;;;;;;;AAaA,MAAMA,+BAAeC,eAAAA,CAAgB;AAAA,EACnCC,IAAAA,EAAM,cAAA;AAAA,EACNC,UAAAA,EAAY;AAAA,IACVC,WAAAA;AAAAA,IACAC;AAAAA,GACF;AAAA,EACAC,KAAAA,EAAO;AAAA,IACLC,KAAAA,EAAO;AAAA;AAAA;AAAA,MAGLC,IAAAA,EAAMC,MAAAA;AAAAA,MACNC,QAAAA,EAAU;AAAA,KACZ;AAAA;AAAA,IAEAC,KAAAA,EAAO;AAAA,MACLH,IAAAA,EAAMC,MAAAA;AAAAA,MACNG,OAAAA,EAAS;AAAA,KACX;AAAA;AAAA,IAEAC,IAAAA,EAAM;AAAA,MACJL,IAAAA,EAAMC,MAAAA;AAAAA,MACNC,QAAAA,EAAU;AAAA,KACZ;AAAA;AAAA,IAEAI,KAAAA,EAAO;AAAA,MACLN,IAAAA,EAAMC,MAAAA;AAAAA,MACNG,OAAAA,EAAS;AAAA,KACX;AAAA;AAAA,IAEAG,UAAAA,EAAY;AAAA,MACVP,IAAAA,EAAMC,MAAAA;AAAAA,MACNG,OAAAA,EAAS;AAAA,KACX;AAAA,IACAI,GAAAA,EAAK;AAAA,MACHR,IAAAA,EAAMS,OAAAA;AAAAA,MACNL,OAAAA,EAAS;AAAA;AACX,GACF;AAAA,EACAM,MAAMZ,KAAAA,EAAO;AACX,IAAA,MAAM;AAAA,MAAEa;AAAAA,KAAa,GAAIC,UAAU,aAAa,CAAA;AAChD,IAAA,MAAMC,SAASC,QAAAA,EAAS;AAGxB,IAAA,MAAMC,SAAAA,GAAYC,IAAI,IAAI,CAAA;AAC1B,IAAA,MAAMC,kBAAAA,GAAqBC,SAAS,MAAM;AACxC,MAAA,MAAMnB,QAAQD,KAAAA,CAAMC,KAAAA;AACpB,MAAA,MAAMM,OAAOP,KAAAA,CAAMO,IAAAA;AACnB,MAAA,MAAMC,QAAQR,KAAAA,CAAMQ,KAAAA;AACpB,MAAA,MAAMC,aAAaT,KAAAA,CAAMS,UAAAA;AACzB,MAAA,IAAIY,GAAAA,GAAM,EAAA;AACV,MAAA,IAAI,CAACpB,KAAAA,EAAO;AACV,QAAA,OAAO,EAAA;AAAA,MACT;AACA,MAAA,IAAIM,IAAAA,EAAM;AACR,QAAA,QAAQA,IAAAA;AAAI,UACV,KAAK,QAAA;AACHc,YAAAA,GAAAA,GAAMpB,KAAAA,CAAMqB,OAAAA,CAAQ,qBAAA,EAAuB,WAAW,CAAA;AACtD,YAAA;AAAA,UACF,KAAK,IAAA;AACHD,YAAAA,GAAAA,GAAMpB,KAAAA,CAAMqB,OAAAA,CAAQ,sBAAA,EAAwB,WAAW,CAAA;AACvD,YAAA;AAAA;AACJ,MACF,CAAA,MAAO;AACLD,QAAAA,GAAAA,GAAMpB,KAAAA,CAAMqB,OAAAA,CAAQd,KAAAA,EAAOC,UAAU,CAAA;AAAA,MACvC;AACA,MAAA,OAAOY,GAAAA;AAAAA,IACT,CAAC,CAAA;AACD,IAAA,OAAO,MAAM;AACX,MAAA,MAAME,UAAUV,YAAAA,EAAa;AAC7B,MAAA,MAAMW,QAAAA,GAAWX,aAAa,OAAO,CAAA;AACrC,MAAA,MAAMY,OAAAA,GAAUZ,aAAa,MAAM,CAAA;AAEnC,MAAA,OAAAa,YAAA,KAAA,EAAA;AAAA,QAAA,OAAA,EACcC,EAAAA,CAAGJ,OAAAA,EAASR,MAAAA,CAAOa,SAAS;AAAA,OAAC,EAAA,CAAAF,WAAAA,CAAA,MAAA,EAAA;AAAA,QAAA,OAAA,EAC1BC,EAAAA,CAAGH,QAAAA,EAAUT,MAAAA,CAAOd,KAAK;AAAA,OAAC,EAAA,CACpCgB,SAAAA,CAAUhB,KAAAA,GAAQkB,kBAAAA,CAAmBlB,KAAAA,GAAQD,KAAAA,CAAMC,KAAK,CAAA,CAAA,EAE1DD,KAAAA,CAAMU,GAAAA,GAAGgB,YAAA,MAAA,EAAA;AAAA,QAAA,OAAA,EACKC,EAAAA,CAAGF,OAAAA,EAASV,MAAAA,CAAOc,IAAI;AAAA,SAAC,CAAAC,cAAAA,CAAAJ,WAAAA,CAAAK,gBAAAA,CAAA,cAAA,CAAA,EAAA;AAAA,QAAA,SAAA,EAExBC,MAAOf,SAAAA,CAAUhB,KAAAA,GAAQ,CAACgB,SAAAA,CAAUhB;AAAAA,SAAM,IAAA,CAAA,EAAA,CAAA,CAAAgC,OAC3C,CAAChB,SAAAA,CAAUhB,KAAK,CAAA,CAAA,CAAA,EAAA6B,cAAAA,CAAAJ,WAAAA,CAAAK,gBAAAA,CAAA,wBAAA,CAAA,EAAA;AAAA,QAAA,SAAA,EAGfC,MAAOf,SAAAA,CAAUhB,KAAAA,GAAQ,CAACgB,SAAAA,CAAUhB;AAAAA,OAAM,EAAA,IAAA,CAAA,EAAA,CAAA,CAAAgC,KAAAA,EAC3ChB,SAAAA,CAAUhB,KAAK,QAGzBiC,MAAS,CAAA,CAAA;AAAA,IAGnB,CAAA;AAAA,EACF;AACF,CAAC,CAAA;AAEM,MAAMC,WAAAA,GAAcC,YAAY1C,YAAY;;;;"}
@@ -0,0 +1,4 @@
1
+ import { Desensitize } from "./Desensitize";
2
+ export { Desensitize };
3
+ export default Desensitize;
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,10 @@
1
+ import { Desensitize } from './Desensitize.mjs';
2
+
3
+ "use strict";
4
+ Desensitize.install = function(app) {
5
+ app.component(Desensitize.name, Desensitize);
6
+ return app;
7
+ };
8
+
9
+ export { Desensitize, Desensitize as default };
10
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","sources":["../../../../src/components/desensitize/index.ts"],"sourcesContent":["import type { App } from \"vue\";\r\nimport { Desensitize } from \"./Desensitize\";\r\n\r\nDesensitize.install = function (app: App) {\r\n app.component(Desensitize.name!, Desensitize);\r\n return app;\r\n};\r\n\r\nexport { Desensitize };\r\n\r\nexport default Desensitize;\r\n"],"names":[],"mappings":";;;AAGA,WAAA,CAAY,OAAA,GAAU,SAAU,GAAA,EAAU;AACxC,EAAA,GAAA,CAAI,SAAA,CAAU,WAAA,CAAY,IAAA,EAAO,WAAW,CAAA;AAC5C,EAAA,OAAO,GAAA;AACT,CAAA;;;;"}
@@ -0,0 +1,6 @@
1
+ export declare const useStyle: () => {
2
+ container: string;
3
+ value: string;
4
+ icon: string;
5
+ };
6
+ //# sourceMappingURL=style.d.ts.map
@@ -0,0 +1,20 @@
1
+ import { css } from '@emotion/css';
2
+
3
+ "use strict";
4
+ const useStyle = () => {
5
+ return {
6
+ container: css`
7
+ display: inline-block;
8
+ `,
9
+ value: css`
10
+ padding: 0 4px;
11
+ `,
12
+ icon: css`
13
+ cursor: pointer;
14
+ margin-left: 4px;
15
+ `
16
+ };
17
+ };
18
+
19
+ export { useStyle };
20
+ //# sourceMappingURL=style.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"style.mjs","sources":["../../../../src/components/desensitize/style.ts"],"sourcesContent":["import { css } from \"@emotion/css\";\r\n\r\nexport const useStyle = () => {\r\n return {\r\n container: css`\r\n display: inline-block;\r\n `,\r\n value: css`\r\n padding: 0 4px;\r\n `,\r\n icon: css`\r\n cursor: pointer;\r\n margin-left: 4px;\r\n `\r\n };\r\n};\r\n"],"names":[],"mappings":";;;AAEO,MAAM,WAAW,MAAM;AAC5B,EAAA,OAAO;AAAA,IACL,SAAA,EAAW,GAAA;AAAA;AAAA,IAAA,CAAA;AAAA,IAGX,KAAA,EAAO,GAAA;AAAA;AAAA,IAAA,CAAA;AAAA,IAGP,IAAA,EAAM,GAAA;AAAA;AAAA;AAAA,IAAA;AAAA,GAIR;AACF;;;;"}
@@ -72,7 +72,8 @@ var DicReplace = /* @__PURE__ */ defineComponent({
72
72
  }
73
73
  });
74
74
  }
75
- loadDicData().then(() => console.log("success load dic"));
75
+ loadDicData().then(() => {
76
+ });
76
77
  watch(() => props.value, (val) => {
77
78
  replace(val);
78
79
  }, {
@@ -1 +1 @@
1
- {"version":3,"file":"DicReplace.mjs","sources":["../../../../src/components/dic/DicReplace.tsx"],"sourcesContent":["/**\n * 字典替换\n * 根据字典名字及对应的value替换成中文或者人能看懂的文字\n * @author 余春林\n */\nimport {\n defineComponent,\n inject,\n onActivated,\n onMounted,\n ref,\n watch\n} from \"vue\";\nimport { useRoute } from \"vue-router\";\nimport { storeToRefs } from \"pinia\";\n\nimport { useDicStore, useNavTabStore } from \"@ditari/store\";\n\nexport default defineComponent({\n name: \"DicRep\",\n props: {\n // 字典名称\n name: {\n type: String,\n default: \"\"\n },\n // 值\n value: {\n type: [String, Number],\n default: \"\"\n }\n },\n setup(props) {\n const { list } = storeToRefs(useNavTabStore());\n const { getDicTextByValue } = useDicStore();\n const route = useRoute();\n // 判断使用组件的页面是否被缓存\n const isKeepAlive = list.value.some(\n item =>\n item.fullPath === route.fullPath &&\n item.meta?.keepAlive\n );\n const dicValueTxt = ref<string>(\"\");\n\n // 注入 fetchDic,提供默认值\n const fetchDic = inject<\n (name: string) => Promise<unknown[]>\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n >(\"fetchDic\", async (_name: string) => {\n // console.warn(\n // `fetchDic 未注入,使用默认实现,name: ${name}`\n // );\n return [];\n });\n\n onActivated(async () => {\n // 缓存页面被激活的时候调用\n await loadDicData();\n });\n\n onMounted(async () => {\n if (!isKeepAlive) {\n // 未缓存页面 挂载的时候调用\n await loadDicData();\n }\n });\n\n // 请求字典数据的函数\n async function loadDicData() {\n try {\n // 调用注入进来的fetchDic方法\n await fetchDic(props.name);\n replace(props.value);\n } catch (error) {\n console.error(\"获取字典数据失败:\", error);\n }\n }\n\n loadDicData().then(() =>\n console.log(\"success load dic\")\n );\n\n watch(\n () => props.value,\n (val: string | number) => {\n replace(val);\n },\n {\n immediate: true\n }\n );\n\n function replace(val: string | number) {\n const value = val;\n const name = props.name;\n dicValueTxt.value = getDicTextByValue(\n name,\n value?.toString()\n );\n }\n\n return () => (\n <span class={\"d-dic\"}>{dicValueTxt.value}</span>\n );\n }\n});\n"],"names":["name","props","type","String","default","value","Number","setup","list","storeToRefs","useNavTabStore","getDicTextByValue","useDicStore","route","useRoute","isKeepAlive","some","item","fullPath","meta","keepAlive","dicValueTxt","ref","fetchDic","inject","_name","onActivated","loadDicData","onMounted","replace","error","console","then","log","watch","val","immediate","toString","_createVNode"],"mappings":"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"}
1
+ {"version":3,"file":"DicReplace.mjs","sources":["../../../../src/components/dic/DicReplace.tsx"],"sourcesContent":["/**\r\n * 字典替换\r\n * 根据字典名字及对应的value替换成中文或者人能看懂的文字\r\n * @author 余春林\r\n */\r\nimport {\r\n defineComponent,\r\n inject,\r\n onActivated,\r\n onMounted,\r\n ref,\r\n watch\r\n} from \"vue\";\r\nimport { useRoute } from \"vue-router\";\r\nimport { storeToRefs } from \"pinia\";\r\n\r\nimport { useDicStore, useNavTabStore } from \"@ditari/store\";\r\n\r\nexport default defineComponent({\r\n name: \"DicRep\",\r\n props: {\r\n // 字典名称\r\n name: {\r\n type: String,\r\n default: \"\"\r\n },\r\n // 值\r\n value: {\r\n type: [String, Number],\r\n default: \"\"\r\n }\r\n },\r\n setup(props) {\r\n const { list } = storeToRefs(useNavTabStore());\r\n const { getDicTextByValue } = useDicStore();\r\n const route = useRoute();\r\n // 判断使用组件的页面是否被缓存\r\n const isKeepAlive = list.value.some(\r\n item =>\r\n item.fullPath === route.fullPath &&\r\n item.meta?.keepAlive\r\n );\r\n const dicValueTxt = ref<string>(\"\");\r\n\r\n // 注入 fetchDic,提供默认值\r\n const fetchDic = inject<\r\n (name: string) => Promise<unknown[]>\r\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\r\n >(\"fetchDic\", async (_name: string) => {\r\n // console.warn(\r\n // `fetchDic 未注入,使用默认实现,name: ${name}`\r\n // );\r\n return [];\r\n });\r\n\r\n onActivated(async () => {\r\n // 缓存页面被激活的时候调用\r\n await loadDicData();\r\n });\r\n\r\n onMounted(async () => {\r\n if (!isKeepAlive) {\r\n // 未缓存页面 挂载的时候调用\r\n await loadDicData();\r\n }\r\n });\r\n\r\n // 请求字典数据的函数\r\n async function loadDicData() {\r\n try {\r\n // 调用注入进来的fetchDic方法\r\n await fetchDic(props.name);\r\n replace(props.value);\r\n } catch (error) {\r\n console.error(\"获取字典数据失败:\", error);\r\n }\r\n }\r\n\r\n loadDicData().then(() =>{\r\n // console.log(\"success load dic\")\r\n }\r\n );\r\n\r\n watch(\r\n () => props.value,\r\n (val: string | number) => {\r\n replace(val);\r\n },\r\n {\r\n immediate: true\r\n }\r\n );\r\n\r\n function replace(val: string | number) {\r\n const value = val;\r\n const name = props.name;\r\n dicValueTxt.value = getDicTextByValue(\r\n name,\r\n value?.toString()\r\n );\r\n }\r\n\r\n return () => (\r\n <span class={\"d-dic\"}>{dicValueTxt.value}</span>\r\n );\r\n }\r\n});\r\n"],"names":["name","props","type","String","default","value","Number","setup","list","storeToRefs","useNavTabStore","getDicTextByValue","useDicStore","route","useRoute","isKeepAlive","some","item","fullPath","meta","keepAlive","dicValueTxt","ref","fetchDic","inject","_name","onActivated","loadDicData","onMounted","replace","error","console","then","watch","val","immediate","toString","_createVNode"],"mappings":"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"}