ele-admin-plus 1.3.0-beta.2 → 1.3.0-beta.3

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 (379) hide show
  1. package/es/core-components.d.ts +9 -0
  2. package/es/core-components.js +122 -104
  3. package/es/ele-autocomplete/index.d.ts +81 -0
  4. package/es/ele-autocomplete/index.js +73 -0
  5. package/es/ele-autocomplete/props.d.ts +27 -0
  6. package/es/ele-autocomplete/props.js +11 -0
  7. package/es/ele-autocomplete/style/index.d.ts +1 -0
  8. package/es/ele-autocomplete/style/index.js +1 -0
  9. package/es/ele-autocomplete/types.d.ts +18 -0
  10. package/es/ele-cascader/index.d.ts +15 -4
  11. package/es/ele-cascader/index.js +7 -3
  12. package/es/ele-cascader/props.d.ts +4 -2
  13. package/es/ele-cascader/props.js +2 -0
  14. package/es/ele-cascader/types.d.ts +9 -0
  15. package/es/ele-check-card/index.d.ts +4 -2
  16. package/es/ele-check-card/index.js +13 -3
  17. package/es/ele-check-card/props.d.ts +2 -2
  18. package/es/ele-check-card/props.js +1 -1
  19. package/es/ele-check-card/types.d.ts +5 -0
  20. package/es/ele-checkbox-group/index.d.ts +60 -0
  21. package/es/ele-checkbox-group/index.js +74 -0
  22. package/es/ele-checkbox-group/props.d.ts +29 -0
  23. package/es/ele-checkbox-group/props.js +13 -0
  24. package/es/ele-checkbox-group/style/index.d.ts +1 -0
  25. package/es/ele-checkbox-group/style/index.js +3 -0
  26. package/es/ele-checkbox-group/types.d.ts +25 -0
  27. package/es/ele-dropdown/components/pro-dropdown.d.ts +2 -2
  28. package/es/ele-ellipsis/index.d.ts +1 -1
  29. package/es/ele-icon/index.d.ts +26 -0
  30. package/es/ele-icon/index.js +7 -15
  31. package/es/ele-icon/props.d.ts +15 -0
  32. package/es/ele-icon/props.js +5 -1
  33. package/es/ele-icon/types.d.ts +4 -0
  34. package/es/ele-mention/index.d.ts +244 -0
  35. package/es/ele-mention/index.js +52 -0
  36. package/es/ele-mention/props.d.ts +105 -0
  37. package/es/ele-mention/props.js +11 -0
  38. package/es/ele-mention/style/index.d.ts +1 -0
  39. package/es/ele-mention/style/index.js +1 -0
  40. package/es/ele-mention/types.d.ts +16 -0
  41. package/es/ele-popover/index.d.ts +3 -3
  42. package/es/ele-pro-form/components/builder-wrapper.js +3 -3
  43. package/es/ele-pro-form/components/item-type-data.js +46 -95
  44. package/es/ele-pro-form/components/render-util.d.ts +58 -6
  45. package/es/ele-pro-form/components/render-util.js +207 -65
  46. package/es/ele-pro-form/index.d.ts +9 -3
  47. package/es/ele-pro-form/index.js +37 -8
  48. package/es/ele-pro-form/props.d.ts +17 -9
  49. package/es/ele-pro-form/props.js +18 -3
  50. package/es/ele-pro-form/style/index.js +16 -19
  51. package/es/ele-pro-form/style/index.scss +102 -0
  52. package/es/ele-pro-form/types.d.ts +3 -23
  53. package/es/ele-pro-form/util.d.ts +16 -1
  54. package/es/ele-pro-form/util.js +52 -4
  55. package/es/ele-pro-form-builder/components/body-form.d.ts +5 -1
  56. package/es/ele-pro-form-builder/components/body-form.js +9 -6
  57. package/es/ele-pro-form-builder/components/body-header.d.ts +16 -2
  58. package/es/ele-pro-form-builder/components/body-header.js +92 -30
  59. package/es/ele-pro-form-builder/components/build-core.d.ts +58 -0
  60. package/es/ele-pro-form-builder/components/build-core.js +195 -0
  61. package/es/ele-pro-form-builder/components/build-util.d.ts +3 -2
  62. package/es/ele-pro-form-builder/components/build-util.js +14 -6
  63. package/es/ele-pro-form-builder/components/children-edit.d.ts +2 -2
  64. package/es/ele-pro-form-builder/components/children-edit.js +55 -49
  65. package/es/ele-pro-form-builder/components/code-editer.d.ts +21 -0
  66. package/es/ele-pro-form-builder/components/code-editer.js +27 -0
  67. package/es/ele-pro-form-builder/components/code-generator.d.ts +110 -0
  68. package/es/ele-pro-form-builder/components/code-generator.js +476 -0
  69. package/es/ele-pro-form-builder/components/code-js-var.d.ts +2 -17
  70. package/es/ele-pro-form-builder/components/code-js-var.js +15 -84
  71. package/es/ele-pro-form-builder/components/code-template.d.ts +4 -118
  72. package/es/ele-pro-form-builder/components/code-template.js +34 -486
  73. package/es/ele-pro-form-builder/components/code-util.d.ts +13 -13
  74. package/es/ele-pro-form-builder/components/code-util.js +9 -9
  75. package/es/ele-pro-form-builder/components/component-data.d.ts +2 -0
  76. package/es/ele-pro-form-builder/components/component-data.js +4089 -1154
  77. package/es/ele-pro-form-builder/components/component-list.d.ts +5 -1
  78. package/es/ele-pro-form-builder/components/component-list.js +7 -4
  79. package/es/ele-pro-form-builder/components/component-name.js +1 -1
  80. package/es/ele-pro-form-builder/components/component-picker.d.ts +42 -0
  81. package/es/ele-pro-form-builder/components/component-picker.js +56 -0
  82. package/es/ele-pro-form-builder/components/config-form.d.ts +8 -0
  83. package/es/ele-pro-form-builder/components/config-form.js +38 -14
  84. package/es/ele-pro-form-builder/components/event-edit.d.ts +39 -0
  85. package/es/ele-pro-form-builder/components/event-edit.js +121 -0
  86. package/es/ele-pro-form-builder/components/html-edit.d.ts +31 -0
  87. package/es/ele-pro-form-builder/components/html-edit.js +97 -0
  88. package/es/ele-pro-form-builder/components/if-edit.d.ts +35 -0
  89. package/es/ele-pro-form-builder/components/if-edit.js +106 -0
  90. package/es/ele-pro-form-builder/components/import-modal.d.ts +38 -0
  91. package/es/ele-pro-form-builder/components/import-modal.js +125 -0
  92. package/es/ele-pro-form-builder/components/json-input.d.ts +4 -0
  93. package/es/ele-pro-form-builder/components/json-input.js +4 -3
  94. package/es/ele-pro-form-builder/components/options-code.d.ts +33 -0
  95. package/es/ele-pro-form-builder/components/options-code.js +56 -0
  96. package/es/ele-pro-form-builder/components/options-edit.d.ts +25 -30
  97. package/es/ele-pro-form-builder/components/options-edit.js +64 -428
  98. package/es/ele-pro-form-builder/components/options-table.d.ts +33 -0
  99. package/es/ele-pro-form-builder/components/options-table.js +381 -0
  100. package/es/ele-pro-form-builder/components/outline-list.js +8 -17
  101. package/es/ele-pro-form-builder/components/outline-tree.d.ts +8 -2
  102. package/es/ele-pro-form-builder/components/outline-tree.js +37 -64
  103. package/es/ele-pro-form-builder/components/preview-modal.d.ts +4 -0
  104. package/es/ele-pro-form-builder/components/preview-modal.js +14 -14
  105. package/es/ele-pro-form-builder/components/props-form.d.ts +19 -1
  106. package/es/ele-pro-form-builder/components/props-form.js +130 -55
  107. package/es/ele-pro-form-builder/components/source-edit.d.ts +31 -0
  108. package/es/ele-pro-form-builder/components/source-edit.js +111 -0
  109. package/es/ele-pro-form-builder/components/table-tool-menu.d.ts +6 -1
  110. package/es/ele-pro-form-builder/components/table-tool-menu.js +23 -7
  111. package/es/ele-pro-form-builder/components/table-util.d.ts +17 -9
  112. package/es/ele-pro-form-builder/components/table-util.js +52 -29
  113. package/es/ele-pro-form-builder/components/template-list.js +2 -5
  114. package/es/ele-pro-form-builder/index.d.ts +24 -4
  115. package/es/ele-pro-form-builder/index.js +175 -130
  116. package/es/ele-pro-form-builder/props.d.ts +17 -2
  117. package/es/ele-pro-form-builder/props.js +16 -1
  118. package/es/ele-pro-form-builder/style/index.js +10 -0
  119. package/es/ele-pro-form-builder/style/index.scss +96 -261
  120. package/es/ele-pro-form-builder/types.d.ts +68 -76
  121. package/es/ele-pro-form-builder/util.d.ts +10 -76
  122. package/es/ele-pro-form-builder/util.js +104 -200
  123. package/es/ele-pro-layout/index.d.ts +1 -1
  124. package/es/ele-pro-table/props.d.ts +3 -3
  125. package/es/ele-radio-group/index.d.ts +61 -0
  126. package/es/ele-radio-group/index.js +74 -0
  127. package/es/ele-radio-group/props.d.ts +28 -0
  128. package/es/ele-radio-group/props.js +13 -0
  129. package/es/ele-radio-group/style/index.d.ts +1 -0
  130. package/es/ele-radio-group/style/index.js +3 -0
  131. package/es/ele-radio-group/types.d.ts +25 -0
  132. package/es/ele-select/index.d.ts +14 -3
  133. package/es/ele-select/index.js +12 -6
  134. package/es/ele-select/props.d.ts +2 -2
  135. package/es/ele-select/props.js +1 -1
  136. package/es/ele-select/types.d.ts +6 -1
  137. package/es/ele-select-tree/index.d.ts +21 -0
  138. package/es/ele-select-tree/index.js +57 -0
  139. package/es/ele-select-tree/style/index.d.ts +1 -0
  140. package/es/ele-select-tree/style/index.js +1 -0
  141. package/es/ele-select-tree/types.d.ts +14 -0
  142. package/es/ele-steps/index.d.ts +8 -19
  143. package/es/ele-steps/index.js +13 -7
  144. package/es/ele-steps/props.d.ts +2 -5
  145. package/es/ele-steps/props.js +1 -4
  146. package/es/ele-steps/types.d.ts +5 -0
  147. package/es/ele-tab-bar/index.d.ts +20 -0
  148. package/es/ele-tab-bar/index.js +43 -0
  149. package/es/ele-tab-bar/props.d.ts +25 -0
  150. package/es/ele-tab-bar/props.js +18 -0
  151. package/es/ele-tab-bar/style/css-var.scss +8 -0
  152. package/es/ele-tab-bar/style/index.d.ts +1 -0
  153. package/es/ele-tab-bar/style/index.js +1 -0
  154. package/es/ele-tab-bar/style/index.scss +87 -0
  155. package/es/ele-tab-bar/types.d.ts +14 -0
  156. package/es/ele-timeline/style/css-var.scss +1 -1
  157. package/es/ele-timeline/style/index.scss +2 -2
  158. package/es/ele-transfer/index.d.ts +94 -0
  159. package/es/ele-transfer/index.js +54 -0
  160. package/es/ele-transfer/props.d.ts +39 -0
  161. package/es/ele-transfer/props.js +11 -0
  162. package/es/ele-transfer/style/index.d.ts +1 -0
  163. package/es/ele-transfer/style/index.js +1 -0
  164. package/es/ele-transfer/types.d.ts +16 -0
  165. package/es/ele-tree-select/index.d.ts +8 -4
  166. package/es/ele-tree-select/index.js +18 -12
  167. package/es/ele-tree-select/props.d.ts +4 -4
  168. package/es/ele-tree-select/types.d.ts +13 -0
  169. package/es/ele-tree-table/components/table-body.d.ts +57 -0
  170. package/es/ele-tree-table/components/table-body.js +100 -0
  171. package/es/ele-tree-table/components/table-row.d.ts +53 -0
  172. package/es/ele-tree-table/components/table-row.js +105 -0
  173. package/es/ele-tree-table/index.d.ts +30 -0
  174. package/es/ele-tree-table/index.js +155 -0
  175. package/es/ele-tree-table/props.d.ts +25 -0
  176. package/es/ele-tree-table/props.js +20 -0
  177. package/es/ele-tree-table/style/css-var.scss +8 -0
  178. package/es/ele-tree-table/style/index.d.ts +1 -0
  179. package/es/ele-tree-table/style/index.js +2 -0
  180. package/es/ele-tree-table/style/index.scss +224 -0
  181. package/es/ele-tree-table/types.d.ts +27 -0
  182. package/es/style/plus.scss +2 -0
  183. package/es/style/themes/default.scss +18 -0
  184. package/es/style/themes/theme-util.scss +4 -0
  185. package/es/utils/hook.d.ts +18 -3
  186. package/es/utils/hook.js +37 -1
  187. package/lib/core-components.cjs +122 -104
  188. package/lib/core-components.d.ts +9 -0
  189. package/lib/ele-autocomplete/index.cjs +72 -0
  190. package/lib/ele-autocomplete/index.d.ts +81 -0
  191. package/lib/ele-autocomplete/props.cjs +13 -0
  192. package/lib/ele-autocomplete/props.d.ts +27 -0
  193. package/lib/ele-autocomplete/style/index.cjs +2 -0
  194. package/lib/ele-autocomplete/style/index.d.ts +1 -0
  195. package/lib/ele-autocomplete/types.d.ts +18 -0
  196. package/lib/ele-cascader/index.cjs +6 -2
  197. package/lib/ele-cascader/index.d.ts +15 -4
  198. package/lib/ele-cascader/props.cjs +2 -0
  199. package/lib/ele-cascader/props.d.ts +4 -2
  200. package/lib/ele-cascader/types.d.ts +9 -0
  201. package/lib/ele-check-card/index.cjs +13 -3
  202. package/lib/ele-check-card/index.d.ts +4 -2
  203. package/lib/ele-check-card/props.cjs +1 -1
  204. package/lib/ele-check-card/props.d.ts +2 -2
  205. package/lib/ele-check-card/types.d.ts +5 -0
  206. package/lib/ele-checkbox-group/index.cjs +73 -0
  207. package/lib/ele-checkbox-group/index.d.ts +60 -0
  208. package/lib/ele-checkbox-group/props.cjs +15 -0
  209. package/lib/ele-checkbox-group/props.d.ts +29 -0
  210. package/lib/ele-checkbox-group/style/index.cjs +4 -0
  211. package/lib/ele-checkbox-group/style/index.d.ts +1 -0
  212. package/lib/ele-checkbox-group/types.d.ts +25 -0
  213. package/lib/ele-config-provider/components/receiver-view.cjs +2 -2
  214. package/lib/ele-dropdown/components/pro-dropdown.d.ts +2 -2
  215. package/lib/ele-ellipsis/index.d.ts +1 -1
  216. package/lib/ele-icon/index.cjs +7 -15
  217. package/lib/ele-icon/index.d.ts +26 -0
  218. package/lib/ele-icon/props.cjs +5 -1
  219. package/lib/ele-icon/props.d.ts +15 -0
  220. package/lib/ele-icon/types.d.ts +4 -0
  221. package/lib/ele-mention/index.cjs +51 -0
  222. package/lib/ele-mention/index.d.ts +244 -0
  223. package/lib/ele-mention/props.cjs +13 -0
  224. package/lib/ele-mention/props.d.ts +105 -0
  225. package/lib/ele-mention/style/index.cjs +2 -0
  226. package/lib/ele-mention/style/index.d.ts +1 -0
  227. package/lib/ele-mention/types.d.ts +16 -0
  228. package/lib/ele-popover/index.d.ts +3 -3
  229. package/lib/ele-pro-form/components/builder-wrapper.cjs +2 -2
  230. package/lib/ele-pro-form/components/item-type-data.cjs +45 -94
  231. package/lib/ele-pro-form/components/render-util.cjs +207 -65
  232. package/lib/ele-pro-form/components/render-util.d.ts +58 -6
  233. package/lib/ele-pro-form/index.cjs +36 -7
  234. package/lib/ele-pro-form/index.d.ts +9 -3
  235. package/lib/ele-pro-form/props.cjs +18 -3
  236. package/lib/ele-pro-form/props.d.ts +17 -9
  237. package/lib/ele-pro-form/style/index.cjs +16 -19
  238. package/lib/ele-pro-form/style/index.scss +102 -0
  239. package/lib/ele-pro-form/types.d.ts +3 -23
  240. package/lib/ele-pro-form/util.cjs +50 -4
  241. package/lib/ele-pro-form/util.d.ts +16 -1
  242. package/lib/ele-pro-form-builder/components/body-form.cjs +9 -6
  243. package/lib/ele-pro-form-builder/components/body-form.d.ts +5 -1
  244. package/lib/ele-pro-form-builder/components/body-header.cjs +89 -27
  245. package/lib/ele-pro-form-builder/components/body-header.d.ts +16 -2
  246. package/lib/ele-pro-form-builder/components/build-core.cjs +195 -0
  247. package/lib/ele-pro-form-builder/components/build-core.d.ts +58 -0
  248. package/lib/ele-pro-form-builder/components/build-util.cjs +16 -8
  249. package/lib/ele-pro-form-builder/components/build-util.d.ts +3 -2
  250. package/lib/ele-pro-form-builder/components/children-edit.cjs +55 -49
  251. package/lib/ele-pro-form-builder/components/children-edit.d.ts +2 -2
  252. package/lib/ele-pro-form-builder/components/code-editer.cjs +26 -0
  253. package/lib/ele-pro-form-builder/components/code-editer.d.ts +21 -0
  254. package/lib/ele-pro-form-builder/components/code-generator.cjs +476 -0
  255. package/lib/ele-pro-form-builder/components/code-generator.d.ts +110 -0
  256. package/lib/ele-pro-form-builder/components/code-js-var.cjs +14 -100
  257. package/lib/ele-pro-form-builder/components/code-js-var.d.ts +2 -17
  258. package/lib/ele-pro-form-builder/components/code-template.cjs +34 -486
  259. package/lib/ele-pro-form-builder/components/code-template.d.ts +4 -118
  260. package/lib/ele-pro-form-builder/components/code-util.cjs +9 -9
  261. package/lib/ele-pro-form-builder/components/code-util.d.ts +13 -13
  262. package/lib/ele-pro-form-builder/components/component-data.cjs +4088 -1153
  263. package/lib/ele-pro-form-builder/components/component-data.d.ts +2 -0
  264. package/lib/ele-pro-form-builder/components/component-list.cjs +9 -6
  265. package/lib/ele-pro-form-builder/components/component-list.d.ts +5 -1
  266. package/lib/ele-pro-form-builder/components/component-name.cjs +2 -2
  267. package/lib/ele-pro-form-builder/components/component-picker.cjs +55 -0
  268. package/lib/ele-pro-form-builder/components/component-picker.d.ts +42 -0
  269. package/lib/ele-pro-form-builder/components/config-form.cjs +38 -14
  270. package/lib/ele-pro-form-builder/components/config-form.d.ts +8 -0
  271. package/lib/ele-pro-form-builder/components/event-edit.cjs +120 -0
  272. package/lib/ele-pro-form-builder/components/event-edit.d.ts +39 -0
  273. package/lib/ele-pro-form-builder/components/html-edit.cjs +96 -0
  274. package/lib/ele-pro-form-builder/components/html-edit.d.ts +31 -0
  275. package/lib/ele-pro-form-builder/components/if-edit.cjs +105 -0
  276. package/lib/ele-pro-form-builder/components/if-edit.d.ts +35 -0
  277. package/lib/ele-pro-form-builder/components/import-modal.cjs +124 -0
  278. package/lib/ele-pro-form-builder/components/import-modal.d.ts +38 -0
  279. package/lib/ele-pro-form-builder/components/json-input.cjs +4 -3
  280. package/lib/ele-pro-form-builder/components/json-input.d.ts +4 -0
  281. package/lib/ele-pro-form-builder/components/options-code.cjs +55 -0
  282. package/lib/ele-pro-form-builder/components/options-code.d.ts +33 -0
  283. package/lib/ele-pro-form-builder/components/options-edit.cjs +62 -426
  284. package/lib/ele-pro-form-builder/components/options-edit.d.ts +25 -30
  285. package/lib/ele-pro-form-builder/components/options-table.cjs +380 -0
  286. package/lib/ele-pro-form-builder/components/options-table.d.ts +33 -0
  287. package/lib/ele-pro-form-builder/components/outline-list.cjs +8 -17
  288. package/lib/ele-pro-form-builder/components/outline-tree.cjs +36 -63
  289. package/lib/ele-pro-form-builder/components/outline-tree.d.ts +8 -2
  290. package/lib/ele-pro-form-builder/components/preview-modal.cjs +12 -12
  291. package/lib/ele-pro-form-builder/components/preview-modal.d.ts +4 -0
  292. package/lib/ele-pro-form-builder/components/props-form.cjs +129 -54
  293. package/lib/ele-pro-form-builder/components/props-form.d.ts +19 -1
  294. package/lib/ele-pro-form-builder/components/source-edit.cjs +110 -0
  295. package/lib/ele-pro-form-builder/components/source-edit.d.ts +31 -0
  296. package/lib/ele-pro-form-builder/components/table-tool-menu.cjs +23 -7
  297. package/lib/ele-pro-form-builder/components/table-tool-menu.d.ts +6 -1
  298. package/lib/ele-pro-form-builder/components/table-util.cjs +56 -33
  299. package/lib/ele-pro-form-builder/components/table-util.d.ts +17 -9
  300. package/lib/ele-pro-form-builder/components/template-list.cjs +1 -4
  301. package/lib/ele-pro-form-builder/index.cjs +174 -129
  302. package/lib/ele-pro-form-builder/index.d.ts +24 -4
  303. package/lib/ele-pro-form-builder/props.cjs +16 -1
  304. package/lib/ele-pro-form-builder/props.d.ts +17 -2
  305. package/lib/ele-pro-form-builder/style/index.cjs +10 -0
  306. package/lib/ele-pro-form-builder/style/index.scss +96 -261
  307. package/lib/ele-pro-form-builder/types.d.ts +68 -76
  308. package/lib/ele-pro-form-builder/util.cjs +104 -200
  309. package/lib/ele-pro-form-builder/util.d.ts +10 -76
  310. package/lib/ele-pro-layout/index.d.ts +1 -1
  311. package/lib/ele-pro-table/props.d.ts +3 -3
  312. package/lib/ele-radio-group/index.cjs +73 -0
  313. package/lib/ele-radio-group/index.d.ts +61 -0
  314. package/lib/ele-radio-group/props.cjs +15 -0
  315. package/lib/ele-radio-group/props.d.ts +28 -0
  316. package/lib/ele-radio-group/style/index.cjs +4 -0
  317. package/lib/ele-radio-group/style/index.d.ts +1 -0
  318. package/lib/ele-radio-group/types.d.ts +25 -0
  319. package/lib/ele-select/index.cjs +10 -4
  320. package/lib/ele-select/index.d.ts +14 -3
  321. package/lib/ele-select/props.cjs +1 -1
  322. package/lib/ele-select/props.d.ts +2 -2
  323. package/lib/ele-select/types.d.ts +6 -1
  324. package/lib/ele-select-tree/index.cjs +56 -0
  325. package/lib/ele-select-tree/index.d.ts +21 -0
  326. package/lib/ele-select-tree/style/index.cjs +2 -0
  327. package/lib/ele-select-tree/style/index.d.ts +1 -0
  328. package/lib/ele-select-tree/types.d.ts +14 -0
  329. package/lib/ele-steps/index.cjs +12 -6
  330. package/lib/ele-steps/index.d.ts +8 -19
  331. package/lib/ele-steps/props.cjs +1 -4
  332. package/lib/ele-steps/props.d.ts +2 -5
  333. package/lib/ele-steps/types.d.ts +5 -0
  334. package/lib/ele-tab-bar/index.cjs +42 -0
  335. package/lib/ele-tab-bar/index.d.ts +20 -0
  336. package/lib/ele-tab-bar/props.cjs +18 -0
  337. package/lib/ele-tab-bar/props.d.ts +25 -0
  338. package/lib/ele-tab-bar/style/css-var.scss +8 -0
  339. package/lib/ele-tab-bar/style/index.cjs +2 -0
  340. package/lib/ele-tab-bar/style/index.d.ts +1 -0
  341. package/lib/ele-tab-bar/style/index.scss +87 -0
  342. package/lib/ele-tab-bar/types.d.ts +14 -0
  343. package/lib/ele-timeline/style/css-var.scss +1 -1
  344. package/lib/ele-timeline/style/index.scss +2 -2
  345. package/lib/ele-transfer/index.cjs +53 -0
  346. package/lib/ele-transfer/index.d.ts +94 -0
  347. package/lib/ele-transfer/props.cjs +13 -0
  348. package/lib/ele-transfer/props.d.ts +39 -0
  349. package/lib/ele-transfer/style/index.cjs +2 -0
  350. package/lib/ele-transfer/style/index.d.ts +1 -0
  351. package/lib/ele-transfer/types.d.ts +16 -0
  352. package/lib/ele-tree-select/index.cjs +17 -11
  353. package/lib/ele-tree-select/index.d.ts +8 -4
  354. package/lib/ele-tree-select/props.d.ts +4 -4
  355. package/lib/ele-tree-select/types.d.ts +13 -0
  356. package/lib/ele-tree-table/components/table-body.cjs +99 -0
  357. package/lib/ele-tree-table/components/table-body.d.ts +57 -0
  358. package/lib/ele-tree-table/components/table-row.cjs +104 -0
  359. package/lib/ele-tree-table/components/table-row.d.ts +53 -0
  360. package/lib/ele-tree-table/index.cjs +154 -0
  361. package/lib/ele-tree-table/index.d.ts +30 -0
  362. package/lib/ele-tree-table/props.cjs +20 -0
  363. package/lib/ele-tree-table/props.d.ts +25 -0
  364. package/lib/ele-tree-table/style/css-var.scss +8 -0
  365. package/lib/ele-tree-table/style/index.cjs +3 -0
  366. package/lib/ele-tree-table/style/index.d.ts +1 -0
  367. package/lib/ele-tree-table/style/index.scss +224 -0
  368. package/lib/ele-tree-table/types.d.ts +27 -0
  369. package/lib/style/plus.scss +2 -0
  370. package/lib/style/themes/default.scss +18 -0
  371. package/lib/style/themes/theme-util.scss +4 -0
  372. package/lib/utils/hook.cjs +36 -0
  373. package/lib/utils/hook.d.ts +18 -3
  374. package/package.json +1 -1
  375. package/typings/global.d.ts +8 -0
  376. package/es/ele-pro-form-builder/components/tree-table.d.ts +0 -3253
  377. package/es/ele-pro-form-builder/components/tree-table.js +0 -239
  378. package/lib/ele-pro-form-builder/components/tree-table.cjs +0 -238
  379. package/lib/ele-pro-form-builder/components/tree-table.d.ts +0 -3253
