@digi-frontend/dgate-api-documentation 1.0.0 → 1.0.4
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/.editorconfig +13 -0
- package/.prettierignore +8 -0
- package/.prettierrc +15 -0
- package/dist/_virtual/index5.js +1 -1
- package/dist/_virtual/index6.js +1 -1
- package/dist/a7568b270e175038.svg +8 -0
- package/dist/b82c7612e73342f3.svg +3 -0
- package/dist/node_modules/@popperjs/core/lib/createPopper.js +2 -0
- package/dist/node_modules/@popperjs/core/lib/createPopper.js.map +1 -0
- package/dist/node_modules/@popperjs/core/lib/dom-utils/contains.js +2 -0
- package/dist/node_modules/@popperjs/core/lib/dom-utils/contains.js.map +1 -0
- package/dist/node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.js +2 -0
- package/dist/node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.js.map +1 -0
- package/dist/node_modules/@popperjs/core/lib/dom-utils/getClippingRect.js +2 -0
- package/dist/node_modules/@popperjs/core/lib/dom-utils/getClippingRect.js.map +1 -0
- package/dist/node_modules/@popperjs/core/lib/dom-utils/getCompositeRect.js +2 -0
- package/dist/node_modules/@popperjs/core/lib/dom-utils/getCompositeRect.js.map +1 -0
- package/dist/node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.js +2 -0
- package/dist/node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.js.map +1 -0
- package/dist/node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js +2 -0
- package/dist/node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js.map +1 -0
- package/dist/node_modules/@popperjs/core/lib/dom-utils/getDocumentRect.js +2 -0
- package/dist/node_modules/@popperjs/core/lib/dom-utils/getDocumentRect.js.map +1 -0
- package/dist/node_modules/@popperjs/core/lib/dom-utils/getHTMLElementScroll.js +2 -0
- package/dist/node_modules/@popperjs/core/lib/dom-utils/getHTMLElementScroll.js.map +1 -0
- package/dist/node_modules/@popperjs/core/lib/dom-utils/getLayoutRect.js +2 -0
- package/dist/node_modules/@popperjs/core/lib/dom-utils/getLayoutRect.js.map +1 -0
- package/dist/node_modules/@popperjs/core/lib/dom-utils/getNodeName.js +2 -0
- package/dist/node_modules/@popperjs/core/lib/dom-utils/getNodeName.js.map +1 -0
- package/dist/node_modules/@popperjs/core/lib/dom-utils/getNodeScroll.js +2 -0
- package/dist/node_modules/@popperjs/core/lib/dom-utils/getNodeScroll.js.map +1 -0
- package/dist/node_modules/@popperjs/core/lib/dom-utils/getOffsetParent.js +2 -0
- package/dist/node_modules/@popperjs/core/lib/dom-utils/getOffsetParent.js.map +1 -0
- package/dist/node_modules/@popperjs/core/lib/dom-utils/getParentNode.js +2 -0
- package/dist/node_modules/@popperjs/core/lib/dom-utils/getParentNode.js.map +1 -0
- package/dist/node_modules/@popperjs/core/lib/dom-utils/getScrollParent.js +2 -0
- package/dist/node_modules/@popperjs/core/lib/dom-utils/getScrollParent.js.map +1 -0
- package/dist/node_modules/@popperjs/core/lib/dom-utils/getViewportRect.js +2 -0
- package/dist/node_modules/@popperjs/core/lib/dom-utils/getViewportRect.js.map +1 -0
- package/dist/node_modules/@popperjs/core/lib/dom-utils/getWindow.js +2 -0
- package/dist/node_modules/@popperjs/core/lib/dom-utils/getWindow.js.map +1 -0
- package/dist/node_modules/@popperjs/core/lib/dom-utils/getWindowScroll.js +2 -0
- package/dist/node_modules/@popperjs/core/lib/dom-utils/getWindowScroll.js.map +1 -0
- package/dist/node_modules/@popperjs/core/lib/dom-utils/getWindowScrollBarX.js +2 -0
- package/dist/node_modules/@popperjs/core/lib/dom-utils/getWindowScrollBarX.js.map +1 -0
- package/dist/node_modules/@popperjs/core/lib/dom-utils/instanceOf.js +2 -0
- package/dist/node_modules/@popperjs/core/lib/dom-utils/instanceOf.js.map +1 -0
- package/dist/node_modules/@popperjs/core/lib/dom-utils/isLayoutViewport.js +2 -0
- package/dist/node_modules/@popperjs/core/lib/dom-utils/isLayoutViewport.js.map +1 -0
- package/dist/node_modules/@popperjs/core/lib/dom-utils/isScrollParent.js +2 -0
- package/dist/node_modules/@popperjs/core/lib/dom-utils/isScrollParent.js.map +1 -0
- package/dist/node_modules/@popperjs/core/lib/dom-utils/isTableElement.js +2 -0
- package/dist/node_modules/@popperjs/core/lib/dom-utils/isTableElement.js.map +1 -0
- package/dist/node_modules/@popperjs/core/lib/dom-utils/listScrollParents.js +2 -0
- package/dist/node_modules/@popperjs/core/lib/dom-utils/listScrollParents.js.map +1 -0
- package/dist/node_modules/@popperjs/core/lib/enums.js +2 -0
- package/dist/node_modules/@popperjs/core/lib/enums.js.map +1 -0
- package/dist/node_modules/@popperjs/core/lib/modifiers/applyStyles.js +2 -0
- package/dist/node_modules/@popperjs/core/lib/modifiers/applyStyles.js.map +1 -0
- package/dist/node_modules/@popperjs/core/lib/modifiers/arrow.js +2 -0
- package/dist/node_modules/@popperjs/core/lib/modifiers/arrow.js.map +1 -0
- package/dist/node_modules/@popperjs/core/lib/modifiers/computeStyles.js +2 -0
- package/dist/node_modules/@popperjs/core/lib/modifiers/computeStyles.js.map +1 -0
- package/dist/node_modules/@popperjs/core/lib/modifiers/eventListeners.js +2 -0
- package/dist/node_modules/@popperjs/core/lib/modifiers/eventListeners.js.map +1 -0
- package/dist/node_modules/@popperjs/core/lib/modifiers/flip.js +2 -0
- package/dist/node_modules/@popperjs/core/lib/modifiers/flip.js.map +1 -0
- package/dist/node_modules/@popperjs/core/lib/modifiers/hide.js +2 -0
- package/dist/node_modules/@popperjs/core/lib/modifiers/hide.js.map +1 -0
- package/dist/node_modules/@popperjs/core/lib/modifiers/offset.js +2 -0
- package/dist/node_modules/@popperjs/core/lib/modifiers/offset.js.map +1 -0
- package/dist/node_modules/@popperjs/core/lib/modifiers/popperOffsets.js +2 -0
- package/dist/node_modules/@popperjs/core/lib/modifiers/popperOffsets.js.map +1 -0
- package/dist/node_modules/@popperjs/core/lib/modifiers/preventOverflow.js +2 -0
- package/dist/node_modules/@popperjs/core/lib/modifiers/preventOverflow.js.map +1 -0
- package/dist/node_modules/@popperjs/core/lib/popper.js +2 -0
- package/dist/node_modules/@popperjs/core/lib/popper.js.map +1 -0
- package/dist/node_modules/@popperjs/core/lib/utils/computeAutoPlacement.js +2 -0
- package/dist/node_modules/@popperjs/core/lib/utils/computeAutoPlacement.js.map +1 -0
- package/dist/node_modules/@popperjs/core/lib/utils/computeOffsets.js +2 -0
- package/dist/node_modules/@popperjs/core/lib/utils/computeOffsets.js.map +1 -0
- package/dist/node_modules/@popperjs/core/lib/utils/debounce.js +2 -0
- package/dist/node_modules/@popperjs/core/lib/utils/debounce.js.map +1 -0
- package/dist/node_modules/@popperjs/core/lib/utils/detectOverflow.js +2 -0
- package/dist/node_modules/@popperjs/core/lib/utils/detectOverflow.js.map +1 -0
- package/dist/node_modules/@popperjs/core/lib/utils/expandToHashMap.js +2 -0
- package/dist/node_modules/@popperjs/core/lib/utils/expandToHashMap.js.map +1 -0
- package/dist/node_modules/@popperjs/core/lib/utils/getAltAxis.js +2 -0
- package/dist/node_modules/@popperjs/core/lib/utils/getAltAxis.js.map +1 -0
- package/dist/node_modules/@popperjs/core/lib/utils/getBasePlacement.js +2 -0
- package/dist/node_modules/@popperjs/core/lib/utils/getBasePlacement.js.map +1 -0
- package/dist/node_modules/@popperjs/core/lib/utils/getFreshSideObject.js +2 -0
- package/dist/node_modules/@popperjs/core/lib/utils/getFreshSideObject.js.map +1 -0
- package/dist/node_modules/@popperjs/core/lib/utils/getMainAxisFromPlacement.js +2 -0
- package/dist/node_modules/@popperjs/core/lib/utils/getMainAxisFromPlacement.js.map +1 -0
- package/dist/node_modules/@popperjs/core/lib/utils/getOppositePlacement.js +2 -0
- package/dist/node_modules/@popperjs/core/lib/utils/getOppositePlacement.js.map +1 -0
- package/dist/node_modules/@popperjs/core/lib/utils/getOppositeVariationPlacement.js +2 -0
- package/dist/node_modules/@popperjs/core/lib/utils/getOppositeVariationPlacement.js.map +1 -0
- package/dist/node_modules/@popperjs/core/lib/utils/getVariation.js +2 -0
- package/dist/node_modules/@popperjs/core/lib/utils/getVariation.js.map +1 -0
- package/dist/node_modules/@popperjs/core/lib/utils/math.js +2 -0
- package/dist/node_modules/@popperjs/core/lib/utils/math.js.map +1 -0
- package/dist/node_modules/@popperjs/core/lib/utils/mergeByName.js +2 -0
- package/dist/node_modules/@popperjs/core/lib/utils/mergeByName.js.map +1 -0
- package/dist/node_modules/@popperjs/core/lib/utils/mergePaddingObject.js +2 -0
- package/dist/node_modules/@popperjs/core/lib/utils/mergePaddingObject.js.map +1 -0
- package/dist/node_modules/@popperjs/core/lib/utils/orderModifiers.js +2 -0
- package/dist/node_modules/@popperjs/core/lib/utils/orderModifiers.js.map +1 -0
- package/dist/node_modules/@popperjs/core/lib/utils/rectToClientRect.js +2 -0
- package/dist/node_modules/@popperjs/core/lib/utils/rectToClientRect.js.map +1 -0
- package/dist/node_modules/@popperjs/core/lib/utils/userAgent.js +2 -0
- package/dist/node_modules/@popperjs/core/lib/utils/userAgent.js.map +1 -0
- package/dist/node_modules/@popperjs/core/lib/utils/within.js +2 -0
- package/dist/node_modules/@popperjs/core/lib/utils/within.js.map +1 -0
- package/dist/node_modules/@tippyjs/react/dist/tippy-react.esm.js +2 -0
- package/dist/node_modules/@tippyjs/react/dist/tippy-react.esm.js.map +1 -0
- package/dist/node_modules/digitinary-ui/dist/index.js +1 -1
- package/dist/node_modules/digitinary-ui/dist/index.js.map +1 -1
- package/dist/node_modules/formik/dist/formik.esm.js +1 -1
- package/dist/node_modules/formik/dist/formik.esm.js.map +1 -1
- package/dist/node_modules/tippy.js/dist/tippy.css.js +2 -0
- package/dist/node_modules/tippy.js/dist/tippy.css.js.map +1 -0
- package/dist/node_modules/tippy.js/dist/tippy.esm.js +7 -0
- package/dist/node_modules/tippy.js/dist/tippy.esm.js.map +1 -0
- package/dist/node_modules/yup/index.esm.js +1 -1
- package/dist/node_modules/yup/index.esm.js.map +1 -1
- package/dist/src/assets/icons/AddRow.svg.js +2 -0
- package/dist/src/assets/icons/AddRow.svg.js.map +1 -0
- package/dist/src/assets/icons/deleteOutlinedIcon.svg.js +2 -0
- package/dist/src/assets/icons/deleteOutlinedIcon.svg.js.map +1 -0
- package/dist/src/components/InfoForm/InfoForm.js +1 -1
- package/dist/src/components/InfoForm/InfoForm.js.map +1 -1
- package/dist/src/components/LivePreview/LivePreview.js +2 -0
- package/dist/src/components/LivePreview/LivePreview.js.map +1 -0
- package/dist/src/components/LivePreview/LivePreview.module.scss.js +2 -0
- package/dist/src/components/LivePreview/LivePreview.module.scss.js.map +1 -0
- package/dist/src/components/MethodAccordion/MethodAccordion.js +1 -1
- package/dist/src/components/MethodAccordion/MethodAccordion.js.map +1 -1
- package/dist/src/components/SimpleLabelValue/SimpleLabelValue.js +2 -0
- package/dist/src/components/SimpleLabelValue/SimpleLabelValue.js.map +1 -0
- package/dist/src/components/Tooltip/Tooltip.js +2 -0
- package/dist/src/components/Tooltip/Tooltip.js.map +1 -0
- package/dist/src/components/dialog/index.js +2 -0
- package/dist/src/components/dialog/index.js.map +1 -0
- package/dist/src/components/table/table.js +2 -0
- package/dist/src/components/table/table.js.map +1 -0
- package/dist/src/constants/index.js +1 -1
- package/dist/src/constants/index.js.map +1 -1
- package/dist/src/helpers/layout.helper.js +2 -0
- package/dist/src/helpers/layout.helper.js.map +1 -0
- package/dist/src/helpers/methodAccordion.helper.js +2 -0
- package/dist/src/helpers/methodAccordion.helper.js.map +1 -0
- package/dist/src/layout/layout.js +1 -1
- package/dist/src/layout/layout.js.map +1 -1
- package/dist/src/layout/layout.module.css.js +1 -1
- package/dist/src/validator/form.scheme.js +2 -0
- package/dist/src/validator/form.scheme.js.map +1 -0
- package/dist/styles.css +673 -63
- package/dist/types/assets/icons/index.d.ts +2 -0
- package/dist/types/components/LivePreview/LivePreview.d.ts +7 -0
- package/dist/types/components/MethodAccordion/MethodAccordion.d.ts +8 -1
- package/dist/types/components/SimpleLabelValue/SimpleLabelValue.d.ts +11 -0
- package/dist/types/components/SimpleLabelValue/index.d.ts +1 -0
- package/dist/types/components/Tooltip/Tooltip.d.ts +19 -0
- package/dist/types/components/dialog/dialog.d.ts +41 -0
- package/dist/types/components/dialog/index.d.ts +4 -0
- package/dist/types/components/table/table.d.ts +11 -0
- package/dist/types/constants/index.d.ts +20 -4
- package/dist/types/helpers/layout.helper.d.ts +7 -0
- package/dist/types/helpers/methodAccordion.helper.d.ts +2 -0
- package/dist/types/layout/layout.d.ts +5 -1
- package/dist/types/types/layout.type.d.ts +19 -0
- package/dist/types/types/openApi.d.ts +85 -0
- package/dist/types/types/transformedOpenApi.d.ts +50 -0
- package/dist/types/validator/form.scheme.d.ts +40 -0
- package/package.json +1 -1
- package/src/assets/icons/AddRow.svg +3 -0
- package/src/assets/icons/deleteOutlinedIcon.svg +8 -0
- package/src/assets/icons/index.ts +2 -0
- package/src/components/Chips/style.scss +1 -1
- package/src/components/InfoForm/InfoForm.module.scss +1 -0
- package/src/components/InfoForm/InfoForm.tsx +94 -59
- package/src/components/LivePreview/LivePreview.module.scss +5 -0
- package/src/components/LivePreview/LivePreview.tsx +80 -0
- package/src/components/MethodAccordion/MethodAccordion.module.scss +232 -125
- package/src/components/MethodAccordion/MethodAccordion.tsx +404 -57
- package/src/components/SimpleLabelValue/SimpleLabelValue.tsx +31 -0
- package/src/components/SimpleLabelValue/index.ts +1 -0
- package/src/components/SimpleLabelValue/style.scss +30 -0
- package/src/components/Tooltip/Tooltip.scss +130 -0
- package/src/components/Tooltip/Tooltip.tsx +86 -0
- package/src/components/_global.scss +338 -0
- package/src/components/dialog/dialog.ts +54 -0
- package/src/components/dialog/index.tsx +85 -0
- package/src/components/dialog/style.scss +104 -0
- package/src/components/table/style.scss +179 -0
- package/src/components/table/table.tsx +307 -0
- package/src/constants/index.ts +23 -6
- package/src/helpers/layout.helper.ts +118 -0
- package/src/helpers/methodAccordion.helper.ts +20 -0
- package/src/layout/layout.module.css +1 -0
- package/src/layout/layout.tsx +57 -9
- package/src/types/index.ts +0 -20
- package/src/types/layout.type.ts +22 -0
- package/src/types/openApi.ts +95 -0
- package/src/types/transformedOpenApi.ts +52 -0
- package/src/validator/form.scheme.ts +70 -0
- package/tsconfig.json +4 -1
- package/dist/src/components/Button/Button.js +0 -2
- package/dist/src/components/Button/Button.js.map +0 -1
- package/dist/src/components/Button/Button.module.css.js +0 -2
- package/dist/src/components/Button/Button.module.css.js.map +0 -1
- package/dist/types/components/Button/Button.d.ts +0 -7
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"formik.esm.js","sources":["../../../../node_modules/formik/dist/formik.esm.js"],"sourcesContent":["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"],"names":["_extends","Object","assign","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","this","_objectWithoutPropertiesLoose","excluded","sourceKeys","keys","indexOf","_assertThisInitialized","self","ReferenceError","FormikContext","createContext","undefined","useFormikContext","formik","useContext","process","env","NODE_ENV","invariant","displayName","Provider","Consumer","isEmptyArray","value","Array","isArray","isFunction","obj","isObject","isInteger","String","Math","floor","Number","isString","toString","isEmptyChildren","children","Children","count","isPromise","then","getActiveElement","doc","document","activeElement","body","e","getIn","def","p","path","toPath","setIn","res","clone","resVal","pathArray","currentPath","currentObj","slice","nextPath","setNestedObjectValues","object","visited","response","WeakMap","_i","_Object$keys","k","val","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","prev","msg","type","payload","isEqual","field","formikReducer","x","runValidateHandler","Promise","resolve","reject","maybePromisedErrors","validate","actualException","console","warn","runValidationSchema","validationSchema","schema","promise","validateAt","validateYupSchema","err","name","yupToFormErrors","runSingleFieldLevelValidation","runFieldLevelValidations","fieldKeysWithValidation","filter","f","fieldValidations","map","all","fieldErrorsList","reduce","curr","index","runAllValidations","_ref2","fieldErrors","schemaErrors","validateErrors","deepmerge","arrayMerge","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","options","multiple","warnAboutMissingIdentifier","htmlContent","documentationAnchorLink","handlerName","test","parseFloat","isNaN","currentValue","valueProp","Boolean","currentArrayOfValues","isValueInArray","concat","getValueForCheckbox","from","el","selected","getSelectedValues","handleChange","eventOrPath","event","setFieldTouched","executeBlur","_e$target","handleBlur","eventOrString","setFormikState","stateOrCb","setStatus","setSubmitting","submitForm","isInstanceOfError","Error","promiseOrUndefined","executeSubmit","result","_errors","handleSubmit","preventDefault","stopPropagation","HTMLButtonElement","attributes","getNamedItem","reason","validateForm","handleReset","getFieldMeta","initialValue","initialError","getFieldHelpers","setValue","setError","getFieldProps","nameOrOptions","isAnObject","valueState","onChange","onBlur","is","as","dirty","useMemo","isValid","_ref4","yupError","inner","message","_iterator","_isArray","Symbol","iterator","_ref5","next","done","sync","context","normalizedValues","prepareDataForValidation","abortEarly","data","isPlainObject","destination","forEach","shouldClone","isMergeableObject","push","useIsomorphicLayoutEffect","window","createElement","useLayoutEffect","fn","ref","_len","args","_key","Form","forwardRef","_action","_useFormikContext","move","array","to","copy","copyArrayLike","splice","swap","arrayLike","indexA","indexB","a","insert","replace","maxIndex","parseInt","max","createAlterationHandler","alteration","defaultFunction","_React$Component","subClass","superClass","FieldArrayInner","_this","updateArrayField","alterTouched","alterErrors","_this$props","prevState","updateErrors","updateTouched","fieldError","fieldTouched","handlePush","handleSwap","handleMove","handleInsert","handleReplace","unshift","arr","handleUnshift","handleRemove","remove","handlePop","pop","bind","create","constructor","__proto__","_proto","componentDidUpdate","prevProps","every","v","tmp","render","arrayHelpers","_this$props2","component","form","only","Component","defaultProps"],"mappings":"klBAUA,SAASA,IAeP,OAdAA,EAAWC,OAAOC,QAAU,SAAUC,GACpC,IAAK,IAAIC,EAAI,EAAGA,EAAIC,UAAUC,OAAQF,IAAK,CACzC,IAAIG,EAASF,UAAUD,GAEvB,IAAK,IAAII,KAAOD,EACVN,OAAOQ,UAAUC,eAAeC,KAAKJ,EAAQC,KAC/CL,EAAOK,GAAOD,EAAOC,GAG1B,CAED,OAAOL,CACX,EAESH,EAASY,MAAMC,KAAMR,UAC9B,CAQA,SAASS,EAA8BP,EAAQQ,GAC7C,GAAc,MAAVR,EAAgB,MAAO,GAC3B,IAEIC,EAAKJ,EAFLD,EAAS,CAAA,EACTa,EAAaf,OAAOgB,KAAKV,GAG7B,IAAKH,EAAI,EAAGA,EAAIY,EAAWV,OAAQF,IACjCI,EAAMQ,EAAWZ,GACbW,EAASG,QAAQV,IAAQ,IAC7BL,EAAOK,GAAOD,EAAOC,IAGvB,OAAOL,CACT,CAEA,SAASgB,EAAuBC,GAC9B,QAAa,IAATA,EACF,MAAM,IAAIC,eAAe,6DAG3B,OAAOD,CACT,CAEG,IAACE,EAA6BC,OAAcC,GAI/C,SAASC,IACP,IAAIC,EAASC,EAAWL,GAExB,OADGI,IAAkC,eAAzBE,QAAQC,IAAIC,SAA4BC,GAAU,EAAO,mHAAqHA,GAAU,IAC7LL,CACT,CAPAJ,EAAcU,YAAc,gBACPV,EAAcW,SACdX,EAAcY,SAShC,IAACC,EAAe,SAAsBC,GACvC,OAAOC,MAAMC,QAAQF,IAA2B,IAAjBA,EAAM9B,MACvC,EAGIiC,EAAa,SAAoBC,GACnC,MAAsB,mBAARA,CAChB,EAGIC,EAAW,SAAkBD,GAC/B,OAAe,OAARA,GAA+B,iBAARA,CAChC,EAGIE,EAAY,SAAmBF,GACjC,OAAOG,OAAOC,KAAKC,MAAMC,OAAON,OAAWA,CAC7C,EAGIO,EAAW,SAAkBP,GAC/B,MAA+C,oBAAxCvC,OAAOQ,UAAUuC,SAASrC,KAAK6B,EACxC,EASIS,EAAkB,SAAyBC,GAC7C,OAAoC,IAA7BC,EAASC,MAAMF,EACxB,EAGIG,EAAY,SAAmBjB,GACjC,OAAOK,EAASL,IAAUG,EAAWH,EAAMkB,KAC7C,EAkBA,SAASC,EAAiBC,GAGxB,QAAmB,KAFnBA,EAAMA,IAA4B,oBAAbC,SAA2BA,cAAWjC,IAGzD,OAAO,KAGT,IACE,OAAOgC,EAAIE,eAAiBF,EAAIG,IACjC,CAAC,MAAOC,GACP,OAAOJ,EAAIG,IACZ,CACH,CAKA,SAASE,EAAMrB,EAAKhC,EAAKsD,EAAKC,QAClB,IAANA,IACFA,EAAI,GAKN,IAFA,IAAIC,EAAOC,EAAOzD,GAEXgC,GAAOuB,EAAIC,EAAK1D,QACrBkC,EAAMA,EAAIwB,EAAKD,MAIjB,OAAIA,IAAMC,EAAK1D,QAAWkC,OAIXhB,IAARgB,EAAoBsB,EAAMtB,EAHxBsB,CAIX,CA0BA,SAASI,EAAM1B,EAAKwB,EAAM5B,GAOxB,IANA,IAAI+B,EAAMC,EAAM5B,GAEZ6B,EAASF,EACT/D,EAAI,EACJkE,EAAYL,EAAOD,GAEhB5D,EAAIkE,EAAUhE,OAAS,EAAGF,IAAK,CACpC,IAAImE,EAAcD,EAAUlE,GACxBoE,EAAaX,EAAMrB,EAAK8B,EAAUG,MAAM,EAAGrE,EAAI,IAEnD,GAAIoE,IAAe/B,EAAS+B,IAAenC,MAAMC,QAAQkC,IACvDH,EAASA,EAAOE,GAAeH,EAAMI,OAChC,CACL,IAAIE,EAAWJ,EAAUlE,EAAI,GAC7BiE,EAASA,EAAOE,GAAe7B,EAAUgC,IAAa5B,OAAO4B,IAAa,EAAI,GAAK,CAAA,CACpF,CACF,CAGD,OAAW,IAANtE,EAAUoC,EAAM6B,GAAQC,EAAUlE,MAAQgC,EACtCI,QAGKhB,IAAVY,SACKiC,EAAOC,EAAUlE,IAExBiE,EAAOC,EAAUlE,IAAMgC,EAKf,IAANhC,QAAqBoB,IAAVY,UACN+B,EAAIG,EAAUlE,IAGhB+D,EACT,CASA,SAASQ,EAAsBC,EAAQxC,EAAOyC,EAASC,QACrC,IAAZD,IACFA,EAAU,IAAIE,cAGC,IAAbD,IACFA,EAAW,CAAA,GAGb,IAAK,IAAIE,EAAK,EAAGC,EAAehF,OAAOgB,KAAK2D,GAASI,EAAKC,EAAa3E,OAAQ0E,IAAM,CACnF,IAAIE,EAAID,EAAaD,GACjBG,EAAMP,EAAOM,GAEbzC,EAAS0C,GACNN,EAAQO,IAAID,KACfN,EAAQQ,IAAIF,GAAK,GAIjBL,EAASI,GAAK7C,MAAMC,QAAQ6C,GAAO,GAAK,GACxCR,EAAsBQ,EAAK/C,EAAOyC,EAASC,EAASI,KAGtDJ,EAASI,GAAK9C,CAEjB,CAED,OAAO0C,CACT,CAkFA,IAAIQ,EAAc,CAAA,EACdC,EAAe,CAAA,EACnB,SAASC,EAAUC,GACjB,IAAIC,EAAwBD,EAAKE,iBAC7BA,OAA6C,IAA1BD,GAA0CA,EAC7DE,EAAsBH,EAAKI,eAC3BA,OAAyC,IAAxBD,GAAwCA,EACzDE,EAAuBL,EAAKM,gBAC5BA,OAA2C,IAAzBD,GAA0CA,EAC5DE,EAAiBP,EAAKO,eACtBC,EAAwBR,EAAKS,mBAC7BA,OAA+C,IAA1BD,GAA2CA,EAChEE,EAAWV,EAAKU,SAChBC,EAAOtF,EAA8B2E,EAAM,CAAC,mBAAoB,iBAAkB,kBAAmB,iBAAkB,qBAAsB,aAE7IY,EAAQrG,EAAS,CACnB2F,iBAAkBA,EAClBE,eAAgBA,EAChBE,gBAAiBA,EACjBI,SAAUA,GACTC,GAECE,EAAgBC,EAAOF,EAAMC,eAC7BE,EAAgBD,EAAOF,EAAMG,eAAiBlB,GAC9CmB,EAAiBF,EAAOF,EAAMI,gBAAkBlB,GAChDmB,EAAgBH,EAAOF,EAAMK,eAC7BC,EAAYJ,GAAO,GACnBK,EAAgBL,EAAO,CAAA,GAEE,eAAzB3E,QAAQC,IAAIC,UAEd+E,GAAU,gBACoB,IAAnBb,IAA2D,eAAzBpE,QAAQC,IAAIC,SAA4BC,GAAU,EAAO,6IAA+IA,GAAU,GAC9P,GAAE,IAGL8E,GAAU,WAER,OADAF,EAAUG,SAAU,EACb,WACLH,EAAUG,SAAU,CAC1B,CACG,GAAE,IAEH,IACIC,EADkBC,EAAS,GACI,GAE/BC,EAAWV,EAAO,CACpBW,OAAQC,EAAUd,EAAMC,eACxBc,OAAQD,EAAUd,EAAMG,gBAAkBlB,EAC1C+B,QAASF,EAAUd,EAAMI,iBAAmBlB,EAC5C+B,OAAQH,EAAUd,EAAMK,eACxBa,cAAc,EACdC,cAAc,EACdC,YAAa,IAEXC,EAAQT,EAASH,QACjBa,EAAWC,GAAY,SAAUC,GACnC,IAAIC,EAAOb,EAASH,QACpBG,EAASH,QA1Ib,SAAuBY,EAAOK,GAC5B,OAAQA,EAAIC,MACV,IAAK,aACH,OAAOhI,EAAS,CAAE,EAAE0H,EAAO,CACzBR,OAAQa,EAAIE,UAGhB,IAAK,cACH,OAAOjI,EAAS,CAAE,EAAE0H,EAAO,CACzBL,QAASU,EAAIE,UAGjB,IAAK,aACH,OAAIC,EAAQR,EAAMN,OAAQW,EAAIE,SACrBP,EAGF1H,EAAS,CAAE,EAAE0H,EAAO,CACzBN,OAAQW,EAAIE,UAGhB,IAAK,aACH,OAAOjI,EAAS,CAAE,EAAE0H,EAAO,CACzBJ,OAAQS,EAAIE,UAGhB,IAAK,mBACH,OAAOjI,EAAS,CAAE,EAAE0H,EAAO,CACzBH,aAAcQ,EAAIE,UAGtB,IAAK,mBACH,OAAOjI,EAAS,CAAE,EAAE0H,EAAO,CACzBF,aAAcO,EAAIE,UAGtB,IAAK,kBACH,OAAOjI,EAAS,CAAE,EAAE0H,EAAO,CACzBR,OAAQhD,EAAMwD,EAAMR,OAAQa,EAAIE,QAAQE,MAAOJ,EAAIE,QAAQ7F,SAG/D,IAAK,oBACH,OAAOpC,EAAS,CAAE,EAAE0H,EAAO,CACzBL,QAASnD,EAAMwD,EAAML,QAASU,EAAIE,QAAQE,MAAOJ,EAAIE,QAAQ7F,SAGjE,IAAK,kBACH,OAAOpC,EAAS,CAAE,EAAE0H,EAAO,CACzBN,OAAQlD,EAAMwD,EAAMN,OAAQW,EAAIE,QAAQE,MAAOJ,EAAIE,QAAQ7F,SAG/D,IAAK,aACH,OAAOpC,EAAS,CAAE,EAAE0H,EAAOK,EAAIE,SAEjC,IAAK,mBACH,OAAOF,EAAIE,QAAQP,GAErB,IAAK,iBACH,OAAO1H,EAAS,CAAE,EAAE0H,EAAO,CACzBL,QAAS1C,EAAsB+C,EAAMR,QAAQ,GAC7CK,cAAc,EACdE,YAAaC,EAAMD,YAAc,IAGrC,IAAK,iBAKL,IAAK,iBACH,OAAOzH,EAAS,CAAE,EAAE0H,EAAO,CACzBH,cAAc,IAGlB,QACE,OAAOG,EAEb,CA6DuBU,CAAcN,EAAMD,GAEnCC,IAASb,EAASH,SAASC,GAAa,SAAUsB,GACpD,OAAOA,EAAI,CACjB,GACG,GAAE,IACCC,EAAqBV,GAAY,SAAUV,EAAQiB,GACrD,OAAO,IAAII,SAAQ,SAAUC,EAASC,GACpC,IAAIC,EAAsBrC,EAAMsC,SAASzB,EAAQiB,GAEtB,MAAvBO,EAEFF,EAAQlD,GACCjC,EAAUqF,GACnBA,EAAoBpF,MAAK,SAAU8D,GACjCoB,EAAQpB,GAAU9B,EACnB,IAAE,SAAUsD,GACkB,eAAzBhH,QAAQC,IAAIC,UACd+G,QAAQC,KAAK,kFAAmFF,GAGlGH,EAAOG,EACjB,IAEQJ,EAAQE,EAEhB,GACA,GAAK,CAACrC,EAAMsC,WAKNI,EAAsBnB,GAAY,SAAUV,EAAQiB,GACtD,IAAIa,EAAmB3C,EAAM2C,iBACzBC,EAAS1G,EAAWyG,GAAoBA,EAAiBb,GAASa,EAClEE,EAAUf,GAASc,EAAOE,WAAaF,EAAOE,WAAWhB,EAAOjB,GAAUkC,EAAkBlC,EAAQ+B,GACxG,OAAO,IAAIV,SAAQ,SAAUC,EAASC,GACpCS,EAAQ5F,MAAK,WACXkF,EAAQlD,EACT,IAAE,SAAU+D,GAKM,oBAAbA,EAAIC,KACNd,EAAQe,EAAgBF,KAGK,eAAzBzH,QAAQC,IAAIC,UACd+G,QAAQC,KAAK,0FAA2FO,GAG1GZ,EAAOY,GAEjB,GACA,GACA,GAAK,CAAChD,EAAM2C,mBACNQ,EAAgC5B,GAAY,SAAUO,EAAO/F,GAC/D,OAAO,IAAImG,SAAQ,SAAUC,GAC3B,OAAOA,EAAQ5B,EAAcE,QAAQqB,GAAOQ,SAASvG,GAC3D,GACG,GAAE,IACCqH,EAA2B7B,GAAY,SAAUV,GACnD,IAAIwC,EAA0BzJ,OAAOgB,KAAK2F,EAAcE,SAAS6C,QAAO,SAAUC,GAChF,OAAOrH,EAAWqE,EAAcE,QAAQ8C,GAAGjB,SACjD,IAEQkB,EAAmBH,EAAwBpJ,OAAS,EAAIoJ,EAAwBI,KAAI,SAAUF,GAChG,OAAOJ,EAA8BI,EAAG/F,EAAMqD,EAAQ0C,GACvD,IAAI,CAACrB,QAAQC,QAAQ,oCAEtB,OAAOD,QAAQwB,IAAIF,GAAkBvG,MAAK,SAAU0G,GAClD,OAAOA,EAAgBC,QAAO,SAAUnC,EAAMoC,EAAMC,GAClD,MAAa,oCAATD,GAIAA,IACFpC,EAAO5D,EAAM4D,EAAM4B,EAAwBS,GAAQD,IAJ5CpC,CAQV,GAAE,CAAE,EACX,GACA,GAAK,CAAC0B,IAEAY,EAAoBxC,GAAY,SAAUV,GAC5C,OAAOqB,QAAQwB,IAAI,CAACN,EAAyBvC,GAASb,EAAM2C,iBAAmBD,EAAoB7B,GAAU,CAAA,EAAIb,EAAMsC,SAAWL,EAAmBpB,GAAU,CAAA,IAAK5D,MAAK,SAAU+G,GACjL,IAAIC,EAAcD,EAAM,GACpBE,EAAeF,EAAM,GACrBG,EAAiBH,EAAM,GAI3B,OAHqBI,EAAUV,IAAI,CAACO,EAAaC,EAAcC,GAAiB,CAC9EE,WAAYA,GAGpB,GACA,GAAK,CAACrE,EAAMsC,SAAUtC,EAAM2C,iBAAkBS,EAA0BnB,EAAoBS,IAEtF4B,GAA+BC,GAAiB,SAAU1D,GAS5D,YARe,IAAXA,IACFA,EAASQ,EAAMR,QAGjBS,EAAS,CACPK,KAAM,mBACNC,SAAS,IAEJmC,EAAkBlD,GAAQ5D,MAAK,SAAUuH,GAY9C,OAXMlE,EAAUG,UACda,EAAS,CACPK,KAAM,mBACNC,SAAS,IAEXN,EAAS,CACPK,KAAM,aACNC,QAAS4C,KAINA,CACb,GACA,IACEhE,GAAU,WACJd,IAAyC,IAAtBY,EAAUG,SAAoBoB,EAAQ5B,EAAcQ,QAAST,EAAMC,gBACxFqE,GAA6BrE,EAAcQ,QAEjD,GAAK,CAACf,EAAiB4E,KACrB,IAAIG,GAAYlD,GAAY,SAAUmD,GACpC,IAAI7D,EAAS6D,GAAaA,EAAU7D,OAAS6D,EAAU7D,OAASZ,EAAcQ,QAC1EM,EAAS2D,GAAaA,EAAU3D,OAAS2D,EAAU3D,OAASZ,EAAcM,QAAUN,EAAcM,QAAUT,EAAMG,eAAiB,CAAA,EACnIa,EAAU0D,GAAaA,EAAU1D,QAAU0D,EAAU1D,QAAUZ,EAAeK,QAAUL,EAAeK,QAAUT,EAAMI,gBAAkB,CAAA,EACzIa,EAASyD,GAAaA,EAAUzD,OAASyD,EAAUzD,OAASZ,EAAcI,QAAUJ,EAAcI,QAAUT,EAAMK,cACtHJ,EAAcQ,QAAUI,EACxBV,EAAcM,QAAUM,EACxBX,EAAeK,QAAUO,EACzBX,EAAcI,QAAUQ,EAExB,IAAI0D,EAAa,WACfrD,EAAS,CACPK,KAAM,aACNC,QAAS,CACPV,eAAgBwD,KAAeA,EAAUxD,aACzCH,OAAQA,EACRC,QAASA,EACTC,OAAQA,EACRJ,OAAQA,EACRM,eAAgBuD,KAAeA,EAAUvD,aACzCC,YAAesD,GAAeA,EAAUtD,aAAgD,iBAA1BsD,EAAUtD,YAA2BsD,EAAUtD,YAAc,IAGrI,EAEI,GAAIpB,EAAM4E,QAAS,CACjB,IAAIC,EAAuB7E,EAAM4E,QAAQvD,EAAMR,OAAQiE,IAEnD9H,EAAU6H,GACZA,EAAqB5H,KAAK0H,GAE1BA,GAER,MACMA,GAEN,GAAK,CAAC3E,EAAMG,cAAeH,EAAMK,cAAeL,EAAMI,eAAgBJ,EAAM4E,UAC1EpE,GAAU,YACkB,IAAtBF,EAAUG,SAAqBoB,EAAQ5B,EAAcQ,QAAST,EAAMC,gBAClEJ,IACFI,EAAcQ,QAAUT,EAAMC,cAC9BwE,KAEI/E,GACF4E,GAA6BrE,EAAcQ,SAIrD,GAAK,CAACZ,EAAoBG,EAAMC,cAAewE,GAAW/E,EAAiB4E,KACzE9D,GAAU,WACJX,IAA4C,IAAtBS,EAAUG,UAAqBoB,EAAQ1B,EAAcM,QAAST,EAAMG,iBAC5FA,EAAcM,QAAUT,EAAMG,eAAiBlB,EAC/CqC,EAAS,CACPK,KAAM,aACNC,QAAS5B,EAAMG,eAAiBlB,IAGrC,GAAE,CAACY,EAAoBG,EAAMG,gBAC9BK,GAAU,WACJX,IAA4C,IAAtBS,EAAUG,UAAqBoB,EAAQzB,EAAeK,QAAST,EAAMI,kBAC7FA,EAAeK,QAAUT,EAAMI,gBAAkBlB,EACjDoC,EAAS,CACPK,KAAM,cACNC,QAAS5B,EAAMI,gBAAkBlB,IAGtC,GAAE,CAACW,EAAoBG,EAAMI,iBAC9BI,GAAU,WACJX,IAA4C,IAAtBS,EAAUG,UAAqBoB,EAAQxB,EAAcI,QAAST,EAAMK,iBAC5FA,EAAcI,QAAUT,EAAMK,cAC9BiB,EAAS,CACPK,KAAM,aACNC,QAAS5B,EAAMK,gBAGvB,GAAK,CAACR,EAAoBG,EAAMK,cAAeL,EAAMI,iBACnD,IAAI2E,GAAgBR,GAAiB,SAAUtB,GAI7C,GAAI1C,EAAcE,QAAQwC,IAAS/G,EAAWqE,EAAcE,QAAQwC,GAAMX,UAAW,CACnF,IAAIvG,EAAQyB,EAAM6D,EAAMR,OAAQoC,GAC5B+B,EAAezE,EAAcE,QAAQwC,GAAMX,SAASvG,GAExD,OAAIiB,EAAUgI,IAEZ1D,EAAS,CACPK,KAAM,mBACNC,SAAS,IAEJoD,EAAa/H,MAAK,SAAU+E,GACjC,OAAOA,CACjB,IAAW/E,MAAK,SAAUgI,GAChB3D,EAAS,CACPK,KAAM,kBACNC,QAAS,CACPE,MAAOmB,EACPlH,MAAOkJ,KAGX3D,EAAS,CACPK,KAAM,mBACNC,SAAS,GAErB,MAEQN,EAAS,CACPK,KAAM,kBACNC,QAAS,CACPE,MAAOmB,EACPlH,MAAOiJ,KAGJ9C,QAAQC,QAAQ6C,GAE/B,CAAW,OAAIhF,EAAM2C,kBACfrB,EAAS,CACPK,KAAM,mBACNC,SAAS,IAEJc,EAAoBrB,EAAMR,OAAQoC,GAAMhG,MAAK,SAAU+E,GAC5D,OAAOA,CACf,IAAS/E,MAAK,SAAUgI,GAChB3D,EAAS,CACPK,KAAM,kBACNC,QAAS,CACPE,MAAOmB,EACPlH,MAAOyB,EAAMyH,EAAOhC,MAGxB3B,EAAS,CACPK,KAAM,mBACNC,SAAS,GAEnB,KAGWM,QAAQC,SACnB,IACM+C,GAAgB3D,GAAY,SAAU0B,EAAMkC,GAC9C,IAAI7C,EAAW6C,EAAM7C,SACrB/B,EAAcE,QAAQwC,GAAQ,CAC5BX,SAAUA,EAEb,GAAE,IACC8C,GAAkB7D,GAAY,SAAU0B,UACnC1C,EAAcE,QAAQwC,EAC9B,GAAE,IACCoC,GAAad,GAAiB,SAAUvD,EAASsE,GAMnD,OALAhE,EAAS,CACPK,KAAM,cACNC,QAASZ,UAE2B7F,IAAnBmK,EAA+B9F,EAAiB8F,GAC7ChB,GAA6BjD,EAAMR,QAAUqB,QAAQC,SAC/E,IACMoD,GAAYhE,GAAY,SAAUR,GACpCO,EAAS,CACPK,KAAM,aACNC,QAASb,GAEZ,GAAE,IACCyE,GAAYjB,GAAiB,SAAU1D,EAAQyE,GACjD,IAAIG,EAAiBvJ,EAAW2E,GAAUA,EAAOQ,EAAMR,QAAUA,EAMjE,OALAS,EAAS,CACPK,KAAM,aACNC,QAAS6D,UAE2BtK,IAAnBmK,EAA+BhG,EAAmBgG,GAC/ChB,GAA6BmB,GAAkBvD,QAAQC,SACjF,IACMuD,GAAgBnE,GAAY,SAAUO,EAAO/F,GAC/CuF,EAAS,CACPK,KAAM,kBACNC,QAAS,CACPE,MAAOA,EACP/F,MAAOA,IAGZ,GAAE,IACC4J,GAAgBpB,GAAiB,SAAUzC,EAAO/F,EAAOuJ,GAS3D,OARAhE,EAAS,CACPK,KAAM,kBACNC,QAAS,CACPE,MAAOA,EACP/F,MAAOA,WAG2BZ,IAAnBmK,EAA+BhG,EAAmBgG,GAC/ChB,GAA6BzG,EAAMwD,EAAMR,OAAQiB,EAAO/F,IAAUmG,QAAQC,SACpG,IACMyD,GAAgBrE,GAAY,SAAUsE,EAAkBC,GAI1D,IAEIC,EAFAjE,EAAQgE,EACRhH,EAAM+G,EAIV,IAAKnJ,EAASmJ,GAAmB,CAG3BA,EAAiBG,SACnBH,EAAiBG,UAGnB,IAAIlM,EAAS+L,EAAiB/L,OAAS+L,EAAiB/L,OAAS+L,EAAiBI,cAC9EtE,EAAO7H,EAAO6H,KACdsB,EAAOnJ,EAAOmJ,KACdiD,EAAKpM,EAAOoM,GACZnK,EAAQjC,EAAOiC,MACfoK,EAAUrM,EAAOqM,QACjBC,EAAYtM,EAAOsM,UACnBC,EAAUvM,EAAOuM,QACjBC,EAAWxM,EAAOwM,UACtBxE,EAAQgE,IAAwB7C,GAAciD,KAEP,eAAzB3K,QAAQC,IAAIC,UACxB8K,EAA2B,CACzBC,YAAaJ,EACbK,wBAAyB,2CACzBC,YAAa,iBAIjB5H,EAAM,eAAe6H,KAAKhF,IAASoE,EAASa,WAAW7K,GAAQ8K,MAAMd,GAAU,GAAKA,GAAU,WAAWY,KAAKhF,GA2cpH,SAA6BmF,EAAcX,EAASY,GAElD,GAA4B,kBAAjBD,EACT,OAAOE,QAAQb,GAIjB,IAAIc,EAAuB,GACvBC,GAAiB,EACjBpD,GAAS,EAEb,GAAK9H,MAAMC,QAAQ6K,GAOjBG,EAAuBH,EAEvBI,GADApD,EAAQgD,EAAajM,QAAQkM,KACH,OAP1B,IAAKA,GAA0B,QAAbA,GAAoC,SAAbA,EACvC,OAAOC,QAAQb,GAUnB,GAAIA,GAAWY,IAAcG,EAC3B,OAAOD,EAAqBE,OAAOJ,GAIrC,IAAKG,EACH,OAAOD,EAIT,OAAOA,EAAqB7I,MAAM,EAAG0F,GAAOqD,OAAOF,EAAqB7I,MAAM0F,EAAQ,GACxF,CA7eQsD,CAAoB5J,EAAM6D,EAAMR,OAAQiB,GAAQqE,EAASpK,GAASsK,GAAWC,EAgcrF,SAA2BD,GACzB,OAAOrK,MAAMqL,KAAKhB,GAAS/C,QAAO,SAAUgE,GAC1C,OAAOA,EAAGC,QACd,IAAK9D,KAAI,SAAU6D,GACf,OAAOA,EAAGvL,KACd,GACA,CArcQyL,CAAkBnB,GAAWtK,CAChC,CAEG+F,GAEF6D,GAAc7D,EAAOhD,EAExB,GAAE,CAAC6G,GAAetE,EAAMR,SACrB4G,GAAelD,GAAiB,SAAUmD,GAC5C,GAAIhL,EAASgL,GACX,OAAO,SAAUC,GACf,OAAO/B,GAAc+B,EAAOD,EACpC,EAEM9B,GAAc8B,EAEpB,IACME,GAAkBrD,GAAiB,SAAUzC,EAAOd,EAASsE,GAa/D,YAZgB,IAAZtE,IACFA,GAAU,GAGZM,EAAS,CACPK,KAAM,oBACNC,QAAS,CACPE,MAAOA,EACP/F,MAAOiF,WAG2B7F,IAAnBmK,EAA+B9F,EAAiB8F,GAC7ChB,GAA6BjD,EAAMR,QAAUqB,QAAQC,SAC/E,IACM0F,GAActG,GAAY,SAAUhE,EAAGI,GACrCJ,EAAEyI,SACJzI,EAAEyI,UAGJ,IAAI8B,EAAYvK,EAAEzD,OACdmJ,EAAO6E,EAAU7E,KACjBiD,EAAK4B,EAAU5B,GACfE,EAAY0B,EAAU1B,UACtBtE,EAAQnE,IAAcsF,GAAciD,GAEnCpE,GAAkC,eAAzBvG,QAAQC,IAAIC,UACxB8K,EAA2B,CACzBC,YAAaJ,EACbK,wBAAyB,yBACzBC,YAAa,eAIjBkB,GAAgB9F,GAAO,EAC3B,GAAK,CAAC8F,KACAG,GAAaxD,GAAiB,SAAUyD,GAC1C,GAAItL,EAASsL,GACX,OAAO,SAAUL,GACf,OAAOE,GAAYF,EAAOK,EAClC,EAEMH,GAAYG,EAElB,IACMC,GAAiB1G,GAAY,SAAU2G,GACrChM,EAAWgM,GACb5G,EAAS,CACPK,KAAM,mBACNC,QAASsG,IAGX5G,EAAS,CACPK,KAAM,mBACNC,QAAS,WACP,OAAOsG,CACR,GAGN,GAAE,IACCC,GAAY5G,GAAY,SAAUN,GACpCK,EAAS,CACPK,KAAM,aACNC,QAASX,GAEZ,GAAE,IACCmH,GAAgB7G,GAAY,SAAUL,GACxCI,EAAS,CACPK,KAAM,mBACNC,QAASV,GAEZ,GAAE,IACCmH,GAAa9D,GAAiB,WAIhC,OAHAjD,EAAS,CACPK,KAAM,mBAED2C,KAA+BrH,MAAK,SAAUuH,GAOnD,IAAI8D,EAAoB9D,aAA0B+D,MAGlD,IAFuBD,GAA4D,IAAvC1O,OAAOgB,KAAK4J,GAAgBvK,OAEnD,CAWnB,IAAIuO,EAEJ,IAIE,QAA2BrN,KAH3BqN,EAAqBC,MAInB,MAEH,CAAC,MAAOxD,GACP,MAAMA,CACP,CAED,OAAO/C,QAAQC,QAAQqG,GAAoBvL,MAAK,SAAUyL,GAOxD,OANMpI,EAAUG,SACda,EAAS,CACPK,KAAM,mBAIH+G,CACjB,IAAkB,OAAE,SAAUC,GACpB,GAAMrI,EAAUG,QAMd,MALAa,EAAS,CACPK,KAAM,mBAIFgH,CAElB,GACA,CAAa,GAAMrI,EAAUG,UAErBa,EAAS,CACPK,KAAM,mBAGJ2G,GACF,MAAM9D,CAKhB,GACA,IACMoE,GAAerE,GAAiB,SAAUhH,GAa5C,GAZIA,GAAKA,EAAEsL,gBAAkB3M,EAAWqB,EAAEsL,iBACxCtL,EAAEsL,iBAGAtL,GAAKA,EAAEuL,iBAAmB5M,EAAWqB,EAAEuL,kBACzCvL,EAAEuL,kBAOyB,eAAzBvN,QAAQC,IAAIC,UAAiD,oBAAb2B,SAA0B,CAE5E,IAAIC,EAAgBH,IAEE,OAAlBG,GAA0BA,aAAyB0L,oBACnD1L,EAAc2L,YAAc3L,EAAc2L,WAAWC,aAAa,UAAoC,eAAzB1N,QAAQC,IAAIC,SAA4BC,GAAU,EAAO,2MAA6MA,GAAU,IAElW,CAED2M,KAAoB,OAAE,SAAUa,GAC9B1G,QAAQC,KAAK,2DAA4DyG,EAC/E,GACA,IACMpE,GAAoB,CACtBL,UAAWA,GACX0E,aAAc7E,GACdS,cAAeA,GACfQ,UAAWA,GACXG,cAAeA,GACfkC,gBAAiBA,GACjBjC,cAAeA,GACfwC,UAAWA,GACXC,cAAeA,GACf/C,WAAYA,GACZG,UAAWA,GACXyC,eAAgBA,GAChBI,WAAYA,IAEVI,GAAgBlE,GAAiB,WACnC,OAAOzE,EAASuB,EAAMR,OAAQiE,GAClC,IACMsE,GAAc7E,GAAiB,SAAUhH,GACvCA,GAAKA,EAAEsL,gBAAkB3M,EAAWqB,EAAEsL,iBACxCtL,EAAEsL,iBAGAtL,GAAKA,EAAEuL,iBAAmB5M,EAAWqB,EAAEuL,kBACzCvL,EAAEuL,kBAGJrE,IACJ,IACM4E,GAAe9H,GAAY,SAAU0B,GACvC,MAAO,CACLlH,MAAOyB,EAAM6D,EAAMR,OAAQoC,GAC3BgC,MAAOzH,EAAM6D,EAAMN,OAAQkC,GAC3BjC,UAAWxD,EAAM6D,EAAML,QAASiC,GAChCqG,aAAc9L,EAAMyC,EAAcQ,QAASwC,GAC3C7C,iBAAkB5C,EAAM4C,EAAeK,QAASwC,GAChDsG,aAAc/L,EAAM2C,EAAcM,QAASwC,GAEjD,GAAK,CAAC5B,EAAMN,OAAQM,EAAML,QAASK,EAAMR,SACnC2I,GAAkBjI,GAAY,SAAU0B,GAC1C,MAAO,CACLwG,SAAU,SAAkB1N,EAAOuJ,GACjC,OAAOK,GAAc1C,EAAMlH,EAAOuJ,EACnC,EACDD,WAAY,SAAoBtJ,EAAOuJ,GACrC,OAAOsC,GAAgB3E,EAAMlH,EAAOuJ,EACrC,EACDoE,SAAU,SAAkB3N,GAC1B,OAAO2J,GAAczC,EAAMlH,EAC5B,EAEJ,GAAE,CAAC4J,GAAeiC,GAAiBlC,KAChCiE,GAAgBpI,GAAY,SAAUqI,GACxC,IAAIC,EAAazN,EAASwN,GACtB3G,EAAO4G,EAAaD,EAAc3G,KAAO2G,EACzCE,EAAatM,EAAM6D,EAAMR,OAAQoC,GACjCnB,EAAQ,CACVmB,KAAMA,EACNlH,MAAO+N,EACPC,SAAUtC,GACVuC,OAAQjC,IAGV,GAAI8B,EAAY,CACd,IAAIlI,EAAOiI,EAAcjI,KACrBoF,EAAY6C,EAAc7N,MAC1BkO,EAAKL,EAAcM,GACnB5D,EAAWsD,EAActD,SAEhB,aAAT3E,OACgBxG,IAAd4L,EACFjF,EAAMqE,UAAY2D,GAElBhI,EAAMqE,WAAanK,MAAMC,QAAQ6N,MAAgBA,EAAWjP,QAAQkM,IACpEjF,EAAM/F,MAAQgL,GAEE,UAATpF,GACTG,EAAMqE,QAAU2D,IAAe/C,EAC/BjF,EAAM/F,MAAQgL,GACE,WAAPkD,GAAmB3D,IAC5BxE,EAAM/F,MAAQ+F,EAAM/F,OAAS,GAC7B+F,EAAMwE,UAAW,EAEpB,CAED,OAAOxE,CACR,GAAE,CAACiG,GAAYN,GAAcpG,EAAMR,SAChCsJ,GAAQC,GAAQ,WAClB,OAAQvI,EAAQ5B,EAAcQ,QAASY,EAAMR,OAC9C,GAAE,CAACZ,EAAcQ,QAASY,EAAMR,SAC7BwJ,GAAUD,GAAQ,WACpB,YAAiC,IAAnBzK,EAAiCwK,GAAQ9I,EAAMN,QAA+C,IAArCnH,OAAOgB,KAAKyG,EAAMN,QAAQ9G,QAAkC,IAAnB0F,GAA4BzD,EAAWyD,GAAkBA,EAAeK,GAASL,EAAiB0B,EAAMN,QAA+C,IAArCnH,OAAOgB,KAAKyG,EAAMN,QAAQ9G,MAChQ,GAAK,CAAC0F,EAAgBwK,GAAO9I,EAAMN,OAAQf,IAoCzC,OAlCUrG,EAAS,CAAE,EAAE0H,EAAO,CAC5BpB,cAAeA,EAAcQ,QAC7BN,cAAeA,EAAcM,QAC7BL,eAAgBA,EAAeK,QAC/BJ,cAAeA,EAAcI,QAC7BsH,WAAYA,GACZN,aAAcA,GACd2B,YAAaA,GACbR,aAAcA,GACdnE,UAAWA,GACXc,UAAWA,GACX0C,eAAgBA,GAChBL,gBAAiBA,GACjBjC,cAAeA,GACfD,cAAeA,GACfyC,UAAWA,GACXC,cAAeA,GACf/C,WAAYA,GACZG,UAAWA,GACX6C,WAAYA,GACZc,aAAc7E,GACdS,cAAeA,GACfsF,QAASA,GACTF,MAAOA,GACP/E,gBAAiBA,GACjBF,cAAeA,GACfyE,cAAeA,GACfN,aAAcA,GACdG,gBAAiBA,GACjBhK,eAAgBA,EAChBF,iBAAkBA,EAClBI,gBAAiBA,GAIrB,CAyBA,SAAS6G,EAA2B+D,GAClC,IAAI9D,EAAc8D,EAAM9D,YACpBC,EAA0B6D,EAAM7D,wBAChCC,EAAc4D,EAAM5D,YACxBlE,QAAQC,KAAK,2BAA6BiE,EAAc,6EAA+EF,EAAc,6GAA+GC,EAA0B,OAChS,CAMA,SAASvD,EAAgBqH,GACvB,IAAIxJ,EAAS,CAAA,EAEb,GAAIwJ,EAASC,MAAO,CAClB,GAA8B,IAA1BD,EAASC,MAAMvQ,OACjB,OAAO4D,EAAMkD,EAAQwJ,EAAS5M,KAAM4M,EAASE,SAG1C,IAAIC,EAAYH,EAASC,MAAOG,EAAW3O,MAAMC,QAAQyO,GAAY/L,EAAK,EAA/E,IAAkF+L,EAAYC,EAAWD,EAAYA,EAAUE,OAAOC,cAAe,CACnJ,IAAIC,EAEJ,GAAIH,EAAU,CACZ,GAAIhM,GAAM+L,EAAUzQ,OAAQ,MAC5B6Q,EAAQJ,EAAU/L,IAC1B,KAAa,CAEL,IADAA,EAAK+L,EAAUK,QACRC,KAAM,MACbF,EAAQnM,EAAG5C,KACZ,CAED,IAAIiH,EAAM8H,EAELtN,EAAMuD,EAAQiC,EAAIrF,QACrBoD,EAASlD,EAAMkD,EAAQiC,EAAIrF,KAAMqF,EAAIyH,SAExC,CACF,CAED,OAAO1J,CACT,CAKA,SAASgC,EAAkBlC,EAAQ+B,EAAQqI,EAAMC,QAClC,IAATD,IACFA,GAAO,GAGT,IAAIE,EAAmBC,EAAyBvK,GAChD,OAAO+B,EAAOqI,EAAO,eAAiB,YAAYE,EAAkB,CAClEE,YAAY,EACZH,QAASA,GAAWC,GAExB,CAKA,SAASC,EAAyBvK,GAChC,IAAIyK,EAAOtP,MAAMC,QAAQ4E,GAAU,GAAK,GAExC,IAAK,IAAIhC,KAAKgC,EACZ,GAAIjH,OAAOQ,UAAUC,eAAeC,KAAKuG,EAAQhC,GAAI,CACnD,IAAI1E,EAAMmC,OAAOuC,IAEkB,IAA/B7C,MAAMC,QAAQ4E,EAAO1G,IACvBmR,EAAKnR,GAAO0G,EAAO1G,GAAKsJ,KAAI,SAAU1H,GACpC,OAA6B,IAAzBC,MAAMC,QAAQF,IAAmBwP,EAAcxP,GAC1CqP,EAAyBrP,GAEf,KAAVA,EAAeA,OAAQZ,CAE1C,IACiBoQ,EAAc1K,EAAO1G,IAC9BmR,EAAKnR,GAAOiR,EAAyBvK,EAAO1G,IAE5CmR,EAAKnR,GAAuB,KAAhB0G,EAAO1G,GAAc0G,EAAO1G,QAAOgB,CAElD,CAGH,OAAOmQ,CACT,CAMA,SAASjH,EAAWvK,EAAQI,EAAQmM,GAClC,IAAImF,EAAc1R,EAAOsE,QAYzB,OAXAlE,EAAOuR,SAAQ,SAAelO,EAAGxD,GAC/B,QAA8B,IAAnByR,EAAYzR,GAAoB,CACzC,IACI2R,GADmC,IAAlBrF,EAAQtI,OACOsI,EAAQsF,kBAAkBpO,GAC9DiO,EAAYzR,GAAK2R,EAActH,EAAUpI,MAAMC,QAAQsB,GAAK,GAAK,CAAE,EAAEA,EAAG8I,GAAW9I,CACpF,MAAU8I,EAAQsF,kBAAkBpO,GACnCiO,EAAYzR,GAAKqK,EAAUtK,EAAOC,GAAIwD,EAAG8I,IACT,IAAvBvM,EAAOe,QAAQ0C,IACxBiO,EAAYI,KAAKrO,EAEvB,IACSiO,CACT,CAuDA,IAAIK,EAA8C,oBAAXC,aAAqD,IAApBA,OAAO1O,eAAqE,IAAlC0O,OAAO1O,SAAS2O,cAAgCC,EAAkBxL,EAEpL,SAAS+D,EAAiB0H,GACxB,IAAIC,EAAMhM,EAAO+L,GAKjB,OAHAJ,GAA0B,WACxBK,EAAIzL,QAAUwL,CAClB,IACS1K,GAAY,WACjB,IAAK,IAAI4K,EAAOnS,UAAUC,OAAQmS,EAAO,IAAIpQ,MAAMmQ,GAAOE,EAAO,EAAGA,EAAOF,EAAME,IAC/ED,EAAKC,GAAQrS,UAAUqS,GAGzB,OAAOH,EAAIzL,QAAQlG,WAAM,EAAQ6R,EAClC,GAAE,GACL,CAwIG,IAACE,EAAoBC,GAAW,SAAUvM,EAAOkM,GAGlD,IAAI1K,EAASxB,EAAMwB,OACfzB,EAAOtF,EAA8BuF,EAAO,CAAC,WAE7CwM,EAAoB,MAAVhL,EAAiBA,EAAS,IAEpCiL,EAAoBrR,IACpBgO,EAAcqD,EAAkBrD,YAChCR,EAAe6D,EAAkB7D,aAErC,OAAOmD,EAAc,OAAQpS,EAAS,CACpCmG,SAAU8I,EACVsD,IAAKA,EACLtH,QAASwE,EACT5H,OAAQgL,GACPzM,GACL,IACAuM,EAAK3Q,YAAc,OAqHhB,IAAC+Q,EAAO,SAAcC,EAAOtF,EAAMuF,GACpC,IAAIC,EAAOC,EAAcH,GACrB5Q,EAAQ8Q,EAAKxF,GAGjB,OAFAwF,EAAKE,OAAO1F,EAAM,GAClBwF,EAAKE,OAAOH,EAAI,EAAG7Q,GACZ8Q,CACT,EACIG,EAAO,SAAcC,EAAWC,EAAQC,GAC1C,IAAIN,EAAOC,EAAcG,GACrBG,EAAIP,EAAKK,GAGb,OAFAL,EAAKK,GAAUL,EAAKM,GACpBN,EAAKM,GAAUC,EACRP,CACT,EACIQ,EAAS,SAAgBJ,EAAWnJ,EAAO/H,GAC7C,IAAI8Q,EAAOC,EAAcG,GAEzB,OADAJ,EAAKE,OAAOjJ,EAAO,EAAG/H,GACf8Q,CACT,EACIS,EAAU,SAAiBL,EAAWnJ,EAAO/H,GAC/C,IAAI8Q,EAAOC,EAAcG,GAEzB,OADAJ,EAAK/I,GAAS/H,EACP8Q,CACT,EAEIC,EAAgB,SAAuBG,GACzC,GAAKA,EAEE,IAAIjR,MAAMC,QAAQgR,GACvB,MAAO,GAAG9F,OAAO8F,GAEjB,IAAIM,EAAW3T,OAAOgB,KAAKqS,GAAWxJ,KAAI,SAAUtJ,GAClD,OAAOqT,SAASrT,EACjB,IAAEyJ,QAAO,SAAU6J,EAAKnG,GACvB,OAAOA,EAAKmG,EAAMnG,EAAKmG,CACxB,GAAE,GACH,OAAOzR,MAAMqL,KAAK1N,EAAS,CAAA,EAAIsT,EAAW,CACxChT,OAAQsT,EAAW,IAEtB,CAZC,MAAO,EAaX,EAEIG,EAA0B,SAAiCC,EAAYC,GACzE,IAAI3B,EAA2B,mBAAf0B,EAA4BA,EAAaC,EACzD,OAAO,SAAUtC,GACf,GAAItP,MAAMC,QAAQqP,IAASlP,EAASkP,GAAO,CACzC,IAAIvN,EAAQ+O,EAAcxB,GAC1B,OAAOW,EAAGlO,EACX,CAID,OAAOuN,CACX,CACA,GAEmC,SAAUuC,GA/hD7C,IAAwBC,EAAUC,EAkiDhC,SAASC,EAAgBhO,GACvB,IAAIiO,EAsIJ,OApIAA,EAAQJ,EAAiBvT,KAAKE,KAAMwF,IAAUxF,MAGxC0T,iBAAmB,SAAUjC,EAAIkC,EAAcC,GACnD,IAAIC,EAAcJ,EAAMjO,MACpBiD,EAAOoL,EAAYpL,MAEvBgF,EADqBoG,EAAYhT,OAAO4M,iBACzB,SAAUqG,GACvB,IAAIC,EAAeb,EAAwBU,EAAanC,GACpDuC,EAAgBd,EAAwBS,EAAclC,GAGtDpL,EAAShD,EAAMyQ,EAAUzN,OAAQoC,EAAMgJ,EAAGzO,EAAM8Q,EAAUzN,OAAQoC,KAClEwL,EAAaL,EAAcG,EAAa/Q,EAAM8Q,EAAUvN,OAAQkC,SAAS9H,EACzEuT,EAAeP,EAAeK,EAAchR,EAAM8Q,EAAUtN,QAASiC,SAAS9H,EAUlF,OARIW,EAAa2S,KACfA,OAAatT,GAGXW,EAAa4S,KACfA,OAAevT,GAGVxB,EAAS,CAAE,EAAE2U,EAAW,CAC7BzN,OAAQA,EACRE,OAAQqN,EAAcvQ,EAAMyQ,EAAUvN,OAAQkC,EAAMwL,GAAcH,EAAUvN,OAC5EC,QAASmN,EAAetQ,EAAMyQ,EAAUtN,QAASiC,EAAMyL,GAAgBJ,EAAUtN,SAE3F,GACA,EAEIiN,EAAMrC,KAAO,SAAU7P,GACrB,OAAOkS,EAAMC,kBAAiB,SAAUjB,GACtC,MAAO,GAAG9F,OAAO2F,EAAcG,GAAY,CAACnM,EAAU/E,IAC9D,IAAS,GAAO,EAChB,EAEIkS,EAAMU,WAAa,SAAU5S,GAC3B,OAAO,WACL,OAAOkS,EAAMrC,KAAK7P,EAC1B,CACA,EAEIkS,EAAMjB,KAAO,SAAUE,EAAQC,GAC7B,OAAOc,EAAMC,kBAAiB,SAAUvB,GACtC,OAAOK,EAAKL,EAAOO,EAAQC,EACnC,IAAS,GAAM,EACf,EAEIc,EAAMW,WAAa,SAAU1B,EAAQC,GACnC,OAAO,WACL,OAAOc,EAAMjB,KAAKE,EAAQC,EAClC,CACA,EAEIc,EAAMvB,KAAO,SAAUrF,EAAMuF,GAC3B,OAAOqB,EAAMC,kBAAiB,SAAUvB,GACtC,OAAOD,EAAKC,EAAOtF,EAAMuF,EACjC,IAAS,GAAM,EACf,EAEIqB,EAAMY,WAAa,SAAUxH,EAAMuF,GACjC,OAAO,WACL,OAAOqB,EAAMvB,KAAKrF,EAAMuF,EAChC,CACA,EAEIqB,EAAMZ,OAAS,SAAUvJ,EAAO/H,GAC9B,OAAOkS,EAAMC,kBAAiB,SAAUvB,GACtC,OAAOU,EAAOV,EAAO7I,EAAO/H,EAC7B,IAAE,SAAU4Q,GACX,OAAOU,EAAOV,EAAO7I,EAAO,KAC7B,IAAE,SAAU6I,GACX,OAAOU,EAAOV,EAAO7I,EAAO,KACpC,GACA,EAEImK,EAAMa,aAAe,SAAUhL,EAAO/H,GACpC,OAAO,WACL,OAAOkS,EAAMZ,OAAOvJ,EAAO/H,EACnC,CACA,EAEIkS,EAAMX,QAAU,SAAUxJ,EAAO/H,GAC/B,OAAOkS,EAAMC,kBAAiB,SAAUvB,GACtC,OAAOW,EAAQX,EAAO7I,EAAO/H,EACrC,IAAS,GAAO,EAChB,EAEIkS,EAAMc,cAAgB,SAAUjL,EAAO/H,GACrC,OAAO,WACL,OAAOkS,EAAMX,QAAQxJ,EAAO/H,EACpC,CACA,EAEIkS,EAAMe,QAAU,SAAUjT,GACxB,IAAI9B,GAAU,EAYd,OAVAgU,EAAMC,kBAAiB,SAAUvB,GAC/B,IAAIsC,EAAMtC,EAAQ,CAAC5Q,GAAOoL,OAAOwF,GAAS,CAAC5Q,GAE3C,OADA9B,EAASgV,EAAIhV,OACNgV,CACR,IAAE,SAAUtC,GACX,OAAOA,EAAQ,CAAC,MAAMxF,OAAOwF,GAAS,CAAC,KACxC,IAAE,SAAUA,GACX,OAAOA,EAAQ,CAAC,MAAMxF,OAAOwF,GAAS,CAAC,KAC/C,IAEa1S,CACb,EAEIgU,EAAMiB,cAAgB,SAAUnT,GAC9B,OAAO,WACL,OAAOkS,EAAMe,QAAQjT,EAC7B,CACA,EAEIkS,EAAMkB,aAAe,SAAUrL,GAC7B,OAAO,WACL,OAAOmK,EAAMmB,OAAOtL,EAC5B,CACA,EAEImK,EAAMoB,UAAY,WAChB,OAAO,WACL,OAAOpB,EAAMqB,KACrB,CACA,EAEIrB,EAAMmB,OAASnB,EAAMmB,OAAOG,KAAKzU,EAAuBmT,IACxDA,EAAMqB,IAAMrB,EAAMqB,IAAIC,KAAKzU,EAAuBmT,IAC3CA,CACR,CA1qD+BF,EAgiDAF,GAhiDVC,EAgiDPE,GA/hDN5T,UAAYR,OAAO4V,OAAOzB,EAAW3T,WAC9C0T,EAAS1T,UAAUqV,YAAc3B,EACjCA,EAAS4B,UAAY3B,EAyqDrB,IAAI4B,EAAS3B,EAAgB5T,UAoF7B,OAlFAuV,EAAOC,mBAAqB,SAA4BC,GAClDrV,KAAKwF,MAAMV,kBAAoB9E,KAAKwF,MAAM3E,OAAOiE,mBAAqBuC,EAAQrE,EAAMqS,EAAUxU,OAAOwF,OAAQgP,EAAU5M,MAAOzF,EAAMhD,KAAKwF,MAAM3E,OAAOwF,OAAQrG,KAAKwF,MAAMiD,QAC3KzI,KAAKwF,MAAM3E,OAAO8N,aAAa3O,KAAKwF,MAAM3E,OAAOwF,OAEvD,EAEE8O,EAAOP,OAAS,SAAgBtL,GAE9B,IAAI4E,EAkBJ,OAjBAlO,KAAK0T,kBACL,SAAUvB,GACR,IAAIE,EAAOF,EAAQG,EAAcH,GAAS,GAW1C,OATKjE,IACHA,EAASmE,EAAK/I,IAGZ5H,EAAW2Q,EAAKE,SAClBF,EAAKE,OAAOjJ,EAAO,GAId5H,EAAW2Q,EAAKiD,QAASjD,EAAKiD,OAAM,SAAUC,GACnD,YAAa5U,IAAN4U,CACf,IAAW,GAAYlD,CACvB,IAAO,GAAM,GACFnE,CACX,EAEEiH,EAAOL,IAAM,WAEX,IAAI5G,EAWJ,OAVAlO,KAAK0T,kBACL,SAAUvB,GACR,IAAIqD,EAAMrD,EAAMvO,QAMhB,OAJKsK,IACHA,EAASsH,GAAOA,EAAIV,KAAOU,EAAIV,OAG1BU,CACb,IAAO,GAAM,GACFtH,CACX,EAEEiH,EAAOM,OAAS,WACd,IAAIC,EAAe,CACjBtE,KAAMpR,KAAKoR,KACX0D,IAAK9U,KAAK8U,IACVtC,KAAMxS,KAAKwS,KACXN,KAAMlS,KAAKkS,KACXW,OAAQ7S,KAAK6S,OACbC,QAAS9S,KAAK8S,QACd0B,QAASxU,KAAKwU,QACdI,OAAQ5U,KAAK4U,OACbT,WAAYnU,KAAKmU,WACjBU,UAAW7U,KAAK6U,UAChBT,WAAYpU,KAAKoU,WACjBC,WAAYrU,KAAKqU,WACjBC,aAActU,KAAKsU,aACnBC,cAAevU,KAAKuU,cACpBG,cAAe1U,KAAK0U,cACpBC,aAAc3U,KAAK2U,cAGjBgB,EAAe3V,KAAKwF,MACpBoQ,EAAYD,EAAaC,UACzBH,EAASE,EAAaF,OACtBpT,EAAWsT,EAAatT,SACxBoG,EAAOkN,EAAalN,KAIpBjD,EAAQrG,EAAS,CAAE,EAAEuW,EAAc,CACrCG,KAHiB5V,EADO0V,EAAa9U,OAC+B,CAAC,WAAY,qBAIjF4H,KAAMA,IAGR,OAAOmN,EAAYrE,EAAcqE,EAAWpQ,GAASiQ,EAASA,EAAOjQ,GAASnD,EACxD,mBAAbA,EAA0BA,EAASmD,GAAUpD,EAAgBC,GAAsC,KAA1BC,EAASwT,KAAKzT,GAAmB,IACvH,EAESmR,CACT,CAlOmC,CAkOjCuC,IAEcC,aAAe,CAC7BlR,kBAAkB"}
|
|
1
|
+
{"version":3,"file":"formik.esm.js","sources":["../../../../node_modules/formik/dist/formik.esm.js"],"sourcesContent":["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"],"names":["_extends","Object","assign","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","this","_objectWithoutPropertiesLoose","excluded","sourceKeys","keys","indexOf","_assertThisInitialized","self","ReferenceError","FormikContext","createContext","undefined","displayName","FormikProvider","Provider","useFormikContext","formik","useContext","process","env","NODE_ENV","invariant","Consumer","isEmptyArray","value","Array","isArray","isFunction","obj","isObject","isInteger","String","Math","floor","Number","isString","toString","isEmptyChildren","children","Children","count","isPromise","then","getActiveElement","doc","document","activeElement","body","e","getIn","def","p","path","toPath","setIn","res","clone","resVal","pathArray","currentPath","currentObj","slice","nextPath","setNestedObjectValues","object","visited","response","WeakMap","_i","_Object$keys","k","val","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","prev","msg","type","payload","isEqual","field","formikReducer","x","runValidateHandler","Promise","resolve","reject","maybePromisedErrors","validate","actualException","console","warn","runValidationSchema","validationSchema","schema","promise","validateAt","validateYupSchema","err","name","yupToFormErrors","runSingleFieldLevelValidation","runFieldLevelValidations","fieldKeysWithValidation","filter","f","fieldValidations","map","all","fieldErrorsList","reduce","curr","index","runAllValidations","_ref2","fieldErrors","schemaErrors","validateErrors","deepmerge","arrayMerge","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","options","multiple","warnAboutMissingIdentifier","htmlContent","documentationAnchorLink","handlerName","test","parseFloat","isNaN","currentValue","valueProp","Boolean","currentArrayOfValues","isValueInArray","concat","getValueForCheckbox","from","el","selected","getSelectedValues","handleChange","eventOrPath","event","setFieldTouched","executeBlur","_e$target","handleBlur","eventOrString","setFormikState","stateOrCb","setStatus","setSubmitting","submitForm","isInstanceOfError","Error","promiseOrUndefined","executeSubmit","result","_errors","handleSubmit","preventDefault","stopPropagation","HTMLButtonElement","attributes","getNamedItem","reason","validateForm","handleReset","getFieldMeta","initialValue","initialError","getFieldHelpers","setValue","setError","getFieldProps","nameOrOptions","isAnObject","valueState","onChange","onBlur","is","as","dirty","useMemo","isValid","_ref4","yupError","inner","message","_iterator","_isArray","Symbol","iterator","_ref5","next","done","sync","context","normalizedValues","prepareDataForValidation","abortEarly","data","isPlainObject","destination","forEach","shouldClone","isMergeableObject","push","useIsomorphicLayoutEffect","window","createElement","useLayoutEffect","fn","ref","_len","args","_key","Form","forwardRef","_action","_useFormikContext","move","array","to","copy","copyArrayLike","splice","swap","arrayLike","indexA","indexB","a","insert","replace","maxIndex","parseInt","max","createAlterationHandler","alteration","defaultFunction","_React$Component","subClass","superClass","FieldArrayInner","_this","updateArrayField","alterTouched","alterErrors","_this$props","prevState","updateErrors","updateTouched","fieldError","fieldTouched","handlePush","handleSwap","handleMove","handleInsert","handleReplace","unshift","arr","handleUnshift","handleRemove","remove","handlePop","pop","bind","create","constructor","__proto__","_proto","componentDidUpdate","prevProps","every","v","tmp","render","arrayHelpers","_this$props2","component","form","only","Component","defaultProps"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import t from"../../style-inject/dist/style-inject.es.js";var o='.tippy-box[data-animation=fade][data-state=hidden]{opacity:0}[data-tippy-root]{max-width:calc(100vw - 10px)}.tippy-box{background-color:#333;border-radius:4px;color:#fff;font-size:14px;line-height:1.4;outline:0;position:relative;transition-property:transform,visibility,opacity;white-space:normal}.tippy-box[data-placement^=top]>.tippy-arrow{bottom:0}.tippy-box[data-placement^=top]>.tippy-arrow:before{border-top-color:initial;border-width:8px 8px 0;bottom:-7px;left:0;transform-origin:center top}.tippy-box[data-placement^=bottom]>.tippy-arrow{top:0}.tippy-box[data-placement^=bottom]>.tippy-arrow:before{border-bottom-color:initial;border-width:0 8px 8px;left:0;top:-7px;transform-origin:center bottom}.tippy-box[data-placement^=left]>.tippy-arrow{right:0}.tippy-box[data-placement^=left]>.tippy-arrow:before{border-left-color:initial;border-width:8px 0 8px 8px;right:-7px;transform-origin:center left}.tippy-box[data-placement^=right]>.tippy-arrow{left:0}.tippy-box[data-placement^=right]>.tippy-arrow:before{border-right-color:initial;border-width:8px 8px 8px 0;left:-7px;transform-origin:center right}.tippy-box[data-inertia][data-state=visible]{transition-timing-function:cubic-bezier(.54,1.5,.38,1.11)}.tippy-arrow{color:#333;height:16px;width:16px}.tippy-arrow:before{border-color:transparent;border-style:solid;content:"";position:absolute}.tippy-content{padding:5px 9px;position:relative;z-index:1}';t(o);export{o as default};
|
|
2
|
+
//# sourceMappingURL=tippy.css.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tippy.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import e from"../../@popperjs/core/lib/modifiers/applyStyles.js";import{createPopper as t}from"../../@popperjs/core/lib/popper.js";
|
|
2
|
+
/**!
|
|
3
|
+
* tippy.js v6.3.7
|
|
4
|
+
* (c) 2017-2021 atomiks
|
|
5
|
+
* MIT License
|
|
6
|
+
*/var n="tippy-content",i="tippy-arrow",o="tippy-svg-arrow",r={passive:!0,capture:!0},a=function(){return document.body};function s(e,t,n){if(Array.isArray(e)){var i=e[t];return null==i?Array.isArray(n)?n[t]:n:i}return e}function c(e,t){var n={}.toString.call(e);return 0===n.indexOf("[object")&&n.indexOf(t+"]")>-1}function p(e,t){return"function"==typeof e?e.apply(void 0,t):e}function u(e,t){return 0===t?e:function(i){clearTimeout(n),n=setTimeout((function(){e(i)}),t)};var n}function d(e){return[].concat(e)}function l(e,t){-1===e.indexOf(t)&&e.push(t)}function f(e){return[].slice.call(e)}function v(e){return Object.keys(e).reduce((function(t,n){return void 0!==e[n]&&(t[n]=e[n]),t}),{})}function m(){return document.createElement("div")}function h(e){return["Element","Fragment"].some((function(t){return c(e,t)}))}function y(e){return h(e)?[e]:function(e){return c(e,"NodeList")}(e)?f(e):Array.isArray(e)?e:f(document.querySelectorAll(e))}function b(e,t){e.forEach((function(e){e&&(e.style.transitionDuration=t+"ms")}))}function g(e,t){e.forEach((function(e){e&&e.setAttribute("data-state",t)}))}function E(e,t,n){var i=t+"EventListener";["transitionend","webkitTransitionEnd"].forEach((function(t){e[i](t,n)}))}function w(e,t){for(var n=t;n;){var i;if(e.contains(n))return!0;n=null==n.getRootNode||null==(i=n.getRootNode())?void 0:i.host}return!1}var O={isTouch:!1},T=0;function x(){O.isTouch||(O.isTouch=!0,window.performance&&document.addEventListener("mousemove",A))}function A(){var e=performance.now();e-T<20&&(O.isTouch=!1,document.removeEventListener("mousemove",A)),T=e}function D(){var e,t=document.activeElement;if((e=t)&&e._tippy&&e._tippy.reference===e){var n=t._tippy;t.blur&&!n.state.isVisible&&t.blur()}}var N,j=!!("undefined"!=typeof window&&"undefined"!=typeof document)&&!!window.msCrypto;function L(e){return[e+"() was called on a"+("destroy"===e?"n already-":" ")+"destroyed instance. This is a no-op but","indicates a potential memory leak."].join(" ")}function V(e){return e.replace(/[ \t]{2,}/g," ").replace(/^[ \t]*/gm,"").trim()}function C(e){return V("\n %ctippy.js\n\n %c"+V(e)+"\n\n %c👷 This is a development-only message. It will be removed in production.\n ")}function k(e){return[C(e),"color: #00C584; font-size: 1.3em; font-weight: bold;","line-height: 1.5","color: #a6a095;"]}function S(e,t){var n;e&&!N.has(t)&&(N.add(t),(n=console).warn.apply(n,k(t)))}function _(e,t){var n;e&&!N.has(t)&&(N.add(t),(n=console).error.apply(n,k(t)))}"production"!==process.env.NODE_ENV&&(N=new Set);var I={animateFill:!1,followCursor:!1,inlinePositioning:!1,sticky:!1},M=Object.assign({appendTo:a,aria:{content:"auto",expanded:"auto"},delay:0,duration:[300,250],getReferenceClientRect:null,hideOnClick:!0,ignoreAttributes:!1,interactive:!1,interactiveBorder:2,interactiveDebounce:0,moveTransition:"",offset:[0,10],onAfterUpdate:function(){},onBeforeUpdate:function(){},onCreate:function(){},onDestroy:function(){},onHidden:function(){},onHide:function(){},onMount:function(){},onShow:function(){},onShown:function(){},onTrigger:function(){},onUntrigger:function(){},onClickOutside:function(){},placement:"top",plugins:[],popperOptions:{},render:null,showOnCreate:!1,touch:!0,trigger:"mouseenter focus",triggerTarget:null},I,{allowHTML:!1,animation:"fade",arrow:!0,content:"",inertia:!1,maxWidth:350,role:"tooltip",theme:"",zIndex:9999}),H=Object.keys(M);function U(e){var t=(e.plugins||[]).reduce((function(t,n){var i,o=n.name,r=n.defaultValue;o&&(t[o]=void 0!==e[o]?e[o]:null!=(i=M[o])?i:r);return t}),{});return Object.assign({},e,t)}function R(e,t){var n=Object.assign({},t,{content:p(t.content,[e])},t.ignoreAttributes?{}:function(e,t){return(t?Object.keys(U(Object.assign({},M,{plugins:t}))):H).reduce((function(t,n){var i=(e.getAttribute("data-tippy-"+n)||"").trim();if(!i)return t;if("content"===n)t[n]=i;else try{t[n]=JSON.parse(i)}catch(e){t[n]=i}return t}),{})}(e,t.plugins));return n.aria=Object.assign({},M.aria,n.aria),n.aria={expanded:"auto"===n.aria.expanded?t.interactive:n.aria.expanded,content:"auto"===n.aria.content?t.interactive?null:"describedby":n.aria.content},n}function P(e,t){void 0===e&&(e={}),void 0===t&&(t=[]),Object.keys(e).forEach((function(e){var n,i,o=function(e,t){var n=Object.assign({},e);return t.forEach((function(e){delete n[e]})),n}(M,Object.keys(I)),r=(n=o,i=e,!{}.hasOwnProperty.call(n,i));r&&(r=0===t.filter((function(t){return t.name===e})).length),S(r,["`"+e+"`","is not a valid prop. You may have spelled it incorrectly, or if it's","a plugin, forgot to pass it in an array as props.plugins.","\n\n","All props: https://atomiks.github.io/tippyjs/v6/all-props/\n","Plugins: https://atomiks.github.io/tippyjs/v6/plugins/"].join(" "))}))}function W(e,t){e.innerHTML=t}function B(e){var t=m();return!0===e?t.className=i:(t.className=o,h(e)?t.appendChild(e):W(t,e)),t}function F(e,t){h(t.content)?(W(e,""),e.appendChild(t.content)):"function"!=typeof t.content&&(t.allowHTML?W(e,t.content):e.textContent=t.content)}function $(e){var t=e.firstElementChild,r=f(t.children);return{box:t,content:r.find((function(e){return e.classList.contains(n)})),arrow:r.find((function(e){return e.classList.contains(i)||e.classList.contains(o)})),backdrop:r.find((function(e){return e.classList.contains("tippy-backdrop")}))}}function q(e){var t=m(),i=m();i.className="tippy-box",i.setAttribute("data-state","hidden"),i.setAttribute("tabindex","-1");var o=m();function r(n,i){var o=$(t),r=o.box,a=o.content,s=o.arrow;i.theme?r.setAttribute("data-theme",i.theme):r.removeAttribute("data-theme"),"string"==typeof i.animation?r.setAttribute("data-animation",i.animation):r.removeAttribute("data-animation"),i.inertia?r.setAttribute("data-inertia",""):r.removeAttribute("data-inertia"),r.style.maxWidth="number"==typeof i.maxWidth?i.maxWidth+"px":i.maxWidth,i.role?r.setAttribute("role",i.role):r.removeAttribute("role"),n.content===i.content&&n.allowHTML===i.allowHTML||F(a,e.props),i.arrow?s?n.arrow!==i.arrow&&(r.removeChild(s),r.appendChild(B(i.arrow))):r.appendChild(B(i.arrow)):s&&r.removeChild(s)}return o.className=n,o.setAttribute("data-state","hidden"),F(o,e.props),t.appendChild(i),i.appendChild(o),r(e.props,e.props),{popper:t,onUpdate:r}}q.$$tippy=!0;var z=1,Y=[],J=[];function X(e,n){var i,o,h,y,T,x,A,D,N=R(e,Object.assign({},M,U(v(n)))),V=!1,C=!1,k=!1,I=!1,H=[],P=u(we,N.interactiveDebounce),W=z++,B=(D=N.plugins).filter((function(e,t){return D.indexOf(e)===t})),F={id:W,reference:e,popper:m(),popperInstance:null,props:N,state:{isEnabled:!0,isVisible:!1,isDestroyed:!1,isMounted:!1,isShown:!1},plugins:B,clearDelayTimeouts:function(){clearTimeout(i),clearTimeout(o),cancelAnimationFrame(h)},setProps:function(t){"production"!==process.env.NODE_ENV&&S(F.state.isDestroyed,L("setProps"));if(F.state.isDestroyed)return;se("onBeforeUpdate",[F,t]),ge();var n=F.props,i=R(e,Object.assign({},n,v(t),{ignoreAttributes:!0}));F.props=i,be(),n.interactiveDebounce!==i.interactiveDebounce&&(ue(),P=u(we,i.interactiveDebounce));n.triggerTarget&&!i.triggerTarget?d(n.triggerTarget).forEach((function(e){e.removeAttribute("aria-expanded")})):i.triggerTarget&&e.removeAttribute("aria-expanded");pe(),ae(),G&&G(n,i);F.popperInstance&&(Ae(),Ne().forEach((function(e){requestAnimationFrame(e._tippy.popperInstance.forceUpdate)})));se("onAfterUpdate",[F,t])},setContent:function(e){F.setProps({content:e})},show:function(){"production"!==process.env.NODE_ENV&&S(F.state.isDestroyed,L("show"));var e=F.state.isVisible,t=F.state.isDestroyed,n=!F.state.isEnabled,i=O.isTouch&&!F.props.touch,o=s(F.props.duration,0,M.duration);if(e||t||n||i)return;if(ne().hasAttribute("disabled"))return;if(se("onShow",[F],!1),!1===F.props.onShow(F))return;F.state.isVisible=!0,te()&&(X.style.visibility="visible");ae(),ve(),F.state.isMounted||(X.style.transition="none");if(te()){var r=oe();b([r.box,r.content],0)}x=function(){var e;if(F.state.isVisible&&!I){if(I=!0,X.offsetHeight,X.style.transition=F.props.moveTransition,te()&&F.props.animation){var t=oe(),n=t.box,i=t.content;b([n,i],o),g([n,i],"visible")}ce(),pe(),l(J,F),null==(e=F.popperInstance)||e.forceUpdate(),se("onMount",[F]),F.props.animation&&te()&&function(e,t){he(e,t)}(o,(function(){F.state.isShown=!0,se("onShown",[F])}))}},function(){var e,t=F.props.appendTo,n=ne();e=F.props.interactive&&t===a||"parent"===t?n.parentNode:p(t,[n]);e.contains(X)||e.appendChild(X);F.state.isMounted=!0,Ae(),"production"!==process.env.NODE_ENV&&S(F.props.interactive&&t===M.appendTo&&n.nextElementSibling!==X,["Interactive tippy element may not be accessible via keyboard","navigation because it is not directly after the reference element","in the DOM source order.","\n\n","Using a wrapper <div> or <span> tag around the reference element","solves this by creating a new parentNode context.","\n\n","Specifying `appendTo: document.body` silences this warning, but it","assumes you are using a focus management solution to handle","keyboard navigation.","\n\n","See: https://atomiks.github.io/tippyjs/v6/accessibility/#interactivity"].join(" "))}()},hide:function(){"production"!==process.env.NODE_ENV&&S(F.state.isDestroyed,L("hide"));var e=!F.state.isVisible,t=F.state.isDestroyed,n=!F.state.isEnabled,i=s(F.props.duration,1,M.duration);if(e||t||n)return;if(se("onHide",[F],!1),!1===F.props.onHide(F))return;F.state.isVisible=!1,F.state.isShown=!1,I=!1,V=!1,te()&&(X.style.visibility="hidden");if(ue(),me(),ae(!0),te()){var o=oe(),r=o.box,a=o.content;F.props.animation&&(b([r,a],i),g([r,a],"hidden"))}ce(),pe(),F.props.animation?te()&&function(e,t){he(e,(function(){!F.state.isVisible&&X.parentNode&&X.parentNode.contains(X)&&t()}))}(i,F.unmount):F.unmount()},hideWithInteractivity:function(e){"production"!==process.env.NODE_ENV&&S(F.state.isDestroyed,L("hideWithInteractivity"));ie().addEventListener("mousemove",P),l(Y,P),P(e)},enable:function(){F.state.isEnabled=!0},disable:function(){F.hide(),F.state.isEnabled=!1},unmount:function(){"production"!==process.env.NODE_ENV&&S(F.state.isDestroyed,L("unmount"));F.state.isVisible&&F.hide();if(!F.state.isMounted)return;De(),Ne().forEach((function(e){e._tippy.unmount()})),X.parentNode&&X.parentNode.removeChild(X);J=J.filter((function(e){return e!==F})),F.state.isMounted=!1,se("onHidden",[F])},destroy:function(){"production"!==process.env.NODE_ENV&&S(F.state.isDestroyed,L("destroy"));if(F.state.isDestroyed)return;F.clearDelayTimeouts(),F.unmount(),ge(),delete e._tippy,F.state.isDestroyed=!0,se("onDestroy",[F])}};if(!N.render)return"production"!==process.env.NODE_ENV&&_(!0,"render() function has not been supplied."),F;var q=N.render(F),X=q.popper,G=q.onUpdate;X.setAttribute("data-tippy-root",""),X.id="tippy-"+F.id,F.popper=X,e._tippy=F,X._tippy=F;var K=B.map((function(e){return e.fn(F)})),Q=e.hasAttribute("aria-expanded");return be(),pe(),ae(),se("onCreate",[F]),N.showOnCreate&&je(),X.addEventListener("mouseenter",(function(){F.props.interactive&&F.state.isVisible&&F.clearDelayTimeouts()})),X.addEventListener("mouseleave",(function(){F.props.interactive&&F.props.trigger.indexOf("mouseenter")>=0&&ie().addEventListener("mousemove",P)})),F;function Z(){var e=F.props.touch;return Array.isArray(e)?e:[e,0]}function ee(){return"hold"===Z()[0]}function te(){var e;return!(null==(e=F.props.render)||!e.$$tippy)}function ne(){return A||e}function ie(){var e,t,n=ne().parentNode;return n?null!=(t=d(n)[0])&&null!=(e=t.ownerDocument)&&e.body?t.ownerDocument:document:document}function oe(){return $(X)}function re(e){return F.state.isMounted&&!F.state.isVisible||O.isTouch||y&&"focus"===y.type?0:s(F.props.delay,e?0:1,M.delay)}function ae(e){void 0===e&&(e=!1),X.style.pointerEvents=F.props.interactive&&!e?"":"none",X.style.zIndex=""+F.props.zIndex}function se(e,t,n){var i;(void 0===n&&(n=!0),K.forEach((function(n){n[e]&&n[e].apply(n,t)})),n)&&(i=F.props)[e].apply(i,t)}function ce(){var t=F.props.aria;if(t.content){var n="aria-"+t.content,i=X.id;d(F.props.triggerTarget||e).forEach((function(e){var t=e.getAttribute(n);if(F.state.isVisible)e.setAttribute(n,t?t+" "+i:i);else{var o=t&&t.replace(i,"").trim();o?e.setAttribute(n,o):e.removeAttribute(n)}}))}}function pe(){!Q&&F.props.aria.expanded&&d(F.props.triggerTarget||e).forEach((function(e){F.props.interactive?e.setAttribute("aria-expanded",F.state.isVisible&&e===ne()?"true":"false"):e.removeAttribute("aria-expanded")}))}function ue(){ie().removeEventListener("mousemove",P),Y=Y.filter((function(e){return e!==P}))}function de(t){if(!O.isTouch||!k&&"mousedown"!==t.type){var n=t.composedPath&&t.composedPath()[0]||t.target;if(!F.props.interactive||!w(X,n)){if(d(F.props.triggerTarget||e).some((function(e){return w(e,n)}))){if(O.isTouch)return;if(F.state.isVisible&&F.props.trigger.indexOf("click")>=0)return}else se("onClickOutside",[F,t]);!0===F.props.hideOnClick&&(F.clearDelayTimeouts(),F.hide(),C=!0,setTimeout((function(){C=!1})),F.state.isMounted||me())}}}function le(){k=!0}function fe(){k=!1}function ve(){var e=ie();e.addEventListener("mousedown",de,!0),e.addEventListener("touchend",de,r),e.addEventListener("touchstart",fe,r),e.addEventListener("touchmove",le,r)}function me(){var e=ie();e.removeEventListener("mousedown",de,!0),e.removeEventListener("touchend",de,r),e.removeEventListener("touchstart",fe,r),e.removeEventListener("touchmove",le,r)}function he(e,t){var n=oe().box;function i(e){e.target===n&&(E(n,"remove",i),t())}if(0===e)return t();E(n,"remove",T),E(n,"add",i),T=i}function ye(t,n,i){void 0===i&&(i=!1),d(F.props.triggerTarget||e).forEach((function(e){e.addEventListener(t,n,i),H.push({node:e,eventType:t,handler:n,options:i})}))}function be(){var e;ee()&&(ye("touchstart",Ee,{passive:!0}),ye("touchend",Oe,{passive:!0})),(e=F.props.trigger,e.split(/\s+/).filter(Boolean)).forEach((function(e){if("manual"!==e)switch(ye(e,Ee),e){case"mouseenter":ye("mouseleave",Oe);break;case"focus":ye(j?"focusout":"blur",Te);break;case"focusin":ye("focusout",Te)}}))}function ge(){H.forEach((function(e){var t=e.node,n=e.eventType,i=e.handler,o=e.options;t.removeEventListener(n,i,o)})),H=[]}function Ee(e){var t,n=!1;if(F.state.isEnabled&&!xe(e)&&!C){var i="focus"===(null==(t=y)?void 0:t.type);y=e,A=e.currentTarget,pe(),!F.state.isVisible&&c(e,"MouseEvent")&&Y.forEach((function(t){return t(e)})),"click"===e.type&&(F.props.trigger.indexOf("mouseenter")<0||V)&&!1!==F.props.hideOnClick&&F.state.isVisible?n=!0:je(e),"click"===e.type&&(V=!n),n&&!i&&Le(e)}}function we(e){var t=e.target,n=ne().contains(t)||X.contains(t);if("mousemove"!==e.type||!n){var i=Ne().concat(X).map((function(e){var t,n=null==(t=e._tippy.popperInstance)?void 0:t.state;return n?{popperRect:e.getBoundingClientRect(),popperState:n,props:N}:null})).filter(Boolean);(function(e,t){var n=t.clientX,i=t.clientY;return e.every((function(e){var t=e.popperRect,o=e.popperState,r=e.props.interactiveBorder,a=o.placement.split("-")[0],s=o.modifiersData.offset;if(!s)return!0;var c="bottom"===a?s.top.y:0,p="top"===a?s.bottom.y:0,u="right"===a?s.left.x:0,d="left"===a?s.right.x:0,l=t.top-i+c>r,f=i-t.bottom-p>r,v=t.left-n+u>r,m=n-t.right-d>r;return l||f||v||m}))})(i,e)&&(ue(),Le(e))}}function Oe(e){xe(e)||F.props.trigger.indexOf("click")>=0&&V||(F.props.interactive?F.hideWithInteractivity(e):Le(e))}function Te(e){F.props.trigger.indexOf("focusin")<0&&e.target!==ne()||F.props.interactive&&e.relatedTarget&&X.contains(e.relatedTarget)||Le(e)}function xe(e){return!!O.isTouch&&ee()!==e.type.indexOf("touch")>=0}function Ae(){De();var n=F.props,i=n.popperOptions,o=n.placement,r=n.offset,a=n.getReferenceClientRect,s=n.moveTransition,c=te()?$(X).arrow:null,p=a?{getBoundingClientRect:a,contextElement:a.contextElement||ne()}:e,u={name:"$$tippy",enabled:!0,phase:"beforeWrite",requires:["computeStyles"],fn:function(e){var t=e.state;if(te()){var n=oe().box;["placement","reference-hidden","escaped"].forEach((function(e){"placement"===e?n.setAttribute("data-placement",t.placement):t.attributes.popper["data-popper-"+e]?n.setAttribute("data-"+e,""):n.removeAttribute("data-"+e)})),t.attributes.popper={}}}},d=[{name:"offset",options:{offset:r}},{name:"preventOverflow",options:{padding:{top:2,bottom:2,left:5,right:5}}},{name:"flip",options:{padding:5}},{name:"computeStyles",options:{adaptive:!s}},u];te()&&c&&d.push({name:"arrow",options:{element:c,padding:3}}),d.push.apply(d,(null==i?void 0:i.modifiers)||[]),F.popperInstance=t(p,X,Object.assign({},i,{placement:o,onFirstUpdate:x,modifiers:d}))}function De(){F.popperInstance&&(F.popperInstance.destroy(),F.popperInstance=null)}function Ne(){return f(X.querySelectorAll("[data-tippy-root]"))}function je(e){F.clearDelayTimeouts(),e&&se("onTrigger",[F,e]),ve();var t=re(!0),n=Z(),o=n[0],r=n[1];O.isTouch&&"hold"===o&&r&&(t=r),t?i=setTimeout((function(){F.show()}),t):F.show()}function Le(e){if(F.clearDelayTimeouts(),se("onUntrigger",[F,e]),F.state.isVisible){if(!(F.props.trigger.indexOf("mouseenter")>=0&&F.props.trigger.indexOf("click")>=0&&["mouseleave","mousemove"].indexOf(e.type)>=0&&V)){var t=re(!1);t?o=setTimeout((function(){F.state.isVisible&&F.hide()}),t):h=requestAnimationFrame((function(){F.hide()}))}}else me()}}function G(e,t){void 0===t&&(t={});var n=M.plugins.concat(t.plugins||[]);"production"!==process.env.NODE_ENV&&(!function(e){var t=!e,n="[object Object]"===Object.prototype.toString.call(e)&&!e.addEventListener;_(t,["tippy() was passed","`"+String(e)+"`","as its targets (first) argument. Valid types are: String, Element,","Element[], or NodeList."].join(" ")),_(n,["tippy() was passed a plain object which is not supported as an argument","for virtual positioning. Use props.getReferenceClientRect instead."].join(" "))}(e),P(t,n)),document.addEventListener("touchstart",x,r),window.addEventListener("blur",D);var i=Object.assign({},t,{plugins:n}),o=y(e);if("production"!==process.env.NODE_ENV){var a=h(i.content),s=o.length>1;S(a&&s,["tippy() was passed an Element as the `content` prop, but more than","one tippy instance was created by this invocation. This means the","content element will only be appended to the last tippy instance.","\n\n","Instead, pass the .innerHTML of the element, or use a function that","returns a cloned version of the element instead.","\n\n","1) content: element.innerHTML\n","2) content: () => element.cloneNode(true)"].join(" "))}var c=o.reduce((function(e,t){var n=t&&X(t,i);return n&&e.push(n),e}),[]);return h(e)?c[0]:c}G.defaultProps=M,G.setDefaultProps=function(e){"production"!==process.env.NODE_ENV&&P(e,[]),Object.keys(e).forEach((function(t){M[t]=e[t]}))},G.currentInput=O,Object.assign({},e,{effect:function(e){var t=e.state,n={popper:{position:t.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};Object.assign(t.elements.popper.style,n.popper),t.styles=n,t.elements.arrow&&Object.assign(t.elements.arrow.style,n.arrow)}}),G.setDefaultProps({render:q});export{G as default};
|
|
7
|
+
//# sourceMappingURL=tippy.esm.js.map
|