Fix Toggle options stability

This commit is contained in:
Mats Bosson 2026-03-29 07:10:31 +07:00
parent d522090872
commit 3def20bf0d

View File

@ -26,19 +26,14 @@ export function Toggle(props: ToggleProps): JSX.Element {
"onClick",
]);
const options: Parameters<typeof createControllableSignal<boolean>>[0] = {
const [isPressed, setPressed] = createControllableSignal<boolean>({
value: () => local.pressed,
defaultValue: () => local.defaultPressed ?? false,
};
if (local.onPressedChange) {
options.onChange = local.onPressedChange;
}
const [isPressed, setPressed] = createControllableSignal<boolean>(options);
onChange: local.onPressedChange,
});
const handleClick: JSX.EventHandler<HTMLButtonElement, MouseEvent> = (e) => {
if (typeof local.onClick === "function") local.onClick(e);
local.onClick?.(e);
if (!local.disabled) setPressed(!isPressed());
};