Skip to main content

Field Components Overview

Field components define how individual item values are displayed inside any mode. Fields are stable across mode switches — the same field config works in a table row, a grid card, or a carousel slide.

Canonical references:

When to Use Each Layer​

LayerUse whenConfig key
typeThe field has a known semantic category (date, image, boolean…)fields[].type
renderAsYou need a specific visual presentation for any valuefields[].renderAs
Custom renderAsYou need a reusable visual renderer not covered by the built-insExtension Architecture
Custom field typeDomain behavior should be reusable and registered first-classCustom Field Types

If both type and renderAs are set on the same field, renderAs controls display — the type switch is skipped entirely. However, type still has two concrete effects: it determines wrap clipping behavior (image type is excluded from wrap=false clip treatment; email and url types apply forced word-breaking under wrap=true), and it acts as a fallback display if the renderAs renderer returns nothing. Set type alongside renderAs when the field's data category matters for wrap behavior or for documentation clarity.

Built-in Field Types​

Field types are set with fields[].type. Each column renders a field using its native type — plain text, a formatted number, and so on.

Six fields, no renderAs — each value is rendered by its type alone.

name (text)
status (text)
score (number)
budget (number)
rating (number)
change (number)
Aurora Chenactive784,200412
Mateo Silvapending457,8003-5
Priya Nairinactive911,50053
GroupTypes
Coretext, number, boolean, textarea, select, reference
Contact and Mediaemail, url, image, swatch
Temporaldate, time, datetime, timestamp, duration

Built-in renderAs Renderers​

renderAs controls how a value looks, independent of its type. The table below shows the exact same fields as above — only the column headers and visual output change.

Same six fields, same data — now each column applies a renderAs renderer instead of relying on the type alone.

name (text)
status → badge
score → progress
budget → currency
rating → rating
change → deltaValue
Aurora Chenactive
78%
$4,200.00
UP +12%
Mateo Silvapending
45%
$7,800.00
DOWN -5%
Priya Nairinactive
91%
$1,500.00
UP +3%
RendererBest for
badgeStatus labels, category tags
progressPercentage or capacity values
currencyMonetary amounts with locale formatting
ratingStar or icon-based score display
deltaValueSigned change values with trend color
sparkTrendArray-valued trend lines
scoreMeterNumeric score with a visual meter
compositionBarMulti-segment proportion bars
linkURLs or email addresses as clickable links
jsonPreviewCollapsible JSON object preview

Field Guides​

See Also​