{
  "name": "tree-item",
  "displayName": "Tree item",
  "type": "shadow",
  "isCustomElement": true,
  "tag": "l-tree-item",
  "nativeTag": null,
  "selector": "l-tree-item",
  "subItemOf": "tree",
  "summary": "A node inside `<l-tree>`. Nested `<l-tree-item>` children become sub-nodes.",
  "status": "stable",
  "appearances": [],
  "import": {
    "css": null,
    "js": "luxen-ui/tree-item"
  },
  "properties": [
    {
      "name": "expanded",
      "attribute": "expanded",
      "type": "boolean",
      "default": "false",
      "reflects": true,
      "description": "Whether the item is expanded."
    },
    {
      "name": "selected",
      "attribute": "selected",
      "type": "boolean",
      "default": "false",
      "reflects": true,
      "description": "Whether the item is selected."
    },
    {
      "name": "indeterminate",
      "attribute": "indeterminate",
      "type": "boolean",
      "default": "false",
      "reflects": true,
      "description": "Whether the checkbox is indeterminate (some descendants selected)."
    },
    {
      "name": "disabled",
      "attribute": "disabled",
      "type": "boolean",
      "default": "false",
      "reflects": true,
      "description": "Whether the item is disabled."
    },
    {
      "name": "lazy",
      "attribute": "lazy",
      "type": "boolean",
      "default": "false",
      "reflects": true,
      "description": "Marks this item as having children that will be loaded on first expand."
    },
    {
      "name": "loading",
      "attribute": "loading",
      "type": "boolean",
      "default": "false",
      "reflects": true,
      "description": "Whether the item is currently loading (shows a spinner)."
    },
    {
      "name": "showCheckbox",
      "attribute": null,
      "type": "boolean",
      "default": null,
      "reflects": false,
      "description": "Set by `<l-tree>`: whether a checkbox is shown."
    },
    {
      "name": "depth",
      "attribute": null,
      "type": "number",
      "default": null,
      "reflects": false,
      "description": "Set by `<l-tree>`: depth of the item in the tree (0 = root)."
    },
    {
      "name": "hasChildren",
      "attribute": null,
      "type": "boolean",
      "default": null,
      "reflects": false,
      "description": "Whether this item has nested tree-item children."
    }
  ],
  "attributes": [],
  "events": [
    {
      "name": "expand",
      "description": "Fired when the item is expanded.",
      "cancelable": false
    },
    {
      "name": "collapse",
      "description": "Fired when the item is collapsed.",
      "cancelable": false
    },
    {
      "name": "lazy-load",
      "description": "Fired when a lazy item is expanded for the first time. Consumers should append children and set `lazy=false`.",
      "cancelable": false
    }
  ],
  "methods": [
    {
      "name": "setPosition",
      "params": [
        {
          "name": "level",
          "type": "number"
        },
        {
          "name": "posInSet",
          "type": "number"
        },
        {
          "name": "setSize",
          "type": "number"
        }
      ],
      "returns": null,
      "description": "Set by `<l-tree>`: ARIA position within the tree. `level` is 1-based depth,\n`posInSet`/`setSize` describe the item's rank among its siblings. These let\nscreen readers announce \"level 2, 3 of 5\" even when `lazy` children keep the\nfull set out of the DOM."
    },
    {
      "name": "getChildrenItems",
      "params": [
        {
          "name": "{ includeDisabled = true }",
          "type": null
        }
      ],
      "returns": "TreeItem[]",
      "description": "Returns the child `<l-tree-item>` elements directly under this one."
    },
    {
      "name": "isLeaf",
      "params": [],
      "returns": "boolean",
      "description": "Returns true if this item has no expandable children."
    },
    {
      "name": "getTextLabel",
      "params": [],
      "returns": "string",
      "description": "Returns the text label of this item."
    },
    {
      "name": "toggle",
      "params": [],
      "returns": null,
      "description": "Toggle expand state. Opening a `lazy` item emits `lazy-load` (via `updated`)."
    }
  ],
  "slots": [
    {
      "name": "",
      "description": "Label content (kept to a single row)."
    },
    {
      "name": "prefix",
      "description": "Leading content before the label (e.g. icon)."
    },
    {
      "name": "suffix",
      "description": "Trailing content."
    },
    {
      "name": "expand-icon",
      "description": "Icon shown when the item is collapsed."
    },
    {
      "name": "collapse-icon",
      "description": "Icon shown when the item is expanded."
    },
    {
      "name": "content",
      "description": "Block content that belongs to the item but not to its header row (e.g. comment body, action bar). Hidden when a branch is collapsed."
    }
  ],
  "cssClasses": [],
  "cssParts": [
    {
      "name": "base",
      "description": "The item row."
    },
    {
      "name": "expand-button",
      "description": "The chevron toggle area."
    },
    {
      "name": "checkbox",
      "description": "The native checkbox input."
    },
    {
      "name": "label",
      "description": "The label container."
    },
    {
      "name": "branch",
      "description": "Wrapper around the content and children slots; carries the indent guide."
    },
    {
      "name": "content",
      "description": "The content slot wrapper (block area between the row and the children)."
    },
    {
      "name": "children",
      "description": "The nested items container."
    }
  ],
  "cssProperties": [],
  "commands": [],
  "examples": []
}
