You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
svelte/site/content/examples/11-svg/05-svg-transitions/custom-transitions.js

34 lines
543 B

import { cubicOut } from 'svelte/easing';
export function expand(node, params) {
const {
delay = 0,
duration = 400,
easing = cubicOut
} = params;
const w = parseFloat(getComputedStyle(node).strokeWidth);
return {
delay,
duration,
easing,
css: t => `opacity: ${t}; stroke-width: ${t * w}`
};
}
export function blur(node, params) {
const {
b = 10,
delay = 0,
duration = 400,
easing = cubicOut
} = params;
return {
delay,
duration,
easing,
css: (t, u) => `opacity: ${t}; filter: blur(${u * b}px);`
};
}