File "retina.js"
Full Path: /home/attunedd/public_html/wp-content/plugins/wp-retina-3x/js/retina.js
File size: 3.03 KB
MIME-type: text/plain
Charset: utf-8
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
typeof define === 'function' && define.amd ? define(factory) :
(global.retinajs = factory());
}(this, (function () { 'use strict';
var hasWindow = typeof window !== 'undefined';
var environment = Math.round(hasWindow ? window.devicePixelRatio || 1 : 1);
var srcReplace = /(\.[A-z]{3,4}\/?(\?.*)?)$/;
var inlineReplace = /url\(('|")?([^)'"]+)('|")?\)/i;
var selector = '[data-rjs]';
var processedAttr = 'data-rjs-processed';
function arrayify(object) {
return Array.prototype.slice.call(object);
}
function chooseCap(cap) {
var numericCap = parseInt(cap, 10);
if (environment < numericCap) {
return environment;
} else {
return numericCap;
}
}
function forceOriginalDimensions(image) {
if (!image.hasAttribute('data-no-resize')) {
if (image.offsetWidth === 0 && image.offsetHeight === 0) {
image.setAttribute('width', image.naturalWidth);
image.setAttribute('height', image.naturalHeight);
} else {
image.setAttribute('width', image.offsetWidth);
image.setAttribute('height', image.offsetHeight);
}
}
return image;
}
function setSourceIfAvailable(image, retinaURL) {
var imgType = image.nodeName.toLowerCase();
var testImage = document.createElement('img');
testImage.addEventListener('load', function () {
if (imgType === 'img') {
forceOriginalDimensions(image).setAttribute('src', retinaURL);
} else {
image.style.backgroundImage = 'url(' + retinaURL + ')';
}
});
testImage.setAttribute('src', retinaURL);
image.setAttribute(processedAttr, true);
}
function dynamicSwapImage(image, src) {
var rjs = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;
var cap = chooseCap(rjs);
if (src && cap > 1) {
var newSrc = src.replace(srcReplace, '@' + cap + 'x$1');
setSourceIfAvailable(image, newSrc);
}
}
function manualSwapImage(image, src, hdsrc) {
if (environment > 1) {
setSourceIfAvailable(image, hdsrc);
}
}
function getImages(images) {
if (!images) {
return typeof document !== 'undefined' ? arrayify(document.querySelectorAll(selector)) : [];
} else {
return typeof images.forEach === 'function' ? images : arrayify(images);
}
}
function cleanBgImg(img) {
return img.style.backgroundImage.replace(inlineReplace, '$2');
}
function retina(images) {
getImages(images).forEach(function (img) {
if (!img.getAttribute(processedAttr)) {
var isImg = img.nodeName.toLowerCase() === 'img';
var src = isImg ? img.getAttribute('src') : cleanBgImg(img);
var rjs = img.getAttribute('data-rjs');
var rjsIsNumber = !isNaN(parseInt(rjs, 10));
if (rjs === null) {
return;
}
if (rjsIsNumber) {
dynamicSwapImage(img, src, rjs);
} else {
manualSwapImage(img, src, rjs);
}
}
});
}
if (hasWindow) {
window.addEventListener('load', function () {
retina();
});
window.retinajs = retina;
}
return retina;
})));
//# sourceMappingURL=retina.js.map