--- import WidgetWrapper from '~/components/ui/WidgetWrapper.astro'; import Headline from '~/components/ui/Headline.astro'; import Button from '~/components/ui/Button.astro'; import type { Features as Props } from '~/types'; import { Icon } from 'astro-icon/components'; import { twMerge } from 'tailwind-merge'; import { readFileSync } from 'fs'; import { join } from 'path'; const { title = await Astro.slots.render('title'), subtitle = await Astro.slots.render('subtitle'), tagline = await Astro.slots.render('tagline'), items = [], columns = 3, defaultIcon, id, isDark = false, classes = {}, bg = await Astro.slots.render('bg'), } = Astro.props; const { container: containerClass = '', panel: panelClass = '', title: titleClass = '', description: descriptionClass = '', icon: defaultIconClass = 'text-primary', } = classes as Record; --- } /> { items && items.length > 0 && (
{items.map(({ title, description, icon, iconSvg, callToAction, classes: itemClasses = {} }) => (
{(icon || iconSvg || defaultIcon) && (
{iconSvg ? (
) : ( )}
)}
{title}
{description && (

)} {callToAction && (

)}
))}
) }