UNPKG

omnify-onboarding-package

Version:

A comprehensive onboarding flow component for React applications with 5-step process including profile setup, company setup, analytics connection, asset upload, and brand guidelines.

84 lines 2.21 kB
export interface User { id: string; name?: string; email: string; companyName?: string; role?: 'CEO' | 'CMO' | 'Marketing' | 'MarketingTeam' | 'General'; } export interface OnboardingData { firstName: string; lastName: string; role: string; companyName: string; industry: string; objective: string; analyticsConnected: boolean; selectedPlatforms: string[]; assets: Asset[]; adCopy: string; brandGuidelines: BrandGuidelines; } export interface Asset { id: string; type: 'image' | 'text' | 'video' | 'document'; name: string; url?: string; file?: File; size?: number; uploadedAt?: string; } export interface BrandGuidelines { colors: string[]; toneOfVoice: string; targetAudience: string; style?: string; } export interface OnboardingStep { id: number; key: string; title: string; description: string; icon: string; isCompleted: boolean; isActive: boolean; } export interface OnboardingFlowProps { user: User; onComplete: (data: OnboardingData) => void; onStepChange?: (step: number, data: Partial<OnboardingData>) => void; initialData?: Partial<OnboardingData>; showHeader?: boolean; showFooter?: boolean; className?: string; } export interface OnboardingStepProps { step: number; data: OnboardingData; onNext: () => void; onBack: () => void; onDataChange: (data: Partial<OnboardingData>) => void; isLastStep: boolean; } export interface ValidationResult { isValid: boolean; errors: string[]; } export interface OnboardingConfig { steps: OnboardingStep[]; validationRules: Record<number, (data: OnboardingData) => ValidationResult>; customComponents?: Record<string, React.ComponentType<any>>; theme?: { primaryColor?: string; secondaryColor?: string; backgroundColor?: string; textColor?: string; }; } export type OnboardingStepKey = 'profile' | 'company' | 'analytics' | 'assets' | 'brand'; export interface StepNavigation { canGoNext: boolean; canGoBack: boolean; isFirstStep: boolean; isLastStep: boolean; } //# sourceMappingURL=types.d.ts.map