Skip to content

Commit 9c6251d

Browse files
committed
fix(dropdowns): overrides floating ui's default RTL handling to prefer theme.rtl in menu (#1728)
1 parent 544cf2b commit 9c6251d

File tree

2 files changed

+107
-1
lines changed

2 files changed

+107
-1
lines changed

package-lock.json

Lines changed: 98 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

packages/dropdowns/src/elements/menu/MenuList.tsx

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ import {
1414
getFloatingPlacements,
1515
getMenuPosition
1616
} from '@zendeskgarden/react-theming';
17-
import { autoPlacement, autoUpdate, flip, offset, size, useFloating } from '@floating-ui/react-dom';
17+
import { autoUpdate, platform, flip, offset, size, useFloating } from '@floating-ui/react-dom';
1818
import { IMenuListProps, PLACEMENT } from '../../types';
1919
import { StyledFloatingMenu, StyledMenu } from '../../views';
2020
import { createPortal } from 'react-dom';
@@ -59,6 +59,14 @@ export const MenuList = forwardRef<HTMLUListElement, IMenuListProps>(
5959
update,
6060
floatingStyles: { transform }
6161
} = useFloating<HTMLElement>({
62+
platform: {
63+
...platform,
64+
// Defers RTL to Garden
65+
// References:
66+
// - https://github.com/floating-ui/floating-ui/issues/1530
67+
// - https://github.com/floating-ui/floating-ui/blob/master/packages/dom/src/platform/isRTL.ts#L3
68+
isRTL: () => theme.rtl
69+
},
6270
elements: { reference: triggerRef?.current, floating: floatingRef?.current },
6371
placement: floatingPlacement,
6472
middleware: [

0 commit comments

Comments
 (0)