@decisiv/ui-components 2.0.1-alpha.75 → 2.0.1-alpha.84
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/lib/atoms/InputField/Containers.d.ts +7 -2
- package/lib/atoms/InputField/Containers.d.ts.map +1 -1
- package/lib/atoms/InputField/Containers.js +5 -5
- package/lib/atoms/InputField/InputLabel.d.ts +1 -0
- package/lib/atoms/InputField/InputLabel.d.ts.map +1 -1
- package/lib/atoms/InputField/InputLabel.js +2 -1
- package/lib/atoms/InputField/index.d.ts +3 -0
- package/lib/atoms/InputField/index.d.ts.map +1 -1
- package/lib/atoms/InputField/index.js +17 -4
- package/lib/atoms/InputField/schema.d.ts.map +1 -1
- package/lib/atoms/InputField/schema.js +1 -0
- package/lib/components/Combobox/Target.d.ts.map +1 -1
- package/lib/components/Combobox/Target.js +3 -4
- package/lib/components/Combobox/index.test.js +122 -98
- package/lib/components/Select/Target.js +1 -1
- package/lib/components/Select/index.d.ts.map +1 -1
- package/lib/components/Select/index.js +17 -0
- package/lib/components/Select/index.test.js +82 -23
- package/lib/components/Select/schema.d.ts.map +1 -1
- package/lib/components/Select/schema.js +2 -0
- package/lib/components/Select/types.d.ts +2 -0
- package/lib/components/Select/types.d.ts.map +1 -1
- package/lib/components/SelectDate/Target.js +1 -1
- package/lib/components/SelectDate/index.d.ts.map +1 -1
- package/lib/components/SelectDate/index.js +17 -0
- package/lib/components/SelectDate/index.test.js +108 -51
- package/lib/components/SelectDate/schema.d.ts.map +1 -1
- package/lib/components/SelectDate/schema.js +2 -0
- package/lib/components/SelectDate/types.d.ts +2 -0
- package/lib/components/SelectDate/types.d.ts.map +1 -1
- package/lib/components/SelectDateRange/index.d.ts.map +1 -1
- package/lib/components/SelectDateRange/index.js +17 -0
- package/lib/components/SelectDateRange/index.test.js +115 -58
- package/lib/components/SelectDateRange/schema.d.ts.map +1 -1
- package/lib/components/SelectDateRange/schema.js +2 -0
- package/lib/components/TextArea/index.js +1 -0
- package/lib/components/TextArea/index.test.js +5 -0
- package/lib/components/TextField/Input.js +1 -1
- package/lib/components/TextField/index.test.js +5 -0
- package/lib/utils/useFirstMount.d.ts +2 -0
- package/lib/utils/useFirstMount.d.ts.map +1 -0
- package/lib/utils/useFirstMount.js +19 -0
- package/lib/utils/useUpdateEffect.d.ts +4 -0
- package/lib/utils/useUpdateEffect.d.ts.map +1 -0
- package/lib/utils/useUpdateEffect.js +28 -0
- package/package.json +2 -2
|
@@ -86,14 +86,38 @@ describe('Combobox', function () {
|
|
|
86
86
|
expect(queryByLabelText('test')).toHaveFocus();
|
|
87
87
|
});
|
|
88
88
|
});
|
|
89
|
+
describe('when the label is hidden', function () {
|
|
90
|
+
it('does not display the label element', function () {
|
|
91
|
+
var _render2 = render(_react.default.createElement(_.default, {
|
|
92
|
+
label: "test",
|
|
93
|
+
options: defaultOptions,
|
|
94
|
+
hideLabel: true
|
|
95
|
+
})),
|
|
96
|
+
getByText = _render2.getByText;
|
|
97
|
+
|
|
98
|
+
expect(getByText('test', {
|
|
99
|
+
selector: 'span'
|
|
100
|
+
})).not.toBeVisible();
|
|
101
|
+
});
|
|
102
|
+
it('does display the input related to the label', function () {
|
|
103
|
+
var _render3 = render(_react.default.createElement(_.default, {
|
|
104
|
+
label: "test",
|
|
105
|
+
options: defaultOptions,
|
|
106
|
+
hideLabel: true
|
|
107
|
+
})),
|
|
108
|
+
getByLabelText = _render3.getByLabelText;
|
|
109
|
+
|
|
110
|
+
expect(getByLabelText('test')).toBeVisible();
|
|
111
|
+
});
|
|
112
|
+
});
|
|
89
113
|
describe('when the input field has focus', function () {
|
|
90
114
|
it('displays the list of options', function () {
|
|
91
|
-
var
|
|
115
|
+
var _render4 = render(_react.default.createElement(_.default, {
|
|
92
116
|
label: "test",
|
|
93
117
|
options: defaultOptions
|
|
94
118
|
})),
|
|
95
|
-
baseElement =
|
|
96
|
-
queryByLabelText =
|
|
119
|
+
baseElement = _render4.baseElement,
|
|
120
|
+
queryByLabelText = _render4.queryByLabelText;
|
|
97
121
|
|
|
98
122
|
defaultOptions.forEach(function (_ref2) {
|
|
99
123
|
var label = _ref2.label;
|
|
@@ -108,12 +132,12 @@ describe('Combobox', function () {
|
|
|
108
132
|
});
|
|
109
133
|
});
|
|
110
134
|
it('renders the first item in the options list as "active"', function () {
|
|
111
|
-
var
|
|
135
|
+
var _render5 = render(_react.default.createElement(_.default, {
|
|
112
136
|
label: "test",
|
|
113
137
|
options: defaultOptions
|
|
114
138
|
})),
|
|
115
|
-
baseElement =
|
|
116
|
-
queryByText =
|
|
139
|
+
baseElement = _render5.baseElement,
|
|
140
|
+
queryByText = _render5.queryByText;
|
|
117
141
|
|
|
118
142
|
_react2.fireEvent.click(queryByText('test')); // The structure would match the querySelector `li label span`. `queryByText`
|
|
119
143
|
// returns the <span>, but we need the `<li>`
|
|
@@ -136,14 +160,14 @@ describe('Combobox', function () {
|
|
|
136
160
|
var chevronUpPathD = chevronUpContainer.querySelector('svg path').getAttribute('d');
|
|
137
161
|
var onShow = jest.fn();
|
|
138
162
|
|
|
139
|
-
var
|
|
163
|
+
var _render6 = render(_react.default.createElement(_.default, {
|
|
140
164
|
label: "test",
|
|
141
165
|
options: defaultOptions,
|
|
142
166
|
variant: "sync",
|
|
143
167
|
onShow: onShow
|
|
144
168
|
})),
|
|
145
|
-
container =
|
|
146
|
-
queryByLabelText =
|
|
169
|
+
container = _render6.container,
|
|
170
|
+
queryByLabelText = _render6.queryByLabelText;
|
|
147
171
|
|
|
148
172
|
expect(container.querySelector('svg path').getAttribute('d')).toEqual(chevronDownPathD);
|
|
149
173
|
|
|
@@ -155,23 +179,23 @@ describe('Combobox', function () {
|
|
|
155
179
|
});
|
|
156
180
|
describe('when variant="async"', function () {
|
|
157
181
|
it('does NOT render a chevron, even when it has options', function () {
|
|
158
|
-
var
|
|
182
|
+
var _render7 = render(_react.default.createElement(_.default, {
|
|
159
183
|
label: "test",
|
|
160
184
|
options: defaultOptions,
|
|
161
185
|
variant: "async"
|
|
162
186
|
})),
|
|
163
|
-
container =
|
|
187
|
+
container = _render7.container;
|
|
164
188
|
|
|
165
189
|
expect(container.querySelector('svg')).not.toBeInTheDocument();
|
|
166
190
|
});
|
|
167
191
|
});
|
|
168
192
|
describe('when typing', function () {
|
|
169
193
|
it('updates the input value as a stateful component', function () {
|
|
170
|
-
var
|
|
194
|
+
var _render8 = render(_react.default.createElement(_.default, {
|
|
171
195
|
label: "test",
|
|
172
196
|
options: defaultOptions
|
|
173
197
|
})),
|
|
174
|
-
queryByLabelText =
|
|
198
|
+
queryByLabelText = _render8.queryByLabelText;
|
|
175
199
|
|
|
176
200
|
var value = 'value';
|
|
177
201
|
|
|
@@ -194,12 +218,12 @@ describe('Combobox', function () {
|
|
|
194
218
|
eventTargetValue = event.target.value;
|
|
195
219
|
});
|
|
196
220
|
|
|
197
|
-
var
|
|
221
|
+
var _render9 = render(_react.default.createElement(_.default, {
|
|
198
222
|
label: "test",
|
|
199
223
|
options: defaultOptions,
|
|
200
224
|
onChangeInputValue: onChangeInputValue
|
|
201
225
|
})),
|
|
202
|
-
queryByLabelText =
|
|
226
|
+
queryByLabelText = _render9.queryByLabelText;
|
|
203
227
|
|
|
204
228
|
var value = 'value';
|
|
205
229
|
|
|
@@ -213,13 +237,13 @@ describe('Combobox', function () {
|
|
|
213
237
|
expect(eventTargetValue).toEqual(value);
|
|
214
238
|
});
|
|
215
239
|
it('renders new options without losing focus on input or closing dropdown', function () {
|
|
216
|
-
var
|
|
240
|
+
var _render10 = render(_react.default.createElement(_.default, {
|
|
217
241
|
label: "test",
|
|
218
242
|
options: defaultOptions
|
|
219
243
|
})),
|
|
220
|
-
baseElement =
|
|
221
|
-
queryByLabelText =
|
|
222
|
-
rerender =
|
|
244
|
+
baseElement = _render10.baseElement,
|
|
245
|
+
queryByLabelText = _render10.queryByLabelText,
|
|
246
|
+
rerender = _render10.rerender;
|
|
223
247
|
|
|
224
248
|
_react2.fireEvent.click(queryByLabelText('test'));
|
|
225
249
|
|
|
@@ -239,15 +263,15 @@ describe('Combobox', function () {
|
|
|
239
263
|
describe('when variant="async"', function () {
|
|
240
264
|
describe('when loading', function () {
|
|
241
265
|
it('renders the loading message, then options', function () {
|
|
242
|
-
var
|
|
266
|
+
var _render11 = render(_react.default.createElement(_.default, {
|
|
243
267
|
label: "test",
|
|
244
268
|
options: defaultOptions,
|
|
245
269
|
defaultInputValue: "option",
|
|
246
270
|
variant: "async"
|
|
247
271
|
})),
|
|
248
|
-
baseElement =
|
|
249
|
-
queryByLabelText =
|
|
250
|
-
rerender =
|
|
272
|
+
baseElement = _render11.baseElement,
|
|
273
|
+
queryByLabelText = _render11.queryByLabelText,
|
|
274
|
+
rerender = _render11.rerender;
|
|
251
275
|
|
|
252
276
|
_react2.fireEvent.click(queryByLabelText('test'));
|
|
253
277
|
|
|
@@ -276,16 +300,16 @@ describe('Combobox', function () {
|
|
|
276
300
|
describe('when variant="async"', function () {
|
|
277
301
|
describe('when loading={true} then toggles to loading={false}', function () {
|
|
278
302
|
it('renders the no matches found message', function () {
|
|
279
|
-
var
|
|
303
|
+
var _render12 = render(_react.default.createElement(_.default, {
|
|
280
304
|
label: "test",
|
|
281
305
|
loading: false,
|
|
282
306
|
options: [],
|
|
283
307
|
variant: "async"
|
|
284
308
|
})),
|
|
285
|
-
baseElement =
|
|
286
|
-
queryByLabelText =
|
|
287
|
-
queryByText =
|
|
288
|
-
rerender =
|
|
309
|
+
baseElement = _render12.baseElement,
|
|
310
|
+
queryByLabelText = _render12.queryByLabelText,
|
|
311
|
+
queryByText = _render12.queryByText,
|
|
312
|
+
rerender = _render12.rerender;
|
|
289
313
|
|
|
290
314
|
_react2.fireEvent.click(queryByText('test')); // at this stage, the dropdown shouldn't be open.
|
|
291
315
|
|
|
@@ -322,13 +346,13 @@ describe('Combobox', function () {
|
|
|
322
346
|
});
|
|
323
347
|
describe('when variant="sync"', function () {
|
|
324
348
|
it('renders the no matches found message', function () {
|
|
325
|
-
var
|
|
349
|
+
var _render13 = render(_react.default.createElement(_.default, {
|
|
326
350
|
label: "test",
|
|
327
351
|
options: defaultOptions
|
|
328
352
|
})),
|
|
329
|
-
baseElement =
|
|
330
|
-
queryByLabelText =
|
|
331
|
-
rerender =
|
|
353
|
+
baseElement = _render13.baseElement,
|
|
354
|
+
queryByLabelText = _render13.queryByLabelText,
|
|
355
|
+
rerender = _render13.rerender;
|
|
332
356
|
|
|
333
357
|
_react2.fireEvent.click(queryByLabelText('test')); // at this stage, the dropdown should be open with all of the available options.
|
|
334
358
|
|
|
@@ -363,15 +387,15 @@ describe('Combobox', function () {
|
|
|
363
387
|
var onShow = jest.fn();
|
|
364
388
|
var onHide = jest.fn();
|
|
365
389
|
|
|
366
|
-
var
|
|
390
|
+
var _render14 = render(_react.default.createElement(_.default, {
|
|
367
391
|
label: "test",
|
|
368
392
|
options: defaultOptions,
|
|
369
393
|
onShow: onShow,
|
|
370
394
|
onHide: onHide
|
|
371
395
|
})),
|
|
372
|
-
baseElement =
|
|
373
|
-
container =
|
|
374
|
-
queryByLabelText =
|
|
396
|
+
baseElement = _render14.baseElement,
|
|
397
|
+
container = _render14.container,
|
|
398
|
+
queryByLabelText = _render14.queryByLabelText;
|
|
375
399
|
|
|
376
400
|
_react2.fireEvent.click(queryByLabelText('test'));
|
|
377
401
|
|
|
@@ -400,14 +424,14 @@ describe('Combobox', function () {
|
|
|
400
424
|
it('selects the active (first) item in the dropdown list', function () {
|
|
401
425
|
var onChangeValue = jest.fn();
|
|
402
426
|
|
|
403
|
-
var
|
|
427
|
+
var _render15 = render(_react.default.createElement(_.default, {
|
|
404
428
|
label: "test",
|
|
405
429
|
onChangeValue: onChangeValue,
|
|
406
430
|
options: defaultOptions
|
|
407
431
|
})),
|
|
408
|
-
baseElement =
|
|
409
|
-
queryByText =
|
|
410
|
-
queryByLabelText =
|
|
432
|
+
baseElement = _render15.baseElement,
|
|
433
|
+
queryByText = _render15.queryByText,
|
|
434
|
+
queryByLabelText = _render15.queryByLabelText;
|
|
411
435
|
|
|
412
436
|
_react2.fireEvent.click(queryByText('test'));
|
|
413
437
|
|
|
@@ -447,14 +471,14 @@ describe('Combobox', function () {
|
|
|
447
471
|
value: 'option 2'
|
|
448
472
|
}];
|
|
449
473
|
|
|
450
|
-
var
|
|
474
|
+
var _render16 = render(_react.default.createElement(_.default, {
|
|
451
475
|
label: "test",
|
|
452
476
|
onChangeValue: onChangeValue,
|
|
453
477
|
options: options
|
|
454
478
|
})),
|
|
455
|
-
baseElement =
|
|
456
|
-
queryByText =
|
|
457
|
-
queryByLabelText =
|
|
479
|
+
baseElement = _render16.baseElement,
|
|
480
|
+
queryByText = _render16.queryByText,
|
|
481
|
+
queryByLabelText = _render16.queryByLabelText;
|
|
458
482
|
|
|
459
483
|
_react2.fireEvent.click(queryByText('test'));
|
|
460
484
|
|
|
@@ -485,14 +509,14 @@ describe('Combobox', function () {
|
|
|
485
509
|
|
|
486
510
|
var chevronDownPathD = chevronDownContainer.querySelector('svg path').getAttribute('d');
|
|
487
511
|
|
|
488
|
-
var
|
|
512
|
+
var _render17 = render(_react.default.createElement(_.default, {
|
|
489
513
|
label: "test",
|
|
490
514
|
options: defaultOptions
|
|
491
515
|
})),
|
|
492
|
-
baseElement =
|
|
493
|
-
container =
|
|
494
|
-
queryByText =
|
|
495
|
-
queryByLabelText =
|
|
516
|
+
baseElement = _render17.baseElement,
|
|
517
|
+
container = _render17.container,
|
|
518
|
+
queryByText = _render17.queryByText,
|
|
519
|
+
queryByLabelText = _render17.queryByLabelText;
|
|
496
520
|
|
|
497
521
|
_react2.fireEvent.click(queryByText('test'));
|
|
498
522
|
|
|
@@ -521,12 +545,12 @@ describe('Combobox', function () {
|
|
|
521
545
|
it('preserves the typed text, does NOT make a selection', function () {
|
|
522
546
|
var onChangeValue = jest.fn();
|
|
523
547
|
|
|
524
|
-
var
|
|
548
|
+
var _render18 = render(_react.default.createElement(_.default, {
|
|
525
549
|
label: "test",
|
|
526
550
|
onChangeValue: onChangeValue,
|
|
527
551
|
options: defaultOptions
|
|
528
552
|
})),
|
|
529
|
-
queryByLabelText =
|
|
553
|
+
queryByLabelText = _render18.queryByLabelText;
|
|
530
554
|
|
|
531
555
|
var value = 'value';
|
|
532
556
|
|
|
@@ -554,14 +578,14 @@ describe('Combobox', function () {
|
|
|
554
578
|
var onChangeInputValue = jest.fn();
|
|
555
579
|
var onChangeValue = jest.fn();
|
|
556
580
|
|
|
557
|
-
var
|
|
581
|
+
var _render19 = render(_react.default.createElement(_.default, {
|
|
558
582
|
label: "test",
|
|
559
583
|
onChangeInputValue: onChangeInputValue,
|
|
560
584
|
onChangeValue: onChangeValue,
|
|
561
585
|
options: defaultOptions
|
|
562
586
|
})),
|
|
563
|
-
baseElement =
|
|
564
|
-
queryByLabelText =
|
|
587
|
+
baseElement = _render19.baseElement,
|
|
588
|
+
queryByLabelText = _render19.queryByLabelText; // You can not fire an event on the input in the UI unless you are already focused on it.
|
|
565
589
|
// This click focuses on the input.
|
|
566
590
|
|
|
567
591
|
|
|
@@ -621,14 +645,14 @@ describe('Combobox', function () {
|
|
|
621
645
|
}]
|
|
622
646
|
}];
|
|
623
647
|
|
|
624
|
-
var
|
|
648
|
+
var _render20 = render(_react.default.createElement(_.default, {
|
|
625
649
|
label: "test",
|
|
626
650
|
onChangeInputValue: onChangeInputValue,
|
|
627
651
|
onChangeValue: onChangeValue,
|
|
628
652
|
options: options
|
|
629
653
|
})),
|
|
630
|
-
baseElement =
|
|
631
|
-
queryByLabelText =
|
|
654
|
+
baseElement = _render20.baseElement,
|
|
655
|
+
queryByLabelText = _render20.queryByLabelText; // You can not fire an event on the input in the UI unless you are already focused on it.
|
|
632
656
|
// This click focuses on the input.
|
|
633
657
|
|
|
634
658
|
|
|
@@ -668,13 +692,13 @@ describe('Combobox', function () {
|
|
|
668
692
|
});
|
|
669
693
|
describe('when pressing the ESCAPE key', function () {
|
|
670
694
|
it('closes the dropdown, keeps focus on input', function () {
|
|
671
|
-
var
|
|
695
|
+
var _render21 = render(_react.default.createElement(_.default, {
|
|
672
696
|
label: "test",
|
|
673
697
|
options: defaultOptions
|
|
674
698
|
})),
|
|
675
|
-
baseElement =
|
|
676
|
-
queryByLabelText =
|
|
677
|
-
queryByText =
|
|
699
|
+
baseElement = _render21.baseElement,
|
|
700
|
+
queryByLabelText = _render21.queryByLabelText,
|
|
701
|
+
queryByText = _render21.queryByText;
|
|
678
702
|
|
|
679
703
|
_react2.fireEvent.click(queryByText('test'));
|
|
680
704
|
|
|
@@ -692,13 +716,13 @@ describe('Combobox', function () {
|
|
|
692
716
|
it('preserves the typed text, does NOT make a selection', function () {
|
|
693
717
|
var onChangeValue = jest.fn();
|
|
694
718
|
|
|
695
|
-
var
|
|
719
|
+
var _render22 = render(_react.default.createElement(_.default, {
|
|
696
720
|
label: "test",
|
|
697
721
|
options: defaultOptions,
|
|
698
722
|
onChangeValue: onChangeValue
|
|
699
723
|
})),
|
|
700
|
-
queryByLabelText =
|
|
701
|
-
queryByText =
|
|
724
|
+
queryByLabelText = _render22.queryByLabelText,
|
|
725
|
+
queryByText = _render22.queryByText;
|
|
702
726
|
|
|
703
727
|
var value = 'value';
|
|
704
728
|
|
|
@@ -724,18 +748,18 @@ describe('Combobox', function () {
|
|
|
724
748
|
});
|
|
725
749
|
describe('when the input field has text', function () {
|
|
726
750
|
it('renders the "clear" button', function () {
|
|
727
|
-
var
|
|
728
|
-
timesContainer =
|
|
751
|
+
var _render23 = render(_react.default.createElement(_Times.default, null)),
|
|
752
|
+
timesContainer = _render23.container;
|
|
729
753
|
|
|
730
754
|
var timesPathD = timesContainer.querySelector('svg path').getAttribute('d');
|
|
731
755
|
|
|
732
|
-
var
|
|
756
|
+
var _render24 = render(_react.default.createElement(_.default, {
|
|
733
757
|
defaultInputValue: "value",
|
|
734
758
|
label: "test",
|
|
735
759
|
options: defaultOptions
|
|
736
760
|
})),
|
|
737
|
-
container =
|
|
738
|
-
queryByLabelText =
|
|
761
|
+
container = _render24.container,
|
|
762
|
+
queryByLabelText = _render24.queryByLabelText;
|
|
739
763
|
|
|
740
764
|
expect(queryByLabelText('test')).toHaveValue('value');
|
|
741
765
|
expect(container.querySelectorAll('svg path')[0]).toHaveAttribute('d', timesPathD);
|
|
@@ -747,12 +771,12 @@ describe('Combobox', function () {
|
|
|
747
771
|
inputValue = event ? event.target.value : '';
|
|
748
772
|
});
|
|
749
773
|
|
|
750
|
-
var
|
|
774
|
+
var _render25 = render(_react.default.createElement(_.default, {
|
|
751
775
|
label: "test",
|
|
752
776
|
onChangeInputValue: onChangeInputValue
|
|
753
777
|
})),
|
|
754
|
-
container =
|
|
755
|
-
queryByLabelText =
|
|
778
|
+
container = _render25.container,
|
|
779
|
+
queryByLabelText = _render25.queryByLabelText;
|
|
756
780
|
|
|
757
781
|
var value = 'value';
|
|
758
782
|
|
|
@@ -778,13 +802,13 @@ describe('Combobox', function () {
|
|
|
778
802
|
it('updates the input value with the label of the selection', function () {
|
|
779
803
|
var onChangeValue = jest.fn();
|
|
780
804
|
|
|
781
|
-
var
|
|
805
|
+
var _render26 = render(_react.default.createElement(_.default, {
|
|
782
806
|
label: "test",
|
|
783
807
|
options: defaultOptions,
|
|
784
808
|
onChangeValue: onChangeValue
|
|
785
809
|
})),
|
|
786
|
-
baseElement =
|
|
787
|
-
queryByLabelText =
|
|
810
|
+
baseElement = _render26.baseElement,
|
|
811
|
+
queryByLabelText = _render26.queryByLabelText;
|
|
788
812
|
|
|
789
813
|
_react2.fireEvent.click(queryByLabelText('test'));
|
|
790
814
|
|
|
@@ -798,13 +822,13 @@ describe('Combobox', function () {
|
|
|
798
822
|
expect((0, _react2.queryByText)(baseElement, defaultOptions[0].label)).not.toBeInTheDocument();
|
|
799
823
|
});
|
|
800
824
|
it('shows the selected tag when multiple select is enabled', function () {
|
|
801
|
-
var
|
|
825
|
+
var _render27 = render(_react.default.createElement(_.default, {
|
|
802
826
|
label: "test",
|
|
803
827
|
multiple: true,
|
|
804
828
|
options: defaultOptions
|
|
805
829
|
})),
|
|
806
|
-
baseElement =
|
|
807
|
-
queryByLabelText =
|
|
830
|
+
baseElement = _render27.baseElement,
|
|
831
|
+
queryByLabelText = _render27.queryByLabelText;
|
|
808
832
|
|
|
809
833
|
_react2.fireEvent.click(queryByLabelText('test'));
|
|
810
834
|
|
|
@@ -813,12 +837,12 @@ describe('Combobox', function () {
|
|
|
813
837
|
expect((0, _react2.queryByText)(baseElement, defaultOptions[1].label)).toBeInTheDocument();
|
|
814
838
|
});
|
|
815
839
|
it('renders as "selected" in the dropdown list', function () {
|
|
816
|
-
var
|
|
840
|
+
var _render28 = render(_react.default.createElement(_.default, {
|
|
817
841
|
label: "test",
|
|
818
842
|
options: defaultOptions
|
|
819
843
|
})),
|
|
820
|
-
baseElement =
|
|
821
|
-
queryByLabelText =
|
|
844
|
+
baseElement = _render28.baseElement,
|
|
845
|
+
queryByLabelText = _render28.queryByLabelText;
|
|
822
846
|
|
|
823
847
|
_react2.fireEvent.click(queryByLabelText('test'));
|
|
824
848
|
|
|
@@ -836,14 +860,14 @@ describe('Combobox', function () {
|
|
|
836
860
|
it('does NOT update the selection automatically', function () {
|
|
837
861
|
var onChangeValue = jest.fn();
|
|
838
862
|
|
|
839
|
-
var
|
|
863
|
+
var _render29 = render(_react.default.createElement(_.default, {
|
|
840
864
|
label: "test",
|
|
841
865
|
options: defaultOptions,
|
|
842
866
|
onChangeValue: onChangeValue
|
|
843
867
|
})),
|
|
844
|
-
baseElement =
|
|
845
|
-
queryByLabelText =
|
|
846
|
-
queryByText =
|
|
868
|
+
baseElement = _render29.baseElement,
|
|
869
|
+
queryByLabelText = _render29.queryByLabelText,
|
|
870
|
+
queryByText = _render29.queryByText;
|
|
847
871
|
|
|
848
872
|
_react2.fireEvent.click(queryByText('test'));
|
|
849
873
|
|
|
@@ -870,13 +894,13 @@ describe('Combobox', function () {
|
|
|
870
894
|
it('clears the selection', function () {
|
|
871
895
|
var onChangeValue = jest.fn();
|
|
872
896
|
|
|
873
|
-
var
|
|
897
|
+
var _render30 = render(_react.default.createElement(_.default, {
|
|
874
898
|
label: "test",
|
|
875
899
|
options: defaultOptions,
|
|
876
900
|
onChangeValue: onChangeValue
|
|
877
901
|
})),
|
|
878
|
-
baseElement =
|
|
879
|
-
queryByLabelText =
|
|
902
|
+
baseElement = _render30.baseElement,
|
|
903
|
+
queryByLabelText = _render30.queryByLabelText;
|
|
880
904
|
|
|
881
905
|
_react2.fireEvent.click(queryByLabelText('test'));
|
|
882
906
|
|
|
@@ -901,7 +925,7 @@ describe('Combobox', function () {
|
|
|
901
925
|
var onChangeInputValue = jest.fn();
|
|
902
926
|
var onChangeValue = jest.fn();
|
|
903
927
|
|
|
904
|
-
var
|
|
928
|
+
var _render31 = render(_react.default.createElement(_.default, {
|
|
905
929
|
label: "test",
|
|
906
930
|
options: defaultOptions,
|
|
907
931
|
defaultInputValue: "value",
|
|
@@ -909,9 +933,9 @@ describe('Combobox', function () {
|
|
|
909
933
|
onChangeInputValue: onChangeInputValue,
|
|
910
934
|
onChangeValue: onChangeValue
|
|
911
935
|
})),
|
|
912
|
-
baseElement =
|
|
913
|
-
queryByLabelText =
|
|
914
|
-
rerender =
|
|
936
|
+
baseElement = _render31.baseElement,
|
|
937
|
+
queryByLabelText = _render31.queryByLabelText,
|
|
938
|
+
rerender = _render31.rerender;
|
|
915
939
|
|
|
916
940
|
_react2.fireEvent.click(queryByLabelText('test'));
|
|
917
941
|
|
|
@@ -934,7 +958,7 @@ describe('Combobox', function () {
|
|
|
934
958
|
});
|
|
935
959
|
describe('when a controlled component', function () {
|
|
936
960
|
it('initializes with and prefers prop values', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {
|
|
937
|
-
var newInputValue, onChangeInputValue, onChangeValue,
|
|
961
|
+
var newInputValue, onChangeInputValue, onChangeValue, _render32, baseElement, queryByLabelText, rerender;
|
|
938
962
|
|
|
939
963
|
return regeneratorRuntime.wrap(function _callee$(_context) {
|
|
940
964
|
while (1) {
|
|
@@ -944,7 +968,7 @@ describe('Combobox', function () {
|
|
|
944
968
|
newInputValue = event ? event.target.value : '';
|
|
945
969
|
});
|
|
946
970
|
onChangeValue = jest.fn();
|
|
947
|
-
|
|
971
|
+
_render32 = render(_react.default.createElement(_.default, {
|
|
948
972
|
label: "test",
|
|
949
973
|
options: defaultOptions,
|
|
950
974
|
inputValue: "value",
|
|
@@ -953,7 +977,7 @@ describe('Combobox', function () {
|
|
|
953
977
|
onChangeValue: onChangeValue,
|
|
954
978
|
autoComplete: "auto-complete-test",
|
|
955
979
|
type: "search"
|
|
956
|
-
})), baseElement =
|
|
980
|
+
})), baseElement = _render32.baseElement, queryByLabelText = _render32.queryByLabelText, rerender = _render32.rerender;
|
|
957
981
|
|
|
958
982
|
_react2.fireEvent.click(queryByLabelText('test'));
|
|
959
983
|
|
|
@@ -1011,7 +1035,7 @@ describe('Combobox', function () {
|
|
|
1011
1035
|
it('calls the onChangeValue prop with removed: true', function () {
|
|
1012
1036
|
var onChangeValue = jest.fn();
|
|
1013
1037
|
|
|
1014
|
-
var
|
|
1038
|
+
var _render33 = render(_react.default.createElement(_.default, {
|
|
1015
1039
|
label: "test",
|
|
1016
1040
|
options: defaultOptions,
|
|
1017
1041
|
inputValue: "",
|
|
@@ -1019,8 +1043,8 @@ describe('Combobox', function () {
|
|
|
1019
1043
|
onChangeValue: onChangeValue,
|
|
1020
1044
|
multiple: true
|
|
1021
1045
|
})),
|
|
1022
|
-
queryByText =
|
|
1023
|
-
queryByLabelText =
|
|
1046
|
+
queryByText = _render33.queryByText,
|
|
1047
|
+
queryByLabelText = _render33.queryByLabelText;
|
|
1024
1048
|
|
|
1025
1049
|
expect(queryByText(defaultOptions[1].label)).toBeInTheDocument();
|
|
1026
1050
|
|
|
@@ -48,7 +48,7 @@ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) r
|
|
|
48
48
|
var TargetContainer = _styledComponents.default.div.withConfig({
|
|
49
49
|
displayName: "Target__TargetContainer",
|
|
50
50
|
componentId: "sc-1t0verh-0"
|
|
51
|
-
})(["align-items:center;display:flex;justify-content:space-between;position:relative;top:-
|
|
51
|
+
})(["align-items:center;display:flex;justify-content:space-between;position:relative;top:-2px;width:100%;"]);
|
|
52
52
|
|
|
53
53
|
var TargetButton = (0, _styledComponents.default)(_BaseButton.default).withConfig({
|
|
54
54
|
displayName: "Target__TargetButton",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Select/index.tsx"],"names":[],"mappings":"AAGA,OAAc,EAEZ,sBAAsB,EAMvB,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Select/index.tsx"],"names":[],"mappings":"AAGA,OAAc,EAEZ,sBAAsB,EAMvB,MAAM,OAAO,CAAC;AAoBf,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAyPjD,QAAA,MAAM,aAAa,EAAE,sBAAsB,CACzC,SAAS,EACT,WAAW,CACS,CAAC;AAgCvB,eAAe,aAAa,CAAC"}
|
|
@@ -27,6 +27,8 @@ var _useClickOutside = _interopRequireDefault(require("../../utils/useClickOutsi
|
|
|
27
27
|
|
|
28
28
|
var _useUniqueId = _interopRequireDefault(require("../../utils/useUniqueId"));
|
|
29
29
|
|
|
30
|
+
var _useUpdateEffect = _interopRequireDefault(require("../../utils/useUpdateEffect"));
|
|
31
|
+
|
|
30
32
|
var _DropdownList = _interopRequireDefault(require("../DropdownList"));
|
|
31
33
|
|
|
32
34
|
var _Button = require("../Button");
|
|
@@ -77,7 +79,9 @@ function Select(props, ref) {
|
|
|
77
79
|
name = props.name,
|
|
78
80
|
onChange = props.onChange,
|
|
79
81
|
onClick = props.onClick,
|
|
82
|
+
onHide = props.onHide,
|
|
80
83
|
onKeyDown = props.onKeyDown,
|
|
84
|
+
onShow = props.onShow,
|
|
81
85
|
options = props.options,
|
|
82
86
|
renderOptionLabel = props.renderOptionLabel,
|
|
83
87
|
propValue = props.value,
|
|
@@ -203,6 +207,19 @@ function Select(props, ref) {
|
|
|
203
207
|
}, [isPopoverVisible]);
|
|
204
208
|
(0, _useClickOutside.default)([listRef], handleClickOutsideList);
|
|
205
209
|
var inputContainerRefs = (0, _compact.default)([inputContainerRef, popoverTargetRef]);
|
|
210
|
+
/**
|
|
211
|
+
* Triggers onShow/onHide callbacks representing wether the Popover is open or not.
|
|
212
|
+
*/
|
|
213
|
+
|
|
214
|
+
(0, _useUpdateEffect.default)(function () {
|
|
215
|
+
if (isPopoverVisible) {
|
|
216
|
+
onShow && onShow();
|
|
217
|
+
}
|
|
218
|
+
|
|
219
|
+
if (!isPopoverVisible) {
|
|
220
|
+
onHide && onHide();
|
|
221
|
+
}
|
|
222
|
+
}, [isPopoverVisible, onHide, onShow]);
|
|
206
223
|
return _react.default.createElement(_react.default.Fragment, null, _react.default.createElement(_InputField.default, _extends({}, props, {
|
|
207
224
|
"aria-live": "assertive",
|
|
208
225
|
cursor: "default",
|