Modules
Auto-generated editor form for components that declare fields/0.
Behaviour every Athanor-aware component implements.
Button primitive. Renders an HTML anchor styled as a DaisyUI button, wrapped in the shared formatting div.
Multi-column layout container — library-native Athanor component.
Divider primitive. Renders an <hr> wrapped in the shared formatting
div. Divider's own thickness/color/margin_y props control the
rule itself; formatting controls the wrapping container.
Tabs wrapper used by every Athanor primitive's editor form LC. Renders
a two-tab UI: "Component" (the component-specific form, supplied via the
:component slot) and "Formatting" (the shared formatting controls).
Shared formatting surface for Athanor primitives.
Shared formatting tab UI fragment. Stateless function component.
Heading primitive. Renders a semantic <h1>–<h6> wrapped in the
shared formatting div so the host's Tailwind config doesn't override
spacing/colors.
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.
Context struct carried through every Athanor.Renderer dispatch.
Editor surface for Athanor — turn-key LiveView + composable primitives for building consumer page-builders.
Turn-key LiveView for Athanor editor consumers.
Internal state struct owned by Athanor.Editor.Live.
Behaviour for consumer-supplied :custom field modules.
Auto-renders a component's editable inputs from its fields/0 schema.
Open registry mapping a node's type string to its component module.
Unified render dispatch over an Athanor.Tree.
Pure-data tree operations over the page builder JSON shape.