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.

90 lines (89 loc) 7.28 kB
import type { Column, ColumnPinningState, ColumnSizingState, ColumnVisibilityState, Header, Row, RowData, SvelteTable, TableState } from '@tanstack/svelte-table'; import type { DataTableColumnMeta } from './types'; import type { DataTableFeatures } from './features'; export type DataTableInstance<T extends RowData> = SvelteTable<DataTableFeatures, T>; export type DataTableTrackedState = { columnPinning: ColumnPinningState; columnResizing: TableState<DataTableFeatures>['columnResizing']; columnSizing: ColumnSizingState; columnVisibility: ColumnVisibilityState; }; export declare function alignClass(align: DataTableColumnMeta['align']): "text-right" | "text-center" | "text-left"; export declare function justifyClass(align: DataTableColumnMeta['align']): "justify-end" | "justify-center" | "justify-start"; export declare function sortButtonDirectionClass(align: DataTableColumnMeta['align']): "flex-row-reverse" | "flex-row"; export declare function columnSizeStyle(size: number): string; export declare function selectionColumnSizeStyle(): string; export declare function virtualColumnSizeStyle(size: number): string; export declare function virtualSelectionColumnSizeStyle(): string; export declare function tableSizeStyle<T extends RowData>(table: DataTableInstance<T>, isRowSelectionEnabled: boolean, state: DataTableTrackedState): string; export declare function virtualGrowColumnSizeStyle(): string; export declare function virtualGroupWithGrowSizeStyle(fixedPortion: number): string; export declare function resizeHandleStyle<T extends RowData>(table: DataTableInstance<T>, header: Header<DataTableFeatures, T, unknown>, columnResizing: TableState<DataTableFeatures>['columnResizing']): string | undefined; export declare function resizeHandleClass(headerIndex: number, headerCount: number): import("tailwind-variants").CnReturn; export declare function getHeaderSortLabel(sortDirection: false | 'asc' | 'desc'): "Sorted ascending" | "Sorted descending" | "Not sorted"; export declare function getHeaderAriaSort(sortDirection: false | 'asc' | 'desc'): "none" | "ascending" | "descending"; export declare function getRowCells<T extends RowData>(row: Row<DataTableFeatures, T>, state: DataTableTrackedState): import("@tanstack/table-core").Cell_Core<{ 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, unknown>[]; export declare function getBooleanCellValue(value: unknown): boolean | undefined; export declare function getPinningStyle<T extends RowData>(column: Column<DataTableFeatures, T, unknown>, table: DataTableInstance<T>, state: DataTableTrackedState, isHeader?: boolean, isRowSelectionEnabled?: boolean): string | undefined; /** * Sticky positioning for a group header whose leaf columns are pinned. * * A split fragment's subHeaders contain only its own section's children, so the * fragment over the pinned columns sticks at the first/last pinned leaf's offset * while the fragment over the scrolling columns gets no style. */ export declare function getGroupPinningStyle<T extends RowData>(header: Header<DataTableFeatures, T, unknown>, section: 'left' | 'center' | 'right' | undefined, state: DataTableTrackedState, isRowSelectionEnabled?: boolean): string | undefined; export declare function getUrlCellValue(value: unknown): string | undefined; export declare function openUrlCell(value: string): void; export declare function getPhoneCellValue(value: unknown): string | undefined; export declare function openPhoneCell(value: string): void; export declare function getColumnMeta(columnDef: { meta?: DataTableColumnMeta; }): DataTableColumnMeta | undefined; export declare function joinStyles(...styles: Array<string | undefined>): string; export declare const TYPE_NUMBER_FORMAT_DEFAULTS: Partial<Record<string, Intl.NumberFormatOptions>>; export declare function formatColumnFooter(meta: DataTableColumnMeta, values: unknown[], locale: string): string | undefined;