UNPKG

@etsoo/materialui

Version:

TypeScript Material-UI Implementation

29 lines (28 loc) 856 B
import { jsx as _jsx } from "react/jsx-runtime"; import React from "react"; import { CustomFieldUtils } from "./CustomFieldUtils"; /** * Label field creator * type: label * @returns Component */ export const FieldLabel = ({ field, mref, defaultValue }) => { // State const [label, setLabel] = React.useState(); // Ref const getValue = () => label; const setValue = (value) => setLabel(`${value ?? ""}`); React.useImperativeHandle(mref, () => ({ getValue, setValue })); React.useEffect(() => { setLabel(field.label); }, [field.label]); React.useEffect(() => { if (defaultValue == null) return; setValue(defaultValue); }, [defaultValue]); return (_jsx(React.Fragment, { children: CustomFieldUtils.createMultilineLabel(label, field.mainSlotProps) })); };