@alicloud/console-base-rc-side-panel 1.1.23 → 1.1.24-beta.1
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/ui/index.js +6 -25
- package/build/cjs/ui/rc/side-panel-item-wrap/index.js +1 -1
- package/build/cjs/ui/rc-container/index.js +3 -10
- package/build/cjs/ui/rc-container/item/index.js +16 -16
- package/build/cjs/ui/rc-container/item-collapse/index.js +100 -0
- package/build/cjs/ui/rc-container/item-collapse/styles.js +24 -0
- package/build/cjs/ui/rc-container/items/index.js +3 -3
- package/build/cjs/ui/rc-container/quick-top/index.js +4 -15
- package/build/cjs/ui/styles.js +18 -0
- package/build/esm/ui/index.js +9 -25
- package/build/esm/ui/rc/side-panel-item-wrap/index.js +1 -1
- package/build/esm/ui/rc-container/index.js +1 -2
- package/build/esm/ui/rc-container/item/index.js +16 -16
- package/build/esm/ui/rc-container/item-collapse/index.js +90 -0
- package/build/esm/ui/rc-container/item-collapse/styles.js +15 -0
- package/build/esm/ui/rc-container/items/index.js +3 -3
- package/build/esm/ui/rc-container/quick-top/index.js +4 -15
- package/build/esm/ui/styles.js +9 -0
- package/build/types/model/types/common.d.ts +2 -2
- package/build/types/ui/rc/side-panel-item-button/index.d.ts +2 -2
- package/build/types/ui/rc-container/index.d.ts +1 -2
- package/build/types/ui/rc-container/item-collapse/index.d.ts +1 -0
- package/build/types/ui/rc-container/item-collapse/styles.d.ts +6 -0
- package/build/types/ui/styles.d.ts +3 -0
- package/package.json +3 -6
- package/build/cjs/ui/rc-container/collapse-aside/index.js +0 -29
- package/build/cjs/ui/rc-container/collapse-aside/styles.js +0 -36
- package/build/cjs/ui/rc-container/collapse-toggle/index.js +0 -67
- package/build/cjs/ui/rc-container/collapse-toggle/styles.js +0 -39
- package/build/esm/ui/rc-container/collapse-aside/index.js +0 -20
- package/build/esm/ui/rc-container/collapse-aside/styles.js +0 -27
- package/build/esm/ui/rc-container/collapse-toggle/index.js +0 -57
- package/build/esm/ui/rc-container/collapse-toggle/styles.js +0 -30
- package/build/types/ui/rc-container/collapse-aside/index.d.ts +0 -1
- package/build/types/ui/rc-container/collapse-aside/styles.d.ts +0 -3
- package/build/types/ui/rc-container/collapse-toggle/index.d.ts +0 -1
- package/build/types/ui/rc-container/collapse-toggle/styles.d.ts +0 -10
package/build/cjs/ui/index.js
CHANGED
|
@@ -1,45 +1,26 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports.default = Ui;
|
|
9
8
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
10
9
|
var _react = _interopRequireDefault(require("react"));
|
|
11
|
-
var _styledComponents = _interopRequireWildcard(require("styled-components"));
|
|
12
|
-
var _consoleBaseTheme = require("@alicloud/console-base-theme");
|
|
13
10
|
var _model = require("../model");
|
|
11
|
+
var _styles = require("./styles");
|
|
14
12
|
var _const = require("./const");
|
|
15
13
|
var _rc = require("./rc");
|
|
16
14
|
var _rcContainer = require("./rc-container");
|
|
17
|
-
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); }
|
|
18
|
-
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; }
|
|
19
|
-
var ScAside = _styledComponents.default.aside.withConfig({
|
|
20
|
-
componentId: "sc-1ok6knf-0"
|
|
21
|
-
})(["z-index:", ";position:fixed;top:0;right:0;bottom:0;display:flex;flex-direction:column;padding:", "px 0 ", "px 0;width:", "px;transition:transform 250ms ease-in-out 0ms;box-shadow:none;", " ", " ", " .hasTopbar &{top:", "px;}"], _consoleBaseTheme.Z_INDEX.SIDE_PANEL, _const.SPACING_Y * 1.5, _const.SIZE_BUTTON_WRAP_HEIGHT + _const.SPACING_Y, _consoleBaseTheme.SIZE.WIDTH_SIDE_PANEL, _consoleBaseTheme.mixinBgPrimary, _consoleBaseTheme.mixinBorderTertiaryLeft, function (_ref) {
|
|
22
|
-
var $collapsed = _ref.$collapsed;
|
|
23
|
-
return $collapsed ? (0, _styledComponents.css)(["transform:translateX(101%);border:none !important;"]) : _consoleBaseTheme.mixinBorderTertiaryLeft;
|
|
24
|
-
}, _consoleBaseTheme.SIZE.HEIGHT_TOP_NAV);
|
|
25
|
-
var ScCollapseAsideWrapper = _styledComponents.default.div.withConfig({
|
|
26
|
-
componentId: "sc-1ok6knf-1"
|
|
27
|
-
})(["", ""], function (_ref2) {
|
|
28
|
-
var $collapsedAsideMini = _ref2.$collapsedAsideMini,
|
|
29
|
-
$collapsed = _ref2.$collapsed;
|
|
30
|
-
return $collapsedAsideMini && $collapsed && (0, _styledComponents.css)(["transform:scale(0.7) translateX(10%);"]);
|
|
31
|
-
});
|
|
32
15
|
function Ui() {
|
|
33
16
|
var visible = (0, _model.useVisible)();
|
|
34
|
-
var _useProps = (0, _model.useProps)(),
|
|
35
|
-
collapsedAsideMini = _useProps.collapsedAsideMini;
|
|
36
17
|
var collapsed = (0, _model.useCollapsed)();
|
|
37
|
-
|
|
18
|
+
if (!visible) {
|
|
19
|
+
return null;
|
|
20
|
+
}
|
|
21
|
+
return /*#__PURE__*/_react.default.createElement(_styles.ScAside, (0, _defineProperty2.default)({
|
|
38
22
|
$collapsed: collapsed,
|
|
39
23
|
className: 'J_fixed_right_will_be_pushed_left',
|
|
40
24
|
'data-spm': 'console-base_sidebar'
|
|
41
|
-
}, _const.DATA_KEY_J, ''), /*#__PURE__*/_react.default.createElement(_rc.GlobalStyleOnBody, null), /*#__PURE__*/_react.default.createElement(_rcContainer.ItemsTop, null), /*#__PURE__*/_react.default.createElement(_rcContainer.ItemsBottom, null), /*#__PURE__*/_react.default.createElement(
|
|
42
|
-
$collapsedAsideMini: !!collapsedAsideMini,
|
|
43
|
-
$collapsed: collapsed
|
|
44
|
-
}, /*#__PURE__*/_react.default.createElement(_rcContainer.CollapseAside, null), /*#__PURE__*/_react.default.createElement(_rcContainer.CollapseToggle, null))) : null;
|
|
25
|
+
}, _const.DATA_KEY_J, ''), /*#__PURE__*/_react.default.createElement(_rc.GlobalStyleOnBody, null), /*#__PURE__*/_react.default.createElement(_rcContainer.ItemsTop, null), /*#__PURE__*/_react.default.createElement(_rcContainer.ItemsBottom, null), /*#__PURE__*/_react.default.createElement(_rcContainer.ItemCollapse, null));
|
|
45
26
|
}
|
|
@@ -12,4 +12,4 @@ var _const = require("../../const");
|
|
|
12
12
|
*/
|
|
13
13
|
var _default = exports.default = _styledComponents.default.div.withConfig({
|
|
14
14
|
componentId: "sc-3r2cly-0"
|
|
15
|
-
})(["display:flex;align-items:center;justify-content:center;
|
|
15
|
+
})(["position:relative;display:flex;align-items:center;justify-content:center;width:", "px;height:", "px;"], _const.SIZE_BUTTON_WRAP_WIDTH, _const.SIZE_BUTTON_WRAP_HEIGHT);
|
|
@@ -4,16 +4,10 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
4
4
|
Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
|
-
Object.defineProperty(exports, "
|
|
7
|
+
Object.defineProperty(exports, "ItemCollapse", {
|
|
8
8
|
enumerable: true,
|
|
9
9
|
get: function get() {
|
|
10
|
-
return
|
|
11
|
-
}
|
|
12
|
-
});
|
|
13
|
-
Object.defineProperty(exports, "CollapseToggle", {
|
|
14
|
-
enumerable: true,
|
|
15
|
-
get: function get() {
|
|
16
|
-
return _collapseToggle.default;
|
|
10
|
+
return _itemCollapse.default;
|
|
17
11
|
}
|
|
18
12
|
});
|
|
19
13
|
Object.defineProperty(exports, "ItemsBottom", {
|
|
@@ -29,5 +23,4 @@ Object.defineProperty(exports, "ItemsTop", {
|
|
|
29
23
|
}
|
|
30
24
|
});
|
|
31
25
|
var _items = require("./items");
|
|
32
|
-
var
|
|
33
|
-
var _collapseAside = _interopRequireDefault(require("./collapse-aside"));
|
|
26
|
+
var _itemCollapse = _interopRequireDefault(require("./item-collapse"));
|
|
@@ -6,7 +6,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
8
|
exports.default = void 0;
|
|
9
|
-
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
10
9
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
11
10
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
12
11
|
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
@@ -56,14 +55,15 @@ var Item = function Item(_ref) {
|
|
|
56
55
|
onActiveChange === null || onActiveChange === void 0 ? void 0 : onActiveChange(!active);
|
|
57
56
|
}, [onClick, onActiveChange, active]);
|
|
58
57
|
(0, _react.useEffect)(function () {
|
|
59
|
-
if (
|
|
60
|
-
|
|
61
|
-
setOpen(true);
|
|
62
|
-
defaultOpenTimerRef.current = setTimeout(function () {
|
|
63
|
-
setOpen(false);
|
|
64
|
-
}, tooltipDefaultOpenDuration);
|
|
65
|
-
}, Math.max(tooltipDefaultOpenDelay, 250));
|
|
58
|
+
if (collapsed || !tooltipDefaultOpen) {
|
|
59
|
+
return;
|
|
66
60
|
}
|
|
61
|
+
openTimerRef.current = setTimeout(function () {
|
|
62
|
+
setOpen(true);
|
|
63
|
+
defaultOpenTimerRef.current = setTimeout(function () {
|
|
64
|
+
setOpen(false);
|
|
65
|
+
}, tooltipDefaultOpenDuration);
|
|
66
|
+
}, Math.max(tooltipDefaultOpenDelay, 250));
|
|
67
67
|
|
|
68
68
|
// 组件卸载时,主动清除计时器
|
|
69
69
|
return function () {
|
|
@@ -76,23 +76,23 @@ var Item = function Item(_ref) {
|
|
|
76
76
|
defaultOpenTimerRef.current = null;
|
|
77
77
|
}
|
|
78
78
|
};
|
|
79
|
-
}, []);
|
|
79
|
+
}, [collapsed, tooltipDefaultOpen, tooltipDefaultOpenDelay, tooltipDefaultOpenDuration]);
|
|
80
80
|
|
|
81
81
|
// 侧边栏收起时,弹窗需关闭
|
|
82
82
|
(0, _react.useEffect)(function () {
|
|
83
|
-
if (collapsed
|
|
83
|
+
if (collapsed) {
|
|
84
84
|
setOpen(false);
|
|
85
85
|
}
|
|
86
86
|
}, [collapsed]);
|
|
87
|
-
return /*#__PURE__*/_react.default.createElement(_consoleBaseRcTooltip.TooltipV1, (
|
|
87
|
+
return /*#__PURE__*/_react.default.createElement(_consoleBaseRcTooltip.TooltipV1, _objectSpread(_objectSpread({
|
|
88
|
+
spm: 'console-base_sidebar',
|
|
88
89
|
title: tooltipAsHtml && typeof tooltip === 'string' ? /*#__PURE__*/_react.default.createElement(_consoleBaseRcHtmlTrusted.default, {
|
|
89
90
|
text: tooltip
|
|
90
91
|
}) : tooltip || title,
|
|
91
92
|
destroyTooltipOnHide: true,
|
|
92
|
-
placement:
|
|
93
|
-
fixed: true
|
|
94
|
-
|
|
95
|
-
}, tooltipOptions, {
|
|
93
|
+
placement: 'left',
|
|
94
|
+
fixed: true
|
|
95
|
+
}, tooltipOptions), {}, {
|
|
96
96
|
overlayStyle: _objectSpread({
|
|
97
97
|
marginLeft: '8px'
|
|
98
98
|
}, tooltipOptions === null || tooltipOptions === void 0 ? void 0 : tooltipOptions.overlayStyle),
|
|
@@ -101,7 +101,7 @@ var Item = function Item(_ref) {
|
|
|
101
101
|
}), /*#__PURE__*/_react.default.createElement(_rc.SidePanelItemWrap, {
|
|
102
102
|
id: id,
|
|
103
103
|
className: className
|
|
104
|
-
}, /*#__PURE__*/_react.default.createElement(_rc.SidePanelItemButton, (
|
|
104
|
+
}, /*#__PURE__*/_react.default.createElement(_rc.SidePanelItemButton, _objectSpread({
|
|
105
105
|
buttonId: buttonId,
|
|
106
106
|
buttonStyle: buttonStyle,
|
|
107
107
|
title: title,
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.default = ItemCollapse;
|
|
9
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
10
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
11
|
+
var _reactDom = require("react-dom");
|
|
12
|
+
var _reactDraggable = _interopRequireDefault(require("react-draggable"));
|
|
13
|
+
var _ahooks = require("ahooks");
|
|
14
|
+
var _consoleBaseRcTooltip = require("@alicloud/console-base-rc-tooltip");
|
|
15
|
+
var _consoleBaseRcIcon = _interopRequireDefault(require("@alicloud/console-base-rc-icon"));
|
|
16
|
+
var _model = require("../../../model");
|
|
17
|
+
var _item = _interopRequireDefault(require("../item"));
|
|
18
|
+
var _intl = _interopRequireDefault(require("../../intl"));
|
|
19
|
+
var _rc = require("../../rc");
|
|
20
|
+
var _styles = require("./styles");
|
|
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); }
|
|
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
|
+
var CB_SIDE_PANEL_COLLAPSE_Y = 'cb-side-panel-collapse-y';
|
|
24
|
+
function ItemCollapse() {
|
|
25
|
+
var _useState = (0, _react.useState)(false),
|
|
26
|
+
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
27
|
+
isDragging = _useState2[0],
|
|
28
|
+
setIsDragging = _useState2[1];
|
|
29
|
+
var _useProps = (0, _model.useProps)(),
|
|
30
|
+
collapsedAside = _useProps.collapsedAside;
|
|
31
|
+
var collapsed = (0, _model.useCollapsed)();
|
|
32
|
+
var handleToggleCollapsed = (0, _model.useHandleCollapsedChange)();
|
|
33
|
+
var unread = (0, _model.useItemsTop)().some(function (v) {
|
|
34
|
+
return v.unread;
|
|
35
|
+
});
|
|
36
|
+
var _useLocalStorageState = (0, _ahooks.useLocalStorageState)(CB_SIDE_PANEL_COLLAPSE_Y, {
|
|
37
|
+
defaultValue: 0,
|
|
38
|
+
deserializer: function deserializer(value) {
|
|
39
|
+
return +(value || 0);
|
|
40
|
+
}
|
|
41
|
+
}),
|
|
42
|
+
_useLocalStorageState2 = (0, _slicedToArray2.default)(_useLocalStorageState, 2),
|
|
43
|
+
draggableY = _useLocalStorageState2[0],
|
|
44
|
+
setDraggableY = _useLocalStorageState2[1];
|
|
45
|
+
if (!collapsed) {
|
|
46
|
+
return /*#__PURE__*/_react.default.createElement(_item.default, {
|
|
47
|
+
spm: 'collapse-hidden',
|
|
48
|
+
title: (0, _intl.default)('op:toggle_hidden'),
|
|
49
|
+
icon: /*#__PURE__*/_react.default.createElement(_consoleBaseRcIcon.default, {
|
|
50
|
+
type: "angle-right"
|
|
51
|
+
}),
|
|
52
|
+
tooltipOptions: {
|
|
53
|
+
mouseEnterDelay: 250
|
|
54
|
+
},
|
|
55
|
+
onClick: handleToggleCollapsed
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
return /*#__PURE__*/(0, _reactDom.createPortal)(/*#__PURE__*/_react.default.createElement(_reactDraggable.default, {
|
|
59
|
+
axis: 'y',
|
|
60
|
+
position: {
|
|
61
|
+
x: 0,
|
|
62
|
+
y: +(draggableY || 0)
|
|
63
|
+
},
|
|
64
|
+
bounds: {
|
|
65
|
+
left: 0,
|
|
66
|
+
right: 0,
|
|
67
|
+
top: -500,
|
|
68
|
+
bottom: 0
|
|
69
|
+
},
|
|
70
|
+
onDrag: function onDrag() {
|
|
71
|
+
setIsDragging(true);
|
|
72
|
+
},
|
|
73
|
+
onStop: function onStop(_, data) {
|
|
74
|
+
setIsDragging(false);
|
|
75
|
+
setDraggableY(data.y);
|
|
76
|
+
}
|
|
77
|
+
}, /*#__PURE__*/_react.default.createElement(_styles.ScCollapseWrapper, {
|
|
78
|
+
$isDragging: isDragging
|
|
79
|
+
}, collapsedAside ? /*#__PURE__*/_react.default.createElement(_styles.ScCollapseAside, null, collapsedAside) : null, /*#__PURE__*/_react.default.createElement(_consoleBaseRcTooltip.TooltipV1, {
|
|
80
|
+
spm: 'console-base_sidebar',
|
|
81
|
+
title: (0, _intl.default)('op:toggle_visible'),
|
|
82
|
+
placement: 'left',
|
|
83
|
+
destroyTooltipOnHide: true,
|
|
84
|
+
fixed: true,
|
|
85
|
+
mouseEnterDelay: 250,
|
|
86
|
+
overlayStyle: {
|
|
87
|
+
marginLeft: '8px'
|
|
88
|
+
}
|
|
89
|
+
}, /*#__PURE__*/_react.default.createElement(_rc.SidePanelItemWrap, null, /*#__PURE__*/_react.default.createElement(_styles.ScCollapseButton, {
|
|
90
|
+
spm: 'collapse-visible',
|
|
91
|
+
title: (0, _intl.default)('op:toggle_visible'),
|
|
92
|
+
icon: /*#__PURE__*/_react.default.createElement(_consoleBaseRcIcon.default, {
|
|
93
|
+
type: "angle-right",
|
|
94
|
+
rotate: 180
|
|
95
|
+
}),
|
|
96
|
+
onClick: handleToggleCollapsed
|
|
97
|
+
}), unread ? /*#__PURE__*/_react.default.createElement(_rc.SidePanelItemBadge, {
|
|
98
|
+
unread: true
|
|
99
|
+
}) : null)))), document.body);
|
|
100
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.ScCollapseWrapper = exports.ScCollapseButton = exports.ScCollapseAside = void 0;
|
|
8
|
+
var _styledComponents = _interopRequireWildcard(require("styled-components"));
|
|
9
|
+
var _consoleBaseTheme = require("@alicloud/console-base-theme");
|
|
10
|
+
var _rc = require("../../rc");
|
|
11
|
+
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); }
|
|
12
|
+
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; }
|
|
13
|
+
var ScCollapseWrapper = exports.ScCollapseWrapper = _styledComponents.default.div.withConfig({
|
|
14
|
+
componentId: "sc-dyn7up-0"
|
|
15
|
+
})(["z-index:998;position:fixed;right:0;bottom:9px;*{-webkit-user-drag:none !important;}", ""], function (_ref) {
|
|
16
|
+
var $isDragging = _ref.$isDragging;
|
|
17
|
+
return $isDragging ? (0, _styledComponents.css)(["cursor:move;*{pointer-events:none !important;}"]) : null;
|
|
18
|
+
});
|
|
19
|
+
var ScCollapseAside = exports.ScCollapseAside = _styledComponents.default.div.withConfig({
|
|
20
|
+
componentId: "sc-dyn7up-1"
|
|
21
|
+
})(["position:relative;display:flex;align-items:center;justify-content:center;"]);
|
|
22
|
+
var ScCollapseButton = exports.ScCollapseButton = (0, _styledComponents.default)(_rc.SidePanelItemButton).withConfig({
|
|
23
|
+
componentId: "sc-dyn7up-2"
|
|
24
|
+
})(["&,&:hover{", " ", "}"], _consoleBaseTheme.mixinBgAccent, _consoleBaseTheme.mixinTextWhite);
|
|
@@ -17,6 +17,9 @@ var _item = _interopRequireDefault(require("../item"));
|
|
|
17
17
|
var _quickTop = _interopRequireDefault(require("../quick-top"));
|
|
18
18
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
19
19
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
20
|
+
var ScHr = (0, _styledComponents.default)(_consoleBaseThemeScBase.HrBase).withConfig({
|
|
21
|
+
componentId: "sc-1h5t3jq-0"
|
|
22
|
+
})(["margin:", "px 4px;"], _const.SPACING_Y);
|
|
20
23
|
function Items(_ref) {
|
|
21
24
|
var items = _ref.items;
|
|
22
25
|
// index 为业务传入的期望展示的顺序
|
|
@@ -39,9 +42,6 @@ function ItemsTop() {
|
|
|
39
42
|
items: items
|
|
40
43
|
}));
|
|
41
44
|
}
|
|
42
|
-
var ScHr = (0, _styledComponents.default)(_consoleBaseThemeScBase.HrBase).withConfig({
|
|
43
|
-
componentId: "sc-1h5t3jq-0"
|
|
44
|
-
})(["margin:", "px 4px;"], _const.SPACING_Y);
|
|
45
45
|
function ItemsBottom() {
|
|
46
46
|
var quickTop = (0, _model.useQuickTop)();
|
|
47
47
|
var children = (0, _model.useChildren)();
|
|
@@ -7,27 +7,16 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
exports.default = QuickTop;
|
|
8
8
|
var _react = _interopRequireDefault(require("react"));
|
|
9
9
|
var _consoleBaseRcIcon = _interopRequireDefault(require("@alicloud/console-base-rc-icon"));
|
|
10
|
-
var _consoleBaseRcTooltip = require("@alicloud/console-base-rc-tooltip");
|
|
11
10
|
var _model = require("../../../model");
|
|
12
|
-
var
|
|
11
|
+
var _item = _interopRequireDefault(require("../item"));
|
|
13
12
|
var _intl = _interopRequireDefault(require("../../intl"));
|
|
14
13
|
function QuickTop() {
|
|
15
14
|
var handleGoTop = (0, _model.useHandleGoTop)();
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
title: title,
|
|
19
|
-
destroyTooltipOnHide: true,
|
|
20
|
-
placement: "left",
|
|
21
|
-
fixed: true,
|
|
22
|
-
overlayStyle: {
|
|
23
|
-
marginLeft: '8px'
|
|
24
|
-
},
|
|
25
|
-
spm: "console-base_sidebar"
|
|
26
|
-
}, /*#__PURE__*/_react.default.createElement(_rc.SidePanelItemWrap, null, /*#__PURE__*/_react.default.createElement(_rc.SidePanelItemButton, {
|
|
27
|
-
title: title,
|
|
15
|
+
return /*#__PURE__*/_react.default.createElement(_item.default, {
|
|
16
|
+
title: (0, _intl.default)('op:back_to_top'),
|
|
28
17
|
icon: /*#__PURE__*/_react.default.createElement(_consoleBaseRcIcon.default, {
|
|
29
18
|
type: "go-top"
|
|
30
19
|
}),
|
|
31
20
|
onClick: handleGoTop
|
|
32
|
-
})
|
|
21
|
+
});
|
|
33
22
|
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.ScAside = void 0;
|
|
8
|
+
var _styledComponents = _interopRequireWildcard(require("styled-components"));
|
|
9
|
+
var _consoleBaseTheme = require("@alicloud/console-base-theme");
|
|
10
|
+
var _const = require("./const");
|
|
11
|
+
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); }
|
|
12
|
+
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; }
|
|
13
|
+
var ScAside = exports.ScAside = _styledComponents.default.aside.withConfig({
|
|
14
|
+
componentId: "sc-i507bi-0"
|
|
15
|
+
})(["z-index:", ";position:fixed;top:0;right:0;bottom:0;display:flex;flex-direction:column;padding:", "px 0;width:", "px;transition:transform 250ms ease-in-out 0ms;box-shadow:none;", " ", " ", " .hasTopbar &{top:", "px;}"], _consoleBaseTheme.Z_INDEX.SIDE_PANEL, _const.SPACING_Y * 1.5, _consoleBaseTheme.SIZE.WIDTH_SIDE_PANEL, _consoleBaseTheme.mixinBgPrimary, _consoleBaseTheme.mixinBorderTertiaryLeft, function (_ref) {
|
|
16
|
+
var $collapsed = _ref.$collapsed;
|
|
17
|
+
return $collapsed ? (0, _styledComponents.css)(["transform:translateX(101%);border:none !important;"]) : _consoleBaseTheme.mixinBorderTertiaryLeft;
|
|
18
|
+
}, _consoleBaseTheme.SIZE.HEIGHT_TOP_NAV);
|
package/build/esm/ui/index.js
CHANGED
|
@@ -1,35 +1,19 @@
|
|
|
1
1
|
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
2
2
|
import React from 'react';
|
|
3
|
-
import
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import { SIZE_BUTTON_WRAP_HEIGHT, SPACING_Y, DATA_KEY_J } from './const';
|
|
3
|
+
import { useVisible, useCollapsed } from '../model';
|
|
4
|
+
import { ScAside } from './styles';
|
|
5
|
+
import { DATA_KEY_J } from './const';
|
|
7
6
|
import { GlobalStyleOnBody } from './rc';
|
|
8
|
-
import { ItemsTop, ItemsBottom,
|
|
9
|
-
var ScAside = styled.aside.withConfig({
|
|
10
|
-
componentId: "sc-1ok6knf-0"
|
|
11
|
-
})(["z-index:", ";position:fixed;top:0;right:0;bottom:0;display:flex;flex-direction:column;padding:", "px 0 ", "px 0;width:", "px;transition:transform 250ms ease-in-out 0ms;box-shadow:none;", " ", " ", " .hasTopbar &{top:", "px;}"], Z_INDEX.SIDE_PANEL, SPACING_Y * 1.5, SIZE_BUTTON_WRAP_HEIGHT + SPACING_Y, SIZE.WIDTH_SIDE_PANEL, mixinBgPrimary, mixinBorderTertiaryLeft, function (_ref) {
|
|
12
|
-
var $collapsed = _ref.$collapsed;
|
|
13
|
-
return $collapsed ? css(["transform:translateX(101%);border:none !important;"]) : mixinBorderTertiaryLeft;
|
|
14
|
-
}, SIZE.HEIGHT_TOP_NAV);
|
|
15
|
-
var ScCollapseAsideWrapper = styled.div.withConfig({
|
|
16
|
-
componentId: "sc-1ok6knf-1"
|
|
17
|
-
})(["", ""], function (_ref2) {
|
|
18
|
-
var $collapsedAsideMini = _ref2.$collapsedAsideMini,
|
|
19
|
-
$collapsed = _ref2.$collapsed;
|
|
20
|
-
return $collapsedAsideMini && $collapsed && css(["transform:scale(0.7) translateX(10%);"]);
|
|
21
|
-
});
|
|
7
|
+
import { ItemsTop, ItemsBottom, ItemCollapse } from './rc-container';
|
|
22
8
|
export default function Ui() {
|
|
23
9
|
var visible = useVisible();
|
|
24
|
-
var _useProps = useProps(),
|
|
25
|
-
collapsedAsideMini = _useProps.collapsedAsideMini;
|
|
26
10
|
var collapsed = useCollapsed();
|
|
27
|
-
|
|
11
|
+
if (!visible) {
|
|
12
|
+
return null;
|
|
13
|
+
}
|
|
14
|
+
return /*#__PURE__*/React.createElement(ScAside, _defineProperty({
|
|
28
15
|
$collapsed: collapsed,
|
|
29
16
|
className: 'J_fixed_right_will_be_pushed_left',
|
|
30
17
|
'data-spm': 'console-base_sidebar'
|
|
31
|
-
}, DATA_KEY_J, ''), /*#__PURE__*/React.createElement(GlobalStyleOnBody, null), /*#__PURE__*/React.createElement(ItemsTop, null), /*#__PURE__*/React.createElement(ItemsBottom, null), /*#__PURE__*/React.createElement(
|
|
32
|
-
$collapsedAsideMini: !!collapsedAsideMini,
|
|
33
|
-
$collapsed: collapsed
|
|
34
|
-
}, /*#__PURE__*/React.createElement(CollapseAside, null), /*#__PURE__*/React.createElement(CollapseToggle, null))) : null;
|
|
18
|
+
}, DATA_KEY_J, ''), /*#__PURE__*/React.createElement(GlobalStyleOnBody, null), /*#__PURE__*/React.createElement(ItemsTop, null), /*#__PURE__*/React.createElement(ItemsBottom, null), /*#__PURE__*/React.createElement(ItemCollapse, null));
|
|
35
19
|
}
|
|
@@ -6,4 +6,4 @@ import { SIZE_BUTTON_WRAP_WIDTH, SIZE_BUTTON_WRAP_HEIGHT } from '../../const';
|
|
|
6
6
|
*/
|
|
7
7
|
export default styled.div.withConfig({
|
|
8
8
|
componentId: "sc-3r2cly-0"
|
|
9
|
-
})(["display:flex;align-items:center;justify-content:center;
|
|
9
|
+
})(["position:relative;display:flex;align-items:center;justify-content:center;width:", "px;height:", "px;"], SIZE_BUTTON_WRAP_WIDTH, SIZE_BUTTON_WRAP_HEIGHT);
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
1
|
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
3
2
|
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
|
|
4
3
|
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
|
|
@@ -46,14 +45,15 @@ var Item = function Item(_ref) {
|
|
|
46
45
|
onActiveChange === null || onActiveChange === void 0 ? void 0 : onActiveChange(!active);
|
|
47
46
|
}, [onClick, onActiveChange, active]);
|
|
48
47
|
useEffect(function () {
|
|
49
|
-
if (
|
|
50
|
-
|
|
51
|
-
setOpen(true);
|
|
52
|
-
defaultOpenTimerRef.current = setTimeout(function () {
|
|
53
|
-
setOpen(false);
|
|
54
|
-
}, tooltipDefaultOpenDuration);
|
|
55
|
-
}, Math.max(tooltipDefaultOpenDelay, 250));
|
|
48
|
+
if (collapsed || !tooltipDefaultOpen) {
|
|
49
|
+
return;
|
|
56
50
|
}
|
|
51
|
+
openTimerRef.current = setTimeout(function () {
|
|
52
|
+
setOpen(true);
|
|
53
|
+
defaultOpenTimerRef.current = setTimeout(function () {
|
|
54
|
+
setOpen(false);
|
|
55
|
+
}, tooltipDefaultOpenDuration);
|
|
56
|
+
}, Math.max(tooltipDefaultOpenDelay, 250));
|
|
57
57
|
|
|
58
58
|
// 组件卸载时,主动清除计时器
|
|
59
59
|
return function () {
|
|
@@ -66,23 +66,23 @@ var Item = function Item(_ref) {
|
|
|
66
66
|
defaultOpenTimerRef.current = null;
|
|
67
67
|
}
|
|
68
68
|
};
|
|
69
|
-
}, []);
|
|
69
|
+
}, [collapsed, tooltipDefaultOpen, tooltipDefaultOpenDelay, tooltipDefaultOpenDuration]);
|
|
70
70
|
|
|
71
71
|
// 侧边栏收起时,弹窗需关闭
|
|
72
72
|
useEffect(function () {
|
|
73
|
-
if (collapsed
|
|
73
|
+
if (collapsed) {
|
|
74
74
|
setOpen(false);
|
|
75
75
|
}
|
|
76
76
|
}, [collapsed]);
|
|
77
|
-
return /*#__PURE__*/React.createElement(TooltipV1,
|
|
77
|
+
return /*#__PURE__*/React.createElement(TooltipV1, _objectSpread(_objectSpread({
|
|
78
|
+
spm: 'console-base_sidebar',
|
|
78
79
|
title: tooltipAsHtml && typeof tooltip === 'string' ? /*#__PURE__*/React.createElement(HtmlTrusted, {
|
|
79
80
|
text: tooltip
|
|
80
81
|
}) : tooltip || title,
|
|
81
82
|
destroyTooltipOnHide: true,
|
|
82
|
-
placement:
|
|
83
|
-
fixed: true
|
|
84
|
-
|
|
85
|
-
}, tooltipOptions, {
|
|
83
|
+
placement: 'left',
|
|
84
|
+
fixed: true
|
|
85
|
+
}, tooltipOptions), {}, {
|
|
86
86
|
overlayStyle: _objectSpread({
|
|
87
87
|
marginLeft: '8px'
|
|
88
88
|
}, tooltipOptions === null || tooltipOptions === void 0 ? void 0 : tooltipOptions.overlayStyle),
|
|
@@ -91,7 +91,7 @@ var Item = function Item(_ref) {
|
|
|
91
91
|
}), /*#__PURE__*/React.createElement(SidePanelItemWrap, {
|
|
92
92
|
id: id,
|
|
93
93
|
className: className
|
|
94
|
-
}, /*#__PURE__*/React.createElement(SidePanelItemButton,
|
|
94
|
+
}, /*#__PURE__*/React.createElement(SidePanelItemButton, _objectSpread({
|
|
95
95
|
buttonId: buttonId,
|
|
96
96
|
buttonStyle: buttonStyle,
|
|
97
97
|
title: title,
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
|
|
2
|
+
import React, { useState } from 'react';
|
|
3
|
+
import { createPortal } from 'react-dom';
|
|
4
|
+
import Draggable from 'react-draggable';
|
|
5
|
+
import { useLocalStorageState } from 'ahooks';
|
|
6
|
+
import { TooltipV1 } from '@alicloud/console-base-rc-tooltip';
|
|
7
|
+
import Icon from '@alicloud/console-base-rc-icon';
|
|
8
|
+
import { useCollapsed, useHandleCollapsedChange, useProps, useItemsTop } from '../../../model';
|
|
9
|
+
import PanelItem from '../item';
|
|
10
|
+
import intl from '../../intl';
|
|
11
|
+
import { SidePanelItemBadge, SidePanelItemWrap } from '../../rc';
|
|
12
|
+
import { ScCollapseWrapper, ScCollapseAside, ScCollapseButton } from './styles';
|
|
13
|
+
var CB_SIDE_PANEL_COLLAPSE_Y = 'cb-side-panel-collapse-y';
|
|
14
|
+
export default function ItemCollapse() {
|
|
15
|
+
var _useState = useState(false),
|
|
16
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
17
|
+
isDragging = _useState2[0],
|
|
18
|
+
setIsDragging = _useState2[1];
|
|
19
|
+
var _useProps = useProps(),
|
|
20
|
+
collapsedAside = _useProps.collapsedAside;
|
|
21
|
+
var collapsed = useCollapsed();
|
|
22
|
+
var handleToggleCollapsed = useHandleCollapsedChange();
|
|
23
|
+
var unread = useItemsTop().some(function (v) {
|
|
24
|
+
return v.unread;
|
|
25
|
+
});
|
|
26
|
+
var _useLocalStorageState = useLocalStorageState(CB_SIDE_PANEL_COLLAPSE_Y, {
|
|
27
|
+
defaultValue: 0,
|
|
28
|
+
deserializer: function deserializer(value) {
|
|
29
|
+
return +(value || 0);
|
|
30
|
+
}
|
|
31
|
+
}),
|
|
32
|
+
_useLocalStorageState2 = _slicedToArray(_useLocalStorageState, 2),
|
|
33
|
+
draggableY = _useLocalStorageState2[0],
|
|
34
|
+
setDraggableY = _useLocalStorageState2[1];
|
|
35
|
+
if (!collapsed) {
|
|
36
|
+
return /*#__PURE__*/React.createElement(PanelItem, {
|
|
37
|
+
spm: 'collapse-hidden',
|
|
38
|
+
title: intl('op:toggle_hidden'),
|
|
39
|
+
icon: /*#__PURE__*/React.createElement(Icon, {
|
|
40
|
+
type: "angle-right"
|
|
41
|
+
}),
|
|
42
|
+
tooltipOptions: {
|
|
43
|
+
mouseEnterDelay: 250
|
|
44
|
+
},
|
|
45
|
+
onClick: handleToggleCollapsed
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
return /*#__PURE__*/createPortal(/*#__PURE__*/React.createElement(Draggable, {
|
|
49
|
+
axis: 'y',
|
|
50
|
+
position: {
|
|
51
|
+
x: 0,
|
|
52
|
+
y: +(draggableY || 0)
|
|
53
|
+
},
|
|
54
|
+
bounds: {
|
|
55
|
+
left: 0,
|
|
56
|
+
right: 0,
|
|
57
|
+
top: -500,
|
|
58
|
+
bottom: 0
|
|
59
|
+
},
|
|
60
|
+
onDrag: function onDrag() {
|
|
61
|
+
setIsDragging(true);
|
|
62
|
+
},
|
|
63
|
+
onStop: function onStop(_, data) {
|
|
64
|
+
setIsDragging(false);
|
|
65
|
+
setDraggableY(data.y);
|
|
66
|
+
}
|
|
67
|
+
}, /*#__PURE__*/React.createElement(ScCollapseWrapper, {
|
|
68
|
+
$isDragging: isDragging
|
|
69
|
+
}, collapsedAside ? /*#__PURE__*/React.createElement(ScCollapseAside, null, collapsedAside) : null, /*#__PURE__*/React.createElement(TooltipV1, {
|
|
70
|
+
spm: 'console-base_sidebar',
|
|
71
|
+
title: intl('op:toggle_visible'),
|
|
72
|
+
placement: 'left',
|
|
73
|
+
destroyTooltipOnHide: true,
|
|
74
|
+
fixed: true,
|
|
75
|
+
mouseEnterDelay: 250,
|
|
76
|
+
overlayStyle: {
|
|
77
|
+
marginLeft: '8px'
|
|
78
|
+
}
|
|
79
|
+
}, /*#__PURE__*/React.createElement(SidePanelItemWrap, null, /*#__PURE__*/React.createElement(ScCollapseButton, {
|
|
80
|
+
spm: 'collapse-visible',
|
|
81
|
+
title: intl('op:toggle_visible'),
|
|
82
|
+
icon: /*#__PURE__*/React.createElement(Icon, {
|
|
83
|
+
type: "angle-right",
|
|
84
|
+
rotate: 180
|
|
85
|
+
}),
|
|
86
|
+
onClick: handleToggleCollapsed
|
|
87
|
+
}), unread ? /*#__PURE__*/React.createElement(SidePanelItemBadge, {
|
|
88
|
+
unread: true
|
|
89
|
+
}) : null)))), document.body);
|
|
90
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import styled, { css } from 'styled-components';
|
|
2
|
+
import { mixinBgAccent, mixinTextWhite } from '@alicloud/console-base-theme';
|
|
3
|
+
import { SidePanelItemButton } from '../../rc';
|
|
4
|
+
export var ScCollapseWrapper = styled.div.withConfig({
|
|
5
|
+
componentId: "sc-dyn7up-0"
|
|
6
|
+
})(["z-index:998;position:fixed;right:0;bottom:9px;*{-webkit-user-drag:none !important;}", ""], function (_ref) {
|
|
7
|
+
var $isDragging = _ref.$isDragging;
|
|
8
|
+
return $isDragging ? css(["cursor:move;*{pointer-events:none !important;}"]) : null;
|
|
9
|
+
});
|
|
10
|
+
export var ScCollapseAside = styled.div.withConfig({
|
|
11
|
+
componentId: "sc-dyn7up-1"
|
|
12
|
+
})(["position:relative;display:flex;align-items:center;justify-content:center;"]);
|
|
13
|
+
export var ScCollapseButton = styled(SidePanelItemButton).withConfig({
|
|
14
|
+
componentId: "sc-dyn7up-2"
|
|
15
|
+
})(["&,&:hover{", " ", "}"], mixinBgAccent, mixinTextWhite);
|
|
@@ -9,6 +9,9 @@ import { useChildren, useItemsTop, useItemsBottom, useQuickTop } from '../../../
|
|
|
9
9
|
import { DATA_KEY_SIDE_PANEL_ITEM, SPACING_Y } from '../../const';
|
|
10
10
|
import PanelItem from '../item';
|
|
11
11
|
import QuickTop from '../quick-top';
|
|
12
|
+
var ScHr = styled(HrBase).withConfig({
|
|
13
|
+
componentId: "sc-1h5t3jq-0"
|
|
14
|
+
})(["margin:", "px 4px;"], SPACING_Y);
|
|
12
15
|
function Items(_ref) {
|
|
13
16
|
var items = _ref.items;
|
|
14
17
|
// index 为业务传入的期望展示的顺序
|
|
@@ -31,9 +34,6 @@ export function ItemsTop() {
|
|
|
31
34
|
items: items
|
|
32
35
|
}));
|
|
33
36
|
}
|
|
34
|
-
var ScHr = styled(HrBase).withConfig({
|
|
35
|
-
componentId: "sc-1h5t3jq-0"
|
|
36
|
-
})(["margin:", "px 4px;"], SPACING_Y);
|
|
37
37
|
export function ItemsBottom() {
|
|
38
38
|
var quickTop = useQuickTop();
|
|
39
39
|
var children = useChildren();
|
|
@@ -1,26 +1,15 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import Icon from '@alicloud/console-base-rc-icon';
|
|
3
|
-
import { TooltipV1 } from '@alicloud/console-base-rc-tooltip';
|
|
4
3
|
import { useHandleGoTop } from '../../../model';
|
|
5
|
-
import
|
|
4
|
+
import PanelItem from '../item';
|
|
6
5
|
import intl from '../../intl';
|
|
7
6
|
export default function QuickTop() {
|
|
8
7
|
var handleGoTop = useHandleGoTop();
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
title: title,
|
|
12
|
-
destroyTooltipOnHide: true,
|
|
13
|
-
placement: "left",
|
|
14
|
-
fixed: true,
|
|
15
|
-
overlayStyle: {
|
|
16
|
-
marginLeft: '8px'
|
|
17
|
-
},
|
|
18
|
-
spm: "console-base_sidebar"
|
|
19
|
-
}, /*#__PURE__*/React.createElement(SidePanelItemWrap, null, /*#__PURE__*/React.createElement(SidePanelItemButton, {
|
|
20
|
-
title: title,
|
|
8
|
+
return /*#__PURE__*/React.createElement(PanelItem, {
|
|
9
|
+
title: intl('op:back_to_top'),
|
|
21
10
|
icon: /*#__PURE__*/React.createElement(Icon, {
|
|
22
11
|
type: "go-top"
|
|
23
12
|
}),
|
|
24
13
|
onClick: handleGoTop
|
|
25
|
-
})
|
|
14
|
+
});
|
|
26
15
|
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import styled, { css } from 'styled-components';
|
|
2
|
+
import { SIZE, Z_INDEX, mixinBgPrimary, mixinBorderTertiaryLeft } from '@alicloud/console-base-theme';
|
|
3
|
+
import { SPACING_Y } from './const';
|
|
4
|
+
export var ScAside = styled.aside.withConfig({
|
|
5
|
+
componentId: "sc-i507bi-0"
|
|
6
|
+
})(["z-index:", ";position:fixed;top:0;right:0;bottom:0;display:flex;flex-direction:column;padding:", "px 0;width:", "px;transition:transform 250ms ease-in-out 0ms;box-shadow:none;", " ", " ", " .hasTopbar &{top:", "px;}"], Z_INDEX.SIDE_PANEL, SPACING_Y * 1.5, SIZE.WIDTH_SIDE_PANEL, mixinBgPrimary, mixinBorderTertiaryLeft, function (_ref) {
|
|
7
|
+
var $collapsed = _ref.$collapsed;
|
|
8
|
+
return $collapsed ? css(["transform:translateX(101%);border:none !important;"]) : mixinBorderTertiaryLeft;
|
|
9
|
+
}, SIZE.HEIGHT_TOP_NAV);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { EasyIconValue } from '@alicloud/console-base-rc-easy-icon';
|
|
2
2
|
import { TooltipPropsV1 } from '@alicloud/console-base-rc-tooltip';
|
|
3
|
-
export interface
|
|
3
|
+
export interface ISidePanelItemButtonProps {
|
|
4
4
|
/**
|
|
5
5
|
* 入口按钮 ID
|
|
6
6
|
*/
|
|
@@ -54,7 +54,7 @@ export interface SidePanelItemButtonProps {
|
|
|
54
54
|
*/
|
|
55
55
|
onActiveChange?(active: boolean): void;
|
|
56
56
|
}
|
|
57
|
-
export interface ISidePanelItemProps extends
|
|
57
|
+
export interface ISidePanelItemProps extends ISidePanelItemButtonProps {
|
|
58
58
|
/**
|
|
59
59
|
* 自定义展示顺序,越小越靠前,不传则按照消息传入的顺序展示
|
|
60
60
|
*/
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ISidePanelItemButtonProps } from '../../../model/types/common';
|
|
2
2
|
/**
|
|
3
3
|
* 工具的按钮
|
|
4
4
|
*/
|
|
5
|
-
export default function SidePanelItemButton({ title, icon, onlyShowIcon, active, buttonId, buttonStyle, ...rest }:
|
|
5
|
+
export default function SidePanelItemButton({ title, icon, onlyShowIcon, active, buttonId, buttonStyle, ...rest }: ISidePanelItemButtonProps): JSX.Element;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default function ItemCollapse(): JSX.Element | null;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { SidePanelItemButton } from '../../rc';
|
|
2
|
+
export declare const ScCollapseWrapper: import("styled-components").StyledComponent<"div", any, {
|
|
3
|
+
$isDragging: boolean;
|
|
4
|
+
}, never>;
|
|
5
|
+
export declare const ScCollapseAside: import("styled-components").StyledComponent<"div", any, {}, never>;
|
|
6
|
+
export declare const ScCollapseButton: import("styled-components").StyledComponent<typeof SidePanelItemButton, any, {}, never>;
|
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.24-beta.1",
|
|
4
4
|
"description": "ConsoleBase 组件 - 右侧边栏",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"sideEffects": false,
|
|
@@ -23,7 +23,6 @@
|
|
|
23
23
|
"@alicloud/demo-rc-elements": "^1.13.0",
|
|
24
24
|
"@alicloud/ts-config": "^1.1.3",
|
|
25
25
|
"@types/react": "^17.0.58",
|
|
26
|
-
"@types/react-transition-group": "^4.4.6",
|
|
27
26
|
"@types/styled-components": "^5.1.26",
|
|
28
27
|
"react": "^17.0.2",
|
|
29
28
|
"styled-components": "^5.3.10",
|
|
@@ -34,8 +33,6 @@
|
|
|
34
33
|
"styled-components": ">=5"
|
|
35
34
|
},
|
|
36
35
|
"dependencies": {
|
|
37
|
-
"@alicloud/console-base-conf-env": "^1.6.9",
|
|
38
|
-
"@alicloud/console-base-conf-locale": "^1.8.9",
|
|
39
36
|
"@alicloud/console-base-intl-factory-basic": "^1.6.9",
|
|
40
37
|
"@alicloud/console-base-rc-button": "^1.8.2",
|
|
41
38
|
"@alicloud/console-base-rc-easy-icon": "^1.0.1",
|
|
@@ -48,10 +45,10 @@
|
|
|
48
45
|
"@alicloud/console-base-theme-sc-base": "^1.6.4",
|
|
49
46
|
"@alicloud/mere-dom": "^1.8.0",
|
|
50
47
|
"@alicloud/react-hook-is-unmounted": "^1.3.4",
|
|
51
|
-
"@alicloud/react-hook-mouse-hover": "^1.0.2",
|
|
52
48
|
"@alicloud/typescript-missing-helpers": "^1.3.4",
|
|
49
|
+
"ahooks": "^3.7.11",
|
|
53
50
|
"immutability-helper": "^3.1.1",
|
|
54
|
-
"react-
|
|
51
|
+
"react-draggable": "^4.4.6"
|
|
55
52
|
},
|
|
56
53
|
"scripts": {
|
|
57
54
|
"start": "breezr start-storybook",
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
4
|
-
Object.defineProperty(exports, "__esModule", {
|
|
5
|
-
value: true
|
|
6
|
-
});
|
|
7
|
-
exports.default = CollapseAside;
|
|
8
|
-
var _react = _interopRequireWildcard(require("react"));
|
|
9
|
-
var _model = require("../../../model");
|
|
10
|
-
var _styles = require("./styles");
|
|
11
|
-
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); }
|
|
12
|
-
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; }
|
|
13
|
-
function CollapseAside() {
|
|
14
|
-
var collapseAsideRef = (0, _react.useRef)(null);
|
|
15
|
-
var _useProps = (0, _model.useProps)(),
|
|
16
|
-
collapsedAside = _useProps.collapsedAside;
|
|
17
|
-
var collapsed = (0, _model.useCollapsed)();
|
|
18
|
-
return collapsedAside ? /*#__PURE__*/_react.default.createElement(_styles.ScCSSTransition, {
|
|
19
|
-
nodeRef: collapseAsideRef,
|
|
20
|
-
in: collapsed,
|
|
21
|
-
classNames: "cb-collapse-aside",
|
|
22
|
-
timeout: 200,
|
|
23
|
-
mountOnEnter: true,
|
|
24
|
-
unmountOnExit: true
|
|
25
|
-
}, /*#__PURE__*/_react.default.createElement(_styles.ScCollapseAsideWrap, {
|
|
26
|
-
ref: collapseAsideRef,
|
|
27
|
-
"data-spm-click": "gostr=/aliyun;locaid=dcollapsed-aside"
|
|
28
|
-
}, collapsedAside)) : null;
|
|
29
|
-
}
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
4
|
-
Object.defineProperty(exports, "__esModule", {
|
|
5
|
-
value: true
|
|
6
|
-
});
|
|
7
|
-
exports.ScCollapseAsideWrap = exports.ScCSSTransition = void 0;
|
|
8
|
-
var _styledComponents = _interopRequireWildcard(require("styled-components"));
|
|
9
|
-
var _reactTransitionGroup = require("react-transition-group");
|
|
10
|
-
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); }
|
|
11
|
-
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; }
|
|
12
|
-
var KfZoomBigIn = (0, _styledComponents.keyframes)(["0%{transform:scale(0);opacity:0;}100%{transform:scale(1);opacity:1;}"]);
|
|
13
|
-
var ScCSSTransition = exports.ScCSSTransition = (0, _styledComponents.default)(_reactTransitionGroup.CSSTransition).withConfig({
|
|
14
|
-
componentId: "sc-1slnea7-0"
|
|
15
|
-
})(["&.", "{animation-timing-function:cubic-bezier(0.08,0.82,0.17,1);animation-duration:", ";animation-fill-mode:both;animation-play-state:paused;}&.", "{animation-name:", ";animation-play-state:running;}&.", "{pointer-events:none;animation-timing-function:cubic-bezier(0.78,0.14,0.15,0.86);animation-duration:", ";animation-fill-mode:both;animation-play-state:paused;}&.", "{animation-name:", ";animation-direction:reverse;animation-play-state:running;}"], function (_ref) {
|
|
16
|
-
var classNames = _ref.classNames;
|
|
17
|
-
return "".concat(classNames, "-enter");
|
|
18
|
-
}, function (_ref2) {
|
|
19
|
-
var timeout = _ref2.timeout;
|
|
20
|
-
return "".concat(timeout, "ms");
|
|
21
|
-
}, function (_ref3) {
|
|
22
|
-
var classNames = _ref3.classNames;
|
|
23
|
-
return "".concat(classNames, "-enter-active");
|
|
24
|
-
}, KfZoomBigIn, function (_ref4) {
|
|
25
|
-
var classNames = _ref4.classNames;
|
|
26
|
-
return "".concat(classNames, "-exit");
|
|
27
|
-
}, function (_ref5) {
|
|
28
|
-
var timeout = _ref5.timeout;
|
|
29
|
-
return "".concat(timeout, "ms");
|
|
30
|
-
}, function (_ref6) {
|
|
31
|
-
var classNames = _ref6.classNames;
|
|
32
|
-
return "".concat(classNames, "-exit-active");
|
|
33
|
-
}, KfZoomBigIn);
|
|
34
|
-
var ScCollapseAsideWrap = exports.ScCollapseAsideWrap = _styledComponents.default.div.withConfig({
|
|
35
|
-
componentId: "sc-1slnea7-1"
|
|
36
|
-
})(["position:absolute;right:100%;bottom:50px;margin-right:10px;"]);
|
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
5
|
-
Object.defineProperty(exports, "__esModule", {
|
|
6
|
-
value: true
|
|
7
|
-
});
|
|
8
|
-
exports.default = PanelToggle;
|
|
9
|
-
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
10
|
-
var _react = _interopRequireWildcard(require("react"));
|
|
11
|
-
var _consoleBaseRcIcon = _interopRequireDefault(require("@alicloud/console-base-rc-icon"));
|
|
12
|
-
var _consoleBaseRcTooltip = require("@alicloud/console-base-rc-tooltip");
|
|
13
|
-
var _model = require("../../../model");
|
|
14
|
-
var _styles = require("./styles");
|
|
15
|
-
var _rc = require("../../rc");
|
|
16
|
-
var _intl = _interopRequireDefault(require("../../intl"));
|
|
17
|
-
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); }
|
|
18
|
-
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; }
|
|
19
|
-
function PanelToggle() {
|
|
20
|
-
var _useState = (0, _react.useState)(false),
|
|
21
|
-
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
22
|
-
isHovered = _useState2[0],
|
|
23
|
-
setIsHovered = _useState2[1];
|
|
24
|
-
var _useProps = (0, _model.useProps)(),
|
|
25
|
-
collapsedAside = _useProps.collapsedAside;
|
|
26
|
-
var collapsed = (0, _model.useCollapsed)();
|
|
27
|
-
var unread = (0, _model.useItemsTop)().some(function (v) {
|
|
28
|
-
return v.unread;
|
|
29
|
-
});
|
|
30
|
-
var handleToggleCollapsed = (0, _model.useHandleCollapsedChange)();
|
|
31
|
-
var title = (0, _intl.default)(collapsed ? 'op:toggle_visible' : 'op:toggle_hidden');
|
|
32
|
-
return /*#__PURE__*/_react.default.createElement(_styles.ScCollapseToggleWrap, null, /*#__PURE__*/_react.default.createElement(_consoleBaseRcTooltip.TooltipV1, {
|
|
33
|
-
title: title,
|
|
34
|
-
placement: "left",
|
|
35
|
-
destroyTooltipOnHide: true,
|
|
36
|
-
fixed: true,
|
|
37
|
-
mouseEnterDelay: !collapsedAside && collapsed ? 250 : 0,
|
|
38
|
-
overlayStyle: {
|
|
39
|
-
marginLeft: '8px'
|
|
40
|
-
},
|
|
41
|
-
spm: "console-base_sidebar"
|
|
42
|
-
}, /*#__PURE__*/_react.default.createElement(_styles.ScCollapseToggle, {
|
|
43
|
-
$hovered: isHovered,
|
|
44
|
-
$collapsed: collapsed,
|
|
45
|
-
$collapsedAside: !!collapsedAside,
|
|
46
|
-
onMouseEnter: function onMouseEnter() {
|
|
47
|
-
return setIsHovered(true);
|
|
48
|
-
},
|
|
49
|
-
onMouseLeave: function onMouseLeave() {
|
|
50
|
-
return setIsHovered(false);
|
|
51
|
-
}
|
|
52
|
-
}, /*#__PURE__*/_react.default.createElement(_styles.ScCollapseToggleButton, {
|
|
53
|
-
spm: collapsed ? 'collapse-visible' : 'collapse-hidden',
|
|
54
|
-
title: title,
|
|
55
|
-
icon: /*#__PURE__*/_react.default.createElement(_consoleBaseRcIcon.default, {
|
|
56
|
-
type: "angle-right",
|
|
57
|
-
rotate: collapsed ? 180 : 0
|
|
58
|
-
}),
|
|
59
|
-
onClick: handleToggleCollapsed,
|
|
60
|
-
$collapsed: collapsed,
|
|
61
|
-
$collapsedAside: !!collapsedAside,
|
|
62
|
-
$hovered: isHovered
|
|
63
|
-
}), collapsed && unread ? /*#__PURE__*/_react.default.createElement(_rc.SidePanelItemBadge, {
|
|
64
|
-
unread: true,
|
|
65
|
-
alignLeft: true
|
|
66
|
-
}) : null)));
|
|
67
|
-
}
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
4
|
-
Object.defineProperty(exports, "__esModule", {
|
|
5
|
-
value: true
|
|
6
|
-
});
|
|
7
|
-
exports.ScCollapseToggleWrap = exports.ScCollapseToggleButton = exports.ScCollapseToggle = void 0;
|
|
8
|
-
var _styledComponents = _interopRequireWildcard(require("styled-components"));
|
|
9
|
-
var _consoleBaseTheme = require("@alicloud/console-base-theme");
|
|
10
|
-
var _rc = require("../../rc");
|
|
11
|
-
var _const = require("../../const");
|
|
12
|
-
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); }
|
|
13
|
-
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; }
|
|
14
|
-
var ScCollapseToggleWrap = exports.ScCollapseToggleWrap = _styledComponents.default.div.withConfig({
|
|
15
|
-
componentId: "sc-xm41v7-0"
|
|
16
|
-
})(["position:absolute;right:0;bottom:", "px;"], _const.SPACING_Y);
|
|
17
|
-
var cssToggleIn = (0, _styledComponents.css)(["transform:translateX(-101%);"]);
|
|
18
|
-
var cssToggleOut = (0, _styledComponents.css)(["transform:translateX(-50.5%);"]);
|
|
19
|
-
var ScCollapseToggle = exports.ScCollapseToggle = (0, _styledComponents.default)(_rc.SidePanelItemWrap).withConfig({
|
|
20
|
-
componentId: "sc-xm41v7-1"
|
|
21
|
-
})(["transform:translateX(0);transition:transform 250ms ease-in-out 0ms;", ""], function (_ref) {
|
|
22
|
-
var $collapsed = _ref.$collapsed,
|
|
23
|
-
$collapsedAside = _ref.$collapsedAside,
|
|
24
|
-
$hovered = _ref.$hovered;
|
|
25
|
-
return $collapsed && ($collapsedAside || $hovered ? cssToggleIn : cssToggleOut);
|
|
26
|
-
});
|
|
27
|
-
var collapsedStyles = (0, _styledComponents.css)(["&,&:hover{", " ", "}"], _consoleBaseTheme.mixinBgAccent, _consoleBaseTheme.mixinTextWhite);
|
|
28
|
-
var nonSimpleCnPadding = (0, _styledComponents.css)(["padding-left:4px;text-align:left;"]);
|
|
29
|
-
var ScCollapseToggleButton = exports.ScCollapseToggleButton = (0, _styledComponents.default)(_rc.SidePanelItemButton).withConfig({
|
|
30
|
-
componentId: "sc-xm41v7-2"
|
|
31
|
-
})(["", " ", ""], function (_ref2) {
|
|
32
|
-
var $collapsed = _ref2.$collapsed;
|
|
33
|
-
return $collapsed && collapsedStyles;
|
|
34
|
-
}, function (_ref3) {
|
|
35
|
-
var $collapsed = _ref3.$collapsed,
|
|
36
|
-
$collapsedAside = _ref3.$collapsedAside,
|
|
37
|
-
$hovered = _ref3.$hovered;
|
|
38
|
-
return $collapsed && !$collapsedAside && !$hovered && nonSimpleCnPadding;
|
|
39
|
-
});
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import React, { useRef } from 'react';
|
|
2
|
-
import { useCollapsed, useProps } from '../../../model';
|
|
3
|
-
import { ScCollapseAsideWrap, ScCSSTransition } from './styles';
|
|
4
|
-
export default function CollapseAside() {
|
|
5
|
-
var collapseAsideRef = useRef(null);
|
|
6
|
-
var _useProps = useProps(),
|
|
7
|
-
collapsedAside = _useProps.collapsedAside;
|
|
8
|
-
var collapsed = useCollapsed();
|
|
9
|
-
return collapsedAside ? /*#__PURE__*/React.createElement(ScCSSTransition, {
|
|
10
|
-
nodeRef: collapseAsideRef,
|
|
11
|
-
in: collapsed,
|
|
12
|
-
classNames: "cb-collapse-aside",
|
|
13
|
-
timeout: 200,
|
|
14
|
-
mountOnEnter: true,
|
|
15
|
-
unmountOnExit: true
|
|
16
|
-
}, /*#__PURE__*/React.createElement(ScCollapseAsideWrap, {
|
|
17
|
-
ref: collapseAsideRef,
|
|
18
|
-
"data-spm-click": "gostr=/aliyun;locaid=dcollapsed-aside"
|
|
19
|
-
}, collapsedAside)) : null;
|
|
20
|
-
}
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import styled, { keyframes } from 'styled-components';
|
|
2
|
-
import { CSSTransition } from 'react-transition-group';
|
|
3
|
-
var KfZoomBigIn = keyframes(["0%{transform:scale(0);opacity:0;}100%{transform:scale(1);opacity:1;}"]);
|
|
4
|
-
export var ScCSSTransition = styled(CSSTransition).withConfig({
|
|
5
|
-
componentId: "sc-1slnea7-0"
|
|
6
|
-
})(["&.", "{animation-timing-function:cubic-bezier(0.08,0.82,0.17,1);animation-duration:", ";animation-fill-mode:both;animation-play-state:paused;}&.", "{animation-name:", ";animation-play-state:running;}&.", "{pointer-events:none;animation-timing-function:cubic-bezier(0.78,0.14,0.15,0.86);animation-duration:", ";animation-fill-mode:both;animation-play-state:paused;}&.", "{animation-name:", ";animation-direction:reverse;animation-play-state:running;}"], function (_ref) {
|
|
7
|
-
var classNames = _ref.classNames;
|
|
8
|
-
return "".concat(classNames, "-enter");
|
|
9
|
-
}, function (_ref2) {
|
|
10
|
-
var timeout = _ref2.timeout;
|
|
11
|
-
return "".concat(timeout, "ms");
|
|
12
|
-
}, function (_ref3) {
|
|
13
|
-
var classNames = _ref3.classNames;
|
|
14
|
-
return "".concat(classNames, "-enter-active");
|
|
15
|
-
}, KfZoomBigIn, function (_ref4) {
|
|
16
|
-
var classNames = _ref4.classNames;
|
|
17
|
-
return "".concat(classNames, "-exit");
|
|
18
|
-
}, function (_ref5) {
|
|
19
|
-
var timeout = _ref5.timeout;
|
|
20
|
-
return "".concat(timeout, "ms");
|
|
21
|
-
}, function (_ref6) {
|
|
22
|
-
var classNames = _ref6.classNames;
|
|
23
|
-
return "".concat(classNames, "-exit-active");
|
|
24
|
-
}, KfZoomBigIn);
|
|
25
|
-
export var ScCollapseAsideWrap = styled.div.withConfig({
|
|
26
|
-
componentId: "sc-1slnea7-1"
|
|
27
|
-
})(["position:absolute;right:100%;bottom:50px;margin-right:10px;"]);
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
|
|
2
|
-
import React, { useState } from 'react';
|
|
3
|
-
import Icon from '@alicloud/console-base-rc-icon';
|
|
4
|
-
import { TooltipV1 } from '@alicloud/console-base-rc-tooltip';
|
|
5
|
-
import { useCollapsed, useItemsTop, useHandleCollapsedChange, useProps } from '../../../model';
|
|
6
|
-
import { ScCollapseToggleWrap, ScCollapseToggle, ScCollapseToggleButton } from './styles';
|
|
7
|
-
import { SidePanelItemBadge } from '../../rc';
|
|
8
|
-
import intl from '../../intl';
|
|
9
|
-
export default function PanelToggle() {
|
|
10
|
-
var _useState = useState(false),
|
|
11
|
-
_useState2 = _slicedToArray(_useState, 2),
|
|
12
|
-
isHovered = _useState2[0],
|
|
13
|
-
setIsHovered = _useState2[1];
|
|
14
|
-
var _useProps = useProps(),
|
|
15
|
-
collapsedAside = _useProps.collapsedAside;
|
|
16
|
-
var collapsed = useCollapsed();
|
|
17
|
-
var unread = useItemsTop().some(function (v) {
|
|
18
|
-
return v.unread;
|
|
19
|
-
});
|
|
20
|
-
var handleToggleCollapsed = useHandleCollapsedChange();
|
|
21
|
-
var title = intl(collapsed ? 'op:toggle_visible' : 'op:toggle_hidden');
|
|
22
|
-
return /*#__PURE__*/React.createElement(ScCollapseToggleWrap, null, /*#__PURE__*/React.createElement(TooltipV1, {
|
|
23
|
-
title: title,
|
|
24
|
-
placement: "left",
|
|
25
|
-
destroyTooltipOnHide: true,
|
|
26
|
-
fixed: true,
|
|
27
|
-
mouseEnterDelay: !collapsedAside && collapsed ? 250 : 0,
|
|
28
|
-
overlayStyle: {
|
|
29
|
-
marginLeft: '8px'
|
|
30
|
-
},
|
|
31
|
-
spm: "console-base_sidebar"
|
|
32
|
-
}, /*#__PURE__*/React.createElement(ScCollapseToggle, {
|
|
33
|
-
$hovered: isHovered,
|
|
34
|
-
$collapsed: collapsed,
|
|
35
|
-
$collapsedAside: !!collapsedAside,
|
|
36
|
-
onMouseEnter: function onMouseEnter() {
|
|
37
|
-
return setIsHovered(true);
|
|
38
|
-
},
|
|
39
|
-
onMouseLeave: function onMouseLeave() {
|
|
40
|
-
return setIsHovered(false);
|
|
41
|
-
}
|
|
42
|
-
}, /*#__PURE__*/React.createElement(ScCollapseToggleButton, {
|
|
43
|
-
spm: collapsed ? 'collapse-visible' : 'collapse-hidden',
|
|
44
|
-
title: title,
|
|
45
|
-
icon: /*#__PURE__*/React.createElement(Icon, {
|
|
46
|
-
type: "angle-right",
|
|
47
|
-
rotate: collapsed ? 180 : 0
|
|
48
|
-
}),
|
|
49
|
-
onClick: handleToggleCollapsed,
|
|
50
|
-
$collapsed: collapsed,
|
|
51
|
-
$collapsedAside: !!collapsedAside,
|
|
52
|
-
$hovered: isHovered
|
|
53
|
-
}), collapsed && unread ? /*#__PURE__*/React.createElement(SidePanelItemBadge, {
|
|
54
|
-
unread: true,
|
|
55
|
-
alignLeft: true
|
|
56
|
-
}) : null)));
|
|
57
|
-
}
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import styled, { css } from 'styled-components';
|
|
2
|
-
import { mixinBgAccent, mixinTextWhite } from '@alicloud/console-base-theme';
|
|
3
|
-
import { SidePanelItemWrap, SidePanelItemButton } from '../../rc';
|
|
4
|
-
import { SPACING_Y } from '../../const';
|
|
5
|
-
export var ScCollapseToggleWrap = styled.div.withConfig({
|
|
6
|
-
componentId: "sc-xm41v7-0"
|
|
7
|
-
})(["position:absolute;right:0;bottom:", "px;"], SPACING_Y);
|
|
8
|
-
var cssToggleIn = css(["transform:translateX(-101%);"]);
|
|
9
|
-
var cssToggleOut = css(["transform:translateX(-50.5%);"]);
|
|
10
|
-
export var ScCollapseToggle = styled(SidePanelItemWrap).withConfig({
|
|
11
|
-
componentId: "sc-xm41v7-1"
|
|
12
|
-
})(["transform:translateX(0);transition:transform 250ms ease-in-out 0ms;", ""], function (_ref) {
|
|
13
|
-
var $collapsed = _ref.$collapsed,
|
|
14
|
-
$collapsedAside = _ref.$collapsedAside,
|
|
15
|
-
$hovered = _ref.$hovered;
|
|
16
|
-
return $collapsed && ($collapsedAside || $hovered ? cssToggleIn : cssToggleOut);
|
|
17
|
-
});
|
|
18
|
-
var collapsedStyles = css(["&,&:hover{", " ", "}"], mixinBgAccent, mixinTextWhite);
|
|
19
|
-
var nonSimpleCnPadding = css(["padding-left:4px;text-align:left;"]);
|
|
20
|
-
export var ScCollapseToggleButton = styled(SidePanelItemButton).withConfig({
|
|
21
|
-
componentId: "sc-xm41v7-2"
|
|
22
|
-
})(["", " ", ""], function (_ref2) {
|
|
23
|
-
var $collapsed = _ref2.$collapsed;
|
|
24
|
-
return $collapsed && collapsedStyles;
|
|
25
|
-
}, function (_ref3) {
|
|
26
|
-
var $collapsed = _ref3.$collapsed,
|
|
27
|
-
$collapsedAside = _ref3.$collapsedAside,
|
|
28
|
-
$hovered = _ref3.$hovered;
|
|
29
|
-
return $collapsed && !$collapsedAside && !$hovered && nonSimpleCnPadding;
|
|
30
|
-
});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export default function CollapseAside(): JSX.Element | null;
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
import { CSSTransition } from 'react-transition-group';
|
|
2
|
-
export declare const ScCSSTransition: import("styled-components").StyledComponent<typeof CSSTransition, any, {}, never>;
|
|
3
|
-
export declare const ScCollapseAsideWrap: import("styled-components").StyledComponent<"div", any, {}, never>;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export default function PanelToggle(): JSX.Element;
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { SidePanelItemButton } from '../../rc';
|
|
2
|
-
interface IScProps {
|
|
3
|
-
$collapsed: boolean;
|
|
4
|
-
$collapsedAside: boolean;
|
|
5
|
-
$hovered: boolean;
|
|
6
|
-
}
|
|
7
|
-
export declare const ScCollapseToggleWrap: import("styled-components").StyledComponent<"div", any, {}, never>;
|
|
8
|
-
export declare const ScCollapseToggle: import("styled-components").StyledComponent<"div", any, IScProps, never>;
|
|
9
|
-
export declare const ScCollapseToggleButton: import("styled-components").StyledComponent<typeof SidePanelItemButton, any, IScProps, never>;
|
|
10
|
-
export {};
|