@@ -686,7 +686,7 @@ const showSkeleton = shallowRef(false)
686686 </span >
687687 </h1 >
688688
689- <!-- Floating copy button -->
689+ <!-- Floating copy name button -->
690690 <button
691691 type =" button"
692692 @click =" copyPkgName()"
@@ -705,13 +705,16 @@ const showSkeleton = shallowRef(false)
705705 {{ copiedPkgName ? $t('common.copied') : $t('package.copy_name') }}
706706 </button >
707707 </div >
708+
708709 <span
709710 v-if =" resolvedVersion"
710- class =" inline-flex items-baseline gap-1.5 font-mono text-base sm:text-lg text-fg-muted shrink-0"
711+ class =" inline-flex items-baseline gap-1.5 font-mono text-base sm:text-lg text-fg-muted shrink-0 relative group "
711712 >
712713 <!-- Version resolution indicator (e.g., "latest → 4.2.0") -->
713714 <template v-if =" requestedVersion && resolvedVersion !== requestedVersion " >
714- <span class =" font-mono text-fg-muted text-sm" dir =" ltr" >{{ requestedVersion }}</span >
715+ <span class =" font-mono text-fg-muted text-sm" dir =" ltr" >
716+ {{ requestedVersion }}
717+ </span >
715718 <span class =" i-carbon:arrow-right rtl-flip w-3 h-3" aria-hidden =" true" />
716719 </template >
717720
@@ -720,19 +723,9 @@ const showSkeleton = shallowRef(false)
720723 :to =" packageRoute(pkg.name, resolvedVersion)"
721724 :title =" $t('package.view_permalink')"
722725 dir =" ltr"
723- >{{ resolvedVersion }}</LinkBase
724726 >
725- <span dir =" ltr" v-else class =" inline-flex items-center gap-1"
726- >v{{ resolvedVersion }}
727-
728- <ButtonBase
729- size =" small"
730- class =" opacity-50 hover:opacity-100 transition-opacity"
731- :classicon =" copiedVersion ? 'i-carbon:checkmark' : 'i-carbon:copy'"
732- :title =" copiedVersion ? $t('common.copied') : $t('package.copy_version')"
733- @click =" copyVersion()"
734- />
735- </span >
727+ {{ resolvedVersion }}
728+ </LinkBase >
736729
737730 <template v-if =" hasProvenance (displayVersion )" >
738731 <TooltipApp
@@ -760,6 +753,25 @@ const showSkeleton = shallowRef(false)
760753 class =" text-fg-subtle text-sm shrink-0"
761754 >{{ $t('package.not_latest') }}</span
762755 >
756+
757+ <!-- Floating copy version button -->
758+ <button
759+ type =" button"
760+ @click =" copyVersion()"
761+ class =" absolute z-20 inset-is-0 top-full inline-flex items-center gap-1 px-2 py-1 rounded border text-xs font-mono whitespace-nowrap transition-all duration-150 opacity-0 -translate-y-1 pointer-events-none group-hover:opacity-100 group-hover:translate-y-0 group-hover:pointer-events-auto focus-visible:opacity-100 focus-visible:translate-y-0 focus-visible:pointer-events-auto"
762+ :class =" [
763+ $style.copyButton,
764+ copiedVersion ? 'text-accent bg-accent/10' : 'text-fg-muted bg-bg border-border',
765+ ]"
766+ :aria-label =" copiedVersion ? $t('common.copied') : $t('package.copy_version')"
767+ >
768+ <span
769+ :class =" copiedVersion ? 'i-carbon:checkmark' : 'i-carbon:copy'"
770+ class =" w-3.5 h-3.5"
771+ aria-hidden =" true"
772+ />
773+ {{ copiedVersion ? $t('common.copied') : $t('package.copy_version') }}
774+ </button >
763775 </span >
764776
765777 <!-- Docs + Code + Compare — inline on desktop, floating bottom bar on mobile -->
0 commit comments