Skip to content
Welcome to our documentation!

Controls | Getting Started

A rich, ready-to-use UI controls library for both .NET MAUI and Blazor. One package per host covers TableView, Scheduler, BottomSheet, Fab/FabMenu, PillView, SecurityPin, and ImageViewer. Markdown and Mermaid Diagrams are available as separate add-on packages for each host.

  • GitHub stars for shinyorg/controls
  • NuGet downloads for Shiny.Maui.Controls
  • NuGet downloads for Shiny.Blazor.Controls
Frameworks
.NET MAUI
Blazor
ControlDescription
TableViewSettings-style table with 14 cell types, cascading styles, drag-to-sort, sections, and full MVVM support
SchedulerCalendar grid, agenda timeline, and event list views with a shared ISchedulerEventProvider interface
BottomSheetDraggable bottom sheet overlay with configurable snap points (detents), backdrop, and keyboard handling
Fab & FabMenuMaterial-style floating action button and expanding multi-action menu with staggered animations, backdrop, and full color customization
PillViewStatus badge/label with 6 preset themes, custom colors, and WCAG-accessible contrast
SecurityPinPIN entry with individually rendered cells, optional character masking, and full styling control
ImageViewerFull-screen image overlay with pinch-to-zoom, pan, double-tap zoom, and animated transitions
MarkdownRead-only markdown renderer and full editor with formatting toolbar and live preview (separate package)
Mermaid DiagramsNative Mermaid flowchart rendering with Sugiyama layout, themes, and pan/zoom (separate package)
Shiny.Maui.ControlsNuGet package Shiny.Maui.Controls

Add the XAML namespace to your pages:

xmlns:shiny="http://shiny.net/maui/controls"

For Markdown controls (separate package: Shiny.Maui.Controls.Markdown):

xmlns:md="http://shiny.net/maui/markdown"

For Mermaid Diagrams (separate package: Shiny.Maui.Controls.MermaidDiagrams):

xmlns:diagram="http://shiny.net/maui/diagrams"

Install Shiny.Blazor.Controls (plus Shiny.Blazor.Controls.Markdown or Shiny.Blazor.Controls.MermaidDiagrams as needed) and add the @using directives — typically in _Imports.razor:

@using Shiny.Blazor.Controls
@using Shiny.Blazor.Controls.Cells
@using Shiny.Blazor.Controls.Sections
@using Shiny.Blazor.Controls.Scheduler
@using Shiny.Blazor.Controls.Markdown
@using Shiny.Blazor.Controls.MermaidDiagrams

No DI registration is required — drop the components into any .razor page.

claude plugin marketplace add shinyorg/skills
claude plugin install shiny-controls@shiny

Coming soon — Copilot plugin install instructions will be added here.

View shiny-controls Plugin