Text primitive. Renders raw HTML stored in node["props"]["text"]
wrapped by Athanor.Components.Formatting.apply/1 so the standard
formatting props (padding, margin, colors, alignment, border) apply.
Editor form (rich text)
Athanor has no built-in rich-text editor — text editing UIs are heavy
and opinionated (TipTap, Trix, Quill, custom). Consumers wire their
own by registering a Phoenix.LiveComponent via application config:
# config/config.exs (consumer app)
config :athanor, text_editor_form: MyApp.PageBuilder.RichTextFieldAthanor.Component.editor_form/0 reads that value at runtime. When
unset (the default), it returns nil and Athanor falls back to the
auto-generated :textarea field declared in Athanor.Component.fields/0.
The registered LC receives the same assigns as any custom field LC
documented in Athanor.Field — :value, :on_change, :ctx,
:label, :opts.