<commit_before>﻿<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
                    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
                    xmlns:controls="clr-namespace:Enterwell.Clients.Wpf.Notifications.Controls"
                    xmlns:local="clr-namespace:Enterwell.Clients.Wpf.Notifications">

    <SolidColorBrush x:Key="NotificationButtonDarkBackgroundOverlayBrush">#333333</SolidColorBrush>
    <SolidColorBrush x:Key="NotificationButtonDarkBackgroundOverlayPressedBrush">#666666</SolidColorBrush>
    <SolidColorBrush x:Key="NotificationButtonDarkBackgroundOverlayDisabledBrush">#FFFFFF</SolidColorBrush>

    <Style x:Key="NotificationBadgeBaseStyle" TargetType="{x:Type TextBlock}">
        <Setter Property="FontSize" Value="11" />
        <Setter Property="FontWeight" Value="Bold" />
        <Setter Property="Foreground" Value="White" />
        <Setter Property="HorizontalAlignment" Value="Center" />
        <Setter Property="Margin" Value="10,2,0,2" />
        <Setter Property="Padding" Value="4,2" />
        <Setter Property="VerticalAlignment" Value="Center" />
    </Style>

    <Style x:Key="NotificationHeaderTextStyle" TargetType="{x:Type TextBlock}">
        <Setter Property="FontSize" Value="16" />
        <Setter Property="FontWeight" Value="Light" />
        <Setter Property="Foreground" Value="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type controls:NotificationMessage}}, Path=Foreground}" />
        <Setter Property="Margin" Value="0,0,8,0" />
        <Setter Property="TextWrapping" Value="Wrap" />
        <Setter Property="VerticalAlignment" Value="Center" />
    </Style>

    <Style x:Key="NotificationMessageTextStyle" TargetType="{x:Type TextBlock}">
        <Setter Property="Foreground" Value="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type controls:NotificationMessage}}, Path=Foreground}" />
        <Setter Property="Margin" Value="0,0,8,0" />
        <Setter Property="TextWrapping" Value="Wrap" />
        <Setter Property="VerticalAlignment" Value="Center" />
    </Style>

    <Style x:Key="NotificationMessageButtonStyle" TargetType="{x:Type Button}">
        <Setter Property="Foreground" Value="#EAEAEA" />
        <Setter Property="HorizontalContentAlignment" Value="Center" />
        <Setter Property="Padding" Value="12,2" />
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="{x:Type Button}">
                    <Grid>
                        <Border x:Name="backgroundBorder"
                                Background="{TemplateBinding Background}"
                                BorderBrush="{TemplateBinding Background}"
                                BorderThickness="{TemplateBinding BorderThickness}"
                                SnapsToDevicePixels="True" />
                        <Border x:Name="backgroundOverlay"
                                BorderThickness="0"
                                Opacity="0.3"
                                SnapsToDevicePixels="True" />
                        <ContentPresenter x:Name="contentPresenter"
                                          Margin="{TemplateBinding Padding}"
                                          HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
                                          VerticalAlignment="{TemplateBinding VerticalContentAlignment}"
                                          Content="{TemplateBinding Content}"
                                          ContentStringFormat="{TemplateBinding ContentStringFormat}"
                                          ContentTemplate="{TemplateBinding ContentTemplate}"
                                          Focusable="False"
                                          RecognizesAccessKey="True"
                                          SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" />
                    </Grid>
                    <ControlTemplate.Triggers>
                        <Trigger Property="Button.IsDefaulted" Value="True">
                            <Setter TargetName="backgroundBorder" Property="BorderBrush" Value="{DynamicResource {x:Static SystemColors.HighlightBrush}}" />
                        </Trigger>
                        <Trigger Property="IsMouseOver" Value="True">
                            <Setter TargetName="backgroundOverlay" Property="Background" Value="{StaticResource NotificationButtonDarkBackgroundOverlayBrush}" />
                        </Trigger>
                        <Trigger Property="IsPressed" Value="True">
                            <Setter TargetName="backgroundOverlay" Property="Background" Value="{StaticResource NotificationButtonDarkBackgroundOverlayPressedBrush}" />
                        </Trigger>
                        <Trigger Property="IsEnabled" Value="False">
                            <Setter TargetName="backgroundOverlay" Property="Background" Value="{StaticResource NotificationButtonDarkBackgroundOverlayDisabledBrush}" />
                        </Trigger>
                    </ControlTemplate.Triggers>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
        <Setter Property="VerticalContentAlignment" Value="Center" />
    </Style>

    <Style TargetType="{x:Type controls:NotificationMessage}">
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="{x:Type controls:NotificationMessage}">
                    <!-- Border for the Notification Message -->
                    <Border x:Name="notificationMessageBorder" MinHeight="35"
                            VerticalAlignment="Top"
                            Background="{TemplateBinding Background}"
                            BorderBrush="#882F2F2F"
                            BorderThickness="0,0,0,1"
                            SnapsToDevicePixels="True"
                            UseLayoutRounding="True">
                        <!-- Outer Grid -->
                        <Grid x:Name="outerGrid">
                            <Grid.Resources>
                                <!--  Accent Button Style  -->
                                <Style BasedOn="{StaticResource NotificationMessageButtonStyle}" TargetType="{x:Type controls:NotificationMessageButton}">
                                    <Setter Property="Background" 
                                            Value="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type controls:NotificationMessage}}, Path=ButtonAccentBrush}" />
                                </Style>
                                <!--  Accent Badge Style  -->
                                <Style x:Key="NotificationBadgeAccentStyle"
                                       BasedOn="{StaticResource NotificationBadgeBaseStyle}"
                                       TargetType="{x:Type TextBlock}">
                                    <Setter Property="Background" 
                                            Value="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type controls:NotificationMessage}}, Path=BadgeAccentBrush}" />
                                </Style>
                            </Grid.Resources>
                            <Grid.ColumnDefinitions>
                                <ColumnDefinition Width="Auto" />
                                <ColumnDefinition Width="*" />
                                <ColumnDefinition Width="Auto" />
                                <ColumnDefinition Width="Auto" />
                            </Grid.ColumnDefinitions>
                            <Grid.RowDefinitions>
                                <RowDefinition Height="Auto" />
                                <RowDefinition Height="Auto" />
                                <RowDefinition Height="Auto" />
                            </Grid.RowDefinitions>
                            
                            <!-- Additional Content - Outer Grid-->
                            <ContentControl x:Name="additionalContentTop"
                                            Grid.Row="0"
                                            Grid.Column="0"
                                            Grid.ColumnSpan="4"
                                            HorizontalAlignment="Stretch"
                                            VerticalAlignment="Stretch"
                                            Content="{TemplateBinding AdditionalContentTop}" />
                            <ContentControl x:Name="additionalContentBottom"
                                            Grid.Row="2"
                                            Grid.Column="0"
                                            Grid.ColumnSpan="4"
                                            HorizontalAlignment="Stretch"
                                            VerticalAlignment="Stretch"
                                            Content="{TemplateBinding AdditionalContentBottom}" />
                            <ContentControl x:Name="additionalContentLeft"
                                            Grid.Row="1"
                                            Grid.Column="0"
                                            HorizontalAlignment="Stretch"
                                            VerticalAlignment="Stretch"
                                            Content="{TemplateBinding AdditionalContentLeft}" />
                            <ContentControl x:Name="additionalContentRight"
                                            Grid.Row="1"
                                            Grid.Column="3"
                                            HorizontalAlignment="Stretch"
                                            VerticalAlignment="Stretch"
                                            Content="{TemplateBinding AdditionalContentRight}" />
                            <ContentControl x:Name="additionalContentCenter"
                                            Grid.Row="1"
                                            Grid.Column="1"
                                            HorizontalAlignment="Stretch"
                                            VerticalAlignment="Stretch"
                                            Content="{TemplateBinding AdditionalContentMain}" />

                            <!-- Inner Grid -->
                            <Grid x:Name="innerGrid" 
                                  Grid.Column="1" 
                                  Grid.Row="1" 
                                  VerticalAlignment="Stretch" 
                                  HorizontalAlignment="Stretch">
                                <Grid.ColumnDefinitions>
                                    <ColumnDefinition Width="Auto" />
                                    <ColumnDefinition Width="*" />
                                </Grid.ColumnDefinitions>
                                <!-- Badge Grid -->
                                <Grid x:Name="badgeGrid" 
                                      Grid.Column="0" 
                                      VerticalAlignment="Stretch" 
                                      HorizontalAlignment="Stretch">
                                    <Grid.RowDefinitions>
                                        <RowDefinition Height="Auto" />
                                        <RowDefinition Height="*" />
                                    </Grid.RowDefinitions>
                                    <!-- Additional Content - Over Badge -->
                                    <ContentControl x:Name="additionalContentOverBadge"
                                                    Grid.Row="0"
                                                    HorizontalAlignment="Center"
                                                    VerticalAlignment="Center"
                                                    Margin="10,2,0,2"
                                                    Padding="4,2"
                                                    Content="{TemplateBinding AdditionalContentOverBadge}" />
                                    <!--  Badge  -->
                                    <TextBlock Grid.Row="1"
                                               Style="{StaticResource NotificationBadgeAccentStyle}"
                                               Text="{TemplateBinding BadgeText}"
                                               Visibility="{TemplateBinding BadgeVisibility}" />
                                </Grid>
                                <!-- Text Grid -->
                                <Grid x:Name="textGrid" 
                                      Grid.Column="1" 
                                      VerticalAlignment="Stretch" 
                                      HorizontalAlignment="Stretch"
                                      Margin="10,8">
                                    <Grid.RowDefinitions>
                                        <RowDefinition Height="Auto" />
                                        <RowDefinition Height="*" />
                                    </Grid.RowDefinitions>
                                    <!--  Header and Message  -->
                                    <TextBlock x:Name="headerTextBlock"
                                               Grid.Row="0"
                                               Style="{StaticResource NotificationHeaderTextStyle}"
                                               Text="{TemplateBinding Header}"
                                               Visibility="{TemplateBinding HeaderVisibility}" />
                                    <TextBlock x:Name="messageTextBlock"<commit_msg>Updates badgeGrid to have four (4) RowDefinitions to better center additionalContentOverBadge and the badge control when the NotificationMessage has a large height<commit_after>﻿<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
                    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
                    xmlns:controls="clr-namespace:Enterwell.Clients.Wpf.Notifications.Controls"
                    xmlns:local="clr-namespace:Enterwell.Clients.Wpf.Notifications">

    <SolidColorBrush x:Key="NotificationButtonDarkBackgroundOverlayBrush">#333333</SolidColorBrush>
    <SolidColorBrush x:Key="NotificationButtonDarkBackgroundOverlayPressedBrush">#666666</SolidColorBrush>
    <SolidColorBrush x:Key="NotificationButtonDarkBackgroundOverlayDisabledBrush">#FFFFFF</SolidColorBrush>

    <Style x:Key="NotificationBadgeBaseStyle" TargetType="{x:Type TextBlock}">
        <Setter Property="FontSize" Value="11" />
        <Setter Property="FontWeight" Value="Bold" />
        <Setter Property="Foreground" Value="White" />
        <Setter Property="HorizontalAlignment" Value="Center" />
        <Setter Property="Margin" Value="10,2,0,2" />
        <Setter Property="Padding" Value="4,2" />
        <Setter Property="VerticalAlignment" Value="Center" />
    </Style>

    <Style x:Key="NotificationHeaderTextStyle" TargetType="{x:Type TextBlock}">
        <Setter Property="FontSize" Value="16" />
        <Setter Property="FontWeight" Value="Light" />
        <Setter Property="Foreground" Value="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type controls:NotificationMessage}}, Path=Foreground}" />
        <Setter Property="Margin" Value="0,0,8,0" />
        <Setter Property="TextWrapping" Value="Wrap" />
        <Setter Property="VerticalAlignment" Value="Center" />
    </Style>

    <Style x:Key="NotificationMessageTextStyle" TargetType="{x:Type TextBlock}">
        <Setter Property="Foreground" Value="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type controls:NotificationMessage}}, Path=Foreground}" />
        <Setter Property="Margin" Value="0,0,8,0" />
        <Setter Property="TextWrapping" Value="Wrap" />
        <Setter Property="VerticalAlignment" Value="Center" />
    </Style>

    <Style x:Key="NotificationMessageButtonStyle" TargetType="{x:Type Button}">
        <Setter Property="Foreground" Value="#EAEAEA" />
        <Setter Property="HorizontalContentAlignment" Value="Center" />
        <Setter Property="Padding" Value="12,2" />
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="{x:Type Button}">
                    <Grid>
                        <Border x:Name="backgroundBorder"
                                Background="{TemplateBinding Background}"
                                BorderBrush="{TemplateBinding Background}"
                                BorderThickness="{TemplateBinding BorderThickness}"
                                SnapsToDevicePixels="True" />
                        <Border x:Name="backgroundOverlay"
                                BorderThickness="0"
                                Opacity="0.3"
                                SnapsToDevicePixels="True" />
                        <ContentPresenter x:Name="contentPresenter"
                                          Margin="{TemplateBinding Padding}"
                                          HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
                                          VerticalAlignment="{TemplateBinding VerticalContentAlignment}"
                                          Content="{TemplateBinding Content}"
                                          ContentStringFormat="{TemplateBinding ContentStringFormat}"
                                          ContentTemplate="{TemplateBinding ContentTemplate}"
                                          Focusable="False"
                                          RecognizesAccessKey="True"
                                          SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" />
                    </Grid>
                    <ControlTemplate.Triggers>
                        <Trigger Property="Button.IsDefaulted" Value="True">
                            <Setter TargetName="backgroundBorder" Property="BorderBrush" Value="{DynamicResource {x:Static SystemColors.HighlightBrush}}" />
                        </Trigger>
                        <Trigger Property="IsMouseOver" Value="True">
                            <Setter TargetName="backgroundOverlay" Property="Background" Value="{StaticResource NotificationButtonDarkBackgroundOverlayBrush}" />
                        </Trigger>
                        <Trigger Property="IsPressed" Value="True">
                            <Setter TargetName="backgroundOverlay" Property="Background" Value="{StaticResource NotificationButtonDarkBackgroundOverlayPressedBrush}" />
                        </Trigger>
                        <Trigger Property="IsEnabled" Value="False">
                            <Setter TargetName="backgroundOverlay" Property="Background" Value="{StaticResource NotificationButtonDarkBackgroundOverlayDisabledBrush}" />
                        </Trigger>
                    </ControlTemplate.Triggers>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
        <Setter Property="VerticalContentAlignment" Value="Center" />
    </Style>

    <Style TargetType="{x:Type controls:NotificationMessage}">
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="{x:Type controls:NotificationMessage}">
                    <!-- Border for the Notification Message -->
                    <Border x:Name="notificationMessageBorder" MinHeight="35"
                            VerticalAlignment="Top"
                            Background="{TemplateBinding Background}"
                            BorderBrush="#882F2F2F"
                            BorderThickness="0,0,0,1"
                            SnapsToDevicePixels="True"
                            UseLayoutRounding="True">
                        <!-- Outer Grid -->
                        <Grid x:Name="outerGrid">
                            <Grid.Resources>
                                <!--  Accent Button Style  -->
                                <Style BasedOn="{StaticResource NotificationMessageButtonStyle}" TargetType="{x:Type controls:NotificationMessageButton}">
                                    <Setter Property="Background" 
                                            Value="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type controls:NotificationMessage}}, Path=ButtonAccentBrush}" />
                                </Style>
                                <!--  Accent Badge Style  -->
                                <Style x:Key="NotificationBadgeAccentStyle"
                                       BasedOn="{StaticResource NotificationBadgeBaseStyle}"
                                       TargetType="{x:Type TextBlock}">
                                    <Setter Property="Background" 
                                            Value="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type controls:NotificationMessage}}, Path=BadgeAccentBrush}" />
                                </Style>
                            </Grid.Resources>
                            <Grid.ColumnDefinitions>
                                <ColumnDefinition Width="Auto" />
                                <ColumnDefinition Width="*" />
                                <ColumnDefinition Width="Auto" />
                                <ColumnDefinition Width="Auto" />
                            </Grid.ColumnDefinitions>
                            <Grid.RowDefinitions>
                                <RowDefinition Height="Auto" />
                                <RowDefinition Height="Auto" />
                                <RowDefinition Height="Auto" />
                            </Grid.RowDefinitions>
                            
                            <!-- Additional Content - Outer Grid-->
                            <ContentControl x:Name="additionalContentTop"
                                            Grid.Row="0"
                                            Grid.Column="0"
                                            Grid.ColumnSpan="4"
                                            HorizontalAlignment="Stretch"
                                            VerticalAlignment="Stretch"
                                            Content="{TemplateBinding AdditionalContentTop}" />
                            <ContentControl x:Name="additionalContentBottom"
                                            Grid.Row="2"
                                            Grid.Column="0"
                                            Grid.ColumnSpan="4"
                                            HorizontalAlignment="Stretch"
                                            VerticalAlignment="Stretch"
                                            Content="{TemplateBinding AdditionalContentBottom}" />
                            <ContentControl x:Name="additionalContentLeft"
                                            Grid.Row="1"
                                            Grid.Column="0"
                                            HorizontalAlignment="Stretch"
                                            VerticalAlignment="Stretch"
                                            Content="{TemplateBinding AdditionalContentLeft}" />
                            <ContentControl x:Name="additionalContentRight"
                                            Grid.Row="1"
                                            Grid.Column="3"
                                            HorizontalAlignment="Stretch"
                                            VerticalAlignment="Stretch"
                                            Content="{TemplateBinding AdditionalContentRight}" />
                            <ContentControl x:Name="additionalContentCenter"
                                            Grid.Row="1"
                                            Grid.Column="1"
                                            HorizontalAlignment="Stretch"
                                            VerticalAlignment="Stretch"
                                            Content="{TemplateBinding AdditionalContentMain}" />

                            <!-- Inner Grid -->
                            <Grid x:Name="innerGrid" 
                                  Grid.Column="1" 
                                  Grid.Row="1" 
                                  VerticalAlignment="Stretch" 
                                  HorizontalAlignment="Stretch">
                                <Grid.ColumnDefinitions>
                                    <ColumnDefinition Width="Auto" />
                                    <ColumnDefinition Width="*" />
                                </Grid.ColumnDefinitions>
                                <!-- Badge Grid -->
                                <Grid x:Name="badgeGrid" 
                                      Grid.Column="0" 
                                      VerticalAlignment="Stretch" 
                                      HorizontalAlignment="Stretch">
                                    <Grid.RowDefinitions>
                                        <RowDefinition Height="*" />
                                        <RowDefinition Height="Auto" />
                                        <RowDefinition Height="Auto" />
                                        <RowDefinition Height="*" />
                                    </Grid.RowDefinitions>
                                    <!-- Additional Content - Over Badge -->
                                    <ContentControl x:Name="additionalContentOverBadge"
                                                    Grid.Row="1"
                                                    HorizontalAlignment="Center"
                                                    VerticalAlignment="Center"
                                                    Margin="10,2,0,2"
                                                    Padding="4,2"
                                                    Content="{TemplateBinding AdditionalContentOverBadge}" />
                                    <!--  Badge  -->
                                    <TextBlock Grid.Row="2"
                                               Style="{StaticResource NotificationBadgeAccentStyle}"
                                               Text="{TemplateBinding BadgeText}"
                                               Visibility="{TemplateBinding BadgeVisibility}" />
                                </Grid>
                                <!-- Text Grid -->
                                <Grid x:Name="textGrid" 
                                      Grid.Column="1" 
                                      VerticalAlignment="Stretch" 
                                      HorizontalAlignment="Stretch"
                                      Margin="10,8">
                                    <Grid.RowDefinitions>
                                        <RowDefinition Height="Auto" />
                                        <RowDefinition Height="*" />
                                    </Grid.RowDefinitions>
                                    <!--  Header and Message  -->
                                    <TextBlock x:Name="headerTextBlock"
                                               Grid.Row="0"
                                               Style="{StaticResource NotificationHeaderTextStyle}"
                                               Text="{TemplateBinding Header}"
                                               Visibility="{TemplateBinding HeaderVisibility}" />
                                    <TextBlock x:Name="messageTextBlock"
{'fraction_non_alphanumeric': 0.0887637628662626, 'fraction_numerical': 0.006132769070759961, 'mean_word_length': 1.115950827136136, 'pattern_counts': {'":': 0, '<': 249, '<?xml version=': 0, '>': 247, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 8}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 278, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2491915', 'n_tokens_mistral': 5477, 'n_tokens_neox': 4870, 'n_words': 810}