@@ -68,7 +68,9 @@ const proFormProps = {
68
68
  /** 编辑模式选中的表单项 */
69
69
  activeItemKey: [String, Number],
70
70
  /** 组件类型数据 */
71
- itemTypeData: Array
71
+ itemTypeData: Array,
72
+ /** 远程数据源请求工具 */
73
+ httpRequest: [Object, Function]
72
74
  };
73
75
  const proFormEmits = {
74
76
  ...formEmits,
@@ -88,7 +90,8 @@ const childrenRenderProps = {
88
90
  "rowProps",
89
91
  "editable",
90
92
  "activeItemKey",
91
- "itemTypeData"
93
+ "itemTypeData",
94
+ "httpRequest"
92
95
  ]),
93
96
  /** 额外的 ElCol 属性 */
94
97
  contentExtraColProps: Object,
@@ -103,7 +106,19 @@ const childrenRenderProps = {
103
106
  /** 编辑模式父级拖拽容器是否可点击选中 */
104
107
  containerSelectable: Boolean,
105
108
  /** 直接传递插槽数据 */
106
- slots: Object
109
+ slots: Object,
110
+ /** 获取表单组件的组件引用数据方法 */
111
+ getProFormRefs: Function,
112
+ /** 获取并缓存代码解析结果方法 */
113
+ getAndCacheCode: Function,
114
+ /** 更新表单数据属性值方法 */
115
+ updateItemValue: Function,
116
+ /** 编辑模式更新表单项数据方法 */
117
+ updateItemsData: Function,
118
+ /** 更新编辑模式选中项方法 */
119
+ updateActiveItemKey: Function,
120
+ /** 兼容旧版 */
121
+ item: Object
107
122
  };
