import { ComponentProps, ReactNode } from 'react'; import { Colors, DeepPartial, MainSizes } from '../../types'; import { InputTheme } from './themeTypes'; /** * @name InputLabelPositionsEnum * @description Enum for different label positions in the BaseInputs component. * @enum [top, left] */ export declare enum InputLabelPositionsEnum { top = "top", left = "left" } /** * @name InputLabelPositions * @description Type for label positions in the BaseInputs component. * @enum [top, left] */ export type InputLabelPositions = keyof typeof InputLabelPositionsEnum; /** * @name BaseInputsProps * @description Base props for input components. */ export interface BaseInputsProps { /** * @name color * @description Optional prop to specify the color of the input. * @default null * @type Colors * @enum [primary, secondary, success, danger, warning, info, light, dark, link] * @example * ```tsx * * ``` */ color?: Colors; /** * @name helperText * @description Optional prop to provide helper text for the input. * @default null * @type ReactNode * @example * ```tsx * * ``` */ helperText?: ReactNode; /** * @name leftComponent * @description Optional prop to add a component to the left of the input.Recommended to icons * @default null * @type ReactNode * @example * ```tsx * } /> * ``` */ leftComponent?: ReactNode; /** * @name rightComponent * @description Optional prop to add a component to the right of the input. Recommended to icons * @default null * @type ReactNode * @example * ```tsx * } /> * ``` */ rightComponent?: ReactNode; /** * @name size * @description Optional prop to specify the size of the input. * @default null * @type MainSizes * @enum [xs, sm, md, lg, xl] * @example * ```tsx * * ``` */ size?: MainSizes; /** * @name theme * @description Optional prop to change the theme of the input. * @default {} * @type DeepPartial * @example * ```tsx * * ``` */ theme?: DeepPartial; /** * @name border * @description Optional prop to add a border to the input. * @default false * @type boolean * @example * ```tsx * * ``` */ border?: boolean; /** * @name label * @description Optional prop to add a label to the input. * @default null * @type string * @example * ```tsx * * ``` */ label?: string; /** * @name labelPosition * @description Optional prop to specify the position of the label. * @default top * @type InputLabelPositions * @enum [top, left] * @example * ```tsx * * ``` */ labelPosition?: InputLabelPositions; /** * @name labelClassName * @description Optional prop to add additional classes to the label. * @default '' * @type string * @example * ```tsx * * ``` */ labelClassName?: string; /** * @name innerClassName * @description Optional prop to add additional classes to the inner input container. * @default '' * @type string * @example * ```tsx * * ``` */ innerClassName?: string; onTextChange?: (text: string) => void; } /** * @name InputProps * @description Props for the Input component. * @type BaseInputsProps * @property addon `ReactNode` */ export interface InputProps extends Omit, "ref" | "color" | "size">, BaseInputsProps { } //# sourceMappingURL=props.d.ts.map