diff --git a/docs/.vitepress/config.mts b/docs/.vitepress/config.mts index 38bf5b9ec..019284713 100644 --- a/docs/.vitepress/config.mts +++ b/docs/.vitepress/config.mts @@ -105,6 +105,12 @@ export default defineConfig({ replacement: fileURLToPath( new URL('./theme/components/VPLocalSearchBox.vue', import.meta.url) ) + }, + { + find: /^.*VPNav\.vue$/, + replacement: fileURLToPath( + new URL('./theme/components/VPNav.vue', import.meta.url) + ) } ] }, diff --git a/docs/.vitepress/theme/components/VPNav.vue b/docs/.vitepress/theme/components/VPNav.vue new file mode 100644 index 000000000..fff52c52b --- /dev/null +++ b/docs/.vitepress/theme/components/VPNav.vue @@ -0,0 +1,157 @@ + + + + + + + diff --git a/docs/.vitepress/vue-shim.d.ts b/docs/.vitepress/vue-shim.d.ts index 844f88324..3b2f84abd 100644 --- a/docs/.vitepress/vue-shim.d.ts +++ b/docs/.vitepress/vue-shim.d.ts @@ -18,3 +18,23 @@ declare module '*.vue' { const component: import('vue').Component export default component } + + +declare module 'vitepress/dist/client/theme-default/composables/nav' { + export function useNav(): { + isScreenOpen: import('vue').Ref + openScreen: () => void + closeScreen: () => void + toggleScreen: () => void + } +} + +declare module 'vitepress/dist/client/theme-default/components/VPNavBar.vue' { + const component: import('vue').Component + export default component +} + +declare module 'vitepress/dist/client/theme-default/components/VPNavScreen.vue' { + const component: import('vue').Component + export default component +} \ No newline at end of file