import { ReactNode } from 'react'; import { MouseKeyboardEvent } from '.'; export interface BaseProps { children?: ReactNode; classNames?: string; style?: React.CSSProperties; } export interface NavigationProps extends BaseProps { isActive?: boolean; infinite?: boolean; } export interface InteractionProps { onLeft?: (e: KeyboardEvent, index?: number) => void; onRight?: (e: KeyboardEvent, index?: number) => void; onUp?: (e: KeyboardEvent, index?: number) => void; onDown?: (e: KeyboardEvent, index?: number) => void; onOk?: (e: KeyboardEvent, index?: number) => void; onBack?: (e: KeyboardEvent, index?: number) => void; onMouseEnter?: (e: React.MouseEvent, index?: number) => void; onMouseLeave?: (e: React.MouseEvent, index?: number) => void; } export interface NavigableComponentProps extends NavigationProps, InteractionProps { } export interface BaseInputProps extends NavigableComponentProps { value?: string; placeholder?: string; disabled?: boolean; onChange?: (value: string, e?: MouseKeyboardEvent) => void; maxLength?: number; variant?: 'standard' | 'outlined'; type?: 'text' | 'password' | 'number'; }