UNPKG

@antv/s2-react-components

Version:

React components for S2

19 lines 1.41 kB
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