@silver-formily/element-plus 1.0.0 → 1.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 (325) hide show
  1. package/esm/__builtins__/configs/index.d.ts +1 -0
  2. package/esm/__builtins__/configs/index.mjs +5 -0
  3. package/esm/__builtins__/configs/index.mjs.map +1 -0
  4. package/esm/__builtins__/index.d.ts +2 -0
  5. package/esm/__builtins__/index.mjs +27 -0
  6. package/esm/__builtins__/index.mjs.map +1 -0
  7. package/esm/__builtins__/shared/hooks.d.ts +7 -0
  8. package/esm/__builtins__/shared/hooks.mjs +59 -0
  9. package/esm/__builtins__/shared/hooks.mjs.map +1 -0
  10. package/esm/__builtins__/shared/index.d.ts +7 -0
  11. package/esm/__builtins__/shared/index.mjs +25 -0
  12. package/esm/__builtins__/shared/index.mjs.map +1 -0
  13. package/esm/__builtins__/shared/load-config-provider.d.ts +2 -0
  14. package/esm/__builtins__/shared/load-config-provider.mjs +12 -0
  15. package/esm/__builtins__/shared/load-config-provider.mjs.map +1 -0
  16. package/esm/__builtins__/shared/loading.d.ts +12 -0
  17. package/esm/__builtins__/shared/loading.mjs +49 -0
  18. package/esm/__builtins__/shared/loading.mjs.map +1 -0
  19. package/esm/__builtins__/shared/simple-version-compare.d.ts +2 -0
  20. package/esm/__builtins__/shared/simple-version-compare.mjs +18 -0
  21. package/esm/__builtins__/shared/simple-version-compare.mjs.map +1 -0
  22. package/esm/__builtins__/shared/transform-component.d.ts +8 -0
  23. package/esm/__builtins__/shared/transform-component.mjs +49 -0
  24. package/esm/__builtins__/shared/transform-component.mjs.map +1 -0
  25. package/esm/__builtins__/shared/types.d.ts +2 -0
  26. package/esm/__builtins__/shared/types.mjs +2 -0
  27. package/esm/__builtins__/shared/types.mjs.map +1 -0
  28. package/esm/__builtins__/shared/utils.d.ts +8 -0
  29. package/esm/__builtins__/shared/utils.mjs +34 -0
  30. package/esm/__builtins__/shared/utils.mjs.map +1 -0
  31. package/esm/array-base/array-base-addition.d.ts +5 -0
  32. package/esm/array-base/array-base-index.d.ts +19 -0
  33. package/esm/array-base/array-base-inner.d.ts +18 -0
  34. package/esm/array-base/array-base-item.d.ts +18 -0
  35. package/esm/array-base/array-base-move-down.d.ts +18 -0
  36. package/esm/array-base/array-base-move-up.d.ts +18 -0
  37. package/esm/array-base/array-base-remove.d.ts +18 -0
  38. package/esm/array-base/array-base-sort-handle.d.ts +2 -0
  39. package/esm/array-base/index.d.ts +114 -0
  40. package/esm/array-base/index.mjs +209 -0
  41. package/esm/array-base/index.mjs.map +1 -0
  42. package/esm/array-base/symbols.d.ts +4 -0
  43. package/esm/array-base/symbols.mjs +6 -0
  44. package/esm/array-base/symbols.mjs.map +1 -0
  45. package/esm/array-base/types.d.ts +28 -0
  46. package/esm/array-base/types.mjs +2 -0
  47. package/esm/array-base/types.mjs.map +1 -0
  48. package/esm/array-base/utils.d.ts +18 -0
  49. package/esm/array-base/utils.mjs +79 -0
  50. package/esm/array-base/utils.mjs.map +1 -0
  51. package/esm/array-cards/array-cards.d.ts +13 -0
  52. package/esm/array-cards/index.d.ts +122 -0
  53. package/esm/array-cards/index.mjs +119 -0
  54. package/esm/array-cards/index.mjs.map +1 -0
  55. package/esm/array-collapse/array-collapse-item.d.ts +18 -0
  56. package/esm/array-collapse/array-collapse.d.ts +16 -0
  57. package/esm/array-collapse/index.d.ts +134 -0
  58. package/esm/array-collapse/index.mjs +177 -0
  59. package/esm/array-collapse/index.mjs.map +1 -0
  60. package/esm/array-collapse/utils.d.ts +1 -0
  61. package/esm/array-collapse/utils.mjs +12 -0
  62. package/esm/array-collapse/utils.mjs.map +1 -0
  63. package/esm/array-items/array-items-item.d.ts +30 -0
  64. package/esm/array-items/array-items.d.ts +2 -0
  65. package/esm/array-items/index.d.ts +130 -0
  66. package/esm/array-items/index.mjs +105 -0
  67. package/esm/array-items/index.mjs.map +1 -0
  68. package/esm/array-list-tabs/array-list-tabs.d.ts +31 -0
  69. package/esm/array-list-tabs/index.d.ts +83 -0
  70. package/esm/array-list-tabs/index.mjs +183 -0
  71. package/esm/array-list-tabs/index.mjs.map +1 -0
  72. package/esm/array-list-tabs/utils.d.ts +3 -0
  73. package/esm/array-list-tabs/utils.mjs +16 -0
  74. package/esm/array-list-tabs/utils.mjs.map +1 -0
  75. package/esm/array-table/array-table.d.ts +1477 -0
  76. package/esm/array-table/index.d.ts +1573 -0
  77. package/esm/array-table/index.mjs +225 -0
  78. package/esm/array-table/index.mjs.map +1 -0
  79. package/esm/array-table/types.d.ts +6 -0
  80. package/esm/array-table/types.mjs +2 -0
  81. package/esm/array-table/types.mjs.map +1 -0
  82. package/esm/array-table/utils.d.ts +5 -0
  83. package/esm/array-table/utils.mjs +25 -0
  84. package/esm/array-table/utils.mjs.map +1 -0
  85. package/esm/array-tabs/array-tabs.d.ts +2 -0
  86. package/esm/array-tabs/index.d.ts +2 -0
  87. package/esm/array-tabs/index.mjs +87 -0
  88. package/esm/array-tabs/index.mjs.map +1 -0
  89. package/esm/cascader/cascader.d.ts +30 -0
  90. package/esm/cascader/index.d.ts +41 -0
  91. package/esm/cascader/index.mjs +54 -0
  92. package/esm/cascader/index.mjs.map +1 -0
  93. package/esm/checkbox/checkbox-group.d.ts +58 -0
  94. package/esm/checkbox/index.d.ts +779 -0
  95. package/esm/checkbox/index.mjs +83 -0
  96. package/esm/checkbox/index.mjs.map +1 -0
  97. package/esm/date-picker/index.d.ts +2 -0
  98. package/esm/date-picker/index.mjs +57 -0
  99. package/esm/date-picker/index.mjs.map +1 -0
  100. package/esm/editable/editable-popover.d.ts +25 -0
  101. package/esm/editable/editable.d.ts +187 -0
  102. package/esm/editable/index.d.ts +147 -0
  103. package/esm/editable/index.mjs +225 -0
  104. package/esm/editable/index.mjs.map +1 -0
  105. package/esm/form/form.d.ts +46 -0
  106. package/esm/form/form.mjs +71 -0
  107. package/esm/form/form.mjs.map +1 -0
  108. package/esm/form/index.d.ts +1 -0
  109. package/esm/form/index.mjs +6 -0
  110. package/esm/form/index.mjs.map +1 -0
  111. package/esm/form-button-group/form-button-group-sticky.d.ts +17 -0
  112. package/esm/form-button-group/form-button-group.d.ts +48 -0
  113. package/esm/form-button-group/index.d.ts +87 -0
  114. package/esm/form-button-group/index.mjs +87 -0
  115. package/esm/form-button-group/index.mjs.map +1 -0
  116. package/esm/form-button-group/utils.d.ts +1 -0
  117. package/esm/form-button-group/utils.mjs +12 -0
  118. package/esm/form-button-group/utils.mjs.map +1 -0
  119. package/esm/form-collapse/form-collapse.d.ts +18 -0
  120. package/esm/form-collapse/index.d.ts +45 -0
  121. package/esm/form-collapse/index.mjs +87 -0
  122. package/esm/form-collapse/index.mjs.map +1 -0
  123. package/esm/form-collapse/utils.d.ts +31 -0
  124. package/esm/form-collapse/utils.mjs +50 -0
  125. package/esm/form-collapse/utils.mjs.map +1 -0
  126. package/esm/form-dialog/dialog-content.d.ts +60 -0
  127. package/esm/form-dialog/index.d.ts +4 -0
  128. package/esm/form-dialog/index.mjs +208 -0
  129. package/esm/form-dialog/index.mjs.map +1 -0
  130. package/esm/form-dialog/types.d.ts +32 -0
  131. package/esm/form-dialog/types.mjs +2 -0
  132. package/esm/form-dialog/types.mjs.map +1 -0
  133. package/esm/form-drawer/drawer-content.d.ts +60 -0
  134. package/esm/form-drawer/index.d.ts +4 -0
  135. package/esm/form-drawer/index.mjs +202 -0
  136. package/esm/form-drawer/index.mjs.map +1 -0
  137. package/esm/form-drawer/types.d.ts +32 -0
  138. package/esm/form-drawer/types.mjs +2 -0
  139. package/esm/form-drawer/types.mjs.map +1 -0
  140. package/esm/form-grid/form-grid-column.d.ts +29 -0
  141. package/esm/form-grid/form-grid.d.ts +101 -0
  142. package/esm/form-grid/hooks.d.ts +5 -0
  143. package/esm/form-grid/hooks.mjs +14 -0
  144. package/esm/form-grid/hooks.mjs.map +1 -0
  145. package/esm/form-grid/index.d.ts +184 -0
  146. package/esm/form-grid/index.mjs +107 -0
  147. package/esm/form-grid/index.mjs.map +1 -0
  148. package/esm/form-item/form-item.d.ts +18 -0
  149. package/esm/form-item/index.d.ts +70 -0
  150. package/esm/form-item/index.mjs +331 -0
  151. package/esm/form-item/index.mjs.map +1 -0
  152. package/esm/form-item/types.d.ts +25 -0
  153. package/esm/form-item/types.mjs +2 -0
  154. package/esm/form-item/types.mjs.map +1 -0
  155. package/esm/form-item/utils.d.ts +3 -0
  156. package/esm/form-item/utils.mjs +17 -0
  157. package/esm/form-item/utils.mjs.map +1 -0
  158. package/esm/form-layout/form-layout.d.ts +32 -0
  159. package/esm/form-layout/form-layout.mjs +83 -0
  160. package/esm/form-layout/form-layout.mjs.map +1 -0
  161. package/esm/form-layout/index.d.ts +1 -0
  162. package/esm/form-layout/index.mjs +6 -0
  163. package/esm/form-layout/index.mjs.map +1 -0
  164. package/esm/form-layout/types.d.ts +43 -0
  165. package/esm/form-layout/types.mjs +2 -0
  166. package/esm/form-layout/types.mjs.map +1 -0
  167. package/esm/form-layout/utils.d.ts +57 -0
  168. package/esm/form-layout/utils.mjs +109 -0
  169. package/esm/form-layout/utils.mjs.map +1 -0
  170. package/esm/form-step/form-step-pane.d.ts +2 -0
  171. package/esm/form-step/form-step.d.ts +5 -0
  172. package/esm/form-step/index.d.ts +24 -0
  173. package/esm/form-step/index.mjs +92 -0
  174. package/esm/form-step/index.mjs.map +1 -0
  175. package/esm/form-step/types.d.ts +21 -0
  176. package/esm/form-step/types.mjs +2 -0
  177. package/esm/form-step/types.mjs.map +1 -0
  178. package/esm/form-step/utils.d.ts +11 -0
  179. package/esm/form-step/utils.mjs +64 -0
  180. package/esm/form-step/utils.mjs.map +1 -0
  181. package/esm/form-tab/form-tab.d.ts +7 -0
  182. package/esm/form-tab/hooks.d.ts +7 -0
  183. package/esm/form-tab/hooks.mjs +24 -0
  184. package/esm/form-tab/hooks.mjs.map +1 -0
  185. package/esm/form-tab/index.d.ts +28 -0
  186. package/esm/form-tab/index.mjs +77 -0
  187. package/esm/form-tab/index.mjs.map +1 -0
  188. package/esm/form-tab/types.d.ts +12 -0
  189. package/esm/form-tab/types.mjs +2 -0
  190. package/esm/form-tab/types.mjs.map +1 -0
  191. package/esm/form-tab/utils.d.ts +4 -0
  192. package/esm/form-tab/utils.mjs +14 -0
  193. package/esm/form-tab/utils.mjs.map +1 -0
  194. package/esm/index.d.ts +37 -0
  195. package/esm/index.mjs +81 -0
  196. package/esm/index.mjs.map +1 -0
  197. package/esm/input/index.d.ts +84 -0
  198. package/esm/input/index.mjs +77 -0
  199. package/esm/input/index.mjs.map +1 -0
  200. package/esm/input/input.d.ts +32 -0
  201. package/esm/input-number/index.d.ts +4 -0
  202. package/esm/input-number/index.mjs +30 -0
  203. package/esm/input-number/index.mjs.map +1 -0
  204. package/esm/pagination/components/jumper.d.ts +16 -0
  205. package/esm/pagination/components/jumper.mjs +12 -0
  206. package/esm/pagination/components/jumper.mjs.map +1 -0
  207. package/esm/pagination/components/next.d.ts +42 -0
  208. package/esm/pagination/components/next.mjs +23 -0
  209. package/esm/pagination/components/next.mjs.map +1 -0
  210. package/esm/pagination/components/pager.d.ts +42 -0
  211. package/esm/pagination/components/pager.mjs +23 -0
  212. package/esm/pagination/components/pager.mjs.map +1 -0
  213. package/esm/pagination/components/prev.d.ts +39 -0
  214. package/esm/pagination/components/prev.mjs +22 -0
  215. package/esm/pagination/components/prev.mjs.map +1 -0
  216. package/esm/pagination/components/sizes.d.ts +56 -0
  217. package/esm/pagination/components/sizes.mjs +7 -0
  218. package/esm/pagination/components/sizes.mjs.map +1 -0
  219. package/esm/pagination/components/total.d.ts +8 -0
  220. package/esm/pagination/components/total.mjs +11 -0
  221. package/esm/pagination/components/total.mjs.map +1 -0
  222. package/esm/pagination/pagination.d.ts +128 -0
  223. package/esm/pagination/pagination.mjs +629 -0
  224. package/esm/pagination/pagination.mjs.map +1 -0
  225. package/esm/password/index.d.ts +86 -0
  226. package/esm/password/index.mjs +14 -0
  227. package/esm/password/index.mjs.map +1 -0
  228. package/esm/preview-text/cascader.d.ts +5 -0
  229. package/esm/preview-text/date-picker.d.ts +5 -0
  230. package/esm/preview-text/index.d.ts +102 -0
  231. package/esm/preview-text/index.mjs +314 -0
  232. package/esm/preview-text/index.mjs.map +1 -0
  233. package/esm/preview-text/input.d.ts +28 -0
  234. package/esm/preview-text/preview.d.ts +18 -0
  235. package/esm/preview-text/select.d.ts +5 -0
  236. package/esm/preview-text/time-picker.d.ts +5 -0
  237. package/esm/preview-text/tree.d.ts +22 -0
  238. package/esm/preview-text/utils.d.ts +14 -0
  239. package/esm/preview-text/utils.mjs +16 -0
  240. package/esm/preview-text/utils.mjs.map +1 -0
  241. package/esm/radio/index.d.ts +370 -0
  242. package/esm/radio/index.mjs +80 -0
  243. package/esm/radio/index.mjs.map +1 -0
  244. package/esm/radio/radio-group.d.ts +44 -0
  245. package/esm/reset/index.d.ts +63 -0
  246. package/esm/reset/index.mjs +44 -0
  247. package/esm/reset/index.mjs.map +1 -0
  248. package/esm/reset/reset.d.ts +45 -0
  249. package/esm/select/index.d.ts +142 -0
  250. package/esm/select/index.mjs +132 -0
  251. package/esm/select/index.mjs.map +1 -0
  252. package/esm/select/select.d.ts +50 -0
  253. package/esm/select-table/index.d.ts +1530 -0
  254. package/esm/select-table/index.mjs +205 -0
  255. package/esm/select-table/index.mjs.map +1 -0
  256. package/esm/select-table/select-table.d.ts +2974 -0
  257. package/esm/select-table/types.d.ts +17 -0
  258. package/esm/select-table/types.mjs +2 -0
  259. package/esm/select-table/types.mjs.map +1 -0
  260. package/esm/space/index.d.ts +1 -0
  261. package/esm/space/index.mjs +6 -0
  262. package/esm/space/index.mjs.map +1 -0
  263. package/esm/styles/array-base/index.css +1 -0
  264. package/esm/styles/array-cards/index.css +1 -0
  265. package/esm/styles/array-collapse/index.css +1 -0
  266. package/esm/styles/array-items/index.css +1 -0
  267. package/esm/styles/array-list-tabs/index.css +1 -0
  268. package/esm/styles/array-table/index.css +1 -0
  269. package/esm/styles/array-tabs/index.css +1 -0
  270. package/esm/styles/editable/index.css +1 -0
  271. package/esm/styles/form-button-group/index.css +1 -0
  272. package/esm/styles/form-collapse/index.css +1 -0
  273. package/esm/styles/form-grid/index.css +1 -0
  274. package/esm/styles/form-item/index.css +1 -0
  275. package/esm/styles/form-tab/index.css +1 -0
  276. package/esm/styles/preview-text/index.css +1 -0
  277. package/esm/styles/radio/index.css +1 -0
  278. package/esm/styles/select-table/index.css +1 -0
  279. package/esm/submit/index.d.ts +48 -0
  280. package/esm/submit/index.mjs +40 -0
  281. package/esm/submit/index.mjs.map +1 -0
  282. package/esm/submit/submit.d.ts +36 -0
  283. package/esm/switch/index.d.ts +4 -0
  284. package/esm/switch/index.mjs +19 -0
  285. package/esm/switch/index.mjs.map +1 -0
  286. package/esm/time-picker/index.d.ts +4 -0
  287. package/esm/time-picker/index.mjs +21 -0
  288. package/esm/time-picker/index.mjs.map +1 -0
  289. package/esm/time-select/index.d.ts +2 -0
  290. package/esm/time-select/index.mjs +21 -0
  291. package/esm/time-select/index.mjs.map +1 -0
  292. package/esm/transfer/index.d.ts +186 -0
  293. package/esm/transfer/index.mjs +11 -0
  294. package/esm/transfer/index.mjs.map +1 -0
  295. package/esm/tree/index.d.ts +42 -0
  296. package/esm/tree/index.mjs +104 -0
  297. package/esm/tree/index.mjs.map +1 -0
  298. package/esm/tree/tree.d.ts +20 -0
  299. package/esm/tree/types.d.ts +13 -0
  300. package/esm/tree/types.mjs +2 -0
  301. package/esm/tree/types.mjs.map +1 -0
  302. package/esm/tree/utils.d.ts +45 -0
  303. package/esm/tree/utils.mjs +161 -0
  304. package/esm/tree/utils.mjs.map +1 -0
  305. package/esm/tree-select/index.d.ts +32 -0
  306. package/esm/tree-select/index.mjs +47 -0
  307. package/esm/tree-select/index.mjs.map +1 -0
  308. package/esm/tree-select/tree-select.d.ts +17 -0
  309. package/esm/upload/index.d.ts +707 -0
  310. package/esm/upload/index.mjs +175 -0
  311. package/esm/upload/index.mjs.map +1 -0
  312. package/esm/upload/upload.d.ts +1249 -0
  313. package/esm/vendor/icon.mjs +11 -0
  314. package/esm/vendor/icon.mjs.map +1 -0
  315. package/esm/vendor/lodash.mjs +1400 -0
  316. package/esm/vendor/lodash.mjs.map +1 -0
  317. package/esm/vendor/runtime.mjs +35 -0
  318. package/esm/vendor/runtime.mjs.map +1 -0
  319. package/esm/vendor/shared.esm-bundler.mjs +14 -0
  320. package/esm/vendor/shared.esm-bundler.mjs.map +1 -0
  321. package/esm/vendor/sizes.mjs +27 -0
  322. package/esm/vendor/sizes.mjs.map +1 -0
  323. package/esm/vendor/types.mjs +19 -0
  324. package/esm/vendor/types.mjs.map +1 -0
  325. package/package.json +1 -1
