{"version":3,"sources":["webpack:///./node_modules/core-js/modules/es6.regexp.search.js","webpack:///./node_modules/core-js/modules/_same-value.js","webpack:///./js/components/init-tabbed-section.ts","webpack:///./node_modules/core-js/modules/_flags.js","webpack:///./node_modules/core-js/modules/_regexp-exec.js","webpack:///./node_modules/core-js/modules/_regexp-exec-abstract.js","webpack:///./node_modules/core-js/modules/_classof.js","webpack:///./node_modules/core-js/modules/_fix-re-wks.js","webpack:///./node_modules/core-js/modules/es6.regexp.exec.js","webpack:///./node_modules/core-js/modules/es6.regexp.to-string.js","webpack:///./node_modules/core-js/modules/es6.regexp.flags.js"],"names":["anObject","sameValue","regExpExec","defined","SEARCH","$search","maybeCallNative","regexp","O","this","fn","undefined","call","RegExp","String","res","done","value","rx","S","previousLastIndex","lastIndex","result","index","module","exports","Object","is","x","y","ACTIVE","initialiseSection","section","nav","querySelector","track","accordionItems","querySelectorAll","navItems","instance","tns","arrowKeys","autoplay","center","items","container","controls","gutter","loop","mouseDrag","touch","autoHeight","events","on","info","buttons","forEach","button","classList","remove","activeButton","add","select","toString","accordionItem","content","calculateHeight","length","addEventListener","onButtonClick","event","preventDefault","target","HTMLElement","parseInt","dataset","goTo","HTMLSelectElement","window","location","hash","substring","test","navHeight","mainNav","document","getBoundingClientRect","height","subNav","getNavHeight","scrollTo","element","rect","scrollTop","scrollY","documentElement","top","getTopOffset","updateSliderFromHash","history","pushState","title","pathname","search","createHashChangeListener","currentMaxHeight","style","maxHeight","setProperty","whenDomReady","then","that","global","ignoreCase","multiline","unicode","sticky","re1","re2","regexpFlags","nativeExec","prototype","exec","nativeReplace","replace","patchedExec","UPDATES_LAST_INDEX_WRONG","NPCG_INCLUDED","str","reCopy","match","i","re","source","arguments","classof","builtinExec","R","TypeError","cof","TAG","ARG","it","T","B","key","e","tryGet","callee","redefine","hide","fails","wks","regexpExec","SPECIES","REPLACE_SUPPORTS_NAMED_GROUPS","groups","a","SPLIT_WORKS_WITH_OVERWRITTEN_EXEC","originalExec","apply","split","KEY","SYMBOL","DELEGATES_TO_SYMBOL","DELEGATES_TO_EXEC","execCalled","constructor","nativeRegExpMethod","fns","nativeMethod","arg2","forceStringMethod","strfn","rxfn","string","arg","proto","forced","$flags","DESCRIPTORS","$toString","define","flags","concat","name","f","configurable","get"],"mappings":"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","file":"29-6ff73270a233a52c61bc.js","sourcesContent":["'use strict';\n\nvar anObject = require('./_an-object');\nvar sameValue = require('./_same-value');\nvar regExpExec = require('./_regexp-exec-abstract');\n\n// @@search logic\nrequire('./_fix-re-wks')('search', 1, function (defined, SEARCH, $search, maybeCallNative) {\n return [\n // `String.prototype.search` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.search\n function search(regexp) {\n var O = defined(this);\n var fn = regexp == undefined ? undefined : regexp[SEARCH];\n return fn !== undefined ? fn.call(regexp, O) : new RegExp(regexp)[SEARCH](String(O));\n },\n // `RegExp.prototype[@@search]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@search\n function (regexp) {\n var res = maybeCallNative($search, regexp, this);\n if (res.done) return res.value;\n var rx = anObject(regexp);\n var S = String(this);\n var previousLastIndex = rx.lastIndex;\n if (!sameValue(previousLastIndex, 0)) rx.lastIndex = 0;\n var result = regExpExec(rx, S);\n if (!sameValue(rx.lastIndex, previousLastIndex)) rx.lastIndex = previousLastIndex;\n return result === null ? -1 : result.index;\n }\n ];\n});\n","// 7.2.9 SameValue(x, y)\nmodule.exports = Object.is || function is(x, y) {\n // eslint-disable-next-line no-self-compare\n return x === y ? x !== 0 || 1 / x === 1 / y : x != x && y != y;\n};\n","import whenDomReady from 'when-dom-ready';\r\nimport { tns } from 'tiny-slider/src/tiny-slider';\r\nconst ACTIVE = 'is-active';\r\nconst SINGLE = 'single-btn';\r\nfunction initialise() {\r\n const sections = document.querySelectorAll('.js-tabbed-section');\r\n sections.forEach(initialiseSection);\r\n}\r\nexport function initialiseSection(section) {\r\n const nav = section.querySelector('.js-tabbed-nav');\r\n const track = section.querySelector('.js-tabbed-track');\r\n const accordionItems = section.querySelectorAll('.js-accordion-item');\r\n const navItems = nav.querySelector('.tabbed-section__nav-list');\r\n if (!nav || !track) {\r\n return;\r\n }\r\n // Setup slider instance.\r\n const instance = tns({\r\n arrowKeys: false,\r\n autoplay: false,\r\n center: true,\r\n items: 1,\r\n container: track,\r\n controls: false,\r\n gutter: 160,\r\n loop: false,\r\n mouseDrag: false,\r\n nav: false,\r\n touch: false,\r\n autoHeight: true\r\n });\r\n instance.events.on('indexChanged', onIndexChanged);\r\n // Setup navigation buttons.\r\n const buttons = nav.querySelectorAll('button');\r\n if (buttons && buttons.length) {\r\n buttons.forEach((button) => {\r\n button.addEventListener('click', onButtonClick);\r\n });\r\n if (buttons.length === 1) {\r\n buttons.forEach((button) => {\r\n button.classList.add(SINGLE);\r\n });\r\n }\r\n }\r\n // Setup navigation select.\r\n const select = nav.querySelector('select');\r\n if (select) {\r\n select.addEventListener('change', onSelectChange);\r\n }\r\n /**\r\n * Handle navigation button click.\r\n * @param event\r\n */\r\n function onButtonClick(event) {\r\n event.preventDefault();\r\n if (event.target instanceof HTMLElement) {\r\n const target = parseInt(event.target.dataset.target || '0', 10);\r\n instance.goTo(target);\r\n }\r\n if (accordionItems) {\r\n accordionItems.forEach((accordionItem) => {\r\n accordionItem.classList.remove(ACTIVE);\r\n });\r\n }\r\n }\r\n /**\r\n * Handle navigation anchor/hash.\r\n */\r\n if (navItems) {\r\n window.addEventListener('hashchange', createHashChangeListener(instance, nav, navItems));\r\n }\r\n /**\r\n * Handle slider index change.\r\n */\r\n function onIndexChanged(info) {\r\n buttons.forEach((button) => button.classList.remove(ACTIVE));\r\n const activeButton = buttons[info.index];\r\n if (activeButton) {\r\n activeButton.classList.add(ACTIVE);\r\n }\r\n if (select) {\r\n select.value = info.index.toString(10);\r\n }\r\n if (accordionItems) {\r\n accordionItems.forEach((accordionItem) => {\r\n accordionItem.classList.remove(ACTIVE);\r\n });\r\n }\r\n if (accordionItems) {\r\n accordionItems.forEach((accordionItem) => {\r\n const content = accordionItem.querySelector('.js-accordion-content');\r\n if (!content) {\r\n return;\r\n }\r\n calculateHeight(content);\r\n });\r\n }\r\n }\r\n /**\r\n * Handle navigation select change.\r\n * @param event\r\n */\r\n function onSelectChange(event) {\r\n if (event.target instanceof HTMLSelectElement) {\r\n const target = parseInt(event.target.value, 10);\r\n instance.goTo(target);\r\n updateHash(target + 1); // Update hash when select is changed\r\n }\r\n }\r\n if (accordionItems) {\r\n accordionItems.forEach((accordionItem) => {\r\n const content = accordionItem.querySelector('.js-accordion-content');\r\n if (!content) {\r\n return;\r\n }\r\n calculateHeight(content);\r\n });\r\n }\r\n}\r\n/**\r\n * Update the hash in the URL.\r\n * @param index\r\n */\r\nfunction updateHash(index) {\r\n window.location.hash = index.toString();\r\n}\r\n/**\r\n * Remove the hash in the URL.\r\n */\r\nfunction removeHash() {\r\n history.pushState(\"\", document.title, window.location.pathname + window.location.search);\r\n}\r\n/**\r\n * Update the slider based on the current hash.\r\n */\r\nfunction updateSliderFromHash(instance, nav, navItems) {\r\n const hash = window.location.hash.substring(1); // Get the hash without the '#'\r\n if (hash && /^\\d+$/.test(hash)) { // Check if hash contains only digits\r\n const index = parseInt(hash, 10) - 1; // Convert hash to index (assuming hash is 1-based)\r\n if (instance) {\r\n instance.goTo(index); // Navigate to the slide\r\n }\r\n if (nav && navItems) {\r\n const navHeight = getNavHeight();\r\n window.scrollTo(0, getTopOffset(navItems) - navHeight - 32);\r\n }\r\n }\r\n}\r\n// Get reliable top position of given element (works even in Safari)\r\nfunction getTopOffset(element) {\r\n const rect = element.getBoundingClientRect();\r\n const scrollTop = window.scrollY || document.documentElement.scrollTop;\r\n return rect.top + scrollTop;\r\n}\r\nfunction getNavHeight() {\r\n const mainNav = document.querySelector('.js-header');\r\n let navHeight = 150;\r\n if (mainNav) {\r\n navHeight = mainNav.getBoundingClientRect().height;\r\n }\r\n const subNav = document.querySelector('.js-subnav');\r\n if (subNav) {\r\n navHeight = navHeight + subNav.getBoundingClientRect().height;\r\n }\r\n return navHeight;\r\n}\r\nfunction createHashChangeListener(instance, nav, navItems) {\r\n return function () {\r\n updateSliderFromHash(instance, nav, navItems);\r\n removeHash();\r\n };\r\n}\r\n/**\r\n * Calculate the max height of the specified element.\r\n * @param element\r\n */\r\nfunction calculateHeight(element) {\r\n // Cache current value.\r\n const currentMaxHeight = element.style.maxHeight;\r\n // Remove max height.\r\n element.style.maxHeight = 'none';\r\n // Get current height value.\r\n const { height } = element.getBoundingClientRect();\r\n element.style.setProperty('--height', `${height}px`);\r\n // Reset style back to cached value.\r\n element.style.maxHeight = currentMaxHeight;\r\n return height;\r\n}\r\nwhenDomReady().then(initialise);\r\n","'use strict';\n// 21.2.5.3 get RegExp.prototype.flags\nvar anObject = require('./_an-object');\nmodule.exports = function () {\n var that = anObject(this);\n var result = '';\n if (that.global) result += 'g';\n if (that.ignoreCase) result += 'i';\n if (that.multiline) result += 'm';\n if (that.unicode) result += 'u';\n if (that.sticky) result += 'y';\n return result;\n};\n","'use strict';\n\nvar regexpFlags = require('./_flags');\n\nvar nativeExec = RegExp.prototype.exec;\n// This always refers to the native implementation, because the\n// String#replace polyfill uses ./fix-regexp-well-known-symbol-logic.js,\n// which loads this file before patching the method.\nvar nativeReplace = String.prototype.replace;\n\nvar patchedExec = nativeExec;\n\nvar LAST_INDEX = 'lastIndex';\n\nvar UPDATES_LAST_INDEX_WRONG = (function () {\n var re1 = /a/,\n re2 = /b*/g;\n nativeExec.call(re1, 'a');\n nativeExec.call(re2, 'a');\n return re1[LAST_INDEX] !== 0 || re2[LAST_INDEX] !== 0;\n})();\n\n// nonparticipating capturing group, copied from es5-shim's String#split patch.\nvar NPCG_INCLUDED = /()??/.exec('')[1] !== undefined;\n\nvar PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED;\n\nif (PATCH) {\n patchedExec = function exec(str) {\n var re = this;\n var lastIndex, reCopy, match, i;\n\n if (NPCG_INCLUDED) {\n reCopy = new RegExp('^' + re.source + '$(?!\\\\s)', regexpFlags.call(re));\n }\n if (UPDATES_LAST_INDEX_WRONG) lastIndex = re[LAST_INDEX];\n\n match = nativeExec.call(re, str);\n\n if (UPDATES_LAST_INDEX_WRONG && match) {\n re[LAST_INDEX] = re.global ? match.index + match[0].length : lastIndex;\n }\n if (NPCG_INCLUDED && match && match.length > 1) {\n // Fix browsers whose `exec` methods don't consistently return `undefined`\n // for NPCG, like IE8. NOTE: This doesn' work for /(.?)?/\n // eslint-disable-next-line no-loop-func\n nativeReplace.call(match[0], reCopy, function () {\n for (i = 1; i < arguments.length - 2; i++) {\n if (arguments[i] === undefined) match[i] = undefined;\n }\n });\n }\n\n return match;\n };\n}\n\nmodule.exports = patchedExec;\n","'use strict';\n\nvar classof = require('./_classof');\nvar builtinExec = RegExp.prototype.exec;\n\n // `RegExpExec` abstract operation\n// https://tc39.github.io/ecma262/#sec-regexpexec\nmodule.exports = function (R, S) {\n var exec = R.exec;\n if (typeof exec === 'function') {\n var result = exec.call(R, S);\n if (typeof result !== 'object') {\n throw new TypeError('RegExp exec method returned something other than an Object or null');\n }\n return result;\n }\n if (classof(R) !== 'RegExp') {\n throw new TypeError('RegExp#exec called on incompatible receiver');\n }\n return builtinExec.call(R, S);\n};\n","// getting tag from 19.1.3.6 Object.prototype.toString()\nvar cof = require('./_cof');\nvar TAG = require('./_wks')('toStringTag');\n// ES3 wrong here\nvar ARG = cof(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (e) { /* empty */ }\n};\n\nmodule.exports = function (it) {\n var O, T, B;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T\n // builtinTag case\n : ARG ? cof(O)\n // ES3 arguments fallback\n : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;\n};\n","'use strict';\nrequire('./es6.regexp.exec');\nvar redefine = require('./_redefine');\nvar hide = require('./_hide');\nvar fails = require('./_fails');\nvar defined = require('./_defined');\nvar wks = require('./_wks');\nvar regexpExec = require('./_regexp-exec');\n\nvar SPECIES = wks('species');\n\nvar REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () {\n // #replace needs built-in support for named groups.\n // #match works fine because it just return the exec results, even if it has\n // a \"grops\" property.\n var re = /./;\n re.exec = function () {\n var result = [];\n result.groups = { a: '7' };\n return result;\n };\n return ''.replace(re, '$') !== '7';\n});\n\nvar SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = (function () {\n // Chrome 51 has a buggy \"split\" implementation when RegExp#exec !== nativeExec\n var re = /(?:)/;\n var originalExec = re.exec;\n re.exec = function () { return originalExec.apply(this, arguments); };\n var result = 'ab'.split(re);\n return result.length === 2 && result[0] === 'a' && result[1] === 'b';\n})();\n\nmodule.exports = function (KEY, length, exec) {\n var SYMBOL = wks(KEY);\n\n var DELEGATES_TO_SYMBOL = !fails(function () {\n // String methods call symbol-named RegEp methods\n var O = {};\n O[SYMBOL] = function () { return 7; };\n return ''[KEY](O) != 7;\n });\n\n var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL ? !fails(function () {\n // Symbol-named RegExp methods call .exec\n var execCalled = false;\n var re = /a/;\n re.exec = function () { execCalled = true; return null; };\n if (KEY === 'split') {\n // RegExp[@@split] doesn't call the regex's exec method, but first creates\n // a new one. We need to return the patched regex when creating the new one.\n re.constructor = {};\n re.constructor[SPECIES] = function () { return re; };\n }\n re[SYMBOL]('');\n return !execCalled;\n }) : undefined;\n\n if (\n !DELEGATES_TO_SYMBOL ||\n !DELEGATES_TO_EXEC ||\n (KEY === 'replace' && !REPLACE_SUPPORTS_NAMED_GROUPS) ||\n (KEY === 'split' && !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC)\n ) {\n var nativeRegExpMethod = /./[SYMBOL];\n var fns = exec(\n defined,\n SYMBOL,\n ''[KEY],\n function maybeCallNative(nativeMethod, regexp, str, arg2, forceStringMethod) {\n if (regexp.exec === regexpExec) {\n if (DELEGATES_TO_SYMBOL && !forceStringMethod) {\n // The native String method already delegates to @@method (this\n // polyfilled function), leasing to infinite recursion.\n // We avoid it by directly calling the native @@method method.\n return { done: true, value: nativeRegExpMethod.call(regexp, str, arg2) };\n }\n return { done: true, value: nativeMethod.call(str, regexp, arg2) };\n }\n return { done: false };\n }\n );\n var strfn = fns[0];\n var rxfn = fns[1];\n\n redefine(String.prototype, KEY, strfn);\n hide(RegExp.prototype, SYMBOL, length == 2\n // 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue)\n // 21.2.5.11 RegExp.prototype[@@split](string, limit)\n ? function (string, arg) { return rxfn.call(string, this, arg); }\n // 21.2.5.6 RegExp.prototype[@@match](string)\n // 21.2.5.9 RegExp.prototype[@@search](string)\n : function (string) { return rxfn.call(string, this); }\n );\n }\n};\n","'use strict';\nvar regexpExec = require('./_regexp-exec');\nrequire('./_export')({\n target: 'RegExp',\n proto: true,\n forced: regexpExec !== /./.exec\n}, {\n exec: regexpExec\n});\n","'use strict';\nrequire('./es6.regexp.flags');\nvar anObject = require('./_an-object');\nvar $flags = require('./_flags');\nvar DESCRIPTORS = require('./_descriptors');\nvar TO_STRING = 'toString';\nvar $toString = /./[TO_STRING];\n\nvar define = function (fn) {\n require('./_redefine')(RegExp.prototype, TO_STRING, fn, true);\n};\n\n// 21.2.5.14 RegExp.prototype.toString()\nif (require('./_fails')(function () { return $toString.call({ source: 'a', flags: 'b' }) != '/a/b'; })) {\n define(function toString() {\n var R = anObject(this);\n return '/'.concat(R.source, '/',\n 'flags' in R ? R.flags : !DESCRIPTORS && R instanceof RegExp ? $flags.call(R) : undefined);\n });\n// FF44- RegExp#toString has a wrong name\n} else if ($toString.name != TO_STRING) {\n define(function toString() {\n return $toString.call(this);\n });\n}\n","// 21.2.5.3 get RegExp.prototype.flags()\nif (require('./_descriptors') && /./g.flags != 'g') require('./_object-dp').f(RegExp.prototype, 'flags', {\n configurable: true,\n get: require('./_flags')\n});\n"],"sourceRoot":""}