@entur/dropdown 5.0.0-beta.3 → 5.0.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 (33) hide show
  1. package/dist/Dropdown.d.ts +38 -37
  2. package/dist/MultiSelect.d.ts +89 -32
  3. package/dist/NativeDropdown.d.ts +23 -9
  4. package/dist/SearchableDropdown.d.ts +63 -17
  5. package/dist/{beta/components → components}/DropdownList.d.ts +11 -10
  6. package/dist/{beta/components → components}/FieldComponents.d.ts +7 -3
  7. package/dist/{BaseDropdown.d.ts → deprecated/BaseDropdown.d.ts} +3 -3
  8. package/dist/{DownshiftProvider.d.ts → deprecated/DownshiftProvider.d.ts} +1 -1
  9. package/dist/deprecated/Dropdown.d.ts +72 -0
  10. package/dist/{DropdownInputGroup.d.ts → deprecated/DropdownInputGroup.d.ts} +2 -2
  11. package/dist/deprecated/DropdownList.d.ts +8 -0
  12. package/dist/{DropdownLoadingDots.d.ts → deprecated/DropdownLoadingDots.d.ts} +1 -1
  13. package/dist/deprecated/DropdownToggleButton.d.ts +3 -0
  14. package/dist/deprecated/MultiSelect.d.ts +64 -0
  15. package/dist/{RegularDropdown.d.ts → deprecated/RegularDropdown.d.ts} +3 -3
  16. package/dist/deprecated/SearchableDropdown.d.ts +34 -0
  17. package/dist/{beta → deprecated}/index.d.ts +1 -2
  18. package/dist/dropdown.cjs.development.js +588 -347
  19. package/dist/dropdown.cjs.development.js.map +1 -1
  20. package/dist/dropdown.cjs.production.min.js +1 -1
  21. package/dist/dropdown.cjs.production.min.js.map +1 -1
  22. package/dist/dropdown.esm.js +586 -345
  23. package/dist/dropdown.esm.js.map +1 -1
  24. package/dist/index.d.ts +4 -3
  25. package/dist/styles.css +254 -252
  26. package/dist/useNormalizedItems.d.ts +5 -6
  27. package/dist/{beta/utils.d.ts → utils.d.ts} +25 -4
  28. package/package.json +12 -12
  29. package/dist/DropdownList.d.ts +0 -8
  30. package/dist/DropdownToggleButton.d.ts +0 -3
  31. package/dist/beta/Dropdown.d.ts +0 -52
  32. package/dist/beta/MultiSelect.d.ts +0 -76
  33. package/dist/beta/SearchableDropdown.d.ts +0 -61
package/dist/index.d.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  import './index.scss';
2
+ export type { NormalizedDropdownItemType, DropdownItemType, } from './useNormalizedItems';
3
+ export * from './deprecated';
4
+ export * from './SearchableDropdown';
5
+ export * from './MultiSelect';
2
6
  export * from './Dropdown';
3
7
  export * from './NativeDropdown';
4
- export * from './MultiSelect';
5
- export * from './MultiSelect';
6
- export * from './beta';
package/dist/styles.css CHANGED
@@ -3,6 +3,161 @@
3
3
  }
4
4
  /* DO NOT CHANGE!*/
5
5
  /* This file is automatically generated from @entur/tokens! Changes will be overwritten. */
