Weave Code
Code Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Adminlte Laravel Package

almasaeed2010/adminlte

AdminLTE is a popular MIT-licensed admin dashboard template built on Bootstrap 5.3 with vanilla JavaScript (no jQuery). Fully responsive, highly customizable, and easy to use for web apps—from mobile to desktop. Live demo and docs available.

View on GitHub
Deep Wiki
Context7
v4.9.1

Fixed

A page whose content ended near a sheet boundary still printed one blank sheet.

.app-main carries padding-bottom: $grid-gutter-width * .5 — breathing room above the fold on screen, trailing whitespace on paper. 12px of it was enough to push a page that otherwise ended 1px inside the second sheet onto a third, empty one. In the demo set UI/ribbons.html was the case: three sheets for two sheets of content.

The padding is now cleared in print, along with the negative margin-bottom on .app-content-bottom-area that exists only to cancel it — zeroing one without the other would have pulled the bottom area up over the content.

This is the last of what #6113 reported. Every one of the 90 pages in dist/ was printed to PDF and its final sheet checked: none prints a blank trailing sheet. One page changes page count; nothing else moves.

If you are coming from 4.8.x, the headline change is in 4.9.0 — the header, sidebar and footer no longer print, and data-lte-print="app" brings them back.

npm install [email protected]
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/adminlte.min.css" />
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/adminlte.min.js"></script>

Full notes: CHANGELOG

Full Changelog: https://github.com/ColorlibHQ/AdminLTE/compare/v4.9.0...v4.9.1

v4.9.0

Changed

A printed page is a document again — the header, sidebar and footer no longer print.

AdminLTE 3 left all three off the paper. v4 printed them, and on a page that prints as a real document the result was the invoice in #6113: 200px of every sheet spent on a menu the reader cannot click, the invoice squeezed into what was left — its own table wrapping "Pro plan subscription" across three lines — and the sidebar's 85 menu items running past the foot of the first sheet. A one-page invoice printed as two, the second all but empty.

The content now gets the full width of the paper. Nothing else about the print styles changed: link targets are still printed after external links, buttons still keep an outline, everything is still black on white.

Both ways back are still there, and both are now honoured properly:

<!-- print the whole shell, as 4.0–4.8 did -->
<html lang="en" data-lte-print="app">
<!-- or bring back one piece: .d-print-flex for the header (it is a navbar),
     .d-print-block for the sidebar and footer -->
<aside class="app-sidebar bg-body-secondary shadow d-print-block">…</aside>

.d-print-none still hides anything you don't want on paper, in either mode. data-lte-print is now matched per token, so data-lte-print="plain app" sets both; data-lte-print="plain" is unaffected.

Reported by @johnnyq.

Fixed

