Skip to content

15 - Control catalogue ​

Every control Type the Canvas engine can build, which -Properties keys it actually reads, and the cmdlet that emits it. Generated from Launcher\Designer\catalog.json - do not edit by hand; run Launcher\Designer\Tools\Extract-CanvasCatalog.ps1 then Build-CanvasCatalog.ps1.

Why this exists: a key the factory does not read is accepted and ignored, not rejected. ImageWidth on an Image rendered the icon at full bleed; -Padding on a stack rendered a blank page. This table is the ground truth the engine-side [unused property] warning checks against.

Keys every control honours ​

GroupKeys
StyleBackground FontFamily FontSize FontWeight Foreground HAlign HorizontalAlignment Margin Opacity VAlign VerticalAlignment
GlowFill Foreground Glow GlowPulse GlowRadius
Geometry (top-level fields, not Properties)X Y Width Height ZIndex
Container-onlyBackground BackgroundImage BackgroundOpacity BackgroundStretch Columns ColumnWidths CornerRadius HoverBackground Layout Padding Scroll SelectedIndex Stagger Stretch StretchDirection
Read off a CHILD by its parent (Grid/Dock)Column ColumnSpan Dock Row RowSpan

Layouts (case-insensitive; anything else falls back to absolute Canvas): dock, grid, horizontal, hstack, stack, vertical, vstack, wrap. Dock is valid on Add-UICanvasPage only - Add-UICanvasPanel -Layout Dock fails its ValidateSet.

Container ​

GridSplitter ​

Draggable divider; must occupy its own Grid cell between two panes.

Cmdlet: Add-UICanvasGridSplitter

powershell
Add-UICanvasGridSplitter -Orientation Vertical
PropertyTypeValues
BackgroundString
OrientationStringVertical | Horizontal
ThicknessDouble

* = a cmdlet parameter the module folds into the bag; the factory reads it under another path.

Panel ​

Generic container. -Layout picks Canvas (absolute X/Y) or a flow layout. NOTE: Dock is a PAGE layout and is rejected here; -Padding on a stack layout has rendered pages blank - inset with child Margins instead.

Cmdlet: Add-UICanvasPanel - container

powershell
Add-UICanvasPanel -Layout VStack -Spacing 8 -Children { Add-UICanvasLabel 'Inside' }
PropertyTypeValues
BackgroundString
BackgroundImageString
BackgroundOpacityString
BackgroundStretchString
ColumnsInt32
ColumnWidthsString
CornerRadiusDouble
HoverBackgroundString
HoverScaleString
HoverScaleMsString
LayoutStringCanvas | Stack | VStack | HStack | Grid | Wrap
PaddingDouble
ScrollString
SelectedIndexString
StaggerString
StretchString
StretchDirectionString
Spacing *Double

* = a cmdlet parameter the module folds into the bag; the factory reads it under another path.

Card ​

Panel with card chrome (background, radius, shadow). -Action makes the whole card clickable.

Cmdlet: Add-UICanvasCard - container

powershell
Add-UICanvasCard -Layout VStack -Spacing 8 -Children { Add-UICanvasLabel 'Card' }
PropertyTypeValues
BackgroundString
BackgroundImageString
BackgroundOpacityString
BackgroundStretchString
ColumnsInt32
ColumnWidthsString
CornerRadiusDouble
HoverBackgroundString
HoverScaleString
HoverScaleMsString
LayoutStringCanvas | Stack | VStack | HStack | Grid | Wrap
PaddingDouble
ScrollString
SelectedIndexString
StaggerString
StretchString
StretchDirectionString
Spacing *Double

* = a cmdlet parameter the module folds into the bag; the factory reads it under another path.

Group ​

Engine spelling of a plain Panel. No cmdlet emits it; Add-UICanvasControl -Type Group reaches it.

PropertyTypeValues
BackgroundString
BackgroundImageString
BackgroundOpacityString
BackgroundStretchString
ColumnsString
ColumnWidthsString
CornerRadiusString
HoverBackgroundString
HoverScaleString
HoverScaleMsString
LayoutString
PaddingString
ScrollString
SelectedIndexString
StaggerString
StretchString
StretchDirectionString

