chore: Deprecate legacy `AutoComplete`, `Contextualbar`, `Sidebar` and `TopBar` components
Merged
TA
3mo ago+360+360+012345678901234567890123456789-82-82-01234567890123456789
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.
| Deprecated | Use 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
Contextualbarfamily is a 1:1 rename, so every component and props type points at itsContextualbarV2*counterpart. - The
Sidebarfamily is not 1:1. Where a counterpart exists it is named (for exampleSidebarItemTime→SidebarV2ItemTimestamp,SidebarItemAvatar→SidebarV2ItemAvatarWrapper,SidebarSectionTitle→SidebarV2GroupTitle).SidebarItemContainer,SidebarItemWrapperandSidebarItemSubtitlehave no V2 equivalent, since V2 restructured them intoSidebarV2ItemRow/SidebarV2ItemCol, so those point at the family instead of asserting a replacement. - Both
TopBarandTopBarV2are deprecated, so there is no in-family successor; they point atNavBarfor app-level navigation. - These components are exported as
export default memo(X)in theContextualbarfamily, where JSDoc on the inner declaration does not attach to the exported symbol. The tags are therefore placed on theexport defaultstatements, 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.