From 66cbc58d89a172a08f5623dd34ab13e10b096363 Mon Sep 17 00:00:00 2001 From: Piyush Date: Fri, 14 Jun 2024 00:39:54 +0530 Subject: [PATCH 1/3] implemented floating-ui working in chrome --- client/components/Nav/NavDropdownMenu.jsx | 18 ++++- package-lock.json | 99 +++++++++++++++++++++++ package.json | 1 + 3 files changed, 116 insertions(+), 2 deletions(-) diff --git a/client/components/Nav/NavDropdownMenu.jsx b/client/components/Nav/NavDropdownMenu.jsx index 7fb8eda34f..378f703871 100644 --- a/client/components/Nav/NavDropdownMenu.jsx +++ b/client/components/Nav/NavDropdownMenu.jsx @@ -1,6 +1,7 @@ import classNames from 'classnames'; import PropTypes from 'prop-types'; import React, { useContext, useMemo } from 'react'; +import { useFloating, autoUpdate, shift } from '@floating-ui/react'; import TriangleIcon from '../../images/down-filled-triangle.svg'; import { MenuOpenContext, NavBarContext, ParentMenuContext } from './contexts'; @@ -22,8 +23,17 @@ export function useMenuProps(id) { function NavDropdownMenu({ id, title, children }) { const { isOpen, handlers } = useMenuProps(id); + const { refs, floatingStyles } = useFloating({ + whileElementsMounted: autoUpdate, + placement: 'bottom-start', + middleware: [shift()] + }); + return ( -
  • +
  • -