* = a cmdlet parameter the module folds into the bag; the factory reads it under another path.

ControlGroup ​

Engine spelling of a Card (gets card chrome). No cmdlet emits it; prefer Add-UICanvasCard.

PropertyTypeValues
BackgroundString
BackgroundImageString
BackgroundOpacityString
BackgroundStretchString
ColumnsString
ColumnWidthsString
CornerRadiusString
HoverBackgroundString
HoverScaleString
HoverScaleMsString
LayoutString
PaddingString
ScrollString
SelectedIndexString
StaggerString
StretchString
StretchDirectionString

* = a cmdlet parameter the module folds into the bag; the factory reads it under another path.

Expander ​

Collapsible section.

Cmdlet: Add-UICanvasExpander - container

powershell
Add-UICanvasExpander -Label 'More' -IsExpanded $false -Children { Add-UICanvasLabel 'Hidden' }
PropertyTypeValues
BackgroundString
BackgroundImageString
BackgroundOpacityString
BackgroundStretchString
ColumnsString
ColumnWidthsString
CornerRadiusDouble
HoverBackgroundString
LayoutString
PaddingString
ScrollString
SelectedIndexString
StaggerString
StretchString
StretchDirectionString
IsExpanded *Boolean

* = a cmdlet parameter the module folds into the bag; the factory reads it under another path.

CardExpander ​

Engine type 'CardExpander'. No authoring cmdlet emits it directly.

PropertyTypeValues
BackgroundString
BackgroundImageString
BackgroundOpacityString
BackgroundStretchString
ColumnsString
ColumnWidthsString
CornerRadiusString
HoverBackgroundString
LayoutString
PaddingString
ScrollString
SelectedIndexString
StaggerString
StretchString
StretchDirectionString

* = a cmdlet parameter the module folds into the bag; the factory reads it under another path.

Stack ​

Engine type 'Stack'. No authoring cmdlet emits it directly.

PropertyTypeValues
BackgroundString
BackgroundImageString
BackgroundOpacityString
BackgroundStretchString
ColumnsString
ColumnWidthsString
CornerRadiusString
HoverBackgroundString
LayoutString
PaddingString
ScrollString
SelectedIndexString
StaggerString
StretchString
StretchDirectionString

* = a cmdlet parameter the module folds into the bag; the factory reads it under another path.

VStack ​

Engine type 'VStack'. No authoring cmdlet emits it directly.

PropertyTypeValues
BackgroundString
BackgroundImageString
BackgroundOpacityString
BackgroundStretchString
ColumnsString
ColumnWidthsString
CornerRadiusString
HoverBackgroundString
LayoutString
PaddingString
ScrollString
SelectedIndexString
StaggerString
StretchString
StretchDirectionString

* = a cmdlet parameter the module folds into the bag; the factory reads it under another path.

HStack ​

Engine type 'HStack'. No authoring cmdlet emits it directly.

PropertyTypeValues
BackgroundString
BackgroundImageString
BackgroundOpacityString
BackgroundStretchString
ColumnsString
ColumnWidthsString
CornerRadiusString
HoverBackgroundString
LayoutString
PaddingString
ScrollString
SelectedIndexString
StaggerString
StretchString
StretchDirectionString

* = a cmdlet parameter the module folds into the bag; the factory reads it under another path.

Grid ​

Engine type 'Grid'. No authoring cmdlet emits it directly.

PropertyTypeValues
BackgroundString
BackgroundImageString
BackgroundOpacityString
BackgroundStretchString
ColumnsString
ColumnWidthsString
CornerRadiusString
HoverBackgroundString
LayoutString
PaddingString
ScrollString
SelectedIndexString
StaggerString
StretchString
StretchDirectionString

* = a cmdlet parameter the module folds into the bag; the factory reads it under another path.

Wrap ​

Engine type 'Wrap'. No authoring cmdlet emits it directly.

