Option Strict On
Option Explicit On

Imports Nexamas.UI.Scroll.Theming
Imports Nexamas.UI.TopBar.Theming

Namespace Nexamas.UI.Theming


    ''' <summary>
    ''' Defines all family-specific theme contracts derived from the foundation layer.
    ''' </summary>
    ''' <remarks>
    ''' Family themes adapt foundation values to component families such as inputs,
    ''' buttons, menus, overlays, lists, and messages. They must not render or manage state.
    ''' </remarks>
    ''' 
    <Global.System.ComponentModel.EditorBrowsable(Global.System.ComponentModel.EditorBrowsableState.Advanced)>
    Friend Interface IMASThemeFamilies
        ReadOnly Property SelectorItem As IMASSelectorItemTheme
        ReadOnly Property SegmentedControl As IMASSegmentedControlTheme

        ReadOnly Property List As IMASListTheme
        ReadOnly Property Input As IMASInputTheme
        ReadOnly Property Tile As IMASTileTheme
        ReadOnly Property Buttons As IMASButtonTheme
        ReadOnly Property Cards As IMASCardsTheme
        ReadOnly Property Media As IMASMediaTheme
        ReadOnly Property Menu As IMASMenuTheme

        ReadOnly Property Scroll As IMASScrollTheme
        ReadOnly Property TopBar As IMASTopBarTheme
        ReadOnly Property Progress As IMASProgressTheme
        ReadOnly Property Toast As IMASToastTheme
        ReadOnly Property Tooltip As IMASTooltipTheme

        ReadOnly Property CheckBox As IMASCheckBoxTheme
        ReadOnly Property RadioButton As IMASRadioButtonTheme
        ReadOnly Property ToggleSwitch As IMASToggleSwitchTheme

        ReadOnly Property ColorPicker As IMASColorPickerTheme
        ReadOnly Property Tabs As IMASTabTheme
        ReadOnly Property PanelShell As IMASPanelShellTheme
        ReadOnly Property FrameSurface As IMASFrameSurfaceTheme
        ReadOnly Property SurfaceChrome As IMASSurfaceChromeTheme
        ReadOnly Property GroupBox As IMASGroupBoxTheme
    End Interface

End Namespace