admin-lte 4.0.0-rc7 → 4.0.1

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 (104) hide show
  1. package/CHANGELOG.md +69 -0
  2. package/README.md +202 -102
  3. package/dist/UI/general.html +330 -129
  4. package/dist/UI/icons.html +330 -129
  5. package/dist/UI/timeline.html +330 -129
  6. package/dist/css/adminlte.css +2798 -1167
  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 +2798 -1167
  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 +287 -399
  15. package/dist/docs/color-mode.html +268 -384
  16. package/dist/docs/components/main-header.html +264 -376
  17. package/dist/docs/components/main-sidebar.html +279 -391
  18. package/dist/docs/customization.html +1080 -0
  19. package/dist/docs/deployment.html +1145 -0
  20. package/dist/docs/faq.html +883 -411
  21. package/dist/docs/getting-started.html +991 -0
  22. package/dist/docs/how-to-contribute.html +361 -464
  23. package/dist/docs/index.html +16 -0
  24. package/dist/docs/integrations.html +1231 -0
  25. package/dist/docs/introduction.html +479 -448
  26. package/dist/docs/javascript/accessibility.html +387 -493
  27. package/dist/docs/javascript/card-widget.html +472 -452
  28. package/dist/docs/javascript/direct-chat.html +350 -423
  29. package/dist/docs/javascript/fullscreen.html +374 -418
  30. package/dist/docs/javascript/layout.html +371 -438
  31. package/dist/docs/javascript/plugins-overview.html +1144 -0
  32. package/dist/docs/javascript/pushmenu.html +511 -494
  33. package/dist/docs/javascript/treeview.html +492 -402
  34. package/dist/docs/layout-blueprint.html +1087 -0
  35. package/dist/docs/layout.html +313 -417
  36. package/dist/docs/license.html +278 -389
  37. package/dist/docs/migration.html +1149 -0
  38. package/dist/docs/recipes.html +1185 -0
  39. package/dist/docs/rtl.html +957 -0
  40. package/dist/examples/lockscreen.html +91 -1
  41. package/dist/examples/login-v2.html +91 -1
  42. package/dist/examples/login.html +91 -1
  43. package/dist/examples/register-v2.html +91 -1
  44. package/dist/examples/register.html +91 -1
  45. package/dist/forms/elements.html +1405 -0
  46. package/dist/forms/{general.html → layout.html} +401 -489
  47. package/dist/forms/validation.html +1275 -0
  48. package/dist/forms/wizard.html +1410 -0
  49. package/dist/generate/theme.html +160 -4
  50. package/dist/index.html +330 -129
  51. package/dist/index2.html +333 -129
  52. package/dist/index3.html +330 -129
  53. package/dist/js/adminlte.js +8 -5
  54. package/dist/js/adminlte.js.map +1 -1
  55. package/dist/js/adminlte.min.js +2 -2
  56. package/dist/js/adminlte.min.js.map +1 -1
  57. package/dist/layout/collapsed-sidebar-without-hover.html +330 -129
  58. package/dist/layout/collapsed-sidebar.html +330 -129
  59. package/dist/layout/fixed-complete.html +330 -129
  60. package/dist/layout/fixed-footer.html +330 -129
  61. package/dist/layout/fixed-header.html +330 -129
  62. package/dist/layout/fixed-sidebar.html +330 -129
  63. package/dist/layout/layout-custom-area.html +330 -129
  64. package/dist/layout/layout-rtl.html +330 -129
  65. package/dist/layout/logo-switch.html +160 -4
  66. package/dist/layout/sidebar-mini.html +330 -129
  67. package/dist/layout/unfixed-sidebar.html +330 -129
  68. package/dist/mailbox/compose.html +1151 -0
  69. package/dist/mailbox/inbox.html +1509 -0
  70. package/dist/mailbox/read.html +1202 -0
  71. package/dist/pages/404.html +239 -0
  72. package/dist/pages/500.html +227 -0
  73. package/dist/pages/calendar.html +1266 -0
  74. package/dist/pages/chat.html +1427 -0
  75. package/dist/pages/faq.html +1383 -0
  76. package/dist/pages/file-manager.html +1835 -0
  77. package/dist/pages/invoice.html +1199 -0
  78. package/dist/pages/kanban.html +1439 -0
  79. package/dist/pages/maintenance.html +230 -0
  80. package/dist/pages/pricing.html +1279 -0
  81. package/dist/pages/profile.html +1382 -0
  82. package/dist/pages/projects.html +1644 -0
  83. package/dist/pages/settings.html +1387 -0
  84. package/dist/tables/data.html +1319 -0
  85. package/dist/tables/simple.html +330 -129
  86. package/dist/widgets/cards.html +330 -129
  87. package/dist/widgets/info-box.html +330 -129
  88. package/dist/widgets/small-box.html +330 -129
  89. package/github-issue-response.md +40 -0
  90. package/netlify.toml +16 -0
  91. package/package.json +31 -24
  92. package/src/scss/_app-header.scss +27 -0
  93. package/src/scss/_app-sidebar.scss +24 -30
  94. package/src/scss/_bootstrap-variables.scss +11 -4
  95. package/src/scss/_docs.scss +816 -0
  96. package/src/scss/_table.scss +4 -4
  97. package/src/scss/adminlte.scss +4 -1
  98. package/src/ts/accessibility.ts +9 -1
  99. package/src/ts/adminlte.ts +1 -1
  100. package/src/ts/fullscreen.ts +8 -4
  101. package/src/ts/push-menu.ts +66 -5
  102. package/.claude/settings.local.json +0 -37
  103. package/CLAUDE.md +0 -79
  104. package/release.md +0 -75
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "admin-lte",
3
3
  "description": "Responsive open source admin dashboard and control panel.",
