@silver-formily/element-plus 3.0.2 → 4.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (545) hide show
  1. package/README.en-US.md +3 -1
  2. package/README.md +3 -1
  3. package/esm/__builtins__/configs/index.mjs +6 -5
  4. package/esm/__builtins__/configs/index.mjs.map +1 -1
  5. package/esm/__builtins__/shared/load-config-provider.mjs +19 -11
  6. package/esm/__builtins__/shared/load-config-provider.mjs.map +1 -1
  7. package/esm/__builtins__/shared/loading.mjs +50 -46
  8. package/esm/__builtins__/shared/loading.mjs.map +1 -1
  9. package/esm/__builtins__/shared/simple-version-compare.mjs +16 -15
  10. package/esm/__builtins__/shared/simple-version-compare.mjs.map +1 -1
  11. package/esm/__builtins__/shared/transform-component.mjs +30 -31
  12. package/esm/__builtins__/shared/transform-component.mjs.map +1 -1
  13. package/esm/__builtins__/shared/use-enter-submit.mjs +74 -62
  14. package/esm/__builtins__/shared/use-enter-submit.mjs.map +1 -1
  15. package/esm/__builtins__/shared/utils.mjs +44 -32
  16. package/esm/__builtins__/shared/utils.mjs.map +1 -1
  17. package/esm/_virtual/_/plugin-vue/export-helper.mjs +8 -0
  18. package/esm/array-base/array-base-addition.mjs +53 -0
  19. package/esm/array-base/array-base-addition.mjs.map +1 -0
  20. package/esm/array-base/array-base-index.mjs +17 -0
  21. package/esm/array-base/array-base-index.mjs.map +1 -0
  22. package/esm/array-base/array-base-inner.mjs +30 -0
  23. package/esm/array-base/array-base-inner.mjs.map +1 -0
  24. package/esm/array-base/array-base-item.mjs +21 -0
  25. package/esm/array-base/array-base-item.mjs.map +1 -0
  26. package/esm/array-base/array-base-move-down.mjs +45 -0
  27. package/esm/array-base/array-base-move-down.mjs.map +1 -0
  28. package/esm/array-base/array-base-move-up.mjs +45 -0
  29. package/esm/array-base/array-base-move-up.mjs.map +1 -0
  30. package/esm/array-base/array-base-remove.mjs +45 -0
  31. package/esm/array-base/array-base-remove.mjs.map +1 -0
  32. package/esm/array-base/array-base-sort-handle.mjs +33 -0
  33. package/esm/array-base/array-base-sort-handle.mjs.map +1 -0
  34. package/esm/array-base/index.mjs +28 -208
  35. package/esm/array-base/index.mjs.map +1 -1
  36. package/esm/array-base/style.css +36 -0
  37. package/esm/array-base/symbols.mjs +7 -6
  38. package/esm/array-base/symbols.mjs.map +1 -1
  39. package/esm/array-base/types.d.ts +23 -24
  40. package/esm/array-base/utils.d.ts +11 -17
  41. package/esm/array-base/utils.mjs +58 -60
  42. package/esm/array-base/utils.mjs.map +1 -1
  43. package/esm/array-cards/array-cards.mjs +109 -0
  44. package/esm/array-cards/array-cards.mjs.map +1 -0
  45. package/esm/array-cards/index.d.ts +120 -113
  46. package/esm/array-cards/index.mjs +19 -118
  47. package/esm/array-cards/index.mjs.map +1 -1
  48. package/esm/array-cards/style.css +20 -0
  49. package/esm/array-collapse/array-collapse-item.mjs +74 -0
  50. package/esm/array-collapse/array-collapse-item.mjs.map +1 -0
  51. package/esm/array-collapse/array-collapse.mjs +117 -0
  52. package/esm/array-collapse/array-collapse.mjs.map +1 -0
  53. package/esm/array-collapse/index.d.ts +137 -129
  54. package/esm/array-collapse/index.mjs +21 -174
  55. package/esm/array-collapse/index.mjs.map +1 -1
  56. package/esm/array-collapse/style.css +20 -0
  57. package/esm/array-collapse/utils.mjs +7 -12
  58. package/esm/array-collapse/utils.mjs.map +1 -1
  59. package/esm/array-items/array-items-item.mjs +22 -0
  60. package/esm/array-items/array-items-item.mjs.map +1 -0
  61. package/esm/array-items/array-items.mjs +88 -0
  62. package/esm/array-items/array-items.mjs.map +1 -0
  63. package/esm/array-items/index.d.ts +132 -125
  64. package/esm/array-items/index.mjs +21 -107
  65. package/esm/array-items/index.mjs.map +1 -1
  66. package/esm/array-items/style.css +22 -0
  67. package/esm/array-list-tabs/array-list-tabs.mjs +191 -0
  68. package/esm/array-list-tabs/array-list-tabs.mjs.map +1 -0
  69. package/esm/array-list-tabs/index.d.ts +80 -74
  70. package/esm/array-list-tabs/index.mjs +12 -186
  71. package/esm/array-list-tabs/index.mjs.map +1 -1
  72. package/esm/array-list-tabs/style.css +90 -0
  73. package/esm/array-list-tabs/utils.mjs +11 -15
  74. package/esm/array-list-tabs/utils.mjs.map +1 -1
  75. package/esm/array-table/array-table.mjs +236 -0
  76. package/esm/array-table/array-table.mjs.map +1 -0
  77. package/esm/array-table/index.d.ts +106 -1597
  78. package/esm/array-table/index.mjs +24 -223
  79. package/esm/array-table/index.mjs.map +1 -1
  80. package/esm/array-table/style.css +23 -0
  81. package/esm/array-table/types.d.ts +11 -6
  82. package/esm/array-table/utils.mjs +14 -22
  83. package/esm/array-table/utils.mjs.map +1 -1
  84. package/esm/array-tabs/array-tabs.mjs +92 -0
  85. package/esm/array-tabs/array-tabs.mjs.map +1 -0
  86. package/esm/array-tabs/index.d.ts +7 -2
  87. package/esm/array-tabs/index.mjs +8 -84
  88. package/esm/array-tabs/index.mjs.map +1 -1
  89. package/esm/array-tabs/style.css +7 -0
  90. package/esm/autocomplete/autocomplete.mjs +99 -0
  91. package/esm/autocomplete/autocomplete.mjs.map +1 -0
  92. package/esm/autocomplete/index.d.ts +44 -638
  93. package/esm/autocomplete/index.mjs +14 -113
  94. package/esm/autocomplete/index.mjs.map +1 -1
  95. package/esm/cascader/cascader.mjs +32 -0
  96. package/esm/cascader/cascader.mjs.map +1 -0
  97. package/esm/cascader/index.d.ts +34 -27
  98. package/esm/cascader/index.mjs +13 -50
  99. package/esm/cascader/index.mjs.map +1 -1
  100. package/esm/checkbox/checkbox-group.mjs +64 -0
  101. package/esm/checkbox/checkbox-group.mjs.map +1 -0
  102. package/esm/checkbox/index.d.ts +772 -766
  103. package/esm/checkbox/index.mjs +16 -69
  104. package/esm/checkbox/index.mjs.map +1 -1
  105. package/esm/color-picker/index.d.ts +214 -207
  106. package/esm/color-picker/index.mjs +13 -17
  107. package/esm/color-picker/index.mjs.map +1 -1
  108. package/esm/color-picker-panel/index.d.ts +118 -110
  109. package/esm/color-picker-panel/index.mjs +16 -25
  110. package/esm/color-picker-panel/index.mjs.map +1 -1
  111. package/esm/date-picker/index.d.ts +449 -441
  112. package/esm/date-picker/index.mjs +21 -29
  113. package/esm/date-picker/index.mjs.map +1 -1
  114. package/esm/date-picker/utils.mjs +21 -26
  115. package/esm/date-picker/utils.mjs.map +1 -1
  116. package/esm/date-picker-panel/index.d.ts +149 -141
  117. package/esm/date-picker-panel/index.mjs +23 -30
  118. package/esm/date-picker-panel/index.mjs.map +1 -1
  119. package/esm/editable/editable-popover.mjs +95 -0
  120. package/esm/editable/editable-popover.mjs.map +1 -0
  121. package/esm/editable/editable.mjs +113 -0
  122. package/esm/editable/editable.mjs.map +1 -0
  123. package/esm/editable/index.d.ts +60 -141
  124. package/esm/editable/index.mjs +17 -219
  125. package/esm/editable/index.mjs.map +1 -1
  126. package/esm/editable/style.css +29 -0
  127. package/esm/form/form.mjs +50 -70
  128. package/esm/form/form.mjs.map +1 -1
  129. package/esm/form/form.vue.d.ts +48 -0
  130. package/esm/form/index.d.ts +1 -1
  131. package/esm/form-button-group/form-button-group-sticky.mjs +37 -0
  132. package/esm/form-button-group/form-button-group-sticky.mjs.map +1 -0
  133. package/esm/form-button-group/form-button-group.mjs +71 -0
  134. package/esm/form-button-group/form-button-group.mjs.map +1 -0
  135. package/esm/form-button-group/index.d.ts +94 -87
  136. package/esm/form-button-group/index.mjs +10 -96
  137. package/esm/form-button-group/index.mjs.map +1 -1
  138. package/esm/form-button-group/style.css +281 -0
  139. package/esm/form-button-group/utils.mjs +7 -12
  140. package/esm/form-button-group/utils.mjs.map +1 -1
  141. package/esm/form-collapse/form-collapse.mjs +74 -0
  142. package/esm/form-collapse/form-collapse.mjs.map +1 -0
  143. package/esm/form-collapse/index.d.ts +43 -39
  144. package/esm/form-collapse/index.mjs +20 -86
  145. package/esm/form-collapse/index.mjs.map +1 -1
  146. package/esm/form-collapse/style.css +7 -0
  147. package/esm/form-collapse/utils.d.ts +21 -27
  148. package/esm/form-collapse/utils.mjs +48 -46
  149. package/esm/form-collapse/utils.mjs.map +1 -1
  150. package/esm/form-dialog/dialog-content.mjs +118 -0
  151. package/esm/form-dialog/dialog-content.mjs.map +1 -0
  152. package/esm/form-dialog/index.d.ts +8 -4
  153. package/esm/form-dialog/index.mjs +142 -211
  154. package/esm/form-dialog/index.mjs.map +1 -1
  155. package/esm/form-dialog/types.d.ts +38 -32
  156. package/esm/form-drawer/drawer-content.mjs +118 -0
  157. package/esm/form-drawer/drawer-content.mjs.map +1 -0
  158. package/esm/form-drawer/index.d.ts +8 -4
  159. package/esm/form-drawer/index.mjs +142 -204
  160. package/esm/form-drawer/index.mjs.map +1 -1
  161. package/esm/form-drawer/types.d.ts +38 -32
  162. package/esm/form-grid/form-grid-column.mjs +28 -0
  163. package/esm/form-grid/form-grid-column.mjs.map +1 -0
  164. package/esm/form-grid/form-grid.mjs +69 -0
  165. package/esm/form-grid/form-grid.mjs.map +1 -0
  166. package/esm/form-grid/hooks.mjs +7 -7
  167. package/esm/form-grid/hooks.mjs.map +1 -1
  168. package/esm/form-grid/index.d.ts +5 -2
  169. package/esm/form-grid/index.mjs +10 -109
  170. package/esm/form-grid/index.mjs.map +1 -1
  171. package/esm/form-grid/style.css +128 -0
  172. package/esm/form-item/form-item.mjs +308 -0
  173. package/esm/form-item/form-item.mjs.map +1 -0
  174. package/esm/form-item/form-item.vue.d.ts +29 -0
  175. package/esm/form-item/index.d.ts +81 -67
  176. package/esm/form-item/index.mjs +28 -332
  177. package/esm/form-item/index.mjs.map +1 -1
  178. package/esm/form-item/style.css +263 -0
  179. package/esm/form-item/types.d.ts +34 -29
  180. package/esm/form-item/utils.mjs +15 -15
  181. package/esm/form-item/utils.mjs.map +1 -1
  182. package/esm/form-layout/form-layout.mjs +103 -83
  183. package/esm/form-layout/form-layout.mjs.map +1 -1
  184. package/esm/form-layout/form-layout.vue.d.ts +28 -0
  185. package/esm/form-layout/index.d.ts +1 -1
  186. package/esm/form-layout/types.d.ts +24 -40
  187. package/esm/form-layout/utils.mjs +73 -99
  188. package/esm/form-layout/utils.mjs.map +1 -1
  189. package/esm/form-step/form-step-pane.mjs +15 -0
  190. package/esm/form-step/form-step-pane.mjs.map +1 -0
  191. package/esm/form-step/form-step.mjs +63 -0
  192. package/esm/form-step/form-step.mjs.map +1 -0
  193. package/esm/form-step/index.d.ts +29 -23
  194. package/esm/form-step/index.mjs +12 -93
  195. package/esm/form-step/index.mjs.map +1 -1
  196. package/esm/form-step/types.d.ts +19 -19
  197. package/esm/form-step/utils.d.ts +14 -10
  198. package/esm/form-step/utils.mjs +75 -59
  199. package/esm/form-step/utils.mjs.map +1 -1
  200. package/esm/form-tab/form-tab.mjs +79 -0
  201. package/esm/form-tab/form-tab.mjs.map +1 -0
  202. package/esm/form-tab/hooks.mjs +18 -16
  203. package/esm/form-tab/hooks.mjs.map +1 -1
  204. package/esm/form-tab/index.d.ts +5 -3
  205. package/esm/form-tab/index.mjs +10 -76
  206. package/esm/form-tab/index.mjs.map +1 -1
  207. package/esm/form-tab/style.css +4 -0
  208. package/esm/form-tab/utils.mjs +14 -13
  209. package/esm/form-tab/utils.mjs.map +1 -1
  210. package/esm/index.d.ts +55 -48
  211. package/esm/index.mjs +51 -103
  212. package/esm/input/index.d.ts +41 -46
  213. package/esm/input/index.mjs +16 -68
  214. package/esm/input/index.mjs.map +1 -1
  215. package/esm/input/input.mjs +41 -0
  216. package/esm/input/input.mjs.map +1 -0
  217. package/esm/input-number/index.d.ts +281 -275
  218. package/esm/input-number/index.mjs +12 -24
  219. package/esm/input-number/index.mjs.map +1 -1
  220. package/esm/input-tag/index.d.ts +29 -31
  221. package/esm/input-tag/index.mjs +13 -49
  222. package/esm/input-tag/index.mjs.map +1 -1
  223. package/esm/input-tag/input-tag.mjs +41 -0
  224. package/esm/input-tag/input-tag.mjs.map +1 -0
  225. package/esm/mention/index.d.ts +39 -49
  226. package/esm/mention/index.mjs +15 -96
  227. package/esm/mention/index.mjs.map +1 -1
  228. package/esm/mention/mention.mjs +77 -0
  229. package/esm/mention/mention.mjs.map +1 -0
  230. package/esm/pagination/components/jumper.mjs +11 -12
  231. package/esm/pagination/components/jumper.mjs.map +1 -1
  232. package/esm/pagination/components/jumper2.mjs +59 -0
  233. package/esm/pagination/components/jumper2.mjs.map +1 -0
  234. package/esm/pagination/components/next.mjs +18 -22
  235. package/esm/pagination/components/next.mjs.map +1 -1
  236. package/esm/pagination/components/next2.mjs +38 -0
  237. package/esm/pagination/components/next2.mjs.map +1 -0
  238. package/esm/pagination/components/pager.mjs +21 -22
  239. package/esm/pagination/components/pager.mjs.map +1 -1
  240. package/esm/pagination/components/pager2.mjs +229 -0
  241. package/esm/pagination/components/pager2.mjs.map +1 -0
  242. package/esm/pagination/components/prev.mjs +16 -22
  243. package/esm/pagination/components/prev.mjs.map +1 -1
  244. package/esm/pagination/components/prev2.mjs +38 -0
  245. package/esm/pagination/components/prev2.mjs.map +1 -0
  246. package/esm/pagination/components/sizes.mjs +32 -7
  247. package/esm/pagination/components/sizes.mjs.map +1 -1
  248. package/esm/pagination/components/sizes2.mjs +66 -0
  249. package/esm/pagination/components/sizes2.mjs.map +1 -0
  250. package/esm/pagination/components/total.mjs +10 -11
  251. package/esm/pagination/components/total.mjs.map +1 -1
  252. package/esm/pagination/components/total2.mjs +26 -0
  253. package/esm/pagination/components/total2.mjs.map +1 -0
  254. package/esm/pagination/pagination.mjs +271 -626
  255. package/esm/pagination/pagination.mjs.map +1 -1
  256. package/esm/password/index.d.ts +43 -48
  257. package/esm/password/index.mjs +11 -14
  258. package/esm/password/index.mjs.map +1 -1
  259. package/esm/picker-select/index.d.ts +47 -0
  260. package/esm/picker-select/index.mjs +14 -0
  261. package/esm/picker-select/index.mjs.map +1 -0
  262. package/esm/picker-select/picker-select.mjs +186 -0
  263. package/esm/picker-select/picker-select.mjs.map +1 -0
  264. package/esm/picker-select/types.d.ts +23 -0
  265. package/esm/preview-text/cascader.mjs +51 -0
  266. package/esm/preview-text/cascader.mjs.map +1 -0
  267. package/esm/preview-text/color-picker.mjs +37 -0
  268. package/esm/preview-text/color-picker.mjs.map +1 -0
  269. package/esm/preview-text/date-picker.mjs +61 -0
  270. package/esm/preview-text/date-picker.mjs.map +1 -0
  271. package/esm/preview-text/index.d.ts +107 -106
  272. package/esm/preview-text/index.mjs +25 -363
  273. package/esm/preview-text/index.mjs.map +1 -1
  274. package/esm/preview-text/input.mjs +39 -0
  275. package/esm/preview-text/input.mjs.map +1 -0
  276. package/esm/preview-text/preview.mjs +30 -0
  277. package/esm/preview-text/preview.mjs.map +1 -0
  278. package/esm/preview-text/rate.mjs +32 -0
  279. package/esm/preview-text/rate.mjs.map +1 -0
  280. package/esm/preview-text/select.mjs +42 -0
  281. package/esm/preview-text/select.mjs.map +1 -0
  282. package/esm/preview-text/style.css +16 -0
  283. package/esm/preview-text/time-picker.mjs +39 -0
  284. package/esm/preview-text/time-picker.mjs.map +1 -0
  285. package/esm/preview-text/tree.mjs +73 -0
  286. package/esm/preview-text/tree.mjs.map +1 -0
  287. package/esm/preview-text/utils.d.ts +10 -13
  288. package/esm/preview-text/utils.mjs +15 -15
  289. package/esm/preview-text/utils.mjs.map +1 -1
  290. package/esm/query-form/default-components.mjs +45 -45
  291. package/esm/query-form/default-components.mjs.map +1 -1
  292. package/esm/query-form/hooks.mjs +31 -26
  293. package/esm/query-form/hooks.mjs.map +1 -1
  294. package/esm/query-form/index.d.ts +115 -105
  295. package/esm/query-form/index.mjs +10 -333
  296. package/esm/query-form/index.mjs.map +1 -1
  297. package/esm/query-form/query-form-light.mjs +86 -0
  298. package/esm/query-form/query-form-light.mjs.map +1 -0
  299. package/esm/query-form/query-form.mjs +263 -0
  300. package/esm/query-form/query-form.mjs.map +1 -0
  301. package/esm/query-form/style.css +27 -0
  302. package/esm/query-form/types.d.ts +42 -41
  303. package/esm/query-form-item/index.d.ts +138 -131
  304. package/esm/query-form-item/index.mjs +15 -183
  305. package/esm/query-form-item/index.mjs.map +1 -1
  306. package/esm/query-form-item/query-form-item.mjs +195 -0
  307. package/esm/query-form-item/query-form-item.mjs.map +1 -0
  308. package/esm/query-form-item/style.css +12 -0
  309. package/esm/query-form-item/types.d.ts +42 -38
  310. package/esm/radio/index.d.ts +482 -472
  311. package/esm/radio/index.mjs +15 -68
  312. package/esm/radio/index.mjs.map +1 -1
  313. package/esm/radio/radio-group.mjs +70 -0
  314. package/esm/radio/radio-group.mjs.map +1 -0
  315. package/esm/{styles/radio/index.css → radio/style.css} +3 -1
  316. package/esm/rate/index.d.ts +190 -184
  317. package/esm/rate/index.mjs +13 -17
  318. package/esm/rate/index.mjs.map +1 -1
  319. package/esm/reset/index.d.ts +5 -2
  320. package/esm/reset/index.mjs +8 -44
  321. package/esm/reset/index.mjs.map +1 -1
  322. package/esm/reset/reset.mjs +42 -0
  323. package/esm/reset/reset.mjs.map +1 -0
  324. package/esm/segmented/index.d.ts +31 -25
  325. package/esm/segmented/index.mjs +13 -40
  326. package/esm/segmented/index.mjs.map +1 -1
  327. package/esm/segmented/segmented.mjs +26 -0
  328. package/esm/segmented/segmented.mjs.map +1 -0
  329. package/esm/select/index.d.ts +108 -121
  330. package/esm/select/index.mjs +14 -127
  331. package/esm/select/index.mjs.map +1 -1
  332. package/esm/select/select.mjs +95 -0
  333. package/esm/select/select.mjs.map +1 -0
  334. package/esm/select-table/index.d.ts +53 -1546
  335. package/esm/select-table/index.mjs +12 -204
  336. package/esm/select-table/index.mjs.map +1 -1
  337. package/esm/select-table/select-table.mjs +202 -0
  338. package/esm/select-table/select-table.mjs.map +1 -0
  339. package/esm/select-table/style.css +14 -0
  340. package/esm/select-table/types.d.ts +21 -16
  341. package/esm/shared/overlay-elements.mjs +15 -16
  342. package/esm/shared/overlay-elements.mjs.map +1 -1
  343. package/esm/shared/url-change-listener.mjs +50 -0
  344. package/esm/shared/url-change-listener.mjs.map +1 -0
  345. package/esm/slider/index.d.ts +182 -174
  346. package/esm/slider/index.mjs +13 -17
  347. package/esm/slider/index.mjs.map +1 -1
  348. package/esm/space/index.d.ts +2 -1
  349. package/esm/space/index.mjs +2 -6
  350. package/esm/submit/index.d.ts +5 -2
  351. package/esm/submit/index.mjs +8 -40
  352. package/esm/submit/index.mjs.map +1 -1
  353. package/esm/submit/submit.mjs +41 -0
  354. package/esm/submit/submit.mjs.map +1 -0
  355. package/esm/switch/index.d.ts +255 -249
  356. package/esm/switch/index.mjs +8 -13
  357. package/esm/switch/index.mjs.map +1 -1
  358. package/esm/time-picker/index.d.ts +451 -443
  359. package/esm/time-picker/index.mjs +10 -17
  360. package/esm/time-picker/index.mjs.map +1 -1
  361. package/esm/time-select/index.d.ts +189 -182
  362. package/esm/time-select/index.mjs +13 -17
  363. package/esm/time-select/index.mjs.map +1 -1
  364. package/esm/transfer/index.d.ts +246 -238
  365. package/esm/transfer/index.mjs +8 -11
  366. package/esm/transfer/index.mjs.map +1 -1
  367. package/esm/tree/index.d.ts +40 -33
  368. package/esm/tree/index.mjs +14 -104
  369. package/esm/tree/index.mjs.map +1 -1
  370. package/esm/tree/tree.mjs +127 -0
  371. package/esm/tree/tree.mjs.map +1 -0
  372. package/esm/tree/types.d.ts +17 -12
  373. package/esm/tree/utils.mjs +157 -149
  374. package/esm/tree/utils.mjs.map +1 -1
  375. package/esm/tree-select/index.d.ts +22 -15
  376. package/esm/tree-select/index.mjs +13 -40
  377. package/esm/tree-select/index.mjs.map +1 -1
  378. package/esm/tree-select/tree-select.mjs +38 -0
  379. package/esm/tree-select/tree-select.mjs.map +1 -0
  380. package/esm/upload/index.d.ts +117 -696
  381. package/esm/upload/index.mjs +11 -172
  382. package/esm/upload/index.mjs.map +1 -1
  383. package/esm/upload/upload.mjs +176 -0
  384. package/esm/upload/upload.mjs.map +1 -0
  385. package/package.json +24 -25
  386. package/esm/__builtins__/configs/index.d.ts +0 -1
  387. package/esm/__builtins__/index.d.ts +0 -2
  388. package/esm/__builtins__/index.mjs +0 -23
  389. package/esm/__builtins__/index.mjs.map +0 -1
  390. package/esm/__builtins__/shared/index.d.ts +0 -6
  391. package/esm/__builtins__/shared/index.mjs +0 -21
  392. package/esm/__builtins__/shared/index.mjs.map +0 -1
  393. package/esm/__builtins__/shared/load-config-provider.d.ts +0 -2
  394. package/esm/__builtins__/shared/loading.d.ts +0 -12
  395. package/esm/__builtins__/shared/simple-version-compare.d.ts +0 -2
  396. package/esm/__builtins__/shared/transform-component.d.ts +0 -3
  397. package/esm/__builtins__/shared/types.d.ts +0 -2
  398. package/esm/__builtins__/shared/types.mjs +0 -2
  399. package/esm/__builtins__/shared/types.mjs.map +0 -1
  400. package/esm/__builtins__/shared/use-enter-submit.d.ts +0 -9
  401. package/esm/__builtins__/shared/utils.d.ts +0 -9
  402. package/esm/array-base/array-base-addition.d.ts +0 -5
  403. package/esm/array-base/array-base-index.d.ts +0 -19
  404. package/esm/array-base/array-base-inner.d.ts +0 -18
  405. package/esm/array-base/array-base-item.d.ts +0 -18
  406. package/esm/array-base/array-base-move-down.d.ts +0 -18
  407. package/esm/array-base/array-base-move-up.d.ts +0 -18
  408. package/esm/array-base/array-base-remove.d.ts +0 -18
  409. package/esm/array-base/array-base-sort-handle.d.ts +0 -2
  410. package/esm/array-base/index.d.ts +0 -114
  411. package/esm/array-base/symbols.d.ts +0 -4
  412. package/esm/array-base/types.mjs +0 -2
  413. package/esm/array-base/types.mjs.map +0 -1
  414. package/esm/array-cards/array-cards.d.ts +0 -13
  415. package/esm/array-collapse/array-collapse-item.d.ts +0 -18
  416. package/esm/array-collapse/array-collapse.d.ts +0 -16
  417. package/esm/array-collapse/utils.d.ts +0 -1
  418. package/esm/array-items/array-items-item.d.ts +0 -30
  419. package/esm/array-items/array-items.d.ts +0 -2
  420. package/esm/array-list-tabs/array-list-tabs.d.ts +0 -31
  421. package/esm/array-list-tabs/utils.d.ts +0 -3
  422. package/esm/array-table/array-table.d.ts +0 -1505
  423. package/esm/array-table/types.mjs +0 -2
  424. package/esm/array-table/types.mjs.map +0 -1
  425. package/esm/array-table/utils.d.ts +0 -5
  426. package/esm/array-tabs/array-tabs.d.ts +0 -2
  427. package/esm/autocomplete/autocomplete.d.ts +0 -1222
  428. package/esm/cascader/cascader.d.ts +0 -25
  429. package/esm/checkbox/checkbox-group.d.ts +0 -42
  430. package/esm/date-picker/utils.d.ts +0 -4
  431. package/esm/editable/editable-popover.d.ts +0 -25
  432. package/esm/editable/editable.d.ts +0 -193
  433. package/esm/env.d.d.ts +0 -1
  434. package/esm/env.d.mjs +0 -2
  435. package/esm/env.d.mjs.map +0 -1
  436. package/esm/form/form.d.ts +0 -46
  437. package/esm/form/index.mjs +0 -6
  438. package/esm/form/index.mjs.map +0 -1
  439. package/esm/form-button-group/form-button-group-sticky.d.ts +0 -17
  440. package/esm/form-button-group/form-button-group.d.ts +0 -57
  441. package/esm/form-button-group/utils.d.ts +0 -1
  442. package/esm/form-collapse/form-collapse.d.ts +0 -18
  443. package/esm/form-dialog/dialog-content.d.ts +0 -846
  444. package/esm/form-dialog/types.mjs +0 -2
  445. package/esm/form-dialog/types.mjs.map +0 -1
  446. package/esm/form-drawer/drawer-content.d.ts +0 -976
  447. package/esm/form-drawer/types.mjs +0 -2
  448. package/esm/form-drawer/types.mjs.map +0 -1
  449. package/esm/form-grid/form-grid-column.d.ts +0 -29
  450. package/esm/form-grid/form-grid.d.ts +0 -101
  451. package/esm/form-grid/hooks.d.ts +0 -4
  452. package/esm/form-item/form-item.d.ts +0 -19
  453. package/esm/form-item/types.mjs +0 -2
  454. package/esm/form-item/types.mjs.map +0 -1
  455. package/esm/form-item/utils.d.ts +0 -3
  456. package/esm/form-layout/form-layout.d.ts +0 -31
  457. package/esm/form-layout/index.mjs +0 -6
  458. package/esm/form-layout/index.mjs.map +0 -1
  459. package/esm/form-layout/types.mjs +0 -2
  460. package/esm/form-layout/types.mjs.map +0 -1
  461. package/esm/form-layout/utils.d.ts +0 -57
  462. package/esm/form-step/form-step-pane.d.ts +0 -2
  463. package/esm/form-step/form-step.d.ts +0 -5
  464. package/esm/form-step/types.mjs +0 -2
  465. package/esm/form-step/types.mjs.map +0 -1
  466. package/esm/form-tab/form-tab.d.ts +0 -7
  467. package/esm/form-tab/hooks.d.ts +0 -8
  468. package/esm/form-tab/types.d.ts +0 -12
  469. package/esm/form-tab/types.mjs +0 -2
  470. package/esm/form-tab/types.mjs.map +0 -1
  471. package/esm/form-tab/utils.d.ts +0 -4
  472. package/esm/index.mjs.map +0 -1
  473. package/esm/input/input.d.ts +0 -25
  474. package/esm/input-tag/input-tag.d.ts +0 -32
  475. package/esm/mention/mention.d.ts +0 -51
  476. package/esm/pagination/components/jumper.d.ts +0 -16
  477. package/esm/pagination/components/next.d.ts +0 -42
  478. package/esm/pagination/components/pager.d.ts +0 -42
  479. package/esm/pagination/components/prev.d.ts +0 -39
  480. package/esm/pagination/components/sizes.d.ts +0 -56
  481. package/esm/pagination/components/total.d.ts +0 -8
  482. package/esm/pagination/pagination.d.ts +0 -128
  483. package/esm/preview-text/cascader.d.ts +0 -5
  484. package/esm/preview-text/color-picker.d.ts +0 -5
  485. package/esm/preview-text/date-picker.d.ts +0 -5
  486. package/esm/preview-text/input.d.ts +0 -28
  487. package/esm/preview-text/preview.d.ts +0 -18
  488. package/esm/preview-text/rate.d.ts +0 -5
  489. package/esm/preview-text/select.d.ts +0 -5
  490. package/esm/preview-text/time-picker.d.ts +0 -5
  491. package/esm/preview-text/tree.d.ts +0 -22
  492. package/esm/query-form/default-components.d.ts +0 -5
  493. package/esm/query-form/hooks.d.ts +0 -25
  494. package/esm/query-form/query-form-light.d.ts +0 -27
  495. package/esm/query-form/query-form.d.ts +0 -52
  496. package/esm/query-form/types.mjs +0 -2
  497. package/esm/query-form/types.mjs.map +0 -1
  498. package/esm/query-form-item/query-form-item.d.ts +0 -96
  499. package/esm/query-form-item/types.mjs +0 -2
  500. package/esm/query-form-item/types.mjs.map +0 -1
  501. package/esm/radio/radio-group.d.ts +0 -33
  502. package/esm/reset/reset.d.ts +0 -45
  503. package/esm/segmented/segmented.d.ts +0 -25
  504. package/esm/select/select.d.ts +0 -45
  505. package/esm/select-table/select-table.d.ts +0 -3030
  506. package/esm/select-table/types.mjs +0 -2
  507. package/esm/select-table/types.mjs.map +0 -1
  508. package/esm/shared/overlay-elements.d.ts +0 -6
  509. package/esm/space/index.mjs.map +0 -1
  510. package/esm/styles/array-base/index.css +0 -1
  511. package/esm/styles/array-cards/index.css +0 -1
  512. package/esm/styles/array-collapse/index.css +0 -1
  513. package/esm/styles/array-items/index.css +0 -1
  514. package/esm/styles/array-list-tabs/index.css +0 -1
  515. package/esm/styles/array-table/index.css +0 -1
  516. package/esm/styles/array-tabs/index.css +0 -1
  517. package/esm/styles/editable/index.css +0 -1
  518. package/esm/styles/form-button-group/index.css +0 -1
  519. package/esm/styles/form-collapse/index.css +0 -1
  520. package/esm/styles/form-grid/index.css +0 -1
  521. package/esm/styles/form-item/index.css +0 -1
  522. package/esm/styles/form-tab/index.css +0 -1
  523. package/esm/styles/preview-text/index.css +0 -1
  524. package/esm/styles/query-form/index.css +0 -1
  525. package/esm/styles/query-form-item/index.css +0 -1
  526. package/esm/styles/select-table/index.css +0 -1
  527. package/esm/submit/submit.d.ts +0 -36
  528. package/esm/tree/tree.d.ts +0 -20
  529. package/esm/tree/types.mjs +0 -2
  530. package/esm/tree/types.mjs.map +0 -1
  531. package/esm/tree/utils.d.ts +0 -45
  532. package/esm/tree-select/tree-select.d.ts +0 -10
  533. package/esm/upload/upload.d.ts +0 -1259
  534. package/esm/vendor/icon.mjs +0 -11
  535. package/esm/vendor/icon.mjs.map +0 -1
  536. package/esm/vendor/lodash.mjs +0 -1506
  537. package/esm/vendor/lodash.mjs.map +0 -1
  538. package/esm/vendor/runtime.mjs +0 -34
  539. package/esm/vendor/runtime.mjs.map +0 -1
  540. package/esm/vendor/shared.esm-bundler.mjs +0 -9
  541. package/esm/vendor/shared.esm-bundler.mjs.map +0 -1
  542. package/esm/vendor/sizes.mjs +0 -27
  543. package/esm/vendor/sizes.mjs.map +0 -1
  544. package/esm/vendor/types.mjs +0 -19
  545. package/esm/vendor/types.mjs.map +0 -1
