Goal: Build the components and tooling needed for a Tailwind-first Blazor design system.
.NET 8, 9 and 10 · Tailwind CSS 4.3.2
ComponentRegistry is the source of truth for component availability, names, and dependencies. The current registry contains 254 entries:
- 98 direct CLI targets shown by
shellui list - 156 hidden entries for sub-components, variants, models, services, and support assets
- Packable projects:
ShellUI.CLIandShellUI.Components
Hidden entries are not counted as direct targets. They can still be installed recursively when a parent target declares them.
The following categories describe the direct targets in the current registry, not a promise about future scope.
- Form (27): Button, ButtonGroup, ChatInput, Checkbox, Combobox, DataPicker, DatePicker, DateRangePicker, Field, FileUpload, Form, Input, InputGroup, InputOTP, Label, MultiSelect, NumberInput, RadioGroup, Select, Slider, Switch, TagInput, Textarea, TimePicker, Toggle, ToggleGroup, TypedSelect
- Layout (16): Accordion, AspectRatio, AuthLayout01, AuthLayout02, AuthLayout03, Breadcrumb, Card, Collapsible, DashboardLayout01, DashboardLayout02, LinkCard, Navbar, Resizable, ScrollArea, Separator, Sidebar
- Feedback (9): Alert, Callout, EmptyState, Loading, Progress, Skeleton, Sonner, Toast, Tooltip
- Overlay (9): AlertDialog, Command, CommandPalette, Dialog, Drawer, Dropdown, HoverCard, Popover, Sheet
- Navigation (8): ContextMenu, Menubar, NavigationMenu, Pagination, PrevNextNav, Stepper, Tabs, TreeView
- Data Display (25): AreaChart, Avatar, Badge, BarChart, Calendar, Carousel, Chart, ChartSeries, Chat, ChatMessage, DataTable, DonutChart, JsonViewer, LineChart, MultiSeriesChart, PieChart, PromptSuggestions, QrCode, RadarChart, RadialChart, Reasoning, StatCard, Table, Timeline, ToolCall
- Typography (1): Kbd
- Media (1): ImageViewer
- Utility (2): CopyButton, ThemeToggle
- Kbd — keyboard key hint
- AspectRatio — fixed-ratio container
- ButtonGroup — joined buttons, horizontal or vertical
- ToggleGroup — single or multiple selection (
ToggleGroupItem) - InputGroup — input with prefix and suffix slots
- NumberInput — increment/decrement input with min, max and step
- StatCard — KPI tile with value, change and trend
- Timeline — vertical event timeline (
TimelineItem) - TreeView — expandable, selectable tree (
TreeViewItem) - QrCode — QR code rendered as SVG (QRCoder)
- ImageViewer — thumbnail with zoomable lightbox
- Chat, ChatMessage, ChatInput — AI chat panel, message bubbles with streaming indicator, and a prompt input (Enter sends, Shift+Enter adds a newline)
- PromptSuggestions — clickable suggestion chips for an empty chat
- Reasoning, ToolCall — collapsible blocks for streamed model reasoning and tool calls (pending, running, done, error)
- Field — label, control, description and validation message as one unit
- JsonViewer — collapsible, highlighted JSON tree with copy
Documentation-site components are implemented in ShellDocs, which builds on ShellUI. They are not ShellUI CLI targets.
- CodeBlock —
CodeGroup,CodeTab, and syntax highlighting viaCodeBlockEnhancer - MarkdownRenderer —
MarkdownContent - FileTree —
FileTree,FileTreeItem - Full-text SearchDialog —
SearchDialogbacked bySearchIndex - TableOfContents
- DocsSidebar, DocsHeader, DocsBreadcrumb wrappers
- TypeTable —
TypeTableandAutoTypeTable - Tabs (Docs variant) —
CodeGroup/CodeTab - ShellDocs pipeline — frontmatter parsing, routing, search index, and live previews (
ComponentPreview,PreviewFrame)
ShellUI building blocks used by ShellDocs: Callout, CopyButton, LinkCard, PrevNextNav, Breadcrumb, Tabs, Stepper, Command/CommandPalette, Sidebar, Navbar, ThemeToggle and Table.
The current registry provides explicit sub-components for these parent components. Where a parent declares them, the installer resolves them recursively; other parents may expose parts through a separate composition path.
- Tabs —
TabsList,TabsTrigger,TabsContent, value-based state - Stepper —
StepperList,StepperStep,StepperContent, optional confirmation on the last step - Collapsible —
CollapsibleTrigger,CollapsibleContent - Dialog —
DialogTrigger,DialogContent,DialogHeader,DialogTitle,DialogDescription,DialogFooter,DialogClose - Card —
CardHeader,CardTitle,CardDescription,CardContent,CardFooter - Accordion —
AccordionItem,AccordionTrigger,AccordionContent - Dropdown —
DropdownTrigger,DropdownContent,DropdownItem - Popover —
PopoverTrigger,PopoverContent - HoverCard —
HoverCardTrigger,HoverCardContent - Drawer and Sheet — explicit trigger/content and variant support
- Select —
SelectTrigger,SelectContent,SelectItem(the native select still works) - ContextMenu —
ContextMenuTrigger,ContextMenuContent,ContextMenuOption - NavigationMenu —
NavList,NavItem,NavTrigger,NavContent - Carousel —
CarouselList,CarouselSlide - AlertDialog —
AlertDialogTrigger,AlertDialogContent,AlertDialogHeader,AlertDialogTitle,AlertDialogDescription,AlertDialogFooter,AlertDialogAction,AlertDialogCancel(0.4) - Breadcrumb —
BreadcrumbList,BreadcrumbItem,BreadcrumbLink,BreadcrumbPage,BreadcrumbSeparator,BreadcrumbEllipsis(0.4) - Command —
CommandInput,CommandList,CommandGroup,CommandOption,CommandEmpty,CommandSeparator(0.4) - Form —
FormField,FormItem,FormLabel,FormControl,FormDescription,FormMessage(0.4) - Menubar —
MenubarMenu,MenubarTrigger,MenubarContent,MenubarItem,MenubarSeparator(0.4) - Pagination —
PaginationContent,PaginationItem,PaginationLink,PaginationPrevious,PaginationNext,PaginationEllipsis(0.4) - Resizable —
ResizablePanelGroup,ResizablePanel,ResizableHandle(0.4; the oldResizableis deprecated)
The intended pattern is explicit child components, cascaded state and callbacks, value/label parameters, and Tailwind utility classes matching the shadcn-style API.
These are unscheduled ideas. They are not current registry targets, and no date or release commitment is implied.
- CodeBlock (ShellUI) — copyable code block for chat responses
- ColorPicker — swatches and HEX/RGB input
- Rating — star rating input
- SignaturePad — draw-to-sign canvas
- VirtualList — wrapper over Blazor
Virtualizewith ShellUI styling - InfiniteScroll — load more on scroll
- KanbanBoard — drag-and-drop columns and cards
- SortableList — drag-and-drop reordering
- VideoPlayer — video playback with ShellUI controls
- AudioPlayer — audio playback with waveform-style progress
- ImageGallery — grid of images sharing one lightbox with next/previous
- Barcode — barcode display
- RichTextEditor — WYSIWYG editor
- Derive direct counts, names, categories, availability, and dependencies from
ComponentRegistry. - Move an idea into the implemented section only when it has a registered target and a working CLI installation path.
- Do not infer that a component is standalone from a prose list; use the dependency metadata described in COMPONENT_DEPENDENCIES.md.
- Keep future ideas explicitly unscheduled until a release owner assigns a scope and date.