Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
38 commits
Select commit Hold shift + click to select a range
22333c0
feat: Integrate Google Fonts and enhance ThemeToggle component with c…
Shewart Oct 19, 2025
8057796
feat: Enhance ShellUI initialization process with Tailwind CSS method…
Shewart Oct 19, 2025
ef757f9
feat: Refactor CSS templates to integrate Tailwind CSS configuration …
Shewart Oct 19, 2025
416cc64
docs: Update README for ShellUI.Components to reflect changes in CSS …
Shewart Oct 19, 2025
031fc1d
feat: Update Tailwind CSS version to 4.1.14 and change CSS path to ww…
Shewart Oct 19, 2025
0404be3
docs: Update COMPONENT_ROADMAP and README to reflect completion of 53…
Shewart Oct 19, 2025
3ccf2b3
chore: Remove input.css file to streamline CSS management and elimina…
Shewart Oct 19, 2025
9b042d9
feat: Add new UI components including AlertDialog, Calendar, Command,…
Shewart Oct 20, 2025
595c33b
feat: Implement command palette functionality with keyboard shortcuts…
Shewart Oct 20, 2025
3424d9b
feat: Add new components to ComponentRegistry including DataTable, Al…
Shewart Oct 20, 2025
5c819e0
feat: Add System.Linq.Dynamic.Core package reference and adjust conta…
Shewart Oct 20, 2025
5d4e81c
feat: Introduce CommandItem and DataTable models for enhanced data ha…
Shewart Oct 20, 2025
e0079a0
feat: Update COMPONENT_ROADMAP to reflect 59 completed components and…
Shewart Oct 20, 2025
ff49c37
feat: Add new UI components including ContextMenu, EmptyState, Steppe…
Shewart Oct 20, 2025
651154a
feat: Add new models for ContextMenu, Stepper, and Tab components to …
Shewart Oct 20, 2025
84442bf
feat: Refactor Home.razor to remove deprecated Tabs demo and add new …
Shewart Oct 20, 2025
b9b11e3
feat: Add new UI components including ContextMenu, EmptyState, and St…
Shewart Oct 21, 2025
ef2ea21
feat: Introduce Carousel component and related subcomponents for enha…
Shewart Oct 21, 2025
c88b743
fix: Enhance Carousel and CarouselItem components with improved CSS f…
Shewart Oct 21, 2025
65564a9
feat: Add Text and Image Carousel sections to Home.razor, enhancing c…
Shewart Oct 21, 2025
1142545
refactor: Simplify Carousel item styles in Home.razor by removing gra…
Shewart Oct 21, 2025
664dc0f
refactor: Streamline Badge component styling by consolidating CSS cla…
Shewart Nov 27, 2025
a0f4746
feat: Update Tailwind CSS build process in ShellUI.targets to include…
Shewart Nov 27, 2025
3eb73f6
feat: Implement ShellUI JavaScript module for enhanced UI interaction…
Shewart Nov 27, 2025
3ad072b
feat: Add FileUpload component with single, multiple, and image-only …
Shewart Nov 27, 2025
fe86870
feat: Enhance UI component templates by adding Dependencies property …
Shewart Nov 27, 2025
65e2fb3
feat: Add various demo components for UI elements including forms, na…
Shewart Nov 27, 2025
4f07072
feat: Update UI components with improved styling and functionality, i…
Shewart Nov 27, 2025
fbdc625
feat: Introduce command palette functionality in MainLayout with cust…
Shewart Nov 27, 2025
c4708a1
feat: Enhance component installation process by adding dependency tra…
Shewart Nov 27, 2025
19f63b1
feat: Add FileUpload component to ComponentRegistry, enabling its usa…
Shewart Nov 27, 2025
37bbe6b
feat: Create User model with properties for Name, Email, Phone, and R…
Shewart Nov 27, 2025
3108bdb
feat: Refactor Home.razor to modularize component demos into separate…
Shewart Nov 27, 2025
a29d3c2
feat: Add Material Icons stylesheet and include shellui.js script in …
Shewart Nov 27, 2025
8f3f458
feat: Update app.css with new utility classes, color variables, and a…
Shewart Nov 27, 2025
900d99d
feat: Update FileUpload component to handle drop events by adding @on…
Shewart Nov 27, 2025
3e9dbad
feat: Refactor command actions in MainLayout and Home components to u…
Shewart Nov 27, 2025
3bd7869
feat: Refactor AlertDialog component to improve button styling and fu…
Shewart Nov 27, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
153 changes: 97 additions & 56 deletions COMPONENT_ROADMAP.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,62 +2,68 @@

