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.

211 lines (210 loc) 16.5 kB
import type { Header, HeaderGroup, RowData } from '@tanstack/svelte-table'; import type { DataTableInstance } from './data-table-utils'; import type { DataTableFeatures } from './features'; export type DataTableViewState<T extends RowData> = ReturnType<typeof createTableViewState<T>>; export type DataTableHeaderSection = 'left' | 'center' | 'right'; /** * Shared derived state for the standard and virtualized table roots. * * Writable slice atoms are rune-backed, so reading them inside a $derived * registers the dependency. Derived table APIs (getRowModel, header groups, * getVisibleLeafColumns, …) are not reliably tracked by the beta adapter, so * each derived below first reads the slices its result depends on. */ export declare function createTableViewState<T extends RowData>(getTable: () => DataTableInstance<T>): { readonly table: DataTableInstance<T>; readonly columnPinning: import("@tanstack/table-core").ColumnPinningState; readonly columnResizing: import("@tanstack/table-core").columnResizingState; readonly columnSizing: import("@tanstack/table-core").ColumnSizingState; readonly columnVisibility: import("@tanstack/table-core").ColumnVisibilityState; readonly rowSelection: import("@tanstack/table-core").RowSelectionState; readonly sorting: import("@tanstack/table-core").SortingState; readonly rowModel: import("@tanstack/table-core").RowModel<{ 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: import("./types").DataTableColumnMeta; }, T>; readonly headerGroups: HeaderGroup<{ 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: import("./types").DataTableColumnMeta; }, T>[]; getHeaderSection(header: Header<DataTableFeatures, T, unknown>): DataTableHeaderSection | undefined; readonly visibleLeafColumns: import("@tanstack/table-core").Column<{ 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: import("./types").DataTableColumnMeta; }, T, unknown>[]; readonly growColumn: import("@tanstack/table-core").Column<{ 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: import("./types").DataTableColumnMeta; }, T, unknown> | undefined; readonly hasGrowColumn: boolean; readonly isRowSelectionEnabled: boolean; readonly isMultiRowSelectionEnabled: boolean; readonly allRowsSelectionState: boolean | "indeterminate"; readonly selectedRowCount: number; readonly isColumnResizing: boolean; readonly hasFooter: boolean; };