Editor/Document/Payloads/ButtonPayload.cs

A small editor payload type representing a button control. It sets the control kind to Button and provides an overrideable Content property for the button label.

using System.Text.Json.Serialization;

namespace Grains.RazorDesigner.Document;

public sealed record ButtonPayload : Payload
{
    [JsonIgnore]
    public override ControlType Kind => ControlType.Button;

    // Button label text. Overrides Payload.Content (neutral default "").
    public override string Content { get; init; } = "";
}