adminator-admin-dashboard 2.8.1 → 4.1.5

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 (179) hide show
  1. package/CHANGELOG.md +499 -0
  2. package/CLAUDE.md +126 -154
  3. package/README.md +321 -370
  4. package/dist/2026.js +8751 -0
  5. package/dist/2026.js.map +1 -0
  6. package/dist/404.html +36 -16
  7. package/dist/500.html +36 -16
  8. package/dist/assets/static/images/logo.svg +3 -3
  9. package/dist/basic-table.html +152 -699
  10. package/dist/blank.html +42 -507
  11. package/dist/buttons.html +152 -448
  12. package/dist/calendar.html +246 -658
  13. package/dist/charts.html +124 -658
  14. package/dist/chat.html +209 -706
  15. package/dist/compose.html +141 -618
  16. package/dist/datatable.html +467 -991
  17. package/dist/email.html +430 -943
  18. package/dist/forms.html +208 -733
  19. package/dist/google-maps.html +123 -513
  20. package/dist/index.html +436 -1041
  21. package/dist/runtime.js +1299 -0
  22. package/dist/runtime.js.map +1 -0
  23. package/dist/signin.html +92 -92
  24. package/dist/signup.html +106 -91
  25. package/dist/ui.html +268 -897
  26. package/dist/vector-maps.html +132 -511
  27. package/dist/vendor-chartjs.js +14593 -0
  28. package/dist/vendor-chartjs.js.map +1 -0
  29. package/dist/vendor-fullcalendar.js +14793 -0
  30. package/dist/vendor-fullcalendar.js.map +1 -0
  31. package/dist/vendors.js +3758 -0
  32. package/dist/vendors.js.map +1 -0
  33. package/package.json +50 -52
  34. package/src/404.html +35 -15
  35. package/src/500.html +35 -15
  36. package/src/assets/scripts/2026/Shell.js +312 -0
  37. package/src/assets/scripts/2026/calendar.js +123 -0
  38. package/src/assets/scripts/2026/charts.js +259 -0
  39. package/src/assets/scripts/2026/index.js +35 -0
  40. package/src/assets/scripts/2026/init.js +207 -0
  41. package/src/assets/scripts/2026/maps.js +78 -0
  42. package/src/assets/scripts/2026/palette.js +266 -0
  43. package/src/assets/static/images/logo.svg +3 -3
  44. package/src/assets/styles/2026/_animations.scss +14 -0
  45. package/src/assets/styles/2026/_auth.scss +215 -0
  46. package/src/assets/styles/2026/_base.scss +37 -0
  47. package/src/assets/styles/2026/_calendar.scss +380 -0
  48. package/src/assets/styles/2026/_charts.scss +44 -0
  49. package/src/assets/styles/2026/_chat.scss +350 -0
  50. package/src/assets/styles/2026/_components.scss +140 -0
  51. package/src/assets/styles/2026/_dashboard.scss +520 -0
  52. package/src/assets/styles/2026/_data.scss +130 -0
  53. package/src/assets/styles/2026/_dropdowns.scss +128 -0
  54. package/src/assets/styles/2026/_email.scss +599 -0
  55. package/src/assets/styles/2026/_error.scss +98 -0
  56. package/src/assets/styles/2026/_forms.scss +215 -0
  57. package/src/assets/styles/2026/_fullcalendar.scss +134 -0
  58. package/src/assets/styles/2026/_palette.scss +173 -0
  59. package/src/assets/styles/2026/_responsive.scss +229 -0
  60. package/src/assets/styles/2026/_shell.scss +290 -0
  61. package/src/assets/styles/2026/_tokens.scss +80 -0
  62. package/src/assets/styles/2026/_ui.scss +365 -0
  63. package/src/assets/styles/2026/index.scss +23 -0
  64. package/src/basic-table.html +153 -710
  65. package/src/blank.html +42 -517
  66. package/src/buttons.html +152 -458
  67. package/src/calendar.html +246 -668
  68. package/src/charts.html +124 -668
  69. package/src/chat.html +209 -716
  70. package/src/compose.html +142 -629
  71. package/src/datatable.html +466 -1000
  72. package/src/email.html +429 -952
  73. package/src/forms.html +207 -742
  74. package/src/google-maps.html +128 -523
  75. package/src/index.html +438 -1050
  76. package/src/signin.html +92 -92
  77. package/src/signup.html +106 -91
  78. package/src/ui.html +267 -906
  79. package/src/vector-maps.html +133 -522
  80. package/dist/1e59d2330b4c6deb84b3.ttf +0 -0
  81. package/dist/20fd1704ea223900efa9.woff2 +0 -0
  82. package/dist/29b39089170885ae2967.woff +0 -0
  83. package/dist/8b43027f47b20503057d.eot +0 -0
  84. package/dist/9bad94440d49256265a5.eot +0 -0
  85. package/dist/assets/fontawesome-webfont.svg +0 -2671
  86. package/dist/assets/themify.svg +0 -362
  87. package/dist/eda8b94308c6f538f04a.ttf +0 -0
  88. package/dist/f691f37e57f04c152e23.woff +0 -0
  89. package/dist/main.js +0 -61323
  90. package/dist/main.js.map +0 -1
  91. package/src/assets/scripts/app 2.js +0 -645
  92. package/src/assets/scripts/app.js +0 -645
  93. package/src/assets/scripts/charts/chartJS/index.js +0 -148
  94. package/src/assets/scripts/charts/easyPieChart/index.js +0 -200
  95. package/src/assets/scripts/charts/index.js +0 -3
  96. package/src/assets/scripts/charts/sparkline/index.js +0 -208
  97. package/src/assets/scripts/chat/index.js +0 -11
  98. package/src/assets/scripts/components/Chart.js +0 -1390
  99. package/src/assets/scripts/components/Sidebar.js +0 -241
  100. package/src/assets/scripts/constants/colors.js +0 -274
  101. package/src/assets/scripts/datatable/index.js +0 -379
  102. package/src/assets/scripts/datepicker/index.js +0 -302
  103. package/src/assets/scripts/email/index.js +0 -25
  104. package/src/assets/scripts/fullcalendar/index.js +0 -86
  105. package/src/assets/scripts/googleMaps/index.js +0 -93
  106. package/src/assets/scripts/index.js +0 -18
  107. package/src/assets/scripts/masonry/index.js +0 -14
  108. package/src/assets/scripts/popover/index.js +0 -109
  109. package/src/assets/scripts/scrollbar/index.js +0 -10
  110. package/src/assets/scripts/search/index.js +0 -15
  111. package/src/assets/scripts/sidebar/index.js +0 -140
  112. package/src/assets/scripts/skycons/index.js +0 -52
  113. package/src/assets/scripts/ui/index.js +0 -412
  114. package/src/assets/scripts/utils/date.js +0 -242
  115. package/src/assets/scripts/utils/dom.js +0 -349
  116. package/src/assets/scripts/utils/index.js +0 -45
  117. package/src/assets/scripts/utils/theme.js +0 -107
  118. package/src/assets/scripts/vectorMaps/index.js +0 -277
  119. package/src/assets/styles/index.scss +0 -801
  120. package/src/assets/styles/spec/components/easyPieChart.scss +0 -11
  121. package/src/assets/styles/spec/components/footer.scss +0 -4
  122. package/src/assets/styles/spec/components/forms.scss +0 -288
  123. package/src/assets/styles/spec/components/index.scss +0 -9
  124. package/src/assets/styles/spec/components/loader.scss +0 -46
  125. package/src/assets/styles/spec/components/masonry.scss +0 -1
  126. package/src/assets/styles/spec/components/pageContainer.scss +0 -255
  127. package/src/assets/styles/spec/components/progressBar.scss +0 -6
  128. package/src/assets/styles/spec/components/sidebar.scss +0 -642
  129. package/src/assets/styles/spec/components/topbar.scss +0 -455
  130. package/src/assets/styles/spec/generic/base.scss +0 -102
  131. package/src/assets/styles/spec/generic/index.scss +0 -1
  132. package/src/assets/styles/spec/index.scss +0 -4
  133. package/src/assets/styles/spec/screens/chat.scss +0 -147
  134. package/src/assets/styles/spec/screens/email.scss +0 -108
  135. package/src/assets/styles/spec/screens/index.scss +0 -2
  136. package/src/assets/styles/spec/settings/baseColors.scss +0 -103
  137. package/src/assets/styles/spec/settings/borders.scss +0 -6
  138. package/src/assets/styles/spec/settings/breakpoints.scss +0 -26
  139. package/src/assets/styles/spec/settings/fonts.scss +0 -4
  140. package/src/assets/styles/spec/settings/index.scss +0 -4
  141. package/src/assets/styles/spec/settings/materialColors.scss +0 -550
  142. package/src/assets/styles/spec/tools/index.scss +0 -1
  143. package/src/assets/styles/spec/tools/mixins/clearfix.scss +0 -15
  144. package/src/assets/styles/spec/tools/mixins/index.scss +0 -3
  145. package/src/assets/styles/spec/tools/mixins/mediaQueriesRanges.scss +0 -58
  146. package/src/assets/styles/spec/tools/mixins/placeholder.scss +0 -10
  147. package/src/assets/styles/spec/utils/colors.scss +0 -33
  148. package/src/assets/styles/spec/utils/index.scss +0 -2
  149. package/src/assets/styles/spec/utils/layout/helpers/border.scss +0 -78
  150. package/src/assets/styles/spec/utils/layout/helpers/flex.scss +0 -220
  151. package/src/assets/styles/spec/utils/layout/helpers/index.scss +0 -11
  152. package/src/assets/styles/spec/utils/layout/helpers/layout.scss +0 -137
  153. package/src/assets/styles/spec/utils/layout/helpers/lists.scss +0 -23
  154. package/src/assets/styles/spec/utils/layout/helpers/margin.scss +0 -266
  155. package/src/assets/styles/spec/utils/layout/helpers/objects.scss +0 -91
  156. package/src/assets/styles/spec/utils/layout/helpers/padding.scss +0 -147
  157. package/src/assets/styles/spec/utils/layout/helpers/positions.scss +0 -118
  158. package/src/assets/styles/spec/utils/layout/helpers/pseudo.scss +0 -6
  159. package/src/assets/styles/spec/utils/layout/helpers/sizes.scss +0 -157
  160. package/src/assets/styles/spec/utils/layout/helpers/typography.scss +0 -127
  161. package/src/assets/styles/spec/utils/layout/index.scss +0 -3
  162. package/src/assets/styles/spec/utils/layout/mixins/generateResponsive.scss +0 -25
  163. package/src/assets/styles/spec/utils/layout/mixins/index.scss +0 -2
  164. package/src/assets/styles/spec/utils/layout/mixins/mediaQueryCondition.scss +0 -28
  165. package/src/assets/styles/spec/utils/layout/utils/center.scss +0 -54
  166. package/src/assets/styles/spec/utils/layout/utils/gap.scss +0 -229
  167. package/src/assets/styles/spec/utils/layout/utils/index.scss +0 -5
  168. package/src/assets/styles/spec/utils/layout/utils/layers.scss +0 -5
  169. package/src/assets/styles/spec/utils/layout/utils/peers.scss +0 -35
  170. package/src/assets/styles/utils/mobile.scss +0 -954
  171. package/src/assets/styles/utils/theme.css +0 -97
  172. package/src/assets/styles/vendor/datepicker.scss +0 -183
  173. package/src/assets/styles/vendor/font-awesome.css +0 -2337
  174. package/src/assets/styles/vendor/fullcalendar.scss +0 -217
  175. package/src/assets/styles/vendor/index.scss +0 -8
  176. package/src/assets/styles/vendor/jquery.datatables.scss +0 -162
  177. package/src/assets/styles/vendor/perfectScrollbar.scss +0 -4
  178. package/src/assets/styles/vendor/sparkline.scss +0 -6
  179. package/src/assets/styles/vendor/themify-icons.css +0 -1081
