1717
1818 <button
1919 @click =" toggleMenu"
20- :class ="
21- tw`flex lg:hidden w-full items-center space-x-2 cursor-pointer select-none text(gray-500 dark:gray-300 hover:dark:white hover:green-700) p-4 rounded bg-gray-100 dark:bg-gray-700 hover:(bg(green-100 dark:gray-600 opacity-50 dark:opacity-50))`
22- "
20+ :class =" [
21+ tw`flex lg:hidden w-full items-center space-x-2 cursor-pointer select-none text(gray-500 dark:gray-300 hover:dark:white hover:green-700) p-4 rounded bg-gray-100 dark:bg-gray-700 hover:(bg(green-100 dark:gray-600 opacity-50 dark:opacity-50))`,
22+ menuIsOpen ? tw`relative z-30` : ''
23+ ]"
2324 >
2425 <svg
26+ v-if =" menuIsOpen"
27+ :class =" tw`w-5`"
28+ xmlns =" http://www.w3.org/2000/svg"
29+ fill =" none"
30+ viewBox =" 0 0 24 24"
31+ stroke =" currentColor"
32+ >
33+ <path
34+ stroke-linecap =" round"
35+ stroke-linejoin =" round"
36+ stroke-width =" 2"
37+ d =" M19 9l-7 7-7-7"
38+ />
39+ </svg >
40+ <svg
41+ v-else
2542 :class =" tw`w-5`"
2643 xmlns =" http://www.w3.org/2000/svg"
2744 fill =" none"
3552 d =" M4 6h16M4 12h16M4 18h16"
3653 />
3754 </svg >
38- <div >{{ currentRoute.meta.title }}</div >
55+ <div >{{ menuIsOpen ? "Choose a page" : currentRoute.meta.title }}</div >
3956 </button >
4057
4158 <SidebarWrapper :menuIsOpen =" menuIsOpen" >
4259 <ul :class =" tw`sticky top-10`" >
4360 <li :class =" classes.heading" >Getting Started</li >
44- <SidebarLink @click =" toggleMenu " to =" /docs/install" >
61+ <SidebarLink @click =" closeMenu " to =" /docs/install" >
4562 Installation
4663 </SidebarLink >
47- <SidebarLink @click =" toggleMenu " to =" /docs/theming" >Theming</SidebarLink >
48- <SidebarLink @click =" toggleMenu " to =" /docs/guides" >Guides</SidebarLink >
64+ <SidebarLink @click =" closeMenu " to =" /docs/theming" >Theming</SidebarLink >
65+ <SidebarLink @click =" closeMenu " to =" /docs/guides" >Guides</SidebarLink >
4966 <li :class =" classes.heading" >
5067 <div :class =" tw`mt-8`" >Components</div >
5168 </li >
52- <SidebarLink @click =" toggleMenu " to =" /docs/anchor" >
69+ <SidebarLink @click =" closeMenu " to =" /docs/anchor" >
5370 Anchor Link
5471 </SidebarLink >
55- <SidebarLink @click =" toggleMenu " to =" /docs/button" >Button</SidebarLink >
56- <SidebarLink @click =" toggleMenu " to =" /docs/dropdown" >
72+ <SidebarLink @click =" closeMenu " to =" /docs/button" >Button</SidebarLink >
73+ <SidebarLink @click =" closeMenu " to =" /docs/dropdown" >
5774 Dropdown
5875 </SidebarLink >
59- <SidebarLink @click =" toggleMenu " to =" /docs/prose" >Prose</SidebarLink >
60- <SidebarLink @click =" toggleMenu " to =" /docs/table" >Table</SidebarLink >
76+ <SidebarLink @click =" closeMenu " to =" /docs/prose" >Prose</SidebarLink >
77+ <SidebarLink @click =" closeMenu " to =" /docs/table" >Table</SidebarLink >
6178 </ul >
6279 </SidebarWrapper >
6380</template >
@@ -87,13 +104,17 @@ export default defineComponent({
87104 menuIsOpen .value = ! menuIsOpen .value ;
88105 };
89106
107+ const closeMenu = (): void => {
108+ menuIsOpen .value = false ;
109+ };
110+
90111 watch (menuIsOpen , (menuIsOpen ) => {
91112 menuIsOpen
92113 ? document .body .classList .add (tw ` overflow-hidden ` )
93114 : document .body .classList .remove (tw ` overflow-hidden ` );
94115 });
95116
96- return { tw , currentRoute , classes , menuIsOpen , toggleMenu };
117+ return { tw , currentRoute , classes , menuIsOpen , toggleMenu , closeMenu };
97118 },
98119});
99120 </script >
0 commit comments