@@ -4047,20 +4047,38 @@ let onboardingStep = 0;
40474047let onboardingHighlightEl = null ;
40484048
40494049function clearOnboardingHighlight ( ) {
4050- if ( onboardingHighlightEl ) {
4051- onboardingHighlightEl . classList . remove ( 'onboarding-highlight' ) ;
4052- onboardingHighlightEl = null ;
4053- }
4050+ const spotlight = $ ( '#onboarding-spotlight' ) ;
4051+ if ( spotlight ) spotlight . style . display = 'none' ;
4052+ const el = $ ( '#onboarding-highlight-el' ) ;
4053+ if ( el ) el . removeAttribute ( 'id' ) ;
4054+ onboardingHighlightEl = null ;
40544055}
40554056
40564057function applyOnboardingHighlight ( selector ) {
40574058 clearOnboardingHighlight ( ) ;
40584059 if ( ! selector ) return ;
4060+
40594061 const el = document . querySelector ( selector ) ;
4060- if ( el ) {
4061- el . classList . add ( 'onboarding-highlight' ) ;
4062- onboardingHighlightEl = el ;
4062+ if ( ! el ) return ;
4063+
4064+ const rect = el . getBoundingClientRect ( ) ;
4065+
4066+ let spotlight = $ ( '#onboarding-spotlight' ) ;
4067+ if ( ! spotlight ) {
4068+ spotlight = document . createElement ( 'div' ) ;
4069+ spotlight . id = 'onboarding-spotlight' ;
4070+ spotlight . className = 'onboarding-spotlight' ;
4071+ const overlay = $ ( '#onboarding-overlay' ) ;
4072+ if ( overlay ) overlay . appendChild ( spotlight ) ;
40634073 }
4074+
4075+ spotlight . style . left = rect . left + 'px' ;
4076+ spotlight . style . top = rect . top + 'px' ;
4077+ spotlight . style . width = rect . width + 'px' ;
4078+ spotlight . style . height = rect . height + 'px' ;
4079+ spotlight . style . display = 'block' ;
4080+
4081+ onboardingHighlightEl = spotlight ;
40644082}
40654083
40664084function positionOnboardingCard ( selector ) {
0 commit comments