{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./Content/js/modules/navigation.js","webpack:///./Content/js/modules/videoplaylist.js","webpack:///./Content/js/app.js","webpack:///./Content/js/modules/maps.js","webpack:///./Content/js/modules/util.js","webpack:///./Content/js/modules/ga.js"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","0","exports","module","l","m","c","d","name","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","p","jsonpArray","window","oldJsonpFunction","slice","Navigation","Init","path","location","pathname","Go","search","indexOf","print","Accordion","url","parts","$","addClass","parents","filter","split","forEach","part","on","$target","this","attr","Util","UpdateUrlHash","setTimeout","zenScroll","to","document","querySelector","href","toLowerCase","undefined","hash","click","VideoPlaylist","flkty","carousel","Flickity","event","pause","removeClass","Clipboard","Maps","locations","bounds","map","infoWindow","GetInfoWindowContent","source","html","Populate","google","maps","LatLngBounds","each","index","marker","setMap","element","id","title","find","text","lat","lng","zIndex","Marker","position","LatLng","optimized","setZIndex","setContent","open","GA","TrackEvent","extend","addListener","parent","scroller","createScroller","center","fitBounds","getZoom","setZoom","Map","getElementById","zoom","scrollwheel","InfoWindow","maxWidth","MapInit","history","pushState","copyBtnSelector","tooltip","placement","trigger","clipboard","ClipboardJS","e","$btn","blur","getSelection","removeAllRanges","TrackPageView","dataLayer","page_path","category","action","label"],"mappings":"aACE,SAASA,EAAqBC,GAQ7B,IAPA,IAMIC,EAAUC,EANVC,EAAWH,EAAK,GAChBI,EAAcJ,EAAK,GACnBK,EAAiBL,EAAK,GAIHM,EAAI,EAAGC,EAAW,GACpCD,EAAIH,EAASK,OAAQF,IACzBJ,EAAUC,EAASG,GAChBG,OAAOC,UAAUC,eAAeC,KAAKC,EAAiBX,IAAYW,EAAgBX,IACpFK,EAASO,KAAKD,EAAgBX,GAAS,IAExCW,EAAgBX,GAAW,EAE5B,IAAID,KAAYG,EACZK,OAAOC,UAAUC,eAAeC,KAAKR,EAAaH,KACpDc,EAAQd,GAAYG,EAAYH,IAKlC,IAFGe,GAAqBA,EAAoBhB,GAEtCO,EAASC,QACdD,EAASU,OAATV,GAOD,OAHAW,EAAgBJ,KAAKK,MAAMD,EAAiBb,GAAkB,IAGvDe,IAER,SAASA,IAER,IADA,IAAIC,EACIf,EAAI,EAAGA,EAAIY,EAAgBV,OAAQF,IAAK,CAG/C,IAFA,IAAIgB,EAAiBJ,EAAgBZ,GACjCiB,GAAY,EACRC,EAAI,EAAGA,EAAIF,EAAed,OAAQgB,IAAK,CAC9C,IAAIC,EAAQH,EAAeE,GACG,IAA3BX,EAAgBY,KAAcF,GAAY,GAE3CA,IACFL,EAAgBQ,OAAOpB,IAAK,GAC5Be,EAASM,EAAoBA,EAAoBC,EAAIN,EAAe,KAItE,OAAOD,EAIR,IAAIQ,EAAmB,GAKnBhB,EAAkB,CACrBiB,EAAG,GAGAZ,EAAkB,GAGtB,SAASS,EAAoB1B,GAG5B,GAAG4B,EAAiB5B,GACnB,OAAO4B,EAAiB5B,GAAU8B,QAGnC,IAAIC,EAASH,EAAiB5B,GAAY,CACzCK,EAAGL,EACHgC,GAAG,EACHF,QAAS,IAUV,OANAhB,EAAQd,GAAUW,KAAKoB,EAAOD,QAASC,EAAQA,EAAOD,QAASJ,GAG/DK,EAAOC,GAAI,EAGJD,EAAOD,QAKfJ,EAAoBO,EAAInB,EAGxBY,EAAoBQ,EAAIN,EAGxBF,EAAoBS,EAAI,SAASL,EAASM,EAAMC,GAC3CX,EAAoBY,EAAER,EAASM,IAClC5B,OAAO+B,eAAeT,EAASM,EAAM,CAAEI,YAAY,EAAMC,IAAKJ,KAKhEX,EAAoBgB,EAAI,SAASZ,GACX,oBAAXa,QAA0BA,OAAOC,aAC1CpC,OAAO+B,eAAeT,EAASa,OAAOC,YAAa,CAAEC,MAAO,WAE7DrC,OAAO+B,eAAeT,EAAS,aAAc,CAAEe,OAAO,KAQvDnB,EAAoBoB,EAAI,SAASD,EAAOE,GAEvC,GADU,EAAPA,IAAUF,EAAQnB,EAAoBmB,IAC/B,EAAPE,EAAU,OAAOF,EACpB,GAAW,EAAPE,GAA8B,iBAAVF,GAAsBA,GAASA,EAAMG,WAAY,OAAOH,EAChF,IAAII,EAAKzC,OAAO0C,OAAO,MAGvB,GAFAxB,EAAoBgB,EAAEO,GACtBzC,OAAO+B,eAAeU,EAAI,UAAW,CAAET,YAAY,EAAMK,MAAOA,IACtD,EAAPE,GAA4B,iBAATF,EAAmB,IAAI,IAAIM,KAAON,EAAOnB,EAAoBS,EAAEc,EAAIE,EAAK,SAASA,GAAO,OAAON,EAAMM,IAAQC,KAAK,KAAMD,IAC9I,OAAOF,GAIRvB,EAAoB2B,EAAI,SAAStB,GAChC,IAAIM,EAASN,GAAUA,EAAOiB,WAC7B,WAAwB,OAAOjB,EAAgB,SAC/C,WAA8B,OAAOA,GAEtC,OADAL,EAAoBS,EAAEE,EAAQ,IAAKA,GAC5BA,GAIRX,EAAoBY,EAAI,SAASgB,EAAQC,GAAY,OAAO/C,OAAOC,UAAUC,eAAeC,KAAK2C,EAAQC,IAGzG7B,EAAoB8B,EAAI,IAExB,IAAIC,EAAaC,OAAqB,aAAIA,OAAqB,cAAK,GAChEC,EAAmBF,EAAW5C,KAAKuC,KAAKK,GAC5CA,EAAW5C,KAAOf,EAClB2D,EAAaA,EAAWG,QACxB,IAAI,IAAIvD,EAAI,EAAGA,EAAIoD,EAAWlD,OAAQF,IAAKP,EAAqB2D,EAAWpD,IAC3E,IAAIU,EAAsB4C,EAI1B1C,EAAgBJ,KAAK,CAAC,GAAG,IAElBM,I,mCCvJT,uCAGM0C,EAAa,CAClBC,KADkB,WAGjB,IAAIC,EAAOL,OAAOM,SAASC,SAE3BJ,EAAWK,GAAGH,GACdA,EAAOL,OAAOM,SAASG,OACvBN,EAAWK,GAAGH,GAEoB,GAA9BA,EAAKK,QAAQ,eAChBV,OAAOW,QAGRR,EAAWS,aAEZJ,GAfkB,SAefK,GAEF,IAQOC,EARHD,IACHE,EAAE,YAAD,OAAaF,EAAb,2BACCG,SAAS,UACTC,UACAC,OAAO,MACPF,SAAS,UAGLF,EAAQD,EAAIM,MAAM,KACxBL,EAAMM,QAAQ,SAAAC,GACbN,EAAE,aAAD,OAAcM,EAAd,OACCL,SAAS,UACTC,UACAC,OAAO,MACPF,SAAS,cAIdJ,UAnCkB,WAoCjBG,EAAE,kCAAkCO,GAAG,QAAS,gBAAiB,WAChE,IAAMC,EAAUR,EAAES,MAAMC,KAAK,QAC7BC,IAAKC,cAAcJ,GACnBK,WAAW,WACVC,IAAUC,GAAGC,SAASC,cAAcT,KAClC,OAGsE,GAAtEQ,SAASzB,SAAS2B,KAAKC,cAAcxB,QAAQ,4BACjByB,IAA3BJ,SAASzB,SAAS8B,MAAsD,EAAhCL,SAASzB,SAAS8B,KAAKvF,QAClEkE,EAAE,WAAD,OAAYgB,SAASzB,SAAS8B,KAA9B,OAAwCC,UAM9BlC,Q,iDCvDf,oBAEMmC,EAAgB,CACrBlC,KADqB,WAEpB,IAEOmC,EAFDC,EAAWT,SAASC,cAAc,sBACpCQ,IACGD,EAAQ,IAAIE,IAASD,GAE3BD,EAAMjB,GAAG,SAAU,SAAAoB,GACdF,EAASR,cAAc,gBAC1BQ,EAASR,cAAc,qBAAqBW,aAOlCL,O,gCCjBf,mGAuBAvB,EAAE,WACDA,EAAE,QAAQ6B,YAAY,SAItBzC,IAAWC,OACXkC,IAAclC,OACdsB,IAAKmB,e,kDC9BN,uCASMC,EAAO,CACZC,UAAW,GACXC,OAAQ,KACRC,IAAK,KACLC,WAAY,KACZC,qBALY,SAKS7C,GACpB,MAAO,oCACJA,EAAS8C,OAAOC,OAChB,UAEJC,SAVY,WAWXR,EAAKE,OAAS,IAAIO,OAAOC,KAAKC,aAE9B1C,EAAE2C,KAAKZ,EAAKC,UAAW,SAACY,EAAOxE,GAC9BA,EAAMyE,OAAOC,OAAO,QAGrBf,EAAKC,UAAY,GAEjBhC,EAAE,iBAAiB2C,KAAK,SAACC,EAAOG,GAC/BhB,EAAKC,UAAU5F,KAAK,CACnB4G,GAAIhD,EAAE+C,GAASrC,KAAK,MACpBuC,MAAOjD,EAAE+C,GAASG,KAAK,eAAeC,OACtCd,OAAQrC,EAAE+C,GACVK,IAAKpD,EAAE+C,GAASzH,KAAK,OACrB+H,IAAKrD,EAAE+C,GAASzH,KAAK,OACrBgI,OAAQ,MAKVtD,EAAE2C,KAAKZ,EAAKC,UAAW,SAACY,EAAOxE,GAC9B,IAAMmB,EAAWnB,EAEXyE,EAAS,IAAIL,OAAOC,KAAKc,OAAO,CACrCC,SAAU,IAAIhB,OAAOC,KAAKgB,OAAOlE,EAAS6D,IAAK7D,EAAS8D,KACxDK,WAAW,EACXxB,IAAKH,EAAKG,MAGXW,EAAOc,UAAUpE,EAAS+D,QAE1B/D,EAASsD,OAASA,EAClBtD,EAAS8C,OAAOa,KAAK,gBAAgB3C,GAAG,QAAS,WAChDP,EAAE,kBAAkB6B,YAAY,UAChCtC,EAAS8C,OAAOpC,SAAS,UACzB8B,EAAKI,WAAWyB,WAAW7B,EAAKK,qBAAqB7C,IACrDwC,EAAKI,WAAW0B,KAAK9B,EAAKG,IAAKW,GAC/BiB,IAAGC,WAAW,OAAQ,iBAAkBxE,EAAS0D,SAGlDlB,EAAKE,OAAO+B,OAAOnB,EAAOW,UAG1BX,EAAOoB,YAAY,QAAS,WAE3BlC,EAAKI,WAAWyB,WAAW7B,EAAKK,qBAAqB7C,IACrDwC,EAAKI,WAAW0B,KAAK9B,EAAKG,IAAKW,GAE/BiB,IAAGC,WAAW,OAAQ,eAAgBxE,EAAS0D,OAE/CjD,EAAE,kBAAkB6B,YAAY,UAChCtC,EAAS8C,OAAOpC,SAAS,UAGzBD,EAAE,IAAMT,EAAS8C,OAAO6B,OAAO,oBAAoBxD,KAAK,oBAAoBY,QAE5ET,WAAW,WAEV,IAAMsD,EAAWrD,IAAUsD,eAAe7E,EAAS8C,OAAOnC,QAAQ,cAAc,IAChFiE,EAASE,OAAO9E,EAAS8C,OAAO,KAC9B,OAGJN,EAAKG,IAAIoC,UAAUvC,EAAKE,QACC,EAArBF,EAAKG,IAAIqC,WACZxC,EAAKG,IAAIsC,QAAQ,MAIpBnF,KAhFY,WAiFX0C,EAAKG,IAAM,IAAIM,OAAOC,KAAKgC,IAAIzD,SAAS0D,eAAe,OAAQ,CAC9DL,OAAQ,CAAEjB,IAAK,WAAYC,KAAM,YACjCsB,KAAM,EACNC,aAAa,IAId7C,EAAKI,WAAa,IAAIK,OAAOC,KAAKoC,WAAW,CAAEC,SAAU,MAEzDtC,OAAOC,KAAKd,MAAMsC,YAAYlC,EAAKI,WAAY,aAAc,WAC5D2B,IAAGC,WAAW,OAAQ,sBAGvBhC,EAAKQ,aAKPtD,OAAO8F,QAAUhD,EAAK1C,O,sEC5GtB,iCAEMsB,EAAO,CACZC,cADY,SACES,QAEO,IAATA,IAENA,EAAK1B,QAAQ,KAAO,IAEvB0B,EAAO,IAAH,OAAOA,IAGRpC,OAAO+F,QAAQC,UAClBhG,OAAO+F,QAAQC,UAAU,KAAM,KAAM5D,GAErCpC,OAAOM,SAAS8B,KAAOA,IAI1BS,UAjBY,WAiBA,WACLoD,EAAkB,iBAExBlF,EAAEkF,GACAC,QAAQ,CACRC,UAAW,MACXnC,MAAO,UACPoC,QAAS,WAET9E,GAAG,WAAY,WACfP,EAAE,GAAMmF,QAAQ,UAGlB,IAAMG,EAAY,IAAIC,IAAYL,GAElCI,EAAU/E,GAAG,UAAW,SAAAiF,GACvB,IAAMC,EAAOzF,EAAEwF,EAAEH,SACjBI,EAAKN,QAAQ,QACbnF,EAAEkF,GAAiBQ,OACnB1E,SAAS2E,eAAeC,kBACxB/E,WAAW,WACV4E,EAAKN,QAAQ,SACX,SAKSxE,Q,gDC7Cf,IAAMmD,EAAK,CACV+B,cADU,SACI3E,GACb,QAAgC,IAArBjC,OAAO6G,UACjB,IACC7G,OAAO6G,UAAU1J,KAAK,CACrBuF,MAAO,kBACPoE,UAAW7E,IAEX,MAAOsE,MAKXzB,WAbU,SAaCiC,EAAUC,EAAQC,EAAO9H,GACnC,QAAgC,IAArBa,OAAO6G,UACjB,IACC7G,OAAO6G,UAAU1J,KAAK,CACrBuF,MAAO,QACPqE,WACAC,SACAC,QACA9H,UAEA,MAAOoH,OAOG1B","file":"js/app.bundle.min.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t0: 0\n \t};\n\n \tvar deferredModules = [];\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 \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([14,1]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","import zenScroll from 'zenscroll';\r\nimport Util from './util';\r\n\r\nconst Navigation = {\r\n\tInit() {\r\n\t\t// Using the current path (e.g. /Section/Page)\r\n\t\tlet path = window.location.pathname;\r\n\r\n\t\tNavigation.Go(path);\r\n\t\tpath = window.location.search;\r\n\t\tNavigation.Go(path);\r\n\r\n\t\tif (path.indexOf('print=true') >= 0) {\r\n\t\t\twindow.print();\r\n\t\t}\r\n\r\n\t\tNavigation.Accordion();\r\n\t},\r\n\tGo(url) {\r\n\t\t// Handle links to the current path\r\n\t\tif (url) {\r\n\t\t\t$(`a[href$=\"${url}\"]:not([href^=\"http\"])`)\r\n\t\t\t\t.addClass('active')\r\n\t\t\t\t.parents()\r\n\t\t\t\t.filter('li')\r\n\t\t\t\t.addClass('active');\r\n\r\n\t\t\t// Handle links to parts of the current path\r\n\t\t\tconst parts = url.split('/');\r\n\t\t\tparts.forEach(part => {\r\n\t\t\t\t$(`a[href$=\"/${part}\"]`)\r\n\t\t\t\t\t.addClass('active')\r\n\t\t\t\t\t.parents()\r\n\t\t\t\t\t.filter('li')\r\n\t\t\t\t\t.addClass('active');\r\n\t\t\t});\r\n\t\t}\r\n\t},\r\n\tAccordion() {\r\n\t\t$('#accordionEducationalMaterials').on('click', '.btn-collapse', function accordion() {\r\n\t\t\tconst $target = $(this).attr('href');\r\n\t\t\tUtil.UpdateUrlHash($target);\r\n\t\t\tsetTimeout(() => {\r\n\t\t\t\tzenScroll.to(document.querySelector($target));\r\n\t\t\t}, 500);\r\n\t\t});\r\n\r\n\t\tif (document.location.href.toLowerCase().indexOf('sun-smart-toolkits') >= 0) {\r\n\t\t\tif (document.location.hash !== undefined && document.location.hash.length > 0) {\r\n\t\t\t\t$(`a[href=\"${document.location.hash}\"]`).click();\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n};\r\n\r\nexport default Navigation;\r\n","import Flickity from 'flickity';\r\n\r\nconst VideoPlaylist = {\r\n\tInit() {\r\n\t\tconst carousel = document.querySelector('.carousel-flickity');\r\n\t\tif (carousel) {\r\n\t\t\tconst flkty = new Flickity(carousel);\r\n\r\n\t\t\tflkty.on('change', event => {\r\n\t\t\t\tif (carousel.querySelector('.is-playing')) {\r\n\t\t\t\t\tcarousel.querySelector('.is-playing video').pause();\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n};\r\n\r\nexport default VideoPlaylist;\r\n","/* eslint-disable no-unused-vars */\r\n\r\nimport 'intersection-observer';\r\nimport 'lazysizes';\r\nimport 'svgxuse';\r\nimport 'flickity';\r\n\r\n// Individual Bootstrap components\r\nimport 'bootstrap/js/dist/collapse';\r\nimport 'bootstrap/js/dist/tab';\r\nimport 'bootstrap/js/dist/popover';\r\n\r\n// Site components\r\nimport Navigation from './modules/navigation';\r\n// import PrefetchLinks from './modules/prefetchlinks';\r\nimport VideoPlaylist from './modules/videoplaylist';\r\nimport Util from './modules/util';\r\nimport Maps from './modules/maps';\r\n\r\n// Site styles\r\nimport '../css/app.scss';\r\n\r\n// DOM ready:\r\n$(() => {\r\n\t$('html').removeClass('no-js');\r\n\r\n\t// Init common modules\r\n\t// PrefetchLinks.Init();\r\n\tNavigation.Init();\r\n\tVideoPlaylist.Init();\r\n\tUtil.Clipboard();\r\n\r\n\t// Window resized:\r\n\t// $(window).on('resize', $.throttle(100, () => { }));\r\n});\r\n\r\n// All assets loaded\r\n// $(window).on('load', () => { });\r\n","/* eslint-disable no-undef */\r\n/* eslint-disable prefer-template */\r\n/* eslint-disable prettier/prettier */\r\n/* eslint-disable no-unused-vars */\r\n/* eslint-disable func-names */\r\n/* eslint-disable no-console */\r\nimport zenScroll from 'zenscroll';\r\nimport GA from './ga';\r\n\r\nconst Maps = {\r\n\tlocations: [],\r\n\tbounds: null,\r\n\tmap: null,\r\n\tinfoWindow: null,\r\n\tGetInfoWindowContent(location) {\r\n\t\treturn '
'\r\n\t\t\t+ location.source.html()\r\n\t\t\t+ '
';\r\n\t},\r\n\tPopulate() {\r\n\t\tMaps.bounds = new google.maps.LatLngBounds();\r\n\t\r\n\t\t$.each(Maps.locations, (index, value) => {\r\n\t\t\tvalue.marker.setMap(null);\r\n\t\t});\r\n\t\r\n\t\tMaps.locations = [];\r\n\t\r\n\t\t$('div[data-lat]').each((index, element) => {\r\n\t\t\tMaps.locations.push({\r\n\t\t\t\tid: $(element).attr('id'),\r\n\t\t\t\ttitle: $(element).find('.card-title').text(),\r\n\t\t\t\tsource: $(element),\r\n\t\t\t\tlat: $(element).data('lat'),\r\n\t\t\t\tlng: $(element).data('lng'),\r\n\t\t\t\tzIndex: 9\r\n\t\t\t});\r\n\t\t});\r\n\t\r\n\t\t// Add each location to the map\r\n\t\t$.each(Maps.locations, (index, value) => {\r\n\t\t\tconst location = value;\r\n\t\r\n\t\t\tconst marker = new google.maps.Marker({\r\n\t\t\t\tposition: new google.maps.LatLng(location.lat, location.lng),\r\n\t\t\t\toptimized: false,\r\n\t\t\t\tmap: Maps.map\r\n\t\t\t});\r\n\t\r\n\t\t\tmarker.setZIndex(location.zIndex);\r\n\t\r\n\t\t\tlocation.marker = marker;\r\n\t\t\tlocation.source.find('.show-on-map').on('click', () => {\r\n\t\t\t\t$('.card-location').removeClass('active');\r\n\t\t\t\tlocation.source.addClass('active');\r\n\t\t\t\tMaps.infoWindow.setContent(Maps.GetInfoWindowContent(location));\r\n\t\t\t\tMaps.infoWindow.open(Maps.map, marker);\r\n\t\t\t\tGA.TrackEvent(\"Maps\", \"Location Click\", location.title);\r\n\t\t\t});\r\n\t\r\n\t\t\tMaps.bounds.extend(marker.position);\r\n\t\r\n\t\t\t// When the marker is clicked:\r\n\t\t\tmarker.addListener('click', () => {\r\n\t\t\t\t// Show the info window\r\n\t\t\t\tMaps.infoWindow.setContent(Maps.GetInfoWindowContent(location));\r\n\t\t\t\tMaps.infoWindow.open(Maps.map, marker);\r\n\t\r\n\t\t\t\tGA.TrackEvent(\"Maps\", \"Marker Click\", location.title);\r\n\t\r\n\t\t\t\t$('.card-location').removeClass('active');\r\n\t\t\t\tlocation.source.addClass('active');\r\n\t\r\n\t\t\t\t// Switch to the right tab:\r\n\t\t\t\t$('#' + location.source.parent('.location-county').attr('aria-labelledby')).click();\r\n\t\r\n\t\t\t\tsetTimeout(() => {\r\n\t\t\t\t\t// Scroll the item into view\r\n\t\t\t\t\tconst scroller = zenScroll.createScroller(location.source.parents('.locations')[0]);\r\n\t\t\t\t\tscroller.center(location.source[0]);\r\n\t\t\t\t}, 250);\r\n\t\t\t});\r\n\t\r\n\t\t\tMaps.map.fitBounds(Maps.bounds);\r\n\t\t\tif (Maps.map.getZoom() > 8) {\r\n\t\t\t\tMaps.map.setZoom(8);\r\n\t\t\t}\r\n\t\t});\r\n\t},\r\n\tInit() {\r\n\t\tMaps.map = new google.maps.Map(document.getElementById('map'), {\r\n\t\t\tcenter: { lat: 39.7581479, lng: -75.5718795 },\r\n\t\t\tzoom: 8,\r\n\t\t\tscrollwheel: false\r\n\t\t});\r\n\t\r\n\t\t// One InfoWindow to rule them all <-- only one will display at a time\r\n\t\tMaps.infoWindow = new google.maps.InfoWindow({ maxWidth: 400 });\r\n\t\r\n\t\tgoogle.maps.event.addListener(Maps.infoWindow, 'closeclick', () => {\r\n\t\t\tGA.TrackEvent(\"Maps\", \"Close InfoWindow\");\r\n\t\t});\r\n\t\r\n\t\tMaps.Populate();\r\n\t}\r\n};\r\n\r\nexport default Maps;\r\nwindow.MapInit = Maps.Init;","import ClipboardJS from 'clipboard';\r\n\r\nconst Util = {\r\n\tUpdateUrlHash(hash) {\r\n\t\t// make sure we're dealing with a good hash\r\n\t\tif (typeof hash !== 'undefined') {\r\n\t\t\t// ensure consistency\r\n\t\t\tif (hash.indexOf('#') < 0) {\r\n\t\t\t\t// eslint-disable-next-line no-param-reassign\r\n\t\t\t\thash = `#${hash}`;\r\n\t\t\t}\r\n\r\n\t\t\tif (window.history.pushState) {\r\n\t\t\t\twindow.history.pushState(null, null, hash);\r\n\t\t\t} else {\r\n\t\t\t\twindow.location.hash = hash;\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n\tClipboard() {\r\n\t\tconst copyBtnSelector = '.btn-copy-text';\r\n\r\n\t\t$(copyBtnSelector)\r\n\t\t\t.tooltip({\r\n\t\t\t\tplacement: 'top',\r\n\t\t\t\ttitle: 'Copied!',\r\n\t\t\t\ttrigger: 'manual'\r\n\t\t\t})\r\n\t\t\t.on('mouseout', () => {\r\n\t\t\t\t$(this).tooltip('hide');\r\n\t\t\t});\r\n\r\n\t\tconst clipboard = new ClipboardJS(copyBtnSelector);\r\n\r\n\t\tclipboard.on('success', e => {\r\n\t\t\tconst $btn = $(e.trigger);\r\n\t\t\t$btn.tooltip('show');\r\n\t\t\t$(copyBtnSelector).blur();\r\n\t\t\tdocument.getSelection().removeAllRanges();\r\n\t\t\tsetTimeout(() => {\r\n\t\t\t\t$btn.tooltip('hide');\r\n\t\t\t}, 2000);\r\n\t\t});\r\n\t}\r\n};\r\n\r\nexport default Util;\r\n","/* global gtag */\r\nconst GA = {\r\n\tTrackPageView(href) {\r\n\t\tif (typeof window.dataLayer !== 'undefined') {\r\n\t\t\ttry {\r\n\t\t\t\twindow.dataLayer.push({\r\n\t\t\t\t\tevent: 'VirtualPageView',\r\n\t\t\t\t\tpage_path: href\r\n\t\t\t\t});\r\n\t\t\t} catch (e) {\r\n\t\t\t\t// continue regardless of error\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n\tTrackEvent(category, action, label, value) {\r\n\t\tif (typeof window.dataLayer !== 'undefined') {\r\n\t\t\ttry {\r\n\t\t\t\twindow.dataLayer.push({\r\n\t\t\t\t\tevent: 'Event',\r\n\t\t\t\t\tcategory,\r\n\t\t\t\t\taction,\r\n\t\t\t\t\tlabel,\r\n\t\t\t\t\tvalue\r\n\t\t\t\t});\r\n\t\t\t} catch (e) {\r\n\t\t\t\t// continue regardless of error\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n};\r\n\r\nexport default GA;\r\n"],"sourceRoot":""}