|
8 | 8 | ); |
9 | 9 | </script> |
10 | 10 |
|
11 | | -<section id="install" class="scroll-mt-16 border-t border-ink-800"> |
| 11 | +<section id="install" class="scroll-target border-t border-ink-800"> |
12 | 12 | <div class="container-site py-14 sm:py-20 lg:py-24"> |
13 | 13 | <div class="max-w-2xl"> |
14 | 14 | <h2 class="font-sans font-semibold text-title text-ink-50">{install.title}</h2> |
|
20 | 20 | <!-- Segmented platform tabs --> |
21 | 21 | <div class="mt-8"> |
22 | 22 | <div |
23 | | - class="no-scrollbar flex max-w-full items-center gap-1 overflow-x-auto rounded-sm border border-ink-800 bg-ink-950 p-1 sm:inline-flex sm:flex-wrap" |
| 23 | + class="no-scrollbar flex max-w-full snap-x snap-mandatory items-center gap-1 overflow-x-auto rounded-sm border border-ink-800 bg-ink-950 p-1 sm:inline-flex sm:flex-wrap" |
24 | 24 | role="tablist" |
25 | 25 | aria-label="Target platform" |
26 | 26 | > |
|
29 | 29 | type="button" |
30 | 30 | role="tab" |
31 | 31 | aria-selected={activeTargetId === target.id} |
32 | | - class="flex min-h-9 shrink-0 touch-manipulation select-none items-center gap-2 rounded-xs px-3.5 py-1.5 font-sans text-xs font-medium tracking-tight transition-all duration-120 active:scale-[0.96] {activeTargetId === |
| 32 | + class="flex min-h-10 shrink-0 snap-start touch-manipulation select-none items-center gap-2 rounded-xs px-3.5 py-1.5 font-sans text-xs font-medium tracking-tight transition-all duration-120 active:scale-[0.96] {activeTargetId === |
33 | 33 | target.id |
34 | 34 | ? 'bg-ink-800 text-ink-50 shadow-xs' |
35 | 35 | : 'text-ink-400 hover:bg-ink-900 hover:text-ink-200'}" |
| 36 | + aria-controls="install-panel" |
36 | 37 | onclick={() => (activeTargetId = target.id)} |
37 | 38 | > |
38 | 39 | <span>{target.label}</span> |
|
49 | 50 | </div> |
50 | 51 |
|
51 | 52 | <!-- Active platform install card --> |
52 | | - <div class="mt-4 max-w-3xl rounded-xs border border-ink-800 bg-ink-900/40 overflow-hidden"> |
| 53 | + <div id="install-panel" class="mt-4 max-w-3xl min-w-0 overflow-hidden rounded-xs border border-ink-800 bg-ink-900/40" role="tabpanel" tabindex="0"> |
53 | 54 | <!-- Header / Method info --> |
54 | 55 | <div |
55 | 56 | class="flex flex-wrap items-center justify-between gap-3 border-b border-ink-800 bg-ink-900/80 px-4 py-2.5 sm:px-5" |
|
89 | 90 | </div> |
90 | 91 |
|
91 | 92 | <!-- Fallback release archives note --> |
92 | | - <div class="mt-6 flex max-w-3xl items-center gap-2 text-xs text-ink-400"> |
| 93 | + <div class="mt-6 flex max-w-3xl items-start gap-2 text-xs text-ink-400"> |
93 | 94 | <svg |
94 | 95 | class="h-4 w-4 shrink-0 text-ink-500" |
95 | 96 | viewBox="0 0 16 16" |
|
0 commit comments