import React from "react"; import { Editor, TLocation, TRange } from "platejs"; import { PlateEditor } from "platejs/react"; import * as _floating_ui_react0 from "@floating-ui/react"; import { AlignedPlacement, AutoUpdateOptions, Axis, Boundary, ClientRectObject, ComputePositionConfig, ComputePositionReturn, ContextData, Coords, DetectOverflowOptions, Dimensions, ElementContext, ElementProps, ElementRects, Elements, ExtendedRefs, FloatingArrow, FloatingContext, FloatingDelayGroup, FloatingElement, FloatingEvents, FloatingFocusManager, FloatingNode, FloatingNodeType, FloatingOverlay, FloatingPortal, FloatingTree, FloatingTreeType, Length, Middleware, MiddlewareData, MiddlewareReturn, NodeScroll, Padding, Placement, Platform, Rect, ReferenceElement, ReferenceType, RootBoundary, Side, SideObject, SizeOptions, Strategy, UseFloatingData, UseFloatingOptions, UseFloatingReturn, VirtualElement, VirtualElement as VirtualElement$1, arrow, autoPlacement, autoUpdate, computePosition, detectOverflow, flip, getOverflowAncestors, hide, inline, limitShift, offset, safePolygon, shift, size, useClick, useDelayGroup, useDelayGroupContext, useDismiss, useFloating, useFloatingNodeId, useFloatingParentNodeId, useFloatingPortalNode, useFloatingTree, useFocus, useHover, useId, useInteractions, useListNavigation, useRole, useTypeahead } from "@floating-ui/react"; import { ClientRectObject as ClientRectObject$1 } from "@floating-ui/core"; import * as _udecode_react_utils0 from "@udecode/react-utils"; //#region src/createVirtualElement.d.ts declare const getDefaultBoundingClientRect: () => ClientRectObject$1; declare const createVirtualElement: () => VirtualElement$1; //#endregion //#region src/hooks/useVirtualFloating.d.ts interface UseVirtualFloatingOptions extends Partial { open?: boolean; getBoundingClientRect?: () => ClientRectObject$1; } interface UseVirtualFloatingReturn extends UseFloatingReturn { style: React.CSSProperties; virtualElementRef: React.MutableRefObject; } /** * `useFloating` with a controlled virtual element. Used to follow cursor * position. * * Default options: * * - `whileElementsMounted: autoUpdate` * * Additional options: * * - `getBoundingClientRect` to get the bounding client rect. * - `hidden` to hide the floating element * * Additional returns: * * - `style` to apply to the floating element * - `virtualElementRef` * * @see useFloating * @see https://floating-ui.com/docs/react-dom#virtual-element */ declare const useVirtualFloating: ({ getBoundingClientRect, ...floatingOptions }: UseVirtualFloatingOptions) => UseVirtualFloatingReturn; //#endregion //#region src/hooks/useFloatingToolbar.d.ts type FloatingToolbarState = { floatingOptions?: UseVirtualFloatingOptions; hideToolbar?: boolean; showWhenReadOnly?: boolean; }; declare const useFloatingToolbarState: ({ editorId, floatingOptions, focusedEditorId, hideToolbar, showWhenReadOnly }: { editorId: string; focusedEditorId: string | null; } & FloatingToolbarState) => { editorId: string; floating: UseVirtualFloatingReturn<_floating_ui_react0.ReferenceType>; focused: boolean; focusedEditorId: string | null; hideToolbar: boolean | undefined; mousedown: boolean; open: boolean; readOnly: boolean; selectionExpanded: boolean; selectionText: string; setMousedown: React.Dispatch>; setOpen: React.Dispatch>; setWaitForCollapsedSelection: React.Dispatch>; showWhenReadOnly: boolean | undefined; waitForCollapsedSelection: boolean; }; declare const useFloatingToolbar: ({ editorId, floating, focusedEditorId, hideToolbar, mousedown, open, readOnly, selectionExpanded, selectionText, setMousedown, setOpen, setWaitForCollapsedSelection, showWhenReadOnly, waitForCollapsedSelection }: ReturnType) => { clickOutsideRef: _udecode_react_utils0.UseOnClickOutsideReturn; hidden: boolean; props: { style: React.CSSProperties; }; ref: ((node: HTMLElement | null) => void) & ((node: HTMLElement | null) => void); }; //#endregion //#region src/utils/createVirtualRef.d.ts type VirtualRef = React.RefObject | null>; declare const createVirtualRef: (editor: Editor, at?: TLocation | TLocation[], { fallbackRect }?: { fallbackRect?: ClientRect; }) => VirtualRef; //#endregion //#region src/utils/getBoundingClientRect.d.ts declare const getBoundingClientRect$1: (editor: Editor, at?: TLocation | TLocation[]) => DOMRect | undefined; //#endregion //#region src/utils/getDOMSelectionBoundingClientRect.d.ts /** Get bounding client rect of the editor selection */ declare const getDOMSelectionBoundingClientRect: () => ClientRectObject$1; //#endregion //#region src/utils/getRangeBoundingClientRect.d.ts /** Get bounding client rect by slate range */ declare const getRangeBoundingClientRect: (editor: Editor, at: TRange | null) => ClientRectObject$1; //#endregion //#region src/utils/getSelectionBoundingClientRect.d.ts /** Get bounding client rect of the editor selection */ declare const getSelectionBoundingClientRect: (editor: PlateEditor) => ClientRectObject$1; //#endregion //#region src/utils/makeClientRect.d.ts declare const makeClientRect: ({ bottom, left, right, top }: { bottom: number; left: number; right: number; top: number; }) => DOMRect; //#endregion //#region src/utils/mergeClientRects.d.ts declare const mergeClientRects: (clientRects: DOMRect[]) => DOMRect; //#endregion export { type AlignedPlacement, type AutoUpdateOptions, type Axis, type Boundary, type ClientRectObject, type ComputePositionConfig, type ComputePositionReturn, type ContextData, type Coords, type DetectOverflowOptions, type Dimensions, type ElementContext, type ElementProps, type ElementRects, type Elements, type ExtendedRefs, FloatingArrow, type FloatingContext, FloatingDelayGroup, type FloatingElement, type FloatingEvents, FloatingFocusManager, FloatingNode, type FloatingNodeType, FloatingOverlay, FloatingPortal, FloatingToolbarState, FloatingTree, type FloatingTreeType, type Length, type Middleware, type MiddlewareData, type MiddlewareReturn, type NodeScroll, type Padding, type Placement, type Platform, type Rect, type ReferenceElement, type ReferenceType, type RootBoundary, type Side, type SideObject, type SizeOptions, type Strategy, type UseFloatingData, type UseFloatingOptions, type UseFloatingReturn, UseVirtualFloatingOptions, UseVirtualFloatingReturn, type VirtualElement, VirtualRef, arrow, autoPlacement, autoUpdate, computePosition, createVirtualElement, createVirtualRef, detectOverflow, flip, getBoundingClientRect$1 as getBoundingClientRect, getDOMSelectionBoundingClientRect, getDefaultBoundingClientRect, getOverflowAncestors, getRangeBoundingClientRect, getSelectionBoundingClientRect, hide, inline, limitShift, makeClientRect, mergeClientRects, offset, safePolygon, shift, size, useClick, useDelayGroup, useDelayGroupContext, useDismiss, useFloating, useFloatingNodeId, useFloatingParentNodeId, useFloatingPortalNode, useFloatingToolbar, useFloatingToolbarState, useFloatingTree, useFocus, useHover, useId, useInteractions, useListNavigation, useRole, useTypeahead, useVirtualFloating };