import type { ReactNode } from 'react' import * as React from 'react' const SelectContext = React.createContext({ value: undefined as unknown, onValueChange: (_value: unknown) => {}, }) type SelectProps = { children?: ReactNode value?: unknown onValueChange?: (value: unknown) => void } export const Select = ({ children, value, onValueChange, }: SelectProps) => ( {}) }}>
{children}
) export const SelectTrigger = ({ children, ...props }: React.ButtonHTMLAttributes & { children?: ReactNode }) => ( ) export const SelectValue = ({ placeholder }: { placeholder?: ReactNode }) => <>{placeholder} export const SelectContent = ({ children }: { children?: ReactNode }) => (
{children}
) export const SelectItem = ({ children, value, onClick, ...props }: React.HTMLAttributes & { children?: ReactNode, value?: unknown }) => { const select = React.useContext(SelectContext) return (
{ onClick?.(event) select.onValueChange(value) }} {...props} > {children}
) } export const SelectItemText = ({ children }: { children?: ReactNode }) => <>{children} export const SelectItemIndicator = ({ children }: { children?: ReactNode }) => <>{children} export const SelectGroup = ({ children }: { children?: ReactNode }) => <>{children} export const SelectLabel = ({ children }: { children?: ReactNode }) => <>{children} export const SelectSeparator = (props: React.HTMLAttributes) =>