mirror of https://github.com/sveltejs/svelte
commit
d333a7f0bb
@ -0,0 +1,5 @@
|
||||
---
|
||||
'svelte': patch
|
||||
---
|
||||
|
||||
fix: do not dispatch introstart event with animation of animate directive
|
||||
@ -0,0 +1,31 @@
|
||||
import { flushSync } from 'svelte';
|
||||
import { test } from '../../test';
|
||||
|
||||
export default test({
|
||||
test({ assert, raf, target, logs }) {
|
||||
let divs = target.querySelectorAll('div');
|
||||
divs.forEach((div) => {
|
||||
// @ts-expect-error
|
||||
div.getBoundingClientRect = function () {
|
||||
// @ts-expect-error
|
||||
const index = [...this.parentNode.children].indexOf(this);
|
||||
const top = index * 30;
|
||||
|
||||
return {
|
||||
left: 0,
|
||||
right: 100,
|
||||
top,
|
||||
bottom: top + 20
|
||||
};
|
||||
};
|
||||
});
|
||||
|
||||
const [btn] = target.querySelectorAll('button');
|
||||
flushSync(() => btn.click());
|
||||
|
||||
raf.tick(1);
|
||||
assert.deepEqual(logs, []);
|
||||
raf.tick(100);
|
||||
assert.deepEqual(logs, []);
|
||||
}
|
||||
});
|
||||
@ -0,0 +1,19 @@
|
||||
<script>
|
||||
import { flip } from "svelte/animate";
|
||||
|
||||
let numbers = $state([0,1]);
|
||||
</script>
|
||||
|
||||
<button onclick={() => numbers.reverse()}>reverse</button>
|
||||
|
||||
{#each numbers as num (num)}
|
||||
<div
|
||||
onintrostart={() => console.log("intro start")}
|
||||
onoutrostart={() => console.log("outro start")}
|
||||
onintroend={() => console.log("intro end")}
|
||||
onoutroend={() => console.log("outro end")}
|
||||
animate:flip={{ duration: 100 }}
|
||||
>
|
||||
{num}
|
||||
</div>
|
||||
{/each}
|
||||
Loading…
Reference in new issue