{"version":3,"file":"static/js/npm.formik.3a8c66b7.js","mappings":"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","sources":["webpack://acura/./node_modules/formik/node_modules/deepmerge/dist/es.js","webpack://acura/./node_modules/formik/dist/formik.esm.js","webpack://acura/./node_modules/formik/node_modules/react-fast-compare/index.js"],"sourcesContent":["var isMergeableObject = function isMergeableObject(value) {\n\treturn isNonNullObject(value)\n\t\t&& !isSpecial(value)\n};\n\nfunction isNonNullObject(value) {\n\treturn !!value && typeof value === 'object'\n}\n\nfunction isSpecial(value) {\n\tvar stringValue = Object.prototype.toString.call(value);\n\n\treturn stringValue === '[object RegExp]'\n\t\t|| stringValue === '[object Date]'\n\t\t|| isReactElement(value)\n}\n\n// see https://github.com/facebook/react/blob/b5ac963fb791d1298e7f396236383bc955f916c1/src/isomorphic/classic/element/ReactElement.js#L21-L25\nvar canUseSymbol = typeof Symbol === 'function' && Symbol.for;\nvar REACT_ELEMENT_TYPE = canUseSymbol ? Symbol.for('react.element') : 0xeac7;\n\nfunction isReactElement(value) {\n\treturn value.$$typeof === REACT_ELEMENT_TYPE\n}\n\nfunction emptyTarget(val) {\n\treturn Array.isArray(val) ? [] : {}\n}\n\nfunction cloneUnlessOtherwiseSpecified(value, options) {\n\treturn (options.clone !== false && options.isMergeableObject(value))\n\t\t? deepmerge(emptyTarget(value), value, options)\n\t\t: value\n}\n\nfunction defaultArrayMerge(target, source, options) {\n\treturn target.concat(source).map(function(element) {\n\t\treturn cloneUnlessOtherwiseSpecified(element, options)\n\t})\n}\n\nfunction mergeObject(target, source, options) {\n\tvar destination = {};\n\tif (options.isMergeableObject(target)) {\n\t\tObject.keys(target).forEach(function(key) {\n\t\t\tdestination[key] = cloneUnlessOtherwiseSpecified(target[key], options);\n\t\t});\n\t}\n\tObject.keys(source).forEach(function(key) {\n\t\tif (!options.isMergeableObject(source[key]) || !target[key]) {\n\t\t\tdestination[key] = cloneUnlessOtherwiseSpecified(source[key], options);\n\t\t} else {\n\t\t\tdestination[key] = deepmerge(target[key], source[key], options);\n\t\t}\n\t});\n\treturn destination\n}\n\nfunction deepmerge(target, source, options) {\n\toptions = options || {};\n\toptions.arrayMerge = options.arrayMerge || defaultArrayMerge;\n\toptions.isMergeableObject = options.isMergeableObject || isMergeableObject;\n\n\tvar sourceIsArray = Array.isArray(source);\n\tvar targetIsArray = Array.isArray(target);\n\tvar sourceAndTargetTypesMatch = sourceIsArray === targetIsArray;\n\n\tif (!sourceAndTargetTypesMatch) {\n\t\treturn cloneUnlessOtherwiseSpecified(source, options)\n\t} else if (sourceIsArray) {\n\t\treturn options.arrayMerge(target, source, options)\n\t} else {\n\t\treturn mergeObject(target, source, options)\n\t}\n}\n\ndeepmerge.all = function deepmergeAll(array, options) {\n\tif (!Array.isArray(array)) {\n\t\tthrow new Error('first argument should be an array')\n\t}\n\n\treturn array.reduce(function(prev, next) {\n\t\treturn deepmerge(prev, next, options)\n\t}, {})\n};\n\nvar deepmerge_1 = deepmerge;\n\nexport default deepmerge_1;\n","import deepmerge from 'deepmerge';\nimport isPlainObject from 'lodash-es/isPlainObject';\nimport cloneDeep from 'lodash-es/cloneDeep';\nimport { createContext, useContext, Children, useRef, useEffect, useState, useCallback, useMemo, useImperativeHandle, createElement, useLayoutEffect, forwardRef, Component } from 'react';\nimport isEqual from 'react-fast-compare';\nimport invariant from 'tiny-warning';\nimport clone from 'lodash-es/clone';\nimport toPath from 'lodash-es/toPath';\nimport hoistNonReactStatics from 'hoist-non-react-statics';\n\nfunction _extends() {\n  _extends = Object.assign || function (target) {\n    for (var i = 1; i < arguments.length; i++) {\n      var source = arguments[i];\n\n      for (var key in source) {\n        if (Object.prototype.hasOwnProperty.call(source, key)) {\n          target[key] = source[key];\n        }\n      }\n    }\n\n    return target;\n  };\n\n  return _extends.apply(this, arguments);\n}\n\nfunction _inheritsLoose(subClass, superClass) {\n  subClass.prototype = Object.create(superClass.prototype);\n  subClass.prototype.constructor = subClass;\n  subClass.__proto__ = superClass;\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n  if (source == null) return {};\n  var target = {};\n  var sourceKeys = Object.keys(source);\n  var key, i;\n\n  for (i = 0; i < sourceKeys.length; i++) {\n    key = sourceKeys[i];\n    if (excluded.indexOf(key) >= 0) continue;\n    target[key] = source[key];\n  }\n\n  return target;\n}\n\nfunction _assertThisInitialized(self) {\n  if (self === void 0) {\n    throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n  }\n\n  return self;\n}\n\nvar FormikContext = /*#__PURE__*/createContext(undefined);\nFormikContext.displayName = 'FormikContext';\nvar FormikProvider = FormikContext.Provider;\nvar FormikConsumer = FormikContext.Consumer;\nfunction useFormikContext() {\n  var formik = useContext(FormikContext);\n  !!!formik ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"Formik context is undefined, please verify you are calling useFormikContext() as child of a <Formik> component.\") : invariant(false) : void 0;\n  return formik;\n}\n\n/** @private is the value an empty array? */\n\nvar isEmptyArray = function isEmptyArray(value) {\n  return Array.isArray(value) && value.length === 0;\n};\n/** @private is the given object a Function? */\n\nvar isFunction = function isFunction(obj) {\n  return typeof obj === 'function';\n};\n/** @private is the given object an Object? */\n\nvar isObject = function isObject(obj) {\n  return obj !== null && typeof obj === 'object';\n};\n/** @private is the given object an integer? */\n\nvar isInteger = function isInteger(obj) {\n  return String(Math.floor(Number(obj))) === obj;\n};\n/** @private is the given object a string? */\n\nvar isString = function isString(obj) {\n  return Object.prototype.toString.call(obj) === '[object String]';\n};\n/** @private is the given object a NaN? */\n// eslint-disable-next-line no-self-compare\n\nvar isNaN$1 = function isNaN(obj) {\n  return obj !== obj;\n};\n/** @private Does a React component have exactly 0 children? */\n\nvar isEmptyChildren = function isEmptyChildren(children) {\n  return Children.count(children) === 0;\n};\n/** @private is the given object/value a promise? */\n\nvar isPromise = function isPromise(value) {\n  return isObject(value) && isFunction(value.then);\n};\n/** @private is the given object/value a type of synthetic event? */\n\nvar isInputEvent = function isInputEvent(value) {\n  return value && isObject(value) && isObject(value.target);\n};\n/**\r\n * Same as document.activeElement but wraps in a try-catch block. In IE it is\r\n * not safe to call document.activeElement if there is nothing focused.\r\n *\r\n * The activeElement will be null only if the document or document body is not\r\n * yet defined.\r\n *\r\n * @param {?Document} doc Defaults to current document.\r\n * @return {Element | null}\r\n * @see https://github.com/facebook/fbjs/blob/master/packages/fbjs/src/core/dom/getActiveElement.js\r\n */\n\nfunction getActiveElement(doc) {\n  doc = doc || (typeof document !== 'undefined' ? document : undefined);\n\n  if (typeof doc === 'undefined') {\n    return null;\n  }\n\n  try {\n    return doc.activeElement || doc.body;\n  } catch (e) {\n    return doc.body;\n  }\n}\n/**\r\n * Deeply get a value from an object via its path.\r\n */\n\nfunction getIn(obj, key, def, p) {\n  if (p === void 0) {\n    p = 0;\n  }\n\n  var path = toPath(key);\n\n  while (obj && p < path.length) {\n    obj = obj[path[p++]];\n  } // check if path is not in the end\n\n\n  if (p !== path.length && !obj) {\n    return def;\n  }\n\n  return obj === undefined ? def : obj;\n}\n/**\r\n * Deeply set a value from in object via it's path. If the value at `path`\r\n * has changed, return a shallow copy of obj with `value` set at `path`.\r\n * If `value` has not changed, return the original `obj`.\r\n *\r\n * Existing objects / arrays along `path` are also shallow copied. Sibling\r\n * objects along path retain the same internal js reference. Since new\r\n * objects / arrays are only created along `path`, we can test if anything\r\n * changed in a nested structure by comparing the object's reference in\r\n * the old and new object, similar to how russian doll cache invalidation\r\n * works.\r\n *\r\n * In earlier versions of this function, which used cloneDeep, there were\r\n * issues whereby settings a nested value would mutate the parent\r\n * instead of creating a new object. `clone` avoids that bug making a\r\n * shallow copy of the objects along the update path\r\n * so no object is mutated in place.\r\n *\r\n * Before changing this function, please read through the following\r\n * discussions.\r\n *\r\n * @see https://github.com/developit/linkstate\r\n * @see https://github.com/jaredpalmer/formik/pull/123\r\n */\n\nfunction setIn(obj, path, value) {\n  var res = clone(obj); // this keeps inheritance when obj is a class\n\n  var resVal = res;\n  var i = 0;\n  var pathArray = toPath(path);\n\n  for (; i < pathArray.length - 1; i++) {\n    var currentPath = pathArray[i];\n    var currentObj = getIn(obj, pathArray.slice(0, i + 1));\n\n    if (currentObj && (isObject(currentObj) || Array.isArray(currentObj))) {\n      resVal = resVal[currentPath] = clone(currentObj);\n    } else {\n      var nextPath = pathArray[i + 1];\n      resVal = resVal[currentPath] = isInteger(nextPath) && Number(nextPath) >= 0 ? [] : {};\n    }\n  } // Return original object if new value is the same as current\n\n\n  if ((i === 0 ? obj : resVal)[pathArray[i]] === value) {\n    return obj;\n  }\n\n  if (value === undefined) {\n    delete resVal[pathArray[i]];\n  } else {\n    resVal[pathArray[i]] = value;\n  } // If the path array has a single element, the loop did not run.\n  // Deleting on `resVal` had no effect in this scenario, so we delete on the result instead.\n\n\n  if (i === 0 && value === undefined) {\n    delete res[pathArray[i]];\n  }\n\n  return res;\n}\n/**\r\n * Recursively a set the same value for all keys and arrays nested object, cloning\r\n * @param object\r\n * @param value\r\n * @param visited\r\n * @param response\r\n */\n\nfunction setNestedObjectValues(object, value, visited, response) {\n  if (visited === void 0) {\n    visited = new WeakMap();\n  }\n\n  if (response === void 0) {\n    response = {};\n  }\n\n  for (var _i = 0, _Object$keys = Object.keys(object); _i < _Object$keys.length; _i++) {\n    var k = _Object$keys[_i];\n    var val = object[k];\n\n    if (isObject(val)) {\n      if (!visited.get(val)) {\n        visited.set(val, true); // In order to keep array values consistent for both dot path  and\n        // bracket syntax, we need to check if this is an array so that\n        // this will output  { friends: [true] } and not { friends: { \"0\": true } }\n\n        response[k] = Array.isArray(val) ? [] : {};\n        setNestedObjectValues(val, value, visited, response[k]);\n      }\n    } else {\n      response[k] = value;\n    }\n  }\n\n  return response;\n}\n\nfunction formikReducer(state, msg) {\n  switch (msg.type) {\n    case 'SET_VALUES':\n      return _extends({}, state, {\n        values: msg.payload\n      });\n\n    case 'SET_TOUCHED':\n      return _extends({}, state, {\n        touched: msg.payload\n      });\n\n    case 'SET_ERRORS':\n      if (isEqual(state.errors, msg.payload)) {\n        return state;\n      }\n\n      return _extends({}, state, {\n        errors: msg.payload\n      });\n\n    case 'SET_STATUS':\n      return _extends({}, state, {\n        status: msg.payload\n      });\n\n    case 'SET_ISSUBMITTING':\n      return _extends({}, state, {\n        isSubmitting: msg.payload\n      });\n\n    case 'SET_ISVALIDATING':\n      return _extends({}, state, {\n        isValidating: msg.payload\n      });\n\n    case 'SET_FIELD_VALUE':\n      return _extends({}, state, {\n        values: setIn(state.values, msg.payload.field, msg.payload.value)\n      });\n\n    case 'SET_FIELD_TOUCHED':\n      return _extends({}, state, {\n        touched: setIn(state.touched, msg.payload.field, msg.payload.value)\n      });\n\n    case 'SET_FIELD_ERROR':\n      return _extends({}, state, {\n        errors: setIn(state.errors, msg.payload.field, msg.payload.value)\n      });\n\n    case 'RESET_FORM':\n      return _extends({}, state, msg.payload);\n\n    case 'SET_FORMIK_STATE':\n      return msg.payload(state);\n\n    case 'SUBMIT_ATTEMPT':\n      return _extends({}, state, {\n        touched: setNestedObjectValues(state.values, true),\n        isSubmitting: true,\n        submitCount: state.submitCount + 1\n      });\n\n    case 'SUBMIT_FAILURE':\n      return _extends({}, state, {\n        isSubmitting: false\n      });\n\n    case 'SUBMIT_SUCCESS':\n      return _extends({}, state, {\n        isSubmitting: false\n      });\n\n    default:\n      return state;\n  }\n} // Initial empty states // objects\n\n\nvar emptyErrors = {};\nvar emptyTouched = {};\nfunction useFormik(_ref) {\n  var _ref$validateOnChange = _ref.validateOnChange,\n      validateOnChange = _ref$validateOnChange === void 0 ? true : _ref$validateOnChange,\n      _ref$validateOnBlur = _ref.validateOnBlur,\n      validateOnBlur = _ref$validateOnBlur === void 0 ? true : _ref$validateOnBlur,\n      _ref$validateOnMount = _ref.validateOnMount,\n      validateOnMount = _ref$validateOnMount === void 0 ? false : _ref$validateOnMount,\n      isInitialValid = _ref.isInitialValid,\n      _ref$enableReinitiali = _ref.enableReinitialize,\n      enableReinitialize = _ref$enableReinitiali === void 0 ? false : _ref$enableReinitiali,\n      onSubmit = _ref.onSubmit,\n      rest = _objectWithoutPropertiesLoose(_ref, [\"validateOnChange\", \"validateOnBlur\", \"validateOnMount\", \"isInitialValid\", \"enableReinitialize\", \"onSubmit\"]);\n\n  var props = _extends({\n    validateOnChange: validateOnChange,\n    validateOnBlur: validateOnBlur,\n    validateOnMount: validateOnMount,\n    onSubmit: onSubmit\n  }, rest);\n\n  var initialValues = useRef(props.initialValues);\n  var initialErrors = useRef(props.initialErrors || emptyErrors);\n  var initialTouched = useRef(props.initialTouched || emptyTouched);\n  var initialStatus = useRef(props.initialStatus);\n  var isMounted = useRef(false);\n  var fieldRegistry = useRef({});\n\n  if (process.env.NODE_ENV !== \"production\") {\n    // eslint-disable-next-line react-hooks/rules-of-hooks\n    useEffect(function () {\n      !(typeof isInitialValid === 'undefined') ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'isInitialValid has been deprecated and will be removed in future versions of Formik. Please use initialErrors or validateOnMount instead.') : invariant(false) : void 0; // eslint-disable-next-line\n    }, []);\n  }\n\n  useEffect(function () {\n    isMounted.current = true;\n    return function () {\n      isMounted.current = false;\n    };\n  }, []);\n\n  var _React$useState = useState(0),\n      setIteration = _React$useState[1];\n\n  var stateRef = useRef({\n    values: cloneDeep(props.initialValues),\n    errors: cloneDeep(props.initialErrors) || emptyErrors,\n    touched: cloneDeep(props.initialTouched) || emptyTouched,\n    status: cloneDeep(props.initialStatus),\n    isSubmitting: false,\n    isValidating: false,\n    submitCount: 0\n  });\n  var state = stateRef.current;\n  var dispatch = useCallback(function (action) {\n    var prev = stateRef.current;\n    stateRef.current = formikReducer(prev, action); // force rerender\n\n    if (prev !== stateRef.current) setIteration(function (x) {\n      return x + 1;\n    });\n  }, []);\n  var runValidateHandler = useCallback(function (values, field) {\n    return new Promise(function (resolve, reject) {\n      var maybePromisedErrors = props.validate(values, field);\n\n      if (maybePromisedErrors == null) {\n        // use loose null check here on purpose\n        resolve(emptyErrors);\n      } else if (isPromise(maybePromisedErrors)) {\n        maybePromisedErrors.then(function (errors) {\n          resolve(errors || emptyErrors);\n        }, function (actualException) {\n          if (process.env.NODE_ENV !== 'production') {\n            console.warn(\"Warning: An unhandled error was caught during validation in <Formik validate />\", actualException);\n          }\n\n          reject(actualException);\n        });\n      } else {\n        resolve(maybePromisedErrors);\n      }\n    });\n  }, [props.validate]);\n  /**\r\n   * Run validation against a Yup schema and optionally run a function if successful\r\n   */\n\n  var runValidationSchema = useCallback(function (values, field) {\n    var validationSchema = props.validationSchema;\n    var schema = isFunction(validationSchema) ? validationSchema(field) : validationSchema;\n    var promise = field && schema.validateAt ? schema.validateAt(field, values) : validateYupSchema(values, schema);\n    return new Promise(function (resolve, reject) {\n      promise.then(function () {\n        resolve(emptyErrors);\n      }, function (err) {\n        // Yup will throw a validation error if validation fails. We catch those and\n        // resolve them into Formik errors. We can sniff if something is a Yup error\n        // by checking error.name.\n        // @see https://github.com/jquense/yup#validationerrorerrors-string--arraystring-value-any-path-string\n        if (err.name === 'ValidationError') {\n          resolve(yupToFormErrors(err));\n        } else {\n          // We throw any other errors\n          if (process.env.NODE_ENV !== 'production') {\n            console.warn(\"Warning: An unhandled error was caught during validation in <Formik validationSchema />\", err);\n          }\n\n          reject(err);\n        }\n      });\n    });\n  }, [props.validationSchema]);\n  var runSingleFieldLevelValidation = useCallback(function (field, value) {\n    return new Promise(function (resolve) {\n      return resolve(fieldRegistry.current[field].validate(value));\n    });\n  }, []);\n  var runFieldLevelValidations = useCallback(function (values) {\n    var fieldKeysWithValidation = Object.keys(fieldRegistry.current).filter(function (f) {\n      return isFunction(fieldRegistry.current[f].validate);\n    }); // Construct an array with all of the field validation functions\n\n    var fieldValidations = fieldKeysWithValidation.length > 0 ? fieldKeysWithValidation.map(function (f) {\n      return runSingleFieldLevelValidation(f, getIn(values, f));\n    }) : [Promise.resolve('DO_NOT_DELETE_YOU_WILL_BE_FIRED')]; // use special case ;)\n\n    return Promise.all(fieldValidations).then(function (fieldErrorsList) {\n      return fieldErrorsList.reduce(function (prev, curr, index) {\n        if (curr === 'DO_NOT_DELETE_YOU_WILL_BE_FIRED') {\n          return prev;\n        }\n\n        if (curr) {\n          prev = setIn(prev, fieldKeysWithValidation[index], curr);\n        }\n\n        return prev;\n      }, {});\n    });\n  }, [runSingleFieldLevelValidation]); // Run all validations and return the result\n\n  var runAllValidations = useCallback(function (values) {\n    return Promise.all([runFieldLevelValidations(values), props.validationSchema ? runValidationSchema(values) : {}, props.validate ? runValidateHandler(values) : {}]).then(function (_ref2) {\n      var fieldErrors = _ref2[0],\n          schemaErrors = _ref2[1],\n          validateErrors = _ref2[2];\n      var combinedErrors = deepmerge.all([fieldErrors, schemaErrors, validateErrors], {\n        arrayMerge: arrayMerge\n      });\n      return combinedErrors;\n    });\n  }, [props.validate, props.validationSchema, runFieldLevelValidations, runValidateHandler, runValidationSchema]); // Run all validations methods and update state accordingly\n\n  var validateFormWithHighPriority = useEventCallback(function (values) {\n    if (values === void 0) {\n      values = state.values;\n    }\n\n    dispatch({\n      type: 'SET_ISVALIDATING',\n      payload: true\n    });\n    return runAllValidations(values).then(function (combinedErrors) {\n      if (!!isMounted.current) {\n        dispatch({\n          type: 'SET_ISVALIDATING',\n          payload: false\n        });\n        dispatch({\n          type: 'SET_ERRORS',\n          payload: combinedErrors\n        });\n      }\n\n      return combinedErrors;\n    });\n  });\n  useEffect(function () {\n    if (validateOnMount && isMounted.current === true && isEqual(initialValues.current, props.initialValues)) {\n      validateFormWithHighPriority(initialValues.current);\n    }\n  }, [validateOnMount, validateFormWithHighPriority]);\n  var resetForm = useCallback(function (nextState) {\n    var values = nextState && nextState.values ? nextState.values : initialValues.current;\n    var errors = nextState && nextState.errors ? nextState.errors : initialErrors.current ? initialErrors.current : props.initialErrors || {};\n    var touched = nextState && nextState.touched ? nextState.touched : initialTouched.current ? initialTouched.current : props.initialTouched || {};\n    var status = nextState && nextState.status ? nextState.status : initialStatus.current ? initialStatus.current : props.initialStatus;\n    initialValues.current = values;\n    initialErrors.current = errors;\n    initialTouched.current = touched;\n    initialStatus.current = status;\n\n    var dispatchFn = function dispatchFn() {\n      dispatch({\n        type: 'RESET_FORM',\n        payload: {\n          isSubmitting: !!nextState && !!nextState.isSubmitting,\n          errors: errors,\n          touched: touched,\n          status: status,\n          values: values,\n          isValidating: !!nextState && !!nextState.isValidating,\n          submitCount: !!nextState && !!nextState.submitCount && typeof nextState.submitCount === 'number' ? nextState.submitCount : 0\n        }\n      });\n    };\n\n    if (props.onReset) {\n      var maybePromisedOnReset = props.onReset(state.values, imperativeMethods);\n\n      if (isPromise(maybePromisedOnReset)) {\n        maybePromisedOnReset.then(dispatchFn);\n      } else {\n        dispatchFn();\n      }\n    } else {\n      dispatchFn();\n    }\n  }, [props.initialErrors, props.initialStatus, props.initialTouched, props.onReset]);\n  useEffect(function () {\n    if (isMounted.current === true && !isEqual(initialValues.current, props.initialValues)) {\n      if (enableReinitialize) {\n        initialValues.current = props.initialValues;\n        resetForm();\n\n        if (validateOnMount) {\n          validateFormWithHighPriority(initialValues.current);\n        }\n      }\n    }\n  }, [enableReinitialize, props.initialValues, resetForm, validateOnMount, validateFormWithHighPriority]);\n  useEffect(function () {\n    if (enableReinitialize && isMounted.current === true && !isEqual(initialErrors.current, props.initialErrors)) {\n      initialErrors.current = props.initialErrors || emptyErrors;\n      dispatch({\n        type: 'SET_ERRORS',\n        payload: props.initialErrors || emptyErrors\n      });\n    }\n  }, [enableReinitialize, props.initialErrors]);\n  useEffect(function () {\n    if (enableReinitialize && isMounted.current === true && !isEqual(initialTouched.current, props.initialTouched)) {\n      initialTouched.current = props.initialTouched || emptyTouched;\n      dispatch({\n        type: 'SET_TOUCHED',\n        payload: props.initialTouched || emptyTouched\n      });\n    }\n  }, [enableReinitialize, props.initialTouched]);\n  useEffect(function () {\n    if (enableReinitialize && isMounted.current === true && !isEqual(initialStatus.current, props.initialStatus)) {\n      initialStatus.current = props.initialStatus;\n      dispatch({\n        type: 'SET_STATUS',\n        payload: props.initialStatus\n      });\n    }\n  }, [enableReinitialize, props.initialStatus, props.initialTouched]);\n  var validateField = useEventCallback(function (name) {\n    // This will efficiently validate a single field by avoiding state\n    // changes if the validation function is synchronous. It's different from\n    // what is called when using validateForm.\n    if (fieldRegistry.current[name] && isFunction(fieldRegistry.current[name].validate)) {\n      var value = getIn(state.values, name);\n      var maybePromise = fieldRegistry.current[name].validate(value);\n\n      if (isPromise(maybePromise)) {\n        // Only flip isValidating if the function is async.\n        dispatch({\n          type: 'SET_ISVALIDATING',\n          payload: true\n        });\n        return maybePromise.then(function (x) {\n          return x;\n        }).then(function (error) {\n          dispatch({\n            type: 'SET_FIELD_ERROR',\n            payload: {\n              field: name,\n              value: error\n            }\n          });\n          dispatch({\n            type: 'SET_ISVALIDATING',\n            payload: false\n          });\n        });\n      } else {\n        dispatch({\n          type: 'SET_FIELD_ERROR',\n          payload: {\n            field: name,\n            value: maybePromise\n          }\n        });\n        return Promise.resolve(maybePromise);\n      }\n    } else if (props.validationSchema) {\n      dispatch({\n        type: 'SET_ISVALIDATING',\n        payload: true\n      });\n      return runValidationSchema(state.values, name).then(function (x) {\n        return x;\n      }).then(function (error) {\n        dispatch({\n          type: 'SET_FIELD_ERROR',\n          payload: {\n            field: name,\n            value: getIn(error, name)\n          }\n        });\n        dispatch({\n          type: 'SET_ISVALIDATING',\n          payload: false\n        });\n      });\n    }\n\n    return Promise.resolve();\n  });\n  var registerField = useCallback(function (name, _ref3) {\n    var validate = _ref3.validate;\n    fieldRegistry.current[name] = {\n      validate: validate\n    };\n  }, []);\n  var unregisterField = useCallback(function (name) {\n    delete fieldRegistry.current[name];\n  }, []);\n  var setTouched = useEventCallback(function (touched, shouldValidate) {\n    dispatch({\n      type: 'SET_TOUCHED',\n      payload: touched\n    });\n    var willValidate = shouldValidate === undefined ? validateOnBlur : shouldValidate;\n    return willValidate ? validateFormWithHighPriority(state.values) : Promise.resolve();\n  });\n  var setErrors = useCallback(function (errors) {\n    dispatch({\n      type: 'SET_ERRORS',\n      payload: errors\n    });\n  }, []);\n  var setValues = useEventCallback(function (values, shouldValidate) {\n    var resolvedValues = isFunction(values) ? values(state.values) : values;\n    dispatch({\n      type: 'SET_VALUES',\n      payload: resolvedValues\n    });\n    var willValidate = shouldValidate === undefined ? validateOnChange : shouldValidate;\n    return willValidate ? validateFormWithHighPriority(resolvedValues) : Promise.resolve();\n  });\n  var setFieldError = useCallback(function (field, value) {\n    dispatch({\n      type: 'SET_FIELD_ERROR',\n      payload: {\n        field: field,\n        value: value\n      }\n    });\n  }, []);\n  var setFieldValue = useEventCallback(function (field, value, shouldValidate) {\n    dispatch({\n      type: 'SET_FIELD_VALUE',\n      payload: {\n        field: field,\n        value: value\n      }\n    });\n    var willValidate = shouldValidate === undefined ? validateOnChange : shouldValidate;\n    return willValidate ? validateFormWithHighPriority(setIn(state.values, field, value)) : Promise.resolve();\n  });\n  var executeChange = useCallback(function (eventOrTextValue, maybePath) {\n    // By default, assume that the first argument is a string. This allows us to use\n    // handleChange with React Native and React Native Web's onChangeText prop which\n    // provides just the value of the input.\n    var field = maybePath;\n    var val = eventOrTextValue;\n    var parsed; // If the first argument is not a string though, it has to be a synthetic React Event (or a fake one),\n    // so we handle like we would a normal HTML change event.\n\n    if (!isString(eventOrTextValue)) {\n      // If we can, persist the event\n      // @see https://reactjs.org/docs/events.html#event-pooling\n      if (eventOrTextValue.persist) {\n        eventOrTextValue.persist();\n      }\n\n      var target = eventOrTextValue.target ? eventOrTextValue.target : eventOrTextValue.currentTarget;\n      var type = target.type,\n          name = target.name,\n          id = target.id,\n          value = target.value,\n          checked = target.checked,\n          outerHTML = target.outerHTML,\n          options = target.options,\n          multiple = target.multiple;\n      field = maybePath ? maybePath : name ? name : id;\n\n      if (!field && process.env.NODE_ENV !== \"production\") {\n        warnAboutMissingIdentifier({\n          htmlContent: outerHTML,\n          documentationAnchorLink: 'handlechange-e-reactchangeeventany--void',\n          handlerName: 'handleChange'\n        });\n      }\n\n      val = /number|range/.test(type) ? (parsed = parseFloat(value), isNaN(parsed) ? '' : parsed) : /checkbox/.test(type) // checkboxes\n      ? getValueForCheckbox(getIn(state.values, field), checked, value) : options && multiple // <select multiple>\n      ? getSelectedValues(options) : value;\n    }\n\n    if (field) {\n      // Set form fields by name\n      setFieldValue(field, val);\n    }\n  }, [setFieldValue, state.values]);\n  var handleChange = useEventCallback(function (eventOrPath) {\n    if (isString(eventOrPath)) {\n      return function (event) {\n        return executeChange(event, eventOrPath);\n      };\n    } else {\n      executeChange(eventOrPath);\n    }\n  });\n  var setFieldTouched = useEventCallback(function (field, touched, shouldValidate) {\n    if (touched === void 0) {\n      touched = true;\n    }\n\n    dispatch({\n      type: 'SET_FIELD_TOUCHED',\n      payload: {\n        field: field,\n        value: touched\n      }\n    });\n    var willValidate = shouldValidate === undefined ? validateOnBlur : shouldValidate;\n    return willValidate ? validateFormWithHighPriority(state.values) : Promise.resolve();\n  });\n  var executeBlur = useCallback(function (e, path) {\n    if (e.persist) {\n      e.persist();\n    }\n\n    var _e$target = e.target,\n        name = _e$target.name,\n        id = _e$target.id,\n        outerHTML = _e$target.outerHTML;\n    var field = path ? path : name ? name : id;\n\n    if (!field && process.env.NODE_ENV !== \"production\") {\n      warnAboutMissingIdentifier({\n        htmlContent: outerHTML,\n        documentationAnchorLink: 'handleblur-e-any--void',\n        handlerName: 'handleBlur'\n      });\n    }\n\n    setFieldTouched(field, true);\n  }, [setFieldTouched]);\n  var handleBlur = useEventCallback(function (eventOrString) {\n    if (isString(eventOrString)) {\n      return function (event) {\n        return executeBlur(event, eventOrString);\n      };\n    } else {\n      executeBlur(eventOrString);\n    }\n  });\n  var setFormikState = useCallback(function (stateOrCb) {\n    if (isFunction(stateOrCb)) {\n      dispatch({\n        type: 'SET_FORMIK_STATE',\n        payload: stateOrCb\n      });\n    } else {\n      dispatch({\n        type: 'SET_FORMIK_STATE',\n        payload: function payload() {\n          return stateOrCb;\n        }\n      });\n    }\n  }, []);\n  var setStatus = useCallback(function (status) {\n    dispatch({\n      type: 'SET_STATUS',\n      payload: status\n    });\n  }, []);\n  var setSubmitting = useCallback(function (isSubmitting) {\n    dispatch({\n      type: 'SET_ISSUBMITTING',\n      payload: isSubmitting\n    });\n  }, []);\n  var submitForm = useEventCallback(function () {\n    dispatch({\n      type: 'SUBMIT_ATTEMPT'\n    });\n    return validateFormWithHighPriority().then(function (combinedErrors) {\n      // In case an error was thrown and passed to the resolved Promise,\n      // `combinedErrors` can be an instance of an Error. We need to check\n      // that and abort the submit.\n      // If we don't do that, calling `Object.keys(new Error())` yields an\n      // empty array, which causes the validation to pass and the form\n      // to be submitted.\n      var isInstanceOfError = combinedErrors instanceof Error;\n      var isActuallyValid = !isInstanceOfError && Object.keys(combinedErrors).length === 0;\n\n      if (isActuallyValid) {\n        // Proceed with submit...\n        //\n        // To respect sync submit fns, we can't simply wrap executeSubmit in a promise and\n        // _always_ dispatch SUBMIT_SUCCESS because isSubmitting would then always be false.\n        // This would be fine in simple cases, but make it impossible to disable submit\n        // buttons where people use callbacks or promises as side effects (which is basically\n        // all of v1 Formik code). Instead, recall that we are inside of a promise chain already,\n        //  so we can try/catch executeSubmit(), if it returns undefined, then just bail.\n        // If there are errors, throw em. Otherwise, wrap executeSubmit in a promise and handle\n        // cleanup of isSubmitting on behalf of the consumer.\n        var promiseOrUndefined;\n\n        try {\n          promiseOrUndefined = executeSubmit(); // Bail if it's sync, consumer is responsible for cleaning up\n          // via setSubmitting(false)\n\n          if (promiseOrUndefined === undefined) {\n            return;\n          }\n        } catch (error) {\n          throw error;\n        }\n\n        return Promise.resolve(promiseOrUndefined).then(function (result) {\n          if (!!isMounted.current) {\n            dispatch({\n              type: 'SUBMIT_SUCCESS'\n            });\n          }\n\n          return result;\n        })[\"catch\"](function (_errors) {\n          if (!!isMounted.current) {\n            dispatch({\n              type: 'SUBMIT_FAILURE'\n            }); // This is a legit error rejected by the onSubmit fn\n            // so we don't want to break the promise chain\n\n            throw _errors;\n          }\n        });\n      } else if (!!isMounted.current) {\n        // ^^^ Make sure Formik is still mounted before updating state\n        dispatch({\n          type: 'SUBMIT_FAILURE'\n        }); // throw combinedErrors;\n\n        if (isInstanceOfError) {\n          throw combinedErrors;\n        }\n      }\n\n      return;\n    });\n  });\n  var handleSubmit = useEventCallback(function (e) {\n    if (e && e.preventDefault && isFunction(e.preventDefault)) {\n      e.preventDefault();\n    }\n\n    if (e && e.stopPropagation && isFunction(e.stopPropagation)) {\n      e.stopPropagation();\n    } // Warn if form submission is triggered by a <button> without a\n    // specified `type` attribute during development. This mitigates\n    // a common gotcha in forms with both reset and submit buttons,\n    // where the dev forgets to add type=\"button\" to the reset button.\n\n\n    if (process.env.NODE_ENV !== \"production\" && typeof document !== 'undefined') {\n      // Safely get the active element (works with IE)\n      var activeElement = getActiveElement();\n\n      if (activeElement !== null && activeElement instanceof HTMLButtonElement) {\n        !(activeElement.attributes && activeElement.attributes.getNamedItem('type')) ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'You submitted a Formik form using a button with an unspecified `type` attribute.  Most browsers default button elements to `type=\"submit\"`. If this is not a submit button, please add `type=\"button\"`.') : invariant(false) : void 0;\n      }\n    }\n\n    submitForm()[\"catch\"](function (reason) {\n      console.warn(\"Warning: An unhandled error was caught from submitForm()\", reason);\n    });\n  });\n  var imperativeMethods = {\n    resetForm: resetForm,\n    validateForm: validateFormWithHighPriority,\n    validateField: validateField,\n    setErrors: setErrors,\n    setFieldError: setFieldError,\n    setFieldTouched: setFieldTouched,\n    setFieldValue: setFieldValue,\n    setStatus: setStatus,\n    setSubmitting: setSubmitting,\n    setTouched: setTouched,\n    setValues: setValues,\n    setFormikState: setFormikState,\n    submitForm: submitForm\n  };\n  var executeSubmit = useEventCallback(function () {\n    return onSubmit(state.values, imperativeMethods);\n  });\n  var handleReset = useEventCallback(function (e) {\n    if (e && e.preventDefault && isFunction(e.preventDefault)) {\n      e.preventDefault();\n    }\n\n    if (e && e.stopPropagation && isFunction(e.stopPropagation)) {\n      e.stopPropagation();\n    }\n\n    resetForm();\n  });\n  var getFieldMeta = useCallback(function (name) {\n    return {\n      value: getIn(state.values, name),\n      error: getIn(state.errors, name),\n      touched: !!getIn(state.touched, name),\n      initialValue: getIn(initialValues.current, name),\n      initialTouched: !!getIn(initialTouched.current, name),\n      initialError: getIn(initialErrors.current, name)\n    };\n  }, [state.errors, state.touched, state.values]);\n  var getFieldHelpers = useCallback(function (name) {\n    return {\n      setValue: function setValue(value, shouldValidate) {\n        return setFieldValue(name, value, shouldValidate);\n      },\n      setTouched: function setTouched(value, shouldValidate) {\n        return setFieldTouched(name, value, shouldValidate);\n      },\n      setError: function setError(value) {\n        return setFieldError(name, value);\n      }\n    };\n  }, [setFieldValue, setFieldTouched, setFieldError]);\n  var getFieldProps = useCallback(function (nameOrOptions) {\n    var isAnObject = isObject(nameOrOptions);\n    var name = isAnObject ? nameOrOptions.name : nameOrOptions;\n    var valueState = getIn(state.values, name);\n    var field = {\n      name: name,\n      value: valueState,\n      onChange: handleChange,\n      onBlur: handleBlur\n    };\n\n    if (isAnObject) {\n      var type = nameOrOptions.type,\n          valueProp = nameOrOptions.value,\n          is = nameOrOptions.as,\n          multiple = nameOrOptions.multiple;\n\n      if (type === 'checkbox') {\n        if (valueProp === undefined) {\n          field.checked = !!valueState;\n        } else {\n          field.checked = !!(Array.isArray(valueState) && ~valueState.indexOf(valueProp));\n          field.value = valueProp;\n        }\n      } else if (type === 'radio') {\n        field.checked = valueState === valueProp;\n        field.value = valueProp;\n      } else if (is === 'select' && multiple) {\n        field.value = field.value || [];\n        field.multiple = true;\n      }\n    }\n\n    return field;\n  }, [handleBlur, handleChange, state.values]);\n  var dirty = useMemo(function () {\n    return !isEqual(initialValues.current, state.values);\n  }, [initialValues.current, state.values]);\n  var isValid = useMemo(function () {\n    return typeof isInitialValid !== 'undefined' ? dirty ? state.errors && Object.keys(state.errors).length === 0 : isInitialValid !== false && isFunction(isInitialValid) ? isInitialValid(props) : isInitialValid : state.errors && Object.keys(state.errors).length === 0;\n  }, [isInitialValid, dirty, state.errors, props]);\n\n  var ctx = _extends({}, state, {\n    initialValues: initialValues.current,\n    initialErrors: initialErrors.current,\n    initialTouched: initialTouched.current,\n    initialStatus: initialStatus.current,\n    handleBlur: handleBlur,\n    handleChange: handleChange,\n    handleReset: handleReset,\n    handleSubmit: handleSubmit,\n    resetForm: resetForm,\n    setErrors: setErrors,\n    setFormikState: setFormikState,\n    setFieldTouched: setFieldTouched,\n    setFieldValue: setFieldValue,\n    setFieldError: setFieldError,\n    setStatus: setStatus,\n    setSubmitting: setSubmitting,\n    setTouched: setTouched,\n    setValues: setValues,\n    submitForm: submitForm,\n    validateForm: validateFormWithHighPriority,\n    validateField: validateField,\n    isValid: isValid,\n    dirty: dirty,\n    unregisterField: unregisterField,\n    registerField: registerField,\n    getFieldProps: getFieldProps,\n    getFieldMeta: getFieldMeta,\n    getFieldHelpers: getFieldHelpers,\n    validateOnBlur: validateOnBlur,\n    validateOnChange: validateOnChange,\n    validateOnMount: validateOnMount\n  });\n\n  return ctx;\n}\nfunction Formik(props) {\n  var formikbag = useFormik(props);\n  var component = props.component,\n      children = props.children,\n      render = props.render,\n      innerRef = props.innerRef; // This allows folks to pass a ref to <Formik />\n\n  useImperativeHandle(innerRef, function () {\n    return formikbag;\n  });\n\n  if (process.env.NODE_ENV !== \"production\") {\n    // eslint-disable-next-line react-hooks/rules-of-hooks\n    useEffect(function () {\n      !!props.render ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"<Formik render> has been deprecated and will be removed in future versions of Formik. Please use a child callback function instead. To get rid of this warning, replace <Formik render={(props) => ...} /> with <Formik>{(props) => ...}</Formik>\") : invariant(false) : void 0; // eslint-disable-next-line\n    }, []);\n  }\n\n  return createElement(FormikProvider, {\n    value: formikbag\n  }, component ? createElement(component, formikbag) : render ? render(formikbag) : children // children come last, always called\n  ? isFunction(children) ? children(formikbag) : !isEmptyChildren(children) ? Children.only(children) : null : null);\n}\n\nfunction warnAboutMissingIdentifier(_ref4) {\n  var htmlContent = _ref4.htmlContent,\n      documentationAnchorLink = _ref4.documentationAnchorLink,\n      handlerName = _ref4.handlerName;\n  console.warn(\"Warning: Formik called `\" + handlerName + \"`, but you forgot to pass an `id` or `name` attribute to your input:\\n    \" + htmlContent + \"\\n    Formik cannot determine which value to update. For more info see https://formik.org/docs/api/formik#\" + documentationAnchorLink + \"\\n  \");\n}\n/**\r\n * Transform Yup ValidationError to a more usable object\r\n */\n\n\nfunction yupToFormErrors(yupError) {\n  var errors = {};\n\n  if (yupError.inner) {\n    if (yupError.inner.length === 0) {\n      return setIn(errors, yupError.path, yupError.message);\n    }\n\n    for (var _iterator = yupError.inner, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) {\n      var _ref5;\n\n      if (_isArray) {\n        if (_i >= _iterator.length) break;\n        _ref5 = _iterator[_i++];\n      } else {\n        _i = _iterator.next();\n        if (_i.done) break;\n        _ref5 = _i.value;\n      }\n\n      var err = _ref5;\n\n      if (!getIn(errors, err.path)) {\n        errors = setIn(errors, err.path, err.message);\n      }\n    }\n  }\n\n  return errors;\n}\n/**\r\n * Validate a yup schema.\r\n */\n\nfunction validateYupSchema(values, schema, sync, context) {\n  if (sync === void 0) {\n    sync = false;\n  }\n\n  var normalizedValues = prepareDataForValidation(values);\n  return schema[sync ? 'validateSync' : 'validate'](normalizedValues, {\n    abortEarly: false,\n    context: context || normalizedValues\n  });\n}\n/**\r\n * Recursively prepare values.\r\n */\n\nfunction prepareDataForValidation(values) {\n  var data = Array.isArray(values) ? [] : {};\n\n  for (var k in values) {\n    if (Object.prototype.hasOwnProperty.call(values, k)) {\n      var key = String(k);\n\n      if (Array.isArray(values[key]) === true) {\n        data[key] = values[key].map(function (value) {\n          if (Array.isArray(value) === true || isPlainObject(value)) {\n            return prepareDataForValidation(value);\n          } else {\n            return value !== '' ? value : undefined;\n          }\n        });\n      } else if (isPlainObject(values[key])) {\n        data[key] = prepareDataForValidation(values[key]);\n      } else {\n        data[key] = values[key] !== '' ? values[key] : undefined;\n      }\n    }\n  }\n\n  return data;\n}\n/**\r\n * deepmerge array merging algorithm\r\n * https://github.com/KyleAMathews/deepmerge#combine-array\r\n */\n\nfunction arrayMerge(target, source, options) {\n  var destination = target.slice();\n  source.forEach(function merge(e, i) {\n    if (typeof destination[i] === 'undefined') {\n      var cloneRequested = options.clone !== false;\n      var shouldClone = cloneRequested && options.isMergeableObject(e);\n      destination[i] = shouldClone ? deepmerge(Array.isArray(e) ? [] : {}, e, options) : e;\n    } else if (options.isMergeableObject(e)) {\n      destination[i] = deepmerge(target[i], e, options);\n    } else if (target.indexOf(e) === -1) {\n      destination.push(e);\n    }\n  });\n  return destination;\n}\n/** Return multi select values based on an array of options */\n\n\nfunction getSelectedValues(options) {\n  return Array.from(options).filter(function (el) {\n    return el.selected;\n  }).map(function (el) {\n    return el.value;\n  });\n}\n/** Return the next value for a checkbox */\n\n\nfunction getValueForCheckbox(currentValue, checked, valueProp) {\n  // If the current value was a boolean, return a boolean\n  if (typeof currentValue === 'boolean') {\n    return Boolean(checked);\n  } // If the currentValue was not a boolean we want to return an array\n\n\n  var currentArrayOfValues = [];\n  var isValueInArray = false;\n  var index = -1;\n\n  if (!Array.isArray(currentValue)) {\n    // eslint-disable-next-line eqeqeq\n    if (!valueProp || valueProp == 'true' || valueProp == 'false') {\n      return Boolean(checked);\n    }\n  } else {\n    // If the current value is already an array, use it\n    currentArrayOfValues = currentValue;\n    index = currentValue.indexOf(valueProp);\n    isValueInArray = index >= 0;\n  } // If the checkbox was checked and the value is not already present in the aray we want to add the new value to the array of values\n\n\n  if (checked && valueProp && !isValueInArray) {\n    return currentArrayOfValues.concat(valueProp);\n  } // If the checkbox was unchecked and the value is not in the array, simply return the already existing array of values\n\n\n  if (!isValueInArray) {\n    return currentArrayOfValues;\n  } // If the checkbox was unchecked and the value is in the array, remove the value and return the array\n\n\n  return currentArrayOfValues.slice(0, index).concat(currentArrayOfValues.slice(index + 1));\n} // React currently throws a warning when using useLayoutEffect on the server.\n// To get around it, we can conditionally useEffect on the server (no-op) and\n// useLayoutEffect in the browser.\n// @see https://gist.github.com/gaearon/e7d97cdf38a2907924ea12e4ebdf3c85\n\n\nvar useIsomorphicLayoutEffect = typeof window !== 'undefined' && typeof window.document !== 'undefined' && typeof window.document.createElement !== 'undefined' ? useLayoutEffect : useEffect;\n\nfunction useEventCallback(fn) {\n  var ref = useRef(fn); // we copy a ref to the callback scoped to the current state/props on each render\n\n  useIsomorphicLayoutEffect(function () {\n    ref.current = fn;\n  });\n  return useCallback(function () {\n    for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n      args[_key] = arguments[_key];\n    }\n\n    return ref.current.apply(void 0, args);\n  }, []);\n}\n\nfunction useField(propsOrFieldName) {\n  var formik = useFormikContext();\n  var getFieldProps = formik.getFieldProps,\n      getFieldMeta = formik.getFieldMeta,\n      getFieldHelpers = formik.getFieldHelpers,\n      registerField = formik.registerField,\n      unregisterField = formik.unregisterField;\n  var isAnObject = isObject(propsOrFieldName); // Normalize propsOrFieldName to FieldHookConfig<Val>\n\n  var props = isAnObject ? propsOrFieldName : {\n    name: propsOrFieldName\n  };\n  var fieldName = props.name,\n      validateFn = props.validate;\n  useEffect(function () {\n    if (fieldName) {\n      registerField(fieldName, {\n        validate: validateFn\n      });\n    }\n\n    return function () {\n      if (fieldName) {\n        unregisterField(fieldName);\n      }\n    };\n  }, [registerField, unregisterField, fieldName, validateFn]);\n\n  if (process.env.NODE_ENV !== \"production\") {\n    !formik ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'useField() / <Field /> must be used underneath a <Formik> component or withFormik() higher order component') : invariant(false) : void 0;\n  }\n\n  !fieldName ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Invalid field name. Either pass `useField` a string or an object containing a `name` key.') : invariant(false) : void 0;\n  var fieldHelpers = useMemo(function () {\n    return getFieldHelpers(fieldName);\n  }, [getFieldHelpers, fieldName]);\n  return [getFieldProps(props), getFieldMeta(fieldName), fieldHelpers];\n}\nfunction Field(_ref) {\n  var validate = _ref.validate,\n      name = _ref.name,\n      render = _ref.render,\n      children = _ref.children,\n      is = _ref.as,\n      component = _ref.component,\n      className = _ref.className,\n      props = _objectWithoutPropertiesLoose(_ref, [\"validate\", \"name\", \"render\", \"children\", \"as\", \"component\", \"className\"]);\n\n  var _useFormikContext = useFormikContext(),\n      formik = _objectWithoutPropertiesLoose(_useFormikContext, [\"validate\", \"validationSchema\"]);\n\n  if (process.env.NODE_ENV !== \"production\") {\n    // eslint-disable-next-line react-hooks/rules-of-hooks\n    useEffect(function () {\n      !!render ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"<Field render> has been deprecated and will be removed in future versions of Formik. Please use a child callback function instead. To get rid of this warning, replace <Field name=\\\"\" + name + \"\\\" render={({field, form}) => ...} /> with <Field name=\\\"\" + name + \"\\\">{({field, form, meta}) => ...}</Field>\") : invariant(false) : void 0;\n      !!(is && children && isFunction(children)) ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'You should not use <Field as> and <Field children> as a function in the same <Field> component; <Field as> will be ignored.') : invariant(false) : void 0;\n      !!(component && children && isFunction(children)) ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'You should not use <Field component> and <Field children> as a function in the same <Field> component; <Field component> will be ignored.') : invariant(false) : void 0;\n      !!(render && children && !isEmptyChildren(children)) ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'You should not use <Field render> and <Field children> in the same <Field> component; <Field children> will be ignored') : invariant(false) : void 0; // eslint-disable-next-line\n    }, []);\n  } // Register field and field-level validation with parent <Formik>\n\n\n  var registerField = formik.registerField,\n      unregisterField = formik.unregisterField;\n  useEffect(function () {\n    registerField(name, {\n      validate: validate\n    });\n    return function () {\n      unregisterField(name);\n    };\n  }, [registerField, unregisterField, name, validate]);\n  var field = formik.getFieldProps(_extends({\n    name: name\n  }, props));\n  var meta = formik.getFieldMeta(name);\n  var legacyBag = {\n    field: field,\n    form: formik\n  };\n\n  if (render) {\n    return render(_extends({}, legacyBag, {\n      meta: meta\n    }));\n  }\n\n  if (isFunction(children)) {\n    return children(_extends({}, legacyBag, {\n      meta: meta\n    }));\n  }\n\n  if (component) {\n    // This behavior is backwards compat with earlier Formik 0.9 to 1.x\n    if (typeof component === 'string') {\n      var innerRef = props.innerRef,\n          rest = _objectWithoutPropertiesLoose(props, [\"innerRef\"]);\n\n      return createElement(component, _extends({\n        ref: innerRef\n      }, field, rest, {\n        className: className\n      }), children);\n    } // We don't pass `meta` for backwards compat\n\n\n    return createElement(component, _extends({\n      field: field,\n      form: formik\n    }, props, {\n      className: className\n    }), children);\n  } // default to input here so we can check for both `as` and `children` above\n\n\n  var asElement = is || 'input';\n\n  if (typeof asElement === 'string') {\n    var _innerRef = props.innerRef,\n        _rest = _objectWithoutPropertiesLoose(props, [\"innerRef\"]);\n\n    return createElement(asElement, _extends({\n      ref: _innerRef\n    }, field, _rest, {\n      className: className\n    }), children);\n  }\n\n  return createElement(asElement, _extends({}, field, props, {\n    className: className\n  }), children);\n}\n\nvar Form = /*#__PURE__*/forwardRef(function (props, ref) {\n  // iOS needs an \"action\" attribute for nice input: https://stackoverflow.com/a/39485162/406725\n  // We default the action to \"#\" in case the preventDefault fails (just updates the URL hash)\n  var action = props.action,\n      rest = _objectWithoutPropertiesLoose(props, [\"action\"]);\n\n  var _action = action != null ? action : '#';\n\n  var _useFormikContext = useFormikContext(),\n      handleReset = _useFormikContext.handleReset,\n      handleSubmit = _useFormikContext.handleSubmit;\n\n  return createElement(\"form\", _extends({\n    onSubmit: handleSubmit,\n    ref: ref,\n    onReset: handleReset,\n    action: _action\n  }, rest));\n});\nForm.displayName = 'Form';\n\n/**\r\n * A public higher-order component to access the imperative API\r\n */\n\nfunction withFormik(_ref) {\n  var _ref$mapPropsToValues = _ref.mapPropsToValues,\n      mapPropsToValues = _ref$mapPropsToValues === void 0 ? function (vanillaProps) {\n    var val = {};\n\n    for (var k in vanillaProps) {\n      if (vanillaProps.hasOwnProperty(k) && typeof vanillaProps[k] !== 'function') {\n        // @todo TypeScript fix\n        val[k] = vanillaProps[k];\n      }\n    }\n\n    return val;\n  } : _ref$mapPropsToValues,\n      config = _objectWithoutPropertiesLoose(_ref, [\"mapPropsToValues\"]);\n\n  return function createFormik(Component$1) {\n    var componentDisplayName = Component$1.displayName || Component$1.name || Component$1.constructor && Component$1.constructor.name || 'Component';\n    /**\r\n     * We need to use closures here for to provide the wrapped component's props to\r\n     * the respective withFormik config methods.\r\n     */\n\n    var C = /*#__PURE__*/function (_React$Component) {\n      _inheritsLoose(C, _React$Component);\n\n      function C() {\n        var _this;\n\n        for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n          args[_key] = arguments[_key];\n        }\n\n        _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;\n\n        _this.validate = function (values) {\n          return config.validate(values, _this.props);\n        };\n\n        _this.validationSchema = function () {\n          return isFunction(config.validationSchema) ? config.validationSchema(_this.props) : config.validationSchema;\n        };\n\n        _this.handleSubmit = function (values, actions) {\n          return config.handleSubmit(values, _extends({}, actions, {\n            props: _this.props\n          }));\n        };\n\n        _this.renderFormComponent = function (formikProps) {\n          return createElement(Component$1, _extends({}, _this.props, formikProps));\n        };\n\n        return _this;\n      }\n\n      var _proto = C.prototype;\n\n      _proto.render = function render() {\n        var _this$props = this.props,\n            props = _objectWithoutPropertiesLoose(_this$props, [\"children\"]);\n\n        return createElement(Formik, _extends({}, props, config, {\n          validate: config.validate && this.validate,\n          validationSchema: config.validationSchema && this.validationSchema,\n          initialValues: mapPropsToValues(this.props),\n          initialStatus: config.mapPropsToStatus && config.mapPropsToStatus(this.props),\n          initialErrors: config.mapPropsToErrors && config.mapPropsToErrors(this.props),\n          initialTouched: config.mapPropsToTouched && config.mapPropsToTouched(this.props),\n          onSubmit: this.handleSubmit,\n          children: this.renderFormComponent\n        }));\n      };\n\n      return C;\n    }(Component);\n\n    C.displayName = \"WithFormik(\" + componentDisplayName + \")\";\n    return hoistNonReactStatics(C, Component$1 // cast type to ComponentClass (even if SFC)\n    );\n  };\n}\n\n/**\r\n * Connect any component to Formik context, and inject as a prop called `formik`;\r\n * @param Comp React Component\r\n */\n\nfunction connect(Comp) {\n  var C = function C(props) {\n    return createElement(FormikConsumer, null, function (formik) {\n      !!!formik ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"Formik context is undefined, please verify you are rendering <Form>, <Field>, <FastField>, <FieldArray>, or your custom context-using component as a child of a <Formik> component. Component name: \" + Comp.name) : invariant(false) : void 0;\n      return createElement(Comp, _extends({}, props, {\n        formik: formik\n      }));\n    });\n  };\n\n  var componentDisplayName = Comp.displayName || Comp.name || Comp.constructor && Comp.constructor.name || 'Component'; // Assign Comp to C.WrappedComponent so we can access the inner component in tests\n  // For example, <Field.WrappedComponent /> gets us <FieldInner/>\n\n  C.WrappedComponent = Comp;\n  C.displayName = \"FormikConnect(\" + componentDisplayName + \")\";\n  return hoistNonReactStatics(C, Comp // cast type to ComponentClass (even if SFC)\n  );\n}\n\n/**\r\n * Some array helpers!\r\n */\n\nvar move = function move(array, from, to) {\n  var copy = copyArrayLike(array);\n  var value = copy[from];\n  copy.splice(from, 1);\n  copy.splice(to, 0, value);\n  return copy;\n};\nvar swap = function swap(arrayLike, indexA, indexB) {\n  var copy = copyArrayLike(arrayLike);\n  var a = copy[indexA];\n  copy[indexA] = copy[indexB];\n  copy[indexB] = a;\n  return copy;\n};\nvar insert = function insert(arrayLike, index, value) {\n  var copy = copyArrayLike(arrayLike);\n  copy.splice(index, 0, value);\n  return copy;\n};\nvar replace = function replace(arrayLike, index, value) {\n  var copy = copyArrayLike(arrayLike);\n  copy[index] = value;\n  return copy;\n};\n\nvar copyArrayLike = function copyArrayLike(arrayLike) {\n  if (!arrayLike) {\n    return [];\n  } else if (Array.isArray(arrayLike)) {\n    return [].concat(arrayLike);\n  } else {\n    var maxIndex = Object.keys(arrayLike).map(function (key) {\n      return parseInt(key);\n    }).reduce(function (max, el) {\n      return el > max ? el : max;\n    }, 0);\n    return Array.from(_extends({}, arrayLike, {\n      length: maxIndex + 1\n    }));\n  }\n};\n\nvar createAlterationHandler = function createAlterationHandler(alteration, defaultFunction) {\n  var fn = typeof alteration === 'function' ? alteration : defaultFunction;\n  return function (data) {\n    if (Array.isArray(data) || isObject(data)) {\n      var clone = copyArrayLike(data);\n      return fn(clone);\n    } // This can be assumed to be a primitive, which\n    // is a case for top level validation errors\n\n\n    return data;\n  };\n};\n\nvar FieldArrayInner = /*#__PURE__*/function (_React$Component) {\n  _inheritsLoose(FieldArrayInner, _React$Component);\n\n  function FieldArrayInner(props) {\n    var _this;\n\n    _this = _React$Component.call(this, props) || this; // We need TypeScript generics on these, so we'll bind them in the constructor\n    // @todo Fix TS 3.2.1\n\n    _this.updateArrayField = function (fn, alterTouched, alterErrors) {\n      var _this$props = _this.props,\n          name = _this$props.name,\n          setFormikState = _this$props.formik.setFormikState;\n      setFormikState(function (prevState) {\n        var updateErrors = createAlterationHandler(alterErrors, fn);\n        var updateTouched = createAlterationHandler(alterTouched, fn); // values fn should be executed before updateErrors and updateTouched,\n        // otherwise it causes an error with unshift.\n\n        var values = setIn(prevState.values, name, fn(getIn(prevState.values, name)));\n        var fieldError = alterErrors ? updateErrors(getIn(prevState.errors, name)) : undefined;\n        var fieldTouched = alterTouched ? updateTouched(getIn(prevState.touched, name)) : undefined;\n\n        if (isEmptyArray(fieldError)) {\n          fieldError = undefined;\n        }\n\n        if (isEmptyArray(fieldTouched)) {\n          fieldTouched = undefined;\n        }\n\n        return _extends({}, prevState, {\n          values: values,\n          errors: alterErrors ? setIn(prevState.errors, name, fieldError) : prevState.errors,\n          touched: alterTouched ? setIn(prevState.touched, name, fieldTouched) : prevState.touched\n        });\n      });\n    };\n\n    _this.push = function (value) {\n      return _this.updateArrayField(function (arrayLike) {\n        return [].concat(copyArrayLike(arrayLike), [cloneDeep(value)]);\n      }, false, false);\n    };\n\n    _this.handlePush = function (value) {\n      return function () {\n        return _this.push(value);\n      };\n    };\n\n    _this.swap = function (indexA, indexB) {\n      return _this.updateArrayField(function (array) {\n        return swap(array, indexA, indexB);\n      }, true, true);\n    };\n\n    _this.handleSwap = function (indexA, indexB) {\n      return function () {\n        return _this.swap(indexA, indexB);\n      };\n    };\n\n    _this.move = function (from, to) {\n      return _this.updateArrayField(function (array) {\n        return move(array, from, to);\n      }, true, true);\n    };\n\n    _this.handleMove = function (from, to) {\n      return function () {\n        return _this.move(from, to);\n      };\n    };\n\n    _this.insert = function (index, value) {\n      return _this.updateArrayField(function (array) {\n        return insert(array, index, value);\n      }, function (array) {\n        return insert(array, index, null);\n      }, function (array) {\n        return insert(array, index, null);\n      });\n    };\n\n    _this.handleInsert = function (index, value) {\n      return function () {\n        return _this.insert(index, value);\n      };\n    };\n\n    _this.replace = function (index, value) {\n      return _this.updateArrayField(function (array) {\n        return replace(array, index, value);\n      }, false, false);\n    };\n\n    _this.handleReplace = function (index, value) {\n      return function () {\n        return _this.replace(index, value);\n      };\n    };\n\n    _this.unshift = function (value) {\n      var length = -1;\n\n      _this.updateArrayField(function (array) {\n        var arr = array ? [value].concat(array) : [value];\n        length = arr.length;\n        return arr;\n      }, function (array) {\n        return array ? [null].concat(array) : [null];\n      }, function (array) {\n        return array ? [null].concat(array) : [null];\n      });\n\n      return length;\n    };\n\n    _this.handleUnshift = function (value) {\n      return function () {\n        return _this.unshift(value);\n      };\n    };\n\n    _this.handleRemove = function (index) {\n      return function () {\n        return _this.remove(index);\n      };\n    };\n\n    _this.handlePop = function () {\n      return function () {\n        return _this.pop();\n      };\n    };\n\n    _this.remove = _this.remove.bind(_assertThisInitialized(_this));\n    _this.pop = _this.pop.bind(_assertThisInitialized(_this));\n    return _this;\n  }\n\n  var _proto = FieldArrayInner.prototype;\n\n  _proto.componentDidUpdate = function componentDidUpdate(prevProps) {\n    if (this.props.validateOnChange && this.props.formik.validateOnChange && !isEqual(getIn(prevProps.formik.values, prevProps.name), getIn(this.props.formik.values, this.props.name))) {\n      this.props.formik.validateForm(this.props.formik.values);\n    }\n  };\n\n  _proto.remove = function remove(index) {\n    // We need to make sure we also remove relevant pieces of `touched` and `errors`\n    var result;\n    this.updateArrayField( // so this gets call 3 times\n    function (array) {\n      var copy = array ? copyArrayLike(array) : [];\n\n      if (!result) {\n        result = copy[index];\n      }\n\n      if (isFunction(copy.splice)) {\n        copy.splice(index, 1);\n      } // if the array only includes undefined values we have to return an empty array\n\n\n      return isFunction(copy.every) ? copy.every(function (v) {\n        return v === undefined;\n      }) ? [] : copy : copy;\n    }, true, true);\n    return result;\n  };\n\n  _proto.pop = function pop() {\n    // Remove relevant pieces of `touched` and `errors` too!\n    var result;\n    this.updateArrayField( // so this gets call 3 times\n    function (array) {\n      var tmp = array.slice();\n\n      if (!result) {\n        result = tmp && tmp.pop && tmp.pop();\n      }\n\n      return tmp;\n    }, true, true);\n    return result;\n  };\n\n  _proto.render = function render() {\n    var arrayHelpers = {\n      push: this.push,\n      pop: this.pop,\n      swap: this.swap,\n      move: this.move,\n      insert: this.insert,\n      replace: this.replace,\n      unshift: this.unshift,\n      remove: this.remove,\n      handlePush: this.handlePush,\n      handlePop: this.handlePop,\n      handleSwap: this.handleSwap,\n      handleMove: this.handleMove,\n      handleInsert: this.handleInsert,\n      handleReplace: this.handleReplace,\n      handleUnshift: this.handleUnshift,\n      handleRemove: this.handleRemove\n    };\n\n    var _this$props2 = this.props,\n        component = _this$props2.component,\n        render = _this$props2.render,\n        children = _this$props2.children,\n        name = _this$props2.name,\n        _this$props2$formik = _this$props2.formik,\n        restOfFormik = _objectWithoutPropertiesLoose(_this$props2$formik, [\"validate\", \"validationSchema\"]);\n\n    var props = _extends({}, arrayHelpers, {\n      form: restOfFormik,\n      name: name\n    });\n\n    return component ? createElement(component, props) : render ? render(props) : children // children come last, always called\n    ? typeof children === 'function' ? children(props) : !isEmptyChildren(children) ? Children.only(children) : null : null;\n  };\n\n  return FieldArrayInner;\n}(Component);\n\nFieldArrayInner.defaultProps = {\n  validateOnChange: true\n};\nvar FieldArray = /*#__PURE__*/connect(FieldArrayInner);\n\nvar ErrorMessageImpl = /*#__PURE__*/function (_React$Component) {\n  _inheritsLoose(ErrorMessageImpl, _React$Component);\n\n  function ErrorMessageImpl() {\n    return _React$Component.apply(this, arguments) || this;\n  }\n\n  var _proto = ErrorMessageImpl.prototype;\n\n  _proto.shouldComponentUpdate = function shouldComponentUpdate(props) {\n    if (getIn(this.props.formik.errors, this.props.name) !== getIn(props.formik.errors, this.props.name) || getIn(this.props.formik.touched, this.props.name) !== getIn(props.formik.touched, this.props.name) || Object.keys(this.props).length !== Object.keys(props).length) {\n      return true;\n    } else {\n      return false;\n    }\n  };\n\n  _proto.render = function render() {\n    var _this$props = this.props,\n        component = _this$props.component,\n        formik = _this$props.formik,\n        render = _this$props.render,\n        children = _this$props.children,\n        name = _this$props.name,\n        rest = _objectWithoutPropertiesLoose(_this$props, [\"component\", \"formik\", \"render\", \"children\", \"name\"]);\n\n    var touch = getIn(formik.touched, name);\n    var error = getIn(formik.errors, name);\n    return !!touch && !!error ? render ? isFunction(render) ? render(error) : null : children ? isFunction(children) ? children(error) : null : component ? createElement(component, rest, error) : error : null;\n  };\n\n  return ErrorMessageImpl;\n}(Component);\n\nvar ErrorMessage = /*#__PURE__*/connect(ErrorMessageImpl);\n\n/**\r\n * Custom Field component for quickly hooking into Formik\r\n * context and wiring up forms.\r\n */\n\nvar FastFieldInner = /*#__PURE__*/function (_React$Component) {\n  _inheritsLoose(FastFieldInner, _React$Component);\n\n  function FastFieldInner(props) {\n    var _this;\n\n    _this = _React$Component.call(this, props) || this;\n    var render = props.render,\n        children = props.children,\n        component = props.component,\n        is = props.as,\n        name = props.name;\n    !!render ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"<FastField render> has been deprecated. Please use a child callback function instead: <FastField name={\" + name + \"}>{props => ...}</FastField> instead.\") : invariant(false) : void 0;\n    !!(component && render) ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'You should not use <FastField component> and <FastField render> in the same <FastField> component; <FastField component> will be ignored') : invariant(false) : void 0;\n    !!(is && children && isFunction(children)) ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'You should not use <FastField as> and <FastField children> as a function in the same <FastField> component; <FastField as> will be ignored.') : invariant(false) : void 0;\n    !!(component && children && isFunction(children)) ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'You should not use <FastField component> and <FastField children> as a function in the same <FastField> component; <FastField component> will be ignored.') : invariant(false) : void 0;\n    !!(render && children && !isEmptyChildren(children)) ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'You should not use <FastField render> and <FastField children> in the same <FastField> component; <FastField children> will be ignored') : invariant(false) : void 0;\n    return _this;\n  }\n\n  var _proto = FastFieldInner.prototype;\n\n  _proto.shouldComponentUpdate = function shouldComponentUpdate(props) {\n    if (this.props.shouldUpdate) {\n      return this.props.shouldUpdate(props, this.props);\n    } else if (props.name !== this.props.name || getIn(props.formik.values, this.props.name) !== getIn(this.props.formik.values, this.props.name) || getIn(props.formik.errors, this.props.name) !== getIn(this.props.formik.errors, this.props.name) || getIn(props.formik.touched, this.props.name) !== getIn(this.props.formik.touched, this.props.name) || Object.keys(this.props).length !== Object.keys(props).length || props.formik.isSubmitting !== this.props.formik.isSubmitting) {\n      return true;\n    } else {\n      return false;\n    }\n  };\n\n  _proto.componentDidMount = function componentDidMount() {\n    // Register the Field with the parent Formik. Parent will cycle through\n    // registered Field's validate fns right prior to submit\n    this.props.formik.registerField(this.props.name, {\n      validate: this.props.validate\n    });\n  };\n\n  _proto.componentDidUpdate = function componentDidUpdate(prevProps) {\n    if (this.props.name !== prevProps.name) {\n      this.props.formik.unregisterField(prevProps.name);\n      this.props.formik.registerField(this.props.name, {\n        validate: this.props.validate\n      });\n    }\n\n    if (this.props.validate !== prevProps.validate) {\n      this.props.formik.registerField(this.props.name, {\n        validate: this.props.validate\n      });\n    }\n  };\n\n  _proto.componentWillUnmount = function componentWillUnmount() {\n    this.props.formik.unregisterField(this.props.name);\n  };\n\n  _proto.render = function render() {\n    var _this$props = this.props,\n        name = _this$props.name,\n        render = _this$props.render,\n        is = _this$props.as,\n        children = _this$props.children,\n        component = _this$props.component,\n        formik = _this$props.formik,\n        props = _objectWithoutPropertiesLoose(_this$props, [\"validate\", \"name\", \"render\", \"as\", \"children\", \"component\", \"shouldUpdate\", \"formik\"]);\n\n    var restOfFormik = _objectWithoutPropertiesLoose(formik, [\"validate\", \"validationSchema\"]);\n\n    var field = formik.getFieldProps(_extends({\n      name: name\n    }, props));\n    var meta = {\n      value: getIn(formik.values, name),\n      error: getIn(formik.errors, name),\n      touched: !!getIn(formik.touched, name),\n      initialValue: getIn(formik.initialValues, name),\n      initialTouched: !!getIn(formik.initialTouched, name),\n      initialError: getIn(formik.initialErrors, name)\n    };\n    var bag = {\n      field: field,\n      meta: meta,\n      form: restOfFormik\n    };\n\n    if (render) {\n      return render(bag);\n    }\n\n    if (isFunction(children)) {\n      return children(bag);\n    }\n\n    if (component) {\n      // This behavior is backwards compat with earlier Formik 0.9 to 1.x\n      if (typeof component === 'string') {\n        var innerRef = props.innerRef,\n            rest = _objectWithoutPropertiesLoose(props, [\"innerRef\"]);\n\n        return createElement(component, _extends({\n          ref: innerRef\n        }, field, rest), children);\n      } // We don't pass `meta` for backwards compat\n\n\n      return createElement(component, _extends({\n        field: field,\n        form: formik\n      }, props), children);\n    } // default to input here so we can check for both `as` and `children` above\n\n\n    var asElement = is || 'input';\n\n    if (typeof asElement === 'string') {\n      var _innerRef = props.innerRef,\n          _rest = _objectWithoutPropertiesLoose(props, [\"innerRef\"]);\n\n      return createElement(asElement, _extends({\n        ref: _innerRef\n      }, field, _rest), children);\n    }\n\n    return createElement(asElement, _extends({}, field, props), children);\n  };\n\n  return FastFieldInner;\n}(Component);\n\nvar FastField = /*#__PURE__*/connect(FastFieldInner);\n\nexport { ErrorMessage, FastField, Field, FieldArray, Form, Formik, FormikConsumer, FormikContext, FormikProvider, connect, getActiveElement, getIn, insert, isEmptyArray, isEmptyChildren, isFunction, isInputEvent, isInteger, isNaN$1 as isNaN, isObject, isPromise, isString, move, prepareDataForValidation, replace, setIn, setNestedObjectValues, swap, useField, useFormik, useFormikContext, validateYupSchema, withFormik, yupToFormErrors };\n//# sourceMappingURL=formik.esm.js.map\n","'use strict';\n\nvar isArray = Array.isArray;\nvar keyList = Object.keys;\nvar hasProp = Object.prototype.hasOwnProperty;\nvar hasElementType = typeof Element !== 'undefined';\n\nfunction equal(a, b) {\n  // fast-deep-equal index.js 2.0.1\n  if (a === b) return true;\n\n  if (a && b && typeof a == 'object' && typeof b == 'object') {\n    var arrA = isArray(a)\n      , arrB = isArray(b)\n      , i\n      , length\n      , key;\n\n    if (arrA && arrB) {\n      length = a.length;\n      if (length != b.length) return false;\n      for (i = length; i-- !== 0;)\n        if (!equal(a[i], b[i])) return false;\n      return true;\n    }\n\n    if (arrA != arrB) return false;\n\n    var dateA = a instanceof Date\n      , dateB = b instanceof Date;\n    if (dateA != dateB) return false;\n    if (dateA && dateB) return a.getTime() == b.getTime();\n\n    var regexpA = a instanceof RegExp\n      , regexpB = b instanceof RegExp;\n    if (regexpA != regexpB) return false;\n    if (regexpA && regexpB) return a.toString() == b.toString();\n\n    var keys = keyList(a);\n    length = keys.length;\n\n    if (length !== keyList(b).length)\n      return false;\n\n    for (i = length; i-- !== 0;)\n      if (!hasProp.call(b, keys[i])) return false;\n    // end fast-deep-equal\n\n    // start react-fast-compare\n    // custom handling for DOM elements\n    if (hasElementType && a instanceof Element && b instanceof Element)\n      return a === b;\n\n    // custom handling for React\n    for (i = length; i-- !== 0;) {\n      key = keys[i];\n      if (key === '_owner' && a.$$typeof) {\n        // React-specific: avoid traversing React elements' _owner.\n        //  _owner contains circular references\n        // and is not needed when comparing the actual elements (and not their owners)\n        // .$$typeof and ._store on just reasonable markers of a react element\n        continue;\n      } else {\n        // all other properties should be traversed as usual\n        if (!equal(a[key], b[key])) return false;\n      }\n    }\n    // end react-fast-compare\n\n    // fast-deep-equal index.js 2.0.1\n    return true;\n  }\n\n  return a !== a && b !== b;\n}\n// end fast-deep-equal\n\nmodule.exports = function exportedEqual(a, b) {\n  try {\n    return equal(a, b);\n  } catch (error) {\n    if ((error.message && error.message.match(/stack|recursion/i)) || (error.number === -2146828260)) {\n      // warn on circular references, don't crash\n      // browsers give this different errors name and messages:\n      // chrome/safari: \"RangeError\", \"Maximum call stack size exceeded\"\n      // firefox: \"InternalError\", too much recursion\"\n      // edge: \"Error\", \"Out of stack space\"\n      console.warn('Warning: react-fast-compare does not handle circular references.', error.name, error.message);\n      return false;\n    }\n    // some other error. we should definitely know about these\n    throw error;\n  }\n};\n"],"names":["isMergeableObject","value","isNonNullObject","stringValue","Object","prototype","toString","call","$$typeof","REACT_ELEMENT_TYPE","isReactElement","isSpecial","Symbol","for","cloneUnlessOtherwiseSpecified","options","clone","deepmerge","val","Array","isArray","defaultArrayMerge","target","source","concat","map","element","arrayMerge","sourceIsArray","destination","keys","forEach","key","mergeObject","all","array","Error","reduce","prev","next","_extends","assign","i","arguments","length","hasOwnProperty","apply","this","_inheritsLoose","subClass","superClass","create","constructor","__proto__","_objectWithoutPropertiesLoose","excluded","sourceKeys","indexOf","_assertThisInitialized","self","ReferenceError","FormikContext","createContext","undefined","displayName","FormikProvider","Provider","Consumer","useFormikContext","formik","useContext","isEmptyArray","isFunction","obj","isObject","isInteger","String","Math","floor","Number","isString","isEmptyChildren","children","Children","count","isPromise","then","getIn","def","p","path","toPath","setIn","res","resVal","pathArray","currentPath","currentObj","slice","nextPath","setNestedObjectValues","object","visited","response","WeakMap","_i","_Object$keys","k","get","set","emptyErrors","emptyTouched","useFormik","_ref","_ref$validateOnChange","validateOnChange","_ref$validateOnBlur","validateOnBlur","_ref$validateOnMount","validateOnMount","isInitialValid","_ref$enableReinitiali","enableReinitialize","onSubmit","rest","props","initialValues","useRef","initialErrors","initialTouched","initialStatus","isMounted","fieldRegistry","useEffect","current","setIteration","useState","stateRef","values","cloneDeep","errors","touched","status","isSubmitting","isValidating","submitCount","state","dispatch","useCallback","action","msg","type","payload","field","formikReducer","x","runValidateHandler","Promise","resolve","reject","maybePromisedErrors","validate","actualException","runValidationSchema","validationSchema","schema","promise","validateAt","sync","context","normalizedValues","prepareDataForValidation","abortEarly","validateYupSchema","err","name","yupError","inner","message","_iterator","_isArray","iterator","_ref5","done","yupToFormErrors","runSingleFieldLevelValidation","runFieldLevelValidations","fieldKeysWithValidation","filter","f","fieldValidations","fieldErrorsList","curr","index","runAllValidations","_ref2","fieldErrors","schemaErrors","validateErrors","validateFormWithHighPriority","useEventCallback","combinedErrors","resetForm","nextState","dispatchFn","onReset","maybePromisedOnReset","imperativeMethods","validateField","maybePromise","error","registerField","_ref3","unregisterField","setTouched","shouldValidate","setErrors","setValues","resolvedValues","setFieldError","setFieldValue","executeChange","eventOrTextValue","maybePath","parsed","persist","currentTarget","id","checked","outerHTML","multiple","test","parseFloat","isNaN","currentValue","valueProp","Boolean","currentArrayOfValues","isValueInArray","getValueForCheckbox","from","el","selected","getSelectedValues","handleChange","eventOrPath","event","setFieldTouched","executeBlur","e","_e$target","handleBlur","eventOrString","setFormikState","stateOrCb","setStatus","setSubmitting","submitForm","isInstanceOfError","promiseOrUndefined","executeSubmit","result","_errors","handleSubmit","preventDefault","stopPropagation","reason","console","warn","validateForm","handleReset","getFieldMeta","initialValue","initialError","getFieldHelpers","setValue","setError","getFieldProps","nameOrOptions","isAnObject","valueState","onChange","onBlur","is","as","dirty","useMemo","isValid","Formik","formikbag","component","render","innerRef","useImperativeHandle","createElement","only","data","isPlainObject","shouldClone","push","useIsomorphicLayoutEffect","window","document","useLayoutEffect","fn","ref","_len","args","_key","Field","className","meta","legacyBag","form","asElement","_innerRef","_rest","Form","forwardRef","_action","_useFormikContext","insert","arrayLike","copy","copyArrayLike","splice","maxIndex","parseInt","max","createAlterationHandler","alteration","defaultFunction","FieldArrayInner","_React$Component","_this","updateArrayField","alterTouched","alterErrors","_this$props","prevState","updateErrors","updateTouched","fieldError","fieldTouched","handlePush","swap","indexA","indexB","a","handleSwap","move","to","handleMove","handleInsert","replace","handleReplace","unshift","arr","handleUnshift","handleRemove","remove","handlePop","pop","bind","_proto","componentDidUpdate","prevProps","every","v","tmp","arrayHelpers","_this$props2","Component","defaultProps","keyList","hasProp","hasElementType","Element","equal","b","arrA","arrB","dateA","Date","dateB","getTime","regexpA","RegExp","regexpB","module","exports","match","number"],"sourceRoot":""}