Components

Everything ships as a Symfony UX Twig Component under the Adminlte: namespace — typed props, slot-aware bodies, and parity with the Vue/React component inventory. Render any of them with <twig:Adminlte:Name>.

Layout

Topbar, Sidebar, SidebarNavItem (recursive), Footer, ColorModeToggle. The dashboard shell itself is {% extends '@AdminLte/layout.html.twig' %} — see Layout.

Widgets

ComponentKey props
Cardtitle, icon, variant, outline, collapsible, removable, collapsed, footer, bodyClass
SmallBoxtitle, text, variant, icon, url, linkText
InfoBoxtext, number, icon, variant, progress, progressText
Alertvariant, title, icon, dismissible
Calloutvariant (info/success/warning/danger), title
Progressvalue, variant, height, striped, animated, showLabel
ProgressGrouplabel, current, total, variant
Timeline / TimelineItemitem: icon, variant, time, header, label
ProfileCardname, title, image, variant
DescriptionBlockheader, text, percentage, trend (up/down), trendVariant
Breadcrumbitems ([{label, url?, active?}]), align
Ratingsvalue, max, variant, showValue
Toasttitle, variant, time, autohide, delay
Modalid, title, size, scrollable, centered, footer
Accordion / AccordionItemid, flush; item: id, title, parent, open
Tabsid, items ([{id, title, content, active?}])
NavNotificationsicon, items, badge, badgeClass, footerText, footerUrl
NavMessagesdropdown of messages (place inside the Topbar)
NavTasksdropdown of tasks with progress (place inside the Topbar)
CommandPalette⌘K palette indexed from the sidebar menu (no props)

Forms

Button, Input, Select, Textarea, InputSwitch, InputColor, InputFile — labelled Bootstrap 5.3 controls with optional input-group icons and help text.

Usage snippets

{# A collapsible card with a body slot #}
<twig:Adminlte:Card title="Sales" icon="bi bi-graph-up" variant="primary" collapsible>
    Monthly revenue summary…
</twig:Adminlte:Card>

{# Stat boxes #}
<twig:Adminlte:SmallBox title="150" text="New orders" icon="bi bi-bag" url="#" />
<twig:Adminlte:InfoBox text="Bookmarks" number="41,410" icon="bi bi-bookmark"
    variant="info" :progress="70" progressText="70% increase in 30 days" />
{# A timeline #}
<twig:Adminlte:Timeline>
    <twig:Adminlte:TimelineItem icon="bi bi-bell" variant="info" time="3m" header="New ping">
        A device pinged your endpoint.
    </twig:Adminlte:TimelineItem>
</twig:Adminlte:Timeline>

{# A labelled input with an icon #}
<twig:Adminlte:Input name="email" type="email" label="Email"
    icon="bi bi-envelope" placeholder="you@example.com" required />

{# ⌘K command palette — drop once, anywhere inside the layout #}
<twig:Adminlte:CommandPalette />

Props typed as arrays (e.g. Select.options, Tabs.items, Breadcrumb.items) take Twig literals; prefix with a colon to pass an expression, e.g. :items="[...]" or :progress="70".


AdminLTE 4 · Symfony port Edit on GitHub