admin-lte 4.0.0-alpha2 → 4.0.0-alpha3

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 (129) hide show
  1. package/.bundlewatch.config.json +6 -6
  2. package/.cache/.eslintcache +1 -1
  3. package/.cache/.stylelintcache +1 -1
  4. package/.gitpod.yml +1 -1
  5. package/.idea/AdminLTE.iml +4 -0
  6. package/.idea/codeStyles/Project.xml +24 -0
  7. package/.idea/dbnavigator.xml +421 -0
  8. package/.idea/git_toolbox_prj.xml +15 -0
  9. package/.idea/jsLibraryMappings.xml +6 -0
  10. package/.idea/jsLinters/eslint.xml +6 -0
  11. package/.idea/vcs.xml +6 -0
  12. package/README.md +3 -3
  13. package/dist/assets/img/AdminLTEFullLogo.png +0 -0
  14. package/dist/css/adminlte.css +695 -318
  15. package/dist/css/adminlte.css.map +1 -1
  16. package/dist/css/adminlte.min.css +1 -1
  17. package/dist/css/adminlte.min.css.map +1 -1
  18. package/dist/css/adminlte.rtl.css +693 -316
  19. package/dist/css/adminlte.rtl.css.map +1 -1
  20. package/dist/css/adminlte.rtl.min.css +1 -1
  21. package/dist/css/adminlte.rtl.min.css.map +1 -1
  22. package/dist/js/adminlte.js +43 -63
  23. package/dist/js/adminlte.js.map +1 -1
  24. package/dist/js/adminlte.min.js +2 -2
  25. package/dist/js/adminlte.min.js.map +1 -1
  26. package/dist/pages/UI/timeline.html +389 -218
  27. package/dist/pages/docs/browser-support.html +345 -204
  28. package/dist/pages/docs/color-mode.html +560 -348
  29. package/dist/pages/docs/components/main-header.html +579 -368
  30. package/dist/pages/docs/components/main-sidebar.html +858 -0
  31. package/dist/pages/docs/faq.html +743 -0
  32. package/dist/pages/docs/how-to-contribute.html +783 -0
  33. package/dist/pages/docs/introduction.html +767 -0
  34. package/dist/pages/docs/javascript/treeview.html +762 -0
  35. package/dist/pages/docs/layout.html +372 -201
  36. package/dist/pages/{docs.html → docs/license.html} +347 -218
  37. package/dist/pages/examples/lockscreen.html +107 -0
  38. package/dist/pages/examples/login-v2.html +148 -0
  39. package/dist/pages/examples/login.html +45 -40
  40. package/dist/pages/examples/register-v2.html +155 -0
  41. package/dist/pages/examples/register.html +46 -41
  42. package/dist/pages/forms/general.html +664 -202
  43. package/dist/pages/index.html +514 -285
  44. package/dist/pages/index2.html +665 -341
  45. package/dist/pages/index3.html +415 -254
  46. package/dist/pages/layout/collapsed-sidebar.html +766 -0
  47. package/dist/pages/layout/fixed-complete.html +867 -0
  48. package/dist/pages/layout/fixed-sidebar.html +344 -201
  49. package/dist/pages/layout/layout-rtl.html +344 -201
  50. package/dist/pages/layout/logo-switch.html +433 -0
  51. package/dist/pages/layout/sidebar-mini.html +345 -202
  52. package/dist/pages/layout/unfixed-sidebar.html +343 -201
  53. package/dist/pages/tables/simple.html +437 -233
  54. package/dist/pages/widgets/cards.html +389 -244
  55. package/dist/pages/widgets/info-box.html +398 -215
  56. package/dist/pages/widgets/small-box.html +349 -198
  57. package/index.html +6 -10
  58. package/package.json +27 -24
  59. package/src/assets/img/AdminLTEFullLogo.png +0 -0
  60. package/src/config/astro.config.mjs +3 -1
  61. package/src/html/.prettierrc.js +11 -0
  62. package/src/html/components/_head.astro +42 -26
  63. package/src/html/components/_scripts.astro +38 -27
  64. package/src/html/components/dashboard/_footer.astro +14 -8
  65. package/src/html/components/dashboard/_sidenav.astro +343 -113
  66. package/src/html/components/dashboard/_topbar.astro +90 -49
  67. package/src/html/components/docs/{browser-support/index.md → browser-support.mdx} +2 -1
  68. package/src/html/components/docs/color-mode.mdx +169 -0
  69. package/src/html/components/docs/components/{main-header-1.md → main-header.mdx} +60 -21
  70. package/src/html/components/docs/components/main-sidebar.mdx +129 -0
  71. package/src/html/components/docs/faq.mdx +11 -0
  72. package/src/html/components/docs/how-to-contribute.mdx +34 -0
  73. package/src/html/components/docs/{introduction/index.md → introduction.mdx} +27 -2
  74. package/src/html/components/docs/license.mdx +9 -0
  75. package/src/html/components/javascript/treeview.mdx +39 -0
  76. package/src/html/pages/UI/timeline.astro +111 -48
  77. package/src/html/pages/docs/browser-support.astro +24 -11
  78. package/src/html/pages/docs/color-mode.astro +89 -42
  79. package/src/html/pages/docs/components/main-header.astro +133 -46
  80. package/src/html/pages/docs/components/main-sidebar.astro +71 -0
  81. package/src/html/pages/docs/faq.astro +71 -0
  82. package/src/html/pages/docs/how-to-contribute.astro +71 -0
  83. package/src/html/pages/docs/{index.astro → introduction.astro} +24 -11
  84. package/src/html/pages/docs/javascript/treeview.astro +71 -0
  85. package/src/html/pages/docs/layout.astro +62 -19
  86. package/src/html/pages/docs/license.astro +71 -0
  87. package/src/html/pages/examples/lockscreen.astro +63 -0
  88. package/src/html/pages/examples/login-v2.astro +109 -0
  89. package/src/html/pages/examples/login.astro +34 -16
  90. package/src/html/pages/examples/register-v2.astro +116 -0
  91. package/src/html/pages/examples/register.astro +36 -18
  92. package/src/html/pages/forms/general.astro +567 -36
  93. package/src/html/pages/index.astro +389 -152
  94. package/src/html/pages/index2.astro +682 -250
  95. package/src/html/pages/index3.astro +290 -189
  96. package/src/html/pages/layout/collapsed-sidebar.astro +110 -0
  97. package/src/html/pages/layout/fixed-complete.astro +209 -0
  98. package/src/html/pages/layout/fixed-sidebar.astro +52 -27
  99. package/src/html/pages/layout/layout-rtl.astro +53 -28
  100. package/src/html/pages/layout/logo-switch.astro +212 -0
  101. package/src/html/pages/layout/sidebar-mini.astro +53 -28
  102. package/src/html/pages/layout/unfixed-sidebar.astro +51 -27
  103. package/src/html/pages/tables/simple.astro +206 -66
  104. package/src/html/pages/widgets/cards.astro +134 -69
  105. package/src/html/pages/widgets/info-box.astro +96 -41
  106. package/src/html/pages/widgets/small-box.astro +93 -32
  107. package/src/scss/_app-content.scss +52 -0
  108. package/src/scss/_app-footer.scss +1 -1
  109. package/src/scss/_app-main.scss +2 -5
  110. package/src/scss/_app-sidebar.scss +244 -70
  111. package/src/scss/_bootstrap-variables.scss +4 -4
  112. package/src/scss/_cards.scss +31 -7
  113. package/src/scss/_compact-mode.scss +79 -0
  114. package/src/scss/_small-box.scss +0 -3
  115. package/src/scss/_variables.scss +21 -4
  116. package/src/scss/mixins/_animations.scss +0 -5
  117. package/src/scss/pages/_lockscreen.scss +74 -0
  118. package/src/scss/pages/_login_and_register.scss +0 -3
  119. package/src/scss/parts/_core.scss +2 -0
  120. package/src/scss/parts/_pages.scss +1 -0
  121. package/src/ts/card-widget.ts +17 -50
  122. package/src/ts/direct-chat.ts +2 -2
  123. package/src/ts/layout.ts +2 -2
  124. package/src/ts/push-menu.ts +3 -20
  125. package/src/ts/treeview.ts +14 -8
  126. package/src/ts/util/index.ts +14 -12
  127. package/src/utils/index.js +20 -3
  128. package/src/html/components/docs/color-mode/navbar-html.md +0 -80
  129. package/src/html/components/docs/color-mode/toggle-script.md +0 -48
