admin-lte 4.0.0-beta3 → 4.0.0-rc2

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 (74) hide show
  1. package/.browserslistrc +9 -4
  2. package/ACCESSIBILITY-COMPLIANCE.md +369 -0
  3. package/CHANGELOG.md +314 -0
  4. package/README.md +43 -7
  5. package/dist/css/adminlte.css +1412 -1264
  6. package/dist/css/adminlte.css.map +1 -1
  7. package/dist/css/adminlte.min.css +1 -1
  8. package/dist/css/adminlte.min.css.map +1 -1
  9. package/dist/css/adminlte.rtl.css +1430 -1256
  10. package/dist/css/adminlte.rtl.css.map +1 -1
  11. package/dist/css/adminlte.rtl.min.css +1 -1
  12. package/dist/css/adminlte.rtl.min.css.map +1 -1
  13. package/dist/js/adminlte.js +786 -345
  14. package/dist/js/adminlte.js.map +1 -1
  15. package/dist/js/adminlte.min.js +3 -3
  16. package/dist/js/adminlte.min.js.map +1 -1
  17. package/dist/pages/UI/general.html +41 -9
  18. package/dist/pages/UI/icons.html +38 -6
  19. package/dist/pages/UI/timeline.html +38 -6
  20. package/dist/pages/docs/browser-support.html +39 -25
  21. package/dist/pages/docs/color-mode.html +44 -31
  22. package/dist/pages/docs/components/main-header.html +39 -25
  23. package/dist/pages/docs/components/main-sidebar.html +40 -27
  24. package/dist/pages/docs/faq.html +38 -23
  25. package/dist/pages/docs/how-to-contribute.html +39 -25
  26. package/dist/pages/docs/introduction.html +44 -35
  27. package/dist/pages/docs/javascript/treeview.html +39 -25
  28. package/dist/pages/docs/layout.html +38 -6
  29. package/dist/pages/docs/license.html +38 -23
  30. package/dist/pages/examples/lockscreen.html +17 -5
  31. package/dist/pages/examples/login-v2.html +16 -4
  32. package/dist/pages/examples/login.html +16 -4
  33. package/dist/pages/examples/register-v2.html +16 -4
  34. package/dist/pages/examples/register.html +16 -4
  35. package/dist/pages/forms/general.html +38 -6
  36. package/dist/pages/generate/theme.html +155 -5
  37. package/dist/pages/index.html +42 -27
  38. package/dist/pages/index2.html +39 -7
  39. package/dist/pages/index3.html +38 -6
  40. package/dist/pages/layout/collapsed-sidebar.html +38 -6
  41. package/dist/pages/layout/fixed-complete.html +862 -0
  42. package/dist/pages/layout/fixed-footer.html +861 -0
  43. package/dist/pages/layout/fixed-header.html +861 -0
  44. package/dist/pages/layout/fixed-sidebar.html +38 -6
  45. package/dist/pages/layout/layout-custom-area.html +38 -6
  46. package/dist/pages/layout/layout-rtl.html +38 -6
  47. package/dist/pages/layout/logo-switch.html +17 -5
  48. package/dist/pages/layout/sidebar-mini.html +38 -6
  49. package/dist/pages/layout/unfixed-sidebar.html +38 -6
  50. package/dist/pages/tables/simple.html +38 -6
  51. package/dist/pages/widgets/cards.html +38 -6
  52. package/dist/pages/widgets/info-box.html +38 -6
  53. package/dist/pages/widgets/small-box.html +38 -6
  54. package/eslint.config.js +81 -0
  55. package/package.json +34 -31
  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/_table.scss +1 -9
  60. package/src/scss/_variables.scss +2 -1
  61. package/src/scss/adminlte.scss +3 -0
  62. package/src/ts/accessibility.ts +533 -0
  63. package/src/ts/adminlte.ts +48 -9
  64. package/src/ts/card-widget.ts +1 -2
  65. package/src/ts/push-menu.ts +1 -2
  66. package/src/ts/util/index.ts +39 -7
  67. package/.astro/content-assets.mjs +0 -1
  68. package/.astro/content-modules.mjs +0 -1
  69. package/.astro/content.d.ts +0 -166
  70. package/.astro/data-store.json +0 -1
  71. package/.astro/settings.json +0 -5
  72. package/.astro/types.d.ts +0 -2
  73. package/adminlte-v4.0.0-beta1-with-dist.zip +0 -0
  74. package/adminlte-v4.0.0-beta3.zip +0 -0
