Skip to content

Commit dd8eeed

Browse files
pksjcejonrohan
andauthored
Breadcrumbs: Fix esc button not being able to focus on the menubuttonRef (#6854)
Co-authored-by: Jon Rohan <yes@jonrohan.codes>
1 parent b9b558e commit dd8eeed

File tree

2 files changed

+19
-16
lines changed

2 files changed

+19
-16
lines changed

.changeset/ten-jobs-attack.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"@primer/react": patch
3+
---
4+
5+
Breadcrumbs: Fix esc button not being able to focus on the menubuttonRef

packages/react/src/Breadcrumbs/Breadcrumbs.tsx

Lines changed: 14 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@ import {BoxWithFallback} from '../internal/components/BoxWithFallback'
99
import Details from '../Details'
1010
import {ActionList} from '../ActionList'
1111
import {IconButton} from '../Button/IconButton'
12-
import {Tooltip} from '../TooltipV2'
1312
import {KebabHorizontalIcon} from '@primer/octicons-react'
1413
import {useResizeObserver} from '../hooks/useResizeObserver'
1514
import type {ResizeObserverEntry} from '../hooks/useResizeObserver'
@@ -52,7 +51,7 @@ const BreadcrumbsMenuItem = React.forwardRef<HTMLDetailsElement, BreadcrumbsMenu
5251
({items, 'aria-label': ariaLabel, ...rest}, menuRefCallback) => {
5352
const [isOpen, setIsOpen] = useState(false)
5453
const detailsRef = useRef<HTMLDetailsElement | null>(null)
55-
const menuButtonRef = useRef<HTMLElement>(null)
54+
const menuButtonRef = useRef<HTMLButtonElement | null>(null)
5655
const menuContainerRef = useRef<HTMLDivElement>(null)
5756
const detailsRefCallback = useCallback(
5857
(element: HTMLDetailsElement | null) => {
@@ -104,20 +103,19 @@ const BreadcrumbsMenuItem = React.forwardRef<HTMLDetailsElement, BreadcrumbsMenu
104103

105104
return (
106105
<Details ref={detailsRefCallback} className={classes.MenuDetails}>
107-
<Tooltip text={ariaLabel || `${items.length} more breadcrumb items`} direction={'e'}>
108-
<IconButton
109-
as="summary"
110-
role="button"
111-
ref={menuButtonRef}
112-
aria-label={ariaLabel || `${items.length} more breadcrumb items`}
113-
aria-expanded={isOpen ? 'true' : 'false'}
114-
onClick={handleSummaryClick}
115-
variant="invisible"
116-
size="small"
117-
icon={KebabHorizontalIcon}
118-
{...rest}
119-
/>
120-
</Tooltip>
106+
<IconButton
107+
as="summary"
108+
role="button"
109+
ref={menuButtonRef}
110+
aria-label={ariaLabel || `${items.length} more breadcrumb items`}
111+
aria-expanded={isOpen ? 'true' : 'false'}
112+
onClick={handleSummaryClick}
113+
variant="invisible"
114+
size="small"
115+
icon={KebabHorizontalIcon}
116+
tooltipDirection="e"
117+
{...rest}
118+
/>
121119
<div ref={menuContainerRef} className={classes.MenuOverlay}>
122120
<ActionList>
123121
{items.map((item, index) => {

0 commit comments

Comments
 (0)