package/src/charts.html CHANGED
@@ -1,690 +1,146 @@
1
1
  <!DOCTYPE html>
2
- <html>
2
+ <html lang="en">
3
3
  <head>
4
4
  <meta charset="utf-8">
5
- <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
6
- <title>Charts</title>
7
- <style>
8
- #loader {
9
- transition: all 0.3s ease-in-out;
10
- opacity: 1;
11
- visibility: visible;
12
- position: fixed;
13
- height: 100vh;
14
- width: 100%;
15
- background: #fff;
16
- z-index: 90000;
17
- }
18
-
19
- #loader.fadeOut {
20
- opacity: 0;
21
- visibility: hidden;
22
- }
23
-
24
-
25
-
26
- .spinner {
27
- width: 40px;
28
- height: 40px;
29
- position: absolute;
30
- top: calc(50% - 20px);
31
- left: calc(50% - 20px);
32
- background-color: #333;
33
- border-radius: 100%;
34
- -webkit-animation: sk-scaleout 1.0s infinite ease-in-out;
35
- animation: sk-scaleout 1.0s infinite ease-in-out;
36
- }
37
-
38
- @-webkit-keyframes sk-scaleout {
39
- 0% { -webkit-transform: scale(0) }
40
- 100% {
41
- -webkit-transform: scale(1.0);
42
- opacity: 0;
43
- }
44
- }
45
-
46
- @keyframes sk-scaleout {
47
- 0% {
48
- -webkit-transform: scale(0);
49
- transform: scale(0);
50
- } 100% {
51
- -webkit-transform: scale(1.0);
52
- transform: scale(1.0);
53
- opacity: 0;
54
- }
55
- }
56
- </style>
57
- </head>
58
- <body class="app">
59
- <!-- @TOC -->
60
- <!-- =================================================== -->
61
- <!--
62
- + @Page Loader
63
- + @App Content
64
- - #Left Sidebar
65
- > $Sidebar Header
66
- > $Sidebar Menu
67
-
68
- - #Main
69
- > $Topbar
70
- > $App Screen Content
71
- -->
72
-
73
- <!-- @Page Loader -->
74
- <!-- =================================================== -->
75
- <div id='loader'>
76
- <div class="spinner"></div>
77
- </div>
78
-
5
+ <meta name="viewport" content="width=device-width, initial-scale=1">
6
+ <title>Charts · 2026 Redesign Preview</title>
79
7
  <script>
