// Copyright Epic Games, Inc. All Rights Reserved.
using System.Text.Json.Serialization;
namespace EpicGames.Slack.Elements
{
///
/// An element which lets users easily select a date from a calendar style UI.
///
public class TimePickerElement : Element
{
///
/// An identifier for this action. You can use this when you receive an interaction payload to identify the source of the action.
/// Should be unique among all other action_ids in the containing block. Maximum length for this field is 255 characters.
///
[JsonPropertyName("action_id")]
public string ActionId { get; set; }
///
/// A plain_text only text object that defines the placeholder text shown on the datepicker. Maximum length for the text in this field is 150 characters.
///
[JsonPropertyName("placeholder")]
public PlainTextObject? Placeholder { get; set; }
///
/// The initial time that is selected when the element is loaded. This should be in the format HH:mm, where HH is the 24-hour format of an hour (00 to 23) and mm is minutes with leading zeros (00 to 59), for example 22:25 for 10:25pm.
///
[JsonPropertyName("initial_time")]
public string? InitialTime { get; set; }
///
/// A confirm object that defines an optional confirmation dialog that appears after clicking one of the checkboxes in this element.
///
[JsonPropertyName("confirm")]
public SlackConfirm? Confirm { get; set; }
///
/// Indicates whether the element will be set to auto focus within the view object. Only one element can be set to true. Defaults to false.
///
[JsonPropertyName("focus_on_load")]
public bool FocusOnLoad { get; set; }
///
/// Construct a new Button action element.
///
public TimePickerElement(string actionId)
: base("timepicker")
{
ActionId = actionId;
}
}
}