@@ -1,14 +1,18 @@
1
1
  ---
2
- const { path } = Astro.props
3
- const distPath = path
2
+ const { path } = Astro.props;
3
+ const distPath = path;
4
4
  ---
5
- <!-- Navbar -->
5
+
6
+ <!--begin::Header-->
6
7
  <nav class="app-header navbar navbar-expand bg-body">
8
+ <!--begin::Container-->
7
9
  <div class="container-fluid">
8
- <!-- Start navbar links -->
10
+ <!--begin::Start Navbar Links-->
9
11
  <ul class="navbar-nav">
10
12
  <li class="nav-item">
11
- <a class="nav-link" data-lte-toggle="sidebar" href="#" role="button"><i class="fa-solid fa-bars"></i></a>
13
+ <a class="nav-link" data-lte-toggle="sidebar" href="#" role="button">
14
+ <i class="bi bi-list"></i>
15
+ </a>
12
16
  </li>
13
17
  <li class="nav-item d-none d-md-block">
14
18
  <a href="#" class="nav-link">Home</a>
@@ -17,124 +21,167 @@ const distPath = path
17
21
  <a href="#" class="nav-link">Contact</a>
18
22
  </li>
19
23
  </ul>
20
- <!-- End navbar links -->
24
+ <!--end::Start Navbar Links-->
21
25
 
