@geoinsight/react-components 0.8.11 → 0.8.12

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.
Files changed (103) hide show
  1. package/.yarn/install-state.gz +0 -0
  2. package/.yarnrc.yml +1 -0
  3. package/dist/cjs/index.js +1 -1
  4. package/dist/cjs/index.js.map +1 -1
  5. package/dist/esm/index.js +1 -1
  6. package/dist/esm/index.js.map +1 -1
  7. package/package.json +2 -3
  8. package/storybook-static/106.ec5a495a.iframe.bundle.js +1 -0
  9. package/storybook-static/145.34858399.iframe.bundle.js +2 -0
  10. package/storybook-static/145.34858399.iframe.bundle.js.LICENSE.txt +9 -0
  11. package/storybook-static/158.734aa560.iframe.bundle.js +2 -0
  12. package/storybook-static/158.734aa560.iframe.bundle.js.LICENSE.txt +1 -0
  13. package/storybook-static/296.673fff81.iframe.bundle.js +1 -0
  14. package/storybook-static/40.a1700674.iframe.bundle.js +2 -0
  15. package/storybook-static/40.a1700674.iframe.bundle.js.LICENSE.txt +9 -0
  16. package/storybook-static/426.afefed49.iframe.bundle.js +44 -0
  17. package/storybook-static/426.afefed49.iframe.bundle.js.map +1 -0
  18. package/storybook-static/433.19f615e7.iframe.bundle.js +1 -0
  19. package/storybook-static/439.51454c4d.iframe.bundle.js +1 -0
  20. package/storybook-static/471.f9d522fc.iframe.bundle.js +402 -0
  21. package/storybook-static/471.f9d522fc.iframe.bundle.js.LICENSE.txt +53 -0
  22. package/storybook-static/471.f9d522fc.iframe.bundle.js.map +1 -0
  23. package/storybook-static/497.dafe304f.iframe.bundle.js +134 -0
  24. package/storybook-static/497.dafe304f.iframe.bundle.js.LICENSE.txt +16 -0
  25. package/storybook-static/497.dafe304f.iframe.bundle.js.map +1 -0
  26. package/storybook-static/659.1ad30476.iframe.bundle.js +1 -0
  27. package/storybook-static/677.e7db0cd6.iframe.bundle.js +2 -0
  28. package/storybook-static/677.e7db0cd6.iframe.bundle.js.LICENSE.txt +15 -0
  29. package/storybook-static/729.01f72d48.iframe.bundle.js +1 -0
  30. package/storybook-static/750.2215b5aa.iframe.bundle.js +1 -0
  31. package/storybook-static/796.09f6c96d.iframe.bundle.js +1 -0
  32. package/storybook-static/984.6be9debc.iframe.bundle.js +1 -0
  33. package/storybook-static/components-accordion-index-stories.ef18c840.iframe.bundle.js +1 -0
  34. package/storybook-static/components-button-index-stories.ab760bed.iframe.bundle.js +2 -0
  35. package/storybook-static/components-button-index-stories.ab760bed.iframe.bundle.js.LICENSE.txt +9 -0
  36. package/storybook-static/components-form-index-stories.3cba66b0.iframe.bundle.js +1 -0
  37. package/storybook-static/components-input-index-stories.52cb94b7.iframe.bundle.js +2 -0
  38. package/storybook-static/components-input-index-stories.52cb94b7.iframe.bundle.js.LICENSE.txt +9 -0
  39. package/storybook-static/components-loading-index-stories.c03f4231.iframe.bundle.js +2 -0
  40. package/storybook-static/components-loading-index-stories.c03f4231.iframe.bundle.js.LICENSE.txt +9 -0
  41. package/storybook-static/components-map-index-stories.df3b2a69.iframe.bundle.js +1 -0
  42. package/storybook-static/components-modal-index-stories.4204e0d1.iframe.bundle.js +1 -0
  43. package/storybook-static/components-select-index-stories.5d8e5e16.iframe.bundle.js +1 -0
  44. package/storybook-static/components-text-area-index-stories.c1412c7f.iframe.bundle.js +2 -0
  45. package/storybook-static/components-text-area-index-stories.c1412c7f.iframe.bundle.js.LICENSE.txt +9 -0
  46. package/storybook-static/context-loading-index-stories.4d6c26b7.iframe.bundle.js +2 -0
  47. package/storybook-static/context-loading-index-stories.4d6c26b7.iframe.bundle.js.LICENSE.txt +9 -0
  48. package/storybook-static/context-modal-index-stories.74348761.iframe.bundle.js +1 -0
  49. package/storybook-static/favicon.svg +7 -0
  50. package/storybook-static/iframe.html +355 -0
  51. package/storybook-static/index.html +126 -0
  52. package/storybook-static/index.json +1 -0
  53. package/storybook-static/main.6ecf7d5b.iframe.bundle.js +1 -0
  54. package/storybook-static/project.json +1 -0
  55. package/storybook-static/runtime~main.b58604cf.iframe.bundle.js +1 -0
  56. package/storybook-static/sb-addons/essentials-actions-2/manager-bundle.js +3 -0
  57. package/storybook-static/sb-addons/essentials-actions-2/manager-bundle.js.LEGAL.txt +0 -0
  58. package/storybook-static/sb-addons/essentials-backgrounds-3/manager-bundle.js +12 -0
  59. package/storybook-static/sb-addons/essentials-backgrounds-3/manager-bundle.js.LEGAL.txt +0 -0
  60. package/storybook-static/sb-addons/essentials-controls-1/manager-bundle.js +114 -0
  61. package/storybook-static/sb-addons/essentials-controls-1/manager-bundle.js.LEGAL.txt +18 -0
  62. package/storybook-static/sb-addons/essentials-measure-6/manager-bundle.js +3 -0
  63. package/storybook-static/sb-addons/essentials-measure-6/manager-bundle.js.LEGAL.txt +0 -0
  64. package/storybook-static/sb-addons/essentials-outline-7/manager-bundle.js +3 -0
  65. package/storybook-static/sb-addons/essentials-outline-7/manager-bundle.js.LEGAL.txt +0 -0
  66. package/storybook-static/sb-addons/essentials-toolbars-5/manager-bundle.js +3 -0
  67. package/storybook-static/sb-addons/essentials-toolbars-5/manager-bundle.js.LEGAL.txt +0 -0
  68. package/storybook-static/sb-addons/essentials-viewport-4/manager-bundle.js +3 -0
  69. package/storybook-static/sb-addons/essentials-viewport-4/manager-bundle.js.LEGAL.txt +0 -0
  70. package/storybook-static/sb-addons/interactions-8/manager-bundle.js +27 -0
  71. package/storybook-static/sb-addons/interactions-8/manager-bundle.js.LEGAL.txt +0 -0
  72. package/storybook-static/sb-addons/links-0/manager-bundle.js +3 -0
  73. package/storybook-static/sb-addons/links-0/manager-bundle.js.LEGAL.txt +0 -0
  74. package/storybook-static/sb-common-assets/fonts.css +31 -0
  75. package/storybook-static/sb-common-assets/nunito-sans-bold-italic.woff2 +0 -0
  76. package/storybook-static/sb-common-assets/nunito-sans-bold.woff2 +0 -0
  77. package/storybook-static/sb-common-assets/nunito-sans-italic.woff2 +0 -0
  78. package/storybook-static/sb-common-assets/nunito-sans-regular.woff2 +0 -0
  79. package/storybook-static/sb-manager/WithTooltip-4HIR6TLV-YPPZ2DMB.js +1 -0
  80. package/storybook-static/sb-manager/chunk-DAJ4OSDJ.js +406 -0
  81. package/storybook-static/sb-manager/chunk-FWZ33S65.js +9 -0
  82. package/storybook-static/sb-manager/chunk-NFZCBIX3.js +348 -0
  83. package/storybook-static/sb-manager/chunk-SZNM6KS3.js +7 -0
  84. package/storybook-static/sb-manager/chunk-ZEU7PDD3.js +1 -0
  85. package/storybook-static/sb-manager/formatter-SWP5E3XI-7BGIK6BL.js +156 -0
  86. package/storybook-static/sb-manager/globals.js +1 -0
  87. package/storybook-static/sb-manager/index.js +1 -0
  88. package/storybook-static/sb-manager/runtime.js +1 -0
  89. package/storybook-static/sb-manager/syntaxhighlighter-NMPM6SWI-GZTSOZ5L.js +1 -0
  90. package/storybook-static/sb-preview/globals.js +1 -0
  91. package/storybook-static/sb-preview/runtime.js +112 -0
  92. package/storybook-static/static/media/code-brackets.2e1112d7.svg +1 -0
  93. package/storybook-static/static/media/colors.a4bd0486.svg +1 -0
  94. package/storybook-static/static/media/comments.a3859089.svg +1 -0
  95. package/storybook-static/static/media/direction.b770f9af.svg +1 -0
  96. package/storybook-static/static/media/flow.edad2ac1.svg +1 -0
  97. package/storybook-static/static/media/plugin.d494b228.svg +1 -0
  98. package/storybook-static/static/media/repo.6d496322.svg +1 -0
  99. package/storybook-static/static/media/spinner_2.6f37ee56.png +0 -0
  100. package/storybook-static/static/media/stackalt.dba9fbb3.svg +1 -0
  101. package/storybook-static/stories-Introduction-stories-mdx.7a2cd1ec.iframe.bundle.js +2 -0
  102. package/storybook-static/stories-Introduction-stories-mdx.7a2cd1ec.iframe.bundle.js.LICENSE.txt +9 -0
  103. package/storybook-static/stories.json +1 -0
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_geoinsight_react_components=self.webpackChunk_geoinsight_react_components||[]).push([[433],{"./node_modules/@mdx-js/react/index.js":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{MDXContext:()=>_lib_index_js__WEBPACK_IMPORTED_MODULE_0__.pC,MDXProvider:()=>_lib_index_js__WEBPACK_IMPORTED_MODULE_0__.Zo,useMDXComponents:()=>_lib_index_js__WEBPACK_IMPORTED_MODULE_0__.ah,withMDXComponents:()=>_lib_index_js__WEBPACK_IMPORTED_MODULE_0__.NF});var _lib_index_js__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/@mdx-js/react/lib/index.js")},"./node_modules/@mdx-js/react/lib/index.js":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{__webpack_require__.d(__webpack_exports__,{NF:()=>withMDXComponents,Zo:()=>MDXProvider,ah:()=>useMDXComponents,pC:()=>MDXContext});var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/react/index.js");const MDXContext=react__WEBPACK_IMPORTED_MODULE_0__.createContext({});function withMDXComponents(Component){return function boundMDXComponent(props){const allComponents=useMDXComponents(props.components);return react__WEBPACK_IMPORTED_MODULE_0__.createElement(Component,{...props,allComponents})}}function useMDXComponents(components){const contextComponents=react__WEBPACK_IMPORTED_MODULE_0__.useContext(MDXContext);return react__WEBPACK_IMPORTED_MODULE_0__.useMemo((()=>"function"==typeof components?components(contextComponents):{...contextComponents,...components}),[contextComponents,components])}const emptyObject={};function MDXProvider({components,children,disableParentContext}){let allComponents;return allComponents=disableParentContext?"function"==typeof components?components({}):components||emptyObject:useMDXComponents(components),react__WEBPACK_IMPORTED_MODULE_0__.createElement(MDXContext.Provider,{value:allComponents},children)}}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_geoinsight_react_components=self.webpackChunk_geoinsight_react_components||[]).push([[439],{"./node_modules/react-hook-form/dist/index.esm.mjs":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{__webpack_require__.d(__webpack_exports__,{Gc:()=>useFormContext,Qr:()=>Controller,RV:()=>FormProvider,cI:()=>useForm});var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/react/index.js"),isCheckBoxInput=element=>"checkbox"===element.type,isDateObject=value=>value instanceof Date,isNullOrUndefined=value=>null==value;const isObjectType=value=>"object"==typeof value;var isObject=value=>!isNullOrUndefined(value)&&!Array.isArray(value)&&isObjectType(value)&&!isDateObject(value),getEventValue=event=>isObject(event)&&event.target?isCheckBoxInput(event.target)?event.target.checked:event.target.value:event,isNameInFieldArray=(names,name)=>names.has((name=>name.substring(0,name.search(/\.\d+(\.|$)/))||name)(name)),isPlainObject=tempObject=>{const prototypeCopy=tempObject.constructor&&tempObject.constructor.prototype;return isObject(prototypeCopy)&&prototypeCopy.hasOwnProperty("isPrototypeOf")},isWeb="undefined"!=typeof window&&void 0!==window.HTMLElement&&"undefined"!=typeof document;function cloneObject(data){let copy;const isArray=Array.isArray(data);if(data instanceof Date)copy=new Date(data);else if(data instanceof Set)copy=new Set(data);else{if(isWeb&&(data instanceof Blob||data instanceof FileList)||!isArray&&!isObject(data))return data;if(copy=isArray?[]:{},isArray||isPlainObject(data))for(const key in data)data.hasOwnProperty(key)&&(copy[key]=cloneObject(data[key]));else copy=data}return copy}var compact=value=>Array.isArray(value)?value.filter(Boolean):[],isUndefined=val=>void 0===val,get=(obj,path,defaultValue)=>{if(!path||!isObject(obj))return defaultValue;const result=compact(path.split(/[,[\].]+?/)).reduce(((result,key)=>isNullOrUndefined(result)?result:result[key]),obj);return isUndefined(result)||result===obj?isUndefined(obj[path])?defaultValue:obj[path]:result},isBoolean=value=>"boolean"==typeof value;const EVENTS={BLUR:"blur",FOCUS_OUT:"focusout",CHANGE:"change"},VALIDATION_MODE={onBlur:"onBlur",onChange:"onChange",onSubmit:"onSubmit",onTouched:"onTouched",all:"all"},INPUT_VALIDATION_RULES_max="max",INPUT_VALIDATION_RULES_min="min",INPUT_VALIDATION_RULES_maxLength="maxLength",INPUT_VALIDATION_RULES_minLength="minLength",INPUT_VALIDATION_RULES_pattern="pattern",INPUT_VALIDATION_RULES_required="required",INPUT_VALIDATION_RULES_validate="validate",HookFormContext=react__WEBPACK_IMPORTED_MODULE_0__.createContext(null),useFormContext=()=>react__WEBPACK_IMPORTED_MODULE_0__.useContext(HookFormContext),FormProvider=props=>{const{children,...data}=props;return react__WEBPACK_IMPORTED_MODULE_0__.createElement(HookFormContext.Provider,{value:data},children)};var getProxyFormState=(formState,control,localProxyFormState,isRoot=!0)=>{const result={defaultValues:control._defaultValues};for(const key in formState)Object.defineProperty(result,key,{get:()=>{const _key=key;return control._proxyFormState[_key]!==VALIDATION_MODE.all&&(control._proxyFormState[_key]=!isRoot||VALIDATION_MODE.all),localProxyFormState&&(localProxyFormState[_key]=!0),formState[_key]}});return result},isEmptyObject=value=>isObject(value)&&!Object.keys(value).length,shouldRenderFormState=(formStateData,_proxyFormState,updateFormState,isRoot)=>{updateFormState(formStateData);const{name,...formState}=formStateData;return isEmptyObject(formState)||Object.keys(formState).length>=Object.keys(_proxyFormState).length||Object.keys(formState).find((key=>_proxyFormState[key]===(!isRoot||VALIDATION_MODE.all)))},convertToArrayPayload=value=>Array.isArray(value)?value:[value],shouldSubscribeByName=(name,signalName,exact)=>!name||!signalName||name===signalName||convertToArrayPayload(name).some((currentName=>currentName&&(exact?currentName===signalName:currentName.startsWith(signalName)||signalName.startsWith(currentName))));function useSubscribe(props){const _props=react__WEBPACK_IMPORTED_MODULE_0__.useRef(props);_props.current=props,react__WEBPACK_IMPORTED_MODULE_0__.useEffect((()=>{const subscription=!props.disabled&&_props.current.subject&&_props.current.subject.subscribe({next:_props.current.next});return()=>{subscription&&subscription.unsubscribe()}}),[props.disabled])}var isString=value=>"string"==typeof value,generateWatchOutput=(names,_names,formValues,isGlobal,defaultValue)=>isString(names)?(isGlobal&&_names.watch.add(names),get(formValues,names,defaultValue)):Array.isArray(names)?names.map((fieldName=>(isGlobal&&_names.watch.add(fieldName),get(formValues,fieldName)))):(isGlobal&&(_names.watchAll=!0),formValues);var isKey=value=>/^\w*$/.test(value),stringToPath=input=>compact(input.replace(/["|']|\]/g,"").split(/\.|\[/));function set(object,path,value){let index=-1;const tempPath=isKey(path)?[path]:stringToPath(path),length=tempPath.length,lastIndex=length-1;for(;++index<length;){const key=tempPath[index];let newValue=value;if(index!==lastIndex){const objValue=object[key];newValue=isObject(objValue)||Array.isArray(objValue)?objValue:isNaN(+tempPath[index+1])?{}:[]}object[key]=newValue,object=object[key]}return object}function useController(props){const methods=useFormContext(),{name,disabled,control=methods.control,shouldUnregister}=props,isArrayField=isNameInFieldArray(control._names.array,name),value=function useWatch(props){const methods=useFormContext(),{control=methods.control,name,defaultValue,disabled,exact}=props||{},_name=react__WEBPACK_IMPORTED_MODULE_0__.useRef(name);_name.current=name,useSubscribe({disabled,subject:control._subjects.values,next:formState=>{shouldSubscribeByName(_name.current,formState.name,exact)&&updateValue(cloneObject(generateWatchOutput(_name.current,control._names,formState.values||control._formValues,!1,defaultValue)))}});const[value,updateValue]=react__WEBPACK_IMPORTED_MODULE_0__.useState(control._getWatch(name,defaultValue));return react__WEBPACK_IMPORTED_MODULE_0__.useEffect((()=>control._removeUnmounted())),value}({control,name,defaultValue:get(control._formValues,name,get(control._defaultValues,name,props.defaultValue)),exact:!0}),formState=function useFormState(props){const methods=useFormContext(),{control=methods.control,disabled,name,exact}=props||{},[formState,updateFormState]=react__WEBPACK_IMPORTED_MODULE_0__.useState(control._formState),_mounted=react__WEBPACK_IMPORTED_MODULE_0__.useRef(!0),_localProxyFormState=react__WEBPACK_IMPORTED_MODULE_0__.useRef({isDirty:!1,isLoading:!1,dirtyFields:!1,touchedFields:!1,isValidating:!1,isValid:!1,errors:!1}),_name=react__WEBPACK_IMPORTED_MODULE_0__.useRef(name);return _name.current=name,useSubscribe({disabled,next:value=>_mounted.current&&shouldSubscribeByName(_name.current,value.name,exact)&&shouldRenderFormState(value,_localProxyFormState.current,control._updateFormState)&&updateFormState({...control._formState,...value}),subject:control._subjects.state}),react__WEBPACK_IMPORTED_MODULE_0__.useEffect((()=>(_mounted.current=!0,_localProxyFormState.current.isValid&&control._updateValid(!0),()=>{_mounted.current=!1})),[control]),getProxyFormState(formState,control,_localProxyFormState.current,!1)}({control,name}),_registerProps=react__WEBPACK_IMPORTED_MODULE_0__.useRef(control.register(name,{...props.rules,value}));return _registerProps.current=control.register(name,props.rules),react__WEBPACK_IMPORTED_MODULE_0__.useEffect((()=>{const _shouldUnregisterField=control._options.shouldUnregister||shouldUnregister,updateMounted=(name,value)=>{const field=get(control._fields,name);field&&(field._f.mount=value)};if(updateMounted(name,!0),_shouldUnregisterField){const value=cloneObject(get(control._options.defaultValues,name));set(control._defaultValues,name,value),isUndefined(get(control._formValues,name))&&set(control._formValues,name,value)}return()=>{(isArrayField?_shouldUnregisterField&&!control._state.action:_shouldUnregisterField)?control.unregister(name):updateMounted(name,!1)}}),[name,control,isArrayField,shouldUnregister]),react__WEBPACK_IMPORTED_MODULE_0__.useEffect((()=>{get(control._fields,name)&&control._updateDisabledField({disabled,fields:control._fields,name,value:get(control._fields,name)._f.value})}),[disabled,name,control]),{field:{name,value,...isBoolean(disabled)||isBoolean(formState.disabled)?{disabled:formState.disabled||disabled}:{},onChange:react__WEBPACK_IMPORTED_MODULE_0__.useCallback((event=>_registerProps.current.onChange({target:{value:getEventValue(event),name},type:EVENTS.CHANGE})),[name]),onBlur:react__WEBPACK_IMPORTED_MODULE_0__.useCallback((()=>_registerProps.current.onBlur({target:{value:get(control._formValues,name),name},type:EVENTS.BLUR})),[name,control]),ref:elm=>{const field=get(control._fields,name);field&&elm&&(field._f.ref={focus:()=>elm.focus(),select:()=>elm.select(),setCustomValidity:message=>elm.setCustomValidity(message),reportValidity:()=>elm.reportValidity()})}},formState,fieldState:Object.defineProperties({},{invalid:{enumerable:!0,get:()=>!!get(formState.errors,name)},isDirty:{enumerable:!0,get:()=>!!get(formState.dirtyFields,name)},isTouched:{enumerable:!0,get:()=>!!get(formState.touchedFields,name)},error:{enumerable:!0,get:()=>get(formState.errors,name)}})}}const Controller=props=>props.render(useController(props));var appendErrors=(name,validateAllFieldCriteria,errors,type,message)=>validateAllFieldCriteria?{...errors[name],types:{...errors[name]&&errors[name].types?errors[name].types:{},[type]:message||!0}}:{},getValidationModes=mode=>({isOnSubmit:!mode||mode===VALIDATION_MODE.onSubmit,isOnBlur:mode===VALIDATION_MODE.onBlur,isOnChange:mode===VALIDATION_MODE.onChange,isOnAll:mode===VALIDATION_MODE.all,isOnTouch:mode===VALIDATION_MODE.onTouched}),isWatched=(name,_names,isBlurEvent)=>!isBlurEvent&&(_names.watchAll||_names.watch.has(name)||[..._names.watch].some((watchName=>name.startsWith(watchName)&&/^\.\w+/.test(name.slice(watchName.length)))));const iterateFieldsByAction=(fields,action,fieldsNames,abortEarly)=>{for(const key of fieldsNames||Object.keys(fields)){const field=get(fields,key);if(field){const{_f,...currentField}=field;if(_f){if(_f.refs&&_f.refs[0]&&action(_f.refs[0],key)&&!abortEarly)break;if(_f.ref&&action(_f.ref,_f.name)&&!abortEarly)break}else isObject(currentField)&&iterateFieldsByAction(currentField,action)}}};var updateFieldArrayRootError=(errors,error,name)=>{const fieldArrayErrors=compact(get(errors,name));return set(fieldArrayErrors,"root",error[name]),set(errors,name,fieldArrayErrors),errors},isFileInput=element=>"file"===element.type,isFunction=value=>"function"==typeof value,isHTMLElement=value=>{if(!isWeb)return!1;const owner=value?value.ownerDocument:0;return value instanceof(owner&&owner.defaultView?owner.defaultView.HTMLElement:HTMLElement)},isMessage=value=>isString(value),isRadioInput=element=>"radio"===element.type,isRegex=value=>value instanceof RegExp;const defaultResult={value:!1,isValid:!1},validResult={value:!0,isValid:!0};var getCheckboxValue=options=>{if(Array.isArray(options)){if(options.length>1){const values=options.filter((option=>option&&option.checked&&!option.disabled)).map((option=>option.value));return{value:values,isValid:!!values.length}}return options[0].checked&&!options[0].disabled?options[0].attributes&&!isUndefined(options[0].attributes.value)?isUndefined(options[0].value)||""===options[0].value?validResult:{value:options[0].value,isValid:!0}:validResult:defaultResult}return defaultResult};const defaultReturn={isValid:!1,value:null};var getRadioValue=options=>Array.isArray(options)?options.reduce(((previous,option)=>option&&option.checked&&!option.disabled?{isValid:!0,value:option.value}:previous),defaultReturn):defaultReturn;function getValidateError(result,ref,type="validate"){if(isMessage(result)||Array.isArray(result)&&result.every(isMessage)||isBoolean(result)&&!result)return{type,message:isMessage(result)?result:"",ref}}var getValueAndMessage=validationData=>isObject(validationData)&&!isRegex(validationData)?validationData:{value:validationData,message:""},validateField=async(field,formValues,validateAllFieldCriteria,shouldUseNativeValidation,isFieldArray)=>{const{ref,refs,required,maxLength,minLength,min,max,pattern,validate,name,valueAsNumber,mount,disabled}=field._f,inputValue=get(formValues,name);if(!mount||disabled)return{};const inputRef=refs?refs[0]:ref,setCustomValidity=message=>{shouldUseNativeValidation&&inputRef.reportValidity&&(inputRef.setCustomValidity(isBoolean(message)?"":message||""),inputRef.reportValidity())},error={},isRadio=isRadioInput(ref),isCheckBox=isCheckBoxInput(ref),isRadioOrCheckbox=isRadio||isCheckBox,isEmpty=(valueAsNumber||isFileInput(ref))&&isUndefined(ref.value)&&isUndefined(inputValue)||isHTMLElement(ref)&&""===ref.value||""===inputValue||Array.isArray(inputValue)&&!inputValue.length,appendErrorsCurry=appendErrors.bind(null,name,validateAllFieldCriteria,error),getMinMaxMessage=(exceedMax,maxLengthMessage,minLengthMessage,maxType=INPUT_VALIDATION_RULES_maxLength,minType=INPUT_VALIDATION_RULES_minLength)=>{const message=exceedMax?maxLengthMessage:minLengthMessage;error[name]={type:exceedMax?maxType:minType,message,ref,...appendErrorsCurry(exceedMax?maxType:minType,message)}};if(isFieldArray?!Array.isArray(inputValue)||!inputValue.length:required&&(!isRadioOrCheckbox&&(isEmpty||isNullOrUndefined(inputValue))||isBoolean(inputValue)&&!inputValue||isCheckBox&&!getCheckboxValue(refs).isValid||isRadio&&!getRadioValue(refs).isValid)){const{value,message}=isMessage(required)?{value:!!required,message:required}:getValueAndMessage(required);if(value&&(error[name]={type:INPUT_VALIDATION_RULES_required,message,ref:inputRef,...appendErrorsCurry(INPUT_VALIDATION_RULES_required,message)},!validateAllFieldCriteria))return setCustomValidity(message),error}if(!(isEmpty||isNullOrUndefined(min)&&isNullOrUndefined(max))){let exceedMax,exceedMin;const maxOutput=getValueAndMessage(max),minOutput=getValueAndMessage(min);if(isNullOrUndefined(inputValue)||isNaN(inputValue)){const valueDate=ref.valueAsDate||new Date(inputValue),convertTimeToDate=time=>new Date((new Date).toDateString()+" "+time),isTime="time"==ref.type,isWeek="week"==ref.type;isString(maxOutput.value)&&inputValue&&(exceedMax=isTime?convertTimeToDate(inputValue)>convertTimeToDate(maxOutput.value):isWeek?inputValue>maxOutput.value:valueDate>new Date(maxOutput.value)),isString(minOutput.value)&&inputValue&&(exceedMin=isTime?convertTimeToDate(inputValue)<convertTimeToDate(minOutput.value):isWeek?inputValue<minOutput.value:valueDate<new Date(minOutput.value))}else{const valueNumber=ref.valueAsNumber||(inputValue?+inputValue:inputValue);isNullOrUndefined(maxOutput.value)||(exceedMax=valueNumber>maxOutput.value),isNullOrUndefined(minOutput.value)||(exceedMin=valueNumber<minOutput.value)}if((exceedMax||exceedMin)&&(getMinMaxMessage(!!exceedMax,maxOutput.message,minOutput.message,INPUT_VALIDATION_RULES_max,INPUT_VALIDATION_RULES_min),!validateAllFieldCriteria))return setCustomValidity(error[name].message),error}if((maxLength||minLength)&&!isEmpty&&(isString(inputValue)||isFieldArray&&Array.isArray(inputValue))){const maxLengthOutput=getValueAndMessage(maxLength),minLengthOutput=getValueAndMessage(minLength),exceedMax=!isNullOrUndefined(maxLengthOutput.value)&&inputValue.length>+maxLengthOutput.value,exceedMin=!isNullOrUndefined(minLengthOutput.value)&&inputValue.length<+minLengthOutput.value;if((exceedMax||exceedMin)&&(getMinMaxMessage(exceedMax,maxLengthOutput.message,minLengthOutput.message),!validateAllFieldCriteria))return setCustomValidity(error[name].message),error}if(pattern&&!isEmpty&&isString(inputValue)){const{value:patternValue,message}=getValueAndMessage(pattern);if(isRegex(patternValue)&&!inputValue.match(patternValue)&&(error[name]={type:INPUT_VALIDATION_RULES_pattern,message,ref,...appendErrorsCurry(INPUT_VALIDATION_RULES_pattern,message)},!validateAllFieldCriteria))return setCustomValidity(message),error}if(validate)if(isFunction(validate)){const validateError=getValidateError(await validate(inputValue,formValues),inputRef);if(validateError&&(error[name]={...validateError,...appendErrorsCurry(INPUT_VALIDATION_RULES_validate,validateError.message)},!validateAllFieldCriteria))return setCustomValidity(validateError.message),error}else if(isObject(validate)){let validationResult={};for(const key in validate){if(!isEmptyObject(validationResult)&&!validateAllFieldCriteria)break;const validateError=getValidateError(await validate[key](inputValue,formValues),inputRef,key);validateError&&(validationResult={...validateError,...appendErrorsCurry(key,validateError.message)},setCustomValidity(validateError.message),validateAllFieldCriteria&&(error[name]=validationResult))}if(!isEmptyObject(validationResult)&&(error[name]={ref:inputRef,...validationResult},!validateAllFieldCriteria))return error}return setCustomValidity(!0),error};function unset(object,path){const paths=Array.isArray(path)?path:isKey(path)?[path]:stringToPath(path),childObject=1===paths.length?object:function baseGet(object,updatePath){const length=updatePath.slice(0,-1).length;let index=0;for(;index<length;)object=isUndefined(object)?index++:object[updatePath[index++]];return object}(object,paths),index=paths.length-1,key=paths[index];return childObject&&delete childObject[key],0!==index&&(isObject(childObject)&&isEmptyObject(childObject)||Array.isArray(childObject)&&function isEmptyArray(obj){for(const key in obj)if(obj.hasOwnProperty(key)&&!isUndefined(obj[key]))return!1;return!0}(childObject))&&unset(object,paths.slice(0,-1)),object}function createSubject(){let _observers=[];return{get observers(){return _observers},next:value=>{for(const observer of _observers)observer.next&&observer.next(value)},subscribe:observer=>(_observers.push(observer),{unsubscribe:()=>{_observers=_observers.filter((o=>o!==observer))}}),unsubscribe:()=>{_observers=[]}}}var isPrimitive=value=>isNullOrUndefined(value)||!isObjectType(value);function deepEqual(object1,object2){if(isPrimitive(object1)||isPrimitive(object2))return object1===object2;if(isDateObject(object1)&&isDateObject(object2))return object1.getTime()===object2.getTime();const keys1=Object.keys(object1),keys2=Object.keys(object2);if(keys1.length!==keys2.length)return!1;for(const key of keys1){const val1=object1[key];if(!keys2.includes(key))return!1;if("ref"!==key){const val2=object2[key];if(isDateObject(val1)&&isDateObject(val2)||isObject(val1)&&isObject(val2)||Array.isArray(val1)&&Array.isArray(val2)?!deepEqual(val1,val2):val1!==val2)return!1}}return!0}var isMultipleSelect=element=>"select-multiple"===element.type,isRadioOrCheckbox=ref=>isRadioInput(ref)||isCheckBoxInput(ref),live=ref=>isHTMLElement(ref)&&ref.isConnected,objectHasFunction=data=>{for(const key in data)if(isFunction(data[key]))return!0;return!1};function markFieldsDirty(data,fields={}){const isParentNodeArray=Array.isArray(data);if(isObject(data)||isParentNodeArray)for(const key in data)Array.isArray(data[key])||isObject(data[key])&&!objectHasFunction(data[key])?(fields[key]=Array.isArray(data[key])?[]:{},markFieldsDirty(data[key],fields[key])):isNullOrUndefined(data[key])||(fields[key]=!0);return fields}function getDirtyFieldsFromDefaultValues(data,formValues,dirtyFieldsFromValues){const isParentNodeArray=Array.isArray(data);if(isObject(data)||isParentNodeArray)for(const key in data)Array.isArray(data[key])||isObject(data[key])&&!objectHasFunction(data[key])?isUndefined(formValues)||isPrimitive(dirtyFieldsFromValues[key])?dirtyFieldsFromValues[key]=Array.isArray(data[key])?markFieldsDirty(data[key],[]):{...markFieldsDirty(data[key])}:getDirtyFieldsFromDefaultValues(data[key],isNullOrUndefined(formValues)?{}:formValues[key],dirtyFieldsFromValues[key]):dirtyFieldsFromValues[key]=!deepEqual(data[key],formValues[key]);return dirtyFieldsFromValues}var getDirtyFields=(defaultValues,formValues)=>getDirtyFieldsFromDefaultValues(defaultValues,formValues,markFieldsDirty(formValues)),getFieldValueAs=(value,{valueAsNumber,valueAsDate,setValueAs})=>isUndefined(value)?value:valueAsNumber?""===value?NaN:value?+value:value:valueAsDate&&isString(value)?new Date(value):setValueAs?setValueAs(value):value;function getFieldValue(_f){const ref=_f.ref;if(!(_f.refs?_f.refs.every((ref=>ref.disabled)):ref.disabled))return isFileInput(ref)?ref.files:isRadioInput(ref)?getRadioValue(_f.refs).value:isMultipleSelect(ref)?[...ref.selectedOptions].map((({value})=>value)):isCheckBoxInput(ref)?getCheckboxValue(_f.refs).value:getFieldValueAs(isUndefined(ref.value)?_f.ref.value:ref.value,_f)}var getResolverOptions=(fieldsNames,_fields,criteriaMode,shouldUseNativeValidation)=>{const fields={};for(const name of fieldsNames){const field=get(_fields,name);field&&set(fields,name,field._f)}return{criteriaMode,names:[...fieldsNames],fields,shouldUseNativeValidation}},getRuleValue=rule=>isUndefined(rule)?rule:isRegex(rule)?rule.source:isObject(rule)?isRegex(rule.value)?rule.value.source:rule.value:rule,hasValidation=options=>options.mount&&(options.required||options.min||options.max||options.maxLength||options.minLength||options.pattern||options.validate);function schemaErrorLookup(errors,_fields,name){const error=get(errors,name);if(error||isKey(name))return{error,name};const names=name.split(".");for(;names.length;){const fieldName=names.join("."),field=get(_fields,fieldName),foundError=get(errors,fieldName);if(field&&!Array.isArray(field)&&name!==fieldName)return{name};if(foundError&&foundError.type)return{name:fieldName,error:foundError};names.pop()}return{name}}var skipValidation=(isBlurEvent,isTouched,isSubmitted,reValidateMode,mode)=>!mode.isOnAll&&(!isSubmitted&&mode.isOnTouch?!(isTouched||isBlurEvent):(isSubmitted?reValidateMode.isOnBlur:mode.isOnBlur)?!isBlurEvent:!(isSubmitted?reValidateMode.isOnChange:mode.isOnChange)||isBlurEvent),unsetEmptyArray=(ref,name)=>!compact(get(ref,name)).length&&unset(ref,name);const defaultOptions={mode:VALIDATION_MODE.onSubmit,reValidateMode:VALIDATION_MODE.onChange,shouldFocusError:!0};function createFormControl(props={},flushRootRender){let delayErrorCallback,_options={...defaultOptions,...props},_formState={submitCount:0,isDirty:!1,isLoading:isFunction(_options.defaultValues),isValidating:!1,isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,touchedFields:{},dirtyFields:{},errors:{},disabled:!1},_fields={},_defaultValues=(isObject(_options.defaultValues)||isObject(_options.values))&&cloneObject(_options.defaultValues||_options.values)||{},_formValues=_options.shouldUnregister?{}:cloneObject(_defaultValues),_state={action:!1,mount:!1,watch:!1},_names={mount:new Set,unMount:new Set,array:new Set,watch:new Set},timer=0;const _proxyFormState={isDirty:!1,dirtyFields:!1,touchedFields:!1,isValidating:!1,isValid:!1,errors:!1},_subjects={values:createSubject(),array:createSubject(),state:createSubject()},shouldCaptureDirtyFields=props.resetOptions&&props.resetOptions.keepDirtyValues,validationModeBeforeSubmit=getValidationModes(_options.mode),validationModeAfterSubmit=getValidationModes(_options.reValidateMode),shouldDisplayAllAssociatedErrors=_options.criteriaMode===VALIDATION_MODE.all,_updateValid=async shouldUpdateValid=>{if(_proxyFormState.isValid||shouldUpdateValid){const isValid=_options.resolver?isEmptyObject((await _executeSchema()).errors):await executeBuiltInValidation(_fields,!0);isValid!==_formState.isValid&&_subjects.state.next({isValid})}},_updateIsValidating=value=>_proxyFormState.isValidating&&_subjects.state.next({isValidating:value}),updateValidAndValue=(name,shouldSkipSetValueAs,value,ref)=>{const field=get(_fields,name);if(field){const defaultValue=get(_formValues,name,isUndefined(value)?get(_defaultValues,name):value);isUndefined(defaultValue)||ref&&ref.defaultChecked||shouldSkipSetValueAs?set(_formValues,name,shouldSkipSetValueAs?defaultValue:getFieldValue(field._f)):setFieldValue(name,defaultValue),_state.mount&&_updateValid()}},updateTouchAndDirty=(name,fieldValue,isBlurEvent,shouldDirty,shouldRender)=>{let shouldUpdateField=!1,isPreviousDirty=!1;const output={name};if(!isBlurEvent||shouldDirty){_proxyFormState.isDirty&&(isPreviousDirty=_formState.isDirty,_formState.isDirty=output.isDirty=_getDirty(),shouldUpdateField=isPreviousDirty!==output.isDirty);const isCurrentFieldPristine=deepEqual(get(_defaultValues,name),fieldValue);isPreviousDirty=get(_formState.dirtyFields,name),isCurrentFieldPristine?unset(_formState.dirtyFields,name):set(_formState.dirtyFields,name,!0),output.dirtyFields=_formState.dirtyFields,shouldUpdateField=shouldUpdateField||_proxyFormState.dirtyFields&&isPreviousDirty!==!isCurrentFieldPristine}if(isBlurEvent){const isPreviousFieldTouched=get(_formState.touchedFields,name);isPreviousFieldTouched||(set(_formState.touchedFields,name,isBlurEvent),output.touchedFields=_formState.touchedFields,shouldUpdateField=shouldUpdateField||_proxyFormState.touchedFields&&isPreviousFieldTouched!==isBlurEvent)}return shouldUpdateField&&shouldRender&&_subjects.state.next(output),shouldUpdateField?output:{}},shouldRenderByError=(name,isValid,error,fieldState)=>{const previousFieldError=get(_formState.errors,name),shouldUpdateValid=_proxyFormState.isValid&&isBoolean(isValid)&&_formState.isValid!==isValid;var callback;if(props.delayError&&error?(callback=()=>((name,error)=>{set(_formState.errors,name,error),_subjects.state.next({errors:_formState.errors})})(name,error),delayErrorCallback=wait=>{clearTimeout(timer),timer=setTimeout(callback,wait)},delayErrorCallback(props.delayError)):(clearTimeout(timer),delayErrorCallback=null,error?set(_formState.errors,name,error):unset(_formState.errors,name)),(error?!deepEqual(previousFieldError,error):previousFieldError)||!isEmptyObject(fieldState)||shouldUpdateValid){const updatedFormState={...fieldState,...shouldUpdateValid&&isBoolean(isValid)?{isValid}:{},errors:_formState.errors,name};_formState={..._formState,...updatedFormState},_subjects.state.next(updatedFormState)}_updateIsValidating(!1)},_executeSchema=async name=>_options.resolver(_formValues,_options.context,getResolverOptions(name||_names.mount,_fields,_options.criteriaMode,_options.shouldUseNativeValidation)),executeBuiltInValidation=async(fields,shouldOnlyCheckValid,context={valid:!0})=>{for(const name in fields){const field=fields[name];if(field){const{_f,...fieldValue}=field;if(_f){const isFieldArrayRoot=_names.array.has(_f.name),fieldError=await validateField(field,_formValues,shouldDisplayAllAssociatedErrors,_options.shouldUseNativeValidation&&!shouldOnlyCheckValid,isFieldArrayRoot);if(fieldError[_f.name]&&(context.valid=!1,shouldOnlyCheckValid))break;!shouldOnlyCheckValid&&(get(fieldError,_f.name)?isFieldArrayRoot?updateFieldArrayRootError(_formState.errors,fieldError,_f.name):set(_formState.errors,_f.name,fieldError[_f.name]):unset(_formState.errors,_f.name))}fieldValue&&await executeBuiltInValidation(fieldValue,shouldOnlyCheckValid,context)}}return context.valid},_getDirty=(name,data)=>(name&&data&&set(_formValues,name,data),!deepEqual(getValues(),_defaultValues)),_getWatch=(names,defaultValue,isGlobal)=>generateWatchOutput(names,_names,{..._state.mount?_formValues:isUndefined(defaultValue)?_defaultValues:isString(names)?{[names]:defaultValue}:defaultValue},isGlobal,defaultValue),setFieldValue=(name,value,options={})=>{const field=get(_fields,name);let fieldValue=value;if(field){const fieldReference=field._f;fieldReference&&(!fieldReference.disabled&&set(_formValues,name,getFieldValueAs(value,fieldReference)),fieldValue=isHTMLElement(fieldReference.ref)&&isNullOrUndefined(value)?"":value,isMultipleSelect(fieldReference.ref)?[...fieldReference.ref.options].forEach((optionRef=>optionRef.selected=fieldValue.includes(optionRef.value))):fieldReference.refs?isCheckBoxInput(fieldReference.ref)?fieldReference.refs.length>1?fieldReference.refs.forEach((checkboxRef=>(!checkboxRef.defaultChecked||!checkboxRef.disabled)&&(checkboxRef.checked=Array.isArray(fieldValue)?!!fieldValue.find((data=>data===checkboxRef.value)):fieldValue===checkboxRef.value))):fieldReference.refs[0]&&(fieldReference.refs[0].checked=!!fieldValue):fieldReference.refs.forEach((radioRef=>radioRef.checked=radioRef.value===fieldValue)):isFileInput(fieldReference.ref)?fieldReference.ref.value="":(fieldReference.ref.value=fieldValue,fieldReference.ref.type||_subjects.values.next({name,values:{..._formValues}})))}(options.shouldDirty||options.shouldTouch)&&updateTouchAndDirty(name,fieldValue,options.shouldTouch,options.shouldDirty,!0),options.shouldValidate&&trigger(name)},setValues=(name,value,options)=>{for(const fieldKey in value){const fieldValue=value[fieldKey],fieldName=`${name}.${fieldKey}`,field=get(_fields,fieldName);!_names.array.has(name)&&isPrimitive(fieldValue)&&(!field||field._f)||isDateObject(fieldValue)?setFieldValue(fieldName,fieldValue,options):setValues(fieldName,fieldValue,options)}},setValue=(name,value,options={})=>{const field=get(_fields,name),isFieldArray=_names.array.has(name),cloneValue=cloneObject(value);set(_formValues,name,cloneValue),isFieldArray?(_subjects.array.next({name,values:{..._formValues}}),(_proxyFormState.isDirty||_proxyFormState.dirtyFields)&&options.shouldDirty&&_subjects.state.next({name,dirtyFields:getDirtyFields(_defaultValues,_formValues),isDirty:_getDirty(name,cloneValue)})):!field||field._f||isNullOrUndefined(cloneValue)?setFieldValue(name,cloneValue,options):setValues(name,cloneValue,options),isWatched(name,_names)&&_subjects.state.next({..._formState}),_subjects.values.next({name,values:{..._formValues}}),!_state.mount&&flushRootRender()},onChange=async event=>{const target=event.target;let name=target.name,isFieldValueUpdated=!0;const field=get(_fields,name),_updateIsFieldValueUpdated=fieldValue=>{isFieldValueUpdated=Number.isNaN(fieldValue)||fieldValue===get(_formValues,name,fieldValue)};if(field){let error,isValid;const fieldValue=target.type?getFieldValue(field._f):getEventValue(event),isBlurEvent=event.type===EVENTS.BLUR||event.type===EVENTS.FOCUS_OUT,shouldSkipValidation=!hasValidation(field._f)&&!_options.resolver&&!get(_formState.errors,name)&&!field._f.deps||skipValidation(isBlurEvent,get(_formState.touchedFields,name),_formState.isSubmitted,validationModeAfterSubmit,validationModeBeforeSubmit),watched=isWatched(name,_names,isBlurEvent);set(_formValues,name,fieldValue),isBlurEvent?(field._f.onBlur&&field._f.onBlur(event),delayErrorCallback&&delayErrorCallback(0)):field._f.onChange&&field._f.onChange(event);const fieldState=updateTouchAndDirty(name,fieldValue,isBlurEvent,!1),shouldRender=!isEmptyObject(fieldState)||watched;if(!isBlurEvent&&_subjects.values.next({name,type:event.type,values:{..._formValues}}),shouldSkipValidation)return _proxyFormState.isValid&&_updateValid(),shouldRender&&_subjects.state.next({name,...watched?{}:fieldState});if(!isBlurEvent&&watched&&_subjects.state.next({..._formState}),_updateIsValidating(!0),_options.resolver){const{errors}=await _executeSchema([name]);if(_updateIsFieldValueUpdated(fieldValue),isFieldValueUpdated){const previousErrorLookupResult=schemaErrorLookup(_formState.errors,_fields,name),errorLookupResult=schemaErrorLookup(errors,_fields,previousErrorLookupResult.name||name);error=errorLookupResult.error,name=errorLookupResult.name,isValid=isEmptyObject(errors)}}else error=(await validateField(field,_formValues,shouldDisplayAllAssociatedErrors,_options.shouldUseNativeValidation))[name],_updateIsFieldValueUpdated(fieldValue),isFieldValueUpdated&&(error?isValid=!1:_proxyFormState.isValid&&(isValid=await executeBuiltInValidation(_fields,!0)));isFieldValueUpdated&&(field._f.deps&&trigger(field._f.deps),shouldRenderByError(name,isValid,error,fieldState))}},_focusInput=(ref,key)=>{if(get(_formState.errors,key)&&ref.focus)return ref.focus(),1},trigger=async(name,options={})=>{let isValid,validationResult;const fieldNames=convertToArrayPayload(name);if(_updateIsValidating(!0),_options.resolver){const errors=await(async names=>{const{errors}=await _executeSchema(names);if(names)for(const name of names){const error=get(errors,name);error?set(_formState.errors,name,error):unset(_formState.errors,name)}else _formState.errors=errors;return errors})(isUndefined(name)?name:fieldNames);isValid=isEmptyObject(errors),validationResult=name?!fieldNames.some((name=>get(errors,name))):isValid}else name?(validationResult=(await Promise.all(fieldNames.map((async fieldName=>{const field=get(_fields,fieldName);return await executeBuiltInValidation(field&&field._f?{[fieldName]:field}:field)})))).every(Boolean),(validationResult||_formState.isValid)&&_updateValid()):validationResult=isValid=await executeBuiltInValidation(_fields);return _subjects.state.next({...!isString(name)||_proxyFormState.isValid&&isValid!==_formState.isValid?{}:{name},..._options.resolver||!name?{isValid}:{},errors:_formState.errors,isValidating:!1}),options.shouldFocus&&!validationResult&&iterateFieldsByAction(_fields,_focusInput,name?fieldNames:_names.mount),validationResult},getValues=fieldNames=>{const values={..._defaultValues,..._state.mount?_formValues:{}};return isUndefined(fieldNames)?values:isString(fieldNames)?get(values,fieldNames):fieldNames.map((name=>get(values,name)))},getFieldState=(name,formState)=>({invalid:!!get((formState||_formState).errors,name),isDirty:!!get((formState||_formState).dirtyFields,name),isTouched:!!get((formState||_formState).touchedFields,name),error:get((formState||_formState).errors,name)}),setError=(name,error,options)=>{const ref=(get(_fields,name,{_f:{}})._f||{}).ref;set(_formState.errors,name,{...error,ref}),_subjects.state.next({name,errors:_formState.errors,isValid:!1}),options&&options.shouldFocus&&ref&&ref.focus&&ref.focus()},unregister=(name,options={})=>{for(const fieldName of name?convertToArrayPayload(name):_names.mount)_names.mount.delete(fieldName),_names.array.delete(fieldName),options.keepValue||(unset(_fields,fieldName),unset(_formValues,fieldName)),!options.keepError&&unset(_formState.errors,fieldName),!options.keepDirty&&unset(_formState.dirtyFields,fieldName),!options.keepTouched&&unset(_formState.touchedFields,fieldName),!_options.shouldUnregister&&!options.keepDefaultValue&&unset(_defaultValues,fieldName);_subjects.values.next({values:{..._formValues}}),_subjects.state.next({..._formState,...options.keepDirty?{isDirty:_getDirty()}:{}}),!options.keepIsValid&&_updateValid()},_updateDisabledField=({disabled,name,field,fields,value})=>{if(isBoolean(disabled)){const inputValue=disabled?void 0:isUndefined(value)?getFieldValue(field?field._f:get(fields,name)._f):value;set(_formValues,name,inputValue),updateTouchAndDirty(name,inputValue,!1,!1,!0)}},register=(name,options={})=>{let field=get(_fields,name);const disabledIsDefined=isBoolean(options.disabled);return set(_fields,name,{...field||{},_f:{...field&&field._f?field._f:{ref:{name}},name,mount:!0,...options}}),_names.mount.add(name),field?_updateDisabledField({field,disabled:options.disabled,name}):updateValidAndValue(name,!0,options.value),{...disabledIsDefined?{disabled:options.disabled}:{},..._options.progressive?{required:!!options.required,min:getRuleValue(options.min),max:getRuleValue(options.max),minLength:getRuleValue(options.minLength),maxLength:getRuleValue(options.maxLength),pattern:getRuleValue(options.pattern)}:{},name,onChange,onBlur:onChange,ref:ref=>{if(ref){register(name,options),field=get(_fields,name);const fieldRef=isUndefined(ref.value)&&ref.querySelectorAll&&ref.querySelectorAll("input,select,textarea")[0]||ref,radioOrCheckbox=isRadioOrCheckbox(fieldRef),refs=field._f.refs||[];if(radioOrCheckbox?refs.find((option=>option===fieldRef)):fieldRef===field._f.ref)return;set(_fields,name,{_f:{...field._f,...radioOrCheckbox?{refs:[...refs.filter(live),fieldRef,...Array.isArray(get(_defaultValues,name))?[{}]:[]],ref:{type:fieldRef.type,name}}:{ref:fieldRef}}}),updateValidAndValue(name,!1,void 0,fieldRef)}else field=get(_fields,name,{}),field._f&&(field._f.mount=!1),(_options.shouldUnregister||options.shouldUnregister)&&(!isNameInFieldArray(_names.array,name)||!_state.action)&&_names.unMount.add(name)}}},_focusError=()=>_options.shouldFocusError&&iterateFieldsByAction(_fields,_focusInput,_names.mount),handleSubmit=(onValid,onInvalid)=>async e=>{e&&(e.preventDefault&&e.preventDefault(),e.persist&&e.persist());let fieldValues=cloneObject(_formValues);if(_subjects.state.next({isSubmitting:!0}),_options.resolver){const{errors,values}=await _executeSchema();_formState.errors=errors,fieldValues=values}else await executeBuiltInValidation(_fields);unset(_formState.errors,"root"),isEmptyObject(_formState.errors)?(_subjects.state.next({errors:{}}),await onValid(fieldValues,e)):(onInvalid&&await onInvalid({..._formState.errors},e),_focusError(),setTimeout(_focusError)),_subjects.state.next({isSubmitted:!0,isSubmitting:!1,isSubmitSuccessful:isEmptyObject(_formState.errors),submitCount:_formState.submitCount+1,errors:_formState.errors})},_reset=(formValues,keepStateOptions={})=>{const updatedValues=formValues?cloneObject(formValues):_defaultValues,cloneUpdatedValues=cloneObject(updatedValues),values=formValues&&!isEmptyObject(formValues)?cloneUpdatedValues:_defaultValues;if(keepStateOptions.keepDefaultValues||(_defaultValues=updatedValues),!keepStateOptions.keepValues){if(keepStateOptions.keepDirtyValues||shouldCaptureDirtyFields)for(const fieldName of _names.mount)get(_formState.dirtyFields,fieldName)?set(values,fieldName,get(_formValues,fieldName)):setValue(fieldName,get(values,fieldName));else{if(isWeb&&isUndefined(formValues))for(const name of _names.mount){const field=get(_fields,name);if(field&&field._f){const fieldReference=Array.isArray(field._f.refs)?field._f.refs[0]:field._f.ref;if(isHTMLElement(fieldReference)){const form=fieldReference.closest("form");if(form){form.reset();break}}}}_fields={}}_formValues=props.shouldUnregister?keepStateOptions.keepDefaultValues?cloneObject(_defaultValues):{}:cloneObject(values),_subjects.array.next({values:{...values}}),_subjects.values.next({values:{...values}})}_names={mount:new Set,unMount:new Set,array:new Set,watch:new Set,watchAll:!1,focus:""},!_state.mount&&flushRootRender(),_state.mount=!_proxyFormState.isValid||!!keepStateOptions.keepIsValid,_state.watch=!!props.shouldUnregister,_subjects.state.next({submitCount:keepStateOptions.keepSubmitCount?_formState.submitCount:0,isDirty:keepStateOptions.keepDirty?_formState.isDirty:!(!keepStateOptions.keepDefaultValues||deepEqual(formValues,_defaultValues)),isSubmitted:!!keepStateOptions.keepIsSubmitted&&_formState.isSubmitted,dirtyFields:keepStateOptions.keepDirtyValues?_formState.dirtyFields:keepStateOptions.keepDefaultValues&&formValues?getDirtyFields(_defaultValues,formValues):{},touchedFields:keepStateOptions.keepTouched?_formState.touchedFields:{},errors:keepStateOptions.keepErrors?_formState.errors:{},isSubmitSuccessful:!!keepStateOptions.keepIsSubmitSuccessful&&_formState.isSubmitSuccessful,isSubmitting:!1})},reset=(formValues,keepStateOptions)=>_reset(isFunction(formValues)?formValues(_formValues):formValues,keepStateOptions);return{control:{register,unregister,getFieldState,handleSubmit,setError,_executeSchema,_getWatch,_getDirty,_updateValid,_removeUnmounted:()=>{for(const name of _names.unMount){const field=get(_fields,name);field&&(field._f.refs?field._f.refs.every((ref=>!live(ref))):!live(field._f.ref))&&unregister(name)}_names.unMount=new Set},_updateFieldArray:(name,values=[],method,args,shouldSetValues=!0,shouldUpdateFieldsAndState=!0)=>{if(args&&method){if(_state.action=!0,shouldUpdateFieldsAndState&&Array.isArray(get(_fields,name))){const fieldValues=method(get(_fields,name),args.argA,args.argB);shouldSetValues&&set(_fields,name,fieldValues)}if(shouldUpdateFieldsAndState&&Array.isArray(get(_formState.errors,name))){const errors=method(get(_formState.errors,name),args.argA,args.argB);shouldSetValues&&set(_formState.errors,name,errors),unsetEmptyArray(_formState.errors,name)}if(_proxyFormState.touchedFields&&shouldUpdateFieldsAndState&&Array.isArray(get(_formState.touchedFields,name))){const touchedFields=method(get(_formState.touchedFields,name),args.argA,args.argB);shouldSetValues&&set(_formState.touchedFields,name,touchedFields)}_proxyFormState.dirtyFields&&(_formState.dirtyFields=getDirtyFields(_defaultValues,_formValues)),_subjects.state.next({name,isDirty:_getDirty(name,values),dirtyFields:_formState.dirtyFields,errors:_formState.errors,isValid:_formState.isValid})}else set(_formValues,name,values)},_updateDisabledField,_getFieldArray:name=>compact(get(_state.mount?_formValues:_defaultValues,name,props.shouldUnregister?get(_defaultValues,name,[]):[])),_reset,_resetDefaultValues:()=>isFunction(_options.defaultValues)&&_options.defaultValues().then((values=>{reset(values,_options.resetOptions),_subjects.state.next({isLoading:!1})})),_updateFormState:updatedFormState=>{_formState={..._formState,...updatedFormState}},_disableForm:disabled=>{isBoolean(disabled)&&(_subjects.state.next({disabled}),iterateFieldsByAction(_fields,(ref=>{ref.disabled=disabled}),0,!1))},_subjects,_proxyFormState,get _fields(){return _fields},get _formValues(){return _formValues},get _state(){return _state},set _state(value){_state=value},get _defaultValues(){return _defaultValues},get _names(){return _names},set _names(value){_names=value},get _formState(){return _formState},set _formState(value){_formState=value},get _options(){return _options},set _options(value){_options={..._options,...value}}},trigger,register,handleSubmit,watch:(name,defaultValue)=>isFunction(name)?_subjects.values.subscribe({next:payload=>name(_getWatch(void 0,defaultValue),payload)}):_getWatch(name,defaultValue,!0),setValue,getValues,reset,resetField:(name,options={})=>{get(_fields,name)&&(isUndefined(options.defaultValue)?setValue(name,get(_defaultValues,name)):(setValue(name,options.defaultValue),set(_defaultValues,name,options.defaultValue)),options.keepTouched||unset(_formState.touchedFields,name),options.keepDirty||(unset(_formState.dirtyFields,name),_formState.isDirty=options.defaultValue?_getDirty(name,get(_defaultValues,name)):_getDirty()),options.keepError||(unset(_formState.errors,name),_proxyFormState.isValid&&_updateValid()),_subjects.state.next({..._formState}))},clearErrors:name=>{name&&convertToArrayPayload(name).forEach((inputName=>unset(_formState.errors,inputName))),_subjects.state.next({errors:name?_formState.errors:{}})},unregister,setError,setFocus:(name,options={})=>{const field=get(_fields,name),fieldReference=field&&field._f;if(fieldReference){const fieldRef=fieldReference.refs?fieldReference.refs[0]:fieldReference.ref;fieldRef.focus&&(fieldRef.focus(),options.shouldSelect&&fieldRef.select())}},getFieldState}}function useForm(props={}){const _formControl=react__WEBPACK_IMPORTED_MODULE_0__.useRef(),_values=react__WEBPACK_IMPORTED_MODULE_0__.useRef(),[formState,updateFormState]=react__WEBPACK_IMPORTED_MODULE_0__.useState({isDirty:!1,isValidating:!1,isLoading:isFunction(props.defaultValues),isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,submitCount:0,dirtyFields:{},touchedFields:{},errors:{},disabled:!1,defaultValues:isFunction(props.defaultValues)?void 0:props.defaultValues});_formControl.current||(_formControl.current={...createFormControl(props,(()=>updateFormState((formState=>({...formState}))))),formState});const control=_formControl.current.control;return control._options=props,useSubscribe({subject:control._subjects.state,next:value=>{shouldRenderFormState(value,control._proxyFormState,control._updateFormState,!0)&&updateFormState({...control._formState})}}),react__WEBPACK_IMPORTED_MODULE_0__.useEffect((()=>control._disableForm(props.disabled)),[control,props.disabled]),react__WEBPACK_IMPORTED_MODULE_0__.useEffect((()=>{if(control._proxyFormState.isDirty){const isDirty=control._getDirty();isDirty!==formState.isDirty&&control._subjects.state.next({isDirty})}}),[control,formState.isDirty]),react__WEBPACK_IMPORTED_MODULE_0__.useEffect((()=>{props.values&&!deepEqual(props.values,_values.current)?(control._reset(props.values,control._options.resetOptions),_values.current=props.values):control._resetDefaultValues()}),[props.values,control]),react__WEBPACK_IMPORTED_MODULE_0__.useEffect((()=>{control._state.mount||(control._updateValid(),control._state.mount=!0),control._state.watch&&(control._state.watch=!1,control._subjects.state.next({...control._formState})),control._removeUnmounted()})),_formControl.current.formState=getProxyFormState(formState,control),_formControl.current}}}]);