Layout components

LteDashboardLayout, LteSidebar, LteTopbar, LteAppContent, LteFooter, LteAuthLayout.

The layout components assemble the AdminLTE shell. LteDashboardLayout is the single host that wires the topbar, sidebar, footer and command palette together and provides the shared sidebar / color-mode / command-palette state to every descendant. The remaining components either render inside it or, like LteAuthLayout, stand alone for sign-in pages.

LteDashboardLayout

The top-level wrapper for an admin page. It renders LteTopbar, LteSidebar, your page content (via the default slot), LteFooter, and the ⌘K command palette — and installs all shared state.

<template>
  <LteDashboardLayout
    :menu-items="menu"
    brand-text="Acme"
    :current-path="$route.path"
    @logout="signOut"
    @profile="goToProfile"
  >
    <LteAppContent title="Dashboard">
      <!-- page content -->
    </LteAppContent>
  </LteDashboardLayout>
</template>

Props

NameTypeDefaultDescription
menuItemsMenuNode[]Navigation tree feeding the sidebar and the command palette.
logostringLogo image src. When omitted the logo slot (or default AdminLTE text) is used.
logoHrefstring'/'Link target for the sidebar brand.
userTopbarUserSigned-in user shown in the topbar menu.
sidebarTheme'light' | 'dark''dark'Sidebar color theme (independent of the global color mode).
sidebarClassstringExtra classes on the <aside class="app-sidebar">.
sidebarBreakpoint'sm' | 'md' | 'lg' | 'xl' | 'xxl''lg'Breakpoint where the sidebar expands / push-menu activates.
sidebarMinibooleanfalseEnable the collapsed mini-sidebar behavior.
fixedHeaderbooleanfalseAdd the fixed-header body class.
fixedSidebarbooleanfalseAdd the fixed-sidebar body class.
fixedFooterbooleanfalseAdd the fixed-footer body class.
layoutFixedbooleantrueAdd the layout-fixed body class.
colorModeTogglebooleantrueShow the light/dark toggle in the topbar.
initialColorMode'light' | 'dark' | 'auto''auto'Starting color mode before persisted preference loads.
dir'ltr' | 'rtl'Text direction.
enableSidebarPersistencebooleanfalsePersist the sidebar collapse state to localStorage.
navbarClassstringExtra classes on the topbar <nav>.
bodyClassstringExtra classes appended to the body layout classes.
currentPathstring'/'Current route path for active-link detection.
brandTextstringBrand text shown next to the logo in the sidebar.
linkComponentstring | Component'a'Link component for sidebar/palette nav (e.g. NuxtLink).
accordionbooleanfalseAccordion treeview — one open group per parent.
navigate(href: string) => voidNavigation callback for the command palette (e.g. router.push).

Emits

NamePayloadDescription
logoutThe user clicked "Sign out" in the topbar menu.
profileThe user clicked "Profile" in the topbar menu.

Slots

NameDescription
defaultPage content (rendered inside <main class="app-main">).
topbar-startExtra nav items at the start of the topbar.
topbar-endExtra nav items at the end of the topbar.
sidebar-brandReplace the entire sidebar brand area.
logoCustom logo markup inside the brand.
footerFooter content (forwarded to LteFooter).

LteSidebar

The off-canvas navigation aside. Renders the brand, a scroll wrapper (auto-hiding OverlayScrollbars on desktop when installed), and the recursive nav tree. Normally rendered for you by LteDashboardLayout.

<LteSidebar :items="menu" brand-text="Acme" :current-path="$route.path" theme="dark" />

Props

NameTypeDefaultDescription
itemsMenuNode[]Navigation tree.
logostringLogo image src.
logoHrefstring'/'Brand link target.
brandTextstringBrand text next to the logo.
theme'light' | 'dark''dark'Sidebar color theme.
sidebarClassstring'bg-body-secondary shadow'Extra classes on the <aside>.
currentPathstring'/'Active-link detection path.
accordionbooleanfalseOne open group per parent.
linkComponentstring | Component'a'Link component for nav items.
animationSpeednumber300Treeview expand/collapse duration in ms.

Slots

NameDescription
brandReplace the brand area entirely.
logoCustom logo markup (inside the default brand).
defaultReplace the nav tree with custom markup.

LteTopbar

The fixed application navbar: sidebar toggle, optional search/command-palette trigger, fullscreen and color-mode toggles, and the user dropdown menu. Rendered for you by LteDashboardLayout.

Props

NameTypeDefaultDescription
userTopbarUserUser shown in the menu (falls back to a demo user).
colorModeTogglebooleantrueShow the light/dark toggle.
searchbooleantrueShow the search button (opens the command palette).
fullscreenbooleantrueShow the fullscreen toggle.
navbarClassstringExtra classes on the <nav>.

Emits

NamePayloadDescription
logout"Sign out" clicked.
profile"Profile" clicked.

Slots

NameDescription
startExtra nav items after the sidebar toggle.
endExtra nav items before the built-in toggles.

The TopbarUser interface:

interface TopbarUser {
  name: string
  image: string
  role?: string
  memberSince?: string
}

LteAppContent

The content region for a page: an optional header (title + breadcrumbs) and a Bootstrap container wrapping your content.

<LteAppContent
  title="Dashboard"
  :breadcrumbs="[{ label: 'Home', href: '/' }, { label: 'Dashboard' }]"
>
  <!-- page content -->
</LteAppContent>

Props

NameTypeDefaultDescription
titlestringPage title rendered as an <h3> in the header.
breadcrumbsBreadcrumb[]Breadcrumb trail; the last entry is marked active.
fluidbooleantruetruecontainer-fluid, falsecontainer-lg.

Slots

NameDescription
headerReplace the header left column (overrides title).
defaultPage content (inside the container).

The Breadcrumb interface:

interface Breadcrumb {
  label: string
  href?: string
}

LteFooter

The application footer. Defaults to the AdminLTE copyright line; override via slots. Rendered for you by LteDashboardLayout (its footer slot is forwarded here).

Props

NameTypeDefaultDescription
rightTextstring'Anything you want'Right-aligned text (hidden on extra-small screens).
yearnumber | stringcurrent yearYear used in the default copyright line.

Slots

NameDescription
defaultMain footer content (replaces the default copyright).
rightRight-aligned content (replaces rightText).

LteAuthLayout

A standalone wrapper for sign-in / register pages. It applies the page-level body classes (login-page / register-page plus bg-body-secondary) on mount and renders a centered card.

<template>
  <LteAuthLayout auth-type="login" variant="v2" logo="/logo.svg">
    <!-- login form -->
  </LteAuthLayout>
</template>

Props

NameTypeDefaultDescription
authType'login' | 'register''login'Drives the body class and box/card-body class prefixes.
variant'default' | 'v2''default''default' → logo above a plain card; 'v2'card-outline card-primary with the logo in the card header.
logostringLogo image src (used by the default logo slot).
logoHrefstring'/'Logo link target.

Slots

NameDescription
logoCustom logo markup (overrides the default image / AdminLTE text).
defaultThe form / card body content.