import { BaseInputProps, InputAutoComplete, InputAutoCorrect, InputKeyEvents, InputSpellcheck } from '../input/interfaces'; import { BaseComponentProps } from '../internal/base-component'; import { FormFieldValidationControlProps } from '../internal/context/form-field-context'; import { BaseKeyDetail } from '../internal/events'; /** * @awsuiSystem core */ import { NativeAttributes } from '../internal/utils/with-native-attributes'; export interface TextareaProps extends Omit, InputKeyEvents, InputAutoCorrect, InputAutoComplete, InputSpellcheck, BaseComponentProps, FormFieldValidationControlProps { /** * Specifies the number of lines of text to set the height to. */ rows?: number; /** * Specifies whether to disable browser spellcheck feature. * If you set this to `true`, it disables native browser capability * that checks for spelling/grammar errors. * If you don't set it, the behavior follows the default behavior * of the user's browser. * * @deprecated Use the `spellcheck` property instead. */ disableBrowserSpellcheck?: boolean; /** * Attributes to add to the native `textarea` element. * Some attributes will be automatically combined with internal attribute values: * - `className` will be appended. * - Event handlers will be chained, unless the default is prevented. * * We do not support using this attribute to apply custom styling. * * @awsuiSystem core */ nativeTextareaAttributes?: NativeAttributes>; /** * An object containing CSS properties to customize the textarea's visual appearance. * Refer to the [style](/components/textarea/?tabId=style) tab for more details. * @awsuiSystem core */ style?: TextareaProps.Style; } export declare namespace TextareaProps { type KeyDetail = BaseKeyDetail; interface ChangeDetail { /** * The new value of this textarea. */ value: string; } interface Ref { /** * Sets input focus on the textarea control. */ focus(): void; } interface Style { root?: { backgroundColor?: { default?: string; disabled?: string; focus?: string; hover?: string; readonly?: string; }; borderColor?: { default?: string; disabled?: string; focus?: string; hover?: string; readonly?: string; }; borderRadius?: string; borderWidth?: string; boxShadow?: { default?: string; disabled?: string; focus?: string; hover?: string; readonly?: string; }; color?: { default?: string; disabled?: string; focus?: string; hover?: string; readonly?: string; }; fontSize?: string; fontWeight?: string; paddingBlock?: string; paddingInline?: string; }; placeholder?: { color?: string; fontSize?: string; fontStyle?: string; fontWeight?: string; }; } }