/** @packageDocumentation * @module PropertyEditors */ import "./EditorContainer.scss"; import * as React from "react"; import { PropertyRecord, PropertyValue } from "@bentley/ui-abstract"; import { CommonProps } from "@bentley/ui-core"; /** Arguments for the Property Updated event callback * @beta */ export interface PropertyUpdatedArgs { /** The property being updated. */ propertyRecord: PropertyRecord; /** The new value for the property. */ newValue: PropertyValue; } /** Properties for a property editor component * @beta */ export interface PropertyEditorProps extends CommonProps { /** The property being updated. */ propertyRecord?: PropertyRecord; /** Handler for commit */ onCommit?: (args: PropertyUpdatedArgs) => void; /** Handler for cancel */ onCancel?: () => void; /** Handler for blur */ onBlur?: (event: React.FocusEvent) => void; /** Indicates whether the Property Editor should set focus */ setFocus?: boolean; } /** [[EditorContainer]] React component properties * @beta */ export interface EditorContainerProps extends CommonProps { /** The property being updated. */ propertyRecord: PropertyRecord; /** Tooltip text */ title?: string; /** Handler for commit */ onCommit: (args: PropertyUpdatedArgs) => void; /** Handler for cancel */ onCancel: () => void; /** Indicates whether the Property Editor should set focus */ setFocus?: boolean; /** @internal */ ignoreEditorBlur?: boolean; } /** Interface implemented by React based type editors * @beta */ export interface TypeEditor { getPropertyValue: () => Promise; htmlElement: HTMLElement | null; hasFocus: boolean; } /** * EditorContainer React component used by the Table, Tree and PropertyGrid for cell editing. * @beta */ export declare class EditorContainer extends React.PureComponent { private _editorRef; private _propertyEditor; private _spanRef; private createEditor; componentDidMount(): void; componentWillUnmount(): void; private _handleEditorBlur; private _handleContainerBlur; private _handleClick; private _handleKeyDown; private _handleRightClick; private onPressEscape; private onPressEnter; private onPressTab; private displayInputFieldMessage; private isNewValueValid; private _handleEditorCommit; private _handleContainerCommit; private _commit; private _handleEditorCancel; private _commitCancel; /** @internal */ render(): JSX.Element; } //# sourceMappingURL=EditorContainer.d.ts.map