///
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;
}