@@ -319,14 +319,14 @@ function getTagVersions(tag: string): VersionDisplay[] {
319319 <!-- Dist-tag rows (limited to MAX_VISIBLE_TAGS) -->
320320 <div v-for =" row in visibleTagRows" :key =" row.id" >
321321 <div
322- class =" flex items-center gap-2 pe-2 px-1"
323- :class =" row.tag === 'latest' ? 'bg-bg-subtle rounded-lg ' : ''"
322+ class =" flex items-center gap-2 pe-2 px-1 relative group/version-row hover:bg-bg-subtle focus-within:bg-bg-subtle transition-colors duration-200 rounded-lg "
323+ :class =" row.tag === 'latest' ? 'bg-bg-subtle' : ''"
324324 >
325325 <!-- Expand button (only if there are more versions to show) -->
326326 <button
327327 v-if =" getTagVersions(row.tag).length > 1 || !hasLoadedAll"
328328 type =" button"
329- class =" w-4 h-4 flex items-center justify-center text-fg-subtle hover:text-fg transition-colors rounded-sm"
329+ class =" w-4 h-4 flex items-center justify-center text-fg-subtle hover:text-fg transition-colors rounded-sm relative z-10 "
330330 :aria-expanded =" expandedTags.has(row.tag)"
331331 :aria-label ="
332332 expandedTags.has(row.tag)
@@ -359,11 +359,11 @@ function getTagVersions(tag: string): VersionDisplay[] {
359359 <div >
360360 <NuxtLink
361361 :to =" versionRoute(row.primaryVersion.version)"
362- class =" block font-mono text-sm transition-colors duration-200 truncate inline-flex items-center gap-1 focus-visible:outline-none focus-visible:text-accent"
362+ class =" block font-mono text-sm transition-colors duration-200 truncate inline-flex items-center gap-1 focus-visible:outline-none focus-visible:text-accent after:absolute after:inset-0 after:content-[''] "
363363 :class ="
364364 row.primaryVersion.deprecated
365- ? 'text-red-400 hover:text-red-300'
366- : 'text-fg-muted hover:text-fg'
365+ ? 'text-red-400 group- hover/version-row :text-red-300'
366+ : 'text-fg-muted group- hover/version-row :text-fg'
367367 "
368368 :title ="
369369 row.primaryVersion.deprecated
@@ -381,7 +381,10 @@ function getTagVersions(tag: string): VersionDisplay[] {
381381 {{ row.primaryVersion.version }}
382382 </NuxtLink >
383383 </div >
384- <div v-if =" row.tags.length" class =" flex items-center gap-1 mt-0.5 flex-wrap" >
384+ <div
385+ v-if =" row.tags.length"
386+ class =" flex items-center gap-1 mt-0.5 flex-wrap relative z-10"
387+ >
385388 <span
386389 v-for =" tag in row.tags"
387390 :key =" tag"
@@ -392,7 +395,7 @@ function getTagVersions(tag: string): VersionDisplay[] {
392395 </span >
393396 </div >
394397 </div >
395- <div class =" flex items-center gap-2 shrink-0" >
398+ <div class =" flex items-center gap-2 shrink-0 relative z-10 " >
396399 <DateTime
397400 v-if =" row.primaryVersion.time"
398401 :datetime =" row.primaryVersion.time"
@@ -406,6 +409,7 @@ function getTagVersions(tag: string): VersionDisplay[] {
406409 :package-name =" packageName"
407410 :version =" row.primaryVersion.version"
408411 compact
412+ :linked =" false"
409413 />
410414 </div >
411415 </div >
@@ -416,15 +420,19 @@ function getTagVersions(tag: string): VersionDisplay[] {
416420 v-if =" expandedTags.has(row.tag) && getTagVersions(row.tag).length > 1"
417421 class =" ms-4 ps-2 border-is border-border space-y-0.5 pe-2"
418422 >
419- <div v-for =" v in getTagVersions(row.tag).slice(1)" :key =" v.version" class =" py-1" >
423+ <div
424+ v-for =" v in getTagVersions(row.tag).slice(1)"
425+ :key =" v.version"
426+ class =" py-1 relative group/version-row hover:bg-bg-elevated/20 focus-within:bg-bg-elevated/20 transition-colors duration-200"
427+ >
420428 <div class =" flex items-center justify-between gap-2" >
421429 <NuxtLink
422430 :to =" versionRoute(v.version)"
423- class =" block font-mono text-xs transition-colors duration-200 truncate inline-flex items-center gap-1"
431+ class =" block font-mono text-xs transition-colors duration-200 truncate inline-flex items-center gap-1 after:absolute after:inset-0 after:content-[''] "
424432 :class ="
425433 v.deprecated
426- ? 'text-red-400 hover:text-red-300'
427- : 'text-fg-subtle hover:text-fg-muted'
434+ ? 'text-red-400 group- hover/version-row :text-red-300'
435+ : 'text-fg-subtle group- hover/version-row :text-fg-muted'
428436 "
429437 :title ="
430438 v.deprecated
@@ -439,7 +447,7 @@ function getTagVersions(tag: string): VersionDisplay[] {
439447 />
440448 {{ v.version }}
441449 </NuxtLink >
442- <div class =" flex items-center gap-2 shrink-0" >
450+ <div class =" flex items-center gap-2 shrink-0 relative z-10 " >
443451 <DateTime
444452 v-if =" v.time"
445453 :datetime =" v.time"
@@ -453,12 +461,13 @@ function getTagVersions(tag: string): VersionDisplay[] {
453461 :package-name =" packageName"
454462 :version =" v.version"
455463 compact
464+ :linked =" false"
456465 />
457466 </div >
458467 </div >
459468 <div
460469 v-if =" v.tags?.length && filterExcludedTags(v.tags, row.tags).length"
461- class =" flex items-center gap-1 mt-0.5"
470+ class =" flex items-center gap-1 mt-0.5 relative z-10 "
462471 >
463472 <span
464473 v-for =" tag in filterExcludedTags(v.tags, row.tags)"
@@ -519,15 +528,19 @@ function getTagVersions(tag: string): VersionDisplay[] {
519528 <!-- Expanded other versions -->
520529 <div v-if =" otherVersionsExpanded" class =" ms-4 ps-2 border-is border-border space-y-0.5" >
521530 <!-- Hidden tag rows (overflow from visible tags) -->
522- <div v-for =" row in hiddenTagRows" :key =" row.id" class =" py-1" >
531+ <div
532+ v-for =" row in hiddenTagRows"
533+ :key =" row.id"
534+ class =" py-1 relative group/version-row hover:bg-bg-subtle focus-within:bg-bg-subtle transition-colors duration-200 rounded-lg"
535+ >
523536 <div class =" flex items-center justify-between gap-2" >
524537 <NuxtLink
525538 :to =" versionRoute(row.primaryVersion.version)"
526- class =" block font-mono text-xs transition-colors duration-200 truncate inline-flex items-center gap-1"
539+ class =" block font-mono text-xs transition-colors duration-200 truncate inline-flex items-center gap-1 after:absolute after:inset-0 after:content-[''] "
527540 :class ="
528541 row.primaryVersion.deprecated
529- ? 'text-red-400 hover:text-red-300'
530- : 'text-fg-muted hover:text-fg'
542+ ? 'text-red-400 group- hover/version-row :text-red-300'
543+ : 'text-fg-muted group- hover/version-row :text-fg'
531544 "
532545 :title ="
533546 row.primaryVersion.deprecated
@@ -544,7 +557,7 @@ function getTagVersions(tag: string): VersionDisplay[] {
544557 />
545558 {{ row.primaryVersion.version }}
546559 </NuxtLink >
547- <div class =" flex items-center gap-2 shrink-0 pe-2" >
560+ <div class =" flex items-center gap-2 shrink-0 pe-2 relative z-10 " >
548561 <DateTime
549562 v-if =" row.primaryVersion.time"
550563 :datetime =" row.primaryVersion.time"
@@ -555,7 +568,10 @@ function getTagVersions(tag: string): VersionDisplay[] {
555568 />
556569 </div >
557570 </div >
558- <div v-if =" row.tags.length" class =" flex items-center gap-1 mt-0.5 flex-wrap" >
571+ <div
572+ v-if =" row.tags.length"
573+ class =" flex items-center gap-1 mt-0.5 flex-wrap relative z-10"
574+ >
559575 <span
560576 v-for =" tag in row.tags"
561577 :key =" tag"
@@ -571,12 +587,15 @@ function getTagVersions(tag: string): VersionDisplay[] {
571587 <template v-if =" otherMajorGroups .length > 0 " >
572588 <div v-for =" group in otherMajorGroups" :key =" group.groupKey" >
573589 <!-- Version group header -->
574- <div v-if =" group.versions.length > 1" class =" py-1" >
590+ <div
591+ v-if =" group.versions.length > 1"
592+ class =" py-1 relative group/version-row hover:bg-bg-subtle focus-within:bg-bg-subtle transition-colors duration-200 rounded-lg"
593+ >
575594 <div class =" flex items-center justify-between gap-2" >
576595 <div class =" flex items-center gap-2 min-w-0" >
577596 <button
578597 type =" button"
579- class =" w-4 h-4 flex items-center justify-center text-fg-subtle hover:text-fg transition-colors shrink-0 focus-visible:outline-accent/70 rounded-sm"
598+ class =" w-4 h-4 flex items-center justify-center text-fg-subtle hover:text-fg transition-colors shrink-0 focus-visible:outline-accent/70 rounded-sm relative z-10 "
580599 :aria-expanded =" expandedMajorGroups.has(group.groupKey)"
581600 :aria-label ="
582601 expandedMajorGroups.has(group.groupKey)
@@ -599,11 +618,11 @@ function getTagVersions(tag: string): VersionDisplay[] {
599618 <NuxtLink
600619 v-if =" group.versions[0]?.version"
601620 :to =" versionRoute(group.versions[0]?.version)"
602- class =" block font-mono text-xs transition-colors duration-200 truncate inline-flex items-center gap-1"
621+ class =" block font-mono text-xs transition-colors duration-200 truncate inline-flex items-center gap-1 after:absolute after:inset-0 after:content-[''] "
603622 :class ="
604623 group.versions[0]?.deprecated
605- ? 'text-red-400 hover:text-red-300'
606- : 'text-fg-muted hover:text-fg'
624+ ? 'text-red-400 group- hover/version-row :text-red-300'
625+ : 'text-fg-muted group- hover/version-row :text-fg'
607626 "
608627 :title ="
609628 group.versions[0]?.deprecated
@@ -621,7 +640,7 @@ function getTagVersions(tag: string): VersionDisplay[] {
621640 {{ group.versions[0]?.version }}
622641 </NuxtLink >
623642 </div >
624- <div class =" flex items-center gap-2 shrink-0 pe-2" >
643+ <div class =" flex items-center gap-2 shrink-0 pe-2 relative z-10 " >
625644 <DateTime
626645 v-if =" group.versions[0]?.time"
627646 :datetime =" group.versions[0]?.time"
@@ -635,12 +654,13 @@ function getTagVersions(tag: string): VersionDisplay[] {
635654 :package-name =" packageName"
636655 :version =" group.versions[0]?.version"
637656 compact
657+ :linked =" false"
638658 />
639659 </div >
640660 </div >
641661 <div
642662 v-if =" group.versions[0]?.tags?.length"
643- class =" flex items-center gap-1 ms-5 flex-wrap"
663+ class =" flex items-center gap-1 ms-5 flex-wrap relative z-10 "
644664 >
645665 <span
646666 v-for =" tag in group.versions[0].tags"
@@ -653,18 +673,21 @@ function getTagVersions(tag: string): VersionDisplay[] {
653673 </div >
654674 </div >
655675 <!-- Single version (no expand needed) -->
656- <div v-else class =" py-1" >
676+ <div
677+ v-else
678+ class =" py-1 relative group/version-row hover:bg-bg-subtle focus-within:bg-bg-subtle transition-colors duration-200 rounded-lg"
679+ >
657680 <div class =" flex items-center justify-between gap-2" >
658681 <div class =" flex items-center gap-2 min-w-0" >
659682 <span class =" w-4 shrink-0" />
660683 <NuxtLink
661684 v-if =" group.versions[0]?.version"
662685 :to =" versionRoute(group.versions[0]?.version)"
663- class =" block font-mono text-xs transition-colors duration-200 truncate inline-flex items-center gap-1"
686+ class =" block font-mono text-xs transition-colors duration-200 truncate inline-flex items-center gap-1 after:absolute after:inset-0 after:content-[''] "
664687 :class ="
665688 group.versions[0]?.deprecated
666- ? 'text-red-400 hover:text-red-300'
667- : 'text-fg-muted hover:text-fg'
689+ ? 'text-red-400 group- hover/version-row :text-red-300'
690+ : 'text-fg-muted group- hover/version-row :text-fg'
668691 "
669692 :title ="
670693 group.versions[0]?.deprecated
@@ -682,7 +705,7 @@ function getTagVersions(tag: string): VersionDisplay[] {
682705 {{ group.versions[0]?.version }}
683706 </NuxtLink >
684707 </div >
685- <div class =" flex items-center gap-2 shrink-0 pe-2" >
708+ <div class =" flex items-center gap-2 shrink-0 pe-2 relative z-10 " >
686709 <DateTime
687710 v-if =" group.versions[0]?.time"
688711 :datetime =" group.versions[0]?.time"
@@ -696,10 +719,14 @@ function getTagVersions(tag: string): VersionDisplay[] {
696719 :package-name =" packageName"
697720 :version =" group.versions[0]?.version"
698721 compact
722+ :linked =" false"
699723 />
700724 </div >
701725 </div >
702- <div v-if =" group.versions[0]?.tags?.length" class =" flex items-center gap-1 ms-5" >
726+ <div
727+ v-if =" group.versions[0]?.tags?.length"
728+ class =" flex items-center gap-1 ms-5 relative z-10"
729+ >
703730 <span
704731 v-for =" tag in group.versions[0].tags"
705732 :key =" tag"
@@ -715,15 +742,19 @@ function getTagVersions(tag: string): VersionDisplay[] {
715742 v-if =" expandedMajorGroups.has(group.groupKey) && group.versions.length > 1"
716743 class =" ms-6 space-y-0.5"
717744 >
718- <div v-for =" v in group.versions.slice(1)" :key =" v.version" class =" py-1" >
745+ <div
746+ v-for =" v in group.versions.slice(1)"
747+ :key =" v.version"
748+ class =" py-1 relative group/version-row hover:bg-bg-elevated/20 focus-within:bg-bg-elevated/20 transition-colors duration-200"
749+ >
719750 <div class =" flex items-center justify-between gap-2" >
720751 <NuxtLink
721752 :to =" versionRoute(v.version)"
722- class =" block font-mono text-xs transition-colors duration-200 truncate inline-flex items-center gap-1"
753+ class =" block font-mono text-xs transition-colors duration-200 truncate inline-flex items-center gap-1 after:absolute after:inset-0 after:content-[''] "
723754 :class ="
724755 v.deprecated
725- ? 'text-red-400 hover:text-red-300'
726- : 'text-fg-subtle hover:text-fg-muted'
756+ ? 'text-red-400 group- hover/version-row :text-red-300'
757+ : 'text-fg-subtle group- hover/version-row :text-fg-muted'
727758 "
728759 :title ="
729760 v.deprecated
@@ -738,7 +769,7 @@ function getTagVersions(tag: string): VersionDisplay[] {
738769 />
739770 {{ v.version }}
740771 </NuxtLink >
741- <div class =" flex items-center gap-2 shrink-0 pe-2" >
772+ <div class =" flex items-center gap-2 shrink-0 pe-2 relative z-10 " >
742773 <DateTime
743774 v-if =" v.time"
744775 :datetime =" v.time"
@@ -752,10 +783,11 @@ function getTagVersions(tag: string): VersionDisplay[] {
752783 :package-name =" packageName"
753784 :version =" v.version"
754785 compact
786+ :linked =" false"
755787 />
756788 </div >
757789 </div >
758- <div v-if =" v.tags?.length" class =" flex items-center gap-1 mt-0.5" >
790+ <div v-if =" v.tags?.length" class =" flex items-center gap-1 mt-0.5 relative z-10 " >
759791 <span
760792 v-for =" tag in v.tags"
761793 :key =" tag"
0 commit comments