80
- window.addEventListener('load', function load() {
81
- const loader = document.getElementById('loader');
82
- setTimeout(function() {
83
- loader.classList.add('fadeOut');
84
- }, 300);
85
- });
8
+ (function () {
9
+ try {
10
+ var saved = localStorage.getItem('dash26-theme');
11
+ var prefersDark = window.matchMedia('(prefers-color-scheme: dark)').matches;
12
+ document.documentElement.setAttribute('data-theme', saved || (prefersDark ? 'dark' : 'light'));
13
+ } catch (e) {
14
+ document.documentElement.setAttribute('data-theme', 'light');
15
+ }
16
+ })();
86
17
  </script>
87
-
88
- <!-- @App Content -->
89
- <!-- =================================================== -->
90
- <div>
91
- <!-- #Left Sidebar ==================== -->
92
- <div class="sidebar">
93
- <div class="sidebar-inner">
94
- <!-- ### $Sidebar Header ### -->
95
- <div class="sidebar-logo">
96
- <div class="peers ai-c fxw-nw">
97
- <div class="peer peer-greed">
98
- <a class="sidebar-link td-n" href="index.html">
99
- <div class="peers ai-c fxw-nw">
100
- <div class="peer">
101
- <div class="logo">
102
- <img src="assets/static/images/logo.svg" alt="">
103
- </div>
104
- </div>
105
- <div class="peer peer-greed">
106
- <h5 class="lh-1 mB-0 logo-text">Adminator</h5>
107
- </div>
108
- </div>
109
- </a>
110
- </div>
111
- <div class="peer">
112
- <div class="mobile-toggle sidebar-toggle">
113
- <a href="" class="td-n">
114
- <i class="ti-arrow-circle-left"></i>
115
- </a>
116
- </div>
117
- </div>
118
- </div>
18
+ </head>
19
+ <body data-active="charts" data-crumbs="Components | Charts">
20
+ <div class="shell">
21
+ <div data-shell-sidebar></div>
22
+ <div class="main">
23
+ <div data-shell-topbar></div>
24
+ <main class="content">
25
+ <section class="hero">
26
+ <div class="hero-text">
27
+ <span class="eyebrow">Components · 04</span>
28
+ <h1 class="hero-title">Charts</h1>
29
+ <p class="hero-sub">Real Chart.js charts wired to the 2026 tokens — line, bar, area, doughnut, radar, stacked. They re-render automatically on theme toggle.</p>
119
30
  </div>
