import * as React from 'react'; import { ChangeEvent, CSSProperties, HTMLProps, KeyboardEvent } from 'react'; import './TS_TextAreaV2.scss'; import { UIProps_EditableItem } from '../../utils/EditableItem.js'; import { ComponentProps_Error } from '../types.js'; type MetaKeys = 'shiftKey' | 'altKey' | 'ctrlKey' | 'metaKey'; type InputState = { id?: string; name?: string; initialValue?: string; value?: string; }; type BaseInfraProps_TS_TextAreaV2 = { saveEvent?: ('blur' | 'accept' | 'change')[]; forceAcceptKeys?: MetaKeys[]; className?: string; style?: CSSProperties; resizeWithText?: boolean; trim?: boolean; autoComplete?: string; spellCheck?: boolean; }; type BaseAppLevelProps_TS_TextAreaV2 = ComponentProps_Error & Omit, 'onChange' | 'onBlur' | 'ref'> & BaseInfraProps_TS_TextAreaV2 & { id?: string; placeholder?: string; name?: string; focus?: boolean; innerRef?: React.RefObject; onCancel?: () => void; }; export type TemplatingProps_TS_TextAreaV2 = BaseInfraProps_TS_TextAreaV2; export type Props_TS_TextAreaV2 = BaseAppLevelProps_TS_TextAreaV2 & { value?: string; onChange?: (value: string, id: string) => void; onAccept?: (value: string, event: KeyboardEvent) => void; onBlur?: (value: string, event: React.FocusEvent) => void; }; export type NativeProps_TS_TextAreaV2 = Props_TS_TextAreaV2 & { componentRef?: React.RefObject; }; export type EditableItemProps_TS_TextAreaV2 = BaseAppLevelProps_TS_TextAreaV2 & UIProps_EditableItem & { onChange?: (value: string) => void; componentRef?: React.RefObject; }; /** * A better way to capture user input * * * * * */ export declare class TS_TextAreaV2 extends React.Component { static readonly editableString: (mandatoryProps: TemplatingProps_TS_TextAreaV2) => (props: NativeProps_TS_TextAreaV2) => import("react/jsx-runtime").JSX.Element; static readonly editable: (templateProps: TemplatingProps_TS_TextAreaV2) => (props: EditableItemProps_TS_TextAreaV2) => import("react/jsx-runtime").JSX.Element; static defaultProps: { forceAcceptKeys: MetaKeys[]; saveEvent: string[]; }; protected ref?: HTMLTextAreaElement; constructor(props: Props_TS_TextAreaV2); static getDerivedStateFromProps(props: Props_TS_TextAreaV2, state: InputState): { id: string | undefined; name: string | undefined; initialValue: string | (readonly string[] & string) | undefined; value: string; } | { value: string | undefined; }; private static getInitialState; changeValue: (event: ChangeEvent) => void; onKeyDown: (ev: KeyboardEvent) => void; resizeWithText: () => void; componentDidMount(): void; componentDidUpdate(): void; render(): import("react/jsx-runtime").JSX.Element; } export {};