@bigbinary/neetoui 8.1.0 → 8.1.2
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/dist/Alert.js +1 -2
- package/dist/Alert.js.map +1 -1
- package/dist/DatePicker.js +2 -3
- package/dist/DatePicker.js.map +1 -1
- package/dist/Modal.js +1 -2
- package/dist/Modal.js.map +1 -1
- package/dist/Pane.js +1 -2
- package/dist/Pane.js.map +1 -1
- package/dist/TimePicker.js +2 -3
- package/dist/TimePicker.js.map +1 -1
- package/dist/cjs/Alert.js +1 -2
- package/dist/cjs/Alert.js.map +1 -1
- package/dist/cjs/DatePicker.js +2 -3
- package/dist/cjs/DatePicker.js.map +1 -1
- package/dist/cjs/Modal.js +1 -2
- package/dist/cjs/Modal.js.map +1 -1
- package/dist/cjs/Pane.js +1 -2
- package/dist/cjs/Pane.js.map +1 -1
- package/dist/cjs/TimePicker.js +2 -3
- package/dist/cjs/TimePicker.js.map +1 -1
- package/dist/cjs/formik/BlockNavigation.js +1 -2
- package/dist/cjs/formik/BlockNavigation.js.map +1 -1
- package/dist/cjs/formik/Checkbox.js +3 -2
- package/dist/cjs/formik/Checkbox.js.map +1 -1
- package/dist/cjs/formik/Form.js +56 -48
- package/dist/cjs/formik/Form.js.map +1 -1
- package/dist/cjs/formik/Input.js +3 -2
- package/dist/cjs/formik/Input.js.map +1 -1
- package/dist/cjs/formik/MultiEmailInput.js +3 -2
- package/dist/cjs/formik/MultiEmailInput.js.map +1 -1
- package/dist/cjs/formik/Radio.js +3 -2
- package/dist/cjs/formik/Radio.js.map +1 -1
- package/dist/cjs/formik/Select.js +3 -2
- package/dist/cjs/formik/Select.js.map +1 -1
- package/dist/cjs/formik/Slider.js +3 -2
- package/dist/cjs/formik/Slider.js.map +1 -1
- package/dist/cjs/formik/Switch.js +3 -2
- package/dist/cjs/formik/Switch.js.map +1 -1
- package/dist/cjs/formik/Textarea.js +3 -2
- package/dist/cjs/formik/Textarea.js.map +1 -1
- package/dist/cjs/formik/TreeSelect.js +3 -2
- package/dist/cjs/formik/TreeSelect.js.map +1 -1
- package/dist/cjs/formik/index.js +1 -2
- package/dist/cjs/formik/index.js.map +1 -1
- package/dist/cjs/{index-34eccc77.js → index-481904b2.js} +1 -1
- package/dist/cjs/{index-34eccc77.js.map → index-481904b2.js.map} +1 -1
- package/dist/cjs/index.js +2 -3
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/{useOverlayManager-91348551.js → useOverlayManager-763ee731.js} +87 -2
- package/dist/cjs/useOverlayManager-763ee731.js.map +1 -0
- package/dist/formik/BlockNavigation.js +1 -2
- package/dist/formik/BlockNavigation.js.map +1 -1
- package/dist/formik/Checkbox.js +3 -2
- package/dist/formik/Checkbox.js.map +1 -1
- package/dist/formik/Form.js +54 -47
- package/dist/formik/Form.js.map +1 -1
- package/dist/formik/Input.js +3 -2
- package/dist/formik/Input.js.map +1 -1
- package/dist/formik/MultiEmailInput.js +3 -2
- package/dist/formik/MultiEmailInput.js.map +1 -1
- package/dist/formik/Radio.js +3 -2
- package/dist/formik/Radio.js.map +1 -1
- package/dist/formik/Select.js +3 -2
- package/dist/formik/Select.js.map +1 -1
- package/dist/formik/Slider.js +3 -2
- package/dist/formik/Slider.js.map +1 -1
- package/dist/formik/Switch.js +3 -2
- package/dist/formik/Switch.js.map +1 -1
- package/dist/formik/Textarea.js +3 -2
- package/dist/formik/Textarea.js.map +1 -1
- package/dist/formik/TreeSelect.js +3 -2
- package/dist/formik/TreeSelect.js.map +1 -1
- package/dist/formik/index.js +1 -2
- package/dist/formik/index.js.map +1 -1
- package/dist/{index-23406db4.js → index-23b5ba50.js} +1 -1
- package/dist/{index-23406db4.js.map → index-23b5ba50.js.map} +1 -1
- package/dist/index.js +2 -3
- package/dist/index.js.map +1 -1
- package/dist/{useOverlayManager-c4efbaee.js → useOverlayManager-5be3be10.js} +87 -2
- package/dist/useOverlayManager-5be3be10.js.map +1 -0
- package/package.json +1 -1
- package/dist/cjs/index-63580e68.js +0 -92
- package/dist/cjs/index-63580e68.js.map +0 -1
- package/dist/cjs/useOverlayManager-91348551.js.map +0 -1
- package/dist/index-283bc6a6.js +0 -90
- package/dist/index-283bc6a6.js.map +0 -1
- package/dist/useOverlayManager-c4efbaee.js.map +0 -1
package/dist/cjs/TimePicker.js
CHANGED
|
@@ -25,7 +25,7 @@ require('react-colorful');
|
|
|
25
25
|
require('./tinycolor-b1e9a7b2.js');
|
|
26
26
|
require('./Dropdown.js');
|
|
27
27
|
require('./index-7a8fe498.js');
|
|
28
|
-
var DatePicker = require('./index-
|
|
28
|
+
var DatePicker = require('./index-481904b2.js');
|
|
29
29
|
require('./Input.js');
|
|
30
30
|
require('./Label.js');
|
|
31
31
|
require('./MultiEmailInput.js');
|
|
@@ -76,10 +76,9 @@ require('dayjs/plugin/weekday');
|
|
|
76
76
|
require('dayjs/plugin/weekOfYear');
|
|
77
77
|
require('./en-c1fe180c.js');
|
|
78
78
|
require('./Tooltip.js');
|
|
79
|
-
require('./useOverlayManager-
|
|
79
|
+
require('./useOverlayManager-763ee731.js');
|
|
80
80
|
require('@babel/runtime/helpers/esm/objectWithoutPropertiesLoose');
|
|
81
81
|
require('@babel/runtime/helpers/esm/inheritsLoose');
|
|
82
|
-
require('./index-63580e68.js');
|
|
83
82
|
require('@babel/runtime/helpers/esm/assertThisInitialized');
|
|
84
83
|
require('antd/lib/date-picker');
|
|
85
84
|
require('antd/locale/de_DE');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TimePicker.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"TimePicker.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -21,11 +21,10 @@ require('@tippyjs/react');
|
|
|
21
21
|
require('tippy.js');
|
|
22
22
|
require('../Modal.js');
|
|
23
23
|
require('@bigbinary/neeto-icons');
|
|
24
|
-
require('../useOverlayManager-
|
|
24
|
+
require('../useOverlayManager-763ee731.js');
|
|
25
25
|
require('@babel/runtime/helpers/esm/extends');
|
|
26
26
|
require('@babel/runtime/helpers/esm/objectWithoutPropertiesLoose');
|
|
27
27
|
require('@babel/runtime/helpers/esm/inheritsLoose');
|
|
28
|
-
require('../index-63580e68.js');
|
|
29
28
|
require('react-dom');
|
|
30
29
|
require('@babel/runtime/helpers/esm/assertThisInitialized');
|
|
31
30
|
require('ramda');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BlockNavigation.js","sources":["../../../src/hooks/useNavPrompt.js","../../../src/formik/BlockNavigation.jsx"],"sourcesContent":["import { useEffect, useRef, useState } from \"react\";\n\nimport { useHistory } from \"react-router-dom\";\n\nconst useNavPrompt = ({ shouldBlock = true }) => {\n const [isBlocked, setIsBlocked] = useState(false);\n\n const history = useHistory();\n const unblockRef = useRef();\n const navRef = useRef();\n\n const continueNavigation = () => {\n if (isBlocked && unblockRef.current) {\n unblockRef.current?.();\n setIsBlocked(false);\n if (navRef.current) {\n const { action, transition } = navRef.current;\n handleNavigation(action, transition);\n }\n }\n };\n\n const hidePrompt = () => setIsBlocked(false);\n\n const handleNavigation = (action, transition) => {\n switch (action) {\n case \"PUSH\":\n history.push(transition);\n break;\n case \"REPLACE\":\n history.replace(transition);\n break;\n case \"POP\":\n history.goBack();\n break;\n }\n };\n\n useEffect(() => {\n if (shouldBlock) {\n unblockRef.current = history.block((transition, action) => {\n setIsBlocked(true);\n navRef.current = { transition, action };\n\n return false;\n });\n\n return () => {\n if (unblockRef.current) {\n unblockRef.current();\n }\n };\n }\n\n return undefined;\n }, [shouldBlock]);\n\n return { isBlocked, continueNavigation, hidePrompt };\n};\n\nexport default useNavPrompt;\n","/* eslint-disable @bigbinary/neeto/file-name-and-export-name-standards */\nimport React from \"react\";\n\nimport { useFormikContext } from \"formik\";\nimport PropTypes from \"prop-types\";\nimport { useTranslation } from \"react-i18next\";\n\nimport Alert from \"components/Alert\";\nimport { useNavPrompt } from \"hooks\";\nimport { getLocale } from \"utils\";\n\nconst BlockNavigation = ({ isDirty = false, ...otherProps }) => {\n const { t, i18n } = useTranslation();\n const formikContext = useFormikContext();\n const shouldBlock =\n isDirty || (Boolean(formikContext) && Boolean(formikContext.dirty));\n\n const { isBlocked, continueNavigation, hidePrompt } = useNavPrompt({\n shouldBlock,\n });\n\n const continueAction = () => {\n if (formikContext) formikContext.resetForm();\n continueNavigation();\n };\n\n return (\n <Alert\n isOpen={isBlocked}\n message={getLocale(i18n, t, \"neetoui.blockNavigation.alertMessage\")}\n title={getLocale(i18n, t, \"neetoui.blockNavigation.alertTitle\")}\n submitButtonLabel={getLocale(\n i18n,\n t,\n \"neetoui.blockNavigation.submitButtonLabel\"\n )}\n onClose={hidePrompt}\n onSubmit={continueAction}\n {...otherProps}\n />\n );\n};\n\nBlockNavigation.propTypes = {\n isDirty: PropTypes.bool,\n message: PropTypes.string,\n title: PropTypes.string,\n submitButtonLabel: PropTypes.string,\n};\n\nexport default BlockNavigation;\n"],"names":["useNavPrompt","_ref","_ref$shouldBlock","shouldBlock","_useState","useState","_useState2","_slicedToArray","isBlocked","setIsBlocked","history","useHistory","unblockRef","useRef","navRef","continueNavigation","current","_unblockRef$current","call","_navRef$current","action","transition","handleNavigation","hidePrompt","push","replace","goBack","useEffect","block","undefined","BlockNavigation","_ref$isDirty","isDirty","otherProps","_objectWithoutProperties","_excluded","_useTranslation","useTranslation","t","i18n","formikContext","useFormikContext","Boolean","dirty","_useNavPrompt","continueAction","resetForm","React","createElement","Alert","_extends","isOpen","message","getLocale","title","submitButtonLabel","onClose","onSubmit"],"mappings":"
|
|
1
|
+
{"version":3,"file":"BlockNavigation.js","sources":["../../../src/hooks/useNavPrompt.js","../../../src/formik/BlockNavigation.jsx"],"sourcesContent":["import { useEffect, useRef, useState } from \"react\";\n\nimport { useHistory } from \"react-router-dom\";\n\nconst useNavPrompt = ({ shouldBlock = true }) => {\n const [isBlocked, setIsBlocked] = useState(false);\n\n const history = useHistory();\n const unblockRef = useRef();\n const navRef = useRef();\n\n const continueNavigation = () => {\n if (isBlocked && unblockRef.current) {\n unblockRef.current?.();\n setIsBlocked(false);\n if (navRef.current) {\n const { action, transition } = navRef.current;\n handleNavigation(action, transition);\n }\n }\n };\n\n const hidePrompt = () => setIsBlocked(false);\n\n const handleNavigation = (action, transition) => {\n switch (action) {\n case \"PUSH\":\n history.push(transition);\n break;\n case \"REPLACE\":\n history.replace(transition);\n break;\n case \"POP\":\n history.goBack();\n break;\n }\n };\n\n useEffect(() => {\n if (shouldBlock) {\n unblockRef.current = history.block((transition, action) => {\n setIsBlocked(true);\n navRef.current = { transition, action };\n\n return false;\n });\n\n return () => {\n if (unblockRef.current) {\n unblockRef.current();\n }\n };\n }\n\n return undefined;\n }, [shouldBlock]);\n\n return { isBlocked, continueNavigation, hidePrompt };\n};\n\nexport default useNavPrompt;\n","/* eslint-disable @bigbinary/neeto/file-name-and-export-name-standards */\nimport React from \"react\";\n\nimport { useFormikContext } from \"formik\";\nimport PropTypes from \"prop-types\";\nimport { useTranslation } from \"react-i18next\";\n\nimport Alert from \"components/Alert\";\nimport { useNavPrompt } from \"hooks\";\nimport { getLocale } from \"utils\";\n\nconst BlockNavigation = ({ isDirty = false, ...otherProps }) => {\n const { t, i18n } = useTranslation();\n const formikContext = useFormikContext();\n const shouldBlock =\n isDirty || (Boolean(formikContext) && Boolean(formikContext.dirty));\n\n const { isBlocked, continueNavigation, hidePrompt } = useNavPrompt({\n shouldBlock,\n });\n\n const continueAction = () => {\n if (formikContext) formikContext.resetForm();\n continueNavigation();\n };\n\n return (\n <Alert\n isOpen={isBlocked}\n message={getLocale(i18n, t, \"neetoui.blockNavigation.alertMessage\")}\n title={getLocale(i18n, t, \"neetoui.blockNavigation.alertTitle\")}\n submitButtonLabel={getLocale(\n i18n,\n t,\n \"neetoui.blockNavigation.submitButtonLabel\"\n )}\n onClose={hidePrompt}\n onSubmit={continueAction}\n {...otherProps}\n />\n );\n};\n\nBlockNavigation.propTypes = {\n isDirty: PropTypes.bool,\n message: PropTypes.string,\n title: PropTypes.string,\n submitButtonLabel: PropTypes.string,\n};\n\nexport default BlockNavigation;\n"],"names":["useNavPrompt","_ref","_ref$shouldBlock","shouldBlock","_useState","useState","_useState2","_slicedToArray","isBlocked","setIsBlocked","history","useHistory","unblockRef","useRef","navRef","continueNavigation","current","_unblockRef$current","call","_navRef$current","action","transition","handleNavigation","hidePrompt","push","replace","goBack","useEffect","block","undefined","BlockNavigation","_ref$isDirty","isDirty","otherProps","_objectWithoutProperties","_excluded","_useTranslation","useTranslation","t","i18n","formikContext","useFormikContext","Boolean","dirty","_useNavPrompt","continueAction","resetForm","React","createElement","Alert","_extends","isOpen","message","getLocale","title","submitButtonLabel","onClose","onSubmit"],"mappings":"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"}
|
|
@@ -53,12 +53,13 @@ var Checkbox = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
53
53
|
var field = _ref2.field,
|
|
54
54
|
meta = _ref2.meta,
|
|
55
55
|
form = _ref2.form;
|
|
56
|
-
var status = form.status,
|
|
56
|
+
var _form$status = form.status,
|
|
57
|
+
status = _form$status === void 0 ? {} : _form$status,
|
|
57
58
|
setStatus = form.setStatus;
|
|
58
59
|
var fieldStatus = formik.getIn(status, name);
|
|
59
60
|
var fieldProps = _objectSpread(_objectSpread({}, field), {}, {
|
|
60
61
|
onChange: function onChange(e) {
|
|
61
|
-
setStatus(ramda.dissoc(name));
|
|
62
|
+
setStatus(ramda.dissoc(name, status));
|
|
62
63
|
field.onChange(e);
|
|
63
64
|
}
|
|
64
65
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Checkbox.js","sources":["../../../src/formik/Checkbox.jsx"],"sourcesContent":["import React, { forwardRef } from \"react\";\n\nimport { Field, getIn } from \"formik\";\nimport PropTypes from \"prop-types\";\nimport { dissoc } from \"ramda\";\n\nimport CheckboxField from \"components/Checkbox\";\n\nconst Checkbox = forwardRef(({ name, ...rest }, ref) => (\n <Field {...{ name }}>\n {({ field, meta, form }) => {\n const { status, setStatus } = form;\n const fieldStatus = getIn(status, name);\n\n const fieldProps = {\n ...field,\n onChange: e => {\n setStatus(dissoc(name));\n field.onChange(e);\n },\n };\n\n return (\n <CheckboxField\n checked={field.value}\n {...{ ...fieldProps, ref }}\n error={meta.touched ? meta.error || fieldStatus : \"\"}\n {...rest}\n />\n );\n }}\n </Field>\n));\n\nCheckbox.displayName = \"Checkbox\";\n\nCheckbox.propTypes = {\n /**\n * The name of the Checkbox.\n */\n name: PropTypes.string,\n};\n\nexport default Checkbox;\n"],"names":["Checkbox","forwardRef","_ref","ref","name","rest","_objectWithoutProperties","_excluded","React","createElement","Field","_ref2","field","meta","form","status","setStatus","fieldStatus","getIn","fieldProps","_objectSpread","onChange","e","dissoc","CheckboxField","_extends","checked","value","error","touched","displayName"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQA,IAAMA,QAAQ,gBAAGC,gBAAU,CAAC,UAAAC,IAAA,EAAoBC,GAAG,EAAA;AAAA,EAAA,IAApBC,IAAI,GAAAF,IAAA,CAAJE,IAAI;AAAKC,IAAAA,IAAI,GAAAC,4CAAA,CAAAJ,IAAA,EAAAK,SAAA,CAAA,CAAA;AAAA,EAAA,oBAC1CC,yBAAA,CAAAC,aAAA,CAACC,YAAK,EAAA;AAAON,IAAAA,IAAI,EAAJA,IAAAA;GACV,EAAA,UAAAO,KAAA,EAA2B;AAAA,IAAA,IAAxBC,KAAK,GAAAD,KAAA,CAALC,KAAK;MAAEC,IAAI,GAAAF,KAAA,CAAJE,IAAI;MAAEC,IAAI,GAAAH,KAAA,CAAJG,IAAI,CAAA;AACnB,IAAA,
|
|
1
|
+
{"version":3,"file":"Checkbox.js","sources":["../../../src/formik/Checkbox.jsx"],"sourcesContent":["import React, { forwardRef } from \"react\";\n\nimport { Field, getIn } from \"formik\";\nimport PropTypes from \"prop-types\";\nimport { dissoc } from \"ramda\";\n\nimport CheckboxField from \"components/Checkbox\";\n\nconst Checkbox = forwardRef(({ name, ...rest }, ref) => (\n <Field {...{ name }}>\n {({ field, meta, form }) => {\n const { status = {}, setStatus } = form;\n const fieldStatus = getIn(status, name);\n\n const fieldProps = {\n ...field,\n onChange: e => {\n setStatus(dissoc(name, status));\n field.onChange(e);\n },\n };\n\n return (\n <CheckboxField\n checked={field.value}\n {...{ ...fieldProps, ref }}\n error={meta.touched ? meta.error || fieldStatus : \"\"}\n {...rest}\n />\n );\n }}\n </Field>\n));\n\nCheckbox.displayName = \"Checkbox\";\n\nCheckbox.propTypes = {\n /**\n * The name of the Checkbox.\n */\n name: PropTypes.string,\n};\n\nexport default Checkbox;\n"],"names":["Checkbox","forwardRef","_ref","ref","name","rest","_objectWithoutProperties","_excluded","React","createElement","Field","_ref2","field","meta","form","_form$status","status","setStatus","fieldStatus","getIn","fieldProps","_objectSpread","onChange","e","dissoc","CheckboxField","_extends","checked","value","error","touched","displayName"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQA,IAAMA,QAAQ,gBAAGC,gBAAU,CAAC,UAAAC,IAAA,EAAoBC,GAAG,EAAA;AAAA,EAAA,IAApBC,IAAI,GAAAF,IAAA,CAAJE,IAAI;AAAKC,IAAAA,IAAI,GAAAC,4CAAA,CAAAJ,IAAA,EAAAK,SAAA,CAAA,CAAA;AAAA,EAAA,oBAC1CC,yBAAA,CAAAC,aAAA,CAACC,YAAK,EAAA;AAAON,IAAAA,IAAI,EAAJA,IAAAA;GACV,EAAA,UAAAO,KAAA,EAA2B;AAAA,IAAA,IAAxBC,KAAK,GAAAD,KAAA,CAALC,KAAK;MAAEC,IAAI,GAAAF,KAAA,CAAJE,IAAI;MAAEC,IAAI,GAAAH,KAAA,CAAJG,IAAI,CAAA;AACnB,IAAA,IAAAC,YAAA,GAAmCD,IAAI,CAA/BE,MAAM;AAANA,MAAAA,MAAM,GAAAD,YAAA,KAAA,KAAA,CAAA,GAAG,EAAE,GAAAA,YAAA;MAAEE,SAAS,GAAKH,IAAI,CAAlBG,SAAS,CAAA;AAC9B,IAAA,IAAMC,WAAW,GAAGC,YAAK,CAACH,MAAM,EAAEZ,IAAI,CAAC,CAAA;AAEvC,IAAA,IAAMgB,UAAU,GAAAC,aAAA,CAAAA,aAAA,KACXT,KAAK,CAAA,EAAA,EAAA,EAAA;AACRU,MAAAA,QAAQ,EAAE,SAAAA,QAAAC,CAAAA,CAAC,EAAI;AACbN,QAAAA,SAAS,CAACO,YAAM,CAACpB,IAAI,EAAEY,MAAM,CAAC,CAAC,CAAA;AAC/BJ,QAAAA,KAAK,CAACU,QAAQ,CAACC,CAAC,CAAC,CAAA;AACnB,OAAA;KACD,CAAA,CAAA;AAED,IAAA,oBACEf,yBAAA,CAAAC,aAAA,CAACgB,UAAa,EAAAC,4BAAA,CAAA;MACZC,OAAO,EAAEf,KAAK,CAACgB,KAAAA;AAAM,KAAA,EAAAP,aAAA,CAAAA,aAAA,CAAA,EAAA,EACZD,UAAU,CAAA,EAAA,EAAA,EAAA;AAAEjB,MAAAA,GAAG,EAAHA,GAAAA;AAAG,KAAA,CAAA,EAAA;MACxB0B,KAAK,EAAEhB,IAAI,CAACiB,OAAO,GAAGjB,IAAI,CAACgB,KAAK,IAAIX,WAAW,GAAG,EAAA;AAAG,KAAA,EACjDb,IAAI,CACR,CAAA,CAAA;AAEN,GAAC,CACK,CAAA;AAAA,CACT,EAAC;AAEFL,QAAQ,CAAC+B,WAAW,GAAG,UAAU;;;;"}
|
package/dist/cjs/formik/Form.js
CHANGED
|
@@ -1,20 +1,22 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
+
var _extends = require('@babel/runtime/helpers/extends');
|
|
3
4
|
var React = require('react');
|
|
4
5
|
var formik = require('formik');
|
|
5
|
-
var
|
|
6
|
-
var _extends = require('@babel/runtime/helpers/extends');
|
|
6
|
+
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
7
7
|
var _asyncToGenerator = require('@babel/runtime/helpers/asyncToGenerator');
|
|
8
8
|
var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
|
|
9
9
|
var _regeneratorRuntime = require('@babel/runtime/regenerator');
|
|
10
|
+
var ramda = require('ramda');
|
|
10
11
|
var _toConsumableArray = require('@babel/runtime/helpers/toConsumableArray');
|
|
11
12
|
var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
|
|
12
|
-
var
|
|
13
|
+
var neetoCist = require('@bigbinary/neeto-cist');
|
|
13
14
|
|
|
14
15
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
15
16
|
|
|
16
|
-
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
17
17
|
var _extends__default = /*#__PURE__*/_interopDefaultLegacy(_extends);
|
|
18
|
+
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
19
|
+
var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
|
|
18
20
|
var _asyncToGenerator__default = /*#__PURE__*/_interopDefaultLegacy(_asyncToGenerator);
|
|
19
21
|
var _objectWithoutProperties__default = /*#__PURE__*/_interopDefaultLegacy(_objectWithoutProperties);
|
|
20
22
|
var _regeneratorRuntime__default = /*#__PURE__*/_interopDefaultLegacy(_regeneratorRuntime);
|
|
@@ -42,10 +44,20 @@ var getErrorFieldName = function getErrorFieldName(formikErrors) {
|
|
|
42
44
|
var _transformObjectToDot;
|
|
43
45
|
return (_transformObjectToDot = transformObjectToDotNotation(formikErrors)) === null || _transformObjectToDot === void 0 ? void 0 : _transformObjectToDot[0];
|
|
44
46
|
};
|
|
45
|
-
var
|
|
47
|
+
var getFieldsWithServerError = function getFieldsWithServerError() {
|
|
48
|
+
var status = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
49
|
+
return Object.keys(status).filter(function (fieldName) {
|
|
50
|
+
return neetoCist.isPresent(status[fieldName]);
|
|
51
|
+
});
|
|
52
|
+
};
|
|
53
|
+
var scrollToError = function scrollToError(formRef, errors, status) {
|
|
46
54
|
var fieldErrorName = getErrorFieldName(errors);
|
|
47
|
-
|
|
48
|
-
|
|
55
|
+
var _getFieldsWithServerE = getFieldsWithServerError(status),
|
|
56
|
+
_getFieldsWithServerE2 = _slicedToArray__default["default"](_getFieldsWithServerE, 1),
|
|
57
|
+
fieldWithServerError = _getFieldsWithServerE2[0];
|
|
58
|
+
if (!fieldErrorName && !fieldWithServerError) return;
|
|
59
|
+
var errorFieldName = fieldErrorName || fieldWithServerError;
|
|
60
|
+
var errorFormElement = formRef.current.querySelector("[name=\"".concat(errorFieldName, "\"]"));
|
|
49
61
|
errorFormElement === null || errorFormElement === void 0 || errorFormElement.scrollIntoView({
|
|
50
62
|
behavior: "smooth",
|
|
51
63
|
block: "center"
|
|
@@ -57,15 +69,21 @@ var ScrollToErrorField = function ScrollToErrorField(_ref) {
|
|
|
57
69
|
var _useFormikContext = formik.useFormikContext(),
|
|
58
70
|
submitCount = _useFormikContext.submitCount,
|
|
59
71
|
isValid = _useFormikContext.isValid,
|
|
60
|
-
errors = _useFormikContext.errors
|
|
72
|
+
errors = _useFormikContext.errors,
|
|
73
|
+
status = _useFormikContext.status;
|
|
61
74
|
React.useEffect(function () {
|
|
62
|
-
|
|
63
|
-
|
|
75
|
+
var fieldsWithServerError = getFieldsWithServerError(status);
|
|
76
|
+
if (!formRef.current || isValid && ramda.isEmpty(fieldsWithServerError)) {
|
|
77
|
+
return;
|
|
78
|
+
}
|
|
79
|
+
scrollToError(formRef, errors, status);
|
|
64
80
|
}, [submitCount]);
|
|
65
81
|
return null;
|
|
66
82
|
};
|
|
67
83
|
|
|
68
84
|
var _excluded = ["validateForm", "setErrors", "setTouched", "submitForm"];
|
|
85
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
86
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty__default["default"](target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
69
87
|
var FormWrapper = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
70
88
|
var className = _ref.className,
|
|
71
89
|
formProps = _ref.formProps,
|
|
@@ -78,12 +96,13 @@ var FormWrapper = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
78
96
|
submitForm = _useFormikContext.submitForm,
|
|
79
97
|
formikBag = _objectWithoutProperties__default["default"](_useFormikContext, _excluded);
|
|
80
98
|
var isFormDirty = formikBag.dirty,
|
|
81
|
-
isSubmitting = formikBag.isSubmitting
|
|
99
|
+
isSubmitting = formikBag.isSubmitting,
|
|
100
|
+
status = formikBag.status;
|
|
82
101
|
var formRefForScrollToErrorField = React.useRef();
|
|
83
102
|
var formRef = ref || formRefForScrollToErrorField;
|
|
84
103
|
var handleKeyDown = React.useCallback( /*#__PURE__*/function () {
|
|
85
104
|
var _ref2 = _asyncToGenerator__default["default"]( /*#__PURE__*/_regeneratorRuntime__default["default"].mark(function _callee(event) {
|
|
86
|
-
var isEventFromEditorOrTextarea, errors;
|
|
105
|
+
var isEventFromEditorOrTextarea, errors, fieldStatuses;
|
|
87
106
|
return _regeneratorRuntime__default["default"].wrap(function _callee$(_context) {
|
|
88
107
|
while (1) switch (_context.prev = _context.next) {
|
|
89
108
|
case 0:
|
|
@@ -118,30 +137,31 @@ var FormWrapper = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
118
137
|
return validateForm();
|
|
119
138
|
case 13:
|
|
120
139
|
errors = _context.sent;
|
|
121
|
-
|
|
140
|
+
fieldStatuses = getFieldsWithServerError(status);
|
|
141
|
+
if (Object.keys(errors).length > 0 || Object.keys(fieldStatuses).length > 0) {
|
|
122
142
|
setErrors(errors);
|
|
123
|
-
setTouched(errors);
|
|
124
|
-
scrollToErrorField && scrollToError(formRef, errors);
|
|
143
|
+
setTouched(_objectSpread(_objectSpread({}, errors), status));
|
|
144
|
+
scrollToErrorField && scrollToError(formRef, errors, status);
|
|
125
145
|
} else {
|
|
126
146
|
submitForm();
|
|
127
147
|
}
|
|
128
|
-
_context.next =
|
|
148
|
+
_context.next = 21;
|
|
129
149
|
break;
|
|
130
|
-
case
|
|
131
|
-
_context.prev =
|
|
150
|
+
case 18:
|
|
151
|
+
_context.prev = 18;
|
|
132
152
|
_context.t0 = _context["catch"](10);
|
|
133
153
|
// eslint-disable-next-line no-console
|
|
134
154
|
console.error("An unhandled error was caught from validateForm()", _context.t0);
|
|
135
|
-
case
|
|
155
|
+
case 21:
|
|
136
156
|
case "end":
|
|
137
157
|
return _context.stop();
|
|
138
158
|
}
|
|
139
|
-
}, _callee, null, [[10,
|
|
159
|
+
}, _callee, null, [[10, 18]]);
|
|
140
160
|
}));
|
|
141
161
|
return function (_x) {
|
|
142
162
|
return _ref2.apply(this, arguments);
|
|
143
163
|
};
|
|
144
|
-
}(), [validateForm, setErrors, setTouched, isFormDirty, isSubmitting, submitForm]);
|
|
164
|
+
}(), [validateForm, setErrors, setTouched, isFormDirty, isSubmitting, submitForm, status]);
|
|
145
165
|
return /*#__PURE__*/React__default["default"].createElement(formik.Form, _extends__default["default"]({
|
|
146
166
|
className: className,
|
|
147
167
|
noValidate: true,
|
|
@@ -161,7 +181,21 @@ var Form = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
161
181
|
formProps = _ref.formProps,
|
|
162
182
|
_ref$scrollToErrorFie = _ref.scrollToErrorField,
|
|
163
183
|
scrollToErrorField = _ref$scrollToErrorFie === void 0 ? false : _ref$scrollToErrorFie;
|
|
164
|
-
|
|
184
|
+
var formikRef = React.useRef();
|
|
185
|
+
var handleSubmit = function handleSubmit(values, actions) {
|
|
186
|
+
var _formikRef$current;
|
|
187
|
+
var fieldsWithServerError = getFieldsWithServerError((_formikRef$current = formikRef.current) === null || _formikRef$current === void 0 ? void 0 : _formikRef$current.status);
|
|
188
|
+
if (fieldsWithServerError.length > 0) {
|
|
189
|
+
actions.setSubmitting(false);
|
|
190
|
+
return;
|
|
191
|
+
}
|
|
192
|
+
formikProps.onSubmit(values, actions);
|
|
193
|
+
};
|
|
194
|
+
return /*#__PURE__*/React__default["default"].createElement(formik.Formik, _extends__default["default"]({
|
|
195
|
+
innerRef: formikRef
|
|
196
|
+
}, formikProps, {
|
|
197
|
+
onSubmit: handleSubmit
|
|
198
|
+
}), function (props) {
|
|
165
199
|
return /*#__PURE__*/React__default["default"].createElement(FormWrapper, {
|
|
166
200
|
className: className,
|
|
167
201
|
formProps: formProps,
|
|
@@ -171,32 +205,6 @@ var Form = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
171
205
|
});
|
|
172
206
|
});
|
|
173
207
|
Form.displayName = "Form";
|
|
174
|
-
Form.propTypes = {
|
|
175
|
-
/**
|
|
176
|
-
* Pass a function to render children or pass the children directly
|
|
177
|
-
**/
|
|
178
|
-
children: index.propTypes.exports.node,
|
|
179
|
-
/**
|
|
180
|
-
* Additional classnames to be passed to the form wrapper
|
|
181
|
-
**/
|
|
182
|
-
className: index.propTypes.exports.string,
|
|
183
|
-
/**
|
|
184
|
-
* Props to be passed to the Formik component like `initialValues`, `validationSchema`, `onSubmit`
|
|
185
|
-
* Refer to the Formik docs for more details
|
|
186
|
-
* https://formik.org/docs/api/formik
|
|
187
|
-
**/
|
|
188
|
-
formikProps: index.propTypes.exports.object,
|
|
189
|
-
/**
|
|
190
|
-
* Props to be passed to the form element like `className`.
|
|
191
|
-
* Refer to the Formik docs for more details
|
|
192
|
-
* https://formik.org/docs/api/form
|
|
193
|
-
**/
|
|
194
|
-
formProps: index.propTypes.exports.object,
|
|
195
|
-
/**
|
|
196
|
-
* Props to be passed for scrolling to error field on submit button click.
|
|
197
|
-
**/
|
|
198
|
-
scrollToErrorField: index.propTypes.exports.bool
|
|
199
|
-
};
|
|
200
208
|
|
|
201
209
|
module.exports = Form;
|
|
202
210
|
//# sourceMappingURL=Form.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Form.js","sources":["../../../src/formik/Form/ScrollToErrorField/utils.js","../../../src/formik/Form/ScrollToErrorField/index.js","../../../src/formik/Form/FormWrapper.jsx","../../../src/formik/Form/index.jsx"],"sourcesContent":["import { is } from \"ramda\";\n\nconst transformObjectToDotNotation = (object, prefix = \"\") => {\n const result = [];\n\n Object.entries(object).forEach(([key, value]) => {\n if (!value) return;\n const nextKey = prefix ? `${prefix}.${key}` : key;\n if (is(Object, value)) {\n result.push(...transformObjectToDotNotation(value, nextKey));\n } else {\n result.push(nextKey);\n }\n });\n\n return result;\n};\n\nconst getErrorFieldName = formikErrors =>\n transformObjectToDotNotation(formikErrors)?.[0];\n\nexport const scrollToError = (formRef, errors) => {\n const fieldErrorName = getErrorFieldName(errors);\n if (!fieldErrorName) return;\n\n const errorFormElement = formRef.current.querySelector(\n `[name=\"${fieldErrorName}\"]`\n );\n\n errorFormElement?.scrollIntoView({\n behavior: \"smooth\",\n block: \"center\",\n });\n};\n","import { useEffect } from \"react\";\n\nimport { useFormikContext } from \"formik\";\n\nimport { scrollToError } from \"./utils\";\n\nconst ScrollToErrorField = ({ formRef }) => {\n const { submitCount, isValid, errors } = useFormikContext();\n\n useEffect(() => {\n if (!formRef.current || isValid) return;\n\n scrollToError(formRef, errors);\n }, [submitCount]);\n\n return null;\n};\n\nexport default ScrollToErrorField;\n","import React, { useCallback, forwardRef, useRef } from \"react\";\n\nimport { Form as FormikForm, useFormikContext } from \"formik\";\nimport PropTypes from \"prop-types\";\n\nimport ScrollToErrorField from \"./ScrollToErrorField\";\nimport { scrollToError } from \"./ScrollToErrorField/utils\";\n\nconst FormWrapper = forwardRef(\n ({ className, formProps, children, scrollToErrorField }, ref) => {\n const { validateForm, setErrors, setTouched, submitForm, ...formikBag } =\n useFormikContext();\n\n const { dirty: isFormDirty, isSubmitting } = formikBag;\n\n const formRefForScrollToErrorField = useRef();\n\n const formRef = ref || formRefForScrollToErrorField;\n\n const handleKeyDown = useCallback(\n async event => {\n const isEventFromEditorOrTextarea =\n event.target.tagName === \"TEXTAREA\" || event.target.editor;\n\n if (event.key !== \"Enter\") return;\n\n if (isEventFromEditorOrTextarea && !event.metaKey) return;\n\n event.preventDefault();\n\n if (event.shiftKey) return;\n\n if (!isFormDirty || isSubmitting) return;\n\n try {\n const errors = await validateForm();\n\n if (Object.keys(errors).length > 0) {\n setErrors(errors);\n setTouched(errors);\n scrollToErrorField && scrollToError(formRef, errors);\n } else {\n submitForm();\n }\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error(\n \"An unhandled error was caught from validateForm()\",\n error\n );\n }\n },\n [\n validateForm,\n setErrors,\n setTouched,\n isFormDirty,\n isSubmitting,\n submitForm,\n ]\n );\n\n return (\n <FormikForm\n {...{ className }}\n noValidate\n data-testid=\"neeto-ui-form-wrapper\"\n ref={formRef}\n onKeyDown={handleKeyDown}\n {...formProps}\n >\n {scrollToErrorField && <ScrollToErrorField {...{ formRef }} />}\n {children}\n </FormikForm>\n );\n }\n);\n\nFormWrapper.displayName = \"FormWrapper\";\n\nFormWrapper.propTypes = {\n children: PropTypes.node,\n formProps: PropTypes.object,\n scrollToErrorField: PropTypes.bool,\n};\n\nexport default FormWrapper;\n","import React, { forwardRef } from \"react\";\n\nimport { Formik } from \"formik\";\nimport PropTypes from \"prop-types\";\n\nimport FormWrapper from \"./FormWrapper\";\n\nconst Form = forwardRef(\n (\n { className, children, formikProps, formProps, scrollToErrorField = false },\n ref\n ) => (\n <Formik {...formikProps}>\n {props => (\n <FormWrapper {...{ className, formProps, ref, scrollToErrorField }}>\n {typeof children === \"function\" ? children(props) : children}\n </FormWrapper>\n )}\n </Formik>\n )\n);\n\nForm.displayName = \"Form\";\n\nForm.propTypes = {\n /**\n * Pass a function to render children or pass the children directly\n **/\n children: PropTypes.node,\n /**\n * Additional classnames to be passed to the form wrapper\n **/\n className: PropTypes.string,\n /**\n * Props to be passed to the Formik component like `initialValues`, `validationSchema`, `onSubmit`\n * Refer to the Formik docs for more details\n * https://formik.org/docs/api/formik\n **/\n formikProps: PropTypes.object,\n /**\n * Props to be passed to the form element like `className`.\n * Refer to the Formik docs for more details\n * https://formik.org/docs/api/form\n **/\n formProps: PropTypes.object,\n /**\n * Props to be passed for scrolling to error field on submit button click.\n **/\n scrollToErrorField: PropTypes.bool,\n};\n\nexport default Form;\n"],"names":["transformObjectToDotNotation","object","prefix","arguments","length","undefined","result","Object","entries","forEach","_ref","_ref2","_slicedToArray","key","value","nextKey","concat","is","push","apply","_toConsumableArray","getErrorFieldName","formikErrors","_transformObjectToDot","scrollToError","formRef","errors","fieldErrorName","errorFormElement","current","querySelector","scrollIntoView","behavior","block","ScrollToErrorField","_useFormikContext","useFormikContext","submitCount","isValid","useEffect","FormWrapper","forwardRef","ref","className","formProps","children","scrollToErrorField","validateForm","setErrors","setTouched","submitForm","formikBag","_objectWithoutProperties","_excluded","isFormDirty","dirty","isSubmitting","formRefForScrollToErrorField","useRef","handleKeyDown","useCallback","_asyncToGenerator","_regeneratorRuntime","mark","_callee","event","isEventFromEditorOrTextarea","wrap","_callee$","_context","prev","next","target","tagName","editor","abrupt","metaKey","preventDefault","shiftKey","sent","keys","t0","console","error","stop","_x","React","createElement","FormikForm","_extends","noValidate","onKeyDown","displayName","Form","formikProps","_ref$scrollToErrorFie","Formik","props","propTypes","PropTypes","node","string","bool"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Form.js","sources":["../../../src/formik/Form/ScrollToErrorField/utils.js","../../../src/formik/Form/ScrollToErrorField/index.js","../../../src/formik/Form/FormWrapper.jsx","../../../src/formik/Form/index.jsx"],"sourcesContent":["import { isPresent } from \"neetocist\";\nimport { is } from \"ramda\";\n\nconst transformObjectToDotNotation = (object, prefix = \"\") => {\n const result = [];\n\n Object.entries(object).forEach(([key, value]) => {\n if (!value) return;\n const nextKey = prefix ? `${prefix}.${key}` : key;\n if (is(Object, value)) {\n result.push(...transformObjectToDotNotation(value, nextKey));\n } else {\n result.push(nextKey);\n }\n });\n\n return result;\n};\n\nconst getErrorFieldName = formikErrors =>\n transformObjectToDotNotation(formikErrors)?.[0];\n\nexport const getFieldsWithServerError = (status = {}) =>\n Object.keys(status).filter(fieldName => isPresent(status[fieldName]));\n\nexport const scrollToError = (formRef, errors, status) => {\n const fieldErrorName = getErrorFieldName(errors);\n const [fieldWithServerError] = getFieldsWithServerError(status);\n\n if (!fieldErrorName && !fieldWithServerError) return;\n\n const errorFieldName = fieldErrorName || fieldWithServerError;\n const errorFormElement = formRef.current.querySelector(\n `[name=\"${errorFieldName}\"]`\n );\n\n errorFormElement?.scrollIntoView({\n behavior: \"smooth\",\n block: \"center\",\n });\n};\n","import { useEffect } from \"react\";\n\nimport { useFormikContext } from \"formik\";\nimport { isEmpty } from \"ramda\";\n\nimport { getFieldsWithServerError, scrollToError } from \"./utils\";\n\nconst ScrollToErrorField = ({ formRef }) => {\n const { submitCount, isValid, errors, status } = useFormikContext();\n\n useEffect(() => {\n const fieldsWithServerError = getFieldsWithServerError(status);\n if (!formRef.current || (isValid && isEmpty(fieldsWithServerError))) {\n return;\n }\n\n scrollToError(formRef, errors, status);\n }, [submitCount]);\n\n return null;\n};\n\nexport default ScrollToErrorField;\n","import React, { useCallback, forwardRef, useRef } from \"react\";\n\nimport { Form as FormikForm, useFormikContext } from \"formik\";\nimport PropTypes from \"prop-types\";\n\nimport ScrollToErrorField from \"./ScrollToErrorField\";\nimport {\n getFieldsWithServerError,\n scrollToError,\n} from \"./ScrollToErrorField/utils\";\n\nconst FormWrapper = forwardRef(\n ({ className, formProps, children, scrollToErrorField }, ref) => {\n const { validateForm, setErrors, setTouched, submitForm, ...formikBag } =\n useFormikContext();\n\n const { dirty: isFormDirty, isSubmitting, status } = formikBag;\n\n const formRefForScrollToErrorField = useRef();\n\n const formRef = ref || formRefForScrollToErrorField;\n\n const handleKeyDown = useCallback(\n async event => {\n const isEventFromEditorOrTextarea =\n event.target.tagName === \"TEXTAREA\" || event.target.editor;\n\n if (event.key !== \"Enter\") return;\n\n if (isEventFromEditorOrTextarea && !event.metaKey) return;\n\n event.preventDefault();\n\n if (event.shiftKey) return;\n\n if (!isFormDirty || isSubmitting) return;\n\n try {\n const errors = await validateForm();\n const fieldStatuses = getFieldsWithServerError(status);\n\n if (\n Object.keys(errors).length > 0 ||\n Object.keys(fieldStatuses).length > 0\n ) {\n setErrors(errors);\n setTouched({ ...errors, ...status });\n scrollToErrorField && scrollToError(formRef, errors, status);\n } else {\n submitForm();\n }\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error(\n \"An unhandled error was caught from validateForm()\",\n error\n );\n }\n },\n [\n validateForm,\n setErrors,\n setTouched,\n isFormDirty,\n isSubmitting,\n submitForm,\n status,\n ]\n );\n\n return (\n <FormikForm\n {...{ className }}\n noValidate\n data-testid=\"neeto-ui-form-wrapper\"\n ref={formRef}\n onKeyDown={handleKeyDown}\n {...formProps}\n >\n {scrollToErrorField && <ScrollToErrorField {...{ formRef }} />}\n {children}\n </FormikForm>\n );\n }\n);\n\nFormWrapper.displayName = \"FormWrapper\";\n\nFormWrapper.propTypes = {\n children: PropTypes.node,\n formProps: PropTypes.object,\n scrollToErrorField: PropTypes.bool,\n};\n\nexport default FormWrapper;\n","import React, { forwardRef, useRef } from \"react\";\n\nimport { Formik } from \"formik\";\nimport PropTypes from \"prop-types\";\n\nimport FormWrapper from \"./FormWrapper\";\nimport { getFieldsWithServerError } from \"./ScrollToErrorField/utils\";\n\nconst Form = forwardRef(\n (\n { className, children, formikProps, formProps, scrollToErrorField = false },\n ref\n ) => {\n const formikRef = useRef();\n\n const handleSubmit = (values, actions) => {\n const fieldsWithServerError = getFieldsWithServerError(\n formikRef.current?.status\n );\n\n if (fieldsWithServerError.length > 0) {\n actions.setSubmitting(false);\n\n return;\n }\n\n formikProps.onSubmit(values, actions);\n };\n\n return (\n <Formik innerRef={formikRef} {...formikProps} onSubmit={handleSubmit}>\n {props => (\n <FormWrapper {...{ className, formProps, ref, scrollToErrorField }}>\n {typeof children === \"function\" ? children(props) : children}\n </FormWrapper>\n )}\n </Formik>\n );\n }\n);\n\nForm.displayName = \"Form\";\n\nForm.propTypes = {\n /**\n * Pass a function to render children or pass the children directly\n **/\n children: PropTypes.node,\n /**\n * Additional classnames to be passed to the form wrapper\n **/\n className: PropTypes.string,\n /**\n * Props to be passed to the Formik component like `initialValues`, `validationSchema`, `onSubmit`\n * Refer to the Formik docs for more details\n * https://formik.org/docs/api/formik\n **/\n formikProps: PropTypes.object,\n /**\n * Props to be passed to the form element like `className`.\n * Refer to the Formik docs for more details\n * https://formik.org/docs/api/form\n **/\n formProps: PropTypes.object,\n /**\n * Props to be passed for scrolling to error field on submit button click.\n **/\n scrollToErrorField: PropTypes.bool,\n};\n\nexport default Form;\n"],"names":["transformObjectToDotNotation","object","prefix","arguments","length","undefined","result","Object","entries","forEach","_ref","_ref2","_slicedToArray","key","value","nextKey","concat","is","push","apply","_toConsumableArray","getErrorFieldName","formikErrors","_transformObjectToDot","getFieldsWithServerError","status","keys","filter","fieldName","isPresent","scrollToError","formRef","errors","fieldErrorName","_getFieldsWithServerE","_getFieldsWithServerE2","fieldWithServerError","errorFieldName","errorFormElement","current","querySelector","scrollIntoView","behavior","block","ScrollToErrorField","_useFormikContext","useFormikContext","submitCount","isValid","useEffect","fieldsWithServerError","isEmpty","FormWrapper","forwardRef","ref","className","formProps","children","scrollToErrorField","validateForm","setErrors","setTouched","submitForm","formikBag","_objectWithoutProperties","_excluded","isFormDirty","dirty","isSubmitting","formRefForScrollToErrorField","useRef","handleKeyDown","useCallback","_asyncToGenerator","_regeneratorRuntime","mark","_callee","event","isEventFromEditorOrTextarea","fieldStatuses","wrap","_callee$","_context","prev","next","target","tagName","editor","abrupt","metaKey","preventDefault","shiftKey","sent","_objectSpread","t0","console","error","stop","_x","React","createElement","FormikForm","_extends","noValidate","onKeyDown","displayName","Form","formikProps","_ref$scrollToErrorFie","formikRef","handleSubmit","values","actions","_formikRef$current","setSubmitting","onSubmit","Formik","innerRef","props"],"mappings":"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"}
|
package/dist/cjs/formik/Input.js
CHANGED
|
@@ -53,12 +53,13 @@ var FormikInput = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
53
53
|
var field = _ref2.field,
|
|
54
54
|
meta = _ref2.meta,
|
|
55
55
|
form = _ref2.form;
|
|
56
|
-
var status = form.status,
|
|
56
|
+
var _form$status = form.status,
|
|
57
|
+
status = _form$status === void 0 ? {} : _form$status,
|
|
57
58
|
setStatus = form.setStatus;
|
|
58
59
|
var fieldStatus = formik.getIn(status, name);
|
|
59
60
|
var fieldProps = _objectSpread(_objectSpread({}, field), {}, {
|
|
60
61
|
onChange: function onChange(e) {
|
|
61
|
-
setStatus(ramda.dissoc(name));
|
|
62
|
+
setStatus(ramda.dissoc(name, status));
|
|
62
63
|
field.onChange(e);
|
|
63
64
|
}
|
|
64
65
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Input.js","sources":["../../../src/formik/Input.jsx"],"sourcesContent":["import React, { forwardRef } from \"react\";\n\nimport { Field, getIn } from \"formik\";\nimport PropTypes from \"prop-types\";\nimport { dissoc } from \"ramda\";\n\nimport Input from \"components/Input\";\n\nconst FormikInput = forwardRef(({ name, ...rest }, ref) => (\n <Field {...{ name }}>\n {({ field, meta, form }) => {\n const { status, setStatus } = form;\n const fieldStatus = getIn(status, name);\n\n const fieldProps = {\n ...field,\n onChange: e => {\n setStatus(dissoc(name));\n field.onChange(e);\n },\n };\n\n return (\n <Input\n {...{ ref, ...fieldProps }}\n error={meta.touched ? meta.error || fieldStatus : \"\"}\n {...rest}\n />\n );\n }}\n </Field>\n));\n\nFormikInput.displayName = \"FormikInput\";\n\nFormikInput.propTypes = {\n /**\n * The name of the input field.\n */\n name: PropTypes.string,\n};\n\nexport default FormikInput;\n"],"names":["FormikInput","forwardRef","_ref","ref","name","rest","_objectWithoutProperties","_excluded","React","createElement","Field","_ref2","field","meta","form","status","setStatus","fieldStatus","getIn","fieldProps","_objectSpread","onChange","e","dissoc","Input","_extends","error","touched","displayName"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQA,IAAMA,WAAW,gBAAGC,gBAAU,CAAC,UAAAC,IAAA,EAAoBC,GAAG,EAAA;AAAA,EAAA,IAApBC,IAAI,GAAAF,IAAA,CAAJE,IAAI;AAAKC,IAAAA,IAAI,GAAAC,4CAAA,CAAAJ,IAAA,EAAAK,SAAA,CAAA,CAAA;AAAA,EAAA,oBAC7CC,yBAAA,CAAAC,aAAA,CAACC,YAAK,EAAA;AAAON,IAAAA,IAAI,EAAJA,IAAAA;GACV,EAAA,UAAAO,KAAA,EAA2B;AAAA,IAAA,IAAxBC,KAAK,GAAAD,KAAA,CAALC,KAAK;MAAEC,IAAI,GAAAF,KAAA,CAAJE,IAAI;MAAEC,IAAI,GAAAH,KAAA,CAAJG,IAAI,CAAA;AACnB,IAAA,
|
|
1
|
+
{"version":3,"file":"Input.js","sources":["../../../src/formik/Input.jsx"],"sourcesContent":["import React, { forwardRef } from \"react\";\n\nimport { Field, getIn } from \"formik\";\nimport PropTypes from \"prop-types\";\nimport { dissoc } from \"ramda\";\n\nimport Input from \"components/Input\";\n\nconst FormikInput = forwardRef(({ name, ...rest }, ref) => (\n <Field {...{ name }}>\n {({ field, meta, form }) => {\n const { status = {}, setStatus } = form;\n const fieldStatus = getIn(status, name);\n\n const fieldProps = {\n ...field,\n onChange: e => {\n setStatus(dissoc(name, status));\n field.onChange(e);\n },\n };\n\n return (\n <Input\n {...{ ref, ...fieldProps }}\n error={meta.touched ? meta.error || fieldStatus : \"\"}\n {...rest}\n />\n );\n }}\n </Field>\n));\n\nFormikInput.displayName = \"FormikInput\";\n\nFormikInput.propTypes = {\n /**\n * The name of the input field.\n */\n name: PropTypes.string,\n};\n\nexport default FormikInput;\n"],"names":["FormikInput","forwardRef","_ref","ref","name","rest","_objectWithoutProperties","_excluded","React","createElement","Field","_ref2","field","meta","form","_form$status","status","setStatus","fieldStatus","getIn","fieldProps","_objectSpread","onChange","e","dissoc","Input","_extends","error","touched","displayName"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQA,IAAMA,WAAW,gBAAGC,gBAAU,CAAC,UAAAC,IAAA,EAAoBC,GAAG,EAAA;AAAA,EAAA,IAApBC,IAAI,GAAAF,IAAA,CAAJE,IAAI;AAAKC,IAAAA,IAAI,GAAAC,4CAAA,CAAAJ,IAAA,EAAAK,SAAA,CAAA,CAAA;AAAA,EAAA,oBAC7CC,yBAAA,CAAAC,aAAA,CAACC,YAAK,EAAA;AAAON,IAAAA,IAAI,EAAJA,IAAAA;GACV,EAAA,UAAAO,KAAA,EAA2B;AAAA,IAAA,IAAxBC,KAAK,GAAAD,KAAA,CAALC,KAAK;MAAEC,IAAI,GAAAF,KAAA,CAAJE,IAAI;MAAEC,IAAI,GAAAH,KAAA,CAAJG,IAAI,CAAA;AACnB,IAAA,IAAAC,YAAA,GAAmCD,IAAI,CAA/BE,MAAM;AAANA,MAAAA,MAAM,GAAAD,YAAA,KAAA,KAAA,CAAA,GAAG,EAAE,GAAAA,YAAA;MAAEE,SAAS,GAAKH,IAAI,CAAlBG,SAAS,CAAA;AAC9B,IAAA,IAAMC,WAAW,GAAGC,YAAK,CAACH,MAAM,EAAEZ,IAAI,CAAC,CAAA;AAEvC,IAAA,IAAMgB,UAAU,GAAAC,aAAA,CAAAA,aAAA,KACXT,KAAK,CAAA,EAAA,EAAA,EAAA;AACRU,MAAAA,QAAQ,EAAE,SAAAA,QAAAC,CAAAA,CAAC,EAAI;AACbN,QAAAA,SAAS,CAACO,YAAM,CAACpB,IAAI,EAAEY,MAAM,CAAC,CAAC,CAAA;AAC/BJ,QAAAA,KAAK,CAACU,QAAQ,CAACC,CAAC,CAAC,CAAA;AACnB,OAAA;KACD,CAAA,CAAA;IAED,oBACEf,yBAAA,CAAAC,aAAA,CAACgB,KAAK,EAAAC,4BAAA,KAAAL,aAAA,CAAA;AACElB,MAAAA,GAAG,EAAHA,GAAAA;AAAG,KAAA,EAAKiB,UAAU,CAAA,EAAA;MACxBO,KAAK,EAAEd,IAAI,CAACe,OAAO,GAAGf,IAAI,CAACc,KAAK,IAAIT,WAAW,GAAG,EAAA;AAAG,KAAA,EACjDb,IAAI,CACR,CAAA,CAAA;AAEN,GAAC,CACK,CAAA;AAAA,CACT,EAAC;AAEFL,WAAW,CAAC6B,WAAW,GAAG,aAAa;;;;"}
|
|
@@ -72,7 +72,8 @@ var FormikMultiEmailInput = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
72
72
|
setValue = _useField2$.setValue,
|
|
73
73
|
setTouched = _useField2$.setTouched;
|
|
74
74
|
var _useFormikContext = formik.useFormikContext(),
|
|
75
|
-
|
|
75
|
+
_useFormikContext$sta = _useFormikContext.status,
|
|
76
|
+
status = _useFormikContext$sta === void 0 ? {} : _useFormikContext$sta,
|
|
76
77
|
setStatus = _useFormikContext.setStatus;
|
|
77
78
|
var fieldStatus = formik.getIn(status, name);
|
|
78
79
|
return /*#__PURE__*/React__default["default"].createElement(MultiEmailInput, _extends__default["default"]({
|
|
@@ -84,7 +85,7 @@ var FormikMultiEmailInput = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
84
85
|
return setTouched(true);
|
|
85
86
|
},
|
|
86
87
|
onChange: function onChange(value) {
|
|
87
|
-
setStatus(ramda.dissoc(name));
|
|
88
|
+
setStatus(ramda.dissoc(name, status));
|
|
88
89
|
setValue(value);
|
|
89
90
|
}
|
|
90
91
|
}, otherProps));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MultiEmailInput.js","sources":["../../../src/formik/MultiEmailInput.jsx"],"sourcesContent":["import React, { forwardRef } from \"react\";\n\nimport { useField, useFormikContext, getIn } from \"formik\";\nimport PropTypes from \"prop-types\";\nimport { dissoc } from \"ramda\";\n\nimport EmailInput from \"components/MultiEmailInput\";\n\nconst FormikMultiEmailInput = forwardRef(({ name, ...otherProps }, ref) => {\n const [field, meta, { setValue, setTouched }] = useField(name);\n\n const { status, setStatus } = useFormikContext();\n const fieldStatus = getIn(status, name);\n\n return (\n <EmailInput\n {...{ ref }}\n error={meta.touched ? meta.error || fieldStatus : \"\"}\n name={field.name}\n value={field.value}\n onBlur={() => setTouched(true)}\n onChange={value => {\n setStatus(dissoc(name));\n setValue(value);\n }}\n {...otherProps}\n />\n );\n});\n\nFormikMultiEmailInput.displayName = \"FormikMultiEmailInput\";\n\nFormikMultiEmailInput.propTypes = {\n /**\n * The name of the email input field.\n */\n name: PropTypes.string,\n};\n\nexport default FormikMultiEmailInput;\n"],"names":["FormikMultiEmailInput","forwardRef","_ref","ref","name","otherProps","_objectWithoutProperties","_excluded","_useField","useField","_useField2","_slicedToArray","field","meta","_useField2$","setValue","setTouched","_useFormikContext","useFormikContext","status","setStatus","fieldStatus","getIn","React","createElement","EmailInput","_extends","error","touched","value","onBlur","onChange","dissoc","displayName"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQMA,IAAAA,qBAAqB,gBAAGC,gBAAU,CAAC,UAAAC,IAAA,EAA0BC,GAAG,EAAK;AAAA,EAAA,IAA/BC,IAAI,GAAAF,IAAA,CAAJE,IAAI;AAAKC,IAAAA,UAAU,GAAAC,4CAAA,CAAAJ,IAAA,EAAAK,SAAA,CAAA,CAAA;AAC7D,EAAA,IAAAC,SAAA,GAAgDC,eAAQ,CAACL,IAAI,CAAC;IAAAM,UAAA,GAAAC,kCAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAAvDI,IAAAA,KAAK,GAAAF,UAAA,CAAA,CAAA,CAAA;AAAEG,IAAAA,IAAI,GAAAH,UAAA,CAAA,CAAA,CAAA;AAAAI,IAAAA,WAAA,GAAAJ,UAAA,CAAA,CAAA,CAAA;IAAIK,QAAQ,GAAAD,WAAA,CAARC,QAAQ;IAAEC,UAAU,GAAAF,WAAA,CAAVE,UAAU,CAAA;EAE1C,IAAAC,iBAAA,
|
|
1
|
+
{"version":3,"file":"MultiEmailInput.js","sources":["../../../src/formik/MultiEmailInput.jsx"],"sourcesContent":["import React, { forwardRef } from \"react\";\n\nimport { useField, useFormikContext, getIn } from \"formik\";\nimport PropTypes from \"prop-types\";\nimport { dissoc } from \"ramda\";\n\nimport EmailInput from \"components/MultiEmailInput\";\n\nconst FormikMultiEmailInput = forwardRef(({ name, ...otherProps }, ref) => {\n const [field, meta, { setValue, setTouched }] = useField(name);\n\n const { status = {}, setStatus } = useFormikContext();\n const fieldStatus = getIn(status, name);\n\n return (\n <EmailInput\n {...{ ref }}\n error={meta.touched ? meta.error || fieldStatus : \"\"}\n name={field.name}\n value={field.value}\n onBlur={() => setTouched(true)}\n onChange={value => {\n setStatus(dissoc(name, status));\n setValue(value);\n }}\n {...otherProps}\n />\n );\n});\n\nFormikMultiEmailInput.displayName = \"FormikMultiEmailInput\";\n\nFormikMultiEmailInput.propTypes = {\n /**\n * The name of the email input field.\n */\n name: PropTypes.string,\n};\n\nexport default FormikMultiEmailInput;\n"],"names":["FormikMultiEmailInput","forwardRef","_ref","ref","name","otherProps","_objectWithoutProperties","_excluded","_useField","useField","_useField2","_slicedToArray","field","meta","_useField2$","setValue","setTouched","_useFormikContext","useFormikContext","_useFormikContext$sta","status","setStatus","fieldStatus","getIn","React","createElement","EmailInput","_extends","error","touched","value","onBlur","onChange","dissoc","displayName"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQMA,IAAAA,qBAAqB,gBAAGC,gBAAU,CAAC,UAAAC,IAAA,EAA0BC,GAAG,EAAK;AAAA,EAAA,IAA/BC,IAAI,GAAAF,IAAA,CAAJE,IAAI;AAAKC,IAAAA,UAAU,GAAAC,4CAAA,CAAAJ,IAAA,EAAAK,SAAA,CAAA,CAAA;AAC7D,EAAA,IAAAC,SAAA,GAAgDC,eAAQ,CAACL,IAAI,CAAC;IAAAM,UAAA,GAAAC,kCAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAAvDI,IAAAA,KAAK,GAAAF,UAAA,CAAA,CAAA,CAAA;AAAEG,IAAAA,IAAI,GAAAH,UAAA,CAAA,CAAA,CAAA;AAAAI,IAAAA,WAAA,GAAAJ,UAAA,CAAA,CAAA,CAAA;IAAIK,QAAQ,GAAAD,WAAA,CAARC,QAAQ;IAAEC,UAAU,GAAAF,WAAA,CAAVE,UAAU,CAAA;EAE1C,IAAAC,iBAAA,GAAmCC,uBAAgB,EAAE;IAAAC,qBAAA,GAAAF,iBAAA,CAA7CG,MAAM;AAANA,IAAAA,MAAM,GAAAD,qBAAA,KAAA,KAAA,CAAA,GAAG,EAAE,GAAAA,qBAAA;IAAEE,SAAS,GAAAJ,iBAAA,CAATI,SAAS,CAAA;AAC9B,EAAA,IAAMC,WAAW,GAAGC,YAAK,CAACH,MAAM,EAAEhB,IAAI,CAAC,CAAA;AAEvC,EAAA,oBACEoB,yBAAA,CAAAC,aAAA,CAACC,eAAU,EAAAC,4BAAA,CAAA;AACHxB,IAAAA,GAAG,EAAHA,GAAG;IACTyB,KAAK,EAAEf,IAAI,CAACgB,OAAO,GAAGhB,IAAI,CAACe,KAAK,IAAIN,WAAW,GAAG,EAAG;IACrDlB,IAAI,EAAEQ,KAAK,CAACR,IAAK;IACjB0B,KAAK,EAAElB,KAAK,CAACkB,KAAM;IACnBC,MAAM,EAAE,SAAAA,MAAA,GAAA;MAAA,OAAMf,UAAU,CAAC,IAAI,CAAC,CAAA;KAAC;AAC/BgB,IAAAA,QAAQ,EAAE,SAAAA,QAAAF,CAAAA,KAAK,EAAI;AACjBT,MAAAA,SAAS,CAACY,YAAM,CAAC7B,IAAI,EAAEgB,MAAM,CAAC,CAAC,CAAA;MAC/BL,QAAQ,CAACe,KAAK,CAAC,CAAA;AACjB,KAAA;AAAE,GAAA,EACEzB,UAAU,CACd,CAAA,CAAA;AAEN,CAAC,EAAC;AAEFL,qBAAqB,CAACkC,WAAW,GAAG,uBAAuB;;;;"}
|
package/dist/cjs/formik/Radio.js
CHANGED
|
@@ -53,7 +53,8 @@ var RadioGroup = function RadioGroup(_ref) {
|
|
|
53
53
|
props = _objectWithoutProperties__default["default"](_ref, _excluded);
|
|
54
54
|
var _useFormikContext = formik.useFormikContext(),
|
|
55
55
|
setFieldValue = _useFormikContext.setFieldValue,
|
|
56
|
-
|
|
56
|
+
_useFormikContext$sta = _useFormikContext.status,
|
|
57
|
+
status = _useFormikContext$sta === void 0 ? {} : _useFormikContext$sta,
|
|
57
58
|
setStatus = _useFormikContext.setStatus;
|
|
58
59
|
var _useField = formik.useField({
|
|
59
60
|
name: name
|
|
@@ -64,7 +65,7 @@ var RadioGroup = function RadioGroup(_ref) {
|
|
|
64
65
|
var fieldStatus = formik.getIn(status, name);
|
|
65
66
|
var fieldProps = _objectSpread(_objectSpread({}, field), {}, {
|
|
66
67
|
onChange: function onChange(event) {
|
|
67
|
-
setStatus(ramda.dissoc(name));
|
|
68
|
+
setStatus(ramda.dissoc(name, status));
|
|
68
69
|
setFieldValue(name, event.target.value);
|
|
69
70
|
}
|
|
70
71
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Radio.js","sources":["../../../src/formik/Radio.jsx"],"sourcesContent":["import React from \"react\";\n\nimport { useField, useFormikContext, getIn } from \"formik\";\nimport { dissoc } from \"ramda\";\n\nimport Radio from \"components/Radio\";\n\nconst RadioGroup = ({ label, name, className = \"\", ...props }) => {\n const { setFieldValue, status, setStatus } = useFormikContext();\n const [field, meta] = useField({ name });\n\n const fieldStatus = getIn(status, name);\n\n const fieldProps = {\n ...field,\n onChange: event => {\n setStatus(dissoc(name));\n setFieldValue(name, event.target.value);\n },\n };\n\n return (\n <Radio\n error={meta.touched ? meta.error || fieldStatus : \"\"}\n {...{ className, label, ...fieldProps, ...props }}\n />\n );\n};\n\nRadioGroup.Item = Radio.Item;\n\nRadioGroup.propTypes = Radio.propTypes;\n\nexport default RadioGroup;\n"],"names":["RadioGroup","_ref","label","name","_ref$className","className","props","_objectWithoutProperties","_excluded","_useFormikContext","useFormikContext","setFieldValue","status","setStatus","_useField","useField","_useField2","_slicedToArray","field","meta","fieldStatus","getIn","fieldProps","_objectSpread","onChange","event","dissoc","target","value","React","createElement","Radio","_extends","error","touched","Item"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOA,IAAMA,UAAU,GAAG,SAAbA,UAAUA,CAAAC,IAAA,EAAkD;AAAA,EAAA,IAA5CC,KAAK,GAAAD,IAAA,CAALC,KAAK;IAAEC,IAAI,GAAAF,IAAA,CAAJE,IAAI;IAAAC,cAAA,GAAAH,IAAA,CAAEI,SAAS;AAATA,IAAAA,SAAS,GAAAD,cAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,cAAA;AAAKE,IAAAA,KAAK,GAAAC,4CAAA,CAAAN,IAAA,EAAAO,SAAA,CAAA,CAAA;EACzD,IAAAC,iBAAA,
|
|
1
|
+
{"version":3,"file":"Radio.js","sources":["../../../src/formik/Radio.jsx"],"sourcesContent":["import React from \"react\";\n\nimport { useField, useFormikContext, getIn } from \"formik\";\nimport { dissoc } from \"ramda\";\n\nimport Radio from \"components/Radio\";\n\nconst RadioGroup = ({ label, name, className = \"\", ...props }) => {\n const { setFieldValue, status = {}, setStatus } = useFormikContext();\n const [field, meta] = useField({ name });\n\n const fieldStatus = getIn(status, name);\n\n const fieldProps = {\n ...field,\n onChange: event => {\n setStatus(dissoc(name, status));\n setFieldValue(name, event.target.value);\n },\n };\n\n return (\n <Radio\n error={meta.touched ? meta.error || fieldStatus : \"\"}\n {...{ className, label, ...fieldProps, ...props }}\n />\n );\n};\n\nRadioGroup.Item = Radio.Item;\n\nRadioGroup.propTypes = Radio.propTypes;\n\nexport default RadioGroup;\n"],"names":["RadioGroup","_ref","label","name","_ref$className","className","props","_objectWithoutProperties","_excluded","_useFormikContext","useFormikContext","setFieldValue","_useFormikContext$sta","status","setStatus","_useField","useField","_useField2","_slicedToArray","field","meta","fieldStatus","getIn","fieldProps","_objectSpread","onChange","event","dissoc","target","value","React","createElement","Radio","_extends","error","touched","Item"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOA,IAAMA,UAAU,GAAG,SAAbA,UAAUA,CAAAC,IAAA,EAAkD;AAAA,EAAA,IAA5CC,KAAK,GAAAD,IAAA,CAALC,KAAK;IAAEC,IAAI,GAAAF,IAAA,CAAJE,IAAI;IAAAC,cAAA,GAAAH,IAAA,CAAEI,SAAS;AAATA,IAAAA,SAAS,GAAAD,cAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,cAAA;AAAKE,IAAAA,KAAK,GAAAC,4CAAA,CAAAN,IAAA,EAAAO,SAAA,CAAA,CAAA;EACzD,IAAAC,iBAAA,GAAkDC,uBAAgB,EAAE;IAA5DC,aAAa,GAAAF,iBAAA,CAAbE,aAAa;IAAAC,qBAAA,GAAAH,iBAAA,CAAEI,MAAM;AAANA,IAAAA,MAAM,GAAAD,qBAAA,KAAA,KAAA,CAAA,GAAG,EAAE,GAAAA,qBAAA;IAAEE,SAAS,GAAAL,iBAAA,CAATK,SAAS,CAAA;EAC7C,IAAAC,SAAA,GAAsBC,eAAQ,CAAC;AAAEb,MAAAA,IAAI,EAAJA,IAAAA;AAAK,KAAC,CAAC;IAAAc,UAAA,GAAAC,kCAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAAjCI,IAAAA,KAAK,GAAAF,UAAA,CAAA,CAAA,CAAA;AAAEG,IAAAA,IAAI,GAAAH,UAAA,CAAA,CAAA,CAAA,CAAA;AAElB,EAAA,IAAMI,WAAW,GAAGC,YAAK,CAACT,MAAM,EAAEV,IAAI,CAAC,CAAA;AAEvC,EAAA,IAAMoB,UAAU,GAAAC,aAAA,CAAAA,aAAA,KACXL,KAAK,CAAA,EAAA,EAAA,EAAA;AACRM,IAAAA,QAAQ,EAAE,SAAAA,QAAAC,CAAAA,KAAK,EAAI;AACjBZ,MAAAA,SAAS,CAACa,YAAM,CAACxB,IAAI,EAAEU,MAAM,CAAC,CAAC,CAAA;MAC/BF,aAAa,CAACR,IAAI,EAAEuB,KAAK,CAACE,MAAM,CAACC,KAAK,CAAC,CAAA;AACzC,KAAA;GACD,CAAA,CAAA;AAED,EAAA,oBACEC,yBAAA,CAAAC,aAAA,CAACC,KAAK,EAAAC,4BAAA,CAAA;IACJC,KAAK,EAAEd,IAAI,CAACe,OAAO,GAAGf,IAAI,CAACc,KAAK,IAAIb,WAAW,GAAG,EAAA;GAAGG,EAAAA,aAAA,CAAAA,aAAA,CAAA;AAC/CnB,IAAAA,SAAS,EAATA,SAAS;AAAEH,IAAAA,KAAK,EAALA,KAAAA;GAAUqB,EAAAA,UAAU,CAAKjB,EAAAA,KAAK,CAC/C,CAAA,CAAA,CAAA;AAEN,EAAC;AAEDN,UAAU,CAACoC,IAAI,GAAGJ,KAAK,CAACI,IAAI;;;;"}
|
|
@@ -82,7 +82,8 @@ var SelectField = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
82
82
|
setValue = _useField2$.setValue,
|
|
83
83
|
setTouched = _useField2$.setTouched;
|
|
84
84
|
var _useFormikContext = formik.useFormikContext(),
|
|
85
|
-
|
|
85
|
+
_useFormikContext$sta = _useFormikContext.status,
|
|
86
|
+
status = _useFormikContext$sta === void 0 ? {} : _useFormikContext$sta,
|
|
86
87
|
setStatus = _useFormikContext.setStatus;
|
|
87
88
|
var fieldStatus = formik.getIn(status, name);
|
|
88
89
|
var isMenuOpen = React.useRef(otherProps.defaultMenuIsOpen);
|
|
@@ -112,7 +113,7 @@ var SelectField = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
112
113
|
});
|
|
113
114
|
},
|
|
114
115
|
onChange: function onChange(value) {
|
|
115
|
-
setStatus(ramda.dissoc(name));
|
|
116
|
+
setStatus(ramda.dissoc(name, status));
|
|
116
117
|
setValue(value);
|
|
117
118
|
}
|
|
118
119
|
}, otherProps, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Select.js","sources":["../../../src/formik/Select.jsx"],"sourcesContent":["import React, { forwardRef, useRef, startTransition } from \"react\";\n\nimport { getIn, useFormikContext, useField } from \"formik\";\nimport PropTypes from \"prop-types\";\nimport { prop, either, isNil, isEmpty, dissoc } from \"ramda\";\n\nimport Select from \"components/Select\";\n\nconst SelectField = forwardRef((props, ref) => {\n const {\n name = \"\",\n options = [],\n getOptionValue = null,\n isMulti = false,\n ...otherProps\n } = props;\n const [field, meta, { setValue, setTouched }] = useField(name);\n const { status, setStatus } = useFormikContext();\n const fieldStatus = getIn(status, name);\n\n const isMenuOpen = useRef(otherProps.defaultMenuIsOpen);\n\n const getRealOptionValue = option => {\n if (typeof getOptionValue !== \"function\") {\n return option.value;\n }\n\n return getOptionValue(option);\n };\n\n const buildValueObj = (value, options) => {\n if (typeof value === \"object\") return value;\n\n return options.filter(option => getRealOptionValue(option) === value)[0];\n };\n\n return (\n <Select\n {...{ options }}\n error={meta.touched ? meta.error || fieldStatus : \"\"}\n getOptionValue={getOptionValue || prop(\"value\")}\n innerRef={ref}\n isMulti={!!isMulti}\n name={field.name}\n value={\n either(isNil, isEmpty)(field.value)\n ? null\n : buildValueObj(field.value, options)\n }\n onBlur={() =>\n startTransition(() => {\n setTouched(true);\n })\n }\n onChange={value => {\n setStatus(dissoc(name));\n setValue(value);\n }}\n {...otherProps}\n onKeyDown={event => {\n if (event.key === \"Enter\" && isMenuOpen.current) {\n event.stopPropagation();\n }\n otherProps.onKeyDown?.(event);\n }}\n onMenuClose={() => {\n isMenuOpen.current = false;\n otherProps.onMenuClose?.();\n }}\n onMenuOpen={() => {\n isMenuOpen.current = true;\n otherProps.onMenuOpen?.();\n }}\n />\n );\n});\n\nSelectField.displayName = \"SelectField\";\n\nSelectField.propTypes = {\n /**\n * The name of the select input.\n */\n name: PropTypes.string,\n /**\n * To provide the options to be displayed in the select component.\n */\n options: PropTypes.array,\n /**\n * To provide the function to get the value of the option.\n */\n getOptionValue: PropTypes.string,\n /**\n * To specify whether multiple options can be selected.\n */\n isMulti: PropTypes.bool,\n};\n\nexport default SelectField;\n"],"names":["SelectField","forwardRef","props","ref","_props$name","name","_props$options","options","_props$getOptionValue","getOptionValue","_props$isMulti","isMulti","otherProps","_objectWithoutProperties","_excluded","_useField","useField","_useField2","_slicedToArray","field","meta","_useField2$","setValue","setTouched","_useFormikContext","useFormikContext","status","setStatus","fieldStatus","getIn","isMenuOpen","useRef","defaultMenuIsOpen","getRealOptionValue","option","value","buildValueObj","_typeof","filter","React","createElement","Select","_extends","error","touched","prop","innerRef","either","isNil","isEmpty","onBlur","startTransition","onChange","dissoc","onKeyDown","event","_otherProps$onKeyDown","key","current","stopPropagation","call","onMenuClose","_otherProps$onMenuClo","onMenuOpen","_otherProps$onMenuOpe","displayName"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQMA,IAAAA,WAAW,gBAAGC,gBAAU,CAAC,UAACC,KAAK,EAAEC,GAAG,EAAK;AAC7C,EAAA,IAAAC,WAAA,GAMIF,KAAK,CALPG,IAAI;AAAJA,IAAAA,IAAI,GAAAD,WAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,WAAA;IAAAE,cAAA,GAKPJ,KAAK,CAJPK,OAAO;AAAPA,IAAAA,OAAO,GAAAD,cAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,cAAA;IAAAE,qBAAA,GAIVN,KAAK,CAHPO,cAAc;AAAdA,IAAAA,cAAc,GAAAD,qBAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,qBAAA;IAAAE,cAAA,GAGnBR,KAAK,CAFPS,OAAO;AAAPA,IAAAA,OAAO,GAAAD,cAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,cAAA;AACZE,IAAAA,UAAU,GAAAC,4CAAA,CACXX,KAAK,EAAAY,SAAA,CAAA,CAAA;AACT,EAAA,IAAAC,SAAA,GAAgDC,eAAQ,CAACX,IAAI,CAAC;IAAAY,UAAA,GAAAC,kCAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAAvDI,IAAAA,KAAK,GAAAF,UAAA,CAAA,CAAA,CAAA;AAAEG,IAAAA,IAAI,GAAAH,UAAA,CAAA,CAAA,CAAA;AAAAI,IAAAA,WAAA,GAAAJ,UAAA,CAAA,CAAA,CAAA;IAAIK,QAAQ,GAAAD,WAAA,CAARC,QAAQ;IAAEC,UAAU,GAAAF,WAAA,CAAVE,UAAU,CAAA;EAC1C,IAAAC,iBAAA,
|
|
1
|
+
{"version":3,"file":"Select.js","sources":["../../../src/formik/Select.jsx"],"sourcesContent":["import React, { forwardRef, useRef, startTransition } from \"react\";\n\nimport { getIn, useFormikContext, useField } from \"formik\";\nimport PropTypes from \"prop-types\";\nimport { prop, either, isNil, isEmpty, dissoc } from \"ramda\";\n\nimport Select from \"components/Select\";\n\nconst SelectField = forwardRef((props, ref) => {\n const {\n name = \"\",\n options = [],\n getOptionValue = null,\n isMulti = false,\n ...otherProps\n } = props;\n const [field, meta, { setValue, setTouched }] = useField(name);\n const { status = {}, setStatus } = useFormikContext();\n const fieldStatus = getIn(status, name);\n\n const isMenuOpen = useRef(otherProps.defaultMenuIsOpen);\n\n const getRealOptionValue = option => {\n if (typeof getOptionValue !== \"function\") {\n return option.value;\n }\n\n return getOptionValue(option);\n };\n\n const buildValueObj = (value, options) => {\n if (typeof value === \"object\") return value;\n\n return options.filter(option => getRealOptionValue(option) === value)[0];\n };\n\n return (\n <Select\n {...{ options }}\n error={meta.touched ? meta.error || fieldStatus : \"\"}\n getOptionValue={getOptionValue || prop(\"value\")}\n innerRef={ref}\n isMulti={!!isMulti}\n name={field.name}\n value={\n either(isNil, isEmpty)(field.value)\n ? null\n : buildValueObj(field.value, options)\n }\n onBlur={() =>\n startTransition(() => {\n setTouched(true);\n })\n }\n onChange={value => {\n setStatus(dissoc(name, status));\n setValue(value);\n }}\n {...otherProps}\n onKeyDown={event => {\n if (event.key === \"Enter\" && isMenuOpen.current) {\n event.stopPropagation();\n }\n otherProps.onKeyDown?.(event);\n }}\n onMenuClose={() => {\n isMenuOpen.current = false;\n otherProps.onMenuClose?.();\n }}\n onMenuOpen={() => {\n isMenuOpen.current = true;\n otherProps.onMenuOpen?.();\n }}\n />\n );\n});\n\nSelectField.displayName = \"SelectField\";\n\nSelectField.propTypes = {\n /**\n * The name of the select input.\n */\n name: PropTypes.string,\n /**\n * To provide the options to be displayed in the select component.\n */\n options: PropTypes.array,\n /**\n * To provide the function to get the value of the option.\n */\n getOptionValue: PropTypes.string,\n /**\n * To specify whether multiple options can be selected.\n */\n isMulti: PropTypes.bool,\n};\n\nexport default SelectField;\n"],"names":["SelectField","forwardRef","props","ref","_props$name","name","_props$options","options","_props$getOptionValue","getOptionValue","_props$isMulti","isMulti","otherProps","_objectWithoutProperties","_excluded","_useField","useField","_useField2","_slicedToArray","field","meta","_useField2$","setValue","setTouched","_useFormikContext","useFormikContext","_useFormikContext$sta","status","setStatus","fieldStatus","getIn","isMenuOpen","useRef","defaultMenuIsOpen","getRealOptionValue","option","value","buildValueObj","_typeof","filter","React","createElement","Select","_extends","error","touched","prop","innerRef","either","isNil","isEmpty","onBlur","startTransition","onChange","dissoc","onKeyDown","event","_otherProps$onKeyDown","key","current","stopPropagation","call","onMenuClose","_otherProps$onMenuClo","onMenuOpen","_otherProps$onMenuOpe","displayName"],"mappings":"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"}
|
|
@@ -67,7 +67,8 @@ var FormikSlider = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
67
67
|
setValue = _useField2$.setValue,
|
|
68
68
|
setTouched = _useField2$.setTouched;
|
|
69
69
|
var _useFormikContext = formik.useFormikContext(),
|
|
70
|
-
|
|
70
|
+
_useFormikContext$sta = _useFormikContext.status,
|
|
71
|
+
status = _useFormikContext$sta === void 0 ? {} : _useFormikContext$sta,
|
|
71
72
|
setStatus = _useFormikContext.setStatus;
|
|
72
73
|
var fieldStatus = formik.getIn(status, name);
|
|
73
74
|
return /*#__PURE__*/React__default["default"].createElement(Slider, _extends__default["default"]({
|
|
@@ -81,7 +82,7 @@ var FormikSlider = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
81
82
|
return setTouched(true);
|
|
82
83
|
},
|
|
83
84
|
onChange: function onChange(value) {
|
|
84
|
-
setStatus(ramda.dissoc(name));
|
|
85
|
+
setStatus(ramda.dissoc(name, status));
|
|
85
86
|
setValue(value);
|
|
86
87
|
}
|
|
87
88
|
}, otherProps));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Slider.js","sources":["../../../src/formik/Slider.jsx"],"sourcesContent":["import React, { forwardRef } from \"react\";\n\nimport { getIn, useField, useFormikContext } from \"formik\";\nimport { dissoc } from \"ramda\";\n\nimport Slider from \"components/Slider\";\n\nconst FormikSlider = forwardRef(({ name, ...otherProps }, ref) => {\n const [field, meta, { setValue, setTouched }] = useField(name);\n const { status, setStatus } = useFormikContext();\n\n const fieldStatus = getIn(status, name);\n\n return (\n <Slider\n error={meta.error || fieldStatus || \"\"}\n {...{ ref, ...field, name }}\n onBlur={() => setTouched(true)}\n onChange={value => {\n setStatus(dissoc(name));\n setValue(value);\n }}\n {...otherProps}\n />\n );\n});\n\nFormikSlider.displayName = \"Slider\";\n\nexport default FormikSlider;\n"],"names":["FormikSlider","forwardRef","_ref","ref","name","otherProps","_objectWithoutProperties","_excluded","_useField","useField","_useField2","_slicedToArray","field","meta","_useField2$","setValue","setTouched","_useFormikContext","useFormikContext","status","setStatus","fieldStatus","getIn","React","createElement","Slider","_extends","error","_objectSpread","onBlur","onChange","value","dissoc","displayName"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOMA,IAAAA,YAAY,gBAAGC,gBAAU,CAAC,UAAAC,IAAA,EAA0BC,GAAG,EAAK;AAAA,EAAA,IAA/BC,IAAI,GAAAF,IAAA,CAAJE,IAAI;AAAKC,IAAAA,UAAU,GAAAC,4CAAA,CAAAJ,IAAA,EAAAK,SAAA,CAAA,CAAA;AACpD,EAAA,IAAAC,SAAA,GAAgDC,eAAQ,CAACL,IAAI,CAAC;IAAAM,UAAA,GAAAC,kCAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAAvDI,IAAAA,KAAK,GAAAF,UAAA,CAAA,CAAA,CAAA;AAAEG,IAAAA,IAAI,GAAAH,UAAA,CAAA,CAAA,CAAA;AAAAI,IAAAA,WAAA,GAAAJ,UAAA,CAAA,CAAA,CAAA;IAAIK,QAAQ,GAAAD,WAAA,CAARC,QAAQ;IAAEC,UAAU,GAAAF,WAAA,CAAVE,UAAU,CAAA;EAC1C,IAAAC,iBAAA,
|
|
1
|
+
{"version":3,"file":"Slider.js","sources":["../../../src/formik/Slider.jsx"],"sourcesContent":["import React, { forwardRef } from \"react\";\n\nimport { getIn, useField, useFormikContext } from \"formik\";\nimport { dissoc } from \"ramda\";\n\nimport Slider from \"components/Slider\";\n\nconst FormikSlider = forwardRef(({ name, ...otherProps }, ref) => {\n const [field, meta, { setValue, setTouched }] = useField(name);\n const { status = {}, setStatus } = useFormikContext();\n\n const fieldStatus = getIn(status, name);\n\n return (\n <Slider\n error={meta.error || fieldStatus || \"\"}\n {...{ ref, ...field, name }}\n onBlur={() => setTouched(true)}\n onChange={value => {\n setStatus(dissoc(name, status));\n setValue(value);\n }}\n {...otherProps}\n />\n );\n});\n\nFormikSlider.displayName = \"Slider\";\n\nexport default FormikSlider;\n"],"names":["FormikSlider","forwardRef","_ref","ref","name","otherProps","_objectWithoutProperties","_excluded","_useField","useField","_useField2","_slicedToArray","field","meta","_useField2$","setValue","setTouched","_useFormikContext","useFormikContext","_useFormikContext$sta","status","setStatus","fieldStatus","getIn","React","createElement","Slider","_extends","error","_objectSpread","onBlur","onChange","value","dissoc","displayName"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOMA,IAAAA,YAAY,gBAAGC,gBAAU,CAAC,UAAAC,IAAA,EAA0BC,GAAG,EAAK;AAAA,EAAA,IAA/BC,IAAI,GAAAF,IAAA,CAAJE,IAAI;AAAKC,IAAAA,UAAU,GAAAC,4CAAA,CAAAJ,IAAA,EAAAK,SAAA,CAAA,CAAA;AACpD,EAAA,IAAAC,SAAA,GAAgDC,eAAQ,CAACL,IAAI,CAAC;IAAAM,UAAA,GAAAC,kCAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAAvDI,IAAAA,KAAK,GAAAF,UAAA,CAAA,CAAA,CAAA;AAAEG,IAAAA,IAAI,GAAAH,UAAA,CAAA,CAAA,CAAA;AAAAI,IAAAA,WAAA,GAAAJ,UAAA,CAAA,CAAA,CAAA;IAAIK,QAAQ,GAAAD,WAAA,CAARC,QAAQ;IAAEC,UAAU,GAAAF,WAAA,CAAVE,UAAU,CAAA;EAC1C,IAAAC,iBAAA,GAAmCC,uBAAgB,EAAE;IAAAC,qBAAA,GAAAF,iBAAA,CAA7CG,MAAM;AAANA,IAAAA,MAAM,GAAAD,qBAAA,KAAA,KAAA,CAAA,GAAG,EAAE,GAAAA,qBAAA;IAAEE,SAAS,GAAAJ,iBAAA,CAATI,SAAS,CAAA;AAE9B,EAAA,IAAMC,WAAW,GAAGC,YAAK,CAACH,MAAM,EAAEhB,IAAI,CAAC,CAAA;AAEvC,EAAA,oBACEoB,yBAAA,CAAAC,aAAA,CAACC,MAAM,EAAAC,4BAAA,CAAA;AACLC,IAAAA,KAAK,EAAEf,IAAI,CAACe,KAAK,IAAIN,WAAW,IAAI,EAAA;GAAGO,EAAAA,aAAA,CAAAA,aAAA,CAAA;AACjC1B,IAAAA,GAAG,EAAHA,GAAAA;AAAG,GAAA,EAAKS,KAAK,CAAA,EAAA,EAAA,EAAA;AAAER,IAAAA,IAAI,EAAJA,IAAAA;AAAI,GAAA,CAAA,EAAA;IACzB0B,MAAM,EAAE,SAAAA,MAAA,GAAA;MAAA,OAAMd,UAAU,CAAC,IAAI,CAAC,CAAA;KAAC;AAC/Be,IAAAA,QAAQ,EAAE,SAAAA,QAAAC,CAAAA,KAAK,EAAI;AACjBX,MAAAA,SAAS,CAACY,YAAM,CAAC7B,IAAI,EAAEgB,MAAM,CAAC,CAAC,CAAA;MAC/BL,QAAQ,CAACiB,KAAK,CAAC,CAAA;AACjB,KAAA;AAAE,GAAA,EACE3B,UAAU,CACd,CAAA,CAAA;AAEN,CAAC,EAAC;AAEFL,YAAY,CAACkC,WAAW,GAAG,QAAQ;;;;"}
|
|
@@ -53,12 +53,13 @@ var FormikSwitch = function FormikSwitch(_ref) {
|
|
|
53
53
|
var field = _ref2.field,
|
|
54
54
|
error = _ref2.meta.error,
|
|
55
55
|
form = _ref2.form;
|
|
56
|
-
var status = form.status,
|
|
56
|
+
var _form$status = form.status,
|
|
57
|
+
status = _form$status === void 0 ? {} : _form$status,
|
|
57
58
|
setStatus = form.setStatus;
|
|
58
59
|
var fieldStatus = formik.getIn(status, name);
|
|
59
60
|
var fieldProps = _objectSpread(_objectSpread({}, field), {}, {
|
|
60
61
|
onChange: function onChange(e) {
|
|
61
|
-
setStatus(ramda.dissoc(name));
|
|
62
|
+
setStatus(ramda.dissoc(name, status));
|
|
62
63
|
field.onChange(e);
|
|
63
64
|
}
|
|
64
65
|
});
|