PropertyTypeValues
BackgroundString
BackgroundImageString
BackgroundOpacityString
BackgroundStretchString
ColumnsString
ColumnWidthsString
CornerRadiusString
HoverBackgroundString
LayoutString
PaddingString
ScrollString
SelectedIndexString
StaggerString
StretchString
StretchDirectionString

* = a cmdlet parameter the module folds into the bag; the factory reads it under another path.

Dock ​

Engine type 'Dock'. No authoring cmdlet emits it directly.

PropertyTypeValues
BackgroundString
BackgroundImageString
BackgroundOpacityString
BackgroundStretchString
ColumnsString
ColumnWidthsString
CornerRadiusString
HoverBackgroundString
LayoutString
PaddingString
ScrollString
SelectedIndexString
StaggerString
StretchString
StretchDirectionString

* = a cmdlet parameter the module folds into the bag; the factory reads it under another path.

Tabs ​

Tab strip; children must be Add-UICanvasTab. Value is the selected index.

Cmdlet: Add-UICanvasTabs - container

powershell
Add-UICanvasTabs -Name tabs1 -Children { Add-UICanvasTab 'One' -Children { Add-UICanvasLabel 'A' }; Add-UICanvasTab 'Two' -Children { Add-UICanvasLabel 'B' } }
PropertyTypeValues
BackgroundString
BackgroundImageString
BackgroundOpacityString
BackgroundStretchString
ColumnsString
ColumnWidthsString
CornerRadiusString
HoverBackgroundString
LayoutString
PaddingString
ScrollString
SelectedIndexInt32
StaggerString
StretchString
StretchDirectionString

* = a cmdlet parameter the module folds into the bag; the factory reads it under another path.

TabControl ​

Engine type 'TabControl'. No authoring cmdlet emits it directly.

PropertyTypeValues
BackgroundString
BackgroundImageString
BackgroundOpacityString
BackgroundStretchString
ColumnsString
ColumnWidthsString
CornerRadiusString
HoverBackgroundString
LayoutString
PaddingString
ScrollString
SelectedIndexString
StaggerString
StretchString
StretchDirectionString

* = a cmdlet parameter the module folds into the bag; the factory reads it under another path.

Tab ​

One page of a Tabs control. Only valid inside Add-UICanvasTabs.

Cmdlet: Add-UICanvasTab - container

powershell
Add-UICanvasTab 'Tab' -Children { Add-UICanvasLabel 'content' }
PropertyTypeValues
BackgroundString
BackgroundImageString
BackgroundOpacityString
BackgroundStretchString
ColumnsInt32
ColumnWidthsString
CornerRadiusString
HoverBackgroundString
LayoutStringVStack | HStack | Grid | Wrap | Canvas
PaddingObject
ScrollString
SelectedIndexString
StaggerString
StretchString
StretchDirectionString
Spacing *Double
Disabled *SwitchParameter

* = a cmdlet parameter the module folds into the bag; the factory reads it under another path.

TabItem ​

Engine type 'TabItem'. No authoring cmdlet emits it directly.

PropertyTypeValues
BackgroundString
BackgroundImageString
BackgroundOpacityString
BackgroundStretchString
ColumnsString
ColumnWidthsString
CornerRadiusString
HoverBackgroundString
LayoutString
PaddingString
ScrollString
SelectedIndexString
StaggerString
StretchString
StretchDirectionString

* = a cmdlet parameter the module folds into the bag; the factory reads it under another path.

Viewbox ​

Scales its single child to fit.

Cmdlet: Add-UICanvasViewbox - container

powershell
Add-UICanvasViewbox -Stretch Uniform -Children { Add-UICanvasLabel 'Scaled' -FontSize 40 }
PropertyTypeValues
BackgroundString
BackgroundImageString
BackgroundOpacityString
BackgroundStretchString
ColumnsString
ColumnWidthsString
CornerRadiusString
HoverBackgroundString
LayoutStringVStack | HStack | Grid | Wrap | Canvas
PaddingString
ScrollString
SelectedIndexString
StaggerString
StretchStringUniform | Fill | UniformToFill | None
StretchDirectionStringBoth | UpOnly | DownOnly
Spacing *Double

