@1money/react-ui 1.16.0 → 1.17.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (268) hide show
  1. package/AGENTS.md +393 -0
  2. package/es/components/CheckboxGroup/CheckboxGroup.d.ts +3 -3
  3. package/es/components/CheckboxGroup/CheckboxGroup.js +94 -91
  4. package/es/components/CheckboxGroup/interface.d.ts +21 -15
  5. package/es/components/CheckboxGroup/style/CheckboxGroup.scss +0 -7
  6. package/es/components/Form/Form.d.ts +29 -0
  7. package/es/components/Form/Form.js +188 -0
  8. package/es/components/Form/FormItem.d.ts +4 -0
  9. package/es/components/Form/FormItem.js +165 -0
  10. package/es/components/Form/FormItemContent.d.ts +18 -0
  11. package/es/components/Form/FormItemContent.js +146 -0
  12. package/es/components/Form/constants.d.ts +46 -0
  13. package/es/components/Form/constants.js +65 -0
  14. package/es/components/Form/helper.d.ts +120 -0
  15. package/es/components/Form/helper.js +284 -0
  16. package/es/components/Form/index.d.ts +20 -0
  17. package/es/components/Form/index.js +21 -0
  18. package/es/components/Form/interface.d.ts +238 -0
  19. package/es/components/Form/interface.js +2 -0
  20. package/es/components/Form/style/Form.css +1 -0
  21. package/es/components/Form/style/Form.scss +167 -0
  22. package/es/components/Form/style/css.js +2 -0
  23. package/es/components/Form/style/index.d.ts +1 -0
  24. package/es/components/Form/style/index.js +2 -0
  25. package/es/components/Form/useFormItemContext.d.ts +32 -0
  26. package/es/components/Form/useFormItemContext.js +55 -0
  27. package/es/components/Form/useFormItemWatch.d.ts +51 -0
  28. package/es/components/Form/useFormItemWatch.js +69 -0
  29. package/es/components/Form/useValidationTrigger.d.ts +40 -0
  30. package/es/components/Form/useValidationTrigger.js +74 -0
  31. package/es/components/Input/Input.js +72 -74
  32. package/es/components/Input/interface.d.ts +9 -9
  33. package/es/components/InputAmount/InputAmount.js +228 -276
  34. package/es/components/InputAmount/helper.d.ts +46 -0
  35. package/es/components/InputAmount/helper.js +115 -0
  36. package/es/components/ProForm/ProForm.d.ts +33 -0
  37. package/es/components/ProForm/ProForm.js +208 -0
  38. package/es/components/ProForm/ProFormDependency.d.ts +12 -0
  39. package/es/components/ProForm/ProFormDependency.js +61 -0
  40. package/es/components/ProForm/ProFormList.d.ts +19 -0
  41. package/es/components/ProForm/ProFormList.js +348 -0
  42. package/es/components/ProForm/Submitter.d.ts +21 -0
  43. package/es/components/ProForm/Submitter.js +76 -0
  44. package/es/components/ProForm/constants.d.ts +34 -0
  45. package/es/components/ProForm/constants.js +40 -0
  46. package/es/components/ProForm/fields/ProFormCheckbox.d.ts +6 -0
  47. package/es/components/ProForm/fields/ProFormCheckbox.js +11 -0
  48. package/es/components/ProForm/fields/ProFormCheckboxGroup.d.ts +6 -0
  49. package/es/components/ProForm/fields/ProFormCheckboxGroup.js +46 -0
  50. package/es/components/ProForm/fields/ProFormDigit.d.ts +6 -0
  51. package/es/components/ProForm/fields/ProFormDigit.js +15 -0
  52. package/es/components/ProForm/fields/ProFormMoney.d.ts +6 -0
  53. package/es/components/ProForm/fields/ProFormMoney.js +10 -0
  54. package/es/components/ProForm/fields/ProFormMultiSelect.d.ts +6 -0
  55. package/es/components/ProForm/fields/ProFormMultiSelect.js +27 -0
  56. package/es/components/ProForm/fields/ProFormPassword.d.ts +6 -0
  57. package/es/components/ProForm/fields/ProFormPassword.js +16 -0
  58. package/es/components/ProForm/fields/ProFormRadio.d.ts +6 -0
  59. package/es/components/ProForm/fields/ProFormRadio.js +13 -0
  60. package/es/components/ProForm/fields/ProFormSelect.d.ts +6 -0
  61. package/es/components/ProForm/fields/ProFormSelect.js +13 -0
  62. package/es/components/ProForm/fields/ProFormSwitch.d.ts +6 -0
  63. package/es/components/ProForm/fields/ProFormSwitch.js +11 -0
  64. package/es/components/ProForm/fields/ProFormText.d.ts +6 -0
  65. package/es/components/ProForm/fields/ProFormText.js +15 -0
  66. package/es/components/ProForm/fields/ProFormTextArea.d.ts +6 -0
  67. package/es/components/ProForm/fields/ProFormTextArea.js +16 -0
  68. package/es/components/ProForm/fields/createProFormField.d.ts +43 -0
  69. package/es/components/ProForm/fields/createProFormField.js +200 -0
  70. package/es/components/ProForm/fields/index.d.ts +12 -0
  71. package/es/components/ProForm/fields/index.js +13 -0
  72. package/es/components/ProForm/index.d.ts +7 -0
  73. package/es/components/ProForm/index.js +7 -0
  74. package/es/components/ProForm/interface.d.ts +306 -0
  75. package/es/components/ProForm/interface.js +2 -0
  76. package/es/components/ProForm/layouts/DrawerForm.d.ts +16 -0
  77. package/es/components/ProForm/layouts/DrawerForm.js +79 -0
  78. package/es/components/ProForm/layouts/ModalForm.d.ts +16 -0
  79. package/es/components/ProForm/layouts/ModalForm.js +89 -0
  80. package/es/components/ProForm/layouts/QueryFilter.d.ts +21 -0
  81. package/es/components/ProForm/layouts/QueryFilter.js +132 -0
  82. package/es/components/ProForm/layouts/StepsForm.d.ts +13 -0
  83. package/es/components/ProForm/layouts/StepsForm.js +295 -0
  84. package/es/components/ProForm/layouts/index.d.ts +4 -0
  85. package/es/components/ProForm/layouts/index.js +5 -0
  86. package/es/components/ProForm/layouts/useOverlayForm.d.ts +53 -0
  87. package/es/components/ProForm/layouts/useOverlayForm.js +143 -0
  88. package/es/components/ProForm/style/ProForm.module.css +1 -0
  89. package/es/components/ProForm/style/ProForm.module.scss +59 -0
  90. package/es/components/ProForm/style/css.js +3 -0
  91. package/es/components/ProForm/style/index.d.ts +1 -0
  92. package/es/components/ProForm/style/index.js +3 -0
  93. package/es/components/ProForm/utils.d.ts +72 -0
  94. package/es/components/ProForm/utils.js +206 -0
  95. package/es/components/RadioGroup/RadioGroup.js +46 -23
  96. package/es/components/RadioGroup/interface.d.ts +3 -1
  97. package/es/components/Select/Select.d.ts +1 -1
  98. package/es/components/Select/Select.js +113 -106
  99. package/es/components/Select/constants.d.ts +18 -0
  100. package/es/components/Select/constants.js +19 -0
  101. package/es/components/Sidebar/Sidebar.js +21 -23
  102. package/es/components/Sidebar/SidebarLogo.d.ts +7 -0
  103. package/es/components/Sidebar/SidebarLogo.js +33 -0
  104. package/es/components/Sidebar/SimplySidebar.d.ts +2 -2
  105. package/es/components/Sidebar/SimplySidebar.js +18 -22
  106. package/es/components/Sidebar/Stepper.js +14 -14
  107. package/es/components/Sidebar/constants.d.ts +16 -0
  108. package/es/components/Sidebar/constants.js +17 -0
  109. package/es/components/Sidebar/style/Stepper.css +1 -1
  110. package/es/components/Sidebar/style/Stepper.scss +11 -1
  111. package/es/components/Switch/Switch.js +28 -25
  112. package/es/components/Switch/interface.d.ts +9 -4
  113. package/es/components/useControlledState/index.d.ts +14 -0
  114. package/es/components/useControlledState/index.js +32 -0
  115. package/es/components/useEventCallback/index.d.ts +11 -0
  116. package/es/components/useEventCallback/index.js +17 -0
  117. package/es/components/useLayoutEffect/index.d.ts +11 -0
  118. package/es/components/useLayoutEffect/index.js +17 -0
  119. package/es/components/useLayoutState/index.d.ts +13 -0
  120. package/es/components/useLayoutState/index.js +71 -0
  121. package/es/components/useMemoizedFn/index.d.ts +12 -0
  122. package/es/components/useMemoizedFn/index.js +27 -0
  123. package/es/components/usePrevious/index.d.ts +11 -0
  124. package/es/components/usePrevious/index.js +19 -0
  125. package/es/components/useSafeState/index.d.ts +12 -0
  126. package/es/components/useSafeState/index.js +24 -0
  127. package/es/components/useSyncState/index.d.ts +14 -0
  128. package/es/components/useSyncState/index.js +37 -0
  129. package/es/components/useUpdateEffect/index.d.ts +9 -0
  130. package/es/components/useUpdateEffect/index.js +19 -0
  131. package/es/index.css +1 -1
  132. package/es/index.d.ts +21 -2
  133. package/es/index.js +19 -1
  134. package/jest.setup.d.ts +1 -0
  135. package/jest.setup.ts +1 -0
  136. package/lib/components/CheckboxGroup/CheckboxGroup.d.ts +3 -3
  137. package/lib/components/CheckboxGroup/CheckboxGroup.js +92 -89
  138. package/lib/components/CheckboxGroup/interface.d.ts +21 -15
  139. package/lib/components/CheckboxGroup/style/CheckboxGroup.scss +0 -7
  140. package/lib/components/Form/Form.d.ts +29 -0
  141. package/lib/components/Form/Form.js +199 -0
  142. package/lib/components/Form/FormItem.d.ts +4 -0
  143. package/lib/components/Form/FormItem.js +176 -0
  144. package/lib/components/Form/FormItemContent.d.ts +18 -0
  145. package/lib/components/Form/FormItemContent.js +156 -0
  146. package/lib/components/Form/constants.d.ts +46 -0
  147. package/lib/components/Form/constants.js +71 -0
  148. package/lib/components/Form/helper.d.ts +120 -0
  149. package/lib/components/Form/helper.js +290 -0
  150. package/lib/components/Form/index.d.ts +20 -0
  151. package/lib/components/Form/index.js +45 -0
  152. package/lib/components/Form/interface.d.ts +238 -0
  153. package/lib/components/Form/interface.js +6 -0
  154. package/lib/components/Form/style/Form.css +1 -0
  155. package/lib/components/Form/style/Form.scss +167 -0
  156. package/lib/components/Form/style/css.js +4 -0
  157. package/lib/components/Form/style/index.d.ts +1 -0
  158. package/lib/components/Form/style/index.js +4 -0
  159. package/lib/components/Form/useFormItemContext.d.ts +32 -0
  160. package/lib/components/Form/useFormItemContext.js +62 -0
  161. package/lib/components/Form/useFormItemWatch.d.ts +51 -0
  162. package/lib/components/Form/useFormItemWatch.js +76 -0
  163. package/lib/components/Form/useValidationTrigger.d.ts +40 -0
  164. package/lib/components/Form/useValidationTrigger.js +81 -0
  165. package/lib/components/Input/Input.js +71 -73
  166. package/lib/components/Input/interface.d.ts +9 -9
  167. package/lib/components/InputAmount/InputAmount.js +230 -278
  168. package/lib/components/InputAmount/helper.d.ts +46 -0
  169. package/lib/components/InputAmount/helper.js +122 -0
  170. package/lib/components/ProForm/ProForm.d.ts +33 -0
  171. package/lib/components/ProForm/ProForm.js +216 -0
  172. package/lib/components/ProForm/ProFormDependency.d.ts +12 -0
  173. package/lib/components/ProForm/ProFormDependency.js +67 -0
  174. package/lib/components/ProForm/ProFormList.d.ts +19 -0
  175. package/lib/components/ProForm/ProFormList.js +355 -0
  176. package/lib/components/ProForm/Submitter.d.ts +21 -0
  177. package/lib/components/ProForm/Submitter.js +83 -0
  178. package/lib/components/ProForm/constants.d.ts +34 -0
  179. package/lib/components/ProForm/constants.js +46 -0
  180. package/lib/components/ProForm/fields/ProFormCheckbox.d.ts +6 -0
  181. package/lib/components/ProForm/fields/ProFormCheckbox.js +18 -0
  182. package/lib/components/ProForm/fields/ProFormCheckboxGroup.d.ts +6 -0
  183. package/lib/components/ProForm/fields/ProFormCheckboxGroup.js +53 -0
  184. package/lib/components/ProForm/fields/ProFormDigit.d.ts +6 -0
  185. package/lib/components/ProForm/fields/ProFormDigit.js +22 -0
  186. package/lib/components/ProForm/fields/ProFormMoney.d.ts +6 -0
  187. package/lib/components/ProForm/fields/ProFormMoney.js +17 -0
  188. package/lib/components/ProForm/fields/ProFormMultiSelect.d.ts +6 -0
  189. package/lib/components/ProForm/fields/ProFormMultiSelect.js +34 -0
  190. package/lib/components/ProForm/fields/ProFormPassword.d.ts +6 -0
  191. package/lib/components/ProForm/fields/ProFormPassword.js +23 -0
  192. package/lib/components/ProForm/fields/ProFormRadio.d.ts +6 -0
  193. package/lib/components/ProForm/fields/ProFormRadio.js +20 -0
  194. package/lib/components/ProForm/fields/ProFormSelect.d.ts +6 -0
  195. package/lib/components/ProForm/fields/ProFormSelect.js +20 -0
  196. package/lib/components/ProForm/fields/ProFormSwitch.d.ts +6 -0
  197. package/lib/components/ProForm/fields/ProFormSwitch.js +18 -0
  198. package/lib/components/ProForm/fields/ProFormText.d.ts +6 -0
  199. package/lib/components/ProForm/fields/ProFormText.js +22 -0
  200. package/lib/components/ProForm/fields/ProFormTextArea.d.ts +6 -0
  201. package/lib/components/ProForm/fields/ProFormTextArea.js +23 -0
  202. package/lib/components/ProForm/fields/createProFormField.d.ts +43 -0
  203. package/lib/components/ProForm/fields/createProFormField.js +208 -0
  204. package/lib/components/ProForm/fields/index.d.ts +12 -0
  205. package/lib/components/ProForm/fields/index.js +90 -0
  206. package/lib/components/ProForm/index.d.ts +7 -0
  207. package/lib/components/ProForm/index.js +73 -0
  208. package/lib/components/ProForm/interface.d.ts +306 -0
  209. package/lib/components/ProForm/interface.js +6 -0
  210. package/lib/components/ProForm/layouts/DrawerForm.d.ts +16 -0
  211. package/lib/components/ProForm/layouts/DrawerForm.js +86 -0
  212. package/lib/components/ProForm/layouts/ModalForm.d.ts +16 -0
  213. package/lib/components/ProForm/layouts/ModalForm.js +96 -0
  214. package/lib/components/ProForm/layouts/QueryFilter.d.ts +21 -0
  215. package/lib/components/ProForm/layouts/QueryFilter.js +139 -0
  216. package/lib/components/ProForm/layouts/StepsForm.d.ts +13 -0
  217. package/lib/components/ProForm/layouts/StepsForm.js +302 -0
  218. package/lib/components/ProForm/layouts/index.d.ts +4 -0
  219. package/lib/components/ProForm/layouts/index.js +40 -0
  220. package/lib/components/ProForm/layouts/useOverlayForm.d.ts +53 -0
  221. package/lib/components/ProForm/layouts/useOverlayForm.js +150 -0
  222. package/lib/components/ProForm/style/ProForm.module.css +1 -0
  223. package/lib/components/ProForm/style/ProForm.module.scss +59 -0
  224. package/lib/components/ProForm/style/css.js +4 -0
  225. package/lib/components/ProForm/style/index.d.ts +1 -0
  226. package/lib/components/ProForm/style/index.js +4 -0
  227. package/lib/components/ProForm/utils.d.ts +72 -0
  228. package/lib/components/ProForm/utils.js +213 -0
  229. package/lib/components/RadioGroup/RadioGroup.js +45 -22
  230. package/lib/components/RadioGroup/interface.d.ts +3 -1
  231. package/lib/components/Select/Select.d.ts +1 -1
  232. package/lib/components/Select/Select.js +114 -107
  233. package/lib/components/Select/constants.d.ts +18 -0
  234. package/lib/components/Select/constants.js +25 -0
  235. package/lib/components/Sidebar/Sidebar.js +21 -23
  236. package/lib/components/Sidebar/SidebarLogo.d.ts +7 -0
  237. package/lib/components/Sidebar/SidebarLogo.js +39 -0
  238. package/lib/components/Sidebar/SimplySidebar.d.ts +2 -2
  239. package/lib/components/Sidebar/SimplySidebar.js +17 -21
  240. package/lib/components/Sidebar/Stepper.js +14 -14
  241. package/lib/components/Sidebar/constants.d.ts +16 -0
  242. package/lib/components/Sidebar/constants.js +23 -0
  243. package/lib/components/Sidebar/style/Stepper.css +1 -1
  244. package/lib/components/Sidebar/style/Stepper.scss +11 -1
  245. package/lib/components/Switch/Switch.js +27 -24
  246. package/lib/components/Switch/interface.d.ts +9 -4
  247. package/lib/components/useControlledState/index.d.ts +14 -0
  248. package/lib/components/useControlledState/index.js +39 -0
  249. package/lib/components/useEventCallback/index.d.ts +11 -0
  250. package/lib/components/useEventCallback/index.js +24 -0
  251. package/lib/components/useLayoutEffect/index.d.ts +11 -0
  252. package/lib/components/useLayoutEffect/index.js +23 -0
  253. package/lib/components/useLayoutState/index.d.ts +13 -0
  254. package/lib/components/useLayoutState/index.js +79 -0
  255. package/lib/components/useMemoizedFn/index.d.ts +12 -0
  256. package/lib/components/useMemoizedFn/index.js +33 -0
  257. package/lib/components/usePrevious/index.d.ts +11 -0
  258. package/lib/components/usePrevious/index.js +25 -0
  259. package/lib/components/useSafeState/index.d.ts +12 -0
  260. package/lib/components/useSafeState/index.js +31 -0
  261. package/lib/components/useSyncState/index.d.ts +14 -0
  262. package/lib/components/useSyncState/index.js +44 -0
  263. package/lib/components/useUpdateEffect/index.d.ts +9 -0
  264. package/lib/components/useUpdateEffect/index.js +25 -0
  265. package/lib/index.css +1 -1
  266. package/lib/index.d.ts +21 -2
  267. package/lib/index.js +213 -1
  268. package/package.json +16 -1
