using RobotNet.WebApp.Charts.Enums;
using System.Text.Json.Serialization;

namespace RobotNet.WebApp.Charts.Models.Common;

public class ChartAnimation
{
    /// <summary>
    /// Gets or sets the number of milliseconds an animation takes.
    /// </summary>
    [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
    public long? Duration { get; set; }

    /// <summary>
    /// Delay before starting the animations.
    /// </summary>
    public int Delay { get; set; }

    /// <summary>
    /// If set to true, the animations loop endlessly.
    /// </summary>
    public bool Loop { get; set; }

    /// <summary>
    /// Gets or sets the easing function to use.
    /// </summary>
    public Easing Easing { get; set; }
}
