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