el-plus2 0.0.0

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 (299) hide show
  1. package/dist/index.full.js +2204 -0
  2. package/dist/index.full.min.js +2 -0
  3. package/dist/index.full.min.js.map +1 -0
  4. package/dist/index.full.min.mjs +2 -0
  5. package/dist/index.full.min.mjs.map +1 -0
  6. package/dist/index.full.mjs +2176 -0
  7. package/env.d.ts +17 -0
  8. package/es/components/buttons/index.d.ts +359 -0
  9. package/es/components/buttons/index.mjs +8 -0
  10. package/es/components/buttons/index.mjs.map +1 -0
  11. package/es/components/buttons/src/buttons-vue.d.ts +142 -0
  12. package/es/components/buttons/src/buttons-vue.mjs +70 -0
  13. package/es/components/buttons/src/buttons-vue.mjs.map +1 -0
  14. package/es/components/buttons/src/buttons.d.ts +57 -0
  15. package/es/components/buttons/src/buttons.mjs +23 -0
  16. package/es/components/buttons/src/buttons.mjs.map +1 -0
  17. package/es/components/form/index.d.ts +291 -0
  18. package/es/components/form/index.mjs +10 -0
  19. package/es/components/form/index.mjs.map +1 -0
  20. package/es/components/form/src/form-item-vue.d.ts +135 -0
  21. package/es/components/form/src/form-item-vue.mjs +40 -0
  22. package/es/components/form/src/form-item-vue.mjs.map +1 -0
  23. package/es/components/form/src/form-item.d.ts +68 -0
  24. package/es/components/form/src/form-item.mjs +33 -0
  25. package/es/components/form/src/form-item.mjs.map +1 -0
  26. package/es/components/form/src/form.d.ts +66 -0
  27. package/es/components/form/src/form.mjs +50 -0
  28. package/es/components/form/src/form.mjs.map +1 -0
  29. package/es/components/form/src/form.vue.d.ts +161 -0
  30. package/es/components/form/src/form.vue.mjs +6 -0
  31. package/es/components/form/src/form.vue.mjs.map +1 -0
  32. package/es/components/form/src/form.vue2.mjs +124 -0
  33. package/es/components/form/src/form.vue2.mjs.map +1 -0
  34. package/es/components/form/src/hooks/use-form-item.d.ts +12 -0
  35. package/es/components/form/src/hooks/use-form-item.mjs +97 -0
  36. package/es/components/form/src/hooks/use-form-item.mjs.map +1 -0
  37. package/es/components/form/src/hooks/use-form.d.ts +25 -0
  38. package/es/components/form/src/hooks/use-form.mjs +53 -0
  39. package/es/components/form/src/hooks/use-form.mjs.map +1 -0
  40. package/es/components/index.d.ts +6 -0
  41. package/es/components/index.mjs +9 -0
  42. package/es/components/index.mjs.map +1 -0
  43. package/es/components/input/index.d.ts +468 -0
  44. package/es/components/input/index.mjs +8 -0
  45. package/es/components/input/index.mjs.map +1 -0
  46. package/es/components/input/src/input.d.ts +122 -0
  47. package/es/components/input/src/input.mjs +28 -0
  48. package/es/components/input/src/input.mjs.map +1 -0
  49. package/es/components/input/src/input.vue.d.ts +268 -0
  50. package/es/components/input/src/input.vue.mjs +6 -0
  51. package/es/components/input/src/input.vue.mjs.map +1 -0
  52. package/es/components/input/src/input.vue2.mjs +144 -0
  53. package/es/components/input/src/input.vue2.mjs.map +1 -0
  54. package/es/components/searchListPage/index.d.ts +8583 -0
  55. package/es/components/searchListPage/index.mjs +8 -0
  56. package/es/components/searchListPage/index.mjs.map +1 -0
  57. package/es/components/searchListPage/src/searchListPage.d.ts +64 -0
  58. package/es/components/searchListPage/src/searchListPage.mjs +61 -0
  59. package/es/components/searchListPage/src/searchListPage.mjs.map +1 -0
  60. package/es/components/searchListPage/src/searchListPage.vue.d.ts +2760 -0
  61. package/es/components/searchListPage/src/searchListPage.vue.mjs +6 -0
  62. package/es/components/searchListPage/src/searchListPage.vue.mjs.map +1 -0
  63. package/es/components/searchListPage/src/searchListPage.vue2.mjs +99 -0
  64. package/es/components/searchListPage/src/searchListPage.vue2.mjs.map +1 -0
  65. package/es/components/searchListPage/src/use-search-list-page.d.ts +2671 -0
  66. package/es/components/searchListPage/src/use-search-list-page.mjs +177 -0
  67. package/es/components/searchListPage/src/use-search-list-page.mjs.map +1 -0
  68. package/es/components/select/index.d.ts +664 -0
  69. package/es/components/select/index.mjs +8 -0
  70. package/es/components/select/index.mjs.map +1 -0
  71. package/es/components/select/src/select.d.ts +283 -0
  72. package/es/components/select/src/select.mjs +47 -0
  73. package/es/components/select/src/select.mjs.map +1 -0
  74. package/es/components/select/src/select.vue.d.ts +384 -0
  75. package/es/components/select/src/select.vue.mjs +6 -0
  76. package/es/components/select/src/select.vue.mjs.map +1 -0
  77. package/es/components/select/src/select.vue2.mjs +113 -0
  78. package/es/components/select/src/select.vue2.mjs.map +1 -0
  79. package/es/components/select/src/use-select.d.ts +12 -0
  80. package/es/components/select/src/use-select.mjs +87 -0
  81. package/es/components/select/src/use-select.mjs.map +1 -0
  82. package/es/components/table/index.d.ts +2975 -0
  83. package/es/components/table/index.mjs +8 -0
  84. package/es/components/table/index.mjs.map +1 -0
  85. package/es/components/table/src/table.d.ts +781 -0
  86. package/es/components/table/src/table.mjs +81 -0
  87. package/es/components/table/src/table.mjs.map +1 -0
  88. package/es/components/table/src/table.vue.d.ts +1708 -0
  89. package/es/components/table/src/table.vue.mjs +6 -0
  90. package/es/components/table/src/table.vue.mjs.map +1 -0
  91. package/es/components/table/src/table.vue2.mjs +204 -0
  92. package/es/components/table/src/table.vue2.mjs.map +1 -0
  93. package/es/components/table/src/use-table.d.ts +241 -0
  94. package/es/components/table/src/use-table.mjs +260 -0
  95. package/es/components/table/src/use-table.mjs.map +1 -0
  96. package/es/components.d.ts +3 -0
  97. package/es/components.mjs +11 -0
  98. package/es/components.mjs.map +1 -0
  99. package/es/directives/index.d.ts +2 -0
  100. package/es/directives/index.mjs +3 -0
  101. package/es/directives/index.mjs.map +1 -0
  102. package/es/directives/permission/index.d.ts +6 -0
  103. package/es/directives/permission/index.mjs +55 -0
  104. package/es/directives/permission/index.mjs.map +1 -0
  105. package/es/directives/repeat-click/index.d.ts +16 -0
  106. package/es/directives/repeat-click/index.mjs +68 -0
  107. package/es/directives/repeat-click/index.mjs.map +1 -0
  108. package/es/directives/vite.config.d.ts +2 -0
  109. package/es/hooks/index.d.ts +1 -0
  110. package/es/hooks/index.mjs +2 -0
  111. package/es/hooks/index.mjs.map +1 -0
  112. package/es/hooks/use-request.d.ts +20 -0
  113. package/es/hooks/use-request.mjs +82 -0
  114. package/es/hooks/use-request.mjs.map +1 -0
  115. package/es/index.d.ts +9 -0
  116. package/es/index.mjs +24 -0
  117. package/es/index.mjs.map +1 -0
  118. package/es/package.json.mjs +4 -0
  119. package/es/package.json.mjs.map +1 -0
  120. package/es/theme-chalk/gulpfile.d.ts +0 -0
  121. package/es/theme-chalk/gulpfile.mjs +2 -0
  122. package/es/theme-chalk/gulpfile.mjs.map +1 -0
  123. package/es/types/env.d.mjs +2 -0
  124. package/es/types/env.d.mjs.map +1 -0
  125. package/es/types/global.d.mjs +2 -0
  126. package/es/types/global.d.mjs.map +1 -0
  127. package/es/types/vue-shim.d.mjs +2 -0
  128. package/es/types/vue-shim.d.mjs.map +1 -0
  129. package/es/utils/bem.d.ts +10 -0
  130. package/es/utils/bem.mjs +31 -0
  131. package/es/utils/bem.mjs.map +1 -0
  132. package/es/utils/cookie.d.ts +7 -0
  133. package/es/utils/cookie.mjs +29 -0
  134. package/es/utils/cookie.mjs.map +1 -0
  135. package/es/utils/env.d.ts +3 -0
  136. package/es/utils/env.mjs +27 -0
  137. package/es/utils/env.mjs.map +1 -0
  138. package/es/utils/props.d.ts +37 -0
  139. package/es/utils/props.mjs +66 -0
  140. package/es/utils/props.mjs.map +1 -0
  141. package/es/utils/request.d.ts +6 -0
  142. package/es/utils/request.mjs +157 -0
  143. package/es/utils/request.mjs.map +1 -0
  144. package/es/utils/type.d.ts +15 -0
  145. package/es/utils/type.mjs +2 -0
  146. package/es/utils/type.mjs.map +1 -0
  147. package/es/utils/with-install.d.ts +4 -0
  148. package/es/utils/with-install.mjs +9 -0
  149. package/es/utils/with-install.mjs.map +1 -0
  150. package/es/version.d.ts +1 -0
  151. package/es/version.mjs +4 -0
  152. package/es/version.mjs.map +1 -0
  153. package/global.d.ts +13 -0
  154. package/lib/components/buttons/index.d.ts +359 -0
  155. package/lib/components/buttons/index.js +13 -0
  156. package/lib/components/buttons/index.js.map +1 -0
  157. package/lib/components/buttons/src/buttons-vue.d.ts +142 -0
  158. package/lib/components/buttons/src/buttons-vue.js +74 -0
  159. package/lib/components/buttons/src/buttons-vue.js.map +1 -0
  160. package/lib/components/buttons/src/buttons.d.ts +57 -0
  161. package/lib/components/buttons/src/buttons.js +25 -0
  162. package/lib/components/buttons/src/buttons.js.map +1 -0
  163. package/lib/components/form/index.d.ts +291 -0
  164. package/lib/components/form/index.js +21 -0
  165. package/lib/components/form/index.js.map +1 -0
  166. package/lib/components/form/src/form-item-vue.d.ts +135 -0
  167. package/lib/components/form/src/form-item-vue.js +44 -0
  168. package/lib/components/form/src/form-item-vue.js.map +1 -0
  169. package/lib/components/form/src/form-item.d.ts +68 -0
  170. package/lib/components/form/src/form-item.js +36 -0
  171. package/lib/components/form/src/form-item.js.map +1 -0
  172. package/lib/components/form/src/form.d.ts +66 -0
  173. package/lib/components/form/src/form.js +55 -0
  174. package/lib/components/form/src/form.js.map +1 -0
  175. package/lib/components/form/src/form.vue.d.ts +161 -0
  176. package/lib/components/form/src/form.vue.js +10 -0
  177. package/lib/components/form/src/form.vue.js.map +1 -0
  178. package/lib/components/form/src/form.vue2.js +128 -0
  179. package/lib/components/form/src/form.vue2.js.map +1 -0
  180. package/lib/components/form/src/hooks/use-form-item.d.ts +12 -0
  181. package/lib/components/form/src/hooks/use-form-item.js +101 -0
  182. package/lib/components/form/src/hooks/use-form-item.js.map +1 -0
  183. package/lib/components/form/src/hooks/use-form.d.ts +25 -0
  184. package/lib/components/form/src/hooks/use-form.js +56 -0
  185. package/lib/components/form/src/hooks/use-form.js.map +1 -0
  186. package/lib/components/index.d.ts +6 -0
  187. package/lib/components/index.js +35 -0
  188. package/lib/components/index.js.map +1 -0
  189. package/lib/components/input/index.d.ts +468 -0
  190. package/lib/components/input/index.js +15 -0
  191. package/lib/components/input/index.js.map +1 -0
  192. package/lib/components/input/src/input.d.ts +122 -0
  193. package/lib/components/input/src/input.js +32 -0
  194. package/lib/components/input/src/input.js.map +1 -0
  195. package/lib/components/input/src/input.vue.d.ts +268 -0
  196. package/lib/components/input/src/input.vue.js +10 -0
  197. package/lib/components/input/src/input.vue.js.map +1 -0
  198. package/lib/components/input/src/input.vue2.js +148 -0
  199. package/lib/components/input/src/input.vue2.js.map +1 -0
  200. package/lib/components/searchListPage/index.d.ts +8583 -0
  201. package/lib/components/searchListPage/index.js +13 -0
  202. package/lib/components/searchListPage/index.js.map +1 -0
  203. package/lib/components/searchListPage/src/searchListPage.d.ts +64 -0
  204. package/lib/components/searchListPage/src/searchListPage.js +63 -0
  205. package/lib/components/searchListPage/src/searchListPage.js.map +1 -0
  206. package/lib/components/searchListPage/src/searchListPage.vue.d.ts +2760 -0
  207. package/lib/components/searchListPage/src/searchListPage.vue.js +10 -0
  208. package/lib/components/searchListPage/src/searchListPage.vue.js.map +1 -0
  209. package/lib/components/searchListPage/src/searchListPage.vue2.js +103 -0
  210. package/lib/components/searchListPage/src/searchListPage.vue2.js.map +1 -0
  211. package/lib/components/searchListPage/src/use-search-list-page.d.ts +2671 -0
  212. package/lib/components/searchListPage/src/use-search-list-page.js +179 -0
  213. package/lib/components/searchListPage/src/use-search-list-page.js.map +1 -0
  214. package/lib/components/select/index.d.ts +664 -0
  215. package/lib/components/select/index.js +17 -0
  216. package/lib/components/select/index.js.map +1 -0
  217. package/lib/components/select/src/select.d.ts +283 -0
  218. package/lib/components/select/src/select.js +53 -0
  219. package/lib/components/select/src/select.js.map +1 -0
  220. package/lib/components/select/src/select.vue.d.ts +384 -0
  221. package/lib/components/select/src/select.vue.js +10 -0
  222. package/lib/components/select/src/select.vue.js.map +1 -0
  223. package/lib/components/select/src/select.vue2.js +117 -0
  224. package/lib/components/select/src/select.vue2.js.map +1 -0
  225. package/lib/components/select/src/use-select.d.ts +12 -0
  226. package/lib/components/select/src/use-select.js +89 -0
  227. package/lib/components/select/src/use-select.js.map +1 -0
  228. package/lib/components/table/index.d.ts +2975 -0
  229. package/lib/components/table/index.js +16 -0
  230. package/lib/components/table/index.js.map +1 -0
  231. package/lib/components/table/src/table.d.ts +781 -0
  232. package/lib/components/table/src/table.js +86 -0
  233. package/lib/components/table/src/table.js.map +1 -0
  234. package/lib/components/table/src/table.vue.d.ts +1708 -0
  235. package/lib/components/table/src/table.vue.js +10 -0
  236. package/lib/components/table/src/table.vue.js.map +1 -0
  237. package/lib/components/table/src/table.vue2.js +208 -0
  238. package/lib/components/table/src/table.vue2.js.map +1 -0
  239. package/lib/components/table/src/use-table.d.ts +241 -0
  240. package/lib/components/table/src/use-table.js +264 -0
  241. package/lib/components/table/src/use-table.js.map +1 -0
  242. package/lib/components.d.ts +3 -0
  243. package/lib/components.js +15 -0
  244. package/lib/components.js.map +1 -0
  245. package/lib/directives/index.d.ts +2 -0
  246. package/lib/directives/index.js +10 -0
  247. package/lib/directives/index.js.map +1 -0
  248. package/lib/directives/permission/index.d.ts +6 -0
  249. package/lib/directives/permission/index.js +60 -0
  250. package/lib/directives/permission/index.js.map +1 -0
  251. package/lib/directives/repeat-click/index.d.ts +16 -0
  252. package/lib/directives/repeat-click/index.js +72 -0
  253. package/lib/directives/repeat-click/index.js.map +1 -0
  254. package/lib/directives/vite.config.d.ts +2 -0
  255. package/lib/hooks/index.d.ts +1 -0
  256. package/lib/hooks/index.js +8 -0
  257. package/lib/hooks/index.js.map +1 -0
  258. package/lib/hooks/use-request.d.ts +20 -0
  259. package/lib/hooks/use-request.js +84 -0
  260. package/lib/hooks/use-request.js.map +1 -0
  261. package/lib/index.d.ts +9 -0
  262. package/lib/index.js +53 -0
  263. package/lib/index.js.map +1 -0
  264. package/lib/package.json.js +6 -0
  265. package/lib/package.json.js.map +1 -0
  266. package/lib/theme-chalk/gulpfile.d.ts +0 -0
  267. package/lib/theme-chalk/gulpfile.js +3 -0
  268. package/lib/theme-chalk/gulpfile.js.map +1 -0
  269. package/lib/types/env.d.js +3 -0
  270. package/lib/types/env.d.js.map +1 -0
  271. package/lib/types/global.d.js +3 -0
  272. package/lib/types/global.d.js.map +1 -0
  273. package/lib/types/vue-shim.d.js +3 -0
  274. package/lib/types/vue-shim.d.js.map +1 -0
  275. package/lib/utils/bem.d.ts +10 -0
  276. package/lib/utils/bem.js +33 -0
  277. package/lib/utils/bem.js.map +1 -0
  278. package/lib/utils/cookie.d.ts +7 -0
  279. package/lib/utils/cookie.js +33 -0
  280. package/lib/utils/cookie.js.map +1 -0
  281. package/lib/utils/env.d.ts +3 -0
  282. package/lib/utils/env.js +30 -0
  283. package/lib/utils/env.js.map +1 -0
  284. package/lib/utils/props.d.ts +37 -0
  285. package/lib/utils/props.js +73 -0
  286. package/lib/utils/props.js.map +1 -0
  287. package/lib/utils/request.d.ts +6 -0
  288. package/lib/utils/request.js +162 -0
  289. package/lib/utils/request.js.map +1 -0
  290. package/lib/utils/type.d.ts +15 -0
  291. package/lib/utils/type.js +3 -0
  292. package/lib/utils/type.js.map +1 -0
  293. package/lib/utils/with-install.d.ts +4 -0
  294. package/lib/utils/with-install.js +11 -0
  295. package/lib/utils/with-install.js.map +1 -0
  296. package/lib/version.d.ts +1 -0
  297. package/lib/version.js +6 -0
  298. package/lib/version.js.map +1 -0
  299. package/package.json +27 -0
