{
  "version": "experimental",
  "tags": [
    {
      "name": "ef-tree",
      "description": "Displays a tree structure\nto be used for menus and group selections",
      "attributes": [
        {
          "name": "multiple",
          "description": "Allows multiple items to be selected",
          "type": "boolean",
          "default": "false"
        },
        {
          "name": "no-relation",
          "description": "Breaks the relationship when multiple\nselection mode is enabled",
          "type": "boolean",
          "default": "false"
        },
        {
          "name": "query",
          "description": "Query string applied to tree",
          "type": "string",
          "default": "\"\""
        },
        {
          "name": "stateless",
          "description": "Disable selections",
          "type": "boolean",
          "default": "false"
        }
      ],
      "properties": [
        {
          "name": "manager (readonly)",
          "description": "Tree manager used for item manipulation",
          "type": "TreeManager<T>"
        },
        {
          "name": "multiple",
          "attribute": "multiple",
          "description": "Allows multiple items to be selected",
          "type": "boolean",
          "default": "false"
        },
        {
          "name": "noRelation",
          "attribute": "no-relation",
          "description": "Breaks the relationship when multiple\nselection mode is enabled",
          "type": "boolean",
          "default": "false"
        },
        {
          "name": "query",
          "attribute": "query",
          "description": "Query string applied to tree",
          "type": "string",
          "default": "\"\""
        },
        {
          "name": "filter",
          "description": "Custom filter for static data",
          "type": "TreeFilter<T> | null",
          "default": "\"createDefaultFilter<T>(this)\""
        },
        {
          "name": "renderer",
          "description": "Renderer used for generating tree items",
          "default": "\"createTreeRenderer<T>(this)\""
        },
        {
          "name": "values",
          "description": "Selected items in tree",
          "type": "string[]",
          "default": "[]"
        },
        {
          "name": "data",
          "description": "Data object to be used for creating tree",
          "type": "TreeData<T>"
        },
        {
          "name": "stateless",
          "attribute": "stateless",
          "description": "Disable selections",
          "type": "boolean",
          "default": "false"
        }
      ],
      "events": [
        {
          "name": "value-changed",
          "description": "Fired when the user commits a value change. The event is not triggered if `value` property is changed programmatically."
        },
        {
          "name": "expanded-changed",
          "description": "Fired when the user expands or collapses item. The event is not triggered if `expanded` property is changed programmatically."
        }
      ],
      "methods": [
        {
          "name": "expandAll",
          "description": "Expands all groups",
          "params": []
        },
        {
          "name": "collapseAll",
          "description": "Collapses all groups",
          "params": []
        },
        {
          "name": "checkAll",
          "description": "Checks all editable items",
          "params": []
        },
        {
          "name": "uncheckAll",
          "description": "Unchecks all editable items",
          "params": []
        }
      ]
    }
  ]
}