import { default as React, ChangeEvent, PropsWithChildren, ReactElement } from 'react'; import { Size } from 'types'; export interface TextInputProps extends PropsWithChildren, Omit, 'onChange' | 'size' | 'children'> { value?: string; onChange?: (value: string, event: ChangeEvent) => void; wrapperClassName?: string; wrapperStyle?: React.CSSProperties; invalid?: boolean; size?: Size; rainbowEffect?: boolean; transparent?: boolean; Component?: ReactElement; readonlyStyles?: boolean; } export interface TextIslandProps extends React.HTMLAttributes { label: string; placement?: 'left' | 'right'; } export interface IconIslandProps extends React.HTMLAttributes { icon: ReactElement; placement?: 'left' | 'right'; } export interface LoadingIslandProps extends React.HTMLAttributes { placement?: 'left' | 'right'; } type MergedActionIslandProps = React.ButtonHTMLAttributes; export interface ActionIslandProps extends Omit { label: string; icon?: ReactElement; showLabel?: boolean; placement?: 'left' | 'right'; danger?: boolean; onClick?: () => void; } export interface CustomIslandProps extends React.HTMLAttributes { placement?: 'left' | 'right'; } export {};