120
-
121
- <!-- ### $Sidebar Menu ### -->
122
- <ul class="sidebar-menu scrollable pos-r">
123
- <li class="nav-item mT-30">
124
- <a class="sidebar-link" href="index.html">
125
- <span class="icon-holder">
126
- <i class="c-blue-500 ti-home"></i>
127
- </span>
128
- <span class="title">Dashboard</span>
129
- </a>
130
- </li>
131
- <li class="nav-item">
132
- <a class='sidebar-link' href="email.html">
133
- <span class="icon-holder">
134
- <i class="c-brown-500 ti-email"></i>
135
- </span>
136
- <span class="title">Email</span>
137
- </a>
138
- </li>
139
- <li class="nav-item">
140
- <a class='sidebar-link' href="compose.html">
141
- <span class="icon-holder">
142
- <i class="c-blue-500 ti-share"></i>
143
- </span>
144
- <span class="title">Compose</span>
145
- </a>
146
- </li>
147
- <li class="nav-item">
148
- <a class='sidebar-link' href="calendar.html">
149
- <span class="icon-holder">
150
- <i class="c-deep-orange-500 ti-calendar"></i>
151
- </span>
152
- <span class="title">Calendar</span>
153
- </a>
154
- </li>
155
- <li class="nav-item">
156
- <a class='sidebar-link' href="chat.html">
157
- <span class="icon-holder">
158
- <i class="c-deep-purple-500 ti-comment-alt"></i>
159
- </span>
160
- <span class="title">Chat</span>
161
- </a>
162
- </li>
163
- <li class="nav-item">
164
- <a class='sidebar-link' href="charts.html">
165
- <span class="icon-holder">
166
- <i class="c-indigo-500 ti-bar-chart"></i>
167
- </span>
168
- <span class="title">Charts</span>
169
- </a>
170
- </li>
171
- <li class="nav-item">
172
- <a class='sidebar-link' href="forms.html">
173
- <span class="icon-holder">
174
- <i class="c-light-blue-500 ti-pencil"></i>
175
- </span>
176
- <span class="title">Forms</span>
177
- </a>
178
- </li>
179
- <li class="nav-item dropdown">
180
- <a class="sidebar-link" href="ui.html">
181
- <span class="icon-holder">
182
- <i class="c-pink-500 ti-palette"></i>
183
- </span>
184
- <span class="title">UI Elements</span>
185
- </a>
186
- </li>
187
- <li class="nav-item dropdown">
188
- <a class="dropdown-toggle" href="javascript:void(0);">
189
- <span class="icon-holder">
190
- <i class="c-orange-500 ti-layout-list-thumb"></i>
191
- </span>
192
- <span class="title">Tables</span>
193
- <span class="arrow">
194
- <i class="ti-angle-right"></i>
195
- </span>
196
- </a>
197
- <ul class="dropdown-menu">
198
- <li>
199
- <a class='sidebar-link' href="basic-table.html">Basic Table</a>
200
- </li>
201
- <li>
202
- <a class='sidebar-link' href="datatable.html">Data Table</a>
203
- </li>
204
- </ul>
205
- </li>
206
- <li class="nav-item dropdown">
207
- <a class="dropdown-toggle" href="javascript:void(0);">
208
- <span class="icon-holder">
209
- <i class="c-purple-500 ti-map"></i>
210
- </span>
211
- <span class="title">Maps</span>
212
- <span class="arrow">
213
- <i class="ti-angle-right"></i>
214
- </span>
215
- </a>
216
- <ul class="dropdown-menu">
217
- <li>
218
- <a href="google-maps.html">Google Map</a>
219
- </li>
220
- <li>
221
- <a href="vector-maps.html">Vector Map</a>
222
- </li>
223
- </ul>
224
- </li>
225
- <li class="nav-item dropdown">
226
- <a class="dropdown-toggle" href="javascript:void(0);">
227
- <span class="icon-holder">
228
- <i class="c-red-500 ti-files"></i>
229
- </span>
230
- <span class="title">Pages</span>
231
- <span class="arrow">
232
- <i class="ti-angle-right"></i>
233
- </span>
234
- </a>
235
- <ul class="dropdown-menu">
236
- <li>
237
- <a class='sidebar-link' href="blank.html">Blank</a>
238
- </li>
239
- <li>
240
- <a class='sidebar-link' href="404.html">404</a>
241
- </li>
242
- <li>
243
- <a class='sidebar-link' href="500.html">500</a>
244
- </li>
245
- <li>
246
- <a class='sidebar-link' href="signin.html">Sign In</a>
247
- </li>
248
- <li>
249
- <a class='sidebar-link' href="signup.html">Sign Up</a>
250
- </li>
251
- </ul>
252
- </li>
253
- <li class="nav-item dropdown">
254
- <a class="dropdown-toggle" href="javascript:void(0);">
255
- <span class="icon-holder">
256
- <i class="c-teal-500 ti-view-list-alt"></i>
257
- </span>
258
- <span class="title">Multiple Levels</span>
259
- <span class="arrow">
260
- <i class="ti-angle-right"></i>
261
- </span>
262
- </a>
263
- <ul class="dropdown-menu">
264
- <li class="nav-item dropdown">
265
- <a href="javascript:void(0);">
266
- <span>Menu Item</span>
267
- </a>
268
- </li>
269
- <li class="nav-item dropdown">
270
- <a href="javascript:void(0);">
271
- <span>Menu Item</span>
272
- <span class="arrow">
273
- <i class="ti-angle-right"></i>
274
- </span>
275
- </a>
276
- <ul class="dropdown-menu">
277
- <li>
278
- <a href="javascript:void(0);">Menu Item</a>
279
- </li>
280
- <li>
281
- <a href="javascript:void(0);">Menu Item</a>
282
- </li>
283
- </ul>
284
- </li>
285
- </ul>
286
- </li>
287
- </ul>
288
- </div>
289
- </div>
290
-
291
- <!-- #Main ============================ -->
292
- <div class="page-container">
293
- <!-- ### $Topbar ### -->
294
- <div class="header navbar">
295
- <div class="header-container">
296
- <ul class="nav-left">
297
- <li>
298
- <a id='sidebar-toggle' class="sidebar-toggle" href="javascript:void(0);">
299
- <i class="ti-menu"></i>
300
- </a>
301
- </li>
302
- <li class="search-box">
303
- <a class="search-toggle no-pdd-right" href="javascript:void(0);">
304
- <i class="search-icon ti-search pdd-right-10"></i>
305
- <i class="search-icon-close ti-close pdd-right-10"></i>
306
- </a>
307
- </li>
308
- <li class="search-input">
309
- <input class="form-control" type="text" placeholder="Search...">
310
- </li>
311
- </ul>
312
- <ul class="nav-right">
313
- <li class="notifications dropdown">
314
- <span class="counter bgc-red">3</span>
315
- <a href="" class="dropdown-toggle no-after" data-bs-toggle="dropdown">
316
- <i class="ti-bell"></i>
317
- </a>
318
-
319
- <ul class="dropdown-menu">
320
- <li class="pX-20 pY-15 bdB">
321
- <i class="ti-bell pR-10"></i>
322
- <span class="fsz-sm fw-600 c-grey-900">Notifications</span>
323
- </li>
324
- <li>
325
- <ul class="ovY-a pos-r scrollable lis-n p-0 m-0 fsz-sm">
326
- <li>
327
- <a href="" class='peers fxw-nw td-n p-20 bdB c-grey-800 cH-blue bgcH-grey-100'>
328
- <div class="peer mR-15">
329
- <img class="w-3r bdrs-50p" src="https://randomuser.me/api/portraits/men/1.jpg" alt="">
330
- </div>
331
- <div class="peer peer-greed">
332
- <span>
333
- <span class="fw-500">John Doe</span>
334
- <span class="c-grey-600">liked your <span class="text-dark">post</span>
335
- </span>
336
- </span>
337
- <p class="m-0">
338
- <small class="fsz-xs">5 mins ago</small>
339
- </p>
340
- </div>
341
- </a>
342
- </li>
343
- <li>
344
- <a href="" class='peers fxw-nw td-n p-20 bdB c-grey-800 cH-blue bgcH-grey-100'>
345
- <div class="peer mR-15">
346
- <img class="w-3r bdrs-50p" src="https://randomuser.me/api/portraits/men/2.jpg" alt="">
347
- </div>
348
- <div class="peer peer-greed">
349
- <span>
350
- <span class="fw-500">Moo Doe</span>
351
- <span class="c-grey-600">liked your <span class="text-dark">cover image</span>
352
- </span>
353
- </span>
354
- <p class="m-0">
355
- <small class="fsz-xs">7 mins ago</small>
356
- </p>
357
- </div>
358
- </a>
359
- </li>
360
- <li>
361
- <a href="" class='peers fxw-nw td-n p-20 bdB c-grey-800 cH-blue bgcH-grey-100'>
362
- <div class="peer mR-15">
363
- <img class="w-3r bdrs-50p" src="https://randomuser.me/api/portraits/men/3.jpg" alt="">
364
- </div>
365
- <div class="peer peer-greed">
366
- <span>
367
- <span class="fw-500">Lee Doe</span>
368
- <span class="c-grey-600">commented on your <span class="text-dark">video</span>
369
- </span>
370
- </span>
371
- <p class="m-0">
372
- <small class="fsz-xs">10 mins ago</small>
373
- </p>
374
- </div>
375
- </a>
376
- </li>
377
- </ul>
378
- </li>
379
- <li class="pX-20 pY-15 ta-c bdT">
380
- <span>
381
- <a href="" class="c-grey-600 cH-blue fsz-sm td-n">View All Notifications <i class="ti-angle-right fsz-xs mL-10"></i></a>
382
- </span>
383
- </li>
384
- </ul>
385
- </li>
386
- <li class="notifications dropdown">
387
- <span class="counter bgc-blue">3</span>
388
- <a href="" class="dropdown-toggle no-after" data-bs-toggle="dropdown">
389
- <i class="ti-email"></i>
390
- </a>
391
-
392
- <ul class="dropdown-menu">
393
- <li class="pX-20 pY-15 bdB">
394
- <i class="ti-email pR-10"></i>
395
- <span class="fsz-sm fw-600 c-grey-900">Emails</span>
396
- </li>
397
- <li>
398
- <ul class="ovY-a pos-r scrollable lis-n p-0 m-0 fsz-sm">
399
- <li>
400
- <a href="" class='peers fxw-nw td-n p-20 bdB c-grey-800 cH-blue bgcH-grey-100'>
401
- <div class="peer mR-15">
402
- <img class="w-3r bdrs-50p" src="https://randomuser.me/api/portraits/men/1.jpg" alt="">
403
- </div>
404
- <div class="peer peer-greed">
405
- <div>
406
- <div class="peers jc-sb fxw-nw mB-5">
407
- <div class="peer">
408
- <p class="fw-500 mB-0">John Doe</p>
409
- </div>
410
- <div class="peer">
411
- <small class="fsz-xs">5 mins ago</small>
412
- </div>
413
- </div>
414
- <span class="c-grey-600 fsz-sm">
415
- Want to create your own customized data generator for your app...
416
- </span>
417
- </div>
418
- </div>
419
- </a>
420
- </li>
421
- <li>
422
- <a href="" class='peers fxw-nw td-n p-20 bdB c-grey-800 cH-blue bgcH-grey-100'>
423
- <div class="peer mR-15">
424
- <img class="w-3r bdrs-50p" src="https://randomuser.me/api/portraits/men/2.jpg" alt="">
425
- </div>
426
- <div class="peer peer-greed">
427
- <div>
428
- <div class="peers jc-sb fxw-nw mB-5">
429
- <div class="peer">
430
- <p class="fw-500 mB-0">Moo Doe</p>
431
- </div>
432
- <div class="peer">
433
- <small class="fsz-xs">15 mins ago</small>
434
- </div>
435
- </div>
436
- <span class="c-grey-600 fsz-sm">
437
- Want to create your own customized data generator for your app...
438
- </span>
439
- </div>
440
- </div>
441
- </a>
442
- </li>
443
- <li>
444
- <a href="" class='peers fxw-nw td-n p-20 bdB c-grey-800 cH-blue bgcH-grey-100'>
445
- <div class="peer mR-15">
446
- <img class="w-3r bdrs-50p" src="https://randomuser.me/api/portraits/men/3.jpg" alt="">
447
- </div>
448
- <div class="peer peer-greed">
449
- <div>
450
- <div class="peers jc-sb fxw-nw mB-5">
451
- <div class="peer">
452
- <p class="fw-500 mB-0">Lee Doe</p>
453
- </div>
454
- <div class="peer">
455
- <small class="fsz-xs">25 mins ago</small>
456
- </div>
457
- </div>
458
- <span class="c-grey-600 fsz-sm">
459
- Want to create your own customized data generator for your app...
460
- </span>
461
- </div>
462
- </div>
463
- </a>
464
- </li>
465
- </ul>
466
- </li>
467
- <li class="pX-20 pY-15 ta-c bdT">
468
- <span>
469
- <a href="email.html" class="c-grey-600 cH-blue fsz-sm td-n">View All Email <i class="fs-xs ti-angle-right mL-10"></i></a>
470
- </span>
471
- </li>
472
- </ul>
473
- </li>
474
- <li class="dropdown">
475
- <a href="" class="dropdown-toggle no-after peers fxw-nw ai-c lh-1" data-bs-toggle="dropdown">
476
- <div class="peer mR-10">
477
- <img class="w-2r bdrs-50p" src="https://randomuser.me/api/portraits/men/10.jpg" alt="">
478
- </div>
479
- <div class="peer">
480
- <span class="fsz-sm c-grey-900">John Doe</span>
481
- </div>
482
- </a>
483
- <ul class="dropdown-menu fsz-sm">
484
- <li>
485
- <a href="" class="d-b td-n pY-5 bgcH-grey-100 c-grey-700">
486
- <i class="ti-settings mR-10"></i>
487
- <span>Setting</span>
488
- </a>
489
- </li>
490
- <li>
491
- <a href="" class="d-b td-n pY-5 bgcH-grey-100 c-grey-700">
492
- <i class="ti-user mR-10"></i>
493
- <span>Profile</span>
494
- </a>
495
- </li>
496
- <li>
497
- <a href="email.html" class="d-b td-n pY-5 bgcH-grey-100 c-grey-700">
498
- <i class="ti-email mR-10"></i>
499
- <span>Messages</span>
500
- </a>
501
- </li>
502
- <li role="separator" class="divider"></li>
503
- <li>
504
- <a href="" class="d-b td-n pY-5 bgcH-grey-100 c-grey-700">
505
- <i class="ti-power-off mR-10"></i>
506
- <span>Logout</span>
507
- </a>
508
- </li>
509
- </ul>
510
- </li>
511
- </ul>
31
+ <div class="hero-actions">
32
+ <button class="btn btn--ghost">
33
+ <svg viewBox="0 0 24 24"><path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"/><path d="M7 10l5 5 5-5"/><path d="M12 15V3"/></svg>
34
+ Export PNG
35
+ </button>
36
+ <button class="btn btn--primary">
37
+ <svg viewBox="0 0 24 24"><path d="M12 5v14M5 12h14"/></svg>
38
+ New chart
39
+ </button>
512
40
  </div>
