toolbar library
The declarative toolbar layer: the QuillKitToolbar widget, the
built-in item types and factory lists, and the localizable toolbar
strings.
Items are data, not booleans: pass an explicit items: list (compose
from QuillKitToolbarItems) or let the toolbar collect the items the
controller's extensions contribute.
Re-exports document.dart in full and the controller: every item takes
a QuillKitController, and the item types are parameterized over
Attribute/Style, so this entrypoint is usable on its own.
Classes
- ActionItem
- A toolbar button that runs a controller action rather than toggling an attribute — undo, redo, or any custom command.
-
Attribute<
T> - A single formatting property identified by key, carrying a value and a rendering scope.
- AttributeKeys
- The canonical attribute keys used by Quill Delta documents.
- AttributeRegistry
- A per-instance lookup table from attribute keys to AttributeSpecs.
- Attributes
- The built-in attribute set, with keys and values wire-compatible with Quill and flutter_quill.
- AttributeSpec
- Describes one attribute kind: its JSON key, its scope, and how raw JSON values are normalized when a document is loaded.
- Block
- A group of consecutive Lines that share the same grouping block format: list membership, code block or block quote.
- BlockEmbed
- An embed that occupies an entire line by convention (image, video, formula), with a string payload — matching the built-in embed types of Quill and flutter_quill.
- CatchAllDeleteRule
- Fallback delete rule: removes the requested range as-is, except that a deletion reaching the end of the document is shortened by one position so the final newline — the Quill document invariant — survives.
- CatchAllInsertRule
- Fallback insert rule: retains up to the insertion point and inserts the data as-is, with no special handling.
- ChildQuery
- Result of ContainerNode.queryChild: the child at a requested offset and the offset translated into that child's local coordinates.
- ColorItem
- The text-color / background-color toolbar buttons.
- ColorPickerDialog
-
A small, dependency-free color picker: a Material swatch grid
(black/white/greys plus every primary swatch in three shades), a
recent-colors row, a "No color" entry, and a hex field with live
preview and validation (same
#rrggbb/#aarrggbbgrammar the document model uses). - ColorPickerResult
- What ColorPickerDialog resolves with.
-
ContainerNode<
T extends Node> -
A Node that holds an ordered list of child nodes of type
T. - CustomEmbed
- An application-defined embed whose payload is arbitrary JSON.
- Delta
- Delta represents a document or a modification of a document as a sequence of insert, delete and retain operations.
- Document
- A rich text document: the mutable heart of the model layer.
- DocumentChange
- One change applied to a Document: the document state before it, the change delta composed into it, and its source.
-
DropdownAttributeItem<
T extends Object> - A popup-menu toolbar item bound to a valued attribute — used for the header level and line height.
-
DropdownOption<
T extends Object> - One selectable value of a DropdownAttributeItem.
- EditRule
- A pure transformation from a document state plus an edit intent to the change Delta that should actually be composed into the document.
- Embeddable
- A non-text object embedded in a document, such as an image or video.
- EmbedLeaf
- A single embedded object within a line.
- FormatEmbedRule
- Applies an embed-scope attribute to the embed positions within the range, retaining text positions unchanged.
- History
- Undo/redo stacks for a Document, implemented with inverted deltas.
- HistoryOptions
- Tuning knobs for History.
- IndentItem
- The increase/decrease indent buttons.
- InsertEmbedRule
- Places a block embed on its own line, splitting the current line around it when it is inserted mid-line.
- Leaf
- The smallest unit of document content: a run of identically formatted text (TextLeaf) or a single embedded object (EmbedLeaf).
- Line
-
A single line of rich text: a sequence of Leaf children terminated by
an implicit
'\n'. - LinkDialog
-
The add/edit-link dialog: display-text and URL fields, live scheme
validation (http/https/mailto/tel), and Apply/Cancel plus Remove when
editing an existing link. Pops a LinkDialogResult, or
nullon cancel. - LinkDialogResult
- What LinkDialog resolves with.
- LinkItem
-
The link toolbar button: opens LinkDialog to add, edit or remove the
linkattribute on the current selection. - Node
- A node in the document tree.
- Operation
- Operation performed on a rich-text document.
- PreserveInlineStylesRule
- Makes typed text adopt the inline formatting around the caret, the way Quill (and every word processor) behaves: type after bold text and the new text is bold.
- PreserveLineStyleOnMergeRule
- Preserves the first line's style when a deletion starts by removing a newline, merging that line with the one that ends up following it.
- QuillKitController
- The editing brain of a QuillKit editor: a Document plus a TextSelection, with commands that funnel every edit through the document's rules and history.
- QuillKitStrings
- Every user-facing string of QuillKit — toolbar tooltips and dialogs plus the accessibility labels of the editor surface — with English defaults.
- QuillKitStringsScope
- Provides a QuillKitStrings to descendant toolbar widgets.
- QuillKitThemeData
- The visual configuration of a QuillKit editor or viewer.
- QuillKitToolbar
- The declarative QuillKit toolbar.
- QuillKitToolbarButton
- The base styled button every toolbar item renders through: a fixed 40x40 Material ink well with an icon (or arbitrary child), a tooltip, an optional toggled-on visual state, and a disabled state.
- QuillKitToolbarItems
- Factory lists of the built-in toolbar items.
- ResolveInlineFormatRule
- Applies an inline-scope attribute to every character in the range except newlines.
- ResolveLineFormatRule
- Applies a block-scope attribute strictly to newline positions.
- Root
- The root of a document tree: an ordered sequence of Lines and Blocks.
- RuleSet
- An ordered collection of EditRules consulted for every edit.
- SegmentLeaf
- The line and leaf found at a document offset; see Document.querySegmentLeaf.
- Style
- An immutable set of Attributes keyed by attribute key.
- TextLeaf
- A run of text within a line sharing a single Style.
- ToggleAttributeItem
-
A toolbar toggle bound to one Attribute: bold, blockquote,
list: 'ordered',direction: 'rtl', ... - ToolbarColors
- The color tokens toolbar buttons paint with, derived from the ambient Material ColorScheme so the toolbar matches the app automatically.
- ToolbarDivider
- A thin vertical rule rendered between toolbar groups.
- ToolbarItem
-
One declarative toolbar entry contributed by an
EditorExtension. - ToolbarItemContext
- Everything a ToolbarItem.build implementation needs to render one toolbar entry.
- ToolbarItemResources
- Everything a toolbar item needs beyond the ToolbarItemContext it is handed: resolved strings, theme data, and the icon color tokens.
Enums
- AlignStyle
-
Line alignment, serialized as the value of the
alignattribute. - AttributeScope
- Where in a document an attribute may be applied and how it participates in rendering.
- ChangeSource
- Where a document change originated.
- DirectionStyle
-
Base text direction of a line, serialized as the value of the
directionattribute. - ListStyle
-
The list styles a line can belong to, serialized as the value of the
listattribute. - RuleType
- The kind of edit intent a rule responds to.
- ScriptStyle
-
Vertical position of an inline run, serialized as the value of the
scriptattribute. - ToolbarLayout
- How a QuillKitToolbar lays out its items.
Typedefs
- AttributeValueDecoder = Object? Function(Object? raw)
- Normalizes a raw JSON attribute value into its canonical Dart type.