{"version":3,"file":"pages-grants.js","mappings":"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","sources":["webpack://silverstripe-base/./themes/app/src/pages/grants.js","webpack://silverstripe-base/./themes/app/src/scripts/common/scroll-to.js","webpack://silverstripe-base/./node_modules/slide-element/dist/index.es.js","webpack://silverstripe-base/./themes/app/src/scripts/common/slide.js","webpack://silverstripe-base/./node_modules/selector-set/selector-set.next.js","webpack://silverstripe-base/./node_modules/delegated-events/dist/index.js","webpack://silverstripe-base/./node_modules/jump.js/dist/jump.module.js"],"sourcesContent":["import { on } from \"delegated-events\";\nimport { slideUp, slideDown } from \"@common/slide\";\nimport Swiper from \"swiper\";\nimport { A11y, Autoplay, EffectFade, Pagination } from \"swiper/modules\";\nimport \"@styles/components/slider.css\";\nimport scrollTo from \"@common/scroll-to\";\n\nconst slider = document.querySelector(\".featured-stories-slider\");\n\nif (slider) {\n const container = slider.querySelector(\".swiper\");\n const numSlides = slider.querySelectorAll(\".swiper-slide\").length;\n\n if (numSlides > 1) {\n const opts = {\n modules: [A11y, Autoplay, EffectFade, Pagination],\n autoplay: {\n delay: 6000,\n pauseOnMouseEnter: true,\n },\n effect: \"fade\",\n fadeEffect: {\n crossFade: true,\n },\n loop: true,\n speed: 1000,\n allowTouchMove: false,\n simulateTouch: false,\n pagination: {\n el: slider.querySelector(\".slider-pagination\"),\n clickable: true,\n },\n };\n\n const swiper = new Swiper(container, opts);\n\n on(\"tablist:tabshow\", \"html\", () => {\n swiper.update();\n });\n }\n}\n\non(\"click\", \".accordion-toggle-all\", (e) => {\n const holder = e.target.closest(\".element-contentaccordion\");\n const items = holder.querySelectorAll(\".accordion-item\");\n const type = e.target.dataset.type;\n\n if (type === \"open\") {\n items.forEach(async (item) => {\n const target = document.getElementById(item.getAttribute(\"aria-controls\"));\n item.setAttribute(\"aria-expanded\", \"true\");\n item.parentNode.classList.add(\"is-active\");\n\n await slideDown(target);\n });\n }\n\n if (type === \"close\") {\n items.forEach(async (item) => {\n const target = document.getElementById(item.getAttribute(\"aria-controls\"));\n item.setAttribute(\"aria-expanded\", \"false\");\n item.parentNode.classList.remove(\"is-active\");\n\n await slideUp(target);\n });\n }\n});\n\nconst els = document.querySelectorAll(\".element-contentaccordion\");\n\nconst observer = new MutationObserver((mutationList) => {\n for (const mutation of mutationList) {\n if (mutation.type === \"attributes\" && mutation.attributeName === \"aria-expanded\") {\n els.forEach((el) => {\n const total = el.querySelectorAll(\".accordion-item\").length;\n const opened = el.querySelectorAll('.accordion-item[aria-expanded=\"true\"]').length;\n const toggle = el.querySelector(\".accordion-toggle-all\");\n\n if (opened === total) {\n toggle.textContent = \"Hide All\";\n toggle.setAttribute(\"data-type\", \"close\");\n } else {\n toggle.textContent = \"View All\";\n toggle.setAttribute(\"data-type\", \"open\");\n }\n });\n }\n }\n});\n\nels.forEach((el) => {\n el.querySelectorAll(\".accordion-item\").forEach((item) => {\n observer.observe(item, { attributes: true });\n });\n});\n\nconst handleUrl = () => {\n const urlParams = new URLSearchParams(window.location.search);\n\n if (urlParams.has(\"tab\")) {\n setTimeout(() => {\n scrollTo(document.getElementById(\"tabs-panel\"), 32);\n }, 250);\n }\n};\n\nconst handleCta = () => {\n const cta = document.querySelector(\".page-header-actions a[href*=how-to-get-started]\");\n const tab = document.getElementById(\"tab-get-started\");\n\n if (cta && tab) {\n cta.addEventListener(\"click\", (e) => {\n e.preventDefault();\n\n tab.click();\n scrollTo(document.getElementById(\"tabs-panel\"), 32);\n });\n }\n};\n\nhandleUrl();\nhandleCta();\n","import jump from \"jump.js\";\n\nconst getPageOffset = () => {\n let offset = 0;\n\n const siteHeader = document.querySelector(\".site-header\");\n\n if (siteHeader) {\n const siteHeaderHeight = getComputedStyle(document.documentElement).getPropertyValue(\"--site-header-height\");\n\n offset += parseInt(siteHeaderHeight);\n }\n\n return offset;\n};\n\nconst scrollTo = (target, additionalOffset = 0) => {\n const pageOffset = getPageOffset() * -1;\n\n if (target.dataset.scrollOffset) {\n additionalOffset = parseInt(target.dataset.scrollOffset);\n }\n\n let offset = pageOffset - additionalOffset;\n\n return new Promise((resolve) => {\n jump(target, {\n duration: 600,\n offset,\n callback: () => {\n resolve();\n },\n });\n });\n};\n\nexport const scrollToIfNeeded = (target, additionalOffset = 0) => {\n const rect = target.getBoundingClientRect();\n const viewportHeight = window.innerHeight || document.documentElement.clientHeight;\n const isInViewport = rect.top >= 0 && rect.bottom <= viewportHeight;\n const is50PercentFromTop = rect.top <= viewportHeight / 2;\n\n if (!isInViewport || !is50PercentFromTop) {\n return scrollTo(target, additionalOffset);\n }\n};\n\nexport default scrollTo;\n","const afterNextRepaint = (callback) => {\n return new Promise((resolve) => {\n requestAnimationFrame(() => {\n requestAnimationFrame(() => {\n callback(resolve);\n });\n });\n });\n};\nlet defaultOptions = {\n easing: \"ease\",\n duration: 250,\n fill: \"backwards\",\n display: \"block\",\n overflow: \"hidden\"\n};\nlet nonAnimatableOptions = [\"overflow\", \"display\"];\nlet SlideController = (element, options) => {\n let mergedOptions = Object.assign({}, defaultOptions, options);\n let openDisplayValue = mergedOptions.display;\n let closedDisplayValue = \"none\";\n let setDisplay = (value) => element.style.display = value;\n let getHeight = () => element.clientHeight + \"px\";\n let getComputed = () => window.getComputedStyle(element);\n let setOverflow = (set) => element.style.overflow = set ? mergedOptions.overflow : \"\";\n let getAnimations = () => element.getAnimations();\n let createAnimation = (willOpen, lowerBound) => {\n var _a;\n nonAnimatableOptions.forEach((property) => delete mergedOptions[property]);\n let currentHeight = getHeight();\n let frames = [currentHeight, lowerBound].map((height) => ({\n height,\n paddingTop: \"0px\",\n paddingBottom: \"0px\"\n }));\n let { paddingTop, paddingBottom } = getComputed();\n frames[0].paddingTop = paddingTop;\n frames[0].paddingBottom = paddingBottom;\n if (willOpen) {\n frames[0].height = currentHeight;\n frames.reverse();\n }\n if ((_a = window.matchMedia(\"(prefers-reduced-motion: reduce)\")) == null ? void 0 : _a.matches) {\n mergedOptions.duration = 0;\n }\n let animation = element.animate(frames, mergedOptions);\n animation.id = (+willOpen).toString();\n return animation;\n };\n let triggerAnimation = async (willOpen) => {\n let finishedAnimations = getAnimations().map((a) => a.finish());\n await afterNextRepaint(async (resolve) => {\n let currentHeight = willOpen ? getHeight() : \"0px\";\n if (willOpen)\n setDisplay(openDisplayValue);\n setOverflow(true);\n await createAnimation(willOpen, currentHeight).finished;\n setOverflow(false);\n if (!willOpen)\n setDisplay(closedDisplayValue);\n resolve();\n });\n return finishedAnimations.length ? null : willOpen;\n };\n let up2 = async () => triggerAnimation(false);\n let down2 = async () => triggerAnimation(true);\n let toggle2 = async () => {\n var _a;\n let existingAnimationId = (_a = getAnimations()[0]) == null ? void 0 : _a.id;\n let condition = existingAnimationId ? existingAnimationId === \"1\" : element.offsetHeight;\n return (condition ? up2 : down2)();\n };\n return {\n up: up2,\n down: down2,\n toggle: toggle2\n };\n};\nlet down = (element, options = {}) => SlideController(element, options).down();\nlet up = (element, options = {}) => SlideController(element, options).up();\nlet toggle = (element, options = {}) => SlideController(element, options).toggle();\nexport {\n down,\n toggle,\n up\n};\n","import { up, down, toggle } from \"slide-element\";\n\nexport const slideUp = (element, duration = 400, display = \"block\", easing = \"ease-out\") => {\n element.classList.add(\"is-sliding\");\n\n const slide = up(element, {\n duration,\n display,\n easing,\n });\n\n slide.then(() => {\n element.classList.remove(\"is-sliding\");\n });\n\n return slide;\n};\n\nexport const slideDown = (element, duration = 400, display = \"block\", easing = \"ease-out\") => {\n element.classList.add(\"is-sliding\");\n\n const slide = down(element, {\n duration,\n display,\n easing,\n });\n\n slide.then(() => {\n element.classList.remove(\"is-sliding\");\n });\n\n return slide;\n};\n\nexport const slideToggle = (element, duration = 400, display = \"block\", easing = \"ease-out\") => {\n element.classList.add(\"is-sliding\");\n\n const slide = toggle(element, {\n duration,\n display,\n easing,\n });\n\n slide.then(() => {\n element.classList.remove(\"is-sliding\");\n });\n\n return slide;\n};\n","// Public: Create a new SelectorSet.\nexport default function SelectorSet() {\n // Construct new SelectorSet if called as a function.\n if (!(this instanceof SelectorSet)) {\n return new SelectorSet();\n }\n\n // Public: Number of selectors added to the set\n this.size = 0;\n\n // Internal: Incrementing ID counter\n this.uid = 0;\n\n // Internal: Array of String selectors in the set\n this.selectors = [];\n\n // Internal: Map of selector ids to objects\n this.selectorObjects = {};\n\n // Internal: All Object index String names mapping to Index objects.\n this.indexes = Object.create(this.indexes);\n\n // Internal: Used Object index String names mapping to Index objects.\n this.activeIndexes = [];\n}\n\n// Detect prefixed Element#matches function.\nvar docElem = window.document.documentElement;\nvar matches =\n docElem.matches ||\n docElem.webkitMatchesSelector ||\n docElem.mozMatchesSelector ||\n docElem.oMatchesSelector ||\n docElem.msMatchesSelector;\n\n// Public: Check if element matches selector.\n//\n// Maybe overridden with custom Element.matches function.\n//\n// el - An Element\n// selector - String CSS selector\n//\n// Returns true or false.\nSelectorSet.prototype.matchesSelector = function(el, selector) {\n return matches.call(el, selector);\n};\n\n// Public: Find all elements in the context that match the selector.\n//\n// Maybe overridden with custom querySelectorAll function.\n//\n// selectors - String CSS selectors.\n// context - Element context\n//\n// Returns non-live list of Elements.\nSelectorSet.prototype.querySelectorAll = function(selectors, context) {\n return context.querySelectorAll(selectors);\n};\n\n// Public: Array of indexes.\n//\n// name - Unique String name\n// selector - Function that takes a String selector and returns a String key\n// or undefined if it can't be used by the index.\n// element - Function that takes an Element and returns an Array of String\n// keys that point to indexed values.\n//\nSelectorSet.prototype.indexes = [];\n\n// Index by element id\nvar idRe = /^#((?:[\\w\\u00c0-\\uFFFF\\-]|\\\\.)+)/g;\nSelectorSet.prototype.indexes.push({\n name: 'ID',\n selector: function matchIdSelector(sel) {\n var m;\n if ((m = sel.match(idRe))) {\n return m[0].slice(1);\n }\n },\n element: function getElementId(el) {\n if (el.id) {\n return [el.id];\n }\n }\n});\n\n// Index by all of its class names\nvar classRe = /^\\.((?:[\\w\\u00c0-\\uFFFF\\-]|\\\\.)+)/g;\nSelectorSet.prototype.indexes.push({\n name: 'CLASS',\n selector: function matchClassSelector(sel) {\n var m;\n if ((m = sel.match(classRe))) {\n return m[0].slice(1);\n }\n },\n element: function getElementClassNames(el) {\n var className = el.className;\n if (className) {\n if (typeof className === 'string') {\n return className.split(/\\s/);\n } else if (typeof className === 'object' && 'baseVal' in className) {\n // className is a SVGAnimatedString\n // global SVGAnimatedString is not an exposed global in Opera 12\n return className.baseVal.split(/\\s/);\n }\n }\n }\n});\n\n// Index by tag/node name: `DIV`, `FORM`, `A`\nvar tagRe = /^((?:[\\w\\u00c0-\\uFFFF\\-]|\\\\.)+)/g;\nSelectorSet.prototype.indexes.push({\n name: 'TAG',\n selector: function matchTagSelector(sel) {\n var m;\n if ((m = sel.match(tagRe))) {\n return m[0].toUpperCase();\n }\n },\n element: function getElementTagName(el) {\n return [el.nodeName.toUpperCase()];\n }\n});\n\n// Default index just contains a single array of elements.\nSelectorSet.prototype.indexes['default'] = {\n name: 'UNIVERSAL',\n selector: function() {\n return true;\n },\n element: function() {\n return [true];\n }\n};\n\n// Use ES Maps when supported\nvar Map;\nif (typeof window.Map === 'function') {\n Map = window.Map;\n} else {\n Map = (function() {\n function Map() {\n this.map = {};\n }\n Map.prototype.get = function(key) {\n return this.map[key + ' '];\n };\n Map.prototype.set = function(key, value) {\n this.map[key + ' '] = value;\n };\n return Map;\n })();\n}\n\n// Regexps adopted from Sizzle\n// https://github.com/jquery/sizzle/blob/1.7/sizzle.js\n//\nvar chunker = /((?:\\((?:\\([^()]+\\)|[^()]+)+\\)|\\[(?:\\[[^\\[\\]]*\\]|['\"][^'\"]*['\"]|[^\\[\\]'\"]+)+\\]|\\\\.|[^ >+~,(\\[\\\\]+)+|[>+~])(\\s*,\\s*)?((?:.|\\r|\\n)*)/g;\n\n// Internal: Get indexes for selector.\n//\n// selector - String CSS selector\n//\n// Returns Array of {index, key}.\nfunction parseSelectorIndexes(allIndexes, selector) {\n allIndexes = allIndexes.slice(0).concat(allIndexes['default']);\n\n var allIndexesLen = allIndexes.length,\n i,\n j,\n m,\n dup,\n rest = selector,\n key,\n index,\n indexes = [];\n\n do {\n chunker.exec('');\n if ((m = chunker.exec(rest))) {\n rest = m[3];\n if (m[2] || !rest) {\n for (i = 0; i < allIndexesLen; i++) {\n index = allIndexes[i];\n if ((key = index.selector(m[1]))) {\n j = indexes.length;\n dup = false;\n while (j--) {\n if (indexes[j].index === index && indexes[j].key === key) {\n dup = true;\n break;\n }\n }\n if (!dup) {\n indexes.push({ index: index, key: key });\n }\n break;\n }\n }\n }\n }\n } while (m);\n\n return indexes;\n}\n\n// Internal: Find first item in Array that is a prototype of `proto`.\n//\n// ary - Array of objects\n// proto - Prototype of expected item in `ary`\n//\n// Returns object from `ary` if found. Otherwise returns undefined.\nfunction findByPrototype(ary, proto) {\n var i, len, item;\n for (i = 0, len = ary.length; i < len; i++) {\n item = ary[i];\n if (proto.isPrototypeOf(item)) {\n return item;\n }\n }\n}\n\n// Public: Log when added selector falls under the default index.\n//\n// This API should not be considered stable. May change between\n// minor versions.\n//\n// obj - {selector, data} Object\n//\n// SelectorSet.prototype.logDefaultIndexUsed = function(obj) {\n// console.warn(obj.selector, \"could not be indexed\");\n// };\n//\n// Returns nothing.\nSelectorSet.prototype.logDefaultIndexUsed = function() {};\n\n// Public: Add selector to set.\n//\n// selector - String CSS selector\n// data - Optional data Object (default: undefined)\n//\n// Returns nothing.\nSelectorSet.prototype.add = function(selector, data) {\n var obj,\n i,\n indexProto,\n key,\n index,\n objs,\n selectorIndexes,\n selectorIndex,\n indexes = this.activeIndexes,\n selectors = this.selectors,\n selectorObjects = this.selectorObjects;\n\n if (typeof selector !== 'string') {\n return;\n }\n\n obj = {\n id: this.uid++,\n selector: selector,\n data: data\n };\n selectorObjects[obj.id] = obj;\n\n selectorIndexes = parseSelectorIndexes(this.indexes, selector);\n for (i = 0; i < selectorIndexes.length; i++) {\n selectorIndex = selectorIndexes[i];\n key = selectorIndex.key;\n indexProto = selectorIndex.index;\n\n index = findByPrototype(indexes, indexProto);\n if (!index) {\n index = Object.create(indexProto);\n index.map = new Map();\n indexes.push(index);\n }\n\n if (indexProto === this.indexes['default']) {\n this.logDefaultIndexUsed(obj);\n }\n objs = index.map.get(key);\n if (!objs) {\n objs = [];\n index.map.set(key, objs);\n }\n objs.push(obj);\n }\n\n this.size++;\n selectors.push(selector);\n};\n\n// Public: Remove selector from set.\n//\n// selector - String CSS selector\n// data - Optional data Object (default: undefined)\n//\n// Returns nothing.\nSelectorSet.prototype.remove = function(selector, data) {\n if (typeof selector !== 'string') {\n return;\n }\n\n var selectorIndexes,\n selectorIndex,\n i,\n j,\n k,\n selIndex,\n objs,\n obj,\n indexes = this.activeIndexes,\n selectors = (this.selectors = []),\n selectorObjects = this.selectorObjects,\n removedIds = {},\n removeAll = arguments.length === 1;\n\n selectorIndexes = parseSelectorIndexes(this.indexes, selector);\n for (i = 0; i < selectorIndexes.length; i++) {\n selectorIndex = selectorIndexes[i];\n\n j = indexes.length;\n while (j--) {\n selIndex = indexes[j];\n if (selectorIndex.index.isPrototypeOf(selIndex)) {\n objs = selIndex.map.get(selectorIndex.key);\n if (objs) {\n k = objs.length;\n while (k--) {\n obj = objs[k];\n if (obj.selector === selector && (removeAll || obj.data === data)) {\n objs.splice(k, 1);\n removedIds[obj.id] = true;\n }\n }\n }\n break;\n }\n }\n }\n\n for (i in removedIds) {\n delete selectorObjects[i];\n this.size--;\n }\n\n for (i in selectorObjects) {\n selectors.push(selectorObjects[i].selector);\n }\n};\n\n// Sort by id property handler.\n//\n// a - Selector obj.\n// b - Selector obj.\n//\n// Returns Number.\nfunction sortById(a, b) {\n return a.id - b.id;\n}\n\n// Public: Find all matching decendants of the context element.\n//\n// context - An Element\n//\n// Returns Array of {selector, data, elements} matches.\nSelectorSet.prototype.queryAll = function(context) {\n if (!this.selectors.length) {\n return [];\n }\n\n var matches = {},\n results = [];\n var els = this.querySelectorAll(this.selectors.join(', '), context);\n\n var i, j, len, len2, el, m, match, obj;\n for (i = 0, len = els.length; i < len; i++) {\n el = els[i];\n m = this.matches(el);\n for (j = 0, len2 = m.length; j < len2; j++) {\n obj = m[j];\n if (!matches[obj.id]) {\n match = {\n id: obj.id,\n selector: obj.selector,\n data: obj.data,\n elements: []\n };\n matches[obj.id] = match;\n results.push(match);\n } else {\n match = matches[obj.id];\n }\n match.elements.push(el);\n }\n }\n\n return results.sort(sortById);\n};\n\n// Public: Match element against all selectors in set.\n//\n// el - An Element\n//\n// Returns Array of {selector, data} matches.\nSelectorSet.prototype.matches = function(el) {\n if (!el) {\n return [];\n }\n\n var i, j, k, len, len2, len3, index, keys, objs, obj, id;\n var indexes = this.activeIndexes,\n matchedIds = {},\n matches = [];\n\n for (i = 0, len = indexes.length; i < len; i++) {\n index = indexes[i];\n keys = index.element(el);\n if (keys) {\n for (j = 0, len2 = keys.length; j < len2; j++) {\n if ((objs = index.map.get(keys[j]))) {\n for (k = 0, len3 = objs.length; k < len3; k++) {\n obj = objs[k];\n id = obj.id;\n if (!matchedIds[id] && this.matchesSelector(el, obj.selector)) {\n matchedIds[id] = true;\n matches.push(obj);\n }\n }\n }\n }\n }\n }\n\n return matches.sort(sortById);\n};\n","import SelectorSet from 'selector-set';\n\nvar bubbleEvents = {};\nvar captureEvents = {};\nvar propagationStopped = new WeakMap();\nvar immediatePropagationStopped = new WeakMap();\nvar currentTargets = new WeakMap();\nvar currentTargetDesc = Object.getOwnPropertyDescriptor(Event.prototype, 'currentTarget');\n\nfunction before(subject, verb, fn) {\n var source = subject[verb];\n\n subject[verb] = function () {\n fn.apply(subject, arguments);\n return source.apply(subject, arguments);\n };\n\n return subject;\n}\n\nfunction matches(selectors, target, reverse) {\n var queue = [];\n var node = target;\n\n do {\n if (node.nodeType !== 1) break;\n\n var _matches = selectors.matches(node);\n\n if (_matches.length) {\n var matched = {\n node: node,\n observers: _matches\n };\n\n if (reverse) {\n queue.unshift(matched);\n } else {\n queue.push(matched);\n }\n }\n } while (node = node.parentElement);\n\n return queue;\n}\n\nfunction trackPropagation() {\n propagationStopped.set(this, true);\n}\n\nfunction trackImmediate() {\n propagationStopped.set(this, true);\n immediatePropagationStopped.set(this, true);\n}\n\nfunction getCurrentTarget() {\n return currentTargets.get(this) || null;\n}\n\nfunction defineCurrentTarget(event, getter) {\n if (!currentTargetDesc) return;\n Object.defineProperty(event, 'currentTarget', {\n configurable: true,\n enumerable: true,\n get: getter || currentTargetDesc.get\n });\n}\n\nfunction canDispatch(event) {\n try {\n event.eventPhase;\n return true;\n } catch (_) {\n return false;\n }\n}\n\nfunction dispatch(event) {\n if (!canDispatch(event)) return;\n var events = event.eventPhase === 1 ? captureEvents : bubbleEvents;\n var selectors = events[event.type];\n if (!selectors) return;\n var queue = matches(selectors, event.target, event.eventPhase === 1);\n if (!queue.length) return;\n before(event, 'stopPropagation', trackPropagation);\n before(event, 'stopImmediatePropagation', trackImmediate);\n defineCurrentTarget(event, getCurrentTarget);\n\n for (var i = 0, len1 = queue.length; i < len1; i++) {\n if (propagationStopped.get(event)) break;\n var matched = queue[i];\n currentTargets.set(event, matched.node);\n\n for (var j = 0, len2 = matched.observers.length; j < len2; j++) {\n if (immediatePropagationStopped.get(event)) break;\n matched.observers[j].data.call(matched.node, event);\n }\n }\n\n currentTargets[\"delete\"](event);\n defineCurrentTarget(event);\n}\n\nfunction on(name, selector, fn) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var capture = options.capture ? true : false;\n var events = capture ? captureEvents : bubbleEvents;\n var selectors = events[name];\n\n if (!selectors) {\n selectors = new SelectorSet();\n events[name] = selectors;\n document.addEventListener(name, dispatch, capture);\n }\n\n selectors.add(selector, fn);\n}\nfunction off(name, selector, fn) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var capture = options.capture ? true : false;\n var events = capture ? captureEvents : bubbleEvents;\n var selectors = events[name];\n if (!selectors) return;\n selectors.remove(selector, fn);\n if (selectors.size) return;\n delete events[name];\n document.removeEventListener(name, dispatch, capture);\n}\nfunction fire(target, name, detail) {\n return target.dispatchEvent(new CustomEvent(name, {\n bubbles: true,\n cancelable: true,\n detail: detail\n }));\n}\n\nexport { fire, off, on };\n","// Robert Penner's easeInOutQuad\n\n// find the rest of his easing functions here: http://robertpenner.com/easing/\n// find them exported for ES6 consumption here: https://github.com/jaxgeller/ez.js\n\nvar easeInOutQuad = function easeInOutQuad(t, b, c, d) {\n t /= d / 2;\n if (t < 1) return c / 2 * t * t + b;\n t--;\n return -c / 2 * (t * (t - 2) - 1) + b;\n};\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) {\n return typeof obj;\n} : function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n};\n\nvar jumper = function jumper() {\n // private variable cache\n // no variables are created during a jump, preventing memory leaks\n\n var element = void 0; // element to scroll to (node)\n\n var start = void 0; // where scroll starts (px)\n var stop = void 0; // where scroll stops (px)\n\n var offset = void 0; // adjustment from the stop position (px)\n var easing = void 0; // easing function (function)\n var a11y = void 0; // accessibility support flag (boolean)\n\n var distance = void 0; // distance of scroll (px)\n var duration = void 0; // scroll duration (ms)\n\n var timeStart = void 0; // time scroll started (ms)\n var timeElapsed = void 0; // time spent scrolling thus far (ms)\n\n var next = void 0; // next scroll position (px)\n\n var callback = void 0; // to call when done scrolling (function)\n\n // scroll position helper\n\n function location() {\n return window.scrollY || window.pageYOffset;\n }\n\n // element offset helper\n\n function top(element) {\n return element.getBoundingClientRect().top + start;\n }\n\n // rAF loop helper\n\n function loop(timeCurrent) {\n // store time scroll started, if not started already\n if (!timeStart) {\n timeStart = timeCurrent;\n }\n\n // determine time spent scrolling so far\n timeElapsed = timeCurrent - timeStart;\n\n // calculate next scroll position\n next = easing(timeElapsed, start, distance, duration);\n\n // scroll to it\n window.scrollTo(0, next);\n\n // check progress\n timeElapsed < duration ? window.requestAnimationFrame(loop) // continue scroll loop\n : done(); // scrolling is done\n }\n\n // scroll finished helper\n\n function done() {\n // account for rAF time rounding inaccuracies\n window.scrollTo(0, start + distance);\n\n // if scrolling to an element, and accessibility is enabled\n if (element && a11y) {\n // add tabindex indicating programmatic focus\n element.setAttribute('tabindex', '-1');\n\n // focus the element\n element.focus();\n }\n\n // if it exists, fire the callback\n if (typeof callback === 'function') {\n callback();\n }\n\n // reset time for next jump\n timeStart = false;\n }\n\n // API\n\n function jump(target) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n // resolve options, or use defaults\n duration = options.duration || 1000;\n offset = options.offset || 0;\n callback = options.callback; // \"undefined\" is a suitable default, and won't be called\n easing = options.easing || easeInOutQuad;\n a11y = options.a11y || false;\n\n // cache starting position\n start = location();\n\n // resolve target\n switch (typeof target === 'undefined' ? 'undefined' : _typeof(target)) {\n // scroll from current position\n case 'number':\n element = undefined; // no element to scroll to\n a11y = false; // make sure accessibility is off\n stop = start + target;\n break;\n\n // scroll to element (node)\n // bounding rect is relative to the viewport\n case 'object':\n element = target;\n stop = top(element);\n break;\n\n // scroll to element (selector)\n // bounding rect is relative to the viewport\n case 'string':\n element = document.querySelector(target);\n stop = top(element);\n break;\n }\n\n // resolve scroll distance, accounting for offset\n distance = stop - start + offset;\n\n // resolve duration\n switch (_typeof(options.duration)) {\n // number in ms\n case 'number':\n duration = options.duration;\n break;\n\n // function passed the distance of the scroll\n case 'function':\n duration = options.duration(distance);\n break;\n }\n\n // start the loop\n window.requestAnimationFrame(loop);\n }\n\n // expose only the jump method\n return jump;\n};\n\n// export singleton\n\nvar singleton = jumper();\n\nexport default singleton;\n"],"names":["slider","document","querySelector","container","querySelectorAll","length","opts","modules","A11y","Autoplay","EffectFade","Pagination","autoplay","delay","pauseOnMouseEnter","effect","fadeEffect","crossFade","loop","speed","allowTouchMove","simulateTouch","pagination","el","clickable","swiper","Swiper","on","update","e","items","target","closest","type","dataset","forEach","async","getElementById","item","getAttribute","setAttribute","parentNode","classList","add","slideDown","remove","slideUp","els","observer","MutationObserver","mutationList","mutation","attributeName","total","opened","toggle","textContent","observe","attributes","URLSearchParams","window","location","search","has","setTimeout","scrollTo","handleCta","cta","tab","addEventListener","preventDefault","click","additionalOffset","pageOffset","getPageOffset","offset","siteHeaderHeight","getComputedStyle","documentElement","getPropertyValue","parseInt","scrollOffset","Promise","resolve","jump","duration","callback","scrollToIfNeeded","rect","getBoundingClientRect","viewportHeight","innerHeight","clientHeight","isInViewport","top","bottom","is50PercentFromTop","defaultOptions","easing","fill","display","overflow","nonAnimatableOptions","SlideController","element","options","mergedOptions","Object","assign","openDisplayValue","setDisplay","value","style","getHeight","setOverflow","set","getAnimations","triggerAnimation","willOpen","finishedAnimations","map","a","finish","currentHeight","lowerBound","_a","property","frames","height","paddingTop","paddingBottom","reverse","matchMedia","matches","animation","animate","id","toString","createAnimation","finished","requestAnimationFrame","up2","down2","up","down","existingAnimationId","offsetHeight","slide","then","slideToggle","SelectorSet","this","size","uid","selectors","selectorObjects","indexes","create","activeIndexes","docElem","webkitMatchesSelector","mozMatchesSelector","oMatchesSelector","msMatchesSelector","prototype","matchesSelector","selector","call","context","idRe","push","name","sel","m","match","slice","classRe","className","split","baseVal","Map","tagRe","toUpperCase","nodeName","get","key","chunker","parseSelectorIndexes","allIndexes","i","j","dup","index","allIndexesLen","concat","rest","exec","findByPrototype","ary","proto","len","isPrototypeOf","sortById","b","logDefaultIndexUsed","data","obj","indexProto","objs","selectorIndexes","selectorIndex","k","selIndex","removedIds","removeAll","arguments","splice","queryAll","len2","results","join","elements","sort","len3","keys","matchedIds","bubbleEvents","captureEvents","propagationStopped","WeakMap","immediatePropagationStopped","currentTargets","currentTargetDesc","getOwnPropertyDescriptor","Event","before","subject","verb","fn","source","apply","trackPropagation","trackImmediate","getCurrentTarget","defineCurrentTarget","event","getter","defineProperty","configurable","enumerable","dispatch","eventPhase","_","canDispatch","queue","node","nodeType","_matches","matched","observers","unshift","parentElement","len1","capture","undefined","events","off","removeEventListener","fire","detail","dispatchEvent","CustomEvent","bubbles","cancelable","easeInOutQuad","t","c","d","_typeof","Symbol","iterator","constructor","start","stop","a11y","distance","timeStart","timeElapsed","next","timeCurrent","focus","scrollY","pageYOffset","jumper"],"sourceRoot":""}