@aloudata/aloudata-design 1.4.2 → 1.5.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 (63) hide show
  1. package/dist/AProgress/index.d.ts +2 -0
  2. package/dist/AProgress/index.js +2 -0
  3. package/dist/AProgress/style/index.d.ts +2 -0
  4. package/dist/AProgress/style/index.js +2 -0
  5. package/dist/AProgress/style/index.less +1 -0
  6. package/dist/Button/index.js +5 -3
  7. package/dist/ConfigProvider/getUserList.d.ts +27 -0
  8. package/dist/ConfigProvider/getUserList.js +16 -0
  9. package/dist/ConfigProvider/hooks/useGetUserList.d.ts +5 -0
  10. package/dist/ConfigProvider/hooks/useGetUserList.js +15 -0
  11. package/dist/ConfigProvider/index.d.ts +21 -4
  12. package/dist/ConfigProvider/index.js +28 -2
  13. package/dist/DataPreviewTable/interface.d.ts +2 -1
  14. package/dist/DataPreviewTable/style/index.less +4 -5
  15. package/dist/DatePicker/index.d.ts +61 -3
  16. package/dist/DatePicker/index.js +35 -1
  17. package/dist/Dropdown/index.js +1 -1
  18. package/dist/Form/index.d.ts +10 -2
  19. package/dist/Form/index.js +14 -2
  20. package/dist/Form/style/index.less +75 -0
  21. package/dist/Input/components/Password/index.d.ts +1 -1
  22. package/dist/Input/components/Password/index.js +7 -5
  23. package/dist/Input/components/TextArea/index.d.ts +1 -1
  24. package/dist/Input/components/TextArea/index.js +5 -3
  25. package/dist/Input/style/index.less +7 -1
  26. package/dist/InputNumber/index.js +24 -6
  27. package/dist/InputNumber/style/index.less +28 -13
  28. package/dist/MemberPicker/assets/default_user_photo.svg +7 -0
  29. package/dist/MemberPicker/components/MemberSelection.d.ts +13 -0
  30. package/dist/MemberPicker/components/MemberSelection.js +75 -0
  31. package/dist/MemberPicker/components/MultipleOption.d.ts +11 -0
  32. package/dist/MemberPicker/components/MultipleOption.js +27 -0
  33. package/dist/MemberPicker/components/NickLabel.d.ts +8 -0
  34. package/dist/MemberPicker/components/NickLabel.js +21 -0
  35. package/dist/MemberPicker/components/Panel.d.ts +14 -0
  36. package/dist/MemberPicker/components/Panel.js +118 -0
  37. package/dist/MemberPicker/components/SelectedMemberTags.d.ts +9 -0
  38. package/dist/MemberPicker/components/SelectedMemberTags.js +29 -0
  39. package/dist/MemberPicker/components/SelectorFooter.d.ts +8 -0
  40. package/dist/MemberPicker/components/SelectorFooter.js +15 -0
  41. package/dist/MemberPicker/components/SingleOption.d.ts +11 -0
  42. package/dist/MemberPicker/components/SingleOption.js +23 -0
  43. package/dist/MemberPicker/index.d.ts +4 -0
  44. package/dist/MemberPicker/index.js +207 -0
  45. package/dist/MemberPicker/interface.d.ts +21 -0
  46. package/dist/MemberPicker/interface.js +1 -0
  47. package/dist/MemberPicker/style/index.d.ts +2 -0
  48. package/dist/MemberPicker/style/index.js +2 -0
  49. package/dist/MemberPicker/style/index.less +187 -0
  50. package/dist/MemberPicker/utils/getUsersWithUserId.d.ts +2 -0
  51. package/dist/MemberPicker/utils/getUsersWithUserId.js +5 -0
  52. package/dist/Radio/components/Group/index.d.ts +1 -1
  53. package/dist/Radio/components/Group/index.js +7 -4
  54. package/dist/ScrollArea/index.d.ts +1 -0
  55. package/dist/ScrollArea/index.js +3 -2
  56. package/dist/Select/index.js +31 -12
  57. package/dist/Select/style/index.less +4 -0
  58. package/dist/Spin/index.js +2 -1
  59. package/dist/Switch/index.js +13 -7
  60. package/dist/index.d.ts +3 -0
  61. package/dist/index.js +2 -0
  62. package/dist/style/themes/default/index.less +1 -1
  63. 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,2 @@
1
+ import '../../style';
2
+ import './index.less';
@@ -0,0 +1,2 @@
1
+ import "../../style";
2
+ import "./index.less";
@@ -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,2 @@
1
+ import { IUser } from '../interface';
2
+ export declare function isUser(value: any): value is IUser;
@@ -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, "className" | "children"> & {
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
- _props$disabled = props.disabled,
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]; // eslint-disable-next-line @typescript-eslint/no-explicit-any
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: 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;
@@ -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: "ald-scroll-area-inner",
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
  },
@@ -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
 
@@ -353,14 +369,14 @@ var Select = /*#__PURE__*/forwardRef(function (props, ref) {
353
369
 
354
370
  return (_selectedOptions$ = selectedOptions[0]) === null || _selectedOptions$ === void 0 ? void 0 : _selectedOptions$.value;
355
371
  }
356
- }, [selectedOptions]);
372
+ }, [selectedOptions, isMultiple]);
357
373
  useEffect(function () {
358
374
  if (prefixRef.current && prefix) {
359
375
  setPrefixWidth(prefixRef.current.offsetWidth);
360
376
  } else {
361
377
  setPrefixWidth(0);
362
378
  }
363
- }, [props.size, prefix]);
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': props.size === 'large',
391
- 'ald-select-small': props.size === 'small',
392
- 'ald-select-disabled': props.disabled,
393
- 'ald-select-middle': props.size !== 'large' && props.size !== 'small',
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[props.size || 'middle'],
445
+ size: suffixIconSizeMap[size || 'middle'],
427
446
  fill: theme.NL50
428
447
  }),
429
448
  onDropdownVisibleChange: function onDropdownVisibleChange(open) {
@@ -30,6 +30,10 @@
30
30
  cursor: pointer;
31
31
  width: 100%;
32
32
 
33
+ &.ald-select-status-error {
34
+ border-color: @error-color;
35
+ }
36
+
33
37
  .ald-select-prefix {
34
38
  color: @NL40;
35
39
  display: inline-flex;
@@ -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: "ald-spin",
25
+ className: classNames('ald-spin', props.className),
25
26
  indicator: /*#__PURE__*/React.createElement(CustomIcon, {
26
27
  size: props.size
27
28
  })