@hi-ui/layout 5.0.0-canary.1 → 5.0.0-canary.10

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.
Files changed (83) hide show
  1. package/CHANGELOG.md +89 -0
  2. package/lib/cjs/AppList.js +163 -0
  3. package/lib/cjs/CollapseIcon.js +56 -0
  4. package/lib/cjs/Content.js +1 -4
  5. package/lib/cjs/FloatMenuContainer.js +93 -0
  6. package/lib/cjs/Footer.js +45 -0
  7. package/lib/cjs/Header.js +45 -0
  8. package/lib/cjs/Layout.js +4 -2
  9. package/lib/cjs/Profile.js +165 -0
  10. package/lib/cjs/SearchTrigger.js +22 -11
  11. package/lib/cjs/Sider.js +27 -16
  12. package/lib/cjs/index.js +26 -3
  13. package/lib/cjs/packages/hooks/use-id/lib/esm/index.js +51 -0
  14. package/lib/cjs/packages/hooks/use-id/node_modules/uuid/dist/esm-browser/regex.js +16 -0
  15. package/lib/cjs/packages/hooks/use-id/node_modules/uuid/dist/esm-browser/rng.js +33 -0
  16. package/lib/cjs/packages/hooks/use-id/node_modules/uuid/dist/esm-browser/stringify.js +41 -0
  17. package/lib/cjs/packages/hooks/use-id/node_modules/uuid/dist/esm-browser/v4.js +33 -0
  18. package/lib/cjs/packages/hooks/use-id/node_modules/uuid/dist/esm-browser/validate.js +19 -0
  19. package/lib/cjs/packages/hooks/use-latest/lib/esm/index.js +56 -0
  20. package/lib/cjs/packages/hooks/use-timeout/lib/esm/index.js +50 -0
  21. package/lib/cjs/packages/hooks/use-toggle/lib/esm/index.js +71 -0
  22. package/lib/cjs/packages/hooks/use-unmount-effect/lib/esm/index.js +44 -0
  23. package/lib/cjs/packages/icons/lib/esm/components/alert/check-outlined.js +65 -0
  24. package/lib/cjs/packages/icons/lib/esm/components/direction/right-outlined.js +65 -0
  25. package/lib/cjs/packages/ui/popover/lib/esm/Popover.js +111 -0
  26. package/lib/cjs/packages/ui/popover/lib/esm/index.js +31 -0
  27. package/lib/cjs/packages/ui/popover/lib/esm/styles/index.scss.js +35 -0
  28. package/lib/cjs/packages/ui/popover/lib/esm/types.js +31 -0
  29. package/lib/cjs/packages/ui/popover/lib/esm/use-popover.js +187 -0
  30. package/lib/cjs/packages/ui/popover/lib/esm/utils/container/lib/esm/index.js +67 -0
  31. package/lib/cjs/packages/ui/popover/lib/esm/with-api.js +84 -0
  32. package/lib/cjs/packages/utils/array-utils/lib/esm/index.js +33 -0
  33. package/lib/cjs/packages/utils/dom-utils/lib/esm/index.js +47 -0
  34. package/lib/cjs/packages/utils/react-utils/lib/esm/index.js +72 -0
  35. package/lib/cjs/packages/utils/type-assertion/lib/esm/index.js +36 -0
  36. package/lib/cjs/styles/index.scss.js +1 -1
  37. package/lib/esm/AppList.js +149 -0
  38. package/lib/esm/CollapseIcon.js +44 -0
  39. package/lib/esm/Content.js +1 -4
  40. package/lib/esm/FloatMenuContainer.js +81 -0
  41. package/lib/esm/Footer.js +33 -0
  42. package/lib/esm/Header.js +33 -0
  43. package/lib/esm/Layout.js +4 -2
  44. package/lib/esm/Profile.js +152 -0
  45. package/lib/esm/SearchTrigger.js +22 -11
  46. package/lib/esm/Sider.js +27 -16
  47. package/lib/esm/index.js +22 -4
  48. package/lib/esm/packages/hooks/use-id/lib/esm/index.js +45 -0
  49. package/lib/esm/packages/hooks/use-id/node_modules/uuid/dist/esm-browser/regex.js +11 -0
  50. package/lib/esm/packages/hooks/use-id/node_modules/uuid/dist/esm-browser/rng.js +27 -0
  51. package/lib/esm/packages/hooks/use-id/node_modules/uuid/dist/esm-browser/stringify.js +36 -0
  52. package/lib/esm/packages/hooks/use-id/node_modules/uuid/dist/esm-browser/v4.js +28 -0
  53. package/lib/esm/packages/hooks/use-id/node_modules/uuid/dist/esm-browser/validate.js +14 -0
  54. package/lib/esm/packages/hooks/use-latest/lib/esm/index.js +50 -0
  55. package/lib/esm/packages/hooks/use-timeout/lib/esm/index.js +45 -0
  56. package/lib/esm/packages/hooks/use-toggle/lib/esm/index.js +66 -0
  57. package/lib/esm/packages/hooks/use-unmount-effect/lib/esm/index.js +39 -0
  58. package/lib/esm/packages/icons/lib/esm/components/alert/check-outlined.js +53 -0
  59. package/lib/esm/packages/icons/lib/esm/components/direction/right-outlined.js +53 -0
  60. package/lib/esm/packages/ui/popover/lib/esm/Popover.js +97 -0
  61. package/lib/esm/packages/ui/popover/lib/esm/index.js +25 -0
  62. package/lib/esm/packages/ui/popover/lib/esm/styles/index.scss.js +23 -0
  63. package/lib/esm/packages/ui/popover/lib/esm/types.js +25 -0
  64. package/lib/esm/packages/ui/popover/lib/esm/use-popover.js +175 -0
  65. package/lib/esm/packages/ui/popover/lib/esm/utils/container/lib/esm/index.js +60 -0
  66. package/lib/esm/packages/ui/popover/lib/esm/with-api.js +79 -0
  67. package/lib/esm/packages/utils/array-utils/lib/esm/index.js +28 -0
  68. package/lib/esm/packages/utils/dom-utils/lib/esm/index.js +42 -0
  69. package/lib/esm/packages/utils/react-utils/lib/esm/index.js +65 -0
  70. package/lib/esm/packages/utils/type-assertion/lib/esm/index.js +29 -0
  71. package/lib/esm/styles/index.scss.js +1 -1
  72. package/lib/types/AppList.d.ts +71 -0
  73. package/lib/types/CollapseIcon.d.ts +1 -0
  74. package/lib/types/Content.d.ts +0 -3
  75. package/lib/types/FloatMenuContainer.d.ts +28 -0
  76. package/lib/types/Footer.d.ts +5 -0
  77. package/lib/types/Header.d.ts +5 -0
  78. package/lib/types/Layout.d.ts +4 -0
  79. package/lib/types/Profile.d.ts +24 -0
  80. package/lib/types/SearchTrigger.d.ts +9 -0
  81. package/lib/types/Sider.d.ts +21 -0
  82. package/lib/types/index.d.ts +17 -1
  83. package/package.json +7 -6
