mirror of
https://github.com/ArthurDanjou/ui.git
synced 2026-01-14 12:14:41 +01:00
fix(Link): properly pick all aria-* & data-* attrs
This commit is contained in:
@@ -1,6 +1,20 @@
|
||||
import { reactivePick } from '@vueuse/core'
|
||||
import type { LinkProps } from '../types'
|
||||
|
||||
export function pickLinkProps(link: LinkProps & { ariaLabel?: string, title?: string }) {
|
||||
return reactivePick(link, 'active', 'activeClass', 'ariaCurrentValue', 'ariaLabel', 'as', 'disabled', 'exact', 'exactActiveClass', 'exactHash', 'exactQuery', 'external', 'href', 'inactiveClass', 'noPrefetch', 'noRel', 'prefetch', 'prefetchedClass', 'rel', 'replace', 'target', 'to', 'type', 'title')
|
||||
export function pickLinkProps(link: LinkProps & { [key: string]: any }) {
|
||||
const keys = Object.keys(link)
|
||||
|
||||
const ariaKeys = keys.filter(key => key.startsWith('aria-'))
|
||||
const dataKeys = keys.filter(key => key.startsWith('data-'))
|
||||
|
||||
const propsToInclude = [
|
||||
'active', 'activeClass', 'ariaCurrentValue', 'as', 'disabled',
|
||||
'exact', 'exactActiveClass', 'exactHash', 'exactQuery', 'external',
|
||||
'href', 'inactiveClass', 'noPrefetch', 'noRel', 'prefetch',
|
||||
'prefetchedClass', 'rel', 'replace', 'target', 'to', 'type', 'title',
|
||||
...ariaKeys,
|
||||
...dataKeys
|
||||
]
|
||||
|
||||
return reactivePick(link, ...propsToInclude)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user