mirror of
https://github.com/nextui-org/nextui.git
synced 2025-12-08 19:26:11 +00:00
fix(number-input): include labelPlacement in dependency array (#5866)
* fix(number-input): include labelPlacement in dependency array for useNumberInput * test(number-input): add tests for labelPlacement with HeroUIProvider context * test(number-input): ensure labelPlacement prop takes precedence over HeroUIProvider context * docs(number-input): add changeset * chore(changeset): add issue number --------- Co-authored-by: WK <wingkwong.code@gmail.com>
This commit is contained in:
parent
27fec2db3c
commit
bdd37b4b08
5
.changeset/brave-laws-enjoy.md
Normal file
5
.changeset/brave-laws-enjoy.md
Normal file
@ -0,0 +1,5 @@
|
||||
---
|
||||
"@heroui/number-input": patch
|
||||
---
|
||||
|
||||
allow inheriting labelPlacement from HeroUIProvider (#5845)
|
||||
@ -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(
|
||||
<HeroUIProvider labelPlacement="outside">
|
||||
<NumberInput label="Test number input" />
|
||||
</HeroUIProvider>,
|
||||
);
|
||||
|
||||
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(
|
||||
<HeroUIProvider labelPlacement="outside">
|
||||
<NumberInput label="Test number input" labelPlacement="inside" />
|
||||
</HeroUIProvider>,
|
||||
);
|
||||
|
||||
const label = container.querySelector("label");
|
||||
|
||||
expect(label).toBeTruthy();
|
||||
expect(label?.className).not.toMatch(/translate-y.*100%/);
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
@ -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(
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user