ab-interchange
Version:
AB-interchange: While responsive image loading is not really an easy task even today, here is a solution to manage conditional (based on breakpoints) loading of img, background-image or even HTML content.
12 lines (11 loc) • 12.5 kB
JavaScript
parcelRequire=function(e,r,t,n){var i,o="function"==typeof parcelRequire&&parcelRequire,u="function"==typeof require&&require;function f(t,n){if(!r[t]){if(!e[t]){var i="function"==typeof parcelRequire&&parcelRequire;if(!n&&i)return i(t,!0);if(o)return o(t,!0);if(u&&"string"==typeof t)return u(t);var c=new Error("Cannot find module '"+t+"'");throw c.code="MODULE_NOT_FOUND",c}p.resolve=function(r){return e[t][1][r]||r},p.cache={};var l=r[t]=new f.Module(t);e[t][0].call(l.exports,p,l,l.exports,this)}return r[t].exports;function p(e){return f(p.resolve(e))}}f.isParcelRequire=!0,f.Module=function(e){this.id=e,this.bundle=f,this.exports={}},f.modules=e,f.cache=r,f.parent=o,f.register=function(r,t){e[r]=[function(e,r){r.exports=t},{}]};for(var c=0;c<t.length;c++)try{f(t[c])}catch(e){i||(i=e)}if(t.length){var l=f(t[t.length-1]);"object"==typeof exports&&"undefined"!=typeof module?module.exports=l:"function"==typeof define&&define.amd?define(function(){return l}):n&&(this[n]=l)}if(parcelRequire=f,i)throw i;return f}({"f6Zb":[function(require,module,exports) {
var global = arguments[3];
var e=arguments[3],n="undefined"!=typeof window?window:"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?self:{},r=function(e){var n=/\blang(?:uage)?-([\w-]+)\b/i,r=0,t={manual:e.Prism&&e.Prism.manual,disableWorkerMessageHandler:e.Prism&&e.Prism.disableWorkerMessageHandler,util:{encode:function(e){return e instanceof a?new a(e.type,t.util.encode(e.content),e.alias):Array.isArray(e)?e.map(t.util.encode):e.replace(/&/g,"&").replace(/</g,"<").replace(/\u00a0/g," ")},type:function(e){return Object.prototype.toString.call(e).slice(8,-1)},objId:function(e){return e.__id||Object.defineProperty(e,"__id",{value:++r}),e.__id},clone:function e(n,r){var a,i,o=t.util.type(n);switch(r=r||{},o){case"Object":if(i=t.util.objId(n),r[i])return r[i];for(var l in a={},r[i]=a,n)n.hasOwnProperty(l)&&(a[l]=e(n[l],r));return a;case"Array":return i=t.util.objId(n),r[i]?r[i]:(a=[],r[i]=a,n.forEach(function(n,t){a[t]=e(n,r)}),a);default:return n}},getLanguage:function(e){for(;e&&!n.test(e.className);)e=e.parentElement;return e?(e.className.match(n)||[,"none"])[1].toLowerCase():"none"},currentScript:function(){if("undefined"==typeof document)return null;if("currentScript"in document)return document.currentScript;try{throw new Error}catch(t){var e=(/at [^(\r\n]*\((.*):.+:.+\)$/i.exec(t.stack)||[])[1];if(e){var n=document.getElementsByTagName("script");for(var r in n)if(n[r].src==e)return n[r]}return null}}},languages:{extend:function(e,n){var r=t.util.clone(t.languages[e]);for(var a in n)r[a]=n[a];return r},insertBefore:function(e,n,r,a){var i=(a=a||t.languages)[e],o={};for(var l in i)if(i.hasOwnProperty(l)){if(l==n)for(var s in r)r.hasOwnProperty(s)&&(o[s]=r[s]);r.hasOwnProperty(l)||(o[l]=i[l])}var u=a[e];return a[e]=o,t.languages.DFS(t.languages,function(n,r){r===u&&n!=e&&(this[n]=o)}),o},DFS:function e(n,r,a,i){i=i||{};var o=t.util.objId;for(var l in n)if(n.hasOwnProperty(l)){r.call(n,l,n[l],a||l);var s=n[l],u=t.util.type(s);"Object"!==u||i[o(s)]?"Array"!==u||i[o(s)]||(i[o(s)]=!0,e(s,r,l,i)):(i[o(s)]=!0,e(s,r,null,i))}}},plugins:{},highlightAll:function(e,n){t.highlightAllUnder(document,e,n)},highlightAllUnder:function(e,n,r){var a={callback:r,container:e,selector:'code[class*="language-"], [class*="language-"] code, code[class*="lang-"], [class*="lang-"] code'};t.hooks.run("before-highlightall",a),a.elements=Array.prototype.slice.apply(a.container.querySelectorAll(a.selector)),t.hooks.run("before-all-elements-highlight",a);for(var i,o=0;i=a.elements[o++];)t.highlightElement(i,!0===n,a.callback)},highlightElement:function(r,a,i){var o=t.util.getLanguage(r),l=t.languages[o];r.className=r.className.replace(n,"").replace(/\s+/g," ")+" language-"+o;var s=r.parentNode;s&&"pre"===s.nodeName.toLowerCase()&&(s.className=s.className.replace(n,"").replace(/\s+/g," ")+" language-"+o);var u={element:r,language:o,grammar:l,code:r.textContent};function c(e){u.highlightedCode=e,t.hooks.run("before-insert",u),u.element.innerHTML=u.highlightedCode,t.hooks.run("after-highlight",u),t.hooks.run("complete",u),i&&i.call(u.element)}if(t.hooks.run("before-sanity-check",u),!u.code)return t.hooks.run("complete",u),void(i&&i.call(u.element));if(t.hooks.run("before-highlight",u),u.grammar)if(a&&e.Worker){var g=new Worker(t.filename);g.onmessage=function(e){c(e.data)},g.postMessage(JSON.stringify({language:u.language,code:u.code,immediateClose:!0}))}else c(t.highlight(u.code,u.grammar,u.language));else c(t.util.encode(u.code))},highlight:function(e,n,r){var i={code:e,grammar:n,language:r};return t.hooks.run("before-tokenize",i),i.tokens=t.tokenize(i.code,i.grammar),t.hooks.run("after-tokenize",i),a.stringify(t.util.encode(i.tokens),i.language)},matchGrammar:function(e,n,r,i,o,l,s){for(var u in r)if(r.hasOwnProperty(u)&&r[u]){var c=r[u];c=Array.isArray(c)?c:[c];for(var g=0;g<c.length;++g){if(s&&s==u+","+g)return;var f=c[g],h=f.inside,d=!!f.lookbehind,m=!!f.greedy,p=0,y=f.alias;if(m&&!f.pattern.global){var v=f.pattern.toString().match(/[imsuy]*$/)[0];f.pattern=RegExp(f.pattern.source,v+"g")}f=f.pattern||f;for(var k=i,b=o;k<n.length;b+=n[k].length,++k){var w=n[k];if(n.length>e.length)return;if(!(w instanceof a)){if(m&&k!=n.length-1){if(f.lastIndex=b,!(j=f.exec(e)))break;for(var A=j.index+(d&&j[1]?j[1].length:0),x=j.index+j[0].length,O=k,S=b,P=n.length;O<P&&(S<x||!n[O].type&&!n[O-1].greedy);++O)A>=(S+=n[O].length)&&(++k,b=S);if(n[k]instanceof a)continue;N=O-k,w=e.slice(b,S),j.index-=b}else{f.lastIndex=0;var j=f.exec(w),N=1}if(j){d&&(p=j[1]?j[1].length:0);x=(A=j.index+p)+(j=j[0].slice(p)).length;var E=w.slice(0,A),L=w.slice(x),C=[k,N];E&&(++k,b+=E.length,C.push(E));var M=new a(u,h?t.tokenize(j,h):j,y,j,m);if(C.push(M),L&&C.push(L),Array.prototype.splice.apply(n,C),1!=N&&t.matchGrammar(e,n,r,k,b,!0,u+","+g),l)break}else if(l)break}}}}},tokenize:function(e,n){var r=[e],a=n.rest;if(a){for(var i in a)n[i]=a[i];delete n.rest}return t.matchGrammar(e,r,n,0,0,!1),r},hooks:{all:{},add:function(e,n){var r=t.hooks.all;r[e]=r[e]||[],r[e].push(n)},run:function(e,n){var r=t.hooks.all[e];if(r&&r.length)for(var a,i=0;a=r[i++];)a(n)}},Token:a};function a(e,n,r,t,a){this.type=e,this.content=n,this.alias=r,this.length=0|(t||"").length,this.greedy=!!a}if(e.Prism=t,a.stringify=function(e,n){if("string"==typeof e)return e;if(Array.isArray(e))return e.map(function(e){return a.stringify(e,n)}).join("");var r={type:e.type,content:a.stringify(e.content,n),tag:"span",classes:["token",e.type],attributes:{},language:n};if(e.alias){var i=Array.isArray(e.alias)?e.alias:[e.alias];Array.prototype.push.apply(r.classes,i)}t.hooks.run("wrap",r);var o=Object.keys(r.attributes).map(function(e){return e+'="'+(r.attributes[e]||"").replace(/"/g,""")+'"'}).join(" ");return"<"+r.tag+' class="'+r.classes.join(" ")+'"'+(o?" "+o:"")+">"+r.content+"</"+r.tag+">"},!e.document)return e.addEventListener?(t.disableWorkerMessageHandler||e.addEventListener("message",function(n){var r=JSON.parse(n.data),a=r.language,i=r.code,o=r.immediateClose;e.postMessage(t.highlight(i,t.languages[a],a)),o&&e.close()},!1),t):t;var i=t.util.currentScript();if(i&&(t.filename=i.src,i.hasAttribute("data-manual")&&(t.manual=!0)),!t.manual){function o(){t.manual||t.highlightAll()}var l=document.readyState;"loading"===l||"interactive"===l&&i&&i.defer?document.addEventListener("DOMContentLoaded",o):window.requestAnimationFrame?window.requestAnimationFrame(o):window.setTimeout(o,16)}return t}(n);"undefined"!=typeof module&&module.exports&&(module.exports=r),void 0!==e&&(e.Prism=r);
},{}],"mgKa":[function(require,module,exports) {
Prism.languages.clike={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"class-name":{pattern:/(\b(?:class|interface|extends|implements|trait|instanceof|new)\s+|\bcatch\s+\()[\w.\\]+/i,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:if|else|while|do|for|return|in|instanceof|function|new|try|throw|catch|finally|null|break|continue)\b/,boolean:/\b(?:true|false)\b/,function:/\w+(?=\()/,number:/\b0x[\da-f]+\b|(?:\b\d+\.?\d*|\B\.\d+)(?:e[+-]?\d+)?/i,operator:/[<>]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/,punctuation:/[{}[\];(),.:]/};
},{}],"gVCx":[function(require,module,exports) {
Prism.languages.javascript=Prism.languages.extend("clike",{"class-name":[Prism.languages.clike["class-name"],{pattern:/(^|[^$\w\xA0-\uFFFF])[_$A-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\.(?:prototype|constructor))/,lookbehind:!0}],keyword:[{pattern:/((?:^|})\s*)(?:catch|finally)\b/,lookbehind:!0},{pattern:/(^|[^.]|\.\.\.\s*)\b(?:as|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,lookbehind:!0}],number:/\b(?:(?:0[xX](?:[\dA-Fa-f](?:_[\dA-Fa-f])?)+|0[bB](?:[01](?:_[01])?)+|0[oO](?:[0-7](?:_[0-7])?)+)n?|(?:\d(?:_\d)?)+n|NaN|Infinity)\b|(?:\b(?:\d(?:_\d)?)+\.?(?:\d(?:_\d)?)*|\B\.(?:\d(?:_\d)?)+)(?:[Ee][+-]?(?:\d(?:_\d)?)+)?/,function:/#?[_$a-zA-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,operator:/--|\+\+|\*\*=?|=>|&&|\|\||[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\.{3}|\?[.?]?|[~:]/}),Prism.languages.javascript["class-name"][0].pattern=/(\b(?:class|interface|extends|implements|instanceof|new)\s+)[\w.\\]+/,Prism.languages.insertBefore("javascript","keyword",{regex:{pattern:/((?:^|[^$\w\xA0-\uFFFF."'\])\s])\s*)\/(?:\[(?:[^\]\\\r\n]|\\.)*]|\\.|[^/\\\[\r\n])+\/[gimyus]{0,6}(?=(?:\s|\/\*[\s\S]*?\*\/)*(?:$|[\r\n,.;:})\]]|\/\/))/,lookbehind:!0,greedy:!0},"function-variable":{pattern:/#?[_$a-zA-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|[_$a-zA-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*)\s*=>))/,alias:"function"},parameter:[{pattern:/(function(?:\s+[_$A-Za-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*)?\s*\(\s*)(?!\s)(?:[^()]|\([^()]*\))+?(?=\s*\))/,lookbehind:!0,inside:Prism.languages.javascript},{pattern:/[_$a-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*=>)/i,inside:Prism.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()]|\([^()]*\))+?(?=\s*\)\s*=>)/,lookbehind:!0,inside:Prism.languages.javascript},{pattern:/((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:[_$A-Za-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*\s*)\(\s*)(?!\s)(?:[^()]|\([^()]*\))+?(?=\s*\)\s*\{)/,lookbehind:!0,inside:Prism.languages.javascript}],constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/}),Prism.languages.insertBefore("javascript","string",{"template-string":{pattern:/`(?:\\[\s\S]|\${(?:[^{}]|{(?:[^{}]|{[^}]*})*})+}|(?!\${)[^\\`])*`/,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\${(?:[^{}]|{(?:[^{}]|{[^}]*})*})+}/,lookbehind:!0,inside:{"interpolation-punctuation":{pattern:/^\${|}$/,alias:"punctuation"},rest:Prism.languages.javascript}},string:/[\s\S]+/}}}),Prism.languages.markup&&Prism.languages.markup.tag.addInlined("script","javascript"),Prism.languages.js=Prism.languages.javascript;
},{}],"oOkP":[function(require,module,exports) {
},{}],"Zdfz":[function(require,module,exports) {
;var e=i(require("prismjs/components/prism-core"));function i(e){return e&&e.__esModule?e:{default:e}}require("prismjs/components/prism-clike"),require("prismjs/components/prism-javascript"),require("prismjs/themes/prism.css"),AB.plugins.mediaQuery({bp:{smallOnly:"screen and (max-width: 767px)",mediumOnly:"screen and (min-width: 768px) and (max-width: 1024px)",medium:"screen and (min-width: 768px)",largeOnly:"screen and (min-width: 1025px) and (max-width: 1280px)",large:"screen and (min-width: 1025px)"}}),AB.plugins.interchange({lazySettings:{offscreen:1.25,layout:"fluid"}});
},{"prismjs/components/prism-core":"f6Zb","prismjs/components/prism-clike":"mgKa","prismjs/components/prism-javascript":"gVCx","prismjs/themes/prism.css":"oOkP"}]},{},["Zdfz"], null)