rsuite 5.9.0 → 5.10.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/CHANGELOG.md CHANGED
@@ -1,3 +1,9 @@
1
+ # [5.10.0](https://github.com/rsuite/rsuite/compare/v5.9.0...v5.10.0) (2022-04-28)
2
+
3
+ ### Features
4
+
5
+ - **FormControl:** support `shouldResetWithUnmount` on `<FormControl>` ([#2468](https://github.com/rsuite/rsuite/issues/2468)) ([69dee5e](https://github.com/rsuite/rsuite/commit/69dee5ece1c20bdc1e1f42429e93150afb7995d8))
6
+
1
7
  # [5.9.0](https://github.com/rsuite/rsuite/compare/v5.8.1...v5.9.0) (2022-04-21)
2
8
 
3
9
  ### Features
@@ -33,7 +33,7 @@ export interface FormProps<T = Record<string, any>, errorMsgType = any, E = {
33
33
  /** The error message comes from context */
34
34
  errorFromContext?: boolean;
35
35
  /** Callback fired when data changing */
36
- onChange?: (formValue: T, event: React.SyntheticEvent) => void;
36
+ onChange?: (formValue: T, event?: React.SyntheticEvent) => void;
37
37
  /** Callback fired when error checking */
38
38
  onError?: (formError: E) => void;
39
39
  /** Callback fired when data cheking */
package/cjs/Form/Form.js CHANGED
@@ -218,6 +218,16 @@ var Form = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
218
218
  resetErrors: resetErrors
219
219
  };
220
220
  });
