@zohodesk/components 1.0.0-temp-199.12 → 1.0.0-temp-220
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/.cli/propValidation_report.html +1 -1
- package/README.md +5 -0
- package/es/ListItem/ListContainer.js +2 -3
- package/es/ListItem/ListItem.js +2 -3
- package/es/ListItem/ListItem.module.css +2 -11
- package/es/ListItem/ListItemWithAvatar.js +3 -3
- package/es/ListItem/ListItemWithIcon.js +2 -3
- package/es/ListItem/props/defaultProps.js +1 -2
- package/es/ListItem/props/propTypes.js +1 -2
- package/es/MultiSelect/AdvancedGroupMultiSelect.js +14 -11
- package/es/MultiSelect/AdvancedMultiSelect.js +12 -6
- package/es/MultiSelect/MultiSelect.js +12 -11
- package/es/MultiSelect/MultiSelectWithAvatar.js +4 -2
- package/es/MultiSelect/Suggestions.js +2 -9
- package/es/MultiSelect/__tests__/AdvancedMultiSelect.spec.js +28 -0
- package/es/MultiSelect/__tests__/__snapshots__/AdvancedMultiSelect.spec.js.snap +390 -0
- package/es/MultiSelect/props/defaultProps.js +8 -7
- package/es/MultiSelect/props/propTypes.js +5 -11
- package/es/Popup/Popup.js +19 -22
- package/es/Select/GroupSelect.js +5 -7
- package/es/Select/Select.js +3 -1
- package/es/Select/SelectWithAvatar.js +6 -9
- package/es/Select/SelectWithIcon.js +2 -4
- package/es/Select/props/defaultProps.js +5 -4
- package/es/Select/props/propTypes.js +7 -10
- package/es/common/common.module.css +0 -5
- package/es/utils/dropDownUtils.js +10 -6
- package/lib/ListItem/ListContainer.js +2 -3
- package/lib/ListItem/ListItem.js +2 -3
- package/lib/ListItem/ListItem.module.css +2 -11
- package/lib/ListItem/ListItemWithAvatar.js +3 -3
- package/lib/ListItem/ListItemWithIcon.js +2 -3
- package/lib/ListItem/props/defaultProps.js +1 -2
- package/lib/ListItem/props/propTypes.js +1 -2
- package/lib/MultiSelect/AdvancedGroupMultiSelect.js +14 -13
- package/lib/MultiSelect/AdvancedMultiSelect.js +12 -6
- package/lib/MultiSelect/MultiSelect.js +11 -10
- package/lib/MultiSelect/MultiSelectWithAvatar.js +4 -2
- package/lib/MultiSelect/Suggestions.js +3 -9
- package/lib/MultiSelect/__tests__/AdvancedMultiSelect.spec.js +28 -0
- package/lib/MultiSelect/__tests__/__snapshots__/AdvancedMultiSelect.spec.js.snap +390 -0
- package/lib/MultiSelect/props/defaultProps.js +8 -7
- package/lib/MultiSelect/props/propTypes.js +5 -11
- package/lib/Popup/Popup.js +20 -24
- package/lib/Select/GroupSelect.js +6 -6
- package/lib/Select/Select.js +3 -1
- package/lib/Select/SelectWithAvatar.js +7 -10
- package/lib/Select/SelectWithIcon.js +3 -5
- package/lib/Select/props/defaultProps.js +5 -4
- package/lib/Select/props/propTypes.js +7 -10
- package/lib/common/common.module.css +0 -5
- package/lib/utils/dropDownUtils.js +12 -6
- package/package.json +2 -2
|
@@ -72,3 +72,393 @@ exports[`AdvancedMultiSelect rendering the defult props 1`] = `
|
|
|
72
72
|
</div>
|
|
73
73
|
</DocumentFragment>
|
|
74
74
|
`;
|
|
75
|
+
|
|
76
|
+
exports[`AdvancedMultiSelect rendering the options array with objects and string 1`] = `
|
|
77
|
+
<DocumentFragment>
|
|
78
|
+
<div
|
|
79
|
+
class="wrapper effect "
|
|
80
|
+
data-id="multiSelectComp"
|
|
81
|
+
data-selector-id="advancedMultiSelect"
|
|
82
|
+
data-test-id="multiSelectComp"
|
|
83
|
+
>
|
|
84
|
+
<div
|
|
85
|
+
class="container medium hasBorder borderColor_default flex cover rowdir wrap vCenter"
|
|
86
|
+
data-id="containerComponent"
|
|
87
|
+
data-selector-id="container"
|
|
88
|
+
data-test-id="containerComponent"
|
|
89
|
+
>
|
|
90
|
+
<div
|
|
91
|
+
class="wrapper grow basisAuto shrinkOn"
|
|
92
|
+
data-id="multiSelectComp_textBox"
|
|
93
|
+
data-selector-id="box"
|
|
94
|
+
data-test-id="multiSelectComp_textBox"
|
|
95
|
+
>
|
|
96
|
+
<span
|
|
97
|
+
class=" custmSpan custmSpanMedium
|
|
98
|
+
"
|
|
99
|
+
/>
|
|
100
|
+
<div
|
|
101
|
+
class="container effect custmInputWrapper flex rowdir"
|
|
102
|
+
data-id="containerComponent"
|
|
103
|
+
data-selector-id="textBoxIcon"
|
|
104
|
+
data-test-id="containerComponent"
|
|
105
|
+
>
|
|
106
|
+
<div
|
|
107
|
+
class="grow basis shrinkOff"
|
|
108
|
+
data-id="boxComponent"
|
|
109
|
+
data-selector-id="box"
|
|
110
|
+
data-test-id="boxComponent"
|
|
111
|
+
>
|
|
112
|
+
<input
|
|
113
|
+
aria-controls="1"
|
|
114
|
+
aria-describedby="2"
|
|
115
|
+
aria-expanded="true"
|
|
116
|
+
aria-haspopup="true"
|
|
117
|
+
aria-owns="1"
|
|
118
|
+
autocomplete="off"
|
|
119
|
+
class=" container medium default effect borderColor_default "
|
|
120
|
+
data-id="textBoxIcon"
|
|
121
|
+
data-selector-id="textBoxIcon"
|
|
122
|
+
data-test-id="textBoxIcon"
|
|
123
|
+
maxlength="250"
|
|
124
|
+
role="combobox"
|
|
125
|
+
type="text"
|
|
126
|
+
value=""
|
|
127
|
+
/>
|
|
128
|
+
</div>
|
|
129
|
+
<div
|
|
130
|
+
class="iconContainer shrinkOff"
|
|
131
|
+
data-id="boxComponent"
|
|
132
|
+
data-selector-id="box"
|
|
133
|
+
data-test-id="boxComponent"
|
|
134
|
+
>
|
|
135
|
+
<div
|
|
136
|
+
class="flex cover rowdir"
|
|
137
|
+
data-id="containerComponent"
|
|
138
|
+
data-selector-id="container"
|
|
139
|
+
data-test-id="containerComponent"
|
|
140
|
+
/>
|
|
141
|
+
</div>
|
|
142
|
+
</div>
|
|
143
|
+
</div>
|
|
144
|
+
</div>
|
|
145
|
+
<div
|
|
146
|
+
aria-multiselectable="true"
|
|
147
|
+
class="main container bottomMid default"
|
|
148
|
+
data-a11y-focus-main-area="true"
|
|
149
|
+
data-arrow-position="mid"
|
|
150
|
+
data-box-direction="bottom"
|
|
151
|
+
data-id="multiSelectComp_dropbox"
|
|
152
|
+
data-position="bottomMid"
|
|
153
|
+
data-selector-id="dropBox"
|
|
154
|
+
data-test-id="multiSelectComp_dropbox"
|
|
155
|
+
dot-ui-element="dropbox"
|
|
156
|
+
id="1"
|
|
157
|
+
role="listbox"
|
|
158
|
+
style="z-index: 4;"
|
|
159
|
+
>
|
|
160
|
+
<div
|
|
161
|
+
class="subContainer shadow boxPadding radius bounce defaultPalette"
|
|
162
|
+
data-id="multiSelectComp_dropbox_subcontainer"
|
|
163
|
+
data-selector-id="dropBox_subcontainer"
|
|
164
|
+
data-test-id="multiSelectComp_dropbox_subcontainer"
|
|
165
|
+
tabindex="-1"
|
|
166
|
+
>
|
|
167
|
+
<div
|
|
168
|
+
class="flex rowdir"
|
|
169
|
+
data-id="containerComponent"
|
|
170
|
+
data-selector-id="container"
|
|
171
|
+
data-test-id="containerComponent"
|
|
172
|
+
>
|
|
173
|
+
<div
|
|
174
|
+
class="grow basis shrinkOff"
|
|
175
|
+
data-id="boxComponent"
|
|
176
|
+
data-selector-id="box"
|
|
177
|
+
data-test-id="boxComponent"
|
|
178
|
+
>
|
|
179
|
+
<div
|
|
180
|
+
class="box flex cover coldir"
|
|
181
|
+
data-id="containerComponent"
|
|
182
|
+
data-selector-id="container"
|
|
183
|
+
data-test-id="containerComponent"
|
|
184
|
+
>
|
|
185
|
+
<div
|
|
186
|
+
class="small grow basis shrinkOn scrolly"
|
|
187
|
+
data-id="CardContent"
|
|
188
|
+
data-selector-id="cardContent"
|
|
189
|
+
data-test-id="CardContent"
|
|
190
|
+
>
|
|
191
|
+
<div
|
|
192
|
+
class="flex coldir"
|
|
193
|
+
data-id="containerComponent"
|
|
194
|
+
data-selector-id="container"
|
|
195
|
+
data-test-id="containerComponent"
|
|
196
|
+
tabindex="0"
|
|
197
|
+
>
|
|
198
|
+
<div
|
|
199
|
+
class="shrinkOff"
|
|
200
|
+
data-id="multiSelectComp_Options"
|
|
201
|
+
data-selector-id="box"
|
|
202
|
+
data-test-id="multiSelectComp_Options"
|
|
203
|
+
>
|
|
204
|
+
<li
|
|
205
|
+
aria-label="Apple"
|
|
206
|
+
aria-selected="false"
|
|
207
|
+
class="list medium default defaultHover mediumwithTick withBorder flex rowdir vCenter"
|
|
208
|
+
data-a11y-inset-focus="true"
|
|
209
|
+
data-a11y-list-active="true"
|
|
210
|
+
data-id="Apple"
|
|
211
|
+
data-selector-id="listItem"
|
|
212
|
+
data-test-id="Apple"
|
|
213
|
+
data-title="Apple"
|
|
214
|
+
role="option"
|
|
215
|
+
tabindex="0"
|
|
216
|
+
>
|
|
217
|
+
<div
|
|
218
|
+
class="value basisAuto shrinkOn"
|
|
219
|
+
data-id="boxComponent"
|
|
220
|
+
data-selector-id="box"
|
|
221
|
+
data-test-id="boxComponent"
|
|
222
|
+
>
|
|
223
|
+
Apple
|
|
224
|
+
</div>
|
|
225
|
+
</li>
|
|
226
|
+
<li
|
|
227
|
+
aria-label="Orange"
|
|
228
|
+
aria-selected="false"
|
|
229
|
+
class="list medium default mediumwithTick withBorder flex rowdir vCenter"
|
|
230
|
+
data-a11y-inset-focus="true"
|
|
231
|
+
data-a11y-list-active="false"
|
|
232
|
+
data-id="Orange"
|
|
233
|
+
data-selector-id="listItem"
|
|
234
|
+
data-test-id="Orange"
|
|
235
|
+
data-title="Orange"
|
|
236
|
+
role="option"
|
|
237
|
+
tabindex="0"
|
|
238
|
+
>
|
|
239
|
+
<div
|
|
240
|
+
class="value basisAuto shrinkOn"
|
|
241
|
+
data-id="boxComponent"
|
|
242
|
+
data-selector-id="box"
|
|
243
|
+
data-test-id="boxComponent"
|
|
244
|
+
>
|
|
245
|
+
Orange
|
|
246
|
+
</div>
|
|
247
|
+
</li>
|
|
248
|
+
<li
|
|
249
|
+
aria-label="string test"
|
|
250
|
+
aria-selected="false"
|
|
251
|
+
class="list medium default mediumwithTick withBorder flex rowdir vCenter"
|
|
252
|
+
data-a11y-inset-focus="true"
|
|
253
|
+
data-a11y-list-active="false"
|
|
254
|
+
data-id="string test"
|
|
255
|
+
data-selector-id="listItem"
|
|
256
|
+
data-test-id="string test"
|
|
257
|
+
data-title="string test"
|
|
258
|
+
role="option"
|
|
259
|
+
tabindex="0"
|
|
260
|
+
>
|
|
261
|
+
<div
|
|
262
|
+
class="value basisAuto shrinkOn"
|
|
263
|
+
data-id="boxComponent"
|
|
264
|
+
data-selector-id="box"
|
|
265
|
+
data-test-id="boxComponent"
|
|
266
|
+
>
|
|
267
|
+
string test
|
|
268
|
+
</div>
|
|
269
|
+
</li>
|
|
270
|
+
</div>
|
|
271
|
+
</div>
|
|
272
|
+
</div>
|
|
273
|
+
</div>
|
|
274
|
+
</div>
|
|
275
|
+
</div>
|
|
276
|
+
</div>
|
|
277
|
+
</div>
|
|
278
|
+
</div>
|
|
279
|
+
</DocumentFragment>
|
|
280
|
+
`;
|
|
281
|
+
|
|
282
|
+
exports[`AdvancedMultiSelect rendering the options array with only objects using allowValueFallback 1`] = `
|
|
283
|
+
<DocumentFragment>
|
|
284
|
+
<div
|
|
285
|
+
class="wrapper effect "
|
|
286
|
+
data-id="multiSelectComp"
|
|
287
|
+
data-selector-id="advancedMultiSelect"
|
|
288
|
+
data-test-id="multiSelectComp"
|
|
289
|
+
>
|
|
290
|
+
<div
|
|
291
|
+
class="container medium hasBorder borderColor_default flex cover rowdir wrap vCenter"
|
|
292
|
+
data-id="containerComponent"
|
|
293
|
+
data-selector-id="container"
|
|
294
|
+
data-test-id="containerComponent"
|
|
295
|
+
>
|
|
296
|
+
<div
|
|
297
|
+
class="wrapper grow basisAuto shrinkOn"
|
|
298
|
+
data-id="multiSelectComp_textBox"
|
|
299
|
+
data-selector-id="box"
|
|
300
|
+
data-test-id="multiSelectComp_textBox"
|
|
301
|
+
>
|
|
302
|
+
<span
|
|
303
|
+
class=" custmSpan custmSpanMedium
|
|
304
|
+
"
|
|
305
|
+
/>
|
|
306
|
+
<div
|
|
307
|
+
class="container effect custmInputWrapper flex rowdir"
|
|
308
|
+
data-id="containerComponent"
|
|
309
|
+
data-selector-id="textBoxIcon"
|
|
310
|
+
data-test-id="containerComponent"
|
|
311
|
+
>
|
|
312
|
+
<div
|
|
313
|
+
class="grow basis shrinkOff"
|
|
314
|
+
data-id="boxComponent"
|
|
315
|
+
data-selector-id="box"
|
|
316
|
+
data-test-id="boxComponent"
|
|
317
|
+
>
|
|
318
|
+
<input
|
|
319
|
+
aria-controls="1"
|
|
320
|
+
aria-describedby="2"
|
|
321
|
+
aria-expanded="true"
|
|
322
|
+
aria-haspopup="true"
|
|
323
|
+
aria-owns="1"
|
|
324
|
+
autocomplete="off"
|
|
325
|
+
class=" container medium default effect borderColor_default "
|
|
326
|
+
data-id="textBoxIcon"
|
|
327
|
+
data-selector-id="textBoxIcon"
|
|
328
|
+
data-test-id="textBoxIcon"
|
|
329
|
+
maxlength="250"
|
|
330
|
+
role="combobox"
|
|
331
|
+
type="text"
|
|
332
|
+
value=""
|
|
333
|
+
/>
|
|
334
|
+
</div>
|
|
335
|
+
<div
|
|
336
|
+
class="iconContainer shrinkOff"
|
|
337
|
+
data-id="boxComponent"
|
|
338
|
+
data-selector-id="box"
|
|
339
|
+
data-test-id="boxComponent"
|
|
340
|
+
>
|
|
341
|
+
<div
|
|
342
|
+
class="flex cover rowdir"
|
|
343
|
+
data-id="containerComponent"
|
|
344
|
+
data-selector-id="container"
|
|
345
|
+
data-test-id="containerComponent"
|
|
346
|
+
/>
|
|
347
|
+
</div>
|
|
348
|
+
</div>
|
|
349
|
+
</div>
|
|
350
|
+
</div>
|
|
351
|
+
<div
|
|
352
|
+
aria-multiselectable="true"
|
|
353
|
+
class="main container bottomMid default"
|
|
354
|
+
data-a11y-focus-main-area="true"
|
|
355
|
+
data-arrow-position="mid"
|
|
356
|
+
data-box-direction="bottom"
|
|
357
|
+
data-id="multiSelectComp_dropbox"
|
|
358
|
+
data-position="bottomMid"
|
|
359
|
+
data-selector-id="dropBox"
|
|
360
|
+
data-test-id="multiSelectComp_dropbox"
|
|
361
|
+
dot-ui-element="dropbox"
|
|
362
|
+
id="1"
|
|
363
|
+
role="listbox"
|
|
364
|
+
style="z-index: 4;"
|
|
365
|
+
>
|
|
366
|
+
<div
|
|
367
|
+
class="subContainer shadow boxPadding radius bounce defaultPalette"
|
|
368
|
+
data-id="multiSelectComp_dropbox_subcontainer"
|
|
369
|
+
data-selector-id="dropBox_subcontainer"
|
|
370
|
+
data-test-id="multiSelectComp_dropbox_subcontainer"
|
|
371
|
+
tabindex="-1"
|
|
372
|
+
>
|
|
373
|
+
<div
|
|
374
|
+
class="flex rowdir"
|
|
375
|
+
data-id="containerComponent"
|
|
376
|
+
data-selector-id="container"
|
|
377
|
+
data-test-id="containerComponent"
|
|
378
|
+
>
|
|
379
|
+
<div
|
|
380
|
+
class="grow basis shrinkOff"
|
|
381
|
+
data-id="boxComponent"
|
|
382
|
+
data-selector-id="box"
|
|
383
|
+
data-test-id="boxComponent"
|
|
384
|
+
>
|
|
385
|
+
<div
|
|
386
|
+
class="box flex cover coldir"
|
|
387
|
+
data-id="containerComponent"
|
|
388
|
+
data-selector-id="container"
|
|
389
|
+
data-test-id="containerComponent"
|
|
390
|
+
>
|
|
391
|
+
<div
|
|
392
|
+
class="small grow basis shrinkOn scrolly"
|
|
393
|
+
data-id="CardContent"
|
|
394
|
+
data-selector-id="cardContent"
|
|
395
|
+
data-test-id="CardContent"
|
|
396
|
+
>
|
|
397
|
+
<div
|
|
398
|
+
class="flex coldir"
|
|
399
|
+
data-id="containerComponent"
|
|
400
|
+
data-selector-id="container"
|
|
401
|
+
data-test-id="containerComponent"
|
|
402
|
+
tabindex="0"
|
|
403
|
+
>
|
|
404
|
+
<div
|
|
405
|
+
class="shrinkOff"
|
|
406
|
+
data-id="multiSelectComp_Options"
|
|
407
|
+
data-selector-id="box"
|
|
408
|
+
data-test-id="multiSelectComp_Options"
|
|
409
|
+
>
|
|
410
|
+
<li
|
|
411
|
+
aria-label="Apple"
|
|
412
|
+
aria-selected="false"
|
|
413
|
+
class="list medium default defaultHover mediumwithTick withBorder flex rowdir vCenter"
|
|
414
|
+
data-a11y-inset-focus="true"
|
|
415
|
+
data-a11y-list-active="true"
|
|
416
|
+
data-id="Apple"
|
|
417
|
+
data-selector-id="listItem"
|
|
418
|
+
data-test-id="Apple"
|
|
419
|
+
data-title="Apple"
|
|
420
|
+
role="option"
|
|
421
|
+
tabindex="0"
|
|
422
|
+
>
|
|
423
|
+
<div
|
|
424
|
+
class="value basisAuto shrinkOn"
|
|
425
|
+
data-id="boxComponent"
|
|
426
|
+
data-selector-id="box"
|
|
427
|
+
data-test-id="boxComponent"
|
|
428
|
+
>
|
|
429
|
+
Apple
|
|
430
|
+
</div>
|
|
431
|
+
</li>
|
|
432
|
+
<li
|
|
433
|
+
aria-label="Orange"
|
|
434
|
+
aria-selected="false"
|
|
435
|
+
class="list medium default mediumwithTick withBorder flex rowdir vCenter"
|
|
436
|
+
data-a11y-inset-focus="true"
|
|
437
|
+
data-a11y-list-active="false"
|
|
438
|
+
data-id="Orange"
|
|
439
|
+
data-selector-id="listItem"
|
|
440
|
+
data-test-id="Orange"
|
|
441
|
+
data-title="Orange"
|
|
442
|
+
role="option"
|
|
443
|
+
tabindex="0"
|
|
444
|
+
>
|
|
445
|
+
<div
|
|
446
|
+
class="value basisAuto shrinkOn"
|
|
447
|
+
data-id="boxComponent"
|
|
448
|
+
data-selector-id="box"
|
|
449
|
+
data-test-id="boxComponent"
|
|
450
|
+
>
|
|
451
|
+
Orange
|
|
452
|
+
</div>
|
|
453
|
+
</li>
|
|
454
|
+
</div>
|
|
455
|
+
</div>
|
|
456
|
+
</div>
|
|
457
|
+
</div>
|
|
458
|
+
</div>
|
|
459
|
+
</div>
|
|
460
|
+
</div>
|
|
461
|
+
</div>
|
|
462
|
+
</div>
|
|
463
|
+
</DocumentFragment>
|
|
464
|
+
`;
|
|
@@ -38,7 +38,7 @@ export const AdvancedGroupMultiSelect_defaultProps = {
|
|
|
38
38
|
palette: 'default',
|
|
39
39
|
isLoading: false,
|
|
40
40
|
dataSelectorId: 'advancedGroupMultiSelect',
|
|
41
|
-
|
|
41
|
+
allowValueFallback: true
|
|
42
42
|
};
|
|
43
43
|
export const AdvancedMultiSelect_defaultProps = {
|
|
44
44
|
animationStyle: 'bounce',
|
|
@@ -72,7 +72,8 @@ export const AdvancedMultiSelect_defaultProps = {
|
|
|
72
72
|
dataSelectorId: 'advancedMultiSelect',
|
|
73
73
|
customClass: {},
|
|
74
74
|
isAbsolutePositioningNeeded: true,
|
|
75
|
-
isRestrictScroll: false
|
|
75
|
+
isRestrictScroll: false,
|
|
76
|
+
allowValueFallback: true
|
|
76
77
|
};
|
|
77
78
|
export const EmptyState_defaultProps = {
|
|
78
79
|
dataId: 'empty',
|
|
@@ -119,7 +120,8 @@ export const MultiSelect_defaultProps = {
|
|
|
119
120
|
selectedOptionsCount: 0,
|
|
120
121
|
cardHeaderName: '',
|
|
121
122
|
needResponsive: true,
|
|
122
|
-
customProps: {}
|
|
123
|
+
customProps: {},
|
|
124
|
+
allowValueFallback: true
|
|
123
125
|
};
|
|
124
126
|
export const MultiSelectHeader_defaultProps = {
|
|
125
127
|
dataId: 'MultiSelectHeader'
|
|
@@ -155,15 +157,14 @@ export const MultiSelectWithAvatar_defaultProps = {
|
|
|
155
157
|
isLoading: false,
|
|
156
158
|
dataSelectorId: 'multiSelectWithAvatar',
|
|
157
159
|
keepSelectedOptions: false,
|
|
160
|
+
customProps: {},
|
|
158
161
|
needResponsive: true,
|
|
159
|
-
|
|
162
|
+
allowValueFallback: true
|
|
160
163
|
};
|
|
161
164
|
export const SelectedOptions_defaultProps = {
|
|
162
165
|
size: 'medium',
|
|
163
166
|
dataId: 'selectedOptions'
|
|
164
167
|
};
|
|
165
168
|
export const Suggestions_defaultProps = {
|
|
166
|
-
a11y: {}
|
|
167
|
-
customClass: {},
|
|
168
|
-
needMultiLineText: false
|
|
169
|
+
a11y: {}
|
|
169
170
|
};
|
|
@@ -110,10 +110,10 @@ export const MultiSelect_propTypes = {
|
|
|
110
110
|
setAriaId: PropTypes.string,
|
|
111
111
|
ariaErrorId: PropTypes.string,
|
|
112
112
|
customProps: PropTypes.shape({
|
|
113
|
-
TextBoxIconProps: PropTypes.object
|
|
114
|
-
SuggestionsProps: PropTypes.object
|
|
113
|
+
TextBoxIconProps: PropTypes.object
|
|
115
114
|
}),
|
|
116
|
-
isFocus: PropTypes.bool
|
|
115
|
+
isFocus: PropTypes.bool,
|
|
116
|
+
allowValueFallback: PropTypes.bool
|
|
117
117
|
};
|
|
118
118
|
export const MultiSelectHeader_propTypes = {
|
|
119
119
|
dataId: PropTypes.string,
|
|
@@ -178,11 +178,7 @@ export const Suggestions_propTypes = {
|
|
|
178
178
|
logo: PropTypes.string,
|
|
179
179
|
optionType: PropTypes.string,
|
|
180
180
|
listItemProps: PropTypes.object
|
|
181
|
-
}))
|
|
182
|
-
customClass: PropTypes.shape({
|
|
183
|
-
containerClass: PropTypes.string
|
|
184
|
-
}),
|
|
185
|
-
needMultiLineText: PropTypes.bool
|
|
181
|
+
}))
|
|
186
182
|
};
|
|
187
183
|
export const AdvancedGroupMultiSelect_propTypes = {
|
|
188
184
|
animationStyle: PropTypes.string,
|
|
@@ -254,9 +250,7 @@ export const AdvancedGroupMultiSelect_propTypes = {
|
|
|
254
250
|
children: PropTypes.node,
|
|
255
251
|
dataSelectorId: PropTypes.string,
|
|
256
252
|
isFocus: PropTypes.bool,
|
|
257
|
-
|
|
258
|
-
SuggestionsProps: PropTypes.object
|
|
259
|
-
})
|
|
253
|
+
allowValueFallback: PropTypes.bool
|
|
260
254
|
};
|
|
261
255
|
export const AdvancedMultiSelect_propTypes = { ...MultiSelect_propTypes,
|
|
262
256
|
selectedOptionDetails: PropTypes.string,
|
package/es/Popup/Popup.js
CHANGED
|
@@ -74,8 +74,7 @@ const Popup = function (Component) {
|
|
|
74
74
|
isMobile: false
|
|
75
75
|
};
|
|
76
76
|
this.togglePopup = this.togglePopup.bind(this);
|
|
77
|
-
this.
|
|
78
|
-
this.documentClickHandler1 = this.documentClickHandler1.bind(this);
|
|
77
|
+
this.handleDocumentInteraction = this.handleDocumentInteraction.bind(this);
|
|
79
78
|
this.removeClose = this.removeClose.bind(this);
|
|
80
79
|
this.documentKeyupHandler = this.documentKeyupHandler.bind(this);
|
|
81
80
|
this.openPopupOnly = this.openPopupOnly.bind(this);
|
|
@@ -133,11 +132,10 @@ const Popup = function (Component) {
|
|
|
133
132
|
popups[group] = groupPopups;
|
|
134
133
|
|
|
135
134
|
if (Object.keys(popups).length === 1 && groupPopups.length === 1) {
|
|
136
|
-
document.addEventListener('click', this.
|
|
135
|
+
document.addEventListener('click', this.handleDocumentInteraction, true);
|
|
137
136
|
document.addEventListener('keyup', this.documentKeyupHandler, false); // document.addEventListener('scroll', this.handleScroll, true);
|
|
138
137
|
|
|
139
138
|
window.addEventListener('resize', this.handleResize);
|
|
140
|
-
document.addEventListener('click', this.documentClickHandler1, true);
|
|
141
139
|
document.addEventListener('mousedown', this.handleDocumentMouseDown, true);
|
|
142
140
|
document.addEventListener('focus', this.handleDocumentFocus, true);
|
|
143
141
|
}
|
|
@@ -224,11 +222,10 @@ const Popup = function (Component) {
|
|
|
224
222
|
}
|
|
225
223
|
|
|
226
224
|
if (noPopups) {
|
|
227
|
-
document.removeEventListener('click', this.
|
|
225
|
+
document.removeEventListener('click', this.handleDocumentInteraction, true);
|
|
228
226
|
document.removeEventListener('keyup', this.documentKeyupHandler); // document.removeEventListener('scroll', this.handleScroll);
|
|
229
227
|
|
|
230
228
|
window.removeEventListener('resize', this.handleResize);
|
|
231
|
-
document.removeEventListener('click', this.documentClickHandler1, true);
|
|
232
229
|
document.removeEventListener('mousedown', this.handleDocumentMouseDown, true);
|
|
233
230
|
document.removeEventListener('focus', this.handleDocumentFocus, true);
|
|
234
231
|
}
|
|
@@ -617,29 +614,29 @@ const Popup = function (Component) {
|
|
|
617
614
|
return needPrevent;
|
|
618
615
|
}
|
|
619
616
|
|
|
620
|
-
|
|
617
|
+
handleDocumentInteraction(e) {
|
|
621
618
|
const needPrevent = this.handleGetNeedPrevent(e);
|
|
622
619
|
|
|
623
620
|
if (needPrevent) {
|
|
624
621
|
this.removeClose(e);
|
|
625
622
|
this.handleCloseLastOpenedGroup();
|
|
626
|
-
}
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
|
|
623
|
+
} else {
|
|
624
|
+
try {
|
|
625
|
+
Object.keys(popups).forEach(groupName => {
|
|
626
|
+
const groupPopups = popups[groupName] || [];
|
|
627
|
+
groupPopups.forEach(popup => {
|
|
628
|
+
if (popup.placeHolderElement && popup.dropElement && popup.placeHolderElement !== e.target && !popup.placeHolderElement.contains(e.target) && popup.dropElement !== e.target && !popup.dropElement.contains(e.target)) {
|
|
629
|
+
popup.state.isPopupOpen && (!popup.props.checkBeforeClose || popup.props.checkBeforeClose && popup.props.checkBeforeClose()) && !isTextSelected() && popup.setState({
|
|
630
|
+
isPopupOpen: false,
|
|
631
|
+
isPopupReady: false
|
|
632
|
+
});
|
|
633
|
+
}
|
|
637
634
|
});
|
|
638
635
|
});
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
|
|
642
|
-
|
|
636
|
+
lastOpenedGroup = [];
|
|
637
|
+
} catch (error) {// eslint-disable-next-line no-console
|
|
638
|
+
//console.error('popup component not unmounted properly', error);
|
|
639
|
+
}
|
|
643
640
|
}
|
|
644
641
|
}
|
|
645
642
|
|
package/es/Select/GroupSelect.js
CHANGED
|
@@ -170,10 +170,12 @@ export class GroupSelectComponent extends PureComponent {
|
|
|
170
170
|
|
|
171
171
|
handleGetGroupSelectOptions(props) {
|
|
172
172
|
let {
|
|
173
|
-
groupedOptions
|
|
173
|
+
groupedOptions,
|
|
174
|
+
allowValueFallback
|
|
174
175
|
} = props;
|
|
175
176
|
return this.getGroupSelectOptions({
|
|
176
|
-
groupedOptions
|
|
177
|
+
groupedOptions,
|
|
178
|
+
allowValueFallback
|
|
177
179
|
});
|
|
178
180
|
}
|
|
179
181
|
|
|
@@ -591,9 +593,6 @@ export class GroupSelectComponent extends PureComponent {
|
|
|
591
593
|
dataSelectorId,
|
|
592
594
|
customProps
|
|
593
595
|
} = this.props;
|
|
594
|
-
const {
|
|
595
|
-
SuggestionsProps = {}
|
|
596
|
-
} = customProps;
|
|
597
596
|
i18nKeys = Object.assign({}, i18nKeys, {
|
|
598
597
|
emptyText: i18nKeys.emptyText || emptyMessage,
|
|
599
598
|
searchEmptyText: i18nKeys.searchEmptyText || searchEmptyMessage
|
|
@@ -792,8 +791,7 @@ export class GroupSelectComponent extends PureComponent {
|
|
|
792
791
|
ariaParentRole: 'listbox',
|
|
793
792
|
role: 'option'
|
|
794
793
|
},
|
|
795
|
-
dataId: `${dataId}_Options
|
|
796
|
-
...SuggestionsProps
|
|
794
|
+
dataId: `${dataId}_Options`
|
|
797
795
|
}));
|
|
798
796
|
}) : /*#__PURE__*/React.createElement(EmptyState, {
|
|
799
797
|
options: revampedGroups,
|
package/es/Select/Select.js
CHANGED
|
@@ -250,6 +250,7 @@ export class SelectComponent extends Component {
|
|
|
250
250
|
options,
|
|
251
251
|
valueField,
|
|
252
252
|
textField,
|
|
253
|
+
allowValueFallback,
|
|
253
254
|
customProps = {}
|
|
254
255
|
} = props;
|
|
255
256
|
let {
|
|
@@ -259,7 +260,8 @@ export class SelectComponent extends Component {
|
|
|
259
260
|
options,
|
|
260
261
|
valueField,
|
|
261
262
|
textField,
|
|
262
|
-
listItemProps
|
|
263
|
+
listItemProps,
|
|
264
|
+
allowValueFallback
|
|
263
265
|
});
|
|
264
266
|
}
|
|
265
267
|
|
|
@@ -40,14 +40,16 @@ class SelectWithAvatarComponent extends SelectComponent {
|
|
|
40
40
|
options,
|
|
41
41
|
valueField,
|
|
42
42
|
textField,
|
|
43
|
-
imageField
|
|
43
|
+
imageField,
|
|
44
|
+
allowValueFallback
|
|
44
45
|
} = props;
|
|
45
46
|
return this.formatOptions({
|
|
46
47
|
options,
|
|
47
48
|
valueField,
|
|
48
49
|
textField,
|
|
49
50
|
imageField,
|
|
50
|
-
optionType: 'avatar'
|
|
51
|
+
optionType: 'avatar',
|
|
52
|
+
allowValueFallback
|
|
51
53
|
});
|
|
52
54
|
}
|
|
53
55
|
|
|
@@ -163,12 +165,8 @@ class SelectWithAvatarComponent extends SelectComponent {
|
|
|
163
165
|
needEffect,
|
|
164
166
|
isLoading,
|
|
165
167
|
dataSelectorId,
|
|
166
|
-
getTargetRef
|
|
167
|
-
customProps
|
|
168
|
+
getTargetRef
|
|
168
169
|
} = this.props;
|
|
169
|
-
const {
|
|
170
|
-
SuggestionsProps = {}
|
|
171
|
-
} = customProps;
|
|
172
170
|
i18nKeys = Object.assign({}, i18nKeys, {
|
|
173
171
|
emptyText: i18nKeys.emptyText || emptyMessage,
|
|
174
172
|
searchEmptyText: i18nKeys.searchEmptyText || searchEmptyMessage
|
|
@@ -325,8 +323,7 @@ class SelectWithAvatarComponent extends SelectComponent {
|
|
|
325
323
|
a11y: {
|
|
326
324
|
ariaParentRole: 'listbox',
|
|
327
325
|
role: 'option'
|
|
328
|
-
}
|
|
329
|
-
...SuggestionsProps
|
|
326
|
+
}
|
|
330
327
|
}) : /*#__PURE__*/React.createElement(EmptyState, {
|
|
331
328
|
isLoading: isFetchingOptions,
|
|
332
329
|
options: options,
|
|
@@ -367,8 +367,7 @@ class SelectWithIcon extends Component {
|
|
|
367
367
|
let {
|
|
368
368
|
TextBoxProps = {},
|
|
369
369
|
DropdownSearchTextBoxProps = {},
|
|
370
|
-
TextBoxIconProps = {}
|
|
371
|
-
ListItemProps = {}
|
|
370
|
+
TextBoxIconProps = {}
|
|
372
371
|
} = customProps;
|
|
373
372
|
return /*#__PURE__*/React.createElement("div", {
|
|
374
373
|
className: `${style.container} ${style[`box_${size}`]} ${isReadOnly ? style.readonly : ''} ${borderColor === 'transparent' ? style.transparentContainer : ''}`,
|
|
@@ -531,8 +530,7 @@ class SelectWithIcon extends Component {
|
|
|
531
530
|
role: 'option',
|
|
532
531
|
ariaSelected: selectedId === options[idKey],
|
|
533
532
|
ariaLabel: options[valueKey]
|
|
534
|
-
}
|
|
535
|
-
...ListItemProps
|
|
533
|
+
}
|
|
536
534
|
});
|
|
537
535
|
})) : /*#__PURE__*/React.createElement(EmptyState, {
|
|
538
536
|
isLoading: isFetchingOptions,
|