@@ -0,0 +1,68 @@
1
+ import { CSSProperties } from 'vue';
2
+ import type { VNode, PropType, ExtractPublicPropTypes } from 'vue';
3
+ export declare const formItemProps: {
4
+ class: StringConstructor;
5
+ style: {
6
+ type: PropType<string | CSSProperties>;
7
+ };
8
+ isShowLabel: {
9
+ type: BooleanConstructor;
10
+ default: boolean;
11
+ };
12
+ hideRequiredAsterisk: BooleanConstructor;
13
+ tableProp: StringConstructor;
14
+ show: {
15
+ type: PropType<boolean | ((T: unknown) => boolean)>;
16
+ };
17
+ hide: {
18
+ type: PropType<boolean | ((T: unknown) => boolean)>;
19
+ };
20
+ type: {
21
+ type: StringConstructor;
22
+ };
23
+ col: NumberConstructor;
24
+ render: PropType<() => VNode>;
25
+ labelRender: PropType<({ label }: {
26
+ label: string | undefined;
27
+ }) => VNode>;
28
+ props: ObjectConstructor;
29
+ label: StringConstructor;
30
+ labelWidth: {
31
+ readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>>;
32
+ readonly required: false;
33
+ readonly validator: ((val: unknown) => boolean) | undefined;
34
+ __epPropKey: true;
35
+ };
36
+ labelPosition: import("element-plus/es/utils").EpPropFinalized<StringConstructor, "" | "left" | "right" | "top", unknown, "", boolean>;
37
+ prop: {
38
+ readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<(new (...args: any[]) => string | string[]) | (() => import("element-plus").FormItemProp) | ((new (...args: any[]) => string | string[]) | (() => import("element-plus").FormItemProp))[], unknown, unknown>>;
39
+ readonly required: false;
40
+ readonly validator: ((val: unknown) => boolean) | undefined;
41
+ __epPropKey: true;
42
+ };
43
+ required: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, undefined, boolean>;
44
+ rules: {
45
+ readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<(new (...args: any[]) => import("element-plus").FormItemRule | import("element-plus").FormItemRule[]) | (() => import("element-plus/es/utils").Arrayable<import("element-plus").FormItemRule>) | ((new (...args: any[]) => import("element-plus").FormItemRule | import("element-plus").FormItemRule[]) | (() => import("element-plus/es/utils").Arrayable<import("element-plus").FormItemRule>))[], unknown, unknown>>;
46
+ readonly required: false;
47
+ readonly validator: ((val: unknown) => boolean) | undefined;
48
+ __epPropKey: true;
49
+ };
50
+ error: StringConstructor;
51
+ validateStatus: {
52
+ readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<StringConstructor, "" | "error" | "success" | "validating", unknown>>;
53
+ readonly required: false;
54
+ readonly validator: ((val: unknown) => boolean) | undefined;
55
+ __epPropKey: true;
56
+ };
57
+ for: StringConstructor;
58
+ inlineMessage: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, undefined, boolean>;
59
+ showMessage: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
60
+ size: {
61
+ readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<StringConstructor, "" | "small" | "default" | "large", unknown>>;
62
+ readonly required: false;
63
+ readonly validator: ((val: unknown) => boolean) | undefined;
64
+ __epPropKey: true;
65
+ };
66
+ };
67
+ export type FormItemProps = ExtractPublicPropTypes<typeof formItemProps>;
68
+ export declare const expandFormItemPropsKeys: string[];
@@ -0,0 +1,33 @@
1
+ import { formItemProps as formItemProps$1 } from 'element-plus';
2
+ import { visibleProps } from '../../../utils/props.mjs';
3
+
4
+ const expandFormItemProps = {
5
+ type: {
6
+ type: String
7
+ // default: 'EpInput',
8
+ },
9
+ col: Number,
10
+ render: Function,
11
+ labelRender: Function,
12
+ props: Object,
13
+ ...visibleProps,
14
+ class: String,
15
+ style: {
16
+ type: [String, Object]
17
+ },
18
+ isShowLabel: {
19
+ type: Boolean,
20
+ default: true
21
+ },
22
+ hideRequiredAsterisk: Boolean,
23
+ tableProp: String
24
+ // 用于table里的表单需要绑定的prop
25
+ };
26
+ const formItemProps = {
27
+ ...formItemProps$1,
28
+ ...expandFormItemProps
29
+ };
30
+ const expandFormItemPropsKeys = Object.keys(expandFormItemProps);
31
+
32
+ export { expandFormItemPropsKeys, formItemProps };
33
+ //# sourceMappingURL=form-item.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"form-item.mjs","sources":["../../../../../../packages/components/form/src/form-item.ts"],"sourcesContent":["import { formItemProps as elFormItemProps } from 'element-plus'\nimport { visibleProps } 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<() => VNode>,\n labelRender: Function as PropType<\n ({ label }: { label: string | undefined }) => VNode\n >,\n props: Object,\n ...visibleProps,\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}\nexport type FormItemProps = ExtractPublicPropTypes<typeof formItemProps>\nexport const expandFormItemPropsKeys = Object.keys(expandFormItemProps)\n"],"names":["elFormItemProps"],"mappings":";;;AASA,MAAM,mBAAA,GAAsB;AAAA,EAC1B,IAAA,EAAM;AAAA,IACJ,IAAA,EAAM;AAAA;AAAA,GAER;AAAA,EACA,GAAA,EAAK,MAAA;AAAA,EACL,MAAA,EAAQ,QAAA;AAAA,EACR,WAAA,EAAa,QAAA;AAAA,EAGb,KAAA,EAAO,MAAA;AAAA,EACP,GAAG,YAAA;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,GAAGA,eAAA;AAAA,EACH,GAAG;AACL;AAEO,MAAM,uBAAA,GAA0B,MAAA,CAAO,IAAA,CAAK,mBAAmB;;;;"}
@@ -0,0 +1,66 @@
1
+ import type { ExtractPropTypes, PropType } from 'vue';
2
+ import type { FormItemProps } from './form-item';
3
+ export declare const formProps: {
4
+ size: {
5
+ default: string;
6
+ type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<StringConstructor, "" | "small" | "default" | "large", unknown>>;
7
+ required: false;
8
+ validator: ((val: unknown) => boolean) | undefined;
9
+ __epPropKey: true;
10
+ };
11
+ labelWidth: {
12
+ default: number;
13
+ type: PropType<import("element-plus/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>>;
14
+ required: false;
15
+ validator: ((val: unknown) => boolean) | undefined;
16
+ __epPropKey: true;
17
+ };
18
+ scrollIntoViewOptions: {
19
+ default: () => {
20
+ inline: string;
21
+ };
22
+ type: PropType<import("element-plus/es/utils").EpPropMergeType<(new (...args: any[]) => boolean | ScrollIntoViewOptions) | (() => boolean | ScrollIntoViewOptions) | ((new (...args: any[]) => boolean | ScrollIntoViewOptions) | (() => boolean | ScrollIntoViewOptions))[], unknown, unknown>>;
23
+ required: false;
24
+ validator: ((val: unknown) => boolean) | undefined;
25
+ __epPropKey: true;
26
+ };
27
+ formItemList: {
28
+ type: PropType<FormItemProps[]>;
29
+ default: () => FormItemProps[];
30
+ };
31
+ isShowFold: BooleanConstructor;
32
+ showFieldCount: {
33
+ type: NumberConstructor;
34
+ default: number;
35
+ };
36
+ col: {
37
+ type: NumberConstructor;
38
+ default: number;
39
+ };
40
+ model: ObjectConstructor;
41
+ rules: {
42
+ readonly type: import("vue").PropType<Partial<Record<string, import("element-plus/es/utils").Arrayable<import("element-plus").FormItemRule>>>>;
43
+ readonly required: false;
44
+ readonly validator: ((val: unknown) => boolean) | undefined;
45
+ __epPropKey: true;
46
+ };
47
+ labelPosition: import("element-plus/es/utils").EpPropFinalized<StringConstructor, "left" | "right" | "top", unknown, "right", boolean>;
48
+ requireAsteriskPosition: import("element-plus/es/utils").EpPropFinalized<StringConstructor, "left" | "right", unknown, "left", boolean>;
49
+ labelSuffix: import("element-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
50
+ inline: BooleanConstructor;
51
+ inlineMessage: BooleanConstructor;
52
+ statusIcon: BooleanConstructor;
53
+ showMessage: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
54
+ validateOnRuleChange: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
55
+ hideRequiredAsterisk: BooleanConstructor;
56
+ scrollToError: BooleanConstructor;
57
+ disabled: BooleanConstructor;
58
+ };
59
+ export type FormProps = ExtractPropTypes<typeof formProps>;
60
+ export declare const expandFormPropsKeys: string[];
61
+ export declare const formEmits: {
62
+ toggleStatus: (status: boolean) => boolean;
63
+ validate: (prop: import("element-plus").FormItemProp, isValid: boolean, message: string) => boolean;
64
+ };
65
+ export type FormEmits = typeof formEmits;
66
+ export declare const formEmitsKeys: string[];
@@ -0,0 +1,50 @@
1
+ import { formProps as formProps$1, formEmits as formEmits$1 } from 'element-plus';
2
+
3
+ const expandFormProps = {
4
+ // 表单列表
5
+ formItemList: {
6
+ type: Array,
7
+ default: () => []
8
+ },
9
+ // 是否显示折叠
10
+ isShowFold: Boolean,
11
+ // 最大显示的表单数
12
+ showFieldCount: {
13
+ type: Number,
14
+ default: 8
15
+ },
16
+ // 每行的列数
17
+ col: {
18
+ type: Number,
19
+ default: 4
20
+ }
21
+ };
22
+ const formProps = {
23
+ ...formProps$1,
24
+ ...expandFormProps,
25
+ size: {
26
+ ...formProps$1.size,
27
+ default: "small"
28
+ },
29
+ // 标签的长度
30
+ labelWidth: {
31
+ ...formProps$1.labelWidth,
32
+ default: 120
33
+ },
34
+ scrollIntoViewOptions: {
35
+ ...formProps$1.scrollIntoViewOptions,
36
+ default: () => {
37
+ return { inline: "center" };
38
+ }
39
+ }
40
+ };
41
+ const expandFormPropsKeys = Object.keys(expandFormProps);
42
+ const formEmits = {
43
+ ...formEmits$1,
44
+ toggleStatus: (status) => true
45
+ // 折叠状态切换时触发
46
+ };
47
+ const formEmitsKeys = Object.keys(formEmits);
48
+
49
+ export { expandFormPropsKeys, formEmits, formEmitsKeys, formProps };
50
+ //# sourceMappingURL=form.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"form.mjs","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: 120,\n },\n scrollIntoViewOptions: {\n ...elFormProps.scrollIntoViewOptions,\n default: () => {\n return { inline: 'center' }\n },\n },\n}\nexport type FormProps = ExtractPropTypes<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,WAAA;AAAA,EACH,GAAG,eAAA;AAAA,EACH,IAAA,EAAM;AAAA,IACJ,GAAGA,WAAA,CAAY,IAAA;AAAA,IACf,OAAA,EAAS;AAAA,GACX;AAAA;AAAA,EAEA,UAAA,EAAY;AAAA,IACV,GAAGA,WAAA,CAAY,UAAA;AAAA,IACf,OAAA,EAAS;AAAA,GACX;AAAA,EACA,qBAAA,EAAuB;AAAA,IACrB,GAAGA,WAAA,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,WAAA;AAAA,EACH,YAAA,EAAc,CAAC,MAAA,KAAoB;AAAA;AACrC;AAIO,MAAM,aAAA,GAAgB,MAAA,CAAO,IAAA,CAAK,SAAS;;;;"}
@@ -0,0 +1,161 @@
1
+ declare var __VLS_9: {};
2
+ type __VLS_Slots = {} & {
3
+ default?: (props: typeof __VLS_9) => any;
4
+ };
5
+ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
6
+ size: {
7
+ default: string;
8
+ type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<StringConstructor, "" | "small" | "default" | "large", unknown>>;
9
+ required: false;
10
+ validator: ((val: unknown) => boolean) | undefined;
11
+ __epPropKey: true;
12
+ };
13
+ labelWidth: {
14
+ default: number;
15
+ type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>>;
16
+ required: false;
17
+ validator: ((val: unknown) => boolean) | undefined;
18
+ __epPropKey: true;
19
+ };
20
+ scrollIntoViewOptions: {
21
+ default: () => {
22
+ inline: string;
23
+ };
24
+ type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<(new (...args: any[]) => boolean | ScrollIntoViewOptions) | (() => boolean | ScrollIntoViewOptions) | ((new (...args: any[]) => boolean | ScrollIntoViewOptions) | (() => boolean | ScrollIntoViewOptions))[], unknown, unknown>>;
25
+ required: false;
26
+ validator: ((val: unknown) => boolean) | undefined;
27
+ __epPropKey: true;
28
+ };
29
+ formItemList: {
30
+ type: import("vue").PropType<import("packages/el-plus").FormItemProps[]>;
31
+ default: () => import("packages/el-plus").FormItemProps[];
32
+ };
33
+ isShowFold: BooleanConstructor;
34
+ showFieldCount: {
35
+ type: NumberConstructor;
36
+ default: number;
37
+ };
38
+ col: {
39
+ type: NumberConstructor;
40
+ default: number;
41
+ };
42
+ model: ObjectConstructor;
43
+ rules: {
44
+ readonly type: import("vue").PropType<Partial<Record<string, import("element-plus/es/utils").Arrayable<import("element-plus").FormItemRule>>>>;
45
+ readonly required: false;
46
+ readonly validator: ((val: unknown) => boolean) | undefined;
47
+ __epPropKey: true;
48
+ };
49
+ labelPosition: import("element-plus/es/utils").EpPropFinalized<StringConstructor, "left" | "right" | "top", unknown, "right", boolean>;
50
+ requireAsteriskPosition: import("element-plus/es/utils").EpPropFinalized<StringConstructor, "left" | "right", unknown, "left", boolean>;
51
+ labelSuffix: import("element-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
52
+ inline: BooleanConstructor;
53
+ inlineMessage: BooleanConstructor;
54
+ statusIcon: BooleanConstructor;
55
+ showMessage: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
56
+ validateOnRuleChange: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
57
+ hideRequiredAsterisk: BooleanConstructor;
58
+ scrollToError: BooleanConstructor;
59
+ disabled: BooleanConstructor;
60
+ modelValue: {
61
+ type: import("vue").PropType<Record<string, unknown>>;
62
+ };
63
+ }>, {
64
+ elFormRef: Readonly<import("vue").ShallowRef<import("element-plus").FormInstance | null>>;
65
+ validate: () => import("element-plus").FormValidationResult;
66
+ resetFields: (props: import("element-plus").FormItemProp) => void;
67
+ clearValidate: (props: import("element-plus").FormItemProp) => void;
68
+ }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
69
+ toggleStatus: (status: boolean) => void;
70
+ validate: (prop: import("element-plus").FormItemProp, isValid: boolean, message: string) => void;
71
+ "update:modelValue": (value: Record<string, unknown>) => void;
72
+ }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
73
+ size: {
74
+ default: string;
75
+ type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<StringConstructor, "" | "small" | "default" | "large", unknown>>;
76
+ required: false;
77
+ validator: ((val: unknown) => boolean) | undefined;
78
+ __epPropKey: true;
79
+ };
80
+ labelWidth: {
81
+ default: number;
82
+ type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>>;
83
+ required: false;
84
+ validator: ((val: unknown) => boolean) | undefined;
85
+ __epPropKey: true;
86
+ };
87
+ scrollIntoViewOptions: {
88
+ default: () => {
89
+ inline: string;
90
+ };
91
+ type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<(new (...args: any[]) => boolean | ScrollIntoViewOptions) | (() => boolean | ScrollIntoViewOptions) | ((new (...args: any[]) => boolean | ScrollIntoViewOptions) | (() => boolean | ScrollIntoViewOptions))[], unknown, unknown>>;
92
+ required: false;
93
+ validator: ((val: unknown) => boolean) | undefined;
94
+ __epPropKey: true;
95
+ };
96
+ formItemList: {
97
+ type: import("vue").PropType<import("packages/el-plus").FormItemProps[]>;
98
+ default: () => import("packages/el-plus").FormItemProps[];
99
+ };
100
+ isShowFold: BooleanConstructor;
101
+ showFieldCount: {
102
+ type: NumberConstructor;
103
+ default: number;
104
+ };
105
+ col: {
106
+ type: NumberConstructor;
107
+ default: number;
108
+ };
109
+ model: ObjectConstructor;
110
+ rules: {
111
+ readonly type: import("vue").PropType<Partial<Record<string, import("element-plus/es/utils").Arrayable<import("element-plus").FormItemRule>>>>;
112
+ readonly required: false;
113
+ readonly validator: ((val: unknown) => boolean) | undefined;
114
+ __epPropKey: true;
115
+ };
116
+ labelPosition: import("element-plus/es/utils").EpPropFinalized<StringConstructor, "left" | "right" | "top", unknown, "right", boolean>;
117
+ requireAsteriskPosition: import("element-plus/es/utils").EpPropFinalized<StringConstructor, "left" | "right", unknown, "left", boolean>;
118
+ labelSuffix: import("element-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
119
+ inline: BooleanConstructor;
120
+ inlineMessage: BooleanConstructor;
121
+ statusIcon: BooleanConstructor;
122
+ showMessage: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
123
+ validateOnRuleChange: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
124
+ hideRequiredAsterisk: BooleanConstructor;
125
+ scrollToError: BooleanConstructor;
126
+ disabled: BooleanConstructor;
127
+ modelValue: {
128
+ type: import("vue").PropType<Record<string, unknown>>;
129
+ };
130
+ }>> & Readonly<{
131
+ onToggleStatus?: ((status: boolean) => any) | undefined;
132
+ onValidate?: ((prop: import("element-plus").FormItemProp, isValid: boolean, message: string) => any) | undefined;
133
+ "onUpdate:modelValue"?: ((value: Record<string, unknown>) => any) | undefined;
134
+ }>, {
135
+ disabled: boolean;
136
+ size: import("element-plus/es/utils").EpPropMergeType<StringConstructor, "" | "small" | "default" | "large", unknown>;
137
+ hideRequiredAsterisk: boolean;
138
+ col: number;
139
+ labelWidth: import("element-plus/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>;
140
+ labelPosition: import("element-plus/es/utils").EpPropMergeType<StringConstructor, "top" | "right" | "left", unknown>;
141
+ inlineMessage: boolean;
142
+ showMessage: import("element-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
143
+ scrollIntoViewOptions: import("element-plus/es/utils").EpPropMergeType<(new (...args: any[]) => boolean | ScrollIntoViewOptions) | (() => boolean | ScrollIntoViewOptions) | ((new (...args: any[]) => boolean | ScrollIntoViewOptions) | (() => boolean | ScrollIntoViewOptions))[], unknown, unknown>;
144
+ formItemList: import("packages/el-plus").FormItemProps[];
145
+ isShowFold: boolean;
146
+ showFieldCount: number;
147
+ requireAsteriskPosition: import("element-plus/es/utils").EpPropMergeType<StringConstructor, "right" | "left", unknown>;
148
+ labelSuffix: string;
149
+ inline: boolean;
150
+ statusIcon: boolean;
151
+ validateOnRuleChange: import("element-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
152
+ scrollToError: boolean;
153
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
154
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
155
+ declare const _default: typeof __VLS_export;
156
+ export default _default;
157
+ type __VLS_WithSlots<T, S> = T & {
158
+ new (): {
159
+ $slots: S;
160
+ };
161
+ };
@@ -0,0 +1,6 @@
1
+ import _sfc_main from './form.vue2.mjs';
2
+
3
+
4
+
5
+ export { _sfc_main as default };
6
+ //# sourceMappingURL=form.vue.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"form.vue.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
@@ -0,0 +1,124 @@
1
+ import { defineComponent, mergeModels, computed, useModel, resolveComponent, createElementBlock, openBlock, normalizeStyle, normalizeClass, unref, createVNode, createCommentVNode, mergeProps, withCtx, renderSlot, Fragment, renderList, withDirectives, createBlock, vShow, toDisplayString, reactive } from 'vue';
2
+ import { createNameSpace } from '../../../utils/bem.mjs';
3
+ import { expandFormPropsKeys, formEmits, formProps, formEmitsKeys } from './form.mjs';
4
+ import { prepareEvents, prepareProps, prepareStyles, prepareClassNames } from '../../../utils/props.mjs';
5
+ import { useForm, useCollapse } from './hooks/use-form.mjs';
6
+ import EpFormItem from './form-item-vue.mjs';
7
+
8
+ var _sfc_main = /* @__PURE__ */ defineComponent({
9
+ ...{
10
+ name: "EpForm",
11
+ inheritAttrs: false
12
+ },
13
+ __name: "form",
14
+ props: /* @__PURE__ */ mergeModels(formProps, {
15
+ "modelValue": { type: Object, ...{
16
+ default: () => reactive({})
17
+ } },
18
+ "modelModifiers": {}
19
+ }),
20
+ emits: /* @__PURE__ */ mergeModels(formEmits, ["update:modelValue"]),
21
+ setup(__props, { expose: __expose, emit: __emit }) {
22
+ const bem = createNameSpace("form");
23
+ const props = __props;
24
+ const emit = __emit;
25
+ const customAttrs = computed(() => {
26
+ return {
27
+ ...prepareProps(props, ["modelValue", "model", ...expandFormPropsKeys]),
28
+ hideRequiredAsterisk: true,
29
+ // 隐藏必填星号, 使用自己的*
30
+ scrollToError: true,
31
+ ...prepareEvents(emit, formEmitsKeys)
32
+ };
33
+ });
34
+ const formData = useModel(__props, "modelValue");
35
+ const { filterFormItemList, elFormRef, validate, resetFields, clearValidate } = useForm(props);
36
+ const { open, toggleStatus, isShowFoldBtn, isShowFormItem } = useCollapse(
37
+ {
38
+ filterFormItemList,
39
+ isShowFold: props.isShowFold,
40
+ showFieldCount: props.showFieldCount
41
+ },
42
+ emit
43
+ );
44
+ __expose({
45
+ elFormRef,
46
+ validate,
47
+ resetFields,
48
+ clearValidate
49
+ });
50
+ return (_ctx, _cache) => {
51
+ const _component_el_col = resolveComponent("el-col");
52
+ const _component_el_row = resolveComponent("el-row");
53
+ const _component_el_form = resolveComponent("el-form");
54
+ return openBlock(), createElementBlock(
55
+ "div",
56
+ {
57
+ class: normalizeClass([
58
+ unref(bem).b(),
59
+ unref(prepareClassNames)(),
60
+ unref(bem).is("open", unref(open)),
61
+ unref(bem).is("fold", unref(isShowFoldBtn))
62
+ ]),
63
+ style: normalizeStyle({
64
+ ...unref(prepareStyles)()
65
+ })
66
+ },
67
+ [
68
+ createVNode(_component_el_form, mergeProps({
69
+ ref_key: "elFormRef",
70
+ ref: elFormRef,
71
+ model: formData.value
72
+ }, customAttrs.value), {
73
+ default: withCtx(() => [
74
+ renderSlot(_ctx.$slots, "default", {}, () => [
75
+ createVNode(_component_el_row, null, {
76
+ default: withCtx(() => [
77
+ (openBlock(true), createElementBlock(
78
+ Fragment,
79
+ null,
80
+ renderList(unref(filterFormItemList), (item, index) => {
81
+ return withDirectives((openBlock(), createBlock(_component_el_col, {
82
+ key: item.prop || index,
83
+ class: normalizeClass(unref(bem).e("col")),
84
+ span: item.col || 24 / _ctx.col
85
+ }, {
86
+ default: withCtx(() => [
87
+ createVNode(unref(EpFormItem), mergeProps({
88
+ "form-data": formData.value,
89
+ "form-label-width": _ctx.labelWidth
90
+ }, { ref_for: true }, item), null, 16, ["form-data", "form-label-width"])
91
+ ]),
92
+ _: 2
93
+ /* DYNAMIC */
94
+ }, 1032, ["class", "span"])), [
95
+ [vShow, unref(isShowFormItem)(index)]
96
+ ]);
97
+ }),
98
+ 128
99
+ /* KEYED_FRAGMENT */
100
+ ))
101
+ ]),
102
+ _: 1
103
+ /* STABLE */
104
+ })
105
+ ])
106
+ ]),
107
+ _: 3
108
+ /* FORWARDED */
109
+ }, 16, ["model"]),
110
+ unref(isShowFoldBtn) ? (openBlock(), createElementBlock("div", {
111
+ key: 0,
112
+ class: normalizeClass(unref(bem).e("fold")),
113
+ onClick: unref(toggleStatus)
114
+ }, toDisplayString(unref(open) ? "\u6536\u8D77" : "\u66F4\u591A"), 11, ["onClick"])) : createCommentVNode("v-if", true)
115
+ ],
116
+ 6
117
+ /* CLASS, STYLE */
118
+ );
119
+ };
120
+ }
121
+ });
122
+
123
+ export { _sfc_main as default };
124
+ //# sourceMappingURL=form.vue2.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"form.vue2.mjs","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 />\n </el-col>\n </el-row>\n </slot>\n </el-form>\n <div v-if=\"isShowFoldBtn\" :class=\"bem.e('fold')\" @click=\"toggleStatus\">\n {{ open ? '收起' : '更多' }}\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 { useCollapse, useForm } from './hooks/use-form'\nimport FormItem from './form-item-vue'\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 { filterFormItemList, elFormRef, validate, resetFields, clearValidate } =\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})\n</script>\n"],"names":["_useModel","_createElementBlock","_normalizeClass","_unref","_normalizeStyle","_createVNode","_mergeProps","_renderSlot","_openBlock","_Fragment","_renderList","_createBlock","col","labelWidth","_vShow"],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import type { FormItemProps } from '../form-item';
2
+ import type { FormItemRule } from 'element-plus';
3
+ export declare const useFormItem: () => {};
4
+ export declare const useFormItemSlots: (props: FormItemProps) => {
5
+ scopedSlots: {
6
+ default: () => unknown;
7
+ label: () => import("vue/jsx-runtime").JSX.Element;
8
+ };
9
+ };
10
+ export declare const useFormItemRules: (props: FormItemProps) => {
11
+ rules: FormItemRule[];
12
+ };
@@ -0,0 +1,97 @@
1
+ import { useAttrs, createVNode, resolveComponent, createTextVNode, h } from 'vue';
2
+
3
+ const useFormItem = () => {
4
+ return {};
5
+ };
6
+ const useFormItemSlots = (props) => {
7
+ const attrs = useAttrs();
8
+ const {
9
+ type,
10
+ label,
11
+ render,
12
+ required,
13
+ labelRender
14
+ } = props;
15
+ const prop = props.tableProp || props.prop;
16
+ const {
17
+ scopedSlots: renderScopedSlots,
18
+ ...renderProps
19
+ } = props.props || {};
20
+ const events = {};
21
+ for (const key in attrs) {
22
+ if (key.startsWith("on")) {
23
+ events[key] = attrs[key];
24
+ }
25
+ }
26
+ const formData = attrs["form-data"];
27
+ const scopedSlots = {
28
+ default: () => {
29
+ return type ? h(resolveComponent(type), {
30
+ modelValue: formData[prop],
31
+ "onUpdate:modelValue": (value) => {
32
+ formData[prop] = value;
33
+ },
34
+ ...renderProps,
35
+ ...events
36
+ }, renderScopedSlots) : formData[prop];
37
+ },
38
+ label: () => {
39
+ return createVNode(resolveComponent("el-tooltip"), {
40
+ "placement": "top",
41
+ "effect": "light",
42
+ "content": label,
43
+ "disabled": !props.isShowLabel
44
+ }, {
45
+ default: () => [createVNode("span", null, [!props.hideRequiredAsterisk && required ? createVNode("span", {
46
+ "style": "color: var(--el-color-danger);"
47
+ }, [createTextVNode("*")]) : null, props.isShowLabel ? createVNode("span", null, [label]) : ""])]
48
+ });
49
+ }
50
+ };
51
+ if (labelRender) {
52
+ scopedSlots.label = () => labelRender({
53
+ label
54
+ });
55
+ }
56
+ if (render) {
57
+ scopedSlots.default = render;
58
+ }
59
+ return {
60
+ scopedSlots
61
+ };
62
+ };
63
+ const useFormItemRules = (props) => {
64
+ const {
65
+ required,
66
+ rules,
67
+ label
68
+ } = props;
69
+ let mergeRules = [];
70
+ if (required) {
71
+ const requiredDefault = {
72
+ required: true
73
+ };
74
+ mergeRules.push(requiredDefault);
75
+ }
76
+ if (rules) {
77
+ if (Array.isArray(rules)) {
78
+ mergeRules = mergeRules.concat(rules);
79
+ }
80
+ if (Object.prototype.toString.call(rules) === "[object Object]") {
81
+ mergeRules.push(rules);
82
+ }
83
+ }
84
+ if (mergeRules) {
85
+ mergeRules.forEach((r) => {
86
+ if (r.required && typeof r.message === "undefined") {
87
+ r.message = `${label || ""}\u4E0D\u80FD\u4E3A\u7A7A`;
88
+ }
89
+ });
90
+ }
91
+ return {
92
+ rules: mergeRules
93
+ };
94
+ };
95
+
96
+ export { useFormItem, useFormItemRules, useFormItemSlots };
97
+ //# sourceMappingURL=use-form-item.mjs.map