Skip to content

Conversation

@schultek
Copy link
Contributor

@schultek schultek commented Nov 12, 2025

Adds a stepper component for FWE.

  • Each step is a <details> object, so it's fully accessible and keyboard controllable.
  • The client-side logic still needs to be in global_scripts until server components are there.
Bildschirmfoto 2025-11-13 um 13 33 50

Presubmit checklist

  • If you are unwilling, or unable, to sign the CLA, even for a tiny, one-word PR, please file an issue instead of a PR.
  • If this PR is not meant to land until a future stable release, mark it as draft with an explanation.
  • This PR follows the Google Developer Documentation Style Guidelines—for example, it doesn't use i.e. or e.g., and it avoids I and we (first-person pronouns).
  • This PR uses semantic line breaks
    of 80 characters or fewer.

@schultek schultek requested a review from parlough November 12, 2025 17:24
@schultek schultek requested review from a team and sfshaza2 as code owners November 12, 2025 17:24
@gemini-code-assist
Copy link
Contributor

Summary of Changes

Hello @schultek, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request delivers a new, highly accessible Stepper component, crucial for structuring multi-step user guides and tutorials. By leveraging HTML's <details> element, it provides a robust foundation for keyboard navigation and semantic structure, enhanced with custom styling and client-side logic for a smooth, interactive user experience. The inclusion of a debug-only test page facilitates immediate validation and demonstration of the component's capabilities.

Highlights

  • New Stepper Component: Introduces a new Stepper UI component, designed to guide users through sequential steps, particularly for First Week Experience (FWE) flows.
  • Accessibility and Structure: The stepper is built using native HTML <details> elements, ensuring inherent accessibility and keyboard control. Each step's title is derived from a specified heading level.
  • Client-Side Interactivity: Adds Dart-generated JavaScript logic to manage stepper behavior, including automatically closing other steps when one is opened, and providing 'Continue'/'Finish' buttons for navigation with smooth scrolling.
  • Styling and Integration: Includes dedicated SASS styling for the stepper component and integrates it into the site's component registry, making it available for use in content.
  • Debug Test Page: A new debug-mode-only page (fwe.md) has been added to demonstrate and test the functionality of the Stepper component with example Dart setup instructions.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

@parlough parlough marked this pull request as draft November 12, 2025 17:26
Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

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

Code Review

This pull request introduces a new stepper component, which is a great addition for guided tutorials. The implementation is solid, using <details> for accessibility and providing a client-side script for interactivity. I've left a few suggestions to improve the SCSS styling and enhance accessibility for screen reader users. Overall, great work on this new feature.

Comment on lines +20 to +22
&:last-child::before {
transform: none;
}
Copy link
Contributor

Choose a reason for hiding this comment

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

medium

The vertical line connecting steps should not be visible for the last step. Using transform: none; resets the vertical translation but still renders the line, causing it to overlap with the step number. To hide the line for the last step, you should use display: none; instead.

Suggested change
&:last-child::before {
transform: none;
}
&:last-child::before {
display: none;
}

Copy link
Contributor Author

Choose a reason for hiding this comment

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

It should, to still provide a border for the content. Wdyt @parlough?

@flutter-website-bot
Copy link
Collaborator

flutter-website-bot commented Nov 12, 2025

Visit the preview URL for this PR (updated for commit b15845e):

https://flutter-docs-prod--pr12675-feat-stepper-component-tgbjxrr9.web.app

@schultek schultek force-pushed the feat/stepper-component branch from 9597a29 to 14db02d Compare November 12, 2025 17:33
@schultek schultek marked this pull request as ready for review November 12, 2025 17:33
@schultek schultek force-pushed the feat/stepper-component branch 3 times, most recently from ce0d21b to e056473 Compare November 17, 2025 09:05
@schultek schultek force-pushed the feat/stepper-component branch from e056473 to b15845e Compare November 18, 2025 08:34
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.

2 participants