@foreach (var image in Images) { var id = Guid.NewGuid();
@if (MultiSelect) { } else { }
}
@code { [Parameter] public double Size { get; set; } [Parameter] public string Value { get; set; } [Parameter] public EventCallback ValueChanged { get; set; } [Parameter] public EventCallback OnPicked { get; set; } [Parameter] public Dictionary Images { get; set; } [Parameter] public bool MultiSelect { get; set; } [Parameter] public HashSet SelectedValues { get; set; } = new(); [Parameter] public EventCallback> SelectedValuesChanged { get; set; } async Task SelectionChanged(string key) { Value = key; if (ValueChanged.HasDelegate) await ValueChanged.InvokeAsync(key); } async Task ToggleSelection(string key) { if (!SelectedValues.Add(key)) SelectedValues.Remove(key); if (SelectedValuesChanged.HasDelegate) await SelectedValuesChanged.InvokeAsync(SelectedValues); } async Task Pick(string key) { Value = key; if (OnPicked.HasDelegate) await OnPicked.InvokeAsync(key); } }