[
  {
    "name": "id",
    "type": "string",
    "required": false,
    "description": "The ID of the input. Defaults to the value of `name`.",
    "released": "10.5.0"
  },
  {
    "name": "name",
    "type": "string",
    "required": true,
    "description": "The name of the input, which is submitted with the form data.",
    "released": "10.5.0"
  },
  {
    "name": "value",
    "type": "string",
    "required": false,
    "description": "Optional initial value of the input.",
    "released": "10.5.0"
  },
  {
    "name": "disabled",
    "type": "boolean",
    "required": false,
    "description": "If `true`, input will be disabled.",
    "released": "10.5.0"
  },
  {
    "name": "describedBy",
    "type": "string",
    "required": false,
    "description": "One or more element IDs to add to the `aria-describedby` attribute, used to provide additional descriptive information for screenreader users.",
    "released": "10.5.0"
  },
  {
    "name": "label",
    "type": "object",
    "required": true,
    "description": "The label used by the search input component.",
    "released": "10.5.0",
    "isComponent": true
  },
  {
    "name": "hint",
    "type": "object",
    "required": false,
    "description": "Can be used to add a hint to a search input component.",
    "released": "10.5.0",
    "isComponent": true
  },
  {
    "name": "errorMessage",
    "type": "object",
    "required": false,
    "description": "Can be used to add an error message to the search input component. The error message component will not display if you use a falsy value for `errorMessage`, for example `false` or `null`.",
    "released": "10.5.0",
    "isComponent": true
  },
  {
    "name": "prefix",
    "type": "object",
    "required": false,
    "description": "Can be used to add a prefix to the search input component.",
    "released": "10.5.0",
    "params": [
      {
        "name": "text",
        "type": "string",
        "required": true,
        "description": "Required. If `html` is set, this is not required. Text to use within the prefix. If `html` is provided, the `text` option will be ignored.",
        "released": "10.5.0"
      },
      {
        "name": "html",
        "type": "string",
        "required": true,
        "description": "Required. If `text` is set, this is not required. HTML to use within the prefix. If `html` is provided, the `text` option will be ignored.",
        "released": "10.5.0"
      },
      {
        "name": "classes",
        "type": "string",
        "required": false,
        "description": "Classes to add to the prefix.",
        "released": "10.5.0"
      },
      {
        "name": "attributes",
        "type": "object",
        "required": false,
        "description": "HTML attributes (for example data attributes) to add to the prefix element.",
        "released": "10.5.0"
      }
    ]
  },
  {
    "name": "suffix",
    "type": "object",
    "required": false,
    "description": "Can be used to add a suffix to the search input component.",
    "released": "10.5.0",
    "params": [
      {
        "name": "text",
        "type": "string",
        "required": true,
        "description": "If `html` is set, this is not required. Text to use within the suffix. If `html` is provided, the `text` option will be ignored.",
        "released": "10.5.0"
      },
      {
        "name": "html",
        "type": "string",
        "required": true,
        "description": "If `text` is set, this is not required. HTML to use within the suffix. If `html` is provided, the `text` option will be ignored.",
        "released": "10.5.0"
      },
      {
        "name": "classes",
        "type": "string",
        "required": false,
        "description": "Classes to add to the suffix element.",
        "released": "10.5.0"
      },
      {
        "name": "attributes",
        "type": "object",
        "required": false,
        "description": "HTML attributes (for example data attributes) to add to the suffix element.",
        "released": "10.5.0"
      }
    ]
  },
  {
    "name": "code",
    "type": "boolean",
    "required": false,
    "description": "If set to `true`, use a monospace font for codes or sequences.",
    "released": "10.5.0"
  },
  {
    "name": "width",
    "type": "integer",
    "required": false,
    "description": "Optional fixed width for the search input component – `2`, `3`, `4`, `5`, `10`, `20` or `30`.",
    "released": "10.5.0"
  },
  {
    "name": "large",
    "type": "boolean",
    "required": false,
    "description": "If set to `true`, larger input size will be used.",
    "released": "10.5.0"
  },
  {
    "name": "formGroup",
    "type": "object",
    "required": false,
    "description": "Additional options for the form group containing the search input component.",
    "released": "10.5.0",
    "params": [
      {
        "name": "classes",
        "type": "string",
        "required": false,
        "description": "Classes to add to the form group (for example to show error state for the whole group).",
        "released": "10.5.0"
      },
      {
        "name": "attributes",
        "type": "object",
        "required": false,
        "description": "HTML attributes (for example data attributes) to add to the form group.",
        "released": "10.5.0"
      },
      {
        "name": "beforeInput",
        "type": "object",
        "required": false,
        "description": "Content to add before the input used by the search input component.",
        "released": "10.5.0",
        "params": [
          {
            "name": "text",
            "type": "string",
            "required": true,
            "description": "Text to add before the input. If `html` is provided, the `text` option will be ignored.",
            "released": "10.5.0"
          },
          {
            "name": "html",
            "type": "string",
            "required": true,
            "description": "HTML to add before the input. If `html` is provided, the `text` option will be ignored.",
            "released": "10.5.0"
          }
        ]
      },
      {
        "name": "afterInput",
        "type": "object",
        "required": false,
        "description": "Content to add after the input used by the search input component.",
        "released": "10.5.0",
        "params": [
          {
            "name": "text",
            "type": "string",
            "required": true,
            "description": "Text to add after the input. If `html` is provided, the `text` option will be ignored.",
            "released": "10.5.0"
          },
          {
            "name": "html",
            "type": "string",
            "required": true,
            "description": "HTML to add after the input. If `html` is provided, the `text` option will be ignored.",
            "released": "10.5.0"
          }
        ]
      }
    ]
  },
  {
    "name": "classes",
    "type": "string",
    "required": false,
    "description": "Classes to add to the input.",
    "released": "10.5.0"
  },
  {
    "name": "autocomplete",
    "type": "string",
    "required": false,
    "description": "Attribute to meet [WCAG success criterion 1.3.5: Identify input purpose](https://www.w3.org/WAI/WCAG22/Understanding/identify-input-purpose.html), for instance `\"bday-day\"`. See the [Autofill section in the HTML standard](https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#autofill) for a full list of attributes that can be used. Default is `\"off\"`.",
    "released": "10.5.0"
  },
  {
    "name": "pattern",
    "type": "string",
    "required": false,
    "description": "Attribute to provide a regular expression pattern, used to match allowed character combinations for the input value.",
    "released": "10.5.0"
  },
  {
    "name": "inputWrapper",
    "type": "object",
    "required": false,
    "description": "Additional options for the wrapping element containing the search input component.",
    "released": "10.5.0",
    "params": [
      {
        "name": "classes",
        "type": "string",
        "required": false,
        "description": "Classes to add to the wrapping element.",
        "released": "10.5.0"
      },
      {
        "name": "attributes",
        "type": "object",
        "required": false,
        "description": "HTML attributes (for example data attributes) to add to the wrapping element.",
        "released": "10.5.0"
      }
    ]
  },
  {
    "name": "attributes",
    "type": "object",
    "required": false,
    "description": "HTML attributes (for example data attributes) to add to the input.",
    "released": "10.5.0"
  },
  {
    "name": "button",
    "type": "object",
    "required": false,
    "description": "Optional object allowing customisation of the search button.",
    "released": "10.5.0",
    "isComponent": true,
    "params": [
      {
        "name": "variant",
        "type": "string",
        "required": false,
        "description": "Optional variant of search button – `\"brand\"`, `\"login\"`, `\"reverse\"`, `\"secondary\"`, `\"secondary-solid\"` or `\"warning\"`.",
        "released": "10.5.0"
      },
      {
        "name": "classes",
        "type": "string",
        "required": false,
        "description": "Classes to add to the search button.",
        "released": "10.5.0"
      },
      {
        "name": "ariaLabel",
        "type": "string",
        "required": false,
        "description": "Button text exposed to assistive technologies, like screen readers, when only an icon is used.",
        "released": "10.5.0"
      },
      {
        "name": "icon",
        "type": "object",
        "required": false,
        "description": "Can be used to add an icon to the search button.",
        "released": "10.5.0",
        "params": [
          {
            "name": "name",
            "type": "string",
            "required": true,
            "description": "Icon name for the button – for example, `\"search\"`, `\"arrow-right\"`, `\"plus\"` or `\"minus\"`.",
            "released": "10.5.0"
          },
          {
            "name": "html",
            "type": "string",
            "required": true,
            "description": "HTML to use for the icon, as an alternative to the `name` option. If `html` is provided, the `name` option will be ignored.",
            "released": "10.5.0"
          },
          {
            "name": "placement",
            "type": "string",
            "required": true,
            "description": "Placement of the icon within the button – `\"start\"` or `\"end\"`.",
            "released": "10.5.0"
          }
        ]
      }
    ]
  }
]
