Option Strict On
Option Explicit On

Imports System.Collections.Generic

Namespace Nexamas.UI.Components

    Friend NotInheritable Class MessageBoxRequest

        Friend Sub New()
            Title = "Message"
            Message = String.Empty
            Detail = String.Empty
            Kind = MessageBoxKind.Information
            Buttons = MessageBoxPresets.OK()
            ButtonResults = New List(Of MessageBoxResult) From {
                MessageBoxResult.OK
            }
            DefaultResult = MessageBoxResult.OK
            EscapeResult = MessageBoxResult.Close
            AllowCloseButton = True
            AllowBackdropDismiss = False
            MetricsOverride = Nothing
            CompanyIcon = New MessageBoxCompanyIconSpec()
        End Sub

        Friend Property Title As String
        Friend Property Message As String
        Friend Property Detail As String

        Friend Property Kind As MessageBoxKind
        Friend Property Buttons As IReadOnlyList(Of MASButtonSpec)

        ' Mapping صريح لنتيجة كل زر حسب ترتيبه داخل Buttons
        Friend Property ButtonResults As IReadOnlyList(Of MessageBoxResult)

        Friend Property DefaultResult As MessageBoxResult
        Friend Property EscapeResult As MessageBoxResult

        Friend Property AllowCloseButton As Boolean
        Friend Property AllowBackdropDismiss As Boolean

        Friend Property MetricsOverride As MessageBoxMetrics
        Friend Property CompanyIcon As MessageBoxCompanyIconSpec

        Friend Property ShowCheckBox As Boolean
        Friend Property CheckBoxText As String = ""
        Friend Property CheckBoxChecked As Boolean
    End Class

End Namespace