diff --git a/src/lib/components/billing/paymentBoxes.svelte b/src/lib/components/billing/paymentBoxes.svelte index c6ead89112..240ad1c0cc 100644 --- a/src/lib/components/billing/paymentBoxes.svelte +++ b/src/lib/components/billing/paymentBoxes.svelte @@ -2,6 +2,7 @@ import { FormList, InputText } from '$lib/elements/forms'; import { onDestroy, onMount } from 'svelte'; import { CreditCardBrandImage, RadioBoxes } from '..'; + import { unmountPaymentElement } from '$lib/stores/stripe'; export let methods: Record[]; export let group: string; @@ -33,6 +34,7 @@ onDestroy(() => { observer.disconnect(); + unmountPaymentElement(); }); $: if (element) { diff --git a/src/lib/elements/forms/button.svelte b/src/lib/elements/forms/button.svelte index 3b8647c217..30bcfb871c 100644 --- a/src/lib/elements/forms/button.svelte +++ b/src/lib/elements/forms/button.svelte @@ -23,6 +23,7 @@ let classes: string = undefined; export { classes as class }; export let actions: MultiActionArray = []; + export let submissionLoader = false; const isSubmitting = hasContext('form') ? getContext('form').isSubmitting @@ -77,6 +78,12 @@ aria-label={ariaLabel} type={submit ? 'submit' : 'button'} use:multiAction={actions}> - + {#if $isSubmitting && submissionLoader} +