{
  "description": "A component that renders styled select inputs for use in forms.",
  "displayName": "Select",
  "methods": [
    {
      "name": "handleStateChange",
      "docblock": null,
      "modifiers": [],
      "params": [
        {
          "name": "changes",
          "type": null
        },
        {
          "name": "downshiftStateAndHelpers",
          "type": null
        }
      ],
      "returns": null
    },
    {
      "name": "onInputChange",
      "docblock": null,
      "modifiers": [],
      "params": [
        {
          "name": "e",
          "type": null
        }
      ],
      "returns": null
    },
    {
      "name": "onItemSelect",
      "docblock": null,
      "modifiers": [],
      "params": [
        {
          "name": "item",
          "type": null
        }
      ],
      "returns": null
    },
    {
      "name": "onWrapperClick",
      "docblock": null,
      "modifiers": [],
      "params": [
        {
          "name": "e",
          "type": null
        }
      ],
      "returns": null
    },
    {
      "name": "focusOnInput",
      "docblock": null,
      "modifiers": [],
      "params": [],
      "returns": null
    },
    {
      "name": "inputRef",
      "docblock": null,
      "modifiers": [],
      "params": [
        {
          "name": "c",
          "type": null
        }
      ],
      "returns": null
    },
    {
      "name": "inputWrapperRef",
      "docblock": null,
      "modifiers": [],
      "params": [
        {
          "name": "c",
          "type": null
        }
      ],
      "returns": null
    },
    {
      "name": "renderTimesIcon",
      "docblock": null,
      "modifiers": [],
      "params": [
        {
          "name": "onItemSelect",
          "type": null
        }
      ],
      "returns": null
    },
    {
      "name": "renderArrowIcon",
      "docblock": null,
      "modifiers": [],
      "params": [
        {
          "name": "isOpen",
          "type": null
        }
      ],
      "returns": null
    },
    {
      "name": "setItems",
      "docblock": "Used by onSearch to change the dropdown items that exist\n@param {*} items",
      "modifiers": [],
      "params": [
        {
          "name": "items",
          "description": null,
          "type": {
            "name": "Array",
            "elements": [
              {
                "name": "signature",
                "type": "object",
                "raw": "{\n  label: string,\n  value: string,\n}",
                "signature": {
                  "properties": [
                    {
                      "key": "label",
                      "value": {
                        "name": "string",
                        "required": true
                      }
                    },
                    {
                      "key": "value",
                      "value": {
                        "name": "string",
                        "required": true
                      }
                    }
                  ]
                }
              }
            ],
            "raw": "Array<Item>",
            "alias": "Items"
          }
        }
      ],
      "returns": {
        "type": {
          "name": "void"
        }
      },
      "description": "Used by onSearch to change the dropdown items that exist"
    }
  ],
  "props": {
    "classes": {
      "flowType": {
        "name": "Object"
      },
      "required": true,
      "description": ""
    },
    "className": {
      "flowType": {
        "name": "string"
      },
      "required": true,
      "description": "Accepts any classNames to be passed down to the component."
    },
    "field": {
      "flowType": {
        "name": "Object"
      },
      "required": true,
      "description": ""
    },
    "form": {
      "flowType": {
        "name": "Object"
      },
      "required": true,
      "description": ""
    },
    "items": {
      "flowType": {
        "name": "Array",
        "elements": [
          {
            "name": "signature",
            "type": "object",
            "raw": "{\n  label: string,\n  value: string,\n}",
            "signature": {
              "properties": [
                {
                  "key": "label",
                  "value": {
                    "name": "string",
                    "required": true
                  }
                },
                {
                  "key": "value",
                  "value": {
                    "name": "string",
                    "required": true
                  }
                }
              ]
            }
          }
        ],
        "raw": "Array<Item>"
      },
      "required": true,
      "description": ""
    },
    "label": {
      "flowType": {
        "name": "string"
      },
      "required": true,
      "description": "Text to be used for the label of the component."
    },
    "loading": {
      "flowType": {
        "name": "boolean"
      },
      "required": true,
      "description": "Shows loading indicator in dropdown"
    },
    "onSearch": {
      "flowType": {
        "name": "signature",
        "type": "function",
        "raw": "(value: {\n  inputValue: string,\n  originalItems: Items,\n  currentItems: Items,\n  setItems: (value: Items) => void,\n}) => Items",
        "signature": {
          "arguments": [
            {
              "name": "value",
              "type": {
                "name": "signature",
                "type": "object",
                "raw": "{\n  inputValue: string,\n  originalItems: Items,\n  currentItems: Items,\n  setItems: (value: Items) => void,\n}",
                "signature": {
                  "properties": [
                    {
                      "key": "inputValue",
                      "value": {
                        "name": "string",
                        "required": true
                      }
                    },
                    {
                      "key": "originalItems",
                      "value": {
                        "name": "Array",
                        "elements": [
                          {
                            "name": "signature",
                            "type": "object",
                            "raw": "{\n  label: string,\n  value: string,\n}",
                            "signature": {
                              "properties": [
                                {
                                  "key": "label",
                                  "value": {
                                    "name": "string",
                                    "required": true
                                  }
                                },
                                {
                                  "key": "value",
                                  "value": {
                                    "name": "string",
                                    "required": true
                                  }
                                }
                              ]
                            }
                          }
                        ],
                        "raw": "Array<Item>",
                        "required": true
                      }
                    },
                    {
                      "key": "currentItems",
                      "value": {
                        "name": "Array",
                        "elements": [
                          {
                            "name": "signature",
                            "type": "object",
                            "raw": "{\n  label: string,\n  value: string,\n}",
                            "signature": {
                              "properties": [
                                {
                                  "key": "label",
                                  "value": {
                                    "name": "string",
                                    "required": true
                                  }
                                },
                                {
                                  "key": "value",
                                  "value": {
                                    "name": "string",
                                    "required": true
                                  }
                                }
                              ]
                            }
                          }
                        ],
                        "raw": "Array<Item>",
                        "required": true
                      }
                    },
                    {
                      "key": "setItems",
                      "value": {
                        "name": "signature",
                        "type": "function",
                        "raw": "(value: Items) => void",
                        "signature": {
                          "arguments": [
                            {
                              "name": "value",
                              "type": {
                                "name": "Array",
                                "elements": [
                                  {
                                    "name": "signature",
                                    "type": "object",
                                    "raw": "{\n  label: string,\n  value: string,\n}",
                                    "signature": {
                                      "properties": [
                                        {
                                          "key": "label",
                                          "value": {
                                            "name": "string",
                                            "required": true
                                          }
                                        },
                                        {
                                          "key": "value",
                                          "value": {
                                            "name": "string",
                                            "required": true
                                          }
                                        }
                                      ]
                                    }
                                  }
                                ],
                                "raw": "Array<Item>",
                                "required": true
                              }
                            }
                          ],
                          "return": {
                            "name": "void"
                          }
                        },
                        "required": true
                      }
                    }
                  ]
                }
              }
            }
          ],
          "return": {
            "name": "Array",
            "elements": [
              {
                "name": "signature",
                "type": "object",
                "raw": "{\n  label: string,\n  value: string,\n}",
                "signature": {
                  "properties": [
                    {
                      "key": "label",
                      "value": {
                        "name": "string",
                        "required": true
                      }
                    },
                    {
                      "key": "value",
                      "value": {
                        "name": "string",
                        "required": true
                      }
                    }
                  ]
                }
              }
            ],
            "raw": "Array<Item>",
            "required": true
          }
        }
      },
      "required": false,
      "description": "Method to get more dropdown items on search."
    },
    "theme": {
      "flowType": {
        "name": "Object"
      },
      "required": true,
      "description": ""
    },
    "withScaffold": {
      "flowType": {
        "name": "boolean"
      },
      "required": true,
      "description": "If the scaffold component should be used when rendered."
    }
  }
}