What a block knows about where it is rendered:
mode-:public(your site) or:editor(the canvas)registry- theElementorexCms.Registryin usedata- whatever the host passed (data={%{brand: @brand}}), for blocks that depend on the pagedepth- nesting level of the nodesources- theElementorexCms.Sourcesof dynamic contentitem- the current item of dynamic content, ornil:%{source: source, record: record, index: index, copy: copy?}.indexis its position in a loop (0 for the first) andcopyistrueon the canvas for the repetitions after the first one, which are shown but not editedloops- how many loops the node is inparams- the query params of the page (string keys): loops read their page, search, sort and filters in theirs (catalog[page])doc- the document being rendered (when known): filter forms find the loop grid they filter in itform- inside a filter form, what its fields need (seeElementorexCms.Filters)
Summary
Types
@type t() :: %ElementorexCms.Renderer.Context{ data: map(), depth: non_neg_integer(), doc: map() | nil, form: map() | nil, item: map() | nil, loops: non_neg_integer(), mode: :public | :editor, params: map(), registry: ElementorexCms.Registry.t(), sources: ElementorexCms.Sources.t() | nil }