@aloudata/aloudata-design 2.19.2 → 2.19.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.
@@ -12,7 +12,7 @@
12
12
  cursor: pointer;
13
13
 
14
14
  &-disabled {
15
- cursor: not-allowed;
15
+ cursor: initial;
16
16
 
17
17
  .beta-ald-select-prefix {
18
18
  svg {
@@ -22,10 +22,27 @@
22
22
  cursor: pointer;
23
23
  transition: border 0.5s ease-in-out;
24
24
  border-radius: 4px;
25
+ color: var(--content-primary);
25
26
 
26
27
  &:not(.ald-color-picker-wrapper-disabled):hover {
27
28
  border: 1px solid var(--interaction-border-normal);
28
29
  }
30
+
31
+ &-disabled {
32
+ border: 1px solid var(--interaction-border-neutral-normal);
33
+ background: var(--global-cool-gray-alpha-50);
34
+ color: var(--content-primary);
35
+
36
+ &.ald-color-picker-wrapper-borderless {
37
+ border-color: transparent;
38
+ background: transparent;
39
+ }
40
+
41
+ &:hover {
42
+ border-color: var(--interaction-border-neutral-normal);
43
+ background-color: var(--global-cool-gray-alpha-50);
44
+ }
45
+ }
29
46
  }
30
47
 
31
48
  .ald-color-picker-wrapper-borderless {
@@ -165,5 +182,9 @@
165
182
  }
166
183
 
167
184
  .ald-color-picker-disabled {
168
- opacity: 0.4;
185
+ cursor: initial;
186
+
187
+ .ald-color-picker-wrapper {
188
+ cursor: initial;
189
+ }
169
190
  }
@@ -1,7 +1,10 @@
1
1
  import React from 'react';
2
2
  export default function InputSearch(props: IProps): React.JSX.Element;
3
3
  interface IProps {
4
+ /** 搜索回调,在输入完成时触发(回车、输入法结束、非输入法输入时) */
4
5
  onSearch: (value: string) => void;
6
+ /** 值变化回调(受控模式时推荐使用,每次输入都触发,包括输入法期间) */
7
+ onChange?: (value: string) => void;
5
8
  onBlur?: (value: string, e: React.FocusEvent<HTMLInputElement>) => void;
6
9
  className?: string;
7
10
  debounce?: boolean;
@@ -30,6 +30,7 @@ export default function InputSearch(props) {
30
30
  locale = _useContext.locale;
31
31
  var t = getTranslator(locale);
32
32
  var onSearch = props.onSearch,
33
+ onChange = props.onChange,
33
34
  className = props.className,
34
35
  _props$debounce = props.debounce,
35
36
  debounce = _props$debounce === void 0 ? true : _props$debounce,
@@ -91,6 +92,9 @@ export default function InputSearch(props) {
91
92
  // 非受控模式才更新内部状态
92
93
  if (!isControlled) {
93
94
  setSearchValue(newValue);
95
+ } else {
96
+ onChange === null || onChange === void 0 ? void 0 : onChange(newValue);
97
+ return;
94
98
  }
95
99
  if (!isComposing.current) {
96
100
  // 受控的时候debounce不生效
@@ -100,11 +104,14 @@ export default function InputSearch(props) {
100
104
  onSearch(newValue);
101
105
  }
102
106
  }
103
- }, [debounce, debounceSearch, onSearch, isControlled]);
107
+ }, [debounce, debounceSearch, onSearch, isControlled, onChange]);
104
108
  var handleCompositionStart = useCallback(function () {
105
109
  isComposing.current = true;
106
110
  }, []);
107
111
  var handleCompositionEnd = useCallback(function (e) {
112
+ if (isControlled) {
113
+ return;
114
+ }
108
115
  isComposing.current = false;
109
116
  // 在输入法结束后触发一次搜索
110
117
  var value = e.target.value;
@@ -113,7 +120,7 @@ export default function InputSearch(props) {
113
120
  } else {
114
121
  onSearch(value);
115
122
  }
116
- }, [debounce, debounceSearch, onSearch]);
123
+ }, [debounce, debounceSearch, isControlled, onSearch]);
117
124
  var iconSize = useMemo(function () {
118
125
  if (size === 'middle' || size === 'large') {
119
126
  return 20;
@@ -22,6 +22,7 @@ interface IPanelProps {
22
22
  originNode: ReactNode;
23
23
  }) => ReactNode;
24
24
  renderSelectedTag?: (user: IUser | IUserGroup, originNode: ReactNode) => ReactNode;
25
+ filterItem?: (item: IUser | IUserGroup) => boolean;
25
26
  }
26
27
  export declare const userDisplayNameIsRepeated: (userList: TUser, displayName?: string) => boolean;
27
28
  export default function Panel(props: IPanelProps): React.JSX.Element;
@@ -46,7 +46,8 @@ export default function Panel(props) {
46
46
  footer = props.footer,
47
47
  onCancel = props.onCancel,
48
48
  renderItem = props.renderItem,
49
- renderSelectedTag = props.renderSelectedTag;
49
+ renderSelectedTag = props.renderSelectedTag,
50
+ filterItem = props.filterItem;
50
51
  var _useState = useState([]),
51
52
  _useState2 = _slicedToArray(_useState, 2),
52
53
  selectedUsers = _useState2[0],
@@ -97,6 +98,7 @@ export default function Panel(props) {
97
98
  var userSelection = /*#__PURE__*/React.createElement(MemberSelection, {
98
99
  className: 'ald-member-picker-member-selection-multiple',
99
100
  userList: dataList.filter(isUser),
101
+ filterItem: filterItem,
100
102
  width: (panelwidth - 6) / 2,
101
103
  selectedUsers: selectedUsers.filter(isUser),
102
104
  onChange: onSelectionChange,
@@ -109,6 +111,7 @@ export default function Panel(props) {
109
111
  var userGroupSelection = /*#__PURE__*/React.createElement(UserGroupSelection, {
110
112
  className: 'ald-member-picker-member-selection-multiple',
111
113
  userGroupList: dataList.filter(isUserGroup),
114
+ filterItem: filterItem,
112
115
  width: (panelwidth - 6) / 2,
113
116
  selectedUsersGroup: selectedUsers.filter(isUserGroup),
114
117
  onChange: onSelectionChange,
@@ -20,6 +20,7 @@ interface IProps {
20
20
  originNode: ReactNode;
21
21
  }) => ReactNode;
22
22
  renderSelectedTag?: (user: IUser | IUserGroup, originNode: ReactNode) => ReactNode;
23
+ filterItem?: (item: IUser | IUserGroup) => boolean;
23
24
  }
24
- export declare const PanelWrapper: ({ type, value, multiple, dropdownWidth, onChange, onCancel, className, footer, lockedIds, renderItem, renderSelectedTag, }: IProps) => React.JSX.Element;
25
+ export declare const PanelWrapper: ({ type, value, multiple, dropdownWidth, onChange, onCancel, className, footer, lockedIds, renderItem, renderSelectedTag, filterItem, }: IProps) => React.JSX.Element;
25
26
  export default PanelWrapper;
@@ -26,7 +26,8 @@ export var PanelWrapper = function PanelWrapper(_ref) {
26
26
  _ref$lockedIds = _ref.lockedIds,
27
27
  lockedIds = _ref$lockedIds === void 0 ? [] : _ref$lockedIds,
28
28
  renderItem = _ref.renderItem,
29
- renderSelectedTag = _ref.renderSelectedTag;
29
+ renderSelectedTag = _ref.renderSelectedTag,
30
+ filterItem = _ref.filterItem;
30
31
  var _useContext = useContext(LocaleContext),
31
32
  locale = _useContext.locale;
32
33
  var t = getTranslator(locale);
@@ -88,12 +89,17 @@ export var PanelWrapper = function PanelWrapper(_ref) {
88
89
  loading = _useRequest.loading,
89
90
  run = _useRequest.run;
90
91
  var totalUserList = useMemo(function () {
91
- var totalUsers = searchUserList.concat(selectedUserList);
92
+ var totalUsers = searchUserList.concat(selectedUserList).filter(function (item) {
93
+ if (filterItem) {
94
+ return filterItem(item);
95
+ }
96
+ return true;
97
+ });
92
98
  return _.uniqBy(totalUsers, function (data) {
93
99
  if (data.type === EUserType.USER) return data.userId;
94
100
  return data.groupId;
95
101
  });
96
- }, [searchUserList, selectedUserList]);
102
+ }, [searchUserList, selectedUserList, filterItem]);
97
103
  useEffect(function () {
98
104
  run();
99
105
  }, [run, searchString]);
@@ -51,6 +51,18 @@ export default function useScroll(props) {
51
51
  if (!elem) {
52
52
  return;
53
53
  }
54
+
55
+ // 先检查表格是否真的需要横向滚动
56
+ var DEVIATION = 2;
57
+ var needsHorizontalScroll = elem.scrollWidth > elem.clientWidth + DEVIATION;
58
+ if (!needsHorizontalScroll) {
59
+ // 表格宽度足够,不需要横向滚动,隐藏左右两侧阴影
60
+ setIsPingLeft(false);
61
+ setIsPingRight(false);
62
+ return;
63
+ }
64
+
65
+ // 表格需要横向滚动,根据滚动位置判断是否显示阴影
54
66
  var scrollLeft = elem.scrollLeft;
55
67
  if (scrollLeft <= 0) {
56
68
  setIsPingLeft(false);
@@ -10,5 +10,6 @@
10
10
  &.ald-text-link-disabled {
11
11
  pointer-events: none;
12
12
  cursor: default;
13
+ opacity: 0.5;
13
14
  }
14
15
  }
@@ -20,14 +20,6 @@
20
20
  color: var(--interaction-default-selected);
21
21
  }
22
22
  }
23
-
24
- &.ald-text-link-disabled {
25
- color: var(--alias-colors-text-disabled);
26
-
27
- .ald-icon {
28
- color: var(--alias-colors-icon-disabled);
29
- }
30
- }
31
23
  }
32
24
 
33
25
  .ald-text-link-secondary {
@@ -52,14 +44,6 @@
52
44
  color: var(--interaction-default-selected);
53
45
  }
54
46
  }
55
-
56
- &.ald-text-link-disabled {
57
- color: var(--alias-colors-text-disabled);
58
-
59
- .ald-icon {
60
- color: var(--alias-colors-icon-disabled);
61
- }
62
- }
63
47
  }
64
48
 
65
49
  .ald-text-link-show-underline {