Item
An item is an object that is placed inside of a row, and it's position and size is relative to its values.
dnd-timeline does not provide you with a <Item /> component, so you will need to build your own.
A basic Item component will look like this:
interface ItemProps {
  id: string
  relevance: Relevance
  children: ReactNode
}
function Item(props: ItemProps) {
  const {
    setNodeRef,
    attributes,
    listeners,
    itemStyle,
    itemContentStyle,
  } = useItem({
    id: props.id,
    relevance: props.relevance,
  })
  return (
    <div
      ref={setNodeRef}
      style={itemStyle}
      {...listeners}
      {...attributes}
    >
      <div style={itemContentStyle}>
        {props.children}
      </div>
    </div>
  )
}You can fully customize this component according to your needs.
Usage
Every <Item /> component should be rendered as a child of it's parent row.
<Row id={row.id}>
  {groupedItems[row.id].map((item) => 
    <Item id={item.id} relevance={item.relevance}>
      // item content...
    </Item>
  )}
</Row>Last updated