vendor: 3,603 bytes, lines 1-89
1/******/ (function(modules) { // webpackBootstrap 2/******/ // The module cache 3/******/ var installedModules = {}; 4/******/ 5/******/ // The require function 6/******/ function __webpack_require__(moduleId) { 7/******/ 8/******/ // Check if module is in cache 9/******/ if(installedModules[moduleId]) { 10/******/ return installedModules[moduleId].exports; 11/******/ } 12/******/ // Create a new module (and put it into the cache) 13/******/ var module = installedModules[moduleId] = { 14/******/ i: moduleId, 15/******/ l: false, 16/******/ exports: {} 17/******/ }; 18/******/ 19/******/ // Execute the module function 20/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); 21/******/ 22/******/ // Flag the module as loaded 23/******/ module.l = true; 24/******/ 25/******/ // Return the exports of the module 26/******/ return module.exports; 27/******/ } 28/******/ 29/******/ 30/******/ // expose the modules object (__webpack_modules__) 31/******/ __webpack_require__.m = modules; 32/******/ 33/******/ // expose the module cache 34/******/ __webpack_require__.c = installedModules; 35/******/ 36/******/ // define getter function for harmony exports 37/******/ __webpack_require__.d = function(exports, name, getter) { 38/******/ if(!__webpack_require__.o(exports, name)) { 39/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); 40/******/ } 41/******/ }; 42/******/ 43/******/ // define __esModule on exports 44/******/ __webpack_require__.r = function(exports) { 45/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { 46/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); 47/******/ } 48/******/ Object.defineProperty(exports, '__esModule', { value: true }); 49/******/ }; 50/******/ 51/******/ // create a fake namespace object 52/******/ // mode & 1: value is a module id, require it 53/******/ // mode & 2: merge all properties of value into the ns 54/******/ // mode & 4: return value when already ns object 55/******/ // mode & 8|1: behave like require 56/******/ __webpack_require__.t = function(value, mode) { 57/******/ if(mode & 1) value = __webpack_require__(value); 58/******/ if(mode & 8) return value; 59/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; 60/******/ var ns = Object.create(null); 61/******/ __webpack_require__.r(ns); 62/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); 63/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); 64/******/ return ns; 65/******/ }; 66/******/ 67/******/ // getDefaultExport function for compatibility with non-harmony modules 68/******/ __webpack_require__.n = function(module) { 69/******/ var getter = module && module.__esModule ? 70/******/ function getDefault() { return module['default']; } : 71/******/ function getModuleExports() { return module; }; 72/******/ __webpack_require__.d(getter, 'a', getter); 73/******/ return getter; 74/******/ }; 75/******/ 76/******/ // Object.prototype.hasOwnProperty.call 77/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; 78/******/ 79/******/ // __webpack_public_path__ 80/******/ __webpack_require__.p = ""; 81/******/ 82/******/ 83/******/ // Load entry module and return exports 84/******/ return __webpack_require__(__webpack_require__.s = 0); 85/******/ }) 86/************************************************************************/ 87/******/ ({ 88 89/***/ "./
89assets/src/js/bf_animations_queue.js": 90/*!**********************************************!*\ 91 !*** ./assets/src/js/bf_animations_queue.js ***! 92 \**********************************************/ 93/*! no static exports found */ 94/***/ (function(module, exports) { 95 96/** 97 * BFAnimationQueue 98 * Creates waypoints and a queue of any '.animated' item within a given scope; 99 * @scope - The scope is a parent element which the queue is limited to 100 */ 101(function ($) { 102 /** 103 * The main JS Object 104 * @param el 105 * @returns {$.AnimationQueue} 106 * @constructor 107 */ 108 $.AnimationQueue = function (el) { 109 this.scope = el instanceof $ ? el : $(el); // This is our scope -- Row, Widget, Etc that this queue manages 110 this.waypoints = []; // Holds each waypoint object so we can clean up after ourselves 111 this.waypoints_offset = '85%'; // threshold to trigger waypoints 112 this.queue = []; // Work that is ready to do - the queue itself 113 this.delay = 0; // Default delay to be used for sequential option ( defaults as 0 ) 114 this.items = []; // Default items 115 this.order = 'asc'; // Default ordering for items 116 117 // Set everything up :: This is the base initialization of the object 118 this.setup(); 119 120 // Need to return the plugin function so we can chain jQuery functions if needed 121 return this; 122 }; 123 124 /** 125 * Set up the queue, and register waypoints 126 */ 127 $.AnimationQueue.prototype.setup = function () { 128 var self = this; 129 130 // If our scope is tagged with sequential animations, set our default delay 131 if (self.scope.hasClass('sequential-vertical')) { 132 self.sequential_type = 'vertical'; 133 self.delay = 350; 134 } else if (self.scope.hasClass('sequential-column')) { 135 self.sequential_type = 'column'; 136 self.delay = 350; 137 } else { 138 self.sequential_type = 'none'; 139 self.delay = 0; 140 } 141 if (self.scope.hasClass('animate-desc')) { 142 self.order = 'desc'; 143 } 144 self.buildItems(); 145 self.registerWaypoint(); 146 }; 147 148 /** 149 * Finds all animated items within our scope, and attaches them to self.items along with their offset value 150 */ 151 $.AnimationQueue.prototype.buildItems = function () { 152 var self = this; 153 var rtn_items = []; 154 self.scope.find('.animated').each(function (i, el) { 155 el = el instanceof $ ? el : $(el); 156 var offset = el.offset().top; 157 rtn_items.push({ 158 'element': el, 159 'offset': offset 160 }); 161 }); 162 self.items = rtn_items; 163 }; 164 165 /** 166 * Registers a Waypoint to a single element 167 */ 168 $.AnimationQueue.prototype.registerWaypoint = function () { 169 var self = this; 170 var waypoint_id = self.scope.attr('id'); 171 172 // Create a waypoints object and callback handler for the element 173 // and store it in our waypoints property for later reference 174 self.waypoints[waypoint_id] = new Waypoint({ 175 element: self.scope, 176 handler: function handler() { 177 self.execWaypoint(); 178 }, 179 offset: self.waypoints_offset 180 }); 181 }; 182 183 /** 184 * Executes when a waypoint for a given element is hit 185 */ 186 $.AnimationQueue.prototype.execWaypoint = function () { 187 var self = this; // Give access to the parent inside functions 188 var waypoint_id = self.scope.attr('id'); 189 190 // If using vertical sequencing, we need to reorder our 'self.items' based on offset().top 191 if ('vertical' === self.sequential_type) { 192 self.items.sort(function (a, b) { 193 return a.offset - b.offset; 194 }); 195 } 196 $.each(self.items, function (i, data) { 197 self.addToQueue(data.element); 198 }); 199 200 // If the queue isn't already running, start it 201 self.playQueue(); 202 203 // We don't need this waypoint anymore - clean up 204 self.waypoints[waypoint_id].destroy(); 205 }; 206 207 /** 208 * Adds an element to the queue 209 * @param el 210 */ 211 $.AnimationQueue.prototype.addToQueue = function (el) { 212 var self = this; // Give access to the parent inside functions 213 el = el instanceof $ ? el : $(el); 214 // Add our item to the queue as ready to animate 215 216 if ('desc' === self.order) { 217 self.queue.unshift(el); 218 } else { 219 self.queue.push(el); 220 } 221 }; 222 223 /** 224 * Iterative Function: Plays the current queue through 225 * @returns {boolean} 226 */ 227 $.AnimationQueue.prototype.playQueue = function () { 228 var self = this; // Give access to the parent inside functions 229 230 // Get the next item in the queue, and remove it from the queue 231 var nextInQueue = self.queue.shift(); 232 // Trigger our animation 233 var animation_type = nextInQueue.attr('data-animation'); 234 nextInQueue.css('visibility', 'visible').addClass(animation_type); 235 236 // Complete Animations 237 self.cleanup(nextInQueue, animation_type); 238 239 // After our set delay time, check for the next item in the queue 240 setTimeout(function () { 241 if (self.queue.length !== 0) { 242 return self.playQueue(); // Iterate if items are left in the queue 243 } else { 244 return true; 245 } 246 }, self.delay); 247 }; 248 249 /** 250 * Cleans up animation classes so we don't conflict with any other @keyframe based animations (eg - hover) 251 * @param el 252 * @param animation_type 253 */ 254 $.AnimationQueue.prototype.cleanup = function (el, animation_type) { 255 setTimeout(function () { 256 el.removeClass('animated'); 257 el.removeClass(animation_type); 258 }, 1000); 259 }; 260 261 /** 262 * Main Plugin Function 263 * @returns {*} 264 * @constructor 265 */ 266 $.fn.AnimationQueue = function () { 267 // Return each instance to allow for chaining of jQuery functions if needed 268 return this.each(function (i, el) { 269 // Only create a new AnimationQueue instance if we have '.animated' elements within 270 if ($(el).find('.animated').length !== 0) { 271 new $.AnimationQueue(el); 272 } 273 }); 274 }; 275})(jQuery); 276 277/***/ }), 278
279/***/ "./assets/src/js/bf_parallax.js": 280/*!**************************************!*\ 281 !*** ./assets/src/js/bf_parallax.js ***! 282 \**************************************/ 283/*! no static exports found */ 284/***/ (function(module, exports) { 285 286var $ = jQuery.noConflict(); 287$(window).load(function () { 288 // parallax rows 289 $('div.stellar-row-parallax').bf_parallax(); 290}); 291 292/** 293 * Parallax Object 294 * @param el 295 */ 296$.bf_parallax = function (el) { 297 var viewport = $(el); 298 viewport.layers = viewport.find("div[data-type='parallax']"); 299 var methods = { 300 init: function init() { 301 viewport.height = viewport.outerHeight(); 302 viewport.offsetVertical = viewport.offset().top; 303 $(window).on('scroll', function () { 304 methods.scrollLayers(); 305 }); 306 $(window).on('resize', function () { 307 methods.resizeAdjust(); 308 }); 309 methods.scrollLayers(); 310 }, 311 scrollLayers: function scrollLayers() { 312 var window_scroll = $(window).scrollTop(); 313 var relative_scroll = window_scroll - viewport.offsetVertical; 314 if (relative_scroll >= 0) { 315 viewport.layers.each(function () { 316 var layer = $(this); 317 var depth = layer.attr('data-depth'); 318 var movement = relative_scroll * depth; 319 layer.css({ 320 "transform": "translate3d(0px, " + movement + "px, 0px)" 321 }); 322 }); 323 } else { 324 viewport.layers.css({ 325 "transform": "translate3d(0px, 0px, 0px)" 326 }); 327 } 328 }, 329 resizeAdjust: function resizeAdjust() { 330 viewport.height = viewport.outerHeight(); 331 viewport.offsetVertical = viewport.offset().top; 332 } 333 }; 334 methods.init(); // Fire, baby 335}; 336 337/** 338 * Parallax init crawler 339 */ 340$.fn.bf_parallax = function () { 341 return this.each(function () { 342 new $.bf_parallax(this); // Instantiate a new object for each output range slider 343 }); 344}; 345 346/***/ }), 347
348/***/ "./assets/src/js/bfmenu.js": 349/*!*********************************!*\ 350 !*** ./assets/src/js/bfmenu.js ***! 351 \*********************************/ 352/*! no exports provided */ 353/***/ (function(module, __webpack_exports__, __webpack_require__) { 354 355"use strict"; 356__webpack_require__.r(__webpack_exports__); 357/* WEBPACK VAR INJECTION */(function(module) {/* harmony import */ var _babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "./node_modules/@babel/runtime/helpers/typeof.js"); 358/* harmony import */ var _babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_0__); 359 360(function ($) { 361 jQuery.fn.bfmenu = function (options) { 362 var settings; 363 $.extend(settings = { 364 showSpeed: 300, 365 hideSpeed: 300, 366 trigger: "hover", 367 showDelay: 250, 368 hideDelay: 250, 369 effect: "fade", 370 align: "left", 371 responsive: true, 372 indentChildren: false, 373 indicatorFirstLevel: "fa-caret-right", 374 scrollable: false, 375 scrollableMaxHeight: 400, 376 mobileMenuText: 'MENU' 377 }, options); 378 379 // variables 380 var menu_container = $(this); 381 var menu = $(menu_container).children(".bfmenu-menubar"); 382 var menu_li = $(menu).find("li"); 383 var showHideButton; 384 var mobileWidthBase = 768; 385 var bigScreenFlag = 2000; // a number greater than "mobileWidthBase" 386 var smallScreenFlag = 200; // a number less than "mobileWidthBase" 387 388 // dropdown/megamenu indicators 389 $(menu).children("li").children("a").each(function () { 390 if ($(this).siblings(".dropdown, .megamenu").length > 0) { 391 $(this).append('<i class="indicator fa ' + settings.indicatorFirstLevel + '" role="presentation" aria-hidden="true"></i>'); 392 } 393 }); 394 $(menu).find(".dropdown").children("li").children("a").each(function () { 395 if ($(this).siblings(".dropdown").length > 0) { 396 $(this).append('<i class="indicator fa ' + settings.indicatorFirstLevel + '" role="presentation" aria-hidden="true"></i>'); 397 } 398 }); 399 400 // responsive behavior 401 if (settings.responsive) { 402 $(menu_container).prepend('<a href="#" class="showhide"><span>' + settings.mobileMenuText + '</span><i class="fa fa-bars" role="presentation" aria-hidden="true"></i></a>'); 403 showHideButton = $(menu_container).children(".showhide"); 404 } 405 406 // scrollable menu 407 if (settings.scrollable) { 408 if (settings.responsive) { 409 $(menu).css("max-height", settings.scrollableMaxHeight).addClass("scrollable").append("<li class='scrollable-fix'></li>"); 410 } 411 } 412 413 // shows a dropdown 414 function showDropdown(item) { 415 $(item).addClass("active"); 416 $('> a', item).attr("aria-expanded", "true"); 417 if (settings.effect == "fade") $(item).children(".dropdown, .megamenu").stop(true, true).delay(settings.showDelay).fadeIn(settings.showSpeed).addClass('active');else $(item).children(".dropdown, .megamenu").stop(true, true).delay(settings.showDelay).slideDown(settings.showSpeed).addClass('active'); 418 } 419 420 // hides a dropdown 421 function hideDropdown(item) { 422 $(item).removeClass("active"); // We don't want this to affect tab-items 423 $('> a', item).attr("aria-expanded", "false"); 424 if (settings.effect == "fade") $(item).children(".dropdown, .megamenu").stop(true, true).delay(settings.hideDelay).fadeOut(settings.hideSpeed).removeClass('active');else $(item).children(".dropdown, .megamenu").stop(true, true).delay(settings.hideDelay).slideUp(settings.hideSpeed).removeClass('active'); 425 $(item).children(".dropdown, .megamenu").find(".dropdown, .megamenu").stop(true, true).delay(settings.hideDelay).fadeOut(settings.hideSpeed); 426 } 427 428 // landscape mode 429 function landscapeMode() { 430 $(menu).find(".dropdown, .megamenu").hide(0); 431 if (navigator.userAgent.match(/Mobi/i) || window.navigator.msMaxTouchPoints > 0 || settings.trigger == "click") { 432 $(".bfmenu-menubar > li > a, .bfmenu-menubar ul.dropdown li a").bind("click touchstart", function (e) { 433 e.stopPropagation(); 434 e.preventDefault(); 435 $(this).parent("li").siblings("li").removeClass('active').find(".dropdown, .megamenu").stop(true, true).fadeOut(300); 436 if ($(this).siblings(".dropdown, .megamenu").css("display") == "none") { 437 showDropdown($(this).parent("li")); 438 return false;
439 } else { 440 hideDropdown($(this).parent("li")); 441 } 442 window.location.href = $(this).attr("href"); 443 }); 444 $(document).bind("click.menu touchstart.menu", function (ev) { 445 if ($(ev.target).closest(".bfmenu").length == 0) { 446 $(".bfmenu-menubar").find("li").removeClass('active'); 447 $(".bfmenu-menubar").find(".dropdown, .megamenu").fadeOut(300); 448 } 449 }); 450 } else { 451 $(menu_li).bind("mouseenter", function () { 452 showDropdown(this); 453 }).bind("mouseleave", function () { 454 hideDropdown(this); 455 }); 456 } 457 } 458 459 // portrait mode 460 function portraitMode() { 461 $(menu).find(".dropdown, .megamenu").hide(0); 462 $(menu).find(".indicator").each(function () { 463 if ($(this).parent("a").siblings(".dropdown, .megamenu").length > 0) { 464 $(this).bind("click", function (e) { 465 var clickedElement = $(this); 466 if ($(this).parent().prop("tagName") == "A") { 467 e.preventDefault(); 468 } 469 if ($(this).parent("a").siblings(".dropdown, .megamenu").css("display") == "none") { 470 $(this).parent("a").siblings(".dropdown, .megamenu").delay(settings.showDelay).slideDown({ 471 duration: settings.showSpeed, 472 start: function start() { 473 $(this).siblings("a").find(".indicator").css({ 474 'transform': 'rotate(90deg)', 475 'transition': 'all ' + settings.showSpeed + 'ms' 476 }); 477 $('html, body').animate({ 478 scrollTop: $(clickedElement).offset().top 479 }, 500); 480 } 481 }); 482 $(this).parent("a").parent("li").siblings("li").find(".dropdown, .megamenu").slideUp({ 483 duration: settings.hideSpeed, 484 start: function start() { 485 $(this).parent("li").find(".indicator").css({ 486 'transform': 'rotate(0)', 487 'transition': 'all ' + settings.hideSpeed + 'ms' 488 }); 489 } 490 }); 491 $(this).closest('li').siblings().removeClass('active'); 492 $(this).closest('li').addClass('active'); 493 } else { 494 $(this).parent("a").siblings(".dropdown, .megamenu").slideUp({ 495 duration: settings.hideSpeed, 496 start: function start() { 497 $(this).parent("li").find(".indicator").css({ 498 'transform': 'rotate(0)', 499 'transition': 'all ' + settings.hideSpeed + 'ms' 500 }); 501 } 502 }); 503 $(this).parent("a").siblings("ul").find(".dropdown, .megamenu").slideUp({ 504 duration: settings.hideSpeed, 505 start: function start() { 506 $(this).parent("li").find(".indicator").css({ 507 'transform': 'rotate(0)', 508 'transition': 'all ' + settings.hideSpeed + 'ms' 509 }); 510 } 511 }); 512 $(this).closest('li').removeClass('active'); 513 } 514 }); 515 } 516 }); 517 } 518 519 // Fix the submenu on the right side 520 function fixSubmenuRight() { 521 var submenus = $(menu).children("li").children(".dropdown, .megamenu"); 522 if ($(window).innerWidth() > mobileWidthBase) { 523 var menu_width = $(menu_container).outerWidth(true); 524 for (var i = 0; i < submenus.length; i++) { 525 if ($(submenus[i]).parent("li").position().left + $(submenus[i]).outerWidth() > menu_width) { 526 $(submenus[i]).css("right", 0); 527 $(submenus[i]).find(".dropdown").addClass('dropdown-left'); 528 } else { 529 if (menu_width == $(submenus[i]).outerWidth() || menu_width - $(submenus[i]).outerWidth() < 20) { 530 $(submenus[i]).css("left", 0); 531 } 532 if ($(submenus[i]).parent("li").position().left + $(submenus[i]).outerWidth() < menu_width) { 533 $(submenus[i]).css("right", "auto"); 534 } 535 } 536 } 537 } 538 } 539 540 // show the bar to show/hide menu items on mobile 541 function showMobileBar() { 542 $(menu).hide(0); 543 $(showHideButton).show(0).click(function (e) { 544 e.preventDefault(); 545 if ($(menu).css("display") == "none") { 546 $(menu).slideDown(settings.showSpeed); 547 } else { 548 $(menu).slideUp(settings.hideSpeed).find(".dropdown, .megamenu").hide(settings.hideSpeed); 549 $(menu).find('li').removeClass('active'); 550 $(menu).find(".indicator").css({ 551 'transform': 'rotate(0)' 552 }); 553 } 554 }); 555 } 556 557 // hide the bar to show/hide menu items on mobile 558 function hideMobileBar() { 559 $(menu).show(0); 560 $(showHideButton).hide(0); 561 } 562 563 // unbind events 564 function unbindEvents() { 565 $(menu_container).find("li, a").unbind(); 566 $(document).unbind("click.menu touchstart.menu"); 567 } 568 function menuTabs() { 569 $(".bfmenu-tab-content").hide(); 570 $(".bfmenu-tab-content:first").show(); 571 572 /* if in tab mode */ 573 $("li.tab-nav-item > a").unbind('click touchstart').bind("click touchstart", function (event) { 574 event.stopPropagation(); 575 event.preventDefault(); 576 $(".bfmenu-tab-content").hide(); 577 var activeTab = $(this).attr("rel"); 578 $("#" + activeTab).show(); 579 $("li.tab-nav-item a").removeClass("active"); 580 $("li.tab-nav-item").removeClass("active"); 581 $(this).addClass("active"); 582 $(this).parents("li").addClass("active"); 583 $(".bfmenu-tab-heading").removeClass("active"); 584 $(".bfmenu-tab-heading[rel^='" + activeTab + "']").addClass("active"); 585 }); 586 587 /* if in accordion mode */ 588 $(".bfmenu-tab-heading").unbind('click touchstart').bind("click touchstart", function (event) { 589 event.stopPropagation(); 590 event.preventDefault(); 591 var accordion_activeTab = $(this).attr("rel"); 592 var isActive = $(this).hasClass("active"); 593 $(".bfmenu-tab-heading").removeClass("active"); 594 $("li.tab-nav-item a").removeClass("active"); 595 if (isActive) {
596 $("#" + accordion_activeTab).slideUp(settings.showSpeed).removeClass("active"); 597 $(this).removeClass("active"); 598 } else { 599 $(".bfmenu-tab-content").hide(); 600 $("#" + accordion_activeTab).slideDown(settings.showSpeed).addClass("active"); 601 $(this).addClass("active"); 602 $("li.tab-nav-item a[rel^='" + accordion_activeTab + "']").addClass("active"); 603 $('html, body').animate({ 604 scrollTop: $(this).offset().top 605 }, 500); 606 } 607 }); 608 } 609 610 // return window's width 611 function windowWidth() { 612 return window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth; 613 } 614 615 // navigation start function 616 function startMenu() { 617 fixSubmenuRight(); 618 if (windowWidth() <= mobileWidthBase && bigScreenFlag > mobileWidthBase) { 619 unbindEvents(); 620 if (settings.responsive) { 621 showMobileBar(); 622 portraitMode(); 623 } else { 624 landscapeMode(); 625 } 626 } 627 if (windowWidth() > mobileWidthBase && smallScreenFlag <= mobileWidthBase) { 628 unbindEvents(); 629 hideMobileBar(); 630 landscapeMode(); 631 } 632 bigScreenFlag = windowWidth(); 633 smallScreenFlag = windowWidth(); 634 menuTabs(); 635 /* IE8 fix */ 636 if (/MSIE (\d+\.\d+);/.test(navigator.userAgent) && windowWidth() < mobileWidthBase) { 637 var ieversion = new Number(RegExp.$1); 638 if (ieversion == 8) { 639 $(showHideButton).hide(0); 640 $(menu).show(0); 641 unbindEvents(); 642 landscapeMode(); 643 } 644 } 645 } 646 startMenu(); 647 $(window).resize(function () { 648 startMenu(); 649 fixSubmenuRight(); 650 }); 651 }; 652})(jQuery); 653 654/** 655* jquery.scrollTo 656* Copyright (c) 2007-2014 Ariel Flesler - aflesler<a>gmail<d>com | http://flesler.blogspot.com 657* Licensed under MIT 658* @author Ariel Flesler 659* @version 1.4.13 660*/ 661 662(function (k) { 663 'use strict'; 664 665 k(['jquery'], function ($) { 666 var j = $.scrollTo = function (a, b, c) { 667 return $(window).scrollTo(a, b, c); 668 }; 669 j.defaults = { 670 axis: 'xy', 671 duration: parseFloat($.fn.jquery) >= 1.3 ? 0 : 1, 672 limit: !0 673 }; 674 j.window = function (a) { 675 return $(window)._scrollable(); 676 }; 677 $.fn._scrollable = function () { 678 return this.map(function () { 679 var a = this, 680 isWin = !a.nodeName || $.inArray(a.nodeName.toLowerCase(), ['iframe', '#document', 'html', 'body']) != -1; 681 if (!isWin) return a; 682 var b = (a.contentWindow || a).document || a.ownerDocument || a; 683 return /webkit/i.test(navigator.userAgent) || b.compatMode == 'BackCompat' ? b.body : b.documentElement; 684 }); 685 }; 686 $.fn.scrollTo = function (f, g, h) { 687 if (_babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_0___default()(g) == 'object') { 688 h = g; 689 g = 0; 690 } 691 if (typeof h == 'function') h = { 692 onAfter: h 693 }; 694 if (f == 'max') f = 9e9; 695 h = $.extend({}, j.defaults, h); 696 g = g || h.duration; 697 h.queue = h.queue && h.axis.length > 1; 698 if (h.queue) g /= 2; 699 h.offset = both(h.offset); 700 h.over = both(h.over); 701 return this._scrollable().each(function () { 702 if (f == null) return; 703 var d = this, 704 $elem = $(d), 705 targ = f, 706 toff, 707 attr = {}, 708 win = $elem.is('html,body'); 709 switch (_babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_0___default()(targ)) { 710 case 'number': 711 case 'string': 712 if (/^([+-]=?)?\d+(\.\d+)?(px|%)?$/.test(targ)) { 713 targ = both(targ); 714 break; 715 } 716 targ = win ? $(targ) : $(targ, this); 717 if (!targ.length) return; 718 case 'object': 719 if (targ.is || targ.style) toff = (targ = $(targ)).offset(); 720 } 721 var e = $.isFunction(h.offset) && h.offset(d, targ) || h.offset; 722 $.each(h.axis.split(''), function (i, a) { 723 var b = a == 'x' ? 'Left' : 'Top', 724 pos = b.toLowerCase(), 725 key = 'scroll' + b, 726 old = d[key], 727 max = j.max(d, a); 728 if (toff) { 729 attr[key] = toff[pos] + (win ? 0 : old - $elem.offset()[pos]); 730 if (h.margin) { 731 attr[key] -= parseInt(targ.css('margin' + b)) || 0;
732 attr[key] -= parseInt(targ.css('border' + b + 'Width')) || 0; 733 } 734 attr[key] += e[pos] || 0; 735 if (h.over[pos]) attr[key] += targ[a == 'x' ? 'width' : 'height']() * h.over[pos]; 736 } else { 737 var c = targ[pos]; 738 attr[key] = c.slice && c.slice(-1) == '%' ? parseFloat(c) / 100 * max : c; 739 } 740 if (h.limit && /^\d+$/.test(attr[key])) attr[key] = attr[key] <= 0 ? 0 : Math.min(attr[key], max); 741 if (!i && h.queue) { 742 if (old != attr[key]) animate(h.onAfterFirst); 743 delete attr[key]; 744 } 745 }); 746 animate(h.onAfter); 747 function animate(a) { 748 $elem.animate(attr, g, h.easing, a && function () { 749 a.call(this, targ, h); 750 }); 751 } 752 }).end(); 753 }; 754 j.max = function (a, b) { 755 var c = b == 'x' ? 'Width' : 'Height', 756 scroll = 'scroll' + c; 757 if (!$(a).is('html,body')) return a[scroll] - $(a)[c.toLowerCase()](); 758 var d = 'client' + c, 759 html = a.ownerDocument.documentElement, 760 body = a.ownerDocument.body; 761 return Math.max(html[scroll], body[scroll]) - Math.min(html[d], body[d]); 762 }; 763 function both(a) { 764 return $.isFunction(a) || _babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_0___default()(a) == 'object' ? a : { 765 top: a, 766 left: a 767 }; 768 } 769 return j; 770 }); 771})(typeof define === 'function' && __webpack_require__(/*! !webpack amd options */ "./node_modules/webpack/buildin/amd-options.js") ? define : function (a, b) { 772 if ( true && module.exports) { 773 module.exports = b(__webpack_require__(/*! jquery */ "jquery")); 774 } else { 775 b(jQuery); 776 } 777}); 778/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../../node_modules/webpack/buildin/harmony-module.js */ "./node_modules/webpack/buildin/harmony-module.js")(module))) 779 780/***/ }), 781
782/***/ "./assets/src/js/brightfire-stellar.js": 783/*!*********************************************!*\ 784 !*** ./assets/src/js/brightfire-stellar.js ***! 785 \*********************************************/ 786/*! no static exports found */ 787/***/ (function(module, exports) { 788 789/*! BrightFire Stellar - v0.0.1 790 * https://www.brightfire.com 791 * Copyright (c) 2016; * Licensed GPLv2+ */ 792 793(function ($, stellar) { 794 var stellar_mobile_breakpoint; 795 var stellar_mobile; 796 797 /** 798 * Set up all our vars on window.load 799 */ 800 $(window).load(function () { 801 // Find and set our Breakpoint 802 stellar_mobile_breakpoint = stellar.getBreakpoint(); 803 804 // Check viewport size and set mobile class 805 stellar.assignMobile(); 806 stellar.mobile_video_override(); 807 stellar.customizerExec(); 808 stellar.stellarSlider(); 809 stellar.matchWidgetHeight(); 810 stellar.setupFixedRows(); 811 stellar.forceZindex(); 812 $(".overlap").fadeTo('500ms', 1); 813 }); 814 815 /** 816 * Resize Events 817 */ 818 $(window).on('resize', function () { 819 if (true === stellar.breakpointSwitch()) { 820 stellar.assignMobile(); 821 stellar.resetFixedRows(); 822 } 823 stellar.mobile_video_override(); 824 stellar.matchWidgetHeight(); 825 }); 826 827 /** 828 * Customizer Initial Setup (and refresh) 829 */ 830 stellar.customizerExec = function () { 831 $('div.row').AnimationQueue(); 832 stellar.stellarSlider(); 833 stellar.matchWidgetHeight(); 834 stellar.setupFixedRows(); 835 stellar.forceZindex(); 836 stellar.responsiveEmbed(); 837 $(".overlap").fadeTo('500ms', 1); 838 }; 839 840 /** 841 * Gets stellar breakpoint 842 * @returns {*|jQuery} 843 */
844 stellar.getBreakpoint = function () { 845 return $('body').attr('data-breakpoint'); 846 }; 847 848 /** 849 * Sets JS var and body .mobile class 850 */ 851 stellar.assignMobile = function () { 852 if (true === stellar.isMobileViewport()) { 853 stellar_mobile = true; 854 $('body').addClass('mobile'); 855 } else { 856 stellar_mobile = false; 857 $('body').removeClass('mobile'); 858 } 859 }; 860 861 /** 862 * Checks viewport width against breakpoint 863 * @returns {boolean} 864 */ 865 stellar.isMobileViewport = function () { 866 var viewport_width = $(window).width(); 867 if (viewport_width < stellar_mobile_breakpoint) { 868 return true; 869 } else { 870 return false; 871 } 872 }; 873 874 /** 875 * On resize are we moving past a breakpoint? 876 * @returns {boolean} 877 */ 878 stellar.breakpointSwitch = function () { 879 // Are we moving past Mobile Breakpoint 880 if (true === stellar.isMobileViewport() && true === stellar_mobile || false === stellar.isMobileViewport() && false === stellar_mobile) { 881 return false; 882 } 883 return true; 884 }; 885 886 /** 887 * Set up fixed frows 888 */ 889 stellar.setupFixedRows = function () { 890 var body = $('body').not('.wp-admin').not('.mobile'), 891 fixed_row_element = body.find('*[data-row-fixed="true"]'); 892 if (fixed_row_element.length) { 893 // if .row-fixed exists 894 895 var eleHeight = fixed_row_element.actual('outerHeight'), 896 menuBg = fixed_row_element.css('background-color'), 897 eleTop = fixed_row_element.offset().top, 898 adminBar = {}; 899 if (!$('.row-fixed-placeholder').length) { 900 $(fixed_row_element).after('<div class="row-fixed-placeholder" style="height: ' + eleHeight + 'px; background-color: ' + menuBg + ';"></div>'); 901 } 902 var placeholder = $('.row-fixed-placeholder'); 903 placeholder.hide(); 904 905 // Set Initial 906 stellar.setRelativePosition(fixed_row_element, placeholder, eleTop); 907 908 // Scroll Listener 909 $(document).bind('scroll.fixedRows', function () { 910 stellar.setRelativePosition(fixed_row_element, placeholder, eleTop); 911 }); 912 913 // Resize Listener 914 $(window).resize(function () { 915 adminBar = stellar.getWpAdminBarSize(); 916 eleHeight = fixed_row_element.actual('outerHeight'); // If we resize, make sure our height didn't change 917 placeholder.css('height', eleHeight + 'px'); // on resize, make sure our placeholder gets height changes 918 919 if (fixed_row_element.hasClass('traveling')) { 920 // if our header is sticky, compensate for possible change in wpHeight 921 fixed_row_element.css('top', adminBar.bottom + 'px'); 922 } 923 }); 924 } 925 }; 926 stellar.setRelativePosition = function (fixed_row_element, placeholder, eleTop) { 927 var scrollOffset = $(document).scrollTop(), 928 adminBar = stellar.getWpAdminBarSize(); 929 if (scrollOffset > eleTop - adminBar.height) { 930 placeholder.show(); // Put in the placeholder so we don't lose vertical alignment 931 fixed_row_element.css('position', 'fixed').css('width', '100%').css('top', adminBar.bottom + 'px').css('left', 0).addClass('traveling'); 932 } else { 933 placeholder.hide(); 934 fixed_row_element.css({ 935 'position': '', 936 'width': '', 937 'top': '', 938 'left': '' 939 }).removeClass('traveling'); 940 } 941 }; 942 stellar.getWpAdminBarSize = function () { 943 var bottom, 944 height, 945 adminBar = {}, 946 scrollOffset = $(document).scrollTop(); 947 if ($('#wpadminbar').length) { 948 // if #wpadminbar exists 949 height = $('#wpadminbar').actual('outerHeight'); 950 bottom = $('#wpadminbar').offset().top + height - scrollOffset; 951 } else { 952 bottom = 0; 953 height = 0; 954 } 955 if (bottom <= 0) { 956 bottom = 0; // If it's less than 0, make it 0 957 } 958 if (height <= 0) { 959 height = 0; // If it's less than 0, make it 0 960 } 961 adminBar.bottom = bottom; 962 adminBar.height = height; 963 return adminBar; 964 }; 965 966 /** 967 * Rebuild fixed rows 968 * @returns {boolean} 969 */ 970 stellar.resetFixedRows = function () { 971 $('body').find('*[data-row-fixed="true"]').css({ 972 'position': '', 973 'width': '', 974 'top': '', 975 'left': '' 976 }).removeClass('traveling'); 977 $('.row-fixed-placeholder').remove(); // If we are going to call setupFixedRows again, we should remove this 978 $(document).unbind('scroll.fixedRows'); 979 stellar.setupFixedRows(); 980 }; 981 stellar.stellarSlider = function () { 982 var slider = $('.stellar-slider').not('.slick-initialized'); 983 $.each(slider, function () { 984 $(this).slick({ 985 autoplay: true,
986 arrows: false, 987 slidesToShow: 1, 988 slidesToScroll: 1 989 }); 990 }); 991 }; 992 stellar.matchWidgetHeight = function () { 993 // Find all our match elements 994 var body = $('body').not('.wp-admin').not('.mobile'); // Don't do this on mobile 995 var columns = body.find('.column'); 996 997 // Reset all '.matched' element heights 998 $('.matched').height('auto').removeClass('matched'); 999 1000 // Loop Through Each of our columns 1001 $.each(columns, function () { 1002 var max_height = 0; // Reset our max-height for each columng 1003 var match_elements = $(this).find('.match-widget-height'); // All elements to match in this column 1004 1005 // Loop through all '.match-height' widgets 1006 $.each(match_elements, function () { 1007 var ele_height = $(this).actual('outerHeight'); 1008 if (ele_height > max_height) { 1009 max_height = ele_height; 1010 } 1011 }); 1012 $.each(match_elements, function () { 1013 var ele_height = $(this).actual('height'); 1014 var ele_outer_height = $(this).actual('outerHeight'); 1015 if (ele_outer_height < max_height) { 1016 var adjusted_height = max_height - ele_outer_height; 1017 $(this).height(ele_height + adjusted_height); 1018 } 1019 }); 1020 match_elements.addClass('matched'); // Set 'matched' class 1021 }); 1022 }; 1023 1024 // Set row z-indices appropriately for menus, overlap widgets and fixed rows 1025 stellar.forceZindex = function () { 1026 var els = $(".overlap, .bfmenu-menubar").parents(".row"); 1027 els = els.add($('[data-row-fixed="true"]')); 1028 var i = els.length * 20; // 20 will be the lowest z-index used here. 1029 1030 els.each(function () { 1031 $(this).css({ 1032 "z-index": +i 1033 }); 1034 i = i - 20; 1035 }); 1036 }; 1037 stellar.mobile_video_override = function () { 1038 $('video.background-video source').each(function () { 1039 if (stellar.isMobileViewport()) { 1040 $(this).attr('src', ''); 1041 $(this).parent('video')[0].pause(); 1042 } else { 1043 $(this).attr('src', $(this).data('video-src')); 1044 $(this).parent('video')[0].play(); 1045 } 1046 }); 1047 }; 1048 stellar.responsiveEmbed = function () { 1049 // Find iFrames with a youtube.com OR youtu.be in the SRC attribute 1050 var iframes = $('.widget_bf_cpc iframe[src*="youtube.com"], .widget_bf_cpc iframe[src*="youtu.be"]'); 1051 iframes.each(function () { 1052 // Remove width and height 1053 $(this).css('width', '100%').removeAttr('height').wrap('<div class="stellar-embed-wrapper aspect-16-9"></div>'); 1054 }); 1055 }; 1056})(jQuery, window.stellar); 1057 1058/***/ }), 1059
1060/***/ "./assets/src/js/gf-honeypot-patchfix.js": 1061/*!***********************************************!*\ 1062 !*** ./assets/src/js/gf-honeypot-patchfix.js ***! 1063 \***********************************************/ 1064/*! no static exports found */ 1065/***/ (function(module, exports) { 1066 1067/** 1068 * Gravity Forms Honeypot Patch Fix. 1069 * 1070 * If the Honeypot field is being used and shows up in any order other than last, 1071 * it can cause display issues with forms that are intended to be a set number of columns. 1072 * This only applies to Legacy Markup and can be removed if/when we transition away from it. 1073 * 1074 * @see https://brightfirellc.atlassian.net/browse/ST-59 1075 */ 1076(function ($) { 1077 "use strict"; 1078 1079 // Get all Legacy Markup Gravity Forms on the page. 1080 var $forms = $('.gform_wrapper.gform_legacy_markup_wrapper form'); 1081 if (0 === $forms.length) { 1082 // No forms? Short-circuit. 1083 return; 1084 } 1085 1086 // Loop through all the forms on the page. 1087 $forms.each(function () { 1088 var $form = $(this); 1089 var $fieldsWrapper = $form.find('.gform_fields'); 1090 var $honeypot = $fieldsWrapper.find('.gfield--type-honeypot'); 1091 if (0 === $honeypot.length) { 1092 // No honeypot? Short-circuit. 1093 return; 1094 } 1095 1096 // Get the complete markup of the Honeypot field. 1097 var honeypotMarkup = $honeypot.prop('outerHTML'); 1098 1099 // Remove the existing Honeypot. This could be anywhere in the field list. 1100 $honeypot.remove(); 1101 1102 // Append the copy of the Honeypot field to the very end. 1103 $fieldsWrapper.append(honeypotMarkup); 1104 }); 1105})(jQuery); 1106 1107/***/ }), 1108
1109/***/ "./assets/src/js/waypoints.js": 1110/*!************************************!*\ 1111 !*** ./assets/src/js/waypoints.js ***! 1112 \************************************/ 1113/*! no static exports found */ 1114/***/ (function(module, exports) { 1115 1116/*! 1117Waypoints - 4.0.1 1118Copyright © 2011-2016 Caleb Troughton 1119Licensed under the MIT license. 1120https://github.com/imakewebthings/waypoints/blob/master/licenses.txt 1121*/ 1122(function () { 1123 'use strict'; 1124 1125 var keyCounter = 0; 1126 var allWaypoints = {}; 1127 1128 /* http://imakewebthings.com/waypoints/api/waypoint */ 1129 function Waypoint(options) { 1130 if (!options) { 1131 throw new Error('No options passed to Waypoint constructor'); 1132 } 1133 if (!options.element) { 1134 throw new Error('No element option passed to Waypoint constructor'); 1135 } 1136 if (!options.handler) { 1137 throw new Error('No handler option passed to Waypoint constructor'); 1138 } 1139 this.key = 'waypoint-' + keyCounter; 1140 this.options = Waypoint.Adapter.extend({}, Waypoint.defaults, options); 1141 this.element = this.options.element; 1142 this.adapter = new Waypoint.Adapter(this.element); 1143 this.callback = options.handler; 1144 this.axis = this.options.horizontal ? 'horizontal' : 'vertical'; 1145 this.enabled = this.options.enabled; 1146 this.triggerPoint = null; 1147 this.group = Waypoint.Group.findOrCreate({ 1148 name: this.options.group, 1149 axis: this.axis 1150 }); 1151 this.context = Waypoint.Context.findOrCreateByElement(this.options.context); 1152 if (Waypoint.offsetAliases[this.options.offset]) { 1153 this.options.offset = Waypoint.offsetAliases[this.options.offset]; 1154 } 1155 this.group.add(this); 1156 this.context.add(this); 1157 allWaypoints[this.key] = this; 1158 keyCounter += 1; 1159 } 1160 1161 /* Private */ 1162 Waypoint.prototype.queueTrigger = function (direction) { 1163 this.group.queueTrigger(this, direction); 1164 }; 1165 1166 /* Private */ 1167 Waypoint.prototype.trigger = function (args) { 1168 if (!this.enabled) { 1169 return; 1170 } 1171 if (this.callback) { 1172 this.callback.apply(this, args); 1173 } 1174 }; 1175 1176 /* Public */ 1177 /* http://imakewebthings.com/waypoints/api/destroy */ 1178 Waypoint.prototype.destroy = function () { 1179 this.context.remove(this); 1180 this.group.remove(this); 1181 delete allWaypoints[this.key]; 1182 }; 1183 1184 /* Public */ 1185 /* http://imakewebthings.com/waypoints/api/disable */ 1186 Waypoint.prototype.disable = function () { 1187 this.enabled = false; 1188 return this; 1189 }; 1190 1191 /* Public */ 1192 /* http://imakewebthings.com/waypoints/api/enable */ 1193 Waypoint.prototype.enable = function () { 1194 this.context.refresh(); 1195 this.enabled = true; 1196 return this; 1197 }; 1198 1199 /* Public */ 1200 /* http://imakewebthings.com/waypoints/api/next */ 1201 Waypoint.prototype.next = function () { 1202 return this.group.next(this); 1203 }; 1204 1205 /* Public */ 1206 /* http://imakewebthings.com/waypoints/api/previous */ 1207 Waypoint.prototype.previous = function () { 1208 return this.group.previous(this); 1209 }; 1210 1211 /* Private */ 1212 Waypoint.invokeAll = function (method) { 1213 var allWaypointsArray = [];
1214 for (var waypointKey in allWaypoints) { 1215 allWaypointsArray.push(allWaypoints[waypointKey]); 1216 } 1217 for (var i = 0, end = allWaypointsArray.length; i < end; i++) { 1218 allWaypointsArray[i][method](); 1219 } 1220 }; 1221 1222 /* Public */ 1223 /* http://imakewebthings.com/waypoints/api/destroy-all */ 1224 Waypoint.destroyAll = function () { 1225 Waypoint.invokeAll('destroy'); 1226 }; 1227 1228 /* Public */ 1229 /* http://imakewebthings.com/waypoints/api/disable-all */ 1230 Waypoint.disableAll = function () { 1231 Waypoint.invokeAll('disable'); 1232 }; 1233 1234 /* Public */ 1235 /* http://imakewebthings.com/waypoints/api/enable-all */ 1236 Waypoint.enableAll = function () { 1237 Waypoint.Context.refreshAll(); 1238 for (var waypointKey in allWaypoints) { 1239 allWaypoints[waypointKey].enabled = true; 1240 } 1241 return this; 1242 }; 1243 1244 /* Public */ 1245 /* http://imakewebthings.com/waypoints/api/refresh-all */ 1246 Waypoint.refreshAll = function () { 1247 Waypoint.Context.refreshAll(); 1248 }; 1249 1250 /* Public */ 1251 /* http://imakewebthings.com/waypoints/api/viewport-height */ 1252 Waypoint.viewportHeight = function () { 1253 return window.innerHeight || document.documentElement.clientHeight; 1254 }; 1255 1256 /* Public */ 1257 /* http://imakewebthings.com/waypoints/api/viewport-width */ 1258 Waypoint.viewportWidth = function () { 1259 return document.documentElement.clientWidth; 1260 }; 1261 Waypoint.adapters = []; 1262 Waypoint.defaults = { 1263 context: window, 1264 continuous: true, 1265 enabled: true, 1266 group: 'default', 1267 horizontal: false, 1268 offset: 0 1269 }; 1270 Waypoint.offsetAliases = { 1271 'bottom-in-view': function bottomInView() { 1272 return this.context.innerHeight() - this.adapter.outerHeight(); 1273 }, 1274 'right-in-view': function rightInView() { 1275 return this.context.innerWidth() - this.adapter.outerWidth(); 1276 } 1277 }; 1278 window.Waypoint = Waypoint; 1279})(); 1280(function () { 1281 'use strict'; 1282 1283 function requestAnimationFrameShim(callback) { 1284 window.setTimeout(callback, 1000 / 60); 1285 } 1286 var keyCounter = 0; 1287 var contexts = {}; 1288 var Waypoint = window.Waypoint; 1289 var oldWindowLoad = window.onload; 1290 1291 /* http://imakewebthings.com/waypoints/api/context */ 1292 function Context(element) { 1293 this.element = element; 1294 this.Adapter = Waypoint.Adapter; 1295 this.adapter = new this.Adapter(element); 1296 this.key = 'waypoint-context-' + keyCounter; 1297 this.didScroll = false; 1298 this.didResize = false; 1299 this.oldScroll = { 1300 x: this.adapter.scrollLeft(), 1301 y: this.adapter.scrollTop() 1302 }; 1303 this.waypoints = { 1304 vertical: {}, 1305 horizontal: {} 1306 }; 1307 element.waypointContextKey = this.key; 1308 contexts[element.waypointContextKey] = this; 1309 keyCounter += 1; 1310 if (!Waypoint.windowContext) { 1311 Waypoint.windowContext = true; 1312 Waypoint.windowContext = new Context(window); 1313 } 1314 this.createThrottledScrollHandler(); 1315 this.createThrottledResizeHandler(); 1316 } 1317 1318 /* Private */ 1319 Context.prototype.add = function (waypoint) { 1320 var axis = waypoint.options.horizontal ? 'horizontal' : 'vertical'; 1321 this.waypoints[axis][waypoint.key] = waypoint; 1322 this.refresh(); 1323 }; 1324 1325 /* Private */ 1326 Context.prototype.checkEmpty = function () { 1327 var horizontalEmpty = this.Adapter.isEmptyObject(this.waypoints.horizontal); 1328 var verticalEmpty = this.Adapter.isEmptyObject(this.waypoints.vertical); 1329 var isWindow = this.element == this.element.window; 1330 if (horizontalEmpty && verticalEmpty && !isWindow) { 1331 this.adapter.off('.waypoints'); 1332 delete contexts[this.key]; 1333 } 1334 }; 1335 1336 /* Private */ 1337 Context.prototype.createThrottledResizeHandler = function () { 1338 var self = this; 1339 function resizeHandler() { 1340 self.handleResize(); 1341 self.didResize = false; 1342 } 1343 this.adapter.on('resize.waypoints', function () { 1344 if (!self.didResize) { 1345 self.didResize = true; 1346 Waypoint.requestAnimationFrame(resizeHandler); 1347 } 1348 }); 1349 }; 1350 1351 /* Private */ 1352 Context.prototype.createThrottledScrollHandler = function () { 1353 var self = this; 1354 function scrollHandler() { 1355 self.handleScroll(); 1356 self.didScroll = false; 1357 } 1358 this.adapter.on('scroll.waypoints', function () { 1359 if (!self.didScroll || Waypoint.isTouch) { 1360 self.didScroll = true; 1361 Waypoint.requestAnimationFrame(scrollHandler); 1362 } 1363 }); 1364 }; 1365 1366 /* Private */ 1367 Context.prototype.handleResize = function () { 1368 Waypoint.Context.refreshAll(); 1369 }; 1370 1371 /* Private */ 1372 Context.prototype.handleScroll = function () { 1373 var triggeredGroups = {}; 1374 var axes = { 1375 horizontal: { 1376 newScroll: this.adapter.scrollLeft(), 1377 oldScroll: this.oldScroll.x, 1378 forward: 'right', 1379 backward: 'left' 1380 }, 1381 vertical: { 1382 newScroll: this.adapter.scrollTop(), 1383 oldScroll: this.oldScroll.y, 1384 forward: 'down', 1385 backward: 'up' 1386 } 1387 }; 1388 for (var axisKey in axes) { 1389 var axis = axes[axisKey]; 1390 var isForward = axis.newScroll > axis.oldScroll; 1391 var direction = isForward ? axis.forward : axis.backward;
1392 for (var waypointKey in this.waypoints[axisKey]) { 1393 var waypoint = this.waypoints[axisKey][waypointKey]; 1394 if (waypoint.triggerPoint === null) { 1395 continue; 1396 } 1397 var wasBeforeTriggerPoint = axis.oldScroll < waypoint.triggerPoint; 1398 var nowAfterTriggerPoint = axis.newScroll >= waypoint.triggerPoint; 1399 var crossedForward = wasBeforeTriggerPoint && nowAfterTriggerPoint; 1400 var crossedBackward = !wasBeforeTriggerPoint && !nowAfterTriggerPoint; 1401 if (crossedForward || crossedBackward) { 1402 waypoint.queueTrigger(direction); 1403 triggeredGroups[waypoint.group.id] = waypoint.group; 1404 } 1405 } 1406 } 1407 for (var groupKey in triggeredGroups) { 1408 triggeredGroups[groupKey].flushTriggers(); 1409 } 1410 this.oldScroll = { 1411 x: axes.horizontal.newScroll, 1412 y: axes.vertical.newScroll 1413 }; 1414 }; 1415 1416 /* Private */ 1417 Context.prototype.innerHeight = function () { 1418 /*eslint-disable eqeqeq */ 1419 if (this.element == this.element.window) { 1420 return Waypoint.viewportHeight(); 1421 } 1422 /*eslint-enable eqeqeq */ 1423 return this.adapter.innerHeight(); 1424 }; 1425 1426 /* Private */ 1427 Context.prototype.remove = function (waypoint) { 1428 delete this.waypoints[waypoint.axis][waypoint.key]; 1429 this.checkEmpty(); 1430 }; 1431 1432 /* Private */ 1433 Context.prototype.innerWidth = function () { 1434 /*eslint-disable eqeqeq */ 1435 if (this.element == this.element.window) { 1436 return Waypoint.viewportWidth(); 1437 } 1438 /*eslint-enable eqeqeq */ 1439 return this.adapter.innerWidth(); 1440 }; 1441 1442 /* Public */ 1443 /* http://imakewebthings.com/waypoints/api/context-destroy */ 1444 Context.prototype.destroy = function () { 1445 var allWaypoints = []; 1446 for (var axis in this.waypoints) {
1447 for (var waypointKey in this.waypoints[axis]) { 1448 allWaypoints.push(this.waypoints[axis][waypointKey]); 1449 } 1450 } 1451 for (var i = 0, end = allWaypoints.length; i < end; i++) { 1452 allWaypoints[i].destroy(); 1453 } 1454 }; 1455 1456 /* Public */ 1457 /* http://imakewebthings.com/waypoints/api/context-refresh */ 1458 Context.prototype.refresh = function () { 1459 /*eslint-disable eqeqeq */ 1460 var isWindow = this.element == this.element.window; 1461 /*eslint-enable eqeqeq */ 1462 var contextOffset = isWindow ? undefined : this.adapter.offset(); 1463 var triggeredGroups = {}; 1464 var axes; 1465 this.handleScroll(); 1466 axes = { 1467 horizontal: { 1468 contextOffset: isWindow ? 0 : contextOffset.left, 1469 contextScroll: isWindow ? 0 : this.oldScroll.x, 1470 contextDimension: this.innerWidth(), 1471 oldScroll: this.oldScroll.x, 1472 forward: 'right', 1473 backward: 'left', 1474 offsetProp: 'left' 1475 }, 1476 vertical: { 1477 contextOffset: isWindow ? 0 : contextOffset.top, 1478 contextScroll: isWindow ? 0 : this.oldScroll.y, 1479 contextDimension: this.innerHeight(), 1480 oldScroll: this.oldScroll.y, 1481 forward: 'down', 1482 backward: 'up', 1483 offsetProp: 'top' 1484 } 1485 }; 1486 for (var axisKey in axes) { 1487 var axis = axes[axisKey];
1488 for (var waypointKey in this.waypoints[axisKey]) { 1489 var waypoint = this.waypoints[axisKey][waypointKey]; 1490 var adjustment = waypoint.options.offset; 1491 var oldTriggerPoint = waypoint.triggerPoint; 1492 var elementOffset = 0; 1493 var freshWaypoint = oldTriggerPoint === null; 1494 var contextModifier, wasBeforeScroll, nowAfterScroll; 1495 var triggeredBackward, triggeredForward; 1496 if (waypoint.element !== waypoint.element.window) { 1497 elementOffset = waypoint.adapter.offset()[axis.offsetProp]; 1498 } 1499 if (typeof adjustment === 'function') { 1500 adjustment = adjustment.apply(waypoint); 1501 } else if (typeof adjustment === 'string') { 1502 adjustment = parseFloat(adjustment); 1503 if (waypoint.options.offset.indexOf('%') > -1) { 1504 adjustment = Math.ceil(axis.contextDimension * adjustment / 100); 1505 } 1506 } 1507 contextModifier = axis.contextScroll - axis.contextOffset; 1508 waypoint.triggerPoint = Math.floor(elementOffset + contextModifier - adjustment); 1509 wasBeforeScroll = oldTriggerPoint < axis.oldScroll; 1510 nowAfterScroll = waypoint.triggerPoint >= axis.oldScroll; 1511 triggeredBackward = wasBeforeScroll && nowAfterScroll; 1512 triggeredForward = !wasBeforeScroll && !nowAfterScroll; 1513 if (!freshWaypoint && triggeredBackward) { 1514 waypoint.queueTrigger(axis.backward); 1515 triggeredGroups[waypoint.group.id] = waypoint.group; 1516 } else if (!freshWaypoint && triggeredForward) { 1517 waypoint.queueTrigger(axis.forward); 1518 triggeredGroups[waypoint.group.id] = waypoint.group; 1519 } else if (freshWaypoint && axis.oldScroll >= waypoint.triggerPoint) { 1520 waypoint.queueTrigger(axis.forward); 1521 triggeredGroups[waypoint.group.id] = waypoint.group; 1522 } 1523 } 1524 } 1525 Waypoint.requestAnimationFrame(function () { 1526 for (var groupKey in triggeredGroups) { 1527 triggeredGroups[groupKey].flushTriggers(); 1528 } 1529 }); 1530 return this; 1531 }; 1532 1533 /* Private */ 1534 Context.findOrCreateByElement = function (element) { 1535 return Context.findByElement(element) || new Context(element); 1536 }; 1537 1538 /* Private */ 1539 Context.refreshAll = function () { 1540 for (var contextId in contexts) { 1541 contexts[contextId].refresh(); 1542 } 1543 }; 1544 1545 /* Public */ 1546 /* http://imakewebthings.com/waypoints/api/context-find-by-element */ 1547 Context.findByElement = function (element) { 1548 return contexts[element.waypointContextKey]; 1549 }; 1550 window.onload = function () { 1551 if (oldWindowLoad) { 1552 oldWindowLoad(); 1553 } 1554 Context.refreshAll(); 1555 }; 1556 Waypoint.requestAnimationFrame = function (callback) { 1557 var requestFn = window.requestAnimationFrame || window.mozRequestAnimationFrame || window.webkitRequestAnimationFrame || requestAnimationFrameShim; 1558 requestFn.call(window, callback); 1559 }; 1560 Waypoint.Context = Context; 1561})(); 1562(function () { 1563 'use strict'; 1564 1565 function byTriggerPoint(a, b) { 1566 return a.triggerPoint - b.triggerPoint; 1567 } 1568 function byReverseTriggerPoint(a, b) { 1569 return b.triggerPoint - a.triggerPoint; 1570 } 1571 var groups = { 1572 vertical: {}, 1573 horizontal: {} 1574 }; 1575 var Waypoint = window.Waypoint; 1576 1577 /* http://imakewebthings.com/waypoints/api/group */ 1578 function Group(options) { 1579 this.name = options.name; 1580 this.axis = options.axis; 1581 this.id = this.name + '-' + this.axis; 1582 this.waypoints = []; 1583 this.clearTriggerQueues(); 1584 groups[this.axis][this.name] = this; 1585 } 1586 1587 /* Private */ 1588 Group.prototype.add = function (waypoint) { 1589 this.waypoints.push(waypoint); 1590 }; 1591 1592 /* Private */ 1593 Group.prototype.clearTriggerQueues = function () { 1594 this.triggerQueues = { 1595 up: [], 1596 down: [], 1597 left: [], 1598 right: [] 1599 }; 1600 }; 1601 1602 /* Private */ 1603 Group.prototype.flushTriggers = function () { 1604 for (var direction in this.triggerQueues) { 1605 var waypoints = this.triggerQueues[direction]; 1606 var reverse = direction === 'up' || direction === 'left'; 1607 waypoints.sort(reverse ? byReverseTriggerPoint : byTriggerPoint); 1608 for (var i = 0, end = waypoints.length; i < end; i += 1) { 1609 var waypoint = waypoints[i]; 1610 if (waypoint.options.continuous || i === waypoints.length - 1) { 1611 waypoint.trigger([direction]); 1612 } 1613 } 1614 } 1615 this.clearTriggerQueues(); 1616 }; 1617 1618 /* Private */ 1619 Group.prototype.next = function (waypoint) { 1620 this.waypoints.sort(byTriggerPoint); 1621 var index = Waypoint.Adapter.inArray(waypoint, this.waypoints); 1622 var isLast = index === this.waypoints.length - 1; 1623 return isLast ? null : this.waypoints[index + 1]; 1624 }; 1625 1626 /* Private */ 1627 Group.prototype.previous = function (waypoint) { 1628 this.waypoints.sort(byTriggerPoint); 1629 var index = Waypoint.Adapter.inArray(waypoint, this.waypoints); 1630 return index ? this.waypoints[index - 1] : null; 1631 }; 1632 1633 /* Private */ 1634 Group.prototype.queueTrigger = function (waypoint, direction) { 1635 this.triggerQueues[direction].push(waypoint); 1636 }; 1637 1638 /* Private */ 1639 Group.prototype.remove = function (waypoint) { 1640 var index = Waypoint.Adapter.inArray(waypoint, this.waypoints); 1641 if (index > -1) { 1642 this.waypoints.splice(index, 1); 1643 } 1644 }; 1645 1646 /* Public */ 1647 /* http://imakewebthings.com/waypoints/api/first */ 1648 Group.prototype.first = function () { 1649 return this.waypoints[0]; 1650 }; 1651 1652 /* Public */ 1653 /* http://imakewebthings.com/waypoints/api/last */ 1654 Group.prototype.last = function () { 1655 return this.waypoints[this.waypoints.length - 1]; 1656 }; 1657 1658 /* Private */ 1659 Group.findOrCreate = function (options) { 1660 return groups[options.axis][options.name] || new Group(options); 1661 }; 1662 Waypoint.Group = Group; 1663})(); 1664(function () { 1665 'use strict'; 1666 1667 var $ = window.jQuery; 1668 var Waypoint = window.Waypoint; 1669 function JQueryAdapter(element) { 1670 this.$element = $(element); 1671 }
1672 $.each(['innerHeight', 'innerWidth', 'off', 'offset', 'on', 'outerHeight', 'outerWidth', 'scrollLeft', 'scrollTop'], function (i, method) { 1673 JQueryAdapter.prototype[method] = function () { 1674 var args = Array.prototype.slice.call(arguments); 1675 return this.$element[method].apply(this.$element, args); 1676 }; 1677 }); 1678 $.each(['extend', 'inArray', 'isEmptyObject'], function (i, method) { 1679 JQueryAdapter[method] = $[method]; 1680 }); 1681 Waypoint.adapters.push({ 1682 name: 'jquery', 1683 Adapter: JQueryAdapter 1684 }); 1685 Waypoint.Adapter = JQueryAdapter; 1686})(); 1687(function () { 1688 'use strict'; 1689 1690 var Waypoint = window.Waypoint; 1691 function createExtension(framework) { 1692 return function () { 1693 var waypoints = []; 1694 var overrides = arguments[0]; 1695 if (framework.isFunction(arguments[0])) { 1696 overrides = framework.extend({}, arguments[1]); 1697 overrides.handler = arguments[0]; 1698 } 1699 this.each(function () { 1700 var options = framework.extend({}, overrides, { 1701 element: this 1702 }); 1703 if (typeof options.context === 'string') { 1704 options.context = framework(this).closest(options.context)[0]; 1705 } 1706 waypoints.push(new Waypoint(options)); 1707 }); 1708 return waypoints; 1709 }; 1710 } 1711 if (window.jQuery) { 1712 window.jQuery.fn.waypoint = createExtension(window.jQuery); 1713 } 1714 if (window.Zepto) { 1715 window.Zepto.fn.waypoint = createExtension(window.Zepto); 1716 } 1717})(); 1718 1719/***/ }), 1720
vendor: 853 bytes, lines 1721-1740
1721/***/ "./node_modules/@babel/runtime/helpers/typeof.js": 1722/*!*******************************************************!*\ 1723 !*** ./node_modules/@babel/runtime/helpers/typeof.js ***! 1724 \*******************************************************/ 1725/*! no static exports found */ 1726/***/ (function(module, exports) { 1727 1728function _typeof(o) { 1729 "@babel/helpers - typeof"; 1730 1731 return module.exports = _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { 1732 return typeof o; 1733 } : function (o) { 1734 return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; 1735 }, module.exports.__esModule = true, module.exports["default"] = module.exports, _typeof(o); 1736} 1737module.exports = _typeof, module.exports.__esModule = true, module.exports["default"] = module.exports; 1738 1739/***/ }), 1740
vendor: 460 bytes, lines 1741-1754
1741/***/ "./node_modules/webpack/buildin/amd-options.js": 1742/*!****************************************!*\ 1743 !*** (webpack)/buildin/amd-options.js ***! 1744 \****************************************/ 1745/*! no static exports found */ 1746/***/ (function(module, exports) { 1747 1748/* WEBPACK VAR INJECTION */(function(__webpack_amd_options__) {/* globals __webpack_amd_options__ */ 1749module.exports = __webpack_amd_options__; 1750 1751/* WEBPACK VAR INJECTION */}.call(this, {})) 1752 1753/***/ }), 1754
vendor: 854 bytes, lines 1755-1788
1755/***/ "./node_modules/webpack/buildin/harmony-module.js": 1756/*!*******************************************!*\ 1757 !*** (webpack)/buildin/harmony-module.js ***! 1758 \*******************************************/ 1759/*! no static exports found */ 1760/***/ (function(module, exports) { 1761 1762module.exports = function(originalModule) { 1763 if (!originalModule.webpackPolyfill) { 1764 var module = Object.create(originalModule); 1765 // module.parent = undefined by default 1766 if (!module.children) module.children = []; 1767 Object.defineProperty(module, "loaded", { 1768 enumerable: true, 1769 get: function() { 1770 return module.l; 1771 } 1772 }); 1773 Object.defineProperty(module, "id", { 1774 enumerable: true, 1775 get: function() { 1776 return module.i; 1777 } 1778 }); 1779 Object.defineProperty(module, "exports", { 1780 enumerable: true 1781 }); 1782 module.webpackPolyfill = 1; 1783 } 1784 return module; 1785}; 1786 1787 1788/***/ })
1788, 1789 1790/***/ 0: 1791/*!************************************************************************************************************************************************************************************************************************!*\ 1792 !*** multi ./assets/src/js/brightfire-stellar.js ./assets/src/js/bf_parallax.js ./assets/src/js/bf_animations_queue.js ./assets/src/js/bfmenu.js ./assets/src/js/waypoints.js ./assets/src/js/gf-honeypot-patchfix.js ***! 1793 \************************************************************************************************************************************************************************************************************************/ 1794/*! no static exports found */ 1795/***/ (function(module, exports, __webpack_require__) { 1796 1797__webpack_require__(/*! ./assets/src/js/brightfire-stellar.js */"./assets/src/js/brightfire-stellar.js"); 1798__webpack_require__(/*! ./assets/src/js/bf_parallax.js */"./assets/src/js/bf_parallax.js"); 1799__webpack_require__(/*! ./assets/src/js/bf_animations_queue.js */"./assets/src/js/bf_animations_queue.js"); 1800__webpack_require__(/*! ./assets/src/js/bfmenu.js */"./assets/src/js/bfmenu.js"); 1801__webpack_require__(/*! ./assets/src/js/waypoints.js */"./assets/src/js/waypoints.js"); 1802module.exports = __webpack_require__(/*! ./assets/src/js/gf-honeypot-patchfix.js */"./assets/src/js/gf-honeypot-patchfix.js"); 1803 1804 1805/***/ }), 1806 1807/***/ "jquery": 1808/*!*************************!*\ 1809 !*** external "jQuery" ***! 1810 \*************************/ 1811/*! no static exports found */ 1812/***/ (function(module, exports) { 1813 1814module.exports = jQuery; 1815 1816/***/ }) 1817 1818/******/ }); 1819//# sourceMappingURL=brightfire_stellar.js.map
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.