{"version":3,"sources":["webpack://gatsby-starter-hello-world/./src/newcar/ui/common/molecule/Breadcrumb.tsx","webpack://gatsby-starter-hello-world/./src/newcar/ui/common/organism/SEO.tsx","webpack://gatsby-starter-hello-world/./src/newcar/ui/contact/organism/SEO.tsx","webpack://gatsby-starter-hello-world/./src/newcar/ui/contact/organism/ContactDescription.tsx","webpack://gatsby-starter-hello-world/./node_modules/babel-preset-gatsby/node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","webpack://gatsby-starter-hello-world/./node_modules/react-hook-form/dist/index.esm.js","webpack://gatsby-starter-hello-world/./src/common/ui/hook/useReCaptcha.tsx","webpack://gatsby-starter-hello-world/./src/common/core/validation.ts","webpack://gatsby-starter-hello-world/./src/newcar/ui/contact/molecule/CheckBox.tsx","webpack://gatsby-starter-hello-world/./src/newcar/ui/contact/molecule/CheckBox.module.styl","webpack://gatsby-starter-hello-world/./src/newcar/ui/contact/organism/ContactForm.tsx","webpack://gatsby-starter-hello-world/./src/pages/contact/index.tsx","webpack://gatsby-starter-hello-world/./node_modules/babel-preset-gatsby/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","webpack://gatsby-starter-hello-world/./node_modules/babel-preset-gatsby/node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack://gatsby-starter-hello-world/./node_modules/babel-preset-gatsby/node_modules/@babel/runtime/helpers/esm/slicedToArray.js","webpack://gatsby-starter-hello-world/./node_modules/babel-preset-gatsby/node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","webpack://gatsby-starter-hello-world/./node_modules/babel-preset-gatsby/node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","webpack://gatsby-starter-hello-world/./node_modules/babel-preset-gatsby/node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","webpack://gatsby-starter-hello-world/./node_modules/babel-preset-gatsby/node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","webpack://gatsby-starter-hello-world/./node_modules/babel-preset-gatsby/node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","webpack://gatsby-starter-hello-world/./node_modules/babel-preset-gatsby/node_modules/@babel/runtime/helpers/esm/iterableToArray.js","webpack://gatsby-starter-hello-world/./node_modules/babel-preset-gatsby/node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","webpack://gatsby-starter-hello-world/./node_modules/babel-preset-gatsby/node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","webpack://gatsby-starter-hello-world/./node_modules/babel-preset-gatsby/node_modules/@babel/runtime/regenerator/index.js","webpack://gatsby-starter-hello-world/./src/pages/contact/index.module.styl"],"names":["items","className","map","item","index","isLastItem","length","key","label","useGatsbyLink","to","href","generateBreadcrumbItem","OG_IMAGE","props","ogImage","twitterImage","title","pageTitle","description","pageDescription","ogTitle","ogDescription","ogUrl","process","twitterTitle","twitterDescription","styles","NEWCAR_DEFINE","target","rel","asyncGeneratorStep","gen","resolve","reject","_next","_throw","arg","info","value","error","done","Promise","then","_asyncToGenerator","fn","self","this","args","arguments","apply","err","undefined","_createForOfIteratorHelper","o","allowArrayLike","it","Symbol","iterator","Array","isArray","minLen","_arrayLikeToArray","n","Object","prototype","toString","call","slice","constructor","name","from","test","_unsupportedIterableToArray","i","F","s","e","_e","f","TypeError","normalCompletion","didErr","step","next","_e2","return","arr","len","arr2","isHTMLElement","HTMLElement","EVENTS","VALIDATION_MODE","SELECT","UNDEFINED","INPUT_VALIDATION_RULES","attachEventListeners","_ref","shouldAttachChangeEvent","handleChange","ref","addEventListener","isNullOrUndefined","isObjectType","isObject","Date","isKey","stringToPath","input","result","replace","match","mathNumber","mathQuote","originalString","push","set","object","path","tempPath","lastIndex","newValue","objValue","isNaN","transformToNestObject","data","entries","reduce","previous","_ref2","_ref3","assign","isUndefined","val","filterOutFalsy","filter","Boolean","get","obj","defaultValue","split","focusOnErrorField","fields","fieldErrors","field","focus","options","removeAllEventListeners","validateWithStateUpdate","removeEventListener","defaultReturn","isValid","getRadioValue","option","checked","isRadioInput","element","type","isFileInput","isCheckBoxInput","isMultipleSelect","concat","defaultResult","validResult","getCheckboxValue","values","_ref6","_options$0$ref","attributes","getFieldValue","fieldsRef","shallowFieldsStateRef","excludeDisabled","current","_field$ref","disabled","files","_ref4","selected","_ref5","isDetached","nodeType","Node","DOCUMENT_NODE","parentNode","isEmptyObject","keys","isBoolean","unset","updatePath","childObject","baseGet","previousObjRef","k","objectRef","currentPaths","currentPathsLength","isSameRef","fieldValue","findRemovedFieldAndRemoveListener","shouldUnregister","forceDelete","_field$ref2","fieldRef","forEach","setFieldArrayDirtyFields","defaultValues","dirtyFields","parentName","isString","isPrimitive","deepMerge","source","targetValue","sourceValue","_a","getFieldsValues","search","output","_loop","startsWith","find","deepEqual","object1","object2","isErrorObject","keys1","keys2","_i","_keys","includes","val1","val2","isErrorStateChanged","_ref7","errors","validFields","fieldsWithValidation","previousError","isRegex","RegExp","getValueAndMessage","validationData","message","isFunction","isMessage","isValidElement","getValidateError","appendErrors","validateAllFieldCriteria","types","validateField","_ref9","_callee","_ref8","_ref8$ref","required","maxLength","minLength","min","max","pattern","validate","isRadio","isCheckBox","isRadioOrCheckbox","isEmpty","appendErrorsCurry","getMinMaxMessage","_ref10","requiredValue","requiredMessage","exceedMax","exceedMin","_getValueAndMessage","maxValue","maxMessage","_getValueAndMessage2","minValue","minMessage","valueNumber","valueDate","_getValueAndMessage3","maxLengthValue","maxLengthMessage","_getValueAndMessage4","minLengthValue","minLengthMessage","inputLength","_exceedMax","_exceedMin","_getValueAndMessage5","patternValue","patternMessage","validateRef","validateError","validationResult","_i2","_Object$entries","_Object$entries$_i","validateFunction","validateResult","_validateError","_context","prev","bind","maxType","minType","abrupt","valueAsNumber","parseFloat","valueAsDate","sent","stop","_x","_x2","_x3","_x4","getPath","_ref11","_ref12","pathWithIndex","getInnerPath","flat","Infinity","assignWatchFields","fieldValues","fieldName","watchFields","inputValue","isSingleField","add","skipValidation","_ref13","isOnBlur","isOnChange","isOnTouch","isTouched","isReValidateOnBlur","isReValidateOnChange","isBlurEvent","isSubmitted","isOnAll","getFieldArrayParentName","substring","indexOf","isMatchFieldArrayName","searchName","isNameInFieldArray","names","some","isSelectInput","onDomRemove","removeFieldEventListenerAndRef","observer","MutationObserver","_i3","_Object$values","_step","_iterator","observe","window","document","childList","subtree","modeChecker","mode","isOnSubmit","isRadioOrCheckboxFunction","isWindowUndefined","isWeb","isProxyEnabled","Proxy","FormContext","createContext","displayName","ReCaptchaElement","reCaptchaRef","Helmet","src","async","defer","fnExpired","useState","isSuccess","setIsSuccess","responseToken","setResponseToken","useRef","w","reCaptchaCallback","grecaptcha","getResponse","reCaptchaExpiredCallback","reCaptchaOnLoadAPI","render","sitekey","callback","REGEX_EMAIL","REGEX_KATAKANA","id","labelProps","checkBoxProps","children","htmlFor","onSubmit","hasError","lastName","firstName","lastNameKana","firstNameKana","email1","email2","canClear","setCanClear","_ref14","_ref14$mode","_ref14$reValidateMode","reValidateMode","resolver","context","_ref14$defaultValues","_ref14$shouldFocusErr","shouldFocusError","_ref14$shouldUnregist","criteriaMode","fieldArrayDefaultValuesRef","watchFieldsRef","Set","useWatchFieldsRef","useWatchRenderFunctionsRef","fieldsWithValidationRef","validFieldsRef","defaultValuesRef","defaultValuesAtRenderRef","isUnMount","isWatchAllRef","handleChangeRef","resetFieldArrayFunctionRef","contextRef","resolverRef","fieldArrayNamesRef","modeRef","_modeRef$current","isValidateAllFieldCriteria","_useState","isDirty","submitCount","touched","isSubmitting","isSubmitSuccessful","_useState2","formState","setFormState","readFormStateRef","formStateRef","observerRef","_useRef$current","updateFormState","useCallback","state","shouldRenderBaseOnError","shouldRender","shouldReRender","setFieldValue","rawValue","_fieldsRef$current$na","_ref15","radioRef","selectRef","_ref16","checkboxRef","isFormDirty","getValues","updateAndGetDirtyState","isFieldDirty","isDirtyFieldExist","previousIsDirty","isChanged","executeValidation","_ref17","_callee2","skipReRender","_error","_context2","t0","_x5","_x6","executeSchemaOrResolverValidation","_ref18","_callee3","_yield$resolverRef$cu","previousFormIsValid","isInputsValid","_error2","_context3","every","_x7","trigger","_ref19","_callee5","_context5","all","_ref20","_callee4","_context4","_x9","_x8","setInternalValues","_ref21","shouldDirty","shouldValidate","_step2","_iterator2","setInternalValue","config","has","isFieldWatched","renderWatchedInputs","found","size","setValue","setFieldArrayDefaultValues","_step3","_iterator3","payload","_step4","_iterator4","_name","_ref23","_callee6","_ref22","shouldSkipValidation","_yield$resolverRef$cu2","_context6","_x10","validateResolver","_callee7","_yield$resolverRef$cu3","_args7","_context7","removeFieldEventListener","clearErrors","inputName","setError","shouldFocus","watchInternal","fieldNames","watchId","combinedDefaultValues","watch","unregister","_step5","_iterator5","registerFieldRef","validateOptions","fieldRefAndValidationOptions","isFieldArray","compareRef","currentRef","isEmptyDefaultValue","isEmptyUnmountFields","register","refOrValidationOptions","rules","handleSubmit","onValid","onInvalid","_ref25","_callee8","_yield$resolverRef$cu4","_i4","_Object$values2","_name2","fieldError","_context8","preventDefault","persist","finish","_x11","resetRefs","_ref26","reset","omitResetState","_i5","_Object$values3","_ref27","inputRef","closest","resetFieldArray","useEffect","disconnect","commonProps","control","prop","useForm","watchEmail1","watchEmail2","validationClass","useReCaptcha","isRecaptchaSuccess","reCaptchaResponseToken","submitHandler","clearInput","msTimeout","tabIndex","style","display","placeholder","onFocus","onBlur","setTimeout","onClick","onChange","setState","category","textarea","axios","contactType","email","content","navigate","scrollTo","Layout","Header","Breadcrumb","SEO","Footer","ScrollToTop","_defineProperty","defineProperty","enumerable","configurable","writable","_slicedToArray","arrayWithHoles","_s","_arr","_n","_d","iterableToArrayLimit","unsupportedIterableToArray","nonIterableRest","_toConsumableArray","arrayLikeToArray","arrayWithoutHoles","iter","iterableToArray","nonIterableSpread","module","exports","contentContainer","toTop","contentText","contentSpacing","boxStyle","requiredTag","validMark","invalidMark","formItem","dtSpacing","liSpacing","inputWrap","textareaStyle","textInput","textInputSpacing","qLink","privacyLink","privacyWrap","recaptchaWrap","recaptchaStyle","disabledSubmitButton","submitButton","disabledSubmitText","submitText","marginBottom","borderGrey","borderGreen","borderRed"],"mappings":"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","file":"component---src-pages-contact-index-tsx-1c746998e64b3c63e7a5.js","sourcesContent":["import React, { FC } from 'react';\nimport { Link } from 'gatsby';\nimport * as styles from './Breadcrumb.module.styl';\n\ninterface BreadcrumbItem {\n useGatsbyLink?: boolean\n to?: string\n label?: string\n}\n\ninterface Props {\n items: Array\n}\n\nconst Breadcrumb: FC = ({ items }) => {\n const generateBreadcrumbItem = (item: BreadcrumbItem, isLastItem = false): React.ReactElement => {\n const useGatsbyLink = item.useGatsbyLink ?? true;\n if (!item.to) {\n return {item.label};\n }\n if (useGatsbyLink) {\n return (\n \n {item.label}\n \n );\n }\n return (\n \n {item.label}\n \n );\n };\n\n return (\n
    \n {items.map((item, index) => {\n const isLastItem = index === items.length - 1;\n return (\n
  1. \n {generateBreadcrumbItem(item, isLastItem)}\n
  2. \n );\n })}\n
\n );\n};\n\nexport default Breadcrumb;\n","import React, { FC } from 'react';\nimport SEOBase, { Props } from '@/common/ui/organism/SEO';\n\nconst OG_IMAGE = 'https://carmo-kun.jp/img/ogimage/new_car_ogimage.jpg';\n\nconst SEO: FC = (props) => (\n \n);\n\nexport default SEO;\n","import React, { FC } from 'react';\nimport SEOBase from '@/newcar/ui/common/organism/SEO';\n\nconst TITLE_POSTFIX = '|おトクにマイカー 定額カルモくん';\nconst DESCRIPTION_POSTFIX = '【ネット割最大49,500円】頭金・ボーナス払い0円で新車に格安で乗れる。毎月定額、税金コミコミで安心です。メンテナンスも月額定額にできるプランや、契約満了後に車がもらえるオプションもご用意。';\n\nexport type ContactSEO = {\n pageTitle: string\n pageDescription: string\n};\n\nconst SEO: FC = ({ pageTitle, pageDescription }) => {\n const title = pageTitle + TITLE_POSTFIX;\n const description = pageDescription + DESCRIPTION_POSTFIX;\n\n return (\n \n );\n};\n\nexport default SEO;\n","import React, { FC } from 'react';\nimport { Link } from 'gatsby';\nimport NEWCAR_DEFINE from '@/newcar/util/define';\nimport * as styles from '@/pages/contact/index.module.styl';\n\nconst ContactDescription: FC = () => (\n <>\n

\n おトクにマイカー 定額カルモくんについてのご不明点は、まずは「\n \n よくあるご質問\n \n 」をご確認ください。店舗情報は「\n 加盟店一覧\n 」にてご確認いただけます。\n

\n

\n 必要な回答内容が得られない場合は、以下のお問い合わせフォームをご利用ください。\n
\n お問い合わせ返答時間内に順次対応させていただきます。\n
\n お問い合わせ返答時間 平日10:00~19:00(土日・祝日・年末年始休み)\n

\n

\n なお、\n \n 資料請求はこちら\n \n から、\n \n 法人・個人事業主のお客様はこちら\n \n からお問い合わせください。\n

\n \n);\n\nexport default ContactDescription;\n","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\n\nexport default function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n\n _next(undefined);\n });\n };\n}","import _asyncToGenerator from \"/codebuild/output/src1155350651/src/carmo-website-gatsby/node_modules/babel-preset-gatsby/node_modules/@babel/runtime/helpers/esm/asyncToGenerator\";\nimport _toConsumableArray from \"/codebuild/output/src1155350651/src/carmo-website-gatsby/node_modules/babel-preset-gatsby/node_modules/@babel/runtime/helpers/esm/toConsumableArray\";\nimport _defineProperty from \"/codebuild/output/src1155350651/src/carmo-website-gatsby/node_modules/babel-preset-gatsby/node_modules/@babel/runtime/helpers/esm/defineProperty\";\nimport _slicedToArray from \"/codebuild/output/src1155350651/src/carmo-website-gatsby/node_modules/babel-preset-gatsby/node_modules/@babel/runtime/helpers/esm/slicedToArray\";\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nimport \"core-js/modules/es.array.flat.js\";\nimport _regeneratorRuntime from \"/codebuild/output/src1155350651/src/carmo-website-gatsby/node_modules/babel-preset-gatsby/node_modules/@babel/runtime/regenerator\";\nimport { isValidElement, useRef, useState, useCallback, useEffect, createContext, useContext, createElement, cloneElement } from 'react';\n\nvar isHTMLElement = function isHTMLElement(value) {\n return value instanceof HTMLElement;\n};\n\nvar EVENTS = {\n BLUR: 'blur',\n CHANGE: 'change',\n INPUT: 'input'\n};\nvar VALIDATION_MODE = {\n onBlur: 'onBlur',\n onChange: 'onChange',\n onSubmit: 'onSubmit',\n onTouched: 'onTouched',\n all: 'all'\n};\nvar VALUE = 'value';\nvar SELECT = 'select';\nvar UNDEFINED = 'undefined';\nvar INPUT_VALIDATION_RULES = {\n max: 'max',\n min: 'min',\n maxLength: 'maxLength',\n minLength: 'minLength',\n pattern: 'pattern',\n required: 'required',\n validate: 'validate'\n};\n\nfunction attachEventListeners(_ref, shouldAttachChangeEvent, handleChange) {\n var ref = _ref.ref;\n\n if (isHTMLElement(ref) && handleChange) {\n ref.addEventListener(shouldAttachChangeEvent ? EVENTS.CHANGE : EVENTS.INPUT, handleChange);\n ref.addEventListener(EVENTS.BLUR, handleChange);\n }\n}\n\nvar isNullOrUndefined = function isNullOrUndefined(value) {\n return value == null;\n};\n\nvar isArray = function isArray(value) {\n return Array.isArray(value);\n};\n\nvar isObjectType = function isObjectType(value) {\n return typeof value === 'object';\n};\n\nvar isObject = function isObject(value) {\n return !isNullOrUndefined(value) && !isArray(value) && isObjectType(value) && !(value instanceof Date);\n};\n\nvar isKey = function isKey(value) {\n return !isArray(value) && (/^\\w*$/.test(value) || !/\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/.test(value));\n};\n\nvar stringToPath = function stringToPath(input) {\n var result = [];\n input.replace(/[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g, function (match, mathNumber, mathQuote, originalString) {\n result.push(mathQuote ? originalString.replace(/\\\\(\\\\)?/g, '$1') : mathNumber || match);\n });\n return result;\n};\n\nfunction set(object, path, value) {\n var index = -1;\n var tempPath = isKey(path) ? [path] : stringToPath(path);\n var length = tempPath.length;\n var lastIndex = length - 1;\n\n while (++index < length) {\n var key = tempPath[index];\n var newValue = value;\n\n if (index !== lastIndex) {\n var objValue = object[key];\n newValue = isObject(objValue) || isArray(objValue) ? objValue : !isNaN(+tempPath[index + 1]) ? [] : {};\n }\n\n object[key] = newValue;\n object = object[key];\n }\n\n return object;\n}\n\nvar transformToNestObject = function transformToNestObject(data) {\n return Object.entries(data).reduce(function (previous, _ref2) {\n var _ref3 = _slicedToArray(_ref2, 2),\n key = _ref3[0],\n value = _ref3[1];\n\n if (!isKey(key)) {\n set(previous, key, value);\n return previous;\n }\n\n return Object.assign(Object.assign({}, previous), _defineProperty({}, key, value));\n }, {});\n};\n\nvar isUndefined = function isUndefined(val) {\n return val === undefined;\n};\n\nvar filterOutFalsy = function filterOutFalsy(value) {\n return value.filter(Boolean);\n};\n\nvar get = function get(obj, path, defaultValue) {\n var result = filterOutFalsy(path.split(/[,[\\].]+?/)).reduce(function (result, key) {\n return isNullOrUndefined(result) ? result : result[key];\n }, obj);\n return isUndefined(result) || result === obj ? isUndefined(obj[path]) ? defaultValue : obj[path] : result;\n};\n\nvar focusOnErrorField = function focusOnErrorField(fields, fieldErrors) {\n for (var key in fields) {\n if (get(fieldErrors, key)) {\n var field = fields[key];\n\n if (field) {\n if (field.ref.focus) {\n field.ref.focus();\n break;\n } else if (field.options) {\n field.options[0].ref.focus();\n break;\n }\n }\n }\n }\n};\n\nvar removeAllEventListeners = function removeAllEventListeners(ref, validateWithStateUpdate) {\n if (isHTMLElement(ref) && ref.removeEventListener) {\n ref.removeEventListener(EVENTS.INPUT, validateWithStateUpdate);\n ref.removeEventListener(EVENTS.CHANGE, validateWithStateUpdate);\n ref.removeEventListener(EVENTS.BLUR, validateWithStateUpdate);\n }\n};\n\nvar defaultReturn = {\n isValid: false,\n value: ''\n};\n\nvar getRadioValue = function getRadioValue(options) {\n return isArray(options) ? options.reduce(function (previous, option) {\n return option && option.ref.checked ? {\n isValid: true,\n value: option.ref.value\n } : previous;\n }, defaultReturn) : defaultReturn;\n};\n\nvar getMultipleSelectValue = function getMultipleSelectValue(options) {\n return _toConsumableArray(options).filter(function (_ref4) {\n var selected = _ref4.selected;\n return selected;\n }).map(function (_ref5) {\n var value = _ref5.value;\n return value;\n });\n};\n\nvar isRadioInput = function isRadioInput(element) {\n return element.type === 'radio';\n};\n\nvar isFileInput = function isFileInput(element) {\n return element.type === 'file';\n};\n\nvar isCheckBoxInput = function isCheckBoxInput(element) {\n return element.type === 'checkbox';\n};\n\nvar isMultipleSelect = function isMultipleSelect(element) {\n return element.type === \"\".concat(SELECT, \"-multiple\");\n};\n\nvar defaultResult = {\n value: false,\n isValid: false\n};\nvar validResult = {\n value: true,\n isValid: true\n};\n\nvar getCheckboxValue = function getCheckboxValue(options) {\n if (isArray(options)) {\n if (options.length > 1) {\n var values = options.filter(function (option) {\n return option && option.ref.checked;\n }).map(function (_ref6) {\n var value = _ref6.ref.value;\n return value;\n });\n return {\n value: values,\n isValid: !!values.length\n };\n }\n\n var _options$0$ref = options[0].ref,\n checked = _options$0$ref.checked,\n value = _options$0$ref.value,\n attributes = _options$0$ref.attributes;\n return checked ? attributes && !isUndefined(attributes.value) ? isUndefined(value) || value === '' ? validResult : {\n value: value,\n isValid: true\n } : validResult : defaultResult;\n }\n\n return defaultResult;\n};\n\nfunction getFieldValue(fieldsRef, name, shallowFieldsStateRef, excludeDisabled) {\n var field = fieldsRef.current[name];\n\n if (field) {\n var _field$ref = field.ref,\n value = _field$ref.value,\n disabled = _field$ref.disabled,\n ref = field.ref;\n\n if (disabled && excludeDisabled) {\n return;\n }\n\n if (isFileInput(ref)) {\n return ref.files;\n }\n\n if (isRadioInput(ref)) {\n return getRadioValue(field.options).value;\n }\n\n if (isMultipleSelect(ref)) {\n return getMultipleSelectValue(ref.options);\n }\n\n if (isCheckBoxInput(ref)) {\n return getCheckboxValue(field.options).value;\n }\n\n return value;\n }\n\n if (shallowFieldsStateRef) {\n return get(shallowFieldsStateRef.current, name);\n }\n}\n\nfunction isDetached(element) {\n if (!element) {\n return true;\n }\n\n if (!(element instanceof HTMLElement) || element.nodeType === Node.DOCUMENT_NODE) {\n return false;\n }\n\n return isDetached(element.parentNode);\n}\n\nvar isEmptyObject = function isEmptyObject(value) {\n return isObject(value) && !Object.keys(value).length;\n};\n\nvar isBoolean = function isBoolean(value) {\n return typeof value === 'boolean';\n};\n\nfunction baseGet(object, updatePath) {\n var path = updatePath.slice(0, -1);\n var length = path.length;\n var index = 0;\n\n while (index < length) {\n object = isUndefined(object) ? index++ : object[updatePath[index++]];\n }\n\n return object;\n}\n\nfunction unset(object, path) {\n var updatePath = isKey(path) ? [path] : stringToPath(path);\n var childObject = updatePath.length == 1 ? object : baseGet(object, updatePath);\n var key = updatePath[updatePath.length - 1];\n var previousObjRef = undefined;\n\n if (childObject) {\n delete childObject[key];\n }\n\n for (var k = 0; k < updatePath.slice(0, -1).length; k++) {\n var index = -1;\n var objectRef = undefined;\n var currentPaths = updatePath.slice(0, -(k + 1));\n var currentPathsLength = currentPaths.length - 1;\n\n if (k > 0) {\n previousObjRef = object;\n }\n\n while (++index < currentPaths.length) {\n var item = currentPaths[index];\n objectRef = objectRef ? objectRef[item] : object[item];\n\n if (currentPathsLength === index && (isObject(objectRef) && isEmptyObject(objectRef) || isArray(objectRef) && !objectRef.filter(function (data) {\n return isObject(data) && !isEmptyObject(data) || isBoolean(data);\n }).length)) {\n previousObjRef ? delete previousObjRef[item] : delete object[item];\n }\n\n previousObjRef = objectRef;\n }\n }\n\n return object;\n}\n\nvar isSameRef = function isSameRef(fieldValue, ref) {\n return fieldValue && fieldValue.ref === ref;\n};\n\nfunction findRemovedFieldAndRemoveListener(fieldsRef, handleChange, field, shallowFieldsStateRef, shouldUnregister, forceDelete) {\n var ref = field.ref,\n _field$ref2 = field.ref,\n name = _field$ref2.name,\n type = _field$ref2.type;\n var fieldRef = fieldsRef.current[name];\n\n if (!shouldUnregister) {\n var value = getFieldValue(fieldsRef, name, shallowFieldsStateRef);\n\n if (!isUndefined(value)) {\n set(shallowFieldsStateRef.current, name, value);\n }\n }\n\n if (!type) {\n delete fieldsRef.current[name];\n return;\n }\n\n if ((isRadioInput(ref) || isCheckBoxInput(ref)) && fieldRef) {\n var options = fieldRef.options;\n\n if (isArray(options) && options.length) {\n filterOutFalsy(options).forEach(function (option, index) {\n var ref = option.ref;\n\n if (ref && isDetached(ref) && isSameRef(option, ref) || forceDelete) {\n removeAllEventListeners(ref, handleChange);\n unset(options, \"[\".concat(index, \"]\"));\n }\n });\n\n if (options && !filterOutFalsy(options).length) {\n delete fieldsRef.current[name];\n }\n } else {\n delete fieldsRef.current[name];\n }\n } else if (isDetached(ref) && isSameRef(fieldRef, ref) || forceDelete) {\n removeAllEventListeners(ref, handleChange);\n delete fieldsRef.current[name];\n }\n}\n\nfunction setFieldArrayDirtyFields(values, defaultValues, dirtyFields, parentNode, parentName) {\n var index = -1;\n\n while (++index < values.length) {\n for (var key in values[index]) {\n if (isArray(values[index][key])) {\n !dirtyFields[index] && (dirtyFields[index] = {});\n dirtyFields[index][key] = [];\n setFieldArrayDirtyFields(values[index][key], get(defaultValues[index] || {}, key, []), dirtyFields[index][key], dirtyFields[index], key);\n } else {\n get(defaultValues[index] || {}, key) === values[index][key] ? set(dirtyFields[index] || {}, key) : dirtyFields[index] = Object.assign(Object.assign({}, dirtyFields[index]), _defineProperty({}, key, true));\n }\n }\n\n !dirtyFields.length && parentNode && delete parentNode[parentName];\n }\n\n return dirtyFields.length ? dirtyFields : undefined;\n}\n\nvar isString = function isString(value) {\n return typeof value === 'string';\n};\n\nvar isPrimitive = function isPrimitive(value) {\n return isNullOrUndefined(value) || !isObjectType(value);\n};\n\nfunction deepMerge(target, source) {\n if (isPrimitive(target) || isPrimitive(source)) {\n return source;\n }\n\n for (var key in source) {\n var targetValue = target[key];\n var sourceValue = source[key];\n\n try {\n if (isObject(targetValue) && isObject(sourceValue) || isArray(targetValue) && isArray(sourceValue)) {\n target[key] = deepMerge(targetValue, sourceValue);\n } else {\n target[key] = sourceValue;\n }\n } catch (_a) {}\n }\n\n return target;\n}\n\nvar getFieldsValues = function getFieldsValues(fieldsRef, shallowFieldsStateRef, excludeDisabled, search) {\n var output = {};\n\n var _loop = function _loop(name) {\n if (isUndefined(search) || (isString(search) ? name.startsWith(search) : isArray(search) && search.find(function (data) {\n return name.startsWith(data);\n }))) {\n output[name] = getFieldValue(fieldsRef, name, undefined, excludeDisabled);\n }\n };\n\n for (var name in fieldsRef.current) {\n _loop(name);\n }\n\n return deepMerge(transformToNestObject(Object.assign({}, (shallowFieldsStateRef || {}).current || {})), transformToNestObject(output));\n};\n\nfunction deepEqual() {\n var object1 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var object2 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n var isErrorObject = arguments.length > 2 ? arguments[2] : undefined;\n var keys1 = Object.keys(object1);\n var keys2 = Object.keys(object2);\n\n if (keys1.length !== keys2.length) {\n return false;\n }\n\n for (var _i = 0, _keys = keys1; _i < _keys.length; _i++) {\n var key = _keys[_i];\n\n if (!(isErrorObject && ['ref', 'context'].includes(key))) {\n var val1 = object1[key];\n var val2 = object2[key];\n\n if ((isObject(val1) || isArray(val1)) && (isObject(val2) || isArray(val2)) ? !deepEqual(val1, val2, isErrorObject) : val1 !== val2) {\n return false;\n }\n }\n }\n\n return true;\n}\n\nfunction isErrorStateChanged(_ref7) {\n var errors = _ref7.errors,\n name = _ref7.name,\n error = _ref7.error,\n validFields = _ref7.validFields,\n fieldsWithValidation = _ref7.fieldsWithValidation;\n var isValid = isUndefined(error);\n var previousError = get(errors, name);\n return isValid && !!previousError || !isValid && !deepEqual(previousError, error, true) || isValid && get(fieldsWithValidation, name) && !get(validFields, name);\n}\n\nvar isRegex = function isRegex(value) {\n return value instanceof RegExp;\n};\n\nvar isValueMessage = function isValueMessage(value) {\n return isObject(value) && !isRegex(value);\n};\n\nvar getValueAndMessage = function getValueAndMessage(validationData) {\n return isValueMessage(validationData) ? validationData : {\n value: validationData,\n message: ''\n };\n};\n\nvar isFunction = function isFunction(value) {\n return typeof value === 'function';\n};\n\nvar isMessage = function isMessage(value) {\n return isString(value) || isObject(value) && isValidElement(value);\n};\n\nfunction getValidateError(result, ref) {\n var type = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'validate';\n\n if (isMessage(result) || isBoolean(result) && !result) {\n return {\n type: type,\n message: isMessage(result) ? result : '',\n ref: ref\n };\n }\n}\n\nvar appendErrors = function appendErrors(name, validateAllFieldCriteria, errors, type, message) {\n if (validateAllFieldCriteria) {\n var error = errors[name];\n return Object.assign(Object.assign({}, error), {\n types: Object.assign(Object.assign({}, error && error.types ? error.types : {}), _defineProperty({}, type, message || true))\n });\n }\n\n return {};\n};\n\nvar validateField = /*#__PURE__*/function () {\n var _ref9 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(fieldsRef, validateAllFieldCriteria, _ref8, shallowFieldsStateRef) {\n var ref, _ref8$ref, type, value, options, required, maxLength, minLength, min, max, pattern, validate, fields, name, error, isRadio, isCheckBox, isRadioOrCheckbox, isEmpty, appendErrorsCurry, getMinMaxMessage, _ref10, requiredValue, requiredMessage, exceedMax, exceedMin, _getValueAndMessage, maxValue, maxMessage, _getValueAndMessage2, minValue, minMessage, valueNumber, valueDate, _getValueAndMessage3, maxLengthValue, maxLengthMessage, _getValueAndMessage4, minLengthValue, minLengthMessage, inputLength, _exceedMax, _exceedMin, _getValueAndMessage5, patternValue, patternMessage, fieldValue, validateRef, result, validateError, validationResult, _i2, _Object$entries, _Object$entries$_i, key, validateFunction, validateResult, _validateError;\n\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n ref = _ref8.ref, _ref8$ref = _ref8.ref, type = _ref8$ref.type, value = _ref8$ref.value, options = _ref8.options, required = _ref8.required, maxLength = _ref8.maxLength, minLength = _ref8.minLength, min = _ref8.min, max = _ref8.max, pattern = _ref8.pattern, validate = _ref8.validate;\n fields = fieldsRef.current;\n name = ref.name;\n error = {};\n isRadio = isRadioInput(ref);\n isCheckBox = isCheckBoxInput(ref);\n isRadioOrCheckbox = isRadio || isCheckBox;\n isEmpty = value === '';\n appendErrorsCurry = appendErrors.bind(null, name, validateAllFieldCriteria, error);\n\n getMinMaxMessage = function getMinMaxMessage(exceedMax, maxLengthMessage, minLengthMessage) {\n var maxType = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : INPUT_VALIDATION_RULES.maxLength;\n var minType = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : INPUT_VALIDATION_RULES.minLength;\n var message = exceedMax ? maxLengthMessage : minLengthMessage;\n error[name] = Object.assign({\n type: exceedMax ? maxType : minType,\n message: message,\n ref: ref\n }, exceedMax ? appendErrorsCurry(maxType, message) : appendErrorsCurry(minType, message));\n };\n\n if (!(required && (!isRadio && !isCheckBox && (isEmpty || isNullOrUndefined(value)) || isBoolean(value) && !value || isCheckBox && !getCheckboxValue(options).isValid || isRadio && !getRadioValue(options).isValid))) {\n _context.next = 16;\n break;\n }\n\n _ref10 = isMessage(required) ? {\n value: !!required,\n message: required\n } : getValueAndMessage(required), requiredValue = _ref10.value, requiredMessage = _ref10.message;\n\n if (!requiredValue) {\n _context.next = 16;\n break;\n }\n\n error[name] = Object.assign({\n type: INPUT_VALIDATION_RULES.required,\n message: requiredMessage,\n ref: isRadioOrCheckbox ? ((fields[name].options || [])[0] || {}).ref : ref\n }, appendErrorsCurry(INPUT_VALIDATION_RULES.required, requiredMessage));\n\n if (validateAllFieldCriteria) {\n _context.next = 16;\n break;\n }\n\n return _context.abrupt(\"return\", error);\n\n case 16:\n if (!(!isNullOrUndefined(min) || !isNullOrUndefined(max))) {\n _context.next = 24;\n break;\n }\n\n _getValueAndMessage = getValueAndMessage(max), maxValue = _getValueAndMessage.value, maxMessage = _getValueAndMessage.message;\n _getValueAndMessage2 = getValueAndMessage(min), minValue = _getValueAndMessage2.value, minMessage = _getValueAndMessage2.message;\n\n if (type === 'number' || !type && !isNaN(value)) {\n valueNumber = ref.valueAsNumber || parseFloat(value);\n\n if (!isNullOrUndefined(maxValue)) {\n exceedMax = valueNumber > maxValue;\n }\n\n if (!isNullOrUndefined(minValue)) {\n exceedMin = valueNumber < minValue;\n }\n } else {\n valueDate = ref.valueAsDate || new Date(value);\n\n if (isString(maxValue)) {\n exceedMax = valueDate > new Date(maxValue);\n }\n\n if (isString(minValue)) {\n exceedMin = valueDate < new Date(minValue);\n }\n }\n\n if (!(exceedMax || exceedMin)) {\n _context.next = 24;\n break;\n }\n\n getMinMaxMessage(!!exceedMax, maxMessage, minMessage, INPUT_VALIDATION_RULES.max, INPUT_VALIDATION_RULES.min);\n\n if (validateAllFieldCriteria) {\n _context.next = 24;\n break;\n }\n\n return _context.abrupt(\"return\", error);\n\n case 24:\n if (!(isString(value) && !isEmpty && (maxLength || minLength))) {\n _context.next = 34;\n break;\n }\n\n _getValueAndMessage3 = getValueAndMessage(maxLength), maxLengthValue = _getValueAndMessage3.value, maxLengthMessage = _getValueAndMessage3.message;\n _getValueAndMessage4 = getValueAndMessage(minLength), minLengthValue = _getValueAndMessage4.value, minLengthMessage = _getValueAndMessage4.message;\n inputLength = value.toString().length;\n _exceedMax = !isNullOrUndefined(maxLengthValue) && inputLength > maxLengthValue;\n _exceedMin = !isNullOrUndefined(minLengthValue) && inputLength < minLengthValue;\n\n if (!(_exceedMax || _exceedMin)) {\n _context.next = 34;\n break;\n }\n\n getMinMaxMessage(!!_exceedMax, maxLengthMessage, minLengthMessage);\n\n if (validateAllFieldCriteria) {\n _context.next = 34;\n break;\n }\n\n return _context.abrupt(\"return\", error);\n\n case 34:\n if (!(pattern && !isEmpty)) {\n _context.next = 40;\n break;\n }\n\n _getValueAndMessage5 = getValueAndMessage(pattern), patternValue = _getValueAndMessage5.value, patternMessage = _getValueAndMessage5.message;\n\n if (!(isRegex(patternValue) && !patternValue.test(value))) {\n _context.next = 40;\n break;\n }\n\n error[name] = Object.assign({\n type: INPUT_VALIDATION_RULES.pattern,\n message: patternMessage,\n ref: ref\n }, appendErrorsCurry(INPUT_VALIDATION_RULES.pattern, patternMessage));\n\n if (validateAllFieldCriteria) {\n _context.next = 40;\n break;\n }\n\n return _context.abrupt(\"return\", error);\n\n case 40:\n if (!validate) {\n _context.next = 73;\n break;\n }\n\n fieldValue = getFieldValue(fieldsRef, name, shallowFieldsStateRef);\n validateRef = isRadioOrCheckbox && options ? options[0].ref : ref;\n\n if (!isFunction(validate)) {\n _context.next = 54;\n break;\n }\n\n _context.next = 46;\n return validate(fieldValue);\n\n case 46:\n result = _context.sent;\n validateError = getValidateError(result, validateRef);\n\n if (!validateError) {\n _context.next = 52;\n break;\n }\n\n error[name] = Object.assign(Object.assign({}, validateError), appendErrorsCurry(INPUT_VALIDATION_RULES.validate, validateError.message));\n\n if (validateAllFieldCriteria) {\n _context.next = 52;\n break;\n }\n\n return _context.abrupt(\"return\", error);\n\n case 52:\n _context.next = 73;\n break;\n\n case 54:\n if (!isObject(validate)) {\n _context.next = 73;\n break;\n }\n\n validationResult = {};\n _i2 = 0, _Object$entries = Object.entries(validate);\n\n case 57:\n if (!(_i2 < _Object$entries.length)) {\n _context.next = 69;\n break;\n }\n\n _Object$entries$_i = _slicedToArray(_Object$entries[_i2], 2), key = _Object$entries$_i[0], validateFunction = _Object$entries$_i[1];\n\n if (!(!isEmptyObject(validationResult) && !validateAllFieldCriteria)) {\n _context.next = 61;\n break;\n }\n\n return _context.abrupt(\"break\", 69);\n\n case 61:\n _context.next = 63;\n return validateFunction(fieldValue);\n\n case 63:\n validateResult = _context.sent;\n _validateError = getValidateError(validateResult, validateRef, key);\n\n if (_validateError) {\n validationResult = Object.assign(Object.assign({}, _validateError), appendErrorsCurry(key, _validateError.message));\n\n if (validateAllFieldCriteria) {\n error[name] = validationResult;\n }\n }\n\n case 66:\n _i2++;\n _context.next = 57;\n break;\n\n case 69:\n if (isEmptyObject(validationResult)) {\n _context.next = 73;\n break;\n }\n\n error[name] = Object.assign({\n ref: validateRef\n }, validationResult);\n\n if (validateAllFieldCriteria) {\n _context.next = 73;\n break;\n }\n\n return _context.abrupt(\"return\", error);\n\n case 73:\n return _context.abrupt(\"return\", error);\n\n case 74:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n\n return function validateField(_x, _x2, _x3, _x4) {\n return _ref9.apply(this, arguments);\n };\n}();\n\nvar getPath = function getPath(path, values) {\n var getInnerPath = function getInnerPath(key, value, isObject) {\n var pathWithIndex = isObject ? \"\".concat(path, \".\").concat(key) : \"\".concat(path, \"[\").concat(key, \"]\");\n return isPrimitive(value) ? pathWithIndex : getPath(pathWithIndex, value);\n };\n\n return Object.entries(values).map(function (_ref11) {\n var _ref12 = _slicedToArray(_ref11, 2),\n key = _ref12[0],\n value = _ref12[1];\n\n return getInnerPath(key, value, isObject(values));\n }).flat(Infinity);\n};\n\nvar assignWatchFields = function assignWatchFields(fieldValues, fieldName, watchFields, inputValue, isSingleField) {\n var value;\n watchFields.add(fieldName);\n\n if (isEmptyObject(fieldValues)) {\n value = undefined;\n } else {\n value = get(fieldValues, fieldName);\n\n if (isObject(value) || isArray(value)) {\n getPath(fieldName, value).forEach(function (name) {\n return watchFields.add(name);\n });\n }\n }\n\n return isUndefined(value) ? isSingleField ? inputValue : get(inputValue, fieldName) : value;\n};\n\nvar skipValidation = function skipValidation(_ref13) {\n var isOnBlur = _ref13.isOnBlur,\n isOnChange = _ref13.isOnChange,\n isOnTouch = _ref13.isOnTouch,\n isTouched = _ref13.isTouched,\n isReValidateOnBlur = _ref13.isReValidateOnBlur,\n isReValidateOnChange = _ref13.isReValidateOnChange,\n isBlurEvent = _ref13.isBlurEvent,\n isSubmitted = _ref13.isSubmitted,\n isOnAll = _ref13.isOnAll;\n\n if (isOnAll) {\n return false;\n } else if (!isSubmitted && isOnTouch) {\n return !(isTouched || isBlurEvent);\n } else if (isSubmitted ? isReValidateOnBlur : isOnBlur) {\n return !isBlurEvent;\n } else if (isSubmitted ? isReValidateOnChange : isOnChange) {\n return isBlurEvent;\n }\n\n return true;\n};\n\nvar getFieldArrayParentName = function getFieldArrayParentName(name) {\n return name.substring(0, name.indexOf('['));\n};\n\nvar isMatchFieldArrayName = function isMatchFieldArrayName(name, searchName) {\n return RegExp(\"^\".concat(searchName, \"[\\\\d+]\").replace(/\\[/g, '\\\\[').replace(/\\]/g, '\\\\]')).test(name);\n};\n\nvar isNameInFieldArray = function isNameInFieldArray(names, name) {\n return _toConsumableArray(names).some(function (current) {\n return isMatchFieldArrayName(name, current);\n });\n};\n\nvar isSelectInput = function isSelectInput(element) {\n return element.type === \"\".concat(SELECT, \"-one\");\n};\n\nfunction onDomRemove(fieldsRef, removeFieldEventListenerAndRef) {\n var observer = new MutationObserver(function () {\n for (var _i3 = 0, _Object$values = Object.values(fieldsRef.current); _i3 < _Object$values.length; _i3++) {\n var field = _Object$values[_i3];\n\n if (field && field.options) {\n var _iterator = _createForOfIteratorHelper(field.options),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var option = _step.value;\n\n if (option && option.ref && isDetached(option.ref)) {\n removeFieldEventListenerAndRef(field);\n }\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n } else if (field && isDetached(field.ref)) {\n removeFieldEventListenerAndRef(field);\n }\n }\n });\n observer.observe(window.document, {\n childList: true,\n subtree: true\n });\n return observer;\n}\n\nvar modeChecker = function modeChecker(mode) {\n return {\n isOnSubmit: !mode || mode === VALIDATION_MODE.onSubmit,\n isOnBlur: mode === VALIDATION_MODE.onBlur,\n isOnChange: mode === VALIDATION_MODE.onChange,\n isOnAll: mode === VALIDATION_MODE.all,\n isOnTouch: mode === VALIDATION_MODE.onTouched\n };\n};\n\nvar isRadioOrCheckboxFunction = function isRadioOrCheckboxFunction(ref) {\n return isRadioInput(ref) || isCheckBoxInput(ref);\n};\n\nvar isWindowUndefined = typeof window === UNDEFINED;\nvar isWeb = typeof document !== UNDEFINED && !isWindowUndefined && !isUndefined(window.HTMLElement);\nvar isProxyEnabled = isWeb ? 'Proxy' in window : typeof Proxy !== UNDEFINED;\n\nfunction useForm() {\n var _ref14 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref14$mode = _ref14.mode,\n mode = _ref14$mode === void 0 ? VALIDATION_MODE.onSubmit : _ref14$mode,\n _ref14$reValidateMode = _ref14.reValidateMode,\n reValidateMode = _ref14$reValidateMode === void 0 ? VALIDATION_MODE.onChange : _ref14$reValidateMode,\n resolver = _ref14.resolver,\n context = _ref14.context,\n _ref14$defaultValues = _ref14.defaultValues,\n defaultValues = _ref14$defaultValues === void 0 ? {} : _ref14$defaultValues,\n _ref14$shouldFocusErr = _ref14.shouldFocusError,\n shouldFocusError = _ref14$shouldFocusErr === void 0 ? true : _ref14$shouldFocusErr,\n _ref14$shouldUnregist = _ref14.shouldUnregister,\n shouldUnregister = _ref14$shouldUnregist === void 0 ? true : _ref14$shouldUnregist,\n criteriaMode = _ref14.criteriaMode;\n\n var fieldsRef = useRef({});\n var fieldArrayDefaultValuesRef = useRef({});\n var watchFieldsRef = useRef(new Set());\n var useWatchFieldsRef = useRef({});\n var useWatchRenderFunctionsRef = useRef({});\n var fieldsWithValidationRef = useRef({});\n var validFieldsRef = useRef({});\n var defaultValuesRef = useRef(defaultValues);\n var defaultValuesAtRenderRef = useRef({});\n var isUnMount = useRef(false);\n var isWatchAllRef = useRef(false);\n var handleChangeRef = useRef();\n var shallowFieldsStateRef = useRef(shouldUnregister ? {} : Object.assign({}, defaultValues));\n var resetFieldArrayFunctionRef = useRef({});\n var contextRef = useRef(context);\n var resolverRef = useRef(resolver);\n var fieldArrayNamesRef = useRef(new Set());\n var modeRef = useRef(modeChecker(mode));\n var _modeRef$current = modeRef.current,\n isOnSubmit = _modeRef$current.isOnSubmit,\n isOnTouch = _modeRef$current.isOnTouch;\n var isValidateAllFieldCriteria = criteriaMode === VALIDATION_MODE.all;\n\n var _useState = useState({\n isDirty: false,\n dirtyFields: {},\n isSubmitted: false,\n submitCount: 0,\n touched: {},\n isSubmitting: false,\n isSubmitSuccessful: false,\n isValid: !isOnSubmit,\n errors: {}\n }),\n _useState2 = _slicedToArray(_useState, 2),\n formState = _useState2[0],\n setFormState = _useState2[1];\n\n var readFormStateRef = useRef({\n isDirty: !isProxyEnabled,\n dirtyFields: !isProxyEnabled,\n touched: !isProxyEnabled || isOnTouch,\n isSubmitting: !isProxyEnabled,\n isValid: !isProxyEnabled\n });\n var formStateRef = useRef(formState);\n var observerRef = useRef();\n var _useRef$current = useRef(modeChecker(reValidateMode)).current,\n isReValidateOnBlur = _useRef$current.isOnBlur,\n isReValidateOnChange = _useRef$current.isOnChange;\n contextRef.current = context;\n resolverRef.current = resolver;\n formStateRef.current = formState;\n var updateFormState = useCallback(function () {\n var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n return !isUnMount.current && setFormState(Object.assign(Object.assign({}, formStateRef.current), state));\n }, []);\n var shouldRenderBaseOnError = useCallback(function (name, error) {\n var shouldRender = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n var state = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var isValid = arguments.length > 4 ? arguments[4] : undefined;\n var shouldReRender = shouldRender || isErrorStateChanged({\n errors: formStateRef.current.errors,\n error: error,\n name: name,\n validFields: validFieldsRef.current,\n fieldsWithValidation: fieldsWithValidationRef.current\n });\n var previousError = get(formStateRef.current.errors, name);\n\n if (error) {\n unset(validFieldsRef.current, name);\n shouldReRender = shouldReRender || !previousError || !deepEqual(previousError, error, true);\n set(formStateRef.current.errors, name, error);\n } else {\n if (get(fieldsWithValidationRef.current, name) || resolverRef.current) {\n set(validFieldsRef.current, name, true);\n shouldReRender = shouldReRender || previousError;\n }\n\n unset(formStateRef.current.errors, name);\n }\n\n if (shouldReRender && !isNullOrUndefined(shouldRender) || !isEmptyObject(state)) {\n updateFormState(Object.assign(Object.assign(Object.assign({}, state), {\n errors: formStateRef.current.errors\n }), resolverRef.current ? {\n isValid: !!isValid\n } : {}));\n }\n }, []);\n var setFieldValue = useCallback(function (name, rawValue) {\n var _fieldsRef$current$na = fieldsRef.current[name],\n ref = _fieldsRef$current$na.ref,\n options = _fieldsRef$current$na.options;\n var value = isWeb && isHTMLElement(ref) && isNullOrUndefined(rawValue) ? '' : rawValue;\n\n if (isRadioInput(ref) && options) {\n options.forEach(function (_ref15) {\n var radioRef = _ref15.ref;\n return radioRef.checked = radioRef.value === value;\n });\n } else if (isFileInput(ref) && !isString(value)) {\n ref.files = value;\n } else if (isMultipleSelect(ref)) {\n _toConsumableArray(ref.options).forEach(function (selectRef) {\n return selectRef.selected = value.includes(selectRef.value);\n });\n } else if (isCheckBoxInput(ref) && options) {\n options.length > 1 ? options.forEach(function (_ref16) {\n var checkboxRef = _ref16.ref;\n return checkboxRef.checked = isArray(value) ? !!value.find(function (data) {\n return data === checkboxRef.value;\n }) : value === checkboxRef.value;\n }) : options[0].ref.checked = !!value;\n } else {\n ref.value = value;\n }\n }, []);\n\n var isFormDirty = function isFormDirty() {\n return !deepEqual(getValues(), isEmptyObject(defaultValuesRef.current) ? defaultValuesAtRenderRef.current : defaultValuesRef.current) || !isEmptyObject(formStateRef.current.dirtyFields);\n };\n\n var updateAndGetDirtyState = useCallback(function (name) {\n var shouldRender = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n\n if (readFormStateRef.current.isDirty || readFormStateRef.current.dirtyFields) {\n var isFieldDirty = get(defaultValuesAtRenderRef.current, name) !== getFieldValue(fieldsRef, name, shallowFieldsStateRef);\n var isDirtyFieldExist = get(formStateRef.current.dirtyFields, name);\n var previousIsDirty = formStateRef.current.isDirty;\n isFieldDirty ? set(formStateRef.current.dirtyFields, name, true) : unset(formStateRef.current.dirtyFields, name);\n var state = {\n isDirty: isFormDirty(),\n dirtyFields: formStateRef.current.dirtyFields\n };\n var isChanged = readFormStateRef.current.isDirty && previousIsDirty !== state.isDirty || readFormStateRef.current.dirtyFields && isDirtyFieldExist !== get(formStateRef.current.dirtyFields, name);\n\n if (isChanged && shouldRender) {\n formStateRef.current = Object.assign(Object.assign({}, formStateRef.current), state);\n updateFormState(Object.assign({}, state));\n }\n\n return isChanged ? state : {};\n }\n\n return {};\n }, []);\n var executeValidation = useCallback( /*#__PURE__*/function () {\n var _ref17 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(name, skipReRender) {\n var _error;\n\n return _regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n if (!fieldsRef.current[name]) {\n _context2.next = 7;\n break;\n }\n\n _context2.next = 3;\n return validateField(fieldsRef, isValidateAllFieldCriteria, fieldsRef.current[name], shallowFieldsStateRef);\n\n case 3:\n _context2.t0 = name;\n _error = _context2.sent[_context2.t0];\n shouldRenderBaseOnError(name, _error, skipReRender);\n return _context2.abrupt(\"return\", isUndefined(_error));\n\n case 7:\n return _context2.abrupt(\"return\", false);\n\n case 8:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2);\n }));\n\n return function (_x5, _x6) {\n return _ref17.apply(this, arguments);\n };\n }(), [shouldRenderBaseOnError, isValidateAllFieldCriteria]);\n var executeSchemaOrResolverValidation = useCallback( /*#__PURE__*/function () {\n var _ref18 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee3(names) {\n var _yield$resolverRef$cu, errors, previousFormIsValid, isInputsValid, _error2;\n\n return _regeneratorRuntime.wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n _context3.next = 2;\n return resolverRef.current(getValues(), contextRef.current, isValidateAllFieldCriteria);\n\n case 2:\n _yield$resolverRef$cu = _context3.sent;\n errors = _yield$resolverRef$cu.errors;\n previousFormIsValid = formStateRef.current.isValid;\n\n if (!isArray(names)) {\n _context3.next = 11;\n break;\n }\n\n isInputsValid = names.map(function (name) {\n var error = get(errors, name);\n error ? set(formStateRef.current.errors, name, error) : unset(formStateRef.current.errors, name);\n return !error;\n }).every(Boolean);\n updateFormState({\n isValid: isEmptyObject(errors),\n errors: formStateRef.current.errors\n });\n return _context3.abrupt(\"return\", isInputsValid);\n\n case 11:\n _error2 = get(errors, names);\n shouldRenderBaseOnError(names, _error2, previousFormIsValid !== isEmptyObject(errors), {}, isEmptyObject(errors));\n return _context3.abrupt(\"return\", !_error2);\n\n case 14:\n case \"end\":\n return _context3.stop();\n }\n }\n }, _callee3);\n }));\n\n return function (_x7) {\n return _ref18.apply(this, arguments);\n };\n }(), [shouldRenderBaseOnError, isValidateAllFieldCriteria]);\n var trigger = useCallback( /*#__PURE__*/function () {\n var _ref19 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee5(name) {\n var fields, result;\n return _regeneratorRuntime.wrap(function _callee5$(_context5) {\n while (1) {\n switch (_context5.prev = _context5.next) {\n case 0:\n fields = name || Object.keys(fieldsRef.current);\n\n if (!resolverRef.current) {\n _context5.next = 3;\n break;\n }\n\n return _context5.abrupt(\"return\", executeSchemaOrResolverValidation(fields));\n\n case 3:\n if (!isArray(fields)) {\n _context5.next = 9;\n break;\n }\n\n _context5.next = 6;\n return Promise.all(fields.map( /*#__PURE__*/function () {\n var _ref20 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee4(data) {\n return _regeneratorRuntime.wrap(function _callee4$(_context4) {\n while (1) {\n switch (_context4.prev = _context4.next) {\n case 0:\n _context4.next = 2;\n return executeValidation(data, null);\n\n case 2:\n return _context4.abrupt(\"return\", _context4.sent);\n\n case 3:\n case \"end\":\n return _context4.stop();\n }\n }\n }, _callee4);\n }));\n\n return function (_x9) {\n return _ref20.apply(this, arguments);\n };\n }()));\n\n case 6:\n result = _context5.sent;\n updateFormState();\n return _context5.abrupt(\"return\", result.every(Boolean));\n\n case 9:\n _context5.next = 11;\n return executeValidation(fields, readFormStateRef.current.isValid);\n\n case 11:\n return _context5.abrupt(\"return\", _context5.sent);\n\n case 12:\n case \"end\":\n return _context5.stop();\n }\n }\n }, _callee5);\n }));\n\n return function (_x8) {\n return _ref19.apply(this, arguments);\n };\n }(), [executeSchemaOrResolverValidation, executeValidation]);\n var setInternalValues = useCallback(function (name, value, _ref21) {\n var shouldDirty = _ref21.shouldDirty,\n shouldValidate = _ref21.shouldValidate;\n var data = {};\n set(data, name, value);\n\n var _iterator2 = _createForOfIteratorHelper(getPath(name, value)),\n _step2;\n\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var fieldName = _step2.value;\n\n if (fieldsRef.current[fieldName]) {\n setFieldValue(fieldName, get(data, fieldName));\n shouldDirty && updateAndGetDirtyState(fieldName);\n shouldValidate && trigger(fieldName);\n }\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n }, [trigger, setFieldValue, updateAndGetDirtyState]);\n var setInternalValue = useCallback(function (name, value) {\n var config = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n if (fieldsRef.current[name]) {\n setFieldValue(name, value);\n config.shouldDirty && updateAndGetDirtyState(name);\n } else if (!isPrimitive(value)) {\n setInternalValues(name, value, config);\n\n if (fieldArrayNamesRef.current.has(name)) {\n fieldArrayDefaultValuesRef.current[name] = value;\n resetFieldArrayFunctionRef.current[name](_defineProperty({}, name, value));\n\n if (readFormStateRef.current.isDirty || readFormStateRef.current.dirtyFields) {\n set(formStateRef.current.dirtyFields, name, setFieldArrayDirtyFields(value, get(defaultValuesRef.current, name, []), get(formStateRef.current.dirtyFields, name, [])));\n updateFormState({\n isDirty: !deepEqual(Object.assign(Object.assign({}, getValues()), _defineProperty({}, name, value)), defaultValuesRef.current),\n dirtyFields: formStateRef.current.dirtyFields\n });\n }\n }\n }\n\n !shouldUnregister && set(shallowFieldsStateRef.current, name, value);\n }, [updateAndGetDirtyState, setFieldValue, setInternalValues]);\n\n var isFieldWatched = function isFieldWatched(name) {\n return isWatchAllRef.current || watchFieldsRef.current.has(name) || watchFieldsRef.current.has((name.match(/\\w+/) || [])[0]);\n };\n\n var renderWatchedInputs = function renderWatchedInputs(name) {\n var found = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n\n if (!isEmptyObject(useWatchFieldsRef.current)) {\n for (var key in useWatchFieldsRef.current) {\n if (!name || !useWatchFieldsRef.current[key].size || useWatchFieldsRef.current[key].has(name) || useWatchFieldsRef.current[key].has(getFieldArrayParentName(name))) {\n useWatchRenderFunctionsRef.current[key]();\n found = false;\n }\n }\n }\n\n return found;\n };\n\n function setValue(name, value, config) {\n setInternalValue(name, value, config);\n isFieldWatched(name) && updateFormState();\n renderWatchedInputs(name);\n (config || {}).shouldValidate && trigger(name);\n }\n\n handleChangeRef.current = handleChangeRef.current ? handleChangeRef.current : /*#__PURE__*/function () {\n var _ref23 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee6(_ref22) {\n var type, target, name, field, error, isValid, isBlurEvent, shouldSkipValidation, state, shouldRender, _yield$resolverRef$cu2, errors, previousFormIsValid;\n\n return _regeneratorRuntime.wrap(function _callee6$(_context6) {\n while (1) {\n switch (_context6.prev = _context6.next) {\n case 0:\n type = _ref22.type, target = _ref22.target;\n name = target.name;\n field = fieldsRef.current[name];\n\n if (!field) {\n _context6.next = 29;\n break;\n }\n\n isBlurEvent = type === EVENTS.BLUR;\n shouldSkipValidation = skipValidation(Object.assign({\n isBlurEvent: isBlurEvent,\n isReValidateOnChange: isReValidateOnChange,\n isReValidateOnBlur: isReValidateOnBlur,\n isTouched: !!get(formStateRef.current.touched, name),\n isSubmitted: formStateRef.current.isSubmitted\n }, modeRef.current));\n state = updateAndGetDirtyState(name, false);\n shouldRender = !isEmptyObject(state) || isFieldWatched(name);\n\n if (isBlurEvent && !get(formStateRef.current.touched, name) && readFormStateRef.current.touched) {\n set(formStateRef.current.touched, name, true);\n state = Object.assign(Object.assign({}, state), {\n touched: formStateRef.current.touched\n });\n }\n\n if (!shouldSkipValidation) {\n _context6.next = 12;\n break;\n }\n\n renderWatchedInputs(name);\n return _context6.abrupt(\"return\", (!isEmptyObject(state) || shouldRender && isEmptyObject(state)) && updateFormState(state));\n\n case 12:\n if (!resolverRef.current) {\n _context6.next = 23;\n break;\n }\n\n _context6.next = 15;\n return resolverRef.current(getValues(), contextRef.current, isValidateAllFieldCriteria);\n\n case 15:\n _yield$resolverRef$cu2 = _context6.sent;\n errors = _yield$resolverRef$cu2.errors;\n previousFormIsValid = formStateRef.current.isValid;\n error = get(errors, name);\n isValid = isEmptyObject(errors);\n\n if (previousFormIsValid !== isValid) {\n shouldRender = true;\n }\n\n _context6.next = 27;\n break;\n\n case 23:\n _context6.next = 25;\n return validateField(fieldsRef, isValidateAllFieldCriteria, field, shallowFieldsStateRef);\n\n case 25:\n _context6.t0 = name;\n error = _context6.sent[_context6.t0];\n\n case 27:\n renderWatchedInputs(name);\n shouldRenderBaseOnError(name, error, shouldRender, state, isValid);\n\n case 29:\n case \"end\":\n return _context6.stop();\n }\n }\n }, _callee6);\n }));\n\n return function (_x10) {\n return _ref23.apply(this, arguments);\n };\n }();\n\n function setFieldArrayDefaultValues(data) {\n if (!shouldUnregister) {\n var _iterator3 = _createForOfIteratorHelper(fieldArrayNamesRef.current),\n _step3;\n\n try {\n for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {\n var value = _step3.value;\n\n if (isKey(value) && !data[value]) {\n data = Object.assign(Object.assign({}, data), _defineProperty({}, value, []));\n }\n }\n } catch (err) {\n _iterator3.e(err);\n } finally {\n _iterator3.f();\n }\n }\n\n return data;\n }\n\n function getValues(payload) {\n if (isString(payload)) {\n return getFieldValue(fieldsRef, payload, shallowFieldsStateRef);\n }\n\n if (isArray(payload)) {\n var data = {};\n\n var _iterator4 = _createForOfIteratorHelper(payload),\n _step4;\n\n try {\n for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {\n var _name = _step4.value;\n set(data, _name, getFieldValue(fieldsRef, _name, shallowFieldsStateRef));\n }\n } catch (err) {\n _iterator4.e(err);\n } finally {\n _iterator4.f();\n }\n\n return data;\n }\n\n return setFieldArrayDefaultValues(getFieldsValues(fieldsRef, shallowFieldsStateRef));\n }\n\n var validateResolver = useCallback( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee7() {\n var values,\n _yield$resolverRef$cu3,\n errors,\n isValid,\n _args7 = arguments;\n\n return _regeneratorRuntime.wrap(function _callee7$(_context7) {\n while (1) {\n switch (_context7.prev = _context7.next) {\n case 0:\n values = _args7.length > 0 && _args7[0] !== undefined ? _args7[0] : {};\n _context7.next = 3;\n return resolverRef.current(Object.assign(Object.assign(Object.assign({}, defaultValuesRef.current), getValues()), values), contextRef.current, isValidateAllFieldCriteria);\n\n case 3:\n _yield$resolverRef$cu3 = _context7.sent;\n errors = _yield$resolverRef$cu3.errors;\n isValid = isEmptyObject(errors);\n formStateRef.current.isValid !== isValid && updateFormState({\n isValid: isValid\n });\n\n case 7:\n case \"end\":\n return _context7.stop();\n }\n }\n }, _callee7);\n })), [isValidateAllFieldCriteria]);\n var removeFieldEventListener = useCallback(function (field, forceDelete) {\n return findRemovedFieldAndRemoveListener(fieldsRef, handleChangeRef.current, field, shallowFieldsStateRef, shouldUnregister, forceDelete);\n }, [shouldUnregister]);\n var removeFieldEventListenerAndRef = useCallback(function (field, forceDelete) {\n if (field) {\n removeFieldEventListener(field, forceDelete);\n\n if (shouldUnregister && !filterOutFalsy(field.options || []).length) {\n unset(defaultValuesAtRenderRef.current, field.ref.name);\n unset(validFieldsRef.current, field.ref.name);\n unset(fieldsWithValidationRef.current, field.ref.name);\n unset(formStateRef.current.errors, field.ref.name);\n set(formStateRef.current.dirtyFields, field.ref.name, true);\n updateFormState({\n errors: formStateRef.current.errors,\n isDirty: isFormDirty(),\n dirtyFields: formStateRef.current.dirtyFields\n });\n resolverRef.current && validateResolver();\n }\n }\n }, [validateResolver, removeFieldEventListener]);\n\n function clearErrors(name) {\n name && (isArray(name) ? name : [name]).forEach(function (inputName) {\n return fieldsRef.current[inputName] ? isKey(inputName) ? delete formStateRef.current.errors[inputName] : set(formStateRef.current.errors, inputName, undefined) : unset(formStateRef.current.errors, inputName);\n });\n updateFormState({\n errors: name ? formStateRef.current.errors : {}\n });\n }\n\n function setError(name, error) {\n var ref = (fieldsRef.current[name] || {}).ref;\n set(formStateRef.current.errors, name, Object.assign(Object.assign({}, error), {\n ref: ref\n }));\n updateFormState({\n isValid: false,\n errors: formStateRef.current.errors\n });\n error.shouldFocus && ref && ref.focus && ref.focus();\n }\n\n var watchInternal = useCallback(function (fieldNames, defaultValue, watchId) {\n var watchFields = watchId ? useWatchFieldsRef.current[watchId] : watchFieldsRef.current;\n var combinedDefaultValues = isUndefined(defaultValue) ? defaultValuesRef.current : defaultValue;\n var fieldValues = getFieldsValues(fieldsRef, shallowFieldsStateRef, false, fieldNames);\n\n if (isString(fieldNames)) {\n return assignWatchFields(fieldValues, fieldNames, watchFields, isUndefined(defaultValue) ? get(combinedDefaultValues, fieldNames) : defaultValue, true);\n }\n\n if (isArray(fieldNames)) {\n return fieldNames.reduce(function (previous, name) {\n return Object.assign(Object.assign({}, previous), _defineProperty({}, name, assignWatchFields(fieldValues, name, watchFields, combinedDefaultValues)));\n }, {});\n }\n\n isWatchAllRef.current = isUndefined(watchId);\n return transformToNestObject(!isEmptyObject(fieldValues) && fieldValues || combinedDefaultValues);\n }, []);\n\n function watch(fieldNames, defaultValue) {\n return watchInternal(fieldNames, defaultValue);\n }\n\n function unregister(name) {\n var _iterator5 = _createForOfIteratorHelper(isArray(name) ? name : [name]),\n _step5;\n\n try {\n for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {\n var fieldName = _step5.value;\n removeFieldEventListenerAndRef(fieldsRef.current[fieldName], true);\n }\n } catch (err) {\n _iterator5.e(err);\n } finally {\n _iterator5.f();\n }\n }\n\n function registerFieldRef(ref) {\n var validateOptions = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n if (process.env.NODE_ENV !== 'production') {\n if (!ref.name) {\n return console.warn('📋 Field is missing `name` attribute', ref, \"https://react-hook-form.com/api#useForm\");\n }\n\n if (fieldArrayNamesRef.current.has(ref.name.split(/\\[\\d+\\]$/)[0]) && !RegExp(\"^\".concat(ref.name.split(/\\[\\d+\\]$/)[0], \"[\\\\d+].\\\\w+\").replace(/\\[/g, '\\\\[').replace(/\\]/g, '\\\\]')).test(ref.name)) {\n return console.warn('📋 `name` prop should be in object shape: name=\"test[index].name\"', ref, 'https://react-hook-form.com/api#useFieldArray');\n }\n }\n\n var name = ref.name,\n type = ref.type,\n value = ref.value;\n var fieldRefAndValidationOptions = Object.assign({\n ref: ref\n }, validateOptions);\n var fields = fieldsRef.current;\n var isRadioOrCheckbox = isRadioOrCheckboxFunction(ref);\n var isFieldArray = isNameInFieldArray(fieldArrayNamesRef.current, name);\n\n var compareRef = function compareRef(currentRef) {\n return isWeb && (!isHTMLElement(ref) || currentRef === ref);\n };\n\n var field = fields[name];\n var isEmptyDefaultValue = true;\n var defaultValue;\n\n if (field && (isRadioOrCheckbox ? isArray(field.options) && filterOutFalsy(field.options).find(function (option) {\n return value === option.ref.value && compareRef(option.ref);\n }) : compareRef(field.ref))) {\n fields[name] = Object.assign(Object.assign({}, field), validateOptions);\n return;\n }\n\n if (type) {\n field = isRadioOrCheckbox ? Object.assign({\n options: [].concat(_toConsumableArray(filterOutFalsy(field && field.options || [])), [{\n ref: ref\n }]),\n ref: {\n type: type,\n name: name\n }\n }, validateOptions) : Object.assign({}, fieldRefAndValidationOptions);\n } else {\n field = fieldRefAndValidationOptions;\n }\n\n fields[name] = field;\n var isEmptyUnmountFields = isUndefined(get(shallowFieldsStateRef.current, name));\n\n if (!isEmptyObject(defaultValuesRef.current) || !isEmptyUnmountFields) {\n defaultValue = get(isEmptyUnmountFields ? defaultValuesRef.current : shallowFieldsStateRef.current, name);\n isEmptyDefaultValue = isUndefined(defaultValue);\n\n if (!isEmptyDefaultValue && !isFieldArray) {\n setFieldValue(name, defaultValue);\n }\n }\n\n if (!isEmptyObject(validateOptions)) {\n set(fieldsWithValidationRef.current, name, true);\n\n if (!isOnSubmit && readFormStateRef.current.isValid) {\n validateField(fieldsRef, isValidateAllFieldCriteria, field, shallowFieldsStateRef).then(function (error) {\n var previousFormIsValid = formStateRef.current.isValid;\n isEmptyObject(error) ? set(validFieldsRef.current, name, true) : unset(validFieldsRef.current, name);\n\n if (previousFormIsValid !== isEmptyObject(error)) {\n updateFormState();\n }\n });\n }\n }\n\n if (!defaultValuesAtRenderRef.current[name] && !(isFieldArray && isEmptyDefaultValue)) {\n var fieldValue = getFieldValue(fieldsRef, name, shallowFieldsStateRef);\n set(defaultValuesAtRenderRef.current, name, isEmptyDefaultValue ? isObject(fieldValue) ? Object.assign({}, fieldValue) : fieldValue : defaultValue);\n !isFieldArray && unset(formStateRef.current.dirtyFields, name);\n }\n\n if (type) {\n attachEventListeners(isRadioOrCheckbox && field.options ? field.options[field.options.length - 1] : field, isRadioOrCheckbox || isSelectInput(ref), handleChangeRef.current);\n }\n }\n\n function register(refOrValidationOptions, rules) {\n if (!isWindowUndefined) {\n if (isString(refOrValidationOptions)) {\n registerFieldRef({\n name: refOrValidationOptions\n }, rules);\n } else if (isObject(refOrValidationOptions) && 'name' in refOrValidationOptions) {\n registerFieldRef(refOrValidationOptions, rules);\n } else {\n return function (ref) {\n return ref && registerFieldRef(ref, refOrValidationOptions);\n };\n }\n }\n }\n\n var handleSubmit = useCallback(function (onValid, onInvalid) {\n return /*#__PURE__*/function () {\n var _ref25 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee8(e) {\n var fieldErrors, fieldValues, _yield$resolverRef$cu4, errors, values, _i4, _Object$values2, field, _name2, fieldError;\n\n return _regeneratorRuntime.wrap(function _callee8$(_context8) {\n while (1) {\n switch (_context8.prev = _context8.next) {\n case 0:\n if (e && e.preventDefault) {\n e.preventDefault();\n e.persist();\n }\n\n fieldErrors = {};\n fieldValues = setFieldArrayDefaultValues(getFieldsValues(fieldsRef, shallowFieldsStateRef, true));\n\n if (readFormStateRef.current.isSubmitting) {\n updateFormState({\n isSubmitting: true\n });\n }\n\n _context8.prev = 4;\n\n if (!resolverRef.current) {\n _context8.next = 16;\n break;\n }\n\n _context8.next = 8;\n return resolverRef.current(fieldValues, contextRef.current, isValidateAllFieldCriteria);\n\n case 8:\n _yield$resolverRef$cu4 = _context8.sent;\n errors = _yield$resolverRef$cu4.errors;\n values = _yield$resolverRef$cu4.values;\n formStateRef.current.errors = errors;\n fieldErrors = errors;\n fieldValues = values;\n _context8.next = 28;\n break;\n\n case 16:\n _i4 = 0, _Object$values2 = Object.values(fieldsRef.current);\n\n case 17:\n if (!(_i4 < _Object$values2.length)) {\n _context8.next = 28;\n break;\n }\n\n field = _Object$values2[_i4];\n\n if (!field) {\n _context8.next = 25;\n break;\n }\n\n _name2 = field.ref.name;\n _context8.next = 23;\n return validateField(fieldsRef, isValidateAllFieldCriteria, field, shallowFieldsStateRef);\n\n case 23:\n fieldError = _context8.sent;\n\n if (fieldError[_name2]) {\n set(fieldErrors, _name2, fieldError[_name2]);\n unset(validFieldsRef.current, _name2);\n } else if (get(fieldsWithValidationRef.current, _name2)) {\n unset(formStateRef.current.errors, _name2);\n set(validFieldsRef.current, _name2, true);\n }\n\n case 25:\n _i4++;\n _context8.next = 17;\n break;\n\n case 28:\n if (!(isEmptyObject(fieldErrors) && Object.keys(formStateRef.current.errors).every(function (name) {\n return name in fieldsRef.current;\n }))) {\n _context8.next = 34;\n break;\n }\n\n updateFormState({\n errors: {},\n isSubmitting: true\n });\n _context8.next = 32;\n return onValid(fieldValues, e);\n\n case 32:\n _context8.next = 40;\n break;\n\n case 34:\n formStateRef.current.errors = Object.assign(Object.assign({}, formStateRef.current.errors), fieldErrors);\n _context8.t0 = onInvalid;\n\n if (!_context8.t0) {\n _context8.next = 39;\n break;\n }\n\n _context8.next = 39;\n return onInvalid(fieldErrors, e);\n\n case 39:\n shouldFocusError && focusOnErrorField(fieldsRef.current, fieldErrors);\n\n case 40:\n _context8.prev = 40;\n updateFormState({\n isSubmitted: true,\n isSubmitting: false,\n isSubmitSuccessful: isEmptyObject(formStateRef.current.errors),\n errors: formStateRef.current.errors,\n submitCount: formStateRef.current.submitCount + 1\n });\n return _context8.finish(40);\n\n case 43:\n case \"end\":\n return _context8.stop();\n }\n }\n }, _callee8, null, [[4,, 40, 43]]);\n }));\n\n return function (_x11) {\n return _ref25.apply(this, arguments);\n };\n }();\n }, [shouldFocusError, isValidateAllFieldCriteria]);\n\n var resetRefs = function resetRefs(_ref26) {\n var errors = _ref26.errors,\n isDirty = _ref26.isDirty,\n isSubmitted = _ref26.isSubmitted,\n touched = _ref26.touched,\n isValid = _ref26.isValid,\n submitCount = _ref26.submitCount,\n dirtyFields = _ref26.dirtyFields;\n\n if (!isValid) {\n validFieldsRef.current = {};\n fieldsWithValidationRef.current = {};\n }\n\n defaultValuesAtRenderRef.current = {};\n fieldArrayDefaultValuesRef.current = {};\n watchFieldsRef.current = new Set();\n isWatchAllRef.current = false;\n updateFormState({\n submitCount: submitCount ? formStateRef.current.submitCount : 0,\n isDirty: isDirty ? formStateRef.current.isDirty : false,\n isSubmitted: isSubmitted ? formStateRef.current.isSubmitted : false,\n isValid: isValid ? formStateRef.current.isValid : false,\n dirtyFields: dirtyFields ? formStateRef.current.dirtyFields : {},\n touched: touched ? formStateRef.current.touched : {},\n errors: errors ? formStateRef.current.errors : {},\n isSubmitting: false,\n isSubmitSuccessful: false\n });\n };\n\n var reset = function reset(values) {\n var omitResetState = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n if (isWeb) {\n for (var _i5 = 0, _Object$values3 = Object.values(fieldsRef.current); _i5 < _Object$values3.length; _i5++) {\n var field = _Object$values3[_i5];\n\n if (field) {\n var _ref27 = field.ref,\n options = field.options;\n var inputRef = isRadioOrCheckboxFunction(_ref27) && isArray(options) ? options[0].ref : _ref27;\n\n if (isHTMLElement(inputRef)) {\n try {\n inputRef.closest('form').reset();\n break;\n } catch (_a) {}\n }\n }\n }\n }\n\n fieldsRef.current = {};\n defaultValuesRef.current = Object.assign({}, values || defaultValuesRef.current);\n\n if (values) {\n renderWatchedInputs('');\n }\n\n shallowFieldsStateRef.current = shouldUnregister ? {} : Object.assign({}, values) || {};\n Object.values(resetFieldArrayFunctionRef.current).forEach(function (resetFieldArray) {\n return isFunction(resetFieldArray) && resetFieldArray();\n });\n resetRefs(omitResetState);\n };\n\n observerRef.current = observerRef.current || !isWeb ? observerRef.current : onDomRemove(fieldsRef, removeFieldEventListenerAndRef);\n useEffect(function () {\n isUnMount.current = false;\n resolver && readFormStateRef.current.isValid && validateResolver();\n return function () {\n isUnMount.current = true;\n observerRef.current && observerRef.current.disconnect();\n shallowFieldsStateRef.current = {};\n\n if (process.env.NODE_ENV !== 'production') {\n return;\n }\n\n fieldsRef.current && Object.values(fieldsRef.current).forEach(function (field) {\n return removeFieldEventListenerAndRef(field, true);\n });\n };\n }, [removeFieldEventListenerAndRef]);\n\n if (!resolver && readFormStateRef.current.isValid) {\n formState.isValid = deepEqual(validFieldsRef.current, fieldsWithValidationRef.current) && isEmptyObject(formStateRef.current.errors);\n }\n\n var commonProps = {\n trigger: trigger,\n setValue: useCallback(setValue, [setInternalValue, trigger]),\n getValues: useCallback(getValues, []),\n register: useCallback(register, [defaultValuesRef.current]),\n unregister: useCallback(unregister, [])\n };\n var control = Object.assign({\n renderWatchedInputs: renderWatchedInputs,\n shouldUnregister: shouldUnregister,\n removeFieldEventListener: removeFieldEventListener,\n watchInternal: watchInternal,\n mode: modeRef.current,\n reValidateMode: {\n isReValidateOnBlur: isReValidateOnBlur,\n isReValidateOnChange: isReValidateOnChange\n },\n fieldsRef: fieldsRef,\n isWatchAllRef: isWatchAllRef,\n watchFieldsRef: watchFieldsRef,\n resetFieldArrayFunctionRef: resetFieldArrayFunctionRef,\n useWatchFieldsRef: useWatchFieldsRef,\n useWatchRenderFunctionsRef: useWatchRenderFunctionsRef,\n fieldArrayDefaultValuesRef: fieldArrayDefaultValuesRef,\n validFieldsRef: validFieldsRef,\n fieldsWithValidationRef: fieldsWithValidationRef,\n fieldArrayNamesRef: fieldArrayNamesRef,\n readFormStateRef: readFormStateRef,\n formStateRef: formStateRef,\n defaultValuesRef: defaultValuesRef,\n shallowFieldsStateRef: shallowFieldsStateRef,\n updateFormState: updateFormState,\n validateResolver: resolver ? validateResolver : undefined\n }, commonProps);\n return Object.assign({\n watch: watch,\n control: control,\n formState: isProxyEnabled ? new Proxy(formState, {\n get: function get(obj, prop) {\n if (process.env.NODE_ENV !== 'production') {\n if (prop === 'isValid' && isOnSubmit) {\n console.warn('📋 `formState.isValid` is applicable with `onTouched`, `onChange` or `onBlur` mode. https://react-hook-form.com/api#formState');\n }\n }\n\n if (prop in obj) {\n readFormStateRef.current[prop] = true;\n return obj[prop];\n }\n\n return undefined;\n }\n }) : formState,\n handleSubmit: handleSubmit,\n reset: useCallback(reset, []),\n clearErrors: useCallback(clearErrors, []),\n setError: useCallback(setError, []),\n errors: formState.errors\n }, commonProps);\n}\n/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\n\n\nfunction __rest(s, e) {\n var t = {};\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n}\n\nvar FormContext = createContext(null);\nFormContext.displayName = 'RHFContext';\n\nvar useFormContext = function useFormContext() {\n return useContext(FormContext);\n};\n\nvar FormProvider = function FormProvider(_a) {\n var children = _a.children,\n props = __rest(_a, [\"children\"]);\n\n return createElement(FormContext.Provider, {\n value: Object.assign({}, props)\n }, children);\n};\n\nvar generateId = function generateId() {\n var d = typeof performance === UNDEFINED ? Date.now() : performance.now() * 1000;\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {\n var r = (Math.random() * 16 + d) % 16 | 0;\n return (c == 'x' ? r : r & 0x3 | 0x8).toString(16);\n });\n};\n\nvar removeAt = function removeAt(data, index) {\n return [].concat(_toConsumableArray(data.slice(0, index)), _toConsumableArray(data.slice(index + 1)));\n};\n\nfunction removeAtIndexes(data, index) {\n var k = -1;\n\n while (++k < data.length) {\n if (index.indexOf(k) >= 0) {\n delete data[k];\n }\n }\n\n return filterOutFalsy(data);\n}\n\nvar removeArrayAt = function removeArrayAt(data, index) {\n return isUndefined(index) ? [] : isArray(index) ? removeAtIndexes(data, index) : removeAt(data, index);\n};\n\nvar moveArrayAt = function moveArrayAt(data, from, to) {\n if (isArray(data)) {\n if (isUndefined(data[to])) {\n data[to] = undefined;\n }\n\n data.splice(to, 0, data.splice(from, 1)[0]);\n return data;\n }\n\n return [];\n};\n\nvar swapArrayAt = function swapArrayAt(data, indexA, indexB) {\n var temp = [data[indexB], data[indexA]];\n data[indexA] = temp[0];\n data[indexB] = temp[1];\n};\n\nfunction prepend(data, value) {\n return [].concat(_toConsumableArray(isArray(value) ? value : [value || undefined]), _toConsumableArray(data));\n}\n\nfunction insert(data, index, value) {\n return [].concat(_toConsumableArray(data.slice(0, index)), _toConsumableArray(isArray(value) ? value : [value || undefined]), _toConsumableArray(data.slice(index)));\n}\n\nvar fillEmptyArray = function fillEmptyArray(value) {\n return isArray(value) ? Array(value.length).fill(undefined) : undefined;\n};\n\nfunction mapValueToBoolean(value) {\n if (isObject(value)) {\n var object = {};\n\n for (var key in value) {\n object[key] = true;\n }\n\n return [object];\n }\n\n return [true];\n}\n\nvar filterBooleanArray = function filterBooleanArray(value) {\n return (isArray(value) ? value : [value]).map(mapValueToBoolean).flat();\n};\n\nvar appendId = function appendId(value, keyName) {\n return Object.assign(_defineProperty({}, keyName, generateId()), value);\n};\n\nvar mapIds = function mapIds(data, keyName) {\n return (isArray(data) ? data : []).map(function (value) {\n return appendId(value, keyName);\n });\n};\n\nvar useFieldArray = function useFieldArray(_ref28) {\n var control = _ref28.control,\n name = _ref28.name,\n _ref28$keyName = _ref28.keyName,\n keyName = _ref28$keyName === void 0 ? 'id' : _ref28$keyName;\n var methods = useFormContext();\n\n if (process.env.NODE_ENV !== 'production') {\n if (!control && !methods) {\n throw new Error('📋 useFieldArray is missing `control` prop. https://react-hook-form.com/api#useFieldArray');\n }\n }\n\n var focusIndexRef = useRef(-1);\n\n var _ref29 = control || methods.control,\n isWatchAllRef = _ref29.isWatchAllRef,\n resetFieldArrayFunctionRef = _ref29.resetFieldArrayFunctionRef,\n fieldArrayNamesRef = _ref29.fieldArrayNamesRef,\n fieldsRef = _ref29.fieldsRef,\n defaultValuesRef = _ref29.defaultValuesRef,\n removeFieldEventListener = _ref29.removeFieldEventListener,\n formStateRef = _ref29.formStateRef,\n _ref29$formStateRef$c = _ref29.formStateRef.current,\n dirtyFields = _ref29$formStateRef$c.dirtyFields,\n touched = _ref29$formStateRef$c.touched,\n shallowFieldsStateRef = _ref29.shallowFieldsStateRef,\n updateFormState = _ref29.updateFormState,\n readFormStateRef = _ref29.readFormStateRef,\n watchFieldsRef = _ref29.watchFieldsRef,\n validFieldsRef = _ref29.validFieldsRef,\n fieldsWithValidationRef = _ref29.fieldsWithValidationRef,\n fieldArrayDefaultValuesRef = _ref29.fieldArrayDefaultValuesRef,\n validateResolver = _ref29.validateResolver,\n renderWatchedInputs = _ref29.renderWatchedInputs,\n getValues = _ref29.getValues,\n shouldUnregister = _ref29.shouldUnregister;\n\n var fieldArrayParentName = getFieldArrayParentName(name);\n\n var getDefaultValues = function getDefaultValues() {\n return _toConsumableArray(get(fieldArrayDefaultValuesRef.current, fieldArrayParentName) ? get(fieldArrayDefaultValuesRef.current, name, []) : get(shouldUnregister ? defaultValuesRef.current : shallowFieldsStateRef.current, name, []));\n };\n\n var memoizedDefaultValues = useRef(getDefaultValues());\n\n var _useState3 = useState(mapIds(memoizedDefaultValues.current, keyName)),\n _useState4 = _slicedToArray(_useState3, 2),\n fields = _useState4[0],\n setFields = _useState4[1];\n\n var allFields = useRef(fields);\n\n var getCurrentFieldsValues = function getCurrentFieldsValues() {\n return get(getValues() || {}, name, allFields.current).map(function (item, index) {\n return Object.assign(Object.assign({}, allFields.current[index]), item);\n });\n };\n\n allFields.current = fields;\n fieldArrayNamesRef.current.add(name);\n\n if (!get(fieldArrayDefaultValuesRef.current, fieldArrayParentName)) {\n set(fieldArrayDefaultValuesRef.current, fieldArrayParentName, get(defaultValuesRef.current, fieldArrayParentName));\n }\n\n var appendValueWithKey = function appendValueWithKey(values) {\n return values.map(function (value) {\n return appendId(value, keyName);\n });\n };\n\n var setFieldAndValidState = function setFieldAndValidState(fieldsValues) {\n setFields(fieldsValues);\n\n if (readFormStateRef.current.isValid && validateResolver) {\n var values = getValues();\n set(values, name, fieldsValues);\n validateResolver(values);\n }\n };\n\n var getIsDirtyState = function getIsDirtyState(flagOrFields) {\n return (readFormStateRef.current.isDirty || readFormStateRef.current.dirtyFields) && (isUndefined(flagOrFields) || !deepEqual(flagOrFields.map(function () {\n var _a = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n var _b = keyName,\n omitted = _a[_b],\n rest = __rest(_a, [typeof _b === \"symbol\" ? _b : _b + \"\"]);\n\n return rest;\n }), get(defaultValuesRef.current, name)));\n };\n\n var resetFields = function resetFields() {\n for (var key in fieldsRef.current) {\n if (isMatchFieldArrayName(key, name) && fieldsRef.current[key]) {\n removeFieldEventListener(fieldsRef.current[key], true);\n }\n }\n };\n\n var cleanup = function cleanup(ref) {\n return !filterOutFalsy(get(ref, name, [])).length && unset(ref, name);\n };\n\n var batchStateUpdate = function batchStateUpdate(method, args) {\n var isDirty = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;\n var shouldSet = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : true;\n var shouldUpdateValid = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;\n\n if (get(shallowFieldsStateRef.current, name)) {\n var output = method(get(shallowFieldsStateRef.current, name), args.argA, args.argB);\n shouldSet && set(shallowFieldsStateRef.current, name, output);\n }\n\n if (get(fieldArrayDefaultValuesRef.current, name)) {\n var _output = method(get(fieldArrayDefaultValuesRef.current, name), args.argA, args.argB);\n\n shouldSet && set(fieldArrayDefaultValuesRef.current, name, _output);\n cleanup(fieldArrayDefaultValuesRef.current);\n }\n\n if (isArray(get(formStateRef.current.errors, name))) {\n var _output2 = method(get(formStateRef.current.errors, name), args.argA, args.argB);\n\n shouldSet && set(formStateRef.current.errors, name, _output2);\n cleanup(formStateRef.current.errors);\n }\n\n if (readFormStateRef.current.touched && get(touched, name)) {\n var _output3 = method(get(touched, name), args.argA, args.argB);\n\n shouldSet && set(touched, name, _output3);\n cleanup(touched);\n }\n\n if (readFormStateRef.current.dirtyFields || readFormStateRef.current.isDirty) {\n var _output4 = method(get(dirtyFields, name, []), args.argC, args.argD);\n\n shouldSet && set(dirtyFields, name, _output4);\n cleanup(dirtyFields);\n }\n\n if (shouldUpdateValid && readFormStateRef.current.isValid && !validateResolver) {\n set(validFieldsRef.current, name, method(get(validFieldsRef.current, name, []), args.argA));\n cleanup(validFieldsRef.current);\n set(fieldsWithValidationRef.current, name, method(get(fieldsWithValidationRef.current, name, []), args.argA));\n cleanup(fieldsWithValidationRef.current);\n }\n\n updateFormState({\n errors: formStateRef.current.errors,\n dirtyFields: dirtyFields,\n isDirty: isDirty,\n touched: touched\n });\n };\n\n var append = function append(value) {\n var shouldFocus = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n setFieldAndValidState([].concat(_toConsumableArray(allFields.current), _toConsumableArray(isArray(value) ? appendValueWithKey(value) : [appendId(value, keyName)])));\n\n if (readFormStateRef.current.dirtyFields || readFormStateRef.current.isDirty) {\n var dirtyInputs = get(dirtyFields, name, []);\n set(dirtyFields, name, [].concat(_toConsumableArray(allFields.current.length > dirtyInputs.length ? (fillEmptyArray(allFields.current) || []).map(function (_, index) {\n return dirtyInputs[index];\n }) : dirtyInputs), _toConsumableArray(filterBooleanArray(value))));\n updateFormState({\n isDirty: true,\n dirtyFields: dirtyFields\n });\n }\n\n if (!shouldUnregister) {\n shallowFieldsStateRef.current[name] = [].concat(_toConsumableArray(shallowFieldsStateRef.current[name] || []), [value]);\n }\n\n focusIndexRef.current = shouldFocus ? allFields.current.length : -1;\n };\n\n var prepend$1 = function prepend$1(value) {\n var shouldFocus = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n var emptyArray = fillEmptyArray(value);\n setFieldAndValidState(prepend(getCurrentFieldsValues(), isArray(value) ? appendValueWithKey(value) : [appendId(value, keyName)]));\n resetFields();\n batchStateUpdate(prepend, {\n argA: emptyArray,\n argC: filterBooleanArray(value)\n });\n focusIndexRef.current = shouldFocus ? 0 : -1;\n };\n\n var remove = function remove(index) {\n var fieldValues = getCurrentFieldsValues();\n setFieldAndValidState(removeArrayAt(fieldValues, index));\n resetFields();\n batchStateUpdate(removeArrayAt, {\n argA: index,\n argC: index\n }, getIsDirtyState(removeArrayAt(fieldValues, index)), true, true);\n };\n\n var insert$1 = function insert$1(index, value) {\n var shouldFocus = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;\n var emptyArray = fillEmptyArray(value);\n var fieldValues = getCurrentFieldsValues();\n setFieldAndValidState(insert(fieldValues, index, isArray(value) ? appendValueWithKey(value) : [appendId(value, keyName)]));\n resetFields();\n batchStateUpdate(insert, {\n argA: index,\n argB: emptyArray,\n argC: index,\n argD: filterBooleanArray(value)\n }, getIsDirtyState(insert(fieldValues, index)));\n focusIndexRef.current = shouldFocus ? index : -1;\n };\n\n var swap = function swap(indexA, indexB) {\n var fieldValues = getCurrentFieldsValues();\n swapArrayAt(fieldValues, indexA, indexB);\n resetFields();\n setFieldAndValidState(_toConsumableArray(fieldValues));\n batchStateUpdate(swapArrayAt, {\n argA: indexA,\n argB: indexB,\n argC: indexA,\n argD: indexB\n }, getIsDirtyState(fieldValues), false);\n };\n\n var move = function move(from, to) {\n var fieldValues = getCurrentFieldsValues();\n moveArrayAt(fieldValues, from, to);\n resetFields();\n setFieldAndValidState(_toConsumableArray(fieldValues));\n batchStateUpdate(moveArrayAt, {\n argA: from,\n argB: to,\n argC: from,\n argD: to\n }, getIsDirtyState(fieldValues), false);\n };\n\n var reset = function reset(data) {\n resetFields();\n !data && unset(fieldArrayDefaultValuesRef.current, name);\n unset(shallowFieldsStateRef.current, name);\n memoizedDefaultValues.current = get(data || defaultValuesRef.current, name);\n setFields(mapIds(memoizedDefaultValues.current, keyName));\n };\n\n useEffect(function () {\n if (process.env.NODE_ENV !== 'production') {\n if (!name) {\n console.warn('📋 useFieldArray is missing `name` attribute. https://react-hook-form.com/api#useFieldArray');\n }\n }\n\n var defaultValues = get(fieldArrayDefaultValuesRef.current, name);\n\n if (defaultValues && fields.length < defaultValues.length) {\n defaultValues.pop();\n set(fieldArrayDefaultValuesRef.current, name, defaultValues);\n }\n\n if (isWatchAllRef.current) {\n updateFormState();\n } else if (watchFieldsRef) {\n var shouldRenderUseWatch = true;\n\n var _iterator6 = _createForOfIteratorHelper(watchFieldsRef.current),\n _step6;\n\n try {\n for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {\n var watchField = _step6.value;\n\n if (watchField.startsWith(name)) {\n updateFormState();\n shouldRenderUseWatch = false;\n break;\n }\n }\n } catch (err) {\n _iterator6.e(err);\n } finally {\n _iterator6.f();\n }\n\n shouldRenderUseWatch && renderWatchedInputs(name);\n }\n\n if (focusIndexRef.current > -1) {\n for (var key in fieldsRef.current) {\n var field = fieldsRef.current[key];\n\n if (key.startsWith(\"\".concat(name, \"[\").concat(focusIndexRef.current, \"]\")) && field.ref.focus) {\n field.ref.focus();\n break;\n }\n }\n }\n\n focusIndexRef.current = -1;\n }, [fields, name]);\n useEffect(function () {\n var resetFunctions = resetFieldArrayFunctionRef.current;\n var fieldArrayNames = fieldArrayNamesRef.current;\n\n if (!getFieldArrayParentName(name)) {\n resetFunctions[name] = reset;\n }\n\n return function () {\n resetFields();\n delete resetFunctions[name];\n fieldArrayNames.delete(name);\n };\n }, []);\n return {\n swap: useCallback(swap, [name]),\n move: useCallback(move, [name]),\n prepend: useCallback(prepend$1, [name]),\n append: useCallback(append, [name]),\n remove: useCallback(remove, [name]),\n insert: useCallback(insert$1, [name]),\n fields: fields\n };\n};\n\nfunction useWatch(_ref30) {\n var control = _ref30.control,\n name = _ref30.name,\n defaultValue = _ref30.defaultValue;\n var methods = useFormContext();\n\n if (process.env.NODE_ENV !== 'production') {\n if (!control && !methods) {\n throw new Error('📋 useWatch is missing `control` prop. https://react-hook-form.com/api#useWatch');\n }\n }\n\n var _ref31 = control || methods.control,\n useWatchFieldsRef = _ref31.useWatchFieldsRef,\n useWatchRenderFunctionsRef = _ref31.useWatchRenderFunctionsRef,\n watchInternal = _ref31.watchInternal,\n defaultValuesRef = _ref31.defaultValuesRef;\n\n var _useState5 = useState(isUndefined(defaultValue) ? isString(name) ? get(defaultValuesRef.current, name) : isArray(name) ? name.reduce(function (previous, inputName) {\n return Object.assign(Object.assign({}, previous), _defineProperty({}, inputName, get(defaultValuesRef.current, inputName)));\n }, {}) : defaultValuesRef.current : defaultValue),\n _useState6 = _slicedToArray(_useState5, 2),\n value = _useState6[0],\n setValue = _useState6[1];\n\n var idRef = useRef();\n var defaultValueRef = useRef(defaultValue);\n var updateWatchValue = useCallback(function () {\n var value = watchInternal(name, defaultValueRef.current, idRef.current);\n setValue(isObject(value) ? Object.assign({}, value) : isArray(value) ? _toConsumableArray(value) : value);\n }, [setValue, watchInternal, defaultValueRef, name, idRef]);\n useEffect(function () {\n if (process.env.NODE_ENV !== 'production') {\n if (name === '') {\n console.warn('📋 useWatch is missing `name` attribute. https://react-hook-form.com/api#useWatch');\n }\n }\n\n var id = idRef.current = generateId();\n var watchFieldsHookRender = useWatchRenderFunctionsRef.current;\n var watchFieldsHook = useWatchFieldsRef.current;\n watchFieldsHook[id] = new Set();\n watchFieldsHookRender[id] = updateWatchValue;\n watchInternal(name, defaultValueRef.current, id);\n return function () {\n delete watchFieldsHook[id];\n delete watchFieldsHookRender[id];\n };\n }, [name, updateWatchValue, useWatchRenderFunctionsRef, useWatchFieldsRef, watchInternal, defaultValueRef]);\n return isUndefined(value) ? defaultValue : value;\n}\n\nvar getInputValue = function getInputValue(event) {\n return isPrimitive(event) || !isObject(event.target) || isObject(event.target) && !event.type ? event : isUndefined(event.target.value) ? event.target.checked : event.target.value;\n};\n\nvar Controller = function Controller(_a) {\n var name = _a.name,\n rules = _a.rules,\n as = _a.as,\n render = _a.render,\n defaultValue = _a.defaultValue,\n control = _a.control,\n onFocus = _a.onFocus,\n rest = __rest(_a, [\"name\", \"rules\", \"as\", \"render\", \"defaultValue\", \"control\", \"onFocus\"]);\n\n var methods = useFormContext();\n\n if (process.env.NODE_ENV !== 'production') {\n if (!control && !methods) {\n throw new Error('📋 Controller is missing `control` prop. https://react-hook-form.com/api#Controller');\n }\n }\n\n var _ref32 = control || methods.control,\n defaultValuesRef = _ref32.defaultValuesRef,\n setValue = _ref32.setValue,\n register = _ref32.register,\n unregister = _ref32.unregister,\n trigger = _ref32.trigger,\n mode = _ref32.mode,\n _ref32$reValidateMode = _ref32.reValidateMode,\n isReValidateOnBlur = _ref32$reValidateMode.isReValidateOnBlur,\n isReValidateOnChange = _ref32$reValidateMode.isReValidateOnChange,\n _ref32$formStateRef$c = _ref32.formStateRef.current,\n isSubmitted = _ref32$formStateRef$c.isSubmitted,\n touched = _ref32$formStateRef$c.touched,\n updateFormState = _ref32.updateFormState,\n readFormStateRef = _ref32.readFormStateRef,\n fieldsRef = _ref32.fieldsRef,\n fieldArrayNamesRef = _ref32.fieldArrayNamesRef,\n shallowFieldsStateRef = _ref32.shallowFieldsStateRef;\n\n var isNotFieldArray = !isNameInFieldArray(fieldArrayNamesRef.current, name);\n\n var getInitialValue = function getInitialValue() {\n return !isUndefined(get(shallowFieldsStateRef.current, name)) && isNotFieldArray ? get(shallowFieldsStateRef.current, name) : isUndefined(defaultValue) ? get(defaultValuesRef.current, name) : defaultValue;\n };\n\n var _useState7 = useState(getInitialValue()),\n _useState8 = _slicedToArray(_useState7, 2),\n value = _useState8[0],\n setInputStateValue = _useState8[1];\n\n var valueRef = useRef(value);\n var onFocusRef = useRef(onFocus);\n\n var shouldValidate = function shouldValidate(isBlurEvent) {\n return !skipValidation(Object.assign({\n isBlurEvent: isBlurEvent,\n isReValidateOnBlur: isReValidateOnBlur,\n isReValidateOnChange: isReValidateOnChange,\n isSubmitted: isSubmitted,\n isTouched: !!get(touched, name)\n }, mode));\n };\n\n var commonTask = function commonTask(_ref33) {\n var _ref34 = _slicedToArray(_ref33, 1),\n event = _ref34[0];\n\n var data = getInputValue(event);\n setInputStateValue(data);\n valueRef.current = data;\n return data;\n };\n\n var registerField = useCallback(function () {\n if (process.env.NODE_ENV !== 'production' && !name) {\n return console.warn('📋 Field is missing `name` prop. https://react-hook-form.com/api#Controller');\n }\n\n if (fieldsRef.current[name]) {\n fieldsRef.current[name] = Object.assign({\n ref: fieldsRef.current[name].ref\n }, rules);\n } else {\n register(Object.defineProperty({\n name: name,\n focus: onFocusRef.current\n }, VALUE, {\n set: function set(data) {\n setInputStateValue(data);\n valueRef.current = data;\n },\n get: function get() {\n return valueRef.current;\n }\n }), rules);\n\n if (isNotFieldArray && !get(defaultValuesRef.current, name)) {\n setInputStateValue(getInitialValue());\n }\n }\n }, [rules, name, register]);\n useEffect(function () {\n return function () {\n !isNameInFieldArray(fieldArrayNamesRef.current, name) && unregister(name);\n };\n }, [unregister, name, fieldArrayNamesRef]);\n useEffect(function () {\n if (process.env.NODE_ENV !== 'production') {\n if (isUndefined(value)) {\n console.warn(\"\\uD83D\\uDCCB \".concat(name, \" is missing in the 'defaultValue' prop of either its Controller (https://react-hook-form.com/api#Controller) or useForm (https://react-hook-form.com/api#useForm)\"));\n }\n\n if (!as && !render || as && render) {\n console.warn(\"\\uD83D\\uDCCB \".concat(name, \" Controller should use either the 'as' or 'render' prop, not both. https://react-hook-form.com/api#Controller\"));\n }\n\n if (!isNotFieldArray && isUndefined(defaultValue)) {\n console.warn('📋 Controller is missing `defaultValue` prop when using `useFieldArray`. https://react-hook-form.com/api#Controller');\n }\n }\n\n registerField();\n }, [registerField]);\n useEffect(function () {\n if (!fieldsRef.current[name]) {\n registerField();\n\n if (isNotFieldArray) {\n setInputStateValue(getInitialValue());\n }\n }\n });\n\n var onBlur = function onBlur() {\n if (readFormStateRef.current.touched && !get(touched, name)) {\n set(touched, name, true);\n updateFormState({\n touched: touched\n });\n }\n\n if (shouldValidate(true)) {\n trigger(name);\n }\n };\n\n var onChange = function onChange() {\n for (var _len = arguments.length, event = new Array(_len), _key = 0; _key < _len; _key++) {\n event[_key] = arguments[_key];\n }\n\n return setValue(name, commonTask(event), {\n shouldValidate: shouldValidate(),\n shouldDirty: true\n });\n };\n\n var props = Object.assign(Object.assign({}, rest), {\n onChange: onChange,\n onBlur: onBlur,\n name: name,\n value: value\n });\n return as ? isValidElement(as) ? cloneElement(as, props) : createElement(as, props) : render ? render({\n onChange: onChange,\n onBlur: onBlur,\n value: value,\n name: name\n }) : null;\n};\n\nexport { Controller, FormProvider, appendErrors, get, transformToNestObject, useFieldArray, useForm, useFormContext, useWatch };","import React, {\n FC,\n useState,\n Ref,\n useRef,\n} from 'react';\nimport { Helmet } from 'react-helmet';\n\n/**\n * ReCAPTCHAで利用するWindowオブジェクト\n */\ntype ReCaptchaWindow = {\n reCaptchaCallback: () => void,\n reCaptchaExpiredCallback: () => void,\n reCaptchaOnLoadAPI: () => void,\n // reCAPTCHA API 仕様: https://developers.google.com/recaptcha/docs/display#js_api\n grecaptcha: {\n getResponse: () => string,\n render: (element: HTMLElement, options: {\n sitekey: string,\n theme?: 'light' | 'dark',\n size?: 'compact' | 'normal',\n tabindex?: number,\n callback?: () => void,\n 'expired-callback'?: () => void,\n 'error-callback'?: () => void,\n }) => void,\n },\n};\n\n/**\n * ReCAPTCHAコンポーネントのプロパティ\n */\ntype ReCaptchaElementProps = {\n className: string\n reCaptchaRef: Ref\n}\n\n/**\n * ReCAPTCHAコンポーネント描画に必要なプロパティ\n */\ntype ReCaptchaRenderProps = Pick;\n\n/**\n * ReCAPTCHAコンポーネント\n */\nconst ReCaptchaElement: FC = ({ className, reCaptchaRef }) => (\n <>\n \n \n \n \n \n);\n\n/**\n * ReCAPTCHA生成ReactHook\n */\n\ntype UseReCaptcha = (\n fn?: () => void,\n fnExpired?: () => void\n) => {\n isSuccess: boolean\n responseToken?: string,\n render: (props: ReCaptchaRenderProps) => React.ReactElement\n}\n\nconst useReCaptcha: UseReCaptcha = (\n fn = (): void => { /* do nothing */ },\n fnExpired = (): void => { /* do nothing */ },\n) => {\n const [isSuccess, setIsSuccess] = useState(false);\n const [responseToken, setResponseToken] = useState();\n const reCaptchaRef: ReCaptchaElementProps['reCaptchaRef'] = useRef(null);\n\n if (typeof window !== 'undefined') {\n const w = window as unknown as ReCaptchaWindow;\n const reCaptchaCallback = (): void => {\n setResponseToken(w.grecaptcha.getResponse());\n fn();\n setIsSuccess(true);\n };\n const reCaptchaExpiredCallback = (): void => {\n fnExpired();\n setIsSuccess(false);\n };\n w.reCaptchaOnLoadAPI = (): void => {\n if (reCaptchaRef.current) {\n w.grecaptcha.render(reCaptchaRef.current, {\n sitekey: process.env.GATSBY_RECAPTCHA_DATA_SITEKEY ?? '',\n callback: reCaptchaCallback,\n 'expired-callback': reCaptchaExpiredCallback,\n });\n }\n };\n w.reCaptchaCallback = reCaptchaCallback;\n w.reCaptchaExpiredCallback = reCaptchaExpiredCallback;\n }\n\n return {\n isSuccess,\n responseToken,\n render: (props): React.ReactElement => (\n \n ),\n };\n};\n\nexport default useReCaptcha;\n","export const REGEX_EMAIL = /^(([^<>()[\\]\\\\.,;:\\s@\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\nexport const REGEX_KATAKANA = /^[ァ-ヶー]+$/;\nexport const REGEX_PHONE = /^0\\d{9,10}$/;\nexport const REGEX_NUMBER = /\\d/;\nexport const REGEX_POSTAL_CODE = /^\\d{3}-?\\d{4}$/;\n","import React, { FC, ComponentProps } from 'react';\nimport * as styles from './CheckBox.module.styl';\n\ntype CheckBoxProps = {\n id: string,\n labelProps?: ComponentProps<'label'>\n checkBoxProps?: ComponentProps<'input'>\n};\n\n/**\n * チェックボックス\n */\nconst CheckBox: FC = ({\n id,\n labelProps = {},\n checkBoxProps = {},\n children,\n}) => (\n \n);\n\nexport default CheckBox;\n","// extracted by mini-css-extract-plugin\nexport const check = \"CheckBox-module--check--rrlLS\";\nexport const checkIcon = \"CheckBox-module--check-icon--3SQRj\";\nexport const checkContent = \"CheckBox-module--check-content--2OPpd\";","import React, { FC, useState } from 'react';\nimport { useForm, SubmitHandler } from 'react-hook-form';\nimport { Link } from 'gatsby';\nimport useReCaptcha from '@/common/ui/hook/useReCaptcha';\nimport { REGEX_EMAIL, REGEX_KATAKANA } from '@/common/core/validation';\nimport CheckBox from '@/newcar/ui/contact/molecule/CheckBox';\nimport NEWCAR_DEFINE from '@/newcar/util/define';\nimport * as styles from '@/pages/contact/index.module.styl';\n\ntype ContactFormProps = {\n onSubmit: (data: ContactFormData) => Promise | void,\n hasError: boolean\n}\n\nexport type ContactFormData = {\n category: string,\n textarea: string,\n lastName: string,\n firstName: string,\n lastNameKana: string,\n firstNameKana: string,\n email1: string,\n email2: string,\n privacy: boolean,\n reCaptchaResponseToken?: string,\n};\n\nconst ContactForm: FC = ({\n onSubmit = (): void => { /* do nothing */ }, hasError = false,\n}) => {\n const [canClear, setCanClear] = useState({\n lastName: false,\n firstName: false,\n lastNameKana: false,\n firstNameKana: false,\n email1: false,\n email2: false,\n });\n\n const {\n register,\n handleSubmit,\n watch,\n errors,\n trigger,\n formState,\n setValue,\n } = useForm({ mode: 'onChange' });\n const { isValid, isSubmitting } = formState;\n const watchEmail1 = watch('email1');\n const watchEmail2 = watch('email2');\n\n // border-colorの切り替え\n const validationClass = (fieldName: keyof ContactFormData):string => {\n if (formState.dirtyFields[fieldName] === undefined && errors[fieldName] === undefined) {\n return styles.borderGrey;\n }\n return errors[fieldName] ? styles.borderRed : styles.borderGreen;\n };\n\n // reCaptchaのコールバック関数\n const {\n isSuccess: isRecaptchaSuccess,\n render,\n responseToken: reCaptchaResponseToken,\n } = useReCaptcha();\n\n // フォーム送信イベントハンドラー\n const submitHandler: SubmitHandler = async (data) => {\n await onSubmit({ ...data, reCaptchaResponseToken });\n };\n\n // フォームの値をクリア\n const clearInput = (name: string):void => {\n setValue(name, '', {\n shouldValidate: true,\n shouldDirty: true,\n });\n };\n\n // timeoutの待ち時間\n const msTimeout = 200;\n\n return (\n
\n
\n
\n
\n 必須\n 内容\n
\n
\n
    \n
  • \n
    \n
    \n \n \n 選択してください\n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n
    \n
  • \n
  • \n
    \n \n {validationClass('textarea') === styles.borderGreen\n &&
    }\n {validationClass('textarea') === styles.borderRed\n &&
    }\n
    \n
  • \n
