{
  "componentDescription": "",
  "propDescriptions": {
    "apiRef": {
      "description": "The ref object that allows Tree View manipulation. Can be instantiated with <code>useTreeViewApiRef()</code>."
    },
    "canMoveItemToNewPosition": {
      "description": "Used to determine if a given item can move to some new position.",
      "typeDescriptions": {
        "params": "The params describing the item re-ordering.",
        "params.itemId": "The id of the item that is being moved to a new position.",
        "params.oldPosition": "The old position of the item.",
        "params.newPosition": "The new position of the item.",
        "boolean": "<code>true</code> if the item can move to the new position."
      }
    },
    "checkboxSelection": {
      "description": "If <code>true</code>, the Tree View renders a checkbox at the left of its label that allows selecting it."
    },
    "classes": { "description": "Override or extend the styles applied to the component." },
    "defaultExpandedItems": {
      "description": "Expanded item ids. Used when the item&#39;s expansion is not controlled."
    },
    "defaultSelectedItems": {
      "description": "Selected item ids. (Uncontrolled) When <code>multiSelect</code> is true this takes an array of strings; when false (default) a string."
    },
    "disabledItemsFocusable": {
      "description": "If <code>true</code>, will allow focus on disabled items."
    },
    "disableSelection": { "description": "If <code>true</code> selection is disabled." },
    "expandedItems": {
      "description": "Expanded item ids. Used when the item&#39;s expansion is controlled."
    },
    "expansionTrigger": {
      "description": "The slot that triggers the item&#39;s expansion when clicked."
    },
    "experimentalFeatures": {
      "description": "Unstable features, breaking changes might be introduced. For each feature, if the flag is not explicitly set to <code>true</code>, the feature will be fully disabled and any property / method call will not have any effect."
    },
    "getItemId": {
      "description": "Used to determine the id of a given item.",
      "typeDescriptions": { "item": "The item to check.", "string": "The id of the item." }
    },
    "getItemLabel": {
      "description": "Used to determine the string label for a given item.",
      "typeDescriptions": { "item": "The item to check.", "string": "The label of the item." }
    },
    "id": {
      "description": "This prop is used to help implement the accessibility logic. If you don&#39;t provide this prop. It falls back to a randomly generated id."
    },
    "isItemDisabled": {
      "description": "Used to determine if a given item should be disabled.",
      "typeDescriptions": {
        "item": "The item to check.",
        "boolean": "<code>true</code> if the item should be disabled."
      }
    },
    "isItemEditable": {
      "description": "Determines if a given item is editable or not. Make sure to also enable the <code>labelEditing</code> experimental feature: <code>&lt;RichTreeViewPro experimentalFeatures={{ labelEditing: true }}  /&gt;</code>. By default, the items are not editable."
    },
    "isItemReorderable": {
      "description": "Used to determine if a given item can be reordered.",
      "typeDescriptions": {
        "itemId": "The id of the item to check.",
        "boolean": "<code>true</code> if the item can be reordered."
      }
    },
    "itemChildrenIndentation": {
      "description": "Horizontal indentation between an item and its children. Examples: 24, &quot;24px&quot;, &quot;2rem&quot;, &quot;2em&quot;."
    },
    "itemsReordering": {
      "description": "If <code>true</code>, the reordering of items is enabled. Make sure to also enable the <code>itemsReordering</code> experimental feature: <code>&lt;RichTreeViewPro experimentalFeatures={{ itemsReordering: true }} itemsReordering /&gt;</code>."
    },
    "multiSelect": {
      "description": "If <code>true</code>, <code>ctrl</code> and <code>shift</code> will trigger multiselect."
    },
    "onExpandedItemsChange": {
      "description": "Callback fired when Tree Items are expanded/collapsed.",
      "typeDescriptions": {
        "event": "The DOM event that triggered the change.",
        "itemIds": "The ids of the expanded items."
      }
    },
    "onItemClick": {
      "description": "Callback fired when the <code>content</code> slot of a given Tree Item is clicked.",
      "typeDescriptions": {
        "event": "The DOM event that triggered the change.",
        "itemId": "The id of the focused item."
      }
    },
    "onItemExpansionToggle": {
      "description": "Callback fired when a Tree Item is expanded or collapsed.",
      "typeDescriptions": {
        "event": "The DOM event that triggered the change.",
        "itemId": "The itemId of the modified item.",
        "isExpanded": "<code>true</code> if the item has just been expanded, <code>false</code> if it has just been collapsed."
      }
    },
    "onItemFocus": {
      "description": "Callback fired when a given Tree Item is focused.",
      "typeDescriptions": {
        "event": "The DOM event that triggered the change. <strong>Warning</strong>: This is a generic event not a focus event.",
        "itemId": "The id of the focused item."
      }
    },
    "onItemLabelChange": {
      "description": "Callback fired when the label of an item changes.",
      "typeDescriptions": {
        "itemId": "The id of the item that was edited.",
        "newLabel": "The new label of the items."
      }
    },
    "onItemPositionChange": {
      "description": "Callback fired when a Tree Item is moved in the tree.",
      "typeDescriptions": {
        "params": "The params describing the item re-ordering.",
        "params.itemId": "The id of the item moved.",
        "params.oldPosition": "The old position of the item.",
        "params.newPosition": "The new position of the item."
      }
    },
    "onItemSelectionToggle": {
      "description": "Callback fired when a Tree Item is selected or deselected.",
      "typeDescriptions": {
        "event": "The DOM event that triggered the change.",
        "itemId": "The itemId of the modified item.",
        "isSelected": "<code>true</code> if the item has just been selected, <code>false</code> if it has just been deselected."
      }
    },
    "onSelectedItemsChange": {
      "description": "Callback fired when Tree Items are selected/deselected.",
      "typeDescriptions": {
        "event": "The DOM event that triggered the change.",
        "itemIds": "The ids of the selected items. When <code>multiSelect</code> is <code>true</code>, this is an array of strings; when false (default) a string."
      }
    },
    "selectedItems": {
      "description": "Selected item ids. (Controlled) When <code>multiSelect</code> is true this takes an array of strings; when false (default) a string."
    },
    "selectionPropagation": {
      "description": "When <code>selectionPropagation.descendants</code> is set to <code>true</code>.<br>- Selecting a parent selects all its descendants automatically. - Deselecting a parent deselects all its descendants automatically.<br>When <code>selectionPropagation.parents</code> is set to <code>true</code>.<br>- Selecting all the descendants of a parent selects the parent automatically. - Deselecting a descendant of a selected parent deselects the parent automatically.<br>Only works when <code>multiSelect</code> is <code>true</code>. On the &lt;SimpleTreeView /&gt;, only the expanded items are considered (since the collapsed item are not passed to the Tree View component at all)"
    },
    "slotProps": { "description": "The props used for each component slot." },
    "slots": { "description": "Overridable component slots." },
    "sx": {
      "description": "The system prop that allows defining system overrides as well as additional CSS styles."
    }
  },
  "classDescriptions": {},
  "slotDescriptions": {
    "collapseIcon": "The default icon used to collapse the item.",
    "endIcon": "The default icon displayed next to an end item. This is applied to all Tree Items and can be overridden by the TreeItem <code>icon</code> slot prop.",
    "expandIcon": "The default icon used to expand the item.",
    "item": "Custom component to render a Tree Item.",
    "root": "Element rendered at the root."
  }
}
