UNPKG

@atlaskit/editor-plugin-block-controls

Version:

Block controls plugin for @atlaskit/editor-core

13 lines (12 loc) • 1 kB
import type { EditorView } from '@atlaskit/editor-prosemirror/view'; import { type SurfaceSide, type SurfaceWrapperPlacement } from '../ui/utils/get-surface-placement'; import type { SurfaceDescriptor } from './block-controls-surface-descriptors'; export type MeasuredSurfacePlacements = ReadonlyMap<string, SurfaceWrapperPlacement>; export declare const getSurfaceKey: (side: SurfaceSide, descriptor: SurfaceDescriptor) => string; /** * Measures surface placements from DOM geometry when the browser cannot position surfaces with CSS * anchors. Returns an empty map and binds nothing when anchors are supported. Both sides share one * set of listeners, and measuring reruns only when a side's descriptor list changes, which the * descriptor resolver keeps stable across unrelated updates. */ export declare const useMeasuredSurfacePlacements: (editorView: EditorView, left: readonly SurfaceDescriptor[] | undefined, right: readonly SurfaceDescriptor[] | undefined) => MeasuredSurfacePlacements;