From c5b7260e6d3cdf38c464826cfc8ac089eb186ef8 Mon Sep 17 00:00:00 2001 From: Mats Bosson Date: Sun, 29 Mar 2026 07:39:35 +0700 Subject: [PATCH] Fix Progress zero value bug --- packages/core/src/components/progress/progress.tsx | 7 ++++--- packages/core/tests/components/progress/progress.test.tsx | 6 ++++++ 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/packages/core/src/components/progress/progress.tsx b/packages/core/src/components/progress/progress.tsx index 7ce7f08..7291ef7 100644 --- a/packages/core/src/components/progress/progress.tsx +++ b/packages/core/src/components/progress/progress.tsx @@ -40,17 +40,18 @@ export function Progress(props: ProgressProps): JSX.Element { }; const valueNow = (): number | undefined => { - return isIndeterminate() ? undefined : currentValue() || undefined; + const v = currentValue(); + return isIndeterminate() || v === null ? undefined : v; }; const dataValue = (): number | undefined => { - return isIndeterminate() ? undefined : currentValue() || undefined; + const v = currentValue(); + return isIndeterminate() || v === null ? undefined : v; }; return (
{ render(() => ); expect(screen.getByRole("progressbar").getAttribute("data-state")).toBe("complete"); }); + + it("sets aria-valuenow=0 when value is zero", () => { + render(() => ); + expect(screen.getByRole("progressbar").getAttribute("aria-valuenow")).toBe("0"); + expect(screen.getByRole("progressbar").getAttribute("data-state")).toBe("complete"); + }); });