claritykit-svelte
Version:
A comprehensive Svelte component library focused on accessibility, ADHD-optimized design, developer experience, and full SSR compatibility
40 lines • 1.27 kB
TypeScript
/**
* EnergyLevelIndicator Types
* Type definitions for the energy level indicator component
*/
export type EnergyLevel = 'low' | 'medium' | 'high' | 'very-high';
export type EnergyStyle = 'battery' | 'gauge' | 'wave' | 'dots';
export type EnergySize = 'sm' | 'md' | 'lg';
export interface EnergyLevelIndicatorProps {
/** Current energy level */
level: EnergyLevel;
/** Visual style variant */
variant?: EnergyStyle;
/** Size of the indicator */
size?: EnergySize;
/** Whether the indicator is interactive */
interactive?: boolean;
/** Whether to show text label */
showLabel?: boolean;
/** Whether to show percentage */
showPercentage?: boolean;
/** Custom label text */
label?: string;
/** Whether to use reduced motion */
reducedMotion?: boolean;
/** Additional CSS classes */
class?: string;
/** Callback when energy level changes (interactive mode) */
onLevelChange?: (level: EnergyLevel) => void;
}
export interface EnergyLevelConfig {
value: number;
color: string;
bgColor: string;
textColor: string;
icon: string;
label: string;
description: string;
}
export type EnergyLevelMap = Record<EnergyLevel, EnergyLevelConfig>;
//# sourceMappingURL=types.d.ts.map