@alicloud/console-base-rc-side-panel 1.1.24-beta.0 → 1.1.24-beta.2

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.
@@ -0,0 +1,60 @@
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 = CollapseWidget;
9
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
10
+ var _react = _interopRequireWildcard(require("react"));
11
+ var _reactDom = require("react-dom");
12
+ var _consoleBaseRcTooltip = require("@alicloud/console-base-rc-tooltip");
13
+ var _consoleBaseRcIcon = _interopRequireDefault(require("@alicloud/console-base-rc-icon"));
14
+ var _model = require("../../../../model");
15
+ var _intl = _interopRequireDefault(require("../../../intl"));
16
+ var _rc = require("../../../rc");
17
+ var _styles = require("./styles");
18
+ 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); }
19
+ 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; }
20
+ function CollapseWidget() {
21
+ var _useState = (0, _react.useState)(false),
22
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
23
+ isHovered = _useState2[0],
24
+ setIsHovered = _useState2[1];
25
+ var handleToggleCollapsed = (0, _model.useHandleCollapsedChange)();
26
+ var unread = (0, _model.useItemsTop)().some(function (v) {
27
+ return v.unread;
28
+ });
29
+ return /*#__PURE__*/(0, _reactDom.createPortal)(/*#__PURE__*/_react.default.createElement(_styles.ScCollapseWrapper, {
30
+ $isHovered: isHovered,
31
+ onMouseEnter: function onMouseEnter() {
32
+ return setIsHovered(true);
33
+ },
34
+ onMouseLeave: function onMouseLeave() {
35
+ return setIsHovered(false);
36
+ }
37
+ }, /*#__PURE__*/_react.default.createElement(_consoleBaseRcTooltip.TooltipV1, {
38
+ spm: 'console-base_sidebar',
39
+ title: (0, _intl.default)('op:toggle_visible'),
40
+ placement: 'left',
41
+ destroyTooltipOnHide: true,
42
+ fixed: true,
43
+ mouseEnterDelay: 250,
44
+ overlayStyle: {
45
+ marginLeft: '8px'
46
+ }
47
+ }, /*#__PURE__*/_react.default.createElement(_rc.SidePanelItemWrap, null, /*#__PURE__*/_react.default.createElement(_styles.ScCollapseButton, {
48
+ $isHovered: isHovered,
49
+ spm: 'collapse-visible',
50
+ title: (0, _intl.default)('op:toggle_visible'),
51
+ icon: /*#__PURE__*/_react.default.createElement(_consoleBaseRcIcon.default, {
52
+ type: "angle-right",
53
+ rotate: 180
54
+ }),
55
+ onClick: handleToggleCollapsed
56
+ }), unread ? /*#__PURE__*/_react.default.createElement(_rc.SidePanelItemBadge, {
57
+ unread: true,
58
+ alignLeft: !isHovered
59
+ }) : null))), document.body);
60
+ }
@@ -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 = 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-8cd4ie-0"
15
+ })(["z-index:998;position:fixed;right:0;bottom:9px;transform:translateX(50%);transition:transform 250ms ease-in-out 0ms;", ""], function (_ref) {
16
+ var $isHovered = _ref.$isHovered;
17
+ return $isHovered && (0, _styledComponents.css)(["transform:translateX(0);"]);
18
+ });
19
+ var ScCollapseButton = exports.ScCollapseButton = (0, _styledComponents.default)(_rc.SidePanelItemButton).withConfig({
20
+ componentId: "sc-8cd4ie-1"
21
+ })(["&,&:hover{", " ", "}", ""], _consoleBaseTheme.mixinBgAccent, _consoleBaseTheme.mixinTextWhite, function (_ref2) {
22
+ var $isHovered = _ref2.$isHovered;
23
+ return !$isHovered && (0, _styledComponents.css)(["padding-left:4px;text-align:left;"]);
24
+ });
@@ -0,0 +1,78 @@
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 = CollapseWithAsideWidget;
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 _consoleBaseRcTooltip = require("@alicloud/console-base-rc-tooltip");
14
+ var _consoleBaseRcIcon = _interopRequireDefault(require("@alicloud/console-base-rc-icon"));
15
+ var _model = require("../../../../model");
16
+ var _intl = _interopRequireDefault(require("../../../intl"));
17
+ var _rc = require("../../../rc");
18
+ var _styles = require("./styles");
19
+ 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
+ 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; }
21
+ function CollapseWithAsideWidget() {
22
+ var _useState = (0, _react.useState)(false),
23
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
24
+ isDragging = _useState2[0],
25
+ setIsDragging = _useState2[1];
26
+ var _useProps = (0, _model.useProps)(),
27
+ collapsedAside = _useProps.collapsedAside,
28
+ collapsedAsideMini = _useProps.collapsedAsideMini,
29
+ collapsedDraggable = _useProps.collapsedDraggable,
30
+ onCollapsedDraggableChange = _useProps.onCollapsedDraggableChange;
31
+ var handleToggleCollapsed = (0, _model.useHandleCollapsedChange)();
32
+ var unread = (0, _model.useItemsTop)().some(function (v) {
33
+ return v.unread;
34
+ });
35
+ return /*#__PURE__*/(0, _reactDom.createPortal)(/*#__PURE__*/_react.default.createElement(_reactDraggable.default, {
36
+ axis: 'y',
37
+ position: {
38
+ x: 0,
39
+ y: 0
40
+ },
41
+ bounds: {
42
+ left: +((collapsedDraggable === null || collapsedDraggable === void 0 ? void 0 : collapsedDraggable[0]) || 0),
43
+ right: +((collapsedDraggable === null || collapsedDraggable === void 0 ? void 0 : collapsedDraggable[1]) || 0),
44
+ top: -500,
45
+ bottom: 0
46
+ },
47
+ onDrag: function onDrag() {
48
+ setIsDragging(true);
49
+ },
50
+ onStop: function onStop(_, data) {
51
+ setIsDragging(false);
52
+ onCollapsedDraggableChange === null || onCollapsedDraggableChange === void 0 ? void 0 : onCollapsedDraggableChange(data.x, data.y);
53
+ }
54
+ }, /*#__PURE__*/_react.default.createElement(_styles.ScCollapseWrapper, {
55
+ $isDragging: isDragging,
56
+ $collapsedAsideMini: !!collapsedAsideMini
57
+ }, /*#__PURE__*/_react.default.createElement(_styles.ScCollapseAside, null, collapsedAside), /*#__PURE__*/_react.default.createElement(_consoleBaseRcTooltip.TooltipV1, {
58
+ spm: 'console-base_sidebar',
59
+ title: (0, _intl.default)('op:toggle_visible'),
60
+ placement: 'left',
61
+ destroyTooltipOnHide: true,
62
+ fixed: true,
63
+ mouseEnterDelay: 250,
64
+ overlayStyle: {
65
+ marginLeft: '8px'
66
+ }
67
+ }, /*#__PURE__*/_react.default.createElement(_rc.SidePanelItemWrap, null, /*#__PURE__*/_react.default.createElement(_styles.ScCollapseButton, {
68
+ spm: 'collapse-visible',
69
+ title: (0, _intl.default)('op:toggle_visible'),
70
+ icon: /*#__PURE__*/_react.default.createElement(_consoleBaseRcIcon.default, {
71
+ type: "angle-right",
72
+ rotate: 180
73
+ }),
74
+ onClick: handleToggleCollapsed
75
+ }), unread ? /*#__PURE__*/_react.default.createElement(_rc.SidePanelItemBadge, {
76
+ unread: true
77
+ }) : null)))), document.body);
78
+ }
@@ -0,0 +1,27 @@
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-140xzf5-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
+ }, function (_ref2) {
19
+ var $collapsedAsideMini = _ref2.$collapsedAsideMini;
20
+ return $collapsedAsideMini ? (0, _styledComponents.css)(["zoom:0.6;margin-right:-8px;"]) : null;
21
+ });
22
+ var ScCollapseAside = exports.ScCollapseAside = _styledComponents.default.div.withConfig({
23
+ componentId: "sc-140xzf5-1"
24
+ })(["position:relative;display:flex;align-items:center;justify-content:center;"]);
25
+ var ScCollapseButton = exports.ScCollapseButton = (0, _styledComponents.default)(_rc.SidePanelItemButton).withConfig({
26
+ componentId: "sc-140xzf5-2"
27
+ })(["&,&:hover{", " ", "}"], _consoleBaseTheme.mixinBgAccent, _consoleBaseTheme.mixinTextWhite);
@@ -6,23 +6,17 @@ Object.defineProperty(exports, "__esModule", {
6
6
  });
