--- import { Icon } from 'astro-icon'; interface Item { title: string; description: string; icon?: string; } interface CallToAction { text: string; href: string; icon?: string; } export interface Props { title?: string; subtitle?: string; highlight?: string; callToAction?: string | CallToAction; items: Array; } const { title = await Astro.slots.render('title'), subtitle = await Astro.slots.render('subtitle'), highlight, callToAction = await Astro.slots.render('callToAction'), items = [], } = Astro.props; /** * */ ---
{ highlight && (

) } {title &&

} {subtitle &&

}

{ typeof callToAction === 'string' ? ( ) : ( callToAction && callToAction.text && callToAction.href && ( {callToAction.icon && } {callToAction.text} ) ) }

    { items && items.length ? items.map(({ title: title2, description, icon }, index) => (
  • {icon ? : index + 1}

  • )) : '' }