@@ -38,14 +38,15 @@ const Navigation: Component<NavigationProps> = (props) => {
3838
3939 const baseClass =
4040 "inline-flex items-center justify-center rounded-[0.65rem] border border-transparent px-[0.85rem] py-[0.5rem] text-[0.78rem] font-semibold tracking-[0.04em] text-[var(--text-muted)] transition-all duration-200 hover:border-[var(--border-strong)] hover:bg-[color-mix(in_srgb,var(--surface-panel)_76%,transparent)] hover:text-[var(--text-strong)]" ;
41-
41+
4242 const activeClass =
4343 "!text-white border-[color-mix(in_srgb,var(--accent-strong)_70%,var(--border-strong))] bg-[color-mix(in_srgb,var(--accent-strong)_86%,#10243d)] shadow-[0_0_0_1px_color-mix(in_srgb,var(--accent-strong)_55%,transparent)]" ;
4444
4545 const mobileBaseClass =
4646 "block w-full px-4 py-3 text-left text-base font-semibold text-[var(--text-muted)] transition-colors hover:bg-[var(--surface-elevated)] hover:text-[var(--text-strong)]" ;
47-
48- const mobileActiveClass = "!text-[var(--accent-strong)] bg-[var(--surface-elevated)]" ;
47+
48+ const mobileActiveClass =
49+ "!text-[var(--accent-strong)] bg-[var(--surface-elevated)]" ;
4950
5051 return (
5152 < nav class = "flex items-center" aria-label = "Main navigation" >
@@ -78,14 +79,34 @@ const Navigation: Component<NavigationProps> = (props) => {
7879 < Show
7980 when = { isOpen ( ) }
8081 fallback = {
81- < svg width = "20" height = "20" viewBox = "0 0 24 24" fill = "none" stroke = "currentColor" stroke-width = "2" stroke-linecap = "round" stroke-linejoin = "round" >
82+ < svg
83+ width = "20"
84+ height = "20"
85+ viewBox = "0 0 24 24"
86+ fill = "none"
87+ stroke = "currentColor"
88+ stroke-width = "2"
89+ stroke-linecap = "round"
90+ stroke-linejoin = "round"
91+ aria-label = "Menu"
92+ >
8293 < line x1 = "3" y1 = "6" x2 = "21" y2 = "6" />
8394 < line x1 = "3" y1 = "12" x2 = "21" y2 = "12" />
8495 < line x1 = "3" y1 = "18" x2 = "21" y2 = "18" />
8596 </ svg >
8697 }
8798 >
88- < svg width = "20" height = "20" viewBox = "0 0 24 24" fill = "none" stroke = "currentColor" stroke-width = "2" stroke-linecap = "round" stroke-linejoin = "round" >
99+ < svg
100+ width = "20"
101+ height = "20"
102+ viewBox = "0 0 24 24"
103+ fill = "none"
104+ stroke = "currentColor"
105+ stroke-width = "2"
106+ stroke-linecap = "round"
107+ stroke-linejoin = "round"
108+ aria-label = "Close menu"
109+ >
89110 < line x1 = "18" y1 = "6" x2 = "6" y2 = "18" />
90111 < line x1 = "6" y1 = "6" x2 = "18" y2 = "18" />
91112 </ svg >
@@ -94,12 +115,11 @@ const Navigation: Component<NavigationProps> = (props) => {
94115
95116 { /* Mobile Menu Overlay */ }
96117 < Show when = { isOpen ( ) } >
97- < div
118+ < button
119+ type = "button"
98120 class = "fixed inset-0 z-40 bg-black/50 backdrop-blur-sm md:hidden"
99121 onClick = { ( ) => setIsOpen ( false ) }
100122 onKeyDown = { handleKeyDown }
101- role = "button"
102- tabIndex = { - 1 }
103123 aria-label = "Close menu"
104124 />
105125 < div
@@ -110,14 +130,26 @@ const Navigation: Component<NavigationProps> = (props) => {
110130 aria-label = "Mobile navigation menu"
111131 >
112132 < div class = "flex items-center justify-between border-b border-[var(--border-strong)] p-4" >
113- < span class = "text-lg font-bold text-[var(--text-strong)]" > Menu</ span >
133+ < span class = "text-lg font-bold text-[var(--text-strong)]" >
134+ Menu
135+ </ span >
114136 < button
115137 type = "button"
116138 class = "inline-flex h-9 w-9 items-center justify-center rounded-lg text-[var(--text-muted)] hover:bg-[var(--surface-panel)] hover:text-[var(--text-strong)]"
117139 onClick = { ( ) => setIsOpen ( false ) }
118140 aria-label = "Close menu"
119141 >
120- < svg width = "20" height = "20" viewBox = "0 0 24 24" fill = "none" stroke = "currentColor" stroke-width = "2" stroke-linecap = "round" stroke-linejoin = "round" >
142+ < svg
143+ width = "20"
144+ height = "20"
145+ viewBox = "0 0 24 24"
146+ fill = "none"
147+ stroke = "currentColor"
148+ stroke-width = "2"
149+ stroke-linecap = "round"
150+ stroke-linejoin = "round"
151+ aria-label = "Close menu"
152+ >
121153 < line x1 = "18" y1 = "6" x2 = "6" y2 = "18" />
122154 < line x1 = "6" y1 = "6" x2 = "18" y2 = "18" />
123155 </ svg >
0 commit comments