vue-chrts 0.0.114 → 0.0.115

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 (71) hide show
  1. package/.vscode/extensions.json +3 -0
  2. package/auto-imports.d.ts +58 -0
  3. package/components.d.ts +46 -0
  4. package/image.png +0 -0
  5. package/index.html +14 -0
  6. package/index.js +2 -0
  7. package/package.json +1 -4
  8. package/src/components/Area/AreaChart.vue +141 -0
  9. package/src/components/Area/index.ts +1 -0
  10. package/src/components/AreaStacked/AreaStackedChart.vue +51 -0
  11. package/{dist/components/AreaStacked/index.d.ts → src/components/AreaStacked/index.ts} +1 -1
  12. package/src/components/Bar/BarChart.vue +130 -0
  13. package/src/components/Bar/index.ts +1 -0
  14. package/src/components/Crosshair/Crosshair.vue +46 -0
  15. package/src/components/Crosshair/index.ts +1 -0
  16. package/src/components/Donut/DonutChart.vue +71 -0
  17. package/src/components/Donut/index.ts +1 -0
  18. package/src/components/Line/LineChart.vue +94 -0
  19. package/src/components/Line/index.ts +1 -0
  20. package/src/components/Tooltip.vue +17 -0
  21. package/src/components.ts +6 -0
  22. package/src/index.ts +6 -0
  23. package/src/shims-vue.d.ts +1 -0
  24. package/src-demo/AdminTemplate.vue +5 -0
  25. package/src-demo/App.vue +37 -0
  26. package/src-demo/AreaChartPage.vue +125 -0
  27. package/src-demo/BarChartPage.vue +166 -0
  28. package/src-demo/DashboardTemplate.vue +687 -0
  29. package/src-demo/Homepage.vue +325 -0
  30. package/src-demo/LineChartPage.vue +140 -0
  31. package/src-demo/assets/main.css +34 -0
  32. package/src-demo/components/Progress/Progress.vue +42 -0
  33. package/src-demo/components/Progress/index.ts +1 -0
  34. package/src-demo/components/Status/Status.vue +95 -0
  35. package/src-demo/components/Status/index.ts +1 -0
  36. package/src-demo/components/charts.ts +37 -0
  37. package/src-demo/components/index.ts +49 -0
  38. package/src-demo/data/AreaChartData.ts +294 -0
  39. package/src-demo/data/BarChartData.ts +79 -0
  40. package/src-demo/data/IncomeExpenseData.ts +189 -0
  41. package/src-demo/data/InvestmentData.ts +352 -0
  42. package/src-demo/data/RevenueData.ts +58 -0
  43. package/src-demo/data/VisitorsData.ts +260 -0
  44. package/src-demo/elements/Button.vue +13 -0
  45. package/src-demo/elements/Card.vue +17 -0
  46. package/src-demo/elements/Dropdown.vue +112 -0
  47. package/src-demo/elements/Logo.vue +8 -0
  48. package/src-demo/elements/Table.vue +363 -0
  49. package/src-demo/elements/TopBar.vue +40 -0
  50. package/src-demo/index.ts +58 -0
  51. package/tsconfig.json +11 -0
  52. package/vite.config.ts +59 -0
  53. package/dist/components/Area/AreaChart.vue.d.ts +0 -37
  54. package/dist/components/Area/index.d.ts +0 -1
  55. package/dist/components/AreaStacked/AreaStackedChart.vue.d.ts +0 -18
  56. package/dist/components/Bar/BarChart.vue.d.ts +0 -37
  57. package/dist/components/Bar/index.d.ts +0 -1
  58. package/dist/components/Crosshair/Crosshair.vue.d.ts +0 -38
  59. package/dist/components/Crosshair/index.d.ts +0 -1
  60. package/dist/components/Donut/DonutChart.vue.d.ts +0 -31
  61. package/dist/components/Donut/index.d.ts +0 -1
  62. package/dist/components/Line/LineChart.vue.d.ts +0 -28
  63. package/dist/components/Line/index.d.ts +0 -1
  64. package/dist/components/Tooltip.vue.d.ts +0 -14
  65. package/dist/components.d.ts +0 -6
  66. package/dist/index.cjs +0 -502
  67. package/dist/index.cjs.map +0 -1
  68. package/dist/index.d.ts +0 -5
  69. package/dist/index.js +0 -9615
  70. package/dist/index.js.map +0 -1
  71. /package/{dist → public}/vite.svg +0 -0