108
123
  export {
109
124
  childrenRenderProps,
@@ -14,36 +14,33 @@ import "element-plus/es/components/carousel-item/style/index";
14
14
  import "element-plus/es/components/descriptions/style/index";
15
15
  import "element-plus/es/components/descriptions-item/style/index";
16
16
  import "element-plus/es/components/input/style/index";
17
- import "element-plus/es/components/radio-group/style/index";
18
- import "element-plus/es/components/radio/style/index";
19
- import "element-plus/es/components/radio-button/style/index";
20
- import "element-plus/es/components/checkbox-group/style/index";
21
- import "element-plus/es/components/checkbox/style/index";
22
- import "element-plus/es/components/checkbox-button/style/index";
23
17
  import "element-plus/es/components/date-picker/style/index";
24
18
  import "element-plus/es/components/time-picker/style/index";
25
19
  import "element-plus/es/components/time-select/style/index";
26
20
  import "element-plus/es/components/switch/style/index";
27
21
  import "element-plus/es/components/input-number/style/index";
28
- import "element-plus/es/components/autocomplete/style/index";
29
22
  import "element-plus/es/components/rate/style/index";
30
23
  import "element-plus/es/components/slider/style/index";
31
- import "element-plus/es/components/mention/style/index";
32
24
  import "element-plus/es/components/color-picker/style/index";
33
- import "element-plus/es/components/transfer/style/index";
34
- import "element-plus/es/components/tree-select/style/index";
35
- import "../../ele-icon/style/index";
36
- import "../../ele-text/style/index";
25
+ import "../../ele-admin-layout/style/index";
37
26
  import "../../ele-alert/style/index";
38
- import "../../ele-steps/style/index";
39
- import "../../ele-pro-table/style/index";
27
+ import "../../ele-autocomplete/style/index";
40
28
  import "../../ele-card/style/index";
41
- import "../../ele-tabs/style/index";
42
- import "../../ele-table/style/index";
43
- import "../../ele-tree-select/style/index";
44
- import "../../ele-table-select/style/index";
29
+ import "../../ele-cascader/style/index";
45
30
  import "../../ele-check-card/style/index";
31
+ import "../../ele-checkbox-group/style/index";
46
32
  import "../../ele-edit-tag/style/index";
33
+ import "../../ele-icon/style/index";
34
+ import "../../ele-mention/style/index";
35
+ import "../../ele-pro-table/style/index";
36
+ import "../../ele-radio-group/style/index";
47
37
  import "../../ele-select/style/index";
48
- import "../../ele-cascader/style/index";
38
+ import "../../ele-select-tree/style/index";
39
+ import "../../ele-steps/style/index";
40
+ import "../../ele-table/style/index";
41
+ import "../../ele-table-select/style/index";
42
+ import "../../ele-tabs/style/index";
43
+ import "../../ele-text/style/index";
44
+ import "../../ele-transfer/style/index";
45
+ import "../../ele-tree-select/style/index";
49
46
  import "./index.scss";
@@ -181,3 +181,105 @@ $exclude-disabled-selectors: list.join(
181
181
  font-weight: normal;
182
182
  }
183
183
  }
