diff --git a/src/lib/components/organisms/Banner.svelte b/src/lib/components/organisms/Banner.svelte index 8fb065d..7295d6d 100644 --- a/src/lib/components/organisms/Banner.svelte +++ b/src/lib/components/organisms/Banner.svelte @@ -11,9 +11,17 @@ type Props = { children: Snippet; level: 'info' | 'warning' | 'caution'; - permanent?: boolean; - onDismiss?: () => void; - }; + } & ( + | { + permanent?: false; + onDismiss?: () => void; + } + | { + permanent: true; + onDismiss?: never; // permanent banner doesn't have a dismiss button + } + ); + let { children, level = 'info', permanent = false, onDismiss }: Props = $props(); const icons = { info: Info, warning: Warning, caution: Caution };