UNPKG

choerodon-ui

Version:

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

107 lines (86 loc) 4.46 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault")["default"]; var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard")["default"]; Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = void 0; var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty")); var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")); var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties")); var _react = _interopRequireWildcard(require("react")); var _classnames = _interopRequireDefault(require("classnames")); var _ButtonGroup = _interopRequireDefault(require("../../../lib/button/ButtonGroup")); var _ConfigContext = _interopRequireDefault(require("../../../lib/config-provider/ConfigContext")); var _Dropdown = _interopRequireDefault(require("./Dropdown")); var _interface = require("../button/interface"); var _button = _interopRequireDefault(require("../button")); var _enum = require("./enum"); var _excluded = ["prefixCls", "type", "disabled", "icon", "size", "funcType", "onClick", "children", "className", "overlay", "trigger", "align", "hidden", "buttonProps", "buttonGroupPrefixCls", "placement", "onHiddenChange", "getPopupContainer", "onOverlayClick", "onHiddenBeforeChange"]; 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 = (0, _objectWithoutProperties2["default"])(props, _excluded); var _useContext = (0, _react.useContext)(_ConfigContext["default"]), 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["default"].createElement(_ButtonGroup["default"], (0, _extends2["default"])({}, restProps, { prefixCls: buttonGroupPrefixCls, className: (0, _classnames["default"])("".concat(prefixCls, "-button"), className, (_classNames = {}, (0, _defineProperty2["default"])(_classNames, "".concat(prefixCls, "-button-raised"), !funcType || funcType === _interface.FuncType.raised), (0, _defineProperty2["default"])(_classNames, "".concat(prefixCls, "-button-flat"), funcType === _interface.FuncType.flat), _classNames)) }), /*#__PURE__*/_react["default"].createElement(_button["default"], (0, _extends2["default"])({}, buttonProps, { funcType: _interface.FuncType.flat, size: size, type: type, disabled: disabled, onClick: onClick }), children), /*#__PURE__*/_react["default"].createElement(_Dropdown["default"], (0, _extends2["default"])({}, dropdownProps), icon ? /*#__PURE__*/_react["default"].createElement(_button["default"], { funcType: _interface.FuncType.flat, size: size, disabled: dropdownProps.disabled }, icon) : /*#__PURE__*/_react["default"].createElement(_button["default"], { funcType: _interface.FuncType.flat, size: size, disabled: dropdownProps.disabled, icon: "arrow_drop_down" }))); }; DropdownButton.__PRO_DROPDOWN_BUTTON = true; DropdownButton.displayName = 'DropdownButton'; DropdownButton.defaultProps = { placement: _enum.Placements.bottomRight }; var _default = DropdownButton; exports["default"] = _default; //# sourceMappingURL=DropdownButton.js.map