7
7
  exports.default = ItemCollapse;
8
8
  var _react = _interopRequireDefault(require("react"));
9
- var _reactDom = require("react-dom");
10
- var _reactDraggable = _interopRequireDefault(require("react-draggable"));
11
- var _consoleBaseRcTooltip = require("@alicloud/console-base-rc-tooltip");
12
9
  var _consoleBaseRcIcon = _interopRequireDefault(require("@alicloud/console-base-rc-icon"));
13
10
  var _model = require("../../../model");
14
11
  var _item = _interopRequireDefault(require("../item"));
15
12
  var _intl = _interopRequireDefault(require("../../intl"));
16
- var _rc = require("../../rc");
17
- var _styles = require("./styles");
13
+ var _collapseWidget = _interopRequireDefault(require("./collapse-widget"));
14
+ var _collapseWithAsideWidget = _interopRequireDefault(require("./collapse-with-aside-widget"));
18
15
  function ItemCollapse() {
19
16
  var _useProps = (0, _model.useProps)(),
20
17
  collapsedAside = _useProps.collapsedAside;
21
18
  var collapsed = (0, _model.useCollapsed)();
22
19
  var handleToggleCollapsed = (0, _model.useHandleCollapsedChange)();
23
- var unread = (0, _model.useItemsTop)().some(function (v) {
24
- return v.unread;
25
- });
26
20
  if (!collapsed) {
27
21
  return /*#__PURE__*/_react.default.createElement(_item.default, {
28
22
  spm: 'collapse-hidden',
@@ -36,33 +30,8 @@ function ItemCollapse() {
36
30
  onClick: handleToggleCollapsed
37
31
  });
38
32
  }
39
- return /*#__PURE__*/(0, _reactDom.createPortal)(/*#__PURE__*/_react.default.createElement(_reactDraggable.default, {
40
- axis: 'y',
41
- bounds: {
42
- left: 0,
43
- right: 0,
44
- top: -500,
45
- bottom: 0
46
- }
47
- }, /*#__PURE__*/_react.default.createElement(_styles.ScCollapseWrapper, null, collapsedAside ? /*#__PURE__*/_react.default.createElement(_styles.ScCollapseAside, null, collapsedAside) : null, /*#__PURE__*/_react.default.createElement(_consoleBaseRcTooltip.TooltipV1, {
48
- spm: 'console-base_sidebar',
49
- title: (0, _intl.default)('op:toggle_visible'),
50
- placement: 'left',
51
- destroyTooltipOnHide: true,
52
- fixed: true,
53
- mouseEnterDelay: 250,
54
- overlayStyle: {
55
- marginLeft: '8px'
56
- }
57
- }, /*#__PURE__*/_react.default.createElement(_rc.SidePanelItemWrap, null, /*#__PURE__*/_react.default.createElement(_styles.ScCollapseButton, {
58
- spm: 'collapse-visible',
59
- title: (0, _intl.default)('op:toggle_visible'),
60
- icon: /*#__PURE__*/_react.default.createElement(_consoleBaseRcIcon.default, {
61
- type: "angle-right",
62
- rotate: 180
63
- }),
64
- onClick: handleToggleCollapsed
65
- }), unread ? /*#__PURE__*/_react.default.createElement(_rc.SidePanelItemBadge, {
66
- unread: true
67
- }) : null)))), document.body);
33
+ if (!collapsedAside) {
34
+ return /*#__PURE__*/_react.default.createElement(_collapseWidget.default, null);
35
+ }
36
+ return /*#__PURE__*/_react.default.createElement(_collapseWithAsideWidget.default, null);
68
37
  }
@@ -0,0 +1,50 @@
1
+ import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
2
+ import React, { useState } from 'react';
3
+ import { createPortal } from 'react-dom';
4
+ import { TooltipV1 } from '@alicloud/console-base-rc-tooltip';
5
+ import Icon from '@alicloud/console-base-rc-icon';
6
+ import { useHandleCollapsedChange, useItemsTop } from '../../../../model';
7
+ import intl from '../../../intl';
8
+ import { SidePanelItemBadge, SidePanelItemWrap } from '../../../rc';
9
+ import { ScCollapseWrapper, ScCollapseButton } from './styles';
10
+ export default function CollapseWidget() {
11
+ var _useState = useState(false),
12
+ _useState2 = _slicedToArray(_useState, 2),
13
+ isHovered = _useState2[0],
14
+ setIsHovered = _useState2[1];
15
+ var handleToggleCollapsed = useHandleCollapsedChange();
16
+ var unread = useItemsTop().some(function (v) {
17
+ return v.unread;
18
+ });
19
+ return /*#__PURE__*/createPortal(/*#__PURE__*/React.createElement(ScCollapseWrapper, {
20
+ $isHovered: isHovered,
21
+ onMouseEnter: function onMouseEnter() {
22
+ return setIsHovered(true);
23
+ },
24
+ onMouseLeave: function onMouseLeave() {
25
+ return setIsHovered(false);
26
+ }
27
+ }, /*#__PURE__*/React.createElement(TooltipV1, {
28
+ spm: 'console-base_sidebar',
29
+ title: intl('op:toggle_visible'),
30
+ placement: 'left',
31
+ destroyTooltipOnHide: true,
32
+ fixed: true,
33
+ mouseEnterDelay: 250,
34
+ overlayStyle: {
35
+ marginLeft: '8px'
36
+ }
37
+ }, /*#__PURE__*/React.createElement(SidePanelItemWrap, null, /*#__PURE__*/React.createElement(ScCollapseButton, {
38
+ $isHovered: isHovered,
39
+ spm: 'collapse-visible',
40
+ title: intl('op:toggle_visible'),
41
+ icon: /*#__PURE__*/React.createElement(Icon, {
42
+ type: "angle-right",
43
+ rotate: 180
44
+ }),
45
+ onClick: handleToggleCollapsed
46
+ }), unread ? /*#__PURE__*/React.createElement(SidePanelItemBadge, {
47
+ unread: true,
48
+ alignLeft: !isHovered
49
+ }) : null))), document.body);
50
+ }
@@ -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-8cd4ie-0"
6
+ })(["z-index:998;position:fixed;right:0;bottom:9px;transform:translateX(50%);transition:transform 250ms ease-in-out 0ms;", ""], function (_ref) {
7
+ var $isHovered = _ref.$isHovered;
8
+ return $isHovered && css(["transform:translateX(0);"]);
9
+ });
10
+ export var ScCollapseButton = styled(SidePanelItemButton).withConfig({
11
+ componentId: "sc-8cd4ie-1"
12
+ })(["&,&:hover{", " ", "}", ""], mixinBgAccent, mixinTextWhite, function (_ref2) {
13
+ var $isHovered = _ref2.$isHovered;
14
+ return !$isHovered && css(["padding-left:4px;text-align:left;"]);
15
+ });
@@ -0,0 +1,68 @@
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 { TooltipV1 } from '@alicloud/console-base-rc-tooltip';
6
+ import Icon from '@alicloud/console-base-rc-icon';
7
+ import { useHandleCollapsedChange, useProps, useItemsTop } from '../../../../model';
8
+ import intl from '../../../intl';
9
+ import { SidePanelItemBadge, SidePanelItemWrap } from '../../../rc';
10
+ import { ScCollapseWrapper, ScCollapseAside, ScCollapseButton } from './styles';
11
+ export default function CollapseWithAsideWidget() {
12
+ var _useState = useState(false),
13
+ _useState2 = _slicedToArray(_useState, 2),
14
+ isDragging = _useState2[0],
15
+ setIsDragging = _useState2[1];
16
+ var _useProps = useProps(),
17
+ collapsedAside = _useProps.collapsedAside,
18
+ collapsedAsideMini = _useProps.collapsedAsideMini,
19
+ collapsedDraggable = _useProps.collapsedDraggable,
20
+ onCollapsedDraggableChange = _useProps.onCollapsedDraggableChange;
21
+ var handleToggleCollapsed = useHandleCollapsedChange();
22
+ var unread = useItemsTop().some(function (v) {
23
+ return v.unread;
24
+ });
25
+ return /*#__PURE__*/createPortal(/*#__PURE__*/React.createElement(Draggable, {
26
+ axis: 'y',
27
+ position: {
28
+ x: 0,
29
+ y: 0
30
+ },
31
+ bounds: {
32
+ left: +((collapsedDraggable === null || collapsedDraggable === void 0 ? void 0 : collapsedDraggable[0]) || 0),
33
+ right: +((collapsedDraggable === null || collapsedDraggable === void 0 ? void 0 : collapsedDraggable[1]) || 0),
34
+ top: -500,
35
+ bottom: 0
36
+ },
37
+ onDrag: function onDrag() {
38
+ setIsDragging(true);
39
+ },
40
+ onStop: function onStop(_, data) {
41
+ setIsDragging(false);
42
+ onCollapsedDraggableChange === null || onCollapsedDraggableChange === void 0 ? void 0 : onCollapsedDraggableChange(data.x, data.y);
43
+ }
44
+ }, /*#__PURE__*/React.createElement(ScCollapseWrapper, {
45
+ $isDragging: isDragging,
46
+ $collapsedAsideMini: !!collapsedAsideMini
47
+ }, /*#__PURE__*/React.createElement(ScCollapseAside, null, collapsedAside), /*#__PURE__*/React.createElement(TooltipV1, {
48
+ spm: 'console-base_sidebar',
49
+ title: intl('op:toggle_visible'),
50
+ placement: 'left',
51
+ destroyTooltipOnHide: true,
52
+ fixed: true,
53
+ mouseEnterDelay: 250,
54
+ overlayStyle: {
55
+ marginLeft: '8px'
56
+ }
57
+ }, /*#__PURE__*/React.createElement(SidePanelItemWrap, null, /*#__PURE__*/React.createElement(ScCollapseButton, {
58
+ spm: 'collapse-visible',
59
+ title: intl('op:toggle_visible'),
60
+ icon: /*#__PURE__*/React.createElement(Icon, {
61
+ type: "angle-right",
62
+ rotate: 180
63
+ }),
64
+ onClick: handleToggleCollapsed
65
+ }), unread ? /*#__PURE__*/React.createElement(SidePanelItemBadge, {
66
+ unread: true
67
+ }) : null)))), document.body);
68
+ }
@@ -0,0 +1,18 @@
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-140xzf5-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
+ }, function (_ref2) {
10
+ var $collapsedAsideMini = _ref2.$collapsedAsideMini;
11
+ return $collapsedAsideMini ? css(["zoom:0.6;margin-right:-8px;"]) : null;
12
+ });
13
+ export var ScCollapseAside = styled.div.withConfig({
14
+ componentId: "sc-140xzf5-1"
15
+ })(["position:relative;display:flex;align-items:center;justify-content:center;"]);
16
+ export var ScCollapseButton = styled(SidePanelItemButton).withConfig({
17
+ componentId: "sc-140xzf5-2"
18
+ })(["&,&:hover{", " ", "}"], mixinBgAccent, mixinTextWhite);
@@ -1,21 +1,15 @@
1
1
  import React from 'react';
