UNPKG

@lobehub/ui

Version:

Lobe UI is an open-source UI component library for building AIGC web apps

42 lines (40 loc) 1.53 kB
import { EditorSlashMenuItem, EditorSlashMenuItemContent, EditorSlashMenuItemExtra, EditorSlashMenuItemIcon, EditorSlashMenuItemLabel } from "./atoms.mjs"; import { memo } from "react"; import { jsx, jsxs } from "react/jsx-runtime"; //#region src/EditorSlashMenu/MenuItemRenderer.tsx const DefaultItemContent = memo(({ item, hasAnyIcon, reserveIconSpace }) => /* @__PURE__ */ jsxs(EditorSlashMenuItemContent, { children: [ /* @__PURE__ */ jsx(EditorSlashMenuItemIcon, { "aria-hidden": !hasAnyIcon && !reserveIconSpace, children: item.icon ?? (reserveIconSpace && hasAnyIcon ? /* @__PURE__ */ jsx("span", {}) : null) }), /* @__PURE__ */ jsx(EditorSlashMenuItemLabel, { children: item.label }), item.extra ? /* @__PURE__ */ jsx(EditorSlashMenuItemExtra, { children: item.extra }) : null ] })); DefaultItemContent.displayName = "DefaultItemContent"; const MenuItemRenderer = memo(({ hasAnyIcon, item, onSelect, renderItem, reserveIconSpace }) => { const content = renderItem?.(item) ?? /* @__PURE__ */ jsx(DefaultItemContent, { hasAnyIcon, item, reserveIconSpace }); return /* @__PURE__ */ jsx(EditorSlashMenuItem, { danger: item.danger, disabled: item.disabled, onClick: (e) => { if (item.disabled) { e.preventDefault(); return; } onSelect(item, { event: e, reason: "item-press" }); }, value: item, children: content }, item.value); }); MenuItemRenderer.displayName = "MenuItemRenderer"; //#endregion export { MenuItemRenderer }; //# sourceMappingURL=MenuItemRenderer.mjs.map