admin-lte 4.0.0-beta3 → 4.0.0-rc3

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 (76) hide show
  1. package/.browserslistrc +9 -4
  2. package/ACCESSIBILITY-COMPLIANCE.md +369 -0
  3. package/CHANGELOG.md +460 -0
  4. package/README.md +50 -7
  5. package/dist/{pages/UI → UI}/general.html +79 -28
  6. package/dist/{pages/UI → UI}/icons.html +76 -25
  7. package/dist/{pages/UI → UI}/timeline.html +80 -29
  8. package/dist/css/adminlte.css +516 -332
  9. package/dist/css/adminlte.css.map +1 -1
  10. package/dist/css/adminlte.min.css +1 -1
  11. package/dist/css/adminlte.min.css.map +1 -1
  12. package/dist/css/adminlte.rtl.css +516 -332
  13. package/dist/css/adminlte.rtl.css.map +1 -1
  14. package/dist/css/adminlte.rtl.min.css +1 -1
  15. package/dist/css/adminlte.rtl.min.css.map +1 -1
  16. package/dist/{pages/docs → docs}/browser-support.html +77 -44
  17. package/dist/{pages/docs → docs}/color-mode.html +82 -50
  18. package/dist/{pages/docs → docs}/components/main-header.html +82 -49
  19. package/dist/{pages/docs → docs}/components/main-sidebar.html +78 -46
  20. package/dist/{pages/docs → docs}/faq.html +76 -42
  21. package/dist/{pages/docs → docs}/how-to-contribute.html +77 -44
  22. package/dist/{pages/docs → docs}/introduction.html +82 -54
  23. package/dist/{pages/docs → docs}/javascript/treeview.html +77 -44
  24. package/dist/{pages/docs → docs}/layout.html +76 -25
  25. package/dist/{pages/docs → docs}/license.html +76 -42
  26. package/dist/{pages/examples → examples}/lockscreen.html +49 -18
  27. package/dist/{pages/examples → examples}/login-v2.html +47 -16
  28. package/dist/{pages/examples → examples}/login.html +47 -16
  29. package/dist/{pages/examples → examples}/register-v2.html +47 -16
  30. package/dist/{pages/examples → examples}/register.html +47 -16
  31. package/dist/{pages/forms → forms}/general.html +76 -25
  32. package/dist/{pages/generate → generate}/theme.html +193 -24
  33. package/dist/{pages/index.html → index.html} +90 -57
  34. package/dist/{pages/index2.html → index2.html} +99 -48
  35. package/dist/{pages/index3.html → index3.html} +80 -29
  36. package/dist/js/adminlte.js +795 -345
  37. package/dist/js/adminlte.js.map +1 -1
  38. package/dist/js/adminlte.min.js +3 -3
  39. package/dist/js/adminlte.min.js.map +1 -1
  40. package/dist/{pages/layout → layout}/collapsed-sidebar.html +75 -24
  41. package/dist/layout/fixed-complete.html +883 -0
  42. package/dist/layout/fixed-footer.html +880 -0
  43. package/dist/layout/fixed-header.html +880 -0
  44. package/dist/{pages/layout → layout}/fixed-sidebar.html +76 -25
  45. package/dist/{pages/layout → layout}/layout-custom-area.html +76 -25
  46. package/dist/{pages/layout → layout}/layout-rtl.html +76 -25
  47. package/dist/{pages/layout → layout}/logo-switch.html +55 -24
  48. package/dist/{pages/layout → layout}/sidebar-mini.html +75 -24
  49. package/dist/{pages/layout → layout}/unfixed-sidebar.html +76 -25
  50. package/dist/{pages/tables → tables}/simple.html +76 -25
  51. package/dist/{pages/widgets → widgets}/cards.html +76 -25
  52. package/dist/{pages/widgets → widgets}/info-box.html +76 -25
  53. package/dist/{pages/widgets → widgets}/small-box.html +76 -25
  54. package/eslint.config.js +82 -0
  55. package/package.json +42 -37
  56. package/src/scss/_accessibility.scss +292 -0
  57. package/src/scss/_app-footer.scss +8 -0
  58. package/src/scss/_app-header.scss +8 -0
  59. package/src/scss/_app-sidebar.scss +12 -0
  60. package/src/scss/_table.scss +1 -9
  61. package/src/scss/_variables.scss +2 -1
  62. package/src/scss/adminlte.scss +3 -0
  63. package/src/ts/accessibility.ts +533 -0
  64. package/src/ts/adminlte.ts +48 -9
  65. package/src/ts/card-widget.ts +1 -2
  66. package/src/ts/push-menu.ts +1 -2
  67. package/src/ts/treeview.ts +13 -2
  68. package/src/ts/util/index.ts +39 -7
  69. package/.astro/content-assets.mjs +0 -1
  70. package/.astro/content-modules.mjs +0 -1
  71. package/.astro/content.d.ts +0 -166
  72. package/.astro/data-store.json +0 -1
  73. package/.astro/settings.json +0 -5
  74. package/.astro/types.d.ts +0 -2
  75. package/adminlte-v4.0.0-beta1-with-dist.zip +0 -0
  76. package/adminlte-v4.0.0-beta3.zip +0 -0
