@entur/dropdown 5.0.0-beta.4 → 5.0.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.
Files changed (35) hide show
  1. package/dist/Dropdown.d.ts +40 -39
  2. package/dist/MultiSelect.d.ts +90 -33
  3. package/dist/SearchableDropdown.d.ts +64 -18
  4. package/dist/{beta/components → components}/DropdownList.d.ts +2 -1
  5. package/dist/{BaseDropdown.d.ts → deprecated/BaseDropdown.d.ts} +3 -3
  6. package/dist/{DownshiftProvider.d.ts → deprecated/DownshiftProvider.d.ts} +1 -1
  7. package/dist/deprecated/Dropdown.d.ts +72 -0
  8. package/dist/{DropdownInputGroup.d.ts → deprecated/DropdownInputGroup.d.ts} +2 -2
  9. package/dist/deprecated/DropdownList.d.ts +8 -0
  10. package/dist/{DropdownLoadingDots.d.ts → deprecated/DropdownLoadingDots.d.ts} +1 -1
  11. package/dist/deprecated/DropdownToggleButton.d.ts +3 -0
  12. package/dist/deprecated/MultiSelect.d.ts +64 -0
  13. package/dist/{RegularDropdown.d.ts → deprecated/RegularDropdown.d.ts} +3 -3
  14. package/dist/deprecated/SearchableDropdown.d.ts +34 -0
  15. package/dist/deprecated/index.d.ts +2 -0
  16. package/dist/dropdown.cjs.development.js +141 -77
  17. package/dist/dropdown.cjs.development.js.map +1 -1
  18. package/dist/dropdown.cjs.production.min.js +1 -1
  19. package/dist/dropdown.cjs.production.min.js.map +1 -1
  20. package/dist/dropdown.esm.js +139 -75
  21. package/dist/dropdown.esm.js.map +1 -1
  22. package/dist/index.d.ts +5 -3
  23. package/dist/styles.css +266 -287
  24. package/package.json +12 -12
  25. package/dist/DropdownList.d.ts +0 -8
  26. package/dist/DropdownToggleButton.d.ts +0 -3
  27. package/dist/beta/Dropdown.d.ts +0 -62
  28. package/dist/beta/MultiSelect.d.ts +0 -97
  29. package/dist/beta/SearchableDropdown.d.ts +0 -70
  30. package/dist/beta/index.d.ts +0 -5
  31. /package/dist/{beta/NativeDropdown.d.ts → NativeDropdown.d.ts} +0 -0
  32. /package/dist/{beta/components → components}/FieldComponents.d.ts +0 -0
  33. /package/dist/{beta/useNormalizedItems.d.ts → useNormalizedItems.d.ts} +0 -0
  34. /package/dist/{beta/useResolvedItems.d.ts → useResolvedItems.d.ts} +0 -0
  35. /package/dist/{beta/utils.d.ts → utils.d.ts} +0 -0
@@ -1,61 +1,62 @@
1
- import React from 'react';
1
+ import React, { Dispatch, SetStateAction } from 'react';
2
2
  import { VariantType } from '@entur/form';
3
- import { NormalizedDropdownItemType } from './beta/useNormalizedItems';
4
- import { PotentiallyAsyncDropdownItemType } from './beta/useResolvedItems';
3
+ import { NormalizedDropdownItemType } from './useNormalizedItems';
4
+ import { PotentiallyAsyncDropdownItemType } from './useResolvedItems';
5
+ import './Dropdown.scss';
5
6
  export type DropdownProps = {
6
- /** Beskrivende tekst som forklarer feltet */
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
- value?: string | null;
12
- /** Om man skal kunne søke i dropdownen eller ikke */
13
- searchable?: boolean;
14
- /** Tooltip for labelen */
15
- labelTooltip?: string;
10
+ selectedItem: NormalizedDropdownItemType | null;
11
+ /** Callback ved valg som skal oppdatere selectedItem */
12
+ onChange?: (selectedItem: NormalizedDropdownItemType | null) => void | Dispatch<SetStateAction<NormalizedDropdownItemType | null>>;
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 dropdownen */
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
- /** 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
35
+ /** Om man skal ha mulighet for å nullstille Dropdown-en
36
+ * @default "fjern valgt"
37
+ */
38
+ labelClearSelectedItem?: string;
39
+ /** Plasserer labelen statisk toppen av inputfeltet
39
40
  * @default false
40
41
  */
41
- clearable?: boolean;
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
- /** Filtreringen som blir brukt dersom man har en searchable Dropdown
51
- * @default Enkel tekstsammenligning
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
- itemFilter?: (item: NormalizedDropdownItemType) => boolean;
54
- /** Plasserer labelen statisk toppen av inputfeltet
55
- * @default false
56
+ ariaLabelCloseList?: string;
57
+ /** Tekst for skjemleser for knapp som åpner listen med valg
58
+ * @default "Åpne liste med valg"
56
59
  */
57
- disableLabelAnimation?: boolean;
58
- /** Alle ekstra props videresendes til Downshift */
59
- [key: string]: any;
60
+ ariaLabelOpenList?: string;
60
61
  };
