サイドバー・ドロワーナビゲーション

折りたたみ対応のサイドバーとオーバーレイ型ドロワーを、Mantine・Ant Design・shadcn/ui・MUI・Chakra UI の5種で比較します。 各デモではサイドバーの折りたたみ(アイコンのみ)とドロワー(オーバーレイ)の2パターンを操作できます。

ライブラリ比較

項目MantineAnt DesignShadcn/uiMUIChakra UI
サイドバーNavLink 組み合わせLayout.Sider + MenuTailwind 自前実装✅ Drawer コンポーネントTailwind で自前実装
ドロワー✅ Drawer コンポーネント✅ Drawer コンポーネント✅ Sheet(自前実装)✅ Drawer(temporary)✅ Drawer.Root / Content
折りたたみ✅ 手動制御✅ collapsible prop✅ CSS transition⚠️ 手動実装(width切り替え)✅ CSS transition で制御
グループ分け✅ セクション手動✅ Menu type=group✅ 自前マークアップ✅ Divider で区切り✅ 自前マークアップ
バッジ通知✅ Badge コンポーネント✅ Badge コンポーネント✅ 自前スタイル✅ ListItemIcon で対応✅ 自前スタイル
アニメーションCSS transitionCSS transition(組み込み)CSS transition / keyframes✅ デフォルトで付与✅ 組み込み
カスタマイズ性中(style上書き)中(token + CSS)高(完全自前)中(sx prop)✅ emotion + Tailwind で対応

選択のポイント

  • Mantine — NavLink のactive/variant 切り替えが便利で、Drawer も Provider 内で簡単に呼び出せる。サイドバーとドロワーを統一的に管理したい場合に最適。
  • Shadcn/ui — Provider不要でバンドルサイズが最小。Tailwind CSS との親和性が高く、アニメーションやレイアウトを完全に制御したい場合に最適。既存のデザインシステムに合わせやすい。
  • Ant Design — Menu の grouping やネスト構造を宣言的に記述できる。Sider の collapsible 制御が組み込みで、管理画面やエンタープライズ向けに安定した選択肢。
  • Chakra UI — Drawer.Root / Backdrop / Content の複合パターンでオーバーレイナビゲーションを実装。 placement で4方向の展開に対応し、Portal でDOM外にレンダリングするため z-index 問題が起きにくい。 サイドバー本体は Tailwind で自前実装し、ドロワーに Chakra UI を組み合わせる構成が相性よい。
  • MUI — 週670万DLと圧倒的なシェアを誇るMaterial Design準拠のライブラリ。エンタープライズ〜スタートアップまで幅広く採用され、ドキュメントや事例が豊富。Emotion(CSS-in-JS)を使用するため、Tailwind CSS v4との併用時はスタイルをMUI側のpropsで制御することを推奨。

サイドバーは、画面の左右に固定または開閉できるナビゲーションパネルUI。メニュー項目・フィルター・コンテンツ目次などを縦方向に並べる。

管理画面・ドキュメントサイト・ECサイトのカテゴリフィルターなど、階層的なナビゲーションが必要なページで使われる。

主なバリエーション
  • 固定型(常に表示)
  • オーバーレイ型(画面に重なって表示)
  • コラプシブル型(アイコンのみ表示に縮小)
  • レスポンシブ型(スマホでドロワー化)
  • ミニバリアント型(アイコン+ホバーで展開)