6
+ .eds-dropdown__wrapper {
7
+ position: relative;
8
+ width: 100%;
9
+ }
10
+ .eds-dropdown__selected-item {
11
+ display: block;
12
+ font-size: 1rem;
13
+ line-height: 1rem;
14
+ margin-right: -1rem;
15
+ padding: calc(1rem + 0.25rem) 0 0.25rem 1rem;
16
+ font-family: inherit;
17
+ position: relative;
18
+ top: 5px;
19
+ overflow-x: hidden;
20
+ text-overflow: ellipsis;
21
+ white-space: nowrap;
22
+ }
23
+ .eds-dropdown__selected-item__wrapper {
24
+ max-width: 65%;
25
+ }
26
+ .eds-dropdown__selected-items-and-input {
27
+ display: flex;
28
+ flex-wrap: wrap;
29
+ flex: 1;
30
+ gap: 0.5rem;
31
+ }
32
+ .eds-dropdown__selected-items-and-input--filled {
33
+ padding: 1.25rem 0rem 0.25rem 1rem;
34
+ }
35
+ .eds-dropdown__selected-items-and-input--filled .eds-dropdown__input {
36
+ padding: 0;
37
+ padding: initial;
38
+ min-height: 1.5rem;
39
+ }
40
+ .eds-dropdown__selected-items-and-input--filled .eds-tag-chip:focus {
41
+ box-shadow: 0 0 0 0.125rem #ffffff, 0 0 0 0.25rem #181c56;
42
+ }
43
+ .eds-dropdown__input {
44
+ flex: 1;
45
+ min-width: 10%;
46
+ min-height: 3rem;
47
+ }
48
+ .eds-dropdown.eds-form-control-wrapper {
49
+ align-items: start;
50
+ }
51
+ .eds-dropdown.eds-form-control-wrapper.eds-dropdown--not-filled .eds-input-group__label {
52
+ font-size: 1rem;
53
+ position: absolute;
54
+ line-height: 1rem;
55
+ height: 3rem;
56
+ padding: 1rem;
57
+ padding-left: 0;
58
+ margin-left: 1rem;
59
+ top: -0.125rem;
60
+ transition: top 0.2s ease-in-out, font-size 0.2s ease-in-out, padding 0.2s ease-in-out, line-height ease-in-out 0.2s;
61
+ }
62
+ .eds-dropdown.eds-form-control-wrapper .eds-form-control__prepend {
63
+ top: 1rem;
64
+ }
65
+ .eds-dropdown.eds-form-control-wrapper .eds-form-control__append {
66
+ top: 0.4rem;
67
+ }
68
+ .eds-dropdown.eds-form-control-wrapper .eds-form-control__append .eds-loading-dots {
69
+ height: 2rem;
70
+ }
71
+ .eds-dropdown__selected-item-button {
72
+ cursor: pointer;
73
+ flex: 1;
74
+ padding: 1.25rem 1rem 0.25rem;
75
+ min-height: 2.75rem;
76
+ }
77
+ .eds-dropdown__selected-item-button__placeholder {
78
+ color: #54568c;
79
+ }
80
+ .eds-contrast .eds-dropdown__selected-item-button__placeholder {
81
+ color: #656782;
82
+ }
83
+ .eds-contrast .eds-dropdown__selected-item-button__placeholder--readonly {
84
+ color: #aeb7e2;
85
+ }
86
+ .eds-dropdown-appendix {
87
+ display: flex;
88
+ align-items: center;
89
+ }
90
+ .eds-dropdown-appendix__clear-button {
91
+ padding: 0.5rem;
92
+ margin-right: 0.25rem;
93
+ }
94
+ .eds-contrast .eds-dropdown-appendix__clear-button:hover {
95
+ background: #d1d3d3;
96
+ }
97
+ .eds-contrast .eds-dropdown-appendix__clear-button:active {
98
+ background: #949494;
99
+ }
100
+ .eds-contrast .eds-dropdown-appendix__clear-button:focus {
101
+ border: 0.0625rem solid #181c56;
102
+ outline: none;
103
+ }
104
+ .eds-dropdown-appendix__clear-button__tooltip {
105
+ white-space: nowrap;
106
+ }
107
+ .eds-dropdown-appendix__divider {
108
+ content: "";
109
+ display: block;
110
+ background-color: #e9e9e9;
111
+ height: 1.5rem;
112
+ width: 1px;
113
+ }
114
+ .eds-contrast .eds-form-control-wrapper--disabled .eds-dropdown-appendix__divider {
115
+ background-color: #8285a8;
116
+ }
117
+ .eds-contrast .eds-dropdown-appendix__divider {
118
+ background-color: #d1d3d3;
119
+ }
120
+ .eds-dropdown-appendix__toggle-button {
121
+ margin-right: -0.75rem;
122
+ margin-left: 0.25rem;
123
+ }
124
+ .eds-dropdown-appendix__toggle-button--open svg {
125
+ transform: rotate(180deg);
126
+ }
127
+ .eds-dropdown-appendix__toggle-button svg {
128
+ transition: transform ease-in-out 0.1s;
129
+ }
130
+ .eds-dropdown-appendix__toggle-button--loading-dots {
131
+ align-items: center;
132
+ display: flex;
133
+ justify-content: center;
134
+ height: 100%;
135
+ width: 100%;
136
+ margin-right: 0;
137
+ }
138
+ .eds-contrast .eds-dropdown-appendix__toggle-button:hover {
139
+ background: #d1d3d3;
140
+ }
141
+ .eds-contrast .eds-dropdown-appendix__toggle-button:active {
142
+ background: #949494;
143
+ }
144
+ .eds-contrast .eds-dropdown-appendix__toggle-button:focus {
145
+ border: none;
146
+ outline: none;
147
+ }
148
+ .eds-dropdown--native + .eds-form-control__append {
149
+ margin-left: -2em;
150
+ pointer-events: none;
151
+ }
152
+ .eds-dropdown--native option {
153
+ color: #181c56;
154
+ background-color: #ffffff;
155
+ }
156
+ .eds-contrast .eds-dropdown--native option {
157
+ color: #181c56;
158
+ }
159
+ /* DO NOT CHANGE!*/
160
+ /* This file is automatically generated from @entur/tokens! Changes will be overwritten. */
6
161
  .eds-multi-select {
7
162
  position: relative;
8
163
  }