26
+ <!--begin::End Navbar Links-->
22
27
  <ul class="navbar-nav ms-auto">
23
- <!-- Navbar Search -->
28
+ <!--begin::Navbar Search-->
24
29
  <li class="nav-item">
25
30
  <a class="nav-link" data-widget="navbar-search" href="#" role="button">
26
- <i class="fa-solid fa-search"></i>
31
+ <i class="bi bi-search"></i>
27
32
  </a>
28
33
  </li>
34
+ <!--end::Navbar Search-->
29
35
 
30
- <!-- Messages Dropdown Menu -->
36
+ <!--begin::Messages Dropdown Menu-->
31
37
  <li class="nav-item dropdown">
32
38
  <a class="nav-link" data-bs-toggle="dropdown" href="#">
33
- <i class="fa-regular fa-comments"></i>
39
+ <i class="bi bi-chat-text"></i>
34
40
  <span class="navbar-badge badge text-bg-danger">3</span>
35
41
  </a>
36
42
  <div class="dropdown-menu dropdown-menu-lg dropdown-menu-end">
37
43
  <a href="#" class="dropdown-item">
38
- <!-- Message Start -->
44
+ <!--begin::Message-->
39
45
  <div class="d-flex">
40
46
  <div class="flex-shrink-0">
41
- <img src={distPath + '/assets/img/user1-128x128.jpg'} alt="User Avatar" class="img-size-50 rounded-circle me-3">
47
+ <img
48
+ src={distPath + "/assets/img/user1-128x128.jpg"}
49
+ alt="User Avatar"
50
+ class="img-size-50 rounded-circle me-3"
51
+ />
42
52
  </div>
43
53
  <div class="flex-grow-1">
44
54
  <h3 class="dropdown-item-title">
45
55
  Brad Diesel
46
- <span class="float-end fs-7 text-danger"><i class="fa-solid fa-star"></i></span>
56
+ <span class="float-end fs-7 text-danger"
57
+ ><i class="bi bi-star-fill"></i></span
58
+ >
47
59
  </h3>
48
60
  <p class="fs-7">Call me whenever you can...</p>
49
- <p class="fs-7 text-secondary"><i class="fa-regular fa-clock me-1"></i> 4 Hours Ago</p>
61
+ <p class="fs-7 text-secondary">
62
+ <i class="bi bi-clock-fill me-1"></i> 4 Hours Ago
63
+ </p>
50
64
  </div>
51
65
  </div>
52
- <!-- Message End -->
66
+ <!--end::Message-->
53
67
  </a>
54
68
  <div class="dropdown-divider"></div>
55
69
  <a href="#" class="dropdown-item">
56
- <!-- Message Start -->
70
+ <!--begin::Message-->
57
71
  <div class="d-flex">
58
72
  <div class="flex-shrink-0">
59
- <img src={distPath + '/assets/img/user8-128x128.jpg'} alt="User Avatar" class="img-size-50 rounded-circle me-3">
73
+ <img
74
+ src={distPath + "/assets/img/user8-128x128.jpg"}
75
+ alt="User Avatar"
76
+ class="img-size-50 rounded-circle me-3"
77
+ />
60
78
  </div>
61
79
  <div class="flex-grow-1">
62
80
  <h3 class="dropdown-item-title">
63
81
  John Pierce
64
- <span class="float-end fs-7 text-secondary"><i class="fa-solid fa-star"></i></span>
82
+ <span class="float-end fs-7 text-secondary">
83
+ <i class="bi bi-star-fill"></i>
84
+ </span>
65
85
  </h3>
66
86
  <p class="fs-7">I got your message bro</p>
67
- <p class="fs-7 text-secondary"><i class="fa-regular fa-clock me-1"></i> 4 Hours Ago</p>
87
+ <p class="fs-7 text-secondary">
88
+ <i class="bi bi-clock-fill me-1"></i> 4 Hours Ago
89
+ </p>
68
90
  </div>
69
91
  </div>
70
- <!-- Message End -->
92
+ <!--end::Message-->
71
93
  </a>
72
94
  <div class="dropdown-divider"></div>
73
95
  <a href="#" class="dropdown-item">
74
- <!-- Message Start -->
96
+ <!--begin::Message-->
75
97
  <div class="d-flex">
