@entur/dropdown 7.3.2-beta.0 → 7.3.2-beta.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Dropdown.d.ts +91 -0
- package/dist/MultiSelect.d.ts +108 -0
- package/dist/NativeDropdown.d.ts +56 -0
- package/dist/SearchableDropdown.d.ts +32 -0
- package/dist/components/DropdownList.d.ts +27 -0
- package/dist/components/FieldComponents.d.ts +33 -0
- package/dist/dropdown.cjs.development.js +1825 -0
- package/dist/dropdown.cjs.development.js.map +1 -0
- package/dist/dropdown.cjs.production.min.js +2 -0
- package/dist/dropdown.cjs.production.min.js.map +1 -0
- package/dist/dropdown.esm.js +1678 -7365
- package/dist/dropdown.esm.js.map +1 -1
- package/dist/index.d.ts +7 -313
- package/dist/index.js +8 -0
- package/dist/styles.css +90 -82
- package/dist/types.d.ts +15 -0
- package/dist/useNormalizedItems.d.ts +2 -0
- package/dist/useResolvedItems.d.ts +6 -0
- package/dist/utils.d.ts +39 -0
- package/package.json +21 -39
- package/dist/dropdown.cjs.js +0 -7522
- package/dist/dropdown.cjs.js.map +0 -1
|
@@ -0,0 +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 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 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 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","_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","target","currentTarget","_getInputProps","setReference","after","setFloating","append","event","_inputRef$current2","_getInputProps2","highlitedItem","onBlur","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","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","_normalizedItems$find","find","warnAboutMissingStyles"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@entur/utils"),t=require("react"),n=require("downshift"),l=require("classnames"),a=require("@floating-ui/react-dom"),r=require("@entur/form"),i=require("@entur/tokens"),o=require("@entur/a11y"),u=require("@entur/button"),s=require("@entur/chip"),d=require("@entur/icons"),c=require("@entur/loader"),m=require("@entur/tooltip");function f(e,t){this.v=e,this.k=t}function p(e,t,n,l,a,r,i){try{var o=e[r](i),u=o.value}catch(e){return void n(e)}o.done?t(u):Promise.resolve(u).then(l,a)}function v(){return v=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var l in n)({}).hasOwnProperty.call(n,l)&&(e[l]=n[l])}return e},v.apply(null,arguments)}function b(e,t){if(null==e)return{};var n={};for(var l in e)if({}.hasOwnProperty.call(e,l)){if(-1!==t.indexOf(l))continue;n[l]=e[l]}return n}function g(){var e,t,n="function"==typeof Symbol?Symbol:{},l=n.iterator||"@@iterator",a=n.toStringTag||"@@toStringTag";function r(n,l,a,r){var u=Object.create((l&&l.prototype instanceof o?l:o).prototype);return x(u,"_invoke",function(n,l,a){var r,o,u,s=0,d=a||[],c=!1,m={p:0,n:0,v:e,a:f,f:f.bind(e,4),d:function(t,n){return r=t,o=0,u=e,m.n=n,i}};function f(n,l){for(o=n,u=l,t=0;!c&&s&&!a&&t<d.length;t++){var a,r=d[t],f=m.p,p=r[2];n>3?(a=p===l)&&(u=r[(o=r[4])?5:(o=3,3)],r[4]=r[5]=e):r[0]<=f&&((a=n<2&&f<r[1])?(o=0,m.v=l,m.n=r[1]):f<p&&(a=n<3||r[0]>l||l>p)&&(r[4]=n,r[5]=l,m.n=p,o=0))}if(a||n>1)return i;throw c=!0,l}return function(a,d,p){if(s>1)throw TypeError("Generator is already running");for(c&&1===d&&f(d,p),o=d,u=p;(t=o<2?e:u)||!c;){r||(o?o<3?(o>1&&(m.n=-1),f(o,u)):m.n=u:m.v=u);try{if(s=2,r){if(o||(a="next"),t=r[a]){if(!(t=t.call(r,u)))throw TypeError("iterator result is not an object");if(!t.done)return t;u=t.value,o<2&&(o=0)}else 1===o&&(t=r.return)&&t.call(r),o<2&&(u=TypeError("The iterator does not provide a '"+a+"' method"),o=1);r=e}else if((t=(c=m.n<0)?u:n.call(l,m))!==i)break}catch(t){r=e,o=1,u=t}finally{s=1}}return{value:t,done:c}}}(n,a,r),!0),u}var i={};function o(){}function u(){}function s(){}t=Object.getPrototypeOf;var d=[][l]?t(t([][l]())):(x(t={},l,(function(){return this})),t),c=s.prototype=o.prototype=Object.create(d);function m(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,s):(e.__proto__=s,x(e,a,"GeneratorFunction")),e.prototype=Object.create(c),e}return u.prototype=s,x(c,"constructor",s),x(s,"constructor",u),u.displayName="GeneratorFunction",x(s,a,"GeneratorFunction"),x(c),x(c,a,"Generator"),x(c,l,(function(){return this})),x(c,"toString",(function(){return"[object Generator]"})),(g=function(){return{w:r,m:m}})()}function h(e,t,n,l,a){var r=I(e,t,n,l,a);return r.next().then((function(e){return e.done?e.value:r.next()}))}function I(e,t,n,l,a){return new y(g().w(e,t,n,l),a||Promise)}function y(e,t){function n(l,a,r,i){try{var o=e[l](a),u=o.value;return u instanceof f?t.resolve(u.v).then((function(e){n("next",e,r,i)}),(function(e){n("throw",e,r,i)})):t.resolve(u).then((function(e){o.value=e,r(o)}),(function(e){return n("throw",e,r,i)}))}catch(e){i(e)}}var l;this.next||(x(y.prototype),x(y.prototype,"function"==typeof Symbol&&Symbol.asyncIterator||"@asyncIterator",(function(){return this}))),x(this,"_invoke",(function(e,a,r){function i(){return new t((function(t,l){n(e,r,t,l)}))}return l=l?l.then(i,i):i()}),!0)}function x(e,t,n,l){var a=Object.defineProperty;try{a({},"",{})}catch(e){a=0}x=function(e,t,n,l){function r(t,n){x(e,t,(function(e){return this._invoke(t,n,e)}))}t?a?a(e,t,{value:n,enumerable:!l,configurable:!l,writable:!l}):e[t]=n:(r("next",0),r("throw",1),r("return",2))},x(e,t,n,l)}function C(e){var t=Object(e),n=[];for(var l in t)n.unshift(l);return function e(){for(;n.length;)if((l=n.pop())in t)return e.value=l,e.done=!1,e;return e.done=!0,e}}function S(e){if(null!=e){var t=e["function"==typeof Symbol&&Symbol.iterator||"@@iterator"],n=0;if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length))return{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}}}throw new TypeError(typeof e+" is not iterable")}function _(){var e=g(),t=e.m(_),n=(Object.getPrototypeOf?Object.getPrototypeOf(t):t.__proto__).constructor;function l(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===n||"GeneratorFunction"===(t.displayName||t.name))}var a={throw:1,return:2,break:3,continue:3};function r(e){var t,n;return function(l){t||(t={stop:function(){return n(l.a,2)},catch:function(){return l.v},abrupt:function(e,t){return n(l.a,a[e],t)},delegateYield:function(e,a,r){return t.resultName=a,n(l.d,S(e),r)},finish:function(e){return n(l.f,e)}},n=function(e,n,a){l.p=t.prev,l.n=t.next;try{return e(n,a)}finally{t.next=l.n}}),t.resultName&&(t[t.resultName]=l.v,t.resultName=void 0),t.sent=l.v,t.next=l.n;try{return e.call(this,t)}finally{l.p=t.prev,l.n=t.next}}}return(_=function(){return{wrap:function(t,n,l,a){return e.w(r(t),n,l,a&&a.reverse())},isGeneratorFunction:l,mark:e.m,awrap:function(e,t){return new f(e,t)},AsyncIterator:y,async:function(e,t,n,a,i){return(l(t)?I:h)(r(e),t,n,a,i)},keys:C,values:S}})()}var w=["ariaLabelChosenSingular","ariaLabelSelectedItem","getItemProps","getMenuProps","isOpen","highlightedIndex","listItems","floatingStyles","setListRef","loading","loadingText","noMatchesText","selectAllCheckboxState","selectAllItem","selectedItems","readOnly"],L=function(e){var n,a=e.ariaLabelChosenSingular,i=void 0===a?"valgt":a,u=e.ariaLabelSelectedItem,s=void 0===u?", valgt element, trykk for å fjerne":u,d=e.getItemProps,c=e.getMenuProps,m=e.isOpen,f=e.highlightedIndex,p=e.listItems,g=e.floatingStyles,h=e.setListRef,I=e.loading,y=void 0!==I&&I,x=e.loadingText,C=void 0===x?"Laster inn …":x,S=e.noMatchesText,_=void 0===S?"Ingen treff for søket":S,L=e.selectAllCheckboxState,k=e.selectAllItem,T=e.selectedItems,O=e.readOnly,E=void 0!==O&&O,A=b(e,w),P=void 0!==k,N=!y&&(0===p.length||1===(null==p?void 0:p.length)&&(null==p||null==(n=p[0])?void 0:n.value)===(null==k?void 0:k.value)),V=function(e){return T.some((function(t){return(null==t?void 0:t.value)===(null==e?void 0:e.value)&&(null==t?void 0:t.label)===(null==e?void 0:e.label)}))},j=function(){switch(null==L?void 0:L()){case"indeterminate":return{label:(null==k?void 0:k.label)+", delvis valgt",selected:!1};case!0:return{label:(null==k?void 0:k.label)+", "+i,selected:!0};default:return{label:""+(null==k?void 0:k.label),selected:!1}}},F=function(e){return"function"==typeof e||"object"==typeof e&&null!==e&&"$$typeof"in e&&"symbol"==typeof e.$$typeof};return t.createElement("ul",v({},c({"aria-multiselectable":P,ref:h,className:"eds-dropdown__list",style:v({},g,{display:m&&!E?void 0:"none"},A.style)})),!m||E?null:y?t.createElement("li",{key:"dropdown-list-loading",className:"eds-dropdown__list__item"},C):N?t.createElement("li",{key:"dropdown-list-no-match",className:"eds-dropdown__list__item"},_):p.map((function(e,n){var a,i,u,c,m=null!=(a=e.itemKey)?a:(null!=(i=e.label)?i:"")+"-"+(null!=(u=e.value)?u:"")+"-"+(null!=(c=e.icons)?c:[]).map((function(e){var t,n;return null!=(t=null!=(n=null==e?void 0:e.displayName)?n:null==e?void 0:e.name)?t:"unknown"})).join("-"),b=e.value===(null==k?void 0:k.value);return b&&p.length<=2?null:t.createElement("li",v({className:l("eds-dropdown__list__item",{"eds-dropdown__list__item--select-all":b,"eds-dropdown__list__item--highlighted":f===n,"eds-dropdown__list__item--selected":!P&&V(e)}),key:m},d({item:e,index:n,"aria-selected":b?j().selected:V(e)})),b?t.createElement(t.Fragment,null,t.createElement(r.Checkbox,{"aria-hidden":"true",checked:null==L?void 0:L(),className:"eds-dropdown__list__item__checkbox",tabIndex:-1,onChange:function(){}}),t.createElement("span",{className:"eds-dropdown__list__item__text","aria-label":j().label},null==k?void 0:k.label)):function(e){return t.createElement(t.Fragment,null,P&&t.createElement(r.Checkbox,{"aria-hidden":"true",checked:V(e),className:"eds-dropdown__list__item__checkbox",tabIndex:-1,onChange:function(){}}),t.createElement("span",{className:"eds-dropdown__list__item__text"},e.label,t.createElement(o.VisuallyHidden,null,V(e)?s:"")),Array.isArray(e.icons)?e.icons.filter(F).map((function(e,n){var l,a,r=(null!=(l=null!=(a=e.displayName)?a:e.name)?l:e.name)+"-"+n;return t.createElement(e,{key:r,inline:!0,className:"eds-dropdown__list__item__icon"})})):null)}(e))})))},k=["tabIndex"],T=["ariaLabelCloseList","ariaLabelOpenList","clearable","labelClearSelected","focusable","disabled","isOpen","loading","loadingText","onClear","itemIsSelected"],O=function(e){var n,a=e.ariaLabelRemoveSelected,r=e.ariaLabelChosen,i=void 0===r?"valgt":r,o=e.disabled,u=e.getSelectedItemProps,d=e.readOnly,c=e.removeSelectedItem,m=e.selectedItem,f=b(null!=(n=null==u?void 0:u({selectedItem:m,index:e.index}))?n:{},k);return t.createElement(s.TagChip,v({size:"small",className:l("eds-dropdown__selected-item-tag",{"eds-dropdown__selected-item-tag--readonly":d,"eds-dropdown__selected-item-tag--disabled":o})},f,{onClose:function(e){e.stopPropagation(),c(m)},onClick:function(e){return e.stopPropagation()},closeButtonAriaLabel:m.label+" "+i+", "+a+" ",key:m.value,"aria-live":"polite"}),t.createElement("span",{"aria-hidden":"true",className:"eds-dropdown__selected-item-tag__text"},m.label))},E=t.forwardRef((function(e,n){var a=e.ariaLabelCloseList,r=e.ariaLabelOpenList,i=e.clearable,o=void 0!==i&&i,s=e.labelClearSelected,m=e.focusable,f=void 0!==m&&m,p=e.disabled,g=e.isOpen,h=e.loading,I=void 0!==h&&h,y=e.loadingText,x=e.onClear,C=e.itemIsSelected,S=b(e,T);return t.createElement(t.Fragment,null,!p&&t.createElement("div",{className:"eds-dropdown__appendix"},o&&C&&t.createElement(A,{onClear:x,focusable:!0,labelClearSelectedItems:s}),t.createElement(u.IconButton,v({className:l("eds-dropdown__appendix__toggle-button",{"eds-dropdown__appendix__toggle-button--open":g}),ref:n,"aria-label":I?y:g?a:r},S,{type:"button",tabIndex:f?0:-1}),t.createElement(I?c.LoadingDots:d.DownArrowIcon,{"aria-hidden":"true"}))))})),A=function(e){var n=e.onClear,l=e.labelClearSelectedItems,a=void 0===l?"Fjern valgte":l,r=e.focusable;return t.createElement(t.Fragment,null,t.createElement(m.Tooltip,{"aria-hidden":"true",placement:"top",content:a,className:"eds-dropdown__appendix__clear-button__tooltip"},t.createElement(u.IconButton,{className:"eds-dropdown__appendix__clear-button",type:"button",tabIndex:void 0!==r&&r?0:-1,onClick:function(e){e.stopPropagation(),n()},onKeyDown:function(e){"Enter"!==e.key&&" "!==e.key||(e.preventDefault(),e.stopPropagation(),n())},"aria-label":a},t.createElement(d.CloseSmallIcon,{"aria-hidden":"true"}))),t.createElement("div",{className:"eds-dropdown__appendix__divider"}))},P=function(n,l){void 0===l&&(l=250);var a="function"==typeof n,r=t.useState(a?[]:n),i=r[0],o=r[1],u=t.useState(!1),s=u[0],d=u[1],c=t.useRef(new AbortController),m=t.useMemo((function(){return a?n:function(){return Promise.resolve(n)}}),[n,a]),f=function(){var e,t=(e=_().mark((function e(t){var n,l,a,r;return _().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return null!=c&&c.current&&(null==c||null==(n=c.current)||n.abort()),l=new AbortController,c.current=l,d(!0),e.prev=4,e.next=7,m(null!=t?t:"",c);case 7:if(r=e.sent,null==c||null==(a=c.current)||null==(a=a.signal)||!a.aborted){e.next=11;break}return console.warn("Avbryt den asynkrone funksjonen din med signalet fra AbortController-en for å for å unngå minnelekkasje.",'Funksjonen bør kaste en DOMException med navnet "AbortError" når den avbrytes.',"","\n\nSe eksempel her: https://linje.entur.no/komponenter/skjemaelementer/dropdown#s%C3%B8kbar-dropdown-med-valg-fra-nettverkskall-bassert-p%C3%A5-tekstinput","\nLes mer om AbortController her: https://developer.mozilla.org/en-US/docs/Web/API/AbortController"),e.abrupt("return");case 11:d(!1),o(r),e.next=21;break;case 15:if(e.prev=15,e.t0=e.catch(4),!e.t0||"object"!=typeof e.t0||!("name"in e.t0)||"AbortError"!==e.t0.name){e.next=19;break}return e.abrupt("return");case 19:throw console.warn("The following error was received but not handled inside Entur Designsystems useResolvedItems hook:"),e.t0;case 21:case"end":return e.stop()}}),e,null,[[4,15]])})),function(){var t=this,n=arguments;return new Promise((function(l,a){var r=e.apply(t,n);function i(e){p(r,l,a,i,o,"next",e)}function o(e){p(r,l,a,i,o,"throw",e)}i(void 0)}))});return function(e){return t.apply(this,arguments)}}(),b=e.useDebounce(f,l),g=function(e){return t.useMemo((function(){return e.map((function(e){return"string"==typeof e?{value:e,label:e}:v({},e,void 0===(null==e?void 0:e.value)?{value:e.label}:{value:e.value})}))}),[e])}(i);return t.useEffect((function(){return function(){var e;return null==c||null==(e=c.current)?void 0:e.abort("Component unmounted")}}),[]),t.useEffect((function(){a&&b("")}),[a,m]),{items:g,loading:!!a&&s,fetchItems:b}},N="";function V(e,t){if(!t)return!0;var n=t.replace(/[-/\\^$*+?.()|[\]{}]/g,"\\$&");return new RegExp(n,"i").test(e.label)}function j(e,t){return!0}var F=function(e){return e?e.label:""},M=function(e){return(null==e?void 0:e.label)+(null==e?void 0:e.value)},R=function(e){return"function"==typeof e&&e.length>0},B=function(e,t,n){return void 0===t&&(t=1),void 0===n&&(n=10),Math.min(Math.max(e,t),n)};function D(e){var t=e.selectAllItemIncluded,n=e.resultCount;if(!e.isOpen)return"";var l=void 0!==t&&t?n-1:n;return 0===l?"Ingen resultater":l+" resultat"+(1===l?"":"er")+" tilgjengelig, naviger med pil opp eller ned, velg elementer med Enter."}var q=["ariaLabelChosenSingular","ariaLabelCloseList","ariaLabelOpenList","ariaLabelSelectedItem","className","clearable","debounceTimeout","disabled","disableLabelAnimation","feedback","items","itemFilter","label","labelClearSelectedItem","labelTooltip","listStyle","loading","loadingText","noMatchesText","onChange","placeholder","prepend","readOnly","selectedItem","selectOnBlur","selectOnTab","style","variant"],H=t.forwardRef((function(o,u){var s,d,c=o.ariaLabelChosenSingular,m=o.ariaLabelCloseList,f=void 0===m?"Lukk liste med valg":m,p=o.ariaLabelOpenList,g=void 0===p?"Åpne liste med valg":p,h=o.ariaLabelSelectedItem,I=o.className,y=o.clearable,x=void 0===y||y,C=o.debounceTimeout,S=o.disabled,_=void 0!==S&&S,w=o.disableLabelAnimation,k=void 0!==w&&w,T=o.feedback,O=o.items,A=o.itemFilter,M=void 0===A?R(O)?j:V:A,H=o.label,K=o.labelClearSelectedItem,G=void 0===K?"fjern valgt":K,U=o.labelTooltip,$=o.listStyle,z=o.loading,J=o.loadingText,W=void 0===J?"Laster resultater …":J,Y=o.noMatchesText,Q=void 0===Y?"Ingen tilgjengelige valg …":Y,X=o.onChange,Z=void 0===X?function(){}:X,ee=o.placeholder,te=o.prepend,ne=o.readOnly,le=void 0!==ne&&ne,ae=o.selectedItem,re=o.selectOnBlur,ie=void 0!==re&&re,oe=o.selectOnTab,ue=void 0!==oe&&oe,se=o.style,de=o.variant,ce=void 0===de?"info":de,me=b(o,q),fe=t.useState(null!==ae),pe=fe[0],ve=fe[1],be=t.useState(0),ge=be[0],he=be[1],Ie=t.useRef(null),ye=P(O,C),xe=ye.items,Ce=ye.loading,Se=ye.fetchItems,_e=t.useState(xe),we=_e[0],Le=_e[1],ke=function(e){var t=e.inputValue;return Le(xe.filter((function(e){return M(e,t)})))},Te=function(e){var t=e.inputValue;R(O)&&Se(null!=t?t:N),ke({inputValue:null!=t?t:N})},Oe=function(e){var t=e.changes;return Te({inputValue:N}),v({},t,{inputValue:N})},Ee="undefined"!=typeof document&&(null==Ie?void 0:Ie.current)===(null==(s=document)?void 0:s.activeElement);t.useEffect((function(){ke({inputValue:qe})}),[xe]),t.useEffect((function(){null===De||Ee||(ve(!0),Te({inputValue:N}),He(N))}),[]);var Ae=t.useCallback((function(e,t){var l=t.type,a=t.changes;switch(void 0!==a.highlightedIndex&&(null==a?void 0:a.highlightedIndex)>=0&&he(null==a?void 0:a.highlightedIndex),l){case n.useCombobox.stateChangeTypes.ItemClick:case n.useCombobox.stateChangeTypes.InputKeyDownEnter:case n.useCombobox.stateChangeTypes.InputBlur:return Oe({changes:a});case n.useCombobox.stateChangeTypes.ControlledPropUpdatedSelectedItem:return null===a.selectedItem||Ee||ve(!0),Oe({changes:a});case n.useCombobox.stateChangeTypes.InputChange:var r,i=/^\s+/g,o=" "===a.inputValue;if(o||he(0),null!=(r=a.inputValue)&&r.match(i)){var u=a.inputValue.replace(i,N);if(o){if(!e.isOpen)return v({},a,{inputValue:u,isOpen:!0});if(void 0!==a.highlightedIndex)return v({},a,{inputValue:u,selectedItem:we[a.highlightedIndex]})}}return v({},a,{highlightedIndex:0});default:return a}}),[Se,ke,Ee,Oe]),Pe=n.useCombobox({defaultHighlightedIndex:ge,items:we,itemToString:F,selectedItem:ae,stateReducer:Ae,onInputValueChange:function(e){Te({inputValue:e.inputValue})},onSelectedItemChange:function(e){Z(e.selectedItem)},getA11yStatusMessage:function(e){return D(v({},e,{resultCount:we.length}))}}),Ne=Pe.isOpen,Ve=Pe.getToggleButtonProps,je=Pe.getLabelProps,Fe=Pe.getMenuProps,Me=Pe.getInputProps,Re=Pe.highlightedIndex,Be=Pe.getItemProps,De=Pe.selectedItem,qe=Pe.inputValue,He=Pe.setInputValue,Ke=Pe.selectItem,Ge=Pe.reset,Ue=a.useFloating({open:Ne,placement:"bottom-start",middleware:[a.offset(i.space.extraSmall2),a.shift({padding:i.space.extraSmall}),a.size({apply:function(e){Object.assign(e.elements.floating.style,{width:e.rects.reference.width+"px",maxHeight:B(160,e.availableHeight,320)+"px"})}}),a.flip({fallbackStrategy:"initialPlacement"})]}),$e=Ue.refs,ze=Ue.floatingStyles,Je=Ue.update;return t.useEffect((function(){if(Ne&&$e.reference.current&&$e.floating.current)return a.autoUpdate($e.reference.current,$e.floating.current,Je)}),[Ne,$e.reference,$e.floating,Je]),t.createElement(r.BaseFormControl,v({className:l("eds-dropdown","eds-dropdown--searchable",I,{"eds-dropdown--has-tooltip":void 0!==U}),disabled:_,disableLabelAnimation:k,feedback:T,isFilled:null!==De||qe!==N,label:H,labelId:je().id,labelProps:je(),labelTooltip:U,onClick:function(e){var t;e.target===e.currentTarget&&(null==(t=Me())||null==t.onClick||t.onClick(e))},prepend:te,readOnly:le,ref:$e.setReference,style:se,tabIndex:_||le?-1:void 0,variant:ce,after:t.createElement(L,{ariaLabelChosenSingular:c,ariaLabelSelectedItem:h,floatingStyles:ze,getItemProps:Be,getMenuProps:Fe,highlightedIndex:Re,isOpen:Ne,listItems:we,style:$,setListRef:$e.setFloating,loading:null!=z?z:Ce,loadingText:W,noMatchesText:Q,selectedItems:null!==De?[De]:[],readOnly:le})},me,{append:void 0}),t.createElement("span",{className:l("eds-dropdown--searchable__selected-item",{"eds-dropdown--searchable__selected-item--hidden":!pe}),onClick:function(e){var t,n;_||le||(null==(t=Ie.current)||t.focus(),null==(n=Me())||null==n.onClick||n.onClick(e))},tabIndex:le?0:-1},pe?null==De?void 0:De.label:""),t.createElement("input",v({className:l("eds-dropdown__input eds-form-control",{"eds-dropdown__input--hidden":pe})},Me({onKeyDown:function(e){if(Ne&&"Tab"===e.key){var t=we[Re];(ue||ie)&&t&&t!==De&&Ke(t)}},onBlur:function(){null!==De&&ve(!0)},onFocus:function(){le||ve(!1)},disabled:_,readOnly:le,placeholder:null!=(d=null==De?void 0:De.label)?d:ee,tabIndex:_||le?-1:void 0,ref:e.mergeRefs(Ie,u)}))),t.createElement(E,v({},Ve({"aria-busy":(null!=z?z:Ce)?"true":void 0}),{ariaLabelCloseList:f,ariaLabelOpenList:g,clearable:x,disabled:_||le,onClear:function(){var e;null==(e=Ie.current)||e.focus(),Ge()},focusable:!1,labelClearSelected:G,isOpen:Ne,itemIsSelected:null!==De,loadingText:W,loading:null!=z?z:Ce})))})),K=["className","clearable","clearInputOnSelect","debounceTimeout","disabled","disableLabelAnimation","feedback","hideSelectAll","items","itemFilter","label","labelAllItemsSelected","labelClearAllItems","labelSelectAll","labelTooltip","listStyle","loading","loadingText","maxChips","noMatchesText","onChange","placeholder","readOnly","selectedItems","selectOnBlur","selectOnTab","style","variant","ariaLabelChosenSingular","ariaLabelChosenPlural","ariaLabelCloseList","ariaLabelJumpToInput","ariaLabelOpenList","ariaLabelRemoveSelected","ariaLabelSelectedItem"],G=t.forwardRef((function(u,s){var d,c=u.className,m=u.clearable,f=void 0===m||m,p=u.clearInputOnSelect,g=void 0!==p&&p,h=u.debounceTimeout,I=u.disabled,y=void 0!==I&&I,x=u.disableLabelAnimation,C=u.feedback,S=u.hideSelectAll,_=void 0!==S&&S,w=u.items,k=u.itemFilter,T=void 0===k?R(w)?j:V:k,A=u.label,q=u.labelAllItemsSelected,H=void 0===q?"Alle valgt":q,G=u.labelClearAllItems,U=void 0===G?"Fjern valgte":G,$=u.labelSelectAll,z=void 0===$?"Velg alle":$,J=u.labelTooltip,W=u.listStyle,Y=u.loading,Q=u.loadingText,X=void 0===Q?"Laster resultater …":Q,Z=u.maxChips,ee=void 0===Z?10:Z,te=u.noMatchesText,ne=u.onChange,le=void 0===ne?function(){}:ne,ae=u.placeholder,re=u.readOnly,ie=void 0!==re&&re,oe=u.selectedItems,ue=void 0===oe?[]:oe,se=u.selectOnTab,de=void 0!==se&&se,ce=u.style,me=u.variant,fe=void 0===me?"information":me,pe=u.ariaLabelChosenSingular,ve=u.ariaLabelChosenPlural,be=void 0===ve?"valgte":ve,ge=u.ariaLabelCloseList,he=void 0===ge?"Lukk liste med valg":ge,Ie=u.ariaLabelJumpToInput,ye=void 0===Ie?ue.length+" valgte elementer, trykk for å hoppe til tekstfeltet":Ie,xe=u.ariaLabelOpenList,Ce=void 0===xe?"Åpne liste med valg":xe,Se=u.ariaLabelRemoveSelected,_e=void 0===Se?"trykk for å fjerne valg":Se,we=u.ariaLabelSelectedItem,Le=b(u,K),ke=t.useState(0),Te=ke[0],Oe=ke[1],Ee=t.useRef(null);t.useEffect((function(){void 0!==Le.selectedItem&&console.warn("Incorrect 'selectedItem' prop found, did you mean to use 'selectedItems?")}),[Le.selectedItem]);var Ae=P(w,h),Pe=Ae.items,Ne=Ae.loading,Ve=Ae.fetchItems,je="function"!=typeof w&&ue.length===Pe.length,Fe={value:e.useRandomId("select-all"),label:z},Me=t.useMemo((function(){return{value:N,label:je?H:ue.length+" "+be}}),[je,ue,H,be]),Re=t.useState([].concat(_?[]:[Fe],Pe)),Be=Re[0],De=Re[1],qe=function(e){var t=e.inputValue;return De([].concat(_?[]:[Fe],Pe.filter((function(e){return T(e,t)}))))};t.useEffect((function(){qe({inputValue:st})}),[Pe]);var He=function(e){var t=e.selectedItems,n=e.selectAll,l=t.length>0,a=e.listItems.filter((function(e){return e.value!==n.value})),r=a.filter((function(e){return!t.some((function(t){return t.value===e.value}))})),i=!a.some((function(e){return!t.some((function(t){return t.value===e.value}))})),o=a.some((function(e){return t.some((function(t){return t.value===e.value}))})),u=function(e,n){return n([].concat(t,[e]))},s=function(e){return t.some((function(t){return t.value===e.value}))},d=function(e){return e.value===n.value},c=function(e,n){return n(t.filter((function(t){return t.value!==e.value})))},m=function(e){e([].concat(t,r))},f=function(e){e(t.filter((function(e){return!a.some((function(t){return t.value===e.value}))})))};return{addClickedItemToSelectedItems:u,allListItemsAreSelected:i,clickedItemIsInSelectedItems:s,clickedItemIsSelectAll:d,handleListItemClicked:function(e){var t=e.clickedItem,n=e.onChange;return d(t)?i?f(n):m(n):s(t)?c(t,n):void u(t,n)},hasSelectedItems:l,listItemsWithoutSelectAll:a,removeClickedItemFromSelectedItems:c,selectAllCheckboxState:function(){return!!i||!!o&&"indeterminate"},selectAllUnselectedItemsInListItems:m,someListItemsAreSelected:o,unselectAllListItems:f}}({listItems:Be,selectAll:Fe,selectedItems:ue}),Ke=He.hasSelectedItems,Ge=He.handleListItemClicked,Ue=He.selectAllCheckboxState,$e=He.clickedItemIsInSelectedItems,ze=He.clickedItemIsSelectAll,Je=n.useMultipleSelection({selectedItems:ue,itemToString:F,itemToKey:M,onSelectedItemsChange:function(e){le(e.selectedItems)}}),We=Je.getSelectedItemProps,Ye=Je.getDropdownProps,Qe=Je.reset,Xe=Je.removeSelectedItem,Ze=Je.setSelectedItems,et=t.useCallback((function(e,t){var l=t.changes,a=t.type;switch(void 0!==l.highlightedIndex&&(null==l?void 0:l.highlightedIndex)>=0&&Oe(null==l?void 0:l.highlightedIndex),a){case n.useCombobox.stateChangeTypes.InputBlur:return v({},l,{inputValue:N});case n.useCombobox.stateChangeTypes.InputKeyDownEnter:case n.useCombobox.stateChangeTypes.ItemClick:var r,i;return v({},l,{isOpen:!0,inputValue:g?N:null!=(r=null==Ee||null==(i=Ee.current)?void 0:i.value)?r:N});case n.useCombobox.stateChangeTypes.ControlledPropUpdatedSelectedItem:var o,u;return v({},l,{inputValue:null!=(o=null==Ee||null==(u=Ee.current)?void 0:u.value)?o:N});case n.useCombobox.stateChangeTypes.InputChange:var s,d=/^\s+/g,c=" "===l.inputValue;if(null!=(s=l.inputValue)&&s.match(d)){var m=l.inputValue.replace(d,N);if(c){if(!e.isOpen)return v({},l,{inputValue:m,isOpen:!0});if(void 0!==l.highlightedIndex)return v({},l,{inputValue:m,selectedItem:Be[l.highlightedIndex]})}}return l;default:return l}}),[_,Pe,qe,w]),tt=n.useCombobox(v({defaultHighlightedIndex:Te,items:Be,itemToString:F,selectedItem:null,stateReducer:et,onInputValueChange:function(e){!function(e){var t=e.inputValue;R(w)&&Ve(null!=t?t:N),qe({inputValue:null!=t?t:N})}({inputValue:e.inputValue}),ut(_?0:1),Oe(_?0:1)},onSelectedItemChange:function(e){var t=e.selectedItem;t&&Ge({clickedItem:t,onChange:Ze})},getA11yStatusMessage:function(e){return D(v({},e,{selectAllItemIncluded:!_,resultCount:Be.length}))}},Le)),nt=tt.getInputProps,lt=tt.getItemProps,at=tt.getLabelProps,rt=tt.getMenuProps,it=tt.getToggleButtonProps,ot=tt.highlightedIndex,ut=tt.setHighlightedIndex,st=tt.inputValue,dt=tt.isOpen,ct=tt.setInputValue,mt=a.useFloating({open:dt,placement:"bottom-start",middleware:[a.offset(i.space.extraSmall2),a.shift({padding:i.space.extraSmall}),a.size({apply:function(e){Object.assign(e.elements.floating.style,{width:e.rects.reference.width+"px",maxHeight:B(160,e.availableHeight,320)+"px"})}}),a.flip({fallbackStrategy:"initialPlacement"})]}),ft=mt.refs,pt=mt.floatingStyles,vt=mt.update;t.useEffect((function(){if(dt&&ft.reference.current&&ft.floating.current)return a.autoUpdate(ft.reference.current,ft.floating.current,vt)}),[dt,ft.reference,ft.floating,vt]);var bt=function(){var e;null==(e=Ee.current)||e.focus(),Qe()};return t.createElement(r.BaseFormControl,v({className:l("eds-dropdown","eds-dropdown--multiselect",c,{"eds-dropdown--has-tooltip":void 0!==J}),disabled:y,disableLabelAnimation:x,feedback:C,isFilled:Ke||st!==N,label:A,labelId:at().id,labelProps:at(),labelTooltip:J,onBlur:function(){return ct("")},onClick:function(e){var t;e.target===e.currentTarget&&(null==(t=nt())||null==t.onClick||t.onClick(e))},readOnly:ie,ref:ft.setReference,style:ce,variant:fe,after:t.createElement(L,{ariaLabelChosenSingular:pe,ariaLabelSelectedItem:we,floatingStyles:pt,getItemProps:lt,getMenuProps:rt,highlightedIndex:ot,isOpen:dt,listItems:Be,style:W,setListRef:ft.setFloating,loading:null!=Y?Y:Ne,loadingText:X,noMatchesText:te,selectAllCheckboxState:Ue,selectAllItem:Fe,selectedItems:ue,readOnly:ie})},Le),t.createElement("div",{className:l("eds-dropdown--multiselect__selected-items-and-input",{"eds-dropdown--multiselect__selected-items-and-input--filled":Ke})},ue.length>1?t.createElement(o.VisuallyHidden,{onClick:null==(d=Ee.current)?void 0:d.focus},ye):null,ue.length<=ee?ue.map((function(e,n){return t.createElement(O,{ariaLabelChosen:pe,ariaLabelRemoveSelected:_e,disabled:y,getSelectedItemProps:We,index:n,key:(null==e?void 0:e.label)+("string"==typeof(null==e?void 0:e.value)?e.value:""),readOnly:ie,removeSelectedItem:function(){var t;Xe(e),null==Ee||null==(t=Ee.current)||t.focus()},selectedItem:e})})):t.createElement(O,{ariaLabelRemoveSelected:U,ariaLabelChosen:"",disabled:y,readOnly:ie,removeSelectedItem:bt,selectedItem:Me}),t.createElement("input",v({},nt(v({onKeyDown:function(e){if(de&&dt&&"Tab"===e.key){var t=Be[ot];if(!t)return;if(ze(t)||!ze(t)&&$e(t))return;Ge({clickedItem:t,onChange:Ze})}}},Ye({preventKeyAction:dt,value:null!=st?st:N,ref:e.mergeRefs(Ee,s)}),{className:"eds-dropdown__input eds-form-control",disabled:ie||y,placeholder:ae,tabIndex:y||ie?-1:void 0}))))),t.createElement(E,v({},it({"aria-busy":(null!=Y?Y:Ne)?"true":void 0}),{ariaLabelCloseList:he,ariaLabelOpenList:Ce,clearable:f,disabled:y||ie,onClear:bt,focusable:!1,labelClearSelected:U,isOpen:dt,itemIsSelected:ue.length>0,loadingText:X,loading:null!=Y?Y:Ne})))})),U=["ariaLabelChosenSingular","ariaLabelCloseList","ariaLabelOpenList","ariaLabelSelectedItem","className","clearable","disabled","disableLabelAnimation","feedback","items","label","labelClearSelectedItem","labelTooltip","listStyle","loading","loadingText","noMatchesText","onChange","placeholder","prepend","readOnly","selectedItem","selectOnBlur","selectOnTab","style","variant"],$=t.forwardRef((function(o,u){var s,d,c=o.ariaLabelChosenSingular,m=o.ariaLabelCloseList,f=void 0===m?"Lukk liste med valg":m,p=o.ariaLabelOpenList,g=void 0===p?"Åpne liste med valg":p,h=o.ariaLabelSelectedItem,I=o.className,y=o.clearable,x=void 0!==y&&y,C=o.disabled,S=void 0!==C&&C,_=o.disableLabelAnimation,w=o.feedback,k=o.items,T=o.label,O=o.labelClearSelectedItem,A=void 0===O?"fjern valgt":O,N=o.labelTooltip,V=o.listStyle,j=o.loading,M=o.loadingText,R=void 0===M?"Laster resultater …":M,D=o.noMatchesText,q=void 0===D?"Ingen tilgjengelige valg …":D,H=o.onChange,K=o.placeholder,G=o.prepend,$=o.readOnly,z=void 0!==$&&$,J=o.selectedItem,W=o.selectOnBlur,Y=void 0!==W&&W,Q=o.selectOnTab,X=void 0!==Q&&Q,Z=o.style,ee=o.variant,te=void 0===ee?"information":ee,ne=b(o,U),le=P(k),ae=le.items,re=le.loading,ie=null!==J||void 0!==K,oe=n.useSelect({items:ae,defaultHighlightedIndex:J?void 0:0,selectedItem:J,stateReducer:function(e,t){var l=t.changes,a="undefined"!=typeof document&&document.activeElement===ge.reference.current;switch(t.type){case n.useSelect.stateChangeTypes.ToggleButtonKeyDownArrowDown:case n.useSelect.stateChangeTypes.ToggleButtonKeyDownArrowUp:if(!a)return v({},l,{isOpen:!1})}return l},onStateChange:function(e){var t=e.selectedItem;(e.type!==n.useSelect.stateChangeTypes.ToggleButtonBlur||Y)&&void 0!==t&&(null==H||H(null!=t?t:null))},itemToString:F}),ue=oe.isOpen,se=oe.getItemProps,de=oe.getLabelProps,ce=oe.getMenuProps,me=oe.getToggleButtonProps,fe=oe.highlightedIndex,pe=oe.selectItem,ve=oe.reset,be=a.useFloating({open:ue,placement:"bottom-start",middleware:[a.offset(i.space.extraSmall2),a.shift({padding:i.space.extraSmall}),a.size({apply:function(e){Object.assign(e.elements.floating.style,{width:e.rects.reference.width+"px",maxHeight:B(160,e.availableHeight,320)+"px"})}}),a.flip({fallbackStrategy:"initialPlacement"})]}),ge=be.refs,he=be.floatingStyles,Ie=be.update;return t.useEffect((function(){if(ue&&ge.reference.current&&ge.floating.current)return a.autoUpdate(ge.reference.current,ge.floating.current,Ie)}),[ue,ge.reference,ge.floating,Ie]),t.createElement(r.BaseFormControl,v({className:l("eds-dropdown",I,{"eds-dropdown--has-tooltip":void 0!==N}),disableLabelAnimation:_,feedback:w,isFilled:ie,labelProps:de(),labelTooltip:N,prepend:G,style:Z,variant:te},me({ref:e.mergeRefs(u,ge.setReference),"aria-disabled":S,"aria-label":S?"Disabled dropdown":"",disabled:S,readOnly:z,label:T,labelId:null==(s=de())?void 0:s.id,children:void 0,tabIndex:S||z?-1:0,onKeyDown:function(e){if(ue&&"Tab"===e.key){var t=ae[fe];(X||Y)&&t&&t!==J&&pe(t)}}}),{after:t.createElement(L,{ariaLabelChosenSingular:c,ariaLabelSelectedItem:h,floatingStyles:he,getItemProps:se,getMenuProps:ce,highlightedIndex:fe,isOpen:ue,listItems:ae,noMatchesText:q,style:V,setListRef:ge.setFloating,loading:null!=j?j:re,loadingText:R,selectedItems:null!==J?[J]:[],readOnly:z})},ne,{append:void 0}),t.createElement("div",{className:"eds-dropdown__selected-item"},null!=(d=null==J?void 0:J.label)?d:t.createElement("div",{className:l("eds-dropdown__selected-item__placeholder",{"eds-dropdown__selected-item__placeholder--readonly":z})},K)),t.createElement(E,{"aria-busy":(null!=j?j:re)?"true":void 0,"aria-expanded":ue,clearable:x,onClear:function(){var e;ve(),null==(e=ge.reference.current)||e.focus()},disabled:S||z,focusable:!1,labelClearSelected:A,isOpen:ue,itemIsSelected:null!==J,ariaLabelCloseList:f,ariaLabelOpenList:g,loading:!1,loadingText:void 0}))})),z=["className","disabled","disableLabelAnimation","feedback","items","label","loadingText","onChange","prepend","readOnly","selectedItem","style","value","variant"],J=t.forwardRef((function(n,l){var a,i=n.className,o=n.disabled,u=void 0!==o&&o,s=n.disableLabelAnimation,d=n.feedback,c=n.items,m=n.label,f=n.loadingText,p=n.onChange,g=n.prepend,h=n.readOnly,I=void 0!==h&&h,y=n.selectedItem,x=n.style,C=n.value,S=n.variant,_=b(n,z),w=P(c),L=w.items,k=w.loading,T=e.useRandomId("eds-dropdown-native");return t.createElement(r.BaseFormControl,{disabled:u,readOnly:I,prepend:g,append:t.createElement(W,{hidden:u||I,loading:k,loadingText:f}),className:i,style:x,label:m,labelId:T,variant:S,feedback:d,disableLabelAnimation:s,isFilled:!0},t.createElement("select",v({"aria-invalid":"negative"===S||"error"===S,"aria-labelledby":T,"aria-busy":k,className:"eds-form-control eds-dropdown--native",disabled:u||I,onChange:function(e){var t;null==p||p({value:e.target.value,selectedItem:null!=(t=L.find((function(t){return t.value===e.target.value})))?t:null,target:e.target})},value:null!=(a=null!=C?C:null==y?void 0:y.value)?a:void 0,ref:l},_),L.map((function(e){return t.createElement("option",{key:e.value,value:e.value},e.label)}))))})),W=function(e){var n=e.hidden;return e.loading?t.createElement("div",{className:"eds-dropdown-native__loading-dots"},t.createElement(c.LoadingDots,{"aria-label":e.loadingText})):n?t.createElement(t.Fragment,null):t.createElement(d.DownArrowIcon,{inline:!0})};e.warnAboutMissingStyles("dropdown","form","a11y","chip"),exports.Dropdown=$,exports.MultiSelect=G,exports.NativeDropdown=J,exports.SearchableDropdown=H;
|
|
2
|
+
//# sourceMappingURL=dropdown.cjs.production.min.js.map
|