The hook then uses the DOM positions of these elements to dynamically identify corner elements and return their indexes in an object
There must be two dimensions to each returned element position to account for possible hanging items ie leftmost top / topmost left / rightmost top / topmost right / rightmost bottom / bottommost right / leftmost bottom / bottommost left (terminology subject to improvement)
An element that is the furthest left in the top row is considered "leftmost top" whereas an element that is the furthest up in the left column is "topmost left"
Example:
item 4 is the "bottommost right" and item 5 is the "rightmost bottom", "leftmost bottom", and "bottommost left"
item 9 is the "topmost right", while 10 is the "topmost left", "leftmost top", and "rightmost top"
Also, it should indicate if there are hanging elements in any position ie if xmost y does not match ymost x, there is a hanging element such as items 5 and 10