76
98
  <div class="flex-shrink-0">
77
- <img src={distPath + '/assets/img/user3-128x128.jpg'}alt="User Avatar" class="img-size-50 rounded-circle me-3">
99
+ <img
100
+ src={distPath + "/assets/img/user3-128x128.jpg"}
101
+ alt="User Avatar"
102
+ class="img-size-50 rounded-circle me-3"
103
+ />
78
104
  </div>
79
105
  <div class="flex-grow-1">
80
106
  <h3 class="dropdown-item-title">
81
107
  Nora Silvester
82
- <span class="float-end fs-7 text-warning"><i class="fa-solid fa-star"></i></span>
108
+ <span class="float-end fs-7 text-warning">
109
+ <i class="bi bi-star-fill"></i>
110
+ </span>
83
111
  </h3>
84
112
  <p class="fs-7">The subject goes here</p>
85
- <p class="fs-7 text-secondary"><i class="fa-regular fa-clock me-1"></i> 4 Hours Ago</p>
113
+ <p class="fs-7 text-secondary">
114
+ <i class="bi bi-clock-fill me-1"></i> 4 Hours Ago
115
+ </p>
86
116
  </div>
87
117
  </div>
88
- <!-- Message End -->
118
+ <!--end::Message-->
89
119
  </a>
90
120
  <div class="dropdown-divider"></div>
91
121
  <a href="#" class="dropdown-item dropdown-footer">See All Messages</a>
92
122
  </div>
93
123
  </li>
94
- <!-- Notifications Dropdown Menu -->
124
+ <!--end::Messages Dropdown Menu-->
125
+
126
+ <!--begin::Notifications Dropdown Menu-->
95
127
  <li class="nav-item dropdown">
96
128
  <a class="nav-link" data-bs-toggle="dropdown" href="#">
97
- <i class="fa-regular fa-bell"></i>
129
+ <i class="bi bi-bell-fill"></i>
98
130
  <span class="navbar-badge badge text-bg-warning">15</span>
99
131
  </a>
100
132
  <div class="dropdown-menu dropdown-menu-lg dropdown-menu-end">
101
133
  <span class="dropdown-item dropdown-header">15 Notifications</span>
102
134
  <div class="dropdown-divider"></div>
103
135
  <a href="#" class="dropdown-item">
104
- <i class="fa-solid fa-envelope me-2"></i> 4 new messages
136
+ <i class="bi bi-envelope me-2"></i> 4 new messages
105
137
  <span class="float-end text-secondary fs-7">3 mins</span>
106
138
  </a>
107
139
  <div class="dropdown-divider"></div>
108
140
  <a href="#" class="dropdown-item">
109
- <i class="fa-solid fa-users me-2"></i> 8 friend requests
141
+ <i class="bi bi-people-fill me-2"></i> 8 friend requests
110
142
  <span class="float-end text-secondary fs-7">12 hours</span>
111
143
  </a>
112
144
  <div class="dropdown-divider"></div>
113
145
  <a href="#" class="dropdown-item">
114
- <i class="fa-solid fa-file me-2"></i> 3 new reports
146
+ <i class="bi bi-file-earmark-fill me-2"></i> 3 new reports
115
147
  <span class="float-end text-secondary fs-7">2 days</span>
116
148
  </a>
117
149
  <div class="dropdown-divider"></div>
118
- <a href="#" class="dropdown-item dropdown-footer">See All Notifications</a>
150
+ <a href="#" class="dropdown-item dropdown-footer">
151
+ See All Notifications
152
+ </a>
119
153
  </div>
120
154
  </li>
155
+ <!--end::Notifications Dropdown Menu-->
156
+
157
+ <!--begin::User Menu Dropdown-->
121
158
  <li class="nav-item dropdown user-menu">
122
159
  <a href="#" class="nav-link dropdown-toggle" data-bs-toggle="dropdown">
123
- <img src={distPath + '/assets/img/user2-160x160.jpg'} class="user-image rounded-circle shadow" alt="User Image">
160
+ <img
161
+ src={distPath + "/assets/img/user2-160x160.jpg"}
162
+ class="user-image rounded-circle shadow"
163
+ alt="User Image"
164
+ />
124
165
  <span class="d-none d-md-inline">Alexander Pierce</span>
125
166
  </a>
126
167
  <ul class="dropdown-menu dropdown-menu-lg dropdown-menu-end">
127
- <!-- User image -->
168
+ <!--begin::User Image-->
128
169
  <li class="user-header text-bg-primary">
129
- <img src={distPath + '/assets/img/user2-160x160.jpg'} class="rounded-circle shadow" alt="User Image">
170
+ <img
171
+ src={distPath + "/assets/img/user2-160x160.jpg"}
172
+ class="rounded-circle shadow"
173
+ alt="User Image"
174
+ />
130
175
 
