--- import type { HTMLAttributes } from 'astro/types'; const sizes = { xxl: 'h1', xl: 'h2', lg: 'h2', md: 'h3', sm: 'h4', xs: 'h5', xxs: 'h6', }; type Headers = 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6'; interface Props extends HTMLAttributes { size?: keyof typeof sizes align?: 'left' | 'center' | 'right' | 'inherit' } const { size = 'lg', align = 'inherit', ...attr } = Astro.props; const Element = sizes[size] as any; // Unfortunately gotta do this const className = (align == 'inherit' ? '' : `text-${align} `) + (size == 'xxl' ? ' page-header' : '') + (attr.class ? ` ${attr.class}` : ''); ---