{ "version": 3, "sources": ["../../node_modules/throttle-debounce/throttle.js", "../../node_modules/throttle-debounce/debounce.js", "../../src/scripts/hero.js"], "sourcesContent": ["/* eslint-disable no-undefined,no-param-reassign,no-shadow */\n\n/**\n * Throttle execution of a function. Especially useful for rate limiting\n * execution of handlers on events like resize and scroll.\n *\n * @param {number} delay - A zero-or-greater delay in milliseconds. For event callbacks, values around 100 or 250 (or even higher)\n * are most useful.\n * @param {Function} callback - A function to be executed after delay milliseconds. The `this` context and all arguments are passed through,\n * as-is, to `callback` when the throttled-function is executed.\n * @param {object} [options] - An object to configure options.\n * @param {boolean} [options.noTrailing] - Optional, defaults to false. If noTrailing is true, callback will only execute every `delay` milliseconds\n * while the throttled-function is being called. If noTrailing is false or unspecified, callback will be executed\n * one final time after the last throttled-function call. (After the throttled-function has not been called for\n * `delay` milliseconds, the internal counter is reset).\n * @param {boolean} [options.noLeading] - Optional, defaults to false. If noLeading is false, the first throttled-function call will execute callback\n * immediately. If noLeading is true, the first the callback execution will be skipped. It should be noted that\n * callback will never executed if both noLeading = true and noTrailing = true.\n * @param {boolean} [options.debounceMode] - If `debounceMode` is true (at begin), schedule `clear` to execute after `delay` ms. If `debounceMode` is\n * false (at end), schedule `callback` to execute after `delay` ms.\n *\n * @returns {Function} A new, throttled, function.\n */\nexport default function (delay, callback, options) {\n\tconst {\n\t\tnoTrailing = false,\n\t\tnoLeading = false,\n\t\tdebounceMode = undefined\n\t} = options || {};\n\t/*\n\t * After wrapper has stopped being called, this timeout ensures that\n\t * `callback` is executed at the proper times in `throttle` and `end`\n\t * debounce modes.\n\t */\n\tlet timeoutID;\n\tlet cancelled = false;\n\n\t// Keep track of the last time `callback` was executed.\n\tlet lastExec = 0;\n\n\t// Function to clear existing timeout\n\tfunction clearExistingTimeout() {\n\t\tif (timeoutID) {\n\t\t\tclearTimeout(timeoutID);\n\t\t}\n\t}\n\n\t// Function to cancel next exec\n\tfunction cancel(options) {\n\t\tconst { upcomingOnly = false } = options || {};\n\t\tclearExistingTimeout();\n\t\tcancelled = !upcomingOnly;\n\t}\n\n\t/*\n\t * The `wrapper` function encapsulates all of the throttling / debouncing\n\t * functionality and when executed will limit the rate at which `callback`\n\t * is executed.\n\t */\n\tfunction wrapper(...arguments_) {\n\t\tlet self = this;\n\t\tlet elapsed = Date.now() - lastExec;\n\n\t\tif (cancelled) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Execute `callback` and update the `lastExec` timestamp.\n\t\tfunction exec() {\n\t\t\tlastExec = Date.now();\n\t\t\tcallback.apply(self, arguments_);\n\t\t}\n\n\t\t/*\n\t\t * If `debounceMode` is true (at begin) this is used to clear the flag\n\t\t * to allow future `callback` executions.\n\t\t */\n\t\tfunction clear() {\n\t\t\ttimeoutID = undefined;\n\t\t}\n\n\t\tif (!noLeading && debounceMode && !timeoutID) {\n\t\t\t/*\n\t\t\t * Since `wrapper` is being called for the first time and\n\t\t\t * `debounceMode` is true (at begin), execute `callback`\n\t\t\t * and noLeading != true.\n\t\t\t */\n\t\t\texec();\n\t\t}\n\n\t\tclearExistingTimeout();\n\n\t\tif (debounceMode === undefined && elapsed > delay) {\n\t\t\tif (noLeading) {\n\t\t\t\t/*\n\t\t\t\t * In throttle mode with noLeading, if `delay` time has\n\t\t\t\t * been exceeded, update `lastExec` and schedule `callback`\n\t\t\t\t * to execute after `delay` ms.\n\t\t\t\t */\n\t\t\t\tlastExec = Date.now();\n\t\t\t\tif (!noTrailing) {\n\t\t\t\t\ttimeoutID = setTimeout(debounceMode ? clear : exec, delay);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t/*\n\t\t\t\t * In throttle mode without noLeading, if `delay` time has been exceeded, execute\n\t\t\t\t * `callback`.\n\t\t\t\t */\n\t\t\t\texec();\n\t\t\t}\n\t\t} else if (noTrailing !== true) {\n\t\t\t/*\n\t\t\t * In trailing throttle mode, since `delay` time has not been\n\t\t\t * exceeded, schedule `callback` to execute `delay` ms after most\n\t\t\t * recent execution.\n\t\t\t *\n\t\t\t * If `debounceMode` is true (at begin), schedule `clear` to execute\n\t\t\t * after `delay` ms.\n\t\t\t *\n\t\t\t * If `debounceMode` is false (at end), schedule `callback` to\n\t\t\t * execute after `delay` ms.\n\t\t\t */\n\t\t\ttimeoutID = setTimeout(\n\t\t\t\tdebounceMode ? clear : exec,\n\t\t\t\tdebounceMode === undefined ? delay - elapsed : delay\n\t\t\t);\n\t\t}\n\t}\n\n\twrapper.cancel = cancel;\n\n\t// Return the wrapper function.\n\treturn wrapper;\n}\n", "/* eslint-disable no-undefined */\n\nimport throttle from './throttle.js';\n\n/**\n * Debounce execution of a function. Debouncing, unlike throttling,\n * guarantees that a function is only executed a single time, either at the\n * very beginning of a series of calls, or at the very end.\n *\n * @param {number} delay - A zero-or-greater delay in milliseconds. For event callbacks, values around 100 or 250 (or even higher) are most useful.\n * @param {Function} callback - A function to be executed after delay milliseconds. The `this` context and all arguments are passed through, as-is,\n * to `callback` when the debounced-function is executed.\n * @param {object} [options] - An object to configure options.\n * @param {boolean} [options.atBegin] - Optional, defaults to false. If atBegin is false or unspecified, callback will only be executed `delay` milliseconds\n * after the last debounced-function call. If atBegin is true, callback will be executed only at the first debounced-function call.\n * (After the throttled-function has not been called for `delay` milliseconds, the internal counter is reset).\n *\n * @returns {Function} A new, debounced function.\n */\nexport default function (delay, callback, options) {\n\tconst { atBegin = false } = options || {};\n\treturn throttle(delay, callback, { debounceMode: atBegin !== false });\n}\n", "import { throttle } from \"throttle-debounce\";\n\nconst BEFORE_AFTER_TIMEOUT = 1000;\nconst BEFORE_AFTER_FADE_SPEED = 1000;\nconst SLICK_ARGS = {\n\tarrows: false,\n\tdots: true,\n\tslide: \".hero-slide\",\n\tautoplay: true,\n\tautoplaySpeed: 3000,\n\tinfinite: true,\n\tpauseOnHover: false,\n};\nconst INTERSECTION_OPTS = {\n\trootMargin: \"-20%\",\n};\n\nclass HeroSection {\n\tconstructor(el) {\n\t\tthis.hasBecomeVisible = false;\n\t\tthis.imageObserver = null;\n\t\tthis.throttledIntersectionDelegate = null;\n\t\tthis.beforeAfterTimeouts = [];\n\t\t/*globals jQuery:false */\n\t\tthis.$el = jQuery(el);\n\t\tthis.isSlideshow = false;\n\t\tthis.slideshowObject = null;\n\t\tthis.scrollCta = this.$el.find(\".hero-container__cta\");\n\n\t\tthis.heroBefore;\n\t\tthis.heroBeforeVisible;\n\t\tthis.heroTransTimeout;\n\t\tthis.heroTransSpeed;\n\n\t\tif (!this.$el.length) return;\n\n\t\tif (this.$el.hasClass(\"hero-container-section--is-slider\")) {\n\t\t\tthis.isSlideshow = true;\n\n\t\t\tthis.initSlideshow();\n\t\t}\n\n\t\tthis.initVisibilityCheck();\n\n\t\tif (this.scrollCta.length) {\n\t\t\tthis.scrollCta.on(\"click\", this.scrollCtaClick.bind(this));\n\t\t}\n\t}\n\n\t/**\n\t * Initialize hero section as slick carousel slideshow\n\t */\n\tinitSlideshow() {\n\t\tthis.$el\n\t\t\t.on(\"init\", this.onSlideshowInit.bind(this))\n\t\t\t.on(\"beforeChange\", this.onSlideshowBeforeChange.bind(this))\n\t\t\t.on(\"afterChange\", this.onSlideshowAfterChange.bind(this))\n\t\t\t.slick(SLICK_ARGS);\n\t}\n\n\t/**\n\t * Slick carousel init event handler\n\t *\n\t * @param Object evt\n\t * @param Object slick carousel object\n\t */\n\tonSlideshowInit(evt, slick) {\n\t\t//console.log('Hero::onSlideshowInit', slick);\n\n\t\tthis.slideshowObject = slick;\n\n\t\tif (!this.hasBecomeVisible) return;\n\n\t\t// check current slide for video element\n\t\tthis.checkCurrentSlideVideo(slick);\n\n\t\t// check current slide is before / after\n\t\tthis.checkCurrentSlideBeforeAfter(slick);\n\t}\n\n\t/**\n\t * Slick carousel beforeChange event handler\n\t *\n\t * @param Object evt\n\t * @param Object slick carousel object\n\t * @param Number currentSlide index\n\t * @param Number nextSlide index\n\t */\n\tonSlideshowBeforeChange(evt, slick, currentSlide, nextSlide) {\n\t\tif (!this.hasBecomeVisible) return;\n\n\t\t// check current and next slides for video element\n\t\tconst $currentVid = jQuery(slick.$slides[currentSlide]).find(\"video\");\n\t\tconst $nextVid = jQuery(slick.$slides[nextSlide]).find(\"video\");\n\n\t\tif ($currentVid.length) $currentVid[0].pause();\n\t\tif ($nextVid.length) {\n\t\t\t//$nextVid[0].currentTime = 0;\n\t\t\t$nextVid[0].play();\n\t\t}\n\t}\n\n\t/**\n\t * Slick carousel afterChange event handler\n\t *\n\t * @param Object evt\n\t * @param Object slick carousel object\n\t */\n\tonSlideshowAfterChange(evt, slick) {\n\t\t// console.log(\"Hero::onSlideshowAfterChange slide: \" + slick.currentSlide);\n\t\t// console.log(\"before / after timeouts\", this.beforeAfterTimeouts);\n\n\t\tif (!this.hasBecomeVisible) return;\n\n\t\t// clear all timeouts\n\t\tlet i;\n\n\t\tfor (i = this.beforeAfterTimeouts.length; i > 0; i--) {\n\t\t\tclearTimeout(this.beforeAfterTimeouts.pop());\n\t\t}\n\n\t\t// undo started and completed transitions\n\t\t// reset all videos not on current slide\n\t\tfor (i = 0; i < slick.$slides.length; i++) {\n\t\t\tif (i == slick.currentSlide) continue;\n\n\t\t\tjQuery(slick.$slides[i]).find(\".hero-slide__background--before\").stop(true, true).show();\n\n\t\t\tjQuery(slick.$slides[i])\n\t\t\t\t.find(\"video\")\n\t\t\t\t.each(function () {\n\t\t\t\t\tthis.currentTime = 0;\n\t\t\t\t});\n\t\t}\n\n\t\t// check current slide is before / after\n\t\tthis.checkCurrentSlideBeforeAfter(slick);\n\t}\n\n\t/**\n\t * Add event handlers to determine element visibility\n\t * use either IntersectionObserver API if available\n\t * fallback to use scroll, resize, and orientationChange\n\t */\n\tinitVisibilityCheck() {\n\t\t//console.log('Hero::initVisibilityCheck');\n\n\t\tif (\"IntersectionObserver\" in window) {\n\t\t\tthis.imageObserver = new IntersectionObserver(this.intersectionCallback.bind(this), INTERSECTION_OPTS);\n\n\t\t\tthis.imageObserver.observe(this.$el[0]);\n\t\t} else {\n\t\t\tthis.throttledIntersectionDelegate = throttle(100, this.insersectionFallback.bind(this));\n\n\t\t\tdocument.addEventListener(\"scroll\", this.throttledIntersectionDelegate);\n\t\t\twindow.addEventListener(\"resize\", this.throttledIntersectionDelegate);\n\t\t\twindow.addEventListener(\"orientationChange\", this.throttledIntersectionDelegate);\n\n\t\t\tthis.insersectionFallback();\n\t\t}\n\t}\n\n\t/**\n\t * IntersectionObserver API intersection handler\n\t */\n\tintersectionCallback(entries) {\n\t\t// console.log(\"Hero::intersectionCallback\", entries);\n\n\t\tif (entries[0].isIntersecting) {\n\t\t\tthis.imageObserver.unobserve(this.$el[0]);\n\n\t\t\tthis.onBecomeVisible();\n\n\t\t\treturn;\n\t\t}\n\t}\n\n\t/**\n\t * Fallback visibility events handler\n\t */\n\tinsersectionFallback() {\n\t\t//console.log('Hero::insersectionFallback');\n\n\t\tconst scrollTop = window.pageYOffset;\n\n\t\tif (this.$el[0].offsetTop < window.innerHeight + scrollTop) {\n\t\t\tdocument.removeEventListener(\"scroll\", this.throttledIntersectionDelegate);\n\t\t\twindow.removeEventListener(\"resize\", this.throttledIntersectionDelegate);\n\t\t\twindow.removeEventListener(\"orientationChange\", this.throttledIntersectionDelegate);\n\n\t\t\tthis.onBecomeVisible();\n\t\t}\n\t}\n\n\t/**\n\t * Init slideshow and non slideshow before after event handlers, timeout, video\n\t */\n\tonBecomeVisible() {\n\t\t// console.log(\"Hero::onBecomeVisible\");\n\n\t\tif (this.hasBecomeVisible) return;\n\n\t\t// do slide checks now that slideshow is in view\n\t\tif (this.isSlideshow) {\n\t\t\tif (this.slideshowObject) {\n\t\t\t\t// check current slide for video element\n\t\t\t\tthis.checkCurrentSlideVideo(this.slideshowObject);\n\n\t\t\t\t// check current slide is before / after\n\t\t\t\tthis.checkCurrentSlideBeforeAfter(this.slideshowObject);\n\t\t\t}\n\n\t\t\t// initialize non slideshow before / after slides\n\t\t} else {\n\t\t\tthis.checkHeroVideo();\n\t\t\tthis.checkHeroBeforeAfter();\n\t\t}\n\n\t\t// set inited flag\n\t\tthis.hasBecomeVisible = true;\n\t}\n\n\t/**\n\t * Check static hero has video element and play it\n\t */\n\tcheckHeroVideo() {\n\t\tconst $vid = this.$el.find(\"video\");\n\n\t\tif ($vid.length) {\n\t\t\t// console.log(\"found video in static hero\", $vid[0]);\n\n\t\t\t$vid[0].play();\n\t\t}\n\t}\n\n\t/**\n\t * Check current slide has video element and play it\n\t *\n\t * @param Object slick carousel object\n\t */\n\tcheckCurrentSlideVideo(slick) {\n\t\t// console.log(\"Hero::checkCurrentSlideVideo\");\n\n\t\tconst $currentVid = jQuery(slick.$slides[slick.currentSlide]).find(\"video\");\n\n\t\tif ($currentVid.length) {\n\t\t\t// console.log(\"found video\", $currentVid[0]);\n\n\t\t\t$currentVid[0].play();\n\t\t}\n\t}\n\n\t/**\n\t * Check static hero is before / after and activate\n\t */\n\tcheckHeroBeforeAfter() {\n\t\tlet transTimeout;\n\t\tlet transSpeed;\n\n\t\tconst heroSlide = this.$el.find(\".hero-slide\").first();\n\n\t\tif (!heroSlide.length || !heroSlide.hasClass(\"hero-slide--is-before-after\")) return;\n\n\t\tconst $before = heroSlide.find(\".hero-slide__background--before\");\n\n\t\tif (!$before.length) return;\n\n\t\ttransTimeout = heroSlide.data(\"before-after-timeout\");\n\t\tif (!transTimeout || isNaN(transTimeout)) {\n\t\t\ttransTimeout = BEFORE_AFTER_TIMEOUT;\n\t\t}\n\n\t\ttransSpeed = heroSlide.data(\"before-after-speed\");\n\t\tif (!transSpeed || isNaN(transSpeed)) {\n\t\t\ttransSpeed = BEFORE_AFTER_FADE_SPEED;\n\t\t}\n\n\t\tthis.heroBefore = $before;\n\t\tthis.heroBeforeVisible = true;\n\t\tthis.heroTransTimeout = transTimeout;\n\t\tthis.heroTransSpeed = transSpeed;\n\n\t\tthis.animateHeroBeforeAfter();\n\t}\n\n\tanimateHeroBeforeAfter() {\n\t\tsetTimeout(() => {\n\t\t\t//console.log('before after timeout fire!');\n\n\t\t\tif (this.heroBeforeVisible) {\n\t\t\t\tthis.heroBefore.fadeOut(this.heroTransSpeed, () => {\n\t\t\t\t\tthis.heroBeforeVisible = false;\n\t\t\t\t\tthis.animateHeroBeforeAfter();\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tthis.heroBefore.fadeIn(this.heroTransSpeed, () => {\n\t\t\t\t\tthis.heroBeforeVisible = true;\n\t\t\t\t\tthis.animateHeroBeforeAfter();\n\t\t\t\t});\n\t\t\t}\n\t\t}, this.heroTransTimeout);\n\t}\n\n\t/**\n\t * Check current slide is before / after type and activate transition\n\t *\n\t * @param Object slick carousel object\n\t */\n\tcheckCurrentSlideBeforeAfter(slick) {\n\t\tlet home;\n\t\t//let pauseSlider;\n\t\tlet beforeVisible;\n\t\tlet transTimeout;\n\t\tlet transSpeed;\n\n\t\tconst $slide = jQuery(slick.$slides[slick.currentSlide]);\n\n\t\tif ($slide.hasClass(\"hero-slide--is-before-after\")) {\n\t\t\tif ($slide.data(\"before-visible\") === undefined) {\n\t\t\t\t$slide.data(\"before-visible\", true);\n\t\t\t}\n\n\t\t\t//pauseSlider = slick.options.autoplay;\n\n\t\t\ttransTimeout = $slide.data(\"before-after-timeout\");\n\t\t\tif (!transTimeout || isNaN(transTimeout)) {\n\t\t\t\ttransTimeout = BEFORE_AFTER_TIMEOUT;\n\t\t\t}\n\n\t\t\ttransSpeed = $slide.data(\"before-after-speed\");\n\t\t\tif (!transSpeed || isNaN(transSpeed)) {\n\t\t\t\ttransSpeed = BEFORE_AFTER_FADE_SPEED;\n\t\t\t}\n\n\t\t\t//if ( pauseSlider ) {\n\t\t\t//\tslick.pause();\n\t\t\t//}\n\n\t\t\tthis.animateSlideBeforeAfter(slick, $slide, transTimeout, transSpeed);\n\t\t}\n\t}\n\n\tanimateSlideBeforeAfter(slick, $slide, transTimeout, transSpeed) {\n\t\tthis.beforeAfterTimeouts.push(\n\t\t\tsetTimeout(() => {\n\t\t\t\t// console.log(\"before after slide timeout fire!\", this.beforeAfterTimeouts.length);\n\n\t\t\t\tif ($slide.data(\"before-visible\")) {\n\t\t\t\t\t$slide.find(\".hero-slide__background--before\").fadeOut(transSpeed, () => {\n\t\t\t\t\t\t$slide.data(\"before-visible\", false);\n\n\t\t\t\t\t\t//if ( pauseSlider ) {\n\t\t\t\t\t\t//\tslick.play();\n\t\t\t\t\t\t//}\n\n\t\t\t\t\t\tthis.animateSlideBeforeAfter(slick, $slide, transTimeout, transSpeed);\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\t$slide.find(\".hero-slide__background--before\").fadeIn(transSpeed, () => {\n\t\t\t\t\t\t$slide.data(\"before-visible\", true);\n\n\t\t\t\t\t\t//if ( pauseSlider ) {\n\t\t\t\t\t\t//\tslick.play();\n\t\t\t\t\t\t//}\n\n\t\t\t\t\t\tthis.animateSlideBeforeAfter(slick, $slide, transTimeout, transSpeed);\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}, transTimeout),\n\t\t);\n\t}\n\n\t/**\n\t * Scroll to Explore Link Click Handler\n\t */\n\tscrollCtaClick(evt) {\n\t\tevt.preventDefault();\n\n\t\tjQuery(\"html, body\").animate(\n\t\t\t{\n\t\t\t\tscrollTop: this.$el.closest(\".def6-block\").next().offset().top,\n\t\t\t},\n\t\t\t200,\n\t\t);\n\n\t\treturn false;\n\t}\n}\n\njQuery(document).ready(function () {\n\tlet i;\n\n\tlet heroSections = document.querySelectorAll(\".hero-container-section\");\n\n\tfor (i = 0; i < heroSections.length; i++) {\n\t\tnew HeroSection(heroSections[i]);\n\t}\n});\n"], "mappings": "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", "names": ["throttle", "delay", "callback", "options", "_ref$noTrailing", "_ref", "noTrailing", "_ref$noLeading", "noLeading", "_ref$debounceMode", "debounceMode", "undefined", "timeoutID", "cancelled", "lastExec", "clearExistingTimeout", "clearTimeout", "cancel", "_ref2$upcomingOnly", "_ref2", "upcomingOnly", "wrapper", "_len", "arguments_", "_key", "self", "elapsed", "Date", "now", "exec", "apply", "clear", "setTimeout", "BEFORE_AFTER_TIMEOUT", "BEFORE_AFTER_FADE_SPEED", "SLICK_ARGS", "INTERSECTION_OPTS", "HeroSection", "el", "evt", "slick", "currentSlide", "nextSlide", "$currentVid", "$nextVid", "throttle", "entries", "scrollTop", "$vid", "transTimeout", "transSpeed", "heroSlide", "$before", "home", "beforeVisible", "$slide", "i", "heroSections"] }