Version 2 uses inline styles instead of V1 SCSS.
To update the default theme, just pass a styles prop to the Joyride component,
You can control the overall theme with the special options object.
Copy const defaultOptions = {
arrowColor: '#fff',
backgroundColor: '#fff',
beaconSize: 36,
overlayColor: 'rgba(0, 0, 0, 0.5)',
primaryColor: '#f04',
spotlightShadow: '0 0 15px rgba(0, 0, 0, 0.5)',
textColor: '#333',
width: undefined,
zIndex: 100,
};
Copy import React , { useState } from ' react ' ;
import Joyride , { ACTIONS , EVENTS } from ' react-joyride ' ;
const steps = [
{
target : ' .my-first-step ' ,
content : ' This is my awesome feature! ' ,
},
{
target : ' .my-other-step ' ,
content : ' This another awesome feature! ' ,
},
] ;
export default function App () {
const [ run , setRun ] = useState ( false ) ;
const handleClickStart = () => {
setRun ( true ) ;
};
return (
< div >
< Joyride
run = { run }
steps = { steps }
styles = { {
options : {
arrowColor : ' #e3ffeb ' ,
backgroundColor : ' #e3ffeb ' ,
overlayColor : ' rgba(79, 26, 0, 0.4) ' ,
primaryColor : ' #000 ' ,
textColor : ' #004a14 ' ,
width : 900 ,
zIndex : 1000 ,
},
} }
/>
< button onClick = { handleClickStart } > Start </ button >
// Your code here...
</ div >
) ;
} You can customize the styles per step, too.
Or, if you need finer control, you can use your own components for the beacon and tooltip. Check the custom components documentation.