@oh-my-pi/omp-stats 18.1.2 → 18.1.4
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/CHANGELOG.md +6 -0
- package/dist/client/index.css +1 -1
- package/dist/client/index.js +48 -48
- package/dist/client/styles.css +47 -0
- package/package.json +4 -4
- package/src/client/styles.css +59 -0
package/dist/client/styles.css
CHANGED
|
@@ -505,6 +505,7 @@
|
|
|
505
505
|
--accent-cyan: var(--link);
|
|
506
506
|
--bg-hover: var(--surface-2);
|
|
507
507
|
--bg-elevated: var(--surface-2);
|
|
508
|
+
--select-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23999' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
|
|
508
509
|
--radius-sm: 3px;
|
|
509
510
|
--radius-md: 6px;
|
|
510
511
|
--radius-lg: 8px;
|
|
@@ -526,6 +527,7 @@
|
|
|
526
527
|
--link: oklch(0.58 0.13 230);
|
|
527
528
|
--success: oklch(0.55 0.13 150);
|
|
528
529
|
--danger: oklch(0.55 0.19 25);
|
|
530
|
+
--select-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23555' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
|
|
529
531
|
--warning: oklch(0.6 0.13 85);
|
|
530
532
|
}
|
|
531
533
|
}
|
|
@@ -545,6 +547,7 @@
|
|
|
545
547
|
--link: oklch(0.58 0.13 230);
|
|
546
548
|
--success: oklch(0.55 0.13 150);
|
|
547
549
|
--danger: oklch(0.55 0.19 25);
|
|
550
|
+
--select-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23555' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
|
|
548
551
|
--warning: oklch(0.6 0.13 85);
|
|
549
552
|
}
|
|
550
553
|
@layer base {
|
|
@@ -862,6 +865,50 @@
|
|
|
862
865
|
background: var(--surface);
|
|
863
866
|
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.18);
|
|
864
867
|
}
|
|
868
|
+
.stats-select {
|
|
869
|
+
appearance: none;
|
|
870
|
+
padding: 6px 28px 6px 12px;
|
|
871
|
+
font-size: 13px;
|
|
872
|
+
font-weight: 500;
|
|
873
|
+
font-family: inherit;
|
|
874
|
+
color: var(--text);
|
|
875
|
+
background-color: var(--surface-2);
|
|
876
|
+
background-image: var(--select-chevron);
|
|
877
|
+
background-repeat: no-repeat;
|
|
878
|
+
background-position: right 10px center;
|
|
879
|
+
border: 1px solid var(--border);
|
|
880
|
+
border-radius: var(--radius-md);
|
|
881
|
+
cursor: pointer;
|
|
882
|
+
transition: border-color 0.15s ease, background-color 0.15s ease;
|
|
883
|
+
max-width: 100%;
|
|
884
|
+
text-overflow: ellipsis;
|
|
885
|
+
}
|
|
886
|
+
.stats-select:hover:not(:disabled) {
|
|
887
|
+
border-color: var(--border-strong);
|
|
888
|
+
background-color: var(--bg-hover);
|
|
889
|
+
}
|
|
890
|
+
.stats-select:focus-visible {
|
|
891
|
+
outline: 2px solid var(--link);
|
|
892
|
+
outline-offset: 1px;
|
|
893
|
+
}
|
|
894
|
+
.stats-select:disabled {
|
|
895
|
+
opacity: 0.5;
|
|
896
|
+
cursor: not-allowed;
|
|
897
|
+
}
|
|
898
|
+
@media (pointer: coarse) {
|
|
899
|
+
.stats-select {
|
|
900
|
+
font-size: 16px;
|
|
901
|
+
}
|
|
902
|
+
}
|
|
903
|
+
.stats-select option {
|
|
904
|
+
background-color: var(--surface);
|
|
905
|
+
color: var(--text);
|
|
906
|
+
}
|
|
907
|
+
@media (forced-colors: active) {
|
|
908
|
+
.stats-select {
|
|
909
|
+
appearance: auto;
|
|
910
|
+
}
|
|
911
|
+
}
|
|
865
912
|
.stats-sync-container {
|
|
866
913
|
display: flex;
|
|
867
914
|
align-items: center;
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"type": "module",
|
|
3
3
|
"name": "@oh-my-pi/omp-stats",
|
|
4
|
-
"version": "18.1.
|
|
4
|
+
"version": "18.1.4",
|
|
5
5
|
"description": "Local observability dashboard for pi AI usage statistics",
|
|
6
6
|
"homepage": "https://omp.sh",
|
|
7
7
|
"author": "Stencil Labs, Inc.",
|
|
@@ -39,9 +39,9 @@
|
|
|
39
39
|
"fmt": "oxfmt --no-error-on-unmatched-pattern 'src/**/*.{ts,tsx}' '{test,bench,examples,scripts}/**/*.ts' '*.ts'"
|
|
40
40
|
},
|
|
41
41
|
"dependencies": {
|
|
42
|
-
"@oh-my-pi/pi-ai": "18.1.
|
|
43
|
-
"@oh-my-pi/pi-catalog": "18.1.
|
|
44
|
-
"@oh-my-pi/pi-utils": "18.1.
|
|
42
|
+
"@oh-my-pi/pi-ai": "18.1.4",
|
|
43
|
+
"@oh-my-pi/pi-catalog": "18.1.4",
|
|
44
|
+
"@oh-my-pi/pi-utils": "18.1.4",
|
|
45
45
|
"@tailwindcss/node": "^4.3.2",
|
|
46
46
|
"chart.js": "^4.5.1",
|
|
47
47
|
"lucide-react": "^1.24.0",
|
package/src/client/styles.css
CHANGED
|
@@ -35,6 +35,7 @@
|
|
|
35
35
|
--accent-cyan: var(--link);
|
|
36
36
|
--bg-hover: var(--surface-2);
|
|
37
37
|
--bg-elevated: var(--surface-2);
|
|
38
|
+
--select-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23999' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
|
|
38
39
|
|
|
39
40
|
--radius-sm: 3px;
|
|
40
41
|
--radius-md: 6px;
|
|
@@ -60,6 +61,7 @@
|
|
|
60
61
|
--link: oklch(0.58 0.13 230);
|
|
61
62
|
--success: oklch(0.55 0.13 150);
|
|
62
63
|
--danger: oklch(0.55 0.19 25);
|
|
64
|
+
--select-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23555' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
|
|
63
65
|
--warning: oklch(0.6 0.13 85);
|
|
64
66
|
}
|
|
65
67
|
}
|
|
@@ -81,6 +83,7 @@
|
|
|
81
83
|
--link: oklch(0.58 0.13 230);
|
|
82
84
|
--success: oklch(0.55 0.13 150);
|
|
83
85
|
--danger: oklch(0.55 0.19 25);
|
|
86
|
+
--select-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23555' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
|
|
84
87
|
--warning: oklch(0.6 0.13 85);
|
|
85
88
|
}
|
|
86
89
|
|
|
@@ -464,6 +467,62 @@
|
|
|
464
467
|
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.18);
|
|
465
468
|
}
|
|
466
469
|
|
|
470
|
+
/* Select (native <select>, themed to match RangeControl/Buttons) */
|
|
471
|
+
.stats-select {
|
|
472
|
+
appearance: none;
|
|
473
|
+
padding: 6px 28px 6px 12px;
|
|
474
|
+
font-size: 13px;
|
|
475
|
+
font-weight: 500;
|
|
476
|
+
font-family: inherit;
|
|
477
|
+
color: var(--text);
|
|
478
|
+
background-color: var(--surface-2);
|
|
479
|
+
/* Chevron follows theme: light stroke on dark, dark stroke on light. */
|
|
480
|
+
background-image: var(--select-chevron);
|
|
481
|
+
background-repeat: no-repeat;
|
|
482
|
+
background-position: right 10px center;
|
|
483
|
+
border: 1px solid var(--border);
|
|
484
|
+
border-radius: var(--radius-md);
|
|
485
|
+
cursor: pointer;
|
|
486
|
+
transition: border-color 0.15s ease, background-color 0.15s ease;
|
|
487
|
+
max-width: 100%;
|
|
488
|
+
text-overflow: ellipsis;
|
|
489
|
+
}
|
|
490
|
+
|
|
491
|
+
.stats-select:hover:not(:disabled) {
|
|
492
|
+
border-color: var(--border-strong);
|
|
493
|
+
background-color: var(--bg-hover);
|
|
494
|
+
}
|
|
495
|
+
|
|
496
|
+
.stats-select:focus-visible {
|
|
497
|
+
outline: 2px solid var(--link);
|
|
498
|
+
outline-offset: 1px;
|
|
499
|
+
}
|
|
500
|
+
|
|
501
|
+
.stats-select:disabled {
|
|
502
|
+
opacity: 0.5;
|
|
503
|
+
cursor: not-allowed;
|
|
504
|
+
}
|
|
505
|
+
|
|
506
|
+
/* Prevent iOS from zooming the viewport when a select receives focus. */
|
|
507
|
+
@media (pointer: coarse) {
|
|
508
|
+
.stats-select {
|
|
509
|
+
font-size: 16px;
|
|
510
|
+
}
|
|
511
|
+
}
|
|
512
|
+
|
|
513
|
+
/* Dropdown list itself follows the page theme via color-scheme. */
|
|
514
|
+
.stats-select option {
|
|
515
|
+
background-color: var(--surface);
|
|
516
|
+
color: var(--text);
|
|
517
|
+
}
|
|
518
|
+
/* Forced-colors (Windows High Contrast) suppresses background images, so the
|
|
519
|
+
custom chevron vanishes; restore the native indicator instead. */
|
|
520
|
+
@media (forced-colors: active) {
|
|
521
|
+
.stats-select {
|
|
522
|
+
appearance: auto;
|
|
523
|
+
}
|
|
524
|
+
}
|
|
525
|
+
|
|
467
526
|
/* Sync Button & Container */
|
|
468
527
|
.stats-sync-container {
|
|
469
528
|
display: flex;
|