fix(toggle): avoid dispatching toggle event on state change (#2184)

This commit is contained in:
Sergei Burtsev 2025-08-16 20:34:21 +02:00 committed by GitHub
commit 0df727b704
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -39,8 +39,6 @@
import { createEventDispatcher } from "svelte"; import { createEventDispatcher } from "svelte";
const dispatch = createEventDispatcher(); const dispatch = createEventDispatcher();
$: dispatch("toggle", { toggled });
</script> </script>
<!-- svelte-ignore a11y-mouse-events-have-key-events --> <!-- svelte-ignore a11y-mouse-events-have-key-events -->
@ -63,12 +61,14 @@
checked={toggled} checked={toggled}
on:change={() => { on:change={() => {
toggled = !toggled; toggled = !toggled;
dispatch("toggle", { toggled });
}} }}
on:change on:change
on:keyup={(e) => { on:keyup={(e) => {
if (e.key === " " || e.key === "Enter") { if (e.key === " " || e.key === "Enter") {
e.preventDefault(); e.preventDefault();
toggled = !toggled; toggled = !toggled;
dispatch("toggle", { toggled });
} }
}} }}
on:keyup on:keyup