vft 0.0.46 → 0.0.48

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 (297) hide show
  1. package/dist/index.css +1 -1
  2. package/es/component.js +30 -27
  3. package/es/components/avatar/avatar.vue.d.ts +4 -4
  4. package/es/components/avatar/index.d.ts +4 -4
  5. package/es/components/avatar/index.js +4 -3
  6. package/es/components/back-top/back-top.vue.d.ts +21 -0
  7. package/es/components/back-top/back-top.vue2.js +23 -21
  8. package/es/components/back-top/index.d.ts +8 -1
  9. package/es/components/back-top/index.js +4 -3
  10. package/es/components/back-top/use-back-top.d.ts +1 -1
  11. package/es/components/back-top/use-back-top.js +23 -21
  12. package/es/components/clamp/index.js +4 -3
  13. package/es/components/clamp-toggle/clamp-toggle.vue2.js +15 -15
  14. package/es/components/clamp-toggle/index.js +4 -3
  15. package/es/components/config-provider/hooks/use-global-config.js +1 -1
  16. package/es/components/config-provider/index.js +11 -10
  17. package/es/components/context-menu/context-menu.vue2.js +3 -2
  18. package/es/components/descriptions/description.vue2.js +1 -1
  19. package/es/components/descriptions/index.js +6 -5
  20. package/es/components/divider/divider.vue.d.ts +2 -2
  21. package/es/components/divider/index.d.ts +2 -2
  22. package/es/components/divider/index.js +4 -3
  23. package/es/components/empty/index.js +6 -5
  24. package/es/components/exception/exception.vue2.js +13 -11
  25. package/es/components/exception/index.js +4 -3
  26. package/es/components/footer-layout/index.js +4 -3
  27. package/es/components/form/constants.d.ts +4 -0
  28. package/es/components/form/constants.js +5 -0
  29. package/es/components/form/form-item.vue.d.ts +133 -0
  30. package/es/components/form/form-item.vue.js +4 -0
  31. package/es/components/form/form-item.vue2.js +244 -0
  32. package/es/components/form/form-label-wrap.d.ts +11 -0
  33. package/es/components/form/form-label-wrap.js +70 -0
  34. package/es/components/form/form.vue.d.ts +168 -0
  35. package/es/components/form/form.vue.js +4 -0
  36. package/es/components/form/form.vue2.js +151 -0
  37. package/es/components/form/hooks/index.d.ts +2 -0
  38. package/es/components/form/hooks/index.js +10 -0
  39. package/es/components/form/hooks/use-form-common-props.d.ts +6 -0
  40. package/es/components/form/hooks/use-form-common-props.js +28 -0
  41. package/es/components/form/hooks/use-form-item.d.ts +18 -0
  42. package/es/components/form/hooks/use-form-item.js +48 -0
  43. package/es/components/form/index.d.ts +338 -0
  44. package/es/components/form/index.js +28 -0
  45. package/es/components/form/style/css.d.ts +0 -0
  46. package/es/components/form/style/css.js +2 -0
  47. package/es/components/form/style/index.d.ts +0 -0
  48. package/es/components/form/style/index.js +2 -0
  49. package/es/components/form/types.d.ts +43 -0
  50. package/es/components/form/types.js +9 -0
  51. package/es/components/form/utils.d.ts +9 -0
  52. package/es/components/form/utils.js +42 -0
  53. package/es/components/form-item/style/css.d.ts +0 -0
  54. package/es/components/form-item/style/css.js +2 -0
  55. package/es/components/form-item/style/index.d.ts +0 -0
  56. package/es/components/form-item/style/index.js +2 -0
  57. package/es/components/full-screen/index.js +4 -3
  58. package/es/components/header-layout/index.js +4 -3
  59. package/es/components/icon/icon.vue2.js +24 -24
  60. package/es/components/icon/index.js +5 -4
  61. package/es/components/icon-text/icon-text.vue2.js +20 -21
  62. package/es/components/icon-text/index.js +4 -3
  63. package/es/components/iframe-layout/index.js +4 -3
  64. package/es/components/image/index.js +4 -3
  65. package/es/components/index.d.ts +1 -0
  66. package/es/components/index.js +119 -103
  67. package/es/components/input/index.d.ts +4 -4
  68. package/es/components/input/index.js +4 -3
  69. package/es/components/input/input.vue.d.ts +4 -4
  70. package/es/components/input/input.vue2.js +28 -25
  71. package/es/components/link/index.js +4 -3
  72. package/es/components/logo/index.js +4 -3
  73. package/es/components/md-code-demo/index.js +4 -3
  74. package/es/components/md-code-tabs/index.js +4 -3
  75. package/es/components/md-comment/index.js +4 -3
  76. package/es/components/md-container/index.js +4 -3
  77. package/es/components/md-container/md-container.vue2.js +69 -66
  78. package/es/components/md-tabs/index.js +4 -3
  79. package/es/components/md-vue-playground/index.js +4 -3
  80. package/es/components/menu/index.js +9 -8
  81. package/es/components/menu/menu-item.vue2.js +4 -3
  82. package/es/components/menu/menu.vue2.js +1 -1
  83. package/es/components/menu/sub-menu.vue2.js +3 -2
  84. package/es/components/message/index.js +8 -7
  85. package/es/components/multiple-tabs/multiple-tabs.vue2.js +42 -40
  86. package/es/components/multiple-tabs/tab-content.vue2.js +3 -2
  87. package/es/components/multiple-tabs/use/use-tab-dropdown.js +20 -20
  88. package/es/components/overlay/index.js +4 -3
  89. package/es/components/page-wrapper/index.js +4 -3
  90. package/es/components/pagination/index.d.ts +2 -2
  91. package/es/components/pagination/index.js +9 -8
  92. package/es/components/pagination/pagination.d.ts +2 -2
  93. package/es/components/popover/index.d.ts +4 -4
  94. package/es/components/popover/index.js +4 -3
  95. package/es/components/popper/composables/use-content.d.ts +2 -2
  96. package/es/components/popper/index.d.ts +2 -2
  97. package/es/components/popper/index.js +10 -9
  98. package/es/components/popper/popper.vue.d.ts +2 -2
  99. package/es/components/qrcode/index.js +4 -3
  100. package/es/components/result/index.js +4 -3
  101. package/es/components/result/result.vue2.js +3 -2
  102. package/es/components/router-view-content/index.js +4 -3
  103. package/es/components/search/index.d.ts +3 -3
  104. package/es/components/search/index.js +4 -3
  105. package/es/components/search/search.vue.d.ts +3 -3
  106. package/es/components/search/search.vue2.js +3 -2
  107. package/es/components/side-menu/index.js +4 -3
  108. package/es/components/side-menu/side-menu.vue2.js +52 -54
  109. package/es/components/tabs/index.d.ts +2 -2
  110. package/es/components/tabs/index.js +9 -8
  111. package/es/components/tabs/tab-nav.vue2.js +4 -3
  112. package/es/components/tabs/tab-pane.vue2.js +1 -1
  113. package/es/components/tabs/tabs.vue.d.ts +2 -2
  114. package/es/components/tag/index.js +4 -3
  115. package/es/components/tag/tag.vue2.js +8 -7
  116. package/es/components/tooltip/index.d.ts +8 -8
  117. package/es/components/tooltip/index.js +4 -3
  118. package/es/components/tooltip/tooltip.vue.d.ts +2 -2
  119. package/es/components/tooltip/trigger.vue2.js +1 -1
  120. package/es/hooks/index.d.ts +2 -0
  121. package/es/hooks/index.js +30 -25
  122. package/es/hooks/use-id/index.js +3 -2
  123. package/es/hooks/use-ordered-children/index.js +5 -4
  124. package/es/hooks/use-popper/index.d.ts +2 -2
  125. package/es/hooks/use-prop/index.d.ts +2 -0
  126. package/es/hooks/use-prop/index.js +11 -0
  127. package/es/hooks/use-size/index.d.ts +7 -0
  128. package/es/hooks/use-size/index.js +9 -0
  129. package/es/index.js +203 -177
  130. package/es/package.json.js +1 -1
  131. package/es/utils/index.d.ts +1 -0
  132. package/es/utils/index.js +27 -22
  133. package/es/utils/ns-cover.d.ts +12 -0
  134. package/es/utils/ns-cover.js +17 -5
  135. package/es/utils/objects.d.ts +4 -0
  136. package/es/utils/objects.js +12 -0
  137. package/lib/component.cjs +1 -1
  138. package/lib/components/avatar/avatar.vue.d.ts +4 -4
  139. package/lib/components/avatar/index.cjs +1 -1
  140. package/lib/components/avatar/index.d.ts +4 -4
  141. package/lib/components/back-top/back-top.vue.d.ts +21 -0
  142. package/lib/components/back-top/back-top.vue2.cjs +1 -1
  143. package/lib/components/back-top/index.cjs +1 -1
  144. package/lib/components/back-top/index.d.ts +8 -1
  145. package/lib/components/back-top/use-back-top.cjs +1 -1
  146. package/lib/components/back-top/use-back-top.d.ts +1 -1
  147. package/lib/components/clamp/index.cjs +1 -1
  148. package/lib/components/clamp-toggle/clamp-toggle.vue2.cjs +1 -1
  149. package/lib/components/clamp-toggle/index.cjs +1 -1
  150. package/lib/components/config-provider/hooks/use-global-config.cjs +1 -1
  151. package/lib/components/config-provider/index.cjs +1 -1
  152. package/lib/components/context-menu/context-menu.vue2.cjs +1 -1
  153. package/lib/components/descriptions/description.vue2.cjs +1 -1
  154. package/lib/components/descriptions/index.cjs +1 -1
  155. package/lib/components/divider/divider.vue.d.ts +2 -2
  156. package/lib/components/divider/index.cjs +1 -1
  157. package/lib/components/divider/index.d.ts +2 -2
  158. package/lib/components/empty/index.cjs +1 -1
  159. package/lib/components/exception/exception.vue2.cjs +1 -1
  160. package/lib/components/exception/index.cjs +1 -1
  161. package/lib/components/footer-layout/index.cjs +1 -1
  162. package/lib/components/form/constants.cjs +1 -0
  163. package/lib/components/form/constants.d.ts +4 -0
  164. package/lib/components/form/form-item.vue.cjs +1 -0
  165. package/lib/components/form/form-item.vue.d.ts +133 -0
  166. package/lib/components/form/form-item.vue2.cjs +1 -0
  167. package/lib/components/form/form-label-wrap.cjs +1 -0
  168. package/lib/components/form/form-label-wrap.d.ts +11 -0
  169. package/lib/components/form/form.vue.cjs +1 -0
  170. package/lib/components/form/form.vue.d.ts +168 -0
  171. package/lib/components/form/form.vue2.cjs +1 -0
  172. package/lib/components/form/hooks/index.cjs +1 -0
  173. package/lib/components/form/hooks/index.d.ts +2 -0
  174. package/lib/components/form/hooks/use-form-common-props.cjs +1 -0
  175. package/lib/components/form/hooks/use-form-common-props.d.ts +6 -0
  176. package/lib/components/form/hooks/use-form-item.cjs +1 -0
  177. package/lib/components/form/hooks/use-form-item.d.ts +18 -0
  178. package/lib/components/form/index.cjs +1 -0
  179. package/lib/components/form/index.d.ts +338 -0
  180. package/lib/components/form/style/css.cjs +1 -0
  181. package/lib/components/form/style/css.d.ts +0 -0
  182. package/lib/components/form/style/index.cjs +1 -0
  183. package/lib/components/form/style/index.d.ts +0 -0
  184. package/lib/components/form/types.cjs +1 -0
  185. package/lib/components/form/types.d.ts +43 -0
  186. package/lib/components/form/utils.cjs +1 -0
  187. package/lib/components/form/utils.d.ts +9 -0
  188. package/lib/components/form-item/style/css.cjs +1 -0
  189. package/lib/components/form-item/style/css.d.ts +0 -0
  190. package/lib/components/form-item/style/index.cjs +1 -0
  191. package/lib/components/form-item/style/index.d.ts +0 -0
  192. package/lib/components/full-screen/index.cjs +1 -1
  193. package/lib/components/header-layout/index.cjs +1 -1
  194. package/lib/components/icon/icon.vue2.cjs +1 -1
  195. package/lib/components/icon/index.cjs +1 -1
  196. package/lib/components/icon-text/icon-text.vue2.cjs +1 -1
  197. package/lib/components/icon-text/index.cjs +1 -1
  198. package/lib/components/iframe-layout/index.cjs +1 -1
  199. package/lib/components/image/index.cjs +1 -1
  200. package/lib/components/index.cjs +1 -1
  201. package/lib/components/index.d.ts +1 -0
  202. package/lib/components/input/index.cjs +1 -1
  203. package/lib/components/input/index.d.ts +4 -4
  204. package/lib/components/input/input.vue.d.ts +4 -4
  205. package/lib/components/input/input.vue2.cjs +1 -1
  206. package/lib/components/link/index.cjs +1 -1
  207. package/lib/components/logo/index.cjs +1 -1
  208. package/lib/components/md-code-demo/index.cjs +1 -1
  209. package/lib/components/md-code-tabs/index.cjs +1 -1
  210. package/lib/components/md-comment/index.cjs +1 -1
  211. package/lib/components/md-container/index.cjs +1 -1
  212. package/lib/components/md-container/md-container.vue2.cjs +1 -1
  213. package/lib/components/md-tabs/index.cjs +1 -1
  214. package/lib/components/md-vue-playground/index.cjs +1 -1
  215. package/lib/components/menu/index.cjs +1 -1
  216. package/lib/components/menu/menu-item.vue2.cjs +1 -1
  217. package/lib/components/menu/menu.vue2.cjs +1 -1
  218. package/lib/components/menu/sub-menu.vue2.cjs +1 -1
  219. package/lib/components/message/index.cjs +1 -1
  220. package/lib/components/multiple-tabs/multiple-tabs.vue2.cjs +1 -1
  221. package/lib/components/multiple-tabs/tab-content.vue2.cjs +1 -1
  222. package/lib/components/multiple-tabs/use/use-tab-dropdown.cjs +1 -1
  223. package/lib/components/overlay/index.cjs +1 -1
  224. package/lib/components/page-wrapper/index.cjs +1 -1
  225. package/lib/components/pagination/index.cjs +1 -1
  226. package/lib/components/pagination/index.d.ts +2 -2
  227. package/lib/components/pagination/pagination.d.ts +2 -2
  228. package/lib/components/popover/index.cjs +1 -1
  229. package/lib/components/popover/index.d.ts +4 -4
  230. package/lib/components/popper/composables/use-content.d.ts +2 -2
  231. package/lib/components/popper/index.cjs +1 -1
  232. package/lib/components/popper/index.d.ts +2 -2
  233. package/lib/components/popper/popper.vue.d.ts +2 -2
  234. package/lib/components/qrcode/index.cjs +1 -1
  235. package/lib/components/result/index.cjs +1 -1
  236. package/lib/components/result/result.vue2.cjs +1 -1
  237. package/lib/components/router-view-content/index.cjs +1 -1
  238. package/lib/components/search/index.cjs +1 -1
  239. package/lib/components/search/index.d.ts +3 -3
  240. package/lib/components/search/search.vue.d.ts +3 -3
  241. package/lib/components/search/search.vue2.cjs +1 -1
  242. package/lib/components/side-menu/index.cjs +1 -1
  243. package/lib/components/side-menu/side-menu.vue2.cjs +1 -1
  244. package/lib/components/tabs/index.cjs +1 -1
  245. package/lib/components/tabs/index.d.ts +2 -2
  246. package/lib/components/tabs/tab-nav.vue2.cjs +1 -1
  247. package/lib/components/tabs/tab-pane.vue2.cjs +1 -1
  248. package/lib/components/tabs/tabs.vue.d.ts +2 -2
  249. package/lib/components/tag/index.cjs +1 -1
  250. package/lib/components/tag/tag.vue2.cjs +1 -1
  251. package/lib/components/tooltip/index.cjs +1 -1
  252. package/lib/components/tooltip/index.d.ts +8 -8
  253. package/lib/components/tooltip/tooltip.vue.d.ts +2 -2
  254. package/lib/components/tooltip/trigger.vue2.cjs +1 -1
  255. package/lib/hooks/index.cjs +1 -1
  256. package/lib/hooks/index.d.ts +2 -0
  257. package/lib/hooks/use-id/index.cjs +1 -1
  258. package/lib/hooks/use-ordered-children/index.cjs +1 -1
  259. package/lib/hooks/use-popper/index.d.ts +2 -2
  260. package/lib/hooks/use-prop/index.cjs +1 -0
  261. package/lib/hooks/use-prop/index.d.ts +2 -0
  262. package/lib/hooks/use-size/index.cjs +1 -0
  263. package/lib/hooks/use-size/index.d.ts +7 -0
  264. package/lib/index.cjs +1 -1
  265. package/lib/package.json.cjs +1 -1
  266. package/lib/utils/index.cjs +1 -1
  267. package/lib/utils/index.d.ts +1 -0
  268. package/lib/utils/ns-cover.cjs +1 -1
  269. package/lib/utils/ns-cover.d.ts +12 -0
  270. package/lib/utils/objects.cjs +1 -0
  271. package/lib/utils/objects.d.ts +4 -0
  272. package/package.json +4 -5
  273. package/theme-style/dark/css-vars.css +1 -1
  274. package/theme-style/index.css +1 -1
  275. package/theme-style/src/common/var.scss +16 -9
  276. package/theme-style/src/dark/css-vars.scss +1 -1
  277. package/theme-style/src/dark/var.scss +13 -12
  278. package/theme-style/src/form-item.scss +0 -0
  279. package/theme-style/src/form.scss +241 -0
  280. package/theme-style/src/header-layout.scss +0 -4
  281. package/theme-style/src/index.scss +2 -0
  282. package/theme-style/src/md-container.scss +1 -3
  283. package/theme-style/src/menu.scss +3 -1
  284. package/theme-style/src/side-menu.scss +1 -3
  285. package/theme-style/vft-form-item.css +0 -0
  286. package/theme-style/vft-form.css +1 -0
  287. package/theme-style/vft-full-screen.css +1 -1
  288. package/theme-style/vft-header-layout.css +1 -1
  289. package/theme-style/vft-loading.css +1 -1
  290. package/theme-style/vft-md-container.css +1 -1
  291. package/theme-style/vft-menu.css +1 -1
  292. package/theme-style/vft-side-menu.css +1 -1
  293. package/theme-style/vft-tabs.css +1 -1
  294. package/es/components/back-top/types.d.ts +0 -13
  295. package/es/components/back-top/types.js +0 -1
  296. package/lib/components/back-top/types.cjs +0 -1
  297. package/lib/components/back-top/types.d.ts +0 -13