513
- </div>
41
+ </section>
514
42
 
515
- <!-- ### $App Screen Content ### -->
516
- <main class='main-content bgc-grey-100'>
517
- <div id='mainContent'>
518
- <div class="row gap-20 masonry pos-r">
519
- <div class="masonry-sizer col-md-6 pos-a"></div>
520
- <div class="masonry-item col-md-6">
521
- <div class="bgc-white p-20 bd">
522
- <h6 class="c-grey-900">Line Chart</h6>
523
- <div class="mT-30">
524
- <canvas id="line-chart" height="220"></canvas>
525
- </div>
526
- </div>
527
- </div>
528
- <div class="masonry-item col-md-6">
529
- <div class="bgc-white p-20 bd">
530
- <h6 class="c-grey-900">Area Chart</h6>
531
- <div class="mT-30">
532
- <canvas id="area-chart" height="220"></canvas>
533
- </div>
534
- </div>
535
- </div>
536
- <div class="masonry-item col-md-6">
537
- <div class="bgc-white p-20 bd">
538
- <h6 class="c-grey-900">Scatter Chart</h6>
539
- <div class="mT-30">
540
- <canvas id="scatter-chart" height="220"></canvas>
541
- </div>
542
- </div>
543
- </div>
544
- <div class="masonry-item col-md-6">
545
- <div class="bgc-white p-20 bd">
546
- <h6 class="c-grey-900">Bar Chart</h6>
547
- <div class="mT-30">
548
- <canvas id="bar-chart" height="220"></canvas>
549
- </div>
550
- </div>
43
+ <div class="grid">
44
+
45
+ <!-- Revenue line -->
46
+ <section class="col-12 card">
47
+ <div class="card-head">
48
+ <div class="card-title-wrap">
49
+ <span class="eyebrow">Revenue</span>
50
+ <h2 class="card-title">Year-over-year</h2>
551
51
  </div>
