Skip to content

Commit b0441c4

Browse files
render ActionList.Item as NavItem and wrap with li
1 parent d8c591b commit b0441c4

File tree

3 files changed

+13
-3
lines changed

3 files changed

+13
-3
lines changed

src/UnderlineNav2/UnderlineNav.tsx

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -224,6 +224,8 @@ export const UnderlineNav = forwardRef(
224224

225225
const isCoarsePointer = useMedia('(pointer: coarse)')
226226

227+
const [asNavItem, setAsNavItem] = useState('a')
228+
227229
const [selectedLink, setSelectedLink] = useState<RefObject<HTMLElement> | undefined>(undefined)
228230

229231
const [focusedLink, setFocusedLink] = useState<RefObject<HTMLElement> | null>(null)
@@ -347,6 +349,7 @@ export const UnderlineNav = forwardRef(
347349
selectedLinkText,
348350
setSelectedLinkText,
349351
setFocusedLink,
352+
setAsNavItem,
350353
selectEvent,
351354
afterSelect: afterSelectHandler,
352355
variant,
@@ -383,9 +386,9 @@ export const UnderlineNav = forwardRef(
383386
{actions.map((action, index) => {
384387
const {children: actionElementChildren, ...actionElementProps} = action.props
385388
return (
386-
<Box key={index} as="li">
389+
<Box key={index} as="li" sx={{listStyle: 'none', textDecoration: 'none'}}>
387390
<ActionList.Item
388-
key={index}
391+
as={asNavItem}
389392
sx={menuItemStyles}
390393
{...actionElementProps}
391394
onSelect={(

src/UnderlineNav2/UnderlineNavContext.tsx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ export const UnderlineNavContext = createContext<{
1010
selectedLinkText: string
1111
setSelectedLinkText: React.Dispatch<React.SetStateAction<string>>
1212
setFocusedLink: React.Dispatch<React.SetStateAction<RefObject<HTMLElement> | null>>
13+
setAsNavItem: React.Dispatch<React.SetStateAction<string>>
1314
selectEvent: React.MouseEvent<HTMLLIElement> | React.KeyboardEvent<HTMLLIElement> | null
1415
afterSelect?: (event: React.MouseEvent<HTMLLIElement> | React.KeyboardEvent<HTMLLIElement>) => void
1516
variant: 'default' | 'small'
@@ -24,6 +25,7 @@ export const UnderlineNavContext = createContext<{
2425
selectedLinkText: '',
2526
setSelectedLinkText: () => null,
2627
setFocusedLink: () => null,
28+
setAsNavItem: () => null,
2729
selectEvent: null,
2830
variant: 'default',
2931
loadingCounters: false,

src/UnderlineNav2/UnderlineNavItem.tsx

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,7 @@ export const UnderlineNavItem = forwardRef(
7272
selectedLinkText,
7373
setSelectedLinkText,
7474
setFocusedLink,
75+
setAsNavItem,
7576
selectEvent,
7677
afterSelect,
7778
variant,
@@ -107,6 +108,8 @@ export const UnderlineNavItem = forwardRef(
107108
if (typeof onSelect === 'function' && selectEvent !== null) onSelect(selectEvent)
108109
setSelectedLinkText('')
109110
}
111+
112+
setAsNavItem(Component)
110113
}, [
111114
ref,
112115
preSelected,
@@ -117,7 +120,9 @@ export const UnderlineNavItem = forwardRef(
117120
setChildrenWidth,
118121
setNoIconChildrenWidth,
119122
onSelect,
120-
selectEvent
123+
selectEvent,
124+
Component,
125+
setAsNavItem
121126
])
122127

123128
const keyPressHandler = React.useCallback(

0 commit comments

Comments
 (0)