* = a cmdlet parameter the module folds into the bag; the factory reads it under another path.

Display ​

Label (also TextBlock) ​

Static or refreshing text. -Label { } with -Refresh re-evaluates on a timer; Selectable renders a read-only TextBox so log text can be copied.

Cmdlet: Add-UICanvasLabel

powershell
Add-UICanvasLabel 'Label' -Name lbl1
PropertyTypeValues
FontSizeDouble
FontWeightString
ForegroundString
SelectableString
Bind *String
Clock *String
ClockStop *String

* = a cmdlet parameter the module folds into the bag; the factory reads it under another path.

Icon (also FontIcon) ​

A glyph by name or MDL2 code point, or a PNG path.

Cmdlet: Add-UICanvasIcon

powershell
Add-UICanvasIcon 'info' -FontSize 20
PropertyTypeValues
FontSizeDouble
ForegroundString
HeightDouble
IconString
WidthDouble

* = a cmdlet parameter the module folds into the bag; the factory reads it under another path.

Badge (also Pill, Tag) ​

Small status pill.

Cmdlet: Add-UICanvasBadge

powershell
Add-UICanvasBadge 'Ready' -Severity Success
PropertyTypeValues
BackgroundString
FontSizeDouble
ForegroundString
IconString
SeverityStringNeutral | Info | Success | Warning | Error
StyleString

* = a cmdlet parameter the module folds into the bag; the factory reads it under another path.

Markdown ​

Rendered markdown from -Text or -Path.

Cmdlet: Add-UICanvasMarkdown

powershell
Add-UICanvasMarkdown -Text '# Title'
PropertyTypeValues
PathString
TextString

* = a cmdlet parameter the module folds into the bag; the factory reads it under another path.

Image ​

Raster image from a path. Size it with -Width/-Height: the ImageWidth property is read only by Banner and is ignored here.

Cmdlet: Add-UICanvasImage

powershell
Add-UICanvasImage -Source 'C:\path\logo.png' -Width 64 -Height 64
PropertyTypeValues
StretchString

* = a cmdlet parameter the module folds into the bag; the factory reads it under another path.

Opens http/https/mailto/file URIs only.

Cmdlet: Add-UICanvasHyperlink

powershell
Add-UICanvasHyperlink 'Docs' -NavigateUri 'https://example.com'
PropertyTypeValues
ForegroundString
GlowString
GlowRadiusString
HoverForegroundString
HoverGlowString
NavigateUriString
UnderlineString

* = a cmdlet parameter the module folds into the bag; the factory reads it under another path.

Separator ​

Horizontal rule.

Cmdlet: Add-UICanvasSeparator

powershell
Add-UICanvasSeparator

Reads no type-specific properties; the universal keys above still apply.

Prominent header strip with optional icon and hero image.

Cmdlet: Add-UICanvasBanner

powershell
Add-UICanvasBanner 'Heading' -Severity Informational
PropertyTypeValues
IconString
IconSizeString
ImageString
ImageWidthString
SeverityStringInformational | Success | Warning | Error

* = a cmdlet parameter the module folds into the bag; the factory reads it under another path.

Input ​

TextBox ​

Single-line input. Value comes back in the result under -Name.

Cmdlet: Add-UICanvasTextBox

powershell
Add-UICanvasTextBox -Name text1 -Placeholder 'Type here'
PropertyTypeValues
PlaceholderString
Bind *String

* = a cmdlet parameter the module folds into the bag; the factory reads it under another path.

MultiLine ​

Multi-line text input.

Cmdlet: Add-UICanvasMultiLine

powershell
Add-UICanvasMultiLine -Name notes1 -Placeholder 'Notes'
PropertyTypeValues
PlaceholderString
Bind *String

* = a cmdlet parameter the module folds into the bag; the factory reads it under another path.

RichEdit ​

