@hi-ui/dropdown 4.0.0-alpha.1 → 4.0.0-alpha.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,11 +1,63 @@
1
- # `@hi-ui/dropdown`
1
+ # Dropdown 下拉菜单
2
2
 
3
- > TODO: description
3
+ 用来将菜单收起在下拉面板中,使用中唤起面板,有效节省空间
4
4
 
5
- ## Usage
5
+ ## 何时使用
6
6
 
7
- ```
8
- const Dropdown = require('@hi-ui/dropdown');
7
+ 有二级以上的菜单且展示空间有限
9
8
 
10
- // TODO: DEMONSTRATE API
11
- ```
9
+ 当一组平级的动作要展示时,将其收入一个入口,可让页面信息更整洁
10
+
11
+ ## 使用示例
12
+
13
+ <!-- Inject Stories -->
14
+
15
+ ## Props
16
+
17
+ | 参数 | 说明 | 类型 | 可选值 | 默认值 |
18
+ | ---------------- | --------------------------------------- | ------------------- | ----------------------------------- | ------- |
19
+ | data | 下拉菜单数据项 | DataItem [] | - | - |
20
+ | title | 下拉菜单显示标题的内容 | ReactNode | - | - |
21
+ | type | 下拉菜单按钮类型 | string | 'text' \| 'button' \| 'group' | 'text' |
22
+ | trigger | 下拉菜单触发方式 | string \| string [] | 'click' \| 'contextmenu' \| 'hover' | 'hover' |
23
+ | disabled | 是否禁用下拉菜单 | boolean | true \| false | - |
24
+ | width | 菜单项宽度 | number | - | 180 |
25
+ | overlayClassName | 下拉根元素的类名称 | string | - | - |
26
+ | overlay | 自定义控制弹出层 popper 行为 | PopperOverlayProps | - | - |
27
+ | children | 自定义下拉菜单触发按钮,优先级大于 type | ReactElement | - | - |
28
+
29
+ > 注意:自定义按钮需要支持 ref 获取元素 dom 引用 以及 trigger 对应的事件:
30
+ >
31
+ > hover: onMouseEnter \ onMouseLeave
32
+ > click: onClick
33
+ > contextmenu: onContextMenu
34
+
35
+ ## Events
36
+
37
+ | 名称 | 说明 | 类型 | 参数 | 返回值 |
38
+ | ------------- | --------------------------------------------- | --------------------------- | ------------------- | ------ |
39
+ | onClick | 点击后的回调 | (id: ReactText) => void | id: 点击的数据项 ID | - |
40
+ | onButtonClick | 点击左侧按钮的回调,仅在 type 为 group 时有效 | (event: MouseEvent) => void | event: 鼠标事件对象 | - |
41
+
42
+ ## Type
43
+
44
+ ### DataItem
45
+
46
+ | 参数 | 说明 | 类型 | 可选值 | 默认值 |
47
+ | -------- | --------------------------------------------- | --------- | ---------------------------------------------- | ------ |
48
+ | title | 标题的内容,设置为 `'-'` 时是分割线 | ReactNode | - | - |
49
+ | id | 唯一标识 id | ReactText | - | - |
50
+ | disabled | 是否禁用 | boolean | true \| false | false |
51
+ | href | 点击跳转的路径 | string | - | - |
52
+ | target | 同 a 标签的 target 属性,仅在设置 href 后有效 | string | '\_self' \| '\_blank' \| '\_parent' \| '\_top' | - |
53
+
54
+ ## CHANGELOG
55
+
56
+ | 参数 | 变更类型 | 变更内容 | 解决的问题 |
57
+ | -------- | ------------------------------- | ------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------- |
58
+ | propName | feature \| deprecated \| update | 变更了什么 | 之前是什么样子,解决什么问题 |
59
+ | ---- | ---- | ---- | ---- |
60
+ | children | feature | 自定义下拉菜单触发按钮 | 功能强化 |
61
+ | popper | feature | 字段 placement -> popper | Picker 类型组件统一支持,聚合管理。比如: placement arrow container disablePortal 等,之前有的加了有的没加 |
62
+ | id | update | 对于表单控件 id 值的控制,均使用 ReactText(即 string 和 number 都支持) | 之前是 string 类型 |
63
+ | data | update | 添加 { type: } | 扩展分割线 |
@@ -51,7 +51,12 @@ var _prefix = classname.getPrefixCls(_role);
51
51
 
52
52
  var DEFAULT_DATA = [];
53
53
  /**
54
- * TODO: What is Dropdown
54
+ * 下拉菜单
55
+ *
56
+ * TODO:
57
+ * 1. 支持自定义icon
58
+ * 2. 支持 titleRender
59
+ * 3. 支持 onClick 阻止默认行为关闭
55
60
  */
56
61
 