@@ -4,25 +4,37 @@
4
4
  <head>
5
5
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
6
6
  <title>AdminLTE 4 | Widgets - Cards</title>
7
+ <!--begin::Accessibility Meta Tags-->
8
+ <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
9
+ <meta name="color-scheme" content="light dark" />
10
+ <meta name="theme-color" content="#007bff" media="(prefers-color-scheme: light)" />
11
+ <meta name="theme-color" content="#1a1a1a" media="(prefers-color-scheme: dark)" />
12
+ <!--end::Accessibility Meta Tags-->
7
13
  <!--begin::Primary Meta Tags-->
8
- <meta name="viewport" content="width=device-width, initial-scale=1.0" />
9
14
  <meta name="title" content="AdminLTE 4 | Widgets - Cards" />
10
15
  <meta name="author" content="ColorlibHQ" />
11
16
  <meta
12
17
  name="description"
13
- content="AdminLTE is a Free Bootstrap 5 Admin Dashboard, 30 example pages using Vanilla JS."
18
+ content="AdminLTE is a Free Bootstrap 5 Admin Dashboard, 30 example pages using Vanilla JS. Fully accessible with WCAG 2.1 AA compliance."
14
19
  />
15
20
  <meta
16
21
  name="keywords"
17
- content="bootstrap 5, bootstrap, bootstrap 5 admin dashboard, bootstrap 5 dashboard, bootstrap 5 charts, bootstrap 5 calendar, bootstrap 5 datepicker, bootstrap 5 tables, bootstrap 5 datatable, vanilla js datatable, colorlibhq, colorlibhq dashboard, colorlibhq admin dashboard"
22
+ content="bootstrap 5, bootstrap, bootstrap 5 admin dashboard, bootstrap 5 dashboard, bootstrap 5 charts, bootstrap 5 calendar, bootstrap 5 datepicker, bootstrap 5 tables, bootstrap 5 datatable, vanilla js datatable, colorlibhq, colorlibhq dashboard, colorlibhq admin dashboard, accessible admin panel, WCAG compliant"
18
23
  />
19
24
  <!--end::Primary Meta Tags-->
25
+ <!--begin::Accessibility Features-->
26
+ <!-- Skip links will be dynamically added by accessibility.js -->
27
+ <meta name="supported-color-schemes" content="light dark" />
28
+ <link rel="preload" href="../../../dist/css/adminlte.css" as="style" />
29
+ <!--end::Accessibility Features-->
20
30
  <!--begin::Fonts-->
21
31
  <link
22
32
  rel="stylesheet"
23
33
  href="https://cdn.jsdelivr.net/npm/@fontsource/source-sans-3@5.0.12/index.css"
24
34
  integrity="sha256-tXJfXfp6Ewt1ilPzLDtQnJV4hclT9XuaZUKyUvmyr+Q="
25
35
  crossorigin="anonymous"
36
+ media="print"
37
+ onload="this.media='all'"
26
38
  />
27
39
  <!--end::Fonts-->
28
40
  <!--begin::Third Party Plugin(OverlayScrollbars)-->
@@ -276,8 +288,10 @@
276
288
  <ul
277
289
  class="nav sidebar-menu flex-column"
278
290
  data-lte-toggle="treeview"
279
- role="menu"
291
+ role="navigation"
292
+ aria-label="Main navigation"
280
293
  data-accordion="false"
294
+ id="navigation"
281
295
  >
282
296
  <li class="nav-item">
283
297
  <a href="#" class="nav-link">
@@ -365,6 +379,24 @@
365
379
  <p>Fixed Sidebar</p>
