import { ElementProps, States } from '../../core/types'; import { ReactNode } from 'react'; import { TextFieldProps as ReactAriaTextFieldProps } from 'react-aria-components'; import './TextField.scss'; export type TextFieldProps = ElementProps & ReactAriaTextFieldProps & { disabled?: boolean; errorMessage?: string; isSmall?: boolean; isTextArea?: boolean; leftIcon?: ReactNode; leftIconTooltip?: string | ReactNode; onChange?: (v: string) => void; onBlur?: (v: any) => void; placeholder?: string; rightIcon?: ReactNode; rightIconTooltip?: string | ReactNode; state?: States; supportTitle?: string; title?: string; titleIcon?: ReactNode; titleTooltip?: string | ReactNode; type?: string; value?: string; bgColor?: string; children?: ReactNode; ariaLabel?: string; }; export declare enum InputTooltipLocation { TITLE = "title", LEFT = "left", RIGHT = "right" } /** * TextField component * @param props * @param {string} props.value - The value of the input field * @param {function} props.onChange - The function to call when the input field changes * @param {string} props.placeholder - The placeholder text for the input field * @param {string} props.title - The title of the input field * @param {string} props.supportTitle - The support title of the input field * @param {ReactNode} props.titleIcon - The icon for the title * @param {ReactNode} props.leftIcon - The icon for the left side of the input field * @param {ReactNode} props.rightIcon - The icon for the right side of the input field * @param {ReactNode} props.titleTooltip - The tooltip for the title * @param {ReactNode} props.leftIconTooltip - The tooltip for the left icon * @param {ReactNode} props.rightIconTooltip - The tooltip for the right icon * @param {States} props.state - The state of the input field * @param {string} props.errorMessage - The error message for the input field * @param {boolean} props.disabled - Whether the input field is disabled * @param {boolean} props.isSmall - Whether the input field is small * @param {boolean} props.isTextArea - Whether the input field is a text area * @param {string} props.type - The type of the input field * @param {string} props.bgColor - The background color of the input field * @param {object} rest - Additional props to pass to the input field * @param {string} props.ariaLabel - The aria label of the input field * @returns {JSX.Element} * @category Component * @example * setValue(v)} * placeholder="Placeholder" * title="Title" * supportTitle="Support Title" * titleIcon={} * leftIcon={} * rightIcon={} * titleTooltip="Title Tooltip" * leftIconTooltip="Left Icon Tooltip" * rightIconTooltip="Right Icon Tooltip" * state={States.DISCOVERY} * errorMessage="Error Message" * disabled={false} * isSmall={false} * type="email" * bgColor="#DA5132" * /> * @see https://www.npmjs.com/package/react-aria-components * @constructor */ export declare const TextField: (props: TextFieldProps) => import("react/jsx-runtime").JSX.Element; export default TextField;