Files
365devnet/src/components/ui/WidgetWrapper.astro
Dylan Awalt-Conley afacd786bf fix: define component Props type instead of typecasting Astro.props
This surfaces some type errors in props being passed to some components,
particularly in the way Features passes the classes props.
2024-03-26 12:11:41 -04:00

32 lines
859 B
Plaintext

---
import type { HTMLTag } from "astro/types";
import type { Widget } from "~/types";
import { twMerge } from "tailwind-merge";
import Background from "./Background.astro";
export interface Props extends Widget {
containerClass?: string;
["as"]?: HTMLTag;
}
const { id, isDark = false, containerClass = "", bg, as = "section" } = Astro.props;
const WrapperTag = as;
---
<WrapperTag class="relative not-prose scroll-mt-[72px]" {...id ? { id } : {}}>
<div class="absolute inset-0 pointer-events-none -z-[1]" aria-hidden="true">
<slot name="bg">
{bg ? <Fragment set:html={bg} /> : <Background isDark={isDark} />}
</slot>
</div>
<div
class:list={[
twMerge("relative mx-auto max-w-7xl px-4 md:px-6 py-12 md:py-16 lg:py-20 text-default", containerClass),
{ dark: isDark },
]}
>
<slot />
</div>
</WrapperTag>