File size: 537 Bytes
84e5d08
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<script lang="ts">
  import type { LoadingStyle } from "../types/ui";
  import BarLoader from "./BarLoader.svelte";
  import DotsLoader from "./DotsLoader.svelte";
  import SpinnerLoader from "./SpinnerLoader.svelte";

  export let style: LoadingStyle = "dots";
  export let active: boolean = false;

  const componentMap = {
    dots: DotsLoader,
    spinner: SpinnerLoader,
    bar: BarLoader,
    none: null,
  };
</script>

{#if active && componentMap[style]}
  <svelte:component this={componentMap[style]} />
{/if}

<style></style>