diff options
| author | Fuwn <[email protected]> | 2024-10-28 15:32:46 -0700 |
|---|---|---|
| committer | Fuwn <[email protected]> | 2024-10-28 15:32:46 -0700 |
| commit | 39b677404558ae3b7eb34e818d7ca308f62f9cb0 (patch) | |
| tree | 7f19fca39ecd4237e3c0d1aef2d8e9fa3cec7845 /src/lib/Layout/NumberTicker.svelte | |
| parent | feat(graphql): paged badges query (diff) | |
| download | due.moe-svelte-5.tar.xz due.moe-svelte-5.zip | |
feat: update to svelte 5svelte-5
Diffstat (limited to 'src/lib/Layout/NumberTicker.svelte')
| -rw-r--r-- | src/lib/Layout/NumberTicker.svelte | 25 |
1 files changed, 19 insertions, 6 deletions
diff --git a/src/lib/Layout/NumberTicker.svelte b/src/lib/Layout/NumberTicker.svelte index b5e2f49c..3bd7e6c8 100644 --- a/src/lib/Layout/NumberTicker.svelte +++ b/src/lib/Layout/NumberTicker.svelte @@ -1,11 +1,24 @@ <script> + import { run } from 'svelte/legacy'; + import { tweened } from 'svelte/motion'; import { cubicOut } from 'svelte/easing'; - export let start = 0; - export let end = 100; - export let duration = 2000; - export let delay = 0; + /** + * @typedef {Object} Props + * @property {number} [start] + * @property {number} [end] + * @property {number} [duration] + * @property {number} [delay] + */ + + /** @type {Props} */ + let { + start = 0, + end = 100, + duration = 2000, + delay = 0 + } = $props(); const count = tweened(start, { duration: duration, @@ -13,9 +26,9 @@ delay: delay }); - $: { + run(() => { count.set(end); - } + }); </script> <span class="counter" class:visible={$count !== start}> |