{"version":3,"file":"Autosuggest.cjs","sources":["../../../../src/components/autosuggest/Autosuggest.tsx"],"sourcesContent":["import type { StateChangeOptions } from \"downshift\";\nimport React, { useEffect, useState } from \"react\";\nimport BaseAutosuggest from \"./BaseAutosuggest.js\";\nimport type { AutosuggestProps } from \"./types.js\";\nimport { filter } from \"./utils.js\";\n\nexport const Autosuggest = ({\n    allItems,\n    onChange = () => {\n        /* default noop */\n    },\n    onConfirm = () => {\n        /* noop */\n    },\n    onInputValueChange,\n    onStateChange,\n    value,\n    isOpen,\n    ...rest\n}: AutosuggestProps): JSX.Element => {\n    const [hits, setHits] = useState(allItems);\n\n    useEffect(() => setHits(allItems), [allItems]);\n\n    const handleStateChange = (changes: StateChangeOptions<string>) => {\n        if (onStateChange) {\n            onStateChange(changes);\n        }\n\n        if (changes.selectedItem !== undefined) {\n            onChange(changes.selectedItem || \"\");\n        } else if (changes.inputValue) {\n            setHits(filter(allItems, changes.inputValue));\n        }\n    };\n\n    const itemToString = (item: string | null) => (item ? item : \"\");\n\n    return (\n        <BaseAutosuggest\n            {...rest}\n            items={hits}\n            itemToString={itemToString}\n            onConfirm={onConfirm}\n            downshiftProps={{\n                selectedItem: value,\n                onInputValueChange,\n                onStateChange: handleStateChange,\n                isOpen,\n            }}\n        />\n    );\n};\n"],"names":["allItems","onChange","onConfirm","onInputValueChange","onStateChange","value","isOpen","rest","hits","setHits","useState","useEffect","jsx","BaseAutosuggest","items","itemToString","item","downshiftProps","selectedItem","changes","inputValue","filter"],"mappings":"wNAM2B,EACvBA,SAAAA,EACAC,SAAAA,EAAW,OAGXC,UAAAA,EAAY,OAGZC,mBAAAA,EACAC,cAAAA,EACAC,MAAAA,EACAC,OAAAA,KACGC,MAEH,MAAOC,EAAMC,GAAWC,EAAAA,SAASV,GAEjCW,EAAAA,UAAU,IAAMF,EAAQT,GAAW,CAACA,IAgBpC,OACIY,EAAAA,IAACC,EAAA,IACON,EACJO,MAAON,EACPO,aANcC,GAAyBA,GAAc,GAOrDd,UAAAA,EACAe,eAAgB,CACZC,aAAcb,EACdF,mBAAAA,EACAC,cAvBee,IACnBf,GACAA,EAAce,QAGW,IAAzBA,EAAQD,aACRjB,EAASkB,EAAQD,cAAgB,IAC1BC,EAAQC,YACfX,EAAQY,EAAAA,OAAOrB,EAAUmB,EAAQC,cAgB7Bd,OAAAA"}