refactor(inline-loading): remove exported props

Supports #7
This commit is contained in:
Eric Liu 2019-12-18 09:26:31 -08:00
commit 7a21a3150e
2 changed files with 12 additions and 9 deletions

View file

@ -41,10 +41,6 @@
display: flex;
width: 300px;
}
:global(.loader) {
margin-left: 1rem;
}
</style>
<Layout>
@ -53,7 +49,7 @@
<Button kind="secondary" {disabled}>Cancel</Button>
{#if disabled}
<InlineLoading
class="loader"
style="margin-left: 1rem;"
description={loadingDescription}
status={success ? 'finished' : 'active'}
aria-live={ariaLive} />

View file

@ -6,7 +6,7 @@
export let description = undefined;
export let iconDescription = undefined;
export let successDelay = 1500;
export let props = {};
export let style = undefined;
import { createEventDispatcher, onDestroy } from 'svelte';
import CheckmarkFilled16 from 'carbon-icons-svelte/lib/CheckmarkFilled16';
@ -20,19 +20,26 @@
onDestroy(() => {
if (timeoutId !== undefined) {
clearTimeout(timeoutId);
window.clearTimeout(timeoutId);
timeoutId = undefined;
}
});
$: if (status === 'finished') {
timeoutId = setTimeout(() => {
timeoutId = window.setTimeout(() => {
dispatch('success');
}, successDelay);
}
</script>
<div {...props} class={_class} aria-live={$$props['aria-live'] || 'assertive'}>
<div
on:click
on:mouseover
on:mouseenter
on:mouseleave
{style}
class={_class}
aria-live={$$props['aria-live'] || 'assertive'}>
<div class={cx('--inline-loading__animation')}>
{#if status === 'error'}
<Error20 class={cx('--inline-loading--error')} />