@aloudata/aloudata-design 0.4.8-beta.1 → 0.4.8-beta.11
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 -5
- package/dist/Button/style/index.less +48 -44
- package/dist/Button/style/variables.less +13 -13
- package/dist/Checkbox/style/index.less +7 -3
- package/dist/DoubleCircleIcon/index.d.ts +1 -0
- package/dist/DoubleCircleIcon/index.js +5 -2
- package/dist/DoubleCircleIcon/style/index.less +33 -1
- package/dist/Dropdown/style/index.less +11 -10
- package/dist/Empty/image/SearchSmall.js +5 -0
- package/dist/Empty/style/index.less +11 -0
- package/dist/Icon/icons.js +32 -0
- package/dist/Input/style/index.less +54 -39
- package/dist/Menu/style/index.less +73 -2
- package/dist/Modal/index.d.ts +4 -1
- package/dist/Modal/index.js +178 -67
- package/dist/Modal/style/index.less +46 -6
- package/dist/Radio/components/Group/index.js +7 -4
- package/dist/Radio/components/Radio/index.js +9 -6
- package/dist/Radio/interface/radioGroup.d.ts +6 -1
- package/dist/Radio/style/index.less +152 -46
- package/dist/Select/components/MultipleOption.d.ts +1 -0
- package/dist/Select/components/MultipleOption.js +7 -3
- package/dist/Select/components/SingleOption.d.ts +1 -0
- package/dist/Select/components/SingleOption.js +6 -2
- package/dist/Select/index.js +70 -9
- package/dist/Select/style/index.less +7 -3
- package/dist/Select/style/multiple.less +13 -2
- package/dist/Select/style/single.less +12 -1
- package/dist/Select/style/status.less +1 -1
- package/dist/Table/style/index.less +9 -7
- package/dist/Tabs/index.d.ts +15 -0
- package/dist/Tabs/index.js +37 -6
- package/dist/Tabs/style/index.less +38 -1
- package/dist/notification/demo/index.js +24 -7
- package/dist/notification/index.d.ts +9 -1
- package/dist/notification/index.js +148 -1
- package/dist/notification/style/index.less +28 -0
- package/dist/style/themes/default/index.less +25 -25
- package/package.json +3 -3
|
@@ -1,17 +1,24 @@
|
|
|
1
1
|
@import '../../style/index.less';
|
|
2
2
|
|
|
3
|
-
@radio-icon-button-padding-large:
|
|
3
|
+
@radio-icon-button-padding-large: 8px;
|
|
4
4
|
@radio-icon-button-padding-middle: 9px;
|
|
5
|
-
@radio-icon-button-padding-small:
|
|
5
|
+
@radio-icon-button-padding-small: 7px;
|
|
6
6
|
@radio-group-height-large: 36px;
|
|
7
7
|
@radio-group-height-middle: 32px;
|
|
8
8
|
@radio-group-height-small: 28px;
|
|
9
9
|
@radio-button-padding: 12px;
|
|
10
|
+
@radio-button-padding-large: 14px;
|
|
11
|
+
@radio-button-padding-small: 10px;
|
|
12
|
+
@radio-button-padding-middle: 12px;
|
|
10
13
|
|
|
11
14
|
// Radio组件基础样式
|
|
15
|
+
[class^="ald-radio"] {
|
|
16
|
+
box-sizing: border-box;
|
|
17
|
+
}
|
|
18
|
+
|
|
12
19
|
.ald-radio-wrapper {
|
|
13
20
|
display: inline-flex;
|
|
14
|
-
gap:
|
|
21
|
+
gap: 4px;
|
|
15
22
|
align-items: center;
|
|
16
23
|
justify-content: start;
|
|
17
24
|
height: 20px;
|
|
@@ -41,9 +48,10 @@
|
|
|
41
48
|
.ald-radio-inner {
|
|
42
49
|
position: relative;
|
|
43
50
|
display: inline-block;
|
|
44
|
-
width:
|
|
45
|
-
height:
|
|
46
|
-
border: 1px solid @
|
|
51
|
+
width: 15px;
|
|
52
|
+
height: 15px;
|
|
53
|
+
border: 1px solid @BG60;
|
|
54
|
+
background-color: @BG100;
|
|
47
55
|
border-radius: 50%;
|
|
48
56
|
}
|
|
49
57
|
|
|
@@ -54,57 +62,81 @@
|
|
|
54
62
|
justify-content: center;
|
|
55
63
|
color: @NL0;
|
|
56
64
|
font-weight: 400;
|
|
65
|
+
font-size: 13px;
|
|
66
|
+
line-height: 20px;
|
|
67
|
+
user-select: none;
|
|
57
68
|
}
|
|
58
69
|
// 绘制选中时的圆圈样式
|
|
59
70
|
.ald-radio-checked > .ald-radio-inner {
|
|
60
|
-
|
|
61
|
-
|
|
71
|
+
border: 1px solid @B40;
|
|
72
|
+
background: @B95;
|
|
62
73
|
transform: background 0.5s ease;
|
|
63
74
|
|
|
64
75
|
&::after {
|
|
65
76
|
position: absolute;
|
|
66
77
|
top: 50%;
|
|
67
78
|
left: 50%;
|
|
68
|
-
width:
|
|
69
|
-
height:
|
|
70
|
-
background-color: @
|
|
79
|
+
width: 7px;
|
|
80
|
+
height: 7px;
|
|
81
|
+
background-color: @B40;
|
|
71
82
|
border-radius: 50%;
|
|
72
83
|
transform: translate(-50%, -50%);
|
|
73
84
|
content: '';
|
|
74
85
|
}
|
|
75
86
|
}
|
|
87
|
+
|
|
76
88
|
// 禁用状态下的样式
|
|
77
89
|
.ald-radio-disabled > .ald-radio-inner {
|
|
78
90
|
background-color: @NL90;
|
|
79
|
-
border:
|
|
91
|
+
border: 1px solid @BG60;
|
|
80
92
|
}
|
|
81
93
|
|
|
82
|
-
.ald-radio-disabled.ald-radio-checked > .ald-radio-inner
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
94
|
+
.ald-radio-disabled.ald-radio-checked > .ald-radio-inner {
|
|
95
|
+
border: 1px solid @B40;
|
|
96
|
+
background: @B95;
|
|
97
|
+
|
|
98
|
+
&::after {
|
|
99
|
+
position: absolute;
|
|
100
|
+
top: 50%;
|
|
101
|
+
left: 50%;
|
|
102
|
+
width: 7px;
|
|
103
|
+
height: 7px;
|
|
104
|
+
background: @B40;
|
|
105
|
+
border-radius: 50%;
|
|
106
|
+
transform: translate(-50%, -50%);
|
|
107
|
+
content: '';
|
|
108
|
+
}
|
|
92
109
|
}
|
|
93
110
|
// 禁用的样式
|
|
94
111
|
.ald-radio-label.ald-radio-wrapper-disabled {
|
|
95
112
|
cursor: default;
|
|
113
|
+
opacity: 0.5;
|
|
96
114
|
|
|
97
115
|
.ald-radio-desc {
|
|
98
116
|
color: @NL60;
|
|
99
117
|
}
|
|
100
118
|
}
|
|
119
|
+
|
|
120
|
+
.ald-radio-button-wrapper-border-primary,
|
|
121
|
+
.ald-radio-button-wrapper-border,
|
|
122
|
+
.ald-radio-icon-button-wrapper-border,
|
|
123
|
+
.ald-radio-icon-button-wrapper-border-primary {
|
|
124
|
+
&.ald-radio-label.ald-radio-wrapper-disabled {
|
|
125
|
+
opacity: 0.5;
|
|
126
|
+
|
|
127
|
+
.ald-radio-desc {
|
|
128
|
+
color: @NL20;
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
|
|
101
133
|
// RadioGroup基础样式
|
|
102
134
|
.ald-radio-group {
|
|
103
135
|
position: relative;
|
|
104
136
|
|
|
105
137
|
.ald-radio-label .ald-radio-desc {
|
|
106
138
|
color: @NL30;
|
|
107
|
-
font-weight:
|
|
139
|
+
font-weight: 600;
|
|
108
140
|
font-size: @font-size-middle;
|
|
109
141
|
font-style: normal;
|
|
110
142
|
}
|
|
@@ -130,7 +162,7 @@
|
|
|
130
162
|
width: 0;
|
|
131
163
|
height: 100%;
|
|
132
164
|
background: @BG100;
|
|
133
|
-
border: 1px solid @
|
|
165
|
+
border: 1px solid @BG60;
|
|
134
166
|
border-radius: @border-radius-middle;
|
|
135
167
|
transition: width, left, height 0.3s, 0.3s, 0.3s ease;
|
|
136
168
|
}
|
|
@@ -156,21 +188,27 @@
|
|
|
156
188
|
color: @NL80;
|
|
157
189
|
}
|
|
158
190
|
}
|
|
191
|
+
|
|
159
192
|
// border的样式
|
|
160
|
-
.ald-radio-button-wrapper-border
|
|
193
|
+
.ald-radio-button-wrapper-border,
|
|
194
|
+
.ald-radio-button-wrapper-border-primary {
|
|
161
195
|
padding: 0 @radio-button-padding - 1;
|
|
162
196
|
}
|
|
163
197
|
|
|
164
198
|
.ald-radio-button-wrapper-border,
|
|
165
|
-
.ald-radio-
|
|
199
|
+
.ald-radio-button-wrapper-border-primary,
|
|
200
|
+
.ald-radio-icon-button-wrapper-border,
|
|
201
|
+
.ald-radio-icon-button-wrapper-border-primary {
|
|
166
202
|
position: relative;
|
|
167
203
|
display: flex;
|
|
168
204
|
align-items: center;
|
|
169
205
|
justify-content: center;
|
|
170
206
|
height: 100%;
|
|
171
207
|
background: @BG100;
|
|
172
|
-
border: 1px solid @
|
|
173
|
-
border-
|
|
208
|
+
border-top: 1px solid @BG60;
|
|
209
|
+
border-left: 1px solid @BG60;
|
|
210
|
+
border-bottom: 1px solid @BG60;
|
|
211
|
+
overflow: hidden;
|
|
174
212
|
cursor: pointer;
|
|
175
213
|
|
|
176
214
|
&:first-child {
|
|
@@ -178,7 +216,7 @@
|
|
|
178
216
|
}
|
|
179
217
|
|
|
180
218
|
&:last-child {
|
|
181
|
-
border-right: 1px solid @
|
|
219
|
+
border-right: 1px solid @BG60;
|
|
182
220
|
border-radius: 0 6px 6px 0;
|
|
183
221
|
}
|
|
184
222
|
|
|
@@ -199,8 +237,10 @@
|
|
|
199
237
|
|
|
200
238
|
// button选中状态下的样式
|
|
201
239
|
.ald-radio-wrapper-checked.ald-radio-button-wrapper-border,
|
|
202
|
-
.ald-radio-wrapper-checked.ald-radio-
|
|
203
|
-
|
|
240
|
+
.ald-radio-wrapper-checked.ald-radio-button-wrapper-border-primary,
|
|
241
|
+
.ald-radio-wrapper-checked.ald-radio-icon-button-wrapper-border,
|
|
242
|
+
.ald-radio-wrapper-checked.ald-radio-icon-button-wrapper-border-primary {
|
|
243
|
+
background: @BG80;
|
|
204
244
|
transition: background 0.5s ease;
|
|
205
245
|
|
|
206
246
|
.ald-radio-desc {
|
|
@@ -210,6 +250,18 @@
|
|
|
210
250
|
}
|
|
211
251
|
}
|
|
212
252
|
|
|
253
|
+
.ald-radio-wrapper-checked.ald-radio-button-wrapper-border-primary,
|
|
254
|
+
.ald-radio-wrapper-checked.ald-radio-icon-button-wrapper-border-primary {
|
|
255
|
+
background: @B40;
|
|
256
|
+
transition: background 0.5s ease;
|
|
257
|
+
|
|
258
|
+
.ald-radio-desc {
|
|
259
|
+
position: relative;
|
|
260
|
+
color: @ND0;
|
|
261
|
+
transition: text-shadow 0.5s ease;
|
|
262
|
+
}
|
|
263
|
+
}
|
|
264
|
+
|
|
213
265
|
// filled样式的button
|
|
214
266
|
.ald-radio-button-wrapper-filled {
|
|
215
267
|
padding: 0 @radio-button-padding;
|
|
@@ -246,6 +298,10 @@
|
|
|
246
298
|
.ald-radio-checked > .ald-radio-inner::after {
|
|
247
299
|
width: 0;
|
|
248
300
|
}
|
|
301
|
+
|
|
302
|
+
.ald-radio-desc {
|
|
303
|
+
font-weight: 400;
|
|
304
|
+
}
|
|
249
305
|
}
|
|
250
306
|
|
|
251
307
|
.ald-radio-wrapper-checked.ald-radio-button-wrapper-filled,
|
|
@@ -254,6 +310,7 @@
|
|
|
254
310
|
|
|
255
311
|
.ald-radio-desc {
|
|
256
312
|
position: relative;
|
|
313
|
+
font-weight: 400;
|
|
257
314
|
z-index: 2;
|
|
258
315
|
color: @NL0;
|
|
259
316
|
}
|
|
@@ -262,17 +319,32 @@
|
|
|
262
319
|
&.ald-radio-group-middle {
|
|
263
320
|
height: @radio-group-height-middle;
|
|
264
321
|
|
|
322
|
+
.ald-radio-label {
|
|
323
|
+
.ald-radio-desc {
|
|
324
|
+
font-size: @font-size-middle;
|
|
325
|
+
}
|
|
326
|
+
}
|
|
327
|
+
|
|
265
328
|
.ald-radio-icon-button-wrapper-filled {
|
|
266
329
|
padding: 0 @radio-icon-button-padding-middle;
|
|
267
330
|
}
|
|
268
331
|
|
|
269
|
-
.ald-radio-
|
|
270
|
-
|
|
332
|
+
.ald-radio-button-wrapper-border,
|
|
333
|
+
.ald-radio-button-wrapper-border-primary {
|
|
334
|
+
padding: 0 @radio-button-padding-middle - 1;
|
|
271
335
|
}
|
|
272
336
|
|
|
273
|
-
.ald-radio-
|
|
274
|
-
|
|
275
|
-
|
|
337
|
+
.ald-radio-icon-button-wrapper-border,
|
|
338
|
+
.ald-radio-icon-button-wrapper-border-primary {
|
|
339
|
+
padding: 0 @radio-icon-button-padding-middle - 1;
|
|
340
|
+
|
|
341
|
+
&.ald-radio-label .ald-radio-desc {
|
|
342
|
+
font-size: 14px;
|
|
343
|
+
}
|
|
344
|
+
|
|
345
|
+
&:not(:last-child) {
|
|
346
|
+
padding: 0 @radio-icon-button-padding-middle 0
|
|
347
|
+
@radio-icon-button-padding-middle - 1;
|
|
276
348
|
}
|
|
277
349
|
}
|
|
278
350
|
}
|
|
@@ -280,22 +352,39 @@
|
|
|
280
352
|
&.ald-radio-group-small {
|
|
281
353
|
height: @radio-group-height-small;
|
|
282
354
|
|
|
355
|
+
.ald-radio-label {
|
|
356
|
+
.ald-radio-desc {
|
|
357
|
+
font-size: @font-size-small;
|
|
358
|
+
}
|
|
359
|
+
}
|
|
360
|
+
|
|
283
361
|
.ald-radio-icon-button-wrapper-filled {
|
|
284
362
|
padding: 0 @radio-icon-button-padding-small;
|
|
285
363
|
}
|
|
286
364
|
|
|
287
|
-
.ald-radio-
|
|
288
|
-
|
|
365
|
+
.ald-radio-button-wrapper-border,
|
|
366
|
+
.ald-radio-button-wrapper-border-primary {
|
|
367
|
+
padding: 0 @radio-button-padding-small - 1;
|
|
289
368
|
}
|
|
290
369
|
|
|
291
|
-
.ald-radio-
|
|
292
|
-
|
|
293
|
-
|
|
370
|
+
.ald-radio-icon-button-wrapper-border,
|
|
371
|
+
.ald-radio-icon-button-wrapper-border-primary {
|
|
372
|
+
padding: 0 @radio-icon-button-padding-small - 1;
|
|
373
|
+
|
|
374
|
+
&.ald-radio-label .ald-radio-desc {
|
|
375
|
+
font-size: 14px;
|
|
376
|
+
}
|
|
377
|
+
|
|
378
|
+
&:not(:last-child) {
|
|
379
|
+
padding: 0 @radio-icon-button-padding-small 0
|
|
380
|
+
@radio-icon-button-padding-small - 1;
|
|
294
381
|
}
|
|
295
382
|
}
|
|
296
383
|
|
|
297
384
|
.ald-radio-button-wrapper-border,
|
|
298
385
|
.ald-radio-icon-button-wrapper-border,
|
|
386
|
+
.ald-radio-button-wrapper-border-primary,
|
|
387
|
+
.ald-radio-icon-button-wrapper-border-primary,
|
|
299
388
|
.ald-radio-button-wrapper-filled,
|
|
300
389
|
.ald-radio-icon-button-wrapper-filled {
|
|
301
390
|
&:first-of-type {
|
|
@@ -315,22 +404,39 @@
|
|
|
315
404
|
&.ald-radio-group.ald-radio-group-large {
|
|
316
405
|
height: @radio-group-height-large;
|
|
317
406
|
|
|
407
|
+
.ald-radio-label {
|
|
408
|
+
.ald-radio-desc {
|
|
409
|
+
font-size: @font-size-large;
|
|
410
|
+
}
|
|
411
|
+
}
|
|
412
|
+
|
|
318
413
|
.ald-radio-icon-button-wrapper-filled {
|
|
319
414
|
padding: 0 @radio-icon-button-padding-large;
|
|
320
415
|
}
|
|
321
416
|
|
|
322
|
-
.ald-radio-
|
|
323
|
-
|
|
417
|
+
.ald-radio-button-wrapper-border,
|
|
418
|
+
.ald-radio-button-wrapper-border-primary {
|
|
419
|
+
padding: 0 @radio-button-padding-large - 1;
|
|
324
420
|
}
|
|
325
421
|
|
|
326
|
-
.ald-radio-
|
|
327
|
-
|
|
328
|
-
|
|
422
|
+
.ald-radio-icon-button-wrapper-border,
|
|
423
|
+
.ald-radio-icon-button-wrapper-border-primary {
|
|
424
|
+
padding: 0 @radio-icon-button-padding-large - 1;
|
|
425
|
+
|
|
426
|
+
&.ald-radio-label .ald-radio-desc {
|
|
427
|
+
font-size: 20px;
|
|
428
|
+
}
|
|
429
|
+
|
|
430
|
+
&:not(:last-child) {
|
|
431
|
+
padding: 0 @radio-icon-button-padding-large 0
|
|
432
|
+
@radio-icon-button-padding-large - 1;
|
|
329
433
|
}
|
|
330
434
|
}
|
|
331
435
|
|
|
332
436
|
.ald-radio-button-wrapper-border,
|
|
333
437
|
.ald-radio-icon-button-wrapper-border,
|
|
438
|
+
.ald-radio-button-wrapper-border-primary,
|
|
439
|
+
.ald-radio-icon-button-wrapper-border-primary,
|
|
334
440
|
.ald-radio-button-wrapper-filled,
|
|
335
441
|
.ald-radio-icon-button-wrapper-filled {
|
|
336
442
|
&:first-of-type {
|
|
@@ -1,18 +1,22 @@
|
|
|
1
1
|
import { Checkbox } from 'antd';
|
|
2
|
+
import classnames from 'classnames';
|
|
2
3
|
import React from 'react';
|
|
3
4
|
export default function MultipleList(params) {
|
|
4
5
|
var disabled = params.disabled,
|
|
5
6
|
option = params.option,
|
|
6
7
|
selected = params.selected,
|
|
7
|
-
onChange = params.onChange
|
|
8
|
+
onChange = params.onChange,
|
|
9
|
+
className = params.className;
|
|
8
10
|
|
|
9
11
|
var onClick = function onClick() {
|
|
10
|
-
|
|
12
|
+
if (disabled) return;
|
|
11
13
|
onChange === null || onChange === void 0 ? void 0 : onChange(!selected);
|
|
12
14
|
};
|
|
13
15
|
|
|
14
16
|
return /*#__PURE__*/React.createElement("div", {
|
|
15
|
-
className:
|
|
17
|
+
className: classnames('ald-multiple-option', className, {
|
|
18
|
+
'ald-multiple-option-disabled': disabled
|
|
19
|
+
}),
|
|
16
20
|
onClick: onClick
|
|
17
21
|
}, /*#__PURE__*/React.createElement(Checkbox, {
|
|
18
22
|
checked: selected,
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { CheckLine } from '@aloudata/icons-react';
|
|
2
|
+
import classnames from 'classnames';
|
|
2
3
|
import React from 'react';
|
|
3
4
|
import colors from "../../style/themes/default/themeColor.module.less";
|
|
4
5
|
export default function SingleOption(params) {
|
|
@@ -6,7 +7,8 @@ export default function SingleOption(params) {
|
|
|
6
7
|
selected = params.selected,
|
|
7
8
|
option = params.option,
|
|
8
9
|
_params$onChange = params.onChange,
|
|
9
|
-
onChange = _params$onChange === void 0 ? function () {} : _params$onChange
|
|
10
|
+
onChange = _params$onChange === void 0 ? function () {} : _params$onChange,
|
|
11
|
+
className = params.className;
|
|
10
12
|
|
|
11
13
|
var onClick = function onClick() {
|
|
12
14
|
if (disabled) return;
|
|
@@ -14,7 +16,9 @@ export default function SingleOption(params) {
|
|
|
14
16
|
};
|
|
15
17
|
|
|
16
18
|
return /*#__PURE__*/React.createElement("div", {
|
|
17
|
-
className:
|
|
19
|
+
className: classnames('ald-single-option', className, {
|
|
20
|
+
'ald-single-option-disabled': disabled
|
|
21
|
+
}),
|
|
18
22
|
onClick: onClick
|
|
19
23
|
}, /*#__PURE__*/React.createElement("div", {
|
|
20
24
|
className: "ald-icons-check-line"
|
package/dist/Select/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
var _excluded = ["mode", "options", "dropdownRender", "onDropdownVisibleChange", "defaultValue", "onChange", "open", "defaultOpen", "prefix", "className", "popupClassName", "notFoundContent", "value", "style"];
|
|
1
|
+
var _excluded = ["mode", "options", "dropdownRender", "onDropdownVisibleChange", "defaultValue", "onChange", "open", "defaultOpen", "prefix", "className", "popupClassName", "listHeight", "listItemHeight", "notFoundContent", "value", "style"];
|
|
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
|
|
|
@@ -28,12 +28,20 @@ function _objectWithoutProperties(source, excluded) { if (source == null) return
|
|
|
28
28
|
|
|
29
29
|
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; }
|
|
30
30
|
|
|
31
|
+
import { FoldDownFill } from '@aloudata/icons-react';
|
|
31
32
|
import { Select as AntdSelect } from 'antd';
|
|
32
33
|
import classNames from 'classnames';
|
|
33
|
-
import
|
|
34
|
+
import List from 'rc-virtual-list';
|
|
35
|
+
import React, { forwardRef, useEffect, useLayoutEffect, useMemo, useRef } from 'react';
|
|
34
36
|
import Empty from "../Empty";
|
|
35
|
-
import
|
|
37
|
+
import MultipleOption from "./components/MultipleOption";
|
|
36
38
|
import SingleOption from "./components/SingleOption";
|
|
39
|
+
import theme from "../style/themes/default/themeColor.module.less";
|
|
40
|
+
var suffixIconSizeMap = {
|
|
41
|
+
large: 20,
|
|
42
|
+
middle: 16,
|
|
43
|
+
small: 14
|
|
44
|
+
};
|
|
37
45
|
|
|
38
46
|
var getSelectedOptionsFromValue = function getSelectedOptionsFromValue(isMultiple, options, value, defaultValue) {
|
|
39
47
|
if (typeof value !== 'undefined') {
|
|
@@ -90,8 +98,15 @@ var Select = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
90
98
|
prefix = props.prefix,
|
|
91
99
|
className = props.className,
|
|
92
100
|
popupClassName = props.popupClassName,
|
|
101
|
+
listHeight = props.listHeight,
|
|
102
|
+
_props$listItemHeight = props.listItemHeight,
|
|
103
|
+
listItemHeight = _props$listItemHeight === void 0 ? 36 : _props$listItemHeight,
|
|
93
104
|
_props$notFoundConten = props.notFoundContent,
|
|
94
|
-
notFoundContent = _props$notFoundConten === void 0 ? /*#__PURE__*/React.createElement(Empty,
|
|
105
|
+
notFoundContent = _props$notFoundConten === void 0 ? /*#__PURE__*/React.createElement(Empty, {
|
|
106
|
+
image: Empty.PRESENTED_IMAGE_SEARCH_SMALL,
|
|
107
|
+
size: "small",
|
|
108
|
+
title: "No data"
|
|
109
|
+
}) : _props$notFoundConten,
|
|
95
110
|
value = props.value,
|
|
96
111
|
_props$style = props.style,
|
|
97
112
|
style = _props$style === void 0 ? {} : _props$style,
|
|
@@ -118,6 +133,8 @@ var Select = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
118
133
|
prefixWidth = _React$useState6[0],
|
|
119
134
|
setPrefixWidth = _React$useState6[1];
|
|
120
135
|
|
|
136
|
+
var updatedRef = useRef(false);
|
|
137
|
+
|
|
121
138
|
var onMultipleOptionChange = function onMultipleOptionChange(option, selected) {
|
|
122
139
|
var newOptions = [];
|
|
123
140
|
|
|
@@ -144,16 +161,33 @@ var Select = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
144
161
|
}), newOptions);
|
|
145
162
|
};
|
|
146
163
|
|
|
164
|
+
var getListHeight = function getListHeight() {
|
|
165
|
+
if (typeof listHeight === 'number' && options !== null && options !== void 0 && options.length) {
|
|
166
|
+
if (listHeight <= options.length * listItemHeight) {
|
|
167
|
+
return listHeight;
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
return 0;
|
|
172
|
+
};
|
|
173
|
+
|
|
147
174
|
var multipleRender = function multipleRender() {
|
|
148
175
|
return /*#__PURE__*/React.createElement("div", {
|
|
149
176
|
className: "ald-multiple-option-list"
|
|
150
|
-
},
|
|
177
|
+
}, /*#__PURE__*/React.createElement(List, {
|
|
178
|
+
data: options || [],
|
|
179
|
+
"data-id": "list",
|
|
180
|
+
height: getListHeight(),
|
|
181
|
+
itemHeight: listItemHeight,
|
|
182
|
+
itemKey: "value"
|
|
183
|
+
}, function (option) {
|
|
151
184
|
var isSelected = selectedOptions.some(function (selectedOption) {
|
|
152
185
|
return selectedOption.value === option.value;
|
|
153
186
|
});
|
|
154
|
-
return /*#__PURE__*/React.createElement(
|
|
187
|
+
return /*#__PURE__*/React.createElement(MultipleOption, {
|
|
155
188
|
key: option.value,
|
|
156
189
|
selected: isSelected,
|
|
190
|
+
className: option.className,
|
|
157
191
|
option: option,
|
|
158
192
|
disabled: option.disabled,
|
|
159
193
|
onChange: function onChange(selected) {
|
|
@@ -178,13 +212,20 @@ var Select = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
178
212
|
var singleRender = function singleRender() {
|
|
179
213
|
return /*#__PURE__*/React.createElement("div", {
|
|
180
214
|
className: "ald-single-option-list"
|
|
181
|
-
},
|
|
215
|
+
}, /*#__PURE__*/React.createElement(List, {
|
|
216
|
+
data: options || [],
|
|
217
|
+
"data-id": "list",
|
|
218
|
+
height: getListHeight(),
|
|
219
|
+
itemHeight: listItemHeight,
|
|
220
|
+
itemKey: "value"
|
|
221
|
+
}, function (option) {
|
|
182
222
|
var isSelected = selectedOptions.some(function (selectedOption) {
|
|
183
223
|
return selectedOption.value === option.value;
|
|
184
224
|
});
|
|
185
225
|
return /*#__PURE__*/React.createElement(SingleOption, {
|
|
186
226
|
key: option.value,
|
|
187
227
|
selected: isSelected,
|
|
228
|
+
className: option.className,
|
|
188
229
|
option: option,
|
|
189
230
|
disabled: option.disabled,
|
|
190
231
|
onChange: function onChange() {
|
|
@@ -196,7 +237,18 @@ var Select = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
196
237
|
|
|
197
238
|
var getDropdownRender = function getDropdownRender() {
|
|
198
239
|
if (dropdownRender) {
|
|
199
|
-
|
|
240
|
+
if (isMultiple) {
|
|
241
|
+
var menu = multipleRender();
|
|
242
|
+
return function () {
|
|
243
|
+
return dropdownRender(menu);
|
|
244
|
+
};
|
|
245
|
+
} else {
|
|
246
|
+
var _menu = singleRender();
|
|
247
|
+
|
|
248
|
+
return function () {
|
|
249
|
+
return dropdownRender(_menu);
|
|
250
|
+
};
|
|
251
|
+
}
|
|
200
252
|
} else if (Array.isArray(options) && options.length > 0) {
|
|
201
253
|
if (!isMultiple) {
|
|
202
254
|
return singleRender;
|
|
@@ -245,7 +297,11 @@ var Select = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
245
297
|
};
|
|
246
298
|
|
|
247
299
|
useEffect(function () {
|
|
248
|
-
|
|
300
|
+
if (updatedRef.current) {
|
|
301
|
+
setSelectedOptions(getSelectedOptionsFromValue(isMultiple, options, value));
|
|
302
|
+
} else {
|
|
303
|
+
updatedRef.current = true;
|
|
304
|
+
}
|
|
249
305
|
}, [value]);
|
|
250
306
|
return /*#__PURE__*/React.createElement("div", {
|
|
251
307
|
className: classNames('ald-select', className, {
|
|
@@ -274,6 +330,7 @@ var Select = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
274
330
|
maxTagCount: "responsive",
|
|
275
331
|
ref: ref,
|
|
276
332
|
tagRender: tagRender,
|
|
333
|
+
onChange: onChange,
|
|
277
334
|
popupClassName: classNames('ald-select-popup', popupClassName),
|
|
278
335
|
maxTagPlaceholder: maxTagPlaceholder,
|
|
279
336
|
className: classNames({
|
|
@@ -285,6 +342,10 @@ var Select = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
285
342
|
style: {
|
|
286
343
|
width: '100%'
|
|
287
344
|
},
|
|
345
|
+
suffixIcon: /*#__PURE__*/React.createElement(FoldDownFill, {
|
|
346
|
+
size: suffixIconSizeMap[props.size || 'middle'],
|
|
347
|
+
fill: theme.NL50
|
|
348
|
+
}),
|
|
288
349
|
onDropdownVisibleChange: function onDropdownVisibleChange(open) {
|
|
289
350
|
setIsOpen(open);
|
|
290
351
|
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
padding-right: 0;
|
|
12
12
|
|
|
13
13
|
&.ald-select-popup {
|
|
14
|
-
max-height: 264px;
|
|
14
|
+
// max-height: 264px;
|
|
15
15
|
overflow-y: auto;
|
|
16
16
|
overflow-y: overlay;
|
|
17
17
|
}
|
|
@@ -23,9 +23,14 @@
|
|
|
23
23
|
box-sizing: border-box;
|
|
24
24
|
border: 1px solid @BG60;
|
|
25
25
|
border-radius: 4px;
|
|
26
|
+
background-color: @BG100;
|
|
26
27
|
// padding: 0 4px;
|
|
27
28
|
cursor: pointer;
|
|
28
|
-
width:100%;
|
|
29
|
+
width: 100%;
|
|
30
|
+
|
|
31
|
+
.ant-select-selector {
|
|
32
|
+
color: @NL0;
|
|
33
|
+
}
|
|
29
34
|
|
|
30
35
|
.ald-select-prefix {
|
|
31
36
|
color: @NL40;
|
|
@@ -50,7 +55,6 @@
|
|
|
50
55
|
border: none;
|
|
51
56
|
}
|
|
52
57
|
}
|
|
53
|
-
|
|
54
58
|
}
|
|
55
59
|
|
|
56
60
|
.ant-select-selection-overflow {
|
|
@@ -5,20 +5,31 @@
|
|
|
5
5
|
justify-content: space-between;
|
|
6
6
|
flex-direction: column;
|
|
7
7
|
color: @NL0;
|
|
8
|
-
font-size:
|
|
8
|
+
font-size: 13px;
|
|
9
9
|
line-height: 20px;
|
|
10
10
|
|
|
11
11
|
}
|
|
12
12
|
|
|
13
13
|
.ald-multiple-option{
|
|
14
14
|
padding: 8px 14px;
|
|
15
|
-
height: 20px;
|
|
15
|
+
// height: 20px;
|
|
16
16
|
margin-left: 0;
|
|
17
17
|
display: flex;
|
|
18
|
+
height: 36px;
|
|
19
|
+
box-sizing: border-box;
|
|
18
20
|
|
|
19
21
|
&:hover{
|
|
20
22
|
background-color: @BG90;
|
|
21
23
|
}
|
|
24
|
+
|
|
25
|
+
&.ald-multiple-option-disabled{
|
|
26
|
+
opacity: 0.5;
|
|
27
|
+
|
|
28
|
+
&:hover{
|
|
29
|
+
background: none;
|
|
30
|
+
cursor: default;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
22
33
|
}
|
|
23
34
|
|
|
24
35
|
.ald-multiple-option-label{
|