@atlaskit/editor-common
Version:
A package that contains common classes and components for editor and renderer
17 lines (16 loc) • 1.21 kB
TypeScript
import type { NodeType, Node as PMNode } from '@atlaskit/editor-prosemirror/model';
import type { EditorState } from '@atlaskit/editor-prosemirror/state';
import type { AnalyticsEventPayload, EditorAnalyticsAPI } from '../analytics';
import { JOIN_SCENARIOS_WHEN_TYPING_TO_INSERT_LIST } from '../analytics';
import type { InputRuleHandler, InputRuleWrapper } from '../types';
type GetPayload = AnalyticsEventPayload | ((state: EditorState, matchResult: RegExpExecArray) => AnalyticsEventPayload);
export declare const inputRuleWithAnalytics: (getPayload: GetPayload, analyticsApi: EditorAnalyticsAPI | undefined) => (originalRule: InputRuleWrapper) => InputRuleWrapper;
type WrappingRuleProps = {
match: RegExp;
nodeType: NodeType;
getAttrs?: Record<string, any> | ((matchResult: RegExpExecArray) => Record<string, any>);
joinPredicate?: (matchResult: RegExpExecArray, node: PMNode, joinScenario: JOIN_SCENARIOS_WHEN_TYPING_TO_INSERT_LIST) => boolean;
};
export declare const createWrappingJoinRule: ({ match, nodeType, getAttrs, joinPredicate, }: WrappingRuleProps) => InputRuleWrapper;
export declare const createRule: (match: RegExp, handler: InputRuleHandler) => InputRuleWrapper;
export {};