UNPKG

@atlaskit/editor-common

Version:

A package that contains common classes and components for editor and renderer

38 lines (37 loc) 1.7 kB
/** * @jsxRuntime classic * @jsx jsx */ import React from 'react'; import type { Node as PMNode } from '@atlaskit/editor-prosemirror/model'; import type { Decoration, EditorView, NodeView } from '@atlaskit/editor-prosemirror/view'; import type { PMPluginFactoryParams } from '../types'; export type InlineNodeViewComponentProps = { getPos: () => GetPosReturn; node: PMNode; view: EditorView; }; type InlineNodeViewComponent<ExtraComponentProps> = React.ComponentType<React.PropsWithChildren<InlineNodeViewComponentProps & ExtraComponentProps>>; export type CreateNodeViewOptions<ExtraComponentProps> = { Component: InlineNodeViewComponent<ExtraComponentProps>; extraComponentProps: ExtraComponentProps; extraNodeViewProps?: Pick<NodeView, 'stopEvent'>; nodeViewParams: NodeViewParams; pmPluginFactoryParams: PMPluginFactoryParams; }; export declare const inlineNodeViewClassname = "inlineNodeView"; type NodeViewProducer = (node: PMNode, view: EditorView, getPos: () => GetPosReturn, decorations: readonly Decoration[]) => NodeView; type GetPosReturn = number | undefined; type NodeViewParams = { decorations: Parameters<NodeViewProducer>[3]; getPos: () => GetPosReturn; node: Parameters<NodeViewProducer>[0]; view: Parameters<NodeViewProducer>[1]; }; export declare function getInlineNodeViewProducer<ExtraComponentProps>({ pmPluginFactoryParams, Component, extraComponentProps, extraNodeViewProps, }: { Component: InlineNodeViewComponent<ExtraComponentProps>; extraComponentProps?: ExtraComponentProps; extraNodeViewProps?: Pick<NodeView, 'stopEvent'>; pmPluginFactoryParams: PMPluginFactoryParams; }): NodeViewProducer; export {};