import React from "react"; import { FieldErrors, FieldSet, FormValidator, Validator } from "../../../lib"; import { AttributeListProps } from "../attributelist"; import { ValueEditableUnion, ValueProps } from "../value"; import "./attributegrid.scss"; export type AttributeGridProps = { /** The object to show object attributes of. */ object: T; /** The fieldsets to render. */ fieldsets: FieldSet[]; /** Props for AttributeList. */ attributeListProps?: Partial>; decorate?: boolean; /** Error messages, applied to automatically rendered field. */ errors?: FieldErrors | Partial>; /** Whether to use `height 100%;`. */ fullHeight?: boolean; /** Whether to automatically generate id's for titles. */ generateTitleIds?: boolean; /** A title. */ title?: React.ReactNode; /** A validation function. */ validate?: FormValidator; /** If set, use this custom set of `Validator`s. */ validators?: Validator[]; /** Props for Value. */ valueProps?: Partial; /** Gets called when a value is edited. */ onEdit?: (value: T) => void; /** Whether a separator is shown in between each section. */ separator?: boolean; } & Pick; /** * AttributeGrid Component * * Uses multiple `AttributeList`s to render lists of data within a `Grid`. * * @typeParam T - The shape of a single data item. */ export declare const AttributeGrid: ({ attributeListProps, editable, editing, decorate, errors, object, fieldsets, formControlProps, fullHeight, generateTitleIds, title, labelEdit, separator, validate, validators, valueProps, onBlur, onChange, onEdit, ...props }: AttributeGridProps) => React.JSX.Element;