@ferdiunal/refinedev-shadcn-ui
Version:
theme for refine.dev with shadcn-ui
60 lines • 2.86 kB
TypeScript
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