Skip to main content

Crate taino_edit_dioxus

Crate taino_edit_dioxus 

Source
Expand description

taino-edit-dioxus — the Dioxus adapter for taino-edit.

Mirrors taino-edit-leptos: a TainoEditor component takes a Signal<EditorState> and mounts a taino_edit_dom::EditorView inside its rendered <div>, reconciling the DOM on every signal change and folding browser-side edits back into the signal.

Browser events (input, compositionstart/compositionend, paste, pointer mousedown/mousemove/mouseup, selectionchange) are wired with the same raw web-sys listeners the Leptos adapter uses — they are registered on the mounted element (and, for selectionchange, on document) and kept alive in the component’s runtime slot. Optional ViewPlugins (e.g. TableView) can be installed via the ViewPlugins prop, giving full event- and plugin-wiring parity with taino-edit-leptos.

Re-exports§

pub use taino_edit_core::base_keymap;
pub use taino_edit_core::lift;
pub use taino_edit_core::remove_mark;
pub use taino_edit_core::select_all;
pub use taino_edit_core::set_block_type;
pub use taino_edit_core::set_mark;
pub use taino_edit_core::split_block;
pub use taino_edit_core::toggle_mark;
pub use taino_edit_core::wrap_in;
pub use taino_edit_core::AttrSpec;
pub use taino_edit_core::AttrValue;
pub use taino_edit_core::Attrs;
pub use taino_edit_core::Command;
pub use taino_edit_core::Dispatch;
pub use taino_edit_core::EditorState;
pub use taino_edit_core::KeyPress;
pub use taino_edit_core::Keymap;
pub use taino_edit_core::Mark;
pub use taino_edit_core::MarkSpec;
pub use taino_edit_core::MarkType;
pub use taino_edit_core::Node;
pub use taino_edit_core::NodeSpec;
pub use taino_edit_core::NodeType;
pub use taino_edit_core::Plugin;
pub use taino_edit_core::PluginKey;
pub use taino_edit_core::PluginSet;
pub use taino_edit_core::ResolvedPos;
pub use taino_edit_core::Schema;
pub use taino_edit_core::SchemaBuilder;
pub use taino_edit_core::Selection;
pub use taino_edit_core::Slice;
pub use taino_edit_core::Transaction;
pub use taino_edit_core::Transform;
pub use taino_edit_dom::Decoration;
pub use taino_edit_dom::EditorView;
pub use taino_edit_dom::ViewAction;
pub use taino_edit_dom::ViewDesc;
pub use taino_edit_dom::ViewPlugin;
pub use TainoEditor_completions::Component::TainoEditor;

Macros§

schema
The schema! builder macro. Build a Schema from a compact declaration. See the module docs for the supported syntax.

Structs§

KeymapProp
A take-once container for the TainoEditor keymap prop. Mirrors ViewPlugins: Dioxus props must be Clone + PartialEq and Keymap is neither, so the keymap lives behind a shared cell and is moved into the view at mount.
TainoEditorProps
Properties for the TainoEditor component.
ViewPlugins
A move-once container of DOM-aware ViewPlugins for the TainoEditor plugins prop.

Functions§

TainoEditor
A Dioxus component that renders an editor backed by a Signal<EditorState>. Whenever the signal changes, the mounted DOM is reconciled via EditorView::update; browser-side edits (typing, IME commits, paste, selection changes) feed back into the signal by applying the transforms the DOM bridge produces.