UNPKG

compote-ui

Version:

An opinionated UI component library for Svelte, built on top of [Ark UI](https://ark-ui.com) with additional components and features not available in the core Ark UI library.

77 lines (76 loc) 5.46 kB
import { type ColumnPinningState, type ColumnResizeMode, type ColumnSizingState, type ColumnVisibilityState, type Row, type RowData, type RowSelectionState } from '@tanstack/svelte-table'; import { type DataTableFeatures } from './features'; import { type DataTableInstance } from './data-table-utils'; import type { DataTableColumn, DataTableLeafColumn, DataTableColumnMeta } from './types'; export type { DataTableInstance }; export type CreateDataTableOptions<T extends RowData> = { data: T[]; columns: DataTableColumn<T>[]; columnResizeMode?: ColumnResizeMode; initialState?: { columnVisibility?: ColumnVisibilityState; columnSizing?: ColumnSizingState; columnPinning?: ColumnPinningState; rowSelection?: RowSelectionState; sorting?: { id: string; desc: boolean; }[]; columnFilters?: { id: string; value: unknown; }[]; }; getRowId?: (row: T, index: number, parent?: Row<DataTableFeatures, T>) => string; enableRowSelection?: boolean | ((row: Row<DataTableFeatures, T>) => boolean); enableMultiRowSelection?: boolean | ((row: Row<DataTableFeatures, T>) => boolean); enableSorting?: boolean; debugTable?: boolean; onColumnVisibilityChange?: (visibility: ColumnVisibilityState) => void; }; export declare function createTable<T extends RowData>(options: CreateDataTableOptions<T>): import("@tanstack/svelte-table").SvelteTable<{ rowSortingFeature: import("@tanstack/table-core").TableFeature; rowSelectionFeature: import("@tanstack/table-core").TableFeature; columnFilteringFeature: import("@tanstack/table-core").TableFeature; columnFacetingFeature: import("@tanstack/table-core").TableFeature; globalFilteringFeature: import("@tanstack/table-core").TableFeature; columnVisibilityFeature: import("@tanstack/table-core").TableFeature; columnPinningFeature: import("@tanstack/table-core").TableFeature; columnSizingFeature: import("@tanstack/table-core").TableFeature; columnResizingFeature: import("@tanstack/table-core").TableFeature; sortedRowModel: (table: import("@tanstack/table-core").Table<any, any>) => () => import("@tanstack/table-core").RowModel<any, any>; filteredRowModel: (table: import("@tanstack/table-core").Table<any, any>) => () => import("@tanstack/table-core").RowModel<any, any>; facetedRowModel: (table: import("@tanstack/table-core").Table<any, any>, columnId: string) => () => import("@tanstack/table-core").RowModel<any, any>; facetedUniqueValues: (table: import("@tanstack/table-core").Table<import("@tanstack/table-core").TableFeatures, any>, columnId: string) => () => Map<any, number>; facetedMinMaxValues: (table: import("@tanstack/table-core").Table<import("@tanstack/table-core").TableFeatures, any>, columnId: string) => () => undefined | [number, number]; sortFns: { alphanumeric: import("@tanstack/table-core").CreatedSortFn<any, any>; alphanumericCaseSensitive: import("@tanstack/table-core").CreatedSortFn<any, any>; basic: import("@tanstack/table-core").CreatedSortFn<any, any>; datetime: import("@tanstack/table-core").CreatedSortFn<any, any>; text: import("@tanstack/table-core").CreatedSortFn<any, any>; textCaseSensitive: import("@tanstack/table-core").CreatedSortFn<any, any>; }; filterFns: { arrIncludes: import("@tanstack/table-core").CreatedFilterFn<any, any>; arrIncludesAll: import("@tanstack/table-core").CreatedFilterFn<any, any>; arrHas: import("@tanstack/table-core").CreatedFilterFn<any, any>; arrIncludesSome: import("@tanstack/table-core").CreatedFilterFn<any, any>; between: import("@tanstack/table-core").CreatedFilterFn<any, any>; betweenInclusive: import("@tanstack/table-core").CreatedFilterFn<any, any>; empty: import("@tanstack/table-core").CreatedFilterFn<any, any>; endsWith: import("@tanstack/table-core").CreatedFilterFn<any, any>; equals: import("@tanstack/table-core").CreatedFilterFn<any, any>; equalsString: import("@tanstack/table-core").CreatedFilterFn<any, any>; equalsStringSensitive: import("@tanstack/table-core").CreatedFilterFn<any, any>; inDateRange: import("@tanstack/table-core").CreatedFilterFn<any, any>; inNumberRange: import("@tanstack/table-core").CreatedFilterFn<any, any>; includesString: import("@tanstack/table-core").CreatedFilterFn<any, any>; includesStringSensitive: import("@tanstack/table-core").CreatedFilterFn<any, any>; notEmpty: import("@tanstack/table-core").CreatedFilterFn<any, any>; startsWith: import("@tanstack/table-core").CreatedFilterFn<any, any>; weakEquals: import("@tanstack/table-core").CreatedFilterFn<any, any>; }; columnMeta: DataTableColumnMeta; }, T, import("@tanstack/table-core").TableState_ColumnFiltering & import("@tanstack/table-core").TableState_ColumnPinning & import("@tanstack/table-core").TableState_ColumnResizing & import("@tanstack/table-core").TableState_ColumnSizing & import("@tanstack/table-core").TableState_ColumnVisibility & import("@tanstack/table-core").TableState_GlobalFiltering & import("@tanstack/table-core").TableState_RowSelection & import("@tanstack/table-core").TableState_RowSorting>; export declare function getColumnId<T extends RowData>(column: DataTableLeafColumn<T>): string;