using AIStudio.Tools.PluginSystem.Assistants.Icons; namespace AIStudio.Tools.PluginSystem.Assistants.DataModel; internal sealed class AssistantTextArea : AssistantComponentBase { public override AssistantComponentType Type => AssistantComponentType.TEXT_AREA; public override Dictionary Props { get; set; } = new(); public override List Children { get; set; } = new(); public string Name { get => AssistantComponentPropHelper.ReadString(this.Props, nameof(this.Name)); set => AssistantComponentPropHelper.WriteString(this.Props, nameof(this.Name), value); } public string Label { get => AssistantComponentPropHelper.ReadString(this.Props, nameof(this.Label)); set => AssistantComponentPropHelper.WriteString(this.Props, nameof(this.Label), value); } public string HelperText { get => AssistantComponentPropHelper.ReadString(this.Props, nameof(this.HelperText)); set => AssistantComponentPropHelper.WriteString(this.Props, nameof(this.HelperText), value); } public bool HelperTextOnFocus { get => AssistantComponentPropHelper.ReadBool(this.Props, nameof(this.HelperTextOnFocus), false); set => AssistantComponentPropHelper.WriteBool(this.Props, nameof(this.HelperTextOnFocus), value); } public string Adornment { get => AssistantComponentPropHelper.ReadString(this.Props, nameof(this.Adornment)); set => AssistantComponentPropHelper.WriteString(this.Props, nameof(this.Adornment), value); } public string AdornmentIcon { get => AssistantComponentPropHelper.ReadString(this.Props, nameof(this.AdornmentIcon)); set => AssistantComponentPropHelper.WriteString(this.Props, nameof(this.AdornmentIcon), value); } public string AdornmentText { get => AssistantComponentPropHelper.ReadString(this.Props, nameof(this.AdornmentText)); set => AssistantComponentPropHelper.WriteString(this.Props, nameof(this.AdornmentText), value); } public string AdornmentColor { get => AssistantComponentPropHelper.ReadString(this.Props, nameof(this.AdornmentColor)); set => AssistantComponentPropHelper.WriteString(this.Props, nameof(this.AdornmentColor), value); } public string UserPrompt { get => AssistantComponentPropHelper.ReadString(this.Props, nameof(this.UserPrompt)); set => AssistantComponentPropHelper.WriteString(this.Props, nameof(this.UserPrompt), value); } public string PrefillText { get => AssistantComponentPropHelper.ReadString(this.Props, nameof(this.PrefillText)); set => AssistantComponentPropHelper.WriteString(this.Props, nameof(this.PrefillText), value); } public int? Counter { get => AssistantComponentPropHelper.ReadNullableInt(this.Props, nameof(this.Counter)); set => AssistantComponentPropHelper.WriteNullableInt(this.Props, nameof(this.Counter), value); } public int MaxLength { get => AssistantComponentPropHelper.ReadInt(this.Props, nameof(this.MaxLength), PluginAssistants.TEXT_AREA_MAX_VALUE); set => AssistantComponentPropHelper.WriteInt(this.Props, nameof(this.MaxLength), value); } public bool IsImmediate { get => AssistantComponentPropHelper.ReadBool(this.Props, nameof(this.IsImmediate)); set => AssistantComponentPropHelper.WriteBool(this.Props, nameof(this.IsImmediate), value); } public bool IsSingleLine { get => AssistantComponentPropHelper.ReadBool(this.Props, nameof(this.IsSingleLine), false); set => AssistantComponentPropHelper.WriteBool(this.Props, nameof(this.IsSingleLine), value); } public bool ReadOnly { get => AssistantComponentPropHelper.ReadBool(this.Props, nameof(this.ReadOnly), false); set => AssistantComponentPropHelper.WriteBool(this.Props, nameof(this.ReadOnly), value); } public string Class { get => AssistantComponentPropHelper.ReadString(this.Props, nameof(this.Class)); set => AssistantComponentPropHelper.WriteString(this.Props, nameof(this.Class), value); } public string Style { get => AssistantComponentPropHelper.ReadString(this.Props, nameof(this.Style)); set => AssistantComponentPropHelper.WriteString(this.Props, nameof(this.Style), value); } public Adornment GetAdornmentPos() => Enum.TryParse(this.Adornment, out var position) ? position : MudBlazor.Adornment.Start; public Color GetAdornmentColor() => Enum.TryParse(this.AdornmentColor, out var color) ? color : Color.Default; public string GetIconSvg() => MudBlazorIconRegistry.TryGetSvg(this.AdornmentIcon, out var svg) ? svg : string.Empty; }