{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/js/Drupal.js","webpack:///./src/js/Change.js","webpack:///./src/js/.config.js","webpack:///./src/js/Sticky.js","webpack:///./src/js/Breakpoints.js","webpack:///./src/js/Header.js","webpack:///./src/js/Search.js","webpack:///./src/js/Toolbar.js","webpack:///./src/js/Carousel.js","webpack:///./src/js/PlayPause.js","webpack:///./src/js/ProgressLoop.js","webpack:///./src/js/Slider.js","webpack:///./src/js/BackgroundImage.js","webpack:///./src/js/HomeHero.js","webpack:///./src/js/Navigation.js","webpack:///./src/js/ModaalTransformer.js","webpack:///./src/js/Modaal.js","webpack:///./src/js/Anchors.js","webpack:///./src/js/Flickity.js","webpack:///./src/js/Gallery.js","webpack:///./src/js/DDTemplates.js","webpack:///./src/js/SmartFooter.js","webpack:///./src/js/CalendarFeed.js","webpack:///./src/js/FixNavigation.js","webpack:///./src/js/TermNavigation.js","webpack:///./src/js/AccordionWrap.js","webpack:///./src/js/AccordionFix.js","webpack:///./src/js/AccordionContainer.js","webpack:///./src/js/BrowserCheck.js","webpack:///./src/js/Visible.js","webpack:///./src/js/FooterFunFacts.js","webpack:///./src/js/Notify.js","webpack:///./src/js/Placeholder.js","webpack:///./src/js/SelectBox.js","webpack:///./src/js/SelectBoxRelated.js","webpack:///./src/js/.theme.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","behaviors","this","ticking","listen","callbacks","fire","request","requestAnimationFrame","update","callback","$","Callbacks","add","change","offsets","mobile","tablet","desktop","larger","sidebar","padding","breakpoints","min","max","Infinity","Sticky","element","register","Change","onChange","innerHeight","offsetHeight","classList","remove","documentIsReady","Drupal","behavior","fn","document","ready","DrupalAMD","context","Breakpoints","current","settings","tolerance","classes","initial","pinned","unpinned","top","notTop","bottom","notBottom","onPin","body","addClass","removeClass","onUnpin","onTop","onNotTop","onBottom","onNotBottom","Header","headroom","build","on","rebuild","init","options","offset","currentOffset","Headroom","destroy","currentBreakpoint","components","text","input","Search","customComponents","Timer","setAttribute","setTimeout","typeOutPlaceholderText","clear","focus","setInterval","searchText","substr","addEventListener","resetSearchInput","querySelector","defaults","menuClass","buttons","menu","menuClose","flyout","search","header","Toolbar","$element","addSearchLogic","FocusTrap","addFocusTrapLogic","searchComponent","headerComponent","initialFocus","flyoutComponent","contains","deactivate","activate","event","Keyboard","getCode","Escape","activeClass","menuButton","menuCloseButton","mobileState","keyDownHandler","clickHandler","Flickity","setJQuery","Carousel","dispatchEvent","playPause","wrapperTag","attachTo","shape","PlayPause","slider","merge","playPauseButton","addButton","button","createElement","className","innerHTML","playPauseHandler","wrapper","appendChild","destination","pausePlayer","playPlayer","setPlayingState","setPausedState","off","removeEventListener","parentNode","progressLoop","ProgressProgressLoop","addProgressLoop","time","autoPlay","speed","progress","style","animationDuration","player","state","restart","stop","offsetWidth","start","pauseAutoPlayOnHover","responsive","Slider","shouldBuildSlider","addResponsiveSupport","PlayPauseControls","ProgressLoop","Promise","resolve","restore","then","disabled","keys","forEach","bp","bpSettings","baseSettings","slides","children","sourceSelector","destSelector","undefined","isPseudo","BackgroundImage","assign","addBackgroundImage","getSource","find","attr","src","prepend","css","wrapAround","prevNextButtons","HomeHero","container","bgImg","querySelectorAll","slide","menuBlock","menuParent","activeTrailClass","expandActiveMenus","closeUnnestedMenus","focusout","hover","delay","in","out","Navigation","preprocess","menuParents","index","id","submenu","link","firstElementChild","innerText","insertBefore","nextSibling","lastElementChild","TickTock","Tabbable","tabbable","collapse","expand","target","getAttribute","openSubmenus","openSubmenu","expandElement","expandSubmenu","collapseElement","collapseSubmenu","states","active","open","removeAttribute","expanded","keyDownEventDispatcher","mouseDownEventDispatcher","focusOutEventDispatcher","mouseOverHandler","mouseOutHandler","Enter","userInteractionHandler","clearAll","relatedTarget","currentTarget","ModaalTransformer","node","old","type","isVideo","cloneNode","replaceChild","isGallery","caption","preventDefault","modaal","start_open","animation","outer_controls","Modaal","parent","selector","child","ConvertToModaal","Anchors","anchor","location","hash","goToCurrentAnchor","href","indexOf","getElementById","scrollToDestination","scrollTo","elementToScroll","verticalOffset","maxDuration","minDuration","scrollX","scrollY","timer","offsetSettings","config","jQuery","fade","arrowShape","Gallery","buildSlider","addControls","setPlayState","setPauseState","item","sliderDots","stopPlayer","photoGalleryPID","a11y","tables","newTab","anchors","sitemap","nodeMeta","messages","galleries","itemAppearsIn","expandingDates","slideshowIcons","lexiconGlossary","overtakeLightbox","subtermOverviews","fullNodeRelatedLinks","bundledReferringContent","DDTemplates","isNodeView","isNode","defineApplicableBehaviors","is","view","term","global","addEnabledBehavior","$appearingNav","each","$block","wrap","click","animate","opacity","height","pattern","match","a","$node","$items","$visible","map","getComputedStyle","getPropertyValue","filter","b","meta","$meta","$dates","$link","toggleClass","eq","$container","appendTo","append","join","resize","accordionSupport","closest","prev","isTabs","split","image","$img","before","$map","$nav","digitaldcoreCreateSiteMap","letter","replace","html","toUpperCase","notValid","SmartFooter","reactiveElement","paddingBottom","scrollTop","storageKey","paginationLabel","filtersLabel","filterByPostTypes","useFilters","filters","defaultFilters","All","CalendarFeed","getFilters","buildCalendar","createFilters","$group","$posts","currentYear","currentMonth","post","$post","oDates","datetime","dateObj","dayjs","month","format","mon","day","dow","year","toLowerCase","$year","$tile","markup","isSameMonth","end","isSameDay","isSameYear","next","$filters","types","ids","getDefaultData","getCustomizedData","currentFilter","sessionStorage","getItem","decodeURIComponent","$filter","$show","inArray","not","setItem","$shown","nextUntil","$ctrl","filterHandler","trigger","_types","_ids","regex","test","exec","indexes","aResults","aTypes","parseInt","sort","FixNavigation","process","$parent","$children","TermNavigation","standardize","addLogic","level","parentElement","list","buttonLink","AccordionWrap","getClasses","status","getStatus","addBack","wrapAll","$classes","hasClass","elemClasses","val","substring","$status","AccordionFix","setVert","stopPropagation","isVisible","topOffset","documentElement","e","elementTop","elementBottom","outerHeight","viewportTop","viewportBottom","elem","BrowserCheck","browserArr","uagent","navigator","userAgent","chrome","firefox","msie","safari","opr","browser","version","matchCheck","RegExp","newMatch","opera","Visible","InViewport","visibleHandler","pageDots","FooterFunFacts","Notify","createStorageKey","hasSeen","getVariable","addBehaviors","show","setVariable","$button","hide","trim","Placeholder","label","SelectBox","$select","$options","option","replaceWith","select2","params","placeholderText","attributes","page","browserCheck","mainMenu","toolbar","accordionWrap","accordionContainer","AccordionContainer","notify","termNavigation","footerFunFacts","visible","banner","BgImage","flyoutPod","placeholder","SelectBoxRelated","contentEl","SelectBoxRelated2","block","footer"],"mappings":"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","file":"theme.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 = \"/dist/\";\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([205,1]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","/* global Drupal */\nimport $ from 'jquery';\n\nlet behaviors;\nlet documentIsReady = false;\n\n/**\n * Allows a Drupal behavior to be added from an AMD-style module. The behavior\n * will be executed when:\n * - As soon as the DOM is ready, if the DOM is not ready when the behavior is\n * added, just like a regular Drupal behavior.\n * - Immediately upon adding, if the DOM is ready (which may happen since\n * AMD-style modules are loaded asynchronously).\n * - When Drupal.attachBehaviors is executed.\n */\nDrupal.behavior = function addDrupalBehavior(fn) {\n if (!behaviors) {\n behaviors = $.Callbacks();\n documentIsReady = false;\n\n $(document).ready(() => {\n documentIsReady = true;\n behaviors.fire(document);\n\n // Now that we know the document is ready, add ourselves to Drupal's\n // behavior handling.\n window.Drupal.behaviors.DrupalAMD = function DrupalAMD(context) {\n behaviors.fire(context);\n };\n });\n }\n\n // Note: we can't use the 'memory' option of jQuery.Callbacks, because we\n // need control over the argument.\n if (documentIsReady) {\n fn(document);\n }\n\n behaviors.add(fn);\n return this;\n};\n\nexport default Drupal;\n","import $ from 'jquery';\n\nclass Change {\n constructor() {\n this.ticking = false;\n this.listen();\n }\n\n update() {\n this.ticking = false;\n if (this.callbacks) {\n this.callbacks.fire();\n }\n }\n\n change() {\n this.request();\n }\n\n request() {\n if (!this.ticking) {\n requestAnimationFrame(this.update.bind(this));\n this.ticking = true;\n }\n }\n\n onChange(callback) {\n if (!this.callbacks) {\n this.callbacks = $.Callbacks('memory');\n }\n this.callbacks.add(callback);\n return this;\n }\n\n listen() {\n $(window).bind('scroll resize orientationchange', this.change.bind(this));\n }\n}\n\nexport default new Change();\n","import { version } from '../../package.json';\n\n/**\n * Default export is the theme version identified within the package.json file.\n */\nexport default version;\n\n/**\n * Domain to use with the import/export script\n */\nexport const domain = 'https://live-gswater.pantheonsite.io';\n\n/**\n * Path/page to append to the domain to use with the import/export script.\n */\nexport const path = '/user';\n\n/**\n * Centralized offsets used by various components.\n */\nexport const offsets = {\n // offsets for each breakpoint\n mobile: 100,\n tablet: 110,\n desktop: 130,\n larger: 130,\n // other offsets for extended functionality\n sidebar: 35,\n padding: 20,\n};\n\n/**\n * Theme Breakpoints\n */\nexport const breakpoints = {\n mobile: {\n min: 0,\n max: 639,\n },\n tablet: {\n min: 640,\n max: 1199,\n },\n desktop: {\n min: 1200,\n max: 1365,\n },\n larger: {\n min: 1366,\n max: Infinity,\n }\n};\n","import Change from './Change';\nimport { offsets } from './.config';\n\nexport default class Sticky {\n constructor(element) {\n this.element = element;\n this.register();\n this.update();\n }\n\n register() {\n Change.onChange(this.update.bind(this));\n }\n\n update() {\n if (window.innerHeight - offsets.sidebar > this.element.offsetHeight) {\n this.element.classList.add('sticky');\n } else {\n this.element.classList.remove('sticky');\n }\n }\n}\n","import Breakpoints from 'breakpoints-js/dist/breakpoints';\nimport { breakpoints } from './.config';\n\n// Create a mobileState property to help manage viewport based functionality.\nObject.defineProperty(Breakpoints, 'mobileState', {\n get() {\n return this.current().max < this.get('desktop').min;\n },\n});\n\n// Create a new instance with our configured breakpoints.\nBreakpoints(breakpoints);\n\nexport default Breakpoints;\n","import $ from 'jquery';\nimport Headroom from 'headroom.js';\nimport Breakpoints from './Breakpoints';\nimport { offsets } from './.config';\n\n// Headroom settings\nconst settings = {\n // scroll tolerance in px before state changes\n tolerance: 5, // or {down: 0, up: 0},\n // css classes to apply\n classes: {\n // when element is initialised\n initial: 'headroom',\n // when scrolling up\n pinned: 'locked',\n // when scrolling down\n unpinned: 'unlocked',\n // when above offset\n top: 'top',\n // when below offset\n notTop: 'not-top',\n // when at bottom of scoll area\n bottom: 'bottom',\n // when not at bottom of scroll area\n notBottom: 'not-bottom',\n },\n // callback when pinned, `this` is headroom object\n onPin() {\n $(document.body).addClass('locked').removeClass('unlocked');\n },\n // callback when unpinned, `this` is headroom object\n onUnpin() {\n $(document.body).addClass('unlocked').removeClass('locked');\n },\n // callback when above offset, `this` is headroom object\n onTop() {\n $(document.body).addClass('top').removeClass('not-top');\n },\n // callback when below offset, `this` is headroom object\n onNotTop() {\n $(document.body).addClass('not-top').removeClass('top');\n },\n // callback at bottom of page, `this` is headroom object\n onBottom() {},\n // callback when moving away from bottom of page, `this` is headroom object\n onNotBottom() {},\n};\n\nexport default class Header {\n constructor(element) {\n this.element = element;\n this.offsets = offsets;\n this.headroom = this.build();\n Breakpoints.on('change', this.rebuild.bind(this));\n this.headroom.init();\n this.ready();\n }\n\n // Create a new Headroom instance\n build() {\n const options = settings;\n options.offset = this.currentOffset;\n return new Headroom(this.element, options);\n }\n\n // Rebuild existing Headroom instance with updated offset.\n rebuild() {\n this.headroom.destroy();\n this.headroom.offset = this.currentOffset;\n this.headroom.init();\n }\n\n ready() {\n // Set ready state of passed in footer element.\n this.element.classList.add('ready');\n }\n\n get currentOffset() {\n const currentBreakpoint = Breakpoints.current();\n return this.offsets[currentBreakpoint.name];\n }\n}\n","import Timer from 'tick-tock';\n\nconst components = {\n text: 'Search',\n input: '#edit-keywords',\n};\n\nexport default class Search {\n constructor(element, customComponents) {\n // Make reference to the passed in element.\n this.element = element;\n\n // Manage intervals and timeouts with the TickTock tool.\n this.Timer = new Timer();\n\n // Merge default components with custom ones, if applicable.\n this.components = { ...components, ...customComponents };\n\n // Clear out values of these components.\n this.input.value = '';\n\n // Event management\n this.listen();\n }\n\n // Focus the search box after a small delay.\n\n focusIn() {\n this.input.setAttribute('placeholder', '');\n this.Timer.setTimeout('focus', () => {\n this.typeOutPlaceholderText();\n }, 250);\n }\n\n // Cancel any search input timeouts that may be running.\n\n focusOut() {\n this.Timer.clear('focus');\n this.Timer.clear('typing');\n }\n\n // Types out placeholder text on focusin state.\n\n typeOutPlaceholderText() {\n let i = 0;\n if (!this.input.value.length) {\n this.Timer.setInterval('typing', () => {\n if (i <= this.searchText.length) {\n this.input.setAttribute('placeholder', this.searchText.substr(0, i));\n this.input.focus();\n i += 1;\n } else {\n this.Timer.clear('typing');\n }\n }, 60);\n } else {\n this.input.focus();\n }\n }\n\n // This is a workaround to overcome the default dd-search.js search\n // input scripted behaviors.\n\n resetSearchInput() {\n if (this.searchText === this.input.value) {\n this.input.value = '';\n }\n }\n\n // Listening so that we can override previously set scripted behaviors.\n\n listen() {\n this.input.addEventListener('focusin', this.resetSearchInput.bind(this));\n this.input.addEventListener('focusout', this.resetSearchInput.bind(this));\n }\n\n // Getters of various components.\n\n get searchText() {\n return this.components.text;\n }\n\n get input() {\n return this.element.querySelector(this.components.input);\n }\n}\n","import $ from 'jquery';\nimport FocusTrap from 'focus-trap';\nimport Keyboard from 'keyboard-key';\nimport Breakpoints from './Breakpoints';\nimport Search from './Search';\n\nconst defaults = {\n menuClass: 'menu-active',\n buttons: {\n menu: '.menu-icon',\n menuClose: '.flyout .close-icon',\n },\n components: {\n flyout: '#flyout',\n search: '#dd-search',\n header: '.page-header',\n },\n};\n\nexport default class Toolbar {\n constructor(element, options) {\n this.element = element;\n this.$element = $(element);\n this.settings = { ...defaults, ...options };\n this.Search = this.addSearchLogic();\n this.FocusTrap = this.addFocusTrapLogic();\n this.listen();\n }\n\n // Add search logic to manage the various states of the search component\n\n addSearchLogic() {\n return this.searchComponent ? new Search(this.searchComponent) : false;\n }\n\n // Add focus-trap logic to manage focus state when flyout is expanded.\n\n addFocusTrapLogic() {\n return new FocusTrap(this.headerComponent, {\n initialFocus: this.flyoutComponent,\n });\n }\n\n // Manage click events.\n\n clickHandler() {\n const menuActive = document.body.classList.contains(this.settings.menuClass);\n const isActive = menuActive;\n\n if (isActive) {\n this.deactivate();\n } else {\n this.activate();\n }\n }\n\n // Manage keydown events.\n\n keyDownHandler(event) {\n const keyCode = Keyboard.getCode(event);\n if (keyCode === Keyboard.Escape) {\n this.deactivate();\n }\n }\n\n // Activates the flyout and all of the associated buttons.\n\n activate() {\n const activeClass = this.settings.menuClass;\n document.body.classList.add(activeClass);\n this.menuButton.setAttribute('aria-expanded', true);\n this.menuCloseButton.setAttribute('aria-expanded', true);\n\n // Leverage the focus trap logic to lock active element focus\n // within the flyout only (on mobile devices specifically).\n if (Breakpoints.mobileState) {\n this.FocusTrap.activate();\n }\n\n // If the menu button is clicked, focus the flyout container.\n this.flyoutComponent.focus();\n }\n\n // Deactivates the flyout and all of the associated buttons.\n\n deactivate() {\n this.FocusTrap.deactivate();\n document.body.classList.remove(this.settings.menuClass);\n this.menuButton.setAttribute('aria-expanded', false);\n this.menuCloseButton.setAttribute('aria-expanded', false);\n }\n\n // Set up event listeners to help control the various states of the toolbar and flyout.\n\n listen() {\n this.element.addEventListener('keydown', this.keyDownHandler.bind(this));\n this.menuButton.addEventListener('click', this.clickHandler.bind(this));\n this.menuCloseButton.addEventListener('click', this.clickHandler.bind(this));\n }\n\n // Getters of the various components available\n\n get menuButton() {\n return this.element.querySelector(this.settings.buttons.menu);\n }\n\n get menuCloseButton() {\n return document.querySelector(this.settings.buttons.menuClose);\n }\n\n get flyoutComponent() {\n return document.querySelector(this.settings.components.flyout);\n }\n\n get searchComponent() {\n return document.querySelector(this.settings.components.search);\n }\n\n get headerComponent() {\n return document.querySelector(this.settings.components.header);\n }\n}\n","import $ from 'jquery';\nimport Flickity from 'flickity';\n\n// Register our jquery version with Flickity.\nFlickity.setJQuery($);\n\nclass Carousel extends Flickity {\n playPlayer() {\n super.playPlayer();\n this.dispatchEvent('playing', null);\n }\n\n pausePlayer() {\n super.pausePlayer();\n this.dispatchEvent('paused', null);\n }\n\n stopPlayer() {\n super.stopPlayer();\n this.dispatchEvent('stopped', null);\n }\n\n destroy() {\n this.dispatchEvent('destroy', null);\n super.destroy();\n }\n}\n\nexport default Carousel;\n","import merge from 'deepmerge';\n\nconst defaults = {\n playPause: {\n wrapperTag: 'li',\n attachTo: '.flickity-page-dots',\n shape: '',\n },\n};\n\nexport default class PlayPause {\n constructor(element, slider, options = {}) {\n this.element = element;\n this.slider = slider;\n this.settings = merge(defaults, options);\n\n // Normalizes the playPause options.\n if (typeof options.playPause === 'boolean') {\n this.settings = merge(options, defaults);\n }\n\n // Adds play / pause controls\n this.playPauseButton = this.addButton();\n\n // Add Listeners\n this.listen();\n }\n\n addButton() {\n const button = document.createElement('button');\n button.className = 'button--play-pause';\n button.innerHTML = this.settings.playPause.shape;\n button.addEventListener('click', this.playPauseHandler.bind(this));\n if (this.settings.playPause.wrapperTag) {\n const wrapper = document.createElement(this.settings.playPause.wrapperTag);\n wrapper.appendChild(button);\n this.destination.appendChild(wrapper);\n } else {\n this.destination.appendChild(button);\n }\n return button;\n }\n\n playPauseHandler() {\n if (this.element.classList.contains('playing')) {\n this.slider.pausePlayer();\n } else {\n this.slider.playPlayer();\n }\n }\n\n setPlayingState() {\n this.playPauseButton.setAttribute('aria-label', 'Stop the slider\\'s autoscroll');\n this.element.classList.add('playing');\n }\n\n setPausedState() {\n this.playPauseButton.setAttribute('aria-label', 'Start the slider\\'s autoscroll');\n this.element.classList.remove('playing');\n }\n\n listen() {\n this.slider.on('playing', this.setPlayingState.bind(this));\n this.slider.on('stopped', this.setPausedState.bind(this));\n this.slider.on('paused', this.setPausedState.bind(this));\n this.slider.on('destroy', this.destroy.bind(this));\n }\n\n destroy() {\n this.slider.off('playing', this.setPlayingState.bind(this));\n this.slider.off('stopped', this.setPausedState.bind(this));\n this.slider.off('paused', this.setPausedState.bind(this));\n this.slider.off('destroy', this.destroy.bind(this));\n\n if (this.playPauseButton) {\n this.playPauseButton.removeEventListener('click', this.playPauseHandler.bind(this));\n if (this.settings.playPause.wrapperTag) {\n this.playPauseButton.parentNode.remove();\n } else {\n this.playPauseButton.remove();\n }\n }\n }\n\n get destination() {\n return this.element.querySelector(this.settings.playPause.attachTo) || this.element;\n }\n}\n","import merge from 'deepmerge';\n\nconst defaults = {\n progressLoop: {\n attachTo: '.button--play-pause',\n shape: '',\n },\n};\n\nexport default class ProgressProgressLoop {\n constructor(element, slider, options = {}) {\n this.element = element;\n this.slider = slider;\n this.settings = merge(defaults, options);\n\n // Normalizes the progressLoop options.\n if (typeof options.progressLoop === 'boolean') {\n this.settings = merge(options, defaults);\n }\n\n // Add the progress loop\n this.progressLoop = this.addProgressLoop();\n\n // Add Listeners\n this.listen();\n }\n\n addProgressLoop() {\n // Create out svg wrapper\n const progressLoop = document.createElement('div');\n progressLoop.className = 'progress-loop';\n progressLoop.innerHTML = this.settings.progressLoop.shape;\n\n // Add our svg to the passed element\n this.destination.appendChild(progressLoop);\n\n // If speed is not a number, use the flickity default value.\n const time = this.settings.autoPlay;\n const speed = typeof time === 'number' ? time : 3000;\n\n // Set the animation duration / speed.\n this.progress.style.animationDuration = `${speed}ms`;\n\n return progressLoop;\n }\n\n start() {\n this.progressLoop.classList.add('running');\n }\n\n stop() {\n this.progressLoop.classList.remove('running');\n }\n\n change() {\n if (this.slider.player.state === 'playing') {\n this.restart();\n }\n }\n\n restart() {\n this.stop();\n\n // @see https://css-tricks.com/restart-css-animation/#article-header-id-0\n // eslint-disable-next-line no-void\n void this.progressLoop.offsetWidth;\n\n this.start();\n }\n\n listen() {\n // Custom slider events\n this.slider.on('paused', this.stop.bind(this));\n this.slider.on('stopped', this.stop.bind(this));\n this.slider.on('playing', this.start.bind(this));\n this.slider.on('change', this.change.bind(this));\n this.slider.on('destroy', this.destroy.bind(this));\n\n // Mouse movements handlers\n if (this.settings.pauseAutoPlayOnHover !== false) {\n this.element.addEventListener('mouseenter', this.stop.bind(this));\n this.element.addEventListener('mouseleave', this.start.bind(this));\n }\n }\n\n destroy() {\n // Remove Custom slider events\n this.slider.off('paused', this.stop.bind(this));\n this.slider.off('stopped', this.stop.bind(this));\n this.slider.off('playing', this.start.bind(this));\n this.slider.off('change', this.change.bind(this));\n this.slider.off('destroy', this.destroy.bind(this));\n\n // Remove Mouse movements handlers\n if (this.settings.pauseAutoPlayOnHover !== false) {\n this.element.removeEventListener('mouseenter', this.stop.bind(this));\n this.element.removeEventListener('mouseleave', this.start.bind(this));\n }\n\n // Remove markup added.\n this.progressLoop.remove();\n }\n\n get progress() {\n return this.element.querySelector('.progress');\n }\n\n get destination() {\n return this.element.querySelector(this.settings.progressLoop.attachTo) || this.element;\n }\n}\n","import merge from 'deepmerge';\nimport Carousel from './Carousel';\nimport PlayPause from './PlayPause';\nimport { breakpoints } from './.config';\nimport ProgressLoop from './ProgressLoop';\nimport Breakpoints from './Breakpoints';\n\nconst defaults = {\n playPause: true,\n responsive: false,\n progressLoop: false,\n};\n\nexport default class Slider {\n constructor(element, options = {}) {\n this.element = element;\n this.settings = merge(defaults, options);\n\n // Exit if we don't have more than one slide.\n if (!this.shouldBuildSlider) {\n return;\n }\n\n if (this.settings.responsive) {\n // Add responsive listeners\n this.addResponsiveSupport();\n return;\n }\n\n // If our slider isn't built yet, and isn't disabled,\n // default to building one with the base settings.\n this.update(this.settings);\n }\n\n build(settings) {\n // Construct our new slider instance.\n const slider = new Carousel(this.element, settings);\n\n // Add additional components based if autoplay is enabled.\n if (settings.autoPlay) {\n // Add Play/Pause support (if enabled)\n if (settings.playPause) {\n this.PlayPauseControls = new PlayPause(this.element, slider, settings);\n }\n\n // Add Progress Loop feature (if enabled)\n if (settings.progressLoop) {\n this.ProgressLoop = new ProgressLoop(this.element, slider, settings);\n }\n\n // We need to reannounce, to our added components, that the show's already started.\n slider.dispatchEvent(`${slider.player.state}`, null);\n }\n\n // Return the new slider instance.\n return slider;\n }\n\n restore() {\n // Destroys existing slider if one exists.\n return new Promise((resolve) => {\n if (this.slider) {\n this.slider.destroy();\n }\n\n // Resolve response after slider is removed.\n resolve();\n });\n }\n\n update(data) {\n this.restore().then(() => {\n // Do not build a new slider if set to 'disable'.\n if (data.disabled) {\n return;\n }\n\n // Build a new slider based on the passed settings.\n this.slider = this.build(data);\n });\n }\n\n // Adds responsive support which allows custom settings based on\n // the current viewport.\n addResponsiveSupport() {\n const { responsive } = this.settings;\n\n // Iterate through the provided breakpoints...\n Object.keys(breakpoints).forEach((bp) => {\n // Merges the baseSettings with the custom responsive settings.\n const bpSettings = merge(this.baseSettings, responsive[bp] || {});\n\n // Adds breakpoint listener for when this viewport is entered.\n Breakpoints.on(bp, 'enter', bpSettings, this.update.bind(this));\n });\n }\n\n // Only builds slider if there are enought slides.\n get shouldBuildSlider() {\n return this.slides.length > 1;\n }\n\n // Returns reference to the available slides within this slider.\n get slides() {\n return this.element.children;\n }\n\n // Extracts the base settings while stripping the responsive subset.\n get baseSettings() {\n const baseSettings = this.settings;\n if ('responsive' in baseSettings) {\n delete baseSettings.responsive;\n }\n return baseSettings;\n }\n}\n","import $ from 'jquery';\n\nconst defaults = {\n sourceSelector: '.field-image.c1 img',\n destSelector: undefined,\n isPseudo: false,\n};\n\nfunction BackgroundImage(element, options) {\n this.$element = $(element);\n this.settings = Object.assign(defaults, options);\n this.addBackgroundImage();\n this.ready();\n}\n\nBackgroundImage.prototype = {\n getSource() { return this.$element.find(this.settings.sourceSelector).attr('src'); },\n\n addBackgroundImage() {\n const src = this.getSource();\n if (src && src.length) {\n if (this.settings.isPseudo) {\n this.$element.find('.node').prepend('');\n this.$element.find('.pod-image-bg').css('background-image', `url(${src})`);\n } else if (this.settings.destSelector) {\n this.$element.find(this.settings.destSelector).css('background-image', `url(${src})`);\n } else {\n this.$element.css('background-image', `url(${src})`);\n }\n this.$element.addClass('hasImage');\n }\n },\n\n ready() {\n setTimeout(() => {\n this.$element.addClass('ready');\n }, 300);\n },\n};\n\nexport default BackgroundImage;\n","import Slider from './Slider';\nimport BackgroundImage from './BackgroundImage';\n\nconst defaults = {\n autoPlay: false,\n wrapAround: true,\n prevNextButtons: false,\n responsive: {\n desktop: {\n autoPlay: 5000,\n pauseAutoPlayOnHover: false,\n progressLoop: true,\n playPause: {\n shape: '',\n wrapperTag: false,\n attachTo: false,\n },\n },\n larger: {\n autoPlay: 5000,\n pauseAutoPlayOnHover: false,\n progressLoop: true,\n playPause: {\n shape: '',\n wrapperTag: false,\n attachTo: false,\n },\n },\n },\n};\n\nexport default class HomeHero {\n constructor(element) {\n this.element = element;\n this.settings = defaults;\n this.Slider = new Slider(this.container, this.settings);\n this.bgImg();\n this.element.classList.add('ready');\n }\n\n bgImg() {\n this.element.querySelectorAll('.node-home-hero').forEach((slide) => {\n if (!slide.bgImg) {\n slide.bgImg = new BackgroundImage(slide, {\n sourceSelector: '.node-image img',\n destSelector: '.node-inner',\n });\n }\n });\n }\n\n get container() {\n return this.element.querySelector('.block-content');\n }\n}\n","import tabbable from 'tabbable';\nimport TickTock from 'tick-tock';\nimport Keyboard from 'keyboard-key';\nimport Breakpoints from './Breakpoints';\n\n/**\n * @file Navigation\n *\n * Transforms an existing HTML list into an accessible navigation menu w/dropdowns.\n *\n * @constructor\n * @param element {HTML element} Menu list\n * @param options {object} Custom options to override the defaults of this instance.\n *\n * @constant defaults {object} Default options of this module\n * @param menuBlock {string} Namespace to be used for this instance\n * @param menuParent {string} DOM selector of the list items which contain a submenu\n * @param activeClass {string} Classname to be used to reference a active element\n * @param activeTrailClass {string} Classname to be used to reference a active element ancestor\n * @param expandActiveMenus {boolean} Whether or not to open active menus in the active trail\n * @param closeUnnestedMenus {boolean} Whether or not to close menus that are not\n * decendents of the currently interacted menu tree\n * @param focusout {boolean} Whether or not to close open menus when the block has lost focus\n * @param hover {boolean} Whether or not to control menu display based on mouse interaction\n * @var delay {object}\n * @param in {int} Hover delay on mouse over\n * @param out {int} Hover delay on mouse out\n *\n */\n\nconst defaults = {\n menuBlock: 'navigation',\n menuParent: '.menuparent',\n activeClass: 'active',\n activeTrailClass: 'active-trail',\n expandActiveMenus: false,\n closeUnnestedMenus: false,\n focusout: true,\n hover: false,\n delay: {\n in: 150,\n out: 250,\n },\n};\n\nexport default class Navigation {\n constructor(element, options) {\n this.menu = element;\n this.settings = { ...defaults, ...options };\n this.preprocess();\n this.listen();\n }\n\n // Add appropriate accessibility attributes to existing markup\n // and the toggle button which manages the submenu display.\n\n preprocess() {\n this.menuParents.forEach((element, index) => {\n // Set unique ID to link the button to the submenu.\n const id = `${this.components.submenu}-${index}`;\n\n // Link\n const link = element.firstElementChild;\n link.setAttribute('aria-label', `${link.innerText}, tab to the next button to expand the submenu`);\n link.setAttribute('aria-haspopup', true);\n link.setAttribute('aria-controls', id);\n\n // Toggle button\n const button = document.createElement('button');\n button.classList.add(this.components.button);\n button.setAttribute('aria-haspopup', true);\n button.setAttribute('aria-controls', id);\n button.innerText = link.innerText;\n element.insertBefore(button, link.nextSibling);\n\n // Submenu\n const submenu = element.lastElementChild;\n submenu.id = id;\n submenu.classList.add(this.components.submenu);\n submenu.Timer = new TickTock();\n submenu.Tabbable = tabbable(submenu);\n\n // Add each reference within the parent.\n element.link = link;\n element.button = button;\n element.submenu = submenu;\n\n // Set initial state of components\n this.collapse(element);\n\n // Manage display of the active trail, if configured.\n if (this.settings.expandActiveMenus) {\n const isActiveTrail = element.classList.contains(this.settings.activeTrailClass);\n if (isActiveTrail) {\n this.expand(element, false);\n }\n }\n });\n }\n\n // Update submenu display based on user interaction.\n\n userInteractionHandler(event) {\n const { parentNode } = event.target;\n const { button, submenu } = parentNode;\n\n // If there isn't a submenu and button, quit.\n if (!submenu && !button) return;\n\n // Set expand state based on current aria-expanded attribute set on the button.\n const expand = button.getAttribute('aria-expanded') === 'false';\n\n // Set the current state of the associate submenu and button.\n if (expand) {\n this.expand(parentNode, true);\n } else {\n this.collapse(parentNode);\n }\n\n // Only continue to close unnested expanded submenus if the setting is true and\n // we're not viewing in a mobile state.\n if (!this.settings.closeUnnestedMenus || Breakpoints.mobileState) return;\n\n // Loop thru each open submenu\n this.openSubmenus.forEach((openSubmenu) => {\n // If the button interacted with is not within this subtree, collapse it.\n if (!openSubmenu.parentNode.contains(button)) {\n this.collapse(openSubmenu.parentNode);\n }\n });\n }\n\n // Sets the expanded state of the passed in components.\n\n expand(parentNode, focus) {\n const { link, button, submenu } = parentNode;\n this.expandElement(link);\n this.expandElement(button);\n this.expandSubmenu(submenu, focus);\n }\n\n // Sets the collapsed state of the passed in components.\n\n collapse(parentNode) {\n const { link, button, submenu } = parentNode;\n this.collapseElement(link);\n this.collapseElement(button);\n this.collapseSubmenu(submenu);\n }\n\n // Sets the expanded state of the passed in element.\n\n /* eslint-disable-next-line */\n expandElement(element) {\n element.setAttribute('aria-expanded', true);\n }\n\n // Sets the collapsed state of the passed in element.\n\n /* eslint-disable-next-line */\n collapseElement(element) {\n element.setAttribute('aria-expanded', false);\n }\n\n // Sets the expanded state of the submenu.\n\n expandSubmenu(submenu, focus) {\n submenu.parentNode.classList.add(this.states.active);\n submenu.classList.add(this.states.open);\n submenu.removeAttribute('aria-hidden');\n submenu.expanded = true;\n\n // Don't focus if it's not set to.\n if (!focus) return;\n\n // Only continue if this submenu has tabbable elements.\n if (!submenu.Tabbable.length) return;\n\n // Focus the first tabbable element after submenu is expanded.\n submenu.Timer.setTimeout('focus', () => {\n submenu.Tabbable[0].focus();\n }, 100);\n }\n\n // Sets the collapsed state of the submenu.\n\n collapseSubmenu(submenu) {\n submenu.parentNode.classList.remove(this.states.active);\n submenu.classList.remove(this.states.open);\n submenu.setAttribute('aria-hidden', true);\n submenu.expanded = false;\n }\n\n // Completely reset the state of the menu\n\n clearAll() {\n this.openSubmenus.forEach((openSubmenu) => {\n this.collapse(openSubmenu.parentNode);\n });\n }\n\n // Add event listeners to the array of event types.\n\n listen() {\n this.menu.addEventListener('keydown', this.keyDownEventDispatcher.bind(this));\n this.menu.addEventListener('mousedown', this.mouseDownEventDispatcher.bind(this));\n\n // Whether or not to close open menus if the block loses focus.\n if (this.settings.focusout) {\n this.menu.addEventListener('focusout', this.focusOutEventDispatcher.bind(this));\n }\n\n // Whether or not to activate menus on a mouseover event.\n if (this.settings.hover) {\n this.menuParents.forEach((menuParent) => {\n menuParent.addEventListener('mouseover', this.mouseOverHandler.bind(this));\n menuParent.addEventListener('mouseout', this.mouseOutHandler.bind(this));\n });\n }\n }\n\n // Dispatch events for the keydown event type.\n\n keyDownEventDispatcher(event) {\n const keyCode = Keyboard.getCode(event);\n switch (keyCode) {\n case Keyboard.Enter:\n // if the keydown is caused by the return key, it should be a click\n this.userInteractionHandler(event);\n break;\n case Keyboard.Escape:\n // if the keydown is caused by the escape key, close the menus\n this.clearAll();\n break;\n default: break;\n }\n }\n\n // Dispatch events for the mousedown event type.\n\n mouseDownEventDispatcher(event) {\n this.userInteractionHandler(event);\n }\n\n // Attach a listener to close everything when a user\n // interacts outside of the menu.\n\n focusOutEventDispatcher(event) {\n if (!this.menu.contains(event.relatedTarget) && !Breakpoints.mobileState) {\n this.clearAll();\n }\n }\n\n // Manages menu states on a mouse over event.\n\n mouseOverHandler(event) {\n const { submenu } = event.currentTarget;\n submenu.Timer.clear('collapse');\n\n // Stop mouse actions on smaller devices.\n if (Breakpoints.mobileState) return;\n\n // Quit if the menu is already expanded.\n if (submenu.expanded) return;\n\n // Stage menu to be expanded.\n submenu.Timer.setTimeout('expand', () => {\n this.expand(submenu.parentNode, false);\n }, this.settings.delay.in);\n }\n\n // Manages menu states on a mouse out event.\n\n mouseOutHandler(event) {\n const { submenu } = event.currentTarget;\n submenu.Timer.clear('expand');\n\n // Stop mouse actions on smaller devices.\n if (Breakpoints.mobileState) return;\n\n // Quit if the menu is already collapsed.\n if (!submenu.expanded) return;\n\n // Stage menu to be collapsed.\n submenu.Timer.setTimeout('collapse', () => {\n this.collapse(submenu.parentNode);\n }, this.settings.delay.out);\n }\n\n // BEM conventions using the passed in `menuBlock` namespace for all states.\n\n get states() {\n return {\n active: `${this.settings.menuBlock}--active`,\n open: `${this.settings.menuBlock}__submenu--open`,\n };\n }\n\n // BEM conventions using the passed in `menuBlock` namespace for all components.\n\n get components() {\n return {\n button: `${this.settings.menuBlock}__toggle`,\n submenu: `${this.settings.menuBlock}__submenu`,\n };\n }\n\n // Getters for obtaining NodeLists of various elements.\n\n get menuParents() {\n return this.menu.querySelectorAll(this.settings.menuParent);\n }\n\n get buttons() {\n return this.menu.querySelectorAll(`.${this.components.button}`);\n }\n\n get submenus() {\n return this.menu.querySelectorAll(`.${this.components.submenu}`);\n }\n\n get openSubmenus() {\n return this.menu.querySelectorAll(`.${this.states.open}`);\n }\n}\n","import $ from 'jquery';\nimport 'modaal';\n\nexport default class ModaalTransformer {\n constructor(node, settings) {\n this.old = node;\n this.settings = settings;\n this.type = 'image';\n\n // Add custom video type.\n if (this.settings.isVideo) {\n this.type = 'video';\n }\n\n // Remove unneeded attributes and classes.\n this.old.removeAttribute('rel');\n this.old.classList.remove('lightbox-processed');\n\n // Clone the node to insure removal of previously set lightbox listeners functions.\n this.new = this.old.cloneNode(true);\n this.old.parentNode.replaceChild(this.new, this.old);\n\n // Add Modaal attributes for this particular link type.\n this.new.setAttribute('data-modaal-type', this.type);\n\n // If this is an image gallery, add the group data attribute.\n if (this.settings.isGallery) {\n this.new.setAttribute('data-group', 'gallery');\n }\n\n // Add the caption, if applicable.\n const image = this.new.querySelector('img');\n const caption = image.getAttribute('title');\n if (caption.length) {\n this.new.setAttribute('data-modaal-desc', caption);\n }\n\n // Add a replacement listener for our new link.\n this.new.addEventListener('click', this.clickHandler.bind(this));\n }\n\n clickHandler(event) {\n event.preventDefault();\n $(this.new).modaal({\n type: this.type,\n start_open: true,\n animation: 'none',\n outer_controls: true,\n });\n }\n}\n","import ModaalTransformer from './ModaalTransformer';\n\nconst nodeSelector = 'node';\n\nexport default class Modaal {\n constructor(parent, selector) {\n const settings = {\n isGallery: parent.querySelectorAll('img').length > 1,\n };\n\n if (parent.classList.contains(nodeSelector)) {\n // Process individual node.\n parent.querySelectorAll(selector).forEach((child) => {\n settings.isVideo = child.parentNode.classList.contains('field-video');\n child.ConvertToModaal = new ModaalTransformer(child, settings);\n });\n } else {\n // Process group of nodes.\n parent.querySelectorAll(nodeSelector).forEach((node) => {\n node.querySelectorAll(selector).forEach((child) => {\n settings.isVideo = child.parentNode.classList.contains('field-video');\n child.ConvertToModaal = new ModaalTransformer(child, settings);\n });\n });\n }\n }\n}\n","import Timer from 'tick-tock';\nimport scrollTo from 'animated-scroll-to';\nimport Breakpoints from './Breakpoints';\nimport { offsets } from './.config';\n\nexport default class Anchors {\n constructor() {\n this.id = '';\n this.offsets = offsets;\n\n // Listen for click events on links starting with a hash.\n // If an id'd element exists, scroll to it.\n const anchors = document.querySelectorAll('a[href^=\"#\"]');\n anchors.forEach((anchor) => {\n anchor.addEventListener('click', this.clickHandler.bind(this));\n });\n\n // Manage URLs containing a hash\n // If an id'd element exists, scroll to it.\n if (window.location.hash) {\n this.id = window.location.hash.substr(1);\n this.goToCurrentAnchor();\n }\n }\n\n clickHandler(event) {\n // Prevent default browser based hash functionality.\n event.preventDefault();\n\n // Extract the hash to use as the element id to search for.\n this.id = event.currentTarget.href.substr(event.currentTarget.href.indexOf('#') + 1);\n\n // Locate destination within the document.\n const destination = document.getElementById(this.id);\n\n // Quit if the destination isn't found\n if (!destination) return;\n\n // Scroll to destination.\n this.scrollToDestination(destination);\n }\n\n scrollToDestination(destination) {\n scrollTo(destination, {\n elementToScroll: window,\n verticalOffset: this.currentOffset,\n maxDuration: 1000,\n minDuration: 250,\n speed: 1000,\n }).then(() => {\n // Focus the element we scrolled to after we scroll down to it.\n const { scrollX, scrollY } = window;\n destination.focus();\n window.scrollTo(scrollX, scrollY);\n });\n }\n\n goToCurrentAnchor() {\n const anchor = document.getElementById(this.id);\n if (anchor) {\n const timer = new Timer();\n timer.setTimeout('setCurrentAnchor', () => {\n this.scrollToDestination(anchor);\n timer.clear('setCurrentAnchor');\n }, 500);\n }\n }\n\n get currentOffset() {\n const currentBreakpoint = Breakpoints.current();\n return this.offsets[currentBreakpoint.name];\n }\n\n get offsets() {\n return this.offsetSettings;\n }\n\n set offsets(config) {\n this.offsetSettings = {\n mobile: -config.padding,\n tablet: -config.padding,\n desktop: -(config.desktop + config.padding),\n larger: -(config.desktop + config.padding),\n };\n }\n}\n","import jQuery from 'jquery';\nimport Flickity from 'flickity';\n\n// Register our jquery version with Flickity.\nFlickity.setJQuery(jQuery);\n\nexport default Flickity;\n","import Flickity from './Flickity';\nimport 'flickity-fade';\n\nconst defaults = {\n fade: true,\n autoPlay: 4000,\n wrapAround: false,\n arrowShape: 'M58.7 20.6c.4-.4.8-.6 1.3-.6s1 .2 1.3.6c.4.4.6.9.6 1.4 0 .5-.2 1.1-.6 1.5L36.6 50.1l24.7 26.5c.7.8.7 2.1-.1 2.9-.7.7-1.9.7-2.6 0l-26.1-28c-.4-.4-.6-.9-.6-1.4 0-.5.2-1.1.6-1.4l26.2-28.1z',\n};\n\nexport default class Gallery {\n constructor(element, options) {\n this.element = element;\n this.settings = { ...defaults, ...options };\n\n // Exit if we don't have more than one slide.\n if (!this.shouldBuildSlider) return this.ready();\n\n // Build Slider\n this.slider = this.buildSlider();\n\n // Add play/pause controls\n this.addControls();\n\n // Set initial state of the gallery\n this.setPlayState();\n\n // Add listeners\n this.listen();\n\n // Ready component\n this.ready();\n }\n\n ready() {\n // Append ready state.\n this.element.classList.add('ready');\n }\n\n buildSlider() {\n return new Flickity(this.element, this.settings);\n }\n\n onReady() {\n this.setPlayState();\n }\n\n onChange() {\n if (this.slider.player.state === 'stopped') {\n this.setPauseState();\n }\n }\n\n listen() {\n // Keep track of current state of gallery\n this.slider.on('change', this.onChange.bind(this));\n }\n\n addControls() {\n const item = document.createElement('li');\n this.playPauseButton = document.createElement('button');\n this.playPauseButton.className = 'button--play-pause';\n this.playPauseButton.innerHTML = '';\n this.playPauseButton.addEventListener('click', this.playPauseHandler.bind(this));\n item.appendChild(this.playPauseButton);\n this.sliderDots.appendChild(item);\n }\n\n playPauseHandler() {\n if (this.slider.player.state === 'stopped') {\n this.slider.playPlayer();\n this.setPlayState();\n } else {\n this.slider.stopPlayer();\n this.setPauseState();\n }\n }\n\n setPlayState() {\n this.playPauseButton.setAttribute('aria-label', 'Stop the slider\\'s autoscroll');\n this.element.classList.add('playing');\n }\n\n setPauseState() {\n this.playPauseButton.setAttribute('aria-label', 'Start the slider\\'s autoscroll');\n this.element.classList.remove('playing');\n }\n\n get shouldBuildSlider() {\n return this.slides.length > 1;\n }\n\n get sliderDots() {\n return this.element.querySelector('.flickity-page-dots');\n }\n\n get slides() {\n return this.element.children;\n }\n}\n","/* eslint-disable class-methods-use-this */\nimport $ from 'jquery';\nimport Timer from 'tick-tock';\nimport Drupal from './Drupal';\nimport Modaal from './Modaal';\nimport Anchors from './Anchors';\nimport Gallery from './Gallery';\n\nconst defaults = {\n photoGalleryPID: 107,\n behaviors: {\n a11y: true,\n tables: true,\n newTab: true,\n anchors: true,\n sitemap: true,\n nodeMeta: true,\n messages: true,\n galleries: true,\n itemAppearsIn: true,\n expandingDates: true,\n slideshowIcons: true,\n lexiconGlossary: true,\n overtakeLightbox: true,\n subtermOverviews: true,\n fullNodeRelatedLinks: true,\n bundledReferringContent: true,\n },\n};\n\nexport default class DDTemplates {\n constructor(options) {\n this.isNodeView = this.isNode();\n this.settings = { ...defaults, ...options };\n // Global behaviors\n this.defineApplicableBehaviors('global');\n // Current view behaviors only\n this.defineApplicableBehaviors(this.isNodeView ? 'node' : 'term');\n }\n\n /**\n * Simple check to see if the current body element contains the node class.\n */\n isNode() {\n return $(document.body).is('.n, .section-node');\n }\n\n /**\n * Segregates behaviors by different types of common views. If they're\n * enabled, define them in this module.\n */\n defineApplicableBehaviors(view) {\n const behaviors = {\n node: [\n 'itemAppearsIn',\n 'bundledReferringContent',\n ],\n term: [\n 'sitemap',\n 'subtermOverviews',\n 'lexiconGlossary',\n ],\n global: [\n 'a11y',\n 'tables',\n 'newTab',\n 'nodeMeta',\n 'messages',\n 'overtakeLightbox',\n 'slideshowIcons',\n 'expandingDates',\n 'galleries',\n 'anchors',\n ],\n };\n\n // Cycle through each behavior and only add it if it's enabled\n behaviors[view].forEach((behavior) => {\n this.addEnabledBehavior(behavior);\n });\n }\n\n /**\n * A way to enable only behaviors the theme requires.\n */\n addEnabledBehavior(behavior) {\n const enabled = this.settings.behaviors[behavior];\n if (enabled) {\n this[behavior].call(this);\n }\n }\n\n /**\n * Helper class for theming the appearing navigation block\n */\n itemAppearsIn() {\n const $appearingNav = $('.appearing-nav');\n const $links = $appearingNav.find('ul.links li');\n if (!$links.length) {\n $appearingNav.addClass('placeholder-block');\n }\n }\n\n /**\n * Hides the blocks if no content is present.\n */\n bundledReferringContent() {\n const $blocks = $('#block-digitaldcore-node_referring, #block-digitaldcore-node_bundled');\n $blocks.each((i, element) => {\n const $block = $(element);\n const $nodes = $block.find('.node-teaser');\n if (!$nodes.length) {\n $block.addClass('placeholder-block');\n }\n });\n }\n\n /**\n * Accessibility fixes\n */\n a11y() {\n $('.field-image a').attr('tabindex', -1);\n }\n\n /**\n * Wraps all tables in a responsive, scrollable, container.\n */\n tables() {\n $('.node-content table').wrap('
');\n }\n\n /**\n * Adds a close button to all Drupal message containers.\n */\n messages() {\n $('.messages').each((i, element) => {\n // Creates a button element instance.\n const button = document.createElement('button');\n button.className = 'close-button';\n button.setAttribute('aria-label', 'Dismiss alert');\n button.type = 'button';\n\n // Add our button\n $(element).prepend(button);\n\n // Close message if the close button is pressed.\n $(button).click(() => {\n $(element).animate({\n opacity: 'hide',\n height: 'hide',\n }, 250);\n });\n });\n }\n\n /**\n * Open the links within a new tab.\n */\n newTab() {\n const pattern = /\\.(pdf|doc|docx|xls|xlsx|csv|txt|rtf|odf|ppt|pptx|xml)$/;\n $('.page a').each((i, element) => {\n if (element.href.match(pattern)) {\n element.target = '_blank';\n }\n });\n }\n\n /**\n * Finds the real last meta item and identifies node of visible meta info\n */\n nodeMeta() {\n const $nodes = $('.node');\n $nodes.each((a, node) => {\n // Create a meta object\n const $node = $(node);\n const $meta = $node.find('.node-upper-meta');\n const $items = $meta.find('.meta-item');\n\n // Clean up last classname\n $items.removeClass('last');\n\n // Filter to just visible items\n const $visible = $items.map((i, item) => {\n const props = window.getComputedStyle(item);\n const display = props.getPropertyValue('display');\n return display !== 'none' ? item : null;\n });\n\n // Correctly identify last meta item and label node with the has-meta flag\n if ($visible.length) {\n $node.addClass('has-meta');\n $visible.filter(':last').addClass('last new-dd-templates-functionality');\n }\n });\n }\n\n /**\n * If there is more than two event dates, functionality is added to show and\n * hide all events within one container.\n *\n * Helps cleans up the look of meta data.\n *\n * @note:\n * This is only enabled for blocks with the 'posts' classname and all\n * full post views\n */\n expandingDates() {\n $('.posts .node, .node-full').each((a, node) => {\n $('.node-meta, .node-upper-meta', node).each((b, meta) => {\n const $meta = $(meta);\n const $dates = $('.event-date', node);\n\n if ($dates.length > 2) {\n // Create and add functionality to display all other dates\n const $link = $('Show all dates');\n $link.bind('click', (event) => {\n event.preventDefault();\n $meta.toggleClass('show-all-dates');\n $(event.currentTarget).text($meta.is('.show-all-dates') ? 'Hide all dates' : 'Show all dates');\n });\n $link.insertBefore($dates.eq(0));\n\n // Move all other dates\n const $container = $('');\n $dates.appendTo($container);\n $meta.append($container);\n }\n });\n });\n }\n\n /**\n * Photo galleries\n */\n galleries() {\n // Photo Galleries\n const selectors = [\n '.photo-gallery .node-image',\n '.node-content .photo-gallery',\n '.photo-gallery .node-upper-image',\n ];\n\n document.querySelectorAll(selectors.join(',')).forEach((element) => {\n if (!element.Gallery) {\n element.Gallery = new Gallery(element);\n element.Timer = new Timer();\n\n const update = () => {\n element.Timer.setTimeout('update', () => {\n element.Timer.clear();\n element.Gallery.slider.resize();\n }, 100);\n };\n\n const accordionSupport = $(element).closest('.accordion-content');\n if (accordionSupport.length) {\n accordionSupport.prev().on('click', update);\n }\n\n const isTabs = $(element).closest('[role=tabpanel]');\n if (isTabs.length) {\n const tabIds = isTabs.attr('aria-labelledby').split(' ');\n tabIds.forEach((selector) => {\n $(`#${selector}`).on('click', update);\n });\n }\n }\n });\n }\n\n /**\n * Adds markup to slideshow teasers to show an icon overlay\n */\n slideshowIcons() {\n const $slideshowNodes = $(`.pt${this.settings.photoGalleryPID}.node-teaser`);\n // cycle through each node instance\n $slideshowNodes.each((a, element) => {\n const $images = $(element).find('.field-image');\n // cycle through each field image instance\n $images.each((b, image) => {\n const $img = $(image).find('img');\n // add a button helper classname\n $(image).find('a').addClass('slideshow-btn');\n // prepend the icon overlay\n $img.before('');\n });\n });\n }\n\n sitemap() {\n // Add Sitemap output using the digitaldcore.js function\n const $map = $('#sitemap');\n const $nav = $('#sitemap .content');\n\n if ($map.length && $nav.length) {\n Drupal.digitaldcoreCreateSiteMap($map, $nav);\n $map.addClass('ready');\n }\n }\n\n /**\n * Adds the has more class to subterm overviews to properly control node-link display\n */\n subtermOverviews() {\n $('.subterm-overview .node-teaser').removeClass('no-more').addClass('has-more');\n }\n\n /**\n * Helper function to theme the category letters and seperate the sections\n */\n lexiconGlossary() {\n $('#glossary').find('.lexicon-list > a').each((i, element) => {\n const letter = $(element).attr('id').replace('letter_', '');\n $(element).html(letter.toUpperCase());\n });\n }\n\n /**\n * Adds page anchor support\n */\n anchors() {\n if (!document.body.Anchors) {\n document.body.Anchors = new Anchors();\n }\n }\n\n /**\n * Overtake Lightbox\n */\n overtakeLightbox() {\n // Replace Lightbox lightframe functionality with Modaal.\n $('.open-lightframe').each((i, element) => {\n if (!element.Modaal) {\n const selector = '.node-header a, .field-image a, .link-read-more a';\n element.Modaal = new Modaal(element, selector);\n }\n });\n\n // Replace Lightbox slideshow functionality with Modaal.\n $('.te-open-slideshow .node, .te-open-slideshow.node').each((i, element) => {\n if (!element.Modaal) {\n const selector = '.field-image a';\n element.Modaal = new Modaal(element, selector);\n }\n });\n\n // Replace Lightbox and Lighframe straggelers.\n $('[rel^=lightbox], [rel^=lightframe]').closest('.node').each((i, element) => {\n const notValid = element.parentNode.classList.contains('dd-hover-dependencies');\n if (!element.Modaal && !notValid) {\n const selector = '.field-image a';\n element.Modaal = new Modaal(element, selector);\n }\n });\n }\n}\n","import $ from 'jquery';\nimport Change from './Change';\n\n/**\n * SmartFooter\n * Offsets a height to make room for the absolutely placed footer.\n *\n * @param element {HTML Element} Footer element to base height offset from.\n * @param reactiveElement {HTML Element} Element that should be offset by the height calculated.\n * @exports {Class} SmartFooter instance\n */\nexport default class SmartFooter {\n constructor(element, reactiveElement) {\n this.element = element;\n this.$element = $(element);\n this.reactiveElement = reactiveElement;\n this.update();\n this.register();\n this.ready();\n }\n\n register() {\n // Listen for change event.\n Change.onChange(this.update.bind(this));\n }\n\n update() {\n // Update height on change event.\n const height = this.element.offsetHeight;\n this.reactiveElement.style.paddingBottom = `${height}px`;\n }\n\n ready() {\n setTimeout(() => {\n $(window).scrollTop($(window).scrollTop() + 1).scrollTop($(window).scrollTop());\n\n // Set ready state of passed in footer element.\n this.element.classList.add('ready');\n }, 1000);\n }\n}\n","import $ from 'jquery';\nimport dayjs from 'dayjs';\n\nconst defaults = {\n // local storage key used to save the currently applied filter\n storageKey: 'currentCalendarFilter',\n\n // Button text displayed as the pagination to the next page of events\n paginationLabel: 'Load More Events',\n\n // Mobile only drop down label that houses the filtering options\n filtersLabel: 'Filter by...',\n\n // Force the filters to be automatically determined by the post types present in the feed.\n filterByPostTypes: false,\n\n // A simple indicator to determine the build out of filters\n useFilters: false,\n\n // Used to pass in an object of filters which use key value pairs.\n // {Object}\n // @key: Name that will appear as the filter button text\n // @value: ID of post type or navigation term\n filters: false,\n};\n\n// These filters are used if the filterByPostTypes is enabled. Present post\n// types are then added to this object, then the filters are made from those.\nconst defaultFilters = {\n All: 2,\n};\n\nexport default class CalendarFeed {\n constructor(element, options) {\n this.$element = $(element);\n this.settings = { ...defaults, ...options };\n this.filters = this.getFilters();\n this.buildCalendar();\n if (this.settings.useFilters) {\n this.createFilters();\n }\n }\n\n buildCalendar() {\n const $posts = this.$element.find('.node');\n const group = '';\n let currentYear = null;\n let currentMonth = '';\n let $group;\n\n // Manage the types of calendar filters being created\n $posts.each((i, post) => {\n const $post = $(post);\n const dates = ['start', 'end'];\n const oDates = {};\n\n // Parse the start/end timestamps using the dayjs framework\n $.each(dates, (j, type) => {\n const datetime = $post.find(`time.${type}`).attr('datetime');\n const dateObj = dayjs(datetime);\n oDates[type] = {\n month: dateObj.format('MMMM'),\n mon: dateObj.format('MMM'),\n day: dateObj.format('D'),\n dow: dateObj.format('ddd'),\n year: dateObj.format('YYYY'),\n };\n });\n\n // Add the post into a month grouping\n if (oDates.start.month.length && currentMonth !== oDates.start.month) {\n currentMonth = oDates.start.month;\n $group = $(group);\n $group.addClass(oDates.start.month.toLowerCase());\n $group.append(`