--- import clsx from 'clsx'; import { Info, Lightbulb, TriangleAlert, OctagonX } from 'lucide-react'; import { twMerge } from 'tailwind-merge'; type AsideType = 'note' | 'tip' | 'caution' | 'danger'; type Props = { type: AsideType; title?: string; class?: string; }; const { type, title, class: className } = Astro.props; const icons: Record = { note: Info, tip: Lightbulb, caution: TriangleAlert, danger: OctagonX, }; const defaultTitles: Record = { note: 'Note', tip: 'Tip', caution: 'Caution', danger: 'Danger', }; const Icon = icons[type]; const renderTitle = title ?? defaultTitles[type]; ---