Skip to content
Expandable navigation01 / 04

01 / workspace

Everything in view.

A quiet control surface for the parts of your workspace that need attention now.

04 active threads · 12 components

Home/Components/

Mugen Expand Tabs

An icon-first navigation rail that morphs the active tab open on a single width spring, preserves accessible roving focus, and crossfades the panel with a blur-masked handoff.

Dependencies
Interaction Types
Select a tab — the pill morphs open on one width spring, never squashing the icon
Panels crossfade with a blur mask instead of waiting out an exit animation
Navigate with Left / Right, Home, and End — keyboard moves skip animation entirely
How to use
'use client';

import { Bell, FolderOpen, LayoutGrid } from "lucide-react";
import { MugenExpandTabs } from "@/components/mugen-expand-tabs";

export default function Demo() {
  return (
    <MugenExpandTabs
      defaultValue="overview"
      items={[
        { value: "overview", label: "Overview", icon: LayoutGrid },
        { value: "projects", label: "Projects", icon: FolderOpen },
        { value: "signals", label: "Signals", icon: Bell },
      ]}
    />
  );
}
Component Props
PropTypeDefaultDescription
itemsMugenExpandTabItem[]—Tab definitions with values, labels, Lucide icons, and optional content
valuestring—Controlled selected tab value
defaultValuestringfirst itemInitial selected tab value in uncontrolled mode
onValueChange(value: string) => void—Callback triggered when active tab changes
expandOnHoverbooleanfalsePreview a tab's label on hover. Off by default — hover reflow reads as jitter
disabledbooleanfalseDisables interaction across all tabs