'use client'; import React from 'react'; import { cn } from '@udecode/cn'; import { RangeApi } from '@udecode/plate'; import { type CursorData, type CursorOverlayState, useCursorOverlay, } from '@udecode/plate-selection/react'; export function Cursor({ id, caretPosition, data, selection, selectionRects, }: CursorOverlayState) { const { style, selectionStyle = style } = data ?? ({} as CursorData); const isCursor = RangeApi.isCollapsed(selection); return ( <> {selectionRects.map((position, i) => { return (
); })} {caretPosition && (
)} ); } export function CursorOverlay() { const { cursors } = useCursorOverlay(); return ( <> {cursors.map((cursor) => ( ))} ); }