Skip to content

Extend <Stepper> with an indicator-only "rail" layout variant.#13103

Open
JakePT wants to merge 10 commits into
developfrom
enhancement/12949-stepper-rail-variant
Open

Extend <Stepper> with an indicator-only "rail" layout variant.#13103
JakePT wants to merge 10 commits into
developfrom
enhancement/12949-stepper-rail-variant

Conversation

@JakePT

@JakePT JakePT commented Jul 13, 2026

Copy link
Copy Markdown
Collaborator

Summary

Addresses issue:

Relevant technical choices

PR Author Checklist

  • My code is tested and passes existing unit tests.
  • My code has an appropriate set of unit tests which all pass.
  • My code is backward-compatible with WordPress 5.2 and PHP 7.4.
  • My code follows the WordPress coding standards.
  • My code has proper inline documentation.
  • I have added a QA Brief on the issue linked above.
  • I have signed the Contributor License Agreement (see https://cla.developers.google.com/).

Do not alter or remove anything below. The following sections will be managed by moderators only.

Code Reviewer Checklist

  • Run the code.
  • Ensure the acceptance criteria are satisfied.
  • Reassess the implementation with the IB.
  • Ensure no unrelated changes are included.
  • Ensure CI checks pass.
  • Check Storybook where applicable.
  • Ensure there is a QA Brief.
  • Ensure there are no unexpected significant changes to file sizes.

Merge Reviewer Checklist

  • Ensure the PR has the correct target branch.
  • Double-check that the PR is okay to be merged.
  • Ensure the corresponding issue has a ZenHub release assigned.
  • Add a changelog message to the issue.

@github-actions

github-actions Bot commented Jul 13, 2026

Copy link
Copy Markdown

🤖 This comment is automatically updated by CI workflows. Each section is managed independently.

🎭 Playwright reports for 32d9ea4:

📚 Storybook for 32d9ea4:

📦 Build files for 32d9ea4:

@JakePT
JakePT marked this pull request as ready for review July 13, 2026 14:23
}

