CmsPage
fancy-cms-uiRenders a published Stages document as a page.
Why
A CMS that stores HTML strings can't re-render responsively, can't bind live data, and can't be edited structurally by an agent. Storing a node tree only pays off if rendering it is deterministic — same doc, same bytes, on every runtime that hosts it.
What
CmsPage renders a PageDoc: sections in order, nodes through an extensible element registry (heading / text / button / image / stack / grid / …), with the compiled document CSS injected via <style data-cms-styles>. The emitter is deterministic and the particle-academy/fancy-cms PHP package mirrors it byte-for-byte. Any node prop can be a { $bind: "path" } binding resolved against the data context, including repeaters over bound arrays.How
Fetch the doc JSON your Editor saved, render
<CmsPage doc={doc} data={pageData} />. Pass a custom registry to add or restyle element types; set includeStyles={false} when the host has already injected the styles (e.g. server-rendered by fancy-cms with React hydrating the islands).