184
+
185
+ /* 边框色辅助类 */
186
+ .ele-icon-border-color-base {
187
+ border-color: elVar('border-color');
188
+ }
189
+
190
+ .ele-icon-border-color-light {
191
+ border-color: elVar('border-color', 'light');
192
+ }
193
+
194
+ .ele-icon-border-color-primary {
195
+ border-color: elVar('color-primary');
196
+ }
197
+
198
+ .ele-icon-border-color-primary5 {
199
+ border-color: elVar('color-primary', 'light-5');
200
+ }
201
+
202
+ .ele-icon-border-color-text {
203
+ border-color: elVar('text-color', 'primary');
204
+ }
205
+
206
+ .ele-icon-border-color-text-light {
207
+ border-color: elVar('text-color', 'placeholder');
208
+ }
209
+
210
+ /* 背景色辅助类 */
211
+ .ele-icon-bg-primary {
212
+ background: elVar('color-primary');
213
+ }
214
+
215
+ .ele-icon-bg-primary7 {
216
+ background: elVar('color-primary', 'light-7');
217
+ }
218
+
219
+ .ele-icon-bg-primary9 {
220
+ background: elVar('color-primary', 'light-9');
221
+ }
222
+
223
+ .ele-icon-bg-base {
224
+ background: elVar('bg-color');
225
+ }
226
+
227
+ .ele-icon-bg-fill {
228
+ background: elVar('fill-color');
229
+ }
230
+
231
+ .ele-icon-bg-fill-light {
232
+ background: elVar('border-color', 'light');
233
+ }
234
+
235
+ .ele-icon-bg-fill-lighter {
236
+ background: elVar('fill-color', 'light');
237
+ }
238
+
239
+ .ele-icon-bg-fill-dark {
240
+ background: elVar('border-color');
241
+ }
242
+
243
+ .ele-icon-bg-white {
244
+ background: #fff;
245
+ }
246
+
247
+ .ele-icon-bg-calendar {
248
+ background-image: radial-gradient(
249
+ elVar('border-color', 'light') 50%,
250
+ transparent 50%
251
+ );
252
+ }
253
+
254
+ /* 文字色辅助类 */
255
+ .ele-icon-color-base {
256
+ color: elVar('text-color', 'regular');
257
+ }
258
+
259
+ .ele-icon-color-secondary {
260
+ color: elVar('text-color', 'secondary');
261
+ }
262
+
263
+ .ele-icon-color-placeholder {
264
+ color: elVar('text-color', 'placeholder');
265
+ }
266
+
267
+ .ele-icon-color-light {
268
+ color: elVar('border-color');
269
+ }
270
+
271
+ .ele-icon-color-lighter {
272
+ color: elVar('border-color', 'light');
273
+ }
274
+
275
+ .ele-icon-color-primary {
276
+ color: elVar('color-primary');
277
+ }
278
+
279
+ .ele-icon-color-primary5 {
280
+ color: elVar('color-primary', 'light-5');
281
+ }
282
+
283
+ .ele-icon-color-success {
284
+ color: elVar('color-success');
285
+ }
@@ -14,7 +14,7 @@ export interface ProFormItemProps {
14
14
  /** 表单项 key */
15
15
  key?: ProFormItemKey;
16
16
  /** 字段名 */
17
- prop: string;
17
+ prop?: string;
18
18
  /** 标题 */
19
19
  label?: string;
20
20
  /** 是否为必填项 */
@@ -31,8 +31,6 @@ export interface ProFormItemProps {
31
31
  props?: Record<string, any>;
32
32
  /** 组件插槽 */
33
33
  slots?: Record<string, string>;
34
- /** 下拉单选多选等选项数据 */
35
- options?: ProFormItemOption[];
36
34
  /** ElCol 属性 */
37
35
  colProps?: ElColProps;
38
36
  /** 容器组件是否栅格布局 */
@@ -43,28 +41,14 @@ export interface ProFormItemProps {
43
41
  itemType?: 'default' | 'view' | 'container';
44
42
  /** 显示条件 */
45
43
  vIf?: any;
44
+ /** 容器组件编辑模式是否可拖拽排序 */
45
+ containerDraggable?: boolean;
46
46
  /** 初始值 */
47
47
  initValue?: any;
48
48
  /** 子级 */
49
49
  children?: ProFormItemProps[];
50
50
  }
51
51
 
52
- /**
53
- * 下拉选项数据
54
- */
55
- export interface ProFormItemOption extends Record<string, any> {
56
- /** 循环的 key */
57
- key?: keyof any;
58
- /** 选中值 */
59
- value: any;
60
- /** 显示文本 */
61
- label?: string;
62
- /** 是否禁用 */
63
- disabled?: boolean;
64
- /** 子级 */
65
- children?: ProFormItemOption[];
66
- }
67
-
68
52
  /**
69
53
  * 获取表单项类型组件属性的方法参数
70
54
  */
@@ -115,10 +99,6 @@ export interface ProFormItemTypeData {
115
99
  ) => ProFormItemRenderSlots;
116
100
  /** 必填校验触发方式 */
117
101
  requiredTrigger?: string;
118
- /** 选项组件 */
119
- optionsComponent?: UserComponent;
120
- /** 选项组件属性 */
121
- optionsComponentProps?: (option: ProFormItemOption) => Record<string, any>;
122
102
  }
123
103
 
124
104
  /**
@@ -1,2 +1,17 @@
1
- export { get as getValue, set as setValue, merge as mergeValue } from 'lodash-es';
1
+ import { get as getValue, set as setValue, merge as mergeValue } from 'lodash-es';
2
+ import { ProFormItemProps, ProFormItemTypeData } from './types';
3
+
2
4
  export { sortableGroupName, ChildrenRender } from './components/render-util';
5
+ export { setValue, getValue, mergeValue };
6
+ /**
7
+ * 判断表单项是否是容器类型
8
+ * @param item 表单项
9
+ * @param itemTypeData 高级表单组件类型数据
10
+ */
11
+ export declare function isContainerType(item: ProFormItemProps, itemTypeData?: ProFormItemTypeData[]): boolean;
12
+ /**
13
+ * 获取表单数据初始值
14
+ * @param items 表单项数据
15
+ * @param itemTypeData 高级表单组件类型数据
16
+ */
17
+ export declare function getFormInitValue(items?: ProFormItemProps[], itemTypeData?: ProFormItemTypeData[]): Record<string, any>;
@@ -1,11 +1,59 @@
1
+ import { eachTree } from "../utils/core";
2
+ import { defaultItemTypeData } from "./components/item-type-data";
1
3
  import { ChildrenRender, sortableGroupName } from "./components/render-util";
2
- import { default as default2 } from "../../node_modules/lodash-es/get.js";
3
- import { default as default3 } from "../../node_modules/lodash-es/set.js";
4
+ import setValue from "../../node_modules/lodash-es/set.js";
5
+ import { default as default2 } from "../../node_modules/lodash-es/set.js";
6
+ import getValue from "../../node_modules/lodash-es/get.js";
7
+ import { default as default3 } from "../../node_modules/lodash-es/get.js";
4
8
  import { default as default4 } from "../../node_modules/lodash-es/merge.js";
9
+ function isContainerType(item, itemTypeData) {
10
+ const typeData = item.type ? [...itemTypeData || [], ...defaultItemTypeData].find(
11
+ (d) => d.type === item.type
12
+ ) : void 0;
13
+ return (typeData == null ? void 0 : typeData.isContainer) || item.itemType === "container" || item.itemType === "view";
14
+ }
15
+ function getFormInitValue(items, itemTypeData) {
16
+ const init = {};
17
+ eachTree(items, (item) => {
18
+ var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l;
19
+ if (item.initValue != null && item.initValue !== "" && item.prop) {
20
+ setValue(init, item.prop, item.initValue);
21
+ return;
22
+ }
23
+ if (item.type && item.prop) {
24
+ if ("tabs" === item.type) {
25
+ const active = ((_a = item.props) == null ? void 0 : _a.modelValue) ?? ((_c = (_b = item.children) == null ? void 0 : _b[0]) == null ? void 0 : _c.prop);
26
+ setValue(init, item.prop, active);
27
+ return;
28
+ }
29
+ if ("collapse" === item.type) {
30
+ const active = ((_d = item.props) == null ? void 0 : _d.modelValue) ?? (((_e = item.props) == null ? void 0 : _e.accordion) ? ((_h = (_g = (_f = item.children) == null ? void 0 : _f[0]) == null ? void 0 : _g.props) == null ? void 0 : _h.name) ?? ((_j = (_i = item.children) == null ? void 0 : _i[0]) == null ? void 0 : _j.prop) : []);
31
+ setValue(init, item.prop, active);
32
+ return;
33
+ }
34
+ if ("sliderRange" === item.type) {
35
+ setValue(init, item.prop, [
36
+ ((_k = item.props) == null ? void 0 : _k.min) ?? 0,
37
+ ((_l = item.props) == null ? void 0 : _l.max) ?? 100
38
+ ]);
39
+ return;
40
+ }
41
+ }
42
+ if (isContainerType(item, itemTypeData) || !item.prop) {
43
+ return;
44
+ }
45
+ if (typeof getValue(init, item.prop) === "undefined") {
46
+ setValue(init, item.prop, void 0);
47
+ }
48
+ });
49
+ return init;
50
+ }
5
51
  export {
6
52
  ChildrenRender,
7
- default2 as getValue,
53
+ getFormInitValue,
54
+ default3 as getValue,
55
+ isContainerType,
8
56
  default4 as mergeValue,
9
- default3 as setValue,
57
+ default2 as setValue,
10
58
  sortableGroupName
11
59
  };
@@ -16,6 +16,8 @@ declare const __VLS_component: import('vue').DefineComponent<__VLS_TypePropsToRu
16
16
  proFormComponent?: UserComponent;
17
17
  /** 高级表单组件类型数据 */
18
18
  itemTypeData?: ProFormItemTypeData[];
19
+ /** 远程数据源请求工具 */
20
+ httpRequest?: any;
19
21
  }>, {}, unknown, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
