Examples
- Introduction
- Reactivity
- Props
- Logic
- Events
- Bindings
- Lifecycle
- Stores
- Motion
- Transitions
- Animations
- Easing
- SVG
- Actions
- Classes
- Component composition
- Context API
- Special elements
- Module context
- Debugging
- 7GUIs
- Miscellaneous
App.svelte
custom-transitions.js
shape.js
<script> import { quintOut } from 'svelte/easing'; import { fade, draw, fly } from 'svelte/transition'; import { expand } from './custom-transitions.js'; import { inner, outer } from './shape.js'; let visible = true; </script> {#if visible} <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 103 124"> <g out:fade="{{duration: 200}}" opacity=0.2> <path in:expand="{{duration: 400, delay: 1000, easing: quintOut}}" style="stroke: #ff3e00; fill: #ff3e00; stroke-width: 50;" d={outer} /> <path in:draw="{{duration: 1000}}" style="stroke:#ff3e00; stroke-width: 1.5" d={inner} /> </g> </svg> <div class="centered" out:fly="{{y: -20, duration: 800}}"> {#each 'SVELTE' as char, i} <span in:fade="{{delay: 1000 + i * 150, duration: 800}}" >{char}</span> {/each} </div> {/if} <label> <input type="checkbox" bind:checked={visible}> toggle me </label> <link href="https://fonts.googleapis.com/css?family=Overpass:100,400" rel="stylesheet"> <style> svg { width: 100%; height: 100%; } path { fill: white; opacity: 1; } label { position: absolute; top: 1em; left: 1em; } .centered { font-size: 20vw; position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%); font-family: 'Overpass'; letter-spacing: 0.12em; color: #676778; font-weight: 400; } .centered span { will-change: filter; } </style>
loading editor...
Console
loading Svelte compiler...
loading editor...
Compiler options
result = svelte.compile(source, {
generate:
});loading editor...