import * as React from 'react'; import { GridContext, GridSection } from './Grid'; import { Model } from '@singularsystems/neo-core'; import ComponentBase from '../ComponentBase'; interface IRowProps extends React.DetailedHTMLProps, HTMLTableRowElement> { showInHeader?: boolean; /** * Note: This only applies to clicks on rows in the body of the grid. (Not rows in the header or footer). */ onClick?: React.MouseEventHandler; /** * Handler for click events on header or footer rows. The section is passed as the first argument. */ onHeaderClick?: (section: GridSection, e: React.MouseEvent) => void; /** Class name that will not be applied to headers. */ bodyClassName?: string; /** Allows overriding the tooltip shown when an item is marked for deletion. */ isDeletingTooltip?: string; } export default class Row extends ComponentBase { static contextType: React.Context>; context: React.ContextType; constructor(props: IRowProps); static defaultProps: { showInHeader: boolean; }; private setGridContext; private section; private stateObserver; private expandProperty?; private firstRowInGroup; private item?; onFirstRender(): void; componentWillUnmount(): void; onExpandClick(): void; render(): false | React.JSX.Element; } interface INeoChildRowProps extends React.HTMLProps { /** * Overrides the value of the isExpanded property, or allows you to control the expansion of the child row manually. */ isExpanded?: boolean; /** * By default, the expand column will cause the child row to be indented. * Setting this to true will make the child row take the full width of the table. */ isFullWidth?: boolean; /** * Props to apply to the inner child cell. */ childCellProps?: React.HTMLProps; } export declare class ChildRow extends ComponentBase { static contextType: React.Context>; context: React.ContextType; constructor(props: INeoChildRowProps); wasExpanded: boolean; lastExpandValue: boolean | null; expandProperty?: Model.IPropertyInstance; inBody?: boolean; margin: number; containerDiv: React.RefObject; private get isExpanded(); protected onFirstRender(): void; protected afterRender(isInitial: boolean): void; private afterTransition; private setHeight; private fixPadding; render(): false | React.JSX.Element | undefined; } interface INeoRowGroupProps { /** * If set, will add an expand button to the grid, and will cause ChildRows to be expanded when the property value is true. * To hide the expand button, return null. */ expandProperty?: Model.IPropertyInstance; /** @deprecated change your expand property to return `null` to hide the expand button. */ hideExpandButton?: boolean; children: React.ReactNode; } export declare class RowGroup extends React.Component { static contextType: React.Context>; context: React.ContextType; render(): React.ReactNode; } export {};