Emitted by Add-UICanvasRichEdit.

Cmdlet: Add-UICanvasRichEdit

powershell
Add-UICanvasRichEdit -Name richedit1
PropertyTypeValues
PlaceholderString
Bind *String

* = a cmdlet parameter the module folds into the bag; the factory reads it under another path.

Password ​

Masked input. Returned as SecureString; DPAPI-protected in the result file. No -Value, no -OnChange by design.

Cmdlet: Add-UICanvasPassword

powershell
Add-UICanvasPassword -Name pwd1 -Placeholder 'Password'
PropertyTypeValues
Placeholder *String

* = a cmdlet parameter the module folds into the bag; the factory reads it under another path.

Numeric ​

Numeric spinner. Emitted by Add-UICanvasNumber; Minimum/Maximum/Step live in Properties.

Cmdlet: Add-UICanvasNumber

powershell
Add-UICanvasNumber -Name num1 -Value 1 -Minimum 0 -Maximum 100
PropertyTypeValues
MaximumDouble
MinimumDouble
StepString
Bind *String

* = a cmdlet parameter the module folds into the bag; the factory reads it under another path.

NumberBox ​

Emitted by Add-UICanvasNumberBox.

Cmdlet: Add-UICanvasNumberBox

powershell
Add-UICanvasNumberBox -Name numberbox1
PropertyTypeValues
MaximumDouble
MinimumDouble
StepDouble
Bind *String

* = a cmdlet parameter the module folds into the bag; the factory reads it under another path.

Single-select list. -DependsOn + -OptionsScript make it cascade from other fields.

Cmdlet: Add-UICanvasDropdown

powershell
Add-UICanvasDropdown -Name pick1 -Choices @('One','Two','Three') -Value 'One'
PropertyTypeValues
ItemIconsString[]
Bind *String
DependsOn *String[]
OptionsScript *ScriptBlock

* = a cmdlet parameter the module folds into the bag; the factory reads it under another path.

ListBox ​

Visible list of choices.

Cmdlet: Add-UICanvasListBox

powershell
Add-UICanvasListBox -Name list1 -Choices @('A','B','C')
PropertyTypeValues
ItemIconsString[]
Bind *String
DependsOn *String[]
OptionsScript *ScriptBlock

* = a cmdlet parameter the module folds into the bag; the factory reads it under another path.

RadioGroup ​

Mutually exclusive choices as radio buttons.

Cmdlet: Add-UICanvasRadioGroup

powershell
Add-UICanvasRadioGroup -Name radio1 -Choices @('Yes','No') -Value 'Yes'
PropertyTypeValues
OrientationStringVertical | Horizontal
Bind *String

* = a cmdlet parameter the module folds into the bag; the factory reads it under another path.

Checkbox ​

Boolean with a label.

Cmdlet: Add-UICanvasCheckbox

powershell
Add-UICanvasCheckbox 'Enable' -Name chk1 -Value $true
PropertyTypeValues
IconString
Bind *String

* = a cmdlet parameter the module folds into the bag; the factory reads it under another path.

CheckBox ​

Boolean with a label.

Cmdlet: Add-UICanvasCheckbox

powershell
Add-UICanvasCheckbox 'Enable' -Name chk1 -Value $true
PropertyTypeValues
IconString
Bind *String

* = a cmdlet parameter the module folds into the bag; the factory reads it under another path.

Toggle (also ToggleSwitch) ​

Boolean as a switch.

Cmdlet: Add-UICanvasToggle

powershell
Add-UICanvasToggle -Name tgl1 -Value $false
PropertyTypeValues
Bind *String

* = a cmdlet parameter the module folds into the bag; the factory reads it under another path.

Rating ​

Emitted by Add-UICanvasRating.

Cmdlet: Add-UICanvasRating

powershell
Add-UICanvasRating -Name rating1
PropertyTypeValues
FontSizeDouble
MaxInt32

* = a cmdlet parameter the module folds into the bag; the factory reads it under another path.

ColorPicker ​