4
- "version": "4.0.0-rc7",
4
+ "version": "4.0.1",
5
5
  "type": "module",
6
6
  "license": "MIT",
7
7
  "author": "Colorlib <https://colorlib.com>",
@@ -29,7 +29,7 @@
29
29
  "docs-format": "prettier --write \"dist/**/*.html\"",
30
30
  "docs-serve": "npm run copy-assets && astro --config src/config/astro.config.mjs dev --open --port 3000",
31
31
  "copy-assets": "rimraf src/html/public && shx mkdir -p src/html/public && shx cp -r dist/css dist/js dist/assets src/html/public/",
32
- "flatten-build": "shx cp -r dist/html/* dist/ && shx rm -rf dist/html && shx rm -rf dist/.astro",
32
+ "flatten-build": "shx cp -r dist/html/* dist/ && shx rm -rf dist/html && shx rm -rf dist/.astro && shx mkdir -p dist/docs && shx mv dist/docs.html dist/docs/index.html",
33
33
  "assets": "node src/config/assets.config.mjs",
34
34
  "lint": "npm-run-all --aggregate-output --continue-on-error --parallel js-lint css-lint docs-lint lockfile-lint",
35
35
  "clean": "rimraf dist",
@@ -62,42 +62,49 @@
62
62
  "bugs": {
63
63
  "url": "https://github.com/ColorlibHQ/AdminLTE/issues"
64
64
  },
65
+ "overrides": {
66
+ "axios": "0.32.0",
67
+ "stylelint-config-twbs-bootstrap": {
68
+ "stylelint": "$stylelint"
69
+ },
70
+ "yaml": "^2.9.0"
71
+ },
65
72
  "devDependencies": {
66
- "@astrojs/check": "^0.9.7",
67
- "@astrojs/mdx": "^5.0.0",
73
+ "@astrojs/check": "^0.9.9",
74
+ "@astrojs/mdx": "^6.0.2",
75
+ "@eslint/js": "^10.0.1",
68
76
  "@rollup/plugin-typescript": "^12.3.0",
69
- "@typescript-eslint/eslint-plugin": "^8.57.0",
70
- "@typescript-eslint/parser": "^8.57.0",
71
- "astro": "^6.0.0",
72
- "autoprefixer": "^10.4.27",
77
+ "@typescript-eslint/eslint-plugin": "^8.60.1",
78
+ "@typescript-eslint/parser": "^8.60.1",
79
+ "astro": "^6.4.4",
80
+ "autoprefixer": "^10.5.0",
73
81
  "bootstrap": "^5.3.8",
74
- "bundlewatch": "^0.4.1",
82
+ "bundlewatch": "^0.4.2",
75
83
  "clean-css-cli": "^5.6.3",
76
- "concurrently": "^9.2.1",
84
+ "concurrently": "^10.0.3",
77
85
  "cross-env": "^10.1.0",
78
- "eslint": "^9.39.4",
79
- "eslint-config-xo": "^0.49.0",
80
- "eslint-config-xo-typescript": "^9.0.0",
81
- "eslint-plugin-astro": "^1.6.0",
82
- "eslint-plugin-import": "^2.32.0",
83
- "eslint-plugin-unicorn": "^62.0.0",
84
- "fs-extra": "^11.3.4",
86
+ "eslint": "^10.4.1",
87
+ "eslint-plugin-astro": "^1.7.0",
88
+ "eslint-plugin-unicorn": "^64.0.0",
89
+ "fs-extra": "^11.3.5",
90
+ "globals": "^17.6.0",
85
91
  "lockfile-lint": "^5.0.0",
86
92
  "nodemon": "^3.1.14",
87
93
  "npm-run-all": "^4.1.5",
88
- "postcss": "^8.5.8",
94
+ "postcss": "^8.5.15",
89
95
  "postcss-cli": "^11.0.1",
90
- "prettier": "^3.8.1",
96
+ "prettier": "^3.8.3",
91
97
  "prettier-plugin-astro": "^0.14.1",
92
98
  "rimraf": "^6.1.3",
93
- "rollup": "^4.59.0",
99
+ "rollup": "^4.61.1",
94
100
  "rtlcss": "^4.3.0",
95
- "sass": "^1.97.3",
101
+ "sass": "^1.100.0",
96
102
  "shx": "^0.4.0",
97
- "stylelint": "^16.26.1",
103
+ "stylelint": "^17.12.0",
98
104
  "stylelint-config-twbs-bootstrap": "^16.1.0",
99
- "terser": "^5.46.0",
105
+ "terser": "^5.48.0",
100
106
  "tslib": "^2.8.1",
101
- "typescript": "^5.9.3"
107
+ "typescript": "^6.0.3",
108
+ "typescript-eslint": "^8.60.1"
102
109
  }
