@aloudata/aloudata-design 2.10.4 → 2.10.6

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.
@@ -94,7 +94,8 @@ var DataPreviewTable = /*#__PURE__*/forwardRef(function (props, ref) {
94
94
  }, /*#__PURE__*/React.createElement("div", {
95
95
  style: {
96
96
  height: dataStatus === 'pending' ? skeletonRows * CELL_HEIGHT + realHeaderHeight : contentHeight,
97
- position: 'relative'
97
+ position: 'relative',
98
+ width: 'fit-content'
98
99
  }
99
100
  }, /*#__PURE__*/React.createElement("div", {
100
101
  className: "ald-data-preview-sticky"
@@ -2,25 +2,25 @@ import { DatePicker as AntdDatePicker, DatePickerProps as AntdDatePickerProps }
2
2
  import { Dayjs } from 'dayjs';
3
3
  export type { RangeValue } from 'rc-picker/lib/interface';
4
4
  declare const DatePicker: import("antd/es/date-picker/generatePicker/interface").PickerComponentClass<import("antd/es/date-picker/generatePicker").PickerProps<Dayjs> & {
5
- status?: "" | "error" | "warning" | undefined;
5
+ status?: "" | "warning" | "error" | undefined;
6
6
  hashId?: string | undefined;
7
7
  popupClassName?: string | undefined;
8
8
  rootClassName?: string | undefined;
9
9
  }, unknown> & {
10
10
  WeekPicker: import("antd/es/date-picker/generatePicker/interface").PickerComponentClass<Omit<import("antd/es/date-picker/generatePicker").PickerProps<Dayjs> & {
11
- status?: "" | "error" | "warning" | undefined;
11
+ status?: "" | "warning" | "error" | undefined;
12
12
  hashId?: string | undefined;
13
13
  popupClassName?: string | undefined;
14
14
  rootClassName?: string | undefined;
15
15
  }, "picker">, unknown>;
16
16
  MonthPicker: import("antd/es/date-picker/generatePicker/interface").PickerComponentClass<Omit<import("antd/es/date-picker/generatePicker").PickerProps<Dayjs> & {
17
- status?: "" | "error" | "warning" | undefined;
17
+ status?: "" | "warning" | "error" | undefined;
18
18
  hashId?: string | undefined;
19
19
  popupClassName?: string | undefined;
20
20
  rootClassName?: string | undefined;
21
21
  }, "picker">, unknown>;
22
22
  YearPicker: import("antd/es/date-picker/generatePicker/interface").PickerComponentClass<Omit<import("antd/es/date-picker/generatePicker").PickerProps<Dayjs> & {
23
- status?: "" | "error" | "warning" | undefined;
23
+ status?: "" | "warning" | "error" | undefined;
24
24
  hashId?: string | undefined;
25
25
  popupClassName?: string | undefined;
26
26
  rootClassName?: string | undefined;
@@ -34,9 +34,9 @@ declare const DatePicker: import("antd/es/date-picker/generatePicker/interface")
34
34
  size?: import("antd/es/button").ButtonSize;
35
35
  placement?: "bottomLeft" | "bottomRight" | "topLeft" | "topRight" | undefined;
36
36
  bordered?: boolean | undefined;
37
- status?: "" | "error" | "warning" | undefined;
37
+ status?: "" | "warning" | "error" | undefined;
38
38
  } & {
39
- status?: "" | "error" | "warning" | undefined;
39
+ status?: "" | "warning" | "error" | undefined;
40
40
  hashId?: string | undefined;
41
41
  popupClassName?: string | undefined;
42
42
  rootClassName?: string | undefined;
@@ -46,9 +46,9 @@ declare const DatePicker: import("antd/es/date-picker/generatePicker/interface")
46
46
  size?: import("antd/es/button").ButtonSize;
47
47
  placement?: "bottomLeft" | "bottomRight" | "topLeft" | "topRight" | undefined;
48
48
  bordered?: boolean | undefined;
49
- status?: "" | "error" | "warning" | undefined;
49
+ status?: "" | "warning" | "error" | undefined;
50
50
  } & {
51
- status?: "" | "error" | "warning" | undefined;
51
+ status?: "" | "warning" | "error" | undefined;
52
52
  hashId?: string | undefined;
53
53
  popupClassName?: string | undefined;
54
54
  rootClassName?: string | undefined;
@@ -5,6 +5,6 @@ declare const DoubleCircleIcon: (props: {
5
5
  size?: number | undefined;
6
6
  innerColor?: string | undefined;
7
7
  children: React.ReactNode;
8
- type?: "success" | "error" | "info" | "warning" | undefined;
8
+ type?: "warning" | "error" | "success" | "info" | undefined;
9
9
  }) => React.JSX.Element;
10
10
  export default DoubleCircleIcon;
@@ -18,7 +18,7 @@ interface IFormItemProps extends FormItemProps {
18
18
  declare const AldFormItem: {
19
19
  (props: IFormItemProps): React.JSX.Element;
20
20
  useStatus: () => {
21
- status?: "" | "success" | "error" | "warning" | "validating" | undefined;
21
+ status?: "" | "warning" | "error" | "success" | "validating" | undefined;
22
22
  errors: React.ReactNode[];
23
23
  warnings: React.ReactNode[];
24
24
  };
@@ -11,5 +11,7 @@ interface IMemberSelectionProps {
11
11
  width: number;
12
12
  lockedIds: Array<TUserValue | TUserGroupValue>;
13
13
  }
14
+ export declare const OPTION_HEIGHT = 36;
15
+ export declare const WRAPPER_HEIGHT = 300;
14
16
  export default function MemberSelection(props: IMemberSelectionProps): React.JSX.Element;
15
17
  export {};
@@ -4,18 +4,20 @@ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o =
4
4
  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; }
5
5
  function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
6
6
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
7
+ import { useVirtualizer } from '@tanstack/react-virtual';
7
8
  import classNames from 'classnames';
8
9
  import _ from 'lodash';
9
10
  import React, { useDeferredValue, useEffect, useState } from 'react';
10
11
  import Empty from "../../Empty";
11
12
  import { SearchLine } from "../../Icon";
12
13
  import Input from "../../Input";
13
- import ScrollArea from "../../ScrollArea";
14
14
  import Spin from "../../Spin";
15
15
  import { isUser } from "../utils/getUsersWithUserId";
16
16
  import MultipleOption from "./MultipleOption";
17
17
  import { userDisplayNameIsRepeated } from "./Panel";
18
18
  import SingleOption from "./SingleOption";
19
+ export var OPTION_HEIGHT = 36;
20
+ export var WRAPPER_HEIGHT = 300;
19
21
  export default function MemberSelection(props) {
20
22
  var className = props.className,
21
23
  userList = props.userList,
@@ -26,6 +28,18 @@ export default function MemberSelection(props) {
26
28
  loading = props.loading,
27
29
  width = props.width,
28
30
  lockedIds = props.lockedIds;
31
+ var parentRef = React.useRef(null);
32
+
33
+ // The virtualizer
34
+ var rowVirtualizer = useVirtualizer({
35
+ count: userList.length,
36
+ getScrollElement: function getScrollElement() {
37
+ return parentRef.current;
38
+ },
39
+ estimateSize: function estimateSize() {
40
+ return OPTION_HEIGHT;
41
+ }
42
+ });
29
43
  var _useState = useState(''),
30
44
  _useState2 = _slicedToArray(_useState, 2),
31
45
  searchValue = _useState2[0],
@@ -59,18 +73,27 @@ export default function MemberSelection(props) {
59
73
  spinning: loading,
60
74
  size: "small",
61
75
  className: "ald-member-picker-user-list"
62
- }, /*#__PURE__*/React.createElement(ScrollArea, {
76
+ }, /*#__PURE__*/React.createElement("div", {
77
+ ref: parentRef,
78
+ style: {
79
+ height: WRAPPER_HEIGHT,
80
+ overflowY: 'auto',
81
+ overflowX: 'hidden'
82
+ },
63
83
  className: classNames('ald-member-picker-member-list', {
64
84
  'ald-member-picker-member-list-null': userList.length === 0 && !loading
65
- }),
66
- innerClassName: "ald-member-picker-member-scroll"
85
+ })
86
+ // innerClassName="ald-member-picker-member-scroll"
67
87
  }, /*#__PURE__*/React.createElement("div", {
68
88
  className: "ald-member-picker-member-list-inner",
69
89
  style: {
70
90
  width: multiple ? width : undefined,
71
- overflow: 'hidden'
91
+ overflow: 'hidden',
92
+ position: 'relative',
93
+ height: "".concat(rowVirtualizer.getTotalSize(), "px")
72
94
  }
73
- }, userList.map(function (user) {
95
+ }, rowVirtualizer.getVirtualItems().map(function (virtualItem) {
96
+ var user = userList[virtualItem.index];
74
97
  var isSelected = selectedUsers.some(function (selectedUser) {
75
98
  return selectedUser.userId === user.userId;
76
99
  });
@@ -79,7 +102,17 @@ export default function MemberSelection(props) {
79
102
  type: user.type
80
103
  });
81
104
  var disabled = index !== -1;
82
- return multiple ? /*#__PURE__*/React.createElement(MultipleOption, {
105
+ return /*#__PURE__*/React.createElement("div", {
106
+ key: virtualItem.key,
107
+ style: {
108
+ position: 'absolute',
109
+ top: 0,
110
+ left: 0,
111
+ width: '100%',
112
+ height: "".concat(virtualItem.size, "px"),
113
+ transform: "translateY(".concat(virtualItem.start, "px)")
114
+ }
115
+ }, multiple ? /*#__PURE__*/React.createElement(MultipleOption, {
83
116
  key: user.userId,
84
117
  user: user,
85
118
  disabled: disabled,
@@ -96,6 +129,6 @@ export default function MemberSelection(props) {
96
129
  onChange: function onChange(selected, user) {
97
130
  if (isUser(user)) _onChange(selected, user);
98
131
  }
99
- });
132
+ }));
100
133
  })))));
101
134
  }
@@ -41,10 +41,11 @@ export default function MultipleList(params) {
41
41
  id: getId(user),
42
42
  name: user.name,
43
43
  photo: getPhoto(user),
44
- account: getAccount(user)
45
- }), showUserId && user.type === EUserType.USER && /*#__PURE__*/React.createElement("div", {
46
- className: 'ald-member-picker-option-id'
47
- }, user.userId))), isUserGroup(user) && hasNextLevel && /*#__PURE__*/React.createElement(TextLink, {
44
+ account: getAccount(user),
45
+ addonBefore: showUserId && user.type === EUserType.USER && /*#__PURE__*/React.createElement("span", {
46
+ className: 'ald-member-picker-option-id'
47
+ }, user.userId)
48
+ }))), isUserGroup(user) && hasNextLevel && /*#__PURE__*/React.createElement(TextLink, {
48
49
  className: "ald-member-picker-btn",
49
50
  size: "small",
50
51
  disabled: disabled,
@@ -1,11 +1,12 @@
1
1
  import { EUserType } from "../../ConfigProvider/getUserList";
2
- import React from 'react';
2
+ import React, { ReactNode } from 'react';
3
3
  interface INickLabelProps {
4
4
  name?: string;
5
5
  id: string;
6
6
  photo?: React.ReactNode;
7
7
  account?: string;
8
8
  type: EUserType;
9
+ addonBefore?: ReactNode;
9
10
  }
10
11
  declare const _default: React.NamedExoticComponent<INickLabelProps>;
11
12
  export default _default;
@@ -7,7 +7,8 @@ var NickLabel = function NickLabel(_ref) {
7
7
  name = _ref.name,
8
8
  id = _ref.id,
9
9
  account = _ref.account,
10
- type = _ref.type;
10
+ type = _ref.type,
11
+ addonBefore = _ref.addonBefore;
11
12
  var innerName = name || id;
12
13
  var photoSrc = !photo && type === EUserType.USER_GROUP ? /*#__PURE__*/React.createElement(UserGroup, {
13
14
  size: 20
@@ -21,6 +22,6 @@ var NickLabel = function NickLabel(_ref) {
21
22
  }, innerName), /*#__PURE__*/React.createElement("div", {
22
23
  className: "ald-member-picker-nick-label-name",
23
24
  title: account ? "".concat(name, "(").concat(account, ")") : "".concat(name)
24
- }, innerName));
25
+ }, innerName, addonBefore));
25
26
  };
