aura-glass
Version:
A comprehensive glassmorphism design system for React applications with 142+ production-ready components
86 lines • 2.87 kB
TypeScript
import React from "react";
export interface GanttTask {
id: string;
name: string;
startDate: Date;
endDate: Date;
progress: number;
dependencies?: string[];
assignee?: {
id: string;
name: string;
avatar?: string;
};
status?: "not-started" | "in-progress" | "completed" | "blocked" | "cancelled";
priority?: "low" | "medium" | "high" | "critical";
color?: string;
description?: string;
milestone?: boolean;
parent?: string;
children?: string[];
customData?: Record<string, any>;
}
export interface GanttTimeScale {
unit: "day" | "week" | "month" | "quarter" | "year";
step: number;
}
export interface GanttViewOptions {
showWeekends?: boolean;
showToday?: boolean;
showProgress?: boolean;
showDependencies?: boolean;
showMilestones?: boolean;
showCriticalPath?: boolean;
showBaseline?: boolean;
showResources?: boolean;
}
export interface GlassGanttChartProps extends React.HTMLAttributes<HTMLDivElement> {
/** Tasks data */
tasks?: GanttTask[];
/** Chart start date */
startDate?: Date;
/** Chart end date */
endDate?: Date;
/** Time scale configuration */
timeScale?: GanttTimeScale;
/** View options */
viewOptions?: GanttViewOptions;
/** Chart height */
height?: number;
/** Row height */
rowHeight?: number;
/** Column width for time units */
columnWidth?: number;
/** Whether tasks can be edited */
editable?: boolean;
/** Whether to show task hierarchy */
showHierarchy?: boolean;
/** Task click handler */
onTaskClick?: (task: GanttTask) => void;
/** Task update handler */
onTaskUpdate?: (task: GanttTask) => void;
/** Task resize handler */
onTaskResize?: (taskId: string, startDate: Date, endDate: Date) => void;
/** Task move handler */
onTaskMove?: (taskId: string, startDate: Date, endDate: Date) => void;
/** Progress update handler */
onProgressUpdate?: (taskId: string, progress: number) => void;
/** Dependency create handler */
onDependencyCreate?: (fromTask: string, toTask: string) => void;
/** Dependency delete handler */
onDependencyDelete?: (fromTask: string, toTask: string) => void;
/** Custom task renderer */
renderTask?: (task: GanttTask, bounds: {
x: number;
width: number;
y: number;
height: number;
}) => React.ReactNode;
/** Custom timeline header renderer */
renderTimelineHeader?: (date: Date, unit: string) => React.ReactNode;
/** Respect motion preferences */
respectMotionPreference?: boolean;
}
export declare const GlassGanttChart: React.ForwardRefExoticComponent<GlassGanttChartProps & React.RefAttributes<HTMLDivElement>>;
export default GlassGanttChart;
//# sourceMappingURL=GlassGanttChart.d.ts.map