552
- <div class="masonry-item col-md-6">
553
- <div class="bgc-white p-20 bd">
554
- <h6 class="c-grey-900">jQuery Sparkline</h6>
555
- <div class="mT-30">
556
- <div class="peers ai-c jc-sb fxw-nw bdB pY-15">
557
- <div class="peer">
558
- <span>Spark Line</span>
559
- </div>
560
- <div class="peer">
561
- <span class="sparkline">&nbsp;</span>
562
- </div>
563
- </div>
564
- <div class="peers ai-c jc-sb fxw-nw bdB pY-15">
565
- <div class="peer">
566
- <span>Spark Bar</span>
567
- </div>
568
- <div class="peer">
569
- <span class="sparkbar">&nbsp;</span>
570
- </div>
571
- </div>
572
- <div class="peers ai-c jc-sb fxw-nw bdB pY-15">
573
- <div class="peer">
574
- <span>Spark Tristate</span>
575
- </div>
576
- <div class="peer">
577
- <span class="sparktri">&nbsp;</span>
578
- </div>
579
- </div>
580
- <div class="peers ai-c jc-sb fxw-nw bdB pY-15">
581
- <div class="peer">
582
- <span>Spark Discrete</span>
583
- </div>
584
- <div class="peer">
585
- <span class="sparkdisc">&nbsp;</span>
586
- </div>
587
- </div>
588
- <div class="peers ai-c jc-sb fxw-nw bdB pY-15">
589
- <div class="peer">
590
- <span>Spark Bullet</span>
591
- </div>
592
- <div class="peer">
593
- <span class="sparkbull">&nbsp;</span>
594
- </div>
595
- </div>
596
- <div class="peers ai-c jc-sb fxw-nw pT-15">
597
- <div class="peer">
598
- <span>Spark Box</span>
599
- </div>
600
- <div class="peer">
601
- <span class="sparkbox">&nbsp;</span>
602
- </div>
603
- </div>
604
- </div>
52
+ <div class="demo-row" style="gap: 6px;">
53
+ <div class="btn-group">
54
+ <button class="btn btn--ghost btn--sm">M</button>
55
+ <button class="btn btn--ghost btn--sm is-active">Q</button>
56
+ <button class="btn btn--ghost btn--sm">Y</button>
605
57
  </div>
