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 • 13.6 kB
JavaScript
"use client";function e(e,r){if(r==null||r>e.length)r=e.length;for(var t=0,o=new Array(r);t<r;t++)o[t]=e[t];return o}function r(r){if(Array.isArray(r))return e(r)}function t(e,r,t){if(r in e){Object.defineProperty(e,r,{value:t,enumerable:true,configurable:true,writable:true})}else{e[r]=t}return e}function o(e){if(typeof Symbol!=="undefined"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function i(){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 n(e){for(var r=1;r<arguments.length;r++){var o=arguments[r]!=null?arguments[r]:{};var i=Object.keys(o);if(typeof Object.getOwnPropertySymbols==="function"){i=i.concat(Object.getOwnPropertySymbols(o).filter(function(e){return Object.getOwnPropertyDescriptor(o,e).enumerable}))}i.forEach(function(r){t(e,r,o[r])})}return e}function a(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);if(r){o=o.filter(function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable})}t.push.apply(t,o)}return t}function l(e,r){r=r!=null?r:{};if(Object.getOwnPropertyDescriptors){Object.defineProperties(e,Object.getOwnPropertyDescriptors(r))}else{a(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function u(e,r){if(e==null)return{};var t=s(e,r);var o,i;if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(i=0;i<n.length;i++){o=n[i];if(r.indexOf(o)>=0)continue;if(!Object.prototype.propertyIsEnumerable.call(e,o))continue;t[o]=e[o]}}return t}function s(e,r){if(e==null)return{};var t={};var o=Object.keys(e);var i,n;for(n=0;n<o.length;n++){i=o[n];if(r.indexOf(i)>=0)continue;t[i]=e[i]}return t}function d(e){return r(e)||o(e)||p(e)||i()}function f(e){"@swc/helpers - typeof";return e&&typeof Symbol!=="undefined"&&e.constructor===Symbol?"symbol":typeof e}function p(r,t){if(!r)return;if(typeof r==="string")return e(r,t);var o=Object.prototype.toString.call(r).slice(8,-1);if(o==="Object"&&r.constructor)o=r.constructor.name;if(o==="Map"||o==="Set")return Array.from(o);if(o==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(o))return e(r,t)}import{b as m,c as v,e as c,f as h}from"./chunk-UFLGEZ4Y.js";import{forwardRef as b}from"react";import{useController as y}from"react-hook-form";import{useForkRef as P}from"@mui/material";import{DatePicker as g,extractValidationProps as x,validateDate as D}from"@mui/x-date-pickers";import{usePickerAdapter as w}from"@mui/x-date-pickers/hooks";var T={disableFuture:"Date must be in the past",maxDate:"Date is later than the maximum allowed date",disablePast:"Past date is not allowed",invalidDate:"Date is invalid",minDate:"Date is earlier than the minimum allowed date",shouldDisableDate:"Date is not allowed",shouldDisableMonth:"Month is not allowed",shouldDisableYear:"Year is not allowed"};import{jsx as O}from"react/jsx-runtime";var C=b(function(e,r){var t;var o=e.parseError,i=e.name,a=e.required,s=e.rules,p=s===void 0?{}:s,b=e.inputProps,C=e.control,k=e.textReadOnly,j=e.slotProps,E=e.overwriteErrorMessages,S=e.inputRef,q=e.transform,R=u(e,["parseError","name","required","rules","inputProps","control","textReadOnly","slotProps","overwriteErrorMessages","inputRef","transform"]),F=w(),I=x(R),M=m(),A=o||M,B=n({},T,E),V=l(n({},p,a&&!p.required&&{required:"This field is required"}),{validate:n({internal:function(e){var r=h(F,e);if(!r)return!0;var t,o;var i=D({props:n({disableFuture:!1,disablePast:!1},I),timezone:(o=(t=R.timezone)!==null&&t!==void 0?t:c(F,r))!==null&&o!==void 0?o:"default",value:r,adapter:F});return i==null||B[i]}},p.validate)}),z=y({name:i,control:C,rules:V,disabled:R.disabled,defaultValue:null}),Y=z.field,N=z.fieldState,U=N.error,G=v({value:Y.value,onChange:Y.onChange,transform:{input:typeof(q===null||q===void 0?void 0:q.input)=="function"?q.input:function(e){return h(F,e)},output:typeof(q===null||q===void 0?void 0:q.output)=="function"?q.output:function(e){return e}}}),L=G.value,Z=G.onChange,$=P(Y.ref,S),H=U?typeof A=="function"?A(U):U.message:null,J=b===null||b===void 0?void 0:(t=b.slotProps)===null||t===void 0?void 0:t.htmlInput,K=J&&(typeof J==="undefined"?"undefined":f(J))=="object"&&"ref"in J?J.ref:void 0,Q=P($,K);var W;return O(g,l(n({},R,Y),{value:L,ref:r,onClose:function(){for(var e=arguments.length,r=new Array(e),t=0;t<e;t++){r[t]=arguments[t]}var o;Y.onBlur(),R.onClose&&(o=R).onClose.apply(o,d(r))},onChange:function(e,r){Z(e,r),typeof R.onChange=="function"&&R.onChange(e,r)},slotProps:l(n({},j),{textField:l(n({},b),{required:a,onBlur:function(e){Y.onBlur(),typeof(b===null||b===void 0?void 0:b.onBlur)=="function"&&b.onBlur(e)},error:!!H,helperText:H||((W=b===null||b===void 0?void 0:b.helperText)!==null&&W!==void 0?W:R.helperText),slotProps:l(n({},b===null||b===void 0?void 0:b.slotProps),{htmlInput:l(n({},(typeof J==="undefined"?"undefined":f(J))=="object"&&J!==null?J:{}),{readOnly:!!k,ref:Q})})})})}))});C.displayName="DatePickerElement";var k=C;import{forwardRef as j}from"react";import{useController as E}from"react-hook-form";import{useForkRef as S}from"@mui/material";import{extractValidationProps as q,MobileDatePicker as R,validateDate as F}from"@mui/x-date-pickers";import{usePickerAdapter as I}from"@mui/x-date-pickers/hooks";import{jsx as M}from"react/jsx-runtime";var A=j(function(e,r){var t;var o;var i=e.parseError,a=e.name,s=e.required,p=e.rules,b=p===void 0?{}:p,y=e.inputProps,P=e.control,g=e.slotProps,x=e.overwriteErrorMessages,D=e.inputRef,w=e.transform,O=u(e,["parseError","name","required","rules","inputProps","control","slotProps","overwriteErrorMessages","inputRef","transform"]),C=I(),k=q(O),j=m(),A=i||j,B=n({},T,x),V=l(n({},b,s&&!b.required&&{required:"This field is required"}),{validate:n({internal:function(e){var r=h(C,e);if(!r)return!0;var t,o;var i=F({props:n({disableFuture:!1,disablePast:!1},k),timezone:(o=(t=O.timezone)!==null&&t!==void 0?t:c(C,r))!==null&&o!==void 0?o:"default",value:r,adapter:C});return i==null||B[i]}},b.validate)}),z=E({name:a,control:P,rules:V,disabled:O.disabled,defaultValue:null}),Y=z.field,N=z.fieldState,U=N.error,G=v({value:Y.value,onChange:Y.onChange,transform:{input:typeof(w===null||w===void 0?void 0:w.input)=="function"?w.input:function(e){return h(C,e)},output:typeof(w===null||w===void 0?void 0:w.output)=="function"?w.output:function(e){return e}}}),L=G.value,Z=G.onChange,$=S(Y.ref,D),H=y===null||y===void 0?void 0:(t=y.slotProps)===null||t===void 0?void 0:t.htmlInput,J=H&&(typeof H==="undefined"?"undefined":f(H))=="object"&&"ref"in H?H.ref:void 0,K=S($,J),Q=l(n({},y),{required:s,error:!!U,helperText:U?typeof A=="function"?A(U):U.message:(o=y===null||y===void 0?void 0:y.helperText)!==null&&o!==void 0?o:O.helperText,onBlur:function(e){var r;Y.onBlur(),y===null||y===void 0?void 0:(r=y.onBlur)===null||r===void 0?void 0:r.call(y,e)},slotProps:l(n({},y===null||y===void 0?void 0:y.slotProps),{htmlInput:l(n({},(typeof H==="undefined"?"undefined":f(H))=="object"&&H!==null?H:{}),{ref:K})})});return M(R,l(n({},O,Y),{value:L,ref:r,onClose:function(){for(var e=arguments.length,r=new Array(e),t=0;t<e;t++){r[t]=arguments[t]}var o;Y.onBlur(),O.onClose&&(o=O).onClose.apply(o,d(r))},onChange:function(e,r){Z(e,r),typeof O.onChange=="function"&&O.onChange(e,r)},slotProps:l(n({},g),{textField:Q})}))});A.displayName="MobileDatePickerElement";var B=A;import{forwardRef as V}from"react";import{useController as z}from"react-hook-form";import{DateTimePicker as Y,extractValidationProps as N,validateDateTime as U}from"@mui/x-date-pickers";import{usePickerAdapter as G}from"@mui/x-date-pickers/hooks";import{useForkRef as L}from"@mui/material";var Z={disableFuture:"Date must be in the past",maxDate:"Date is later than the maximum allowed date",disablePast:"Past date is not allowed",invalidDate:"Date is invalid",minDate:"Date is earlier than the minimum allowed date",shouldDisableDate:"Date is not allowed",shouldDisableMonth:"Month is not allowed",shouldDisableYear:"Year is not allowed",minTime:"Time is earlier than the minimum allowed",maxTime:"Time is later than the maximum allowed","shouldDisableTime-hours":"Specified hour is disabled","shouldDisableTime-minutes":"Specified minute is disabled","shouldDisableTime-seconds":"Specified second is disabled",minutesStep:"Invalid minutes step"};import{jsx as $}from"react/jsx-runtime";var H=V(function(e,r){var t;var o;var i=e.parseError,a=e.name,s=e.required,p=e.rules,b=p===void 0?{}:p,y=e.inputProps,P=e.control,g=e.textReadOnly,x=e.slotProps,D=e.overwriteErrorMessages,w=e.inputRef,T=e.transform,O=u(e,["parseError","name","required","rules","inputProps","control","textReadOnly","slotProps","overwriteErrorMessages","inputRef","transform"]),C=G(),k=N(O),j=m(),E=i||j,S=n({},Z,D),q=l(n({},b,s&&!b.required&&{required:"This field is required"}),{validate:n({internal:function(e){var r=h(C,e);if(!r)return!0;var t,o;var i=U({props:n({disableFuture:!1,disablePast:!1},k),timezone:(o=(t=O.timezone)!==null&&t!==void 0?t:c(C,r))!==null&&o!==void 0?o:"default",value:r,adapter:C});return i==null||S[i]}},b.validate)}),R=z({name:a,rules:q,control:P,disabled:O.disabled,defaultValue:null}),F=R.field,I=R.fieldState,M=I.error,A=v({value:F.value,onChange:F.onChange,transform:{input:typeof(T===null||T===void 0?void 0:T.input)=="function"?T.input:function(e){return h(C,e)},output:typeof(T===null||T===void 0?void 0:T.output)=="function"?T.output:function(e){return e}}}),B=A.value,V=A.onChange,H=L(F.ref,w),J=y===null||y===void 0?void 0:(t=y.slotProps)===null||t===void 0?void 0:t.htmlInput,K=J&&(typeof J==="undefined"?"undefined":f(J))=="object"&&"ref"in J?J.ref:void 0,Q=L(H,K),W=l(n({},y),{required:s,error:!!M,helperText:M?typeof E=="function"?E(M):M.message:(o=y===null||y===void 0?void 0:y.helperText)!==null&&o!==void 0?o:O.helperText,onBlur:function(e){var r;F.onBlur(),y===null||y===void 0?void 0:(r=y.onBlur)===null||r===void 0?void 0:r.call(y,e)},slotProps:l(n({},y===null||y===void 0?void 0:y.slotProps),{htmlInput:l(n({},(typeof J==="undefined"?"undefined":f(J))=="object"&&J!==null?J:{}),{readOnly:g,ref:Q})})});return $(Y,l(n({},O,F),{value:B,ref:r,onClose:function(){for(var e=arguments.length,r=new Array(e),t=0;t<e;t++){r[t]=arguments[t]}var o;F.onBlur(),O.onClose&&(o=O).onClose.apply(o,d(r))},onChange:function(e,r){V(e,r),typeof O.onChange=="function"&&O.onChange(e,r)},slotProps:l(n({},x),{textField:W})}))});H.displayName="DateTimePickerElement";var J=H;import{forwardRef as K}from"react";import{useController as Q}from"react-hook-form";import{useForkRef as W}from"@mui/material";import{extractValidationProps as X,TimePicker as _,validateTime as ee}from"@mui/x-date-pickers";import{usePickerAdapter as er}from"@mui/x-date-pickers/hooks";var et={invalidDate:"Time is invalid",minTime:"Time is earlier than the minimum allowed",maxTime:"Time is later than the maximum allowed",disableFuture:"Future time is disabled",disablePast:"Past time is disabled","shouldDisableTime-hours":"Specified hour is disabled","shouldDisableTime-minutes":"Specified minute is disabled","shouldDisableTime-seconds":"Specified second is disabled",minutesStep:"Invalid minutes step"};import{jsx as eo}from"react/jsx-runtime";var ei=K(function(e,r){var t;var o;var i=e.parseError,a=e.name,s=e.required,p=e.rules,b=p===void 0?{}:p,y=e.inputProps,P=e.control,g=e.textReadOnly,x=e.slotProps,D=e.overwriteErrorMessages,w=e.inputRef,T=e.transform,O=u(e,["parseError","name","required","rules","inputProps","control","textReadOnly","slotProps","overwriteErrorMessages","inputRef","transform"]),C=er(),k=X(O),j=m(),E=i||j,S=n({},et,D),q=l(n({},b,s&&!b.required&&{required:"This field is required"}),{validate:n({internal:function(e){var r=h(C,e);if(!r)return!0;var t,o;var i=ee({props:n({disableFuture:!1,disablePast:!1,minTime:O.minTime,maxTime:O.maxTime,minutesStep:O.minutesStep,shouldDisableTime:O.shouldDisableTime,disableIgnoringDatePartForTimeValidation:O.disableIgnoringDatePartForTimeValidation},k),timezone:(o=(t=O.timezone)!==null&&t!==void 0?t:c(C,r))!==null&&o!==void 0?o:"default",value:e,adapter:C});return i==null||S[i]}},b.validate)}),R=Q({name:a,control:P,rules:q,disabled:O.disabled,defaultValue:null}),F=R.field,I=R.fieldState,M=I.error,A=v({value:F.value,onChange:F.onChange,transform:{input:typeof(T===null||T===void 0?void 0:T.input)=="function"?T.input:function(e){return h(C,e)},output:typeof(T===null||T===void 0?void 0:T.output)=="function"?T.output:function(e){return e}}}),B=A.value,V=A.onChange,z=W(F.ref,w),Y=y===null||y===void 0?void 0:(t=y.slotProps)===null||t===void 0?void 0:t.htmlInput,N=Y&&(typeof Y==="undefined"?"undefined":f(Y))=="object"&&"ref"in Y?Y.ref:void 0,U=W(z,N),G=l(n({},y),{required:s,error:!!M,helperText:M?typeof E=="function"?E(M):M.message:(o=y===null||y===void 0?void 0:y.helperText)!==null&&o!==void 0?o:O.helperText,slotProps:l(n({},y===null||y===void 0?void 0:y.slotProps),{htmlInput:l(n({},(typeof Y==="undefined"?"undefined":f(Y))=="object"&&Y!==null?Y:{}),{readOnly:g,ref:U})})});return eo(_,l(n({},O,F),{value:B,ref:r,onClose:function(){for(var e=arguments.length,r=new Array(e),t=0;t<e;t++){r[t]=arguments[t]}var o;F.onBlur(),O.onClose&&(o=O).onClose.apply(o,d(r))},onChange:function(e,r){V(e,r),typeof O.onChange=="function"&&O.onChange(e,r)},slotProps:l(n({},x),{textField:G})}))});ei.displayName="TimePickerElement";var en=ei;export{k as DatePickerElement,J as DateTimePickerElement,B as MobileDatePickerElement,en as TimePickerElement};//# sourceMappingURL=date-pickers.js.map