-
-
Notifications
You must be signed in to change notification settings - Fork 5.1k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat(types): add composables.d.ts in root (#3784)
- Loading branch information
1 parent
03effee
commit 0cf54de
Showing
3 changed files
with
44 additions
and
44 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
export * from './types/composables' |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,53 +1,51 @@ | ||
declare module 'vue-router/composables' { | ||
import type { ComputedRef, Ref } from 'vue' | ||
import type { Route, NavigationGuard, default as VueRouter } from 'vue-router' | ||
import type { ComputedRef, Ref } from 'vue' | ||
import type { Route, NavigationGuard, default as VueRouter } from './index' | ||
|
||
/** | ||
* Returns the current route location. Equivalent to using `$route` inside templates. | ||
*/ | ||
export function useRoute(): Route | ||
/** | ||
* Returns the current route location. Equivalent to using `$route` inside templates. | ||
*/ | ||
export function useRoute(): Route | ||
|
||
/** | ||
* Returns the router instance. Equivalent to using `$router` inside templates. | ||
*/ | ||
export function useRouter(): VueRouter | ||
/** | ||
* Returns the router instance. Equivalent to using `$router` inside templates. | ||
*/ | ||
export function useRouter(): VueRouter | ||
|
||
/** | ||
* Add a navigation guard that triggers whenever the current location is about to be updated. Similar to beforeRouteUpdate but can be used in any component. The guard is removed when the component is unmounted. | ||
* | ||
* @param updateGuard | ||
*/ | ||
export function onBeforeRouteUpdate(updateGuard: NavigationGuard): void | ||
/** | ||
* Add a navigation guard that triggers whenever the current location is about to be updated. Similar to beforeRouteUpdate but can be used in any component. The guard is removed when the component is unmounted. | ||
* | ||
* @param updateGuard | ||
*/ | ||
export function onBeforeRouteUpdate(updateGuard: NavigationGuard): void | ||
|
||
/** | ||
* Add a navigation guard that triggers whenever the component for the current location is about to be left. Similar to beforeRouteLeave but can be used in any component. The guard is removed when the component is unmounted. | ||
* | ||
* @param leaveGuard | ||
*/ | ||
export function onBeforeRouteLeave(leaveGuard: NavigationGuard): void | ||
|
||
export interface RouterLinkOptions { | ||
/** | ||
* Add a navigation guard that triggers whenever the component for the current location is about to be left. Similar to beforeRouteLeave but can be used in any component. The guard is removed when the component is unmounted. | ||
* | ||
* @param leaveGuard | ||
* Route Location the link should navigate to when clicked on. | ||
*/ | ||
export function onBeforeRouteLeave(leaveGuard: NavigationGuard): void | ||
|
||
export interface RouterLinkOptions { | ||
/** | ||
* Route Location the link should navigate to when clicked on. | ||
*/ | ||
to: Route | Ref<Route> | ||
/** | ||
* Calls `router.replace` instead of `router.push`. | ||
*/ | ||
replace?: boolean | ||
} | ||
|
||
to: Route | Ref<Route> | ||
/** | ||
* Vue Router 4 `useLink()` function. Note the active behavior is different from Vue Router 3 as highlighted in the | ||
* migration guide (https://router.vuejs.org/guide/migration/index.html#removal-of-the-exact-prop-in-router-link) | ||
* | ||
* @param props - object containing a `to` property with the location | ||
* Calls `router.replace` instead of `router.push`. | ||
*/ | ||
export function useLink(props: RouterLinkOptions): { | ||
route: ComputedRef<Route>, | ||
isActive: ComputedRef<boolean>, | ||
isExactActive: ComputedRef<boolean>, | ||
href: ComputedRef<string>, | ||
navigate: () => Promise<void>, | ||
} | ||
replace?: boolean | ||
} | ||
|
||
/** | ||
* Vue Router 4 `useLink()` function. Note the active behavior is different from Vue Router 3 as highlighted in the | ||
* migration guide (https://router.vuejs.org/guide/migration/index.html#removal-of-the-exact-prop-in-router-link) | ||
* | ||
* @param props - object containing a `to` property with the location | ||
*/ | ||
export function useLink({ to, replace }: RouterLinkOptions): { | ||
route: ComputedRef<Route>, | ||
isActive: ComputedRef<boolean>, | ||
isExactActive: ComputedRef<boolean>, | ||
href: ComputedRef<string>, | ||
navigate: () => Promise<void>, | ||
} |