mui-rhf-integration
Version:
React Hook Form integration for MUI with strict TypeScript handling based on form context.
94 lines (93 loc) • 2.1 kB
JavaScript
import { jsx as t } from "react/jsx-runtime";
import { DatePicker as m, DateTimePicker as T, TimePicker as c } from "@mui/x-date-pickers";
import { useController as i } from "react-hook-form";
const s = ({
control: u,
name: f,
rules: h,
textFieldProps: e,
...n
}) => {
var a;
const { field: r, fieldState: l } = i({ control: u, name: f, rules: h });
let o = r.value;
return o === void 0 && (o = null), /* @__PURE__ */ t(
m,
{
...n,
onChange: r.onChange,
value: o,
inputRef: r.ref,
slotProps: {
...n.slotProps,
textField: {
...e,
error: !!l.error,
onBlur: r.onBlur,
helperText: ((a = l.error) == null ? void 0 : a.message) ?? (e == null ? void 0 : e.helperText)
}
}
}
);
}, C = ({
control: u,
name: f,
rules: h,
textFieldProps: e,
...n
}) => {
var a;
const { field: r, fieldState: l } = i({ control: u, name: f, rules: h });
let o = r.value;
return o === void 0 && (o = null), /* @__PURE__ */ t(
T,
{
...n,
onChange: r.onChange,
value: o,
inputRef: r.ref,
slotProps: {
...n.slotProps,
textField: {
...e,
error: !!l.error,
onBlur: r.onBlur,
helperText: ((a = l.error) == null ? void 0 : a.message) ?? (e == null ? void 0 : e.helperText)
}
}
}
);
}, R = ({
control: u,
name: f,
rules: h,
textFieldProps: e,
...n
}) => {
var a;
const { field: r, fieldState: l } = i({ control: u, name: f, rules: h });
let o = r.value;
return o === void 0 && (o = null), /* @__PURE__ */ t(
c,
{
...n,
onChange: r.onChange,
value: o,
inputRef: r.ref,
slotProps: {
...n.slotProps,
textField: {
...e,
error: !!l.error,
onBlur: r.onBlur,
helperText: ((a = l.error) == null ? void 0 : a.message) ?? (e == null ? void 0 : e.helperText)
}
}
}
);
};
export {
s as RhfDatePicker,
C as RhfDateTimePicker,
R as RhfTimePicker
};