26
27
  export default /*#__PURE__*/memo(NickLabel);
@@ -54,10 +54,11 @@ export default function SelectedMemberTags(props) {
54
54
  id: getId(user),
55
55
  name: user.name,
56
56
  photo: getPhoto(user),
57
- account: getAccount(user)
58
- }), isDisplayNameRepeat && user.type === 'USER' && /*#__PURE__*/React.createElement("div", {
59
- className: "ald-member-picker-option-id"
60
- }, user.userId)), !hasLocked && /*#__PURE__*/React.createElement(CloseMLine, {
57
+ account: getAccount(user),
58
+ addonBefore: isDisplayNameRepeat && user.type === 'USER' && /*#__PURE__*/React.createElement("span", {
59
+ className: "ald-member-picker-option-id"
60
+ }, user.userId)
61
+ })), !hasLocked && /*#__PURE__*/React.createElement(CloseMLine, {
61
62
  size: 20,
62
63
  className: 'ald-member-picker-close',
63
64
  color: "#98A2B3",
@@ -35,10 +35,11 @@ export default function SingleOption(params) {
35
35
  id: getId(user),
36
36
  name: user.name,
37
37
  photo: getPhoto(user),
38
- account: getAccount(user)
39
- }), showUserId && user.type === EUserType.USER && /*#__PURE__*/React.createElement("div", {
40
- className: 'ald-member-picker-option-id'
41
- }, user.userId))), isUserGroup(user) && hasNextLevel && /*#__PURE__*/React.createElement(TextLink, {
38
+ account: getAccount(user),
39
+ addonBefore: showUserId && user.type === EUserType.USER && /*#__PURE__*/React.createElement("span", {
40
+ className: 'ald-member-picker-option-id'
41
+ }, user.userId)
42
+ }))), isUserGroup(user) && hasNextLevel && /*#__PURE__*/React.createElement(TextLink, {
42
43
  className: "ald-member-picker-btn",
43
44
  size: "small",
44
45
  disabled: disabled,
@@ -14,7 +14,7 @@ function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefine
14
14
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
15
15
  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; }
16
16
  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; }
