LowCodeStacks™
Sign in

NewPower Apps · canvas componentButtons and actions✓ Tested in StudioMIT License

Button

A modern button in four looks, in your brand colour, light or dark. A busy state stops double clicks, and select-again-to-confirm guards actions that can't be undone.

Name in Studio
lcsButton
Version
0.3.1
Properties
10 inputs · 2 outputs · 1 input function · 1 output function · 1 event · 1 action
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.

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.

  • lcsButton_1.OnClick = Notify("Clicked " & Count & If(Count = 1, " time", " times"), NotificationType.Success)

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

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 (16)

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

Inputs
PropertyKindTypeDefault
Label

The button's text.

InputText"Save"
Appearance

Primary, Secondary, Outline or Subtle.

InputText"Primary"
IconName

A Fluent icon name, such as Checkmark. Leave empty for no icon.

InputText""
IsBusy

While true, the button is disabled and says it's working.

InputBooleanfalse
AccentColor

Your brand colour. Primary buttons use it, and their hover and pressed colours are worked out from it.

InputColorRGBA(15, 108, 189, 1)
Theme

Light, or Dark for a dark screen: text and borders turn light, Secondary is drawn as Outline and Subtle as Transparent.

InputText"Light"

Guide

Use lcsButton wherever people start an action: Save, Submit, Export, Edit. Compared with a plain button, it gives you:

  • Four looks from one input, Appearance: Primary, Secondary, Outline and Subtle.
  • Your brand colour from one input, AccentColor. Hover and pressed colours are worked out from it, so any colour looks right.
  • Light or dark. Set Theme to "Dark" on a dark screen: text and borders turn light.
  • Select again to confirm. Set RequireConfirm to true for actions that can't be undone. The first select turns the button red and says "Select again"; OnClick runs only if it's selected again within ConfirmSeconds, otherwise it goes back to normal. No dialog to build.
  • A busy state. Set IsBusy to true while a Patch or flow runs. The button is disabled and says "Working…", so nobody submits twice.
  • A click count (ClickCount) and an OnClick event that receives it.
  • Your own label format through FormatLabel, and a ResetCount() action.

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! One tip first: the select-again-to-confirm wait runs on a timer, and Power Apps Studio only runs timers in preview (F5). Test it there; in the published app it always runs.

    Which look are you using (Primary, Secondary, Outline or Subtle), and in which brand colour? If the paste fails or something behaves differently in your Studio version, tell us here with the version number.

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