feat: close MainMenu and Library dropdown on item select (#6152)

This commit is contained in:
David Luzar 2023-01-23 16:54:35 +01:00 committed by GitHub
parent d4afd66268
commit 1db078a3dc
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
12 changed files with 178 additions and 62 deletions

View file

@ -1,10 +1,10 @@
import React from "react";
import {
getDrodownMenuItemClassName,
useHandleDropdownMenuItemClick,
} from "./common";
import MenuItemContent from "./DropdownMenuItemContent";
export const getDrodownMenuItemClassName = (className = "") => {
return `dropdown-menu-item dropdown-menu-item-base ${className}`.trim();
};
const DropdownMenuItem = ({
icon,
onSelect,
@ -14,15 +14,17 @@ const DropdownMenuItem = ({
...rest
}: {
icon?: JSX.Element;
onSelect: () => void;
onSelect: (event: Event) => void;
children: React.ReactNode;
shortcut?: string;
className?: string;
} & React.ButtonHTMLAttributes<HTMLButtonElement>) => {
} & Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, "onSelect">) => {
const handleClick = useHandleDropdownMenuItemClick(rest.onClick, onSelect);
return (
<button
{...rest}
onClick={onSelect}
onClick={handleClick}
type="button"
className={getDrodownMenuItemClassName(className)}
title={rest.title ?? rest["aria-label"]}