Silvi

Groups of components shown one at a time under tabs, optionally kept in the URL as an input.

<k.Tabs> holds a list of tabs, each a group of components; the reader sees one tab at a time. The first tab is open. Use it to split the same results by grain or by view: a table by month in one tab, by week in another. With param, the open tab is kept in the URL (?grain=month) and acts as an input that When and the SQL can read; declare it in page.filterParams with input: "tabs".

Example

Sales

By monthBy week
MonthSales
Jan 2026410
Feb 2026455

Props

Name Type Required Default Meaning
key text yes A name unique on the page
tabs list of tabs yes The tabs, in order; the first is open
title text, or a function of the data no A heading over the tabs
description text, or a function of the data no A muted line under the heading
info { what, rules, sql } no The “(i)”
param a lowercase name no Keeps the open tab in the URL as ?<param>=<value>; not from, to or page

A tab

Key Type Required Meaning
label text yes The tab’s name
value letters, digits, -, _ with param The tab’s value in the URL
components components yes The components in the tab

A table inside a tab may leave out its title.

Checks

A tab without label or components, or a component inside it naming a series or column the queries do not return, fails the typecheck.