UNPKG

@atlaskit/adf-schema

Version:

Shared package that contains the ADF-schema (json) and ProseMirror node/mark specs

22 lines (21 loc) 1.38 kB
import type { DOMOutputSpec, Node as PMNode, NodeSpec, Mark, MarkSpec } from '@atlaskit/editor-prosemirror/model'; import type { createPMMarkSpecFactory } from './create-pm-mark-spec-factory'; import type { createPMNodeSpecFactory } from './create-pm-node-spec-factory'; export type NodeSpecOptions<N extends PMNode> = { parseDOM?: NodeSpec['parseDOM']; toDebugString?: () => string; toDOM?: (node: N) => DOMOutputSpec; }; export type NodeSpecFactory = typeof createPMNodeSpecFactory; export type MarkSpecOptions<M extends Mark> = { parseDOM?: MarkSpec['parseDOM']; toDebugString?: () => string; toDOM?: (mark: M, inline: boolean) => DOMOutputSpec; }; export type MarkSpecFactory = typeof createPMMarkSpecFactory; /** Result of calling {@link createPMMarkSpecFactory} with a concrete mark spec (for isolated declarations). */ export type PMMarkSpecFactoryInstance<M extends Omit<Mark, 'toDOM' | 'parseDOM'> = Mark> = (options: MarkSpecOptions<M>) => MarkSpec; /** Result of calling {@link createPMNodeSpecFactory} with a concrete node spec (for isolated declarations). */ export type PMNodeSpecFactoryInstance<N extends Omit<PMNode, 'toDOM' | 'parseDOM'> = PMNode> = (options: NodeSpecOptions<N>) => NodeSpec; export { createPMNodeSpecFactory } from './create-pm-node-spec-factory'; export { createPMMarkSpecFactory } from './create-pm-mark-spec-factory';