Emitted by Add-UICanvasColorPicker.

Cmdlet: Add-UICanvasColorPicker

powershell
Add-UICanvasColorPicker -Name colorpicker1

Reads no type-specific properties; the universal keys above still apply.

TimePicker ​

Emitted by Add-UICanvasTimePicker.

Cmdlet: Add-UICanvasTimePicker

powershell
Add-UICanvasTimePicker -Name timepicker1
PropertyTypeValues
StepMinutesInt32

* = a cmdlet parameter the module folds into the bag; the factory reads it under another path.

Slider ​

Ranged value.

Cmdlet: Add-UICanvasSlider

powershell
Add-UICanvasSlider -Name sld1 -Minimum 0 -Maximum 100 -Value 50
PropertyTypeValues
MaximumDouble
MinimumDouble
StepDouble
Bind *String

* = a cmdlet parameter the module folds into the bag; the factory reads it under another path.

AutoSuggest ​

Emitted by Add-UICanvasAutoSuggest.

Cmdlet: Add-UICanvasAutoSuggest

powershell
Add-UICanvasAutoSuggest -Name autosuggest1
PropertyTypeValues
Bind *String

* = a cmdlet parameter the module folds into the bag; the factory reads it under another path.

DatePicker (also CalendarView) ​

Date input.

Cmdlet: Add-UICanvasDatePicker

powershell
Add-UICanvasDatePicker -Name date1
PropertyTypeValues
Bind *String

* = a cmdlet parameter the module folds into the bag; the factory reads it under another path.

Action ​

Button ​

Runs an -Action scriptblock in the app runspace. -NavigateTo is sugar for Show-UICanvasPage.

Cmdlet: Add-UICanvasButton

powershell
Add-UICanvasButton 'Button' -Name btn1 -Style Accent -Action { Show-UICanvasToast -Message 'clicked' }
PropertyTypeValues
ContentAlignString
GradientFromString
GradientToString
IconString
StyleStringStandard | Secondary | Accent | Primary | Subtle | Gradient
NavigateTo *String

* = a cmdlet parameter the module folds into the bag; the factory reads it under another path.

Menu bar from nested @{Text; Items; Action} hashtables.

PropertyTypeValues
BackgroundString
ItemsJsonString

* = a cmdlet parameter the module folds into the bag; the factory reads it under another path.

Toolbar ​

Docked app toolbar with brand, links and actions. Links become hidden Event controls with generated names.

PropertyTypeValues
ActionsJsonString
ActiveString
BackgroundString
BarHeightString
BrandString
BrandIconString
LinksJsonString
StatusString

* = a cmdlet parameter the module folds into the bag; the factory reads it under another path.

Docked status/footer strip.

PropertyTypeValues
LeftTextString
LinksJsonString

* = a cmdlet parameter the module folds into the bag; the factory reads it under another path.

Emitted by Add-UICanvasDropDownButton.

Cmdlet: Add-UICanvasDropDownButton

powershell
Add-UICanvasDropDownButton 'DropDownButton' -Name dropdownbutton1

Reads no type-specific properties; the universal keys above still apply.

Data ​

ProgressBar ​

Bound or static progress. -Glow/-GlowPulse for a live indicator.

Cmdlet: Add-UICanvasProgressBar

powershell
Add-UICanvasProgressBar -Name prog1 -Value 40 -Glow $true
PropertyTypeValues
FillString
ForegroundString
GlowObject
GlowPulseSwitchParameter
GlowRadiusDouble
MaximumDouble
MinimumDouble
Bind *String

* = a cmdlet parameter the module folds into the bag; the factory reads it under another path.

Console ​

Monospace output pane; append with Set-UICanvasProperty <name> AppendLine.

Cmdlet: Add-UICanvasConsole

powershell
Add-UICanvasConsole -Name log1 -Height 160
PropertyTypeValues
Bind *String

* = a cmdlet parameter the module folds into the bag; the factory reads it under another path.

Workflow ​

Engine-native step runner (Add-UICanvasWorkflow -Engine). Steps carry retry/timeout/skip; runner publishes <wf>_status/_pct.

