el-plus 0.0.113 → 0.0.115

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 (255) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/README.md +85 -85
  3. package/dist/index.css +1 -1
  4. package/dist/index.full.js +15 -5
  5. package/dist/index.full.min.js +4 -4
  6. package/dist/index.full.min.js.map +1 -1
  7. package/dist/index.full.min.mjs +4 -4
  8. package/dist/index.full.min.mjs.map +1 -1
  9. package/dist/index.full.mjs +15 -6
  10. package/docs/CHANGELOG.md +5 -5
  11. package/docs/api-examples.md +49 -49
  12. package/docs/components/attachment.md +118 -111
  13. package/docs/components/buttons.md +179 -179
  14. package/docs/components/custom-column.md +70 -70
  15. package/docs/components/date-picker-range.md +61 -61
  16. package/docs/components/dialog.md +104 -104
  17. package/docs/components/footer-info.md +101 -101
  18. package/docs/components/form.md +211 -211
  19. package/docs/components/header.md +117 -117
  20. package/docs/components/input.md +111 -111
  21. package/docs/components/link.md +63 -63
  22. package/docs/components/search-list-page.md +91 -91
  23. package/docs/components/select.md +249 -249
  24. package/docs/components/table.md +145 -145
  25. package/docs/components/title.md +70 -70
  26. package/docs/components/use-choose-dialog.md +114 -114
  27. package/docs/components/use-confirm-dialog.md +86 -86
  28. package/docs/components/use-form-dialog.md +85 -85
  29. package/docs/guide/markdown-examples.md +85 -85
  30. package/docs/hooks/use-navigation.md +131 -131
  31. package/docs/hooks/use-utils.md +162 -162
  32. package/docs/index.md +25 -25
  33. package/docs/overview.md +99 -99
  34. package/docs/pages/detail.md +66 -66
  35. package/docs/pages/list.md +74 -74
  36. package/docs/pages/router.md +151 -151
  37. package/es/components/attachment/index.d.ts +12 -2
  38. package/es/components/attachment/index.mjs +1 -1
  39. package/es/components/attachment/index.mjs.map +1 -1
  40. package/es/components/attachment/src/attachment.d.ts +6 -0
  41. package/es/components/attachment/src/attachment.mjs +7 -1
  42. package/es/components/attachment/src/attachment.mjs.map +1 -1
  43. package/es/components/attachment/src/attachment.vue.d.ts +5 -1
  44. package/es/components/attachment/src/attachment.vue2.mjs +7 -4
  45. package/es/components/attachment/src/attachment.vue2.mjs.map +1 -1
  46. package/es/components/attachment/src/use-attachment.mjs.map +1 -1
  47. package/es/components/buttons/index.mjs.map +1 -1
  48. package/es/components/buttons/src/buttons-vue.mjs.map +1 -1
  49. package/es/components/buttons/src/buttons.mjs.map +1 -1
  50. package/es/components/custom-column/index.mjs.map +1 -1
  51. package/es/components/custom-column/src/custom-column.mjs.map +1 -1
  52. package/es/components/custom-column/src/custom-column.vue2.mjs.map +1 -1
  53. package/es/components/date-picker-range/index.mjs.map +1 -1
  54. package/es/components/date-picker-range/src/date-picker-range.mjs.map +1 -1
  55. package/es/components/date-picker-range/src/date-picker-range.vue2.mjs.map +1 -1
  56. package/es/components/footer-info/index.mjs.map +1 -1
  57. package/es/components/footer-info/src/footer-info.mjs.map +1 -1
  58. package/es/components/footer-info/src/footer-info.vue2.mjs.map +1 -1
  59. package/es/components/form/index.mjs.map +1 -1
  60. package/es/components/form/src/form-item-vue.mjs.map +1 -1
  61. package/es/components/form/src/form-item.mjs.map +1 -1
  62. package/es/components/form/src/form.mjs.map +1 -1
  63. package/es/components/form/src/form.vue2.mjs.map +1 -1
  64. package/es/components/form/src/hooks/use-form-item.mjs.map +1 -1
  65. package/es/components/form/src/hooks/use-form.mjs.map +1 -1
  66. package/es/components/header/index.mjs.map +1 -1
  67. package/es/components/header/src/header.mjs.map +1 -1
  68. package/es/components/header/src/header.vue2.mjs.map +1 -1
  69. package/es/components/header/src/use-header.mjs.map +1 -1
  70. package/es/components/index.mjs +1 -1
  71. package/es/components/input/index.mjs.map +1 -1
  72. package/es/components/input/src/input.mjs.map +1 -1
  73. package/es/components/input/src/input.vue2.mjs.map +1 -1
  74. package/es/components/link/index.mjs.map +1 -1
  75. package/es/components/link/src/link.mjs.map +1 -1
  76. package/es/components/link/src/link.vue2.mjs.map +1 -1
  77. package/es/components/search-list-page/index.mjs.map +1 -1
  78. package/es/components/search-list-page/src/search-list-page.mjs.map +1 -1
  79. package/es/components/search-list-page/src/search-list-page.vue2.mjs.map +1 -1
  80. package/es/components/search-list-page/src/use-search-list-page.mjs.map +1 -1
  81. package/es/components/select/index.mjs.map +1 -1
  82. package/es/components/select/src/select.mjs.map +1 -1
  83. package/es/components/select/src/select.vue2.mjs.map +1 -1
  84. package/es/components/select/src/use-select.mjs.map +1 -1
  85. package/es/components/table/index.mjs.map +1 -1
  86. package/es/components/table/src/table.mjs.map +1 -1
  87. package/es/components/table/src/table.vue2.mjs.map +1 -1
  88. package/es/components/table/src/use-table.mjs.map +1 -1
  89. package/es/components/title/index.mjs.map +1 -1
  90. package/es/components/title/src/title.mjs.map +1 -1
  91. package/es/components/title/src/title.vue2.mjs.map +1 -1
  92. package/es/components/title/src/use-title.mjs.map +1 -1
  93. package/es/components/uni-vue/index.mjs.map +1 -1
  94. package/es/components/uni-vue/src/uni-vue.mjs.map +1 -1
  95. package/es/components/uni-vue/src/uni-vue.vue2.mjs.map +1 -1
  96. package/es/components/uni-vue/src/use-uni-vue.mjs.map +1 -1
  97. package/es/components.mjs.map +1 -1
  98. package/es/directives/permission/index.mjs.map +1 -1
  99. package/es/directives/repeat-click/index.mjs.map +1 -1
  100. package/es/hooks/dialog/use-choose-dialog.mjs.map +1 -1
  101. package/es/hooks/dialog/use-confirm-dialog.mjs.map +1 -1
  102. package/es/hooks/dialog/use-dialog.mjs.map +1 -1
  103. package/es/hooks/dialog/use-form-dialog.mjs.map +1 -1
  104. package/es/hooks/use-locale.mjs.map +1 -1
  105. package/es/hooks/use-navigation.mjs.map +1 -1
  106. package/es/hooks/use-request.mjs.map +1 -1
  107. package/es/hooks/use-template-promise.mjs.map +1 -1
  108. package/es/hooks/use-utils.mjs.map +1 -1
  109. package/es/index.mjs +1 -1
  110. package/es/index.mjs.map +1 -1
  111. package/es/locale/lang/en.mjs.map +1 -1
  112. package/es/locale/lang/zh-cn.mjs.map +1 -1
  113. package/es/package.json.mjs +1 -1
  114. package/es/plugins/globalProperties.mjs.map +1 -1
  115. package/es/types/global.d.ts +30 -30
  116. package/es/types/index.d.ts +2 -2
  117. package/es/types/utils.d.ts +19 -19
  118. package/es/utils/bem.mjs.map +1 -1
  119. package/es/utils/cookie.mjs.map +1 -1
  120. package/es/utils/dom.mjs.map +1 -1
  121. package/es/utils/env.mjs.map +1 -1
  122. package/es/utils/file.mjs.map +1 -1
  123. package/es/utils/http/core/modules/interceptor.mjs.map +1 -1
  124. package/es/utils/http/core/modules/loading.mjs.map +1 -1
  125. package/es/utils/http/core/preset-interceptors.mjs.map +1 -1
  126. package/es/utils/http/core/request-client.mjs.map +1 -1
  127. package/es/utils/http/index.mjs.map +1 -1
  128. package/es/utils/mitt.mjs.map +1 -1
  129. package/es/utils/navigation.mjs.map +1 -1
  130. package/es/utils/props.mjs.map +1 -1
  131. package/es/utils/time.mjs.map +1 -1
  132. package/es/utils/utils.mjs.map +1 -1
  133. package/es/utils/with-install.mjs.map +1 -1
  134. package/global.d.ts +21 -21
  135. package/lib/components/attachment/index.d.ts +12 -2
  136. package/lib/components/attachment/index.js +1 -0
  137. package/lib/components/attachment/index.js.map +1 -1
  138. package/lib/components/attachment/src/attachment.d.ts +6 -0
  139. package/lib/components/attachment/src/attachment.js +7 -0
  140. package/lib/components/attachment/src/attachment.js.map +1 -1
  141. package/lib/components/attachment/src/attachment.vue.d.ts +5 -1
  142. package/lib/components/attachment/src/attachment.vue2.js +6 -3
  143. package/lib/components/attachment/src/attachment.vue2.js.map +1 -1
  144. package/lib/components/attachment/src/use-attachment.js.map +1 -1
  145. package/lib/components/buttons/index.js.map +1 -1
  146. package/lib/components/buttons/src/buttons-vue.js.map +1 -1
  147. package/lib/components/buttons/src/buttons.js.map +1 -1
  148. package/lib/components/custom-column/index.js.map +1 -1
  149. package/lib/components/custom-column/src/custom-column.js.map +1 -1
  150. package/lib/components/custom-column/src/custom-column.vue2.js.map +1 -1
  151. package/lib/components/date-picker-range/index.js.map +1 -1
  152. package/lib/components/date-picker-range/src/date-picker-range.js.map +1 -1
  153. package/lib/components/date-picker-range/src/date-picker-range.vue2.js.map +1 -1
  154. package/lib/components/footer-info/index.js.map +1 -1
  155. package/lib/components/footer-info/src/footer-info.js.map +1 -1
  156. package/lib/components/footer-info/src/footer-info.vue2.js.map +1 -1
  157. package/lib/components/form/index.js.map +1 -1
  158. package/lib/components/form/src/form-item-vue.js.map +1 -1
  159. package/lib/components/form/src/form-item.js.map +1 -1
  160. package/lib/components/form/src/form.js.map +1 -1
  161. package/lib/components/form/src/form.vue2.js.map +1 -1
  162. package/lib/components/form/src/hooks/use-form-item.js.map +1 -1
  163. package/lib/components/form/src/hooks/use-form.js.map +1 -1
  164. package/lib/components/header/index.js.map +1 -1
  165. package/lib/components/header/src/header.js.map +1 -1
  166. package/lib/components/header/src/header.vue2.js.map +1 -1
  167. package/lib/components/header/src/use-header.js.map +1 -1
  168. package/lib/components/index.js +1 -0
  169. package/lib/components/index.js.map +1 -1
  170. package/lib/components/input/index.js.map +1 -1
  171. package/lib/components/input/src/input.js.map +1 -1
  172. package/lib/components/input/src/input.vue2.js.map +1 -1
  173. package/lib/components/link/index.js.map +1 -1
  174. package/lib/components/link/src/link.js.map +1 -1
  175. package/lib/components/link/src/link.vue2.js.map +1 -1
  176. package/lib/components/search-list-page/index.js.map +1 -1
  177. package/lib/components/search-list-page/src/search-list-page.js.map +1 -1
  178. package/lib/components/search-list-page/src/search-list-page.vue2.js.map +1 -1
  179. package/lib/components/search-list-page/src/use-search-list-page.js.map +1 -1
  180. package/lib/components/select/index.js.map +1 -1
  181. package/lib/components/select/src/select.js.map +1 -1
  182. package/lib/components/select/src/select.vue2.js.map +1 -1
  183. package/lib/components/select/src/use-select.js.map +1 -1
  184. package/lib/components/table/index.js.map +1 -1
  185. package/lib/components/table/src/table.js.map +1 -1
  186. package/lib/components/table/src/table.vue2.js.map +1 -1
  187. package/lib/components/table/src/use-table.js.map +1 -1
  188. package/lib/components/title/index.js.map +1 -1
  189. package/lib/components/title/src/title.js.map +1 -1
  190. package/lib/components/title/src/title.vue2.js.map +1 -1
  191. package/lib/components/title/src/use-title.js.map +1 -1
  192. package/lib/components/uni-vue/index.js.map +1 -1
  193. package/lib/components/uni-vue/src/uni-vue.js.map +1 -1
  194. package/lib/components/uni-vue/src/uni-vue.vue2.js.map +1 -1
  195. package/lib/components/uni-vue/src/use-uni-vue.js.map +1 -1
  196. package/lib/components.js.map +1 -1
  197. package/lib/directives/permission/index.js.map +1 -1
  198. package/lib/directives/repeat-click/index.js.map +1 -1
  199. package/lib/hooks/dialog/use-choose-dialog.js.map +1 -1
  200. package/lib/hooks/dialog/use-confirm-dialog.js.map +1 -1
  201. package/lib/hooks/dialog/use-dialog.js.map +1 -1
  202. package/lib/hooks/dialog/use-form-dialog.js.map +1 -1
  203. package/lib/hooks/use-locale.js.map +1 -1
  204. package/lib/hooks/use-navigation.js.map +1 -1
  205. package/lib/hooks/use-request.js.map +1 -1
  206. package/lib/hooks/use-template-promise.js.map +1 -1
  207. package/lib/hooks/use-utils.js.map +1 -1
  208. package/lib/index.js +1 -0
  209. package/lib/index.js.map +1 -1
  210. package/lib/locale/lang/en.js.map +1 -1
  211. package/lib/locale/lang/zh-cn.js.map +1 -1
  212. package/lib/package.json.js +1 -1
  213. package/lib/plugins/globalProperties.js.map +1 -1
  214. package/lib/types/global.d.ts +30 -30
  215. package/lib/types/index.d.ts +2 -2
  216. package/lib/types/utils.d.ts +19 -19
  217. package/lib/utils/bem.js.map +1 -1
  218. package/lib/utils/cookie.js.map +1 -1
  219. package/lib/utils/dom.js.map +1 -1
  220. package/lib/utils/env.js.map +1 -1
  221. package/lib/utils/file.js.map +1 -1
  222. package/lib/utils/http/core/modules/interceptor.js.map +1 -1
  223. package/lib/utils/http/core/modules/loading.js.map +1 -1
  224. package/lib/utils/http/core/preset-interceptors.js.map +1 -1
  225. package/lib/utils/http/core/request-client.js.map +1 -1
  226. package/lib/utils/http/index.js.map +1 -1
  227. package/lib/utils/mitt.js.map +1 -1
  228. package/lib/utils/navigation.js.map +1 -1
  229. package/lib/utils/props.js.map +1 -1
  230. package/lib/utils/time.js.map +1 -1
  231. package/lib/utils/utils.js.map +1 -1
  232. package/lib/utils/with-install.js.map +1 -1
  233. package/package.json +1 -1
  234. package/theme-chalk/base.css +1 -1
  235. package/theme-chalk/index.css +1 -1
  236. package/theme-chalk/src/attachment.scss +39 -39
  237. package/theme-chalk/src/base.scss +2 -2
  238. package/theme-chalk/src/buttons.scss +22 -22
  239. package/theme-chalk/src/common/common.scss +7 -4
  240. package/theme-chalk/src/common/transition.scss +9 -9
  241. package/theme-chalk/src/custom-column.scss +55 -55
  242. package/theme-chalk/src/dialog.scss +62 -62
  243. package/theme-chalk/src/footer-info.scss +18 -18
  244. package/theme-chalk/src/form.scss +80 -72
  245. package/theme-chalk/src/header.scss +19 -19
  246. package/theme-chalk/src/index.scss +15 -15
  247. package/theme-chalk/src/link.scss +5 -5
  248. package/theme-chalk/src/mixins/config.scss +3 -3
  249. package/theme-chalk/src/mixins/mixins.scss +37 -37
  250. package/theme-chalk/src/search-list-page.scss +22 -22
  251. package/theme-chalk/src/select.scss +10 -10
  252. package/theme-chalk/src/table.scss +91 -91
  253. package/theme-chalk/src/tabs.scss +55 -55
  254. package/theme-chalk/src/title.scss +52 -52
  255. package/theme-chalk/src/uni-vue.scss +10 -10
@@ -34,7 +34,9 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
34
34
  }>, {
35
35
  open: () => Promise<any>;
36
36
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
37
- "update:modelValue": (value: any[] | undefined) => any;
37
+ cancel: () => void;
38
+ confirm: (data: any[] | undefined) => void;
39
+ "update:modelValue": (value: any[] | undefined) => void;
38
40
  }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
39
41
  formatColumns: {
40
42
  readonly type: import("vue").PropType<import("el-plus/es/components/table").TableColumn[]>;
@@ -69,6 +71,8 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
69
71
  type: import("vue").PropType<any[]>;
70
72
  };
71
73
  }>> & Readonly<{
74
+ onCancel?: (() => any) | undefined;
75
+ onConfirm?: ((data: any[] | undefined) => any) | undefined;
72
76
  "onUpdate:modelValue"?: ((value: any[] | undefined) => any) | undefined;
73
77
  }>, {
74
78
  formatColumns: Partial<import("element-plus").TableColumnCtx & {
@@ -23,11 +23,12 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
23
23
  "modelValue": {},
24
24
  "modelModifiers": {}
25
25
  }),
26
- emits: ["update:modelValue"],
27
- setup(__props, { expose: __expose }) {
26
+ emits: /* @__PURE__ */ vue.mergeModels(attachment.attachmentEmits, ["update:modelValue"]),
27
+ setup(__props, { expose: __expose, emit: __emit }) {
28
28
  const { t } = useLocale.useLocale();
29
29
  const bem$1 = bem.createNameSpace("attachment");
30
30
  const props$1 = __props;
31
+ const emit = __emit;
31
32
  const modelValue = vue.useModel(__props, "modelValue");
32
33
  const {
33
34
  columns,
@@ -55,10 +56,12 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
55
56
  ),
56
57
  templatePromiseClass: bem$1.e("promise"),
57
58
  onConfirm: async (resolve) => {
58
- onConfirm(resolve);
59
+ await onConfirm(resolve);
60
+ emit("confirm", modelValue.value);
59
61
  },
60
62
  onCancel: (resolve) => {
61
63
  onCancel(resolve);
64
+ emit("cancel");
62
65
  }
63
66
  });
64
67
  const open = AttachmentDialog.open;