@@ -0,0 +1,338 @@
1
+ import Form from './form.vue';
2
+ import FormItem from './form-item.vue';
3
+ export declare const VftForm: import("vft/es/utils").SFCWithInstall<import("vue").DefineComponent<{
4
+ size: {
5
+ type: import("vue").PropType<import("../types").ComponentSize | undefined>;
6
+ required: false;
7
+ };
8
+ disabled: {
9
+ type: import("vue").PropType<boolean | undefined>;
10
+ required: false;
11
+ };
12
+ model: {
13
+ type: import("vue").PropType<object | undefined>;
14
+ required: false;
15
+ };
16
+ rules: {
17
+ type: import("vue").PropType<Partial<Record<string, import("vft/es/utils").Arrayable<import("./types").FormItemRule>>> | undefined>;
18
+ required: false;
19
+ };
20
+ labelPosition: {
21
+ type: import("vue").PropType<"left" | "right" | "top" | undefined>;
22
+ required: false;
23
+ };
24
+ requireAsteriskPosition: {
25
+ type: import("vue").PropType<"left" | "right" | undefined>;
26
+ required: false;
27
+ };
28
+ labelWidth: {
29
+ type: import("vue").PropType<Numberish | undefined>;
30
+ required: false;
31
+ };
32
+ labelSuffix: {
33
+ type: import("vue").PropType<string | undefined>;
34
+ required: false;
35
+ };
36
+ inline: {
37
+ type: import("vue").PropType<boolean | undefined>;
38
+ required: false;
39
+ };
40
+ inlineMessage: {
41
+ type: import("vue").PropType<boolean | undefined>;
42
+ required: false;
43
+ };
44
+ statusIcon: {
45
+ type: import("vue").PropType<boolean | undefined>;
46
+ required: false;
47
+ };
48
+ showMessage: {
49
+ type: import("vue").PropType<boolean | undefined>;
50
+ required: false;
51
+ };
52
+ validateOnRuleChange: {
53
+ type: import("vue").PropType<boolean | undefined>;
54
+ required: false;
55
+ };
56
+ hideRequiredAsterisk: {
57
+ type: import("vue").PropType<boolean | undefined>;
58
+ required: false;
59
+ };
60
+ scrollToError: {
61
+ type: import("vue").PropType<boolean | undefined>;
62
+ required: false;
63
+ };
64
+ }, {
65
+ validate: (callback?: import("./types").FormValidateCallback | undefined) => import("./types").FormValidationResult;
66
+ validateField: (props?: import("vft/es/utils").Arrayable<import("./types").FormItemProp> | undefined, callback?: import("./types").FormValidateCallback | undefined) => import("./types").FormValidationResult;
67
+ resetFields: (props?: import("vft/es/utils").Arrayable<import("./types").FormItemProp> | undefined) => void;
68
+ clearValidate: (props?: import("vft/es/utils").Arrayable<import("./types").FormItemProp> | undefined) => void;
69
+ scrollToField: (prop: import("./types").FormItemProp) => void;
70
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "validate"[], "validate", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
71
+ size: {
72
+ type: import("vue").PropType<import("../types").ComponentSize | undefined>;
73
+ required: false;
74
+ };
75
+ disabled: {
76
+ type: import("vue").PropType<boolean | undefined>;
77
+ required: false;
78
+ };
79
+ model: {
80
+ type: import("vue").PropType<object | undefined>;
81
+ required: false;
82
+ };
83
+ rules: {
84
+ type: import("vue").PropType<Partial<Record<string, import("vft/es/utils").Arrayable<import("./types").FormItemRule>>> | undefined>;
85
+ required: false;
86
+ };
87
+ labelPosition: {
88
+ type: import("vue").PropType<"left" | "right" | "top" | undefined>;
89
+ required: false;
90
+ };
91
+ requireAsteriskPosition: {
92
+ type: import("vue").PropType<"left" | "right" | undefined>;
93
+ required: false;
94
+ };
95
+ labelWidth: {
96
+ type: import("vue").PropType<Numberish | undefined>;
97
+ required: false;
98
+ };
99
+ labelSuffix: {
100
+ type: import("vue").PropType<string | undefined>;
101
+ required: false;
102
+ };
103
+ inline: {
104
+ type: import("vue").PropType<boolean | undefined>;
105
+ required: false;
106
+ };
107
+ inlineMessage: {
108
+ type: import("vue").PropType<boolean | undefined>;
109
+ required: false;
110
+ };
111
+ statusIcon: {
112
+ type: import("vue").PropType<boolean | undefined>;
113
+ required: false;
114
+ };
115
+ showMessage: {
116
+ type: import("vue").PropType<boolean | undefined>;
117
+ required: false;
118
+ };
119
+ validateOnRuleChange: {
120
+ type: import("vue").PropType<boolean | undefined>;
121
+ required: false;
122
+ };
123
+ hideRequiredAsterisk: {
124
+ type: import("vue").PropType<boolean | undefined>;
125
+ required: false;
126
+ };
127
+ scrollToError: {
128
+ type: import("vue").PropType<boolean | undefined>;
129
+ required: false;
130
+ };
131
+ }>> & {
132
+ onValidate?: ((...args: any[]) => any) | undefined;
133
+ }, {}>> & {
134
+ FormItem: import("vue").DefineComponent<{
135
+ label: {
136
+ type: import("vue").PropType<string | undefined>;
137
+ required: false;
138
+ };
139
+ labelWidth: {
140
+ type: import("vue").PropType<Numberish | undefined>;
141
+ required: false;
142
+ };
143
+ prop: {
144
+ type: import("vue").PropType<import("./types").FormItemProp | undefined>;
145
+ required: false;
146
+ };
147
+ required: {
148
+ type: import("vue").PropType<boolean | undefined>;
149
+ required: false;
150
+ };
151
+ rules: {
152
+ type: import("vue").PropType<import("./types").FormItemRule | undefined>;
153
+ required: false;
154
+ };
155
+ error: {
156
+ type: import("vue").PropType<string | undefined>;
157
+ required: false;
158
+ };
159
+ for: {
160
+ type: import("vue").PropType<string | undefined>;
161
+ required: false;
162
+ };
163
+ validateStatus: {
164
+ type: import("vue").PropType<string | undefined>;
165
+ required: false;
166
+ };
167
+ inlineMessage: {
168
+ type: import("vue").PropType<string | boolean | undefined>;
169
+ required: false;
170
+ };
171
+ showMessage: {
172
+ type: import("vue").PropType<boolean | undefined>;
173
+ required: false;
174
+ };
175
+ size: {
176
+ type: import("vue").PropType<import("../types").ComponentSize | undefined>;
177
+ required: false;
178
+ };
179
+ }, {
180
+ size: import("vue").ComputedRef<"" | "large" | "small" | "default">;
181
+ validateMessage: import("vue").Ref<string>;
182
+ validateState: import("vue").Ref<"" | "error" | "validating" | "success">;
183
+ validate: (trigger: string, callback?: import("./types").FormValidateCallback | undefined) => import("./types").FormValidationResult;
184
+ clearValidate: () => void;
185
+ resetField: () => void;
186
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
187
+ label: {
188
+ type: import("vue").PropType<string | undefined>;
189
+ required: false;
190
+ };
191
+ labelWidth: {
192
+ type: import("vue").PropType<Numberish | undefined>;
193
+ required: false;
194
+ };
195
+ prop: {
196
+ type: import("vue").PropType<import("./types").FormItemProp | undefined>;
197
+ required: false;
198
+ };
199
+ required: {
200
+ type: import("vue").PropType<boolean | undefined>;
201
+ required: false;
202
+ };
203
+ rules: {
204
+ type: import("vue").PropType<import("./types").FormItemRule | undefined>;
205
+ required: false;
206
+ };
207
+ error: {
208
+ type: import("vue").PropType<string | undefined>;
209
+ required: false;
210
+ };
211
+ for: {
212
+ type: import("vue").PropType<string | undefined>;
213
+ required: false;
214
+ };
215
+ validateStatus: {
216
+ type: import("vue").PropType<string | undefined>;
217
+ required: false;
218
+ };
219
+ inlineMessage: {
220
+ type: import("vue").PropType<string | boolean | undefined>;
221
+ required: false;
222
+ };
223
+ showMessage: {
224
+ type: import("vue").PropType<boolean | undefined>;
225
+ required: false;
226
+ };
227
+ size: {
228
+ type: import("vue").PropType<import("../types").ComponentSize | undefined>;
229
+ required: false;
230
+ };
231
+ }>>, {}>;
232
+ };
233
+ export default VftForm;
234
+ export declare const VftFormItem: import("vft/es/utils").SFCWithInstall<import("vue").DefineComponent<{
235
+ label: {
236
+ type: import("vue").PropType<string | undefined>;
237
+ required: false;
238
+ };
239
+ labelWidth: {
240
+ type: import("vue").PropType<Numberish | undefined>;
241
+ required: false;
242
+ };
243
+ prop: {
244
+ type: import("vue").PropType<import("./types").FormItemProp | undefined>;
245
+ required: false;
246
+ };
247
+ required: {
248
+ type: import("vue").PropType<boolean | undefined>;
249
+ required: false;
250
+ };
251
+ rules: {
252
+ type: import("vue").PropType<import("./types").FormItemRule | undefined>;
253
+ required: false;
254
+ };
255
+ error: {
256
+ type: import("vue").PropType<string | undefined>;
257
+ required: false;
258
+ };
259
+ for: {
260
+ type: import("vue").PropType<string | undefined>;
261
+ required: false;
262
+ };
263
+ validateStatus: {
264
+ type: import("vue").PropType<string | undefined>;
265
+ required: false;
266
+ };
267
+ inlineMessage: {
268
+ type: import("vue").PropType<string | boolean | undefined>;
269
+ required: false;
270
+ };
271
+ showMessage: {
272
+ type: import("vue").PropType<boolean | undefined>;
273
+ required: false;
274
+ };
275
+ size: {
276
+ type: import("vue").PropType<import("../types").ComponentSize | undefined>;
277
+ required: false;
278
+ };
279
+ }, {
280
+ size: import("vue").ComputedRef<"" | "large" | "small" | "default">;
281
+ validateMessage: import("vue").Ref<string>;
282
+ validateState: import("vue").Ref<"" | "error" | "validating" | "success">;
283
+ validate: (trigger: string, callback?: import("./types").FormValidateCallback | undefined) => import("./types").FormValidationResult;
284
+ clearValidate: () => void;
285
+ resetField: () => void;
286
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
287
+ label: {
288
+ type: import("vue").PropType<string | undefined>;
289
+ required: false;
290
+ };
291
+ labelWidth: {
292
+ type: import("vue").PropType<Numberish | undefined>;
293
+ required: false;
294
+ };
295
+ prop: {
296
+ type: import("vue").PropType<import("./types").FormItemProp | undefined>;
297
+ required: false;
298
+ };
299
+ required: {
300
+ type: import("vue").PropType<boolean | undefined>;
301
+ required: false;
302
+ };
303
+ rules: {
304
+ type: import("vue").PropType<import("./types").FormItemRule | undefined>;
305
+ required: false;
306
+ };
307
+ error: {
308
+ type: import("vue").PropType<string | undefined>;
309
+ required: false;
310
+ };
311
+ for: {
312
+ type: import("vue").PropType<string | undefined>;
313
+ required: false;
314
+ };
315
+ validateStatus: {
316
+ type: import("vue").PropType<string | undefined>;
317
+ required: false;
318
+ };
319
+ inlineMessage: {
320
+ type: import("vue").PropType<string | boolean | undefined>;
321
+ required: false;
322
+ };
323
+ showMessage: {
324
+ type: import("vue").PropType<boolean | undefined>;
325
+ required: false;
326
+ };
327
+ size: {
328
+ type: import("vue").PropType<import("../types").ComponentSize | undefined>;
329
+ required: false;
330
+ };
331
+ }>>, {}>>;
332
+ export * from './form.vue';
333
+ export * from './form-item.vue';
334
+ export * from './types';
335
+ export * from './constants';
336
+ export * from './hooks';
337
+ export type FormInstance = InstanceType<typeof Form>;
338
+ export type FormItemInstance = InstanceType<typeof FormItem>;
@@ -0,0 +1,28 @@
1
+ import { withInstall as t, withNoopInstall as m } from "../../utils/vue/install.js";
2
+ import "vue";
3
+ import "@vft/utils";
4
+ import "../../utils/ns-cover.js";
5
+ import "lodash";
6
+ import r from "./form.vue2.js";
7
+ import o from "./form-item.vue2.js";
8
+ import { formItemValidateStates as F } from "./types.js";
9
+ import { formContextKey as c, formItemContextKey as _ } from "./constants.js";
10
+ import { useDisabled as V, useFormDisabled as b, useFormSize as h, useSize as w } from "./hooks/use-form-common-props.js";
11
+ import { useFormItem as z, useFormItemInputId as C } from "./hooks/use-form-item.js";
12
+ const n = t(r, {
13
+ FormItem: o
14
+ }), l = m(o);
15
+ export {
16
+ n as VftForm,
17
+ l as VftFormItem,
18
+ n as default,
19
+ c as formContextKey,
20
+ _ as formItemContextKey,
21
+ F as formItemValidateStates,
22
+ V as useDisabled,
23
+ b as useFormDisabled,
24
+ z as useFormItem,
25
+ C as useFormItemInputId,
26
+ h as useFormSize,
27
+ w as useSize
28
+ };
File without changes
@@ -0,0 +1,2 @@
1
+ import "vft/theme-style/base.css";
2
+ import "vft/theme-style/vft-form.css";
File without changes
@@ -0,0 +1,2 @@
1
+ import "vft/theme-style/src/base.scss";
2
+ import "vft/theme-style/src/form.scss";
@@ -0,0 +1,43 @@
1
+ import type { SetupContext, UnwrapRef } from 'vue';
2
+ import type { RuleItem, ValidateError, ValidateFieldsError } from 'async-validator';
3
+ import type { ComponentSize } from 'vft/es/constants';
4
+ import type { Arrayable } from 'vft/es/utils';
5
+ import { type FormItemProps } from './form-item.vue';
6
+ import { type FormProps } from './form.vue';
7
+ import type { useFormLabelWidth } from './utils';
8
+ export type FormItemProp = Arrayable<string>;
9
+ export declare const formItemValidateStates: readonly ["", "error", "validating", "success"];
10
+ export type FormItemValidateState = typeof formItemValidateStates[number];
11
+ export type FormLabelWidthContext = ReturnType<typeof useFormLabelWidth>;
12
+ export interface FormItemRule extends RuleItem {
13
+ trigger?: Arrayable<string>;
14
+ }
15
+ export type FormRules = Partial<Record<string, Arrayable<FormItemRule>>>;
16
+ export type FormValidationResult = Promise<boolean>;
17
+ export type FormValidateCallback = (isValid: boolean, invalidFields?: ValidateFieldsError) => void;
18
+ export interface FormValidateFailure {
19
+ errors: ValidateError[] | null;
20
+ fields: ValidateFieldsError;
21
+ }
22
+ export type FormContext = FormProps & UnwrapRef<FormLabelWidthContext> & {
23
+ emit: SetupContext['emit'];
24
+ addField: (field: FormItemContext) => void;
25
+ removeField: (field: FormItemContext) => void;
26
+ resetFields: (props?: Arrayable<FormItemProp>) => void;
27
+ clearValidate: (props?: Arrayable<FormItemProp>) => void;
28
+ validateField: (props?: Arrayable<FormItemProp>, callback?: FormValidateCallback) => FormValidationResult;
29
+ };
30
+ export interface FormItemContext extends FormItemProps {
31
+ $el: HTMLDivElement | undefined;
32
+ size: ComponentSize;
33
+ validateState: FormItemValidateState;
34
+ isGroup: boolean;
35
+ labelId: string;
36
+ inputIds: string[];
37
+ hasLabel: boolean;
38
+ addInputId: (id: string) => void;
39
+ removeInputId: (id: string) => void;
40
+ validate: (trigger: string, callback?: FormValidateCallback) => FormValidationResult;
41
+ resetField(): void;
42
+ clearValidate(): void;
43
+ }
@@ -0,0 +1,9 @@
1
+ const t = [
2
+ "",
3
+ "error",
4
+ "validating",
5
+ "success"
6
+ ];
7
+ export {
8
+ t as formItemValidateStates
9
+ };
@@ -0,0 +1,9 @@
1
+ import type { Arrayable } from 'vft/es/utils';
2
+ import type { FormItemContext } from './types';
3
+ import type { FormItemProp } from './form-item.vue';
4
+ export declare function useFormLabelWidth(): {
5
+ autoLabelWidth: import("vue").ComputedRef<string>;
6
+ registerLabelWidth: (val: number, oldVal: number) => void;
7
+ deregisterLabelWidth: (val: number) => void;
8
+ };
9
+ export declare const filterFields: (fields: FormItemContext[], props: Arrayable<FormItemProp>) => FormItemContext[];
@@ -0,0 +1,42 @@
1
+ import { ref as a, computed as s } from "vue";
2
+ import "@vft/utils";
3
+ import { debugWarn as l } from "../../utils/error.js";
4
+ import "../../utils/ns-cover.js";
5
+ import { castArray as p } from "lodash";
6
+ const f = "vft-form";
7
+ function W() {
8
+ const t = a([]), i = s(() => {
9
+ if (!t.value.length)
10
+ return "0";
11
+ const e = Math.max(...t.value);
12
+ return e ? `${e}px` : "";
13
+ });
14
+ function n(e) {
15
+ const r = t.value.indexOf(e);
16
+ return r === -1 && i.value === "0" && l(f, `unexpected width ${e}`), r;
17
+ }
18
+ function o(e, r) {
19
+ if (e && r) {
20
+ const c = n(r);
21
+ t.value.splice(c, 1, e);
22
+ } else
23
+ e && t.value.push(e);
24
+ }
25
+ function u(e) {
26
+ const r = n(e);
27
+ r > -1 && t.value.splice(r, 1);
28
+ }
29
+ return {
30
+ autoLabelWidth: i,
31
+ registerLabelWidth: o,
32
+ deregisterLabelWidth: u
33
+ };
34
+ }
35
+ const g = (t, i) => {
36
+ const n = p(i);
37
+ return n.length > 0 ? t.filter((o) => o.prop && n.includes(o.prop)) : t;
38
+ };
39
+ export {
40
+ g as filterFields,
41
+ W as useFormLabelWidth
42
+ };
File without changes
@@ -0,0 +1,2 @@
1
+ import "vft/theme-style/base.css";
2
+ import "vft/theme-style/vft-form-item.css";
File without changes
@@ -0,0 +1,2 @@
1
+ import "vft/theme-style/src/base.scss";
2
+ import "vft/theme-style/src/form-item.scss";
@@ -2,9 +2,10 @@ import { withInstall as t } from "../../utils/vue/install.js";
2
2
  import "vue";
