Skip to content

Commit 90ffcae

Browse files
authored
Merge branch 'main' into chore/minor-cleanups
2 parents 3576d64 + 02fb642 commit 90ffcae

File tree

8 files changed

+40
-14
lines changed

8 files changed

+40
-14
lines changed

app/components/Compare/PackageSelector.vue

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -92,10 +92,17 @@ function handleKeydown(e: KeyboardEvent) {
9292
}
9393
}
9494
95+
const { start, stop } = useTimeoutFn(() => {
96+
isInputFocused.value = false
97+
}, 200)
98+
9599
function handleBlur() {
96-
useTimeoutFn(() => {
97-
isInputFocused.value = false
98-
}, 200)
100+
start()
101+
}
102+
103+
function handleFocus() {
104+
stop()
105+
isInputFocused.value = true
99106
}
100107
</script>
101108

@@ -151,7 +158,7 @@ function handleBlur() {
151158
size="medium"
152159
class="w-full min-w-25 ps-7"
153160
aria-autocomplete="list"
154-
@focus="isInputFocused = true"
161+
@focus="handleFocus"
155162
@blur="handleBlur"
156163
@keydown="handleKeydown"
157164
/>

app/components/Package/ListToolbar.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -146,7 +146,7 @@ function getSortKeyLabelKey(key: SortKey): string {
146146
$t(
147147
'filters.count.showing_paginated',
148148
{
149-
pageSize: pageSize === 'all' ? $n(filteredCount) : pageSize,
149+
pageSize: pageSize === 'all' ? $n(filteredCount) : Math.min(pageSize, filteredCount),
150150
count: $n(filteredCount),
151151
},
152152
filteredCount,

app/components/Package/TableRow.vue

Lines changed: 20 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -44,15 +44,15 @@ const allMaintainersText = computed(() => {
4444

4545
<template>
4646
<tr
47-
class="group border-b border-border hover:bg-bg-muted transition-colors duration-200 focus-visible:ring-2 focus-visible:ring-fg focus-visible:ring-inset focus-visible:outline-none focus:bg-bg-muted"
47+
class="group relative border-b border-border hover:bg-bg-muted transition-colors duration-200 focus-visible:ring-2 focus-visible:ring-fg focus-visible:ring-inset focus-visible:outline-none focus:bg-bg-muted"
4848
tabindex="0"
4949
:data-result-index="index"
5050
>
5151
<!-- Name (always visible) -->
5252
<td class="py-2 px-3">
5353
<NuxtLink
5454
:to="packageUrl"
55-
class="font-mono text-sm text-fg hover:text-accent-fallback transition-colors duration-200"
55+
class="row-link font-mono text-sm text-fg hover:text-accent-fallback transition-colors duration-200"
5656
dir="ltr"
5757
>
5858
{{ pkg.name }}
@@ -111,7 +111,7 @@ const allMaintainersText = computed(() => {
111111
name: '~username',
112112
params: { username: maintainer.username || maintainer.name || '' },
113113
}"
114-
class="hover:text-accent-fallback transition-colors duration-200"
114+
class="relative z-10 hover:text-accent-fallback transition-colors duration-200"
115115
@click.stop
116116
>{{ maintainer.username || maintainer.name || maintainer.email }}</NuxtLink
117117
><span v-if="idx < Math.min(pkg.maintainers.length, 3) - 1">, </span>
@@ -127,7 +127,7 @@ const allMaintainersText = computed(() => {
127127
<td v-if="isColumnVisible('keywords')" class="py-2 px-3 text-end">
128128
<div
129129
v-if="pkg.keywords?.length"
130-
class="flex flex-wrap gap-1 justify-end"
130+
class="relative z-10 flex flex-wrap gap-1 justify-end"
131131
:aria-label="$t('package.card.keywords')"
132132
>
133133
<ButtonBase
@@ -198,3 +198,19 @@ const allMaintainersText = computed(() => {
198198
</td>
199199
</tr>
200200
</template>
201+
202+
<style scoped>
203+
.row-link {
204+
&::after {
205+
content: '';
206+
position: absolute;
207+
inset: 0;
208+
cursor: pointer;
209+
}
210+
211+
&:focus-visible::after {
212+
outline: 2px solid var(--color-fg);
213+
outline-offset: -2px;
214+
}
215+
}
216+
</style>

app/pages/about.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ const { data: contributors, status: contributorsStatus } = useFetch<GitHubContri
5252
</h1>
5353
<button
5454
type="button"
55-
class="inline-flex items-center gap-2 font-mono text-sm text-fg-muted hover:text-fg transition-colors duration-200 rounded focus-visible:outline-accent/70 shrink-0"
55+
class="cursor-pointer inline-flex items-center gap-2 font-mono text-sm text-fg-muted hover:text-fg transition-colors duration-200 rounded focus-visible:outline-accent/70 shrink-0"
5656
@click="router.back()"
5757
v-if="canGoBack"
5858
>

app/pages/compare.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,7 @@ useSeoMeta({
117117
</h1>
118118
<button
119119
type="button"
120-
class="inline-flex items-center gap-2 font-mono text-sm text-fg-muted hover:text-fg transition-colors duration-200 rounded focus-visible:outline-accent/70 shrink-0"
120+
class="cursor-pointer inline-flex items-center gap-2 font-mono text-sm text-fg-muted hover:text-fg transition-colors duration-200 rounded focus-visible:outline-accent/70 shrink-0"
121121
@click="router.back()"
122122
v-if="canGoBack"
123123
>

app/pages/privacy.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ const { locale } = useI18n()
2929
</h1>
3030
<button
3131
type="button"
32-
class="inline-flex items-center gap-2 font-mono text-sm text-fg-muted hover:text-fg transition-colors duration-200 rounded focus-visible:outline-accent/70 shrink-0"
32+
class="cursor-pointer inline-flex items-center gap-2 font-mono text-sm text-fg-muted hover:text-fg transition-colors duration-200 rounded focus-visible:outline-accent/70 shrink-0"
3333
@click="router.back()"
3434
v-if="canGoBack"
3535
>

app/pages/search.vue

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -654,7 +654,10 @@ defineOgImageComponent('Default', {
654654
$t(
655655
'filters.count.showing_paginated',
656656
{
657-
pageSize: preferredPageSize === 'all' ? $n(effectiveTotal) : preferredPageSize,
657+
pageSize:
658+
preferredPageSize === 'all'
659+
? $n(effectiveTotal)
660+
: Math.min(preferredPageSize, effectiveTotal),
658661
count: $n(effectiveTotal),
659662
},
660663
effectiveTotal,

app/pages/settings.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ const setLocale: typeof setNuxti18nLocale = locale => {
5151
</h1>
5252
<button
5353
type="button"
54-
class="inline-flex items-center gap-2 font-mono text-sm text-fg-muted hover:text-fg transition-colors duration-200 rounded focus-visible:outline-accent/70 shrink-0 p-1.5 -mx-1.5"
54+
class="cursor-pointer inline-flex items-center gap-2 font-mono text-sm text-fg-muted hover:text-fg transition-colors duration-200 rounded focus-visible:outline-accent/70 shrink-0 p-1.5 -mx-1.5"
5555
@click="router.back()"
5656
v-if="canGoBack"
5757
>

0 commit comments

Comments
 (0)