UNPKG

pagamio-frontend-commons-lib

Version:

Pagamio library for Frontend reusable components like the form engine and table container

58 lines (57 loc) 1.6 kB
import { type MRT_ColumnDef } from 'mantine-react-table'; import React from 'react'; export type ExtraOption = { value: string; label: React.ReactNode; onClick: () => void; }; interface ThemeColors { primary: { 500: string; 600: string; 700: string; }; core: { primary: string; secondary: string; }; } interface PdfExportOptions { title?: string; subtitle?: string; colors?: ThemeColors; logo?: { url: string; width?: number; height?: number; }; } interface XlsxExportOptions { title?: string; subtitle?: string; colors?: ThemeColors; sheetName?: string; includeTimestamp?: boolean; autoFitColumns?: boolean; } interface CsvExportOptions { title?: string; includeTimestamp?: boolean; includeHeaders?: boolean; delimiter?: string; filename?: string; } type ExportDropdownProps<T extends Record<string, any>> = { data: T[]; columns: MRT_ColumnDef<T>[]; containerClassName?: string; buttonClassName?: string; extraOptions?: ExtraOption[]; pdfOptions?: PdfExportOptions; xlsxOptions?: XlsxExportOptions; csvOptions?: CsvExportOptions; exportAll?: boolean; fetchData?: (params?: Record<string, string>) => Promise<T[]>; }; declare const ExportDropdown: <T extends Record<string, any>>({ data, columns, containerClassName, buttonClassName, extraOptions, pdfOptions, xlsxOptions, csvOptions, exportAll, fetchData, }: ExportDropdownProps<T>) => import("react/jsx-runtime").JSX.Element; export default ExportDropdown;