Basic Action Panel

<PrimerActionPanel Title="Filter Issues"
                    ButtonText="Filters"
                    Items="@filters"
                    IsLinkMode="false"
                    OnItemSelected="HandleSelect" />

Action Panel with Single Selection

<PrimerActionPanel Title="Choose Type"
                    ButtonText="Type"
                    ShowCloseButton="false"
                    IsLinkMode="false"
                    Items="@options"
                    ButtonSize="ButtonSize.Small"
                    ButtonVariant="ButtonVariant.Danger"
                    OnItemSelected="OnSelect" />

Action Panel with Multiple Selection

Select Multiple Types

<PrimerActionPanel Title="Select Multiple Types"
                    ButtonText="Multi"
                    Items="@options"
                    IsLinkMode="false"
                    ShowCloseButton="false"
                    MultipleSelection="true"
                    OnItemsSelected="HandleMultiSelect" />

ActionPanel Options

Available options for ActionPanel component

NameDescriptionDefault ValueCSS Class
Title
Title displayed in the panel
"Filter"
-
ButtonText
Button text to trigger the panel
"Filters"
-
Items
List of selectable filter items
new List<FilterItem>()
-
IsLinkMode
Use link navigation mode
true
-
ShowCloseButton
Show close button inside the panel
true
-
MultipleSelection
Allow multiple item selection
false
-
ButtonVariant
Button style variant
Default
-
ButtonSize
Button size
Small
-
List<FilterItem> filters = new()
{
    new() { Text = "Open issues", Link = "javascript:void(0);" },
    new() { Text = "Your issues", Link = "javascript:void(0);" },
    new() { Text = "Your pull requests", Link = "javascript:void(0);" },
    new() { Text = "Assigned to you", Link = "javascript:void(0);" },
};

List<FilterItem> options = new()
{
    new() { Text = "Option 1" },
    new() { Text = "Option 2" },
    new() { Text = "Option 3" }
};

void HandleSelect(FilterItem selected)
{
    foreach (var item in filters)
        item.IsSelected = false;

    selected.IsSelected = true;
    Console.WriteLine($"Selected: {selected.Text}");
}

void OnSelect(FilterItem selected)
{
    Console.WriteLine($"Selected: {selected.Text}");
}

void HandleMultiSelect(List<FilterItem> selectedItems)
{
    var selectedNames = string.Join(", ", selectedItems.Select(i => i.Text));
    Console.WriteLine($"[Multi Selected]: {selectedNames}");
}