Skip to content

Commit 8499182

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

File tree

2 files changed

+115
-1
lines changed

2 files changed

+115
-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: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,15 @@ 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 {
18+
autoPlacement,
19+
autoUpdate,
20+
platform,
21+
flip,
22+
offset,
23+
size,
24+
useFloating
25+
} from '@floating-ui/react-dom';
1826
import { IMenuListProps, PLACEMENT } from '../../types';
1927
import { StyledFloatingMenu, StyledMenu } from '../../views';
2028
import { createPortal } from 'react-dom';
@@ -59,6 +67,14 @@ export const MenuList = forwardRef<HTMLUListElement, IMenuListProps>(
5967
update,
6068
floatingStyles: { transform }
6169
} = useFloating<HTMLElement>({
70+
platform: {
71+
...platform,
72+
// Defers RTL to Garden
73+
// References:
74+
// - https://github.com/floating-ui/floating-ui/issues/1530
75+
// - https://github.com/floating-ui/floating-ui/blob/master/packages/dom/src/platform/isRTL.ts#L3
76+
isRTL: () => theme.rtl
77+
},
6278
elements: { reference: triggerRef?.current, floating: floatingRef?.current },
6379
placement: floatingPlacement,
6480
middleware: [

0 commit comments

Comments
 (0)