package/package.json CHANGED
@@ -1,14 +1,17 @@
1
1
  {
2
2
  "name": "admin-lte",
3
3
  "description": "Responsive open source admin dashboard and control panel.",
4
- "version": "4.0.0-beta3",
4
+ "version": "4.0.0-rc3",
5
+ "type": "module",
5
6
  "license": "MIT",
6
7
  "author": "Colorlib <https://colorlib.com>",
7
8
  "main": "dist/js/adminlte.min.js",
8
9
  "scripts": {
10
+ "start": "npm run dev",
9
11
  "dev": "npm-run-all --parallel watch docs-serve",
12
+ "build": "npm-run-all clean compile",
10
13
  "css": "npm-run-all css-compile css-prefix css-rtl css-minify",
11
- "css-compile": "sass --style expanded --load-path=\"node_modules\" --source-map --embed-sources --no-error-css src/scss/:dist/css/",
14
+ "css-compile": "sass --style expanded --load-path=\"node_modules\" --source-map --embed-sources --no-error-css --quiet src/scss/:dist/css/",
12
15
  "css-rtl": "cross-env NODE_ENV=RTL postcss --config src/config/postcss.config.mjs --dir \"dist/css\" --ext \".rtl.css\" \"dist/css/*.css\" \"!dist/css/*.min.css\" \"!dist/css/*.rtl.css\"",
13
16
  "css-lint": "stylelint \"src/scss/**/*.scss\" --cache --cache-location .cache/.stylelintcache --rd",
14
17
  "css-minify": "npm-run-all --aggregate-output --parallel css-minify-*",
@@ -17,23 +20,25 @@
17
20
  "css-prefix": "postcss --config src/config/postcss.config.mjs --replace \"dist/css/*.css\" \"!dist/css/*.rtl*.css\" \"!dist/css/*.min.css\"",
18
21
  "js": "npm-run-all js-compile js-minify",
19
22
  "js-compile": "rollup --config src/config/rollup.config.js --sourcemap",
20
- "js-lint": "eslint --cache --cache-location .cache/.eslintcache --report-unused-disable-directives .",
23
+ "js-lint": "eslint --format=stylish .",
21
24
  "js-minify": "terser --compress passes=2 --mangle --comments \"/^!/\" --source-map \"content=dist/js/adminlte.js.map,includeSources,url=adminlte.min.js.map\" --output dist/js/adminlte.min.js dist/js/adminlte.js",
22
25
  "bundlewatch": "bundlewatch --config .bundlewatch.config.json",
23
26
  "lockfile-lint": "lockfile-lint --allowed-hosts npm --allowed-schemes https: --empty-hostname false --type npm --path package-lock.json",
24
- "docs-compile": "astro --config src/config/astro.config.mjs build",
27
+ "docs-compile": "npm run copy-assets && astro --config src/config/astro.config.mjs build",
25
28
  "docs-lint": "astro --config src/config/astro.config.mjs check",
26
- "docs-format": "prettier --write \"dist/pages/**/*.html\"",
27
- "docs-serve": "astro --config src/config/astro.config.mjs dev --open --port 3000",
29
+ "docs-format": "prettier --write \"dist/**/*.html\"",
30
+ "docs-serve": "npm run copy-assets && astro --config src/config/astro.config.mjs dev --open --port 3000",
31
+ "copy-assets": "rimraf src/html/public && mkdir -p src/html/public && cp -r dist/css src/html/public/ && cp -r dist/js src/html/public/ && cp -r dist/assets src/html/public/",
32
+ "flatten-build": "cp -r dist/html/* dist/ && rm -rf dist/html && rm -rf dist/.astro",
28
33
  "assets": "node src/config/assets.config.mjs",
29
34
  "lint": "npm-run-all --aggregate-output --continue-on-error --parallel js-lint css-lint docs-lint lockfile-lint",
30
35
  "clean": "rimraf dist",
31
- "compile": "npm-run-all docs-compile docs-format assets css js",
32
- "production": "npm-run-all clean lint compile",
36
+ "compile": "npm-run-all css js assets copy-assets docs-compile docs-format flatten-build",
37
+ "production": "npm-run-all clean lint compile bundlewatch",
33
38
  "watch": "concurrently \"npm:watch-*\"",
34
- "watch-css-main": "nodemon --watch src/scss/ --ext scss --exec \"npm-run-all css-lint css-compile\"",
39
+ "watch-css-main": "nodemon --watch src/scss/ --ext scss --exec \"npm-run-all css-lint css-compile copy-assets\"",
35
40
  "watch-css-dist": "nodemon --watch dist/css/ --ext css --ignore \"dist/css/*.rtl.*\" --exec \"npm run css-rtl\"",
36
- "watch-js-main": "nodemon --watch src/ts/ --ext ts --exec \"npm-run-all js-lint js-compile\"",
41
+ "watch-js-main": "nodemon --watch src/ts/ --ext ts --exec \"npm-run-all js-lint js-compile copy-assets\"",
37
42
  "watch-assets": "nodemon --watch src/assets/ --exec \"npm run assets\""
38
43
  },
39
44
  "keywords": [
@@ -59,39 +64,39 @@
59
64
  },
60
65
  "devDependencies": {
61
66
  "@astrojs/check": "^0.9.4",
62
- "@astrojs/mdx": "^4.0.1",
63
- "@rollup/plugin-typescript": "^12.1.1",
64
- "@typescript-eslint/eslint-plugin": "^7.5.0",
65
- "@typescript-eslint/parser": "^7.5.0",
66
- "astro": "^5.0.3",
67
- "autoprefixer": "^10.4.20",
68
- "bootstrap": "^5.3.2",
69
- "bundlewatch": "^0.4.0",
67
+ "@astrojs/mdx": "^4.3.0",
68
+ "@rollup/plugin-typescript": "^12.1.3",
69
+ "@typescript-eslint/eslint-plugin": "^8.34.1",
70
+ "@typescript-eslint/parser": "^8.34.1",
71
+ "astro": "^5.10.0",
72
+ "autoprefixer": "^10.4.21",
73
+ "bootstrap": "^5.3.7",
74
+ "bundlewatch": "^0.4.1",
70
75
  "clean-css-cli": "^5.6.3",
71
- "concurrently": "^9.1.0",
76
+ "concurrently": "^9.1.2",
72
77
  "cross-env": "^7.0.3",
73
- "eslint": "^8.55.0",
74
- "eslint-config-xo": "^0.44.0",
75
- "eslint-config-xo-typescript": "^4.0.0",
76
- "eslint-plugin-astro": "^0.34.0",
77
- "eslint-plugin-import": "^2.29.1",
78
- "eslint-plugin-unicorn": "^52.0.0",
79
- "fs-extra": "^11.1.1",
80
- "lockfile-lint": "^4.14.0",
81
- "nodemon": "^3.1.4",
78
+ "eslint": "^9.29.0",
79
+ "eslint-config-xo": "^0.47.0",
80
+ "eslint-config-xo-typescript": "^8.0.1",
81
+ "eslint-plugin-astro": "^1.3.1",
82
+ "eslint-plugin-import": "^2.31.0",
83
+ "eslint-plugin-unicorn": "^59.0.1",
84
+ "fs-extra": "^11.3.0",
85
+ "lockfile-lint": "^4.14.1",
86
+ "nodemon": "^3.1.10",
82
87
  "npm-run-all": "^4.1.5",
83
- "postcss": "^8.4.43",
84
- "postcss-cli": "^11.0.0",
85
- "prettier": "^3.3.3",
88
+ "postcss": "^8.5.6",
89
+ "postcss-cli": "^11.0.1",
90
+ "prettier": "^3.5.3",
86
91
  "prettier-plugin-astro": "^0.14.1",
87
92
  "rimraf": "^6.0.1",
88
- "rollup": "^4.28.1",
93
+ "rollup": "^4.44.0",
89
94
  "rtlcss": "^4.3.0",
90
- "sass": "^1.78.0",
91
- "stylelint": "^16.11.0",
92
- "stylelint-config-twbs-bootstrap": "^15.1.0",
93
- "terser": "^5.31.6",
95
+ "sass": "^1.89.2",
96
+ "stylelint": "^16.21.0",
97
+ "stylelint-config-twbs-bootstrap": "^16.1.0",
98
+ "terser": "^5.43.1",
94
99
  "tslib": "^2.8.1",
95
- "typescript": "^5.6.3"
100
+ "typescript": "^5.8.3"
96
101
  }
97
102
  }
