import clsx from 'clsx'; import { h, JSX } from 'preact'; import { useState } from 'preact/hooks'; import { ArrowIcon } from 'components/icons/arrow'; import styles from './select.module.css'; type Item = { label: string | number; value: string | number | undefined; }; type Props = Omit< JSX.HTMLAttributes, 'className' | 'onFocus' | 'onBlur' | 'selected' | 'label' | 'icon' | 'size' > & { size?: 'sm' | 'md'; items: Item[]; selected?: Item; }; export function Select({ items, selected, size = 'md', ...props }: Props) { const [focus, setFocus] = useState(false); const selectedItem = selected ?? items[0]; const iconSize = { sm: 10, md: 12, }; return ( {selectedItem.label} ); }