This surfaces some type errors in props being passed to some components, particularly in the way Features passes the classes props.
49 lines
1.1 KiB
Plaintext
49 lines
1.1 KiB
Plaintext
---
|
|
import type { Headline as Props } from "~/types";
|
|
import { twMerge } from "tailwind-merge";
|
|
|
|
const {
|
|
title = await Astro.slots.render("title"),
|
|
subtitle = await Astro.slots.render("subtitle"),
|
|
tagline,
|
|
classes = {},
|
|
} = Astro.props;
|
|
|
|
const {
|
|
container: containerClass = "max-w-3xl",
|
|
title: titleClass = "text-3xl md:text-4xl ",
|
|
subtitle: subtitleClass = "text-xl",
|
|
} = classes;
|
|
---
|
|
|
|
{
|
|
(title || subtitle || tagline) && (
|
|
<div
|
|
class={twMerge("mb-8 md:mx-auto md:mb-12 text-center", containerClass)}
|
|
>
|
|
{tagline && (
|
|
<p
|
|
class="text-base text-secondary dark:text-blue-200 font-bold tracking-wide uppercase"
|
|
set:html={tagline}
|
|
/>
|
|
)}
|
|
{title && (
|
|
<h2
|
|
class={twMerge(
|
|
"font-bold leading-tighter tracking-tighter font-heading text-heading text-3xl",
|
|
titleClass
|
|
)}
|
|
set:html={title}
|
|
/>
|
|
)}
|
|
|
|
{subtitle && (
|
|
<p
|
|
class={twMerge("mt-4 text-muted", subtitleClass)}
|
|
set:html={subtitle}
|
|
/>
|
|
)}
|
|
</div>
|
|
)
|
|
}
|