UNPKG

react-hook-form-mui

Version:

<div align="center"> <a href="https://react-hook-form-material-ui.vercel.app/" rel="noopener" target="_blank"> <img src="./rhf-mui.png" alt="Material-UI and react-hook-form combined" /> </a> </div>

1 lines 28.6 kB
"use client";function e(e,r){if(r==null||r>e.length)r=e.length;for(var o=0,n=new Array(r);o<r;o++)n[o]=e[o];return n}function r(e){if(Array.isArray(e))return e}function o(r){if(Array.isArray(r))return e(r)}function n(e,r,o){if(r in e){Object.defineProperty(e,r,{value:o,enumerable:true,configurable:true,writable:true})}else{e[r]=o}return e}function t(e){if(typeof Symbol!=="undefined"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function i(e,r){var o=e==null?null:typeof Symbol!=="undefined"&&e[Symbol.iterator]||e["@@iterator"];if(o==null)return;var n=[];var t=true;var i=false;var l,a;try{for(o=o.call(e);!(t=(l=o.next()).done);t=true){n.push(l.value);if(r&&n.length===r)break}}catch(e){i=true;a=e}finally{try{if(!t&&o["return"]!=null)o["return"]()}finally{if(i)throw a}}return n}function l(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function a(){throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function u(e){for(var r=1;r<arguments.length;r++){var o=arguments[r]!=null?arguments[r]:{};var t=Object.keys(o);if(typeof Object.getOwnPropertySymbols==="function"){t=t.concat(Object.getOwnPropertySymbols(o).filter(function(e){return Object.getOwnPropertyDescriptor(o,e).enumerable}))}t.forEach(function(r){n(e,r,o[r])})}return e}function s(e,r){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);if(r){n=n.filter(function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable})}o.push.apply(o,n)}return o}function d(e,r){r=r!=null?r:{};if(Object.getOwnPropertyDescriptors){Object.defineProperties(e,Object.getOwnPropertyDescriptors(r))}else{s(Object(r)).forEach(function(o){Object.defineProperty(e,o,Object.getOwnPropertyDescriptor(r,o))})}return e}function f(e,r){if(e==null)return{};var o=p(e,r);var n,t;if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(t=0;t<i.length;t++){n=i[t];if(r.indexOf(n)>=0)continue;if(!Object.prototype.propertyIsEnumerable.call(e,n))continue;o[n]=e[n]}}return o}function p(e,r){if(e==null)return{};var o={};var n=Object.keys(e);var t,i;for(i=0;i<n.length;i++){t=n[i];if(r.indexOf(t)>=0)continue;o[t]=e[t]}return o}function m(e,o){return r(e)||i(e,o)||h(e,o)||l()}function c(e){return o(e)||t(e)||h(e)||a()}function v(e){"@swc/helpers - typeof";return e&&typeof Symbol!=="undefined"&&e.constructor===Symbol?"symbol":typeof e}function h(r,o){if(!r)return;if(typeof r==="string")return e(r,o);var n=Object.prototype.toString.call(r).slice(8,-1);if(n==="Object"&&r.constructor)n=r.constructor.name;if(n==="Map"||n==="Set")return Array.from(n);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return e(r,o)}import{a as b,b as y,c as g,d as x}from"./chunk-UFLGEZ4Y.js";import{TextField as C,useForkRef as P}from"@mui/material";import{useController as j}from"react-hook-form";import{forwardRef as w}from"react";import{jsx as q}from"react/jsx-runtime";var S=w(function(e,r){var o=e.rules,n=o===void 0?{}:o,t=e.parseError,i=e.type,l=e.required,a=e.name,s=e.control,p=e.component,m=p===void 0?C:p,c=e.inputRef,v=e.transform,h=e.onBlur,b=f(e,["rules","parseError","type","required","name","control","component","inputRef","transform","onBlur"]),x=y(),w=t||x,S=u({},n,l&&!n.required&&{required:"This field is required"},i==="email"&&!n.pattern&&{pattern:{value:/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/,message:"Please enter a valid email address"}}),E=j({name:a,control:s,disabled:b.disabled,rules:S}),O=E.field,T=E.fieldState,F=T.error,k=g({value:O.value,onChange:O.onChange,transform:{input:typeof(v===null||v===void 0?void 0:v.input)=="function"?v.input:function(e){return e!==null&&e!==void 0?e:""},output:typeof(v===null||v===void 0?void 0:v.output)=="function"?v.output:function(e){var r=e.target.value;return i!=="number"?r:r===""?null:r==null?r:Number(r)}}}),R=k.value,A=k.onChange,B=P(O.ref,c);return q(m,d(u({},b),{name:O.name,value:R,onChange:function(e){A(e),typeof b.onChange=="function"&&b.onChange(e)},onBlur:function(e){O.onBlur(),typeof h=="function"&&h(e)},required:l,type:i,error:!!F,helperText:F?typeof w=="function"?w(F):F.message:b.helperText,ref:r,inputRef:B}))});S.displayName="TextFieldElement";var E=S;import{FormProvider as O,useForm as T}from"react-hook-form";import{jsx as F}from"react/jsx-runtime";function k(e){var r=e.handleSubmit,o=e.children,n=e.FormProps,t=e.formContext,i=e.onSuccess,l=e.onError,a=f(e,["handleSubmit","children","FormProps","formContext","onSuccess","onError"]);return t?(typeof i=="function"&&typeof r=="function"&&console.warn("Property `onSuccess` will be ignored because handleSubmit is provided"),F(O,d(u({},t),{children:F("form",d(u({noValidate:!0},n),{onSubmit:r||(i?t.handleSubmit(i,l):function(){return console.log("submit handler `onSuccess` is missing")}),children:o}))}))):F(R,u({onSuccess:i,onError:l,FormProps:n,children:o},a))}function R(e){var r=e.onSuccess,o=e.onError,n=e.FormProps,t=e.children,i=f(e,["onSuccess","onError","FormProps","children"]);var l=T(u({},i)),a=l.handleSubmit;return F(O,d(u({},l),{children:F("form",d(u({onSubmit:a(r||function(){return console.log("submit handler `onSuccess` is missing")},o),noValidate:!0},n),{children:t}))}))}import{useController as A}from"react-hook-form";import{Checkbox as B,FormControl as L,FormControlLabel as I,FormGroup as M,FormHelperText as K,useForkRef as N}from"@mui/material";import{forwardRef as W}from"react";import{jsx as z,jsxs as V}from"react/jsx-runtime";var D=W(function(e,r){var o=e.name,n=e.rules,t=n===void 0?{}:n,i=e.required,l=e.parseError,a=e.label,s=e.control,p=e.helperText,m=e.labelProps,h=e.inputRef,b=e.slotProps,x=e.transform,C=f(e,["name","rules","required","parseError","label","control","helperText","labelProps","inputRef","slotProps","transform"]),P=y(),j=l||P,w=u({},t,i&&!t.required&&{required:"This field is required"}),q=A({name:o,control:s,disabled:C.disabled,rules:w}),S=q.field,E=q.fieldState,O=E.error,T=g({value:S.value,onChange:S.onChange,transform:{input:x===null||x===void 0?void 0:x.input,output:typeof(x===null||x===void 0?void 0:x.output)=="function"?x===null||x===void 0?void 0:x.output:function(e,r){return r}}}),F=T.value,k=T.onChange,R=(b===null||b===void 0?void 0:b.input)&&v(b.input)=="object"&&"ref"in b.input?b.input.ref:void 0,W=N(S.ref,N(h,R)),D=O?typeof j=="function"?j(O):O.message:p;return V(L,{required:i,error:!!O,ref:r,children:[z(M,{row:!0,children:z(I,d(u({},m),{label:a||"",control:z(B,d(u({},C),{color:C.color||"primary",sx:c(Array.isArray(C.sx)?C.sx:[C.sx]).concat([{color:O?"error.main":void 0}]),value:F,checked:!!F,onChange:function(e,r){k(e,r),typeof C.onChange=="function"&&C.onChange(e,r)},slotProps:d(u({},b),{input:d(u({},b===null||b===void 0?void 0:b.input),{ref:W})})}))}))}),D&&z(K,{error:!!O,children:D})]})});D.displayName="CheckboxElement";var G=D;import{forwardRef as H}from"react";import{MenuItem as U,TextField as Z,useForkRef as $}from"@mui/material";import{useController as J}from"react-hook-form";import{jsx as X,jsxs as Y}from"react/jsx-runtime";var _=H(function(e,r){var o=e.name,n=e.required,t=e.valueKey,i=t===void 0?"id":t,l=e.labelKey,a=l===void 0?"label":l,s=e.options,p=s===void 0?[]:s,m=e.parseError,c=e.type,h=e.objectOnChange,b=e.rules,C=b===void 0?{}:b,P=e.control,j=e.inputRef,w=e.transform,q=e.onBlur,S=e.slotProps,E=f(e,["name","required","valueKey","labelKey","options","parseError","type","objectOnChange","rules","control","inputRef","transform","onBlur","slotProps"]),O=y(),T=m||O,F=S===null||S===void 0?void 0:S.select,k=!!(F&&(typeof F==="undefined"?"undefined":v(F))=="object"&&"native"in F&&F.native),R=u({},C,n&&!C.required&&{required:"This field is required"}),A=J({name:o,rules:R,disabled:E.disabled,control:P}),B=A.field,L=A.fieldState,I=L.error,M=g({value:B.value,onChange:B.onChange,transform:{input:typeof(w===null||w===void 0?void 0:w.input)=="function"?w.input:function(e){var r,o;return(o=(r=e===null||e===void 0?void 0:e[i])!==null&&r!==void 0?r:e)!==null&&o!==void 0?o:""},output:typeof(w===null||w===void 0?void 0:w.output)=="function"?w.output:function(e){var r=e.target.value;return c==="number"&&r&&(r=Number(r)),r}}}),K=M.value,N=M.onChange,W=$(B.ref,j),z=u({},S,c==="number"&&(typeof K==="undefined"?"undefined":v(K))<"u"?{inputLabel:u({shrink:!0},S===null||S===void 0?void 0:S.inputLabel)}:{});return Y(Z,d(u({},E),{slotProps:z,name:o,value:K,onBlur:function(e){B.onBlur(),typeof q=="function"&&q(e)},ref:r,onChange:function(e){if(N(e),typeof E.onChange=="function"){var r=e.target.value;c==="number"&&r&&(r=Number(r)),h&&(r=p.find(function(e){return e[i]===r})),E.onChange(r)}},select:!0,required:n,error:!!I,helperText:I?typeof T=="function"?T(I):I.message:E.helperText,inputRef:W,children:[k&&X("option",{}),p.map(function(e){var r;var n="".concat(o,"_").concat(e[i]),t={value:(r=e===null||e===void 0?void 0:e[i])!==null&&r!==void 0?r:e,disabled:x(e,"disabled")?!!e.disabled:!1,children:e[a]};return k?X("option",u({},t),n):X(U,u({},t),n)})]}))});_.displayName="SelectElement";var Q=_;import{Checkbox as ee,FormControl as er,FormControlLabel as eo,FormGroup as en,FormHelperText as et,FormLabel as ei,useTheme as el}from"@mui/material";import{useController as ea}from"react-hook-form";import{forwardRef as eu}from"react";import{jsx as es,jsxs as ed}from"react/jsx-runtime";import{createElement as ef}from"react";var ep=eu(function(e,r){var o=e.helperText,n=e.options,t=e.label,i=e.name,l=e.parseError,a=e.required,s=e.labelKey,p=s===void 0?"label":s,m=e.valueKey,v=m===void 0?"id":m,h=e.returnObject,b=e.disabled,C=e.row,P=e.control,j=e.checkboxColor,w=e.rules,q=e.labelProps,S=e.transform,E=e.defaultValue,O=E===void 0?[]:E,T=f(e,["helperText","options","label","name","parseError","required","labelKey","valueKey","returnObject","disabled","row","control","checkboxColor","rules","labelProps","transform","defaultValue"]),F=el(),k=y(),R=l||k,A=ea({name:i,rules:a?{required:"This field is required"}:w,disabled:b,control:P,defaultValue:O}),B=A.field,L=A.fieldState,I=L.error,M=L.invalid,K=g({value:B.value,onChange:B.onChange,transform:{input:typeof(S===null||S===void 0?void 0:S.input)=="function"?S.input:function(e){return Array.isArray(e)?e:[]},output:S===null||S===void 0?void 0:S.output}}),N=K.value,W=K.onChange,z=function(e){var r=x(e,v)?e[v]:e,o=N.findIndex(function(e){var o=x(e,v)?e[v]:e;return r===o}),n=(o===-1?c(N).concat([e]):N.filter(function(e,r){return o!==r})).map(function(e){return h||!x(e,v)?e:e[v]});W(n),typeof T.onChange=="function"&&T.onChange(n)},V=I?typeof R=="function"?R(I):I.message:o;return ed(er,{error:M,required:a,ref:r,component:"fieldset",children:[t?es(ei,{component:"legend",children:t}):null,es(en,{row:C,children:n.map(function(e){var r=x(e,v)?e[v]:e,o=x(e,p)?e[p]:e,n=N.some(function(e){return(x(e,v)?e[v]:e)===r});return ef(eo,d(u({},q),{control:es(ee,{sx:{color:I?F.palette.error.main:void 0},color:j,value:r,checked:n,disabled:b,onChange:function(){return z(e)}}),label:o,key:"".concat(r)}))})}),V&&es(et,{children:V})]})});ep.displayName="CheckboxButtonGroup";var em=ep;import ec from"@mui/icons-material/Cancel";import{useController as ev}from"react-hook-form";import{Checkbox as eh,Chip as eb,FormControl as ey,FormHelperText as eg,InputLabel as ex,ListItemText as eC,MenuItem as eP,Select as ej,useForkRef as ew}from"@mui/material";import{forwardRef as eq}from"react";import{jsx as eS,jsxs as eE}from"react/jsx-runtime";var eO=48,eT=8,eF=eq(function(e,r){var o,n,t,i,l;var a=e.onBlur,s=e.options,p=e.label,m=p===void 0?"":p,c=e.itemKey,h=c===void 0?"id":c,b=e.itemValue,C=b===void 0?"":b,P=e.itemLabel,j=P===void 0?"label":P,w=e.required,q=w===void 0?!1:w,S=e.rules,E=S===void 0?{}:S,O=e.parseError,T=e.name,F=e.menuMaxHeight,k=F===void 0?eO*4.5+eT:F,R=e.menuMaxWidth,A=R===void 0?250:R,B=e.minWidth,L=B===void 0?120:B,I=e.helperText,M=e.showChips,K=e.preserveOrder,N=e.control,W=e.showCheckbox,z=e.formControlProps,V=e.inputRef,D=e.transform,G=e.inputLabelProps,H=f(e,["onBlur","options","label","itemKey","itemValue","itemLabel","required","rules","parseError","name","menuMaxHeight","menuMaxWidth","minWidth","helperText","showChips","preserveOrder","control","showCheckbox","formControlProps","inputRef","transform","inputLabelProps"]),U=y(),Z=O||U,$=function(e){var r;var o;return(o=(r=s.find(function(r){var o;return((o=r[C||h])!==null&&o!==void 0?o:r)===e}))===null||r===void 0?void 0:r[j])!==null&&o!==void 0?o:e},J=u({},E,q&&!E.required&&{required:"This field is required"}),X=ev({name:T,rules:J,disabled:H.disabled,control:N}),Y=X.field,_=X.fieldState,Q=_.error,ee=g({value:Y.value,onChange:Y.onChange,transform:{input:typeof(D===null||D===void 0?void 0:D.input)=="function"?D.input:function(e){return Array.isArray(e)?e:[]},output:D===null||D===void 0?void 0:D.output}}),er=ee.value,eo=ee.onChange,en=ew(Y.ref,V),et=Q?typeof Z=="function"?Z(Q):Q.message:I;var ei;return eE(ey,d(u({},z),{style:u({minWidth:L},z===null||z===void 0?void 0:z.style),variant:H.variant,fullWidth:H.fullWidth,error:!!Q,size:H.size,ref:r,children:[m&&eS(ex,d(u({},G),{size:H.size==="small"?"small":G===null||G===void 0?void 0:G.size,error:!!Q,htmlFor:H.id||"select-multi-select-".concat(T),required:q,children:m})),eS(ej,d(u({},H),{id:H.id||"select-multi-select-".concat(T),multiple:!0,label:m||void 0,error:!!Q,value:er,required:q,onChange:eo,onBlur:function(e){Y.onBlur(),typeof a=="function"&&a(e)},MenuProps:d(u({},H.MenuProps),{slotProps:d(u({},(o=H.MenuProps)===null||o===void 0?void 0:o.slotProps),{paper:u({},(ei=(t=H.MenuProps)===null||t===void 0?void 0:(n=t.slotProps)===null||n===void 0?void 0:n.paper)!==null&&ei!==void 0?ei:{style:u({maxHeight:k,width:A},x((l=H.MenuProps)===null||l===void 0?void 0:(i=l.slotProps)===null||i===void 0?void 0:i.paper,"style")&&v(H.MenuProps.slotProps.paper.style)=="object"&&u({},H.MenuProps.slotProps.paper.style))})})}),renderValue:typeof H.renderValue=="function"?H.renderValue:M?function(e){return eS("div",{style:{display:"flex",flexWrap:"wrap",gap:"4px"},children:(K?s.filter(function(r){return e.includes(r)}):e||[]).map(function(e){return eS(eb,{label:$(e),style:{display:"flex",flexWrap:"wrap"},onDelete:function(){eo((Array.isArray(er)?er:[]).filter(function(r){return r!==e}))},deleteIcon:eS(ec,{onMouseDown:function(e){e.stopPropagation()}})},e)})})}:function(e){return Array.isArray(e)?e.map($).join(", "):""},inputRef:en,children:s.map(function(e){var r;var o=(r=e[C||h])!==null&&r!==void 0?r:e,n=Array.isArray(er)?er.some(function(e){return e===o}):!1;return eE(eP,{value:o,sx:{fontWeight:function(e){return n?e.typography.fontWeightBold:e.typography.fontWeightRegular}},children:[W&&eS(eh,{checked:n}),eS(eC,{primary:e[j]||e})]},o)})})),et&&eS(eg,{error:!!Q,children:et})]}))});eF.displayName="MultiSelectElement";var ek=eF;import{forwardRef as eR,useState as eA}from"react";import{IconButton as eB,InputAdornment as eL}from"@mui/material";import eI from"@mui/icons-material/Visibility";import eM from"@mui/icons-material/VisibilityOff";import{Fragment as eK,jsx as eN,jsxs as eW}from"react/jsx-runtime";var ez=eR(function(e,r){var o=e.iconColor,n=e.renderIcon,t=n===void 0?function(e){return e?eN(eI,{}):eN(eM,{})}:n,i=e.slotProps,l=f(e,["iconColor","renderIcon","slotProps"]),a=m(eA(!0),2),s=a[0],p=a[1],c=eN(eL,{position:"end",children:eN(eB,{"aria-label":s?"Hide password":"Show password",onMouseDown:function(e){return e.preventDefault()},onClick:function(){return p(!s)},tabIndex:-1,color:o!==null&&o!==void 0?o:"default",children:t(s)})}),h=i===null||i===void 0?void 0:i.input,b=h&&(typeof h==="undefined"?"undefined":v(h))=="object"&&!("call"in h)?h:void 0;return eN(E,d(u({},l),{ref:r,type:s?"password":"text",slotProps:d(u({},i),{input:d(u({},b),{endAdornment:eW(eK,{children:[c,b===null||b===void 0?void 0:b.endAdornment]})})})}))});ez.displayName="PasswordElement";var eV=ez;import{forwardRef as eD}from"react";import{useController as eG}from"react-hook-form";import{FormControl as eH,FormControlLabel as eU,FormHelperText as eZ,FormLabel as e$,Radio as eJ,RadioGroup as eX,useTheme as eY}from"@mui/material";import{jsx as e_,jsxs as eQ}from"react/jsx-runtime";import{createElement as e0}from"react";var e1=eD(function(e,r){var o=e.helperText,n=e.options,t=e.label,i=e.name,l=e.parseError,a=e.labelKey,s=a===void 0?"label":a,p=e.valueKey,m=p===void 0?"id":p,c=e.disabledKey,v=c===void 0?"disabled":c,h=e.required,b=e.emptyOptionLabel,x=e.returnObject,C=e.row,P=e.control,j=e.type,w=e.labelProps,q=e.disabled,S=e.formLabelProps,E=e.radioProps,O=e.transform,T=e.rules,F=T===void 0?{}:T,k=f(e,["helperText","options","label","name","parseError","labelKey","valueKey","disabledKey","required","emptyOptionLabel","returnObject","row","control","type","labelProps","disabled","formLabelProps","radioProps","transform","rules"]),R=eY(),A=y(),B=l||A,L=u({},F,h&&!F.required&&{required:"This field is required"}),I=eG({name:i,rules:L,disabled:q,control:P}),M=I.field,K=I.fieldState,N=K.error,W=g({value:M.value,onChange:M.onChange,transform:{input:typeof(O===null||O===void 0?void 0:O.input)=="function"?O.input:function(e){return e||""},output:typeof(O===null||O===void 0?void 0:O.output)=="function"?O===null||O===void 0?void 0:O.output:function(e,r){return r&&j==="number"?Number(r):r}}}),z=W.value,V=W.onChange,D=N?typeof B=="function"?B(N):N.message:o,G=function(e,r){var o=x?n.find(function(e){return e[m]===r}):r;V(e,o),typeof k.onChange=="function"&&k.onChange(o)};return eQ(eH,{error:!!N,ref:r,children:[t&&e_(e$,d(u({},S),{required:h,error:!!N,children:t})),eQ(eX,{onChange:G,name:i,row:C,value:z,children:[b&&e_(eU,d(u({},w),{control:e_(eJ,d(u({},E),{sx:{color:N?R.palette.error.main:void 0},checked:!z})),label:b,value:""})),n.map(function(e){var r=e[m],o=e[v]||!1;r===void 0&&console.error("RadioButtonGroup: valueKey ".concat(m," does not exist on option"),e);var n=x?z===null||z===void 0?void 0:z[m]:z;j==="number"&&(n=Number(n));var t=n===r;return e0(eU,d(u({},w),{control:e_(eJ,d(u({},E),{sx:{color:N?R.palette.error.main:void 0},disabled:q||o,checked:t})),value:r,label:e[s],key:r}))})]}),D&&e_(eZ,{children:D})]})});e1.displayName="RadioButtonGroup";var e2=e1;import{useController as e3}from"react-hook-form";import{FormControlLabel as e9,Switch as e4,useForkRef as e8}from"@mui/material";import{forwardRef as e5}from"react";import{jsx as e6}from"react/jsx-runtime";var e7=e5(function(e,r){var o=e.name,n=e.control,t=e.switchProps,i=e.transform,l=f(e,["name","control","switchProps","transform"]),a=e3({name:o,control:n,disabled:l.disabled}),s=a.field,p=g({value:s.value,onChange:s.onChange,transform:{input:i===null||i===void 0?void 0:i.input,output:typeof(i===null||i===void 0?void 0:i.output)=="function"?i.output:function(e,r){return r}}}),m=p.value,c=p.onChange,v=e8(s.ref,t===null||t===void 0?void 0:t.ref);return e6(e9,u({ref:r,control:e6(e4,d(u({},t),{name:s.name,value:m,onChange:function(e,r){c(e,r),typeof(t===null||t===void 0?void 0:t.onChange)=="function"&&t.onChange(e,r)},onBlur:function(e){s.onBlur(),typeof(t===null||t===void 0?void 0:t.onBlur)=="function"&&(t===null||t===void 0?void 0:t.onBlur(e))},ref:v,checked:!!m}))},l))});e7.displayName="SwitchElement";var re=e7;import{useWatch as rr}from"react-hook-form";import{forwardRef as ro}from"react";import{jsx as rn}from"react/jsx-runtime";var rt=ro(function(e,r){var o=e.passwordFieldName,n=e.customInvalidFieldMessage,t=e.control,i=f(e,["passwordFieldName","customInvalidFieldMessage","control"]),l=rr({name:o,control:t});return rn(eV,d(u({control:t},i),{ref:r,rules:{validate:function(e){return e===l||(n!==null&&n!==void 0?n:"Password should match")}}}))});rt.displayName="PasswordRepeatElement";var ri=rt;import{useController as rl}from"react-hook-form";import{Autocomplete as ra,Checkbox as ru,CircularProgress as rs,TextField as rd,useForkRef as rf}from"@mui/material";import{setRef as rp}from"@mui/material/utils";import{forwardRef as rm}from"react";import{Fragment as rc,jsx as rv,jsxs as rh}from"react/jsx-runtime";import{createElement as rb}from"react";var ry=rm(function(e,r){var o=e.textFieldProps,n=e.autocompleteProps,t=e.name,i=e.control,l=e.options,a=e.loading,s=e.showCheckbox,f=e.rules,p=e.loadingIndicator,m=e.required,c=e.multiple,h=e.label,b=e.parseError,C=e.transform,P=e.matchId,j=y(),w=b||j,q=u({},f,m&&{required:(f===null||f===void 0?void 0:f.required)||"This field is required"}),S=rl({name:t,control:i,disabled:n===null||n===void 0?void 0:n.disabled,rules:q}),E=S.field,O=S.fieldState,T=O.error,F=function(e){return typeof(n===null||n===void 0?void 0:n.getOptionLabel)=="function"?n.getOptionLabel(e):typeof e=="string"?e:x(e,"label")?"".concat(e===null||e===void 0?void 0:e.label):"".concat(e)},k=function(e,r){if(typeof(n===null||n===void 0?void 0:n.isOptionEqualToValue)=="function")return n.isOptionEqualToValue(e,r);var o=x(e,"id")?e.id:e;if(typeof r=="string"||typeof r=="number")return o===r;var t=x(r,"id")?r.id:r;return o===t},R=function(e){return l.find(function(r){return P&&x(r,"id")?r.id===e:k(r,e)})},A=g({value:E.value,onChange:E.onChange,transform:{input:typeof(C===null||C===void 0?void 0:C.input)=="function"?C.input:function(e){var r;return c?(Array.isArray(e)?e:[]).map(function(e){var r;return(r=R(e))!==null&&r!==void 0?r:(n===null||n===void 0?void 0:n.freeSolo)?e:void 0}):(r=R(e))!==null&&r!==void 0?r:(n===null||n===void 0?void 0:n.freeSolo)?e:null},output:typeof(C===null||C===void 0?void 0:C.output)=="function"?C.output:function(e,r){if(c){var o=Array.isArray(r)?r:[];return P?o.map(function(e){return x(e,"id")?e.id:e}):o}return P&&x(r,"id")?r.id:r}}}),B=A.value,L=A.onChange,I=rf(E.ref,o===null||o===void 0?void 0:o.inputRef),M=p||rv(rs,{color:"inherit",size:20});var K;return rv(ra,d(u({},n),{value:B,loading:a,multiple:c,options:l,disableCloseOnSelect:typeof(n===null||n===void 0?void 0:n.disableCloseOnSelect)=="boolean"?n.disableCloseOnSelect:!!c,isOptionEqualToValue:k,getOptionLabel:F,onChange:function(e,r,o,t){L(e,r,o,t),(n===null||n===void 0?void 0:n.onChange)&&n.onChange(e,r,o,t)},ref:r,renderOption:(K=n===null||n===void 0?void 0:n.renderOption)!==null&&K!==void 0?K:s?function(e,r,o){var n=o.selected;return rb("li",d(u({},e),{key:e.key}),rv(ru,{sx:{marginRight:1},checked:n}),F(r))}:void 0,onBlur:function(e){E.onBlur(),typeof(n===null||n===void 0?void 0:n.onBlur)=="function"&&n.onBlur(e)},renderInput:function(e){var r,n,i;var l=e.slotProps.htmlInput,s=o===null||o===void 0?void 0:(r=o.slotProps)===null||r===void 0?void 0:r.htmlInput,p=l&&(typeof l==="undefined"?"undefined":v(l))=="object"&&"ref"in l?l.ref:void 0,c=s&&(typeof s==="undefined"?"undefined":v(s))=="object"&&"ref"in s?s.ref:void 0,b=function(e){rp(I,e),rp(p,e),rp(c,e)};return rv(rd,d(u({},o),{name:t,required:(f===null||f===void 0?void 0:f.required)?!0:m,label:h,id:e.id,disabled:e.disabled,fullWidth:e.fullWidth,size:e.size,error:!!T,helperText:T?typeof w=="function"?w(T):T.message:o===null||o===void 0?void 0:o.helperText,slotProps:d(u({},o===null||o===void 0?void 0:o.slotProps),{inputLabel:u({},e.slotProps.inputLabel,o===null||o===void 0?void 0:(n=o.slotProps)===null||n===void 0?void 0:n.inputLabel),input:d(u({},e.slotProps.input,o===null||o===void 0?void 0:(i=o.slotProps)===null||i===void 0?void 0:i.input),{endAdornment:rh(rc,{children:[a?M:null,e.slotProps.input.endAdornment]})}),htmlInput:d(u({},e.slotProps.htmlInput,(typeof s==="undefined"?"undefined":v(s))=="object"&&s!==null?s:{}),{ref:b})})}))}}))});ry.displayName="AutocompleteElement";var rg=ry;import{useController as rx}from"react-hook-form";import{FormControl as rC,FormHelperText as rP,FormLabel as rj,Slider as rw}from"@mui/material";import{forwardRef as rq}from"react";import{jsx as rS,jsxs as rE}from"react/jsx-runtime";var rO=rq(function(e,r){var o=e.name,n=e.control,t=e.label,i=e.rules,l=i===void 0?{}:i,a=e.parseError,s=e.required,p=e.formControlProps,m=e.transform,c=f(e,["name","control","label","rules","parseError","required","formControlProps","transform"]),v=y(),h=a||v,b=u({},l,s&&!l.required&&{required:"This field is required"}),x=rx({name:o,control:n,disabled:c.disabled,rules:b}),C=x.field,P=x.fieldState,j=P.error,w=P.invalid,q=g({value:C.value,onChange:C.onChange,transform:m}),S=q.value,E=q.onChange,O=j?typeof h=="function"?h(j):j.message:null;return rE(rC,d(u({error:w,required:s,fullWidth:!0},p),{ref:r,children:[t&&rS(rj,{component:"legend",error:w,children:t}),rS(rw,d(u({},c),{value:S,onChange:E,valueLabelDisplay:c.valueLabelDisplay||"auto"})),O&&rS(rP,{error:w,children:O})]}))});rO.displayName="SliderElement";var rT=rO;import{useController as rF}from"react-hook-form";import{FormControl as rk,FormHelperText as rR,FormLabel as rA,ToggleButton as rB,ToggleButtonGroup as rL}from"@mui/material";import{jsx as rI,jsxs as rM}from"react/jsx-runtime";import{createElement as rK}from"react";function rN(e){var r=e.name,o=e.control,n=e.label,t=e.rules,i=t===void 0?{}:t,l=e.required,a=e.options,s=a===void 0?[]:a,p=e.onBlur,m=e.parseError,c=e.helperText,v=e.formLabelProps,h=e.enforceAtLeastOneSelected,b=h===void 0?!1:h,x=e.exclusive,C=e.transform,P=f(e,["name","control","label","rules","required","options","onBlur","parseError","helperText","formLabelProps","enforceAtLeastOneSelected","exclusive","transform"]),j=y(),w=m||j,q=u({},i,l&&!i.required&&{required:"This field is required"}),S=l||!!(i===null||i===void 0?void 0:i.required),E=rF({name:r,control:o,rules:q,disabled:P.disabled}),O=E.field,T=E.fieldState,F=T.error,k=g({value:O.value,onChange:O.onChange,transform:{input:C===null||C===void 0?void 0:C.input,output:typeof(C===null||C===void 0?void 0:C.output)=="function"?C.output:function(e,r){return r}}}),R=k.value,A=k.onChange,B=F?typeof w=="function"?w(F):F.message:c;return rM(rk,{error:!!F,required:S,fullWidth:P===null||P===void 0?void 0:P.fullWidth,children:[n&&rI(rA,d(u({},v),{error:!!F,required:S,sx:u({mb:1},v===null||v===void 0?void 0:v.sx),children:n})),rI(rL,d(u({},P),{exclusive:x,value:R,onBlur:function(e){O.onBlur(),typeof p=="function"&&p(e)},onChange:function(e,r){b&&(x&&r===null||!x&&(r===null||r===void 0?void 0:r.length)===0)||(A(e,r),typeof P.onChange=="function"&&P.onChange(e,r))},children:s.map(function(e){var r=e.label,o=e.id,n=f(e,["label","id"]);return rK(rB,d(u({value:o},n),{key:o}),r)})})),B&&rI(rR,{children:B})]})}import{TextareaAutosize as rW,TextField as rz,useForkRef as rV}from"@mui/material";import{useController as rD}from"react-hook-form";import{forwardRef as rG}from"react";import{jsx as rH}from"react/jsx-runtime";var rU=rG(function(e,r){var o,n;var t=e.rules,i=t===void 0?{}:t,l=e.parseError,a=e.required,s=e.name,p=e.control,m=e.rows,c=e.resizeStyle,v=c===void 0?"none":c,h=e.maxRows,b=e.minRows,x=e.inputRef,C=e.inputProps,P=C===void 0?{}:C,j=e.transform,w=e.onBlur,q=f(e,["rules","parseError","required","name","control","rows","resizeStyle","maxRows","minRows","inputRef","inputProps","transform","onBlur"]),S=y(),E=l||S,O=u({},i,a&&!i.required&&{required:"This field is required"}),T=rD({name:s,control:p,rules:O,disabled:q.disabled}),F=T.field,k=T.fieldState,R=k.error,A=g({value:F.value,onChange:F.onChange,transform:{input:typeof(j===null||j===void 0?void 0:j.input)=="function"?j.input:function(e){return e!==null&&e!==void 0?e:""},output:typeof(j===null||j===void 0?void 0:j.output)=="function"?j.output:function(e){return e.target.value}}}),B=A.value,L=A.onChange,I=rV(F.ref,x);return rH(rz,d(u({},q),{name:s,value:B,onChange:function(e){L(e),typeof q.onChange=="function"&&q.onChange(e)},onBlur:function(e){F.onBlur(),typeof w=="function"&&w(e)},required:a,error:!!R,helperText:R?typeof E=="function"?E(R):R.message:q.helperText,inputRef:I,multiline:!0,ref:r,slotProps:d(u({},q.slotProps),{input:d(u({},(o=q.slotProps)===null||o===void 0?void 0:o.input),{inputComponent:rW}),htmlInput:u({minRows:b||m,maxRows:h||m,style:{resize:v}},P||{},(n=q.slotProps)===null||n===void 0?void 0:n.htmlInput)})}))});rU.displayName="TextareaAutosizeElement";var rZ=rU;export*from"react-hook-form";export{rg as AutocompleteElement,em as CheckboxButtonGroup,G as CheckboxElement,k as FormContainer,b as FormErrorProvider,ek as MultiSelectElement,eV as PasswordElement,ri as PasswordRepeatElement,e2 as RadioButtonGroup,Q as SelectElement,rT as SliderElement,re as SwitchElement,E as TextFieldElement,rZ as TextareaAutosizeElement,rN as ToggleButtonGroupElement,y as useFormError,g as useTransform};//# sourceMappingURL=index.js.map