17
- import { useRequest } from 'ahooks';
17
+ import { usePrevious, useRequest } from 'ahooks';
18
18
  import classNames from 'classnames';
19
19
  import _ from 'lodash';
20
20
  import React, { useCallback, useEffect, useMemo, useRef, useState } from 'react';
@@ -57,6 +57,7 @@ var Component = function Component(_ref) {
57
57
  _useState2 = _slicedToArray(_useState, 2),
58
58
  selectedUserList = _useState2[0],
59
59
  setSelectedUserList = _useState2[1];
60
+ var prevValue = usePrevious(value);
60
61
  var _useState3 = useState([]),
61
62
  _useState4 = _slicedToArray(_useState3, 2),
62
63
  searchUserList = _useState4[0],
@@ -131,6 +132,9 @@ var Component = function Component(_ref) {
131
132
  run();
132
133
  }, [dropdownOpen, run, searchString]);
133
134
  useEffect(function () {
135
+ if (_.isEqual(value, prevValue)) {
136
+ return;
137
+ }
134
138
  if (Array.isArray(value) && (isUser(value[0]) || isUserGroup(value[0]))) {
135
139
  setSelectedUserList(value);
136
140
  } else if (isUser(value) || isUserGroup(value)) {
@@ -205,13 +205,9 @@
205
205
  }
206
206
 
207
207
  .ald-member-picker-option-id {
208
- max-width: 50%;
209
- white-space: nowrap; /* 防止内容换行,保持内容长度 */
210
- text-overflow: ellipsis;
211
- overflow: hidden;
212
208
  color: var(--alias-colors-text-subtle, #4b5563);
213
209
  font-size: 12px;
214
- line-height: 16px; /* 133.333% */
210
+ margin-left: 4px;
215
211
  }
216
212
 
217
213
  .ald-member-picker-trigger {
@@ -281,6 +277,7 @@
281
277
  }
282
278
 
283
279
  .ald-member-picker-nick-label-name {
280
+ flex: 1;
284
281
  color: var(--alias-colors-text-default, #1f2937);
285
282
  font-size: 14px;
286
283
  font-weight: 400;
@@ -288,7 +285,6 @@
288
285
  white-space: nowrap;
289
286
  text-overflow: ellipsis;
290
287
  overflow: hidden;
291
- max-width: 130px;
292
288
  }
293
289
  }
294
290
 
@@ -51,7 +51,7 @@
51
51
  display: flex;
52
52
  align-items: center;
53
53
  flex-direction: row-reverse;
54
- justify-content: start;
54
+ justify-content: flex-start;
55
55
  }
56
56
  }
57
57
  }
