chore: Deprecate legacy `AutoComplete`, `Contextualbar`, `Sidebar` and `TopBar` components

Merged
TA
3mo ago
+360-82

Proposed changes (including videos or screenshots)

Marks the legacy component families as deprecated through @deprecated JSDoc, so consumers get IDE and API-report warnings before they are removed. No runtime behavior changes — comments only.

DeprecatedUse instead
AutoComplete (@rocket.chat/fuselage)SelectFiltered / MultiSelectFiltered
AutoComplete (@rocket.chat/fuselage-forms)MultiSelectFiltered
Contextualbar*ContextualbarV2*
Sidebar*SidebarV2*
TopBar*, TopBarV2, SidebarTopBar*NavBar

Notes on the mapping:

  • The Contextualbar family is a 1:1 rename, so every component and props type points at its ContextualbarV2* counterpart.
  • The Sidebar family is not 1:1. Where a counterpart exists it is named (for example SidebarItemTime → SidebarV2ItemTimestamp, SidebarItemAvatar → SidebarV2ItemAvatarWrapper, SidebarSectionTitle → SidebarV2GroupTitle). SidebarItemContainer, SidebarItemWrapper and SidebarItemSubtitle have no V2 equivalent, since V2 restructured them into SidebarV2ItemRow/SidebarV2ItemCol, so those point at the family instead of asserting a replacement.
  • Both TopBar and TopBarV2 are deprecated, so there is no in-family successor; they point at NavBar for app-level navigation.
  • These components are exported as export default memo(X) in the Contextualbar family, where JSDoc on the inner declaration does not attach to the exported symbol. The tags are therefore placed on the export default statements, which is what makes them show up in the API reports.

Issue(s)

Further comments

Verified per commit: yarn build for both affected packages (api-extractor regenerated fuselage.api.md and fuselage-forms.api.md, and the reports confirm every intended export flipped to @public @deprecated and nothing else did), plus yarn lint (0 errors, only the 3 pre-existing react-hooks/exhaustive-deps warnings in MultiSelect/SelectLegacy) and tsc --noEmit.

Unit tests and visual regression were not run — the changes are comments only and do not affect rendered output.