diff --git a/packages/components/dropdown/__tests__/dropdown.test.tsx b/packages/components/dropdown/__tests__/dropdown.test.tsx index bb31564e7d..37b0eb82e6 100644 --- a/packages/components/dropdown/__tests__/dropdown.test.tsx +++ b/packages/components/dropdown/__tests__/dropdown.test.tsx @@ -353,6 +353,36 @@ describe("Dropdown", () => { expect(menu).toBeFalsy(); }); + it("should not open on disabled dropdown", () => { + const wrapper = render( + + + + + + New file + Copy link + Edit file + + Delete file + + + , + ); + + let triggerButton = wrapper.getByTestId("trigger-test"); + + expect(triggerButton).toBeTruthy(); + + act(() => { + triggerButton.click(); + }); + + let menu = wrapper.queryByRole("menu"); + + expect(menu).toBeFalsy(); + }); + it("should not select on disabled item", () => { const onSelectionChange = jest.fn(); const wrapper = render( diff --git a/packages/components/dropdown/stories/dropdown.stories.tsx b/packages/components/dropdown/stories/dropdown.stories.tsx index 8082f4915a..95ab23cc83 100644 --- a/packages/components/dropdown/stories/dropdown.stories.tsx +++ b/packages/components/dropdown/stories/dropdown.stories.tsx @@ -610,6 +610,15 @@ export const DisabledKeys = { }, }; +export const DisabledTrigger = { + render: Template, + + args: { + ...defaultProps, + isDisabled: true, + }, +}; + export const SingleSelection = { render: SingleSelectionTemplate, diff --git a/packages/components/popover/src/popover-trigger.tsx b/packages/components/popover/src/popover-trigger.tsx index 9fbe0e7cde..dded9c1e70 100644 --- a/packages/components/popover/src/popover-trigger.tsx +++ b/packages/components/popover/src/popover-trigger.tsx @@ -30,7 +30,7 @@ const PopoverTrigger = forwardRef<"button", PopoverTriggerProps>((props, _) => { }, [children]); const {onPress, ...rest} = useMemo(() => { - return getTriggerProps(mergeProps(child.props, otherProps), child.ref); + return getTriggerProps(mergeProps(otherProps, child.props), child.ref); }, [getTriggerProps, child.props, otherProps, child.ref]); // validates if contains a NextUI Button as a child