// staticdata.dev — inputTypes
// Generated file. Do not edit by hand.
// SPDX-License-Identifier: MIT

export const inputTypes = [
  {
    "type": "button",
    "description": "A push button with no default behavior, displaying the value of the value attribute as its label.",
    "attributes": [
      "value",
      "disabled",
      "form",
      "name",
      "popovertarget",
      "popovertargetaction"
    ]
  },
  {
    "type": "checkbox",
    "description": "A check box that allows selecting or deselecting a single value. Use multiple checkboxes for selecting multiple values.",
    "attributes": [
      "checked",
      "value",
      "required",
      "disabled",
      "name",
      "form"
    ]
  },
  {
    "type": "color",
    "description": "A control for specifying a color via a color-picker widget. By default the value is a lowercase hex color string in #rrggbb format; the newer alpha and colorspace attributes allow alpha and display-p3 values (CSS color syntax).",
    "attributes": [
      "value",
      "list",
      "autocomplete",
      "disabled",
      "name",
      "form",
      "alpha",
      "colorspace"
    ]
  },
  {
    "type": "date",
    "description": "A control for entering a date (year, month, and day) with no time component. Opens a date picker or numeric wheels for year, month, and day.",
    "attributes": [
      "value",
      "min",
      "max",
      "step",
      "list",
      "readonly",
      "required",
      "disabled",
      "autocomplete",
      "name",
      "form"
    ]
  },
  {
    "type": "datetime-local",
    "description": "A control for entering a date and time (year, month, day, hour, and minute) with no timezone information.",
    "attributes": [
      "value",
      "min",
      "max",
      "step",
      "list",
      "readonly",
      "required",
      "disabled",
      "autocomplete",
      "name",
      "form"
    ]
  },
  {
    "type": "email",
    "description": "A field for editing an email address. Validates that the input is a properly-formatted email address before form submission.",
    "attributes": [
      "value",
      "placeholder",
      "size",
      "maxlength",
      "minlength",
      "multiple",
      "pattern",
      "list",
      "readonly",
      "required",
      "disabled",
      "autocomplete",
      "name",
      "form",
      "dirname"
    ]
  },
  {
    "type": "file",
    "description": "A control that lets the user select one or more files from device storage. Use the accept attribute to restrict the types of files.",
    "attributes": [
      "accept",
      "capture",
      "multiple",
      "required",
      "disabled",
      "name",
      "form"
    ]
  },
  {
    "type": "hidden",
    "description": "A control that is not displayed but whose value is submitted with the form. Useful for passing data that should not be edited by the user.",
    "attributes": [
      "value",
      "name",
      "form",
      "autocomplete",
      "dirname"
    ]
  },
  {
    "type": "image",
    "description": "A graphical submit button. Displays an image defined by the src attribute. Clicking submits the form and appends the click coordinates to the form data.",
    "attributes": [
      "src",
      "alt",
      "width",
      "height",
      "formaction",
      "formenctype",
      "formmethod",
      "formnovalidate",
      "formtarget",
      "disabled",
      "name",
      "form",
      "popovertarget",
      "popovertargetaction"
    ]
  },
  {
    "type": "month",
    "description": "A control for entering a month and year, with no timezone. Allows the user to enter a month and year in the form YYYY-MM.",
    "attributes": [
      "value",
      "min",
      "max",
      "step",
      "list",
      "readonly",
      "required",
      "disabled",
      "autocomplete",
      "name",
      "form"
    ]
  },
  {
    "type": "number",
    "description": "A control for entering a number. Includes built-in validation to reject non-numeric entries. Displays a spinner widget in most browsers.",
    "attributes": [
      "value",
      "min",
      "max",
      "step",
      "placeholder",
      "list",
      "readonly",
      "required",
      "disabled",
      "autocomplete",
      "name",
      "form"
    ]
  },
  {
    "type": "password",
    "description": "A single-line text field whose value is obscured with asterisks or dots. Alerts the browser that entry should be kept private.",
    "attributes": [
      "value",
      "placeholder",
      "size",
      "maxlength",
      "minlength",
      "pattern",
      "autocomplete",
      "readonly",
      "required",
      "disabled",
      "inputmode",
      "name",
      "form",
      "dirname"
    ]
  },
  {
    "type": "radio",
    "description": "A radio button that allows selecting exactly one value from a group of options sharing the same name attribute.",
    "attributes": [
      "checked",
      "value",
      "required",
      "disabled",
      "name",
      "form"
    ]
  },
  {
    "type": "range",
    "description": "A control for entering a number within a specified range, displayed as a slider. The exact value is considered less important than approximate.",
    "attributes": [
      "value",
      "min",
      "max",
      "step",
      "list",
      "disabled",
      "autocomplete",
      "name",
      "form"
    ]
  },
  {
    "type": "reset",
    "description": "A button that resets all controls in the form to their initial values. Generally considered bad UX and rarely recommended.",
    "attributes": [
      "value",
      "disabled",
      "name",
      "form",
      "popovertarget",
      "popovertargetaction"
    ]
  },
  {
    "type": "search",
    "description": "A single-line text field for entering search queries. Functionally similar to text but may be styled differently by browsers (e.g., with a clear button).",
    "attributes": [
      "value",
      "placeholder",
      "size",
      "maxlength",
      "minlength",
      "pattern",
      "list",
      "readonly",
      "required",
      "disabled",
      "autocomplete",
      "dirname",
      "spellcheck",
      "name",
      "form"
    ]
  },
  {
    "type": "submit",
    "description": "A button that submits the form to the server. If the value attribute is omitted, the browser supplies a default label such as 'Submit'.",
    "attributes": [
      "value",
      "disabled",
      "form",
      "formaction",
      "formenctype",
      "formmethod",
      "formnovalidate",
      "formtarget",
      "name",
      "dirname",
      "popovertarget",
      "popovertargetaction"
    ]
  },
  {
    "type": "tel",
    "description": "A control for entering a telephone number. Does not enforce any particular format; use pattern for validation. Mobile browsers show a telephone keypad.",
    "attributes": [
      "value",
      "placeholder",
      "size",
      "maxlength",
      "minlength",
      "pattern",
      "list",
      "readonly",
      "required",
      "disabled",
      "autocomplete",
      "name",
      "form",
      "dirname"
    ]
  },
  {
    "type": "text",
    "description": "The default single-line text input control. Used when no other type is more appropriate. Accepts any string value.",
    "attributes": [
      "value",
      "placeholder",
      "size",
      "maxlength",
      "minlength",
      "pattern",
      "list",
      "readonly",
      "required",
      "disabled",
      "autocomplete",
      "dirname",
      "spellcheck",
      "inputmode",
      "name",
      "form"
    ]
  },
  {
    "type": "time",
    "description": "A control for entering a time value (hours and minutes, optionally seconds and fractions of a second) with no timezone component.",
    "attributes": [
      "value",
      "min",
      "max",
      "step",
      "list",
      "readonly",
      "required",
      "disabled",
      "autocomplete",
      "name",
      "form"
    ]
  },
  {
    "type": "url",
    "description": "A field for entering and editing a URL. Validates that the input is a properly-formatted absolute URL before form submission.",
    "attributes": [
      "value",
      "placeholder",
      "size",
      "maxlength",
      "minlength",
      "pattern",
      "list",
      "readonly",
      "required",
      "disabled",
      "autocomplete",
      "spellcheck",
      "name",
      "form",
      "dirname"
    ]
  },
  {
    "type": "week",
    "description": "A control for entering a week-year number and a week number with no timezone, in the form YYYY-Www (e.g. 2024-W12).",
    "attributes": [
      "value",
      "min",
      "max",
      "step",
      "list",
      "readonly",
      "required",
      "disabled",
      "autocomplete",
      "name",
      "form"
    ]
  }
] as const;

export type InputType = (typeof inputTypes)[number];
