{"version":3,"file":"jquery.inview-9927eb4d.js","sources":["../../../node_modules/jquery-inview/jquery.inview.js"],"sourcesContent":["/**\n * author Christopher Blum\n * - based on the idea of Remy Sharp, http://remysharp.com/2009/01/26/element-in-view-event-plugin/\n * - forked from http://github.com/zuk/jquery.inview/\n */\n(function (factory) {\n if (typeof define == 'function' && define.amd) {\n // AMD\n define(['jquery'], factory);\n } else if (typeof exports === 'object') {\n // Node, CommonJS\n module.exports = factory(require('jquery'));\n } else {\n // Browser globals\n factory(jQuery);\n }\n}(function ($) {\n\n var inviewObjects = [], viewportSize, viewportOffset,\n d = document, w = window, documentElement = d.documentElement, timer;\n\n $.event.special.inview = {\n add: function(data) {\n inviewObjects.push({ data: data, $element: $(this), element: this });\n // Use setInterval in order to also make sure this captures elements within\n // \"overflow:scroll\" elements or elements that appeared in the dom tree due to\n // dom manipulation and reflow\n // old: $(window).scroll(checkInView);\n //\n // By the way, iOS (iPad, iPhone, ...) seems to not execute, or at least delays\n // intervals while the user scrolls. Therefore the inview event might fire a bit late there\n //\n // Don't waste cycles with an interval until we get at least one element that\n // has bound to the inview event.\n if (!timer && inviewObjects.length) {\n timer = setInterval(checkInView, 250);\n }\n },\n\n remove: function(data) {\n for (var i=0; i<inviewObjects.length; i++) {\n var inviewObject = inviewObjects[i];\n if (inviewObject.element === this && inviewObject.data.guid === data.guid) {\n inviewObjects.splice(i, 1);\n break;\n }\n }\n\n // Clear interval when we no longer have any elements listening\n if (!inviewObjects.length) {\n clearInterval(timer);\n timer = null;\n }\n }\n };\n\n function getViewportSize() {\n var mode, domObject, size = { height: w.innerHeight, width: w.innerWidth };\n\n // if this is correct then return it. iPad has compat Mode, so will\n // go into check clientHeight/clientWidth (which has the wrong value).\n if (!size.height) {\n mode = d.compatMode;\n if (mode || !$.support.boxModel) { // IE, Gecko\n domObject = mode === 'CSS1Compat' ?\n documentElement : // Standards\n d.body; // Quirks\n size = {\n height: domObject.clientHeight,\n width: domObject.clientWidth\n };\n }\n }\n\n return size;\n }\n\n function getViewportOffset() {\n return {\n top: w.pageYOffset || documentElement.scrollTop || d.body.scrollTop,\n left: w.pageXOffset || documentElement.scrollLeft || d.body.scrollLeft\n };\n }\n\n function checkInView() {\n if (!inviewObjects.length) {\n return;\n }\n\n var i = 0, $elements = $.map(inviewObjects, function(inviewObject) {\n var selector = inviewObject.data.selector,\n $element = inviewObject.$element;\n return selector ? $element.find(selector) : $element;\n });\n\n viewportSize = viewportSize || getViewportSize();\n viewportOffset = viewportOffset || getViewportOffset();\n\n for (; i<inviewObjects.length; i++) {\n // Ignore elements that are not in the DOM tree\n if (!$.contains(documentElement, $elements[i][0])) {\n continue;\n }\n\n var $element = $($elements[i]),\n elementSize = { height: $element[0].offsetHeight, width: $element[0].offsetWidth },\n elementOffset = $element.offset(),\n inView = $element.data('inview');\n\n // Don't ask me why because I haven't figured out yet:\n // viewportOffset and viewportSize are sometimes suddenly null in Firefox 5.\n // Even though it sounds weird:\n // It seems that the execution of this function is interferred by the onresize/onscroll event\n // where viewportOffset and viewportSize are unset\n if (!viewportOffset || !viewportSize) {\n return;\n }\n\n if (elementOffset.top + elementSize.height > viewportOffset.top &&\n elementOffset.top < viewportOffset.top + viewportSize.height &&\n elementOffset.left + elementSize.width > viewportOffset.left &&\n elementOffset.left < viewportOffset.left + viewportSize.width) {\n if (!inView) {\n $element.data('inview', true).trigger('inview', [true]);\n }\n } else if (inView) {\n $element.data('inview', false).trigger('inview', [false]);\n }\n }\n }\n\n $(w).bind(\"scroll resize scrollstop\", function() {\n viewportSize = viewportOffset = null;\n });\n\n // IE < 9 scrolls to focused elements without firing the \"scroll\" event\n if (!documentElement.addEventListener && documentElement.attachEvent) {\n documentElement.attachEvent(\"onfocusin\", function() {\n viewportOffset = null;\n });\n }\n}));\n"],"names":["factory","module","require$$0","$","inviewObjects","viewportSize","viewportOffset","d","w","documentElement","timer","data","checkInView","inviewObject","getViewportSize","mode","domObject","size","getViewportOffset","i","$elements","selector","$element","elementSize","elementOffset","inView"],"mappings":"mYAKC,SAAUA,EAAS,CAMhBC,EAAiB,QAAAD,EAAQE,CAAiB,CAK7C,GAAC,SAAUC,EAAG,CAEb,IAAIC,EAAgB,GAAIC,EAAcC,EAClCC,EAAI,SAAUC,EAAI,OAAQC,EAAkBF,EAAE,gBAAiBG,EAEnEP,EAAE,MAAM,QAAQ,OAAS,CACvB,IAAK,SAASQ,EAAM,CAClBP,EAAc,KAAK,CAAE,KAAMO,EAAM,SAAUR,EAAE,IAAI,EAAG,QAAS,IAAM,CAAA,EAW/D,CAACO,GAASN,EAAc,SACzBM,EAAQ,YAAYE,EAAa,GAAG,EAExC,EAED,OAAQ,SAASD,EAAM,CACrB,QAAS,EAAE,EAAG,EAAEP,EAAc,OAAQ,IAAK,CACzC,IAAIS,EAAeT,EAAc,CAAC,EAClC,GAAIS,EAAa,UAAY,MAAQA,EAAa,KAAK,OAASF,EAAK,KAAM,CACzEP,EAAc,OAAO,EAAG,CAAC,EACzB,KACD,CACF,CAGIA,EAAc,SAChB,cAAcM,CAAK,EACnBA,EAAQ,KAEZ,CACL,EAEE,SAASI,GAAkB,CACzB,IAAIC,EAAMC,EAAWC,EAAO,CAAE,OAAQT,EAAE,YAAa,MAAOA,EAAE,YAI9D,OAAKS,EAAK,SACRF,EAAOR,EAAE,YACLQ,GAAQ,CAACZ,EAAE,QAAQ,YACrBa,EAAYD,IAAS,aACnBN,EACAF,EAAE,KACJU,EAAO,CACL,OAAQD,EAAU,aAClB,MAAQA,EAAU,WAC5B,IAIWC,CACR,CAED,SAASC,GAAoB,CAC3B,MAAO,CACL,IAAMV,EAAE,aAAeC,EAAgB,WAAeF,EAAE,KAAK,UAC7D,KAAMC,EAAE,aAAeC,EAAgB,YAAeF,EAAE,KAAK,UACnE,CACG,CAED,SAASK,GAAc,CACrB,GAAKR,EAAc,OAInB,KAAIe,EAAI,EAAGC,EAAYjB,EAAE,IAAIC,EAAe,SAASS,EAAc,CACjE,IAAIQ,EAAYR,EAAa,KAAK,SAC9BS,EAAYT,EAAa,SAC7B,OAAOQ,EAAWC,EAAS,KAAKD,CAAQ,EAAIC,CAClD,CAAK,EAKD,IAHAjB,EAAiBA,GAAkBS,IACnCR,EAAiBA,GAAkBY,IAE5BC,EAAEf,EAAc,OAAQe,IAE7B,GAAKhB,EAAE,SAASM,EAAiBW,EAAUD,CAAC,EAAE,CAAC,CAAC,EAIhD,KAAIG,EAAgBnB,EAAEiB,EAAUD,CAAC,CAAC,EAC9BI,EAAgB,CAAE,OAAQD,EAAS,CAAC,EAAE,aAAc,MAAOA,EAAS,CAAC,EAAE,WAAa,EACpFE,EAAgBF,EAAS,OAAQ,EACjCG,EAAgBH,EAAS,KAAK,QAAQ,EAO1C,GAAI,CAAChB,GAAkB,CAACD,EACtB,OAGEmB,EAAc,IAAMD,EAAY,OAASjB,EAAe,KACxDkB,EAAc,IAAMlB,EAAe,IAAMD,EAAa,QACtDmB,EAAc,KAAOD,EAAY,MAAQjB,EAAe,MACxDkB,EAAc,KAAOlB,EAAe,KAAOD,EAAa,MACrDoB,GACHH,EAAS,KAAK,SAAU,EAAI,EAAE,QAAQ,SAAU,CAAC,EAAI,CAAC,EAE/CG,GACTH,EAAS,KAAK,SAAU,EAAK,EAAE,QAAQ,SAAU,CAAC,EAAK,CAAC,GAG7D,CAEDnB,EAAEK,CAAC,EAAE,KAAK,2BAA4B,UAAW,CAC/CH,EAAeC,EAAiB,IACpC,CAAG,EAGG,CAACG,EAAgB,kBAAoBA,EAAgB,aACvDA,EAAgB,YAAY,YAAa,UAAW,CAClDH,EAAiB,IACvB,CAAK,CAEL,CAAC","x_google_ignoreList":[0]}