3
3
  import "@vft/utils";
4
4
  import "../../utils/ns-cover.js";
5
+ import "lodash";
5
6
  import o from "./full-screen.vue2.js";
6
- const l = t(o);
7
+ const a = t(o);
7
8
  export {
8
- l as VftFullScreen,
9
- l as default
9
+ a as VftFullScreen,
10
+ a as default
10
11
  };
@@ -2,9 +2,10 @@ import { withInstall as t } from "../../utils/vue/install.js";
2
2
  import "vue";
3
3
  import "@vft/utils";
4
4
  import "../../utils/ns-cover.js";
5
+ import "lodash";
5
6
  import o from "./header-layout.vue2.js";
6
- const f = t(o);
7
+ const e = t(o);
7
8
  export {
8
- f as VftHeaderLayout,
9
- f as default
9
+ e as VftHeaderLayout,
10
+ e as default
10
11
  };
@@ -1,45 +1,45 @@
1
- import { defineComponent as l, computed as u, unref as t, openBlock as i, createElementBlock as n, normalizeClass as c, normalizeStyle as f } from "vue";
2
- import { addUnit as d } from "@vft/utils";
3
- import { useNamespace as y } from "../../hooks/use-namespace/index.js";
1
+ import { defineComponent as s, computed as n, unref as t, openBlock as i, createElementBlock as c, normalizeClass as l, normalizeStyle as d } from "vue";
2
+ import { addUnit as y } from "@vft/utils";
3
+ import { useNamespace as g } from "../../hooks/use-namespace/index.js";
4
4
  import "@popperjs/core";