@@ -0,0 +1,199 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _typeof = require("@babel/runtime/helpers/typeof");
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.Form = Form;
9
+ exports["default"] = exports.FormContext = void 0;
10
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
11
+ var _jsxRuntime = require("react/jsx-runtime");
12
+ var _react = _interopRequireWildcard(require("react"));
13
+ var _reactHookForm = require("react-hook-form");
14
+ var _classnames = _interopRequireWildcard(require("../../utils/classnames"));
15
+ var _useLatest = _interopRequireDefault(require("../useLatest"));
16
+ var _useMemoizedFn = _interopRequireDefault(require("../useMemoizedFn"));
17
+ var _constants = require("./constants");
18
+ var _helper = require("./helper");
19
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
20
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
21
+ var __awaiter = void 0 && (void 0).__awaiter || function (thisArg, _arguments, P, generator) {
22
+ function adopt(value) {
23
+ return value instanceof P ? value : new P(function (resolve) {
24
+ resolve(value);
25
+ });
26
+ }
27
+ return new (P || (P = Promise))(function (resolve, reject) {
28
+ function fulfilled(value) {
29
+ try {
30
+ step(generator.next(value));
31
+ } catch (e) {
32
+ reject(e);
33
+ }
34
+ }
35
+ function rejected(value) {
36
+ try {
37
+ step(generator["throw"](value));
38
+ } catch (e) {
39
+ reject(e);
40
+ }
41
+ }
42
+ function step(result) {
43
+ result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
44
+ }
45
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
46
+ });
47
+ };
48
+ var __rest = void 0 && (void 0).__rest || function (s, e) {
49
+ var t = {};
50
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
51
+ if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
52
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
53
+ }
54
+ return t;
55
+ };
56
+ /** React context that distributes form layout and state to descendant `<FormItem>` components. */
57
+ var FormContext = exports.FormContext = /*#__PURE__*/(0, _react.createContext)(null);
58
+ /**
59
+ * Form component that wraps `react-hook-form` with layout, context distribution,
60
+ * value-change subscriptions, and scroll-to-error behavior.
61
+ *
62
+ * Renders a `<FormProvider>` and native `<form>` element. All `<FormItem>` children
63
+ * receive form methods and layout configuration via {@link FormContext}.
64
+ *
65
+ * Supports both controlled mode (pass an external `form` instance) and uncontrolled
66
+ * mode (internal `useForm` is created automatically).
67
+ *
68
+ * @template TFieldValues - The shape of the form values.
69
+ * @param props - {@link FormProps}
70
+ *
71
+ * @example
72
+ * ```tsx
73
+ * <Form defaultValues={{ name: '' }} onFinish={(values) => save(values)}>
74
+ * <FormItem name="name" label="Name" rules={{ required: true }}>
75
+ * <Input />
76
+ * </FormItem>
77
+ * </Form>
78
+ * ```
79
+ */
80
+ function Form(props) {
81
+ var _this = this;
82
+ // Form is a thin wrapper over react-hook-form with layout + UX helpers.
83
+ var form = props.form,
84
+ defaultValues = props.defaultValues,
85
+ onFinish = props.onFinish,
86
+ onFinishFailed = props.onFinishFailed,
87
+ onValuesChange = props.onValuesChange,
88
+ watchNames = props.watchNames,
89
+ scrollToFirstError = props.scrollToFirstError,
90
+ _props$layout = props.layout,
91
+ layout = _props$layout === void 0 ? _constants.DEFAULT_LAYOUT : _props$layout,
92
+ _props$labelAlign = props.labelAlign,
93
+ labelAlign = _props$labelAlign === void 0 ? _constants.DEFAULT_LABEL_ALIGN : _props$labelAlign,
94
+ _props$labelCol = props.labelCol,
95
+ labelCol = _props$labelCol === void 0 ? _constants.DEFAULT_LABEL_COL : _props$labelCol,
96
+ _props$wrapperCol = props.wrapperCol,
97
+ wrapperCol = _props$wrapperCol === void 0 ? _constants.DEFAULT_WRAPPER_COL : _props$wrapperCol,
98
+ _props$size = props.size,
99
+ size = _props$size === void 0 ? _constants.DEFAULT_SIZE : _props$size,
100
+ disabled = props.disabled,
101
+ _props$colon = props.colon,
102
+ colon = _props$colon === void 0 ? true : _props$colon,
103
+ _props$requiredMark = props.requiredMark,
104
+ requiredMark = _props$requiredMark === void 0 ? true : _props$requiredMark,
105
+ className = props.className,
106
+ style = props.style,
107
+ children = props.children,
108
+ useFormProps = __rest(props, ["form", "defaultValues", "onFinish", "onFinishFailed", "onValuesChange", "watchNames", "scrollToFirstError", "layout", "labelAlign", "labelCol", "wrapperCol", "size", "disabled", "colon", "requiredMark", "className", "style", "children"]);
109
+ // Always create an internal form to keep hook ordering stable.
110
+ // When an external `form` is passed via the `form` prop, this instance is
111
+ // unused but must remain so that React's hook call order is consistent
112
+ // across renders. We pass `shouldUnregister: true` to minimize overhead
113
+ // of the unused form instance.
114
+ var internalMethods = (0, _reactHookForm.useForm)(Object.assign({
115
+ defaultValues: defaultValues,
116
+ shouldUnregister: true
117
+ }, useFormProps));
118
+ // Use provided form methods when controlled; otherwise use internal form state.
119
+ var methods = form !== null && form !== void 0 ? form : internalMethods;
120
+ var valuesChangeRef = (0, _useLatest["default"])(onValuesChange);
121
+ var watchNamesRef = (0, _useLatest["default"])((watchNames === null || watchNames === void 0 ? void 0 : watchNames.length) ? new Set(watchNames) : null);
122
+ // Provide layout + disabled state + form methods to FormItem via context.
123
+ var ctx = (0, _react.useMemo)(function () {
124
+ return {
125
+ layout: layout,
126
+ labelAlign: labelAlign,
127
+ labelCol: labelCol,
128
+ wrapperCol: wrapperCol,
129
+ size: size,
130
+ disabled: disabled,
131
+ colon: colon,
132
+ requiredMark: requiredMark,
133
+ methods: methods
134
+ };
135
+ }, [layout, labelAlign, labelCol, wrapperCol, size, disabled, colon, requiredMark, methods]);
136
+ // Subscribe to all value changes when handler provided.
137
+ (0, _react.useEffect)(function () {
138
+ if (!onValuesChange) return;
139
+ var subscription = methods.watch(function (values, info) {
140
+ var _a;
141
+ var watchSet = watchNamesRef.current;
142
+ if (watchSet) {
143
+ var name = info.name;
144
+ if (!name || !watchSet.has(name)) return;
145
+ }
146
+ (_a = valuesChangeRef.current) === null || _a === void 0 ? void 0 : _a.call(valuesChangeRef, values, {
147
+ name: info.name,
148
+ type: info.type
149
+ });
150
+ });
151
+ return function () {
152
+ return subscription.unsubscribe();
153
+ };
154
+ // `valuesChangeRef` and `watchNamesRef` are stable refs accessed via `.current`
155
+ // so they do not need to be in the dependency array.
156
+ }, [methods, onValuesChange]);
157
+ // Submit success handler.
158
+ var handleFinish = (0, _useMemoizedFn["default"])(function (values) {
159
+ return __awaiter(_this, void 0, void 0, /*#__PURE__*/_regenerator["default"].mark(function _callee() {
160
+ return _regenerator["default"].wrap(function _callee$(_context) {
161
+ while (1) switch (_context.prev = _context.next) {
162
+ case 0:
163
+ _context.next = 2;
164
+ return onFinish === null || onFinish === void 0 ? void 0 : onFinish(values);
165
+ case 2:
166
+ case "end":
167
+ return _context.stop();
168
+ }
169
+ }, _callee);
170
+ }));
171
+ });
172
+ // Submit failure handler with optional scroll-to-error.
173
+ var handleFinishFailed = (0, _useMemoizedFn["default"])(function (errors) {
174
+ var _a;
175
+ if (scrollToFirstError) {
176
+ var first = (0, _helper.getFirstErrorPath)(errors);
177
+ if (first) {
178
+ (_a = methods.setFocus) === null || _a === void 0 ? void 0 : _a.call(methods, first);
179
+ (0, _helper.scrollToField)(first, scrollToFirstError);
180
+ }
181
+ }
182
+ onFinishFailed === null || onFinishFailed === void 0 ? void 0 : onFinishFailed(errors);
183
+ });
184
+ var classes = (0, _classnames["default"])('form');
185
+ return (0, _jsxRuntime.jsx)(_reactHookForm.FormProvider, Object.assign({}, methods, {
186
+ children: (0, _jsxRuntime.jsx)(FormContext.Provider, {
187
+ value: ctx,
188
+ children: (0, _jsxRuntime.jsx)("form", {
189
+ className: classes('root', (0, _classnames.joinCls)(className, classes("layout-".concat(layout)), classes("size-".concat(size)), labelAlign === 'left' && classes('label-left'))),
190
+ style: style,
191
+ onSubmit: methods.handleSubmit(handleFinish, handleFinishFailed),
192
+ noValidate: true,
193
+ children: children
194
+ })
195
+ })
196
+ }));
197
+ }
198
+ var _default = exports["default"] = Form;
199
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvRm9ybS9Gb3JtLmpzIiwiY29tcG9uZW50cy9zcmMvY29tcG9uZW50cy9Gb3JtL0Zvcm0udHN4Il0sIm5hbWVzIjpbIl9qc3hSdW50aW1lIiwicmVxdWlyZSIsIl9yZWFjdCIsIl9pbnRlcm9wUmVxdWlyZVdpbGRjYXJkIiwiX3JlYWN0SG9va0Zvcm0iLCJfY2xhc3NuYW1lcyIsIl91c2VMYXRlc3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX3VzZU1lbW9pemVkRm4iLCJfY29uc3RhbnRzIiwiX2hlbHBlciIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsImUiLCJXZWFrTWFwIiwiciIsInQiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImhhcyIsImdldCIsIm4iLCJfX3Byb3RvX18iLCJhIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJ1IiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiaSIsInNldCIsIl9fYXdhaXRlciIsInRoaXNBcmciLCJfYXJndW1lbnRzIiwiUCIsImdlbmVyYXRvciIsImFkb3B0IiwidmFsdWUiLCJyZXNvbHZlIiwiUHJvbWlzZSIsInJlamVjdCIsImZ1bGZpbGxlZCIsInN0ZXAiLCJuZXh0IiwicmVqZWN0ZWQiLCJyZXN1bHQiLCJkb25lIiwidGhlbiIsImFwcGx5IiwiX19yZXN0IiwicyIsInAiLCJwcm90b3R5cGUiLCJpbmRleE9mIiwiZ2V0T3duUHJvcGVydHlTeW1ib2xzIiwibGVuZ3RoIiwicHJvcGVydHlJc0VudW1lcmFibGUiLCJGb3JtQ29udGV4dCIsImV4cG9ydHMiLCJjcmVhdGVDb250ZXh0IiwiRm9ybSIsInByb3BzIiwiX3RoaXMiLCJmb3JtIiwiZGVmYXVsdFZhbHVlcyIsIm9uRmluaXNoIiwib25GaW5pc2hGYWlsZWQiLCJvblZhbHVlc0NoYW5nZSIsIndhdGNoTmFtZXMiLCJzY3JvbGxUb0ZpcnN0RXJyb3IiLCJfcHJvcHMkbGF5b3V0IiwibGF5b3V0IiwiREVGQVVMVF9MQVlPVVQiLCJfcHJvcHMkbGFiZWxBbGlnbiIsImxhYmVsQWxpZ24iLCJERUZBVUxUX0xBQkVMX0FMSUdOIiwiX3Byb3BzJGxhYmVsQ29sIiwibGFiZWxDb2wiLCJERUZBVUxUX0xBQkVMX0NPTCIsIl9wcm9wcyR3cmFwcGVyQ29sIiwid3JhcHBlckNvbCIsIkRFRkFVTFRfV1JBUFBFUl9DT0wiLCJfcHJvcHMkc2l6ZSIsInNpemUiLCJERUZBVUxUX1NJWkUiLCJkaXNhYmxlZCIsIl9wcm9wcyRjb2xvbiIsImNvbG9uIiwiX3Byb3BzJHJlcXVpcmVkTWFyayIsInJlcXVpcmVkTWFyayIsImNsYXNzTmFtZSIsInN0eWxlIiwiY2hpbGRyZW4iLCJ1c2VGb3JtUHJvcHMiLCJpbnRlcm5hbE1ldGhvZHMiLCJ1c2VGb3JtIiwiYXNzaWduIiwic2hvdWxkVW5yZWdpc3RlciIsIm1ldGhvZHMiLCJ2YWx1ZXNDaGFuZ2VSZWYiLCJ1c2VMYXRlc3QiLCJ3YXRjaE5hbWVzUmVmIiwiU2V0IiwiY3R4IiwidXNlTWVtbyIsInVzZUVmZmVjdCIsInN1YnNjcmlwdGlvbiIsIndhdGNoIiwidmFsdWVzIiwiaW5mbyIsIl9hIiwid2F0Y2hTZXQiLCJjdXJyZW50IiwibmFtZSIsInR5cGUiLCJ1bnN1YnNjcmliZSIsImhhbmRsZUZpbmlzaCIsInVzZU1lbW9pemVkRm4iLCJfcmVnZW5lcmF0b3IiLCJtYXJrIiwiX2NhbGxlZSIsIndyYXAiLCJfY2FsbGVlJCIsIl9jb250ZXh0IiwicHJldiIsInN0b3AiLCJoYW5kbGVGaW5pc2hGYWlsZWQiLCJlcnJvcnMiLCJmaXJzdCIsImdldEZpcnN0RXJyb3JQYXRoIiwic2V0Rm9jdXMiLCJzY3JvbGxUb0ZpZWxkIiwiY2xhc3NlcyIsImNsYXNzbmFtZXMiLCJfanN4IiwiRm9ybVByb3ZpZGVyIiwiUHJvdmlkZXIiLCJqb2luQ2xzIiwiY29uY2F0Iiwib25TdWJtaXQiLCJoYW5kbGVTdWJtaXQiLCJub1ZhbGlkYXRlIiwiX2RlZmF1bHQiXSwi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QU0sRUFBRSxJQUFBSyxtQkFBTyxFQUNoQy9DLFNBQVMsRUFDVDBDLE9BQU8sV0FBQU0sTUFBQSxDQUFXbkUsTUFBTSxDQUFFLENBQUMsRUFDM0I2RCxPQUFPLFNBQUFNLE1BQUEsQ0FBU3ZELElBQUksQ0FBRSxDQUFDLEVBQ3ZCVCxVQUFVLEtBQUssTUFBTSxJQUFJMEQsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUMvQyxDQUFDO1FBQ0Z6QyxLQUFLLEVBQUVBLEtBQUs7UUFDWmdELFFBQVEsRUFBRXpDLE9BQU8sQ0FBQzBDLFlBQVksQ0FBQ3hCLFlBQVksRUFBRVUsa0JBQWtCLENBQUM7UUFDaEVlLFVBQVUsRUFBQSxJQUFBO1FBQUFqRCxRQUFBLEVBRVRBO01BQVEsQ0FBQTtJQUNKLENBQUE7RUFDYyxDQUFBLENBQUEsQ0FDVjtBQUVuQjtBQUFDLElBQUFrRCxRQUFBLEdBQUFwRixPQUFBLGNBRWNFLElBQUkiLCJmaWxlIjoiY29tcG9uZW50cy9Gb3JtL0Zvcm0uanMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgX19hd2FpdGVyID0gKHRoaXMgJiYgdGhpcy5fX2F3YWl0ZXIpIHx8IGZ1bmN0aW9uICh0aGlzQXJnLCBfYXJndW1lbnRzLCBQLCBnZW5lcmF0b3IpIHtcbiAgICBmdW5jdGlvbiBhZG9wdCh2YWx1ZSkgeyByZXR1cm4gdmFsdWUgaW5zdGFuY2VvZiBQID8gdmFsdWUgOiBuZXcgUChmdW5jdGlvbiAocmVzb2x2ZSkgeyByZXNvbHZlKHZhbHVlKTsgfSk7IH1cbiAgICByZXR1cm4gbmV3IChQIHx8IChQID0gUHJvbWlzZSkpKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHtcbiAgICAgICAgZnVuY3Rpb24gZnVsZmlsbGVkKHZhbHVlKSB7IHRyeSB7IHN0ZXAoZ2VuZXJhdG9yLm5leHQodmFsdWUpKTsgfSBjYXRjaCAoZSkgeyByZWplY3QoZSk7IH0gfVxuICAgICAgICBmdW5jdGlvbiByZWplY3RlZCh2YWx1ZSkgeyB0cnkgeyBzdGVwKGdlbmVyYXRvcltcInRocm93XCJdKHZhbHVlKSk7IH0gY2F0Y2ggKGUpIHsgcmVqZWN0KGUpOyB9IH1cbiAgICAgICAgZnVuY3Rpb24gc3RlcChyZXN1bHQpIHsgcmVzdWx0LmRvbmUgPyByZXNvbHZlKHJlc3VsdC52YWx1ZSkgOiBhZG9wdChyZXN1bHQudmFsdWUpLnRoZW4oZnVsZmlsbGVkLCByZWplY3RlZCk7IH1cbiAgICAgICAgc3RlcCgoZ2VuZXJhdG9yID0gZ2VuZXJhdG9yLmFwcGx5KHRoaXNBcmcsIF9hcmd1bWVudHMgfHwgW10pKS5uZXh0KCkpO1xuICAgIH0pO1xufTtcbnZhciBfX3Jlc3QgPSAodGhpcyAmJiB0aGlzLl9fcmVzdCkgfHwgZnVuY3Rpb24gKHMsIGUpIHtcbiAgICB2YXIgdCA9IHt9O1xuICAgIGZvciAodmFyIHAgaW4gcykgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChzLCBwKSAmJiBlLmluZGV4T2YocCkgPCAwKVxuICAgICAgICB0W3BdID0gc1twXTtcbiAgICBpZiAocyAhPSBudWxsICYmIHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzID09PSBcImZ1bmN0aW9uXCIpXG4gICAgICAgIGZvciAodmFyIGkgPSAwLCBwID0gT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhzKTsgaSA8IHAubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGlmIChlLmluZGV4T2YocFtpXSkgPCAwICYmIE9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUuY2FsbChzLCBwW2ldKSlcbiAgICAgICAgICAgICAgICB0W3BbaV1dID0gc1twW2ldXTtcbiAgICAgICAgfVxuICAgIHJldHVybiB0O1xufTtcbmltcG9ydCB7IGpzeCBhcyBfanN4IH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG5pbXBvcnQgUmVhY3QsIHsgY3JlYXRlQ29udGV4dCwgdXNlRWZmZWN0LCB1c2VNZW1vIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgRm9ybVByb3ZpZGVyLCB1c2VGb3JtIH0gZnJvbSAncmVhY3QtaG9vay1mb3JtJztcbmltcG9ydCB7IGRlZmF1bHQgYXMgY2xhc3NuYW1lcywgam9pbkNscyB9IGZyb20gJy4uLy4uL3V0aWxzL2NsYXNzbmFtZXMnO1xuaW1wb3J0IHVzZUxhdGVzdCBmcm9tICcuLi91c2VMYXRlc3QnO1xuaW1wb3J0IHVzZU1lbW9pemVkRm4gZnJvbSAnLi4vdXNlTWVtb2l6ZWRGbic7XG5pbXBvcnQgeyBERUZBVUxUX0xBQkVMX0FMSUdOLCBERUZBVUxUX0xBQkVMX0NPTCwgREVGQVVMVF9MQVlPVVQsIERFRkFVTFRfU0laRSwgREVGQVVMVF9XUkFQUEVSX0NPTCwgfSBmcm9tICcuL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBnZXRGaXJzdEVycm9yUGF0aCwgc2Nyb2xsVG9GaWVsZCB9IGZyb20gJy4vaGVscGVyJztcbi8qKiBSZWFjdCBjb250ZXh0IHRoYXQgZGlzdHJpYnV0ZXMgZm9ybSBsYXlvdXQgYW5kIHN0YXRlIHRvIGRlc2NlbmRhbnQgYDxGb3JtSXRlbT5gIGNvbXBvbmVudHMuICovXG5leHBvcnQgY29uc3QgRm9ybUNvbnRleHQgPSBjcmVhdGVDb250ZXh0KG51bGwpO1xuLyoqXG4gKiBGb3JtIGNvbXBvbmVudCB0aGF0IHdyYXBzIGByZWFjdC1ob29rLWZvcm1gIHdpdGggbGF5b3V0LCBjb250ZXh0IGRpc3RyaWJ1dGlvbixcbiAqIHZhbHVlLWNoYW5nZSBzdWJzY3JpcHRpb25zLCBhbmQgc2Nyb2xsLXRvLWVycm9yIGJlaGF2aW9yLlxuICpcbiAqIFJlbmRlcnMgYSBgPEZvcm1Qcm92aWRlcj5gIGFuZCBuYXRpdmUgYDxmb3JtPmAgZWxlbWVudC4gQWxsIGA8Rm9ybUl0ZW0+YCBjaGlsZHJlblxuICogcmVjZWl2ZSBmb3JtIG1ldGhvZHMgYW5kIGxheW91dCBjb25maWd1cmF0aW9uIHZpYSB7QGxpbmsgRm9ybUNvbnRleHR9LlxuICpcbiAqIFN1cHBvcnRzIGJvdGggY29udHJvbGxlZCBtb2RlIChwYXNzIGFuIGV4dGVybmFsIGBmb3JtYCBpbnN0YW5jZSkgYW5kIHVuY29udHJvbGxlZFxuICogbW9kZSAoaW50ZXJuYWwgYHVzZUZvcm1gIGlzIGNyZWF0ZWQgYXV0b21hdGljYWxseSkuXG4gKlxuICogQHRlbXBsYXRlIFRGaWVsZFZhbHVlcyAtIFRoZSBzaGFwZSBvZiB0aGUgZm9ybSB2YWx1ZXMuXG4gKiBAcGFyYW0gcHJvcHMgLSB7QGxpbmsgRm9ybVByb3BzfVxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0c3hcbiAqIDxGb3JtIGRlZmF1bHRWYWx1ZXM9e3sgbmFtZTogJycgfX0gb25GaW5pc2g9eyh2YWx1ZXMpID0+IHNhdmUodmFsdWVzKX0+XG4gKiAgIDxGb3JtSXRlbSBuYW1lPVwibmFtZVwiIGxhYmVsPVwiTmFtZVwiIHJ1bGVzPXt7IHJlcXVpcmVkOiB0cnVlIH19PlxuICogICAgIDxJbnB1dCAvPlxuICogICA8L0Zvcm1JdGVtPlxuICogPC9Gb3JtPlxuICogYGBgXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBGb3JtKHByb3BzKSB7XG4gICAgLy8gRm9ybSBpcyBhIHRoaW4gd3JhcHBlciBvdmVyIHJlYWN0LWhvb2stZm9ybSB3aXRoIGxheW91dCArIFVYIGhlbHBlcnMuXG4gICAgY29uc3QgeyBmb3JtLCBkZWZhdWx0VmFsdWVzLCBvbkZpbmlzaCwgb25GaW5pc2hGYWlsZWQsIG9uVmFsdWVzQ2hhbmdlLCB3YXRjaE5hbWVzLCBzY3JvbGxUb0ZpcnN0RXJyb3IsIGxheW91dCA9IERFRkFVTFRfTEFZT1VULCBsYWJlbEFsaWduID0gREVGQVVMVF9MQUJFTF9BTElHTiwgbGFiZWxDb2wgPSBERUZBVUxUX0xBQkVMX0NPTCwgd3JhcHBlckNvbCA9IERFRkFVTFRfV1JBUFBFUl9DT0wsIHNpemUgPSBERUZBVUxUX1NJWkUsIGRpc2FibGVkLCBjb2xvbiA9IHRydWUsIHJlcXVpcmVkTWFyayA9IHRydWUsIGNsYXNzTmFtZSwgc3R5bGUsIGNoaWxkcmVuIH0gPSBwcm9wcywgdXNlRm9ybVByb3BzID0gX19yZXN0KHByb3BzLCBbXCJmb3JtXCIsIFwiZGVmYXVsdFZhbHVlc1wiLCBcIm9uRmluaXNoXCIsIFwib25GaW5pc2hGYWlsZWRcIiwgXCJvblZhbHVlc0NoYW5nZVwiLCBcIndhdGNoTmFtZXNcIiwgXCJzY3JvbGxUb0ZpcnN0RXJyb3JcIiwgXCJsYXlvdXRcIiwgXCJsYWJlbEFsaWduXCIsIFwibGFiZWxDb2xcIiwgXCJ3cmFwcGVyQ29sXCIsIFwic2l6ZVwiLCBcImRpc2FibGVkXCIsIFwiY29sb25cIiwgXCJyZXF1aXJlZE1hcmtcIiwgXCJjbGFzc05hbWVcIiwgXCJzdHlsZVwiLCBcImNoaWxkcmVuXCJdKTtcbiAgICAvLyBBbHdheXMgY3JlYXRlIGFuIGludGVybmFsIGZvcm0gdG8ga2VlcCBob29rIG9yZGVyaW5nIHN0YWJsZS5cbiAgICAvLyBXaGVuIGFuIGV4dGVybmFsIGBmb3JtYCBpcyBwYXNzZWQgdmlhIHRoZSBgZm9ybWAgcHJvcCwgdGhpcyBpbnN0YW5jZSBpc1xuICAgIC8vIHVudXNlZCBidXQgbXVzdCByZW1haW4gc28gdGhhdCBSZWFjdCdzIGhvb2sgY2FsbCBvcmRlciBpcyBjb25zaXN0ZW50XG4gICAgLy8gYWNyb3NzIHJlbmRlcnMuIFdlIHBhc3MgYHNob3VsZFVucmVnaXN0ZXI6IHRydWVgIHRvIG1pbmltaXplIG92ZXJoZWFkXG4gICAgLy8gb2YgdGhlIHVudXNlZCBmb3JtIGluc3RhbmNlLlxuICAgIGNvbnN0IGludGVybmFsTWV0aG9kcyA9IHVzZUZvcm0oT2JqZWN0LmFzc2lnbih7IGRlZmF1bHRWYWx1ZXMsIHNob3VsZFVucmVnaXN0ZXI6IHRydWUgfSwgdXNlRm9ybVByb3BzKSk7XG4gICAgLy8gVXNlIHByb3ZpZGVkIGZvcm0gbWV0aG9kcyB3aGVuIGNvbnRyb2xsZWQ7IG90aGVyd2lzZSB1c2UgaW50ZXJuYWwgZm9ybSBzdGF0ZS5cbiAgICBjb25zdCBtZXRob2RzID0gZm9ybSAhPT0gbnVsbCAmJiBmb3JtICE9PSB2b2lkIDAgPyBmb3JtIDogaW50ZXJuYWxNZXRob2RzO1xuICAgIGNvbnN0IHZhbHVlc0NoYW5nZVJlZiA9IHVzZUxhdGVzdChvblZhbHVlc0NoYW5nZSk7XG4gICAgY29uc3Qgd2F0Y2hOYW1lc1JlZiA9IHVzZUxhdGVzdCgod2F0Y2hOYW1lcyA9PT0gbnVsbCB8fCB3YXRjaE5hbWVzID09PSB2b2lkIDAgPyB2b2lkIDAgOiB3YXRjaE5hbWVzLmxlbmd0aCkgPyBuZXcgU2V0KHdhdGNoTmFtZXMpIDogbnVsbCk7XG4gICAgLy8gUHJvdmlkZSBsYXlvdXQgKyBkaXNhYmxlZCBzdGF0ZSArIGZvcm0gbWV0aG9kcyB0byBGb3JtSXRlbSB2aWEgY29udGV4dC5cbiAgICBjb25zdCBjdHggPSB1c2VNZW1vKCgpID0+ICh7XG4gICAgICAgIGxheW91dCxcbiAgICAgICAgbGFiZWxBbGlnbixcbiAgICAgICAgbGFiZWxDb2wsXG4gICAgICAgIHdyYXBwZXJDb2wsXG4gICAgICAgIHNpemUsXG4gICAgICAgIGRpc2FibGVkLFxuICAgICAgICBjb2xvbixcbiAgICAgICAgcmVxdWlyZWRNYXJrLFxuICAgICAgICBtZXRob2RzOiBtZXRob2RzLFxuICAgIH0pLCBbbGF5b3V0LCBsYWJlbEFsaWduLCBsYWJlbENvbCwgd3JhcHBlckNvbCwgc2l6ZSwgZGlzYWJsZWQsIGNvbG9uLCByZXF1aXJlZE1hcmssIG1ldGhvZHNdKTtcbiAgICAvLyBTdWJzY3JpYmUgdG8gYWxsIHZhbHVlIGNoYW5nZXMgd2hlbiBoYW5kbGVyIHByb3ZpZGVkLlxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIGlmICghb25WYWx1ZXNDaGFuZ2UpXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIGNvbnN0IHN1YnNjcmlwdGlvbiA9IG1ldGhvZHMud2F0Y2goKHZhbHVlcywgaW5mbykgPT4ge1xuICAgICAgICAgICAgdmFyIF9hO1xuICAgICAgICAgICAgY29uc3Qgd2F0Y2hTZXQgPSB3YXRjaE5hbWVzUmVmLmN1cnJlbnQ7XG4gICAgICAgICAgICBpZiAod2F0Y2hTZXQpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBuYW1lID0gaW5mby5uYW1lO1xuICAgICAgICAgICAgICAgIGlmICghbmFtZSB8fCAhd2F0Y2hTZXQuaGFzKG5hbWUpKVxuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAoX2EgPSB2YWx1ZXNDaGFuZ2VSZWYuY3VycmVudCkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLmNhbGwodmFsdWVzQ2hhbmdlUmVmLCB2YWx1ZXMsIHsgbmFtZTogaW5mby5uYW1lLCB0eXBlOiBpbmZvLnR5cGUgfSk7XG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gKCkgPT4gc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIC8vIGB2YWx1ZXNDaGFuZ2VSZWZgIGFuZCBgd2F0Y2hOYW1lc1JlZmAgYXJlIHN0YWJsZSByZWZzIGFjY2Vzc2VkIHZpYSBgLmN1cnJlbnRgXG4gICAgICAgIC8vIHNvIHRoZXkgZG8gbm90IG5lZWQgdG8gYmUgaW4gdGhlIGRlcGVuZGVuY3kgYXJyYXkuXG4gICAgfSwgW21ldGhvZHMsIG9uVmFsdWVzQ2hhbmdlXSk7XG4gICAgLy8gU3VibWl0IHN1Y2Nlc3MgaGFuZGxlci5cbiAgICBjb25zdCBoYW5kbGVGaW5pc2ggPSB1c2VNZW1vaXplZEZuKCh2YWx1ZXMpID0+IF9fYXdhaXRlcih0aGlzLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24qICgpIHtcbiAgICAgICAgeWllbGQgKG9uRmluaXNoID09PSBudWxsIHx8IG9uRmluaXNoID09PSB2b2lkIDAgPyB2b2lkIDAgOiBvbkZpbmlzaCh2YWx1ZXMpKTtcbiAgICB9KSk7XG4gICAgLy8gU3VibWl0IGZhaWx1cmUgaGFuZGxlciB3aXRoIG9wdGlvbmFsIHNjcm9sbC10by1lcnJvci5cbiAgICBjb25zdCBoYW5kbGVGaW5pc2hGYWlsZWQgPSB1c2VNZW1vaXplZEZuKChlcnJvcnMpID0+IHtcbiAgICAgICAgdmFyIF9hO1xuICAgICAgICBpZiAoc2Nyb2xsVG9GaXJzdEVycm9yKSB7XG4gICAgICAgICAgICBjb25zdCBmaXJzdCA9IGdldEZpcnN0RXJyb3JQYXRoKGVycm9ycyk7XG4gICAgICAgICAgICBpZiAoZmlyc3QpIHtcbiAgICAgICAgICAgICAgICAoX2EgPSBtZXRob2RzLnNldEZvY3VzKSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EuY2FsbChtZXRob2RzLCBmaXJzdCk7XG4gICAgICAgICAgICAgICAgc2Nyb2xsVG9GaWVsZChmaXJzdCwgc2Nyb2xsVG9GaXJzdEVycm9yKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBvbkZpbmlzaEZhaWxlZCA9PT0gbnVsbCB8fCBvbkZpbmlzaEZhaWxlZCA9PT0gdm9pZCAwID8gdm9pZCAwIDogb25GaW5pc2hGYWlsZWQoZXJyb3JzKTtcbiAgICB9KTtcbiAgICBjb25zdCBjbGFzc2VzID0gY2xhc3NuYW1lcygnZm9ybScpO1xuICAgIHJldHVybiAoX2pzeChGb3JtUHJvdmlkZXIsIE9iamVjdC5hc3NpZ24oe30sIG1ldGhvZHMsIHsgY2hpbGRyZW46IF9qc3goRm9ybUNvbnRleHQuUHJvdmlkZXIsIHsgdmFsdWU6IGN0eCwgY2hpbGRyZW46IF9qc3goXCJmb3JtXCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdyb290Jywgam9pbkNscyhjbGFzc05hbWUsIGNsYXNzZXMoYGxheW91dC0ke2xheW91dH1gKSwgY2xhc3Nlcyhgc2l6ZS0ke3NpemV9YCksIGxhYmVsQWxpZ24gPT09ICdsZWZ0JyAmJiBjbGFzc2VzKCdsYWJlbC1sZWZ0JykpKSwgc3R5bGU6IHN0eWxlLCBvblN1Ym1pdDogbWV0aG9kcy5oYW5kbGVTdWJtaXQoaGFuZGxlRmluaXNoLCBoYW5kbGVGaW5pc2hGYWlsZWQpLCBub1ZhbGlkYXRlOiB0cnVlLCBjaGlsZHJlbjogY2hpbGRyZW4gfSkgfSkgfSkpKTtcbn1cbmV4cG9ydCBkZWZhdWx0IEZvcm07IixudWxsXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyJ9
@@ -0,0 +1,4 @@
1
+ import type { FieldValues } from 'react-hook-form';
2
+ import type { FormItemProps } from './interface';
3
+ export declare function FormItem<TFieldValues extends FieldValues = FieldValues>(props: FormItemProps<TFieldValues>): import("react/jsx-runtime").JSX.Element;
4
+ export default FormItem;
@@ -0,0 +1,176 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _typeof = require("@babel/runtime/helpers/typeof");
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.FormItem = FormItem;
9
+ exports["default"] = void 0;
10
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
+ var _jsxRuntime = require("react/jsx-runtime");
12
+ var _react = require("react");
13
+ var _classnames = _interopRequireWildcard(require("../../utils/classnames"));
14
+ var _Typography = _interopRequireDefault(require("../Typography"));
15
+ var _Form = require("./Form");
16
+ var _constants = require("./constants");
17
+ var _helper = require("./helper");
18
+ var _FormItemContent = require("./FormItemContent");
19
+ var _useFormItemContext2 = require("./useFormItemContext");
20
+ var _useFormItemWatch2 = require("./useFormItemWatch");
21
+ var _useValidationTrigger2 = require("./useValidationTrigger");
22
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
23
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
24
+ /**
25
+ * Runtime type guard for render-prop children.
26
+ */
27
+ var isRenderFnChild = function isRenderFnChild(child) {
28
+ return typeof child === 'function';
29
+ };
30
+ /**
31
+ * Form field wrapper that bridges `react-hook-form`'s Controller with the Form
32
+ * layout system, validation status display, and configurable trigger behavior.
33
+ *
34
+ * When a `name` is provided, the field is registered with `react-hook-form` via
35
+ * a `Controller` and supports validation rules, dependencies, and status feedback.
36
+ * Without a `name`, it renders as a free wrapper for uncontrolled content.
37
+ *
38
+ * Supports two child patterns:
39
+ * - **React element**: automatically bound via `React.cloneElement` with value/onChange/onBlur.
40
+ * - **Render-prop function**: receives `{ field, fieldState, form, values }` for full control.
41
+ *
42
+ * @template TFieldValues - The shape of the form values.
43
+ * @param props - {@link FormItemProps}
44
+ *
45
+ * @example
46
+ * ```tsx
47
+ * // Element child (auto-bound)
48
+ * <FormItem name="email" label="Email" rules={{ required: true }}>
49
+ * <Input placeholder="Enter email" />
50
+ * </FormItem>
51
+ *
52
+ * // Render-prop child
53
+ * <FormItem name="agree">
54
+ * {({ field }) => <Checkbox {...field} />}
55
+ * </FormItem>
56
+ * ```
57
+ */
58
+ function FormItemInner(props) {
59
+ var name = props.name,
60
+ label = props.label,
61
+ required = props.required,
62
+ rules = props.rules,
63
+ defaultValue = props.defaultValue,
64
+ help = props.help,
65
+ extra = props.extra,
66
+ validateStatus = props.validateStatus,
67
+ dependencies = props.dependencies,
68
+ watchNames = props.watchNames,
69
+ shouldUpdate = props.shouldUpdate,
70
+ validateTrigger = props.validateTrigger,
71
+ validateFirst = props.validateFirst,
72
+ validateDebounce = props.validateDebounce,
73
+ noStyle = props.noStyle,
74
+ _props$valuePropName = props.valuePropName,
75
+ valuePropName = _props$valuePropName === void 0 ? _constants.DEFAULT_VALUE_PROP : _props$valuePropName,
76
+ className = props.className,
77
+ labelCol = props.labelCol,
78
+ wrapperCol = props.wrapperCol,
79
+ children = props.children;
80
+ var classes = (0, _classnames["default"])('form-item');
81
+ var _useFormItemContext = (0, _useFormItemContext2.useFormItemContext)(name),
82
+ ctx = _useFormItemContext.ctx,
83
+ methods = _useFormItemContext.methods,
84
+ control = _useFormItemContext.control,
85
+ trigger = _useFormItemContext.trigger;
86
+ var _useFormItemWatch = (0, _useFormItemWatch2.useFormItemWatch)({
87
+ control: control,
88
+ methods: methods,
89
+ dependencies: dependencies,
90
+ watchNames: watchNames,
91
+ shouldUpdate: shouldUpdate,
92
+ name: name
93
+ }),
94
+ allValues = _useFormItemWatch.allValues,
95
+ depValues = _useFormItemWatch.depValues,
96
+ shouldRender = _useFormItemWatch.shouldRender;
97
+ var _useValidationTrigger = (0, _useValidationTrigger2.useValidationTrigger)({
98
+ name: name,
99
+ trigger: trigger,
100
+ validateTrigger: validateTrigger,
101
+ validateDebounce: validateDebounce,
102
+ dependencies: dependencies,
103
+ depValues: depValues
104
+ }),
105
+ withTrigger = _useValidationTrigger.withTrigger;
106
+ var renderFn = isRenderFnChild(children) ? children : null;
107
+ var isRequired = required !== null && required !== void 0 ? required : !!(rules === null || rules === void 0 ? void 0 : rules.required);
108
+ var showRequired = (ctx === null || ctx === void 0 ? void 0 : ctx.requiredMark) !== false;
109
+ var labelWidth = (0, _react.useMemo)(function () {
110
+ return (0, _helper.toPercent)(labelCol !== null && labelCol !== void 0 ? labelCol : ctx === null || ctx === void 0 ? void 0 : ctx.labelCol);
111
+ }, [labelCol, ctx === null || ctx === void 0 ? void 0 : ctx.labelCol]);
112
+ var wrapperWidth = (0, _react.useMemo)(function () {
113
+ return (0, _helper.toPercent)(wrapperCol !== null && wrapperCol !== void 0 ? wrapperCol : ctx === null || ctx === void 0 ? void 0 : ctx.wrapperCol);
114
+ }, [wrapperCol, ctx === null || ctx === void 0 ? void 0 : ctx.wrapperCol]);
115
+ var mergedRules = (0, _react.useMemo)(function () {
116
+ if (!(rules === null || rules === void 0 ? void 0 : rules.validate) || !validateFirst) return rules;
117
+ var validate = (0, _helper.wrapValidate)(rules.validate, validateFirst);
118
+ if (validate === rules.validate) return rules;
119
+ return Object.assign(Object.assign({}, rules), {
120
+ validate: validate
121
+ });
122
+ }, [rules, validateFirst]);
123
+ var contentProps = (0, _react.useMemo)(function () {
124
+ return {
125
+ name: name,
126
+ control: control,
127
+ methods: methods,
128
+ rules: mergedRules,
129
+ defaultValue: defaultValue,
130
+ validateStatus: validateStatus,
131
+ valuePropName: valuePropName,
132
+ help: help,
133
+ extra: extra,
134
+ ctx: ctx,
135
+ children: children,
136
+ renderFn: renderFn,
137
+ allValues: allValues,
138
+ shouldUpdate: shouldUpdate,
139
+ shouldRender: shouldRender,
140
+ withTrigger: withTrigger
141
+ };
142
+ }, [name, control, methods, mergedRules, defaultValue, validateStatus, valuePropName, help, extra, ctx, children, renderFn, allValues, shouldUpdate, shouldRender, withTrigger]);
143
+ if (noStyle) {
144
+ return (0, _jsxRuntime.jsx)(_FormItemContent.FormItemContent, Object.assign({}, contentProps));
145
+ }
146
+ var rootStyle = (0, _defineProperty2["default"])((0, _defineProperty2["default"])({}, _constants.CSS_VAR_LABEL_WIDTH, labelWidth), _constants.CSS_VAR_WRAPPER_WIDTH, wrapperWidth);
147
+ return (0, _jsxRuntime.jsxs)("div", {
148
+ className: classes('root', (0, _classnames.joinCls)(className, (ctx === null || ctx === void 0 ? void 0 : ctx.layout) && classes("layout-".concat(ctx.layout)))),
149
+ "data-form-item-name": name ? String(name) : undefined,
150
+ style: rootStyle,
151
+ children: [label && (0, _jsxRuntime.jsxs)("div", {
152
+ className: classes('label', (0, _classnames.joinCls)(showRequired && isRequired && classes('label-required'))),
153
+ children: [(0, _jsxRuntime.jsx)(_Typography["default"].Label, {
154
+ size: 's',
155
+ children: label
156
+ }), (ctx === null || ctx === void 0 ? void 0 : ctx.colon) && (0, _jsxRuntime.jsx)("span", {
157
+ className: classes('colon'),
158
+ children: ":"
159
+ })]
160
+ }), (0, _jsxRuntime.jsx)("div", {
161
+ className: classes('control'),
162
+ children: (0, _jsxRuntime.jsx)(_FormItemContent.FormItemContent, Object.assign({}, contentProps))
163
+ })]
164
+ });
165
+ }
166
+ function FormItem(props) {
167
+ var ctx = (0, _react.useContext)(_Form.FormContext);
168
+ if (ctx === null || ctx === void 0 ? void 0 : ctx.methods) {
169
+ return (0, _jsxRuntime.jsx)(FormItemInner, Object.assign({}, props));
170
+ }
171
+ return (0, _jsxRuntime.jsx)(_useFormItemContext2.FallbackFormProvider, {
172
+ children: (0, _jsxRuntime.jsx)(FormItemInner, Object.assign({}, props))
173
+ });
174
+ }
175
+ var _default = exports["default"] = FormItem;
176
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvRm9ybS9Gb3JtSXRlbS5qcyIsImNvbXBvbmVudHMvc3JjL2NvbXBvbmVudHMvRm9ybS9Gb3JtSXRlbS50c3giXSwibmFtZXMiOlsiX2pzeFJ1bnRpbWUiLCJyZXF1aXJlIiwiX3JlYWN0IiwiX2NsYXNzbmFtZXMiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsIl9UeXBvZ3JhcGh5IiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl9Gb3JtIiwiX2NvbnN0YW50cyIsIl9oZWxwZXIiLCJfRm9ybUl0ZW1Db250ZW50IiwiX3VzZUZvcm1JdGVtQ29udGV4dDIiLCJfdXNlRm9ybUl0ZW1XYXRjaDIiLCJfdXNlVmFsaWRhdGlvblRyaWdnZXIyIiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwiZSIsIldlYWtNYXAiLCJyIiwidCIsIl9fZXNNb2R1bGUiLCJfdHlwZW9mIiwiaGFzIiwiZ2V0IiwibiIsIl9fcHJvdG9fXyIsImEiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsInUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJpIiwic2V0IiwiaXNSZW5kZXJGbkNoaWxkIiwiY2hpbGQiLCJGb3JtSXRlbUlubmVyIiwicHJvcHMiLCJuYW1lIiwibGFiZWwiLCJyZXF1aXJlZCIsInJ1bGVzIiwiZGVmYXVsdFZhbHVlIiwiaGVscCIsImV4dHJhIiwidmFsaWRhdGVTdGF0dXMiLCJkZXBlbmRlbmNpZXMiLCJ3YXRjaE5hbWVzIiwic2hvdWxkVXBkYXRlIiwidmFsaWRhdGVUcmlnZ2VyIiwidmFsaWRhdGVGaXJzdCIsInZhbGlkYXRlRGVib3VuY2UiLCJub1N0eWxlIiwiX3Byb3BzJHZhbHVlUHJvcE5hbWUiLCJ2YWx1ZVByb3BOYW1lIiwiREVGQVVMVF9WQUxVRV9QUk9QIiwiY2xhc3NOYW1lIiwibGFiZWxDb2wiLCJ3cmFwcGVyQ29sIiwiY2hpbGRyZW4iLCJjbGFzc2VzIiwiY2xhc3NuYW1lcyIsIl91c2VGb3JtSXRlbUNvbnRleHQiLCJ1c2VGb3JtSXRlbUNvbnRleHQiLCJjdHgiLCJtZXRob2RzIiwiY29udHJvbCIsInRyaWdnZXIiLCJfdXNlRm9ybUl0ZW1XYXRjaCIsInVzZUZvcm1JdGVtV2F0Y2giLCJhbGxWYWx1ZXMiLCJkZXBWYWx1ZXMiLCJzaG91bGRSZW5kZXIiLCJfdXNlVmFsaWRhdGlvblRyaWdnZXIiLCJ1c2VWYWxpZGF0aW9uVHJpZ2dlciIsIndpdGhUcmlnZ2VyIiwicmVuZGVyRm4iLCJpc1JlcXVpcmVkIiwic2hvd1JlcXVpcmVkIiwicmVxdWlyZWRNYXJrIiwibGFiZWxXaWR0aCIsInVzZU1lbW8iLCJ0b1BlcmNlbnQiLCJ3cmFwcGVyV2lkdGgiLCJtZXJnZWRSdWxlcyIsInZhbGlkYXRlIiwid3JhcFZhbGlkYXRlIiwiYXNzaWduIiwiY29udGVudFByb3BzIiwiX2pzeCIsIkZvcm1JdGVtQ29udGVudCIsInJvb3RTdHlsZSIsIl9kZWZpbmVQcm9wZXJ0eTIiLCJDU1NfVkFSX0xBQkVMX1dJRFRIIiwiQ1NTX1ZBUl9XUkFQUEVSX1dJRFRIIiwiX2pzeHMiLCJqb2luQ2xzIiwibGF5b3V0IiwiY29uY2F0IiwiU3RyaW5nIiwidW5kZWZpbmVkIiwic3R5bGUiLCJUeXBvZ3JhcGh5IiwiTGFiZWwiLCJzaXplIiwiY29sb24iLCJGb3JtSXRlbSIsInVzZUNvbnRleHQiLCJGb3JtQ29udGV4dCIsIkZhbGxiYWNrRm9ybVByb3ZpZGVyIiwiX2RlZmF1bHQiLCJleHBvcnRzIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBQUEsSUFBQUEsV0FBQSxHQUFBQyxPQUFBO0FDQUEsSUFBQUMsTUFBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsV0FBQSxHQUFBQyx1QkFBQSxDQUFBSCxPQUFBO0FBQ0EsSUFBQUksV0FBQSxHQUFBQyxzQkFBQSxDQUFBTCxPQUFBO0FBRUEsSUFBQU0sS0FBQSxHQUFBTixPQUFBO0FBQ0EsSUFBQU8sVUFBQSxHQUFBUCxPQUFBO0FBQ0EsSUFBQVEsT0FBQSxH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LEdBQUcsS0FBQSxLQUFBLENBQUEsR0FBQSxLQUFBLENBQUEsR0FBSEEsR0FBRyxDQUFFQyxPQUFPLEVBQUU7SUFDaEIsT0FBTyxJQUFBd0IsZUFBQSxFQUFDckQsYUFBYSxFQUFBVixNQUFBLENBQUE2RCxNQUFBLENBQUEsQ0FBQSxDQUFBLEVBQUtsRCxLQUFLLENBQUEsQ0FBSTtFQUNyQztFQUVBLE9BQ0UsSUFBQW9ELGVBQUEsRUFBQ29CLHlDQUFvQixFQUFBO0lBQUFsRCxRQUFBLEVBQ25CLElBQUE4QixlQUFBLEVBQUNyRCxhQUFhLEVBQUFWLE1BQUEsQ0FBQTZELE1BQUEsQ0FBQSxDQUFBLENBQUEsRUFBS2xELEtBQUssQ0FBQTtFQUFJLENBQUEsQ0FDUDtBQUUzQjtBQUFDLElBQUF5RSxRQUFBLEdBQUFDLE9BQUEsY0FFY0wsUUFBUSIsImZpbGUiOiJjb21wb25lbnRzL0Zvcm0vRm9ybUl0ZW0uanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBqc3ggYXMgX2pzeCwganN4cyBhcyBfanN4cyB9IGZyb20gXCJyZWFjdC9qc3gtcnVudGltZVwiO1xuaW1wb3J0IHsgdXNlQ29udGV4dCwgdXNlTWVtbyB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IGRlZmF1bHQgYXMgY2xhc3NuYW1lcywgam9pbkNscyB9IGZyb20gJy4uLy4uL3V0aWxzL2NsYXNzbmFtZXMnO1xuaW1wb3J0IFR5cG9ncmFwaHkgZnJvbSAnLi4vVHlwb2dyYXBoeSc7XG5pbXBvcnQgeyBGb3JtQ29udGV4dCB9IGZyb20gJy4vRm9ybSc7XG5pbXBvcnQgeyBDU1NfVkFSX0xBQkVMX1dJRFRILCBDU1NfVkFSX1dSQVBQRVJfV0lEVEgsIERFRkFVTFRfVkFMVUVfUFJPUCB9IGZyb20gJy4vY29uc3RhbnRzJztcbmltcG9ydCB7IHRvUGVyY2VudCwgd3JhcFZhbGlkYXRlIH0gZnJvbSAnLi9oZWxwZXInO1xuaW1wb3J0IHsgRm9ybUl0ZW1Db250ZW50IH0gZnJvbSAnLi9Gb3JtSXRlbUNvbnRlbnQnO1xuaW1wb3J0IHsgRmFsbGJhY2tGb3JtUHJvdmlkZXIsIHVzZUZvcm1JdGVtQ29udGV4dCB9IGZyb20gJy4vdXNlRm9ybUl0ZW1Db250ZXh0JztcbmltcG9ydCB7IHVzZUZvcm1JdGVtV2F0Y2ggfSBmcm9tICcuL3VzZUZvcm1JdGVtV2F0Y2gnO1xuaW1wb3J0IHsgdXNlVmFsaWRhdGlvblRyaWdnZXIgfSBmcm9tICcuL3VzZVZhbGlkYXRpb25UcmlnZ2VyJztcbi8qKlxuICogUnVudGltZSB0eXBlIGd1YXJkIGZvciByZW5kZXItcHJvcCBjaGlsZHJlbi5cbiAqL1xuY29uc3QgaXNSZW5kZXJGbkNoaWxkID0gKGNoaWxkKSA9PiB0eXBlb2YgY2hpbGQgPT09ICdmdW5jdGlvbic7XG4vKipcbiAqIEZvcm0gZmllbGQgd3JhcHBlciB0aGF0IGJyaWRnZXMgYHJlYWN0LWhvb2stZm9ybWAncyBDb250cm9sbGVyIHdpdGggdGhlIEZvcm1cbiAqIGxheW91dCBzeXN0ZW0sIHZhbGlkYXRpb24gc3RhdHVzIGRpc3BsYXksIGFuZCBjb25maWd1cmFibGUgdHJpZ2dlciBiZWhhdmlvci5cbiAqXG4gKiBXaGVuIGEgYG5hbWVgIGlzIHByb3ZpZGVkLCB0aGUgZmllbGQgaXMgcmVnaXN0ZXJlZCB3aXRoIGByZWFjdC1ob29rLWZvcm1gIHZpYVxuICogYSBgQ29udHJvbGxlcmAgYW5kIHN1cHBvcnRzIHZhbGlkYXRpb24gcnVsZXMsIGRlcGVuZGVuY2llcywgYW5kIHN0YXR1cyBmZWVkYmFjay5cbiAqIFdpdGhvdXQgYSBgbmFtZWAsIGl0IHJlbmRlcnMgYXMgYSBmcmVlIHdyYXBwZXIgZm9yIHVuY29udHJvbGxlZCBjb250ZW50LlxuICpcbiAqIFN1cHBvcnRzIHR3byBjaGlsZCBwYXR0ZXJuczpcbiAqIC0gKipSZWFjdCBlbGVtZW50Kio6IGF1dG9tYXRpY2FsbHkgYm91bmQgdmlhIGBSZWFjdC5jbG9uZUVsZW1lbnRgIHdpdGggdmFsdWUvb25DaGFuZ2Uvb25CbHVyLlxuICogLSAqKlJlbmRlci1wcm9wIGZ1bmN0aW9uKio6IHJlY2VpdmVzIGB7IGZpZWxkLCBmaWVsZFN0YXRlLCBmb3JtLCB2YWx1ZXMgfWAgZm9yIGZ1bGwgY29udHJvbC5cbiAqXG4gKiBAdGVtcGxhdGUgVEZpZWxkVmFsdWVzIC0gVGhlIHNoYXBlIG9mIHRoZSBmb3JtIHZhbHVlcy5cbiAqIEBwYXJhbSBwcm9wcyAtIHtAbGluayBGb3JtSXRlbVByb3BzfVxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0c3hcbiAqIC8vIEVsZW1lbnQgY2hpbGQgKGF1dG8tYm91bmQpXG4gKiA8Rm9ybUl0ZW0gbmFtZT1cImVtYWlsXCIgbGFiZWw9XCJFbWFpbFwiIHJ1bGVzPXt7IHJlcXVpcmVkOiB0cnVlIH19PlxuICogICA8SW5wdXQgcGxhY2Vob2xkZXI9XCJFbnRlciBlbWFpbFwiIC8+XG4gKiA8L0Zvcm1JdGVtPlxuICpcbiAqIC8vIFJlbmRlci1wcm9wIGNoaWxkXG4gKiA8Rm9ybUl0ZW0gbmFtZT1cImFncmVlXCI+XG4gKiAgIHsoeyBmaWVsZCB9KSA9PiA8Q2hlY2tib3ggey4uLmZpZWxkfSAvPn1cbiAqIDwvRm9ybUl0ZW0+XG4gKiBgYGBcbiAqL1xuZnVuY3Rpb24gRm9ybUl0ZW1Jbm5lcihwcm9wcykge1xuICAgIGNvbnN0IHsgbmFtZSwgbGFiZWwsIHJlcXVpcmVkLCBydWxlcywgZGVmYXVsdFZhbHVlLCBoZWxwLCBleHRyYSwgdmFsaWRhdGVTdGF0dXMsIGRlcGVuZGVuY2llcywgd2F0Y2hOYW1lcywgc2hvdWxkVXBkYXRlLCB2YWxpZGF0ZVRyaWdnZXIsIHZhbGlkYXRlRmlyc3QsIHZhbGlkYXRlRGVib3VuY2UsIG5vU3R5bGUsIHZhbHVlUHJvcE5hbWUgPSBERUZBVUxUX1ZBTFVFX1BST1AsIGNsYXNzTmFtZSwgbGFiZWxDb2wsIHdyYXBwZXJDb2wsIGNoaWxkcmVuLCB9ID0gcHJvcHM7XG4gICAgY29uc3QgY2xhc3NlcyA9IGNsYXNzbmFtZXMoJ2Zvcm0taXRlbScpO1xuICAgIGNvbnN0IHsgY3R4LCBtZXRob2RzLCBjb250cm9sLCB0cmlnZ2VyIH0gPSB1c2VGb3JtSXRlbUNvbnRleHQobmFtZSk7XG4gICAgY29uc3QgeyBhbGxWYWx1ZXMsIGRlcFZhbHVlcywgc2hvdWxkUmVuZGVyIH0gPSB1c2VGb3JtSXRlbVdhdGNoKHtcbiAgICAgICAgY29udHJvbCxcbiAgICAgICAgbWV0aG9kcyxcbiAgICAgICAgZGVwZW5kZW5jaWVzLFxuICAgICAgICB3YXRjaE5hbWVzLFxuICAgICAgICBzaG91bGRVcGRhdGUsXG4gICAgICAgIG5hbWUsXG4gICAgfSk7XG4gICAgY29uc3QgeyB3aXRoVHJpZ2dlciB9ID0gdXNlVmFsaWRhdGlvblRyaWdnZXIoe1xuICAgICAgICBuYW1lLFxuICAgICAgICB0cmlnZ2VyLFxuICAgICAgICB2YWxpZGF0ZVRyaWdnZXIsXG4gICAgICAgIHZhbGlkYXRlRGVib3VuY2UsXG4gICAgICAgIGRlcGVuZGVuY2llcyxcbiAgICAgICAgZGVwVmFsdWVzLFxuICAgIH0pO1xuICAgIGNvbnN0IHJlbmRlckZuID0gaXNSZW5kZXJGbkNoaWxkKGNoaWxkcmVuKSA/IGNoaWxkcmVuIDogbnVsbDtcbiAgICBjb25zdCBpc1JlcXVpcmVkID0gcmVxdWlyZWQgIT09IG51bGwgJiYgcmVxdWlyZWQgIT09IHZvaWQgMCA/IHJlcXVpcmVkIDogISEocnVsZXMgPT09IG51bGwgfHwgcnVsZXMgPT09IHZvaWQgMCA/IHZvaWQgMCA6IHJ1bGVzLnJlcXVpcmVkKTtcbiAgICBjb25zdCBzaG93UmVxdWlyZWQgPSAoY3R4ID09PSBudWxsIHx8IGN0eCA9PT0gdm9pZCAwID8gdm9pZCAwIDogY3R4LnJlcXVpcmVkTWFyaykgIT09IGZhbHNlO1xuICAgIGNvbnN0IGxhYmVsV2lkdGggPSB1c2VNZW1vKCgpID0+IHRvUGVyY2VudChsYWJlbENvbCAhPT0gbnVsbCAmJiBsYWJlbENvbCAhPT0gdm9pZCAwID8gbGFiZWxDb2wgOiBjdHggPT09IG51bGwgfHwgY3R4ID09PSB2b2lkIDAgPyB2b2lkIDAgOiBjdHgubGFiZWxDb2wpLCBbbGFiZWxDb2wsIGN0eCA9PT0gbnVsbCB8fCBjdHggPT09IHZvaWQgMCA/IHZvaWQgMCA6IGN0eC5sYWJlbENvbF0pO1xuICAgIGNvbnN0IHdyYXBwZXJXaWR0aCA9IHVzZU1lbW8oKCkgPT4gdG9QZXJjZW50KHdyYXBwZXJDb2wgIT09IG51bGwgJiYgd3JhcHBlckNvbCAhPT0gdm9pZCAwID8gd3JhcHBlckNvbCA6IGN0eCA9PT0gbnVsbCB8fCBjdHggPT09IHZvaWQgMCA/IHZvaWQgMCA6IGN0eC53cmFwcGVyQ29sKSwgW3dyYXBwZXJDb2wsIGN0eCA9PT0gbnVsbCB8fCBjdHggPT09IHZvaWQgMCA/IHZvaWQgMCA6IGN0eC53cmFwcGVyQ29sXSk7XG4gICAgY29uc3QgbWVyZ2VkUnVsZXMgPSB1c2VNZW1vKCgpID0+IHtcbiAgICAgICAgaWYgKCEocnVsZXMgPT09IG51bGwgfHwgcnVsZXMgPT09IHZvaWQgMCA/IHZvaWQgMCA6IHJ1bGVzLnZhbGlkYXRlKSB8fCAhdmFsaWRhdGVGaXJzdClcbiAgICAgICAgICAgIHJldHVybiBydWxlcztcbiAgICAgICAgY29uc3QgdmFsaWRhdGUgPSB3cmFwVmFsaWRhdGUocnVsZXMudmFsaWRhdGUsIHZhbGlkYXRlRmlyc3QpO1xuICAgICAgICBpZiAodmFsaWRhdGUgPT09IHJ1bGVzLnZhbGlkYXRlKVxuICAgICAgICAgICAgcmV0dXJuIHJ1bGVzO1xuICAgICAgICByZXR1cm4gT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LCBydWxlcyksIHsgdmFsaWRhdGUgfSk7XG4gICAgfSwgW3J1bGVzLCB2YWxpZGF0ZUZpcnN0XSk7XG4gICAgY29uc3QgY29udGVudFByb3BzID0gdXNlTWVtbygoKSA9PiAoe1xuICAgICAgICBuYW1lLFxuICAgICAgICBjb250cm9sLFxuICAgICAgICBtZXRob2RzLFxuICAgICAgICBydWxlczogbWVyZ2VkUnVsZXMsXG4gICAgICAgIGRlZmF1bHRWYWx1ZSxcbiAgICAgICAgdmFsaWRhdGVTdGF0dXMsXG4gICAgICAgIHZhbHVlUHJvcE5hbWUsXG4gICAgICAgIGhlbHAsXG4gICAgICAgIGV4dHJhLFxuICAgICAgICBjdHgsXG4gICAgICAgIGNoaWxkcmVuLFxuICAgICAgICByZW5kZXJGbixcbiAgICAgICAgYWxsVmFsdWVzLFxuICAgICAgICBzaG91bGRVcGRhdGUsXG4gICAgICAgIHNob3VsZFJlbmRlcixcbiAgICAgICAgd2l0aFRyaWdnZXIsXG4gICAgfSksIFtcbiAgICAgICAgbmFtZSwgY29udHJvbCwgbWV0aG9kcywgbWVyZ2VkUnVsZXMsIGRlZmF1bHRWYWx1ZSwgdmFsaWRhdGVTdGF0dXMsXG4gICAgICAgIHZhbHVlUHJvcE5hbWUsIGhlbHAsIGV4dHJhLCBjdHgsIGNoaWxkcmVuLCByZW5kZXJGbiwgYWxsVmFsdWVzLFxuICAgICAgICBzaG91bGRVcGRhdGUsIHNob3VsZFJlbmRlciwgd2l0aFRyaWdnZXIsXG4gICAgXSk7XG4gICAgaWYgKG5vU3R5bGUpIHtcbiAgICAgICAgcmV0dXJuIF9qc3goRm9ybUl0ZW1Db250ZW50LCBPYmplY3QuYXNzaWduKHt9LCBjb250ZW50UHJvcHMpKTtcbiAgICB9XG4gICAgY29uc3Qgcm9vdFN0eWxlID0ge1xuICAgICAgICBbQ1NTX1ZBUl9MQUJFTF9XSURUSF06IGxhYmVsV2lkdGgsXG4gICAgICAgIFtDU1NfVkFSX1dSQVBQRVJfV0lEVEhdOiB3cmFwcGVyV2lkdGgsXG4gICAgfTtcbiAgICByZXR1cm4gKF9qc3hzKFwiZGl2XCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdyb290Jywgam9pbkNscyhjbGFzc05hbWUsIChjdHggPT09IG51bGwgfHwgY3R4ID09PSB2b2lkIDAgPyB2b2lkIDAgOiBjdHgubGF5b3V0KSAmJiBjbGFzc2VzKGBsYXlvdXQtJHtjdHgubGF5b3V0fWApKSksIFwiZGF0YS1mb3JtLWl0ZW0tbmFtZVwiOiBuYW1lID8gU3RyaW5nKG5hbWUpIDogdW5kZWZpbmVkLCBzdHlsZTogcm9vdFN0eWxlLCBjaGlsZHJlbjogW2xhYmVsICYmIChfanN4cyhcImRpdlwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygnbGFiZWwnLCBqb2luQ2xzKHNob3dSZXF1aXJlZCAmJiBpc1JlcXVpcmVkICYmIGNsYXNzZXMoJ2xhYmVsLXJlcXVpcmVkJykpKSwgY2hpbGRyZW46IFtfanN4KFR5cG9ncmFwaHkuTGFiZWwsIHsgc2l6ZTogJ3MnLCBjaGlsZHJlbjogbGFiZWwgfSksIChjdHggPT09IG51bGwgfHwgY3R4ID09PSB2b2lkIDAgPyB2b2lkIDAgOiBjdHguY29sb24pICYmIF9qc3goXCJzcGFuXCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdjb2xvbicpLCBjaGlsZHJlbjogXCI6XCIgfSldIH0pKSwgX2pzeChcImRpdlwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygnY29udHJvbCcpLCBjaGlsZHJlbjogX2pzeChGb3JtSXRlbUNvbnRlbnQsIE9iamVjdC5hc3NpZ24oe30sIGNvbnRlbnRQcm9wcykpIH0pXSB9KSk7XG59XG5leHBvcnQgZnVuY3Rpb24gRm9ybUl0ZW0ocHJvcHMpIHtcbiAgICBjb25zdCBjdHggPSB1c2VDb250ZXh0KEZvcm1Db250ZXh0KTtcbiAgICBpZiAoY3R4ID09PSBudWxsIHx8IGN0eCA9PT0gdm9pZCAwID8gdm9pZCAwIDogY3R4Lm1ldGhvZHMpIHtcbiAgICAgICAgcmV0dXJuIF9qc3goRm9ybUl0ZW1Jbm5lciwgT2JqZWN0LmFzc2lnbih7fSwgcHJvcHMpKTtcbiAgICB9XG4gICAgcmV0dXJuIChfanN4KEZhbGxiYWNrRm9ybVByb3ZpZGVyLCB7IGNoaWxkcmVuOiBfanN4KEZvcm1JdGVtSW5uZXIsIE9iamVjdC5hc3NpZ24oe30sIHByb3BzKSkgfSkpO1xufVxuZXhwb3J0IGRlZmF1bHQgRm9ybUl0ZW07IixudWxsXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyJ9
@@ -0,0 +1,18 @@
1
+ import type { FieldValues } from 'react-hook-form';
2
+ import type { FormItemContentProps } from './interface';
3
+ /**
4
+ * Renders the inner content of a `<FormItem>`.
5
+ *
6
+ * Handles two branches:
7
+ * - **Free branch** (no `name`): renders children directly or via a render-prop,
8
+ * optionally gated by `shouldUpdate`.
9
+ * - **Controlled branch** (has `name`): wraps children in a `react-hook-form`
10
+ * `Controller`, injecting field bindings and validation-trigger wrappers.
11
+ *
12
+ * Both branches render their output inside a {@link MetaWrapper} for consistent
13
+ * help/error/extra display.
14
+ *
15
+ * @template TFieldValues - The shape of the form values.
16
+ * @param props - {@link FormItemContentProps}
17
+ */
18
+ export declare function FormItemContent<TFieldValues extends FieldValues = FieldValues>({ name, control, methods, rules, defaultValue, validateStatus, valuePropName, help, extra, ctx, children, renderFn, allValues, shouldUpdate, shouldRender, withTrigger, }: FormItemContentProps<TFieldValues>): import("react/jsx-runtime").JSX.Element;