103
110
  }
@@ -31,4 +31,31 @@
31
31
  top: 0;
32
32
  z-index: $lte-zindex-fixed-header;
33
33
  }
34
+
35
+ // Fixes #6020: when only `fixed-header` is used (without `layout-fixed`),
36
+ // the sidebar — including its branding — used to scroll with the page
37
+ // because nothing made it sticky. Pin the sidebar so the brand and menu
38
+ // stay visible while the page content scrolls beneath the fixed header.
39
+ // Only applied on `sidebar-expand-*` breakpoints, since the mobile sidebar
40
+ // is an off-canvas overlay that handles its own positioning.
41
+ @each $breakpoint in map-keys($grid-breakpoints) {
42
+ $next: breakpoint-next($breakpoint, $grid-breakpoints);
43
+ $infix: breakpoint-infix($next, $grid-breakpoints);
44
+
45
+ &.sidebar-expand#{$infix} {
46
+ @include media-breakpoint-up($next) {
47
+ .app-sidebar {
48
+ position: sticky;
49
+ top: 0;
50
+ max-height: 100vh;
51
+
52
+ .sidebar-wrapper {
53
+ height: subtract(100vh, add($lte-app-header-height, 1px));
54
+ overflow-x: hidden;
55
+ overflow-y: auto;
56
+ }
57
+ }
58
+ }
59
+ }
60
+ }
34
61
  }
@@ -106,31 +106,31 @@
106
106
 
107
107
  // Sidebar Menu. First level links