@@ -0,0 +1,687 @@
1
+ <script lang="ts" setup>
2
+ import { computed } from "vue";
3
+ import Card from "./elements/Card.vue";
4
+ import Button from "./elements/Button.vue";
5
+ import Dropdown from "./elements/Dropdown.vue";
6
+
7
+ import { useColorMode } from "@vueuse/core";
8
+
9
+ const colorMode = useColorMode();
10
+ const isDark = computed(() => colorMode.value === "dark");
11
+
12
+ import { BarChart } from "./../src/components";
13
+ import { PaginationPosition } from "./../src";
14
+
15
+ function setColorMode() {
16
+ colorMode.value = isDark.value ? "light" : "dark";
17
+ }
18
+
19
+ const LLMFields = {
20
+ total_tokens: { name: "Tokens", color: "#00dc82" },
21
+ };
22
+
23
+ const ClaudeData = [
24
+ {
25
+ model: "claude",
26
+ prompt_tokens: 150,
27
+ completion_tokens: 300,
28
+ total_tokens: 450,
29
+ timestamp: "2023-10-26T10:00:00Z",
30
+ },
31
+ {
32
+ model: "claude",
33
+ prompt_tokens: 50,
34
+ completion_tokens: 100,
35
+ total_tokens: 150,
36
+ timestamp: "2023-10-26T10:15:00Z",
37
+ },
38
+ {
39
+ model: "claude",
40
+ prompt_tokens: 200,
41
+ completion_tokens: 50,
42
+ total_tokens: 0.0,
43
+ timestamp: "2023-10-26T10:30:00Z",
44
+ },
45
+ {
46
+ model: "claude",
47
+ prompt_tokens: 100,
48
+ completion_tokens: 200,
49
+ total_tokens: 0,
50
+ timestamp: "2023-10-27T11:00:00Z",
51
+ },
52
+ {
53
+ model: "claude",
54
+ prompt_tokens: 300,
55
+ completion_tokens: 150,
56
+ total_tokens: 0,
57
+ timestamp: "2023-10-28T12:00:00Z",
58
+ },
59
+ {
60
+ model: "claude",
61
+ prompt_tokens: 75,
62
+ completion_tokens: 125,
63
+ total_tokens: 0,
64
+ timestamp: "2023-10-29T13:00:00Z",
65
+ },
66
+ {
67
+ model: "claude",
68
+ prompt_tokens: 120,
69
+ completion_tokens: 180,
70
+ total_tokens: 300,
71
+ timestamp: "2023-10-30T14:00:00Z",
72
+ },
73
+ {
74
+ model: "claude",
75
+ prompt_tokens: 250,
76
+ completion_tokens: 350,
77
+ total_tokens: 320,
78
+ timestamp: "2023-10-31T15:00:00Z",
79
+ },
80
+ {
81
+ model: "claude",
82
+ prompt_tokens: 80,
83
+ completion_tokens: 90,
84
+ total_tokens: 0,
85
+ timestamp: "2023-11-01T16:00:00Z",
86
+ },
87
+ {
88
+ model: "claude",
89
+ prompt_tokens: 400,
90
+ completion_tokens: 200,
91
+ total_tokens: 0,
92
+ timestamp: "2023-11-02T17:00:00Z",
93
+ },
94
+ {
95
+ model: "claude",
96
+ prompt_tokens: 60,
97
+ completion_tokens: 140,
98
+ total_tokens: 0,
99
+ timestamp: "2023-11-03T18:00:00Z",
100
+ },
101
+ {
102
+ model: "claude",
103
+ prompt_tokens: 180,
104
+ completion_tokens: 220,
105
+ total_tokens: 0,
106
+ timestamp: "2023-11-04T19:00:00Z",
107
+ },
108
+ {
109
+ model: "claude",
110
+ prompt_tokens: 350,
111
+ completion_tokens: 450,
112
+ total_tokens: 300,
113
+ timestamp: "2023-11-05T20:00:00Z",
114
+ },
115
+ {
116
+ model: "claude",
117
+ prompt_tokens: 90,
118
+ completion_tokens: 110,
119
+ total_tokens: 0,
120
+ timestamp: "2023-11-06T21:00:00Z",
121
+ },
122
+ {
123
+ model: "claude",
124
+ prompt_tokens: 220,
125
+ completion_tokens: 280,
126
+ total_tokens: 0,
127
+ timestamp: "2023-11-07T22:00:00Z",
128
+ },
129
+ {
130
+ model: "claude",
131
+ prompt_tokens: 450,
132
+ completion_tokens: 550,
133
+ total_tokens: 680,
134
+ timestamp: "2023-11-08T23:00:00Z",
135
+ },
136
+ {
137
+ model: "claude",
138
+ prompt_tokens: 110,
139
+ completion_tokens: 190,
140
+ total_tokens: 0,
141
+ timestamp: "2023-11-09T00:00:00Z",
142
+ },
143
+ {
144
+ model: "claude",
145
+ prompt_tokens: 280,
146
+ completion_tokens: 320,
147
+ total_tokens: 0,
148
+ timestamp: "2023-11-10T01:00:00Z",
149
+ },
150
+ {
151
+ model: "claude",
152
+ prompt_tokens: 550,
153
+ completion_tokens: 450,
154
+ total_tokens: 0,
155
+ timestamp: "2023-11-11T02:00:00Z",
156
+ },
157
+ {
158
+ model: "claude",
159
+ prompt_tokens: 190,
160
+ completion_tokens: 210,
161
+ total_tokens: 0,
162
+ timestamp: "2023-11-12T03:00:00Z",
163
+ },
164
+ {
165
+ model: "claude",
166
+ prompt_tokens: 320,
167
+ completion_tokens: 380,
168
+ total_tokens: 0,
169
+ timestamp: "2023-11-13T04:00:00Z",
170
+ },
171
+ {
172
+ model: "claude",
173
+ prompt_tokens: 650,
174
+ completion_tokens: 350,
175
+ total_tokens: 250,
176
+ timestamp: "2023-11-14T05:00:00Z",
177
+ },
178
+ {
179
+ model: "claude",
180
+ prompt_tokens: 210,
181
+ completion_tokens: 290,
182
+ total_tokens: 0,
183
+ timestamp: "2023-11-15T06:00:00Z",
184
+ },
185
+ {
186
+ model: "claude",
187
+ prompt_tokens: 380,
188
+ completion_tokens: 420,
189
+ total_tokens: 380,
190
+ timestamp: "2023-11-16T07:00:00Z",
191
+ },
192
+ {
193
+ model: "claude",
194
+ prompt_tokens: 700,
195
+ completion_tokens: 300,
196
+ total_tokens: 410,
197
+ timestamp: "2023-11-17T08:00:00Z",
198
+ },
199
+ {
200
+ model: "claude",
201
+ prompt_tokens: 290,
202
+ completion_tokens: 310,
203
+ total_tokens: 600,
204
+ timestamp: "2023-11-18T09:00:00Z",
205
+ },
206
+ ];
207
+
208
+ const OpenAIData = [
209
+ {
210
+ model: "open-ai",
211
+ prompt_tokens: 75,
212
+ completion_tokens: 125,
213
+ total_tokens: 0,
214
+ timestamp: "2023-10-26T11:00:00Z",
215
+ },
216
+ {
217
+ model: "open-ai",
218
+ prompt_tokens: 300,
219
+ completion_tokens: 200,
220
+ total_tokens: 0,
221
+ timestamp: "2023-10-26T11:15:00Z",
222
+ },
223
+ {
224
+ model: "open-ai",
225
+ prompt_tokens: 1000,
226
+ completion_tokens: 700,
227
+ total_tokens: 0,
228
+ timestamp: "2023-10-26T11:30:00Z",
229
+ },
230
+ {
231
+ model: "open-ai",
232
+ prompt_tokens: 150,
233
+ completion_tokens: 250,
234
+ total_tokens: 0,
235
+ timestamp: "2023-10-27T12:00:00Z",
236
+ },
237
+ {
238
+ model: "open-ai",
239
+ prompt_tokens: 400,
240
+ completion_tokens: 300,
241
+ total_tokens: 0,
242
+ timestamp: "2023-10-28T13:00:00Z",
243
+ },
244
+ {
245
+ model: "open-ai",
246
+ prompt_tokens: 100,
247
+ completion_tokens: 150,
248
+ total_tokens: 0,
249
+ timestamp: "2023-10-29T14:00:00Z",
250
+ },
251
+ {
252
+ model: "open-ai",
253
+ prompt_tokens: 200,
254
+ completion_tokens: 200,
255
+ total_tokens: 0,
256
+ timestamp: "2023-10-30T15:00:00Z",
257
+ },
258
+ {
259
+ model: "open-ai",
260
+ prompt_tokens: 500,
261
+ completion_tokens: 400,
262
+ total_tokens: 0,
263
+ timestamp: "2023-10-31T16:00:00Z",
264
+ },
265
+ {
266
+ model: "open-ai",
267
+ prompt_tokens: 120,
268
+ completion_tokens: 180,
269
+ total_tokens: 0,
270
+ timestamp: "2023-11-01T17:00:00Z",
271
+ },
272
+ {
273
+ model: "open-ai",
274
+ prompt_tokens: 600,
275
+ completion_tokens: 350,
276
+ total_tokens: 0,
277
+ timestamp: "2023-11-02T18:00:00Z",
278
+ },
279
+ {
280
+ model: "open-ai",
281
+ prompt_tokens: 80,
282
+ completion_tokens: 170,
283
+ total_tokens: 0,
284
+ timestamp: "2023-11-03T19:00:00Z",
285
+ },
286
+ {
287
+ model: "open-ai",
288
+ prompt_tokens: 350,
289
+ completion_tokens: 250,
290
+ total_tokens: 0,
291
+ timestamp: "2023-11-04T20:00:00Z",
292
+ },
293
+ {
294
+ model: "open-ai",
295
+ prompt_tokens: 700,
296
+ completion_tokens: 500,
297
+ total_tokens: 0,
298
+ timestamp: "2023-11-05T21:00:00Z",
299
+ },
300
+ {
301
+ model: "open-ai",
302
+ prompt_tokens: 130,
303
+ completion_tokens: 220,
304
+ total_tokens: 0,
305
+ timestamp: "2023-11-06T22:00:00Z",
306
+ },
307
+ {
308
+ model: "open-ai",
309
+ prompt_tokens: 450,
310
+ completion_tokens: 350,
311
+ total_tokens: 0,
312
+ timestamp: "2023-11-07T23:00:00Z",
313
+ },
314
+ {
315
+ model: "open-ai",
316
+ prompt_tokens: 900,
317
+ completion_tokens: 600,
318
+ total_tokens: 0,
319
+ timestamp: "2023-11-08T00:00:00Z",
320
+ },
321
+ {
322
+ model: "open-ai",
323
+ prompt_tokens: 170,
324
+ completion_tokens: 230,
325
+ total_tokens: 0,
326
+ timestamp: "2023-11-09T01:00:00Z",
327
+ },
328
+ {
329
+ model: "open-ai",
330
+ prompt_tokens: 550,
331
+ completion_tokens: 450,
332
+ total_tokens: 0,
333
+ timestamp: "2023-11-10T02:00:00Z",
334
+ },
335
+ {
336
+ model: "open-ai",
337
+ prompt_tokens: 1100,
338
+ completion_tokens: 800,
339
+ total_tokens: 0,
340
+ timestamp: "2023-11-11T03:00:00Z",
341
+ },
342
+ {
343
+ model: "open-ai",
344
+ prompt_tokens: 230,
345
+ completion_tokens: 270,
346
+ total_tokens: 0,
347
+ timestamp: "2023-11-12T04:00:00Z",
348
+ },
349
+ {
350
+ model: "open-ai",
351
+ prompt_tokens: 650,
352
+ completion_tokens: 550,
353
+ total_tokens: 0,
354
+ timestamp: "2023-11-13T05:00:00Z",
355
+ },
356
+ {
357
+ model: "open-ai",
358
+ prompt_tokens: 1300,
359
+ completion_tokens: 700,
360
+ total_tokens: 0,
361
+ timestamp: "2023-11-14T06:00:00Z",
362
+ },
363
+ {
364
+ model: "open-ai",
365
+ prompt_tokens: 270,
366
+ completion_tokens: 330,
367
+ total_tokens: 0,
368
+ timestamp: "2023-11-15T07:00:00Z",
369
+ },
370
+ {
371
+ model: "open-ai",
372
+ prompt_tokens: 750,
373
+ completion_tokens: 650,
374
+ total_tokens: 210,
375
+ timestamp: "2023-11-16T08:00:00Z",
376
+ },
377
+ {
378
+ model: "open-ai",
379
+ prompt_tokens: 1500,
380
+ completion_tokens: 500,
381
+ total_tokens: 260,
382
+ timestamp: "2023-11-17T09:00:00Z",
383
+ },
384
+ {
385
+ model: "open-ai",
386
+ prompt_tokens: 330,
387
+ completion_tokens: 370,
388
+ total_tokens: 190,
389
+ timestamp: "2023-11-18T10:00:00Z",
390
+ },
391
+ ];
392
+
393
+ const GeminiData = [
394
+ {
395
+ model: "gemini",
396
+ prompt_tokens: 500,
397
+ completion_tokens: 1000,
398
+ total_tokens: 0,
399
+ timestamp: "2023-10-26T12:00:00Z",
400
+ },
401
+ {
402
+ model: "gemini",
403
+ prompt_tokens: 100,
404
+ completion_tokens: 200,
405
+ total_tokens: 0,
406
+ timestamp: "2023-10-26T12:15:00Z",
407
+ },
408
+ {
409
+ model: "gemini",
410
+ prompt_tokens: 2000,
411
+ completion_tokens: 1500,
412
+ total_tokens: 0,
413
+ timestamp: "2023-10-26T12:30:00Z",
414
+ },
415
+ {
416
+ model: "gemini",
417
+ prompt_tokens: 700,
418
+ completion_tokens: 1200,
419
+ total_tokens: 0,
420
+ timestamp: "2023-10-27T13:00:00Z",
421
+ },
422
+ {
423
+ model: "gemini",
424
+ prompt_tokens: 300,
425
+ completion_tokens: 500,
426
+ total_tokens: 0,
427
+ timestamp: "2023-10-28T14:00:00Z",
428
+ },
429
+ {
430
+ model: "gemini",
431
+ prompt_tokens: 1200,
432
+ completion_tokens: 900,
433
+ total_tokens: 0,
434
+ timestamp: "2023-10-29T15:00:00Z",
435
+ },
436
+ {
437
+ model: "gemini",
438
+ prompt_tokens: 600,
439
+ completion_tokens: 800,
440
+ total_tokens: 0,
441
+ timestamp: "2023-10-30T16:00:00Z",
442
+ },
443
+ {
444
+ model: "gemini",
445
+ prompt_tokens: 400,
446
+ completion_tokens: 600,
447
+ total_tokens: 0,
448
+ timestamp: "2023-10-31T17:00:00Z",
449
+ },
450
+ {
451
+ model: "gemini",
452
+ prompt_tokens: 1500,
453
+ completion_tokens: 1100,
454
+ total_tokens: 0,
455
+ timestamp: "2023-11-01T18:00:00Z",
456
+ },
457
+ {
458
+ model: "gemini",
459
+ prompt_tokens: 800,
460
+ completion_tokens: 1300,
461
+ total_tokens: 0,
462
+ timestamp: "2023-11-02T19:00:00Z",
463
+ },
464
+ {
465
+ model: "gemini",
466
+ prompt_tokens: 250,
467
+ completion_tokens: 450,
468
+ total_tokens: 0,
469
+ timestamp: "2023-11-03T20:00:00Z",
470
+ },
471
+ {
472
+ model: "gemini",
473
+ prompt_tokens: 1800,
474
+ completion_tokens: 1200,
475
+ total_tokens: 0,
476
+ timestamp: "2023-11-04T21:00:00Z",
477
+ },
478
+ {
479
+ model: "gemini",
480
+ prompt_tokens: 900,
481
+ completion_tokens: 1400,
482
+ total_tokens: 20,
483
+ timestamp: "2023-11-05T22:00:00Z",
484
+ },
485
+ {
486
+ model: "gemini",
487
+ prompt_tokens: 350,
488
+ completion_tokens: 550,
489
+ total_tokens: 21,
490
+ timestamp: "2023-11-06T23:00:00Z",
491
+ },
492
+ {
493
+ model: "gemini",
494
+ prompt_tokens: 2200,
495
+ completion_tokens: 1300,
496
+ total_tokens: 10,
497
+ timestamp: "2023-11-07T00:00:00Z",
498
+ },
499
+ {
500
+ model: "gemini",
501
+ prompt_tokens: 1000,
502
+ completion_tokens: 1500,
503
+ total_tokens: 0,
504
+ timestamp: "2023-11-08T01:00:00Z",
505
+ },
506
+ {
507
+ model: "gemini",
508
+ prompt_tokens: 450,
509
+ completion_tokens: 650,
510
+ total_tokens: 0,
511
+ timestamp: "2023-11-09T02:00:00Z",
512
+ },
513
+ {
514
+ model: "gemini",
515
+ prompt_tokens: 2500,
516
+ completion_tokens: 1400,
517
+ total_tokens: 0,
518
+ timestamp: "2023-11-10T03:00:00Z",
519
+ },
520
+ {
521
+ model: "gemini",
522
+ prompt_tokens: 1100,
523
+ completion_tokens: 1600,
524
+ total_tokens: 30,
525
+ timestamp: "2023-11-11T04:00:00Z",
526
+ },
527
+ {
528
+ model: "gemini",
529
+ prompt_tokens: 550,
530
+ completion_tokens: 750,
531
+ total_tokens: 40,
532
+ timestamp: "2023-11-12T05:00:00Z",
533
+ },
534
+ {
535
+ model: "gemini",
536
+ prompt_tokens: 2800,
537
+ completion_tokens: 1500,
538
+ total_tokens: 50,
539
+ timestamp: "2023-11-13T06:00:00Z",
540
+ },
541
+ {
542
+ model: "gemini",
543
+ prompt_tokens: 1200,
544
+ completion_tokens: 1700,
545
+ total_tokens: 0,
546
+ timestamp: "2023-11-14T07:00:00Z",
547
+ },
548
+ {
549
+ model: "gemini",
550
+ prompt_tokens: 650,
551
+ completion_tokens: 850,
552
+ total_tokens: 0,
553
+ timestamp: "2023-11-15T08:00:00Z",
554
+ },
555
+ {
556
+ model: "gemini",
557
+ prompt_tokens: 3100,
558
+ completion_tokens: 1600,
559
+ total_tokens: 0,
560
+ timestamp: "2023-11-16T09:00:00Z",
561
+ },
562
+ {
563
+ model: "gemini",
564
+ prompt_tokens: 1300,
565
+ completion_tokens: 1800,
566
+ total_tokens: 0,
567
+ timestamp: "2023-11-17T10:00:00Z",
568
+ },
569
+ {
570
+ model: "gemini",
571
+ prompt_tokens: 750,
572
+ completion_tokens: 950,
573
+ total_tokens: 0,
574
+ timestamp: "2023-11-18T11:00:00Z",
575
+ },
576
+ ];
577
+
578
+ function formatDate(timestamp) {
579
+ const options = {
580
+ month: "short",
581
+ day: "numeric",
582
+ };
583
+
584
+ const date = new Date(timestamp);
585
+ const formattedDate = new Intl.DateTimeFormat("en-US", options).format(date);
586
+
587
+ return `${formattedDate}`;
588
+ }
589
+ </script>
590
+ <template>
591
+ <div class="max-w-7xl mx-auto py-8">
592
+ <div class="flex items-center justify-between">
593
+ <h2 class="text-3xl font-bold">Nuxt Admin Dashboard</h2>
594
+
595
+ <svg
596
+ @click="setColorMode"
597
+ xmlns="http://www.w3.org/2000/svg"
598
+ viewBox="0 0 16 16"
599
+ fill="currentColor"
600
+ class="size-5 cursor-pointer"
601
+ >
602
+ <path
603
+ v-if="!isDark"
604
+ d="M14.438 10.148c.19-.425-.321-.787-.748-.601A5.5 5.5 0 0 1 6.453 2.31c.186-.427-.176-.938-.6-.748a6.501 6.501 0 1 0 8.585 8.586Z"
605
+ />
606
+ <path
607
+ v-else
608
+ d="M8 1a.75.75 0 0 1 .75.75v1.5a.75.75 0 0 1-1.5 0v-1.5A.75.75 0 0 1 8 1ZM10.5 8a2.5 2.5 0 1 1-5 0 2.5 2.5 0 0 1 5 0ZM12.95 4.11a.75.75 0 1 0-1.06-1.06l-1.062 1.06a.75.75 0 0 0 1.061 1.062l1.06-1.061ZM15 8a.75.75 0 0 1-.75.75h-1.5a.75.75 0 0 1 0-1.5h1.5A.75.75 0 0 1 15 8ZM11.89 12.95a.75.75 0 0 0 1.06-1.06l-1.06-1.062a.75.75 0 0 0-1.062 1.061l1.061 1.06ZM8 12a.75.75 0 0 1 .75.75v1.5a.75.75 0 0 1-1.5 0v-1.5A.75.75 0 0 1 8 12ZM5.172 11.89a.75.75 0 0 0-1.061-1.062L3.05 11.89a.75.75 0 1 0 1.06 1.06l1.06-1.06ZM4 8a.75.75 0 0 1-.75.75h-1.5a.75.75 0 0 1 0-1.5h1.5A.75.75 0 0 1 4 8ZM4.11 5.172A.75.75 0 0 0 5.173 4.11L4.11 3.05a.75.75 0 1 0-1.06 1.06l1.06 1.06Z"
609
+ />
610
+ </svg>
611
+ </div>
612
+
613
+ <div class="flex items-center justify-between">
614
+ <div class="flex items-center gap-4 mt-16 mb-8">
615
+ <Dropdown></Dropdown>
616
+ <span class="text-white/75">Token Usages</span>
617
+ </div>
618
+
619
+ <Button color="white" icon="i-heroicons:swatch" size="lg">
620
+ Add items
621
+ </Button>
622
+ </div>
623
+
624
+ <div class="grid grid-cols-3 gap-4">
625
+ <Card>
626
+ <h2 class="text-xl text-white/75 my-2 font-medium mb-6">Sonnet 3.7</h2>
627
+
628
+ <div class="space-y-1">
629
+ <h4 class="text-lg text-white/50">Total Tokens</h4>
630
+ <h3 class="text-xl font-semibold">2,381</h3>
631
+ </div>
632
+
633
+ <BarChart
634
+ :data="ClaudeData"
635
+ :height="250"
636
+ :categories="LLMFields"
637
+ :y-axis="['total_tokens']"
638
+ :xNumTicks="6"
639
+ :radius="0"
640
+ :y-formatter="(i: number) => i"
641
+ :x-formatter="(i: number): string => formatDate(ClaudeData[i].timestamp)"
642
+ :pagination-position="PaginationPosition.Top"
643
+ />
644
+ </Card>
645
+ <Card>
646
+ <h2 class="text-xl text-white/75 my-2 font-medium mb-6">GPT-4o</h2>
647
+
648
+ <div class="space-y-1">
649
+ <h4 class="text-lg text-white/50">Total Tokens</h4>
650
+ <h3 class="text-xl font-semibold">2,381</h3>
651
+ </div>
652
+
653
+ <BarChart
654
+ :data="OpenAIData"
655
+ :height="250"
656
+ :categories="LLMFields"
657
+ :y-axis="['total_tokens']"
658
+ :xNumTicks="6"
659
+ :radius="0"
660
+ :y-formatter="(i: number) => i"
661
+ :x-formatter="(i: number): string => formatDate(ClaudeData[i].timestamp)"
662
+ :pagination-position="PaginationPosition.Top"
663
+ />
664
+ </Card>
665
+ <Card>
666
+ <h2 class="text-xl text-white/75 my-2 font-medium mb-6">Flash 2.0</h2>
667
+
668
+ <div class="space-y-1">
669
+ <h4 class="text-lg text-white/50">Total Tokens</h4>
670
+ <h3 class="text-xl font-semibold">2,381</h3>
671
+ </div>
672
+
673
+ <BarChart
674
+ :data="GeminiData"
675
+ :height="250"
676
+ :categories="LLMFields"
677
+ :y-axis="['total_tokens']"
678
+ :xNumTicks="6"
679
+ :radius="0"
680
+ :y-formatter="(i: number) => i"
681
+ :x-formatter="(i: number): string => formatDate(ClaudeData[i].timestamp)"
682
+ :pagination-position="PaginationPosition.Top"
683
+ />
684
+ </Card>
685
+ </div>
686
+ </div>
687
+ </template>