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