@@ -1 +1 @@
1
- {"version":3,"file":"attachment.vue2.js","sources":["../../../../../../packages/components/attachment/src/attachment.vue"],"sourcesContent":["<template>\n <ElButton\n v-if=\"props.isShowOpenDialogButton\"\n type=\"primary\"\n plain\n size=\"small\"\n :class=\"bem.e('handler')\"\n @click=\"open\"\n v-permission=\"permission\"\n >\n {{ t('ep.attachment.manageAttachment') }}({{ modelValue?.length || 0 }})\n </ElButton>\n <AttachmentDialog>\n <div style=\"margin-bottom: 10px; text-align: right\">\n <EpButtons\n v-if=\"props.openType === 'dialog' && mode !== 'browse'\"\n type=\"primary\"\n :list=\"[\n {\n name: t('ep.attachment.addAttachment'),\n type: 'primary',\n onClick: addAttachment,\n },\n ]\"\n />\n </div>\n\n <EpTable\n ref=\"tableRef\"\n :class=\"`${bem.b()} ${prepareClassNames()}`\"\n :style=\"{\n ...prepareStyles(),\n }\"\n :columns=\"columns\"\n :action-buttons=\"actionButtons\"\n actionColWidth=\"110\"\n :data=\"modelValue\"\n v-bind=\"props\"\n >\n </EpTable>\n </AttachmentDialog>\n</template>\n<script setup lang=\"ts\">\nimport { createNameSpace } from '@el-plus/utils/bem'\nimport { prepareClassNames, prepareStyles } from '@el-plus/utils/props'\nimport { attachmentProps } from './attachment'\nimport EpTable from '@el-plus/components/table'\nimport { useAttachment } from './use-attachment'\nimport type { TableProps } from '@el-plus/components/table'\nimport { useDialog } from '@el-plus/hooks/dialog/use-dialog'\nimport { useLocale } from '@el-plus/hooks/use-locale'\nimport { ElButton } from 'element-plus'\nimport { vPermission } from '@el-plus/directives'\n\nconst { t } = useLocale()\ndefineOptions({\n name: 'EpAttachment',\n inheritAttrs: false,\n})\nconst bem = createNameSpace('attachment')\nconst props = defineProps(attachmentProps)\nconst modelValue = defineModel<TableProps['data']>()\nconst {\n columns,\n actionButtons,\n addAttachment,\n isNormalOpen,\n permission,\n onConfirm,\n onCancel,\n mode,\n} = useAttachment(props, {\n data: modelValue,\n})\nconst AttachmentDialog = useDialog({\n width: isNormalOpen ? '' : 850,\n center: true,\n title: isNormalOpen ? '' : t('ep.attachment.manageAttachment'),\n modal: !isNormalOpen,\n showClose: !isNormalOpen,\n showFooter: !isNormalOpen,\n transition: isNormalOpen ? '' : 'dialog-fade',\n modalClass: bem.em(\n 'dialog',\n props.openType === 'normal' ? props.openType : '',\n ),\n templatePromiseClass: bem.e('promise'),\n onConfirm: async (resolve) => {\n onConfirm(resolve)\n },\n onCancel: (resolve) => {\n onCancel(resolve)\n },\n})\nconst open = AttachmentDialog.open\nif (isNormalOpen) {\n open()\n}\ndefineExpose({\n open,\n})\n</script>\n"],"names":["useLocale","bem","createNameSpace","props","_useModel","useAttachment","useDialog","_createBlock","_unref","ElButton","_normalizeClass","_createTextVNode","_toDisplayString","_createVNode","_createElementVNode","_mergeProps","prepareClassNames","prepareStyles"],"mappings":"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"}
1
+ {"version":3,"file":"attachment.vue2.js","sources":["../../../../../../packages/components/attachment/src/attachment.vue"],"sourcesContent":["<template>\r\n <ElButton\r\n v-if=\"props.isShowOpenDialogButton\"\r\n type=\"primary\"\r\n plain\r\n size=\"small\"\r\n :class=\"bem.e('handler')\"\r\n @click=\"open\"\r\n v-permission=\"permission\"\r\n >\r\n {{ t('ep.attachment.manageAttachment') }}({{ modelValue?.length || 0 }})\r\n </ElButton>\r\n <AttachmentDialog>\r\n <div style=\"margin-bottom: 10px; text-align: right\">\r\n <EpButtons\r\n v-if=\"props.openType === 'dialog' && mode !== 'browse'\"\r\n type=\"primary\"\r\n :list=\"[\r\n {\r\n name: t('ep.attachment.addAttachment'),\r\n type: 'primary',\r\n onClick: addAttachment,\r\n },\r\n ]\"\r\n />\r\n </div>\r\n\r\n <EpTable\r\n ref=\"tableRef\"\r\n :class=\"`${bem.b()} ${prepareClassNames()}`\"\r\n :style=\"{\r\n ...prepareStyles(),\r\n }\"\r\n :columns=\"columns\"\r\n :action-buttons=\"actionButtons\"\r\n actionColWidth=\"110\"\r\n :data=\"modelValue\"\r\n v-bind=\"props\"\r\n >\r\n </EpTable>\r\n </AttachmentDialog>\r\n</template>\r\n<script setup lang=\"ts\">\r\nimport { createNameSpace } from '@el-plus/utils/bem'\r\nimport { prepareClassNames, prepareStyles } from '@el-plus/utils/props'\r\nimport { attachmentProps, attachmentEmits } from './attachment'\r\nimport EpTable from '@el-plus/components/table'\r\nimport { useAttachment } from './use-attachment'\r\nimport type { TableProps } from '@el-plus/components/table'\r\nimport { useDialog } from '@el-plus/hooks/dialog/use-dialog'\r\nimport { useLocale } from '@el-plus/hooks/use-locale'\r\nimport { ElButton } from 'element-plus'\r\nimport { vPermission } from '@el-plus/directives'\r\n\r\nconst { t } = useLocale()\r\ndefineOptions({\r\n name: 'EpAttachment',\r\n inheritAttrs: false,\r\n})\r\nconst bem = createNameSpace('attachment')\r\nconst props = defineProps(attachmentProps)\r\nconst emit = defineEmits(attachmentEmits)\r\nconst modelValue = defineModel<TableProps['data']>()\r\nconst {\r\n columns,\r\n actionButtons,\r\n addAttachment,\r\n isNormalOpen,\r\n permission,\r\n onConfirm,\r\n onCancel,\r\n mode,\r\n} = useAttachment(props, {\r\n data: modelValue,\r\n})\r\nconst AttachmentDialog = useDialog({\r\n width: isNormalOpen ? '' : 850,\r\n center: true,\r\n title: isNormalOpen ? '' : t('ep.attachment.manageAttachment'),\r\n modal: !isNormalOpen,\r\n showClose: !isNormalOpen,\r\n showFooter: !isNormalOpen,\r\n transition: isNormalOpen ? '' : 'dialog-fade',\r\n modalClass: bem.em(\r\n 'dialog',\r\n props.openType === 'normal' ? props.openType : '',\r\n ),\r\n templatePromiseClass: bem.e('promise'),\r\n onConfirm: async (resolve) => {\r\n await onConfirm(resolve)\r\n emit('confirm', modelValue.value)\r\n },\r\n onCancel: (resolve) => {\r\n onCancel(resolve)\r\n emit('cancel')\r\n },\r\n})\r\nconst open = AttachmentDialog.open\r\nif (isNormalOpen) {\r\n open()\r\n}\r\ndefineExpose({\r\n open,\r\n})\r\n</script>\r\n"],"names":["useLocale","bem","createNameSpace","props","_useModel","useAttachment","useDialog","_createBlock","_unref","ElButton","_normalizeClass","_createTextVNode","_toDisplayString","_createVNode","_createElementVNode","_mergeProps","prepareClassNames","prepareStyles"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"use-attachment.js","sources":["../../../../../../packages/components/attachment/src/use-attachment.ts"],"sourcesContent":["import { ref, computed, useTemplateRef } from 'vue'\nimport { useNavigation } from '@el-plus/hooks/use-navigation'\nimport { useLocale } from '@el-plus/hooks/use-locale'\nimport { downloadFile, previewFile, importFile } from '@el-plus/utils/file'\nimport { Cookies } from '@el-plus/utils/cookie'\nimport type { TableInstance } from '@el-plus/components/table'\n\nexport const useAttachment = (props, { data }) => {\n const { mode: defaultMode } = useNavigation()\n const { t } = useLocale()\n const mode = computed(() => {\n return props.mode || defaultMode.value\n })\n const tableRef = useTemplateRef<TableInstance>('tableRef')\n const isNormalOpen = props.openType === 'normal'\n const isDialogOpen = props.openType === 'dialog'\n\n // 待确认的附件列表\n let toBeConfirmData: Record<string, any>[] = []\n // 待删除的附件列表\n let toBeDeleteData: {\n [key: number]: Record<string, any> // key要存储原来索引以便保留原顺序\n } = {}\n const actionButtons = ref<any>([\n {\n name: t('ep.attachment.download'),\n onClick({ row }) {\n downloadFile({\n src: row.filePath,\n fileName: row.originalFilename || row.originalFileName,\n })\n },\n },\n {\n name: t('ep.attachment.delete'),\n disabled: () => {\n return mode.value === 'browse'\n },\n onClick: ({ $index, row }) => {\n if (isDialogOpen) {\n // 待删除的附件列表\n toBeDeleteData[$index] = row\n }\n data.value.splice($index, 1)\n },\n },\n ])\n const columns = ref([\n {\n label: t('ep.attachment.attachmentType'),\n prop: 'type',\n type: 'EpSelect',\n required: true,\n show: () => props.isType,\n props: {\n desc: ({ row }) => {\n return row.typeDesc\n },\n },\n },\n {\n label: t('ep.attachment.fileName'),\n prop: 'originalFilename',\n type: 'EpLink',\n onClick({ row }) {\n previewFile(row.filePath)\n },\n },\n {\n label: t('ep.attachment.creator'),\n prop: 'createBy',\n },\n {\n label: t('ep.attachment.createTime'),\n prop: 'createTime',\n },\n {\n label: t('ep.attachment.description'),\n prop: 'note',\n type: 'EpInput',\n show: () => props.isNote,\n },\n ])\n const addAttachment = async () => {\n toBeConfirmData = []\n const fileData = await importFile({\n api: 'api-f/fast/files/save',\n extraData: {\n createBy: Cookies.get('accountName') || '',\n },\n })\n fileData.fileId = fileData.id\n delete fileData.id\n if (isDialogOpen) {\n // 待确认的附件列表\n toBeConfirmData.push(fileData)\n }\n if (props.beforeAdd) {\n await props.beforeAdd?.(fileData)\n }\n data.value.push(fileData)\n }\n // 确认\n const onConfirm = async (resolve) => {\n await tableRef.value?.validate()\n resolve(data.value)\n toBeConfirmData = []\n toBeDeleteData = {}\n }\n // 取消\n const onCancel = (resolve) => {\n if (toBeConfirmData.length) {\n // 找到待确认的附件\n const index = data.value.findIndex((item) => {\n return item.fileId === toBeConfirmData[0].fileId\n })\n if (index !== -1) {\n // 删除待确认的附件\n data.value.splice(index, 1)\n }\n // 清空待确认的附件列表\n toBeConfirmData = []\n }\n if (Object.keys(toBeDeleteData).length) {\n // 找到待删除的附件在原位置插入\n Object.keys(toBeDeleteData).forEach((oldIndex) => {\n data.value.splice(Number(oldIndex), 0, toBeDeleteData[oldIndex])\n })\n // 清空待删除的附件列表\n toBeDeleteData = {}\n }\n resolve()\n }\n const permission = computed(() => {\n const arr = props.permission?.split(':') || []\n return {\n arg: arr[0],\n value: arr[1]\n }\n })\n return {\n columns,\n actionButtons,\n addAttachment,\n isNormalOpen,\n isDialogOpen,\n onConfirm,\n onCancel,\n mode,\n permission\n }\n}\n"],"names":["useNavigation","useLocale","computed","useTemplateRef","ref","downloadFile","previewFile","importFile"],"mappings":"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"}
1
+ {"version":3,"file":"use-attachment.js","sources":["../../../../../../packages/components/attachment/src/use-attachment.ts"],"sourcesContent":["import { ref, computed, useTemplateRef } from 'vue'\r\nimport { useNavigation } from '@el-plus/hooks/use-navigation'\r\nimport { useLocale } from '@el-plus/hooks/use-locale'\r\nimport { downloadFile, previewFile, importFile } from '@el-plus/utils/file'\r\nimport { Cookies } from '@el-plus/utils/cookie'\r\nimport type { TableInstance } from '@el-plus/components/table'\r\n\r\nexport const useAttachment = (props, { data }) => {\r\n const { mode: defaultMode } = useNavigation()\r\n const { t } = useLocale()\r\n const mode = computed(() => {\r\n return props.mode || defaultMode.value\r\n })\r\n const tableRef = useTemplateRef<TableInstance>('tableRef')\r\n const isNormalOpen = props.openType === 'normal'\r\n const isDialogOpen = props.openType === 'dialog'\r\n\r\n // 待确认的附件列表\r\n let toBeConfirmData: Record<string, any>[] = []\r\n // 待删除的附件列表\r\n let toBeDeleteData: {\r\n [key: number]: Record<string, any> // key要存储原来索引以便保留原顺序\r\n } = {}\r\n const actionButtons = ref<any>([\r\n {\r\n name: t('ep.attachment.download'),\r\n onClick({ row }) {\r\n downloadFile({\r\n src: row.filePath,\r\n fileName: row.originalFilename || row.originalFileName,\r\n })\r\n },\r\n },\r\n {\r\n name: t('ep.attachment.delete'),\r\n disabled: () => {\r\n return mode.value === 'browse'\r\n },\r\n onClick: ({ $index, row }) => {\r\n if (isDialogOpen) {\r\n // 待删除的附件列表\r\n toBeDeleteData[$index] = row\r\n }\r\n data.value.splice($index, 1)\r\n },\r\n },\r\n ])\r\n const columns = ref([\r\n {\r\n label: t('ep.attachment.attachmentType'),\r\n prop: 'type',\r\n type: 'EpSelect',\r\n required: true,\r\n show: () => props.isType,\r\n props: {\r\n desc: ({ row }) => {\r\n return row.typeDesc\r\n },\r\n },\r\n },\r\n {\r\n label: t('ep.attachment.fileName'),\r\n prop: 'originalFilename',\r\n type: 'EpLink',\r\n onClick({ row }) {\r\n previewFile(row.filePath)\r\n },\r\n },\r\n {\r\n label: t('ep.attachment.creator'),\r\n prop: 'createBy',\r\n },\r\n {\r\n label: t('ep.attachment.createTime'),\r\n prop: 'createTime',\r\n },\r\n {\r\n label: t('ep.attachment.description'),\r\n prop: 'note',\r\n type: 'EpInput',\r\n show: () => props.isNote,\r\n },\r\n ])\r\n const addAttachment = async () => {\r\n toBeConfirmData = []\r\n const fileData = await importFile({\r\n api: 'api-f/fast/files/save',\r\n extraData: {\r\n createBy: Cookies.get('accountName') || '',\r\n },\r\n })\r\n fileData.fileId = fileData.id\r\n delete fileData.id\r\n if (isDialogOpen) {\r\n // 待确认的附件列表\r\n toBeConfirmData.push(fileData)\r\n }\r\n if (props.beforeAdd) {\r\n await props.beforeAdd?.(fileData)\r\n }\r\n data.value.push(fileData)\r\n }\r\n // 确认\r\n const onConfirm = async (resolve) => {\r\n await tableRef.value?.validate()\r\n resolve(data.value)\r\n toBeConfirmData = []\r\n toBeDeleteData = {}\r\n }\r\n // 取消\r\n const onCancel = (resolve) => {\r\n if (toBeConfirmData.length) {\r\n // 找到待确认的附件\r\n const index = data.value.findIndex((item) => {\r\n return item.fileId === toBeConfirmData[0].fileId\r\n })\r\n if (index !== -1) {\r\n // 删除待确认的附件\r\n data.value.splice(index, 1)\r\n }\r\n // 清空待确认的附件列表\r\n toBeConfirmData = []\r\n }\r\n if (Object.keys(toBeDeleteData).length) {\r\n // 找到待删除的附件在原位置插入\r\n Object.keys(toBeDeleteData).forEach((oldIndex) => {\r\n data.value.splice(Number(oldIndex), 0, toBeDeleteData[oldIndex])\r\n })\r\n // 清空待删除的附件列表\r\n toBeDeleteData = {}\r\n }\r\n resolve()\r\n }\r\n const permission = computed(() => {\r\n const arr = props.permission?.split(':') || []\r\n return {\r\n arg: arr[0],\r\n value: arr[1]\r\n }\r\n })\r\n return {\r\n columns,\r\n actionButtons,\r\n addAttachment,\r\n isNormalOpen,\r\n isDialogOpen,\r\n onConfirm,\r\n onCancel,\r\n mode,\r\n permission\r\n }\r\n}\r\n"],"names":["useNavigation","useLocale","computed","useTemplateRef","ref","downloadFile","previewFile","importFile"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../packages/components/buttons/index.ts"],"sourcesContent":["import Buttons from './src/buttons-vue'\nimport { withInstall } from '@el-plus/utils/with-install'\n\nexport const EpButtons = withInstall(Buttons)\nexport default EpButtons\nexport * from './src/buttons'\n"],"names":["withInstall","Buttons"],"mappings":";;;;;;;;AAGO,MAAM,SAAA,GAAYA,wBAAYC,kBAAO;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../../../packages/components/buttons/index.ts"],"sourcesContent":["import Buttons from './src/buttons-vue'\r\nimport { withInstall } from '@el-plus/utils/with-install'\r\n\r\nexport const EpButtons = withInstall(Buttons)\r\nexport default EpButtons\r\nexport * from './src/buttons'\r\n"],"names":["withInstall","Buttons"],"mappings":";;;;;;;;AAGO,MAAM,SAAA,GAAYA,wBAAYC,kBAAO;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"buttons-vue.js","sources":["../../../../../../packages/components/buttons/src/buttons-vue.tsx"],"sourcesContent":["import { defineComponent, computed } from 'vue'\nimport { buttonsProps } from './buttons'\nimport { createNameSpace } from '@el-plus/utils/bem'\nimport {\n prepareProps,\n prepareEvents,\n prepareClassNames,\n prepareStyles,\n} from '@el-plus/utils/props'\nimport { vRepeatClick, vPermission } from '@el-plus/directives'\nimport { ElMessageBox } from 'element-plus'\nimport { useLocale } from '@el-plus/hooks/use-locale'\nconst bem = createNameSpace('button')\n\nexport default defineComponent({\n name: 'EpButtons',\n directives: {\n [vRepeatClick.name]: vRepeatClick,\n [vPermission.name]: vPermission,\n },\n inheritAttrs: false,\n props: buttonsProps,\n setup(props, { emit }) {\n const { t } = useLocale()\n const { list, ...buttonProps } = props\n const customList = computed(() => {\n return list.filter((button) => {\n if ('show' in button) {\n return typeof button.show === 'function'\n ? button.show(button)\n : button.show\n } else if ('hide' in button) {\n return typeof button.hide === 'function'\n ? !button.hide(button)\n : !button.hide\n }\n return true\n })\n })\n const clickFn = async (item) => {\n if (item.confirmBefore) {\n await item.confirmBefore()\n }\n if (item.confirm) {\n const confirmText =\n item.confirmText ||\n `${t('ep.buttons.secondConfirm')}${item.name}${t('ep.buttons.secondConfirmEnd')}?`\n await ElMessageBox.confirm(confirmText, t('ep.buttons.prompt'), {\n confirmButtonText: t('ep.buttons.confirm'),\n cancelButtonText: t('ep.buttons.cancel'),\n type: 'warning',\n })\n }\n item.onClick && item.onClick()\n }\n const getDisabled = (item) => {\n if (typeof item.disabled === 'function') {\n return item.disabled()\n }\n if (typeof props.disabled === 'function') {\n return props.disabled()\n }\n return props.disabled\n }\n\n return () => (\n <>\n {customList.value.map((item) => {\n const permissionArr = item.permission?.split(':') || []\n return (\n <el-button\n class={[bem.b(), prepareClassNames()]}\n style={prepareStyles()}\n key={item.prop || item.name}\n v-slots={{\n default: () => item.name,\n ...item.scopedSlots,\n }}\n {...{\n ...prepareProps(buttonProps),\n ...prepareProps(item, ['scopedSlots', 'name', 'onClick']),\n disabled: getDisabled(item),\n }}\n v-repeat-click={\n typeof item.onClick === 'function'\n ? {\n handler: () => clickFn(item),\n immediate: true,\n }\n : () => clickFn(item)\n }\n v-permission={{\n arg: permissionArr[0],\n value: permissionArr[1],\n }}\n ></el-button>\n )\n })}\n </>\n )\n },\n})\n"],"names":["bem","createNameSpace","name","directives","vRepeatClick","vPermission","inheritAttrs","props","buttonsProps","setup","emit","t","useLocale","list","buttonProps","customList","computed","filter","button","show","hide","clickFn","item","confirmBefore","confirm","confirmText","ElMessageBox","confirmButtonText","cancelButtonText","type","onClick","getDisabled","disabled","_createVNode","_Fragment","value","map","permissionArr","permission","split","_withDirectives","_resolveComponent","_mergeProps","b","prepareClassNames","prepareStyles","prop","prepareProps","default","scopedSlots","_resolveDirective","handler","immediate","arg"],"mappings":"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"}
1
+ {"version":3,"file":"buttons-vue.js","sources":["../../../../../../packages/components/buttons/src/buttons-vue.tsx"],"sourcesContent":["import { defineComponent, computed } from 'vue'\r\nimport { buttonsProps } from './buttons'\r\nimport { createNameSpace } from '@el-plus/utils/bem'\r\nimport {\r\n prepareProps,\r\n prepareEvents,\r\n prepareClassNames,\r\n prepareStyles,\r\n} from '@el-plus/utils/props'\r\nimport { vRepeatClick, vPermission } from '@el-plus/directives'\r\nimport { ElMessageBox } from 'element-plus'\r\nimport { useLocale } from '@el-plus/hooks/use-locale'\r\nconst bem = createNameSpace('button')\r\n\r\nexport default defineComponent({\r\n name: 'EpButtons',\r\n directives: {\r\n [vRepeatClick.name]: vRepeatClick,\r\n [vPermission.name]: vPermission,\r\n },\r\n inheritAttrs: false,\r\n props: buttonsProps,\r\n setup(props, { emit }) {\r\n const { t } = useLocale()\r\n const { list, ...buttonProps } = props\r\n const customList = computed(() => {\r\n return list.filter((button) => {\r\n if ('show' in button) {\r\n return typeof button.show === 'function'\r\n ? button.show(button)\r\n : button.show\r\n } else if ('hide' in button) {\r\n return typeof button.hide === 'function'\r\n ? !button.hide(button)\r\n : !button.hide\r\n }\r\n return true\r\n })\r\n })\r\n const clickFn = async (item) => {\r\n if (item.confirmBefore) {\r\n await item.confirmBefore()\r\n }\r\n if (item.confirm) {\r\n const confirmText =\r\n item.confirmText ||\r\n `${t('ep.buttons.secondConfirm')}${item.name}${t('ep.buttons.secondConfirmEnd')}?`\r\n await ElMessageBox.confirm(confirmText, t('ep.buttons.prompt'), {\r\n confirmButtonText: t('ep.buttons.confirm'),\r\n cancelButtonText: t('ep.buttons.cancel'),\r\n type: 'warning',\r\n })\r\n }\r\n item.onClick && item.onClick()\r\n }\r\n const getDisabled = (item) => {\r\n if (typeof item.disabled === 'function') {\r\n return item.disabled()\r\n }\r\n if (typeof props.disabled === 'function') {\r\n return props.disabled()\r\n }\r\n return props.disabled\r\n }\r\n\r\n return () => (\r\n <>\r\n {customList.value.map((item) => {\r\n const permissionArr = item.permission?.split(':') || []\r\n return (\r\n <el-button\r\n class={[bem.b(), prepareClassNames()]}\r\n style={prepareStyles()}\r\n key={item.prop || item.name}\r\n v-slots={{\r\n default: () => item.name,\r\n ...item.scopedSlots,\r\n }}\r\n {...{\r\n ...prepareProps(buttonProps),\r\n ...prepareProps(item, ['scopedSlots', 'name', 'onClick']),\r\n disabled: getDisabled(item),\r\n }}\r\n v-repeat-click={\r\n typeof item.onClick === 'function'\r\n ? {\r\n handler: () => clickFn(item),\r\n immediate: true,\r\n }\r\n : () => clickFn(item)\r\n }\r\n v-permission={{\r\n arg: permissionArr[0],\r\n value: permissionArr[1],\r\n }}\r\n ></el-button>\r\n )\r\n })}\r\n </>\r\n )\r\n },\r\n})\r\n"],"names":["bem","createNameSpace","name","directives","vRepeatClick","vPermission","inheritAttrs","props","buttonsProps","setup","emit","t","useLocale","list","buttonProps","customList","computed","filter","button","show","hide","clickFn","item","confirmBefore","confirm","confirmText","ElMessageBox","confirmButtonText","cancelButtonText","type","onClick","getDisabled","disabled","_createVNode","_Fragment","value","map","permissionArr","permission","split","_withDirectives","_resolveComponent","_mergeProps","b","prepareClassNames","prepareStyles","prop","prepareProps","default","scopedSlots","_resolveDirective","handler","immediate","arg"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"buttons.js","sources":["../../../../../../packages/components/buttons/src/buttons.ts"],"sourcesContent":["import type { PropType, ExtractPublicPropTypes, VNode } from 'vue'\nimport {\n buttonProps as elButtonProps,\n // buttonEmits as elButtonEmits,\n type ButtonProps as ElButtonProps,\n} from 'element-plus'\nimport { disabledProps } from '@el-plus/utils/props'\nimport type { VisibleProps, IDisabled } from '@el-plus/utils/props'\nimport type { TableScope } from '@el-plus/components/table'\n\nexport type ButtonProps<TClickArg = MouseEvent | TableScope> = Partial<\n Omit<ElButtonProps, 'disabled'> & {\n name: string\n prop: string // 唯一标识\n permission: string // 权限\n onClick: (e: TClickArg) => void\n scopedSlots: Record<string, () => VNode>\n disabled: IDisabled\n confirm: boolean\n confirmText: string\n confirmBefore: (e: TClickArg) => Promise<void>\n } & VisibleProps\n>\nexport const buttonsProps = {\n ...elButtonProps,\n ...disabledProps,\n list: {\n type: Array as PropType<ButtonProps[]>,\n default: () => [],\n },\n size: {\n ...elButtonProps.size,\n default: 'small',\n },\n type: {\n ...elButtonProps.type,\n default: 'default',\n },\n} as const\nexport type ButtonsProps = ExtractPublicPropTypes<typeof buttonsProps>\n// export const buttonsEmits = {\n// ...elButtonEmits,\n// }\n// export type ButtonsEmits = typeof buttonsEmits\n// export const buttonsEmitsKeys = Object.keys(buttonsEmits)\n"],"names":["elButtonProps","disabledProps"],"mappings":";;;;;AAuBO,MAAM,YAAA,GAAe;AAAA,EAC1B,GAAGA,uBAAA;AAAA,EACH,GAAGC,mBAAA;AAAA,EACH,IAAA,EAAM;AAAA,IACJ,IAAA,EAAM,KAAA;AAAA,IACN,OAAA,EAAS,MAAM;AAAC,GAClB;AAAA,EACA,IAAA,EAAM;AAAA,IACJ,GAAGD,uBAAA,CAAc,IAAA;AAAA,IACjB,OAAA,EAAS;AAAA,GACX;AAAA,EACA,IAAA,EAAM;AAAA,IACJ,GAAGA,uBAAA,CAAc,IAAA;AAAA,IACjB,OAAA,EAAS;AAAA;AAEb;;;;"}
1
+ {"version":3,"file":"buttons.js","sources":["../../../../../../packages/components/buttons/src/buttons.ts"],"sourcesContent":["import type { PropType, ExtractPublicPropTypes, VNode } from 'vue'\r\nimport {\r\n buttonProps as elButtonProps,\r\n // buttonEmits as elButtonEmits,\r\n type ButtonProps as ElButtonProps,\r\n} from 'element-plus'\r\nimport { disabledProps } from '@el-plus/utils/props'\r\nimport type { VisibleProps, IDisabled } from '@el-plus/utils/props'\r\nimport type { TableScope } from '@el-plus/components/table'\r\n\r\nexport type ButtonProps<TClickArg = MouseEvent | TableScope> = Partial<\r\n Omit<ElButtonProps, 'disabled'> & {\r\n name: string\r\n prop: string // 唯一标识\r\n permission: string // 权限\r\n onClick: (e: TClickArg) => void\r\n scopedSlots: Record<string, () => VNode>\r\n disabled: IDisabled\r\n confirm: boolean\r\n confirmText: string\r\n confirmBefore: (e: TClickArg) => Promise<void>\r\n } & VisibleProps\r\n>\r\nexport const buttonsProps = {\r\n ...elButtonProps,\r\n ...disabledProps,\r\n list: {\r\n type: Array as PropType<ButtonProps[]>,\r\n default: () => [],\r\n },\r\n size: {\r\n ...elButtonProps.size,\r\n default: 'small',\r\n },\r\n type: {\r\n ...elButtonProps.type,\r\n default: 'default',\r\n },\r\n} as const\r\nexport type ButtonsProps = ExtractPublicPropTypes<typeof buttonsProps>\r\n// export const buttonsEmits = {\r\n// ...elButtonEmits,\r\n// }\r\n// export type ButtonsEmits = typeof buttonsEmits\r\n// export const buttonsEmitsKeys = Object.keys(buttonsEmits)\r\n"],"names":["elButtonProps","disabledProps"],"mappings":";;;;;AAuBO,MAAM,YAAA,GAAe;AAAA,EAC1B,GAAGA,uBAAA;AAAA,EACH,GAAGC,mBAAA;AAAA,EACH,IAAA,EAAM;AAAA,IACJ,IAAA,EAAM,KAAA;AAAA,IACN,OAAA,EAAS,MAAM;AAAC,GAClB;AAAA,EACA,IAAA,EAAM;AAAA,IACJ,GAAGD,uBAAA,CAAc,IAAA;AAAA,IACjB,OAAA,EAAS;AAAA,GACX;AAAA,EACA,IAAA,EAAM;AAAA,IACJ,GAAGA,uBAAA,CAAc,IAAA;AAAA,IACjB,OAAA,EAAS;AAAA;AAEb;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../packages/components/custom-column/index.ts"],"sourcesContent":["import CustomColumn from './src/custom-column.vue'\nimport { withInstall } from '@el-plus/utils/with-install'\n\nexport const EpCustomColumn = withInstall(CustomColumn)\nexport default EpCustomColumn\nexport type CustomColumnInstance = InstanceType<typeof EpCustomColumn>\nexport * from './src/custom-column'\n"],"names":["withInstall","CustomColumn"],"mappings":";;;;;;;;AAGO,MAAM,cAAA,GAAiBA,wBAAYC,wDAAY;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../../../packages/components/custom-column/index.ts"],"sourcesContent":["import CustomColumn from './src/custom-column.vue'\r\nimport { withInstall } from '@el-plus/utils/with-install'\r\n\r\nexport const EpCustomColumn = withInstall(CustomColumn)\r\nexport default EpCustomColumn\r\nexport type CustomColumnInstance = InstanceType<typeof EpCustomColumn>\r\nexport * from './src/custom-column'\r\n"],"names":["withInstall","CustomColumn"],"mappings":";;;;;;;;AAGO,MAAM,cAAA,GAAiBA,wBAAYC,wDAAY;;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"custom-column.js","sources":["../../../../../../packages/components/custom-column/src/custom-column.ts"],"sourcesContent":["import type { PropType, ExtractPublicPropTypes } from 'vue'\nimport { apiProps } from '@el-plus/utils/props'\nimport type { TransferDataItem } from 'element-plus'\n\nexport const customColumnProps = {\n module: {\n type: [Number, String] as PropType<number | string>,\n },\n api: {\n ...apiProps.api,\n default: '/api-item/api/customizedColumns/find',\n },\n saveApi: {\n ...apiProps.api,\n default: '/api-item/api/customizedColumns/save',\n },\n showHandler: {\n type: Boolean,\n default: true,\n },\n} as const\nexport type CustomColumnProps = ExtractPublicPropTypes<typeof customColumnProps>\nexport const customColumnEmits = {\n confirm: (data: TransferDataItem[]) => true,\n loaded: (data: TransferDataItem[]) => true,\n}\nexport type CustomColumnEmits = typeof customColumnEmits\n"],"names":["apiProps"],"mappings":";;;;AAIO,MAAM,iBAAA,GAAoB;AAAA,EAC/B,MAAA,EAAQ;AAAA,IACN,IAAA,EAAM,CAAC,MAAA,EAAQ,MAAM;AAAA,GACvB;AAAA,EACA,GAAA,EAAK;AAAA,IACH,GAAGA,cAAA,CAAS,GAAA;AAAA,IACZ,OAAA,EAAS;AAAA,GACX;AAAA,EACA,OAAA,EAAS;AAAA,IACP,GAAGA,cAAA,CAAS,GAAA;AAAA,IACZ,OAAA,EAAS;AAAA,GACX;AAAA,EACA,WAAA,EAAa;AAAA,IACX,IAAA,EAAM,OAAA;AAAA,IACN,OAAA,EAAS;AAAA;AAEb;AAEO,MAAM,iBAAA,GAAoB;AAAA,EAC/B,OAAA,EAAS,CAAC,IAAA,KAA6B,IAAA;AAAA,EACvC,MAAA,EAAQ,CAAC,IAAA,KAA6B;AACxC;;;;;"}
1
+ {"version":3,"file":"custom-column.js","sources":["../../../../../../packages/components/custom-column/src/custom-column.ts"],"sourcesContent":["import type { PropType, ExtractPublicPropTypes } from 'vue'\r\nimport { apiProps } from '@el-plus/utils/props'\r\nimport type { TransferDataItem } from 'element-plus'\r\n\r\nexport const customColumnProps = {\r\n module: {\r\n type: [Number, String] as PropType<number | string>,\r\n },\r\n api: {\r\n ...apiProps.api,\r\n default: '/api-item/api/customizedColumns/find',\r\n },\r\n saveApi: {\r\n ...apiProps.api,\r\n default: '/api-item/api/customizedColumns/save',\r\n },\r\n showHandler: {\r\n type: Boolean,\r\n default: true,\r\n },\r\n} as const\r\nexport type CustomColumnProps = ExtractPublicPropTypes<typeof customColumnProps>\r\nexport const customColumnEmits = {\r\n confirm: (data: TransferDataItem[]) => true,\r\n loaded: (data: TransferDataItem[]) => true,\r\n}\r\nexport type CustomColumnEmits = typeof customColumnEmits\r\n"],"names":["apiProps"],"mappings":";;;;AAIO,MAAM,iBAAA,GAAoB;AAAA,EAC/B,MAAA,EAAQ;AAAA,IACN,IAAA,EAAM,CAAC,MAAA,EAAQ,MAAM;AAAA,GACvB;AAAA,EACA,GAAA,EAAK;AAAA,IACH,GAAGA,cAAA,CAAS,GAAA;AAAA,IACZ,OAAA,EAAS;AAAA,GACX;AAAA,EACA,OAAA,EAAS;AAAA,IACP,GAAGA,cAAA,CAAS,GAAA;AAAA,IACZ,OAAA,EAAS;AAAA,GACX;AAAA,EACA,WAAA,EAAa;AAAA,IACX,IAAA,EAAM,OAAA;AAAA,IACN,OAAA,EAAS;AAAA;AAEb;AAEO,MAAM,iBAAA,GAAoB;AAAA,EAC/B,OAAA,EAAS,CAAC,IAAA,KAA6B,IAAA;AAAA,EACvC,MAAA,EAAQ,CAAC,IAAA,KAA6B;AACxC;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"custom-column.vue2.js","sources":["../../../../../../packages/components/custom-column/src/custom-column.vue"],"sourcesContent":["<template>\n <el-button\n v-if=\"showHandler\"\n type=\"primary\"\n :class=\"[bem.b(), 'ep-button']\"\n size=\"small\"\n @click=\"open\"\n >{{ t('ep.customColumn.columnSettings') }}</el-button\n >\n <CustomColumnDialog>\n <el-transfer\n v-model=\"showData\"\n :class=\"bem.e('transfer')\"\n filterable\n :titles=\"[\n t('ep.customColumn.hiddenField'),\n t('ep.customColumn.visibleField'),\n ]\"\n :button-texts=\"[\n t('ep.customColumn.moveLeft'),\n t('ep.customColumn.moveRight'),\n ]\"\n :data=\"allData\"\n target-order=\"push\"\n @right-check-change=\"rightCheckChange\"\n @change=\"change\"\n >\n <template #left-footer>\n <div :class=\"bem.e('operate')\">\n <el-button\n type=\"primary\"\n class=\"up\"\n :disabled=\"isDiabledMoveUpDown\"\n @click=\"moveUp\"\n >\n <el-icon><arrow-up /></el-icon>\n {{ t('ep.customColumn.moveUp') }}\n </el-button>\n <el-button\n type=\"primary\"\n class=\"down\"\n :disabled=\"isDiabledMoveUpDown\"\n @click=\"moveDown\"\n >\n {{ t('ep.customColumn.moveDown') }}\n <el-icon><arrow-down /></el-icon>\n </el-button>\n </div>\n </template>\n </el-transfer>\n </CustomColumnDialog>\n</template>\n\n<script setup lang=\"tsx\">\nimport { ref, computed, watch, provide } from 'vue'\nimport { useDialog } from '@el-plus/hooks/dialog/use-dialog'\nimport { createNameSpace } from '@el-plus/utils/bem'\nimport { useLocale } from '@el-plus/hooks/use-locale'\nimport { ArrowUp, ArrowDown } from '@element-plus/icons-vue'\nimport { customColumnEmits, customColumnProps } from './custom-column'\nimport { useRequest } from '@el-plus/hooks/use-request'\nimport type { TransferDataItem } from 'element-plus'\nimport { bus } from '@el-plus/utils'\n\nconst { t } = useLocale()\nconst bem = createNameSpace('custom-column')\ndefineOptions({ name: 'EpCustomColumn', inheritAttrs: false })\nconst props = defineProps(customColumnProps)\nconst emit = defineEmits(customColumnEmits)\nconst CustomColumnDialog = useDialog({\n class: bem.e('dialog'),\n width: 850,\n center: true,\n title: t('ep.customColumn.columnSettings'),\n onConfirm: async (resolve) => {\n resolve(\n saveColumnsFn!({\n module: props.module,\n userModuleColumnsReqs: showData.value.map((item, index) => {\n return {\n columnId: item,\n seq: index,\n }\n }),\n }).then(() => {\n const columns = showTableColumns()\n emit('confirm', columns)\n bus.emit('loadedCustomColumn', columns)\n }),\n )\n },\n})\nconst allData = ref<TransferDataItem[]>([])\nconst showData = ref<TransferDataItem[]>([])\nif (typeof props.api === 'function') {\n console.warn(\n `请按照默认自定义列的格式返回数据,\n 格式为{\n hiddenColumns: [{id: '', showName: '', showField: ''}], \n showColumns: [{id: '', showName: '', showField: ''}]\n }\n `,\n )\n}\nconst { requestFn: getColumnsFn } = useRequest({\n api: props.api,\n method: 'post',\n hooks: {\n success(data) {\n const { hiddenColumns, showColumns } = data as {\n hiddenColumns: TransferDataItem[]\n showColumns: TransferDataItem[]\n }\n allData.value = [...hiddenColumns, ...showColumns].map((item) => ({\n label: item.showName,\n key: item.id,\n prop: item.showField,\n }))\n showData.value = showColumns.map((item) => item.id)\n const columns = showTableColumns()\n emit('loaded', columns)\n bus.emit('loadedCustomColumn', columns)\n },\n },\n})\nif (typeof props.saveApi === 'function') {\n console.warn(\n `请按照默认自定义列的格式提交数据,\n 格式为{\n module: xx,\n userModuleColumnsReqs: [{columnId: xx, seq: 序号index}]\n }\n `,\n )\n}\nconst { requestFn: saveColumnsFn } = useRequest({\n api: props.saveApi,\n method: 'post',\n hooks: {\n success() {\n emit('confirm', showTableColumns())\n },\n },\n})\nconst showTableColumns = () => {\n return showData.value.map((id) => {\n const item = allData.value.find((item) => item.key === id)\n return {\n prop: item!.prop,\n label: item!.label,\n key: item!.key,\n }\n })\n}\nif (props.module) {\n getColumnsFn!({\n module: props.module,\n })\n}\nconst rightChecked = ref([])\n\nconst moveUp = () => {\n const index = showData.value.indexOf(rightChecked.value[0])\n const temp = showData.value[index]\n if (index === 0) {\n showData.value[index] = showData.value[showData.value.length - 1]\n showData.value[showData.value.length - 1] = temp\n } else {\n showData.value[index] = showData.value[index - 1]\n showData.value[index - 1] = temp\n }\n scrollIntoView()\n}\nconst moveDown = () => {\n const index = showData.value.indexOf(rightChecked.value[0])\n const temp = showData.value[index]\n if (index === showData.value.length - 1) {\n showData.value[index] = showData.value[0]\n showData.value[0] = temp\n } else {\n showData.value[index] = showData.value[index + 1]\n showData.value[index + 1] = temp\n }\n scrollIntoView()\n}\nconst scrollIntoView = () => {\n // 选中项要在可视范围\n const checkedEl = document.querySelectorAll(\n '.ep-custom-column__transfer .el-transfer-panel',\n )\n const rightEl = checkedEl[1].querySelector(\n '.el-transfer-panel__item.is-checked',\n )\n if (rightEl) {\n requestAnimationFrame(() => {\n rightEl.scrollIntoView({\n behavior: 'smooth',\n block: 'center',\n })\n })\n }\n}\n\nconst rightCheckChange = (val) => {\n rightChecked.value = val\n}\nconst change = () => {\n if (!showData.value.some((item) => item === rightChecked.value[0])) {\n rightChecked.value = []\n }\n}\n\nconst isDiabledMoveUpDown = computed(() => {\n return rightChecked.value.length !== 1\n})\n\nconst open = async () => {\n try {\n await CustomColumnDialog.open()\n } catch (error) {}\n}\ndefineExpose({ open })\n</script>\n"],"names":["t","useLocale","bem","createNameSpace","props","__props","emit","__emit","CustomColumnDialog","useDialog","class","e","width","center","title","onConfirm","resolve","saveColumnsFn","module","userModuleColumnsReqs","showData","value","map","item","index","columnId","seq","then","columns","showTableColumns","bus","allData","ref","api","console","warn","requestFn","getColumnsFn","useRequest","method","hooks","success","data","hiddenColumns","showColumns","label","showName","key","id","prop","showField","saveApi","find","rightChecked","moveUp","indexOf","temp","length","scrollIntoView","moveDown","checkedEl","document","querySelectorAll","rightEl","querySelector","requestAnimationFrame","behavior","block","rightCheckChange","val","change","some","isDiabledMoveUpDown","computed","open","error","__expose","showHandler","_createBlock","_component_el_button","type","_normalizeClass","_unref","b","size","onClick","_createVNode","_component_el_transfer","$event","filterable","titles","onRightCheckChange","onChange","_createElementVNode","disabled","_component_el_icon","ArrowUp","_createTextVNode","_toDisplayString","ArrowDown"],"mappings":"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"}
1
+ {"version":3,"file":"custom-column.vue2.js","sources":["../../../../../../packages/components/custom-column/src/custom-column.vue"],"sourcesContent":["<template>\r\n <el-button\r\n v-if=\"showHandler\"\r\n type=\"primary\"\r\n :class=\"[bem.b(), 'ep-button']\"\r\n size=\"small\"\r\n @click=\"open\"\r\n >{{ t('ep.customColumn.columnSettings') }}</el-button\r\n >\r\n <CustomColumnDialog>\r\n <el-transfer\r\n v-model=\"showData\"\r\n :class=\"bem.e('transfer')\"\r\n filterable\r\n :titles=\"[\r\n t('ep.customColumn.hiddenField'),\r\n t('ep.customColumn.visibleField'),\r\n ]\"\r\n :button-texts=\"[\r\n t('ep.customColumn.moveLeft'),\r\n t('ep.customColumn.moveRight'),\r\n ]\"\r\n :data=\"allData\"\r\n target-order=\"push\"\r\n @right-check-change=\"rightCheckChange\"\r\n @change=\"change\"\r\n >\r\n <template #left-footer>\r\n <div :class=\"bem.e('operate')\">\r\n <el-button\r\n type=\"primary\"\r\n class=\"up\"\r\n :disabled=\"isDiabledMoveUpDown\"\r\n @click=\"moveUp\"\r\n >\r\n <el-icon><arrow-up /></el-icon>\r\n {{ t('ep.customColumn.moveUp') }}\r\n </el-button>\r\n <el-button\r\n type=\"primary\"\r\n class=\"down\"\r\n :disabled=\"isDiabledMoveUpDown\"\r\n @click=\"moveDown\"\r\n >\r\n {{ t('ep.customColumn.moveDown') }}\r\n <el-icon><arrow-down /></el-icon>\r\n </el-button>\r\n </div>\r\n </template>\r\n </el-transfer>\r\n </CustomColumnDialog>\r\n</template>\r\n\r\n<script setup lang=\"tsx\">\r\nimport { ref, computed, watch, provide } from 'vue'\r\nimport { useDialog } from '@el-plus/hooks/dialog/use-dialog'\r\nimport { createNameSpace } from '@el-plus/utils/bem'\r\nimport { useLocale } from '@el-plus/hooks/use-locale'\r\nimport { ArrowUp, ArrowDown } from '@element-plus/icons-vue'\r\nimport { customColumnEmits, customColumnProps } from './custom-column'\r\nimport { useRequest } from '@el-plus/hooks/use-request'\r\nimport type { TransferDataItem } from 'element-plus'\r\nimport { bus } from '@el-plus/utils'\r\n\r\nconst { t } = useLocale()\r\nconst bem = createNameSpace('custom-column')\r\ndefineOptions({ name: 'EpCustomColumn', inheritAttrs: false })\r\nconst props = defineProps(customColumnProps)\r\nconst emit = defineEmits(customColumnEmits)\r\nconst CustomColumnDialog = useDialog({\r\n class: bem.e('dialog'),\r\n width: 850,\r\n center: true,\r\n title: t('ep.customColumn.columnSettings'),\r\n onConfirm: async (resolve) => {\r\n resolve(\r\n saveColumnsFn!({\r\n module: props.module,\r\n userModuleColumnsReqs: showData.value.map((item, index) => {\r\n return {\r\n columnId: item,\r\n seq: index,\r\n }\r\n }),\r\n }).then(() => {\r\n const columns = showTableColumns()\r\n emit('confirm', columns)\r\n bus.emit('loadedCustomColumn', columns)\r\n }),\r\n )\r\n },\r\n})\r\nconst allData = ref<TransferDataItem[]>([])\r\nconst showData = ref<TransferDataItem[]>([])\r\nif (typeof props.api === 'function') {\r\n console.warn(\r\n `请按照默认自定义列的格式返回数据,\r\n 格式为{\r\n hiddenColumns: [{id: '', showName: '', showField: ''}], \r\n showColumns: [{id: '', showName: '', showField: ''}]\r\n }\r\n `,\r\n )\r\n}\r\nconst { requestFn: getColumnsFn } = useRequest({\r\n api: props.api,\r\n method: 'post',\r\n hooks: {\r\n success(data) {\r\n const { hiddenColumns, showColumns } = data as {\r\n hiddenColumns: TransferDataItem[]\r\n showColumns: TransferDataItem[]\r\n }\r\n allData.value = [...hiddenColumns, ...showColumns].map((item) => ({\r\n label: item.showName,\r\n key: item.id,\r\n prop: item.showField,\r\n }))\r\n showData.value = showColumns.map((item) => item.id)\r\n const columns = showTableColumns()\r\n emit('loaded', columns)\r\n bus.emit('loadedCustomColumn', columns)\r\n },\r\n },\r\n})\r\nif (typeof props.saveApi === 'function') {\r\n console.warn(\r\n `请按照默认自定义列的格式提交数据,\r\n 格式为{\r\n module: xx,\r\n userModuleColumnsReqs: [{columnId: xx, seq: 序号index}]\r\n }\r\n `,\r\n )\r\n}\r\nconst { requestFn: saveColumnsFn } = useRequest({\r\n api: props.saveApi,\r\n method: 'post',\r\n hooks: {\r\n success() {\r\n emit('confirm', showTableColumns())\r\n },\r\n },\r\n})\r\nconst showTableColumns = () => {\r\n return showData.value.map((id) => {\r\n const item = allData.value.find((item) => item.key === id)\r\n return {\r\n prop: item!.prop,\r\n label: item!.label,\r\n key: item!.key,\r\n }\r\n })\r\n}\r\nif (props.module) {\r\n getColumnsFn!({\r\n module: props.module,\r\n })\r\n}\r\nconst rightChecked = ref([])\r\n\r\nconst moveUp = () => {\r\n const index = showData.value.indexOf(rightChecked.value[0])\r\n const temp = showData.value[index]\r\n if (index === 0) {\r\n showData.value[index] = showData.value[showData.value.length - 1]\r\n showData.value[showData.value.length - 1] = temp\r\n } else {\r\n showData.value[index] = showData.value[index - 1]\r\n showData.value[index - 1] = temp\r\n }\r\n scrollIntoView()\r\n}\r\nconst moveDown = () => {\r\n const index = showData.value.indexOf(rightChecked.value[0])\r\n const temp = showData.value[index]\r\n if (index === showData.value.length - 1) {\r\n showData.value[index] = showData.value[0]\r\n showData.value[0] = temp\r\n } else {\r\n showData.value[index] = showData.value[index + 1]\r\n showData.value[index + 1] = temp\r\n }\r\n scrollIntoView()\r\n}\r\nconst scrollIntoView = () => {\r\n // 选中项要在可视范围\r\n const checkedEl = document.querySelectorAll(\r\n '.ep-custom-column__transfer .el-transfer-panel',\r\n )\r\n const rightEl = checkedEl[1].querySelector(\r\n '.el-transfer-panel__item.is-checked',\r\n )\r\n if (rightEl) {\r\n requestAnimationFrame(() => {\r\n rightEl.scrollIntoView({\r\n behavior: 'smooth',\r\n block: 'center',\r\n })\r\n })\r\n }\r\n}\r\n\r\nconst rightCheckChange = (val) => {\r\n rightChecked.value = val\r\n}\r\nconst change = () => {\r\n if (!showData.value.some((item) => item === rightChecked.value[0])) {\r\n rightChecked.value = []\r\n }\r\n}\r\n\r\nconst isDiabledMoveUpDown = computed(() => {\r\n return rightChecked.value.length !== 1\r\n})\r\n\r\nconst open = async () => {\r\n try {\r\n await CustomColumnDialog.open()\r\n } catch (error) {}\r\n}\r\ndefineExpose({ open })\r\n</script>\r\n"],"names":["t","useLocale","bem","createNameSpace","props","__props","emit","__emit","CustomColumnDialog","useDialog","class","e","width","center","title","onConfirm","resolve","saveColumnsFn","module","userModuleColumnsReqs","showData","value","map","item","index","columnId","seq","then","columns","showTableColumns","bus","allData","ref","api","console","warn","requestFn","getColumnsFn","useRequest","method","hooks","success","data","hiddenColumns","showColumns","label","showName","key","id","prop","showField","saveApi","find","rightChecked","moveUp","indexOf","temp","length","scrollIntoView","moveDown","checkedEl","document","querySelectorAll","rightEl","querySelector","requestAnimationFrame","behavior","block","rightCheckChange","val","change","some","isDiabledMoveUpDown","computed","open","error","__expose","showHandler","_createBlock","_component_el_button","type","_normalizeClass","_unref","b","size","onClick","_createVNode","_component_el_transfer","$event","filterable","titles","onRightCheckChange","onChange","_createElementVNode","disabled","_component_el_icon","ArrowUp","_createTextVNode","_toDisplayString","ArrowDown"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../packages/components/date-picker-range/index.ts"],"sourcesContent":["import DatePickerRange from './src/date-picker-range.vue'\nimport { withInstall } from '@el-plus/utils/with-install'\n\nexport const EpDatePickerRange = withInstall(DatePickerRange)\nexport default EpDatePickerRange\nexport * from './src/date-picker-range'\n"],"names":["withInstall","DatePickerRange"],"mappings":";;;;;;;;AAGO,MAAM,iBAAA,GAAoBA,wBAAYC,2DAAe;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../../../packages/components/date-picker-range/index.ts"],"sourcesContent":["import DatePickerRange from './src/date-picker-range.vue'\r\nimport { withInstall } from '@el-plus/utils/with-install'\r\n\r\nexport const EpDatePickerRange = withInstall(DatePickerRange)\r\nexport default EpDatePickerRange\r\nexport * from './src/date-picker-range'\r\n"],"names":["withInstall","DatePickerRange"],"mappings":";;;;;;;;AAGO,MAAM,iBAAA,GAAoBA,wBAAYC,2DAAe;;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"date-picker-range.js","sources":["../../../../../../packages/components/date-picker-range/src/date-picker-range.ts"],"sourcesContent":["import type { ExtractPropTypes } from 'vue'\nimport { datePickerProps as elDatePickerProps } from 'element-plus'\nimport type { DatePickerProps as ElDatePickerProps } from 'element-plus'\nimport { useLocale } from '@el-plus/hooks/use-locale'\nconst { t } = useLocale()\nexport const datePickerRangeProps = {\n ...elDatePickerProps,\n type: {\n ...elDatePickerProps.type,\n default: 'daterange',\n },\n valueFormat: {\n ...elDatePickerProps.valueFormat,\n default: 'x',\n },\n shortcuts: {\n ...elDatePickerProps.shortcuts,\n default: () => {\n return [\n {\n text: t('ep.datePickerRange.lastWeek'),\n value: () => {\n const end = new Date()\n const start = new Date()\n start.setTime(start.getTime() - 3600 * 1000 * 24 * 7)\n return [start, end]\n },\n },\n {\n text: t('ep.datePickerRange.lastMonth'),\n value: () => {\n const end = new Date()\n const start = new Date()\n start.setTime(start.getTime() - 3600 * 1000 * 24 * 30)\n return [start, end]\n },\n },\n {\n text: t('ep.datePickerRange.lastThreeMonth'),\n value: () => {\n const end = new Date()\n const start = new Date()\n start.setTime(start.getTime() - 3600 * 1000 * 24 * 90)\n return [start, end]\n },\n },\n ]\n },\n },\n rangeSeparator: {\n ...elDatePickerProps.rangeSeparator,\n default: '~',\n },\n startPlaceholder: {\n ...elDatePickerProps.startPlaceholder,\n default: () => {\n return t('ep.datePickerRange.startTime')\n },\n },\n endPlaceholder: {\n ...elDatePickerProps.endPlaceholder,\n default: () => {\n return t('ep.datePickerRange.endTime')\n },\n },\n size: {\n ...elDatePickerProps.size,\n default: 'default',\n },\n} as const\nexport type DatePickerRangeProps = ExtractPropTypes<typeof datePickerRangeProps>\nexport const datePickerRangeEmits = {}\nexport type DatePickerRangeEmits = typeof datePickerRangeEmits\n"],"names":["useLocale","elDatePickerProps"],"mappings":";;;;;AAIA,MAAM,EAAE,CAAA,EAAE,GAAIA,mBAAA,EAAU;AACjB,MAAM,oBAAA,GAAuB;AAAA,EAClC,GAAGC,2BAAA;AAAA,EACH,IAAA,EAAM;AAAA,IACJ,GAAGA,2BAAA,CAAkB,IAAA;AAAA,IACrB,OAAA,EAAS;AAAA,GACX;AAAA,EACA,WAAA,EAAa;AAAA,IACX,GAAGA,2BAAA,CAAkB,WAAA;AAAA,IACrB,OAAA,EAAS;AAAA,GACX;AAAA,EACA,SAAA,EAAW;AAAA,IACT,GAAGA,2BAAA,CAAkB,SAAA;AAAA,IACrB,SAAS,MAAM;AACb,MAAA,OAAO;AAAA,QACL;AAAA,UACE,IAAA,EAAM,EAAE,6BAA6B,CAAA;AAAA,UACrC,OAAO,MAAM;AACX,YAAA,MAAM,GAAA,uBAAU,IAAA,EAAK;AACrB,YAAA,MAAM,KAAA,uBAAY,IAAA,EAAK;AACvB,YAAA,KAAA,CAAM,QAAQ,KAAA,CAAM,OAAA,KAAY,IAAA,GAAO,GAAA,GAAO,KAAK,CAAC,CAAA;AACpD,YAAA,OAAO,CAAC,OAAO,GAAG,CAAA;AAAA,UACpB;AAAA,SACF;AAAA,QACA;AAAA,UACE,IAAA,EAAM,EAAE,8BAA8B,CAAA;AAAA,UACtC,OAAO,MAAM;AACX,YAAA,MAAM,GAAA,uBAAU,IAAA,EAAK;AACrB,YAAA,MAAM,KAAA,uBAAY,IAAA,EAAK;AACvB,YAAA,KAAA,CAAM,QAAQ,KAAA,CAAM,OAAA,KAAY,IAAA,GAAO,GAAA,GAAO,KAAK,EAAE,CAAA;AACrD,YAAA,OAAO,CAAC,OAAO,GAAG,CAAA;AAAA,UACpB;AAAA,SACF;AAAA,QACA;AAAA,UACE,IAAA,EAAM,EAAE,mCAAmC,CAAA;AAAA,UAC3C,OAAO,MAAM;AACX,YAAA,MAAM,GAAA,uBAAU,IAAA,EAAK;AACrB,YAAA,MAAM,KAAA,uBAAY,IAAA,EAAK;AACvB,YAAA,KAAA,CAAM,QAAQ,KAAA,CAAM,OAAA,KAAY,IAAA,GAAO,GAAA,GAAO,KAAK,EAAE,CAAA;AACrD,YAAA,OAAO,CAAC,OAAO,GAAG,CAAA;AAAA,UACpB;AAAA;AACF,OACF;AAAA,IACF;AAAA,GACF;AAAA,EACA,cAAA,EAAgB;AAAA,IACd,GAAGA,2BAAA,CAAkB,cAAA;AAAA,IACrB,OAAA,EAAS;AAAA,GACX;AAAA,EACA,gBAAA,EAAkB;AAAA,IAChB,GAAGA,2BAAA,CAAkB,gBAAA;AAAA,IACrB,SAAS,MAAM;AACb,MAAA,OAAO,EAAE,8BAA8B,CAAA;AAAA,IACzC;AAAA,GACF;AAAA,EACA,cAAA,EAAgB;AAAA,IACd,GAAGA,2BAAA,CAAkB,cAAA;AAAA,IACrB,SAAS,MAAM;AACb,MAAA,OAAO,EAAE,4BAA4B,CAAA;AAAA,IACvC;AAAA,GACF;AAAA,EACA,IAAA,EAAM;AAAA,IACJ,GAAGA,2BAAA,CAAkB,IAAA;AAAA,IACrB,OAAA,EAAS;AAAA;AAEb;AAEO,MAAM,uBAAuB;;;;;"}
1
+ {"version":3,"file":"date-picker-range.js","sources":["../../../../../../packages/components/date-picker-range/src/date-picker-range.ts"],"sourcesContent":["import type { ExtractPropTypes } from 'vue'\r\nimport { datePickerProps as elDatePickerProps } from 'element-plus'\r\nimport type { DatePickerProps as ElDatePickerProps } from 'element-plus'\r\nimport { useLocale } from '@el-plus/hooks/use-locale'\r\nconst { t } = useLocale()\r\nexport const datePickerRangeProps = {\r\n ...elDatePickerProps,\r\n type: {\r\n ...elDatePickerProps.type,\r\n default: 'daterange',\r\n },\r\n valueFormat: {\r\n ...elDatePickerProps.valueFormat,\r\n default: 'x',\r\n },\r\n shortcuts: {\r\n ...elDatePickerProps.shortcuts,\r\n default: () => {\r\n return [\r\n {\r\n text: t('ep.datePickerRange.lastWeek'),\r\n value: () => {\r\n const end = new Date()\r\n const start = new Date()\r\n start.setTime(start.getTime() - 3600 * 1000 * 24 * 7)\r\n return [start, end]\r\n },\r\n },\r\n {\r\n text: t('ep.datePickerRange.lastMonth'),\r\n value: () => {\r\n const end = new Date()\r\n const start = new Date()\r\n start.setTime(start.getTime() - 3600 * 1000 * 24 * 30)\r\n return [start, end]\r\n },\r\n },\r\n {\r\n text: t('ep.datePickerRange.lastThreeMonth'),\r\n value: () => {\r\n const end = new Date()\r\n const start = new Date()\r\n start.setTime(start.getTime() - 3600 * 1000 * 24 * 90)\r\n return [start, end]\r\n },\r\n },\r\n ]\r\n },\r\n },\r\n rangeSeparator: {\r\n ...elDatePickerProps.rangeSeparator,\r\n default: '~',\r\n },\r\n startPlaceholder: {\r\n ...elDatePickerProps.startPlaceholder,\r\n default: () => {\r\n return t('ep.datePickerRange.startTime')\r\n },\r\n },\r\n endPlaceholder: {\r\n ...elDatePickerProps.endPlaceholder,\r\n default: () => {\r\n return t('ep.datePickerRange.endTime')\r\n },\r\n },\r\n size: {\r\n ...elDatePickerProps.size,\r\n default: 'default',\r\n },\r\n} as const\r\nexport type DatePickerRangeProps = ExtractPropTypes<typeof datePickerRangeProps>\r\nexport const datePickerRangeEmits = {}\r\nexport type DatePickerRangeEmits = typeof datePickerRangeEmits\r\n"],"names":["useLocale","elDatePickerProps"],"mappings":";;;;;AAIA,MAAM,EAAE,CAAA,EAAE,GAAIA,mBAAA,EAAU;AACjB,MAAM,oBAAA,GAAuB;AAAA,EAClC,GAAGC,2BAAA;AAAA,EACH,IAAA,EAAM;AAAA,IACJ,GAAGA,2BAAA,CAAkB,IAAA;AAAA,IACrB,OAAA,EAAS;AAAA,GACX;AAAA,EACA,WAAA,EAAa;AAAA,IACX,GAAGA,2BAAA,CAAkB,WAAA;AAAA,IACrB,OAAA,EAAS;AAAA,GACX;AAAA,EACA,SAAA,EAAW;AAAA,IACT,GAAGA,2BAAA,CAAkB,SAAA;AAAA,IACrB,SAAS,MAAM;AACb,MAAA,OAAO;AAAA,QACL;AAAA,UACE,IAAA,EAAM,EAAE,6BAA6B,CAAA;AAAA,UACrC,OAAO,MAAM;AACX,YAAA,MAAM,GAAA,uBAAU,IAAA,EAAK;AACrB,YAAA,MAAM,KAAA,uBAAY,IAAA,EAAK;AACvB,YAAA,KAAA,CAAM,QAAQ,KAAA,CAAM,OAAA,KAAY,IAAA,GAAO,GAAA,GAAO,KAAK,CAAC,CAAA;AACpD,YAAA,OAAO,CAAC,OAAO,GAAG,CAAA;AAAA,UACpB;AAAA,SACF;AAAA,QACA;AAAA,UACE,IAAA,EAAM,EAAE,8BAA8B,CAAA;AAAA,UACtC,OAAO,MAAM;AACX,YAAA,MAAM,GAAA,uBAAU,IAAA,EAAK;AACrB,YAAA,MAAM,KAAA,uBAAY,IAAA,EAAK;AACvB,YAAA,KAAA,CAAM,QAAQ,KAAA,CAAM,OAAA,KAAY,IAAA,GAAO,GAAA,GAAO,KAAK,EAAE,CAAA;AACrD,YAAA,OAAO,CAAC,OAAO,GAAG,CAAA;AAAA,UACpB;AAAA,SACF;AAAA,QACA;AAAA,UACE,IAAA,EAAM,EAAE,mCAAmC,CAAA;AAAA,UAC3C,OAAO,MAAM;AACX,YAAA,MAAM,GAAA,uBAAU,IAAA,EAAK;AACrB,YAAA,MAAM,KAAA,uBAAY,IAAA,EAAK;AACvB,YAAA,KAAA,CAAM,QAAQ,KAAA,CAAM,OAAA,KAAY,IAAA,GAAO,GAAA,GAAO,KAAK,EAAE,CAAA;AACrD,YAAA,OAAO,CAAC,OAAO,GAAG,CAAA;AAAA,UACpB;AAAA;AACF,OACF;AAAA,IACF;AAAA,GACF;AAAA,EACA,cAAA,EAAgB;AAAA,IACd,GAAGA,2BAAA,CAAkB,cAAA;AAAA,IACrB,OAAA,EAAS;AAAA,GACX;AAAA,EACA,gBAAA,EAAkB;AAAA,IAChB,GAAGA,2BAAA,CAAkB,gBAAA;AAAA,IACrB,SAAS,MAAM;AACb,MAAA,OAAO,EAAE,8BAA8B,CAAA;AAAA,IACzC;AAAA,GACF;AAAA,EACA,cAAA,EAAgB;AAAA,IACd,GAAGA,2BAAA,CAAkB,cAAA;AAAA,IACrB,SAAS,MAAM;AACb,MAAA,OAAO,EAAE,4BAA4B,CAAA;AAAA,IACvC;AAAA,GACF;AAAA,EACA,IAAA,EAAM;AAAA,IACJ,GAAGA,2BAAA,CAAkB,IAAA;AAAA,IACrB,OAAA,EAAS;AAAA;AAEb;AAEO,MAAM,uBAAuB;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"date-picker-range.vue2.js","sources":["../../../../../../packages/components/date-picker-range/src/date-picker-range.vue"],"sourcesContent":["<template>\n <el-date-picker\n v-model=\"value\"\n :class=\"`${bem.b()} ${prepareClassNames()}`\"\n :style=\"{\n ...prepareStyles(),\n }\"\n v-bind=\"customAttrs\"\n />\n</template>\n<script setup lang=\"ts\">\nimport { computed, useSlots, watch, ref, onMounted } from 'vue'\nimport { createNameSpace } from '@el-plus/utils/bem'\nimport { datePickerRangeProps, datePickerRangeEmits } from './date-picker-range'\nimport type {\n DatePickerRangeProps,\n DatePickerRangeEmits,\n} from './date-picker-range'\nimport {\n prepareProps,\n prepareEvents,\n prepareClassNames,\n prepareStyles,\n} from '@el-plus/utils/props'\n\ndefineOptions({\n name: 'EpDatePickerRange',\n inheritAttrs: false,\n})\nconst bem = createNameSpace('datePickerRange')\nconst props = defineProps(datePickerRangeProps)\nconst emit = defineEmits(datePickerRangeEmits)\nconst slots = computed(() => {\n return Object.keys(useSlots())\n})\nconst value = defineModel<DatePickerRangeProps['modelValue']>()\nconst start = defineModel<DatePickerRangeProps['modelValue']>('start')\nconst end = defineModel<DatePickerRangeProps['modelValue']>('end')\nwatch(\n value,\n (newValue) => {\n if (props.type === 'daterange') {\n if (newValue && newValue[1]) {\n const endDate = new Date(newValue[1])\n newValue[1] = endDate.setHours(23, 59, 59, 0)\n }\n start.value = newValue ? newValue[0] : ''\n end.value = newValue ? newValue[1] : ''\n }\n },\n {\n immediate: true,\n },\n)\nconst customAttrs = computed(() => {\n return {\n ...prepareProps(props, ['modelValue']),\n // ...prepareEvents<InputEmits>(emit, inputEmitsKeys),\n }\n})\n</script>\n"],"names":["bem","createNameSpace","props","computed","useSlots","_useModel","watch","prepareProps","_openBlock","_createBlock","_mergeProps","_unref","prepareClassNames","prepareStyles"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AA6BA,IAAA,MAAMA,KAAA,GAAMC,oBAAgB,iBAAiB,CAAA;AAC7C,IAAA,MAAMC,OAAA,GAAQ,OAAA;AAEd,IAAcC,aAAS,MAAM;AAC3B,MAAA,OAAO,MAAA,CAAO,IAAA,CAAKC,YAAA,EAAU,CAAA;AAAA,IAC/B,CAAC;AACD,IAAA,MAAM,KAAA,GAAQC,YAAA,CAA+C,OAAA,EAAA,YAAC,CAAA;AAC9D,IAAA,MAAM,KAAA,GAAQA,YAAA,CAA+C,OAAA,EAAC,OAAO,CAAA;AACrE,IAAA,MAAM,GAAA,GAAMA,YAAA,CAA+C,OAAA,EAAC,KAAK,CAAA;AACjE,IAAAC,SAAA;AAAA,MACE,KAAA;AAAA,MACA,CAAC,QAAA,KAAa;AACZ,QAAA,IAAIJ,OAAA,CAAM,SAAS,WAAA,EAAa;AAC9B,UAAA,IAAI,QAAA,IAAY,QAAA,CAAS,CAAC,CAAA,EAAG;AAC3B,YAAA,MAAM,OAAA,GAAU,IAAI,IAAA,CAAK,QAAA,CAAS,CAAC,CAAC,CAAA;AACpC,YAAA,QAAA,CAAS,CAAC,CAAA,GAAI,OAAA,CAAQ,SAAS,EAAA,EAAI,EAAA,EAAI,IAAI,CAAC,CAAA;AAAA,UAC9C;AACA,UAAA,KAAA,CAAM,KAAA,GAAQ,QAAA,GAAW,QAAA,CAAS,CAAC,CAAA,GAAI,EAAA;AACvC,UAAA,GAAA,CAAI,KAAA,GAAQ,QAAA,GAAW,QAAA,CAAS,CAAC,CAAA,GAAI,EAAA;AAAA,QACvC;AAAA,MACF,CAAA;AAAA,MACA;AAAA,QACE,SAAA,EAAW;AAAA;AACb,KACF;AACA,IAAA,MAAM,WAAA,GAAcC,aAAS,MAAM;AACjC,MAAA,OAAO;AAAA,QACL,GAAGI,kBAAA,CAAaL,OAAA,EAAO,CAAC,YAAY,CAAC;AAAA;AAAA,OAEvC;AAAA,IACF,CAAC,CAAA;;;AA1DC,MAAA,OAAAM,aAAA,EAAA,EAAAC,eAAA,CAOE,yBAAA,EAPFC,cAAA,CAOE;AAAA,oBANS,KAAA,CAAA,KAAA;AAAA,2CAAA,KAAA,CAAK,KAAA,GAAA,MAAA;AAAA,QACb,KAAA,EAAK,CAAA,EAAKC,SAAA,CAAAX,KAAA,CAAA,CAAI,CAAA,MAAOW,SAAA,CAAAC,uBAAA,CAAA,EAAiB,CAAA,CAAA;AAAA,QACtC,KAAA,EAAK;AAAA,aAAaD,SAAA,CAAAE,mBAAA,CAAA;AAAa;SAGxB,WAAA,CAAA,KAAW,CAAA,EAAA,IAAA,EAAA,EAAA,EAAA,CAAA,YAAA,EAAA,qBAAA,EAAA,OAAA,EAAA,OAAA,CAAA,CAAA;AAAA;;;;;;"}
1
+ {"version":3,"file":"date-picker-range.vue2.js","sources":["../../../../../../packages/components/date-picker-range/src/date-picker-range.vue"],"sourcesContent":["<template>\r\n <el-date-picker\r\n v-model=\"value\"\r\n :class=\"`${bem.b()} ${prepareClassNames()}`\"\r\n :style=\"{\r\n ...prepareStyles(),\r\n }\"\r\n v-bind=\"customAttrs\"\r\n />\r\n</template>\r\n<script setup lang=\"ts\">\r\nimport { computed, useSlots, watch, ref, onMounted } from 'vue'\r\nimport { createNameSpace } from '@el-plus/utils/bem'\r\nimport { datePickerRangeProps, datePickerRangeEmits } from './date-picker-range'\r\nimport type {\r\n DatePickerRangeProps,\r\n DatePickerRangeEmits,\r\n} from './date-picker-range'\r\nimport {\r\n prepareProps,\r\n prepareEvents,\r\n prepareClassNames,\r\n prepareStyles,\r\n} from '@el-plus/utils/props'\r\n\r\ndefineOptions({\r\n name: 'EpDatePickerRange',\r\n inheritAttrs: false,\r\n})\r\nconst bem = createNameSpace('datePickerRange')\r\nconst props = defineProps(datePickerRangeProps)\r\nconst emit = defineEmits(datePickerRangeEmits)\r\nconst slots = computed(() => {\r\n return Object.keys(useSlots())\r\n})\r\nconst value = defineModel<DatePickerRangeProps['modelValue']>()\r\nconst start = defineModel<DatePickerRangeProps['modelValue']>('start')\r\nconst end = defineModel<DatePickerRangeProps['modelValue']>('end')\r\nwatch(\r\n value,\r\n (newValue) => {\r\n if (props.type === 'daterange') {\r\n if (newValue && newValue[1]) {\r\n const endDate = new Date(newValue[1])\r\n newValue[1] = endDate.setHours(23, 59, 59, 0)\r\n }\r\n start.value = newValue ? newValue[0] : ''\r\n end.value = newValue ? newValue[1] : ''\r\n }\r\n },\r\n {\r\n immediate: true,\r\n },\r\n)\r\nconst customAttrs = computed(() => {\r\n return {\r\n ...prepareProps(props, ['modelValue']),\r\n // ...prepareEvents<InputEmits>(emit, inputEmitsKeys),\r\n }\r\n})\r\n</script>\r\n"],"names":["bem","createNameSpace","props","computed","useSlots","_useModel","watch","prepareProps","_openBlock","_createBlock","_mergeProps","_unref","prepareClassNames","prepareStyles"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AA6BA,IAAA,MAAMA,KAAA,GAAMC,oBAAgB,iBAAiB,CAAA;AAC7C,IAAA,MAAMC,OAAA,GAAQ,OAAA;AAEd,IAAcC,aAAS,MAAM;AAC3B,MAAA,OAAO,MAAA,CAAO,IAAA,CAAKC,YAAA,EAAU,CAAA;AAAA,IAC/B,CAAC;AACD,IAAA,MAAM,KAAA,GAAQC,YAAA,CAA+C,OAAA,EAAA,YAAC,CAAA;AAC9D,IAAA,MAAM,KAAA,GAAQA,YAAA,CAA+C,OAAA,EAAC,OAAO,CAAA;AACrE,IAAA,MAAM,GAAA,GAAMA,YAAA,CAA+C,OAAA,EAAC,KAAK,CAAA;AACjE,IAAAC,SAAA;AAAA,MACE,KAAA;AAAA,MACA,CAAC,QAAA,KAAa;AACZ,QAAA,IAAIJ,OAAA,CAAM,SAAS,WAAA,EAAa;AAC9B,UAAA,IAAI,QAAA,IAAY,QAAA,CAAS,CAAC,CAAA,EAAG;AAC3B,YAAA,MAAM,OAAA,GAAU,IAAI,IAAA,CAAK,QAAA,CAAS,CAAC,CAAC,CAAA;AACpC,YAAA,QAAA,CAAS,CAAC,CAAA,GAAI,OAAA,CAAQ,SAAS,EAAA,EAAI,EAAA,EAAI,IAAI,CAAC,CAAA;AAAA,UAC9C;AACA,UAAA,KAAA,CAAM,KAAA,GAAQ,QAAA,GAAW,QAAA,CAAS,CAAC,CAAA,GAAI,EAAA;AACvC,UAAA,GAAA,CAAI,KAAA,GAAQ,QAAA,GAAW,QAAA,CAAS,CAAC,CAAA,GAAI,EAAA;AAAA,QACvC;AAAA,MACF,CAAA;AAAA,MACA;AAAA,QACE,SAAA,EAAW;AAAA;AACb,KACF;AACA,IAAA,MAAM,WAAA,GAAcC,aAAS,MAAM;AACjC,MAAA,OAAO;AAAA,QACL,GAAGI,kBAAA,CAAaL,OAAA,EAAO,CAAC,YAAY,CAAC;AAAA;AAAA,OAEvC;AAAA,IACF,CAAC,CAAA;;;AA1DC,MAAA,OAAAM,aAAA,EAAA,EAAAC,eAAA,CAOE,yBAAA,EAPFC,cAAA,CAOE;AAAA,oBANS,KAAA,CAAA,KAAA;AAAA,2CAAA,KAAA,CAAK,KAAA,GAAA,MAAA;AAAA,QACb,KAAA,EAAK,CAAA,EAAKC,SAAA,CAAAX,KAAA,CAAA,CAAI,CAAA,MAAOW,SAAA,CAAAC,uBAAA,CAAA,EAAiB,CAAA,CAAA;AAAA,QACtC,KAAA,EAAK;AAAA,aAAcD,SAAA,CAAAE,mBAAA,CAAA;AAAa;SAGzB,WAAA,CAAA,KAAW,CAAA,EAAA,IAAA,EAAA,EAAA,EAAA,CAAA,YAAA,EAAA,qBAAA,EAAA,OAAA,EAAA,OAAA,CAAA,CAAA;AAAA;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../packages/components/footer-info/index.ts"],"sourcesContent":["import FooterInfo from './src/footer-info.vue'\nimport { withInstall } from '@el-plus/utils/with-install'\n\nexport const EpFooterInfo = withInstall(FooterInfo)\nexport default EpFooterInfo\nexport * from './src/footer-info'\n"],"names":["withInstall","FooterInfo"],"mappings":";;;;;;;;AAGO,MAAM,YAAA,GAAeA,wBAAYC,sDAAU;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../../../packages/components/footer-info/index.ts"],"sourcesContent":["import FooterInfo from './src/footer-info.vue'\r\nimport { withInstall } from '@el-plus/utils/with-install'\r\n\r\nexport const EpFooterInfo = withInstall(FooterInfo)\r\nexport default EpFooterInfo\r\nexport * from './src/footer-info'\r\n"],"names":["withInstall","FooterInfo"],"mappings":";;;;;;;;AAGO,MAAM,YAAA,GAAeA,wBAAYC,sDAAU;;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"footer-info.js","sources":["../../../../../../packages/components/footer-info/src/footer-info.ts"],"sourcesContent":["import type { ExtractPublicPropTypes } from 'vue'\nimport {getUnifyTime} from '@el-plus/utils/time'\nexport interface FooterInfoFieldConfig {\n name: string\n prop: string\n formatter?: (value: any, modelValue: any) => string\n}\n\nexport const defaultFields: FooterInfoFieldConfig[] = [\n {\n name: '制单人',\n prop: 'creator',\n formatter: (value, modelValue) => `${modelValue.creator}/${modelValue.creatorName}`,\n },\n {\n name: '创建时间',\n prop: 'createTime',\n // 如果有createTimestamp,用createTimestamp格式化\n formatter: (value, modelValue) =>\n modelValue.createTimestamp\n ? getUnifyTime(modelValue.createTimestamp,'time')\n : value,\n },\n {\n name: '最新修改人',\n prop: 'editor',\n formatter: (value, modelValue) => `${modelValue.editor}/${modelValue.editorName}`,\n },\n {\n name: '最新修改时间',\n prop: 'editTime',\n // 如果有editTimestamp,用editTimestamp格式化\n formatter: (value, modelValue) =>\n modelValue.editTimestamp\n ? getUnifyTime(modelValue.editTimestamp,'time')\n : value,\n },\n]\n\n\nexport interface FooterInfoFieldMap {\n [key: string]:\n | ((value: any, modelValue: any) => string)\n | {\n name?: string\n formatter: (value: any, modelValue: any) => string\n }\n}\n\nexport const footerInfoProps = {\n modelValue: {\n type: Object as () => Record<string, any>,\n default: () => ({}),\n },\n list: {\n type: Array as () => FooterInfoFieldConfig[],\n default: () => defaultFields,\n },\n fieldMap: {\n type: Object as () => FooterInfoFieldMap,\n default: () => ({}),\n },\n} as const\n\nexport type FooterInfoProps = ExtractPublicPropTypes<typeof footerInfoProps>\n"],"names":["getUnifyTime"],"mappings":";;;;AAQO,MAAM,aAAA,GAAyC;AAAA,EACpD;AAAA,IACE,IAAA,EAAM,oBAAA;AAAA,IACN,IAAA,EAAM,SAAA;AAAA,IACN,SAAA,EAAW,CAAC,KAAA,EAAO,UAAA,KAAe,GAAG,UAAA,CAAW,OAAO,CAAA,CAAA,EAAI,UAAA,CAAW,WAAW,CAAA;AAAA,GACnF;AAAA,EACA;AAAA,IACE,IAAA,EAAM,0BAAA;AAAA,IACN,IAAA,EAAM,YAAA;AAAA;AAAA,IAEN,SAAA,EAAW,CAAC,KAAA,EAAO,UAAA,KACjB,UAAA,CAAW,kBACPA,iBAAA,CAAa,UAAA,CAAW,eAAA,EAAgB,MAAM,CAAA,GAC9C;AAAA,GACR;AAAA,EACA;AAAA,IACE,IAAA,EAAM,gCAAA;AAAA,IACN,IAAA,EAAM,QAAA;AAAA,IACN,SAAA,EAAW,CAAC,KAAA,EAAO,UAAA,KAAe,GAAG,UAAA,CAAW,MAAM,CAAA,CAAA,EAAI,UAAA,CAAW,UAAU,CAAA;AAAA,GACjF;AAAA,EACA;AAAA,IACE,IAAA,EAAM,sCAAA;AAAA,IACN,IAAA,EAAM,UAAA;AAAA;AAAA,IAEN,SAAA,EAAW,CAAC,KAAA,EAAO,UAAA,KACjB,UAAA,CAAW,gBACPA,iBAAA,CAAa,UAAA,CAAW,aAAA,EAAc,MAAM,CAAA,GAC5C;AAAA;AAEV;AAYO,MAAM,eAAA,GAAkB;AAAA,EAC7B,UAAA,EAAY;AAAA,IACV,IAAA,EAAM,MAAA;AAAA,IACN,OAAA,EAAS,OAAO,EAAC;AAAA,GACnB;AAAA,EACA,IAAA,EAAM;AAAA,IACJ,IAAA,EAAM,KAAA;AAAA,IACN,SAAS,MAAM;AAAA,GACjB;AAAA,EACA,QAAA,EAAU;AAAA,IACR,IAAA,EAAM,MAAA;AAAA,IACN,OAAA,EAAS,OAAO,EAAC;AAAA;AAErB;;;;;"}
1
+ {"version":3,"file":"footer-info.js","sources":["../../../../../../packages/components/footer-info/src/footer-info.ts"],"sourcesContent":["import type { ExtractPublicPropTypes } from 'vue'\r\nimport {getUnifyTime} from '@el-plus/utils/time'\r\nexport interface FooterInfoFieldConfig {\r\n name: string\r\n prop: string\r\n formatter?: (value: any, modelValue: any) => string\r\n}\r\n\r\nexport const defaultFields: FooterInfoFieldConfig[] = [\r\n {\r\n name: '制单人',\r\n prop: 'creator',\r\n formatter: (value, modelValue) => `${modelValue.creator}/${modelValue.creatorName}`,\r\n },\r\n {\r\n name: '创建时间',\r\n prop: 'createTime',\r\n // 如果有createTimestamp,用createTimestamp格式化\r\n formatter: (value, modelValue) =>\r\n modelValue.createTimestamp\r\n ? getUnifyTime(modelValue.createTimestamp,'time')\r\n : value,\r\n },\r\n {\r\n name: '最新修改人',\r\n prop: 'editor',\r\n formatter: (value, modelValue) => `${modelValue.editor}/${modelValue.editorName}`,\r\n },\r\n {\r\n name: '最新修改时间',\r\n prop: 'editTime',\r\n // 如果有editTimestamp,用editTimestamp格式化\r\n formatter: (value, modelValue) =>\r\n modelValue.editTimestamp\r\n ? getUnifyTime(modelValue.editTimestamp,'time')\r\n : value,\r\n },\r\n]\r\n\r\n\r\nexport interface FooterInfoFieldMap {\r\n [key: string]:\r\n | ((value: any, modelValue: any) => string)\r\n | {\r\n name?: string\r\n formatter: (value: any, modelValue: any) => string\r\n }\r\n}\r\n\r\nexport const footerInfoProps = {\r\n modelValue: {\r\n type: Object as () => Record<string, any>,\r\n default: () => ({}),\r\n },\r\n list: {\r\n type: Array as () => FooterInfoFieldConfig[],\r\n default: () => defaultFields,\r\n },\r\n fieldMap: {\r\n type: Object as () => FooterInfoFieldMap,\r\n default: () => ({}),\r\n },\r\n} as const\r\n\r\nexport type FooterInfoProps = ExtractPublicPropTypes<typeof footerInfoProps>\r\n"],"names":["getUnifyTime"],"mappings":";;;;AAQO,MAAM,aAAA,GAAyC;AAAA,EACpD;AAAA,IACE,IAAA,EAAM,oBAAA;AAAA,IACN,IAAA,EAAM,SAAA;AAAA,IACN,SAAA,EAAW,CAAC,KAAA,EAAO,UAAA,KAAe,GAAG,UAAA,CAAW,OAAO,CAAA,CAAA,EAAI,UAAA,CAAW,WAAW,CAAA;AAAA,GACnF;AAAA,EACA;AAAA,IACE,IAAA,EAAM,0BAAA;AAAA,IACN,IAAA,EAAM,YAAA;AAAA;AAAA,IAEN,SAAA,EAAW,CAAC,KAAA,EAAO,UAAA,KACjB,UAAA,CAAW,kBACPA,iBAAA,CAAa,UAAA,CAAW,eAAA,EAAgB,MAAM,CAAA,GAC9C;AAAA,GACR;AAAA,EACA;AAAA,IACE,IAAA,EAAM,gCAAA;AAAA,IACN,IAAA,EAAM,QAAA;AAAA,IACN,SAAA,EAAW,CAAC,KAAA,EAAO,UAAA,KAAe,GAAG,UAAA,CAAW,MAAM,CAAA,CAAA,EAAI,UAAA,CAAW,UAAU,CAAA;AAAA,GACjF;AAAA,EACA;AAAA,IACE,IAAA,EAAM,sCAAA;AAAA,IACN,IAAA,EAAM,UAAA;AAAA;AAAA,IAEN,SAAA,EAAW,CAAC,KAAA,EAAO,UAAA,KACjB,UAAA,CAAW,gBACPA,iBAAA,CAAa,UAAA,CAAW,aAAA,EAAc,MAAM,CAAA,GAC5C;AAAA;AAEV;AAYO,MAAM,eAAA,GAAkB;AAAA,EAC7B,UAAA,EAAY;AAAA,IACV,IAAA,EAAM,MAAA;AAAA,IACN,OAAA,EAAS,OAAO,EAAC;AAAA,GACnB;AAAA,EACA,IAAA,EAAM;AAAA,IACJ,IAAA,EAAM,KAAA;AAAA,IACN,SAAS,MAAM;AAAA,GACjB;AAAA,EACA,QAAA,EAAU;AAAA,IACR,IAAA,EAAM,MAAA;AAAA,IACN,OAAA,EAAS,OAAO,EAAC;AAAA;AAErB;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"footer-info.vue2.js","sources":["../../../../../../packages/components/footer-info/src/footer-info.vue"],"sourcesContent":["<template>\n <div :class=\"[bem.b(), prepareClassNames()]\" :style=\"{ ...prepareStyles() }\">\n <div v-for=\"(field, index) in list\" :key=\"index\" :class=\"bem.e('item')\">\n <span :class=\"bem.e('label')\">{{ getFieldName(field) }}</span>\n <span :class=\"bem.e('value')\">{{ getFieldValue(field) }}</span>\n </div>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport { computed } from 'vue'\nimport { createNameSpace } from '@el-plus/utils/bem'\nimport { footerInfoProps, type FooterInfoFieldConfig } from './footer-info'\nimport { prepareClassNames, prepareStyles } from '@el-plus/utils/props'\n\ndefineOptions({\n name: 'EpFooterInfo',\n inheritAttrs: false,\n})\n\nconst bem = createNameSpace('footer-info')\nconst props = defineProps(footerInfoProps)\n\nconst getFieldName = (field: FooterInfoFieldConfig) => {\n const fieldMapValue = props.fieldMap[field.prop]\n if (\n fieldMapValue &&\n typeof fieldMapValue === 'object' &&\n 'name' in fieldMapValue\n ) {\n return fieldMapValue.name || field.name\n }\n return field.name\n}\n\nconst getFieldValue = (field: FooterInfoFieldConfig) => {\n const fieldMapValue = props.fieldMap[field.prop]\n if (fieldMapValue) {\n if (typeof fieldMapValue === 'function') {\n return fieldMapValue(props.modelValue[field.prop], props.modelValue)\n }\n if (typeof fieldMapValue === 'object' && 'formatter' in fieldMapValue) {\n return fieldMapValue.formatter(\n props.modelValue[field.prop],\n props.modelValue,\n )\n }\n }\n if (field.formatter) {\n return field.formatter(props.modelValue[field.prop], props.modelValue)\n }\n return props.modelValue[field.prop] || ''\n}\n</script>\n"],"names":["bem","createNameSpace","props","_createElementBlock","_normalizeClass","_unref","prepareClassNames","prepareStyles","_openBlock","_Fragment","_renderList","list","_createElementVNode","_toDisplayString"],"mappings":";;;;;;;;;;;;;;;;;AAoBA,IAAA,MAAMA,KAAA,GAAMC,oBAAgB,aAAa,CAAA;AACzC,IAAA,MAAMC,OAAA,GAAQ,OAAA;AAEd,IAAA,MAAM,YAAA,GAAe,CAAC,KAAA,KAAiC;AACrD,MAAA,MAAM,aAAA,GAAgBA,OAAA,CAAM,QAAA,CAAS,KAAA,CAAM,IAAI,CAAA;AAC/C,MAAA,IACE,aAAA,IACA,OAAO,aAAA,KAAkB,QAAA,IACzB,UAAU,aAAA,EACV;AACA,QAAA,OAAO,aAAA,CAAc,QAAQ,KAAA,CAAM,IAAA;AAAA,MACrC;AACA,MAAA,OAAO,KAAA,CAAM,IAAA;AAAA,IACf,CAAA;AAEA,IAAA,MAAM,aAAA,GAAgB,CAAC,KAAA,KAAiC;AACtD,MAAA,MAAM,aAAA,GAAgBA,OAAA,CAAM,QAAA,CAAS,KAAA,CAAM,IAAI,CAAA;AAC/C,MAAA,IAAI,aAAA,EAAe;AACjB,QAAA,IAAI,OAAO,kBAAkB,UAAA,EAAY;AACvC,UAAA,OAAO,cAAcA,OAAA,CAAM,UAAA,CAAW,MAAM,IAAI,CAAA,EAAGA,QAAM,UAAU,CAAA;AAAA,QACrE;AACA,QAAA,IAAI,OAAO,aAAA,KAAkB,QAAA,IAAY,WAAA,IAAe,aAAA,EAAe;AACrE,UAAA,OAAO,aAAA,CAAc,SAAA;AAAA,YACnBA,OAAA,CAAM,UAAA,CAAW,KAAA,CAAM,IAAI,CAAA;AAAA,YAC3BA,OAAA,CAAM;AAAA,WACR;AAAA,QACF;AAAA,MACF;AACA,MAAA,IAAI,MAAM,SAAA,EAAW;AACnB,QAAA,OAAO,KAAA,CAAM,UAAUA,OAAA,CAAM,UAAA,CAAW,MAAM,IAAI,CAAA,EAAGA,QAAM,UAAU,CAAA;AAAA,MACvE;AACA,MAAA,OAAOA,OAAA,CAAM,UAAA,CAAW,KAAA,CAAM,IAAI,CAAA,IAAK,EAAA;AAAA,IACzC,CAAA;;8BAnDEC,sBAAA,CAKM,KAAA,EAAA;AAAA,QALA,KAAA,EAAKC,kBAAA,CAAA,CAAGC,SAAA,CAAAL,KAAA,CAAA,CAAI,CAAA,IAAKK,SAAA,CAAAC,uBAAA,CAAA,EAAiB,CAAA,CAAA;AAAA,QAAM,KAAA,0BAAYD,UAAAE,mBAAA,CAAA,IAAa;AAAA;SACrEC,aAAA,CAAA,IAAA,CAAA,EAAAL,sBAAA,CAGMM,YAAA,EAAA,IAAA,EAAAC,cAAA,CAHwBC,IAAAA,CAAAA,IAAAA,EAAI,CAArB,KAAA,EAAO,KAAA,KAAK;kCAAzBR,sBAAA,CAGM,KAAA,EAAA;AAAA,YAH+B,GAAA,EAAK,KAAA;AAAA,YAAQ,OAAKC,kBAAA,CAAEC,SAAA,CAAAL,KAAA,CAAA,CAAI,CAAA,CAAC,MAAA,CAAA;AAAA;YAC5DY,uBAA8D,MAAA,EAAA;AAAA,cAAvD,OAAKR,kBAAA,CAAEC,SAAA,CAAAL,KAAA,CAAA,CAAI,CAAA,CAAC,OAAA,CAAA;AAAA,eAAca,mBAAA,CAAA,YAAA,CAAa,KAAK,CAAA,GAAA,CAAA,CAAA;AAAA,YACnDD,uBAA+D,MAAA,EAAA;AAAA,cAAxD,OAAKR,kBAAA,CAAEC,SAAA,CAAAL,KAAA,CAAA,CAAI,CAAA,CAAC,OAAA,CAAA;AAAA,eAAca,mBAAA,CAAA,aAAA,CAAc,KAAK,CAAA,GAAA,CAAA;AAAA;;;;;;;;;"}
1
+ {"version":3,"file":"footer-info.vue2.js","sources":["../../../../../../packages/components/footer-info/src/footer-info.vue"],"sourcesContent":["<template>\r\n <div :class=\"[bem.b(), prepareClassNames()]\" :style=\"{ ...prepareStyles() }\">\r\n <div v-for=\"(field, index) in list\" :key=\"index\" :class=\"bem.e('item')\">\r\n <span :class=\"bem.e('label')\">{{ getFieldName(field) }}</span>\r\n <span :class=\"bem.e('value')\">{{ getFieldValue(field) }}</span>\r\n </div>\r\n </div>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { computed } from 'vue'\r\nimport { createNameSpace } from '@el-plus/utils/bem'\r\nimport { footerInfoProps, type FooterInfoFieldConfig } from './footer-info'\r\nimport { prepareClassNames, prepareStyles } from '@el-plus/utils/props'\r\n\r\ndefineOptions({\r\n name: 'EpFooterInfo',\r\n inheritAttrs: false,\r\n})\r\n\r\nconst bem = createNameSpace('footer-info')\r\nconst props = defineProps(footerInfoProps)\r\n\r\nconst getFieldName = (field: FooterInfoFieldConfig) => {\r\n const fieldMapValue = props.fieldMap[field.prop]\r\n if (\r\n fieldMapValue &&\r\n typeof fieldMapValue === 'object' &&\r\n 'name' in fieldMapValue\r\n ) {\r\n return fieldMapValue.name || field.name\r\n }\r\n return field.name\r\n}\r\n\r\nconst getFieldValue = (field: FooterInfoFieldConfig) => {\r\n const fieldMapValue = props.fieldMap[field.prop]\r\n if (fieldMapValue) {\r\n if (typeof fieldMapValue === 'function') {\r\n return fieldMapValue(props.modelValue[field.prop], props.modelValue)\r\n }\r\n if (typeof fieldMapValue === 'object' && 'formatter' in fieldMapValue) {\r\n return fieldMapValue.formatter(\r\n props.modelValue[field.prop],\r\n props.modelValue,\r\n )\r\n }\r\n }\r\n if (field.formatter) {\r\n return field.formatter(props.modelValue[field.prop], props.modelValue)\r\n }\r\n return props.modelValue[field.prop] || ''\r\n}\r\n</script>\r\n"],"names":["bem","createNameSpace","props","_createElementBlock","_normalizeClass","_unref","prepareClassNames","prepareStyles","_openBlock","_Fragment","_renderList","list","_createElementVNode","_toDisplayString"],"mappings":";;;;;;;;;;;;;;;;;AAoBA,IAAA,MAAMA,KAAA,GAAMC,oBAAgB,aAAa,CAAA;AACzC,IAAA,MAAMC,OAAA,GAAQ,OAAA;AAEd,IAAA,MAAM,YAAA,GAAe,CAAC,KAAA,KAAiC;AACrD,MAAA,MAAM,aAAA,GAAgBA,OAAA,CAAM,QAAA,CAAS,KAAA,CAAM,IAAI,CAAA;AAC/C,MAAA,IACE,aAAA,IACA,OAAO,aAAA,KAAkB,QAAA,IACzB,UAAU,aAAA,EACV;AACA,QAAA,OAAO,aAAA,CAAc,QAAQ,KAAA,CAAM,IAAA;AAAA,MACrC;AACA,MAAA,OAAO,KAAA,CAAM,IAAA;AAAA,IACf,CAAA;AAEA,IAAA,MAAM,aAAA,GAAgB,CAAC,KAAA,KAAiC;AACtD,MAAA,MAAM,aAAA,GAAgBA,OAAA,CAAM,QAAA,CAAS,KAAA,CAAM,IAAI,CAAA;AAC/C,MAAA,IAAI,aAAA,EAAe;AACjB,QAAA,IAAI,OAAO,kBAAkB,UAAA,EAAY;AACvC,UAAA,OAAO,cAAcA,OAAA,CAAM,UAAA,CAAW,MAAM,IAAI,CAAA,EAAGA,QAAM,UAAU,CAAA;AAAA,QACrE;AACA,QAAA,IAAI,OAAO,aAAA,KAAkB,QAAA,IAAY,WAAA,IAAe,aAAA,EAAe;AACrE,UAAA,OAAO,aAAA,CAAc,SAAA;AAAA,YACnBA,OAAA,CAAM,UAAA,CAAW,KAAA,CAAM,IAAI,CAAA;AAAA,YAC3BA,OAAA,CAAM;AAAA,WACR;AAAA,QACF;AAAA,MACF;AACA,MAAA,IAAI,MAAM,SAAA,EAAW;AACnB,QAAA,OAAO,KAAA,CAAM,UAAUA,OAAA,CAAM,UAAA,CAAW,MAAM,IAAI,CAAA,EAAGA,QAAM,UAAU,CAAA;AAAA,MACvE;AACA,MAAA,OAAOA,OAAA,CAAM,UAAA,CAAW,KAAA,CAAM,IAAI,CAAA,IAAK,EAAA;AAAA,IACzC,CAAA;;8BAnDEC,sBAAA,CAKM,KAAA,EAAA;AAAA,QALA,KAAA,EAAKC,kBAAA,CAAA,CAAGC,SAAA,CAAAL,KAAA,CAAA,CAAI,CAAA,IAAKK,SAAA,CAAAC,uBAAA,CAAA,EAAiB,CAAA,CAAA;AAAA,QAAM,KAAA,0BAAYD,UAAAE,mBAAA,CAAA,IAAa;AAAA;SACrEC,aAAA,CAAA,IAAA,CAAA,EAAAL,sBAAA,CAGMM,YAAA,EAAA,IAAA,EAAAC,cAAA,CAHwBC,IAAAA,CAAAA,IAAAA,EAAI,CAArB,KAAA,EAAO,KAAA,KAAK;kCAAzBR,sBAAA,CAGM,KAAA,EAAA;AAAA,YAH+B,GAAA,EAAK,KAAA;AAAA,YAAQ,OAAKC,kBAAA,CAAEC,SAAA,CAAAL,KAAA,CAAA,CAAI,CAAA,CAAC,MAAA,CAAA;AAAA;YAC5DY,uBAA8D,MAAA,EAAA;AAAA,cAAvD,OAAKR,kBAAA,CAAEC,SAAA,CAAAL,KAAA,CAAA,CAAI,CAAA,CAAC,OAAA,CAAA;AAAA,eAAca,mBAAA,CAAA,YAAA,CAAa,KAAK,CAAA,GAAA,CAAA,CAAA;AAAA,YACnDD,uBAA+D,MAAA,EAAA;AAAA,cAAxD,OAAKR,kBAAA,CAAEC,SAAA,CAAAL,KAAA,CAAA,CAAI,CAAA,CAAC,OAAA,CAAA;AAAA,eAAca,mBAAA,CAAA,aAAA,CAAc,KAAK,CAAA,GAAA,CAAA;AAAA;;;;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../packages/components/form/index.ts"],"sourcesContent":["import Form from './src/form.vue'\nimport FormItem from './src/form-item-vue'\nimport { withInstall } from '@el-plus/utils/with-install'\nexport const EpForm = withInstall(Form)\nexport default EpForm\nexport * from './src/form'\nexport * from './src/form-item'\nexport { FormItem as EpFormItem }\nexport type FormInstance = InstanceType<typeof Form>\nexport type FormItemInstance = InstanceType<typeof FormItem>\n"],"names":["withInstall","Form"],"mappings":";;;;;;;;;;AAGO,MAAM,MAAA,GAASA,wBAAYC,gDAAI;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../../../packages/components/form/index.ts"],"sourcesContent":["import Form from './src/form.vue'\r\nimport FormItem from './src/form-item-vue'\r\nimport { withInstall } from '@el-plus/utils/with-install'\r\nexport const EpForm = withInstall(Form)\r\nexport default EpForm\r\nexport * from './src/form'\r\nexport * from './src/form-item'\r\nexport { FormItem as EpFormItem }\r\nexport type FormInstance = InstanceType<typeof Form>\r\nexport type FormItemInstance = InstanceType<typeof FormItem>\r\n"],"names":["withInstall","Form"],"mappings":";;;;;;;;;;AAGO,MAAM,MAAA,GAASA,wBAAYC,gDAAI;;;;;;;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"form-item-vue.js","sources":["../../../../../../packages/components/form/src/form-item-vue.tsx"],"sourcesContent":["import { defineComponent, useAttrs ,computed} from 'vue'\nimport { createNameSpace } from '@el-plus/utils/bem'\nimport { useFormItemRules, useFormItemSlots } from './hooks/use-form-item'\nimport { ElFormItem } from 'element-plus'\n\nimport { formItemProps, expandFormItemPropsKeys } from './form-item'\nimport {\n prepareProps,\n prepareEvents,\n prepareClassNames,\n prepareStyles,\n} from '@el-plus/utils/props'\nconst bem = createNameSpace('form-item')\nexport default defineComponent({\n name: 'EpFormItem',\n inheritAttrs: false,\n props: formItemProps,\n setup(props, { emit }) {\n // const {} = useFormItem(props)\n const attrs = useAttrs()\n const { scopedSlots } = useFormItemSlots(props,emit)\n const { rules } = useFormItemRules(props)\n const { props: childProps, disabled, ...formItemProps } = props // eslint-disable-line\n const isShowLabel = computed(() =>{\n if(!props.label) return false\n return props.isShowLabel\n })\n return () => {\n return (\n <ElFormItem\n class={[\n bem.b(),\n bem.is('hide-label', !isShowLabel.value),\n prepareClassNames(),\n ]}\n style={prepareStyles()}\n v-slots={scopedSlots}\n {...{\n ...prepareProps(formItemProps, [...expandFormItemPropsKeys]),\n rules,\n 'label-width': attrs['form-label-width'],\n }}\n // scopedSlots={scopedSlots}\n // label={label}\n // prop={prop}\n // rules={mergeRules}\n // {...{ props: formItemProps }}\n />\n )\n }\n },\n})\n"],"names":["bem","createNameSpace","name","inheritAttrs","props","formItemProps","setup","emit","attrs","useAttrs","scopedSlots","useFormItemSlots","rules","useFormItemRules","childProps","disabled","isShowLabel","computed","label","_createVNode","ElFormItem","_mergeProps","b","is","value","prepareClassNames","prepareStyles","prepareProps","expandFormItemPropsKeys"],"mappings":";;;;;;;;;;;AAYA,MAAMA,GAAAA,GAAMC,sBAAgB,WAAW,CAAA;AACvC,qDAA+B;AAAA,EAC7BC,IAAAA,EAAM,YAAA;AAAA,EACNC,YAAAA,EAAc,KAAA;AAAA,EACdC,KAAAA,EAAOC,sBAAAA;AAAAA,EACPC,MAAMF,OAAAA,EAAO;AAAA,IAAEG;AAAAA,GAAK,EAAG;AAErB,IAAA,MAAMC,QAAQC,YAAAA,EAAS;AACvB,IAAA,MAAM;AAAA,MAAEC;AAAAA,KAAY,GAAIC,4BAAAA,CAAiBP,OAAAA,EAAMG,IAAI,CAAA;AACnD,IAAA,MAAM;AAAA,MAAEK;AAAAA,KAAM,GAAIC,6BAAiBT,OAAK,CAAA;AACxC,IAAA,MAAM;AAAA,MAAEA,KAAAA,EAAOU,UAAAA;AAAAA,MAAYC,QAAAA;AAAAA,MAAU,GAAGV;AAAAA,KAAc,GAAID,OAAAA;AAC1D,IAAA,MAAMY,WAAAA,GAAcC,aAAS,MAAK;AAChC,MAAA,IAAG,CAACb,OAAAA,CAAMc,KAAAA,EAAO,OAAO,KAAA;AACxB,MAAA,OAAOd,OAAAA,CAAMY,WAAAA;AAAAA,IACf,CAAC,CAAA;AACD,IAAA,OAAO,MAAM;AACX,MAAA,OAAAG,eAAAA,CAAAC,wBAAAC,cAAAA,CAAA;AAAA,QAAA,OAAA,EAEW,CACLrB,GAAAA,CAAIsB,CAAAA,EAAE,EACNtB,GAAAA,CAAIuB,EAAAA,CAAG,YAAA,EAAc,CAACP,WAAAA,CAAYQ,KAAK,CAAA,EACvCC,yBAAmB,CAAA;AAAA,QACpB,SACMC,mBAAAA;AAAc,OAAC,EAAA;AAAA,QAGpB,GAAGC,kBAAAA,CAAatB,cAAAA,EAAe,CAAC,GAAGuB,gCAAuB,CAAC,CAAA;AAAA,QAC3DhB,KAAAA;AAAAA,QACA,aAAA,EAAeJ,MAAM,kBAAkB;AAAA,OAAC,GAJjCE,WAAW,CAAA;AAAA,IAa1B,CAAA;AAAA,EACF;AACF,CAAC,CAAA;;;;"}
1
+ {"version":3,"file":"form-item-vue.js","sources":["../../../../../../packages/components/form/src/form-item-vue.tsx"],"sourcesContent":["import { defineComponent, useAttrs ,computed} from 'vue'\r\nimport { createNameSpace } from '@el-plus/utils/bem'\r\nimport { useFormItemRules, useFormItemSlots } from './hooks/use-form-item'\r\nimport { ElFormItem } from 'element-plus'\r\n\r\nimport { formItemProps, expandFormItemPropsKeys } from './form-item'\r\nimport {\r\n prepareProps,\r\n prepareEvents,\r\n prepareClassNames,\r\n prepareStyles,\r\n} from '@el-plus/utils/props'\r\nconst bem = createNameSpace('form-item')\r\nexport default defineComponent({\r\n name: 'EpFormItem',\r\n inheritAttrs: false,\r\n props: formItemProps,\r\n setup(props, { emit }) {\r\n // const {} = useFormItem(props)\r\n const attrs = useAttrs()\r\n const { scopedSlots } = useFormItemSlots(props,emit)\r\n const { rules } = useFormItemRules(props)\r\n const { props: childProps, disabled, ...formItemProps } = props // eslint-disable-line\r\n const isShowLabel = computed(() =>{\r\n if(!props.label) return false\r\n return props.isShowLabel\r\n })\r\n return () => {\r\n return (\r\n <ElFormItem\r\n class={[\r\n bem.b(),\r\n bem.is('hide-label', !isShowLabel.value),\r\n prepareClassNames(),\r\n ]}\r\n style={prepareStyles()}\r\n v-slots={scopedSlots}\r\n {...{\r\n ...prepareProps(formItemProps, [...expandFormItemPropsKeys]),\r\n rules,\r\n 'label-width': attrs['form-label-width'],\r\n }}\r\n // scopedSlots={scopedSlots}\r\n // label={label}\r\n // prop={prop}\r\n // rules={mergeRules}\r\n // {...{ props: formItemProps }}\r\n />\r\n )\r\n }\r\n },\r\n})\r\n"],"names":["bem","createNameSpace","name","inheritAttrs","props","formItemProps","setup","emit","attrs","useAttrs","scopedSlots","useFormItemSlots","rules","useFormItemRules","childProps","disabled","isShowLabel","computed","label","_createVNode","ElFormItem","_mergeProps","b","is","value","prepareClassNames","prepareStyles","prepareProps","expandFormItemPropsKeys"],"mappings":";;;;;;;;;;;AAYA,MAAMA,GAAAA,GAAMC,sBAAgB,WAAW,CAAA;AACvC,qDAA+B;AAAA,EAC7BC,IAAAA,EAAM,YAAA;AAAA,EACNC,YAAAA,EAAc,KAAA;AAAA,EACdC,KAAAA,EAAOC,sBAAAA;AAAAA,EACPC,MAAMF,OAAAA,EAAO;AAAA,IAAEG;AAAAA,GAAK,EAAG;AAErB,IAAA,MAAMC,QAAQC,YAAAA,EAAS;AACvB,IAAA,MAAM;AAAA,MAAEC;AAAAA,KAAY,GAAIC,4BAAAA,CAAiBP,OAAAA,EAAMG,IAAI,CAAA;AACnD,IAAA,MAAM;AAAA,MAAEK;AAAAA,KAAM,GAAIC,6BAAiBT,OAAK,CAAA;AACxC,IAAA,MAAM;AAAA,MAAEA,KAAAA,EAAOU,UAAAA;AAAAA,MAAYC,QAAAA;AAAAA,MAAU,GAAGV;AAAAA,KAAc,GAAID,OAAAA;AAC1D,IAAA,MAAMY,WAAAA,GAAcC,aAAS,MAAK;AAChC,MAAA,IAAG,CAACb,OAAAA,CAAMc,KAAAA,EAAO,OAAO,KAAA;AACxB,MAAA,OAAOd,OAAAA,CAAMY,WAAAA;AAAAA,IACf,CAAC,CAAA;AACD,IAAA,OAAO,MAAM;AACX,MAAA,OAAAG,eAAAA,CAAAC,wBAAAC,cAAAA,CAAA;AAAA,QAAA,OAAA,EAEW,CACLrB,GAAAA,CAAIsB,CAAAA,EAAE,EACNtB,GAAAA,CAAIuB,EAAAA,CAAG,YAAA,EAAc,CAACP,WAAAA,CAAYQ,KAAK,CAAA,EACvCC,yBAAmB,CAAA;AAAA,QACpB,SACMC,mBAAAA;AAAc,OAAC,EAAA;AAAA,QAGpB,GAAGC,kBAAAA,CAAatB,cAAAA,EAAe,CAAC,GAAGuB,gCAAuB,CAAC,CAAA;AAAA,QAC3DhB,KAAAA;AAAAA,QACA,aAAA,EAAeJ,MAAM,kBAAkB;AAAA,OAAC,GAJjCE,WAAW,CAAA;AAAA,IAa1B,CAAA;AAAA,EACF;AACF,CAAC,CAAA;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"form-item.js","sources":["../../../../../../packages/components/form/src/form-item.ts"],"sourcesContent":["import { formItemProps as elFormItemProps } from 'element-plus'\nimport { visibleProps, disabledProps } from '@el-plus/utils/props'\nimport { CSSProperties } from 'vue'\nimport type {\n VNode,\n PropType,\n ExtractPropTypes,\n ExtractPublicPropTypes,\n} from 'vue'\nconst expandFormItemProps = {\n type: {\n type: String,\n default: 'EpInput',\n },\n col: Number,\n render: Function as PropType<(...args: any[]) => VNode>,\n labelRender: Function as PropType<\n ({ label }: { label: string | undefined }) => VNode\n >,\n props: Object,\n ...visibleProps,\n ...disabledProps,\n class: String,\n style: {\n type: [String, Object] as PropType<string | CSSProperties>,\n },\n isShowLabel: {\n type: Boolean,\n default: true,\n },\n hideRequiredAsterisk: Boolean,\n tableProp: String, // 用于table里的表单需要绑定的prop\n}\nexport const formItemProps = {\n ...elFormItemProps,\n ...expandFormItemProps,\n prop: String,\n} as const\nexport type FormItemProps = ExtractPublicPropTypes<typeof formItemProps> & {\n [key: `on${string}`]: ((...args: any[]) => any) | undefined\n}\nexport const expandFormItemPropsKeys = Object.keys(expandFormItemProps)\n"],"names":["visibleProps","disabledProps","elFormItemProps"],"mappings":";;;;;AASA,MAAM,mBAAA,GAAsB;AAAA,EAC1B,IAAA,EAAM;AAAA,IACJ,IAAA,EAAM,MAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA,EACA,GAAA,EAAK,MAAA;AAAA,EACL,MAAA,EAAQ,QAAA;AAAA,EACR,WAAA,EAAa,QAAA;AAAA,EAGb,KAAA,EAAO,MAAA;AAAA,EACP,GAAGA,kBAAA;AAAA,EACH,GAAGC,mBAAA;AAAA,EACH,KAAA,EAAO,MAAA;AAAA,EACP,KAAA,EAAO;AAAA,IACL,IAAA,EAAM,CAAC,MAAA,EAAQ,MAAM;AAAA,GACvB;AAAA,EACA,WAAA,EAAa;AAAA,IACX,IAAA,EAAM,OAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA,EACA,oBAAA,EAAsB,OAAA;AAAA,EACtB,SAAA,EAAW;AAAA;AACb,CAAA;AACO,MAAM,aAAA,GAAgB;AAAA,EAC3B,GAAGC,yBAAA;AAAA,EACH,GAAG,mBAAA;AAAA,EACH,IAAA,EAAM;AACR;AAIO,MAAM,uBAAA,GAA0B,MAAA,CAAO,IAAA,CAAK,mBAAmB;;;;;"}
1
+ {"version":3,"file":"form-item.js","sources":["../../../../../../packages/components/form/src/form-item.ts"],"sourcesContent":["import { formItemProps as elFormItemProps } from 'element-plus'\r\nimport { visibleProps, disabledProps } from '@el-plus/utils/props'\r\nimport { CSSProperties } from 'vue'\r\nimport type {\r\n VNode,\r\n PropType,\r\n ExtractPropTypes,\r\n ExtractPublicPropTypes,\r\n} from 'vue'\r\nconst expandFormItemProps = {\r\n type: {\r\n type: String,\r\n default: 'EpInput',\r\n },\r\n col: Number,\r\n render: Function as PropType<(...args: any[]) => VNode>,\r\n labelRender: Function as PropType<\r\n ({ label }: { label: string | undefined }) => VNode\r\n >,\r\n props: Object,\r\n ...visibleProps,\r\n ...disabledProps,\r\n class: String,\r\n style: {\r\n type: [String, Object] as PropType<string | CSSProperties>,\r\n },\r\n isShowLabel: {\r\n type: Boolean,\r\n default: true,\r\n },\r\n hideRequiredAsterisk: Boolean,\r\n tableProp: String, // 用于table里的表单需要绑定的prop\r\n}\r\nexport const formItemProps = {\r\n ...elFormItemProps,\r\n ...expandFormItemProps,\r\n prop: String,\r\n} as const\r\nexport type FormItemProps = ExtractPublicPropTypes<typeof formItemProps> & {\r\n [key: `on${string}`]: ((...args: any[]) => any) | undefined\r\n}\r\nexport const expandFormItemPropsKeys = Object.keys(expandFormItemProps)\r\n"],"names":["visibleProps","disabledProps","elFormItemProps"],"mappings":";;;;;AASA,MAAM,mBAAA,GAAsB;AAAA,EAC1B,IAAA,EAAM;AAAA,IACJ,IAAA,EAAM,MAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA,EACA,GAAA,EAAK,MAAA;AAAA,EACL,MAAA,EAAQ,QAAA;AAAA,EACR,WAAA,EAAa,QAAA;AAAA,EAGb,KAAA,EAAO,MAAA;AAAA,EACP,GAAGA,kBAAA;AAAA,EACH,GAAGC,mBAAA;AAAA,EACH,KAAA,EAAO,MAAA;AAAA,EACP,KAAA,EAAO;AAAA,IACL,IAAA,EAAM,CAAC,MAAA,EAAQ,MAAM;AAAA,GACvB;AAAA,EACA,WAAA,EAAa;AAAA,IACX,IAAA,EAAM,OAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA,EACA,oBAAA,EAAsB,OAAA;AAAA,EACtB,SAAA,EAAW;AAAA;AACb,CAAA;AACO,MAAM,aAAA,GAAgB;AAAA,EAC3B,GAAGC,yBAAA;AAAA,EACH,GAAG,mBAAA;AAAA,EACH,IAAA,EAAM;AACR;AAIO,MAAM,uBAAA,GAA0B,MAAA,CAAO,IAAA,CAAK,mBAAmB;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"form.js","sources":["../../../../../../packages/components/form/src/form.ts"],"sourcesContent":["import type { ExtractPropTypes, PropType, ExtractPublicPropTypes } from 'vue'\nimport {\n formProps as elFormProps,\n formEmits as elFormEmits,\n} from 'element-plus'\nimport type { FormItemProps } from './form-item'\nconst expandFormProps = {\n // 表单列表\n formItemList: {\n type: Array as PropType<FormItemProps[]>,\n default: () => [] as FormItemProps[],\n },\n // 是否显示折叠\n isShowFold: Boolean,\n\n // 最大显示的表单数\n showFieldCount: {\n type: Number,\n default: 8,\n },\n // 每行的列数\n col: {\n type: Number,\n default: 4,\n },\n}\nexport const formProps = {\n ...elFormProps,\n ...expandFormProps,\n size: {\n ...elFormProps.size,\n default: 'small',\n },\n // 标签的长度\n labelWidth: {\n ...elFormProps.labelWidth,\n default: 100,\n },\n scrollIntoViewOptions: {\n ...elFormProps.scrollIntoViewOptions,\n default: () => {\n return { inline: 'center' }\n },\n },\n} as const\nexport type FormProps = ExtractPublicPropTypes<typeof formProps>\nexport const expandFormPropsKeys = Object.keys(expandFormProps)\n/* eslint-disable @typescript-eslint/no-unused-vars */\nexport const formEmits = {\n ...elFormEmits,\n toggleStatus: (status: boolean) => true, // 折叠状态切换时触发\n}\n/* eslint-enable @typescript-eslint/no-unused-vars */\n\nexport type FormEmits = typeof formEmits\nexport const formEmitsKeys = Object.keys(formEmits)\n"],"names":["elFormProps","elFormEmits"],"mappings":";;;;AAMA,MAAM,eAAA,GAAkB;AAAA;AAAA,EAEtB,YAAA,EAAc;AAAA,IACZ,IAAA,EAAM,KAAA;AAAA,IACN,OAAA,EAAS,MAAM;AAAC,GAClB;AAAA;AAAA,EAEA,UAAA,EAAY,OAAA;AAAA;AAAA,EAGZ,cAAA,EAAgB;AAAA,IACd,IAAA,EAAM,MAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA;AAAA,EAEA,GAAA,EAAK;AAAA,IACH,IAAA,EAAM,MAAA;AAAA,IACN,OAAA,EAAS;AAAA;AAEb,CAAA;AACO,MAAM,SAAA,GAAY;AAAA,EACvB,GAAGA,qBAAA;AAAA,EACH,GAAG,eAAA;AAAA,EACH,IAAA,EAAM;AAAA,IACJ,GAAGA,qBAAA,CAAY,IAAA;AAAA,IACf,OAAA,EAAS;AAAA,GACX;AAAA;AAAA,EAEA,UAAA,EAAY;AAAA,IACV,GAAGA,qBAAA,CAAY,UAAA;AAAA,IACf,OAAA,EAAS;AAAA,GACX;AAAA,EACA,qBAAA,EAAuB;AAAA,IACrB,GAAGA,qBAAA,CAAY,qBAAA;AAAA,IACf,SAAS,MAAM;AACb,MAAA,OAAO,EAAE,QAAQ,QAAA,EAAS;AAAA,IAC5B;AAAA;AAEJ;AAEO,MAAM,mBAAA,GAAsB,MAAA,CAAO,IAAA,CAAK,eAAe;AAEvD,MAAM,SAAA,GAAY;AAAA,EACvB,GAAGC,qBAAA;AAAA,EACH,YAAA,EAAc,CAAC,MAAA,KAAoB;AAAA;AACrC;AAIO,MAAM,aAAA,GAAgB,MAAA,CAAO,IAAA,CAAK,SAAS;;;;;;;"}
1
+ {"version":3,"file":"form.js","sources":["../../../../../../packages/components/form/src/form.ts"],"sourcesContent":["import type { ExtractPropTypes, PropType, ExtractPublicPropTypes } from 'vue'\r\nimport {\r\n formProps as elFormProps,\r\n formEmits as elFormEmits,\r\n} from 'element-plus'\r\nimport type { FormItemProps } from './form-item'\r\nconst expandFormProps = {\r\n // 表单列表\r\n formItemList: {\r\n type: Array as PropType<FormItemProps[]>,\r\n default: () => [] as FormItemProps[],\r\n },\r\n // 是否显示折叠\r\n isShowFold: Boolean,\r\n\r\n // 最大显示的表单数\r\n showFieldCount: {\r\n type: Number,\r\n default: 8,\r\n },\r\n // 每行的列数\r\n col: {\r\n type: Number,\r\n default: 4,\r\n },\r\n}\r\nexport const formProps = {\r\n ...elFormProps,\r\n ...expandFormProps,\r\n size: {\r\n ...elFormProps.size,\r\n default: 'small',\r\n },\r\n // 标签的长度\r\n labelWidth: {\r\n ...elFormProps.labelWidth,\r\n default: 100,\r\n },\r\n scrollIntoViewOptions: {\r\n ...elFormProps.scrollIntoViewOptions,\r\n default: () => {\r\n return { inline: 'center' }\r\n },\r\n },\r\n} as const\r\nexport type FormProps = ExtractPublicPropTypes<typeof formProps>\r\nexport const expandFormPropsKeys = Object.keys(expandFormProps)\r\n/* eslint-disable @typescript-eslint/no-unused-vars */\r\nexport const formEmits = {\r\n ...elFormEmits,\r\n toggleStatus: (status: boolean) => true, // 折叠状态切换时触发\r\n}\r\n/* eslint-enable @typescript-eslint/no-unused-vars */\r\n\r\nexport type FormEmits = typeof formEmits\r\nexport const formEmitsKeys = Object.keys(formEmits)\r\n"],"names":["elFormProps","elFormEmits"],"mappings":";;;;AAMA,MAAM,eAAA,GAAkB;AAAA;AAAA,EAEtB,YAAA,EAAc;AAAA,IACZ,IAAA,EAAM,KAAA;AAAA,IACN,OAAA,EAAS,MAAM;AAAC,GAClB;AAAA;AAAA,EAEA,UAAA,EAAY,OAAA;AAAA;AAAA,EAGZ,cAAA,EAAgB;AAAA,IACd,IAAA,EAAM,MAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA;AAAA,EAEA,GAAA,EAAK;AAAA,IACH,IAAA,EAAM,MAAA;AAAA,IACN,OAAA,EAAS;AAAA;AAEb,CAAA;AACO,MAAM,SAAA,GAAY;AAAA,EACvB,GAAGA,qBAAA;AAAA,EACH,GAAG,eAAA;AAAA,EACH,IAAA,EAAM;AAAA,IACJ,GAAGA,qBAAA,CAAY,IAAA;AAAA,IACf,OAAA,EAAS;AAAA,GACX;AAAA;AAAA,EAEA,UAAA,EAAY;AAAA,IACV,GAAGA,qBAAA,CAAY,UAAA;AAAA,IACf,OAAA,EAAS;AAAA,GACX;AAAA,EACA,qBAAA,EAAuB;AAAA,IACrB,GAAGA,qBAAA,CAAY,qBAAA;AAAA,IACf,SAAS,MAAM;AACb,MAAA,OAAO,EAAE,QAAQ,QAAA,EAAS;AAAA,IAC5B;AAAA;AAEJ;AAEO,MAAM,mBAAA,GAAsB,MAAA,CAAO,IAAA,CAAK,eAAe;AAEvD,MAAM,SAAA,GAAY;AAAA,EACvB,GAAGC,qBAAA;AAAA,EACH,YAAA,EAAc,CAAC,MAAA,KAAoB;AAAA;AACrC;AAIO,MAAM,aAAA,GAAgB,MAAA,CAAO,IAAA,CAAK,SAAS;;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"form.vue2.js","sources":["../../../../../../packages/components/form/src/form.vue"],"sourcesContent":["<template>\n <div\n :class=\"[\n bem.b(),\n prepareClassNames(),\n bem.is('open', open),\n bem.is('fold', isShowFoldBtn),\n ]\"\n :style=\"{\n ...prepareStyles(),\n }\"\n >\n <el-form ref=\"elFormRef\" :model=\"formData\" v-bind=\"customAttrs\">\n <slot>\n <el-row>\n <el-col\n v-for=\"(item, index) in filterFormItemList\"\n v-show=\"isShowFormItem(index)\"\n :key=\"item.prop || index\"\n :class=\"bem.e('col')\"\n :span=\"item.col || 24 / col\"\n >\n <FormItem\n :form-data=\"formData\"\n :form-label-width=\"labelWidth\"\n v-bind=\"item\"\n @registerFormItemRenderRef=\"\n (ref) => registerFormItemRenderRef(item.props?.ref, ref)\n \"\n />\n </el-col>\n </el-row>\n </slot>\n </el-form>\n <div v-if=\"isShowFoldBtn\" :class=\"bem.e('fold')\" @click=\"toggleStatus\">\n {{ open ? t('ep.form.collapse') : t('ep.form.more') }}\n </div>\n </div>\n</template>\n<script setup lang=\"ts\">\nimport { computed, reactive, ref, useTemplateRef } from 'vue'\nimport { createNameSpace } from '@el-plus/utils/bem'\nimport {\n formProps,\n formEmits,\n formEmitsKeys,\n expandFormPropsKeys,\n} from './form'\nimport type { FormEmits } from './form'\nimport {\n prepareProps,\n prepareEvents,\n prepareClassNames,\n prepareStyles,\n} from '@el-plus/utils/props'\nimport { ElForm, ElRow, ElCol } from 'element-plus'\nimport { useCollapse, useForm } from './hooks/use-form'\nimport FormItem from './form-item-vue'\nimport { useLocale } from '@el-plus/hooks/use-locale'\nconst { t } = useLocale()\ndefineOptions({\n name: 'EpForm',\n inheritAttrs: false,\n})\nconst bem = createNameSpace('form')\nconst props = defineProps(formProps)\nconst emit = defineEmits(formEmits)\nconst customAttrs = computed(() => {\n return {\n ...prepareProps(props, ['modelValue', 'model', ...expandFormPropsKeys]),\n hideRequiredAsterisk: true, // 隐藏必填星号, 使用自己的*\n scrollToError: true,\n ...prepareEvents<FormEmits>(emit, formEmitsKeys),\n }\n})\nconst formData = defineModel<Record<string, unknown>>({\n default: () => reactive({}),\n})\n\nconst {\n filterFormItemList,\n elFormRef,\n validate,\n resetFields,\n clearValidate,\n getFormItemRenderRef,\n registerFormItemRenderRef,\n} = useForm(props)\n\nconst { open, toggleStatus, isShowFoldBtn, isShowFormItem } = useCollapse(\n {\n filterFormItemList,\n isShowFold: props.isShowFold,\n showFieldCount: props.showFieldCount,\n },\n emit,\n)\n\ndefineExpose({\n elFormRef,\n validate,\n resetFields,\n clearValidate,\n getFormItemRenderRef\n})\n</script>\n"],"names":["useLocale","bem","createNameSpace","props","computed","prepareProps","expandFormPropsKeys","prepareEvents","formEmitsKeys","_useModel","useForm","useCollapse","_createElementBlock","_normalizeClass","_unref","prepareClassNames","_normalizeStyle","prepareStyles","_createVNode","_mergeProps","_renderSlot","ElRow","_openBlock","_Fragment","_renderList","_createBlock","ElCol","col","labelWidth","ref","_vShow"],"mappings":"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"}
1
+ {"version":3,"file":"form.vue2.js","sources":["../../../../../../packages/components/form/src/form.vue"],"sourcesContent":["<template>\r\n <div\r\n :class=\"[\r\n bem.b(),\r\n prepareClassNames(),\r\n bem.is('open', open),\r\n bem.is('fold', isShowFoldBtn),\r\n ]\"\r\n :style=\"{\r\n ...prepareStyles(),\r\n }\"\r\n >\r\n <el-form ref=\"elFormRef\" :model=\"formData\" v-bind=\"customAttrs\">\r\n <slot>\r\n <el-row>\r\n <el-col\r\n v-for=\"(item, index) in filterFormItemList\"\r\n v-show=\"isShowFormItem(index)\"\r\n :key=\"item.prop || index\"\r\n :class=\"bem.e('col')\"\r\n :span=\"item.col || 24 / col\"\r\n >\r\n <FormItem\r\n :form-data=\"formData\"\r\n :form-label-width=\"labelWidth\"\r\n v-bind=\"item\"\r\n @registerFormItemRenderRef=\"\r\n (ref) => registerFormItemRenderRef(item.props?.ref, ref)\r\n \"\r\n />\r\n </el-col>\r\n </el-row>\r\n </slot>\r\n </el-form>\r\n <div v-if=\"isShowFoldBtn\" :class=\"bem.e('fold')\" @click=\"toggleStatus\">\r\n {{ open ? t('ep.form.collapse') : t('ep.form.more') }}\r\n </div>\r\n </div>\r\n</template>\r\n<script setup lang=\"ts\">\r\nimport { computed, reactive, ref, useTemplateRef } from 'vue'\r\nimport { createNameSpace } from '@el-plus/utils/bem'\r\nimport {\r\n formProps,\r\n formEmits,\r\n formEmitsKeys,\r\n expandFormPropsKeys,\r\n} from './form'\r\nimport type { FormEmits } from './form'\r\nimport {\r\n prepareProps,\r\n prepareEvents,\r\n prepareClassNames,\r\n prepareStyles,\r\n} from '@el-plus/utils/props'\r\nimport { ElForm, ElRow, ElCol } from 'element-plus'\r\nimport { useCollapse, useForm } from './hooks/use-form'\r\nimport FormItem from './form-item-vue'\r\nimport { useLocale } from '@el-plus/hooks/use-locale'\r\nconst { t } = useLocale()\r\ndefineOptions({\r\n name: 'EpForm',\r\n inheritAttrs: false,\r\n})\r\nconst bem = createNameSpace('form')\r\nconst props = defineProps(formProps)\r\nconst emit = defineEmits(formEmits)\r\nconst customAttrs = computed(() => {\r\n return {\r\n ...prepareProps(props, ['modelValue', 'model', ...expandFormPropsKeys]),\r\n hideRequiredAsterisk: true, // 隐藏必填星号, 使用自己的*\r\n scrollToError: true,\r\n ...prepareEvents<FormEmits>(emit, formEmitsKeys),\r\n }\r\n})\r\nconst formData = defineModel<Record<string, unknown>>({\r\n default: () => reactive({}),\r\n})\r\n\r\nconst {\r\n filterFormItemList,\r\n elFormRef,\r\n validate,\r\n resetFields,\r\n clearValidate,\r\n getFormItemRenderRef,\r\n registerFormItemRenderRef,\r\n} = useForm(props)\r\n\r\nconst { open, toggleStatus, isShowFoldBtn, isShowFormItem } = useCollapse(\r\n {\r\n filterFormItemList,\r\n isShowFold: props.isShowFold,\r\n showFieldCount: props.showFieldCount,\r\n },\r\n emit,\r\n)\r\n\r\ndefineExpose({\r\n elFormRef,\r\n validate,\r\n resetFields,\r\n clearValidate,\r\n getFormItemRenderRef\r\n})\r\n</script>\r\n"],"names":["useLocale","bem","createNameSpace","props","computed","prepareProps","expandFormPropsKeys","prepareEvents","formEmitsKeys","_useModel","useForm","useCollapse","_createElementBlock","_normalizeClass","_unref","prepareClassNames","_normalizeStyle","prepareStyles","_createVNode","_mergeProps","_renderSlot","ElRow","_openBlock","_Fragment","_renderList","_createBlock","ElCol","col","labelWidth","ref","_vShow"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"use-form-item.js","sources":["../../../../../../../packages/components/form/src/hooks/use-form-item.tsx"],"sourcesContent":["import { h, resolveComponent, useAttrs, ref } from 'vue'\nimport type { FormItemProps } from '../form-item'\nimport type { FormItemRule } from 'element-plus'\nimport { ElTooltip } from 'element-plus'\nimport { useLocale } from '@el-plus/hooks/use-locale'\nexport const useFormItem = () => {\n return {}\n}\nexport const useFormItemSlots = (props: FormItemProps,emit) => {\n const attrs = useAttrs()\n const { render, labelRender } = props\n const prop = props.tableProp || props.prop\n const events: Record<string, (...args: any[]) => void> = {}\n for (const key in attrs) {\n if (key.startsWith('on')) {\n // 包装事件处理函数,确保在事件触发时使用最新的 scope\n // fix: table筛选后,点击事件触发时,scope.row仍为筛选前的行数据\n events[key] = (...args: any[]) => {\n const tableScope = attrs['table-scope']\n const eventFn = attrs[key] as (...args: any[]) => void\n return eventFn(...args, tableScope)\n }\n }\n }\n const isTipDisabled = ref(true) // 默认禁用提示\n const checkOverflow = (e: MouseEvent) => {\n const el = e.currentTarget as HTMLElement\n isTipDisabled.value = el.scrollWidth <= el.clientWidth\n }\n const scopedSlots = {\n default: () => {\n const formData = attrs['form-data'] as Record<string, unknown>\n const { scopedSlots: renderScopedSlots, ...renderProps } =\n props.props || {}\n let disabled = props.disabled\n if (typeof props.disabled === 'function') {\n disabled = props.disabled(formData)\n }\n return props.type\n ? h(\n resolveComponent(props.type),\n {\n modelValue: formData[prop as string],\n 'onUpdate:modelValue': (value: unknown) => {\n formData[prop as string] = value\n },\n disabled,\n clearable: true,\n ...renderProps,\n ...events,\n ref: (el: any) => {\n if (el) {\n emit('registerFormItemRenderRef', el)\n }\n },\n },\n renderScopedSlots,\n )\n : formData[prop as string]\n },\n label: () => {\n return (\n <ElTooltip\n placement=\"top\"\n effect=\"dark\"\n content={props.label}\n disabled={!props.isShowLabel || isTipDisabled.value}\n >\n <span\n onMouseenter={checkOverflow}\n style=\"display: block;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;\"\n >\n {!props.hideRequiredAsterisk && props.required ? (\n <span style=\"color: var(--el-color-danger);\">*</span>\n ) : null}\n {props.isShowLabel ? <span>{props.label}</span> : ''}\n </span>\n </ElTooltip>\n )\n },\n }\n\n if (labelRender) {\n scopedSlots.label = () => labelRender({ label: props.label })\n }\n if (render) {\n scopedSlots.default = () => {\n return render(attrs['table-scope'])\n }\n }\n return {\n scopedSlots,\n }\n}\nexport const useFormItemRules = (props: FormItemProps) => {\n const { t } = useLocale()\n const { required, rules, label } = props\n let mergeRules: FormItemRule[] = []\n if (required) {\n const requiredDefault = { required: true }\n mergeRules.push(requiredDefault)\n }\n if (rules) {\n if (Array.isArray(rules)) {\n mergeRules = mergeRules.concat(rules)\n }\n\n if (Object.prototype.toString.call(rules) === '[object Object]') {\n mergeRules.push(rules as FormItemRule)\n }\n }\n\n if (mergeRules) {\n mergeRules.forEach((r) => {\n if (r.required && typeof r.message === 'undefined') {\n r.message = `${label || ''}${t('ep.formItem.required')}`\n }\n })\n }\n return { rules: mergeRules }\n}\n"],"names":["useFormItem","useFormItemSlots","props","emit","attrs","useAttrs","render","labelRender","prop","tableProp","events","key","startsWith","args","tableScope","eventFn","isTipDisabled","ref","checkOverflow","e","el","currentTarget","value","scrollWidth","clientWidth","scopedSlots","default","formData","renderScopedSlots","renderProps","disabled","type","h","resolveComponent","modelValue","clearable","label","_createVNode","ElTooltip","isShowLabel","hideRequiredAsterisk","required","_createTextVNode","useFormItemRules","t","useLocale","rules","mergeRules","requiredDefault","push","Array","isArray","concat","Object","prototype","toString","call","forEach","r","message"],"mappings":";;;;;;AAKO,MAAMA,cAAcA,MAAM;AAC/B,EAAA,OAAO,EAAC;AACV;AACO,MAAMC,gBAAAA,GAAmBA,CAACC,KAAAA,EAAqBC,IAAAA,KAAS;AAC7D,EAAA,MAAMC,QAAQC,YAAAA,EAAS;AACvB,EAAA,MAAM;AAAA,IAAEC,MAAAA;AAAAA,IAAQC;AAAAA,GAAY,GAAIL,KAAAA;AAChC,EAAA,MAAMM,IAAAA,GAAON,KAAAA,CAAMO,SAAAA,IAAaP,KAAAA,CAAMM,IAAAA;AACtC,EAAA,MAAME,SAAmD,EAAC;AAC1D,EAAA,KAAA,MAAWC,OAAOP,KAAAA,EAAO;AACvB,IAAA,IAAIO,GAAAA,CAAIC,UAAAA,CAAW,IAAI,CAAA,EAAG;AAGxBF,MAAAA,MAAAA,CAAOC,GAAG,CAAA,GAAI,CAAA,GAAIE,IAAAA,KAAgB;AAChC,QAAA,MAAMC,UAAAA,GAAaV,MAAM,aAAa,CAAA;AACtC,QAAA,MAAMW,OAAAA,GAAUX,MAAMO,GAAG,CAAA;AACzB,QAAA,OAAOI,OAAAA,CAAQ,GAAGF,IAAAA,EAAMC,UAAU,CAAA;AAAA,MACpC,CAAA;AAAA,IACF;AAAA,EACF;AACA,EAAA,MAAME,aAAAA,GAAgBC,QAAI,IAAI,CAAA;AAC9B,EAAA,MAAMC,gBAAiBC,CAAAA,CAAAA,KAAkB;AACvC,IAAA,MAAMC,KAAKD,CAAAA,CAAEE,aAAAA;AACbL,IAAAA,aAAAA,CAAcM,KAAAA,GAAQF,EAAAA,CAAGG,WAAAA,IAAeH,EAAAA,CAAGI,WAAAA;AAAAA,EAC7C,CAAA;AACA,EAAA,MAAMC,WAAAA,GAAc;AAAA,IAClBC,SAASA,MAAM;AACb,MAAA,MAAMC,QAAAA,GAAWvB,MAAM,WAAW,CAAA;AAClC,MAAA,MAAM;AAAA,QAAEqB,WAAAA,EAAaG,iBAAAA;AAAAA,QAAmB,GAAGC;AAAAA,OAAY,GACrD3B,KAAAA,CAAMA,KAAAA,IAAS,EAAC;AAClB,MAAA,IAAI4B,WAAW5B,KAAAA,CAAM4B,QAAAA;AACrB,MAAA,IAAI,OAAO5B,KAAAA,CAAM4B,QAAAA,KAAa,UAAA,EAAY;AACxCA,QAAAA,QAAAA,GAAW5B,KAAAA,CAAM4B,SAASH,QAAQ,CAAA;AAAA,MACpC;AACA,MAAA,OAAOzB,MAAM6B,IAAAA,GACTC,KAAAA,CACEC,oBAAAA,CAAiB/B,KAAAA,CAAM6B,IAAI,CAAA,EAC3B;AAAA,QACEG,UAAAA,EAAYP,SAASnB,IAAI,CAAA;AAAA,QACzB,uBAAwBc,CAAAA,KAAAA,KAAmB;AACzCK,UAAAA,QAAAA,CAASnB,IAAI,CAAA,GAAcc,KAAAA;AAAAA,QAC7B,CAAA;AAAA,QACAQ,QAAAA;AAAAA,QACAK,SAAAA,EAAW,IAAA;AAAA,QACX,GAAGN,WAAAA;AAAAA,QACH,GAAGnB,MAAAA;AAAAA,QACHO,KAAMG,CAAAA,EAAAA,KAAY;AAChB,UAAA,IAAIA,EAAAA,EAAI;AACNjB,YAAAA,IAAAA,CAAK,6BAA6BiB,EAAE,CAAA;AAAA,UACtC;AAAA,QACF;AAAA,OACF,EACAQ,iBACF,CAAA,GACAD,QAAAA,CAASnB,IAAI,CAAA;AAAA,IACnB,CAAA;AAAA,IACA4B,OAAOA,MAAM;AACX,MAAA,OAAAC,gBAAAC,qBAAAA,EAAA;AAAA,QAAA,WAAA,EAAA,KAAA;AAAA,QAAA,QAAA,EAAA,MAAA;AAAA,QAAA,WAIapC,KAAAA,CAAMkC,KAAAA;AAAAA,QAAK,UAAA,EACV,CAAClC,KAAAA,CAAMqC,WAAAA,IAAevB,aAAAA,CAAcM;AAAAA,OAAK,EAAA;AAAA,QAAAI,OAAAA,EAAAA,MAAA,CAAAW,eAAAA,CAAA,MAAA,EAAA;AAAA,UAAA,cAAA,EAGnCnB,aAAAA;AAAAA,UAAa,OAAA,EAAA;AAAA,SAAA,EAAA,CAG1B,CAAChB,KAAAA,CAAMsC,wBAAwBtC,KAAAA,CAAMuC,QAAAA,GAAQJ,gBAAA,MAAA,EAAA;AAAA,UAAA,OAAA,EAAA;AAAA,SAAA,EAAA,CAAAK,mBAAAA,CAAA,GAAA,CAAA,CAAA,CAAA,GAE1C,MACHxC,KAAAA,CAAMqC,WAAAA,GAAWF,gBAAA,MAAA,EAAA,IAAA,EAAA,CAAUnC,KAAAA,CAAMkC,KAAK,KAAW,EAAE,CAAA,CAAA;AAAA,OAAA,CAAA;AAAA,IAI5D;AAAA,GACF;AAEA,EAAA,IAAI7B,WAAAA,EAAa;AACfkB,IAAAA,WAAAA,CAAYW,KAAAA,GAAQ,MAAM7B,WAAAA,CAAY;AAAA,MAAE6B,OAAOlC,KAAAA,CAAMkC;AAAAA,KAAO,CAAA;AAAA,EAC9D;AACA,EAAA,IAAI9B,MAAAA,EAAQ;AACVmB,IAAAA,WAAAA,CAAYC,UAAU,MAAM;AAC1B,MAAA,OAAOpB,MAAAA,CAAOF,KAAAA,CAAM,aAAa,CAAC,CAAA;AAAA,IACpC,CAAA;AAAA,EACF;AACA,EAAA,OAAO;AAAA,IACLqB;AAAAA,GACF;AACF;AACO,MAAMkB,mBAAoBzC,CAAAA,KAAAA,KAAyB;AACxD,EAAA,MAAM;AAAA,IAAE0C;AAAAA,MAAMC,mBAAAA,EAAU;AACxB,EAAA,MAAM;AAAA,IAAEJ,QAAAA;AAAAA,IAAUK,KAAAA;AAAAA,IAAOV;AAAAA,GAAM,GAAIlC,KAAAA;AACnC,EAAA,IAAI6C,aAA6B,EAAA;AACjC,EAAA,IAAIN,QAAAA,EAAU;AACZ,IAAA,MAAMO,eAAAA,GAAkB;AAAA,MAAEP,QAAAA,EAAU;AAAA,KAAK;AACzCM,IAAAA,UAAAA,CAAWE,KAAKD,eAAe,CAAA;AAAA,EACjC;AACA,EAAA,IAAIF,KAAAA,EAAO;AACT,IAAA,IAAII,KAAAA,CAAMC,OAAAA,CAAQL,KAAK,CAAA,EAAG;AACxBC,MAAAA,UAAAA,GAAaA,UAAAA,CAAWK,OAAON,KAAK,CAAA;AAAA,IACtC;AAEA,IAAA,IAAIO,OAAOC,SAAAA,CAAUC,QAAAA,CAASC,IAAAA,CAAKV,KAAK,MAAM,iBAAA,EAAmB;AAC/DC,MAAAA,UAAAA,CAAWE,KAAKH,KAAqB,CAAA;AAAA,IACvC;AAAA,EACF;AAEA,EAAA,IAAIC,UAAAA,EAAY;AACdA,IAAAA,UAAAA,CAAWU,QAASC,CAAAA,CAAAA,KAAM;AACxB,MAAA,IAAIA,CAAAA,CAAEjB,QAAAA,IAAY,OAAOiB,CAAAA,CAAEC,YAAY,WAAA,EAAa;AAClDD,QAAAA,CAAAA,CAAEC,UAAU,CAAA,EAAGvB,KAAAA,IAAS,EAAE,CAAA,EAAGQ,CAAAA,CAAE,sBAAsB,CAAC,CAAA,CAAA;AAAA,MACxD;AAAA,IACF,CAAC,CAAA;AAAA,EACH;AACA,EAAA,OAAO;AAAA,IAAEE,KAAAA,EAAOC;AAAAA,GAAW;AAC7B;;;;;;"}
1
+ {"version":3,"file":"use-form-item.js","sources":["../../../../../../../packages/components/form/src/hooks/use-form-item.tsx"],"sourcesContent":["import { h, resolveComponent, useAttrs, ref } from 'vue'\r\nimport type { FormItemProps } from '../form-item'\r\nimport type { FormItemRule } from 'element-plus'\r\nimport { ElTooltip } from 'element-plus'\r\nimport { useLocale } from '@el-plus/hooks/use-locale'\r\nexport const useFormItem = () => {\r\n return {}\r\n}\r\nexport const useFormItemSlots = (props: FormItemProps,emit) => {\r\n const attrs = useAttrs()\r\n const { render, labelRender } = props\r\n const prop = props.tableProp || props.prop\r\n const events: Record<string, (...args: any[]) => void> = {}\r\n for (const key in attrs) {\r\n if (key.startsWith('on')) {\r\n // 包装事件处理函数,确保在事件触发时使用最新的 scope\r\n // fix: table筛选后,点击事件触发时,scope.row仍为筛选前的行数据\r\n events[key] = (...args: any[]) => {\r\n const tableScope = attrs['table-scope']\r\n const eventFn = attrs[key] as (...args: any[]) => void\r\n return eventFn(...args, tableScope)\r\n }\r\n }\r\n }\r\n const isTipDisabled = ref(true) // 默认禁用提示\r\n const checkOverflow = (e: MouseEvent) => {\r\n const el = e.currentTarget as HTMLElement\r\n isTipDisabled.value = el.scrollWidth <= el.clientWidth\r\n }\r\n const scopedSlots = {\r\n default: () => {\r\n const formData = attrs['form-data'] as Record<string, unknown>\r\n const { scopedSlots: renderScopedSlots, ...renderProps } =\r\n props.props || {}\r\n let disabled = props.disabled\r\n if (typeof props.disabled === 'function') {\r\n disabled = props.disabled(formData)\r\n }\r\n return props.type\r\n ? h(\r\n resolveComponent(props.type),\r\n {\r\n modelValue: formData[prop as string],\r\n 'onUpdate:modelValue': (value: unknown) => {\r\n formData[prop as string] = value\r\n },\r\n disabled,\r\n clearable: true,\r\n ...renderProps,\r\n ...events,\r\n ref: (el: any) => {\r\n if (el) {\r\n emit('registerFormItemRenderRef', el)\r\n }\r\n },\r\n },\r\n renderScopedSlots,\r\n )\r\n : formData[prop as string]\r\n },\r\n label: () => {\r\n return (\r\n <ElTooltip\r\n placement=\"top\"\r\n effect=\"dark\"\r\n content={props.label}\r\n disabled={!props.isShowLabel || isTipDisabled.value}\r\n >\r\n <span\r\n onMouseenter={checkOverflow}\r\n style=\"display: block;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;\"\r\n >\r\n {!props.hideRequiredAsterisk && props.required ? (\r\n <span style=\"color: var(--el-color-danger);\">*</span>\r\n ) : null}\r\n {props.isShowLabel ? <span>{props.label}</span> : ''}\r\n </span>\r\n </ElTooltip>\r\n )\r\n },\r\n }\r\n\r\n if (labelRender) {\r\n scopedSlots.label = () => labelRender({ label: props.label })\r\n }\r\n if (render) {\r\n scopedSlots.default = () => {\r\n return render(attrs['table-scope'])\r\n }\r\n }\r\n return {\r\n scopedSlots,\r\n }\r\n}\r\nexport const useFormItemRules = (props: FormItemProps) => {\r\n const { t } = useLocale()\r\n const { required, rules, label } = props\r\n let mergeRules: FormItemRule[] = []\r\n if (required) {\r\n const requiredDefault = { required: true }\r\n mergeRules.push(requiredDefault)\r\n }\r\n if (rules) {\r\n if (Array.isArray(rules)) {\r\n mergeRules = mergeRules.concat(rules)\r\n }\r\n\r\n if (Object.prototype.toString.call(rules) === '[object Object]') {\r\n mergeRules.push(rules as FormItemRule)\r\n }\r\n }\r\n\r\n if (mergeRules) {\r\n mergeRules.forEach((r) => {\r\n if (r.required && typeof r.message === 'undefined') {\r\n r.message = `${label || ''}${t('ep.formItem.required')}`\r\n }\r\n })\r\n }\r\n return { rules: mergeRules }\r\n}\r\n"],"names":["useFormItem","useFormItemSlots","props","emit","attrs","useAttrs","render","labelRender","prop","tableProp","events","key","startsWith","args","tableScope","eventFn","isTipDisabled","ref","checkOverflow","e","el","currentTarget","value","scrollWidth","clientWidth","scopedSlots","default","formData","renderScopedSlots","renderProps","disabled","type","h","resolveComponent","modelValue","clearable","label","_createVNode","ElTooltip","isShowLabel","hideRequiredAsterisk","required","_createTextVNode","useFormItemRules","t","useLocale","rules","mergeRules","requiredDefault","push","Array","isArray","concat","Object","prototype","toString","call","forEach","r","message"],"mappings":"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"}