@entur/dropdown 7.1.0 → 7.1.1-beta.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.
@@ -37,7 +37,7 @@ export type DropdownProps<ValueType> = {
37
37
  variant?: VariantType | typeof error | typeof info;
38
38
  /** Valideringsmelding, brukes sammen med `variant` */
39
39
  feedback?: string;
40
- /** Tekst eller ikon som kommer før dropdown-en */
40
+ /** Tekst eller ikon som kommer først i dropdown-feltet */
41
41
  prepend?: React.ReactNode;
42
42
  /** */
43
43
  loading?: boolean;
@@ -87,5 +87,5 @@ export type DropdownProps<ValueType> = {
87
87
  */
88
88
  ariaLabelSelectedItem?: string;
89
89
  };
90
- export declare const Dropdown: <ValueType extends unknown>({ ariaLabelChosenSingular, ariaLabelCloseList, ariaLabelOpenList, ariaLabelSelectedItem, className, clearable, disabled, disableLabelAnimation, feedback, items: initialItems, label, labelClearSelectedItem, labelTooltip, listStyle, loading, loadingText, noMatchesText, onChange, placeholder, prepend, readOnly, selectedItem, selectOnBlur, selectOnTab, style, variant, ...rest }: DropdownProps<ValueType>) => React.JSX.Element;
90
+ export declare const Dropdown: <ValueType extends unknown>(props: DropdownProps<ValueType> & React.RefAttributes<HTMLDivElement>) => React.ReactElement | null;
91
91
  export {};
@@ -54,4 +54,55 @@ export type MultiSelectProps<ValueType> = Omit<DropdownProps<ValueType>, 'select
54
54
  */
55
55
  ariaLabelJumpToInput?: string;
56
56
  };
57
- export declare const MultiSelect: <ValueType extends unknown>({ className, clearable, clearInputOnSelect, debounceTimeout, disabled, disableLabelAnimation, feedback, hideSelectAll, items: initialItems, itemFilter, label, labelAllItemsSelected, labelClearAllItems, labelSelectAll, labelTooltip, listStyle, loading, loadingText, maxChips, noMatchesText, onChange, placeholder, readOnly, selectedItems, selectOnBlur, selectOnTab, style, variant, ariaLabelChosenSingular, ariaLabelChosenPlural, ariaLabelCloseList, ariaLabelJumpToInput, ariaLabelOpenList, ariaLabelRemoveSelected, ariaLabelSelectedItem, ...rest }: MultiSelectProps<ValueType>) => React.JSX.Element;
57
+ export declare const MultiSelect: <ValueType extends unknown>(props: Omit<DropdownProps<ValueType>, "selectedItem" | "onChange"> & {
58
+ /** Elementer som er valgt blant 'items'. Bruk tom liste for ingen valgte
59
+ */
60
+ selectedItems: NormalizedDropdownItemType<ValueType>[];
61
+ /** Callback med alle valgte verdier.
62
+ * Bruk denne til å oppdatere selectedItems-listen */
63
+ onChange?: ((selectedItems: NormalizedDropdownItemType<ValueType>[]) => void | React.Dispatch<React.SetStateAction<NormalizedDropdownItemType<ValueType>[]>>) | undefined;
64
+ /** Filtreringen som brukes når man skriver inn tekst i inputfeltet
65
+ * @default Regex-test som sjekker om item.label inneholder input-teksten
66
+ */
67
+ itemFilter?: ((item: NormalizedDropdownItemType<ValueType>, inputValue: string | undefined) => boolean) | undefined;
68
+ /** Skjuler «Velg alle» fra listen med valg
69
+ * @default false
70
+ */
71
+ hideSelectAll?: boolean;
72
+ /** Antall millisekunder man venter før man kaller en potensiell items-funksjon
73
+ * @default 250
74
+ */
75
+ debounceTimeout?: number;
76
+ /** Maks antall individuelle valgt-element-tags i MultiSelect-en før de blir til en samle-tag
77
+ * @default 10
78
+ */
79
+ maxChips?: number;
80
+ /** Resetter input etter at et element er valgt i listen
81
+ * @default false
82
+ */
83
+ clearInputOnSelect?: boolean;
84
+ /** Teksten som vises for «Velg alle»-elementet i listen
85
+ * @default "Velg alle"
86
+ */
87
+ labelSelectAll?: string;
88
+ /** Teksten som vises for «Velg alle»-elementet i listen
89
+ * @default "Alle valgt"
90
+ */
91
+ labelAllItemsSelected?: string;
92
+ /** Skjermleser-tekst som for å fjerne alle valg
93
+ * @default "Fjern valgte"
94
+ */
95
+ labelClearAllItems?: string;
96
+ /** Tekst for skjemleser på knapper for å fjerne valgt element
97
+ * @default "trykk for å fjerne valg"
98
+ */
99
+ ariaLabelRemoveSelected?: string;
100
+ /** Tekst for skjemleser for å indikere at et element er valgt
101
+ * @default "valgte"
102
+ */
103
+ ariaLabelChosenPlural?: string;
104
+ /** Tekst for skjemleser for å hoppe til input-feltet
105
+ * @default `${selectedItems.length} valgte elementer, trykk for å hoppe til tekstfeltet`
106
+ */
107
+ ariaLabelJumpToInput?: string;
108
+ } & React.RefAttributes<HTMLInputElement>) => React.ReactElement | null;
@@ -52,5 +52,5 @@ export type NativeDropdownProps<ValueType> = {
52
52
  disableLabelAnimation?: boolean;
53
53
  [key: string]: any;
54
54
  };
