RenderOrgChartItem<TOrgChartItem extends OrgChartItem>
A default component that visualizes nodes in the organization chart. It is optimized for data items of the type Employee. However, it will render other properties, too. The component can be adjusted for each item individually or for all items at once by setting OrgChartItem.className or OrgChartItem.style in the data.
type Employee = {
  status: 'present' | 'busy' | 'travel' | 'unavailable'
  position: string
  name: string
  email: string
  phone: string
  icon: string
}The component is already used as a fallback if no render prop is specified on OrgChart. However, it can be integrated in another component, for example to have different styles for different items.
function OrganizationChart() {
  const MyOrgChartItem = useMemo(
    () => (props: RenderItemProps<CustomOrgChartItem<Employee>>) => {
      const { dataItem } = props
      if (dataItem?.name === 'Eric Joplin') {
        return (
          <>
            <div
              style={{
                backgroundColor: 'blue',
                width: '100%',
                height: '100%'
              }}
            >
              <div>{dataItem.name}</div>
            </div>
          </>
        )
      } else {
        return <RenderOrgChartItem {...props}></RenderOrgChartItem>
      }
    },
    []
  )
  return (
    <OrgChart data={data} renderItem={MyOrgChartItem}></OrgChart>
  )
}Props
| Name | Description | Type | 
|---|---|---|
| dataItem | The data item to render. | TDataItem | 
| detail | The detail level of the visualization. Use this value to implement level-of-detail rendering. | ”low” | “high” | 
| focused | Whether the item is currently focused. | boolean | 
| height | The height of the item. | number | 
| hovered | Whether the item is currently being hovered. | boolean | 
| selected | Whether the item is currently selected. | boolean | 
| width | The width of the item. | number |