UNPKG

@react-awesome-query-builder/antd

Version:
40 lines 1.37 kB
import React, { useCallback } from "react"; import { Switch, Button } from "antd"; import { LockFilled, UnlockOutlined } from "@ant-design/icons"; 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 onSwitch = useCallback(function (switchValue) { return setValue(switchValue); }, [setValue]); var onClick = useCallback(function () { return setValue(!value); }, [setValue, value]); var postfix = type; var showLabel = hideLabel ? null : value ? checkedLabel || label : label; if (type === "lock") { return /*#__PURE__*/React.createElement(Button, { key: id + postfix, type: value ? "danger" : undefined, icon: value ? /*#__PURE__*/React.createElement(LockFilled, null) : /*#__PURE__*/React.createElement(UnlockOutlined, null), onClick: onClick, checked: !!value, size: renderSize }, showLabel); } return /*#__PURE__*/React.createElement(Switch, { key: id + postfix, checkedChildren: checkedLabel || label, unCheckedChildren: value ? checkedLabel || label : label, onChange: onSwitch, checked: !!value, size: renderSize }); });