mui-rhf-integration
Version:
React Hook Form integration for MUI with strict TypeScript handling based on form context.
71 lines (70 loc) • 1.66 kB
JavaScript
import { useController as e } from "react-hook-form";
import { jsx as t } from "react/jsx-runtime";
import { DatePicker as n, DateTimePicker as r, TimePicker as i } from "@mui/x-date-pickers";
//#region src/date-picker/RhfDatePicker.tsx
var a = ({ control: r, name: i, rules: a, slotProps: o, ...s }) => {
let { field: c, fieldState: l } = e({
control: r,
name: i,
rules: a
}), u = c.value ?? null;
return /* @__PURE__ */ t(n, {
...s,
onChange: c.onChange,
value: u,
inputRef: c.ref,
slotProps: {
...o,
textField: {
...o?.textField,
error: !!l.error,
onBlur: c.onBlur,
helperText: l.error?.message ?? o?.textField?.helperText
}
}
});
}, o = ({ control: n, name: i, rules: a, slotProps: o, ...s }) => {
let { field: c, fieldState: l } = e({
control: n,
name: i,
rules: a
}), u = c.value ?? null;
return /* @__PURE__ */ t(r, {
...s,
onChange: c.onChange,
value: u,
inputRef: c.ref,
slotProps: {
...o,
textField: {
...o?.textField,
error: !!l.error,
onBlur: c.onBlur,
helperText: l.error?.message ?? o?.textField?.helperText
}
}
});
}, s = ({ control: n, name: r, rules: a, slotProps: o, ...s }) => {
let { field: c, fieldState: l } = e({
control: n,
name: r,
rules: a
}), u = c.value ?? null;
return /* @__PURE__ */ t(i, {
...s,
onChange: c.onChange,
value: u,
inputRef: c.ref,
slotProps: {
...o,
textField: {
...o?.textField,
error: !!l.error,
onBlur: c.onBlur,
helperText: l.error?.message ?? o?.textField?.helperText
}
}
});
};
//#endregion
export { a as RhfDatePicker, o as RhfDateTimePicker, s as RhfTimePicker };