.googlesitekit-stepper--rail {
--googlesitekit-stepper-size: 18px;

@JakePT JakePT Jul 13, 2026

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In Figma these are 16.5px, but the active step renders poorly at this size even on 2x displays because the full layout would require padding with quarter-pixels.

18px worked the best across resolutions, matched the layout size in the design, doesn't require special handling for 2x displays, and kept the inner and inactive circle sizes consistent as per the design.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @JakePT. I think this is correct anyway, as the full size of the vector appears to be 18px in Figma designs too.

Image

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@nfmohit If you zoom in you'll see some white space though. The green circle itself is 16.5px.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You're right. I think we can disregard that. LGTM 👍

@JakePT

JakePT commented Jul 13, 2026

Copy link
Copy Markdown
Collaborator Author

Failing tests appear to be unrelated.

@github-actions

github-actions Bot commented Jul 16, 2026

Copy link
Copy Markdown

Size Change: 0 B

Total Size: 3.71 MB

ℹ️ View Unchanged
Filename Size Change
dist/assets/blocks/reader-revenue-manager/block-editor-plugin/editor-styles.css 124 B 0 B
dist/assets/blocks/reader-revenue-manager/block-editor-plugin/editor-styles.js 0 B 0 B 🆕
dist/assets/blocks/reader-revenue-manager/block-editor-plugin/index.js 42.9 kB 0 B
dist/assets/blocks/reader-revenue-manager/common/editor-styles.css 307 B 0 B
dist/assets/blocks/reader-revenue-manager/common/editor-styles.js 0 B 0 B 🆕
dist/assets/blocks/reader-revenue-manager/contribute-with-google/index.js 6.01 kB 0 B
dist/assets/blocks/reader-revenue-manager/contribute-with-google/non-site-kit-user.js 5.21 kB 0 B
dist/assets/blocks/reader-revenue-manager/subscribe-with-google/index.js 6.02 kB 0 B
dist/assets/blocks/reader-revenue-manager/subscribe-with-google/non-site-kit-user.js 5.21 kB 0 B
dist/assets/blocks/sign-in-with-google/editor-styles.css 84 B 0 B
dist/assets/blocks/sign-in-with-google/editor-styles.js 0 B 0 B 🆕
dist/assets/blocks/sign-in-with-google/index.js 18.5 kB 0 B
dist/assets/css/googlesitekit-admin-css-********************.min.css 73.2 kB +427 B (+0.59%)
dist/assets/css/googlesitekit-adminbar-css-********************.min.css 12.7 kB 0 B
dist/assets/css/googlesitekit-authorize-application-css-********************.min.css 851 B 0 B
dist/assets/css/googlesitekit-wp-dashboard-css-********************.min.css 9.09 kB 0 B
dist/assets/js/46-********************.js 3.84 kB 0 B
dist/assets/js/65-********************.js 1.03 kB 0 B
dist/assets/js/187-********************.js 101 kB 0 B
dist/assets/js/308-********************.js 3 kB 0 B
dist/assets/js/315-********************.js 3.08 kB 0 B
dist/assets/js/397-********************.js 477 kB 0 B
dist/assets/js/403-********************.js 2.26 kB 0 B
dist/assets/js/509-********************.js 970 B 0 B
dist/assets/js/658-********************.js 52.7 kB 0 B
dist/assets/js/917-********************.js 2.41 kB 0 B
dist/assets/js/analytics-advanced-tracking-********************.js 404 B 0 B
dist/assets/js/googlesitekit-activation-********************.js 27.3 kB 0 B
dist/assets/js/googlesitekit-ad-blocking-recovery-********************.js 65.9 kB +196 B (+0.3%)
dist/assets/js/googlesitekit-admin-pointers-tracking-********************.js 5.37 kB 0 B
dist/assets/js/googlesitekit-adminbar-********************.js 41 kB 0 B
dist/assets/js/googlesitekit-api-********************.js 8.04 kB 0 B
dist/assets/js/googlesitekit-block-tracking-********************.js 5.56 kB 0 B
dist/assets/js/googlesitekit-components-********************.js 6.28 kB 0 B
dist/assets/js/googlesitekit-consent-mode-********************.js 26 kB 0 B
dist/assets/js/googlesitekit-data-********************.js 1.83 kB 0 B
dist/assets/js/googlesitekit-datastore-forms-********************.js 7.21 kB 0 B
dist/assets/js/googlesitekit-datastore-location-********************.js 1.6 kB 0 B
dist/assets/js/googlesitekit-datastore-pdf-********************.js 1.2 kB 0 B
dist/assets/js/googlesitekit-datastore-site-********************.js 19 kB 0 B
dist/assets/js/googlesitekit-datastore-ui-********************.js 7.37 kB 0 B
dist/assets/js/googlesitekit-datastore-user-********************.js 23.7 kB 0 B
dist/assets/js/googlesitekit-entity-dashboard-********************.js 79.6 kB 0 B
dist/assets/js/googlesitekit-events-provider-contact-form-7-********************.js 2.35 kB 0 B
dist/assets/js/googlesitekit-events-provider-easy-digital-downloads-********************.js 1.12 kB 0 B
dist/assets/js/googlesitekit-events-provider-mailchimp-********************.js 2.34 kB 0 B
dist/assets/js/googlesitekit-events-provider-ninja-forms-********************.js 2.3 kB 0 B
dist/assets/js/googlesitekit-events-provider-optin-monster-********************.js 2.22 kB 0 B
dist/assets/js/googlesitekit-events-provider-popup-maker-********************.js 2.44 kB 0 B
dist/assets/js/googlesitekit-events-provider-woocommerce-********************.js 1.08 kB 0 B
dist/assets/js/googlesitekit-events-provider-wpforms-********************.js 2.44 kB 0 B
dist/assets/js/googlesitekit-i18n-********************.js 4.43 kB 0 B
dist/assets/js/googlesitekit-key-metrics-setup-********************.js 59.7 kB 0 B
dist/assets/js/googlesitekit-main-dashboard-********************.js 209 kB 0 B
dist/assets/js/googlesitekit-metric-selection-********************.js 64.8 kB 0 B
dist/assets/js/googlesitekit-modules-********************.js 27.9 kB 0 B
dist/assets/js/googlesitekit-modules-ads-********************.js 49.7 kB 0 B
dist/assets/js/googlesitekit-modules-adsense-********************.js 160 kB +102 B (+0.06%)
dist/assets/js/googlesitekit-modules-analytics-4-********************.js 280 kB 0 B
dist/assets/js/googlesitekit-modules-pagespeed-insights-********************.js 27.4 kB 0 B
dist/assets/js/googlesitekit-modules-reader-revenue-manager-********************.js 55.7 kB 0 B
dist/assets/js/googlesitekit-modules-search-console-********************.js 75.8 kB 0 B
dist/assets/js/googlesitekit-modules-sign-in-with-google-********************.js 35.1 kB 0 B
dist/assets/js/googlesitekit-modules-tagmanager-********************.js 32 kB 0 B
dist/assets/js/googlesitekit-notifications-********************.js 85.1 kB 0 B
dist/assets/js/googlesitekit-polyfills-********************.js 228 B 0 B
dist/assets/js/googlesitekit-settings-********************.js 167 kB 0 B
dist/assets/js/googlesitekit-splash-********************.js 90.7 kB 0 B
dist/assets/js/googlesitekit-user-input-********************.js 57 kB 0 B
dist/assets/js/googlesitekit-vendor-********************.js 791 kB 0 B
dist/assets/js/googlesitekit-vendor-lazy-pdf-********************.js 19.1 kB 0 B
dist/assets/js/googlesitekit-widgets-********************.js 178 kB 0 B
dist/assets/js/googlesitekit-wp-dashboard-********************.js 68.6 kB 0 B
dist/assets/js/runtime-********************.js 1.94 kB 0 B
dist/assets/js/sign-in-with-google-********************.js 1.14 kB 0 B

compressed-size-action

@JakePT

JakePT commented Jul 20, 2026

Copy link
Copy Markdown
Collaborator Author

@ankitrox I've corrected the breakpoint and updated the VRT references. Passing back to you before checks finish because the changes are small, but pass back to me if something unexpectedly fails. Thanks!

@ankitrox ankitrox left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@nfmohit Assigning this to you for MR.

@nfmohit nfmohit left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Brilliant work on this, thanks @JakePT! I've left a few comments for your consideration. Please let me know what you think, thank you!

Comment thread assets/svg/icons/success.svg Outdated
}

.googlesitekit-stepper--rail {
--googlesitekit-stepper-size: 18px;

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @JakePT. I think this is correct anyway, as the full size of the vector appears to be 18px in Figma designs too.

Image

Comment thread assets/sass/components/global/_googlesitekit-stepper.scss Outdated
Comment thread assets/sass/components/global/_googlesitekit-stepper.scss

@nfmohit nfmohit left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @JakePT. Sending this back to you with a response and a question.

align-items: stretch;
column-gap: 14px;
display: grid;
gap: 12px 14px;

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry, I'm probably missing something here, but could you clarify why the 14px column gap is needed here?

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@nfmohit It's supposed to be the gap between the dot and the text, I think it's left there from an early experiment with subgrid, but it meant that the column gap was incorrect so I've fixed that. I also fixed a small issue I caught where the line was underneath the active dot.

Comment thread assets/svg/icons/success.svg Outdated
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants