/** * The css class added to a node that is selected. */ declare const SELECTED_NODE_CLASS_NAME = "ProseMirror-selectednode"; /** * The css selector for a selected node. */ declare const SELECTED_NODE_CLASS_SELECTOR: string; /** * ProseMirror uses the Unicode Character 'OBJECT REPLACEMENT CHARACTER' * (U+FFFC) as text representation for leaf nodes, i.e. nodes that don't have * any content or text property (e.g. hardBreak, emoji, mention, rule) It was * introduced because of https://github.com/ProseMirror/prosemirror/issues/262 * This can be used in an input rule regex to be able to include or exclude such * nodes. */ declare const LEAF_NODE_REPLACING_CHARACTER = "\uFFFC"; /** * The null character. * * See {@link https://stackoverflow.com/a/6380172} */ declare const NULL_CHARACTER = "\0"; /** * Indicates that a state update was caused by an override and not via * transactions or user commands. * * This is the case when `setContent` is called and for all `controlled` updates * within a `react` editor instance. */ declare const STATE_OVERRIDE = "__state_override__"; /** * The global name for the module exported by the remirror webview bundle. */ declare const REMIRROR_WEBVIEW_NAME = "$$__REMIRROR_WEBVIEW_BUNDLE__$$"; /** * A character useful for separating inline nodes. * * @remarks * Typically used in decorations as follows. * * ```ts * document.createTextNode(ZERO_WIDTH_SPACE_CHAR); * ``` * * This produces the html entity '8203' */ declare const ZERO_WIDTH_SPACE_CHAR = "\u200B"; /** * The non breaking space character. */ declare const NON_BREAKING_SPACE_CHAR = "\u00A0"; /** * A default empty object node. Useful for resetting the content of a * prosemirror document. */ declare const EMPTY_PARAGRAPH_NODE: { type: string; content: { type: string; }[]; }; declare const EMPTY_NODE: { type: string; content: never[]; }; /** * A method for updating the extension tags. * * ```tsx * import { ExtensionTag, mutateTag } from 'remirror'; * * mutateTag((tag) => { * tag.SuperCustom = 'superCustom'; * }); * * declare global { * namespace Remirror { * interface ExtensionTag { * SuperCustom: 'superCustom'; * } * } * } * * * log(ExtensionTag.SuperCustom); // This is fine ✅ * log(ExtensionTag.NotDefined); // This will throw ❌ * ``` */ declare function mutateTag(mutator: (Tag: ExtensionTag) => void): void; declare const BaseExtensionTag: { /** * Describes a node that can be used as the last node of a document and * doesn't need to have anything else rendered after itself. * * @remarks * * e.g. `paragraph` */ readonly LastNodeCompatible: "lastNodeCompatible"; /** * A mark that is used to change the formatting of the node it wraps. * * @remarks * * e.g. `bold`, `italic` */ readonly FormattingMark: "formattingMark"; /** * A node that formats text in a non-standard way. * * @remarks * * e.g. `codeBlock`, `heading`, `blockquote` */ readonly FormattingNode: "formattingNode"; /** * Identifies a node which has problems with cursor navigation. * * @remarks * * When this tag is added to an extension this will be picked up by * behavioural extensions such as the NodeCursorExtension which makes hard to * reach nodes reachable using keyboard arrows. */ readonly NodeCursor: "nodeCursor"; /** * Mark group for font styling (e.g. bold, italic, underline, superscript). */ readonly FontStyle: "fontStyle"; /** * Mark groups for links. */ readonly Link: "link"; /** * Mark groups for colors (text-color, background-color, etc). */ readonly Color: "color"; /** * Mark group for alignment. */ readonly Alignment: "alignment"; /** * Mark group for indentation. */ readonly Indentation: "indentation"; /** * Extension which affect the behaviour of the content. Can be nodes marks or * plain. */ readonly Behavior: "behavior"; /** * Marks and nodes which contain code. */ readonly Code: "code"; /** * Whether this node is an inline node. * * - `text` is an inline node, but `paragraph` is a block node. */ readonly InlineNode: "inline"; /** * This is a node that can contain list items. */ readonly ListContainerNode: "listContainer"; /** * Tags the extension as a list item node which can be contained by * [[`ExtensionTag.ListNode`]]. */ readonly ListItemNode: "listItemNode"; /** * Sets this as a block level node. */ readonly Block: "block"; /** * @deprecate use `ExtensionTags.Block` instead. */ readonly BlockNode: "block"; /** * Set this as a text block */ readonly TextBlock: "textBlock"; /** * A tag that excludes this from input rules. */ readonly ExcludeInputRules: "excludeFromInputRules"; /** * A mark or node that can't be exited when at the end and beginning of the * document with an arrow key or backspace key. */ readonly PreventExits: "preventsExits"; /** * Represents a media compatible node. */ readonly Media: "media"; }; /** * The type for the extension tags.. */ type ExtensionTag = Remirror.ExtensionTags & typeof BaseExtensionTag; /** * These are the default supported tag strings which help categorize different * behaviors that extensions can exhibit. * * @remarks * * Any extension can register itself with multiple such behaviors and these * categorizations can be used by other extensions when running commands and * updating the document. */ declare const ExtensionTag: ExtensionTag; /** * The string values which can be used as extension tags. */ type ExtensionTagType = ExtensionTag[keyof ExtensionTag]; /** * The identifier key which is used to check objects for whether they are a * certain type. * * @remarks * * Just pretend you don't know this exists. * * @internal */ declare const __INTERNAL_REMIRROR_IDENTIFIER_KEY__: unique symbol; /** * These constants are stored on the `REMIRROR_IDENTIFIER_KEY` property of * `remirror` related constructors and instances in order to identify them as * being internal to Remirror. * * @remarks * * This helps to prevent issues around check types via `instanceof` which can * lead to false negatives. * * @internal */ declare enum RemirrorIdentifier { /** * Identifies `PlainExtension`s. */ PlainExtension = "RemirrorPlainExtension", /** * Identifies `NodeExtension`s. */ NodeExtension = "RemirrorNodeExtension", /** * Identifies `MarkExtension`s. */ MarkExtension = "RemirrorMarkExtension", /** * Identifies `PlainExtensionConstructor`s. */ PlainExtensionConstructor = "RemirrorPlainExtensionConstructor", /** * Identifies `NodeExtensionConstructor`s. */ NodeExtensionConstructor = "RemirrorNodeExtensionConstructor", /** * Identifies `MarkExtensionConstructor`s. */ MarkExtensionConstructor = "RemirrorMarkExtensionConstructor", /** * The string used to identify an instance of the `Manager` */ Manager = "RemirrorManager", /** * The preset type identifier. */ Preset = "RemirrorPreset", /** * The preset type identifier. */ PresetConstructor = "RemirrorPresetConstructor" } /** * The priority of extension which determines what order it is loaded into the * editor. * * @remarks * * Higher priority extension (higher numberic value) will ensure the extension * has a higher preference in your editor. In the case where you load two * identical extensions into your editor (same name, or same constructor), the * extension with the higher priority is the one that will be loaded. * * The higher the numeric value the higher the priority. The priority can also * be passed a number but naming things in this `enum` should help provide some * context to the numbers. * * By default all extensions are created with a `ExtensionPriority.Default`. */ declare enum ExtensionPriority { /** * Use this **never** 😉 */ Critical = 1000000, /** * A, like super duper, high priority. */ Highest = 100000, /** * The highest priority level that should be used in a publicly shared * extension (to allow some wiggle room for downstream users overriding * priorities). */ High = 10000, /** * A medium priority extension. This is typically all you need to take * priority over built in extensions. */ Medium = 1000, /** * This is the **default** priority for most extensions. */ Default = 100, /** * This is the **default** priority for builtin behavior changing extensions. */ Low = 10, /** * This is useful for extensions that exist to be overridden. */ Lowest = 0 } /** * Identifies the stage the extension manager is at. */ declare enum ManagerPhase { /** * The initial value for the manager phase. */ None = 0, /** * When the extension manager is being created and the onCreate methods are * being called. * * This happens within the RemirrorManager constructor. */ Create = 1, /** * When the view is being added and all `onView` lifecycle methods are being * called. The view is typically added before the dom is ready for it. */ EditorView = 2, /** * The phases of creating this manager are completed and `onTransaction` is * called every time the state updates. */ Runtime = 3, /** * The manager is being destroyed. */ Destroy = 4 } /** * The named shortcuts that can be used to update multiple commands. */ declare enum NamedShortcut { Undo = "_|undo|_", Redo = "_|redo|_", Bold = "_|bold|_", Italic = "_|italic|_", Underline = "_|underline|_", Strike = "_|strike|_", Code = "_|code|_", Paragraph = "_|paragraph|_", H1 = "_|h1|_", H2 = "_|h2|_", H3 = "_|h3|_", H4 = "_|h4|_", H5 = "_|h5|_", H6 = "_|h6|_", TaskList = "_|task|_", BulletList = "_|bullet|_", OrderedList = "_|number|_", Quote = "_|quote|_", Divider = "_|divider|_", Codeblock = "_|codeblock|_", ClearFormatting = "_|clear|_", Superscript = "_|sup|_", Subscript = "_|sub|_", LeftAlignment = "_|left-align|_", CenterAlignment = "_|center-align|_", RightAlignment = "_|right-align|_", JustifyAlignment = "_|justify-align|_", InsertLink = "_|link|_", /** @deprecated */ Find = "_|find|_", /** @deprecated */ FindBackwards = "_|find-backwards|_", /** @deprecated */ FindReplace = "_|find-replace|_", AddFootnote = "_|footnote|_", AddComment = "_|comment|_", ContextMenu = "_|context-menu|_", IncreaseFontSize = "_|inc-font-size|_", DecreaseFontSize = "_|dec-font-size|_", IncreaseIndent = "_|indent|_", DecreaseIndent = "_|dedent|_", Shortcuts = "_|shortcuts|_", Copy = "_|copy|_", Cut = "_|cut|_", Paste = "_|paste|_", PastePlain = "_|paste-plain|_", SelectAll = "_|select-all|_", /** * A keyboard shortcut to trigger formatting the current block. * * @defaultValue 'Alt-Shift-F' (Mac) | 'Shift-Ctrl-F' (PC) */ Format = "_|format|_" } /** * Helpful empty array for use when a default array value is needed. * * DO NOT MUTATE! */ declare const EMPTY_ARRAY: never[]; declare global { namespace Remirror { /** * This interface is for extending the default `ExtensionTag`'s in your * codebase with full type checking support. */ interface ExtensionTags { } } } /** * The error codes for errors used throughout the codebase. * * @remarks * * They can be removed but should never be changed since they are also used to * reference the errors within search engines. */ declare enum ErrorConstant { /** An error occurred in production. Details shall be hidden. * * @deprecated - We don't hide the error details in production anymore. */ PROD = "RMR0000", /** An error happened but we're not quite sure why. */ UNKNOWN = "RMR0001", /** The arguments passed to the command method were invalid. */ INVALID_COMMAND_ARGUMENTS = "RMR0002", /** This is a custom error possibly thrown by an external library. */ CUSTOM = "RMR0003", /** * An error occurred in a function called from the `@remirror/core-helpers` * library. */ CORE_HELPERS = "RMR0004", /** You have attempted to change a value that shouldn't be changed. */ MUTATION = "RMR0005", /** * This is an error which should not occur and is internal to the remirror * codebase. */ INTERNAL = "RMR0006", /** You're editor is missing a required extension. */ MISSING_REQUIRED_EXTENSION = "RMR0007", /** * Called a method event at the wrong time. Please make sure getter functions * are only called with within the scope of the returned functions. They * should not be called in the outer scope of your method. */ MANAGER_PHASE_ERROR = "RMR0008", /** * The user requested an invalid extension from the getExtensions method. * Please check the `createExtensions` return method is returning an extension * with the defined constructor. */ INVALID_GET_EXTENSION = "RMR0010", /** * Invalid value passed into `Manager constructor`. Only and * `Extensions` are supported. */ INVALID_MANAGER_ARGUMENTS = "RMR0011", /** * There is a problem with the schema or you are trying to access a node / * mark that doesn't exists. */ SCHEMA = "RMR0012", /** * The `helpers` method which is passed into the ``create*` method should only * be called within returned method since it relies on an active view (not * present in the outer scope). */ HELPERS_CALLED_IN_OUTER_SCOPE = "RMR0013", /** The user requested an invalid extension from the manager. */ INVALID_MANAGER_EXTENSION = "RMR0014", /** Command method names must be unique within the editor. */ DUPLICATE_COMMAND_NAMES = "RMR0016", /** Helper method names must be unique within the editor. */ DUPLICATE_HELPER_NAMES = "RMR0017", /** Attempted to chain a non chainable command. */ NON_CHAINABLE_COMMAND = "RMR0018", /** The provided extension is invalid. */ INVALID_EXTENSION = "RMR0019", /** The content provided to the editor is not supported. */ INVALID_CONTENT = "RMR0021", /** An invalid name was used for the extension. */ INVALID_NAME = "RMR0050", /** An error occurred within an extension. */ EXTENSION = "RMR0100", /** The spec was defined without calling the `defaults`, `parse` or `dom` methods. */ EXTENSION_SPEC = "RMR0101", /** Extra attributes must either be a string or an object. */ EXTENSION_EXTRA_ATTRIBUTES = "RMR0102", /** A call to `extension.setOptions` was made with invalid keys. */ INVALID_SET_EXTENSION_OPTIONS = "RMR0103", /** * `useRemirror` was called outside of the remirror context. It can only be used * within an active remirror context created by the ``. */ REACT_PROVIDER_CONTEXT = "RMR0200", /** * `getRootProps` has been called MULTIPLE times. It should only be called ONCE during render. */ REACT_GET_ROOT_PROPS = "RMR0201", /** * A problem occurred adding the editor view to the dom. */ REACT_EDITOR_VIEW = "RMR0202", /** * There is a problem with your controlled editor setup. */ REACT_CONTROLLED = "RMR0203", /** * Something went wrong with your custom ReactNodeView Component. */ REACT_NODE_VIEW = "RMR0204", /** * You attempted to call `getContext` provided by the `useRemirror` prop * during the first render of the editor. This is not possible and should only * be after the editor first mounts. */ REACT_GET_CONTEXT = "RMR0205", /** * An error occurred when rendering the react components. */ REACT_COMPONENTS = "RMR0206", /** * An error occurred within a remirror hook. */ REACT_HOOKS = "RMR0207", /** * There is something wrong with your i18n setup. */ I18N_CONTEXT = "RMR0300" } export { EMPTY_ARRAY, EMPTY_NODE, EMPTY_PARAGRAPH_NODE, ErrorConstant, ExtensionPriority, ExtensionTag, ExtensionTagType, LEAF_NODE_REPLACING_CHARACTER, ManagerPhase, NON_BREAKING_SPACE_CHAR, NULL_CHARACTER, NamedShortcut, REMIRROR_WEBVIEW_NAME, RemirrorIdentifier, SELECTED_NODE_CLASS_NAME, SELECTED_NODE_CLASS_SELECTOR, STATE_OVERRIDE, ZERO_WIDTH_SPACE_CHAR, __INTERNAL_REMIRROR_IDENTIFIER_KEY__, mutateTag };