Option Strict On
Option Explicit On

Imports System.Collections.Generic
Imports Nexamas.UI.Architecture
Imports Nexamas.UI.Components.DropDownMenu
Imports Nexamas.UI.Components.ListPopup
Imports Nexamas.UI.Components.ListRendering
Imports Nexamas.UI.Controls
Imports Nexamas.UI.FloatRuntime
Imports Nexamas.UI.Rendering
Imports Nexamas.UI.Values

Namespace Nexamas.UI.Components

    ''' <summary>
    ''' Built-in architecture descriptors owned by the Composition family.
    ''' </summary>
    Friend NotInheritable Class MASComponentCompositionArchitectureProvider
        Implements Nexamas.UI.Architecture.IMASComponentRegistrationProvider

        Public Function GetComponents() As IEnumerable(Of Nexamas.UI.Architecture.MASComponentDescriptor) Implements Nexamas.UI.Architecture.IMASComponentRegistrationProvider.GetComponents
            Dim list As New List(Of MASComponentDescriptor)()

            list.Add(MASComponentDescriptor.Create(Of MASTopBarComponent)(
                category:=MASComponentCategory.CompositeContent,
                controlKind:=CommonEnums.ControlKind.TopBar,
                surfaceFamily:=CommonEnums.SurfaceFamily.TopBar,
                materialRole:=MASMaterialRole.Shell,
                interactionRole:=MASInteractionRole.Composite,
                shadowRole:=MASShadowRole.Shell,
                radiusRole:=MASRadiusRole.None,
                typographyRole:=MASTypographyRole.Header,
                themeSurfaceRole:=NexamasUISurfaceRole.Header,
                themeColorRole:=NexamasUIColorRole.TextBody,
                themeStateRole:=NexamasUIStateRole.Passive,
                inputRole:=MASInputRole.RoutedContainer,
                focusRole:=MASFocusRole.FocusScope
            ))

            Return list
        End Function

    End Class

End Namespace
