'use client'; import React, { useRef } from 'react'; import type { TSuggestionData } from '@udecode/plate-suggestion'; import { cn } from '@udecode/cn'; import { type RenderNodeWrapper, usePluginOption } from '@udecode/plate/react'; import { CornerDownLeftIcon } from 'lucide-react'; import { type SuggestionConfig, suggestionPlugin, } from '@plone/plate/components/editor/plugins/suggestion-plugin'; export const SuggestionBelowNodes: RenderNodeWrapper = ({ api, element, }) => { if (!api.suggestion.isBlockSuggestion(element)) return; const suggestionData = element.suggestion; if (!suggestionData?.isLineBreak) return; // eslint-disable-next-line react/prop-types return function Component({ children }) { return ( {children} ); }; }; function SuggestionLineBreak({ suggestionData, }: { suggestionData: TSuggestionData; }) { const { type } = suggestionData; const isRemove = type === 'remove'; const isInsert = type === 'insert'; const activeSuggestionId = usePluginOption(suggestionPlugin, 'activeId'); const hoverSuggestionId = usePluginOption(suggestionPlugin, 'hoverId'); const isActive = activeSuggestionId === suggestionData.id; const isHover = hoverSuggestionId === suggestionData.id; const spanRef = useRef(null); return ( ); }