LowCodeStacks™
Sign in

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

Breadcrumbs

A trail from a table of keys and labels: every level but the current one a real button named with its level, long trails folded behind Show all; OnNavigate with the key and level, GoUp for a Back button, CurrentLabel for the title; light and dark, the current level in a tinted pill that pops in.

Name in Studio
lcsBreadcrumbs
Version
0.1.0
Properties
10 inputs · 6 outputs · 1 event · 3 actions
Sign in to copy

Free with an account

No ratings yet

Sign in to copy

Variations

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

CurrentLabel: Tasks · ParentKey: "atlas" · Count: 4 · IsCollapsed: false

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.

  • lcsBreadcrumbs_1.OnNavigate = Set(varPath, FirstN(varPath, Level)); Notify("Go to " & Label & " (level " & Level & ")")

  • btnBack.OnSelect = lcsBreadcrumbs_1.GoUp()

  • lblTitle.Text = lcsBreadcrumbs_1.CurrentLabel

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. lcsBreadcrumbs appears with all its properties.
  5. On a screen, insert it from Insert > Custom > lcsBreadcrumbs.

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 November 2, 2026
  • Version 0.1.0

Properties (20)

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

Inputs
PropertyKindTypeDefault
Items

The trail, root first, as a table with Key and Label columns, such as Table({Key: "home", Label: "Home"}, {Key: "orders", Label: "Orders"}). The last row is the current level.

InputTableTable({Key: "home", Label: "Home"}, {Key: "projects", Label: "Projects"}, {Key: "atlas", Label: "Atlas rollout"}, {Key: "tasks", Label: "Tasks"})
MaxVisible

How many levels show before the middle collapses behind a Show all button: the first level, then the last ones. 0 never collapses. At most 8 levels show at a time, so a longer trail always collapses.

InputNumber4
MaxLevelWidth

The widest a level can be. Each level is as wide as its label; a longer label is cut, and the full label stays in its tooltip and its accessible name.

InputNumber220
SeparatorText

Text between levels, such as / or ›. Empty draws a chevron.

InputText""
ShowHomeIcon

Shows a home icon before the first level's label.

InputBooleanfalse
CurrentIsLink

Lets the current level be selected too, such as to reload it. Off, it's text and screen readers hear current page.

InputBooleanfalse

Guide

Use lcsBreadcrumbs wherever people go more than one level deep: a project, then its phase, then a task; a folder tree; a category, then a product. Canvas apps have no breadcrumb control, and the usual substitute is a label with the path in it, which can't be selected, isn't announced as navigation, and grows past the screen's edge on the fifth level. This component is the trail done properly:

  • Levels from a table of Key and Label, root first; the last row is where the person is now;
  • Every level but the current one is a real button, named "Projects, level 2 of 4" for a screen reader; the current level reads "current page";
  • Long trails collapse: past MaxVisible levels, the middle folds behind a "…" button that reads "Show all 6 levels";
  • OnNavigate(Key, Label, Level) when a level is selected, GoUp() for a Back button, CurrentLabel and ParentKey for the rest of the screen;
  • A chevron between levels, or any text you give SeparatorText; an optional home icon; your accent colour on the levels you can select.

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

No comments yet. Share how you used it, or ask something.

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