diff --git a/SukiUI.Demo/Features/ControlsLibrary/InfoBarView.axaml b/SukiUI.Demo/Features/ControlsLibrary/InfoBarView.axaml
new file mode 100644
index 000000000..166180262
--- /dev/null
+++ b/SukiUI.Demo/Features/ControlsLibrary/InfoBarView.axaml
@@ -0,0 +1,80 @@
+
+
+
+
+
+
+ InfoBar is a control that displays a message to the user. It can be used to show specific severity message to the user.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/SukiUI.Demo/Features/ControlsLibrary/InfoBarView.axaml.cs b/SukiUI.Demo/Features/ControlsLibrary/InfoBarView.axaml.cs
new file mode 100644
index 000000000..06f74081e
--- /dev/null
+++ b/SukiUI.Demo/Features/ControlsLibrary/InfoBarView.axaml.cs
@@ -0,0 +1,11 @@
+using Avalonia.Controls;
+
+namespace SukiUI.Demo.Features.ControlsLibrary;
+
+public partial class InfoBarView : UserControl
+{
+ public InfoBarView()
+ {
+ InitializeComponent();
+ }
+}
\ No newline at end of file
diff --git a/SukiUI.Demo/Features/ControlsLibrary/InfoBarViewModel.cs b/SukiUI.Demo/Features/ControlsLibrary/InfoBarViewModel.cs
new file mode 100644
index 000000000..e72a25a57
--- /dev/null
+++ b/SukiUI.Demo/Features/ControlsLibrary/InfoBarViewModel.cs
@@ -0,0 +1,20 @@
+using CommunityToolkit.Mvvm.ComponentModel;
+using CommunityToolkit.Mvvm.Input;
+using Material.Icons;
+
+namespace SukiUI.Demo.Features.ControlsLibrary;
+
+public partial class InfoBarViewModel() : DemoPageBase("InfoBar", MaterialIconKind.InfoOutline)
+{
+ [ObservableProperty]
+ private bool _isOpen = true;
+
+ [ObservableProperty]
+ private bool _isClosable = true;
+
+ [RelayCommand]
+ private void RefreshIsOpenStatus()
+ {
+ IsOpen = true;
+ }
+}
\ No newline at end of file
diff --git a/SukiUI/ColorTheme/NotificationColor.cs b/SukiUI/ColorTheme/NotificationColor.cs
new file mode 100644
index 000000000..09eae2188
--- /dev/null
+++ b/SukiUI/ColorTheme/NotificationColor.cs
@@ -0,0 +1,11 @@
+using Avalonia.Media;
+
+namespace SukiUI.ColorTheme;
+
+public static class NotificationColor
+{
+ public static readonly SolidColorBrush InfoIconForeground = new(Color.FromRgb(89,126,255));
+ public static readonly SolidColorBrush SuccessIconForeground = new(Color.FromRgb(35,143,35));
+ public static readonly SolidColorBrush WarningIconForeground = new(Color.FromRgb(177,113,20));
+ public static readonly SolidColorBrush ErrorIconForeground = new(Color.FromRgb(216,63,48));
+}
\ No newline at end of file
diff --git a/SukiUI/Controls/InfoBar.axaml b/SukiUI/Controls/InfoBar.axaml
new file mode 100644
index 000000000..389362c92
--- /dev/null
+++ b/SukiUI/Controls/InfoBar.axaml
@@ -0,0 +1,84 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/SukiUI/Controls/InfoBar.axaml.cs b/SukiUI/Controls/InfoBar.axaml.cs
new file mode 100644
index 000000000..2c70781df
--- /dev/null
+++ b/SukiUI/Controls/InfoBar.axaml.cs
@@ -0,0 +1,111 @@
+using System.Windows.Input;
+using Avalonia;
+using Avalonia.Controls;
+using Avalonia.Controls.Primitives;
+using Avalonia.Interactivity;
+using Avalonia.Media;
+using SukiUI.ColorTheme;
+using SukiUI.Content;
+using SukiUI.Enums;
+
+namespace SukiUI.Controls;
+
+public class InfoBar : ContentControl
+{
+ public static readonly StyledProperty SeverityProperty =
+ AvaloniaProperty.Register(nameof(Severity), NotificationType.Info);
+
+ public NotificationType Severity
+ {
+ get => GetValue(SeverityProperty);
+ set
+ {
+ Icon = value switch
+ {
+ NotificationType.Info => Icons.InformationOutline,
+ NotificationType.Success => Icons.Check,
+ NotificationType.Warning => Icons.AlertOutline,
+ NotificationType.Error => Icons.AlertOutline,
+ _ => Icons.InformationOutline
+ };
+
+ IconForeground = value switch
+ {
+ NotificationType.Info => NotificationColor.InfoIconForeground,
+ NotificationType.Success => NotificationColor.SuccessIconForeground,
+ NotificationType.Warning => NotificationColor.WarningIconForeground,
+ NotificationType.Error => NotificationColor.ErrorIconForeground,
+ _ => NotificationColor.InfoIconForeground
+ };
+
+ SetValue(SeverityProperty, value);
+ }
+ }
+
+ public static readonly StyledProperty