{"version":3,"file":"sections-approach.75e0bab04d72f902c655.js","mappings":"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","sources":["webpack://silverstripe-base/./node_modules/jump.js/dist/jump.module.js","webpack://silverstripe-base/./themes/app/src/scripts/common/scroll-to.js","webpack://silverstripe-base/./themes/app/src/sections/approach.js","webpack://silverstripe-base/./node_modules/selector-set/selector-set.next.js","webpack://silverstripe-base/./node_modules/delegated-events/dist/index.js"],"sourcesContent":["// 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","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 offset += siteHeader.offsetHeight\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, { duration: 600, offset, callback: resolve })\n })\n}\n\nexport default scrollTo\n","import { on } from 'delegated-events'\nimport { gsap } from 'gsap'\nimport { ScrollTrigger } from 'gsap/ScrollTrigger'\nimport scrollTo from '@common/scroll-to'\n\ngsap.registerPlugin(ScrollTrigger)\n\nconst tabPanels = {}\n\nconst closeOtherTabs = (activeTrigger) => {\n const container = activeTrigger.closest('[role=\"tablist\"]')\n const otherTriggers = Array.from(container.querySelectorAll('[role=\"tab\"][aria-selected=\"true\"]')).filter(\n (x) => x !== activeTrigger\n )\n\n otherTriggers.forEach((x) => closeTab(x))\n}\n\nconst openTab = async (trigger) => {\n const panel = document.getElementById(trigger.getAttribute('aria-controls'))\n\n trigger.setAttribute('aria-selected', 'true')\n panel.setAttribute('aria-hidden', 'false')\n\n await scrollTo(document.body)\n enableScroll(panel)\n}\n\nconst closeTab = (trigger) => {\n const panel = document.getElementById(trigger.getAttribute('aria-controls'))\n\n trigger.setAttribute('aria-selected', 'false')\n panel.setAttribute('aria-hidden', 'true')\n\n disableScroll(panel)\n}\n\nconst handleTab = (e) => {\n e.preventDefault()\n\n const trigger = e.target.closest('[role=\"tab\"]')\n\n if (trigger.getAttribute('aria-selected') === 'false') {\n openTab(trigger)\n closeOtherTabs(trigger)\n }\n}\n\nconst enableScroll = (tabPanel) => {\n const timelines = tabPanels[tabPanel.id]\n\n timelines.forEach((x) => x.scrollTrigger.enable())\n}\n\nconst disableScroll = (tabPanel) => {\n const timelines = tabPanels[tabPanel.id]\n\n timelines.forEach((x) => x.scrollTrigger.disable())\n}\n\non('click', '[data-tablist] [role=\"tab\"]', handleTab)\n\ndocument.addEventListener('DOMContentLoaded', () => {\n document.querySelectorAll('[role=\"tabpanel\"]').forEach((tabPanel) => {\n const section = tabPanel.querySelector('.list-section')\n const blocks = section.querySelectorAll('.list-block')\n\n gsap.set(section.querySelectorAll('.list-icon'), { x: '-100vw' })\n gsap.set(section.querySelectorAll('.list-content'), { x: '100vw' })\n gsap.set(section.querySelectorAll('.list-indicator'), { opacity: 0 })\n\n section.classList.remove('invisible')\n\n const timelines = []\n\n blocks.forEach((block) => {\n const timeline = gsap.timeline({\n paused: true,\n scrollTrigger: {\n trigger: block,\n start: 'top center',\n markers: false,\n },\n })\n\n timeline.to(block.querySelector('.list-indicator'), {\n opacity: 1,\n duration: 0.4,\n })\n\n timeline.to(\n block.querySelector('.list-icon'),\n {\n x: 0,\n duration: 0.8,\n ease: 'power4',\n },\n '<'\n )\n\n timeline.to(\n block.querySelector('.list-content'),\n {\n x: 0,\n duration: 0.8,\n ease: 'power4',\n },\n '<'\n )\n\n timeline.scrollTrigger.disable()\n\n timelines.push(timeline)\n })\n\n tabPanels[tabPanel.id] = timelines\n })\n\n const activeTabPanel = document.querySelector('[role=\"tabpanel\"][aria-hidden=\"false\"]')\n enableScroll(activeTabPanel)\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"],"names":["easeInOutQuad","t","b","c","d","_typeof","Symbol","iterator","obj","constructor","prototype","element","start","stop","offset","easing","a11y","distance","duration","timeStart","timeElapsed","next","callback","top","getBoundingClientRect","loop","timeCurrent","window","scrollTo","requestAnimationFrame","setAttribute","focus","target","options","arguments","length","undefined","scrollY","pageYOffset","document","querySelector","jumper","additionalOffset","pageOffset","getPageOffset","siteHeader","offsetHeight","dataset","scrollOffset","parseInt","Promise","resolve","jump","gsap","registerPlugin","ScrollTrigger","tabPanels","enableScroll","tabPanel","id","forEach","x","scrollTrigger","enable","disableScroll","disable","on","e","preventDefault","trigger","closest","getAttribute","async","panel","getElementById","body","openTab","activeTrigger","container","Array","from","querySelectorAll","filter","closeTab","closeOtherTabs","addEventListener","section","blocks","set","opacity","classList","remove","timelines","block","timeline","paused","markers","to","ease","push","activeTabPanel","SelectorSet","this","size","uid","selectors","selectorObjects","indexes","Object","create","activeIndexes","docElem","documentElement","matches","webkitMatchesSelector","mozMatchesSelector","oMatchesSelector","msMatchesSelector","matchesSelector","el","selector","call","context","idRe","name","sel","m","match","slice","classRe","className","split","baseVal","Map","tagRe","toUpperCase","nodeName","map","get","key","value","chunker","parseSelectorIndexes","allIndexes","i","j","dup","index","allIndexesLen","concat","rest","exec","findByPrototype","ary","proto","len","item","isPrototypeOf","sortById","a","logDefaultIndexUsed","add","data","indexProto","objs","selectorIndexes","selectorIndex","k","selIndex","removedIds","removeAll","splice","queryAll","len2","results","els","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","type","queue","reverse","node","nodeType","_matches","matched","observers","unshift","parentElement","len1","capture","events","off","removeEventListener","fire","detail","dispatchEvent","CustomEvent","bubbles","cancelable"],"sourceRoot":""}