@3mo/data-grid
Version:
A data grid web component
45 lines • 5.42 kB
TypeScript
import { type HTMLTemplateResult } from '@a11d/lit';
import { equals } from '@a11d/equals';
import type { DataGrid, DataGridSortingStrategy } from './index.js';
import type * as CSS from 'csstype';
export type DataGridColumnAlignment = 'start' | 'center' | 'end';
export type DataGridColumnSticky = 'start' | 'both' | 'end';
export type DataGridColumnMenuItems = HTMLTemplateResult | Map<'sorting' | 'stickiness' | 'more', HTMLTemplateResult>;
export declare class DataGridColumn<TData, TValue = unknown> {
dataGrid: DataGrid<TData, any>;
dataSelector: KeyPath.Of<TData>;
heading: string;
description?: string;
width: CSS.DataType.TrackBreadth<(string & {}) | 0>;
alignment: DataGridColumnAlignment;
hidden: boolean;
hide(): void;
sticky?: DataGridColumnSticky;
toggleSticky(sticky: DataGridColumnSticky): void;
sortable: boolean;
private _sortDataSelector?;
get sortDataSelector(): object extends Required<TData> ? string : TData extends readonly any[] ? Extract<keyof TData, `${number}`> | Extract<keyof TData, string> | (Extract<keyof TData, `${number}`> extends infer T ? T extends Extract<keyof TData, `${number}`> ? T extends keyof TData ? `${T}.${object extends Required<TData[T]> ? string : TData[T] extends infer T_1 ? T_1 extends TData[T] ? T_1 extends readonly any[] ? Extract<keyof T_1, `${number}`> | Extract<keyof T_1, string> | (Extract<keyof T_1, `${number}`> extends infer T_2 ? T_2 extends Extract<keyof T_1, `${number}`> ? T_2 extends keyof T_1 ? never : never : never : never) : T_1 extends object ? Extract<keyof T_1, string> | (Extract<keyof T_1, string> extends infer T_3 ? T_3 extends Extract<keyof T_1, string> ? T_3 extends keyof T_1 ? never : never : never : never) : never : never : never}` : never : never : never) : TData extends object ? Extract<keyof TData, string> | (Extract<keyof TData, string> extends infer T_4 ? T_4 extends Extract<keyof TData, string> ? T_4 extends keyof TData ? `${T_4}.${object extends Required<TData[T_4]> ? string : TData[T_4] extends infer T_5 ? T_5 extends TData[T_4] ? T_5 extends readonly any[] ? Extract<keyof T_5, `${number}`> | Extract<keyof T_5, string> | (Extract<keyof T_5, `${number}`> extends infer T_6 ? T_6 extends Extract<keyof T_5, `${number}`> ? T_6 extends keyof T_5 ? never : never : never : never) : T_5 extends object ? Extract<keyof T_5, string> | (Extract<keyof T_5, string> extends infer T_7 ? T_7 extends Extract<keyof T_5, string> ? T_7 extends keyof T_5 ? never : never : never : never) : never : never : never}` : never : never : never) : never;
set sortDataSelector(value: object extends Required<TData> ? string : TData extends readonly any[] ? Extract<keyof TData, `${number}`> | Extract<keyof TData, string> | (Extract<keyof TData, `${number}`> extends infer T ? T extends Extract<keyof TData, `${number}`> ? T extends keyof TData ? `${T}.${object extends Required<TData[T]> ? string : TData[T] extends infer T_1 ? T_1 extends TData[T] ? T_1 extends readonly any[] ? Extract<keyof T_1, `${number}`> | Extract<keyof T_1, string> | (Extract<keyof T_1, `${number}`> extends infer T_2 ? T_2 extends Extract<keyof T_1, `${number}`> ? T_2 extends keyof T_1 ? never : never : never : never) : T_1 extends object ? Extract<keyof T_1, string> | (Extract<keyof T_1, string> extends infer T_3 ? T_3 extends Extract<keyof T_1, string> ? T_3 extends keyof T_1 ? never : never : never : never) : never : never : never}` : never : never : never) : TData extends object ? Extract<keyof TData, string> | (Extract<keyof TData, string> extends infer T_4 ? T_4 extends Extract<keyof TData, string> ? T_4 extends keyof TData ? `${T_4}.${object extends Required<TData[T_4]> ? string : TData[T_4] extends infer T_5 ? T_5 extends TData[T_4] ? T_5 extends readonly any[] ? Extract<keyof T_5, `${number}`> | Extract<keyof T_5, string> | (Extract<keyof T_5, `${number}`> extends infer T_6 ? T_6 extends Extract<keyof T_5, `${number}`> ? T_6 extends keyof T_5 ? never : never : never : never) : T_5 extends object ? Extract<keyof T_5, string> | (Extract<keyof T_5, string> extends infer T_7 ? T_7 extends Extract<keyof T_5, string> ? T_7 extends keyof T_5 ? never : never : never : never) : never : never : never}` : never : never : never) : never);
toggleSort(strategy?: DataGridSortingStrategy | null): void;
getMenuItemsTemplate?(): DataGridColumnMenuItems;
getContentTemplate?(value: TValue, data: TData): HTMLTemplateResult;
editable: boolean | Predicate<TData>;
getEditContentTemplate?(value: TValue, data: TData): HTMLTemplateResult;
sumHeading?: string;
getSumTemplate?(sum: number): HTMLTemplateResult;
constructor(column: Partial<DataGridColumn<TData, TValue>>);
[equals](other: DataGridColumn<TData, any>): boolean;
with(other: Partial<this>): DataGridColumn<TData, TValue>;
private _widthInPixels?;
get widthInPixels(): number;
set widthInPixels(value: number);
private _intersecting;
get intersecting(): boolean;
set intersecting(value: boolean);
get sortingDefinition(): import("./DataGridSortingController.js").DataGridRankedSortDefinition<TData> | undefined;
get sumTemplate(): HTMLTemplateResult | undefined;
get stickyColumnInsetInline(): string;
generateCsvHeading?(): Generator<string>;
generateCsvValue?(value: TValue, data: TData): Generator<string>;
}
//# sourceMappingURL=DataGridColumn.d.ts.map