@aloudata/aloudata-design 1.10.13 → 2.0.0-beta.1

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 (195) hide show
  1. package/dist/Button/index.d.ts +3 -4
  2. package/dist/Button/index.js +7 -20
  3. package/dist/Button/style/size.less +21 -8
  4. package/dist/Button/style/type.less +61 -33
  5. package/dist/Button/style/variables.less +229 -44
  6. package/dist/Checkbox/style/index.less +111 -114
  7. package/dist/Dropdown/index.d.ts +1 -2
  8. package/dist/Dropdown/style/index.less +70 -107
  9. package/dist/Icon/components/AlertTriangleDuotone.d.ts +1 -1
  10. package/dist/Icon/components/AlertTriangleLine.d.ts +11 -0
  11. package/dist/Icon/components/AlertTriangleLine.js +35 -0
  12. package/dist/Icon/components/ArrowDownFill.d.ts +11 -0
  13. package/dist/Icon/components/ArrowDownFill.js +35 -0
  14. package/dist/Icon/components/AttentionCircleFill.d.ts +11 -0
  15. package/dist/Icon/components/AttentionCircleFill.js +35 -0
  16. package/dist/Icon/components/AttentionTriangleFill.d.ts +11 -0
  17. package/dist/Icon/components/AttentionTriangleFill.js +35 -0
  18. package/dist/Icon/components/AttentionTriangleLightLine.d.ts +11 -0
  19. package/dist/Icon/components/AttentionTriangleLightLine.js +35 -0
  20. package/dist/Icon/components/CancelCircleDuotone.d.ts +1 -1
  21. package/dist/Icon/components/CheckCircleDuotone.d.ts +1 -1
  22. package/dist/Icon/components/CheckCircleFill.d.ts +11 -0
  23. package/dist/Icon/components/CheckCircleFill.js +35 -0
  24. package/dist/Icon/components/CheckCircleLightLine.d.ts +11 -0
  25. package/dist/Icon/components/CheckCircleLightLine.js +38 -0
  26. package/dist/Icon/components/CheckLightLine.d.ts +11 -0
  27. package/dist/Icon/components/CheckLightLine.js +35 -0
  28. package/dist/Icon/components/ChevronDownLine.d.ts +1 -1
  29. package/dist/Icon/components/ChevronLeftLine.d.ts +1 -1
  30. package/dist/Icon/components/ChevronRightLine.d.ts +1 -1
  31. package/dist/Icon/components/CircleLightLine.d.ts +11 -0
  32. package/dist/Icon/components/CircleLightLine.js +38 -0
  33. package/dist/Icon/components/CloseCircleFill.d.ts +11 -0
  34. package/dist/Icon/components/CloseCircleFill.js +35 -0
  35. package/dist/Icon/components/CloseLLine.d.ts +1 -1
  36. package/dist/Icon/components/CloseLightLine.d.ts +11 -0
  37. package/dist/Icon/components/CloseLightLine.js +35 -0
  38. package/dist/Icon/components/CloseMLine.d.ts +1 -1
  39. package/dist/Icon/components/DragLine.d.ts +1 -1
  40. package/dist/Icon/components/Ellipsis.d.ts +11 -0
  41. package/dist/Icon/components/Ellipsis.js +35 -0
  42. package/dist/Icon/components/EyeOffLine.d.ts +1 -1
  43. package/dist/Icon/components/EyeOnLine.d.ts +1 -1
  44. package/dist/Icon/components/FoldDownFill.d.ts +1 -1
  45. package/dist/Icon/components/FoldUpFill.d.ts +1 -1
  46. package/dist/Icon/components/InfoCircleDuotone.d.ts +1 -1
  47. package/dist/Icon/components/InfoCircleLine.d.ts +1 -1
  48. package/dist/Icon/components/InformationCircleFill.d.ts +11 -0
  49. package/dist/Icon/components/InformationCircleFill.js +35 -0
  50. package/dist/Icon/components/InformationCircleLightLine.d.ts +11 -0
  51. package/dist/Icon/components/InformationCircleLightLine.js +38 -0
  52. package/dist/Icon/components/Loading2Line.d.ts +1 -1
  53. package/dist/Icon/components/LoadingDuotone.d.ts +11 -0
  54. package/dist/Icon/components/LoadingDuotone.js +39 -0
  55. package/dist/Icon/components/LoadingLine.d.ts +1 -1
  56. package/dist/Icon/components/MoreVerticalLine.d.ts +1 -1
  57. package/dist/Icon/components/SearchLine.d.ts +1 -1
  58. package/dist/Icon/components/TriangleLightLine.d.ts +11 -0
  59. package/dist/Icon/components/TriangleLightLine.js +35 -0
  60. package/dist/Icon/index.d.ts +16 -3
  61. package/dist/Icon/index.js +16 -2
  62. package/dist/Icon/svg/Loading-duotone.svg +6 -0
  63. package/dist/Icon/svg/alert-triangle-duotone.svg +3 -1
  64. package/dist/Icon/svg/alert-triangle-line.svg +5 -0
  65. package/dist/Icon/svg/arrow-down-fill.svg +5 -0
  66. package/dist/Icon/svg/attention-circle-fill.svg +5 -0
  67. package/dist/Icon/svg/attention-triangle-fill.svg +5 -0
  68. package/dist/Icon/svg/attention-triangle-light-line.svg +5 -0
  69. package/dist/Icon/svg/cancel-circle-duotone.svg +7 -3
  70. package/dist/Icon/svg/check-circle-duotone.svg +6 -2
  71. package/dist/Icon/svg/check-circle-fill.svg +5 -0
  72. package/dist/Icon/svg/check-circle-light-line.svg +8 -0
  73. package/dist/Icon/svg/check-light-line.svg +5 -0
  74. package/dist/Icon/svg/chevron-down-line.svg +6 -4
  75. package/dist/Icon/svg/chevron-left-line.svg +6 -4
  76. package/dist/Icon/svg/chevron-right-line.svg +6 -4
  77. package/dist/Icon/svg/circle-light-line.svg +9 -0
  78. package/dist/Icon/svg/close-L-line.svg +11 -9
  79. package/dist/Icon/svg/close-circle-fill.svg +5 -0
  80. package/dist/Icon/svg/close-light-line.svg +5 -0
  81. package/dist/Icon/svg/close-m-line.svg +6 -4
  82. package/dist/Icon/svg/drag-line.svg +6 -4
  83. package/dist/Icon/svg/ellipsis.svg +5 -0
  84. package/dist/Icon/svg/eye-off-line.svg +6 -4
  85. package/dist/Icon/svg/eye-on-line.svg +14 -8
  86. package/dist/Icon/svg/fold-down-fill.svg +7 -6
  87. package/dist/Icon/svg/fold-up-fill.svg +7 -6
  88. package/dist/Icon/svg/info-circle-duotone.svg +4 -2
  89. package/dist/Icon/svg/info-circle-line.svg +3 -1
  90. package/dist/Icon/svg/information-circle-fill.svg +5 -0
  91. package/dist/Icon/svg/information-circle-light-line.svg +9 -0
  92. package/dist/Icon/svg/loading-2-line.svg +4 -2
  93. package/dist/Icon/svg/loading-line.svg +6 -4
  94. package/dist/Icon/svg/more-vertical-line.svg +6 -4
  95. package/dist/Icon/svg/search-line.svg +6 -4
  96. package/dist/Icon/svg/triangle-light-line.svg +5 -0
  97. package/dist/IconButton/index.d.ts +2 -2
  98. package/dist/IconButton/index.js +8 -19
  99. package/dist/IconButton/style/index.less +49 -25
  100. package/dist/Input/components/Input/index.js +18 -2
  101. package/dist/Input/components/Password/index.d.ts +0 -5
  102. package/dist/Input/components/Password/index.js +10 -10
  103. package/dist/Input/components/TextArea/index.js +15 -2
  104. package/dist/Input/index.d.ts +2 -5
  105. package/dist/Input/index.js +1 -3
  106. package/dist/Input/style/index.less +4 -565
  107. package/dist/Input/style/reset.less +22 -0
  108. package/dist/Input/style/size.less +82 -0
  109. package/dist/Input/style/status.less +105 -0
  110. package/dist/MemberPicker/components/MemberSelection.d.ts +2 -1
  111. package/dist/MemberPicker/components/MemberSelection.js +9 -1
  112. package/dist/MemberPicker/components/MultipleOption.js +1 -1
  113. package/dist/MemberPicker/components/Panel.d.ts +2 -1
  114. package/dist/MemberPicker/components/Panel.js +9 -3
  115. package/dist/MemberPicker/components/PanelWrapper.d.ts +3 -2
  116. package/dist/MemberPicker/components/PanelWrapper.js +5 -2
  117. package/dist/MemberPicker/components/SelectedMemberTags.d.ts +2 -1
  118. package/dist/MemberPicker/components/SelectedMemberTags.js +19 -2
  119. package/dist/MemberPicker/components/UserGroupSelection.d.ts +3 -2
  120. package/dist/MemberPicker/components/UserGroupSelection.js +8 -1
  121. package/dist/MemberPicker/index.js +4 -1
  122. package/dist/MemberPicker/interface.d.ts +1 -0
  123. package/dist/MemberPicker/style/index.less +10 -2
  124. package/dist/Menu/index.js +6 -9
  125. package/dist/Menu/style/index.less +72 -133
  126. package/dist/Modal/index.d.ts +1 -1
  127. package/dist/Modal/index.js +32 -43
  128. package/dist/Modal/style/index.less +3 -191
  129. package/dist/Modal/style/modal.less +132 -0
  130. package/dist/Modal/style/modalConfirm.less +100 -0
  131. package/dist/Pagination/index.js +4 -2
  132. package/dist/Pagination/style/index.less +11 -4
  133. package/dist/Popconfirm/index.js +8 -7
  134. package/dist/Popconfirm/style/index.less +16 -6
  135. package/dist/Popover/style/index.less +29 -29
  136. package/dist/Radio/components/Group/index.js +3 -5
  137. package/dist/Radio/components/Radio/index.js +2 -1
  138. package/dist/Radio/interface/radioGroup.d.ts +1 -1
  139. package/dist/Radio/style/index.less +69 -56
  140. package/dist/Select/components/{MultipleOption.d.ts → Option.d.ts} +2 -2
  141. package/dist/Select/components/{MultipleOption.js → Option.js} +14 -11
  142. package/dist/Select/components/SingleOption.d.ts +2 -2
  143. package/dist/Select/components/SingleOption.js +3 -1
  144. package/dist/Select/index.d.ts +5 -0
  145. package/dist/Select/index.js +26 -41
  146. package/dist/Select/style/index.less +96 -76
  147. package/dist/Select/style/layout.less +41 -0
  148. package/dist/Select/style/option.less +42 -0
  149. package/dist/Select/style/selectDropdown.less +17 -0
  150. package/dist/Select/style/size.less +95 -82
  151. package/dist/Select/style/status.less +69 -21
  152. package/dist/Select/style/variables.less +9 -16
  153. package/dist/Spin/CustomIcon/index.d.ts +3 -0
  154. package/dist/Spin/CustomIcon/index.js +20 -15
  155. package/dist/Spin/CustomIcon/index.less +32 -105
  156. package/dist/Spin/index.d.ts +2 -0
  157. package/dist/Spin/index.js +8 -2
  158. package/dist/Spin/style/index.less +9 -1
  159. package/dist/Switch/index.d.ts +1 -1
  160. package/dist/Switch/style/index.less +130 -56
  161. package/dist/Table/style/index.less +16 -8
  162. package/dist/Tabs/index.d.ts +2 -2
  163. package/dist/Tabs/index.js +4 -4
  164. package/dist/Tabs/style/index.less +20 -16
  165. package/dist/TextLink/index.d.ts +44 -0
  166. package/dist/TextLink/index.js +25 -0
  167. package/dist/TextLink/style/index.d.ts +2 -0
  168. package/dist/TextLink/style/index.js +2 -0
  169. package/dist/TextLink/style/index.less +9 -0
  170. package/dist/TextLink/style/size.less +37 -0
  171. package/dist/TextLink/style/type.less +44 -0
  172. package/dist/Tree/style/var.less +1 -1
  173. package/dist/ald.min.css +1 -1
  174. package/dist/index.d.ts +2 -1
  175. package/dist/index.js +1 -1
  176. package/dist/index.less +1 -0
  177. package/dist/message/index.js +15 -14
  178. package/dist/message/style/color.less +22 -41
  179. package/dist/message/style/index.less +15 -16
  180. package/dist/notification/demo/index.js +1 -0
  181. package/dist/notification/index.js +18 -18
  182. package/dist/notification/style/index.less +12 -6
  183. package/dist/style/index.less +1 -0
  184. package/dist/style/themes/default/default.less +1 -1
  185. package/dist/style/themes/default/index.less +3 -3
  186. package/dist/style/themes/default/scrollBar.less +1 -1
  187. package/dist/style/var/default.css +1334 -0
  188. package/package.json +4 -3
  189. package/dist/Icon/components/Icon.d.ts +0 -32
  190. package/dist/Icon/components/Icon.js +0 -25
  191. package/dist/Input/components/Group/index.d.ts +0 -18
  192. package/dist/Input/components/Group/index.js +0 -19
  193. package/dist/Menu/style/dropdown.less +0 -61
  194. package/dist/Select/style/multiple.less +0 -55
  195. package/dist/Select/style/single.less +0 -44
