Let’s start by changing the store to a tweened
value:
<script>
import { tweened } from 'svelte/motion';
import { cubicOut } from 'svelte/easing';
const progress = tweened(0, {
duration: 400,
easing: cubicOut
</script>
delay
— milliseconds before the tween startsduration
— either the duration of the tween in milliseconds, or a function allowing you to (e.g.) specify longer tweens for larger changes in valueinterpolate
— a custom(from, to) => t => value
function for interpolating between arbitrary values. By default, Svelte will interpolate between numbers, dates, and identically-shaped arrays and objects (as long as they only contain numbers and dates or other valid arrays and objects). If you want to interpolate (for example) colour strings or transformation matrices, supply a custom interpolator
You can also pass these options to progress.set
and progress.update
as a second argument, in which case they will override the defaults. The set
and update
methods both return a promise that resolves when the tween completes.