Option Strict On
Option Explicit On

Namespace Nexamas.UI.Controls

    ''' <summary>
    ''' Friend-only readiness evidence for MASEmptyState refinement. EmptyState remains a
    ''' visual feedback surface; search execution, data adapters, page state machines,
    ''' primary/secondary action commands, and loading handoff remain owned elsewhere.
    ''' </summary>
    Friend NotInheritable Class MASEmptyStateReadinessManifest
        Friend Sub New(status As MASEmptyStateReadinessStatus,
                       hasContentPolicy As Boolean,
                       hasIllustrationPolicy As Boolean,
                       hasWrappingPolicy As Boolean,
                       hasRtlTextPolicy As Boolean,
                       hasLoadingSkeletonHandoffBoundary As Boolean,
                       parallelEmptyStateRouteAbsent As Boolean)
            Me.Status = status
            Me.HasContentPolicy = hasContentPolicy
            Me.HasIllustrationPolicy = hasIllustrationPolicy
            Me.HasWrappingPolicy = hasWrappingPolicy
            Me.HasRtlTextPolicy = hasRtlTextPolicy
            Me.HasLoadingSkeletonHandoffBoundary = hasLoadingSkeletonHandoffBoundary
            Me.ParallelEmptyStateRouteAbsent = parallelEmptyStateRouteAbsent
        End Sub

        Friend ReadOnly Property Status As MASEmptyStateReadinessStatus
        Friend ReadOnly Property HasContentPolicy As Boolean
        Friend ReadOnly Property HasIllustrationPolicy As Boolean
        Friend ReadOnly Property HasWrappingPolicy As Boolean
        Friend ReadOnly Property HasRtlTextPolicy As Boolean
        Friend ReadOnly Property HasLoadingSkeletonHandoffBoundary As Boolean
        Friend ReadOnly Property ParallelEmptyStateRouteAbsent As Boolean

        Friend Shared Function CreateCurrent() As MASEmptyStateReadinessManifest
            Return New MASEmptyStateReadinessManifest(MASEmptyStateReadinessStatus.Ready, True, True, True, True, True, True)
        End Function
    End Class

End Namespace
