From 7ef64df3f42f440159fc856fdf0de13b010bd185 Mon Sep 17 00:00:00 2001 From: KumJungMin Date: Sun, 2 Nov 2025 15:26:18 +0900 Subject: [PATCH 1/5] fix(number-input): include labelPlacement in dependency array for useNumberInput --- .../components/number-input/src/use-number-input.ts | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/packages/components/number-input/src/use-number-input.ts b/packages/components/number-input/src/use-number-input.ts index 04d74cf810..651115046e 100644 --- a/packages/components/number-input/src/use-number-input.ts +++ b/packages/components/number-input/src/use-number-input.ts @@ -234,10 +234,18 @@ export function useNumberInput(originalProps: UseNumberInputProps) { numberInput({ ...variantProps, isInvalid, + labelPlacement, isClearable, disableAnimation, }), - [objectToDeps(variantProps), isInvalid, isClearable, hasStartContent, disableAnimation], + [ + objectToDeps(variantProps), + isInvalid, + labelPlacement, + isClearable, + hasStartContent, + disableAnimation, + ], ); const handleKeyDown = useCallback( From 597f55f13dffa814f218538bdaf24dede60b68d7 Mon Sep 17 00:00:00 2001 From: KumJungMin Date: Sun, 2 Nov 2025 15:32:21 +0900 Subject: [PATCH 2/5] test(number-input): add tests for labelPlacement with HeroUIProvider context --- .../__tests__/number-input.test.tsx | 29 +++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/packages/components/number-input/__tests__/number-input.test.tsx b/packages/components/number-input/__tests__/number-input.test.tsx index d11fbdc61a..2abdc3304c 100644 --- a/packages/components/number-input/__tests__/number-input.test.tsx +++ b/packages/components/number-input/__tests__/number-input.test.tsx @@ -5,6 +5,7 @@ import {render, fireEvent, act} from "@testing-library/react"; import userEvent from "@testing-library/user-event"; import {useForm} from "react-hook-form"; import {Form} from "@heroui/form"; +import {HeroUIProvider} from "@heroui/system"; import {NumberInput} from "../src"; @@ -680,4 +681,32 @@ describe("NumberInput with React Hook Form", () => { }); }); }); + + describe("NumberInput with HeroUIProvider context", () => { + it("should inherit labelPlacement from HeroUIProvider", () => { + const {container} = render( + + + , + ); + + const label = container.querySelector("label"); + + expect(label).toBeTruthy(); + expect(label?.className).toMatch(/translate-y.*100%/); + }); + }); + + it("should prioritize labelPlacement prop over HeroUIProvider context", () => { + const {container} = render( + + + , + ); + + const label = container.querySelector("label"); + + expect(label).toBeTruthy(); + expect(label?.className).not.toMatch(/translate-y.*100%/); + }); }); From 83a5b5f307f9a65cdc3b096fb732209ced37493c Mon Sep 17 00:00:00 2001 From: KumJungMin Date: Sun, 2 Nov 2025 15:33:47 +0900 Subject: [PATCH 3/5] test(number-input): ensure labelPlacement prop takes precedence over HeroUIProvider context --- .../__tests__/number-input.test.tsx | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/packages/components/number-input/__tests__/number-input.test.tsx b/packages/components/number-input/__tests__/number-input.test.tsx index 2abdc3304c..f7c8a21ae1 100644 --- a/packages/components/number-input/__tests__/number-input.test.tsx +++ b/packages/components/number-input/__tests__/number-input.test.tsx @@ -695,18 +695,18 @@ describe("NumberInput with React Hook Form", () => { expect(label).toBeTruthy(); expect(label?.className).toMatch(/translate-y.*100%/); }); - }); - it("should prioritize labelPlacement prop over HeroUIProvider context", () => { - const {container} = render( - - - , - ); + it("should prioritize labelPlacement prop over HeroUIProvider context", () => { + const {container} = render( + + + , + ); - const label = container.querySelector("label"); + const label = container.querySelector("label"); - expect(label).toBeTruthy(); - expect(label?.className).not.toMatch(/translate-y.*100%/); + expect(label).toBeTruthy(); + expect(label?.className).not.toMatch(/translate-y.*100%/); + }); }); }); From 46b5ff633c5aed13641a7dc060486c18ae3c4e03 Mon Sep 17 00:00:00 2001 From: KumJungMin Date: Sun, 2 Nov 2025 15:37:20 +0900 Subject: [PATCH 4/5] docs(number-input): add changeset --- .changeset/brave-laws-enjoy.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/brave-laws-enjoy.md diff --git a/.changeset/brave-laws-enjoy.md b/.changeset/brave-laws-enjoy.md new file mode 100644 index 0000000000..ac0d8a6211 --- /dev/null +++ b/.changeset/brave-laws-enjoy.md @@ -0,0 +1,5 @@ +--- +"@heroui/number-input": patch +--- + +allow inheriting labelPlacement from HeroUIProvider From b595ea7597a596f1916de3f470c137b5d96f042b Mon Sep 17 00:00:00 2001 From: WK Date: Sun, 2 Nov 2025 20:44:44 +0800 Subject: [PATCH 5/5] chore(changeset): add issue number --- .changeset/brave-laws-enjoy.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.changeset/brave-laws-enjoy.md b/.changeset/brave-laws-enjoy.md index ac0d8a6211..4dffac7aeb 100644 --- a/.changeset/brave-laws-enjoy.md +++ b/.changeset/brave-laws-enjoy.md @@ -2,4 +2,4 @@ "@heroui/number-input": patch --- -allow inheriting labelPlacement from HeroUIProvider +allow inheriting labelPlacement from HeroUIProvider (#5845)