131
176
  <p>
132
177
  Alexander Pierce - Web Developer
133
178
  <small>Member since Nov. 2023</small>
134
179
  </p>
135
180
  </li>
136
- <!-- Menu Body -->
181
+ <!--end::User Image-->
182
+ <!--begin::Menu Body-->
137
183
  <li class="user-body">
184
+ <!--begin::Row-->
138
185
  <div class="row">
139
186
  <div class="col-4 text-center">
140
187
  <a href="#">Followers</a>
@@ -146,27 +193,21 @@ const distPath = path
146
193
  <a href="#">Friends</a>
147
194
  </div>
148
195
  </div>
149
- <!-- /.row -->
196
+ <!--end::Row-->
150
197
  </li>
151
- <!-- Menu Footer-->
198
+ <!--end::Menu Body-->
199
+ <!--begin::Menu Footer-->
152
200
  <li class="user-footer">
153
201
  <a href="#" class="btn btn-default btn-flat">Profile</a>
154
202
  <a href="#" class="btn btn-default btn-flat float-end">Sign out</a>
155
203
  </li>
204
+ <!--end::Menu Footer-->
156
205
  </ul>
157
206
  </li>
158
- <!-- TODO tackel in v4.1 -->
159
- <!-- <li class="nav-item">
160
- <a class="nav-link" data-widget="fullscreen" href="#" role="button">
161
- <i class="fa-solid fa-expand-arrows-alt"></i>
162
- </a>
163
- </li>
164
- <li class="nav-item">
165
- <a class="nav-link" data-widget="control-sidebar" data-slide="true" href="#" role="button">
166
- <i class="fa-solid fa-th-large"></i>
167
- </a>
168
- </li> -->
207
+ <!--end::User Menu Dropdown-->
169
208
  </ul>
209
+ <!--end::End Navbar Links-->
170
210
  </div>
211
+ <!--end::Container-->
171
212
  </nav>
172
- <!-- /.navbar -->
213
+ <!--end::Header-->
@@ -1,7 +1,8 @@
1
1
  AdminLTE comes with the same browser support as Bootstrap 5.
2
2
 
3
3
  > ##### Excerpt from Bootstrap's official Documentation!
4
- > Bootstrap supports the __latest, stable releases__ of all major browsers and platforms.
4
+ >
5
+ > Bootstrap supports the **latest, stable releases** of all major browsers and platforms.
5
6
  >
