Skip to main content
The editor’s UI is fully customizable through CSS. Every component uses data-re-* attributes as stable styling hooks, and a set of CSS custom properties (--re-*) control the entire color scheme.

CSS variables

The default theme defines these CSS custom properties on :root. Override them on any parent element to restyle the editor:

Color variables

VariableDescriptionLight defaultDark default
--re-bgBackground color#fff#1c1c1c
--re-borderBorder color#e5e5e5#2e2e2e
--re-textPrimary text color#1c1c1c#ececec
--re-text-mutedSecondary/muted text#6b6b6b#a0a0a0
--re-hoverHover backgroundrgba(0,0,0,0.04)rgba(255,255,255,0.06)
--re-activeActive/click backgroundrgba(0,0,0,0.06)rgba(255,255,255,0.09)
--re-pressedPressed/toggled backgroundrgba(0,0,0,0.06)rgba(255,255,255,0.09)
--re-separatorSeparator line color#e5e5e5#2e2e2e
--re-dangerDestructive action color#dc2626#f87171
--re-danger-hoverDestructive hover backgroundrgba(220,38,38,0.1)rgba(248,113,113,0.15)

Dimension variables

VariableDescriptionDefault
--re-radiusBorder radius for containers (menus, dropdowns)0.75rem
--re-radius-smBorder radius for buttons and items0.5rem
--re-shadowBox shadow for floating elements0 10px 15px -3px rgba(0,0,0,0.1), ...

Dark mode

The default theme supports dark mode in two ways: Automatic: via prefers-color-scheme.
Class-based: via a .dark class on any ancestor.
This works out of the box with class-based dark mode libraries (e.g., next-themes).

Data attribute selectors

Every UI component uses data-re-* attributes as stable CSS hooks. These are the recommended way to target specific parts of the editor UI.

Bubble menu

See the Bubble Menu guide for setup, behavior, and composition.
Available data-item values: bold, italic, underline, strike, code, uppercase, align-left, align-center, align-right.

Node selector

The block type dropdown inside the bubble menu
The link popover inside the bubble menu
The standalone menu that appears when clicking a link

Button bubble menu

The menu that appears when clicking an email button

Image bubble menu

The menu that appears when clicking an image

Slash command

See the Slash Commands guide for setup, default items, and custom commands.

Inspector

See the Inspector guide for setup, panels, and custom render props.

Editor content classes

The editor content area uses the .tiptap root class from TipTap. Target content elements with .tiptap as a prefix.

Typography

Layout and structure

Text alignment

The alignment attribute renders as an HTML attribute on block nodes.

Column data types

Column layouts also use data-type attributes.

Examples

Custom brand colors

Override the CSS variables to match your brand.

Custom bubble menu item styles

Increase icon size and change the active state color.

Custom slash command appearance

Make the command palette wider with a custom background color.

Styling editor content

Customize how content looks inside the editor.
Content styling in the editor (via .tiptap selectors) only affects how content looks while editing. The exported email HTML is styled separately via the Theming system.

Examples

See styling and theming in action with runnable examples:

Email Theming

Basic/Minimal theme toggle with live preview.

Full Email Builder

Complete editor with all styling features combined.