aura-glass
Version:
A comprehensive glassmorphism design system for React applications with 142+ production-ready components
100 lines • 2.38 kB
TypeScript
import React from "react";
export interface WizardStep {
id: string;
title: string;
description?: string;
schema: any[];
validation?: (values: any) => Promise<Record<string, string>>;
optional?: boolean;
canSkip?: boolean;
component?: React.ReactNode;
}
export interface GlassWizardTemplateProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "autoSave"> {
/**
* Wizard title
*/
title: string;
/**
* Wizard description
*/
description?: string;
/**
* Wizard steps
*/
steps: WizardStep[];
/**
* Current step index
*/
currentStep?: number;
/**
* Form values
*/
values?: Record<string, any>;
/**
* Form errors
*/
errors?: Record<string, string>;
/**
* Step change handler
*/
onStepChange?: (step: number) => void;
/**
* Form submit handler (called when wizard is completed)
*/
onSubmit?: (values: Record<string, any>) => Promise<void> | void;
/**
* Form cancel handler
*/
onCancel?: () => void;
/**
* Value change handler
*/
onChange?: (values: Record<string, any>) => void;
/**
* Step validation handler
*/
onStepValidate?: (step: number, values: Record<string, any>) => Promise<Record<string, string>>;
/**
* Loading state
*/
loading?: boolean;
/**
* Whether wizard can be saved as draft
*/
allowDraft?: boolean;
/**
* Draft save handler
*/
onSaveDraft?: (values: Record<string, any>) => void;
/**
* Auto-save functionality
*/
autoSave?: boolean;
/**
* Show step indicators
*/
showStepIndicator?: boolean;
/**
* Allow step skipping
*/
allowSkipping?: boolean;
/**
* Layout variant
*/
layout?: "default" | "compact" | "sidebar";
/**
* Button text customization
*/
submitText?: string;
cancelText?: string;
nextText?: string;
previousText?: string;
skipText?: string;
finishText?: string;
}
/**
* GlassWizardTemplate component
* Multi-step wizard template with advanced navigation and validation
*/
export declare const GlassWizardTemplate: React.ForwardRefExoticComponent<GlassWizardTemplateProps & React.RefAttributes<HTMLDivElement>>;
//# sourceMappingURL=GlassWizardTemplate.d.ts.map