\n
\n
\n\n
\n
\n 必須\n お名前(漢字)\n
\n
\n
\n setCanClear((s) => ({ ...s, lastName: true }))}\n onBlur={():void => {\n setTimeout(\n () => setCanClear((s) => ({ ...s, lastName: false })),\n msTimeout,\n );\n }}\n />\n clearInput('lastName')}\n tabIndex={-1}\n >\n {validationClass('lastName') === styles.borderGreen\n &&
}\n {validationClass('lastName') === styles.borderRed\n &&
}\n \n {errors.lastName &&

{errors.lastName.message}

}\n
\n
\n setCanClear((s) => ({ ...s, firstName: true }))}\n onBlur={():void => {\n setTimeout(\n () => setCanClear((s) => ({ ...s, firstName: false })),\n msTimeout,\n );\n }}\n />\n clearInput('firstName')}\n tabIndex={-1}\n >\n {validationClass('firstName') === styles.borderGreen\n &&
}\n {validationClass('firstName') === styles.borderRed\n &&
}\n \n {errors.firstName &&

{errors.firstName.message}

}\n
\n
\n
\n\n
\n
\n 必須\n オナマエ(フリガナ)\n
\n
\n
\n {\n setCanClear((s) => ({ ...s, lastNameKana: true }));\n }}\n onBlur={():void => {\n setTimeout(\n () => setCanClear((s) => ({ ...s, lastNameKana: false })),\n msTimeout,\n );\n }}\n />\n clearInput('lastNameKana')}\n tabIndex={-1}\n >\n {validationClass('lastNameKana') === styles.borderGreen\n &&
}\n {validationClass('lastNameKana') === styles.borderRed\n &&
}\n \n {errors.lastNameKana &&

{errors.lastNameKana.message}

}\n
\n
\n setCanClear((s) => ({ ...s, firstNameKana: true }))}\n onBlur={():void => {\n setTimeout(\n () => setCanClear((s) => ({ ...s, firstNameKana: false })),\n msTimeout,\n );\n }}\n />\n clearInput('firstNameKana')}\n tabIndex={-1}\n >\n {validationClass('firstNameKana') === styles.borderGreen\n &&
}\n {validationClass('firstNameKana') === styles.borderRed\n &&
}\n \n {errors.firstNameKana &&

{errors.firstNameKana.message}

}\n
\n
\n
\n\n
\n
\n 必須\n メールアドレス\n
\n
\n
    \n
  • \n
    \n {\n if (watchEmail2 !== '') {\n trigger('email2');\n }\n }}\n ref={register({\n required: '入力してください。',\n pattern: { value: REGEX_EMAIL, message: 'メールアドレスのフォーマットが間違っています。' },\n })}\n tabIndex={0}\n onFocus={():void => setCanClear((s) => ({ ...s, email1: true }))}\n onBlur={():void => {\n setTimeout(\n () => setCanClear((s) => ({ ...s, email1: false })),\n msTimeout,\n );\n }}\n />\n clearInput('email1')}\n tabIndex={-1}\n >\n {validationClass('email1') === styles.borderGreen\n &&
    }\n {validationClass('email1') === styles.borderRed\n &&
    }\n \n
    \n {errors.email1 && (\n

    \n {errors.email1.message}\n

    \n )}\n
  • \n
  • \n
    \n watchEmail1 === value || 'メールアドレスが無効、またはメールアドレスが一致していません。',\n })}\n tabIndex={0}\n onFocus={():void => setCanClear((s) => ({ ...s, email2: true }))}\n onBlur={():void => {\n setTimeout(\n () => setCanClear((s) => ({ ...s, email2: false })),\n msTimeout,\n );\n }}\n />\n clearInput('email2')}\n tabIndex={-1}\n >\n {validationClass('email2') === styles.borderGreen\n &&
    }\n {validationClass('email2') === styles.borderRed\n &&
    }\n \n
    \n {errors.email2 && (\n

    \n {errors.email2.message}\n

    \n )}\n
  • \n