57
62
  var Dropdown = /*#__PURE__*/React.forwardRef(function (_a, ref) {
@@ -60,6 +65,7 @@ var Dropdown = /*#__PURE__*/React.forwardRef(function (_a, ref) {
60
65
  _a$role = _a.role,
61
66
  role = _a$role === void 0 ? _role : _a$role,
62
67
  className = _a.className,
68
+ triggerButton = _a.children,
63
69
  _a$data = _a.data,
64
70
  data = _a$data === void 0 ? DEFAULT_DATA : _a$data,
65
71
  title = _a.title,
@@ -83,14 +89,12 @@ var Dropdown = /*#__PURE__*/React.forwardRef(function (_a, ref) {
83
89
  var dig = function dig(treeData) {
84
90
  return treeData.map(function (item) {
85
91
  var menu = typeAssertion.isArrayNonEmpty(item.children) ? /*#__PURE__*/React__default['default'].createElement(DropdownMenu, {
86
- popper: {
92
+ overlay: {
87
93
  gutterGap: 16
88
94
  }
89
- }, dig(item.children)) : null; // TODO: remove it
90
-
91
- var shouldRenderDivider = item.title === '-';
95
+ }, dig(item.children)) : null;
92
96
 
93
- if (shouldRenderDivider) {
97
+ if (item.split) {
94
98
  return /*#__PURE__*/React__default['default'].createElement("li", {
95
99
  key: item.id,
96
100
  className: prefixCls + "-divider"
@@ -115,24 +119,41 @@ var Dropdown = /*#__PURE__*/React.forwardRef(function (_a, ref) {
115
119
  });
116
120
  };
117
121
 
122
+ var renderButton = function renderButton() {
123
+ if (triggerButton) {
124
+ // @ts-ignore
125
+ return /*#__PURE__*/React.cloneElement(triggerButton, getTriggerProps(triggerButton.props, triggerButton.ref));
126
+ }
127
+
128
+ if (type === 'text' || type === 'button') {
129
+ return /*#__PURE__*/React__default['default'].createElement(Button__default['default'], Object.assign({}, getTriggerProps(), {
130
+ appearance: type === 'button' ? 'filled' : 'link'
131
+ }), title, /*#__PURE__*/React__default['default'].createElement(icons.DownOutlined, {
132
+ style: {
133
+ marginInlineStart: 2
134
+ }
135
+ }));
136
+ }
137
+
138
+ if (type === 'group') {
139
+ return /*#__PURE__*/React__default['default'].createElement(Button.ButtonGroup, null, /*#__PURE__*/React__default['default'].createElement(Button__default['default'], {
140
+ onClick: onButtonClick
141
+ }, title), /*#__PURE__*/React__default['default'].createElement(Button__default['default'], Object.assign({
142
+ className: classname.cx(prefixCls + "__icon", prefixCls + "__icon-btn-wrap")
143
+ }, getTriggerProps()), /*#__PURE__*/React__default['default'].createElement(icons.DownOutlined, null)));
144
+ }
145
+
146
+ return null;
147
+ };
148
+
118
149
  return /*#__PURE__*/React__default['default'].createElement(context.DropDownProvider, {
119
150
  value: providedValue
120
151
  }, /*#__PURE__*/React__default['default'].createElement("div", Object.assign({
121
152
  ref: ref,
122
153
  role: role,
123
154
  className: cls
124
- }, rootProps), type === 'text' || type === 'button' ? /*#__PURE__*/React__default['default'].createElement(Button__default['default'], Object.assign({}, getTriggerProps(), {
125
- appearance: type === 'button' ? 'flat' : 'link'
126
- }), title, /*#__PURE__*/React__default['default'].createElement(icons.DownOutlined, {
127
- style: {
128
- marginInlineStart: 2
129
- }
130
- })) : null, type === 'group' ? /*#__PURE__*/React__default['default'].createElement(Button.ButtonGroup, null, /*#__PURE__*/React__default['default'].createElement(Button__default['default'], {
131
- onClick: onButtonClick
132
- }, title), /*#__PURE__*/React__default['default'].createElement(Button__default['default'], Object.assign({
133
- className: classname.cx(prefixCls + "__icon", prefixCls + "__icon-btn-wrap")
134
- }, getTriggerProps()), /*#__PURE__*/React__default['default'].createElement(icons.DownOutlined, null))) : null, typeAssertion.isArrayNonEmpty(data) ? /*#__PURE__*/React__default['default'].createElement(DropdownMenu, Object.assign({}, getMenuProps({
135
- popper: {
155
+ }, rootProps), renderButton(), typeAssertion.isArrayNonEmpty(data) ? /*#__PURE__*/React__default['default'].createElement(DropdownMenu, Object.assign({}, getMenuProps({
156
+ overlay: {
136
157
  disabledPortal: false,
137
158
  className: overlayClassName
138
159
  }
@@ -143,51 +164,22 @@ if (env.__DEV__) {
143
164
  Dropdown.displayName = 'Dropdown';
144
165
  }
145
166
 
146
- var dropdownButtonPrefix = classname.getPrefixCls('dropdown-button');
147
- /**
148
- * TODO: What is DropdownButton
149
- */
150
-
151
- var DropdownButton = /*#__PURE__*/React.forwardRef(function (_a, ref) {
152
- var _a$prefixCls2 = _a.prefixCls,
153
- prefixCls = _a$prefixCls2 === void 0 ? dropdownButtonPrefix : _a$prefixCls2,
154
- _a$role2 = _a.role,
155
- role = _a$role2 === void 0 ? _role : _a$role2,
156
- className = _a.className,
157
- children = _a.children,
158
- rest = tslib.__rest(_a, ["prefixCls", "role", "className", "children"]);
159
-
160
- var _useDropDownContext = context.useDropDownContext(),
161
- getTriggerProps = _useDropDownContext.getTriggerProps;
162
-
163
- var triggerProps = getTriggerProps();
164
- var cls = classname.cx(prefixCls, className);
165
- return /*#__PURE__*/React__default['default'].createElement("div", Object.assign({
166
- role: role,
167
- className: cls
168
- }, rest, triggerProps), children);
169
- });
170
-
171
- if (env.__DEV__) {
172
- DropdownButton.displayName = 'DropdownButton';
173
- }
174
-
175
167
  var dropdownMenuPrefix = classname.getPrefixCls('dropdown-menu');
176
168
  /**
177
169
  * TODO: What is DropdownMenu
178
170
  */
179
171
 
180
172
  var DropdownMenu = /*#__PURE__*/React.forwardRef(function (_a, ref) {
181
- var _a$prefixCls3 = _a.prefixCls,
182
- prefixCls = _a$prefixCls3 === void 0 ? dropdownMenuPrefix : _a$prefixCls3,
183
- popper$1 = _a.popper,
173
+ var _a$prefixCls2 = _a.prefixCls,
174
+ prefixCls = _a$prefixCls2 === void 0 ? dropdownMenuPrefix : _a$prefixCls2,
175
+ overlay = _a.overlay,
184
176
  parents = _a.parents,
185
177
  className = _a.className,
186
178
  children = _a.children,
187
- rest = tslib.__rest(_a, ["prefixCls", "role", "popper", "parents", "className", "children"]);
179
+ rest = tslib.__rest(_a, ["prefixCls", "role", "overlay", "parents", "className", "children"]);
188
180
 
189
181
  var cls = classname.cx(prefixCls, className);
190
- return /*#__PURE__*/React__default['default'].createElement(popper.PopperPortal, Object.assign({}, popper$1), /*#__PURE__*/React__default['default'].createElement("ul", Object.assign({
182
+ return /*#__PURE__*/React__default['default'].createElement(popper.PopperPortal, Object.assign({}, overlay), /*#__PURE__*/React__default['default'].createElement("ul", Object.assign({
191
183
  ref: ref,
192
184
  className: cls
193
185
  }, rest), children ? React__default['default'].Children.map(children, function (child) {
@@ -207,8 +199,8 @@ var dropdownMenuItemPrefix = classname.getPrefixCls('dropdown-menu-item');
207
199
  */
208
200
 
209
201
  var DropdownMenuItem = /*#__PURE__*/React.forwardRef(function (_a, ref) {
210
- var _a$prefixCls4 = _a.prefixCls,
211
- prefixCls = _a$prefixCls4 === void 0 ? dropdownMenuItemPrefix : _a$prefixCls4,
202
+ var _a$prefixCls3 = _a.prefixCls,
203
+ prefixCls = _a$prefixCls3 === void 0 ? dropdownMenuItemPrefix : _a$prefixCls3,
212
204
  className = _a.className,
213
205
  children = _a.children,
214
206
  href = _a.href,
@@ -218,12 +210,12 @@ var DropdownMenuItem = /*#__PURE__*/React.forwardRef(function (_a, ref) {
218
210
  menu = _a.menu,
219
211
  rest = tslib.__rest(_a, ["prefixCls", "role", "className", "children", "href", "value", "target", "disabled", "parents", "menu"]);
220
212
 
221
- var _useDropDownContext2 = context.useDropDownContext(),
222
- triggerMethods = _useDropDownContext2.triggerMethods,
223
- width = _useDropDownContext2.width;
213
+ var _useDropDownContext = context.useDropDownContext(),
214
+ triggerMethods = _useDropDownContext.triggerMethods,
215
+ width = _useDropDownContext.width;
224
216
 
225
217
  var _useDropdown = useDropdown.useDropdown(Object.assign(Object.assign({
226
- popper: {
218
+ overlay: {
227
219
  placement: 'right-start',
228
220
  disabledPortal: true
229
221
  },
@@ -232,11 +224,12 @@ var DropdownMenuItem = /*#__PURE__*/React.forwardRef(function (_a, ref) {
232
224
  trigger: triggerMethods,
233
225
  parents: parentsProp
234
226
  })),
227
+ menuVisible = _useDropdown.menuVisible,
235
228
  rootProps = _useDropdown.rootProps,
236
229
  getTriggerProps = _useDropdown.getTriggerProps,
237
230
  getMenuProps = _useDropdown.getMenuProps;
238
231
 
239
- var cls = classname.cx(prefixCls, className);
232
+ var cls = classname.cx(prefixCls, className, menuVisible && prefixCls + "--active");
240
233
  var shouldUseLink = href && !disabled;
241
234
  return /*#__PURE__*/React__default['default'].createElement("li", Object.assign({
242
235
  ref: ref,
@@ -247,7 +240,9 @@ var DropdownMenuItem = /*#__PURE__*/React.forwardRef(function (_a, ref) {
247
240
  className: prefixCls + "__link",
248
241
  href: href,
249
242
  target: target
250
- }, children) : children), menu ? /*#__PURE__*/React.cloneElement(menu, Object.assign({}, getMenuProps(menu.props))) : null);
243
+ }, children) : children, menu ? /*#__PURE__*/React__default['default'].createElement("span", {
244
+ className: prefixCls + "__arrow"
245
+ }, /*#__PURE__*/React__default['default'].createElement(icons.DownOutlined, null)) : null), menu ? /*#__PURE__*/React.cloneElement(menu, Object.assign({}, getMenuProps(menu.props))) : null);
251
246
  });
252
247
 
253
248
  if (env.__DEV__) {
@@ -1 +1 @@
1
- {"version":3,"file":"Dropdown.js","sources":["../../src/Dropdown.tsx"],"sourcesContent":[null],"names":["_role","_prefix","getPrefixCls","DEFAULT_DATA","Dropdown","forwardRef","_a","ref","prefixCls","role","className","data","title","type","onClick","onButtonClick","overlayClassName","rest","_b","useDropdown","rootProps","providedValue","getMenuProps","getTriggerProps","disabled","menuVisibleAction","cls","cx","dig","treeData","map","item","menu","isArrayNonEmpty","children","React","DropdownMenu","popper","gutterGap","shouldRenderDivider","key","id","DropdownMenuItem","href","target","value","isArray","off","DropDownProvider","Button","appearance","DownOutlined","style","marginInlineStart","ButtonGroup","disabledPortal","__DEV__","displayName","dropdownButtonPrefix","DropdownButton","useDropDownContext","triggerProps","dropdownMenuPrefix","parents","PopperPortal","Children","child","cloneElement","dropdownMenuItemPrefix","parentsProp","triggerMethods","width","placement","trigger","shouldUseLink","props"],"mappings":"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"}
1
+ {"version":3,"file":"Dropdown.js","sources":["../../src/Dropdown.tsx"],"sourcesContent":[null],"names":["_role","_prefix","getPrefixCls","DEFAULT_DATA","Dropdown","forwardRef","_a","ref","prefixCls","role","className","triggerButton","children","data","title","type","onClick","onButtonClick","overlayClassName","rest","_b","useDropdown","rootProps","providedValue","getMenuProps","getTriggerProps","disabled","menuVisibleAction","cls","cx","dig","treeData","map","item","menu","isArrayNonEmpty","React","DropdownMenu","overlay","gutterGap","split","key","id","DropdownMenuItem","href","target","value","isArray","off","renderButton","cloneElement","props","Button","appearance","DownOutlined","style","marginInlineStart","ButtonGroup","DropDownProvider","disabledPortal","__DEV__","displayName","dropdownMenuPrefix","parents","PopperPortal","Children","child","dropdownMenuItemPrefix","parentsProp","useDropDownContext","triggerMethods","width","placement","trigger","menuVisible","shouldUseLink"],"mappings":"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"}
@@ -12,7 +12,7 @@
12
12
  Object.defineProperty(exports, '__esModule', {
13
13
  value: true
14
14
  });
15
- var css_248z = "@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n.hi-v4-dropdown-menu {\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n background-color: #fff;\n background-color: var(--hi-v4-color-static-white, #fff);\n border-radius: 4px;\n border-radius: var(--hi-v4-border-radius-normal, 4px);\n font-size: 0.875rem;\n font-size: var(--hi-v4-text-size-normal, 0.875rem);\n padding: 8px;\n padding: var(--hi-v4-spacing-4, 8px);\n color: #1f2733;\n color: var(--hi-v4-color-gray-700, #1f2733); }\n.hi-v4-dropdown-menu-item {\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n list-style: none;\n width: 200px;\n width: var(--hi-v4-dropdown-menu-item-width, 200px);\n margin: 0;\n box-sizing: border-box;\n overflow: visible; }\n.hi-v4-dropdown-menu-item__link {\n color: #1f2733;\n color: var(--hi-v4-color-gray-700, #1f2733);\n width: 100%;\n text-decoration: none;\n -webkit-box-sizing: border-box;\n box-sizing: border-box; }\n.hi-v4-dropdown-menu-item__trigger {\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n width: 100%;\n height: 100%;\n cursor: pointer;\n border-radius: 4px;\n border-radius: var(--hi-v4-border-radius-normal, 4px);\n padding: 10px 12px;\n padding: var(--hi-v4-spacing-5, 10px) var(--hi-v4-spacing-6, 12px);\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center; }\n.hi-v4-dropdown-menu-item__trigger:hover {\n background-color: #f2f4f7;\n background-color: var(--hi-v4-color-gray-100, #f2f4f7); }\n.hi-v4-dropdown-divider {\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n list-style: none;\n background-color: #ebedf0;\n background-color: var(--hi-v4-color-gray-200, #ebedf0);\n width: 100%;\n height: 1px;\n margin: 8px 0;\n margin: var(--hi-v4-spacing-4, 8px) 0; }\n";
15
+ var css_248z = "@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n.hi-v4-dropdown {\n display: inline-block; }\n.hi-v4-dropdown-menu {\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n background-color: #fff;\n background-color: var(--hi-v4-color-static-white, #fff);\n border-radius: 4px;\n border-radius: var(--hi-v4-border-radius-normal, 4px);\n font-size: 0.875rem;\n font-size: var(--hi-v4-text-size-normal, 0.875rem);\n padding: 8px;\n padding: var(--hi-v4-spacing-4, 8px);\n color: #1f2733;\n color: var(--hi-v4-color-gray-700, #1f2733);\n width: 180px;\n width: var(--hi-v4-dropdown-menu-width, 180px); }\n.hi-v4-dropdown-menu-item {\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n list-style: none;\n margin: 0;\n box-sizing: border-box;\n overflow: visible;\n padding: 4px 0;\n padding: var(--hi-v4-spacing-2, 4px) 0; }\n.hi-v4-dropdown-menu-item__link {\n color: #1f2733;\n color: var(--hi-v4-color-gray-700, #1f2733);\n width: 100%;\n text-decoration: none;\n -webkit-box-sizing: border-box;\n box-sizing: border-box; }\n.hi-v4-dropdown-menu-item__arrow {\n -webkit-transform: rotate(-90deg);\n transform: rotate(-90deg); }\n.hi-v4-dropdown-menu-item__trigger {\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n width: 100%;\n height: 100%;\n cursor: pointer;\n border-radius: 4px;\n border-radius: var(--hi-v4-border-radius-normal, 4px);\n padding: 8px 12px;\n padding: var(--hi-v4-spacing-4, 8px) var(--hi-v4-spacing-6, 12px);\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-pack: justify;\n -ms-flex-pack: justify;\n justify-content: space-between; }\n.hi-v4-dropdown-menu-item__trigger:hover {\n background-color: #f2f4f7;\n background-color: var(--hi-v4-color-gray-100, #f2f4f7); }\n.hi-v4-dropdown-menu-item--active > .hi-v4-dropdown-menu-item__trigger {\n background-color: #f2f4f7;\n background-color: var(--hi-v4-color-gray-100, #f2f4f7); }\n.hi-v4-dropdown-divider {\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n list-style: none;\n background-color: #ebedf0;\n background-color: var(--hi-v4-color-gray-200, #ebedf0);\n width: 100%;\n height: 1px;\n margin: 8px 0;\n margin: var(--hi-v4-spacing-4, 8px) 0; }\n";
16
16
 
17
17
  var __styleInject__ = require('style-inject/dist/style-inject.es.js')["default"];
18
18
 
@@ -33,6 +33,10 @@ var classname = require('@hi-ui/classname');
33
33
 
34
34
  var reactUtils = require('@hi-ui/react-utils');
35
35
 
36
+ var domUtils = require('@hi-ui/dom-utils');
37
+
38
+ var typeAssertion = require('@hi-ui/type-assertion');
39
+
36
40
  var NOOP_ARRAY = [];
37
41
 
38
42
  var useDropdown = function useDropdown(props) {
@@ -43,8 +47,8 @@ var useDropdown = function useDropdown(props) {
43
47
  _props$parents = props.parents,
44
48
  parents = _props$parents === void 0 ? NOOP_ARRAY : _props$parents,
45
49
  width = props.width,
46
- popper = props.popper,
47
- rest = tslib.__rest(props, ["trigger", "disabled", "parents", "width", "popper"]);
50
+ overlay = props.overlay,
51
+ rest = tslib.__rest(props, ["trigger", "disabled", "parents", "width", "overlay"]);
48
52
 
49
53
  var triggerElementRef = React.useRef(null);
50
54
  var popperElementRef = React.useRef(null);
@@ -102,41 +106,47 @@ var useDropdown = function useDropdown(props) {
102
106
  hoveringRef.current = true;
103
107
  startOpenTimer();
104
108
  });
105
- /**
106
- * 事件收集
107
- * 'click' | 'contextmenu' | 'hover'
108
- */
109
+ var getTriggerProps = React.useCallback(function (props, ref) {
110
+ if (props === void 0) {
111
+ props = {};
112
+ }
109
113
 
110
- var eventHandler = React.useMemo(function () {
111
- return triggerMethods.reduce(function (acc, cur) {
114
+ if (ref === void 0) {
115
+ ref = null;
116
+ }
117
+
118
+ var triggerProps = {
119
+ ref: reactUtils.mergeRefs(triggerElementRef, ref),
120
+ disabled: disabled
121
+ };
122
+ /**
123
+ * 事件收集
124
+ * 'click' | 'contextmenu' | 'hover'
125
+ */
126
+
127
+ triggerMethods.reduce(function (acc, cur) {
112
128
  switch (cur) {
113
129
  case types.TriggerActionEnum.HOVER:
114
- acc.onMouseEnter = handlePopperEnter;
115
- acc.onMouseLeave = handlePopperLeave;
130
+ acc.onMouseEnter = domUtils.mockDefaultHandlers(props.onMouseEnter, handlePopperEnter);
131
+ acc.onMouseLeave = domUtils.mockDefaultHandlers(props.onMouseLeave, handlePopperLeave);
116
132
  break;
117
133
 
118
134
  case types.TriggerActionEnum.CONTEXTMENU:
119
- acc.onContextMenu = function (evt) {
135
+ acc.onContextMenu = domUtils.mockDefaultHandlers(props.onContextMenu, function (evt) {
120
136
  evt.preventDefault();
121
137
  menuVisibleAction.not();
122
- };
123
-
138
+ });
124
139
  break;
125
140
 
126
141
  case types.TriggerActionEnum.CLICK:
127
- acc.onClick = menuVisibleAction.not;
142
+ acc.onClick = domUtils.mockDefaultHandlers(props.onClick, menuVisibleAction.not);
128
143
  break;
129
144
  }
130
145
 
131
146
  return acc;
132
- }, {});
133
- }, [triggerMethods, menuVisibleAction, handlePopperEnter, handlePopperLeave]);
134
- var getTriggerProps = React.useCallback(function () {
135
- return Object.assign({
136
- ref: triggerElementRef,
137
- disabled: disabled
138
- }, eventHandler);
139
- }, [eventHandler, disabled]);
147
+ }, triggerProps);
148
+ return triggerProps;
149
+ }, [disabled, triggerMethods, menuVisibleAction, handlePopperEnter, handlePopperLeave]);
140
150
  var rootProps = rest;
141
151
  var getMenuProps = useLatest.useLatestCallback(function (props, ref) {
142
152
  var _Object$assign;
@@ -153,8 +163,8 @@ var useDropdown = function useDropdown(props) {
153
163
  var menuProps = Object.assign(Object.assign({}, props), {
154
164
  ref: reactUtils.mergeRefs(popperElementRef, ref),
155
165
  parents: menuParents,
156
- style: Object.assign(Object.assign({}, props.style), (_Object$assign = {}, _Object$assign[classname.getPrefixStyleVar('dropdown-menu-item-width')] = width + "px", _Object$assign)),
157
- popper: Object.assign(Object.assign(Object.assign({}, popper), props.popper), {
166
+ style: Object.assign(Object.assign({}, props.style), (_Object$assign = {}, _Object$assign[classname.getPrefixStyleVar('dropdown-menu-width')] = typeAssertion.isNumeric(width) ? width + 'px' : width, _Object$assign)),
167
+ overlay: Object.assign(Object.assign(Object.assign({}, overlay), props.overlay), {
158
168
  closeOnOutsideClick: true,
159
169
  visible: menuVisible,
160
170
  attachEl: triggerElementRef.current,
@@ -1 +1 @@
1
- {"version":3,"file":"use-dropdown.js","sources":["../../src/use-dropdown.tsx"],"sourcesContent":[null],"names":["NOOP_ARRAY","useDropdown","props","trigger","triggerProp","TriggerActionEnum","HOVER","disabled","parents","width","popper","rest","triggerElementRef","useRef","popperElementRef","normalizeTrigger","triggerMethods","useMemo","useUncontrolledToggle","defaultVisible","menuVisible","menuVisibleAction","hoveringRef","useTimeout","on","startOpenTimer","start","clearOpenTimer","clear","current","off","startCloseTimer","clearCloseTimer","clearToggleTimer","useCallback","useUnmountEffect","handlePopperLeave","useLatestCallback","evt","handlePopperEnter","eventHandler","reduce","acc","cur","onMouseEnter","onMouseLeave","CONTEXTMENU","onContextMenu","preventDefault","not","CLICK","onClick","getTriggerProps","ref","rootProps","getMenuProps","menuParents","concat","menuProps","mergeRefs","style","getPrefixStyleVar","closeOnOutsideClick","visible","attachEl","onClose","includes"],"mappings":"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"}
1
+ {"version":3,"file":"use-dropdown.js","sources":["../../src/use-dropdown.tsx"],"sourcesContent":[null],"names":["NOOP_ARRAY","useDropdown","props","trigger","triggerProp","TriggerActionEnum","HOVER","disabled","parents","width","overlay","rest","triggerElementRef","useRef","popperElementRef","normalizeTrigger","triggerMethods","useMemo","useUncontrolledToggle","defaultVisible","menuVisible","menuVisibleAction","hoveringRef","useTimeout","on","startOpenTimer","start","clearOpenTimer","clear","current","off","startCloseTimer","clearCloseTimer","clearToggleTimer","useCallback","useUnmountEffect","handlePopperLeave","useLatestCallback","evt","handlePopperEnter","getTriggerProps","ref","triggerProps","mergeRefs","reduce","acc","cur","onMouseEnter","mockDefaultHandlers","onMouseLeave","CONTEXTMENU","onContextMenu","preventDefault","not","CLICK","onClick","rootProps","getMenuProps","menuParents","concat","menuProps","style","getPrefixStyleVar","isNumeric","closeOnOutsideClick","visible","attachEl","onClose","includes"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAaA,IAAMA,UAAU,GAAG,EAAnB;;IAEaC,WAAW,GAAG,SAAdA,WAAc,CAACC,KAAD;uBAQrBA,KAPJ,CACEC;MAASC,WADX,+BACyBC,uBAAAA,CAAkBC;wBAMvCJ,KAPJ,CAEEK;MAAAA,QAFF,gCAEa;uBAKTL,KAPJ,CAGEM;MAAAA,OAHF,+BAGYR;MACVS,KAJF,GAOIP,KAPJ,CAIEO;MACAC,OALF,GAOIR,KAPJ,CAKEQ;MACGC,IANL,gBAOIT,OAPE,UAAA,YAAA,WAAA,SAAA,WAAA;;MASAU,iBAAiB,GAAGC,YAAAA,CAAoB,IAApBA;MACpBC,gBAAgB,GAAGD,YAAAA,CAAoB,IAApBA;;;;;MAKnBV,OAAO,GAAGY,sBAAAA,CAAiBX,WAAjBW;;MAGVC,cAAc,GAAGC,aAAAA,CAAQ;WAAMd;AAAP,GAAPc,EAAuBd,OAAvBc;;8BAEkBC,+BAAAA,CAAsB;AAC7DC,IAAAA,cAAc,EAAE,KAD6C;AAE7DZ,IAAAA,QAAQ,EAARA;AAF6D,GAAtBW;MAAlCE,WAAP;MAAoBC,iBAApB;;;;;;MAQMC,WAAW,GAAGT,YAAAA,CAAgB,KAAhBA;;oBAEqCU,qBAAAA,CAAW;QAC9DhB,UAAU;AACdc,IAAAA,iBAAiB,CAACG,EAAlBH;AAFiE,GAAVE,EAGtD,CAHsDA;MAA1CE,cAAf,eAAQC;MAA8BC,cAAtC,eAA+BC;;qBAK4BL,qBAAAA,CAAW;QAChEhB,UAAU;QACVe,WAAW,CAACO,SAAS;AAEzBR,IAAAA,iBAAiB,CAACS,GAAlBT;AAJmE,GAAVE,EAKxD,GALwDA;MAA5CQ,eAAf,gBAAQL;MAA+BM,eAAvC,gBAAgCJ;;MAO1BK,gBAAgB,GAAGC,iBAAAA,CAAY;AACnCP,IAAAA,cAAc;AACdK,IAAAA,eAAe;AAFmB,GAAXE,EAGtB,CAACP,cAAD,EAAiBK,eAAjB,CAHsBE;AAKzBC,EAAAA,iCAAAA,CAAiBF,gBAAjBE;MAEMC,iBAAiB,GAAGC,2BAAAA,CAAkB,UAACC,GAAD;AAC1ChB,IAAAA,WAAW,CAACO,OAAZP,GAAsB,KAAtBA;;AAGAK,IAAAA,cAAc;AACdI,IAAAA,eAAe;AAL0B,GAAjBM;MAQpBE,iBAAiB,GAAGF,2BAAAA,CAAkB;QACtC9B,UAAU;AAEde,IAAAA,WAAW,CAACO,OAAZP,GAAsB,IAAtBA;AAEAG,IAAAA,cAAc;AAL2B,GAAjBY;MAQpBG,eAAe,GAAGN,iBAAAA,CACtB,UAAChC,KAAD,EAAauC,GAAb;QAACvC;AAAAA,MAAAA,QAAQ,EAARA;;;QAAYuC;AAAAA,MAAAA,MAAM,IAANA;;;QACLC,YAAY,GAAG;AACnBD,MAAAA,GAAG,EAAEE,oBAAAA,CAAU/B,iBAAV+B,EAA6BF,GAA7BE,CADc;AAEnBpC,MAAAA,QAAQ,EAARA;AAFmB;;;;;;AASrBS,IAAAA,cAAc,CAAC4B,MAAf5B,CAAsB,UAAC6B,GAAD,EAAMC,GAAN;cACZA;aACDzC,uBAAAA,CAAkBC;AACrBuC,UAAAA,GAAG,CAACE,YAAJF,GAAmBG,4BAAAA,CAAoB9C,KAAK,CAAC6C,YAA1BC,EAAwCT,iBAAxCS,CAAnBH;AACAA,UAAAA,GAAG,CAACI,YAAJJ,GAAmBG,4BAAAA,CAAoB9C,KAAK,CAAC+C,YAA1BD,EAAwCZ,iBAAxCY,CAAnBH;;;aAEGxC,uBAAAA,CAAkB6C;AACrBL,UAAAA,GAAG,CAACM,aAAJN,GAAoBG,4BAAAA,CAClB9C,KAAK,CAACiD,aADYH,EAElB,UAACV,GAAD;AACEA,YAAAA,GAAG,CAACc,cAAJd;AACAjB,YAAAA,iBAAiB,CAACgC,GAAlBhC;AAJmC,WAAnB2B,CAApBH;;;aAQGxC,uBAAAA,CAAkBiD;AACrBT,UAAAA,GAAG,CAACU,OAAJV,GAAcG,4BAAAA,CAAoB9C,KAAK,CAACqD,OAA1BP,EAAmC3B,iBAAiB,CAACgC,GAArDL,CAAdH;;;;aAIGA;AApBT,KAAA7B,EAqBG0B,YArBH1B;WAuBO0B;AAlCwB,GAAXR,EAoCtB,CAAC3B,QAAD,EAAWS,cAAX,EAA2BK,iBAA3B,EAA8CkB,iBAA9C,EAAiEH,iBAAjE,CApCsBF;MAuClBsB,SAAS,GAAG7C;MAEZ8C,YAAY,GAAGpB,2BAAAA,CAAkB,UAACnC,KAAD,EAAauC,GAAb;;;QAACvC;AAAAA,MAAAA,QAAQ,EAARA;;;QAAYuC;AAAAA,MAAAA,MAAM,IAANA;;;QAC5CiB,WAAW,GAAGlD,OAAO,CAACmD,MAARnD,CAAeI,iBAAfJ;QAEdoD,SAAS,mCACV1D;AACHuC,MAAAA,GAAG,EAAEE,oBAAAA,CAAU7B,gBAAV6B,EAA4BF,GAA5BE;AACLnC,MAAAA,OAAO,EAAEkD;AACTG,MAAAA,KAAK,kCACA3D,KAAK,CAAC2D,6CACRC,2BAAAA,CAAkB,qBAAlBA,KAA2CC,uBAAAA,CAAUtD,KAAVsD,IAAmBtD,KAAK,GAAG,IAA3BsD,GAAkCtD;AAEhFC,MAAAA,OAAO,gDACFA,UACAR,KAAK,CAACQ;AACTsD,QAAAA,mBAAmB,EAAE;AACrBC,QAAAA,OAAO,EAAE7C;AACT8C,QAAAA,QAAQ,EAAEtD,iBAAiB,CAACiB;AAC5BsC,QAAAA,OAAO,EAAE9C,iBAAiB,CAACS;;;;QAK3Bd,cAAc,CAACoD,QAAfpD,CAAwBX,uBAAAA,CAAkBC,KAA1CU,GAAkD;;AAEpD4C,MAAAA,SAAS,CAACb,YAAVa,GAAyB;AACvBtC,QAAAA,WAAW,CAACO,OAAZP,GAAsB,IAAtBA;AADF,OAAAsC,CAFoD;;;AAOpDA,MAAAA,SAAS,CAACX,YAAVW,GAAyBxB,iBAAzBwB;;;WAGKA;AAhC6B,GAAjBvB;SAmCd;AACL5B,IAAAA,KAAK,EAALA,KADK;AAEL+C,IAAAA,SAAS,EAATA,SAFK;AAGLjD,IAAAA,QAAQ,EAARA,QAHK;AAILa,IAAAA,WAAW,EAAXA,WAJK;AAKLC,IAAAA,iBAAiB,EAAjBA,iBALK;AAMLT,IAAAA,iBAAiB,EAAjBA,iBANK;AAOLI,IAAAA,cAAc,EAAdA,cAPK;AAQLwB,IAAAA,eAAe,EAAfA,eARK;AASLiB,IAAAA,YAAY,EAAZA;AATK;;;"}
@@ -23,7 +23,12 @@ var _prefix = getPrefixCls(_role);
23
23
 
24
24
  var DEFAULT_DATA = [];
25
25
  /**
26
- * TODO: What is Dropdown
26
+ * 下拉菜单
27
+ *
28
+ * TODO:
29
+ * 1. 支持自定义icon
30
+ * 2. 支持 titleRender
31
+ * 3. 支持 onClick 阻止默认行为关闭
27
32
  */
28
33
 
29
34
  var Dropdown = /*#__PURE__*/forwardRef(function (_a, ref) {
@@ -32,6 +37,7 @@ var Dropdown = /*#__PURE__*/forwardRef(function (_a, ref) {
32
37
  _a$role = _a.role,
33
38
  role = _a$role === void 0 ? _role : _a$role,
34
39
  className = _a.className,
40
+ triggerButton = _a.children,
35
41
  _a$data = _a.data,
36
42
  data = _a$data === void 0 ? DEFAULT_DATA : _a$data,
37
43
  title = _a.title,
@@ -55,14 +61,12 @@ var Dropdown = /*#__PURE__*/forwardRef(function (_a, ref) {
55
61
  var dig = function dig(treeData) {
56
62
  return treeData.map(function (item) {
57
63
  var menu = isArrayNonEmpty(item.children) ? /*#__PURE__*/React.createElement(DropdownMenu, {
58
- popper: {
64
+ overlay: {
59
65
  gutterGap: 16
60
66
  }
61
- }, dig(item.children)) : null; // TODO: remove it
62
-
63
- var shouldRenderDivider = item.title === '-';
67
+ }, dig(item.children)) : null;
64
68
 
65
- if (shouldRenderDivider) {
69
+ if (item.split) {
66
70
  return /*#__PURE__*/React.createElement("li", {
67
71
  key: item.id,
68
72
  className: prefixCls + "-divider"
@@ -87,24 +91,41 @@ var Dropdown = /*#__PURE__*/forwardRef(function (_a, ref) {
87
91
  });
88
92
  };
89
93
 
94
+ var renderButton = function renderButton() {
95
+ if (triggerButton) {
96
+ // @ts-ignore
97
+ return /*#__PURE__*/cloneElement(triggerButton, getTriggerProps(triggerButton.props, triggerButton.ref));
98
+ }
99
+
100
+ if (type === 'text' || type === 'button') {
101
+ return /*#__PURE__*/React.createElement(Button, Object.assign({}, getTriggerProps(), {
102
+ appearance: type === 'button' ? 'filled' : 'link'
103
+ }), title, /*#__PURE__*/React.createElement(DownOutlined, {
104
+ style: {
105
+ marginInlineStart: 2
106
+ }
107
+ }));
108
+ }
109
+
110
+ if (type === 'group') {
111
+ return /*#__PURE__*/React.createElement(ButtonGroup, null, /*#__PURE__*/React.createElement(Button, {
112
+ onClick: onButtonClick
113
+ }, title), /*#__PURE__*/React.createElement(Button, Object.assign({
114
+ className: cx(prefixCls + "__icon", prefixCls + "__icon-btn-wrap")
115
+ }, getTriggerProps()), /*#__PURE__*/React.createElement(DownOutlined, null)));
116
+ }
117
+
118
+ return null;
119
+ };
120
+
90
121
  return /*#__PURE__*/React.createElement(DropDownProvider, {
91
122
  value: providedValue
92
123
  }, /*#__PURE__*/React.createElement("div", Object.assign({
93
124
  ref: ref,
94
125
  role: role,
95
126
  className: cls
96
- }, rootProps), type === 'text' || type === 'button' ? /*#__PURE__*/React.createElement(Button, Object.assign({}, getTriggerProps(), {
97
- appearance: type === 'button' ? 'flat' : 'link'
98
- }), title, /*#__PURE__*/React.createElement(DownOutlined, {
99
- style: {
100
- marginInlineStart: 2
101
- }
102
- })) : null, type === 'group' ? /*#__PURE__*/React.createElement(ButtonGroup, null, /*#__PURE__*/React.createElement(Button, {
103
- onClick: onButtonClick
104
- }, title), /*#__PURE__*/React.createElement(Button, Object.assign({
105
- className: cx(prefixCls + "__icon", prefixCls + "__icon-btn-wrap")
106
- }, getTriggerProps()), /*#__PURE__*/React.createElement(DownOutlined, null))) : null, isArrayNonEmpty(data) ? /*#__PURE__*/React.createElement(DropdownMenu, Object.assign({}, getMenuProps({
107
- popper: {
127
+ }, rootProps), renderButton(), isArrayNonEmpty(data) ? /*#__PURE__*/React.createElement(DropdownMenu, Object.assign({}, getMenuProps({
128
+ overlay: {
108
129
  disabledPortal: false,
109
130
  className: overlayClassName
110
131
  }
@@ -115,51 +136,22 @@ if (__DEV__) {
115
136
  Dropdown.displayName = 'Dropdown';
116
137
  }
117
138
 
118
- var dropdownButtonPrefix = getPrefixCls('dropdown-button');
119
- /**
120
- * TODO: What is DropdownButton
121
- */
122
-
123
- var DropdownButton = /*#__PURE__*/forwardRef(function (_a, ref) {
124
- var _a$prefixCls2 = _a.prefixCls,
125
- prefixCls = _a$prefixCls2 === void 0 ? dropdownButtonPrefix : _a$prefixCls2,
126
- _a$role2 = _a.role,
127
- role = _a$role2 === void 0 ? _role : _a$role2,
128
- className = _a.className,
129
- children = _a.children,
130
- rest = __rest(_a, ["prefixCls", "role", "className", "children"]);
131
-
132
- var _useDropDownContext = useDropDownContext(),
133
- getTriggerProps = _useDropDownContext.getTriggerProps;
134
-
135
- var triggerProps = getTriggerProps();
136
- var cls = cx(prefixCls, className);
137
- return /*#__PURE__*/React.createElement("div", Object.assign({
138
- role: role,
139
- className: cls
140
- }, rest, triggerProps), children);
141
- });
142
-
143
- if (__DEV__) {
144
- DropdownButton.displayName = 'DropdownButton';
145
- }
146
-
147
139
  var dropdownMenuPrefix = getPrefixCls('dropdown-menu');
148
140
  /**
149
141
  * TODO: What is DropdownMenu
150
142
  */
151
143
 
152
144
  var DropdownMenu = /*#__PURE__*/forwardRef(function (_a, ref) {
153
- var _a$prefixCls3 = _a.prefixCls,
154
- prefixCls = _a$prefixCls3 === void 0 ? dropdownMenuPrefix : _a$prefixCls3,
155
- popper = _a.popper,
145
+ var _a$prefixCls2 = _a.prefixCls,
146
+ prefixCls = _a$prefixCls2 === void 0 ? dropdownMenuPrefix : _a$prefixCls2,
147
+ overlay = _a.overlay,
156
148
  parents = _a.parents,
157
149
  className = _a.className,
158
150
  children = _a.children,
159
- rest = __rest(_a, ["prefixCls", "role", "popper", "parents", "className", "children"]);
151
+ rest = __rest(_a, ["prefixCls", "role", "overlay", "parents", "className", "children"]);
160
152
 
161
153
  var cls = cx(prefixCls, className);
162
- return /*#__PURE__*/React.createElement(PopperPortal, Object.assign({}, popper), /*#__PURE__*/React.createElement("ul", Object.assign({
154
+ return /*#__PURE__*/React.createElement(PopperPortal, Object.assign({}, overlay), /*#__PURE__*/React.createElement("ul", Object.assign({
163
155
  ref: ref,
164
156
  className: cls
165
157
  }, rest), children ? React.Children.map(children, function (child) {
@@ -179,8 +171,8 @@ var dropdownMenuItemPrefix = getPrefixCls('dropdown-menu-item');
179
171
  */
180
172
 
181
173
  var DropdownMenuItem = /*#__PURE__*/forwardRef(function (_a, ref) {
182
- var _a$prefixCls4 = _a.prefixCls,
183
- prefixCls = _a$prefixCls4 === void 0 ? dropdownMenuItemPrefix : _a$prefixCls4,
174
+ var _a$prefixCls3 = _a.prefixCls,
175
+ prefixCls = _a$prefixCls3 === void 0 ? dropdownMenuItemPrefix : _a$prefixCls3,
184
176
  className = _a.className,
185
177
  children = _a.children,
186
178
  href = _a.href,
@@ -190,12 +182,12 @@ var DropdownMenuItem = /*#__PURE__*/forwardRef(function (_a, ref) {
190
182
  menu = _a.menu,
191
183
  rest = __rest(_a, ["prefixCls", "role", "className", "children", "href", "value", "target", "disabled", "parents", "menu"]);
192
184
 
193
- var _useDropDownContext2 = useDropDownContext(),
194
- triggerMethods = _useDropDownContext2.triggerMethods,
195
- width = _useDropDownContext2.width;
185
+ var _useDropDownContext = useDropDownContext(),
186
+ triggerMethods = _useDropDownContext.triggerMethods,
187
+ width = _useDropDownContext.width;
196
188
 
197
189
  var _useDropdown = useDropdown(Object.assign(Object.assign({
198
- popper: {
190
+ overlay: {
199
191
  placement: 'right-start',
200
192
  disabledPortal: true
201
193
  },
@@ -204,11 +196,12 @@ var DropdownMenuItem = /*#__PURE__*/forwardRef(function (_a, ref) {
204
196
  trigger: triggerMethods,
205
197
  parents: parentsProp
206
198
  })),
199
+ menuVisible = _useDropdown.menuVisible,
207
200
  rootProps = _useDropdown.rootProps,
208
201
  getTriggerProps = _useDropdown.getTriggerProps,
209
202
  getMenuProps = _useDropdown.getMenuProps;
210
203
 
211
- var cls = cx(prefixCls, className);
204
+ var cls = cx(prefixCls, className, menuVisible && prefixCls + "--active");
212
205
  var shouldUseLink = href && !disabled;
213
206
  return /*#__PURE__*/React.createElement("li", Object.assign({
214
207
  ref: ref,
@@ -219,7 +212,9 @@ var DropdownMenuItem = /*#__PURE__*/forwardRef(function (_a, ref) {
219
212
  className: prefixCls + "__link",
220
213
  href: href,
221
214
  target: target
222
- }, children) : children), menu ? /*#__PURE__*/cloneElement(menu, Object.assign({}, getMenuProps(menu.props))) : null);
215
+ }, children) : children, menu ? /*#__PURE__*/React.createElement("span", {
216
+ className: prefixCls + "__arrow"
217
+ }, /*#__PURE__*/React.createElement(DownOutlined, null)) : null), menu ? /*#__PURE__*/cloneElement(menu, Object.assign({}, getMenuProps(menu.props))) : null);
223
218
  });
224
219
 
225
220
  if (__DEV__) {
@@ -1 +1 @@
1
- {"version":3,"file":"Dropdown.js","sources":["../../src/Dropdown.tsx"],"sourcesContent":[null],"names":["_role","_prefix","getPrefixCls","DEFAULT_DATA","Dropdown","forwardRef","_a","ref","prefixCls","role","className","data","title","type","onClick","onButtonClick","overlayClassName","rest","_b","useDropdown","rootProps","providedValue","getMenuProps","getTriggerProps","disabled","menuVisibleAction","cls","cx","dig","treeData","map","item","menu","isArrayNonEmpty","children","React","DropdownMenu","popper","gutterGap","shouldRenderDivider","key","id","DropdownMenuItem","href","target","value","isArray","off","DropDownProvider","Button","appearance","DownOutlined","style","marginInlineStart","ButtonGroup","disabledPortal","__DEV__","displayName","dropdownButtonPrefix","DropdownButton","useDropDownContext","triggerProps","dropdownMenuPrefix","parents","PopperPortal","Children","child","cloneElement","dropdownMenuItemPrefix","parentsProp","triggerMethods","width","placement","trigger","shouldUseLink","props"],"mappings":"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"}
1
+ {"version":3,"file":"Dropdown.js","sources":["../../src/Dropdown.tsx"],"sourcesContent":[null],"names":["_role","_prefix","getPrefixCls","DEFAULT_DATA","Dropdown","forwardRef","_a","ref","prefixCls","role","className","triggerButton","children","data","title","type","onClick","onButtonClick","overlayClassName","rest","_b","useDropdown","rootProps","providedValue","getMenuProps","getTriggerProps","disabled","menuVisibleAction","cls","cx","dig","treeData","map","item","menu","isArrayNonEmpty","React","DropdownMenu","overlay","gutterGap","split","key","id","DropdownMenuItem","href","target","value","isArray","off","renderButton","cloneElement","props","Button","appearance","DownOutlined","style","marginInlineStart","ButtonGroup","DropDownProvider","disabledPortal","__DEV__","displayName","dropdownMenuPrefix","parents","PopperPortal","Children","child","dropdownMenuItemPrefix","parentsProp","useDropDownContext","triggerMethods","width","placement","trigger","menuVisible","shouldUseLink"],"mappings":"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"}
@@ -7,7 +7,7 @@
7
7
  * This source code is licensed under the MIT license found in the
8
8
  * LICENSE file in the root directory of this source tree.
9
9
  */
10
- var css_248z = "@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n.hi-v4-dropdown-menu {\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n background-color: #fff;\n background-color: var(--hi-v4-color-static-white, #fff);\n border-radius: 4px;\n border-radius: var(--hi-v4-border-radius-normal, 4px);\n font-size: 0.875rem;\n font-size: var(--hi-v4-text-size-normal, 0.875rem);\n padding: 8px;\n padding: var(--hi-v4-spacing-4, 8px);\n color: #1f2733;\n color: var(--hi-v4-color-gray-700, #1f2733); }\n.hi-v4-dropdown-menu-item {\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n list-style: none;\n width: 200px;\n width: var(--hi-v4-dropdown-menu-item-width, 200px);\n margin: 0;\n box-sizing: border-box;\n overflow: visible; }\n.hi-v4-dropdown-menu-item__link {\n color: #1f2733;\n color: var(--hi-v4-color-gray-700, #1f2733);\n width: 100%;\n text-decoration: none;\n -webkit-box-sizing: border-box;\n box-sizing: border-box; }\n.hi-v4-dropdown-menu-item__trigger {\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n width: 100%;\n height: 100%;\n cursor: pointer;\n border-radius: 4px;\n border-radius: var(--hi-v4-border-radius-normal, 4px);\n padding: 10px 12px;\n padding: var(--hi-v4-spacing-5, 10px) var(--hi-v4-spacing-6, 12px);\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center; }\n.hi-v4-dropdown-menu-item__trigger:hover {\n background-color: #f2f4f7;\n background-color: var(--hi-v4-color-gray-100, #f2f4f7); }\n.hi-v4-dropdown-divider {\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n list-style: none;\n background-color: #ebedf0;\n background-color: var(--hi-v4-color-gray-200, #ebedf0);\n width: 100%;\n height: 1px;\n margin: 8px 0;\n margin: var(--hi-v4-spacing-4, 8px) 0; }\n";
10
+ var css_248z = "@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n.hi-v4-dropdown {\n display: inline-block; }\n.hi-v4-dropdown-menu {\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n background-color: #fff;\n background-color: var(--hi-v4-color-static-white, #fff);\n border-radius: 4px;\n border-radius: var(--hi-v4-border-radius-normal, 4px);\n font-size: 0.875rem;\n font-size: var(--hi-v4-text-size-normal, 0.875rem);\n padding: 8px;\n padding: var(--hi-v4-spacing-4, 8px);\n color: #1f2733;\n color: var(--hi-v4-color-gray-700, #1f2733);\n width: 180px;\n width: var(--hi-v4-dropdown-menu-width, 180px); }\n.hi-v4-dropdown-menu-item {\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n list-style: none;\n margin: 0;\n box-sizing: border-box;\n overflow: visible;\n padding: 4px 0;\n padding: var(--hi-v4-spacing-2, 4px) 0; }\n.hi-v4-dropdown-menu-item__link {\n color: #1f2733;\n color: var(--hi-v4-color-gray-700, #1f2733);\n width: 100%;\n text-decoration: none;\n -webkit-box-sizing: border-box;\n box-sizing: border-box; }\n.hi-v4-dropdown-menu-item__arrow {\n -webkit-transform: rotate(-90deg);\n transform: rotate(-90deg); }\n.hi-v4-dropdown-menu-item__trigger {\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n width: 100%;\n height: 100%;\n cursor: pointer;\n border-radius: 4px;\n border-radius: var(--hi-v4-border-radius-normal, 4px);\n padding: 8px 12px;\n padding: var(--hi-v4-spacing-4, 8px) var(--hi-v4-spacing-6, 12px);\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-pack: justify;\n -ms-flex-pack: justify;\n justify-content: space-between; }\n.hi-v4-dropdown-menu-item__trigger:hover {\n background-color: #f2f4f7;\n background-color: var(--hi-v4-color-gray-100, #f2f4f7); }\n.hi-v4-dropdown-menu-item--active > .hi-v4-dropdown-menu-item__trigger {\n background-color: #f2f4f7;\n background-color: var(--hi-v4-color-gray-100, #f2f4f7); }\n.hi-v4-dropdown-divider {\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n list-style: none;\n background-color: #ebedf0;\n background-color: var(--hi-v4-color-gray-200, #ebedf0);\n width: 100%;\n height: 1px;\n margin: 8px 0;\n margin: var(--hi-v4-spacing-4, 8px) 0; }\n";
11
11
 
12
12
  var __styleInject__ = require('style-inject/dist/style-inject.es.js')["default"];
13
13
 
@@ -17,6 +17,8 @@ import { useTimeout } from '@hi-ui/use-timeout';
17
17
  import { useUnmountEffect } from '@hi-ui/use-unmount-effect';
18
18
  import { getPrefixStyleVar } from '@hi-ui/classname';
19
19
  import { mergeRefs } from '@hi-ui/react-utils';
20
+ import { mockDefaultHandlers } from '@hi-ui/dom-utils';
21
+ import { isNumeric } from '@hi-ui/type-assertion';
20
22
  var NOOP_ARRAY = [];
21
23
 
22
24
  var useDropdown = function useDropdown(props) {
@@ -27,8 +29,8 @@ var useDropdown = function useDropdown(props) {
27
29
  _props$parents = props.parents,
28
30
  parents = _props$parents === void 0 ? NOOP_ARRAY : _props$parents,
29
31
  width = props.width,
30
- popper = props.popper,
31
- rest = __rest(props, ["trigger", "disabled", "parents", "width", "popper"]);
32
+ overlay = props.overlay,
33
+ rest = __rest(props, ["trigger", "disabled", "parents", "width", "overlay"]);
32
34
 
33
35
  var triggerElementRef = useRef(null);
34
36
  var popperElementRef = useRef(null);
@@ -86,41 +88,47 @@ var useDropdown = function useDropdown(props) {
86
88
  hoveringRef.current = true;
87
89
  startOpenTimer();
88
90
  });
89
- /**
90
- * 事件收集
91
- * 'click' | 'contextmenu' | 'hover'
92
- */
91
+ var getTriggerProps = useCallback(function (props, ref) {
92
+ if (props === void 0) {
93
+ props = {};
94
+ }
93
95
 
94
- var eventHandler = useMemo(function () {
95
- return triggerMethods.reduce(function (acc, cur) {
96
+ if (ref === void 0) {
97
+ ref = null;
98
+ }
99
+
100
+ var triggerProps = {
101
+ ref: mergeRefs(triggerElementRef, ref),
102
+ disabled: disabled
103
+ };
104
+ /**
105
+ * 事件收集
106
+ * 'click' | 'contextmenu' | 'hover'
107
+ */
108
+
109
+ triggerMethods.reduce(function (acc, cur) {
96
110
  switch (cur) {
97
111
  case TriggerActionEnum.HOVER:
98
- acc.onMouseEnter = handlePopperEnter;
99
- acc.onMouseLeave = handlePopperLeave;
112
+ acc.onMouseEnter = mockDefaultHandlers(props.onMouseEnter, handlePopperEnter);
113
+ acc.onMouseLeave = mockDefaultHandlers(props.onMouseLeave, handlePopperLeave);
100
114
  break;
101
115
 
102
116
  case TriggerActionEnum.CONTEXTMENU:
103
- acc.onContextMenu = function (evt) {
117
+ acc.onContextMenu = mockDefaultHandlers(props.onContextMenu, function (evt) {
104
118
  evt.preventDefault();
105
119
  menuVisibleAction.not();
106
- };
107
-
120
+ });
108
121
  break;
109
122
 
110
123
  case TriggerActionEnum.CLICK:
111
- acc.onClick = menuVisibleAction.not;
124
+ acc.onClick = mockDefaultHandlers(props.onClick, menuVisibleAction.not);
112
125
  break;
113
126
  }
114
127
 
115
128
  return acc;
116
- }, {});
117
- }, [triggerMethods, menuVisibleAction, handlePopperEnter, handlePopperLeave]);
118
- var getTriggerProps = useCallback(function () {
119
- return Object.assign({
120
- ref: triggerElementRef,
121
- disabled: disabled
122
- }, eventHandler);
123
- }, [eventHandler, disabled]);
129
+ }, triggerProps);
130
+ return triggerProps;
131
+ }, [disabled, triggerMethods, menuVisibleAction, handlePopperEnter, handlePopperLeave]);
124
132
  var rootProps = rest;
125
133
  var getMenuProps = useLatestCallback(function (props, ref) {
126
134
  var _Object$assign;
@@ -137,8 +145,8 @@ var useDropdown = function useDropdown(props) {
137
145
  var menuProps = Object.assign(Object.assign({}, props), {
138
146
  ref: mergeRefs(popperElementRef, ref),
139
147
  parents: menuParents,
140
- style: Object.assign(Object.assign({}, props.style), (_Object$assign = {}, _Object$assign[getPrefixStyleVar('dropdown-menu-item-width')] = width + "px", _Object$assign)),
141
- popper: Object.assign(Object.assign(Object.assign({}, popper), props.popper), {
148
+ style: Object.assign(Object.assign({}, props.style), (_Object$assign = {}, _Object$assign[getPrefixStyleVar('dropdown-menu-width')] = isNumeric(width) ? width + 'px' : width, _Object$assign)),
149
+ overlay: Object.assign(Object.assign(Object.assign({}, overlay), props.overlay), {
142
150
  closeOnOutsideClick: true,
143
151
  visible: menuVisible,
144
152
  attachEl: triggerElementRef.current,
@@ -1 +1 @@
1
- {"version":3,"file":"use-dropdown.js","sources":["../../src/use-dropdown.tsx"],"sourcesContent":[null],"names":["NOOP_ARRAY","useDropdown","props","trigger","triggerProp","TriggerActionEnum","HOVER","disabled","parents","width","popper","rest","triggerElementRef","useRef","popperElementRef","normalizeTrigger","triggerMethods","useMemo","useUncontrolledToggle","defaultVisible","menuVisible","menuVisibleAction","hoveringRef","useTimeout","on","startOpenTimer","start","clearOpenTimer","clear","current","off","startCloseTimer","clearCloseTimer","clearToggleTimer","useCallback","useUnmountEffect","handlePopperLeave","useLatestCallback","evt","handlePopperEnter","eventHandler","reduce","acc","cur","onMouseEnter","onMouseLeave","CONTEXTMENU","onContextMenu","preventDefault","not","CLICK","onClick","getTriggerProps","ref","rootProps","getMenuProps","menuParents","concat","menuProps","mergeRefs","style","getPrefixStyleVar","closeOnOutsideClick","visible","attachEl","onClose","includes"],"mappings":"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"}
1
+ {"version":3,"file":"use-dropdown.js","sources":["../../src/use-dropdown.tsx"],"sourcesContent":[null],"names":["NOOP_ARRAY","useDropdown","props","trigger","triggerProp","TriggerActionEnum","HOVER","disabled","parents","width","overlay","rest","triggerElementRef","useRef","popperElementRef","normalizeTrigger","triggerMethods","useMemo","useUncontrolledToggle","defaultVisible","menuVisible","menuVisibleAction","hoveringRef","useTimeout","on","startOpenTimer","start","clearOpenTimer","clear","current","off","startCloseTimer","clearCloseTimer","clearToggleTimer","useCallback","useUnmountEffect","handlePopperLeave","useLatestCallback","evt","handlePopperEnter","getTriggerProps","ref","triggerProps","mergeRefs","reduce","acc","cur","onMouseEnter","mockDefaultHandlers","onMouseLeave","CONTEXTMENU","onContextMenu","preventDefault","not","CLICK","onClick","rootProps","getMenuProps","menuParents","concat","menuProps","style","getPrefixStyleVar","isNumeric","closeOnOutsideClick","visible","attachEl","onClose","includes"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAaA,IAAMA,UAAU,GAAG,EAAnB;;IAEaC,WAAW,GAAG,SAAdA,WAAc,CAACC,KAAD;uBAQrBA,KAPJ,CACEC;MAASC,WADX,+BACyBC,iBAAiB,CAACC;wBAMvCJ,KAPJ,CAEEK;MAAAA,QAFF,gCAEa;uBAKTL,KAPJ,CAGEM;MAAAA,OAHF,+BAGYR;MACVS,KAJF,GAOIP,KAPJ,CAIEO;MACAC,OALF,GAOIR,KAPJ,CAKEQ;MACGC,IANL,UAOIT,OAPE,UAAA,YAAA,WAAA,SAAA,WAAA;;MASAU,iBAAiB,GAAGC,MAAM,CAAc,IAAd;MAC1BC,gBAAgB,GAAGD,MAAM,CAAc,IAAd;;;;;MAKzBV,OAAO,GAAGY,gBAAgB,CAACX,WAAD;;MAG1BY,cAAc,GAAGC,OAAO,CAAC;WAAMd;AAAP,GAAA,EAAgBA,OAAhB;;8BAEWe,qBAAqB,CAAC;AAC7DC,IAAAA,cAAc,EAAE,KAD6C;AAE7DZ,IAAAA,QAAQ,EAARA;AAF6D,GAAD;MAAvDa,WAAP;MAAoBC,iBAApB;;;;;;MAQMC,WAAW,GAAGT,MAAM,CAAU,KAAV;;oBAE+BU,UAAU,CAAC;QAC9DhB,UAAU;AACdc,IAAAA,iBAAiB,CAACG,EAAlBH;AAFiE,GAAA,EAGhE,CAHgE;MAApDI,cAAf,eAAQC;MAA8BC,cAAtC,eAA+BC;;qBAK4BL,UAAU,CAAC;QAChEhB,UAAU;QACVe,WAAW,CAACO,SAAS;AAEzBR,IAAAA,iBAAiB,CAACS,GAAlBT;AAJmE,GAAA,EAKlE,GALkE;MAAtDU,eAAf,gBAAQL;MAA+BM,eAAvC,gBAAgCJ;;MAO1BK,gBAAgB,GAAGC,WAAW,CAAC;AACnCP,IAAAA,cAAc;AACdK,IAAAA,eAAe;AAFmB,GAAA,EAGjC,CAACL,cAAD,EAAiBK,eAAjB,CAHiC;AAKpCG,EAAAA,gBAAgB,CAACF,gBAAD,CAAhBE;MAEMC,iBAAiB,GAAGC,iBAAiB,CAAC,UAACC,GAAD;AAC1ChB,IAAAA,WAAW,CAACO,OAAZP,GAAsB,KAAtBA;;AAGAK,IAAAA,cAAc;AACdI,IAAAA,eAAe;AAL0B,GAAA;MAQrCQ,iBAAiB,GAAGF,iBAAiB,CAAC;QACtC9B,UAAU;AAEde,IAAAA,WAAW,CAACO,OAAZP,GAAsB,IAAtBA;AAEAG,IAAAA,cAAc;AAL2B,GAAA;MAQrCe,eAAe,GAAGN,WAAW,CACjC,UAAChC,KAAD,EAAauC,GAAb;QAACvC;AAAAA,MAAAA,QAAQ,EAARA;;;QAAYuC;AAAAA,MAAAA,MAAM,IAANA;;;QACLC,YAAY,GAAG;AACnBD,MAAAA,GAAG,EAAEE,SAAS,CAAC/B,iBAAD,EAAoB6B,GAApB,CADK;AAEnBlC,MAAAA,QAAQ,EAARA;AAFmB;;;;;;AASrBS,IAAAA,cAAc,CAAC4B,MAAf5B,CAAsB,UAAC6B,GAAD,EAAMC,GAAN;cACZA;aACDzC,iBAAiB,CAACC;AACrBuC,UAAAA,GAAG,CAACE,YAAJF,GAAmBG,mBAAmB,CAAC9C,KAAK,CAAC6C,YAAP,EAAqBR,iBAArB,CAAtCM;AACAA,UAAAA,GAAG,CAACI,YAAJJ,GAAmBG,mBAAmB,CAAC9C,KAAK,CAAC+C,YAAP,EAAqBb,iBAArB,CAAtCS;;;aAEGxC,iBAAiB,CAAC6C;AACrBL,UAAAA,GAAG,CAACM,aAAJN,GAAoBG,mBAAmB,CACrC9C,KAAK,CAACiD,aAD+B,EAErC,UAACb,GAAD;AACEA,YAAAA,GAAG,CAACc,cAAJd;AACAjB,YAAAA,iBAAiB,CAACgC,GAAlBhC;AAJmC,WAAA,CAAvCwB;;;aAQGxC,iBAAiB,CAACiD;AACrBT,UAAAA,GAAG,CAACU,OAAJV,GAAcG,mBAAmB,CAAC9C,KAAK,CAACqD,OAAP,EAAgBlC,iBAAiB,CAACgC,GAAlC,CAAjCR;;;;aAIGA;AApBT,KAAA7B,EAqBG0B,YArBH1B;WAuBO0B;AAlCwB,GAAA,EAoCjC,CAACnC,QAAD,EAAWS,cAAX,EAA2BK,iBAA3B,EAA8CkB,iBAA9C,EAAiEH,iBAAjE,CApCiC;MAuC7BoB,SAAS,GAAG7C;MAEZ8C,YAAY,GAAGpB,iBAAiB,CAAC,UAACnC,KAAD,EAAauC,GAAb;;;QAACvC;AAAAA,MAAAA,QAAQ,EAARA;;;QAAYuC;AAAAA,MAAAA,MAAM,IAANA;;;QAC5CiB,WAAW,GAAGlD,OAAO,CAACmD,MAARnD,CAAeI,iBAAfJ;QAEdoD,SAAS,mCACV1D;AACHuC,MAAAA,GAAG,EAAEE,SAAS,CAAC7B,gBAAD,EAAmB2B,GAAnB;AACdjC,MAAAA,OAAO,EAAEkD;AACTG,MAAAA,KAAK,kCACA3D,KAAK,CAAC2D,6CACRC,iBAAiB,CAAC,qBAAD,KAA0BC,SAAS,CAACtD,KAAD,CAATsD,GAAmBtD,KAAK,GAAG,IAA3BsD,GAAkCtD;AAEhFC,MAAAA,OAAO,gDACFA,UACAR,KAAK,CAACQ;AACTsD,QAAAA,mBAAmB,EAAE;AACrBC,QAAAA,OAAO,EAAE7C;AACT8C,QAAAA,QAAQ,EAAEtD,iBAAiB,CAACiB;AAC5BsC,QAAAA,OAAO,EAAE9C,iBAAiB,CAACS;;;;QAK3Bd,cAAc,CAACoD,QAAfpD,CAAwBX,iBAAiB,CAACC,KAA1CU,GAAkD;;AAEpD4C,MAAAA,SAAS,CAACb,YAAVa,GAAyB;AACvBtC,QAAAA,WAAW,CAACO,OAAZP,GAAsB,IAAtBA;AADF,OAAAsC,CAFoD;;;AAOpDA,MAAAA,SAAS,CAACX,YAAVW,GAAyBxB,iBAAzBwB;;;WAGKA;AAhC6B,GAAA;SAmC/B;AACLnD,IAAAA,KAAK,EAALA,KADK;AAEL+C,IAAAA,SAAS,EAATA,SAFK;AAGLjD,IAAAA,QAAQ,EAARA,QAHK;AAILa,IAAAA,WAAW,EAAXA,WAJK;AAKLC,IAAAA,iBAAiB,EAAjBA,iBALK;AAMLT,IAAAA,iBAAiB,EAAjBA,iBANK;AAOLI,IAAAA,cAAc,EAAdA,cAPK;AAQLwB,IAAAA,eAAe,EAAfA,eARK;AASLiB,IAAAA,YAAY,EAAZA;AATK;;;"}
@@ -1,9 +1,15 @@
1
1
  import React from 'react';
2
2
  import { HiBaseHTMLProps } from '@hi-ui/core';
3
+ import { PopperOverlayProps } from '@hi-ui/popper';
3
4
  import { UseDropdownProps } from './use-dropdown';
4
5
  import { DropdownDataItem } from './types';
5
6
  /**
6
- * TODO: What is Dropdown
7
+ * 下拉菜单
8
+ *
9
+ * TODO:
10
+ * 1. 支持自定义icon
11
+ * 2. 支持 titleRender
12
+ * 3. 支持 onClick 阻止默认行为关闭
7
13
  */
8
14
  export declare const Dropdown: React.ForwardRefExoticComponent<DropdownProps & React.RefAttributes<HTMLDivElement | null>>;
9
15
  export interface DropdownProps extends Omit<HiBaseHTMLProps<'div'>, 'onClick'>, UseDropdownProps {
@@ -35,4 +41,17 @@ export interface DropdownProps extends Omit<HiBaseHTMLProps<'div'>, 'onClick'>,
35
41
  * 下拉根元素的类名称
36
42
  */
37
43
  overlayClassName?: string;
44
+ /**
45
+ * 自定义下拉菜单触发按钮
46
+ * 注意:自定义按钮需要支持 ref 获取元素 dom 引用 以及 trigger 对应的事件:
47
+ *
48
+ * hover: onMouseEnter \ onMouseLeave
49
+ * click: onClick
50
+ * contextmenu: onContextMenu
51
+ */
52
+ children?: React.ReactNode;
53
+ /**
54
+ * 自定义控制 下拉 popper 行为
55
+ */
56
+ overlay?: PopperOverlayProps;
38
57
  }
@@ -28,4 +28,8 @@ export interface DropdownDataItem {
28
28
  * 是否禁用
29
29
  */
30
30
  disabled?: boolean;
31
+ /**
32
+ * 是否在其底部建立分隔线
33
+ */
34
+ split?: boolean;
31
35
  }
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import { TriggerActionEnum } from './types';
3
- import { PopperPortalProps } from '@hi-ui/popper';
3
+ import { PopperOverlayProps } from '@hi-ui/popper';
4
4
  export declare const useDropdown: (props: UseDropdownProps) => {
5
5
  width: number | undefined;
6
6
  rootProps: {};
@@ -14,7 +14,10 @@ export declare const useDropdown: (props: UseDropdownProps) => {
14
14
  };
15
15
  triggerElementRef: React.RefObject<HTMLElement>;
16
16
  triggerMethods: TriggerActionEnum[];
17
- getTriggerProps: () => any;
17
+ getTriggerProps: (props?: any, ref?: any) => {
18
+ ref: ((value: HTMLElement | null) => void) | null;
19
+ disabled: boolean;
20
+ };
18
21
  getMenuProps: (props?: any, ref?: any) => any;
19
22
  };
20
23
  export interface UseDropdownProps {
@@ -38,6 +41,6 @@ export interface UseDropdownProps {
38
41
  /**
39
42
  * 自定义控制 下拉 popper 行为
40
43
  */
41
- popper?: Omit<PopperPortalProps, 'visible' | 'attachEl'>;
44
+ overlay?: PopperOverlayProps;
42
45
  }
43
46
  export declare type UseDropdownReturn = ReturnType<typeof useDropdown>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hi-ui/dropdown",
3
- "version": "4.0.0-alpha.1",
3
+ "version": "4.0.0-alpha.13",
4
4
  "description": "A sub-package for @hi-ui/hiui.",
5
5
  "keywords": [],
6
6
  "author": "HIUI <mi-hiui@xiaomi.com>",
@@ -43,28 +43,29 @@
43
43
  "url": "https://github.com/XiaoMi/hiui/issues"
44
44
  },
45
45
  "dependencies": {
46
- "@hi-ui/button": "^4.0.0-alpha.15",
46
+ "@hi-ui/button": "^4.0.0-alpha.25",
47
47
  "@hi-ui/classname": "^4.0.0-alpha.3",
48
- "@hi-ui/core": "^4.0.0-alpha.12",
49
- "@hi-ui/core-css": "^4.0.0-alpha.10",
50
- "@hi-ui/env": "^4.0.0-alpha.5",
51
- "@hi-ui/icons": "^4.0.0-alpha.18",
52
- "@hi-ui/popper": "^4.0.0-alpha.15",
53
- "@hi-ui/react-utils": "^4.0.0-alpha.6",
54
- "@hi-ui/type-assertion": "^4.0.0-alpha.13",
55
- "@hi-ui/use-latest": "^4.0.0-alpha.4",
56
- "@hi-ui/use-timeout": "^4.0.0-alpha.3",
57
- "@hi-ui/use-toggle": "^4.0.0-alpha.10",
58
- "@hi-ui/use-unmount-effect": "^4.0.0-alpha.5"
48
+ "@hi-ui/core": "^4.0.0-alpha.20",
49
+ "@hi-ui/core-css": "^4.0.0-alpha.14",
50
+ "@hi-ui/dom-utils": "^4.0.0-alpha.7",
51
+ "@hi-ui/env": "^4.0.0-alpha.6",
52
+ "@hi-ui/icons": "^4.0.0-alpha.29",
53
+ "@hi-ui/popper": "^4.0.0-alpha.25",
54
+ "@hi-ui/react-utils": "^4.0.0-alpha.8",
55
+ "@hi-ui/type-assertion": "^4.0.0-alpha.14",
56
+ "@hi-ui/use-latest": "^4.0.0-alpha.5",
57
+ "@hi-ui/use-timeout": "^4.0.0-alpha.5",
58
+ "@hi-ui/use-toggle": "^4.0.0-alpha.12",
59
+ "@hi-ui/use-unmount-effect": "^4.0.0-alpha.6"
59
60
  },
60
61
  "peerDependencies": {
61
- "react": "^17.0.1",
62
- "react-dom": "^17.0.1"
62
+ "react": ">=16.8.6",
63
+ "react-dom": ">=16.8.6"
63
64
  },
64
65
  "devDependencies": {
65
66
  "@hi-ui/hi-build": "^4.0.0-alpha.4",
66
67
  "react": "^17.0.1",
67
68
  "react-dom": "^17.0.1"
68
69
  },
69
- "gitHead": "4fe4855aa7b3180a4e30ffa0972ac39a04947b4b"
70
+ "gitHead": "fa21b165e493ba58f5b1834d050e4af188b6d946"
70
71
  }