2
- import { createPortal } from 'react-dom';
3
- import Draggable from 'react-draggable';
4
- import { TooltipV1 } from '@alicloud/console-base-rc-tooltip';
5
2
  import Icon from '@alicloud/console-base-rc-icon';
6
- import { useCollapsed, useHandleCollapsedChange, useProps, useItemsTop } from '../../../model';
3
+ import { useCollapsed, useHandleCollapsedChange, useProps } from '../../../model';
7
4
  import PanelItem from '../item';
8
5
  import intl from '../../intl';
9
- import { SidePanelItemBadge, SidePanelItemWrap } from '../../rc';
10
- import { ScCollapseWrapper, ScCollapseAside, ScCollapseButton } from './styles';
6
+ import CollapseWidget from './collapse-widget';
7
+ import CollapseWithAsideWidget from './collapse-with-aside-widget';
11
8
  export default function ItemCollapse() {
12
9
  var _useProps = useProps(),
13
10
  collapsedAside = _useProps.collapsedAside;
14
11
  var collapsed = useCollapsed();
15
12
  var handleToggleCollapsed = useHandleCollapsedChange();
16
- var unread = useItemsTop().some(function (v) {
17
- return v.unread;
18
- });
19
13
  if (!collapsed) {
20
14
  return /*#__PURE__*/React.createElement(PanelItem, {
21
15
  spm: 'collapse-hidden',
@@ -29,33 +23,8 @@ export default function ItemCollapse() {
29
23
  onClick: handleToggleCollapsed
30
24
  });
31
25
  }
32
- return /*#__PURE__*/createPortal(/*#__PURE__*/React.createElement(Draggable, {
33
- axis: 'y',
34
- bounds: {
35
- left: 0,
36
- right: 0,
37
- top: -500,
38
- bottom: 0
39
- }
40
- }, /*#__PURE__*/React.createElement(ScCollapseWrapper, null, collapsedAside ? /*#__PURE__*/React.createElement(ScCollapseAside, null, collapsedAside) : null, /*#__PURE__*/React.createElement(TooltipV1, {
41
- spm: 'console-base_sidebar',
42
- title: intl('op:toggle_visible'),
43
- placement: 'left',
44
- destroyTooltipOnHide: true,
45
- fixed: true,
46
- mouseEnterDelay: 250,
47
- overlayStyle: {
48
- marginLeft: '8px'
49
- }
50
- }, /*#__PURE__*/React.createElement(SidePanelItemWrap, null, /*#__PURE__*/React.createElement(ScCollapseButton, {
51
- spm: 'collapse-visible',
52
- title: intl('op:toggle_visible'),
53
- icon: /*#__PURE__*/React.createElement(Icon, {
54
- type: "angle-right",
55
- rotate: 180
56
- }),
57
- onClick: handleToggleCollapsed
58
- }), unread ? /*#__PURE__*/React.createElement(SidePanelItemBadge, {
59
- unread: true
60
- }) : null)))), document.body);
26
+ if (!collapsedAside) {
27
+ return /*#__PURE__*/React.createElement(CollapseWidget, null);
28
+ }
29
+ return /*#__PURE__*/React.createElement(CollapseWithAsideWidget, null);
61
30
  }
@@ -11,9 +11,13 @@ export interface IModelProps {
11
11
  */
12
12
  visible?: boolean;
13
13
  /**
14
- * 通过 onCollapsedChange 实现受控
14
+ * 是否收起,通过 onCollapsedChange 实现受控
15
15
  */
16
16
  collapsed?: boolean;
17
+ /**
18
+ * 收起按钮的位置 [x, y],通过 onCollapsedDraggableChange 实现受控
19
+ */
20
+ collapsedDraggable?: number[];
17
21
  /**
18
22
  * 顶部工具
19
23
  */
@@ -42,4 +46,8 @@ export interface IModelProps {
42
46
  * 是否展示推入按钮
43
47
  */
44
48
  onCollapsedChange?(collapsed: boolean): void;
49
+ /**
50
+ * 收起按钮的拖拽位置
51
+ */
52
+ onCollapsedDraggableChange?(x: number, y: number): void;
45
53
  }
@@ -0,0 +1 @@
1
+ export default function CollapseWidget(): JSX.Element | null;
@@ -0,0 +1,7 @@
1
+ import { SidePanelItemButton } from '../../../rc';
2
+ export declare const ScCollapseWrapper: import("styled-components").StyledComponent<"div", any, {
3
+ $isHovered: boolean;
4
+ }, never>;
5
+ export declare const ScCollapseButton: import("styled-components").StyledComponent<typeof SidePanelItemButton, any, {
6
+ $isHovered: boolean;
7
+ }, never>;
@@ -0,0 +1 @@
1
+ export default function CollapseWithAsideWidget(): JSX.Element | null;
@@ -1,4 +1,7 @@
1
- import { SidePanelItemButton } from '../../rc';
2
- export declare const ScCollapseWrapper: import("styled-components").StyledComponent<"div", any, {}, never>;
1
+ import { SidePanelItemButton } from '../../../rc';
2
+ export declare const ScCollapseWrapper: import("styled-components").StyledComponent<"div", any, {
3
+ $isDragging: boolean;
4
+ $collapsedAsideMini: boolean;
5
+ }, never>;
3
6
  export declare const ScCollapseAside: import("styled-components").StyledComponent<"div", any, {}, never>;
4
7
  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.24-beta.0",
3
+ "version": "1.1.24-beta.2",
4
4
  "description": "ConsoleBase 组件 - 右侧边栏",
5
5
  "license": "MIT",
6
6
  "sideEffects": false,
@@ -23,6 +23,7 @@
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-dom": "^17.0.19",
26
27
  "@types/styled-components": "^5.1.26",
27
28
  "react": "^17.0.2",
28
29
  "styled-components": "^5.3.10",
@@ -30,6 +31,7 @@
30
31
  },
31
32
  "peerDependencies": {
32
33
  "react": ">=16.8",
34
+ "react-dom": "^17.0.2",
33
35
  "styled-components": ">=5"
34
36
  },
35
37
  "dependencies": {
@@ -1,19 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.ScCollapseWrapper = exports.ScCollapseButton = exports.ScCollapseAside = void 0;
8
- var _styledComponents = _interopRequireDefault(require("styled-components"));
9
- var _consoleBaseTheme = require("@alicloud/console-base-theme");
10
- var _rc = require("../../rc");
11
- var ScCollapseWrapper = exports.ScCollapseWrapper = _styledComponents.default.div.withConfig({
12
- componentId: "sc-dyn7up-0"
13
- })(["z-index:998;position:fixed;right:0;bottom:9px;&.react-draggable-dragging{cursor:move;*{pointer-events:none !important;}}*{-webkit-user-drag:none !important;}"]);
14
- var ScCollapseAside = exports.ScCollapseAside = _styledComponents.default.div.withConfig({
15
- componentId: "sc-dyn7up-1"
16
- })(["position:relative;display:flex;align-items:center;justify-content:center;"]);
17
- var ScCollapseButton = exports.ScCollapseButton = (0, _styledComponents.default)(_rc.SidePanelItemButton).withConfig({
18
- componentId: "sc-dyn7up-2"
19
- })(["&,&:hover{", " ", "}"], _consoleBaseTheme.mixinBgAccent, _consoleBaseTheme.mixinTextWhite);
@@ -1,12 +0,0 @@
1
- import styled 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;&.react-draggable-dragging{cursor:move;*{pointer-events:none !important;}}*{-webkit-user-drag:none !important;}"]);
7
- export var ScCollapseAside = styled.div.withConfig({
8
- componentId: "sc-dyn7up-1"
9
- })(["position:relative;display:flex;align-items:center;justify-content:center;"]);
10
- export var ScCollapseButton = styled(SidePanelItemButton).withConfig({
11
- componentId: "sc-dyn7up-2"
12
- })(["&,&:hover{", " ", "}"], mixinBgAccent, mixinTextWhite);