UNPKG

@ferdiunal/refinedev-shadcn-ui

Version:
60 lines 2.86 kB
import { PopperContentProps } from "@radix-ui/react-popover"; import { BaseOption, BaseRecord, HttpError } from "@refinedev/core"; import { UseTableReturnType } from "@refinedev/react-table"; import { CellContext, Column, ColumnDefTemplate } from "@tanstack/react-table"; import React, { FC, ReactElement } from "react"; import { RowActions } from "./actions"; import { TableFilterDateRangePickerFilter, TableFilterDropdown, TableFilterSearchColumn } from "./fields"; export type TableListFilterOption = BaseOption & { icon?: React.ComponentType<{ className?: string; }>; }; export type TableFilterProps<TData extends BaseRecord = BaseRecord> = { column: Column<TData, unknown>; title?: string; numberOfMonths?: number; align?: PopperContentProps["align"]; options?: TableListFilterOption[]; }; export type ColumnProps<TData extends BaseRecord = BaseRecord, TValue = unknown, TError extends HttpError = HttpError> = { id: string; accessorKey: string; enableSorting?: boolean; enableHiding?: boolean; header?: string | FC<{ table: UseTableReturnType<TData, TError>; }>; cell?: ColumnDefTemplate<CellContext<TData, TValue>>; children?: ReactElement; filter?: FC<TableFilterProps<TData>>; }; export type TableProps<TData extends BaseRecord = BaseRecord, TError extends HttpError = HttpError> = { children?: ReactElement<ColumnProps<TData, TError>>[]; showHeader?: boolean; table: UseTableReturnType<TData, TError>; }; export declare function Table<TQueryFnData extends BaseRecord = BaseRecord, TError extends HttpError = HttpError, TData extends BaseRecord = TQueryFnData>({ children, table, showHeader }: TableProps<TData, TError>): import("react/jsx-runtime").JSX.Element; export declare namespace Table { var Column: <TData extends BaseRecord = BaseRecord, TError extends HttpError = HttpError>(props: ColumnProps<TData, TError, HttpError>) => React.ReactElement<any, string | React.JSXElementConstructor<any>> | undefined; var CheckAll: { ({ table, children }: { children?: React.ReactNode; } & { table: UseTableReturnType<BaseRecord, HttpError>; }): import("react/jsx-runtime").JSX.Element; actions(): void; }; var Actions: typeof RowActions; var Action: (props: import("./actions").RowActionProps) => import("react/jsx-runtime").JSX.Element; var EditAction: typeof import("./actions/edit").EditAction; var ShowAction: typeof import("./actions/show").ShowAction; var DeleteAction: typeof import("./actions/delete").DeleteAction; var Filter: { DateRangePicker: typeof TableFilterDateRangePickerFilter; Dropdown: typeof TableFilterDropdown; Search: typeof TableFilterSearchColumn; }; var displayName: string; } //# sourceMappingURL=index.d.ts.map