@aloudata/aloudata-design 2.19.0-beta.1 → 2.19.0-beta.3
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/AldSelect/BaseSelect.d.ts +1 -1
- package/dist/AldSelect/BaseSelect.js +2 -2
- package/dist/AldSelect/interface.d.ts +1 -2
- package/dist/AldSelect/style/color.less +1 -1
- package/dist/Checkbox/style/index.less +3 -2
- package/dist/ColorPicker/ComplexColorPicker/ColorInput.js +0 -3
- package/dist/ColorPicker/index.d.ts +2 -1
- package/dist/ColorPicker/index.js +15 -3
- package/dist/ColorPicker/style/index.less +39 -1
- package/dist/Divider/style/index.less +1 -1
- package/dist/InputSearch/index.js +1 -1
- package/dist/InputSearch/style/index.less +23 -9
- package/dist/MemberPicker/style/index.less +2 -3
- package/dist/Pagination/PageSizeChanger.d.ts +10 -0
- package/dist/Pagination/PageSizeChanger.js +50 -0
- package/dist/Pagination/index.js +57 -6
- package/dist/Pagination/style/index.less +13 -0
- package/dist/Pagination/types.d.ts +6 -1
- package/dist/StatusLight/index.js +5 -5
- package/dist/Table/components/Header.js +1 -1
- package/dist/Table/index.js +1 -1
- package/dist/Table/style/index.less +2 -2
- package/dist/Tree/style/checkbox.less +3 -3
- package/dist/ald.min.css +1 -1
- package/dist/locale/default.d.ts +5 -0
- package/dist/locale/en_US.d.ts +5 -0
- package/dist/locale/en_US.js +7 -0
- package/dist/locale/zh_CN.d.ts +5 -0
- package/dist/locale/zh_CN.js +7 -0
- package/dist/style/themes/default/themeColor.module.less +0 -1
- package/package.json +1 -1
|
@@ -49,7 +49,7 @@ export interface BaseSelectProps extends BaseSelectPrivateProps, ISelectProps, R
|
|
|
49
49
|
suffixIcon?: React.ReactNode;
|
|
50
50
|
dropdownAlign?: AlignType;
|
|
51
51
|
placement?: PlacementType;
|
|
52
|
-
getPopupContainer?:
|
|
52
|
+
getPopupContainer?: () => HTMLElement;
|
|
53
53
|
onBlur?: React.FocusEventHandler<HTMLElement>;
|
|
54
54
|
onFocus?: React.FocusEventHandler<HTMLElement>;
|
|
55
55
|
onKeyUp?: React.KeyboardEventHandler<HTMLDivElement>;
|
|
@@ -212,7 +212,7 @@ var BaseSelect = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
212
212
|
ref: selectRef,
|
|
213
213
|
id: id,
|
|
214
214
|
onClick: onSelectClick
|
|
215
|
-
}, /*#__PURE__*/React.createElement(SelectTrigger, {
|
|
215
|
+
}, /*#__PURE__*/React.createElement(SelectTrigger, _extends({}, restProps, {
|
|
216
216
|
open: !!mergedOpen,
|
|
217
217
|
notFoundContent: notFoundContent,
|
|
218
218
|
menu: showMenu,
|
|
@@ -238,7 +238,7 @@ var BaseSelect = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
238
238
|
onToggleOpen(open);
|
|
239
239
|
}
|
|
240
240
|
}
|
|
241
|
-
}, /*#__PURE__*/React.createElement("div", {
|
|
241
|
+
}), /*#__PURE__*/React.createElement("div", {
|
|
242
242
|
className: setClassNames('trigger')
|
|
243
243
|
}, prefix && /*#__PURE__*/React.createElement("div", {
|
|
244
244
|
className: setClassNames('prefix')
|
|
@@ -36,7 +36,7 @@ export interface ISelectProps<ValueType = any, OptionType extends BaseOptionType
|
|
|
36
36
|
style?: React.CSSProperties;
|
|
37
37
|
open?: boolean;
|
|
38
38
|
onOpenChange?: (open: boolean) => void;
|
|
39
|
-
getPopupContainer?: (
|
|
39
|
+
getPopupContainer?: () => HTMLElement;
|
|
40
40
|
onInputKeyDown?: (event: React.KeyboardEvent<HTMLInputElement>) => void;
|
|
41
41
|
popupMatchSelectWidth?: boolean | number;
|
|
42
42
|
onSelect?: SelectHandler<ArrayElementType<ValueType>, OptionType>;
|
|
@@ -84,7 +84,6 @@ export interface LabelInValueType {
|
|
|
84
84
|
disabled?: boolean;
|
|
85
85
|
}
|
|
86
86
|
export type DraftValueType = RawValueType | LabelInValueType | DisplayValueType | (RawValueType | LabelInValueType | DisplayValueType)[];
|
|
87
|
-
export type RenderDOMFunc = (triggerNode: HTMLElement) => HTMLElement;
|
|
88
87
|
export type DisplayInfoType = 'add' | 'remove' | 'clear';
|
|
89
88
|
export interface DefaultOptionType extends BaseOptionType {
|
|
90
89
|
label?: React.ReactNode;
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
@checkbox-border-color-normal: var(--interaction-border-neutral-normal);
|
|
4
4
|
@checkbox-border-color-hover: var(--interaction-border-hover);
|
|
5
5
|
@checkbox-border-color-active: var(--interaction-border-active);
|
|
6
|
-
@checkbox-border-color-disabled: var(--interaction-
|
|
6
|
+
@checkbox-border-color-disabled: var(--interaction-border-neutral-normal);
|
|
7
7
|
|
|
8
8
|
@checkbox-inner-bgc-normal: var(--interaction-background-form-field);
|
|
9
9
|
@checkbox-inner-bgc-hover: var(--interaction-background-form-field);
|
|
@@ -108,6 +108,7 @@
|
|
|
108
108
|
.ant-checkbox-disabled {
|
|
109
109
|
.ant-checkbox-inner[class][class] {
|
|
110
110
|
background: @checkbox-inner-bgc-disabled;
|
|
111
|
+
border-color: @checkbox-border-color-disabled;
|
|
111
112
|
}
|
|
112
113
|
}
|
|
113
114
|
}
|
|
@@ -155,7 +156,7 @@
|
|
|
155
156
|
|
|
156
157
|
.ant-checkbox-inner {
|
|
157
158
|
background-color: @checkbox-inner-bgc-disabled;
|
|
158
|
-
border:
|
|
159
|
+
border: 1px solid @checkbox-border-color-disabled;
|
|
159
160
|
|
|
160
161
|
&::after {
|
|
161
162
|
top: 3px;
|
|
@@ -57,9 +57,6 @@ var ColorInput = function ColorInput(props) {
|
|
|
57
57
|
}, !disabledFormat && /*#__PURE__*/React.createElement(AldSelect, {
|
|
58
58
|
value: colorFormat,
|
|
59
59
|
borderLess: true,
|
|
60
|
-
getPopupContainer: function getPopupContainer(current) {
|
|
61
|
-
return current;
|
|
62
|
-
},
|
|
63
60
|
popupMatchSelectWidth: 80,
|
|
64
61
|
placement: "bottom-end",
|
|
65
62
|
width: 'auto',
|
|
@@ -7,8 +7,9 @@ export interface IColorPickerProps {
|
|
|
7
7
|
localStorageKey?: string;
|
|
8
8
|
onChange?: (color: string) => void;
|
|
9
9
|
icon?: React.ReactNode;
|
|
10
|
+
bordered?: boolean;
|
|
10
11
|
disabled?: boolean;
|
|
11
12
|
mode?: 'simple' | 'complex';
|
|
12
13
|
complexModeProps?: ColorPickerProps;
|
|
13
14
|
}
|
|
14
|
-
export default function ColorPicker({ className, value, icon, onChange, defaultColor, localStorageKey, disabled, mode, complexModeProps, }: IColorPickerProps): React.JSX.Element | null;
|
|
15
|
+
export default function ColorPicker({ className, value, icon, onChange, defaultColor, localStorageKey, disabled, mode, complexModeProps, bordered, }: IColorPickerProps): React.JSX.Element | null;
|
|
@@ -45,7 +45,9 @@ export default function ColorPicker(_ref) {
|
|
|
45
45
|
disabled = _ref$disabled === void 0 ? false : _ref$disabled,
|
|
46
46
|
_ref$mode = _ref.mode,
|
|
47
47
|
mode = _ref$mode === void 0 ? 'simple' : _ref$mode,
|
|
48
|
-
complexModeProps = _ref.complexModeProps
|
|
48
|
+
complexModeProps = _ref.complexModeProps,
|
|
49
|
+
_ref$bordered = _ref.bordered,
|
|
50
|
+
bordered = _ref$bordered === void 0 ? true : _ref$bordered;
|
|
49
51
|
var _useContext = useContext(LocaleContext),
|
|
50
52
|
locale = _useContext.locale;
|
|
51
53
|
var t = getTranslator(locale);
|
|
@@ -171,14 +173,24 @@ export default function ColorPicker(_ref) {
|
|
|
171
173
|
}, /*#__PURE__*/React.createElement("div", {
|
|
172
174
|
className: cls('ald-color-picker-wrapper', {
|
|
173
175
|
'ald-color-picker-wrapper-focused': open,
|
|
174
|
-
'ald-color-picker-wrapper-disabled': disabled
|
|
176
|
+
'ald-color-picker-wrapper-disabled': disabled,
|
|
177
|
+
'ald-color-picker-wrapper-borderless': bordered === false
|
|
175
178
|
}),
|
|
176
179
|
onClick: function onClick(e) {
|
|
177
180
|
if (disabled) {
|
|
178
181
|
e.stopPropagation();
|
|
179
182
|
}
|
|
180
183
|
}
|
|
181
|
-
}, icon
|
|
184
|
+
}, icon ? /*#__PURE__*/React.createElement("div", {
|
|
185
|
+
className: 'svg'
|
|
186
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
187
|
+
className: 'icon'
|
|
188
|
+
}, icon), /*#__PURE__*/React.createElement("div", {
|
|
189
|
+
className: 'line',
|
|
190
|
+
style: {
|
|
191
|
+
backgroundColor: value !== null && value !== void 0 ? value : '#4B5563'
|
|
192
|
+
}
|
|
193
|
+
})) : /*#__PURE__*/React.createElement("div", {
|
|
182
194
|
className: 'word'
|
|
183
195
|
}, "A", /*#__PURE__*/React.createElement("div", {
|
|
184
196
|
className: 'line',
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
gap: 4px;
|
|
18
18
|
height: 28px;
|
|
19
19
|
background: var(--background-default);
|
|
20
|
-
border: 1px solid var(--
|
|
20
|
+
border: 1px solid var(--interaction-border-neutral-normal);
|
|
21
21
|
box-sizing: border-box;
|
|
22
22
|
cursor: pointer;
|
|
23
23
|
transition: border 0.5s ease-in-out;
|
|
@@ -28,11 +28,25 @@
|
|
|
28
28
|
}
|
|
29
29
|
}
|
|
30
30
|
|
|
31
|
+
.ald-color-picker-wrapper-borderless {
|
|
32
|
+
border: 1px solid transparent;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
.ald-color-picker-wrapper-borderless:hover {
|
|
36
|
+
border: 1px solid transparent !important;
|
|
37
|
+
box-shadow: none;
|
|
38
|
+
}
|
|
39
|
+
|
|
31
40
|
.ald-color-picker-wrapper-focused {
|
|
32
41
|
border: 1px solid var(--interaction-border-normal);
|
|
33
42
|
box-sizing: border-box;
|
|
34
43
|
}
|
|
35
44
|
|
|
45
|
+
.ald-color-picker-wrapper-borderless.ald-color-picker-wrapper-focused {
|
|
46
|
+
border: 1px solid transparent !important;
|
|
47
|
+
box-shadow: none;
|
|
48
|
+
}
|
|
49
|
+
|
|
36
50
|
.word {
|
|
37
51
|
position: relative;
|
|
38
52
|
top: -1px;
|
|
@@ -46,6 +60,30 @@
|
|
|
46
60
|
bottom: 3px;
|
|
47
61
|
}
|
|
48
62
|
}
|
|
63
|
+
|
|
64
|
+
.svg {
|
|
65
|
+
position: relative;
|
|
66
|
+
top: -1px;
|
|
67
|
+
|
|
68
|
+
.icon {
|
|
69
|
+
margin-bottom: 1px;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
.icon.bordered {
|
|
73
|
+
border: 1px solid #d1d5db;
|
|
74
|
+
border-radius: 3px;
|
|
75
|
+
padding: 1px;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
.line {
|
|
79
|
+
width: 10px;
|
|
80
|
+
height: 2px;
|
|
81
|
+
position: absolute;
|
|
82
|
+
bottom: 3px;
|
|
83
|
+
left: 50%;
|
|
84
|
+
transform: translateX(-50%);
|
|
85
|
+
}
|
|
86
|
+
}
|
|
49
87
|
}
|
|
50
88
|
|
|
51
89
|
.ald-dropdown-overlay.ald-color-picker-overlay-wrapper {
|
|
@@ -126,7 +126,7 @@ export default function InputSearch(props) {
|
|
|
126
126
|
'--init-width': (props.initWidth || defaultWidth) + 'px'
|
|
127
127
|
})
|
|
128
128
|
}, /*#__PURE__*/React.createElement(Input, _extends({
|
|
129
|
-
className: classnames((_classnames2 = {}, _defineProperty(_classnames2, 'input-search-has-value', currentValue.length !== 0 || inputMode), _defineProperty(_classnames2, 'inputMode', inputMode), _classnames2)),
|
|
129
|
+
className: classnames((_classnames2 = {}, _defineProperty(_classnames2, 'input-search-has-value', currentValue.length !== 0 || inputMode), _defineProperty(_classnames2, 'input-search-has-content', currentValue.length !== 0), _defineProperty(_classnames2, 'inputMode', inputMode), _classnames2)),
|
|
130
130
|
size: size
|
|
131
131
|
// @ts-ignore
|
|
132
132
|
,
|
|
@@ -37,17 +37,13 @@
|
|
|
37
37
|
background-color: var(--background-neutral-subtle);
|
|
38
38
|
}
|
|
39
39
|
|
|
40
|
-
&.ant-input-affix-wrapper-focused,
|
|
41
|
-
&:hover,
|
|
42
|
-
&.input-search-has-value {
|
|
40
|
+
&.ant-input-affix-wrapper-focused:not(.inputMode),
|
|
41
|
+
&:hover:not(.inputMode),
|
|
42
|
+
&.input-search-has-value:not(.inputMode) {
|
|
43
43
|
width: 200px !important;
|
|
44
44
|
transition: all 0.2s ease 0.1s !important;
|
|
45
45
|
background-color: var(--background-default);
|
|
46
46
|
|
|
47
|
-
&.inputMode {
|
|
48
|
-
width: 100% !important;
|
|
49
|
-
}
|
|
50
|
-
|
|
51
47
|
input {
|
|
52
48
|
background-color: var(--background-default);
|
|
53
49
|
}
|
|
@@ -63,8 +59,26 @@
|
|
|
63
59
|
}
|
|
64
60
|
}
|
|
65
61
|
|
|
66
|
-
&.
|
|
67
|
-
|
|
62
|
+
&.inputMode {
|
|
63
|
+
width: 100% !important;
|
|
64
|
+
background-color: var(--alias-colors-bg-skeleton-subtler, #fff);
|
|
65
|
+
|
|
66
|
+
input {
|
|
67
|
+
background-color: #fff;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
::placeholder {
|
|
71
|
+
color: var(--alias-colors-text-subtlest, #9ca3af);
|
|
72
|
+
background-color: var(--alias-colors-bg-skeleton-subtler, #fff);
|
|
73
|
+
font-size: 14px;
|
|
74
|
+
font-style: normal;
|
|
75
|
+
font-weight: 400;
|
|
76
|
+
line-height: 16px; /* 133.333% */
|
|
77
|
+
transition: all 0.2s ease 0.1s !important;
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
&.input-search-has-content {
|
|
68
82
|
.ant-input-suffix {
|
|
69
83
|
display: flex;
|
|
70
84
|
|
|
@@ -130,11 +130,10 @@
|
|
|
130
130
|
.ald-member-picker-footer {
|
|
131
131
|
width: 100%;
|
|
132
132
|
display: flex;
|
|
133
|
-
padding: var(--
|
|
134
|
-
var(--global-number-spacing-spacing-lg);
|
|
133
|
+
padding: var(--component-gap-sm) var(--component-gap-lg);
|
|
135
134
|
justify-content: flex-end;
|
|
136
135
|
align-items: center;
|
|
137
|
-
gap: var(--
|
|
136
|
+
gap: var(--component-gap-sm);
|
|
138
137
|
align-self: stretch;
|
|
139
138
|
border-top: 1px solid var(--border-default);
|
|
140
139
|
background: var(--background-default);
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
interface IPageSizeChangerProps {
|
|
3
|
+
pageSize: number;
|
|
4
|
+
pageSizeOptions: (string | number)[];
|
|
5
|
+
onChange: (size: number) => void;
|
|
6
|
+
className?: string;
|
|
7
|
+
disabled?: boolean;
|
|
8
|
+
}
|
|
9
|
+
declare const PageSizeChanger: React.FC<IPageSizeChangerProps>;
|
|
10
|
+
export default PageSizeChanger;
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
|
2
|
+
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
3
|
+
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); }
|
|
4
|
+
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
|
|
5
|
+
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
|
|
6
|
+
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; }
|
|
7
|
+
import React, { useContext } from 'react';
|
|
8
|
+
import AldSelect from "../AldSelect";
|
|
9
|
+
import { LocaleContext, getTranslator } from "../locale/default";
|
|
10
|
+
var PageSizeChanger = function PageSizeChanger(_ref) {
|
|
11
|
+
var pageSize = _ref.pageSize,
|
|
12
|
+
pageSizeOptions = _ref.pageSizeOptions,
|
|
13
|
+
onChange = _ref.onChange,
|
|
14
|
+
className = _ref.className,
|
|
15
|
+
_ref$disabled = _ref.disabled,
|
|
16
|
+
disabled = _ref$disabled === void 0 ? false : _ref$disabled;
|
|
17
|
+
var _useContext = useContext(LocaleContext),
|
|
18
|
+
locale = _useContext.locale;
|
|
19
|
+
var t = getTranslator(locale);
|
|
20
|
+
|
|
21
|
+
// 将 pageSizeOptions 转换为 Select 可用的选项格式
|
|
22
|
+
// 确保当前 pageSize 值在选项中存在
|
|
23
|
+
var optionSet = new Set([].concat(_toConsumableArray(pageSizeOptions), [pageSize]));
|
|
24
|
+
var allOptions = Array.from(optionSet).sort(function (a, b) {
|
|
25
|
+
return Number(a) - Number(b);
|
|
26
|
+
});
|
|
27
|
+
var selectOptions = allOptions.map(function (option) {
|
|
28
|
+
return {
|
|
29
|
+
label: "".concat(option, " ").concat(t.Pagination.itemsPerPage),
|
|
30
|
+
value: String(option)
|
|
31
|
+
};
|
|
32
|
+
});
|
|
33
|
+
var handleChange = function handleChange(value) {
|
|
34
|
+
var newSize = parseInt(value, 10);
|
|
35
|
+
if (!isNaN(newSize) && newSize !== pageSize) {
|
|
36
|
+
onChange(newSize);
|
|
37
|
+
}
|
|
38
|
+
};
|
|
39
|
+
var selectProps = {
|
|
40
|
+
value: String(pageSize),
|
|
41
|
+
onChange: handleChange,
|
|
42
|
+
options: selectOptions,
|
|
43
|
+
width: 112,
|
|
44
|
+
disabled: disabled,
|
|
45
|
+
className: "ald-pagination-page-size-changer ".concat(className || '').trim(),
|
|
46
|
+
placeholder: t.Pagination.selectPageSize
|
|
47
|
+
};
|
|
48
|
+
return /*#__PURE__*/React.createElement(AldSelect, selectProps);
|
|
49
|
+
};
|
|
50
|
+
export default PageSizeChanger;
|
package/dist/Pagination/index.js
CHANGED
|
@@ -10,16 +10,28 @@ function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefine
|
|
|
10
10
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
11
11
|
import classnames from 'classnames';
|
|
12
12
|
import _ from 'lodash';
|
|
13
|
-
import React, { useCallback, useEffect, useState } from 'react';
|
|
13
|
+
import React, { useCallback, useContext, useEffect, useState } from 'react';
|
|
14
14
|
import Button from "../Button";
|
|
15
15
|
import { ChevronLeftLine, ChevronRightLine, Ellipsis } from "../Icon";
|
|
16
|
+
import { LocaleContext, getTranslator } from "../locale/default";
|
|
17
|
+
import PageSizeChanger from "./PageSizeChanger";
|
|
16
18
|
function Pagination(props) {
|
|
17
19
|
var _props$current = props.current,
|
|
18
20
|
currPage = _props$current === void 0 ? 1 : _props$current,
|
|
19
21
|
pageSize = props.pageSize,
|
|
20
22
|
total = props.total,
|
|
21
23
|
onChange = props.onChange,
|
|
22
|
-
hideOnSinglePage = props.hideOnSinglePage
|
|
24
|
+
hideOnSinglePage = props.hideOnSinglePage,
|
|
25
|
+
_props$showSizeChange = props.showSizeChanger,
|
|
26
|
+
showSizeChanger = _props$showSizeChange === void 0 ? false : _props$showSizeChange,
|
|
27
|
+
_props$pageSizeOption = props.pageSizeOptions,
|
|
28
|
+
pageSizeOptions = _props$pageSizeOption === void 0 ? [10, 20, 30, 50] : _props$pageSizeOption,
|
|
29
|
+
onShowSizeChange = props.onShowSizeChange,
|
|
30
|
+
_props$showTotal = props.showTotal,
|
|
31
|
+
showTotal = _props$showTotal === void 0 ? false : _props$showTotal;
|
|
32
|
+
var _useContext = useContext(LocaleContext),
|
|
33
|
+
locale = _useContext.locale;
|
|
34
|
+
var t = getTranslator(locale);
|
|
23
35
|
var totalPage = getTotalPage(total, pageSize);
|
|
24
36
|
var _useState = useState(getSafeCurrent(totalPage, currPage)),
|
|
25
37
|
_useState2 = _slicedToArray(_useState, 2),
|
|
@@ -38,17 +50,52 @@ function Pagination(props) {
|
|
|
38
50
|
return;
|
|
39
51
|
}
|
|
40
52
|
setCurrent(page);
|
|
41
|
-
onChange(page);
|
|
53
|
+
onChange(page, pageSize);
|
|
42
54
|
};
|
|
43
|
-
}, [onChange, current]);
|
|
55
|
+
}, [onChange, current, pageSize]);
|
|
56
|
+
var handlePageSizeChange = useCallback(function (newPageSize) {
|
|
57
|
+
var newTotalPage = getTotalPage(total, newPageSize);
|
|
58
|
+
// 确保当前页在有效范围内
|
|
59
|
+
var safeCurrent = getSafeCurrent(newTotalPage, current);
|
|
60
|
+
setCurrent(safeCurrent);
|
|
61
|
+
|
|
62
|
+
// 调用回调函数
|
|
63
|
+
if (onShowSizeChange) {
|
|
64
|
+
onShowSizeChange(safeCurrent, newPageSize);
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
// 也调用 onChange 以保持一致性
|
|
68
|
+
onChange(safeCurrent, newPageSize);
|
|
69
|
+
}, [total, current, onShowSizeChange, onChange]);
|
|
44
70
|
var pageRange = getPaginationRange(totalPage, current);
|
|
45
71
|
if (hideOnSinglePage) {
|
|
46
|
-
if (totalPage <= 1) {
|
|
72
|
+
if (totalPage <= 1 && !showSizeChanger && !showTotal) {
|
|
47
73
|
return null;
|
|
48
74
|
}
|
|
49
75
|
}
|
|
76
|
+
|
|
77
|
+
// 计算当前显示的数据范围
|
|
78
|
+
var startIndex = (current - 1) * pageSize + 1;
|
|
79
|
+
var endIndex = Math.min(current * pageSize, total);
|
|
80
|
+
var range = [startIndex, endIndex];
|
|
81
|
+
var containerClassName = prefixCls('container');
|
|
82
|
+
|
|
83
|
+
// 获取显示总数的函数
|
|
84
|
+
var getShowTotalContent = function getShowTotalContent() {
|
|
85
|
+
if (typeof showTotal === 'function') {
|
|
86
|
+
return showTotal(total, range);
|
|
87
|
+
}
|
|
88
|
+
if (showTotal === true) {
|
|
89
|
+
return t.Pagination.totalItems(total, range);
|
|
90
|
+
}
|
|
91
|
+
return null;
|
|
92
|
+
};
|
|
50
93
|
return /*#__PURE__*/React.createElement("div", {
|
|
51
|
-
className:
|
|
94
|
+
className: containerClassName
|
|
95
|
+
}, showTotal && /*#__PURE__*/React.createElement("div", {
|
|
96
|
+
className: prefixCls('total')
|
|
97
|
+
}, getShowTotalContent()), /*#__PURE__*/React.createElement("div", {
|
|
98
|
+
className: prefixCls('main')
|
|
52
99
|
}, /*#__PURE__*/React.createElement(Button, {
|
|
53
100
|
icon: /*#__PURE__*/React.createElement(ChevronLeftLine, {
|
|
54
101
|
size: 16
|
|
@@ -76,6 +123,10 @@ function Pagination(props) {
|
|
|
76
123
|
}),
|
|
77
124
|
onClick: onChangePage(current + 1),
|
|
78
125
|
disabled: current >= totalPage
|
|
126
|
+
})), showSizeChanger && /*#__PURE__*/React.createElement(PageSizeChanger, {
|
|
127
|
+
pageSize: pageSize,
|
|
128
|
+
pageSizeOptions: pageSizeOptions,
|
|
129
|
+
onChange: handlePageSizeChange
|
|
79
130
|
}));
|
|
80
131
|
}
|
|
81
132
|
export default Pagination;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
@import '../../style/index.less';
|
|
2
2
|
@import '../../Button/style/index.less';
|
|
3
|
+
@import '../../AldSelect/style/index.less';
|
|
3
4
|
|
|
4
5
|
.ald-pagination-container {
|
|
5
6
|
display: flex;
|
|
@@ -7,6 +8,12 @@
|
|
|
7
8
|
gap: 8px;
|
|
8
9
|
}
|
|
9
10
|
|
|
11
|
+
.ald-pagination-main {
|
|
12
|
+
display: flex;
|
|
13
|
+
align-items: center;
|
|
14
|
+
gap: 8px;
|
|
15
|
+
}
|
|
16
|
+
|
|
10
17
|
.ald-pagination-active.ald-btn.ald-btn.ald-btn-secondary {
|
|
11
18
|
&,
|
|
12
19
|
&:focus,
|
|
@@ -30,3 +37,9 @@
|
|
|
30
37
|
font-size: 12px;
|
|
31
38
|
font-weight: 500;
|
|
32
39
|
}
|
|
40
|
+
|
|
41
|
+
.ald-pagination-total {
|
|
42
|
+
margin-right: 8px;
|
|
43
|
+
color: var(--alias-colors-text-secondary, #666);
|
|
44
|
+
font-size: 14px;
|
|
45
|
+
}
|
|
@@ -1,7 +1,12 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
1
2
|
export interface IPaginationProps {
|
|
2
3
|
current?: number;
|
|
3
4
|
pageSize: number;
|
|
4
5
|
total: number;
|
|
5
|
-
onChange: (current: number) => void;
|
|
6
|
+
onChange: (current: number, pageSize?: number) => void;
|
|
6
7
|
hideOnSinglePage?: boolean;
|
|
8
|
+
showSizeChanger?: boolean;
|
|
9
|
+
pageSizeOptions?: (string | number)[];
|
|
10
|
+
onShowSizeChange?: (current: number, size: number) => void;
|
|
11
|
+
showTotal?: boolean | ((total: number, range: [number, number]) => React.ReactNode);
|
|
7
12
|
}
|
|
@@ -18,27 +18,27 @@ function StatusLight(_ref) {
|
|
|
18
18
|
switch (status) {
|
|
19
19
|
case 'info':
|
|
20
20
|
return /*#__PURE__*/React.createElement(InProgressFill, {
|
|
21
|
-
color: "var(--non-semantic-
|
|
21
|
+
color: "var(--non-semantic-background-blue-strong)",
|
|
22
22
|
size: iconSize
|
|
23
23
|
});
|
|
24
24
|
case 'neutral':
|
|
25
25
|
return /*#__PURE__*/React.createElement(CancelledCircleFill, {
|
|
26
|
-
color: "var(--non-semantic-
|
|
26
|
+
color: "var(--non-semantic-background-grey-strong)",
|
|
27
27
|
size: iconSize
|
|
28
28
|
});
|
|
29
29
|
case 'danger':
|
|
30
30
|
return /*#__PURE__*/React.createElement(CloseCircleFill, {
|
|
31
|
-
color: "var(--non-semantic-
|
|
31
|
+
color: "var(--non-semantic-background-red-strong)",
|
|
32
32
|
size: iconSize
|
|
33
33
|
});
|
|
34
34
|
case 'success':
|
|
35
35
|
return /*#__PURE__*/React.createElement(CheckCircleFill, {
|
|
36
|
-
color: "var(--non-semantic-
|
|
36
|
+
color: "var(--non-semantic-background-green-strong)",
|
|
37
37
|
size: iconSize
|
|
38
38
|
});
|
|
39
39
|
case 'warning':
|
|
40
40
|
return /*#__PURE__*/React.createElement(AttentionCircleFill, {
|
|
41
|
-
color: "var(--non-semantic-
|
|
41
|
+
color: "var(--non-semantic-background-orange-strong)",
|
|
42
42
|
size: iconSize
|
|
43
43
|
});
|
|
44
44
|
}
|
|
@@ -20,7 +20,7 @@ export default function Header(props) {
|
|
|
20
20
|
onSort = _ref.onSort;
|
|
21
21
|
var sortIcon = /*#__PURE__*/React.createElement(SortIcon, {
|
|
22
22
|
size: 20,
|
|
23
|
-
color: 'var( --interaction-
|
|
23
|
+
color: 'var( --interaction-neutral-normal)'
|
|
24
24
|
});
|
|
25
25
|
if (sortOrder === 'ascend') {
|
|
26
26
|
sortIcon = /*#__PURE__*/React.createElement(SortAscIcon, {
|
package/dist/Table/index.js
CHANGED
|
@@ -275,7 +275,7 @@ function Table(props, ref) {
|
|
|
275
275
|
onRowClick(rowData, rowIndex);
|
|
276
276
|
};
|
|
277
277
|
}, [onRowClick]);
|
|
278
|
-
var isShowPagination = !!(pagination && pagination.total > pagination.pageSize);
|
|
278
|
+
var isShowPagination = !!(pagination && (pagination.total > pagination.pageSize || pagination.showSizeChanger));
|
|
279
279
|
var isShowRowSelection = rowSelectionInfo.isShowRowSelectionInFooter;
|
|
280
280
|
var isShowFooter = isShowPagination || isShowRowSelection;
|
|
281
281
|
|
|
@@ -223,13 +223,13 @@
|
|
|
223
223
|
.ald-table-tr {
|
|
224
224
|
&.ald-table-row-hover {
|
|
225
225
|
.ald-table-td {
|
|
226
|
-
background-color: var(--
|
|
226
|
+
background-color: var(--interaction-ghost-hover);
|
|
227
227
|
}
|
|
228
228
|
}
|
|
229
229
|
|
|
230
230
|
&.ald-table-row-dragging {
|
|
231
231
|
.ald-table-td {
|
|
232
|
-
background-color: var(--
|
|
232
|
+
background-color: var(--interaction-ghost-hover);
|
|
233
233
|
}
|
|
234
234
|
}
|
|
235
235
|
}
|
|
@@ -33,7 +33,7 @@
|
|
|
33
33
|
height: @checkbox-size;
|
|
34
34
|
direction: ltr;
|
|
35
35
|
background-color: @checkbox-check-bg;
|
|
36
|
-
border: 1px solid var(--
|
|
36
|
+
border: 1px solid var(--interaction-border-neutral-normal);
|
|
37
37
|
border-radius: @checkbox-border-radius;
|
|
38
38
|
border-collapse: separate;
|
|
39
39
|
transition: all 0.3s;
|
|
@@ -59,11 +59,11 @@
|
|
|
59
59
|
}
|
|
60
60
|
|
|
61
61
|
&:hover {
|
|
62
|
-
border-color: var(--
|
|
62
|
+
border-color: var(--interaction-border-hover);
|
|
63
63
|
}
|
|
64
64
|
|
|
65
65
|
&:active {
|
|
66
|
-
border-color: var(--
|
|
66
|
+
border-color: var(--interaction-border-neutral-normal);
|
|
67
67
|
background-color: var(--alias-colors-bg-skeleton-strong);
|
|
68
68
|
}
|
|
69
69
|
}
|