@antv/s2-react-components
Version:
React components for S2
22 lines • 1.72 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.Switcher = void 0;
const tslib_1 = require("tslib");
const icons_1 = require("@ant-design/icons");
const s2_1 = require("@antv/s2");
const antd_1 = require("antd");
const classnames_1 = tslib_1.__importDefault(require("classnames"));
const react_1 = tslib_1.__importDefault(require("react"));
const content_1 = require("./content");
require("./index.less");
const util_1 = require("./util");
exports.Switcher = react_1.default.memo((_a) => {
var { title, icon, popover, disabled, children } = _a, otherProps = tslib_1.__rest(_a, ["title", "icon", "popover", "disabled", "children"]);
const [visible, setVisible] = react_1.default.useState(false);
const onToggleVisible = () => {
setVisible((prev) => !prev);
};
return (react_1.default.createElement(antd_1.Popover, Object.assign({ open: !disabled && visible, content: react_1.default.createElement(content_1.SwitcherContent, Object.assign({}, otherProps, { onToggleVisible: onToggleVisible })), onOpenChange: onToggleVisible, trigger: "click", placement: "bottomLeft", destroyTooltipOnHide: true }, popover, { overlayClassName: (0, classnames_1.default)((0, util_1.getSwitcherClassName)('switcher-overlay'), popover === null || popover === void 0 ? void 0 : popover.overlayClassName) }), children || (react_1.default.createElement(antd_1.Button, { className: (0, util_1.getSwitcherClassName)('entry-button'), size: "small", disabled: disabled, icon: icon || react_1.default.createElement(icons_1.SwapOutlined, { rotate: 90 }) }, title || (0, s2_1.i18n)('行列切换')))));
});
exports.Switcher.displayName = 'Switcher';
//# sourceMappingURL=switcher.js.map