366
380
  </a>
367
381
  </li>
382
+ <li class="nav-item">
383
+ <a href="../layout/fixed-header.html" class="nav-link">
384
+ <i class="nav-icon bi bi-circle"></i>
385
+ <p>Fixed Header</p>
386
+ </a>
387
+ </li>
388
+ <li class="nav-item">
389
+ <a href="../layout/fixed-footer.html" class="nav-link">
390
+ <i class="nav-icon bi bi-circle"></i>
391
+ <p>Fixed Footer</p>
392
+ </a>
393
+ </li>
394
+ <li class="nav-item">
395
+ <a href="../layout/fixed-complete.html" class="nav-link">
396
+ <i class="nav-icon bi bi-circle"></i>
397
+ <p>Fixed Complete</p>
398
+ </a>
399
+ </li>
368
400
  <li class="nav-item">
369
401
  <a href="../layout/layout-custom-area.html" class="nav-link">
370
402
  <i class="nav-icon bi bi-circle"></i>
@@ -977,7 +1009,7 @@
977
1009
  <!--end::To the end-->
978
1010
  <!--begin::Copyright-->
979
1011
  <strong>
980
- Copyright &copy; 2014-2024&nbsp;
1012
+ Copyright &copy; 2014-2025&nbsp;
981
1013
  <a href="https://adminlte.io" class="text-decoration-none">AdminLTE.io</a>.
982
1014
  </strong>
983
1015
  All rights reserved.
@@ -1017,7 +1049,7 @@
1017
1049
  };
