UNPKG

@lobehub/editor

Version:

A powerful and extensible rich text editor built on Meta's Lexical framework, providing a modern editing experience with React integration.

52 lines (49 loc) 1.45 kB
'use client'; import { useCallback } from 'react'; import DefaultSlashMenu from "./DefaultSlashMenu"; /** * SlashMenu component - Only responsible for rendering the menu UI * All state management and plugin registration is handled by ReactSlashPlugin */ import { jsx as _jsx } from "react/jsx-runtime"; var SlashMenu = function SlashMenu(_ref) { var activeKey = _ref.activeKey, anchorClassName = _ref.anchorClassName, CustomRender = _ref.customRender, loading = _ref.loading, onActiveKeyChange = _ref.onActiveKeyChange, onSelect = _ref.onSelect, open = _ref.open, options = _ref.options, position = _ref.position, onClose = _ref.onClose; // Adapter for custom render component onSelect var customRenderOnSelect = useCallback(function (option) { onSelect(option); }, [onSelect]); /** * Render the custom component if it exists */ if (CustomRender) { return /*#__PURE__*/_jsx(CustomRender, { activeKey: activeKey, loading: loading, onSelect: customRenderOnSelect, open: open, options: options, setActiveKey: onActiveKeyChange }); } return /*#__PURE__*/_jsx(DefaultSlashMenu, { activeKey: activeKey, anchorClassName: anchorClassName, loading: loading, onClose: onClose, onSelect: onSelect, open: open, options: options, position: position }); }; SlashMenu.displayName = 'SlashMenu'; export default SlashMenu;