import React from "react"; import { FieldSet } from "../../../lib"; import { GroupedDataProps } from "../../../lib/data/groupeddata"; import { ButtonLinkProps, ButtonProps } from "../../button"; import "./itemgrid.scss"; export type ItemGridProps = GroupedDataProps; /** * ItemGrid Component * * Shows item over various rows. * * @typeParam T - The shape of a single item. */ export declare const ItemGrid: ({ buttonProps, buttonLinkProps, fieldset, fieldsets, groupBy, objectList, objectLists, renderPreview, title, urlFields, onClick, ...props }: ItemGridProps) => React.JSX.Element; export type ItemGridSectionProps = Omit, "onClick"> & { buttonLinkProps?: ButtonLinkProps; buttonProps?: ButtonProps; fieldset: FieldSet; objectList: T[]; renderPreview?: (data: T) => React.ReactNode; urlFields: (keyof ItemGridSectionProps["objectList"][number])[]; onClick?: (event: React.MouseEvent, data: T) => void; }; export declare const ItemGridSection: ({ buttonLinkProps, buttonProps, fieldset, objectList, renderPreview, urlFields, onClick, }: ItemGridSectionProps) => React.JSX.Element; export type ItemGridItemProps = Omit, "onClick"> & { buttonLinkProps?: ButtonLinkProps; buttonProps?: ButtonProps; fieldset: FieldSet; object: T; renderPreview?: (data: T) => React.ReactNode; urlFields: (keyof ItemGridItemProps["object"])[]; onClick?: (event: React.MouseEvent, data: T) => void; }; export declare const ItemGridItem: ({ buttonLinkProps, buttonProps, fieldset, object, renderPreview, urlFields, onClick, }: ItemGridItemProps) => React.JSX.Element; export type ItemGridButtonProps = { buttonLinkProps?: ButtonLinkProps; buttonProps?: ButtonProps; href?: string; object: T; renderPreview?: (data: T) => React.ReactNode; title: string; onClick?: (event: React.MouseEvent, data: T) => void; }; export declare const ItemGridButton: ({ buttonLinkProps, buttonProps, href, title, object, renderPreview, onClick, }: ItemGridButtonProps) => React.JSX.Element;