Skip to content
silverpoint
Documentation menu

UI components · Navigation

Tabs

A tablist of native buttons, with tab panels. Group: Navigation · component 9 of 17, new in silverpoint 0.3.
Overview: the charts of this view.
size="lg"
Overview: the charts of this view.
mode="precision"
Overview: the charts of this view.
substrate="green"

States

The 2 reference states silverpoint declares for Tabs, live on both grounds, with their code. As in upstream's documentation the examples are uncontrolled: the state's value is the default value. Pick a framework once and every example on the site follows it.

first

Overview: the charts of this view.
silverpoint · cream
Overview: the charts of this view.
cyanotype · prussian
tsx
import '@silverpoint/fonts/fonts.css';
import '@silverpoint/grounds/styles.css';
import '@silverpoint/grounds/ui.css';
import { SpTabPanel, SpTabs } from '@silverpoint/react/ui/tabs';

<SpTabs
  label="Views"
  items={[{ key: 'overview', label: 'Overview' }, { key: 'traffic', label: 'Traffic' }, { key: 'errors', label: 'Errors' }, { key: 'settings', label: 'Settings' }]}
  defaultValue="overview"
>
  <SpTabPanel value="overview">Overview: the charts of this view.</SpTabPanel>
  <SpTabPanel value="traffic">Traffic: the charts of this view.</SpTabPanel>
  <SpTabPanel value="errors">Errors: the charts of this view.</SpTabPanel>
  <SpTabPanel value="settings">Settings: the charts of this view.</SpTabPanel>
</SpTabs>

disabled-tab

Traffic: the charts of this view.
silverpoint · cream
Traffic: the charts of this view.
cyanotype · prussian
tsx
import '@silverpoint/fonts/fonts.css';
import '@silverpoint/grounds/styles.css';
import '@silverpoint/grounds/ui.css';
import { SpTabPanel, SpTabs } from '@silverpoint/react/ui/tabs';

<SpTabs
  label="Views"
  items={[{ key: 'overview', label: 'Overview' }, { key: 'traffic', label: 'Traffic' }, { key: 'errors', label: 'Errors' }, { key: 'settings', label: 'Settings', disabled: true }]}
  defaultValue="traffic"
>
  <SpTabPanel value="overview">Overview: the charts of this view.</SpTabPanel>
  <SpTabPanel value="traffic">Traffic: the charts of this view.</SpTabPanel>
  <SpTabPanel value="errors">Errors: the charts of this view.</SpTabPanel>
  <SpTabPanel value="settings">Settings: the charts of this view.</SpTabPanel>
</SpTabs>

Import

Each component has its own subpath under ui/, and every adapter exports them all from ui. Import @silverpoint/grounds/ui.css once, beside styles.css; Reflex adds it for you.

FrameworkImport
Reactimport { SpTabs } from '@silverpoint/react/ui/tabs';
Vueimport { SpTabs } from '@silverpoint/vue/ui/tabs';
Angularimport { SpTabs } from '@silverpoint/angular/ui/tabs'; // <sp-tabs>
Reflexfrom reflex_silverpoint_react import sp_tabs

Binding the value

Controlled or uncontrolled, the way each framework does it. The change event carries the new value itself (a string, a bool or a number), never a DOM event.

FrameworkControlledUncontrolled
Reactvalue / onChangedefaultValue
Vuev-model="x"default-value
Angular[(value)]="x", ngModel, formControl[defaultValue]
Reflexvalue=State.x, on_change=State.set_xdefault_value=…

Props

The props Tabs adds to the ones every UI component takes.

React / AngularVueReflexTypeDescription
itemsitemsitemslist[dict[str, Any]]The tabs, [{key, label, disabled?}]; a disabled one is skipped by the arrows.
labellabellabelstrAccessible name of the tab list.
orientationorientationorientationLiteral['horizontal', 'vertical']horizontal (default) or vertical.
activationactivationactivationLiteral['automatic', 'manual']automatic (default): a tab is selected as focus reaches it; manual: on Enter or Space.
valuevaluevaluestrControlled key; an unknown one shows the first enabled tab.
defaultValuedefault-valuedefault_valuestrInitial key of uncontrolled tabs.
onChangeon-changeon_changeeventThe key selected (a string).

Common props

Every UI component also takes these. Like a chart's, they fall back to the dashboard the component sits in, then to the provider. Read more about the UI components.

React / AngularVueReflexTypeDescription
idididstrThe frame variant and every related id derive from it.
groundgroundgroundLiteral['silverpoint', 'cyanotype'] | str | dict[str, Any]Style ground: "silverpoint" or "cyanotype", or a ground object. Defaults to the dashboard's, then the provider's, or silverpoint.
substratesubstratesubstrateLiteral['cream', 'green', 'blue', 'ochre', 'prussian']Prepared substrate within the ground.
modemodemodeLiteral['ink', 'precision']ink by default; precision disables inking.
seedseedseedstr | intSeed of the frame's hand; overrides id for the frame variant only.
sizesizesizeLiteral['sm', 'md', 'lg']Control size: sm, md (default) or lg.
palettepalettepalettedict[str, str]Colours over the ground's (set with palette=), merged over the dashboard's and the provider's.
classNameclass-nameclass_namestrAdded to the component's root element, after its own classes.
Report it
Found something wrong with SpTabs? Open an issue on GitHub — the form comes pre-filled with the component and the version.