UNPKG

@wordpress/components

Version:
37 lines (36 loc) 1.25 kB
// packages/components/src/validated-form-controls/components/toggle-control.tsx import { forwardRef, useRef, useEffect } from "@wordpress/element"; import { useMergeRefs } from "@wordpress/compose"; import { ControlWithError } from "../control-with-error"; import ToggleControl from "../../toggle-control"; import { jsx as _jsx } from "react/jsx-runtime"; var UnforwardedValidatedToggleControl = ({ required, customValidity, markWhenOptional, ...restProps }, forwardedRef) => { const validityTargetRef = useRef(null); const mergedRefs = useMergeRefs([forwardedRef, validityTargetRef]); useEffect(() => { if (validityTargetRef.current) { validityTargetRef.current.required = required !== null && required !== void 0 ? required : false; } }, [required]); return /* @__PURE__ */ _jsx(ControlWithError, { required, markWhenOptional, customValidity, getValidityTarget: () => validityTargetRef.current, children: /* @__PURE__ */ _jsx(ToggleControl, { __nextHasNoMarginBottom: true, ref: mergedRefs, ...restProps }) }); }; var ValidatedToggleControl = forwardRef(UnforwardedValidatedToggleControl); export { ValidatedToggleControl }; //# sourceMappingURL=toggle-control.js.map