@@ -243,17 +243,16 @@ const hasActiveFilters = computed(() => !!filterSummary.value)
243243 role =" radiogroup"
244244 :aria-label =" $t('filters.weekly_downloads')"
245245 >
246- <TagClickable
246+ <TagRadioButton
247247 v-for =" range in DOWNLOAD_RANGES"
248248 :key =" range.value"
249- type =" button"
250- role =" radio"
251- :aria-checked =" filters.downloadRange === range.value"
252- :status =" filters.downloadRange === range.value ? 'active' : 'default'"
253- @click =" emit('update:downloadRange', range.value)"
249+ :model-value =" filters.downloadRange"
250+ :value =" range.value"
251+ @update:modelValue =" emit('update:downloadRange', $event as DownloadRange)"
252+ name =" range"
254253 >
255254 {{ $t(getDownloadRangeLabelKey(range.value)) }}
256- </TagClickable >
255+ </TagRadioButton >
257256 </div >
258257 </fieldset >
259258
@@ -267,17 +266,16 @@ const hasActiveFilters = computed(() => !!filterSummary.value)
267266 role =" radiogroup"
268267 :aria-label =" $t('filters.updated_within')"
269268 >
270- <TagClickable
269+ <TagRadioButton
271270 v-for =" option in UPDATED_WITHIN_OPTIONS"
272271 :key =" option.value"
273- type =" button"
274- role =" radio"
275- :aria-checked =" filters.updatedWithin === option.value"
276- :status =" filters.updatedWithin === option.value ? 'active' : 'default'"
277- @click =" emit('update:updatedWithin', option.value)"
272+ :model-value =" filters.updatedWithin"
273+ :value =" option.value"
274+ name =" updatedWithin"
275+ @update:modelValue =" emit('update:updatedWithin', $event as UpdatedWithin)"
278276 >
279277 {{ $t(getUpdatedWithinLabelKey(option.value)) }}
280- </TagClickable >
278+ </TagRadioButton >
281279 </div >
282280 </fieldset >
283281
@@ -290,17 +288,16 @@ const hasActiveFilters = computed(() => !!filterSummary.value)
290288 </span >
291289 </legend >
292290 <div class =" flex flex-wrap gap-2" role =" radiogroup" :aria-label =" $t('filters.security')" >
293- <TagClickable
291+ <TagRadioButton
294292 v-for =" security in SECURITY_FILTER_VALUES"
295293 :key =" security"
296- type =" button"
297- role =" radio"
298294 disabled
299- :aria-checked =" filters.security === security"
300- :status =" filters.security === security ? 'active' : 'default'"
295+ :model-value =" filters.security"
296+ :value =" security"
297+ name =" security"
301298 >
302299 {{ $t(getSecurityLabelKey(security)) }}
303- </TagClickable >
300+ </TagRadioButton >
304301 </div >
305302 </fieldset >
306303
@@ -310,16 +307,14 @@ const hasActiveFilters = computed(() => !!filterSummary.value)
310307 {{ $t('filters.keywords') }}
311308 </legend >
312309 <div class =" flex flex-wrap gap-1.5" role =" group" :aria-label =" $t('filters.keywords')" >
313- <TagClickable
310+ <TagButton
314311 v-for =" keyword in displayedKeywords"
315312 :key =" keyword"
316- type =" button"
317- :aria-pressed =" filters.keywords.includes(keyword)"
318- :status =" filters.keywords.includes(keyword) ? 'active' : 'default'"
313+ :pressed =" filters.keywords.includes(keyword)"
319314 @click =" emit('toggleKeyword', keyword)"
320315 >
321316 {{ keyword }}
322- </TagClickable >
317+ </TagButton >
323318 <button
324319 v-if =" hasMoreKeywords"
325320 type =" button"
0 commit comments