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"); + }); });