@@ -0,0 +1,292 @@
1
+ /* ==========================================================================
2
+ AdminLTE Accessibility Styles - WCAG 2.1 AA Compliance
3
+ ========================================================================== */
4
+
5
+ /* Skip Links - WCAG 2.4.1: Bypass Blocks */
6
+ .skip-link {
7
+ position: absolute;
8
+ top: -40px;
9
+ left: 6px;
10
+ z-index: 999999;
11
+ padding: 8px 16px;
12
+ font-weight: 600;
13
+ color: var(--bs-white);
14
+ text-decoration: none;
15
+ background: var(--bs-primary);
16
+
17
+ &:focus {
18
+ top: 0;
19
+ outline: 3px solid var(--bs-warning);
20
+ outline-offset: 2px;
21
+ }
22
+
23
+ &:hover {
24
+ color: var(--bs-white);
25
+ text-decoration: none;
26
+ background: var(--bs-primary-emphasis);
27
+ }
28
+ }
29
+
30
+ /* Enhanced Focus Indicators - WCAG 2.4.7: Focus Visible */
31
+ .focus-enhanced {
32
+ &:focus {
33
+ outline: 3px solid var(--bs-focus-ring-color, #0d6efd);
34
+ outline-offset: 2px;
35
+ box-shadow: 0 0 0 .25rem rgba(13, 110, 253, .25);
36
+ }
37
+ }
38
+
39
+ /* High Contrast Mode Support */
40
+ @media (prefers-contrast: high) {
41
+ .card {
42
+ border: 2px solid;
43
+ }
44
+
45
+ .btn {
46
+ border-width: 2px;
47
+ }
48
+
49
+ .nav-link {
50
+ border: 1px solid transparent;
51
+
52
+ &:hover,
53
+ &:focus {
54
+ border-color: currentcolor;
55
+ }
56
+ }
57
+ }
58
+
59
+ /* Reduced Motion Support - WCAG 2.3.3: Animation from Interactions */
60
+ @media (prefers-reduced-motion: reduce) {
61
+ *,
62
+ *::before,
63
+ *::after {
64
+ transition-duration: .01ms !important;
65
+ animation-duration: .01ms !important;
66
+ animation-iteration-count: 1 !important;
67
+ scroll-behavior: auto !important;
68
+ }
69
+
70
+ .fade {
71
+ display: block;
72
+ }
73
+
74
+ .collapse {
75
+ display: block;
76
+ }
77
+ }
78
+
79
+ /* Screen Reader Only Content */
80
+ .sr-only {
81
+ position: absolute !important;
82
+ width: 1px !important;
83
+ height: 1px !important;
84
+ padding: 0 !important;
85
+ margin: -1px !important;
86
+ overflow: hidden !important;
87
+ clip: rect(0, 0, 0, 0) !important;
88
+ white-space: nowrap !important;
89
+ border: 0 !important;
90
+ }
91
+
92
+ .sr-only-focusable:focus {
93
+ position: static !important;
94
+ width: auto !important;
95
+ height: auto !important;
96
+ padding: inherit !important;
97
+ margin: inherit !important;
98
+ overflow: visible !important;
99
+ clip: auto !important;
100
+ white-space: normal !important;
101
+ }
102
+
103
+ /* Focus Trap Utilities */
104
+ .focus-trap {
105
+ &:focus {
106
+ box-shadow: 0 0 0 .25rem rgba(13, 110, 253, .25);
107
+ }
108
+ }
109
+
110
+ /* Accessible Color Combinations - WCAG 1.4.3: Contrast (Minimum) */
111
+ .text-accessible-primary {
112
+ color: #003d82; /* 4.5:1 contrast on white */
113
+ }
114
+
115
+ .text-accessible-success {
116
+ color: #0f5132; /* 4.5:1 contrast on white */
117
+ }
118
+
119
+ .text-accessible-danger {
120
+ color: #842029; /* 4.5:1 contrast on white */
121
+ }
122
+
123
+ .text-accessible-warning {
124
+ color: #664d03; /* 4.5:1 contrast on white */
125
+ }
126
+
127
+ /* ARIA Live Regions */
128
+ .live-region {
129
+ position: absolute;
130
+ left: -10000px;
131
+ width: 1px;
132
+ height: 1px;
133
+ overflow: hidden;
134
+
135
+ &.live-region-visible {
136
+ position: static;
137
+ left: auto;
138
+ width: auto;
139
+ height: auto;
140
+ overflow: visible;
141
+ }
142
+ }
143
+
144
+ /* Enhanced Error States - WCAG 3.3.1: Error Identification */
145
+ .form-control.is-invalid {
146
+ border-color: var(--bs-danger);
147
+
148
+ &:focus {
149
+ border-color: var(--bs-danger);
150
+ box-shadow: 0 0 0 .25rem rgba(220, 53, 69, .25);
151
+ }
152
+ }
153
+
154
+ .invalid-feedback {
155
+ display: block;
156
+ width: 100%;
157
+ margin-top: .25rem;
158
+ font-size: .875em;
159
+ color: var(--bs-danger);
160
+
161
+ &[role="alert"] {
162
+ font-weight: 600;
163
+ }
164
+ }
165
+
166
+ /* Target Size - WCAG 2.5.8: Target Size (Minimum) */
167
+ .touch-target {
168
+ min-width: 44px;
169
+ min-height: 44px;
170
+
171
+ &.touch-target-small {
172
+ min-width: 24px;
173
+ min-height: 24px;
174
+ }
175
+ }
176
+
177
+ /* Table Accessibility */
178
+ .table-accessible {
179
+ th {
180
+ font-weight: 600;
181
+ background-color: var(--bs-secondary-bg);
182
+
183
+ &[scope="col"] {
184
+ border-bottom: 2px solid var(--bs-border-color);
185
+ }
186
+
187
+ &[scope="row"] {
188
+ border-right: 2px solid var(--bs-border-color);
189
+ }
190
+ }
191
+
192
+ caption {
193
+ padding: .75rem;
194
+ font-weight: 600;
195
+ color: var(--bs-secondary);
196
+ text-align: left;
197
+ caption-side: top;
198
+ }
199
+ }
200
+
201
+ /* Navigation Landmarks */
202
+ nav[role="navigation"] {
203
+ &:not([aria-label]):not([aria-labelledby]) {
204
+ &::before {
205
+ position: absolute;
206
+ left: -10000px;
207
+ content: "Navigation";
208
+ }
209
+ }
210
+ }
211
+
212
+ /* Form Fieldset Styling */
213
+ fieldset {
214
+ padding: 1rem;
215
+ margin-bottom: 1rem;
216
+ border: 1px solid var(--bs-border-color);
217
+
218
+ legend {
219
+ padding: 0 .5rem;
220
+ margin-bottom: .5rem;
221
+ font-size: 1.1em;
222
+ font-weight: 600;
223
+ }
224
+ }
225
+
226
+ /* Loading States */
227
+ .loading[aria-busy="true"] {
228
+ position: relative;
229
+ pointer-events: none;
230
+
231
+ &::after {
232
+ position: absolute;
233
+ top: 50%;
234
+ left: 50%;
235
+ width: 20px;
236
+ height: 20px;
237
+ margin-top: -10px;
238
+ margin-left: -10px;
239
+ content: "";
240
+ border: 2px solid var(--bs-primary);
241
+ border-top-color: transparent;
242
+ animation: spin 1s linear infinite;
243
+ }
244
+
245
+ @media (prefers-reduced-motion: reduce) {
246
+ &::after {
247
+ border-top-color: var(--bs-primary);
248
+ animation: none;
249
+ }
250
+ }
251
+ }
252
+
253
+ @keyframes spin {
254
+ to {
255
+ transform: rotate(360deg);
256
+ }
257
+ }
258
+
259
+ /* Dark Mode Accessibility */
260
+ [data-bs-theme="dark"] {
261
+ .text-accessible-primary {
262
+ color: #6ea8fe;
263
+ }
264
+
265
+ .text-accessible-success {
266
+ color: #75b798;
267
+ }
268
+
269
+ .text-accessible-danger {
270
+ color: #f1aeb5;
271
+ }
272
+
273
+ .text-accessible-warning {
274
+ color: #ffda6a;
275
+ }
276
+ }
277
+
278
+ /* Print Accessibility */
279
+ @media print {
280
+ .skip-link,
281
+ .btn,
282
+ .nav-link {
283
+ color: #000 !important;
284
+ background: transparent !important;
285
+ border: 1px solid #000 !important;
286
+ }
287
+
288
+ a[href^="http"]::after {
289
+ font-size: .8em;
290
+ content: " (" attr(href) ")";
291
+ }
292
+ }
@@ -13,3 +13,11 @@
13
13
  border-top: $lte-app-footer-border-top;
14
14
  @include transition($lte-transition-speed $lte-transition-fn);
15
15
  }
