UNPKG

goobs-frontend

Version:

A comprehensive React-based libary for building modern web applications

74 lines 2.85 kB
import { DatagridProps, RowData } from '../../DataGrid/types'; import { AlertProps } from '../../Alert'; /** * Props for the FormDataGrid wrapper component. * * @property title - Main heading displayed above the DataGrid * @property description - Subheading/explanatory text below the title * @property datagrid - Full DataGrid configuration (columns, rows, handlers, etc.) * @property sacredtheme - Use sacred (dark/gold) theme. Default: true * @property alert - Optional alert message to display between header and grid */ export interface FormDataGridProps<TRow extends RowData = RowData> { /** Main heading displayed above the DataGrid */ title: string; /** Subheading/explanatory text below the title */ description: string; /** * Full DataGrid configuration object. * All properties are passed directly to the underlying DataGrid component. * @see DatagridProps for complete property documentation */ datagrid: DatagridProps<TRow>; /** * Use sacred (dark/gold) theme styling. * - true (default): Dark background, gold accents, animated effects * - false: Light/white theme with standard styling */ sacredtheme?: boolean; /** * Optional alert message displayed between header and grid. * Useful for displaying errors, warnings, or informational messages. * @property severity - 'error' | 'warning' | 'info' | 'success' * @property message - Text content of the alert * @property onClose - Optional callback to make alert dismissible */ alert?: AlertProps; } /** * FORM DATAGRID COMPONENT * ----------------------- * Renders a styled DataGrid with header (title + description) and optional alert. * * This component serves as the primary way to use DataGrid in ThothOS, * providing consistent styling and theme propagation across all instances. * * KEY RESPONSIBILITIES: * 1. Display title and description with theme-appropriate styling * 2. Show optional alert messages for user feedback * 3. Wrap DataGrid and pass through all configuration * 4. Propagate theme settings to DataGrid and Alert components * * @example Basic usage with sacred theme: * ```tsx * <FormDataGrid * title="Employees" * description="Manage employee records" * datagrid={{ columns, rows, onRowsChange }} * /> * ``` * * @example With alert and light theme: * ```tsx * <FormDataGrid * title="Reports" * description="View and export reports" * sacredtheme={false} * alert={{ severity: 'error', message: 'Failed to load data' }} * datagrid={{ columns, rows }} * /> * ``` */ declare function FormDataGrid<TRow extends RowData = RowData>({ title, description, datagrid, sacredtheme, alert, }: FormDataGridProps<TRow>): import("react").JSX.Element; export default FormDataGrid; //# sourceMappingURL=index.d.ts.map