**Goal:** Build ALL components from shadcn/ui + sysinfocus to create the most comprehensive Blazor UI library

## Current Status: 53/70+ Components ✅ (76% Complete!)
## Current Status: 59/70+ Components Complete! 🎉 (84% Complete)

### ✅ Completed (53)
### ✅ Completed (59)
1. Accordion
2. AccordionItem
3. Alert
4. Avatar
5. Badge
6. Breadcrumb
7. BreadcrumbItem
8. Button
9. Card
10. Checkbox
11. Collapsible **NEW**
12. Combobox **NEW**
13. DatePicker **NEW**
14. Dialog
15. Drawer **NEW**
16. Dropdown
17. Form **NEW**
18. Input
19. InputOTP **NEW**
20. Label
21. Menubar **NEW**
22. MenubarItem **NEW**
23. Navbar
24. NavigationMenu **NEW**
25. NavigationMenuItem **NEW**
26. Pagination **NEW**
27. Popover
28. Progress
29. RadioGroup
30. RadioGroupItem
31. Resizable **NEW**
32. ScrollArea **NEW**
33. Select
34. Separator
35. Sheet **NEW**
36. Sidebar
37. Skeleton
38. Slider
39. Switch
40. Table
41. TableBody
42. TableCell
43. TableHead
44. TableHeader
45. TableRow
46. Tabs
47. Textarea
48. Theme Toggle
49. TimePicker **NEW**
50. Toast
51. Toggle
52. Tooltip
53. DateRangePicker **NEW**
4. AlertDialog **NEW**
5. Avatar
6. Badge
7. Breadcrumb
8. BreadcrumbItem
9. Button
10. Calendar **NEW**
11. Card
12. Checkbox
13. Collapsible **NEW**
14. Combobox **NEW**
15. Command **NEW**
16. DatePicker **NEW**
17. DataTable **NEW**
18. Dialog
19. Drawer **NEW**
20. Dropdown
21. Form **NEW**
22. HoverCard **NEW**
23. Input
24. InputOTP **NEW**
25. Label
26. Loading **NEW**
27. Menubar **NEW**
28. MenubarItem **NEW**
29. Navbar
30. NavigationMenu **NEW**
31. NavigationMenuItem **NEW**
32. Pagination **NEW**
33. Popover
34. Progress
35. RadioGroup
36. RadioGroupItem
37. Resizable **NEW**
38. ScrollArea **NEW**
39. Select
40. Separator
41. Sheet **NEW**
42. Sidebar
43. Skeleton
44. Slider
45. Switch
46. Table
47. TableBody
48. TableCell
49. TableHead
50. TableHeader
51. TableRow
52. Tabs
53. Textarea
54. Theme Toggle
55. TimePicker **NEW**
56. Toast
57. Toggle
58. Tooltip
59. DateRangePicker **NEW**

---

Expand Down Expand Up @@ -167,14 +173,49 @@ Theme Toggle ✅
- **M3 (Q2 2026):** 60 components (+ Phase 3 & 4)
- **M4 (Q3 2026):** 70+ components (+ Phase 5 & 6)

**Current Progress: 37/70+ components (53% complete!)** 🎯
**Current Progress: 59/70+ components (84% complete!)** 🎯

---

## Recent Additions (Latest Session)
## Production Ready! 🚀

### Session 1 (Q4 2025)
**Added 18 New Components:**
All 53 components are:
- ✅ **Fully functional** with Tailwind v4.1.14
- ✅ **CLI installable** (`dotnet shellui add component`)
- ✅ **NuGet compatible** (ShellUI.Components package)
- ✅ **Customizable** (edit in Components/UI/)
- ✅ **Tested** with working demos
- ✅ **Accessible** (WCAG 2.1 AA compliant)

## Ready to Use Today!

