@@ -248,7 +248,7 @@ const likeAction = async () => {
248248
249249<template >
250250 <!-- Package header -->
251- <header class =" bg-bg pt-2" >
251+ <header class =" bg-bg pt-2 w-full container " >
252252 <!-- Package name and version -->
253253 <div class =" flex items-baseline justify-between gap-x-2 gap-y-1 flex-wrap min-w-0" >
254254 <CopyToClipboardButton
@@ -320,112 +320,116 @@ const likeAction = async () => {
320320 </header >
321321 <div
322322 ref =" header"
323- class =" bg-bg sticky top-14 z-1 border-b border-border flex flex-col md:flex-row-reverse items-baseline justify-between gap-x-2 gap-y-1 flex-wrap min-w-0 pt-2"
323+ class =" w-full bg-bg sticky top-14 z-1 border-b border-border pt-2"
324324 :class =" [$style.packageHeader]"
325325 data-testid =" package-subheader"
326326 >
327327 <div
328- class =" flex items-center max- md:justify-between max-md:w-full max-md:flex-row-reverse gap-2 "
328+ class =" w-full container flex flex-col md:flex-row-reverse items-baseline justify-between gap-x-2 gap-y-1 flex-wrap "
329329 >
330- <ButtonBase
331- variant =" secondary"
332- :aria-label =" $t('common.scroll_to_top')"
333- @click =" scrollToTop"
334- classicon =" i-lucide:arrow-up"
335- :class =" showScrollToTop ? '' : 'opacity-0 pointer-events-none select-none'"
336- class =" py-1.5 px-2.5 sm:me-2"
337- :tabindex =" showScrollToTop ? 0 : -1"
338- />
339- <div class =" flex-inline items-center flex-nowrap gap-1 font-mono text-fg-muted" >
340- <template v-if =" displayVersion && hasProvenance (displayVersion )" >
341- <TooltipApp
342- :text ="
343- provenanceData && provenanceStatus !== 'pending'
344- ? $t('package.provenance_section.built_and_signed_on', {
345- provider: provenanceData.providerLabel,
346- })
347- : $t('package.verified_provenance')
348- "
349- position =" bottom"
350- strategy =" fixed"
351- >
352- <LinkBase
353- variant =" button-secondary"
354- :to =" packageRoute(packageName, resolvedVersion, '#provenance')"
355- :aria-label =" $t('package.provenance_section.view_more_details')"
356- classicon =" i-lucide:shield-check"
357- class =" py-1.5 px-2.5 me-2"
358- />
359- </TooltipApp >
360- </template >
361- <!-- Version resolution indicator (e.g., "latest → 4.2.0") -->
362- <template v-if =" requestedVersion && resolvedVersion !== requestedVersion " >
363- <TooltipApp
364- :text =" requestedVersion"
365- position =" bottom"
366- strategy =" fixed"
367- class =" vertical-middle"
368- >
369- <span class =" i-lucide:cable rtl-flip min-w-3 w-3 h-3 mx-1" aria-hidden =" true" />
370- </TooltipApp >
371- </template >
372- <!-- Version selector -->
373- <VersionSelector
374- v-if =" resolvedVersion && pkg?.versions && pkg?.['dist-tags']"
375- :package-name =" packageName"
376- :current-version =" resolvedVersion"
377- :versions =" pkg.versions"
378- :dist-tags =" pkg['dist-tags']"
379- :url-pattern =" versionUrlPattern"
330+ <div
331+ class =" flex items-center max-md:justify-between max-md:w-full max-md:flex-row-reverse gap-2"
332+ >
333+ <ButtonBase
334+ variant =" secondary"
335+ :aria-label =" $t('common.scroll_to_top')"
336+ @click =" scrollToTop"
337+ classicon =" i-lucide:arrow-up"
338+ :class =" showScrollToTop ? '' : 'opacity-0 pointer-events-none select-none'"
339+ class =" py-1.5 px-2.5 sm:me-2"
340+ :tabindex =" showScrollToTop ? 0 : -1"
380341 />
342+ <div class =" flex-inline items-center flex-nowrap gap-1 font-mono text-fg-muted" >
343+ <template v-if =" displayVersion && hasProvenance (displayVersion )" >
344+ <TooltipApp
345+ :text ="
346+ provenanceData && provenanceStatus !== 'pending'
347+ ? $t('package.provenance_section.built_and_signed_on', {
348+ provider: provenanceData.providerLabel,
349+ })
350+ : $t('package.verified_provenance')
351+ "
352+ position =" bottom"
353+ strategy =" fixed"
354+ >
355+ <LinkBase
356+ variant =" button-secondary"
357+ :to =" packageRoute(packageName, resolvedVersion, '#provenance')"
358+ :aria-label =" $t('package.provenance_section.view_more_details')"
359+ classicon =" i-lucide:shield-check"
360+ class =" py-1.5 px-2.5 me-2"
361+ />
362+ </TooltipApp >
363+ </template >
364+ <!-- Version resolution indicator (e.g., "latest → 4.2.0") -->
365+ <template v-if =" requestedVersion && resolvedVersion !== requestedVersion " >
366+ <TooltipApp
367+ :text =" requestedVersion"
368+ position =" bottom"
369+ strategy =" fixed"
370+ class =" vertical-middle"
371+ >
372+ <span class =" i-lucide:cable rtl-flip min-w-3 w-3 h-3 mx-1" aria-hidden =" true" />
373+ </TooltipApp >
374+ </template >
375+ <!-- Version selector -->
376+ <VersionSelector
377+ v-if =" resolvedVersion && pkg?.versions && pkg?.['dist-tags']"
378+ :package-name =" packageName"
379+ :current-version =" resolvedVersion"
380+ :versions =" pkg.versions"
381+ :dist-tags =" pkg['dist-tags']"
382+ :url-pattern =" versionUrlPattern"
383+ />
384+ </div >
381385 </div >
382- </div >
383- <!-- Docs + Code — inline on desktop, floating bottom bar on mobile -->
384- <nav
385- v-if =" resolvedVersion"
386- :aria-label =" $t('package.navigation')"
387- class =" flex gap-4 me-auto -mb-px"
388- :style =" navExtraOffsetStyle"
389- :class =" $style.packageNav"
390- >
391- <LinkBase
392- v-if =" mainLink"
393- :to =" mainLink"
394- aria-keyshortcuts =" m"
395- class =" decoration-none border-b-2 p-1 hover:border-accent/50 lowercase"
396- :class =" page === 'main' ? 'border-accent text-accent!' : 'border-transparent'"
397- >
398- {{ $t('package.links.main') }}
399- </LinkBase >
400- <LinkBase
401- v-if =" docsLink"
402- :to =" docsLink"
403- aria-keyshortcuts =" d"
404- class =" decoration-none border-b-2 p-1 hover:border-accent/50"
405- :class =" page === 'docs' ? 'border-accent text-accent!' : 'border-transparent'"
406- >
407- {{ $t('package.links.docs') }}
408- </LinkBase >
409- <LinkBase
410- v-if =" codeLink"
411- :to =" codeLink"
412- aria-keyshortcuts =" ."
413- class =" decoration-none border-b-2 p-1 hover:border-accent/50"
414- :class =" page === 'code' ? 'border-accent text-accent!' : 'border-transparent'"
386+ <!-- Docs + Code — inline on desktop, floating bottom bar on mobile -->
387+ <nav
388+ v-if =" resolvedVersion"
389+ :aria-label =" $t('package.navigation')"
390+ class =" flex gap-4 me-auto -mb-px"
391+ :style =" navExtraOffsetStyle"
392+ :class =" $style.packageNav"
415393 >
416- {{ $t('package.links.code') }}
417- </LinkBase >
418- <LinkBase
419- v-if =" diffLink"
420- :to =" diffLink"
421- :title =" $t('compare.compare_versions_title')"
422- aria-keyshortcuts =" f"
423- class =" decoration-none border-b-2 p-1 hover:border-accent/50"
424- :class =" page === 'diff' ? 'border-accent text-accent!' : 'border-transparent'"
425- >
426- {{ $t('compare.compare_versions') }}
427- </LinkBase >
428- </nav >
394+ <LinkBase
395+ v-if =" mainLink"
396+ :to =" mainLink"
397+ aria-keyshortcuts =" m"
398+ class =" decoration-none border-b-2 p-1 hover:border-accent/50 lowercase"
399+ :class =" page === 'main' ? 'border-accent text-accent!' : 'border-transparent'"
400+ >
401+ {{ $t('package.links.main') }}
402+ </LinkBase >
403+ <LinkBase
404+ v-if =" docsLink"
405+ :to =" docsLink"
406+ aria-keyshortcuts =" d"
407+ class =" decoration-none border-b-2 p-1 hover:border-accent/50"
408+ :class =" page === 'docs' ? 'border-accent text-accent!' : 'border-transparent'"
409+ >
410+ {{ $t('package.links.docs') }}
411+ </LinkBase >
412+ <LinkBase
413+ v-if =" codeLink"
414+ :to =" codeLink"
415+ aria-keyshortcuts =" ."
416+ class =" decoration-none border-b-2 p-1 hover:border-accent/50"
417+ :class =" page === 'code' ? 'border-accent text-accent!' : 'border-transparent'"
418+ >
419+ {{ $t('package.links.code') }}
420+ </LinkBase >
421+ <LinkBase
422+ v-if =" diffLink"
423+ :to =" diffLink"
424+ :title =" $t('compare.compare_versions_title')"
425+ aria-keyshortcuts =" f"
426+ class =" decoration-none border-b-2 p-1 hover:border-accent/50"
427+ :class =" page === 'diff' ? 'border-accent text-accent!' : 'border-transparent'"
428+ >
429+ {{ $t('compare.compare_versions') }}
430+ </LinkBase >
431+ </nav >
432+ </div >
429433 </div >
430434</template >
431435
0 commit comments