61
- export declare const Dropdown: React.FC<DropdownProps>;
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;
@@ -1,54 +1,111 @@
1
- import React from 'react';
2
- import { UseSelectProps } from 'downshift';
3
- import { NormalizedDropdownItemType } from './beta/useNormalizedItems';
1
+ import React, { Dispatch, SetStateAction } from 'react';
4
2
  import { VariantType } from '@entur/form';
5
- import { PotentiallyAsyncDropdownItemType } from './beta/useResolvedItems';
6
- import './MultiSelect.scss';
7
- import './DropdownList.scss';
8
- type MultiSelectProps = {
3
+ import { NormalizedDropdownItemType } from './useNormalizedItems';
4
+ import { PotentiallyAsyncDropdownItemType } from './useResolvedItems';
5
+ import './Dropdown.scss';
6
+ export type MultiSelectProps = {
7
+ /** Beskrivende tekst som forklarer feltet */
8
+ label: string;
9
9
  /** Tilgjengelige valg i MultiSelect */
10
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;
11
+ /** Elementer som er valgt blant 'items'. Bruk tom liste for ingen valgte
12
+ */
13
+ selectedItems: NormalizedDropdownItemType[];
14
+ /** Callback med alle valgte verdier.
15
+ * Bruk denne til å oppdatere selectedItems-listen */
16
+ onChange?: (selectedItems: NormalizedDropdownItemType[]) => void | Dispatch<SetStateAction<NormalizedDropdownItemType[]>>;
17
+ /** Filtreringen som brukes når man skriver inn tekst i inputfeltet
18
+ * @default Regex-test som sjekker om item.label inneholder input-teksten
19
+ */
20
+ itemFilter?: (item: NormalizedDropdownItemType, inputValue: string | undefined) => boolean;
15
21
  /** Hvilken valideringsvariant som gjelder */
16
22
  variant?: VariantType;
17
23
  /** Valideringsmelding, brukes sammen med `variant` */
18
24
  feedback?: string;
19
- /** Tekst eller ikon som kommer før MultiSelect */
20
- prepend?: React.ReactNode;
21
- /** Deaktiver dropdownen */
25
+ /** Om dropdown-en er deaktivert */
22
26
  disabled?: boolean;
23
- /** Setter dropdownen i read-only modus */
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
- /** 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
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
- openOnFocus?: boolean;
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
- /** Om man skal ha muliget for å nullstille Dropdownen
51
+ /** Maks antall individuelle valgt-element-tags i MultiSelect-en før de blir til en samle-tag
52
+ * @default 10
53
+ */
54
+ maxChips?: 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
- clearable?: boolean;
49
- loading?: boolean;
60
+ clearInputOnSelect?: boolean;
61
+ /** Lar brukeren velge ved å "tab-e" seg ut av komponenten */
62
+ selectOnBlur?: boolean;
50
63
  style?: React.CSSProperties;
51
- initialSelectedItems?: NormalizedDropdownItemType[];
52
- } & Omit<UseSelectProps<NormalizedDropdownItemType>, 'initialSelectedItem' | 'items'>;
53
- export declare const MultiSelect: React.FC<MultiSelectProps>;
54
- export {};
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, maxChips, noMatchesText, onChange, placeholder, readOnly, selectedItems, selectOnBlur, style, variant, ariaLabelChosenSingular, ariaLabelChosenPlural, ariaLabelCloseList, ariaLabelJumpToInput, ariaLabelOpenList, ariaLabelRemoveSelected, ariaLabelSelectedItem, ...rest }: MultiSelectProps) => JSX.Element;
@@ -1,24 +1,70 @@
1
- import React from 'react';
2
- import { NormalizedDropdownItemType } from './beta/useNormalizedItems';
3
- import './SearchableDropdown.scss';
4
- type SearchableDropdownProps = {
5
- className?: string;
6
- disabled?: boolean;
7
- items: NormalizedDropdownItemType[];
8
- loading?: boolean;
9
- loadingText?: string;
1
+ import React, { Dispatch, SetStateAction } from 'react';
2
+ import { VariantType } from '@entur/form';
3
+ import { NormalizedDropdownItemType } from './useNormalizedItems';
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?: (selectedItem: NormalizedDropdownItemType | null) => void | Dispatch<SetStateAction<NormalizedDropdownItemType | null>>;
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
- prepend?: React.ReactNode;
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
- selectOnTab?: boolean;
14
- openOnFocus?: boolean;
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
- clearable: boolean;
19
- itemFilter?: (item: NormalizedDropdownItemType) => boolean;
20
- disableLabelAnimation?: boolean;
21
- [key: string]: any;
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: React.FC<SearchableDropdownProps>;
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;
@@ -3,6 +3,7 @@ import { UseComboboxGetMenuPropsOptions, GetPropsCommonOptions, UseComboboxGetIt
3
3
  import { NormalizedDropdownItemType } from '../useNormalizedItems';
4
4
  import './DropdownList.scss';
5
5
  type DropdownListProps = {
6
+ ariaLabelChosenSingular?: string;
6
7
  ariaLabelSelectedItem?: string;
7
8
  getItemProps: (options: UseComboboxGetItemPropsOptions<NormalizedDropdownItemType>) => any;
8
9
  getMenuProps: (options?: UseComboboxGetMenuPropsOptions | undefined, otherOptions?: GetPropsCommonOptions | undefined) => any;
@@ -20,5 +21,5 @@ type DropdownListProps = {
20
21
  selectedItems: NormalizedDropdownItemType[];
21
22
  [key: string]: any;
22
23
  };
23
- export declare const DropdownList: ({ ariaLabelSelectedItem, getItemProps, getMenuProps, inputValue, isOpen, highlightedIndex, listItems, listStyle, loading, loadingText, noMatchesText, selectAllCheckboxState, selectAllItem, selectedItems, showSelectAllInList, ...rest }: DropdownListProps) => JSX.Element;
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;
24
25
  export {};
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
- import { NormalizedDropdownItemType } from './beta/useNormalizedItems';
2
+ import { NormalizedDropdownItemType } from '../useNormalizedItems';
3
3
  import './BaseDropdown.scss';
4
- type BaseDropdownProps = {
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 BaseDropdown: React.FC<BaseDropdownProps>;
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 './beta/useNormalizedItems';
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 'DropdownDeprecated' 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 DropdownInputGroupProps = {
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 DropdownInputGroup: React.FC<DropdownInputGroupProps>;
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>;
@@ -7,4 +7,4 @@ export type InlineSpinnerType = {
7
7
  children: string;
8
8
  [key: string]: any;
9
9
  };
10
- export declare const DropdownLoadingDots: React.FC<InlineSpinnerType>;
10
+ export declare const DropdownDeprecatedLoadingDots: React.FC<InlineSpinnerType>;
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ import './DropdownToggleButton.scss';
3
+ export declare const DropdownDeprecatedToggleButton: () => JSX.Element;
@@ -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 'MultiSelectDeprecated' to 'MultiSelect'
59
+ * - add state containing selected items to 'selectedItems' prop
60
+ * + type of 'selectedItems' 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 './beta/useNormalizedItems';
3
- type RegularDropdownProps = {
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 RegularDropdown: React.FC<RegularDropdownProps>;
19
+ export declare const RegularDropdownDeprecated: React.FC<RegularDropdownDeprecatedProps>;
20
20
  export {};
@@ -0,0 +1,34 @@
1
+ import React from 'react';
2
+ import { NormalizedDropdownItemType } from '../useNormalizedItems';
3
+ import './SearchableDropdown.scss';
4
+ type SearchableDropdownDeprecatedProps = {
5
+ className?: string;
6
+ disabled?: boolean;
7
+ items: NormalizedDropdownItemType[];
8
+ loading?: boolean;
9
+ loadingText?: string;
10
+ placeholder?: string;
11
+ prepend?: React.ReactNode;
12
+ readOnly?: boolean;
13
+ selectOnTab?: boolean;
14
+ openOnFocus?: boolean;
15
+ listStyle?: {
16
+ [key: string]: any;
17
+ };
18
+ clearable: boolean;
19
+ itemFilter?: (item: NormalizedDropdownItemType) => boolean;
20
+ disableLabelAnimation?: boolean;
21
+ [key: string]: any;
22
+ };
23
+ /**
24
+ * @deprecated
25
+ * New SearchableDropdown available
26
+ *
27
+ * migration guide to new dropdown:
28
+ * - change import from 'DropdownDeprecated' to 'Dropdown'
29
+ * - change from 'value' to 'selectedItem'
30
+ * + type of 'selectedItem' is 'NormalizedDropdownType' and does not include 'string'
31
+ * - 'onChange' must update value of 'selectedItem'
32
+ */
33
+ export declare const SearchableDropdownDeprecated: React.FC<SearchableDropdownDeprecatedProps>;
34
+ export {};
@@ -0,0 +1,2 @@
1
+ export * from './Dropdown';
2
+ export * from './MultiSelect';