Cmdlet: Add-UICanvasWorkflow

PropertyTypeValues
StepsJsonString
TitleString
Engine *SwitchParameter
StartLabel *String
StartIcon *String
ShowLog *SwitchParameter
AutoStart *SwitchParameter
LockNavigation *SwitchParameter
LockOnStart *SwitchParameter
StepsHeight *Int32
Compact *SwitchParameter
NoStartButton *SwitchParameter
NoHeader *SwitchParameter
StateFile *String

* = a cmdlet parameter the module folds into the bag; the factory reads it under another path.

DataGrid ​

Tabular data. Pass rows with -Items (serialised to ItemsJson) or bind with -BindItems.

Cmdlet: Add-UICanvasDataGrid

powershell
Add-UICanvasDataGrid -Name grid1 -Columns @('Name','Status') -Items @(@{Name='a';Status='ok'})
PropertyTypeValues
ColumnsString[]
ItemsJsonString
Items *Object[]
BindItems *String

* = a cmdlet parameter the module folds into the bag; the factory reads it under another path.

TreeView ​

Hierarchical nodes via -Nodes.

Cmdlet: Add-UICanvasTreeView

powershell
Add-UICanvasTreeView -Name tree1 -Nodes @(@{Text='Root';Children=@(@{Text='Child'})})
PropertyTypeValues
NodesJsonString
Nodes *Object[]

* = a cmdlet parameter the module folds into the bag; the factory reads it under another path.

ProgressRing ​

Indeterminate spinner.

Cmdlet: Add-UICanvasProgressRing

powershell
Add-UICanvasProgressRing
PropertyTypeValues
ForegroundString
ThicknessDouble

* = a cmdlet parameter the module folds into the bag; the factory reads it under another path.

MetricCard ​

Dashboard KPI tile with trend.

Cmdlet: Add-UICanvasMetricCard

powershell
Add-UICanvasMetricCard 'Servers' -Value 12 -Trend Up -Delta '+2'
PropertyTypeValues
CornerRadiusString
FillString
StrokeString
StrokeThicknessString
Caption *String
Trend *StringUp | Down | Stable
Delta *String
Background *String
Foreground *String
FontSize *Double

* = a cmdlet parameter the module folds into the bag; the factory reads it under another path.

StatusCard ​

List of 'Label|State' rows.

Cmdlet: Add-UICanvasStatusCard

powershell
Add-UICanvasStatusCard -Title 'Services' -Items @('Web|ok','DB|warn')
PropertyTypeValues
CornerRadiusString
FillString
StrokeString
StrokeThicknessString
Title *String
Items *String[]
Background *String

* = a cmdlet parameter the module folds into the bag; the factory reads it under another path.

TableCard ​

Small table inside a card.

Cmdlet: Add-UICanvasTableCard

powershell
Add-UICanvasTableCard -Title 'Summary' -Columns @('K','V') -Rows @(@('a','1'))
PropertyTypeValues
CornerRadiusString
FillString
StrokeString
StrokeThicknessString
Title *String
Columns *String[]
Rows *Object[]
Background *String

* = a cmdlet parameter the module folds into the bag; the factory reads it under another path.

ChartCard ​

Bar/Line/Area/Donut/Sparkline. Donut renders a total plus a legend - use a XAML ring for a single reading.

Cmdlet: Add-UICanvasChartCard

powershell
Add-UICanvasChartCard -Title 'Trend' -Type Line -Labels @('a','b','c') -Values @(1,3,2)
PropertyTypeValues
CornerRadiusString
FillString
StrokeString
StrokeThicknessString
Title *String
Labels *String[]
Values *Double[]
Series *String
Type *StringBar | Line | Area | Donut | Sparkline
Datasets *Object[]
Spline *SwitchParameter
Bind *String
Background *String
Foreground *String
ChartHeight *Double

* = a cmdlet parameter the module folds into the bag; the factory reads it under another path.

Shape ​

Rectangle ​

