suprform 1.0.2 → 1.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -4
- package/dist/components/controlled-field/ControlledField.d.ts +4 -0
- package/dist/components/controlled-field/ControlledField.d.ts.map +1 -0
- package/dist/components/form/SuprForm.d.ts.map +1 -1
- package/dist/components/form/type.d.ts +7 -1
- package/dist/components/form/type.d.ts.map +1 -1
- package/dist/context/SuprFormContext.d.ts +14 -0
- package/dist/context/SuprFormContext.d.ts.map +1 -0
- package/dist/suprform.cjs.js +1 -1
- package/dist/suprform.cjs.js.map +1 -1
- package/dist/suprform.es.js +492 -457
- package/dist/suprform.es.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -18,9 +18,8 @@ A lightweight, **design system agnostic** React form library built as a powerful
|
|
|
18
18
|
|
|
19
19
|
## Installation
|
|
20
20
|
|
|
21
|
-
|
|
22
|
-
npm install suprform
|
|
23
|
-
```
|
|
21
|
+
````bash
|
|
22
|
+
npm install suprform
|
|
24
23
|
|
|
25
24
|
## Quick Start with SuprForm.Control
|
|
26
25
|
|
|
@@ -65,7 +64,7 @@ function LoginForm() {
|
|
|
65
64
|
</SuprForm>
|
|
66
65
|
);
|
|
67
66
|
}
|
|
68
|
-
|
|
67
|
+
````
|
|
69
68
|
|
|
70
69
|
**That's it!** `SuprForm.Control` automatically:
|
|
71
70
|
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { FieldValues, FieldPath } from 'react-hook-form';
|
|
2
|
+
import { ControlledFieldProps } from '../form/type';
|
|
3
|
+
export declare const ControlledField: <TFieldValues extends FieldValues = FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>>({ field, fieldState, children, className, label, id, required, }: ControlledFieldProps<TFieldValues, TName>) => import("react/jsx-runtime").JSX.Element;
|
|
4
|
+
//# sourceMappingURL=ControlledField.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ControlledField.d.ts","sourceRoot":"","sources":["../../../src/components/controlled-field/ControlledField.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAEpD,eAAO,MAAM,eAAe,GAC1B,YAAY,SAAS,WAAW,GAAG,WAAW,EAC9C,KAAK,SAAS,SAAS,CAAC,YAAY,CAAC,GAAG,SAAS,CAAC,YAAY,CAAC,EAC/D,kEAQC,oBAAoB,CAAC,YAAY,EAAE,KAAK,CAAC,4CAmD3C,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SuprForm.d.ts","sourceRoot":"","sources":["../../../src/components/form/SuprForm.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAC1C,OAAO,EAKL,WAAW,EACX,SAAS,EACV,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,aAAa,EAAE,gBAAgB,
|
|
1
|
+
{"version":3,"file":"SuprForm.d.ts","sourceRoot":"","sources":["../../../src/components/form/SuprForm.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAC1C,OAAO,EAKL,WAAW,EACX,SAAS,EACV,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAC;AAIzD,KAAK,YAAY,GAAG,CAAC,YAAY,SAAS,WAAW,GAAG,WAAW,EACjE,KAAK,EAAE,aAAa,CAAC,YAAY,CAAC,KAC/B,YAAY,CAAC;AAElB,KAAK,iBAAiB,GAAG,YAAY,GAAG;IACtC,OAAO,EAAE,CACP,YAAY,SAAS,WAAW,GAAG,WAAW,EAC9C,KAAK,SAAS,SAAS,CAAC,YAAY,CAAC,GAAG,SAAS,CAAC,YAAY,CAAC,EAE/D,KAAK,EAAE,gBAAgB,CAAC,YAAY,EAAE,KAAK,CAAC,KACzC,YAAY,CAAC;CACnB,CAAC;AAEF,QAAA,MAAM,QAAQ,EAAE,iBAkDf,CAAC;AAyCF,eAAe,QAAQ,CAAC"}
|
|
@@ -1,11 +1,14 @@
|
|
|
1
1
|
import { ReactNode, ReactElement } from 'react';
|
|
2
|
-
import { ControllerFieldState, ControllerRenderProps, FieldValues, FieldPath, RegisterOptions, SubmitHandler, UseFormProps } from 'react-hook-form';
|
|
2
|
+
import { ControllerFieldState, ControllerRenderProps, FieldValues, FieldPath, RegisterOptions, SubmitHandler, UseFormProps, SubmitErrorHandler } from 'react-hook-form';
|
|
3
3
|
export interface SuprFormProps<TFieldValues extends FieldValues = FieldValues> {
|
|
4
4
|
children: ReactNode;
|
|
5
5
|
onSubmit?: SubmitHandler<TFieldValues>;
|
|
6
6
|
style?: React.CSSProperties;
|
|
7
7
|
className?: string;
|
|
8
8
|
formOptions?: UseFormProps<TFieldValues>;
|
|
9
|
+
onError?: SubmitErrorHandler<TFieldValues>;
|
|
10
|
+
showAsterisk?: boolean;
|
|
11
|
+
ref?: React.Ref<any>;
|
|
9
12
|
}
|
|
10
13
|
export interface FormControlProps<TFieldValues extends FieldValues = FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>> {
|
|
11
14
|
children: ReactElement<any>;
|
|
@@ -14,6 +17,8 @@ export interface FormControlProps<TFieldValues extends FieldValues = FieldValues
|
|
|
14
17
|
label?: string;
|
|
15
18
|
className?: string;
|
|
16
19
|
id?: string;
|
|
20
|
+
shouldUnregister?: boolean;
|
|
21
|
+
disabled?: boolean;
|
|
17
22
|
}
|
|
18
23
|
export interface ControlledFieldProps<TFieldValues extends FieldValues = FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>> {
|
|
19
24
|
field: ControllerRenderProps<TFieldValues, TName>;
|
|
@@ -22,5 +27,6 @@ export interface ControlledFieldProps<TFieldValues extends FieldValues = FieldVa
|
|
|
22
27
|
className?: string;
|
|
23
28
|
label?: string;
|
|
24
29
|
id?: string;
|
|
30
|
+
required?: boolean;
|
|
25
31
|
}
|
|
26
32
|
//# sourceMappingURL=type.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"type.d.ts","sourceRoot":"","sources":["../../../src/components/form/type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAChD,OAAO,EACL,oBAAoB,EACpB,qBAAqB,EACrB,WAAW,EACX,SAAS,EACT,eAAe,EACf,aAAa,EACb,YAAY,
|
|
1
|
+
{"version":3,"file":"type.d.ts","sourceRoot":"","sources":["../../../src/components/form/type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAChD,OAAO,EACL,oBAAoB,EACpB,qBAAqB,EACrB,WAAW,EACX,SAAS,EACT,eAAe,EACf,aAAa,EACb,YAAY,EACZ,kBAAkB,EACnB,MAAM,iBAAiB,CAAC;AAEzB,MAAM,WAAW,aAAa,CAAC,YAAY,SAAS,WAAW,GAAG,WAAW;IAC3E,QAAQ,EAAE,SAAS,CAAC;IACpB,QAAQ,CAAC,EAAE,aAAa,CAAC,YAAY,CAAC,CAAC;IACvC,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,YAAY,CAAC,YAAY,CAAC,CAAC;IACzC,OAAO,CAAC,EAAE,kBAAkB,CAAC,YAAY,CAAC,CAAC;IAC3C,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;CACtB;AAED,MAAM,WAAW,gBAAgB,CAC/B,YAAY,SAAS,WAAW,GAAG,WAAW,EAC9C,KAAK,SAAS,SAAS,CAAC,YAAY,CAAC,GAAG,SAAS,CAAC,YAAY,CAAC;IAE/D,QAAQ,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC;IAC5B,KAAK,CAAC,EAAE,eAAe,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;IAC7C,IAAI,EAAE,KAAK,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,oBAAoB,CACnC,YAAY,SAAS,WAAW,GAAG,WAAW,EAC9C,KAAK,SAAS,SAAS,CAAC,YAAY,CAAC,GAAG,SAAS,CAAC,YAAY,CAAC;IAE/D,KAAK,EAAE,qBAAqB,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;IAClD,UAAU,EAAE,oBAAoB,CAAC;IACjC,QAAQ,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
interface SuprFormContextType {
|
|
3
|
+
showAsterisk?: boolean;
|
|
4
|
+
}
|
|
5
|
+
declare const SuprFormContext: import('react').Context<SuprFormContextType | undefined>;
|
|
6
|
+
interface SuprFormProviderProps {
|
|
7
|
+
children: ReactNode;
|
|
8
|
+
showAsterisk?: boolean;
|
|
9
|
+
}
|
|
10
|
+
export declare const SuprFormProvider: ({ showAsterisk, children }: SuprFormProviderProps) => import("react/jsx-runtime").JSX.Element;
|
|
11
|
+
export declare const useSuprFormContext: () => SuprFormContextType;
|
|
12
|
+
export type { SuprFormContextType };
|
|
13
|
+
export default SuprFormContext;
|
|
14
|
+
//# sourceMappingURL=SuprFormContext.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SuprFormContext.d.ts","sourceRoot":"","sources":["../../src/context/SuprFormContext.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA6B,SAAS,EAAE,MAAM,OAAO,CAAC;AAE7D,UAAU,mBAAmB;IAC3B,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,QAAA,MAAM,eAAe,0DAA4D,CAAC;AAElF,UAAU,qBAAqB;IAC7B,QAAQ,EAAE,SAAS,CAAC;IACpB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,eAAO,MAAM,gBAAgB,GAAI,4BAA4B,qBAAqB,4CAEjF,CAAC;AAEF,eAAO,MAAM,kBAAkB,2BAQ9B,CAAC;AAEF,YAAY,EAAE,mBAAmB,EAAE,CAAC;AAEpC,eAAe,eAAe,CAAC"}
|
package/dist/suprform.cjs.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const ne=require("react/jsx-runtime"),b=require("react");var ge=e=>e.type==="checkbox",ae=e=>e instanceof Date,H=e=>e==null;const nt=e=>typeof e=="object";var U=e=>!H(e)&&!Array.isArray(e)&&nt(e)&&!ae(e),lt=e=>U(e)&&e.target?ge(e.target)?e.target.checked:e.target.value:e,St=e=>e.substring(0,e.search(/\.\d+(\.|$)/))||e,ut=(e,s)=>e.has(St(s)),Et=e=>{const s=e.constructor&&e.constructor.prototype;return U(s)&&s.hasOwnProperty("isPrototypeOf")},Te=typeof window<"u"&&typeof window.HTMLElement<"u"&&typeof document<"u";function p(e){let s;const t=Array.isArray(e),i=typeof FileList<"u"?e instanceof FileList:!1;if(e instanceof Date)s=new Date(e);else if(!(Te&&(e instanceof Blob||i))&&(t||U(e)))if(s=t?[]:Object.create(Object.getPrototypeOf(e)),!t&&!Et(e))s=e;else for(const l in e)e.hasOwnProperty(l)&&(s[l]=p(e[l]));else return e;return s}var Fe=e=>/^\w*$/.test(e),O=e=>e===void 0,Le=e=>Array.isArray(e)?e.filter(Boolean):[],Me=e=>Le(e.replace(/["|']|\]/g,"").split(/\.|\[/)),y=(e,s,t)=>{if(!s||!U(e))return t;const i=(Fe(s)?[s]:Me(s)).reduce((l,n)=>H(l)?l:l[n],e);return O(i)||i===e?O(e[s])?t:e[s]:i},K=e=>typeof e=="boolean",C=(e,s,t)=>{let i=-1;const l=Fe(s)?[s]:Me(s),n=l.length,o=n-1;for(;++i<n;){const c=l[i];let w=t;if(i!==o){const R=e[c];w=U(R)||Array.isArray(R)?R:isNaN(+l[i+1])?{}:[]}if(c==="__proto__"||c==="constructor"||c==="prototype")return;e[c]=w,e=e[c]}};const me={BLUR:"blur",FOCUS_OUT:"focusout",CHANGE:"change"},J={onBlur:"onBlur",onChange:"onChange",onSubmit:"onSubmit",onTouched:"onTouched",all:"all"},re={max:"max",min:"min",maxLength:"maxLength",minLength:"minLength",pattern:"pattern",required:"required",validate:"validate"},Ue=b.createContext(null);Ue.displayName="HookFormContext";const xe=()=>b.useContext(Ue),Ct=e=>{const{children:s,...t}=e;return b.createElement(Ue.Provider,{value:t},s)};var ot=(e,s,t,i=!0)=>{const l={defaultValues:s._defaultValues};for(const n in e)Object.defineProperty(l,n,{get:()=>{const o=n;return s._proxyFormState[o]!==J.all&&(s._proxyFormState[o]=!i||J.all),t&&(t[o]=!0),e[o]}});return l};const pe=typeof window<"u"?b.useLayoutEffect:b.useEffect;function Rt(e){const s=xe(),{control:t=s.control,disabled:i,name:l,exact:n}=e||{},[o,c]=b.useState(t._formState),w=b.useRef({isDirty:!1,isLoading:!1,dirtyFields:!1,touchedFields:!1,validatingFields:!1,isValidating:!1,isValid:!1,errors:!1});return pe(()=>t._subscribe({name:l,formState:w.current,exact:n,callback:R=>{!i&&c({...t._formState,...R})}}),[l,i,n]),b.useEffect(()=>{w.current.isValid&&t._setValid(!0)},[t]),b.useMemo(()=>ot(o,t,w.current,!1),[o,t])}var G=e=>typeof e=="string",Ce=(e,s,t,i,l)=>G(e)?(i&&s.watch.add(e),y(t,e,l)):Array.isArray(e)?e.map(n=>(i&&s.watch.add(n),y(t,n))):(i&&(s.watchAll=!0),t),Re=e=>H(e)||!nt(e);function Q(e,s,t=new WeakSet){if(Re(e)||Re(s))return Object.is(e,s);if(ae(e)&&ae(s))return e.getTime()===s.getTime();const i=Object.keys(e),l=Object.keys(s);if(i.length!==l.length)return!1;if(t.has(e)||t.has(s))return!0;t.add(e),t.add(s);for(const n of i){const o=e[n];if(!l.includes(n))return!1;if(n!=="ref"){const c=s[n];if(ae(o)&&ae(c)||U(o)&&U(c)||Array.isArray(o)&&Array.isArray(c)?!Q(o,c,t):!Object.is(o,c))return!1}}return!0}function Ot(e){const s=xe(),{control:t=s.control,name:i,defaultValue:l,disabled:n,exact:o,compute:c}=e||{},w=b.useRef(l),R=b.useRef(c),F=b.useRef(void 0),m=b.useRef(t),v=b.useRef(i);R.current=c;const[B,N]=b.useState(()=>{const V=t._getWatch(i,w.current);return R.current?R.current(V):V}),S=b.useCallback(V=>{const x=Ce(i,t._names,V||t._formValues,!1,w.current);return R.current?R.current(x):x},[t._formValues,t._names,i]),L=b.useCallback(V=>{if(!n){const x=Ce(i,t._names,V||t._formValues,!1,w.current);if(R.current){const $=R.current(x);Q($,F.current)||(N($),F.current=$)}else N(x)}},[t._formValues,t._names,n,i]);pe(()=>((m.current!==t||!Q(v.current,i))&&(m.current=t,v.current=i,L()),t._subscribe({name:i,formState:{values:!0},exact:o,callback:V=>{L(V.values)}})),[t,o,i,L]),b.useEffect(()=>t._removeUnmounted());const Z=m.current!==t,_=v.current,I=b.useMemo(()=>{if(n)return null;const V=!Z&&!Q(_,i);return Z||V?S():null},[n,Z,i,_,S]);return I!==null?I:B}function Tt(e){const s=xe(),{name:t,disabled:i,control:l=s.control,shouldUnregister:n,defaultValue:o,exact:c=!0}=e,w=ut(l._names.array,t),R=b.useMemo(()=>y(l._formValues,t,y(l._defaultValues,t,o)),[l,t,o]),F=Ot({control:l,name:t,defaultValue:R,exact:c}),m=Rt({control:l,name:t,exact:c}),v=b.useRef(e),B=b.useRef(void 0),N=b.useRef(l.register(t,{...e.rules,value:F,...K(e.disabled)?{disabled:e.disabled}:{}}));v.current=e;const S=b.useMemo(()=>Object.defineProperties({},{invalid:{enumerable:!0,get:()=>!!y(m.errors,t)},isDirty:{enumerable:!0,get:()=>!!y(m.dirtyFields,t)},isTouched:{enumerable:!0,get:()=>!!y(m.touchedFields,t)},isValidating:{enumerable:!0,get:()=>!!y(m.validatingFields,t)},error:{enumerable:!0,get:()=>y(m.errors,t)}}),[m,t]),L=b.useCallback(V=>N.current.onChange({target:{value:lt(V),name:t},type:me.CHANGE}),[t]),Z=b.useCallback(()=>N.current.onBlur({target:{value:y(l._formValues,t),name:t},type:me.BLUR}),[t,l._formValues]),_=b.useCallback(V=>{const x=y(l._fields,t);x&&V&&(x._f.ref={focus:()=>V.focus&&V.focus(),select:()=>V.select&&V.select(),setCustomValidity:$=>V.setCustomValidity($),reportValidity:()=>V.reportValidity()})},[l._fields,t]),I=b.useMemo(()=>({name:t,value:F,...K(i)||m.disabled?{disabled:m.disabled||i}:{},onChange:L,onBlur:Z,ref:_}),[t,i,m.disabled,L,Z,_,F]);return b.useEffect(()=>{const V=l._options.shouldUnregister||n,x=B.current;x&&x!==t&&!w&&l.unregister(x),l.register(t,{...v.current.rules,...K(v.current.disabled)?{disabled:v.current.disabled}:{}});const $=(z,de)=>{const P=y(l._fields,z);P&&P._f&&(P._f.mount=de)};if($(t,!0),V){const z=p(y(l._options.defaultValues,t,v.current.defaultValue));C(l._defaultValues,t,z),O(y(l._formValues,t))&&C(l._formValues,t,z)}return!w&&l.register(t),B.current=t,()=>{(w?V&&!l._state.action:V)?l.unregister(t):$(t,!1)}},[t,l,w,n]),b.useEffect(()=>{l._setDisabledField({disabled:i,name:t})},[i,t,l]),b.useMemo(()=>({field:I,formState:m,fieldState:S}),[I,m,S])}const Lt=e=>e.render(Tt(e));var Mt=(e,s,t,i,l)=>s?{...t[e],types:{...t[e]&&t[e].types?t[e].types:{},[i]:l||!0}}:{},ye=e=>Array.isArray(e)?e:[e],Ye=()=>{let e=[];return{get observers(){return e},next:l=>{for(const n of e)n.next&&n.next(l)},subscribe:l=>(e.push(l),{unsubscribe:()=>{e=e.filter(n=>n!==l)}}),unsubscribe:()=>{e=[]}}};function dt(e,s){const t={};for(const i in e)if(e.hasOwnProperty(i)){const l=e[i],n=s[i];if(l&&U(l)&&n){const o=dt(l,n);U(o)&&(t[i]=o)}else e[i]&&(t[i]=n)}return t}var W=e=>U(e)&&!Object.keys(e).length,Ne=e=>e.type==="file",X=e=>typeof e=="function",_e=e=>{if(!Te)return!1;const s=e?e.ownerDocument:0;return e instanceof(s&&s.defaultView?s.defaultView.HTMLElement:HTMLElement)},ct=e=>e.type==="select-multiple",Be=e=>e.type==="radio",Ut=e=>Be(e)||ge(e),Ee=e=>_e(e)&&e.isConnected;function pt(e,s){const t=s.slice(0,-1).length;let i=0;for(;i<t;)e=O(e)?i++:e[s[i++]];return e}function Nt(e){for(const s in e)if(e.hasOwnProperty(s)&&!O(e[s]))return!1;return!0}function M(e,s){const t=Array.isArray(s)?s:Fe(s)?[s]:Me(s),i=t.length===1?e:pt(e,t),l=t.length-1,n=t[l];return i&&delete i[n],l!==0&&(U(i)&&W(i)||Array.isArray(i)&&Nt(i))&&M(e,t.slice(0,-1)),e}var Bt=e=>{for(const s in e)if(X(e[s]))return!0;return!1};function ft(e){return Array.isArray(e)||U(e)&&!Bt(e)}function Oe(e,s={}){for(const t in e){const i=e[t];ft(i)?(s[t]=Array.isArray(i)?[]:{},Oe(i,s[t])):O(i)||(s[t]=!0)}return s}function oe(e,s,t){t||(t=Oe(s));for(const i in e){const l=e[i];if(ft(l))O(s)||Re(t[i])?t[i]=Oe(l,Array.isArray(l)?[]:{}):oe(l,H(s)?{}:s[i],t[i]);else{const n=s[i];t[i]=!Q(l,n)}}return t}const Je={value:!1,isValid:!1},Qe={value:!0,isValid:!0};var yt=e=>{if(Array.isArray(e)){if(e.length>1){const s=e.filter(t=>t&&t.checked&&!t.disabled).map(t=>t.value);return{value:s,isValid:!!s.length}}return e[0].checked&&!e[0].disabled?e[0].attributes&&!O(e[0].attributes.value)?O(e[0].value)||e[0].value===""?Qe:{value:e[0].value,isValid:!0}:Qe:Je}return Je},ht=(e,{valueAsNumber:s,valueAsDate:t,setValueAs:i})=>O(e)?e:s?e===""?NaN:e&&+e:t&&G(e)?new Date(e):i?i(e):e;const Xe={isValid:!1,value:null};var gt=e=>Array.isArray(e)?e.reduce((s,t)=>t&&t.checked&&!t.disabled?{isValid:!0,value:t.value}:s,Xe):Xe;function Ze(e){const s=e.ref;return Ne(s)?s.files:Be(s)?gt(e.refs).value:ct(s)?[...s.selectedOptions].map(({value:t})=>t):ge(s)?yt(e.refs).value:ht(O(s.value)?e.ref.value:s.value,e)}var It=(e,s,t,i)=>{const l={};for(const n of e){const o=y(s,n);o&&C(l,n,o._f)}return{criteriaMode:t,names:[...e],fields:l,shouldUseNativeValidation:i}},Ve=e=>e instanceof RegExp,fe=e=>O(e)?e:Ve(e)?e.source:U(e)?Ve(e.value)?e.value.source:e.value:e,et=e=>({isOnSubmit:!e||e===J.onSubmit,isOnBlur:e===J.onBlur,isOnChange:e===J.onChange,isOnAll:e===J.all,isOnTouch:e===J.onTouched});const tt="AsyncFunction";var Pt=e=>!!e&&!!e.validate&&!!(X(e.validate)&&e.validate.constructor.name===tt||U(e.validate)&&Object.values(e.validate).find(s=>s.constructor.name===tt)),qt=e=>e.mount&&(e.required||e.min||e.max||e.maxLength||e.minLength||e.pattern||e.validate),rt=(e,s,t)=>!t&&(s.watchAll||s.watch.has(e)||[...s.watch].some(i=>e.startsWith(i)&&/^\.\w+/.test(e.slice(i.length))));const he=(e,s,t,i)=>{for(const l of t||Object.keys(e)){const n=y(e,l);if(n){const{_f:o,...c}=n;if(o){if(o.refs&&o.refs[0]&&s(o.refs[0],l)&&!i)return!0;if(o.ref&&s(o.ref,o.name)&&!i)return!0;if(he(c,s))break}else if(U(c)&&he(c,s))break}}};function st(e,s,t){const i=y(e,t);if(i||Fe(t))return{error:i,name:t};const l=t.split(".");for(;l.length;){const n=l.join("."),o=y(s,n),c=y(e,n);if(o&&!Array.isArray(o)&&t!==n)return{name:t};if(c&&c.type)return{name:n,error:c};if(c&&c.root&&c.root.type)return{name:`${n}.root`,error:c.root};l.pop()}return{name:t}}var Wt=(e,s,t,i)=>{t(e);const{name:l,...n}=e;return W(n)||Object.keys(n).length>=Object.keys(s).length||Object.keys(n).find(o=>s[o]===(!i||J.all))},jt=(e,s,t)=>!e||!s||e===s||ye(e).some(i=>i&&(t?i===s:i.startsWith(s)||s.startsWith(i))),Ht=(e,s,t,i,l)=>l.isOnAll?!1:!t&&l.isOnTouch?!(s||e):(t?i.isOnBlur:l.isOnBlur)?!e:(t?i.isOnChange:l.isOnChange)?e:!0,$t=(e,s)=>!Le(y(e,s)).length&&M(e,s),zt=(e,s,t)=>{const i=ye(y(e,t));return C(i,"root",s[t]),C(e,t,i),e};function it(e,s,t="validate"){if(G(e)||Array.isArray(e)&&e.every(G)||K(e)&&!e)return{type:t,message:G(e)?e:"",ref:s}}var ue=e=>U(e)&&!Ve(e)?e:{value:e,message:""},at=async(e,s,t,i,l,n)=>{const{ref:o,refs:c,required:w,maxLength:R,minLength:F,min:m,max:v,pattern:B,validate:N,name:S,valueAsNumber:L,mount:Z}=e._f,_=y(t,S);if(!Z||s.has(S))return{};const I=c?c[0]:o,V=A=>{l&&I.reportValidity&&(I.setCustomValidity(K(A)?"":A||""),I.reportValidity())},x={},$=Be(o),z=ge(o),de=$||z,P=(L||Ne(o))&&O(o.value)&&O(_)||_e(o)&&o.value===""||_===""||Array.isArray(_)&&!_.length,ie=Mt.bind(null,S,i,x),ee=(A,D,T,q=re.maxLength,j=re.minLength)=>{const te=A?D:T;x[S]={type:A?q:j,message:te,ref:o,...ie(A?q:j,te)}};if(n?!Array.isArray(_)||!_.length:w&&(!de&&(P||H(_))||K(_)&&!_||z&&!yt(c).isValid||$&&!gt(c).isValid)){const{value:A,message:D}=G(w)?{value:!!w,message:w}:ue(w);if(A&&(x[S]={type:re.required,message:D,ref:I,...ie(re.required,D)},!i))return V(D),x}if(!P&&(!H(m)||!H(v))){let A,D;const T=ue(v),q=ue(m);if(!H(_)&&!isNaN(_)){const j=o.valueAsNumber||_&&+_;H(T.value)||(A=j>T.value),H(q.value)||(D=j<q.value)}else{const j=o.valueAsDate||new Date(_),te=ve=>new Date(new Date().toDateString()+" "+ve),ce=o.type=="time",le=o.type=="week";G(T.value)&&_&&(A=ce?te(_)>te(T.value):le?_>T.value:j>new Date(T.value)),G(q.value)&&_&&(D=ce?te(_)<te(q.value):le?_<q.value:j<new Date(q.value))}if((A||D)&&(ee(!!A,T.message,q.message,re.max,re.min),!i))return V(x[S].message),x}if((R||F)&&!P&&(G(_)||n&&Array.isArray(_))){const A=ue(R),D=ue(F),T=!H(A.value)&&_.length>+A.value,q=!H(D.value)&&_.length<+D.value;if((T||q)&&(ee(T,A.message,D.message),!i))return V(x[S].message),x}if(B&&!P&&G(_)){const{value:A,message:D}=ue(B);if(Ve(A)&&!_.match(A)&&(x[S]={type:re.pattern,message:D,ref:o,...ie(re.pattern,D)},!i))return V(D),x}if(N){if(X(N)){const A=await N(_,t),D=it(A,I);if(D&&(x[S]={...D,...ie(re.validate,D.message)},!i))return V(D.message),x}else if(U(N)){let A={};for(const D in N){if(!W(A)&&!i)break;const T=it(await N[D](_,t),I,D);T&&(A={...T,...ie(D,T.message)},V(T.message),i&&(x[S]=A))}if(!W(A)&&(x[S]={ref:I,...A},!i))return x}}return V(!0),x};const Kt={mode:J.onSubmit,reValidateMode:J.onChange,shouldFocusError:!0};function Gt(e={}){let s={...Kt,...e},t={submitCount:0,isDirty:!1,isReady:!1,isLoading:X(s.defaultValues),isValidating:!1,isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,touchedFields:{},dirtyFields:{},validatingFields:{},errors:s.errors||{},disabled:s.disabled||!1},i={},l=U(s.defaultValues)||U(s.values)?p(s.defaultValues||s.values)||{}:{},n=s.shouldUnregister?{}:p(l),o={action:!1,mount:!1,watch:!1},c={mount:new Set,disabled:new Set,unMount:new Set,array:new Set,watch:new Set},w,R=0;const F={isDirty:!1,dirtyFields:!1,validatingFields:!1,touchedFields:!1,isValidating:!1,isValid:!1,errors:!1};let m={...F};const v={array:Ye(),state:Ye()},B=s.criteriaMode===J.all,N=r=>a=>{clearTimeout(R),R=setTimeout(r,a)},S=async r=>{if(!s.disabled&&(F.isValid||m.isValid||r)){const a=s.resolver?W((await z()).errors):await P(i,!0);a!==t.isValid&&v.state.next({isValid:a})}},L=(r,a)=>{!s.disabled&&(F.isValidating||F.validatingFields||m.isValidating||m.validatingFields)&&((r||Array.from(c.mount)).forEach(u=>{u&&(a?C(t.validatingFields,u,a):M(t.validatingFields,u))}),v.state.next({validatingFields:t.validatingFields,isValidating:!W(t.validatingFields)}))},Z=(r,a=[],u,h,f=!0,d=!0)=>{if(h&&u&&!s.disabled){if(o.action=!0,d&&Array.isArray(y(i,r))){const g=u(y(i,r),h.argA,h.argB);f&&C(i,r,g)}if(d&&Array.isArray(y(t.errors,r))){const g=u(y(t.errors,r),h.argA,h.argB);f&&C(t.errors,r,g),$t(t.errors,r)}if((F.touchedFields||m.touchedFields)&&d&&Array.isArray(y(t.touchedFields,r))){const g=u(y(t.touchedFields,r),h.argA,h.argB);f&&C(t.touchedFields,r,g)}(F.dirtyFields||m.dirtyFields)&&(t.dirtyFields=oe(l,n)),v.state.next({name:r,isDirty:ee(r,a),dirtyFields:t.dirtyFields,errors:t.errors,isValid:t.isValid})}else C(n,r,a)},_=(r,a)=>{C(t.errors,r,a),v.state.next({errors:t.errors})},I=r=>{t.errors=r,v.state.next({errors:t.errors,isValid:!1})},V=(r,a,u,h)=>{const f=y(i,r);if(f){const d=y(n,r,O(u)?y(l,r):u);O(d)||h&&h.defaultChecked||a?C(n,r,a?d:Ze(f._f)):T(r,d),o.mount&&!o.action&&S()}},x=(r,a,u,h,f)=>{let d=!1,g=!1;const k={name:r};if(!s.disabled){if(!u||h){(F.isDirty||m.isDirty)&&(g=t.isDirty,t.isDirty=k.isDirty=ee(),d=g!==k.isDirty);const E=Q(y(l,r),a);g=!!y(t.dirtyFields,r),E?M(t.dirtyFields,r):C(t.dirtyFields,r,!0),k.dirtyFields=t.dirtyFields,d=d||(F.dirtyFields||m.dirtyFields)&&g!==!E}if(u){const E=y(t.touchedFields,r);E||(C(t.touchedFields,r,u),k.touchedFields=t.touchedFields,d=d||(F.touchedFields||m.touchedFields)&&E!==u)}d&&f&&v.state.next(k)}return d?k:{}},$=(r,a,u,h)=>{const f=y(t.errors,r),d=(F.isValid||m.isValid)&&K(a)&&t.isValid!==a;if(s.delayError&&u?(w=N(()=>_(r,u)),w(s.delayError)):(clearTimeout(R),w=null,u?C(t.errors,r,u):M(t.errors,r)),(u?!Q(f,u):f)||!W(h)||d){const g={...h,...d&&K(a)?{isValid:a}:{},errors:t.errors,name:r};t={...t,...g},v.state.next(g)}},z=async r=>{L(r,!0);const a=await s.resolver(n,s.context,It(r||c.mount,i,s.criteriaMode,s.shouldUseNativeValidation));return L(r),a},de=async r=>{const{errors:a}=await z(r);if(r)for(const u of r){const h=y(a,u);h?C(t.errors,u,h):M(t.errors,u)}else t.errors=a;return a},P=async(r,a,u={valid:!0})=>{for(const h in r){const f=r[h];if(f){const{_f:d,...g}=f;if(d){const k=c.array.has(d.name),E=f._f&&Pt(f._f);E&&F.validatingFields&&L([d.name],!0);const Y=await at(f,c.disabled,n,B,s.shouldUseNativeValidation&&!a,k);if(E&&F.validatingFields&&L([d.name]),Y[d.name]&&(u.valid=!1,a))break;!a&&(y(Y,d.name)?k?zt(t.errors,Y,d.name):C(t.errors,d.name,Y[d.name]):M(t.errors,d.name))}!W(g)&&await P(g,a,u)}}return u.valid},ie=()=>{for(const r of c.unMount){const a=y(i,r);a&&(a._f.refs?a._f.refs.every(u=>!Ee(u)):!Ee(a._f.ref))&&Ae(r)}c.unMount=new Set},ee=(r,a)=>!s.disabled&&(r&&a&&C(n,r,a),!Q(ve(),l)),A=(r,a,u)=>Ce(r,c,{...o.mount?n:O(a)?l:G(r)?{[r]:a}:a},u,a),D=r=>Le(y(o.mount?n:l,r,s.shouldUnregister?y(l,r,[]):[])),T=(r,a,u={})=>{const h=y(i,r);let f=a;if(h){const d=h._f;d&&(!d.disabled&&C(n,r,ht(a,d)),f=_e(d.ref)&&H(a)?"":a,ct(d.ref)?[...d.ref.options].forEach(g=>g.selected=f.includes(g.value)):d.refs?ge(d.ref)?d.refs.forEach(g=>{(!g.defaultChecked||!g.disabled)&&(Array.isArray(f)?g.checked=!!f.find(k=>k===g.value):g.checked=f===g.value||!!f)}):d.refs.forEach(g=>g.checked=g.value===f):Ne(d.ref)?d.ref.value="":(d.ref.value=f,d.ref.type||v.state.next({name:r,values:p(n)})))}(u.shouldDirty||u.shouldTouch)&&x(r,f,u.shouldTouch,u.shouldDirty,!0),u.shouldValidate&&le(r)},q=(r,a,u)=>{for(const h in a){if(!a.hasOwnProperty(h))return;const f=a[h],d=r+"."+h,g=y(i,d);(c.array.has(r)||U(f)||g&&!g._f)&&!ae(f)?q(d,f,u):T(d,f,u)}},j=(r,a,u={})=>{const h=y(i,r),f=c.array.has(r),d=p(a);C(n,r,d),f?(v.array.next({name:r,values:p(n)}),(F.isDirty||F.dirtyFields||m.isDirty||m.dirtyFields)&&u.shouldDirty&&v.state.next({name:r,dirtyFields:oe(l,n),isDirty:ee(r,d)})):h&&!h._f&&!H(d)?q(r,d,u):T(r,d,u),rt(r,c)&&v.state.next({...t,name:r}),v.state.next({name:o.mount?r:void 0,values:p(n)})},te=async r=>{o.mount=!0;const a=r.target;let u=a.name,h=!0;const f=y(i,u),d=E=>{h=Number.isNaN(E)||ae(E)&&isNaN(E.getTime())||Q(E,y(n,u,E))},g=et(s.mode),k=et(s.reValidateMode);if(f){let E,Y;const be=a.type?Ze(f._f):lt(r),se=r.type===me.BLUR||r.type===me.FOCUS_OUT,wt=!qt(f._f)&&!s.resolver&&!y(t.errors,u)&&!f._f.deps||Ht(se,y(t.touchedFields,u),t.isSubmitted,k,g),De=rt(u,c,se);C(n,u,be),se?(!a||!a.readOnly)&&(f._f.onBlur&&f._f.onBlur(r),w&&w(0)):f._f.onChange&&f._f.onChange(r);const Se=x(u,be,se),kt=!W(Se)||De;if(!se&&v.state.next({name:u,type:r.type,values:p(n)}),wt)return(F.isValid||m.isValid)&&(s.mode==="onBlur"?se&&S():se||S()),kt&&v.state.next({name:u,...De?{}:Se});if(!se&&De&&v.state.next({...t}),s.resolver){const{errors:Ke}=await z([u]);if(d(be),h){const Dt=st(t.errors,i,u),Ge=st(Ke,i,Dt.name||u);E=Ge.error,u=Ge.name,Y=W(Ke)}}else L([u],!0),E=(await at(f,c.disabled,n,B,s.shouldUseNativeValidation))[u],L([u]),d(be),h&&(E?Y=!1:(F.isValid||m.isValid)&&(Y=await P(i,!0)));h&&(f._f.deps&&(!Array.isArray(f._f.deps)||f._f.deps.length>0)&&le(f._f.deps),$(u,Y,E,Se))}},ce=(r,a)=>{if(y(t.errors,a)&&r.focus)return r.focus(),1},le=async(r,a={})=>{let u,h;const f=ye(r);if(s.resolver){const d=await de(O(r)?r:f);u=W(d),h=r?!f.some(g=>y(d,g)):u}else r?(h=(await Promise.all(f.map(async d=>{const g=y(i,d);return await P(g&&g._f?{[d]:g}:g)}))).every(Boolean),!(!h&&!t.isValid)&&S()):h=u=await P(i);return v.state.next({...!G(r)||(F.isValid||m.isValid)&&u!==t.isValid?{}:{name:r},...s.resolver||!r?{isValid:u}:{},errors:t.errors}),a.shouldFocus&&!h&&he(i,ce,r?f:c.mount),h},ve=(r,a)=>{let u={...o.mount?n:l};return a&&(u=dt(a.dirtyFields?t.dirtyFields:t.touchedFields,u)),O(r)?u:G(r)?y(u,r):r.map(h=>y(u,h))},Ie=(r,a)=>({invalid:!!y((a||t).errors,r),isDirty:!!y((a||t).dirtyFields,r),error:y((a||t).errors,r),isValidating:!!y(t.validatingFields,r),isTouched:!!y((a||t).touchedFields,r)}),bt=r=>{r&&ye(r).forEach(a=>M(t.errors,a)),v.state.next({errors:r?t.errors:{}})},Pe=(r,a,u)=>{const h=(y(i,r,{_f:{}})._f||{}).ref,f=y(t.errors,r)||{},{ref:d,message:g,type:k,...E}=f;C(t.errors,r,{...E,...a,ref:h}),v.state.next({name:r,errors:t.errors,isValid:!1}),u&&u.shouldFocus&&h&&h.focus&&h.focus()},mt=(r,a)=>X(r)?v.state.subscribe({next:u=>"values"in u&&r(A(void 0,a),u)}):A(r,a,!0),qe=r=>v.state.subscribe({next:a=>{jt(r.name,a.name,r.exact)&&Wt(a,r.formState||F,At,r.reRenderRoot)&&r.callback({values:{...n},...t,...a,defaultValues:l})}}).unsubscribe,_t=r=>(o.mount=!0,m={...m,...r.formState},qe({...r,formState:m})),Ae=(r,a={})=>{for(const u of r?ye(r):c.mount)c.mount.delete(u),c.array.delete(u),a.keepValue||(M(i,u),M(n,u)),!a.keepError&&M(t.errors,u),!a.keepDirty&&M(t.dirtyFields,u),!a.keepTouched&&M(t.touchedFields,u),!a.keepIsValidating&&M(t.validatingFields,u),!s.shouldUnregister&&!a.keepDefaultValue&&M(l,u);v.state.next({values:p(n)}),v.state.next({...t,...a.keepDirty?{isDirty:ee()}:{}}),!a.keepIsValid&&S()},We=({disabled:r,name:a})=>{(K(r)&&o.mount||r||c.disabled.has(a))&&(r?c.disabled.add(a):c.disabled.delete(a))},we=(r,a={})=>{let u=y(i,r);const h=K(a.disabled)||K(s.disabled);return C(i,r,{...u||{},_f:{...u&&u._f?u._f:{ref:{name:r}},name:r,mount:!0,...a}}),c.mount.add(r),u?We({disabled:K(a.disabled)?a.disabled:s.disabled,name:r}):V(r,!0,a.value),{...h?{disabled:a.disabled||s.disabled}:{},...s.progressive?{required:!!a.required,min:fe(a.min),max:fe(a.max),minLength:fe(a.minLength),maxLength:fe(a.maxLength),pattern:fe(a.pattern)}:{},name:r,onChange:te,onBlur:te,ref:f=>{if(f){we(r,a),u=y(i,r);const d=O(f.value)&&f.querySelectorAll&&f.querySelectorAll("input,select,textarea")[0]||f,g=Ut(d),k=u._f.refs||[];if(g?k.find(E=>E===d):d===u._f.ref)return;C(i,r,{_f:{...u._f,...g?{refs:[...k.filter(Ee),d,...Array.isArray(y(l,r))?[{}]:[]],ref:{type:d.type,name:r}}:{ref:d}}}),V(r,!1,void 0,d)}else u=y(i,r,{}),u._f&&(u._f.mount=!1),(s.shouldUnregister||a.shouldUnregister)&&!(ut(c.array,r)&&o.action)&&c.unMount.add(r)}}},ke=()=>s.shouldFocusError&&he(i,ce,c.mount),Vt=r=>{K(r)&&(v.state.next({disabled:r}),he(i,(a,u)=>{const h=y(i,u);h&&(a.disabled=h._f.disabled||r,Array.isArray(h._f.refs)&&h._f.refs.forEach(f=>{f.disabled=h._f.disabled||r}))},0,!1))},je=(r,a)=>async u=>{let h;u&&(u.preventDefault&&u.preventDefault(),u.persist&&u.persist());let f=p(n);if(v.state.next({isSubmitting:!0}),s.resolver){const{errors:d,values:g}=await z();t.errors=d,f=p(g)}else await P(i);if(c.disabled.size)for(const d of c.disabled)M(f,d);if(M(t.errors,"root"),W(t.errors)){v.state.next({errors:{}});try{await r(f,u)}catch(d){h=d}}else a&&await a({...t.errors},u),ke(),setTimeout(ke);if(v.state.next({isSubmitted:!0,isSubmitting:!1,isSubmitSuccessful:W(t.errors)&&!h,submitCount:t.submitCount+1,errors:t.errors}),h)throw h},Ft=(r,a={})=>{y(i,r)&&(O(a.defaultValue)?j(r,p(y(l,r))):(j(r,a.defaultValue),C(l,r,p(a.defaultValue))),a.keepTouched||M(t.touchedFields,r),a.keepDirty||(M(t.dirtyFields,r),t.isDirty=a.defaultValue?ee(r,p(y(l,r))):ee()),a.keepError||(M(t.errors,r),F.isValid&&S()),v.state.next({...t}))},He=(r,a={})=>{const u=r?p(r):l,h=p(u),f=W(r),d=f?l:h;if(a.keepDefaultValues||(l=u),!a.keepValues){if(a.keepDirtyValues){const g=new Set([...c.mount,...Object.keys(oe(l,n))]);for(const k of Array.from(g))y(t.dirtyFields,k)?C(d,k,y(n,k)):j(k,y(d,k))}else{if(Te&&O(r))for(const g of c.mount){const k=y(i,g);if(k&&k._f){const E=Array.isArray(k._f.refs)?k._f.refs[0]:k._f.ref;if(_e(E)){const Y=E.closest("form");if(Y){Y.reset();break}}}}if(a.keepFieldsRef)for(const g of c.mount)j(g,y(d,g));else i={}}n=s.shouldUnregister?a.keepDefaultValues?p(l):{}:p(d),v.array.next({values:{...d}}),v.state.next({values:{...d}})}c={mount:a.keepDirtyValues?c.mount:new Set,unMount:new Set,array:new Set,disabled:new Set,watch:new Set,watchAll:!1,focus:""},o.mount=!F.isValid||!!a.keepIsValid||!!a.keepDirtyValues||!s.shouldUnregister&&!W(d),o.watch=!!s.shouldUnregister,o.action=!1,a.keepErrors||(t.errors={}),v.state.next({submitCount:a.keepSubmitCount?t.submitCount:0,isDirty:f?!1:a.keepDirty?t.isDirty:!!(a.keepDefaultValues&&!Q(r,l)),isSubmitted:a.keepIsSubmitted?t.isSubmitted:!1,dirtyFields:f?{}:a.keepDirtyValues?a.keepDefaultValues&&n?oe(l,n):t.dirtyFields:a.keepDefaultValues&&r?oe(l,r):a.keepDirty?t.dirtyFields:{},touchedFields:a.keepTouched?t.touchedFields:{},errors:a.keepErrors?t.errors:{},isSubmitSuccessful:a.keepIsSubmitSuccessful?t.isSubmitSuccessful:!1,isSubmitting:!1,defaultValues:l})},$e=(r,a)=>He(X(r)?r(n):r,a),xt=(r,a={})=>{const u=y(i,r),h=u&&u._f;if(h){const f=h.refs?h.refs[0]:h.ref;f.focus&&(f.focus(),a.shouldSelect&&X(f.select)&&f.select())}},At=r=>{t={...t,...r}},ze={control:{register:we,unregister:Ae,getFieldState:Ie,handleSubmit:je,setError:Pe,_subscribe:qe,_runSchema:z,_focusError:ke,_getWatch:A,_getDirty:ee,_setValid:S,_setFieldArray:Z,_setDisabledField:We,_setErrors:I,_getFieldArray:D,_reset:He,_resetDefaultValues:()=>X(s.defaultValues)&&s.defaultValues().then(r=>{$e(r,s.resetOptions),v.state.next({isLoading:!1})}),_removeUnmounted:ie,_disableForm:Vt,_subjects:v,_proxyFormState:F,get _fields(){return i},get _formValues(){return n},get _state(){return o},set _state(r){o=r},get _defaultValues(){return l},get _names(){return c},set _names(r){c=r},get _formState(){return t},get _options(){return s},set _options(r){s={...s,...r}}},subscribe:_t,trigger:le,register:we,handleSubmit:je,watch:mt,setValue:j,getValues:ve,reset:$e,resetField:Ft,clearErrors:bt,unregister:Ae,setError:Pe,setFocus:xt,getFieldState:Ie};return{...ze,formControl:ze}}function Yt(e={}){const s=b.useRef(void 0),t=b.useRef(void 0),[i,l]=b.useState({isDirty:!1,isValidating:!1,isLoading:X(e.defaultValues),isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,submitCount:0,dirtyFields:{},touchedFields:{},validatingFields:{},errors:e.errors||{},disabled:e.disabled||!1,isReady:!1,defaultValues:X(e.defaultValues)?void 0:e.defaultValues});if(!s.current)if(e.formControl)s.current={...e.formControl,formState:i},e.defaultValues&&!X(e.defaultValues)&&e.formControl.reset(e.defaultValues,e.resetOptions);else{const{formControl:o,...c}=Gt(e);s.current={...c,formState:i}}const n=s.current.control;return n._options=e,pe(()=>{const o=n._subscribe({formState:n._proxyFormState,callback:()=>l({...n._formState}),reRenderRoot:!0});return l(c=>({...c,isReady:!0})),n._formState.isReady=!0,o},[n]),b.useEffect(()=>n._disableForm(e.disabled),[n,e.disabled]),b.useEffect(()=>{e.mode&&(n._options.mode=e.mode),e.reValidateMode&&(n._options.reValidateMode=e.reValidateMode)},[n,e.mode,e.reValidateMode]),b.useEffect(()=>{e.errors&&(n._setErrors(e.errors),n._focusError())},[n,e.errors]),b.useEffect(()=>{e.shouldUnregister&&n._subjects.state.next({values:n._getWatch()})},[n,e.shouldUnregister]),b.useEffect(()=>{if(n._proxyFormState.isDirty){const o=n._getDirty();o!==i.isDirty&&n._subjects.state.next({isDirty:o})}},[n,i.isDirty]),b.useEffect(()=>{var o;e.values&&!Q(e.values,t.current)?(n._reset(e.values,{keepFieldsRef:!0,...n._options.resetOptions}),!((o=n._options.resetOptions)===null||o===void 0)&&o.keepIsValid||n._setValid(),t.current=e.values,l(c=>({...c}))):n._resetDefaultValues()},[n,e.values]),b.useEffect(()=>{n._state.mount||(n._setValid(),n._state.mount=!0),n._state.watch&&(n._state.watch=!1,n._subjects.state.next({...n._formState})),n._removeUnmounted()}),s.current.formState=ot(i,n),s.current}const vt=({children:e,onSubmit:s=()=>{},style:t={},className:i="",formOptions:l})=>{const n=Yt({mode:"onSubmit",reValidateMode:"onChange",shouldFocusError:!0,...l});return ne.jsx(Ct,{...n,children:ne.jsx("form",{noValidate:!0,onSubmit:n.handleSubmit(s),style:t,className:i,children:e})})},Jt=({children:e,name:s,rules:t,className:i,label:l,id:n})=>{const{control:o}=xe();return ne.jsx(Lt,{control:o,name:s,rules:t,render:c=>ne.jsx(Qt,{...c,children:e,className:i,label:l,id:n})})},Qt=({field:e,fieldState:s,children:t,className:i="",label:l,id:n=crypto.randomUUID()})=>{const{onChange:o,onBlur:c,value:w,name:R,disabled:F}=e,{error:m}=s,v=t.props.onChange,B=t.props.onBlur,N=b.useCallback((...L)=>{o(...L),v==null||v(...L)},[o,v]),S=b.useCallback((...L)=>{c(),B==null||B(...L)},[c,B]);return ne.jsxs("div",{className:`controlled-field ${i}`,style:{display:"flex",flexDirection:"column",gap:"5px"},children:[l&&ne.jsx("label",{htmlFor:n,className:"controlled-field-label",children:l}),b.cloneElement(t,{...t.props,id:n,name:R,disabled:F,onChange:N,value:w||t.props.value,onBlur:S}),m&&ne.jsx("div",{style:{color:"red",fontSize:13},className:"controlled-field-error",children:m.message})]})};vt.Control=Jt;exports.SuprForm=vt;
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const re=require("react/jsx-runtime"),m=require("react");var ge=e=>e.type==="checkbox",ne=e=>e instanceof Date,W=e=>e==null;const nt=e=>typeof e=="object";var U=e=>!W(e)&&!Array.isArray(e)&&nt(e)&&!ne(e),lt=e=>U(e)&&e.target?ge(e.target)?e.target.checked:e.target.value:e,Dt=e=>e.substring(0,e.search(/\.\d+(\.|$)/))||e,ut=(e,s)=>e.has(Dt(s)),Ct=e=>{const s=e.constructor&&e.constructor.prototype;return U(s)&&s.hasOwnProperty("isPrototypeOf")},Te=typeof window<"u"&&typeof window.HTMLElement<"u"&&typeof document<"u";function N(e){let s;const t=Array.isArray(e),i=typeof FileList<"u"?e instanceof FileList:!1;if(e instanceof Date)s=new Date(e);else if(!(Te&&(e instanceof Blob||i))&&(t||U(e)))if(s=t?[]:Object.create(Object.getPrototypeOf(e)),!t&&!Ct(e))s=e;else for(const l in e)e.hasOwnProperty(l)&&(s[l]=N(e[l]));else return e;return s}var Fe=e=>/^\w*$/.test(e),O=e=>e===void 0,pe=e=>Array.isArray(e)?e.filter(Boolean):[],Le=e=>pe(e.replace(/["|']|\]/g,"").split(/\.|\[/)),y=(e,s,t)=>{if(!s||!U(e))return t;const i=(Fe(s)?[s]:Le(s)).reduce((l,n)=>W(l)?l:l[n],e);return O(i)||i===e?O(e[s])?t:e[s]:i},z=e=>typeof e=="boolean",R=(e,s,t)=>{let i=-1;const l=Fe(s)?[s]:Le(s),n=l.length,o=n-1;for(;++i<n;){const d=l[i];let b=t;if(i!==o){const D=e[d];b=U(D)||Array.isArray(D)?D:isNaN(+l[i+1])?{}:[]}if(d==="__proto__"||d==="constructor"||d==="prototype")return;e[d]=b,e=e[d]}};const be={BLUR:"blur",FOCUS_OUT:"focusout",CHANGE:"change"},Q={onBlur:"onBlur",onChange:"onChange",onSubmit:"onSubmit",onTouched:"onTouched",all:"all"},se={max:"max",min:"min",maxLength:"maxLength",minLength:"minLength",pattern:"pattern",required:"required",validate:"validate"},Me=m.createContext(null);Me.displayName="HookFormContext";const xe=()=>m.useContext(Me),Rt=e=>{const{children:s,...t}=e;return m.createElement(Me.Provider,{value:t},s)};var ot=(e,s,t,i=!0)=>{const l={defaultValues:s._defaultValues};for(const n in e)Object.defineProperty(l,n,{get:()=>{const o=n;return s._proxyFormState[o]!==Q.all&&(s._proxyFormState[o]=!i||Q.all),t&&(t[o]=!0),e[o]}});return l};const Ue=typeof window<"u"?m.useLayoutEffect:m.useEffect;function Ot(e){const s=xe(),{control:t=s.control,disabled:i,name:l,exact:n}=e||{},[o,d]=m.useState(t._formState),b=m.useRef({isDirty:!1,isLoading:!1,dirtyFields:!1,touchedFields:!1,validatingFields:!1,isValidating:!1,isValid:!1,errors:!1});return Ue(()=>t._subscribe({name:l,formState:b.current,exact:n,callback:D=>{!i&&d({...t._formState,...D})}}),[l,i,n]),m.useEffect(()=>{b.current.isValid&&t._setValid(!0)},[t]),m.useMemo(()=>ot(o,t,b.current,!1),[o,t])}var K=e=>typeof e=="string",Ce=(e,s,t,i,l)=>K(e)?(i&&s.watch.add(e),y(t,e,l)):Array.isArray(e)?e.map(n=>(i&&s.watch.add(n),y(t,n))):(i&&(s.watchAll=!0),t),Re=e=>W(e)||!nt(e);function X(e,s,t=new WeakSet){if(Re(e)||Re(s))return Object.is(e,s);if(ne(e)&&ne(s))return e.getTime()===s.getTime();const i=Object.keys(e),l=Object.keys(s);if(i.length!==l.length)return!1;if(t.has(e)||t.has(s))return!0;t.add(e),t.add(s);for(const n of i){const o=e[n];if(!l.includes(n))return!1;if(n!=="ref"){const d=s[n];if(ne(o)&&ne(d)||U(o)&&U(d)||Array.isArray(o)&&Array.isArray(d)?!X(o,d,t):!Object.is(o,d))return!1}}return!0}function Tt(e){const s=xe(),{control:t=s.control,name:i,defaultValue:l,disabled:n,exact:o,compute:d}=e||{},b=m.useRef(l),D=m.useRef(d),F=m.useRef(void 0),V=m.useRef(t),v=m.useRef(i);D.current=d;const[G,P]=m.useState(()=>{const x=t._getWatch(i,b.current);return D.current?D.current(x):x}),S=m.useCallback(x=>{const A=Ce(i,t._names,x||t._formValues,!1,b.current);return D.current?D.current(A):A},[t._formValues,t._names,i]),p=m.useCallback(x=>{if(!n){const A=Ce(i,t._names,x||t._formValues,!1,b.current);if(D.current){const H=D.current(A);X(H,F.current)||(P(H),F.current=H)}else P(A)}},[t._formValues,t._names,n,i]);Ue(()=>((V.current!==t||!X(v.current,i))&&(V.current=t,v.current=i,p()),t._subscribe({name:i,formState:{values:!0},exact:o,callback:x=>{p(x.values)}})),[t,o,i,p]),m.useEffect(()=>t._removeUnmounted());const Y=V.current!==t,_=v.current,L=m.useMemo(()=>{if(n)return null;const x=!Y&&!X(_,i);return Y||x?S():null},[n,Y,i,_,S]);return L!==null?L:G}function pt(e){const s=xe(),{name:t,disabled:i,control:l=s.control,shouldUnregister:n,defaultValue:o,exact:d=!0}=e,b=ut(l._names.array,t),D=m.useMemo(()=>y(l._formValues,t,y(l._defaultValues,t,o)),[l,t,o]),F=Tt({control:l,name:t,defaultValue:D,exact:d}),V=Ot({control:l,name:t,exact:d}),v=m.useRef(e),G=m.useRef(void 0),P=m.useRef(l.register(t,{...e.rules,value:F,...z(e.disabled)?{disabled:e.disabled}:{}}));v.current=e;const S=m.useMemo(()=>Object.defineProperties({},{invalid:{enumerable:!0,get:()=>!!y(V.errors,t)},isDirty:{enumerable:!0,get:()=>!!y(V.dirtyFields,t)},isTouched:{enumerable:!0,get:()=>!!y(V.touchedFields,t)},isValidating:{enumerable:!0,get:()=>!!y(V.validatingFields,t)},error:{enumerable:!0,get:()=>y(V.errors,t)}}),[V,t]),p=m.useCallback(x=>P.current.onChange({target:{value:lt(x),name:t},type:be.CHANGE}),[t]),Y=m.useCallback(()=>P.current.onBlur({target:{value:y(l._formValues,t),name:t},type:be.BLUR}),[t,l._formValues]),_=m.useCallback(x=>{const A=y(l._fields,t);A&&x&&(A._f.ref={focus:()=>x.focus&&x.focus(),select:()=>x.select&&x.select(),setCustomValidity:H=>x.setCustomValidity(H),reportValidity:()=>x.reportValidity()})},[l._fields,t]),L=m.useMemo(()=>({name:t,value:F,...z(i)||V.disabled?{disabled:V.disabled||i}:{},onChange:p,onBlur:Y,ref:_}),[t,i,V.disabled,p,Y,_,F]);return m.useEffect(()=>{const x=l._options.shouldUnregister||n,A=G.current;A&&A!==t&&!b&&l.unregister(A),l.register(t,{...v.current.rules,...z(v.current.disabled)?{disabled:v.current.disabled}:{}});const H=($,ce)=>{const B=y(l._fields,$);B&&B._f&&(B._f.mount=ce)};if(H(t,!0),x){const $=N(y(l._options.defaultValues,t,v.current.defaultValue));R(l._defaultValues,t,$),O(y(l._formValues,t))&&R(l._formValues,t,$)}return!b&&l.register(t),G.current=t,()=>{(b?x&&!l._state.action:x)?l.unregister(t):H(t,!1)}},[t,l,b,n]),m.useEffect(()=>{l._setDisabledField({disabled:i,name:t})},[i,t,l]),m.useMemo(()=>({field:L,formState:V,fieldState:S}),[L,V,S])}const Lt=e=>e.render(pt(e));var Mt=(e,s,t,i,l)=>s?{...t[e],types:{...t[e]&&t[e].types?t[e].types:{},[i]:l||!0}}:{},ye=e=>Array.isArray(e)?e:[e],Ye=()=>{let e=[];return{get observers(){return e},next:l=>{for(const n of e)n.next&&n.next(l)},subscribe:l=>(e.push(l),{unsubscribe:()=>{e=e.filter(n=>n!==l)}}),unsubscribe:()=>{e=[]}}};function ct(e,s){const t={};for(const i in e)if(e.hasOwnProperty(i)){const l=e[i],n=s[i];if(l&&U(l)&&n){const o=ct(l,n);U(o)&&(t[i]=o)}else e[i]&&(t[i]=n)}return t}var q=e=>U(e)&&!Object.keys(e).length,Ne=e=>e.type==="file",Z=e=>typeof e=="function",_e=e=>{if(!Te)return!1;const s=e?e.ownerDocument:0;return e instanceof(s&&s.defaultView?s.defaultView.HTMLElement:HTMLElement)},dt=e=>e.type==="select-multiple",Pe=e=>e.type==="radio",Ut=e=>Pe(e)||ge(e),De=e=>_e(e)&&e.isConnected;function Nt(e,s){const t=s.slice(0,-1).length;let i=0;for(;i<t;)e=O(e)?i++:e[s[i++]];return e}function Pt(e){for(const s in e)if(e.hasOwnProperty(s)&&!O(e[s]))return!1;return!0}function M(e,s){const t=Array.isArray(s)?s:Fe(s)?[s]:Le(s),i=t.length===1?e:Nt(e,t),l=t.length-1,n=t[l];return i&&delete i[n],l!==0&&(U(i)&&q(i)||Array.isArray(i)&&Pt(i))&&M(e,t.slice(0,-1)),e}var Bt=e=>{for(const s in e)if(Z(e[s]))return!0;return!1};function ft(e){return Array.isArray(e)||U(e)&&!Bt(e)}function Oe(e,s={}){for(const t in e){const i=e[t];ft(i)?(s[t]=Array.isArray(i)?[]:{},Oe(i,s[t])):O(i)||(s[t]=!0)}return s}function oe(e,s,t){t||(t=Oe(s));for(const i in e){const l=e[i];if(ft(l))O(s)||Re(t[i])?t[i]=Oe(l,Array.isArray(l)?[]:{}):oe(l,W(s)?{}:s[i],t[i]);else{const n=s[i];t[i]=!X(l,n)}}return t}const Je={value:!1,isValid:!1},Qe={value:!0,isValid:!0};var yt=e=>{if(Array.isArray(e)){if(e.length>1){const s=e.filter(t=>t&&t.checked&&!t.disabled).map(t=>t.value);return{value:s,isValid:!!s.length}}return e[0].checked&&!e[0].disabled?e[0].attributes&&!O(e[0].attributes.value)?O(e[0].value)||e[0].value===""?Qe:{value:e[0].value,isValid:!0}:Qe:Je}return Je},ht=(e,{valueAsNumber:s,valueAsDate:t,setValueAs:i})=>O(e)?e:s?e===""?NaN:e&&+e:t&&K(e)?new Date(e):i?i(e):e;const Xe={isValid:!1,value:null};var gt=e=>Array.isArray(e)?e.reduce((s,t)=>t&&t.checked&&!t.disabled?{isValid:!0,value:t.value}:s,Xe):Xe;function Ze(e){const s=e.ref;return Ne(s)?s.files:Pe(s)?gt(e.refs).value:dt(s)?[...s.selectedOptions].map(({value:t})=>t):ge(s)?yt(e.refs).value:ht(O(s.value)?e.ref.value:s.value,e)}var It=(e,s,t,i)=>{const l={};for(const n of e){const o=y(s,n);o&&R(l,n,o._f)}return{criteriaMode:t,names:[...e],fields:l,shouldUseNativeValidation:i}},Ve=e=>e instanceof RegExp,fe=e=>O(e)?e:Ve(e)?e.source:U(e)?Ve(e.value)?e.value.source:e.value:e,et=e=>({isOnSubmit:!e||e===Q.onSubmit,isOnBlur:e===Q.onBlur,isOnChange:e===Q.onChange,isOnAll:e===Q.all,isOnTouch:e===Q.onTouched});const tt="AsyncFunction";var qt=e=>!!e&&!!e.validate&&!!(Z(e.validate)&&e.validate.constructor.name===tt||U(e.validate)&&Object.values(e.validate).find(s=>s.constructor.name===tt)),jt=e=>e.mount&&(e.required||e.min||e.max||e.maxLength||e.minLength||e.pattern||e.validate),rt=(e,s,t)=>!t&&(s.watchAll||s.watch.has(e)||[...s.watch].some(i=>e.startsWith(i)&&/^\.\w+/.test(e.slice(i.length))));const he=(e,s,t,i)=>{for(const l of t||Object.keys(e)){const n=y(e,l);if(n){const{_f:o,...d}=n;if(o){if(o.refs&&o.refs[0]&&s(o.refs[0],l)&&!i)return!0;if(o.ref&&s(o.ref,o.name)&&!i)return!0;if(he(d,s))break}else if(U(d)&&he(d,s))break}}};function st(e,s,t){const i=y(e,t);if(i||Fe(t))return{error:i,name:t};const l=t.split(".");for(;l.length;){const n=l.join("."),o=y(s,n),d=y(e,n);if(o&&!Array.isArray(o)&&t!==n)return{name:t};if(d&&d.type)return{name:n,error:d};if(d&&d.root&&d.root.type)return{name:`${n}.root`,error:d.root};l.pop()}return{name:t}}var Wt=(e,s,t,i)=>{t(e);const{name:l,...n}=e;return q(n)||Object.keys(n).length>=Object.keys(s).length||Object.keys(n).find(o=>s[o]===(!i||Q.all))},Ht=(e,s,t)=>!e||!s||e===s||ye(e).some(i=>i&&(t?i===s:i.startsWith(s)||s.startsWith(i))),$t=(e,s,t,i,l)=>l.isOnAll?!1:!t&&l.isOnTouch?!(s||e):(t?i.isOnBlur:l.isOnBlur)?!e:(t?i.isOnChange:l.isOnChange)?e:!0,zt=(e,s)=>!pe(y(e,s)).length&&M(e,s),Kt=(e,s,t)=>{const i=ye(y(e,t));return R(i,"root",s[t]),R(e,t,i),e};function it(e,s,t="validate"){if(K(e)||Array.isArray(e)&&e.every(K)||z(e)&&!e)return{type:t,message:K(e)?e:"",ref:s}}var ue=e=>U(e)&&!Ve(e)?e:{value:e,message:""},at=async(e,s,t,i,l,n)=>{const{ref:o,refs:d,required:b,maxLength:D,minLength:F,min:V,max:v,pattern:G,validate:P,name:S,valueAsNumber:p,mount:Y}=e._f,_=y(t,S);if(!Y||s.has(S))return{};const L=d?d[0]:o,x=w=>{l&&L.reportValidity&&(L.setCustomValidity(z(w)?"":w||""),L.reportValidity())},A={},H=Pe(o),$=ge(o),ce=H||$,B=(p||Ne(o))&&O(o.value)&&O(_)||_e(o)&&o.value===""||_===""||Array.isArray(_)&&!_.length,ae=Mt.bind(null,S,i,A),ee=(w,E,T,I=se.maxLength,j=se.minLength)=>{const te=w?E:T;A[S]={type:w?I:j,message:te,ref:o,...ae(w?I:j,te)}};if(n?!Array.isArray(_)||!_.length:b&&(!ce&&(B||W(_))||z(_)&&!_||$&&!yt(d).isValid||H&&!gt(d).isValid)){const{value:w,message:E}=K(b)?{value:!!b,message:b}:ue(b);if(w&&(A[S]={type:se.required,message:E,ref:L,...ae(se.required,E)},!i))return x(E),A}if(!B&&(!W(V)||!W(v))){let w,E;const T=ue(v),I=ue(V);if(!W(_)&&!isNaN(_)){const j=o.valueAsNumber||_&&+_;W(T.value)||(w=j>T.value),W(I.value)||(E=j<I.value)}else{const j=o.valueAsDate||new Date(_),te=ve=>new Date(new Date().toDateString()+" "+ve),de=o.type=="time",le=o.type=="week";K(T.value)&&_&&(w=de?te(_)>te(T.value):le?_>T.value:j>new Date(T.value)),K(I.value)&&_&&(E=de?te(_)<te(I.value):le?_<I.value:j<new Date(I.value))}if((w||E)&&(ee(!!w,T.message,I.message,se.max,se.min),!i))return x(A[S].message),A}if((D||F)&&!B&&(K(_)||n&&Array.isArray(_))){const w=ue(D),E=ue(F),T=!W(w.value)&&_.length>+w.value,I=!W(E.value)&&_.length<+E.value;if((T||I)&&(ee(T,w.message,E.message),!i))return x(A[S].message),A}if(G&&!B&&K(_)){const{value:w,message:E}=ue(G);if(Ve(w)&&!_.match(w)&&(A[S]={type:se.pattern,message:E,ref:o,...ae(se.pattern,E)},!i))return x(E),A}if(P){if(Z(P)){const w=await P(_,t),E=it(w,L);if(E&&(A[S]={...E,...ae(se.validate,E.message)},!i))return x(E.message),A}else if(U(P)){let w={};for(const E in P){if(!q(w)&&!i)break;const T=it(await P[E](_,t),L,E);T&&(w={...T,...ae(E,T.message)},x(T.message),i&&(A[S]=w))}if(!q(w)&&(A[S]={ref:L,...w},!i))return A}}return x(!0),A};const Gt={mode:Q.onSubmit,reValidateMode:Q.onChange,shouldFocusError:!0};function Yt(e={}){let s={...Gt,...e},t={submitCount:0,isDirty:!1,isReady:!1,isLoading:Z(s.defaultValues),isValidating:!1,isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,touchedFields:{},dirtyFields:{},validatingFields:{},errors:s.errors||{},disabled:s.disabled||!1},i={},l=U(s.defaultValues)||U(s.values)?N(s.defaultValues||s.values)||{}:{},n=s.shouldUnregister?{}:N(l),o={action:!1,mount:!1,watch:!1},d={mount:new Set,disabled:new Set,unMount:new Set,array:new Set,watch:new Set},b,D=0;const F={isDirty:!1,dirtyFields:!1,validatingFields:!1,touchedFields:!1,isValidating:!1,isValid:!1,errors:!1};let V={...F};const v={array:Ye(),state:Ye()},G=s.criteriaMode===Q.all,P=r=>a=>{clearTimeout(D),D=setTimeout(r,a)},S=async r=>{if(!s.disabled&&(F.isValid||V.isValid||r)){const a=s.resolver?q((await $()).errors):await B(i,!0);a!==t.isValid&&v.state.next({isValid:a})}},p=(r,a)=>{!s.disabled&&(F.isValidating||F.validatingFields||V.isValidating||V.validatingFields)&&((r||Array.from(d.mount)).forEach(u=>{u&&(a?R(t.validatingFields,u,a):M(t.validatingFields,u))}),v.state.next({validatingFields:t.validatingFields,isValidating:!q(t.validatingFields)}))},Y=(r,a=[],u,h,f=!0,c=!0)=>{if(h&&u&&!s.disabled){if(o.action=!0,c&&Array.isArray(y(i,r))){const g=u(y(i,r),h.argA,h.argB);f&&R(i,r,g)}if(c&&Array.isArray(y(t.errors,r))){const g=u(y(t.errors,r),h.argA,h.argB);f&&R(t.errors,r,g),zt(t.errors,r)}if((F.touchedFields||V.touchedFields)&&c&&Array.isArray(y(t.touchedFields,r))){const g=u(y(t.touchedFields,r),h.argA,h.argB);f&&R(t.touchedFields,r,g)}(F.dirtyFields||V.dirtyFields)&&(t.dirtyFields=oe(l,n)),v.state.next({name:r,isDirty:ee(r,a),dirtyFields:t.dirtyFields,errors:t.errors,isValid:t.isValid})}else R(n,r,a)},_=(r,a)=>{R(t.errors,r,a),v.state.next({errors:t.errors})},L=r=>{t.errors=r,v.state.next({errors:t.errors,isValid:!1})},x=(r,a,u,h)=>{const f=y(i,r);if(f){const c=y(n,r,O(u)?y(l,r):u);O(c)||h&&h.defaultChecked||a?R(n,r,a?c:Ze(f._f)):T(r,c),o.mount&&!o.action&&S()}},A=(r,a,u,h,f)=>{let c=!1,g=!1;const k={name:r};if(!s.disabled){if(!u||h){(F.isDirty||V.isDirty)&&(g=t.isDirty,t.isDirty=k.isDirty=ee(),c=g!==k.isDirty);const C=X(y(l,r),a);g=!!y(t.dirtyFields,r),C?M(t.dirtyFields,r):R(t.dirtyFields,r,!0),k.dirtyFields=t.dirtyFields,c=c||(F.dirtyFields||V.dirtyFields)&&g!==!C}if(u){const C=y(t.touchedFields,r);C||(R(t.touchedFields,r,u),k.touchedFields=t.touchedFields,c=c||(F.touchedFields||V.touchedFields)&&C!==u)}c&&f&&v.state.next(k)}return c?k:{}},H=(r,a,u,h)=>{const f=y(t.errors,r),c=(F.isValid||V.isValid)&&z(a)&&t.isValid!==a;if(s.delayError&&u?(b=P(()=>_(r,u)),b(s.delayError)):(clearTimeout(D),b=null,u?R(t.errors,r,u):M(t.errors,r)),(u?!X(f,u):f)||!q(h)||c){const g={...h,...c&&z(a)?{isValid:a}:{},errors:t.errors,name:r};t={...t,...g},v.state.next(g)}},$=async r=>{p(r,!0);const a=await s.resolver(n,s.context,It(r||d.mount,i,s.criteriaMode,s.shouldUseNativeValidation));return p(r),a},ce=async r=>{const{errors:a}=await $(r);if(r)for(const u of r){const h=y(a,u);h?R(t.errors,u,h):M(t.errors,u)}else t.errors=a;return a},B=async(r,a,u={valid:!0})=>{for(const h in r){const f=r[h];if(f){const{_f:c,...g}=f;if(c){const k=d.array.has(c.name),C=f._f&&qt(f._f);C&&F.validatingFields&&p([c.name],!0);const J=await at(f,d.disabled,n,G,s.shouldUseNativeValidation&&!a,k);if(C&&F.validatingFields&&p([c.name]),J[c.name]&&(u.valid=!1,a))break;!a&&(y(J,c.name)?k?Kt(t.errors,J,c.name):R(t.errors,c.name,J[c.name]):M(t.errors,c.name))}!q(g)&&await B(g,a,u)}}return u.valid},ae=()=>{for(const r of d.unMount){const a=y(i,r);a&&(a._f.refs?a._f.refs.every(u=>!De(u)):!De(a._f.ref))&&Ae(r)}d.unMount=new Set},ee=(r,a)=>!s.disabled&&(r&&a&&R(n,r,a),!X(ve(),l)),w=(r,a,u)=>Ce(r,d,{...o.mount?n:O(a)?l:K(r)?{[r]:a}:a},u,a),E=r=>pe(y(o.mount?n:l,r,s.shouldUnregister?y(l,r,[]):[])),T=(r,a,u={})=>{const h=y(i,r);let f=a;if(h){const c=h._f;c&&(!c.disabled&&R(n,r,ht(a,c)),f=_e(c.ref)&&W(a)?"":a,dt(c.ref)?[...c.ref.options].forEach(g=>g.selected=f.includes(g.value)):c.refs?ge(c.ref)?c.refs.forEach(g=>{(!g.defaultChecked||!g.disabled)&&(Array.isArray(f)?g.checked=!!f.find(k=>k===g.value):g.checked=f===g.value||!!f)}):c.refs.forEach(g=>g.checked=g.value===f):Ne(c.ref)?c.ref.value="":(c.ref.value=f,c.ref.type||v.state.next({name:r,values:N(n)})))}(u.shouldDirty||u.shouldTouch)&&A(r,f,u.shouldTouch,u.shouldDirty,!0),u.shouldValidate&&le(r)},I=(r,a,u)=>{for(const h in a){if(!a.hasOwnProperty(h))return;const f=a[h],c=r+"."+h,g=y(i,c);(d.array.has(r)||U(f)||g&&!g._f)&&!ne(f)?I(c,f,u):T(c,f,u)}},j=(r,a,u={})=>{const h=y(i,r),f=d.array.has(r),c=N(a);R(n,r,c),f?(v.array.next({name:r,values:N(n)}),(F.isDirty||F.dirtyFields||V.isDirty||V.dirtyFields)&&u.shouldDirty&&v.state.next({name:r,dirtyFields:oe(l,n),isDirty:ee(r,c)})):h&&!h._f&&!W(c)?I(r,c,u):T(r,c,u),rt(r,d)&&v.state.next({...t,name:r}),v.state.next({name:o.mount?r:void 0,values:N(n)})},te=async r=>{o.mount=!0;const a=r.target;let u=a.name,h=!0;const f=y(i,u),c=C=>{h=Number.isNaN(C)||ne(C)&&isNaN(C.getTime())||X(C,y(n,u,C))},g=et(s.mode),k=et(s.reValidateMode);if(f){let C,J;const me=a.type?Ze(f._f):lt(r),ie=r.type===be.BLUR||r.type===be.FOCUS_OUT,St=!jt(f._f)&&!s.resolver&&!y(t.errors,u)&&!f._f.deps||$t(ie,y(t.touchedFields,u),t.isSubmitted,k,g),ke=rt(u,d,ie);R(n,u,me),ie?(!a||!a.readOnly)&&(f._f.onBlur&&f._f.onBlur(r),b&&b(0)):f._f.onChange&&f._f.onChange(r);const Ee=A(u,me,ie),kt=!q(Ee)||ke;if(!ie&&v.state.next({name:u,type:r.type,values:N(n)}),St)return(F.isValid||V.isValid)&&(s.mode==="onBlur"?ie&&S():ie||S()),kt&&v.state.next({name:u,...ke?{}:Ee});if(!ie&&ke&&v.state.next({...t}),s.resolver){const{errors:Ke}=await $([u]);if(c(me),h){const Et=st(t.errors,i,u),Ge=st(Ke,i,Et.name||u);C=Ge.error,u=Ge.name,J=q(Ke)}}else p([u],!0),C=(await at(f,d.disabled,n,G,s.shouldUseNativeValidation))[u],p([u]),c(me),h&&(C?J=!1:(F.isValid||V.isValid)&&(J=await B(i,!0)));h&&(f._f.deps&&(!Array.isArray(f._f.deps)||f._f.deps.length>0)&&le(f._f.deps),H(u,J,C,Ee))}},de=(r,a)=>{if(y(t.errors,a)&&r.focus)return r.focus(),1},le=async(r,a={})=>{let u,h;const f=ye(r);if(s.resolver){const c=await ce(O(r)?r:f);u=q(c),h=r?!f.some(g=>y(c,g)):u}else r?(h=(await Promise.all(f.map(async c=>{const g=y(i,c);return await B(g&&g._f?{[c]:g}:g)}))).every(Boolean),!(!h&&!t.isValid)&&S()):h=u=await B(i);return v.state.next({...!K(r)||(F.isValid||V.isValid)&&u!==t.isValid?{}:{name:r},...s.resolver||!r?{isValid:u}:{},errors:t.errors}),a.shouldFocus&&!h&&he(i,de,r?f:d.mount),h},ve=(r,a)=>{let u={...o.mount?n:l};return a&&(u=ct(a.dirtyFields?t.dirtyFields:t.touchedFields,u)),O(r)?u:K(r)?y(u,r):r.map(h=>y(u,h))},Be=(r,a)=>({invalid:!!y((a||t).errors,r),isDirty:!!y((a||t).dirtyFields,r),error:y((a||t).errors,r),isValidating:!!y(t.validatingFields,r),isTouched:!!y((a||t).touchedFields,r)}),bt=r=>{r&&ye(r).forEach(a=>M(t.errors,a)),v.state.next({errors:r?t.errors:{}})},Ie=(r,a,u)=>{const h=(y(i,r,{_f:{}})._f||{}).ref,f=y(t.errors,r)||{},{ref:c,message:g,type:k,...C}=f;R(t.errors,r,{...C,...a,ref:h}),v.state.next({name:r,errors:t.errors,isValid:!1}),u&&u.shouldFocus&&h&&h.focus&&h.focus()},_t=(r,a)=>Z(r)?v.state.subscribe({next:u=>"values"in u&&r(w(void 0,a),u)}):w(r,a,!0),qe=r=>v.state.subscribe({next:a=>{Ht(r.name,a.name,r.exact)&&Wt(a,r.formState||F,wt,r.reRenderRoot)&&r.callback({values:{...n},...t,...a,defaultValues:l})}}).unsubscribe,Vt=r=>(o.mount=!0,V={...V,...r.formState},qe({...r,formState:V})),Ae=(r,a={})=>{for(const u of r?ye(r):d.mount)d.mount.delete(u),d.array.delete(u),a.keepValue||(M(i,u),M(n,u)),!a.keepError&&M(t.errors,u),!a.keepDirty&&M(t.dirtyFields,u),!a.keepTouched&&M(t.touchedFields,u),!a.keepIsValidating&&M(t.validatingFields,u),!s.shouldUnregister&&!a.keepDefaultValue&&M(l,u);v.state.next({values:N(n)}),v.state.next({...t,...a.keepDirty?{isDirty:ee()}:{}}),!a.keepIsValid&&S()},je=({disabled:r,name:a})=>{(z(r)&&o.mount||r||d.disabled.has(a))&&(r?d.disabled.add(a):d.disabled.delete(a))},we=(r,a={})=>{let u=y(i,r);const h=z(a.disabled)||z(s.disabled);return R(i,r,{...u||{},_f:{...u&&u._f?u._f:{ref:{name:r}},name:r,mount:!0,...a}}),d.mount.add(r),u?je({disabled:z(a.disabled)?a.disabled:s.disabled,name:r}):x(r,!0,a.value),{...h?{disabled:a.disabled||s.disabled}:{},...s.progressive?{required:!!a.required,min:fe(a.min),max:fe(a.max),minLength:fe(a.minLength),maxLength:fe(a.maxLength),pattern:fe(a.pattern)}:{},name:r,onChange:te,onBlur:te,ref:f=>{if(f){we(r,a),u=y(i,r);const c=O(f.value)&&f.querySelectorAll&&f.querySelectorAll("input,select,textarea")[0]||f,g=Ut(c),k=u._f.refs||[];if(g?k.find(C=>C===c):c===u._f.ref)return;R(i,r,{_f:{...u._f,...g?{refs:[...k.filter(De),c,...Array.isArray(y(l,r))?[{}]:[]],ref:{type:c.type,name:r}}:{ref:c}}}),x(r,!1,void 0,c)}else u=y(i,r,{}),u._f&&(u._f.mount=!1),(s.shouldUnregister||a.shouldUnregister)&&!(ut(d.array,r)&&o.action)&&d.unMount.add(r)}}},Se=()=>s.shouldFocusError&&he(i,de,d.mount),Ft=r=>{z(r)&&(v.state.next({disabled:r}),he(i,(a,u)=>{const h=y(i,u);h&&(a.disabled=h._f.disabled||r,Array.isArray(h._f.refs)&&h._f.refs.forEach(f=>{f.disabled=h._f.disabled||r}))},0,!1))},We=(r,a)=>async u=>{let h;u&&(u.preventDefault&&u.preventDefault(),u.persist&&u.persist());let f=N(n);if(v.state.next({isSubmitting:!0}),s.resolver){const{errors:c,values:g}=await $();t.errors=c,f=N(g)}else await B(i);if(d.disabled.size)for(const c of d.disabled)M(f,c);if(M(t.errors,"root"),q(t.errors)){v.state.next({errors:{}});try{await r(f,u)}catch(c){h=c}}else a&&await a({...t.errors},u),Se(),setTimeout(Se);if(v.state.next({isSubmitted:!0,isSubmitting:!1,isSubmitSuccessful:q(t.errors)&&!h,submitCount:t.submitCount+1,errors:t.errors}),h)throw h},xt=(r,a={})=>{y(i,r)&&(O(a.defaultValue)?j(r,N(y(l,r))):(j(r,a.defaultValue),R(l,r,N(a.defaultValue))),a.keepTouched||M(t.touchedFields,r),a.keepDirty||(M(t.dirtyFields,r),t.isDirty=a.defaultValue?ee(r,N(y(l,r))):ee()),a.keepError||(M(t.errors,r),F.isValid&&S()),v.state.next({...t}))},He=(r,a={})=>{const u=r?N(r):l,h=N(u),f=q(r),c=f?l:h;if(a.keepDefaultValues||(l=u),!a.keepValues){if(a.keepDirtyValues){const g=new Set([...d.mount,...Object.keys(oe(l,n))]);for(const k of Array.from(g))y(t.dirtyFields,k)?R(c,k,y(n,k)):j(k,y(c,k))}else{if(Te&&O(r))for(const g of d.mount){const k=y(i,g);if(k&&k._f){const C=Array.isArray(k._f.refs)?k._f.refs[0]:k._f.ref;if(_e(C)){const J=C.closest("form");if(J){J.reset();break}}}}if(a.keepFieldsRef)for(const g of d.mount)j(g,y(c,g));else i={}}n=s.shouldUnregister?a.keepDefaultValues?N(l):{}:N(c),v.array.next({values:{...c}}),v.state.next({values:{...c}})}d={mount:a.keepDirtyValues?d.mount:new Set,unMount:new Set,array:new Set,disabled:new Set,watch:new Set,watchAll:!1,focus:""},o.mount=!F.isValid||!!a.keepIsValid||!!a.keepDirtyValues||!s.shouldUnregister&&!q(c),o.watch=!!s.shouldUnregister,o.action=!1,a.keepErrors||(t.errors={}),v.state.next({submitCount:a.keepSubmitCount?t.submitCount:0,isDirty:f?!1:a.keepDirty?t.isDirty:!!(a.keepDefaultValues&&!X(r,l)),isSubmitted:a.keepIsSubmitted?t.isSubmitted:!1,dirtyFields:f?{}:a.keepDirtyValues?a.keepDefaultValues&&n?oe(l,n):t.dirtyFields:a.keepDefaultValues&&r?oe(l,r):a.keepDirty?t.dirtyFields:{},touchedFields:a.keepTouched?t.touchedFields:{},errors:a.keepErrors?t.errors:{},isSubmitSuccessful:a.keepIsSubmitSuccessful?t.isSubmitSuccessful:!1,isSubmitting:!1,defaultValues:l})},$e=(r,a)=>He(Z(r)?r(n):r,a),At=(r,a={})=>{const u=y(i,r),h=u&&u._f;if(h){const f=h.refs?h.refs[0]:h.ref;f.focus&&(f.focus(),a.shouldSelect&&Z(f.select)&&f.select())}},wt=r=>{t={...t,...r}},ze={control:{register:we,unregister:Ae,getFieldState:Be,handleSubmit:We,setError:Ie,_subscribe:qe,_runSchema:$,_focusError:Se,_getWatch:w,_getDirty:ee,_setValid:S,_setFieldArray:Y,_setDisabledField:je,_setErrors:L,_getFieldArray:E,_reset:He,_resetDefaultValues:()=>Z(s.defaultValues)&&s.defaultValues().then(r=>{$e(r,s.resetOptions),v.state.next({isLoading:!1})}),_removeUnmounted:ae,_disableForm:Ft,_subjects:v,_proxyFormState:F,get _fields(){return i},get _formValues(){return n},get _state(){return o},set _state(r){o=r},get _defaultValues(){return l},get _names(){return d},set _names(r){d=r},get _formState(){return t},get _options(){return s},set _options(r){s={...s,...r}}},subscribe:Vt,trigger:le,register:we,handleSubmit:We,watch:_t,setValue:j,getValues:ve,reset:$e,resetField:xt,clearErrors:bt,unregister:Ae,setError:Ie,setFocus:At,getFieldState:Be};return{...ze,formControl:ze}}function Jt(e={}){const s=m.useRef(void 0),t=m.useRef(void 0),[i,l]=m.useState({isDirty:!1,isValidating:!1,isLoading:Z(e.defaultValues),isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,submitCount:0,dirtyFields:{},touchedFields:{},validatingFields:{},errors:e.errors||{},disabled:e.disabled||!1,isReady:!1,defaultValues:Z(e.defaultValues)?void 0:e.defaultValues});if(!s.current)if(e.formControl)s.current={...e.formControl,formState:i},e.defaultValues&&!Z(e.defaultValues)&&e.formControl.reset(e.defaultValues,e.resetOptions);else{const{formControl:o,...d}=Yt(e);s.current={...d,formState:i}}const n=s.current.control;return n._options=e,Ue(()=>{const o=n._subscribe({formState:n._proxyFormState,callback:()=>l({...n._formState}),reRenderRoot:!0});return l(d=>({...d,isReady:!0})),n._formState.isReady=!0,o},[n]),m.useEffect(()=>n._disableForm(e.disabled),[n,e.disabled]),m.useEffect(()=>{e.mode&&(n._options.mode=e.mode),e.reValidateMode&&(n._options.reValidateMode=e.reValidateMode)},[n,e.mode,e.reValidateMode]),m.useEffect(()=>{e.errors&&(n._setErrors(e.errors),n._focusError())},[n,e.errors]),m.useEffect(()=>{e.shouldUnregister&&n._subjects.state.next({values:n._getWatch()})},[n,e.shouldUnregister]),m.useEffect(()=>{if(n._proxyFormState.isDirty){const o=n._getDirty();o!==i.isDirty&&n._subjects.state.next({isDirty:o})}},[n,i.isDirty]),m.useEffect(()=>{var o;e.values&&!X(e.values,t.current)?(n._reset(e.values,{keepFieldsRef:!0,...n._options.resetOptions}),!((o=n._options.resetOptions)===null||o===void 0)&&o.keepIsValid||n._setValid(),t.current=e.values,l(d=>({...d}))):n._resetDefaultValues()},[n,e.values]),m.useEffect(()=>{n._state.mount||(n._setValid(),n._state.mount=!0),n._state.watch&&(n._state.watch=!1,n._subjects.state.next({...n._formState})),n._removeUnmounted()}),s.current.formState=ot(i,n),s.current}const vt=m.createContext(void 0),Qt=({showAsterisk:e,children:s})=>re.jsx(vt.Provider,{value:{showAsterisk:e},children:s}),Xt=()=>{const e=m.useContext(vt);if(!e)throw new Error("useSuprFormContext must be used within a SuprFormProvider");return e},Zt=({field:e,fieldState:s,children:t,className:i="",label:l,id:n=crypto.randomUUID(),required:o})=>{const{showAsterisk:d}=Xt(),{onChange:b,onBlur:D,value:F,name:V,disabled:v,ref:G}=e,{error:P}=s,S=t.props.onChange,p=t.props.onBlur,Y=m.useCallback((...L)=>{b(...L),S==null||S(...L)},[b,S]),_=m.useCallback((...L)=>{D(),p==null||p(...L)},[D,p]);return re.jsxs("div",{className:`controlled-field ${i}`,style:{display:"flex",flexDirection:"column",gap:"5px"},children:[l&&re.jsxs("label",{htmlFor:n,className:"controlled-field-label",children:[l,d&&o&&re.jsx("span",{style:{color:"red"},children:" *"})]}),m.cloneElement(t,{...t.props,id:n,name:V,disabled:v,onChange:Y,value:F,onBlur:_,ref:G}),P&&re.jsx("div",{style:{color:"red",fontSize:13},className:"controlled-field-error",children:P.message})]})},mt=({children:e,onSubmit:s=()=>{},onError:t=()=>{},style:i={},className:l="",formOptions:n,showAsterisk:o,ref:d})=>{const b=Jt({mode:"onSubmit",reValidateMode:"onChange",shouldFocusError:!0,...n});return m.useImperativeHandle(d,()=>({setValue:b.setValue,setError:b.setError,clearErrors:b.clearErrors,getValues:b.getValues,reset:b.reset,setFocus:b.setFocus,resetField:b.resetField,trigger:b.trigger,unregister:b.unregister,watch:b.watch}),[b]),re.jsx(Qt,{showAsterisk:o,children:re.jsx(Rt,{...b,children:re.jsx("form",{noValidate:!0,onSubmit:b.handleSubmit(s,t),style:i,className:l,children:e})})})},er=({children:e,name:s,rules:t,className:i,label:l,id:n,disabled:o,shouldUnregister:d})=>{const{control:b}=xe(),D=e.props.value;return re.jsx(Lt,{control:b,name:s,rules:t,defaultValue:D,disabled:o,shouldUnregister:d,render:F=>re.jsx(Zt,{...F,children:e,className:i,label:l,id:n,required:!!t})})};mt.Control=er;exports.SuprForm=mt;
|
|
2
2
|
//# sourceMappingURL=suprform.cjs.js.map
|