UNPKG

ivt

Version:

Ivt Components Library

51 lines (45 loc) 1.79 kB
import { Table } from '@tanstack/react-table'; import React__default from 'react'; import * as react_jsx_runtime from 'react/jsx-runtime'; type FormatterFn<T> = (value: unknown, originalRow: T) => string | number | null; interface ExportConfig<TData> { exportableFields: readonly string[]; columnMapping: Partial<Record<string, string>>; fieldFormatters?: Partial<Record<string, FormatterFn<TData>>>; defaultFileName: string; worksheetName: string; emptyMessage?: string; } interface ButtonExportCsvProps<TData extends object> { table: Table<TData>; disabled?: boolean; action?: () => void; fileName?: string; config?: ExportConfig<TData>; text?: string; rowsToExport?: TData[]; } declare const ButtonExportCsv: <TData extends object>({ table, disabled, action, fileName, config, text, rowsToExport, }: ButtonExportCsvProps<TData>) => React__default.ReactElement; interface ButtonExportXlsProps<TData extends object> { table: Table<TData>; disabled?: boolean; action?: () => void; fileName?: string; config: ExportConfig<TData>; text?: string; rowsToExport?: TData[]; } declare const ButtonExportXls: <TData extends object>({ table, disabled, action, fileName, config, text, rowsToExport, }: ButtonExportXlsProps<TData>) => React__default.JSX.Element; interface ExportOption { label: string; onExport: () => Promise<void> | void; disabled?: boolean; } interface ExportButtonsProps { options: ExportOption[]; buttonLabel?: string; disabledButtons?: boolean; } declare function ExportButtons({ options, buttonLabel, disabledButtons, }: ExportButtonsProps): react_jsx_runtime.JSX.Element | null; export { ButtonExportCsv, ButtonExportXls, ExportButtons }; export type { ExportOption };