--- import type { HTMLAttributes } from 'astro/types'; import Icon from '../user-components/Icon.astro'; import type { Icons } from './Icons'; interface Props { variant: 'primary' | 'secondary' | 'minimal'; link: string; icon?: undefined | { type: 'icon'; name: keyof typeof Icons } | { type: 'raw'; html: string }; attrs?: Omit, 'href'>; } const { link, variant, icon } = Astro.props; const { class: customClass, ...attrs } = Astro.props.attrs || {}; --- {icon?.type === 'icon' && } {icon?.type === 'raw' && }