108
108
  .sidebar-menu > .nav-item {
109
- &.menu-open {
110
- .nav-link.active:not(:hover) {
111
- --#{$lte-prefix}sidebar-menu-active-bg: transparent;
112
- }
113
- }
114
-
115
109
  // links
116
110
  > .nav-link {
117
- &:active,
111
+ color: var(--#{$lte-prefix}sidebar-color);
112
+
113
+ &:hover,
118
114
  &:focus {
119
- color: var(--#{$lte-prefix}sidebar-color);
115
+ color: var(--#{$lte-prefix}sidebar-hover-color);
116
+ background-color: var(--#{$lte-prefix}sidebar-hover-bg);
120
117
  }
121
- }
122
118
 
123
- > .nav-link.active:not(:hover) {
124
- color: var(--#{$lte-prefix}sidebar-menu-active-color);
125
- background-color: var(--#{$lte-prefix}sidebar-menu-active-bg);
119
+ &.active {
120
+ color: var(--#{$lte-prefix}sidebar-menu-active-color);
121
+ background-color: var(--#{$lte-prefix}sidebar-menu-active-bg);
122
+ }
126
123
  }
127
124
 
128
- // Hover and active states
129
- &.menu-open > .nav-link,
130
- &:hover > .nav-link,
131
- > .nav-link:focus {
125
+ // Open state
126
+ &.menu-open > .nav-link {
132
127
  color: var(--#{$lte-prefix}sidebar-hover-color);
133
128
  background-color: var(--#{$lte-prefix}sidebar-hover-bg);
129
+
130
+ &.active {
131
+ color: var(--#{$lte-prefix}sidebar-menu-active-color);
132
+ background-color: var(--#{$lte-prefix}sidebar-menu-active-bg);
133
+ }
134
134
  }
135
135
 
136
136
  // First Level Submenu
@@ -162,22 +162,14 @@
162
162
  &:hover,
163
163
  &:focus {
164
164
  color: var(--#{$lte-prefix}sidebar-submenu-hover-color);
165
- // background-color: var(--#{$lte-prefix}sidebar-submenu-hover-bg);
165
+ background-color: var(--#{$lte-prefix}sidebar-submenu-hover-bg);
166
166
  }
167
- }
168
167
 
169
- > .nav-link.active {
170
- &,
171
- &:hover,
172
- &:focus {
168
+ &.active {
173
169
  color: var(--#{$lte-prefix}sidebar-submenu-active-color);
174
170
  background-color: var(--#{$lte-prefix}sidebar-submenu-active-bg);
175
171
  }
176
172
  }
177
-
178
- > .nav-link:hover {
179
- background-color: var(--#{$lte-prefix}sidebar-submenu-hover-bg);
180
- }
181
173
  }
182
174
  }
183
175
  }
@@ -241,10 +233,6 @@
241
233
  display: none;
242
234
  padding: 0;
243
235
  list-style: none;
244
-
245
- .nav-indent & {
246
- padding-left: $lte-sidebar-padding-x;
247
- }
248
236
  }
249
237
 
250
238
  .menu-open {
@@ -269,6 +257,12 @@
269
257
  }
270
258
  }
271
259
 
260
+ .nav-indent {
261
+ .nav-treeview {
262
+ padding-left: $lte-sidebar-padding-x;
263
+ }
264
+ }
265
+
272
266
  .nav-compact.nav-indent {
273
267
  .nav-treeview {
274
268
  padding-left: 0;
@@ -1517,6 +1517,8 @@ $modal-dialog-margin-y-sm-up: 1.75rem !default;
1517
1517
 
1518
1518
  $modal-title-line-height: $line-height-base !default;
1519
1519
 
1520
+ // AdminLTE keeps `$modal-content-color: null` so the modal text colour is
1521
+ // inherited from the document. Bootstrap's default is `var(--#{$prefix}body-color)`.
1520
1522
  $modal-content-color: null !default;
1521
1523
  $modal-content-bg: var(--#{$prefix}body-bg) !default;
1522
1524
  $modal-content-border-color: var(--#{$prefix}border-color-translucent) !default;
@@ -1684,12 +1686,16 @@ $carousel-control-next-icon-bg: url("data:image/svg+xml,<svg xmlns='http://
1684
1686
 
1685
1687
  $carousel-transition-duration: .6s !default;
1686
1688
  $carousel-transition: transform $carousel-transition-duration ease-in-out !default; // Define transform transition first if using multiple transitions (e.g., `transform 2s ease, opacity .5s ease-out`)
1689
+ $carousel-control-icon-filter: null !default;
1687
1690
  // scss-docs-end carousel-variables
1688
1691
 
1689
1692
  // scss-docs-start carousel-dark-variables
1690
- $carousel-dark-indicator-active-bg: $black !default;
1691
- $carousel-dark-caption-color: $black !default;
1692
- $carousel-dark-control-icon-filter: invert(1) grayscale(100) !default;
1693
+ // Carousel "dark" variables below have been deprecated in Bootstrap 5.3.4.
1694
+ // Use the `.carousel` colour-mode rules and `$carousel-control-icon-filter`
1695
+ // instead.
1696
+ $carousel-dark-indicator-active-bg: $black !default; // Deprecated in 5.3.4
1697
+ $carousel-dark-caption-color: $black !default; // Deprecated in 5.3.4
1698
+ $carousel-dark-control-icon-filter: invert(1) grayscale(100) !default; // Deprecated in 5.3.4
1693
1699
  // scss-docs-end carousel-dark-variables
1694
1700
 
1695
1701
 
@@ -1722,7 +1728,8 @@ $btn-close-opacity: .5 !default;
1722
1728
  $btn-close-hover-opacity: .75 !default;
1723
1729
  $btn-close-focus-opacity: 1 !default;
1724
1730
  $btn-close-disabled-opacity: .25 !default;
1725
- $btn-close-white-filter: invert(1) grayscale(100%) brightness(200%) !default;
1731
+ $btn-close-filter: null !default;
1732
+ $btn-close-white-filter: invert(1) grayscale(100%) brightness(200%) !default; // Deprecated in 5.3.4. Use `$btn-close-filter` with the `.btn-close` colour-mode rules instead.
1726
1733
  // scss-docs-end close-variables
1727
1734
 
1728
1735