<UserControl
    x:Class="Semi.Avalonia.Demo.Pages.ButtonDemo"
    xmlns="https://github.com/avaloniaui"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    mc:Ignorable="d">
    <ScrollViewer>
        <StackPanel HorizontalAlignment="Left" Spacing="20">
            <StackPanel.Styles>
                <Style Selector="SplitButton">
                    <Setter Property="Flyout">
                        <MenuFlyout Placement="BottomEdgeAlignedRight">
                            <MenuItem Header="Submit All" />
                            <MenuItem Header="Submit Updated" />
                        </MenuFlyout>
                    </Setter>
                </Style>
                <Style Selector="DropDownButton">
                    <Setter Property="Flyout">
                        <MenuFlyout Placement="BottomEdgeAlignedRight">
                            <MenuItem Header="Submit All" />
                            <MenuItem Header="Submit Updated" />
                        </MenuFlyout>
                    </Setter>
                </Style>
                <Style Selector="ToggleSplitButton">
                    <Setter Property="Flyout">
                        <MenuFlyout Placement="BottomEdgeAlignedRight">
                            <MenuItem Header="Submit All" />
                            <MenuItem Header="Submit Updated" />
                        </MenuFlyout>
                    </Setter>
                </Style>
            </StackPanel.Styles>

            <TextBlock>Light (Default)</TextBlock>
            <StackPanel Orientation="Horizontal" Spacing="20">
                <Button Classes="Primary">Primary</Button>
                <Button Classes="Secondary">Secondary</Button>
                <Button Classes="Tertiary">Tertiary</Button>
                <Button Classes="Success">Success</Button>
                <Button Classes="Warning">Warning</Button>
                <Button Classes="Danger">Danger</Button>
                <Button Classes="Danger" IsEnabled="False">Disabled</Button>
            </StackPanel>
            <StackPanel Orientation="Horizontal" Spacing="20">
                <Button Classes="Primary Small">Small</Button>
                <Button Classes="Primary">Default</Button>
                <Button Classes="Primary Large">Large</Button>
            </StackPanel>
            <TextBlock>Solid</TextBlock>
            <StackPanel Orientation="Horizontal" Spacing="20">
                <Button Classes="Primary" Theme="{DynamicResource SolidButton}">Primary</Button>
                <Button Classes="Secondary" Theme="{DynamicResource SolidButton}">Secondary</Button>
                <Button Classes="Tertiary" Theme="{DynamicResource SolidButton}">Tertiary</Button>
                <Button Classes="Success" Theme="{DynamicResource SolidButton}">Success</Button>
                <Button Classes="Warning" Theme="{DynamicResource SolidButton}">Warning</Button>
                <Button Classes="Danger" Theme="{DynamicResource SolidButton}">Danger</Button>
                <Button
                    Classes="Danger"
                    IsEnabled="False"
                    Theme="{DynamicResource SolidButton}">
                    Disabled
                </Button>
            </StackPanel>
            <TextBlock>Borderless</TextBlock>
            <StackPanel Orientation="Horizontal" Spacing="20">
                <Button Classes="Primary" Theme="{DynamicResource BorderlessButton}">Primary</Button>
                <Button Classes="Secondary" Theme="{DynamicResource BorderlessButton}">Secondary</Button>
                <Button Classes="Tertiary" Theme="{DynamicResource BorderlessButton}">Tertiary</Button>
                <Button Classes="Success" Theme="{DynamicResource BorderlessButton}">Success</Button>
                <Button Classes="Warning" Theme="{DynamicResource BorderlessButton}">Warning</Button>
                <Button Classes="Danger" Theme="{DynamicResource BorderlessButton}">Danger</Button>
                <Button
                    Classes="Danger"
                    IsEnabled="False"
                    Theme="{DynamicResource BorderlessButton}">
                    Disabled
                </Button>
            </StackPanel>

            <TextBlock>DropDownButton</TextBlock>
            <StackPanel Orientation="Horizontal" Spacing="8">
                <DropDownButton Content="Primary" />
                <DropDownButton Classes="Secondary" Content="Secondary" />
                <DropDownButton Classes="Tertiary" Content="Tertiary" />
                <DropDownButton Classes="Success" Content="Success" />
                <DropDownButton Classes="Warning" Content="Warning" />
                <DropDownButton Classes="Danger" Content="Danger" />
                <DropDownButton
                    Classes="Danger"
                    Content="Disabled"
                    IsEnabled="False" />
            </StackPanel>
            <StackPanel Orientation="Horizontal" Spacing="8">
                <DropDownButton Content="Default" Classes="Success"/>
                <DropDownButton Content="Solid" Theme="{DynamicResource SolidDropDownButton}" Classes="Success"/>
                <DropDownButton Content="Borderless" Theme="{DynamicResource BorderlessDropDownButton}" Classes="Success"/>
                <DropDownButton Content="Default" Classes="Success" IsEnabled="False"/>
                <DropDownButton Content="Solid" Theme="{DynamicResource SolidDropDownButton}" Classes="Success" IsEnabled="False"/>
                <DropDownButton Content="Borderless" Theme="{DynamicResource BorderlessDropDownButton}" Classes="Success" IsEnabled="False"/>
            </StackPanel>
            <StackPanel Orientation="Horizontal" Spacing="8">
                <DropDownButton Classes="Small" Content="Small" />
                <DropDownButton Content="Default" />
                <DropDownButton Classes="Large" Content="Large" />
            </StackPanel>

            <TextBlock>SplitButton</TextBlock>
            <StackPanel Orientation="Horizontal" Spacing="8">
                <SplitButton Content="Primary" />
                <SplitButton Classes="Secondary" Content="Secondary" />
                <SplitButton Classes="Tertiary" Content="Tertiary" />
                <SplitButton Classes="Success" Content="Success" />
                <SplitButton Classes="Warning" Content="Warning" />
                <SplitButton Classes="Danger" Content="Danger" />
                <SplitButton Classes="Danger" Content="Disabled" IsEnabled="False" />
            </StackPanel>
            <StackPanel Orientation="Horizontal" Spacing="8">
                <SplitButton Content="Default" Classes="Success" />
                <SplitButton Theme="{DynamicResource SolidSplitButton}" Content="Solid" Classes="Success" />
                <SplitButton Theme="{DynamicResource BorderlessSplitButton}" Content="Borderless" Classes="Success" />
                <SplitButton Content="Default" Classes="Success" IsEnabled="False" />
                <SplitButton Theme="{DynamicResource SolidSplitButton}" Content="Solid" Classes="Success" IsEnabled="False" />
                <SplitButton Theme="{DynamicResource BorderlessSplitButton}" Content="Borderless" Classes="Success" IsEnabled="False" />
            </StackPanel>
            <StackPanel Orientation="Horizontal" Spacing="8">
                <SplitButton Classes="Small" Content="Small" />
                <SplitButton Content="Default" />
                <SplitButton Classes="Large" Content="Large" />
            </StackPanel>

            <TextBlock>ToggleSplitButton</TextBlock>
            <StackPanel Orientation="Horizontal" Spacing="8">
                <ToggleSplitButton Content="Primary" />
                <ToggleSplitButton Classes="Secondary" Content="Secondary" />
                <ToggleSplitButton Classes="Tertiary" Content="Tertiary" />
                <ToggleSplitButton Classes="Success" Content="Success" />
                <ToggleSplitButton Classes="Warning" Content="Warning" />
                <ToggleSplitButton Classes="Danger" Content="Danger" />
                <ToggleSplitButton Classes="Danger" Content="Disabled" IsEnabled="False" />
            </StackPanel>
            <StackPanel Orientation="Horizontal" Spacing="8">
                <ToggleSplitButton Classes="Small" Content="Small" />
                <ToggleSplitButton Content="Default" />
                <ToggleSplitButton Classes="Large" Content="Large" />
            </StackPanel>
        </StackPanel>
    </ScrollViewer>
</UserControl>