UNPKG

mui-extended

Version:

Extended UI Components built on Material UI

23 lines (22 loc) 1.16 kB
import { __assign, __rest } from "tslib"; import { jsx as _jsx } from "react/jsx-runtime"; import { FormControlLabel, Switch } from "@mui/material"; import { useMemo } from "react"; import { withFormField } from "../FormField"; import { withFormInputControl } from "./FormInputControl"; var ControlledSwitch = function (_a) { var name = _a.name, value = _a.value, onChange = _a.onChange, onBlur = _a.onBlur, formControlLabelProps = _a.formControlLabelProps, props = __rest(_a, ["name", "value", "onChange", "onBlur", "formControlLabelProps"]); var _onChange = useMemo(function () { return function (event) { onChange(event.target.name, event.target.checked); }; }, [onChange]); var _onBlur = useMemo(function () { return function (event) { onBlur(event.target.name); }; }, [onBlur]); var control = (_jsx(Switch, __assign({}, props, { name: name, checked: value, onChange: _onChange, onBlur: _onBlur }))); return _jsx(FormControlLabel, __assign({ control: control }, formControlLabelProps)); }; export var FormSwitch = withFormField(withFormInputControl(ControlledSwitch));