Skip to main content
Version: 1.0.2

AppShell

Overview

The AppShell component provides a complete application frame.
It offers slots for brand/logo, navigation, user profile, sidebar, footer, and the main content area, with built-in responsive handling.

This makes it ideal for dashboards, admin panels, and single-page apps.


Preview

My App

U

Welcome to the Dashboard

This is the main content area of your application.

© 2025 My App

Installation

npx @mindfiredigital/ignix-ui add app-shell

Variants

My App

U

© 2025 My App


Usage Examples

<AppShell 
navigation="side"
footer={<Footer />}
brand={<Logo />}
menu={menu}
user={user}
>
{children}
</AppShell>

Top Navigation

<AppShell 
navigation="top"
brand={<Logo />}
menu={menu}
user={user}
>
{children}
</AppShell>

Drawer (Mobile Friendly)

<AppShell 
navigation="drawer"
responsive
brand={<Logo />}
menu={menu}
>
{children}
</AppShell>

Theming

Switch layout styles using the theme prop:

<AppShell theme="light" ... />
<AppShell theme="dark" ... />
<AppShell theme="corporate" ... />

Props

PropTypeDefaultDescription
navigation"top" | "side" | "bottom" | "drawer""top"Navigation placement
brandReactNodenullBrand/logo slot
menuArray<{ label: string, href?: string, icon?: ReactNode, children?: any[] }> | ReactNode[]Menu items (JSON or custom JSX)
userReactNodenullUser profile/avatar
footerReactNodenullFooter slot
responsivebooleantrueEnables mobile drawer on small screens
sidebarWidth"narrow" | "normal" | "wide""normal"Sidebar width
theme"light" | "dark" | "modern" | "custom""dark"Built-in theme support
classNamestring""Custom classes
childrenReactNodeMain content