Bolt has moved to boltapp.com. Stores still using bolt.com hosts must update now: see the migration guide.

Styling Components
Customize the look and feel of Bolt React Native SDK components using v3 CSS custom properties.

DEPRECATION

Legacy page. This is an earlier copy of the SDK guide (April 2026) and may contain outdated code. For current setup, see the current guide.

Overview

The Bolt React Native SDK supports styling through v3 CSS custom properties using the --bolt-{target}-{property} format. You can apply styles globally to all components or on a per-element basis.

For the full list of available style tokens, see Bolt Styling Docs: Style Components v3.

Global Styles

Use bolt.configureOnPageStyles() to set styles that apply to all Bolt elements rendered in your app:

bolt.configureOnPageStyles({
  '--bolt-input-fontFamily': 'Inter, sans-serif',
  '--bolt-input-fontSize': '16px',
  '--bolt-input-borderRadius': '8px',
});

Per-Element Styles

Pass a styles object when creating a controller to apply styles to a specific element:

const cc = CreditCard.useController({
  styles: {
    '--bolt-input-borderColor': '#ccc',
    '--bolt-input_focus-borderColor': '#5A31F4',
  },
});

Updating Styles After Creation

You can update styles on a controller at any time using setStyles():

cc.setStyles({
  '--bolt-input-backgroundColor': '#f9f9f9',
});

Style Token Format

All style tokens follow the pattern:

--bolt-{target}-{property}
--bolt-{target}_{state}-{property}

Examples:

Token Description
--bolt-input-fontFamily Font family for input fields
--bolt-input-fontSize Font size for input fields
--bolt-input-borderRadius Border radius for input fields
--bolt-input-borderColor Default border color for input fields
--bolt-input_focus-borderColor Border color when an input field is focused
--bolt-input-backgroundColor Background color for input fields
sdk react-native styling customization