606
58
  </div>
607
- <div class="masonry-item col-md-6">
608
- <div class="bgc-white p-20 bd">
609
- <h6 class="c-grey-900">Doughnut Chart</h6>
610
- <div class="mT-30">
611
- <canvas id="doughnut-chart" height="220"></canvas>
612
- </div>
613
- </div>
59
+ </div>
60
+ <div class="chart-canvas-wrap" style="height: 280px;">
61
+ <canvas data-chart-key="revenue-line"></canvas>
62
+ </div>
63
+ <div class="chart-meta-row">
64
+ <div class="chart-meta-cell"><span class="chart-meta-label">Total · 2026</span><span class="chart-meta-value">$1.24M</span></div>
65
+ <div class="chart-meta-cell"><span class="chart-meta-label">YoY</span><span class="chart-meta-value up">+38.2%</span></div>
66
+ <div class="chart-meta-cell"><span class="chart-meta-label">Best month</span><span class="chart-meta-value">Dec</span></div>
67
+ <div class="chart-meta-cell"><span class="chart-meta-label">Forecast</span><span class="chart-meta-value">$2.1M</span></div>
68
+ </div>
69
+ </section>
70
+
71
+ <!-- Channels bar -->
72
+ <section class="col-6 card">
73
+ <div class="card-head">
74
+ <div class="card-title-wrap">
75
+ <span class="eyebrow">Acquisition</span>
76
+ <h2 class="card-title">Channels</h2>
614
77
  </div>
615
- <div class="masonry-item col-md-6">
616
- <div class="bgc-white p-20 bd">
617
- <h6 class="c-grey-900">Polar Area Chart</h6>
618
- <div class="mT-30">
619
- <canvas id="polar-chart" height="220"></canvas>
620
- </div>
621
- </div>
78
+ <a class="card-action" href="#">View all <svg viewBox="0 0 24 24"><path d="M5 12h14M13 5l7 7-7 7"/></svg></a>
79
+ </div>
80
+ <div class="chart-canvas-wrap" style="height: 240px;">
81
+ <canvas data-chart-key="channels-bar"></canvas>
82
+ </div>
83
+ </section>
84
+
85
+ <!-- Devices doughnut -->
86
+ <section class="col-6 card">
87
+ <div class="card-head">
88
+ <div class="card-title-wrap">
89
+ <span class="eyebrow">Devices</span>
90
+ <h2 class="card-title">Session split</h2>
622
91
  </div>
