Skip to content

Components: Upgrade @ariakit/react back to the latest patch #79051

@manzoorwanijk

Description

@manzoorwanijk

What problem does this address?

#77954 (Syncpack dependency alignment) downgraded @ariakit/react from ^0.4.22 to ^0.4.21 in packages/components/package.json and pinned the lockfile to 0.4.21.

Reason for the downgrade: aligning the declared range invalidated the existing lockfile entry, so npm install re-resolved @ariakit/react to the highest matching version (0.4.29). One of the patches between 0.4.22 and 0.4.29 introduced a selectOnMove: false regression in controlled Tabs. When the controlling component changes selectedId, the newer ariakit syncs the composite active-item (DOM focus target) to match the new selection — even though selectOnMove: false is supposed to keep keyboard focus decoupled from selection. This broke 4 unit tests in packages/components/src/tabs/test/index.tsx under Tabs › keyboard interactions › When 'selectedId' is changed by the controlling component [Controlled] › and 'selectOnMove' is false.

Pinning to ^0.4.21 unblocked the alignment PR but parks an unresolved upgrade.

What is your proposed solution?

Bump @ariakit/react to the latest 0.4.x in packages/components and either:

  • Confirm the regression has been fixed upstream and the existing tests pass unchanged, or
  • File an upstream bug against @ariakit/react and adjust our Tabs composite to manage activeId explicitly so selectOnMove: false stays decoupled from selection.

Metadata

Metadata

Assignees

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions