@@ -23,10 +23,11 @@ const MenuContext = createContext({} as MenuContextValue);
2323
2424const Menu = ( { children } : { children ?: React . ReactNode } ) => {
2525 const [ isOpen , setOpen ] = useState ( false ) ;
26+
2627 const toggle = useCallback ( ( ) => setOpen ( prev => ! prev ) , [ ] ) ;
27- const value = useMemo ( ( ) => ( { isOpen, toggle } ) , [ isOpen , toggle ] ) ;
2828
2929 const ref = useOutsideClickRef < HTMLDivElement > ( ( ) => setOpen ( false ) ) ;
30+ const value = useMemo ( ( ) => ( { isOpen, toggle } ) , [ isOpen , toggle ] ) ;
3031
3132 return (
3233 < div className = "relative" ref = { ref } >
@@ -50,6 +51,7 @@ const Toggle = () => {
5051
5152const BottomSheetList = ( { children } : { children ?: React . ReactNode } ) => {
5253 const { isOpen, toggle } = useContext ( MenuContext ) ;
54+
5355 return (
5456 < BottomSheet isShow = { isOpen } onClose = { toggle } >
5557 { children }
@@ -58,13 +60,18 @@ const BottomSheetList = ({ children }: { children?: React.ReactNode }) => {
5860} ;
5961
6062const DropdownList = ( { children } : { children ?: React . ReactNode } ) => {
61- const { isOpen } = useContext ( MenuContext ) ;
63+ const { isOpen, toggle } = useContext ( MenuContext ) ;
64+
6265 return (
6366 < >
6467 { isOpen && (
65- < ul className = "absolute right-0 top-[3rem] z-50 min-w-[10rem] rounded-[0.5rem] bg-white py-[0.5rem] shadow-[0_0_15px_rgba(0,0,0,0.05),0_1px_2px_rgba(0,0,0,0.1)]" >
66- { children }
67- </ ul >
68+ < >
69+ { /** overlay */ }
70+ < div className = "fixed inset-0 z-50 bg-overlay/60" onClick = { toggle } />
71+ < ul className = "absolute right-0 top-[3rem] z-50 min-w-[10rem] rounded-[0.5rem] bg-white py-[0.5rem] shadow-[0_0_15px_rgba(0,0,0,0.05),0_1px_2px_rgba(0,0,0,0.1)]" >
72+ { children }
73+ </ ul >
74+ </ >
6875 ) }
6976 </ >
7077 ) ;
0 commit comments