@hi-ui/layout 4.0.0 → 5.0.0-alpha.0
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/CHANGELOG.md +51 -0
- package/lib/cjs/AppList.js +163 -0
- package/lib/cjs/CollapseIcon.js +56 -0
- package/lib/cjs/Content.js +1 -4
- package/lib/cjs/FloatMenuContainer.js +93 -0
- package/lib/cjs/Footer.js +45 -0
- package/lib/cjs/Header.js +45 -0
- package/lib/cjs/Layout.js +4 -2
- package/lib/cjs/Profile.js +165 -0
- package/lib/cjs/SearchTrigger.js +71 -8
- package/lib/cjs/Sider.js +32 -18
- package/lib/cjs/index.js +26 -3
- package/lib/cjs/packages/hooks/use-id/lib/esm/index.js +51 -0
- package/lib/cjs/packages/hooks/use-id/node_modules/uuid/dist/esm-browser/regex.js +16 -0
- package/lib/cjs/packages/hooks/use-id/node_modules/uuid/dist/esm-browser/rng.js +33 -0
- package/lib/cjs/packages/hooks/use-id/node_modules/uuid/dist/esm-browser/stringify.js +41 -0
- package/lib/cjs/packages/hooks/use-id/node_modules/uuid/dist/esm-browser/v4.js +33 -0
- package/lib/cjs/packages/hooks/use-id/node_modules/uuid/dist/esm-browser/validate.js +19 -0
- package/lib/cjs/packages/hooks/use-latest/lib/esm/index.js +56 -0
- package/lib/cjs/packages/hooks/use-timeout/lib/esm/index.js +50 -0
- package/lib/cjs/packages/hooks/use-toggle/lib/esm/index.js +71 -0
- package/lib/cjs/packages/hooks/use-unmount-effect/lib/esm/index.js +44 -0
- package/lib/cjs/packages/icons/lib/esm/components/alert/check-outlined.js +65 -0
- package/lib/cjs/packages/icons/lib/esm/components/direction/right-outlined.js +65 -0
- package/lib/cjs/packages/ui/popover/lib/esm/Popover.js +111 -0
- package/lib/cjs/packages/ui/popover/lib/esm/index.js +31 -0
- package/lib/cjs/packages/ui/popover/lib/esm/styles/index.scss.js +35 -0
- package/lib/cjs/packages/ui/popover/lib/esm/types.js +31 -0
- package/lib/cjs/packages/ui/popover/lib/esm/use-popover.js +187 -0
- package/lib/cjs/packages/ui/popover/lib/esm/utils/container/lib/esm/index.js +67 -0
- package/lib/cjs/packages/ui/popover/lib/esm/with-api.js +84 -0
- package/lib/cjs/packages/utils/array-utils/lib/esm/index.js +33 -0
- package/lib/cjs/packages/utils/dom-utils/lib/esm/index.js +47 -0
- package/lib/cjs/packages/utils/react-utils/lib/esm/index.js +72 -0
- package/lib/cjs/packages/utils/type-assertion/lib/esm/index.js +36 -0
- package/lib/cjs/styles/index.scss.js +1 -1
- package/lib/esm/AppList.js +149 -0
- package/lib/esm/CollapseIcon.js +44 -0
- package/lib/esm/Content.js +1 -4
- package/lib/esm/FloatMenuContainer.js +81 -0
- package/lib/esm/Footer.js +33 -0
- package/lib/esm/Header.js +33 -0
- package/lib/esm/Layout.js +4 -2
- package/lib/esm/Profile.js +152 -0
- package/lib/esm/SearchTrigger.js +70 -8
- package/lib/esm/Sider.js +32 -18
- package/lib/esm/index.js +22 -4
- package/lib/esm/packages/hooks/use-id/lib/esm/index.js +45 -0
- package/lib/esm/packages/hooks/use-id/node_modules/uuid/dist/esm-browser/regex.js +11 -0
- package/lib/esm/packages/hooks/use-id/node_modules/uuid/dist/esm-browser/rng.js +27 -0
- package/lib/esm/packages/hooks/use-id/node_modules/uuid/dist/esm-browser/stringify.js +36 -0
- package/lib/esm/packages/hooks/use-id/node_modules/uuid/dist/esm-browser/v4.js +28 -0
- package/lib/esm/packages/hooks/use-id/node_modules/uuid/dist/esm-browser/validate.js +14 -0
- package/lib/esm/packages/hooks/use-latest/lib/esm/index.js +50 -0
- package/lib/esm/packages/hooks/use-timeout/lib/esm/index.js +45 -0
- package/lib/esm/packages/hooks/use-toggle/lib/esm/index.js +66 -0
- package/lib/esm/packages/hooks/use-unmount-effect/lib/esm/index.js +39 -0
- package/lib/esm/packages/icons/lib/esm/components/alert/check-outlined.js +53 -0
- package/lib/esm/packages/icons/lib/esm/components/direction/right-outlined.js +53 -0
- package/lib/esm/packages/ui/popover/lib/esm/Popover.js +97 -0
- package/lib/esm/packages/ui/popover/lib/esm/index.js +25 -0
- package/lib/esm/packages/ui/popover/lib/esm/styles/index.scss.js +23 -0
- package/lib/esm/packages/ui/popover/lib/esm/types.js +25 -0
- package/lib/esm/packages/ui/popover/lib/esm/use-popover.js +175 -0
- package/lib/esm/packages/ui/popover/lib/esm/utils/container/lib/esm/index.js +60 -0
- package/lib/esm/packages/ui/popover/lib/esm/with-api.js +79 -0
- package/lib/esm/packages/utils/array-utils/lib/esm/index.js +28 -0
- package/lib/esm/packages/utils/dom-utils/lib/esm/index.js +42 -0
- package/lib/esm/packages/utils/react-utils/lib/esm/index.js +65 -0
- package/lib/esm/packages/utils/type-assertion/lib/esm/index.js +29 -0
- package/lib/esm/styles/index.scss.js +1 -1
- package/lib/types/AppList.d.ts +71 -0
- package/lib/types/CollapseIcon.d.ts +1 -0
- package/lib/types/Content.d.ts +0 -3
- package/lib/types/FloatMenuContainer.d.ts +28 -0
- package/lib/types/Footer.d.ts +5 -0
- package/lib/types/Header.d.ts +5 -0
- package/lib/types/Layout.d.ts +4 -0
- package/lib/types/Profile.d.ts +24 -0
- package/lib/types/SearchTrigger.d.ts +11 -0
- package/lib/types/Sider.d.ts +21 -0
- package/lib/types/index.d.ts +17 -1
- package/package.json +9 -7
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
# @hi-ui/layout
|
|
2
|
+
|
|
3
|
+
## 5.0.0-alpha.0
|
|
4
|
+
|
|
5
|
+
### Major Changes
|
|
6
|
+
|
|
7
|
+
- b5ea92baa: feat(layout): 添加 AppListPopover 组件并更新布局样式和示例 (5.0)
|
|
8
|
+
|
|
9
|
+
### Minor Changes
|
|
10
|
+
|
|
11
|
+
- a1ad318d9: feat(layout): 增加 FloatMenuContainer 组件 (5.0)
|
|
12
|
+
- 8d7936b56: feat(layout): 增加 Profile 组件 (5.0)
|
|
13
|
+
- 229efe439: feat(layout): 新增 Layout 组件 (5.0)
|
|
14
|
+
- e704a964f: feat(layout): 增加 Header 和 Footer 组件 & 完善示例 (5.0)
|
|
15
|
+
- 95a545050: feat(layout): Sider 组件增加 maxWidth 参数 & FloatMenuContainer 组件增加 zIndex 参数 (5.0)
|
|
16
|
+
- 8116f0304: feat(layout): Sider 增加 resizable 参数,控制是否可改变宽度 (5.0)
|
|
17
|
+
|
|
18
|
+
### Patch Changes
|
|
19
|
+
|
|
20
|
+
- 307f68517: <br />
|
|
21
|
+
- perf(layout): 优化导航菜单交互体验 (5.0)
|
|
22
|
+
- perf(menu): 优化搜索菜单组件的样式和交互逻辑 & 修改分组菜单样式问题 (5.0)
|
|
23
|
+
- 8116f0304: fix: 修改 UI 问题 (5.0)
|
|
24
|
+
- 46dbd140f: style(layout): 修改 Sider 收起时宽度为 60px & 增加 width 参数 (5.0)
|
|
25
|
+
- 300d1573a: perf(layout&menu): 优化 FloatMenuContainer 组件的折叠逻辑 & 修改 SideMenu 组件 hover 样式 (5.0)
|
|
26
|
+
- b2017f59b: style(layout): 在折叠状态下为 FloatMenuContainer 组件添加 z-index 属性 (5.0)
|
|
27
|
+
- 5e04c6937: style(layout): Sider 组件默认宽度改为 180px (5.0)
|
|
28
|
+
- Updated dependencies [5de7a848b]
|
|
29
|
+
- Updated dependencies [307f68517]
|
|
30
|
+
- Updated dependencies [1b05b44a4]
|
|
31
|
+
- Updated dependencies [de7f92b26]
|
|
32
|
+
- Updated dependencies [8116f0304]
|
|
33
|
+
- Updated dependencies [46dbd140f]
|
|
34
|
+
- Updated dependencies [300d1573a]
|
|
35
|
+
- Updated dependencies [77ed66eac]
|
|
36
|
+
- Updated dependencies [7f8760993]
|
|
37
|
+
- Updated dependencies [a1ad318d9]
|
|
38
|
+
- Updated dependencies [61d132802]
|
|
39
|
+
- Updated dependencies [d9b2b928c]
|
|
40
|
+
- Updated dependencies [2fec303ab]
|
|
41
|
+
- Updated dependencies [6eac4b78b]
|
|
42
|
+
- Updated dependencies [bcd3d08dd]
|
|
43
|
+
- Updated dependencies [4fb586f6f]
|
|
44
|
+
- Updated dependencies [b7ad460d8]
|
|
45
|
+
- Updated dependencies [0d2737b09]
|
|
46
|
+
- @hi-ui/menu@5.0.0-alpha.0
|
|
47
|
+
- @hi-ui/core@5.0.0-alpha.0
|
|
48
|
+
- @hi-ui/use-uncontrolled-state@5.0.0-alpha.0
|
|
49
|
+
- @hi-ui/popper@5.0.0-alpha.0
|
|
50
|
+
- @hi-ui/classname@5.0.0-alpha.0
|
|
51
|
+
- @hi-ui/env@5.0.0-alpha.0
|
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
/** @LICENSE
|
|
2
|
+
* @hi-ui/layout
|
|
3
|
+
* https://github.com/XiaoMi/hiui/tree/master/packages/ui/layout#readme
|
|
4
|
+
*
|
|
5
|
+
* Copyright (c) HiUI <mi-hiui@xiaomi.com>.
|
|
6
|
+
*
|
|
7
|
+
* This source code is licensed under the MIT license found in the
|
|
8
|
+
* LICENSE file in the root directory of this source tree.
|
|
9
|
+
*/
|
|
10
|
+
'use strict';
|
|
11
|
+
|
|
12
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
13
|
+
Object.defineProperty(exports, '__esModule', {
|
|
14
|
+
value: true
|
|
15
|
+
});
|
|
16
|
+
var tslib = require('tslib');
|
|
17
|
+
var React = require('react');
|
|
18
|
+
var classname = require('@hi-ui/classname');
|
|
19
|
+
var env = require('@hi-ui/env');
|
|
20
|
+
var useUncontrolledState = require('@hi-ui/use-uncontrolled-state');
|
|
21
|
+
var index = require('./packages/hooks/use-toggle/lib/esm/index.js');
|
|
22
|
+
var index$1 = require('./packages/ui/popover/lib/esm/index.js');
|
|
23
|
+
require('./packages/icons/lib/esm/styles/index.scss.js');
|
|
24
|
+
var checkOutlined = require('./packages/icons/lib/esm/components/alert/check-outlined.js');
|
|
25
|
+
function _interopDefaultCompat(e) {
|
|
26
|
+
return e && _typeof(e) === 'object' && 'default' in e ? e : {
|
|
27
|
+
'default': e
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
var React__default = /*#__PURE__*/_interopDefaultCompat(React);
|
|
31
|
+
var APP_LIST_PREFIX = classname.getPrefixCls('app-list');
|
|
32
|
+
/**
|
|
33
|
+
* 应用列表组件
|
|
34
|
+
*/
|
|
35
|
+
var AppList = /*#__PURE__*/React.forwardRef(function (_a, ref) {
|
|
36
|
+
var _a$prefixCls = _a.prefixCls,
|
|
37
|
+
prefixCls = _a$prefixCls === void 0 ? APP_LIST_PREFIX : _a$prefixCls,
|
|
38
|
+
_a$role = _a.role,
|
|
39
|
+
role = _a$role === void 0 ? 'app-list' : _a$role,
|
|
40
|
+
className = _a.className,
|
|
41
|
+
data = _a.data,
|
|
42
|
+
activeIdProp = _a.activeId,
|
|
43
|
+
defaultActiveId = _a.defaultActiveId,
|
|
44
|
+
titleRender = _a.titleRender,
|
|
45
|
+
onItemClick = _a.onItemClick,
|
|
46
|
+
rest = tslib.__rest(_a, ["prefixCls", "role", "className", "data", "activeId", "defaultActiveId", "titleRender", "onItemClick"]);
|
|
47
|
+
var cls = classname.cx(prefixCls, className);
|
|
48
|
+
var _useUncontrolledState = useUncontrolledState.useUncontrolledState(defaultActiveId, activeIdProp),
|
|
49
|
+
activeId = _useUncontrolledState[0],
|
|
50
|
+
tryChangeActiveId = _useUncontrolledState[1];
|
|
51
|
+
var handleItemClick = React.useCallback(function (item, event) {
|
|
52
|
+
tryChangeActiveId(item.id);
|
|
53
|
+
onItemClick === null || onItemClick === void 0 ? void 0 : onItemClick(item, event);
|
|
54
|
+
event.stopPropagation();
|
|
55
|
+
}, [tryChangeActiveId, onItemClick]);
|
|
56
|
+
var renderIcon = React.useCallback(function (item) {
|
|
57
|
+
var icon = item.icon,
|
|
58
|
+
title = item.title;
|
|
59
|
+
if (!icon) {
|
|
60
|
+
if (typeof title === 'string') {
|
|
61
|
+
return title.slice(0, 1);
|
|
62
|
+
}
|
|
63
|
+
return null;
|
|
64
|
+
}
|
|
65
|
+
return icon;
|
|
66
|
+
}, []);
|
|
67
|
+
return /*#__PURE__*/React__default["default"].createElement("div", Object.assign({
|
|
68
|
+
ref: ref,
|
|
69
|
+
role: role,
|
|
70
|
+
className: cls
|
|
71
|
+
}, rest), /*#__PURE__*/React__default["default"].createElement("div", {
|
|
72
|
+
className: prefixCls + "-wrapper"
|
|
73
|
+
}, data === null || data === void 0 ? void 0 : data.map(function (item) {
|
|
74
|
+
var _cx;
|
|
75
|
+
var id = item.id,
|
|
76
|
+
title = item.title,
|
|
77
|
+
iconBgColor = item.iconBgColor;
|
|
78
|
+
return /*#__PURE__*/React__default["default"].createElement("div", {
|
|
79
|
+
className: classname.cx(prefixCls + "-item", (_cx = {}, _cx[prefixCls + "-item--active"] = activeId === id, _cx)),
|
|
80
|
+
key: id,
|
|
81
|
+
onClick: function onClick(event) {
|
|
82
|
+
return handleItemClick(item, event);
|
|
83
|
+
}
|
|
84
|
+
}, /*#__PURE__*/React__default["default"].createElement("div", {
|
|
85
|
+
className: classname.cx(prefixCls + "-item__icon"),
|
|
86
|
+
style: {
|
|
87
|
+
backgroundColor: iconBgColor ? IconBgColorMap[iconBgColor] : undefined
|
|
88
|
+
}
|
|
89
|
+
}, renderIcon(item)), /*#__PURE__*/React__default["default"].createElement("div", {
|
|
90
|
+
className: prefixCls + "-item__title"
|
|
91
|
+
}, (titleRender === null || titleRender === void 0 ? void 0 : titleRender(item)) || title), /*#__PURE__*/React__default["default"].createElement("div", {
|
|
92
|
+
className: prefixCls + "-item__checked"
|
|
93
|
+
}, /*#__PURE__*/React__default["default"].createElement(checkOutlined.CheckOutlined, null)));
|
|
94
|
+
})));
|
|
95
|
+
});
|
|
96
|
+
var IconBgColorMap = {
|
|
97
|
+
// 深蓝色、浅蓝色、青色、绿色、紫色、黄色、橙色
|
|
98
|
+
BLUE: '#2660ff',
|
|
99
|
+
SKYBLUE: '#0aadff',
|
|
100
|
+
CYAN: '#04c2ac',
|
|
101
|
+
GREEN: '#24b237',
|
|
102
|
+
PURPLE: '#7f3df2',
|
|
103
|
+
YELLOW: '#ffbe0a',
|
|
104
|
+
ORANGE: '#ff7700'
|
|
105
|
+
};
|
|
106
|
+
if (env.__DEV__) {
|
|
107
|
+
AppList.displayName = 'AppList';
|
|
108
|
+
}
|
|
109
|
+
var AppListPopover = /*#__PURE__*/React.forwardRef(function (_a, ref) {
|
|
110
|
+
var onOpen = _a.onOpen,
|
|
111
|
+
onClose = _a.onClose,
|
|
112
|
+
visibleProp = _a.visible,
|
|
113
|
+
children = _a.children,
|
|
114
|
+
data = _a.data,
|
|
115
|
+
defaultActiveId = _a.defaultActiveId,
|
|
116
|
+
activeId = _a.activeId,
|
|
117
|
+
titleRender = _a.titleRender,
|
|
118
|
+
onItemClick = _a.onItemClick,
|
|
119
|
+
restProps = tslib.__rest(_a, ["onOpen", "onClose", "visible", "children", "data", "defaultActiveId", "activeId", "titleRender", "onItemClick"]);
|
|
120
|
+
var _useUncontrolledToggl = index.useUncontrolledToggle({
|
|
121
|
+
defaultVisible: false,
|
|
122
|
+
visible: visibleProp
|
|
123
|
+
}),
|
|
124
|
+
visible = _useUncontrolledToggl[0],
|
|
125
|
+
visibleAction = _useUncontrolledToggl[1];
|
|
126
|
+
var handleOpen = React.useCallback(function () {
|
|
127
|
+
visibleAction.on();
|
|
128
|
+
onOpen === null || onOpen === void 0 ? void 0 : onOpen();
|
|
129
|
+
}, [onOpen, visibleAction]);
|
|
130
|
+
var handleClose = React.useCallback(function () {
|
|
131
|
+
visibleAction.off();
|
|
132
|
+
onClose === null || onClose === void 0 ? void 0 : onClose();
|
|
133
|
+
}, [onClose, visibleAction]);
|
|
134
|
+
return /*#__PURE__*/React__default["default"].createElement(index$1.Popover, Object.assign({
|
|
135
|
+
style: {
|
|
136
|
+
boxSizing: 'border-box',
|
|
137
|
+
paddingLeft: 12,
|
|
138
|
+
paddingRight: 12,
|
|
139
|
+
maxHeight: 408,
|
|
140
|
+
overflow: 'auto'
|
|
141
|
+
},
|
|
142
|
+
visible: visible,
|
|
143
|
+
arrow: false,
|
|
144
|
+
placement: "right-start",
|
|
145
|
+
gutterGap: 4,
|
|
146
|
+
content: /*#__PURE__*/React__default["default"].createElement(AppList, {
|
|
147
|
+
ref: ref,
|
|
148
|
+
data: data,
|
|
149
|
+
defaultActiveId: defaultActiveId,
|
|
150
|
+
activeId: activeId,
|
|
151
|
+
titleRender: titleRender,
|
|
152
|
+
onItemClick: onItemClick
|
|
153
|
+
}),
|
|
154
|
+
onOpen: handleOpen,
|
|
155
|
+
onClose: handleClose
|
|
156
|
+
}, restProps), children);
|
|
157
|
+
});
|
|
158
|
+
if (env.__DEV__) {
|
|
159
|
+
AppListPopover.displayName = 'AppListPopover';
|
|
160
|
+
}
|
|
161
|
+
exports.AppList = AppList;
|
|
162
|
+
exports.AppListPopover = AppListPopover;
|
|
163
|
+
exports.IconBgColorMap = IconBgColorMap;
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/** @LICENSE
|
|
2
|
+
* @hi-ui/layout
|
|
3
|
+
* https://github.com/XiaoMi/hiui/tree/master/packages/ui/layout#readme
|
|
4
|
+
*
|
|
5
|
+
* Copyright (c) HiUI <mi-hiui@xiaomi.com>.
|
|
6
|
+
*
|
|
7
|
+
* This source code is licensed under the MIT license found in the
|
|
8
|
+
* LICENSE file in the root directory of this source tree.
|
|
9
|
+
*/
|
|
10
|
+
'use strict';
|
|
11
|
+
|
|
12
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
13
|
+
Object.defineProperty(exports, '__esModule', {
|
|
14
|
+
value: true
|
|
15
|
+
});
|
|
16
|
+
var React = require('react');
|
|
17
|
+
function _interopDefaultCompat(e) {
|
|
18
|
+
return e && _typeof(e) === 'object' && 'default' in e ? e : {
|
|
19
|
+
'default': e
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
var React__default = /*#__PURE__*/_interopDefaultCompat(React);
|
|
23
|
+
var CollapseIcon = function CollapseIcon() {
|
|
24
|
+
return /*#__PURE__*/React__default["default"].createElement("svg", {
|
|
25
|
+
width: "16",
|
|
26
|
+
height: "16",
|
|
27
|
+
viewBox: "0 0 16 16",
|
|
28
|
+
fill: "none",
|
|
29
|
+
xmlns: "http://www.w3.org/2000/svg"
|
|
30
|
+
}, /*#__PURE__*/React__default["default"].createElement("path", {
|
|
31
|
+
d: "M10 3L13 3",
|
|
32
|
+
stroke: "#60636B",
|
|
33
|
+
strokeWidth: "1.4",
|
|
34
|
+
strokeLinecap: "round",
|
|
35
|
+
strokeLinejoin: "round"
|
|
36
|
+
}), /*#__PURE__*/React__default["default"].createElement("path", {
|
|
37
|
+
d: "M10 8L13 8",
|
|
38
|
+
stroke: "#60636B",
|
|
39
|
+
strokeWidth: "1.4",
|
|
40
|
+
strokeLinecap: "round",
|
|
41
|
+
strokeLinejoin: "round"
|
|
42
|
+
}), /*#__PURE__*/React__default["default"].createElement("path", {
|
|
43
|
+
d: "M3 13L13 13",
|
|
44
|
+
stroke: "#60636B",
|
|
45
|
+
strokeWidth: "1.4",
|
|
46
|
+
strokeLinecap: "round",
|
|
47
|
+
strokeLinejoin: "round"
|
|
48
|
+
}), /*#__PURE__*/React__default["default"].createElement("path", {
|
|
49
|
+
d: "M6 8L3 5.5L6 3",
|
|
50
|
+
stroke: "#60636B",
|
|
51
|
+
strokeWidth: "1.4",
|
|
52
|
+
strokeLinecap: "round",
|
|
53
|
+
strokeLinejoin: "round"
|
|
54
|
+
}));
|
|
55
|
+
};
|
|
56
|
+
exports.CollapseIcon = CollapseIcon;
|
package/lib/cjs/Content.js
CHANGED
|
@@ -24,9 +24,6 @@ function _interopDefaultCompat(e) {
|
|
|
24
24
|
}
|
|
25
25
|
var React__default = /*#__PURE__*/_interopDefaultCompat(React);
|
|
26
26
|
var CONTENT_PREFIX = classname.getPrefixCls('content');
|
|
27
|
-
/**
|
|
28
|
-
* 内容区域组件
|
|
29
|
-
*/
|
|
30
27
|
var Content = /*#__PURE__*/React.forwardRef(function (_a, ref) {
|
|
31
28
|
var _a$prefixCls = _a.prefixCls,
|
|
32
29
|
prefixCls = _a$prefixCls === void 0 ? CONTENT_PREFIX : _a$prefixCls,
|
|
@@ -36,7 +33,7 @@ var Content = /*#__PURE__*/React.forwardRef(function (_a, ref) {
|
|
|
36
33
|
children = _a.children,
|
|
37
34
|
rest = tslib.__rest(_a, ["prefixCls", "role", "className", "children"]);
|
|
38
35
|
var cls = classname.cx(prefixCls, className);
|
|
39
|
-
return /*#__PURE__*/React__default["default"].createElement("
|
|
36
|
+
return /*#__PURE__*/React__default["default"].createElement("main", Object.assign({
|
|
40
37
|
ref: ref,
|
|
41
38
|
role: role,
|
|
42
39
|
className: cls
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
/** @LICENSE
|
|
2
|
+
* @hi-ui/layout
|
|
3
|
+
* https://github.com/XiaoMi/hiui/tree/master/packages/ui/layout#readme
|
|
4
|
+
*
|
|
5
|
+
* Copyright (c) HiUI <mi-hiui@xiaomi.com>.
|
|
6
|
+
*
|
|
7
|
+
* This source code is licensed under the MIT license found in the
|
|
8
|
+
* LICENSE file in the root directory of this source tree.
|
|
9
|
+
*/
|
|
10
|
+
'use strict';
|
|
11
|
+
|
|
12
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
13
|
+
Object.defineProperty(exports, '__esModule', {
|
|
14
|
+
value: true
|
|
15
|
+
});
|
|
16
|
+
var tslib = require('tslib');
|
|
17
|
+
var React = require('react');
|
|
18
|
+
var classname = require('@hi-ui/classname');
|
|
19
|
+
var env = require('@hi-ui/env');
|
|
20
|
+
var core = require('@hi-ui/core');
|
|
21
|
+
var CollapseIcon = require('./CollapseIcon.js');
|
|
22
|
+
function _interopDefaultCompat(e) {
|
|
23
|
+
return e && _typeof(e) === 'object' && 'default' in e ? e : {
|
|
24
|
+
'default': e
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
var React__default = /*#__PURE__*/_interopDefaultCompat(React);
|
|
28
|
+
var FLOAT_MENU_CONTAINER_PREFIX = classname.getPrefixCls('float-menu-container');
|
|
29
|
+
/**
|
|
30
|
+
* 浮动菜单容器组件
|
|
31
|
+
*/
|
|
32
|
+
var FloatMenuContainer = /*#__PURE__*/React.forwardRef(function (_a, ref) {
|
|
33
|
+
var _cx;
|
|
34
|
+
var _a$prefixCls = _a.prefixCls,
|
|
35
|
+
prefixCls = _a$prefixCls === void 0 ? FLOAT_MENU_CONTAINER_PREFIX : _a$prefixCls,
|
|
36
|
+
_a$role = _a.role,
|
|
37
|
+
role = _a$role === void 0 ? 'float-menu-container' : _a$role,
|
|
38
|
+
className = _a.className,
|
|
39
|
+
children = _a.children,
|
|
40
|
+
visibleProp = _a.visible,
|
|
41
|
+
width = _a.width,
|
|
42
|
+
_a$collapsed = _a.collapsed,
|
|
43
|
+
collapsedProp = _a$collapsed === void 0 ? true : _a$collapsed,
|
|
44
|
+
onCollapse = _a.onCollapse,
|
|
45
|
+
zIndex = _a.zIndex,
|
|
46
|
+
rest = tslib.__rest(_a, ["prefixCls", "role", "className", "children", "visible", "width", "collapsed", "onCollapse", "zIndex"]);
|
|
47
|
+
var cls = classname.cx(prefixCls, className);
|
|
48
|
+
var i18n = core.useLocaleContext();
|
|
49
|
+
var _React$useState = React__default["default"].useState(collapsedProp),
|
|
50
|
+
collapsed = _React$useState[0],
|
|
51
|
+
setCollapsed = _React$useState[1];
|
|
52
|
+
React__default["default"].useEffect(function () {
|
|
53
|
+
setCollapsed(collapsedProp);
|
|
54
|
+
}, [collapsedProp]);
|
|
55
|
+
var visible = React__default["default"].useMemo(function () {
|
|
56
|
+
return collapsed ? visibleProp : true;
|
|
57
|
+
}, [collapsed, visibleProp]);
|
|
58
|
+
var handleCollapse = function handleCollapse() {
|
|
59
|
+
var newCollapsed = !collapsed;
|
|
60
|
+
setCollapsed(newCollapsed);
|
|
61
|
+
onCollapse === null || onCollapse === void 0 ? void 0 : onCollapse(newCollapsed);
|
|
62
|
+
};
|
|
63
|
+
return /*#__PURE__*/React__default["default"].createElement("div", Object.assign({
|
|
64
|
+
ref: ref,
|
|
65
|
+
role: role,
|
|
66
|
+
className: cls
|
|
67
|
+
}, rest, {
|
|
68
|
+
style: visible ? {
|
|
69
|
+
width: collapsed ? 0 : width
|
|
70
|
+
} : {}
|
|
71
|
+
}), /*#__PURE__*/React__default["default"].createElement("div", {
|
|
72
|
+
className: classname.cx(prefixCls + "-content", (_cx = {}, _cx[prefixCls + "-content--show"] = visible, _cx[prefixCls + "-content--collapsed"] = collapsed, _cx)),
|
|
73
|
+
style: {
|
|
74
|
+
zIndex: zIndex,
|
|
75
|
+
width: visible ? width : 0
|
|
76
|
+
}
|
|
77
|
+
}, visible && ( /*#__PURE__*/React__default["default"].createElement("div", {
|
|
78
|
+
className: classname.cx(prefixCls + "-collapse-wrapper")
|
|
79
|
+
}, /*#__PURE__*/React__default["default"].createElement("div", {
|
|
80
|
+
className: classname.cx(prefixCls + "-collapse"),
|
|
81
|
+
onClick: handleCollapse
|
|
82
|
+
}, /*#__PURE__*/React__default["default"].createElement("span", {
|
|
83
|
+
className: classname.cx(prefixCls + "-collapse-icon")
|
|
84
|
+
}, /*#__PURE__*/React__default["default"].createElement(CollapseIcon.CollapseIcon, null)), /*#__PURE__*/React__default["default"].createElement("span", {
|
|
85
|
+
className: classname.cx(prefixCls + "-collapse-text")
|
|
86
|
+
}, collapsed ? i18n.timeline.expand : i18n.timeline.collapse)))), /*#__PURE__*/React__default["default"].createElement("div", {
|
|
87
|
+
className: classname.cx(prefixCls + "-content-wrapper")
|
|
88
|
+
}, children)));
|
|
89
|
+
});
|
|
90
|
+
if (env.__DEV__) {
|
|
91
|
+
FloatMenuContainer.displayName = 'FloatMenuContainer';
|
|
92
|
+
}
|
|
93
|
+
exports.FloatMenuContainer = FloatMenuContainer;
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/** @LICENSE
|
|
2
|
+
* @hi-ui/layout
|
|
3
|
+
* https://github.com/XiaoMi/hiui/tree/master/packages/ui/layout#readme
|
|
4
|
+
*
|
|
5
|
+
* Copyright (c) HiUI <mi-hiui@xiaomi.com>.
|
|
6
|
+
*
|
|
7
|
+
* This source code is licensed under the MIT license found in the
|
|
8
|
+
* LICENSE file in the root directory of this source tree.
|
|
9
|
+
*/
|
|
10
|
+
'use strict';
|
|
11
|
+
|
|
12
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
13
|
+
Object.defineProperty(exports, '__esModule', {
|
|
14
|
+
value: true
|
|
15
|
+
});
|
|
16
|
+
var tslib = require('tslib');
|
|
17
|
+
var React = require('react');
|
|
18
|
+
var classname = require('@hi-ui/classname');
|
|
19
|
+
var env = require('@hi-ui/env');
|
|
20
|
+
function _interopDefaultCompat(e) {
|
|
21
|
+
return e && _typeof(e) === 'object' && 'default' in e ? e : {
|
|
22
|
+
'default': e
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
var React__default = /*#__PURE__*/_interopDefaultCompat(React);
|
|
26
|
+
var HEADER_PREFIX = classname.getPrefixCls('footer');
|
|
27
|
+
var Footer = /*#__PURE__*/React.forwardRef(function (_a, ref) {
|
|
28
|
+
var _a$prefixCls = _a.prefixCls,
|
|
29
|
+
prefixCls = _a$prefixCls === void 0 ? HEADER_PREFIX : _a$prefixCls,
|
|
30
|
+
_a$role = _a.role,
|
|
31
|
+
role = _a$role === void 0 ? 'footer' : _a$role,
|
|
32
|
+
className = _a.className,
|
|
33
|
+
children = _a.children,
|
|
34
|
+
rest = tslib.__rest(_a, ["prefixCls", "role", "className", "children"]);
|
|
35
|
+
var cls = classname.cx(prefixCls, className);
|
|
36
|
+
return /*#__PURE__*/React__default["default"].createElement("footer", Object.assign({
|
|
37
|
+
ref: ref,
|
|
38
|
+
role: role,
|
|
39
|
+
className: cls
|
|
40
|
+
}, rest), children);
|
|
41
|
+
});
|
|
42
|
+
if (env.__DEV__) {
|
|
43
|
+
Footer.displayName = 'Footer';
|
|
44
|
+
}
|
|
45
|
+
exports.Footer = Footer;
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/** @LICENSE
|
|
2
|
+
* @hi-ui/layout
|
|
3
|
+
* https://github.com/XiaoMi/hiui/tree/master/packages/ui/layout#readme
|
|
4
|
+
*
|
|
5
|
+
* Copyright (c) HiUI <mi-hiui@xiaomi.com>.
|
|
6
|
+
*
|
|
7
|
+
* This source code is licensed under the MIT license found in the
|
|
8
|
+
* LICENSE file in the root directory of this source tree.
|
|
9
|
+
*/
|
|
10
|
+
'use strict';
|
|
11
|
+
|
|
12
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
13
|
+
Object.defineProperty(exports, '__esModule', {
|
|
14
|
+
value: true
|
|
15
|
+
});
|
|
16
|
+
var tslib = require('tslib');
|
|
17
|
+
var React = require('react');
|
|
18
|
+
var classname = require('@hi-ui/classname');
|
|
19
|
+
var env = require('@hi-ui/env');
|
|
20
|
+
function _interopDefaultCompat(e) {
|
|
21
|
+
return e && _typeof(e) === 'object' && 'default' in e ? e : {
|
|
22
|
+
'default': e
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
var React__default = /*#__PURE__*/_interopDefaultCompat(React);
|
|
26
|
+
var HEADER_PREFIX = classname.getPrefixCls('header');
|
|
27
|
+
var Header = /*#__PURE__*/React.forwardRef(function (_a, ref) {
|
|
28
|
+
var _a$prefixCls = _a.prefixCls,
|
|
29
|
+
prefixCls = _a$prefixCls === void 0 ? HEADER_PREFIX : _a$prefixCls,
|
|
30
|
+
_a$role = _a.role,
|
|
31
|
+
role = _a$role === void 0 ? 'header' : _a$role,
|
|
32
|
+
className = _a.className,
|
|
33
|
+
children = _a.children,
|
|
34
|
+
rest = tslib.__rest(_a, ["prefixCls", "role", "className", "children"]);
|
|
35
|
+
var cls = classname.cx(prefixCls, className);
|
|
36
|
+
return /*#__PURE__*/React__default["default"].createElement("header", Object.assign({
|
|
37
|
+
ref: ref,
|
|
38
|
+
role: role,
|
|
39
|
+
className: cls
|
|
40
|
+
}, rest), children);
|
|
41
|
+
});
|
|
42
|
+
if (env.__DEV__) {
|
|
43
|
+
Header.displayName = 'Header';
|
|
44
|
+
}
|
|
45
|
+
exports.Header = Header;
|
package/lib/cjs/Layout.js
CHANGED
|
@@ -34,8 +34,10 @@ var Layout = /*#__PURE__*/React.forwardRef(function (_a, ref) {
|
|
|
34
34
|
role = _a$role === void 0 ? 'layout' : _a$role,
|
|
35
35
|
className = _a.className,
|
|
36
36
|
children = _a.children,
|
|
37
|
-
|
|
38
|
-
|
|
37
|
+
_a$direction = _a.direction,
|
|
38
|
+
direction = _a$direction === void 0 ? 'row' : _a$direction,
|
|
39
|
+
rest = tslib.__rest(_a, ["prefixCls", "role", "className", "children", "direction"]);
|
|
40
|
+
var cls = classname.cx(prefixCls, className, prefixCls + "--direction-" + direction);
|
|
39
41
|
return /*#__PURE__*/React__default["default"].createElement("div", Object.assign({
|
|
40
42
|
ref: ref,
|
|
41
43
|
role: role,
|
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
/** @LICENSE
|
|
2
|
+
* @hi-ui/layout
|
|
3
|
+
* https://github.com/XiaoMi/hiui/tree/master/packages/ui/layout#readme
|
|
4
|
+
*
|
|
5
|
+
* Copyright (c) HiUI <mi-hiui@xiaomi.com>.
|
|
6
|
+
*
|
|
7
|
+
* This source code is licensed under the MIT license found in the
|
|
8
|
+
* LICENSE file in the root directory of this source tree.
|
|
9
|
+
*/
|
|
10
|
+
'use strict';
|
|
11
|
+
|
|
12
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
13
|
+
Object.defineProperty(exports, '__esModule', {
|
|
14
|
+
value: true
|
|
15
|
+
});
|
|
16
|
+
var tslib = require('tslib');
|
|
17
|
+
var React = require('react');
|
|
18
|
+
var classname = require('@hi-ui/classname');
|
|
19
|
+
var env = require('@hi-ui/env');
|
|
20
|
+
var index = require('./packages/ui/popover/lib/esm/index.js');
|
|
21
|
+
require('./packages/icons/lib/esm/styles/index.scss.js');
|
|
22
|
+
var checkOutlined = require('./packages/icons/lib/esm/components/alert/check-outlined.js');
|
|
23
|
+
var rightOutlined = require('./packages/icons/lib/esm/components/direction/right-outlined.js');
|
|
24
|
+
var index$1 = require('./packages/hooks/use-toggle/lib/esm/index.js');
|
|
25
|
+
var useUncontrolledState = require('@hi-ui/use-uncontrolled-state');
|
|
26
|
+
function _interopDefaultCompat(e) {
|
|
27
|
+
return e && _typeof(e) === 'object' && 'default' in e ? e : {
|
|
28
|
+
'default': e
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
var React__default = /*#__PURE__*/_interopDefaultCompat(React);
|
|
32
|
+
var PROFILE_PREFIX = classname.getPrefixCls('profile');
|
|
33
|
+
var Profile = /*#__PURE__*/React.forwardRef(function (_a, ref) {
|
|
34
|
+
var _b;
|
|
35
|
+
var _a$prefixCls = _a.prefixCls,
|
|
36
|
+
prefixCls = _a$prefixCls === void 0 ? PROFILE_PREFIX : _a$prefixCls,
|
|
37
|
+
_a$role = _a.role,
|
|
38
|
+
role = _a$role === void 0 ? 'profile' : _a$role,
|
|
39
|
+
className = _a.className,
|
|
40
|
+
header = _a.header,
|
|
41
|
+
footer = _a.footer,
|
|
42
|
+
settings = _a.settings,
|
|
43
|
+
rest = tslib.__rest(_a, ["prefixCls", "role", "className", "children", "header", "footer", "settings"]);
|
|
44
|
+
var cls = classname.cx(prefixCls, className);
|
|
45
|
+
var _useUncontrolledState = useUncontrolledState.useUncontrolledState((_b = settings === null || settings === void 0 ? void 0 : settings.value) !== null && _b !== void 0 ? _b : {}, settings === null || settings === void 0 ? void 0 : settings.value),
|
|
46
|
+
value = _useUncontrolledState[0],
|
|
47
|
+
setValue = _useUncontrolledState[1];
|
|
48
|
+
return /*#__PURE__*/React__default["default"].createElement("div", Object.assign({
|
|
49
|
+
ref: ref,
|
|
50
|
+
role: role,
|
|
51
|
+
className: cls
|
|
52
|
+
}, rest), /*#__PURE__*/React__default["default"].createElement("div", {
|
|
53
|
+
className: prefixCls + "__header"
|
|
54
|
+
}, header), /*#__PURE__*/React__default["default"].createElement("div", {
|
|
55
|
+
className: prefixCls + "__settings"
|
|
56
|
+
}, settings === null || settings === void 0 ? void 0 : settings.data.map(function (item) {
|
|
57
|
+
var _a, _b, _c, _d;
|
|
58
|
+
return /*#__PURE__*/React__default["default"].createElement(index.Popover, Object.assign({
|
|
59
|
+
style: {
|
|
60
|
+
boxSizing: 'border-box',
|
|
61
|
+
width: 200,
|
|
62
|
+
padding: 8
|
|
63
|
+
}
|
|
64
|
+
}, !((_a = item.children) === null || _a === void 0 ? void 0 : _a.length) ? {
|
|
65
|
+
visible: false
|
|
66
|
+
} : {}, {
|
|
67
|
+
key: item.id,
|
|
68
|
+
disabledPortal: true,
|
|
69
|
+
arrow: false,
|
|
70
|
+
placement: (_b = settings === null || settings === void 0 ? void 0 : settings.placement) !== null && _b !== void 0 ? _b : 'right-start',
|
|
71
|
+
content: /*#__PURE__*/React__default["default"].createElement("div", null, (_c = item.children) === null || _c === void 0 ? void 0 : _c.map(function (child) {
|
|
72
|
+
var _cx;
|
|
73
|
+
var keys = Object.keys(value);
|
|
74
|
+
var currentKey = keys.find(function (key) {
|
|
75
|
+
return key === item.id;
|
|
76
|
+
}) || item.id;
|
|
77
|
+
var checked = currentKey && value[currentKey !== null && currentKey !== void 0 ? currentKey : ''] === child.id;
|
|
78
|
+
return /*#__PURE__*/React__default["default"].createElement("div", {
|
|
79
|
+
key: child.id,
|
|
80
|
+
className: classname.cx(prefixCls + "__settings-item-leaf", (_cx = {}, _cx[prefixCls + "__settings-item-leaf--checked"] = checked, _cx)),
|
|
81
|
+
onClick: function onClick(evt) {
|
|
82
|
+
var _Object$assign, _Object$assign2;
|
|
83
|
+
var _a, _b;
|
|
84
|
+
var nextValue = checked ? Object.assign(Object.assign({}, value), (_Object$assign = {}, _Object$assign[currentKey || ''] = '', _Object$assign)) : Object.assign(Object.assign({}, value), (_Object$assign2 = {}, _Object$assign2[currentKey || ''] = child.id || '', _Object$assign2));
|
|
85
|
+
setValue(nextValue);
|
|
86
|
+
(_a = settings === null || settings === void 0 ? void 0 : settings.onChange) === null || _a === void 0 ? void 0 : _a.call(settings, nextValue, child);
|
|
87
|
+
(_b = settings === null || settings === void 0 ? void 0 : settings.onItemClick) === null || _b === void 0 ? void 0 : _b.call(settings, evt, child);
|
|
88
|
+
}
|
|
89
|
+
}, /*#__PURE__*/React__default["default"].createElement("div", {
|
|
90
|
+
className: prefixCls + "__settings-item-leaf__title"
|
|
91
|
+
}, child.title), /*#__PURE__*/React__default["default"].createElement("div", {
|
|
92
|
+
className: prefixCls + "__settings-item-leaf__checked"
|
|
93
|
+
}, checked && /*#__PURE__*/React__default["default"].createElement(checkOutlined.CheckOutlined, null)));
|
|
94
|
+
}))
|
|
95
|
+
}), /*#__PURE__*/React__default["default"].createElement("div", {
|
|
96
|
+
className: prefixCls + "__settings-item",
|
|
97
|
+
onClick: function onClick(evt) {
|
|
98
|
+
var _a;
|
|
99
|
+
return (_a = settings === null || settings === void 0 ? void 0 : settings.onItemClick) === null || _a === void 0 ? void 0 : _a.call(settings, evt, item);
|
|
100
|
+
}
|
|
101
|
+
}, /*#__PURE__*/React__default["default"].createElement("div", {
|
|
102
|
+
className: prefixCls + "__settings-item__title-wrapper"
|
|
103
|
+
}, /*#__PURE__*/React__default["default"].createElement("div", {
|
|
104
|
+
className: prefixCls + "__settings-item__title"
|
|
105
|
+
}, item.title), item.subtitle ? ( /*#__PURE__*/React__default["default"].createElement("div", {
|
|
106
|
+
className: prefixCls + "__settings-item__subtitle"
|
|
107
|
+
}, item.subtitle)) : null), ((_d = item.children) === null || _d === void 0 ? void 0 : _d.length) ? ( /*#__PURE__*/React__default["default"].createElement("div", {
|
|
108
|
+
className: prefixCls + "__settings-item__arrow"
|
|
109
|
+
}, /*#__PURE__*/React__default["default"].createElement(rightOutlined.RightOutlined, null))) : null));
|
|
110
|
+
})), /*#__PURE__*/React__default["default"].createElement("div", {
|
|
111
|
+
className: prefixCls + "__footer"
|
|
112
|
+
}, /*#__PURE__*/React__default["default"].createElement("div", {
|
|
113
|
+
className: prefixCls + "__footer__content"
|
|
114
|
+
}, footer)));
|
|
115
|
+
});
|
|
116
|
+
if (env.__DEV__) {
|
|
117
|
+
Profile.displayName = 'Profile';
|
|
118
|
+
}
|
|
119
|
+
var ProfilePopover = /*#__PURE__*/React.forwardRef(function (_a, ref) {
|
|
120
|
+
var onOpen = _a.onOpen,
|
|
121
|
+
onClose = _a.onClose,
|
|
122
|
+
visibleProp = _a.visible,
|
|
123
|
+
_a$placement = _a.placement,
|
|
124
|
+
placement = _a$placement === void 0 ? 'right-end' : _a$placement,
|
|
125
|
+
_a$trigger = _a.trigger,
|
|
126
|
+
trigger = _a$trigger === void 0 ? 'click' : _a$trigger,
|
|
127
|
+
children = _a.children,
|
|
128
|
+
restProps = tslib.__rest(_a, ["onOpen", "onClose", "visible", "placement", "trigger", "children"]);
|
|
129
|
+
var _useUncontrolledToggl = index$1.useUncontrolledToggle({
|
|
130
|
+
defaultVisible: false,
|
|
131
|
+
visible: visibleProp
|
|
132
|
+
}),
|
|
133
|
+
visible = _useUncontrolledToggl[0],
|
|
134
|
+
visibleAction = _useUncontrolledToggl[1];
|
|
135
|
+
var handleOpen = React.useCallback(function () {
|
|
136
|
+
visibleAction.on();
|
|
137
|
+
onOpen === null || onOpen === void 0 ? void 0 : onOpen();
|
|
138
|
+
}, [onOpen, visibleAction]);
|
|
139
|
+
var handleClose = React.useCallback(function () {
|
|
140
|
+
visibleAction.off();
|
|
141
|
+
onClose === null || onClose === void 0 ? void 0 : onClose();
|
|
142
|
+
}, [onClose, visibleAction]);
|
|
143
|
+
return /*#__PURE__*/React__default["default"].createElement(index.Popover, {
|
|
144
|
+
style: {
|
|
145
|
+
boxSizing: 'border-box',
|
|
146
|
+
padding: 0,
|
|
147
|
+
overflow: 'auto'
|
|
148
|
+
},
|
|
149
|
+
visible: visible,
|
|
150
|
+
arrow: false,
|
|
151
|
+
trigger: trigger,
|
|
152
|
+
placement: placement,
|
|
153
|
+
gutterGap: 16,
|
|
154
|
+
content: /*#__PURE__*/React__default["default"].createElement(Profile, Object.assign({
|
|
155
|
+
ref: ref
|
|
156
|
+
}, restProps)),
|
|
157
|
+
onOpen: handleOpen,
|
|
158
|
+
onClose: handleClose
|
|
159
|
+
}, children);
|
|
160
|
+
});
|
|
161
|
+
if (env.__DEV__) {
|
|
162
|
+
ProfilePopover.displayName = 'ProfilePopover';
|
|
163
|
+
}
|
|
164
|
+
exports.Profile = Profile;
|
|
165
|
+
exports.ProfilePopover = ProfilePopover;
|