@aloudata/aloudata-design 1.4.3 → 1.5.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.
- package/dist/Button/index.js +5 -3
- package/dist/ConfigProvider/getUserList.d.ts +27 -0
- package/dist/ConfigProvider/getUserList.js +16 -0
- package/dist/ConfigProvider/hooks/useGetUserList.d.ts +5 -0
- package/dist/ConfigProvider/hooks/useGetUserList.js +15 -0
- package/dist/ConfigProvider/index.d.ts +21 -4
- package/dist/ConfigProvider/index.js +28 -2
- package/dist/DataPreviewTable/interface.d.ts +2 -1
- package/dist/DataPreviewTable/style/index.less +4 -5
- package/dist/DatePicker/index.d.ts +59 -3
- package/dist/DatePicker/index.js +36 -1
- package/dist/Form/index.d.ts +10 -2
- package/dist/Form/index.js +14 -2
- package/dist/Form/style/index.less +75 -0
- package/dist/Input/components/Password/index.d.ts +1 -1
- package/dist/Input/components/Password/index.js +7 -5
- package/dist/Input/components/TextArea/index.d.ts +1 -1
- package/dist/Input/components/TextArea/index.js +5 -3
- package/dist/Input/style/index.less +7 -1
- package/dist/InputNumber/index.js +24 -6
- package/dist/InputNumber/style/index.less +28 -13
- package/dist/MemberPicker/assets/default_user_photo.svg +7 -0
- package/dist/MemberPicker/components/MemberSelection.d.ts +13 -0
- package/dist/MemberPicker/components/MemberSelection.js +75 -0
- package/dist/MemberPicker/components/MultipleOption.d.ts +11 -0
- package/dist/MemberPicker/components/MultipleOption.js +27 -0
- package/dist/MemberPicker/components/NickLabel.d.ts +8 -0
- package/dist/MemberPicker/components/NickLabel.js +21 -0
- package/dist/MemberPicker/components/Panel.d.ts +14 -0
- package/dist/MemberPicker/components/Panel.js +118 -0
- package/dist/MemberPicker/components/SelectedMemberTags.d.ts +9 -0
- package/dist/MemberPicker/components/SelectedMemberTags.js +29 -0
- package/dist/MemberPicker/components/SelectorFooter.d.ts +8 -0
- package/dist/MemberPicker/components/SelectorFooter.js +15 -0
- package/dist/MemberPicker/components/SingleOption.d.ts +11 -0
- package/dist/MemberPicker/components/SingleOption.js +23 -0
- package/dist/MemberPicker/index.d.ts +4 -0
- package/dist/MemberPicker/index.js +207 -0
- package/dist/MemberPicker/interface.d.ts +21 -0
- package/dist/MemberPicker/interface.js +1 -0
- package/dist/MemberPicker/style/index.d.ts +2 -0
- package/dist/MemberPicker/style/index.js +2 -0
- package/dist/MemberPicker/style/index.less +187 -0
- package/dist/MemberPicker/utils/getUsersWithUserId.d.ts +2 -0
- package/dist/MemberPicker/utils/getUsersWithUserId.js +5 -0
- package/dist/Radio/components/Group/index.d.ts +1 -1
- package/dist/Radio/components/Group/index.js +7 -4
- package/dist/ScrollArea/index.d.ts +1 -0
- package/dist/ScrollArea/index.js +3 -2
- package/dist/Select/index.js +30 -11
- package/dist/Select/style/index.less +4 -0
- package/dist/Spin/index.js +2 -1
- package/dist/Switch/index.js +13 -7
- package/dist/index.d.ts +2 -0
- package/dist/index.js +1 -0
- package/dist/style/themes/default/index.less +1 -1
- package/package.json +7 -3
|
@@ -0,0 +1,207 @@
|
|
|
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
|
+
|
|
3
|
+
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
|
4
|
+
|
|
5
|
+
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."); }
|
|
6
|
+
|
|
7
|
+
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
|
|
8
|
+
|
|
9
|
+
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
|
|
10
|
+
|
|
11
|
+
function _objectDestructuringEmpty(obj) { if (obj == null) throw new TypeError("Cannot destructure undefined"); }
|
|
12
|
+
|
|
13
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
14
|
+
|
|
15
|
+
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."); }
|
|
16
|
+
|
|
17
|
+
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); }
|
|
18
|
+
|
|
19
|
+
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; }
|
|
20
|
+
|
|
21
|
+
function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
|
|
22
|
+
|
|
23
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
24
|
+
|
|
25
|
+
import { FoldDownFill } from '@aloudata/icons-react';
|
|
26
|
+
import { useRequest } from 'ahooks';
|
|
27
|
+
import classNames from 'classnames';
|
|
28
|
+
import _ from 'lodash';
|
|
29
|
+
import React, { useCallback, useEffect, useMemo, useState } from 'react';
|
|
30
|
+
import ConfigProvider from "../ConfigProvider";
|
|
31
|
+
import Dropdown from "../Dropdown";
|
|
32
|
+
import message from "../message";
|
|
33
|
+
import NickLabel from "./components/NickLabel";
|
|
34
|
+
import Panel from "./components/Panel";
|
|
35
|
+
import { isUser } from "./utils/getUsersWithUserId";
|
|
36
|
+
|
|
37
|
+
var MemberSelector = function MemberSelector(_ref) {
|
|
38
|
+
var value = _ref.value,
|
|
39
|
+
onChange = _ref.onChange,
|
|
40
|
+
multiple = _ref.multiple,
|
|
41
|
+
dropdownWidth = _ref.dropdownWidth,
|
|
42
|
+
children = _ref.children,
|
|
43
|
+
open = _ref.open,
|
|
44
|
+
onOpenChange = _ref.onOpenChange,
|
|
45
|
+
className = _ref.className;
|
|
46
|
+
|
|
47
|
+
var _ConfigProvider$useGe = ConfigProvider.useGetUserList(),
|
|
48
|
+
getUsersByIds = _ConfigProvider$useGe.getUsersByIds,
|
|
49
|
+
getUsersByKeywords = _ConfigProvider$useGe.getUsersByKeywords;
|
|
50
|
+
|
|
51
|
+
var _useState = useState([]),
|
|
52
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
53
|
+
selectedUserList = _useState2[0],
|
|
54
|
+
setSelectedUserList = _useState2[1];
|
|
55
|
+
|
|
56
|
+
var _useState3 = useState([]),
|
|
57
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
58
|
+
searchUserList = _useState4[0],
|
|
59
|
+
setSearchUserList = _useState4[1];
|
|
60
|
+
|
|
61
|
+
var _useState5 = useState(''),
|
|
62
|
+
_useState6 = _slicedToArray(_useState5, 2),
|
|
63
|
+
searchString = _useState6[0],
|
|
64
|
+
setSearchString = _useState6[1];
|
|
65
|
+
|
|
66
|
+
var onSearchValueChange = useCallback(function (v) {
|
|
67
|
+
setSearchString(v);
|
|
68
|
+
}, []);
|
|
69
|
+
|
|
70
|
+
var _useState7 = useState(!!open),
|
|
71
|
+
_useState8 = _slicedToArray(_useState7, 2),
|
|
72
|
+
dropdownOpen = _useState8[0],
|
|
73
|
+
setDropdownOpen = _useState8[1];
|
|
74
|
+
|
|
75
|
+
var queryByKeywords = useMemo(function () {
|
|
76
|
+
if (getUsersByKeywords) {
|
|
77
|
+
return getUsersByKeywords;
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
return function (_ref2) {
|
|
81
|
+
_objectDestructuringEmpty(_ref2);
|
|
82
|
+
|
|
83
|
+
return Promise.reject({
|
|
84
|
+
message: '请在ConfigProvider中配置queryByKeywords方法'
|
|
85
|
+
});
|
|
86
|
+
};
|
|
87
|
+
}, [getUsersByKeywords]);
|
|
88
|
+
var queryByIds = useMemo(function () {
|
|
89
|
+
if (getUsersByIds) {
|
|
90
|
+
return getUsersByIds;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
return function (_ref3) {
|
|
94
|
+
_objectDestructuringEmpty(_ref3);
|
|
95
|
+
|
|
96
|
+
return Promise.reject({
|
|
97
|
+
message: '请在ConfigProvider中配置queryByIds方法'
|
|
98
|
+
});
|
|
99
|
+
};
|
|
100
|
+
}, [getUsersByIds]);
|
|
101
|
+
|
|
102
|
+
var _useRequest = useRequest(function () {
|
|
103
|
+
return queryByKeywords(searchString);
|
|
104
|
+
}, {
|
|
105
|
+
refreshDeps: [searchString],
|
|
106
|
+
manual: true,
|
|
107
|
+
cacheKey: 'member-selector',
|
|
108
|
+
cacheTime: 1000 * 60 * 2,
|
|
109
|
+
// 2分钟内不重复请求
|
|
110
|
+
onSuccess: function onSuccess(result) {
|
|
111
|
+
setSearchUserList(result);
|
|
112
|
+
},
|
|
113
|
+
onError: function onError(error) {
|
|
114
|
+
message.error(error.message);
|
|
115
|
+
}
|
|
116
|
+
}),
|
|
117
|
+
loading = _useRequest.loading,
|
|
118
|
+
run = _useRequest.run;
|
|
119
|
+
|
|
120
|
+
var totalUserList = useMemo(function () {
|
|
121
|
+
var totalUsers = searchUserList.concat(selectedUserList);
|
|
122
|
+
return _.uniqBy(totalUsers, 'userId');
|
|
123
|
+
}, [searchUserList, selectedUserList]);
|
|
124
|
+
useEffect(function () {
|
|
125
|
+
if (!dropdownOpen) return;
|
|
126
|
+
run();
|
|
127
|
+
}, [dropdownOpen, run, searchString]);
|
|
128
|
+
useEffect(function () {
|
|
129
|
+
if (Array.isArray(value) && isUser(value[0])) {
|
|
130
|
+
setSelectedUserList(value);
|
|
131
|
+
} else if (isUser(value)) {
|
|
132
|
+
setSelectedUserList([value]);
|
|
133
|
+
} else {
|
|
134
|
+
var id = [];
|
|
135
|
+
if (!value) return;
|
|
136
|
+
if (Array.isArray(value) && value.length === 0) return;
|
|
137
|
+
|
|
138
|
+
if (!Array.isArray(value)) {
|
|
139
|
+
id = [value];
|
|
140
|
+
} else {
|
|
141
|
+
id = value;
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
queryByIds(id).then(function (result) {
|
|
145
|
+
setSelectedUserList(result);
|
|
146
|
+
});
|
|
147
|
+
}
|
|
148
|
+
}, [value, queryByIds]);
|
|
149
|
+
var onSelectedChange = useCallback(function (users) {
|
|
150
|
+
if (multiple) {
|
|
151
|
+
onChange === null || onChange === void 0 ? void 0 : onChange(users);
|
|
152
|
+
} else {
|
|
153
|
+
onChange === null || onChange === void 0 ? void 0 : onChange(users[0]);
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
setDropdownOpen(false);
|
|
157
|
+
}, [multiple, onChange, setDropdownOpen]);
|
|
158
|
+
useEffect(function () {
|
|
159
|
+
if (typeof open === 'boolean') {
|
|
160
|
+
setDropdownOpen(open);
|
|
161
|
+
}
|
|
162
|
+
}, [open]);
|
|
163
|
+
var onDropdownOpenChange = useCallback(function (open) {
|
|
164
|
+
setDropdownOpen(open);
|
|
165
|
+
onOpenChange === null || onOpenChange === void 0 ? void 0 : onOpenChange(open);
|
|
166
|
+
}, [onOpenChange]);
|
|
167
|
+
return /*#__PURE__*/React.createElement(Dropdown, {
|
|
168
|
+
open: dropdownOpen,
|
|
169
|
+
trigger: ['click'],
|
|
170
|
+
onOpenChange: onDropdownOpenChange,
|
|
171
|
+
destroyPopupOnHide: true,
|
|
172
|
+
dropdownRender: function dropdownRender() {
|
|
173
|
+
return /*#__PURE__*/React.createElement(Panel, {
|
|
174
|
+
value: selectedUserList,
|
|
175
|
+
userList: totalUserList,
|
|
176
|
+
multiple: multiple,
|
|
177
|
+
loading: loading,
|
|
178
|
+
dropdownWidth: dropdownWidth,
|
|
179
|
+
onSearchValueChange: onSearchValueChange,
|
|
180
|
+
onChange: onSelectedChange,
|
|
181
|
+
onCancel: setDropdownOpen.bind(null, false)
|
|
182
|
+
});
|
|
183
|
+
}
|
|
184
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
185
|
+
className: classNames(className, 'ald-member-picker-trigger')
|
|
186
|
+
}, children || /*#__PURE__*/React.createElement("div", {
|
|
187
|
+
className: "ald-member-picker-content-wrap"
|
|
188
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
189
|
+
className: 'ald-member-picker-content'
|
|
190
|
+
}, selectedUserList.reduce(function (prev, cur) {
|
|
191
|
+
if (prev.length > 0) {
|
|
192
|
+
return [].concat(_toConsumableArray(prev), [',', /*#__PURE__*/React.createElement(NickLabel, _extends({
|
|
193
|
+
key: cur.userId
|
|
194
|
+
}, cur))]);
|
|
195
|
+
} else {
|
|
196
|
+
return [/*#__PURE__*/React.createElement(NickLabel, _extends({
|
|
197
|
+
key: cur.userId
|
|
198
|
+
}, cur))];
|
|
199
|
+
}
|
|
200
|
+
}, [])), /*#__PURE__*/React.createElement(FoldDownFill, {
|
|
201
|
+
size: 20,
|
|
202
|
+
className: 'ald-member-picker-trigger-icon',
|
|
203
|
+
fill: "#858585"
|
|
204
|
+
}))));
|
|
205
|
+
};
|
|
206
|
+
|
|
207
|
+
export default MemberSelector;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { IUser } from '../ConfigProvider/getUserList';
|
|
3
|
+
export declare type MemberPickerValue = IUser | IUser[] | string | string[];
|
|
4
|
+
export interface IBaseMemberSelectorProps {
|
|
5
|
+
value: MemberPickerValue;
|
|
6
|
+
className?: string;
|
|
7
|
+
dropdownWidth?: number;
|
|
8
|
+
children?: React.ReactNode;
|
|
9
|
+
open?: boolean;
|
|
10
|
+
onOpenChange?: (open: boolean) => void;
|
|
11
|
+
}
|
|
12
|
+
export interface IMultipleMemberSelectorProps extends IBaseMemberSelectorProps {
|
|
13
|
+
multiple: true;
|
|
14
|
+
onChange(v: IUser[]): void;
|
|
15
|
+
}
|
|
16
|
+
export interface ISingleMemberSelectorProps extends IBaseMemberSelectorProps {
|
|
17
|
+
multiple?: false;
|
|
18
|
+
onChange(v: IUser): void;
|
|
19
|
+
}
|
|
20
|
+
export declare type IMemberPickerProps = IMultipleMemberSelectorProps | ISingleMemberSelectorProps;
|
|
21
|
+
export type { IUser };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,187 @@
|
|
|
1
|
+
@import '../../style/index.less';
|
|
2
|
+
@import '../../Dropdown/style/index.less';
|
|
3
|
+
@import '../../Input/style/index.less';
|
|
4
|
+
@import '../../Avatar/style/index.less';
|
|
5
|
+
@import '../../ScrollArea/style/index.less';
|
|
6
|
+
@import '../../Empty/style/index.less';
|
|
7
|
+
@import '../../message/style/index.less';
|
|
8
|
+
@import '../../Spin/style/index.less';
|
|
9
|
+
|
|
10
|
+
.ald-member-picker-wrapper {
|
|
11
|
+
border: 1px solid var(--colors-gray-400, #dbdbdb);
|
|
12
|
+
background: var(--colors-neutral-white, #fff);
|
|
13
|
+
box-shadow: 0 20px 24px -4px rgb(16 24 40 / 8%),
|
|
14
|
+
0 8px 8px -4px rgb(16 24 40 / 3%);
|
|
15
|
+
|
|
16
|
+
&.ald-member-picker-multiple {
|
|
17
|
+
display: grid;
|
|
18
|
+
grid-template-columns: repeat(2, 1fr);
|
|
19
|
+
grid-template-rows: 320px 56px;
|
|
20
|
+
border-radius: 4px;
|
|
21
|
+
// .memberSelection {
|
|
22
|
+
// }
|
|
23
|
+
.ald-member-picker-selected-member-tags {
|
|
24
|
+
border-left: 1px solid var(--colors-gray-400, #dbdbdb);
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
.ald-member-picker-selector-footer {
|
|
28
|
+
grid-column: 1 / 3;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
.ald-member-picker-member-list-wrap {
|
|
34
|
+
.ald-member-picker-search-input {
|
|
35
|
+
border: none;
|
|
36
|
+
border-bottom: 1px solid var(--colors-gray-300, #e8e8e8);
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
.ald-member-picker-member-list {
|
|
40
|
+
height: calc(100% - 32px);
|
|
41
|
+
min-height: 180px;
|
|
42
|
+
|
|
43
|
+
.ald-member-picker-member-scroll {
|
|
44
|
+
max-height: 288px;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
.ald-member-picker-selected-member-tags-wrap {
|
|
50
|
+
max-height: 320px;
|
|
51
|
+
padding: 8px;
|
|
52
|
+
display: grid;
|
|
53
|
+
grid-template-columns: auto;
|
|
54
|
+
grid-template-rows: 20px auto;
|
|
55
|
+
gap: 8px;
|
|
56
|
+
|
|
57
|
+
.ald-member-picker-has-selected {
|
|
58
|
+
color: var(--colors-gray-900, #171717);
|
|
59
|
+
font-size: 13px;
|
|
60
|
+
font-style: normal;
|
|
61
|
+
font-weight: 400;
|
|
62
|
+
line-height: 20px;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
.ald-member-picker-tags {
|
|
66
|
+
display: flex;
|
|
67
|
+
flex-wrap: wrap;
|
|
68
|
+
align-content: flex-start;
|
|
69
|
+
gap: 8px;
|
|
70
|
+
|
|
71
|
+
.ald-member-picker-selected-member-tag {
|
|
72
|
+
display: flex;
|
|
73
|
+
padding: 1px 5px;
|
|
74
|
+
justify-content: center;
|
|
75
|
+
gap: var(--global-number-spacing-spacing-xxs, 4px);
|
|
76
|
+
border-radius: var(--global-number-radius-radius-sm, 2px);
|
|
77
|
+
border: 1px solid var(--colors-gray-300, #e8e8e8);
|
|
78
|
+
font-size: 13px;
|
|
79
|
+
font-style: normal;
|
|
80
|
+
font-weight: 400;
|
|
81
|
+
line-height: 20px;
|
|
82
|
+
height: 24px;
|
|
83
|
+
|
|
84
|
+
.ald-member-picker-close {
|
|
85
|
+
cursor: pointer;
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
.ald-member-picker-footer {
|
|
92
|
+
display: flex;
|
|
93
|
+
padding: var(--global-number-spacing-spacing-sm, 12px)
|
|
94
|
+
var(--global-number-spacing-spacing-lg, 24px);
|
|
95
|
+
justify-content: flex-end;
|
|
96
|
+
align-items: center;
|
|
97
|
+
gap: var(--global-number-spacing-spacing-sm, 12px);
|
|
98
|
+
align-self: stretch;
|
|
99
|
+
border-top: 1px solid var(--colors-gray-300, #e8e8e8);
|
|
100
|
+
background: var(--colors-gray-97, #f8f8f8);
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
.ald-member-picker-option {
|
|
104
|
+
padding: 0 8px;
|
|
105
|
+
display: flex;
|
|
106
|
+
align-items: center;
|
|
107
|
+
box-sizing: border-box;
|
|
108
|
+
height: 32px;
|
|
109
|
+
line-height: 20px;
|
|
110
|
+
gap: 4px;
|
|
111
|
+
cursor: pointer;
|
|
112
|
+
|
|
113
|
+
&:hover {
|
|
114
|
+
background: var(--colors-gray-98, #f4f4f4);
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
&.ald-member-picker-single-option-selected {
|
|
118
|
+
background: var(--colors-blue-100, #f0f6ff);
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
.ald-member-picker-checkbox {
|
|
122
|
+
display: flex;
|
|
123
|
+
align-items: center;
|
|
124
|
+
justify-content: center;
|
|
125
|
+
pointer-events: none;
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
.ald-member-picker-name {
|
|
129
|
+
color: var(--colors-gray-900, #171717);
|
|
130
|
+
font-size: 13px;
|
|
131
|
+
font-style: normal;
|
|
132
|
+
font-weight: 400;
|
|
133
|
+
line-height: 20px;
|
|
134
|
+
white-space: nowrap;
|
|
135
|
+
overflow: hidden;
|
|
136
|
+
text-overflow: ellipsis;
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
.ald-member-picker-trigger {
|
|
141
|
+
display: flex;
|
|
142
|
+
align-items: center;
|
|
143
|
+
width: auto;
|
|
144
|
+
height: 32px;
|
|
145
|
+
box-sizing: border-box;
|
|
146
|
+
padding: 0 8px;
|
|
147
|
+
background: var(--colors-neutral-white, #fff);
|
|
148
|
+
justify-content: space-between;
|
|
149
|
+
|
|
150
|
+
.ald-member-picker-content-wrap {
|
|
151
|
+
border-radius: 2px;
|
|
152
|
+
border: 1px solid var(--colors-gray-400, #dbdbdb);
|
|
153
|
+
height: 100%;
|
|
154
|
+
width: 100%;
|
|
155
|
+
display: flex;
|
|
156
|
+
align-items: center;
|
|
157
|
+
justify-content: space-between;
|
|
158
|
+
|
|
159
|
+
.ald-member-picker-content {
|
|
160
|
+
height: 100%;
|
|
161
|
+
display: flex;
|
|
162
|
+
align-items: center;
|
|
163
|
+
flex-grow: 0;
|
|
164
|
+
flex-shrink: 1;
|
|
165
|
+
white-space: nowrap;
|
|
166
|
+
overflow: hidden;
|
|
167
|
+
text-overflow: ellipsis;
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
.ald-member-picker-nick-label {
|
|
173
|
+
font-size: 0;
|
|
174
|
+
display: inline-flex;
|
|
175
|
+
gap: 4px;
|
|
176
|
+
flex-wrap: nowrap;
|
|
177
|
+
align-items: center;
|
|
178
|
+
|
|
179
|
+
.ald-member-picker-nick-label-name {
|
|
180
|
+
color: var(--colors-gray-900, #171717);
|
|
181
|
+
font-size: 13px;
|
|
182
|
+
font-style: normal;
|
|
183
|
+
font-weight: 400;
|
|
184
|
+
line-height: 20px;
|
|
185
|
+
white-space: nowrap;
|
|
186
|
+
}
|
|
187
|
+
}
|
|
@@ -0,0 +1,5 @@
|
|
|
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
|
+
|
|
3
|
+
export function isUser(value) {
|
|
4
|
+
return value && _typeof(value) === 'object' && 'userId' in value;
|
|
5
|
+
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { IRadioGroupProps } from '../../interface/radioGroup';
|
|
3
|
-
export declare const RadioGroupContext: React.Context<Omit<IRadioGroupProps, "
|
|
3
|
+
export declare const RadioGroupContext: React.Context<Omit<IRadioGroupProps, "children" | "className"> & {
|
|
4
4
|
sliderRef?: React.RefObject<HTMLDivElement> | undefined;
|
|
5
5
|
}>;
|
|
6
6
|
export default function RadioGroup(props: IRadioGroupProps): JSX.Element;
|
|
@@ -15,6 +15,7 @@ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
|
15
15
|
import classNames from 'classnames';
|
|
16
16
|
import useMergedState from 'rc-util/lib/hooks/useMergedState';
|
|
17
17
|
import React, { createContext, useRef } from 'react';
|
|
18
|
+
import DisabledContext from 'antd/lib/config-provider/DisabledContext';
|
|
18
19
|
export var RadioGroupContext = /*#__PURE__*/createContext({});
|
|
19
20
|
export default function RadioGroup(props) {
|
|
20
21
|
var children = props.children,
|
|
@@ -25,8 +26,7 @@ export default function RadioGroup(props) {
|
|
|
25
26
|
_props$type = props.type,
|
|
26
27
|
type = _props$type === void 0 ? 'radio' : _props$type,
|
|
27
28
|
className = props.className,
|
|
28
|
-
|
|
29
|
-
disabled = _props$disabled === void 0 ? false : _props$disabled; // 滑块的ref
|
|
29
|
+
customDisabled = props.disabled; // 滑块的ref
|
|
30
30
|
|
|
31
31
|
var sliderRef = useRef(null); // 该hooks与useState相同,但是当props中有value值时,优先使用value的值
|
|
32
32
|
|
|
@@ -35,9 +35,12 @@ export default function RadioGroup(props) {
|
|
|
35
35
|
}),
|
|
36
36
|
_useMergedState2 = _slicedToArray(_useMergedState, 2),
|
|
37
37
|
value = _useMergedState2[0],
|
|
38
|
-
setValue = _useMergedState2[1]; //
|
|
38
|
+
setValue = _useMergedState2[1]; // ===================== Disabled =====================
|
|
39
39
|
|
|
40
40
|
|
|
41
|
+
var disabled = React.useContext(DisabledContext);
|
|
42
|
+
var mergedDisabled = customDisabled !== null && customDisabled !== void 0 ? customDisabled : disabled; // eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
43
|
+
|
|
41
44
|
var onRadioChange = function onRadioChange(selectedValue) {
|
|
42
45
|
var lastValue = value; // const val = ev.target.value;
|
|
43
46
|
// console.log(selectValue);
|
|
@@ -66,7 +69,7 @@ export default function RadioGroup(props) {
|
|
|
66
69
|
size: size,
|
|
67
70
|
type: type,
|
|
68
71
|
sliderRef: sliderRef,
|
|
69
|
-
disabled:
|
|
72
|
+
disabled: mergedDisabled
|
|
70
73
|
}
|
|
71
74
|
}, /*#__PURE__*/React.createElement("div", {
|
|
72
75
|
className: getWrapperClass()
|
|
@@ -6,6 +6,7 @@ interface Props extends ScrollAreaProps {
|
|
|
6
6
|
horizontalScrollBarClassName?: string;
|
|
7
7
|
verticalScrollBarClassName?: string;
|
|
8
8
|
onViewportScroll?: (event: React.UIEvent<HTMLDivElement>) => void;
|
|
9
|
+
innerClassName?: string;
|
|
9
10
|
}
|
|
10
11
|
declare const _default: React.MemoExoticComponent<React.ForwardRefExoticComponent<Props & React.RefAttributes<HTMLDivElement>>>;
|
|
11
12
|
export default _default;
|
package/dist/ScrollArea/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
var _excluded = ["children", "className", "horizontalScrollBarClassName", "verticalScrollBarClassName", "onViewportScroll"];
|
|
1
|
+
var _excluded = ["children", "className", "innerClassName", "horizontalScrollBarClassName", "verticalScrollBarClassName", "onViewportScroll"];
|
|
2
2
|
|
|
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
|
|
|
@@ -13,6 +13,7 @@ import React, { forwardRef, memo } from 'react';
|
|
|
13
13
|
var ScrollArea = function ScrollArea(props, ref) {
|
|
14
14
|
var children = props.children,
|
|
15
15
|
className = props.className,
|
|
16
|
+
innerClassName = props.innerClassName,
|
|
16
17
|
horizontalScrollBarClassName = props.horizontalScrollBarClassName,
|
|
17
18
|
verticalScrollBarClassName = props.verticalScrollBarClassName,
|
|
18
19
|
onViewportScroll = props.onViewportScroll,
|
|
@@ -22,7 +23,7 @@ var ScrollArea = function ScrollArea(props, ref) {
|
|
|
22
23
|
scrollHideDelay: 50,
|
|
23
24
|
className: classNames('ald-scroll-area', className)
|
|
24
25
|
}), /*#__PURE__*/React.createElement(ScrollAreaComponent.Viewport, {
|
|
25
|
-
className:
|
|
26
|
+
className: classNames('ald-scroll-area-inner', innerClassName),
|
|
26
27
|
onScroll: function onScroll(event) {
|
|
27
28
|
onViewportScroll === null || onViewportScroll === void 0 ? void 0 : onViewportScroll(event);
|
|
28
29
|
},
|
package/dist/Select/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
var _excluded = ["mode", "options", "dropdownRender", "onDropdownVisibleChange", "defaultValue", "onChange", "open", "defaultOpen", "prefix", "className", "popupClassName", "listHeight", "listItemHeight", "notFoundContent", "value", "tagRender", "style", "autoFocus", "showSearch", "showAllOption"];
|
|
1
|
+
var _excluded = ["mode", "options", "dropdownRender", "onDropdownVisibleChange", "defaultValue", "onChange", "open", "defaultOpen", "prefix", "className", "popupClassName", "listHeight", "listItemHeight", "notFoundContent", "value", "tagRender", "style", "autoFocus", "showSearch", "showAllOption", "size", "status", "disabled"];
|
|
2
2
|
|
|
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
|
|
|
@@ -30,9 +30,13 @@ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) r
|
|
|
30
30
|
|
|
31
31
|
import { FoldDownFill } from '@aloudata/icons-react';
|
|
32
32
|
import { Select as AntdSelect } from 'antd';
|
|
33
|
+
import DisabledContext from 'antd/lib/config-provider/DisabledContext';
|
|
34
|
+
import { FormItemInputContext } from 'antd/lib/form/context';
|
|
35
|
+
import { getMergedStatus } from 'antd/lib/_util/statusUtils';
|
|
33
36
|
import classNames from 'classnames';
|
|
34
37
|
import List from 'rc-virtual-list';
|
|
35
|
-
import React, { forwardRef, useEffect, useImperativeHandle, useMemo, useRef } from 'react';
|
|
38
|
+
import React, { forwardRef, useContext, useEffect, useImperativeHandle, useMemo, useRef } from 'react';
|
|
39
|
+
import SizeContext from "../ConfigProvider/sizeContext";
|
|
36
40
|
import Empty from "../Empty";
|
|
37
41
|
import theme from "../style/themes/default/themeColor.module.less";
|
|
38
42
|
import MultipleOption from "./components/MultipleOption";
|
|
@@ -116,8 +120,21 @@ var Select = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
116
120
|
_props$showSearch = props.showSearch,
|
|
117
121
|
showSearch = _props$showSearch === void 0 ? false : _props$showSearch,
|
|
118
122
|
showAllOption = props.showAllOption,
|
|
123
|
+
customSize = props.size,
|
|
124
|
+
customStatus = props.status,
|
|
125
|
+
customDisabled = props.disabled,
|
|
119
126
|
restProps = _objectWithoutProperties(props, _excluded);
|
|
120
127
|
|
|
128
|
+
var contentSize = useContext(SizeContext);
|
|
129
|
+
|
|
130
|
+
var _React$useContext = React.useContext(FormItemInputContext),
|
|
131
|
+
contextStatus = _React$useContext.status;
|
|
132
|
+
|
|
133
|
+
var mergedStatus = getMergedStatus(contextStatus, customStatus);
|
|
134
|
+
var size = customSize || contentSize || 'middle'; // ===================== Disabled =====================
|
|
135
|
+
|
|
136
|
+
var disabled = React.useContext(DisabledContext);
|
|
137
|
+
var mergedDisabled = customDisabled !== null && customDisabled !== void 0 ? customDisabled : disabled;
|
|
121
138
|
var isMultiple = mode === 'multiple';
|
|
122
139
|
var innerOptions = useMemo(function () {
|
|
123
140
|
if (showAllOption && isMultiple && options) {
|
|
@@ -222,7 +239,6 @@ var Select = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
222
239
|
}
|
|
223
240
|
|
|
224
241
|
if (typeof value === 'undefined') {
|
|
225
|
-
console.log(newOptions, 'newOptions');
|
|
226
242
|
setSelectedOptions(newOptions);
|
|
227
243
|
}
|
|
228
244
|
|
|
@@ -360,7 +376,7 @@ var Select = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
360
376
|
} else {
|
|
361
377
|
setPrefixWidth(0);
|
|
362
378
|
}
|
|
363
|
-
}, [
|
|
379
|
+
}, [size, prefix]);
|
|
364
380
|
var styleVar = {
|
|
365
381
|
'--ald-select-prefix-width': "".concat(prefixWidth, "px")
|
|
366
382
|
};
|
|
@@ -384,16 +400,16 @@ var Select = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
384
400
|
}
|
|
385
401
|
}, [value, innerOptions, isMultiple]);
|
|
386
402
|
return /*#__PURE__*/React.createElement("div", {
|
|
387
|
-
className: classNames('ald-select', className, {
|
|
403
|
+
className: classNames('ald-select', className, _defineProperty({
|
|
388
404
|
'ald-select-multiple': isMultiple,
|
|
389
405
|
'ald-select-single': !isMultiple,
|
|
390
|
-
'ald-select-large':
|
|
391
|
-
'ald-select-small':
|
|
392
|
-
'ald-select-disabled':
|
|
393
|
-
'ald-select-middle':
|
|
406
|
+
'ald-select-large': size === 'large',
|
|
407
|
+
'ald-select-small': size === 'small',
|
|
408
|
+
'ald-select-disabled': mergedDisabled,
|
|
409
|
+
'ald-select-middle': size !== 'large' && size !== 'small',
|
|
394
410
|
'ald-select-open': typeof _open === 'boolean' ? _open : isOpen,
|
|
395
411
|
'ald-select-focus': isFocus
|
|
396
|
-
}),
|
|
412
|
+
}, "ald-select-status-".concat(mergedStatus), mergedStatus)),
|
|
397
413
|
spellCheck: false,
|
|
398
414
|
style: Object.assign(styleVar, style)
|
|
399
415
|
}, !!prefix && /*#__PURE__*/React.createElement("span", {
|
|
@@ -405,11 +421,14 @@ var Select = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
405
421
|
}
|
|
406
422
|
}
|
|
407
423
|
}, prefix), /*#__PURE__*/React.createElement(AntdSelect, _extends({}, restProps, {
|
|
424
|
+
// @ts-ignore
|
|
425
|
+
status: mergedStatus,
|
|
408
426
|
showSearch: showSearch,
|
|
409
427
|
options: innerOptions,
|
|
410
428
|
mode: isMultiple ? 'multiple' : undefined,
|
|
411
429
|
bordered: false,
|
|
412
430
|
open: typeof _open === 'boolean' ? _open : isOpen,
|
|
431
|
+
disabled: mergedDisabled,
|
|
413
432
|
maxTagCount: "responsive",
|
|
414
433
|
ref: selectRef,
|
|
415
434
|
tagRender: tagRender || defaultTagRender,
|
|
@@ -423,7 +442,7 @@ var Select = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
423
442
|
width: '100%'
|
|
424
443
|
},
|
|
425
444
|
suffixIcon: /*#__PURE__*/React.createElement(FoldDownFill, {
|
|
426
|
-
size: suffixIconSizeMap[
|
|
445
|
+
size: suffixIconSizeMap[size || 'middle'],
|
|
427
446
|
fill: theme.NL50
|
|
428
447
|
}),
|
|
429
448
|
onDropdownVisibleChange: function onDropdownVisibleChange(open) {
|
package/dist/Spin/index.js
CHANGED
|
@@ -7,6 +7,7 @@ function _objectWithoutProperties(source, excluded) { if (source == null) return
|
|
|
7
7
|
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; }
|
|
8
8
|
|
|
9
9
|
import { Spin } from 'antd';
|
|
10
|
+
import classNames from 'classnames';
|
|
10
11
|
import React from 'react';
|
|
11
12
|
import CustomIcon from "./CustomIcon";
|
|
12
13
|
|
|
@@ -21,7 +22,7 @@ function CustomSpin(props) {
|
|
|
21
22
|
}
|
|
22
23
|
|
|
23
24
|
return /*#__PURE__*/React.createElement(Spin, _extends({
|
|
24
|
-
className:
|
|
25
|
+
className: classNames('ald-spin', props.className),
|
|
25
26
|
indicator: /*#__PURE__*/React.createElement(CustomIcon, {
|
|
26
27
|
size: props.size
|
|
27
28
|
})
|