This repository was archived by the owner on Oct 16, 2026. It is now read-only.
Repository navigation
feat(fuselage): Migrate Sidebar and Sidepanel to Item components - #2295
Draft
juliajforesti wants to merge 20 commits into
Draft
juliajforesti wants to merge 20 commits into
juliajforesti wants to merge 20 commits into
Conversation
🦋 Changeset detectedLatest commit: a286401 The changes in this PR will be included in the next version bump. This PR includes changesets to release 1 package
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
juliajforesti
force-pushed
the
feat/item-bridges
branch
2 times, most recently
from
October 14, 2026 15:35
5ff5284 to
1250d19
Compare
This was referenced Oct 14, 2026
Item componentsSidebar and Sidepanel to Item components
…ng a gap Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… with `ItemGroupHeader` and `ItemGroup` Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… update snapshots Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ivider` as `ItemDivider` Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… and group headers Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
juliajforesti
force-pushed
the
feat/item-bridges
branch
from
October 14, 2026 17:27
1250d19 to
5297e70
Compare
…er by `md` Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ItemLink` and `SidebarItemActions` Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Proposed changes (including videos or screenshots)
Renders the Sidebar and Sidepanel components with the
Itemfamily from #2281. The publicrcx-sidebar-*classes stay in place.SidebarItem, its parts andSidebarLinkrender withItem,ItemMedia,ItemIcon,ItemContent,ItemRow,ItemTitle,ItemDescription,ItemMetaandItemActions.labelprop onSidebarItemIconnames the icon for assistive technology.SidebarGroupTitle,SidebarCollapseGroupandSidebarCollapseGroupMenurender asItemGroupHeader,ItemGroupandItemActions. The collapse group's list is named by its title. This keeps the restyled collapse group header from feat(fuselage): Restyle the sidebar collapse group header #2285.mdinset from theItemscale, set inside the components. It replaces the fixed 12px inset, and headers and rows line up.SidebarItemcan render as a container row: passis='div'and put the newSidebarItemLinkinsideSidebarItemTitle. Only the title is the link, and it covers the whole row, so menus and buttons sit beside it instead of inside it. The newSidebarItemActionsholds always-visible buttons, such as accepting or rejecting a call.SidebarItemalso gets ahighlightedprop. Adivrow dropshref,target,relanddownload. The default anchor row is unchanged.SidebarDividerrenders asItemDivider.SidepanelListrenders as anItemGroupandSidepanelDivideras anItemDivider, keeping the full-width line underSidepanelHeader.ItemActions reveal='hover'no longer leaves its container's gap behind inItem,ItemRoworItemGroupHeader. Trailing content lines up with rows without actions and doesn't shift when the actions appear.SidebarCollapseGroupno longer passes itsactionsprop to the DOM.Issue(s)
Related: RocketChat/Rocket.Chat#42520, which applies the
Itemcomponents in Rocket.Chat.Further comments
This PR used to hold the whole
Itemmigration. It is now split into three independent PRs offmain:Option,Options,SelectandMenutoItemcomponents #2310: Options, Select and Menu (merge first)truncatetoItemMeta#2311:ItemMetatruncateThe hidden-actions gap fix is the first commit here and in #2310, because both PRs start rendering
ItemActions reveal='hover'. Whichever merges second drops the duplicate when rebased ontomain.If #2310 merges first, this PR needs a rebase and
yarn jest -u. Only generated React ids in the Sidebar and Sidepanel snapshots change.Not changed here:
SidebarLinkstill renders its menu inside its anchor. Moving it out changes the DOM for existing callers, so it belongs in a separate fix. Container rows are the way to keep menus and buttons out of the link.Each component change has jest-axe coverage and updated snapshots. Container rows also have specs checking that no button sits inside the link and that the link is named by its title alone.
fuselage.api.mdand the visual-regression snapshots were regenerated for this branch.🤖 Generated with Claude Code