'use client' import * as React from 'react' import { Select as BaseSelect } from '@base-ui/react/select' import { useReducedMotion } from '../../hooks/use-reduced-motion' import { cn } from '../../internal/utils' import { type FloatingContentProps, splitFloatingProps } from '../../internal/floating' import { inputVariants } from '../input/input-variants' type SelectSize = 'sm' | 'md' | 'lg' type SelectVariant = 'outline' | 'soft' interface SelectContextValue { size: SelectSize variant: SelectVariant alignItemWithTrigger: boolean hasValue: boolean clear: (event?: React.SyntheticEvent) => void multiple: boolean reducedMotion: boolean } const SelectContext = React.createContext(null) function useSelectContext() { const ctx = React.useContext(SelectContext) if (!ctx) { throw new Error('Select sub-components must be rendered inside