import type { Component, ValidComponent } from "solid-js"; import type { ElementOf, PolymorphicProps } from "../polymorphic"; import { MenuItemBase, type MenuItemBaseCommonProps, type MenuItemBaseOptions, type MenuItemBaseRenderProps, } from "./menu-item-base"; export interface MenuItemOptions extends Omit {} export interface MenuItemCommonProps extends MenuItemBaseCommonProps {} export interface MenuItemRenderProps extends MenuItemCommonProps, MenuItemBaseRenderProps { role: "menuitem"; } export type MenuItemProps< T extends ValidComponent | HTMLElement = HTMLElement, > = MenuItemOptions & Partial>>; /** * An item of the menu. */ export function MenuItem( props: PolymorphicProps>, ) { return ( > > role="menuitem" closeOnSelect {...(props as MenuItemProps)} /> ); }