feat: separate some Notification shared files.

This commit is contained in:
Zhang Dian
2024-09-09 18:25:26 +08:00
parent f830da7799
commit cd8bf3adaf
8 changed files with 335 additions and 329 deletions

View File

@@ -1,43 +1,12 @@
using Avalonia.Controls.Notifications;
using Avalonia.Metadata;
namespace Ursa.Controls;
namespace Ursa.Controls;
/// <summary>
/// Represents a toast that can be shown in a window or by the host operating system.
/// </summary>
[NotClientImplementable]
public interface IToast
public interface IToast : IMessage
{
/// <summary>
/// Gets the toast message.
/// </summary>
string? Content { get; }
/// <summary>
/// Gets the <see cref="NotificationType"/> of the toast.
/// </summary>
NotificationType Type { get; }
/// <summary>
/// Gets a value indicating whether the toast should show a close button.
/// </summary>
bool ShowClose { get; }
/// <summary>
/// Gets the expiration time of the toast after which it will automatically close.
/// If the value is <see cref="TimeSpan.Zero"/> then the toast will remain open until the user closes it.
/// </summary>
TimeSpan Expiration { get; }
/// <summary>
/// Gets an Action to be run when the toast is clicked.
/// </summary>
Action? OnClick { get; }
/// <summary>
/// Gets an Action to be run when the toast is closed.
/// </summary>
Action? OnClose { get; }
}