/// import '../../yamui'; import * as React from 'react'; import { BaseComponentProps } from '../../util/BaseComponent/props'; import './EditableText.css'; export interface EditableTextProps extends BaseComponentProps { /** * Current text. */ text?: string; /** * The text to display when text is empty. */ promptText?: string; /** * The TextField placeHolder text. */ placeHolder?: string; /** * An optional max length for the description field when editing. */ maxLength?: number; /** * Returns the new text string when updated. Triggered by enter keypress or blur event to close the textfield. */ onUpdate?: ((text: string) => void); /** * Triggered when the user enters edit mode. */ onBeginEditing?: (() => void); /** * Triggered when the user exits edit mode. */ onEndEditing?: (() => void); } export interface EditableTextState { isEditing: boolean; editedValue: string; } /** * Displays text which can be edited on click. */ export default class EditableText extends React.Component { private textFieldFocusable; private clickableFocusable; constructor(props: EditableTextProps); render(): JSX.Element; componentDidUpdate(_prevProps: EditableTextProps, prevState: EditableTextState): void; private onKeyDown; private setTextFieldFocusable; private setClickableFocusable; private updateInternalEditedDescription; private setTextFieldFocus(); private setClickableFocus(); private handleEditClick; private cancelEdit; private commitEdit; }