ppt / types.ts
sarveshpatel's picture
Upload 19 files
bb5d4f8 verified
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;
}