20
22
  "update:currentFormItemId": (formItemId?: string | number | symbol | undefined) => void;
21
23
  updateItems: (result: UpdateItemsResult) => void;
@@ -34,9 +36,11 @@ declare const __VLS_component: import('vue').DefineComponent<__VLS_TypePropsToRu
34
36
  proFormComponent?: UserComponent;
35
37
  /** 高级表单组件类型数据 */
36
38
  itemTypeData?: ProFormItemTypeData[];
39
+ /** 远程数据源请求工具 */
40
+ httpRequest?: any;
37
41
  }>>> & {
38
- onUpdateItems?: ((result: UpdateItemsResult) => any) | undefined;
39
42
  onOpenTableTool?: ((formItemId: string, el: HTMLElement) => any) | undefined;
43
+ onUpdateItems?: ((result: UpdateItemsResult) => any) | undefined;
40
44
  "onUpdate:currentFormItemId"?: ((formItemId?: string | number | symbol | undefined) => any) | undefined;
41
45
  onUpdateFormItems?: ((items: ProFormItemProps[]) => any) | undefined;
42
46
  }, {}, {}>;
@@ -1,9 +1,8 @@
1
1
  import { defineComponent, ref, reactive, watch, openBlock, createElementBlock, normalizeClass, createBlock, resolveDynamicComponent, mergeProps, createSlots, withCtx, createVNode, renderList, renderSlot, normalizeProps, guardReactiveProps, unref, createCommentVNode } from "vue";
