@tanstack/ember-table
Version:
Headless UI for building powerful tables & datagrids for Ember.
63 lines • 3.63 kB
TypeScript
import Component from '@glimmer/component';
import { FlexRenderComponentConfig } from './flex-render-helpers.ts';
import type { Cell_Core, CellContext, CellData, Header_Core, HeaderContext, RowData, TableFeatures } from '@tanstack/table-core';
import type { ComponentLike, ContentValue } from '@glint/template';
type RenderOptions = Record<string, unknown> | undefined;
type CellRenderResult<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData> = string | number | null | FlexRenderComponentConfig<TFeatures, TData, TValue, RenderOptions>;
type HeaderRenderResult<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData> = string | number | null | FlexRenderComponentConfig<TFeatures, TData, TValue, RenderOptions>;
interface CellRenderSignature<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData> {
Args: {
ctx: CellContext<TFeatures, TData, TValue>;
options?: Record<string, unknown>;
};
}
interface HeaderRenderSignature<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData> {
Args: {
ctx: HeaderContext<TFeatures, TData, TValue>;
options?: Record<string, unknown>;
};
}
export interface FlexRenderCellSignature<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData> {
Args: {
cell: Cell_Core<TFeatures, TData, TValue>;
};
Element: null;
}
export declare class FlexRenderCell<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData> extends Component<FlexRenderCellSignature<TFeatures, TData, TValue>> {
get result(): CellRenderResult<TFeatures, TData, TValue>;
get resolvedContext(): CellContext<TFeatures, TData, TValue>;
get isComponent(): boolean;
get componentToRender(): ComponentLike<CellRenderSignature<TFeatures, TData, TValue>> | undefined;
get componentOptions(): RenderOptions;
get content(): ContentValue;
}
export interface FlexRenderHeaderSignature<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData> {
Args: {
header: Header_Core<TFeatures, TData, TValue>;
};
Element: null;
}
export declare class FlexRenderHeader<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData> extends Component<FlexRenderHeaderSignature<TFeatures, TData, TValue>> {
get result(): HeaderRenderResult<TFeatures, TData, TValue>;
get resolvedContext(): HeaderContext<TFeatures, TData, TValue>;
get isComponent(): boolean;
get componentToRender(): ComponentLike<HeaderRenderSignature<TFeatures, TData, TValue>> | undefined;
get componentOptions(): RenderOptions;
get content(): ContentValue;
}
export interface FlexRenderFooterSignature<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData> {
Args: {
footer: Header_Core<TFeatures, TData, TValue>;
};
Element: null;
}
export declare class FlexRenderFooter<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData> extends Component<FlexRenderFooterSignature<TFeatures, TData, TValue>> {
get result(): HeaderRenderResult<TFeatures, TData, TValue>;
get resolvedContext(): HeaderContext<TFeatures, TData, TValue>;
get isComponent(): boolean;
get componentToRender(): ComponentLike<HeaderRenderSignature<TFeatures, TData, TValue>> | undefined;
get componentOptions(): RenderOptions;
get content(): ContentValue;
}
export {};
//# sourceMappingURL=FlexRender.d.ts.map