aura-glass
Version:
A comprehensive glassmorphism design system for React applications with 142+ production-ready components
64 lines • 1.92 kB
TypeScript
import React from 'react';
import { Plugin } from 'chart.js';
import { ChartDataPoint } from '../types';
export interface GalileoInteractionConfig {
/** Enable magnetic effect on data points */
magneticEffect?: boolean;
/** Magnetic strength */
magneticStrength?: number;
/** Magnetic range in pixels */
magneticRange?: number;
/** Enable ripple effect on click */
rippleEffect?: boolean;
/** Ripple color */
rippleColor?: string;
/** Ripple duration */
rippleDuration?: number;
/** Enable hover glow */
hoverGlow?: boolean;
/** Glow color */
glowColor?: string;
/** Glow intensity */
glowIntensity?: number;
/** Enable physics-based animations */
physicsAnimations?: boolean;
/** Spring configuration */
springConfig?: {
stiffness: number;
damping: number;
mass: number;
};
}
export interface ElementAnimationTarget {
elementId: string;
datasetIndex: number;
dataIndex: number;
dataPoint: ChartDataPoint;
position: {
x: number;
y: number;
};
velocity: {
x: number;
y: number;
};
target: {
x: number;
y: number;
};
isAnimating: boolean;
magneticInfluence: number;
}
export interface GalileoPluginContext {
elementAnimationTargets: Map<string, ElementAnimationTarget>;
setElementAnimationTargets: React.Dispatch<React.SetStateAction<Map<string, ElementAnimationTarget>>>;
getElementPhysicsOptions: (dataPoint: ChartDataPoint, datasetIndex: number, dataIndex: number) => {
stiffness: number;
damping: number;
mass: number;
magneticStrength: number;
};
}
export declare const GalileoElementInteractionPlugin: Plugin<'line' | 'bar' | 'scatter' | 'bubble'>;
export default GalileoElementInteractionPlugin;
//# sourceMappingURL=GalileoElementInteractionPlugin.d.ts.map