From 3def20bf0d5d5b2430f075851e3d4af1cb88c575 Mon Sep 17 00:00:00 2001 From: Mats Bosson Date: Sun, 29 Mar 2026 07:10:31 +0700 Subject: [PATCH] Fix Toggle options stability --- packages/core/src/components/toggle/toggle.tsx | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/packages/core/src/components/toggle/toggle.tsx b/packages/core/src/components/toggle/toggle.tsx index a94776e..fbcdd63 100644 --- a/packages/core/src/components/toggle/toggle.tsx +++ b/packages/core/src/components/toggle/toggle.tsx @@ -26,19 +26,14 @@ export function Toggle(props: ToggleProps): JSX.Element { "onClick", ]); - const options: Parameters>[0] = { + const [isPressed, setPressed] = createControllableSignal({ value: () => local.pressed, defaultValue: () => local.defaultPressed ?? false, - }; - - if (local.onPressedChange) { - options.onChange = local.onPressedChange; - } - - const [isPressed, setPressed] = createControllableSignal(options); + onChange: local.onPressedChange, + }); const handleClick: JSX.EventHandler = (e) => { - if (typeof local.onClick === "function") local.onClick(e); + local.onClick?.(e); if (!local.disabled) setPressed(!isPressed()); };