@aloudata/aloudata-design 1.9.16 → 1.10.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.
Files changed (159) hide show
  1. package/dist/Button/style/type.less +1 -1
  2. package/dist/Checkbox/style/index.less +35 -9
  3. package/dist/ConfigProvider/getUserList.d.ts +13 -1
  4. package/dist/ConfigProvider/getUserList.js +5 -0
  5. package/dist/Icon/components/AlertTriangleDuotone.d.ts +3 -2
  6. package/dist/Icon/components/AlertTriangleDuotone.js +3 -3
  7. package/dist/Icon/components/CancelCircleDuotone.d.ts +3 -2
  8. package/dist/Icon/components/CancelCircleDuotone.js +4 -4
  9. package/dist/Icon/components/CheckCircleDuotone.d.ts +3 -2
  10. package/dist/Icon/components/CheckCircleDuotone.js +4 -4
  11. package/dist/Icon/components/ChevronDownLine.d.ts +3 -2
  12. package/dist/Icon/components/ChevronDownLine.js +3 -3
  13. package/dist/Icon/components/ChevronLeftLine.d.ts +3 -2
  14. package/dist/Icon/components/ChevronLeftLine.js +3 -3
  15. package/dist/Icon/components/ChevronRightLine.d.ts +3 -2
  16. package/dist/Icon/components/ChevronRightLine.js +3 -3
  17. package/dist/Icon/components/CloseLLine.d.ts +3 -2
  18. package/dist/Icon/components/CloseLLine.js +4 -4
  19. package/dist/Icon/components/CloseMLine.d.ts +3 -2
  20. package/dist/Icon/components/CloseMLine.js +3 -3
  21. package/dist/Icon/components/DragLine.d.ts +11 -0
  22. package/dist/Icon/components/DragLine.js +35 -0
  23. package/dist/Icon/components/EyeOffLine.d.ts +3 -2
  24. package/dist/Icon/components/EyeOffLine.js +3 -3
  25. package/dist/Icon/components/EyeOnLine.d.ts +3 -2
  26. package/dist/Icon/components/EyeOnLine.js +3 -3
  27. package/dist/Icon/components/FoldDownFill.d.ts +3 -2
  28. package/dist/Icon/components/FoldDownFill.js +4 -4
  29. package/dist/Icon/components/FoldUpFill.d.ts +3 -2
  30. package/dist/Icon/components/FoldUpFill.js +4 -4
  31. package/dist/Icon/components/InfoCircleDuotone.d.ts +3 -2
  32. package/dist/Icon/components/InfoCircleDuotone.js +3 -3
  33. package/dist/Icon/components/InfoCircleLine.d.ts +3 -2
  34. package/dist/Icon/components/InfoCircleLine.js +3 -3
  35. package/dist/Icon/components/LoadingLine.d.ts +3 -2
  36. package/dist/Icon/components/LoadingLine.js +3 -3
  37. package/dist/Icon/components/MoreVerticalLine.d.ts +3 -2
  38. package/dist/Icon/components/MoreVerticalLine.js +3 -3
  39. package/dist/Icon/components/SearchLine.d.ts +3 -2
  40. package/dist/Icon/components/SearchLine.js +3 -3
  41. package/dist/Icon/index.d.ts +1 -0
  42. package/dist/Icon/index.js +1 -0
  43. package/dist/Icon/svg/drag-line.svg +5 -0
  44. package/dist/MemberPicker/components/MemberSelection.d.ts +1 -1
  45. package/dist/MemberPicker/components/MemberSelection.js +8 -3
  46. package/dist/MemberPicker/components/MultipleOption.d.ts +5 -2
  47. package/dist/MemberPicker/components/MultipleOption.js +20 -5
  48. package/dist/MemberPicker/components/NickLabel.d.ts +3 -3
  49. package/dist/MemberPicker/components/NickLabel.js +6 -6
  50. package/dist/MemberPicker/components/Panel.d.ts +7 -4
  51. package/dist/MemberPicker/components/Panel.js +70 -20
  52. package/dist/MemberPicker/components/PanelWrapper.d.ts +14 -0
  53. package/dist/MemberPicker/components/PanelWrapper.js +126 -0
  54. package/dist/MemberPicker/components/SelectedMemberTags.d.ts +3 -2
  55. package/dist/MemberPicker/components/SelectedMemberTags.js +8 -5
  56. package/dist/MemberPicker/components/SelectorFooter.js +1 -1
  57. package/dist/MemberPicker/components/SingleOption.d.ts +3 -2
  58. package/dist/MemberPicker/components/SingleOption.js +7 -4
  59. package/dist/MemberPicker/components/UserGroupSelection.d.ts +14 -0
  60. package/dist/MemberPicker/components/UserGroupSelection.js +130 -0
  61. package/dist/MemberPicker/index.d.ts +2 -0
  62. package/dist/MemberPicker/index.js +28 -17
  63. package/dist/MemberPicker/interface.d.ts +11 -5
  64. package/dist/MemberPicker/interface.js +6 -1
  65. package/dist/MemberPicker/style/index.less +18 -3
  66. package/dist/MemberPicker/utils/getUsersWithUserId.d.ts +4 -0
  67. package/dist/MemberPicker/utils/getUsersWithUserId.js +23 -2
  68. package/dist/MemberPicker/utils/index.d.ts +6 -0
  69. package/dist/MemberPicker/utils/index.js +16 -0
  70. package/dist/Modal/index.js +1 -1
  71. package/dist/Radio/style/index.less +1 -1
  72. package/dist/ScrollArea/index.d.ts +1 -0
  73. package/dist/ScrollArea/index.js +6 -3
  74. package/dist/Table/components/Cell.d.ts +7 -0
  75. package/dist/Table/components/Cell.js +20 -0
  76. package/dist/Table/components/Header.d.ts +6 -0
  77. package/dist/Table/components/Header.js +19 -0
  78. package/dist/{AldTable → Table}/helper.d.ts +9 -2
  79. package/dist/Table/helper.js +121 -0
  80. package/dist/Table/hooks/useScroll.d.ts +26 -0
  81. package/dist/Table/hooks/useScroll.js +57 -0
  82. package/dist/Table/index.d.ts +3 -1
  83. package/dist/Table/index.js +176 -1
  84. package/dist/Table/style/index.less +106 -203
  85. package/dist/{AldTable → Table}/types.d.ts +5 -4
  86. package/dist/Tree/DirectoryTree.d.ts +20 -0
  87. package/dist/Tree/DirectoryTree.js +175 -0
  88. package/dist/Tree/Tree.d.ts +136 -0
  89. package/dist/Tree/Tree.js +130 -0
  90. package/dist/Tree/demo/basic/index.js +3 -2
  91. package/dist/Tree/demo/drag/index.d.ts +3 -0
  92. package/dist/Tree/demo/drag/index.js +52 -0
  93. package/dist/Tree/index.d.ts +19 -13
  94. package/dist/Tree/index.js +7 -17
  95. package/dist/Tree/style/checkbox.less +226 -0
  96. package/dist/Tree/style/directory.less +68 -0
  97. package/dist/Tree/style/index.less +68 -29
  98. package/dist/Tree/style/mixin.less +333 -0
  99. package/dist/Tree/style/reset.less +11 -0
  100. package/dist/Tree/style/rtl.less +68 -0
  101. package/dist/Tree/style/var.less +42 -0
  102. package/dist/Tree/utils/dictUtil.d.ts +9 -0
  103. package/dist/Tree/utils/dictUtil.js +74 -0
  104. package/dist/Tree/utils/dropIndicator.d.ts +9 -0
  105. package/dist/Tree/utils/dropIndicator.js +35 -0
  106. package/dist/Tree/utils/iconUtil.d.ts +5 -0
  107. package/dist/Tree/utils/iconUtil.js +63 -0
  108. package/dist/_utils/motion.d.ts +8 -0
  109. package/dist/_utils/motion.js +52 -0
  110. package/dist/_utils/reactNode.d.ts +8 -0
  111. package/dist/_utils/reactNode.js +15 -0
  112. package/dist/_utils/type.d.ts +9 -0
  113. package/dist/_utils/type.js +20 -0
  114. package/dist/index.d.ts +11 -13
  115. package/dist/index.js +6 -7
  116. package/dist/style/color/bezierEasing.less +110 -0
  117. package/dist/style/color/colorPalette.less +84 -0
  118. package/dist/style/color/colors.less +162 -0
  119. package/dist/style/color/tinyColor.less +1184 -0
  120. package/dist/style/core/index.less +2 -0
  121. package/dist/style/core/motion/fade.less +34 -0
  122. package/dist/style/core/motion/move.less +129 -0
  123. package/dist/style/core/motion/other.less +48 -0
  124. package/dist/style/core/motion/slide.less +131 -0
  125. package/dist/style/core/motion/zoom.less +179 -0
  126. package/dist/style/core/motion.less +22 -0
  127. package/dist/style/index.less +2 -0
  128. package/dist/style/mixins/index.less +1 -0
  129. package/dist/style/mixins/motion.less +33 -0
  130. package/dist/style/themes/default/default.less +24 -0
  131. package/dist/style/themes/default/index.less +1 -0
  132. package/package.json +2 -2
  133. package/dist/AldTable/helper.js +0 -109
  134. package/dist/AldTable/index.d.ts +0 -4
  135. package/dist/AldTable/index.js +0 -146
  136. package/dist/AldTable/style/index.d.ts +0 -2
  137. package/dist/AldTable/style/index.js +0 -2
  138. package/dist/AldTable/style/index.less +0 -135
  139. package/dist/Table/Table.d.ts +0 -6
  140. package/dist/Table/Table.js +0 -360
  141. package/dist/Table/components/Empty/index.d.ts +0 -3
  142. package/dist/Table/components/Empty/index.js +0 -14
  143. package/dist/Table/components/Loading/index.d.ts +0 -3
  144. package/dist/Table/components/Loading/index.js +0 -12
  145. package/dist/Table/components/TableBodyRowList/index.d.ts +0 -13
  146. package/dist/Table/components/TableBodyRowList/index.js +0 -75
  147. package/dist/Table/components/TableHead/index.d.ts +0 -23
  148. package/dist/Table/components/TableHead/index.js +0 -229
  149. package/dist/Table/constant.d.ts +0 -0
  150. package/dist/Table/constant.js +0 -0
  151. package/dist/Table/hooks/useFrame.d.ts +0 -7
  152. package/dist/Table/hooks/useFrame.js +0 -75
  153. package/dist/Table/interface.d.ts +0 -42
  154. package/dist/Table/interface.js +0 -1
  155. package/dist/Table/react-table-config.d.ts +0 -122
  156. package/dist/Table/style/variable.less +0 -4
  157. package/dist/Table/utils.d.ts +0 -15
  158. package/dist/Table/utils.js +0 -122
  159. /package/dist/{AldTable → Table}/types.js +0 -0