@@ -0,0 +1,191 @@
1
+ import { getArrayItemSchema, isAdditionComponent, isRemoveComponent } from "../array-base/utils.mjs";
2
+ import { ArrayBase } from "../array-base/index.mjs";
3
+ import { isTabTitleComponent, prefixCls } from "./utils.mjs";
4
+ import "./style.css";
5
+ import { ElBadge, ElEmpty, ElScrollbar } from "element-plus";
6
+ import { autorunEffect, formilyComputed } from "@silver-formily/reactive-vue";
7
+ import { Fragment, createBlock, createCommentVNode, createElementBlock, createElementVNode, createVNode, defineComponent, normalizeClass, normalizeStyle, openBlock, ref, renderList, toDisplayString, unref, withCtx } from "vue";
8
+ import { RecursionField, useField, useFieldSchema } from "@silver-formily/vue";
9
+ import { isArr } from "@formily/shared";
10
+ //#region src/array-list-tabs/array-list-tabs.vue
11
+ const _hoisted_1 = [
12
+ "id",
13
+ "aria-controls",
14
+ "onClick"
15
+ ];
16
+ const _hoisted_2 = ["id", "aria-labelledby"];
17
+ const _sfc_main = /* @__PURE__ */ defineComponent({
18
+ name: "FArrayListTabs",
19
+ __name: "array-list-tabs",
20
+ props: {
21
+ tabTitleField: {
22
+ required: true,
23
+ type: String
24
+ },
25
+ showTitleFieldInTab: {
26
+ type: Boolean,
27
+ default: false
28
+ },
29
+ modelValue: {
30
+ type: Array,
31
+ default: () => []
32
+ }
33
+ },
34
+ setup(__props) {
35
+ const props = __props;
36
+ const fieldRef = useField();
37
+ const schemaRef = useFieldSchema();
38
+ const field = fieldRef.value;
39
+ const schema = schemaRef.value;
40
+ const activeIndex = ref(0);
41
+ const { getKey, keyMap } = ArrayBase.useKey(schemaRef.value);
42
+ const errorCountList = formilyComputed(() => {
43
+ if (props.showTitleFieldInTab) return field.value.map((item, index) => {
44
+ const path = field.path.concat(index);
45
+ return field.form.queryFeedbacks({
46
+ type: "error",
47
+ path: `${path}.*(!${props.tabTitleField})`
48
+ }).length;
49
+ });
50
+ return field.value.map((item, index) => {
51
+ const path = field.path.concat(index);
52
+ return field.form.queryFeedbacks({
53
+ type: "error",
54
+ path: `${path}.**`
55
+ }).length;
56
+ });
57
+ });
58
+ const arrayBaseKey = ref();
59
+ autorunEffect(() => {
60
+ if (props.showTitleFieldInTab) arrayBaseKey.value = field.value.map((item, index) => {
61
+ return [index, errorCountList.value[index]].join("|");
62
+ }).join(",");
63
+ else arrayBaseKey.value = field.value.map((item, index) => {
64
+ return [
65
+ index,
66
+ item?.[props.tabTitleField],
67
+ errorCountList.value[index]
68
+ ].join("|");
69
+ }).join(",");
70
+ });
71
+ autorunEffect(() => {
72
+ if (field.value.length > 0 && activeIndex.value >= field.value.length) activeIndex.value = field.value.length - 1;
73
+ });
74
+ function getTabTitle(item) {
75
+ return `${item?.[props.tabTitleField] || "未命名条目"}`;
76
+ }
77
+ return (_ctx, _cache) => {
78
+ return openBlock(), createElementBlock("div", { class: normalizeClass(unref(prefixCls)) }, [(openBlock(), createBlock(unref(ArrayBase), {
79
+ key: props.modelValue.length,
80
+ "key-map": unref(keyMap)
81
+ }, {
82
+ default: withCtx(() => [
83
+ createElementVNode("ul", { class: normalizeClass(`${unref(prefixCls)}_list`) }, [createVNode(unref(ElScrollbar), { class: normalizeClass(`${unref(prefixCls)}_list--scroll-wrapper`) }, {
84
+ default: withCtx(() => [(openBlock(true), createElementBlock(Fragment, null, renderList(props.modelValue, (item, index) => {
85
+ return openBlock(), createBlock(unref(ArrayBase).Item, {
86
+ key: index,
87
+ index,
88
+ record: item
89
+ }, {
90
+ default: withCtx(() => [(openBlock(), createElementBlock("li", {
91
+ id: `${unref(field).props.name}-tab-${index}`,
92
+ key: arrayBaseKey.value,
93
+ class: normalizeClass([`${unref(prefixCls)}_list-item`, activeIndex.value === index && "is-active"]),
94
+ role: "tab",
95
+ "aria-controls": `${unref(field).props.name}-tab-panel-${index}`,
96
+ onClick: () => activeIndex.value = index
97
+ }, [
98
+ createElementVNode("div", { class: normalizeClass(`${unref(prefixCls)}_list-item--content`) }, [createVNode(unref(ElBadge), {
99
+ class: normalizeClass([`${unref(prefixCls)}-errors-badge`]),
100
+ value: unref(errorCountList)[index],
101
+ offset: [5, 0],
102
+ hidden: unref(errorCountList)[index] === 0
103
+ }, {
104
+ default: withCtx(() => [!props.showTitleFieldInTab ? (openBlock(), createElementBlock("span", {
105
+ key: 0,
106
+ class: normalizeClass(`${unref(prefixCls)}_list-item--title`)
107
+ }, toDisplayString(getTabTitle(item)), 3)) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [!unref(isArr)(unref(schema).items) ? (openBlock(), createBlock(unref(RecursionField), {
108
+ key: 0,
109
+ schema: unref(schema).items,
110
+ name: index,
111
+ "filter-properties": (schema) => unref(isTabTitleComponent)(schema, props.tabTitleField),
112
+ "only-render-properties": ""
113
+ }, null, 8, [
114
+ "schema",
115
+ "name",
116
+ "filter-properties"
117
+ ])) : createCommentVNode("v-if", true)], 64))]),
118
+ _: 2
119
+ }, 1032, [
120
+ "class",
121
+ "value",
122
+ "hidden"
123
+ ])], 2),
124
+ createCommentVNode(" remove icon "),
125
+ !unref(isArr)(unref(schema).items) ? (openBlock(), createBlock(unref(RecursionField), {
126
+ key: 0,
127
+ schema: unref(schema).items,
128
+ name: index,
129
+ "filter-properties": (schema) => unref(isRemoveComponent)(schema),
130
+ "only-render-properties": ""
131
+ }, null, 8, [
132
+ "schema",
133
+ "name",
134
+ "filter-properties"
135
+ ])) : createCommentVNode("v-if", true)
136
+ ], 10, _hoisted_1))]),
137
+ _: 2
138
+ }, 1032, ["index", "record"]);
139
+ }), 128))]),
140
+ _: 1
141
+ }, 8, ["class"]), (openBlock(true), createElementBlock(Fragment, null, renderList(unref(schema).properties, (property, key) => {
142
+ return openBlock(), createElementBlock(Fragment, { key }, [unref(isAdditionComponent)(property) ? (openBlock(), createBlock(unref(RecursionField), {
143
+ key: 0,
144
+ schema: property,
145
+ name: "addition"
146
+ }, null, 8, ["schema"])) : createCommentVNode("v-if", true)], 64);
147
+ }), 128))], 2),
148
+ props.modelValue.length === 0 ? (openBlock(), createElementBlock("div", {
149
+ key: 0,
150
+ class: normalizeClass(`${unref(prefixCls)}-tabpane`)
151
+ }, [createVNode(unref(ElEmpty), { "image-size": 100 })], 2)) : createCommentVNode("v-if", true),
152
+ (openBlock(true), createElementBlock(Fragment, null, renderList(props.modelValue, (item, index) => {
153
+ return openBlock(), createBlock(unref(ArrayBase).Item, {
154
+ key: unref(getKey)(item, index),
155
+ index,
156
+ record: item
157
+ }, {
158
+ default: withCtx(() => [createCommentVNode(" tab-panel "), (openBlock(), createElementBlock("div", {
159
+ id: `${unref(field).props.name}-tab-panel-${index}`,
160
+ key: unref(getKey)(item, index),
161
+ class: normalizeClass(`${unref(prefixCls)}-tabpane`),
162
+ style: normalizeStyle({ display: activeIndex.value === index ? void 0 : "none" }),
163
+ role: "tabpanel",
164
+ "aria-labelledby": `${unref(field).props.name}-tab-${index}`
165
+ }, [createVNode(unref(RecursionField), {
166
+ schema: unref(getArrayItemSchema)(unref(schema), index),
167
+ name: index,
168
+ "filter-properties": (schema) => {
169
+ if (unref(isRemoveComponent)(schema)) return false;
170
+ if (props.showTitleFieldInTab) return !unref(isTabTitleComponent)(schema, props.tabTitleField);
171
+ return true;
172
+ },
173
+ "only-render-properties": ""
174
+ }, null, 8, [
175
+ "schema",
176
+ "name",
177
+ "filter-properties"
178
+ ])], 14, _hoisted_2))]),
179
+ _: 2
180
+ }, 1032, ["index", "record"]);
181
+ }), 128))
182
+ ]),
183
+ _: 1
184
+ }, 8, ["key-map"]))], 2);
185
+ };
186
+ }
187
+ });
188
+ //#endregion
189
+ export { _sfc_main as default };
190
+
191
+ //# sourceMappingURL=array-list-tabs.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"array-list-tabs.mjs","names":[],"sources":["../../src/array-list-tabs/array-list-tabs.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport type { ArrayField } from '@formily/core'\nimport type { ISchema } from '@formily/json-schema'\nimport { isArr } from '@formily/shared'\nimport { autorunEffect, formilyComputed } from '@silver-formily/reactive-vue'\nimport { RecursionField, useField, useFieldSchema } from '@silver-formily/vue'\nimport { ElBadge, ElEmpty, ElScrollbar } from 'element-plus'\nimport { ref } from 'vue'\nimport { ArrayBase } from '../array-base'\nimport { getArrayItemSchema, isAdditionComponent, isRemoveComponent } from '../array-base/utils'\nimport { isTabTitleComponent, prefixCls } from './utils'\nimport './style.scss'\n\ndefineOptions({\n name: 'FArrayListTabs',\n})\n\nconst props = defineProps({\n tabTitleField: {\n required: true,\n type: String,\n },\n showTitleFieldInTab: {\n type: Boolean,\n default: false,\n },\n modelValue: {\n type: Array,\n default: () => [],\n },\n})\n\nconst fieldRef = useField<ArrayField>()\nconst schemaRef = useFieldSchema()\nconst field = fieldRef.value\nconst schema = schemaRef.value\n\nconst activeIndex = ref(0)\nconst { getKey, keyMap } = ArrayBase.useKey(schemaRef.value)\n\nconst errorCountList = formilyComputed(() => {\n if (props.showTitleFieldInTab) {\n return field.value.map((item, index) => {\n const path = field.path.concat(index)\n return field.form.queryFeedbacks({\n type: 'error',\n path: `${path}.*(!${props.tabTitleField})`,\n }).length\n })\n }\n return field.value.map((item, index) => {\n const path = field.path.concat(index)\n return field.form.queryFeedbacks({\n type: 'error',\n path: `${path}.**`,\n }).length\n })\n})\n\n// 保证arrayBase在必要时重新渲染\nconst arrayBaseKey = ref()\n\nautorunEffect(() => {\n if (props.showTitleFieldInTab) {\n const key = field.value.map((item, index) => {\n const keyParts = [\n index,\n errorCountList.value[index],\n ]\n return keyParts.join('|')\n }).join(',')\n arrayBaseKey.value = key\n }\n else {\n const key = field.value.map((item, index) => {\n const keyParts = [\n index,\n item?.[props.tabTitleField],\n errorCountList.value[index],\n ]\n return keyParts.join('|')\n }).join(',')\n arrayBaseKey.value = key\n }\n})\n\nautorunEffect(() => {\n if (field.value.length > 0 && activeIndex.value >= field.value.length) {\n activeIndex.value = field.value.length - 1\n }\n})\n\nfunction getTabTitle(item) {\n return `${item?.[props.tabTitleField] || '未命名条目'}`\n}\n</script>\n\n<template>\n <div :class=\"prefixCls\">\n <ArrayBase :key=\"props.modelValue.length\" :key-map=\"keyMap\">\n <ul :class=\"`${prefixCls}_list`\">\n <ElScrollbar :class=\"`${prefixCls}_list--scroll-wrapper`\">\n <ArrayBase.Item\n v-for=\"(item, index) in props.modelValue\"\n :key=\"index\"\n :index=\"index\"\n :record=\"item\"\n >\n <li\n :id=\"`${field.props.name}-tab-${index}`\"\n :key=\"arrayBaseKey\"\n :class=\"[\n `${prefixCls}_list-item`,\n activeIndex === index && 'is-active',\n ]\"\n role=\"tab\"\n :aria-controls=\"`${field.props.name}-tab-panel-${index}`\"\n @click=\"() => activeIndex = index\"\n >\n <div :class=\"`${prefixCls}_list-item--content`\">\n <ElBadge\n :class=\"[`${prefixCls}-errors-badge`]\"\n :value=\"errorCountList[index]\"\n :offset=\"[5, 0]\"\n :hidden=\"errorCountList[index] === 0\"\n >\n <template v-if=\"!props.showTitleFieldInTab\">\n <span :class=\"`${prefixCls}_list-item--title`\">{{ getTabTitle(item) }}</span>\n </template>\n <template v-else>\n <RecursionField\n v-if=\"!isArr(schema.items)\"\n :schema=\"schema.items\"\n :name=\"index\"\n :filter-properties=\"(schema: ISchema) => isTabTitleComponent(schema, props.tabTitleField)\"\n only-render-properties\n />\n </template>\n </ElBadge>\n </div>\n <!-- remove icon -->\n <RecursionField\n v-if=\"!isArr(schema.items)\"\n :schema=\"schema.items\"\n :name=\"index\"\n :filter-properties=\"(schema: ISchema) => isRemoveComponent(schema)\"\n only-render-properties\n />\n </li>\n </ArrayBase.Item>\n </ElScrollbar>\n <template v-for=\"(property, key) in schema.properties\" :key=\"key\">\n <RecursionField\n v-if=\"isAdditionComponent(property)\"\n :schema=\"property\"\n name=\"addition\"\n />\n </template>\n </ul>\n <div v-if=\"props.modelValue.length === 0\" :class=\"`${prefixCls}-tabpane`\">\n <ElEmpty :image-size=\"100\" />\n </div>\n <ArrayBase.Item\n v-for=\"(item, index) in props.modelValue\"\n :key=\"getKey(item, index)\"\n :index=\"index\"\n :record=\"item\"\n >\n <!-- tab-panel -->\n <div\n :id=\"`${field.props.name}-tab-panel-${index}`\"\n :key=\"getKey(item, index)\"\n :class=\"`${prefixCls}-tabpane`\"\n :style=\"{ display: activeIndex === index ? undefined : 'none' }\"\n role=\"tabpanel\"\n :aria-labelledby=\"`${field.props.name}-tab-${index}`\"\n >\n <RecursionField\n :schema=\"getArrayItemSchema(schema, index)\"\n :name=\"index\"\n :filter-properties=\"(schema: ISchema) => {\n if (isRemoveComponent(schema)) {\n return false\n }\n if (props.showTitleFieldInTab) {\n return !isTabTitleComponent(schema, props.tabTitleField)\n }\n return true\n }\"\n only-render-properties\n />\n </div>\n </ArrayBase.Item>\n </ArrayBase>\n </div>\n</template>\n"],"mappings":"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"}
@@ -1,83 +1,89 @@
1
- export declare const ArrayListTabs: {
2
- new (...args: any[]): import('vue').CreateComponentPublicInstanceWithMixins<Readonly<import('vue').ExtractPropTypes<{
3
- tabTitleField: {
4
- required: true;
5
- type: StringConstructor;
6
- };
7
- showTitleFieldInTab: {
8
- type: BooleanConstructor;
9
- default: boolean;
10
- };
11
- modelValue: {
12
- type: ArrayConstructor;
13
- default: () => any[];
14
- };
15
- }>> & Readonly<{}>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, import('vue').PublicProps, {
16
- modelValue: unknown[];
17
- showTitleFieldInTab: boolean;
18
- }, true, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {}, HTMLDivElement, import('vue').ComponentProvideOptions, {
19
- P: {};
20
- B: {};
21
- D: {};
22
- C: {};
23
- M: {};
24
- Defaults: {};
25
- }, Readonly<import('vue').ExtractPropTypes<{
26
- tabTitleField: {
27
- required: true;
28
- type: StringConstructor;
29
- };
30
- showTitleFieldInTab: {
31
- type: BooleanConstructor;
32
- default: boolean;
33
- };
34
- modelValue: {
35
- type: ArrayConstructor;
36
- default: () => any[];
37
- };
38
- }>> & Readonly<{}>, {}, {}, {}, {}, {
39
- modelValue: unknown[];
40
- showTitleFieldInTab: boolean;
41
- }>;
42
- __isFragment?: never;
43
- __isTeleport?: never;
44
- __isSuspense?: never;
45
- } & import('vue').ComponentOptionsBase<Readonly<import('vue').ExtractPropTypes<{
1
+ import { IArrayBaseAdditionProps, IArrayBaseOperationProps } from "../array-base/types.js";
2
+ import * as _$vue from "vue";
3
+
4
+ //#region src/array-list-tabs/index.d.ts
5
+ declare const ArrayListTabs: {
6
+ new (...args: any[]): _$vue.CreateComponentPublicInstanceWithMixins<Readonly<_$vue.ExtractPropTypes<{
46
7
  tabTitleField: {
47
- required: true;
48
- type: StringConstructor;
8
+ required: true;
9
+ type: StringConstructor;
49
10
  };
50
11
  showTitleFieldInTab: {
51
- type: BooleanConstructor;
52
- default: boolean;
12
+ type: BooleanConstructor;
13
+ default: boolean;
53
14
  };
54
15
  modelValue: {
55
- type: ArrayConstructor;
56
- default: () => any[];
16
+ type: ArrayConstructor;
17
+ default: () => any[];
57
18
  };
58
- }>> & Readonly<{}>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, {
19
+ }>> & Readonly<{}>, {}, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {}, _$vue.PublicProps, {
59
20
  modelValue: unknown[];
60
21
  showTitleFieldInTab: boolean;
61
- }, {}, string, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, import('vue').ComponentProvideOptions> & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps & {
62
- Addition: import('vue').DefineComponent<import('../array-base/types').IArrayBaseAdditionProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('../array-base/types').IArrayBaseAdditionProps> & Readonly<{}>, {
63
- method: "push" | "unshift";
64
- }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
65
- Remove: {
66
- new (...args: any[]): import('vue').CreateComponentPublicInstanceWithMixins<Readonly<import('../array-base/types').IArrayBaseOperationProps> & Readonly<{}>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, import('vue').PublicProps, {}, true, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {}, any, import('vue').ComponentProvideOptions, {
67
- P: {};
68
- B: {};
69
- D: {};
70
- C: {};
71
- M: {};
72
- Defaults: {};
73
- }, Readonly<import('../array-base/types').IArrayBaseOperationProps> & Readonly<{}>, {}, {}, {}, {}, {}>;
74
- __isFragment?: never;
75
- __isTeleport?: never;
76
- __isSuspense?: never;
77
- } & import('vue').ComponentOptionsBase<Readonly<import('../array-base/types').IArrayBaseOperationProps> & Readonly<{}>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, {}, {}, string, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, import('vue').ComponentProvideOptions> & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps & (new () => {
78
- $slots: {
79
- default?(_: {}): any;
80
- };
81
- });
22
+ }, true, {}, {}, _$vue.GlobalComponents, _$vue.GlobalDirectives, string, {}, any, _$vue.ComponentProvideOptions, {
23
+ P: {};
24
+ B: {};
25
+ D: {};
26
+ C: {};
27
+ M: {};
28
+ Defaults: {};
29
+ }, Readonly<_$vue.ExtractPropTypes<{
30
+ tabTitleField: {
31
+ required: true;
32
+ type: StringConstructor;
33
+ };
34
+ showTitleFieldInTab: {
35
+ type: BooleanConstructor;
36
+ default: boolean;
37
+ };
38
+ modelValue: {
39
+ type: ArrayConstructor;
40
+ default: () => any[];
41
+ };
42
+ }>> & Readonly<{}>, {}, {}, {}, {}, {
43
+ modelValue: unknown[];
44
+ showTitleFieldInTab: boolean;
45
+ }>;
46
+ __isFragment?: never;
47
+ __isTeleport?: never;
48
+ __isSuspense?: never;
49
+ } & _$vue.ComponentOptionsBase<Readonly<_$vue.ExtractPropTypes<{
50
+ tabTitleField: {
51
+ required: true;
52
+ type: StringConstructor;
53
+ };
54
+ showTitleFieldInTab: {
55
+ type: BooleanConstructor;
56
+ default: boolean;
57
+ };
58
+ modelValue: {
59
+ type: ArrayConstructor;
60
+ default: () => any[];
61
+ };
62
+ }>> & Readonly<{}>, {}, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {}, string, {
63
+ modelValue: unknown[];
64
+ showTitleFieldInTab: boolean;
65
+ }, {}, string, {}, _$vue.GlobalComponents, _$vue.GlobalDirectives, string, _$vue.ComponentProvideOptions> & _$vue.VNodeProps & _$vue.AllowedComponentProps & _$vue.ComponentCustomProps & {
66
+ Addition: _$vue.DefineComponent<IArrayBaseAdditionProps, {}, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {}, string, _$vue.PublicProps, Readonly<IArrayBaseAdditionProps> & Readonly<{}>, {
67
+ method: "push" | "unshift";
68
+ }, {}, {}, {}, string, _$vue.ComponentProvideOptions, true, {}, any>;
69
+ Remove: {
70
+ new (...args: any[]): _$vue.CreateComponentPublicInstanceWithMixins<Readonly<IArrayBaseOperationProps> & Readonly<{}>, {}, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {}, _$vue.PublicProps, {}, true, {}, {}, _$vue.GlobalComponents, _$vue.GlobalDirectives, string, {}, any, _$vue.ComponentProvideOptions, {
71
+ P: {};
72
+ B: {};
73
+ D: {};
74
+ C: {};
75
+ M: {};
76
+ Defaults: {};
77
+ }, Readonly<IArrayBaseOperationProps> & Readonly<{}>, {}, {}, {}, {}, {}>;
78
+ __isFragment?: never;
79
+ __isTeleport?: never;
80
+ __isSuspense?: never;
81
+ } & _$vue.ComponentOptionsBase<Readonly<IArrayBaseOperationProps> & Readonly<{}>, {}, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {}, string, {}, {}, string, {}, _$vue.GlobalComponents, _$vue.GlobalDirectives, string, _$vue.ComponentProvideOptions> & _$vue.VNodeProps & _$vue.AllowedComponentProps & _$vue.ComponentCustomProps & (new () => {
82
+ $slots: {
83
+ default?: (props: {}) => any;
84
+ };
85
+ });
82
86
  };
83
- export default ArrayListTabs;
87
+ //#endregion
88
+ export { ArrayListTabs };
89
+ //# sourceMappingURL=index.d.ts.map
@@ -1,187 +1,13 @@
1
- import { ElScrollbar as P, ElBadge as q, ElEmpty as z } from "element-plus";
2
- import { formilyComputed as K, autorunEffect as A } from "@silver-formily/reactive-vue";
3
- import "@vueuse/core";
4
- import { defineComponent as N, ref as I, openBlock as a, createElementBlock as s, normalizeClass as i, unref as e, createBlock as d, withCtx as h, createElementVNode as E, createVNode as k, Fragment as b, renderList as F, toDisplayString as D, createCommentVNode as T, normalizeStyle as M } from "vue";
5
- import "@formily/core";
6
- import { useField as G, useFieldSchema as H, RecursionField as _ } from "@silver-formily/vue";
7
- import { composeExport as J } from "../__builtins__/shared/utils.mjs";
8
- import { ArrayBase as f } from "../array-base/index.mjs";
9
- import { isArr as V } from "@formily/shared";
10
- import { isRemoveComponent as w, isAdditionComponent as O, getArrayItemSchema as Q } from "../array-base/utils.mjs";
11
- import { prefixCls as n, isTabTitleComponent as B } from "./utils.mjs";
12
- import '../styles/array-list-tabs/index.css';const U = ["id", "aria-controls", "onClick"], W = ["id", "aria-labelledby"], X = /* @__PURE__ */ N({
13
- name: "FArrayListTabs",
14
- __name: "array-list-tabs",
15
- props: {
16
- tabTitleField: {
17
- required: !0,
18
- type: String
19
- },
20
- showTitleFieldInTab: {
21
- type: Boolean,
22
- default: !1
23
- },
24
- modelValue: {
25
- type: Array,
26
- default: () => []
27
- }
28
- },
29
- setup(R) {
30
- const o = R, S = G(), g = H(), l = S.value, u = g.value, y = I(0), { getKey: C, keyMap: j } = f.useKey(g.value), v = K(() => o.showTitleFieldInTab ? l.value.map((m, p) => {
31
- const r = l.path.concat(p);
32
- return l.form.queryFeedbacks({
33
- type: "error",
34
- path: `${r}.*(!${o.tabTitleField})`
35
- }).length;
36
- }) : l.value.map((m, p) => {
37
- const r = l.path.concat(p);
38
- return l.form.queryFeedbacks({
39
- type: "error",
40
- path: `${r}.**`
41
- }).length;
42
- })), $ = I();
43
- A(() => {
44
- if (o.showTitleFieldInTab) {
45
- const m = l.value.map((p, r) => [
46
- r,
47
- v.value[r]
48
- ].join("|")).join(",");
49
- $.value = m;
50
- } else {
51
- const m = l.value.map((p, r) => [
52
- r,
53
- p?.[o.tabTitleField],
54
- v.value[r]
55
- ].join("|")).join(",");
56
- $.value = m;
57
- }
58
- }), A(() => {
59
- l.value.length > 0 && y.value >= l.value.length && (y.value = l.value.length - 1);
60
- });
61
- function L(m) {
62
- return `${m?.[o.tabTitleField] || "未命名条目"}`;
63
- }
64
- return (m, p) => (a(), s("div", {
65
- class: i(e(n))
66
- }, [
67
- (a(), d(e(f), {
68
- key: o.modelValue.length,
69
- "key-map": e(j)
70
- }, {
71
- default: h(() => [
72
- E("ul", {
73
- class: i(`${e(n)}_list`)
74
- }, [
75
- k(e(P), {
76
- class: i(`${e(n)}_list--scroll-wrapper`)
77
- }, {
78
- default: h(() => [
79
- (a(!0), s(b, null, F(o.modelValue, (r, t) => (a(), d(e(f).Item, {
80
- key: t,
81
- index: t,
82
- record: r
83
- }, {
84
- default: h(() => [
85
- (a(), s("li", {
86
- id: `${e(l).props.name}-tab-${t}`,
87
- key: $.value,
88
- class: i([
89
- `${e(n)}_list-item`,
90
- y.value === t && "is-active"
91
- ]),
92
- role: "tab",
93
- "aria-controls": `${e(l).props.name}-tab-panel-${t}`,
94
- onClick: () => y.value = t
95
- }, [
96
- E("div", {
97
- class: i(`${e(n)}_list-item--content`)
98
- }, [
99
- k(e(q), {
100
- class: i([`${e(n)}-errors-badge`]),
101
- value: e(v)[t],
102
- offset: [5, 0],
103
- hidden: e(v)[t] === 0
104
- }, {
105
- default: h(() => [
106
- o.showTitleFieldInTab ? (a(), s(b, { key: 1 }, [
107
- e(V)(e(u).items) ? T("", !0) : (a(), d(e(_), {
108
- key: 0,
109
- schema: e(u).items,
110
- name: t,
111
- "filter-properties": (c) => e(B)(c, o.tabTitleField),
112
- "only-render-properties": ""
113
- }, null, 8, ["schema", "name", "filter-properties"]))
114
- ], 64)) : (a(), s("span", {
115
- key: 0,
116
- class: i(`${e(n)}_list-item--title`)
117
- }, D(L(r)), 3))
118
- ]),
119
- _: 2
120
- }, 1032, ["class", "value", "hidden"])
121
- ], 2),
122
- e(V)(e(u).items) ? T("", !0) : (a(), d(e(_), {
123
- key: 0,
124
- schema: e(u).items,
125
- name: t,
126
- "filter-properties": (c) => e(w)(c),
127
- "only-render-properties": ""
128
- }, null, 8, ["schema", "name", "filter-properties"]))
129
- ], 10, U))
130
- ]),
131
- _: 2
132
- }, 1032, ["index", "record"]))), 128))
133
- ]),
134
- _: 1
135
- }, 8, ["class"]),
136
- (a(!0), s(b, null, F(e(u).properties, (r, t) => (a(), s(b, { key: t }, [
137
- e(O)(r) ? (a(), d(e(_), {
138
- key: 0,
139
- schema: r,
140
- name: "addition"
141
- }, null, 8, ["schema"])) : T("", !0)
142
- ], 64))), 128))
143
- ], 2),
144
- o.modelValue.length === 0 ? (a(), s("div", {
145
- key: 0,
146
- class: i(`${e(n)}-tabpane`)
147
- }, [
148
- k(e(z), { "image-size": 100 })
149
- ], 2)) : T("", !0),
150
- (a(!0), s(b, null, F(o.modelValue, (r, t) => (a(), d(e(f).Item, {
151
- key: e(C)(r, t),
152
- index: t,
153
- record: r
154
- }, {
155
- default: h(() => [
156
- (a(), s("div", {
157
- id: `${e(l).props.name}-tab-panel-${t}`,
158
- key: e(C)(r, t),
159
- class: i(`${e(n)}-tabpane`),
160
- style: M({ display: y.value === t ? void 0 : "none" }),
161
- role: "tabpanel",
162
- "aria-labelledby": `${e(l).props.name}-tab-${t}`
163
- }, [
164
- k(e(_), {
165
- schema: e(Q)(e(u), t),
166
- name: t,
167
- "filter-properties": (c) => e(w)(c) ? !1 : o.showTitleFieldInTab ? !e(B)(c, o.tabTitleField) : !0,
168
- "only-render-properties": ""
169
- }, null, 8, ["schema", "name", "filter-properties"])
170
- ], 14, W))
171
- ]),
172
- _: 2
173
- }, 1032, ["index", "record"]))), 128))
174
- ]),
175
- _: 1
176
- }, 8, ["key-map"]))
177
- ], 2));
178
- }
179
- }), ne = J(X, {
180
- Addition: f.Addition,
181
- Remove: f.Remove
1
+ import { composeExport } from "../__builtins__/shared/utils.mjs";
2
+ import { ArrayBase } from "../array-base/index.mjs";
3
+ import "./style.css";
4
+ import _sfc_main from "./array-list-tabs.mjs";
5
+ //#region src/array-list-tabs/index.ts
6
+ const ArrayListTabs = composeExport(_sfc_main, {
7
+ Addition: ArrayBase.Addition,
8
+ Remove: ArrayBase.Remove
182
9
  });
183
- export {
184
- ne as ArrayListTabs,
185
- ne as default
186
- };
187
- //# sourceMappingURL=index.mjs.map
10
+ //#endregion
11
+ export { ArrayListTabs as default };
12
+
13
+ //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../src/array-list-tabs/array-list-tabs.vue","../../src/array-list-tabs/index.ts"],"sourcesContent":["<script setup lang=\"ts\">\nimport type { ArrayField } from '@formily/core'\nimport type { ISchema } from '@formily/json-schema'\nimport { isArr } from '@formily/shared'\nimport { autorunEffect, formilyComputed } from '@silver-formily/reactive-vue'\nimport { RecursionField, useField, useFieldSchema } from '@silver-formily/vue'\nimport { ElBadge, ElEmpty, ElScrollbar } from 'element-plus'\nimport { ref } from 'vue'\nimport { ArrayBase } from '../array-base'\nimport { getArrayItemSchema, isAdditionComponent, isRemoveComponent } from '../array-base/utils'\nimport { isTabTitleComponent, prefixCls } from './utils'\nimport './style.scss'\n\ndefineOptions({\n name: 'FArrayListTabs',\n})\n\nconst props = defineProps({\n tabTitleField: {\n required: true,\n type: String,\n },\n showTitleFieldInTab: {\n type: Boolean,\n default: false,\n },\n modelValue: {\n type: Array,\n default: () => [],\n },\n})\n\nconst fieldRef = useField<ArrayField>()\nconst schemaRef = useFieldSchema()\nconst field = fieldRef.value\nconst schema = schemaRef.value\n\nconst activeIndex = ref(0)\nconst { getKey, keyMap } = ArrayBase.useKey(schemaRef.value)\n\nconst errorCountList = formilyComputed(() => {\n if (props.showTitleFieldInTab) {\n return field.value.map((item, index) => {\n const path = field.path.concat(index)\n return field.form.queryFeedbacks({\n type: 'error',\n path: `${path}.*(!${props.tabTitleField})`,\n }).length\n })\n }\n return field.value.map((item, index) => {\n const path = field.path.concat(index)\n return field.form.queryFeedbacks({\n type: 'error',\n path: `${path}.**`,\n }).length\n })\n})\n\n// 保证arrayBase在必要时重新渲染\nconst arrayBaseKey = ref()\n\nautorunEffect(() => {\n if (props.showTitleFieldInTab) {\n const key = field.value.map((item, index) => {\n const keyParts = [\n index,\n errorCountList.value[index],\n ]\n return keyParts.join('|')\n }).join(',')\n arrayBaseKey.value = key\n }\n else {\n const key = field.value.map((item, index) => {\n const keyParts = [\n index,\n item?.[props.tabTitleField],\n errorCountList.value[index],\n ]\n return keyParts.join('|')\n }).join(',')\n arrayBaseKey.value = key\n }\n})\n\nautorunEffect(() => {\n if (field.value.length > 0 && activeIndex.value >= field.value.length) {\n activeIndex.value = field.value.length - 1\n }\n})\n\nfunction getTabTitle(item) {\n return `${item?.[props.tabTitleField] || '未命名条目'}`\n}\n</script>\n\n<template>\n <div :class=\"prefixCls\">\n <ArrayBase :key=\"props.modelValue.length\" :key-map=\"keyMap\">\n <ul :class=\"`${prefixCls}_list`\">\n <ElScrollbar :class=\"`${prefixCls}_list--scroll-wrapper`\">\n <ArrayBase.Item\n v-for=\"(item, index) in props.modelValue\"\n :key=\"index\"\n :index=\"index\"\n :record=\"item\"\n >\n <li\n :id=\"`${field.props.name}-tab-${index}`\"\n :key=\"arrayBaseKey\"\n :class=\"[\n `${prefixCls}_list-item`,\n activeIndex === index && 'is-active',\n ]\"\n role=\"tab\"\n :aria-controls=\"`${field.props.name}-tab-panel-${index}`\"\n @click=\"() => activeIndex = index\"\n >\n <div :class=\"`${prefixCls}_list-item--content`\">\n <ElBadge\n :class=\"[`${prefixCls}-errors-badge`]\"\n :value=\"errorCountList[index]\"\n :offset=\"[5, 0]\"\n :hidden=\"errorCountList[index] === 0\"\n >\n <template v-if=\"!props.showTitleFieldInTab\">\n <span :class=\"`${prefixCls}_list-item--title`\">{{ getTabTitle(item) }}</span>\n </template>\n <template v-else>\n <RecursionField\n v-if=\"!isArr(schema.items)\"\n :schema=\"schema.items\"\n :name=\"index\"\n :filter-properties=\"(schema: ISchema) => isTabTitleComponent(schema, props.tabTitleField)\"\n only-render-properties\n />\n </template>\n </ElBadge>\n </div>\n <!-- remove icon -->\n <RecursionField\n v-if=\"!isArr(schema.items)\"\n :schema=\"schema.items\"\n :name=\"index\"\n :filter-properties=\"(schema: ISchema) => isRemoveComponent(schema)\"\n only-render-properties\n />\n </li>\n </ArrayBase.Item>\n </ElScrollbar>\n <template v-for=\"(property, key) in schema.properties\" :key=\"key\">\n <RecursionField\n v-if=\"isAdditionComponent(property)\"\n :schema=\"property\"\n name=\"addition\"\n />\n </template>\n </ul>\n <div v-if=\"props.modelValue.length === 0\" :class=\"`${prefixCls}-tabpane`\">\n <ElEmpty :image-size=\"100\" />\n </div>\n <ArrayBase.Item\n v-for=\"(item, index) in props.modelValue\"\n :key=\"getKey(item, index)\"\n :index=\"index\"\n :record=\"item\"\n >\n <!-- tab-panel -->\n <div\n :id=\"`${field.props.name}-tab-panel-${index}`\"\n :key=\"getKey(item, index)\"\n :class=\"`${prefixCls}-tabpane`\"\n :style=\"{ display: activeIndex === index ? undefined : 'none' }\"\n role=\"tabpanel\"\n :aria-labelledby=\"`${field.props.name}-tab-${index}`\"\n >\n <RecursionField\n :schema=\"getArrayItemSchema(schema, index)\"\n :name=\"index\"\n :filter-properties=\"(schema: ISchema) => {\n if (isRemoveComponent(schema)) {\n return false\n }\n if (props.showTitleFieldInTab) {\n return !isTabTitleComponent(schema, props.tabTitleField)\n }\n return true\n }\"\n only-render-properties\n />\n </div>\n </ArrayBase.Item>\n </ArrayBase>\n </div>\n</template>\n","import { composeExport } from '../__builtins__/shared'\r\nimport { ArrayBase } from '../array-base'\r\nimport ArrayListTabsInner from './array-list-tabs.vue'\r\nimport './style.scss'\r\n\r\nexport const ArrayListTabs = composeExport(ArrayListTabsInner, {\r\n Addition: ArrayBase.Addition,\r\n Remove: ArrayBase.Remove,\r\n})\r\n\r\nexport default ArrayListTabs\r\n"],"names":["props","__props","fieldRef","useField","schemaRef","useFieldSchema","field","schema","activeIndex","ref","getKey","keyMap","ArrayBase","errorCountList","formilyComputed","item","index","path","arrayBaseKey","autorunEffect","key","getTabTitle","_createElementBlock","_unref","prefixCls","_createBlock","_createElementVNode","_createVNode","ElScrollbar","_openBlock","_Fragment","_normalizeClass","ElBadge","isArr","RecursionField","isTabTitleComponent","_toDisplayString","isRemoveComponent","property","isAdditionComponent","ElEmpty","_normalizeStyle","getArrayItemSchema","ArrayListTabs","composeExport","ArrayListTabsInner"],"mappings":"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"}
1
+ {"version":3,"file":"index.mjs","names":["ArrayListTabsInner"],"sources":["../../src/array-list-tabs/index.ts"],"sourcesContent":["import { composeExport } from '../__builtins__/shared'\r\nimport { ArrayBase } from '../array-base'\r\nimport ArrayListTabsInner from './array-list-tabs.vue'\r\nimport './style.scss'\r\n\r\nexport const ArrayListTabs = composeExport(ArrayListTabsInner, {\r\n Addition: ArrayBase.Addition,\r\n Remove: ArrayBase.Remove,\r\n})\r\n\r\nexport default ArrayListTabs\r\n"],"mappings":";;;;;AAKA,MAAa,gBAAgB,cAAcA,WAAoB;CAC7D,UAAU,UAAU;CACpB,QAAQ,UAAU;CACnB,CAAC"}