\n\n

\n キャリアメール(docomo・au・softbankなど)をお使いの方はご連絡が迷惑メールフォルダに届く可能性がございますのでご注意ください。\n

\n

\n また、迷惑メール受信拒否設定をされている方は、ドメイン指定受信を行ってください。その場合は「@car-mo.jp」のドメインを指定してください。\n

\n
\n
\n
\n\n
\n
\n \n \n プライバシーポリシー\n \n に同意する\n \n
\n\n
\n {render({ className: styles.recaptchaStyle })}\n
\n\n {hasError && !isSubmitting ? (\n
\n

\n エラーが発生しました。\n
\n 時間をおいて再度お試しください。\n

\n
\n ) : <> }\n\n \n
\n {isSubmitting ? 'お問い合わせ受付中...' : '送信'}\n
\n \n
\n
\n );\n};\n\nexport default ContactForm;\n","import React, { FC, useState } from 'react';\nimport { navigate } from 'gatsby';\nimport Layout from '@/common/ui/template/Layout';\nimport Header from '@/newcar/ui/common/organism/Header';\nimport Breadcrumb from '@/newcar/ui/common/molecule/Breadcrumb';\nimport ContactDescription from '@/newcar/ui/contact/organism/ContactDescription';\nimport ContactForm, { ContactFormData } from '@/newcar/ui/contact/organism/ContactForm';\nimport ScrollToTop from '@/common/ui/organism/ScrollToTop';\nimport axios from 'axios';\nimport Footer from '@/newcar/ui/common/organism/Footer';\nimport SEO from '@/newcar/ui/contact/organism/SEO';\nimport NEWCAR_DEFINE from '@/newcar/util/define';\nimport * as styles from '@/pages/contact/index.module.styl';\n\n// お問い合わせ送信時のエラー検知用\ninterface State {\n hasError: boolean\n}\n\nconst Page: FC = () => {\n const [state, setState] = useState({\n hasError: false,\n });\n const { hasError } = state;\n\n // 送信ボタン押下時の処理\n const onSubmit = async ({\n category,\n email1,\n lastName,\n firstName,\n lastNameKana,\n firstNameKana,\n textarea,\n reCaptchaResponseToken,\n }: ContactFormData): Promise => {\n try {\n await axios.post(`${process.env.GATSBY_CARMO_API_BASE_PATH}/api/contact`, {\n contactType: category,\n email: email1,\n lastName,\n firstName,\n lastNameKana,\n firstNameKana,\n content: textarea,\n reCaptchaResponseToken,\n });\n await navigate('/contact/complete/');\n window.scrollTo(0, 0);\n } catch (e) {\n // エラー表示\n setState({\n hasError: true,\n });\n }\n };\n\n return (\n \n
\n \n\n
\n
\n
\n

お問い合わせ

\n \n
\n\n
\n \n \n
\n
\n
\n\n