palantir/blueprint

[MultistepDialog] Navigation to later steps is allowed via side navigation when `nextButtonProps` disallows it

Open

#4,871 opened on Aug 20, 2021

View on GitHub
 (0 comments) (0 reactions) (0 assignees)TypeScript (20,263 stars) (2,167 forks)batch import
P2Package: coreType: bughelp wanted

Description

Environment

  • Package version(s): @blueprintjs/core@3.48.0

Code Sandbox

https://codesandbox.io/s/blueprint-sandbox-multistepdialog-4di0d

Steps to reproduce

(Using the example in the Code Sandbox)

  1. Advance through each step of the <MultistepDialog> to the end.
  2. See how each step must be "valid" before you can progress.
  3. Before submitting, go back to an earlier step via the "Back" buttons or via the side navigation.
  4. Uncheck the checkbox to make the step invalid.
  5. ✅ See that the "Next" button on the step is now disabled (according to nextButtonProps on that step)
  6. ❌ See that you can still navigate to the next step via the side navigation, as it was previously visited.

Actual behavior

image

Expected behavior

image

If the "Next" button of the current <DialogStep> is disabled through the nextButtonProps, I do not expect to be able to navigate further forwards through the steps via the side navigation; even if I have advanced further previously.

Contributor guide