this repo has no description
1import { MenuItem } from '@szhsin/react-menu';
2import { cloneElement } from 'preact';
3
4import Menu2 from './menu2';
5import SubMenu2 from './submenu2';
6
7function MenuConfirm({
8 subMenu = false,
9 confirm = true,
10 confirmLabel,
11 menuItemClassName,
12 menuFooter,
13 menuExtras,
14 ...props
15}) {
16 const { children, onClick, ...restProps } = props;
17 if (!confirm) {
18 if (subMenu) return <MenuItem {...props} />;
19 if (onClick) {
20 return cloneElement(children, {
21 onClick,
22 });
23 }
24 return children;
25 }
26 const Parent = subMenu ? SubMenu2 : Menu2;
27 return (
28 <Parent
29 openTrigger="clickOnly"
30 direction="bottom"
31 overflow="auto"
32 gap={-8}
33 shift={8}
34 menuClassName="menu-emphasized"
35 {...restProps}
36 menuButton={subMenu ? undefined : children}
37 label={subMenu ? children : undefined}
38 >
39 <MenuItem className={menuItemClassName} onClick={onClick}>
40 {confirmLabel}
41 </MenuItem>
42 {menuExtras}
43 {menuFooter}
44 </Parent>
45 );
46}
47
48export default MenuConfirm;