
ποΈ Sidebar: The Composable Wasmy Sidebar
#sidebar-release
Welcome π!
If you've ever built a Rust-powered frontend, you've probably felt this pain: "How the heck do I make a sidebar that doesn't look like it crawled out of the year 2001?"
We get it. Collapsibles, user profiles, nested menus, custom styles... you need a PhD in CSS gymnastics and a minor in JavaScript contortionism just to get a halfway-decent result.
That's so over, and we are so back!
Introducing Sidebar, the ultimate plug-and-play sidebar component for Yew, Dioxus, and Leptos. It's clean, fast, accessible, and stupidly customizable. And yep, it just works.
Let's open it up π§°.
ποΈ What Is Sidebar?
Sidebar is a fully modular, highly customizable sidebar component built specifically for WASM UI frameworks. It's designed to make your app feel like a well-polished dashboard without you rage-quitting halfway through.
Here's what it gives you out of the box:
- β Collapsible layout with smooth toggle.
- β Nested submenus (with disclosure arrows!).
- β Badges, icons, and dynamic styling.
- β Built-in profile section with avatar + logout.
- β
Full control via
props,class, andstyle. - β
Idiomatic Rust state management with
UseStateHandle. - β Designed with accessibility in mind.
Whether you're building a SaaS dashboard, admin panel, or a hobby side project, Sidebar will save you hours of UI pain.
β‘οΈ Why You'll Love It
Let's break it down:
| Feature | Why it's awesome |
|---|---|
| Modular Components | Use just what you need: Sidebar, Menu, MenuItem, Submenu, Profile, or Logo |
| Composability | Nest menus, add icons, toggle visibilityβanything goes |
| Customization | Every pixel is yours to style with props, class, or style |
| Built for Rust | Idiomatic use of Callback, UseStateHandle, and Html |
| Responsive + Accessible | Auto-collapses on mobile; plays nice with screen readers |
And the cherry on top? It's built by Open SASS, a community on a mission to make Rust web development suck less.
π Quick Start with Yew
Getting up and running is easier than convincing Ferris to wear a bow tie.
cargo add sidebar --features=yew
Then plug it into your app:
You now have a sleek, collapsible sidebar with dynamic state and profile logout handling π.
π What You Can Customize (Spoiler: Everything)
Here's a taste of what you can tweak:
π§± Sidebar Props
style,class: Tweak the outer container to match your brand.user_name,designation,user_img: Show off your user's profile.logo_img_url,logo_href: Your logo, your link.on_logout: Handle logout like a pro (or a script kiddie, no judgment).
π Menu & MenuItem
sub_heading: Optional section labels.href: Navigation links.icon_html: Drop in custom SVGs or emojis (we love emojis, btw).selected: Use sharedUseStateHandle<String>for tracking.
π½ Submenu
- Supports deep nesting.
- Expand/collapse toggle.
- Styled with arrows because UI polish.
π Profile
- Automatically hides when sidebar is collapsed.
- Includes a logout button.
- Fully styleable.
All of this controlled with easy props like style, class, and Callback.
Below 768px? Sidebar auto-collapses into a sleek mobile-friendly mode. No JavaScript hacks. Just Rust and vibes.
π‘ Final Thoughts
Stop wasting time rebuilding sidebars from scratch. Sidebar gives you everything you need, and nothing you don't, to ship polished, responsive, and composable UI components in your Rust WASM apps.
So go ahead. Drop it in your app. Customize it. Hack it. Make it yours.
We are Open SASS, babe!.
We're working tirelessly on making Rust web development extremely easy for everyone.
If you made it this far, it would be nice if you could join us on Discord.
Till next time π!

