# `MishkaCmsCoreWeb.Templates.StudioSnippets`
[🔗](https://github.com/mishka-group/mishka_cms_core/blob/v0.0.1/lib/mishka_cms_core_web/templates/studio_snippets.ex#L5)

A MishkaGervaz custom table template: the saved-snippet list inside the page builder's Studio.

It owns the list and nothing around it. The "Save as snippet" box above it is a Gervaz FORM —
`MishkaCmsCoreWeb.Templates.SnippetForm` — and both are mounted side by side from
`MishkaCmsCoreWeb.Live.Admin.Builder.Panels`.

`features/0` is empty on purpose: the Studio is a 520px sheet, and Gervaz's filter bar, selection
checkboxes and pagination footer would each be a control the design does not have. The three
scope chips ARE the table's `:scope` filter, drawn here in the sheet's idiom and pushed as the
table's own `filter` event.

Insert and Delete are hand-drawn rather than `row_actions`, for two reasons: their DOM ids
(`pb-snippet-insert-<id>`, `pb-snippet-delete-<id>`) are a contract the tests hold, and Gervaz's
row actions would need a `get` action on the resource that does not exist. Neither carries a
`phx-target`, so both reach `BuilderLive`, which owns inserting into the tree and deleting the row.

Every value a row shows beyond the name — the scope label, the block count, the byte size, the
swatch tint, the relative time — is read off `source` by
`MishkaCmsCore.Runtime.PageBuilder.Snippets.row/1` rather than stored, so a row can never claim
three blocks while holding one.

The swatch tint is one of the six `Snippets` picks from a name, and `tint_class/1` turns it into a
whole class rather than a `style` attribute — CSP has no nonce for an attribute, so
`style-src-attr` can only be closed by there being none. Written out one clause per colour because
Tailwind reads source text and an interpolated class name gets no rule at all, which is what
`MishkaCmsWeb.InterpolatedClassTest` guards.

See `MishkaCmsCore.Runtime.Snippet`, which points its `presentation` here.

# `render_bulk_actions`

# `render_empty`

# `render_error`

# `render_filters`

# `render_header`

# `render_pagination`

# `render_template_switcher`

---

*Consult [api-reference.md](api-reference.md) for complete listing*
