Action button
Add an action-button panel when readers need one obvious next step on the page: open another page or apply a preset filter. An export action declares and renders today; its click dispatches later.
What you can do
styleis the visible surface:label(required, 1 to 120 characters), avariantpreset (primary,secondary,ghost,outline) and asizepreset (sm,md,lg); raw siblingsbackground,color,borderColor,fontSize,paddingX,paddingY,radius, andfontWeightwin over the preset when set.iconnames one of six inline SVGs (download,arrow-right,external-link,filter,filter-off,refresh);iconTextrenders any glyph of up to four characters verbatim and wins overicon;iconPositionisstartorend.actionis discriminated bykind:navigateopens apageid or a literalhttps://url(withtarget_selfor_blank);filterappliessetvalues and/orclearparams through the sametargetsscope ladder a filter control uses;exportPageandexportAllrequest a workbook (formatxlsx, orcsvfor a single page);pythonruns author-written Python on the panel's Snowflake source on click and delivers itsresultas adownload, atoast, or a pagerefresh(an omittedresultdefaults totoast) — it takes the samecode,params, andpackagesas apythonblock plus an optionalconfirmprompt, and needsdata.sourceIdand thepython:authorcapability to author.navigate,filter, andpythonbuttons dispatch on click today;exportPageandexportAllbuttons validate and render but a click does nothing yet.align(start,center,end),offset, andwidth(auto,full, or a pixel value from 24 to 4096) place the button in its slot; an action-button accepts noonClick, and carries adatablock only when its action ispython(the SnowflakesourceIdthe code runs against).
Applies to an action-button panel in view, edit, and Present modes and in static renders; only navigate, filter, and python actions dispatch on click, and an external url shows its host beside the label before it opens. The primary fill normally takes the theme token chart.series.1 (falling back to accent when that token cannot reach 3.0:1 contrast on the panel background), and the label colour is chosen to stay legible on it.
Spec
View spec
{
"id": "go-details",
"type": "action-button",
"title": "",
"spec": {
"style": {
"label": "Open the details page",
"variant": "primary",
"icon": "arrow-right",
"iconPosition": "end"
},
"action": {
"kind": "navigate",
"page": "details"
},
"align": "start"
}
}A primary button whose label is followed by an arrow icon, aligned to the start of its slot, that opens the dashboard page whose id is details on click.
Build it in dvt
Every block on this page is a few lines of the same declarative JSON spec. Read the full spec format, or connect an AI agent to your warehouse and build one live in the quickstart.
Follow the build
dvt is in founding research. Leave your email and we'll reach out when there's something to see — no newsletters, no noise.