@@ -1,4 +1,4 @@
1
1
  import React from 'react';
2
2
  import { IRadioGroupProps } from '../../interface/radioGroup';
3
- export declare const RadioGroupContext: React.Context<Omit<IRadioGroupProps, "children" | "className">>;
3
+ export declare const RadioGroupContext: React.Context<Omit<IRadioGroupProps, "className" | "children">>;
4
4
  export default function RadioGroup(props: IRadioGroupProps): React.JSX.Element;
@@ -20,7 +20,7 @@
20
20
  display: inline-flex;
21
21
  gap: 4px;
22
22
  align-items: center;
23
- justify-content: start;
23
+ justify-content: flex-start;
24
24
  height: 20px;
25
25
  padding: 0;
26
26
  cursor: pointer;
@@ -21,7 +21,7 @@ export declare function getTableColumns<TDataItem extends object>({ columns, tot
21
21
  render?: ((text: any, record: TDataItem, rowIndex: number) => import("react").ReactNode) | undefined;
22
22
  ellipsis?: boolean | undefined;
23
23
  noPadding?: boolean | undefined;
24
- align?: "left" | "center" | "right" | undefined;
24
+ align?: "center" | "left" | "right" | undefined;
25
25
  fixed?: "left" | "right" | undefined;
26
26
  sortOrder?: "ascend" | "descend" | null | undefined;
27
27
  };
@@ -148,10 +148,8 @@
148
148
  }
149
149
  }
150
150
 
151
- &.ald-tabs-compact {
152
- .ant-tabs-nav {
153
- margin-bottom: 0;
154
- }
151
+ &.ald-tabs-compact > .ant-tabs-nav {
152
+ margin-bottom: 0;
155
153
  }
156
154
  }
157
155