import { Download } from "lucide-react"; import type { RaRecord } from "ra-core"; import { Translate, useBulkExport, UseBulkExportOptions } from "ra-core"; import { Button } from "../ui/button"; /** * Export the selected rows * * To be used inside the prop. * * @see {@link https://marmelab.com/shadcn-admin-kit/docs/bulkexportbutton/ BulkExportButton documentation} * * @example * import { BulkDeleteButton, BulkExportButton, DataTable, List } from '@/components/admin'; * * export const PostList = () => ( * * * * * * } * > * ... * * * ); */ export const BulkExportButton = ({ icon = defaultIcon, label = "ra.action.export", onClick, ...props }: BulkExportButtonProps) => { const bulkExport = useBulkExport(props); const handleClick = (event: React.MouseEvent) => { bulkExport(); onClick?.(event); }; return ( ); }; const defaultIcon = ; export type BulkExportButtonProps = UseBulkExportOptions & { icon?: React.ReactNode; label?: string; } & React.ComponentProps; const sanitizeRestProps = ({ resource: _resource, exporter: _exporter, onClick: _onClick, label: _label, icon: _icon, meta: _meta, ...rest }: BulkExportButtonProps) => rest;