@aloudata/aloudata-design 1.3.0 → 1.4.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/dist/DataPreviewTable/components/Body/Error.d.ts +9 -0
- package/dist/DataPreviewTable/components/Body/Error.js +17 -0
- package/dist/DataPreviewTable/components/Body/SkeletonBody.d.ts +12 -0
- package/dist/DataPreviewTable/components/Body/SkeletonBody.js +63 -0
- package/dist/DataPreviewTable/components/Body/index.d.ts +12 -0
- package/dist/DataPreviewTable/components/Body/index.js +52 -0
- package/dist/DataPreviewTable/components/DragBar/index.d.ts +8 -0
- package/dist/DataPreviewTable/components/DragBar/index.js +93 -0
- package/dist/DataPreviewTable/components/Header/index.d.ts +10 -0
- package/dist/DataPreviewTable/components/Header/index.js +68 -0
- package/dist/DataPreviewTable/constant.d.ts +6 -0
- package/dist/DataPreviewTable/constant.js +7 -0
- package/dist/DataPreviewTable/hooks/useDirection.d.ts +28 -0
- package/dist/DataPreviewTable/hooks/useDirection.js +281 -0
- package/dist/DataPreviewTable/index.d.ts +4 -0
- package/dist/DataPreviewTable/index.js +105 -0
- package/dist/DataPreviewTable/interface.d.ts +26 -0
- package/dist/DataPreviewTable/interface.js +1 -0
- package/dist/DataPreviewTable/style/index.d.ts +2 -0
- package/dist/DataPreviewTable/style/index.js +2 -0
- package/dist/DataPreviewTable/style/index.less +138 -0
- package/dist/DataPreviewTable/utils/findRange.d.ts +13 -0
- package/dist/DataPreviewTable/utils/findRange.js +86 -0
- package/dist/DoubleCircleIcon/index.d.ts +1 -1
- package/dist/IconButton/index.d.ts +9 -2
- package/dist/IconButton/index.js +60 -17
- package/dist/IconButton/style/index.less +19 -3
- package/dist/Progress/index.d.ts +13 -3
- package/dist/Progress/index.js +88 -3
- package/dist/Progress/style/index.less +56 -0
- package/dist/ScrollArea/index.d.ts +11 -0
- package/dist/ScrollArea/index.js +49 -0
- package/dist/ScrollArea/style/index.d.ts +2 -0
- package/dist/ScrollArea/style/index.js +2 -0
- package/dist/ScrollArea/style/index.less +48 -0
- package/dist/Select/index.d.ts +1 -0
- package/dist/Select/index.js +64 -26
- package/dist/index.d.ts +3 -1
- package/dist/index.js +2 -0
- package/package.json +2 -1
|
@@ -1,16 +1,23 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { IDropdownProps } from '../Dropdown';
|
|
3
3
|
import { TSize } from '../Input';
|
|
4
|
+
import { ITooltipProps } from '../Tooltip';
|
|
4
5
|
interface IIconButtonProps {
|
|
5
6
|
icon: React.ReactNode;
|
|
6
|
-
onClick?: React.
|
|
7
|
+
onClick?: (e: React.MouseEvent) => void;
|
|
7
8
|
disabled?: boolean;
|
|
8
9
|
size?: TSize;
|
|
9
10
|
className?: string;
|
|
10
11
|
keepFocus?: boolean;
|
|
12
|
+
tooltip?: ITooltipProps;
|
|
13
|
+
id?: string;
|
|
14
|
+
mode?: 'light' | 'dark';
|
|
11
15
|
}
|
|
12
|
-
declare const DropdownButton: React.ForwardRefExoticComponent<IIconButtonProps & IDropdownProps &
|
|
16
|
+
declare const DropdownButton: React.ForwardRefExoticComponent<IIconButtonProps & IDropdownProps & {
|
|
17
|
+
showArrow?: boolean | undefined;
|
|
18
|
+
} & React.RefAttributes<HTMLButtonElement>>;
|
|
13
19
|
declare const IconButton: React.ForwardRefExoticComponent<IIconButtonProps & React.RefAttributes<HTMLButtonElement>> & {
|
|
14
20
|
dropdown: typeof DropdownButton;
|
|
21
|
+
__ANT_BUTTON: boolean;
|
|
15
22
|
};
|
|
16
23
|
export default IconButton;
|
package/dist/IconButton/index.js
CHANGED
|
@@ -1,6 +1,4 @@
|
|
|
1
|
-
var _excluded = ["icon", "onClick", "disabled", "size", "menu", "className", "onOpenChange"];
|
|
2
|
-
|
|
3
|
-
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
1
|
+
var _excluded = ["icon", "onClick", "disabled", "size", "menu", "className", "onOpenChange", "tooltip", "id", "overlay", "showArrow", "mode"];
|
|
4
2
|
|
|
5
3
|
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
6
4
|
|
|
@@ -18,11 +16,14 @@ function _objectWithoutProperties(source, excluded) { if (source == null) return
|
|
|
18
16
|
|
|
19
17
|
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
|
20
18
|
|
|
19
|
+
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
20
|
+
|
|
21
21
|
import { FoldDownFill } from '@aloudata/icons-react';
|
|
22
22
|
import classnames from 'classnames';
|
|
23
|
-
import React, { forwardRef } from 'react';
|
|
23
|
+
import React, { forwardRef, useMemo } from 'react';
|
|
24
24
|
import Dropdown from "../Dropdown";
|
|
25
25
|
import { getSizeType } from "../Input/components/Input";
|
|
26
|
+
import Tooltip from "../Tooltip";
|
|
26
27
|
var InternalIconButton = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
27
28
|
var icon = props.icon,
|
|
28
29
|
_props$onClick = props.onClick,
|
|
@@ -31,7 +32,11 @@ var InternalIconButton = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
31
32
|
_props$size = props.size,
|
|
32
33
|
size = _props$size === void 0 ? 'middle' : _props$size,
|
|
33
34
|
keepFocus = props.keepFocus,
|
|
34
|
-
className = props.className
|
|
35
|
+
className = props.className,
|
|
36
|
+
tooltip = props.tooltip,
|
|
37
|
+
id = props.id,
|
|
38
|
+
_props$mode = props.mode,
|
|
39
|
+
mode = _props$mode === void 0 ? 'light' : _props$mode;
|
|
35
40
|
|
|
36
41
|
var onButtonClick = function onButtonClick(e) {
|
|
37
42
|
if (disabled) {
|
|
@@ -43,18 +48,22 @@ var InternalIconButton = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
43
48
|
onClick(e);
|
|
44
49
|
};
|
|
45
50
|
|
|
46
|
-
return /*#__PURE__*/React.createElement(
|
|
51
|
+
return /*#__PURE__*/React.createElement(Tooltip, _extends({}, tooltip, {
|
|
52
|
+
title: tooltip === null || tooltip === void 0 ? void 0 : tooltip.title
|
|
53
|
+
}), /*#__PURE__*/React.createElement("button", {
|
|
54
|
+
id: id,
|
|
47
55
|
className: classnames(className, 'ald-icon-button', "ald-icon-button-".concat(getSizeType(size)), {
|
|
48
56
|
'ald-icon-button-disabled': disabled,
|
|
49
|
-
'ald-icon-button-focus': keepFocus
|
|
57
|
+
'ald-icon-button-focus': keepFocus,
|
|
58
|
+
'ald-icon-button-dark': mode === 'dark'
|
|
50
59
|
}),
|
|
51
60
|
type: "button",
|
|
52
61
|
ref: ref,
|
|
53
|
-
onClick: onButtonClick
|
|
54
|
-
|
|
62
|
+
onClick: onButtonClick // disabled={disabled}
|
|
63
|
+
|
|
55
64
|
}, /*#__PURE__*/React.createElement("div", {
|
|
56
65
|
className: "ald-icon-button-wrap"
|
|
57
|
-
}, icon));
|
|
66
|
+
}, icon)));
|
|
58
67
|
});
|
|
59
68
|
var DropdownButton = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
60
69
|
var icon = props.icon,
|
|
@@ -66,6 +75,13 @@ var DropdownButton = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
66
75
|
menu = props.menu,
|
|
67
76
|
className = props.className,
|
|
68
77
|
onOpenChange = props.onOpenChange,
|
|
78
|
+
tooltip = props.tooltip,
|
|
79
|
+
id = props.id,
|
|
80
|
+
overlay = props.overlay,
|
|
81
|
+
_props$showArrow = props.showArrow,
|
|
82
|
+
showArrow = _props$showArrow === void 0 ? true : _props$showArrow,
|
|
83
|
+
_props$mode2 = props.mode,
|
|
84
|
+
mode = _props$mode2 === void 0 ? 'light' : _props$mode2,
|
|
69
85
|
restDropdownProps = _objectWithoutProperties(props, _excluded);
|
|
70
86
|
|
|
71
87
|
var sizeMemo = React.useMemo(function () {
|
|
@@ -95,25 +111,52 @@ var DropdownButton = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
95
111
|
}
|
|
96
112
|
};
|
|
97
113
|
|
|
98
|
-
|
|
114
|
+
var canDropdown = useMemo(function () {
|
|
115
|
+
var hasMenu = menu && menu.items && menu.items.length > 0;
|
|
116
|
+
return (hasMenu || overlay) && !disabled;
|
|
117
|
+
}, [menu, overlay, disabled]);
|
|
118
|
+
|
|
119
|
+
if (!canDropdown) {
|
|
120
|
+
return /*#__PURE__*/React.createElement(Tooltip, _extends({}, tooltip, {
|
|
121
|
+
title: tooltip === null || tooltip === void 0 ? void 0 : tooltip.title
|
|
122
|
+
}), /*#__PURE__*/React.createElement("button", {
|
|
123
|
+
id: id,
|
|
124
|
+
className: classnames(className, 'ald-icon-button-dropdown', "ald-icon-button-".concat(getSizeType(size)), {
|
|
125
|
+
'ald-icon-button-disabled': disabled,
|
|
126
|
+
'ald-icon-button-dropdown-open': dropdownOpen,
|
|
127
|
+
'ald-icon-button-dark': mode === 'dark'
|
|
128
|
+
}),
|
|
129
|
+
type: "button",
|
|
130
|
+
ref: ref,
|
|
131
|
+
onClick: onButtonClick
|
|
132
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
133
|
+
className: "ald-icon-button-wrap"
|
|
134
|
+
}, icon), showArrow && /*#__PURE__*/React.createElement(FoldDownFill, {
|
|
135
|
+
size: sizeMemo === 'large' ? 20 : 16
|
|
136
|
+
})));
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
return /*#__PURE__*/React.createElement(Tooltip, _extends({}, tooltip, {
|
|
140
|
+
title: tooltip === null || tooltip === void 0 ? void 0 : tooltip.title
|
|
141
|
+
}), /*#__PURE__*/React.createElement(Dropdown, _extends({
|
|
99
142
|
menu: menu,
|
|
100
143
|
onOpenChange: onDropdownOpenChange
|
|
101
144
|
}, restDropdownProps), /*#__PURE__*/React.createElement("button", {
|
|
145
|
+
id: id,
|
|
102
146
|
className: classnames(className, 'ald-icon-button-dropdown', "ald-icon-button-".concat(getSizeType(size)), {
|
|
103
147
|
'ald-icon-button-disabled': disabled,
|
|
104
148
|
'ald-icon-button-dropdown-open': dropdownOpen
|
|
105
149
|
}),
|
|
106
150
|
type: "button",
|
|
107
151
|
ref: ref,
|
|
108
|
-
onClick: onButtonClick
|
|
109
|
-
disabled: disabled
|
|
152
|
+
onClick: onButtonClick
|
|
110
153
|
}, /*#__PURE__*/React.createElement("div", {
|
|
111
154
|
className: "ald-icon-button-wrap"
|
|
112
|
-
}, icon), /*#__PURE__*/React.createElement(FoldDownFill, {
|
|
113
|
-
size: sizeMemo === 'large' ? 20 : 16
|
|
114
|
-
|
|
115
|
-
})));
|
|
155
|
+
}, icon), showArrow && /*#__PURE__*/React.createElement(FoldDownFill, {
|
|
156
|
+
size: sizeMemo === 'large' ? 20 : 16
|
|
157
|
+
}))));
|
|
116
158
|
});
|
|
117
159
|
var IconButton = InternalIconButton;
|
|
118
160
|
IconButton.dropdown = DropdownButton;
|
|
161
|
+
IconButton.__ANT_BUTTON = true;
|
|
119
162
|
export default IconButton;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
@import '../../style/index.less';
|
|
2
2
|
@import '../../Dropdown/style/index.less';
|
|
3
3
|
@import '../../Menu/style/index.less';
|
|
4
|
-
|
|
4
|
+
@import '../../Tooltip/style/index.less';
|
|
5
5
|
@icon-button-size-large: 28px;
|
|
6
6
|
@icon-button-size-middle: 24px;
|
|
7
7
|
@icon-button-size-small: 20px;
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
padding: 0;
|
|
25
25
|
outline: 0;
|
|
26
26
|
font-size: inherit;
|
|
27
|
-
color:
|
|
27
|
+
color: #171717;
|
|
28
28
|
-webkit-tap-highlight-color: transparent;
|
|
29
29
|
appearance: none;
|
|
30
30
|
box-sizing: border-box;
|
|
@@ -60,10 +60,26 @@
|
|
|
60
60
|
background: var(--colors-gray-98, #f4f4f4);
|
|
61
61
|
}
|
|
62
62
|
|
|
63
|
-
&.
|
|
63
|
+
&.ald-icon-button-dropdown {
|
|
64
64
|
width: fit-content;
|
|
65
65
|
word-spacing: 0;
|
|
66
66
|
}
|
|
67
|
+
|
|
68
|
+
&.ald-icon-button-dark {
|
|
69
|
+
color: #d5d5d5;
|
|
70
|
+
|
|
71
|
+
&:hover {
|
|
72
|
+
background: fade(#f4f4f4, 10%);
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
&:active {
|
|
76
|
+
background: fade(#ededed, 20%);
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
&:not(.ald-icon-button-dark) {
|
|
81
|
+
mix-blend-mode: multiply;
|
|
82
|
+
}
|
|
67
83
|
}
|
|
68
84
|
|
|
69
85
|
.ald-icon-button-wrap-content(@size) {
|
package/dist/Progress/index.d.ts
CHANGED
|
@@ -1,3 +1,13 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
import React from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* 条状进度条组件
|
|
4
|
+
*/
|
|
5
|
+
declare const _default: React.ForwardRefExoticComponent<IProps & React.RefAttributes<unknown>>;
|
|
6
|
+
export default _default;
|
|
7
|
+
export interface IProps {
|
|
8
|
+
loading: boolean;
|
|
9
|
+
className?: string;
|
|
10
|
+
}
|
|
11
|
+
export interface IProgressRef {
|
|
12
|
+
restart: () => void;
|
|
13
|
+
}
|
package/dist/Progress/index.js
CHANGED
|
@@ -1,3 +1,88 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
2
|
+
|
|
3
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
4
|
+
|
|
5
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
6
|
+
|
|
7
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
8
|
+
|
|
9
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
|
10
|
+
|
|
11
|
+
function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
|
|
12
|
+
|
|
13
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
14
|
+
|
|
15
|
+
import classNames from 'classnames';
|
|
16
|
+
import React, { forwardRef, useCallback, useEffect, useImperativeHandle, useState } from 'react';
|
|
17
|
+
var ELoadingState;
|
|
18
|
+
/**
|
|
19
|
+
* 条状进度条组件
|
|
20
|
+
*/
|
|
21
|
+
|
|
22
|
+
(function (ELoadingState) {
|
|
23
|
+
ELoadingState["IDLE"] = "IDLE";
|
|
24
|
+
ELoadingState["LOADING"] = "LOADING";
|
|
25
|
+
ELoadingState["LOADED"] = "LOADED";
|
|
26
|
+
})(ELoadingState || (ELoadingState = {}));
|
|
27
|
+
|
|
28
|
+
export default /*#__PURE__*/forwardRef(function Progress(props, ref) {
|
|
29
|
+
var _classNames2;
|
|
30
|
+
|
|
31
|
+
var loading = props.loading,
|
|
32
|
+
className = props.className;
|
|
33
|
+
|
|
34
|
+
var _useState = useState(ELoadingState.IDLE),
|
|
35
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
36
|
+
loadingState = _useState2[0],
|
|
37
|
+
setLoadingState = _useState2[1];
|
|
38
|
+
|
|
39
|
+
var _useState3 = useState(0),
|
|
40
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
41
|
+
key = _useState4[0],
|
|
42
|
+
setKey = _useState4[1];
|
|
43
|
+
|
|
44
|
+
useImperativeHandle(ref, function () {
|
|
45
|
+
return {
|
|
46
|
+
restart: function restart() {
|
|
47
|
+
setKey(function (prev) {
|
|
48
|
+
return prev + 1;
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
};
|
|
52
|
+
});
|
|
53
|
+
useEffect(function () {
|
|
54
|
+
if (loadingState !== ELoadingState.IDLE) {
|
|
55
|
+
if (loadingState === ELoadingState.LOADING && !loading) {
|
|
56
|
+
// loading 变为 false 时,进度条开始消失
|
|
57
|
+
setLoadingState(ELoadingState.LOADED);
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
return;
|
|
61
|
+
} // 防止 loading 快速变化导致的闪烁
|
|
62
|
+
|
|
63
|
+
|
|
64
|
+
var DELAY_TIME = 200;
|
|
65
|
+
var timer = setTimeout(function () {
|
|
66
|
+
if (loading) {
|
|
67
|
+
setLoadingState(ELoadingState.LOADING);
|
|
68
|
+
}
|
|
69
|
+
}, DELAY_TIME);
|
|
70
|
+
return function () {
|
|
71
|
+
if (timer) {
|
|
72
|
+
clearTimeout(timer);
|
|
73
|
+
}
|
|
74
|
+
};
|
|
75
|
+
}, [loading, loadingState]);
|
|
76
|
+
var onAnimationEnd = useCallback(function () {
|
|
77
|
+
if (loadingState === ELoadingState.LOADED) {
|
|
78
|
+
setLoadingState(ELoadingState.IDLE);
|
|
79
|
+
}
|
|
80
|
+
}, [loadingState]);
|
|
81
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
82
|
+
key: key,
|
|
83
|
+
className: classNames('ald-progress-bar', className, _defineProperty({}, 'ald-progress-bar-show-bg', loadingState !== ELoadingState.IDLE))
|
|
84
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
85
|
+
className: classNames('ald-progress-bar-inner', (_classNames2 = {}, _defineProperty(_classNames2, 'ald-progress-bar-show-loading', loadingState === ELoadingState.LOADING), _defineProperty(_classNames2, 'ald-progress-bar-hide-loading', loadingState === ELoadingState.LOADED), _classNames2)),
|
|
86
|
+
onAnimationEnd: onAnimationEnd
|
|
87
|
+
}));
|
|
88
|
+
});
|
|
@@ -1 +1,57 @@
|
|
|
1
1
|
@import '../../style/index.less';
|
|
2
|
+
|
|
3
|
+
.ald-progress-bar {
|
|
4
|
+
border-radius: 2px 0 0;
|
|
5
|
+
height: 3px;
|
|
6
|
+
width: 100%;
|
|
7
|
+
pointer-events: none;
|
|
8
|
+
|
|
9
|
+
&-show-bg {
|
|
10
|
+
background-color: #d6e3f4;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
&-inner {
|
|
14
|
+
background-color: #3271c9;
|
|
15
|
+
border-radius: 2px 0 0;
|
|
16
|
+
height: 100%;
|
|
17
|
+
width: 0;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
&-show-loading {
|
|
21
|
+
animation: loading 2s ease-in-out forwards;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
&-hide-loading {
|
|
25
|
+
animation: disappear 0.5s forwards;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
@keyframes loading {
|
|
30
|
+
0% {
|
|
31
|
+
width: 0;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
90% {
|
|
35
|
+
width: 90%;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
100% {
|
|
39
|
+
width: 90%;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
@keyframes disappear {
|
|
44
|
+
0% {
|
|
45
|
+
width: 90%;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
99% {
|
|
49
|
+
width: 99%;
|
|
50
|
+
opacity: 1;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
100% {
|
|
54
|
+
width: 100%;
|
|
55
|
+
opacity: 0;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { ScrollAreaProps } from '@radix-ui/react-scroll-area';
|
|
2
|
+
import React, { ReactNode } from 'react';
|
|
3
|
+
interface Props extends ScrollAreaProps {
|
|
4
|
+
children?: ReactNode;
|
|
5
|
+
className?: string;
|
|
6
|
+
horizontalScrollBarClassName?: string;
|
|
7
|
+
verticalScrollBarClassName?: string;
|
|
8
|
+
onViewportScroll?: (event: React.UIEvent<HTMLDivElement>) => void;
|
|
9
|
+
}
|
|
10
|
+
declare const _default: React.MemoExoticComponent<React.ForwardRefExoticComponent<Props & React.RefAttributes<HTMLDivElement>>>;
|
|
11
|
+
export default _default;
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
var _excluded = ["children", "className", "horizontalScrollBarClassName", "verticalScrollBarClassName", "onViewportScroll"];
|
|
2
|
+
|
|
3
|
+
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
4
|
+
|
|
5
|
+
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
|
6
|
+
|
|
7
|
+
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
|
8
|
+
|
|
9
|
+
import * as ScrollAreaComponent from '@radix-ui/react-scroll-area';
|
|
10
|
+
import classNames from 'classnames';
|
|
11
|
+
import React, { forwardRef, memo } from 'react';
|
|
12
|
+
|
|
13
|
+
var ScrollArea = function ScrollArea(props, ref) {
|
|
14
|
+
var children = props.children,
|
|
15
|
+
className = props.className,
|
|
16
|
+
horizontalScrollBarClassName = props.horizontalScrollBarClassName,
|
|
17
|
+
verticalScrollBarClassName = props.verticalScrollBarClassName,
|
|
18
|
+
onViewportScroll = props.onViewportScroll,
|
|
19
|
+
rest = _objectWithoutProperties(props, _excluded);
|
|
20
|
+
|
|
21
|
+
return /*#__PURE__*/React.createElement(ScrollAreaComponent.Root, _extends({}, rest, {
|
|
22
|
+
scrollHideDelay: 50,
|
|
23
|
+
className: classNames('ald-scroll-area', className)
|
|
24
|
+
}), /*#__PURE__*/React.createElement(ScrollAreaComponent.Viewport, {
|
|
25
|
+
className: "ald-scroll-area-inner",
|
|
26
|
+
onScroll: function onScroll(event) {
|
|
27
|
+
onViewportScroll === null || onViewportScroll === void 0 ? void 0 : onViewportScroll(event);
|
|
28
|
+
},
|
|
29
|
+
ref: ref
|
|
30
|
+
}, children), /*#__PURE__*/React.createElement(ScrollAreaComponent.Scrollbar, {
|
|
31
|
+
style: {
|
|
32
|
+
right: 3
|
|
33
|
+
},
|
|
34
|
+
className: classNames('ald-scroll-area-bar', verticalScrollBarClassName),
|
|
35
|
+
orientation: "vertical"
|
|
36
|
+
}, /*#__PURE__*/React.createElement(ScrollAreaComponent.Thumb, {
|
|
37
|
+
className: 'ald-scroll-area-thumb'
|
|
38
|
+
})), /*#__PURE__*/React.createElement(ScrollAreaComponent.Scrollbar, {
|
|
39
|
+
className: classNames('ald-scroll-area-bar', horizontalScrollBarClassName),
|
|
40
|
+
style: {
|
|
41
|
+
bottom: 3
|
|
42
|
+
},
|
|
43
|
+
orientation: "horizontal"
|
|
44
|
+
}, /*#__PURE__*/React.createElement(ScrollAreaComponent.Thumb, {
|
|
45
|
+
className: 'ald-scroll-area-thumb'
|
|
46
|
+
})));
|
|
47
|
+
};
|
|
48
|
+
|
|
49
|
+
export default /*#__PURE__*/memo( /*#__PURE__*/forwardRef(ScrollArea));
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
@import '../../style/index.less';
|
|
2
|
+
|
|
3
|
+
.ald-scroll-area {
|
|
4
|
+
width: 100%;
|
|
5
|
+
height: 100%;
|
|
6
|
+
overflow: hidden;
|
|
7
|
+
box-sizing: border-box;
|
|
8
|
+
|
|
9
|
+
--scrollbar-size: 6px;
|
|
10
|
+
// 滚动条轨道
|
|
11
|
+
.ald-scroll-area-bar {
|
|
12
|
+
z-index: 6;
|
|
13
|
+
display: flex;
|
|
14
|
+
user-select: none;
|
|
15
|
+
touch-action: none;
|
|
16
|
+
background: transparent;
|
|
17
|
+
transition: background 160ms ease-out;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
.ald-scroll-area-bar[data-orientation='vertical'] {
|
|
21
|
+
width: var(--scrollbar-size);
|
|
22
|
+
padding: 2px 0;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
.ald-scroll-area-bar[data-orientation='horizontal'] {
|
|
26
|
+
flex-direction: column;
|
|
27
|
+
padding: 0 2px;
|
|
28
|
+
height: var(--scrollbar-size);
|
|
29
|
+
}
|
|
30
|
+
// 滚动条可拖动条
|
|
31
|
+
.ald-scroll-area-thumb {
|
|
32
|
+
flex: 1;
|
|
33
|
+
background: #575757;
|
|
34
|
+
border-radius: var(--scrollbar-size);
|
|
35
|
+
position: relative;
|
|
36
|
+
opacity: 0.2;
|
|
37
|
+
|
|
38
|
+
&:hover {
|
|
39
|
+
opacity: 0.6;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
.ald-scroll-area-inner {
|
|
45
|
+
width: 100%;
|
|
46
|
+
height: 100%;
|
|
47
|
+
box-sizing: border-box;
|
|
48
|
+
}
|
package/dist/Select/index.d.ts
CHANGED
|
@@ -3,6 +3,7 @@ import React from 'react';
|
|
|
3
3
|
export interface ISelectProps extends Omit<SelectProps, 'mode'> {
|
|
4
4
|
prefix?: React.ReactNode;
|
|
5
5
|
mode?: 'multiple';
|
|
6
|
+
showAllOption?: boolean;
|
|
6
7
|
}
|
|
7
8
|
export declare type IRefSelectProps = RefSelectProps;
|
|
8
9
|
export declare type IAldRefSelectProps = IRefSelectProps & {
|