'use client'; import { ChevronsUpDown } from 'lucide-react'; import { useEffect, useState } from 'react'; import type { Key } from 'react-aria-components'; import { useMediaQuery } from 'usehooks-ts'; import { Drawer as Vaul } from 'vaul'; import { Button } from './Button'; import { ListBox, ListBoxItem } from './ListBox'; import { Popover } from './Popover'; import { Select, SelectValue } from './Select'; export function VersionSelect({ packageName, version, versions, }: { readonly packageName: string; readonly version: string; readonly versions: { readonly version: string }[]; }) { const [selectedVersion, setSelectedVersion] = useState(version); const [open, setOpen] = useState(false); const isMedium = useMediaQuery('(min-width: 768px)'); useEffect(() => { if (isMedium) { setOpen(false); } }, [isMedium, setOpen]); return ( <> {selectedVersion}
{ const [val] = selected; setSelectedVersion(val as Key); }} selectedKeys={[selectedVersion]} selectionMode="single" shouldFocusWrap > {(item) => ( {item.version} )} ); }