@alicloud/console-base-rc-side-panel 1.1.6-beta.0 → 1.1.7-beta.0

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