@entur/dropdown 7.2.3-beta.0 → 7.3.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.
@@ -1 +1 @@
1
- {"version":3,"file":"dropdown.cjs.development.js","sources":["../src/components/DropdownList.tsx","../src/components/FieldComponents.tsx","../src/useNormalizedItems.ts","../src/useResolvedItems.ts","../src/utils.ts","../src/SearchableDropdown.tsx","../src/MultiSelect.tsx","../src/Dropdown.tsx","../src/NativeDropdown.tsx","../src/index.tsx"],"sourcesContent":["import React from 'react';\nimport classNames from 'classnames';\nimport { UseComboboxPropGetters, UseSelectPropGetters } from 'downshift';\n\nimport { VisuallyHidden } from '@entur/a11y';\nimport { Checkbox } from '@entur/form';\n\nimport { NormalizedDropdownItemType } from '../types';\n\nimport './DropdownList.scss';\n\ntype DropdownListProps<ValueType> = {\n ariaLabelChosenSingular?: string;\n ariaLabelSelectedItem?: string;\n getMenuProps:\n | UseComboboxPropGetters<ValueType>['getMenuProps']\n | UseSelectPropGetters<ValueType>['getMenuProps'];\n getItemProps:\n | UseComboboxPropGetters<ValueType>['getItemProps']\n | UseSelectPropGetters<ValueType>['getItemProps'];\n highlightedIndex: number;\n isOpen: boolean;\n listItems: NormalizedDropdownItemType<ValueType | string>[];\n floatingStyles: { [key: string]: any } | undefined;\n setListRef: (node: HTMLElement | null) => void;\n loading?: boolean;\n loadingText?: string;\n noMatchesText?: string;\n selectAllCheckboxState?: () => boolean | 'indeterminate';\n selectAllItem?: NormalizedDropdownItemType<string>;\n selectedItems: NormalizedDropdownItemType<ValueType>[];\n style?: React.CSSProperties;\n readOnly?: boolean;\n};\n\nexport const DropdownList = <ValueType extends NonNullable<any>>({\n ariaLabelChosenSingular = 'valgt',\n ariaLabelSelectedItem = ', valgt element, trykk for å fjerne',\n getItemProps,\n getMenuProps,\n isOpen,\n highlightedIndex,\n listItems,\n floatingStyles,\n setListRef,\n loading = false,\n loadingText = 'Laster inn …',\n noMatchesText = 'Ingen treff for søket',\n selectAllCheckboxState,\n selectAllItem,\n selectedItems,\n readOnly = false,\n ...rest\n}: DropdownListProps<ValueType>) => {\n const isMultiselect = selectAllItem !== undefined;\n const isNoMatches =\n !loading &&\n (listItems.length === 0 ||\n (listItems?.length === 1 &&\n listItems?.[0]?.value === selectAllItem?.value));\n const isItemSelected = (\n item: NormalizedDropdownItemType<ValueType | string>,\n ) =>\n selectedItems.some(\n selectedItem =>\n selectedItem?.value === item?.value &&\n selectedItem?.label === item?.label,\n );\n\n const ariaValuesSelectAll = () => {\n switch (selectAllCheckboxState?.()) {\n case 'indeterminate': {\n return {\n label: `${selectAllItem?.label}, delvis valgt`,\n selected: false,\n };\n }\n case true: {\n return {\n label: `${selectAllItem?.label}, ${ariaLabelChosenSingular}`,\n selected: true,\n };\n }\n default: {\n return { label: `${selectAllItem?.label}`, selected: false };\n }\n }\n };\n\n const selectAllListItemContent = () => (\n <>\n <Checkbox\n aria-hidden=\"true\"\n checked={selectAllCheckboxState?.()}\n className=\"eds-dropdown__list__item__checkbox\"\n tabIndex={-1}\n readOnly\n />\n <span\n className=\"eds-dropdown__list__item__text\"\n aria-label={ariaValuesSelectAll().label}\n >\n {selectAllItem?.label}\n </span>\n </>\n );\n\n const isReactComponent = (icon: any): icon is React.ComponentType<any> => {\n return (\n typeof icon === 'function' ||\n (typeof icon === 'object' &&\n icon !== null &&\n '$$typeof' in icon &&\n typeof icon.$$typeof === 'symbol')\n );\n };\n\n const listItemContent = (item: NormalizedDropdownItemType<ValueType>) => {\n return (\n <>\n {isMultiselect && (\n <Checkbox\n aria-hidden=\"true\"\n checked={isItemSelected(item)}\n className=\"eds-dropdown__list__item__checkbox\"\n tabIndex={-1}\n readOnly\n />\n )}\n <span className=\"eds-dropdown__list__item__text\">\n {item.label}\n <VisuallyHidden>\n {isItemSelected(item) ? ariaLabelSelectedItem : ''}\n </VisuallyHidden>\n </span>\n {Array.isArray(item.icons)\n ? item.icons.filter(isReactComponent).map((Icon, index) => {\n const key = `${\n Icon.displayName ?? Icon.name ?? Icon.name\n }-${index}`;\n return (\n <Icon\n key={key}\n inline\n className=\"eds-dropdown__list__item__icon\"\n />\n );\n })\n : null}\n </>\n );\n };\n\n return (\n // use popover from @entur/tooltip when that package upgrades to floating-ui\n <ul\n {...getMenuProps({\n 'aria-multiselectable': isMultiselect,\n ref: setListRef,\n className: 'eds-dropdown__list',\n style: {\n ...floatingStyles,\n display: isOpen && !readOnly ? undefined : 'none',\n ...rest.style,\n },\n })}\n >\n {(() => {\n if (!isOpen || readOnly) {\n return null;\n }\n\n if (loading) {\n return (\n <li\n key=\"dropdown-list-loading\"\n className=\"eds-dropdown__list__item\"\n >\n {loadingText}\n </li>\n );\n }\n\n if (isNoMatches) {\n return (\n <li\n key=\"dropdown-list-no-match\"\n className=\"eds-dropdown__list__item\"\n >\n {noMatchesText}\n </li>\n );\n }\n\n return listItems.map((item, index) => {\n const key =\n item.itemKey ??\n `${item.label ?? ''}-${item.value ?? ''}-${(item.icons ?? [])\n .map(icon => icon?.displayName ?? icon?.name ?? 'unknown')\n .join('-')}`;\n const itemIsSelectAll = item.value === selectAllItem?.value;\n if (itemIsSelectAll && listItems.length <= 2) return null;\n return (\n <li\n className={classNames('eds-dropdown__list__item', {\n 'eds-dropdown__list__item--select-all': itemIsSelectAll,\n 'eds-dropdown__list__item--highlighted':\n highlightedIndex === index,\n 'eds-dropdown__list__item--selected':\n !isMultiselect && isItemSelected(item),\n })}\n key={key}\n {...getItemProps({\n // @ts-expect-error Since getItemProps expects the same item type\n // here as items, it throws error when selectAllItem is a string.\n // This does, however, not cause any functional issues.\n item,\n index,\n 'aria-selected': itemIsSelectAll\n ? ariaValuesSelectAll().selected\n : isItemSelected(item),\n })}\n >\n {itemIsSelectAll\n ? selectAllListItemContent()\n : listItemContent(\n item as NormalizedDropdownItemType<ValueType>,\n )}\n </li>\n );\n });\n })()}\n </ul>\n );\n};\n","import React, { forwardRef } from 'react';\nimport classNames from 'classnames';\nimport {\n UseComboboxGetToggleButtonPropsReturnValue,\n UseMultipleSelectionGetSelectedItemPropsOptions,\n} from 'downshift';\n\nimport { IconButton } from '@entur/button';\nimport { TagChip } from '@entur/chip';\nimport { CloseSmallIcon, DownArrowIcon } from '@entur/icons';\nimport { LoadingDots } from '@entur/loader';\nimport { Tooltip } from '@entur/tooltip';\n\nimport { NormalizedDropdownItemType } from '../types';\n\nimport './FieldComponents.scss';\n\nexport const SelectedItemTag = <ValueType extends NonNullable<any>>({\n ariaLabelRemoveSelected,\n ariaLabelChosen = 'valgt',\n disabled,\n getSelectedItemProps,\n index,\n readOnly,\n removeSelectedItem,\n selectedItem,\n}: {\n ariaLabelRemoveSelected: string;\n ariaLabelChosen?: string;\n disabled?: boolean;\n getSelectedItemProps?: (\n options: UseMultipleSelectionGetSelectedItemPropsOptions<\n NormalizedDropdownItemType<ValueType>\n >,\n ) => any;\n index?: number;\n readOnly?: boolean;\n removeSelectedItem: (item: NormalizedDropdownItemType<ValueType>) => void;\n selectedItem: NormalizedDropdownItemType<ValueType>;\n}) => {\n const { tabIndex: _, ...selectedItemProps } =\n getSelectedItemProps?.({\n selectedItem,\n index,\n }) ?? {};\n return (\n <TagChip\n size=\"small\"\n className={classNames('eds-dropdown__selected-item-tag', {\n 'eds-dropdown__selected-item-tag--readonly': readOnly,\n 'eds-dropdown__selected-item-tag--disabled': disabled,\n })}\n {...selectedItemProps}\n onClose={(e: React.MouseEvent<HTMLButtonElement>) => {\n e.stopPropagation();\n removeSelectedItem(selectedItem);\n }}\n onClick={(e: React.MouseEvent) => e.stopPropagation()}\n closeButtonAriaLabel={`${selectedItem.label} ${ariaLabelChosen}, ${ariaLabelRemoveSelected} `}\n key={selectedItem.value}\n aria-live=\"polite\"\n >\n <span\n aria-hidden=\"true\"\n className=\"eds-dropdown__selected-item-tag__text\"\n >\n {selectedItem.label}\n </span>\n </TagChip>\n );\n};\n\ntype FieldAppendProps = Partial<UseComboboxGetToggleButtonPropsReturnValue> & {\n ariaLabelCloseList: string;\n ariaLabelOpenList: string;\n clearable?: boolean;\n labelClearSelected: string;\n disabled?: boolean;\n focusable?: boolean;\n isOpen: boolean;\n loading: boolean;\n loadingText: string | undefined;\n onClear: () => void;\n itemIsSelected: boolean;\n};\n\nexport const DropdownFieldAppendix = forwardRef(\n (\n {\n ariaLabelCloseList,\n ariaLabelOpenList,\n clearable = false,\n labelClearSelected,\n focusable = false,\n disabled,\n isOpen,\n loading = false,\n loadingText,\n onClear,\n itemIsSelected,\n ...rest\n }: FieldAppendProps,\n ref: React.ForwardedRef<HTMLButtonElement>,\n ) => {\n function getToggleAriaLabel() {\n if (loading) return loadingText;\n if (isOpen) return ariaLabelCloseList;\n return ariaLabelOpenList;\n }\n\n return (\n <>\n {!disabled && (\n <div className=\"eds-dropdown__appendix\">\n {clearable && itemIsSelected && (\n <ClearableButton\n onClear={onClear}\n focusable={true}\n labelClearSelectedItems={labelClearSelected}\n />\n )}\n\n <IconButton\n className={classNames('eds-dropdown__appendix__toggle-button', {\n 'eds-dropdown__appendix__toggle-button--open': isOpen,\n })}\n ref={ref}\n aria-label={getToggleAriaLabel()}\n {...rest}\n type=\"button\"\n tabIndex={focusable ? 0 : -1}\n >\n {!loading ? (\n <DownArrowIcon aria-hidden=\"true\" />\n ) : (\n <LoadingDots aria-hidden=\"true\" />\n )}\n </IconButton>\n </div>\n )}\n </>\n );\n },\n);\n\nexport const ClearableButton = ({\n onClear,\n labelClearSelectedItems = 'Fjern valgte',\n focusable = false,\n}: {\n onClear: () => void;\n labelClearSelectedItems?: string;\n focusable?: boolean;\n ariaLabelClearItems?: string;\n}) => {\n return (\n <>\n <Tooltip\n aria-hidden=\"true\"\n placement=\"top\"\n content={labelClearSelectedItems}\n className=\"eds-dropdown__appendix__clear-button__tooltip\"\n >\n <IconButton\n className=\"eds-dropdown__appendix__clear-button\"\n type=\"button\"\n tabIndex={focusable ? 0 : -1}\n // These events bubble up to the Dropdown container and trigger openMenu.\n // To avoid this, stopPropagation and preventDefault are added.\n onClick={e => {\n e.stopPropagation();\n onClear();\n }}\n onKeyDown={e => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n e.stopPropagation();\n onClear();\n }\n }}\n aria-label={labelClearSelectedItems}\n >\n <CloseSmallIcon aria-hidden=\"true\" />\n </IconButton>\n </Tooltip>\n <div className=\"eds-dropdown__appendix__divider\" />\n </>\n );\n};\n","import React from 'react';\n\nimport { DropdownItemType, NormalizedDropdownItemType } from './types';\n\nexport const useNormalizedItems = <ValueType = string>(\n items: DropdownItemType<ValueType>[],\n): NormalizedDropdownItemType<ValueType>[] =>\n React.useMemo(\n () =>\n items.map(item => {\n if (typeof item == 'string') {\n return {\n value: item as ValueType,\n label: item,\n };\n }\n\n if (item?.value === undefined) {\n return {\n ...item,\n value: item.label as ValueType,\n };\n }\n return { ...item, value: item.value };\n }),\n [items],\n );\n","import React from 'react';\n\nimport { useDebounce } from '@entur/utils';\n\nimport { useNormalizedItems } from './useNormalizedItems';\n\nimport {\n PotentiallyAsyncDropdownItemType,\n DropdownItemType,\n NormalizedDropdownItemType,\n AsyncDropdownItemType,\n} from './types';\n\nexport const useResolvedItems = <ValueType extends NonNullable<any>>(\n /** The list of items, or an async function that resolves the list of items */\n itemsOrItemsResolver: PotentiallyAsyncDropdownItemType<ValueType>,\n /** The time to wait after the input changes to the fetchItems method is called */\n debounceTimeout = 250,\n): {\n fetchItems: (query?: string) => void;\n loading: boolean;\n items: NormalizedDropdownItemType<ValueType>[];\n} => {\n const itemsIsAFunction = typeof itemsOrItemsResolver === 'function';\n\n const [items, setItems] = React.useState<DropdownItemType<ValueType>[]>(\n itemsIsAFunction ? [] : itemsOrItemsResolver,\n );\n const [loading, setLoading] = React.useState(false);\n\n const abortControllerRef = React.useRef<AbortController>(\n new AbortController(),\n );\n\n // We normalize the itemsResolver argument to an async function, so we\n // can use it without thinking about the differences later\n const itemsResolver = React.useMemo(() => {\n if (itemsIsAFunction)\n return itemsOrItemsResolver as AsyncDropdownItemType<ValueType>;\n return () =>\n Promise.resolve(itemsOrItemsResolver as DropdownItemType<ValueType>[]);\n }, [itemsOrItemsResolver, itemsIsAFunction]);\n\n // This should be called whenever the input value changes\n const updateItems = async (inputValue?: string) => {\n // The abortController handles cleanup of the previous request and unmounting\n if (abortControllerRef?.current) abortControllerRef?.current?.abort();\n const abortController = new AbortController();\n abortControllerRef.current = abortController;\n\n setLoading(true);\n\n try {\n const resolvedItems = await itemsResolver(\n inputValue ?? '',\n abortControllerRef,\n );\n\n if (abortControllerRef?.current?.signal?.aborted) {\n console.warn(\n 'Avbryt den asynkrone funksjonen din med signalet fra AbortController-en for å for å unngå minnelekkasje.',\n 'Funksjonen bør kaste en DOMException med navnet \"AbortError\" når den avbrytes.',\n '',\n '\\n\\nSe eksempel her: https://linje.entur.no/komponenter/skjemaelementer/dropdown#s%C3%B8kbar-dropdown-med-valg-fra-nettverkskall-bassert-p%C3%A5-tekstinput',\n '\\nLes mer om AbortController her: https://developer.mozilla.org/en-US/docs/Web/API/AbortController',\n );\n return;\n }\n\n setLoading(false);\n setItems(resolvedItems);\n } catch (error) {\n if (\n error &&\n typeof error === 'object' &&\n 'name' in error &&\n error.name === 'AbortError'\n ) {\n // Stop execution if the request was aborted\n return;\n }\n console.warn(\n 'The following error was received but not handled inside Entur Designsystems useResolvedItems hook:',\n );\n throw error;\n }\n };\n\n const debouncedFetchItems = useDebounce(updateItems, debounceTimeout);\n const normalizedItems = useNormalizedItems(items);\n\n React.useEffect(() => {\n // send abort signal to previous request on unmount for cleanup\n return () => abortControllerRef?.current?.abort('Component unmounted');\n }, []);\n\n React.useEffect(() => {\n // Let's fetch the list initially if it's specified\n if (itemsIsAFunction) {\n debouncedFetchItems('');\n }\n }, [itemsIsAFunction, itemsResolver]);\n\n return {\n items: normalizedItems,\n loading: itemsIsAFunction ? loading : false,\n fetchItems: debouncedFetchItems,\n };\n};\n","import { UseComboboxState } from 'downshift';\nimport { NormalizedDropdownItemType } from './types';\n\n// Redeclare forwardRef\ndeclare module 'react' {\n function forwardRef<T, P = object>(\n render: (props: P, ref: React.Ref<T>) => React.ReactElement | null,\n ): (props: P & React.RefAttributes<T>) => React.ReactElement | null;\n}\n\n/* start general utils */\nexport const EMPTY_INPUT = '';\n\nexport function lowerCaseFilterTest(\n item: NormalizedDropdownItemType<any>,\n input: string | undefined,\n) {\n if (!input) {\n return true;\n }\n const sanitizeEscapeCharacters = input.replace(\n /[-/\\\\^$*+?.()|[\\]{}]/g,\n '\\\\$&',\n );\n const inputRegex = new RegExp(sanitizeEscapeCharacters, 'i');\n return inputRegex.test(item.label);\n}\n\nexport function noFilter<ValueType>(\n //@ts-expect-error only here to comply with dropdown filter API\n item: NormalizedDropdownItemType<ValueType>,\n //@ts-expect-error only here to comply with dropdown filter API\n input: string | undefined,\n) {\n return true;\n}\n\nexport const itemToString = (item: NormalizedDropdownItemType<any> | null) =>\n item ? item.label : '';\n\nexport const itemToKey = (item: NormalizedDropdownItemType<any> | null) =>\n item?.label + item?.value;\n\nexport const isFunctionWithQueryArgument = (object: any) =>\n typeof object === 'function' && object.length > 0;\n\nexport const clamp = (val: number, min = 1, max = 10) =>\n Math.min(Math.max(val, min), max);\n\n/* end general utils */\n/* start multiselect utils */\n\ntype useMultiselectUtilsType<ValueType> = {\n selectedItems: NormalizedDropdownItemType<ValueType>[];\n listItems: NormalizedDropdownItemType<ValueType | string>[];\n selectAll: NormalizedDropdownItemType<string>;\n};\n\nexport const useMultiselectUtils = <ValueType>({\n listItems,\n selectedItems,\n selectAll,\n}: useMultiselectUtilsType<ValueType>) => {\n const hasSelectedItems = selectedItems.length > 0;\n\n const listItemsWithoutSelectAll = listItems.filter(\n item => item.value !== selectAll.value,\n ) as NormalizedDropdownItemType<ValueType>[];\n\n const unselectedItemsInListItems = listItemsWithoutSelectAll.filter(\n listItem =>\n !selectedItems.some(\n selectedItem => selectedItem.value === listItem.value,\n ),\n );\n\n const allListItemsAreSelected = !listItemsWithoutSelectAll.some(\n listItem =>\n !selectedItems.some(\n selectedItem => selectedItem.value === listItem.value,\n ),\n );\n\n const someListItemsAreSelected = listItemsWithoutSelectAll.some(listItem =>\n selectedItems.some(selectedItem => selectedItem.value === listItem.value),\n );\n\n const addClickedItemToSelectedItems = (\n clickedItem: NormalizedDropdownItemType<ValueType>,\n onChange: (value: NormalizedDropdownItemType<ValueType>[]) => void,\n ) => onChange([...selectedItems, clickedItem]);\n\n const clickedItemIsInSelectedItems = (\n clickedItem: NormalizedDropdownItemType<ValueType>,\n ) =>\n selectedItems.some(\n selectedItem => selectedItem.value === clickedItem.value,\n );\n\n const clickedItemIsSelectAll = (\n clickedItem: NormalizedDropdownItemType<string | ValueType>,\n ) => clickedItem.value === selectAll.value;\n\n const handleListItemClicked = ({\n clickedItem,\n onChange,\n }: {\n clickedItem: NormalizedDropdownItemType<any>;\n onChange: (value: NormalizedDropdownItemType<ValueType>[]) => void;\n }) => {\n if (clickedItemIsSelectAll(clickedItem)) {\n if (allListItemsAreSelected) {\n return unselectAllListItems(onChange);\n }\n return selectAllUnselectedItemsInListItems(onChange);\n }\n\n if (clickedItemIsInSelectedItems(clickedItem)) {\n return removeClickedItemFromSelectedItems(clickedItem, onChange);\n }\n addClickedItemToSelectedItems(clickedItem, onChange);\n };\n\n const removeClickedItemFromSelectedItems = (\n clickedItem: NormalizedDropdownItemType<ValueType>,\n onChange: (value: NormalizedDropdownItemType<ValueType>[]) => void,\n ) =>\n onChange(\n selectedItems.filter(\n selectedItem => selectedItem.value !== clickedItem.value,\n ),\n );\n\n const selectAllCheckboxState = () => {\n if (allListItemsAreSelected) return true;\n if (someListItemsAreSelected) return 'indeterminate';\n return false;\n };\n\n const selectAllUnselectedItemsInListItems = (\n onChange: (value: NormalizedDropdownItemType<ValueType>[]) => void,\n ) => {\n onChange([...selectedItems, ...unselectedItemsInListItems]);\n };\n\n const unselectAllListItems = (\n onChange: (value: NormalizedDropdownItemType<ValueType>[]) => void,\n ) => {\n const selectedItemsWithoutItemsInListItems = selectedItems.filter(\n selectedItem =>\n !listItemsWithoutSelectAll.some(\n listItem => listItem.value === selectedItem.value,\n ),\n );\n onChange(selectedItemsWithoutItemsInListItems);\n };\n\n return {\n addClickedItemToSelectedItems,\n allListItemsAreSelected,\n clickedItemIsInSelectedItems,\n clickedItemIsSelectAll,\n handleListItemClicked,\n hasSelectedItems,\n listItemsWithoutSelectAll,\n removeClickedItemFromSelectedItems,\n selectAllCheckboxState,\n selectAllUnselectedItemsInListItems,\n someListItemsAreSelected,\n unselectAllListItems,\n };\n};\n\n/* end multiselect utils */\n/* start a11y utils */\n\n// called when the state changes:\n// selectedItem, highlightedIndex, inputValue or isOpen.\nexport function getA11yStatusMessage<ValueType>(\n options: UseComboboxState<NormalizedDropdownItemType<ValueType>> & {\n selectAllItemIncluded?: boolean;\n resultCount: number;\n },\n): string {\n const { isOpen, selectAllItemIncluded = false, resultCount } = options;\n\n if (!isOpen) {\n return '';\n }\n\n const resultCountWithoutSelectAll = selectAllItemIncluded\n ? resultCount - 1\n : resultCount;\n\n if (resultCountWithoutSelectAll === 0) {\n return 'Ingen resultater';\n }\n\n return `${resultCountWithoutSelectAll} resultat${\n resultCountWithoutSelectAll === 1 ? '' : 'er'\n } tilgjengelig, naviger med pil opp eller ned, velg elementer med Enter.`;\n}\n/* end a11y utils */\n","/* eslint-disable no-warning-comments */\nimport React, { useCallback, useEffect, useRef, useState } from 'react';\nimport {\n UseComboboxState,\n UseComboboxStateChangeOptions,\n useCombobox,\n} from 'downshift';\nimport classNames from 'classnames';\nimport {\n useFloating,\n autoUpdate,\n offset,\n flip,\n shift,\n size,\n} from '@floating-ui/react-dom';\n\nimport { BaseFormControl } from '@entur/form';\nimport { space } from '@entur/tokens';\nimport { mergeRefs } from '@entur/utils';\n\nimport { DropdownList } from './components/DropdownList';\nimport { DropdownFieldAppendix } from './components/FieldComponents';\n\nimport { DropdownProps } from './Dropdown';\nimport { useResolvedItems } from './useResolvedItems';\nimport {\n clamp,\n EMPTY_INPUT,\n getA11yStatusMessage,\n isFunctionWithQueryArgument,\n itemToString,\n lowerCaseFilterTest,\n noFilter,\n} from './utils';\n\nimport { NormalizedDropdownItemType } from './types';\n\nimport './Dropdown.scss';\n\nexport type SearchableDropdownProps<ValueType> = DropdownProps<ValueType> & {\n /** Filtreringen som brukes når man skriver inn tekst i inputfeltet\n * @default Regex-test som sjekker om item.label inneholder input-teksten\n */\n itemFilter?: (\n item: NormalizedDropdownItemType<ValueType>,\n inputValue: string | undefined,\n ) => boolean;\n /** Antall millisekunder man venter etter tekstinput før det gjøres kall for å oppdatere items\n * Denne er kun relevant hvis du sender inn en funksjon som items.\n */\n debounceTimeout?: number;\n /** Tekst som kommer opp når det ikke er noe treff på filtreringsøket\n * @default \"Ingen treff for søket\"\n */\n noMatchesText?: string;\n /** Tekst for skjermleser som beskriver statusen til et element som valgt\n * @default \", valgt element, trykk for å fjerne\"\n */\n};\n\nexport const SearchableDropdown = React.forwardRef(\n <ValueType extends NonNullable<any>>(\n {\n ariaLabelChosenSingular,\n ariaLabelCloseList = 'Lukk liste med valg',\n ariaLabelOpenList = 'Åpne liste med valg',\n ariaLabelSelectedItem,\n className,\n clearable = true,\n debounceTimeout,\n disabled = false,\n disableLabelAnimation = false,\n feedback,\n items: initialItems,\n itemFilter = isFunctionWithQueryArgument(initialItems)\n ? noFilter\n : lowerCaseFilterTest,\n label,\n labelClearSelectedItem = 'fjern valgt',\n labelTooltip,\n listStyle,\n loading,\n loadingText = 'Laster resultater …',\n noMatchesText = 'Ingen tilgjengelige valg …',\n onChange = () => undefined,\n placeholder,\n prepend,\n readOnly = false,\n selectedItem: value,\n selectOnBlur = false,\n selectOnTab = false,\n style,\n variant = 'info',\n ...rest\n }: SearchableDropdownProps<ValueType>,\n ref: React.ForwardedRef<HTMLInputElement>,\n ) => {\n const [showSelectedItem, setShowSelectedItem] = useState(value !== null);\n const [lastHighlightedIndex, setLastHighlightedIndex] = useState(0);\n const inputRef = useRef<HTMLInputElement>(null);\n\n const {\n items: normalizedItems,\n loading: resolvedItemsLoading,\n fetchItems,\n } = useResolvedItems(initialItems, debounceTimeout);\n\n const [listItems, setListItems] = useState(normalizedItems);\n\n const filterListItems = ({ inputValue }: { inputValue: string }) =>\n setListItems(\n normalizedItems.filter(item => itemFilter(item, inputValue)),\n );\n\n const updateListItems = ({ inputValue }: { inputValue?: string }) => {\n const shouldRefetchItems = isFunctionWithQueryArgument(initialItems);\n if (shouldRefetchItems) fetchItems(inputValue ?? EMPTY_INPUT);\n\n filterListItems({ inputValue: inputValue ?? EMPTY_INPUT });\n };\n\n const resetInputState = ({\n changes,\n }: {\n changes: Partial<UseComboboxState<NormalizedDropdownItemType<ValueType>>>;\n }) => {\n updateListItems({ inputValue: EMPTY_INPUT });\n return {\n ...changes,\n inputValue: EMPTY_INPUT,\n };\n };\n\n const inputHasFocus =\n typeof document !== 'undefined'\n ? inputRef?.current === document?.activeElement\n : false;\n\n useEffect(() => {\n filterListItems({ inputValue });\n }, [normalizedItems]); // eslint-disable-line react-hooks/exhaustive-deps\n\n useEffect(() => {\n // sync internal state on initial render\n if (selectedItem !== null && !inputHasFocus) {\n setShowSelectedItem(true);\n updateListItems({ inputValue: EMPTY_INPUT });\n setInputValue(EMPTY_INPUT);\n }\n }, []);\n\n const stateReducer = useCallback(\n (\n state: UseComboboxState<NormalizedDropdownItemType<ValueType>>,\n {\n type,\n changes,\n }: UseComboboxStateChangeOptions<NormalizedDropdownItemType<ValueType>>,\n ) => {\n if (\n changes.highlightedIndex !== undefined &&\n changes?.highlightedIndex >= 0\n ) {\n setLastHighlightedIndex(changes?.highlightedIndex);\n }\n\n switch (type) {\n // empty input to show selected item and reset dropdown list on item selection\n case useCombobox.stateChangeTypes.ItemClick:\n case useCombobox.stateChangeTypes.InputKeyDownEnter:\n case useCombobox.stateChangeTypes.InputBlur:\n return resetInputState({ changes });\n case useCombobox.stateChangeTypes.ControlledPropUpdatedSelectedItem:\n if (changes.selectedItem !== null && !inputHasFocus)\n setShowSelectedItem(true);\n return resetInputState({ changes });\n // remove leading whitespace, select element with spacebar on empty input\n case useCombobox.stateChangeTypes.InputChange: {\n const leadingWhitespaceTest = /^\\s+/g;\n const isSpacePressedOnEmptyInput = changes.inputValue === ' ';\n if (!isSpacePressedOnEmptyInput) setLastHighlightedIndex(0);\n\n if (changes.inputValue?.match(leadingWhitespaceTest)) {\n const sanitizedInputValue = changes.inputValue.replace(\n leadingWhitespaceTest,\n EMPTY_INPUT,\n );\n if (isSpacePressedOnEmptyInput) {\n if (!state.isOpen)\n return {\n ...changes,\n inputValue: sanitizedInputValue,\n isOpen: true,\n };\n\n if (changes.highlightedIndex !== undefined) {\n return {\n ...changes,\n inputValue: sanitizedInputValue,\n selectedItem: listItems[changes.highlightedIndex],\n };\n }\n }\n }\n\n return { ...changes, highlightedIndex: 0 };\n }\n default:\n return changes;\n }\n },\n [fetchItems, filterListItems, inputHasFocus, resetInputState],\n );\n\n const {\n closeMenu,\n isOpen,\n getToggleButtonProps,\n getLabelProps,\n getMenuProps,\n getInputProps,\n highlightedIndex,\n getItemProps,\n selectedItem,\n inputValue,\n setInputValue,\n } = useCombobox({\n defaultHighlightedIndex: lastHighlightedIndex,\n items: listItems,\n itemToString,\n selectedItem: value,\n stateReducer,\n onInputValueChange(changes) {\n updateListItems({ inputValue: changes.inputValue });\n },\n onStateChange({ selectedItem: newSelectedItem }) {\n if (newSelectedItem === undefined) return;\n onChange(newSelectedItem);\n },\n // Accessibility\n getA11yStatusMessage: options =>\n getA11yStatusMessage({ ...options, resultCount: listItems.length }),\n });\n\n // calculations for floating-UI popover position\n const { refs, floatingStyles, update } = useFloating({\n open: isOpen,\n placement: 'bottom-start',\n middleware: [\n offset(space.extraSmall2),\n shift({ padding: space.extraSmall }),\n size({\n apply({ rects, elements, availableHeight }) {\n Object.assign(elements.floating.style, {\n width: `${rects.reference.width}px`,\n // Floating will flip when smaller than 10*16 px\n // and never exceed 20*16 px.\n maxHeight: `${clamp(10 * 16, availableHeight, 20 * 16)}px`,\n });\n },\n }),\n flip({ fallbackStrategy: 'initialPlacement' }),\n ],\n });\n\n // Update floating-ui position on scroll etc. Floating-ui's autoupdate is usually used inside\n // the useFloating hook but this requires the floating element to be conditionally rendered.\n // Downshift doesn't work correctly when conditionally rendered since props and refs aren't correctly\n // spread to the component. We therefor use this useEffect to update position. See https://floating-ui.com/docs/autoupdate#usage\n useEffect(() => {\n if (isOpen && refs.reference.current && refs.floating.current) {\n return autoUpdate(\n refs.reference.current,\n refs.floating.current,\n update,\n );\n }\n }, [isOpen, refs.reference, refs.floating, update]);\n\n const handleOnClear = () => {\n onChange(null);\n setInputValue(EMPTY_INPUT);\n inputRef.current?.focus();\n updateListItems({ inputValue });\n setShowSelectedItem(false);\n };\n\n return (\n <BaseFormControl\n className={classNames(\n 'eds-dropdown',\n 'eds-dropdown--searchable',\n className,\n { 'eds-dropdown--has-tooltip': labelTooltip !== undefined },\n )}\n disabled={disabled}\n disableLabelAnimation={disableLabelAnimation}\n feedback={feedback}\n isFilled={selectedItem !== null || inputValue !== EMPTY_INPUT}\n label={label}\n labelId={getLabelProps().id}\n labelProps={getLabelProps()}\n labelTooltip={labelTooltip}\n onClick={(e: React.MouseEvent) => {\n if (e.target === e.currentTarget) {\n getInputProps()?.onClick?.(e);\n }\n }}\n prepend={prepend}\n readOnly={readOnly}\n ref={refs.setReference}\n style={style}\n tabIndex={disabled || readOnly ? -1 : undefined}\n variant={variant}\n after={\n <DropdownList\n ariaLabelChosenSingular={ariaLabelChosenSingular}\n ariaLabelSelectedItem={ariaLabelSelectedItem}\n floatingStyles={floatingStyles}\n getItemProps={getItemProps}\n getMenuProps={getMenuProps}\n highlightedIndex={highlightedIndex}\n isOpen={isOpen}\n listItems={listItems}\n style={listStyle}\n setListRef={refs.setFloating}\n loading={loading ?? resolvedItemsLoading}\n loadingText={loadingText}\n noMatchesText={noMatchesText}\n selectedItems={selectedItem !== null ? [selectedItem] : []}\n readOnly={readOnly}\n />\n }\n {...rest}\n // Append is not supported as of now\n append={undefined}\n >\n <span\n className={classNames('eds-dropdown--searchable__selected-item', {\n 'eds-dropdown--searchable__selected-item--hidden':\n !showSelectedItem,\n })}\n onClick={event => {\n if (!disabled && !readOnly) {\n inputRef.current?.focus();\n getInputProps()?.onClick?.(event);\n }\n }}\n tabIndex={readOnly ? 0 : -1}\n >\n {showSelectedItem ? selectedItem?.label : ''}\n </span>\n <input\n className={classNames('eds-dropdown__input eds-form-control', {\n 'eds-dropdown__input--hidden': showSelectedItem,\n })}\n {...getInputProps({\n onKeyDown(e: React.KeyboardEvent) {\n if (isOpen && e.key === 'Tab') {\n const highlitedItem = listItems[highlightedIndex];\n // we don't want to clear selection with tab\n if (\n (selectOnTab || selectOnBlur) &&\n highlitedItem &&\n highlitedItem !== selectedItem\n ) {\n onChange?.(highlitedItem);\n }\n closeMenu();\n e.preventDefault();\n }\n },\n onBlur() {\n if (selectedItem !== null) setShowSelectedItem(true);\n },\n onFocus() {\n if (!readOnly) {\n setShowSelectedItem(false);\n }\n },\n disabled: disabled,\n readOnly: readOnly,\n placeholder: selectedItem?.label ?? placeholder,\n tabIndex: disabled || readOnly ? -1 : undefined,\n ref: mergeRefs(inputRef, ref),\n })}\n />\n <DropdownFieldAppendix\n {...getToggleButtonProps({\n 'aria-busy': !(loading ?? resolvedItemsLoading)\n ? undefined\n : 'true',\n })}\n ariaLabelCloseList={ariaLabelCloseList}\n ariaLabelOpenList={ariaLabelOpenList}\n clearable={clearable}\n disabled={disabled || readOnly}\n onClear={handleOnClear}\n focusable={false}\n labelClearSelected={labelClearSelectedItem}\n isOpen={isOpen}\n itemIsSelected={selectedItem !== null}\n loadingText={loadingText}\n loading={loading ?? resolvedItemsLoading}\n />\n </BaseFormControl>\n );\n },\n);\n","import React, {\n Dispatch,\n SetStateAction,\n useEffect,\n useRef,\n useState,\n} from 'react';\nimport classNames from 'classnames';\nimport {\n useMultipleSelection,\n useCombobox,\n UseComboboxStateChangeOptions,\n UseComboboxState,\n} from 'downshift';\nimport {\n useFloating,\n autoUpdate,\n offset,\n flip,\n shift,\n size,\n} from '@floating-ui/react-dom';\n\nimport { VisuallyHidden } from '@entur/a11y';\nimport { BaseFormControl } from '@entur/form';\nimport { space } from '@entur/tokens';\nimport { mergeRefs, useRandomId } from '@entur/utils';\n\nimport {\n DropdownFieldAppendix,\n SelectedItemTag,\n} from './components/FieldComponents';\nimport { DropdownList } from './components/DropdownList';\n\nimport { useResolvedItems } from './useResolvedItems';\nimport { DropdownProps } from './Dropdown';\nimport {\n clamp,\n EMPTY_INPUT,\n getA11yStatusMessage,\n isFunctionWithQueryArgument,\n itemToKey,\n itemToString,\n lowerCaseFilterTest,\n noFilter,\n useMultiselectUtils,\n} from './utils';\n\nimport { NormalizedDropdownItemType } from './types';\n\nimport './Dropdown.scss';\n\nexport type MultiSelectProps<ValueType> = Omit<\n DropdownProps<ValueType>,\n 'selectedItem' | 'onChange'\n> & {\n /** Elementer som er valgt blant 'items'. Bruk tom liste for ingen valgte\n */\n selectedItems: NormalizedDropdownItemType<ValueType>[];\n /** Callback med alle valgte verdier.\n * Bruk denne til å oppdatere selectedItems-listen */\n onChange?: (\n selectedItems: NormalizedDropdownItemType<ValueType>[],\n ) => void | Dispatch<SetStateAction<NormalizedDropdownItemType<ValueType>[]>>;\n /** Filtreringen som brukes når man skriver inn tekst i inputfeltet\n * @default Regex-test som sjekker om item.label inneholder input-teksten\n */\n itemFilter?: (\n item: NormalizedDropdownItemType<ValueType>,\n inputValue: string | undefined,\n ) => boolean;\n /** Skjuler «Velg alle» fra listen med valg\n * @default false\n */\n hideSelectAll?: boolean;\n /** Antall millisekunder man venter før man kaller en potensiell items-funksjon\n * @default 250\n */\n debounceTimeout?: number;\n /** Maks antall individuelle valgt-element-tags i MultiSelect-en før de blir til en samle-tag\n * @default 10\n */\n maxChips?: number;\n /** Resetter input etter at et element er valgt i listen\n * @default false\n */\n clearInputOnSelect?: boolean;\n /** Teksten som vises for «Velg alle»-elementet i listen\n * @default \"Velg alle\"\n */\n labelSelectAll?: string;\n /** Teksten som vises for «Velg alle»-elementet i listen\n * @default \"Alle valgt\"\n */\n labelAllItemsSelected?: string;\n /** Skjermleser-tekst som for å fjerne alle valg\n * @default \"Fjern valgte\"\n */\n labelClearAllItems?: string;\n /** Tekst for skjemleser på knapper for å fjerne valgt element\n * @default \"trykk for å fjerne valg\"\n */\n ariaLabelRemoveSelected?: string;\n /** Tekst for skjemleser for å indikere at et element er valgt\n * @default \"valgte\"\n */\n ariaLabelChosenPlural?: string;\n /** Tekst for skjemleser for å hoppe til input-feltet\n * @default `${selectedItems.length} valgte elementer, trykk for å hoppe til tekstfeltet`\n */\n ariaLabelJumpToInput?: string;\n};\n\nexport const MultiSelect = React.forwardRef(\n <ValueType extends NonNullable<any>>(\n {\n className,\n clearable = true,\n clearInputOnSelect = false,\n debounceTimeout,\n disabled = false,\n disableLabelAnimation,\n feedback,\n hideSelectAll = false,\n items: initialItems,\n itemFilter = isFunctionWithQueryArgument(initialItems)\n ? noFilter\n : lowerCaseFilterTest,\n label,\n labelAllItemsSelected = 'Alle valgt',\n labelClearAllItems = 'Fjern valgte',\n labelSelectAll = 'Velg alle',\n labelTooltip,\n listStyle,\n loading,\n loadingText = 'Laster resultater …',\n maxChips = 10,\n noMatchesText,\n onChange = () => undefined,\n placeholder,\n readOnly = false,\n selectedItems = [],\n selectOnBlur = false,\n selectOnTab = false,\n style,\n variant = 'information',\n ariaLabelChosenSingular,\n ariaLabelChosenPlural = 'valgte',\n ariaLabelCloseList = 'Lukk liste med valg',\n ariaLabelJumpToInput = `${selectedItems.length} valgte elementer, trykk for å hoppe til tekstfeltet`,\n ariaLabelOpenList = 'Åpne liste med valg',\n ariaLabelRemoveSelected = 'trykk for å fjerne valg',\n ariaLabelSelectedItem,\n ...rest\n }: MultiSelectProps<ValueType>,\n ref: React.ForwardedRef<HTMLInputElement>,\n ) => {\n const [lastHighlightedIndex, setLastHighlightedIndex] = React.useState(0);\n const inputRef = useRef<HTMLInputElement>(null);\n\n useEffect(() => {\n //@ts-expect-error this is done to aid developers debug wrong prop usage\n if (rest.selectedItem !== undefined)\n console.warn(\n \"Incorrect 'selectedItem' prop found, did you mean to use 'selectedItems?\",\n );\n //@ts-expect-error selectedItem should not actually exist in rest\n }, [rest.selectedItem]);\n\n const {\n items: normalizedItems,\n loading: resolvedItemsLoading,\n fetchItems,\n } = useResolvedItems(initialItems, debounceTimeout);\n\n const isAllNonAsyncItemsSelected =\n typeof initialItems !== 'function' &&\n selectedItems.length === normalizedItems.length;\n\n // special 'item' used as Select All entry in the dropdown list\n const selectAll: NormalizedDropdownItemType<string> = {\n value: useRandomId('select-all'),\n label: labelSelectAll,\n };\n // special 'item' used as a replacement selected item tag for when\n // there are more selected element than maxChips\n const summarySelectedItems: NormalizedDropdownItemType<string> =\n React.useMemo(\n () => ({\n value: EMPTY_INPUT,\n label: isAllNonAsyncItemsSelected\n ? labelAllItemsSelected\n : selectedItems.length + ' ' + ariaLabelChosenPlural,\n }),\n [\n isAllNonAsyncItemsSelected,\n selectedItems,\n labelAllItemsSelected,\n ariaLabelChosenPlural,\n ],\n );\n\n const [listItems, setListItems] = useState([\n ...(!hideSelectAll ? [selectAll] : []),\n ...normalizedItems,\n ]);\n\n const filterListItems = ({ inputValue }: { inputValue: string }) =>\n setListItems([\n ...(!hideSelectAll ? [selectAll] : []),\n ...normalizedItems.filter(item => itemFilter(item, inputValue)),\n ]);\n\n const updateListItems = ({ inputValue }: { inputValue?: string }) => {\n const shouldRefetchItems = isFunctionWithQueryArgument(initialItems);\n if (shouldRefetchItems) fetchItems(inputValue ?? EMPTY_INPUT);\n\n filterListItems({ inputValue: inputValue ?? EMPTY_INPUT });\n };\n\n React.useEffect(() => {\n filterListItems({ inputValue });\n }, [normalizedItems]); // eslint-disable-line react-hooks/exhaustive-deps\n\n const { hasSelectedItems, handleListItemClicked, selectAllCheckboxState } =\n useMultiselectUtils<ValueType>({\n listItems,\n selectAll,\n selectedItems,\n });\n\n const { getSelectedItemProps, getDropdownProps } = useMultipleSelection({\n selectedItems,\n // @ts-expect-error prop missing from library types\n itemToString,\n itemToKey,\n onStateChange({ selectedItems: newSelectedItems }) {\n if (newSelectedItems !== undefined) onChange(newSelectedItems);\n },\n });\n\n const stateReducer = React.useCallback(\n (\n state: UseComboboxState<NormalizedDropdownItemType<ValueType | string>>,\n {\n changes,\n type,\n }: UseComboboxStateChangeOptions<\n NormalizedDropdownItemType<ValueType | string>\n >,\n ) => {\n if (\n changes.highlightedIndex !== undefined &&\n changes?.highlightedIndex >= 0\n ) {\n setLastHighlightedIndex(changes?.highlightedIndex);\n }\n\n switch (type) {\n // reset input value when leaving input field\n case useCombobox.stateChangeTypes.InputBlur:\n if (state.isOpen) inputRef.current?.focus();\n return {\n ...changes,\n inputValue: EMPTY_INPUT,\n };\n // keep menu open and edit input value on item selection\n case useCombobox.stateChangeTypes.InputKeyDownEnter:\n case useCombobox.stateChangeTypes.ItemClick: {\n return {\n ...changes,\n isOpen: true,\n inputValue: clearInputOnSelect\n ? EMPTY_INPUT\n : inputRef?.current?.value ?? EMPTY_INPUT,\n };\n }\n // edit input value when selected items is updated outside component\n case useCombobox.stateChangeTypes.ControlledPropUpdatedSelectedItem: {\n return {\n ...changes,\n inputValue: inputRef?.current?.value ?? EMPTY_INPUT,\n };\n }\n // remove leading whitespace, select item with spacebar if input is empty and filter list items\n case useCombobox.stateChangeTypes.InputChange: {\n const leadingWhitespaceTest = /^\\s+/g;\n const isSpacePressedOnEmptyInput = changes.inputValue === ' ';\n if (changes.inputValue?.match(leadingWhitespaceTest)) {\n const sanitizedInputValue = changes.inputValue.replace(\n leadingWhitespaceTest,\n EMPTY_INPUT,\n );\n if (isSpacePressedOnEmptyInput) {\n if (!state.isOpen)\n return {\n ...changes,\n inputValue: sanitizedInputValue,\n isOpen: true,\n };\n\n if (changes.highlightedIndex !== undefined) {\n return {\n ...changes,\n inputValue: sanitizedInputValue,\n selectedItem: listItems[changes.highlightedIndex],\n };\n }\n }\n }\n\n return changes;\n }\n default:\n return changes;\n }\n },\n [hideSelectAll, normalizedItems, filterListItems, initialItems],\n );\n\n const {\n getInputProps,\n getItemProps,\n getLabelProps,\n getMenuProps,\n getToggleButtonProps,\n highlightedIndex,\n setHighlightedIndex,\n inputValue,\n isOpen,\n setInputValue,\n } = useCombobox({\n defaultHighlightedIndex: lastHighlightedIndex, // after selection, highlight previously selected item.\n items: listItems,\n itemToString,\n selectedItem: null,\n stateReducer,\n onInputValueChange(changes) {\n updateListItems({ inputValue: changes.inputValue });\n // set highlighted item to first item after search\n setHighlightedIndex(hideSelectAll ? 0 : 1);\n setLastHighlightedIndex(hideSelectAll ? 0 : 1);\n },\n onStateChange({ selectedItem: clickedItem }) {\n // clickedItem means item chosen either via mouse or keyboard\n if (!clickedItem) return;\n\n handleListItemClicked({\n clickedItem,\n onChange,\n });\n },\n // Accessibility\n getA11yStatusMessage: options =>\n getA11yStatusMessage({\n ...options,\n selectAllItemIncluded: !hideSelectAll,\n resultCount: listItems.length,\n }),\n ...rest,\n });\n\n // calculations for floating-UI popover position\n const { refs, floatingStyles, update } = useFloating({\n open: isOpen,\n placement: 'bottom-start',\n middleware: [\n offset(space.extraSmall2),\n shift({ padding: space.extraSmall }),\n size({\n apply({ rects, elements, availableHeight }) {\n Object.assign(elements.floating.style, {\n width: `${rects.reference.width}px`,\n // Floating will flip when smaller than 10*16 px\n // and never exceed 20*16 px.\n maxHeight: `${clamp(10 * 16, availableHeight, 20 * 16)}px`,\n });\n },\n }),\n flip({ fallbackStrategy: 'initialPlacement' }),\n ],\n });\n\n // Update floating-ui position on scroll etc. Floating-ui's autoupdate is usually used inside\n // the useFloating hook but this requires the floating element to be conditionally rendered.\n // Downshift doesn't work correctly when conditionally rendered since props and refs aren't correctly\n // spread to the component. We therefor use this useEffect to update position. See https://floating-ui.com/docs/autoupdate#usage\n useEffect(() => {\n if (isOpen && refs.reference.current && refs.floating.current) {\n return autoUpdate(\n refs.reference.current,\n refs.floating.current,\n update,\n );\n }\n }, [isOpen, refs.reference, refs.floating, update]);\n\n const handleOnClear = () => {\n onChange([]);\n setInputValue(EMPTY_INPUT);\n inputRef.current?.focus();\n updateListItems({ inputValue });\n };\n\n return (\n <BaseFormControl\n className={classNames(\n 'eds-dropdown',\n 'eds-dropdown--multiselect',\n className,\n { 'eds-dropdown--has-tooltip': labelTooltip !== undefined },\n )}\n disabled={disabled}\n disableLabelAnimation={disableLabelAnimation}\n feedback={feedback}\n isFilled={hasSelectedItems || inputValue !== EMPTY_INPUT}\n label={label}\n labelId={getLabelProps().id}\n labelProps={getLabelProps()}\n labelTooltip={labelTooltip}\n onBlur={() => setInputValue('')}\n onClick={(e: React.MouseEvent) => {\n if (e.target === e.currentTarget) {\n getInputProps()?.onClick?.(e);\n }\n }}\n readOnly={readOnly}\n ref={refs.setReference}\n style={style}\n variant={variant}\n after={\n <DropdownList\n ariaLabelChosenSingular={ariaLabelChosenSingular}\n ariaLabelSelectedItem={ariaLabelSelectedItem}\n floatingStyles={floatingStyles}\n getItemProps={getItemProps}\n getMenuProps={getMenuProps}\n highlightedIndex={highlightedIndex}\n isOpen={isOpen}\n listItems={listItems}\n style={listStyle}\n setListRef={refs.setFloating}\n loading={loading ?? resolvedItemsLoading}\n loadingText={loadingText}\n noMatchesText={noMatchesText}\n selectAllCheckboxState={selectAllCheckboxState}\n selectAllItem={selectAll}\n selectedItems={selectedItems}\n readOnly={readOnly}\n />\n }\n {...rest}\n >\n <div\n className={classNames(\n 'eds-dropdown--multiselect__selected-items-and-input',\n {\n 'eds-dropdown--multiselect__selected-items-and-input--filled':\n hasSelectedItems,\n },\n )}\n >\n {selectedItems.length > 1 ? (\n <VisuallyHidden onClick={inputRef.current?.focus}>\n {ariaLabelJumpToInput}\n </VisuallyHidden>\n ) : null}\n {selectedItems.length <= maxChips ? (\n selectedItems.map((selectedItem, index) => (\n <SelectedItemTag\n ariaLabelChosen={ariaLabelChosenSingular}\n ariaLabelRemoveSelected={ariaLabelRemoveSelected}\n disabled={disabled}\n getSelectedItemProps={getSelectedItemProps}\n index={index}\n key={\n selectedItem?.label +\n (typeof selectedItem?.value === 'string'\n ? selectedItem.value\n : '')\n }\n readOnly={readOnly}\n removeSelectedItem={() => {\n handleListItemClicked({\n clickedItem: selectedItem,\n onChange,\n });\n inputRef?.current?.focus();\n }}\n selectedItem={selectedItem}\n />\n ))\n ) : (\n <SelectedItemTag\n ariaLabelRemoveSelected={labelClearAllItems}\n ariaLabelChosen=\"\"\n disabled={disabled}\n readOnly={readOnly}\n removeSelectedItem={handleOnClear}\n selectedItem={summarySelectedItems}\n />\n )}\n <input\n {...getInputProps({\n onKeyDown: (e: React.KeyboardEvent) => {\n if (selectOnTab && isOpen && e.key === 'Tab') {\n const highlitedItem = listItems[highlightedIndex];\n // we don't want to clear selection with tab\n if (highlitedItem) {\n handleListItemClicked({\n clickedItem: highlitedItem,\n onChange,\n });\n }\n }\n },\n ...getDropdownProps({\n preventKeyAction: isOpen,\n value: inputValue ?? EMPTY_INPUT,\n ref: mergeRefs(inputRef, ref),\n }),\n className: 'eds-dropdown__input eds-form-control',\n disabled: readOnly || disabled,\n placeholder: placeholder,\n tabIndex: disabled || readOnly ? -1 : undefined,\n })}\n />\n </div>\n <DropdownFieldAppendix\n {...getToggleButtonProps({\n 'aria-busy': !(loading ?? resolvedItemsLoading)\n ? undefined\n : 'true',\n })}\n ariaLabelCloseList={ariaLabelCloseList}\n ariaLabelOpenList={ariaLabelOpenList}\n clearable={clearable}\n disabled={disabled || readOnly}\n onClear={handleOnClear}\n focusable={false}\n labelClearSelected={labelClearAllItems}\n isOpen={isOpen}\n itemIsSelected={selectedItems.length > 0}\n loadingText={loadingText}\n loading={loading ?? resolvedItemsLoading}\n />\n </BaseFormControl>\n );\n },\n);\n","import React, { Dispatch, SetStateAction, useEffect } from 'react';\nimport classNames from 'classnames';\nimport { useSelect } from 'downshift';\nimport {\n autoUpdate,\n flip,\n offset,\n shift,\n size,\n useFloating,\n} from '@floating-ui/react-dom';\n\nimport { BaseFormControl } from '@entur/form';\nimport { space } from '@entur/tokens';\nimport { mergeRefs, VariantType } from '@entur/utils';\n\nimport { DropdownList } from './components/DropdownList';\nimport { DropdownFieldAppendix } from './components/FieldComponents';\nimport { useResolvedItems } from './useResolvedItems';\nimport { clamp, itemToString } from './utils';\n\nimport {\n NormalizedDropdownItemType,\n PotentiallyAsyncDropdownItemType,\n} from './types';\n\nimport './Dropdown.scss';\n\n/** @deprecated use variant=\"information\" instead */\nconst info = 'info';\n/** @deprecated use variant=\"negative\" instead */\nconst error = 'error';\n\nexport type DropdownProps<ValueType> = {\n /** Tilgjengelige valg i dropdown-en */\n items: PotentiallyAsyncDropdownItemType<ValueType>;\n /** Valgt verdi. Bruk null for ingen verdi. */\n selectedItem: NormalizedDropdownItemType<ValueType> | null;\n /** Callback ved valg som skal oppdatere selectedItem */\n onChange?: (\n selectedItem: NormalizedDropdownItemType<ValueType> | null,\n ) => void | Dispatch<\n SetStateAction<NormalizedDropdownItemType<ValueType> | null>\n >;\n /** Beskrivende tekst som forklarer feltet */\n label: string;\n /** Placeholder-tekst når ingenting er satt */\n placeholder?: string;\n /** Om man skal ha mulighet for å nullstille Dropdown-en\n * @default false\n */\n clearable?: boolean;\n /** Lar brukeren velge ved å \"tab-e\" seg ut av komponenten */\n selectOnTab?: boolean;\n /**\n * @deprecated\n * Bruk selectOnTab i stedet\n *\n * Lar brukeren velge ved å \"tab-e\" seg ut av komponenten */\n selectOnBlur?: boolean;\n /** Deaktiver dropdown-en */\n disabled?: boolean;\n /** Setter dropdown-en i read-only modus */\n readOnly?: boolean;\n /** Hvilken valideringsvariant som gjelder */\n variant?: VariantType | typeof error | typeof info;\n /** Valideringsmelding, brukes sammen med `variant` */\n feedback?: string;\n /** Tekst eller ikon som kommer først i dropdown-feltet */\n prepend?: React.ReactNode;\n /** */\n loading?: boolean;\n /** En tekst som beskriver hva som skjer når man venter på items\n * @default 'Laster inn …'\n */\n loadingText?: string;\n /** Tekst som kommer opp når det ikke er noe elementer å vise\n * @default \"Ingen tilgjengelige valg …\"\n */\n noMatchesText?: string;\n /** Om man skal ha mulighet for å nullstille Dropdown-en\n * @default \"fjern valgt\"\n */\n labelClearSelectedItem?: string;\n /** En tooltip som gir ekstra info om inputfeltet */\n labelTooltip?: React.ReactNode;\n /** Plasserer labelen statisk på toppen av inputfeltet\n * @default false\n */\n disableLabelAnimation?: boolean;\n /** Ekstra klassenavn */\n className?: string;\n /** Styling som sendes ned til Dropdown-lista */\n listStyle?: { [key: string]: any };\n /** Styling for Dropdown-en */\n style?: { [key: string]: any };\n /** Tekst for skjemleser for knapp som lukker listen med valg\n * @default \"Lukk liste med valg\"\n */\n ariaLabelCloseList?: string;\n /** Tekst for skjemleser for knapp som åpner listen med valg\n * @default \"Åpne liste med valg\"\n */\n ariaLabelOpenList?: string;\n /** Ord for at et element er valgt i entall\n * eks. 'Element 1, _valgt_'\n * @default 'valgt'\n */\n ariaLabelChosenSingular?: string;\n /** Tekst for skjermleser som beskriver statusen til et element som valgt\n * @default ', valgt element, trykk for å fjerne'\n */\n ariaLabelSelectedItem?: string;\n};\n\nexport const Dropdown = React.forwardRef(\n <ValueType extends NonNullable<any>>(\n {\n ariaLabelChosenSingular,\n ariaLabelCloseList = 'Lukk liste med valg',\n ariaLabelOpenList = 'Åpne liste med valg',\n ariaLabelSelectedItem,\n className,\n clearable = false,\n disabled = false,\n disableLabelAnimation,\n feedback,\n items: initialItems,\n label,\n labelClearSelectedItem = 'fjern valgt',\n labelTooltip,\n listStyle,\n loading,\n loadingText = 'Laster resultater …',\n noMatchesText = 'Ingen tilgjengelige valg …',\n onChange,\n placeholder,\n prepend,\n readOnly = false,\n selectedItem,\n selectOnBlur = false,\n selectOnTab = false,\n style,\n variant = 'information',\n ...rest\n }: DropdownProps<ValueType>,\n ref: React.ForwardedRef<HTMLDivElement>,\n ) => {\n const { items: normalizedItems, loading: resolvedItemsLoading } =\n useResolvedItems(initialItems);\n const isFilled = selectedItem !== null || placeholder !== undefined;\n const {\n closeMenu,\n isOpen,\n getItemProps,\n getLabelProps,\n getMenuProps,\n getToggleButtonProps,\n highlightedIndex,\n reset,\n } = useSelect({\n items: normalizedItems,\n defaultHighlightedIndex: selectedItem ? undefined : 0,\n selectedItem,\n stateReducer(_, { changes, type }) {\n const toggleButtonIsFocused =\n typeof document !== 'undefined' &&\n document.activeElement === refs.reference.current;\n\n switch (type) {\n case useSelect.stateChangeTypes.ToggleButtonKeyDownArrowDown:\n case useSelect.stateChangeTypes.ToggleButtonKeyDownArrowUp:\n if (!toggleButtonIsFocused) return { ...changes, isOpen: false };\n }\n return changes;\n },\n onStateChange({ type, selectedItem: newSelectedItem }) {\n switch (type) {\n case useSelect.stateChangeTypes.ToggleButtonBlur:\n if (!selectOnBlur) return;\n }\n if (newSelectedItem === undefined) return;\n onChange?.(newSelectedItem ?? null);\n },\n itemToString,\n });\n\n // calculations for floating-UI popover position\n const { refs, floatingStyles, update } = useFloating<HTMLDivElement>({\n open: isOpen,\n placement: 'bottom-start',\n middleware: [\n offset(space.extraSmall2),\n shift({ padding: space.extraSmall }),\n size({\n apply({ rects, elements, availableHeight }) {\n Object.assign(elements.floating.style, {\n width: `${rects.reference.width}px`,\n // Floating will flip when smaller than 10*16 px\n // and never exceed 20*16 px.\n maxHeight: `${clamp(10 * 16, availableHeight, 20 * 16)}px`,\n });\n },\n }),\n flip({ fallbackStrategy: 'initialPlacement' }),\n ],\n });\n\n // Update floating-ui position on scroll etc. Floating-ui's autoupdate is usually used inside\n // the useFloating hook but this requires the floating element to be conditionally rendered.\n // Downshift doesn't work correctly when conditionally rendered since props and refs aren't correctly\n // spread to the component. We therefor use this useEffect to update position. See https://floating-ui.com/docs/autoupdate#usage\n useEffect(() => {\n if (isOpen && refs.reference.current && refs.floating.current) {\n return autoUpdate(\n refs.reference.current,\n refs.floating.current,\n update,\n );\n }\n }, [isOpen, refs.reference, refs.floating, update]);\n\n const handleOnClear = () => {\n reset();\n refs.reference.current?.focus();\n };\n\n return (\n <BaseFormControl\n className={classNames('eds-dropdown', className, {\n 'eds-dropdown--has-tooltip': labelTooltip !== undefined,\n })}\n disableLabelAnimation={disableLabelAnimation}\n feedback={feedback}\n isFilled={isFilled}\n labelProps={getLabelProps()}\n labelTooltip={labelTooltip}\n prepend={prepend}\n style={style}\n variant={variant}\n {...getToggleButtonProps({\n ref: mergeRefs(ref, refs.setReference),\n 'aria-disabled': disabled,\n 'aria-label': disabled ? 'Disabled dropdown' : '',\n disabled: disabled,\n readOnly: readOnly,\n label: label,\n labelId: getLabelProps()?.id,\n children: undefined,\n tabIndex: disabled || readOnly ? -1 : 0,\n onKeyDown(e) {\n if (isOpen && e.key === 'Tab') {\n const highlitedItem = normalizedItems[highlightedIndex];\n // we don't want to clear selection with tab\n if (\n (selectOnTab || selectOnBlur) &&\n highlitedItem &&\n highlitedItem !== selectedItem\n ) {\n onChange?.(highlitedItem);\n }\n closeMenu();\n e.preventDefault();\n }\n },\n })}\n after={\n <DropdownList\n ariaLabelChosenSingular={ariaLabelChosenSingular}\n ariaLabelSelectedItem={ariaLabelSelectedItem}\n floatingStyles={floatingStyles}\n getItemProps={getItemProps}\n getMenuProps={getMenuProps}\n highlightedIndex={highlightedIndex}\n isOpen={isOpen}\n listItems={normalizedItems}\n noMatchesText={noMatchesText}\n style={listStyle}\n setListRef={refs.setFloating}\n loading={loading ?? resolvedItemsLoading}\n loadingText={loadingText}\n selectedItems={selectedItem !== null ? [selectedItem] : []}\n readOnly={readOnly}\n />\n }\n {...rest}\n // Append is not supported as of now\n append={undefined}\n >\n <div className=\"eds-dropdown__selected-item\">\n {selectedItem?.label ?? (\n <div\n className={classNames(\n 'eds-dropdown__selected-item__placeholder',\n {\n 'eds-dropdown__selected-item__placeholder--readonly':\n readOnly,\n },\n )}\n >\n {placeholder}\n </div>\n )}\n </div>\n <DropdownFieldAppendix\n aria-busy={!(loading ?? resolvedItemsLoading) ? undefined : 'true'}\n aria-expanded={isOpen}\n clearable={clearable}\n onClear={handleOnClear}\n disabled={disabled || readOnly}\n focusable={false}\n labelClearSelected={labelClearSelectedItem}\n isOpen={isOpen}\n itemIsSelected={selectedItem !== null}\n ariaLabelCloseList={ariaLabelCloseList}\n ariaLabelOpenList={ariaLabelOpenList}\n loading={false}\n loadingText={undefined}\n />\n </BaseFormControl>\n );\n },\n);\n","import React, { forwardRef } from 'react';\nimport { BaseFormControl } from '@entur/form';\nimport { DownArrowIcon } from '@entur/icons';\nimport { LoadingDots } from '@entur/loader';\nimport { useRandomId, VariantType } from '@entur/utils';\n\nimport { useResolvedItems } from './useResolvedItems';\nimport {\n NormalizedDropdownItemType,\n PotentiallyAsyncDropdownItemType,\n} from './types';\n\nimport './Dropdown.scss';\n\n/** @deprecated use variant=\"information\" instead */\nconst info = 'info';\n/** @deprecated use variant=\"negative\" instead */\nconst error = 'error';\n\nexport type NativeDropdownProps<ValueType> = {\n /** Ekstra klassenavn */\n className?: string;\n /**\n * For å deaktivere dropdow-nen\n * @default false\n **/\n disabled?: boolean;\n /** Valideringsmelding, brukes sammen med `variant` */\n feedback?: string;\n /** Alle valg for dropdown-en å ha */\n items: PotentiallyAsyncDropdownItemType<ValueType>;\n /** Beskrivende tekst som forklarer feltet */\n label: string;\n /** En callback for endringer av value\n * Obs: merk at parameter her denne ikke er samme som i en HTML select.\n * Bruk { target } hvis du trenger info om select-elementet som ble trykket på\n */\n onChange?: ({\n value,\n selectedItem,\n target,\n }: {\n value: string;\n selectedItem: NormalizedDropdownItemType<ValueType> | null;\n target: EventTarget & HTMLSelectElement;\n }) => void;\n /** Tekst eller ikon som kommer før dropdown-en */\n prepend?: React.ReactNode;\n /**\n * Setter dropdown-en i read-only modus\n * @default false\n **/\n readOnly?: boolean;\n /** Den valgte verdien som NormalizedDropdownItemType\n * (Brukes når komponenten er 'controlled')\n */\n selectedItem?: NormalizedDropdownItemType<ValueType> | null;\n /** Den valgte verdien som sting\n * (Brukes når komponenten er 'controlled)\n */\n value?: string;\n /** Hvilken valideringsvariant som gjelder*/\n variant?: VariantType | typeof error | typeof info;\n /** Plasserer labelen statisk på toppen av inputfeltet\n * @default false\n */\n disableLabelAnimation?: boolean;\n [key: string]: any;\n};\n\nexport const NativeDropdown = forwardRef(\n <ValueType extends string | number>(\n {\n className,\n disabled = false,\n disableLabelAnimation,\n feedback,\n items,\n label,\n loadingText,\n onChange,\n prepend,\n readOnly = false,\n selectedItem,\n style,\n value,\n variant,\n ...rest\n }: NativeDropdownProps<ValueType>,\n ref: React.ForwardedRef<HTMLSelectElement>,\n ) => {\n const { items: normalizedItems, loading } =\n useResolvedItems<ValueType>(items);\n const nativeDropdownId = useRandomId('eds-dropdown-native');\n\n return (\n <BaseFormControl\n disabled={disabled}\n readOnly={readOnly}\n prepend={prepend}\n append={\n <FieldAppend\n hidden={disabled || readOnly}\n loading={loading}\n loadingText={loadingText}\n />\n }\n className={className}\n style={style}\n label={label}\n labelId={nativeDropdownId}\n variant={variant}\n feedback={feedback}\n disableLabelAnimation={disableLabelAnimation}\n isFilled={true}\n >\n <select\n aria-invalid={variant === 'negative' || variant === error}\n aria-labelledby={nativeDropdownId}\n aria-busy={loading}\n className=\"eds-form-control eds-dropdown--native\"\n disabled={disabled || readOnly}\n onChange={event => {\n onChange?.({\n value: event.target.value,\n selectedItem:\n normalizedItems.find(\n item => item.value === event.target.value,\n ) ?? null,\n target: event.target,\n });\n }}\n value={value ?? selectedItem?.value ?? undefined}\n ref={ref}\n {...rest}\n >\n {normalizedItems.map(item => (\n <option key={item.value} value={item.value}>\n {item.label}\n </option>\n ))}\n </select>\n </BaseFormControl>\n );\n },\n);\n\nconst FieldAppend = ({\n loading,\n loadingText,\n hidden,\n}: {\n loading: boolean;\n loadingText?: string;\n hidden: boolean;\n}) => {\n if (loading) {\n return (\n <div className=\"eds-dropdown-native__loading-dots\">\n <LoadingDots aria-label={loadingText} />\n </div>\n );\n }\n if (hidden) {\n return <></>;\n }\n return <DownArrowIcon inline />;\n};\n","import { warnAboutMissingStyles } from '@entur/utils';\nimport './index.scss';\n\nwarnAboutMissingStyles('dropdown', 'form', 'a11y', 'chip');\n\nexport type { NormalizedDropdownItemType, DropdownItemType } from './types';\n\nexport * from './SearchableDropdown';\nexport * from './MultiSelect';\nexport * from './Dropdown';\nexport * from './NativeDropdown';\nexport * from './types';\n"],"names":["DropdownList","_ref","_listItems$","_ref$ariaLabelChosenS","ariaLabelChosenSingular","_ref$ariaLabelSelecte","ariaLabelSelectedItem","getItemProps","getMenuProps","isOpen","highlightedIndex","listItems","floatingStyles","setListRef","_ref$loading","loading","_ref$loadingText","loadingText","_ref$noMatchesText","noMatchesText","selectAllCheckboxState","selectAllItem","selectedItems","_ref$readOnly","readOnly","rest","_objectWithoutPropertiesLoose","_excluded","isMultiselect","undefined","isNoMatches","length","value","isItemSelected","item","some","selectedItem","label","ariaValuesSelectAll","selected","selectAllListItemContent","React","createElement","Fragment","Checkbox","checked","className","tabIndex","isReactComponent","icon","$$typeof","listItemContent","VisuallyHidden","Array","isArray","icons","filter","map","Icon","index","_ref2","_Icon$displayName","key","displayName","name","inline","_extends","ref","style","display","_item$itemKey","_item$label","_item$value","_item$icons","itemKey","_ref3","_icon$displayName","join","itemIsSelectAll","classNames","SelectedItemTag","_getSelectedItemProps","ariaLabelRemoveSelected","_ref$ariaLabelChosen","ariaLabelChosen","disabled","getSelectedItemProps","removeSelectedItem","selectedItemProps","TagChip","size","onClose","e","stopPropagation","onClick","closeButtonAriaLabel","DropdownFieldAppendix","forwardRef","ariaLabelCloseList","ariaLabelOpenList","_ref3$clearable","clearable","labelClearSelected","_ref3$focusable","focusable","_ref3$loading","onClear","itemIsSelected","_excluded2","getToggleAriaLabel","ClearableButton","labelClearSelectedItems","IconButton","type","DownArrowIcon","LoadingDots","_ref4","_ref4$labelClearSelec","_ref4$focusable","Tooltip","placement","content","onKeyDown","preventDefault","CloseSmallIcon","useNormalizedItems","items","useMemo","useResolvedItems","itemsOrItemsResolver","debounceTimeout","itemsIsAFunction","_React$useState","useState","setItems","_React$useState2","setLoading","abortControllerRef","useRef","AbortController","itemsResolver","Promise","resolve","updateItems","_asyncToGenerator","_regeneratorRuntime","mark","_callee","inputValue","_abortControllerRef$c","abortController","_abortControllerRef$c2","resolvedItems","wrap","_callee$","_context","prev","next","current","abort","sent","signal","aborted","console","warn","abrupt","t0","stop","_x","apply","arguments","debouncedFetchItems","useDebounce","normalizedItems","useEffect","_abortControllerRef$c3","fetchItems","EMPTY_INPUT","lowerCaseFilterTest","input","sanitizeEscapeCharacters","replace","inputRegex","RegExp","test","noFilter","itemToString","itemToKey","isFunctionWithQueryArgument","object","clamp","val","min","max","Math","useMultiselectUtils","selectAll","hasSelectedItems","listItemsWithoutSelectAll","unselectedItemsInListItems","listItem","allListItemsAreSelected","someListItemsAreSelected","addClickedItemToSelectedItems","clickedItem","onChange","concat","clickedItemIsInSelectedItems","clickedItemIsSelectAll","handleListItemClicked","unselectAllListItems","selectAllUnselectedItemsInListItems","removeClickedItemFromSelectedItems","selectedItemsWithoutItemsInListItems","getA11yStatusMessage","options","_options$selectAllIte","selectAllItemIncluded","resultCount","resultCountWithoutSelectAll","SearchableDropdown","_document","_selectedItem$label","_ref$ariaLabelCloseLi","_ref$ariaLabelOpenLis","_ref$clearable","_ref$disabled","_ref$disableLabelAnim","disableLabelAnimation","feedback","initialItems","_ref$itemFilter","itemFilter","_ref$labelClearSelect","labelClearSelectedItem","labelTooltip","listStyle","_ref$onChange","placeholder","prepend","_ref$selectOnBlur","selectOnBlur","_ref$selectOnTab","selectOnTab","_ref$variant","variant","_useState","showSelectedItem","setShowSelectedItem","_useState2","lastHighlightedIndex","setLastHighlightedIndex","inputRef","_useResolvedItems","resolvedItemsLoading","_useState3","setListItems","filterListItems","updateListItems","shouldRefetchItems","resetInputState","changes","inputHasFocus","document","activeElement","setInputValue","stateReducer","useCallback","state","_ref5","useCombobox","stateChangeTypes","ItemClick","InputKeyDownEnter","InputBlur","ControlledPropUpdatedSelectedItem","InputChange","_changes$inputValue","leadingWhitespaceTest","isSpacePressedOnEmptyInput","match","sanitizedInputValue","_useCombobox","defaultHighlightedIndex","onInputValueChange","onStateChange","_ref6","newSelectedItem","closeMenu","getToggleButtonProps","getLabelProps","getInputProps","_useFloating","useFloating","open","middleware","offset","space","extraSmall2","shift","padding","extraSmall","_ref7","rects","elements","availableHeight","Object","assign","floating","width","reference","maxHeight","flip","fallbackStrategy","refs","update","autoUpdate","handleOnClear","_inputRef$current","focus","BaseFormControl","isFilled","labelId","id","labelProps","target","currentTarget","_getInputProps","setReference","after","setFloating","append","event","_inputRef$current2","_getInputProps2","highlitedItem","onBlur","onFocus","mergeRefs","MultiSelect","_inputRef$current5","_ref$clearInputOnSele","clearInputOnSelect","_ref$hideSelectAll","hideSelectAll","_ref$labelAllItemsSel","labelAllItemsSelected","_ref$labelClearAllIte","labelClearAllItems","_ref$labelSelectAll","labelSelectAll","_ref$maxChips","maxChips","_ref$selectedItems","_ref$ariaLabelChosenP","ariaLabelChosenPlural","_ref$ariaLabelJumpToI","ariaLabelJumpToInput","_ref$ariaLabelRemoveS","isAllNonAsyncItemsSelected","useRandomId","summarySelectedItems","_useMultiselectUtils","_useMultipleSelection","useMultipleSelection","newSelectedItems","getDropdownProps","_inputRef$current$val","_inputRef$current$val2","_inputRef$current3","setHighlightedIndex","_inputRef$current4","_inputRef$current6","preventKeyAction","Dropdown","_getLabelProps","_useSelect","useSelect","_","toggleButtonIsFocused","ToggleButtonKeyDownArrowDown","ToggleButtonKeyDownArrowUp","ToggleButtonBlur","reset","_refs$reference$curre","children","error","NativeDropdown","nativeDropdownId","FieldAppend","hidden","_normalizedItems$find","find","warnAboutMissingStyles"],"mappings":"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"}
1
+ {"version":3,"file":"dropdown.cjs.development.js","sources":["../src/components/DropdownList.tsx","../src/components/FieldComponents.tsx","../src/useNormalizedItems.ts","../src/useResolvedItems.ts","../src/utils.ts","../src/SearchableDropdown.tsx","../src/MultiSelect.tsx","../src/Dropdown.tsx","../src/NativeDropdown.tsx","../src/index.tsx"],"sourcesContent":["import React from 'react';\nimport classNames from 'classnames';\nimport { UseComboboxPropGetters, UseSelectPropGetters } from 'downshift';\n\nimport { VisuallyHidden } from '@entur/a11y';\nimport { Checkbox } from '@entur/form';\n\nimport { NormalizedDropdownItemType } from '../types';\n\nimport './DropdownList.scss';\n\ntype DropdownListProps<ValueType> = {\n ariaLabelChosenSingular?: string;\n ariaLabelSelectedItem?: string;\n getMenuProps:\n | UseComboboxPropGetters<ValueType>['getMenuProps']\n | UseSelectPropGetters<ValueType>['getMenuProps'];\n getItemProps:\n | UseComboboxPropGetters<ValueType>['getItemProps']\n | UseSelectPropGetters<ValueType>['getItemProps'];\n highlightedIndex: number;\n isOpen: boolean;\n listItems: NormalizedDropdownItemType<ValueType | string>[];\n floatingStyles: { [key: string]: any } | undefined;\n setListRef: (node: HTMLElement | null) => void;\n loading?: boolean;\n loadingText?: string;\n noMatchesText?: string;\n selectAllCheckboxState?: () => boolean | 'indeterminate';\n selectAllItem?: NormalizedDropdownItemType<string>;\n selectedItems: NormalizedDropdownItemType<ValueType>[];\n style?: React.CSSProperties;\n readOnly?: boolean;\n};\n\nexport const DropdownList = <ValueType extends NonNullable<any>>({\n ariaLabelChosenSingular = 'valgt',\n ariaLabelSelectedItem = ', valgt element, trykk for å fjerne',\n getItemProps,\n getMenuProps,\n isOpen,\n highlightedIndex,\n listItems,\n floatingStyles,\n setListRef,\n loading = false,\n loadingText = 'Laster inn …',\n noMatchesText = 'Ingen treff for søket',\n selectAllCheckboxState,\n selectAllItem,\n selectedItems,\n readOnly = false,\n ...rest\n}: DropdownListProps<ValueType>) => {\n const isMultiselect = selectAllItem !== undefined;\n const isNoMatches =\n !loading &&\n (listItems.length === 0 ||\n (listItems?.length === 1 &&\n listItems?.[0]?.value === selectAllItem?.value));\n const isItemSelected = (\n item: NormalizedDropdownItemType<ValueType | string>,\n ) =>\n selectedItems.some(\n selectedItem =>\n selectedItem?.value === item?.value &&\n selectedItem?.label === item?.label,\n );\n\n const ariaValuesSelectAll = () => {\n switch (selectAllCheckboxState?.()) {\n case 'indeterminate': {\n return {\n label: `${selectAllItem?.label}, delvis valgt`,\n selected: false,\n };\n }\n case true: {\n return {\n label: `${selectAllItem?.label}, ${ariaLabelChosenSingular}`,\n selected: true,\n };\n }\n default: {\n return { label: `${selectAllItem?.label}`, selected: false };\n }\n }\n };\n\n const selectAllListItemContent = () => (\n <>\n <Checkbox\n aria-hidden=\"true\"\n checked={selectAllCheckboxState?.()}\n className=\"eds-dropdown__list__item__checkbox\"\n tabIndex={-1}\n onChange={() => undefined}\n />\n <span\n className=\"eds-dropdown__list__item__text\"\n aria-label={ariaValuesSelectAll().label}\n >\n {selectAllItem?.label}\n </span>\n </>\n );\n\n const isReactComponent = (icon: any): icon is React.ComponentType<any> => {\n return (\n typeof icon === 'function' ||\n (typeof icon === 'object' &&\n icon !== null &&\n '$$typeof' in icon &&\n typeof icon.$$typeof === 'symbol')\n );\n };\n\n const listItemContent = (item: NormalizedDropdownItemType<ValueType>) => {\n return (\n <>\n {isMultiselect && (\n <Checkbox\n aria-hidden=\"true\"\n checked={isItemSelected(item)}\n className=\"eds-dropdown__list__item__checkbox\"\n tabIndex={-1}\n onChange={() => undefined}\n />\n )}\n <span className=\"eds-dropdown__list__item__text\">\n {item.label}\n <VisuallyHidden>\n {isItemSelected(item) ? ariaLabelSelectedItem : ''}\n </VisuallyHidden>\n </span>\n {Array.isArray(item.icons)\n ? item.icons.filter(isReactComponent).map((Icon, index) => {\n const key = `${\n Icon.displayName ?? Icon.name ?? Icon.name\n }-${index}`;\n return (\n <Icon\n key={key}\n inline\n className=\"eds-dropdown__list__item__icon\"\n />\n );\n })\n : null}\n </>\n );\n };\n\n return (\n // use popover from @entur/tooltip when that package upgrades to floating-ui\n <ul\n {...getMenuProps({\n 'aria-multiselectable': isMultiselect,\n ref: setListRef,\n className: 'eds-dropdown__list',\n style: {\n ...floatingStyles,\n display: isOpen && !readOnly ? undefined : 'none',\n ...rest.style,\n },\n })}\n >\n {(() => {\n if (!isOpen || readOnly) {\n return null;\n }\n\n if (loading) {\n return (\n <li\n key=\"dropdown-list-loading\"\n className=\"eds-dropdown__list__item\"\n >\n {loadingText}\n </li>\n );\n }\n\n if (isNoMatches) {\n return (\n <li\n key=\"dropdown-list-no-match\"\n className=\"eds-dropdown__list__item\"\n >\n {noMatchesText}\n </li>\n );\n }\n\n return listItems.map((item, index) => {\n const key =\n item.itemKey ??\n `${item.label ?? ''}-${item.value ?? ''}-${(item.icons ?? [])\n .map(icon => icon?.displayName ?? icon?.name ?? 'unknown')\n .join('-')}`;\n const itemIsSelectAll = item.value === selectAllItem?.value;\n if (itemIsSelectAll && listItems.length <= 2) return null;\n return (\n <li\n className={classNames('eds-dropdown__list__item', {\n 'eds-dropdown__list__item--select-all': itemIsSelectAll,\n 'eds-dropdown__list__item--highlighted':\n highlightedIndex === index,\n 'eds-dropdown__list__item--selected':\n !isMultiselect && isItemSelected(item),\n })}\n key={key}\n {...getItemProps({\n // @ts-expect-error Since getItemProps expects the same item type\n // here as items, it throws error when selectAllItem is a string.\n // This does, however, not cause any functional issues.\n item,\n index,\n 'aria-selected': itemIsSelectAll\n ? ariaValuesSelectAll().selected\n : isItemSelected(item),\n })}\n >\n {itemIsSelectAll\n ? selectAllListItemContent()\n : listItemContent(\n item as NormalizedDropdownItemType<ValueType>,\n )}\n </li>\n );\n });\n })()}\n </ul>\n );\n};\n","import React, { forwardRef } from 'react';\nimport classNames from 'classnames';\nimport {\n UseComboboxGetToggleButtonPropsReturnValue,\n UseMultipleSelectionGetSelectedItemPropsOptions,\n} from 'downshift';\n\nimport { IconButton } from '@entur/button';\nimport { TagChip } from '@entur/chip';\nimport { CloseSmallIcon, DownArrowIcon } from '@entur/icons';\nimport { LoadingDots } from '@entur/loader';\nimport { Tooltip } from '@entur/tooltip';\n\nimport { NormalizedDropdownItemType } from '../types';\n\nimport './FieldComponents.scss';\n\nexport const SelectedItemTag = <ValueType extends NonNullable<any>>({\n ariaLabelRemoveSelected,\n ariaLabelChosen = 'valgt',\n disabled,\n getSelectedItemProps,\n index,\n readOnly,\n removeSelectedItem,\n selectedItem,\n}: {\n ariaLabelRemoveSelected: string;\n ariaLabelChosen?: string;\n disabled?: boolean;\n getSelectedItemProps?: (\n options: UseMultipleSelectionGetSelectedItemPropsOptions<\n NormalizedDropdownItemType<ValueType>\n >,\n ) => any;\n index?: number;\n readOnly?: boolean;\n removeSelectedItem: (item: NormalizedDropdownItemType<ValueType>) => void;\n selectedItem: NormalizedDropdownItemType<ValueType>;\n}) => {\n const { tabIndex: _, ...selectedItemProps } =\n getSelectedItemProps?.({\n selectedItem,\n index,\n }) ?? {};\n return (\n <TagChip\n size=\"small\"\n className={classNames('eds-dropdown__selected-item-tag', {\n 'eds-dropdown__selected-item-tag--readonly': readOnly,\n 'eds-dropdown__selected-item-tag--disabled': disabled,\n })}\n {...selectedItemProps}\n onClose={(e: React.MouseEvent<HTMLButtonElement>) => {\n e.stopPropagation();\n removeSelectedItem(selectedItem);\n }}\n onClick={(e: React.MouseEvent) => e.stopPropagation()}\n closeButtonAriaLabel={`${selectedItem.label} ${ariaLabelChosen}, ${ariaLabelRemoveSelected} `}\n key={selectedItem.value}\n aria-live=\"polite\"\n >\n <span\n aria-hidden=\"true\"\n className=\"eds-dropdown__selected-item-tag__text\"\n >\n {selectedItem.label}\n </span>\n </TagChip>\n );\n};\n\ntype FieldAppendProps = Partial<UseComboboxGetToggleButtonPropsReturnValue> & {\n ariaLabelCloseList: string;\n ariaLabelOpenList: string;\n clearable?: boolean;\n labelClearSelected: string;\n disabled?: boolean;\n focusable?: boolean;\n isOpen: boolean;\n loading: boolean;\n loadingText: string | undefined;\n onClear: () => void;\n itemIsSelected: boolean;\n};\n\nexport const DropdownFieldAppendix = forwardRef(\n (\n {\n ariaLabelCloseList,\n ariaLabelOpenList,\n clearable = false,\n labelClearSelected,\n focusable = false,\n disabled,\n isOpen,\n loading = false,\n loadingText,\n onClear,\n itemIsSelected,\n ...rest\n }: FieldAppendProps,\n ref: React.ForwardedRef<HTMLButtonElement>,\n ) => {\n function getToggleAriaLabel() {\n if (loading) return loadingText;\n if (isOpen) return ariaLabelCloseList;\n return ariaLabelOpenList;\n }\n\n return (\n <>\n {!disabled && (\n <div className=\"eds-dropdown__appendix\">\n {clearable && itemIsSelected && (\n <ClearableButton\n onClear={onClear}\n focusable={true}\n labelClearSelectedItems={labelClearSelected}\n />\n )}\n\n <IconButton\n className={classNames('eds-dropdown__appendix__toggle-button', {\n 'eds-dropdown__appendix__toggle-button--open': isOpen,\n })}\n ref={ref}\n aria-label={getToggleAriaLabel()}\n {...rest}\n type=\"button\"\n tabIndex={focusable ? 0 : -1}\n >\n {!loading ? (\n <DownArrowIcon aria-hidden=\"true\" />\n ) : (\n <LoadingDots aria-hidden=\"true\" />\n )}\n </IconButton>\n </div>\n )}\n </>\n );\n },\n);\n\nexport const ClearableButton = ({\n onClear,\n labelClearSelectedItems = 'Fjern valgte',\n focusable = false,\n}: {\n onClear: () => void;\n labelClearSelectedItems?: string;\n focusable?: boolean;\n ariaLabelClearItems?: string;\n}) => {\n return (\n <>\n <Tooltip\n aria-hidden=\"true\"\n placement=\"top\"\n content={labelClearSelectedItems}\n className=\"eds-dropdown__appendix__clear-button__tooltip\"\n >\n <IconButton\n className=\"eds-dropdown__appendix__clear-button\"\n type=\"button\"\n tabIndex={focusable ? 0 : -1}\n // These events bubble up to the Dropdown container and trigger openMenu.\n // To avoid this, stopPropagation and preventDefault are added.\n onClick={e => {\n e.stopPropagation();\n onClear();\n }}\n onKeyDown={e => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n e.stopPropagation();\n onClear();\n }\n }}\n aria-label={labelClearSelectedItems}\n >\n <CloseSmallIcon aria-hidden=\"true\" />\n </IconButton>\n </Tooltip>\n <div className=\"eds-dropdown__appendix__divider\" />\n </>\n );\n};\n","import React from 'react';\n\nimport { DropdownItemType, NormalizedDropdownItemType } from './types';\n\nexport const useNormalizedItems = <ValueType = string>(\n items: DropdownItemType<ValueType>[],\n): NormalizedDropdownItemType<ValueType>[] =>\n React.useMemo(\n () =>\n items.map(item => {\n if (typeof item == 'string') {\n return {\n value: item as ValueType,\n label: item,\n };\n }\n\n if (item?.value === undefined) {\n return {\n ...item,\n value: item.label as ValueType,\n };\n }\n return { ...item, value: item.value };\n }),\n [items],\n );\n","import React from 'react';\n\nimport { useDebounce } from '@entur/utils';\n\nimport { useNormalizedItems } from './useNormalizedItems';\n\nimport {\n PotentiallyAsyncDropdownItemType,\n DropdownItemType,\n NormalizedDropdownItemType,\n AsyncDropdownItemType,\n} from './types';\n\nexport const useResolvedItems = <ValueType extends NonNullable<any>>(\n /** The list of items, or an async function that resolves the list of items */\n itemsOrItemsResolver: PotentiallyAsyncDropdownItemType<ValueType>,\n /** The time to wait after the input changes to the fetchItems method is called */\n debounceTimeout = 250,\n): {\n fetchItems: (query?: string) => void;\n loading: boolean;\n items: NormalizedDropdownItemType<ValueType>[];\n} => {\n const itemsIsAFunction = typeof itemsOrItemsResolver === 'function';\n\n const [items, setItems] = React.useState<DropdownItemType<ValueType>[]>(\n itemsIsAFunction ? [] : itemsOrItemsResolver,\n );\n const [loading, setLoading] = React.useState(false);\n\n const abortControllerRef = React.useRef<AbortController>(\n new AbortController(),\n );\n\n // We normalize the itemsResolver argument to an async function, so we\n // can use it without thinking about the differences later\n const itemsResolver = React.useMemo(() => {\n if (itemsIsAFunction)\n return itemsOrItemsResolver as AsyncDropdownItemType<ValueType>;\n return () =>\n Promise.resolve(itemsOrItemsResolver as DropdownItemType<ValueType>[]);\n }, [itemsOrItemsResolver, itemsIsAFunction]);\n\n // This should be called whenever the input value changes\n const updateItems = async (inputValue?: string) => {\n // The abortController handles cleanup of the previous request and unmounting\n if (abortControllerRef?.current) abortControllerRef?.current?.abort();\n const abortController = new AbortController();\n abortControllerRef.current = abortController;\n\n setLoading(true);\n\n try {\n const resolvedItems = await itemsResolver(\n inputValue ?? '',\n abortControllerRef,\n );\n\n if (abortControllerRef?.current?.signal?.aborted) {\n console.warn(\n 'Avbryt den asynkrone funksjonen din med signalet fra AbortController-en for å for å unngå minnelekkasje.',\n 'Funksjonen bør kaste en DOMException med navnet \"AbortError\" når den avbrytes.',\n '',\n '\\n\\nSe eksempel her: https://linje.entur.no/komponenter/skjemaelementer/dropdown#s%C3%B8kbar-dropdown-med-valg-fra-nettverkskall-bassert-p%C3%A5-tekstinput',\n '\\nLes mer om AbortController her: https://developer.mozilla.org/en-US/docs/Web/API/AbortController',\n );\n return;\n }\n\n setLoading(false);\n setItems(resolvedItems);\n } catch (error) {\n if (\n error &&\n typeof error === 'object' &&\n 'name' in error &&\n error.name === 'AbortError'\n ) {\n // Stop execution if the request was aborted\n return;\n }\n console.warn(\n 'The following error was received but not handled inside Entur Designsystems useResolvedItems hook:',\n );\n throw error;\n }\n };\n\n const debouncedFetchItems = useDebounce(updateItems, debounceTimeout);\n const normalizedItems = useNormalizedItems(items);\n\n React.useEffect(() => {\n // send abort signal to previous request on unmount for cleanup\n return () => abortControllerRef?.current?.abort('Component unmounted');\n }, []);\n\n React.useEffect(() => {\n // Let's fetch the list initially if it's specified\n if (itemsIsAFunction) {\n debouncedFetchItems('');\n }\n }, [itemsIsAFunction, itemsResolver]);\n\n return {\n items: normalizedItems,\n loading: itemsIsAFunction ? loading : false,\n fetchItems: debouncedFetchItems,\n };\n};\n","import { UseComboboxState } from 'downshift';\nimport { NormalizedDropdownItemType } from './types';\n\n// Redeclare forwardRef\ndeclare module 'react' {\n function forwardRef<T, P = object>(\n render: (props: P, ref: React.Ref<T>) => React.ReactElement | null,\n ): (props: P & React.RefAttributes<T>) => React.ReactElement | null;\n}\n\n/* start general utils */\nexport const EMPTY_INPUT = '';\n\nexport function lowerCaseFilterTest(\n item: NormalizedDropdownItemType<any>,\n input: string | undefined,\n) {\n if (!input) {\n return true;\n }\n const sanitizeEscapeCharacters = input.replace(\n /[-/\\\\^$*+?.()|[\\]{}]/g,\n '\\\\$&',\n );\n const inputRegex = new RegExp(sanitizeEscapeCharacters, 'i');\n return inputRegex.test(item.label);\n}\n\nexport function noFilter<ValueType>(\n //@ts-expect-error only here to comply with dropdown filter API\n item: NormalizedDropdownItemType<ValueType>,\n //@ts-expect-error only here to comply with dropdown filter API\n input: string | undefined,\n) {\n return true;\n}\n\nexport const itemToString = (item: NormalizedDropdownItemType<any> | null) =>\n item ? item.label : '';\n\nexport const itemToKey = (item: NormalizedDropdownItemType<any> | null) =>\n item?.label + item?.value;\n\nexport const isFunctionWithQueryArgument = (object: any) =>\n typeof object === 'function' && object.length > 0;\n\nexport const clamp = (val: number, min = 1, max = 10) =>\n Math.min(Math.max(val, min), max);\n\n/* end general utils */\n/* start multiselect utils */\n\ntype useMultiselectUtilsType<ValueType> = {\n selectedItems: NormalizedDropdownItemType<ValueType>[];\n listItems: NormalizedDropdownItemType<ValueType | string>[];\n selectAll: NormalizedDropdownItemType<string>;\n};\n\nexport const useMultiselectUtils = <ValueType>({\n listItems,\n selectedItems,\n selectAll,\n}: useMultiselectUtilsType<ValueType>) => {\n const hasSelectedItems = selectedItems.length > 0;\n\n const listItemsWithoutSelectAll = listItems.filter(\n item => item.value !== selectAll.value,\n ) as NormalizedDropdownItemType<ValueType>[];\n\n const unselectedItemsInListItems = listItemsWithoutSelectAll.filter(\n listItem =>\n !selectedItems.some(\n selectedItem => selectedItem.value === listItem.value,\n ),\n );\n\n const allListItemsAreSelected = !listItemsWithoutSelectAll.some(\n listItem =>\n !selectedItems.some(\n selectedItem => selectedItem.value === listItem.value,\n ),\n );\n\n const someListItemsAreSelected = listItemsWithoutSelectAll.some(listItem =>\n selectedItems.some(selectedItem => selectedItem.value === listItem.value),\n );\n\n const addClickedItemToSelectedItems = (\n clickedItem: NormalizedDropdownItemType<ValueType>,\n onChange: (value: NormalizedDropdownItemType<ValueType>[]) => void,\n ) => onChange([...selectedItems, clickedItem]);\n\n const clickedItemIsInSelectedItems = (\n clickedItem: NormalizedDropdownItemType<ValueType>,\n ) =>\n selectedItems.some(\n selectedItem => selectedItem.value === clickedItem.value,\n );\n\n const clickedItemIsSelectAll = (\n clickedItem: NormalizedDropdownItemType<string | ValueType>,\n ): clickedItem is NormalizedDropdownItemType<string> =>\n clickedItem.value === selectAll.value;\n\n const handleListItemClicked = ({\n clickedItem,\n onChange,\n }: {\n clickedItem: NormalizedDropdownItemType<any>;\n onChange: (value: NormalizedDropdownItemType<ValueType>[]) => void;\n }) => {\n if (clickedItemIsSelectAll(clickedItem)) {\n if (allListItemsAreSelected) {\n return unselectAllListItems(onChange);\n }\n return selectAllUnselectedItemsInListItems(onChange);\n }\n\n if (clickedItemIsInSelectedItems(clickedItem)) {\n return removeClickedItemFromSelectedItems(clickedItem, onChange);\n }\n addClickedItemToSelectedItems(clickedItem, onChange);\n };\n\n const removeClickedItemFromSelectedItems = (\n clickedItem: NormalizedDropdownItemType<ValueType>,\n onChange: (value: NormalizedDropdownItemType<ValueType>[]) => void,\n ) =>\n onChange(\n selectedItems.filter(\n selectedItem => selectedItem.value !== clickedItem.value,\n ),\n );\n\n const selectAllCheckboxState = () => {\n if (allListItemsAreSelected) return true;\n if (someListItemsAreSelected) return 'indeterminate';\n return false;\n };\n\n const selectAllUnselectedItemsInListItems = (\n onChange: (value: NormalizedDropdownItemType<ValueType>[]) => void,\n ) => {\n onChange([...selectedItems, ...unselectedItemsInListItems]);\n };\n\n const unselectAllListItems = (\n onChange: (value: NormalizedDropdownItemType<ValueType>[]) => void,\n ) => {\n const selectedItemsWithoutItemsInListItems = selectedItems.filter(\n selectedItem =>\n !listItemsWithoutSelectAll.some(\n listItem => listItem.value === selectedItem.value,\n ),\n );\n onChange(selectedItemsWithoutItemsInListItems);\n };\n\n return {\n addClickedItemToSelectedItems,\n allListItemsAreSelected,\n clickedItemIsInSelectedItems,\n clickedItemIsSelectAll,\n handleListItemClicked,\n hasSelectedItems,\n listItemsWithoutSelectAll,\n removeClickedItemFromSelectedItems,\n selectAllCheckboxState,\n selectAllUnselectedItemsInListItems,\n someListItemsAreSelected,\n unselectAllListItems,\n };\n};\n\n/* end multiselect utils */\n/* start a11y utils */\n\n// called when the state changes:\n// selectedItem, highlightedIndex, inputValue or isOpen.\nexport function getA11yStatusMessage<ValueType>(\n options: UseComboboxState<NormalizedDropdownItemType<ValueType>> & {\n selectAllItemIncluded?: boolean;\n resultCount: number;\n },\n): string {\n const { isOpen, selectAllItemIncluded = false, resultCount } = options;\n\n if (!isOpen) {\n return '';\n }\n\n const resultCountWithoutSelectAll = selectAllItemIncluded\n ? resultCount - 1\n : resultCount;\n\n if (resultCountWithoutSelectAll === 0) {\n return 'Ingen resultater';\n }\n\n return `${resultCountWithoutSelectAll} resultat${\n resultCountWithoutSelectAll === 1 ? '' : 'er'\n } tilgjengelig, naviger med pil opp eller ned, velg elementer med Enter.`;\n}\n/* end a11y utils */\n","/* eslint-disable no-warning-comments */\nimport React, { useCallback, useEffect, useRef, useState } from 'react';\nimport {\n UseComboboxState,\n UseComboboxStateChangeOptions,\n useCombobox,\n} from 'downshift';\nimport classNames from 'classnames';\nimport {\n useFloating,\n autoUpdate,\n offset,\n flip,\n shift,\n size,\n} from '@floating-ui/react-dom';\n\nimport { BaseFormControl } from '@entur/form';\nimport { space } from '@entur/tokens';\nimport { mergeRefs } from '@entur/utils';\n\nimport { DropdownList } from './components/DropdownList';\nimport { DropdownFieldAppendix } from './components/FieldComponents';\n\nimport { DropdownProps } from './Dropdown';\nimport { useResolvedItems } from './useResolvedItems';\nimport {\n clamp,\n EMPTY_INPUT,\n getA11yStatusMessage,\n isFunctionWithQueryArgument,\n itemToString,\n lowerCaseFilterTest,\n noFilter,\n} from './utils';\n\nimport { NormalizedDropdownItemType } from './types';\n\nimport './Dropdown.scss';\n\nexport type SearchableDropdownProps<ValueType> = DropdownProps<ValueType> & {\n /** Filtreringen som brukes når man skriver inn tekst i inputfeltet\n * @default Regex-test som sjekker om item.label inneholder input-teksten\n */\n itemFilter?: (\n item: NormalizedDropdownItemType<ValueType>,\n inputValue: string | undefined,\n ) => boolean;\n /** Antall millisekunder man venter etter tekstinput før det gjøres kall for å oppdatere items\n * Denne er kun relevant hvis du sender inn en funksjon som items.\n */\n debounceTimeout?: number;\n /** Tekst som kommer opp når det ikke er noe treff på filtreringsøket\n * @default \"Ingen treff for søket\"\n */\n noMatchesText?: string;\n /** Tekst for skjermleser som beskriver statusen til et element som valgt\n * @default \", valgt element, trykk for å fjerne\"\n */\n};\n\nexport const SearchableDropdown = React.forwardRef(\n <ValueType extends NonNullable<any>>(\n {\n ariaLabelChosenSingular,\n ariaLabelCloseList = 'Lukk liste med valg',\n ariaLabelOpenList = 'Åpne liste med valg',\n ariaLabelSelectedItem,\n className,\n clearable = true,\n debounceTimeout,\n disabled = false,\n disableLabelAnimation = false,\n feedback,\n items: initialItems,\n itemFilter = isFunctionWithQueryArgument(initialItems)\n ? noFilter\n : lowerCaseFilterTest,\n label,\n labelClearSelectedItem = 'fjern valgt',\n labelTooltip,\n listStyle,\n loading,\n loadingText = 'Laster resultater …',\n noMatchesText = 'Ingen tilgjengelige valg …',\n onChange = () => undefined,\n placeholder,\n prepend,\n readOnly = false,\n selectedItem: value,\n selectOnBlur = false,\n selectOnTab = false,\n style,\n variant = 'info',\n ...rest\n }: SearchableDropdownProps<ValueType>,\n ref: React.ForwardedRef<HTMLInputElement>,\n ) => {\n const [showSelectedItem, setShowSelectedItem] = useState(value !== null);\n const [lastHighlightedIndex, setLastHighlightedIndex] = useState(0);\n const inputRef = useRef<HTMLInputElement>(null);\n\n const {\n items: normalizedItems,\n loading: resolvedItemsLoading,\n fetchItems,\n } = useResolvedItems(initialItems, debounceTimeout);\n\n const [listItems, setListItems] = useState(normalizedItems);\n\n const filterListItems = ({ inputValue }: { inputValue: string }) =>\n setListItems(\n normalizedItems.filter(item => itemFilter(item, inputValue)),\n );\n\n const updateListItems = ({ inputValue }: { inputValue?: string }) => {\n const shouldRefetchItems = isFunctionWithQueryArgument(initialItems);\n if (shouldRefetchItems) fetchItems(inputValue ?? EMPTY_INPUT);\n\n filterListItems({ inputValue: inputValue ?? EMPTY_INPUT });\n };\n\n const resetInputState = ({\n changes,\n }: {\n changes: Partial<UseComboboxState<NormalizedDropdownItemType<ValueType>>>;\n }) => {\n updateListItems({ inputValue: EMPTY_INPUT });\n return {\n ...changes,\n inputValue: EMPTY_INPUT,\n };\n };\n\n const inputHasFocus =\n typeof document !== 'undefined'\n ? inputRef?.current === document?.activeElement\n : false;\n\n useEffect(() => {\n filterListItems({ inputValue });\n }, [normalizedItems]); // eslint-disable-line react-hooks/exhaustive-deps\n\n useEffect(() => {\n // sync internal state on initial render\n if (selectedItem !== null && !inputHasFocus) {\n setShowSelectedItem(true);\n updateListItems({ inputValue: EMPTY_INPUT });\n setInputValue(EMPTY_INPUT);\n }\n }, []);\n\n const stateReducer = useCallback(\n (\n state: UseComboboxState<NormalizedDropdownItemType<ValueType>>,\n {\n type,\n changes,\n }: UseComboboxStateChangeOptions<NormalizedDropdownItemType<ValueType>>,\n ) => {\n if (\n changes.highlightedIndex !== undefined &&\n changes?.highlightedIndex >= 0\n ) {\n setLastHighlightedIndex(changes?.highlightedIndex);\n }\n\n switch (type) {\n // empty input to show selected item and reset dropdown list on item selection\n case useCombobox.stateChangeTypes.ItemClick:\n case useCombobox.stateChangeTypes.InputKeyDownEnter:\n case useCombobox.stateChangeTypes.InputBlur:\n return resetInputState({ changes });\n case useCombobox.stateChangeTypes.ControlledPropUpdatedSelectedItem:\n if (changes.selectedItem !== null && !inputHasFocus)\n setShowSelectedItem(true);\n return resetInputState({ changes });\n // remove leading whitespace, select element with spacebar on empty input\n case useCombobox.stateChangeTypes.InputChange: {\n const leadingWhitespaceTest = /^\\s+/g;\n const isSpacePressedOnEmptyInput = changes.inputValue === ' ';\n if (!isSpacePressedOnEmptyInput) setLastHighlightedIndex(0);\n\n if (changes.inputValue?.match(leadingWhitespaceTest)) {\n const sanitizedInputValue = changes.inputValue.replace(\n leadingWhitespaceTest,\n EMPTY_INPUT,\n );\n if (isSpacePressedOnEmptyInput) {\n if (!state.isOpen)\n return {\n ...changes,\n inputValue: sanitizedInputValue,\n isOpen: true,\n };\n\n if (changes.highlightedIndex !== undefined) {\n return {\n ...changes,\n inputValue: sanitizedInputValue,\n selectedItem: listItems[changes.highlightedIndex],\n };\n }\n }\n }\n\n return { ...changes, highlightedIndex: 0 };\n }\n default:\n return changes;\n }\n },\n [fetchItems, filterListItems, inputHasFocus, resetInputState],\n );\n\n const {\n isOpen,\n getToggleButtonProps,\n getLabelProps,\n getMenuProps,\n getInputProps,\n highlightedIndex,\n getItemProps,\n selectedItem,\n inputValue,\n setInputValue,\n selectItem,\n reset,\n } = useCombobox({\n defaultHighlightedIndex: lastHighlightedIndex,\n items: listItems,\n itemToString,\n selectedItem: value,\n stateReducer,\n onInputValueChange(changes) {\n updateListItems({ inputValue: changes.inputValue });\n },\n onSelectedItemChange({ selectedItem: newSelectedItem }) {\n onChange(newSelectedItem);\n },\n // Accessibility\n getA11yStatusMessage: options =>\n getA11yStatusMessage({ ...options, resultCount: listItems.length }),\n });\n\n // calculations for floating-UI popover position\n const { refs, floatingStyles, update } = useFloating({\n open: isOpen,\n placement: 'bottom-start',\n middleware: [\n offset(space.extraSmall2),\n shift({ padding: space.extraSmall }),\n size({\n apply({ rects, elements, availableHeight }) {\n Object.assign(elements.floating.style, {\n width: `${rects.reference.width}px`,\n // Floating will flip when smaller than 10*16 px\n // and never exceed 20*16 px.\n maxHeight: `${clamp(10 * 16, availableHeight, 20 * 16)}px`,\n });\n },\n }),\n flip({ fallbackStrategy: 'initialPlacement' }),\n ],\n });\n\n // Update floating-ui position on scroll etc. Floating-ui's autoupdate is usually used inside\n // the useFloating hook but this requires the floating element to be conditionally rendered.\n // Downshift doesn't work correctly when conditionally rendered since props and refs aren't correctly\n // spread to the component. We therefor use this useEffect to update position. See https://floating-ui.com/docs/autoupdate#usage\n useEffect(() => {\n if (isOpen && refs.reference.current && refs.floating.current) {\n return autoUpdate(\n refs.reference.current,\n refs.floating.current,\n update,\n );\n }\n }, [isOpen, refs.reference, refs.floating, update]);\n\n const handleOnClear = () => {\n inputRef.current?.focus();\n reset();\n };\n\n return (\n <BaseFormControl\n className={classNames(\n 'eds-dropdown',\n 'eds-dropdown--searchable',\n className,\n { 'eds-dropdown--has-tooltip': labelTooltip !== undefined },\n )}\n disabled={disabled}\n disableLabelAnimation={disableLabelAnimation}\n feedback={feedback}\n isFilled={selectedItem !== null || inputValue !== EMPTY_INPUT}\n label={label}\n labelId={getLabelProps().id}\n labelProps={getLabelProps()}\n labelTooltip={labelTooltip}\n onBlur={() => setInputValue('')}\n onClick={(e: React.MouseEvent) => {\n if (e.target === e.currentTarget) {\n getInputProps()?.onClick?.(e);\n }\n }}\n prepend={prepend}\n readOnly={readOnly}\n ref={refs.setReference}\n style={style}\n tabIndex={disabled || readOnly ? -1 : undefined}\n variant={variant}\n after={\n <DropdownList\n ariaLabelChosenSingular={ariaLabelChosenSingular}\n ariaLabelSelectedItem={ariaLabelSelectedItem}\n floatingStyles={floatingStyles}\n getItemProps={getItemProps}\n getMenuProps={getMenuProps}\n highlightedIndex={highlightedIndex}\n isOpen={isOpen}\n listItems={listItems}\n style={listStyle}\n setListRef={refs.setFloating}\n loading={loading ?? resolvedItemsLoading}\n loadingText={loadingText}\n noMatchesText={noMatchesText}\n selectedItems={selectedItem !== null ? [selectedItem] : []}\n readOnly={readOnly}\n />\n }\n {...rest}\n // Append is not supported as of now\n append={undefined}\n >\n <span\n className={classNames('eds-dropdown--searchable__selected-item', {\n 'eds-dropdown--searchable__selected-item--hidden':\n !showSelectedItem,\n })}\n onClick={readOnly ? undefined : getInputProps()?.onClick}\n tabIndex={readOnly ? 0 : -1}\n >\n {showSelectedItem ? selectedItem?.label : ''}\n </span>\n <input\n className={classNames('eds-dropdown__input eds-form-control', {\n 'eds-dropdown__input--hidden': showSelectedItem,\n })}\n {...getInputProps({\n onKeyDown(e: React.KeyboardEvent) {\n if (isOpen && e.key === 'Tab') {\n const highlitedItem = listItems[highlightedIndex];\n // we don't want to clear selection with tab\n if (\n (selectOnTab || selectOnBlur) &&\n highlitedItem &&\n highlitedItem !== selectedItem\n ) {\n selectItem(highlitedItem);\n }\n }\n },\n onBlur() {\n if (selectedItem !== null) setShowSelectedItem(true);\n },\n onFocus() {\n if (!readOnly) {\n setShowSelectedItem(false);\n }\n },\n disabled: disabled,\n readOnly: readOnly,\n placeholder: selectedItem?.label ?? placeholder,\n tabIndex: disabled || readOnly ? -1 : undefined,\n ref: mergeRefs(inputRef, ref),\n })}\n />\n <DropdownFieldAppendix\n {...getToggleButtonProps({\n 'aria-busy': !(loading ?? resolvedItemsLoading)\n ? undefined\n : 'true',\n })}\n ariaLabelCloseList={ariaLabelCloseList}\n ariaLabelOpenList={ariaLabelOpenList}\n clearable={clearable}\n disabled={disabled || readOnly}\n onClear={handleOnClear}\n focusable={false}\n labelClearSelected={labelClearSelectedItem}\n isOpen={isOpen}\n itemIsSelected={selectedItem !== null}\n loadingText={loadingText}\n loading={loading ?? resolvedItemsLoading}\n />\n </BaseFormControl>\n );\n },\n);\n","import React, {\n Dispatch,\n SetStateAction,\n useEffect,\n useRef,\n useState,\n} from 'react';\nimport classNames from 'classnames';\nimport {\n useMultipleSelection,\n useCombobox,\n UseComboboxStateChangeOptions,\n UseComboboxState,\n} from 'downshift';\nimport {\n useFloating,\n autoUpdate,\n offset,\n flip,\n shift,\n size,\n} from '@floating-ui/react-dom';\n\nimport { VisuallyHidden } from '@entur/a11y';\nimport { BaseFormControl } from '@entur/form';\nimport { space } from '@entur/tokens';\nimport { mergeRefs, useRandomId } from '@entur/utils';\n\nimport {\n DropdownFieldAppendix,\n SelectedItemTag,\n} from './components/FieldComponents';\nimport { DropdownList } from './components/DropdownList';\n\nimport { useResolvedItems } from './useResolvedItems';\nimport { DropdownProps } from './Dropdown';\nimport {\n clamp,\n EMPTY_INPUT,\n getA11yStatusMessage,\n isFunctionWithQueryArgument,\n itemToKey,\n itemToString,\n lowerCaseFilterTest,\n noFilter,\n useMultiselectUtils,\n} from './utils';\n\nimport { NormalizedDropdownItemType } from './types';\n\nimport './Dropdown.scss';\n\nexport type MultiSelectProps<ValueType> = Omit<\n DropdownProps<ValueType>,\n 'selectedItem' | 'onChange'\n> & {\n /** Elementer som er valgt blant 'items'. Bruk tom liste for ingen valgte\n */\n selectedItems: NormalizedDropdownItemType<ValueType>[];\n /** Callback med alle valgte verdier.\n * Bruk denne til å oppdatere selectedItems-listen */\n onChange?: (\n selectedItems: NormalizedDropdownItemType<ValueType>[],\n ) => void | Dispatch<SetStateAction<NormalizedDropdownItemType<ValueType>[]>>;\n /** Filtreringen som brukes når man skriver inn tekst i inputfeltet\n * @default Regex-test som sjekker om item.label inneholder input-teksten\n */\n itemFilter?: (\n item: NormalizedDropdownItemType<ValueType>,\n inputValue: string | undefined,\n ) => boolean;\n /** Skjuler «Velg alle» fra listen med valg\n * @default false\n */\n hideSelectAll?: boolean;\n /** Antall millisekunder man venter før man kaller en potensiell items-funksjon\n * @default 250\n */\n debounceTimeout?: number;\n /** Maks antall individuelle valgt-element-tags i MultiSelect-en før de blir til en samle-tag\n * @default 10\n */\n maxChips?: number;\n /** Resetter input etter at et element er valgt i listen\n * @default false\n */\n clearInputOnSelect?: boolean;\n /** Teksten som vises for «Velg alle»-elementet i listen\n * @default \"Velg alle\"\n */\n labelSelectAll?: string;\n /** Teksten som vises for «Velg alle»-elementet i listen\n * @default \"Alle valgt\"\n */\n labelAllItemsSelected?: string;\n /** Skjermleser-tekst som for å fjerne alle valg\n * @default \"Fjern valgte\"\n */\n labelClearAllItems?: string;\n /** Tekst for skjemleser på knapper for å fjerne valgt element\n * @default \"trykk for å fjerne valg\"\n */\n ariaLabelRemoveSelected?: string;\n /** Tekst for skjemleser for å indikere at et element er valgt\n * @default \"valgte\"\n */\n ariaLabelChosenPlural?: string;\n /** Tekst for skjemleser for å hoppe til input-feltet\n * @default `${selectedItems.length} valgte elementer, trykk for å hoppe til tekstfeltet`\n */\n ariaLabelJumpToInput?: string;\n};\n\nexport const MultiSelect = React.forwardRef(\n <ValueType extends NonNullable<any>>(\n {\n className,\n clearable = true,\n clearInputOnSelect = false,\n debounceTimeout,\n disabled = false,\n disableLabelAnimation,\n feedback,\n hideSelectAll = false,\n items: initialItems,\n itemFilter = isFunctionWithQueryArgument(initialItems)\n ? noFilter\n : lowerCaseFilterTest,\n label,\n labelAllItemsSelected = 'Alle valgt',\n labelClearAllItems = 'Fjern valgte',\n labelSelectAll = 'Velg alle',\n labelTooltip,\n listStyle,\n loading,\n loadingText = 'Laster resultater …',\n maxChips = 10,\n noMatchesText,\n onChange = () => undefined,\n placeholder,\n readOnly = false,\n selectedItems = [],\n selectOnBlur = false,\n selectOnTab = false,\n style,\n variant = 'information',\n ariaLabelChosenSingular,\n ariaLabelChosenPlural = 'valgte',\n ariaLabelCloseList = 'Lukk liste med valg',\n ariaLabelJumpToInput = `${selectedItems.length} valgte elementer, trykk for å hoppe til tekstfeltet`,\n ariaLabelOpenList = 'Åpne liste med valg',\n ariaLabelRemoveSelected = 'trykk for å fjerne valg',\n ariaLabelSelectedItem,\n ...rest\n }: MultiSelectProps<ValueType>,\n ref: React.ForwardedRef<HTMLInputElement>,\n ) => {\n const [lastHighlightedIndex, setLastHighlightedIndex] = React.useState(0);\n const inputRef = useRef<HTMLInputElement>(null);\n\n useEffect(() => {\n //@ts-expect-error this is done to aid developers debug wrong prop usage\n if (rest.selectedItem !== undefined)\n console.warn(\n \"Incorrect 'selectedItem' prop found, did you mean to use 'selectedItems?\",\n );\n //@ts-expect-error selectedItem should not actually exist in rest\n }, [rest.selectedItem]);\n\n const {\n items: normalizedItems,\n loading: resolvedItemsLoading,\n fetchItems,\n } = useResolvedItems(initialItems, debounceTimeout);\n\n const isAllNonAsyncItemsSelected =\n typeof initialItems !== 'function' &&\n selectedItems.length === normalizedItems.length;\n\n // special 'item' used as Select All entry in the dropdown list\n const selectAll: NormalizedDropdownItemType<string> = {\n value: useRandomId('select-all'),\n label: labelSelectAll,\n };\n // special 'item' used as a replacement selected item tag for when\n // there are more selected element than maxChips\n const summarySelectedItems: NormalizedDropdownItemType<string> =\n React.useMemo(\n () => ({\n value: EMPTY_INPUT,\n label: isAllNonAsyncItemsSelected\n ? labelAllItemsSelected\n : selectedItems.length + ' ' + ariaLabelChosenPlural,\n }),\n [\n isAllNonAsyncItemsSelected,\n selectedItems,\n labelAllItemsSelected,\n ariaLabelChosenPlural,\n ],\n );\n\n const [listItems, setListItems] = useState([\n ...(!hideSelectAll ? [selectAll] : []),\n ...normalizedItems,\n ]);\n\n const filterListItems = ({ inputValue }: { inputValue: string }) =>\n setListItems([\n ...(!hideSelectAll ? [selectAll] : []),\n ...normalizedItems.filter(item => itemFilter(item, inputValue)),\n ]);\n\n const updateListItems = ({ inputValue }: { inputValue?: string }) => {\n const shouldRefetchItems = isFunctionWithQueryArgument(initialItems);\n if (shouldRefetchItems) fetchItems(inputValue ?? EMPTY_INPUT);\n\n filterListItems({ inputValue: inputValue ?? EMPTY_INPUT });\n };\n\n React.useEffect(() => {\n filterListItems({ inputValue });\n }, [normalizedItems]); // eslint-disable-line react-hooks/exhaustive-deps\n\n const {\n hasSelectedItems,\n handleListItemClicked,\n selectAllCheckboxState,\n clickedItemIsInSelectedItems,\n clickedItemIsSelectAll,\n } = useMultiselectUtils<ValueType>({\n listItems,\n selectAll,\n selectedItems,\n });\n\n const {\n getSelectedItemProps,\n getDropdownProps,\n reset,\n removeSelectedItem,\n setSelectedItems,\n } = useMultipleSelection({\n selectedItems,\n // @ts-expect-error prop missing from library types\n itemToString,\n itemToKey,\n onSelectedItemsChange({ selectedItems: newSelectedItems }) {\n onChange(newSelectedItems);\n },\n });\n\n const stateReducer = React.useCallback(\n (\n state: UseComboboxState<NormalizedDropdownItemType<ValueType | string>>,\n {\n changes,\n type,\n }: UseComboboxStateChangeOptions<\n NormalizedDropdownItemType<ValueType | string>\n >,\n ) => {\n if (\n changes.highlightedIndex !== undefined &&\n changes?.highlightedIndex >= 0\n ) {\n setLastHighlightedIndex(changes?.highlightedIndex);\n }\n\n switch (type) {\n // reset input value when leaving input field\n case useCombobox.stateChangeTypes.InputBlur:\n return {\n ...changes,\n inputValue: EMPTY_INPUT,\n };\n // keep menu open and edit input value on item selection\n case useCombobox.stateChangeTypes.InputKeyDownEnter:\n case useCombobox.stateChangeTypes.ItemClick: {\n return {\n ...changes,\n isOpen: true,\n inputValue: clearInputOnSelect\n ? EMPTY_INPUT\n : inputRef?.current?.value ?? EMPTY_INPUT,\n };\n }\n // edit input value when selected items is updated outside component\n case useCombobox.stateChangeTypes.ControlledPropUpdatedSelectedItem: {\n return {\n ...changes,\n inputValue: inputRef?.current?.value ?? EMPTY_INPUT,\n };\n }\n // remove leading whitespace, select item with spacebar if input is empty and filter list items\n case useCombobox.stateChangeTypes.InputChange: {\n const leadingWhitespaceTest = /^\\s+/g;\n const isSpacePressedOnEmptyInput = changes.inputValue === ' ';\n if (changes.inputValue?.match(leadingWhitespaceTest)) {\n const sanitizedInputValue = changes.inputValue.replace(\n leadingWhitespaceTest,\n EMPTY_INPUT,\n );\n if (isSpacePressedOnEmptyInput) {\n if (!state.isOpen)\n return {\n ...changes,\n inputValue: sanitizedInputValue,\n isOpen: true,\n };\n\n if (changes.highlightedIndex !== undefined) {\n return {\n ...changes,\n inputValue: sanitizedInputValue,\n selectedItem: listItems[changes.highlightedIndex],\n };\n }\n }\n }\n\n return changes;\n }\n default:\n return changes;\n }\n },\n [hideSelectAll, normalizedItems, filterListItems, initialItems],\n );\n\n const {\n getInputProps,\n getItemProps,\n getLabelProps,\n getMenuProps,\n getToggleButtonProps,\n highlightedIndex,\n setHighlightedIndex,\n inputValue,\n isOpen,\n setInputValue,\n } = useCombobox({\n defaultHighlightedIndex: lastHighlightedIndex, // after selection, highlight previously selected item.\n items: listItems,\n itemToString,\n selectedItem: null,\n stateReducer,\n onInputValueChange(changes) {\n updateListItems({ inputValue: changes.inputValue });\n // set highlighted item to first item after search\n setHighlightedIndex(hideSelectAll ? 0 : 1);\n setLastHighlightedIndex(hideSelectAll ? 0 : 1);\n },\n onSelectedItemChange({ selectedItem: clickedItem }) {\n // clickedItem means item chosen either via mouse or keyboard\n if (!clickedItem) return;\n\n handleListItemClicked({\n clickedItem,\n onChange: setSelectedItems,\n });\n },\n // Accessibility\n getA11yStatusMessage: options =>\n getA11yStatusMessage({\n ...options,\n selectAllItemIncluded: !hideSelectAll,\n resultCount: listItems.length,\n }),\n ...rest,\n });\n\n // calculations for floating-UI popover position\n const { refs, floatingStyles, update } = useFloating({\n open: isOpen,\n placement: 'bottom-start',\n middleware: [\n offset(space.extraSmall2),\n shift({ padding: space.extraSmall }),\n size({\n apply({ rects, elements, availableHeight }) {\n Object.assign(elements.floating.style, {\n width: `${rects.reference.width}px`,\n // Floating will flip when smaller than 10*16 px\n // and never exceed 20*16 px.\n maxHeight: `${clamp(10 * 16, availableHeight, 20 * 16)}px`,\n });\n },\n }),\n flip({ fallbackStrategy: 'initialPlacement' }),\n ],\n });\n\n // Update floating-ui position on scroll etc. Floating-ui's autoupdate is usually used inside\n // the useFloating hook but this requires the floating element to be conditionally rendered.\n // Downshift doesn't work correctly when conditionally rendered since props and refs aren't correctly\n // spread to the component. We therefor use this useEffect to update position. See https://floating-ui.com/docs/autoupdate#usage\n useEffect(() => {\n if (isOpen && refs.reference.current && refs.floating.current) {\n return autoUpdate(\n refs.reference.current,\n refs.floating.current,\n update,\n );\n }\n }, [isOpen, refs.reference, refs.floating, update]);\n\n const handleOnClear = () => {\n inputRef.current?.focus();\n reset();\n };\n\n return (\n <BaseFormControl\n className={classNames(\n 'eds-dropdown',\n 'eds-dropdown--multiselect',\n className,\n { 'eds-dropdown--has-tooltip': labelTooltip !== undefined },\n )}\n disabled={disabled}\n disableLabelAnimation={disableLabelAnimation}\n feedback={feedback}\n isFilled={hasSelectedItems || inputValue !== EMPTY_INPUT}\n label={label}\n labelId={getLabelProps().id}\n labelProps={getLabelProps()}\n labelTooltip={labelTooltip}\n onBlur={() => setInputValue('')}\n onClick={(e: React.MouseEvent) => {\n if (e.target === e.currentTarget) {\n getInputProps()?.onClick?.(e);\n }\n }}\n readOnly={readOnly}\n ref={refs.setReference}\n style={style}\n variant={variant}\n after={\n <DropdownList\n ariaLabelChosenSingular={ariaLabelChosenSingular}\n ariaLabelSelectedItem={ariaLabelSelectedItem}\n floatingStyles={floatingStyles}\n getItemProps={getItemProps}\n getMenuProps={getMenuProps}\n highlightedIndex={highlightedIndex}\n isOpen={isOpen}\n listItems={listItems}\n style={listStyle}\n setListRef={refs.setFloating}\n loading={loading ?? resolvedItemsLoading}\n loadingText={loadingText}\n noMatchesText={noMatchesText}\n selectAllCheckboxState={selectAllCheckboxState}\n selectAllItem={selectAll}\n selectedItems={selectedItems}\n readOnly={readOnly}\n />\n }\n {...rest}\n >\n <div\n className={classNames(\n 'eds-dropdown--multiselect__selected-items-and-input',\n {\n 'eds-dropdown--multiselect__selected-items-and-input--filled':\n hasSelectedItems,\n },\n )}\n >\n {selectedItems.length > 1 ? (\n <VisuallyHidden onClick={inputRef.current?.focus}>\n {ariaLabelJumpToInput}\n </VisuallyHidden>\n ) : null}\n {selectedItems.length <= maxChips ? (\n selectedItems.map((selectedItem, index) => (\n <SelectedItemTag\n ariaLabelChosen={ariaLabelChosenSingular}\n ariaLabelRemoveSelected={ariaLabelRemoveSelected}\n disabled={disabled}\n getSelectedItemProps={getSelectedItemProps}\n index={index}\n key={\n selectedItem?.label +\n (typeof selectedItem?.value === 'string'\n ? selectedItem.value\n : '')\n }\n readOnly={readOnly}\n removeSelectedItem={() => {\n removeSelectedItem(selectedItem);\n inputRef?.current?.focus();\n }}\n selectedItem={selectedItem}\n />\n ))\n ) : (\n <SelectedItemTag\n ariaLabelRemoveSelected={labelClearAllItems}\n ariaLabelChosen=\"\"\n disabled={disabled}\n readOnly={readOnly}\n removeSelectedItem={handleOnClear}\n selectedItem={summarySelectedItems}\n />\n )}\n <input\n {...getInputProps({\n onKeyDown: (e: React.KeyboardEvent) => {\n if (selectOnTab && isOpen && e.key === 'Tab') {\n const highlitedItem = listItems[highlightedIndex];\n if (!highlitedItem) return;\n\n // Skip tab selection for select all or if item already is selected\n const shouldSkipTabSelection =\n clickedItemIsSelectAll(highlitedItem) ||\n (!clickedItemIsSelectAll(highlitedItem) &&\n clickedItemIsInSelectedItems(highlitedItem));\n\n if (shouldSkipTabSelection) return;\n\n handleListItemClicked({\n clickedItem: highlitedItem,\n onChange: setSelectedItems,\n });\n }\n },\n ...getDropdownProps({\n preventKeyAction: isOpen,\n value: inputValue ?? EMPTY_INPUT,\n ref: mergeRefs(inputRef, ref),\n }),\n className: 'eds-dropdown__input eds-form-control',\n disabled: readOnly || disabled,\n placeholder: placeholder,\n tabIndex: disabled || readOnly ? -1 : undefined,\n })}\n />\n </div>\n <DropdownFieldAppendix\n {...getToggleButtonProps({\n 'aria-busy': !(loading ?? resolvedItemsLoading)\n ? undefined\n : 'true',\n })}\n ariaLabelCloseList={ariaLabelCloseList}\n ariaLabelOpenList={ariaLabelOpenList}\n clearable={clearable}\n disabled={disabled || readOnly}\n onClear={handleOnClear}\n focusable={false}\n labelClearSelected={labelClearAllItems}\n isOpen={isOpen}\n itemIsSelected={selectedItems.length > 0}\n loadingText={loadingText}\n loading={loading ?? resolvedItemsLoading}\n />\n </BaseFormControl>\n );\n },\n);\n","import React, { Dispatch, SetStateAction, useEffect } from 'react';\nimport classNames from 'classnames';\nimport { useSelect } from 'downshift';\nimport {\n autoUpdate,\n flip,\n offset,\n shift,\n size,\n useFloating,\n} from '@floating-ui/react-dom';\n\nimport { BaseFormControl } from '@entur/form';\nimport { space } from '@entur/tokens';\nimport { mergeRefs, VariantType } from '@entur/utils';\n\nimport { DropdownList } from './components/DropdownList';\nimport { DropdownFieldAppendix } from './components/FieldComponents';\nimport { useResolvedItems } from './useResolvedItems';\nimport { clamp, itemToString } from './utils';\n\nimport {\n NormalizedDropdownItemType,\n PotentiallyAsyncDropdownItemType,\n} from './types';\n\nimport './Dropdown.scss';\n\n/** @deprecated use variant=\"information\" instead */\nconst info = 'info';\n/** @deprecated use variant=\"negative\" instead */\nconst error = 'error';\n\nexport type DropdownProps<ValueType> = {\n /** Tilgjengelige valg i dropdown-en */\n items: PotentiallyAsyncDropdownItemType<ValueType>;\n /** Valgt verdi. Bruk null for ingen verdi. */\n selectedItem: NormalizedDropdownItemType<ValueType> | null;\n /** Callback ved valg som skal oppdatere selectedItem */\n onChange?: (\n selectedItem: NormalizedDropdownItemType<ValueType> | null,\n ) => void | Dispatch<\n SetStateAction<NormalizedDropdownItemType<ValueType> | null>\n >;\n /** Beskrivende tekst som forklarer feltet */\n label: string;\n /** Placeholder-tekst når ingenting er satt */\n placeholder?: string;\n /** Om man skal ha mulighet for å nullstille Dropdown-en\n * @default false\n */\n clearable?: boolean;\n /** Lar brukeren velge ved å \"tab-e\" seg ut av komponenten */\n selectOnTab?: boolean;\n /**\n * @deprecated\n * Bruk selectOnTab i stedet\n *\n * Lar brukeren velge ved å \"tab-e\" seg ut av komponenten */\n selectOnBlur?: boolean;\n /** Deaktiver dropdown-en */\n disabled?: boolean;\n /** Setter dropdown-en i read-only modus */\n readOnly?: boolean;\n /** Hvilken valideringsvariant som gjelder */\n variant?: VariantType | typeof error | typeof info;\n /** Valideringsmelding, brukes sammen med `variant` */\n feedback?: string;\n /** Tekst eller ikon som kommer først i dropdown-feltet */\n prepend?: React.ReactNode;\n /** */\n loading?: boolean;\n /** En tekst som beskriver hva som skjer når man venter på items\n * @default 'Laster inn …'\n */\n loadingText?: string;\n /** Tekst som kommer opp når det ikke er noe elementer å vise\n * @default \"Ingen tilgjengelige valg …\"\n */\n noMatchesText?: string;\n /** Om man skal ha mulighet for å nullstille Dropdown-en\n * @default \"fjern valgt\"\n */\n labelClearSelectedItem?: string;\n /** En tooltip som gir ekstra info om inputfeltet */\n labelTooltip?: React.ReactNode;\n /** Plasserer labelen statisk på toppen av inputfeltet\n * @default false\n */\n disableLabelAnimation?: boolean;\n /** Ekstra klassenavn */\n className?: string;\n /** Styling som sendes ned til Dropdown-lista */\n listStyle?: { [key: string]: any };\n /** Styling for Dropdown-en */\n style?: { [key: string]: any };\n /** Tekst for skjemleser for knapp som lukker listen med valg\n * @default \"Lukk liste med valg\"\n */\n ariaLabelCloseList?: string;\n /** Tekst for skjemleser for knapp som åpner listen med valg\n * @default \"Åpne liste med valg\"\n */\n ariaLabelOpenList?: string;\n /** Ord for at et element er valgt i entall\n * eks. 'Element 1, _valgt_'\n * @default 'valgt'\n */\n ariaLabelChosenSingular?: string;\n /** Tekst for skjermleser som beskriver statusen til et element som valgt\n * @default ', valgt element, trykk for å fjerne'\n */\n ariaLabelSelectedItem?: string;\n};\n\nexport const Dropdown = React.forwardRef(\n <ValueType extends NonNullable<any>>(\n {\n ariaLabelChosenSingular,\n ariaLabelCloseList = 'Lukk liste med valg',\n ariaLabelOpenList = 'Åpne liste med valg',\n ariaLabelSelectedItem,\n className,\n clearable = false,\n disabled = false,\n disableLabelAnimation,\n feedback,\n items: initialItems,\n label,\n labelClearSelectedItem = 'fjern valgt',\n labelTooltip,\n listStyle,\n loading,\n loadingText = 'Laster resultater …',\n noMatchesText = 'Ingen tilgjengelige valg …',\n onChange,\n placeholder,\n prepend,\n readOnly = false,\n selectedItem,\n selectOnBlur = false,\n selectOnTab = false,\n style,\n variant = 'information',\n ...rest\n }: DropdownProps<ValueType>,\n ref: React.ForwardedRef<HTMLDivElement>,\n ) => {\n const { items: normalizedItems, loading: resolvedItemsLoading } =\n useResolvedItems(initialItems);\n const isFilled = selectedItem !== null || placeholder !== undefined;\n const {\n isOpen,\n getItemProps,\n getLabelProps,\n getMenuProps,\n getToggleButtonProps,\n highlightedIndex,\n selectItem,\n reset,\n } = useSelect({\n items: normalizedItems,\n defaultHighlightedIndex: selectedItem ? undefined : 0,\n selectedItem,\n stateReducer(_, { changes, type }) {\n const toggleButtonIsFocused =\n typeof document !== 'undefined' &&\n document.activeElement === refs.reference.current;\n\n switch (type) {\n case useSelect.stateChangeTypes.ToggleButtonKeyDownArrowDown:\n case useSelect.stateChangeTypes.ToggleButtonKeyDownArrowUp:\n if (!toggleButtonIsFocused) return { ...changes, isOpen: false };\n }\n return changes;\n },\n onStateChange({ type, selectedItem: newSelectedItem }) {\n switch (type) {\n case useSelect.stateChangeTypes.ToggleButtonBlur:\n if (!selectOnBlur) return;\n }\n if (newSelectedItem === undefined) return;\n onChange?.(newSelectedItem ?? null);\n },\n itemToString,\n });\n\n // calculations for floating-UI popover position\n const { refs, floatingStyles, update } = useFloating<HTMLDivElement>({\n open: isOpen,\n placement: 'bottom-start',\n middleware: [\n offset(space.extraSmall2),\n shift({ padding: space.extraSmall }),\n size({\n apply({ rects, elements, availableHeight }) {\n Object.assign(elements.floating.style, {\n width: `${rects.reference.width}px`,\n // Floating will flip when smaller than 10*16 px\n // and never exceed 20*16 px.\n maxHeight: `${clamp(10 * 16, availableHeight, 20 * 16)}px`,\n });\n },\n }),\n flip({ fallbackStrategy: 'initialPlacement' }),\n ],\n });\n\n // Update floating-ui position on scroll etc. Floating-ui's autoupdate is usually used inside\n // the useFloating hook but this requires the floating element to be conditionally rendered.\n // Downshift doesn't work correctly when conditionally rendered since props and refs aren't correctly\n // spread to the component. We therefor use this useEffect to update position. See https://floating-ui.com/docs/autoupdate#usage\n useEffect(() => {\n if (isOpen && refs.reference.current && refs.floating.current) {\n return autoUpdate(\n refs.reference.current,\n refs.floating.current,\n update,\n );\n }\n }, [isOpen, refs.reference, refs.floating, update]);\n\n const handleOnClear = () => {\n reset();\n refs.reference.current?.focus();\n };\n\n return (\n <BaseFormControl\n className={classNames('eds-dropdown', className, {\n 'eds-dropdown--has-tooltip': labelTooltip !== undefined,\n })}\n disableLabelAnimation={disableLabelAnimation}\n feedback={feedback}\n isFilled={isFilled}\n labelProps={getLabelProps()}\n labelTooltip={labelTooltip}\n prepend={prepend}\n style={style}\n variant={variant}\n {...getToggleButtonProps({\n ref: mergeRefs(ref, refs.setReference),\n 'aria-disabled': disabled,\n 'aria-label': disabled ? 'Disabled dropdown' : '',\n disabled: disabled,\n readOnly: readOnly,\n label: label,\n labelId: getLabelProps()?.id,\n children: undefined,\n tabIndex: disabled || readOnly ? -1 : 0,\n onKeyDown(e) {\n if (isOpen && e.key === 'Tab') {\n const highlitedItem = normalizedItems[highlightedIndex];\n // we don't want to clear selection with tab\n if (\n (selectOnTab || selectOnBlur) &&\n highlitedItem &&\n highlitedItem !== selectedItem\n ) {\n selectItem(highlitedItem);\n }\n }\n },\n })}\n after={\n <DropdownList\n ariaLabelChosenSingular={ariaLabelChosenSingular}\n ariaLabelSelectedItem={ariaLabelSelectedItem}\n floatingStyles={floatingStyles}\n getItemProps={getItemProps}\n getMenuProps={getMenuProps}\n highlightedIndex={highlightedIndex}\n isOpen={isOpen}\n listItems={normalizedItems}\n noMatchesText={noMatchesText}\n style={listStyle}\n setListRef={refs.setFloating}\n loading={loading ?? resolvedItemsLoading}\n loadingText={loadingText}\n selectedItems={selectedItem !== null ? [selectedItem] : []}\n readOnly={readOnly}\n />\n }\n {...rest}\n // Append is not supported as of now\n append={undefined}\n >\n <div className=\"eds-dropdown__selected-item\">\n {selectedItem?.label ?? (\n <div\n className={classNames(\n 'eds-dropdown__selected-item__placeholder',\n {\n 'eds-dropdown__selected-item__placeholder--readonly':\n readOnly,\n },\n )}\n >\n {placeholder}\n </div>\n )}\n </div>\n <DropdownFieldAppendix\n aria-busy={!(loading ?? resolvedItemsLoading) ? undefined : 'true'}\n aria-expanded={isOpen}\n clearable={clearable}\n onClear={handleOnClear}\n disabled={disabled || readOnly}\n focusable={false}\n labelClearSelected={labelClearSelectedItem}\n isOpen={isOpen}\n itemIsSelected={selectedItem !== null}\n ariaLabelCloseList={ariaLabelCloseList}\n ariaLabelOpenList={ariaLabelOpenList}\n loading={false}\n loadingText={undefined}\n />\n </BaseFormControl>\n );\n },\n);\n","import React, { forwardRef } from 'react';\nimport { BaseFormControl } from '@entur/form';\nimport { DownArrowIcon } from '@entur/icons';\nimport { LoadingDots } from '@entur/loader';\nimport { useRandomId, VariantType } from '@entur/utils';\n\nimport { useResolvedItems } from './useResolvedItems';\nimport {\n NormalizedDropdownItemType,\n PotentiallyAsyncDropdownItemType,\n} from './types';\n\nimport './Dropdown.scss';\n\n/** @deprecated use variant=\"information\" instead */\nconst info = 'info';\n/** @deprecated use variant=\"negative\" instead */\nconst error = 'error';\n\nexport type NativeDropdownProps<ValueType> = {\n /** Ekstra klassenavn */\n className?: string;\n /**\n * For å deaktivere dropdow-nen\n * @default false\n **/\n disabled?: boolean;\n /** Valideringsmelding, brukes sammen med `variant` */\n feedback?: string;\n /** Alle valg for dropdown-en å ha */\n items: PotentiallyAsyncDropdownItemType<ValueType>;\n /** Beskrivende tekst som forklarer feltet */\n label: string;\n /** En callback for endringer av value\n * Obs: merk at parameter her denne ikke er samme som i en HTML select.\n * Bruk { target } hvis du trenger info om select-elementet som ble trykket på\n */\n onChange?: ({\n value,\n selectedItem,\n target,\n }: {\n value: string;\n selectedItem: NormalizedDropdownItemType<ValueType> | null;\n target: EventTarget & HTMLSelectElement;\n }) => void;\n /** Tekst eller ikon som kommer før dropdown-en */\n prepend?: React.ReactNode;\n /**\n * Setter dropdown-en i read-only modus\n * @default false\n **/\n readOnly?: boolean;\n /** Den valgte verdien som NormalizedDropdownItemType\n * (Brukes når komponenten er 'controlled')\n */\n selectedItem?: NormalizedDropdownItemType<ValueType> | null;\n /** Den valgte verdien som sting\n * (Brukes når komponenten er 'controlled)\n */\n value?: string;\n /** Hvilken valideringsvariant som gjelder*/\n variant?: VariantType | typeof error | typeof info;\n /** Plasserer labelen statisk på toppen av inputfeltet\n * @default false\n */\n disableLabelAnimation?: boolean;\n [key: string]: any;\n};\n\nexport const NativeDropdown = forwardRef(\n <ValueType extends string | number>(\n {\n className,\n disabled = false,\n disableLabelAnimation,\n feedback,\n items,\n label,\n loadingText,\n onChange,\n prepend,\n readOnly = false,\n selectedItem,\n style,\n value,\n variant,\n ...rest\n }: NativeDropdownProps<ValueType>,\n ref: React.ForwardedRef<HTMLSelectElement>,\n ) => {\n const { items: normalizedItems, loading } =\n useResolvedItems<ValueType>(items);\n const nativeDropdownId = useRandomId('eds-dropdown-native');\n\n return (\n <BaseFormControl\n disabled={disabled}\n readOnly={readOnly}\n prepend={prepend}\n append={\n <FieldAppend\n hidden={disabled || readOnly}\n loading={loading}\n loadingText={loadingText}\n />\n }\n className={className}\n style={style}\n label={label}\n labelId={nativeDropdownId}\n variant={variant}\n feedback={feedback}\n disableLabelAnimation={disableLabelAnimation}\n isFilled={true}\n >\n <select\n aria-invalid={variant === 'negative' || variant === error}\n aria-labelledby={nativeDropdownId}\n aria-busy={loading}\n className=\"eds-form-control eds-dropdown--native\"\n disabled={disabled || readOnly}\n onChange={event => {\n onChange?.({\n value: event.target.value,\n selectedItem:\n normalizedItems.find(\n item => item.value === event.target.value,\n ) ?? null,\n target: event.target,\n });\n }}\n value={value ?? selectedItem?.value ?? undefined}\n ref={ref}\n {...rest}\n >\n {normalizedItems.map(item => (\n <option key={item.value} value={item.value}>\n {item.label}\n </option>\n ))}\n </select>\n </BaseFormControl>\n );\n },\n);\n\nconst FieldAppend = ({\n loading,\n loadingText,\n hidden,\n}: {\n loading: boolean;\n loadingText?: string;\n hidden: boolean;\n}) => {\n if (loading) {\n return (\n <div className=\"eds-dropdown-native__loading-dots\">\n <LoadingDots aria-label={loadingText} />\n </div>\n );\n }\n if (hidden) {\n return <></>;\n }\n return <DownArrowIcon inline />;\n};\n","import { warnAboutMissingStyles } from '@entur/utils';\nimport './index.scss';\n\nwarnAboutMissingStyles('dropdown', 'form', 'a11y', 'chip');\n\nexport type { NormalizedDropdownItemType, DropdownItemType } from './types';\n\nexport * from './SearchableDropdown';\nexport * from './MultiSelect';\nexport * from './Dropdown';\nexport * from './NativeDropdown';\nexport * from './types';\n"],"names":["DropdownList","_ref","_listItems$","_ref$ariaLabelChosenS","ariaLabelChosenSingular","_ref$ariaLabelSelecte","ariaLabelSelectedItem","getItemProps","getMenuProps","isOpen","highlightedIndex","listItems","floatingStyles","setListRef","_ref$loading","loading","_ref$loadingText","loadingText","_ref$noMatchesText","noMatchesText","selectAllCheckboxState","selectAllItem","selectedItems","_ref$readOnly","readOnly","rest","_objectWithoutPropertiesLoose","_excluded","isMultiselect","undefined","isNoMatches","length","value","isItemSelected","item","some","selectedItem","label","ariaValuesSelectAll","selected","selectAllListItemContent","React","createElement","Fragment","Checkbox","checked","className","tabIndex","onChange","isReactComponent","icon","$$typeof","listItemContent","VisuallyHidden","Array","isArray","icons","filter","map","Icon","index","_ref2","_Icon$displayName","key","displayName","name","inline","_extends","ref","style","display","_item$itemKey","_item$label","_item$value","_item$icons","itemKey","_ref3","_icon$displayName","join","itemIsSelectAll","classNames","SelectedItemTag","_getSelectedItemProps","ariaLabelRemoveSelected","_ref$ariaLabelChosen","ariaLabelChosen","disabled","getSelectedItemProps","removeSelectedItem","selectedItemProps","TagChip","size","onClose","e","stopPropagation","onClick","closeButtonAriaLabel","DropdownFieldAppendix","forwardRef","ariaLabelCloseList","ariaLabelOpenList","_ref3$clearable","clearable","labelClearSelected","_ref3$focusable","focusable","_ref3$loading","onClear","itemIsSelected","_excluded2","getToggleAriaLabel","ClearableButton","labelClearSelectedItems","IconButton","type","DownArrowIcon","LoadingDots","_ref4","_ref4$labelClearSelec","_ref4$focusable","Tooltip","placement","content","onKeyDown","preventDefault","CloseSmallIcon","useNormalizedItems","items","useMemo","useResolvedItems","itemsOrItemsResolver","debounceTimeout","itemsIsAFunction","_React$useState","useState","setItems","_React$useState2","setLoading","abortControllerRef","useRef","AbortController","itemsResolver","Promise","resolve","updateItems","_asyncToGenerator","_regeneratorRuntime","mark","_callee","inputValue","_abortControllerRef$c","abortController","_abortControllerRef$c2","resolvedItems","wrap","_callee$","_context","prev","next","current","abort","sent","signal","aborted","console","warn","abrupt","t0","stop","_x","apply","arguments","debouncedFetchItems","useDebounce","normalizedItems","useEffect","_abortControllerRef$c3","fetchItems","EMPTY_INPUT","lowerCaseFilterTest","input","sanitizeEscapeCharacters","replace","inputRegex","RegExp","test","noFilter","itemToString","itemToKey","isFunctionWithQueryArgument","object","clamp","val","min","max","Math","useMultiselectUtils","selectAll","hasSelectedItems","listItemsWithoutSelectAll","unselectedItemsInListItems","listItem","allListItemsAreSelected","someListItemsAreSelected","addClickedItemToSelectedItems","clickedItem","concat","clickedItemIsInSelectedItems","clickedItemIsSelectAll","handleListItemClicked","unselectAllListItems","selectAllUnselectedItemsInListItems","removeClickedItemFromSelectedItems","selectedItemsWithoutItemsInListItems","getA11yStatusMessage","options","_options$selectAllIte","selectAllItemIncluded","resultCount","resultCountWithoutSelectAll","SearchableDropdown","_document","_getInputProps2","_selectedItem$label","_ref$ariaLabelCloseLi","_ref$ariaLabelOpenLis","_ref$clearable","_ref$disabled","_ref$disableLabelAnim","disableLabelAnimation","feedback","initialItems","_ref$itemFilter","itemFilter","_ref$labelClearSelect","labelClearSelectedItem","labelTooltip","listStyle","_ref$onChange","placeholder","prepend","_ref$selectOnBlur","selectOnBlur","_ref$selectOnTab","selectOnTab","_ref$variant","variant","_useState","showSelectedItem","setShowSelectedItem","_useState2","lastHighlightedIndex","setLastHighlightedIndex","inputRef","_useResolvedItems","resolvedItemsLoading","_useState3","setListItems","filterListItems","updateListItems","shouldRefetchItems","resetInputState","changes","inputHasFocus","document","activeElement","setInputValue","stateReducer","useCallback","state","_ref5","useCombobox","stateChangeTypes","ItemClick","InputKeyDownEnter","InputBlur","ControlledPropUpdatedSelectedItem","InputChange","_changes$inputValue","leadingWhitespaceTest","isSpacePressedOnEmptyInput","match","sanitizedInputValue","_useCombobox","defaultHighlightedIndex","onInputValueChange","onSelectedItemChange","_ref6","newSelectedItem","getToggleButtonProps","getLabelProps","getInputProps","selectItem","reset","_useFloating","useFloating","open","middleware","offset","space","extraSmall2","shift","padding","extraSmall","_ref7","rects","elements","availableHeight","Object","assign","floating","width","reference","maxHeight","flip","fallbackStrategy","refs","update","autoUpdate","handleOnClear","_inputRef$current","focus","BaseFormControl","isFilled","labelId","id","labelProps","onBlur","target","currentTarget","_getInputProps","setReference","after","setFloating","append","highlitedItem","onFocus","mergeRefs","MultiSelect","_inputRef$current4","_ref$clearInputOnSele","clearInputOnSelect","_ref$hideSelectAll","hideSelectAll","_ref$labelAllItemsSel","labelAllItemsSelected","_ref$labelClearAllIte","labelClearAllItems","_ref$labelSelectAll","labelSelectAll","_ref$maxChips","maxChips","_ref$selectedItems","_ref$ariaLabelChosenP","ariaLabelChosenPlural","_ref$ariaLabelJumpToI","ariaLabelJumpToInput","_ref$ariaLabelRemoveS","isAllNonAsyncItemsSelected","useRandomId","summarySelectedItems","_useMultiselectUtils","_useMultipleSelection","useMultipleSelection","onSelectedItemsChange","newSelectedItems","getDropdownProps","setSelectedItems","_inputRef$current$val","_inputRef$current$val2","_inputRef$current2","setHighlightedIndex","_inputRef$current3","_inputRef$current5","shouldSkipTabSelection","preventKeyAction","Dropdown","_getLabelProps","_useSelect","useSelect","_","toggleButtonIsFocused","ToggleButtonKeyDownArrowDown","ToggleButtonKeyDownArrowUp","onStateChange","ToggleButtonBlur","_refs$reference$curre","children","error","NativeDropdown","nativeDropdownId","FieldAppend","hidden","event","_normalizedItems$find","find","warnAboutMissingStyles"],"mappings":"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"}