123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474 |
- <ResourceDictionary
- xmlns="https://github.com/avaloniaui"
- xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
- xmlns:controls="clr-namespace:SukiUI.Controls"
- xmlns:suki="https://github.com/kikipoulet/SukiUI"
- xmlns:theme="clr-namespace:SukiUI.Theme">
- <ControlTheme x:Key="SukiButtonStyle" TargetType="Button">
- <Setter Property="BorderThickness" Value="1.2" />
- <Setter Property="BorderBrush" Value="{DynamicResource SukiMediumBorderBrush}" />
- <Setter Property="CornerRadius" Value="{DynamicResource SmallCornerRadius}" />
- <Setter Property="Background" Value="{DynamicResource SukiBackground}" />
- <Setter Property="VerticalContentAlignment" Value="Center" />
- <Setter Property="HorizontalContentAlignment" Value="Center" />
- <Setter Property="FontSize" Value="15" />
- <Setter Property="Padding" Value="20,8" />
- <Setter Property="Cursor" Value="Hand" />
- <Setter Property="Template">
- <ControlTemplate>
- <Border
- Name="RootBorder"
- Padding="{TemplateBinding Padding}"
- Background="{TemplateBinding Background}"
- BorderBrush="{TemplateBinding BorderBrush}"
- BorderThickness="{TemplateBinding BorderThickness}"
- CornerRadius="{TemplateBinding CornerRadius}"
- TextElement.Foreground="{TemplateBinding Foreground}">
- <Border.Transitions>
- <Transitions>
- <DoubleTransition Property="Opacity" Duration="0:0:0.35" />
- </Transitions>
- </Border.Transitions>
- <Border.Resources>
- <theme:BoolToWidthProgressConverter x:Key="WidthConverter" />
- </Border.Resources>
- <StackPanel HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" Orientation="Horizontal">
- <Viewbox
- Width="{TemplateBinding theme:ButtonExtensions.ShowProgress,
- Converter={StaticResource WidthConverter}}"
- Height="24"
- Margin="0,-5">
- <Viewbox.Transitions>
- <Transitions>
- <DoubleTransition Property="Width" Duration="0:0:0.3" />
- </Transitions>
- </Viewbox.Transitions>
- <ContentPresenter Content="{TemplateBinding theme:ButtonExtensions.ShowProgress, Converter={x:Static suki:ProgressToContentCOnverter.Instance}}" />
- </Viewbox>
- <ContentPresenter
- HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}"
- VerticalContentAlignment="{TemplateBinding VerticalContentAlignment}"
- Content="{TemplateBinding Content}"
- FontFamily="{TemplateBinding FontFamily}"
- FontSize="{TemplateBinding FontSize}"
- FontWeight="{DynamicResource DefaultDemiBold}"
- RecognizesAccessKey="True" />
- </StackPanel>
- </Border>
- </ControlTemplate>
- </Setter>
- <Setter Property="Transitions">
- <Transitions>
- <BrushTransition Property="Background" Duration="0:0:0.35" />
- <DoubleTransition Property="Opacity" Duration="0:0:0.35" />
- </Transitions>
- </Setter>
- <!-- Nested Selectors For Basic Button -->
- <Style Selector="^ /template/ TextBlock">
- <Setter Property="FontSize" Value="15" />
- <Setter Property="FontWeight" Value="{DynamicResource DefaultDemiBold}" />
- <Setter Property="Transitions">
- <Transitions>
- <BrushTransition Property="Foreground" Duration="0:0:0.3" />
- </Transitions>
- </Setter>
- </Style>
- <Style Selector="^ /template/ controls|Loading">
- <Setter Property="Foreground" Value="{DynamicResource SukiPrimaryColor}" />
- </Style>
- <Style Selector="^ /template/ Border">
- <Setter Property="Transitions">
- <Transitions>
- <BrushTransition Property="BorderBrush" Duration="0:0:0.3" />
- <BrushTransition Property="Background" Duration="0:0:0.3" />
- </Transitions>
- </Setter>
- </Style>
- <Style Selector="^ /template/ ContentPresenter">
- <Setter Property="Foreground" Value="{DynamicResource SukiText}" />
- <Setter Property="FontSize" Value="15" />
- <Setter Property="Transitions">
- <Transitions>
- <BrushTransition Property="Foreground" Duration="0:0:0.3" />
- </Transitions>
- </Setter>
- </Style>
- <Style Selector="^:disabled /template/ Border#RootBorder">
- <Setter Property="Opacity" Value="0.5" />
- </Style>
- <!-- Events For Basic Button -->
- <Style Selector="^:pointerover">
- <Style Selector="^ /template/ TextBlock">
- <Setter Property="Foreground" Value="{DynamicResource SukiPrimaryColor}" />
- </Style>
- <Style Selector="^ /template/ ContentPresenter">
- <Setter Property="Foreground" Value="{DynamicResource SukiPrimaryColor}" />
- </Style>
- <Style Selector="^ /template/ Border">
- <Setter Property="BorderBrush" Value="{DynamicResource SukiPrimaryColor}" />
- </Style>
- </Style>
- <Style Selector="^:pressed">
- <Style Selector="^ /template/ TextBlock">
- <Setter Property="Foreground" Value="{DynamicResource SukiPrimaryColor}" />
- </Style>
- <Style Selector="^ /template/ Border">
- <!-- <Setter Property="Background" Value="{DynamicResource SukiCardBackground}" /> -->
- <Setter Property="BorderBrush" Value="{DynamicResource SukiPrimaryColor}" />
- <Setter Property="RenderTransform">
- <Setter.Value>
- <ScaleTransform ScaleX="0.97" ScaleY="0.97" />
- </Setter.Value>
- </Setter>
- </Style>
- <Style Selector="^ /template/ ContentPresenter">
- <Setter Property="Foreground" Value="{DynamicResource SukiPrimaryColor}" />
- </Style>
- </Style>
- <!-- Classes -->
- <Style Selector="^.NoPressedAnimation">
- <Style Selector="^:pressed">
- <Style Selector="^ /template/ TextBlock">
- <Setter Property="Foreground" Value="{DynamicResource SukiPrimaryColor}" />
- </Style>
- <Style Selector="^ /template/ Border">
- <Setter Property="Background" Value="{DynamicResource SukiCardBackground}" />
- <Setter Property="BorderBrush" Value="{DynamicResource SukiPrimaryColor}" />
- <Setter Property="RenderTransform">
- <Setter.Value>
- <ScaleTransform ScaleX="1" ScaleY="1" />
- </Setter.Value>
- </Setter>
- </Style>
- <Style Selector="^ /template/ ContentPresenter">
- <Setter Property="Foreground" Value="{DynamicResource SukiPrimaryColor}" />
- </Style>
- </Style>
- </Style>
- <!-- Classes -->
- <Style Selector="^.Accent">
- <Style Selector="^:pointerover">
- <Style Selector="^ /template/ TextBlock">
- <Setter Property="Foreground" Value="{DynamicResource SukiAccentColor75}" />
- </Style>
- <Style Selector="^ /template/ ContentPresenter">
- <Setter Property="Foreground" Value="{DynamicResource SukiAccentColor75}" />
- </Style>
- <Style Selector="^ /template/ Border">
- <Setter Property="BorderBrush" Value="{DynamicResource SukiAccentColor}" />
- </Style>
- </Style>
- <Style Selector="^:pressed">
- <Style Selector="^ /template/ TextBlock">
- <Setter Property="Foreground" Value="{DynamicResource SukiAccentColor}" />
- </Style>
- <Style Selector="^ /template/ Border">
- <Setter Property="Background" Value="{DynamicResource SukiCardBackground}" />
- <Setter Property="BorderBrush" Value="{DynamicResource SukiAccentColor}" />
- <Setter Property="RenderTransform">
- <Setter.Value>
- <ScaleTransform ScaleX="0.97" ScaleY="0.97" />
- </Setter.Value>
- </Setter>
- </Style>
- <Style Selector="^ /template/ ContentPresenter">
- <Setter Property="Foreground" Value="{DynamicResource SukiAccentColor}" />
- </Style>
- </Style>
- </Style>
- <Style Selector="^.Basic">
- <Setter Property="BorderThickness" Value="0" />
- <Setter Property="BorderBrush" Value="Transparent" />
- <Setter Property="Padding" Value="11,8" />
- <Setter Property="CornerRadius" Value="5" />
- <Setter Property="Background" Value="Transparent" />
- <!-- Nested Selectors -->
- <Style Selector="^ /template/ TextBlock">
- <Setter Property="Foreground" Value="{DynamicResource SukiPrimaryColor}" />
- </Style>
- <Style Selector="^ /template/ controls|Loading">
- <Setter Property="Foreground" Value="{DynamicResource SukiPrimaryColor}" />
- </Style>
- <Style Selector="^ /template/ Border">
- <Setter Property="BoxShadow" Value="0 0 0 0 Transparent" />
- </Style>
- <Style Selector="^ /template/ ContentPresenter">
- <Setter Property="Foreground" Value="{DynamicResource SukiPrimaryColor}" />
- </Style>
- <!-- Events -->
- <Style Selector="^:pointerover">
- <Setter Property="Background" Value="Transparent" />
- <Style Selector="^ /template/ Border">
- <Setter Property="RenderTransform">
- <Setter.Value>
- <ScaleTransform ScaleX="1.03" ScaleY="1.03" />
- </Setter.Value>
- </Setter>
- </Style>
- </Style>
- <Style Selector="^:pressed /template/ Border">
- <Setter Property="Background" Value="Transparent" />
- </Style>
- <!-- Color Variants -->
- <Style Selector="^.Accent">
- <Style Selector="^ /template/ TextBlock">
- <Setter Property="Foreground" Value="{DynamicResource SukiAccentColor}" />
- </Style>
- <Style Selector="^ /template/ controls|Loading">
- <Setter Property="Foreground" Value="{DynamicResource SukiAccentColor}" />
- </Style>
- <Style Selector="^ /template/ ContentPresenter">
- <Setter Property="Foreground" Value="{DynamicResource SukiAccentColor}" />
- </Style>
- </Style>
- </Style>
- <Style Selector="^.Void">
- <Setter Property="BorderThickness" Value="0" />
- <Setter Property="BorderBrush" Value="Transparent" />
- <Setter Property="Padding" Value="0" />
- <Setter Property="CornerRadius" Value="5" />
- <Setter Property="Margin" Value="0" />
- <Setter Property="Background" Value="Transparent" />
- <!-- Nested Selectors -->
- <Style Selector="^ /template/ Border">
- <Setter Property="BoxShadow" Value="0 0 0 0 Transparent" />
- </Style>
- <!-- Events -->
- <Style Selector="^:pointerover /template/ Border">
- <Setter Property="RenderTransform">
- <Setter.Value>
- <ScaleTransform ScaleX="1.03" ScaleY="1.03" />
- </Setter.Value>
- </Setter>
- </Style>
- </Style>
- <Style Selector="^.Flat">
- <Setter Property="Padding" Value="20,8,20,8" />
- <Setter Property="BorderThickness" Value="0" />
- <Setter Property="Background" Value="{DynamicResource SukiPrimaryColor}" />
- <Setter Property="Transitions">
- <Transitions>
- <BrushTransition Property="Background" Duration="0:0:0.2" />
- </Transitions>
- </Setter>
- <!-- Nested Selectors -->
- <Style Selector="^ /template/ TextBlock">
- <Setter Property="Foreground" Value="White" />
- </Style>
- <Style Selector="^ /template/ controls|Loading">
- <Setter Property="Foreground" Value="White" />
- </Style>
- <Style Selector="^ /template/ ContentPresenter">
- <Setter Property="Foreground" Value="White" />
- </Style>
- <Style Selector="^ /template/ Border">
- <Setter Property="BoxShadow" Value="{DynamicResource SukiLowShadow}" />
- </Style>
- <!-- Events -->
- <Style Selector="^:pointerover">
- <Setter Property="Background" Value="{DynamicResource SukiPrimaryColor}" />
- </Style>
- <Style Selector="^:pressed /template/ Border">
- <Setter Property="Background" Value="{DynamicResource SukiPrimaryColor}" />
- </Style>
- <!-- Color Variants -->
- <Style Selector="^.Accent">
- <Setter Property="Background" Value="{DynamicResource SukiAccentColor75}" />
- <Style Selector="^:pointerover">
- <Setter Property="Background" Value="{DynamicResource SukiAccentColor}" />
- </Style>
- <Style Selector="^:pressed /template/ Border">
- <Setter Property="Background" Value="{DynamicResource SukiAccentColor}" />
- </Style>
- </Style>
- </Style>
- <Style Selector="^.Outlined">
- <Setter Property="BorderThickness" Value="1" />
- <Setter Property="BorderBrush" Value="{DynamicResource SukiPrimaryColor}" />
- <Setter Property="Background" Value="Transparent" />
- <Setter Property="Transitions">
- <Transitions>
- <BrushTransition Property="Background" Duration="0:0:0.3" />
- <BrushTransition Property="BorderBrush" Duration="0:0:0.3" />
- </Transitions>
- </Setter>
- <!-- Nested Selectors -->
- <Style Selector="^ /template/ TextBlock">
- <Setter Property="Foreground" Value="{DynamicResource SukiPrimaryColor}" />
- <Setter Property="Transitions">
- <Transitions>
- <BrushTransition Property="Foreground" Duration="0:0:0.3" />
- </Transitions>
- </Setter>
- </Style>
- <Style Selector="^ /template/ controls|Loading">
- <Setter Property="Foreground" Value="{DynamicResource SukiPrimaryColor}" />
- </Style>
- <Style Selector="^ /template/ ContentPresenter">
- <Setter Property="Foreground" Value="{DynamicResource SukiPrimaryColor}" />
- <Setter Property="Transitions">
- <Transitions>
- <BrushTransition Property="Foreground" Duration="0:0:0.3" />
- </Transitions>
- </Setter>
- </Style>
- <!-- Events -->
- <Style Selector="^:pointerover">
- <Setter Property="BorderBrush" Value="Transparent" />
- <Setter Property="Background" Value="{DynamicResource SukiPrimaryColor}" />
- <Style Selector="^ /template/ ContentPresenter">
- <Setter Property="Foreground" Value="White" />
- </Style>
- <Style Selector="^ /template/ TextBlock">
- <Setter Property="Foreground" Value="White" />
- </Style>
- </Style>
- <Style Selector="^:pressed /template/ Border">
- <Setter Property="BorderBrush" Value="Transparent" />
- <Setter Property="Background" Value="{DynamicResource SukiPrimaryColor}" />
- </Style>
- <!-- Color Variants -->
- <Style Selector="^.Accent">
- <Setter Property="BorderBrush" Value="{DynamicResource SukiAccentColor}" />
- <Style Selector="^ /template/ TextBlock">
- <Setter Property="Foreground" Value="{DynamicResource SukiAccentColor}" />
- </Style>
- <Style Selector="^ /template/ controls|Loading">
- <Setter Property="Foreground" Value="{DynamicResource SukiAccentColor}" />
- </Style>
- <Style Selector="^ /template/ ContentPresenter">
- <Setter Property="Foreground" Value="{DynamicResource SukiAccentColor}" />
- </Style>
- <Style Selector="^:pointerover">
- <Setter Property="Background" Value="{DynamicResource SukiAccentColor}" />
- <Style Selector="^ /template/ ContentPresenter">
- <Setter Property="Foreground" Value="White" />
- </Style>
- <Style Selector="^ /template/ TextBlock">
- <Setter Property="Foreground" Value="White" />
- </Style>
- </Style>
- <Style Selector="^:pressed /template/ Border">
- <Setter Property="Background" Value="{DynamicResource SukiAccentColor}" />
- </Style>
- </Style>
- </Style>
- <Style Selector="^.Success">
- <Setter Property="Background" Value="#cdf2ca" />
- <Setter Property="BorderBrush" Value="#b2e1ae" />
- <Style Selector="^ /template/ TextBlock">
- <Setter Property="Foreground" Value="#13831c" />
- </Style>
- <Style Selector="^:pointerover /template/ Border">
- <Setter Property="Background" Value="#d7f5db" />
- </Style>
- <Style Selector="^:pressed /template/ Border">
- <Setter Property="Background" Value="#d7f5db" />
- </Style>
- </Style>
- <Style Selector="^.Danger">
- <Setter Property="Background" Value="#f2caca" />
- <Setter Property="BorderBrush" Value="#e4b5b5" />
- <Style Selector="^ /template/ TextBlock">
- <Setter Property="Foreground" Value="#831313" />
- </Style>
- <Style Selector="^:pointerover /template/ Border">
- <Setter Property="Background" Value="#f5d7d7" />
- </Style>
- <Style Selector="^:pressed /template/ Border">
- <Setter Property="Background" Value="#f5d7d7" />
- </Style>
- </Style>
- <Style Selector="^.Rounded">
- <Setter Property="CornerRadius" Value="100" />
- </Style>
- <Style Selector="^.Card">
- <Setter Property="Padding" Value="20" />
- <Setter Property="CornerRadius" Value="{DynamicResource MediumCornerRadius}" />
- <Setter Property="BorderThickness" Value="1.5" />
- <Setter Property="BorderBrush" Value="{DynamicResource SukiLightBorderBrush}" />
- <Setter Property="Background" Value="{DynamicResource SukiCardBackground}" />
- <Setter Property="Margin" Value="7" />
- <Setter Property="Template">
- <ControlTemplate>
- <ContentPresenter
- Name="PART_ContentPresenter"
- Margin="7"
- Padding="{TemplateBinding Padding}"
- HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}"
- VerticalContentAlignment="{TemplateBinding VerticalContentAlignment}"
- Background="{TemplateBinding Background}"
- BorderBrush="{TemplateBinding BorderBrush}"
- BorderThickness="{TemplateBinding BorderThickness}"
- Content="{TemplateBinding Content}"
- ContentTemplate="{TemplateBinding ContentTemplate}"
- CornerRadius="{TemplateBinding CornerRadius}"
- RecognizesAccessKey="True"
- TextElement.Foreground="{TemplateBinding Foreground}" />
- </ControlTemplate>
- </Setter>
- </Style>
- <Style Selector="^.WindowControlsButton">
- <Setter Property="BorderThickness" Value="0" />
- <Setter Property="CornerRadius" Value="20" />
- <Setter Property="Height" Value="25" />
- <Setter Property="Width" Value="25" />
- <Setter Property="Cursor" Value="Hand" />
- <Setter Property="Background" Value="{DynamicResource SukiPrimaryColor0}" />
- <Setter Property="Padding" Value="0" />
- <Setter Property="Transitions">
- <Transitions>
- <BrushTransition Property="Background" Duration="0.01" />
- </Transitions>
- </Setter>
- <Style Selector="^:pointerover">
- <Setter Property="Background" Value="{DynamicResource SukiPrimaryColor25}" />
- </Style>
- <Style Selector="^.Close">
- <Setter Property="Background" Value="{DynamicResource SukiAccentColor0}" />
- <Style Selector="^:pointerover">
- <Setter Property="Background" Value="{DynamicResource SukiAccentColor25}" />
- </Style>
- </Style>
- </Style>
- <Style Selector="^.Large">
- <Setter Property="FontSize" Value="18" />
- <Setter Property="Padding" Value="30,12" />
- <Setter Property="CornerRadius" Value="9" />
- </Style>
- </ControlTheme>
- <ControlTheme
- x:Key="{x:Type Button}"
- TargetType="Button"
- BasedOn="{StaticResource SukiButtonStyle}" />
- </ResourceDictionary>
|