@pitvox/partner-react 0.5.0 → 0.5.2

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/dist/styles.css CHANGED
@@ -238,6 +238,11 @@
238
238
  background: var(--pvx-bg-podium);
239
239
  }
240
240
 
241
+ .pvx-row--highlight {
242
+ background: color-mix(in srgb, var(--pvx-accent) 15%, transparent);
243
+ box-shadow: inset 0 0 0 2px var(--pvx-accent);
244
+ }
245
+
241
246
  .pvx-row--personal-best {
242
247
  background: var(--pvx-bg-personal-best);
243
248
  }
@@ -487,6 +492,169 @@
487
492
  color: var(--pvx-text-muted);
488
493
  }
489
494
 
495
+ /* ─── Rankings Table ────────────────────────────────────────── */
496
+
497
+ .pvx-rankings-header {
498
+ display: flex;
499
+ align-items: center;
500
+ gap: 0.75rem;
501
+ }
502
+
503
+ .pvx-rankings-info-trigger {
504
+ position: relative;
505
+ }
506
+
507
+ .pvx-rankings-info-trigger:hover .pvx-rankings-info-tooltip {
508
+ opacity: 1;
509
+ visibility: visible;
510
+ }
511
+
512
+ .pvx-rankings-info-icon {
513
+ width: 1.25rem;
514
+ height: 1.25rem;
515
+ color: var(--pvx-text-muted);
516
+ cursor: help;
517
+ }
518
+
519
+ .pvx-rankings-info-tooltip {
520
+ position: absolute;
521
+ left: 0;
522
+ top: 100%;
523
+ margin-top: 0.5rem;
524
+ width: 20rem;
525
+ padding: 0.75rem;
526
+ border-radius: var(--pvx-radius-sm);
527
+ background: var(--pvx-bg-card);
528
+ border: 1px solid var(--pvx-border);
529
+ color: var(--pvx-text);
530
+ font-size: 0.875rem;
531
+ box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.3);
532
+ opacity: 0;
533
+ visibility: hidden;
534
+ transition: opacity 0.15s, visibility 0.15s;
535
+ z-index: 50;
536
+ }
537
+
538
+ .pvx-rankings-info-title {
539
+ font-weight: 500;
540
+ color: var(--pvx-text-primary);
541
+ margin-bottom: 0.5rem;
542
+ }
543
+
544
+ .pvx-rankings-info-list {
545
+ color: var(--pvx-text-muted);
546
+ line-height: 1.6;
547
+ list-style: disc;
548
+ list-style-position: inside;
549
+ display: flex;
550
+ flex-direction: column;
551
+ gap: 0.375rem;
552
+ }
553
+
554
+ .pvx-rankings-combo-count {
555
+ display: inline-flex;
556
+ align-items: center;
557
+ gap: 0.25rem;
558
+ }
559
+
560
+ .pvx-rankings-chevron {
561
+ width: 0.75rem;
562
+ height: 0.75rem;
563
+ transition: transform 0.2s;
564
+ }
565
+
566
+ .pvx-rankings-chevron--open {
567
+ transform: rotate(180deg);
568
+ }
569
+
570
+ .pvx-rankings-combos-cell {
571
+ padding: 0 !important;
572
+ }
573
+
574
+ .pvx-rankings-combos {
575
+ background: var(--pvx-bg-hover);
576
+ padding: 0.75rem 1.5rem;
577
+ border-top: 1px solid var(--pvx-border);
578
+ display: grid;
579
+ grid-template-columns: 1fr;
580
+ gap: 0.5rem;
581
+ }
582
+
583
+ @media (min-width: 640px) {
584
+ .pvx-rankings-combos { grid-template-columns: repeat(2, 1fr); }
585
+ }
586
+
587
+ @media (min-width: 1024px) {
588
+ .pvx-rankings-combos { grid-template-columns: repeat(3, 1fr); }
589
+ }
590
+
591
+ .pvx-rankings-combo {
592
+ display: flex;
593
+ align-items: center;
594
+ justify-content: space-between;
595
+ gap: 0.75rem;
596
+ padding: 0.375rem 0.75rem;
597
+ border-radius: var(--pvx-radius-sm);
598
+ background: var(--pvx-bg-card);
599
+ font-size: 0.875rem;
600
+ }
601
+
602
+ .pvx-rankings-combo--clickable {
603
+ cursor: pointer;
604
+ transition: background 0.15s;
605
+ }
606
+
607
+ .pvx-rankings-combo--clickable:hover {
608
+ background: var(--pvx-bg-hover);
609
+ }
610
+
611
+ .pvx-rankings-combo-info {
612
+ min-width: 0;
613
+ }
614
+
615
+ .pvx-rankings-combo-track {
616
+ font-weight: 500;
617
+ color: var(--pvx-text-primary);
618
+ overflow: hidden;
619
+ text-overflow: ellipsis;
620
+ white-space: nowrap;
621
+ }
622
+
623
+ .pvx-rankings-combo-car {
624
+ font-size: 0.75rem;
625
+ color: var(--pvx-text-muted);
626
+ overflow: hidden;
627
+ text-overflow: ellipsis;
628
+ white-space: nowrap;
629
+ }
630
+
631
+ .pvx-rankings-combo-stats {
632
+ text-align: right;
633
+ flex-shrink: 0;
634
+ }
635
+
636
+ .pvx-rankings-combo-time {
637
+ font-family: var(--pvx-font-mono);
638
+ font-size: 0.875rem;
639
+ color: var(--pvx-text-primary);
640
+ }
641
+
642
+ .pvx-rankings-combo-pct {
643
+ font-size: 0.75rem;
644
+ font-weight: 500;
645
+ }
646
+
647
+ .pvx-rankings-combo-pct--high { color: #4ade80; }
648
+ .pvx-rankings-combo-pct--mid { color: #facc15; }
649
+ .pvx-rankings-combo-pct--low { color: #fb923c; }
650
+ .pvx-rankings-combo-pct--bottom { color: #f87171; }
651
+
652
+ .pvx-rankings-combo-rank {
653
+ color: var(--pvx-text-muted);
654
+ font-weight: 400;
655
+ margin-left: 0.25rem;
656
+ }
657
+
490
658
  /* ═══════════════════════════════════════════════════════════════════════════
491
659
  Competition Components
492
660
  ═══════════════════════════════════════════════════════════════════════════ */
@@ -1556,9 +1724,53 @@
1556
1724
  /* ─── Driver list in registration panel ────────────────────────── */
1557
1725
 
1558
1726
  .pvx-reg-driver-list {
1559
- display: grid;
1560
- grid-template-columns: repeat(auto-fill, minmax(12rem, 1fr));
1727
+ display: flex;
1728
+ flex-direction: column;
1729
+ max-height: 24rem;
1730
+ overflow-y: auto;
1731
+ }
1732
+
1733
+ .pvx-reg-driver-row {
1734
+ display: flex;
1735
+ align-items: center;
1561
1736
  gap: 0.75rem;
1737
+ padding: 0.5rem 0.75rem;
1738
+ border-bottom: 1px solid var(--pvx-border);
1739
+ }
1740
+
1741
+ .pvx-reg-driver-row:last-child {
1742
+ border-bottom: none;
1743
+ }
1744
+
1745
+ .pvx-reg-driver-row--you {
1746
+ background: rgba(99, 102, 241, 0.1);
1747
+ }
1748
+
1749
+ .pvx-reg-driver-avatar {
1750
+ width: 2rem;
1751
+ height: 2rem;
1752
+ border-radius: 9999px;
1753
+ flex-shrink: 0;
1754
+ object-fit: cover;
1755
+ }
1756
+
1757
+ .pvx-reg-driver-avatar--placeholder {
1758
+ display: flex;
1759
+ align-items: center;
1760
+ justify-content: center;
1761
+ background: #374151;
1762
+ color: var(--pvx-text);
1763
+ font-size: 0.8125rem;
1764
+ font-weight: 600;
1765
+ }
1766
+
1767
+ .pvx-reg-driver-name {
1768
+ font-size: 0.875rem;
1769
+ font-weight: 500;
1770
+ color: var(--pvx-text-primary);
1771
+ overflow: hidden;
1772
+ text-overflow: ellipsis;
1773
+ white-space: nowrap;
1562
1774
  }
1563
1775
 
1564
1776
  /* ═══════════════════════════════════════════════════════════════════════════
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pitvox/partner-react",
3
- "version": "0.5.0",
3
+ "version": "0.5.2",
4
4
  "description": "React hooks and styled components for PitVox partner websites — leaderboards, competitions, driver dashboards",
5
5
  "type": "module",
6
6
  "main": "dist/index.cjs",