{"version":3,"sources":["webpack://@verndale/toolkit/./node_modules/@verndale/roving-ux/dist/index.modern.js","webpack://@verndale/toolkit/./src/js/components/TabPanel.js"],"names":[],"mappings":"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","file":"scripts/7297.eda1e19217060b6e816f.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","import { Component } from '@verndale/core';\nimport { rovingIndex } from '@verndale/roving-ux';\n\nclass Module extends Component {\n setupDefaults() {\n this.dom = {\n tabs: Array.from(this.el.querySelectorAll('[role=\"tab\"]')),\n tablist: this.el,\n tabContent: this.el.querySelectorAll('.tab-panel__content'),\n select: this.el.querySelector('.tab-panel__select .field__select'),\n buttonsContainer: this.el.querySelector('.tab-panel__buttons')\n };\n\n const rovingIndexContainer = this.el.closest('.library-search')\n ? this.dom.buttonsContainer\n : this.el;\n\n rovingIndex({\n element: rovingIndexContainer,\n target: '.tab-panel__tab-btn'\n });\n\n this.isInit = true;\n\n this.initial();\n }\n\n addListeners() {\n this.dom.tablist.addEventListener('click', e => this.handleClick(e));\n this.dom.select.addEventListener('change', e => this.handleChange(e));\n }\n\n initial() {\n this.dom.select.innerHTML = '';\n const selectOptions = this.dom.select.cloneNode(true);\n this.dom.tabs.forEach(tab => {\n selectOptions.innerHTML += ``;\n });\n this.dom.select.innerHTML = selectOptions.innerHTML;\n this.dom.options = this.dom.select.querySelectorAll('option');\n\n this.activateTab(0);\n this.activeTabId = this.dom.tabs[0].getAttribute('id');\n }\n\n tabChange(selectedId) {\n if (selectedId !== this.activeTabId) {\n this.deactivateTab(\n this.dom.tabs.findIndex(tab => tab.id === this.activeTabId)\n );\n this.activateTab(this.dom.tabs.findIndex(tab => tab.id === selectedId));\n this.activeTabId = selectedId;\n }\n }\n\n deactivateTab(tabIndex) {\n this.dom.tabs[tabIndex].classList.remove('tab-panel__tab-btn--selected');\n this.dom.tabs[tabIndex].removeAttribute('tabindex');\n this.dom.tabs[tabIndex].setAttribute('aria-selected', 'false');\n this.dom.tabContent[tabIndex].classList.remove(\n 'tab-panel__content--selected'\n );\n this.dom.options[tabIndex].selected = false;\n }\n\n activateTab(tabIndex) {\n this.dom.tabs[tabIndex].classList.add('tab-panel__tab-btn--selected');\n this.dom.tabs[tabIndex].setAttribute('tabindex', '-1');\n this.dom.tabs[tabIndex].setAttribute('aria-selected', 'true');\n this.dom.tabContent[tabIndex].classList.add('tab-panel__content--selected');\n this.dom.options[tabIndex].selected = true;\n\n if (!this.isInit) this.dom.tabs[tabIndex].focus();\n\n this.isInit = false;\n }\n\n handleClick(e) {\n if (e.target.classList.contains('tab-panel__tab-btn')) {\n this.tabChange(e.target.id);\n }\n }\n\n handleChange(e) {\n this.tabChange(e.target.value);\n }\n}\n\nexport default Module;\n"],"sourceRoot":""}