{"version":3,"sources":["webpack://@verndale/toolkit/./node_modules/@verndale/roving-ux/dist/index.modern.js","webpack://@verndale/toolkit/./src/js/modules-utils.js","webpack://@verndale/toolkit/./src/js/modules/tabbed-content-reusable.js"],"names":[],"mappings":"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","file":"scripts/9336.688ccf1f159c8a14a3b1.js","sourcesContent":["const e=new Map,t=({element:t,target:d,callback:o})=>{const i=t.querySelectorAll(d||\":scope *\"),v=i[0];t.tabIndex=-1,i.forEach(e=>e.tabIndex=-1),v.tabIndex=0,e.set(t,{targets:i,active:v,index:0});const l=n=>{e.get(\"last_rover\")!=t&&(c(t,e.get(t).active),e.set(\"last_rover\",t))};t.addEventListener(\"focusin\",l);const x=e=>{switch(e.keyCode){case 39:case 40:e.preventDefault(),s(t,o);break;case 37:case 38:e.preventDefault(),r(t,o);break;case 36:e.preventDefault(),n(t,o);break;case 35:e.preventDefault(),a(t,o)}};t.addEventListener(\"keydown\",x);const g=n=>{t.removeEventListener(\"focusin\",l),t.removeEventListener(\"keydown\",x),t.removeEventListener(\"DOMNodeRemoved\",g),e.delete(t),i.forEach(e=>e.tabIndex=\"\")};t.addEventListener(\"DOMNodeRemovedFromDocument\",g)},n=(t,n)=>{const a=e.get(t);a.index=0;let s=a.targets[a.index];s&&c(t,s,n)},a=(t,n)=>{const a=e.get(t);a.index=a.targets.length-1;let s=a.targets[a.index];s&&c(t,s,n)},s=(t,n)=>{const a=e.get(t);a.index+=1,a.index>a.targets.length-1&&(a.index=a.targets.length-1);let s=a.targets[a.index];s&&c(t,s,n)},r=(t,n)=>{const a=e.get(t);a.index-=1,a.index<1&&(a.index=0);let s=a.targets[a.index];s&&c(t,s,n)},c=(t,n,a)=>{const s=e.get(t);s.active.tabIndex=-1,a&&a(n),s.active=n,s.active.tabIndex=0,s.active.focus()};export{t as rovingIndex};\n//# sourceMappingURL=index.modern.js.map\n","// eslint-disable-next-line import/no-cycle\nimport modules from './modules';\n\nexport function loadAsyncModules(element) {\n const asyncModules = element.querySelectorAll('[data-async-module]');\n asyncModules.forEach(async (module) => {\n const selectedModule = modules.find(\n (m) => m.name === module.dataset.asyncModule\n );\n const { default: LoadedModule } = await selectedModule.loader();\n new LoadedModule(module);\n module.removeAttribute('data-async-module');\n });\n}\n","// @ts-check\nimport { Component } from '@verndale/core';\nimport { rovingIndex } from '@verndale/roving-ux';\n// eslint-disable-next-line import/no-cycle\nimport { loadAsyncModules } from '../modules-utils';\n\nclass Module extends Component {\n constructor(el) {\n super(el);\n }\n\n setupDefaults() {\n this.dom = {\n $tabContainer: this.el.querySelector('.tabbed-content__tabs-list'),\n $tabs: this.el.querySelectorAll('.tabbed-content__tab'),\n $tabPanels: this.el.querySelectorAll('.tabbed-content__tabpanel'),\n $select: this.el.querySelector('.tabbed-content__tabs-select'),\n $selectOptions: this.el\n .querySelector('.tabbed-content__tabs-select')\n .querySelectorAll('option')\n };\n\n this.activateTab(this.dom.$tabs[0].id);\n this.setRovings();\n }\n\n addListeners() {\n this.dom.$tabs.forEach((tab) =>\n tab.addEventListener('click', (e) => {\n this.activateTab(e.currentTarget.id);\n })\n );\n\n this.dom.$select.addEventListener('change', (e) => {\n this.activateTab(e.target.value);\n });\n }\n\n activateTab(tabID) {\n const activeTab = [...this.dom.$tabs].find((tab) => tab.id === tabID);\n const controls = activeTab.getAttribute('aria-controls');\n\n [...this.dom.$selectOptions].forEach((option) => {\n if (option.value === tabID) {\n option.selected = true;\n }\n });\n\n // Deactivate all other tabs\n this.deactivateTabs();\n\n activeTab.setAttribute('aria-selected', true);\n\n const activePanel = [...this.dom.$tabPanels].find(\n (panel) => panel.id === controls\n );\n\n activePanel.hidden = false;\n loadAsyncModules(activePanel);\n }\n\n deactivateTabs() {\n this.dom.$tabs.forEach((tab) => tab.setAttribute('aria-selected', false));\n\n this.dom.$tabPanels.forEach((panel) => {\n panel.hidden = true;\n });\n }\n\n setRovings() {\n rovingIndex({\n element: this.dom.$tabContainer,\n target: '.tabbed-content__tab',\n callback: (el) => {\n this.activateTab(el.id);\n }\n });\n }\n}\n\nexport default Module;\n"],"sourceRoot":""}