@@ -0,0 +1,126 @@
1
+ function _objectDestructuringEmpty(obj) { if (obj == null) throw new TypeError("Cannot destructure " + obj); }
2
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
3
+ 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."); }
4
+ 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); }
5
+ 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; }
6
+ 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; } }
7
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
8
+ import { message } from "../..";
9
+ import ConfigProvider from "../../ConfigProvider";
10
+ import { useRequest } from 'ahooks';
11
+ import _ from 'lodash';
12
+ import React, { useCallback, useEffect, useMemo, useState } from 'react';
13
+ import { isUser, isUserGroup } from "../utils/getUsersWithUserId";
14
+ import Panel from "./Panel";
15
+ export var PanelWrapper = function PanelWrapper(_ref) {
16
+ var type = _ref.type,
17
+ value = _ref.value,
18
+ multiple = _ref.multiple,
19
+ dropdownWidth = _ref.dropdownWidth,
20
+ onChange = _ref.onChange,
21
+ onCancel = _ref.onCancel,
22
+ className = _ref.className;
23
+ var _ConfigProvider$useGe = ConfigProvider.useGetUserList(),
24
+ getUsersByIds = _ConfigProvider$useGe.getUsersByIds,
25
+ getUsersByKeywords = _ConfigProvider$useGe.getUsersByKeywords;
26
+ var _useState = useState([]),
27
+ _useState2 = _slicedToArray(_useState, 2),
28
+ selectedUserList = _useState2[0],
29
+ setSelectedUserList = _useState2[1];
30
+ var _useState3 = useState([]),
31
+ _useState4 = _slicedToArray(_useState3, 2),
32
+ searchUserList = _useState4[0],
33
+ setSearchUserList = _useState4[1];
34
+ var _useState5 = useState(''),
35
+ _useState6 = _slicedToArray(_useState5, 2),
36
+ searchString = _useState6[0],
37
+ setSearchString = _useState6[1];
38
+ var onSearchValueChange = useCallback(function (v) {
39
+ setSearchString(v);
40
+ }, []);
41
+ var queryByKeywords = useMemo(function () {
42
+ if (getUsersByKeywords) {
43
+ return getUsersByKeywords;
44
+ }
45
+ return function (_ref2) {
46
+ _objectDestructuringEmpty(_ref2);
47
+ return Promise.reject({
48
+ message: '请在ConfigProvider中配置getUsersByKeywords方法'
49
+ });
50
+ };
51
+ }, [getUsersByKeywords]);
52
+ var queryByIds = useMemo(function () {
53
+ if (getUsersByIds) {
54
+ return getUsersByIds;
55
+ }
56
+ return function (_ref3) {
57
+ _objectDestructuringEmpty(_ref3);
58
+ return Promise.reject({
59
+ message: '请在ConfigProvider中配置getUsersByIds方法'
60
+ });
61
+ };
62
+ }, [getUsersByIds]);
63
+ var _useRequest = useRequest(function () {
64
+ return queryByKeywords(searchString);
65
+ }, {
66
+ refreshDeps: [searchString],
67
+ manual: true,
68
+ cacheKey: 'member-selector',
69
+ cacheTime: 1000 * 60 * 2,
70
+ // 2分钟内不重复请求
71
+ onSuccess: function onSuccess(result) {
72
+ setSearchUserList(result);
73
+ },
74
+ onError: function onError(error) {
75
+ message.error(error.message);
76
+ }
77
+ }),
78
+ loading = _useRequest.loading,
79
+ run = _useRequest.run;
80
+ var totalUserList = useMemo(function () {
81
+ var totalUsers = searchUserList.concat(selectedUserList);
82
+ return _.uniqBy(totalUsers, 'userId');
83
+ }, [searchUserList, selectedUserList]);
84
+ useEffect(function () {
85
+ run();
86
+ }, [run, searchString]);
87
+ useEffect(function () {
88
+ if (Array.isArray(value) && (isUser(value[0]) || isUserGroup(value[0]))) {
89
+ setSelectedUserList(value);
90
+ } else if (isUser(value) || isUserGroup(value)) {
91
+ setSelectedUserList([value]);
92
+ } else {
93
+ var id = [];
94
+ if (!value) return;
95
+ if (Array.isArray(value) && value.length === 0) return;
96
+ if (!Array.isArray(value)) {
97
+ id = [value];
98
+ } else {
99
+ id = value;
100
+ }
101
+ queryByIds(id).then(function (result) {
102
+ setSelectedUserList(result);
103
+ });
104
+ }
105
+ }, [value, queryByIds]);
106
+ var onSelectedChange = useCallback(function (users) {
107
+ if (multiple) {
108
+ onChange === null || onChange === void 0 ? void 0 : onChange(users);
109
+ } else {
110
+ onChange === null || onChange === void 0 ? void 0 : onChange(users[0]);
111
+ }
112
+ }, [multiple, onChange]);
113
+ return /*#__PURE__*/React.createElement(Panel, {
114
+ type: type,
115
+ value: selectedUserList,
116
+ dataList: totalUserList,
117
+ multiple: multiple,
118
+ loading: loading,
119
+ dropdownWidth: dropdownWidth,
120
+ onSearchValueChange: onSearchValueChange,
121
+ onChange: onSelectedChange,
122
+ className: className,
123
+ onCancel: onCancel
124
+ });
125
+ };
126
+ export default PanelWrapper;
@@ -1,9 +1,10 @@
1
1
  import React from 'react';
