admin-lte 4.0.0-rc6 → 4.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (107) hide show
  1. package/CHANGELOG.md +96 -0
  2. package/README.md +44 -18
  3. package/dist/UI/general.html +311 -92
  4. package/dist/UI/icons.html +311 -92
  5. package/dist/UI/timeline.html +311 -92
  6. package/dist/css/adminlte.css +2814 -1138
  7. package/dist/css/adminlte.css.map +1 -1
  8. package/dist/css/adminlte.min.css +2 -2
  9. package/dist/css/adminlte.min.css.map +1 -1
  10. package/dist/css/adminlte.rtl.css +2814 -1138
  11. package/dist/css/adminlte.rtl.css.map +1 -1
  12. package/dist/css/adminlte.rtl.min.css +2 -2
  13. package/dist/css/adminlte.rtl.min.css.map +1 -1
  14. package/dist/docs/browser-support.html +291 -385
  15. package/dist/docs/color-mode.html +283 -381
  16. package/dist/docs/components/main-header.html +269 -363
  17. package/dist/docs/components/main-sidebar.html +284 -378
  18. package/dist/docs/customization.html +1056 -0
  19. package/dist/docs/deployment.html +1121 -0
  20. package/dist/docs/faq.html +887 -397
  21. package/dist/docs/getting-started.html +967 -0
  22. package/dist/docs/how-to-contribute.html +365 -450
  23. package/dist/docs/index.html +16 -0
  24. package/dist/docs/integrations.html +1207 -0
  25. package/dist/docs/introduction.html +483 -434
  26. package/dist/docs/javascript/accessibility.html +925 -0
  27. package/dist/docs/javascript/card-widget.html +995 -0
  28. package/dist/docs/javascript/direct-chat.html +872 -0
  29. package/dist/docs/javascript/fullscreen.html +881 -0
  30. package/dist/docs/javascript/layout.html +884 -0
  31. package/dist/docs/javascript/plugins-overview.html +1120 -0
  32. package/dist/docs/javascript/pushmenu.html +522 -377
  33. package/dist/docs/javascript/treeview.html +498 -390
  34. package/dist/docs/layout-blueprint.html +1063 -0
  35. package/dist/docs/layout.html +316 -402
  36. package/dist/docs/license.html +282 -375
  37. package/dist/docs/migration.html +1125 -0
  38. package/dist/docs/recipes.html +1161 -0
  39. package/dist/docs/rtl.html +933 -0
  40. package/dist/examples/lockscreen.html +66 -2
  41. package/dist/examples/login-v2.html +65 -1
  42. package/dist/examples/login.html +65 -1
  43. package/dist/examples/register-v2.html +65 -1
  44. package/dist/examples/register.html +65 -1
  45. package/dist/forms/elements.html +1381 -0
  46. package/dist/forms/{general.html → layout.html} +382 -452
  47. package/dist/forms/validation.html +1251 -0
  48. package/dist/forms/wizard.html +1386 -0
  49. package/dist/generate/theme.html +135 -5
  50. package/dist/index.html +311 -92
  51. package/dist/index2.html +314 -92
  52. package/dist/index3.html +311 -92
  53. package/dist/js/adminlte.js +135 -314
  54. package/dist/js/adminlte.js.map +1 -1
  55. package/dist/js/adminlte.min.js +3 -3
  56. package/dist/js/adminlte.min.js.map +1 -1
  57. package/dist/layout/collapsed-sidebar-without-hover.html +1120 -0
  58. package/dist/layout/collapsed-sidebar.html +311 -92
  59. package/dist/layout/fixed-complete.html +311 -92
  60. package/dist/layout/fixed-footer.html +311 -92
  61. package/dist/layout/fixed-header.html +311 -92
  62. package/dist/layout/fixed-sidebar.html +311 -92
  63. package/dist/layout/layout-custom-area.html +311 -92
  64. package/dist/layout/layout-rtl.html +311 -92
  65. package/dist/layout/logo-switch.html +135 -5
  66. package/dist/layout/sidebar-mini.html +311 -92
  67. package/dist/layout/unfixed-sidebar.html +311 -92
  68. package/dist/mailbox/compose.html +1127 -0
  69. package/dist/mailbox/inbox.html +1477 -0
  70. package/dist/mailbox/read.html +1178 -0
  71. package/dist/pages/404.html +213 -0
  72. package/dist/pages/500.html +201 -0
  73. package/dist/pages/calendar.html +1242 -0
  74. package/dist/pages/chat.html +1403 -0
  75. package/dist/pages/faq.html +1359 -0
  76. package/dist/pages/file-manager.html +1811 -0
  77. package/dist/pages/invoice.html +1175 -0
  78. package/dist/pages/kanban.html +1415 -0
  79. package/dist/pages/maintenance.html +204 -0
  80. package/dist/pages/pricing.html +1255 -0
  81. package/dist/pages/profile.html +1358 -0
  82. package/dist/pages/projects.html +1620 -0
  83. package/dist/pages/settings.html +1363 -0
  84. package/dist/tables/data.html +1295 -0
  85. package/dist/tables/simple.html +311 -92
  86. package/dist/widgets/cards.html +311 -92
  87. package/dist/widgets/info-box.html +311 -92
  88. package/dist/widgets/small-box.html +311 -92
  89. package/netlify.toml +16 -0
  90. package/package.json +32 -26
  91. package/src/scss/_accessibility.scss +44 -0
  92. package/src/scss/_app-footer.scss +9 -0
  93. package/src/scss/_app-header.scss +27 -0
  94. package/src/scss/_app-sidebar.scss +73 -74
  95. package/src/scss/_bootstrap-variables.scss +12 -5
  96. package/src/scss/_docs.scss +816 -0
  97. package/src/scss/_table.scss +4 -4
  98. package/src/scss/adminlte.scss +4 -1
  99. package/src/scss/pages/_login_and_register.scss +1 -1
  100. package/src/ts/accessibility.ts +9 -7
  101. package/src/ts/adminlte.ts +2 -14
  102. package/src/ts/fullscreen.ts +8 -4
  103. package/src/ts/layout.ts +34 -16
  104. package/src/ts/push-menu.ts +257 -104
  105. package/src/ts/util/index.ts +10 -0
  106. package/.claude/settings.local.json +0 -33
  107. package/CLAUDE.md +0 -79
