{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./node_modules/@babel/runtime/helpers/typeof.js","webpack:///./node_modules/ui-core/plugins/load-inview/js/load-inview.js","webpack:///./node_modules/ui-core/js/build.lazyload.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","getDefault","getModuleExports","object","property","prototype","hasOwnProperty","p","s","_typeof","iterator","constructor","lazyLoadLogic","lazyImage","dataAttrbiute","data","parseJson","str","jsonObject","JSON","parse","e","dataset","type","src","length","removeAttribute","sel","selector","closest","closestElement","el","Element","matches","msMatchesSelector","webkitMatchesSelector","this","parentElement","parentNode","nodeType","id","guidGenerator","S4","Math","random","toString","substring","setAttribute","remove","removeChild","MathJax","Hub","Queue","callback","url","image","querySelector","request","XMLHttpRequest","open","onload","status","responseAsJson","responseText","replaceImageWith3DIframe","current","style","display","insertAfterNode","newNode","referenceNode","getElementsByClassName","insertAdjacentHTML","iframe","width","offsetWidth","height","html","send","backgroundImage","classList","add","className","window","lazyLoad","ioptions","datasetAttr","datasetItem","baseElement","root","rootMargin","threshold","found","match","indexOf","replace","toUpperCase","document","lazyImages","slice","querySelectorAll","lazyImageObserver","IntersectionObserver","entries","observer","forEach","entry","isIntersecting","target","unobserve","observe","active","setTimeout","getBoundingClientRect","top","innerHeight","parseInt","bottom","getComputedStyle","filter","removeEventListener","addEventListener"],"mappings":"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","file":"js/build.lazyload.bundle-0bb99ef0d5427d14b5fb.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 76);\n","function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _typeof(o);\n}\nmodule.exports = _typeof, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function parseJson(str) {\n var jsonObject;\n try {\n jsonObject = JSON.parse(str);\n } catch (e) {\n jsonObject = JSON.parse('{\"type\":\"image\" , \"src\":\"' + str + '\"}');\n }\n return jsonObject;\n}\n// JS equivalent for Jquery closest\nfunction closestElement(el, sel) {\n // Polyfill for \"matches\" to support most browsers.\n if (!Element.prototype.matches) {\n Element.prototype.matches = Element.prototype.msMatchesSelector || Element.prototype.webkitMatchesSelector;\n }\n\n if (!Element.prototype.closest) {\n Element.prototype.closest = function (s) {\n let el = this;\n\n do {\n if (el.matches(s)) return el;\n el = el.parentElement || el.parentNode;\n } while (el !== null && el.nodeType === 1);\n return null;\n };\n }\n\n if (el != null) return el.closest(sel);\n}\n\n// GUID generator, is a random global unique identifier which It is a 128-bit integer number used to identify\n// resources.\nfunction guidGenerator() {\n /**\n * @return {string}\n */\n const S4 = function () {\n return (((1 + Math.random()) * 0x10000) | 0).toString(16).substring(1);\n };\n return S4() + S4() + '-' + S4() + '-' + S4() + '-' + S4() + '-' + S4() + S4() + S4();\n}\n\n// where src attribute gets replaced with one of dataset attributes\nfunction lazyLoadLogic(lazyImage, dataAttrbiute) {\n var data = parseJson(lazyImage.dataset[dataAttrbiute]);\n /*eslint-disable*/\n switch (data.type) {\n case 'image':\n if (data.src.length > 0) {\n lazyImage.src = data.src;\n lazyImage.removeAttribute('data-' + dataAttrbiute);\n }\n break;\n case 'mathjax':\n // finding MathMML area.\n const sel = data.selector || '.NLM_disp-formula';\n const closest = closestElement(lazyImage, sel);\n\n // caching it in DOM\n if (closest.id === '') {\n // Mathjax requires an HTML element ID to specify the area of MathMML, WE will generate a random guid for each obtained MathMML area.\n const id = guidGenerator();\n closest.setAttribute('id', id);\n }\n\n // before initiating Formula, We need to remove the current element which this element generate an\n // extra/unnecessary white spaces in formula display.\n\n // Polyfill for IE support\n if (!('remove' in Element.prototype)) {\n Element.prototype.remove = function () {\n if (this.parentNode) {\n this.parentNode.removeChild(this);\n }\n };\n }\n\n lazyImage.remove();\n\n // Initiate it in Mathjax\n MathJax.Hub.Queue(['Typeset', MathJax.Hub, closest.id]);\n\n // Do you need to do something after loading Math formula? Yes, define a function.\n if (typeof callback === 'function') callback.call(this);\n break;\n case 'sketchfab':\n let url = lazyImage.dataset['url'];\n const image = lazyImage.querySelector('a.thumbnail');\n const request = new XMLHttpRequest();\n lazyImage.removeAttribute('data-url');\n request.open('GET', url, true);\n request.onload = function () {\n if (request.status !== 200) return;\n responseAsJson = JSON.parse(request.responseText);\n replaceImageWith3DIframe(responseAsJson.html, image, lazyImage);\n };\n request.send();\n break;\n case 'backgroundImage':\n url = \"url('\" + data.src + \"')\";\n lazyImage.style.backgroundImage = url;\n break;\n case 'addClass':\n lazyImage.classList.add(data.className);\n break;\n default:\n }\n /*eslint-enable*/\n}\n\nfunction insertAfterNode(newNode, referenceNode) {\n if (referenceNode.parentNode.getElementsByClassName('sketchfab-embed-wrapper').length === 0)\n referenceNode.insertAdjacentHTML('afterend', newNode);\n}\n\nfunction replaceImageWith3DIframe(data, image, current) {\n if (data) {\n const figureDownloadOption = current.querySelector('.figureDownloadOptions');\n figureDownloadOption.style.display = 'none';\n image.style.display = 'none';\n insertAfterNode(data, current.querySelector('.figureInfo'));\n const iframe = current.querySelector('iframe');\n const width = iframe.offsetWidth;\n iframe.style.height = (width * 9) / 16;\n }\n}\n\n/**\n * lazyLoad method is responsible of lazy loading :Images, MathJax, Sketchfab 3D models\n * @param selector\n * @param parentElement parent element to be used as a base element for selector\n * @param ioptions IntersectionObserver options in JS object form i.e: {root: null, rootMargin: \"10%\", threshold: 0.3 }\n * @param datasetAttr dataset attribute name i.e: data-src -> src , data-formula-source -> formulaSource\n * @param callback in case callback is function and passed - to support older implementation\n */\nwindow.lazyLoad = function (selector, parentElement, ioptions, datasetAttr, callback) {\n ioptions = ioptions || {\n root: null, // Defaults to the browser viewport\n rootMargin: '10%', //Margin around the root.\n threshold: 0, // what percentage of the target's visibility the observer's callback should be executed\n };\n let datasetItem;\n if (!datasetAttr) {\n const regex = /data-(\\w+[\\-\\w+]*)/g; /*eslint-disable-line*/\n const found = selector.match(regex)[0];\n datasetItem = found\n .substring(found.indexOf('data-') + 5) // dataset attribute without keyword \"data-\"\n .replace(/(-\\S)*/g, function (t) {\n // Capitalize dataset attribute 2nd ,3rd .. word e.g: [data-formula-source] ->formula-Source\n return t.toUpperCase();\n })\n .replace(/\\-*/g, function (t) { /*eslint-disable-line*/\n // get rid of dashes \"-\" e.g: formula-Source -> formulaSource to match dataset key that has the data\n return t.replace('-', '');\n });\n } else {\n datasetItem = datasetAttr;\n }\n let baseElement;\n if (!parentElement) {\n baseElement = document;\n } else if (typeof parentElement == 'object') {\n baseElement = parentElement;\n } else {\n baseElement = document.querySelector(parentElement);\n }\n\n let lazyImages = [].slice.call(baseElement.querySelectorAll(selector));\n\n // If browser supports IntersectionObserver, use it .\n if ('IntersectionObserver' in window) {\n const lazyImageObserver = new IntersectionObserver(function (entries, observer) {\n entries.forEach(function (entry) {\n if (entry.isIntersecting) {\n const lazyImage = entry.target;\n observer.unobserve(lazyImage);\n lazyLoadLogic(lazyImage, datasetItem);\n }\n });\n }, ioptions);\n lazyImages.forEach(function (lazyImage) {\n lazyImageObserver.observe(lazyImage);\n });\n } else {\n // if IntersectionObserver is not supported , use the most compatible way\n let active = false;\n\n const lazyLoad = function () {\n if (active === false) {\n active = true;\n\n setTimeout(function () {\n lazyImages.forEach(function (lazyImage) {\n if (\n lazyImage.getBoundingClientRect().top <=\n window.innerHeight + (window.innerHeight * parseInt(ioptions['rootMargin'])) / 100 &&\n lazyImage.getBoundingClientRect().bottom >= 0 &&\n getComputedStyle(lazyImage).display !== 'none'\n ) {\n lazyLoadLogic(lazyImage, datasetItem);\n lazyImages = lazyImages.filter(function (image) {\n return image !== lazyImage;\n });\n\n if (lazyImages.length === 0) {\n document.removeEventListener('scroll', lazyLoad);\n window.removeEventListener('resize', lazyLoad);\n window.removeEventListener('orientationchange', lazyLoad);\n }\n }\n });\n\n active = false;\n }, 200);\n }\n };\n\n document.addEventListener('scroll', lazyLoad);\n window.addEventListener('resize', lazyLoad);\n window.addEventListener('orientationchange', lazyLoad);\n }\n};\n","import '../plugins/load-inview/js/load-inview';\n\ndocument.addEventListener(\n 'DOMContentLoaded',\n function () {\n lazyLoad('[data-src]');\n },\n false\n);\n"],"sourceRoot":""}