mirror of
https://github.com/sveltejs/svelte.git
synced 2024-12-01 17:30:59 +01:00
993b40201c
* New FAQ, new renderer * Push blog stuff * Fix blog posts * Add tutorial to be rendered * Update documentation/content/blog/2023-03-09-zero-config-type-safety.md Co-authored-by: Simon H <5968653+dummdidumm@users.noreply.github.com> * Update documentation/content/blog/2023-03-09-zero-config-type-safety.md Co-authored-by: Simon H <5968653+dummdidumm@users.noreply.github.com> * Revamp a lot of renderer, make it (soft) compatible with sveltekit * Remove markdown types * Clean up faq +page * Document stuff * Make the options more explicity * chore(site-2): Restructure docs pt 2 (#8604) * Push * Update readme * Push * inor accessibility fix * minr stuff * Add prepare * Run prettier * Remove test script * pnpm update * Update sites/svelte.dev/src/routes/examples/[slug]/+page.svelte Co-authored-by: Simon H <5968653+dummdidumm@users.noreply.github.com> * Update sites/svelte.dev/package.json Co-authored-by: Simon H <5968653+dummdidumm@users.noreply.github.com> --------- Co-authored-by: Simon H <5968653+dummdidumm@users.noreply.github.com> --------- Co-authored-by: Simon H <5968653+dummdidumm@users.noreply.github.com>
50 lines
858 B
Svelte
50 lines
858 B
Svelte
<script>
|
|
import { fade } from 'svelte/transition';
|
|
import { elasticOut } from 'svelte/easing';
|
|
|
|
let visible = true;
|
|
|
|
function spin(node, { duration }) {
|
|
return {
|
|
duration,
|
|
css: (t) => {
|
|
const eased = elasticOut(t);
|
|
|
|
return `
|
|
transform: scale(${eased}) rotate(${eased * 1080}deg);
|
|
color: hsl(
|
|
${~~(t * 360)},
|
|
${Math.min(100, 1000 - 1000 * t)}%,
|
|
${Math.min(50, 500 - 500 * t)}%
|
|
);`;
|
|
}
|
|
};
|
|
}
|
|
</script>
|
|
|
|
<label>
|
|
<input type="checkbox" bind:checked={visible} />
|
|
visible
|
|
</label>
|
|
|
|
{#if visible}
|
|
<div class="centered" in:spin={{ duration: 8000 }} out:fade>
|
|
<span>transitions!</span>
|
|
</div>
|
|
{/if}
|
|
|
|
<style>
|
|
.centered {
|
|
position: absolute;
|
|
left: 50%;
|
|
top: 50%;
|
|
transform: translate(-50%, -50%);
|
|
}
|
|
|
|
span {
|
|
position: absolute;
|
|
transform: translate(-50%, -50%);
|
|
font-size: 4em;
|
|
}
|
|
</style>
|