[
  {
    "tags": {},
    "description": "Combobox is a combination of a Select and TextInput,\nallowing the user to either type a value directly or select a value from the list.\nCan be configured to select a single or multiple options.",
    "methods": [],
    "displayName": "Combobox",
    "props": {
      "HTMLAttributes": "https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes",
      "ComboboxMultiselectProps": {
        "onChange": {
          "name": "onChange",
          "defaultValue": null,
          "description": "A callback called when the selection changes.\nCallback receives a single argument that is the new selection, either string, or string array",
          "required": false,
          "type": {
            "name": "enum",
            "raw": "((value: string[], diff?: DiffObject) => void) | ((value: string) => void)",
            "value": [
              {
                "value": "(value: string[], diff?: DiffObject) => void",
                "description": "",
                "fullComment": "",
                "tags": {}
              },
              {
                "value": "(value: string) => void",
                "description": "",
                "fullComment": "",
                "tags": {}
              }
            ]
          },
          "tags": {}
        },
        "multiselect": {
          "name": "multiselect",
          "defaultValue": {
            "value": "false as M"
          },
          "description": "Defines whether a user can select multiple options, or only a single option.\nWhen using TypeScript, `multiselect` affects the valid values of `initialValue`, `value`, and `onChange`",
          "required": false,
          "type": {
            "name": "enum",
            "raw": "boolean",
            "value": [
              {
                "value": "false"
              },
              {
                "value": "true"
              }
            ]
          },
          "tags": {}
        },
        "initialValue": {
          "name": "initialValue",
          "defaultValue": null,
          "description": "The initial selection.\nMust be a string (or array of strings) that matches the `value` prop of a `ComboboxOption`.\nChanging the `initialValue` after initial render will not change the selection.",
          "required": false,
          "type": {
            "name": "enum",
            "raw": "string | string[]",
            "value": [
              {
                "value": "string"
              },
              {
                "value": "string[]",
                "description": "",
                "fullComment": "",
                "tags": {}
              }
            ]
          },
          "tags": {}
        },
        "value": {
          "name": "value",
          "defaultValue": null,
          "description": "The controlled value of the Combobox.\nMust be a string (or array of strings) that matches the `value` prop of a `ComboboxOption`.\nChanging `value` after initial render _will_ affect the selection.\n`value` will always take precedence over `initialValue` if both are provided.",
          "required": false,
          "type": {
            "name": "enum",
            "raw": "string | string[]",
            "value": [
              {
                "value": "string"
              },
              {
                "value": "string[]",
                "description": "",
                "fullComment": "",
                "tags": {}
              }
            ]
          },
          "tags": {}
        },
        "overflow": {
          "name": "overflow",
          "defaultValue": {
            "value": "expand-y"
          },
          "description": "Defines the overflow behavior of a multiselect combobox.\n\n`expand-y`: Combobox has fixed width, and additional selections will cause the element to grow in the block direction.\n\n`expand-x`: Combobox has fixed height, and additional selections will cause the element to grow in the inline direction.\n\n`scroll-x`: Combobox has fixed height and width, and additional selections will cause the element to be scrollable in the x (horizontal) direction.",
          "required": false,
          "type": {
            "name": "enum",
            "raw": "Overflow",
            "value": [
              {
                "value": "\"expand-y\""
              },
              {
                "value": "\"scroll-x\""
              },
              {
                "value": "\"expand-x\""
              }
            ]
          },
          "tags": {}
        }
      },
      "AriaAttributes": "https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes",
      "DOMAttributes": "https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes",
      "ComboboxProps": {
        "popoverZIndex": {
          "name": "popoverZIndex",
          "defaultValue": null,
          "description": "Number that controls the z-index of the popover element directly.",
          "required": false,
          "type": {
            "name": "number"
          },
          "tags": {
            "deprecated": ""
          }
        },
        "description": {
          "name": "description",
          "defaultValue": null,
          "description": "A description for the input",
          "required": false,
          "type": {
            "name": "enum",
            "raw": "ReactNode",
            "value": [
              {
                "value": "string"
              },
              {
                "value": "number"
              },
              {
                "value": "false"
              },
              {
                "value": "true"
              },
              {
                "value": "ReactElement<any, string | JSXElementConstructor<any>>",
                "description": "",
                "fullComment": "",
                "tags": {}
              },
              {
                "value": "Iterable<ReactNode>",
                "description": "",
                "fullComment": "",
                "tags": {}
              },
              {
                "value": "ReactPortal",
                "description": "",
                "fullComment": "",
                "tags": {}
              }
            ]
          },
          "tags": {}
        },
        "disabled": {
          "name": "disabled",
          "defaultValue": {
            "value": false
          },
          "description": "Disables all interaction with the component",
          "required": false,
          "type": {
            "name": "enum",
            "raw": "boolean",
            "value": [
              {
                "value": "false"
              },
              {
                "value": "true"
              }
            ]
          },
          "tags": {}
        },
        "size": {
          "name": "size",
          "defaultValue": {
            "value": "default"
          },
          "description": "Defines the visual size of the component",
          "required": false,
          "type": {
            "name": "enum",
            "raw": "ComboboxSize",
            "value": [
              {
                "value": "\"xsmall\""
              },
              {
                "value": "\"small\""
              },
              {
                "value": "\"default\""
              },
              {
                "value": "\"large\""
              }
            ]
          },
          "tags": {}
        },
        "darkMode": {
          "name": "darkMode",
          "defaultValue": null,
          "description": "Toggles Dark Mode",
          "required": false,
          "type": {
            "name": "enum",
            "raw": "boolean",
            "value": [
              {
                "value": "false"
              },
              {
                "value": "true"
              }
            ]
          },
          "tags": {}
        },
        "state": {
          "name": "state",
          "defaultValue": {
            "value": "none"
          },
          "description": "The error state of the component. Defines whether the error message is displayed.",
          "required": false,
          "type": {
            "name": "enum",
            "raw": "State",
            "value": [
              {
                "value": "\"none\""
              },
              {
                "value": "\"error\""
              },
              {
                "value": "\"valid\""
              }
            ]
          },
          "tags": {}
        },
        "errorMessage": {
          "name": "errorMessage",
          "defaultValue": {
            "value": "DEFAULT_MESSAGES.error"
          },
          "description": "The message shown below the input when state is `error`",
          "required": false,
          "type": {
            "name": "enum",
            "raw": "ReactNode",
            "value": [
              {
                "value": "string"
              },
              {
                "value": "number"
              },
              {
                "value": "false"
              },
              {
                "value": "true"
              },
              {
                "value": "ReactElement<any, string | JSXElementConstructor<any>>",
                "description": "",
                "fullComment": "",
                "tags": {}
              },
              {
                "value": "Iterable<ReactNode>",
                "description": "",
                "fullComment": "",
                "tags": {}
              },
              {
                "value": "ReactPortal",
                "description": "",
                "fullComment": "",
                "tags": {}
              }
            ]
          },
          "tags": {}
        },
        "successMessage": {
          "name": "successMessage",
          "defaultValue": {
            "value": "DEFAULT_MESSAGES.success"
          },
          "description": "The message shown below the input when state is `valid`",
          "required": false,
          "type": {
            "name": "enum",
            "raw": "ReactNode",
            "value": [
              {
                "value": "string"
              },
              {
                "value": "number"
              },
              {
                "value": "false"
              },
              {
                "value": "true"
              },
              {
                "value": "ReactElement<any, string | JSXElementConstructor<any>>",
                "description": "",
                "fullComment": "",
                "tags": {}
              },
              {
                "value": "Iterable<ReactNode>",
                "description": "",
                "fullComment": "",
                "tags": {}
              },
              {
                "value": "ReactPortal",
                "description": "",
                "fullComment": "",
                "tags": {}
              }
            ]
          },
          "tags": {}
        },
        "searchState": {
          "name": "searchState",
          "defaultValue": {
            "value": "unset"
          },
          "description": "The state of search results. Toggles search messages within the menu.",
          "required": false,
          "type": {
            "name": "enum",
            "raw": "SearchState",
            "value": [
              {
                "value": "\"error\""
              },
              {
                "value": "\"unset\""
              },
              {
                "value": "\"loading\""
              }
            ]
          },
          "tags": {}
        },
        "searchEmptyMessage": {
          "name": "searchEmptyMessage",
          "defaultValue": {
            "value": "No results found"
          },
          "description": "A message shown within the menu when there are no options passed in as children, or `filteredOptions` is an empty array",
          "required": false,
          "type": {
            "name": "string"
          },
          "tags": {}
        },
        "searchErrorMessage": {
          "name": "searchErrorMessage",
          "defaultValue": {
            "value": "Could not get results!"
          },
          "description": "A message shown within the menu when searchState is `error`",
          "required": false,
          "type": {
            "name": "string"
          },
          "tags": {}
        },
        "searchLoadingMessage": {
          "name": "searchLoadingMessage",
          "defaultValue": {
            "value": "Loading results..."
          },
          "description": "A message shown within the menu when searchState is `loading`",
          "required": false,
          "type": {
            "name": "string"
          },
          "tags": {}
        },
        "onFilter": {
          "name": "onFilter",
          "defaultValue": null,
          "description": "A callback called when the search input changes.\nReceives a single argument that is the current input value.\nUse this callback to set `searchState` and/or `filteredOptions` appropriately",
          "required": false,
          "type": {
            "name": "(value: string) => void"
          },
          "tags": {}
        },
        "clearable": {
          "name": "clearable",
          "defaultValue": {
            "value": true
          },
          "description": "Defines whether the Clear button appears to the right of the input.",
          "required": false,
          "type": {
            "name": "enum",
            "raw": "boolean",
            "value": [
              {
                "value": "false"
              },
              {
                "value": "true"
              }
            ]
          },
          "tags": {}
        },
        "onClear": {
          "name": "onClear",
          "defaultValue": null,
          "description": "A callback fired when the Clear button is pressed.\nFired _after_ `onChange`, and _before_ `onFilter`",
          "required": false,
          "type": {
            "name": "(e: MouseEvent<HTMLButtonElement, MouseEvent>) => void"
          },
          "tags": {}
        },
        "filteredOptions": {
          "name": "filteredOptions",
          "defaultValue": null,
          "description": "An array used to define which options are displayed.\nDo not remove options from the JSX children, as this will affect the selected options",
          "required": false,
          "type": {
            "name": "string[]"
          },
          "tags": {}
        },
        "onInputChange": {
          "name": "onInputChange",
          "defaultValue": null,
          "description": "A callback fired when the input text changes",
          "required": false,
          "type": {
            "name": "ChangeEventHandler<HTMLInputElement>"
          },
          "tags": {}
        },
        "inputValue": {
          "name": "inputValue",
          "defaultValue": null,
          "description": "Allows for a controlled text-input value",
          "required": false,
          "type": {
            "name": "string"
          },
          "tags": {}
        },
        "dropdownWidthBasis": {
          "name": "dropdownWidthBasis",
          "defaultValue": {
            "value": "trigger"
          },
          "description": "Determines the width of the dropdown. `trigger` will make the dropdown width the width of the combobox. `option` will make the dropdown width as wide as the widest option.",
          "required": false,
          "type": {
            "name": "enum",
            "raw": "DropdownWidthBasis",
            "value": [
              {
                "value": "\"trigger\""
              },
              {
                "value": "\"option\""
              }
            ]
          },
          "tags": {
            "default": "'trigger'"
          }
        },
        "label": {
          "name": "label",
          "defaultValue": null,
          "description": "An accessible label for the input, rendered in a <label> to the DOM",
          "required": false,
          "type": {
            "name": "string"
          },
          "tags": {}
        }
      },
      "RenderInlineProps": {
        "portalClassName": {
          "name": "portalClassName",
          "defaultValue": null,
          "description": "When `renderMode=\"portal\"`, it specifies a class name to apply to the portal element",
          "required": false,
          "type": {
            "name": "string"
          },
          "tags": {
            "deprecated": ""
          }
        },
        "portalContainer": {
          "name": "portalContainer",
          "defaultValue": null,
          "description": "When `renderMode=\"portal\"`, it specifies an element to portal within. If not provided, a div is generated at the end of the body",
          "required": false,
          "type": {
            "name": "HTMLElement"
          },
          "tags": {
            "deprecated": ""
          }
        },
        "portalRef": {
          "name": "portalRef",
          "defaultValue": null,
          "description": "When `renderMode=\"portal\"`, it passes a ref to forward to the portal element",
          "required": false,
          "type": {
            "name": "MutableRefObject<HTMLElement>"
          },
          "tags": {
            "deprecated": ""
          }
        },
        "renderMode": {
          "name": "renderMode",
          "defaultValue": {
            "value": "RenderMode.TopLayer"
          },
          "description": "Options to render the popover element",
          "required": false,
          "type": {
            "name": "enum",
            "raw": "\"top-layer\" | \"inline\" | \"portal\"",
            "value": [
              {
                "value": "\"top-layer\""
              },
              {
                "value": "\"inline\""
              },
              {
                "value": "\"portal\""
              }
            ]
          },
          "tags": {
            "defaultValue": "'top-layer'\n'top-layer'\n'top-layer'",
            "param": "Inline will render the popover element inline in the DOM where it's written. This option is deprecated and will be removed in the future.\nPortal will render the popover element in a new div appended to the body. Alternatively, can be portaled into a provided `portalContainer`. This option is deprecated and will be removed in the future.\nTopLayer will render the popover element in the top layer\nInline will render the popover element inline in the DOM where it's written. This option is deprecated and will be removed in the future.\nPortal will render the popover element in a new div appended to the body. Alternatively, can be portaled into a provided `portalContainer`. This option is deprecated and will be removed in the future.\nTopLayer will render the popover element in the top layer\nInline will render the popover element inline in the DOM where it's written. This option is deprecated and will be removed in the future.\nPortal will render the popover element in a new div appended to the body. Alternatively, can be portaled into a provided `portalContainer`. This option is deprecated and will be removed in the future.\nTopLayer will render the popover element in the top layer"
          }
        },
        "scrollContainer": {
          "name": "scrollContainer",
          "defaultValue": null,
          "description": "When `renderMode=\"portal\"`, it specifies the scrollable element to position relative to",
          "required": false,
          "type": {
            "name": "HTMLElement"
          },
          "tags": {
            "deprecated": ""
          }
        }
      },
      "ChipProps": {
        "chipTruncationLocation": {
          "name": "chipTruncationLocation",
          "defaultValue": null,
          "description": "Defines where the ellipses will appear in a Chip when the label length exceeds the `chipCharacterLimit`.\nIf `none` is passed, the chip will not truncate.\nNote: If there is any truncation, the full label text will appear inside a tooltip on hover",
          "required": false,
          "type": {
            "name": "enum",
            "raw": "TruncationLocation",
            "value": [
              {
                "value": "\"none\""
              },
              {
                "value": "\"start\""
              },
              {
                "value": "\"middle\""
              },
              {
                "value": "\"end\""
              }
            ]
          },
          "tags": {}
        },
        "chipCharacterLimit": {
          "name": "chipCharacterLimit",
          "defaultValue": {
            "value": 12
          },
          "description": "Defines the character limit of a Chip before they start truncating.\nNote: the three ellipses dots are included in the character limit and the chip will only truncate if the chip length is greater than the `chipCharacterLimit`",
          "required": false,
          "type": {
            "name": "number"
          },
          "tags": {}
        }
      }
    }
  },
  {
    "tags": {},
    "description": "",
    "methods": [],
    "displayName": "ComboboxChip",
    "props": {
      "ComboboxChipProps": {
        "displayName": {
          "name": "displayName",
          "defaultValue": null,
          "description": "",
          "required": true,
          "type": {
            "name": "string"
          },
          "tags": {}
        },
        "isFocused": {
          "name": "isFocused",
          "defaultValue": null,
          "description": "",
          "required": true,
          "type": {
            "name": "enum",
            "raw": "boolean",
            "value": [
              {
                "value": "false"
              },
              {
                "value": "true"
              }
            ]
          },
          "tags": {}
        },
        "onRemove": {
          "name": "onRemove",
          "defaultValue": null,
          "description": "",
          "required": true,
          "type": {
            "name": "() => void"
          },
          "tags": {}
        },
        "onFocus": {
          "name": "onFocus",
          "defaultValue": null,
          "description": "",
          "required": true,
          "type": {
            "name": "() => void"
          },
          "tags": {}
        }
      }
    }
  },
  {
    "tags": {},
    "description": "",
    "methods": [],
    "displayName": "ComboboxGroup",
    "props": {
      "ComboboxGroupProps": {
        "label": {
          "name": "label",
          "defaultValue": null,
          "description": "Label for the group of options",
          "required": true,
          "type": {
            "name": "string"
          },
          "tags": {}
        },
        "children": {
          "name": "children",
          "defaultValue": null,
          "description": "Options in the group. Must be one or more `ComboboxOption` components",
          "required": true,
          "type": {
            "name": "enum",
            "raw": "ReactNode",
            "value": [
              {
                "value": "string"
              },
              {
                "value": "number"
              },
              {
                "value": "false"
              },
              {
                "value": "true"
              },
              {
                "value": "ReactElement<any, string | JSXElementConstructor<any>>",
                "description": "",
                "fullComment": "",
                "tags": {}
              },
              {
                "value": "Iterable<ReactNode>",
                "description": "",
                "fullComment": "",
                "tags": {}
              },
              {
                "value": "ReactPortal",
                "description": "",
                "fullComment": "",
                "tags": {}
              }
            ]
          },
          "tags": {}
        },
        "className": {
          "name": "className",
          "defaultValue": null,
          "description": "Styling prop",
          "required": false,
          "type": {
            "name": "string"
          },
          "tags": {}
        }
      }
    }
  },
  {
    "tags": {},
    "description": "",
    "methods": [],
    "displayName": "ComboboxMenu",
    "props": {
      "ComboboxMenuProps": {
        "children": {
          "name": "children",
          "defaultValue": null,
          "description": "",
          "required": false,
          "type": {
            "name": "enum",
            "raw": "ReactNode",
            "value": [
              {
                "value": "string"
              },
              {
                "value": "number"
              },
              {
                "value": "false"
              },
              {
                "value": "true"
              },
              {
                "value": "ReactElement<any, string | JSXElementConstructor<any>>",
                "description": "",
                "fullComment": "",
                "tags": {}
              },
              {
                "value": "Iterable<ReactNode>",
                "description": "",
                "fullComment": "",
                "tags": {}
              },
              {
                "value": "ReactPortal",
                "description": "",
                "fullComment": "",
                "tags": {}
              }
            ]
          },
          "tags": {}
        },
        "refEl": {
          "name": "refEl",
          "defaultValue": null,
          "description": "",
          "required": true,
          "type": {
            "name": "RefObject<HTMLDivElement>"
          },
          "tags": {}
        },
        "id": {
          "name": "id",
          "defaultValue": null,
          "description": "",
          "required": true,
          "type": {
            "name": "string"
          },
          "tags": {}
        },
        "labelId": {
          "name": "labelId",
          "defaultValue": null,
          "description": "",
          "required": true,
          "type": {
            "name": "string"
          },
          "tags": {}
        },
        "menuWidth": {
          "name": "menuWidth",
          "defaultValue": null,
          "description": "",
          "required": true,
          "type": {
            "name": "number"
          },
          "tags": {}
        },
        "dropdownWidthBasis": {
          "name": "dropdownWidthBasis",
          "defaultValue": {
            "value": "trigger"
          },
          "description": "",
          "required": false,
          "type": {
            "name": "enum",
            "raw": "DropdownWidthBasis",
            "value": [
              {
                "value": "\"trigger\""
              },
              {
                "value": "\"option\""
              }
            ]
          },
          "tags": {}
        },
        "searchEmptyMessage": {
          "name": "searchEmptyMessage",
          "defaultValue": null,
          "description": "A message shown within the menu when there are no options passed in as children, or `filteredOptions` is an empty array",
          "required": false,
          "type": {
            "name": "string"
          },
          "tags": {}
        },
        "searchErrorMessage": {
          "name": "searchErrorMessage",
          "defaultValue": null,
          "description": "A message shown within the menu when searchState is `error`",
          "required": false,
          "type": {
            "name": "string"
          },
          "tags": {}
        },
        "searchLoadingMessage": {
          "name": "searchLoadingMessage",
          "defaultValue": null,
          "description": "A message shown within the menu when searchState is `loading`",
          "required": false,
          "type": {
            "name": "string"
          },
          "tags": {}
        }
      }
    }
  },
  {
    "tags": {},
    "description": "",
    "methods": [],
    "displayName": "ComboboxOption",
    "props": {
      "HTMLAttributes": "https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes",
      "DOMAttributes": "https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes",
      "AriaAttributes": "https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes",
      "SharedComboboxOptionProps": {
        "onClick": {
          "name": "onClick",
          "defaultValue": null,
          "description": "Callback fired when an option is clicked.",
          "required": false,
          "type": {
            "name": "(event: SyntheticEvent<HTMLLIElement, Event>, value: string) => void"
          },
          "tags": {}
        },
        "description": {
          "name": "description",
          "defaultValue": null,
          "description": "Optional descriptive text under the displayName.",
          "required": false,
          "type": {
            "name": "string"
          },
          "tags": {}
        },
        "disabled": {
          "name": "disabled",
          "defaultValue": {
            "value": false
          },
          "description": "Defines whether the option is disabled.\nNode: disabled options are still rendered in the menu, but not selectable.",
          "required": false,
          "type": {
            "name": "enum",
            "raw": "boolean",
            "value": [
              {
                "value": "false"
              },
              {
                "value": "true"
              }
            ]
          },
          "tags": {}
        },
        "customContent": {
          "name": "customContent",
          "defaultValue": null,
          "description": "Optional custom content to render for the option.\nWhen provided, this ReactNode will be rendered in the option menu",
          "required": false,
          "type": {
            "name": "enum",
            "raw": "ReactNode",
            "value": [
              {
                "value": "string"
              },
              {
                "value": "number"
              },
              {
                "value": "false"
              },
              {
                "value": "true"
              },
              {
                "value": "ReactElement<any, string | JSXElementConstructor<any>>",
                "description": "",
                "fullComment": "",
                "tags": {}
              },
              {
                "value": "Iterable<ReactNode>",
                "description": "",
                "fullComment": "",
                "tags": {}
              },
              {
                "value": "ReactPortal",
                "description": "",
                "fullComment": "",
                "tags": {}
              }
            ]
          },
          "tags": {}
        },
        "glyph": {
          "name": "glyph",
          "defaultValue": null,
          "description": "The icon to display to the left of the option in the menu.",
          "required": false,
          "type": {
            "name": "ReactElement<any, string | JSXElementConstructor<any>>"
          },
          "tags": {}
        },
        "value": {
          "name": "value",
          "defaultValue": null,
          "description": "The internal value of the option. Used as the identifier in Combobox `initialValue`, value and filteredOptions.\nWhen undefined, this is set to `_.kebabCase(displayName)`",
          "required": false,
          "type": {
            "name": "string"
          },
          "tags": {}
        },
        "displayName": {
          "name": "displayName",
          "defaultValue": null,
          "description": "The display value of the option. Used as the rendered string within the menu and chips.\nWhen undefined, this is set to `value`",
          "required": false,
          "type": {
            "name": "enum",
            "raw": "ReactNode",
            "value": [
              {
                "value": "string"
              },
              {
                "value": "number"
              },
              {
                "value": "false"
              },
              {
                "value": "true"
              },
              {
                "value": "ReactElement<any, string | JSXElementConstructor<any>>",
                "description": "",
                "fullComment": "",
                "tags": {}
              },
              {
                "value": "Iterable<ReactNode>",
                "description": "",
                "fullComment": "",
                "tags": {}
              },
              {
                "value": "ReactPortal",
                "description": "",
                "fullComment": "",
                "tags": {}
              }
            ]
          },
          "tags": {}
        }
      }
    }
  },
  {
    "tags": {},
    "description": "Returns the correct empty state for multiselect / single select",
    "methods": [],
    "displayName": "getNullSelection",
    "props": {
      "Boolean": {
        "valueOf": {
          "name": "valueOf",
          "defaultValue": {},
          "description": "Returns the primitive value of the specified object.",
          "required": false,
          "type": {
            "name": "() => boolean"
          },
          "tags": {}
        }
      }
    }
  }
]