import _MenuItem from "@mui/material/MenuItem";
/*!
 * Copyright (c) 2022-present, Okta, Inc. and/or its affiliates. All rights reserved.
 * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the "License.")
 *
 * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 *
 * See the License for the specific language governing permissions and limitations under the License.
 */
import { menuItemClasses } from "@mui/material/MenuItem";
import { memo, useCallback, useContext } from "react";
import { MenuContext } from "./MenuContext.js";
import { jsx as _jsx } from "react/jsx-runtime";
const MenuItem = ({
  children,
  hasInitialFocus,
  isSelected,
  isDisabled,
  onClick: onClickProp,
  testId,
  value,
  variant = "default"
}) => {
  const {
    closeMenu,
    shouldCloseOnSelect
  } = useContext(MenuContext);
  const onClick = useCallback(event => {
    onClickProp?.(event);
    if (shouldCloseOnSelect) {
      closeMenu();
    }
  }, [onClickProp, closeMenu, shouldCloseOnSelect]);
  return _jsx(_MenuItem, {
    "aria-current": isSelected,
    autoFocus: hasInitialFocus,
    className: variant === "destructive" ? `${menuItemClasses.root}-destructive` : undefined,
    "data-se": testId,
    disabled: isDisabled,
    onClick: onClick,
    selected: isSelected,
    tabIndex: 0,
    value: value,
    children: children
  });
};
const MemoizedMenuItem = memo(MenuItem);
MemoizedMenuItem.displayName = "MenuItem";
export { MemoizedMenuItem as MenuItem };
//# sourceMappingURL=MenuItem.js.map