UNPKG

5.6 kBJavaScriptView Raw
1"use strict";
2
3var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
5var _typeof = require("@babel/runtime/helpers/typeof");
6
7Object.defineProperty(exports, "__esModule", {
8 value: true
9});
10exports["default"] = void 0;
11
12var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
13
14var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
15
16var React = _interopRequireWildcard(require("react"));
17
18var _classnames = _interopRequireDefault(require("classnames"));
19
20var _EllipsisOutlined = _interopRequireDefault(require("@ant-design/icons/EllipsisOutlined"));
21
22var _button = _interopRequireDefault(require("../button"));
23
24var _configProvider = require("../config-provider");
25
26var _dropdown = _interopRequireDefault(require("./dropdown"));
27
28function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
29
30function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
31
32var __rest = void 0 && (void 0).__rest || function (s, e) {
33 var t = {};
34
35 for (var p in s) {
36 if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
37 }
38
39 if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
40 if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
41 }
42 return t;
43};
44
45var ButtonGroup = _button["default"].Group;
46
47var DropdownButton = function DropdownButton(props) {
48 var _React$useContext = React.useContext(_configProvider.ConfigContext),
49 getContextPopupContainer = _React$useContext.getPopupContainer,
50 getPrefixCls = _React$useContext.getPrefixCls,
51 direction = _React$useContext.direction;
52
53 var customizePrefixCls = props.prefixCls,
54 type = props.type,
55 disabled = props.disabled,
56 onClick = props.onClick,
57 htmlType = props.htmlType,
58 children = props.children,
59 className = props.className,
60 overlay = props.overlay,
61 trigger = props.trigger,
62 align = props.align,
63 visible = props.visible,
64 onVisibleChange = props.onVisibleChange,
65 placement = props.placement,
66 getPopupContainer = props.getPopupContainer,
67 href = props.href,
68 _props$icon = props.icon,
69 icon = _props$icon === void 0 ? /*#__PURE__*/React.createElement(_EllipsisOutlined["default"], null) : _props$icon,
70 title = props.title,
71 buttonsRender = props.buttonsRender,
72 mouseEnterDelay = props.mouseEnterDelay,
73 mouseLeaveDelay = props.mouseLeaveDelay,
74 restProps = __rest(props, ["prefixCls", "type", "disabled", "onClick", "htmlType", "children", "className", "overlay", "trigger", "align", "visible", "onVisibleChange", "placement", "getPopupContainer", "href", "icon", "title", "buttonsRender", "mouseEnterDelay", "mouseLeaveDelay"]);
75
76 var prefixCls = getPrefixCls('dropdown-button', customizePrefixCls);
77 var dropdownProps = {
78 align: align,
79 overlay: overlay,
80 disabled: disabled,
81 trigger: disabled ? [] : trigger,
82 onVisibleChange: onVisibleChange,
83 getPopupContainer: getPopupContainer || getContextPopupContainer,
84 mouseEnterDelay: mouseEnterDelay,
85 mouseLeaveDelay: mouseLeaveDelay
86 };
87
88 if ('visible' in props) {
89 dropdownProps.visible = visible;
90 }
91
92 if ('placement' in props) {
93 dropdownProps.placement = placement;
94 } else {
95 dropdownProps.placement = direction === 'rtl' ? 'bottomLeft' : 'bottomRight';
96 }
97
98 var leftButton = /*#__PURE__*/React.createElement(_button["default"], {
99 type: type,
100 disabled: disabled,
101 onClick: onClick,
102 htmlType: htmlType,
103 href: href,
104 title: title
105 }, children);
106 var rightButton = /*#__PURE__*/React.createElement(_button["default"], {
107 type: type,
108 icon: icon
109 });
110
111 var _buttonsRender = buttonsRender([leftButton, rightButton]),
112 _buttonsRender2 = (0, _slicedToArray2["default"])(_buttonsRender, 2),
113 leftButtonToRender = _buttonsRender2[0],
114 rightButtonToRender = _buttonsRender2[1];
115
116 return /*#__PURE__*/React.createElement(ButtonGroup, (0, _extends2["default"])({}, restProps, {
117 className: (0, _classnames["default"])(prefixCls, className)
118 }), leftButtonToRender, /*#__PURE__*/React.createElement(_dropdown["default"], dropdownProps, rightButtonToRender));
119};
120
121DropdownButton.__ANT_BUTTON = true;
122DropdownButton.defaultProps = {
123 type: 'default',
124 buttonsRender: function buttonsRender(buttons) {
125 return buttons;
126 }
127};
128var _default = DropdownButton;
129exports["default"] = _default;
\No newline at end of file