Update the `TourTooltip` component to reflect the new design.
Feature Description
Update the TourTooltip component to reflect the new design.
See the design in Figma and the dashboard tour section in the Design Doc.
Do not alter or remove anything below. The following sections will be managed by moderators only.
Acceptance criteria
- The
TourTooltipcomponent is updated to reflect the new design in Figma:- The progress dots in the bottom left are replaced with the X/Y step indicator, where X is the current step and Y is the total number of steps.
- The styling of the tooltip is updated to match the new design.
- The change is gated behind the
setupFlowRefreshfeature flag.
Implementation Brief
See the implementation guide in the Design Doc for guidelines on how to implement this issue.
- [ ] In
assets/js/components/TourTooltips.js- [ ] Check if
setupFlowRefreshfeature flag is enabled. If it's enabled:- [ ] The shadow in
floatProps.floater.filtershould be changed todrop-shadow(rgba(0, 0, 0, 0.25) 0px 4px 16px). - [ ] The
showProgressprop ofJoyrideshould befalse
- [ ] The shadow in
- [ ] Check if
- [ ] In
assets/js/components/TourTooltip.js- [ ] Check if
setupFlowRefreshfeature flag is enabled. If it's enabled:- [ ] Add
googlesitekit-tour-tooltip--setupFlowRefreshclass to the main container - [ ] Set the width and height of the
CloseIconto10 - [ ] Add
googlesitekit-tooltip-button--primaryclass to primary button - [ ] Hide the indicators (div with class
googlesitekit-tooltip-indicators) - [ ] Replace the indicators with a simple
phaving${ index + 1 } / ${ size }inside. Add the classgooglesitekit-tooltip-stepsto it so we can style it later
- [ ] Add
- [ ] Check if
- [ ] In
assets/sass/components/tour-tooltip/_googlesitekit-tour-tooltip.scss, override the tooltip's styles using thegooglesitekit-tour-tooltip--setupFlowRefreshclass- [ ] Override the
.googlesitekit-tooltip-titlestyles to match the Figma design- [ ] Typography (font family, weight, line height, letter spacing etc.)
- [ ]
margin-bottomshould become8px
- [ ] Override the
.googlesitekit-tooltip-contentstyles to match the Figma design- [ ] Typography (font family, weight, line height, letter spacing etc.)
- [ ] Override
.googlesitekit-tooltip-bodystyles- [ ] Set
paddingto32px 16px 0px 16px - [ ] Set
max-widthto332px
- [ ] Set
- [ ] Override
.googlesitekit-tooltip-closestyles- [ ] Set
topandrightto16px
- [ ] Set
- [ ] Update the common button styles
.googlesitekit-tooltip-button- [ ] Set
border-radiusto100px - [ ] Set
line-heightto20px - [ ] Also, the current focus outline looks a bit off, so we'll fix it by:
- [ ] targeting
&:focusand settingoutlinetonone - [ ] targeting
&:focus:not(:active)and settingoutlineto2px solid $c-interactive-inverse-focus
- [ ] targeting
- [ ] Set
- [ ] Style the primary button
.googlesitekit-tooltip-button--pimrary- [ ] Set
background-colorto$c-site-kit-sk-300 - [ ] Set the
paddingto6px 16px
- [ ] Set
- [ ] Style the steps indicator
.googlesitekit-tooltip-steps- [ ] Typography (font family, weight, line height, letter spacing etc.)
- [ ] Set
marginto0
- [ ] Override
.googlesitekit-tooltip-actionsstyles- [ ] Set
paddingto16px
- [ ] Set
- [ ] Override the
- [ ] Add a new story to
assets/js/components/TourTooltips.stories.jsto showcase the SFR version
Test Coverage
- Update failing snapshots/VRTs if any.
QA Brief
- View the new Setup Flow Refresh story at:
- Compare it with the default story at:
- Verify the Setup Flow Refresh version matches the Figma design:
- Progress dots in the bottom left are replaced with "X / Y" step indicator (e.g., "1 / 4")
- Test tour navigation:
- Click "Next" to advance through steps
- Click "Back" to go to previous steps
- Verify step counter updates correctly (1/4, 2/4, 3/4, 4/4)
- Click "Got it" on the last step to complete the tour
- Click the close (X) button to dismiss the tour
- To manually trigger a feature tour in the Site Kit dashboard, run the following code snippet in the browser console with and without the
setupFlowRefreshfeature flag enabled:
// 1. First, ensure the tour is not already dismissed
googlesitekit.data.dispatch('core/user').receiveGetDismissedTours([]);
// 2. Create a custom tour object
const customTour = {
slug: 'test-tour',
contexts: ['googlesitekit-dashboard'],
version: '1.0.0',
gaEventCategory: 'test_tour',
steps: [
{
target: '.googlesitekit-header',
title: 'Welcome to the Tour',
content: 'This is the first step of our custom tour.',
placement: 'bottom'
},
{
target: '.googlesitekit-navigation',
title: 'Navigation Menu',
content: 'This is the navigation menu.',
placement: 'right'
}
]
};
// 3. Trigger the custom tour
await googlesitekit.data.dispatch('core/user').triggerTour(customTour);
Changelog entry
Thank you for drafting the IB, @abdelmalekkkkk.
Could you kindly complete the test coverage section? Also, I feel the estimate could be a notch higher, as this involves a good number of style changes, which will also be verified during CR and QA.
Let me know what you think, thanks!
Thanks @nfmohit! That makes perfect sense. I bumped up the estimate and completed the Test Coverage section. Thanks!
IB ✅