2
2
  import { ElEmpty } from "element-plus";
3
3
  import { eachTree } from "../../utils/core";
4
- import { mergeValue, setValue } from "../../ele-pro-form/util";
4
+ import { mergeValue, getFormInitValue, setValue } from "../../ele-pro-form/util";
5
5
  import EleProForm from "../../ele-pro-form/index";
6
- import { getFormInitValue } from "../util";
7
6
  import { generateAddChildData, generateCopyItemData } from "./build-util";
8
7
  import ComponentName from "./component-name";
9
8
  import BuilderTools from "./builder-tools";
@@ -15,7 +14,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
15
14
  currentScreen: {},
16
15
  componentData: {},
17
16
  proFormComponent: {},
18
- itemTypeData: {}
17
+ itemTypeData: {},
18
+ httpRequest: {}
19
19
  },
20
20
  emits: ["update:currentFormItemId", "updateItems", "openTableTool", "updateFormItems"],
21
21
  setup(__props, { emit: __emit }) {
@@ -51,7 +51,9 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
51
51
  parent,
52
52
  cIndex,
53
53
  action,
54
- (_a2 = props.formProps) == null ? void 0 : _a2.items
54
+ (_a2 = props.formProps) == null ? void 0 : _a2.items,
55
+ void 0,
56
+ props.componentData
55
57
  );