1018
1050
  document.addEventListener('DOMContentLoaded', function () {
1019
1051
  const sidebarWrapper = document.querySelector(SELECTOR_SIDEBAR_WRAPPER);
1020
- if (sidebarWrapper && typeof OverlayScrollbarsGlobal?.OverlayScrollbars !== 'undefined') {
1052
+ if (sidebarWrapper && OverlayScrollbarsGlobal?.OverlayScrollbars !== undefined) {
1021
1053
  OverlayScrollbarsGlobal.OverlayScrollbars(sidebarWrapper, {
1022
1054
  scrollbars: {
1023
1055
  theme: Default.scrollbarTheme,
@@ -4,25 +4,37 @@
4
4
  <head>
5
5
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
6
6
  <title>AdminLTE 4 | Widgets - Info Box</title>
7
+ <!--begin::Accessibility Meta Tags-->
8
+ <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
9
+ <meta name="color-scheme" content="light dark" />
10
+ <meta name="theme-color" content="#007bff" media="(prefers-color-scheme: light)" />
11
+ <meta name="theme-color" content="#1a1a1a" media="(prefers-color-scheme: dark)" />
12
+ <!--end::Accessibility Meta Tags-->
7
13
  <!--begin::Primary Meta Tags-->
8
- <meta name="viewport" content="width=device-width, initial-scale=1.0" />
9
14
  <meta name="title" content="AdminLTE 4 | Widgets - Info Box" />
10
15
  <meta name="author" content="ColorlibHQ" />
11
16
  <meta
12
17
  name="description"
13
- content="AdminLTE is a Free Bootstrap 5 Admin Dashboard, 30 example pages using Vanilla JS."
18
+ content="AdminLTE is a Free Bootstrap 5 Admin Dashboard, 30 example pages using Vanilla JS. Fully accessible with WCAG 2.1 AA compliance."
14
19
  />
15
20
  <meta
16
21
  name="keywords"
17
- content="bootstrap 5, bootstrap, bootstrap 5 admin dashboard, bootstrap 5 dashboard, bootstrap 5 charts, bootstrap 5 calendar, bootstrap 5 datepicker, bootstrap 5 tables, bootstrap 5 datatable, vanilla js datatable, colorlibhq, colorlibhq dashboard, colorlibhq admin dashboard"
22
+ content="bootstrap 5, bootstrap, bootstrap 5 admin dashboard, bootstrap 5 dashboard, bootstrap 5 charts, bootstrap 5 calendar, bootstrap 5 datepicker, bootstrap 5 tables, bootstrap 5 datatable, vanilla js datatable, colorlibhq, colorlibhq dashboard, colorlibhq admin dashboard, accessible admin panel, WCAG compliant"
18
23
  />
19
24
  <!--end::Primary Meta Tags-->
25
+ <!--begin::Accessibility Features-->
26
+ <!-- Skip links will be dynamically added by accessibility.js -->
27
+ <meta name="supported-color-schemes" content="light dark" />
28
+ <link rel="preload" href="../../../dist/css/adminlte.css" as="style" />
29
+ <!--end::Accessibility Features-->
20
30
  <!--begin::Fonts-->
21
31
  <link
22
32
  rel="stylesheet"
23
33
  href="https://cdn.jsdelivr.net/npm/@fontsource/source-sans-3@5.0.12/index.css"
24
34
  integrity="sha256-tXJfXfp6Ewt1ilPzLDtQnJV4hclT9XuaZUKyUvmyr+Q="
25
35
  crossorigin="anonymous"
36
+ media="print"
37
+ onload="this.media='all'"
26
38
  />
27
39
  <!--end::Fonts-->
28
40
  <!--begin::Third Party Plugin(OverlayScrollbars)-->
@@ -276,8 +288,10 @@
276
288
  <ul
277
289
  class="nav sidebar-menu flex-column"
278
290
  data-lte-toggle="treeview"
279
- role="menu"
291
+ role="navigation"
292
+ aria-label="Main navigation"
280
293
  data-accordion="false"
294
+ id="navigation"
281
295
  >
282
296
  <li class="nav-item">
283
297
  <a href="#" class="nav-link">
@@ -365,6 +379,24 @@
365
379
  <p>Fixed Sidebar</p>
366
380
  </a>
367
381
  </li>
382
+ <li class="nav-item">
383
+ <a href="../layout/fixed-header.html" class="nav-link">
384
+ <i class="nav-icon bi bi-circle"></i>
385
+ <p>Fixed Header</p>
386
+ </a>
387
+ </li>
388
+ <li class="nav-item">
389
+ <a href="../layout/fixed-footer.html" class="nav-link">
390
+ <i class="nav-icon bi bi-circle"></i>
391
+ <p>Fixed Footer</p>
392
+ </a>
393
+ </li>
394
+ <li class="nav-item">
395
+ <a href="../layout/fixed-complete.html" class="nav-link">
396
+ <i class="nav-icon bi bi-circle"></i>
397
+ <p>Fixed Complete</p>
398
+ </a>
399
+ </li>
368
400
  <li class="nav-item">
369
401
  <a href="../layout/layout-custom-area.html" class="nav-link">
370
402
  <i class="nav-icon bi bi-circle"></i>
@@ -995,7 +1027,7 @@
995
1027
  <!--end::To the end-->
996
1028
  <!--begin::Copyright-->
997
1029
  <strong>
998
- Copyright &copy; 2014-2024&nbsp;
1030
+ Copyright &copy; 2014-2025&nbsp;
999
1031
  <a href="https://adminlte.io" class="text-decoration-none">AdminLTE.io</a>.
1000
1032
  </strong>
1001
1033
  All rights reserved.
@@ -1035,7 +1067,7 @@
1035
1067
  };
1036
1068
  document.addEventListener('DOMContentLoaded', function () {
1037
1069
  const sidebarWrapper = document.querySelector(SELECTOR_SIDEBAR_WRAPPER);
1038
- if (sidebarWrapper && typeof OverlayScrollbarsGlobal?.OverlayScrollbars !== 'undefined') {
1070
+ if (sidebarWrapper && OverlayScrollbarsGlobal?.OverlayScrollbars !== undefined) {
1039
1071
  OverlayScrollbarsGlobal.OverlayScrollbars(sidebarWrapper, {
1040
1072
  scrollbars: {
1041
1073
  theme: Default.scrollbarTheme,
@@ -4,25 +4,37 @@
4
4
  <head>
5
5
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
6
6
  <title>AdminLTE 4 | Widgets - Small Box</title>
7
+ <!--begin::Accessibility Meta Tags-->
8
+ <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
9
+ <meta name="color-scheme" content="light dark" />
10
+ <meta name="theme-color" content="#007bff" media="(prefers-color-scheme: light)" />
11
+ <meta name="theme-color" content="#1a1a1a" media="(prefers-color-scheme: dark)" />
12
+ <!--end::Accessibility Meta Tags-->
7
13
  <!--begin::Primary Meta Tags-->
8
- <meta name="viewport" content="width=device-width, initial-scale=1.0" />
9
14
  <meta name="title" content="AdminLTE 4 | Widgets - Small Box" />
10
15
  <meta name="author" content="ColorlibHQ" />
11
16
  <meta
12
17
  name="description"
13
- content="AdminLTE is a Free Bootstrap 5 Admin Dashboard, 30 example pages using Vanilla JS."
18
+ content="AdminLTE is a Free Bootstrap 5 Admin Dashboard, 30 example pages using Vanilla JS. Fully accessible with WCAG 2.1 AA compliance."
14
19
  />
15
20
  <meta
16
21
  name="keywords"
17
- content="bootstrap 5, bootstrap, bootstrap 5 admin dashboard, bootstrap 5 dashboard, bootstrap 5 charts, bootstrap 5 calendar, bootstrap 5 datepicker, bootstrap 5 tables, bootstrap 5 datatable, vanilla js datatable, colorlibhq, colorlibhq dashboard, colorlibhq admin dashboard"
22
+ content="bootstrap 5, bootstrap, bootstrap 5 admin dashboard, bootstrap 5 dashboard, bootstrap 5 charts, bootstrap 5 calendar, bootstrap 5 datepicker, bootstrap 5 tables, bootstrap 5 datatable, vanilla js datatable, colorlibhq, colorlibhq dashboard, colorlibhq admin dashboard, accessible admin panel, WCAG compliant"
18
23
  />
19
24
  <!--end::Primary Meta Tags-->
25
+ <!--begin::Accessibility Features-->
26
+ <!-- Skip links will be dynamically added by accessibility.js -->
27
+ <meta name="supported-color-schemes" content="light dark" />
28
+ <link rel="preload" href="../../../dist/css/adminlte.css" as="style" />
29
+ <!--end::Accessibility Features-->
20
30
  <!--begin::Fonts-->
21
31
  <link
22
32
  rel="stylesheet"
23
33
  href="https://cdn.jsdelivr.net/npm/@fontsource/source-sans-3@5.0.12/index.css"
24
34
  integrity="sha256-tXJfXfp6Ewt1ilPzLDtQnJV4hclT9XuaZUKyUvmyr+Q="
25
35
  crossorigin="anonymous"
36
+ media="print"
37
+ onload="this.media='all'"
26
38
  />
27
39
  <!--end::Fonts-->
28
40
  <!--begin::Third Party Plugin(OverlayScrollbars)-->
@@ -276,8 +288,10 @@
276
288
  <ul
277
289
  class="nav sidebar-menu flex-column"
278
290
  data-lte-toggle="treeview"
279
- role="menu"
291
+ role="navigation"
292
+ aria-label="Main navigation"
280
293
  data-accordion="false"
294
+ id="navigation"
281
295
  >
282
296
  <li class="nav-item">
283
297
  <a href="#" class="nav-link">
@@ -365,6 +379,24 @@
365
379
  <p>Fixed Sidebar</p>
366
380
  </a>
367
381
  </li>
382
+ <li class="nav-item">
383
+ <a href="../layout/fixed-header.html" class="nav-link">
384
+ <i class="nav-icon bi bi-circle"></i>
385
+ <p>Fixed Header</p>
386
+ </a>
387
+ </li>
388
+ <li class="nav-item">
389
+ <a href="../layout/fixed-footer.html" class="nav-link">
390
+ <i class="nav-icon bi bi-circle"></i>
391
+ <p>Fixed Footer</p>
392
+ </a>
393
+ </li>
394
+ <li class="nav-item">
395
+ <a href="../layout/fixed-complete.html" class="nav-link">
396
+ <i class="nav-icon bi bi-circle"></i>
397
+ <p>Fixed Complete</p>
398
+ </a>
399
+ </li>
368
400
  <li class="nav-item">
369
401
  <a href="../layout/layout-custom-area.html" class="nav-link">
370
402
  <i class="nav-icon bi bi-circle"></i>
@@ -857,7 +889,7 @@
857
889
  <!--end::To the end-->
858
890
  <!--begin::Copyright-->
859
891
  <strong>
860
- Copyright &copy; 2014-2024&nbsp;
892
+ Copyright &copy; 2014-2025&nbsp;
861
893
  <a href="https://adminlte.io" class="text-decoration-none">AdminLTE.io</a>.
862
894
  </strong>
863
895
  All rights reserved.
@@ -897,7 +929,7 @@
897
929
  };
898
930
  document.addEventListener('DOMContentLoaded', function () {
899
931
  const sidebarWrapper = document.querySelector(SELECTOR_SIDEBAR_WRAPPER);
900
- if (sidebarWrapper && typeof OverlayScrollbarsGlobal?.OverlayScrollbars !== 'undefined') {
932
+ if (sidebarWrapper && OverlayScrollbarsGlobal?.OverlayScrollbars !== undefined) {
901
933
  OverlayScrollbarsGlobal.OverlayScrollbars(sidebarWrapper, {
902
934
  scrollbars: {
903
935
  theme: Default.scrollbarTheme,
@@ -0,0 +1,81 @@
1
+ import globals from 'globals'
2
+ import pluginJs from '@eslint/js'
3
+ import tseslint from 'typescript-eslint'
4
+ import pluginUnicorn from 'eslint-plugin-unicorn'
5
+ import astroPlugin from 'eslint-plugin-astro'
6
+
7
+ export default [
8
+ {
9
+ ignores: [
10
+ "dist/",
11
+ "node_modules/",
12
+ ".cache/",
13
+ ".astro/",
14
+ "**/*.min.js",
15
+ "**/plugins/",
16
+ "/.temp/",
17
+ "src/html/docs/",
18
+ "docs_html/"
19
+ ]
20
+ },
21
+ ...tseslint.config(
22
+ pluginJs.configs.recommended,
23
+ ...tseslint.configs.recommended
24
+ ),
25
+ {
26
+ ...pluginUnicorn.configs['flat/recommended']
27
+ },
28
+ ...astroPlugin.configs['flat/recommended'],
29
+ {
30
+ files: ['**/*.{js,mjs,cjs,ts,mts,cts,astro}'],
31
+ languageOptions: {
32
+ globals: {
33
+ ...globals.browser,
34
+ ...globals.node
35
+ }
36
+ },
37
+ rules: {
38
+ 'arrow-body-style': 'off',
39
+ 'capitalized-comments': 'off',
40
+ 'comma-dangle': ['error', 'never'],
41
+ 'indent': ['error', 2, { 'MemberExpression': 'off', 'SwitchCase': 1 }],
42
+ 'max-params': ['warn', 5],
43
+ 'multiline-ternary': ['error', 'always-multiline'],
44
+ 'new-cap': 'off',
45
+ 'no-console': 'off',
46
+ 'no-negated-condition': 'off',
47
+ 'object-curly-spacing': ['error', 'always'],
48
+ 'operator-linebreak': ['error', 'after'],
49
+ 'no-unused-vars': 'warn',
50
+ 'no-new': 'off',
51
+ 'semi': 'off',
52
+ 'unicorn/explicit-length-check': 'off',
53
+ 'unicorn/no-array-callback-reference': 'off',
54
+ 'unicorn/no-array-for-each': 'off',
55
+ 'unicorn/no-array-method-this-argument': 'off',
56
+ 'unicorn/no-null': 'off',
57
+ 'unicorn/no-unused-properties': 'off',
58
+ 'unicorn/prefer-array-flat': 'off',
59
+ 'unicorn/prefer-dom-node-dataset': 'off',
60
+ 'unicorn/prefer-export-from': 'off',
61
+ 'unicorn/prefer-module': 'off',
62
+ 'unicorn/prefer-query-selector': 'off',
63
+ 'unicorn/prefer-spread': 'off',
64
+ 'unicorn/prefer-string-replace-all': 'off',
65
+ 'unicorn/prevent-abbreviations': 'off',
66
+ 'astro/no-set-html-directive': 'off'
67
+ }
68
+ },
69
+ {
70
+ files: ['src/config/**'],
71
+ languageOptions: {
72
+ globals: {
73
+ ...globals.node
74
+ }
75
+ },
76
+ rules: {
77
+ 'no-console': 'off',
78
+ 'unicorn/prefer-top-level-await': 'off'
79
+ }
80
+ }
81
+ ]
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-rc2",
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,7 +20,7 @@
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",
@@ -29,7 +32,7 @@
29
32
  "lint": "npm-run-all --aggregate-output --continue-on-error --parallel js-lint css-lint docs-lint lockfile-lint",
30
33
  "clean": "rimraf dist",
31
34
  "compile": "npm-run-all docs-compile docs-format assets css js",
32
- "production": "npm-run-all clean lint compile",
35
+ "production": "npm-run-all clean lint compile bundlewatch",
33
36
  "watch": "concurrently \"npm:watch-*\"",
34
37
  "watch-css-main": "nodemon --watch src/scss/ --ext scss --exec \"npm-run-all css-lint css-compile\"",
35
38
  "watch-css-dist": "nodemon --watch dist/css/ --ext css --ignore \"dist/css/*.rtl.*\" --exec \"npm run css-rtl\"",
@@ -59,39 +62,39 @@
59
62
  },
60
63
  "devDependencies": {
61
64
  "@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",
65
+ "@astrojs/mdx": "^4.3.0",
66
+ "@rollup/plugin-typescript": "^12.1.3",
67
+ "@typescript-eslint/eslint-plugin": "^8.34.1",
68
+ "@typescript-eslint/parser": "^8.34.1",
69
+ "astro": "^5.10.0",
70
+ "autoprefixer": "^10.4.21",
71
+ "bootstrap": "^5.3.7",
72
+ "bundlewatch": "^0.4.1",
70
73
  "clean-css-cli": "^5.6.3",
71
- "concurrently": "^9.1.0",
74
+ "concurrently": "^9.1.2",
72
75
  "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",
76
+ "eslint": "^9.29.0",
77
+ "eslint-config-xo": "^0.47.0",
78
+ "eslint-config-xo-typescript": "^8.0.1",
79
+ "eslint-plugin-astro": "^1.3.1",
80
+ "eslint-plugin-import": "^2.31.0",
81
+ "eslint-plugin-unicorn": "^59.0.1",
82
+ "fs-extra": "^11.3.0",
83
+ "lockfile-lint": "^4.14.1",
84
+ "nodemon": "^3.1.10",
82
85
  "npm-run-all": "^4.1.5",
83
- "postcss": "^8.4.43",
84
- "postcss-cli": "^11.0.0",
85
- "prettier": "^3.3.3",
86
+ "postcss": "^8.5.6",
87
+ "postcss-cli": "^11.0.1",
88
+ "prettier": "^3.5.3",
86
89
  "prettier-plugin-astro": "^0.14.1",
87
90
  "rimraf": "^6.0.1",
88
- "rollup": "^4.28.1",
91
+ "rollup": "^4.44.0",
89
92
  "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",
93
+ "sass": "^1.89.2",
94
+ "stylelint": "^16.21.0",
95
+ "stylelint-config-twbs-bootstrap": "^16.1.0",
96
+ "terser": "^5.43.1",
94
97
  "tslib": "^2.8.1",
95
- "typescript": "^5.6.3"
98
+ "typescript": "^5.8.3"
96
99
  }
97
100
  }