5
5
  import "lodash";
6
6
  import "../../hooks/use-z-index/index.js";
7
7
  import "@vueuse/core";
8
8
  import "../../utils/ns-cover.js";
9
9
  import "../config-provider/index.js";
10
- import { useGlobalConfig as g } from "../config-provider/hooks/use-global-config.js";
11
- const z = ["src"], s = (
10
+ import { useGlobalConfig as z } from "../config-provider/hooks/use-global-config.js";
11
+ const p = ["src"], r = (
12
12
  /* hoist-static*/
13
- y("icon")
14
- ), k = l({
15
- name: s.b()
16
- }), N = /* @__PURE__ */ l({
13
+ g("icon")
14
+ ), k = s({
15
+ name: r.b()
16
+ }), N = /* @__PURE__ */ s({
17
17
  ...k,
18
18
  props: {
19
19
  icon: null,
20
20
  size: { default: 14 },
21
- color: { default: "black" },
21
+ color: null,
22
22
  rotate: { type: Boolean },
23
23
  cursor: { type: Boolean },
24
24
  scale: null
25
25
  },
26
- setup(e) {
27
- const a = g(), r = u(() => ({
28
- color: e.color,
29
- fontSize: e.size ? d(e.size) : "14px",
30
- animation: e.rotate ? `${a.value.namespace}-rotate 1s linear 0s infinite` : void 0,
31
- cursor: e.cursor ? "pointer" : void 0,
32
- transform: e.scale ? `scale(${e.scale})` : void 0
33
- })), m = ((o) => o == null ? void 0 : o.includes("/"))(e.icon);
34
- return (o, v) => t(m) ? (i(), n("img", {
26
+ setup(o) {
27
+ const a = z(), m = n(() => ({
28
+ color: o.color,
29
+ fontSize: o.size ? y(o.size) : "14px",
30
+ animation: o.rotate ? `${a.value.namespace}-rotate 1s linear 0s infinite` : void 0,
31
+ cursor: o.cursor ? "pointer" : void 0,
32
+ transform: o.scale ? `scale(${o.scale})` : void 0
33
+ })), u = (e) => e == null ? void 0 : e.includes("/"), f = n(() => u(o.icon));
34
+ return (e, v) => t(f) ? (i(), c("img", {
35
35
  key: 0,
36
- class: c(t(s).e("image")),
37
- src: e.icon,
36
+ class: l(t(r).e("image")),
37
+ src: o.icon,
38
38
  alt: ""
39
- }, null, 10, z)) : (i(), n("i", {
39
+ }, null, 10, p)) : (i(), c("i", {
40
40
  key: 1,
41
- class: c([e.icon]),
42
- style: f(t(r))
41
+ class: l([o.icon]),
42
+ style: d(t(m))
43
43
  }, null, 6));
44
44
  }
45
45
  });
@@ -2,10 +2,11 @@ import { withInstall as o } from "../../utils/vue/install.js";
2
2
  import "vue";
3
3
  import "@vft/utils";
4
4
  import "../../utils/ns-cover.js";
5
+ import "lodash";
5
6
  import t from "./icon.vue2.js";
6
- const f = o(t);
7
+ const n = o(t);
7
8
  export {
8
- f as Icon,
9
- f as VftIcon,
10
- f as default
9
+ n as Icon,
10
+ n as VftIcon,
11
+ n as default
11
12
  };