Open
Conversation
Adds a fully-featured sidebar navigation component built on Base UI primitives with collapsible groups (animated via Collapsible.Panel), icon-only collapse, resizable drag handle, mobile dialog, and side-aware border rendering. Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
Adds doc page with 7 demos (basic, collapsible groups, collapsed, toggle, full, resizable, right-side) along with BrandLogo pattern for icon-only collapsed state. Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
commit: |
Contributor
Docs PreviewCommit: |
Contributor
Contributor
|
@stritt Is this open for review? |
- Replace motion/react with pure CSS transitions matching prod easing - Fix collapsed state: smooth padding transition for icon centering, hide borders, flatten spacing for uniform icon layout - Fix separator disappearing during collapsible reflow (min-h-px guard) - SidebarHeader: py-3 for breathing room, border hidden when collapsed - AccountSwitcher: fix justify-center snap, use padding transition - BrandLogo: use size-4 rounded square matching menu icon dimensions - Restructure demos: Basic (no header/footer), Collapsible Groups, Toggle (merged collapsed+toggle), Full (kitchen sink), Resizable, Right (simplified). Each demo shows something distinct. - Rewrite sidebar.astro docs with updated examples and descriptions
Collaborator
Author
|
/bonk fix merge conflict |
Resolve conflicts to bring sidebar branch up to date with main: - Keep Sidebar component additions from this branch - Merge Chart component additions from main - Merge Select placeholder prop and Table compact header features - Merge CommandPalette filtering updates - Merge vitest v4 upgrade and browser testing config - Merge echarts peer dependency and code/server improvements - Update versions and regenerated files from main
Contributor
|
Merge conflict successfully resolved and committed. Here's a summary: Merge Conflict Resolution SummarySuccessfully merged Key Changes Preserved from Sidebar Branch:
Key Changes Merged from Main:
Resolution Strategy:
Verification:
|
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 join this conversation on GitHub.
Already have an account?
Sign in to comment
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.















DO NOT MERGE
Summary
Sidebarcompound component built on Base UI primitives with 20+ sub-components (Provider, Header, Content, Footer, Group, Menu, MenuButton, etc.)<Sidebar.Group collapsible>using Base UICollapsible.Panelwith animated height transitionswidth/minWidth/maxWidth) so content never inflates the sidebar — overflowing text truncatesBrandLogodemo pattern showing compact "A" when collapsed, full "Acme Inc" when expandedKey decisions
Collapsible.Panelwhich exposes--collapsible-panel-heightfor CSS-only height transitionsw-[--sidebar-width]) weren't reliably constraining sidebar width. Switched to inlinestyle={{ width, minWidth, maxWidth }}computed from state, which is bulletproof (I don't love this and want to find a better fix)border-rfor left sidebar,border-lfor right sidebar (was hardcoded toborder-r)px-3topx-2to matchSidebarContentso menu item icons align vertically in both expanded and collapsed states