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.
- package/.browserslistrc +9 -4
- package/ACCESSIBILITY-COMPLIANCE.md +369 -0
- package/CHANGELOG.md +460 -0
- package/README.md +50 -7
- package/dist/{pages/UI → UI}/general.html +79 -28
- package/dist/{pages/UI → UI}/icons.html +76 -25
- package/dist/{pages/UI → UI}/timeline.html +80 -29
- package/dist/css/adminlte.css +516 -332
- package/dist/css/adminlte.css.map +1 -1
- package/dist/css/adminlte.min.css +1 -1
- package/dist/css/adminlte.min.css.map +1 -1
- package/dist/css/adminlte.rtl.css +516 -332
- package/dist/css/adminlte.rtl.css.map +1 -1
- package/dist/css/adminlte.rtl.min.css +1 -1
- package/dist/css/adminlte.rtl.min.css.map +1 -1
- package/dist/{pages/docs → docs}/browser-support.html +77 -44
- package/dist/{pages/docs → docs}/color-mode.html +82 -50
- package/dist/{pages/docs → docs}/components/main-header.html +82 -49
- package/dist/{pages/docs → docs}/components/main-sidebar.html +78 -46
- package/dist/{pages/docs → docs}/faq.html +76 -42
- package/dist/{pages/docs → docs}/how-to-contribute.html +77 -44
- package/dist/{pages/docs → docs}/introduction.html +82 -54
- package/dist/{pages/docs → docs}/javascript/treeview.html +77 -44
- package/dist/{pages/docs → docs}/layout.html +76 -25
- package/dist/{pages/docs → docs}/license.html +76 -42
- package/dist/{pages/examples → examples}/lockscreen.html +49 -18
- package/dist/{pages/examples → examples}/login-v2.html +47 -16
- package/dist/{pages/examples → examples}/login.html +47 -16
- package/dist/{pages/examples → examples}/register-v2.html +47 -16
- package/dist/{pages/examples → examples}/register.html +47 -16
- package/dist/{pages/forms → forms}/general.html +76 -25
- package/dist/{pages/generate → generate}/theme.html +193 -24
- package/dist/{pages/index.html → index.html} +90 -57
- package/dist/{pages/index2.html → index2.html} +99 -48
- package/dist/{pages/index3.html → index3.html} +80 -29
- package/dist/js/adminlte.js +795 -345
- package/dist/js/adminlte.js.map +1 -1
- package/dist/js/adminlte.min.js +3 -3
- package/dist/js/adminlte.min.js.map +1 -1
- package/dist/{pages/layout → layout}/collapsed-sidebar.html +75 -24
- package/dist/layout/fixed-complete.html +883 -0
- package/dist/layout/fixed-footer.html +880 -0
- package/dist/layout/fixed-header.html +880 -0
- package/dist/{pages/layout → layout}/fixed-sidebar.html +76 -25
- package/dist/{pages/layout → layout}/layout-custom-area.html +76 -25
- package/dist/{pages/layout → layout}/layout-rtl.html +76 -25
- package/dist/{pages/layout → layout}/logo-switch.html +55 -24
- package/dist/{pages/layout → layout}/sidebar-mini.html +75 -24
- package/dist/{pages/layout → layout}/unfixed-sidebar.html +76 -25
- package/dist/{pages/tables → tables}/simple.html +76 -25
- package/dist/{pages/widgets → widgets}/cards.html +76 -25
- package/dist/{pages/widgets → widgets}/info-box.html +76 -25
- package/dist/{pages/widgets → widgets}/small-box.html +76 -25
- package/eslint.config.js +82 -0
- package/package.json +42 -37
- package/src/scss/_accessibility.scss +292 -0
- package/src/scss/_app-footer.scss +8 -0
- package/src/scss/_app-header.scss +8 -0
- package/src/scss/_app-sidebar.scss +12 -0
- package/src/scss/_table.scss +1 -9
- package/src/scss/_variables.scss +2 -1
- package/src/scss/adminlte.scss +3 -0
- package/src/ts/accessibility.ts +533 -0
- package/src/ts/adminlte.ts +48 -9
- package/src/ts/card-widget.ts +1 -2
- package/src/ts/push-menu.ts +1 -2
- package/src/ts/treeview.ts +13 -2
- package/src/ts/util/index.ts +39 -7
- package/.astro/content-assets.mjs +0 -1
- package/.astro/content-modules.mjs +0 -1
- package/.astro/content.d.ts +0 -166
- package/.astro/data-store.json +0 -1
- package/.astro/settings.json +0 -5
- package/.astro/types.d.ts +0 -2
- package/adminlte-v4.0.0-beta1-with-dist.zip +0 -0
- package/adminlte-v4.0.0-beta3.zip +0 -0
|
@@ -4,67 +4,60 @@
|
|
|
4
4
|
<head>
|
|
5
5
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
|
6
6
|
<title>Introduction | AdminLTE 4</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="Introduction | AdminLTE 4" />
|
|
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="../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)-->
|
|
29
41
|
<link
|
|
30
42
|
rel="stylesheet"
|
|
31
|
-
href="https://cdn.jsdelivr.net/npm/overlayscrollbars@2.
|
|
32
|
-
integrity="sha256-tZHrRjVqNSRyWg2wbppGnT833E/Ys0DHWGwT04GiqQg="
|
|
43
|
+
href="https://cdn.jsdelivr.net/npm/overlayscrollbars@2.11.0/styles/overlayscrollbars.min.css"
|
|
33
44
|
crossorigin="anonymous"
|
|
34
45
|
/>
|
|
35
46
|
<!--end::Third Party Plugin(OverlayScrollbars)-->
|
|
36
47
|
<!--begin::Third Party Plugin(Bootstrap Icons)-->
|
|
37
48
|
<link
|
|
38
49
|
rel="stylesheet"
|
|
39
|
-
href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.
|
|
40
|
-
integrity="sha256-9kPW/n5nn53j4WMRYAxe9c1rCY96Oogo/MKSVdKzPmI="
|
|
50
|
+
href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.13.1/font/bootstrap-icons.min.css"
|
|
41
51
|
crossorigin="anonymous"
|
|
42
52
|
/>
|
|
43
53
|
<!--end::Third Party Plugin(Bootstrap Icons)-->
|
|
44
54
|
<!--begin::Required Plugin(AdminLTE)-->
|
|
45
|
-
<link rel="stylesheet" href="
|
|
55
|
+
<link rel="stylesheet" href="../css/adminlte.css" />
|
|
46
56
|
<!--end::Required Plugin(AdminLTE)-->
|
|
47
|
-
<style>
|
|
48
|
-
[data-astro-image] {
|
|
49
|
-
width: 100%;
|
|
50
|
-
height: auto;
|
|
51
|
-
object-fit: var(--fit);
|
|
52
|
-
object-position: var(--pos);
|
|
53
|
-
aspect-ratio: var(--w) / var(--h);
|
|
54
|
-
}
|
|
55
|
-
[data-astro-image='responsive'] {
|
|
56
|
-
max-width: calc(var(--w) * 1px);
|
|
57
|
-
max-height: calc(var(--h) * 1px);
|
|
58
|
-
}
|
|
59
|
-
[data-astro-image='fixed'] {
|
|
60
|
-
width: calc(var(--w) * 1px);
|
|
61
|
-
height: calc(var(--h) * 1px);
|
|
62
|
-
}
|
|
63
|
-
</style>
|
|
64
57
|
</head>
|
|
65
58
|
<!--end::Head-->
|
|
66
59
|
<!--begin::Body-->
|
|
67
|
-
<body class="layout-fixed sidebar-expand-lg bg-body-tertiary">
|
|
60
|
+
<body class="layout-fixed sidebar-expand-lg sidebar-open bg-body-tertiary">
|
|
68
61
|
<!--begin::App Wrapper-->
|
|
69
62
|
<div class="app-wrapper">
|
|
70
63
|
<!--begin::Header-->
|
|
@@ -103,7 +96,7 @@
|
|
|
103
96
|
<div class="d-flex">
|
|
104
97
|
<div class="flex-shrink-0">
|
|
105
98
|
<img
|
|
106
|
-
src="
|
|
99
|
+
src="/assets/img/user1-128x128.jpg"
|
|
107
100
|
alt="User Avatar"
|
|
108
101
|
class="img-size-50 rounded-circle me-3"
|
|
109
102
|
/>
|
|
@@ -129,7 +122,7 @@
|
|
|
129
122
|
<div class="d-flex">
|
|
130
123
|
<div class="flex-shrink-0">
|
|
131
124
|
<img
|
|
132
|
-
src="
|
|
125
|
+
src="/assets/img/user8-128x128.jpg"
|
|
133
126
|
alt="User Avatar"
|
|
134
127
|
class="img-size-50 rounded-circle me-3"
|
|
135
128
|
/>
|
|
@@ -155,7 +148,7 @@
|
|
|
155
148
|
<div class="d-flex">
|
|
156
149
|
<div class="flex-shrink-0">
|
|
157
150
|
<img
|
|
158
|
-
src="
|
|
151
|
+
src="/assets/img/user3-128x128.jpg"
|
|
159
152
|
alt="User Avatar"
|
|
160
153
|
class="img-size-50 rounded-circle me-3"
|
|
161
154
|
/>
|
|
@@ -220,7 +213,7 @@
|
|
|
220
213
|
<li class="nav-item dropdown user-menu">
|
|
221
214
|
<a href="#" class="nav-link dropdown-toggle" data-bs-toggle="dropdown">
|
|
222
215
|
<img
|
|
223
|
-
src="
|
|
216
|
+
src="/assets/img/user2-160x160.jpg"
|
|
224
217
|
class="user-image rounded-circle shadow"
|
|
225
218
|
alt="User Image"
|
|
226
219
|
/>
|
|
@@ -230,7 +223,7 @@
|
|
|
230
223
|
<!--begin::User Image-->
|
|
231
224
|
<li class="user-header text-bg-primary">
|
|
232
225
|
<img
|
|
233
|
-
src="
|
|
226
|
+
src="/assets/img/user2-160x160.jpg"
|
|
234
227
|
class="rounded-circle shadow"
|
|
235
228
|
alt="User Image"
|
|
236
229
|
/>
|
|
@@ -274,7 +267,7 @@
|
|
|
274
267
|
<a href="../index.html" class="brand-link">
|
|
275
268
|
<!--begin::Brand Image-->
|
|
276
269
|
<img
|
|
277
|
-
src="
|
|
270
|
+
src="/assets/img/AdminLTELogo.png"
|
|
278
271
|
alt="AdminLTE Logo"
|
|
279
272
|
class="brand-image opacity-75 shadow"
|
|
280
273
|
/>
|
|
@@ -293,8 +286,10 @@
|
|
|
293
286
|
<ul
|
|
294
287
|
class="nav sidebar-menu flex-column"
|
|
295
288
|
data-lte-toggle="treeview"
|
|
296
|
-
role="
|
|
289
|
+
role="navigation"
|
|
290
|
+
aria-label="Main navigation"
|
|
297
291
|
data-accordion="false"
|
|
292
|
+
id="navigation"
|
|
298
293
|
>
|
|
299
294
|
<li class="nav-item">
|
|
300
295
|
<a href="#" class="nav-link">
|
|
@@ -382,6 +377,24 @@
|
|
|
382
377
|
<p>Fixed Sidebar</p>
|
|
383
378
|
</a>
|
|
384
379
|
</li>
|
|
380
|
+
<li class="nav-item">
|
|
381
|
+
<a href="../layout/fixed-header.html" class="nav-link">
|
|
382
|
+
<i class="nav-icon bi bi-circle"></i>
|
|
383
|
+
<p>Fixed Header</p>
|
|
384
|
+
</a>
|
|
385
|
+
</li>
|
|
386
|
+
<li class="nav-item">
|
|
387
|
+
<a href="../layout/fixed-footer.html" class="nav-link">
|
|
388
|
+
<i class="nav-icon bi bi-circle"></i>
|
|
389
|
+
<p>Fixed Footer</p>
|
|
390
|
+
</a>
|
|
391
|
+
</li>
|
|
392
|
+
<li class="nav-item">
|
|
393
|
+
<a href="../layout/fixed-complete.html" class="nav-link">
|
|
394
|
+
<i class="nav-icon bi bi-circle"></i>
|
|
395
|
+
<p>Fixed Complete</p>
|
|
396
|
+
</a>
|
|
397
|
+
</li>
|
|
385
398
|
<li class="nav-item">
|
|
386
399
|
<a href="../layout/layout-custom-area.html" class="nav-link">
|
|
387
400
|
<i class="nav-icon bi bi-circle"></i>
|
|
@@ -772,8 +785,7 @@
|
|
|
772
785
|
><code><span class="line"><span style="color:#808080"><</span><span style="color:#569CD6">script</span></span>
|
|
773
786
|
<span class="line"><span style="color:#9CDCFE"> src</span><span style="color:#D4D4D4">=</span><span style="color:#CE9178">"https://cdn.jsdelivr.net/npm/admin-lte@4.0.0-beta3/dist/js/adminlte.min.js"</span></span>
|
|
774
787
|
<span class="line"><span style="color:#9CDCFE"> crossorigin</span><span style="color:#D4D4D4">=</span><span style="color:#CE9178">"anonymous"</span></span>
|
|
775
|
-
<span class="line"><span style="color:#808080">></</span><span style="color:#569CD6">script</span><span style="color:#808080">></span></span>
|
|
776
|
-
<span class="line"></span></code></pre>
|
|
788
|
+
<span class="line"><span style="color:#808080">></</span><span style="color:#569CD6">script</span><span style="color:#808080">></span></span></code></pre>
|
|
777
789
|
<pre
|
|
778
790
|
class="astro-code dark-plus"
|
|
779
791
|
style="background-color: #1e1e1e; color: #d4d4d4; overflow-x: auto"
|
|
@@ -783,8 +795,7 @@
|
|
|
783
795
|
<span class="line"><span style="color:#9CDCFE"> rel</span><span style="color:#D4D4D4">=</span><span style="color:#CE9178">"stylesheet"</span></span>
|
|
784
796
|
<span class="line"><span style="color:#9CDCFE"> href</span><span style="color:#D4D4D4">=</span><span style="color:#CE9178">"https://cdn.jsdelivr.net/npm/admin-lte@4.0.0-beta3/dist/css/adminlte.min.css"</span></span>
|
|
785
797
|
<span class="line"><span style="color:#9CDCFE"> crossorigin</span><span style="color:#D4D4D4">=</span><span style="color:#CE9178">"anonymous"</span></span>
|
|
786
|
-
<span class="line"><span style="color:#808080">/></span></span>
|
|
787
|
-
<span class="line"></span></code></pre>
|
|
798
|
+
<span class="line"><span style="color:#808080">/></span></span></code></pre>
|
|
788
799
|
<h3 id="using-the-command-line">Using The Command Line:</h3>
|
|
789
800
|
<p>
|
|
790
801
|
<em
|
|
@@ -798,32 +809,28 @@
|
|
|
798
809
|
style="background-color: #1e1e1e; color: #d4d4d4; overflow-x: auto"
|
|
799
810
|
tabindex="0"
|
|
800
811
|
data-language="bash"
|
|
801
|
-
><code><span class="line"><span style="color:#DCDCAA">npm</span><span style="color:#CE9178"> install</span><span style="color:#CE9178"> admin-lte@4.0.0-beta3</span><span style="color:#569CD6"> --save</span></span>
|
|
802
|
-
<span class="line"></span></code></pre>
|
|
812
|
+
><code><span class="line"><span style="color:#DCDCAA">npm</span><span style="color:#CE9178"> install</span><span style="color:#CE9178"> admin-lte@4.0.0-beta3</span><span style="color:#569CD6"> --save</span></span></code></pre>
|
|
803
813
|
<h4 id="via-yarn">Via Yarn</h4>
|
|
804
814
|
<pre
|
|
805
815
|
class="astro-code dark-plus"
|
|
806
816
|
style="background-color: #1e1e1e; color: #d4d4d4; overflow-x: auto"
|
|
807
817
|
tabindex="0"
|
|
808
818
|
data-language="bash"
|
|
809
|
-
><code><span class="line"><span style="color:#DCDCAA">yarn</span><span style="color:#CE9178"> add</span><span style="color:#CE9178"> admin-lte@4.0.0-beta3</span></span>
|
|
810
|
-
<span class="line"></span></code></pre>
|
|
819
|
+
><code><span class="line"><span style="color:#DCDCAA">yarn</span><span style="color:#CE9178"> add</span><span style="color:#CE9178"> admin-lte@4.0.0-beta3</span></span></code></pre>
|
|
811
820
|
<h4 id="via-composer">Via Composer</h4>
|
|
812
821
|
<pre
|
|
813
822
|
class="astro-code dark-plus"
|
|
814
823
|
style="background-color: #1e1e1e; color: #d4d4d4; overflow-x: auto"
|
|
815
824
|
tabindex="0"
|
|
816
825
|
data-language="bash"
|
|
817
|
-
><code><span class="line"><span style="color:#DCDCAA">composer</span><span style="color:#CE9178"> require</span><span style="color:#CE9178"> "almasaeed2010/adminlte=4.0.0-beta3"</span></span>
|
|
818
|
-
<span class="line"></span></code></pre>
|
|
826
|
+
><code><span class="line"><span style="color:#DCDCAA">composer</span><span style="color:#CE9178"> require</span><span style="color:#CE9178"> "almasaeed2010/adminlte=4.0.0-beta3"</span></span></code></pre>
|
|
819
827
|
<h4 id="via-git">Via Git</h4>
|
|
820
828
|
<pre
|
|
821
829
|
class="astro-code dark-plus"
|
|
822
830
|
style="background-color: #1e1e1e; color: #d4d4d4; overflow-x: auto"
|
|
823
831
|
tabindex="0"
|
|
824
832
|
data-language="bash"
|
|
825
|
-
><code><span class="line"><span style="color:#DCDCAA">git</span><span style="color:#CE9178"> clone</span><span style="color:#CE9178"> https://github.com/ColorlibHQ/AdminLTE.git</span></span>
|
|
826
|
-
<span class="line"></span></code></pre>
|
|
833
|
+
><code><span class="line"><span style="color:#DCDCAA">git</span><span style="color:#CE9178"> clone</span><span style="color:#CE9178"> https://github.com/ColorlibHQ/AdminLTE.git</span></span></code></pre>
|
|
827
834
|
</div>
|
|
828
835
|
<!--end::Container-->
|
|
829
836
|
</div>
|
|
@@ -837,7 +844,7 @@
|
|
|
837
844
|
<!--end::To the end-->
|
|
838
845
|
<!--begin::Copyright-->
|
|
839
846
|
<strong>
|
|
840
|
-
Copyright © 2014-
|
|
847
|
+
Copyright © 2014-2025
|
|
841
848
|
<a href="https://adminlte.io" class="text-decoration-none">AdminLTE.io</a>.
|
|
842
849
|
</strong>
|
|
843
850
|
All rights reserved.
|
|
@@ -849,24 +856,21 @@
|
|
|
849
856
|
<!--begin::Script-->
|
|
850
857
|
<!--begin::Third Party Plugin(OverlayScrollbars)-->
|
|
851
858
|
<script
|
|
852
|
-
src="https://cdn.jsdelivr.net/npm/overlayscrollbars@2.
|
|
853
|
-
integrity="sha256-dghWARbRe2eLlIJ56wNB+b760ywulqK3DzZYEpsg2fQ="
|
|
859
|
+
src="https://cdn.jsdelivr.net/npm/overlayscrollbars@2.11.0/browser/overlayscrollbars.browser.es6.min.js"
|
|
854
860
|
crossorigin="anonymous"
|
|
855
861
|
></script>
|
|
856
862
|
<!--end::Third Party Plugin(OverlayScrollbars)--><!--begin::Required Plugin(popperjs for Bootstrap 5)-->
|
|
857
863
|
<script
|
|
858
864
|
src="https://cdn.jsdelivr.net/npm/@popperjs/core@2.11.8/dist/umd/popper.min.js"
|
|
859
|
-
integrity="sha384-I7E8VVD/ismYTF4hNIPjVp/Zjvgyol6VFvRkX/vR+Vc4jQkC+hVqc2pM8ODewa9r"
|
|
860
865
|
crossorigin="anonymous"
|
|
861
866
|
></script>
|
|
862
867
|
<!--end::Required Plugin(popperjs for Bootstrap 5)--><!--begin::Required Plugin(Bootstrap 5)-->
|
|
863
868
|
<script
|
|
864
|
-
src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.
|
|
865
|
-
integrity="sha384-0pUGZvbkm6XF6gxjEnlmuGrJXVbNuzT9qBBavbLwCsOGabYfZo0T0to5eqruptLy"
|
|
869
|
+
src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.7/dist/js/bootstrap.min.js"
|
|
866
870
|
crossorigin="anonymous"
|
|
867
871
|
></script>
|
|
868
872
|
<!--end::Required Plugin(Bootstrap 5)--><!--begin::Required Plugin(AdminLTE)-->
|
|
869
|
-
<script src="
|
|
873
|
+
<script src="../js/adminlte.js"></script>
|
|
870
874
|
<!--end::Required Plugin(AdminLTE)--><!--begin::OverlayScrollbars Configure-->
|
|
871
875
|
<script>
|
|
872
876
|
const SELECTOR_SIDEBAR_WRAPPER = '.sidebar-wrapper';
|
|
@@ -877,7 +881,7 @@
|
|
|
877
881
|
};
|
|
878
882
|
document.addEventListener('DOMContentLoaded', function () {
|
|
879
883
|
const sidebarWrapper = document.querySelector(SELECTOR_SIDEBAR_WRAPPER);
|
|
880
|
-
if (sidebarWrapper &&
|
|
884
|
+
if (sidebarWrapper && OverlayScrollbarsGlobal?.OverlayScrollbars !== undefined) {
|
|
881
885
|
OverlayScrollbarsGlobal.OverlayScrollbars(sidebarWrapper, {
|
|
882
886
|
scrollbars: {
|
|
883
887
|
theme: Default.scrollbarTheme,
|
|
@@ -888,7 +892,31 @@
|
|
|
888
892
|
}
|
|
889
893
|
});
|
|
890
894
|
</script>
|
|
891
|
-
<!--end::OverlayScrollbars Configure-->
|
|
895
|
+
<!--end::OverlayScrollbars Configure--><!-- Image path runtime fix -->
|
|
896
|
+
<script>
|
|
897
|
+
document.addEventListener('DOMContentLoaded', () => {
|
|
898
|
+
// Find the link tag for the main AdminLTE CSS file.
|
|
899
|
+
const cssLink = document.querySelector('link[href*="css/adminlte.css"]');
|
|
900
|
+
if (!cssLink) {
|
|
901
|
+
return; // Exit if the link isn't found
|
|
902
|
+
}
|
|
903
|
+
|
|
904
|
+
// Extract the base path from the CSS href.
|
|
905
|
+
// e.g., from "../css/adminlte.css", we get "../"
|
|
906
|
+
// e.g., from "./css/adminlte.css", we get "./"
|
|
907
|
+
const cssHref = cssLink.getAttribute('href');
|
|
908
|
+
const deploymentPath = cssHref.slice(0, cssHref.indexOf('css/adminlte.css'));
|
|
909
|
+
|
|
910
|
+
// Find all images with absolute paths and fix them.
|
|
911
|
+
document.querySelectorAll('img[src^="/assets/"]').forEach((img) => {
|
|
912
|
+
const originalSrc = img.getAttribute('src');
|
|
913
|
+
if (originalSrc) {
|
|
914
|
+
const relativeSrc = originalSrc.slice(1); // Remove leading '/'
|
|
915
|
+
img.src = deploymentPath + relativeSrc;
|
|
916
|
+
}
|
|
917
|
+
});
|
|
918
|
+
});
|
|
919
|
+
</script>
|
|
892
920
|
<!--end::Script-->
|
|
893
921
|
</body>
|
|
894
922
|
<!--end::Body-->
|
|
@@ -4,67 +4,60 @@
|
|
|
4
4
|
<head>
|
|
5
5
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
|
6
6
|
<title>Treeview Plugin | AdminLTE 4</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="Treeview Plugin | AdminLTE 4" />
|
|
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="../../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)-->
|
|
29
41
|
<link
|
|
30
42
|
rel="stylesheet"
|
|
31
|
-
href="https://cdn.jsdelivr.net/npm/overlayscrollbars@2.
|
|
32
|
-
integrity="sha256-tZHrRjVqNSRyWg2wbppGnT833E/Ys0DHWGwT04GiqQg="
|
|
43
|
+
href="https://cdn.jsdelivr.net/npm/overlayscrollbars@2.11.0/styles/overlayscrollbars.min.css"
|
|
33
44
|
crossorigin="anonymous"
|
|
34
45
|
/>
|
|
35
46
|
<!--end::Third Party Plugin(OverlayScrollbars)-->
|
|
36
47
|
<!--begin::Third Party Plugin(Bootstrap Icons)-->
|
|
37
48
|
<link
|
|
38
49
|
rel="stylesheet"
|
|
39
|
-
href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.
|
|
40
|
-
integrity="sha256-9kPW/n5nn53j4WMRYAxe9c1rCY96Oogo/MKSVdKzPmI="
|
|
50
|
+
href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.13.1/font/bootstrap-icons.min.css"
|
|
41
51
|
crossorigin="anonymous"
|
|
42
52
|
/>
|
|
43
53
|
<!--end::Third Party Plugin(Bootstrap Icons)-->
|
|
44
54
|
<!--begin::Required Plugin(AdminLTE)-->
|
|
45
|
-
<link rel="stylesheet" href="
|
|
55
|
+
<link rel="stylesheet" href="../../css/adminlte.css" />
|
|
46
56
|
<!--end::Required Plugin(AdminLTE)-->
|
|
47
|
-
<style>
|
|
48
|
-
[data-astro-image] {
|
|
49
|
-
width: 100%;
|
|
50
|
-
height: auto;
|
|
51
|
-
object-fit: var(--fit);
|
|
52
|
-
object-position: var(--pos);
|
|
53
|
-
aspect-ratio: var(--w) / var(--h);
|
|
54
|
-
}
|
|
55
|
-
[data-astro-image='responsive'] {
|
|
56
|
-
max-width: calc(var(--w) * 1px);
|
|
57
|
-
max-height: calc(var(--h) * 1px);
|
|
58
|
-
}
|
|
59
|
-
[data-astro-image='fixed'] {
|
|
60
|
-
width: calc(var(--w) * 1px);
|
|
61
|
-
height: calc(var(--h) * 1px);
|
|
62
|
-
}
|
|
63
|
-
</style>
|
|
64
57
|
</head>
|
|
65
58
|
<!--end::Head-->
|
|
66
59
|
<!--begin::Body-->
|
|
67
|
-
<body class="layout-fixed sidebar-expand-lg bg-body-tertiary">
|
|
60
|
+
<body class="layout-fixed sidebar-expand-lg sidebar-open bg-body-tertiary">
|
|
68
61
|
<!--begin::App Wrapper-->
|
|
69
62
|
<div class="app-wrapper">
|
|
70
63
|
<!--begin::Header-->
|
|
@@ -103,7 +96,7 @@
|
|
|
103
96
|
<div class="d-flex">
|
|
104
97
|
<div class="flex-shrink-0">
|
|
105
98
|
<img
|
|
106
|
-
src="
|
|
99
|
+
src="/assets/img/user1-128x128.jpg"
|
|
107
100
|
alt="User Avatar"
|
|
108
101
|
class="img-size-50 rounded-circle me-3"
|
|
109
102
|
/>
|
|
@@ -129,7 +122,7 @@
|
|
|
129
122
|
<div class="d-flex">
|
|
130
123
|
<div class="flex-shrink-0">
|
|
131
124
|
<img
|
|
132
|
-
src="
|
|
125
|
+
src="/assets/img/user8-128x128.jpg"
|
|
133
126
|
alt="User Avatar"
|
|
134
127
|
class="img-size-50 rounded-circle me-3"
|
|
135
128
|
/>
|
|
@@ -155,7 +148,7 @@
|
|
|
155
148
|
<div class="d-flex">
|
|
156
149
|
<div class="flex-shrink-0">
|
|
157
150
|
<img
|
|
158
|
-
src="
|
|
151
|
+
src="/assets/img/user3-128x128.jpg"
|
|
159
152
|
alt="User Avatar"
|
|
160
153
|
class="img-size-50 rounded-circle me-3"
|
|
161
154
|
/>
|
|
@@ -220,7 +213,7 @@
|
|
|
220
213
|
<li class="nav-item dropdown user-menu">
|
|
221
214
|
<a href="#" class="nav-link dropdown-toggle" data-bs-toggle="dropdown">
|
|
222
215
|
<img
|
|
223
|
-
src="
|
|
216
|
+
src="/assets/img/user2-160x160.jpg"
|
|
224
217
|
class="user-image rounded-circle shadow"
|
|
225
218
|
alt="User Image"
|
|
226
219
|
/>
|
|
@@ -230,7 +223,7 @@
|
|
|
230
223
|
<!--begin::User Image-->
|
|
231
224
|
<li class="user-header text-bg-primary">
|
|
232
225
|
<img
|
|
233
|
-
src="
|
|
226
|
+
src="/assets/img/user2-160x160.jpg"
|
|
234
227
|
class="rounded-circle shadow"
|
|
235
228
|
alt="User Image"
|
|
236
229
|
/>
|
|
@@ -274,7 +267,7 @@
|
|
|
274
267
|
<a href="../../index.html" class="brand-link">
|
|
275
268
|
<!--begin::Brand Image-->
|
|
276
269
|
<img
|
|
277
|
-
src="
|
|
270
|
+
src="/assets/img/AdminLTELogo.png"
|
|
278
271
|
alt="AdminLTE Logo"
|
|
279
272
|
class="brand-image opacity-75 shadow"
|
|
280
273
|
/>
|
|
@@ -293,8 +286,10 @@
|
|
|
293
286
|
<ul
|
|
294
287
|
class="nav sidebar-menu flex-column"
|
|
295
288
|
data-lte-toggle="treeview"
|
|
296
|
-
role="
|
|
289
|
+
role="navigation"
|
|
290
|
+
aria-label="Main navigation"
|
|
297
291
|
data-accordion="false"
|
|
292
|
+
id="navigation"
|
|
298
293
|
>
|
|
299
294
|
<li class="nav-item">
|
|
300
295
|
<a href="#" class="nav-link">
|
|
@@ -382,6 +377,24 @@
|
|
|
382
377
|
<p>Fixed Sidebar</p>
|
|
383
378
|
</a>
|
|
384
379
|
</li>
|
|
380
|
+
<li class="nav-item">
|
|
381
|
+
<a href="../../layout/fixed-header.html" class="nav-link">
|
|
382
|
+
<i class="nav-icon bi bi-circle"></i>
|
|
383
|
+
<p>Fixed Header</p>
|
|
384
|
+
</a>
|
|
385
|
+
</li>
|
|
386
|
+
<li class="nav-item">
|
|
387
|
+
<a href="../../layout/fixed-footer.html" class="nav-link">
|
|
388
|
+
<i class="nav-icon bi bi-circle"></i>
|
|
389
|
+
<p>Fixed Footer</p>
|
|
390
|
+
</a>
|
|
391
|
+
</li>
|
|
392
|
+
<li class="nav-item">
|
|
393
|
+
<a href="../../layout/fixed-complete.html" class="nav-link">
|
|
394
|
+
<i class="nav-icon bi bi-circle"></i>
|
|
395
|
+
<p>Fixed Complete</p>
|
|
396
|
+
</a>
|
|
397
|
+
</li>
|
|
385
398
|
<li class="nav-item">
|
|
386
399
|
<a href="../../layout/layout-custom-area.html" class="nav-link">
|
|
387
400
|
<i class="nav-icon bi bi-circle"></i>
|
|
@@ -764,8 +777,7 @@
|
|
|
764
777
|
<span class="line"><span style="color:#808080"> <</span><span style="color:#569CD6">li</span><span style="color:#808080">><</span><span style="color:#569CD6">a</span><span style="color:#9CDCFE"> href</span><span style="color:#D4D4D4">=</span><span style="color:#CE9178">"#"</span><span style="color:#808080">></span><span style="color:#D4D4D4">Level 2</span><span style="color:#808080"></</span><span style="color:#569CD6">a</span><span style="color:#808080">></</span><span style="color:#569CD6">li</span><span style="color:#808080">></span></span>
|
|
765
778
|
<span class="line"><span style="color:#808080"> </</span><span style="color:#569CD6">ul</span><span style="color:#808080">></span></span>
|
|
766
779
|
<span class="line"><span style="color:#808080"> </</span><span style="color:#569CD6">li</span><span style="color:#808080">></span></span>
|
|
767
|
-
<span class="line"><span style="color:#808080"></</span><span style="color:#569CD6">ul</span><span style="color:#808080">></span></span>
|
|
768
|
-
<span class="line"></span></code></pre>
|
|
780
|
+
<span class="line"><span style="color:#808080"></</span><span style="color:#569CD6">ul</span><span style="color:#808080">></span></span></code></pre>
|
|
769
781
|
<h5 id="example">Example</h5>
|
|
770
782
|
<ul data-lte-toggle="treeview">
|
|
771
783
|
<li><a href="#">One Level</a></li>
|
|
@@ -789,7 +801,7 @@
|
|
|
789
801
|
<!--end::To the end-->
|
|
790
802
|
<!--begin::Copyright-->
|
|
791
803
|
<strong>
|
|
792
|
-
Copyright © 2014-
|
|
804
|
+
Copyright © 2014-2025
|
|
793
805
|
<a href="https://adminlte.io" class="text-decoration-none">AdminLTE.io</a>.
|
|
794
806
|
</strong>
|
|
795
807
|
All rights reserved.
|
|
@@ -801,24 +813,21 @@
|
|
|
801
813
|
<!--begin::Script-->
|
|
802
814
|
<!--begin::Third Party Plugin(OverlayScrollbars)-->
|
|
803
815
|
<script
|
|
804
|
-
src="https://cdn.jsdelivr.net/npm/overlayscrollbars@2.
|
|
805
|
-
integrity="sha256-dghWARbRe2eLlIJ56wNB+b760ywulqK3DzZYEpsg2fQ="
|
|
816
|
+
src="https://cdn.jsdelivr.net/npm/overlayscrollbars@2.11.0/browser/overlayscrollbars.browser.es6.min.js"
|
|
806
817
|
crossorigin="anonymous"
|
|
807
818
|
></script>
|
|
808
819
|
<!--end::Third Party Plugin(OverlayScrollbars)--><!--begin::Required Plugin(popperjs for Bootstrap 5)-->
|
|
809
820
|
<script
|
|
810
821
|
src="https://cdn.jsdelivr.net/npm/@popperjs/core@2.11.8/dist/umd/popper.min.js"
|
|
811
|
-
integrity="sha384-I7E8VVD/ismYTF4hNIPjVp/Zjvgyol6VFvRkX/vR+Vc4jQkC+hVqc2pM8ODewa9r"
|
|
812
822
|
crossorigin="anonymous"
|
|
813
823
|
></script>
|
|
814
824
|
<!--end::Required Plugin(popperjs for Bootstrap 5)--><!--begin::Required Plugin(Bootstrap 5)-->
|
|
815
825
|
<script
|
|
816
|
-
src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.
|
|
817
|
-
integrity="sha384-0pUGZvbkm6XF6gxjEnlmuGrJXVbNuzT9qBBavbLwCsOGabYfZo0T0to5eqruptLy"
|
|
826
|
+
src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.7/dist/js/bootstrap.min.js"
|
|
818
827
|
crossorigin="anonymous"
|
|
819
828
|
></script>
|
|
820
829
|
<!--end::Required Plugin(Bootstrap 5)--><!--begin::Required Plugin(AdminLTE)-->
|
|
821
|
-
<script src="
|
|
830
|
+
<script src="../../js/adminlte.js"></script>
|
|
822
831
|
<!--end::Required Plugin(AdminLTE)--><!--begin::OverlayScrollbars Configure-->
|
|
823
832
|
<script>
|
|
824
833
|
const SELECTOR_SIDEBAR_WRAPPER = '.sidebar-wrapper';
|
|
@@ -829,7 +838,7 @@
|
|
|
829
838
|
};
|
|
830
839
|
document.addEventListener('DOMContentLoaded', function () {
|
|
831
840
|
const sidebarWrapper = document.querySelector(SELECTOR_SIDEBAR_WRAPPER);
|
|
832
|
-
if (sidebarWrapper &&
|
|
841
|
+
if (sidebarWrapper && OverlayScrollbarsGlobal?.OverlayScrollbars !== undefined) {
|
|
833
842
|
OverlayScrollbarsGlobal.OverlayScrollbars(sidebarWrapper, {
|
|
834
843
|
scrollbars: {
|
|
835
844
|
theme: Default.scrollbarTheme,
|
|
@@ -840,7 +849,31 @@
|
|
|
840
849
|
}
|
|
841
850
|
});
|
|
842
851
|
</script>
|
|
843
|
-
<!--end::OverlayScrollbars Configure-->
|
|
852
|
+
<!--end::OverlayScrollbars Configure--><!-- Image path runtime fix -->
|
|
853
|
+
<script>
|
|
854
|
+
document.addEventListener('DOMContentLoaded', () => {
|
|
855
|
+
// Find the link tag for the main AdminLTE CSS file.
|
|
856
|
+
const cssLink = document.querySelector('link[href*="css/adminlte.css"]');
|
|
857
|
+
if (!cssLink) {
|
|
858
|
+
return; // Exit if the link isn't found
|
|
859
|
+
}
|
|
860
|
+
|
|
861
|
+
// Extract the base path from the CSS href.
|
|
862
|
+
// e.g., from "../css/adminlte.css", we get "../"
|
|
863
|
+
// e.g., from "./css/adminlte.css", we get "./"
|
|
864
|
+
const cssHref = cssLink.getAttribute('href');
|
|
865
|
+
const deploymentPath = cssHref.slice(0, cssHref.indexOf('css/adminlte.css'));
|
|
866
|
+
|
|
867
|
+
// Find all images with absolute paths and fix them.
|
|
868
|
+
document.querySelectorAll('img[src^="/assets/"]').forEach((img) => {
|
|
869
|
+
const originalSrc = img.getAttribute('src');
|
|
870
|
+
if (originalSrc) {
|
|
871
|
+
const relativeSrc = originalSrc.slice(1); // Remove leading '/'
|
|
872
|
+
img.src = deploymentPath + relativeSrc;
|
|
873
|
+
}
|
|
874
|
+
});
|
|
875
|
+
});
|
|
876
|
+
</script>
|
|
844
877
|
<!--end::Script-->
|
|
845
878
|
</body>
|
|
846
879
|
<!--end::Body-->
|