@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.
- package/AGENTS.md +393 -0
- package/es/components/CheckboxGroup/CheckboxGroup.d.ts +3 -3
- package/es/components/CheckboxGroup/CheckboxGroup.js +94 -91
- package/es/components/CheckboxGroup/interface.d.ts +21 -15
- package/es/components/CheckboxGroup/style/CheckboxGroup.scss +0 -7
- package/es/components/Form/Form.d.ts +29 -0
- package/es/components/Form/Form.js +188 -0
- package/es/components/Form/FormItem.d.ts +4 -0
- package/es/components/Form/FormItem.js +165 -0
- package/es/components/Form/FormItemContent.d.ts +18 -0
- package/es/components/Form/FormItemContent.js +146 -0
- package/es/components/Form/constants.d.ts +46 -0
- package/es/components/Form/constants.js +65 -0
- package/es/components/Form/helper.d.ts +120 -0
- package/es/components/Form/helper.js +284 -0
- package/es/components/Form/index.d.ts +20 -0
- package/es/components/Form/index.js +21 -0
- package/es/components/Form/interface.d.ts +238 -0
- package/es/components/Form/interface.js +2 -0
- package/es/components/Form/style/Form.css +1 -0
- package/es/components/Form/style/Form.scss +167 -0
- package/es/components/Form/style/css.js +2 -0
- package/es/components/Form/style/index.d.ts +1 -0
- package/es/components/Form/style/index.js +2 -0
- package/es/components/Form/useFormItemContext.d.ts +32 -0
- package/es/components/Form/useFormItemContext.js +55 -0
- package/es/components/Form/useFormItemWatch.d.ts +51 -0
- package/es/components/Form/useFormItemWatch.js +69 -0
- package/es/components/Form/useValidationTrigger.d.ts +40 -0
- package/es/components/Form/useValidationTrigger.js +74 -0
- package/es/components/Input/Input.js +72 -74
- package/es/components/Input/interface.d.ts +9 -9
- package/es/components/InputAmount/InputAmount.js +228 -276
- package/es/components/InputAmount/helper.d.ts +46 -0
- package/es/components/InputAmount/helper.js +115 -0
- package/es/components/ProForm/ProForm.d.ts +33 -0
- package/es/components/ProForm/ProForm.js +208 -0
- package/es/components/ProForm/ProFormDependency.d.ts +12 -0
- package/es/components/ProForm/ProFormDependency.js +61 -0
- package/es/components/ProForm/ProFormList.d.ts +19 -0
- package/es/components/ProForm/ProFormList.js +348 -0
- package/es/components/ProForm/Submitter.d.ts +21 -0
- package/es/components/ProForm/Submitter.js +76 -0
- package/es/components/ProForm/constants.d.ts +34 -0
- package/es/components/ProForm/constants.js +40 -0
- package/es/components/ProForm/fields/ProFormCheckbox.d.ts +6 -0
- package/es/components/ProForm/fields/ProFormCheckbox.js +11 -0
- package/es/components/ProForm/fields/ProFormCheckboxGroup.d.ts +6 -0
- package/es/components/ProForm/fields/ProFormCheckboxGroup.js +46 -0
- package/es/components/ProForm/fields/ProFormDigit.d.ts +6 -0
- package/es/components/ProForm/fields/ProFormDigit.js +15 -0
- package/es/components/ProForm/fields/ProFormMoney.d.ts +6 -0
- package/es/components/ProForm/fields/ProFormMoney.js +10 -0
- package/es/components/ProForm/fields/ProFormMultiSelect.d.ts +6 -0
- package/es/components/ProForm/fields/ProFormMultiSelect.js +27 -0
- package/es/components/ProForm/fields/ProFormPassword.d.ts +6 -0
- package/es/components/ProForm/fields/ProFormPassword.js +16 -0
- package/es/components/ProForm/fields/ProFormRadio.d.ts +6 -0
- package/es/components/ProForm/fields/ProFormRadio.js +13 -0
- package/es/components/ProForm/fields/ProFormSelect.d.ts +6 -0
- package/es/components/ProForm/fields/ProFormSelect.js +13 -0
- package/es/components/ProForm/fields/ProFormSwitch.d.ts +6 -0
- package/es/components/ProForm/fields/ProFormSwitch.js +11 -0
- package/es/components/ProForm/fields/ProFormText.d.ts +6 -0
- package/es/components/ProForm/fields/ProFormText.js +15 -0
- package/es/components/ProForm/fields/ProFormTextArea.d.ts +6 -0
- package/es/components/ProForm/fields/ProFormTextArea.js +16 -0
- package/es/components/ProForm/fields/createProFormField.d.ts +43 -0
- package/es/components/ProForm/fields/createProFormField.js +200 -0
- package/es/components/ProForm/fields/index.d.ts +12 -0
- package/es/components/ProForm/fields/index.js +13 -0
- package/es/components/ProForm/index.d.ts +7 -0
- package/es/components/ProForm/index.js +7 -0
- package/es/components/ProForm/interface.d.ts +306 -0
- package/es/components/ProForm/interface.js +2 -0
- package/es/components/ProForm/layouts/DrawerForm.d.ts +16 -0
- package/es/components/ProForm/layouts/DrawerForm.js +79 -0
- package/es/components/ProForm/layouts/ModalForm.d.ts +16 -0
- package/es/components/ProForm/layouts/ModalForm.js +89 -0
- package/es/components/ProForm/layouts/QueryFilter.d.ts +21 -0
- package/es/components/ProForm/layouts/QueryFilter.js +132 -0
- package/es/components/ProForm/layouts/StepsForm.d.ts +13 -0
- package/es/components/ProForm/layouts/StepsForm.js +295 -0
- package/es/components/ProForm/layouts/index.d.ts +4 -0
- package/es/components/ProForm/layouts/index.js +5 -0
- package/es/components/ProForm/layouts/useOverlayForm.d.ts +53 -0
- package/es/components/ProForm/layouts/useOverlayForm.js +143 -0
- package/es/components/ProForm/style/ProForm.module.css +1 -0
- package/es/components/ProForm/style/ProForm.module.scss +59 -0
- package/es/components/ProForm/style/css.js +3 -0
- package/es/components/ProForm/style/index.d.ts +1 -0
- package/es/components/ProForm/style/index.js +3 -0
- package/es/components/ProForm/utils.d.ts +72 -0
- package/es/components/ProForm/utils.js +206 -0
- package/es/components/RadioGroup/RadioGroup.js +46 -23
- package/es/components/RadioGroup/interface.d.ts +3 -1
- package/es/components/Select/Select.d.ts +1 -1
- package/es/components/Select/Select.js +113 -106
- package/es/components/Select/constants.d.ts +18 -0
- package/es/components/Select/constants.js +19 -0
- package/es/components/Sidebar/Sidebar.js +21 -23
- package/es/components/Sidebar/SidebarLogo.d.ts +7 -0
- package/es/components/Sidebar/SidebarLogo.js +33 -0
- package/es/components/Sidebar/SimplySidebar.d.ts +2 -2
- package/es/components/Sidebar/SimplySidebar.js +18 -22
- package/es/components/Sidebar/Stepper.js +14 -14
- package/es/components/Sidebar/constants.d.ts +16 -0
- package/es/components/Sidebar/constants.js +17 -0
- package/es/components/Sidebar/style/Stepper.css +1 -1
- package/es/components/Sidebar/style/Stepper.scss +11 -1
- package/es/components/Switch/Switch.js +28 -25
- package/es/components/Switch/interface.d.ts +9 -4
- package/es/components/useControlledState/index.d.ts +14 -0
- package/es/components/useControlledState/index.js +32 -0
- package/es/components/useEventCallback/index.d.ts +11 -0
- package/es/components/useEventCallback/index.js +17 -0
- package/es/components/useLayoutEffect/index.d.ts +11 -0
- package/es/components/useLayoutEffect/index.js +17 -0
- package/es/components/useLayoutState/index.d.ts +13 -0
- package/es/components/useLayoutState/index.js +71 -0
- package/es/components/useMemoizedFn/index.d.ts +12 -0
- package/es/components/useMemoizedFn/index.js +27 -0
- package/es/components/usePrevious/index.d.ts +11 -0
- package/es/components/usePrevious/index.js +19 -0
- package/es/components/useSafeState/index.d.ts +12 -0
- package/es/components/useSafeState/index.js +24 -0
- package/es/components/useSyncState/index.d.ts +14 -0
- package/es/components/useSyncState/index.js +37 -0
- package/es/components/useUpdateEffect/index.d.ts +9 -0
- package/es/components/useUpdateEffect/index.js +19 -0
- package/es/index.css +1 -1
- package/es/index.d.ts +21 -2
- package/es/index.js +19 -1
- package/jest.setup.d.ts +1 -0
- package/jest.setup.ts +1 -0
- package/lib/components/CheckboxGroup/CheckboxGroup.d.ts +3 -3
- package/lib/components/CheckboxGroup/CheckboxGroup.js +92 -89
- package/lib/components/CheckboxGroup/interface.d.ts +21 -15
- package/lib/components/CheckboxGroup/style/CheckboxGroup.scss +0 -7
- package/lib/components/Form/Form.d.ts +29 -0
- package/lib/components/Form/Form.js +199 -0
- package/lib/components/Form/FormItem.d.ts +4 -0
- package/lib/components/Form/FormItem.js +176 -0
- package/lib/components/Form/FormItemContent.d.ts +18 -0
- package/lib/components/Form/FormItemContent.js +156 -0
- package/lib/components/Form/constants.d.ts +46 -0
- package/lib/components/Form/constants.js +71 -0
- package/lib/components/Form/helper.d.ts +120 -0
- package/lib/components/Form/helper.js +290 -0
- package/lib/components/Form/index.d.ts +20 -0
- package/lib/components/Form/index.js +45 -0
- package/lib/components/Form/interface.d.ts +238 -0
- package/lib/components/Form/interface.js +6 -0
- package/lib/components/Form/style/Form.css +1 -0
- package/lib/components/Form/style/Form.scss +167 -0
- package/lib/components/Form/style/css.js +4 -0
- package/lib/components/Form/style/index.d.ts +1 -0
- package/lib/components/Form/style/index.js +4 -0
- package/lib/components/Form/useFormItemContext.d.ts +32 -0
- package/lib/components/Form/useFormItemContext.js +62 -0
- package/lib/components/Form/useFormItemWatch.d.ts +51 -0
- package/lib/components/Form/useFormItemWatch.js +76 -0
- package/lib/components/Form/useValidationTrigger.d.ts +40 -0
- package/lib/components/Form/useValidationTrigger.js +81 -0
- package/lib/components/Input/Input.js +71 -73
- package/lib/components/Input/interface.d.ts +9 -9
- package/lib/components/InputAmount/InputAmount.js +230 -278
- package/lib/components/InputAmount/helper.d.ts +46 -0
- package/lib/components/InputAmount/helper.js +122 -0
- package/lib/components/ProForm/ProForm.d.ts +33 -0
- package/lib/components/ProForm/ProForm.js +216 -0
- package/lib/components/ProForm/ProFormDependency.d.ts +12 -0
- package/lib/components/ProForm/ProFormDependency.js +67 -0
- package/lib/components/ProForm/ProFormList.d.ts +19 -0
- package/lib/components/ProForm/ProFormList.js +355 -0
- package/lib/components/ProForm/Submitter.d.ts +21 -0
- package/lib/components/ProForm/Submitter.js +83 -0
- package/lib/components/ProForm/constants.d.ts +34 -0
- package/lib/components/ProForm/constants.js +46 -0
- package/lib/components/ProForm/fields/ProFormCheckbox.d.ts +6 -0
- package/lib/components/ProForm/fields/ProFormCheckbox.js +18 -0
- package/lib/components/ProForm/fields/ProFormCheckboxGroup.d.ts +6 -0
- package/lib/components/ProForm/fields/ProFormCheckboxGroup.js +53 -0
- package/lib/components/ProForm/fields/ProFormDigit.d.ts +6 -0
- package/lib/components/ProForm/fields/ProFormDigit.js +22 -0
- package/lib/components/ProForm/fields/ProFormMoney.d.ts +6 -0
- package/lib/components/ProForm/fields/ProFormMoney.js +17 -0
- package/lib/components/ProForm/fields/ProFormMultiSelect.d.ts +6 -0
- package/lib/components/ProForm/fields/ProFormMultiSelect.js +34 -0
- package/lib/components/ProForm/fields/ProFormPassword.d.ts +6 -0
- package/lib/components/ProForm/fields/ProFormPassword.js +23 -0
- package/lib/components/ProForm/fields/ProFormRadio.d.ts +6 -0
- package/lib/components/ProForm/fields/ProFormRadio.js +20 -0
- package/lib/components/ProForm/fields/ProFormSelect.d.ts +6 -0
- package/lib/components/ProForm/fields/ProFormSelect.js +20 -0
- package/lib/components/ProForm/fields/ProFormSwitch.d.ts +6 -0
- package/lib/components/ProForm/fields/ProFormSwitch.js +18 -0
- package/lib/components/ProForm/fields/ProFormText.d.ts +6 -0
- package/lib/components/ProForm/fields/ProFormText.js +22 -0
- package/lib/components/ProForm/fields/ProFormTextArea.d.ts +6 -0
- package/lib/components/ProForm/fields/ProFormTextArea.js +23 -0
- package/lib/components/ProForm/fields/createProFormField.d.ts +43 -0
- package/lib/components/ProForm/fields/createProFormField.js +208 -0
- package/lib/components/ProForm/fields/index.d.ts +12 -0
- package/lib/components/ProForm/fields/index.js +90 -0
- package/lib/components/ProForm/index.d.ts +7 -0
- package/lib/components/ProForm/index.js +73 -0
- package/lib/components/ProForm/interface.d.ts +306 -0
- package/lib/components/ProForm/interface.js +6 -0
- package/lib/components/ProForm/layouts/DrawerForm.d.ts +16 -0
- package/lib/components/ProForm/layouts/DrawerForm.js +86 -0
- package/lib/components/ProForm/layouts/ModalForm.d.ts +16 -0
- package/lib/components/ProForm/layouts/ModalForm.js +96 -0
- package/lib/components/ProForm/layouts/QueryFilter.d.ts +21 -0
- package/lib/components/ProForm/layouts/QueryFilter.js +139 -0
- package/lib/components/ProForm/layouts/StepsForm.d.ts +13 -0
- package/lib/components/ProForm/layouts/StepsForm.js +302 -0
- package/lib/components/ProForm/layouts/index.d.ts +4 -0
- package/lib/components/ProForm/layouts/index.js +40 -0
- package/lib/components/ProForm/layouts/useOverlayForm.d.ts +53 -0
- package/lib/components/ProForm/layouts/useOverlayForm.js +150 -0
- package/lib/components/ProForm/style/ProForm.module.css +1 -0
- package/lib/components/ProForm/style/ProForm.module.scss +59 -0
- package/lib/components/ProForm/style/css.js +4 -0
- package/lib/components/ProForm/style/index.d.ts +1 -0
- package/lib/components/ProForm/style/index.js +4 -0
- package/lib/components/ProForm/utils.d.ts +72 -0
- package/lib/components/ProForm/utils.js +213 -0
- package/lib/components/RadioGroup/RadioGroup.js +45 -22
- package/lib/components/RadioGroup/interface.d.ts +3 -1
- package/lib/components/Select/Select.d.ts +1 -1
- package/lib/components/Select/Select.js +114 -107
- package/lib/components/Select/constants.d.ts +18 -0
- package/lib/components/Select/constants.js +25 -0
- package/lib/components/Sidebar/Sidebar.js +21 -23
- package/lib/components/Sidebar/SidebarLogo.d.ts +7 -0
- package/lib/components/Sidebar/SidebarLogo.js +39 -0
- package/lib/components/Sidebar/SimplySidebar.d.ts +2 -2
- package/lib/components/Sidebar/SimplySidebar.js +17 -21
- package/lib/components/Sidebar/Stepper.js +14 -14
- package/lib/components/Sidebar/constants.d.ts +16 -0
- package/lib/components/Sidebar/constants.js +23 -0
- package/lib/components/Sidebar/style/Stepper.css +1 -1
- package/lib/components/Sidebar/style/Stepper.scss +11 -1
- package/lib/components/Switch/Switch.js +27 -24
- package/lib/components/Switch/interface.d.ts +9 -4
- package/lib/components/useControlledState/index.d.ts +14 -0
- package/lib/components/useControlledState/index.js +39 -0
- package/lib/components/useEventCallback/index.d.ts +11 -0
- package/lib/components/useEventCallback/index.js +24 -0
- package/lib/components/useLayoutEffect/index.d.ts +11 -0
- package/lib/components/useLayoutEffect/index.js +23 -0
- package/lib/components/useLayoutState/index.d.ts +13 -0
- package/lib/components/useLayoutState/index.js +79 -0
- package/lib/components/useMemoizedFn/index.d.ts +12 -0
- package/lib/components/useMemoizedFn/index.js +33 -0
- package/lib/components/usePrevious/index.d.ts +11 -0
- package/lib/components/usePrevious/index.js +25 -0
- package/lib/components/useSafeState/index.d.ts +12 -0
- package/lib/components/useSafeState/index.js +31 -0
- package/lib/components/useSyncState/index.d.ts +14 -0
- package/lib/components/useSyncState/index.js +44 -0
- package/lib/components/useUpdateEffect/index.d.ts +9 -0
- package/lib/components/useUpdateEffect/index.js +25 -0
- package/lib/index.css +1 -1
- package/lib/index.d.ts +21 -2
- package/lib/index.js +213 -1
- 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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvRm9ybS9Gb3JtSXRlbS5qcyIsImNvbXBvbmVudHMvc3JjL2NvbXBvbmVudHMvRm9ybS9Gb3JtSXRlbS50c3giXSwibmFtZXMiOlsiX2pzeFJ1bnRpbWUiLCJyZXF1aXJlIiwiX3JlYWN0IiwiX2NsYXNzbmFtZXMiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsIl9UeXBvZ3JhcGh5IiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl9Gb3JtIiwiX2NvbnN0YW50cyIsIl9oZWxwZXIiLCJfRm9ybUl0ZW1Db250ZW50IiwiX3VzZUZvcm1JdGVtQ29udGV4dDIiLCJfdXNlRm9ybUl0ZW1XYXRjaDIiLCJfdXNlVmFsaWRhdGlvblRyaWdnZXIyIiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwiZSIsIldlYWtNYXAiLCJyIiwidCIsIl9fZXNNb2R1bGUiLCJfdHlwZW9mIiwiaGFzIiwiZ2V0IiwibiIsIl9fcHJvdG9fXyIsImEiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsInUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJpIiwic2V0IiwiaXNSZW5kZXJGbkNoaWxkIiwiY2hpbGQiLCJGb3JtSXRlbUlubmVyIiwicHJvcHMiLCJuYW1lIiwibGFiZWwiLCJyZXF1aXJlZCIsInJ1bGVzIiwiZGVmYXVsdFZhbHVlIiwiaGVscCIsImV4dHJhIiwidmFsaWRhdGVTdGF0dXMiLCJkZXBlbmRlbmNpZXMiLCJ3YXRjaE5hbWVzIiwic2hvdWxkVXBkYXRlIiwidmFsaWRhdGVUcmlnZ2VyIiwidmFsaWRhdGVGaXJzdCIsInZhbGlkYXRlRGVib3VuY2UiLCJub1N0eWxlIiwiX3Byb3BzJHZhbHVlUHJvcE5hbWUiLCJ2YWx1ZVByb3BOYW1lIiwiREVGQVVMVF9WQUxVRV9QUk9QIiwiY2xhc3NOYW1lIiwibGFiZWxDb2wiLCJ3cmFwcGVyQ29sIiwiY2hpbGRyZW4iLCJjbGFzc2VzIiwiY2xhc3NuYW1lcyIsIl91c2VGb3JtSXRlbUNvbnRleHQiLCJ1c2VGb3JtSXRlbUNvbnRleHQiLCJjdHgiLCJtZXRob2RzIiwiY29udHJvbCIsInRyaWdnZXIiLCJfdXNlRm9ybUl0ZW1XYXRjaCIsInVzZUZvcm1JdGVtV2F0Y2giLCJhbGxWYWx1ZXMiLCJkZXBWYWx1ZXMiLCJzaG91bGRSZW5kZXIiLCJfdXNlVmFsaWRhdGlvblRyaWdnZXIiLCJ1c2VWYWxpZGF0aW9uVHJpZ2dlciIsIndpdGhUcmlnZ2VyIiwicmVuZGVyRm4iLCJpc1JlcXVpcmVkIiwic2hvd1JlcXVpcmVkIiwicmVxdWlyZWRNYXJrIiwibGFiZWxXaWR0aCIsInVzZU1lbW8iLCJ0b1BlcmNlbnQiLCJ3cmFwcGVyV2lkdGgiLCJtZXJnZWRSdWxlcyIsInZhbGlkYXRlIiwid3JhcFZhbGlkYXRlIiwiYXNzaWduIiwiY29udGVudFByb3BzIiwiX2pzeCIsIkZvcm1JdGVtQ29udGVudCIsInJvb3RTdHlsZSIsIl9kZWZpbmVQcm9wZXJ0eTIiLCJDU1NfVkFSX0xBQkVMX1dJRFRIIiwiQ1NTX1ZBUl9XUkFQUEVSX1dJRFRIIiwiX2pzeHMiLCJqb2luQ2xzIiwibGF5b3V0IiwiY29uY2F0IiwiU3RyaW5nIiwidW5kZWZpbmVkIiwic3R5bGUiLCJUeXBvZ3JhcGh5IiwiTGFiZWwiLCJzaXplIiwiY29sb24iLCJGb3JtSXRlbSIsInVzZUNvbnRleHQiLCJGb3JtQ29udGV4dCIsIkZhbGxiYWNrRm9ybVByb3ZpZGVyIiwiX2RlZmF1bHQiLCJleHBvcnRzIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBQUEsSUFBQUEsV0FBQSxHQUFBQyxPQUFBO0FDQUEsSUFBQUMsTUFBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsV0FBQSxHQUFBQyx1QkFBQSxDQUFBSCxPQUFBO0FBQ0EsSUFBQUksV0FBQSxHQUFBQyxzQkFBQSxDQUFBTCxPQUFBO0FBRUEsSUFBQU0sS0FBQSxHQUFBTixPQUFBO0FBQ0EsSUFBQU8sVUFBQSxHQUFBUCxPQUFBO0FBQ0EsSUFBQVEsT0FBQSxHQUFBUixPQUFBO0FBQ0EsSUFBQVMsZ0JBQUEsR0FBQVQsT0FBQTtBQUNBLElBQUFVLG9CQUFBLEdBQUFWLE9BQUE7QUFDQSxJQUFBVyxrQkFBQSxHQUFBWCxPQUFBO0FBQ0EsSUFBQVksc0JBQUEsR0FBQVosT0FBQTtBQUE4RCxTQUFBYSx5QkFBQUMsQ0FBQSw2QkFBQUMsT0FBQSxtQkFBQUMsQ0FBQSxPQUFBRCxPQUFBLElBQUFFLENBQUEsT0FBQUYsT0FBQSxZQUFBRix3QkFBQSxZQUFBQSx5QkFBQUMsQ0FBQSxXQUFBQSxDQUFBLEdBQUFHLENBQUEsR0FBQUQsQ0FBQSxLQUFBRixDQUFBO0FBQUEsU0FBQVgsd0JBQUFXLENBQUEsRUFBQUUsQ0FBQSxTQUFBQSxDQUFBLElBQUFGLENBQUEsSUFBQUEsQ0FBQSxDQUFBSSxVQUFBLFNBQUFKLENBQUEsZUFBQUEsQ0FBQSxnQkFBQUssT0FBQSxDQUFBTCxDQUFBLDBCQUFBQSxDQUFBLHNCQUFBQSxDQUFBLFFBQUFHLENBQUEsR0FBQUosd0JBQUEsQ0FBQUcsQ0FBQSxPQUFBQyxDQUFBLElBQUFBLENBQUEsQ0FBQUcsR0FBQSxDQUFBTixDQUFBLFVBQUFHLENBQUEsQ0FBQUksR0FBQSxDQUFBUCxDQUFBLE9BQUFRLENBQUEsS0FBQUMsU0FBQSxVQUFBQyxDQUFBLEdBQUFDLE1BQUEsQ0FBQUMsY0FBQSxJQUFBRCxNQUFBLENBQUFFLHdCQUFBLFdBQUFDLENBQUEsSUFBQWQsQ0FBQSxvQkFBQWMsQ0FBQSxPQUFBQyxjQUFBLENBQUFDLElBQUEsQ0FBQWhCLENBQUEsRUFBQWMsQ0FBQSxTQUFBRyxDQUFBLEdBQUFQLENBQUEsR0FBQUMsTUFBQSxDQUFBRSx3QkFBQSxDQUFBYixDQUFBLEVBQUFjLENBQUEsVUFBQUcsQ0FBQSxLQUFBQSxDQUFBLENBQUFWLEdBQUEsSUFBQVUsQ0FBQSxDQUFBQyxHQUFBLElBQUFQLE1BQUEsQ0FBQUMsY0FBQSxDQUFBSixDQUFBLEVBQUFNLENBQUEsRUFBQUcsQ0FBQSxJQUFBVCxDQUFBLENBQUFNLENBQUEsSUFBQWQsQ0FBQSxDQUFBYyxDQUFBLFlBQUFOLENBQUEsY0FBQVIsQ0FBQSxFQUFBRyxDQUFBLElBQUFBLENBQUEsQ0FBQWUsR0FBQSxDQUFBbEIsQ0FBQSxFQUFBUSxDQUFBLEdBQUFBLENBQUE7QUFHOUQ7QUREQTtBQUNBO0FDR0EsSUFBTVcsZUFBZSxHQUFHLFNBQWxCQSxlQUFlQSxDQUNuQkMsS0FBOEM7RUFBQSxPQUNGLE9BQU9BLEtBQUssS0FBSyxVQUFVO0FBQUE7QUFFekU7QURKQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUNNQSxTQUFTQyxhQUFhQSxDQUFpREMsS0FBa0MsRUFBQTtFQUN2RyxJQUNFQyxJQUFJLEdBb0JGRCxLQUFLLENBcEJQQyxJQUFJO0lBQ0pDLEtBQUssR0FtQkhGLEtBQUssQ0FuQlBFLEtBQUs7SUFDTEMsUUFBUSxHQWtCTkgsS0FBSyxDQWxCUEcsUUFBUTtJQUNSQyxLQUFLLEdBaUJISixLQUFLLENBakJQSSxLQUFLO0lBQ0xDLFlBQVksR0FnQlZMLEtBQUssQ0FoQlBLLFlBQVk7SUFDWkMsSUFBSSxHQWVGTixLQUFLLENBZlBNLElBQUk7SUFDSkMsS0FBSyxHQWNIUCxLQUFLLENBZFBPLEtBQUs7SUFDTEMsY0FBYyxHQWFaUixLQUFLLENBYlBRLGNBQWM7SUFDZEMsWUFBWSxHQVlWVCxLQUFLLENBWlBTLFlBQVk7SUFDWkMsVUFBVSxHQVdSVixLQUFLLENBWFBVLFVBQVU7SUFDVkMsWUFBWSxHQVVWWCxLQUFLLENBVlBXLFlBQVk7SUFDWkMsZUFBZSxHQVNiWixLQUFLLENBVFBZLGVBQWU7SUFDZkMsYUFBYSxHQVFYYixLQUFLLENBUlBhLGFBQWE7SUFDYkMsZ0JBQWdCLEdBT2RkLEtBQUssQ0FQUGMsZ0JBQWdCO0lBQ2hCQyxPQUFPLEdBTUxmLEtBQUssQ0FOUGUsT0FBTztJQUFBQyxvQkFBQSxHQU1MaEIsS0FBSyxDQUxQaUIsYUFBYTtJQUFiQSxhQUFhLEdBQUFELG9CQUFBLGNBQUdFLDZCQUFrQixHQUFBRixvQkFBQTtJQUNsQ0csU0FBUyxHQUlQbkIsS0FBSyxDQUpQbUIsU0FBUztJQUNUQyxRQUFRLEdBR05wQixLQUFLLENBSFBvQixRQUFRO0lBQ1JDLFVBQVUsR0FFUnJCLEtBQUssQ0FGUHFCLFVBQVU7SUFDVkMsUUFBUSxHQUNOdEIsS0FBSyxDQURQc0IsUUFBUTtFQUdWLElBQU1DLE9BQU8sR0FBRyxJQUFBQyxzQkFBVSxFQUFDLFdBQVcsQ0FBQztFQUN2QyxJQUFBQyxtQkFBQSxHQUEyQyxJQUFBQyx1Q0FBa0IsRUFBZXpCLElBQTBCLENBQUM7SUFBL0YwQixHQUFHLEdBQUFGLG1CQUFBLENBQUhFLEdBQUc7SUFBRUMsT0FBTyxHQUFBSCxtQkFBQSxDQUFQRyxPQUFPO0lBQUVDLE9BQU8sR0FBQUosbUJBQUEsQ0FBUEksT0FBTztJQUFFQyxPQUFPLEdBQUFMLG1CQUFBLENBQVBLLE9BQU87RUFFdEMsSUFBQUMsaUJBQUEsR0FBK0MsSUFBQUMsbUNBQWdCLEVBQWU7TUFDNUVILE9BQU8sRUFBUEEsT0FBTztNQUNQRCxPQUFPLEVBQVBBLE9BQU87TUFDUG5CLFlBQVksRUFBWkEsWUFBWTtNQUNaQyxVQUFVLEVBQVZBLFVBQVU7TUFDVkMsWUFBWSxFQUFaQSxZQUFZO01BQ1pWLElBQUksRUFBSkE7SUQzQkEsQ0M0QkQsQ0FBQztJQVBNZ0MsU0FBUyxHQUFBRixpQkFBQSxDQUFURSxTQUFTO0lBQUVDLFNBQVMsR0FBQUgsaUJBQUEsQ0FBVEcsU0FBUztJQUFFQyxZQUFZLEdBQUFKLGlCQUFBLENBQVpJLFlBQVk7RUFTMUMsSUFBQUMscUJBQUEsR0FBd0IsSUFBQUMsMkNBQW9CLEVBQWU7TUFDekRwQyxJQUFJLEVBQUpBLElBQUk7TUFDSjZCLE9BQU8sRUFBUEEsT0FBTztNQUNQbEIsZUFBZSxFQUFmQSxlQUFlO01BQ2ZFLGdCQUFnQixFQUFoQkEsZ0JBQWdCO01BQ2hCTCxZQUFZLEVBQVpBLFlBQVk7TUFDWnlCLFNBQVMsRUFBVEE7SUQ1QkEsQ0M2QkQsQ0FBQztJQVBNSSxXQUFXLEdBQUFGLHFCQUFBLENBQVhFLFdBQVc7RUFTbkIsSUFBTUMsUUFBUSxHQUFHMUMsZUFBZSxDQUFDeUIsUUFBUSxDQUFDLEdBQUdBLFFBQVEsR0FBRyxJQUFJO0VBQzVELElBQU1rQixVQUFVLEdBQUdyQyxRQUFRLEtBQUEsSUFBQSxJQUFSQSxRQUFRLEtBQUEsS0FBQSxDQUFBLEdBQVJBLFFBQVEsR0FBSSxDQUFDLEVBQUNDLEtBQUssS0FBQSxJQUFBLElBQUxBLEtBQUssS0FBQSxLQUFBLENBQUEsR0FBQSxLQUFBLENBQUEsR0FBTEEsS0FBSyxDQUFFRCxRQUFRLENBQUE7RUFDaEQsSUFBTXNDLFlBQVksR0FBRyxDQUFBZCxHQUFHLEtBQUEsSUFBQSxJQUFIQSxHQUFHLEtBQUEsS0FBQSxDQUFBLEdBQUEsS0FBQSxDQUFBLEdBQUhBLEdBQUcsQ0FBRWUsWUFBWSxNQUFLLEtBQUs7RUFDaEQsSUFBTUMsVUFBVSxHQUFHLElBQUFDLGNBQU8sRUFBQztJQUFBLE9BQU0sSUFBQUMsaUJBQVMsRUFBQ3pCLFFBQVEsS0FBQSxJQUFBLElBQVJBLFFBQVEsS0FBQSxLQUFBLENBQUEsR0FBUkEsUUFBUSxHQUFJTyxHQUFHLEtBQUEsSUFBQSxJQUFIQSxHQUFHLEtBQUEsS0FBQSxDQUFBLEdBQUEsS0FBQSxDQUFBLEdBQUhBLEdBQUcsQ0FBRVAsUUFBUSxDQUFDO0VBQUEsR0FBRSxDQUFDQSxRQUFRLEVBQUVPLEdBQUcsS0FBQSxJQUFBLElBQUhBLEdBQUcsS0FBQSxLQUFBLENBQUEsR0FBQSxLQUFBLENBQUEsR0FBSEEsR0FBRyxDQUFFUCxRQUFRLENBQUMsQ0FBQztFQUNqRyxJQUFNMEIsWUFBWSxHQUFHLElBQUFGLGNBQU8sRUFBQztJQUFBLE9BQU0sSUFBQUMsaUJBQVMsRUFBQ3hCLFVBQVUsS0FBQSxJQUFBLElBQVZBLFVBQVUsS0FBQSxLQUFBLENBQUEsR0FBVkEsVUFBVSxHQUFJTSxHQUFHLEtBQUEsSUFBQSxJQUFIQSxHQUFHLEtBQUEsS0FBQSxDQUFBLEdBQUEsS0FBQSxDQUFBLEdBQUhBLEdBQUcsQ0FBRU4sVUFBVSxDQUFDO0VBQUEsR0FBRSxDQUFDQSxVQUFVLEVBQUVNLEdBQUcsS0FBQSxJQUFBLElBQUhBLEdBQUcsS0FBQSxLQUFBLENBQUEsR0FBQSxLQUFBLENBQUEsR0FBSEEsR0FBRyxDQUFFTixVQUFVLENBQUMsQ0FBQztFQUUzRyxJQUFNMEIsV0FBVyxHQUFHLElBQUFILGNBQU8sRUFBQyxZQUFLO0lBQy9CLElBQUksRUFBQ3hDLEtBQUssS0FBQSxJQUFBLElBQUxBLEtBQUssS0FBQSxLQUFBLENBQUEsR0FBQSxLQUFBLENBQUEsR0FBTEEsS0FBSyxDQUFFNEMsUUFBUSxDQUFBLElBQUksQ0FBQ25DLGFBQWEsRUFBRSxPQUFPVCxLQUFLO0lBQ3BELElBQU00QyxRQUFRLEdBQUcsSUFBQUMsb0JBQVksRUFBd0M3QyxLQUFLLENBQUM0QyxRQUFRLEVBQUVuQyxhQUFhLENBQUM7SUFDbkcsSUFBSW1DLFFBQVEsS0FBSzVDLEtBQUssQ0FBQzRDLFFBQVEsRUFBRSxPQUFPNUMsS0FBSztJQUM3QyxPQUFBZixNQUFBLENBQUE2RCxNQUFBLENBQUE3RCxNQUFBLENBQUE2RCxNQUFBLENBQUEsQ0FBQSxDQUFBLEVBQVk5QyxLQUFLLENBQUEsRUFBQTtNQUFFNEMsUUFBUSxFQUFSQTtJQUFRLENBQUEsQ0FBQTtFQUM3QixDQUFDLEVBQUUsQ0FBQzVDLEtBQUssRUFBRVMsYUFBYSxDQUFDLENBQUM7RUFFMUIsSUFBTXNDLFlBQVksR0FBRyxJQUFBUCxjQUFPLEVBQXFDO0lBQUEsT0FBTztNQUN0RTNDLElBQUksRUFBSkEsSUFBSTtNQUNKNEIsT0FBTyxFQUFQQSxPQUFPO01BQ1BELE9BQU8sRUFBUEEsT0FBTztNQUNQeEIsS0FBSyxFQUFFMkMsV0FBVztNQUNsQjFDLFlBQVksRUFBWkEsWUFBWTtNQUNaRyxjQUFjLEVBQWRBLGNBQWM7TUFDZFMsYUFBYSxFQUFiQSxhQUFhO01BQ2JYLElBQUksRUFBSkEsSUFBSTtNQUNKQyxLQUFLLEVBQUxBLEtBQUs7TUFDTG9CLEdBQUcsRUFBSEEsR0FBRztNQUNITCxRQUFRLEVBQVJBLFFBQVE7TUFDUmlCLFFBQVEsRUFBUkEsUUFBUTtNQUNSTixTQUFTLEVBQVRBLFNBQVM7TUFDVHRCLFlBQVksRUFBWkEsWUFBWTtNQUNad0IsWUFBWSxFQUFaQSxZQUFZO01BQ1pHLFdBQVcsRUFBWEE7SUQ3QkEsQ0M4QkQ7RUFBQSxDQUFDLEVBQUUsQ0FDRnJDLElBQUksRUFBRTRCLE9BQU8sRUFBRUQsT0FBTyxFQUFFbUIsV0FBVyxFQUFFMUMsWUFBWSxFQUFFRyxjQUFjLEVBQ2pFUyxhQUFhLEVBQUVYLElBQUksRUFBRUMsS0FBSyxFQUFFb0IsR0FBRyxFQUFFTCxRQUFRLEVBQUVpQixRQUFRLEVBQUVOLFNBQVMsRUFDOUR0QixZQUFZLEVBQUV3QixZQUFZLEVBQUVHLFdBQVcsQ0FDeEMsQ0FBQztFQUVGLElBQUl2QixPQUFPLEVBQUU7SUFDWCxPQUFPLElBQUFxQyxlQUFBLEVBQUNDLGdDQUFlLEVBQUFoRSxNQUFBLENBQUE2RCxNQUFBLENBQUEsQ0FBQSxDQUFBLEVBQUtDLFlBQVksQ0FBQSxDQUFJO0VBQzlDO0VBRUEsSUFBTUcsU0FBUyxPQUFBQyxnQkFBQSxpQkFBQUEsZ0JBQUEsaUJBQ1pDLDhCQUFtQixFQUFHYixVQUFVLEdBQ2hDYyxnQ0FBcUIsRUFBR1gsWUFBWSxDQUNyQjtFQUVsQixPQUNFLElBQUFZLGdCQUFBLEVBQUEsS0FBQSxFQUFBO0lBQ0V2QyxTQUFTLEVBQUVJLE9BQU8sQ0FBQyxNQUFNLEVBQUUsSUFBQW9DLG1CQUFPLEVBQUN4QyxTQUFTLEVBQUUsQ0FBQVEsR0FBRyxLQUFBLElBQUEsSUFBSEEsR0FBRyxLQUFBLEtBQUEsQ0FBQSxHQUFBLEtBQUEsQ0FBQSxHQUFIQSxHQUFHLENBQUVpQyxNQUFNLEtBQUlyQyxPQUFPLFdBQUFzQyxNQUFBLENBQVdsQyxHQUFHLENBQUNpQyxNQUFNLENBQUUsQ0FBQyxDQUFDLENBQUM7SUFBQSxxQkFBQSxFQUN6RTNELElBQUksR0FBRzZELE1BQU0sQ0FBQzdELElBQUksQ0FBQyxHQUFHOEQsU0FBUztJQUNwREMsS0FBSyxFQUFFVixTQUFTO0lBQUFoQyxRQUFBLEVBQUEsQ0FFZnBCLEtBQUssSUFDSixJQUFBd0QsZ0JBQUEsRUFBQSxLQUFBLEVBQUE7TUFBS3ZDLFNBQVMsRUFBRUksT0FBTyxDQUFDLE9BQU8sRUFBRSxJQUFBb0MsbUJBQU8sRUFBQ2xCLFlBQVksSUFBSUQsVUFBVSxJQUFJakIsT0FBTyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQztNQUFBRCxRQUFBLEVBQUEsQ0FDaEcsSUFBQThCLGVBQUEsRUFBQ2Esc0JBQVUsQ0FBQ0MsS0FBSyxFQUFBO1FBQUNDLElBQUksRUFBQyxHQUFHO1FBQUE3QyxRQUFBLEVBQUVwQjtNQUFLLENBQUEsQ0FBb0IsRUFDcEQsQ0FBQXlCLEdBQUcsS0FBQSxJQUFBLElBQUhBLEdBQUcsS0FBQSxLQUFBLENBQUEsR0FBQSxLQUFBLENBQUEsR0FBSEEsR0FBRyxDQUFFeUMsS0FBSyxLQUFJLElBQUFoQixlQUFBLEVBQUEsTUFBQSxFQUFBO1FBQU1qQyxTQUFTLEVBQUVJLE9BQU8sQ0FBQyxPQUFPLENBQUM7UUFBQUQsUUFBQSxFQUFBO01BQUEsQ0FBQSxDQUFVO0lBQUEsQ0FBQSxDQUU3RCxFQUNELElBQUE4QixlQUFBLEVBQUEsS0FBQSxFQUFBO01BQUtqQyxTQUFTLEVBQUVJLE9BQU8sQ0FBQyxTQUFTLENBQUM7TUFBQUQsUUFBQSxFQUNoQyxJQUFBOEIsZUFBQSxFQUFDQyxnQ0FBZSxFQUFBaEUsTUFBQSxDQUFBNkQsTUFBQSxDQUFBLENBQUEsQ0FBQSxFQUFLQyxZQUFZLENBQUE7SUFBSSxDQUFBLENBQ2pDO0VBQUEsQ0FBQSxDQUNGO0FBRVY7QUFFTSxTQUFVa0IsUUFBUUEsQ0FBaURyRSxLQUFrQyxFQUFBO0VBQ3pHLElBQU0yQixHQUFHLEdBQUcsSUFBQTJDLGlCQUFVLEVBQUNDLGlCQUFXLENBQUM7RUFFbkMsSUFBSTVDLEdBQUcsS0FBQSxJQUFBLElBQUhBLEdBQUcsS0FBQSxLQUFBLENBQUEsR0FBQSxLQUFBLENBQUEsR0FBSEEsR0FBRyxDQUFFQyxPQUFPLEVBQUU7SUFDaEIsT0FBTyxJQUFBd0IsZUFBQSxFQUFDckQsYUFBYSxFQUFBVixNQUFBLENBQUE2RCxNQUFBLENBQUEsQ0FBQSxDQUFBLEVBQUtsRCxLQUFLLENBQUEsQ0FBSTtFQUNyQztFQUVBLE9BQ0UsSUFBQW9ELGVBQUEsRUFBQ29CLHlDQUFvQixFQUFBO0lBQUFsRCxRQUFBLEVBQ25CLElBQUE4QixlQUFBLEVBQUNyRCxhQUFhLEVBQUFWLE1BQUEsQ0FBQTZELE1BQUEsQ0FBQSxDQUFBLENBQUEsRUFBS2xELEtBQUssQ0FBQTtFQUFJLENBQUEsQ0FDUDtBQUUzQjtBQUFDLElBQUF5RSxRQUFBLEdBQUFDLE9BQUEsY0FFY0wsUUFBUSIsImZpbGUiOiJjb21wb25lbnRzL0Zvcm0vRm9ybUl0ZW0uanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBqc3ggYXMgX2pzeCwganN4cyBhcyBfanN4cyB9IGZyb20gXCJyZWFjdC9qc3gtcnVudGltZVwiO1xuaW1wb3J0IHsgdXNlQ29udGV4dCwgdXNlTWVtbyB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IGRlZmF1bHQgYXMgY2xhc3NuYW1lcywgam9pbkNscyB9IGZyb20gJy4uLy4uL3V0aWxzL2NsYXNzbmFtZXMnO1xuaW1wb3J0IFR5cG9ncmFwaHkgZnJvbSAnLi4vVHlwb2dyYXBoeSc7XG5pbXBvcnQgeyBGb3JtQ29udGV4dCB9IGZyb20gJy4vRm9ybSc7XG5pbXBvcnQgeyBDU1NfVkFSX0xBQkVMX1dJRFRILCBDU1NfVkFSX1dSQVBQRVJfV0lEVEgsIERFRkFVTFRfVkFMVUVfUFJPUCB9IGZyb20gJy4vY29uc3RhbnRzJztcbmltcG9ydCB7IHRvUGVyY2VudCwgd3JhcFZhbGlkYXRlIH0gZnJvbSAnLi9oZWxwZXInO1xuaW1wb3J0IHsgRm9ybUl0ZW1Db250ZW50IH0gZnJvbSAnLi9Gb3JtSXRlbUNvbnRlbnQnO1xuaW1wb3J0IHsgRmFsbGJhY2tGb3JtUHJvdmlkZXIsIHVzZUZvcm1JdGVtQ29udGV4dCB9IGZyb20gJy4vdXNlRm9ybUl0ZW1Db250ZXh0JztcbmltcG9ydCB7IHVzZUZvcm1JdGVtV2F0Y2ggfSBmcm9tICcuL3VzZUZvcm1JdGVtV2F0Y2gnO1xuaW1wb3J0IHsgdXNlVmFsaWRhdGlvblRyaWdnZXIgfSBmcm9tICcuL3VzZVZhbGlkYXRpb25UcmlnZ2VyJztcbi8qKlxuICogUnVudGltZSB0eXBlIGd1YXJkIGZvciByZW5kZXItcHJvcCBjaGlsZHJlbi5cbiAqL1xuY29uc3QgaXNSZW5kZXJGbkNoaWxkID0gKGNoaWxkKSA9PiB0eXBlb2YgY2hpbGQgPT09ICdmdW5jdGlvbic7XG4vKipcbiAqIEZvcm0gZmllbGQgd3JhcHBlciB0aGF0IGJyaWRnZXMgYHJlYWN0LWhvb2stZm9ybWAncyBDb250cm9sbGVyIHdpdGggdGhlIEZvcm1cbiAqIGxheW91dCBzeXN0ZW0sIHZhbGlkYXRpb24gc3RhdHVzIGRpc3BsYXksIGFuZCBjb25maWd1cmFibGUgdHJpZ2dlciBiZWhhdmlvci5cbiAqXG4gKiBXaGVuIGEgYG5hbWVgIGlzIHByb3ZpZGVkLCB0aGUgZmllbGQgaXMgcmVnaXN0ZXJlZCB3aXRoIGByZWFjdC1ob29rLWZvcm1gIHZpYVxuICogYSBgQ29udHJvbGxlcmAgYW5kIHN1cHBvcnRzIHZhbGlkYXRpb24gcnVsZXMsIGRlcGVuZGVuY2llcywgYW5kIHN0YXR1cyBmZWVkYmFjay5cbiAqIFdpdGhvdXQgYSBgbmFtZWAsIGl0IHJlbmRlcnMgYXMgYSBmcmVlIHdyYXBwZXIgZm9yIHVuY29udHJvbGxlZCBjb250ZW50LlxuICpcbiAqIFN1cHBvcnRzIHR3byBjaGlsZCBwYXR0ZXJuczpcbiAqIC0gKipSZWFjdCBlbGVtZW50Kio6IGF1dG9tYXRpY2FsbHkgYm91bmQgdmlhIGBSZWFjdC5jbG9uZUVsZW1lbnRgIHdpdGggdmFsdWUvb25DaGFuZ2Uvb25CbHVyLlxuICogLSAqKlJlbmRlci1wcm9wIGZ1bmN0aW9uKio6IHJlY2VpdmVzIGB7IGZpZWxkLCBmaWVsZFN0YXRlLCBmb3JtLCB2YWx1ZXMgfWAgZm9yIGZ1bGwgY29udHJvbC5cbiAqXG4gKiBAdGVtcGxhdGUgVEZpZWxkVmFsdWVzIC0gVGhlIHNoYXBlIG9mIHRoZSBmb3JtIHZhbHVlcy5cbiAqIEBwYXJhbSBwcm9wcyAtIHtAbGluayBGb3JtSXRlbVByb3BzfVxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0c3hcbiAqIC8vIEVsZW1lbnQgY2hpbGQgKGF1dG8tYm91bmQpXG4gKiA8Rm9ybUl0ZW0gbmFtZT1cImVtYWlsXCIgbGFiZWw9XCJFbWFpbFwiIHJ1bGVzPXt7IHJlcXVpcmVkOiB0cnVlIH19PlxuICogICA8SW5wdXQgcGxhY2Vob2xkZXI9XCJFbnRlciBlbWFpbFwiIC8+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;
|