reactive,
unref,
VNodeProps,
+ HTMLAttributes,
} from 'vue'
import { RouteLocationRaw, VueUseOptions, RouteLocation } from './types'
import { isSameRouteLocationParams, isSameRouteRecord } from './location'
// also to avoid inline import() in generated d.ts files
export const RouterLink = (RouterLinkImpl as any) as {
new (): {
- $props: VNodeProps & RouterLinkProps
+ $props: HTMLAttributes & VNodeProps & RouterLinkProps
}
}
VNodeProps,
getCurrentInstance,
computed,
+ HTMLAttributes,
} from 'vue'
import { RouteLocationNormalized, RouteLocationNormalizedLoaded } from './types'
import {
// also to avoid inline import() in generated d.ts files
export const RouterView = (RouterViewImpl as any) as {
new (): {
- $props: VNodeProps & RouterViewProps
+ $props: HTMLAttributes & VNodeProps & RouterViewProps
}
}
expectError(<RouterLink to="/" replace="text" />)
expectType<JSX.Element>(<RouterLink to="/foo" replace />)
expectType<JSX.Element>(<RouterLink to="/foo" />)
+expectType<JSX.Element>(<RouterLink class="link" to="/foo" />)
expectType<JSX.Element>(<RouterLink to={{ path: '/foo' }} />)
expectType<JSX.Element>(<RouterLink to={{ path: '/foo' }} custom />)
// RouterView
-expectType<JSX.Element>(<RouterView />)
+expectType<JSX.Element>(<RouterView class="view" />)
expectType<JSX.Element>(<RouterView name="foo" />)
expectType<JSX.Element>(<RouterView route={router.currentRoute.value} />)