221
+ var removeFieldError = (0, _react.useCallback)(function (name) {
222
+ var formError = (0, _omit.default)(getFormError(), [name]);
223
+ setFormError(formError);
224
+ onCheck === null || onCheck === void 0 ? void 0 : onCheck(formError);
225
+ }, [getFormError, onCheck]);
226
+ var removeFieldValue = (0, _react.useCallback)(function (name) {
227
+ var formValue = (0, _omit.default)(getFormValue(), [name]);
228
+ setFormValue(formValue);
229
+ onChange === null || onChange === void 0 ? void 0 : onChange(formValue);
230
+ }, [getFormValue, onChange]);
221
231
  var handleSubmit = (0, _react.useCallback)(function (event) {
222
232
  if (disabled || readOnly || plaintext) {
223
233
  return;
@@ -237,10 +247,8 @@ var Form = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
237
247
  onCheck === null || onCheck === void 0 ? void 0 : onCheck(formError);
238
248
  }, [onError, onCheck, getFormError]);
239
249
  var handleFieldSuccess = (0, _react.useCallback)(function (name) {
240
- var formError = (0, _omit.default)(getFormError(), [name]);
241
- setFormError(formError);
242
- onCheck === null || onCheck === void 0 ? void 0 : onCheck(formError);
243
- }, [onCheck, getFormError]);
250
+ removeFieldError(name);
251
+ }, [removeFieldError]);
244
252
  var handleFieldChange = (0, _react.useCallback)(function (name, value, event) {
245
253
  var _extends5;
246
254
 
@@ -260,11 +268,13 @@ var Form = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
260
268
  plaintext: plaintext,
261
269
  disabled: disabled,
262
270
  formError: getFormError(),
271
+ removeFieldValue: removeFieldValue,
272
+ removeFieldError: removeFieldError,
263
273
  onFieldChange: handleFieldChange,
264
274
  onFieldError: handleFieldError,
265
275
  onFieldSuccess: handleFieldSuccess
266
276
  };
267
- }, [model, checkTrigger, formDefaultValue, errorFromContext, readOnly, plaintext, disabled, getFormError, handleFieldChange, handleFieldError, handleFieldSuccess]);
277
+ }, [model, checkTrigger, formDefaultValue, errorFromContext, readOnly, plaintext, disabled, getFormError, removeFieldValue, removeFieldError, handleFieldChange, handleFieldError, handleFieldSuccess]);
268
278
  return /*#__PURE__*/_react.default.createElement("form", (0, _extends6.default)({}, rest, {
269
279
  ref: rootRef,
270
280
  onSubmit: handleSubmit,
@@ -12,6 +12,8 @@ export interface FormContextValue<T = Record<string, any>, errorMsgType = any, E
12
12
  plaintext?: boolean;
13
13
  disabled?: boolean;
14
14
  formError?: E;
15
+ removeFieldValue?: (name: string) => void;
16
+ removeFieldError?: (name: string) => void;
15
17
  onFieldChange?: (name: string, value: any, event: React.SyntheticEvent) => void;
16
18
  onFieldError?: (name: string, errorMessage: string) => void;
17
19
  onFieldSuccess?: (name: string) => void;
@@ -28,6 +28,8 @@ export interface FormControlProps<P = any, ValueType = any> extends WithAsProps,
28
28
  disabled?: boolean;
29
29
  /** Asynchronous check value */
30
30
  checkAsync?: boolean;
31
+ /** Remove field value and error message when component is unmounted */
32
+ shouldResetWithUnmount?: boolean;
31
33
  }
32
34
  interface FormControlComponent extends React.FC<FormControlProps> {
33
35
  <Accepter extends React.ElementType = typeof Input>(props: FormControlProps & {
@@ -40,6 +40,8 @@ var FormControl = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
40
40
  _useContext$formDefau = _useContext.formDefaultValue,
41
41
  formDefaultValue = _useContext$formDefau === void 0 ? {} : _useContext$formDefau,
42
42
  formError = _useContext.formError,
43
+ removeFieldValue = _useContext.removeFieldValue,
44
+ removeFieldError = _useContext.removeFieldError,
43
45
  onFieldChange = _useContext.onFieldChange,
44
46
  onFieldError = _useContext.onFieldError,
45
47
  onFieldSuccess = _useContext.onFieldSuccess,
@@ -69,7 +71,9 @@ var FormControl = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
69
71
  onChange = props.onChange,
70
72
  onBlur = props.onBlur,
71
73
  defaultValue = props.defaultValue,
72
- rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["as", "accepter", "classPrefix", "className", "checkAsync", "checkTrigger", "errorPlacement", "errorMessage", "name", "value", "readOnly", "plaintext", "disabled", "onChange", "onBlur", "defaultValue"]);
74
+ _props$shouldResetWit = props.shouldResetWithUnmount,
75
+ shouldResetWithUnmount = _props$shouldResetWit === void 0 ? false : _props$shouldResetWit,
76
+ rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["as", "accepter", "classPrefix", "className", "checkAsync", "checkTrigger", "errorPlacement", "errorMessage", "name", "value", "readOnly", "plaintext", "disabled", "onChange", "onBlur", "defaultValue", "shouldResetWithUnmount"]);
73
77
 
74
78
  var _useContext2 = (0, _react.useContext)(_FormGroup.FormGroupContext),
75
79
  controlId = _useContext2.controlId;
@@ -78,6 +82,12 @@ var FormControl = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
78
82
  throw new Error("\n <FormControl> must be inside a component decorated with <Form>.\n And need to update React to 16.6.0 +.\n ");
79
83
  }
80
84
 
85
+ (0, _utils.useWillUnmount)(function () {
86
+ if (shouldResetWithUnmount) {
87
+ removeFieldValue === null || removeFieldValue === void 0 ? void 0 : removeFieldValue(name);
88
+ removeFieldError === null || removeFieldError === void 0 ? void 0 : removeFieldError(name);
89
+ }
90
+ });
81
91
  var trigger = checkTrigger || contextCheckTrigger;
82
92
  var formValue = (0, _react.useContext)(_FormContext.FormValueContext);
83
93
  var val = (0, _isUndefined.default)(value) ? formValue === null || formValue === void 0 ? void 0 : formValue[name] : value;
package/dist/rsuite.js CHANGED
@@ -2650,7 +2650,7 @@ eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/he
2650
2650
  /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
2651
2651
 
2652
2652
  "use strict";
2653
- eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ \"./node_modules/@babel/runtime/helpers/interopRequireDefault.js\");\n\nvar _interopRequireWildcard = __webpack_require__(/*! @babel/runtime/helpers/interopRequireWildcard */ \"./node_modules/@babel/runtime/helpers/interopRequireWildcard.js\");\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _extends6 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ \"./node_modules/@babel/runtime/helpers/extends.js\"));\n\nvar _objectWithoutPropertiesLoose2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutPropertiesLoose */ \"./node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js\"));\n\nvar _react = _interopRequireWildcard(__webpack_require__(/*! react */ \"react\"));\n\nvar _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\"));\n\nvar _isUndefined = _interopRequireDefault(__webpack_require__(/*! lodash/isUndefined */ \"./node_modules/lodash/isUndefined.js\"));\n\nvar _omit = _interopRequireDefault(__webpack_require__(/*! lodash/omit */ \"./node_modules/lodash/omit.js\"));\n\nvar _schemaTyped = __webpack_require__(/*! schema-typed */ \"./node_modules/schema-typed/es/index.js\");\n\nvar _FormContext = _interopRequireWildcard(__webpack_require__(/*! ./FormContext */ \"./src/Form/FormContext.tsx\"));\n\nvar _FormControl = _interopRequireDefault(__webpack_require__(/*! ../FormControl */ \"./src/FormControl/index.tsx\"));\n\nvar _FormControlLabel = _interopRequireDefault(__webpack_require__(/*! ../FormControlLabel */ \"./src/FormControlLabel/index.tsx\"));\n\nvar _FormErrorMessage = _interopRequireDefault(__webpack_require__(/*! ../FormErrorMessage */ \"./src/FormErrorMessage/index.tsx\"));\n\nvar _FormGroup = _interopRequireDefault(__webpack_require__(/*! ../FormGroup */ \"./src/FormGroup/index.tsx\"));\n\nvar _FormHelpText = _interopRequireDefault(__webpack_require__(/*! ../FormHelpText */ \"./src/FormHelpText/index.tsx\"));\n\nvar _useFormClassNames = __webpack_require__(/*! ./useFormClassNames */ \"./src/Form/useFormClassNames.ts\");\n\nvar _jsxFileName = \"/home/runner/work/rsuite/rsuite/src/Form/Form.tsx\",\n _this = void 0;\n\nvar Form = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {\n var _props$checkTrigger = props.checkTrigger,\n checkTrigger = _props$checkTrigger === void 0 ? 'change' : _props$checkTrigger,\n _props$classPrefix = props.classPrefix,\n classPrefix = _props$classPrefix === void 0 ? 'form' : _props$classPrefix,\n _props$errorFromConte = props.errorFromContext,\n errorFromContext = _props$errorFromConte === void 0 ? true : _props$errorFromConte,\n _props$formDefaultVal = props.formDefaultValue,\n formDefaultValue = _props$formDefaultVal === void 0 ? {} : _props$formDefaultVal,\n formValue = props.formValue,\n formError = props.formError,\n fluid = props.fluid,\n _props$layout = props.layout,\n layout = _props$layout === void 0 ? 'vertical' : _props$layout,\n _props$model = props.model,\n model = _props$model === void 0 ? (0, _schemaTyped.SchemaModel)({}) : _props$model,\n readOnly = props.readOnly,\n plaintext = props.plaintext,\n className = props.className,\n children = props.children,\n disabled = props.disabled,\n onSubmit = props.onSubmit,\n onCheck = props.onCheck,\n onError = props.onError,\n onChange = props.onChange,\n rest = (0, _objectWithoutPropertiesLoose2.default)(props, [\"checkTrigger\", \"classPrefix\", \"errorFromContext\", \"formDefaultValue\", \"formValue\", \"formError\", \"fluid\", \"layout\", \"model\", \"readOnly\", \"plaintext\", \"className\", \"children\", \"disabled\", \"onSubmit\", \"onCheck\", \"onError\", \"onChange\"]);\n var classes = (0, _useFormClassNames.useFormClassNames)({\n classPrefix: classPrefix,\n className: className,\n fluid: fluid,\n layout: layout,\n readOnly: readOnly,\n plaintext: plaintext,\n disabled: disabled\n });\n\n var _useState = (0, _react.useState)(formDefaultValue),\n _formValue = _useState[0],\n setFormValue = _useState[1];\n\n var _useState2 = (0, _react.useState)(formError || {}),\n _formError = _useState2[0],\n setFormError = _useState2[1];\n\n var getFormValue = (0, _react.useCallback)(function () {\n return (0, _isUndefined.default)(formValue) ? _formValue : formValue;\n }, [_formValue, formValue]);\n var getFormError = (0, _react.useCallback)(function () {\n return (0, _isUndefined.default)(formError) ? _formError : formError;\n }, [formError, _formError]);\n /**\n * Validate the form data and return a boolean.\n * The error message after verification is returned in the callback.\n * @param callback\n */\n\n var check = (0, _react.useCallback)(function (callback) {\n var formValue = getFormValue() || {};\n var formError = {};\n var errorCount = 0;\n Object.keys(model.spec).forEach(function (key) {\n var checkResult = model.checkForField(key, formValue);\n\n if (checkResult.hasError === true) {\n errorCount += 1;\n formError[key] = (checkResult === null || checkResult === void 0 ? void 0 : checkResult.errorMessage) || checkResult;\n }\n });\n setFormError(formError);\n onCheck === null || onCheck === void 0 ? void 0 : onCheck(formError);\n callback === null || callback === void 0 ? void 0 : callback(formError);\n\n if (errorCount > 0) {\n onError === null || onError === void 0 ? void 0 : onError(formError);\n return false;\n }\n\n return true;\n }, [onCheck, onError, model, getFormValue]);\n /**\n * Check the data field\n * @param fieldName\n * @param callback\n */\n\n var checkForField = (0, _react.useCallback)(function (fieldName, callback) {\n var _extends2;\n\n var formValue = getFormValue() || {};\n var checkResult = model.checkForField(fieldName, formValue);\n var formError = (0, _extends6.default)({}, getFormError(), (_extends2 = {}, _extends2[fieldName] = (checkResult === null || checkResult === void 0 ? void 0 : checkResult.errorMessage) || checkResult, _extends2));\n setFormError(formError);\n onCheck === null || onCheck === void 0 ? void 0 : onCheck(formError);\n callback === null || callback === void 0 ? void 0 : callback(checkResult);\n\n if (checkResult.hasError) {\n onError === null || onError === void 0 ? void 0 : onError(formError);\n }\n\n return !checkResult.hasError;\n }, [model, getFormValue, getFormError, onCheck, onError]);\n /**\n * Check form data asynchronously and return a Promise\n */\n\n var checkAsync = (0, _react.useCallback)(function () {\n var formValue = getFormValue() || {};\n var promises = [];\n var keys = [];\n Object.keys(model.spec).forEach(function (key) {\n keys.push(key);\n promises.push(model.checkForFieldAsync(key, formValue));\n });\n return Promise.all(promises).then(function (values) {\n var formError = {};\n var errorCount = 0;\n\n for (var i = 0; i < values.length; i++) {\n if (values[i].hasError) {\n errorCount += 1;\n formError[keys[i]] = values[i].errorMessage;\n }\n }\n\n onCheck === null || onCheck === void 0 ? void 0 : onCheck(formError);\n setFormError(formError);\n\n if (errorCount > 0) {\n onError === null || onError === void 0 ? void 0 : onError(formError);\n }\n\n return {\n hasError: errorCount > 0,\n formError: formError\n };\n });\n }, [model, getFormValue, onCheck, onError]);\n /**\n * Asynchronously check form fields and return Promise\n * @param fieldName\n */\n\n var checkForFieldAsync = (0, _react.useCallback)(function (fieldName) {\n var formValue = getFormValue() || {};\n return model.checkForFieldAsync(fieldName, formValue).then(function (checkResult) {\n var _extends3;\n\n var formError = (0, _extends6.default)({}, getFormError(), (_extends3 = {}, _extends3[fieldName] = checkResult.errorMessage, _extends3));\n onCheck === null || onCheck === void 0 ? void 0 : onCheck(formError);\n setFormError(formError);\n\n if (checkResult.hasError) {\n onError === null || onError === void 0 ? void 0 : onError(formError);\n }\n\n return checkResult;\n });\n }, [model, getFormValue, getFormError, onCheck, onError]);\n var cleanErrors = (0, _react.useCallback)(function () {\n setFormError({});\n }, []);\n var cleanErrorForField = (0, _react.useCallback)(function (fieldName) {\n setFormError((0, _omit.default)(_formError, [fieldName]));\n }, [_formError]);\n var resetErrors = (0, _react.useCallback)(function (formError) {\n if (formError === void 0) {\n formError = {};\n }\n\n setFormError(formError);\n }, []);\n (0, _react.useImperativeHandle)(ref, function () {\n return {\n root: rootRef.current,\n check: check,\n checkForField: checkForField,\n checkAsync: checkAsync,\n checkForFieldAsync: checkForFieldAsync,\n cleanErrors: cleanErrors,\n cleanErrorForField: cleanErrorForField,\n resetErrors: resetErrors\n };\n });\n var handleSubmit = (0, _react.useCallback)(function (event) {\n if (disabled || readOnly || plaintext) {\n return;\n }\n\n event.preventDefault();\n event.stopPropagation();\n var checkStatus = check();\n onSubmit === null || onSubmit === void 0 ? void 0 : onSubmit(checkStatus, event);\n }, [disabled, readOnly, plaintext, check, onSubmit]);\n var handleFieldError = (0, _react.useCallback)(function (name, errorMessage) {\n var _extends4;\n\n var formError = (0, _extends6.default)({}, getFormError(), (_extends4 = {}, _extends4[name] = errorMessage, _extends4));\n setFormError(formError);\n onError === null || onError === void 0 ? void 0 : onError(formError);\n onCheck === null || onCheck === void 0 ? void 0 : onCheck(formError);\n }, [onError, onCheck, getFormError]);\n var handleFieldSuccess = (0, _react.useCallback)(function (name) {\n var formError = (0, _omit.default)(getFormError(), [name]);\n setFormError(formError);\n onCheck === null || onCheck === void 0 ? void 0 : onCheck(formError);\n }, [onCheck, getFormError]);\n var handleFieldChange = (0, _react.useCallback)(function (name, value, event) {\n var _extends5;\n\n var formValue = getFormValue();\n var nextFormValue = (0, _extends6.default)({}, formValue, (_extends5 = {}, _extends5[name] = value, _extends5));\n setFormValue(nextFormValue);\n onChange === null || onChange === void 0 ? void 0 : onChange(nextFormValue, event);\n }, [onChange, getFormValue]);\n var rootRef = (0, _react.useRef)(null);\n var formContextValue = (0, _react.useMemo)(function () {\n return {\n model: model,\n checkTrigger: checkTrigger,\n formDefaultValue: formDefaultValue,\n errorFromContext: errorFromContext,\n readOnly: readOnly,\n plaintext: plaintext,\n disabled: disabled,\n formError: getFormError(),\n onFieldChange: handleFieldChange,\n onFieldError: handleFieldError,\n onFieldSuccess: handleFieldSuccess\n };\n }, [model, checkTrigger, formDefaultValue, errorFromContext, readOnly, plaintext, disabled, getFormError, handleFieldChange, handleFieldError, handleFieldSuccess]);\n return /*#__PURE__*/_react.default.createElement(\"form\", (0, _extends6.default)({}, rest, {\n ref: rootRef,\n onSubmit: handleSubmit,\n className: classes,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 378,\n columnNumber: 5\n }\n }), /*#__PURE__*/_react.default.createElement(_FormContext.default.Provider, {\n value: formContextValue,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 379,\n columnNumber: 7\n }\n }, /*#__PURE__*/_react.default.createElement(_FormContext.FormValueContext.Provider, {\n value: formValue,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 380,\n columnNumber: 9\n }\n }, children)));\n});\n\nForm.Control = _FormControl.default;\nForm.ControlLabel = _FormControlLabel.default;\nForm.ErrorMessage = _FormErrorMessage.default;\nForm.Group = _FormGroup.default;\nForm.HelpText = _FormHelpText.default;\nForm.Control = _FormControl.default;\nForm.displayName = 'Form';\nForm.propTypes = {\n className: _propTypes.default.string,\n classPrefix: _propTypes.default.string,\n children: _propTypes.default.node,\n errorFromContext: _propTypes.default.bool,\n layout: _propTypes.default.oneOf(['horizontal', 'vertical', 'inline']),\n fluid: _propTypes.default.bool,\n formValue: _propTypes.default.object,\n formDefaultValue: _propTypes.default.object,\n formError: _propTypes.default.object,\n checkTrigger: _propTypes.default.oneOf(['change', 'blur', 'none']),\n onChange: _propTypes.default.func,\n onError: _propTypes.default.func,\n onCheck: _propTypes.default.func,\n onSubmit: _propTypes.default.func,\n model: _propTypes.default.any,\n readOnly: _propTypes.default.bool,\n plaintext: _propTypes.default.bool,\n disabled: _propTypes.default.bool\n};\nvar _default = Form;\nexports.default = _default;\n\n//# sourceURL=webpack://rsuite/./src/Form/Form.tsx?");
2653
+ eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ \"./node_modules/@babel/runtime/helpers/interopRequireDefault.js\");\n\nvar _interopRequireWildcard = __webpack_require__(/*! @babel/runtime/helpers/interopRequireWildcard */ \"./node_modules/@babel/runtime/helpers/interopRequireWildcard.js\");\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _extends6 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ \"./node_modules/@babel/runtime/helpers/extends.js\"));\n\nvar _objectWithoutPropertiesLoose2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutPropertiesLoose */ \"./node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js\"));\n\nvar _react = _interopRequireWildcard(__webpack_require__(/*! react */ \"react\"));\n\nvar _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\"));\n\nvar _isUndefined = _interopRequireDefault(__webpack_require__(/*! lodash/isUndefined */ \"./node_modules/lodash/isUndefined.js\"));\n\nvar _omit = _interopRequireDefault(__webpack_require__(/*! lodash/omit */ \"./node_modules/lodash/omit.js\"));\n\nvar _schemaTyped = __webpack_require__(/*! schema-typed */ \"./node_modules/schema-typed/es/index.js\");\n\nvar _FormContext = _interopRequireWildcard(__webpack_require__(/*! ./FormContext */ \"./src/Form/FormContext.tsx\"));\n\nvar _FormControl = _interopRequireDefault(__webpack_require__(/*! ../FormControl */ \"./src/FormControl/index.tsx\"));\n\nvar _FormControlLabel = _interopRequireDefault(__webpack_require__(/*! ../FormControlLabel */ \"./src/FormControlLabel/index.tsx\"));\n\nvar _FormErrorMessage = _interopRequireDefault(__webpack_require__(/*! ../FormErrorMessage */ \"./src/FormErrorMessage/index.tsx\"));\n\nvar _FormGroup = _interopRequireDefault(__webpack_require__(/*! ../FormGroup */ \"./src/FormGroup/index.tsx\"));\n\nvar _FormHelpText = _interopRequireDefault(__webpack_require__(/*! ../FormHelpText */ \"./src/FormHelpText/index.tsx\"));\n\nvar _useFormClassNames = __webpack_require__(/*! ./useFormClassNames */ \"./src/Form/useFormClassNames.ts\");\n\nvar _jsxFileName = \"/home/runner/work/rsuite/rsuite/src/Form/Form.tsx\",\n _this = void 0;\n\nvar Form = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {\n var _props$checkTrigger = props.checkTrigger,\n checkTrigger = _props$checkTrigger === void 0 ? 'change' : _props$checkTrigger,\n _props$classPrefix = props.classPrefix,\n classPrefix = _props$classPrefix === void 0 ? 'form' : _props$classPrefix,\n _props$errorFromConte = props.errorFromContext,\n errorFromContext = _props$errorFromConte === void 0 ? true : _props$errorFromConte,\n _props$formDefaultVal = props.formDefaultValue,\n formDefaultValue = _props$formDefaultVal === void 0 ? {} : _props$formDefaultVal,\n formValue = props.formValue,\n formError = props.formError,\n fluid = props.fluid,\n _props$layout = props.layout,\n layout = _props$layout === void 0 ? 'vertical' : _props$layout,\n _props$model = props.model,\n model = _props$model === void 0 ? (0, _schemaTyped.SchemaModel)({}) : _props$model,\n readOnly = props.readOnly,\n plaintext = props.plaintext,\n className = props.className,\n children = props.children,\n disabled = props.disabled,\n onSubmit = props.onSubmit,\n onCheck = props.onCheck,\n onError = props.onError,\n onChange = props.onChange,\n rest = (0, _objectWithoutPropertiesLoose2.default)(props, [\"checkTrigger\", \"classPrefix\", \"errorFromContext\", \"formDefaultValue\", \"formValue\", \"formError\", \"fluid\", \"layout\", \"model\", \"readOnly\", \"plaintext\", \"className\", \"children\", \"disabled\", \"onSubmit\", \"onCheck\", \"onError\", \"onChange\"]);\n var classes = (0, _useFormClassNames.useFormClassNames)({\n classPrefix: classPrefix,\n className: className,\n fluid: fluid,\n layout: layout,\n readOnly: readOnly,\n plaintext: plaintext,\n disabled: disabled\n });\n\n var _useState = (0, _react.useState)(formDefaultValue),\n _formValue = _useState[0],\n setFormValue = _useState[1];\n\n var _useState2 = (0, _react.useState)(formError || {}),\n _formError = _useState2[0],\n setFormError = _useState2[1];\n\n var getFormValue = (0, _react.useCallback)(function () {\n return (0, _isUndefined.default)(formValue) ? _formValue : formValue;\n }, [_formValue, formValue]);\n var getFormError = (0, _react.useCallback)(function () {\n return (0, _isUndefined.default)(formError) ? _formError : formError;\n }, [formError, _formError]);\n /**\n * Validate the form data and return a boolean.\n * The error message after verification is returned in the callback.\n * @param callback\n */\n\n var check = (0, _react.useCallback)(function (callback) {\n var formValue = getFormValue() || {};\n var formError = {};\n var errorCount = 0;\n Object.keys(model.spec).forEach(function (key) {\n var checkResult = model.checkForField(key, formValue);\n\n if (checkResult.hasError === true) {\n errorCount += 1;\n formError[key] = (checkResult === null || checkResult === void 0 ? void 0 : checkResult.errorMessage) || checkResult;\n }\n });\n setFormError(formError);\n onCheck === null || onCheck === void 0 ? void 0 : onCheck(formError);\n callback === null || callback === void 0 ? void 0 : callback(formError);\n\n if (errorCount > 0) {\n onError === null || onError === void 0 ? void 0 : onError(formError);\n return false;\n }\n\n return true;\n }, [onCheck, onError, model, getFormValue]);\n /**\n * Check the data field\n * @param fieldName\n * @param callback\n */\n\n var checkForField = (0, _react.useCallback)(function (fieldName, callback) {\n var _extends2;\n\n var formValue = getFormValue() || {};\n var checkResult = model.checkForField(fieldName, formValue);\n var formError = (0, _extends6.default)({}, getFormError(), (_extends2 = {}, _extends2[fieldName] = (checkResult === null || checkResult === void 0 ? void 0 : checkResult.errorMessage) || checkResult, _extends2));\n setFormError(formError);\n onCheck === null || onCheck === void 0 ? void 0 : onCheck(formError);\n callback === null || callback === void 0 ? void 0 : callback(checkResult);\n\n if (checkResult.hasError) {\n onError === null || onError === void 0 ? void 0 : onError(formError);\n }\n\n return !checkResult.hasError;\n }, [model, getFormValue, getFormError, onCheck, onError]);\n /**\n * Check form data asynchronously and return a Promise\n */\n\n var checkAsync = (0, _react.useCallback)(function () {\n var formValue = getFormValue() || {};\n var promises = [];\n var keys = [];\n Object.keys(model.spec).forEach(function (key) {\n keys.push(key);\n promises.push(model.checkForFieldAsync(key, formValue));\n });\n return Promise.all(promises).then(function (values) {\n var formError = {};\n var errorCount = 0;\n\n for (var i = 0; i < values.length; i++) {\n if (values[i].hasError) {\n errorCount += 1;\n formError[keys[i]] = values[i].errorMessage;\n }\n }\n\n onCheck === null || onCheck === void 0 ? void 0 : onCheck(formError);\n setFormError(formError);\n\n if (errorCount > 0) {\n onError === null || onError === void 0 ? void 0 : onError(formError);\n }\n\n return {\n hasError: errorCount > 0,\n formError: formError\n };\n });\n }, [model, getFormValue, onCheck, onError]);\n /**\n * Asynchronously check form fields and return Promise\n * @param fieldName\n */\n\n var checkForFieldAsync = (0, _react.useCallback)(function (fieldName) {\n var formValue = getFormValue() || {};\n return model.checkForFieldAsync(fieldName, formValue).then(function (checkResult) {\n var _extends3;\n\n var formError = (0, _extends6.default)({}, getFormError(), (_extends3 = {}, _extends3[fieldName] = checkResult.errorMessage, _extends3));\n onCheck === null || onCheck === void 0 ? void 0 : onCheck(formError);\n setFormError(formError);\n\n if (checkResult.hasError) {\n onError === null || onError === void 0 ? void 0 : onError(formError);\n }\n\n return checkResult;\n });\n }, [model, getFormValue, getFormError, onCheck, onError]);\n var cleanErrors = (0, _react.useCallback)(function () {\n setFormError({});\n }, []);\n var cleanErrorForField = (0, _react.useCallback)(function (fieldName) {\n setFormError((0, _omit.default)(_formError, [fieldName]));\n }, [_formError]);\n var resetErrors = (0, _react.useCallback)(function (formError) {\n if (formError === void 0) {\n formError = {};\n }\n\n setFormError(formError);\n }, []);\n (0, _react.useImperativeHandle)(ref, function () {\n return {\n root: rootRef.current,\n check: check,\n checkForField: checkForField,\n checkAsync: checkAsync,\n checkForFieldAsync: checkForFieldAsync,\n cleanErrors: cleanErrors,\n cleanErrorForField: cleanErrorForField,\n resetErrors: resetErrors\n };\n });\n var removeFieldError = (0, _react.useCallback)(function (name) {\n var formError = (0, _omit.default)(getFormError(), [name]);\n setFormError(formError);\n onCheck === null || onCheck === void 0 ? void 0 : onCheck(formError);\n }, [getFormError, onCheck]);\n var removeFieldValue = (0, _react.useCallback)(function (name) {\n var formValue = (0, _omit.default)(getFormValue(), [name]);\n setFormValue(formValue);\n onChange === null || onChange === void 0 ? void 0 : onChange(formValue);\n }, [getFormValue, onChange]);\n var handleSubmit = (0, _react.useCallback)(function (event) {\n if (disabled || readOnly || plaintext) {\n return;\n }\n\n event.preventDefault();\n event.stopPropagation();\n var checkStatus = check();\n onSubmit === null || onSubmit === void 0 ? void 0 : onSubmit(checkStatus, event);\n }, [disabled, readOnly, plaintext, check, onSubmit]);\n var handleFieldError = (0, _react.useCallback)(function (name, errorMessage) {\n var _extends4;\n\n var formError = (0, _extends6.default)({}, getFormError(), (_extends4 = {}, _extends4[name] = errorMessage, _extends4));\n setFormError(formError);\n onError === null || onError === void 0 ? void 0 : onError(formError);\n onCheck === null || onCheck === void 0 ? void 0 : onCheck(formError);\n }, [onError, onCheck, getFormError]);\n var handleFieldSuccess = (0, _react.useCallback)(function (name) {\n removeFieldError(name);\n }, [removeFieldError]);\n var handleFieldChange = (0, _react.useCallback)(function (name, value, event) {\n var _extends5;\n\n var formValue = getFormValue();\n var nextFormValue = (0, _extends6.default)({}, formValue, (_extends5 = {}, _extends5[name] = value, _extends5));\n setFormValue(nextFormValue);\n onChange === null || onChange === void 0 ? void 0 : onChange(nextFormValue, event);\n }, [onChange, getFormValue]);\n var rootRef = (0, _react.useRef)(null);\n var formContextValue = (0, _react.useMemo)(function () {\n return {\n model: model,\n checkTrigger: checkTrigger,\n formDefaultValue: formDefaultValue,\n errorFromContext: errorFromContext,\n readOnly: readOnly,\n plaintext: plaintext,\n disabled: disabled,\n formError: getFormError(),\n removeFieldValue: removeFieldValue,\n removeFieldError: removeFieldError,\n onFieldChange: handleFieldChange,\n onFieldError: handleFieldError,\n onFieldSuccess: handleFieldSuccess\n };\n }, [model, checkTrigger, formDefaultValue, errorFromContext, readOnly, plaintext, disabled, getFormError, removeFieldValue, removeFieldError, handleFieldChange, handleFieldError, handleFieldSuccess]);\n return /*#__PURE__*/_react.default.createElement(\"form\", (0, _extends6.default)({}, rest, {\n ref: rootRef,\n onSubmit: handleSubmit,\n className: classes,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 398,\n columnNumber: 5\n }\n }), /*#__PURE__*/_react.default.createElement(_FormContext.default.Provider, {\n value: formContextValue,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 399,\n columnNumber: 7\n }\n }, /*#__PURE__*/_react.default.createElement(_FormContext.FormValueContext.Provider, {\n value: formValue,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 400,\n columnNumber: 9\n }\n }, children)));\n});\n\nForm.Control = _FormControl.default;\nForm.ControlLabel = _FormControlLabel.default;\nForm.ErrorMessage = _FormErrorMessage.default;\nForm.Group = _FormGroup.default;\nForm.HelpText = _FormHelpText.default;\nForm.Control = _FormControl.default;\nForm.displayName = 'Form';\nForm.propTypes = {\n className: _propTypes.default.string,\n classPrefix: _propTypes.default.string,\n children: _propTypes.default.node,\n errorFromContext: _propTypes.default.bool,\n layout: _propTypes.default.oneOf(['horizontal', 'vertical', 'inline']),\n fluid: _propTypes.default.bool,\n formValue: _propTypes.default.object,\n formDefaultValue: _propTypes.default.object,\n formError: _propTypes.default.object,\n checkTrigger: _propTypes.default.oneOf(['change', 'blur', 'none']),\n onChange: _propTypes.default.func,\n onError: _propTypes.default.func,\n onCheck: _propTypes.default.func,\n onSubmit: _propTypes.default.func,\n model: _propTypes.default.any,\n readOnly: _propTypes.default.bool,\n plaintext: _propTypes.default.bool,\n disabled: _propTypes.default.bool\n};\nvar _default = Form;\nexports.default = _default;\n\n//# sourceURL=webpack://rsuite/./src/Form/Form.tsx?");
2654
2654
 
