@@ -34,6 +34,11 @@ const props = defineProps({
34
34
required: false ,
35
35
default: false ,
36
36
},
37
+ panelOpen: {
38
+ type: Boolean ,
39
+ required: false ,
40
+ default: false ,
41
+ },
37
42
});
38
43
39
44
const { disabled, reverse } = toRefs (props );
@@ -181,7 +186,7 @@ const onTouchEnd = (e: TouchEvent) => {
181
186
<template >
182
187
<nav
183
188
ref =" navElement"
184
- :class =" { reverse, floating }"
189
+ :class =" { reverse, floating, panel: panelOpen, drawer: showDrawer }"
185
190
@mouseenter =" isHover = true"
186
191
@mouseleave =" isHover = false"
187
192
@focusin =" isFocus = true"
@@ -257,6 +262,7 @@ const onTouchEnd = (e: TouchEvent) => {
257
262
</template >
258
263
259
264
<style lang="scss" scoped>
265
+ @use ' ~/styles/mixin' as mixin ;
260
266
@use ' ~/styles/layout' as layout ;
261
267
262
268
nav {
@@ -265,16 +271,31 @@ nav {
265
271
--navbar-text-color-hover-active : var (--white );
266
272
--navbar-text-color-active : var (--white );
267
273
274
+ @include mixin .hover-background ;
275
+
268
276
display : flex ;
269
277
flex-direction : column ;
270
278
padding : env (safe-area-inset-top ) 0.25rem 0 ;
271
279
overflow-x : unset ;
272
280
font-size : 12px ;
273
281
text-align : center ;
274
282
transition :
283
+ backdrop-filter layout .$navbar-transition layout .$navbar-transition-delay ,
284
+ background layout .$navbar-transition layout .$navbar-transition-delay ,
275
285
border-radius 0.25s var (--n-bezier ),
276
286
padding 0.25s var (--n-bezier );
277
287
288
+ & .drawer {
289
+ transition-delay : layout .$navbar-transition-delay-visible ;
290
+ }
291
+
292
+ & .panel {
293
+ background : var (--bg-gradient-60-90 );
294
+ // stylelint-disable-next-line property-no-vendor-prefix -- necessary for safari
295
+ -webkit-backdrop-filter : blur (var (--bg-blur-20 ));
296
+ backdrop-filter : blur (var (--bg-blur-20 ));
297
+ }
298
+
278
299
& .reverse {
279
300
flex-direction : column-reverse ;
280
301
padding : 0 0.25rem ;
0 commit comments