import { OmitInternalProps } from '../../type-utils/omit-props'; import { HTMLChakraProps, SlotRecipeProps, UnstyledProp } from '@chakra-ui/react/styled-system'; import { TextFieldProps as RaTextFieldProps } from 'react-aria-components'; export type MultilineTextInputRecipeProps = { /** * Size variant of the multiline text input * @default "md" */ size?: SlotRecipeProps<"nimbusMultilineTextInput">["size"]; /** * Visual style variant of the multiline text input * @default "solid" */ variant?: SlotRecipeProps<"nimbusMultilineTextInput">["variant"]; } & UnstyledProp; export type MultilineTextInputRootSlotProps = HTMLChakraProps<"div", MultilineTextInputRecipeProps>; export type MultilineTextInputLeadingElementSlotProps = HTMLChakraProps<"div", MultilineTextInputRecipeProps>; export type MultilineTextInputTextAreaSlotProps = HTMLChakraProps<"textarea", MultilineTextInputRecipeProps>; export type MultilineTextInputProps = OmitInternalProps & RaTextFieldProps & { /** * Ref forwarding to the textarea element */ ref?: React.Ref; /** * Whether the textarea should automatically adjust its height based on content * @default false */ autoGrow?: boolean; /** * Number of visible text rows * @default 1 */ rows?: number; /** * Optional element to display at the start of the textarea * Respects text direction (left in LTR, right in RTL) */ leadingElement?: React.ReactNode; /** * Placeholder text for the textarea */ placeholder?: string; };