2655
2655
  /***/ }),
2656
2656
 
@@ -2694,7 +2694,7 @@ eval("\n\nexports.__esModule = true;\nexports.useFormClassNames = useFormClassNa
2694
2694
  /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
2695
2695
 
2696
2696
  "use strict";
2697
- eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ \"./node_modules/@babel/runtime/helpers/interopRequireDefault.js\");\n\nvar _interopRequireWildcard = __webpack_require__(/*! @babel/runtime/helpers/interopRequireWildcard */ \"./node_modules/@babel/runtime/helpers/interopRequireWildcard.js\");\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _taggedTemplateLiteralLoose2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/taggedTemplateLiteralLoose */ \"./node_modules/@babel/runtime/helpers/taggedTemplateLiteralLoose.js\"));\n\nvar _extends3 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ \"./node_modules/@babel/runtime/helpers/extends.js\"));\n\nvar _objectWithoutPropertiesLoose2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutPropertiesLoose */ \"./node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js\"));\n\nvar _react = _interopRequireWildcard(__webpack_require__(/*! react */ \"react\"));\n\nvar _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\"));\n\nvar _isUndefined = _interopRequireDefault(__webpack_require__(/*! lodash/isUndefined */ \"./node_modules/lodash/isUndefined.js\"));\n\nvar _Input = _interopRequireDefault(__webpack_require__(/*! ../Input */ \"./src/Input/index.tsx\"));\n\nvar _FormErrorMessage = _interopRequireDefault(__webpack_require__(/*! ../FormErrorMessage */ \"./src/FormErrorMessage/index.tsx\"));\n\nvar _utils = __webpack_require__(/*! ../utils */ \"./src/utils/index.ts\");\n\nvar _FormContext = _interopRequireWildcard(__webpack_require__(/*! ../Form/FormContext */ \"./src/Form/FormContext.tsx\"));\n\nvar _FormGroup = __webpack_require__(/*! ../FormGroup/FormGroup */ \"./src/FormGroup/FormGroup.tsx\");\n\nvar _jsxFileName = \"/home/runner/work/rsuite/rsuite/src/FormControl/FormControl.tsx\",\n _this = void 0,\n _templateObject;\n\nvar FormControl = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {\n var _useContext = (0, _react.useContext)(_FormContext.default),\n readOnlyContext = _useContext.readOnly,\n plaintextContext = _useContext.plaintext,\n disabledContext = _useContext.disabled,\n errorFromContext = _useContext.errorFromContext,\n _useContext$formDefau = _useContext.formDefaultValue,\n formDefaultValue = _useContext$formDefau === void 0 ? {} : _useContext$formDefau,\n formError = _useContext.formError,\n onFieldChange = _useContext.onFieldChange,\n onFieldError = _useContext.onFieldError,\n onFieldSuccess = _useContext.onFieldSuccess,\n model = _useContext.model,\n contextCheckTrigger = _useContext.checkTrigger;\n\n var _props$as = props.as,\n Component = _props$as === void 0 ? 'div' : _props$as,\n _props$accepter = props.accepter,\n AccepterComponent = _props$accepter === void 0 ? _Input.default : _props$accepter,\n _props$classPrefix = props.classPrefix,\n classPrefix = _props$classPrefix === void 0 ? 'form-control' : _props$classPrefix,\n className = props.className,\n checkAsync = props.checkAsync,\n checkTrigger = props.checkTrigger,\n _props$errorPlacement = props.errorPlacement,\n errorPlacement = _props$errorPlacement === void 0 ? 'bottomStart' : _props$errorPlacement,\n errorMessage = props.errorMessage,\n name = props.name,\n value = props.value,\n _props$readOnly = props.readOnly,\n readOnly = _props$readOnly === void 0 ? readOnlyContext : _props$readOnly,\n _props$plaintext = props.plaintext,\n plaintext = _props$plaintext === void 0 ? plaintextContext : _props$plaintext,\n _props$disabled = props.disabled,\n disabled = _props$disabled === void 0 ? disabledContext : _props$disabled,\n onChange = props.onChange,\n onBlur = props.onBlur,\n defaultValue = props.defaultValue,\n rest = (0, _objectWithoutPropertiesLoose2.default)(props, [\"as\", \"accepter\", \"classPrefix\", \"className\", \"checkAsync\", \"checkTrigger\", \"errorPlacement\", \"errorMessage\", \"name\", \"value\", \"readOnly\", \"plaintext\", \"disabled\", \"onChange\", \"onBlur\", \"defaultValue\"]);\n\n var _useContext2 = (0, _react.useContext)(_FormGroup.FormGroupContext),\n controlId = _useContext2.controlId;\n\n if (!onFieldChange) {\n throw new Error(\"\\n <FormControl> must be inside a component decorated with <Form>.\\n And need to update React to 16.6.0 +.\\n \");\n }\n\n var trigger = checkTrigger || contextCheckTrigger;\n var formValue = (0, _react.useContext)(_FormContext.FormValueContext);\n var val = (0, _isUndefined.default)(value) ? formValue === null || formValue === void 0 ? void 0 : formValue[name] : value;\n\n var _useClassNames = (0, _utils.useClassNames)(classPrefix),\n withClassPrefix = _useClassNames.withClassPrefix,\n prefix = _useClassNames.prefix,\n merge = _useClassNames.merge;\n\n var classes = merge(className, withClassPrefix('wrapper'));\n\n var handleFieldChange = function handleFieldChange(value, event) {\n handleFieldCheck(value, trigger === 'change');\n onFieldChange === null || onFieldChange === void 0 ? void 0 : onFieldChange(name, value, event);\n onChange === null || onChange === void 0 ? void 0 : onChange(value, event);\n };\n\n var handleFieldBlur = function handleFieldBlur(event) {\n handleFieldCheck(val, trigger === 'blur');\n onBlur === null || onBlur === void 0 ? void 0 : onBlur(event);\n };\n\n var handleFieldCheck = function handleFieldCheck(value, isCheckTrigger) {\n var _extends2;\n\n var callbackEvents = function callbackEvents(checkResult) {\n // The relevant event is triggered only when the inspection is allowed.\n if (isCheckTrigger) {\n if (checkResult.hasError) {\n onFieldError === null || onFieldError === void 0 ? void 0 : onFieldError(name, (checkResult === null || checkResult === void 0 ? void 0 : checkResult.errorMessage) || checkResult);\n } else {\n onFieldSuccess === null || onFieldSuccess === void 0 ? void 0 : onFieldSuccess(name);\n }\n }\n\n return checkResult;\n };\n\n var nextFormValue = (0, _extends3.default)({}, formValue, (_extends2 = {}, _extends2[name] = value, _extends2));\n\n if (checkAsync) {\n return model === null || model === void 0 ? void 0 : model.checkForFieldAsync(name, nextFormValue).then(function (checkResult) {\n return callbackEvents(checkResult);\n });\n }\n\n return Promise.resolve(callbackEvents(model === null || model === void 0 ? void 0 : model.checkForField(name, nextFormValue)));\n };\n\n var messageNode = null;\n\n if (!(0, _isUndefined.default)(errorMessage)) {\n messageNode = errorMessage;\n } else if (errorFromContext) {\n var fieldError = formError === null || formError === void 0 ? void 0 : formError[name];\n\n if (typeof fieldError === 'string' || !(fieldError !== null && fieldError !== void 0 && fieldError.array) && !(fieldError !== null && fieldError !== void 0 && fieldError.object) && fieldError !== null && fieldError !== void 0 && fieldError.hasError) {\n messageNode = fieldError;\n }\n }\n\n var ariaDescribedby = controlId ? controlId + \"-help-text\" : null;\n var fieldHasError = Boolean(messageNode);\n var ariaErrormessage = fieldHasError && controlId ? controlId + \"-error-message\" : undefined;\n return /*#__PURE__*/_react.default.createElement(Component, {\n className: classes,\n ref: ref,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 166,\n columnNumber: 5\n }\n }, /*#__PURE__*/_react.default.createElement(AccepterComponent, (0, _extends3.default)({\n id: controlId,\n \"aria-labelledby\": controlId ? controlId + \"-control-label\" : null,\n \"aria-describedby\": ariaDescribedby,\n \"aria-invalid\": fieldHasError || undefined,\n \"aria-errormessage\": ariaErrormessage\n }, rest, {\n readOnly: readOnly,\n plaintext: plaintext,\n disabled: disabled,\n name: name,\n onChange: handleFieldChange,\n onBlur: handleFieldBlur,\n defaultValue: defaultValue !== null && defaultValue !== void 0 ? defaultValue : formDefaultValue[name],\n value: val,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 167,\n columnNumber: 7\n }\n })), /*#__PURE__*/_react.default.createElement(_FormErrorMessage.default, {\n id: controlId + \"-error-message\",\n role: \"alert\",\n \"aria-relevant\": \"all\",\n show: !!messageNode,\n className: prefix(_templateObject || (_templateObject = (0, _taggedTemplateLiteralLoose2.default)([\"message-wrapper\"]))),\n placement: errorPlacement,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 184,\n columnNumber: 7\n }\n }, messageNode));\n});\n\nFormControl.displayName = 'FormControl';\nFormControl.propTypes = {\n name: _propTypes.default.string.isRequired,\n checkTrigger: _propTypes.default.oneOf(['change', 'blur', 'none']),\n checkAsync: _propTypes.default.bool,\n accepter: _propTypes.default.any,\n onChange: _propTypes.default.func,\n onBlur: _propTypes.default.func,\n classPrefix: _propTypes.default.string,\n errorMessage: _propTypes.default.node,\n errorPlacement: _propTypes.default.oneOf(['bottomStart', 'bottomEnd', 'topStart', 'topEnd', 'leftStart', 'rightStart', 'leftEnd', 'rightEnd']),\n value: _propTypes.default.any\n};\nvar _default = FormControl;\nexports.default = _default;\n\n//# sourceURL=webpack://rsuite/./src/FormControl/FormControl.tsx?");
2697
+ eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ \"./node_modules/@babel/runtime/helpers/interopRequireDefault.js\");\n\nvar _interopRequireWildcard = __webpack_require__(/*! @babel/runtime/helpers/interopRequireWildcard */ \"./node_modules/@babel/runtime/helpers/interopRequireWildcard.js\");\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _taggedTemplateLiteralLoose2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/taggedTemplateLiteralLoose */ \"./node_modules/@babel/runtime/helpers/taggedTemplateLiteralLoose.js\"));\n\nvar _extends3 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ \"./node_modules/@babel/runtime/helpers/extends.js\"));\n\nvar _objectWithoutPropertiesLoose2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutPropertiesLoose */ \"./node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js\"));\n\nvar _react = _interopRequireWildcard(__webpack_require__(/*! react */ \"react\"));\n\nvar _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\"));\n\nvar _isUndefined = _interopRequireDefault(__webpack_require__(/*! lodash/isUndefined */ \"./node_modules/lodash/isUndefined.js\"));\n\nvar _Input = _interopRequireDefault(__webpack_require__(/*! ../Input */ \"./src/Input/index.tsx\"));\n\nvar _FormErrorMessage = _interopRequireDefault(__webpack_require__(/*! ../FormErrorMessage */ \"./src/FormErrorMessage/index.tsx\"));\n\nvar _utils = __webpack_require__(/*! ../utils */ \"./src/utils/index.ts\");\n\nvar _FormContext = _interopRequireWildcard(__webpack_require__(/*! ../Form/FormContext */ \"./src/Form/FormContext.tsx\"));\n\nvar _FormGroup = __webpack_require__(/*! ../FormGroup/FormGroup */ \"./src/FormGroup/FormGroup.tsx\");\n\nvar _jsxFileName = \"/home/runner/work/rsuite/rsuite/src/FormControl/FormControl.tsx\",\n _this = void 0,\n _templateObject;\n\nvar FormControl = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {\n var _useContext = (0, _react.useContext)(_FormContext.default),\n readOnlyContext = _useContext.readOnly,\n plaintextContext = _useContext.plaintext,\n disabledContext = _useContext.disabled,\n errorFromContext = _useContext.errorFromContext,\n _useContext$formDefau = _useContext.formDefaultValue,\n formDefaultValue = _useContext$formDefau === void 0 ? {} : _useContext$formDefau,\n formError = _useContext.formError,\n removeFieldValue = _useContext.removeFieldValue,\n removeFieldError = _useContext.removeFieldError,\n onFieldChange = _useContext.onFieldChange,\n onFieldError = _useContext.onFieldError,\n onFieldSuccess = _useContext.onFieldSuccess,\n model = _useContext.model,\n contextCheckTrigger = _useContext.checkTrigger;\n\n var _props$as = props.as,\n Component = _props$as === void 0 ? 'div' : _props$as,\n _props$accepter = props.accepter,\n AccepterComponent = _props$accepter === void 0 ? _Input.default : _props$accepter,\n _props$classPrefix = props.classPrefix,\n classPrefix = _props$classPrefix === void 0 ? 'form-control' : _props$classPrefix,\n className = props.className,\n checkAsync = props.checkAsync,\n checkTrigger = props.checkTrigger,\n _props$errorPlacement = props.errorPlacement,\n errorPlacement = _props$errorPlacement === void 0 ? 'bottomStart' : _props$errorPlacement,\n errorMessage = props.errorMessage,\n name = props.name,\n value = props.value,\n _props$readOnly = props.readOnly,\n readOnly = _props$readOnly === void 0 ? readOnlyContext : _props$readOnly,\n _props$plaintext = props.plaintext,\n plaintext = _props$plaintext === void 0 ? plaintextContext : _props$plaintext,\n _props$disabled = props.disabled,\n disabled = _props$disabled === void 0 ? disabledContext : _props$disabled,\n onChange = props.onChange,\n onBlur = props.onBlur,\n defaultValue = props.defaultValue,\n _props$shouldResetWit = props.shouldResetWithUnmount,\n shouldResetWithUnmount = _props$shouldResetWit === void 0 ? false : _props$shouldResetWit,\n rest = (0, _objectWithoutPropertiesLoose2.default)(props, [\"as\", \"accepter\", \"classPrefix\", \"className\", \"checkAsync\", \"checkTrigger\", \"errorPlacement\", \"errorMessage\", \"name\", \"value\", \"readOnly\", \"plaintext\", \"disabled\", \"onChange\", \"onBlur\", \"defaultValue\", \"shouldResetWithUnmount\"]);\n\n var _useContext2 = (0, _react.useContext)(_FormGroup.FormGroupContext),\n controlId = _useContext2.controlId;\n\n if (!onFieldChange) {\n throw new Error(\"\\n <FormControl> must be inside a component decorated with <Form>.\\n And need to update React to 16.6.0 +.\\n \");\n }\n\n (0, _utils.useWillUnmount)(function () {\n if (shouldResetWithUnmount) {\n removeFieldValue === null || removeFieldValue === void 0 ? void 0 : removeFieldValue(name);\n removeFieldError === null || removeFieldError === void 0 ? void 0 : removeFieldError(name);\n }\n });\n var trigger = checkTrigger || contextCheckTrigger;\n var formValue = (0, _react.useContext)(_FormContext.FormValueContext);\n var val = (0, _isUndefined.default)(value) ? formValue === null || formValue === void 0 ? void 0 : formValue[name] : value;\n\n var _useClassNames = (0, _utils.useClassNames)(classPrefix),\n withClassPrefix = _useClassNames.withClassPrefix,\n prefix = _useClassNames.prefix,\n merge = _useClassNames.merge;\n\n var classes = merge(className, withClassPrefix('wrapper'));\n\n var handleFieldChange = function handleFieldChange(value, event) {\n handleFieldCheck(value, trigger === 'change');\n onFieldChange === null || onFieldChange === void 0 ? void 0 : onFieldChange(name, value, event);\n onChange === null || onChange === void 0 ? void 0 : onChange(value, event);\n };\n\n var handleFieldBlur = function handleFieldBlur(event) {\n handleFieldCheck(val, trigger === 'blur');\n onBlur === null || onBlur === void 0 ? void 0 : onBlur(event);\n };\n\n var handleFieldCheck = function handleFieldCheck(value, isCheckTrigger) {\n var _extends2;\n\n var callbackEvents = function callbackEvents(checkResult) {\n // The relevant event is triggered only when the inspection is allowed.\n if (isCheckTrigger) {\n if (checkResult.hasError) {\n onFieldError === null || onFieldError === void 0 ? void 0 : onFieldError(name, (checkResult === null || checkResult === void 0 ? void 0 : checkResult.errorMessage) || checkResult);\n } else {\n onFieldSuccess === null || onFieldSuccess === void 0 ? void 0 : onFieldSuccess(name);\n }\n }\n\n return checkResult;\n };\n\n var nextFormValue = (0, _extends3.default)({}, formValue, (_extends2 = {}, _extends2[name] = value, _extends2));\n\n if (checkAsync) {\n return model === null || model === void 0 ? void 0 : model.checkForFieldAsync(name, nextFormValue).then(function (checkResult) {\n return callbackEvents(checkResult);\n });\n }\n\n return Promise.resolve(callbackEvents(model === null || model === void 0 ? void 0 : model.checkForField(name, nextFormValue)));\n };\n\n var messageNode = null;\n\n if (!(0, _isUndefined.default)(errorMessage)) {\n messageNode = errorMessage;\n } else if (errorFromContext) {\n var fieldError = formError === null || formError === void 0 ? void 0 : formError[name];\n\n if (typeof fieldError === 'string' || !(fieldError !== null && fieldError !== void 0 && fieldError.array) && !(fieldError !== null && fieldError !== void 0 && fieldError.object) && fieldError !== null && fieldError !== void 0 && fieldError.hasError) {\n messageNode = fieldError;\n }\n }\n\n var ariaDescribedby = controlId ? controlId + \"-help-text\" : null;\n var fieldHasError = Boolean(messageNode);\n var ariaErrormessage = fieldHasError && controlId ? controlId + \"-error-message\" : undefined;\n return /*#__PURE__*/_react.default.createElement(Component, {\n className: classes,\n ref: ref,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 180,\n columnNumber: 5\n }\n }, /*#__PURE__*/_react.default.createElement(AccepterComponent, (0, _extends3.default)({\n id: controlId,\n \"aria-labelledby\": controlId ? controlId + \"-control-label\" : null,\n \"aria-describedby\": ariaDescribedby,\n \"aria-invalid\": fieldHasError || undefined,\n \"aria-errormessage\": ariaErrormessage\n }, rest, {\n readOnly: readOnly,\n plaintext: plaintext,\n disabled: disabled,\n name: name,\n onChange: handleFieldChange,\n onBlur: handleFieldBlur,\n defaultValue: defaultValue !== null && defaultValue !== void 0 ? defaultValue : formDefaultValue[name],\n value: val,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 181,\n columnNumber: 7\n }\n })), /*#__PURE__*/_react.default.createElement(_FormErrorMessage.default, {\n id: controlId + \"-error-message\",\n role: \"alert\",\n \"aria-relevant\": \"all\",\n show: !!messageNode,\n className: prefix(_templateObject || (_templateObject = (0, _taggedTemplateLiteralLoose2.default)([\"message-wrapper\"]))),\n placement: errorPlacement,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 198,\n columnNumber: 7\n }\n }, messageNode));\n});\n\nFormControl.displayName = 'FormControl';\nFormControl.propTypes = {\n name: _propTypes.default.string.isRequired,\n checkTrigger: _propTypes.default.oneOf(['change', 'blur', 'none']),\n checkAsync: _propTypes.default.bool,\n accepter: _propTypes.default.any,\n onChange: _propTypes.default.func,\n onBlur: _propTypes.default.func,\n classPrefix: _propTypes.default.string,\n errorMessage: _propTypes.default.node,\n errorPlacement: _propTypes.default.oneOf(['bottomStart', 'bottomEnd', 'topStart', 'topEnd', 'leftStart', 'rightStart', 'leftEnd', 'rightEnd']),\n value: _propTypes.default.any\n};\nvar _default = FormControl;\nexports.default = _default;\n\n//# sourceURL=webpack://rsuite/./src/FormControl/FormControl.tsx?");
2698
2698
 
2699
2699
  /***/ }),
2700
2700