Skip to main content

Renderer Components Overview

Renderers control how a field value is displayed. Set renderAs on any field config to override the default type-based display with a purpose-built visual output — a badge, a progress bar, a trend sparkline, a formatted currency amount, and so on.

Renderers are independent of field type: a number field can render as currency, progress, rating, scoreMeter, or deltaValue. A text field can render as badge. An email or url field can render as link. Renderer choice is driven by what the data means and how it should look, not by the storage type.

All Built-in Renderers at a Glance​

Ten non-temporal built-in renderers applied to a single dataset. Each column uses a different renderAs value. The Name column is plain text with no renderer.

Name
status → badge
score → scoreMeter
budget → currency
change → deltaValue
completion → progress
rating → rating
trend → sparkTrend
breakdown → compositionBar
profile → link
meta → jsonPreview
Aurora Chenactive
Good78
$4,200.00UP +12%
+26.0%
View
"team": "platform"
"region": "APAC"
Mateo Silvapending
Low45
$7,800.00DOWN -5%
-15.0%
View
"team": "infra"
"region": "EMEA"
Priya Nairinactive
High91
$1,500.00UP +3%
+11.0%
View
"team": "ops"
"region": "Americas"

How renderAs Relates to type​

If both type and renderAs are set on a field, renderAs controls display — the type switch is bypassed entirely. However, type still has two effects:

  • Wrap behavior: image is excluded from wrap: false clipping; email and url apply forced word-breaking under wrap: true
  • Semantic intent: signals the data's category to developers and future tooling (inline editing, filtering)

As a practical rule: always set type, set renderAs when the default type rendering isn't the right visual.

// type drives display — plain text
{ key: 'status', type: 'text' }

// renderAs overrides display — badge widget
{ key: 'status', type: 'text', renderAs: 'badge' }

Renderer Reference​

Value and Label Renderers​

RendererBest forKey options
badgeStatus labels, category tagscolorMap, defaultColor, pill
currencyMonetary amountslocale, currency, decimals
progressPercentage or capacity (0–100)color, height, showPercentage
ratingStar or icon score displaymax, size, color, icon

Metric and Analytical Renderers​

RendererBest forKey options
deltaValueSigned change values with trend colorpositiveColor, negativeColor, suffixPercent
sparkTrendArray-valued trend lineswidth, height, positiveColor, negativeColor
scoreMeterNumeric score with a visual progress meter and band labeldensity, bands, showValue, tagPosition
compositionBarMulti-segment proportion barssegments, legend, barHeight, palette
RendererBest forKey options
linkURLs and email addresses as clickable linkstext, url, newTab, externalWarning
jsonPreviewCollapsible inline JSON object previewmaxDepth, expanded

Temporal Renderers​

Temporal renderers require parseMode (or unit for duration) in renderAsOptions. See the Temporal Fields Guide for the full contract.

RendererField type pairingRequired option
datetype: 'date'parseMode
timetype: 'time'parseMode
datetimetype: 'datetime'parseMode
timestamptype: 'timestamp'parseMode
durationtype: 'duration'unit

Custom Renderers​

Register a renderAs renderer for domain-specific visuals not covered by the built-ins:

Renderer Guides​

Value renderers

Metric renderers

Link and data renderers

Temporal renderers

See Also​