@alicloud/console-base-rc-side-panel 1.1.6-beta.0 → 1.1.7-beta.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/build/cjs/model/hook/index.js +7 -0
- package/build/cjs/ui/rc-container/collapse-toggle/index.js +31 -6
- package/build/esm/model/hook/index.js +1 -0
- package/build/esm/ui/rc-container/collapse-toggle/index.js +32 -7
- package/build/types/model/context/index.d.ts +0 -1
- package/build/types/model/hook/index.d.ts +1 -0
- package/build/types/model/types/common.d.ts +0 -1
- package/build/types/model/types/props.d.ts +4 -0
- package/build/types/ui/index.d.ts +0 -1
- package/build/types/ui/rc/global-style-on-body/index.d.ts +0 -1
- package/build/types/ui/rc/side-panel-item-badge/index.d.ts +0 -1
- package/build/types/ui/rc/side-panel-item-button/index.d.ts +0 -1
- package/build/types/ui/rc-container/collapse-toggle/index.d.ts +0 -1
- package/build/types/ui/rc-container/item/index.d.ts +0 -1
- package/build/types/ui/rc-container/items/index.d.ts +0 -1
- package/build/types/ui/rc-container/items-bottom/index.d.ts +0 -1
- package/build/types/ui/rc-container/items-bottom/quick-top/index.d.ts +0 -1
- package/build/types/ui/rc-container/items-top/index.d.ts +0 -1
- package/build/types/with-model/index.d.ts +0 -1
- package/package.json +3 -1
|
@@ -40,6 +40,12 @@ Object.defineProperty(exports, "useItemsTop", {
|
|
|
40
40
|
return _useItemsTop.default;
|
|
41
41
|
}
|
|
42
42
|
});
|
|
43
|
+
Object.defineProperty(exports, "useProps", {
|
|
44
|
+
enumerable: true,
|
|
45
|
+
get: function get() {
|
|
46
|
+
return _useModelProps.default;
|
|
47
|
+
}
|
|
48
|
+
});
|
|
43
49
|
Object.defineProperty(exports, "useQuickTop", {
|
|
44
50
|
enumerable: true,
|
|
45
51
|
get: function get() {
|
|
@@ -52,6 +58,7 @@ Object.defineProperty(exports, "useVisible", {
|
|
|
52
58
|
return _useVisible.default;
|
|
53
59
|
}
|
|
54
60
|
});
|
|
61
|
+
var _useModelProps = _interopRequireDefault(require("./_use-model-props"));
|
|
55
62
|
var _useChildren = _interopRequireDefault(require("./use-children"));
|
|
56
63
|
var _useVisible = _interopRequireDefault(require("./use-visible"));
|
|
57
64
|
var _useCollapsed = _interopRequireDefault(require("./use-collapsed"));
|
|
@@ -12,28 +12,49 @@ var _styledComponents = _interopRequireWildcard(require("styled-components"));
|
|
|
12
12
|
var _consoleBaseTheme = require("@alicloud/console-base-theme");
|
|
13
13
|
var _consoleBaseRcIcon = _interopRequireDefault(require("@alicloud/console-base-rc-icon"));
|
|
14
14
|
var _consoleBaseRcTooltip = require("@alicloud/console-base-rc-tooltip");
|
|
15
|
+
var _consoleBaseConfEnv = _interopRequireDefault(require("@alicloud/console-base-conf-env"));
|
|
16
|
+
var _consoleBaseConfLocale = _interopRequireWildcard(require("@alicloud/console-base-conf-locale"));
|
|
15
17
|
var _rc = require("../../rc");
|
|
16
18
|
var _model = require("../../../model");
|
|
17
19
|
var _const = require("../../const");
|
|
18
20
|
var _intl = _interopRequireDefault(require("../../intl"));
|
|
19
21
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
20
22
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
23
|
+
/**
|
|
24
|
+
* 站点是否处于简体中文环境下,即国内站
|
|
25
|
+
*/
|
|
26
|
+
var isSimpleCN = function isSimpleCN() {
|
|
27
|
+
return _consoleBaseConfEnv.default.SITE === 'CN' && _consoleBaseConfLocale.default.LANGUAGE === _consoleBaseConfLocale.ELanguage.ZH;
|
|
28
|
+
};
|
|
29
|
+
var cssToggleIn = (0, _styledComponents.css)(["transform:translateX(-100%);"]);
|
|
21
30
|
var ScCollapseToggle = (0, _styledComponents.default)(_rc.SidePanelItemWrap).withConfig({
|
|
22
31
|
componentId: "sc-15z8r94-0"
|
|
23
|
-
})(["position:absolute;right:
|
|
32
|
+
})(["position:absolute;right:", ";bottom:", "px;flex-direction:column;", ""], function (props) {
|
|
33
|
+
return props.noIndent ? '0' : '8px';
|
|
34
|
+
}, _const.SPACING_Y, function (props) {
|
|
24
35
|
if (!props.collapsed) {
|
|
25
36
|
return null;
|
|
26
37
|
}
|
|
27
|
-
|
|
38
|
+
if (isSimpleCN()) {
|
|
39
|
+
return cssToggleIn;
|
|
40
|
+
}
|
|
41
|
+
return props.hovered ? cssToggleIn : (0, _styledComponents.css)(["transform:translateX(-50%);"]);
|
|
28
42
|
});
|
|
29
|
-
var
|
|
43
|
+
var ScCollapseAsideDiv = _styledComponents.default.div.withConfig({
|
|
30
44
|
componentId: "sc-15z8r94-1"
|
|
45
|
+
})(["position:absolute;bottom:100%;user-select:none;", ""], function (props) {
|
|
46
|
+
return !props.collapsed ? (0, _styledComponents.css)(["transition:opacity 300ms ease-in,display 0s 300ms ease;opacity:0;display:none;"]) : (0, _styledComponents.css)(["transition:opacity 300ms ease-in;opacity:1;display:block;"]);
|
|
47
|
+
});
|
|
48
|
+
var ScCollapseToggleButton = (0, _styledComponents.default)(_rc.SidePanelItemButton).withConfig({
|
|
49
|
+
componentId: "sc-15z8r94-2"
|
|
31
50
|
})(["", " ", ""], function (props) {
|
|
32
51
|
return props.active ? (0, _styledComponents.css)(["", " ", " &:hover{", " ", "}"], _consoleBaseTheme.mixinBgAccent, _consoleBaseTheme.mixinTextWhite, _consoleBaseTheme.mixinBgAccent, _consoleBaseTheme.mixinTextWhite) : null;
|
|
33
|
-
}, function (props) {
|
|
52
|
+
}, isSimpleCN() ? null : function (props) {
|
|
34
53
|
return props.collapsed && !props.hovered ? (0, _styledComponents.css)(["padding-left:4px;text-align:left;"]) : null;
|
|
35
54
|
});
|
|
36
55
|
function PanelToggle() {
|
|
56
|
+
var _useProps = (0, _model.useProps)(),
|
|
57
|
+
collapsedAside = _useProps.collapsedAside;
|
|
37
58
|
var collapsed = (0, _model.useCollapsed)();
|
|
38
59
|
var unread = (0, _model.useItemsTop)().some(function (v) {
|
|
39
60
|
return v.unread;
|
|
@@ -44,16 +65,20 @@ function PanelToggle() {
|
|
|
44
65
|
isHovered = _useState2[0],
|
|
45
66
|
setIsHovered = _useState2[1];
|
|
46
67
|
var title = (0, _intl.default)(collapsed ? 'op:toggle_visible' : 'op:toggle_hidden');
|
|
68
|
+
var noIndent = isSimpleCN() ? !collapsedAside || !collapsed : true;
|
|
47
69
|
return /*#__PURE__*/_react.default.createElement(ScCollapseToggle, {
|
|
48
70
|
hovered: isHovered,
|
|
49
71
|
collapsed: collapsed,
|
|
72
|
+
noIndent: noIndent,
|
|
50
73
|
onMouseEnter: function onMouseEnter() {
|
|
51
74
|
return setIsHovered(true);
|
|
52
75
|
},
|
|
53
76
|
onMouseLeave: function onMouseLeave() {
|
|
54
77
|
return setIsHovered(false);
|
|
55
78
|
}
|
|
56
|
-
}, /*#__PURE__*/_react.default.createElement(
|
|
79
|
+
}, collapsedAside ? /*#__PURE__*/_react.default.createElement(ScCollapseAsideDiv, {
|
|
80
|
+
collapsed: collapsed
|
|
81
|
+
}, collapsedAside) : null, /*#__PURE__*/_react.default.createElement(_consoleBaseRcTooltip.TooltipV1, {
|
|
57
82
|
title: title,
|
|
58
83
|
placement: "left",
|
|
59
84
|
mouseEnterDelay: collapsed ? 200 : 0 // 收起状态下 hover 时,需等待动画结束后再显示提示框,避免位置错误
|
|
@@ -75,6 +100,6 @@ function PanelToggle() {
|
|
|
75
100
|
onClick: handleToggleCollapsed
|
|
76
101
|
}))), collapsed && unread ? /*#__PURE__*/_react.default.createElement(_rc.SidePanelItemBadge, {
|
|
77
102
|
unread: true,
|
|
78
|
-
alignLeft: !isHovered
|
|
103
|
+
alignLeft: !isHovered && !isSimpleCN()
|
|
79
104
|
}) : null);
|
|
80
105
|
}
|
|
@@ -4,26 +4,47 @@ import styled, { css } from 'styled-components';
|
|
|
4
4
|
import { mixinBgAccent, mixinTextWhite } from '@alicloud/console-base-theme';
|
|
5
5
|
import Icon from '@alicloud/console-base-rc-icon';
|
|
6
6
|
import { TooltipV1 } from '@alicloud/console-base-rc-tooltip';
|
|
7
|
+
import CONF_ENV from '@alicloud/console-base-conf-env';
|
|
8
|
+
import CONF_LOCALE, { ELanguage } from '@alicloud/console-base-conf-locale';
|
|
7
9
|
import { SidePanelItemWrap, SidePanelItemButton, SidePanelItemBadge } from '../../rc';
|
|
8
|
-
import { useCollapsed, useItemsTop, useHandleCollapsedChange } from '../../../model';
|
|
10
|
+
import { useCollapsed, useItemsTop, useHandleCollapsedChange, useProps } from '../../../model';
|
|
9
11
|
import { SPACING_Y } from '../../const';
|
|
10
12
|
import intl from '../../intl';
|
|
13
|
+
/**
|
|
14
|
+
* 站点是否处于简体中文环境下,即国内站
|
|
15
|
+
*/
|
|
16
|
+
var isSimpleCN = function isSimpleCN() {
|
|
17
|
+
return CONF_ENV.SITE === 'CN' && CONF_LOCALE.LANGUAGE === ELanguage.ZH;
|
|
18
|
+
};
|
|
19
|
+
var cssToggleIn = css(["transform:translateX(-100%);"]);
|
|
11
20
|
var ScCollapseToggle = styled(SidePanelItemWrap).withConfig({
|
|
12
21
|
componentId: "sc-15z8r94-0"
|
|
13
|
-
})(["position:absolute;right:
|
|
22
|
+
})(["position:absolute;right:", ";bottom:", "px;flex-direction:column;", ""], function (props) {
|
|
23
|
+
return props.noIndent ? '0' : '8px';
|
|
24
|
+
}, SPACING_Y, function (props) {
|
|
14
25
|
if (!props.collapsed) {
|
|
15
26
|
return null;
|
|
16
27
|
}
|
|
17
|
-
|
|
28
|
+
if (isSimpleCN()) {
|
|
29
|
+
return cssToggleIn;
|
|
30
|
+
}
|
|
31
|
+
return props.hovered ? cssToggleIn : css(["transform:translateX(-50%);"]);
|
|
18
32
|
});
|
|
19
|
-
var
|
|
33
|
+
var ScCollapseAsideDiv = styled.div.withConfig({
|
|
20
34
|
componentId: "sc-15z8r94-1"
|
|
35
|
+
})(["position:absolute;bottom:100%;user-select:none;", ""], function (props) {
|
|
36
|
+
return !props.collapsed ? css(["transition:opacity 300ms ease-in,display 0s 300ms ease;opacity:0;display:none;"]) : css(["transition:opacity 300ms ease-in;opacity:1;display:block;"]);
|
|
37
|
+
});
|
|
38
|
+
var ScCollapseToggleButton = styled(SidePanelItemButton).withConfig({
|
|
39
|
+
componentId: "sc-15z8r94-2"
|
|
21
40
|
})(["", " ", ""], function (props) {
|
|
22
41
|
return props.active ? css(["", " ", " &:hover{", " ", "}"], mixinBgAccent, mixinTextWhite, mixinBgAccent, mixinTextWhite) : null;
|
|
23
|
-
}, function (props) {
|
|
42
|
+
}, isSimpleCN() ? null : function (props) {
|
|
24
43
|
return props.collapsed && !props.hovered ? css(["padding-left:4px;text-align:left;"]) : null;
|
|
25
44
|
});
|
|
26
45
|
export default function PanelToggle() {
|
|
46
|
+
var _useProps = useProps(),
|
|
47
|
+
collapsedAside = _useProps.collapsedAside;
|
|
27
48
|
var collapsed = useCollapsed();
|
|
28
49
|
var unread = useItemsTop().some(function (v) {
|
|
29
50
|
return v.unread;
|
|
@@ -34,16 +55,20 @@ export default function PanelToggle() {
|
|
|
34
55
|
isHovered = _useState2[0],
|
|
35
56
|
setIsHovered = _useState2[1];
|
|
36
57
|
var title = intl(collapsed ? 'op:toggle_visible' : 'op:toggle_hidden');
|
|
58
|
+
var noIndent = isSimpleCN() ? !collapsedAside || !collapsed : true;
|
|
37
59
|
return /*#__PURE__*/React.createElement(ScCollapseToggle, {
|
|
38
60
|
hovered: isHovered,
|
|
39
61
|
collapsed: collapsed,
|
|
62
|
+
noIndent: noIndent,
|
|
40
63
|
onMouseEnter: function onMouseEnter() {
|
|
41
64
|
return setIsHovered(true);
|
|
42
65
|
},
|
|
43
66
|
onMouseLeave: function onMouseLeave() {
|
|
44
67
|
return setIsHovered(false);
|
|
45
68
|
}
|
|
46
|
-
}, /*#__PURE__*/React.createElement(
|
|
69
|
+
}, collapsedAside ? /*#__PURE__*/React.createElement(ScCollapseAsideDiv, {
|
|
70
|
+
collapsed: collapsed
|
|
71
|
+
}, collapsedAside) : null, /*#__PURE__*/React.createElement(TooltipV1, {
|
|
47
72
|
title: title,
|
|
48
73
|
placement: "left",
|
|
49
74
|
mouseEnterDelay: collapsed ? 200 : 0 // 收起状态下 hover 时,需等待动画结束后再显示提示框,避免位置错误
|
|
@@ -65,6 +90,6 @@ export default function PanelToggle() {
|
|
|
65
90
|
onClick: handleToggleCollapsed
|
|
66
91
|
}))), collapsed && unread ? /*#__PURE__*/React.createElement(SidePanelItemBadge, {
|
|
67
92
|
unread: true,
|
|
68
|
-
alignLeft: !isHovered
|
|
93
|
+
alignLeft: !isHovered && !isSimpleCN()
|
|
69
94
|
}) : null);
|
|
70
95
|
}
|
|
@@ -22,6 +22,10 @@ export interface IModelProps {
|
|
|
22
22
|
* 底部工具(系统级别),如果传入 children 则使用 children
|
|
23
23
|
*/
|
|
24
24
|
itemsBottom?: ISidePanelItemPropsWithKey[];
|
|
25
|
+
/**
|
|
26
|
+
* 位于折叠点【推入按钮】上部的内容,将会跟随推入按钮做出入运动,嵌入 sidePanel 后,它将会隐藏
|
|
27
|
+
*/
|
|
28
|
+
collapsedAside?: JSX.Element | null;
|
|
25
29
|
/**
|
|
26
30
|
* 给一个 DOM 节点,组件会监测它的滚动情况,并判断是否展示快速置顶按钮
|
|
27
31
|
*/
|
|
@@ -1,3 +1,2 @@
|
|
|
1
|
-
/// <reference types="react" />
|
|
2
1
|
import { SidePanelItemProps } from '../../../model';
|
|
3
2
|
export default function Item({ id, className, style, active, title, icon, unread, mark, tooltip, tooltipOptions, onlyShowIcon, onClick, onActiveChange, ...rest }: SidePanelItemProps): JSX.Element;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@alicloud/console-base-rc-side-panel",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.7-beta.0",
|
|
4
4
|
"description": "ConsoleBase 组件 - 右侧边栏",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"sideEffects": false,
|
|
@@ -47,6 +47,8 @@
|
|
|
47
47
|
"@alicloud/react-hook-is-unmounted": "^1.3.4",
|
|
48
48
|
"@alicloud/react-hook-mouse-hover": "^1.0.2",
|
|
49
49
|
"@alicloud/typescript-missing-helpers": "^1.3.4",
|
|
50
|
+
"@alicloud/console-base-conf-env": "^1.6.9",
|
|
51
|
+
"@alicloud/console-base-conf-locale": "^1.8.9",
|
|
50
52
|
"immutability-helper": "^3.1.1"
|
|
51
53
|
},
|
|
52
54
|
"scripts": {
|