{
  "version": "experimental",
  "tags": [
    {
      "name": "ef-tree-select",
      "description": "Dropdown control that allows selection from the tree list",
      "attributes": [
        {
          "name": "no-relation",
          "description": "Breaks the relationship when multiple\nselection mode is enabled",
          "type": "boolean",
          "default": "false"
        },
        {
          "name": "show-pills",
          "description": "Should the control show pills",
          "type": "boolean",
          "default": "false"
        },
        {
          "name": "max",
          "description": "Set maximum number of selected items",
          "type": "string | null",
          "default": "\"\""
        },
        {
          "name": "query-debounce-rate",
          "description": "Control query rate in milliseconds",
          "type": "number"
        },
        {
          "name": "opened",
          "description": "Set dropdown to open",
          "type": "boolean",
          "default": "false"
        },
        {
          "name": "placeholder",
          "description": "Set placeholder text",
          "type": "string",
          "default": "\"\""
        },
        {
          "name": "clears",
          "description": "Show clears button",
          "type": "boolean",
          "default": "false"
        },
        {
          "name": "query-debounce-rate",
          "description": "Control query rate in milliseconds",
          "type": "number"
        }
      ],
      "properties": [
        {
          "name": "filterCount",
          "description": "Tracks the number of filter matches\n\nOnly needed if internal filtering is unused",
          "type": "number",
          "default": "0"
        },
        {
          "name": "treeManager (readonly)",
          "description": "Tree manager used for item manipulation",
          "type": "TreeManager <TreeSelectDataItem>"
        },
        {
          "name": "noRelation",
          "attribute": "no-relation",
          "description": "Breaks the relationship when multiple\nselection mode is enabled",
          "type": "boolean",
          "default": "false"
        },
        {
          "name": "showPills",
          "attribute": "show-pills",
          "description": "Should the control show pills",
          "type": "boolean",
          "default": "false"
        },
        {
          "name": "values",
          "description": "Returns a values collection of the currently\nselected item values",
          "type": "string[]",
          "default": "[]"
        },
        {
          "name": "renderer",
          "description": "Renderer used to render tree item elements",
          "default": "\"createTreeSelectRenderer<TreeSelectDataItem>(this)\""
        },
        {
          "name": "max",
          "attribute": "max",
          "description": "Set maximum number of selected items",
          "type": "string | null",
          "default": "\"\""
        },
        {
          "name": "filter",
          "description": "Custom filter for static data. Set this to null when data is filtered externally, eg XHR",
          "type": "TreeSelectFilter<T> | null",
          "default": "\"createDefaultFilter<T>(this)\""
        },
        {
          "name": "queryDebounceRate",
          "attribute": "query-debounce-rate",
          "description": "Control query rate in milliseconds",
          "type": "number"
        },
        {
          "name": "opened",
          "attribute": "opened",
          "description": "Set dropdown to open",
          "type": "boolean",
          "default": "false"
        },
        {
          "name": "placeholder",
          "attribute": "placeholder",
          "description": "Set placeholder text",
          "type": "string",
          "default": "\"\""
        },
        {
          "name": "clears",
          "attribute": "clears",
          "description": "Show clears button",
          "type": "boolean",
          "default": "false"
        },
        {
          "name": "data",
          "description": "Data object to be used for creating tree",
          "type": "TreeSelectData[]",
          "default": "[]"
        }
      ],
      "events": [
        {
          "name": "confirm",
          "description": "Fired when the user closes a popup by confirming the new selection."
        },
        {
          "name": "cancel",
          "description": "Fired when the user closes a popup by cancelling the new selection."
        },
        {
          "name": "value-changed",
          "description": "Fired when the user commits a value change. The event is not triggered if `value` property is changed programmatically."
        },
        {
          "name": "query-changed",
          "description": "Fired when the user changes value in the input to change a query word. If `query-debounce-rate` is set, this event will be triggered after debounce completion. The event is not triggered if `query` property is changed programmatically."
        },
        {
          "name": "opened-changed",
          "description": "Fired when the user opens or closes control's popup. The event is not triggered if `opened` property is changed programmatically."
        }
      ],
      "methods": [
        {
          "name": "commit",
          "description": "Commit the current selection applying it to `values` property.",
          "params": []
        }
      ]
    }
  ]
}