Theming
React landing page is based on Rebass, which is using styled-system for styling. To use Rebass's core theme includes breakpoints, a spacing scale, a typographic scale, fonts, font weights, border radii, and colors, all of which can be configured with the <Provider /> component.
To customize the underlying theme, pass a theme object to the <Provider /> component.
<Provider theme={{ fonts: { sans: '"Avenir Next", Helvetica, sans-serif', }, fontSizes: [ 12, 16, 24, 36, 48, 72 ] }}> <CallToAction fontSize={[ 2, 3, 4, 5 ]}> Hello </CallToAction> </Provider>
The theme object has the following shape. Any custom values passed to the Provider component will be merged with the defaults.
// Default values
const theme = {
breakpoints: [
32,
48,
64,
80
],
space: [
0,
4,
8,
16,
32,
64,
128,
],
fonts: {
sans: 'system-ui, sans-serif',
mono: 'Menlo, monospace',
},
fontSizes: [
12,
14,
16,
20,
24,
32,
48,
64,
72,
96
],
fontWeights: {
normal: 400,
bold: 700
},
colors: {
black: '#000',
white: '#fff',
...etc
},
radii: [ 0, 2, 4 ]
}
See the styled-system docs for more about how react-landing-page style props integrate with the theme.