import { LengthUnits, getSpanDimension } from '../utils/toolbox/src'; import { UnitType } from '../utils/toolbox/src'; import { DomContainerProps } from '../public-api/interfaces'; export function lengthUnitGenerator (document: Document, container: HTMLElement, containerProps: DomContainerProps): LengthUnits { let unitLengthsObj: LengthUnits = { 'em': getSpanDimension(document, container, { 'display':'inline-block', 'visibility': 'hidden', 'font-size': '1'+ UnitType.em, 'line-height': '1' + UnitType.em }).height, 'rem': getSpanDimension(document, document.body, { 'display':'inline-block', 'visibility': 'hidden', 'font-size': '1'+ UnitType.rem, 'line-height': '1' + UnitType.rem }).height, 'px': getSpanDimension(document, container, { 'display':'inline-block', 'visibility': 'hidden', 'font-size': '1'+ UnitType.px, 'line-height': '1' + UnitType.px }).height, 'pt': getSpanDimension(document, container, { 'display':'inline-block', 'visibility': 'hidden', 'font-size': '1'+ UnitType.pt, 'line-height': '1' + UnitType.pt }).height, 'hPercentage': containerProps.height / 100, 'wPercentage': containerProps.width / 100 }; return unitLengthsObj; }