package/CHANGELOG.md CHANGED
@@ -1,5 +1,94 @@
1
1
  # @hi-ui/layout
2
2
 
3
+ ## 5.0.0-canary.10
4
+
5
+ ### Patch Changes
6
+
7
+ - 47a5a480c: fix(layout&page-header): add types export to package.json for layout and page-header
8
+
9
+ ## 5.0.0-canary.9
10
+
11
+ ### Minor Changes
12
+
13
+ - 8d7936b56: feat(layout): 增加 Profile 组件 (5.0)
14
+ - e704a964f: feat(layout): 增加 Header 和 Footer 组件 & 完善示例 (5.0)
15
+
16
+ ## 5.0.0-canary.8
17
+
18
+ ### Major Changes
19
+
20
+ - 8d19c4688: feat(layout): 添加 AppListPopover 组件并更新布局样式和示例 (5.0)
21
+
22
+ ### Patch Changes
23
+
24
+ - Updated dependencies [632895aaf]
25
+ - @hi-ui/menu@5.0.0-canary.11
26
+
27
+ ## 5.0.0-canary.7
28
+
29
+ ### Patch Changes
30
+
31
+ - 3f88c4dca: <br />
32
+ - perf(layout): 优化导航菜单交互体验 (5.0)
33
+ - perf(menu): 优化搜索菜单组件的样式和交互逻辑 & 修改分组菜单样式问题 (5.0)
34
+ - Updated dependencies [3f88c4dca]
35
+ - Updated dependencies [4dc72a186]
36
+ - @hi-ui/menu@5.0.0-canary.10
37
+ - @hi-ui/popper@5.0.0-canary.7
38
+
39
+ ## 5.0.0-canary.6
40
+
41
+ ### Patch Changes
42
+
43
+ - 301e49608: style(layout): 在折叠状态下为 FloatMenuContainer 组件添加 z-index 属性 (5.0)
44
+
45
+ ## 5.0.0-canary.5
46
+
47
+ ### Minor Changes
48
+
49
+ - 4798a025c: feat(layout): Sider 组件增加 maxWidth 参数 & FloatMenuContainer 组件增加 zIndex 参数 (5.0)
50
+
51
+ ### Patch Changes
52
+
53
+ - 282e6c499: perf(layout&menu): 优化 FloatMenuContainer 组件的折叠逻辑 & 修改 SideMenu 组件 hover 样式 (5.0)
54
+ - Updated dependencies [282e6c499]
55
+ - Updated dependencies [4782eb807]
56
+ - @hi-ui/menu@5.0.0-canary.9
57
+
58
+ ## 5.0.0-canary.4
59
+
60
+ ### Minor Changes
61
+
62
+ - efce04a26: feat(layout): Sider 增加 resizable 参数,控制是否可改变宽度 (5.0)
63
+
64
+ ### Patch Changes
65
+
66
+ - efce04a26: fix: 修改 UI 问题 (5.0)
67
+ - Updated dependencies [efce04a26]
68
+ - Updated dependencies [9106dca82]
69
+ - @hi-ui/menu@5.0.0-canary.8
70
+ - @hi-ui/popper@5.0.0-canary.6
71
+ - @hi-ui/core@5.0.0-canary.3
72
+
73
+ ## 5.0.0-canary.3
74
+
75
+ ### Minor Changes
76
+
77
+ - 4075b33da: feat(layout): 增加 FloatMenuContainer 组件 (5.0)
78
+
79
+ ### Patch Changes
80
+
81
+ - Updated dependencies [4075b33da]
82
+ - @hi-ui/menu@5.0.0-canary.7
83
+
84
+ ## 5.0.0-canary.2
85
+
86
+ ### Patch Changes
87
+
88
+ - 07e7b975b: style(layout): 修改 Sider 收起时宽度为 60px & 增加 width 参数 (5.0)
89
+ - Updated dependencies [07e7b975b]
90
+ - @hi-ui/menu@5.0.0-canary.6
91
+
3
92
  ## 5.0.0-canary.1
4
93
 
5
94
  ### Patch Changes
@@ -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;
@@ -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("div", Object.assign({
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
- rest = tslib.__rest(_a, ["prefixCls", "role", "className", "children"]);
38
- var cls = classname.cx(prefixCls, className);
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,