22 lines
695 B
TypeScript
22 lines
695 B
TypeScript
|
|
/*
|
||
|
|
* Copyright (C) Contributors to the Suwayomi project
|
||
|
|
*
|
||
|
|
* This Source Code Form is subject to the terms of the Mozilla Public
|
||
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||
|
|
* file, You can obtain one at https://mozilla.org/MPL/2.0/.
|
||
|
|
*/
|
||
|
|
|
||
|
|
import { MenuProps } from '@mui/material/Menu/Menu';
|
||
|
|
import { Menu as MuiMenu } from '@mui/material';
|
||
|
|
|
||
|
|
export const Menu = ({
|
||
|
|
children,
|
||
|
|
onClose,
|
||
|
|
...props
|
||
|
|
}: Omit<MenuProps, 'children' | 'onClose'> &
|
||
|
|
Required<Pick<MenuProps, 'onClose'>> & { children: (onClose: () => void) => JSX.Element }) => (
|
||
|
|
<MuiMenu {...props} onClose={onClose}>
|
||
|
|
{children(() => onClose({}, 'backdropClick'))}
|
||
|
|
</MuiMenu>
|
||
|
|
);
|