55
- export declare const NativeDropdown: <ValueType extends string | number>({ className, disabled, disableLabelAnimation, feedback, items, label, loadingText, onChange, prepend, readOnly, selectedItem, style, value, variant, ...rest }: NativeDropdownProps<ValueType>) => React.JSX.Element;
55
+ export declare const NativeDropdown: <ValueType extends string | number>(props: NativeDropdownProps<ValueType> & React.RefAttributes<HTMLSelectElement>) => React.ReactElement | null;
56
56
  export {};
@@ -16,4 +16,17 @@ export type SearchableDropdownProps<ValueType> = DropdownProps<ValueType> & {
16
16
  */
17
17
  noMatchesText?: string;
18
18
  };
19
- export declare const SearchableDropdown: <ValueType extends unknown>({ ariaLabelChosenSingular, ariaLabelCloseList, ariaLabelOpenList, ariaLabelSelectedItem, className, clearable, debounceTimeout, disabled, disableLabelAnimation, feedback, items: initialItems, itemFilter, label, labelClearSelectedItem, labelTooltip, listStyle, loading, loadingText, noMatchesText, onChange, placeholder, prepend, readOnly, selectedItem: value, selectOnBlur, selectOnTab, style, variant, ...rest }: SearchableDropdownProps<ValueType>) => React.JSX.Element;
19
+ export declare const SearchableDropdown: <ValueType extends unknown>(props: DropdownProps<ValueType> & {
20
+ /** Filtreringen som brukes når man skriver inn tekst i inputfeltet
21
+ * @default Regex-test som sjekker om item.label inneholder input-teksten
22
+ */
23
+ itemFilter?: ((item: NormalizedDropdownItemType<ValueType>, inputValue: string | undefined) => boolean) | undefined;
24
+ /** Antall millisekunder man venter etter tekstinput før det gjøres kall for å oppdatere items
25
+ * Denne er kun relevant hvis du sender inn en funksjon som items.
26
+ */
27
+ debounceTimeout?: number;
28
+ /** Tekst som kommer opp når det ikke er noe treff på filtreringsøket
29
+ * @default "Ingen treff for søket"
30
+ */
31
+ noMatchesText?: string;
32
+ } & React.RefAttributes<HTMLInputElement>) => React.ReactElement | null;
@@ -20,7 +20,7 @@ type DropdownListProps<ValueType> = {
20
20
  selectAllCheckboxState?: () => boolean | 'indeterminate';
21
21
  selectAllItem?: NormalizedDropdownItemType<string>;
22
22
  selectedItems: NormalizedDropdownItemType<ValueType>[];
23
- [key: string]: any;
23
+ style?: React.CSSProperties;
24
24
  };