2
+ import { IUserGroup, TUser } from '../../ConfigProvider/getUserList';
2
3
  import { IUser } from '../interface';
3
4
  interface ISelectedMemberTagsProps {
4
5
  className?: string;
5
- selectedUsers: IUser[];
6
- onRemove?: (user: IUser) => void;
6
+ selectedUsers: TUser;
7
+ onRemove?: (user: IUser | IUserGroup) => void;
7
8
  width: number;
8
9
  }
9
10
  export default function SelectedMemberTags(props: ISelectedMemberTagsProps): React.JSX.Element;
@@ -1,8 +1,8 @@
1
- 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); }
2
1
  import classNames from 'classnames';
3
2
  import React from 'react';
4
3
  import { CloseMLine } from "../../Icon";
5
4
  import ScrollArea from "../../ScrollArea";
5
+ import { getAccount, getId, getPhoto } from "../utils";
6
6
  import NickLabel from "./NickLabel";
7
7
  export default function SelectedMemberTags(props) {
8
8
  var className = props.className,
@@ -25,10 +25,13 @@ export default function SelectedMemberTags(props) {
25
25
  }, selectedUsers.map(function (user) {
26
26
  return /*#__PURE__*/React.createElement("div", {
27
27
  className: 'ald-member-picker-selected-member-tag',
28
- key: user.userId
29
- }, /*#__PURE__*/React.createElement(NickLabel, _extends({}, user, {
30
- src: user.photo
31
- })), /*#__PURE__*/React.createElement(CloseMLine, {
28
+ key: getId(user)
29
+ }, /*#__PURE__*/React.createElement(NickLabel, {
30
+ id: getId(user),
31
+ name: user.name,
32
+ photo: getPhoto(user),
33
+ account: getAccount(user)
34
+ }), /*#__PURE__*/React.createElement(CloseMLine, {
32
35
  size: 20,
33
36
  className: 'ald-member-picker-close',
34
37
  color: "#98A2B3",
@@ -1,6 +1,6 @@
1
- import { Button } from "../..";
2
1
  import classNames from 'classnames';
3
2
  import React from 'react';
3
+ import Button from "../../Button";
4
4
  export default function SelectorFooter(props) {
5
5
  var className = props.className;
6
6
  return /*#__PURE__*/React.createElement("div", {
@@ -1,9 +1,10 @@
1
1
  import React from 'react';
2
+ import { IUserGroup } from '../../ConfigProvider/getUserList';
2
3
  import { IUser } from '../interface';
3
4
  interface ISelectProps {
4
5
  selected: boolean;
5
- user: IUser;
6
- onChange: (selected: boolean, user: IUser) => void;
6
+ user: IUser | IUserGroup;
7
+ onChange: (selected: boolean, user: IUser | IUserGroup) => void;
7
8
  disabled?: boolean;
8
9
  className?: string;
9
10
  }
@@ -1,10 +1,10 @@
1
1
  function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
2
- 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); }
3
2
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
4
3
  function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
5
4
  function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
6
5
  import classnames from 'classnames';
7
6
  import React from 'react';
7
+ import { getAccount, getId, getPhoto } from "../utils";
8
8
  import NickLabel from "./NickLabel";
9
9
  export default function SingleOption(params) {
10
10
  var disabled = params.disabled,
@@ -20,7 +20,10 @@ export default function SingleOption(params) {
20
20
  return /*#__PURE__*/React.createElement("div", {
21
21
  className: classnames('ald-member-picker-option', className, 'ald-member-picker-singleOption', _defineProperty({}, 'ald-member-picker-single-option-selected', selected)),
22
22
  onClick: onClick
23
- }, /*#__PURE__*/React.createElement(NickLabel, _extends({}, user, {
24
- src: user.photo
25
- })));
23
+ }, /*#__PURE__*/React.createElement(NickLabel, {
24
+ id: getId(user),
25
+ name: user.name,
26
+ photo: getPhoto(user),
27
+ account: getAccount(user)
28
+ }));
26
29
  }
@@ -0,0 +1,14 @@
1
+ import React from 'react';
2
+ import { IUserGroup } from '../../ConfigProvider/getUserList';
3
+ interface IProps {
4
+ className?: string;
5
+ userGroupList: IUserGroup[];
6
+ multiple?: boolean;
7
+ onChange: (selected: boolean, userGroup: IUserGroup) => void;
8
+ selectedUsersGroup: IUserGroup[];
9
+ loading: boolean;
10
+ onSearchValueChange?: (value: string) => void;
11
+ width: number;
12
+ }
13
+ declare const UserGroupSelection: ({ className, userGroupList, multiple, onChange, selectedUsersGroup: selectedUsersGroups, onSearchValueChange, loading, width, }: IProps) => React.JSX.Element;
14
+ export default UserGroupSelection;
@@ -0,0 +1,130 @@
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 _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
4
+ function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
5
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
6
+ 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."); }
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
+ 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; }
9
+ 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; } }
10
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
11
+ import { Breadcrumb } from 'antd';
12
+ import classNames from 'classnames';
13
+ import _ from 'lodash';
14
+ import React, { useDeferredValue, useEffect, useState } from 'react';
15
+ import Empty from "../../Empty";
16
+ import { SearchLine } from "../../Icon";
17
+ import Input from "../../Input";
18
+ import ScrollArea from "../../ScrollArea";
19
+ import Spin from "../../Spin";
20
+ import { isUserGroup } from "../utils/getUsersWithUserId";
21
+ import MultipleOption from "./MultipleOption";
22
+ import SingleOption from "./SingleOption";
23
+ var UserGroupSelection = function UserGroupSelection(_ref) {
24
+ var className = _ref.className,
25
+ userGroupList = _ref.userGroupList,
26
+ multiple = _ref.multiple,
27
+ _onChange = _ref.onChange,
28
+ selectedUsersGroups = _ref.selectedUsersGroup,
29
+ onSearchValueChange = _ref.onSearchValueChange,
30
+ loading = _ref.loading,
31
+ width = _ref.width;
32
+ var _useState = useState(''),
33
+ _useState2 = _slicedToArray(_useState, 2),
34
+ searchKey = _useState2[0],
35
+ setSearchKey = _useState2[1];
36
+ var _useState3 = useState([]),
37
+ _useState4 = _slicedToArray(_useState3, 2),
38
+ groupPath = _useState4[0],
39
+ setGroupPath = _useState4[1];
40
+ var deferredSearchValue = useDeferredValue(searchKey);
41
+ useEffect(function () {
42
+ onSearchValueChange === null || onSearchValueChange === void 0 ? void 0 : onSearchValueChange(deferredSearchValue);
43
+ }, [deferredSearchValue, onSearchValueChange]);
44
+ var userGroupListInLevel = userGroupList.filter(function (userGroup) {
45
+ var _$last;
46
+ if (groupPath.length === 0) return !userGroup.parentId;else return userGroup.parentId === ((_$last = _.last(groupPath)) === null || _$last === void 0 ? void 0 : _$last.groupId);
47
+ });
48
+ return /*#__PURE__*/React.createElement("div", {
49
+ className: classNames(className, 'ald-member-picker-member-list-wrap')
50
+ }, /*#__PURE__*/React.createElement(Input, {
51
+ prefix: /*#__PURE__*/React.createElement(SearchLine, {
52
+ size: 16
53
+ }),
54
+ className: 'ald-member-picker-search-input',
55
+ autoFocus: true,
56
+ onChange: function onChange(e) {
57
+ setSearchKey(e.target.value);
58
+ }
59
+ }), userGroupList.length === 0 && !loading && /*#__PURE__*/React.createElement(Empty, {
60
+ title: "\u65E0\u6570\u636E",
61
+ size: "small",
62
+ image: Empty.PRESENTED_IMAGE_SEARCH,
63
+ className: "ald-member-picker-member-list-empty"
64
+ }), groupPath.length !== 0 && /*#__PURE__*/React.createElement(Breadcrumb, null, /*#__PURE__*/React.createElement(Breadcrumb.Item, {
65
+ onClick: function onClick() {
66
+ setGroupPath([]);
67
+ }
68
+ }, "\u7528\u6237\u7EC4"), groupPath.map(function (group) {
69
+ return /*#__PURE__*/React.createElement(Breadcrumb.Item, {
70
+ key: group.groupId,
71
+ onClick: function onClick() {
72
+ setGroupPath(function (groups) {
73
+ var groupIndex = groups.findIndex(function (tempGroup) {
74
+ return tempGroup.groupId === group.groupId;
75
+ });
76
+ return groups.filter(function (tempGroup, index) {
77
+ return index <= groupIndex;
78
+ });
79
+ });
80
+ }
81
+ }, group.name);
82
+ })), /*#__PURE__*/React.createElement(Spin, {
83
+ tip: "Loading",
84
+ spinning: loading,
85
+ size: "small"
86
+ }, /*#__PURE__*/React.createElement(ScrollArea, {
87
+ className: classNames('ald-member-picker-member-list', {
88
+ 'ald-member-picker-member-list-null': userGroupList.length === 0 && !loading
89
+ }),
90
+ innerClassName: "ald-member-picker-member-scroll"
91
+ }, /*#__PURE__*/React.createElement("div", {
92
+ className: "ald-member-picker-member-list-inner",
93
+ style: {
94
+ width: width,
95
+ overflow: 'hidden'
96
+ }
97
+ }, userGroupListInLevel.map(function (userGroup) {
98
+ var isSelected = selectedUsersGroups.some(function (selectUserGroup) {
99
+ return selectUserGroup.groupId === userGroup.groupId;
100
+ });
101
+ return multiple ? /*#__PURE__*/React.createElement(MultipleOption, {
102
+ key: userGroup.groupId,
103
+ user: userGroup,
104
+ selected: isSelected,
105
+ onChange: function onChange(selected, userGroup) {
106
+ if (isUserGroup(userGroup)) {
107
+ _onChange(selected, userGroup);
108
+ }
109
+ },
110
+ hasNextLevel: userGroupList.some(function (group) {
111
+ return group.parentId === userGroup.groupId;
112
+ }),
113
+ onNextLevel: function onNextLevel(userGroup) {
114
+ setGroupPath(function (groupPath) {
115
+ return [].concat(_toConsumableArray(groupPath), [userGroup]);
116
+ });
117
+ }
118
+ }) : /*#__PURE__*/React.createElement(SingleOption, {
119
+ key: userGroup.groupId,
120
+ user: userGroup,
121
+ selected: isSelected,
122
+ onChange: function onChange(selected, userGroup) {
123
+ if (isUserGroup(userGroup)) {
124
+ _onChange(selected, userGroup);
125
+ }
126
+ }
127
+ });
128
+ })))));
129
+ };
130
+ export default UserGroupSelection;
@@ -1,4 +1,6 @@
1
1
  import React from 'react';
2
+ import MemberPanel from './components/PanelWrapper';
2
3
  import { IMemberPickerProps } from './interface';
3
4
  declare const MemberSelector: React.FC<IMemberPickerProps>;
4
5
  export default MemberSelector;
6
+ export { MemberPanel };
@@ -1,4 +1,3 @@
1
- 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); }
2
1
  function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
3
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."); }
4
3
  function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
@@ -13,17 +12,22 @@ function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefine
13
12
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
14
13
  import { useRequest } from 'ahooks';
15
14
  import classNames from 'classnames';
16
- import _ from 'lodash';
17
15
  import React, { useCallback, useEffect, useMemo, useRef, useState } from 'react';
18
16
  import ConfigProvider from "../ConfigProvider";
17
+ import { EUserType } from "../ConfigProvider/getUserList";
19
18
  import Dropdown from "../Dropdown";
20
19
  import { FoldDownFill } from "../Icon";
21
20
  import message from "../message";
22
21
  import NickLabel from "./components/NickLabel";
23
22
  import Panel from "./components/Panel";
24
- import { isUser } from "./utils/getUsersWithUserId";
23
+ import MemberPanel from "./components/PanelWrapper";
24
+ import { EMemberPicker } from "./interface";
25
+ import { getId, getPhoto } from "./utils";
26
+ import { isUser, isUserGroup } from "./utils/getUsersWithUserId";
25
27
  var MemberSelector = function MemberSelector(_ref) {
26
28
  var value = _ref.value,
29
+ _ref$type = _ref.type,
30
+ type = _ref$type === void 0 ? EMemberPicker.USER : _ref$type,
27
31
  onChange = _ref.onChange,
28
32
  multiple = _ref.multiple,
29
33
  dropdownWidth = _ref.dropdownWidth,
@@ -100,17 +104,16 @@ var MemberSelector = function MemberSelector(_ref) {
100
104
  loading = _useRequest.loading,
101
105
  run = _useRequest.run;
102
106
  var totalUserList = useMemo(function () {
103
- var totalUsers = searchUserList.concat(selectedUserList);
104
- return _.uniqBy(totalUsers, 'userId');
107
+ return searchUserList.concat(selectedUserList);
105
108
  }, [searchUserList, selectedUserList]);
106
109
  useEffect(function () {
107
110
  if (!dropdownOpen) return;
108
111
  run();
109
112
  }, [dropdownOpen, run, searchString]);
110
113
  useEffect(function () {
111
- if (Array.isArray(value) && isUser(value[0])) {
114
+ if (Array.isArray(value) && (isUser(value[0]) || isUserGroup(value[0]))) {
112
115
  setSelectedUserList(value);
113
- } else if (isUser(value)) {
116
+ } else if (isUser(value) || isUserGroup(value)) {
114
117
  setSelectedUserList([value]);
115
118
  } else {
116
119
  var id = [];
@@ -173,8 +176,9 @@ var MemberSelector = function MemberSelector(_ref) {
173
176
  destroyPopupOnHide: true,
174
177
  dropdownRender: function dropdownRender() {
175
178
  return /*#__PURE__*/React.createElement(Panel, {
179
+ type: type,
176
180
  value: selectedUserList,
177
- userList: totalUserList,
181
+ dataList: totalUserList,
178
182
  multiple: multiple,
179
183
  loading: loading,
180
184
  dropdownWidth: dropdownWidth || dropdownContentWidth,
@@ -198,15 +202,21 @@ var MemberSelector = function MemberSelector(_ref) {
198
202
  className: "ald-member-picker-placeholder"
199
203
  }, placeholder) : selectedUserList.reduce(function (prev, cur) {
200
204
  if (prev.length > 0) {
201
- return [].concat(_toConsumableArray(prev), [',', /*#__PURE__*/React.createElement(NickLabel, _extends({
202
- key: cur.userId
203
- }, cur, {
204
- src: cur.photo
205
- }))]);
205
+ return [].concat(_toConsumableArray(prev), [',', /*#__PURE__*/React.createElement(NickLabel, {
206
+ key: getId(cur),
207
+ id: getId(cur),
208
+ photo: getPhoto(cur),
209
+ name: cur.name,
210
+ account: cur.type === EUserType.USER ? cur.account : ''
211
+ })]);
206
212
  } else {
207
- return [/*#__PURE__*/React.createElement(NickLabel, _extends({
208
- key: cur.userId
209
- }, cur))];
213
+ return [/*#__PURE__*/React.createElement(NickLabel, {
214
+ key: getId(cur),
215
+ id: getId(cur),
216
+ photo: getPhoto(cur),
217
+ name: cur.name,
218
+ account: cur.type === EUserType.USER ? cur.account : ''
219
+ })];
210
220
  }
211
221
  }, [])), /*#__PURE__*/React.createElement(FoldDownFill, {
212
222
  size: 20,
@@ -214,4 +224,5 @@ var MemberSelector = function MemberSelector(_ref) {
214
224
  fill: "#858585"
215
225
  }))));
216
226
  };
217
- export default MemberSelector;
227
+ export default MemberSelector;
228
+ export { MemberPanel };
@@ -1,6 +1,11 @@
1
- /// <reference types="react" />
2
- import { IUser } from '../ConfigProvider/getUserList';
3
- export type MemberPickerValue = IUser | IUser[] | string | string[];
1
+ import React from 'react';
2
+ import { IUser, IUserGroup, TUser } from '../ConfigProvider/getUserList';
3
+ export type MemberPickerValue = IUser | IUser[] | string | string[] | IUserGroup | IUserGroup[];
4
+ export declare enum EMemberPicker {
5
+ GROUP = "GROUP",
6
+ USER = "USER",
7
+ BOTH = "BOTH"
8
+ }
4
9
  export interface IBaseMemberSelectorProps {
5
10
  value?: MemberPickerValue;
6
11
  className?: string;
@@ -9,14 +14,15 @@ export interface IBaseMemberSelectorProps {
9
14
  open?: boolean;
10
15
  onOpenChange?: (open: boolean) => void;
11
16
  placeholder?: string;
17
+ type?: EMemberPicker;
12
18
  }
13
19
  export interface IMultipleMemberSelectorProps extends IBaseMemberSelectorProps {
14
20
  multiple: true;
15
- onChange?(v: IUser[]): void;
21
+ onChange?(v: TUser): void;
16
22
  }
17
23
  export interface ISingleMemberSelectorProps extends IBaseMemberSelectorProps {
18
24
  multiple?: false;
19
- onChange?(v: IUser): void;
25
+ onChange?(v: IUser | IUserGroup): void;
20
26
  }
21
27
  export type IMemberPickerProps = IMultipleMemberSelectorProps | ISingleMemberSelectorProps;
22
28
  export type { IUser };
@@ -1 +1,6 @@
1
- export {};
1
+ export var EMemberPicker = /*#__PURE__*/function (EMemberPicker) {
2
+ EMemberPicker["GROUP"] = "GROUP";
3
+ EMemberPicker["USER"] = "USER";
4
+ EMemberPicker["BOTH"] = "BOTH";
5
+ return EMemberPicker;
6
+ }({});
@@ -32,7 +32,7 @@
32
32
 
33
33
  .ald-member-picker-member-list-wrap {
34
34
  &.ald-member-picker-member-selection-multiple {
35
- width: 50%;
35
+ width: 100%;
36
36
  }
37
37
 
38
38
  &.ald-member-picker-member-selection-single {
@@ -54,7 +54,7 @@
54
54
  }
55
55
 
56
56
  .ald-member-picker-member-list {
57
- height: calc(100% - 32px);
57
+ height: calc(100% - 64px);
58
58
  min-height: 180px;
59
59
 
60
60
  &.ald-member-picker-member-list-null {
@@ -62,7 +62,7 @@
62
62
  }
63
63
 
64
64
  .ald-member-picker-member-scroll {
65
- max-height: 288px;
65
+ height: 240px;
66
66
  }
67
67
  }
68
68
  }
@@ -130,6 +130,12 @@
130
130
  line-height: 20px;
131
131
  gap: 4px;
132
132
  cursor: pointer;
133
+ justify-content: space-between;
134
+
135
+ .ald-member-picker-label {
136
+ display: flex;
137
+ gap: 4px;
138
+ }
133
139
 
134
140
  &:hover {
135
141
  background: var(--colors-gray-98, #f4f4f4);
@@ -228,3 +234,12 @@
228
234
  overflow: hidden;
229
235
  }
230
236
  }
237
+
238
+ .ald-member-tabs {
239
+ background-color: #fff;
240
+ height: 100%;
241
+
242
+ .ant-tabs-nav {
243
+ margin-bottom: 0 !important;
244
+ }
245
+ }
@@ -1,2 +1,6 @@
1
+ import { IUserGroup } from "../../ConfigProvider/getUserList";
1
2
  import { IUser } from '../interface';
2
3
  export declare function isUser(value: any): value is IUser;
4
+ export declare function isUserGroup(value: any): value is IUserGroup;
5
+ declare function getUsersWithUserId(obj: any): IUser[];
6
+ export default getUsersWithUserId;
@@ -1,4 +1,25 @@
1
1
  function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
2
+ import { EUserType } from "../../ConfigProvider/getUserList";
2
3
  export function isUser(value) {
3
- return value && _typeof(value) === 'object' && 'userId' in value;
4
- }
4
+ return value && _typeof(value) === 'object' && value.type === EUserType.USER;
5
+ }
6
+ export function isUserGroup(value) {
7
+ return value && _typeof(value) === 'object' && value.type === EUserType.USER_GROUP;
8
+ }
9
+ function getUsersWithUserId(obj) {
10
+ var users = [];
11
+ var findUsers = function findUsers(value) {
12
+ if (Object.isFrozen(users)) return;
13
+ if (Array.isArray(value) && value.find(isUser)) {
14
+ users = value;
15
+ Object.freeze(users);
16
+ } else if (_typeof(value) === 'object') {
17
+ Object.values(value).forEach(function (item) {
18
+ return findUsers(item);
19
+ });
20
+ }
21
+ };
22
+ findUsers(obj);
23
+ return users;
24
+ }
25
+ export default getUsersWithUserId;
@@ -0,0 +1,6 @@
1
+ import { IUserGroup } from "../../ConfigProvider/getUserList";
2
+ import React from 'react';
3
+ import { IUser } from '../interface';
4
+ export declare const getId: (user: IUser | IUserGroup) => string;
5
+ export declare const getPhoto: (user: IUser | IUserGroup) => React.JSX.Element | null;
6
+ export declare const getAccount: (user: IUser | IUserGroup) => string | undefined;
@@ -0,0 +1,16 @@
1
+ import { EUserType } from "../../ConfigProvider/getUserList";
2
+ import React from 'react';
3
+ export var getId = function getId(user) {
4
+ if (user.type === EUserType.USER) return user.userId;
5
+ return user.groupId;
6
+ };
7
+ export var getPhoto = function getPhoto(user) {
8
+ if (user.type === EUserType.USER) return !!user.photo ? /*#__PURE__*/React.createElement("img", {
9
+ src: user.photo
10
+ }) : null;
11
+ return null;
12
+ };
13
+ export var getAccount = function getAccount(user) {
14
+ if (user.type === EUserType.USER) return user.account;
15
+ return '';
16
+ };
@@ -18,10 +18,10 @@ import { Modal as AntdModal } from 'antd';
18
18
  import { modalGlobalConfig } from 'antd/lib/modal/confirm';
19
19
  import useModal from 'antd/lib/modal/useModal/index';
20
20
  import classNames from 'classnames';
21
- import IconButton from "../IconButton";
22
21
  import React from 'react';
23
22
  import { btnPrefix, getButtonSizeClass, getButtonType, getDangerStatus, getShape } from "../Button";
24
23
  import { AlertTriangleDuotone, CancelCircleDuotone, CheckCircleDuotone, CloseLLine, InfoCircleDuotone } from "../Icon";
24
+ import IconButton from "../IconButton";
25
25
  import ScrollArea from "../ScrollArea";
26
26
 
27
27
  // export type { ModalProps, ModalFuncProps };
@@ -264,7 +264,7 @@
264
264
 
265
265
  .ald-radio-desc {
266
266
  position: relative;
267
- color: @NL0;
267
+ color: @ND0;
268
268
  transition: text-shadow 0.3s ease, color 0.3s ease;
269
269
  }
270
270
  }