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><input></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}