Theming
Customize the SDK's appearance to match your brand. Theme settings are configured through the TSP dashboard and saved against your account (keyed by account, not by individual publishable key) — they apply automatically to every SDK instance initialized with any publishable key tied to that account. An enrolled END_USER account with no theme override of its own inherits its parent TSP's theme.
To access the theme editor, mount the dashboard view as a TSP user:
const sdk = Intellirent.init({
publishableKey: "pk_live_xxx",
userContext: { userId: "tsp_admin_001", userType: "TSP" },
});
await sdk.mount("#container", { view: "dashboard" });
From the dashboard, navigate to the Theme section to configure colors, typography, and shape.
Available Options
All properties are optional. Omitted values use relay defaults.
Colors
Override brand and UI colors. All values must be 6-digit hex strings (#RRGGBB).
| Property | Description | Default |
|---|---|---|
primary | Primary brand color (buttons, focus rings) | #1E293B |
primaryLight | Light shade of the primary color | — |
primaryDark | Dark shade of the primary color | — |
secondary | Secondary color | #5E6566 |
secondaryLight | Light shade of the secondary color | — |
secondaryDark | Dark shade of the secondary color | — |
textPrimary | Primary text color | #303333 |
textSecondary | Secondary text color | #667A81 |
background | Page background color † | #FFFFFF |
error | Error / destructive action color † | #EF476F |
success | Success / confirmation color † | #137B40 |
link | Link color for anchor elements | #1E293B |
linkHover | Link hover state color | — |
linkActive | Link active/pressed state color | — |
If primaryLight and primaryDark are omitted, they are derived automatically from primary. The same applies to secondaryLight and secondaryDark — if omitted, they are derived from secondary. Likewise, linkHover and linkActive default to darker and lighter shades of link, respectively.
background, error, and success have no dashboard control yet† These three fields are validated and stored by the underlying theme API, but the Theme editor's Color settings screen has no input for them today, and the embedded form does not read them even if set directly through the API. Only primary*, secondary*, textPrimary, textSecondary, and link* are both editable in the dashboard and actually applied to the embedded form. Treat background, error, and success as reserved for a future release, not as available today.
Typography
| Property | Description | Default |
|---|---|---|
fontFamily | Font family (must be a web-safe font) | System default |
Allowed fonts:
Open Sans, Arial, Helvetica, Georgia, Times New Roman, Courier New, Verdana, Trebuchet MS, Tahoma, system-ui, sans-serif, serif, monospace
Shape
Border radius customization (buttonBorderRadius, cardBorderRadius) is defined in the underlying theme validation contract but is not yet persisted or exposed anywhere — there is no dashboard UI for it and no API accepts it. Only colors and fontFamily are actually stored per account today. The table below documents the validation rules that will apply once this ships; do not rely on shape customization being available yet.
| Property | Description | Range | Default |
|---|---|---|---|
buttonBorderRadius | Border radius for buttons (px) | 0–24 | 8 |
cardBorderRadius | Border radius for cards (px) | 0–24 | 5 |
Values outside 0–24 are clamped. Decimals are rounded to the nearest integer.
Limitations
- Web-safe fonts only: Custom or remote fonts (e.g., Google Fonts) are not supported. Only the allowlisted system fonts are accepted.
- Color format: Only 6-digit hex (
#RRGGBB) is accepted. CSS color names,rgb(),hsl(), 3-digit hex, and 8-digit hex with alpha are not supported. - Shape is not yet configurable: see the caution note under Shape above —
buttonBorderRadiusandcardBorderRadiushave no dashboard UI or API today. background,error, andsuccessare not yet editable: see the caution note under Colors above — the API accepts and stores them, but there is no dashboard control and the embedded form does not apply them yet.- No font size or weight control: Typography overrides are limited to
fontFamily. Font sizes, weights, and line heights follow the relay design system. - No spacing or layout control: Spacing, padding, and component sizing are not configurable.
Next Steps
- Getting Started — Installation and setup
- Lifecycle Events — Track mount/unmount operations
- Screening Pre-fill — Pre-populate form fields with known data