Skip to main content
The embed exposes a number of design tokens which we can customise to suit the branding needs of your application. Under the hood, these are set as CSS variables and piped into Tailwind CSS for use in our components.
To create or edit your theme, please reach out to an Axle representative. For new clients, we’ll action this as part of your onboarding.

Design tokens

All tokens are optional. Unset tokens fall back to our default theme.

Colour tokens

Colours are expressed as CSS colour strings. The codebase prefers OKLCH for perceptual uniformity, but hex and HSL are also supported. Tokens are organised into base/foreground pairs. The base token (e.g. --primary) controls a surface colour, and its matching -foreground token (e.g. --primary-foreground) controls the text and icon colour that sits on that surface. Set them together so that content remains legible against each surface.

Brand

CSS variablePurposeDefault
--primaryMain brand colour — buttons, key linksoklch(0.205 0 0)
--primary-foregroundOn primary surfacesoklch(0.985 0 0)
--secondarySecondary brand colour#2e2f35
--secondary-foregroundOn secondary surfaces#e5e5e7
--accentAccent colour for emphasis#2e2f35

Surfaces

CSS variablePurposeDefault
--backgroundPage or view backgroundoklch(1 0 0)
--foregroundDefault body textoklch(0.145 0 0)
--cardCard surfacesoklch(0.99 0 0)
--popoverPopover / dropdown backgroundoklch(1 0 0)
--popover-foregroundOn popover surfacesoklch(0.145 0 0)
--mutedSubdued backgrounds — inputs, badges#f3f2f280
--muted-foregroundOn muted surfacesoklch(0.556 0 0)
--scrimBackdrop overlay behind sheets and dialogsoklch(0.975 0 0)
--pillPill / chip backgroundsoklch(1 0 0)
--pill-foregroundOn pill surfacesoklch(0.205 0 0)

Feedback

CSS variablePurposeDefault
--destructiveError / destructive actionsoklch(0.577 0.245 27.325)
--warningWarning alert backgroundrgba(254, 250, 231, 1)
--warning-foregroundOn warning surfacesrgba(72, 61, 4, 1)
--infoInformational alert backgroundrgba(235, 243, 250, 1)
--info-foregroundOn info surfacesrgba(27, 70, 101, 1)

Borders & focus

CSS variablePurposeDefault
--borderDefault bordersoklch(0.922 0 0)
--ringFocus ringoklch(0.708 0 0)

Radius

A single --radius value drives the entire corner-radius scale. The derived values --radius-sm, --radius-md, --radius-lg, --radius-xl, and --radius-2xl are all calculated from --radius, so components scale proportionally — set the base value and everything from inputs to cards to sheets stays in tune.
CSS variablePurposeDefault
--radiusBase corner radius1.2rem

Typography

CSS variablePurposeDefault
(inline font-family)Body text font stack, applied via an inline styleInter
--font-headingHeading font stack, applied to h1h6Inter

Font customisation

We support three font strategies.

1. External fonts

We support the use of Google Fonts for externally hosted, publicly licensed fonts.

2. Local fonts

We support the use of custom fonts. You can provide us with font files, which we host alongside the embed. Themes that rely on brand fonts typically use this path, with one or more weights defined and preload enabled for primary weights.
When using custom fonts, please ensure you have the required licenses for use in the app.

3. System fonts

Themes may also choose not to ship any font files, instead using a system font stack.

Copy and content configuration

Various parts of the onboarding flow are configurable per partner requirements. This is handled as part of dedicated engineering effort as we support your integration. These theming options should cover the majority of needs for the majority of clients. If you have further requirements, please reach out to us via your customer support contact.