{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./Scripts/main.ts","webpack:///./Scripts/vanilla.paroller.ts","webpack:///./node_modules/animate.js/dist/scripts/animate.min.js","webpack:///(webpack)/buildin/global.js","webpack:///(webpack)/buildin/module.js"],"names":[],"mappings":";QAAA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;;QAEA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;;;QAGA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA,0CAA0C,gCAAgC;QAC1E;QACA;;QAEA;QACA;QACA;QACA,wDAAwD,kBAAkB;QAC1E;QACA,iDAAiD,cAAc;QAC/D;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA,yCAAyC,iCAAiC;QAC1E,gHAAgH,mBAAmB,EAAE;QACrI;QACA;;QAEA;QACA;QACA;QACA,2BAA2B,0BAA0B,EAAE;QACvD,iCAAiC,eAAe;QAChD;QACA;QACA;;QAEA;QACA,sDAAsD,+DAA+D;;QAErH;QACA;;;QAGA;QACA;;;;;;;;;;;;;AClFa;AACb;AACA,4CAA4C;AAC5C;AACA,8CAA8C,cAAc;AAC5D,qCAAqC,mBAAO,CAAC,yEAAY;AACzD,2CAA2C,mBAAO,CAAC,yDAAoB;AACvE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,gBAAgB;AAC9C;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,gCAAgC,+BAA+B;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,CAAC;;;;;;;;;;;;;ACpGD;AACA;AACA;AACA;AACA;AACa;AACb,8CAA8C,cAAc;AAC5D;AACA;AACA,kDAAkD,UAAU;AAC5D;AACA,KAAK;AACL;AACA,2CAA2C,UAAU;AACrD;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,+CAA+C,WAAW,MAAM,aAAa;AAC7E;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,4CAA4C,WAAW,SAAS,aAAa;AAC7E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,aAAa,MAAM,yBAAyB;AACjF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACtMA;AACA,eAAe,KAAoD,oBAAoB,SAAuE,CAAC,iBAAiB,aAAa,cAAc,eAAe,6CAA6C,+KAA+K,oBAAoB,wFAAw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","file":"main.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 = 0);\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst animate_js_1 = __importDefault(require(\"animate.js\"));\nconst vanilla_paroller_1 = __importDefault(require(\"./vanilla.paroller\"));\n// -------------------------- //\n// Navbar scroll triggers //\n// -------------------------- //\n// Threshold for triggering the transparent navbar\nconst SCROLL_TOP_TRIGGER_THRESHOLD = 10;\n// Threshold for triggering the white navbar\nconst SCROLL_TOP_UNTRIGGER_THRESHOLD = 20;\nlet lastScrollPos = 0;\nfunction checkScrollPosition() {\n if (lastScrollPos <= SCROLL_TOP_UNTRIGGER_THRESHOLD && window.pageYOffset > SCROLL_TOP_UNTRIGGER_THRESHOLD) {\n window.requestAnimationFrame(function () {\n document.body.classList.add(\"opaque\");\n document.body.classList.remove(\"scroll-top\");\n });\n }\n else if (lastScrollPos > SCROLL_TOP_TRIGGER_THRESHOLD && window.pageYOffset <= SCROLL_TOP_TRIGGER_THRESHOLD) {\n window.requestAnimationFrame(function () {\n document.body.classList.remove(\"opaque\");\n document.body.classList.add(\"scroll-top\");\n });\n }\n lastScrollPos = window.pageYOffset;\n}\nwindow.addEventListener(\"scroll\", checkScrollPosition);\nwindow.addEventListener(\"resize\", checkScrollPosition);\nwindow.addEventListener(\"DOMContentLoaded\", checkScrollPosition);\n// ----------------------------- //\n// Navbar menu click handler //\n// ----------------------------- //\n$(document).on('click', '[data-toggle=navbar-content]', function () {\n const toggler = $(this);\n const target = toggler.parent().parent();\n toggler.attr(\"aria-expanded\", toggler.attr(\"aria-expanded\") == \"true\" ? \"false\" : \"true\");\n target.toggleClass(\"open\");\n});\n// ---------------------------------- //\n// Scroll animations and parallax //\n// ---------------------------------- //\ndocument.addEventListener('DOMContentLoaded', () => {\n // Setup scroll-in animations\n // See https://www.npmjs.com/package/animate.js#element-overrides\n new animate_js_1.default({ remove: false }).init();\n // Setup parallax animations\n // See https://www.npmjs.com/package/paroller.js#use\n vanilla_paroller_1.default('.paroller');\n});\n// Some other random things\n// Idk what they do\njQuery(function ($) {\n $('#ipl_search').on('click', 'a', function (e) {\n e.preventDefault();\n $('#search-layer').show().addClass('open');\n $('.searchbox input').focus();\n });\n $('#search-layer').on('click', '.closer', function (e) {\n e.preventDefault();\n $('#search-layer').hide().removeClass('open');\n });\n var windowWidth = $(window).width() || 0;\n if (windowWidth >= 992) {\n $('.messages-grid .sermondetail').each(function () {\n var parentContainer = $(this).closest('.sermons-container');\n $(this).appendTo(parentContainer);\n });\n }\n function scrollToAnchor(aid) {\n var aTag = $(\"a[name='\" + aid + \"']\");\n $('html,body').animate({ scrollTop: aTag.offset().top }, 'slow');\n }\n $('.series-link').on('click touchstart', function (e) {\n e.preventDefault();\n window.console.log(e);\n $('.sermondetail').hide();\n var seriesblock = $(this).data('openid');\n var container = $(this).closest('.sermon');\n if ($(\"#\" + seriesblock).hasClass('open')) {\n $('.sermon').removeClass('open');\n $('.sermondetail').removeClass('open');\n }\n else {\n $('.sermon').removeClass('open');\n $('.sermondetail').removeClass('open');\n $(container).addClass('open');\n $(\"#\" + seriesblock).addClass('open').slideDown();\n scrollToAnchor(\"#\" + seriesblock);\n }\n });\n $('.sermondetail .closer').on('click touchstart', function (e) {\n e.preventDefault();\n var container = $(this).closest('.sermondetail');\n $('.sermon').removeClass('open');\n $(container).removeClass('open').hide();\n });\n});\n","/**\n * paroller.ts\n * Typescript port of paroller.js without jQuery.\n * Based on paroller.js (https://github.com/tgomilar/paroller.js)\n **/\n'use strict';\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst setDirection = {\n bgVertical: function (elem, bgOffset) {\n elem.style.backgroundPosition = `center ${-bgOffset}px`;\n return elem;\n },\n bgHorizontal: function (elem, bgOffset) {\n elem.style.backgroundPosition = `${-bgOffset}px center`;\n return elem;\n },\n vertical: function (elem, elemOffset, transition, oldTransform) {\n if (oldTransform === 'none') {\n oldTransform = '';\n }\n elem.style.transform = `translate(0, ${elemOffset}px) ${oldTransform}`;\n elem.style.transition = transition;\n elem.style.willChange = \"transform\";\n return elem;\n },\n horizontal: function (elem, elemOffset, transition, oldTransform) {\n if (oldTransform === 'none') {\n oldTransform = '';\n }\n elem.style.transform = `translate(${elemOffset}px, 0) ${oldTransform}`;\n elem.style.transition = transition;\n elem.style.willChange = \"transform\";\n return elem;\n }\n};\nconst setMovement = {\n factor: function (elem, width, options) {\n const dataFactor = elem.dataset.parollerFactor;\n const factor = (dataFactor) ? +dataFactor : options.factor;\n if (width < 576) {\n const dataFactorXs = elem.dataset.parollerFactorXs;\n const factorXs = (dataFactorXs) ? +dataFactorXs : options.factorXs;\n return (factorXs) ? factorXs : factor;\n }\n else if (width <= 768) {\n const dataFactorSm = elem.dataset.parollerFactorSm;\n const factorSm = (dataFactorSm) ? +dataFactorSm : options.factorSm;\n return (factorSm) ? factorSm : factor;\n }\n else if (width <= 1024) {\n const dataFactorMd = elem.dataset.parollerFactorMd;\n const factorMd = (dataFactorMd) ? +dataFactorMd : options.factorMd;\n return (factorMd) ? factorMd : factor;\n }\n else if (width <= 1200) {\n const dataFactorLg = elem.dataset.parollerFactorLg;\n const factorLg = (dataFactorLg) ? +dataFactorLg : options.factorLg;\n return (factorLg) ? factorLg : factor;\n }\n else if (width <= 1920) {\n const dataFactorXl = elem.dataset.parollerFactorXl;\n const factorXl = (dataFactorXl) ? +dataFactorXl : options.factorXl;\n return (factorXl) ? factorXl : factor;\n }\n else {\n return factor;\n }\n },\n bgOffset: function (offset, factor) {\n return Math.round(offset * factor);\n },\n transform: function (offset, factor, windowHeight, height) {\n return Math.round((offset - (windowHeight / 2) + height) * factor);\n }\n};\nconst clearPositions = {\n background: function (elem) {\n elem.style.backgroundPosition = \"unset\";\n return elem;\n },\n foreground: function (elem) {\n elem.style.transform = \"unset\";\n elem.style.transition = \"unset\";\n return elem;\n }\n};\nfunction paroller(targets, options) {\n const windowHeight = document.documentElement.clientHeight;\n const documentHeight = document.documentElement.scrollHeight;\n // default options\n const mergedOptions = {\n factor: 0,\n factorXs: 0,\n factorSm: 0,\n factorMd: 0,\n factorLg: 0,\n factorXl: 0,\n transition: 'transform .1s ease',\n type: 'background',\n direction: 'vertical',\n ...options\n };\n const targetList = typeof targets === 'string' ? document.querySelectorAll(targets)\n : targets instanceof Node ? [targets]\n : targets;\n for (const target of targetList) {\n if (!(target instanceof HTMLElement))\n continue;\n const height = target.offsetHeight;\n const width = document.documentElement.clientWidth;\n const elemTop = target.getBoundingClientRect().top + document.body.scrollTop;\n let scrollOffset = 0;\n const withScrollOffset = function (scrollTop, transform) {\n if (!scrollTop) {\n scrollOffset = transform;\n }\n // console.log(`offset ${scrollOffset} => ${transform - scrollOffset}`)\n return transform - scrollOffset;\n };\n const dataType = target.dataset.parollerType;\n const dataDirection = target.dataset.parollerDirection;\n const dataTransition = target.dataset.parollerTransition;\n const oldTransform = target.style.transform;\n const transition = (dataTransition) ? dataTransition : mergedOptions.transition;\n const type = (dataType) ? dataType : mergedOptions.type;\n const direction = (dataDirection) ? dataDirection : mergedOptions.direction;\n const factor = 0;\n const bgOffset = setMovement.bgOffset(elemTop, factor);\n const transform = setMovement.transform(elemTop, factor, windowHeight, height);\n if (type === 'background') {\n if (direction === 'vertical') {\n setDirection.bgVertical(target, bgOffset);\n }\n else if (direction === 'horizontal') {\n setDirection.bgHorizontal(target, bgOffset);\n }\n }\n else if (type === 'foreground') {\n if (direction === 'vertical') {\n setDirection.vertical(target, transform, transition, oldTransform);\n }\n else if (direction === 'horizontal') {\n setDirection.horizontal(target, transform, transition, oldTransform);\n }\n }\n window.addEventListener('resize', () => {\n const scrolling = window.scrollY;\n const width = document.documentElement.clientWidth;\n const elemTop = target.getBoundingClientRect().top + document.body.scrollTop;\n const height = target.offsetHeight;\n const factor = setMovement.factor(target, width, mergedOptions);\n const bgOffset = Math.round(elemTop * factor);\n const transform = withScrollOffset(window.scrollY, Math.round((elemTop - (windowHeight / 2) + height) * factor));\n if (type === 'background') {\n clearPositions.background(target);\n if (direction === 'vertical') {\n setDirection.bgVertical(target, bgOffset);\n }\n else if (direction === 'horizontal') {\n setDirection.bgHorizontal(target, bgOffset);\n }\n }\n else if ((type === 'foreground') && (scrolling <= documentHeight)) {\n clearPositions.foreground(target);\n if (direction === 'vertical') {\n setDirection.vertical(target, transform, transition);\n }\n else if (direction === 'horizontal') {\n setDirection.horizontal(target, transform, transition);\n }\n }\n });\n const onLoadScroll = function () {\n const scrolling = window.scrollY;\n const scrollTop = window.scrollY;\n const factor = setMovement.factor(target, width, mergedOptions);\n const transform = withScrollOffset(scrollTop, Math.round(((elemTop - (windowHeight / 2) + height) - scrolling) * factor));\n if (type === 'background') {\n if (direction === 'vertical') {\n setDirection.bgVertical(target, bgOffset);\n }\n else if (direction === 'horizontal') {\n setDirection.bgHorizontal(target, bgOffset);\n }\n }\n else if ((type === 'foreground') && (scrolling <= documentHeight)) {\n if (direction === 'vertical') {\n setDirection.vertical(target, transform, transition, oldTransform);\n }\n else if (direction === 'horizontal') {\n setDirection.horizontal(target, transform, transition, oldTransform);\n }\n }\n };\n window.addEventListener('load', onLoadScroll);\n window.addEventListener('scroll', onLoadScroll);\n }\n}\nexports.default = paroller;\n","/*! animate.js v2.0.2 | (c) 2019-10-24 Josh Johnson | https://github.com/jshjohnson/Animate#readme */\n!function(t,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):(t=t||self).Animate=e()}(this,function(){\"use strict\";function m(t){var e=typeof t;return null!=t&&(\"object\"==e||\"function\"==e)}var t=\"object\"==typeof global&&global&&global.Object===Object&&global,e=\"object\"==typeof self&&self&&self.Object===Object&&self,n=t||e||Function(\"return this\")(),_=function(){return n.Date.now()},r=n.Symbol,o=Object.prototype,i=o.hasOwnProperty,a=o.toString,s=r?r.toStringTag:void 0;var u=Object.prototype.toString;var c=\"[object Null]\",l=\"[object Undefined]\",f=r?r.toStringTag:void 0;function h(t){return null==t?void 0===t?l:c:f&&f in Object(t)?function(t){var e=i.call(t,s),n=t[s];try{var r=!(t[s]=void 0)}catch(t){}var o=a.call(t);return r&&(e?t[s]=n:delete t[s]),o}(t):function(t){return u.call(t)}(t)}function y(t){return null!=t&&\"object\"==typeof t}var p=\"[object Symbol]\";var d=NaN,v=/^\\s+|\\s+$/g,b=/^[-+]0x[0-9a-f]+$/i,g=/^0b[01]+$/i,j=/^0o[0-7]+$/i,O=parseInt;function A(t){if(\"number\"==typeof t)return t;if(function(t){return\"symbol\"==typeof t||y(t)&&h(t)==p}(t))return d;if(m(t)){var e=\"function\"==typeof t.valueOf?t.valueOf():t;t=m(e)?e+\"\":e}if(\"string\"!=typeof t)return 0===t?t:+t;t=t.replace(v,\"\");var n=g.test(t);return n||j.test(t)?O(t.slice(2),n?2:8):b.test(t)?d:+t}var w=\"Expected a function\",E=Math.max,z=Math.min;function x(r,n,t){var o,i,a,s,u,c,l=0,f=!1,p=!1,e=!0;if(\"function\"!=typeof r)throw new TypeError(w);function d(t){var e=o,n=i;return o=i=void 0,l=t,s=r.apply(n,e)}function v(t){var e=t-c;return void 0===c||n<=e||e<0||p&&a<=t-l}function h(){var t=_();if(v(t))return y(t);u=setTimeout(h,function(t){var e=n-(t-c);return p?z(e,a-(t-l)):e}(t))}function y(t){return u=void 0,e&&o?d(t):(o=i=void 0,s)}function b(){var t=_(),e=v(t);if(o=arguments,i=this,c=t,e){if(void 0===u)return function(t){return l=t,u=setTimeout(h,n),f?d(t):s}(c);if(p)return clearTimeout(u),u=setTimeout(h,n),d(c)}return void 0===u&&(u=setTimeout(h,n)),s}return n=A(n)||0,m(t)&&(f=!!t.leading,a=(p=\"maxWait\"in t)?E(A(t.maxWait)||0,n):a,e=\"trailing\"in t?!!t.trailing:e),b.cancel=function(){void 0!==u&&clearTimeout(u),o=c=i=u=void(l=0)},b.flush=function(){return void 0===u?s:y(_())},b}function L(t,e){return t===e||t!=t&&e!=e}function S(t,e){for(var n=t.length;n--;)if(L(t[n][0],e))return n;return-1}var T=Array.prototype.splice;function k(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e