import React from 'react' import * as z from "zod"; export const layoutId = 'first-slide' export const layoutName = 'First Slide' export const layoutDescription = 'A slide with a title, subtitle, author, date, company, and background image' const firstSlideSchema = z.object({ title: z.string().min(3).max(100).default('Welcome to Our Presentation').describe('Main title of the presentation'), subtitle: z.string().min(10).max(200).default('Subtitle for the slide').optional().describe('Optional subtitle or tagline'), author: z.string().min(2).max(100).default('John Doe').optional().describe('Author or presenter name'), date: z.string().optional().describe('Presentation date'), company: z.string().min(2).max(100).default('Company Name').optional().describe('Company or organization name'), backgroundImage: z.string().optional().describe('URL to background image for the slide') }) export const Schema = firstSlideSchema export type FirstSlideData = z.infer interface FirstSlideLayoutProps { data?: Partial accentColor?: 'blue' | 'green' | 'purple' | 'orange' | 'red' } const FirstSlideLayout: React.FC = ({ data, accentColor = 'blue' }) => { const slideData = firstSlideSchema.parse(data || {}) const accentColors = { blue: 'from-blue-600 to-blue-800', green: 'from-emerald-600 to-emerald-800', purple: 'from-violet-600 to-violet-800', orange: 'from-orange-600 to-orange-800', red: 'from-red-600 to-red-800' } const accentSolids = { blue: 'bg-blue-600', green: 'bg-emerald-600', purple: 'bg-violet-600', orange: 'bg-orange-600', red: 'bg-red-600' } return (
{/* Enhanced geometric background decoration */}
{/* Grid overlay for professional look */}
{/* Main Content */}
{/* Title */}

{slideData.title}

{/* Subtitle */} {slideData.subtitle && (

{slideData.subtitle}

)} {/* Enhanced Accent Line */}
{/* Professional Metadata Container */}
{slideData.author && (

{slideData.author}

)} {slideData.company && (

{slideData.company}

)} {slideData.date && (

{slideData.date}

)}
{/* Enhanced decorative accent with glow effect */}
{/* Professional corner accents */}
) } export default FirstSlideLayout