Skip to content

Draft: Kumo SIdebar Support#119

Open
stritt wants to merge 8 commits intomainfrom
stritt/sidebar
Open

Draft: Kumo SIdebar Support#119
stritt wants to merge 8 commits intomainfrom
stritt/sidebar

Conversation

@stritt
Copy link
Collaborator

@stritt stritt commented Feb 18, 2026

DO NOT MERGE

Summary

  • Adds Sidebar compound component built on Base UI primitives with 20+ sub-components (Provider, Header, Content, Footer, Group, Menu, MenuButton, etc.)
  • Collapsible groups via <Sidebar.Group collapsible> using Base UI Collapsible.Panel with animated height transitions
  • Icon-only collapse mode, off-canvas collapse, resizable drag handle, mobile dialog, right-side variant with correct border rendering
  • Sidebar width is locked via inline styles (width/minWidth/maxWidth) so content never inflates the sidebar — overflowing text truncates
  • BrandLogo demo pattern showing compact "A" when collapsed, full "Acme Inc" when expanded
  • 7 demos: basic, collapsible groups, collapsed, toggle, full kitchen-sink, resizable, right-side
  • Documentation page added to docs site with nav entry

Key decisions

  • Base UI Primitives — collapsible group animation uses Base UI's Collapsible.Panel which exposes --collapsible-panel-height for CSS-only height transitions
  • Inline styles for width lock — Tailwind arbitrary value classes with CSS custom properties (w-[--sidebar-width]) weren't reliably constraining sidebar width. Switched to inline style={{ width, minWidth, maxWidth }} computed from state, which is bulletproof (I don't love this and want to find a better fix)
  • Side-aware borderborder-r for left sidebar, border-l for right sidebar (was hardcoded to border-r)
  • Footer padding — changed from px-3 to px-2 to match SidebarContent so menu item icons align vertically in both expanded and collapsed states

stritt and others added 2 commits February 18, 2026 16:22
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>
@pkg-pr-new
Copy link

pkg-pr-new bot commented Feb 18, 2026

npm i https://pkg.pr.new/@cloudflare/kumo@119

commit: 60a66f9

@github-actions
Copy link
Contributor

github-actions bot commented Feb 18, 2026

Docs Preview

View docs preview

Commit: 60a66f9

@github-actions
Copy link
Contributor

Visual Regression Report

5 screenshot(s) with visual changes:

Button / Loading State

4 px (0%) changed

Before After Diff
Before After Diff

Dialog / Basic Dialog

55,078 px (1.32%) changed

Before After Diff
Before After Diff

Dialog / Confirmation Dialog (Alert)

86,219 px (2.07%) changed

Before After Diff
Before After Diff

Select / Select

24,948 px (2.91%) changed

Before After Diff
Before After Diff

Select (Open)

0 px (0%) changed

Before After Diff
Before After Diff
11 screenshot(s) unchanged
  • Button / Variants
  • Button / Sizes
  • Button / With Icon
  • Button / Icon Only
  • Button / Disabled State
  • Dialog / With Actions
  • Dialog / With Select
  • Dialog / With Combobox
  • Dialog / With Dropdown
  • Dialog (Open)
  • Select / Select.Option

Generated by Kumo Visual Regression

@CiscoFran10
Copy link
Contributor

@stritt Is this open for review?

Brayden and others added 4 commits February 27, 2026 21:29
- 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
@stritt
Copy link
Collaborator Author

stritt commented Mar 6, 2026

/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
@ask-bonk
Copy link
Contributor

ask-bonk bot commented Mar 6, 2026

Merge conflict successfully resolved and committed. Here's a summary:

Merge Conflict Resolution Summary

Successfully merged origin/main into stritt/sidebar branch, resolving 43 conflicted files.

Key Changes Preserved from Sidebar Branch:

  • Sidebar compound component with 20+ sub-components
  • Sidebar nav entry in docs site
  • Sidebar demo and documentation page

Key Changes Merged from Main:

  • Chart component (TimeseriesChart, ChartLegend, ChartPalette)
  • Charts section in docs navigation with 3 new pages
  • Select.placeholder prop and SelectPlaceholderUsingPropDemo
  • Table.Header compact variant with TableWithCompactHeaderDemo
  • CommandPalette filtering improvements (filterGroupsWithItems, items prop on Group)
  • Vitest v4 upgrade with browser testing config
  • echarts peer dependency
  • code/server.tsx improvements with shiki externalization
  • Various component fixes (Field line-height, Flow node-id, toast deduplication)

Resolution Strategy:

  • Core sidebar files: Manually merged to keep sidebar exports + add new Chart exports
  • Component files not touched by sidebar: Accepted --theirs (main's version)
  • Auto-generated files: Accepted --theirs (CHANGELOGs, registry, schemas)
  • Lock files: Accepted --theirs and reinstalled

Verification:

  • Build passed for @cloudflare/kumo
  • Typecheck passed for @cloudflare/kumo

github run

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants