Spaces:
Sleeping
Sleeping
| export interface SlideImage { | |
| src: string; | |
| alt: string; | |
| width?: number; | |
| height?: number; | |
| position?: string; | |
| } | |
| export interface SlideContent { | |
| intro?: string; | |
| tagline?: string; | |
| heading?: string; | |
| subheading?: string; | |
| description?: string; | |
| bullets?: string[]; | |
| steps?: (string | { label: string; icon: string; delay: number })[]; | |
| leftCard?: { title: string; description: string; icon: string }; | |
| rightCard?: { title: string; description: string; icon: string }; | |
| metrics?: { label: string; value: string; emoji: string }[]; | |
| categories?: { name: string; description: string }[]; | |
| cards?: { name: string; description: string; url: string; icon: string }[]; | |
| callToAction?: { text: string; url: string; icon?: string }; | |
| title?: string; | |
| subtitle?: string; | |
| } | |
| export interface SlideAnimation { | |
| type: string; | |
| duration: number; | |
| stagger?: number; | |
| [key: string]: any; | |
| } | |
| export interface Slide { | |
| id: number; | |
| title: string; | |
| subtitle?: string; | |
| description?: string; | |
| type: 'hero' | 'problem' | 'solution' | 'comparison' | 'tool-intro' | 'features' | 'process' | 'use-cases' | 'diagram' | 'summary' | 'vision' | 'closing'; | |
| animation: SlideAnimation; | |
| background: string; | |
| backgroundImage: string | null; | |
| content: SlideContent; | |
| images: SlideImage[]; | |
| transition: string; | |
| } | |
| export interface PresentationData { | |
| metadata: { | |
| title: string; | |
| subtitle: string; | |
| author: string; | |
| date: string; | |
| description: string; | |
| }; | |
| slides: Slide[]; | |
| // Tools and other extra data can be typed as needed, but for rendering we focus on slides | |
| [key: string]: any; | |
| } |