@ant-design/pro-layout
Version:
41 lines (39 loc) • 1.53 kB
JavaScript
import "antd/es/tooltip/style";
import _Tooltip from "antd/es/tooltip";
import React, { useMemo } from 'react';
import { CheckOutlined } from '@ant-design/icons';
import classNames from 'classnames';
var BlockCheckbox = function BlockCheckbox(_ref) {
var value = _ref.value,
configType = _ref.configType,
onChange = _ref.onChange,
list = _ref.list,
prefixCls = _ref.prefixCls;
var baseClassName = "".concat(prefixCls, "-drawer-block-checkbox");
var dom = useMemo(function () {
var domList = (list || []).map(function (item) {
return /*#__PURE__*/React.createElement(_Tooltip, {
title: item.title,
key: item.key
}, /*#__PURE__*/React.createElement("div", {
className: classNames("".concat(baseClassName, "-item"), "".concat(baseClassName, "-item-").concat(item.key), "".concat(baseClassName, "-").concat(configType, "-item")),
onClick: function onClick() {
return onChange(item.key);
}
}, /*#__PURE__*/React.createElement(CheckOutlined, {
className: "".concat(baseClassName, "-selectIcon"),
style: {
display: value === item.key ? 'block' : 'none'
}
})));
});
return domList; // eslint-disable-next-line react-hooks/exhaustive-deps
}, [value, list === null || list === void 0 ? void 0 : list.length, onChange]);
return /*#__PURE__*/React.createElement("div", {
className: baseClassName,
style: {
minHeight: 42
}
}, dom);
};
export default BlockCheckbox;