File tree Expand file tree Collapse file tree 2 files changed +56
-0
lines changed
packages/svelte/tests/runtime-runes/samples/transition-each-3 Expand file tree Collapse file tree 2 files changed +56
-0
lines changed Original file line number Diff line number Diff line change 1+ import { flushSync } from '../../../../src/index-client.js' ;
2+ import { test } from '../../test' ;
3+
4+ export default test ( {
5+ async test ( { assert, raf, target } ) {
6+ const btn1 = target . querySelector ( 'button' ) ;
7+
8+ btn1 ?. click ( ) ;
9+
10+ assert . htmlEqual (
11+ target . innerHTML ,
12+ '<button>Toggle</button><div><div>1</div><div>2</div><div>3</div></div>'
13+ ) ;
14+
15+ flushSync ( ) ;
16+ raf . tick ( 50 ) ;
17+
18+ assert . htmlEqual (
19+ target . innerHTML ,
20+ '<button>Toggle</button><div style="overflow: hidden; opacity: 0;"><div>1</div><div>2</div><div>3</div></div>'
21+ ) ;
22+
23+ await Promise . resolve ( ) ;
24+
25+ flushSync ( ) ;
26+ raf . tick ( 500 ) ;
27+
28+ assert . htmlEqual (
29+ target . innerHTML ,
30+ '<button>Toggle</button><div style=""><div>3</div><div>4</div></div>'
31+ ) ;
32+ }
33+ } ) ;
Original file line number Diff line number Diff line change 1+ <script >
2+ import { slide } from ' svelte/transition' ;
3+
4+ let toggle = $state (true );
5+ let items = $state ([ 1 , 2 , 3 ]);
6+
7+ const handle_toggle = async () => {
8+ toggle = false ;
9+ await Promise .resolve ();
10+ items = [3 , 4 ];
11+ toggle = true ;
12+ };
13+ </script >
14+
15+ <button onclick ={handle_toggle }>Toggle</button >
16+
17+ {#if toggle }
18+ <div transition:slide ={{ duration : 500 }}>
19+ {#each items as item (item )}
20+ <div >{item }</div >
21+ {/each }
22+ </div >
23+ {/if }
You can’t perform that action at this time.
0 commit comments