@@ -94,20 +249,6 @@
94
249
  }
95
250
  /* DO NOT CHANGE!*/
96
251
  /* This file is automatically generated from @entur/tokens! Changes will be overwritten. */
97
- .eds-dropdown + .eds-form-control__append {
98
- margin-left: -2em;
99
- pointer-events: none;
100
- }
101
-
102
- .eds-dropdown option {
103
- color: #181c56;
104
- background-color: #ffffff;
105
- }
106
- .eds-contrast .eds-dropdown option {
107
- color: #181c56;
108
- }
109
- /* DO NOT CHANGE!*/
110
- /* This file is automatically generated from @entur/tokens! Changes will be overwritten. */
111
252
  .eds-dropdown-list {
112
253
  border-radius: 0.25rem;
113
254
  box-shadow: 0 0.0625rem 0.1875rem rgba(0, 0, 0, 0.25);
@@ -172,242 +313,9 @@
172
313
  }
173
314
  /* DO NOT CHANGE!*/
174
315
  /* This file is automatically generated from @entur/tokens! Changes will be overwritten. */
175
- .eds-dropdown__searchable-selected-item {
176
- display: block;
177
- font-size: 1rem;
178
- line-height: 1rem;
179
- margin-right: -1rem;
180
- padding: calc(1rem + 0.25rem) 0 0.25rem 1rem;
181
- font-family: inherit;
182
- overflow-x: hidden;
183
- text-overflow: ellipsis;
184
- white-space: nowrap;
185
- }
186
- .eds-dropdown__searchable-selected-item__wrapper {
187
- max-width: 65%;
188
- }
189
-
190
- .eds-form-control.eds-dropdown__input::-moz-placeholder {
191
- -moz-transition: none;
192
- transition: none;
193
- }
194
-
195
- .eds-form-control.eds-dropdown__input::placeholder {
196
- transition: none;
197
- }
198
- /* DO NOT CHANGE!*/
199
- /* This file is automatically generated from @entur/tokens! Changes will be overwritten. */
200
- .eds-inline-spinner {
201
- align-items: center;
202
- display: flex;
203
- justify-content: center;
204
- height: 100%;
205
- width: 100%;
206
- }
207
- /* DO NOT CHANGE!*/
208
- /* This file is automatically generated from @entur/tokens! Changes will be overwritten. */
209
- .eds-dropdown__wrapper {
210
- position: relative;
211
- }
212
- .eds-dropdown__selected-item {
213
- display: block;
214
- font-size: 1rem;
215
- line-height: 1rem;
216
- margin-right: -1rem;
217
- padding: calc(1rem + 0.25rem) 0 0.25rem 1rem;
218
- font-family: inherit;
219
- position: relative;
220
- top: 2px;
221
- overflow-x: hidden;
222
- text-overflow: ellipsis;
223
- white-space: nowrap;
224
- }
225
- .eds-dropdown__selected-item__wrapper {
226
- max-width: 65%;
227
- }
228
- .eds-dropdown__selected-items-and-input {
229
- display: flex;
230
- flex-wrap: wrap;
231
- flex: 1;
232
- gap: 0.5rem;
233
- }
234
- .eds-dropdown__selected-items-and-input--filled {
235
- padding: 20px 0rem 0.25rem 1rem;
236
- }
237
- .eds-dropdown__selected-items-and-input--filled .eds-dropdown__input {
238
- padding: 0;
239
- padding: initial;
240
- }
241
- .eds-dropdown__selected-items-and-input--filled .eds-tag-chip:focus {
242
- box-shadow: 0 0 0 0.125rem #ffffff, 0 0 0 0.25rem #181c56;
243
- }
244
- .eds-dropdown__input {
245
- flex: 1;
246
- min-width: 10%;
247
- }
248
- .eds-dropdown__input.eds-form-control::-moz-placeholder {
249
- -moz-transition: none;
250
- transition: none;
251
- position: relative;
252
- bottom: 0px;
253
- }
254
- .eds-dropdown__input.eds-form-control::placeholder {
255
- transition: none;
256
- position: relative;
257
- bottom: 0px;
258
- }
259
- .eds-dropdown.eds-form-control-wrapper {
260
- align-items: start;
261
- }
262
- .eds-dropdown.eds-form-control-wrapper.eds-dropdown--not-filled .eds-input-group__label {
263
- font-size: 1rem;
264
- position: absolute;
265
- line-height: 1rem;
266
- height: 3rem;
267
- padding: 1rem;
268
- padding-left: 0;
269
- margin-left: 1rem;
270
- top: -0.125rem;
271
- transition: top 0.2s ease-in-out, font-size 0.2s ease-in-out, padding 0.2s ease-in-out, line-height ease-in-out 0.2s;
272
- }
273
- .eds-dropdown.eds-form-control-wrapper .eds-form-control__append {
274
- top: 0.3rem;
275
- }
276
- .eds-dropdown.eds-form-control-wrapper .eds-form-control__append .eds-loading-dots {
277
- height: 2rem;
278
- }
279
- .eds-dropdown__selected-item-button {
280
- flex: 1;
281
- padding: 1.25rem 1rem 0.25rem;
282
- min-height: 2.75rem;
283
- }
284
- .eds-dropdown__selected-item-button__placeholder {
285
- color: #54568c;
286
- }
287
- .eds-contrast .eds-dropdown__selected-item-button__placeholder {
288
- color: #656782;
289
- }
290
- .eds-contrast .eds-dropdown__selected-item-button__placeholder--readonly {
291
- color: #aeb7e2;
292
- }
293
- .eds-dropdown-appendix {
294
- display: flex;
295
- align-items: center;
296
- flex-direction: row-reverse;
297
- }
298
- .eds-dropdown-appendix__clear-button {
299
- padding: 0.5rem;
300
- margin-right: 0.25rem;
301
- }
302
- .eds-contrast .eds-dropdown-appendix__clear-button:hover {
303
- background: #d1d3d3;
304
- }
305
- .eds-contrast .eds-dropdown-appendix__clear-button:active {
306
- background: #949494;
307
- }
308
- .eds-contrast .eds-dropdown-appendix__clear-button:focus {
309
- border: 0.0625rem solid #181c56;
310
- outline: none;
311
- }
312
- .eds-dropdown-appendix__divider {
313
- content: "";
314
- display: block;
315
- background-color: #e9e9e9;
316
- height: 1.5rem;
317
- width: 1px;
318
- }
319
- .eds-contrast .eds-form-control-wrapper--disabled .eds-dropdown-appendix__divider {
320
- background-color: #8285a8;
321
- }
322
- .eds-contrast .eds-dropdown-appendix__divider {
323
- background-color: #d1d3d3;
324
- }
325
- .eds-dropdown-appendix__toggle-button {
326
- margin-right: -0.75rem;
327
- margin-left: 0.25rem;
328
- }
329
- .eds-dropdown-appendix__toggle-button--open svg {
330
- transform: rotate(180deg);
331
- }
332
- .eds-dropdown-appendix__toggle-button:focus {
333
- border-color: transparent;
334
- }
335
- .eds-dropdown-appendix__toggle-button svg {
336
- transition: transform ease-in-out 0.1s;
337
- }
338
- .eds-contrast .eds-dropdown-appendix__toggle-button:hover {
339
- background: #d1d3d3;
340
- }
341
- .eds-contrast .eds-dropdown-appendix__toggle-button:active {
342
- background: #949494;
343
- }
344
- .eds-contrast .eds-dropdown-appendix__toggle-button:focus {
345
- border: none;
346
- outline: none;
347
- }
348
- /* DO NOT CHANGE!*/
349
- /* This file is automatically generated from @entur/tokens! Changes will be overwritten. */
350
- .eds-dropdown-wrapper {
351
- position: relative;
352
- }
353
- .eds-dropdown-wrapper .eds-form-control {
354
- padding-right: 0;
355
- }
356
- .eds-dropdown-wrapper .eds-form-control__append {
357
- display: flex;
358
- align-items: center;
359
- }
360
-
361
- .eds-dropdown__input::-moz-placeholder {
362
- color: #656782;
363
- }
364
-
365
- .eds-dropdown__input::placeholder {
366
- color: #656782;
367
- }
368
-
369
- .eds-dropdown__selected-item {
370
- overflow-x: hidden;
371
- text-overflow: ellipsis;
372
- white-space: nowrap;
373
- }
374
-
375
- .eds-dropdown__clear-button {
376
- background: none;
377
- border: none;
378
- border-radius: 50%;
379
- color: inherit;
380
- cursor: pointer;
381
- display: flex;
382
- font: inherit;
383
- font-size: 1rem;
384
- line-height: 1rem;
385
- padding: 0.5rem;
386
- }
387
- .eds-dropdown__clear-button:hover {
388
- background: #f3f3f3;
389
- }
390
- .eds-dropdown__clear-button:focus {
391
- outline-offset: 0.125rem;
392
- outline: none;
393
- box-shadow: 0 0 0 0.125rem #ffffff, 0 0 0 0.25rem #181c56;
394
- }
395
-
396
- .eds-dropdown__divider {
397
- content: "";
398
- display: block;
399
- background-color: #e9e9e9;
400
- height: 1.5rem;
401
- width: 1px;
402
- }
403
- .eds-contrast .eds-form-control-wrapper--disabled .eds-dropdown__divider {
404
- background-color: #8285a8;
405
- }
406
- /* DO NOT CHANGE!*/
407
- /* This file is automatically generated from @entur/tokens! Changes will be overwritten. */
408
316
  .eds-dropdown__selected-item-tag {
409
317
  height: 1.5rem;
410
- max-width: 40%;
318
+ max-width: 50%;
411
319
  padding: 0;
412
320
  }
