Skip to content

Move RovingTabIndex to shared component and use it in ActionBarView#33263

Open
rbondesson wants to merge 8 commits intoelement-hq:developfrom
ZacksBot:refactor/roving
Open

Move RovingTabIndex to shared component and use it in ActionBarView#33263
rbondesson wants to merge 8 commits intoelement-hq:developfrom
ZacksBot:refactor/roving

Conversation

@rbondesson
Copy link
Copy Markdown
Contributor

@rbondesson rbondesson commented Apr 22, 2026

Checklist

Move RovingTabIndex to shared components

Summary

  • Created a RovingTabIndex component in shared components
  • Refactored ActionBarView to use the new component instead

Changes

New component

  • Created a RovingTabIndex component in shared components
  • Introduced RovingAction and reversed the dependency for keyboard handling
  • Added a compatibility wrapper in app/web, RovingTabIndex

Codebase migration

  • Refactored ActionBarView to use the new component instead of the current roving implementation
  • Renamed the enum Type to RovingStateActionType for readability and adjusted the caller, ForwardDialog, SpotlightDialog and EmojiPicker

Test plan

  • Verify that the component renders correctly in the ActionBarView storybook
  • Run unit tests for the new component in core/roving/...
  • Run unit tests for affected components in apps/web/...
  • Run visual tests for affected components in apps/web/...

@rbondesson rbondesson added the T-Task Tasks for the team like planning label Apr 22, 2026
@rbondesson rbondesson self-assigned this Apr 22, 2026
import { KeyBindingAction } from "./KeyboardShortcuts";
import { type FocusHandler } from "./roving/types";

export { checkInputableElement, findSiblingElement, RovingStateActionType, RovingTabIndexContext, useRovingTabIndex };
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

sonar would like your exports done differently

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

T-Task Tasks for the team like planning

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants