aura-glass
Version:
A comprehensive glassmorphism design system for React applications with 142+ production-ready components
208 lines • 5.47 kB
TypeScript
import React from "react";
import type { ConsciousnessFeatures } from "../layout/GlassContainer";
export interface ColumnDef<T = any> {
id?: string;
header: string | ((props: any) => React.ReactNode);
accessorKey?: string;
accessorFn?: (row: T) => any;
cell?: (props: {
row: T;
value: any;
}) => React.ReactNode;
sortable?: boolean;
filterable?: boolean;
width?: string | number;
align?: "left" | "center" | "right";
enableSorting?: boolean;
enableHiding?: boolean;
}
export interface SortState {
id: string;
desc: boolean;
}
export interface FilterState {
[key: string]: any;
}
export interface GlassDataTableProps<T = any> extends ConsciousnessFeatures {
/**
* Table data
*/
data?: T[];
/**
* Column definitions
*/
columns: ColumnDef<T>[];
/**
* Loading state
*/
loading?: boolean;
/**
* Empty state message
*/
emptyMessage?: string;
/**
* Table variant
*/
variant?: "default" | "striped" | "bordered" | "minimal";
/**
* Table size
*/
size?: "sm" | "md" | "lg";
/**
* Enable sorting
*/
sortable?: boolean;
/**
* Enable filtering
*/
filterable?: boolean;
/**
* Enable search
*/
searchable?: boolean;
/**
* Search placeholder
*/
searchPlaceholder?: string;
/**
* Enable pagination
*/
pagination?: boolean;
/**
* Page size options
*/
pageSizeOptions?: number[];
/**
* Initial page size
*/
initialPageSize?: number;
/**
* Enable row selection
*/
selectable?: boolean;
/**
* Selection mode
*/
selectionMode?: "single" | "multiple";
/**
* Selected rows
*/
selectedRows?: string[];
/**
* Selection change handler
*/
onSelectionChange?: (selectedRows: string[]) => void;
/**
* Row click handler
*/
onRowClick?: (row: T) => void;
/**
* Get row ID
*/
getRowId?: (row: T, index?: number) => string;
/**
* Custom row props
*/
getRowProps?: (row: T) => React.HTMLAttributes<HTMLTableRowElement>;
/**
* Sticky header
*/
stickyHeader?: boolean;
/**
* Table actions
*/
actions?: React.ReactNode;
className?: string;
"aria-label"?: string;
"data-testid"?: string;
/**
* Optional per-column cell renderers by column id or accessorKey
*/
cellRenderers?: Record<string, (value: any, row: T) => React.ReactNode>;
/**
* Optional rich empty state
*/
emptyState?: {
icon?: React.ReactNode;
message?: string;
description?: string;
};
}
/**
* GlassDataTable component
* A comprehensive data table with glassmorphism styling
*/
export declare const GlassDataTable: <T = any>(props: GlassDataTableProps<T> & {
ref?: React.Ref<HTMLDivElement>;
}) => import("react/jsx-runtime").JSX.Element;
/**
* Enhanced GlassDataTable with consciousness features enabled by default
* Use this for tables that should be intelligent and adaptive
*/
export declare const ConsciousGlassDataTable: <T = any>(props: GlassDataTableProps<T> & {
ref?: React.Ref<HTMLDivElement>;
}) => import("react/jsx-runtime").JSX.Element;
/**
* Predictive data table that learns user sorting and filtering patterns
*/
export declare const PredictiveDataTable: <T = any>(props: GlassDataTableProps<T> & {
ref?: React.Ref<HTMLDivElement>;
}) => import("react/jsx-runtime").JSX.Element;
/**
* Gaze-responsive data table with eye tracking for enhanced data exploration
*/
export declare const GazeResponsiveDataTable: <T = any>(props: GlassDataTableProps<T> & {
ref?: React.Ref<HTMLDivElement>;
}) => import("react/jsx-runtime").JSX.Element;
/**
* Accessibility-focused data table with biometric adaptation and spatial audio
*/
export declare const AccessibleDataTable: <T = any>(props: GlassDataTableProps<T> & {
ref?: React.Ref<HTMLDivElement>;
}) => import("react/jsx-runtime").JSX.Element;
/**
* Pre-configured consciousness data table presets
*/
export declare const DataTableConsciousnessPresets: {
/**
* Minimal consciousness features for performance-sensitive contexts
*/
readonly minimal: {
readonly predictive: true;
readonly trackAchievements: true;
};
/**
* Balanced consciousness features for general use
*/
readonly balanced: {
readonly predictive: true;
readonly adaptive: true;
readonly biometricResponsive: true;
readonly trackAchievements: true;
};
/**
* Full consciousness features for immersive data exploration
*/
readonly immersive: {
readonly predictive: true;
readonly preloadContent: true;
readonly eyeTracking: true;
readonly gazeResponsive: true;
readonly adaptive: true;
readonly biometricResponsive: true;
readonly spatialAudio: true;
readonly audioFeedback: true;
readonly trackAchievements: true;
};
/**
* Accessibility-focused consciousness features
*/
readonly accessible: {
readonly adaptive: true;
readonly biometricResponsive: true;
readonly spatialAudio: true;
readonly audioFeedback: true;
readonly trackAchievements: true;
};
};
//# sourceMappingURL=GlassDataTable.d.ts.map