Skip to content

Instantly share code, notes, and snippets.

@silentworks
Forked from anonymous/App.html
Created September 5, 2017 15:24
Show Gist options
  • Save silentworks/78db0b0814f1d6eb3987a78292eb6cf7 to your computer and use it in GitHub Desktop.
Save silentworks/78db0b0814f1d6eb3987a78292eb6cf7 to your computer and use it in GitHub Desktop.
Svelte component
<label>
<input type='checkbox' bind:checked='visible'> visible
</label>
{{#if visible}}
<div in:fade="{ duration: 300 }" out:fly="{ duration: 300, delay: 300, y: -80 }">
<div class="inner" transition:scale="{ duration: 600 }"></div>
</div>
{{/if}}
<style>
.inner {
width: 200px;
height: 200px;
background: red;
}
</style>
<script>
import { cubicOut } from 'eases-jsnext';
import { fade, fly } from 'svelte-transitions'
export default {
transitions: {
fly,
fade,
scale(
node,
{ delay = 0, duration = 400, easing = cubicOut, initial = 0 }
) {
const diff = initial - 1;
return {
delay,
duration,
easing,
css: t => `transform: scale(${initial - (t * diff)});`
};
}
}
};
</script>
{
"name": "world"
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment