001package react4j.dom.proptypes.html.attributeTypes;
002
003import java.lang.annotation.Documented;
004import javax.annotation.Nonnull;
005import org.intellij.lang.annotations.MagicConstant;
006
007/**
008 * An enumeration specifying the type of input control to render.
009 *
010 * @see <a href="https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#%3Cinput%3E_types"><code>&lt;input&gt;</code> type - MDN</a>
011 */
012@Documented
013@MagicConstant( valuesFromClass = InputType.class )
014public @interface InputType
015{
016  /**
017   * A push button with no default behavior displaying the value of the value attribute, empty by default.
018   */
019  @Nonnull
020  String button = "button";
021  /**
022   * A check box allowing single values to be selected/deselected.
023   */
024  @Nonnull
025  String checkbox = "checkbox";
026  /**
027   * A control for specifying a color; opening a color picker when active in supporting browsers.
028   */
029  @Nonnull
030  String color = "color";
031  /**
032   * A control for entering a date (year, month, and day, with no time). Opens a date picker or numeric wheels for year, month, day when active in supporting browsers.
033   */
034  @Nonnull
035  String date = "date";
036  /**
037   * A control for entering a date and time, with no time zone. Opens a date picker or numeric wheels for date- and time-components when active in supporting browsers.
038   */
039  @Nonnull
040  String datetime_local = "datetime-local";
041  /**
042   * A field for editing an email address. Looks like a text input, but has validation parameters and relevant keyboard in supporting browsers and devices with dynamic keyboards.
043   */
044  @Nonnull
045  String email = "email";
046  /**
047   * A control that lets the user select a file. Use the accept attribute to define the types of files that the control can select.
048   */
049  @Nonnull
050  String file = "file";
051  /**
052   * A control that is not displayed but whose value is submitted to the server.
053   */
054  @Nonnull
055  String hidden = "hidden";
056  /**
057   * A graphical submit button. Displays an image defined by the src attribute. The alt attribute displays if the image src is missing.
058   */
059  @Nonnull
060  String image = "image";
061  /**
062   * A control for entering a month and year, with no time zone.
063   */
064  @Nonnull
065  String month = "month";
066  /**
067   * A control for entering a number. Displays a spinner and adds default validation when supported.
068   * Displays a numeric keypad in some devices with dynamic keypads.
069   */
070  @Nonnull
071  String number = "number";
072  /**
073   * A single-line text field whose value is obscured. Will alert user if site is not secure.
074   */
075  @Nonnull
076  String password = "password";
077  /**
078   * A radio button, allowing a single value to be selected out of multiple choices with the same name value.
079   */
080  @Nonnull
081  String radio = "radio";
082  /**
083   * A control for entering a number whose exact value is not important.
084   * Displays as a range widget defaulting to the middle value. Used in conjunction min and max to define
085   * the range of acceptable values.
086   */
087  @Nonnull
088  String range = "range";
089  /**
090   * A button that resets the contents of the form to default values. Not recommended.
091   */
092  @Nonnull
093  String reset = "reset";
094  /**
095   * A single-line text field for entering search strings. Line-breaks are automatically
096   * removed from the input value. May include a delete icon in supporting browsers that
097   * can be used to clear the field. Displays a search icon instead of enter key on some
098   * devices with dynamic keypads.
099   */
100  @Nonnull
101  String search = "search";
102  /**
103   * A button that submits the form.
104   */
105  @Nonnull
106  String submit = "submit";
107  /**
108   * A control for entering a telephone number.
109   * Displays a telephone keypad in some devices with dynamic keypads.
110   */
111  @Nonnull
112  String tel = "tel";
113  /**
114   * The default value. A single-line text field. Line-breaks are automatically removed from the input value.
115   */
116  @Nonnull
117  String text = "text";
118  /**
119   * A control for entering a time value with no time zone.
120   */
121  @Nonnull
122  String time = "time";
123  /**
124   * A field for entering a URL. Looks like a text input, but has validation parameters and relevant keyboard in supporting browsers and devices with dynamic keyboards.
125   */
126  @Nonnull
127  String url = "url";
128  /**
129   * A control for entering a date consisting of a week-year number and a week number with no time zone.
130   */
131  @Nonnull
132  String week = "week";
133}