UNPKG

@ohu-mobile/core

Version:
62 lines (61 loc) 1.78 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.computeRect = computeRect; exports.getAnchorPosition = getAnchorPosition; exports.getTransformOrigin = getTransformOrigin; exports.isAnchorPosition = isAnchorPosition; exports.isAnyPosition = isAnyPosition; function isAnyPosition(position) { return position.left !== undefined || position.top !== undefined; } function isAnchorPosition(position) { return position.horizontal !== undefined || position.vertical !== undefined; } function computeRect(el) { return { width: el.offsetWidth, height: el.offsetHeight }; } function getAnchorPosition(position) { var anchorPos = {}; if (typeof position === 'string') { if (position === 'top' || position === 'bottom') { anchorPos.vertical = position; anchorPos.horizontal = 'center'; } else { anchorPos.horizontal = position; anchorPos.vertical = 'center'; } } else if (isAnchorPosition(position)) { anchorPos = position; } return anchorPos; } var vPositionReverseMap = { top: 'bottom', bottom: 'top', center: 'center' }; var hPositionReserveMap = { left: 'right', right: 'left', center: 'center' }; function getTransformOrigin(anchorPos, origin) { var transformOrigin = origin || {}; // preset transform origin if (anchorPos.vertical !== undefined && !transformOrigin.vertical) { transformOrigin.vertical = vPositionReverseMap[anchorPos.vertical]; } if (anchorPos.horizontal !== undefined && !transformOrigin.horizontal) { if (transformOrigin.vertical !== 'center') { transformOrigin.horizontal = anchorPos.horizontal; } else { transformOrigin.horizontal = hPositionReserveMap[anchorPos.horizontal]; } } return transformOrigin; }