Option Strict On
Option Explicit On

Namespace Nexamas.UI.Controls

    ''' <summary>
    ''' Friend-only readiness evidence for MASStatusBanner refinement. The banner remains
    ''' visual-only in-page feedback; toast lifetime, notification queues, dialogs,
    ''' validation execution, and command routing stay with their official systems.
    ''' </summary>
    Friend NotInheritable Class MASStatusBannerReadinessManifest
        Friend Sub New(status As MASStatusBannerReadinessStatus,
                       hasVisualPolicy As Boolean,
                       hasSemanticTonePolicy As Boolean,
                       hasOfficialIconPolicy As Boolean,
                       hasWrappingPolicy As Boolean,
                       hasRtlTextPolicy As Boolean,
                       hasIntegratedAccentShapePolicy As Boolean,
                       parallelNotificationRouteAbsent As Boolean)
            Me.Status = status
            Me.HasVisualPolicy = hasVisualPolicy
            Me.HasSemanticTonePolicy = hasSemanticTonePolicy
            Me.HasOfficialIconPolicy = hasOfficialIconPolicy
            Me.HasWrappingPolicy = hasWrappingPolicy
            Me.HasRtlTextPolicy = hasRtlTextPolicy
            Me.HasIntegratedAccentShapePolicy = hasIntegratedAccentShapePolicy
            Me.ParallelNotificationRouteAbsent = parallelNotificationRouteAbsent
        End Sub

        Friend ReadOnly Property Status As MASStatusBannerReadinessStatus
        Friend ReadOnly Property HasVisualPolicy As Boolean
        Friend ReadOnly Property HasSemanticTonePolicy As Boolean
        Friend ReadOnly Property HasOfficialIconPolicy As Boolean
        Friend ReadOnly Property HasWrappingPolicy As Boolean
        Friend ReadOnly Property HasRtlTextPolicy As Boolean
        Friend ReadOnly Property HasIntegratedAccentShapePolicy As Boolean
        Friend ReadOnly Property ParallelNotificationRouteAbsent As Boolean

        Friend Shared Function CreateCurrent() As MASStatusBannerReadinessManifest
            Return New MASStatusBannerReadinessManifest(MASStatusBannerReadinessStatus.Ready, True, True, True, True, True, True, True)
        End Function
    End Class

End Namespace
