File tree Expand file tree Collapse file tree 1 file changed +19
-22
lines changed Expand file tree Collapse file tree 1 file changed +19
-22
lines changed Original file line number Diff line number Diff line change @@ -108,31 +108,28 @@ export const Tabs = memo(
108108 const onKeyboardNavigation = (
109109 event : React . KeyboardEvent < HTMLButtonElement > | React . KeyboardEvent < HTMLUListElement >
110110 ) => {
111- let targetIndex = selectedTabIndex ;
112- switch ( event . key ) {
113- case "ArrowRight" :
114- targetIndex = selectedTabIndex < tabs . length - 1 ? selectedTabIndex + 1 : 0 ;
115- break ;
116- case "ArrowLeft" :
117- targetIndex = selectedTabIndex === 0 ? tabs . length - 1 : selectedTabIndex - 1 ;
118- break ;
119- case "Home" :
120- targetIndex = 0 ;
121- break ;
122- case "End" :
123- targetIndex = tabs . length - 1 ;
124- break ;
111+ if ( selectedTabId !== undefined ) {
112+ let targetIndex = selectedTabIndex ;
113+ switch ( event . key ) {
114+ case "ArrowRight" :
115+ targetIndex = selectedTabIndex < tabs . length - 1 ? selectedTabIndex + 1 : 0 ;
116+ break ;
117+ case "ArrowLeft" :
118+ targetIndex =
119+ selectedTabIndex === 0 ? tabs . length - 1 : selectedTabIndex - 1 ;
120+ break ;
121+ case "Home" :
122+ targetIndex = 0 ;
123+ break ;
124+ case "End" :
125+ targetIndex = tabs . length - 1 ;
126+ break ;
127+ }
128+ buttonRefs . current [ targetIndex ] ?. click ( ) ;
129+ buttonRefs . current [ targetIndex ] ?. focus ( ) ;
125130 }
126- buttonRefs . current [ targetIndex ] ?. click ( ) ;
127131 } ;
128132
129- React . useEffect ( ( ) => {
130- const targetTabButton = buttonRefs . current [ selectedTabIndex ] ;
131- if ( targetTabButton ) {
132- targetTabButton . focus ( ) ;
133- }
134- } , [ selectedTabIndex ] ) ;
135-
136133 const { getPanelId, getTabId } = ( function useClosure ( ) {
137134 const id = useId ( ) ;
138135
You can’t perform that action at this time.
0 commit comments