Skip to main content
The renderer shows a document without editing. Mount it with client.mountRenderer(el, options). Unlike the editor, the renderer’s auth is per read and supplied on the mount call — the client only lends its apiUrl.

Auth modes

Supply exactly one auth source:
string
Public read: a share token that resolves the document by token. Share tokens are minted by the backend when the document’s author turns sharing on — call the client’s setSharing(documentId, true) and use the returned share_token. The renderer never creates one.
() => Promise<string> | string
Own-document read: returns a short-lived embed token (the same kind the editor uses).
() => Promise<{ signature: string; exp: number }>
Cross-user read (enrolment-gated): returns a per-document HMAC signature and its expiry.

RendererMountOptions

string
Document to render. With shareToken, the token resolves the document.
"en" | "ar"
"light" | "dark"
() => void
(code: ErrorCode, detail?: unknown) => void
Fired on errors with a stable error code.

RendererInstance

void
Switch theme live.
void
Tear down the renderer. Call this on unmount.

Example: public share view

The share flow end to end: the author’s “share” action mints the token via the client, your app puts it in a link, and the public page feeds it back to the renderer.