413
321
  .eds-dropdown__selected-item-tag > span {
@@ -453,7 +361,6 @@
453
361
  /* This file is automatically generated from @entur/tokens! Changes will be overwritten. */
454
362
  .eds-dropdown__list {
455
363
  position: absolute;
456
- display: none;
457
364
  list-style: none;
458
365
  border-radius: 0.25rem;
459
366
  border: 0.125rem solid #7C7F9F;
@@ -469,9 +376,6 @@
469
376
  .eds-dropdown__list:focus {
470
377
  outline: none;
471
378
  }
472
- .eds-dropdown__list--open {
473
- display: inline-block;
474
- }
475
379
  .eds-dropdown__list__item {
476
380
  background-color: #f8f8f8;
477
381
  color: #181c56;
@@ -483,16 +387,22 @@
483
387
  line-height: 1.25rem;
484
388
  padding: 0.75rem 1rem;
485
389
  width: 100%;
390
+ overflow-x: hidden;
391
+ word-break: break-word;
486
392
  }
487
393
  .eds-dropdown__list__item:last-child {
488
394
  border-bottom: none;
489
395
  }
490
396
  .eds-dropdown__list__item__text {
491
397
  flex: 1;
398
+ cursor: default;
492
399
  }
493
400
  .eds-dropdown__list__item__icon {
494
401
  margin-left: 0.75rem;
495
402
  }
403
+ .eds-dropdown__list__item__checkbox {
404
+ pointer-events: none;
405
+ }
496
406
  .eds-contrast .eds-dropdown__list__item__checkbox.eds-checkbox__container > input + .eds-checkbox__icon {
497
407
  border-color: #181c56;
498
408
  }
@@ -533,6 +443,98 @@
533
443
  }
534
444
  /* DO NOT CHANGE!*/
535
445
  /* This file is automatically generated from @entur/tokens! Changes will be overwritten. */
446
+ .eds-dropdown__searchable-selected-item {
447
+ display: block;
448
+ font-size: 1rem;
449
+ line-height: 1rem;
450
+ margin-right: -1rem;
451
+ padding: calc(1rem + 0.25rem) 0 0.25rem 1rem;
452
+ font-family: inherit;
453
+ overflow-x: hidden;
454
+ text-overflow: ellipsis;
455
+ white-space: nowrap;
456
+ }
457
+ .eds-dropdown__searchable-selected-item__wrapper {
458
+ max-width: 65%;
459
+ }
460
+
461
+ .eds-form-control.eds-dropdown__input::-moz-placeholder {
462
+ -moz-transition: none;
463
+ transition: none;
464
+ }
465
+
466
+ .eds-form-control.eds-dropdown__input::placeholder {
467
+ transition: none;
468
+ }
469
+ /* DO NOT CHANGE!*/
470
+ /* This file is automatically generated from @entur/tokens! Changes will be overwritten. */
471
+ .eds-inline-spinner {
472
+ align-items: center;
473
+ display: flex;
474
+ justify-content: center;
475
+ height: 100%;
476
+ width: 100%;
477
+ }
478
+ /* DO NOT CHANGE!*/
479
+ /* This file is automatically generated from @entur/tokens! Changes will be overwritten. */
480
+ .eds-dropdown-wrapper {
481
+ position: relative;
482
+ }
483
+ .eds-dropdown-wrapper .eds-form-control {
484
+ padding-right: 0;
485
+ }
486
+ .eds-dropdown-wrapper .eds-form-control__append {
487
+ display: flex;
488
+ align-items: center;
489
+ }
490
+
491
+ .eds-dropdown__input::-moz-placeholder {
492
+ color: #656782;
493
+ }
494
+
495
+ .eds-dropdown__input::placeholder {
496
+ color: #656782;
497
+ }
498
+
499
+ .eds-dropdown__selected-item {
500
+ overflow-x: hidden;
501
+ text-overflow: ellipsis;
502
+ white-space: nowrap;
503
+ }
504
+
505
+ .eds-dropdown__clear-button {
506
+ background: none;
507
+ border: none;
508
+ border-radius: 50%;
509
+ color: inherit;
510
+ cursor: pointer;
511
+ display: flex;
512
+ font: inherit;
513
+ font-size: 1rem;
514
+ line-height: 1rem;
515
+ padding: 0.5rem;
516
+ }
517
+ .eds-dropdown__clear-button:hover {
518
+ background: #f3f3f3;
519
+ }
520
+ .eds-dropdown__clear-button:focus {
521
+ outline-offset: 0.125rem;
522
+ outline: none;
523
+ box-shadow: 0 0 0 0.125rem #ffffff, 0 0 0 0.25rem #181c56;
524
+ }
525
+
526
+ .eds-dropdown__divider {
527
+ content: "";
528
+ display: block;
529
+ background-color: #e9e9e9;
530
+ height: 1.5rem;
531
+ width: 1px;
532
+ }
533
+ .eds-contrast .eds-form-control-wrapper--disabled .eds-dropdown__divider {
534
+ background-color: #8285a8;
535
+ }
536
+ /* DO NOT CHANGE!*/
537
+ /* This file is automatically generated from @entur/tokens! Changes will be overwritten. */
536
538
  .eds-dropdown__toggle-button {
537
539
  -webkit-appearance: none;
538
540
  -moz-appearance: none;
@@ -1,13 +1,12 @@
1
1
  import React from 'react';
2
- /** A dropdown item has a string label and a string value */
3
- export type NormalizedDropdownItemType = {
4
- value: string;
5
- label: string;
6
- icons?: React.ComponentType<any>[];
7
- };
8
2
  export type DropdownItemType = {
9
3
  value?: string;
10
4
  label: string;
11
5
  icons?: React.ComponentType<any>[];
12
6
  } | string;
7
+ export type NormalizedDropdownItemType = {
8
+ value: string;
9
+ label: string;
10
+ icons?: React.ComponentType<any>[];
11
+ };
13
12
  export declare const useNormalizedItems: (items: DropdownItemType[]) => NormalizedDropdownItemType[];
@@ -1,20 +1,23 @@
1
- import { NormalizedDropdownItemType } from '../useNormalizedItems';
1
+ import { A11yRemovalMessage, A11yStatusMessageOptions } from 'downshift';
2
+ import { NormalizedDropdownItemType } from './useNormalizedItems';
3
+ import React from 'react';
2
4
  export declare const EMPTY_INPUT = "";
3
5
  export declare function lowerCaseFilterTest(item: NormalizedDropdownItemType, input: string | undefined): boolean;
4
6
  export declare const itemToString: (item: NormalizedDropdownItemType | null) => string;
5
7
  type useMultiselectUtilsType = {
6
8
  selectedItems: NormalizedDropdownItemType[];
7
9
  listItems: NormalizedDropdownItemType[];
8
- selectAllValue: string;
10
+ selectAll: NormalizedDropdownItemType;
9
11
  };
10
- export declare const useMultiselectUtils: ({ listItems, selectedItems, selectAllValue, }: useMultiselectUtilsType) => {
12
+ export declare const useMultiselectUtils: ({ listItems, selectedItems, selectAll, }: useMultiselectUtilsType) => {
11
13
  addClickedItemToSelectedItems: (clickedItem: NormalizedDropdownItemType, onChange: (value: NormalizedDropdownItemType[]) => void) => void;
12
14
  allListItemsAreSelected: boolean;
13
15
  clickedItemIsInSelectedItems: (clickedItem: NormalizedDropdownItemType) => boolean;
14
16
  clickedItemIsSelectAll: (clickedItem: NormalizedDropdownItemType) => boolean;
15
- handleListItemClicked: ({ clickedItem, onChange, }: {
17
+ handleListItemClicked: ({ clickedItem, onChange, setLastRemovedItem, }: {
16
18
  clickedItem: NormalizedDropdownItemType;
17
19
  onChange: (value: NormalizedDropdownItemType[]) => void;
20
+ setLastRemovedItem: any;
18
21
  }) => void;
19
22
  hasSelectedItems: boolean;
20
23
  listItemsWithoutSelectAll: NormalizedDropdownItemType[];
@@ -24,4 +27,22 @@ export declare const useMultiselectUtils: ({ listItems, selectedItems, selectAll
24
27
  someListItemsAreSelected: boolean;
25
28
  unselectAllListItems: (onChange: (value: NormalizedDropdownItemType[]) => void) => void;
26
29
  };
30
+ type getA11yStatusMessageType<Item> = A11yStatusMessageOptions<Item> & {
31
+ selectAllItemIncluded?: boolean;
32
+ ariaLabelNoResults?: string;
33
+ };
34
+ export declare function getA11yStatusMessage<Item>(options: getA11yStatusMessageType<Item>): string;
35
+ type getA11ySelectionMessageType<Item> = A11yStatusMessageOptions<Item> & {
36
+ selectAllItem?: NormalizedDropdownItemType;
37
+ };
38
+ export declare function getA11ySelectionMessage(options: getA11ySelectionMessageType<NormalizedDropdownItemType>): string;
39
+ type getA11yRemovalMessageType<Item> = A11yRemovalMessage<Item> & {
40
+ selectAllItem?: NormalizedDropdownItemType;
41
+ removedItem?: NormalizedDropdownItemType;
42
+ };
43
+ export declare function getA11yRemovalMessage(options: getA11yRemovalMessageType<NormalizedDropdownItemType>): string;
44
+ /**A VoiceOver click is always preformed in the center of the clicked element.
45
+ This functions expolits that to check if the performed click likely is
46
+ made by VoiceOver. */
47
+ export declare const isVoiceOverClick: (clickEvent: React.MouseEvent) => boolean;
27
48
  export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@entur/dropdown",
3
- "version": "5.0.0-beta.3",
3
+ "version": "5.0.0",
4
4
  "license": "EUPL-1.2",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/dropdown.esm.js",
@@ -27,17 +27,17 @@
27
27
  "react-dom": ">=16.8.0"
28
28
  },
29
29
  "dependencies": {
30
- "@entur/a11y": "^0.2.65",
31
- "@entur/button": "^3.0.7",
32
- "@entur/chip": "^0.6.35",
33
- "@entur/form": "^7.0.8",
34
- "@entur/icons": "^6.3.0",
35
- "@entur/loader": "^0.4.30",
36
- "@entur/tokens": "^3.9.0",
37
- "@entur/tooltip": "^2.6.18",
38
- "@entur/utils": "^0.9.0",
30
+ "@entur/a11y": "^0.2.68",
31
+ "@entur/button": "^3.0.13",
32
+ "@entur/chip": "^0.6.41",
33
+ "@entur/form": "^7.0.14",
34
+ "@entur/icons": "^6.4.1",
35
+ "@entur/loader": "^0.4.36",
36
+ "@entur/tokens": "^3.10.0",
37
+ "@entur/tooltip": "^2.6.24",
38
+ "@entur/utils": "^0.9.3",
39
39
  "classnames": "^2.3.1",
40
- "downshift": "^6.1.7"
40
+ "downshift": "^7.6.1"
41
41
  },
42
- "gitHead": "f461da8c64cfd812b51a779b1dec74b3c6610228"
42
+ "gitHead": "113113f32a331fcd5f01d20e2c47ae2f2b73b93e"
43
43
  }
@@ -1,8 +0,0 @@
1
- import React from 'react';
2
- import { NormalizedDropdownItemType } from './useNormalizedItems';
3
- import './DropdownList.scss';
4
- export type DropdownListProps = {
5
- items: NormalizedDropdownItemType[];
6
- [key: string]: any;
7
- };
8
- export declare const DropdownList: React.FC<DropdownListProps>;
@@ -1,3 +0,0 @@
1
- /// <reference types="react" />
2
- import './DropdownToggleButton.scss';
3
- export declare const DropdownToggleButton: () => JSX.Element;