colorlibhq/adminlte-symfony
Official AdminLTE 4 integration for Symfony 8.1+ and PHP 8.4+, featuring Bootstrap 5.3, AssetMapper, Twig components, a config-driven sidebar, SSR-safe dark mode, and an optional EasyAdmin theme. Build polished, responsive admin panels fast with an accessible UI that is easy to customize.
Pinned the CDN links in every layout, demo template and the EasyAdmin theme to admin-lte 4.8.1 (was 4.0.2), and the demo footer version with them. Core has shipped a lot since 4.0.2 and all of it is now available to this bundle without a markup change:
dist/css/adminlte-colors.css, 14 colours
plus the matching sidebar/navbar skins), restyled header search, sidebar height fix.dist/css/adminlte-colors-v3.css, the 18 AdminLTE 3 colours exactly
as they were, for ports of v3 apps.data-lte-primary="teal" on <html> promotes any palette colour to
Bootstrap's primary (buttons, links, pagination, form focus rings).data-lte-print="plain" for pages meant to print as documents.data-lte-contrast="aa" for WCAG AA text on the v3 palette.The two palette stylesheets are additive and opt-in: add the one you want next to
adminlte.min.css in the stylesheets block. Nothing in the bundle's own markup
changed, so existing overrides keep working.
Updated all dependencies to their current releases. Within-major moves:
EasyAdmin 5.1.0 → 5.5.1, Symfony 8.1.0 → 8.1.x (asset-mapper 8.1.2, browser-kit 8.1.1,
config/dependency-injection/framework-bundle/http-kernel/phpunit-bridge 8.1.4,
twig-bundle 8.1.2), Twig 3.27.1 → 3.28.0, php-cs-fixer 3.95.11 → 3.95.19 and
PHPStan 2.2.2 → 2.2.8. config/reference.php is regenerated by Symfony on kernel boot and
moves with the framework bump.
PHPUnit 12 → 13 (^12.4 → ^13.3, dev-only). No configuration migration was needed
(--migrate-configuration reports the file is already current) and no deprecated
annotations or attributes were in use. Note PHPUnit 13 requires PHP >= 8.4.1, a shade above
this package's own >=8.4 floor — contributors on exactly 8.4.0 need a patch update.
Symfony UX 2 → 3 for symfony/stimulus-bundle and symfony/ux-twig-component, widened
to ^2.30 || ^3.0 rather than moved, so apps on either major can still install the bundle.
The suite passes identically on 2.36.0 and 3.4.0. UX 3.0 makes twig_component.defaults and
twig_component.anonymous_template_directory mandatory, which is an application-level
concern (Flex sets both); the bundle prepends no twig_component config and needs no change.
[@EasyAdmin](https://github.com/EasyAdmin)/layout.html.twig, but once the file is copied to
templates/bundles/EasyAdminBundle/layout.html.twig that namespace resolves back to the
override — so every EasyAdmin page rendered the template in an infinite loop until PHP hit
the memory limit. It now extends @!EasyAdmin/layout.html.twig; the ! is Symfony's marker
for "the bundle's own template". The theme has never rendered before this fix.adminlte.min.js is now actually emitted. The override declared a
body_javascripts block, but EasyAdmin's block is body_javascript (singular) — in 5.1 as
well as 5.5. Twig silently drops a child block the parent never renders, so the script tag
was never written and every AdminLTE JS behaviour was dead in the EasyAdmin theme.DashboardLayout, Sidebar, SidebarNav,
SidebarNavItem, Topbar, Footer, ColorModeToggle).Card, SmallBox, InfoBox, Alert, Callout, Progress,
ProgressGroup, Timeline + TimelineItem, ProfileCard, DescriptionBlock,
Breadcrumb, Ratings, Toast, Modal, Accordion + AccordionItem, Tabs,
NavNotifications, NavMessages, NavTasks, and a ⌘K CommandPalette indexed from
the sidebar menu — parity with the Vue/React component inventory.Button, Input, Select, Textarea, InputSwitch,
InputColor, InputFile.permission security filter.localStorage.templates/bundles/EasyAdminBundle).How can I help you explore Laravel packages today?