@incodetech/welcome 1.71.0-rc.20240520211120 → 1.71.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/onBoarding.mjs +1 -1
- package/dist/onBoarding.umd.js +1 -1
- package/package.json +1 -1
package/dist/onBoarding.mjs
CHANGED
|
@@ -38222,7 +38222,7 @@ function renderUserConsent(ue, {
|
|
|
38222
38222
|
})
|
|
38223
38223
|
}), ue, He);
|
|
38224
38224
|
}
|
|
38225
|
-
const version = "1.71.0
|
|
38225
|
+
const version = "1.71.0";
|
|
38226
38226
|
function r(ue) {
|
|
38227
38227
|
for (var me = "", Ue = 0; Ue < ue.length; ++Ue)
|
|
38228
38228
|
if (Ue > 0) {
|
package/dist/onBoarding.umd.js
CHANGED
|
@@ -2412,7 +2412,7 @@ newPrivacyConsent.text4
|
|
|
2412
2412
|
`).filter(it=>!!it.trim());return jsxs(ConsentWrapper$1,{role:"region","aria-live":"assertive",className:`
|
|
2413
2413
|
${me.default?"IncodeDefaultConsent":"IncodeCustomConsent"}
|
|
2414
2414
|
`,children:[jsx(ConsentTitle,{tabIndex:0,children:rt}),at.map((it,ot)=>jsx(ConsentParagraph,{tabIndex:0,children:me.default?jsx(Markdown,{disallowedElements:disallowedMarkdownElements,children:Ge(it)}):jsx(Markdown,{disallowedElements:disallowedMarkdownElements,children:it})},ot)),jsx(AcceptCheck$2,{consentChecked:He,setConsentChecked:Xe,text:tt,id:"one"}),Ze?jsx(AcceptCheck$2,{consentChecked:Ke,setConsentChecked:$e,text:Ge("privacyCheck.aeromexico"),id:"two"}):null,jsx("div",{children:jsx(Button$9,{tabIndex:0,"aria-disabled":et,disabled:et,onClick:nt,children:Ge("privacyConsent.button.continue")})})]})}function PrivacyConsent({session:ue,title:me,text:Ue,goNext:Qe,isAeroMexicoClient:Ze,customCheck:Je}){const{t:Ge}=useTranslation(),[He,Xe]=React$1.useState(null);React$1.useEffect(()=>{Object.hasOwn||(Object.hasOwn=(nt,tt)=>Object.prototype.hasOwnProperty.call(nt,tt))},[]);const Ke=nt=>{const tt=nt.split(`
|
|
2415
|
-
`);return tt.length===1?tt.join(" "):tt.filter(et=>!!et.trim()).map(et=>Ge(et)).join(" ")},$e=({title:nt,content:tt,isDefault:et})=>{addConsent({title:`${et?Ge(nt):nt}`,content:et?Ke(tt):tt,status:!0,session:ue})};return React$1.useEffect(()=>{if(me||Ue){Xe({title:me||defaultPrivacyConsent.title,text:Ue||defaultPrivacyConsent.text,consentType:defaultPrivacyConsent.consentType,default:!Ue});return}getPrivacyConsentData({session:ue,type:"PRIVACY"}).then(({consents:nt})=>{const tt=nt.find(({consentType:et})=>et==="PRIVACY");tt!=null&&tt.text?Xe({...tt,title:(tt==null?void 0:tt.title.trim())||defaultPrivacyConsent.title,text:tt.text.trim()||defaultPrivacyConsent.text,default:!(tt!=null&&tt.text)}):Xe(defaultPrivacyConsent)}).catch(()=>{Xe(defaultPrivacyConsent)})},[ue,me,Ue]),He?jsx(NormalPrivacyConsent,{consent:He,goNext:Qe,addPrivacyConsent:$e,session:ue,isAeroMexicoClient:Ze,customCheck:Je}):null}function renderUserConsent(ue,{session:me,onSuccess:Ue,title:Qe,text:Ze,isAeroMexicoClient:Je=!1,customCheck:Ge=null}){const He=createRoot$1(ue),Xe=handleUnmountRoot(Ue,He,ue);customRender(jsx(App$1,{token:me.token,children:jsx(PrivacyConsent,{goNext:Xe,session:me,title:Qe,text:Ze,isAeroMexicoClient:Je,customCheck:Ge})}),ue,He)}const version="1.71.0-rc.20240520211120";function r(ue){for(var me="",Ue=0;Ue<ue.length;++Ue)if(Ue>0){var Qe=ue[Ue].toLowerCase();Qe!==ue[Ue]?me+=" ".concat(Qe):me+=ue[Ue]}else me+=ue[Ue].toUpperCase();return me}function o(ue,me){return function(Ue,Qe){return Object.prototype.hasOwnProperty.call(Ue,Qe)}(ue,me)?ue[me]:void 0}var i$1={default:"endpoint"},u={default:"tlsEndpoint"},a="Client timeout",R="Network connection error",c="Network request aborted",s="Response cannot be parsed",E="Blocked by CSP",f="The endpoint parameter is not a valid URL",d=r("WrongRegion"),l=r("SubscriptionNotActive"),_=r("UnsupportedVersion"),p=r("InstallationMethodRestricted"),v=r("HostnameRestricted"),O=r("IntegrationFailed"),I="API key required",h="API key not found",N="API key expired",T="Request cannot be parsed",m="Request failed",w="Request failed to process",A="Too many requests, rate limit exceeded",P="Not available for this origin",y="Not available with restricted header",D=I,S=h,L=N,U="3.8.6",b="9319";function g(ue,me){var Ue=[];return function(Qe,Ze){var Je=5,Ge=(tt=Qe,et=__spreadArray$1([],tt,!0),{current:function(){return et[0]},postpone:function(){var at=et.shift();at!==void 0&&et.push(at)},exclude:function(){et.shift()}}),He=(Ke=100,$e=3e3,nt=0,function(){return Math.random()*Math.min($e,Ke*Math.pow(2,nt++))}),Xe=Ge.current(),Ke,$e,nt,tt,et;if(Xe===void 0)return Promise.reject(new TypeError("The list of script URL patterns is empty"));var rt=function(at,it){return Ze(at).catch(function(ot){if(it+1>=Je)throw ot;(function(ct){if(!(ct instanceof Error))return!1;var dt=ct.message;return dt===E||dt===b})(ot)?Ge.exclude():Ge.postpone();var st,ut=Ge.current();if(ut===void 0)throw ot;return(st=He(),new Promise(function(ct){return setTimeout(ct,st)})).then(function(){return rt(ut,it+1)})})};return rt(Xe,0)}(ue,function(Qe){var Ze=new Date,Je=function(He){return Ue.push({url:Qe,startedAt:Ze,finishedAt:new Date,error:He})},Ge=me(Qe);return Ge.then(function(){return Je()},Je),Ge}).then(function(Qe){return[Qe,Ue]})}var C="https://fpnpmcdn.net/v<version>/<apiKey>/loader_v<loaderVersion>.js",K=C,M="Failed to load the JS script of the agent";function B(ue){var me;ue.scriptUrlPattern;var Ue=ue.token,Qe=ue.apiKey,Ze=Qe===void 0?Ue:Qe,Je=__rest$1(ue,["scriptUrlPattern","token","apiKey"]),Ge=(me=o(ue,"scriptUrlPattern"))!==null&&me!==void 0?me:C,He=function(){var $e=[],nt=function(){$e.push({time:new Date,state:document.visibilityState})},tt=function(et,rt,at,it){return et.addEventListener(rt,at,it),function(){return et.removeEventListener(rt,at,it)}}(document,"visibilitychange",nt);return nt(),[$e,tt]}(),Xe=He[0],Ke=He[1];return Promise.resolve().then(function(){if(!Ze||typeof Ze!="string")throw new Error(I);var $e=function(nt,tt){return(Array.isArray(nt)?nt:[nt]).map(function(et){return function(rt,at){var it=encodeURIComponent;return rt.replace(/<[^<>]+>/g,function(ot){return ot==="<version>"?"3":ot==="<apiKey>"?it(at):ot==="<loaderVersion>"?it(U):ot})}(String(et),tt)})}(Ge,Ze);return g($e,F)}).catch(function($e){throw Ke(),function(nt){return nt instanceof Error&&nt.message===b?new Error(M):nt}($e)}).then(function($e){var nt=$e[0],tt=$e[1];return Ke(),nt.load(__assign$1(__assign$1({},Je),{ldi:{attempts:tt,visibilityStates:Xe}}))})}function F(ue){return function(me,Ue,Qe,Ze){var Je,Ge=document,He="securitypolicyviolation",Xe=function($e){var nt=new URL(me,location.href),tt=$e.blockedURI;tt!==nt.href&&tt!==nt.protocol.slice(0,-1)&&tt!==nt.origin||(Je=$e,Ke())};Ge.addEventListener(He,Xe);var Ke=function(){return Ge.removeEventListener(He,Xe)};return Ze==null||Ze.then(Ke,Ke),Promise.resolve().then(Ue).then(function($e){return Ke(),$e},function($e){return new Promise(function(nt){return setTimeout(nt)}).then(function(){if(Ke(),Je)return Qe(Je);throw $e})})}(ue,function(){return function(me){return new Promise(function(Ue,Qe){var Ze=document.createElement("script"),Je=function(){var He;return(He=Ze.parentNode)===null||He===void 0?void 0:He.removeChild(Ze)},Ge=document.head||document.getElementsByTagName("head")[0];Ze.onload=function(){Je(),Ue()},Ze.onerror=function(){Je(),Qe(new Error(M))},Ze.async=!0,Ze.src=me,Ge.appendChild(Ze)})}(ue)},function(){throw new Error(E)}).then(V)}function V(){var ue=window,me="__fpjs_p_l_b",Ue=ue[me];if(function(Qe,Ze){var Je,Ge=(Je=Object.getOwnPropertyDescriptor)===null||Je===void 0?void 0:Je.call(Object,Qe,Ze);Ge!=null&&Ge.configurable?delete Qe[Ze]:Ge&&!Ge.writable||(Qe[Ze]=void 0)}(ue,me),typeof(Ue==null?void 0:Ue.load)!="function")throw new Error(b);return Ue}var k={load:B,defaultScriptUrlPattern:K,ERROR_SCRIPT_LOAD_FAIL:M,ERROR_API_KEY_EXPIRED:N,ERROR_API_KEY_INVALID:h,ERROR_API_KEY_MISSING:I,ERROR_BAD_REQUEST_FORMAT:T,ERROR_BAD_RESPONSE_FORMAT:s,ERROR_CLIENT_TIMEOUT:a,ERROR_CSP_BLOCK:E,ERROR_FORBIDDEN_ENDPOINT:v,ERROR_FORBIDDEN_HEADER:y,ERROR_FORBIDDEN_ORIGIN:P,ERROR_GENERAL_SERVER_FAILURE:m,ERROR_INSTALLATION_METHOD_RESTRICTED:p,ERROR_INTEGRATION_FAILURE:O,ERROR_INVALID_ENDPOINT:f,ERROR_NETWORK_ABORT:c,ERROR_NETWORK_CONNECTION:R,ERROR_RATE_LIMIT:A,ERROR_SERVER_TIMEOUT:w,ERROR_SUBSCRIPTION_NOT_ACTIVE:l,ERROR_TOKEN_EXPIRED:L,ERROR_TOKEN_INVALID:S,ERROR_TOKEN_MISSING:D,ERROR_UNSUPPORTED_VERSION:_,ERROR_WRONG_REGION:d,defaultEndpoint:i$1,defaultTlsEndpoint:u};let fingerprintApiKey;function setFingerprintApiKey(ue){fingerprintApiKey=ue}async function getFingerPrint(){return k.load({token:fingerprintApiKey,endpoint:"https://fingerprint.incodesmile.com",scriptUrlPattern:"https://fingerprint.incodesmile.com/web/v<version>/<apiKey>/loader_v<loaderVersion>.js"}).then(ue=>ue.get({extendedResult:!0}))}const fingerPrintUrl="/omni/add/device-fingerprint";function postFingerprint({hash:ue,ip:me,deviceType:Ue,token:Qe,data:Ze,osVersion:Je,deviceModel:Ge,browser:He,sdkVersion:Xe,hasLiedBrowser:Ke,hostingApp:$e,ipLocation:nt}){return exports.api.post(fingerPrintUrl,{hash:ue,ip:me,deviceType:Ue,data:Ze,osVersion:Je,deviceModel:Ge,browser:He,hasLiedBrowser:Ke,sdkVersion:Xe,hostingApp:$e,ipLocation:nt},{headers:{"X-Incode-Hardware-Id":Qe}}).then(tt=>tt.data).catch(tt=>Promise.reject(tt.response.data))}function formatDeviceModel({vendor:ue,model:me}){return`${ue||""} ${me||""}`.trim()}const emptyFingerprint={visitorId:void 0,ip:void 0,ipLocation:{country:{name:void 0},subdivisions:[],city:{name:void 0},latitude:void 0,longitude:void 0}};async function sendFingerprint({token:ue},me=!0,Ue=!0){var Xe,Ke,$e;const Qe="WEBAPP",{os:Ze,device:Je,browser:Ge}=getUAParserResults(),He=Ue?await getFingerPrint().catch(nt=>(addEvent({code:"fingerprintFetchFailed",payload:{message:nt.message},token:ue}),emptyFingerprint)):emptyFingerprint;return postFingerprint({hash:He.visitorId||"",ip:me&&He.ip||"",deviceType:Qe,token:ue,data:JSON.stringify(He),osVersion:`${Ze.name} ${Ze.version}`,deviceModel:formatDeviceModel(Je),browser:`${Ge.name} ${Ge.version}`,hasLiedBrowser:isBrowserSimulation(),hostingApp:options.hostingApp,sdkVersion:version,ipLocation:{ipCountry:(Xe=He.ipLocation.country)==null?void 0:Xe.name,ipRegion:(Ke=He.ipLocation.subdivisions)==null?void 0:Ke[0].name,ipCity:($e=He.ipLocation.city)==null?void 0:$e.name,ipLatitude:He.ipLocation.latitude,ipLongitude:He.ipLocation.longitude}}).then(nt=>(emptyDeviceStatsQueue(ue),nt))}function mapI18nLang(ue){const me={en:"en-US",es:"es-ES",pt:"pt-BR"},Ue=ue==null?void 0:ue.substring(0,2);return me[Ue]||"en-US"}const createSessionUrl="/omni/start";async function createNewSession({externalId:ue,externalCustomerId:me,configurationId:Ue,uuid:Qe,interviewId:Ze,customFields:Je,language:Ge}={}){const He=Ge||mapI18nLang(i18nInstance.language);try{const Xe=await exports.api.post(createSessionUrl,{externalId:ue,externalCustomerId:me,configurationId:Ue,uuid:Qe,interviewId:Ze,customFields:Je,language:He});state.token=Xe.data;const Ke=Xe.data;emptyQueue(Ke.token);const $e=await sendFingerprint({token:Ke.token,interviewId:Ke.interviewId}).catch(()=>({regulationType:"",showMandatoryConsent:!1}));Ke.regulationType=$e.regulationType??"",Ke.showMandatoryConsent=$e.showMandatoryConsent??!1;const tt=new UAParser().getResult();return addEvent({code:"browser",payload:{userAgent:window.navigator.userAgent,isWebRtcSupported:isWebRtcSupported(),...tt},token:Ke.token}),Ke}catch(Xe){throw Xe!=null&&Xe.response?Xe.response.data:Xe}}const createRedirectUrl=async({session:ue})=>{const{url:me}=await exports.api.get("/omni/onboarding-url",{params:{clientId:ue.clientId},headers:{"X-Incode-Hardware-Id":ue.token}}).then(Ue=>Ue.data);return me};async function createSession$4(ue,me,{externalCustomerId:Ue,configurationId:Qe,uuid:Ze,interviewId:Je,customFields:Ge,language:He}={}){return createNewSession({externalId:me,externalCustomerId:Ue,configurationId:Qe,uuid:Ze,interviewId:Je,customFields:Ge,language:He})}var isHTMLElement=ue=>ue instanceof HTMLElement;const EVENTS={BLUR:"blur",CHANGE:"change",INPUT:"input"},VALIDATION_MODE={onBlur:"onBlur",onChange:"onChange",onSubmit:"onSubmit",onTouched:"onTouched",all:"all"},SELECT="select",UNDEFINED="undefined",INPUT_VALIDATION_RULES={max:"max",min:"min",maxLength:"maxLength",minLength:"minLength",pattern:"pattern",required:"required",validate:"validate"};function attachEventListeners({ref:ue},me,Ue){isHTMLElement(ue)&&Ue&&(ue.addEventListener(me?EVENTS.CHANGE:EVENTS.INPUT,Ue),ue.addEventListener(EVENTS.BLUR,Ue))}var isNullOrUndefined=ue=>ue==null;const isObjectType=ue=>typeof ue=="object";var isObject$4=ue=>!isNullOrUndefined(ue)&&!Array.isArray(ue)&&isObjectType(ue)&&!(ue instanceof Date),isKey=ue=>/^\w*$/.test(ue),compact=ue=>ue.filter(Boolean),stringToPath=ue=>compact(ue.replace(/["|']/g,"").replace(/\[/g,".").replace(/\]/g,"").split("."));function set(ue,me,Ue){let Qe=-1;const Ze=isKey(me)?[me]:stringToPath(me),Je=Ze.length,Ge=Je-1;for(;++Qe<Je;){const He=Ze[Qe];let Xe=Ue;if(Qe!==Ge){const Ke=ue[He];Xe=isObject$4(Ke)||Array.isArray(Ke)?Ke:isNaN(+Ze[Qe+1])?{}:[]}ue[He]=Xe,ue=ue[He]}return ue}var transformToNestObject=(ue,me={})=>{for(const Ue in ue)isKey(Ue)?me[Ue]=ue[Ue]:set(me,Ue,ue[Ue]);return me},isUndefined$1=ue=>ue===void 0,get=(ue={},me,Ue)=>{const Qe=compact(me.split(/[,[\].]+?/)).reduce((Ze,Je)=>isNullOrUndefined(Ze)?Ze:Ze[Je],ue);return isUndefined$1(Qe)||Qe===ue?isUndefined$1(ue[me])?Ue:ue[me]:Qe},focusOnErrorField=(ue,me)=>{for(const Ue in ue)if(get(me,Ue)){const Qe=ue[Ue];if(Qe){if(Qe.ref.focus&&isUndefined$1(Qe.ref.focus()))break;if(Qe.options){Qe.options[0].ref.focus();break}}}},removeAllEventListeners=(ue,me)=>{isHTMLElement(ue)&&ue.removeEventListener&&(ue.removeEventListener(EVENTS.INPUT,me),ue.removeEventListener(EVENTS.CHANGE,me),ue.removeEventListener(EVENTS.BLUR,me))};const defaultReturn={isValid:!1,value:null};var getRadioValue=ue=>Array.isArray(ue)?ue.reduce((me,Ue)=>Ue&&Ue.ref.checked?{isValid:!0,value:Ue.ref.value}:me,defaultReturn):defaultReturn,getMultipleSelectValue=ue=>[...ue].filter(({selected:me})=>me).map(({value:me})=>me),isRadioInput=ue=>ue.type==="radio",isFileInput=ue=>ue.type==="file",isCheckBoxInput=ue=>ue.type==="checkbox",isMultipleSelect=ue=>ue.type===`${SELECT}-multiple`;const defaultResult={value:!1,isValid:!1},validResult={value:!0,isValid:!0};var getCheckboxValue=ue=>{if(Array.isArray(ue)){if(ue.length>1){const Ze=ue.filter(Je=>Je&&Je.ref.checked).map(({ref:{value:Je}})=>Je);return{value:Ze,isValid:!!Ze.length}}const{checked:me,value:Ue,attributes:Qe}=ue[0].ref;return me?Qe&&!isUndefined$1(Qe.value)?isUndefined$1(Ue)||Ue===""?validResult:{value:Ue,isValid:!0}:validResult:defaultResult}return defaultResult};function getFieldValue(ue,me,Ue,Qe,Ze){const Je=ue.current[me];if(Je){const{ref:{value:Ge,disabled:He},ref:Xe,valueAsNumber:Ke,valueAsDate:$e,setValueAs:nt}=Je;return He&&Qe?void 0:isFileInput(Xe)?Xe.files:isRadioInput(Xe)?getRadioValue(Je.options).value:isMultipleSelect(Xe)?getMultipleSelectValue(Xe.options):isCheckBoxInput(Xe)?getCheckboxValue(Je.options).value:Ze?Ge:Ke?Ge===""?NaN:+Ge:$e?Xe.valueAsDate:nt?nt(Ge):Ge}if(Ue)return get(Ue.current,me)}function isDetached(ue){return ue?!(ue instanceof HTMLElement)||ue.nodeType===Node.DOCUMENT_NODE?!1:isDetached(ue.parentNode):!0}var isEmptyObject=ue=>isObject$4(ue)&&!Object.keys(ue).length,isBoolean=ue=>typeof ue=="boolean";function baseGet(ue,me){const Ue=me.slice(0,-1).length;let Qe=0;for(;Qe<Ue;)ue=isUndefined$1(ue)?Qe++:ue[me[Qe++]];return ue}function unset(ue,me){const Ue=isKey(me)?[me]:stringToPath(me),Qe=Ue.length==1?ue:baseGet(ue,Ue),Ze=Ue[Ue.length-1];let Je;Qe&&delete Qe[Ze];for(let Ge=0;Ge<Ue.slice(0,-1).length;Ge++){let He=-1,Xe;const Ke=Ue.slice(0,-(Ge+1)),$e=Ke.length-1;for(Ge>0&&(Je=ue);++He<Ke.length;){const nt=Ke[He];Xe=Xe?Xe[nt]:ue[nt],$e===He&&(isObject$4(Xe)&&isEmptyObject(Xe)||Array.isArray(Xe)&&!Xe.filter(tt=>isObject$4(tt)&&!isEmptyObject(tt)||isBoolean(tt)).length)&&(Je?delete Je[nt]:delete ue[nt]),Je=Xe}}return ue}const isSameRef=(ue,me)=>ue&&ue.ref===me;function findRemovedFieldAndRemoveListener(ue,me,Ue,Qe,Ze,Je){const{ref:Ge,ref:{name:He}}=Ue,Xe=ue.current[He];if(!Ze){const Ke=getFieldValue(ue,He,Qe);!isUndefined$1(Ke)&&set(Qe.current,He,Ke)}if(!Ge.type||!Xe){delete ue.current[He];return}isRadioInput(Ge)||isCheckBoxInput(Ge)?Array.isArray(Xe.options)&&Xe.options.length?(compact(Xe.options).forEach((Ke={},$e)=>{(isDetached(Ke.ref)&&isSameRef(Ke,Ke.ref)||Je)&&(removeAllEventListeners(Ke.ref,me),unset(Xe.options,`[${$e}]`))}),Xe.options&&!compact(Xe.options).length&&delete ue.current[He]):delete ue.current[He]:(isDetached(Ge)&&isSameRef(Xe,Ge)||Je)&&(removeAllEventListeners(Ge,me),delete ue.current[He])}var isPrimitive=ue=>isNullOrUndefined(ue)||!isObjectType(ue);function deepMerge(ue,me){if(isPrimitive(ue)||isPrimitive(me))return me;for(const Ue in me){const Qe=ue[Ue],Ze=me[Ue];try{ue[Ue]=isObject$4(Qe)&&isObject$4(Ze)||Array.isArray(Qe)&&Array.isArray(Ze)?deepMerge(Qe,Ze):Ze}catch{}}return ue}function deepEqual(ue,me,Ue){if(isPrimitive(ue)||isPrimitive(me)||ue instanceof Date||me instanceof Date)return ue===me;if(!React$1.isValidElement(ue)){const Qe=Object.keys(ue),Ze=Object.keys(me);if(Qe.length!==Ze.length)return!1;for(const Je of Qe){const Ge=ue[Je];if(!(Ue&&Je==="ref")){const He=me[Je];if((isObject$4(Ge)||Array.isArray(Ge))&&(isObject$4(He)||Array.isArray(He))?!deepEqual(Ge,He,Ue):Ge!==He)return!1}}}return!0}function setDirtyFields(ue,me,Ue,Qe,Ze){let Je=-1;for(;++Je<ue.length;){for(const Ge in ue[Je])Array.isArray(ue[Je][Ge])?(!Ue[Je]&&(Ue[Je]={}),Ue[Je][Ge]=[],setDirtyFields(ue[Je][Ge],get(me[Je]||{},Ge,[]),Ue[Je][Ge],Ue[Je],Ge)):deepEqual(get(me[Je]||{},Ge),ue[Je][Ge])?set(Ue[Je]||{},Ge):Ue[Je]=Object.assign(Object.assign({},Ue[Je]),{[Ge]:!0});Qe&&!Ue.length&&delete Qe[Ze]}return Ue}var setFieldArrayDirtyFields=(ue,me,Ue)=>deepMerge(setDirtyFields(ue,me,Ue.slice(0,ue.length)),setDirtyFields(me,ue,Ue.slice(0,ue.length))),isString$2=ue=>typeof ue=="string",getFieldsValues=(ue,me,Ue,Qe,Ze)=>{const Je={};for(const Ge in ue.current)(isUndefined$1(Ze)||(isString$2(Ze)?Ge.startsWith(Ze):Array.isArray(Ze)&&Ze.find(He=>Ge.startsWith(He))))&&(Je[Ge]=getFieldValue(ue,Ge,void 0,Qe));return Ue?transformToNestObject(Je):deepMerge(me,transformToNestObject(Je))},isErrorStateChanged=({errors:ue,name:me,error:Ue,validFields:Qe,fieldsWithValidation:Ze})=>{const Je=isUndefined$1(Ue),Ge=get(ue,me);return Je&&!!Ge||!Je&&!deepEqual(Ge,Ue,!0)||Je&&get(Ze,me)&&!get(Qe,me)},isRegex=ue=>ue instanceof RegExp,getValueAndMessage=ue=>isObject$4(ue)&&!isRegex(ue)?ue:{value:ue,message:""},isFunction$1=ue=>typeof ue=="function",isMessage=ue=>isString$2(ue)||React$1.isValidElement(ue);function getValidateError(ue,me,Ue="validate"){if(isMessage(ue)||isBoolean(ue)&&!ue)return{type:Ue,message:isMessage(ue)?ue:"",ref:me}}var appendErrors=(ue,me,Ue,Qe,Ze)=>me?Object.assign(Object.assign({},Ue[ue]),{types:Object.assign(Object.assign({},Ue[ue]&&Ue[ue].types?Ue[ue].types:{}),{[Qe]:Ze||!0})}):{},validateField=async(ue,me,{ref:Ue,ref:{value:Qe},options:Ze,required:Je,maxLength:Ge,minLength:He,min:Xe,max:Ke,pattern:$e,validate:nt},tt)=>{const et=Ue.name,rt={},at=isRadioInput(Ue),it=isCheckBoxInput(Ue),ot=at||it,st=Qe==="",ut=appendErrors.bind(null,et,me,rt),ct=(dt,pt,ht,gt=INPUT_VALIDATION_RULES.maxLength,Mt=INPUT_VALIDATION_RULES.minLength)=>{const St=dt?pt:ht;rt[et]=Object.assign({type:dt?gt:Mt,message:St,ref:Ue},ut(dt?gt:Mt,St))};if(Je&&(!at&&!it&&(st||isNullOrUndefined(Qe))||isBoolean(Qe)&&!Qe||it&&!getCheckboxValue(Ze).isValid||at&&!getRadioValue(Ze).isValid)){const{value:dt,message:pt}=isMessage(Je)?{value:!!Je,message:Je}:getValueAndMessage(Je);if(dt&&(rt[et]=Object.assign({type:INPUT_VALIDATION_RULES.required,message:pt,ref:ot?((ue.current[et].options||[])[0]||{}).ref:Ue},ut(INPUT_VALIDATION_RULES.required,pt)),!me))return rt}if((!isNullOrUndefined(Xe)||!isNullOrUndefined(Ke))&&Qe!==""){let dt,pt;const ht=getValueAndMessage(Ke),gt=getValueAndMessage(Xe);if(isNaN(Qe)){const Mt=Ue.valueAsDate||new Date(Qe);isString$2(ht.value)&&(dt=Mt>new Date(ht.value)),isString$2(gt.value)&&(pt=Mt<new Date(gt.value))}else{const Mt=Ue.valueAsNumber||parseFloat(Qe);isNullOrUndefined(ht.value)||(dt=Mt>ht.value),isNullOrUndefined(gt.value)||(pt=Mt<gt.value)}if((dt||pt)&&(ct(!!dt,ht.message,gt.message,INPUT_VALIDATION_RULES.max,INPUT_VALIDATION_RULES.min),!me))return rt}if(isString$2(Qe)&&!st&&(Ge||He)){const dt=getValueAndMessage(Ge),pt=getValueAndMessage(He),ht=!isNullOrUndefined(dt.value)&&Qe.length>dt.value,gt=!isNullOrUndefined(pt.value)&&Qe.length<pt.value;if((ht||gt)&&(ct(ht,dt.message,pt.message),!me))return rt}if(isString$2(Qe)&&$e&&!st){const{value:dt,message:pt}=getValueAndMessage($e);if(isRegex(dt)&&!dt.test(Qe)&&(rt[et]=Object.assign({type:INPUT_VALIDATION_RULES.pattern,message:pt,ref:Ue},ut(INPUT_VALIDATION_RULES.pattern,pt)),!me))return rt}if(nt){const dt=getFieldValue(ue,et,tt,!1,!0),pt=ot&&Ze?Ze[0].ref:Ue;if(isFunction$1(nt)){const ht=await nt(dt),gt=getValidateError(ht,pt);if(gt&&(rt[et]=Object.assign(Object.assign({},gt),ut(INPUT_VALIDATION_RULES.validate,gt.message)),!me))return rt}else if(isObject$4(nt)){let ht={};for(const[gt,Mt]of Object.entries(nt)){if(!isEmptyObject(ht)&&!me)break;const St=await Mt(dt),Rt=getValidateError(St,pt,gt);Rt&&(ht=Object.assign(Object.assign({},Rt),ut(gt,Rt.message)),me&&(rt[et]=ht))}if(!isEmptyObject(ht)&&(rt[et]=Object.assign({ref:pt},ht),!me))return rt}}return rt};const getPath=(ue,me,Ue=[])=>{for(const Qe in me){const Ze=ue+(isObject$4(me)?`.${Qe}`:`[${Qe}]`);isPrimitive(me[Qe])?Ue.push(Ze):getPath(Ze,me[Qe],Ue)}return Ue};var assignWatchFields=(ue,me,Ue,Qe,Ze)=>{let Je;return Ue.add(me),isEmptyObject(ue)||(Je=get(ue,me),(isObject$4(Je)||Array.isArray(Je))&&getPath(me,Je).forEach(Ge=>Ue.add(Ge))),isUndefined$1(Je)?Ze?Qe:get(Qe,me):Je},skipValidation=({isOnBlur:ue,isOnChange:me,isOnTouch:Ue,isTouched:Qe,isReValidateOnBlur:Ze,isReValidateOnChange:Je,isBlurEvent:Ge,isSubmitted:He,isOnAll:Xe})=>Xe?!1:!He&&Ue?!(Qe||Ge):(He?Ze:ue)?!Ge:(He?Je:me)?Ge:!0,getFieldArrayParentName=ue=>ue.substring(0,ue.indexOf("["));const isMatchFieldArrayName=(ue,me)=>RegExp(`^${me}([|.)\\d+`.replace(/\[/g,"\\[").replace(/\]/g,"\\]")).test(ue);var isNameInFieldArray=(ue,me)=>[...ue].some(Ue=>isMatchFieldArrayName(me,Ue)),isSelectInput=ue=>ue.type===`${SELECT}-one`;function onDomRemove(ue,me){const Ue=new MutationObserver(()=>{for(const Qe of Object.values(ue.current))if(Qe&&Qe.options)for(const Ze of Qe.options)Ze&&Ze.ref&&isDetached(Ze.ref)&&me(Qe);else Qe&&isDetached(Qe.ref)&&me(Qe)});return Ue.observe(window.document,{childList:!0,subtree:!0}),Ue}var isWeb=typeof window!==UNDEFINED&&typeof document!==UNDEFINED;function cloneObject(ue){var me;let Ue;if(isPrimitive(ue)||isWeb&&(ue instanceof File||isHTMLElement(ue))||!["Set","Map","Object","Date","Array"].includes((me=ue.constructor)===null||me===void 0?void 0:me.name))return ue;if(ue instanceof Date)return Ue=new Date(ue.getTime()),Ue;if(ue instanceof Set){Ue=new Set;for(const Qe of ue)Ue.add(Qe);return Ue}if(ue instanceof Map){Ue=new Map;for(const Qe of ue.keys())Ue.set(Qe,cloneObject(ue.get(Qe)));return Ue}Ue=Array.isArray(ue)?[]:{};for(const Qe in ue)Ue[Qe]=cloneObject(ue[Qe]);return Ue}var modeChecker=ue=>({isOnSubmit:!ue||ue===VALIDATION_MODE.onSubmit,isOnBlur:ue===VALIDATION_MODE.onBlur,isOnChange:ue===VALIDATION_MODE.onChange,isOnAll:ue===VALIDATION_MODE.all,isOnTouch:ue===VALIDATION_MODE.onTouched}),isRadioOrCheckboxFunction=ue=>isRadioInput(ue)||isCheckBoxInput(ue);const isWindowUndefined=typeof window===UNDEFINED,isProxyEnabled=isWeb?"Proxy"in window:typeof Proxy!==UNDEFINED;function useForm({mode:ue=VALIDATION_MODE.onSubmit,reValidateMode:me=VALIDATION_MODE.onChange,resolver:Ue,context:Qe,defaultValues:Ze={},shouldFocusError:Je=!0,shouldUnregister:Ge=!0,criteriaMode:He}={}){const Xe=React$1.useRef({}),Ke=React$1.useRef({}),$e=React$1.useRef({}),nt=React$1.useRef(new Set),tt=React$1.useRef({}),et=React$1.useRef({}),rt=React$1.useRef({}),at=React$1.useRef({}),it=React$1.useRef(Ze),ot=React$1.useRef(!1),st=React$1.useRef(!1),ut=React$1.useRef(),ct=React$1.useRef({}),dt=React$1.useRef({}),pt=React$1.useRef(Qe),ht=React$1.useRef(Ue),gt=React$1.useRef(new Set),Mt=React$1.useRef(modeChecker(ue)),{isOnSubmit:St,isOnTouch:Rt}=Mt.current,yt=He===VALIDATION_MODE.all,[Tt,mt]=React$1.useState({isDirty:!1,isValidating:!1,dirtyFields:{},isSubmitted:!1,submitCount:0,touched:{},isSubmitting:!1,isSubmitSuccessful:!1,isValid:!St,errors:{}}),Et=React$1.useRef({isDirty:!isProxyEnabled,dirtyFields:!isProxyEnabled,touched:!isProxyEnabled||Rt,isValidating:!isProxyEnabled,isSubmitting:!isProxyEnabled,isValid:!isProxyEnabled}),Ut=React$1.useRef(Tt),It=React$1.useRef(),{isOnBlur:Ft,isOnChange:Ct}=React$1.useRef(modeChecker(me)).current;pt.current=Qe,ht.current=Ue,Ut.current=Tt,ct.current=Ge?{}:isEmptyObject(ct.current)?cloneObject(Ze):ct.current;const vt=React$1.useCallback((Ht={})=>{ot.current||(Ut.current=Object.assign(Object.assign({},Ut.current),Ht),mt(Ut.current))},[]),xt=()=>Et.current.isValidating&&vt({isValidating:!0}),wt=React$1.useCallback((Ht,$t,nn=!1,sn={},an)=>{let hn=nn||isErrorStateChanged({errors:Ut.current.errors,error:$t,name:Ht,validFields:at.current,fieldsWithValidation:rt.current});const Mn=get(Ut.current.errors,Ht);$t?(unset(at.current,Ht),hn=hn||!Mn||!deepEqual(Mn,$t,!0),set(Ut.current.errors,Ht,$t)):((get(rt.current,Ht)||ht.current)&&(set(at.current,Ht,!0),hn=hn||Mn),unset(Ut.current.errors,Ht)),(hn&&!isNullOrUndefined(nn)||!isEmptyObject(sn)||Et.current.isValidating)&&vt(Object.assign(Object.assign(Object.assign({},sn),ht.current?{isValid:!!an}:{}),{isValidating:!1}))},[]),bt=React$1.useCallback((Ht,$t)=>{const{ref:nn,options:sn}=Xe.current[Ht],an=isWeb&&isHTMLElement(nn)&&isNullOrUndefined($t)?"":$t;isRadioInput(nn)?(sn||[]).forEach(({ref:hn})=>hn.checked=hn.value===an):isFileInput(nn)&&!isString$2(an)?nn.files=an:isMultipleSelect(nn)?[...nn.options].forEach(hn=>hn.selected=an.includes(hn.value)):isCheckBoxInput(nn)&&sn?sn.length>1?sn.forEach(({ref:hn})=>hn.checked=Array.isArray(an)?!!an.find(Mn=>Mn===hn.value):an===hn.value):sn[0].ref.checked=!!an:nn.value=an},[]),Zt=React$1.useCallback((Ht,$t)=>{if(Et.current.isDirty){const nn=jt();return Ht&&$t&&set(nn,Ht,$t),!deepEqual(nn,it.current)}return!1},[]),Wt=React$1.useCallback((Ht,$t=!0)=>{if(Et.current.isDirty||Et.current.dirtyFields){const nn=!deepEqual(get(it.current,Ht),getFieldValue(Xe,Ht,ct)),sn=get(Ut.current.dirtyFields,Ht),an=Ut.current.isDirty;nn?set(Ut.current.dirtyFields,Ht,!0):unset(Ut.current.dirtyFields,Ht);const hn={isDirty:Zt(),dirtyFields:Ut.current.dirtyFields},Mn=Et.current.isDirty&&an!==hn.isDirty||Et.current.dirtyFields&&sn!==get(Ut.current.dirtyFields,Ht);return Mn&&$t&&vt(hn),Mn?hn:{}}return{}},[]),Ot=React$1.useCallback(async(Ht,$t)=>{if(process.env.NODE_ENV!=="production"&&!Xe.current[Ht])return console.warn("📋 Field is missing with `name` attribute: ",Ht),!1;const nn=(await validateField(Xe,yt,Xe.current[Ht],ct))[Ht];return wt(Ht,nn,$t),isUndefined$1(nn)},[wt,yt]),Xt=React$1.useCallback(async Ht=>{const{errors:$t}=await ht.current(jt(),pt.current,yt),nn=Ut.current.isValid;if(Array.isArray(Ht)){const sn=Ht.map(an=>{const hn=get($t,an);return hn?set(Ut.current.errors,an,hn):unset(Ut.current.errors,an),!hn}).every(Boolean);return vt({isValid:isEmptyObject($t),isValidating:!1}),sn}else{const sn=get($t,Ht);return wt(Ht,sn,nn!==isEmptyObject($t),{},isEmptyObject($t)),!sn}},[wt,yt]),Kt=React$1.useCallback(async Ht=>{const $t=Ht||Object.keys(Xe.current);if(xt(),ht.current)return Xt($t);if(Array.isArray($t)){!Ht&&(Ut.current.errors={});const nn=await Promise.all($t.map(async sn=>await Ot(sn,null)));return vt({isValidating:!1}),nn.every(Boolean)}return await Ot($t)},[Xt,Ot]),Jt=React$1.useCallback((Ht,$t,{shouldDirty:nn,shouldValidate:sn})=>{const an={};set(an,Ht,$t);for(const hn of getPath(Ht,$t))Xe.current[hn]&&(bt(hn,get(an,hn)),nn&&Wt(hn),sn&&Kt(hn))},[Kt,bt,Wt]),kt=React$1.useCallback((Ht,$t,nn)=>{if(!Ge&&!isPrimitive($t)&&set(ct.current,Ht,Array.isArray($t)?[...$t]:Object.assign({},$t)),Xe.current[Ht])bt(Ht,$t),nn.shouldDirty&&Wt(Ht),nn.shouldValidate&&Kt(Ht);else if(!isPrimitive($t)&&(Jt(Ht,$t,nn),gt.current.has(Ht))){const sn=getFieldArrayParentName(Ht)||Ht;set(Ke.current,Ht,$t),dt.current[sn]({[sn]:get(Ke.current,sn)}),(Et.current.isDirty||Et.current.dirtyFields)&&nn.shouldDirty&&(set(Ut.current.dirtyFields,Ht,setFieldArrayDirtyFields($t,get(it.current,Ht,[]),get(Ut.current.dirtyFields,Ht,[]))),vt({isDirty:!deepEqual(Object.assign(Object.assign({},jt()),{[Ht]:$t}),it.current)}))}!Ge&&set(ct.current,Ht,$t)},[Wt,bt,Jt]),Dt=Ht=>st.current||nt.current.has(Ht)||nt.current.has((Ht.match(/\w+/)||[])[0]),lt=Ht=>{let $t=!0;if(!isEmptyObject(tt.current))for(const nn in tt.current)(!Ht||!tt.current[nn].size||tt.current[nn].has(Ht)||tt.current[nn].has(getFieldArrayParentName(Ht)))&&(et.current[nn](),$t=!1);return $t};function At(Ht,$t,nn){kt(Ht,$t,nn||{}),Dt(Ht)&&vt(),lt(Ht)}ut.current=ut.current?ut.current:async({type:Ht,target:$t})=>{let nn=$t.name;const sn=Xe.current[nn];let an,hn;if(sn){const Mn=Ht===EVENTS.BLUR,Dn=skipValidation(Object.assign({isBlurEvent:Mn,isReValidateOnChange:Ct,isReValidateOnBlur:Ft,isTouched:!!get(Ut.current.touched,nn),isSubmitted:Ut.current.isSubmitted},Mt.current));let bn=Wt(nn,!1),Zn=!isEmptyObject(bn)||!Mn&&Dt(nn);if(Mn&&!get(Ut.current.touched,nn)&&Et.current.touched&&(set(Ut.current.touched,nn,!0),bn=Object.assign(Object.assign({},bn),{touched:Ut.current.touched})),!Ge&&isCheckBoxInput($t)&&set(ct.current,nn,getFieldValue(Xe,nn)),Dn)return!Mn&<(nn),(!isEmptyObject(bn)||Zn&&isEmptyObject(bn))&&vt(bn);if(xt(),ht.current){const{errors:wn}=await ht.current(jt(),pt.current,yt),Vn=Ut.current.isValid;if(an=get(wn,nn),isCheckBoxInput($t)&&!an&&ht.current){const Xn=getFieldArrayParentName(nn),Qn=get(wn,Xn,{});Qn.type&&Qn.message&&(an=Qn),Xn&&(Qn||get(Ut.current.errors,Xn))&&(nn=Xn)}hn=isEmptyObject(wn),Vn!==hn&&(Zn=!0)}else an=(await validateField(Xe,yt,sn,ct))[nn];!Mn&<(nn),wt(nn,an,Zn,bn,hn)}};function Qt(Ht){if(!Ge){let $t=cloneObject(Ht);for(const nn of gt.current)isKey(nn)&&!$t[nn]&&($t=Object.assign(Object.assign({},$t),{[nn]:[]}));return $t}return Ht}function jt(Ht){if(isString$2(Ht))return getFieldValue(Xe,Ht,ct);if(Array.isArray(Ht)){const $t={};for(const nn of Ht)set($t,nn,getFieldValue(Xe,nn,ct));return $t}return Qt(getFieldsValues(Xe,cloneObject(ct.current),Ge))}const zt=React$1.useCallback(async(Ht={})=>{const $t=isEmptyObject(Xe.current)?it.current:{},{errors:nn}=await ht.current(Object.assign(Object.assign(Object.assign({},$t),jt()),Ht),pt.current,yt)||{},sn=isEmptyObject(nn);Ut.current.isValid!==sn&&vt({isValid:sn})},[yt]),Yt=React$1.useCallback((Ht,$t)=>{findRemovedFieldAndRemoveListener(Xe,ut.current,Ht,ct,Ge,$t),Ge&&(unset(at.current,Ht.ref.name),unset(rt.current,Ht.ref.name))},[Ge]),_t=React$1.useCallback(Ht=>{if(st.current)vt();else{for(const $t of nt.current)if($t.startsWith(Ht)){vt();break}lt(Ht)}},[]),Pt=React$1.useCallback((Ht,$t)=>{Ht&&(Yt(Ht,$t),Ge&&!compact(Ht.options||[]).length&&(unset(Ut.current.errors,Ht.ref.name),set(Ut.current.dirtyFields,Ht.ref.name,!0),vt({isDirty:Zt()}),Et.current.isValid&&ht.current&&zt(),_t(Ht.ref.name)))},[zt,Yt]);function ln(Ht){Ht&&(Array.isArray(Ht)?Ht:[Ht]).forEach($t=>Xe.current[$t]&&isKey($t)?delete Ut.current.errors[$t]:unset(Ut.current.errors,$t)),vt({errors:Ht?Ut.current.errors:{}})}function cn(Ht,$t){const nn=(Xe.current[Ht]||{}).ref;set(Ut.current.errors,Ht,Object.assign(Object.assign({},$t),{ref:nn})),vt({isValid:!1}),$t.shouldFocus&&nn&&nn.focus&&nn.focus()}const pn=React$1.useCallback((Ht,$t,nn)=>{const sn=nn?tt.current[nn]:nt.current;let an=getFieldsValues(Xe,cloneObject(ct.current),Ge,!1,Ht);if(isString$2(Ht)){const Mn=getFieldArrayParentName(Ht)||Ht;return gt.current.has(Mn)&&(an=Object.assign(Object.assign({},$e.current),an)),assignWatchFields(an,Ht,sn,isUndefined$1(get(it.current,Ht))?$t:get(it.current,Ht),!0)}const hn=isUndefined$1($t)?it.current:$t;return Array.isArray(Ht)?Ht.reduce((Mn,Dn)=>Object.assign(Object.assign({},Mn),{[Dn]:assignWatchFields(an,Dn,sn,hn)}),{}):(st.current=isUndefined$1(nn),transformToNestObject(!isEmptyObject(an)&&an||hn))},[]);function Un(Ht,$t){return pn(Ht,$t)}function Tn(Ht){for(const $t of Array.isArray(Ht)?Ht:[Ht])Pt(Xe.current[$t],!0)}function on(Ht,$t={}){if(process.env.NODE_ENV!=="production"){if(!Ht.name)return console.warn("📋 Field is missing `name` attribute",Ht,"https://react-hook-form.com/api#useForm");if(gt.current.has(Ht.name.split(/\[\d+\]$/)[0])&&!RegExp(`^${Ht.name.split(/\[\d+\]$/)[0]}[\\d+].\\w+`.replace(/\[/g,"\\[").replace(/\]/g,"\\]")).test(Ht.name))return console.warn('📋 `name` prop should be in object shape: name="test[index].name"',Ht,"https://react-hook-form.com/api#useFieldArray")}const{name:nn,type:sn,value:an}=Ht,hn=Object.assign({ref:Ht},$t),Mn=Xe.current,Dn=isRadioOrCheckboxFunction(Ht),bn=isNameInFieldArray(gt.current,nn),Zn=kn=>isWeb&&(!isHTMLElement(Ht)||kn===Ht);let wn=Mn[nn],Vn=!0,Xn;if(wn&&(Dn?Array.isArray(wn.options)&&compact(wn.options).find(kn=>an===kn.ref.value&&Zn(kn.ref)):Zn(wn.ref))){Mn[nn]=Object.assign(Object.assign({},wn),$t);return}sn?wn=Dn?Object.assign({options:[...compact(wn&&wn.options||[]),{ref:Ht}],ref:{type:sn,name:nn}},$t):Object.assign({},hn):wn=hn,Mn[nn]=wn;const Qn=isUndefined$1(get(ct.current,nn));(!isEmptyObject(it.current)||!Qn)&&(Xn=get(Qn?it.current:ct.current,nn),Vn=isUndefined$1(Xn),!Vn&&!bn&&bt(nn,Xn)),isEmptyObject($t)||(set(rt.current,nn,!0),!St&&Et.current.isValid&&validateField(Xe,yt,wn,ct).then(kn=>{const Ln=Ut.current.isValid;isEmptyObject(kn)?set(at.current,nn,!0):unset(at.current,nn),Ln!==isEmptyObject(kn)&&vt()})),Ge&&!(bn&&Vn)&&!bn&&unset(Ut.current.dirtyFields,nn),sn&&attachEventListeners(Dn&&wn.options?wn.options[wn.options.length-1]:wn,Dn||isSelectInput(Ht),ut.current)}function fn(Ht,$t){if(!isWindowUndefined)if(isString$2(Ht))on({name:Ht},$t);else if(isObject$4(Ht)&&"name"in Ht)on(Ht,$t);else return nn=>nn&&on(nn,Ht)}const mn=React$1.useCallback((Ht,$t)=>async nn=>{nn&&nn.preventDefault&&(nn.preventDefault(),nn.persist());let sn={},an=Qt(getFieldsValues(Xe,cloneObject(ct.current),Ge,!0));Et.current.isSubmitting&&vt({isSubmitting:!0});try{if(ht.current){const{errors:hn,values:Mn}=await ht.current(an,pt.current,yt);Ut.current.errors=sn=hn,an=Mn}else for(const hn of Object.values(Xe.current))if(hn){const{name:Mn}=hn.ref,Dn=await validateField(Xe,yt,hn,ct);Dn[Mn]?(set(sn,Mn,Dn[Mn]),unset(at.current,Mn)):get(rt.current,Mn)&&(unset(Ut.current.errors,Mn),set(at.current,Mn,!0))}isEmptyObject(sn)&&Object.keys(Ut.current.errors).every(hn=>hn in Xe.current)?(vt({errors:{},isSubmitting:!0}),await Ht(an,nn)):(Ut.current.errors=Object.assign(Object.assign({},Ut.current.errors),sn),$t&&await $t(Ut.current.errors,nn),Je&&focusOnErrorField(Xe.current,Ut.current.errors))}finally{Ut.current.isSubmitting=!1,vt({isSubmitted:!0,isSubmitting:!1,isSubmitSuccessful:isEmptyObject(Ut.current.errors),submitCount:Ut.current.submitCount+1})}},[Je,yt]),vn=({errors:Ht,isDirty:$t,isSubmitted:nn,touched:sn,isValid:an,submitCount:hn,dirtyFields:Mn})=>{an||(at.current={},rt.current={}),Ke.current={},nt.current=new Set,st.current=!1,vt({submitCount:hn?Ut.current.submitCount:0,isDirty:$t?Ut.current.isDirty:!1,isSubmitted:nn?Ut.current.isSubmitted:!1,isValid:an?Ut.current.isValid:!1,dirtyFields:Mn?Ut.current.dirtyFields:{},touched:sn?Ut.current.touched:{},errors:Ht?Ut.current.errors:{},isSubmitting:!1,isSubmitSuccessful:!1})},un=(Ht,$t={})=>{if(isWeb){for(const nn of Object.values(Xe.current))if(nn){const{ref:sn,options:an}=nn,hn=isRadioOrCheckboxFunction(sn)&&Array.isArray(an)?an[0].ref:sn;if(isHTMLElement(hn))try{hn.closest("form").reset();break}catch{}}}Xe.current={},it.current=Object.assign({},Ht||it.current),Ht&<(""),Object.values(dt.current).forEach(nn=>isFunction$1(nn)&&nn()),ct.current=Ge?{}:cloneObject(Ht||it.current),vn($t)};React$1.useEffect(()=>{Ue&&Et.current.isValid&&zt(),It.current=It.current||!isWeb?It.current:onDomRemove(Xe,Pt)},[Pt,it.current]),React$1.useEffect(()=>()=>{It.current&&It.current.disconnect(),ot.current=!0,process.env.NODE_ENV==="production"&&Object.values(Xe.current).forEach(Ht=>Pt(Ht,!0))},[]),!Ue&&Et.current.isValid&&(Tt.isValid=deepEqual(at.current,rt.current)&&isEmptyObject(Ut.current.errors));const dn={trigger:Kt,setValue:React$1.useCallback(At,[kt,Kt]),getValues:React$1.useCallback(jt,[]),register:React$1.useCallback(fn,[it.current]),unregister:React$1.useCallback(Tn,[]),formState:isProxyEnabled?new Proxy(Tt,{get:(Ht,$t)=>{if(process.env.NODE_ENV!=="production"&&$t==="isValid"&&St&&console.warn("📋 `formState.isValid` is applicable with `onTouched`, `onChange` or `onBlur` mode. https://react-hook-form.com/api#formState"),$t in Ht)return Et.current[$t]=!0,Ht[$t]}}):Tt},qt=React$1.useMemo(()=>Object.assign({isFormDirty:Zt,updateWatchedValue:_t,shouldUnregister:Ge,updateFormState:vt,removeFieldEventListener:Yt,watchInternal:pn,mode:Mt.current,reValidateMode:{isReValidateOnBlur:Ft,isReValidateOnChange:Ct},validateResolver:Ue?zt:void 0,fieldsRef:Xe,resetFieldArrayFunctionRef:dt,useWatchFieldsRef:tt,useWatchRenderFunctionsRef:et,fieldArrayDefaultValuesRef:Ke,validFieldsRef:at,fieldsWithValidationRef:rt,fieldArrayNamesRef:gt,readFormStateRef:Et,formStateRef:Ut,defaultValuesRef:it,shallowFieldsStateRef:ct,fieldArrayValuesRef:$e},dn),[it.current,_t,Ge,Yt,pn]);return Object.assign({watch:Un,control:qt,handleSubmit:mn,reset:React$1.useCallback(un,[]),clearErrors:React$1.useCallback(ln,[]),setError:React$1.useCallback(cn,[]),errors:Tt.errors},dn)}/*! *****************************************************************************
|
|
2415
|
+
`);return tt.length===1?tt.join(" "):tt.filter(et=>!!et.trim()).map(et=>Ge(et)).join(" ")},$e=({title:nt,content:tt,isDefault:et})=>{addConsent({title:`${et?Ge(nt):nt}`,content:et?Ke(tt):tt,status:!0,session:ue})};return React$1.useEffect(()=>{if(me||Ue){Xe({title:me||defaultPrivacyConsent.title,text:Ue||defaultPrivacyConsent.text,consentType:defaultPrivacyConsent.consentType,default:!Ue});return}getPrivacyConsentData({session:ue,type:"PRIVACY"}).then(({consents:nt})=>{const tt=nt.find(({consentType:et})=>et==="PRIVACY");tt!=null&&tt.text?Xe({...tt,title:(tt==null?void 0:tt.title.trim())||defaultPrivacyConsent.title,text:tt.text.trim()||defaultPrivacyConsent.text,default:!(tt!=null&&tt.text)}):Xe(defaultPrivacyConsent)}).catch(()=>{Xe(defaultPrivacyConsent)})},[ue,me,Ue]),He?jsx(NormalPrivacyConsent,{consent:He,goNext:Qe,addPrivacyConsent:$e,session:ue,isAeroMexicoClient:Ze,customCheck:Je}):null}function renderUserConsent(ue,{session:me,onSuccess:Ue,title:Qe,text:Ze,isAeroMexicoClient:Je=!1,customCheck:Ge=null}){const He=createRoot$1(ue),Xe=handleUnmountRoot(Ue,He,ue);customRender(jsx(App$1,{token:me.token,children:jsx(PrivacyConsent,{goNext:Xe,session:me,title:Qe,text:Ze,isAeroMexicoClient:Je,customCheck:Ge})}),ue,He)}const version="1.71.0";function r(ue){for(var me="",Ue=0;Ue<ue.length;++Ue)if(Ue>0){var Qe=ue[Ue].toLowerCase();Qe!==ue[Ue]?me+=" ".concat(Qe):me+=ue[Ue]}else me+=ue[Ue].toUpperCase();return me}function o(ue,me){return function(Ue,Qe){return Object.prototype.hasOwnProperty.call(Ue,Qe)}(ue,me)?ue[me]:void 0}var i$1={default:"endpoint"},u={default:"tlsEndpoint"},a="Client timeout",R="Network connection error",c="Network request aborted",s="Response cannot be parsed",E="Blocked by CSP",f="The endpoint parameter is not a valid URL",d=r("WrongRegion"),l=r("SubscriptionNotActive"),_=r("UnsupportedVersion"),p=r("InstallationMethodRestricted"),v=r("HostnameRestricted"),O=r("IntegrationFailed"),I="API key required",h="API key not found",N="API key expired",T="Request cannot be parsed",m="Request failed",w="Request failed to process",A="Too many requests, rate limit exceeded",P="Not available for this origin",y="Not available with restricted header",D=I,S=h,L=N,U="3.8.6",b="9319";function g(ue,me){var Ue=[];return function(Qe,Ze){var Je=5,Ge=(tt=Qe,et=__spreadArray$1([],tt,!0),{current:function(){return et[0]},postpone:function(){var at=et.shift();at!==void 0&&et.push(at)},exclude:function(){et.shift()}}),He=(Ke=100,$e=3e3,nt=0,function(){return Math.random()*Math.min($e,Ke*Math.pow(2,nt++))}),Xe=Ge.current(),Ke,$e,nt,tt,et;if(Xe===void 0)return Promise.reject(new TypeError("The list of script URL patterns is empty"));var rt=function(at,it){return Ze(at).catch(function(ot){if(it+1>=Je)throw ot;(function(ct){if(!(ct instanceof Error))return!1;var dt=ct.message;return dt===E||dt===b})(ot)?Ge.exclude():Ge.postpone();var st,ut=Ge.current();if(ut===void 0)throw ot;return(st=He(),new Promise(function(ct){return setTimeout(ct,st)})).then(function(){return rt(ut,it+1)})})};return rt(Xe,0)}(ue,function(Qe){var Ze=new Date,Je=function(He){return Ue.push({url:Qe,startedAt:Ze,finishedAt:new Date,error:He})},Ge=me(Qe);return Ge.then(function(){return Je()},Je),Ge}).then(function(Qe){return[Qe,Ue]})}var C="https://fpnpmcdn.net/v<version>/<apiKey>/loader_v<loaderVersion>.js",K=C,M="Failed to load the JS script of the agent";function B(ue){var me;ue.scriptUrlPattern;var Ue=ue.token,Qe=ue.apiKey,Ze=Qe===void 0?Ue:Qe,Je=__rest$1(ue,["scriptUrlPattern","token","apiKey"]),Ge=(me=o(ue,"scriptUrlPattern"))!==null&&me!==void 0?me:C,He=function(){var $e=[],nt=function(){$e.push({time:new Date,state:document.visibilityState})},tt=function(et,rt,at,it){return et.addEventListener(rt,at,it),function(){return et.removeEventListener(rt,at,it)}}(document,"visibilitychange",nt);return nt(),[$e,tt]}(),Xe=He[0],Ke=He[1];return Promise.resolve().then(function(){if(!Ze||typeof Ze!="string")throw new Error(I);var $e=function(nt,tt){return(Array.isArray(nt)?nt:[nt]).map(function(et){return function(rt,at){var it=encodeURIComponent;return rt.replace(/<[^<>]+>/g,function(ot){return ot==="<version>"?"3":ot==="<apiKey>"?it(at):ot==="<loaderVersion>"?it(U):ot})}(String(et),tt)})}(Ge,Ze);return g($e,F)}).catch(function($e){throw Ke(),function(nt){return nt instanceof Error&&nt.message===b?new Error(M):nt}($e)}).then(function($e){var nt=$e[0],tt=$e[1];return Ke(),nt.load(__assign$1(__assign$1({},Je),{ldi:{attempts:tt,visibilityStates:Xe}}))})}function F(ue){return function(me,Ue,Qe,Ze){var Je,Ge=document,He="securitypolicyviolation",Xe=function($e){var nt=new URL(me,location.href),tt=$e.blockedURI;tt!==nt.href&&tt!==nt.protocol.slice(0,-1)&&tt!==nt.origin||(Je=$e,Ke())};Ge.addEventListener(He,Xe);var Ke=function(){return Ge.removeEventListener(He,Xe)};return Ze==null||Ze.then(Ke,Ke),Promise.resolve().then(Ue).then(function($e){return Ke(),$e},function($e){return new Promise(function(nt){return setTimeout(nt)}).then(function(){if(Ke(),Je)return Qe(Je);throw $e})})}(ue,function(){return function(me){return new Promise(function(Ue,Qe){var Ze=document.createElement("script"),Je=function(){var He;return(He=Ze.parentNode)===null||He===void 0?void 0:He.removeChild(Ze)},Ge=document.head||document.getElementsByTagName("head")[0];Ze.onload=function(){Je(),Ue()},Ze.onerror=function(){Je(),Qe(new Error(M))},Ze.async=!0,Ze.src=me,Ge.appendChild(Ze)})}(ue)},function(){throw new Error(E)}).then(V)}function V(){var ue=window,me="__fpjs_p_l_b",Ue=ue[me];if(function(Qe,Ze){var Je,Ge=(Je=Object.getOwnPropertyDescriptor)===null||Je===void 0?void 0:Je.call(Object,Qe,Ze);Ge!=null&&Ge.configurable?delete Qe[Ze]:Ge&&!Ge.writable||(Qe[Ze]=void 0)}(ue,me),typeof(Ue==null?void 0:Ue.load)!="function")throw new Error(b);return Ue}var k={load:B,defaultScriptUrlPattern:K,ERROR_SCRIPT_LOAD_FAIL:M,ERROR_API_KEY_EXPIRED:N,ERROR_API_KEY_INVALID:h,ERROR_API_KEY_MISSING:I,ERROR_BAD_REQUEST_FORMAT:T,ERROR_BAD_RESPONSE_FORMAT:s,ERROR_CLIENT_TIMEOUT:a,ERROR_CSP_BLOCK:E,ERROR_FORBIDDEN_ENDPOINT:v,ERROR_FORBIDDEN_HEADER:y,ERROR_FORBIDDEN_ORIGIN:P,ERROR_GENERAL_SERVER_FAILURE:m,ERROR_INSTALLATION_METHOD_RESTRICTED:p,ERROR_INTEGRATION_FAILURE:O,ERROR_INVALID_ENDPOINT:f,ERROR_NETWORK_ABORT:c,ERROR_NETWORK_CONNECTION:R,ERROR_RATE_LIMIT:A,ERROR_SERVER_TIMEOUT:w,ERROR_SUBSCRIPTION_NOT_ACTIVE:l,ERROR_TOKEN_EXPIRED:L,ERROR_TOKEN_INVALID:S,ERROR_TOKEN_MISSING:D,ERROR_UNSUPPORTED_VERSION:_,ERROR_WRONG_REGION:d,defaultEndpoint:i$1,defaultTlsEndpoint:u};let fingerprintApiKey;function setFingerprintApiKey(ue){fingerprintApiKey=ue}async function getFingerPrint(){return k.load({token:fingerprintApiKey,endpoint:"https://fingerprint.incodesmile.com",scriptUrlPattern:"https://fingerprint.incodesmile.com/web/v<version>/<apiKey>/loader_v<loaderVersion>.js"}).then(ue=>ue.get({extendedResult:!0}))}const fingerPrintUrl="/omni/add/device-fingerprint";function postFingerprint({hash:ue,ip:me,deviceType:Ue,token:Qe,data:Ze,osVersion:Je,deviceModel:Ge,browser:He,sdkVersion:Xe,hasLiedBrowser:Ke,hostingApp:$e,ipLocation:nt}){return exports.api.post(fingerPrintUrl,{hash:ue,ip:me,deviceType:Ue,data:Ze,osVersion:Je,deviceModel:Ge,browser:He,hasLiedBrowser:Ke,sdkVersion:Xe,hostingApp:$e,ipLocation:nt},{headers:{"X-Incode-Hardware-Id":Qe}}).then(tt=>tt.data).catch(tt=>Promise.reject(tt.response.data))}function formatDeviceModel({vendor:ue,model:me}){return`${ue||""} ${me||""}`.trim()}const emptyFingerprint={visitorId:void 0,ip:void 0,ipLocation:{country:{name:void 0},subdivisions:[],city:{name:void 0},latitude:void 0,longitude:void 0}};async function sendFingerprint({token:ue},me=!0,Ue=!0){var Xe,Ke,$e;const Qe="WEBAPP",{os:Ze,device:Je,browser:Ge}=getUAParserResults(),He=Ue?await getFingerPrint().catch(nt=>(addEvent({code:"fingerprintFetchFailed",payload:{message:nt.message},token:ue}),emptyFingerprint)):emptyFingerprint;return postFingerprint({hash:He.visitorId||"",ip:me&&He.ip||"",deviceType:Qe,token:ue,data:JSON.stringify(He),osVersion:`${Ze.name} ${Ze.version}`,deviceModel:formatDeviceModel(Je),browser:`${Ge.name} ${Ge.version}`,hasLiedBrowser:isBrowserSimulation(),hostingApp:options.hostingApp,sdkVersion:version,ipLocation:{ipCountry:(Xe=He.ipLocation.country)==null?void 0:Xe.name,ipRegion:(Ke=He.ipLocation.subdivisions)==null?void 0:Ke[0].name,ipCity:($e=He.ipLocation.city)==null?void 0:$e.name,ipLatitude:He.ipLocation.latitude,ipLongitude:He.ipLocation.longitude}}).then(nt=>(emptyDeviceStatsQueue(ue),nt))}function mapI18nLang(ue){const me={en:"en-US",es:"es-ES",pt:"pt-BR"},Ue=ue==null?void 0:ue.substring(0,2);return me[Ue]||"en-US"}const createSessionUrl="/omni/start";async function createNewSession({externalId:ue,externalCustomerId:me,configurationId:Ue,uuid:Qe,interviewId:Ze,customFields:Je,language:Ge}={}){const He=Ge||mapI18nLang(i18nInstance.language);try{const Xe=await exports.api.post(createSessionUrl,{externalId:ue,externalCustomerId:me,configurationId:Ue,uuid:Qe,interviewId:Ze,customFields:Je,language:He});state.token=Xe.data;const Ke=Xe.data;emptyQueue(Ke.token);const $e=await sendFingerprint({token:Ke.token,interviewId:Ke.interviewId}).catch(()=>({regulationType:"",showMandatoryConsent:!1}));Ke.regulationType=$e.regulationType??"",Ke.showMandatoryConsent=$e.showMandatoryConsent??!1;const tt=new UAParser().getResult();return addEvent({code:"browser",payload:{userAgent:window.navigator.userAgent,isWebRtcSupported:isWebRtcSupported(),...tt},token:Ke.token}),Ke}catch(Xe){throw Xe!=null&&Xe.response?Xe.response.data:Xe}}const createRedirectUrl=async({session:ue})=>{const{url:me}=await exports.api.get("/omni/onboarding-url",{params:{clientId:ue.clientId},headers:{"X-Incode-Hardware-Id":ue.token}}).then(Ue=>Ue.data);return me};async function createSession$4(ue,me,{externalCustomerId:Ue,configurationId:Qe,uuid:Ze,interviewId:Je,customFields:Ge,language:He}={}){return createNewSession({externalId:me,externalCustomerId:Ue,configurationId:Qe,uuid:Ze,interviewId:Je,customFields:Ge,language:He})}var isHTMLElement=ue=>ue instanceof HTMLElement;const EVENTS={BLUR:"blur",CHANGE:"change",INPUT:"input"},VALIDATION_MODE={onBlur:"onBlur",onChange:"onChange",onSubmit:"onSubmit",onTouched:"onTouched",all:"all"},SELECT="select",UNDEFINED="undefined",INPUT_VALIDATION_RULES={max:"max",min:"min",maxLength:"maxLength",minLength:"minLength",pattern:"pattern",required:"required",validate:"validate"};function attachEventListeners({ref:ue},me,Ue){isHTMLElement(ue)&&Ue&&(ue.addEventListener(me?EVENTS.CHANGE:EVENTS.INPUT,Ue),ue.addEventListener(EVENTS.BLUR,Ue))}var isNullOrUndefined=ue=>ue==null;const isObjectType=ue=>typeof ue=="object";var isObject$4=ue=>!isNullOrUndefined(ue)&&!Array.isArray(ue)&&isObjectType(ue)&&!(ue instanceof Date),isKey=ue=>/^\w*$/.test(ue),compact=ue=>ue.filter(Boolean),stringToPath=ue=>compact(ue.replace(/["|']/g,"").replace(/\[/g,".").replace(/\]/g,"").split("."));function set(ue,me,Ue){let Qe=-1;const Ze=isKey(me)?[me]:stringToPath(me),Je=Ze.length,Ge=Je-1;for(;++Qe<Je;){const He=Ze[Qe];let Xe=Ue;if(Qe!==Ge){const Ke=ue[He];Xe=isObject$4(Ke)||Array.isArray(Ke)?Ke:isNaN(+Ze[Qe+1])?{}:[]}ue[He]=Xe,ue=ue[He]}return ue}var transformToNestObject=(ue,me={})=>{for(const Ue in ue)isKey(Ue)?me[Ue]=ue[Ue]:set(me,Ue,ue[Ue]);return me},isUndefined$1=ue=>ue===void 0,get=(ue={},me,Ue)=>{const Qe=compact(me.split(/[,[\].]+?/)).reduce((Ze,Je)=>isNullOrUndefined(Ze)?Ze:Ze[Je],ue);return isUndefined$1(Qe)||Qe===ue?isUndefined$1(ue[me])?Ue:ue[me]:Qe},focusOnErrorField=(ue,me)=>{for(const Ue in ue)if(get(me,Ue)){const Qe=ue[Ue];if(Qe){if(Qe.ref.focus&&isUndefined$1(Qe.ref.focus()))break;if(Qe.options){Qe.options[0].ref.focus();break}}}},removeAllEventListeners=(ue,me)=>{isHTMLElement(ue)&&ue.removeEventListener&&(ue.removeEventListener(EVENTS.INPUT,me),ue.removeEventListener(EVENTS.CHANGE,me),ue.removeEventListener(EVENTS.BLUR,me))};const defaultReturn={isValid:!1,value:null};var getRadioValue=ue=>Array.isArray(ue)?ue.reduce((me,Ue)=>Ue&&Ue.ref.checked?{isValid:!0,value:Ue.ref.value}:me,defaultReturn):defaultReturn,getMultipleSelectValue=ue=>[...ue].filter(({selected:me})=>me).map(({value:me})=>me),isRadioInput=ue=>ue.type==="radio",isFileInput=ue=>ue.type==="file",isCheckBoxInput=ue=>ue.type==="checkbox",isMultipleSelect=ue=>ue.type===`${SELECT}-multiple`;const defaultResult={value:!1,isValid:!1},validResult={value:!0,isValid:!0};var getCheckboxValue=ue=>{if(Array.isArray(ue)){if(ue.length>1){const Ze=ue.filter(Je=>Je&&Je.ref.checked).map(({ref:{value:Je}})=>Je);return{value:Ze,isValid:!!Ze.length}}const{checked:me,value:Ue,attributes:Qe}=ue[0].ref;return me?Qe&&!isUndefined$1(Qe.value)?isUndefined$1(Ue)||Ue===""?validResult:{value:Ue,isValid:!0}:validResult:defaultResult}return defaultResult};function getFieldValue(ue,me,Ue,Qe,Ze){const Je=ue.current[me];if(Je){const{ref:{value:Ge,disabled:He},ref:Xe,valueAsNumber:Ke,valueAsDate:$e,setValueAs:nt}=Je;return He&&Qe?void 0:isFileInput(Xe)?Xe.files:isRadioInput(Xe)?getRadioValue(Je.options).value:isMultipleSelect(Xe)?getMultipleSelectValue(Xe.options):isCheckBoxInput(Xe)?getCheckboxValue(Je.options).value:Ze?Ge:Ke?Ge===""?NaN:+Ge:$e?Xe.valueAsDate:nt?nt(Ge):Ge}if(Ue)return get(Ue.current,me)}function isDetached(ue){return ue?!(ue instanceof HTMLElement)||ue.nodeType===Node.DOCUMENT_NODE?!1:isDetached(ue.parentNode):!0}var isEmptyObject=ue=>isObject$4(ue)&&!Object.keys(ue).length,isBoolean=ue=>typeof ue=="boolean";function baseGet(ue,me){const Ue=me.slice(0,-1).length;let Qe=0;for(;Qe<Ue;)ue=isUndefined$1(ue)?Qe++:ue[me[Qe++]];return ue}function unset(ue,me){const Ue=isKey(me)?[me]:stringToPath(me),Qe=Ue.length==1?ue:baseGet(ue,Ue),Ze=Ue[Ue.length-1];let Je;Qe&&delete Qe[Ze];for(let Ge=0;Ge<Ue.slice(0,-1).length;Ge++){let He=-1,Xe;const Ke=Ue.slice(0,-(Ge+1)),$e=Ke.length-1;for(Ge>0&&(Je=ue);++He<Ke.length;){const nt=Ke[He];Xe=Xe?Xe[nt]:ue[nt],$e===He&&(isObject$4(Xe)&&isEmptyObject(Xe)||Array.isArray(Xe)&&!Xe.filter(tt=>isObject$4(tt)&&!isEmptyObject(tt)||isBoolean(tt)).length)&&(Je?delete Je[nt]:delete ue[nt]),Je=Xe}}return ue}const isSameRef=(ue,me)=>ue&&ue.ref===me;function findRemovedFieldAndRemoveListener(ue,me,Ue,Qe,Ze,Je){const{ref:Ge,ref:{name:He}}=Ue,Xe=ue.current[He];if(!Ze){const Ke=getFieldValue(ue,He,Qe);!isUndefined$1(Ke)&&set(Qe.current,He,Ke)}if(!Ge.type||!Xe){delete ue.current[He];return}isRadioInput(Ge)||isCheckBoxInput(Ge)?Array.isArray(Xe.options)&&Xe.options.length?(compact(Xe.options).forEach((Ke={},$e)=>{(isDetached(Ke.ref)&&isSameRef(Ke,Ke.ref)||Je)&&(removeAllEventListeners(Ke.ref,me),unset(Xe.options,`[${$e}]`))}),Xe.options&&!compact(Xe.options).length&&delete ue.current[He]):delete ue.current[He]:(isDetached(Ge)&&isSameRef(Xe,Ge)||Je)&&(removeAllEventListeners(Ge,me),delete ue.current[He])}var isPrimitive=ue=>isNullOrUndefined(ue)||!isObjectType(ue);function deepMerge(ue,me){if(isPrimitive(ue)||isPrimitive(me))return me;for(const Ue in me){const Qe=ue[Ue],Ze=me[Ue];try{ue[Ue]=isObject$4(Qe)&&isObject$4(Ze)||Array.isArray(Qe)&&Array.isArray(Ze)?deepMerge(Qe,Ze):Ze}catch{}}return ue}function deepEqual(ue,me,Ue){if(isPrimitive(ue)||isPrimitive(me)||ue instanceof Date||me instanceof Date)return ue===me;if(!React$1.isValidElement(ue)){const Qe=Object.keys(ue),Ze=Object.keys(me);if(Qe.length!==Ze.length)return!1;for(const Je of Qe){const Ge=ue[Je];if(!(Ue&&Je==="ref")){const He=me[Je];if((isObject$4(Ge)||Array.isArray(Ge))&&(isObject$4(He)||Array.isArray(He))?!deepEqual(Ge,He,Ue):Ge!==He)return!1}}}return!0}function setDirtyFields(ue,me,Ue,Qe,Ze){let Je=-1;for(;++Je<ue.length;){for(const Ge in ue[Je])Array.isArray(ue[Je][Ge])?(!Ue[Je]&&(Ue[Je]={}),Ue[Je][Ge]=[],setDirtyFields(ue[Je][Ge],get(me[Je]||{},Ge,[]),Ue[Je][Ge],Ue[Je],Ge)):deepEqual(get(me[Je]||{},Ge),ue[Je][Ge])?set(Ue[Je]||{},Ge):Ue[Je]=Object.assign(Object.assign({},Ue[Je]),{[Ge]:!0});Qe&&!Ue.length&&delete Qe[Ze]}return Ue}var setFieldArrayDirtyFields=(ue,me,Ue)=>deepMerge(setDirtyFields(ue,me,Ue.slice(0,ue.length)),setDirtyFields(me,ue,Ue.slice(0,ue.length))),isString$2=ue=>typeof ue=="string",getFieldsValues=(ue,me,Ue,Qe,Ze)=>{const Je={};for(const Ge in ue.current)(isUndefined$1(Ze)||(isString$2(Ze)?Ge.startsWith(Ze):Array.isArray(Ze)&&Ze.find(He=>Ge.startsWith(He))))&&(Je[Ge]=getFieldValue(ue,Ge,void 0,Qe));return Ue?transformToNestObject(Je):deepMerge(me,transformToNestObject(Je))},isErrorStateChanged=({errors:ue,name:me,error:Ue,validFields:Qe,fieldsWithValidation:Ze})=>{const Je=isUndefined$1(Ue),Ge=get(ue,me);return Je&&!!Ge||!Je&&!deepEqual(Ge,Ue,!0)||Je&&get(Ze,me)&&!get(Qe,me)},isRegex=ue=>ue instanceof RegExp,getValueAndMessage=ue=>isObject$4(ue)&&!isRegex(ue)?ue:{value:ue,message:""},isFunction$1=ue=>typeof ue=="function",isMessage=ue=>isString$2(ue)||React$1.isValidElement(ue);function getValidateError(ue,me,Ue="validate"){if(isMessage(ue)||isBoolean(ue)&&!ue)return{type:Ue,message:isMessage(ue)?ue:"",ref:me}}var appendErrors=(ue,me,Ue,Qe,Ze)=>me?Object.assign(Object.assign({},Ue[ue]),{types:Object.assign(Object.assign({},Ue[ue]&&Ue[ue].types?Ue[ue].types:{}),{[Qe]:Ze||!0})}):{},validateField=async(ue,me,{ref:Ue,ref:{value:Qe},options:Ze,required:Je,maxLength:Ge,minLength:He,min:Xe,max:Ke,pattern:$e,validate:nt},tt)=>{const et=Ue.name,rt={},at=isRadioInput(Ue),it=isCheckBoxInput(Ue),ot=at||it,st=Qe==="",ut=appendErrors.bind(null,et,me,rt),ct=(dt,pt,ht,gt=INPUT_VALIDATION_RULES.maxLength,Mt=INPUT_VALIDATION_RULES.minLength)=>{const St=dt?pt:ht;rt[et]=Object.assign({type:dt?gt:Mt,message:St,ref:Ue},ut(dt?gt:Mt,St))};if(Je&&(!at&&!it&&(st||isNullOrUndefined(Qe))||isBoolean(Qe)&&!Qe||it&&!getCheckboxValue(Ze).isValid||at&&!getRadioValue(Ze).isValid)){const{value:dt,message:pt}=isMessage(Je)?{value:!!Je,message:Je}:getValueAndMessage(Je);if(dt&&(rt[et]=Object.assign({type:INPUT_VALIDATION_RULES.required,message:pt,ref:ot?((ue.current[et].options||[])[0]||{}).ref:Ue},ut(INPUT_VALIDATION_RULES.required,pt)),!me))return rt}if((!isNullOrUndefined(Xe)||!isNullOrUndefined(Ke))&&Qe!==""){let dt,pt;const ht=getValueAndMessage(Ke),gt=getValueAndMessage(Xe);if(isNaN(Qe)){const Mt=Ue.valueAsDate||new Date(Qe);isString$2(ht.value)&&(dt=Mt>new Date(ht.value)),isString$2(gt.value)&&(pt=Mt<new Date(gt.value))}else{const Mt=Ue.valueAsNumber||parseFloat(Qe);isNullOrUndefined(ht.value)||(dt=Mt>ht.value),isNullOrUndefined(gt.value)||(pt=Mt<gt.value)}if((dt||pt)&&(ct(!!dt,ht.message,gt.message,INPUT_VALIDATION_RULES.max,INPUT_VALIDATION_RULES.min),!me))return rt}if(isString$2(Qe)&&!st&&(Ge||He)){const dt=getValueAndMessage(Ge),pt=getValueAndMessage(He),ht=!isNullOrUndefined(dt.value)&&Qe.length>dt.value,gt=!isNullOrUndefined(pt.value)&&Qe.length<pt.value;if((ht||gt)&&(ct(ht,dt.message,pt.message),!me))return rt}if(isString$2(Qe)&&$e&&!st){const{value:dt,message:pt}=getValueAndMessage($e);if(isRegex(dt)&&!dt.test(Qe)&&(rt[et]=Object.assign({type:INPUT_VALIDATION_RULES.pattern,message:pt,ref:Ue},ut(INPUT_VALIDATION_RULES.pattern,pt)),!me))return rt}if(nt){const dt=getFieldValue(ue,et,tt,!1,!0),pt=ot&&Ze?Ze[0].ref:Ue;if(isFunction$1(nt)){const ht=await nt(dt),gt=getValidateError(ht,pt);if(gt&&(rt[et]=Object.assign(Object.assign({},gt),ut(INPUT_VALIDATION_RULES.validate,gt.message)),!me))return rt}else if(isObject$4(nt)){let ht={};for(const[gt,Mt]of Object.entries(nt)){if(!isEmptyObject(ht)&&!me)break;const St=await Mt(dt),Rt=getValidateError(St,pt,gt);Rt&&(ht=Object.assign(Object.assign({},Rt),ut(gt,Rt.message)),me&&(rt[et]=ht))}if(!isEmptyObject(ht)&&(rt[et]=Object.assign({ref:pt},ht),!me))return rt}}return rt};const getPath=(ue,me,Ue=[])=>{for(const Qe in me){const Ze=ue+(isObject$4(me)?`.${Qe}`:`[${Qe}]`);isPrimitive(me[Qe])?Ue.push(Ze):getPath(Ze,me[Qe],Ue)}return Ue};var assignWatchFields=(ue,me,Ue,Qe,Ze)=>{let Je;return Ue.add(me),isEmptyObject(ue)||(Je=get(ue,me),(isObject$4(Je)||Array.isArray(Je))&&getPath(me,Je).forEach(Ge=>Ue.add(Ge))),isUndefined$1(Je)?Ze?Qe:get(Qe,me):Je},skipValidation=({isOnBlur:ue,isOnChange:me,isOnTouch:Ue,isTouched:Qe,isReValidateOnBlur:Ze,isReValidateOnChange:Je,isBlurEvent:Ge,isSubmitted:He,isOnAll:Xe})=>Xe?!1:!He&&Ue?!(Qe||Ge):(He?Ze:ue)?!Ge:(He?Je:me)?Ge:!0,getFieldArrayParentName=ue=>ue.substring(0,ue.indexOf("["));const isMatchFieldArrayName=(ue,me)=>RegExp(`^${me}([|.)\\d+`.replace(/\[/g,"\\[").replace(/\]/g,"\\]")).test(ue);var isNameInFieldArray=(ue,me)=>[...ue].some(Ue=>isMatchFieldArrayName(me,Ue)),isSelectInput=ue=>ue.type===`${SELECT}-one`;function onDomRemove(ue,me){const Ue=new MutationObserver(()=>{for(const Qe of Object.values(ue.current))if(Qe&&Qe.options)for(const Ze of Qe.options)Ze&&Ze.ref&&isDetached(Ze.ref)&&me(Qe);else Qe&&isDetached(Qe.ref)&&me(Qe)});return Ue.observe(window.document,{childList:!0,subtree:!0}),Ue}var isWeb=typeof window!==UNDEFINED&&typeof document!==UNDEFINED;function cloneObject(ue){var me;let Ue;if(isPrimitive(ue)||isWeb&&(ue instanceof File||isHTMLElement(ue))||!["Set","Map","Object","Date","Array"].includes((me=ue.constructor)===null||me===void 0?void 0:me.name))return ue;if(ue instanceof Date)return Ue=new Date(ue.getTime()),Ue;if(ue instanceof Set){Ue=new Set;for(const Qe of ue)Ue.add(Qe);return Ue}if(ue instanceof Map){Ue=new Map;for(const Qe of ue.keys())Ue.set(Qe,cloneObject(ue.get(Qe)));return Ue}Ue=Array.isArray(ue)?[]:{};for(const Qe in ue)Ue[Qe]=cloneObject(ue[Qe]);return Ue}var modeChecker=ue=>({isOnSubmit:!ue||ue===VALIDATION_MODE.onSubmit,isOnBlur:ue===VALIDATION_MODE.onBlur,isOnChange:ue===VALIDATION_MODE.onChange,isOnAll:ue===VALIDATION_MODE.all,isOnTouch:ue===VALIDATION_MODE.onTouched}),isRadioOrCheckboxFunction=ue=>isRadioInput(ue)||isCheckBoxInput(ue);const isWindowUndefined=typeof window===UNDEFINED,isProxyEnabled=isWeb?"Proxy"in window:typeof Proxy!==UNDEFINED;function useForm({mode:ue=VALIDATION_MODE.onSubmit,reValidateMode:me=VALIDATION_MODE.onChange,resolver:Ue,context:Qe,defaultValues:Ze={},shouldFocusError:Je=!0,shouldUnregister:Ge=!0,criteriaMode:He}={}){const Xe=React$1.useRef({}),Ke=React$1.useRef({}),$e=React$1.useRef({}),nt=React$1.useRef(new Set),tt=React$1.useRef({}),et=React$1.useRef({}),rt=React$1.useRef({}),at=React$1.useRef({}),it=React$1.useRef(Ze),ot=React$1.useRef(!1),st=React$1.useRef(!1),ut=React$1.useRef(),ct=React$1.useRef({}),dt=React$1.useRef({}),pt=React$1.useRef(Qe),ht=React$1.useRef(Ue),gt=React$1.useRef(new Set),Mt=React$1.useRef(modeChecker(ue)),{isOnSubmit:St,isOnTouch:Rt}=Mt.current,yt=He===VALIDATION_MODE.all,[Tt,mt]=React$1.useState({isDirty:!1,isValidating:!1,dirtyFields:{},isSubmitted:!1,submitCount:0,touched:{},isSubmitting:!1,isSubmitSuccessful:!1,isValid:!St,errors:{}}),Et=React$1.useRef({isDirty:!isProxyEnabled,dirtyFields:!isProxyEnabled,touched:!isProxyEnabled||Rt,isValidating:!isProxyEnabled,isSubmitting:!isProxyEnabled,isValid:!isProxyEnabled}),Ut=React$1.useRef(Tt),It=React$1.useRef(),{isOnBlur:Ft,isOnChange:Ct}=React$1.useRef(modeChecker(me)).current;pt.current=Qe,ht.current=Ue,Ut.current=Tt,ct.current=Ge?{}:isEmptyObject(ct.current)?cloneObject(Ze):ct.current;const vt=React$1.useCallback((Ht={})=>{ot.current||(Ut.current=Object.assign(Object.assign({},Ut.current),Ht),mt(Ut.current))},[]),xt=()=>Et.current.isValidating&&vt({isValidating:!0}),wt=React$1.useCallback((Ht,$t,nn=!1,sn={},an)=>{let hn=nn||isErrorStateChanged({errors:Ut.current.errors,error:$t,name:Ht,validFields:at.current,fieldsWithValidation:rt.current});const Mn=get(Ut.current.errors,Ht);$t?(unset(at.current,Ht),hn=hn||!Mn||!deepEqual(Mn,$t,!0),set(Ut.current.errors,Ht,$t)):((get(rt.current,Ht)||ht.current)&&(set(at.current,Ht,!0),hn=hn||Mn),unset(Ut.current.errors,Ht)),(hn&&!isNullOrUndefined(nn)||!isEmptyObject(sn)||Et.current.isValidating)&&vt(Object.assign(Object.assign(Object.assign({},sn),ht.current?{isValid:!!an}:{}),{isValidating:!1}))},[]),bt=React$1.useCallback((Ht,$t)=>{const{ref:nn,options:sn}=Xe.current[Ht],an=isWeb&&isHTMLElement(nn)&&isNullOrUndefined($t)?"":$t;isRadioInput(nn)?(sn||[]).forEach(({ref:hn})=>hn.checked=hn.value===an):isFileInput(nn)&&!isString$2(an)?nn.files=an:isMultipleSelect(nn)?[...nn.options].forEach(hn=>hn.selected=an.includes(hn.value)):isCheckBoxInput(nn)&&sn?sn.length>1?sn.forEach(({ref:hn})=>hn.checked=Array.isArray(an)?!!an.find(Mn=>Mn===hn.value):an===hn.value):sn[0].ref.checked=!!an:nn.value=an},[]),Zt=React$1.useCallback((Ht,$t)=>{if(Et.current.isDirty){const nn=jt();return Ht&&$t&&set(nn,Ht,$t),!deepEqual(nn,it.current)}return!1},[]),Wt=React$1.useCallback((Ht,$t=!0)=>{if(Et.current.isDirty||Et.current.dirtyFields){const nn=!deepEqual(get(it.current,Ht),getFieldValue(Xe,Ht,ct)),sn=get(Ut.current.dirtyFields,Ht),an=Ut.current.isDirty;nn?set(Ut.current.dirtyFields,Ht,!0):unset(Ut.current.dirtyFields,Ht);const hn={isDirty:Zt(),dirtyFields:Ut.current.dirtyFields},Mn=Et.current.isDirty&&an!==hn.isDirty||Et.current.dirtyFields&&sn!==get(Ut.current.dirtyFields,Ht);return Mn&&$t&&vt(hn),Mn?hn:{}}return{}},[]),Ot=React$1.useCallback(async(Ht,$t)=>{if(process.env.NODE_ENV!=="production"&&!Xe.current[Ht])return console.warn("📋 Field is missing with `name` attribute: ",Ht),!1;const nn=(await validateField(Xe,yt,Xe.current[Ht],ct))[Ht];return wt(Ht,nn,$t),isUndefined$1(nn)},[wt,yt]),Xt=React$1.useCallback(async Ht=>{const{errors:$t}=await ht.current(jt(),pt.current,yt),nn=Ut.current.isValid;if(Array.isArray(Ht)){const sn=Ht.map(an=>{const hn=get($t,an);return hn?set(Ut.current.errors,an,hn):unset(Ut.current.errors,an),!hn}).every(Boolean);return vt({isValid:isEmptyObject($t),isValidating:!1}),sn}else{const sn=get($t,Ht);return wt(Ht,sn,nn!==isEmptyObject($t),{},isEmptyObject($t)),!sn}},[wt,yt]),Kt=React$1.useCallback(async Ht=>{const $t=Ht||Object.keys(Xe.current);if(xt(),ht.current)return Xt($t);if(Array.isArray($t)){!Ht&&(Ut.current.errors={});const nn=await Promise.all($t.map(async sn=>await Ot(sn,null)));return vt({isValidating:!1}),nn.every(Boolean)}return await Ot($t)},[Xt,Ot]),Jt=React$1.useCallback((Ht,$t,{shouldDirty:nn,shouldValidate:sn})=>{const an={};set(an,Ht,$t);for(const hn of getPath(Ht,$t))Xe.current[hn]&&(bt(hn,get(an,hn)),nn&&Wt(hn),sn&&Kt(hn))},[Kt,bt,Wt]),kt=React$1.useCallback((Ht,$t,nn)=>{if(!Ge&&!isPrimitive($t)&&set(ct.current,Ht,Array.isArray($t)?[...$t]:Object.assign({},$t)),Xe.current[Ht])bt(Ht,$t),nn.shouldDirty&&Wt(Ht),nn.shouldValidate&&Kt(Ht);else if(!isPrimitive($t)&&(Jt(Ht,$t,nn),gt.current.has(Ht))){const sn=getFieldArrayParentName(Ht)||Ht;set(Ke.current,Ht,$t),dt.current[sn]({[sn]:get(Ke.current,sn)}),(Et.current.isDirty||Et.current.dirtyFields)&&nn.shouldDirty&&(set(Ut.current.dirtyFields,Ht,setFieldArrayDirtyFields($t,get(it.current,Ht,[]),get(Ut.current.dirtyFields,Ht,[]))),vt({isDirty:!deepEqual(Object.assign(Object.assign({},jt()),{[Ht]:$t}),it.current)}))}!Ge&&set(ct.current,Ht,$t)},[Wt,bt,Jt]),Dt=Ht=>st.current||nt.current.has(Ht)||nt.current.has((Ht.match(/\w+/)||[])[0]),lt=Ht=>{let $t=!0;if(!isEmptyObject(tt.current))for(const nn in tt.current)(!Ht||!tt.current[nn].size||tt.current[nn].has(Ht)||tt.current[nn].has(getFieldArrayParentName(Ht)))&&(et.current[nn](),$t=!1);return $t};function At(Ht,$t,nn){kt(Ht,$t,nn||{}),Dt(Ht)&&vt(),lt(Ht)}ut.current=ut.current?ut.current:async({type:Ht,target:$t})=>{let nn=$t.name;const sn=Xe.current[nn];let an,hn;if(sn){const Mn=Ht===EVENTS.BLUR,Dn=skipValidation(Object.assign({isBlurEvent:Mn,isReValidateOnChange:Ct,isReValidateOnBlur:Ft,isTouched:!!get(Ut.current.touched,nn),isSubmitted:Ut.current.isSubmitted},Mt.current));let bn=Wt(nn,!1),Zn=!isEmptyObject(bn)||!Mn&&Dt(nn);if(Mn&&!get(Ut.current.touched,nn)&&Et.current.touched&&(set(Ut.current.touched,nn,!0),bn=Object.assign(Object.assign({},bn),{touched:Ut.current.touched})),!Ge&&isCheckBoxInput($t)&&set(ct.current,nn,getFieldValue(Xe,nn)),Dn)return!Mn&<(nn),(!isEmptyObject(bn)||Zn&&isEmptyObject(bn))&&vt(bn);if(xt(),ht.current){const{errors:wn}=await ht.current(jt(),pt.current,yt),Vn=Ut.current.isValid;if(an=get(wn,nn),isCheckBoxInput($t)&&!an&&ht.current){const Xn=getFieldArrayParentName(nn),Qn=get(wn,Xn,{});Qn.type&&Qn.message&&(an=Qn),Xn&&(Qn||get(Ut.current.errors,Xn))&&(nn=Xn)}hn=isEmptyObject(wn),Vn!==hn&&(Zn=!0)}else an=(await validateField(Xe,yt,sn,ct))[nn];!Mn&<(nn),wt(nn,an,Zn,bn,hn)}};function Qt(Ht){if(!Ge){let $t=cloneObject(Ht);for(const nn of gt.current)isKey(nn)&&!$t[nn]&&($t=Object.assign(Object.assign({},$t),{[nn]:[]}));return $t}return Ht}function jt(Ht){if(isString$2(Ht))return getFieldValue(Xe,Ht,ct);if(Array.isArray(Ht)){const $t={};for(const nn of Ht)set($t,nn,getFieldValue(Xe,nn,ct));return $t}return Qt(getFieldsValues(Xe,cloneObject(ct.current),Ge))}const zt=React$1.useCallback(async(Ht={})=>{const $t=isEmptyObject(Xe.current)?it.current:{},{errors:nn}=await ht.current(Object.assign(Object.assign(Object.assign({},$t),jt()),Ht),pt.current,yt)||{},sn=isEmptyObject(nn);Ut.current.isValid!==sn&&vt({isValid:sn})},[yt]),Yt=React$1.useCallback((Ht,$t)=>{findRemovedFieldAndRemoveListener(Xe,ut.current,Ht,ct,Ge,$t),Ge&&(unset(at.current,Ht.ref.name),unset(rt.current,Ht.ref.name))},[Ge]),_t=React$1.useCallback(Ht=>{if(st.current)vt();else{for(const $t of nt.current)if($t.startsWith(Ht)){vt();break}lt(Ht)}},[]),Pt=React$1.useCallback((Ht,$t)=>{Ht&&(Yt(Ht,$t),Ge&&!compact(Ht.options||[]).length&&(unset(Ut.current.errors,Ht.ref.name),set(Ut.current.dirtyFields,Ht.ref.name,!0),vt({isDirty:Zt()}),Et.current.isValid&&ht.current&&zt(),_t(Ht.ref.name)))},[zt,Yt]);function ln(Ht){Ht&&(Array.isArray(Ht)?Ht:[Ht]).forEach($t=>Xe.current[$t]&&isKey($t)?delete Ut.current.errors[$t]:unset(Ut.current.errors,$t)),vt({errors:Ht?Ut.current.errors:{}})}function cn(Ht,$t){const nn=(Xe.current[Ht]||{}).ref;set(Ut.current.errors,Ht,Object.assign(Object.assign({},$t),{ref:nn})),vt({isValid:!1}),$t.shouldFocus&&nn&&nn.focus&&nn.focus()}const pn=React$1.useCallback((Ht,$t,nn)=>{const sn=nn?tt.current[nn]:nt.current;let an=getFieldsValues(Xe,cloneObject(ct.current),Ge,!1,Ht);if(isString$2(Ht)){const Mn=getFieldArrayParentName(Ht)||Ht;return gt.current.has(Mn)&&(an=Object.assign(Object.assign({},$e.current),an)),assignWatchFields(an,Ht,sn,isUndefined$1(get(it.current,Ht))?$t:get(it.current,Ht),!0)}const hn=isUndefined$1($t)?it.current:$t;return Array.isArray(Ht)?Ht.reduce((Mn,Dn)=>Object.assign(Object.assign({},Mn),{[Dn]:assignWatchFields(an,Dn,sn,hn)}),{}):(st.current=isUndefined$1(nn),transformToNestObject(!isEmptyObject(an)&&an||hn))},[]);function Un(Ht,$t){return pn(Ht,$t)}function Tn(Ht){for(const $t of Array.isArray(Ht)?Ht:[Ht])Pt(Xe.current[$t],!0)}function on(Ht,$t={}){if(process.env.NODE_ENV!=="production"){if(!Ht.name)return console.warn("📋 Field is missing `name` attribute",Ht,"https://react-hook-form.com/api#useForm");if(gt.current.has(Ht.name.split(/\[\d+\]$/)[0])&&!RegExp(`^${Ht.name.split(/\[\d+\]$/)[0]}[\\d+].\\w+`.replace(/\[/g,"\\[").replace(/\]/g,"\\]")).test(Ht.name))return console.warn('📋 `name` prop should be in object shape: name="test[index].name"',Ht,"https://react-hook-form.com/api#useFieldArray")}const{name:nn,type:sn,value:an}=Ht,hn=Object.assign({ref:Ht},$t),Mn=Xe.current,Dn=isRadioOrCheckboxFunction(Ht),bn=isNameInFieldArray(gt.current,nn),Zn=kn=>isWeb&&(!isHTMLElement(Ht)||kn===Ht);let wn=Mn[nn],Vn=!0,Xn;if(wn&&(Dn?Array.isArray(wn.options)&&compact(wn.options).find(kn=>an===kn.ref.value&&Zn(kn.ref)):Zn(wn.ref))){Mn[nn]=Object.assign(Object.assign({},wn),$t);return}sn?wn=Dn?Object.assign({options:[...compact(wn&&wn.options||[]),{ref:Ht}],ref:{type:sn,name:nn}},$t):Object.assign({},hn):wn=hn,Mn[nn]=wn;const Qn=isUndefined$1(get(ct.current,nn));(!isEmptyObject(it.current)||!Qn)&&(Xn=get(Qn?it.current:ct.current,nn),Vn=isUndefined$1(Xn),!Vn&&!bn&&bt(nn,Xn)),isEmptyObject($t)||(set(rt.current,nn,!0),!St&&Et.current.isValid&&validateField(Xe,yt,wn,ct).then(kn=>{const Ln=Ut.current.isValid;isEmptyObject(kn)?set(at.current,nn,!0):unset(at.current,nn),Ln!==isEmptyObject(kn)&&vt()})),Ge&&!(bn&&Vn)&&!bn&&unset(Ut.current.dirtyFields,nn),sn&&attachEventListeners(Dn&&wn.options?wn.options[wn.options.length-1]:wn,Dn||isSelectInput(Ht),ut.current)}function fn(Ht,$t){if(!isWindowUndefined)if(isString$2(Ht))on({name:Ht},$t);else if(isObject$4(Ht)&&"name"in Ht)on(Ht,$t);else return nn=>nn&&on(nn,Ht)}const mn=React$1.useCallback((Ht,$t)=>async nn=>{nn&&nn.preventDefault&&(nn.preventDefault(),nn.persist());let sn={},an=Qt(getFieldsValues(Xe,cloneObject(ct.current),Ge,!0));Et.current.isSubmitting&&vt({isSubmitting:!0});try{if(ht.current){const{errors:hn,values:Mn}=await ht.current(an,pt.current,yt);Ut.current.errors=sn=hn,an=Mn}else for(const hn of Object.values(Xe.current))if(hn){const{name:Mn}=hn.ref,Dn=await validateField(Xe,yt,hn,ct);Dn[Mn]?(set(sn,Mn,Dn[Mn]),unset(at.current,Mn)):get(rt.current,Mn)&&(unset(Ut.current.errors,Mn),set(at.current,Mn,!0))}isEmptyObject(sn)&&Object.keys(Ut.current.errors).every(hn=>hn in Xe.current)?(vt({errors:{},isSubmitting:!0}),await Ht(an,nn)):(Ut.current.errors=Object.assign(Object.assign({},Ut.current.errors),sn),$t&&await $t(Ut.current.errors,nn),Je&&focusOnErrorField(Xe.current,Ut.current.errors))}finally{Ut.current.isSubmitting=!1,vt({isSubmitted:!0,isSubmitting:!1,isSubmitSuccessful:isEmptyObject(Ut.current.errors),submitCount:Ut.current.submitCount+1})}},[Je,yt]),vn=({errors:Ht,isDirty:$t,isSubmitted:nn,touched:sn,isValid:an,submitCount:hn,dirtyFields:Mn})=>{an||(at.current={},rt.current={}),Ke.current={},nt.current=new Set,st.current=!1,vt({submitCount:hn?Ut.current.submitCount:0,isDirty:$t?Ut.current.isDirty:!1,isSubmitted:nn?Ut.current.isSubmitted:!1,isValid:an?Ut.current.isValid:!1,dirtyFields:Mn?Ut.current.dirtyFields:{},touched:sn?Ut.current.touched:{},errors:Ht?Ut.current.errors:{},isSubmitting:!1,isSubmitSuccessful:!1})},un=(Ht,$t={})=>{if(isWeb){for(const nn of Object.values(Xe.current))if(nn){const{ref:sn,options:an}=nn,hn=isRadioOrCheckboxFunction(sn)&&Array.isArray(an)?an[0].ref:sn;if(isHTMLElement(hn))try{hn.closest("form").reset();break}catch{}}}Xe.current={},it.current=Object.assign({},Ht||it.current),Ht&<(""),Object.values(dt.current).forEach(nn=>isFunction$1(nn)&&nn()),ct.current=Ge?{}:cloneObject(Ht||it.current),vn($t)};React$1.useEffect(()=>{Ue&&Et.current.isValid&&zt(),It.current=It.current||!isWeb?It.current:onDomRemove(Xe,Pt)},[Pt,it.current]),React$1.useEffect(()=>()=>{It.current&&It.current.disconnect(),ot.current=!0,process.env.NODE_ENV==="production"&&Object.values(Xe.current).forEach(Ht=>Pt(Ht,!0))},[]),!Ue&&Et.current.isValid&&(Tt.isValid=deepEqual(at.current,rt.current)&&isEmptyObject(Ut.current.errors));const dn={trigger:Kt,setValue:React$1.useCallback(At,[kt,Kt]),getValues:React$1.useCallback(jt,[]),register:React$1.useCallback(fn,[it.current]),unregister:React$1.useCallback(Tn,[]),formState:isProxyEnabled?new Proxy(Tt,{get:(Ht,$t)=>{if(process.env.NODE_ENV!=="production"&&$t==="isValid"&&St&&console.warn("📋 `formState.isValid` is applicable with `onTouched`, `onChange` or `onBlur` mode. https://react-hook-form.com/api#formState"),$t in Ht)return Et.current[$t]=!0,Ht[$t]}}):Tt},qt=React$1.useMemo(()=>Object.assign({isFormDirty:Zt,updateWatchedValue:_t,shouldUnregister:Ge,updateFormState:vt,removeFieldEventListener:Yt,watchInternal:pn,mode:Mt.current,reValidateMode:{isReValidateOnBlur:Ft,isReValidateOnChange:Ct},validateResolver:Ue?zt:void 0,fieldsRef:Xe,resetFieldArrayFunctionRef:dt,useWatchFieldsRef:tt,useWatchRenderFunctionsRef:et,fieldArrayDefaultValuesRef:Ke,validFieldsRef:at,fieldsWithValidationRef:rt,fieldArrayNamesRef:gt,readFormStateRef:Et,formStateRef:Ut,defaultValuesRef:it,shallowFieldsStateRef:ct,fieldArrayValuesRef:$e},dn),[it.current,_t,Ge,Yt,pn]);return Object.assign({watch:Un,control:qt,handleSubmit:mn,reset:React$1.useCallback(un,[]),clearErrors:React$1.useCallback(ln,[]),setError:React$1.useCallback(cn,[]),errors:Tt.errors},dn)}/*! *****************************************************************************
|
|
2416
2416
|
Copyright (c) Microsoft Corporation.
|
|
2417
2417
|
|
|
2418
2418
|
Permission to use, copy, modify, and/or distribute this software for any
|