UNPKG

@veracity/vui

Version:

Veracity UI is a React component library crafted for use within Veracity applications and pages. Based on Styled Components and @xstyled.

61 lines (60 loc) 2.17 kB
import { Sort } from "../utils/types.js"; import "../utils/index.js"; import { ThemingProps } from "../theme/types.js"; import "../theme/index.js"; import { SystemProps } from "../system/system.js"; import "../system/index.js"; import { IconProps } from "../icon/icon.types.js"; import "../icon/index.js"; import { UseTableProps } from "./useTable.types.js"; import { UseTableReturnType } from "./useTable.js"; import { ReactNode } from "react"; //#region src/table/table.types.d.ts type TableColumn<T = string> = SystemProps & { /** Unique identifier of a column. */ field: T; /** Adds content and styling related to sort. */ isSortable?: boolean; /** Displays given text inside the element. */ title?: string; minW?: string | number; w?: string | number; }; type TableContext = Pick<TableProps, 'columns' | 'rows' | 'size' | 'stickyColumn' | 'stickyHeader' | 'variant'> & UseTableReturnType; type TableProps = SystemProps & UseTableProps & ThemingProps<'Table'> & { /** Data structure describing the columns. */ columns?: TableColumn[] | readonly TableColumn[]; /** Data structure describing the rows and their cells. */ rows?: any[]; /** First column will be sticky when scrolling horizontally. */ stickyColumn?: boolean; /** Table head will be sticky when scrolling vertically. */ stickyHeader?: boolean; }; type TbodyProps = SystemProps; type TdProps = SystemProps & { level?: number; }; type TfootProps = SystemProps; type ThProps = SystemProps & Partial<TableColumn> & { /** Adds disabled styling. */ disabled?: boolean; /** Adds interactive styling. */ isInteractive?: boolean; }; type TheadProps = SystemProps & {}; type TrProps = SystemProps & { /** Adds selected styling. */ isExpanded?: boolean; isSelected?: boolean; nested?: ReactNode; onCollapsed?: () => void; onExpanded?: () => void; }; type TableSortIconProps = Omit<IconProps, 'order'> & { /** Sort order which controls the icon. */ order?: Sort['order']; }; //#endregion export { TableColumn, TableContext, TableProps, TableSortIconProps, TbodyProps, TdProps, TfootProps, ThProps, TheadProps, TrProps }; //# sourceMappingURL=table.types.d.ts.map