UNPKG

claritykit-svelte

Version:

A comprehensive Svelte component library focused on accessibility, ADHD-optimized design, developer experience, and full SSR compatibility

116 lines 2.95 kB
/** * Performance Monitoring Utilities for ClarityKit * * Provides comprehensive performance monitoring including Core Web Vitals, * component render times, and bundle size tracking. */ export interface PerformanceMetrics { lcp?: number; fid?: number; cls?: number; fcp?: number; ttfb?: number; } export interface ComponentMetrics { name: string; renderTime: number; mountTime: number; updateCount: number; memoryUsage?: number; } export interface BundleMetrics { totalSize: number; gzippedSize: number; chunks: Array<{ name: string; size: number; gzippedSize: number; }>; } declare class PerformanceMonitor { private metrics; private componentMetrics; private observers; private isEnabled; constructor(); /** * Initialize performance observers for Core Web Vitals */ private initializeObservers; /** * Track component performance */ trackComponent(name: string): ComponentTracker; /** * Get current memory usage */ private getMemoryUsage; /** * Report performance metric */ private reportMetric; /** * Report component performance metric */ private reportComponentMetric; /** * Get all collected metrics */ getMetrics(): PerformanceMetrics; /** * Get component metrics */ getComponentMetrics(): ComponentMetrics[]; /** * Generate performance report */ generateReport(): string; /** * Get performance score emoji */ private getScoreEmoji; /** * Clean up observers */ destroy(): void; } /** * Component performance tracker */ declare class ComponentTracker { private startTime; private startMemory; private name; private onComplete; constructor(name: string, onComplete: (metrics: Partial<ComponentMetrics>) => void); /** * Mark component as mounted */ markMounted(): void; /** * Mark render complete */ markRenderComplete(): void; /** * Get current memory usage */ private getMemoryUsage; } export declare const performanceMonitor: PerformanceMonitor; /** * Higher-order component for performance tracking */ export declare function withPerformanceTracking<T extends Record<string, any>>(Component: any, componentName?: string): (props: T) => any; /** * Performance measurement decorator for functions */ export declare function measurePerformance(target: any, propertyName: string, descriptor: PropertyDescriptor): PropertyDescriptor; /** * Bundle size analyzer (for build-time analysis) */ export declare class BundleSizeAnalyzer { static analyzeBundleSize(bundlePath: string): BundleMetrics; static generateSizeReport(metrics: BundleMetrics): string; } export type { PerformanceMetrics, ComponentMetrics, BundleMetrics }; //# sourceMappingURL=performance-monitor.d.ts.map