<ResourceDictionary
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:controls="using:CommunityToolkit.WinUI.Controls"
    xmlns:ghost="using:Ghost.Editor.Controls"
    xmlns:local="using:Ghost.Editor.Core">

    <ResourceDictionary.ThemeDictionaries>
        <ResourceDictionary x:Key="Dark">
            <StaticResource x:Key="TabViewItemHeaderBackgroundSelected" ResourceKey="ControlFillColorSecondaryBrush" />
            <StaticResource x:Key="TabViewBackground" ResourceKey="AcrylicBackgroundFillColorBaseBrush" />
        </ResourceDictionary>
        <ResourceDictionary x:Key="Light">
            <StaticResource x:Key="TabViewItemHeaderBackgroundSelected" ResourceKey="ControlFillColorSecondaryBrush" />
            <StaticResource x:Key="TabViewBackground" ResourceKey="AcrylicBackgroundFillColorBaseBrush" />
        </ResourceDictionary>
    </ResourceDictionary.ThemeDictionaries>

    <!--  Compact sizing  -->
    <Style TargetType="TextBlock">
        <Setter Property="FontSize" Value="12" />
    </Style>
    <x:Double x:Key="ControlContentThemeFontSize">12</x:Double>
    <x:Double x:Key="ContentControlFontSize">12</x:Double>
    <x:Double x:Key="ToolbarFontIconFontSize">14</x:Double>
    <x:Double x:Key="TextControlThemeMinHeight">24</x:Double>
    <Thickness x:Key="TextControlThemePadding">2,2,6,1</Thickness>
    <x:Double x:Key="ListViewItemMinHeight">32</x:Double>
    <x:Double x:Key="TreeViewItemMinHeight">24</x:Double>
    <x:Double x:Key="TreeViewItemMultiSelectCheckBoxMinHeight">24</x:Double>
    <x:Double x:Key="TreeViewItemPresenterMargin">0</x:Double>
    <x:Double x:Key="TreeViewItemPresenterPadding">0</x:Double>
    <Thickness x:Key="TimePickerHostPadding">0,1,0,2</Thickness>
    <Thickness x:Key="DatePickerHostPadding">0,1,0,2</Thickness>
    <Thickness x:Key="DatePickerHostMonthPadding">9,0,0,1</Thickness>
    <Thickness x:Key="ComboBoxEditableTextPadding">10,0,30,0</Thickness>
    <x:Double x:Key="ComboBoxMinHeight">24</x:Double>
    <Thickness x:Key="ComboBoxPadding">12,1,0,3</Thickness>
    <x:Double x:Key="NavigationViewItemOnLeftMinHeight">32</x:Double>

    <!--  Control override  -->
    <Style TargetType="ghost:NavigationTabView">
        <Setter Property="TabWidthMode" Value="Compact" />
    </Style>
    <Style TargetType="NumberBox" />
    <Style TargetType="controls:GridSplitter">
        <Setter Property="MinHeight" Value="2" />
        <Setter Property="MinWidth" Value="2" />
        <Setter Property="Background" Value="{ThemeResource AcrylicBackgroundFillColorBaseBrush}" />
    </Style>

    <!--  Named Style  -->
    <Style x:Key="ToolbarButton" TargetType="Button">
        <Setter Property="Padding" Value="2" />
        <Setter Property="Background" Value="{ThemeResource SubtleFillColorTransparentBrush}" />
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="Button">
                    <Grid
                        x:Name="RootGrid"
                        Padding="10,5"
                        Background="{TemplateBinding Background}"
                        CornerRadius="4">
                        <ContentPresenter
                            x:Name="ContentPresenter"
                            HorizontalAlignment="Center"
                            VerticalAlignment="Center"
                            Content="{TemplateBinding Content}" />
                        <VisualStateManager.VisualStateGroups>
                            <VisualStateGroup x:Name="CommonStates">

                                <VisualState x:Name="Normal" />

                                <VisualState x:Name="PointerOver">
                                    <VisualState.Setters>
                                        <Setter Target="RootGrid.Background" Value="{ThemeResource SubtleFillColorSecondaryBrush}" />
                                    </VisualState.Setters>
                                </VisualState>

                                <VisualState x:Name="Pressed">
                                    <VisualState.Setters>
                                        <Setter Target="RootGrid.Background" Value="{ThemeResource SubtleFillColorTertiaryBrush}" />
                                    </VisualState.Setters>
                                </VisualState>

                                <VisualState x:Name="Disabled">
                                    <VisualState.Setters>
                                        <Setter Target="RootGrid.Background" Value="{ThemeResource SubtleFillColorDisabledBrush}" />
                                        <Setter Target="ContentPresenter.Foreground" Value="{ThemeResource ControlStrongFillColorDisabledBrush}" />
                                    </VisualState.Setters>
                                </VisualState>

                            </VisualStateGroup>
                        </VisualStateManager.VisualStateGroups>
                    </Grid>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>

    <Style x:Key="AccentToolbarButton" TargetType="Button">
        <Setter Property="Padding" Value="2" />
        <Setter Property="Background" Value="{ThemeResource SubtleFillColorTransparentBrush}" />
        <Setter Property="Foreground" Value="{ThemeResource AccentFillColorDefaultBrush}" />
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="Button">
                    <Grid
                        x:Name="RootGrid"
                        Padding="10,5"
                        Background="{TemplateBinding Background}"
                        CornerRadius="4">
                        <ContentPresenter
                            x:Name="ContentPresenter"
                            HorizontalAlignment="Center"
                            VerticalAlignment="Center"
                            Content="{TemplateBinding Content}" />
                        <VisualStateManager.VisualStateGroups>
                            <VisualStateGroup x:Name="CommonStates">

                                <VisualState x:Name="Normal" />

                                <VisualState x:Name="PointerOver">
                                    <VisualState.Setters>
                                        <Setter Target="RootGrid.Background" Value="{ThemeResource SubtleFillColorSecondaryBrush}" />
                                    </VisualState.Setters>
                                </VisualState>

                                <VisualState x:Name="Pressed">
                                    <VisualState.Setters>
                                        <Setter Target="RootGrid.Background" Value="{ThemeResource SubtleFillColorTertiaryBrush}" />
                                    </VisualState.Setters>
                                </VisualState>

                                <VisualState x:Name="Disabled">
                                    <VisualState.Setters>
                                        <Setter Target="RootGrid.Background" Value="{ThemeResource SubtleFillColorDisabledBrush}" />
                                        <Setter Target="ContentPresenter.Foreground" Value="{ThemeResource AccentFillColorDisabledBrush}" />
                                    </VisualState.Setters>
                                </VisualState>

                            </VisualStateGroup>
                        </VisualStateManager.VisualStateGroups>
                    </Grid>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>

    <Style x:Key="VerticalDivider" TargetType="Border">
        <Setter Property="BorderBrush" Value="{ThemeResource DividerStrokeColorDefaultBrush}" />
        <Setter Property="BorderThickness" Value="1,0,0,0" />
        <Setter Property="Margin" Value="2,0" />
    </Style>

    <Style x:Key="HorizontalDivider" TargetType="Border">
        <Setter Property="BorderBrush" Value="{ThemeResource DividerStrokeColorDefaultBrush}" />
        <Setter Property="BorderThickness" Value="0,1,0,0" />
        <Setter Property="Margin" Value="0,2" />
    </Style>

    <Style x:Key="VerticalStrongDivider" TargetType="Border">
        <Setter Property="BorderBrush" Value="{ThemeResource ControlElevationBorderBrush}" />
        <Setter Property="BorderThickness" Value="1,0,0,0" />
        <Setter Property="Margin" Value="2,0" />
    </Style>

    <Style x:Key="HorizontalStrongDivider" TargetType="Border">
        <Setter Property="BorderBrush" Value="{ThemeResource ControlElevationBorderBrush}" />
        <Setter Property="BorderThickness" Value="0,1,0,0" />
        <Setter Property="Margin" Value="0,2" />
    </Style>

    <!--  Named Resource  -->
    <x:Double x:Key="ToolbarIconSize">12</x:Double>
</ResourceDictionary>
