notus library

Rich text document model for Zefyr editor.

Classes

AutoExitBlockRule
Heuristic rule to exit current block when user inserts two consecutive line-breaks.
AutoFormatLinksRule
Applies link format to text segment (which looks like a link) when user inserts space character after it.
BlockAttributeBuilder
Builder for block attribute styles (number/bullet lists, code and quote). [...]
BlockNode
A block represents a group of adjacent LineNodes with the same block style. [...]
CatchAllDeleteRule
Fallback rule for delete operations which simply deletes specified text range without any special handling.
CatchAllInsertRule
Fallback rule which simply inserts text as-is without any special handling.
ContainerNode<T extends Node>
Container node can accommodate other nodes. [...]
DeleteRule
A heuristic rule for delete operations.
EmbedAttribute
EmbedAttributeBuilder
EmbedNode
An embed node inside of a line in a Notus document. [...]
EnsureEmbedLineRule
Prevents user from merging line containing an embed with other lines.
ForceNewlineForInsertsAroundEmbedRule
Forces text inserted on the same line with an embed (before or after it) to be moved to a new line adjacent to the original line. [...]
FormatEmbedsRule
Handles all format operations which manipulate embeds.
FormatLinkAtCaretPositionRule
Allows updating link format with collapsed selection.
FormatRule
A heuristic rule for format (retain) operations.
HeadingAttributeBuilder
Builder for heading attribute styles. [...]
InsertRule
A heuristic rule for insert operations.
LeafNode
A leaf node in Notus document tree.
LineNode
A line of rich text in a Notus document. [...]
LinkAttributeBuilder
Builder for link attribute values. [...]
LookupResult
Result of a child lookup in a ContainerNode.
Node
An abstract node in a document tree. [...]
NotusAttribute<T>
Style attribute applicable to a segment of a Notus document. [...]
NotusAttributeBuilder<T>
Builder for style attributes. [...]
NotusAttributeKey<T>
Interface for objects which provide access to an attribute key. [...]
NotusChange
Represents a change in a NotusDocument.
NotusDocument
A rich text document.
NotusHeuristics
Registry for insert, format and delete heuristic rules used by NotusDocument documents.
NotusStyle
Collection of style attributes.
PreserveBlockStyleOnPasteRule
Preserves block style when user pastes text containing line-breaks. This rule may also be activated for changes triggered by auto-correct.
PreserveInlineStylesRule
Preserves inline styles when user inserts text inside formatted segment.
PreserveLineStyleOnMergeRule
Preserves line format when user deletes the line's line-break character effectively merging it with the next line. [...]
PreserveLineStyleOnSplitRule
Preserves line format when user splits the line into two. [...]
ResetLineFormatOnNewLineRule
of a line (right before a line-break). Resets format for a newly inserted line when insert occurred at the end
ResolveInlineFormatRule
Produces Delta with inline-level attributes applied too all characters except line-breaks.
ResolveLineFormatRule
Produces Delta with line-level attributes applied strictly to line-break characters.
RootNode
Root node of document tree.
StyledNode
An interface for document nodes with style.
StyledNodeMixin
Mixin used by nodes that wish to implement StyledNode interface.
TextNode
A span of formatted text within a line in a Notus document. [...]

Properties

kZeroWidthSpace String
final

Enums

ChangeSource
Source of a NotusChange.
EmbedType
Type of embedded content.
NotusAttributeScope
Scope of a style attribute, defines context in which an attribute can be applied.