@alicloud/console-base-rc-side-panel 1.1.10 → 1.1.12-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/cjs/model/const/index.js +2 -4
- package/build/cjs/model/enum/index.js +0 -1
- package/build/cjs/model/hook/index.js +1 -15
- package/build/cjs/model/hook/use-effects.js +0 -2
- package/build/cjs/model/reducer/index.js +0 -3
- package/build/cjs/ui/index.js +4 -3
- package/build/cjs/ui/rc/side-panel-item-button/index.js +14 -28
- package/build/cjs/ui/rc/side-panel-item-button/styles.js +32 -0
- package/build/cjs/ui/rc/side-panel-item-wrap/index.js +1 -1
- package/build/cjs/ui/rc-container/collapse-aside/index.js +28 -0
- package/build/cjs/ui/rc-container/collapse-aside/styles.js +36 -0
- package/build/cjs/ui/rc-container/collapse-toggle/index.js +30 -58
- package/build/cjs/ui/rc-container/collapse-toggle/styles.js +43 -0
- package/build/cjs/ui/rc-container/index.js +11 -5
- package/build/cjs/ui/rc-container/item/index.js +55 -20
- package/build/cjs/ui/rc-container/items/index.js +27 -8
- package/build/esm/model/const/index.js +1 -3
- package/build/esm/model/enum/index.js +0 -1
- package/build/esm/model/hook/index.js +1 -3
- package/build/esm/model/hook/use-effects.js +0 -2
- package/build/esm/model/reducer/index.js +0 -3
- package/build/esm/ui/index.js +5 -4
- package/build/esm/ui/rc/side-panel-item-button/index.js +15 -25
- package/build/esm/ui/rc/side-panel-item-button/styles.js +22 -0
- package/build/esm/ui/rc/side-panel-item-wrap/index.js +1 -1
- package/build/esm/ui/rc-container/collapse-aside/index.js +19 -0
- package/build/esm/ui/rc-container/collapse-aside/styles.js +27 -0
- package/build/esm/ui/rc-container/collapse-toggle/index.js +31 -59
- package/build/esm/ui/rc-container/collapse-toggle/styles.js +34 -0
- package/build/esm/ui/rc-container/index.js +3 -3
- package/build/esm/ui/rc-container/item/index.js +56 -21
- package/build/esm/ui/rc-container/items/index.js +28 -10
- package/build/types/model/const/index.d.ts +0 -1
- package/build/types/model/enum/index.d.ts +1 -2
- package/build/types/model/hook/index.d.ts +0 -2
- package/build/types/model/types/action.d.ts +1 -1
- package/build/types/model/types/common.d.ts +49 -12
- package/build/types/model/types/props.d.ts +0 -8
- package/build/types/model/types/state.d.ts +0 -1
- package/build/types/ui/rc/side-panel-item-button/index.d.ts +2 -2
- package/build/types/ui/rc/side-panel-item-button/styles.d.ts +4 -0
- package/build/types/ui/rc-container/collapse-aside/index.d.ts +1 -0
- package/build/types/ui/rc-container/collapse-aside/styles.d.ts +3 -0
- package/build/types/ui/rc-container/collapse-toggle/styles.d.ts +10 -0
- package/build/types/ui/rc-container/index.d.ts +2 -2
- package/build/types/ui/rc-container/item/index.d.ts +1 -1
- package/build/types/ui/rc-container/items/index.d.ts +2 -6
- package/package.json +4 -2
- package/build/cjs/model/hook/use-dispatch-set-quick-top-visible.js +0 -19
- package/build/cjs/model/hook/use-effect-quick-top.js +0 -40
- package/build/cjs/model/hook/use-handle-go-top.js +0 -22
- package/build/cjs/model/hook/use-handle-set-quick-top-visible.js +0 -19
- package/build/cjs/model/hook/use-quick-top.js +0 -19
- package/build/cjs/model/reducer/reduce-set-quick-top-visible.js +0 -15
- package/build/cjs/ui/rc-container/items-bottom/index.js +0 -28
- package/build/cjs/ui/rc-container/items-bottom/quick-top/index.js +0 -29
- package/build/cjs/ui/rc-container/items-top/index.js +0 -20
- package/build/cjs/ui/types/index.js +0 -5
- package/build/esm/model/hook/use-dispatch-set-quick-top-visible.js +0 -12
- package/build/esm/model/hook/use-effect-quick-top.js +0 -33
- package/build/esm/model/hook/use-handle-go-top.js +0 -15
- package/build/esm/model/hook/use-handle-set-quick-top-visible.js +0 -12
- package/build/esm/model/hook/use-quick-top.js +0 -12
- package/build/esm/model/reducer/reduce-set-quick-top-visible.js +0 -8
- package/build/esm/ui/rc-container/items-bottom/index.js +0 -21
- package/build/esm/ui/rc-container/items-bottom/quick-top/index.js +0 -22
- package/build/esm/ui/rc-container/items-top/index.js +0 -13
- package/build/esm/ui/types/index.js +0 -1
- package/build/types/model/hook/use-dispatch-set-quick-top-visible.d.ts +0 -1
- package/build/types/model/hook/use-effect-quick-top.d.ts +0 -1
- package/build/types/model/hook/use-handle-go-top.d.ts +0 -1
- package/build/types/model/hook/use-handle-set-quick-top-visible.d.ts +0 -1
- package/build/types/model/hook/use-quick-top.d.ts +0 -6
- package/build/types/model/reducer/reduce-set-quick-top-visible.d.ts +0 -2
- package/build/types/ui/rc-container/items-bottom/index.d.ts +0 -1
- package/build/types/ui/rc-container/items-bottom/quick-top/index.d.ts +0 -1
- package/build/types/ui/rc-container/items-top/index.d.ts +0 -1
- package/build/types/ui/types/index.d.ts +0 -5
|
@@ -1,31 +1,48 @@
|
|
|
1
|
-
import { ButtonProps } from '@alicloud/console-base-rc-button';
|
|
2
1
|
import { EasyIconValue } from '@alicloud/console-base-rc-easy-icon';
|
|
3
2
|
import { TooltipPropsV1 } from '@alicloud/console-base-rc-tooltip';
|
|
4
|
-
export interface
|
|
3
|
+
export interface SidePanelItemButtonProps {
|
|
5
4
|
/**
|
|
6
5
|
* 默认用于 tooltip,也是按钮 aria-label 属性
|
|
7
6
|
*/
|
|
8
7
|
title: string;
|
|
9
8
|
/**
|
|
10
|
-
*
|
|
9
|
+
* 入口图标,如果是组件则直接用,当它是字符串的时候,会智能判断
|
|
11
10
|
*/
|
|
12
11
|
icon: EasyIconValue;
|
|
13
12
|
/**
|
|
14
|
-
*
|
|
13
|
+
* 入口仅显示图标,不需要背景
|
|
15
14
|
*/
|
|
16
15
|
onlyShowIcon?: boolean;
|
|
17
16
|
/**
|
|
18
|
-
*
|
|
17
|
+
* 入口埋点信息
|
|
19
18
|
*/
|
|
20
|
-
|
|
19
|
+
spm?: string;
|
|
21
20
|
/**
|
|
22
|
-
*
|
|
21
|
+
* 入口点击链接
|
|
23
22
|
*/
|
|
24
|
-
|
|
23
|
+
href?: string;
|
|
24
|
+
/**
|
|
25
|
+
* 入口链接打开方式
|
|
26
|
+
*/
|
|
27
|
+
target?: string;
|
|
28
|
+
/**
|
|
29
|
+
* 入口自定义 data-* 属性
|
|
30
|
+
*/
|
|
31
|
+
[dataName: `data-${string}`]: unknown;
|
|
32
|
+
/**
|
|
33
|
+
* 按钮点击后的回调函数
|
|
34
|
+
*/
|
|
35
|
+
onClick?: (e: React.MouseEvent<HTMLButtonElement>) => void;
|
|
25
36
|
/**
|
|
26
|
-
*
|
|
37
|
+
* 记住按下动作,用 messenger onSidePanelItemActiveChange 进行受控
|
|
27
38
|
*/
|
|
28
|
-
|
|
39
|
+
active?: boolean;
|
|
40
|
+
/**
|
|
41
|
+
* 设置 active 使当前工具处于 active 状态,并使用此回调受控
|
|
42
|
+
*/
|
|
43
|
+
onActiveChange?(active: boolean): void;
|
|
44
|
+
}
|
|
45
|
+
export interface ISidePanelItemProps extends SidePanelItemButtonProps {
|
|
29
46
|
/**
|
|
30
47
|
* 右上角徽标,数字展示数字,true 展示小红点
|
|
31
48
|
*/
|
|
@@ -35,9 +52,29 @@ export interface ISidePanelItemProps extends Omit<ButtonProps, 'label' | 'size'
|
|
|
35
52
|
*/
|
|
36
53
|
mark?: 'NEW' | 'HOT';
|
|
37
54
|
/**
|
|
38
|
-
*
|
|
55
|
+
* 按钮提示框,不传则默认显示 title
|
|
39
56
|
*/
|
|
40
|
-
|
|
57
|
+
tooltip?: string | React.ReactElement;
|
|
58
|
+
/**
|
|
59
|
+
* 按钮提示框支持 HTML 字符串
|
|
60
|
+
*/
|
|
61
|
+
tooltipAsHtml?: boolean;
|
|
62
|
+
/**
|
|
63
|
+
* 按钮提示框的配置
|
|
64
|
+
*/
|
|
65
|
+
tooltipOptions?: Omit<TooltipPropsV1, 'title'>;
|
|
66
|
+
/**
|
|
67
|
+
* 入口 ID
|
|
68
|
+
*/
|
|
69
|
+
id?: string;
|
|
70
|
+
/**
|
|
71
|
+
* 入口 ClassName
|
|
72
|
+
*/
|
|
73
|
+
className?: string;
|
|
74
|
+
/**
|
|
75
|
+
* 入口自定义样式
|
|
76
|
+
*/
|
|
77
|
+
style?: React.CSSProperties;
|
|
41
78
|
}
|
|
42
79
|
export interface ISidePanelItemPropsWithKey extends ISidePanelItemProps {
|
|
43
80
|
key: string;
|
|
@@ -26,14 +26,6 @@ export interface IModelProps {
|
|
|
26
26
|
* 位于折叠点【推入按钮】上部的内容,将会跟随推入按钮做出入运动,嵌入 sidePanel 后,它将会隐藏
|
|
27
27
|
*/
|
|
28
28
|
collapsedAside?: JSX.Element | null;
|
|
29
|
-
/**
|
|
30
|
-
* 给一个 DOM 节点,组件会监测它的滚动情况,并判断是否展示快速置顶按钮
|
|
31
|
-
*/
|
|
32
|
-
quickTopContainer?: Window | HTMLElement | null;
|
|
33
|
-
/**
|
|
34
|
-
* QuickTop 显隐变化时的回调,可用于日志
|
|
35
|
-
*/
|
|
36
|
-
onQuickTopVisibleChange?(visible: boolean): void;
|
|
37
29
|
/**
|
|
38
30
|
* 是否展示推入按钮
|
|
39
31
|
*/
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { SidePanelItemButtonProps } from '../../../model/types/common';
|
|
2
2
|
/**
|
|
3
3
|
* 工具的按钮
|
|
4
4
|
*/
|
|
5
|
-
export default function SidePanelItemButton({ title, onlyShowIcon, ...
|
|
5
|
+
export default function SidePanelItemButton({ title, icon, onlyShowIcon, active, ...rest }: SidePanelItemButtonProps): JSX.Element;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export declare const ScButton: import("styled-components").StyledComponent<import("react").ForwardRefExoticComponent<import("@alicloud/console-base-rc-button").ButtonProps & import("react").RefAttributes<HTMLDivElement>>, any, {
|
|
2
|
+
$onlyShowIcon: boolean;
|
|
3
|
+
$active: boolean;
|
|
4
|
+
}, never>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default function CollapseAside(): JSX.Element | null;
|
|
@@ -0,0 +1,3 @@
|
|
|
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>;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { SidePanelItemButton } from '../../rc';
|
|
2
|
+
interface IScProps {
|
|
3
|
+
$collapsed: boolean;
|
|
4
|
+
$isSimpleCN: 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 {};
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export {
|
|
2
|
-
export { default as ItemsBottom } from './items-bottom';
|
|
1
|
+
export { ItemsTop, ItemsBottom } from './items';
|
|
3
2
|
export { default as CollapseToggle } from './collapse-toggle';
|
|
3
|
+
export { default as CollapseAside } from './collapse-aside';
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { SidePanelItemProps } from '../../../model';
|
|
2
|
-
export default function Item({
|
|
2
|
+
export default function Item({ title, unread, mark, tooltip, tooltipAsHtml, tooltipOptions, active, onActiveChange, onClick, id, className, style, ...rest }: SidePanelItemProps): JSX.Element;
|
|
@@ -1,6 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
items: SidePanelItemPropsWithKey[];
|
|
4
|
-
}
|
|
5
|
-
export default function Items({ items }: IProps): JSX.Element;
|
|
6
|
-
export {};
|
|
1
|
+
export declare function ItemsTop(): JSX.Element;
|
|
2
|
+
export declare function ItemsBottom(): JSX.Element | null;
|
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.12-beta.0",
|
|
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-transition-group": "^4.4.6",
|
|
26
27
|
"@types/styled-components": "^5.1.26",
|
|
27
28
|
"react": "^17.0.2",
|
|
28
29
|
"styled-components": "^5.3.10",
|
|
@@ -49,7 +50,8 @@
|
|
|
49
50
|
"@alicloud/react-hook-is-unmounted": "^1.3.4",
|
|
50
51
|
"@alicloud/react-hook-mouse-hover": "^1.0.2",
|
|
51
52
|
"@alicloud/typescript-missing-helpers": "^1.3.4",
|
|
52
|
-
"immutability-helper": "^3.1.1"
|
|
53
|
+
"immutability-helper": "^3.1.1",
|
|
54
|
+
"react-transition-group": "^4.4.5"
|
|
53
55
|
},
|
|
54
56
|
"scripts": {
|
|
55
57
|
"start": "breezr start-storybook",
|
|
@@ -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.default = useDispatchSetQuickTopVisible;
|
|
8
|
-
var _react = require("react");
|
|
9
|
-
var _enum = require("../enum");
|
|
10
|
-
var _useModelDispatch = _interopRequireDefault(require("./_use-model-dispatch"));
|
|
11
|
-
function useDispatchSetQuickTopVisible() {
|
|
12
|
-
var dispatch = (0, _useModelDispatch.default)();
|
|
13
|
-
return (0, _react.useCallback)(function (payload) {
|
|
14
|
-
return dispatch({
|
|
15
|
-
type: _enum.EAction.SET_QUICK_TOP_VISIBLE,
|
|
16
|
-
payload: payload
|
|
17
|
-
});
|
|
18
|
-
}, [dispatch]);
|
|
19
|
-
}
|
|
@@ -1,40 +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.default = useEffectQuickTop;
|
|
8
|
-
var _react = require("react");
|
|
9
|
-
var _const = require("../const");
|
|
10
|
-
var _useModelProps2 = _interopRequireDefault(require("./_use-model-props"));
|
|
11
|
-
var _useVisible = _interopRequireDefault(require("./use-visible"));
|
|
12
|
-
var _useCollapsed = _interopRequireDefault(require("./use-collapsed"));
|
|
13
|
-
var _useHandleSetQuickTopVisible = _interopRequireDefault(require("./use-handle-set-quick-top-visible"));
|
|
14
|
-
function useEffectQuickTop() {
|
|
15
|
-
var _useModelProps = (0, _useModelProps2.default)(),
|
|
16
|
-
quickTopContainer = _useModelProps.quickTopContainer;
|
|
17
|
-
var visible = (0, _useVisible.default)();
|
|
18
|
-
var collapsed = (0, _useCollapsed.default)();
|
|
19
|
-
var handleSetQuickTopVisible = (0, _useHandleSetQuickTopVisible.default)();
|
|
20
|
-
var handleToggleVisible = (0, _react.useCallback)(function () {
|
|
21
|
-
if (!quickTopContainer) {
|
|
22
|
-
return;
|
|
23
|
-
}
|
|
24
|
-
handleSetQuickTopVisible((quickTopContainer.scrollY || quickTopContainer.scrollTop) > _const.QUICK_TOP_VISIBLE_OFFSET);
|
|
25
|
-
}, [quickTopContainer, handleSetQuickTopVisible]);
|
|
26
|
-
|
|
27
|
-
// container 变化导致 handleToggleVisible 变化,此时需要执行一次
|
|
28
|
-
(0, _react.useEffect)(handleToggleVisible, [handleToggleVisible]);
|
|
29
|
-
|
|
30
|
-
// 对 container 进行 scroll 的事件绑定
|
|
31
|
-
(0, _react.useEffect)(function () {
|
|
32
|
-
if (!quickTopContainer || !visible || collapsed) {
|
|
33
|
-
return;
|
|
34
|
-
}
|
|
35
|
-
quickTopContainer.addEventListener('scroll', handleToggleVisible);
|
|
36
|
-
return function () {
|
|
37
|
-
return quickTopContainer.removeEventListener('scroll', handleToggleVisible);
|
|
38
|
-
};
|
|
39
|
-
}, [visible, collapsed, quickTopContainer, handleToggleVisible]);
|
|
40
|
-
}
|
|
@@ -1,22 +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.default = useHandleGoTop;
|
|
8
|
-
var _react = require("react");
|
|
9
|
-
var _mereDom = require("@alicloud/mere-dom");
|
|
10
|
-
var _useQuickTop2 = _interopRequireDefault(require("./use-quick-top"));
|
|
11
|
-
function useHandleGoTop() {
|
|
12
|
-
var _useQuickTop = (0, _useQuickTop2.default)(),
|
|
13
|
-
container = _useQuickTop.container;
|
|
14
|
-
return (0, _react.useCallback)(function () {
|
|
15
|
-
if (!container) {
|
|
16
|
-
return;
|
|
17
|
-
}
|
|
18
|
-
(0, _mereDom.scrollTo)(container, {
|
|
19
|
-
top: 0
|
|
20
|
-
});
|
|
21
|
-
}, [container]);
|
|
22
|
-
}
|
|
@@ -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.default = useHandleSetQuickTopVisible;
|
|
8
|
-
var _react = require("react");
|
|
9
|
-
var _useDispatchSetQuickTopVisible = _interopRequireDefault(require("./use-dispatch-set-quick-top-visible"));
|
|
10
|
-
var _useModelProps2 = _interopRequireDefault(require("./_use-model-props"));
|
|
11
|
-
function useHandleSetQuickTopVisible() {
|
|
12
|
-
var _useModelProps = (0, _useModelProps2.default)(),
|
|
13
|
-
onQuickTopVisibleChange = _useModelProps.onQuickTopVisibleChange;
|
|
14
|
-
var dispatchSetQuickTopVisible = (0, _useDispatchSetQuickTopVisible.default)();
|
|
15
|
-
return (0, _react.useCallback)(function (visible) {
|
|
16
|
-
dispatchSetQuickTopVisible(visible);
|
|
17
|
-
onQuickTopVisibleChange === null || onQuickTopVisibleChange === void 0 ? void 0 : onQuickTopVisibleChange(visible);
|
|
18
|
-
}, [dispatchSetQuickTopVisible, onQuickTopVisibleChange]);
|
|
19
|
-
}
|
|
@@ -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.default = useQuickTop;
|
|
8
|
-
var _useModelProps2 = _interopRequireDefault(require("./_use-model-props"));
|
|
9
|
-
var _useModelState2 = _interopRequireDefault(require("./_use-model-state"));
|
|
10
|
-
function useQuickTop() {
|
|
11
|
-
var _useModelProps = (0, _useModelProps2.default)(),
|
|
12
|
-
quickTopContainer = _useModelProps.quickTopContainer;
|
|
13
|
-
var _useModelState = (0, _useModelState2.default)(),
|
|
14
|
-
quickTopVisible = _useModelState.quickTopVisible;
|
|
15
|
-
return {
|
|
16
|
-
container: quickTopContainer,
|
|
17
|
-
visible: quickTopVisible
|
|
18
|
-
};
|
|
19
|
-
}
|
|
@@ -1,15 +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.default = reduceSetQuickTopVisible;
|
|
8
|
-
var _immutabilityHelper = _interopRequireDefault(require("immutability-helper"));
|
|
9
|
-
function reduceSetQuickTopVisible(state, payload) {
|
|
10
|
-
return (0, _immutabilityHelper.default)(state, {
|
|
11
|
-
quickTopVisible: {
|
|
12
|
-
$set: payload
|
|
13
|
-
}
|
|
14
|
-
});
|
|
15
|
-
}
|
|
@@ -1,28 +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.default = ItemsBottom;
|
|
8
|
-
var _react = _interopRequireDefault(require("react"));
|
|
9
|
-
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
10
|
-
var _consoleBaseThemeScBase = require("@alicloud/console-base-theme-sc-base");
|
|
11
|
-
var _consoleBaseRcFlex = _interopRequireDefault(require("@alicloud/console-base-rc-flex"));
|
|
12
|
-
var _const = require("../../const");
|
|
13
|
-
var _model = require("../../../model");
|
|
14
|
-
var _items = _interopRequireDefault(require("../items"));
|
|
15
|
-
var _quickTop = _interopRequireDefault(require("./quick-top"));
|
|
16
|
-
var ScHr = (0, _styledComponents.default)(_consoleBaseThemeScBase.HrBase).withConfig({
|
|
17
|
-
componentId: "sc-1rxhuz5-0"
|
|
18
|
-
})(["margin:", "px 4px;"], _const.SPACING_Y);
|
|
19
|
-
function ItemsBottom() {
|
|
20
|
-
var quickTop = (0, _model.useQuickTop)();
|
|
21
|
-
var children = (0, _model.useChildren)();
|
|
22
|
-
var items = (0, _model.useItemsBottom)();
|
|
23
|
-
return /*#__PURE__*/_react.default.createElement(_consoleBaseRcFlex.default, {
|
|
24
|
-
vertical: true
|
|
25
|
-
}, quickTop.container && quickTop.visible ? /*#__PURE__*/_react.default.createElement(_quickTop.default, null) : null, children || items.length ? /*#__PURE__*/_react.default.createElement(ScHr, null) : null, children || /*#__PURE__*/_react.default.createElement(_items.default, {
|
|
26
|
-
items: items
|
|
27
|
-
}));
|
|
28
|
-
}
|
|
@@ -1,29 +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.default = QuickTop;
|
|
8
|
-
var _react = _interopRequireDefault(require("react"));
|
|
9
|
-
var _consoleBaseRcIcon = _interopRequireDefault(require("@alicloud/console-base-rc-icon"));
|
|
10
|
-
var _model = require("../../../../model");
|
|
11
|
-
var _intl = _interopRequireDefault(require("../../../intl"));
|
|
12
|
-
var _rc = require("../../../rc");
|
|
13
|
-
var _consoleBaseRcTooltip = require("@alicloud/console-base-rc-tooltip");
|
|
14
|
-
function QuickTop() {
|
|
15
|
-
var handleGoTop = (0, _model.useHandleGoTop)();
|
|
16
|
-
var title = (0, _intl.default)('op:back_to_top');
|
|
17
|
-
return /*#__PURE__*/_react.default.createElement(_consoleBaseRcTooltip.TooltipV1, {
|
|
18
|
-
title: title,
|
|
19
|
-
placement: "left",
|
|
20
|
-
destroyTooltipOnHide: true,
|
|
21
|
-
fixed: true
|
|
22
|
-
}, /*#__PURE__*/_react.default.createElement(_rc.SidePanelItemWrap, null, /*#__PURE__*/_react.default.createElement(_rc.SidePanelItemButton, {
|
|
23
|
-
title: title,
|
|
24
|
-
label: /*#__PURE__*/_react.default.createElement(_consoleBaseRcIcon.default, {
|
|
25
|
-
type: "go-top"
|
|
26
|
-
}),
|
|
27
|
-
onClick: handleGoTop
|
|
28
|
-
})));
|
|
29
|
-
}
|
|
@@ -1,20 +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.default = ItemsTop;
|
|
8
|
-
var _react = _interopRequireDefault(require("react"));
|
|
9
|
-
var _consoleBaseRcFlex = _interopRequireDefault(require("@alicloud/console-base-rc-flex"));
|
|
10
|
-
var _model = require("../../../model");
|
|
11
|
-
var _items = _interopRequireDefault(require("../items"));
|
|
12
|
-
function ItemsTop() {
|
|
13
|
-
var items = (0, _model.useItemsTop)();
|
|
14
|
-
return /*#__PURE__*/_react.default.createElement(_consoleBaseRcFlex.default, {
|
|
15
|
-
vertical: true,
|
|
16
|
-
flex: true
|
|
17
|
-
}, /*#__PURE__*/_react.default.createElement(_items.default, {
|
|
18
|
-
items: items
|
|
19
|
-
}));
|
|
20
|
-
}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { useCallback } from 'react';
|
|
2
|
-
import { EAction } from '../enum';
|
|
3
|
-
import useModelDispatch from './_use-model-dispatch';
|
|
4
|
-
export default function useDispatchSetQuickTopVisible() {
|
|
5
|
-
var dispatch = useModelDispatch();
|
|
6
|
-
return useCallback(function (payload) {
|
|
7
|
-
return dispatch({
|
|
8
|
-
type: EAction.SET_QUICK_TOP_VISIBLE,
|
|
9
|
-
payload: payload
|
|
10
|
-
});
|
|
11
|
-
}, [dispatch]);
|
|
12
|
-
}
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import { useCallback, useEffect } from 'react';
|
|
2
|
-
import { QUICK_TOP_VISIBLE_OFFSET } from '../const';
|
|
3
|
-
import useModelProps from './_use-model-props';
|
|
4
|
-
import useVisible from './use-visible';
|
|
5
|
-
import useCollapsed from './use-collapsed';
|
|
6
|
-
import useHandleSetQuickTopVisible from './use-handle-set-quick-top-visible';
|
|
7
|
-
export default function useEffectQuickTop() {
|
|
8
|
-
var _useModelProps = useModelProps(),
|
|
9
|
-
quickTopContainer = _useModelProps.quickTopContainer;
|
|
10
|
-
var visible = useVisible();
|
|
11
|
-
var collapsed = useCollapsed();
|
|
12
|
-
var handleSetQuickTopVisible = useHandleSetQuickTopVisible();
|
|
13
|
-
var handleToggleVisible = useCallback(function () {
|
|
14
|
-
if (!quickTopContainer) {
|
|
15
|
-
return;
|
|
16
|
-
}
|
|
17
|
-
handleSetQuickTopVisible((quickTopContainer.scrollY || quickTopContainer.scrollTop) > QUICK_TOP_VISIBLE_OFFSET);
|
|
18
|
-
}, [quickTopContainer, handleSetQuickTopVisible]);
|
|
19
|
-
|
|
20
|
-
// container 变化导致 handleToggleVisible 变化,此时需要执行一次
|
|
21
|
-
useEffect(handleToggleVisible, [handleToggleVisible]);
|
|
22
|
-
|
|
23
|
-
// 对 container 进行 scroll 的事件绑定
|
|
24
|
-
useEffect(function () {
|
|
25
|
-
if (!quickTopContainer || !visible || collapsed) {
|
|
26
|
-
return;
|
|
27
|
-
}
|
|
28
|
-
quickTopContainer.addEventListener('scroll', handleToggleVisible);
|
|
29
|
-
return function () {
|
|
30
|
-
return quickTopContainer.removeEventListener('scroll', handleToggleVisible);
|
|
31
|
-
};
|
|
32
|
-
}, [visible, collapsed, quickTopContainer, handleToggleVisible]);
|
|
33
|
-
}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { useCallback } from 'react';
|
|
2
|
-
import { scrollTo } from '@alicloud/mere-dom';
|
|
3
|
-
import useQuickTop from './use-quick-top';
|
|
4
|
-
export default function useHandleGoTop() {
|
|
5
|
-
var _useQuickTop = useQuickTop(),
|
|
6
|
-
container = _useQuickTop.container;
|
|
7
|
-
return useCallback(function () {
|
|
8
|
-
if (!container) {
|
|
9
|
-
return;
|
|
10
|
-
}
|
|
11
|
-
scrollTo(container, {
|
|
12
|
-
top: 0
|
|
13
|
-
});
|
|
14
|
-
}, [container]);
|
|
15
|
-
}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { useCallback } from 'react';
|
|
2
|
-
import useDispatchSetQuickTopVisible from './use-dispatch-set-quick-top-visible';
|
|
3
|
-
import useModelProps from './_use-model-props';
|
|
4
|
-
export default function useHandleSetQuickTopVisible() {
|
|
5
|
-
var _useModelProps = useModelProps(),
|
|
6
|
-
onQuickTopVisibleChange = _useModelProps.onQuickTopVisibleChange;
|
|
7
|
-
var dispatchSetQuickTopVisible = useDispatchSetQuickTopVisible();
|
|
8
|
-
return useCallback(function (visible) {
|
|
9
|
-
dispatchSetQuickTopVisible(visible);
|
|
10
|
-
onQuickTopVisibleChange === null || onQuickTopVisibleChange === void 0 ? void 0 : onQuickTopVisibleChange(visible);
|
|
11
|
-
}, [dispatchSetQuickTopVisible, onQuickTopVisibleChange]);
|
|
12
|
-
}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import useModelProps from './_use-model-props';
|
|
2
|
-
import useModelState from './_use-model-state';
|
|
3
|
-
export default function useQuickTop() {
|
|
4
|
-
var _useModelProps = useModelProps(),
|
|
5
|
-
quickTopContainer = _useModelProps.quickTopContainer;
|
|
6
|
-
var _useModelState = useModelState(),
|
|
7
|
-
quickTopVisible = _useModelState.quickTopVisible;
|
|
8
|
-
return {
|
|
9
|
-
container: quickTopContainer,
|
|
10
|
-
visible: quickTopVisible
|
|
11
|
-
};
|
|
12
|
-
}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import styled from 'styled-components';
|
|
3
|
-
import { HrBase } from '@alicloud/console-base-theme-sc-base';
|
|
4
|
-
import Flex from '@alicloud/console-base-rc-flex';
|
|
5
|
-
import { SPACING_Y } from '../../const';
|
|
6
|
-
import { useChildren, useItemsBottom, useQuickTop } from '../../../model';
|
|
7
|
-
import Items from '../items';
|
|
8
|
-
import QuickTop from './quick-top';
|
|
9
|
-
var ScHr = styled(HrBase).withConfig({
|
|
10
|
-
componentId: "sc-1rxhuz5-0"
|
|
11
|
-
})(["margin:", "px 4px;"], SPACING_Y);
|
|
12
|
-
export default function ItemsBottom() {
|
|
13
|
-
var quickTop = useQuickTop();
|
|
14
|
-
var children = useChildren();
|
|
15
|
-
var items = useItemsBottom();
|
|
16
|
-
return /*#__PURE__*/React.createElement(Flex, {
|
|
17
|
-
vertical: true
|
|
18
|
-
}, quickTop.container && quickTop.visible ? /*#__PURE__*/React.createElement(QuickTop, null) : null, children || items.length ? /*#__PURE__*/React.createElement(ScHr, null) : null, children || /*#__PURE__*/React.createElement(Items, {
|
|
19
|
-
items: items
|
|
20
|
-
}));
|
|
21
|
-
}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import Icon from '@alicloud/console-base-rc-icon';
|
|
3
|
-
import { useHandleGoTop } from '../../../../model';
|
|
4
|
-
import intl from '../../../intl';
|
|
5
|
-
import { SidePanelItemWrap, SidePanelItemButton } from '../../../rc';
|
|
6
|
-
import { TooltipV1 } from '@alicloud/console-base-rc-tooltip';
|
|
7
|
-
export default function QuickTop() {
|
|
8
|
-
var handleGoTop = useHandleGoTop();
|
|
9
|
-
var title = intl('op:back_to_top');
|
|
10
|
-
return /*#__PURE__*/React.createElement(TooltipV1, {
|
|
11
|
-
title: title,
|
|
12
|
-
placement: "left",
|
|
13
|
-
destroyTooltipOnHide: true,
|
|
14
|
-
fixed: true
|
|
15
|
-
}, /*#__PURE__*/React.createElement(SidePanelItemWrap, null, /*#__PURE__*/React.createElement(SidePanelItemButton, {
|
|
16
|
-
title: title,
|
|
17
|
-
label: /*#__PURE__*/React.createElement(Icon, {
|
|
18
|
-
type: "go-top"
|
|
19
|
-
}),
|
|
20
|
-
onClick: handleGoTop
|
|
21
|
-
})));
|
|
22
|
-
}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import Flex from '@alicloud/console-base-rc-flex';
|
|
3
|
-
import { useItemsTop } from '../../../model';
|
|
4
|
-
import Items from '../items';
|
|
5
|
-
export default function ItemsTop() {
|
|
6
|
-
var items = useItemsTop();
|
|
7
|
-
return /*#__PURE__*/React.createElement(Flex, {
|
|
8
|
-
vertical: true,
|
|
9
|
-
flex: true
|
|
10
|
-
}, /*#__PURE__*/React.createElement(Items, {
|
|
11
|
-
items: items
|
|
12
|
-
}));
|
|
13
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export default function useDispatchSetQuickTopVisible(): (payload: boolean) => void;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export default function useEffectQuickTop(): void;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export default function useHandleGoTop(): () => void;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export default function useHandleSetQuickTopVisible(): (visible: boolean) => void;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export default function ItemsBottom(): JSX.Element | null;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export default function QuickTop(): JSX.Element;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export default function ItemsTop(): JSX.Element;
|