LowCodeStacks™
Sign in

NewPower Apps · canvas componentNavigation and layout✓ Tested in StudioMIT License

Stepper

The steps of a form or wizard, with progress, a check before each step that stops people skipping what's required, Back and Next, and a step to go to. Or a project's stages and an approval chain in the standard status colours. Horizontal or vertical.

Name in Studio
lcsStepper
Version
0.3.1
Properties
20 inputs · 7 outputs · 1 input function · 2 events · 4 actions

Free to copy, no account needed

No ratings yet

Variations

As it is when you paste it, with every input at its default.

Step 1 of 4

Your details

Name and team

Formulas on this screen

Set the same ones in Studio to try it the same way; there, each Notify shows its event in a banner, which this preview leaves out so nothing covers the component. The instance names are the ones Studio gives the first copy on a screen.

  • lcsStepper_1.OnStepChange = Notify("Step " & NewStep)

  • lcsStepper_1.OnFinish = Notify("Submitted", NotificationType.Success)

  • Label1.Text = lcsStepper_1.CurrentTitle

A web replica that behaves as the component does in Power Apps. In Studio it uses Microsoft's controls, which can look slightly different.

Add it in five steps

  1. In Power Apps Studio, open Settings > Updates and check that Modern controls and themes and Enhanced component properties are on.
  2. Open the Components tab in the tree view and select New component.
  3. Select an empty part of Studio, so the new component isn't selected.
  4. Copy the YAML on this page and press Ctrl+V. lcsStepper appears with all its properties.
  5. On a screen, insert it from Insert > Custom > lcsStepper.

What it needs

  • No premium licence: standard controls, no connectors
  • Modern controls and themes: on
  • Enhanced component properties: on
  • Tested in Power Apps Studio 3.26094.9 on October 17, 2026
  • Version 0.3.1

Properties (34)

Read from the component's own YAML, so they always match what you paste.

Inputs
PropertyKindTypeDefault
Steps

The steps, in order: Title and Description.

InputTableTable( {Title: "Your details", Description: "Name and team"}, {Title: "What you need", Description: "Items and dates"}, {Title: "Approver", Description: "Who signs it off"}, {Title: "Review", Description: "Check and submit"} )
Type

Steps: a form or wizard in your colour. Project: project stages in the standard status colours, finished blue, the current stage green, amber or red for its Health, the rest grey. Approval: an approval chain, approved steps green, the current one amber, red when Health is Red.

InputText"Steps"
Health

Project and Approval: the current stage's health. Green (on track), Amber (at risk) or Red (off track; in Approval, rejected).

InputText"Green"
StatusText

Project and Approval: the words on the status pill. Leave it empty for On track, At risk, Off track or Complete; in Approval, Waiting for approval, Rejected or Approved.

InputText""
DefaultStep

The step shown when the screen loads, from 1. In Project and Approval, one more than the number of steps shows them all finished.

InputNumber1
Orientation

Horizontal, or Vertical for a narrow screen or a side panel.

InputText"Horizontal"

Guide

Use lcsStepper for a form split into steps: a request, an onboarding, a checklist. Or, with Type, to show where something is: a project's stage, an approval chain, a sales deal, an order. A plain row of labels shows where you are, but it doesn't stop anyone moving on with a step half done. This component:

  • Shows the steps and progress on a clean card: finished steps get a ✓ in your colour, the current one a solid circle with a soft halo, and the lines between them fill as you go. Under a divider, "Step 2 of 4" with a progress bar. Horizontal, or vertical for a narrow screen or side panel. Look "Premium" gives a card with a soft shadow, rounder corners, thicker lines, the current title in your colour and a thicker bar.
  • Checks before moving on. Write your own CanLeaveStep(Step) check: return false and Next stays on the step and says what's wrong ("Complete this step to continue."). GoToStep() stops at the first step that isn't complete, so no step is skipped.
  • Has Back and Next built in, with your own labels ("Submit" on the last step), or uses your buttons through Back() and Next().
  • Tracks a project or an approval with Type "Project" or "Approval", in the standard status colours, with a pill that says the status in words (see "Project stages, approvals and other trackers").
  • Lets people go back by selecting an earlier step.
  • Tells your app what happened: OnStepChange(NewStep, OldStep) and OnFinish().
  • Outputs the step, its title, whether it's the first or last, and the progress from 0 to 1.

Did it work for you?

No ratings yet.Nobody has said it worked in their app yet.

Sign in to rate it or to say it worked in your app.

Comments

  1. LowCodeStacks teamPinned

    Welcome! Worth knowing: CanLeaveStep runs for every step GoToStep passes, so keep it quick, with no data calls in it.

    Is yours a form wizard, project stages or an approval chain? Tell us how many steps you have and whether horizontal or vertical works better for you.

Sign in to comment or reply. Comments show under a display name you choose, never your email.