@entur/dropdown 6.0.3-beta.1 → 6.0.3-beta.3
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/dropdown.cjs.development.js +50 -62
- package/dist/dropdown.cjs.development.js.map +1 -1
- package/dist/dropdown.cjs.production.min.js +1 -1
- package/dist/dropdown.cjs.production.min.js.map +1 -1
- package/dist/dropdown.esm.js +50 -62
- package/dist/dropdown.esm.js.map +1 -1
- package/dist/styles.css +120 -114
- package/dist/utils.d.ts +7 -16
- package/package.json +10 -10
package/dist/styles.css
CHANGED
|
@@ -1,96 +1,5 @@
|
|
|
1
1
|
/* DO NOT CHANGE!*/
|
|
2
2
|
/* This file is automatically generated from @entur/tokens! Changes will be overwritten. */
|
|
3
|
-
.eds-multi-select {
|
|
4
|
-
position: relative;
|
|
5
|
-
}
|
|
6
|
-
.eds-multi-select__selected-items {
|
|
7
|
-
display: flex;
|
|
8
|
-
align-items: center;
|
|
9
|
-
flex-wrap: wrap;
|
|
10
|
-
position: relative;
|
|
11
|
-
flex: 1 1 0%;
|
|
12
|
-
padding: 0.25rem;
|
|
13
|
-
}
|
|
14
|
-
.eds-multi-select__selected-items-tag.eds-tag-chip {
|
|
15
|
-
margin-left: 0.25rem;
|
|
16
|
-
white-space: nowrap;
|
|
17
|
-
}
|
|
18
|
-
.eds-contrast .eds-multi-select__selected-items-tag.eds-tag-chip svg {
|
|
19
|
-
color: #181c56;
|
|
20
|
-
}
|
|
21
|
-
.eds-multi-select__selected-items-tag.eds-tag-chip:focus {
|
|
22
|
-
outline-offset: 0.125rem;
|
|
23
|
-
}
|
|
24
|
-
.eds-contrast .eds-multi-select__selected-items-tag.eds-tag-chip {
|
|
25
|
-
color: #181c56;
|
|
26
|
-
background: #ebebf1;
|
|
27
|
-
border: 0.0625rem solid #d1d4e3;
|
|
28
|
-
}
|
|
29
|
-
.eds-contrast .eds-multi-select__selected-items-tag.eds-tag-chip .eds-tag-chip__close-button:hover {
|
|
30
|
-
background: #babbcf;
|
|
31
|
-
}
|
|
32
|
-
.eds-multi-select__input {
|
|
33
|
-
flex: 1 1;
|
|
34
|
-
min-height: 44px;
|
|
35
|
-
display: flex;
|
|
36
|
-
align-items: center;
|
|
37
|
-
}
|
|
38
|
-
.eds-multi-select__placeholder {
|
|
39
|
-
padding-left: 1.5rem;
|
|
40
|
-
line-height: 1.375rem;
|
|
41
|
-
font-size: 1rem;
|
|
42
|
-
}
|
|
43
|
-
.eds-checkbox-icon {
|
|
44
|
-
height: 1rem;
|
|
45
|
-
width: 1rem;
|
|
46
|
-
visibility: hidden;
|
|
47
|
-
}
|
|
48
|
-
.eds-checkbox-icon__path {
|
|
49
|
-
transform-origin: 50% 50%;
|
|
50
|
-
stroke-dasharray: 48;
|
|
51
|
-
stroke-dashoffset: 48;
|
|
52
|
-
stroke-width: 0.375rem;
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
.eds-multiselect {
|
|
56
|
-
position: relative;
|
|
57
|
-
}
|
|
58
|
-
.eds-multiselect__button {
|
|
59
|
-
text-overflow: ellipsis;
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
.eds-multiselect-checkbox {
|
|
63
|
-
display: inline-flex;
|
|
64
|
-
justify-content: center;
|
|
65
|
-
align-items: center;
|
|
66
|
-
position: relative;
|
|
67
|
-
margin-right: 0.75rem;
|
|
68
|
-
height: 1.25rem;
|
|
69
|
-
width: 1.25rem;
|
|
70
|
-
border: 0.125rem solid #181c56;
|
|
71
|
-
border-radius: 0.0625rem;
|
|
72
|
-
background-color: transparent;
|
|
73
|
-
color: #ffffff;
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
.eds-multiselect-checkbox--checked {
|
|
77
|
-
background-color: #181c56;
|
|
78
|
-
}
|
|
79
|
-
.eds-multiselect-checkbox--checked .eds-checkbox-icon {
|
|
80
|
-
visibility: visible;
|
|
81
|
-
}
|
|
82
|
-
.eds-multiselect-checkbox--checked .eds-checkbox-icon__path {
|
|
83
|
-
stroke: #ffffff;
|
|
84
|
-
animation: stroke ease-in-out 0.2s 0.1s forwards;
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
@keyframes stroke {
|
|
88
|
-
100% {
|
|
89
|
-
stroke-dashoffset: 0;
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
/* DO NOT CHANGE!*/
|
|
93
|
-
/* This file is automatically generated from @entur/tokens! Changes will be overwritten. */
|
|
94
3
|
.eds-dropdown-list {
|
|
95
4
|
border-radius: 0.25rem;
|
|
96
5
|
box-shadow: 0 0.0625rem 0.1875rem rgba(0, 0, 0, 0.25);
|
|
@@ -187,6 +96,34 @@
|
|
|
187
96
|
}
|
|
188
97
|
/* DO NOT CHANGE!*/
|
|
189
98
|
/* This file is automatically generated from @entur/tokens! Changes will be overwritten. */
|
|
99
|
+
.eds-dropdown__toggle-button {
|
|
100
|
+
-webkit-appearance: none;
|
|
101
|
+
-moz-appearance: none;
|
|
102
|
+
appearance: none;
|
|
103
|
+
background: none;
|
|
104
|
+
border: none;
|
|
105
|
+
border-radius: 0;
|
|
106
|
+
color: inherit;
|
|
107
|
+
font-size: inherit;
|
|
108
|
+
font-family: inherit;
|
|
109
|
+
margin-right: -0.75rem;
|
|
110
|
+
padding: 0.5rem;
|
|
111
|
+
display: flex;
|
|
112
|
+
justify-content: center;
|
|
113
|
+
}
|
|
114
|
+
.eds-dropdown__toggle-button--open svg {
|
|
115
|
+
transform: rotate(180deg);
|
|
116
|
+
}
|
|
117
|
+
.eds-dropdown__toggle-button:focus {
|
|
118
|
+
outline-offset: 0.125rem;
|
|
119
|
+
outline: none;
|
|
120
|
+
box-shadow: 0 0 0 0.125rem #ffffff, 0 0 0 0.25rem #181c56;
|
|
121
|
+
}
|
|
122
|
+
.eds-contrast .eds-dropdown__toggle-button:focus {
|
|
123
|
+
box-shadow: 0 0 0 0.125rem #181c56, 0 0 0 0.25rem #ffffff;
|
|
124
|
+
}
|
|
125
|
+
/* DO NOT CHANGE!*/
|
|
126
|
+
/* This file is automatically generated from @entur/tokens! Changes will be overwritten. */
|
|
190
127
|
.eds-dropdown-wrapper {
|
|
191
128
|
position: relative;
|
|
192
129
|
}
|
|
@@ -245,31 +182,94 @@
|
|
|
245
182
|
}
|
|
246
183
|
/* DO NOT CHANGE!*/
|
|
247
184
|
/* This file is automatically generated from @entur/tokens! Changes will be overwritten. */
|
|
248
|
-
.eds-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
background: none;
|
|
253
|
-
border: none;
|
|
254
|
-
border-radius: 0;
|
|
255
|
-
color: inherit;
|
|
256
|
-
font-size: inherit;
|
|
257
|
-
font-family: inherit;
|
|
258
|
-
margin-right: -0.75rem;
|
|
259
|
-
padding: 0.5rem;
|
|
185
|
+
.eds-multi-select {
|
|
186
|
+
position: relative;
|
|
187
|
+
}
|
|
188
|
+
.eds-multi-select__selected-items {
|
|
260
189
|
display: flex;
|
|
261
|
-
|
|
190
|
+
align-items: center;
|
|
191
|
+
flex-wrap: wrap;
|
|
192
|
+
position: relative;
|
|
193
|
+
flex: 1 1 0%;
|
|
194
|
+
padding: 0.25rem;
|
|
262
195
|
}
|
|
263
|
-
.eds-
|
|
264
|
-
|
|
196
|
+
.eds-multi-select__selected-items-tag.eds-tag-chip {
|
|
197
|
+
margin-left: 0.25rem;
|
|
198
|
+
white-space: nowrap;
|
|
265
199
|
}
|
|
266
|
-
.eds-
|
|
200
|
+
.eds-contrast .eds-multi-select__selected-items-tag.eds-tag-chip svg {
|
|
201
|
+
color: #181c56;
|
|
202
|
+
}
|
|
203
|
+
.eds-multi-select__selected-items-tag.eds-tag-chip:focus {
|
|
267
204
|
outline-offset: 0.125rem;
|
|
268
|
-
outline: none;
|
|
269
|
-
box-shadow: 0 0 0 0.125rem #ffffff, 0 0 0 0.25rem #181c56;
|
|
270
205
|
}
|
|
271
|
-
.eds-contrast .eds-
|
|
272
|
-
|
|
206
|
+
.eds-contrast .eds-multi-select__selected-items-tag.eds-tag-chip {
|
|
207
|
+
color: #181c56;
|
|
208
|
+
background: #ebebf1;
|
|
209
|
+
border: 0.0625rem solid #d1d4e3;
|
|
210
|
+
}
|
|
211
|
+
.eds-contrast .eds-multi-select__selected-items-tag.eds-tag-chip .eds-tag-chip__close-button:hover {
|
|
212
|
+
background: #babbcf;
|
|
213
|
+
}
|
|
214
|
+
.eds-multi-select__input {
|
|
215
|
+
flex: 1 1;
|
|
216
|
+
min-height: 44px;
|
|
217
|
+
display: flex;
|
|
218
|
+
align-items: center;
|
|
219
|
+
}
|
|
220
|
+
.eds-multi-select__placeholder {
|
|
221
|
+
padding-left: 1.5rem;
|
|
222
|
+
line-height: 1.375rem;
|
|
223
|
+
font-size: 1rem;
|
|
224
|
+
}
|
|
225
|
+
.eds-checkbox-icon {
|
|
226
|
+
height: 1rem;
|
|
227
|
+
width: 1rem;
|
|
228
|
+
visibility: hidden;
|
|
229
|
+
}
|
|
230
|
+
.eds-checkbox-icon__path {
|
|
231
|
+
transform-origin: 50% 50%;
|
|
232
|
+
stroke-dasharray: 48;
|
|
233
|
+
stroke-dashoffset: 48;
|
|
234
|
+
stroke-width: 0.375rem;
|
|
235
|
+
}
|
|
236
|
+
|
|
237
|
+
.eds-multiselect {
|
|
238
|
+
position: relative;
|
|
239
|
+
}
|
|
240
|
+
.eds-multiselect__button {
|
|
241
|
+
text-overflow: ellipsis;
|
|
242
|
+
}
|
|
243
|
+
|
|
244
|
+
.eds-multiselect-checkbox {
|
|
245
|
+
display: inline-flex;
|
|
246
|
+
justify-content: center;
|
|
247
|
+
align-items: center;
|
|
248
|
+
position: relative;
|
|
249
|
+
margin-right: 0.75rem;
|
|
250
|
+
height: 1.25rem;
|
|
251
|
+
width: 1.25rem;
|
|
252
|
+
border: 0.125rem solid #181c56;
|
|
253
|
+
border-radius: 0.0625rem;
|
|
254
|
+
background-color: transparent;
|
|
255
|
+
color: #ffffff;
|
|
256
|
+
}
|
|
257
|
+
|
|
258
|
+
.eds-multiselect-checkbox--checked {
|
|
259
|
+
background-color: #181c56;
|
|
260
|
+
}
|
|
261
|
+
.eds-multiselect-checkbox--checked .eds-checkbox-icon {
|
|
262
|
+
visibility: visible;
|
|
263
|
+
}
|
|
264
|
+
.eds-multiselect-checkbox--checked .eds-checkbox-icon__path {
|
|
265
|
+
stroke: #ffffff;
|
|
266
|
+
animation: stroke ease-in-out 0.2s 0.1s forwards;
|
|
267
|
+
}
|
|
268
|
+
|
|
269
|
+
@keyframes stroke {
|
|
270
|
+
100% {
|
|
271
|
+
stroke-dashoffset: 0;
|
|
272
|
+
}
|
|
273
273
|
}
|
|
274
274
|
/* DO NOT CHANGE!*/
|
|
275
275
|
/* This file is automatically generated from @entur/tokens! Changes will be overwritten. */
|
|
@@ -462,6 +462,9 @@
|
|
|
462
462
|
}
|
|
463
463
|
/* DO NOT CHANGE!*/
|
|
464
464
|
/* This file is automatically generated from @entur/tokens! Changes will be overwritten. */
|
|
465
|
+
.eds-dropdown {
|
|
466
|
+
cursor: pointer;
|
|
467
|
+
}
|
|
465
468
|
.eds-dropdown__input {
|
|
466
469
|
flex: 1;
|
|
467
470
|
width: 0;
|
|
@@ -481,7 +484,6 @@
|
|
|
481
484
|
overflow-x: hidden;
|
|
482
485
|
text-overflow: ellipsis;
|
|
483
486
|
line-height: 1rem;
|
|
484
|
-
cursor: pointer;
|
|
485
487
|
}
|
|
486
488
|
.eds-dropdown__selected-item.focus-visible {
|
|
487
489
|
outline: none;
|
|
@@ -489,6 +491,9 @@
|
|
|
489
491
|
.eds-dropdown__selected-item:focus-visible {
|
|
490
492
|
outline: none;
|
|
491
493
|
}
|
|
494
|
+
.eds-dropdown--searchable {
|
|
495
|
+
cursor: text;
|
|
496
|
+
}
|
|
492
497
|
.eds-dropdown--searchable__selected-item {
|
|
493
498
|
position: relative;
|
|
494
499
|
flex: 1;
|
|
@@ -498,18 +503,19 @@
|
|
|
498
503
|
white-space: nowrap;
|
|
499
504
|
line-height: 1rem;
|
|
500
505
|
font-family: inherit;
|
|
501
|
-
cursor: text;
|
|
502
506
|
}
|
|
503
507
|
.eds-dropdown--searchable__selected-item--hidden {
|
|
504
508
|
flex: 0;
|
|
505
509
|
}
|
|
510
|
+
.eds-dropdown--multiselect {
|
|
511
|
+
cursor: text;
|
|
512
|
+
}
|
|
506
513
|
.eds-dropdown--multiselect__selected-items-and-input {
|
|
507
514
|
display: flex;
|
|
508
515
|
flex-wrap: wrap;
|
|
509
516
|
flex: 1;
|
|
510
517
|
gap: 0.5rem;
|
|
511
518
|
min-width: 0;
|
|
512
|
-
cursor: text;
|
|
513
519
|
}
|
|
514
520
|
.eds-dropdown--multiselect__selected-items-and-input--filled {
|
|
515
521
|
padding: 1.25rem 0rem 0.25rem;
|
package/dist/utils.d.ts
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { UseComboboxState } from 'downshift';
|
|
2
2
|
import { NormalizedDropdownItemType } from './types';
|
|
3
3
|
export declare const EMPTY_INPUT = "";
|
|
4
4
|
export declare function lowerCaseFilterTest(item: NormalizedDropdownItemType<any>, input: string | undefined): boolean;
|
|
5
5
|
export declare function noFilter<ValueType>(item: NormalizedDropdownItemType<ValueType>, input: string | undefined): boolean;
|
|
6
6
|
export declare const itemToString: (item: NormalizedDropdownItemType<any> | null) => string;
|
|
7
|
+
export declare const itemToKey: (item: NormalizedDropdownItemType<any> | null) => any;
|
|
7
8
|
export declare const isFunctionWithQueryArgument: (object: any) => boolean;
|
|
8
9
|
type useMultiselectUtilsType<ValueType> = {
|
|
9
10
|
selectedItems: NormalizedDropdownItemType<ValueType>[];
|
|
@@ -15,10 +16,10 @@ export declare const useMultiselectUtils: <ValueType>({ listItems, selectedItems
|
|
|
15
16
|
allListItemsAreSelected: boolean;
|
|
16
17
|
clickedItemIsInSelectedItems: (clickedItem: NormalizedDropdownItemType<ValueType>) => boolean;
|
|
17
18
|
clickedItemIsSelectAll: (clickedItem: NormalizedDropdownItemType<string | ValueType>) => boolean;
|
|
18
|
-
handleListItemClicked: ({ clickedItem, onChange, setLastRemovedItem, }: {
|
|
19
|
+
handleListItemClicked: ({ clickedItem, onChange, setLastClickedItem: setLastRemovedItem, }: {
|
|
19
20
|
clickedItem: NormalizedDropdownItemType<any>;
|
|
20
21
|
onChange: (value: NormalizedDropdownItemType<ValueType>[]) => void;
|
|
21
|
-
|
|
22
|
+
setLastClickedItem: any;
|
|
22
23
|
}) => void;
|
|
23
24
|
hasSelectedItems: boolean;
|
|
24
25
|
listItemsWithoutSelectAll: NormalizedDropdownItemType<ValueType>[];
|
|
@@ -28,18 +29,8 @@ export declare const useMultiselectUtils: <ValueType>({ listItems, selectedItems
|
|
|
28
29
|
someListItemsAreSelected: boolean;
|
|
29
30
|
unselectAllListItems: (onChange: (value: NormalizedDropdownItemType<ValueType>[]) => void) => void;
|
|
30
31
|
};
|
|
31
|
-
|
|
32
|
+
export declare function getA11yStatusMessage<ValueType>(options: UseComboboxState<NormalizedDropdownItemType<ValueType>> & {
|
|
32
33
|
selectAllItemIncluded?: boolean;
|
|
33
|
-
|
|
34
|
-
};
|
|
35
|
-
export declare function getA11yStatusMessage<Item>(options: getA11yStatusMessageType<Item>): string;
|
|
36
|
-
type getA11ySelectionMessageType<Item> = A11yStatusMessageOptions<Item> & {
|
|
37
|
-
selectAllItem?: NormalizedDropdownItemType<string>;
|
|
38
|
-
};
|
|
39
|
-
export declare function getA11ySelectionMessage(options: getA11ySelectionMessageType<NormalizedDropdownItemType<any>>): string;
|
|
40
|
-
type getA11yRemovalMessageType<Item> = A11yRemovalMessage<Item> & {
|
|
41
|
-
selectAllItem?: NormalizedDropdownItemType<string>;
|
|
42
|
-
removedItem?: NormalizedDropdownItemType<any>;
|
|
43
|
-
};
|
|
44
|
-
export declare function getA11yRemovalMessage(options: getA11yRemovalMessageType<NormalizedDropdownItemType<any>>): string;
|
|
34
|
+
resultCount: number;
|
|
35
|
+
}): string;
|
|
45
36
|
export {};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@entur/dropdown",
|
|
3
|
-
"version": "6.0.3-beta.
|
|
3
|
+
"version": "6.0.3-beta.3",
|
|
4
4
|
"license": "EUPL-1.2",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"module": "dist/dropdown.esm.js",
|
|
@@ -27,18 +27,18 @@
|
|
|
27
27
|
"react-dom": ">=16.8.0"
|
|
28
28
|
},
|
|
29
29
|
"dependencies": {
|
|
30
|
-
"@entur/a11y": "^0.2.
|
|
31
|
-
"@entur/button": "^3.2.
|
|
32
|
-
"@entur/chip": "^0.7.18-beta.
|
|
33
|
-
"@entur/form": "^8.1.0-beta.
|
|
30
|
+
"@entur/a11y": "^0.2.90-beta.0",
|
|
31
|
+
"@entur/button": "^3.2.31-beta.0",
|
|
32
|
+
"@entur/chip": "^0.7.18-beta.1",
|
|
33
|
+
"@entur/form": "^8.1.0-beta.1",
|
|
34
34
|
"@entur/icons": "^7.2.0",
|
|
35
|
-
"@entur/loader": "^0.5.
|
|
35
|
+
"@entur/loader": "^0.5.9-beta.0",
|
|
36
36
|
"@entur/tokens": "^3.17.0",
|
|
37
|
-
"@entur/tooltip": "^4.0.0-beta.
|
|
38
|
-
"@entur/utils": "^0.11.
|
|
37
|
+
"@entur/tooltip": "^4.0.0-beta.1",
|
|
38
|
+
"@entur/utils": "^0.11.2-beta.0",
|
|
39
39
|
"@floating-ui/react-dom": "^2.1.0",
|
|
40
40
|
"classnames": "^2.3.1",
|
|
41
|
-
"downshift": "^
|
|
41
|
+
"downshift": "^9.0.8"
|
|
42
42
|
},
|
|
43
|
-
"gitHead": "
|
|
43
|
+
"gitHead": "c6662f131823f054f3da466ddebe68f0c8d3026d"
|
|
44
44
|
}
|