goobs-frontend
Version:
A comprehensive React-based libary for building modern web applications
74 lines • 2.85 kB
TypeScript
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