623
- <div class="masonry-item col-md-6">
624
- <div class="bgc-white p-20 bd">
625
- <h6 class="c-grey-900">Radar Chart</h6>
626
- <div class="mT-30">
627
- <canvas id="radar-chart" height="220"></canvas>
628
- </div>
629
- </div>
92
+ <span class="badge primary">42K SESSIONS</span>
93
+ </div>
94
+ <div class="chart-canvas-wrap" style="height: 240px;">
95
+ <canvas data-chart-key="devices-doughnut"></canvas>
96
+ </div>
97
+ </section>
98
+
99
+ <!-- Sources radar -->
100
+ <section class="col-6 card">
101
+ <div class="card-head">
102
+ <div class="card-title-wrap">
103
+ <span class="eyebrow">Benchmark</span>
104
+ <h2 class="card-title">vs competitor</h2>
630
105
  </div>
631
- <div class="masonry-item col-md-6">
632
- <div class="bgc-white p-20 bd">
633
- <h6 class="c-grey-900">Mixed Chart</h6>
634
- <div class="mT-30">
635
- <canvas id="mixed-chart" height="220"></canvas>
636
- </div>
637
- </div>
106
+ </div>
107
+ <div class="chart-canvas-wrap" style="height: 280px;">
108
+ <canvas data-chart-key="sources-radar"></canvas>
109
+ </div>
110
+ </section>
111
+
112
+ <!-- MRR stacked -->
113
+ <section class="col-6 card">
114
+ <div class="card-head">
115
+ <div class="card-title-wrap">
116
+ <span class="eyebrow">MRR by plan</span>
117
+ <h2 class="card-title">Quarterly stack</h2>
638
118
  </div>
639
- <div class="masonry-item col-md-6">
640
- <div class="bgc-white p-20 bd">
641
- <h6 class="c-grey-900">Bubble Chart</h6>
642
- <div class="mT-30">
643
- <canvas id="bubble-chart" height="220"></canvas>
644
- </div>
645
- </div>
119
+ </div>
120
+ <div class="chart-canvas-wrap" style="height: 280px;">
121
+ <canvas data-chart-key="mrr-stacked"></canvas>
122
+ </div>
123
+ </section>
124
+
125
+ <!-- Sessions area -->
126
+ <section class="col-12 card">
127
+ <div class="card-head">
128
+ <div class="card-title-wrap">
129
+ <span class="eyebrow">Engagement · last 30 days</span>
130
+ <h2 class="card-title">Sessions trend</h2>
646
131
  </div>
647
- <div class="masonry-item col-md-6">
648
- <div class="bgc-white p-20 bd">
649
- <h6 class="c-grey-900">Easy Pie Charts</h6>
650
- <div class="mT-30">
651
- <div class="peers mT-20 fxw-nw@lg+ jc-sb ta-c gap-10">
652
- <div class="peer">
653
- <div class="easy-pie-chart" data-size='80' data-percent="75" data-bar-color='#f44336'>
654
- <span></span>
655
- </div>
656
- <h6 class="fsz-sm">New Users</h6>
657
- </div>
658
- <div class="peer">
659
- <div class="easy-pie-chart" data-size='80' data-percent="50" data-bar-color='#2196f3'>
660
- <span></span>
661
- </div>
662
- <h6 class="fsz-sm">New Purchases</h6>
663
- </div>
664
- <div class="peer">
665
- <div class="easy-pie-chart" data-size='80' data-percent="65" data-bar-color='#f44336'>
666
- <span></span>
667
- </div>
668
- <h6 class="fsz-sm">New Customers</h6>
669
- </div>
670
- <div class="peer">
671
- <div class="easy-pie-chart" data-size='80' data-percent="90" data-bar-color='#ff9800'>
672
- <span></span>
673
- </div>
674
- <h6 class="fsz-sm">Bounce Rate</h6>
675
- </div>
676
- </div>
677
- </div>
678
- </div>
132
+ <div class="chart-meta-row" style="border: 0; padding: 0; margin: 0; gap: 24px;">
133
+ <div class="chart-meta-cell"><span class="chart-meta-label">Today</span><span class="chart-meta-value">432</span></div>
134
+ <div class="chart-meta-cell"><span class="chart-meta-label">7d avg</span><span class="chart-meta-value">388</span></div>
679
135
  </div>
680
136
  </div>
681
- </div>
137
+ <div class="chart-canvas-wrap" style="height: 220px;">
138
+ <canvas data-chart-key="sessions-area"></canvas>
139
+ </div>
140
+ </section>
141
+ </div>
682
142
  </main>
683
-
684
- <!-- ### $App Screen Footer ### -->
685
- <footer class="bdT ta-c p-30 lh-0 fsz-sm c-grey-600">
686
- <span>Copyright © 2025 Designed by <a href="https://colorlib.com" target="_blank" rel="nofollow noopener noreferrer" title="Colorlib">Colorlib</a>. All rights reserved.</span>
687
- </footer>
143
+ <div data-shell-footer></div>
688
144
  </div>
689
145
  </div>
690
146
  </body>