From 00839c68ebebc80fa05e1cf164bd08c63c624913 Mon Sep 17 00:00:00 2001 From: Pranay Kothapalli Date: Wed, 24 Jun 2026 10:46:14 +0530 Subject: [PATCH 1/2] fix(Menu): merge consumer props into getFloatingProps (#806) --- .../Menu/fragments/MenuPrimitiveContent.tsx | 9 ++++--- .../MenuPrimitive.floatingProps.test.tsx | 27 +++++++++++++++++++ 2 files changed, 32 insertions(+), 4 deletions(-) create mode 100644 src/core/primitives/Menu/tests/MenuPrimitive.floatingProps.test.tsx diff --git a/src/core/primitives/Menu/fragments/MenuPrimitiveContent.tsx b/src/core/primitives/Menu/fragments/MenuPrimitiveContent.tsx index 50e02febd..51a8f36fc 100644 --- a/src/core/primitives/Menu/fragments/MenuPrimitiveContent.tsx +++ b/src/core/primitives/Menu/fragments/MenuPrimitiveContent.tsx @@ -36,10 +36,11 @@ const MenuPrimitiveContent = forwardRef
) => Record)({ + ...props, + className, + style: floatingStyles + })} >
{children} diff --git a/src/core/primitives/Menu/tests/MenuPrimitive.floatingProps.test.tsx b/src/core/primitives/Menu/tests/MenuPrimitive.floatingProps.test.tsx new file mode 100644 index 000000000..b170d21af --- /dev/null +++ b/src/core/primitives/Menu/tests/MenuPrimitive.floatingProps.test.tsx @@ -0,0 +1,27 @@ +import React from 'react'; +import { render, screen } from '@testing-library/react'; +import userEvent from '@testing-library/user-event'; +import MenuPrimitive from '~/core/primitives/Menu/MenuPrimitive'; + +describe('Menu floating props merge', () => { + test('preserves consumer onKeyDown on menu content', async() => { + const user = userEvent.setup(); + const onKeyDown = jest.fn(); + + render( + + Open + + + Profile + + + + ); + + const content = screen.getByTestId('menu-content'); + content.focus(); + await user.keyboard('{ArrowDown}'); + expect(onKeyDown).toHaveBeenCalled(); + }); +}); From bbbc2a36731d0a2b289213942739c40403b5eeac Mon Sep 17 00:00:00 2001 From: Pranay Kothapalli Date: Wed, 24 Jun 2026 16:14:34 +0530 Subject: [PATCH 2/2] fix(Menu): merge consumer style with floating positioning styles --- .../primitives/Menu/fragments/MenuPrimitiveContent.tsx | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/core/primitives/Menu/fragments/MenuPrimitiveContent.tsx b/src/core/primitives/Menu/fragments/MenuPrimitiveContent.tsx index 51a8f36fc..d6ba93f34 100644 --- a/src/core/primitives/Menu/fragments/MenuPrimitiveContent.tsx +++ b/src/core/primitives/Menu/fragments/MenuPrimitiveContent.tsx @@ -25,6 +25,10 @@ const MenuPrimitiveContent = forwardRef).style; + const restProps = { ...props } as Record; + delete restProps.style; + return ( <> @@ -37,9 +41,9 @@ const MenuPrimitiveContent = forwardRef) => Record)({ - ...props, + ...restProps, className, - style: floatingStyles + style: { ...consumerStyle, ...floatingStyles } })} >