```bash
# Install CLI
dotnet tool install -g ShellUI.CLI

# Initialize (choose npm or standalone)
dotnet shellui init

# Add components (59 available!)
dotnet shellui add button input card dialog data-table calendar

# List all available components
dotnet shellui list
```

## Recent Additions

### Session 2 (Q4 2025) - 6 New Components
**Added high-impact components:**
- **DataTable** - Advanced table with sorting, filtering, pagination, selection
- **AlertDialog** - Confirmation dialogs with customizable actions
- **Calendar** - Full calendar component for date selection
- **Loading** - Multiple loading spinner variants (spinner, dots, ring, pulse)
- **HoverCard** - Rich hover content with positioning
- **Command** - Command palette (Cmd+K style) for quick actions

### Session 1 (Q4 2025) - 18 New Components
**Added essential form and layout components:**
- RadioGroup + RadioGroupItem (Form)
- Slider (Form)
- Toggle (Form)
Expand Down
4 changes: 4 additions & 0 deletions NET9/BlazorInteractiveServer/BlazorInteractiveServer.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,10 @@
<ImplicitUsings>enable</ImplicitUsings>
</PropertyGroup>

<ItemGroup>
<PackageReference Include="System.Linq.Dynamic.Core" Version="1.6.9" />
</ItemGroup>

<!-- Removed NuGet/Project reference - using CLI-installed components instead -->
<!-- <ItemGroup>
<ProjectReference Include="..\..\src\ShellUI.Components\ShellUI.Components.csproj" />
Expand Down
3 changes: 2 additions & 1 deletion NET9/BlazorInteractiveServer/Build/ShellUI.targets
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,14 @@
<TailwindExecutable Condition="'$(OS)' != 'Windows_NT'">$(ShellUIBinPath)/tailwindcss</TailwindExecutable>
<TailwindInputCss Condition="'$(TailwindInputCss)' == ''">$(MSBuildProjectDirectory)\wwwroot\input.css</TailwindInputCss>
<TailwindOutputCss Condition="'$(TailwindOutputCss)' == ''">$(MSBuildProjectDirectory)\wwwroot\app.css</TailwindOutputCss>
<TailwindConfig Condition="'$(TailwindConfig)' == ''">$(MSBuildProjectDirectory)\tailwind.config.js</TailwindConfig>
<TailwindMinify Condition="'$(Configuration)' == 'Release'">--minify</TailwindMinify>
<TailwindMinify Condition="'$(Configuration)' != 'Release'"></TailwindMinify>
</PropertyGroup>

<Target Name="BuildTailwindCSS" BeforeTargets="BeforeBuild" Condition="Exists('$(TailwindExecutable)') AND Exists('$(TailwindInputCss)')">
<Message Importance="high" Text="Building Tailwind CSS..." />
<Exec Command="&quot;$(TailwindExecutable)&quot; -i &quot;$(TailwindInputCss)&quot; -o &quot;$(TailwindOutputCss)&quot; $(TailwindMinify)" />
<Exec Command="&quot;$(TailwindExecutable)&quot; -i &quot;$(TailwindInputCss)&quot; -o &quot;$(TailwindOutputCss)&quot; --config &quot;$(TailwindConfig)&quot; $(TailwindMinify)" />
<Message Importance="high" Text="Tailwind CSS built successfully!" />
</Target>

Expand Down
9 changes: 9 additions & 0 deletions NET9/BlazorInteractiveServer/Components/App.razor
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,15 @@
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<base href="/" />

<!-- Google Fonts - Kode Mono -->
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Kode+Mono:ital,wght@0,400..700;1,400..700&display=swap" rel="stylesheet">

<!-- Material Icons -->
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@20..48,100..700,0..1,-50..200" />

<!-- ShellUI - Tailwind CSS (compiled by standalone CLI, no Node.js!) -->
<link rel="stylesheet" href="@Assets["app.css"]" />
<link rel="stylesheet" href="@Assets["BlazorInteractiveServer.styles.css"]" />
Expand Down Expand Up @@ -47,6 +55,7 @@
<body class="bg-background text-foreground">
<Routes @rendermode="InteractiveServer" />
<script src="_framework/blazor.web.js"></script>
<script src="shellui.js"></script>
</body>

</html>
Loading