File tree Expand file tree Collapse file tree
platforms/metagram/src/lib/fragments/Drawer Expand file tree Collapse file tree Original file line number Diff line number Diff line change 22 import { onMount , type Snippet } from ' svelte' ;
33 import { CupertinoPane } from ' cupertino-pane' ;
44 import type { HTMLAttributes } from ' svelte/elements' ;
5- import { clickOutside , cn } from ' $lib/utils' ;
5+ import { cn } from ' $lib/utils' ;
66 import { swipe } from ' svelte-gestures' ;
77 import type { SwipeCustomEvent } from ' svelte-gestures' ;
88
2222 let drawerElement: HTMLElement ;
2323 let drawer: CupertinoPane ;
2424
25- const handleClickOutside = () => {
26- drawer ?.destroy ({ animate: true });
27- isPaneOpen = false ;
28- };
25+ function dismiss() {
26+ if (drawer ) drawer .destroy ({ animate: true });
27+ }
2928
3029 const handleDrawerSwipe = (event : SwipeCustomEvent ) => {
3130 if (event .detail .direction === (' down' as string )) {
4746 bottomClose: true ,
4847 buttonDestroy: false ,
4948 cssClass: ' ' ,
50- initialBreak: ' middle'
49+ initialBreak: ' middle' ,
50+ events: {
51+ onBackdropTap : () => dismiss ()
52+ }
5153 });
5254 if (isPaneOpen ) {
5355 drawer .present ({ animate: true });
6769 minSwipeDistance: 60
6870 })}
6971 onswipe ={handleDrawerSwipe }
70- use:clickOutside ={handleClickOutside }
7172 class ={cn (restProps .class )}
7273>
7374 {@render children ?.()}
You can’t perform that action at this time.
0 commit comments