The layout kept its viewport-sized dimensions in print (#6113).

.app-wrapper carries min-height: 100vh and max-width: 100vw, and neither was cleared for print — even though the print block deliberately rewrites that same element's grid. Paper has no viewport to fill: the wrapper reserved a full sheet however short the page was, which is why the printed invoice put its footer at the foot of a sheet of empty grey with the content in the top third, and why anything following the wrapper opened a new page. Both are now reset in print, along with the max-width: 100vw on the header, main and footer.

The print block set display on elements it did not need to.

Forcing display: block on .app-sidebar is what made .d-print-none unable to hide it before 4.6.0, and the same shape would have made .d-print-* unable to show it now. Printing the shell is a matter of not hiding it, so the rules that hide it are scoped out instead, and nothing in the print block forces a display value on the header, sidebar or footer any more.

adminlte.js is untouched; adminlte.css grows by 64 bytes gzipped.

npm install [email protected]
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/adminlte.min.css" />
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/adminlte.min.js"></script>

Full notes: CHANGELOG

Full Changelog: https://github.com/ColorlibHQ/AdminLTE/compare/v4.8.5...v4.9.0

v4.8.5

A housekeeping patch: building AdminLTE from source is quiet again. Nothing in dist/ changed behaviour — the compiled CSS is byte-identical to 4.8.4, so this release matters only if you compile the Sass yourself.

Fixed

npm run production printed six Sass deprecation warnings.

Sass 1.95.0 deprecated the ternary if($condition, $if-true, $if-false) in favour of the CSS if(). The palette sheets used it in three places — lte-needs-aa() in colors/_variables.scss, and the text-colour pick in colors/_primary.scss twice — and since both adminlte-colors.scss and adminlte-colors-v3.scss pull those partials in, three call sites produced six warnings.

They are now plain [@if](https://github.com/if) statements. Deliberately not the if(sass(cond): a; else: b) syntax Sass suggests: that would require Sass >= 1.95 of everyone compiling AdminLTE from source, and we ship the SCSS. [@if](https://github.com/if) compiles on every version, produces byte-identical CSS, and stays stylelint-clean.

Worth recording for anyone who chases this upstream: Bootstrap uses the ternary if() 82 times across bootstrap/scss and warns too — but css-compile already passes --quiet-deps, so none of that reaches your console. Every warning in this report was AdminLTE's own code (#6111, reported by [@lfiorini](https://github.com/lfiorini)).

Maintenance

  • Dev dependencies refreshed — sass 1.102.0 → 1.103.0, astro 7.2.3 → 7.2.4, @astrojs/mdx 7.0.6 → 7.0.7, happy-dom 20.11.2 → 20.11.6. All within their current majors.
  • The docs build moved off Astro's deprecated markdown.rehypePlugins. Astro 7.2.4 deprecates the top-level remarkPlugins / rehypePlugins / remarkRehype keys in favour of an explicit markdown.processor — which would have put a fresh warning into the very command this release is about. The responsive-tables plugin now goes through unified() from [@astrojs](https://github.com/astrojs)/markdown-remark; same pipeline, all 90 built pages byte-identical.
  • nanoid bumped to 3.3.18 in the lockfile — GHSA-2v37-7h3g-55p8 (high), transitive and dev-only. npm audit now reports zero vulnerabilities. Nothing shipped in dist/ was ever affected.
  • TypeScript stays on 6.0.3. 7.0.2 is out, but typescript-eslint still declares peerDependencies.typescript: ">=4.8.4 <6.1.0" and [@astrojs](https://github.com/astrojs)/check accepts ^5 || ^6, so the toolchain still cannot move.

Install

npm install [email protected]
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/adminlte.min.css" />
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/adminlte.min.js"></script>

Full notes: CHANGELOG

Full Changelog: https://github.com/ColorlibHQ/AdminLTE/compare/v4.8.4...v4.8.5

v4.8.4

Fixed

Reference tables on the documentation pages pushed the page sideways on a phone.

Markdown pipe-tables render as a bare <table> with no scroll container, so anything wider than about three columns overflowed the viewport — 265px of it on the Colors page at 390px wide, right after 4.8.3 fixed the header's own overflow.

They are now wrapped in .table-responsive with a tab stop, exactly like the hand-written tables beside them: the table scrolls inside the content column, and the scrollable region stays keyboard-reachable. Desktop layout is unchanged.

Only affects the documentation pages shipped in dist/docs/; adminlte.css and adminlte.js are untouched.

npm install [email protected]

Full notes: CHANGELOG

Full Changelog: https://github.com/ColorlibHQ/AdminLTE/compare/v4.8.3...v4.8.4

v4.8.3

Fixed

Every page scrolled sideways on a phone.

At 390px the header's right-hand item row — messages, notifications, fullscreen, user menu — is a few pixels wider than the viewport at Bootstrap's default 1rem nav-link padding. document.scrollWidth measured 412 against a 390 clientWidth on all 90 demo pages: a horizontal scrollbar on every screen, on every AdminLTE 4 page.

Below sm the header now halves --bs-navbar-nav-link-padding-x. From sm up nothing changes — the user menu keeps its 182px width and its label. Measured 412/390 before and 390/390 after; desktop unaffected.

If you check this yourself: compare scrollWidth with clientWidth, not window.innerWidth. The layout viewport widens to match the overflow, so the innerWidth comparison silently passes — which is how this survived this long.

npm install [email protected]

Full notes: CHANGELOG

Full Changelog: https://github.com/ColorlibHQ/AdminLTE/compare/v4.8.2...v4.8.3

v4.8.2

A maintenance release: the build toolchain is current again. dist/ is byte-identical to 4.8.1, so there is nothing to change in your project — upgrade only if you build AdminLTE from source.

Dev dependencies refreshed

astro 7.1.6 → 7.2.3 · @astrojs/mdx 7.0.5 → 7.0.6 · eslint 10.8.0 → 10.8.1 · @typescript-eslint/{eslint-plugin,parser} + typescript-eslint 8.66.0 → 8.67.0 · vitest 4.1.10 → 4.1.11 · happy-dom 20.11.1 → 20.11.2 · axe-core 4.12.1 → 4.13.0 · terser 5.49.2 → 5.50.0 · postcss 8.5.25 → 8.5.26 · globals 17.9.0 → 17.11.0 · concurrently 10.0.4 → 10.0.5 · lockfile-lint 5.0.0 → 5.0.1

All within their current majors. Lint, 74 unit tests, bundlewatch and the axe accessibility gate are green.

TypeScript stays on 6.0.3

TypeScript 7.0.2 is out, but typescript-eslint still declares peerDependencies.typescript: ">=4.8.4 <6.1.0" and [@astrojs](https://github.com/astrojs)/check accepts ^5 || ^6. The toolchain moves when they do.

npm install [email protected]

Full notes: CHANGELOG

Full Changelog: https://github.com/ColorlibHQ/AdminLTE/compare/v4.8.1...v4.8.2

v4.8.1

A keyboard-accessibility fix on top of 4.8.0, reported by [@johnnyq](https://github.com/johnnyq) (#6109).

Pagination lost its focus ring under data-lte-primary

Both palette sheets shipped a literal Sass variable name in their compiled output:

[data-lte-primary] .pagination {
  --bs-pagination-focus-box-shadow: 0 0 0 $pagination-focus-box-shadow-width rgba(var(--bs-primary-rgb), 0.25);
}

Sass does not evaluate $variables inside a custom property value — it emits them verbatim rather than failing — so the typo compiled cleanly, reached the browser as text, and made the declaration invalid. --bs-pagination-focus-box-shadow then resolved to nothing and keyboard focus on .page-link was invisible wherever data-lte-primary was in use. Introduced in 4.6.0.

The variable it named never existed in Bootstrap either (the pagination focus shadow comes from $focus-ring-box-shadow), so interpolating it would not have compiled. The value is now built from the focus-ring tokens and reuses the --bs-focus-ring-color the sheet already sets, so the ring follows the theme colour:

--bs-pagination-focus-box-shadow: 0 0 0 0.25rem var(--bs-focus-ring-color);

A unit test now scans the compiled output of all three sheets for unresolved Sass variables. Compilation cannot catch this class of typo, which is exactly why it shipped — this was the only instance in the repo, and adminlte.css was never affected.

Install

npm install [email protected]
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/adminlte.min.css" />
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/adminlte.min.js"></script>

Full notes: CHANGELOG

Full Changelog: https://github.com/ColorlibHQ/AdminLTE/compare/v4.8.0...v4.8.1

v4.8.0

[@johnnyq](https://github.com/johnnyq) measured the AdminLTE 3 palette against WCAG AA and found eight colours that miss it with the text v3 assigns them (#6110). The values stay exactly as they were — there is now a switch for the text.

data-lte-contrast="aa"

<html lang="en" data-lte-contrast="aa">

Flips the text on the eight colours whose assigned ink falls short, leaving every background byte-identical:

Colour Default (v3 rule) With aa
teal #20c997 white — 2.13:1 black — 9.86:1
cyan #17a2b8 white — 3.04:1 black — 6.90:1
green #28a745 white — 3.13:1 black — 6.70:1
olive #3d9970 white — 3.51:1 black — 5.99:1
lightblue #3c8dbc white — 3.67:1 black — 5.73:1
fuchsia #f012be white — 3.79:1 black — 5.54:1
pink #e83e8c white — 3.82:1 black — 5.50:1
blue #007bff white — 3.98:1 black — 5.28:1

It covers everywhere the palette paints text on its own colour — .text-bg-*, .bg-gradient-*, .card-* headers, .direct-chat-*, and the button, badge and pill text that data-lte-primary produces, which is where this mattered most: one attribute puts a colour on buttons, pills, pagination and list groups at once.

Three details worth knowing:

  • It has to be true black. AdminLTE 3's own dark ink #1f2d3d clears 4.5:1 on only two of the eight. The colours that already carry dark text — lime, orange, yellow — keep #1f2d3d and are left alone.
  • A flipped sidebar or header should pair with data-bs-theme="light" so its nav links follow the heading. The demo pages do that for you when the switch is on.
  • It costs the designed palette nothing. Rules are emitted per colour only where the sheet's own rule falls short, and every colour in the 4.4 palette clears AA with white by construction — so adminlte-colors.css emits not one byte for this and the attribute is safe to leave in your markup either way.

UI → Colors and Theme Customize gained a toggle, and the Colors page documents it.

Fixed

  • data-lte-primary="info" gave white text on cyan with the v3 sheet loaded. The presets applied the active sheet's contrast rule to Bootstrap's own theme colours, and v3's YIQ test puts #0dcaf0 at 149.8 against a threshold of 150 — a tenth of a point from dark text — so it produced 1.96:1 while .btn-info on the same page stayed black. Bootstrap's theme colours now keep Bootstrap's own contrast rule; the palette colours keep the sheet's.

Install

npm install [email protected]
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/adminlte.min.css" />
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/adminlte-colors-v3.min.css" />
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/adminlte.min.js"></script>

Full notes: CHANGELOG

Full Changelog: https://github.com/ColorlibHQ/AdminLTE/compare/v4.7.0...v4.8.0

v4.7.0

A print follow-up to 4.6.0, from [@johnnyq](https://github.com/johnnyq) again (#6108) — plus a printing bug that turned out to be worse than reported.

Print a page as a document — data-lte-print="plain"

Two rules in AdminLTE's print stylesheet restyle content unconditionally: the target of every external link is printed after it, and buttons are outlined in black. Both are HTML5 Boilerplate conventions, sensible when you're printing a copy of a web page — and wrong for an invoice, quote or work order that goes to a customer, where Pay online (https://pay.example.com/inv/12345?token=…) is not what anyone wants on paper.

<html lang="en" data-lte-print="plain">

That turns both off. Text still prints black on white, so nothing becomes unreadable, and it works on any container if only part of the page is the document:

<div class="card" data-lte-print="plain">…the invoice…</div>

Setting it from JavaScript right before window.print() works too. Hide the chrome with Bootstrap's own .d-print-none, which has worked on the sidebar and header since 4.6.0.

Note .d-print-none could not have been the opt-out here: it hides an element, and these rules restyle elements that are meant to print.

Fixes

  • Every sidebar item printed inside a black box. The outline rule listed .nav-link alongside .btn, and the sidebar prints by design (since the 4.0.0 print fix), so a printed page came out with a black rectangle around all 85 menu items. The outline now applies to .btn only — a button still reads as a button on paper — while nav links keep the ink-saving black-on-transparent treatment and print as ordinary text.
  • The FAQ was giving the advice that caused #6107. “How do I change the primary colour?” told people to override --bs-primary on :root, which is exactly what leaves .btn-primary blue. It now gives the two approaches that work: $primary in Sass, or data-lte-primary with the palette sheet.

Documentation

New recipe: Printing a page as a document — the attribute, scoping it to part of a page, hiding chrome, and printing from a button.

Install

npm install [email protected]
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/adminlte.min.css" />
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/adminlte.min.js"></script>

Full notes: CHANGELOG

Full Changelog: https://github.com/ColorlibHQ/AdminLTE/compare/v4.6.0...v4.7.0

v4.6.0

Two reports from [@johnnyq](https://github.com/johnnyq), both fixed — and the second one turned into the feature the AdminLTE 3 palettes were missing.

Any colour can be your primarydata-lte-primary (#6107)

Bootstrap compiles $primary into its components: .btn-primary ships with --bs-btn-bg: #0d6efd, not var(--bs-primary). Overriding the token repainted the utilities and left every button, pagination, checkbox and focus ring blue — which is why picking a skin looked half-applied.

Both colour sheets now rewire those components and point them at a palette colour with one attribute:

<html lang="en" data-lte-primary="lightblue">

Nothing changes without the attribute, and it works on any container, so one page can carry more than one primary.

What follows the colour: .btn-primary and .btn-outline-primary (hover, active and disabled states shaded exactly as Bootstrap shades its own), .btn-link, links and .link-primary, the --bs-primary token trio, .nav-pills, .pagination, .progress-bar, .list-group-item.active, .dropdown-item.active, .accordion, .form-control / .form-select focus, checkboxes, radios, switches, .form-range, --bs-focus-ring-color, plus AdminLTE's .card-primary, .direct-chat-primary and .toast-primary — in both colour modes, with Bootstrap's dark-mode link tint.

  • Bootstrap's own theme colours are presets too: data-lte-primary="danger" needs no palette colour.
  • A brand colour outside the palette needs only --bs-primary; in Sass, $lte-palette-custom: ("brand": #7a5af8) generates a full preset, shades and contrast text included.
  • Every skin preset now names the primary that goes with it, so applying skin-blue on UI → Colors or Theme Customize recolours the buttons too. Both pages gained a picker with a live preview.

Documented on the Colors page.

Fixes

  • d-print-none did nothing on the sidebar and the app wrapper (#6106). The print layout fix from 4.0.0 set display: grid !important / display: block !important on those two elements and, being later in the cascade, beat Bootstrap's .d-print-none. Both rules are now scoped with :not(.d-print-none) — the print layout still applies by default, and the display utilities win where a page asks them to.
  • The skip link went invisible on hover. .skip-link:hover painted var(--bs-primary-emphasis), which Bootstrap does not define, so the background computed to transparent and left white text on the page background.

Maintenance

Computed colours in both palette sheets are emitted as hex instead of Sass's rgb(5.647%, 40.784%, 39.216%) (cleancss leaves values inside custom properties alone), which pays for most of the new feature: adminlte-colors.css is 7.8 kB gzipped, adminlte-colors-v3.css 9.1 kB. adminlte.css is unchanged.

Install

npm install [email protected]
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/adminlte.min.css" />
<!-- optional: the extended palette, or adminlte-colors-v3.min.css for the AdminLTE 3 originals -->
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/adminlte-colors.min.css" />
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/adminlte.min.js"></script>

Full notes: CHANGELOG

Full Changelog: https://github.com/ColorlibHQ/AdminLTE/compare/v4.5.0...v4.6.0

v4.5.0

AdminLTE 4.5.0 adds the one thing 4.4.0's palette couldn't offer: the AdminLTE 3 colours exactly as they were.

The AdminLTE 3 palette, as it was

4.4.0 brought the extra colours back as a palette designed for 4.4 — and some of you liked the originals better. Fair enough. A second opt-in sheet, dist/css/adminlte-colors-v3.css, gives you exactly those: the 18 AdminLTE 3 colours — lightblue, navy, olive, lime, fuchsia, maroon, blue, indigo, purple, pink, red, orange, yellow, green, teal, cyan, gray, gray-dark — with the values from the 3.2 build and v3's text-colour rule (white on lightblue, olive, teal, cyan …; dark on lime, orange, yellow), emitting the same class families as the designed palette: --bs-* tokens with dark-mode variants, .bg-*, .text-bg-*, .text-*, .border-*, .link-*, .bg-gradient-*, .card-*, .callout-*, .direct-chat-*.

The two sheets share class names, so load one of them:

<!-- either the palette designed for 4.4 … -->
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/adminlte-colors.min.css">
<!-- … or the AdminLTE 3 originals -->
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/adminlte-colors-v3.min.css">
  • The classic AdminLTE 2 skins come along as presets — skin-blue, -black, -purple, -green, -red, -yellow and their -light variants — as text-bg-* + data-bs-theme on the header and sidebar (text-bg-gray-dark is the exact sidebar-dark-* background).
  • UI → Colors and Theme Customize gained a palette switch: swap the stylesheet live and see that palette's tiles, presets and picker options.
  • Same Sass underneath: new $lte-palette-contrast: "wcag" | "yiq" knob (plus $lte-palette-yiq-threshold, -text-dark, -text-light), so $lte-palette-custom and $lte-palette-aliases work with the v3 sheet too. npm run palette -- --check and the unit tests keep the v3 map in step.
  • Docs: https://adminlte.io/themes/v4/docs/colors.html · demo: https://adminlte.io/themes/v4/UI/colors.html

Requested in #6103 by @johnnyq. adminlte.css and adminlte.js are unchanged.

Also since 4.4.0

  • 4.4.1 — the demo's charts follow dark mode: ApexCharts tooltips and axis labels were unreadable on dark cards; every demo page now passes the colour mode to ApexCharts and keeps charts in step when it changes, documented as the “Charts that follow dark mode” recipe (#6105, reported by @Yusk03).

Install

npm install [email protected]
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/adminlte.min.css">
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/adminlte.min.js"></script>

Full details in the CHANGELOG.

Full Changelog: https://github.com/ColorlibHQ/AdminLTE/compare/v4.4.0...v4.5.0

Full Changelog: https://github.com/ColorlibHQ/AdminLTE/compare/v4.4.1...v4.5.0

v4.4.1

AdminLTE 4.4.1 is a small patch on top of yesterday's 4.4.0: the demo's charts now follow dark mode.

Fixes

  • Charts unreadable in dark mode (#6105, reported by @Yusk03). ApexCharts drew its light-theme tooltip — white background — while the tooltip text inherited the page's dark-mode body colour, so it was near-white on white; axis labels stayed dark grey on the dark card. It reproduced in every browser, not just Safari. Every demo page now carries a small shared helper that sets ApexCharts' global default theme.mode from <html data-bs-theme> before any chart is created, keeps the chart background transparent, and watches the attribute so every chart with a chart.id follows the toggle, the OS preference in auto mode, or your own code — no reload. All demo charts got ids. Documented as the “Charts that follow dark mode” recipe on the Recipes page, with the pattern for other libraries.

adminlte.css and adminlte.js are unchanged from 4.4.0 — this release updates the demo pages and docs shipped in dist/.

Install

npm install [email protected]
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/adminlte.min.css">
<!-- optional: the extended palette -->
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/adminlte-colors.min.css">
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/adminlte.min.js"></script>

Full details in the CHANGELOG.

Full Changelog: https://github.com/ColorlibHQ/AdminLTE/compare/v4.4.0...v4.4.1

Full Changelog: https://github.com/ColorlibHQ/AdminLTE/compare/v4.4.0...v4.4.1

v4.4.0

AdminLTE 4.4.0 brings the extra colours back — as a designed, opt-in palette with skins and presets — restyles the header search, and fixes the sidebar height regression from 4.3.0.

Extended colour palette (opt-in)

AdminLTE 3 had .bg-navy, .bg-teal, .bg-fuchsia and the sidebar skins baked into its CSS. v4 dropped them; 4.4.0 brings them back as a separate stylesheet, dist/css/adminlte-colors.css (≈ 5 kB gzipped). adminlte.css is byte-for-byte unchanged, so nobody pays for colours they don't load.

<link rel="stylesheet" href="css/adminlte.css">
<link rel="stylesheet" href="css/adminlte-colors.css">

Rather than copying the v3 hexes (several of which had white text below 4:1), the palette was generated in OKLCH: fourteen colours — orange, amber, olive, teal, sky (the old lightblue), indigo, violet, fuchsia, pink, and the chrome neutrals navy, steel, slate, graphite, midnight. Every one takes white text at ≥ 4.6:1, hues sit in the gaps between Bootstrap's theme colours so they mix cleanly with primary/success/…, and the neutrals sit at the lightness steps popular admin kits use for their sidebars. npm run palette -- --check and a unit test hold it to those rules.

Each colour gets the full set: --bs-* tokens (with dark-mode subtle/emphasis variants), .bg-*, .text-bg-*, .text-*, .border-*, .link-*, .bg-gradient-* (also for the eight theme colours, as in v3), .card-* / .card-outline, .callout-*, .direct-chat-*, and a hover shade for .btn.bg-*.

Skins are just text-bg-* + data-bs-theme on the sidebar and header — no CSS of their own:

<nav class="app-header navbar navbar-expand text-bg-sky" data-bs-theme="dark">…</nav>
<aside class="app-sidebar text-bg-navy shadow" data-bs-theme="dark">…</aside>

There are 17 presets in four families — light, semi-dark, full dark, coloured & gradient — each with a layout thumbnail, plus four dashboard sets (which four colours to put on a widget row, chosen by hue relationship). Your own brand colour is one line of Sass, $lte-palette-custom: ("brand": #0f766e); v3 class names come back with $lte-palette-aliases: ("lightblue": "sky", "maroon": "pink").

Requested in #6103 by @johnnyq.

Header search, restyled

The navbar search from 4.3.0 was a raw .input-group with an outline button and no styling of its own, which fell apart on coloured headers. It is now a quiet pill with the search icon inside as the submit button, coloured only from theme-relative tokens — soft glass on any coloured or dark header, soft grey on a white one — that widens slightly on focus. The sidebar filter gets the same treatment (mixins/_search-field.scss, $lte-search-field-* variables). Below md a search icon links to the search page.

Fixes

  • Sidebar taller than the viewport with the sidebar filter in place (#6104, reported by @dfsmania). .sidebar-wrapper was sized with a hard-coded 100vh − header height, which assumed only the brand sat above it. .app-sidebar is now a flex column and the wrapper fills whatever is left, so anything placed above or below the menu sizes correctly.
  • The Main Header docs page still showed AdminLTE 3's inert data-widget="navbar-search" snippet; it now shows the real markup.

Quality

  • Accessibility gate widened to 18 pages, zero serious/critical violations — including the two new pages.
  • Unit tests up to 67; the palette test keeps the Sass map, the demo data and the contrast/hue rules in step.

Install

npm install [email protected]
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/adminlte.min.css">
<!-- optional: the extended palette -->
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/adminlte-colors.min.css">
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/adminlte.min.js"></script>

Full details in the CHANGELOG.

Full Changelog: https://github.com/ColorlibHQ/AdminLTE/compare/v4.3.1...v4.4.0

Full Changelog: https://github.com/ColorlibHQ/AdminLTE/compare/v4.3.1...v4.4.0

v4.3.1

Patch release fixing a placement bug in the ribbon component introduced in 4.3.0. If you are picking up ribbons, start here rather than 4.3.0.

Fixed

Ribbons left the card corner bare. The banner was centred on its clipping square. That reads as the natural placement, but the centre of a square is the point furthest from its corner along the diagonal — so the banner sat too far into the card, left a large empty triangle at the very corner it exists to cover, and had its label cut off by the clip.

The banner's centre now sits on the corner's bisector at ~46% of the square's side, which both fills the corner and leaves the label room, and its width is the chord across the corner rather than the square's diagonal — so the ends still cut flush. RTL mirrors exactly as before.

Label length is now documented. The banner is clipped to the corner, so only about 64px of it is readable at the default size — roughly six characters. .ribbon-lg and .ribbon-xl give more room. The demo uses short labels accordingly.

Nothing else changed: no API change, no new classes, and the fix is CSS-only (+28 bytes gzip).

Install

npm install [email protected]
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/adminlte.min.css">
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/adminlte.min.js"></script>

Everything new in this line is described in the 4.3.0 release notes. Full details in the CHANGELOG.

What's Changed

Full Changelog: https://github.com/ColorlibHQ/AdminLTE/compare/v4.3.0...v4.3.1

v4.3.0

AdminLTE 4.3.0 adds a new JavaScript plugin, two CSS components, three demo pages and three documentation pages — and fixes a duplicate-id bug that could affect your own code.

Sidebar search

A new SidebarSearch plugin filters the sidebar menu as you type. Drop data-lte-toggle="sidebar-search" on an input and it works:

<div class="sidebar-search" role="search">
  <label for="sidebar-search-input" class="visually-hidden">Filter menu</label>
  <input type="search" id="sidebar-search-input" class="form-control form-control-sm"
         placeholder="Filter menu…" autocomplete="off"
         data-lte-toggle="sidebar-search" data-lte-target="#navigation">
</div>

A parent survives if any descendant matches and expands to reveal it. A group whose own name matches keeps its entire subtree, so expanding it is never a dead end. Clearing the field — ESC, the native clear button, or clear() — puts every submenu back exactly as you left it. Entries are hidden with the hidden attribute rather than a class, so they leave the accessibility tree as well as the layout.

Fires filtered.lte.sidebar-search with { query, matches }. Both listeners are delegated on document, so a sidebar rendered after load — Turbo Frame, client-side router — needs no re-initialisation. Full reference →

The app header also gains a navbar search and a language menu.

Ribbons

Corner banners in three sizes:

<div class="card">
  <div class="ribbon-wrapper">
    <div class="ribbon text-bg-primary">New</div>
  </div>
  <div class="card-body">…</div>
</div>

The geometry derives from one custom property, so rescaling means overriding --lte-ribbon-size and nothing else. The clip inherits the parent's corner radius, so it follows a rounded card instead of cutting a square out of it, and RTL mirrors the corner and the rotation with no extra markup.

Social & post widgets

.user-block, .post, .widget-user, .widget-user-2 and .description-block — profile cards and activity feeds. The class names match v3, so markup you are migrating works unchanged, but the implementations are grid and flex rather than floats, and colour comes from Bootstrap utilities. .user-block renders avatar, name and meta from flat markup with no wrapper element.

New pages

  • Gallery — a filterable media library that carries no image library at all. The tiles are a Bootstrap .ratio box plus .object-fit-cover; the filter is page-local script. Nothing is added to adminlte.js.
  • Search Results — typed results (page / user / file / project) over a tabbed filter, with a refine panel, related searches and a worked no-results state.
  • Ribbons — every colour, size and placement.
  • General UI Elements gains nav tabs & pills, modals and offcanvas.

Documentation

New Card and Miscellaneous component references mean every AdminLTE component that ships CSS now has a reference page: cards, callouts, ribbons, small box, info box, timeline, the social/post widgets, progress-bar sizes, themed toasts and the image-size utilities. Plus a SidebarSearch page and a recipe on wiring a language switcher to a real locale.

Fixes

  • #navigation resolved to the app header, not your menu. The accessibility module resolved its skip-link targets with a single selector list (#navigation, nav, [role="navigation"]), but a selector list resolves in document order rather than by which selector matched. On any page where a header <nav> precedes a menu already carrying id="navigation", the header was stamped with the id a second time — leaving a duplicate id, pointing "Skip to navigation" at the header, and silently redirecting document.querySelector("#navigation") in application code to the wrong element. An element the page already gave the id to now always wins.
  • Seven order links on dashboard v2 pointed at a page that does not exist.

Quality

  • Accessibility gate widened from 10 to 16 pages, zero serious/critical violations. It caught three Bootstrap-default contrast misses on the new pages, all fixed at the source rather than waived.
  • Unit tests up to 62 (from 51).
  • A Playwright pass over all 88 built pages: no console errors, no failed requests, no dead links.

Install

npm install [email protected]
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/adminlte.min.css">
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/adminlte.min.js"></script>

Full details in the CHANGELOG.

What's Changed

Full Changelog: https://github.com/ColorlibHQ/AdminLTE/compare/v4.2.0...v4.3.0

v4.2.0

AdminLTE 4.2.0 is a focused release that mostly answers one question the community kept asking: how do I stop AdminLTE from managing my theme? It also ships the lifecycle API that client-side rendered layouts have been waiting for, plus three new demo pages.

Highlights

Color mode gets out of your way

Applications with their own theming — a custom Bootstrap theme, a per-user preference rendered by Laravel or Django, or simply your own switcher — can now turn the bundled module off with a single attribute. No JavaScript, no load-order concerns, works straight from dist:

<html data-lte-color-mode="off">

ColorMode then never writes data-bs-theme: not on load, not when a [data-bs-theme-value] toggle is clicked, not when the OS preference changes. The pre-paint snippet in <head> honours it too, so nothing touches your theme before first paint either.

And if all you need is a server-rendered default, you no longer have to opt out at all. The theme is now resolved from the visitor's stored choice → the theme your page declared → the OS preference, so this survives both page load and later OS preference changes:

<html lang="en" data-bs-theme="dark">

It stays a default: the moment a visitor picks a theme themselves, their choice wins on that device.

Thanks to @cytech for the report (#6084), and to @dfsmania (#6093) for putting markup-as-a-preference on the table in the first place.

initialize() / teardown() for client-side rendered layouts

Frameworks that build the layout after DOMContentLoaded into a persistent <body> — GWT and similar widget toolkits — used to find no sidebar and no menu when AdminLTE ran its init pass. Two new exports fix that:

import { initialize, teardown } from "admin-lte"

initialize() // re-run every plugin's init against the DOM as it stands right now
teardown()   // drop this cycle's listeners when you unmount the layout

initialize() is safe to call repeatedly — it tears the previous cycle down first, so listeners never stack. Thanks @themarioga (#6083).

New demo pages

  • forms/advanced.html — the recommended Tom Select and Flatpickr integrations
  • forms/editors.html — Quill 2 in both the snow (toolbar) and bubble (inline) themes
  • layout/top-nav.html — a sidebar-less layout with primary navigation in the app-header

Fixes

  • A sidebar rendered as <body class="sidebar-collapse"> no longer springs open on wide screens — the responsive pass was overwriting the state declared in the markup (#6076, thanks @dfsmania)
  • The Color Mode docs page no longer runs two switchers at once: it still carried the pre-4.1 inline toggler, which bound its own handlers to the same buttons as the bundled module and persisted to a different localStorage key

Maintenance

Every dev dependency refreshed to its latest release, including the eslint-plugin-astro 3 and eslint-plugin-unicorn 73 majors. TypeScript stays on 6.0.3 for now — 7.0 has shipped, but typescript-eslint and [@astrojs](https://github.com/astrojs)/check both still cap the peer range, so installing it breaks npm ci outright. The unit suite grew to 51 tests, 13 of them covering the new color-mode precedence chain and the opt-out.

Install

npm install [email protected]
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/adminlte.min.css" />
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/adminlte.min.js"></script>
// Or as a module
import { PushMenu, ColorMode } from "admin-lte"

Full details in the CHANGELOG.

v4.1.0

AdminLTE 4.1.0 is the biggest developer-experience release of the 4.x line: the npm package finally speaks modern JavaScript (ESM + TypeScript types), the components got a real lifecycle API, the dark-mode switcher ships in the bundle, and the project has its first automated test suite — including an accessibility gate that already runs clean.

Highlights

Modern npm packaging

// This now works out of the box in Vite/webpack — with full type checking:
import { PushMenu, CardWidget, ColorMode } from "admin-lte"
  • New ESM bundle (dist/js/adminlte.esm.js + .min) alongside the UMD build
  • TypeScript declarations ship under dist/js/types/types, module, and a full exports map (with sass and style conditions) in package.json
  • bootstrap is a peer dependency, so compiling [@use](https://github.com/use) "admin-lte/src/scss/adminlte" works right after npm install admin-lte

Component lifecycle API

Every component now follows the Bootstrap contract: getInstance(element), getOrCreateInstance(element, config?), and dispose(), backed by a WeakMap registry (Turbo-safe by construction). The data API uses delegated document-level listeners, so cards and toggles inserted after page load — AJAX partials, Turbo Frames — work without re-initialisation. And the sidebar is finally scriptable:

PushMenu.getInstance(document.querySelector(".app-sidebar"))?.collapse()

Behavior change: all plugin events are now bubbling CustomEvents dispatched on the component's root element, animated actions have cancelable "before" events (e.g. veto remove.lte.card-widget with preventDefault()), and "after" events fire when the animation completes. If you listened for card events on the tool buttons, listen on the card or on document instead — see the CHANGELOG for the full event table.

ColorMode in the bundle

The light/dark/auto switcher is now a proper module in adminlte.js — persisted, OS-preference aware, with a changed.lte.color-mode event. No more copy-pasting the demo's inline script.

First automated tests + accessibility gate

  • 30-unit vitest suite wired into npm run production
  • npm run test-a11y runs axe-core (WCAG 2.1 A/AA) against seven built demo pages and fails on serious/critical violations — currently zero, after fixing the findings it immediately surfaced (breadcrumb link contrast, keyboard-unreachable chat pane)

New pages & slimmer CSS

  • Starter page (the blank v3 starting point, back by popular demand), a dedicated ApexCharts page with six chart types, and a Users management demo
  • Docs/FAQ styles moved to a separate adminlte-docs.css: adminlte.min.css is now ~40.4 KB gzip, down from 46.7 KB in 4.0.3
  • The 1,766-line vendored Bootstrap variables fork is gone — AdminLTE's ~10 overrides live in a small _bootstrap-overrides.scss (compiled CSS byte-identical)

Install

npm install [email protected]
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/adminlte.min.css" />
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/adminlte.min.js"></script>
// Or as a module
import { PushMenu } from "admin-lte"

Full details in the CHANGELOG.

v4.0.4

AdminLTE 4.0.4 is a quality patch driven by a full-code audit of the template — JavaScript, Sass, demo markup, packaging, and the accessibility layer. No breaking changes; upgrading from any 4.0.x is drop-in.

Heads-up for npm users: 4.0.3 was tagged but never published to npm, so this release moves the registry directly from 4.0.2 to 4.0.4. The npm package is also much leaner now — it ships the library (CSS/JS/Sass/TS sources) without the demo HTML, dropping from 12.7 MB to 9.0 MB unpacked.

Fixes

  • Every dist stylesheet shipped the docs-site styles twice — a duplicated Sass import cost ~23 KB in each of the four CSS bundles. Removed once and locked in with tighter bundlewatch budgets.
  • Accessibility module keyboard handling: removed a document-edge Tab wrap that acted as a page-level keyboard trap (WCAG 2.1.2); arrow keys are no longer intercepted while typing in inputs/textareas/selects; modal focus now restores to the actual triggering element (and respects [autofocus]).
  • Hotwired Turbo: skip links, the live region, and the sidebar overlay are no longer duplicated on every Turbo navigation when restoring cached snapshots (follow-up to the Turbo support shipped in 4.0.3, #6059).
  • Card widget: remove() now actually removes the card from the DOM (hidden form fields no longer keep submitting); toggling collapse mid-animation reverses it instead of being swallowed; widget events dispatch on the toggle button rather than a clicked icon.
  • Slide animations are cancelable — rapid-toggling a treeview or card no longer desyncs its display state.
  • Treeview: fixed an accordion guard that could slide an already-open menu shut; submenu toggles now expose aria-expanded to assistive tech.
  • PushMenu: sidebar state now reacts only to genuine breakpoint crossings via matchMedia — mobile URL-bar/keyboard resizes no longer re-expand a sidebar you collapsed; fixed a 992px off-by-one between JS and CSS.
  • Callout variants never recolored links/inline code (two custom properties were referenced but never defined); the user-menu footer used a Bootstrap token that doesn't exist in 5.3.
  • Demo pages: added the missing forgot-password page (a dead link on both login pages since 4.0.0); Bootstrap JS CDN pin now matches the compiled CSS (5.3.8); removed the non-functional navbar-search button; every page has a proper <h1>; breadcrumbs are navigation landmarks; all icon-only buttons carry aria-labels; auth forms have real labels and <main> landmarks.

Maintenance

  • npm packaging hardened: the package is now built from a files allowlist instead of .npmignore, so stray local files can never leak into the tarball again, and engines: node >= 20 is declared.
  • ACCESSIBILITY-COMPLIANCE.md rewritten as an accurate accessibility statement — what's implemented, what's partial, and the roadmap — replacing the aspirational checklist. Demo meta descriptions updated to match.

Install

npm install [email protected]
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/adminlte.min.css" />
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/adminlte.min.js"></script>

Full details in the CHANGELOG.

v4.0.3

AdminLTE 4.0.3 — Hotwired Turbo support, fullscreen & a11y fixes, and a fully modernized build toolchain (Astro 7 / Vite 8).

📖 Documentation · 🎨 Live preview · 🚀 Migration from v3


✨ Added

  • Hotwired Turbo / Turbo Drive support — the JS components (PushMenu, TreeView, and friends) now re-initialise on turbo:load, so they keep working after Turbo swaps the <body> on in-app navigation instead of going dead after the first link click. Each init cycle uses an AbortController whose signal is aborted on turbo:before-render, so window/document listeners are torn down before re-init rather than stacking up on every navigation. (#563, #5890 — diagnosed and prototyped by @MarkDaleman in #6058)

🐛 Fixes

  • Fullscreen state sync — the fullscreen icons and the maximized/minimized events are now driven by the native fullscreenchange event instead of the request/exit calls. The UI no longer flips when a fullscreen request is denied (permissions policy, missing allowfullscreen, lost user gesture), and it stays in sync when the user exits with ESC or F11. (builds on @webgo-oss's report in #6055)
  • Accessibility — form inputs lacking both an id and a name now receive a stable, generated error-message id instead of colliding on a shared -error id and appending a new orphaned error node on every re-validation. (#6055, reported by @webgo-oss)

🧰 Maintenance

  • Every dependency bumped to its latest release, including four majors — Astro 6 → 7 (which pulls in Vite 8), @astrojs/mdx 6 → 7, eslint-plugin-astro 1 → 2, and eslint-plugin-unicorn 68 → 69 — plus ESLint, Prettier, Stylelint, PostCSS, Rollup and typescript-eslint. No source changes were required: the full npm run production pipeline (lint + Astro build + bundlewatch) passes and npm audit stays at 0 vulnerabilities. This single update supersedes Dependabot PRs #6065–#6074.

📦 New here? The AdminLTE family

AdminLTE 4 is also available as official framework integrations: adminlte-vue (Vue 3 & Nuxt), adminlte-react (React & Next.js), adminlte-django, and adminlte-laravel.

Install

npm install [email protected]

Or via CDN:

<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/adminlte.min.css" />
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/adminlte.min.js"></script>

See CHANGELOG.md for the full notes.

Full Changelog: https://github.com/ColorlibHQ/AdminLTE/compare/v4.0.2...v4.0.3

v4.0.2

AdminLTE 4.0.2 — a housekeeping patch: building from source is clean again.

📖 Documentation · 🎨 Live preview · 🚀 Migration from v3


🐛 Fixes

  • npm run production works from a source checkout again — the dev-only social preview script (scripts/social-preview.mjs, new in 4.0.1) tripped 9 ESLint errors during the lint stage and failed the build. The script is now fully lint-clean. (#6048, reported by @lfiorini)

🔒 Security

  • Hardened the social preview script's tiny static file server against path traversal and error detail leakage (CodeQL alerts #87–#92). This script is dev-only and has never been part of the npm package — published builds were never affected.

📦 New here? The AdminLTE family

AdminLTE 4 is also available as official framework integrations: adminlte-vue (Vue 3 & Nuxt), adminlte-react (React & Next.js), adminlte-django, and adminlte-laravel.

Install

npm install [email protected]

Or via CDN:

<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/adminlte.min.css" />
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/adminlte.min.js"></script>

See CHANGELOG.md for the full notes.

Full Changelog: https://github.com/ColorlibHQ/AdminLTE/compare/v4.0.1...v4.0.2

Full Changelog: https://github.com/ColorlibHQ/AdminLTE/compare/v4.0.1...v4.0.2

v4.0.1

AdminLTE 4.0.1 — first patch for the v4 line, and the launch of the AdminLTE family.

📖 Documentation · 🎨 Live preview · 🚀 Migration from v3


🎉 AdminLTE is now a family

The classic HTML/CSS/JS template you know is no longer alone. AdminLTE 4 is now available as four official framework integrations, each a first-class package maintained under ColorlibHQ:

Project For Highlights
adminlte-vue Vue 3 & Nuxt 45+ typed components, composables, SSR-safe theming, ⌘K command palette
adminlte-react React & Next.js (App Router / RSC) 30+ typed components, dark mode, ⌘K command palette
adminlte-django Django Config-driven sidebar with per-request filters, 33+ components, themed django.contrib.admin, {{ form }} renderer
adminlte-laravel Laravel Blade integration, Vite-ready

All four build on the same Bootstrap 5.3 + vanilla JS core as this package, so designs and docs carry over. If you build admin panels in any of these ecosystems, give them a ⭐ and tell us what you'd like to see next.

🐛 Fixes

  • No more dark-mode flash — the stored color mode is now applied before first paint, so reloading a page in dark mode no longer flashes light first. (#6043, reported by @bsshreesha)
  • Mailbox text overflow — long subject and preview text in the inbox list is now truncated instead of breaking the layout. (#6044, reported by @Oscurlo)
  • Accessibility landmark fixaccessibility.js no longer assigns role="navigation" to <ul>/<ol> elements, which broke list semantics and failed the Lighthouse accessibility audit. (#6038, reported by @lfiorini)

🧰 Maintenance

  • All dependencies updated to latest; axios pinned via npm overrides to clear a transitive advisory — local npm audit reports 0 vulnerabilities.
  • New dev-only social preview generator (scripts/social-preview.mjs), excluded from the npm package.

Install

npm install [email protected]

Or via CDN:

<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/adminlte.min.css" />
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/adminlte.min.js"></script>

See CHANGELOG.md for the full notes.

Full Changelog: https://github.com/ColorlibHQ/AdminLTE/compare/v4.0.0...v4.0.1

v4.0.0

AdminLTE 4.0.0 — first stable release of the v4 line. A ground-up rewrite on Bootstrap 5.3 with no jQuery.

📖 Documentation · 🚀 Migration from v3 · 🎨 Live preview


Highlights

  • 18 new demo pages — Calendar (FullCalendar), Kanban (SortableJS), Chat, File Manager, Projects, Mailbox (Inbox/Read/Compose), Form Wizard, Data Tables (Tabulator), Profile, Settings, Invoice, Pricing, FAQ, plus 404 / 500 / Maintenance error pages.
  • Documentation overhaul — Getting Started, Customization, RTL, Migration from v3, Layout Blueprint, Recipes, Deployment, Recommended Integrations, JavaScript Plugins Overview. Split sidebar navigation so the live preview no longer feels like a docs site. Reading-friendly typography with consistent card wrappers across every page.
  • FAQ rebuilt as a custom page with a hero, live search, section chips, and an accordion of 19 questions across six topics.
  • Six issue fixes: #6010, #6019, #6020, #6021, #6026, #6028.
  • Visible color-mode toggle in the default topbar, with localStorage persistence and prefers-color-scheme integration.
  • Major dependency upgrades: ESLint 9 → 10, TypeScript 5.9 → 6, Stylelint 16 → 17, Astro 6.0 → 6.3, and refreshed minor versions across autoprefixer / postcss / rollup / sass / terser.
  • Dependency tree cleanup: dropped eslint-plugin-import, eslint-config-xo*, and the legacy .eslintrc.json. Flat config only.
  • Security: npm overrides for yaml and stylelint-config-twbs-bootstrap mean npm install runs without --legacy-peer-deps and reports 0 vulnerabilities.

Breaking changes from v3

v3 v4
.wrapper .app-wrapper
.main-header .app-header
.main-sidebar .app-sidebar
.content-wrapper .app-main
data-toggle data-bs-toggle (Bootstrap 5)
data-widget="pushmenu" data-lte-toggle="sidebar"
data-widget="treeview" data-lte-toggle="treeview"
.dark-mode body class data-bs-theme="dark" attribute
jQuery required Vanilla TypeScript — no jQuery
enablePersistence defaulted on Defaults off; opt in via data-enable-persistence="true"

See the dedicated Migration from v3 guide for the complete list and step-by-step upgrade order.

Install

npm install [email protected]

Or via CDN:

<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/adminlte.min.css" />
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/adminlte.min.js"></script>

See CHANGELOG.md for the full notes.

v4.0.0-rc7

AdminLTE v4.0.0-rc7 Release Notes

Highlights

This release delivers significant JavaScript refactors to the layout and push menu plugins, fixes several bugs affecting print, pagination, modals, and animations, and updates all dependencies to their latest semver-compatible versions.

Bug Fixes

  • Print layout: Sidebar and main content are now both visible in browser print preview (#5982, PR #5996 by @herley-shaori)
  • Pagination border-radius: Synced _bootstrap-variables.scss calc syntax with Bootstrap 5.3, fixing grouped pagination buttons showing rounded corners on all sides (#5951, reported by @Kneemund)
  • Escape key & modals: handleEscapeKey() no longer bypasses Bootstrap 5's keyboard: false option on modals (#5993, reported by @braytac)
  • slideDown/slideUp animation: Fixed unreliable setTimeout ordering when duration is 0, which caused sidebar treeview instant-open to fail (#5964, PR by @Kneemund)
  • CSS lint: Fixed property order in print layout rules (#5997, reported by @lfiorini)

Refactors

  • Layout transition handling (#5956 by @dfsmania):

    • Fixed broken holdTransition timer (local variable promoted to instance property)
    • Removed duplicate resize event listeners registered on every call
    • Consolidated layout initialization to layout.ts (removed duplication from adminlte.ts)
    • Moved app-loaded class application to layout Data API section
  • Push menu plugin overhaul (#5954 by @dfsmania):

    • Single PushMenu instance instead of creating new instances per event handler
    • Proper separation of setupSidebarBreakPoint() and updateStateByResponsiveLogic()
    • sidebar-open class only added on mobile viewports (aligns with v3 behavior)
    • Configuration now readable from data attributes on sidebar element
    • Removed unused menusClose() method and dead constants

Improvements

  • Login/register box width: Increased from 360px to 400px for better form readability (#5963 by @dfsmania)
  • TypeScript compilation: Added removeComments: true to tsconfig.json, reducing unminified adminlte.js by ~15% (#5953 by @dfsmania)

Dependencies

Updated all packages to latest semver-compatible versions:

  • [@astrojs](https://github.com/astrojs)/check 0.9.7, [@astrojs](https://github.com/astrojs)/mdx 4.3.13
  • [@typescript-eslint](https://github.com/typescript-eslint)/* 8.57.0
  • astro 5.18.0, autoprefixer 10.4.27
  • eslint 9.39.4, eslint-plugin-astro 1.6.0
  • fs-extra 11.3.4, nodemon 3.1.14
  • postcss 8.5.8, prettier 3.8.1
  • rimraf 6.1.3, rollup 4.59.0
  • sass 1.97.3, terser 5.46.0

Breaking Changes

  • Sidebar persistence is now opt-in: enablePersistence defaults to false (was true). To restore the previous behavior where sidebar state is remembered across page loads, add data-enable-persistence="true" to your sidebar element:
    <aside class="app-sidebar" data-enable-persistence="true"></aside>
    

Contributors

Thank you to everyone who contributed to this release:

  • @dfsmania (Diego Smania) — layout refactor, push menu refactor, login box width, tsconfig cleanup
  • @herley-shaori (Herley) — print layout fix
  • @Kneemund (Moritz Mechelk) — pagination bug report, slideDown/slideUp fix
  • @braytac — escape key modal bug report
  • @lfiorini — CSS lint issue report
v4.0.0-rc4

What's New

  • Updated Dependencies: 8 npm packages updated to latest versions for improved security and performance
  • Refined Mobile Image Fix: Streamlined image path resolution by removing JavaScript runtime fix in favor of build-time HTML generation
  • Better Performance: Images now load faster with no runtime path corrections needed

Updated Packages

  • @rollup/plugin-typescript: 12.1.3 → 12.1.4
  • @typescript-eslint/eslint-plugin: 8.35.1 → 8.36.0
  • @typescript-eslint/parser: 8.35.1 → 8.36.0
  • astro: 5.10.0 → 5.11.0
  • eslint: 9.30.0 → 9.30.1
  • prettier: 3.5.3 → 3.6.2
  • rollup: 4.44.0 → 4.44.2
  • stylelint: 16.21.0 → 16.21.1

Installation

npm install [email protected]

Key Improvements from 4.0.0-rc3

  • Zero 404 Errors: All images now use relative paths generated at build time
  • Cleaner Code: Removed JavaScript runtime path fixes that caused console errors
  • Latest Tools: Updated to newest versions of TypeScript, ESLint, Prettier, and build tools
v4.0.0-rc1

AdminLTE v4.0.0-rc1 - Major Modernization Release

This release represents a complete modernization of the AdminLTE codebase, bringing it up to current standards with the latest tooling, dependencies, and best practices.

Key Highlights

  • Zero Security Vulnerabilities - All dependencies updated and vulnerabilities resolved
  • Modern Tooling - ESLint v9, Astro 5.x, latest Stylelint and build tools
  • Better Developer Experience - New npm start command, improved scripts, cleaner builds
  • Latest Dependencies - Bootstrap 5.3.7, Node.js ES modules, 50+ package updates
  • Code Quality - Zero linting errors, removed technical debt, standardized formatting
  • Future-Ready - Modern configuration patterns, optimal bundle sizes, enhanced maintainability

Quick Start

# Install dependencies
npm install

# Start development server
npm start

# Build for production  
npm run production

Major Changes

Infrastructure & Tooling

  • Upgraded to ES Modules with "type": "module" in package.json
  • Complete ESLint v9 migration with modern flat configuration format
  • Enhanced Astro configuration with static site generation
  • Optimized build scripts and developer experience

Dependencies Updated

  • astro: 4.15.12 → 5.10.0
  • eslint: 8.57.1 → 9.29.0
  • bootstrap: 5.3.3 → 5.3.7
  • sass: 1.78.0 → 1.89.2
  • typescript: 5.6.2 → 5.8.3
  • Plus 50+ other packages updated to latest versions

Security & Quality

  • Resolved all npm security vulnerabilities (0 remaining)
  • Updated browserslist database for modern browser compatibility
  • Fixed all SASS deprecation warnings
  • Zero linting errors across all file types

Migration Guide

For Users:

  • No breaking changes in compiled CSS/JS output
  • All existing HTML templates remain fully compatible
  • CDN links and package imports work as before

For Developers:

  • New npm start command for development
  • ESLint configuration migrated to eslint.config.js
  • Build process requires Node.js ES modules support

Compatibility

  • Bootstrap: 5.3.7 (latest)
  • Node.js: ES modules support required
  • Browsers: All modern browsers supported
  • RTL: Full right-to-left language support maintained

See CHANGELOG.md for complete technical details.


Download: Use npm: npm install [email protected] or download the source code below.

v4.0.0-beta3

Release Notes

New Features

  • Established distribution build folder dist.

Dependency Changes

  • Replaced js-beautify with prettier for code formatting.
  • Downgraded sass to a compatible version.

Upgrades

  • Upgraded astro to version 5.
  • Updated bootstrap to version 5.3.3.

Thank you sponsors

@spizzo14 @tomhappyblock @stefanmorderca @tito10047 @sitchi @npreee @isaacmorais

Full Changelog: https://github.com/ColorlibHQ/AdminLTE/compare/v4.0.0-beta2...v4.0.0-beta3

v4.0.0-beta2

BREAKING CHANGES

  • Removed .layout-fixed-complete class and component.

What's Changed

Minor

  • Bug Fixes

New Feature

  • Added Theme Customizer

Thank you sponsors

@spizzo14 @tomhappyblock @stefanmorderca @tito10047 @sitchi @npreee

New Contributors

Full Changelog: https://github.com/ColorlibHQ/AdminLTE/compare/v4.0.0-beta1...v4.0.0-beta2

v4.0.0-beta1

Highlights

  • AdminLTE v4 is now based on Bootstrap 5
  • Dark mode
  • RTL support
  • Improved responsiveness, performance, code quality, customization, plugins, components, layouts, widgets, forms, tables, icons, pages, examples, and starter kit

Thank you sponsors

@spizzo14 @stefanmorderca @tomhappyblock @tito10047 @sitchi

Thank you Contributors

Welcome New Contributors

Full Changelog: https://github.com/ColorlibHQ/AdminLTE/compare/v3.2.0...v4.0.0-beta1

v3.2.0

Breaking Change! We dropped official node v12, it might be still work but we won't give support for any node 12 bugs/errors.

Top-Features:

  • Enhanced Dark Mode
  • SVG Font Awesome Icon support
  • Docker dev-preset
  • Reworked Dark/Light colors
  • Custom Scrollbar style (Non-Plugin-Scrollbar)

Fixes:

  • various fixes in IFrame plugin
  • fix link encoding in SidebarSearch plugin
  • fix division warning while sass building
  • fix disabled state for default & outline-light button
  • fix none-visible background colors while printing
  • various dark-mode fixes

Changes:

  • add load error fallback for CardRefresh plugin
  • add collapsed-done event for ControlSidebar plugin & PushMenu plugin
  • add animationSpeed to ControlSidebar plugin & PushMenu plugin
  • add target selection for ControlSidebar plugin
  • add element fallback for ExpandableTable plugin
  • add allowReload & autoDarkMode to IFrame plugin
  • add iframe-dark example

Thanks for your awesome contribution @liljack, @danny007in, @curiousteam, @equada, @Shidersz, @gurvirlochab, @ZhangChengLin, @mostafahesham-dev, @smtbos, @leonardxfce, @anilloutombam, @13324, @SmileYzn, @hkvstore, @rikuson, @kreic51, @forxer & @mahmoudalsaman.

For the complete changelog look here.

v3.2.0-rc
v3.1.0

Breaking Change! Changed SCSS filename case

  • build/scss/AdminLTE-raw.scssbuild/scss/_adminlte.raw.scss
  • build/scss/AdminLTE.scssbuild/scss/adminlte.scss
  • build/scss/AdminLTE-components.scssbuild/scss/parts/adminlte.components.scss
  • build/scss/AdminLTE-core.scssbuild/scss/parts/adminlte.core.scss
  • build/scss/AdminLTE-extra-components.scssbuild/scss/parts/adminlte.extra-components.scss
  • build/scss/AdminLTE-pages.scssbuild/scss/parts/adminlte.pages.scss
  • build/scss/AdminLTE-plugins.scssbuild/scss/parts/adminlte.plugins.scss

New in v3.1:

  • Dark Mode
  • New Components
    • Month Pagination
    • Login/Register v2
    • IFrame mode
    • uPlot Charts
    • Kanban Board
    • Pages
      • FAQ
      • Contact Us
    • Search
      • Simple
      • Enhanced
    • Simple Kanban Board
    • Simple Preloader
  • New Demo Examples
    • Stepper/Wizard
    • Multi File Upload
    • Codemirror
    • Datatables with Buttons
    • Form Input Styles
  • New Sidebar features
    • Sidebar Search
    • Custom Area
  • New JS Plugins & JS Plugin features
    • Fullscreen mode
    • SidebarSearch plugin
    • ExpandableTables plugin
    • IFrame plugin
    • NavbarSearch plugin
  • Additionally
    • added FontAwesome light, duotone & svg support
    • added Datatables Scrollpane Plugin
    • added btn-app Color Variations
    • enhance brand-link with pushmenu inside brand
    • added new Border Bottom only input style
    • added custom-control-input Color Variations
    • added custom-control-input-outline for checkbox & radio
    • enhanced ControlSidebar plugin for multiple control-sidebars

Changes:

  • replaced small-box font-size transition with transform
  • fixed layout-boxed sidebar with sidebar-mini
  • added ASP.NET Boilerplate & CakePHP 4.x implementation in docs
  • compressed images (jpg & png)
  • added StyleLint, ESLint & BundleWatch
  • enhanced various npm script commands
  • updated bootstrap to 4.6.0
  • removed glyphicon leftovers
  • updated various HTML markups
    • specified lang attribute
    • bumped year to 2021
    • changed http:// to https://
    • moved rel attribute for consistency
    • added rel=noopener for external links
    • specified diplay=fallback for Google Fonts
  • added sidebar search plugin
  • added pagination month component
  • added expandable tables plugin
  • added sidebar custom area component
  • enhanced brand-link with pushmenu inside brand
  • added font awesome light, duotone & svg icons support
  • fixed maximized-card card-body overflow
  • added bs-stepper plugin & demo
  • added codemirror plugin & demo
  • added dropzonejs plugin & demo
  • added sparkline demo
  • remove flot-old
  • remove unnecessary jquery-ui
  • added new login, register & recover-password v2 page
  • added datatables button example
  • added contact-us and faq demo
  • added iframe plugin
  • added three new styles examples in forms/general
  • added custom-control-input color variations
  • added custom-control-input-outline for checkbox & radio
  • added dark-mode
  • added simple kanban board
  • added card image overlay example
  • added datatables searchpanes plugin
  • added uplot chart plugin & demo
  • removed devDependencies
    • @babel/cli
    • @babel/plugin-external-helpers
    • css-loader
    • path
    • set-value
    • style-loader
  • removed dependencies
    • @fullcalendar/bootstrap (replaced with new dependency fullcalendar)
    • @fullcalendar/core (replaced with new dependency fullcalendar)
    • @fullcalendar/daygrid (replaced with new dependency fullcalendar)
    • @fullcalendar/interaction (replaced with new dependency fullcalendar)
    • @fullcalendar/timegrid (replaced with new dependency fullcalendar)
  • and some other small fixes/changes

Thanks to @XhmikosR for the 55+ incredible PR's also Thanks for the PR's to @shawnheide, @mineminemine, @shailesh-ladumor, @SmileYzn, @yangfuhai, @nisarhassan12, @danny007in

For the complete changelog look here.

v3.1.0-rc

This is only short description, the complete will come in the full release.

Breaking Change! Changed SCSS filename case

  • build/scss/AdminLTE-raw.scssbuild/scss/_adminlte.raw.scss
  • build/scss/AdminLTE.scssbuild/scss/adminlte.scss
  • build/scss/AdminLTE-components.scssbuild/scss/parts/adminlte.components.scss
  • build/scss/AdminLTE-core.scssbuild/scss/parts/adminlte.core.scss
  • build/scss/AdminLTE-extra-components.scssbuild/scss/parts/adminlte.extra-components.scss
  • build/scss/AdminLTE-pages.scssbuild/scss/parts/adminlte.pages.scss
  • build/scss/AdminLTE-plugins.scssbuild/scss/parts/adminlte.plugins.scss

New in v3.1:

  • Dark Mode
  • New Components
    • Month Pagination
    • Login/Register v2
    • IFrame mode
    • uPlot Charts
    • Kanban Board
    • Pages
      • FAQ
      • Contact Us
    • Search
      • Simple
      • Enhanced
    • Simple Kanban Board
  • New Demo Examples
    • Stepper/Wizard
    • Multi File Upload
    • Codemirror
    • Datatables with Buttons
    • Form Input Styles
  • New Sidebar features
    • Sidebar Search
    • Custom Area
  • New JS Plugins & JS Plugin features
    • Fullscreen mode
    • SidebarSearch plugin
    • ExpandableTables plugin
    • IFrame plugin
  • Additionally
    • added FontAwesome light, duotone & svg support
    • added Datatables Scrollpane Plugin
    • added btn-app Color Variations
    • enhance brand-link with pushmenu inside brand
    • added new Border Bottom only input style
    • added custom-control-input Color Variations
    • added custom-control-input-outline for checkbox & radio

For the complete changelog look here.

v3.0.5

Release Notes

  • fixed whitespace with fixed navbar & footer
  • fixed anchor color on .btn
  • added !important to text-(color)
  • fixed inline input-group in sidebar on macOS
  • added margin-bottom to form-inline in sidebar
  • added ribbon over image demo & docs
  • and some other small fixes/changes

Thanks to @medardm, @danny007in, @erdkse & @ddiskandar for your PR's.

For the complete changelog look here.

v3.0.4

Release Notes

  • fixed accent not working on datatable pagination
  • fixed collapse is not working when when i maximize
  • fixed slow scrolling bug with ScrollAnywhere
  • downgraded bootstrap-switch to v3.3.4
  • updated dependencies
    • @fortawesome/fontawesome-free from 5.11.2 to 5.13.0
    • @fullcalendar/bootstrap from 4.3.0 to 4.4.0
    • @fullcalendar/core from 4.3.1 to 4.4.0
    • @fullcalendar/daygrid from 4.3.0 to 4.4.0
    • @fullcalendar/interaction from 4.3.0 to 4.4.0
    • @fullcalendar/timegrid from 4.3.0 to 4.4.0
    • @sweetalert2/theme-bootstrap-4 from 2.2.1 to 3.1.4
    • bootstrap from 4.3.1 to 4.4.1
    • bootstrap-colorpicker from 3.1.2 to 3.2.0
    • bs-custom-file-input from 1.3.2 to 1.3.4
    • flag-icon-css from 3.4.5 to 3.4.6
    • flot from 3.2.13 to 4.2.0
    • fs-extra from 8.1.0 to 9.0.0
    • inputmask from 4.0.9 to 5.0.3
    • ion-rangeslider from 2.3.0 to 2.3.1
    • jszip from 3.2.2 to 3.3.0
    • overlayscrollbars from 1.10.0 to 1.11.0
    • pdfmake from 0.1.62 to 0.1.65
    • popper.js from 1.16.0 to 1.16.1
    • select2 from 4.0.12 to 4.0.13
    • summernote from 0.8.12 to 0.8.16
    • sweetalert2 from 8.19.0 to 9.10.8
  • updated devDependencies
    • @babel/cli from 7.7.4 to 7.8.4
    • @babel/core from 7.7.4 to 7.9.0
    • @babel/plugin-external-helpers from 7.7.4 to 7.8.3
    • @babel/preset-env from 7.7.4 to 7.9.0
    • autoprefixer from 9.7.3 to 9.7.5
    • babel-eslint from 10.0.3 to 10.1.0
    • css-loader from 3.2.1 to 3.4.2
    • eslint from 6.7.2 to 6.8.0
    • eslint-plugin-compat from 3.3.0 to 3.5.1
    • nodemon from 1.19.4 to 2.0.2
    • postcss-cli from 6.1.3 to 7.1.0
    • rollup from 1.27.8 to 2.3.2
    • rollup-plugin-babel from 4.3.3 to 4.4.0
    • set-value from 3.0.1 to 3.0.2
    • style-loader from 1.0.1 to 1.1.3
    • terser from 4.4.2 tom 4.6.10

For the complete changelog look here.

v3.0.3

Release Notes

  • fixed accent overrides
  • fixed CardRefresh double init bug
  • added overlay for tab-panels (thanks @andcarpi)
  • fixed typo in build/scss/_main-sidebar.scss (thanks @thewebartisan7)
  • fixed various sidebar/brand bugs
  • fixed various demo bugs (thanks @bansalshashank)
  • fixed various readme bugs (thanks @cyoung)
  • fixed various docs bugs (thanks @task-jp & @lostship)

For the complete changelog look here.

v3.0.2

Release Notes

  • some small control sidebar fixes
    • fixed content height calculation with overlapping control sidebar
    • fixed collapse/show functions (functions was swapped)
  • fixed custom checkbox padding
  • fixed layout-navbar–fixed on iOS & macOS Safari
  • fixed nested card header style
  • fixed accent color with sidebar, buttons & dropdowns
  • updated dependencies & devDependencies
    • updated chart.js to v2.9.3
    • updated select2 to v4.0.12
  • fixed dropdown menu in top-nav layout
  • fixed box-shadow display while fully collapsed sidebar
  • fixed form label with alternative css files
  • added new lightblue color (legacy blue)
  • fixed accent focus border color on form elements
  • correct and Improve of FilterizR sample page (Thanks @Ppojin)
  • correct all day event (Thanks @Ppojin)
  • fixed double border on cards with nav tabs (Thanks @frenchykiller)
  • fixed Layout('init') for external use
  • added .badge-btn style
  • various sidebar fixes
  • various demo fixes

For the complete changelog look here.

v3.0.1

Release Notes

  • fixed card header background
  • updated dependencies & devDependencies
    • updated chart.js to v2.9.2
    • updated flag-icon-css to v3.4.5
    • updated pdfmake to v0.1.62
    • updated sweetalert2 to v8.19.0
    • updated devDep autoprefixer to v9.7.1
    • updated devDep eslint to v6.6.0
    • updated devDep node-sass to v4.13.0
    • updated devDep rollup to v1.26.3
  • fixed margin left on sidebar collapse without sidebar-mini
  • fixed broken link (thanks @Androz2091)
  • fixed mozilla outline bug
  • fixed bootstrap-slider tooltip not shown
  • added missing !default to $main-footer-bg (thanks @dima-bzz)
  • fixed user-menu dropdown top border
  • enhanced javascript plugins
    • added expand & collapse method in PushMenu
    • added expandSidebar & sidebarButtonSelector option in Treeview
  • some small js option fixes
  • and many more ...

For the complete changelog look here.

v3.0.0

Release Notes

  • fixed info box icon aligning
  • added .nav-legacy
  • added .nav-collapse-hide-child
  • fixed sidebar-light-hover-bg & sidebar-light-active-color
  • removed mozilla dotted border from focus links
  • fixed select2 paddings/margins
  • corrected select2 paddings to change look similar to form-control/custom-form select
  • added forget password & recover password demo
  • fixed card default border after adding nav tabs support

For the complete changelog look here.

v3.0.0-rc.6

Release Notes

  • fixed collapsed sidebar autocollapse bug
  • fixed unnecessary margin in list in timeline component
  • updated dependencies & copied to plugin/
  • updated devDependecies
  • fixed ::placeholder generation with autoprefixer
  • added alert-default-* class for bootstrap4 legacy style
  • fixed border-top for card-outline-tabs nav-item
  • fixed content margin with active sidebar overlay
  • added abilty to use select2 with input-group
  • fixed fixLayoutHeight on pushmenu collapse/expand event & removed auto expand sidebar on resize
  • fixed select2 multiple padding bottom
  • changed input placeholder color with lighten
  • added bs-custom-file-input plugin
  • fixed select2 init bug in forms/advanced.html
  • fixed box-shadow with select2 bootstrap4 theme
  • enhanced scss structure & compiled size

For the complete changelog look here.

v3.0.0-rc.5

Release Notes

  • fixed docs generation problems
  • fixed submenu expand bug
  • fixed resizing bugs with chartjs in index.html
  • enable auto collapse size by 992px as default option
  • added new plugin jquery-validation v1.19.1
  • fixed content height calculation
  • fixed some little select2 default theme
  • fixed autocallapse on mobile touchscroll & rebuild dists
  • fixed select2 multiple height bug
  • fixed content height calc with less sidebar content
  • fixed navbar tabs border in card-header

For the complete changelog look here.

v3.0.0-rc.4

Release Notes

  • moved fs-extra to deps instead of devDeps
  • fixed accent build error
  • fixed npm i prepare plugins error
  • fixed margin of input-group, nav & pagination inside card-tools
  • fixed invoice-print loading from file://
  • overhauled top-nav layout with a collapsable menu

For the complete changelog look here.

v3.0.0-rc.3

Release Notes

  • npmignore fixes

For the complete changelog look here.

v3.0.0-rc.2

Release Notes

  • fixed some html markups
  • added multi level example in sidebar
  • added support for .text-sm with brand-link, main-sidebar & main-footer
  • added .nav-flat style with child-indent support
  • added sidebar form support (e.g. search input)
  • created a fully new javascript plugin called Toasts
    • easy and simple toast injector, based on boostrap 4 toasts
  • enhanced Treeview.js
    • changed next() to find() in Treeview toggle()
  • added .dropdown-icon for icon only dropdown toggles
  • enhanced docs
    • added components/miscellaneous.md
    • updated layout.md
    • updated components/sidebar.md
  • enhanced plugins preparation
  • added ability to add nav tabs inside card header
  • enhanced default select2 theme
  • added/updated plugins
    • added pace progress demo (existing plugin)
    • added bootstrap-switch
    • updated pdfmake to 0.1.59
    • updated fontawesome-free to 5.11.1
    • updated flag-icon-css to 3.4.0
    • updated sweetalert2 to 8.17.6
  • and many more little css/js fixes

For the complete changelog look here.

Thanks for the great response for v3.0.0-rc.1.

v3.0.0-rc.1

Release Notes

  • migrated CardRefresh aka BoxRefresh
  • enhanced CardWidget JS
  • enhanced ControlSidebar CSS/JS
  • added Dropdown JS
  • added new demo pages
  • updated plugins and added all missing datatables extensions
  • and many more...

For the complete changelog look here.

Thanks @Leviasan & @laiso for you PR's

v2.4.18

Release Notes

  • updated jquery-ui to 1.12.1
  • removed position absoulte from box-tools to avoid overlapping with box-title
  • enhanced tree collapse/expand to avoid flood slide animation on multiple clicks on one item

For the complete changelog look here.

v2.4.17

Release Notes

  • updated bower components
    • removed bootstrap-timepicker from bower.json (due it doesn't deliver dist files via bower/npm)
    • updated fullcalendar to 3.10.1
    • updated raphael to 2.3.0
  • removed bootstrap-timepicker from package.json

For the complete changelog look here.

v2.4.16

Release Notes

  • preparation for build on Travis CI
  • trust semver constraints at package.json and bower.json
  • remove changelog.md link from README.md
    • updated bower components
    • updated bootstrap-datepicker to 1.9.0
    • updated chart.js to 1.1.1
    • updated ckeditor to 4.12.1
    • updated jquery to 3.4.1
    • updated raphael to 2.2.7
    • updated select2 to 4.0.8
    • updated jquery to 3.4.1
    • updated bootstrap-slider to 10.6.2 (according to docs & package.json)
  • fixed control-sidebar slide option

For the complete changelog look here.

Thanks to @phansys & @philip for your contributions.

v3.0.0-beta.2

Release Notes

  • added overlay for small-box & info-box
  • added support for focus to expand functionality in main-sidebar
  • enhanced input[type="range"] colors
  • added support for vertical nav tabs
  • added support for fixed Table Header
  • reordered Extras & Pages in demo files
  • added 6 new pages in demo (E-commerce, Projects, Project Add, Project Edit, Project Detail & Contacts)
  • added 2 new extras in demo (Legacy User Menu, Language Menu)
  • added 3 new plugins (flag-icon-css, jsGrid & bootstrap-duallistbox)
  • added fixed navbar & footer incl responisve
  • added back to top style, visible in widget demo
  • some building steps changes (e.g. moved settings files to one place, updated devDependencies for "js-compile" script, changed module to work with the file system)
  • added DirectChat & TodoList JavaScript
  • a complete fresh documentation (not 100% complete)
  • and many css/js bugfixes

For the complete changelog look here.

Thanks @Leviasan @andymark-by @maxwellmc for your PRs

v2.4.15

Release Notes

  • fixed bower install error ENOTFOUND Package [@dev](https://github.com/dev) not found
v2.4.14

Release Notes

  • fixed content-wrapper height calculation if footer isn't there
v2.4.13

Release Notes

  • fixed scroll top bug in fixed layout mode
  • updated select2 to latest version (v4.0.7)
  • fixed multilevel collapse for child treeview menu
  • added ability to use fontawesome 5 icon on sidebar-toggle
  • changed content-wrapper calc() from % to vh & added content-wrapper calc() with collapsed header
  • added asset packagist to composer.json
  • added parent height:auto on tree expand to avoid child overlapping
  • changed bootstrap-slider from * to [@dev](https://github.com/dev) to avoid minimum-stability error
  • added ability to use img logo instead of text logo
  • added ability to use brand-logo with text instead of only a text logo
  • added .hidden-xs to .box-tools searchbar to avoid overlapping
  • fixed collapsed sidebar-menu's sub menu indicator(angle) on hover
v3.0.0-beta.1

Release Notes

  • Some little V3-dev changes/fixes (PR #2105)
    • updated node_modules
      • bootstrap 4.1.2 to 4.3.1
      • chart.js 2.7.2 to 2.8.0
      • jquery 3.3.1 to 3.4.1
      • popper.js 1.14.3 to 1.15.0
      • browser-sync 2.24.5 to 2.26.5
      • clean-css-cli 4.1.11 to 4.3.0
      • eslint-plugin-compat 2.5.0 to 2.7.0
      • node-sass 4.9.2 to 4.12.0
      • nodemon 1.18.2 to 1.19.0
      • npm-run-all 4.1.3 to 4.1.5
      • uglify-js 3.4.4 to 3.5.13
    • added color: inherit to .table
    • added fix for cutted nav-link in sidebar collapsed state
    • added tooltip fix for tooltips in sidebar
  • added modals & changed zindex's (PR #2106)
    • added Modals Demo Page
    • added Link to Modals in any other Demo Page
    • added Modal Color Variation fixes
    • updated zindex values header from 1000 to 900 sidebar from 1100 to 950 (below bootstrap 4 defaults to work with dropdown, modal, popover & tooltip)
    • removed tooltip zindex overide
  • little v3 changes (PR #2110)
    • removed all files from /dist/js/plugins (unnecessary since all demo pages use plugins from root)
    • fixed same text-color as background for nav-item:hover dropdown
    • updated fontawesome to fontawesome-free 5.8.2
      • updated all demo pages
      • updated fontawesome entries in build/npm/Plugins
      • updated package.json & package-lock.json
      • replaced fontawesome files in plugins/
      • fixed fontawesome icon rules in buttons, cards, sidebar & smallbox
    • added calc for .content-wrapper min-height
    • added layouts: top-nav, boxed & sidebar collapsed
    • fixed mailbox attachment size
    • added new color classes bg-, navbar-
      • updated demo.js
    • updated sidebar in demo files (added layout options)
    • added autoprefixer to fix browser specific css changes
    • added css sourcemap for adminlte.min.css
  • Road to v3.0.0-beta.1 (PR #2119)
    • replaced slimScroll to overlayScrollbars
    • added new layout types (fixed, navbar-fixed & footer-fixed)
    • changed old default layout from "fixed" to non-fixed
    • enhanced PushMenu.js to load options via data
    • enhanced Layout.js new layout calcs, options via data for scrollbar
    • fixed forms fontawesome icons
    • added warning-feedback (without icon)
    • added sidebar-mini-md
    • updated index to use layout-fixed
    • updated index2 to use layout-fixed, layout-navbar-fixed & layout-footer-fixed
    • added ability for auto collapse sidebar option
  • some little changes (PR #2120)
    • updated copyright infos
    • added js option for content with fixed height
  • custom-switch, modal overlay, plugin updates & one bug fixed (PR #2123)
    • enhanced custom-switch
      • updated forms/general demo page
      • added custom-switch off/on color variants
      • rebuild css files
    • modal overlay
      • update color darken/lighten for custom-switch's
      • added .overlay in .modal-dialog/.modal-content
      • created demo modal in modals.html
      • rebuild css dist files
    • updated plugins part 1
      • updated package.json plugins (fontawesome)
      • updated npm/Plugins
      • removed bootstrap css files
      • replaced bootstrap-wysihtml5 (it's not support BS4) with summernote
      • updated bootstrap-slider to latest version & updated demo
      • replaced old chartjs demos with new chartjs
      • updated bootstrap-colorpicker & updated forms/advanced demo file
      • removed ckeditor in order to respect licenses
      • replaced bootstrap-datepicker & bootstrap-timepicker with tempusdominus-bootstrap-4
    • fixed sidebar collapse bug after autoCollapse feature
  • updated plugins part 2 & some enhancements (PR #2133)
    • updated plugins
      • added .editorconfig
      • updated package.json & build/npm/Plugins.js according to the following changes
      • updated dev dependencies to clear audits
      • updated daterangepicker
      • updated overlayScrollbars
      • moved flot (0.8.2) to flot-old for plugins
      • updated flot
      • updated fullcalendar
      • replaced icheck with icheck-bootstrap & updated demo files
      • added icheck-bootstrap color overrides
      • updated inputmask
      • updated ion-rangeslider
      • updated jquery-ui
      • updated bootstrap-slider tweaks & demo files
      • replaced jvectormap with jqvmap & updated demo files
      • added jquery-mapael & replaced in index2 jvectormap
      • updated jquery-knob
      • replaced pace with pace-progress
      • updated select2 & demo files
      • replaced jquery.sparkline with sparklines & updated demo files and removed jquery.sparkline demo section
      • removed ckeditor from package.json & removed jquery sparline lines in dashboard2.js
    • enhanced charts demo
      • added pie chart
      • added stacked bar chart
    • added legacy user menu (thanks @BruceHill)
    • enhanced card & widget with expand/compress (fullscreen) and some little fixes
      • updated Widget.js
      • updated _cards.scss
      • enabled gradients in _bootstrap-variables.scss
      • fixed old bg-*-gradient (theme colors)
      • added bg-*-gradient (colors)
      • updated cards demo section in pages/widgets.html
    • fixed unable to expand sidebar in with navbar-fixed & footer-fixed width
    • added sidebar nav-treeview indent via .nav-child-indent on ul.nav-sidebar
  • last fixes before releasing v3.0.0-beta.1 (PR #2141)
    • some little changes with gradients
      • removed default gradients
      • renamed bg--gradient to bg-gradient- to follow bootstrap's default gradients
      • added btn related gradient hover & active changes
      • updated related demo files (index.html, pages/widgets.html & pages/UI/buttons.html)
      • fixed infobox gradient color
    • fixed sidebar child indent to indent even level 2+ entries
    • fixed unable to click on hamburger button
v2.4.12

Release Notes

  • Fixed npm audit error
  • Fixed strange navigation menu behavior + dark space on reloads
  • Added height auto to .login-page & .register-page
v2.4.11

Release Notes

  • Added setTimeout on treeview expand #2067
  • Fixed layout skin-black-light height inconsistence #2091
  • Changed min-height to calc in .content-wrapper (css)
  • Changed hr border color to [@gray](https://github.com/gray) instead of [@gray-lighter](https://github.com/gray-lighter)
  • Fixed ionicons path in docs
  • Fixed missing time in "Date and time range" picker
  • Fixed drag and drop breaking AdminLTE's design
  • Fixed sidebar menu tree dropdown always open
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
calmfox/watch-sylius
damienfern/grpc-symfony-bundle
atoolo/index-bundle
atoolo/genai-bundle
coprotoai/laravel-ticket
davidjln/llm-carbon-bundle
cryonighter/valid-request-bundle
coolms/taxonomy-bundle
coolms/field-bundle
articulate-orm/symfony
aaix/laravel-tall-architect
ephoto/akeneo-connector
emmanuelballery/eb-plantumlbundle
emielburgman/symfony-visitor-beacon
emielburgman/symfony-visit-storage
emielburgman/symfony-security-headers
emielburgman/symfony-log-viewer
emarref/xdebug-bundle
emarref/pubnub-bundle
elriseio/finance-money-bundle