@zohodesk/hooks
Version:
Unified Component Library - Hooks
39 lines (32 loc) • 927 B
JavaScript
const boxOptions = {
BORDER_BOX: 'border-box',
CONTENT_BOX: 'content-box',
DEVICE_PIXEL_CONTENT_BOX: 'device-pixel-content-box'
};
export default function getObersevedSizes(options, observedEntry) {
let observedBoxSize;
if (!observedEntry) {
return observedBoxSize;
}
let fragmentIndex = 0;
let {
box = 'default'
} = options;
switch (box) {
case boxOptions.BORDER_BOX:
observedBoxSize = observedEntry.borderBoxSize[fragmentIndex];
break;
case boxOptions.CONTENT_BOX:
observedBoxSize = observedEntry.contentBoxSize[fragmentIndex];
break;
case boxOptions.DEVICE_PIXEL_CONTENT_BOX:
observedBoxSize = observedEntry.devicePixelContentBoxSize[fragmentIndex];
break;
default:
observedBoxSize = {
inlineSize: observedEntry.contentRect.width,
blockSize: observedEntry.contentRect.height
};
}
return observedBoxSize;
}