@@ -0,0 +1,105 @@
1
+ // 光标颜色
2
+ @input-caret-color: var(
3
+ --alias-colors-border-accent-gray-stronger-default,
4
+ #4b5563
5
+ );
6
+ // color enabled
7
+ @input-enabled-border-color: var(
8
+ --alias-colors-border-accent-gray-subtle-default,
9
+ #d1d5db
10
+ );
11
+ @input-enabled-bg-color: var(--alias-colors-bg-skeleton-subtler, #fff);
12
+ @input-enabled-text-color: var(--alias-colors-text-default, #1f2937);
13
+ @input-enabled-placeholder-color: var(--alias-colors-text-subtlest, #9ca3af);
14
+ // color hover
15
+ @input-hover-border-color: var(
16
+ --alias-colors-border-accent-gray-subtle-hover,
17
+ #9ca3af
18
+ );
19
+ @input-hover-bg-color: var(--alias-colors-bg-skeleton-subtler, #fff);
20
+ @input-hover-text-color: var(--alias-colors-text-default, #1f2937);
21
+ @input-hover-placeholder-color: var(--alias-colors-text-subtlest, #9ca3af);
22
+
23
+ //color focus
24
+ @input-focus-border-color: var(--alias-colors-border-selected, #126fdd);
25
+ @input-focus-bg-color: var(--alias-colors-bg-skeleton-subtler, #fff);
26
+ @input-focus-text-color: var(--alias-colors-text-default, #1f2937);
27
+ @input-focus-placeholder-color: var(--alias-colors-text-subtlest, #9ca3af);
28
+
29
+ //color disabled
30
+ @input-disabled-border-color: var(
31
+ --alias-colors-border-disabled,
32
+ rgba(0, 0, 0, 0.1)
33
+ );
34
+ @input-disabled-bg-color: var(--alias-colors-bg-transp, rgba(0, 0, 0, 0));
35
+ @input-disabled-text-color: var(
36
+ --alias-colors-text-disabled,
37
+ rgba(0, 0, 0, 0.25)
38
+ );
39
+ @input-disabled-placeholder-color: var(
40
+ --alias-colors-text-disabled,
41
+ rgba(0, 0, 0, 0.25)
42
+ );
43
+
44
+ .input-color(@border-color,@text-color,@bg-color,@placeholder-color) {
45
+ border-color: @border-color;
46
+ color: @text-color;
47
+ background-color: @bg-color;
48
+
49
+ &::placeholder {
50
+ color: @placeholder-color;
51
+ }
52
+ }
53
+
54
+ .ald-input.ald-input {
55
+ // 纯input 输入框,比如普通的<Input /> <Input.textarea />
56
+ &:not(.ant-input-affix-wrapper) {
57
+ .input-color(@input-enabled-border-color,@input-enabled-text-color,@input-enabled-bg-color,@input-enabled-placeholder-color);
58
+
59
+ &:hover {
60
+ .input-color(@input-hover-border-color,@input-hover-text-color,@input-hover-bg-color,@input-hover-placeholder-color);
61
+ }
62
+
63
+ &:focus {
64
+ .input-color(@input-focus-border-color,@input-focus-text-color,@input-focus-bg-color,@input-focus-placeholder-color);
65
+ }
66
+
67
+ &.ald-input-disabled {
68
+ cursor: default;
69
+ .input-color(@input-disabled-border-color,@input-disabled-text-color,@input-disabled-bg-color,@input-disabled-placeholder-color);
70
+ }
71
+ }
72
+ // 带有其他内容的输入框,比如带 allowClear图标、prefix、suffix、密码图标等。
73
+ &.ant-input-affix-wrapper {
74
+ // 纯input 输入框,比如普通的<Input /> <Input.textarea />
75
+ .input-color(@input-enabled-border-color,@input-enabled-text-color,@input-enabled-bg-color,@input-enabled-placeholder-color);
76
+
77
+ &:hover {
78
+ .input-color(@input-hover-border-color,@input-hover-text-color,@input-hover-bg-color,@input-hover-placeholder-color);
79
+ }
80
+ // 激活状态
81
+ &.ant-input-affix-wrapper-focused,
82
+ &:active {
83
+ .input-color(@input-focus-border-color,@input-focus-text-color,@input-focus-bg-color,@input-focus-placeholder-color);
84
+ }
85
+
86
+ &.ald-input-disabled {
87
+ cursor: default;
88
+ .input-color(@input-disabled-border-color,@input-disabled-text-color,@input-disabled-bg-color,@input-disabled-placeholder-color);
89
+
90
+ .ant-input-disabled {
91
+ cursor: default;
92
+ }
93
+ }
94
+ // 前缀
95
+ .ant-input-prefix {
96
+ color: var(--alias-colors-text-subtle, #4b5563);
97
+ }
98
+ // 后缀
99
+ .ant-input-suffix {
100
+ .ant-input-clear-icon {
101
+ color: var(--alias-colors-icon-subtle, #6b7280);
102
+ }
103
+ }
104
+ }
105
+ }
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { IUser } from '../interface';
2
+ import { IUser, TUserGroupValue, TUserValue } from '../interface';
3
3
  interface IMemberSelectionProps {
4
4
  className?: string;
5
5
  userList: IUser[];
@@ -9,6 +9,7 @@ interface IMemberSelectionProps {
9
9
  onSearchValueChange?: (value: string) => void;
10
10
  loading: boolean;
11
11
  width: number;
12
+ lockedIds: Array<TUserValue | TUserGroupValue>;
12
13
  }
13
14
  export default function MemberSelection(props: IMemberSelectionProps): React.JSX.Element;
14
15
  export {};
@@ -5,6 +5,7 @@ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len
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
7
  import classNames from 'classnames';
8
+ import _ from 'lodash';
8
9
  import React, { useDeferredValue, useEffect, useState } from 'react';
9
10
  import Empty from "../../Empty";
10
11
  import { SearchLine } from "../../Icon";
@@ -22,7 +23,8 @@ export default function MemberSelection(props) {
22
23
  selectedUsers = props.selectedUsers,
23
24
  onSearchValueChange = props.onSearchValueChange,
24
25
  loading = props.loading,
25
- width = props.width;
26
+ width = props.width,
27
+ lockedIds = props.lockedIds;
26
28
  var _useState = useState(''),
27
29
  _useState2 = _slicedToArray(_useState, 2),
28
30
  searchValue = _useState2[0],
@@ -71,9 +73,15 @@ export default function MemberSelection(props) {
71
73
  var isSelected = selectedUsers.some(function (selectedUser) {
72
74
  return selectedUser.userId === user.userId;
73
75
  });
76
+ var index = _.findIndex(lockedIds, {
77
+ userId: user.userId,
78
+ type: user.type
79
+ });
80
+ var disabled = index !== -1;
74
81
  return multiple ? /*#__PURE__*/React.createElement(MultipleOption, {
75
82
  key: user.userId,
76
83
  user: user,
84
+ disabled: disabled,
77
85
  selected: isSelected,
78
86
  onChange: function onChange(selected, user) {
79
87
  if (isUser(user)) _onChange(selected, user);
@@ -23,7 +23,7 @@ export default function MultipleList(params) {
23
23
  onChange === null || onChange === void 0 ? void 0 : onChange(!selected, user);
24
24
  };
25
25
  return /*#__PURE__*/React.createElement("div", {
26
- className: classnames('ald-member-picker-option', className, _defineProperty({}, 'ald-member-picker-optionDisabled', disabled)),
26
+ className: classnames('ald-member-picker-option', className, _defineProperty({}, 'ald-member-picker-option-disabled', disabled)),
27
27
  onClick: onClick
28
28
  }, /*#__PURE__*/React.createElement("div", {
29
29
  className: 'ald-member-picker-label'
@@ -1,4 +1,4 @@
1
- import { IUserGroup, TUser } from "../../ConfigProvider/getUserList";
1
+ import { IUserGroup, TUser, TUserGroupValue, TUserValue } from "../../ConfigProvider/getUserList";
2
2
  import React from 'react';
3
3
  import { EMemberPicker, IUser } from '../interface';
4
4
  interface IPanelProps {
@@ -12,6 +12,7 @@ interface IPanelProps {
12
12
  onCancel?: () => void;
13
13
  loading: boolean;
14
14
  className?: string;
15
+ lockedIds: Array<TUserValue | TUserGroupValue>;
15
16
  }
16
17
  export default function Panel(props: IPanelProps): React.JSX.Element;
17
18
  export {};
@@ -31,7 +31,8 @@ export default function Panel(props) {
31
31
  onChange = props.onChange,
32
32
  dataList = props.dataList,
33
33
  onSearchValueChange = props.onSearchValueChange,
34
- className = props.className;
34
+ className = props.className,
35
+ lockedIds = props.lockedIds;
35
36
  var _useState = useState([]),
36
37
  _useState2 = _slicedToArray(_useState, 2),
37
38
  selectedUsers = _useState2[0],
@@ -90,6 +91,7 @@ export default function Panel(props) {
90
91
  onChange: onSelectionChange,
91
92
  onSearchValueChange: onSearchValueChange,
92
93
  multiple: true,
94
+ lockedIds: lockedIds,
93
95
  loading: props.loading
94
96
  });
95
97
  var userGroupSelection = /*#__PURE__*/React.createElement(UserGroupSelection, {
@@ -100,6 +102,7 @@ export default function Panel(props) {
100
102
  onChange: onSelectionChange,
101
103
  onSearchValueChange: onSearchValueChange,
102
104
  multiple: true,
105
+ lockedIds: lockedIds,
103
106
  loading: props.loading
104
107
  });
105
108
  if (type === EMemberPicker.USER) {
@@ -124,7 +127,7 @@ export default function Panel(props) {
124
127
  className: "ald-member-tabs"
125
128
  });
126
129
  }
127
- }, [onSearchValueChange, onSelectionChange, panelWidth, props.loading, selectedUsers, type, dataList]);
130
+ }, [dataList, panelWidth, selectedUsers, onSelectionChange, onSearchValueChange, lockedIds, props.loading, type]);
128
131
  return /*#__PURE__*/React.createElement("div", {
129
132
  className: classNames(className, 'ald-member-picker-wrapper', (_classNames = {}, _defineProperty(_classNames, 'ald-member-picker-multiple', multiple), _defineProperty(_classNames, 'ald-member-picker-single', !multiple), _classNames)),
130
133
  style: {
@@ -136,7 +139,8 @@ export default function Panel(props) {
136
139
  className: 'ald-member-picker-selected-member-tags',
137
140
  selectedUsers: selectedUsers,
138
141
  width: (panelWidth - 3) / 2,
139
- onRemove: onRemove
142
+ onRemove: onRemove,
143
+ lockedIds: lockedIds
140
144
  }), /*#__PURE__*/React.createElement(SelectorFooter, {
141
145
  className: 'ald-member-picker-selector-footer',
142
146
  onCancel: props.onCancel,
@@ -149,6 +153,7 @@ export default function Panel(props) {
149
153
  selectedUsers: selectedUsers.filter(isUser),
150
154
  onSearchValueChange: onSearchValueChange,
151
155
  multiple: false && multiple,
156
+ lockedIds: lockedIds,
152
157
  loading: props.loading
153
158
  }), type === EMemberPicker.GROUP && /*#__PURE__*/React.createElement(UserGroupSelection, {
154
159
  className: 'ald-member-picker-member-selection-multiple',
@@ -158,6 +163,7 @@ export default function Panel(props) {
158
163
  onChange: onSelectionChange,
159
164
  onSearchValueChange: onSearchValueChange,
160
165
  multiple: false,
166
+ lockedIds: lockedIds,
161
167
  loading: props.loading
162
168
  })));
163
169
  }
@@ -1,4 +1,4 @@
1
- import { IUserGroup, TUser } from "../../ConfigProvider/getUserList";
1
+ import { IUserGroup, TUser, TUserGroupValue, TUserValue } from "../../ConfigProvider/getUserList";
2
2
  import React from 'react';
3
3
  import { EMemberPicker, IUser, MemberPickerValue } from '../interface';
4
4
  interface IProps {
@@ -9,6 +9,7 @@ interface IProps {
9
9
  value?: MemberPickerValue;
10
10
  className?: string;
11
11
  onCancel?: () => void;
12
+ lockedIds?: Array<TUserValue | TUserGroupValue>;
12
13
  }
13
- export declare const PanelWrapper: ({ type, value, multiple, dropdownWidth, onChange, onCancel, className, }: IProps) => React.JSX.Element;
14
+ export declare const PanelWrapper: ({ type, value, multiple, dropdownWidth, onChange, onCancel, className, lockedIds, }: IProps) => React.JSX.Element;
14
15
  export default PanelWrapper;
@@ -20,7 +20,9 @@ export var PanelWrapper = function PanelWrapper(_ref) {
20
20
  dropdownWidth = _ref.dropdownWidth,
21
21
  onChange = _ref.onChange,
22
22
  onCancel = _ref.onCancel,
23
- className = _ref.className;
23
+ className = _ref.className,
24
+ _ref$lockedIds = _ref.lockedIds,
25
+ lockedIds = _ref$lockedIds === void 0 ? [] : _ref$lockedIds;
24
26
  var _ConfigProvider$useGe = ConfigProvider.useGetUserList(),
25
27
  getUsersByIds = _ConfigProvider$useGe.getUsersByIds,
26
28
  getUsersByKeywords = _ConfigProvider$useGe.getUsersByKeywords;
@@ -127,7 +129,8 @@ export var PanelWrapper = function PanelWrapper(_ref) {
127
129
  onSearchValueChange: onSearchValueChange,
128
130
  onChange: onSelectedChange,
129
131
  className: className,
130
- onCancel: onCancel
132
+ onCancel: onCancel,
133
+ lockedIds: lockedIds
131
134
  });
132
135
  };
133
136
  export default PanelWrapper;
@@ -1,11 +1,12 @@
1
1
  import React from 'react';
2
- import { IUserGroup, TUser } from '../../ConfigProvider/getUserList';
2
+ import { IUserGroup, TUser, TUserGroupValue, TUserValue } from '../../ConfigProvider/getUserList';
3
3
  import { IUser } from '../interface';
4
4
  interface ISelectedMemberTagsProps {
5
5
  className?: string;
6
6
  selectedUsers: TUser;
7
7
  onRemove?: (user: IUser | IUserGroup) => void;
8
8
  width: number;
9
+ lockedIds: Array<TUserValue | TUserGroupValue>;
9
10
  }
10
11
  export default function SelectedMemberTags(props: ISelectedMemberTagsProps): React.JSX.Element;
11
12
  export {};
@@ -1,4 +1,5 @@
1
1
  import classNames from 'classnames';
2
+ import _ from 'lodash';
2
3
  import React from 'react';
3
4
  import { CloseMLine } from "../../Icon";
4
5
  import ScrollArea from "../../ScrollArea";
@@ -7,7 +8,9 @@ import NickLabel from "./NickLabel";
7
8
  export default function SelectedMemberTags(props) {
8
9
  var className = props.className,
9
10
  selectedUsers = props.selectedUsers,
10
- width = props.width;
11
+ width = props.width,
12
+ _props$lockedIds = props.lockedIds,
13
+ lockedIds = _props$lockedIds === void 0 ? [] : _props$lockedIds;
11
14
  return /*#__PURE__*/React.createElement("div", {
12
15
  className: classNames(className, 'ald-member-picker-selected-member-tags-wrap')
13
16
  }, /*#__PURE__*/React.createElement("div", {
@@ -23,6 +26,20 @@ export default function SelectedMemberTags(props) {
23
26
  width: width - 17
24
27
  }
25
28
  }, selectedUsers.map(function (user) {
29
+ var hasLocked = false;
30
+ if (user && user.hasOwnProperty('groupId')) {
31
+ var index = _.findIndex(lockedIds, {
32
+ groupId: user.groupId,
33
+ type: user.type
34
+ });
35
+ hasLocked = index !== -1;
36
+ } else {
37
+ var _index = _.findIndex(lockedIds, {
38
+ userId: user.userId,
39
+ type: user.type
40
+ });
41
+ hasLocked = _index !== -1;
42
+ }
26
43
  return /*#__PURE__*/React.createElement("div", {
27
44
  className: 'ald-member-picker-selected-member-tag',
28
45
  key: getId(user)
@@ -31,7 +48,7 @@ export default function SelectedMemberTags(props) {
31
48
  name: user.name,
32
49
  photo: getPhoto(user),
33
50
  account: getAccount(user)
34
- }), /*#__PURE__*/React.createElement(CloseMLine, {
51
+ }), !hasLocked && /*#__PURE__*/React.createElement(CloseMLine, {
35
52
  size: 20,
36
53
  className: 'ald-member-picker-close',
37
54
  color: "#98A2B3",
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { IUserGroup } from '../../ConfigProvider/getUserList';
2
+ import { IUserGroup, TUserGroupValue, TUserValue } from '../../ConfigProvider/getUserList';
3
3
  interface IProps {
4
4
  className?: string;
5
5
  userGroupList: IUserGroup[];
@@ -9,6 +9,7 @@ interface IProps {
9
9
  loading: boolean;
10
10
  onSearchValueChange?: (value: string) => void;
11
11
  width: number;
12
+ lockedIds: Array<TUserValue | TUserGroupValue>;
12
13
  }
13
- declare const UserGroupSelection: ({ className, userGroupList, multiple, onChange, selectedUsersGroup: selectedUsersGroups, loading, width, }: IProps) => React.JSX.Element;
14
+ declare const UserGroupSelection: ({ className, userGroupList, multiple, onChange, selectedUsersGroup: selectedUsersGroups, loading, width, lockedIds, }: IProps) => React.JSX.Element;
14
15
  export default UserGroupSelection;
@@ -23,7 +23,8 @@ var UserGroupSelection = function UserGroupSelection(_ref) {
23
23
  _onChange = _ref.onChange,
24
24
  selectedUsersGroups = _ref.selectedUsersGroup,
25
25
  loading = _ref.loading,
26
- width = _ref.width;
26
+ width = _ref.width,
27
+ lockedIds = _ref.lockedIds;
27
28
  var _useState = useState(''),
28
29
  _useState2 = _slicedToArray(_useState, 2),
29
30
  searchKey = _useState2[0],
@@ -121,9 +122,15 @@ var UserGroupSelection = function UserGroupSelection(_ref) {
121
122
  var isSelected = selectedUsersGroups.some(function (selectUserGroup) {
122
123
  return selectUserGroup.groupId === userGroup.groupId;
123
124
  });
125
+ var index = _.findIndex(lockedIds, {
126
+ groupId: userGroup.groupId,
127
+ type: userGroup.type
128
+ });
129
+ var disabled = index !== -1;
124
130
  return multiple ? /*#__PURE__*/React.createElement(MultipleOption, {
125
131
  key: userGroup.groupId,
126
132
  user: userGroup,
133
+ disabled: disabled,
127
134
  selected: isSelected,
128
135
  onChange: function onChange(selected, userGroup) {
129
136
  if (isUserGroup(userGroup)) {
@@ -34,7 +34,9 @@ var Component = function Component(_ref) {
34
34
  allowClear = _ref.allowClear,
35
35
  disabled = _ref.disabled,
36
36
  _onClear = _ref.onClear,
37
- size = _ref.size;
37
+ size = _ref.size,
38
+ _ref$lockedIds = _ref.lockedIds,
39
+ lockedIds = _ref$lockedIds === void 0 ? [] : _ref$lockedIds;
38
40
  var _ConfigProvider$useGe = ConfigProvider.useGetUserList(),
39
41
  getUsersByIds = _ConfigProvider$useGe.getUsersByIds,
40
42
  getUsersByKeywords = _ConfigProvider$useGe.getUsersByKeywords;
@@ -226,6 +228,7 @@ var Component = function Component(_ref) {
226
228
  type: type,
227
229
  value: selectedUserList,
228
230
  dataList: totalUserList,
231
+ lockedIds: lockedIds,
229
232
  multiple: multiple,
230
233
  loading: loading,
231
234
  dropdownWidth: dropdownContentWidth,
@@ -15,6 +15,7 @@ export interface IBaseMemberSelectorProps extends Pick<ISelectProps, 'allowClear
15
15
  open?: boolean;
16
16
  onOpenChange?: (open: boolean) => void;
17
17
  type?: EMemberPicker;
18
+ lockedIds?: Array<TUserValue | TUserGroupValue>;
18
19
  }
19
20
  export interface IMultipleMemberSelectorProps extends IBaseMemberSelectorProps {
20
21
  multiple: true;
@@ -12,7 +12,7 @@
12
12
  .ald-member-picker-wrapper {
13
13
  box-sizing: border-box;
14
14
  border: 1px solid var(--colors-gray-400, #dbdbdb);
15
- background: var(--colors-neutral-white, #fff);
15
+ background: var(--global-colors-base-white-950a, #fff);
16
16
  box-shadow: 0 20px 24px -4px rgb(16 24 40 / 0.08),
17
17
  0 8px 8px -4px rgb(16 24 40 / 0.03);
18
18
 
@@ -159,6 +159,14 @@
159
159
  background: var(--colors-blue-100, #f0f6ff);
160
160
  }
161
161
 
162
+ &.ald-member-picker-option-disabled {
163
+ cursor: not-allowed;
164
+
165
+ .ald-member-picker-nick-label-name {
166
+ color: var(--colors-gray-900, #8b8b8b);
167
+ }
168
+ }
169
+
162
170
  .ald-member-picker-checkbox {
163
171
  display: flex;
164
172
  align-items: center;
@@ -184,7 +192,7 @@
184
192
  width: auto;
185
193
  height: 32px;
186
194
  box-sizing: border-box;
187
- background: var(--colors-neutral-white, #fff);
195
+ background: var(--global-colors-base-white-950a, #fff);
188
196
  justify-content: space-between;
189
197
  min-width: 0;
190
198
 
@@ -1,4 +1,4 @@
1
- var _excluded = ["className", "expandIcon", "items"];
1
+ var _excluded = ["className", "items"];
2
2
  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); }
3
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
4
  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; }
@@ -12,7 +12,6 @@ import { Menu as AntdMenu } from 'antd';
12
12
  import classNames from 'classnames';
13
13
  import React from 'react';
14
14
  import { ChevronRightLine } from "../Icon";
15
- import theme from "../style/themes/default/themeColor.module.less";
16
15
  import Divider from "./Divider";
17
16
  import MenuItem from "./MenuItem";
18
17
  import SubMenu from "./SubMenu";
@@ -30,7 +29,10 @@ export function addPopupOffset(items) {
30
29
  return _objectSpread(_objectSpread({
31
30
  popupOffset: [OFFSET_WIDTH, OFFSET_HEIGHT]
32
31
  }, item), {}, {
33
- children: addPopupOffset(item.children)
32
+ children: addPopupOffset(item.children),
33
+ expandIcon: /*#__PURE__*/React.createElement(ChevronRightLine, {
34
+ size: 16
35
+ })
34
36
  });
35
37
  }
36
38
  return item;
@@ -38,15 +40,10 @@ export function addPopupOffset(items) {
38
40
  }
39
41
  export default function Menu(props) {
40
42
  var className = props.className,
41
- expandIcon = props.expandIcon,
42
43
  items = props.items,
43
44
  otherProps = _objectWithoutProperties(props, _excluded);
44
45
  return /*#__PURE__*/React.createElement(AntdMenu, _extends({
45
- className: classNames(className, 'ald-menu'),
46
- expandIcon: expandIcon || /*#__PURE__*/React.createElement(ChevronRightLine, {
47
- color: theme.NL50,
48
- size: 16
49
- })
46
+ className: classNames(className, 'ald-menu')
50
47
  }, otherProps, {
51
48
  items: addPopupOffset(items),
52
49
  theme: "light"