@ni/nimble-react
Version:
React components for the NI Nimble Design System
36 lines (35 loc) • 1.97 kB
TypeScript
import { Table, tableTag } from '@ni/nimble-components/dist/esm/table';
import type { TableActionMenuToggleEventDetail, TableRowExpansionToggleEventDetail, TableColumnConfigurationChangeEventDetail, TableRowSelectionEventDetail, TableRecord, TableSetRecordHierarchyOptions } from '@ni/nimble-components/dist/esm/table/types';
import type { RefAttributes, RefObject } from 'react';
import { type EventName } from '../utilities/react-wrapper';
export { tableTag };
export { type Table, type TableRecord, type TableSetRecordHierarchyOptions };
export declare const NimbleTable: import("@lit/react").ReactWebComponent<Table<TableRecord>, {
onActionMenuBeforeToggle: EventName<TableActionMenuBeforeToggleEvent>;
onActionMenuToggle: EventName<TableActionMenuToggleEvent>;
onSelectionChange: EventName<TableSelectionChangeEvent>;
onColumnConfigurationChange: EventName<TableColumnConfigurationChangeEvent>;
onRowExpandToggle: EventName<TableRowExpandToggleEvent>;
}>;
export interface TableActionMenuBeforeToggleEvent extends CustomEvent<TableActionMenuToggleEventDetail> {
target: Table;
}
export interface TableActionMenuToggleEvent extends CustomEvent<TableActionMenuToggleEventDetail> {
target: Table;
}
export interface TableSelectionChangeEvent extends CustomEvent<TableRowSelectionEventDetail> {
target: Table;
}
export interface TableColumnConfigurationChangeEvent extends CustomEvent<TableColumnConfigurationChangeEventDetail> {
target: Table;
}
export interface TableRowExpandToggleEvent extends CustomEvent<TableRowExpansionToggleEventDetail> {
target: Table;
}
/**
* Helper to assign Table refs with generics to ref bindings
* See: https://github.com/ni/nimble/issues/2784
* @param tableRef A ref to a table created with `useRef`
* @returns A ref type compatible with normal `ref` bindings
*/
export declare const fromTableRef: <T extends TableRecord>(tableRef: RefObject<Table<T> | null>) => RefAttributes<Table>["ref"];