{“version”:3,“sources”:,“names”:[],“mappings”:“8HAcQ,wHAiBA,SAAQ,EAAc,EAAA,kBAExB,EAAO,oIAgBC,SAAQ,2TAiBhB,SAAW,SAAS,MAGlB,8FAeA,EAAA,EAAA,OAAiB,gCAMjB,EAAgB,KAAA,EAAA,IAAA,EAAA,kBAAA,GAChB,EAAY,MAAM,EAAA,IAAA,EAA8B,mBAAsB,wIAkBxE,GAAO,SAA2B,uMAiBlC,OAAO,SAAA,EAAA,iNAiBP,MAAO,SAAA,EAAA,gCAGT,GAAO,EAAA,IAAA,EAAA,cAAA,GAAA,EAAA,IAAA,EAAA,eAAA,GAEN,GAAA,EAAA,IAAA,EAAA,eAAA,GAAA,EAAA,IAAA,EAAA,gBAAA,GAAA,EAAA,IAAA,EAAA,mBAAA,GAAA,EAAA,IAAA,EAAA,oBAAA”,“file”:“dimensions.min.js”,“sourcesContent”:[“‘use strict’;nnangular.module(‘mgcrea.ngStrap.helpers.dimensions’, [])nn .factory(‘dimensions’, function($document, $window) {nn var jqLite = angular.element;n var fn = {};nn /**n * Test the element nodeNamen * @param elementn * @param namen */n var nodeName = fn.nodeName = function(element, name) {n return element.nodeName && element.nodeName.toLowerCase() === name.toLowerCase();n };nn /**n * Returns the element computed stylen * @param elementn * @param propn * @param extran */n fn.css = function(element, prop, extra) {n var value;n if (element.currentStyle) { //IEn value = element.currentStyle;n } else if (window.getComputedStyle) {n value = window.getComputedStyle(element);n } else {n value = element.style;n }n return extra === true ? parseFloat(value) || 0 : value;n };nn /**n * Provides read-only equivalent of jQuery’s offset function:n * @required-by bootstrap-tooltip, bootstrap-affixn * @url api.jquery.com/offset/n * @param elementn */n fn.offset = function(element) {n var boxRect = element.getBoundingClientRect();n var docElement = element.ownerDocument;n return {n width: boxRect.width || element.offsetWidth,n height: boxRect.height || element.offsetHeight,n top: boxRect.top + (window.pageYOffset || docElement.documentElement.scrollTop) - (docElement.documentElement.clientTop || 0),n left: boxRect.left + (window.pageXOffset || docElement.documentElement.scrollLeft) - (docElement.documentElement.clientLeft || 0)n };n };nn /**n * Provides read-only equivalent of jQuery’s position functionn * @required-by bootstrap-tooltip, bootstrap-affixn * @url api.jquery.com/offset/n * @param elementn */n fn.position = function(element) {nn var offsetParentRect = {top: 0, left: 0},n offsetParentElement,n offset;nn // Fixed elements are offset from window (parentOffset = {top:0, left: 0}, because it is it’s only offset parentn if (fn.css(element, ‘position’) === ‘fixed’) {nn // We assume that getBoundingClientRect is available when computed position is fixedn offset = element.getBoundingClientRect();nn } else {nn // Get real offsetParentElementn offsetParentElement = offsetParent(element);nn // Get correct offsetsn offset = fn.offset(element);n if (!nodeName(offsetParentElement, ‘html’)) {n offsetParentRect = fn.offset(offsetParentElement);n }nn // Add offsetParent bordersn offsetParentRect.top += fn.css(offsetParentElement, ‘borderTopWidth’, true);n offsetParentRect.left += fn.css(offsetParentElement, ‘borderLeftWidth’, true);n }nn // Subtract parent offsets and element marginsn return {n width: element.offsetWidth,n height: element.offsetHeight,n top: offset.top - offsetParentRect.top - fn.css(element, ‘marginTop’, true),n left: offset.left - offsetParentRect.left - fn.css(element, ‘marginLeft’, true)n };nn };nn /**n * Returns the closest, non-statically positioned offsetParent of a given elementn * @required-by fn.positionn * @param elementn */n var offsetParent = function offsetParentElement(element) {n var docElement = element.ownerDocument;n var offsetParent = element.offsetParent || docElement;n if(nodeName(offsetParent, ‘#document’)) return docElement.documentElement;n while(offsetParent && !nodeName(offsetParent, ‘html’) && fn.css(offsetParent, ‘position’) === ‘static’) {n offsetParent = offsetParent.offsetParent;n }n return offsetParent || docElement.documentElement;n };nn /**n * Provides equivalent of jQuery’s height functionn * @required-by bootstrap-affixn * @url api.jquery.com/height/n * @param elementn * @param outern */n fn.height = function(element, outer) {n var value = element.offsetHeight;n if(outer) {n value += fn.css(element, ‘marginTop’, true) + fn.css(element, ‘marginBottom’, true);n } else {n value -= fn.css(element, ‘paddingTop’, true) + fn.css(element, ‘paddingBottom’, true) + fn.css(element, ‘borderTopWidth’, true) + fn.css(element, ‘borderBottomWidth’, true);n }n return value;n };nn /**n * Provides equivalent of jQuery’s width functionn * @required-by bootstrap-affixn * @url api.jquery.com/width/n * @param elementn * @param outern */n fn.width = function(element, outer) {n var value = element.offsetWidth;n if(outer) {n value += fn.css(element, ‘marginLeft’, true) + fn.css(element, ‘marginRight’, true);n } else {n value -= fn.css(element, ‘paddingLeft’, true) + fn.css(element, ‘paddingRight’, true) + fn.css(element, ‘borderLeftWidth’, true) + fn.css(element, ‘borderRightWidth’, true);n }n return value;n };nn return fn;nn });n”],“sourceRoot”:“/source/”}