using Integrations.Data;

using Microsoft.AspNetCore.Components;

namespace Integrations.Components.Entities;
public partial class ModuleTypeSelector
{
	[Parameter, EditorRequired]
	public ModuleType Type { get; set; } = ModuleType.Unknown;
	[Parameter, EditorRequired]
	public EventCallback<ModuleType> TypeChanged { get; set; }

	// Проброс любых дополнительных параметров/атрибутов к MudSelect
	[Parameter(CaptureUnmatchedValues = true)]
	public Dictionary<string, object>? AdditionalAttributes { get; set; }

	private async Task OnTypeChanged(ModuleType value)
	{
		// обновляем локальное состояние
		Type = value;
		// уведомляем родителя (это — «проброс» bind-а наружу)
		await TypeChanged.InvokeAsync(value);
	}
}