use custom fade

pull/13930/head
Simon Holthausen 2 years ago
parent d38df8f079
commit 916f9f75d6

@ -3,21 +3,19 @@ import { test } from '../../test';
export default test({ export default test({
async test({ assert, raf, target }) { async test({ assert, raf, target }) {
const btn1 = target.querySelector('button');
btn1?.click();
assert.htmlEqual( assert.htmlEqual(
target.innerHTML, target.innerHTML,
'<button>Toggle</button><div><div>1</div><div>2</div><div>3</div></div>' '<button>Toggle</button><div><div>1</div><div>2</div><div>3</div></div>'
); );
const btn1 = target.querySelector('button');
btn1?.click();
flushSync(); flushSync();
raf.tick(250); raf.tick(250);
assert.htmlEqual( assert.htmlEqual(
target.innerHTML, target.innerHTML,
'<button>Toggle</button><div style="opacity: 0;"><div>1</div><div>2</div><div>3</div></div>' '<button>Toggle</button><div style="opacity: 0.5;"><div>1</div><div>2</div><div>3</div></div>'
); );
await Promise.resolve(); await Promise.resolve();

@ -1,5 +1,10 @@
<script> <script>
import { fade } from 'svelte/transition'; function fade(_) {
return {
duration: 500,
css: t => `opacity: ${t}`,
}
}
let toggle = $state(true); let toggle = $state(true);
let items = $state([ 1, 2, 3 ]); let items = $state([ 1, 2, 3 ]);
@ -15,7 +20,7 @@
<button onclick={handle_toggle}>Toggle</button> <button onclick={handle_toggle}>Toggle</button>
{#if toggle} {#if toggle}
<div transition:fade={{ duration: 500 }}> <div transition:fade>
{#each items as item (item)} {#each items as item (item)}
<div>{item}</div> <div>{item}</div>
{/each} {/each}

Loading…
Cancel
Save