diff --git a/src/lib/Banner.svelte b/src/lib/Banner.svelte index b0bdf91..1c8f5ba 100644 --- a/src/lib/Banner.svelte +++ b/src/lib/Banner.svelte @@ -38,6 +38,8 @@ }) | null; dismiss?: Omit | null; + /** if true, accept and decline buttons are swapped with more info */ + swap?: boolean; }; const defaultBannerControls: BannerControls = { @@ -53,7 +55,8 @@ }, dismiss: { action: (banner) => banner.close() - } + }, + swap: false }; const mergeBannerControls = ( @@ -66,7 +69,8 @@ accept: overrides.accept ?? defaults.accept, decline: overrides.decline ?? defaults.decline, moreInfo: overrides.moreInfo ?? defaults.moreInfo, - dismiss: overrides.dismiss ?? defaults.dismiss + dismiss: overrides.dismiss ?? defaults.dismiss, + swap: overrides.swap ?? defaults.swap }; }; @@ -171,7 +175,9 @@ {@render children?.()} {#if controls !== null} -
+
{#if controls.moreInfo} {#if controls.moreInfo.type === 'link' && controls.moreInfo.href} @@ -200,7 +206,9 @@ {/if} {/if} -
+
{@render buttonControl(controls.decline, handleDecline, false)} diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte index fd0fa5c..06d0773 100644 --- a/src/routes/+page.svelte +++ b/src/routes/+page.svelte @@ -83,7 +83,8 @@ console.log('Cookies accepted!')} ondecline={() => console.log('Cookies declined!')}