25
- export declare const DropdownList: <ValueType extends unknown>({ ariaLabelChosenSingular, ariaLabelSelectedItem, getItemProps, getMenuProps, inputValue, isOpen, highlightedIndex, listItems, floatingStyles, setListRef, loading, loadingText, noMatchesText, selectAllCheckboxState, selectAllItem, selectedItems, showSelectAllInList, ...rest }: DropdownListProps<ValueType>) => React.JSX.Element;
25
+ export declare const DropdownList: <ValueType extends unknown>({ ariaLabelChosenSingular, ariaLabelSelectedItem, getItemProps, getMenuProps, isOpen, highlightedIndex, listItems, floatingStyles, setListRef, loading, loadingText, noMatchesText, selectAllCheckboxState, selectAllItem, selectedItems, ...rest }: DropdownListProps<ValueType>) => React.JSX.Element;
26
26
  export {};
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { UseComboboxGetToggleButtonPropsOptions, UseMultipleSelectionGetSelectedItemPropsOptions } from 'downshift';
2
+ import { UseComboboxGetToggleButtonPropsReturnValue, UseMultipleSelectionGetSelectedItemPropsOptions } from 'downshift';
3
3
  import { NormalizedDropdownItemType } from '../types';
4
4
  import './FieldComponents.scss';
5
5
  export declare const SelectedItemTag: <ValueType extends unknown>({ ariaLabelRemoveSelected, ariaLabelChosen, disabled, getSelectedItemProps, index, readOnly, removeSelectedItem, selectedItem, }: {
@@ -12,20 +12,22 @@ export declare const SelectedItemTag: <ValueType extends unknown>({ ariaLabelRem
12
12
  removeSelectedItem: (item: NormalizedDropdownItemType<ValueType>) => void;
13
13
  selectedItem: NormalizedDropdownItemType<ValueType>;
14
14
  }) => React.JSX.Element;
15
- type FieldAppendProps<ValueType> = {
16
- ariaHiddenToggleButton?: boolean;
17
- ariaLabelCloseList?: string;
18
- ariaLabelOpenList?: string;
15
+ export declare const DropdownFieldAppendix: (props: Partial<UseComboboxGetToggleButtonPropsReturnValue> & {
16
+ ariaLabelCloseList: string;
17
+ ariaLabelOpenList: string;
19
18
  clearable?: boolean;
20
- labelClearSelectedItems?: string;
19
+ labelClearSelected: string;
21
20
  disabled?: boolean;
22
21
  focusable?: boolean;
23
- getToggleButtonProps: (options?: UseComboboxGetToggleButtonPropsOptions | undefined) => any;
24
22
  isOpen: boolean;
25
- loading?: boolean;
26
- loadingText?: string;
23
+ loading: boolean;
24
+ loadingText: string | undefined;
25
+ onClear: () => void;
26
+ itemIsSelected: boolean;
27
+ } & React.RefAttributes<HTMLButtonElement>) => React.ReactElement | null;
28
+ export declare const ClearableButton: ({ onClear, labelClearSelectedItems, focusable, }: {
27
29
  onClear: () => void;
28
- selectedItems: (NormalizedDropdownItemType<ValueType> | null)[];
29
- };
30
- export declare const FieldAppend: <ValueType extends unknown>({ ariaHiddenToggleButton, ariaLabelCloseList, ariaLabelOpenList, clearable, labelClearSelectedItems, disabled, focusable, getToggleButtonProps, isOpen, loading, loadingText, onClear, selectedItems, }: FieldAppendProps<ValueType>) => React.JSX.Element | null;
31
- export {};
30
+ labelClearSelectedItems?: string;
31
+ focusable?: boolean;
32
+ ariaLabelClearItems?: string;
33
+ }) => React.JSX.Element;