UNPKG

@react-awesome-query-builder/mui

Version:
51 lines 1.61 kB
import React from "react"; import Switch from "@mui/material/Switch"; import FormControlLabel from "@mui/material/FormControlLabel"; import IconButton from "@mui/material/IconButton"; import Button from "@mui/material/Button"; import LockOpenIcon from "@mui/icons-material/LockOpen"; import LockIcon from "@mui/icons-material/Lock"; export default (function (_ref) { var value = _ref.value, setValue = _ref.setValue, label = _ref.label, checkedLabel = _ref.checkedLabel, hideLabel = _ref.hideLabel, id = _ref.id, config = _ref.config, type = _ref.type; var renderSize = config.settings.renderSize; var onChange = function onChange(e) { return setValue(e.target.checked); }; var onClick = function onClick() { return setValue(!value); }; var postfix = type; var showLabel = value ? checkedLabel || label : label; var icon = value ? /*#__PURE__*/React.createElement(LockIcon, null) : /*#__PURE__*/React.createElement(LockOpenIcon, null); if (type == "lock") { if (hideLabel) { return /*#__PURE__*/React.createElement(IconButton, { key: id + postfix, onClick: onClick, size: "small" }, icon); } else { return /*#__PURE__*/React.createElement(Button, { key: id + postfix, onClick: onClick, size: "small", startIcon: icon }, showLabel); } } return /*#__PURE__*/React.createElement(FormControlLabel, { control: /*#__PURE__*/React.createElement(Switch, { checked: !!value, size: "small", onChange: onChange }), label: showLabel }); });