UNPKG

choerodon-ui

Version:

An enterprise-class UI design language and React-based implementation

84 lines (78 loc) 3.55 kB
import _defineProperty from "@babel/runtime/helpers/defineProperty"; import _extends from "@babel/runtime/helpers/extends"; import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties"; var _excluded = ["prefixCls", "type", "disabled", "icon", "size", "funcType", "onClick", "children", "className", "overlay", "trigger", "align", "hidden", "buttonProps", "buttonGroupPrefixCls", "placement", "onHiddenChange", "getPopupContainer", "onOverlayClick", "onHiddenBeforeChange"]; import React, { useContext } from 'react'; import classNames from 'classnames'; import ButtonGroup from '../../../es/button/ButtonGroup'; import ConfigContext from '../../../es/config-provider/ConfigContext'; import Dropdown from './Dropdown'; import { FuncType } from '../button/interface'; import Button from '../button'; import { Placements } from './enum'; var DropdownButton = function DropdownButton(props) { var _classNames; var customizePrefixCls = props.prefixCls, type = props.type, disabled = props.disabled, icon = props.icon, size = props.size, funcType = props.funcType, onClick = props.onClick, children = props.children, className = props.className, overlay = props.overlay, trigger = props.trigger, align = props.align, hidden = props.hidden, buttonProps = props.buttonProps, buttonGroupPrefixCls = props.buttonGroupPrefixCls, placement = props.placement, onHiddenChange = props.onHiddenChange, getPopupContainer = props.getPopupContainer, onOverlayClick = props.onOverlayClick, onHiddenBeforeChange = props.onHiddenBeforeChange, restProps = _objectWithoutProperties(props, _excluded); var _useContext = useContext(ConfigContext), getProPrefixCls = _useContext.getProPrefixCls; var prefixCls = getProPrefixCls('dropdown', customizePrefixCls); var dropdownProps = { prefixCls: prefixCls, align: align, overlay: overlay, hidden: hidden, disabled: disabled || buttonProps && buttonProps.loading, trigger: disabled ? [] : trigger, placement: placement, onHiddenChange: onHiddenChange, onHiddenBeforeChange: onHiddenBeforeChange, getPopupContainer: getPopupContainer, onOverlayClick: onOverlayClick }; return /*#__PURE__*/React.createElement(ButtonGroup, _extends({}, restProps, { prefixCls: buttonGroupPrefixCls, className: classNames("".concat(prefixCls, "-button"), className, (_classNames = {}, _defineProperty(_classNames, "".concat(prefixCls, "-button-raised"), !funcType || funcType === FuncType.raised), _defineProperty(_classNames, "".concat(prefixCls, "-button-flat"), funcType === FuncType.flat), _classNames)) }), /*#__PURE__*/React.createElement(Button, _extends({}, buttonProps, { funcType: FuncType.flat, size: size, type: type, disabled: disabled, onClick: onClick }), children), /*#__PURE__*/React.createElement(Dropdown, _extends({}, dropdownProps), icon ? /*#__PURE__*/React.createElement(Button, { funcType: FuncType.flat, size: size, disabled: dropdownProps.disabled }, icon) : /*#__PURE__*/React.createElement(Button, { funcType: FuncType.flat, size: size, disabled: dropdownProps.disabled, icon: "arrow_drop_down" }))); }; DropdownButton.__PRO_DROPDOWN_BUTTON = true; DropdownButton.displayName = 'DropdownButton'; DropdownButton.defaultProps = { placement: Placements.bottomRight }; export default DropdownButton; //# sourceMappingURL=DropdownButton.js.map