diff --git a/app/MindWork AI Studio/Chat/ChartBlock.razor b/app/MindWork AI Studio/Chat/ChartBlock.razor
new file mode 100644
index 00000000..d28f4af1
--- /dev/null
+++ b/app/MindWork AI Studio/Chat/ChartBlock.razor
@@ -0,0 +1,44 @@
+@namespace AIStudio.Chat
+@using MudBlazor
+@inherits AIStudio.Components.MSGComponentBase
+
+@if (this.Result.Chart is { } chart)
+{
+
@this.Result.RawJson
+}
diff --git a/app/MindWork AI Studio/Chat/ChartBlock.razor.cs b/app/MindWork AI Studio/Chat/ChartBlock.razor.cs
new file mode 100644
index 00000000..3dc47153
--- /dev/null
+++ b/app/MindWork AI Studio/Chat/ChartBlock.razor.cs
@@ -0,0 +1,26 @@
+using AIStudio.Components;
+using Microsoft.AspNetCore.Components;
+
+namespace AIStudio.Chat;
+
+public partial class ChartBlock : MSGComponentBase
+{
+ private AxisChartOptions AxisChartOptions { get; } = new() { MatchBoundsToSize = true };
+
+ [Parameter]
+ public ChartBlockParseResult Result { get; set; } = ChartBlockParseResult.Invalid(string.Empty, string.Empty);
+
+ private ChartType ChartType => this.Result.Chart?.Type switch
+ {
+ ChartDefinitionType.BAR => ChartType.Bar,
+ ChartDefinitionType.STACKED_BAR => ChartType.StackedBar,
+ ChartDefinitionType.LINE => ChartType.Line,
+ ChartDefinitionType.PIE => ChartType.Pie,
+ ChartDefinitionType.DONUT => ChartType.Donut,
+ _ => ChartType.Bar,
+ };
+
+ private List