Appearance
Rule.io SDK / rcml/src / createEmailTheme
Function: createEmailTheme()
createEmailTheme(
overrides?):EmailTheme
Defined in: rcml/src/email/create-theme.ts:75
Build an EmailTheme seeded with the rcml defaults.
Without an argument, the returned theme has every field populated with the values from theme-defaults.ts (four colour slots, six default social links, six default font-styles, no images, no fonts, no brandStyleId).
When overrides is provided, each bucket is applied on top of the base theme with the same semantics as the corresponding updater:
| Bucket | Semantics |
|---|---|
brandStyleId | Scalar set. |
colors | Reset to defaults, then overlay provided entries by type. |
links | Reset to defaults, then overlay provided entries by type. |
images | Full replace; empty array clears all images. |
fonts | Full replace; empty array removes every font registration. |
fontStyles | Reset to defaults, then partial-merge each override into its slot. |
The returned object is a plain POJO — safe to JSON.stringify, structuredClone, or snapshot in tests.
Parameters
overrides?
Optional per-field values to apply on top of the defaults.
Returns
A fresh EmailTheme. The input is not mutated.
Example
ts
// Defaults only.
const theme = createEmailTheme()
// Brand style + a custom primary colour, everything else default.
const branded = createEmailTheme({
brandStyleId: 99999,
colors: [{ type: EmailThemeColorType.Primary, hex: '#FF0000' }],
})