@@ -0,0 +1,331 @@
1
+ import { isVoidField as ne } from "@formily/core";
2
+ import { useField as ue, connect as de, mapProps as ce } from "@formily/vue";
3
+ import { defineComponent as fe, useSlots as pe, computed as d, ref as b, reactive as ve, watch as me, provide as D, createElementBlock as i, openBlock as t, unref as l, normalizeClass as n, createBlock as f, createCommentVNode as c, createElementVNode as h, resolveDynamicComponent as g, normalizeStyle as W, withCtx as m, isVNode as x, createVNode as _, toDisplayString as y, Fragment as C, createTextVNode as R, renderSlot as G, TransitionGroup as be } from "vue";
4
+ import { useNamespace as ye, useFormSize as ke, useId as ge, formItemContextKey as Se, ElTooltip as E, ElIcon as K } from "element-plus";
5
+ import "@formily/reactive";
6
+ import "@formily/reactive-vue";
7
+ import { composeExport as he } from "../__builtins__/shared/utils.mjs";
8
+ import { InfoFilled as xe, CircleClose as _e, CircleCheck as Ce, Warning as $e } from "@element-plus/icons-vue";
9
+ import { isValid as v, isArr as Ie } from "@formily/shared";
10
+ import { stylePrefix as we } from "../__builtins__/configs/index.mjs";
11
+ import { useResizeObserver as We } from "../__builtins__/shared/hooks.mjs";
12
+ import { FORM_LAYOUT_PROPS_KEYS as Fe, useFormLayout as Ae, formLayoutShallowContext as Be } from "../form-layout/utils.mjs";
13
+ import { p as Le } from "../vendor/lodash.mjs";
14
+ import { i as ze, a as Te, d as Re } from "../vendor/types.mjs";
15
+ import { a as Ee } from "../vendor/shared.esm-bundler.mjs";
16
+ import { getFeedbackMessage as Pe, determineFeedbackStatus as Ve } from "./utils.mjs";
17
+ import '../styles/form-item/index.css';const Ne = "utils/dom/style";
18
+ function U(s, p = "px") {
19
+ if (!s && s !== 0)
20
+ return "";
21
+ if (ze(s) || Te(s))
22
+ return `${s}${p}`;
23
+ if (Ee(s))
24
+ return s;
25
+ Re(Ne, "binding value must be a string or number");
26
+ }
27
+ const Oe = ["role", "aria-labelledby"], Y = /* @__PURE__ */ fe({
28
+ name: "FFormItem",
29
+ __name: "form-item",
30
+ props: {
31
+ label: null,
32
+ for: null,
33
+ tooltip: null,
34
+ addonBefore: null,
35
+ addonAfter: null,
36
+ extra: null,
37
+ feedbackText: null,
38
+ feedbackStatus: null,
39
+ asterisk: { type: Boolean },
40
+ colon: { type: Boolean, default: !0 },
41
+ labelAlign: null,
42
+ wrapperAlign: null,
43
+ labelWrap: { type: Boolean },
44
+ labelWidth: null,
45
+ wrapperWidth: null,
46
+ wrapperWrap: { type: Boolean },
47
+ labelCol: null,
48
+ wrapperCol: null,
49
+ fullness: { type: Boolean, default: !1 },
50
+ size: null,
51
+ layout: null,
52
+ feedbackLayout: { default: "loose" },
53
+ tooltipLayout: null
54
+ },
55
+ setup(s, { expose: p }) {
56
+ const e = s, F = pe(), o = ye("form-item"), u = `${we}-form-item`, H = Object.fromEntries(
57
+ Object.entries(Le(e, Fe)).filter(([r, w]) => v(w))
58
+ ), J = Ae(), a = d(() => Object.assign({}, J.value, H)), P = ue(), V = ke(void 0, { formItem: !1 }), A = ge().value, k = b([]), N = b(""), O = b(), S = b(), q = b();
59
+ p({
60
+ feedbackTooltipRef: q
61
+ });
62
+ const $ = d(
63
+ () => a.value.layout === "vertical" || Ie(a.value.layout) && a.value.layout.includes("vertical") ? "top" : a.value.labelAlign ?? "right"
64
+ ), Q = d(() => {
65
+ if ($.value === "top")
66
+ return {};
67
+ const r = U(a.value.labelWidth || "");
68
+ return r ? { width: r } : {};
69
+ }), X = d(() => {
70
+ const r = U(a.value?.wrapperWidth || "");
71
+ return r ? { width: r, flex: "unset" } : {};
72
+ }), Z = d(() => ({
73
+ justifyContent: a.value?.wrapperAlign === "right" && "flex-end"
74
+ })), ee = d(
75
+ () => e.asterisk && P.value?.pattern !== "readPretty"
76
+ ), te = d(() => [
77
+ o.b(),
78
+ // eslint-disable-next-line unicorn/explicit-length-check
79
+ o.m(e.size || V.value || "default"),
80
+ o.is(e.feedbackStatus),
81
+ o.is("validating", N.value === "validating"),
82
+ o.is("success", N.value === "success"),
83
+ o.is("required", ee.value || e.asterisk),
84
+ o.is("no-asterisk", a.value?.hideRequiredAsterisk),
85
+ o.is(a.value.feedbackLayout),
86
+ a.value?.requireAsteriskPosition === "right" ? "asterisk-right" : "asterisk-left",
87
+ {
88
+ [o.m("feedback")]: a.value?.statusIcon,
89
+ [o.m(`label-${$.value}`)]: $.value
90
+ }
91
+ ]), M = d(() => [
92
+ `${u}-feedback`,
93
+ o.is(e.feedbackStatus),
94
+ o.is("loose", e.feedbackLayout === "loose")
95
+ ]), B = d(() => e.label !== "" && v(e.label) || v(F.label)), L = d(() => e.for || (k.value.length === 1 ? k.value[0] : void 0)), z = d(() => !L.value && B.value);
96
+ async function ae() {
97
+ return !0;
98
+ }
99
+ /* istanbul ignore next -- @preserve */
100
+ const le = () => {
101
+ };
102
+ /* istanbul ignore next -- @preserve */
103
+ const oe = async () => {
104
+ }, re = (r) => {
105
+ /* istanbul ignore else -- @preserve */
106
+ k.value.includes(r) || k.value.push(r);
107
+ }, se = (r) => {
108
+ k.value = k.value.filter((w) => w !== r);
109
+ }, j = b(!1);
110
+ We(S, () => {
111
+ j.value = S.value?.scrollWidth > S.value?.clientWidth;
112
+ });
113
+ const T = d(() => j.value && !a.value.labelWrap), ie = b(""), I = ve({
114
+ $el: O,
115
+ labelWidth: a.value?.labelWidth,
116
+ size: V,
117
+ validateState: ie.value,
118
+ labelId: A,
119
+ inputIds: k,
120
+ isGroup: z,
121
+ hasLabel: B,
122
+ addInputId: re,
123
+ removeInputId: se,
124
+ resetField: oe,
125
+ clearValidate: le,
126
+ validate: ae,
127
+ labelPosition: $,
128
+ inlineMessage: !0,
129
+ showMessage: !0,
130
+ fieldValue: P.value?.value,
131
+ validateMessage: "",
132
+ propString: ""
133
+ });
134
+ return me(() => e.feedbackStatus, (r) => {
135
+ if (r === "pending") {
136
+ I.validateState = "validating";
137
+ return;
138
+ }
139
+ if (r === "warning") {
140
+ I.validateState = "";
141
+ return;
142
+ }
143
+ I.validateState = r;
144
+ }, {
145
+ immediate: !0
146
+ }), D(Be, b({
147
+ ...v(e.size) && { size: e.size },
148
+ ...v(e.colon) && { colon: e.colon }
149
+ })), D(Se, I), (r, w) => (t(), i("div", {
150
+ ref_key: "formItemRef",
151
+ ref: O,
152
+ class: n([u, a.value.labelWrap && "is-warp", ...te.value]),
153
+ role: z.value ? "group" : void 0,
154
+ "aria-labelledby": z.value ? l(A) : void 0
155
+ }, [
156
+ B.value ? (t(), f(g(L.value ? "label" : "div"), {
157
+ key: 0,
158
+ id: l(A),
159
+ for: L.value,
160
+ class: n([l(o).e("label"), l(v)(a.value.labelCol) && `${u}-col-${a.value.labelCol}`]),
161
+ style: W(Q.value)
162
+ }, {
163
+ default: m(() => [
164
+ x(e.label) ? (t(), f(g(e.label), { key: 0 })) : (t(), i("div", {
165
+ key: 1,
166
+ class: n(`${u}-label__wrapper`)
167
+ }, [
168
+ _(l(E), {
169
+ disabled: !T.value && a.value.tooltipLayout !== "text"
170
+ }, {
171
+ content: m(() => [
172
+ x(e.tooltip) ? (t(), f(g(e.tooltip), { key: 0 })) : (t(), i("div", {
173
+ key: 1,
174
+ style: W(`width: ${S.value?.clientWidth ?? 0}px;`)
175
+ }, [
176
+ T.value ? (t(), i(C, { key: 0 }, [
177
+ R(y(e.label), 1)
178
+ ], 64)) : c("", !0),
179
+ a.value.tooltipLayout === "text" ? (t(), i(C, { key: 1 }, [
180
+ R(y(e.tooltip), 1)
181
+ ], 64)) : c("", !0)
182
+ ], 4))
183
+ ]),
184
+ default: m(() => [
185
+ h("span", {
186
+ class: n({
187
+ [`${u}-label-content`]: !0,
188
+ "is-tooltip": T.value || e.tooltip && a.value.tooltipLayout === "text"
189
+ })
190
+ }, [
191
+ h("span", {
192
+ ref_key: "labelRef",
193
+ ref: S
194
+ }, y(e.label), 513)
195
+ ], 2)
196
+ ]),
197
+ _: 1
198
+ }, 8, ["disabled"]),
199
+ e.tooltip && a.value.tooltipLayout !== "text" ? (t(), f(l(E), {
200
+ key: 0,
201
+ content: e.tooltip
202
+ }, {
203
+ default: m(() => [
204
+ _(l(K), {
205
+ class: n(`${u}-label-tooltip`)
206
+ }, {
207
+ default: m(() => [
208
+ _(l(xe))
209
+ ]),
210
+ _: 1
211
+ }, 8, ["class"])
212
+ ]),
213
+ _: 1
214
+ }, 8, ["content"])) : c("", !0),
215
+ e.colon ? (t(), i("span", {
216
+ key: 1,
217
+ class: n(`${u}-colon`)
218
+ }, ":", 2)) : c("", !0)
219
+ ], 2))
220
+ ]),
221
+ _: 1
222
+ }, 8, ["id", "for", "class", "style"])) : c("", !0),
223
+ h("div", {
224
+ class: n([
225
+ `${u}-content__wrapper`,
226
+ l(v)(a.value.wrapperCol) && `${u}-col-${a.value.wrapperCol}`
227
+ ]),
228
+ style: W(Z.value)
229
+ }, [
230
+ l(v)(e.addonBefore) ? (t(), i(C, { key: 0 }, [
231
+ x(e.addonBefore) ? (t(), f(g(e.addonBefore), { key: 0 })) : (t(), i("div", {
232
+ key: 1,
233
+ class: n(`${u}-addon-before`)
234
+ }, y(e.addonBefore), 3))
235
+ ], 64)) : c("", !0),
236
+ h("div", {
237
+ class: n([
238
+ l(o).e("content"),
239
+ a.value.fullness && "is-fullness",
240
+ l(o).is("addon-after", !!e.addonAfter)
241
+ ]),
242
+ style: W(X.value)
243
+ }, [
244
+ e.feedbackLayout === "popover" ? (t(), f(l(E), {
245
+ key: 0,
246
+ ref_key: "feedbackTooltipRef",
247
+ ref: q,
248
+ visible: !!e.feedbackText,
249
+ effect: "light",
250
+ offset: 6
251
+ }, {
252
+ default: m(() => [
253
+ G(r.$slots, "default")
254
+ ]),
255
+ content: m(() => [
256
+ h("div", {
257
+ class: n([...M.value, l(o).is("tooltip")])
258
+ }, [
259
+ _(l(K), null, {
260
+ default: m(() => [
261
+ e.feedbackStatus === "error" ? (t(), f(l(_e), { key: 0 })) : c("", !0),
262
+ e.feedbackStatus === "success" ? (t(), f(l(Ce), { key: 1 })) : c("", !0),
263
+ e.feedbackStatus === "warning" ? (t(), f(l($e), { key: 2 })) : c("", !0)
264
+ ]),
265
+ _: 1
266
+ }),
267
+ R(" " + y(e.feedbackText), 1)
268
+ ], 2)
269
+ ]),
270
+ _: 3
271
+ }, 8, ["visible"])) : G(r.$slots, "default", { key: 1 }),
272
+ _(be, {
273
+ name: `${l(o).namespace.value}-zoom-in-top`
274
+ }, {
275
+ default: m(() => [
276
+ e.feedbackText && e.feedbackLayout !== "popover" ? (t(), i("div", {
277
+ key: 0,
278
+ class: n(M.value)
279
+ }, y(e.feedbackText), 3)) : c("", !0),
280
+ l(v)(e.extra) ? (t(), i(C, { key: 1 }, [
281
+ x(e.extra) ? (t(), f(g(e.extra), { key: 0 })) : (t(), i("div", {
282
+ key: 1,
283
+ class: n(`${u}-extra`)
284
+ }, y(e.extra), 3))
285
+ ], 64)) : c("", !0)
286
+ ]),
287
+ _: 1
288
+ }, 8, ["name"])
289
+ ], 6),
290
+ l(v)(e.addonAfter) ? (t(), i(C, { key: 1 }, [
291
+ x(e.addonAfter) ? (t(), f(g(e.addonAfter), { key: 0 })) : (t(), i("div", {
292
+ key: 1,
293
+ class: n(`${u}-addon-after`)
294
+ }, y(e.addonAfter), 3))
295
+ ], 64)) : c("", !0)
296
+ ], 6)
297
+ ], 10, Oe));
298
+ }
299
+ });
300
+ function qe(s, p) {
301
+ if (ne(p) || !p)
302
+ return s;
303
+ const e = Pe(p), F = Ve(p), o = "asterisk" in s ? s.asterisk : p.required && p.pattern !== "readPretty";
304
+ return {
305
+ ...s,
306
+ feedbackText: e,
307
+ feedbackStatus: F,
308
+ asterisk: o
309
+ };
310
+ }
311
+ const Me = de(
312
+ Y,
313
+ ce(
314
+ {
315
+ validateStatus: !0,
316
+ title: "label",
317
+ required: !0,
318
+ description: "extra"
319
+ },
320
+ qe
321
+ )
322
+ ), rt = he(Me, {
323
+ BaseItem: Y
324
+ });
325
+ export {
326
+ Y as FormBaseItem,
327
+ rt as FormItem,
328
+ rt as default,
329
+ qe as fieldFeedbackMapper
330
+ };
331
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","sources":["../../node_modules/.pnpm/element-plus@2.13.0_vue@3.5.22_typescript@5.9.3_/node_modules/element-plus/es/utils/dom/style.mjs","../../src/form-item/form-item.vue","../../src/form-item/index.ts"],"sourcesContent":["import { isNumber, isStringNumber } from '../types.mjs';\nimport { isClient } from '@vueuse/core';\nimport { camelize, isObject, isString } from '@vue/shared';\nimport { entriesOf, keysOf } from '../objects.mjs';\nimport { debugWarn } from '../error.mjs';\n\nconst SCOPE = \"utils/dom/style\";\nconst classNameToArray = (cls = \"\") => cls.split(\" \").filter((item) => !!item.trim());\nconst hasClass = (el, cls) => {\n if (!el || !cls)\n return false;\n if (cls.includes(\" \"))\n throw new Error(\"className should not contain space.\");\n return el.classList.contains(cls);\n};\nconst addClass = (el, cls) => {\n if (!el || !cls.trim())\n return;\n el.classList.add(...classNameToArray(cls));\n};\nconst removeClass = (el, cls) => {\n if (!el || !cls.trim())\n return;\n el.classList.remove(...classNameToArray(cls));\n};\nconst getStyle = (element, styleName) => {\n var _a;\n if (!isClient || !element || !styleName)\n return \"\";\n let key = camelize(styleName);\n if (key === \"float\")\n key = \"cssFloat\";\n try {\n const style = element.style[key];\n if (style)\n return style;\n const computed = (_a = document.defaultView) == null ? void 0 : _a.getComputedStyle(element, \"\");\n return computed ? computed[key] : \"\";\n } catch (e) {\n return element.style[key];\n }\n};\nconst setStyle = (element, styleName, value) => {\n if (!element || !styleName)\n return;\n if (isObject(styleName)) {\n entriesOf(styleName).forEach(\n ([prop, value2]) => setStyle(element, prop, value2)\n );\n } else {\n const key = camelize(styleName);\n element.style[key] = value;\n }\n};\nconst removeStyle = (element, style) => {\n if (!element || !style)\n return;\n if (isObject(style)) {\n keysOf(style).forEach((prop) => removeStyle(element, prop));\n } else {\n setStyle(element, style, \"\");\n }\n};\nfunction addUnit(value, defaultUnit = \"px\") {\n if (!value && value !== 0)\n return \"\";\n if (isNumber(value) || isStringNumber(value)) {\n return `${value}${defaultUnit}`;\n } else if (isString(value)) {\n return value;\n }\n debugWarn(SCOPE, \"binding value must be a string or number\");\n}\n\nexport { addClass, addUnit, classNameToArray, getStyle, hasClass, removeClass, removeStyle, setStyle };\n//# sourceMappingURL=style.mjs.map\n","<script lang=\"ts\" setup>\nimport type { Field } from '@formily/core'\nimport type {\n FormItemContext,\n FormItemValidateState,\n FormValidationResult,\n TooltipInstance,\n} from 'element-plus'\nimport type { ICalculatedFormLayoutProps } from 'src/form-layout/types'\nimport type { CSSProperties } from 'vue'\nimport type { IFormItemProps } from './types'\nimport { CircleCheck, CircleClose, InfoFilled, Warning } from '@element-plus/icons-vue'\nimport { isArr, isValid } from '@formily/shared'\nimport { useField } from '@formily/vue'\nimport { ElIcon, ElTooltip, formItemContextKey, useFormSize, useId, useNamespace } from 'element-plus'\nimport { addUnit } from 'element-plus/es/utils/index'\nimport { pick } from 'lodash-es'\nimport { computed, isVNode, provide, reactive, ref, useSlots, watch } from 'vue'\nimport { stylePrefix, useResizeObserver } from '../__builtins__'\nimport { FORM_LAYOUT_PROPS_KEYS, formLayoutShallowContext, useFormLayout } from '../form-layout/utils'\n\ndefineOptions({\n name: 'FFormItem',\n})\nconst props = defineProps({\n label: null,\n for: null,\n tooltip: null,\n addonBefore: null,\n addonAfter: null,\n extra: null,\n feedbackText: null,\n feedbackStatus: null,\n asterisk: { type: Boolean },\n colon: { type: Boolean, default: true },\n labelAlign: null,\n wrapperAlign: null,\n labelWrap: { type: Boolean },\n labelWidth: null,\n wrapperWidth: null,\n wrapperWrap: { type: Boolean },\n labelCol: null,\n wrapperCol: null,\n fullness: { type: Boolean, default: false },\n size: null,\n layout: null,\n feedbackLayout: { default: 'loose' },\n tooltipLayout: null\n})\nconst slots = useSlots()\nconst ns = useNamespace('form-item')\nconst prefixCls = `${stylePrefix}-form-item`\nconst formItemConfig: Partial<ICalculatedFormLayoutProps> = Object.fromEntries(\n Object.entries(pick(props, FORM_LAYOUT_PROPS_KEYS))\n .filter(([_, value]) => isValid(value)),\n)\nconst formlayoutConfig = useFormLayout()\nconst formlayout = computed(() => Object.assign({}, formlayoutConfig.value, formItemConfig))\n\nconst field = useField<Field>()\n\nconst _size = useFormSize(undefined, { formItem: false })\n\nconst labelId = useId().value\nconst inputIds = ref<string[]>([])\n\nconst validateState = ref<FormItemValidateState>('')\nconst formItemRef = ref<HTMLDivElement>()\nconst labelRef = ref<HTMLElement>()\nconst feedbackTooltipRef = ref<TooltipInstance>()\ndefineExpose({\n feedbackTooltipRef,\n})\n\nconst labelPosition = computed(\n () => {\n if (formlayout.value.layout === 'vertical' || (isArr(formlayout.value.layout) && formlayout.value.layout.includes('vertical' as any))) {\n return 'top'\n }\n return formlayout.value.labelAlign ?? 'right'\n },\n)\n\nconst labelStyle = computed<CSSProperties>(() => {\n if (labelPosition.value === 'top') {\n return {}\n }\n\n const labelWidth = addUnit(formlayout.value.labelWidth || '')\n if (labelWidth)\n return { width: labelWidth }\n return {}\n})\n\nconst contentStyle = computed<CSSProperties>(() => {\n const contentWidth = addUnit(formlayout.value?.wrapperWidth || '')\n if (contentWidth)\n return { width: contentWidth, flex: 'unset' }\n return {}\n})\n\nconst contentWrapperStyle = computed<CSSProperties>(() => {\n return {\n justifyContent: formlayout.value?.wrapperAlign === 'right' && 'flex-end',\n }\n})\n\nconst isRequired = computed(() =>\n props.asterisk && field.value?.pattern !== 'readPretty',\n)\n\nconst formItemClasses = computed(() => [\n ns.b(),\n // eslint-disable-next-line unicorn/explicit-length-check\n ns.m(props.size || _size.value || 'default'),\n ns.is(props.feedbackStatus),\n ns.is('validating', validateState.value === 'validating'),\n ns.is('success', validateState.value === 'success'),\n ns.is('required', isRequired.value || props.asterisk),\n ns.is('no-asterisk', formlayout.value?.hideRequiredAsterisk),\n ns.is(formlayout.value.feedbackLayout),\n formlayout.value?.requireAsteriskPosition === 'right'\n ? 'asterisk-right'\n : 'asterisk-left',\n {\n [ns.m('feedback')]: formlayout.value?.statusIcon,\n [ns.m(`label-${labelPosition.value}`)]: labelPosition.value,\n },\n])\n\nconst validateClasses = computed(() => [\n `${prefixCls}-feedback`,\n ns.is(props.feedbackStatus),\n ns.is('loose', props.feedbackLayout === 'loose'),\n])\n\nconst hasLabel = computed<boolean>(() => {\n return (props.label !== '' && isValid(props.label)) || isValid(slots.label)\n})\n\nconst labelFor = computed<string | undefined>(() => {\n return (\n props.for || (inputIds.value.length === 1 ? inputIds.value[0] : undefined)\n )\n})\n\nconst isGroup = computed<boolean>(() => {\n return !labelFor.value && hasLabel.value\n})\n\nasync function validate(): FormValidationResult {\n return true\n}\n/* istanbul ignore next -- @preserve */\nconst clearValidate: FormItemContext['clearValidate'] = () => {}\n/* istanbul ignore next -- @preserve */\nconst resetField: FormItemContext['resetField'] = async () => {}\n\nconst addInputId: FormItemContext['addInputId'] = (id: string) => {\n /* istanbul ignore else -- @preserve */\n if (!inputIds.value.includes(id)) {\n inputIds.value.push(id)\n }\n}\n\nconst removeInputId: FormItemContext['removeInputId'] = (id: string) => {\n inputIds.value = inputIds.value.filter(listId => listId !== id)\n}\n\nconst isEllipsisActive = ref(false)\nuseResizeObserver(labelRef, () => {\n isEllipsisActive.value = labelRef.value?.scrollWidth > labelRef.value?.clientWidth\n})\nconst isEllipsis = computed(() => {\n return isEllipsisActive.value && !formlayout.value.labelWrap\n})\n\n// HACK computed无法监听到props.feedbackStatus的变化\nconst _validateState = ref<FormItemValidateState>('')\nconst context: FormItemContext = reactive({\n $el: formItemRef,\n labelWidth: formlayout.value?.labelWidth,\n size: _size,\n validateState: _validateState.value,\n labelId,\n inputIds,\n isGroup,\n hasLabel,\n addInputId,\n removeInputId,\n resetField,\n clearValidate,\n validate,\n labelPosition,\n inlineMessage: true,\n showMessage: true,\n fieldValue: field.value?.value,\n validateMessage: '',\n propString: '',\n})\nwatch(() => props.feedbackStatus, (val) => {\n if (val === 'pending') {\n context.validateState = 'validating'\n return\n }\n if (val === 'warning') {\n context.validateState = ''\n return\n }\n context.validateState = val\n}, {\n immediate: true,\n})\n\nprovide(formLayoutShallowContext, ref({\n ...(isValid(props.size) && { size: props.size }),\n ...(isValid(props.colon) && { colon: props.colon }),\n}))\nprovide(formItemContextKey, context)\n</script>\n\n<template>\n <div\n ref=\"formItemRef\" :class=\"[prefixCls, formlayout.labelWrap && 'is-warp', ...formItemClasses]\"\n :role=\"isGroup ? 'group' : undefined\" :aria-labelledby=\"isGroup ? labelId : undefined\"\n >\n <component\n :is=\"labelFor ? 'label' : 'div'\" v-if=\"hasLabel\" :id=\"labelId\" :for=\"labelFor\"\n :class=\"[ns.e('label'), isValid(formlayout.labelCol) && `${prefixCls}-col-${formlayout.labelCol}`]\"\n :style=\"labelStyle\"\n >\n <!-- label -->\n <template v-if=\"isVNode(props.label)\">\n <component :is=\"props.label\" />\n </template>\n <div v-else :class=\"`${prefixCls}-label__wrapper`\">\n <ElTooltip :disabled=\"!isEllipsis && formlayout.tooltipLayout !== 'text'\">\n <span\n :class=\"{\n [`${prefixCls}-label-content`]: true,\n ['is-tooltip']: isEllipsis || (props.tooltip && formlayout.tooltipLayout === 'text'),\n }\"\n >\n <span ref=\"labelRef\">{{ props.label }}</span>\n </span>\n <template #content>\n <template v-if=\"isVNode(props.tooltip)\">\n <component :is=\"props.tooltip\" />\n </template>\n <div v-else :style=\"`width: ${labelRef?.clientWidth ?? 0}px;`\">\n <template v-if=\"isEllipsis\">\n {{ props.label }}\n </template>\n <template v-if=\"formlayout.tooltipLayout === 'text'\">\n {{ props.tooltip }}\n </template>\n </div>\n </template>\n </ElTooltip>\n <ElTooltip v-if=\"props.tooltip && formlayout.tooltipLayout !== 'text'\" :content=\"props.tooltip\">\n <ElIcon :class=\"`${prefixCls}-label-tooltip`\">\n <InfoFilled />\n </ElIcon>\n </ElTooltip>\n <span v-if=\"props.colon\" :class=\"`${prefixCls}-colon`\">:</span>\n </div>\n </component>\n <!-- content -->\n <div\n :class=\"[\n `${prefixCls}-content__wrapper`,\n isValid(formlayout.wrapperCol) && `${prefixCls}-col-${formlayout.wrapperCol}`,\n ]\"\n :style=\"contentWrapperStyle\"\n >\n <template v-if=\"isValid(props.addonBefore)\">\n <template v-if=\"isVNode(props.addonBefore)\">\n <component :is=\"props.addonBefore\" />\n </template>\n <div v-else :class=\"`${prefixCls}-addon-before`\">\n {{ props.addonBefore }}\n </div>\n </template>\n <div\n :class=\"[\n ns.e('content'),\n formlayout.fullness && 'is-fullness',\n ns.is('addon-after', !!props.addonAfter),\n ]\" :style=\"contentStyle\"\n >\n <ElTooltip\n v-if=\"props.feedbackLayout === 'popover'\"\n ref=\"feedbackTooltipRef\"\n :visible=\"!!props.feedbackText\"\n effect=\"light\"\n :offset=\"6\"\n >\n <template #default>\n <slot />\n </template>\n <template #content>\n <div :class=\"[...validateClasses, ns.is('tooltip')]\">\n <ElIcon>\n <CircleClose v-if=\"props.feedbackStatus === 'error'\" />\n <CircleCheck v-if=\"props.feedbackStatus === 'success'\" />\n <Warning v-if=\"props.feedbackStatus === 'warning'\" />\n </ElIcon>\n {{ props.feedbackText }}\n </div>\n </template>\n </ElTooltip>\n <slot v-else />\n <TransitionGroup :name=\"`${ns.namespace.value}-zoom-in-top`\">\n <div v-if=\"props.feedbackText && props.feedbackLayout !== 'popover'\" :class=\"validateClasses\">\n {{ props.feedbackText }}\n </div>\n <template v-if=\"isValid(props.extra)\">\n <template v-if=\"isVNode(props.extra)\">\n <component :is=\"props.extra\" />\n </template>\n <div v-else :class=\"`${prefixCls}-extra`\">\n {{ props.extra }}\n </div>\n </template>\n </TransitionGroup>\n </div>\n <template v-if=\"isValid(props.addonAfter)\">\n <template v-if=\"isVNode(props.addonAfter)\">\n <component :is=\"props.addonAfter\" />\n </template>\n <div v-else :class=\"`${prefixCls}-addon-after`\">\n {{ props.addonAfter }}\n </div>\n </template>\n </div>\n </div>\n</template>\n","import { isVoidField } from '@formily/core'\nimport { connect, mapProps } from '@formily/vue'\nimport { composeExport } from '../__builtins__'\nimport FormBaseItem from './form-item.vue'\nimport { determineFeedbackStatus, getFeedbackMessage } from './utils'\nimport './style.scss'\n\nexport function fieldFeedbackMapper(props, field) {\n if (isVoidField(field) || !field) {\n return props\n }\n\n const feedbackText = getFeedbackMessage(field)\n const feedbackStatus = determineFeedbackStatus(field)\n const asterisk = 'asterisk' in props\n ? props.asterisk\n : field.required && field.pattern !== 'readPretty'\n\n return {\n ...props,\n feedbackText,\n feedbackStatus,\n asterisk,\n }\n}\n\nconst Item = connect(\n FormBaseItem,\n mapProps(\n {\n validateStatus: true,\n title: 'label',\n required: true,\n description: 'extra',\n },\n fieldFeedbackMapper,\n ),\n)\n\nexport const FormItem = composeExport(Item, {\n BaseItem: FormBaseItem,\n})\n\nexport default FormItem\n\nexport { default as FormBaseItem } from './form-item.vue'\n"],"names":["SCOPE","addUnit","value","defaultUnit","isNumber","isStringNumber","isString","debugWarn","props","__props","slots","useSlots","ns","useNamespace","prefixCls","stylePrefix","formItemConfig","pick","FORM_LAYOUT_PROPS_KEYS","_","isValid","formlayoutConfig","useFormLayout","formlayout","computed","field","useField","_size","useFormSize","labelId","useId","inputIds","ref","validateState","formItemRef","labelRef","feedbackTooltipRef","__expose","labelPosition","isArr","labelStyle","labelWidth","contentStyle","contentWidth","contentWrapperStyle","isRequired","formItemClasses","validateClasses","hasLabel","labelFor","isGroup","validate","clearValidate","resetField","addInputId","id","removeInputId","listId","isEllipsisActive","useResizeObserver","isEllipsis","_validateState","context","reactive","watch","val","provide","formLayoutShallowContext","formItemContextKey","_createElementBlock","_unref","_openBlock","_createBlock","_resolveDynamicComponent","_normalizeClass","isVNode","_createVNode","ElTooltip","_normalizeStyle","_Fragment","_createTextVNode","_toDisplayString","_createElementVNode","ElIcon","InfoFilled","_renderSlot","_ctx","CircleClose","CircleCheck","Warning","_TransitionGroup","fieldFeedbackMapper","isVoidField","feedbackText","getFeedbackMessage","feedbackStatus","determineFeedbackStatus","asterisk","Item","connect","FormBaseItem","mapProps","FormItem","composeExport"],"mappings":";;;;;;;;;;;;;;;;AAMA,MAAMA,KAAQ;AAyDd,SAASC,EAAQC,GAAOC,IAAc,MAAM;AAC1C,MAAI,CAACD,KAASA,MAAU;AACtB,WAAO;AACT,MAAIE,GAASF,CAAK,KAAKG,GAAeH,CAAK;AACzC,WAAO,GAAGA,CAAK,GAAGC,CAAW;AACxB,MAAIG,GAASJ,CAAK;AACvB,WAAOA;AAET,EAAAK,GAAUP,IAAO,0CAA0C;AAC7D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AChDA,UAAMQ,IAAQC,GAyBRC,IAAQC,GAAA,GACRC,IAAKC,GAAa,WAAW,GAC7BC,IAAY,GAAGC,EAAW,cAC1BC,IAAsD,OAAO;AAAA,MACjE,OAAO,QAAQC,GAAKT,GAAOU,EAAsB,CAAC,EAC/C,OAAO,CAAC,CAACC,GAAGjB,CAAK,MAAMkB,EAAQlB,CAAK,CAAC;AAAA,IAAA,GAEpCmB,IAAmBC,GAAA,GACnBC,IAAaC,EAAS,MAAM,OAAO,OAAO,CAAA,GAAIH,EAAiB,OAAOL,CAAc,CAAC,GAErFS,IAAQC,GAAA,GAERC,IAAQC,GAAY,QAAW,EAAE,UAAU,IAAO,GAElDC,IAAUC,KAAQ,OAClBC,IAAWC,EAAc,EAAE,GAE3BC,IAAgBD,EAA2B,EAAE,GAC7CE,IAAcF,EAAA,GACdG,IAAWH,EAAA,GACXI,IAAqBJ,EAAA;AAC3B,IAAAK,EAAa;AAAA,MACX,oBAAAD;AAAA,IAAA,CACD;AAED,UAAME,IAAgBd;AAAA,MACpB,MACMD,EAAW,MAAM,WAAW,cAAegB,GAAMhB,EAAW,MAAM,MAAM,KAAKA,EAAW,MAAM,OAAO,SAAS,UAAiB,IAC1H,QAEFA,EAAW,MAAM,cAAc;AAAA,IACxC,GAGIiB,IAAahB,EAAwB,MAAM;AAC/C,UAAIc,EAAc,UAAU;AAC1B,eAAO,CAAA;AAGT,YAAMG,IAAaxC,EAAQsB,EAAW,MAAM,cAAc,EAAE;AAC5D,aAAIkB,IACK,EAAE,OAAOA,EAAA,IACX,CAAA;AAAA,IACT,CAAC,GAEKC,IAAelB,EAAwB,MAAM;AACjD,YAAMmB,IAAe1C,EAAQsB,EAAW,OAAO,gBAAgB,EAAE;AACjE,aAAIoB,IACK,EAAE,OAAOA,GAAc,MAAM,QAAA,IAC/B,CAAA;AAAA,IACT,CAAC,GAEKC,IAAsBpB,EAAwB,OAC3C;AAAA,MACL,gBAAgBD,EAAW,OAAO,iBAAiB,WAAW;AAAA,IAAA,EAEjE,GAEKsB,KAAarB;AAAA,MAAS,MAC1BhB,EAAM,YAAYiB,EAAM,OAAO,YAAY;AAAA,IAAA,GAGvCqB,KAAkBtB,EAAS,MAAM;AAAA,MACrCZ,EAAG,EAAA;AAAA;AAAA,MAEHA,EAAG,EAAEJ,EAAM,QAAQmB,EAAM,SAAS,SAAS;AAAA,MAC3Cf,EAAG,GAAGJ,EAAM,cAAc;AAAA,MAC1BI,EAAG,GAAG,cAAcqB,EAAc,UAAU,YAAY;AAAA,MACxDrB,EAAG,GAAG,WAAWqB,EAAc,UAAU,SAAS;AAAA,MAClDrB,EAAG,GAAG,YAAYiC,GAAW,SAASrC,EAAM,QAAQ;AAAA,MACpDI,EAAG,GAAG,eAAeW,EAAW,OAAO,oBAAoB;AAAA,MAC3DX,EAAG,GAAGW,EAAW,MAAM,cAAc;AAAA,MACrCA,EAAW,OAAO,4BAA4B,UAC1C,mBACA;AAAA,MACJ;AAAA,QACE,CAACX,EAAG,EAAE,UAAU,CAAC,GAAGW,EAAW,OAAO;AAAA,QACtC,CAACX,EAAG,EAAE,SAAS0B,EAAc,KAAK,EAAE,CAAC,GAAGA,EAAc;AAAA,MAAA;AAAA,IACxD,CACD,GAEKS,IAAkBvB,EAAS,MAAM;AAAA,MACrC,GAAGV,CAAS;AAAA,MACZF,EAAG,GAAGJ,EAAM,cAAc;AAAA,MAC1BI,EAAG,GAAG,SAASJ,EAAM,mBAAmB,OAAO;AAAA,IAAA,CAChD,GAEKwC,IAAWxB,EAAkB,MACzBhB,EAAM,UAAU,MAAMY,EAAQZ,EAAM,KAAK,KAAMY,EAAQV,EAAM,KAAK,CAC3E,GAEKuC,IAAWzB,EAA6B,MAE1ChB,EAAM,QAAQuB,EAAS,MAAM,WAAW,IAAIA,EAAS,MAAM,CAAC,IAAI,OAEnE,GAEKmB,IAAU1B,EAAkB,MACzB,CAACyB,EAAS,SAASD,EAAS,KACpC;AAED,mBAAeG,KAAiC;AAC9C,aAAO;AAAA,IACT;AAAA,IAAA;AAEA,UAAMC,KAAkD,MAAM;AAAA,IAAC;AAAA,IAAA;AAE/D,UAAMC,KAA4C,YAAY;AAAA,IAAC,GAEzDC,KAA4C,CAACC,MAAe;AAAA,MAAA;AAEhE,MAAKxB,EAAS,MAAM,SAASwB,CAAE,KAC7BxB,EAAS,MAAM,KAAKwB,CAAE;AAAA,IAE1B,GAEMC,KAAkD,CAACD,MAAe;AACtE,MAAAxB,EAAS,QAAQA,EAAS,MAAM,OAAO,CAAA0B,MAAUA,MAAWF,CAAE;AAAA,IAChE,GAEMG,IAAmB1B,EAAI,EAAK;AAClC,IAAA2B,GAAkBxB,GAAU,MAAM;AAChC,MAAAuB,EAAiB,QAAQvB,EAAS,OAAO,cAAcA,EAAS,OAAO;AAAA,IACzE,CAAC;AACD,UAAMyB,IAAapC,EAAS,MACnBkC,EAAiB,SAAS,CAACnC,EAAW,MAAM,SACpD,GAGKsC,KAAiB7B,EAA2B,EAAE,GAC9C8B,IAA2BC,GAAS;AAAA,MACxC,KAAK7B;AAAA,MACL,YAAYX,EAAW,OAAO;AAAA,MAC9B,MAAMI;AAAA,MACN,eAAekC,GAAe;AAAA,MAC9B,SAAAhC;AAAA,MACA,UAAAE;AAAA,MACA,SAAAmB;AAAA,MACA,UAAAF;AAAA,MACA,YAAAM;AAAA,MACA,eAAAE;AAAA,MACA,YAAAH;AAAA,MACA,eAAAD;AAAA,MACA,UAAAD;AAAA,MACA,eAAAb;AAAA,MACA,eAAe;AAAA,MACf,aAAa;AAAA,MACb,YAAYb,EAAM,OAAO;AAAA,MACzB,iBAAiB;AAAA,MACjB,YAAY;AAAA,IAAA,CACb;AACD,WAAAuC,GAAM,MAAMxD,EAAM,gBAAgB,CAACyD,MAAQ;AACzC,UAAIA,MAAQ,WAAW;AACrB,QAAAH,EAAQ,gBAAgB;AACxB;AAAA,MACF;AACA,UAAIG,MAAQ,WAAW;AACrB,QAAAH,EAAQ,gBAAgB;AACxB;AAAA,MACF;AACA,MAAAA,EAAQ,gBAAgBG;AAAA,IAC1B,GAAG;AAAA,MACD,WAAW;AAAA,IAAA,CACZ,GAEDC,EAAQC,IAA0BnC,EAAI;AAAA,MACpC,GAAIZ,EAAQZ,EAAM,IAAI,KAAK,EAAE,MAAMA,EAAM,KAAA;AAAA,MACzC,GAAIY,EAAQZ,EAAM,KAAK,KAAK,EAAE,OAAOA,EAAM,MAAA;AAAA,IAAM,CAClD,CAAC,GACF0D,EAAQE,IAAoBN,CAAO,mBAIjCO,EAiHM,OAAA;AAAA,eAhHA;AAAA,MAAJ,KAAInC;AAAA,MAAe,UAAQpB,GAAWS,QAAW,2BAA2BuB,GAAA,KAAe,CAAA;AAAA,MAC1F,MAAMI,EAAA,QAAO,UAAa;AAAA,MAAY,mBAAiBA,EAAA,QAAUoB,EAAAzC,CAAA,IAAU;AAAA,IAAA;MAGnCmB,EAAA,SADzCuB,EAAA,GAAAC,EAwCYC,EAvCLxB,EAAA,QAAQ,UAAA,KAAA,GAAA;AAAA;QAAqC,IAAIqB,EAAAzC,CAAA;AAAA,QAAU,KAAKoB,EAAA;AAAA,QACpE,OAAKyB,EAAA,CAAGJ,EAAA1D,CAAA,EAAG,YAAY0D,EAAAlD,CAAA,EAAQG,EAAA,MAAW,QAAQ,KAAA,GAAQT,CAAS,QAAQS,EAAA,MAAW,QAAQ,EAAA,CAAA;AAAA,QAC9F,SAAOiB,EAAA,KAAU;AAAA,MAAA;mBANxB,MAEoB;AAAA,UAOEmC,EAAQnE,EAAM,KAAK,UACjCgE,EAA+BC,EAAfjE,EAAM,KAAK,GAAA,EAAA,KAAA,EAAA,CAAA,WAE7B6D,EA8BM,OAAA;AAAA;YA9BO,YAAUvD,CAAS,iBAAA;AAAA,UAAA;YAC9B8D,EAsBYN,EAAAO,CAAA,GAAA;AAAA,cAtBA,UAAQ,CAAGjB,EAAA,SAAcrC,EAAA,MAAW,kBAAa;AAAA,YAAA;cAShD,WARP,MAEqE;AAAA,gBAOvDoD,EAAQnE,EAAM,OAAO,UACnCgE,EAAiCC,EAAjBjE,EAAM,OAAO,GAAA,EAAA,KAAA,EAAA,CAAA,WAE/B6D,EAOM,OAAA;AAAA;kBAPO,OAAKS,EAAA,UAAY3C,EAAA,OAAU,eAAW,CAAA,KAAA;AAAA,gBAAA;kBACjCyB,EAAA,cAAhBS,EAEWU,GAAA,EAAA,KAAA,KAAA;AAAA,oBADNC,EAAAC,EAAAzE,EAAM,KAAK,GAAA,CAAA;AAAA,kBAAA;kBAEAe,EAAA,MAAW,kBAAa,eAAxC8C,EAEWU,GAAA,EAAA,KAAA,KAAA;AAAA,oBADNC,EAAAC,EAAAzE,EAAM,OAAO,GAAA,CAAA;AAAA,kBAAA;;;yBAjBtB,MAOO;AAAA,gBAPP0E,EAOO,QAAA;AAAA,kBANJ,OAAKR,EAAA;AAAA,wBAAsB5D,CAAS,gBAAA,GAAA;AAAA,oBAAuD,cAAA8C,EAAA,SAAepD,EAAM,WAAWe,EAAA,MAAW,kBAAa;AAAA,kBAAA;;kBAKpJ2D,EAA6C,QAAA;AAAA,6BAAnC;AAAA,oBAAJ,KAAI/C;AAAA,kBAAA,GAAc8C,EAAAzE,EAAM,KAAK,GAAA,GAAA;AAAA,gBAAA;;;;YAgBtBA,EAAM,WAAWe,EAAA,MAAW,kBAAa,eAA1DiD,EAIYF,EAAAO,CAAA,GAAA;AAAA;cAJ4D,SAASrE,EAAM;AAAA,YAAA;yBACrF,MAES;AAAA,gBAFToE,EAESN,EAAAa,CAAA,GAAA;AAAA,kBAFA,YAAUrE,CAAS,gBAAA;AAAA,gBAAA;6BAC1B,MAAc;AAAA,oBAAd8D,EAAcN,EAAAc,EAAA,CAAA;AAAA,kBAAA;;;;;;YAGN5E,EAAM,cAAlB6D,EAA+D,QAAA;AAAA;cAArC,YAAUvD,CAAS,QAAA;AAAA,YAAA,GAAU,KAAC,CAAA;;;;;MAI5DoE,EAkEM,OAAA;AAAA,QAjEH,OAAKR,EAAA;AAAA,aAAe5D,CAAS;AAAA,UAA6BwD,EAAAlD,CAAA,EAAQG,QAAW,UAAU,QAAQT,CAAS,QAAQS,EAAA,MAAW,UAAU;AAAA,QAAA;QAIrI,SAAOqB,EAAA,KAAmB;AAAA,MAAA;QAEX0B,EAAAlD,CAAA,EAAQZ,EAAM,WAAW,UAAzC6D,EAOWU,GAAA,EAAA,KAAA,KAAA;AAAA,UANOJ,EAAQnE,EAAM,WAAW,UACvCgE,EAAqCC,EAArBjE,EAAM,WAAW,GAAA,EAAA,KAAA,EAAA,CAAA,WAEnC6D,EAEM,OAAA;AAAA;YAFO,YAAUvD,CAAS,eAAA;AAAA,UAAA,GAC3BmE,EAAAzE,EAAM,WAAW,GAAA,CAAA;AAAA,QAAA;QAGxB0E,EA0CM,OAAA;AAAA,UAzCH,OAAKR,EAAA;AAAA,YAAcJ,EAAA1D,CAAA,EAAG,EAAC,SAAA;AAAA,YAAuBW,EAAA,MAAW,YAAQ;AAAA,YAA6B+C,EAAA1D,CAAA,EAAG,GAAE,eAAA,CAAA,CAAkBJ,EAAM,UAAU;AAAA,UAAA;UAIlI,SAAOkC,EAAA,KAAY;AAAA,QAAA;UAGflC,EAAM,mBAAc,kBAD5BgE,EAoBYF,EAAAO,CAAA,GAAA;AAAA;qBAlBN;AAAA,YAAJ,KAAIzC;AAAA,YACH,SAAO,CAAA,CAAI5B,EAAM;AAAA,YAClB,QAAO;AAAA,YACN,QAAQ;AAAA,UAAA;YAEE,WACT,MAAQ;AAAA,cAAR6E,EAAQC,EAAA,QAAA,SAAA;AAAA,YAAA;YAEC,WACT,MAOM;AAAA,cAPNJ,EAOM,OAAA;AAAA,gBAPA,OAAKR,EAAA,CAAA,GAAM3B,EAAA,OAAiBuB,EAAA1D,CAAA,EAAG,GAAE,SAAA,CAAA,CAAA;AAAA,cAAA;gBACrCgE,EAISN,EAAAa,CAAA,GAAA,MAAA;AAAA,6BAba,MAAuD;AAAA,oBAUxD3E,EAAM,mBAAc,gBAAvCgE,EAAuDF,EAAAiB,EAAA,GAAA,EAAA,KAAA,EAAA,CAAA;oBACpC/E,EAAM,mBAAc,kBAAvCgE,EAAyDF,EAAAkB,EAAA,GAAA,EAAA,KAAA,EAAA,CAAA;oBAC1ChF,EAAM,mBAAc,kBAAnCgE,EAAqDF,EAAAmB,EAAA,GAAA,EAAA,KAAA,EAAA,CAAA;;;;kBAC9C,MACTR,EAAGzE,EAAM,YAAY,GAAA,CAAA;AAAA,cAAA;;;gCAI3B6E,EAAeC,EAAA,QAAA,WAAA,EAAA,KAAA,GAAA;AAAA,UACfV,EAYkBc,IAAA;AAAA,YAZA,MAAI,GAAKpB,EAAA1D,CAAA,EAAG,UAAU,KAAK;AAAA,UAAA;uBAR7C,MAIM;AAAA,cAKOJ,EAAM,gBAAgBA,EAAM,mBAAc,kBAArD6D,EAEM,OAAA;AAAA;gBAFgE,SAAOtB,EAAA,KAAe;AAAA,cAAA,GACvFkC,EAAAzE,EAAM,YAAY,GAAA,CAAA;cAEP8D,EAAAlD,CAAA,EAAQZ,EAAM,KAAK,UAAnC6D,EAOWU,GAAA,EAAA,KAAA,KAAA;AAAA,gBANOJ,EAAQnE,EAAM,KAAK,UACjCgE,EAA+BC,EAAfjE,EAAM,KAAK,GAAA,EAAA,KAAA,EAAA,CAAA,WAE7B6D,EAEM,OAAA;AAAA;kBAFO,YAAUvD,CAAS,QAAA;AAAA,gBAAA,GAC3BmE,EAAAzE,EAAM,KAAK,GAAA,CAAA;AAAA,cAAA;;;;;QAKN8D,EAAAlD,CAAA,EAAQZ,EAAM,UAAU,UAAxC6D,EAOWU,GAAA,EAAA,KAAA,KAAA;AAAA,UANOJ,EAAQnE,EAAM,UAAU,UACtCgE,EAAoCC,EAApBjE,EAAM,UAAU,GAAA,EAAA,KAAA,EAAA,CAAA,WAElC6D,EAEM,OAAA;AAAA;YAFO,YAAUvD,CAAS,cAAA;AAAA,UAAA,GAC3BmE,EAAAzE,EAAM,UAAU,GAAA,CAAA;AAAA,QAAA;;;;;ACpUtB,SAASmF,GAAoBnF,GAAOiB,GAAO;AAChD,MAAImE,GAAYnE,CAAK,KAAK,CAACA;AACzB,WAAOjB;AAGT,QAAMqF,IAAeC,GAAmBrE,CAAK,GACvCsE,IAAiBC,GAAwBvE,CAAK,GAC9CwE,IAAW,cAAczF,IAC3BA,EAAM,WACNiB,EAAM,YAAYA,EAAM,YAAY;AAExC,SAAO;AAAA,IACL,GAAGjB;AAAA,IACH,cAAAqF;AAAA,IACA,gBAAAE;AAAA,IACA,UAAAE;AAAA,EAAA;AAEJ;AAEA,MAAMC,KAAOC;AAAA,EACXC;AAAAA,EACAC;AAAA,IACE;AAAA,MACE,gBAAgB;AAAA,MAChB,OAAO;AAAA,MACP,UAAU;AAAA,MACV,aAAa;AAAA,IAAA;AAAA,IAEfV;AAAA,EAAA;AAEJ,GAEaW,KAAWC,GAAcL,IAAM;AAAA,EAC1C,UAAUE;AACZ,CAAC;","x_google_ignoreList":[0]}
@@ -0,0 +1,25 @@
1
+ export interface IFormItemProps {
2
+ label?: string;
3
+ for?: string;
4
+ tooltip?: string;
5
+ addonBefore?: string;
6
+ addonAfter?: string;
7
+ extra?: string;
8
+ feedbackText?: string;
9
+ feedbackStatus?: 'error' | 'warning' | 'success' | 'pending';
10
+ asterisk?: boolean;
11
+ colon?: boolean;
12
+ labelAlign?: 'right' | 'left';
13
+ wrapperAlign?: 'right' | 'left';
14
+ labelWrap?: boolean;
15
+ labelWidth?: number;
16
+ wrapperWidth?: number;
17
+ wrapperWrap?: boolean;
18
+ labelCol?: number;
19
+ wrapperCol?: number;
20
+ fullness?: boolean;
21
+ size?: 'small' | 'default' | 'large';
22
+ layout?: 'vertical' | 'horizontal' | 'inline' | ('vertical' | 'horizontal' | 'inline')[];
23
+ feedbackLayout?: 'loose' | 'terse' | 'popover';
24
+ tooltipLayout?: 'icon' | 'text';
25
+ }
@@ -0,0 +1,2 @@
1
+
2
+ //# sourceMappingURL=types.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ import { Field } from '@formily/core';
2
+ export declare function getFeedbackMessage(field: Field): string;
3
+ export declare function determineFeedbackStatus(field: Field): any;
@@ -0,0 +1,17 @@
1
+ import { isArr as r } from "@formily/shared";
2
+ function a(s) {
3
+ const e = {
4
+ errors: s.selfErrors.join(", "),
5
+ warnings: s.selfWarnings.join(", "),
6
+ successes: s.selfSuccesses.join(", ")
7
+ };
8
+ return e.errors || e.warnings || e.successes;
9
+ }
10
+ function n(s) {
11
+ return r(s.decorator) ? s.decorator[1]?.feedbackStatus ?? s.validateStatus : s.validateStatus;
12
+ }
13
+ export {
14
+ n as determineFeedbackStatus,
15
+ a as getFeedbackMessage
16
+ };
17
+ //# sourceMappingURL=utils.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.mjs","sources":["../../src/form-item/utils.ts"],"sourcesContent":["import type { Field } from '@formily/core'\nimport { isArr } from '@formily/shared'\n\nexport function getFeedbackMessage(field: Field) {\n const messages = {\n errors: field.selfErrors.join(', '),\n warnings: field.selfWarnings.join(', '),\n successes: field.selfSuccesses.join(', '),\n }\n\n return messages.errors || messages.warnings || messages.successes\n}\n\nexport function determineFeedbackStatus(field: Field) {\n return isArr(field.decorator)\n ? (field.decorator[1]?.feedbackStatus ?? field.validateStatus)\n : field.validateStatus\n}\n"],"names":["getFeedbackMessage","field","messages","determineFeedbackStatus","isArr"],"mappings":";AAGO,SAASA,EAAmBC,GAAc;AAC/C,QAAMC,IAAW;AAAA,IACf,QAAQD,EAAM,WAAW,KAAK,IAAI;AAAA,IAClC,UAAUA,EAAM,aAAa,KAAK,IAAI;AAAA,IACtC,WAAWA,EAAM,cAAc,KAAK,IAAI;AAAA,EAAA;AAG1C,SAAOC,EAAS,UAAUA,EAAS,YAAYA,EAAS;AAC1D;AAEO,SAASC,EAAwBF,GAAc;AACpD,SAAOG,EAAMH,EAAM,SAAS,IACvBA,EAAM,UAAU,CAAC,GAAG,kBAAkBA,EAAM,iBAC7CA,EAAM;AACZ;"}
@@ -0,0 +1,32 @@
1
+ import { IFormLayoutProps } from './types';
2
+ declare function __VLS_template(): {
3
+ attrs: Partial<{}>;
4
+ slots: {
5
+ default?(_: {}): any;
6
+ };
7
+ refs: {
8
+ rootHTMLRef: unknown;
9
+ };
10
+ rootEl: any;
11
+ };
12
+ type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
13
+ declare const __VLS_component: import('vue').DefineComponent<IFormLayoutProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<IFormLayoutProps> & Readonly<{}>, {
14
+ size: "small" | "default" | "large";
15
+ tag: string;
16
+ layout: "vertical" | "horizontal" | "inline" | ("vertical" | "horizontal" | "inline")[];
17
+ colon: boolean;
18
+ labelWrap: boolean;
19
+ wrapperWrap: boolean;
20
+ fullness: boolean;
21
+ shallow: boolean;
22
+ statusIcon: boolean;
23
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {
24
+ rootHTMLRef: unknown;
25
+ }, any>;
26
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
27
+ export default _default;
28
+ type __VLS_WithTemplateSlots<T, S> = T & {
29
+ new (): {
30
+ $slots: S;
31
+ };
32
+ };
@@ -0,0 +1,83 @@
1
+ import { defineComponent as w, ref as l, provide as s, watch as k, createBlock as C, openBlock as v, resolveDynamicComponent as A, mergeProps as B, unref as a, withModifiers as P, withCtx as b, renderSlot as x } from "vue";
2
+ import { isValid as f, isEmpty as F } from "@formily/shared";
3
+ import { useForm as R } from "@formily/vue";
4
+ import { formContextKey as _ } from "element-plus";
5
+ import { stylePrefix as g } from "../__builtins__/configs/index.mjs";
6
+ import { useThrottleFn as q } from "../__builtins__/shared/hooks.mjs";
7
+ import "@formily/reactive";
8
+ import "@formily/core";
9
+ import "@formily/reactive-vue";
10
+ import { useCleanAttrs as z } from "../__builtins__/shared/utils.mjs";
11
+ import { useFormDeepLayout as D, useResponsiveFormLayout as W, filterValidFormLayoutProps as o, formLayoutDeepContext as I, formLayoutShallowContext as M } from "./utils.mjs";
12
+ const O = /* @__PURE__ */ w({
13
+ name: "FFormLayout",
14
+ inheritAttrs: !1,
15
+ __name: "form-layout",
16
+ props: {
17
+ tag: { default: "form" },
18
+ colon: { type: Boolean, default: !0 },
19
+ labelAlign: null,
20
+ wrapperAlign: null,
21
+ labelWrap: { type: Boolean, default: !0 },
22
+ labelWidth: null,
23
+ wrapperWidth: null,
24
+ wrapperWrap: { type: Boolean, default: !1 },
25
+ labelCol: null,
26
+ wrapperCol: null,
27
+ fullness: { type: Boolean, default: !1 },
28
+ size: { default: "default" },
29
+ layout: { default: "horizontal" },
30
+ feedbackLayout: null,
31
+ tooltipLayout: null,
32
+ breakpoints: null,
33
+ shallow: { type: Boolean, default: !0 },
34
+ hideRequiredAsterisk: { type: Boolean },
35
+ statusIcon: { type: Boolean, default: !0 },
36
+ requireAsteriskPosition: null
37
+ },
38
+ setup(m) {
39
+ const e = m, d = `${g}-form`, { props: y } = z(), i = l(), c = D(), { props: t } = W(e, i), h = l({
40
+ ...c.value,
41
+ ...e.shallow ? {
42
+ ...f(e.size) && { size: e.size },
43
+ ...f(e.colon) && { colon: e.colon }
44
+ } : o(e)
45
+ });
46
+ s(I, h);
47
+ const n = l(e.shallow ? o(e) : {});
48
+ s(M, n);
49
+ const L = q(() => {
50
+ if (!F(t.value)) {
51
+ const r = o(t.value);
52
+ n.value = o({ ...e, ...r });
53
+ }
54
+ }, 200, !0);
55
+ k(() => [e, t], L, {
56
+ deep: !0,
57
+ immediate: !0
58
+ }), s(_, {
59
+ statusIcon: e.statusIcon,
60
+ hideRequiredAsterisk: e.hideRequiredAsterisk,
61
+ requireAsteriskPosition: e.requireAsteriskPosition
62
+ });
63
+ const u = R();
64
+ return (r, p) => (v(), C(A(e.tag), B({
65
+ id: a(u)?.id && `formily-${a(u)?.id}`,
66
+ ref_key: "rootHTMLRef",
67
+ ref: i,
68
+ class: d
69
+ }, a(y), {
70
+ onSubmit: p[0] || (p[0] = P(() => {
71
+ }, ["prevent", "stop"]))
72
+ }), {
73
+ default: b(() => [
74
+ x(r.$slots, "default")
75
+ ]),
76
+ _: 3
77
+ }, 16, ["id"]));
78
+ }
79
+ });
80
+ export {
81
+ O as _
82
+ };
83
+ //# sourceMappingURL=form-layout.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"form-layout.mjs","sources":["../../src/form-layout/form-layout.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport type { FormContext } from 'element-plus'\nimport type { IFormLayoutProps } from './types'\nimport { isEmpty, isValid } from '@formily/shared'\nimport { useForm } from '@formily/vue'\nimport { formContextKey } from 'element-plus'\nimport { provide, ref, watch } from 'vue'\nimport { stylePrefix, useCleanAttrs, useThrottleFn } from '../__builtins__'\nimport { filterValidFormLayoutProps, formLayoutDeepContext, formLayoutShallowContext, useFormDeepLayout, useResponsiveFormLayout } from './utils'\n\ndefineOptions({\n name: 'FFormLayout',\n inheritAttrs: false,\n})\n\nconst props = defineProps({\n tag: { default: 'form' },\n colon: { type: Boolean, default: true },\n labelAlign: null,\n wrapperAlign: null,\n labelWrap: { type: Boolean, default: true },\n labelWidth: null,\n wrapperWidth: null,\n wrapperWrap: { type: Boolean, default: false },\n labelCol: null,\n wrapperCol: null,\n fullness: { type: Boolean, default: false },\n size: { default: 'default' },\n layout: { default: 'horizontal' },\n feedbackLayout: null,\n tooltipLayout: null,\n breakpoints: null,\n shallow: { type: Boolean, default: true },\n hideRequiredAsterisk: { type: Boolean },\n statusIcon: { type: Boolean, default: true },\n requireAsteriskPosition: null\n})\nconst formPrefixCls = `${stylePrefix}-form`\nconst { props: attrs } = useCleanAttrs()\nconst rootHTMLRef = ref<HTMLElement>()\n\nconst formLayoutDeepConfig = useFormDeepLayout()\nconst { props: responsiveProps } = useResponsiveFormLayout(props, rootHTMLRef)\n\nconst deepLayout = ref({\n ...formLayoutDeepConfig.value,\n ...(props.shallow\n ? {\n ...(isValid(props.size) && { size: props.size }),\n ...(isValid(props.colon) && { colon: props.colon }),\n }\n : filterValidFormLayoutProps(props)),\n})\nprovide(formLayoutDeepContext, deepLayout)\n\nconst shallowLayout = ref(props.shallow ? filterValidFormLayoutProps(props) : {})\nprovide(formLayoutShallowContext, shallowLayout)\n\nconst updateLayout = useThrottleFn(() => {\n if (!isEmpty(responsiveProps.value)) {\n const _responsiveProps = filterValidFormLayoutProps(responsiveProps.value)\n shallowLayout.value = filterValidFormLayoutProps({ ...props, ..._responsiveProps })\n }\n}, 200, true)\n\nwatch(() => [props, responsiveProps], updateLayout, {\n deep: true,\n immediate: true,\n})\n\nprovide(formContextKey, {\n statusIcon: props.statusIcon,\n hideRequiredAsterisk: props.hideRequiredAsterisk,\n requireAsteriskPosition: props.requireAsteriskPosition,\n} as FormContext)\n\nconst formRef = useForm()\n</script>\n\n<template>\n <component\n :is=\"props.tag\"\n :id=\"formRef?.id && `formily-${formRef?.id}`\"\n ref=\"rootHTMLRef\"\n :class=\"formPrefixCls\"\n v-bind=\"attrs\"\n @submit.prevent.stop\n >\n <slot />\n </component>\n</template>\n"],"names":["props","__props","formPrefixCls","stylePrefix","attrs","useCleanAttrs","rootHTMLRef","ref","formLayoutDeepConfig","useFormDeepLayout","responsiveProps","useResponsiveFormLayout","deepLayout","isValid","filterValidFormLayoutProps","provide","formLayoutDeepContext","shallowLayout","formLayoutShallowContext","updateLayout","useThrottleFn","isEmpty","_responsiveProps","watch","formContextKey","formRef","useForm","_openBlock","_createBlock","_resolveDynamicComponent","_mergeProps","_unref","_renderSlot","_ctx"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAeA,UAAMA,IAAQC,GAsBRC,IAAgB,GAAGC,CAAW,SAC9B,EAAE,OAAOC,EAAA,IAAUC,EAAA,GACnBC,IAAcC,EAAA,GAEdC,IAAuBC,EAAA,GACvB,EAAE,OAAOC,EAAA,IAAoBC,EAAwBX,GAAOM,CAAW,GAEvEM,IAAaL,EAAI;AAAA,MACrB,GAAGC,EAAqB;AAAA,MACxB,GAAIR,EAAM,UACN;AAAA,QACE,GAAIa,EAAQb,EAAM,IAAI,KAAK,EAAE,MAAMA,EAAM,KAAA;AAAA,QACzC,GAAIa,EAAQb,EAAM,KAAK,KAAK,EAAE,OAAOA,EAAM,MAAA;AAAA,MAAM,IAEnDc,EAA2Bd,CAAK;AAAA,IAAA,CACrC;AACD,IAAAe,EAAQC,GAAuBJ,CAAU;AAEzC,UAAMK,IAAgBV,EAAIP,EAAM,UAAUc,EAA2Bd,CAAK,IAAI,EAAE;AAChF,IAAAe,EAAQG,GAA0BD,CAAa;AAE/C,UAAME,IAAeC,EAAc,MAAM;AACvC,UAAI,CAACC,EAAQX,EAAgB,KAAK,GAAG;AACnC,cAAMY,IAAmBR,EAA2BJ,EAAgB,KAAK;AACzE,QAAAO,EAAc,QAAQH,EAA2B,EAAE,GAAGd,GAAO,GAAGsB,GAAkB;AAAA,MACpF;AAAA,IACF,GAAG,KAAK,EAAI;AAEZ,IAAAC,EAAM,MAAM,CAACvB,GAAOU,CAAe,GAAGS,GAAc;AAAA,MAClD,MAAM;AAAA,MACN,WAAW;AAAA,IAAA,CACZ,GAEDJ,EAAQS,GAAgB;AAAA,MACtB,YAAYxB,EAAM;AAAA,MAClB,sBAAsBA,EAAM;AAAA,MAC5B,yBAAyBA,EAAM;AAAA,IAAA,CACjB;AAEhB,UAAMyB,IAAUC,EAAA;sBAIdC,KAAAC,EASYC,EARL7B,EAAM,GAAG,GADhB8B,EASY;AAAA,MAPT,IAAIC,EAAAN,CAAA,GAAS,MAAE,WAAeM,EAAAN,CAAA,GAAS,EAAE;AAAA,eACtC;AAAA,MAAJ,KAAInB;AAAA,MACH,OAAOJ;AAAA,IAAA,GACA6B,EAAA3B,CAAA,GAAK;AAAA,MACZ,4BAAD,MAAA;AAAA,MAAA,GAAoB,CAAA,WAAA,MAAA,CAAA;AAAA,IAAA;iBAEpB,MAAQ;AAAA,QAAR4B,EAAQC,EAAA,QAAA,SAAA;AAAA,MAAA;;;;;"}
@@ -0,0 +1 @@
1
+ export { default, default as FormLayout } from './form-layout';
@@ -0,0 +1,6 @@
1
+ import { _ as r, _ as t } from "./form-layout.mjs";
2
+ export {
3
+ r as FormLayout,
4
+ t as default
5
+ };
6
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -0,0 +1,43 @@
1
+ export interface IFormLayoutProps {
2
+ tag?: string;
3
+ colon?: boolean;
4
+ labelAlign?: 'right' | 'left' | ('right' | 'left')[];
5
+ wrapperAlign?: 'right' | 'left' | ('right' | 'left')[];
6
+ labelWrap?: boolean;
7
+ labelWidth?: number;
8
+ wrapperWidth?: number;
9
+ wrapperWrap?: boolean;
10
+ labelCol?: number | number[];
11
+ wrapperCol?: number | number[];
12
+ fullness?: boolean;
13
+ size?: 'small' | 'default' | 'large';
14
+ layout?: 'vertical' | 'horizontal' | 'inline' | ('vertical' | 'horizontal' | 'inline')[];
15
+ feedbackLayout?: 'loose' | 'terse' | 'popover';
16
+ tooltipLayout?: 'icon' | 'text';
17
+ breakpoints?: number[];
18
+ shallow?: boolean;
19
+ hideRequiredAsterisk?: boolean;
20
+ statusIcon?: boolean;
21
+ requireAsteriskPosition?: 'left' | 'right';
22
+ }
23
+ export interface ICalculatedFormLayoutProps {
24
+ colon?: boolean;
25
+ labelAlign?: 'right' | 'left';
26
+ wrapperAlign?: 'right' | 'left';
27
+ labelWrap?: boolean;
28
+ labelWidth?: number | string;
29
+ wrapperWidth?: number | string;
30
+ wrapperWrap?: boolean;
31
+ labelCol?: number;
32
+ wrapperCol?: number;
33
+ fullness?: boolean;
34
+ size?: 'small' | 'default' | 'large';
35
+ layout?: 'vertical' | 'horizontal' | 'inline';
36
+ feedbackLayout?: 'loose' | 'terse' | 'popover';
37
+ tooltipLayout?: 'icon' | 'text';
38
+ breakpoints?: number[];
39
+ shallow?: boolean;
40
+ hideRequiredAsterisk?: boolean;
41
+ statusIcon?: boolean;
42
+ requireAsteriskPosition?: 'left' | 'right';
43
+ }
@@ -0,0 +1,2 @@
1
+
2
+ //# sourceMappingURL=types.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}