import { default as React } from 'react'; import { BreakpointSupport } from '../../../helpers'; import { IconWithoutBackgroundProps } from '../../base/icon/icon'; import { FeedbackTextProps } from '../feedback-text/feedback-text'; import { FieldElement } from '../field/field'; import { FormLabelProps } from '../form-label/form-label'; type TextFieldBreakpointProps = { /** * Controls the visual size of the text field. * * - `'small'` → Compact version (smaller height, padding, and font size) * - `'default'` → Standard size (most commonly used) * - `'large'` → Larger touch target, bigger text and padding * * @default 'default' */ size?: 'default' | 'small' | 'large'; /** * Icon displayed inside the text field on the right side. * * Accepts either: * - A simple string (icon name) → e.g. `'search'`, `'user'`, `'calendar'` * - A full `IconWithoutBackgroundProps` object for advanced configuration (size, color, className, etc.) * * When `onIconClick` is provided, the icon becomes a clickable button. * Otherwise, it is rendered as a non-interactive decorative element. */ icon?: string | IconWithoutBackgroundProps; /** * If `true`, renders a `