package/CHANGELOG.md CHANGED
@@ -7,6 +7,102 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [4.0.0] - 2026-05-19
11
+
12
+ ### Added
13
+
14
+ - **18 new demo pages** dramatically expanding the page catalog:
15
+ - **Apps:** Calendar (FullCalendar 6, drag-and-drop scheduling), Kanban (SortableJS, lane-to-lane drag), Chat (full-page conversation app), File Manager (grid + list views, folder tree), Projects (list with status, progress, team avatars)
16
+ - **Mailbox:** Inbox, Read Message, Compose — three-pane workflow with folders + labels
17
+ - **Forms:** Wizard (4-step with per-step validation + review summary)
18
+ - **Tables:** Data Tables — jQuery-free implementation using Tabulator 6
19
+ - **Pages:** Profile (tabbed activity/timeline/settings), Settings (account / notifications / security / billing / danger zone), Invoice (print-ready with totals math), Pricing (3-tier + comparison table + billing toggle), FAQ (data-driven accordions)
20
+ - **Error pages:** 404, 500, Maintenance
21
+ - **Recommended Integrations docs page** (`docs/integrations.html`) — copy-paste install snippets for Flatpickr, Tom Select, noUiSlider, Pickr, IMask, Dropzone, FilePond, Quill, EasyMDE, Toast UI Editor, ApexCharts, Chart.js, Tabulator, FullCalendar, SortableJS, GLightbox, and a comparison of icon libraries. AdminLTE doesn't bundle these — the page shows how to drop them in.
22
+ - **Visible color-mode toggle in the default topbar** (#6010) — Light / Dark / Auto dropdown with localStorage persistence and `prefers-color-scheme` integration. Wiring JS shipped globally in `_scripts.astro` so the toggle works on every demo page automatically.
23
+
24
+ ### Changed
25
+
26
+ - **Forms section restructured:** Split the 623-line `forms/general.html` into three focused pages — `forms/elements.html` (inputs, selects, checks/radios/switches, ranges, floating labels), `forms/layout.html` (horizontal, inline, sizing, width), and `forms/validation.html` (Bootstrap native validation + tooltip variant).
27
+
28
+ ### Fixed
29
+
30
+ - **#6028:** Color-mode "Auto" icon now renders. The dropdown used `bi-circle-fill-half-stroke` (a FontAwesome class name); replaced with the correct Bootstrap Icons class `bi-circle-half`.
31
+ - **#6026:** `.table-head-fixed` now respects dark mode. Hardcoded `background-color: $white` swapped for `var(--bs-body-bg)` so the sticky header tracks the active colour scheme.
32
+ - **#6021:** Fullscreen button no longer shifts after click. The plugin used to set `iconMaximize.style.display = 'block'` directly, overriding the icon library's natural display value (visible on FontAwesome). Now toggles Bootstrap's `.d-none` utility class. Markup updated accordingly.
33
+ - **#6020:** Sidebar (including brand) now stays put when using `.fixed-header`. New companion rule pins the sidebar sticky on `sidebar-expand-*` breakpoints, giving the menu its own scrollbar instead of scrolling with the page.
34
+ - **#6019:** Pie chart on `index2.html` no longer flickers on browser zoom. Pinned an explicit `height: 350` to break the ApexCharts ResizeObserver feedback loop most visible on Edge.
35
+
36
+ ### Updated
37
+
38
+ - **Bootstrap variable sync with 5.3.4:**
39
+ - Added missing null variables: `$btn-close-filter`, `$carousel-control-icon-filter`
40
+ - Marked deprecated-in-5.3.4 variables with inline comments: `$btn-close-white-filter`, `$carousel-dark-indicator-active-bg`, `$carousel-dark-caption-color`, `$carousel-dark-control-icon-filter`
41
+ - Documented the intentional override of `$modal-content-color` (null vs Bootstrap's `var(--bs-body-color)`)
42
+ - **All dependencies bumped to latest, including majors:**
43
+ - eslint: 9.39.4 → 10.4.0
44
+ - typescript: 5.9.3 → 6.0.3 (`baseUrl` removed, `moduleResolution: "bundler"` set to clear deprecation warnings)
45
+ - stylelint: 16.26.1 → 17.11.1
46
+ - eslint-plugin-unicorn: 62 → 64
47
+ - astro: 6.0.0 → 6.3.3
48
+ - autoprefixer: 10.4.27 → 10.5.0
49
+ - postcss: 8.5.8 → 8.5.14
50
+ - rollup: 4.59.0 → 4.60.4
51
+ - sass: 1.97.3 → 1.99.0
52
+ - terser: 5.46.0 → 5.47.1
53
+ - bundlewatch: 0.4.1 → 0.4.2, fs-extra: 11.3.4 → 11.3.5, prettier: 3.8.1 → 3.8.3
54
+ - **ESLint config flattened:** Removed the legacy `.eslintrc.json` (ignored since ESLint 9), along with three deps that only it referenced: `eslint-plugin-import`, `eslint-config-xo`, `eslint-config-xo-typescript`. Added explicit deps for `@eslint/js`, `globals`, and `typescript-eslint` (now required to be declared since ESLint 10 stopped resolving them transitively).
55
+ - **`stylelint-config-twbs-bootstrap` peer pinned via npm overrides** so it accepts stylelint 17 ahead of an upstream release. This removes the need for `--legacy-peer-deps` on `npm install`.
56
+ - **Security:** `yaml` pinned to `^2.9.0` via overrides to clear the dev-only stack-overflow advisory chain through `@astrojs/check`. `npm audit` now reports **0 vulnerabilities**.
57
+
58
+ ## [4.0.0-rc7] - 2026-03-10
59
+
60
+ ### Added
61
+
62
+ - **Sidebar Without Hover:** New `sidebar-without-hover` body class that prevents collapsed mini sidebar from expanding on hover (#5837)
63
+ - New demo page at `layout/collapsed-sidebar-without-hover.html`
64
+ - **JavaScript Documentation:** Added documentation pages for all JS components
65
+ - Layout, Card Widget, Direct Chat, Fullscreen, and Accessibility modules
66
+ - Updated PushMenu documentation with configuration options and responsive behavior
67
+ - All 7 JS components now fully documented in the sidebar navigation
68
+ - **Accessibility Module:** WCAG 2.1 AA compliance features (skip links, focus management, keyboard navigation, reduced motion, live announcements)
69
+ - **Print Layout Fix:** Sidebar and main content now both visible when printing (#5996)
70
+
71
+ ### Changed
72
+
73
+ - **Sidebar Persistence:** `enablePersistence` now defaults to `false` (was `true`). Opt in via `data-enable-persistence="true"` on `.app-sidebar`. **BREAKING CHANGE**
74
+ - **Layout Plugin Refactor:** Single Layout instance with persistent hold-transition timer, proper cleanup on resize (#5956)
75
+ - **PushMenu Plugin Refactor:** Single PushMenu instance with proper responsive logic, config from data attributes, mobile-aware state management (#5954)
76
+ - **Login/Register Box:** Increased width from 360px to 400px (#5963)
77
+
78
+ ### Fixed
79
+
80
+ - **Fixed Footer with Layout Fixed:** Footer now stays pinned at the bottom when using both `.fixed-footer` and `.layout-fixed` (#5805)
81
+ - **Mobile Sidebar Scroll Chaining:** Added `overscroll-behavior: contain` to prevent page scroll when scrolling sidebar on mobile (#5864)
82
+ - **Sidebar Flicker on Load:** Resolved by layout refactor fixing duplicate initialization and broken hold-transition timer (#5952)
83
+ - **Bootstrap Modal Escape Key:** Accessibility module no longer intercepts Escape key when a Bootstrap modal is open (#5993)
84
+ - **Pagination Border Radius:** Fixed `calc()` syntax in `_bootstrap-variables.scss` to match Bootstrap 5.3 format (#5951)
85
+ - **slideUp/slideDown at Duration 0:** Added early return guard for zero/near-zero animation durations (#5964)
86
+ - **TypeScript Comments in Build:** Added `removeComments: true` to tsconfig.json for smaller unminified bundles (#5953)
87
+
88
+ ### Updated
89
+
90
+ - **Dependencies:** Updated all packages to latest semver-compatible versions
91
+ - astro: 5.x → 6.0.0
92
+ - @astrojs/mdx: 4.x → 5.0.0
93
+ - @astrojs/check: 0.9.6 → 0.9.7
94
+ - @rollup/plugin-typescript: 12.3.0 → 12.3.1
95
+ - @typescript-eslint/eslint-plugin: 8.48.1 → 8.50.0
96
+ - @typescript-eslint/parser: 8.48.1 → 8.50.0
97
+ - autoprefixer: 10.4.22 → 10.4.23
98
+ - eslint: 9.39.1 → 9.39.4
99
+ - postcss: 8.5.7 → 8.5.8
100
+ - rollup: 4.53.3 → 4.59.0
101
+ - sass: 1.94.2 → 1.97.3
102
+ - terser: 5.44.1 → 5.44.3
103
+ - typescript: 5.9.2 → 5.9.3
104
+ - **Bundlewatch:** Updated adminlte.js size limit to 5.2 kB
105
+
10
106
  ## [4.0.0-rc6] - 2025-12-08
11
107
 
12
108
  ### Security
package/README.md CHANGED
@@ -9,31 +9,57 @@
9
9
  **AdminLTE** is a fully responsive administration template. Based on **[Bootstrap 5](https://getbootstrap.com/)** framework and also the JavaScript plugins.
10
10
  Highly customizable and easy to use. Fits many screen resolutions from small mobile devices to large desktops.
11
11
 
12
- ## What's New in v4.0.0-rc6
12
+ ## What's New in v4.0.0
13
13
 
14
- **Security & Feature Release** - Important security fixes and new sidebar persistence feature:
14
+ The first stable release of the v4 line — a ground-up rewrite on Bootstrap 5.3 with no jQuery. Highlights:
15
15
 
16
- - **Security Fixes** - Resolved 4 vulnerabilities (XSS in Astro, auth bypass, unsanitized attributes)
17
- - **Sidebar State Persistence** - Sidebar now remembers collapsed/expanded state across page refreshes
18
- - **Node.js 22** - Updated all GitHub Actions workflows to Node.js 22 LTS (supported until 2027)
19
- - **Latest Dependencies** - 15+ packages updated including Astro 5.16.4, Prettier 3.7.4, Rollup 4.53.3
20
- - **CI/CD Improvements** - Updated CodeQL actions to v3, fixed release workflow bugs
16
+ **18 new demo pages**
21
17
 
22
- **Key Improvements:**
18
+ - Apps: Calendar (FullCalendar), Kanban (SortableJS), Chat, File Manager, Projects, Mailbox (Inbox / Read / Compose)
19
+ - Forms: Wizard (4-step with validation)
20
+ - Tables: Data Tables (Tabulator — jQuery-free)
21
+ - Pages: Profile, Settings, Invoice, Pricing, FAQ
22
+ - Errors: 404, 500, Maintenance
23
23
 
24
- - ✅ Zero security vulnerabilities - all npm audit issues resolved
25
- - ✅ Sidebar state persists in localStorage (configurable, SSR-safe, mobile-aware)
26
- - ✅ GitHub Actions use Node.js 22 (Active LTS until April 2027)
27
- - ✅ CodeQL security scanning updated to latest v3 actions
28
- - ✅ Release workflow fixed for proper asset packaging
24
+ **Documentation overhaul**
29
25
 
30
- **Install the latest:**
26
+ - New pages: Getting Started, Customization & Theming, RTL Support, Migration from v3, Layout Blueprint, Recipes, Deployment & Performance, Recommended Integrations, JavaScript Plugins Overview
27
+ - Rewritten Introduction with four labelled install paths (CDN / npm / source / Composer)
28
+ - FAQ rebuilt as a custom page with hero, live search, section chips, and an accordion of 19 questions across six topics
29
+ - Split sidebar navigation: dashboard demo and docs each have their own nav, no more docs entries cluttering the live preview
30
+ - Reading-friendly typography across all docs pages, with constrained line length, prose-tuned heading rhythm, styled reference tables, info callouts, and pill inline code
31
+
32
+ **Six issue fixes**
33
+
34
+ - `bi-circle-half` for the Auto color-mode icon (#6028)
35
+ - `table-head-fixed` respects dark mode (#6026)
36
+ - Fullscreen icon toggles `.d-none` instead of inline `display` so it works with any icon library (#6021)
37
+ - Sidebar (including brand) stays pinned when using `fixed-header` (#6020)
38
+ - Pie chart on `index2.html` no longer flickers on browser zoom (#6019)
39
+ - Color-mode toggle now visible by default in the topbar with localStorage persistence (#6010)
40
+
41
+ **Major dependency upgrades**
42
+
43
+ - ESLint 9 → 10, TypeScript 5.9 → 6, Stylelint 16 → 17
44
+ - Astro 6.0 → 6.3, autoprefixer / postcss / rollup / sass / terser refreshed
45
+ - Bootstrap 5.3.8, Node 22 LTS in CI
46
+ - Dropped dead `eslint-plugin-import`, `eslint-config-xo*`, and the legacy `.eslintrc.json`
47
+ - npm `overrides` for `yaml` + `stylelint-config-twbs-bootstrap` so `npm install` runs without `--legacy-peer-deps` and reports **0 vulnerabilities**
48
+
49
+ **Breaking changes from v3**
50
+
51
+ - Class renames: `.wrapper` → `.app-wrapper`, `.main-header` → `.app-header`, `.main-sidebar` → `.app-sidebar`, `.content-wrapper` → `.app-main`
52
+ - Data attributes: `data-toggle` → `data-bs-toggle`, `data-widget="pushmenu"` → `data-lte-toggle="sidebar"`, `data-widget="treeview"` → `data-lte-toggle="treeview"`
53
+ - Dark mode: `.dark-mode` body class → `data-bs-theme="dark"` attribute (Bootstrap 5.3 native)
54
+ - jQuery no longer required; plugins are vanilla TypeScript
55
+
56
+ See the dedicated [Migration from v3](https://adminlte.io/themes/v4/docs/migration.html) guide and the [CHANGELOG.md](CHANGELOG.md) for the full list.
57
+
58
+ **Install:**
31
59
  ```bash
32
- npm install admin-lte@4.0.0-rc6
60
+ npm install admin-lte@4.0.0
33
61
  ```
34
62
 
35
- See the [CHANGELOG.md](CHANGELOG.md) for complete details.
36
-
37
63
  ## Looking for Premium Templates?
38
64
 
39
65
  AdminLTE.io just opened a new premium templates page. Hand picked to ensure the best quality and the most affordable
@@ -72,7 +98,7 @@ To build for production:
72
98
 
73
99
  ## Browser Support
74
100
 
75
- AdminLTE supports all modern browsers with the latest Bootstrap 5.3.7:
101
+ AdminLTE supports all modern browsers with the latest Bootstrap 5.3.8:
76
102
  - Chrome (latest)
77
103
  - Firefox (latest)
78
104
  - Safari (latest)