+
+ @* Icon *@
+
+
+
+
+ @* Message *@
+ @if (!String.IsNullOrEmpty(Title))
+ {
+
+ @((MarkupString)(Title))
+
+ }
+
+ @* Close *@
+
+ @if (AllowDismiss)
+ {
+
+
+
+ }
+
+ @* Detailed content *@
+
+ @ChildContent
+ @if (!String.IsNullOrEmpty(Message?.Options.Body))
+ {
+ @((MarkupString)Message.Options.Body)
+ }
+ @if (Link is not null)
+ {
+
+ @Link?.Text
+
+ }
+ @if (ShowPrimaryAction)
+ {
+
+ @PrimaryAction?.Text
+
+ }
+
+
+
+ @* Recorded time *@
+ @if (Timestamp != null)
+ {
+
+ @((DateTime.Now - Timestamp)) @* ?.ToTimeAgo()) *@
+
+ }
+
+
+ }
+}
diff --git a/src/Core/Components/MessageBar/FluentMessageBar.razor.cs b/src/Core/Components/MessageBar/FluentMessageBar.razor.cs
new file mode 100644
index 0000000000..1e78b9b7c9
--- /dev/null
+++ b/src/Core/Components/MessageBar/FluentMessageBar.razor.cs
@@ -0,0 +1,312 @@
+// ------------------------------------------------------------------------
+// MIT License - Copyright (c) Microsoft Corporation. All rights reserved.
+// ------------------------------------------------------------------------
+
+using Microsoft.AspNetCore.Components;
+using Microsoft.AspNetCore.Components.Web;
+using Microsoft.FluentUI.AspNetCore.Components.Utilities;
+
+namespace Microsoft.FluentUI.AspNetCore.Components;
+
+///