Filled/stroked rectangle. Canvas-layout pages only for X/Y.

Cmdlet: Add-UICanvasRectangle

powershell
Add-UICanvasRectangle -X 0 -Y 0 -Width 120 -Height 40 -Fill '#1F3864'
PropertyTypeValues
CornerRadiusDouble
FillString
StrokeString
StrokeThicknessDouble

* = a cmdlet parameter the module folds into the bag; the factory reads it under another path.

Ellipse ​

Filled/stroked ellipse.

Cmdlet: Add-UICanvasEllipse

powershell
Add-UICanvasEllipse -X 0 -Y 0 -Width 60 -Height 60 -Fill '#2FD4E6'
PropertyTypeValues
FillString
StrokeString
StrokeThicknessDouble

* = a cmdlet parameter the module folds into the bag; the factory reads it under another path.

Line ​

Line from X,Y to X2,Y2.

Cmdlet: Add-UICanvasLine

powershell
Add-UICanvasLine -X 0 -Y 0 -X2 120 -Y2 0 -Stroke '#94A3B8'
PropertyTypeValues
StrokeString
StrokeThicknessDouble
X2Double
Y2Double

* = a cmdlet parameter the module folds into the bag; the factory reads it under another path.

Escape ​

Xaml ​

Raw WPF markup island. {DynamicResource PrimaryBrush} etc. resolve; x:Name'd controls run PowerShell via -Actions. The designer treats the markup as opaque.

Cmdlet: Add-UICanvasXaml

powershell
Add-UICanvasXaml -Name island1 -Markup '<Border Width="120" Height="40" Background="{DynamicResource CardBackgroundBrush}"/>'
PropertyTypeValues
MarkupString
PathString
Actions *Hashtable

* = a cmdlet parameter the module folds into the bag; the factory reads it under another path.

Logic ​

Shortcut ​

Keyboard gesture bound to an action. No visual.

Cmdlet: Add-UICanvasShortcut - no visual

powershell
Add-UICanvasShortcut 'Ctrl+S' -Action { Show-UICanvasToast -Message 'saved' }
PropertyTypeValues
Key *String

* = a cmdlet parameter the module folds into the bag; the factory reads it under another path.

StateInit ​

Seeds the reactive state store (New-UICanvasState). No visual.

Cmdlet: New-UICanvasState - no visual

powershell
New-UICanvasState @{ counter = 0 }
PropertyTypeValues
State *Hashtable

* = a cmdlet parameter the module folds into the bag; the factory reads it under another path.

StateWatcher ​

Runs an action when a state key changes (Watch-UICanvasState). No visual.

powershell
Watch-UICanvasState -Key counter -Action { }

Reads no type-specific properties; the universal keys above still apply.

Event ​

A named action fired by toolbar/footer/menu links. Synthesised by those cmdlets; not authored directly.

Cmdlet: Add-UICanvasToolbar - no visual

PropertyTypeValues
Brand *String
BrandIcon *String
Status *String
Links *String[]
Active *String
Actions *Object[]

* = a cmdlet parameter the module folds into the bag; the factory reads it under another path.

WindowTemplate ​

Carries a secondary window's content (New-UICanvasWindow). Opened with Show-UICanvasWindow.

Cmdlet: New-UICanvasWindow - no visual

powershell
New-UICanvasWindow -Name dlg1 -Title 'Dialog' -Content { Add-UICanvasLabel 'Hello' }
PropertyTypeValues
Title *String
Modal *SwitchParameter
Resizable *Boolean
Topmost *SwitchParameter
MinWidth *Double
MinHeight *Double
Icon *String
Position *StringCenterOwner | CenterScreen | Manual
NoScroll *SwitchParameter
HideTitleBar *SwitchParameter
TitleBarColor *String
TitleBarText *String
Layout *StringCanvas | Stack | VStack | HStack | Grid | Wrap
Columns *Int32
Spacing *Double
Padding *Double
Content *ScriptBlock

* = a cmdlet parameter the module folds into the bag; the factory reads it under another path.