Option Strict On
Option Explicit On

Imports System.Collections.Generic
Imports Nexamas.UI.Architecture
Imports Nexamas.UI.Rendering
Imports Nexamas.UI.Values

Namespace Nexamas.UI.Components

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

        Public Function GetComponents() As IEnumerable(Of Nexamas.UI.Architecture.MASComponentDescriptor) Implements Nexamas.UI.Architecture.IMASComponentRegistrationProvider.GetComponents
            Return New MASComponentDescriptor() {
                MASComponentDescriptor.Create(Of MASImageViewer)(
                    category:=MASComponentCategory.Control,
                    controlKind:=CommonEnums.ControlKind.ImageViewer,
                    surfaceFamily:=CommonEnums.SurfaceFamily.Media,
                    materialRole:=MASMaterialRole.Panel,
                    interactionRole:=MASInteractionRole.Composite,
                    shadowRole:=MASShadowRole.Floating,
                    radiusRole:=MASRadiusRole.SurfaceFamily,
                    typographyRole:=MASTypographyRole.Body,
                    themeSurfaceRole:=NexamasUISurfaceRole.Panel,
                    themeColorRole:=NexamasUIColorRole.TextBody,
                    themeStateRole:=NexamasUIStateRole.Interactive,
                    inputRole:=MASInputRole.PointerAndKeyboard,
                    focusRole:=MASFocusRole.Focusable
                )
            }
        End Function

    End Class

End Namespace
