@entur/dropdown 4.0.13 → 5.0.0-RC.1
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.d.ts +37 -36
- package/dist/MultiSelect.d.ts +86 -29
- package/dist/NativeDropdown.d.ts +23 -9
- package/dist/SearchableDropdown.d.ts +62 -16
- package/dist/components/DropdownList.d.ts +25 -0
- package/dist/components/FieldComponents.d.ts +29 -0
- package/dist/{BaseDropdown.d.ts → deprecated/BaseDropdown.d.ts} +3 -3
- package/dist/{DownshiftProvider.d.ts → deprecated/DownshiftProvider.d.ts} +1 -1
- package/dist/deprecated/Dropdown.d.ts +72 -0
- package/dist/{DropdownInputGroup.d.ts → deprecated/DropdownInputGroup.d.ts} +2 -2
- package/dist/deprecated/DropdownList.d.ts +8 -0
- package/dist/{DropdownLoadingDots.d.ts → deprecated/DropdownLoadingDots.d.ts} +1 -1
- package/dist/deprecated/DropdownToggleButton.d.ts +3 -0
- package/dist/deprecated/MultiSelect.d.ts +64 -0
- package/dist/{RegularDropdown.d.ts → deprecated/RegularDropdown.d.ts} +3 -3
- package/dist/deprecated/SearchableDropdown.d.ts +34 -0
- package/dist/deprecated/index.d.ts +2 -0
- package/dist/dropdown.cjs.development.js +1171 -261
- 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 +1171 -263
- package/dist/dropdown.esm.js.map +1 -1
- package/dist/index.d.ts +4 -3
- package/dist/styles.css +326 -160
- package/dist/useNormalizedItems.d.ts +5 -6
- package/dist/utils.d.ts +48 -0
- package/package.json +10 -10
- package/dist/DropdownList.d.ts +0 -8
- package/dist/DropdownToggleButton.d.ts +0 -3
- package/dist/beta/DropdownList.d.ts +0 -17
- package/dist/beta/SearchableDropdown.d.ts +0 -42
- package/dist/beta/index.d.ts +0 -1
package/dist/Dropdown.d.ts
CHANGED
|
@@ -2,60 +2,61 @@ import React from 'react';
|
|
|
2
2
|
import { VariantType } from '@entur/form';
|
|
3
3
|
import { NormalizedDropdownItemType } from './useNormalizedItems';
|
|
4
4
|
import { PotentiallyAsyncDropdownItemType } from './useResolvedItems';
|
|
5
|
+
import './Dropdown.scss';
|
|
5
6
|
export type DropdownProps = {
|
|
6
|
-
/**
|
|
7
|
-
label: string;
|
|
8
|
-
/** Tilgjengelige valg i dropdownen */
|
|
7
|
+
/** Tilgjengelige valg i dropdown-en */
|
|
9
8
|
items: PotentiallyAsyncDropdownItemType;
|
|
10
9
|
/** Valgt verdi. Bruk null for ingen verdi. */
|
|
11
|
-
|
|
12
|
-
/**
|
|
13
|
-
|
|
14
|
-
/**
|
|
15
|
-
|
|
10
|
+
selectedItem: NormalizedDropdownItemType | null;
|
|
11
|
+
/** Callback ved valg som skal oppdatere selectedItem */
|
|
12
|
+
onChange?: (selectedItem: NormalizedDropdownItemType | null) => void;
|
|
13
|
+
/** Beskrivende tekst som forklarer feltet */
|
|
14
|
+
label: string;
|
|
15
|
+
/** Placeholder-tekst når ingenting er satt */
|
|
16
|
+
placeholder?: string;
|
|
17
|
+
/** Om man skal ha mulighet for å nullstille Dropdown-en
|
|
18
|
+
* @default false
|
|
19
|
+
*/
|
|
20
|
+
clearable?: boolean;
|
|
21
|
+
/** Lar brukeren velge ved å "tab-e" seg ut av komponenten */
|
|
22
|
+
selectOnBlur?: boolean;
|
|
23
|
+
/** Deaktiver dropdown-en */
|
|
24
|
+
disabled?: boolean;
|
|
25
|
+
/** Setter dropdown-en i read-only modus */
|
|
26
|
+
readOnly?: boolean;
|
|
16
27
|
/** Hvilken valideringsvariant som gjelder */
|
|
17
28
|
variant?: VariantType;
|
|
18
29
|
/** Valideringsmelding, brukes sammen med `variant` */
|
|
19
30
|
feedback?: string;
|
|
20
|
-
/** Tekst eller ikon som kommer før
|
|
31
|
+
/** Tekst eller ikon som kommer før dropdown-en */
|
|
21
32
|
prepend?: React.ReactNode;
|
|
22
|
-
/** Deaktiver dropdownen */
|
|
23
|
-
disabled?: boolean;
|
|
24
|
-
/** Setter dropdownen i read-only modus */
|
|
25
|
-
readOnly?: boolean;
|
|
26
|
-
/** Placeholder-tekst når ingenting er satt */
|
|
27
|
-
placeholder?: string;
|
|
28
33
|
/** En tekst som beskriver hva som skjer når man venter på items */
|
|
29
34
|
loadingText?: string;
|
|
30
|
-
/**
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
/**
|
|
35
|
-
openOnFocus?: boolean;
|
|
36
|
-
/** Antall millisekunder man venter før man kaller en potensiell items-funksjon */
|
|
37
|
-
debounceTimeout?: number;
|
|
38
|
-
/** Om man skal ha muliget for å nullstille Dropdownen
|
|
35
|
+
/** Om man skal ha mulighet for å nullstille Dropdown-en
|
|
36
|
+
* @default "fjern valgt"
|
|
37
|
+
*/
|
|
38
|
+
labelClearSelectedItem?: string;
|
|
39
|
+
/** Plasserer labelen statisk på toppen av inputfeltet
|
|
39
40
|
* @default false
|
|
40
41
|
*/
|
|
41
|
-
|
|
42
|
+
disableLabelAnimation?: boolean;
|
|
42
43
|
/** Ekstra klassenavn */
|
|
43
44
|
className?: string;
|
|
44
|
-
/** Marker første valgmulighet automatisk */
|
|
45
|
-
highlightFirstItemOnOpen?: boolean;
|
|
46
45
|
/** Styling som sendes ned til Dropdown-lista */
|
|
47
46
|
listStyle?: {
|
|
48
47
|
[key: string]: any;
|
|
49
48
|
};
|
|
50
|
-
/**
|
|
51
|
-
|
|
49
|
+
/** Styling for Dropdown-en */
|
|
50
|
+
style?: {
|
|
51
|
+
[key: string]: any;
|
|
52
|
+
};
|
|
53
|
+
/** Tekst for skjemleser for knapp som lukker listen med valg
|
|
54
|
+
* @default "Lukk liste med valg"
|
|
52
55
|
*/
|
|
53
|
-
|
|
54
|
-
/**
|
|
55
|
-
* @default
|
|
56
|
+
ariaLabelCloseList?: string;
|
|
57
|
+
/** Tekst for skjemleser for knapp som åpner listen med valg
|
|
58
|
+
* @default "Åpne liste med valg"
|
|
56
59
|
*/
|
|
57
|
-
|
|
58
|
-
/** Alle ekstra props videresendes til Downshift */
|
|
59
|
-
[key: string]: any;
|
|
60
|
+
ariaLabelOpenList?: string;
|
|
60
61
|
};
|
|
61
|
-
export declare const Dropdown:
|
|
62
|
+
export declare const Dropdown: ({ ariaLabelCloseList, ariaLabelOpenList, className, clearable, disabled, disableLabelAnimation, feedback, items: initialItems, label, labelClearSelectedItem, listStyle, loadingText, onChange, placeholder, prepend, readOnly, selectedItem, selectOnBlur, style, variant, ...rest }: DropdownProps) => JSX.Element;
|
package/dist/MultiSelect.d.ts
CHANGED
|
@@ -1,54 +1,111 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import { UseSelectProps } from 'downshift';
|
|
3
|
-
import { NormalizedDropdownItemType } from './useNormalizedItems';
|
|
4
2
|
import { VariantType } from '@entur/form';
|
|
3
|
+
import { NormalizedDropdownItemType } from './useNormalizedItems';
|
|
5
4
|
import { PotentiallyAsyncDropdownItemType } from './useResolvedItems';
|
|
6
|
-
import './
|
|
7
|
-
|
|
8
|
-
type MultiSelectProps = {
|
|
5
|
+
import './Dropdown.scss';
|
|
6
|
+
export type MultiSelectProps = {
|
|
9
7
|
/** Tilgjengelige valg i MultiSelect */
|
|
10
8
|
items: PotentiallyAsyncDropdownItemType;
|
|
11
|
-
/**
|
|
12
|
-
|
|
9
|
+
/** Elementer som er valgt blant 'items'. Bruk tom liste for ingen valgte
|
|
10
|
+
*/
|
|
11
|
+
selectedItems: NormalizedDropdownItemType[];
|
|
12
|
+
/** Callback med alle valgte verdier.
|
|
13
|
+
* Bruk denne til å oppdatere selectedItems-listen */
|
|
14
|
+
onChange?: (selectedItems: NormalizedDropdownItemType[]) => void;
|
|
15
|
+
/** Filtreringen som brukes når man skriver inn tekst i inputfeltet
|
|
16
|
+
* @default Regex-test som sjekker om item.label inneholder input-teksten
|
|
17
|
+
*/
|
|
18
|
+
itemFilter?: (item: NormalizedDropdownItemType, inputValue: string | undefined) => boolean;
|
|
13
19
|
/** Beskrivende tekst som forklarer feltet */
|
|
14
20
|
label?: string;
|
|
15
21
|
/** Hvilken valideringsvariant som gjelder */
|
|
16
22
|
variant?: VariantType;
|
|
17
23
|
/** Valideringsmelding, brukes sammen med `variant` */
|
|
18
24
|
feedback?: string;
|
|
19
|
-
/**
|
|
20
|
-
prepend?: React.ReactNode;
|
|
21
|
-
/** Deaktiver dropdownen */
|
|
25
|
+
/** Om dropdown-en er deaktivert */
|
|
22
26
|
disabled?: boolean;
|
|
23
|
-
/**
|
|
27
|
+
/** Om dropdown-en er i read-only modus */
|
|
24
28
|
readOnly?: boolean;
|
|
29
|
+
/** Om en knapp for å fjerne alle valg skal vises
|
|
30
|
+
* @default true
|
|
31
|
+
*/
|
|
32
|
+
clearable?: boolean;
|
|
25
33
|
/** Placeholder-tekst når ingenting er satt */
|
|
26
34
|
placeholder?: string;
|
|
27
|
-
/** En tekst som beskriver hva som skjer når man venter på items
|
|
35
|
+
/** En tekst som beskriver hva som skjer når man venter på items
|
|
36
|
+
* @default "Laster inn …"
|
|
37
|
+
*/
|
|
28
38
|
loadingText?: string;
|
|
29
|
-
/**
|
|
30
|
-
|
|
31
|
-
|
|
39
|
+
/** Tekst som kommer opp når det ikke er noe treff på filtreringsøket
|
|
40
|
+
* @default "Ingen treff for søket"
|
|
41
|
+
*/
|
|
42
|
+
noMatchesText?: string;
|
|
43
|
+
/** Skjuler «Velg alle» fra listen med valg
|
|
32
44
|
* @default false
|
|
33
45
|
*/
|
|
34
|
-
|
|
35
|
-
/** Ekstra klassenavn */
|
|
36
|
-
className?: string;
|
|
37
|
-
/** Styling som sendes ned til MultiSelect-lista */
|
|
38
|
-
listStyle?: {
|
|
39
|
-
[key: string]: any;
|
|
40
|
-
};
|
|
46
|
+
hideSelectAll?: boolean;
|
|
41
47
|
/** Antall millisekunder man venter før man kaller en potensiell items-funksjon
|
|
42
48
|
* @default 250
|
|
43
49
|
*/
|
|
44
50
|
debounceTimeout?: number;
|
|
45
|
-
/**
|
|
51
|
+
/** Maks antall individuelle valgt-element-tags i MultiSelect-en før de blir til en samle-tag
|
|
52
|
+
* @default 10
|
|
53
|
+
*/
|
|
54
|
+
maxTags?: number;
|
|
55
|
+
/** Tekst eller ikon som kommer før MultiSelect */
|
|
56
|
+
prepend?: React.ReactNode;
|
|
57
|
+
/** Resetter input etter at et element er valgt i listen
|
|
46
58
|
* @default false
|
|
47
59
|
*/
|
|
48
|
-
|
|
49
|
-
|
|
60
|
+
clearInputOnSelect?: boolean;
|
|
61
|
+
/** Lar brukeren velge ved å "tab-e" seg ut av komponenten */
|
|
62
|
+
selectOnBlur?: boolean;
|
|
50
63
|
style?: React.CSSProperties;
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
64
|
+
/** Styling som sendes ned til MultiSelect-lista */
|
|
65
|
+
listStyle?: {
|
|
66
|
+
[key: string]: any;
|
|
67
|
+
};
|
|
68
|
+
/** Ekstra klassenavn */
|
|
69
|
+
className?: string;
|
|
70
|
+
/** Teksten som vises for «Velg alle»-elementet i listen
|
|
71
|
+
* @default "Velg alle"
|
|
72
|
+
*/
|
|
73
|
+
labelSelectAll?: string;
|
|
74
|
+
/** Teksten som vises for «Velg alle»-elementet i listen
|
|
75
|
+
* @default "Alle valgt"
|
|
76
|
+
*/
|
|
77
|
+
labelAllItemsSelected?: string;
|
|
78
|
+
/** Skjermleser-tekst som for å fjerne alle valg
|
|
79
|
+
* @default "Fjern valgte"
|
|
80
|
+
*/
|
|
81
|
+
labelClearAllItems?: string;
|
|
82
|
+
/** Tekst for skjemleser på knapper for å fjerne valgt element
|
|
83
|
+
* @default "trykk for å fjerne valg"
|
|
84
|
+
*/
|
|
85
|
+
ariaLabelRemoveSelected?: string;
|
|
86
|
+
/** Tekst for skjemleser for å indikere at et element er valgt
|
|
87
|
+
* @default "valgt"
|
|
88
|
+
*/
|
|
89
|
+
ariaLabelChosenSingular?: string;
|
|
90
|
+
/** Tekst for skjemleser for å indikere at et element er valgt
|
|
91
|
+
* @default "valgte"
|
|
92
|
+
*/
|
|
93
|
+
ariaLabelChosenPlural?: string;
|
|
94
|
+
/** Tekst for skjemleser for knapp som lukker listen med valg
|
|
95
|
+
* @default "Lukk liste med valg"
|
|
96
|
+
*/
|
|
97
|
+
ariaLabelCloseList?: string;
|
|
98
|
+
/** Tekst for skjemleser for knapp som åpner listen med valg
|
|
99
|
+
* @default "Åpne liste med valg"
|
|
100
|
+
*/
|
|
101
|
+
ariaLabelOpenList?: string;
|
|
102
|
+
/** Tekst for skjemleser for å hoppe til input-feltet
|
|
103
|
+
* @default `${selectedItems.length} valgte elementer, trykk for å hoppe til tekstfeltet`
|
|
104
|
+
*/
|
|
105
|
+
ariaLabelJumpToInput?: string;
|
|
106
|
+
/** Tekst for skjemleser for å indikere at et element i listen er valgt
|
|
107
|
+
* @default ", valgt element, trykk for å fjerne"
|
|
108
|
+
*/
|
|
109
|
+
ariaLabelSelectedItem?: string;
|
|
110
|
+
};
|
|
111
|
+
export declare const MultiSelect: ({ className, clearable, clearInputOnSelect, debounceTimeout, disabled, feedback, hideSelectAll, itemFilter, items: initialItems, label, labelAllItemsSelected, labelClearAllItems, labelSelectAll, listStyle, loadingText, maxTags, noMatchesText, onChange, placeholder, readOnly, selectedItems, selectOnBlur, style, variant, ariaLabelChosenSingular, ariaLabelChosenPlural, ariaLabelCloseList, ariaLabelJumpToInput, ariaLabelOpenList, ariaLabelRemoveSelected, ariaLabelSelectedItem, ...rest }: MultiSelectProps) => JSX.Element;
|
package/dist/NativeDropdown.d.ts
CHANGED
|
@@ -1,31 +1,45 @@
|
|
|
1
|
-
import { VariantType } from '@entur/form';
|
|
2
1
|
import React from 'react';
|
|
3
|
-
import '
|
|
2
|
+
import { VariantType } from '@entur/form';
|
|
4
3
|
import { PotentiallyAsyncDropdownItemType } from './useResolvedItems';
|
|
4
|
+
import { NormalizedDropdownItemType } from './useNormalizedItems';
|
|
5
|
+
import './Dropdown.scss';
|
|
5
6
|
export type NativeDropdownProps = {
|
|
6
7
|
/** Ekstra klassenavn */
|
|
7
8
|
className?: string;
|
|
8
9
|
/**
|
|
9
|
-
* For å deaktivere
|
|
10
|
+
* For å deaktivere dropdow-nen
|
|
10
11
|
* @default false
|
|
11
12
|
**/
|
|
12
13
|
disabled?: boolean;
|
|
13
14
|
/** Valideringsmelding, brukes sammen med `variant` */
|
|
14
15
|
feedback?: string;
|
|
15
|
-
/** Alle valg for
|
|
16
|
+
/** Alle valg for dropdown-en å ha */
|
|
16
17
|
items: PotentiallyAsyncDropdownItemType;
|
|
17
18
|
/** Beskrivende tekst som forklarer feltet */
|
|
18
19
|
label: string;
|
|
19
|
-
/** En callback for endringer av value
|
|
20
|
-
|
|
21
|
-
|
|
20
|
+
/** En callback for endringer av value
|
|
21
|
+
* Obs: merk at parameter her denne ikke er samme som i en HTML select.
|
|
22
|
+
* Bruk { target } hvis du trenger info om select-elementet som ble trykket på
|
|
23
|
+
*/
|
|
24
|
+
onChange?: ({ value, selectedItem, target, }: {
|
|
25
|
+
value: string;
|
|
26
|
+
selectedItem: NormalizedDropdownItemType | null;
|
|
27
|
+
target: EventTarget & HTMLSelectElement;
|
|
28
|
+
}) => void;
|
|
29
|
+
/** Tekst eller ikon som kommer før dropdown-en */
|
|
22
30
|
prepend?: React.ReactNode;
|
|
23
31
|
/**
|
|
24
|
-
* Setter
|
|
32
|
+
* Setter dropdown-en i read-only modus
|
|
25
33
|
* @default false
|
|
26
34
|
**/
|
|
27
35
|
readOnly?: boolean;
|
|
28
|
-
/** Den valgte verdien
|
|
36
|
+
/** Den valgte verdien som NormalizedDropdownItemType
|
|
37
|
+
* (Brukes når komponenten er 'controlled')
|
|
38
|
+
*/
|
|
39
|
+
selectedItem?: NormalizedDropdownItemType | null;
|
|
40
|
+
/** Den valgte verdien som sting
|
|
41
|
+
* (Brukes når komponenten er 'controlled)
|
|
42
|
+
*/
|
|
29
43
|
value?: string;
|
|
30
44
|
/** Hvilken valideringsvariant som gjelder */
|
|
31
45
|
variant?: VariantType;
|
|
@@ -1,24 +1,70 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
+
import { VariantType } from '@entur/form';
|
|
2
3
|
import { NormalizedDropdownItemType } from './useNormalizedItems';
|
|
3
|
-
import './
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
items:
|
|
8
|
-
|
|
9
|
-
|
|
4
|
+
import { PotentiallyAsyncDropdownItemType } from './useResolvedItems';
|
|
5
|
+
import './Dropdown.scss';
|
|
6
|
+
export type SearchableDropdownProps = {
|
|
7
|
+
/** Tilgjengelige valg i dropdown-en */
|
|
8
|
+
items: PotentiallyAsyncDropdownItemType;
|
|
9
|
+
/** Valgt element. Bruk null for ingen verdi */
|
|
10
|
+
selectedItem: NormalizedDropdownItemType | null;
|
|
11
|
+
/** Callback ved valg som skal brukes til å oppdatere selectedItem */
|
|
12
|
+
onChange?: (value: NormalizedDropdownItemType | null) => void;
|
|
13
|
+
/** Filtreringen som brukes når man skriver inn tekst i inputfeltet
|
|
14
|
+
* @default Regex-test som sjekker om item.label inneholder input-teksten
|
|
15
|
+
*/
|
|
16
|
+
itemFilter?: (item: NormalizedDropdownItemType, inputValue: string | undefined) => boolean;
|
|
17
|
+
/** Beskrivende tekst som forklarer feltet */
|
|
18
|
+
label: string;
|
|
19
|
+
/** Placeholder-tekst når ingenting er satt */
|
|
10
20
|
placeholder?: string;
|
|
11
|
-
|
|
21
|
+
/** Vis knapp for å nullstille Dropdown-en skal vises
|
|
22
|
+
* @default true
|
|
23
|
+
*/
|
|
24
|
+
clearable?: boolean;
|
|
25
|
+
/** Plasserer labelen statisk på toppen av inputfeltet
|
|
26
|
+
* @default false
|
|
27
|
+
*/
|
|
28
|
+
disableLabelAnimation?: boolean;
|
|
29
|
+
/** Antall millisekunder man venter etter tekstinput før det gjøres kall for å oppdatere items
|
|
30
|
+
* Denne er kun relevant hvis du sender inn en funksjon som items.
|
|
31
|
+
*/
|
|
32
|
+
debounceTimeout?: number;
|
|
33
|
+
/** Deaktiver dropdown-en */
|
|
34
|
+
disabled?: boolean;
|
|
35
|
+
/** Lar brukeren velge ved å "tab-e" seg ut av komponenten */
|
|
36
|
+
selectOnBlur?: boolean;
|
|
37
|
+
/** Gjør dropdown-en til å kun kunne leses
|
|
38
|
+
* @default false
|
|
39
|
+
*/
|
|
12
40
|
readOnly?: boolean;
|
|
13
|
-
|
|
14
|
-
|
|
41
|
+
/** Tekst eller ikon som kommer før dropdown-en */
|
|
42
|
+
prepend?: React.ReactNode;
|
|
43
|
+
/** En tekst som beskriver hva som skjer når man venter på items */
|
|
44
|
+
loadingText?: string;
|
|
45
|
+
/** Hvilken valideringsvariant som gjelder */
|
|
46
|
+
variant?: VariantType;
|
|
47
|
+
/** Valideringsmelding, brukes sammen med `variant` */
|
|
48
|
+
feedback?: string;
|
|
49
|
+
className?: string;
|
|
50
|
+
style?: {
|
|
51
|
+
[key: string]: any;
|
|
52
|
+
};
|
|
53
|
+
/** Style som kun påføres listeelementet */
|
|
15
54
|
listStyle?: {
|
|
16
55
|
[key: string]: any;
|
|
17
56
|
};
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
57
|
+
/** Tekst som beskriver at man fjerner valget sitt
|
|
58
|
+
* @default "fjern valgt"
|
|
59
|
+
*/
|
|
60
|
+
labelClearSelectedItem?: string;
|
|
61
|
+
/** Tekst for skjemleser for knapp som lukker listen med valg
|
|
62
|
+
* @default "Lukk liste med valg"
|
|
63
|
+
*/
|
|
64
|
+
ariaLabelCloseList?: string;
|
|
65
|
+
/** Tekst for skjemleser for knapp som åpner listen med valg
|
|
66
|
+
* @default "Åpne liste med valg"
|
|
67
|
+
*/
|
|
68
|
+
ariaLabelOpenList?: string;
|
|
22
69
|
};
|
|
23
|
-
export declare const SearchableDropdown:
|
|
24
|
-
export {};
|
|
70
|
+
export declare const SearchableDropdown: ({ ariaLabelCloseList, ariaLabelOpenList, className, clearable, debounceTimeout, disabled, disableLabelAnimation, feedback, itemFilter, items: initialItems, label, labelClearSelectedItem, listStyle, loadingText, onChange, placeholder, prepend, readOnly, selectedItem: value, selectOnBlur, style, variant, ...rest }: SearchableDropdownProps) => JSX.Element;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { UseComboboxGetMenuPropsOptions, GetPropsCommonOptions, UseComboboxGetItemPropsOptions } from 'downshift';
|
|
3
|
+
import { NormalizedDropdownItemType } from '../useNormalizedItems';
|
|
4
|
+
import './DropdownList.scss';
|
|
5
|
+
type DropdownListProps = {
|
|
6
|
+
ariaLabelChosenSingular?: string;
|
|
7
|
+
ariaLabelSelectedItem?: string;
|
|
8
|
+
getItemProps: (options: UseComboboxGetItemPropsOptions<NormalizedDropdownItemType>) => any;
|
|
9
|
+
getMenuProps: (options?: UseComboboxGetMenuPropsOptions | undefined, otherOptions?: GetPropsCommonOptions | undefined) => any;
|
|
10
|
+
highlightedIndex: number;
|
|
11
|
+
isOpen: boolean;
|
|
12
|
+
listItems: NormalizedDropdownItemType[];
|
|
13
|
+
listStyle: {
|
|
14
|
+
[key: string]: any;
|
|
15
|
+
} | undefined;
|
|
16
|
+
loading?: boolean;
|
|
17
|
+
loadingText?: string;
|
|
18
|
+
noMatchesText?: string;
|
|
19
|
+
selectAllCheckboxState?: () => boolean | 'indeterminate';
|
|
20
|
+
selectAllItem?: NormalizedDropdownItemType;
|
|
21
|
+
selectedItems: NormalizedDropdownItemType[];
|
|
22
|
+
[key: string]: any;
|
|
23
|
+
};
|
|
24
|
+
export declare const DropdownList: ({ ariaLabelChosenSingular, ariaLabelSelectedItem, getItemProps, getMenuProps, inputValue, isOpen, highlightedIndex, listItems, listStyle, loading, loadingText, noMatchesText, selectAllCheckboxState, selectAllItem, selectedItems, showSelectAllInList, ...rest }: DropdownListProps) => JSX.Element;
|
|
25
|
+
export {};
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { UseComboboxGetToggleButtonPropsOptions, UseMultipleSelectionGetSelectedItemPropsOptions } from 'downshift';
|
|
3
|
+
import { NormalizedDropdownItemType } from '../useNormalizedItems';
|
|
4
|
+
import './FieldComponents.scss';
|
|
5
|
+
export declare const SelectedItemTag: ({ ariaLabelRemoveSelected, ariaLabelChosen, disabled, getSelectedItemProps, index, readOnly, removeSelectedItem, selectedItem, }: {
|
|
6
|
+
ariaLabelRemoveSelected: string;
|
|
7
|
+
ariaLabelChosen?: string | undefined;
|
|
8
|
+
disabled?: boolean | undefined;
|
|
9
|
+
getSelectedItemProps?: ((options: UseMultipleSelectionGetSelectedItemPropsOptions<NormalizedDropdownItemType>) => any) | undefined;
|
|
10
|
+
index?: number | undefined;
|
|
11
|
+
readOnly?: boolean | undefined;
|
|
12
|
+
removeSelectedItem: (item: NormalizedDropdownItemType) => void;
|
|
13
|
+
selectedItem: NormalizedDropdownItemType;
|
|
14
|
+
}) => JSX.Element;
|
|
15
|
+
export declare const FieldAppend: React.FC<{
|
|
16
|
+
ariaHiddenToggleButton?: boolean;
|
|
17
|
+
ariaLabelCloseList?: string;
|
|
18
|
+
ariaLabelOpenList?: string;
|
|
19
|
+
clearable?: boolean;
|
|
20
|
+
labelClearSelectedItems?: string;
|
|
21
|
+
disabled?: boolean;
|
|
22
|
+
focusable?: boolean;
|
|
23
|
+
getToggleButtonProps: (options?: UseComboboxGetToggleButtonPropsOptions | undefined) => any;
|
|
24
|
+
isOpen: boolean;
|
|
25
|
+
loading?: boolean;
|
|
26
|
+
loadingText?: string;
|
|
27
|
+
onClear: () => void;
|
|
28
|
+
selectedItems: (NormalizedDropdownItemType | null)[];
|
|
29
|
+
}>;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import { NormalizedDropdownItemType } from '
|
|
2
|
+
import { NormalizedDropdownItemType } from '../useNormalizedItems';
|
|
3
3
|
import './BaseDropdown.scss';
|
|
4
|
-
type
|
|
4
|
+
type BaseDropdownDeprecatedProps = {
|
|
5
5
|
className?: string;
|
|
6
6
|
disabled?: boolean;
|
|
7
7
|
items: NormalizedDropdownItemType[];
|
|
@@ -18,5 +18,5 @@ type BaseDropdownProps = {
|
|
|
18
18
|
disableLabelAnimation?: boolean;
|
|
19
19
|
[key: string]: any;
|
|
20
20
|
};
|
|
21
|
-
export declare const
|
|
21
|
+
export declare const BaseDropdownDeprecated: React.FC<BaseDropdownDeprecatedProps>;
|
|
22
22
|
export {};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { ControllerStateAndHelpers } from 'downshift';
|
|
3
|
-
import { NormalizedDropdownItemType } from '
|
|
3
|
+
import { NormalizedDropdownItemType } from '../useNormalizedItems';
|
|
4
4
|
export type DownshiftProviderProps = {
|
|
5
5
|
onChange?: (selectedItem: NormalizedDropdownItemType, stateAndHelpers: ControllerStateAndHelpers<NormalizedDropdownItemType>) => void;
|
|
6
6
|
onInputValueChange?: (value: string) => void;
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { VariantType } from '@entur/form';
|
|
3
|
+
import { NormalizedDropdownItemType } from '../useNormalizedItems';
|
|
4
|
+
import { PotentiallyAsyncDropdownItemType } from '../useResolvedItems';
|
|
5
|
+
export type DropdownDeprecatedProps = {
|
|
6
|
+
/** Beskrivende tekst som forklarer feltet */
|
|
7
|
+
label: string;
|
|
8
|
+
/** Tilgjengelige valg i dropdownen */
|
|
9
|
+
items: PotentiallyAsyncDropdownItemType;
|
|
10
|
+
/** Valgt verdi. Bruk null for ingen verdi. */
|
|
11
|
+
value?: string | null;
|
|
12
|
+
/** Om man skal kunne søke i dropdownen eller ikke */
|
|
13
|
+
searchable?: boolean;
|
|
14
|
+
/** Tooltip for labelen */
|
|
15
|
+
labelTooltip?: string;
|
|
16
|
+
/** Hvilken valideringsvariant som gjelder */
|
|
17
|
+
variant?: VariantType;
|
|
18
|
+
/** Valideringsmelding, brukes sammen med `variant` */
|
|
19
|
+
feedback?: string;
|
|
20
|
+
/** Tekst eller ikon som kommer før dropdownen */
|
|
21
|
+
prepend?: React.ReactNode;
|
|
22
|
+
/** Deaktiver dropdownen */
|
|
23
|
+
disabled?: boolean;
|
|
24
|
+
/** Setter dropdownen i read-only modus */
|
|
25
|
+
readOnly?: boolean;
|
|
26
|
+
/** Placeholder-tekst når ingenting er satt */
|
|
27
|
+
placeholder?: string;
|
|
28
|
+
/** En tekst som beskriver hva som skjer når man venter på items */
|
|
29
|
+
loadingText?: string;
|
|
30
|
+
/** Callback når brukeren endrer valg */
|
|
31
|
+
onChange?: (selectedItem: NormalizedDropdownItemType | null) => void;
|
|
32
|
+
/** Lar brukeren velge ved å "tæbbe" seg ut av komponenten */
|
|
33
|
+
selectOnTab?: boolean;
|
|
34
|
+
/** Om man skal vise items ved fokusering av input-feltet, før man skriver inn noe */
|
|
35
|
+
openOnFocus?: boolean;
|
|
36
|
+
/** Antall millisekunder man venter før man kaller en potensiell items-funksjon */
|
|
37
|
+
debounceTimeout?: number;
|
|
38
|
+
/** Om man skal ha muliget for å nullstille Dropdownen
|
|
39
|
+
* @default false
|
|
40
|
+
*/
|
|
41
|
+
clearable?: boolean;
|
|
42
|
+
/** Ekstra klassenavn */
|
|
43
|
+
className?: string;
|
|
44
|
+
/** Marker første valgmulighet automatisk */
|
|
45
|
+
highlightFirstItemOnOpen?: boolean;
|
|
46
|
+
/** Styling som sendes ned til Dropdown-lista */
|
|
47
|
+
listStyle?: {
|
|
48
|
+
[key: string]: any;
|
|
49
|
+
};
|
|
50
|
+
/** Filtreringen som blir brukt dersom man har en searchable Dropdown
|
|
51
|
+
* @default Enkel tekstsammenligning
|
|
52
|
+
*/
|
|
53
|
+
itemFilter?: (item: NormalizedDropdownItemType) => boolean;
|
|
54
|
+
/** Plasserer labelen statisk på toppen av inputfeltet
|
|
55
|
+
* @default false
|
|
56
|
+
*/
|
|
57
|
+
disableLabelAnimation?: boolean;
|
|
58
|
+
/** Alle ekstra props videresendes til Downshift */
|
|
59
|
+
[key: string]: any;
|
|
60
|
+
};
|
|
61
|
+
/**
|
|
62
|
+
* @deprecated
|
|
63
|
+
* New Dropdown available
|
|
64
|
+
*
|
|
65
|
+
* migration guide to new dropdown:
|
|
66
|
+
* - change import from 'DropdownOld' to 'Dropdown'
|
|
67
|
+
* + if 'searchable', switch to 'SearchableDropdown'
|
|
68
|
+
* - change from 'value' to 'selectedItem'
|
|
69
|
+
* + type of 'selectedItem' is 'NormalizedDropdownType' and does not include 'string'
|
|
70
|
+
* - 'onChange' must update value of 'selectedItem'
|
|
71
|
+
*/
|
|
72
|
+
export declare const DropdownDeprecated: React.FC<DropdownDeprecatedProps>;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { VariantType } from '@entur/form';
|
|
2
2
|
import React from 'react';
|
|
3
|
-
export type
|
|
3
|
+
export type DropdownInputGroupDeprecatedProps = {
|
|
4
4
|
feedback?: string;
|
|
5
5
|
variant?: VariantType;
|
|
6
6
|
className?: string;
|
|
@@ -8,4 +8,4 @@ export type DropdownInputGroupProps = {
|
|
|
8
8
|
[key: string]: any;
|
|
9
9
|
};
|
|
10
10
|
};
|
|
11
|
-
export declare const
|
|
11
|
+
export declare const DropdownInputGroupDeprecated: React.FC<DropdownInputGroupDeprecatedProps>;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { NormalizedDropdownItemType } from '../useNormalizedItems';
|
|
3
|
+
import './DropdownList.scss';
|
|
4
|
+
export type DropdownListDeprecatedProps = {
|
|
5
|
+
items: NormalizedDropdownItemType[];
|
|
6
|
+
[key: string]: any;
|
|
7
|
+
};
|
|
8
|
+
export declare const DropdownListDeprecated: React.FC<DropdownListDeprecatedProps>;
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { UseSelectProps } from 'downshift';
|
|
3
|
+
import { NormalizedDropdownItemType } from '../useNormalizedItems';
|
|
4
|
+
import { VariantType } from '@entur/form';
|
|
5
|
+
import { PotentiallyAsyncDropdownItemType } from '../useResolvedItems';
|
|
6
|
+
import './MultiSelect.scss';
|
|
7
|
+
import './DropdownList.scss';
|
|
8
|
+
type MultiSelectDeprecatedProps = {
|
|
9
|
+
/** Tilgjengelige valg i MultiSelect */
|
|
10
|
+
items: PotentiallyAsyncDropdownItemType;
|
|
11
|
+
/** Tekst som vises i boksen når elementer er valgt */
|
|
12
|
+
itemsSelectedLabel?: (selectedItems: NormalizedDropdownItemType[], numberOfItems?: number) => string;
|
|
13
|
+
/** Beskrivende tekst som forklarer feltet */
|
|
14
|
+
label?: string;
|
|
15
|
+
/** Hvilken valideringsvariant som gjelder */
|
|
16
|
+
variant?: VariantType;
|
|
17
|
+
/** Valideringsmelding, brukes sammen med `variant` */
|
|
18
|
+
feedback?: string;
|
|
19
|
+
/** Tekst eller ikon som kommer før MultiSelect */
|
|
20
|
+
prepend?: React.ReactNode;
|
|
21
|
+
/** Deaktiver dropdownen */
|
|
22
|
+
disabled?: boolean;
|
|
23
|
+
/** Setter dropdownen i read-only modus */
|
|
24
|
+
readOnly?: boolean;
|
|
25
|
+
/** Placeholder-tekst når ingenting er satt */
|
|
26
|
+
placeholder?: string;
|
|
27
|
+
/** En tekst som beskriver hva som skjer når man venter på items */
|
|
28
|
+
loadingText?: string;
|
|
29
|
+
/** Callback når brukeren endrer valg */
|
|
30
|
+
onChange?: (e: any) => void;
|
|
31
|
+
/** Om man skal vise items ved fokusering av input-feltet, før man skriver inn noe
|
|
32
|
+
* @default false
|
|
33
|
+
*/
|
|
34
|
+
openOnFocus?: boolean;
|
|
35
|
+
/** Ekstra klassenavn */
|
|
36
|
+
className?: string;
|
|
37
|
+
/** Styling som sendes ned til MultiSelect-lista */
|
|
38
|
+
listStyle?: {
|
|
39
|
+
[key: string]: any;
|
|
40
|
+
};
|
|
41
|
+
/** Antall millisekunder man venter før man kaller en potensiell items-funksjon
|
|
42
|
+
* @default 250
|
|
43
|
+
*/
|
|
44
|
+
debounceTimeout?: number;
|
|
45
|
+
/** Om man skal ha muliget for å nullstille Dropdownen
|
|
46
|
+
* @default false
|
|
47
|
+
*/
|
|
48
|
+
clearable?: boolean;
|
|
49
|
+
loading?: boolean;
|
|
50
|
+
style?: React.CSSProperties;
|
|
51
|
+
initialSelectedItems?: NormalizedDropdownItemType[];
|
|
52
|
+
} & Omit<UseSelectProps<NormalizedDropdownItemType>, 'initialSelectedItem' | 'items'>;
|
|
53
|
+
/**
|
|
54
|
+
* @deprecated
|
|
55
|
+
* New MultiSelect available
|
|
56
|
+
*
|
|
57
|
+
* migration guide to new dropdown:
|
|
58
|
+
* - change import from 'DropdownOld' to 'Dropdown'
|
|
59
|
+
* - change from 'value' to 'selectedItem'
|
|
60
|
+
* + type of 'selectedItem' is 'NormalizedDropdownType' and does not include 'string'
|
|
61
|
+
* - 'onChange' must update value of 'selectedItem'
|
|
62
|
+
*/
|
|
63
|
+
export declare const MultiSelectDeprecated: React.FC<MultiSelectDeprecatedProps>;
|
|
64
|
+
export {};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import { NormalizedDropdownItemType } from '
|
|
3
|
-
type
|
|
2
|
+
import { NormalizedDropdownItemType } from '../useNormalizedItems';
|
|
3
|
+
type RegularDropdownDeprecatedProps = {
|
|
4
4
|
items: NormalizedDropdownItemType[];
|
|
5
5
|
disabled?: boolean;
|
|
6
6
|
placeholder?: string;
|
|
@@ -16,5 +16,5 @@ type RegularDropdownProps = {
|
|
|
16
16
|
clearable?: boolean;
|
|
17
17
|
[key: string]: any;
|
|
18
18
|
};
|
|
19
|
-
export declare const
|
|
19
|
+
export declare const RegularDropdownDeprecated: React.FC<RegularDropdownDeprecatedProps>;
|
|
20
20
|
export {};
|