claritykit-svelte
Version:
A comprehensive Svelte component library focused on accessibility, ADHD-optimized design, developer experience, and full SSR compatibility
113 lines • 3.23 kB
TypeScript
export type ProgressSize = 'sm' | 'md' | 'lg' | 'xl';
export type ProgressColor = 'primary' | 'success' | 'warning' | 'danger' | 'info' | string;
export type ProgressType = 'circular' | 'stepped' | 'stacked' | 'animated';
export type ProgressVariant = 'default' | 'gradient' | 'striped' | 'pulse';
export type ProgressAnimationType = 'ease' | 'bounce' | 'elastic';
export type StepStatus = 'pending' | 'in-progress' | 'completed' | 'error' | 'warning';
export interface ProgressStep {
id: string | number;
label?: string;
status?: StepStatus;
progress?: number;
}
export interface ProgressSegment {
value: number;
color?: string;
label?: string;
ariaLabel?: string;
}
export interface CircularProgressProps {
value: number;
size?: ProgressSize;
thickness?: number;
showValue?: boolean;
label?: string;
color?: ProgressColor;
ariaLabel?: string;
animate?: boolean;
duration?: number;
}
export interface SteppedProgressProps {
steps: ProgressStep[];
currentStep?: number;
orientation?: 'horizontal' | 'vertical';
showLabels?: boolean;
showProgress?: boolean;
interactive?: boolean;
variant?: 'default' | 'minimal' | 'detailed';
size?: ProgressSize;
color?: ProgressColor;
}
export interface StackedProgressProps {
segments: ProgressSegment[];
height?: number | string;
borderRadius?: number | string;
showLabels?: boolean;
showValues?: boolean;
ariaLabel?: string;
}
export interface AnimatedProgressProps {
value: number;
min?: number;
max?: number;
showValue?: boolean;
showLabel?: boolean;
label?: string;
description?: string;
size?: ProgressSize;
variant?: ProgressVariant;
color?: ProgressColor;
trackColor?: string;
height?: number | string;
borderRadius?: number | string;
animationDuration?: number;
animationType?: ProgressAnimationType;
indeterminate?: boolean;
indeterminateSpeed?: number;
ariaLabel?: string;
}
export interface ProgressProps {
type?: ProgressType;
value: number | number[];
min?: number;
max?: number;
label?: string;
description?: string;
showValue?: boolean;
color?: ProgressColor;
size?: ProgressSize;
animate?: boolean;
animationDuration?: number;
ariaLabel?: string;
thickness?: number;
showLabel?: boolean;
steps?: ProgressStep[];
currentStep?: number;
orientation?: 'horizontal' | 'vertical';
showStepLabels?: boolean;
segments?: ProgressSegment[];
showSegmentLabels?: boolean;
showSegmentValues?: boolean;
variant?: ProgressVariant;
trackColor?: string;
height?: number | string;
borderRadius?: number | string;
animationType?: ProgressAnimationType;
indeterminate?: boolean;
indeterminateSpeed?: number;
}
export interface ProgressChangeEvent {
value: number;
percentage: number;
}
export interface StepChangeEvent {
index: number;
step: string | number;
previousIndex: number;
previousStep: string | number | null;
}
export interface SegmentClickEvent {
segment: ProgressSegment;
originalEvent: MouseEvent;
}
//# sourceMappingURL=types.d.ts.map