16
+
17
+ .fixed-footer {
18
+ .app-footer {
19
+ position: sticky;
20
+ bottom: 0;
21
+ z-index: $lte-zindex-fixed-footer;
22
+ }
23
+ }
@@ -24,3 +24,11 @@
24
24
  font-size: .6rem;
25
25
  font-weight: 400;
26
26
  }
27
+
28
+ .fixed-header {
29
+ .app-header {
30
+ position: sticky;
31
+ top: 0;
32
+ z-index: $lte-zindex-fixed-header;
33
+ }
34
+ }
@@ -199,7 +199,9 @@
199
199
  .nav-link > .nav-badge,
200
200
  .nav-link > p > .nav-badge {
201
201
  position: absolute;
202
+ top: 50%;
202
203
  right: 1rem;
204
+ transform: translateY(-50%);
203
205
  }
204
206
 
205
207
  .nav-link > .nav-arrow,
@@ -211,6 +213,7 @@
211
213
 
212
214
  .nav-link {
213
215
  position: relative;
216
+ width: 100%;
214
217
  @include transition(width $lte-transition-fn $lte-transition-speed);
215
218
  @include border-radius($border-radius);
216
219
 
@@ -248,6 +251,15 @@
248
251
  }
249
252
  }
250
253
  }
254
+
255
+ // Override: ensure badges/arrows are aligned to the end (right in LTR, left in RTL)
256
+ .nav-link > .nav-badge,
257
+ .nav-link > p > .nav-badge,
258
+ .nav-link > .nav-arrow,
259
+ .nav-link > p > .nav-arrow {
260
+ right: 1rem !important; // place at end in LTR
261
+ left: auto !important;
262
+ }
251
263
  }
