UNPKG

choerodon-ui

Version:

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

64 lines (57 loc) 2.21 kB
import _extends from "@babel/runtime/helpers/extends"; import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties"; import React, { memo, useContext } from 'react'; import classNames from 'classnames'; import Button from '../button'; import Icon from '../icon'; import Dropdown from './dropdown'; import ConfigContext from '../config-provider/ConfigContext'; var ButtonGroup = Button.Group; var DropdownButton = function DropdownButton(props) { var customizePrefixCls = props.prefixCls, type = props.type, disabled = props.disabled, onClick = props.onClick, children = props.children, className = props.className, overlay = props.overlay, trigger = props.trigger, align = props.align, visible = props.visible, onVisibleChange = props.onVisibleChange, placement = props.placement, getPopupContainer = props.getPopupContainer, restProps = _objectWithoutProperties(props, ["prefixCls", "type", "disabled", "onClick", "children", "className", "overlay", "trigger", "align", "visible", "onVisibleChange", "placement", "getPopupContainer"]); var _useContext = useContext(ConfigContext), getPrefixCls = _useContext.getPrefixCls; var prefixCls = getPrefixCls('dropdown-button', customizePrefixCls); var dropdownProps = { align: align, overlay: overlay, disabled: disabled, trigger: disabled ? [] : trigger, onVisibleChange: onVisibleChange, placement: placement, getPopupContainer: getPopupContainer }; if ('visible' in props) { dropdownProps.visible = visible; } return React.createElement(ButtonGroup, _extends({}, restProps, { className: classNames(prefixCls, className) }), React.createElement(Button, { type: type, disabled: disabled, onClick: onClick }, children), React.createElement(Dropdown, _extends({}, dropdownProps), React.createElement(Button, { type: type }, React.createElement(Icon, { type: "arrow_drop_down" })))); }; DropdownButton.displayName = 'DropdownButton'; DropdownButton.defaultProps = { placement: 'bottomRight' }; export default memo(DropdownButton); //# sourceMappingURL=dropdown-button.js.map