From 315f5e4ae2d416b498e4601bbb93de7fa52c660e Mon Sep 17 00:00:00 2001 From: Mats Bosson Date: Sun, 29 Mar 2026 07:57:25 +0700 Subject: [PATCH] Fix ToggleGroup disabled handling --- .../src/components/toggle-group/toggle-group-item.tsx | 6 ++++-- .../components/toggle-group/toggle-group.test.tsx | 10 ++++++++++ 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/packages/core/src/components/toggle-group/toggle-group-item.tsx b/packages/core/src/components/toggle-group/toggle-group-item.tsx index 3752ecc..1916515 100644 --- a/packages/core/src/components/toggle-group/toggle-group-item.tsx +++ b/packages/core/src/components/toggle-group/toggle-group-item.tsx @@ -24,8 +24,10 @@ export function ToggleGroupItem(props: ToggleGroupItemProps): JSX.Element { disabled={isDisabled()} {...rest} onClick={(e) => { - if (typeof rest.onClick === "function") rest.onClick(e); - if (!isDisabled()) ctx.onItemPress(local.value); + if (!isDisabled()) { + if (typeof rest.onClick === "function") rest.onClick(e); + ctx.onItemPress(local.value); + } }} > {local.children} diff --git a/packages/core/tests/components/toggle-group/toggle-group.test.tsx b/packages/core/tests/components/toggle-group/toggle-group.test.tsx index 3890b2d..ef391ce 100644 --- a/packages/core/tests/components/toggle-group/toggle-group.test.tsx +++ b/packages/core/tests/components/toggle-group/toggle-group.test.tsx @@ -71,4 +71,14 @@ describe("ToggleGroup multiple", () => { fireEvent.click(screen.getByRole("button")); expect(screen.getByRole("button").getAttribute("aria-pressed")).toBe("false"); }); + + it("disabled item is not pressable", () => { + render(() => ( + + A + + )); + fireEvent.click(screen.getByRole("button")); + expect(screen.getByRole("button").getAttribute("aria-pressed")).toBe("false"); + }); });