252
264
 
253
265
  .nav-compact.nav-indent {
@@ -18,15 +18,7 @@
18
18
  box-shadow: inset 0 1px 0 $table-border-color, inset 0 -1px 0 $table-border-color;
19
19
  }
20
20
 
21
- // TODO: add $table-dark
22
- // &.table-dark {
23
- // thead tr {
24
- // &:nth-child(1) th {
25
- // background-color: $table-dark-bg;
26
- // box-shadow: inset 0 1px 0 $table-dark-border-color, inset 0 -1px 0 $table-dark-border-color;
27
- // }
28
- // }
29
- // }
21
+ // Note: Dark table styling for fixed headers is handled by Bootstrap's built-in dark table classes
30
22
  }
31
23
 
32
24
  // no border
@@ -58,6 +58,7 @@ $lte-app-header-bottom-border: $lte-app-header-bottom-border-width solid
58
58
  $lte-app-header-link-padding-y: $navbar-padding-y !default;
59
59
  $lte-app-header-height: ($nav-link-height + ($lte-app-header-link-padding-y * 2)) !default;
60
60
  $lte-app-header-height-compact: ($nav-link-height-compact + ($lte-app-header-link-padding-y * 2)) !default;
61
+ $lte-zindex-fixed-header: $zindex-fixed !default;
61
62
 
62
63
  // APP MAIN
63
64
  // --------------------------------------------------------
@@ -77,7 +78,7 @@ $lte-app-footer-border-top-color: var(--#{$prefix}border-color) !default;
77
78
  $lte-app-footer-border-top: $lte-app-footer-border-top-width solid $lte-app-footer-border-top-color !default;
78
79
  $lte-app-footer-bg: var(--#{$prefix}body-bg) !default;
79
80
  $lte-app-footer-color: var(--#{$prefix}secondary-color) !default;
80
-
81
+ $lte-zindex-fixed-footer: $zindex-fixed !default;
81
82
  // CONTENT BOTTOM AREA
82
83
  // --------------------------------------------------------
83
84
  $lte-app-content-bottom-area-margin-bottom: -$lte-app-main-padding-bottom !default;
@@ -73,3 +73,6 @@
73
73
  @import "parts/extra-components";
74
74
  @import "parts/pages";
75
75
  @import "parts/miscellaneous";
76
+
77
+ // AdminLTE Accessibility Styles - WCAG 2.1 AA Compliance
78
+ @import "accessibility";