6
7
  > For more details [look here](https://getbootstrap.com/docs/5.0/getting-started/browsers-devices/#supported-browsers).
7
8
 
@@ -0,0 +1,169 @@
1
+ ```html
2
+ <!--begin::Header-->
3
+ <nav class="navbar navbar-expand bg-body">
4
+ <!--begin::Container-->
5
+ <div class="container-fluid">
6
+ <!--begin::Start Navbar links-->
7
+ <ul class="navbar-nav">
8
+ <li class="nav-item">
9
+ <a class="nav-link" data-lte-toggle="sidebar" href="#" role="button"
10
+ ><i class="bi bi-list"></i
11
+ ></a>
12
+ </li>
13
+ <li class="nav-item d-none d-md-block">
14
+ <a href="#" class="nav-link">Home</a>
15
+ </li>
16
+ <li class="nav-item d-none d-md-block">
17
+ <a href="#" class="nav-link">Contact</a>
18
+ </li>
19
+ </ul>
20
+ <!--end::Start Navbar links-->
21
+ <!--begin::End Navbar links-->
22
+ <ul class="navbar-nav ms-auto">
23
+ <li class="nav-item dropdown">
24
+ <button
25
+ class="btn btn-link nav-link py-2 px-0 px-lg-2 dropdown-toggle d-flex align-items-center"
26
+ id="bd-theme"
27
+ type="button"
28
+ aria-expanded="false"
29
+ data-bs-toggle="dropdown"
30
+ data-bs-display="static"
31
+ >
32
+ <span class="theme-icon-active">
33
+ <i class="my-1"></i>
34
+ </span>
35
+ <span class="d-lg-none ms-2" id="bd-theme-text">Toggle theme</span>
36
+ </button>
37
+ <ul
38
+ class="dropdown-menu dropdown-menu-end"
39
+ aria-labelledby="bd-theme-text"
40
+ style="--bs-dropdown-min-width: 8rem;"
41
+ >
42
+ <li>
43
+ <button
44
+ type="button"
45
+ class="dropdown-item d-flex align-items-center active"
46
+ data-bs-theme-value="light"
47
+ aria-pressed="false"
48
+ >
49
+ <i class="bi bi-sun-fill me-2"></i>
50
+ Light
51
+ <i class="bi bi-check-lg ms-auto d-none"></i>
52
+ </button>
53
+ </li>
54
+ <li>
55
+ <button
56
+ type="button"
57
+ class="dropdown-item d-flex align-items-center"
58
+ data-bs-theme-value="dark"
59
+ aria-pressed="false"
60
+ >
61
+ <i class="bi bi-moon-fill me-2"></i>
62
+ Dark
63
+ <i class="bi bi-check-lg ms-auto d-none"></i>
64
+ </button>
65
+ </li>
66
+ <li>
67
+ <button
68
+ type="button"
69
+ class="dropdown-item d-flex align-items-center"
70
+ data-bs-theme-value="auto"
71
+ aria-pressed="true"
72
+ >
73
+ <i class="bi bi-circle-fill-half-stroke me-2"></i>
74
+ Auto
75
+ <i class="bi bi-check-lg ms-auto d-none"></i>
76
+ </button>
77
+ </li>
78
+ </ul>
79
+ </li>
80
+ </ul>
81
+ <!--end::End Navbar links-->
82
+ </div>
83
+ <!--end::Container-->
84
+ </nav>
85
+ <!--end::Header-->
86
+ ```
87
+
88
+ ```js
89
+ // Color Mode Toggler
90
+ (() => {
91
+ "use strict";
92
+
93
+ const storedTheme = localStorage.getItem("theme");
94
+
95
+ const getPreferredTheme = () => {
96
+ if (storedTheme) {
97
+ return storedTheme;
98
+ }
99
+
100
+ return window.matchMedia("(prefers-color-scheme: dark)").matches
101
+ ? "dark"
102
+ : "light";
103
+ };
104
+
105
+ const setTheme = function (theme) {
106
+ if (
107
+ theme === "auto" &&
108
+ window.matchMedia("(prefers-color-scheme: dark)").matches
109
+ ) {
110
+ document.documentElement.setAttribute("data-bs-theme", "dark");
111
+ } else {
112
+ document.documentElement.setAttribute("data-bs-theme", theme);
113
+ }
114
+ };
115
+
116
+ setTheme(getPreferredTheme());
117
+
118
+ const showActiveTheme = (theme, focus = false) => {
119
+ const themeSwitcher = document.querySelector("#bd-theme");
120
+
121
+ if (!themeSwitcher) {
122
+ return;
123
+ }
124
+
125
+ const themeSwitcherText = document.querySelector("#bd-theme-text");
126
+ const activeThemeIcon = document.querySelector(".theme-icon-active i");
127
+ const btnToActive = document.querySelector(
128
+ `[data-bs-theme-value="${theme}"]`
129
+ );
130
+ const svgOfActiveBtn = btnToActive.querySelector("i").getAttribute("class");
131
+
132
+ for (const element of document.querySelectorAll("[data-bs-theme-value]")) {
133
+ element.classList.remove("active");
134
+ element.setAttribute("aria-pressed", "false");
135
+ }
136
+
137
+ btnToActive.classList.add("active");
138
+ btnToActive.setAttribute("aria-pressed", "true");
139
+ activeThemeIcon.setAttribute("class", svgOfActiveBtn);
140
+ const themeSwitcherLabel = `${themeSwitcherText.textContent} (${btnToActive.dataset.bsThemeValue})`;
141
+ themeSwitcher.setAttribute("aria-label", themeSwitcherLabel);
142
+
143
+ if (focus) {
144
+ themeSwitcher.focus();
145
+ }
146
+ };
147
+
148
+ window
149
+ .matchMedia("(prefers-color-scheme: dark)")
150
+ .addEventListener("change", () => {
151
+ if (storedTheme !== "light" || storedTheme !== "dark") {
152
+ setTheme(getPreferredTheme());
153
+ }
154
+ });
155
+
156
+ window.addEventListener("DOMContentLoaded", () => {
157
+ showActiveTheme(getPreferredTheme());
158
+
159
+ for (const toggle of document.querySelectorAll("[data-bs-theme-value]")) {
160
+ toggle.addEventListener("click", () => {
161
+ const theme = toggle.getAttribute("data-bs-theme-value");
162
+ localStorage.setItem("theme", theme);
163
+ setTheme(theme);
164
+ showActiveTheme(theme, true);
165
+ });
166
+ }
167
+ });
168
+ })();
169
+ ```
@@ -1,11 +1,14 @@
1
1
  ```html
2
2
  <!-- Navbar -->
3
3
  <nav class="app-header navbar navbar-expand bg-body">
4
+ <!--begin::Container-->
4
5
  <div class="container-fluid">
5
6
  <!-- Start navbar links -->
6
7
  <ul class="navbar-nav">
7
8
  <li class="nav-item">
8
- <a class="nav-link" data-lte-toggle="sidebar" href="#" role="button"><i class="fa-solid fa-bars"></i></a>
9
+ <a class="nav-link" data-lte-toggle="sidebar" href="#" role="button">
10
+ <i class="bi bi-list"></i>
11
+ </a>
9
12
  </li>
10
13
  <li class="nav-item d-none d-md-block">
11
14
  <a href="#" class="nav-link">Home</a>
@@ -20,14 +23,14 @@
20
23
  <!-- Navbar Search -->
21
24
  <li class="nav-item">
22
25
  <a class="nav-link" data-widget="navbar-search" href="#" role="button">
23
- <i class="fa-solid fa-search"></i>
26
+ <i class="bi bi-search"></i>
24
27
  </a>
25
28
  </li>
26
29
 
27
30
  <!-- Messages Dropdown Menu -->
28
31
  <li class="nav-item dropdown">
29
32
  <a class="nav-link" data-bs-toggle="dropdown" href="#">
30
- <i class="fa-regular fa-comments"></i>
33
+ <i class="bi bi-chat-text"></i>
31
34
  <span class="navbar-badge badge text-bg-danger">3</span>
32
35
  </a>
33
36
  <div class="dropdown-menu dropdown-menu-lg dropdown-menu-end">
@@ -35,15 +38,23 @@
35
38
  <!-- Message Start -->
36
39
  <div class="d-flex">
37
40
  <div class="flex-shrink-0">
38
- <img src="../../../dist/assets/img/user1-128x128.jpg" alt="User Avatar" class="img-size-50 rounded-circle me-3">
41
+ <img
42
+ src="../../../dist/assets/img/user1-128x128.jpg"
43
+ alt="User Avatar"
44
+ class="img-size-50 rounded-circle me-3"
45
+ />
39
46
  </div>
40
47
  <div class="flex-grow-1">
41
48
  <h3 class="dropdown-item-title">
42
49
  Brad Diesel
43
- <span class="float-end fs-7 text-danger"><i class="fa-solid fa-star"></i></span>
50
+ <span class="float-end fs-7 text-danger">
51
+ <i class="bi bi-star-fill"></i>
52
+ </span>
44
53
  </h3>
45
54
  <p class="fs-7">Call me whenever you can...</p>
46
- <p class="fs-7 text-secondary"><i class="fa-regular fa-clock me-1"></i> 4 Hours Ago</p>
55
+ <p class="fs-7 text-secondary">
56
+ <i class="bi bi-clock-fill me-1"></i> 4 Hours Ago
57
+ </p>
47
58
  </div>
48
59
  </div>
49
60
  <!-- Message End -->
@@ -53,15 +64,23 @@
53
64
  <!-- Message Start -->
54
65
  <div class="d-flex">
55
66
  <div class="flex-shrink-0">
56
- <img src="../../../dist/assets/img/user8-128x128.jpg" alt="User Avatar" class="img-size-50 rounded-circle me-3">
67
+ <img
68
+ src="../../../dist/assets/img/user8-128x128.jpg"
69
+ alt="User Avatar"
70
+ class="img-size-50 rounded-circle me-3"
71
+ />
57
72
  </div>
58
73
  <div class="flex-grow-1">
59
74
  <h3 class="dropdown-item-title">
60
75
  John Pierce
61
- <span class="float-end fs-7 text-secondary"><i class="fa-solid fa-star"></i></span>
76
+ <span class="float-end fs-7 text-secondary">
77
+ <i class="bi bi-star-fill"></i>
78
+ </span>
62
79
  </h3>
63
80
  <p class="fs-7">I got your message bro</p>
64
- <p class="fs-7 text-secondary"><i class="fa-regular fa-clock me-1"></i> 4 Hours Ago</p>
81
+ <p class="fs-7 text-secondary">
82
+ <i class="bi bi-clock-fill me-1"></i> 4 Hours Ago
83
+ </p>
65
84
  </div>
66
85
  </div>
67
86
  <!-- Message End -->
@@ -71,15 +90,23 @@
71
90
  <!-- Message Start -->
72
91
  <div class="d-flex">
73
92
  <div class="flex-shrink-0">
74
- <img src="../../../dist/assets/img/user3-128x128.jpg" alt="User Avatar" class="img-size-50 rounded-circle me-3">
93
+ <img
94
+ src="../../../dist/assets/img/user3-128x128.jpg"
95
+ alt="User Avatar"
96
+ class="img-size-50 rounded-circle me-3"
97
+ />
75
98
  </div>
76
99
  <div class="flex-grow-1">
77
100
  <h3 class="dropdown-item-title">
78
101
  Nora Silvester
79
- <span class="float-end fs-7 text-warning"><i class="fa-solid fa-star"></i></span>
102
+ <span class="float-end fs-7 text-warning">
103
+ <i class="bi bi-star-fill"></i>
104
+ </span>
80
105
  </h3>
81
106
  <p class="fs-7">The subject goes here</p>
82
- <p class="fs-7 text-secondary"><i class="fa-regular fa-clock me-1"></i> 4 Hours Ago</p>
107
+ <p class="fs-7 text-secondary">
108
+ <i class="bi bi-clock-fill me-1"></i> 4 Hours Ago
109
+ </p>
83
110
  </div>
84
111
  </div>
85
112
  <!-- Message End -->
@@ -91,39 +118,49 @@
91
118
  <!-- Notifications Dropdown Menu -->
92
119
  <li class="nav-item dropdown">
93
120
  <a class="nav-link" data-bs-toggle="dropdown" href="#">
94
- <i class="fa-regular fa-bell"></i>
121
+ <i class="bi bi-bell-fill"></i>
95
122
  <span class="navbar-badge badge text-bg-warning">15</span>
96
123
  </a>
97
124
  <div class="dropdown-menu dropdown-menu-lg dropdown-menu-end">
98
125
  <span class="dropdown-item dropdown-header">15 Notifications</span>
99
126
  <div class="dropdown-divider"></div>
100
127
  <a href="#" class="dropdown-item">
101
- <i class="fa-solid fa-envelope me-2"></i> 4 new messages
128
+ <i class="bi bi-envelope me-2"></i> 4 new messages
102
129
  <span class="float-end text-secondary fs-7">3 mins</span>
103
130
  </a>
104
131
  <div class="dropdown-divider"></div>
105
132
  <a href="#" class="dropdown-item">
106
- <i class="fa-solid fa-users me-2"></i> 8 friend requests
133
+ <i class="bi bi-people-fill me-2"></i> 8 friend requests
107
134
  <span class="float-end text-secondary fs-7">12 hours</span>
108
135
  </a>
109
136
  <div class="dropdown-divider"></div>
110
137
  <a href="#" class="dropdown-item">
111
- <i class="fa-solid fa-file me-2"></i> 3 new reports
138
+ <i class="bi bi-file-earmark-fill me-2"></i> 3 new reports
112
139
  <span class="float-end text-secondary fs-7">2 days</span>
113
140
  </a>
114
141
  <div class="dropdown-divider"></div>
115
- <a href="#" class="dropdown-item dropdown-footer">See All Notifications</a>
142
+ <a href="#" class="dropdown-item dropdown-footer">
143
+ See All Notifications
144
+ </a>
116
145
  </div>
117
146
  </li>
118
147
  <li class="nav-item dropdown user-menu">
119
148
  <a href="#" class="nav-link dropdown-toggle" data-bs-toggle="dropdown">
120
- <img src="../../../dist/assets/img/user2-160x160.jpg" class="user-image rounded-circle shadow" alt="User Image">
149
+ <img
150
+ src="../../../dist/assets/img/user2-160x160.jpg"
151
+ class="user-image rounded-circle shadow"
152
+ alt="User Image"
153
+ />
121
154
  <span class="d-none d-md-inline">Alexander Pierce</span>
122
155
  </a>
123
156
  <ul class="dropdown-menu dropdown-menu-lg dropdown-menu-end">
124
157
  <!-- User image -->
125
158
  <li class="user-header text-bg-primary">
126
- <img src="../../../dist/assets/img/user2-160x160.jpg" class="rounded-circle shadow" alt="User Image">
159
+ <img
160
+ src="../../../dist/assets/img/user2-160x160.jpg"
161
+ class="rounded-circle shadow"
162
+ alt="User Image"
163
+ />
127
164
 
128
165
  <p>
129
166
  Alexander Pierce - Web Developer
@@ -132,6 +169,7 @@
132
169
  </li>
133
170
  <!-- Menu Body -->
134
171
  <li class="user-body">
172
+ <!--begin::Row-->
135
173
  <div class="row">
136
174
  <div class="col-4 text-center">
137
175
  <a href="#">Followers</a>
@@ -143,7 +181,7 @@
143
181
  <a href="#">Friends</a>
144
182
  </div>
145
183
  </div>
146
- <!-- /.row -->
184
+ <!--end::Row-->
147
185
  </li>
148
186
  <!-- Menu Footer-->
149
187
  <li class="user-footer">
@@ -154,6 +192,7 @@
154
192
  </li>
155
193
  </ul>
156
194
  </div>
195
+ <!--end::Container-->
157
196
  </nav>
158
197
  <!-- /.navbar -->
159
- ```
198
+ ```