56
58
  handleUpdateItems(result);
57
59
  return false;
@@ -85,7 +87,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
85
87
  var _a;
86
88
  eachTree((_a = props.formProps) == null ? void 0 : _a.items, (item, _cIndex, parent) => {
87
89
  if (item.key === currentFormItemId) {
88
- if (item.type && ["tabPane", "collapseItem"].includes(item.type) && parent) {
90
+ if (item.type && ["tabPane", "collapseItem"].includes(item.type) && parent && parent.prop) {
89
91
  setBuilderFormDataFieldValue(parent.prop, item.prop);
90
92
  }
91
93
  return false;
@@ -133,6 +135,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
133
135
  scrollToError: false,
134
136
  showMessage: false,
135
137
  itemTypeData: _ctx.itemTypeData,
138
+ httpRequest: _ctx.httpRequest,
136
139
  class: "ele-pro-form-builder-body-form",
137
140
  onUpdateValue: setBuilderFormDataFieldValue,
138
141
  "onUpdate:items": handleUpdateFormItems,
@@ -165,7 +168,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
165
168
  ])
166
169
  };
167
170
  })
168
- ]), 1040, ["model", "searchExpand", "activeItemKey", "itemTypeData"])),
171
+ ]), 1040, ["model", "searchExpand", "activeItemKey", "itemTypeData", "httpRequest"])),
169
172
  !_ctx.formProps || !_ctx.formProps.items || !_ctx.formProps.items.length ? (openBlock(), createBlock(unref(ElEmpty), {
170
173
  key: 0,
171
174
  imageSize: 80,
@@ -1,8 +1,8 @@
1
1
  import { UserComponent } from '../../ele-app/types';
2
2
  import { ProFormItemTypeData } from '../../ele-pro-form/types';
3
- import { TemplateFormConfig } from '../types';
3
+ import { TemplateFormConfig, HeaderRightToolName } from '../types';
4
4
 
5
- declare function __VLS_template(): {
5
+ declare function __VLS_template(): Partial<Record<string, (_: any) => any>> & {
6
6
  headerTools?(_: {}): any;
7
7
  };
8
8
  declare const __VLS_component: import('vue').DefineComponent<__VLS_TypePropsToRuntimeProps<{
@@ -14,16 +14,23 @@ declare const __VLS_component: import('vue').DefineComponent<__VLS_TypePropsToRu
14
14
  redoDisabled?: boolean;
15
15
  /** 表单属性 */
16
16
  formProps?: TemplateFormConfig;
17
+ /** 顶栏右侧操作按钮顺序 */
18
+ headerTools?: HeaderRightToolName[];
17
19
  /** 高级表单组件 */
18
20
  proFormComponent?: UserComponent;
21
+ /** JSON 编辑器组件 */
22
+ jsonEditerComponent?: UserComponent;
19
23
  /** 高级表单组件类型数据 */
20
24
  itemTypeData?: ProFormItemTypeData[];
25
+ /** 远程数据源请求工具 */
26
+ httpRequest?: any;
21
27
  }>, {}, unknown, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
22
28
  "update:currentScreen": (size?: string | undefined) => void;
23
29
  undo: () => void;
24
30
  redo: () => void;
25
31
  clear: () => void;
26
32
  previewFormSubmit: (data: Record<string, any>) => void;
33
+ importData: (data: TemplateFormConfig) => void;
27
34
  }, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<__VLS_TypePropsToRuntimeProps<{
28
35
  /** 当前选中屏幕尺寸 */
29
36
  currentScreen?: string;
@@ -33,13 +40,20 @@ declare const __VLS_component: import('vue').DefineComponent<__VLS_TypePropsToRu
33
40
  redoDisabled?: boolean;
34
41
  /** 表单属性 */
35
42
  formProps?: TemplateFormConfig;
43
+ /** 顶栏右侧操作按钮顺序 */
44
+ headerTools?: HeaderRightToolName[];
36
45
  /** 高级表单组件 */
37
46
  proFormComponent?: UserComponent;
47
+ /** JSON 编辑器组件 */
48
+ jsonEditerComponent?: UserComponent;
38
49
  /** 高级表单组件类型数据 */
39
50
  itemTypeData?: ProFormItemTypeData[];
51
+ /** 远程数据源请求工具 */
52
+ httpRequest?: any;
40
53
  }>>> & {
41
54
  onClear?: (() => any) | undefined;
42
55
  onPreviewFormSubmit?: ((data: Record<string, any>) => any) | undefined;
56
+ onImportData?: ((data: TemplateFormConfig) => any) | undefined;
43
57
  "onUpdate:currentScreen"?: ((size?: string | undefined) => any) | undefined;
44
58
  onUndo?: (() => any) | undefined;
45
59
  onRedo?: (() => any) | undefined;
@@ -1,8 +1,9 @@
1
- import { defineComponent, ref, resolveComponent, openBlock, createElementBlock, createElementVNode, Fragment, renderList, unref, createBlock, normalizeClass, withCtx, resolveDynamicComponent, normalizeStyle, createVNode, createTextVNode, renderSlot } from "vue";
2
- import { ElIcon } from "element-plus";
3
- import { RollbackOutlined, RecoverOutlined, DeleteOutlined, EyeOutlined } from "../../icons";
1
+ import { defineComponent, ref, openBlock, createElementBlock, createElementVNode, Fragment, renderList, unref, createBlock, normalizeClass, withCtx, resolveDynamicComponent, normalizeStyle, createVNode, createTextVNode, createCommentVNode, renderSlot, createSlots, normalizeProps, guardReactiveProps } from "vue";
2
+ import { ElIcon, ElButton } from "element-plus";
3
+ import { RollbackOutlined, RecoverOutlined, UploadOutlined, DownloadOutlined, DeleteOutlined, EyeOutlined } from "../../icons";
4
4
  import { screenItems } from "../util";
5
5
  import PreviewModal from "./preview-modal";
6
+ import ImportModal from "./import-modal";
6
7
  const _hoisted_1 = { class: "ele-pro-form-builder-header" };
7
8
  const _hoisted_2 = { class: "ele-pro-form-builder-screen-radio" };
8
9
  const _hoisted_3 = { class: "ele-pro-form-builder-header-left" };
@@ -14,14 +15,20 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
14
15
  undoDisabled: { type: Boolean },
15
16
  redoDisabled: { type: Boolean },
16
17
  formProps: {},
18
+ headerTools: {},
17
19
  proFormComponent: {},
18
- itemTypeData: {}
20
+ jsonEditerComponent: {},
21
+ itemTypeData: {},
22
+ httpRequest: {}
19
23
  },
20
- emits: ["update:currentScreen", "undo", "redo", "clear", "previewFormSubmit"],
24
+ emits: ["update:currentScreen", "undo", "redo", "clear", "previewFormSubmit", "importData"],
21
25
  setup(__props, { emit: __emit }) {
26
+ const ownSlots = ["headerTools"];
22
27
  const props = __props;
23
28
  const emit = __emit;
24
29
  const previewVisible = ref(false);
30
+ const importVisible = ref(false);
31
+ const isImport = ref(false);
25
32
  const handleUpdateScreen = (size) => {
26
33
  emit("update:currentScreen", size);
27
34
  };
@@ -44,8 +51,18 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
44
51
  const handlePreviewFormSubmit = (data) => {
45
52
  emit("previewFormSubmit", data);
46
53
  };
54
+ const handleOpenImport = () => {
55
+ importVisible.value = true;
56
+ isImport.value = true;
57
+ };
58
+ const handleOpenExport = () => {
59
+ importVisible.value = true;
60
+ isImport.value = false;
61
+ };
62
+ const handleImportData = (data) => {
63
+ emit("importData", data);
64
+ };
47
65
  return (_ctx, _cache) => {
48
- const _component_ElButton = resolveComponent("ElButton");
49
66
  return openBlock(), createElementBlock("div", _hoisted_1, [
50
67
  createElementVNode("div", _hoisted_2, [
51
68
  (openBlock(true), createElementBlock(Fragment, null, renderList(unref(screenItems), (item) => {
@@ -98,38 +115,83 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
98
115
  }, 8, ["class"])
99
116
  ]),
100
117
  createElementVNode("div", _hoisted_4, [
101
- createVNode(_component_ElButton, {
102
- text: true,
103
- type: "danger",
104
- icon: unref(DeleteOutlined),
105
- onClick: handleClear
106
- }, {
107
- default: withCtx(() => [
108
- createTextVNode(" 清空 ")
109
- ]),
110
- _: 1
111
- }, 8, ["icon"]),
112
- createVNode(_component_ElButton, {
113
- text: true,
114
- type: "primary",
115
- icon: unref(EyeOutlined),
116
- onClick: handleOpenPreview
117
- }, {
118
- default: withCtx(() => [
119
- createTextVNode(" 预览 ")
120
- ]),
121
- _: 1
122
- }, 8, ["icon"]),
118
+ (openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.headerTools || [], (toolName) => {
119
+ return openBlock(), createElementBlock(Fragment, { key: toolName }, [
120
+ toolName === "import" ? (openBlock(), createBlock(unref(ElButton), {
121
+ key: 0,
122
+ text: true,
123
+ icon: unref(UploadOutlined),
124
+ onClick: handleOpenImport
125
+ }, {
126
+ default: withCtx(() => [
127
+ createTextVNode(" 导入 ")
128
+ ]),
129
+ _: 1
130
+ }, 8, ["icon"])) : toolName === "export" ? (openBlock(), createBlock(unref(ElButton), {
131
+ key: 1,
132
+ text: true,
133
+ icon: unref(DownloadOutlined),
134
+ onClick: handleOpenExport
135
+ }, {
136
+ default: withCtx(() => [
137
+ createTextVNode(" 导出 ")
138
+ ]),
139
+ _: 1
140
+ }, 8, ["icon"])) : toolName === "clear" ? (openBlock(), createBlock(unref(ElButton), {
141
+ key: 2,
142
+ text: true,
143
+ type: "danger",
144
+ icon: unref(DeleteOutlined),
145
+ onClick: handleClear
146
+ }, {
147
+ default: withCtx(() => [
148
+ createTextVNode(" 清空 ")
149
+ ]),
150
+ _: 1
151
+ }, 8, ["icon"])) : toolName === "preview" ? (openBlock(), createBlock(unref(ElButton), {
152
+ key: 3,
153
+ text: true,
154
+ type: "primary",
155
+ icon: unref(EyeOutlined),
156
+ onClick: handleOpenPreview
157
+ }, {
158
+ default: withCtx(() => [
159
+ createTextVNode(" 预览 ")
160
+ ]),
161
+ _: 1
162
+ }, 8, ["icon"])) : createCommentVNode("", true)
163
+ ], 64);
164
+ }), 128)),
123
165
  renderSlot(_ctx.$slots, "headerTools")
124
166
  ]),
125
- createVNode(PreviewModal, {
167
+ _ctx.headerTools && _ctx.headerTools.includes("preview") ? (openBlock(), createBlock(PreviewModal, {
168
+ key: 0,
126
169
  modelValue: previewVisible.value,
127
170
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => previewVisible.value = $event),
128
171
  formProps: _ctx.formProps,
129
172
  proFormComponent: _ctx.proFormComponent,
130
173
  itemTypeData: _ctx.itemTypeData,
174
+ httpRequest: _ctx.httpRequest,
131
175
  onPreviewFormSubmit: handlePreviewFormSubmit
132
- }, null, 8, ["modelValue", "formProps", "proFormComponent", "itemTypeData"])
176
+ }, createSlots({ _: 2 }, [
177
+ renderList(Object.keys(_ctx.$slots).filter((k) => !ownSlots.includes(k)), (name) => {
178
+ return {
179
+ name,
180
+ fn: withCtx((slotProps) => [
181
+ renderSlot(_ctx.$slots, name, normalizeProps(guardReactiveProps(slotProps || {})))
182
+ ])
183
+ };
184
+ })
185
+ ]), 1032, ["modelValue", "formProps", "proFormComponent", "itemTypeData", "httpRequest"])) : createCommentVNode("", true),
186
+ _ctx.headerTools && (_ctx.headerTools.includes("import") || _ctx.headerTools.includes("export")) ? (openBlock(), createBlock(ImportModal, {
187
+ key: 1,
188
+ modelValue: importVisible.value,
189
+ "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => importVisible.value = $event),
190
+ config: _ctx.formProps,
191
+ isImport: isImport.value,
192
+ jsonEditerComponent: _ctx.jsonEditerComponent,
193
+ onImportData: handleImportData
194
+ }, null, 8, ["modelValue", "config", "isImport", "jsonEditerComponent"])) : createCommentVNode("", true)
133
195
  ]);
134
196
  };
135
197
  }