@handsontable/react
Version:
Best Data Grid for React with Spreadsheet Look and Feel.
51 lines (50 loc) • 2.07 kB
TypeScript
import Handsontable from 'handsontable/base';
import React from 'react';
import { ConnectedComponent } from 'react-redux';
/**
* Type of the editor component's ReactElement.
*/
export declare type HotEditorElement = React.ReactElement<{}, ConnectedComponent<React.FunctionComponent, any> | any>;
/**
* Type of the identifier under which the cached editor components are stored.
*/
export declare type EditorScopeIdentifier = 'global' | number;
/**
* Type of the cache map for the Handsontable editor components.
*/
export declare type HotEditorCache = Map<Function, Map<EditorScopeIdentifier, React.Component>>;
/**
* Interface for the `prop` of the HotTable component - extending the default Handsontable settings with additional,
* component-related properties.
*/
export interface HotTableProps extends Handsontable.GridSettings {
id?: string;
className?: string;
style?: React.CSSProperties;
settings?: Handsontable.GridSettings;
children?: React.ReactNode;
}
/**
* Interface for the props of the component-based editors.
*/
export interface HotEditorProps {
"hot-editor": any;
id?: string;
className?: string;
style?: React.CSSProperties;
}
/**
* Properties related to the HotColumn architecture.
*/
export interface HotColumnProps extends Handsontable.ColumnSettings {
settings?: Handsontable.ColumnSettings;
_componentRendererColumns?: Map<number | string, boolean>;
_emitColumnSettings?: (columnSettings: Handsontable.ColumnSettings, columnIndex: number) => void;
_columnIndex?: number;
_getChildElementByType?: (children: React.ReactNode, type: string) => React.ReactElement;
_getRendererWrapper?: (rendererNode: React.ReactElement) => typeof Handsontable.renderers.BaseRenderer;
_getEditorClass?: (editorElement: React.ReactElement, editorColumnScope: EditorScopeIdentifier) => typeof Handsontable.editors.BaseEditor;
_getEditorCache?: () => HotEditorCache;
_getOwnerDocument?: () => Document;
children?: React.ReactNode;
}