import type { CSSProperties, InputHTMLAttributes, ReactNode } from 'react' /** * Display Case — Input * Text / number field. Supports a leading label slot and a trailing unit suffix * (used by the device-dimension fields: 1280 × 800). The border + marigold * focus ring live on the wrapper so prefix/suffix sit inside the field. */ export type InputSize = 'sm' | 'md' export interface InputProps extends Omit, 'size' | 'prefix'> { size?: InputSize /** Leading label slot (mono). */ prefix?: ReactNode /** Trailing unit suffix (mono). */ suffix?: ReactNode /** Style applied to the field wrapper (e.g. a fixed width). */ wrapperStyle?: CSSProperties /** Class applied to the field wrapper. */ wrapperClassName?: string } export function Input({ size = 'md', prefix, suffix, disabled = false, wrapperStyle, wrapperClassName, ...rest }: InputProps) { return ( {prefix ? {prefix} : null} {suffix ? {suffix} : null} ) }