{"version":3,"file":"script.min.js","sources":["../../../../node_modules/@babel/runtime/helpers/esm/classCallCheck.js","../../../../node_modules/@babel/runtime/helpers/esm/createClass.js","../../../../block-editor/blocks/trilateral-tabs/script.js"],"sourcesContent":["export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}","function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nexport default function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}","class TrilateralTabs {\n\n\tconstructor(node, config = {}) {\n\t\tthis.index = -1;\n\t\tthis.node = node;\n\n\t\tthis.config = Object.assign({\n\t\t\tcontentsActiveClass: 'trilateral-tabs__tab--active',\n\t\t\tcontentsClass : 'trilateral-tabs__tab',\n\t\t\tinteractiveClass : 'trilateral-tabs--interactive',\n\t\t\tnavClass : 'trilateral-tabs__nav',\n\t\t\tnavActiveClass : 'trilateral-tabs__nav--active',\n\t\t\tnavItemClass : 'trilateral-tabs__nav-item',\n\t\t\tnavItemActiveClass : 'trilateral-tabs__nav-item--active',\n\t\t\tnavLinkClass : 'trilateral-tabs__nav-link',\n\t\t\tcurrentItemClass : 'trilateral-tabs__nav-current',\n\t\t}, config);\n\n\t\tif (!this.node || this.node.classList.contains(this.config.interactiveClass)) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.hashMap = {};\n\n\t\tthis.nav = this.node.querySelector(`.${this.config.navClass}`);\n\t\tconst navItems = Array.from(this.node.querySelectorAll(`.${this.config.navItemClass}`));\n\t\tconst navLinks = Array.from(this.node.querySelectorAll(`.${this.config.navLinkClass}`));\n\n\t\tthis.currentItem = this.node.querySelector(`.${this.config.currentItemClass}`);\n\n\t\tif ( this.currentItem && this.nav ) {\n\t\t\tthis.currentItemText = this.currentItem.querySelector('span');\n\n\t\t\tthis.currentItem.addEventListener( 'click', () => {\n\t\t\t\tthis.nav.classList.toggle( this.config.navActiveClass );\n\t\t\t} );\n\t\t}\n\n\t\tthis.tabs = Array.from(this.node.querySelectorAll(`.${this.config.contentsClass}`)).map((content, index) => {\n\t\t\tconst link = navLinks[index];\n\t\t\tconst navItem = navItems[index];\n\t\t\tconst hash = link.getAttribute('href').replace(/^#/, '');\n\n\t\t\tcontent.setAttribute('role', 'tabpanel');\n\t\t\tcontent.setAttribute('tabindex', -1);\n\n\t\t\tthis.hashMap[hash] = index;\n\n\t\t\treturn {\n\t\t\t\topened: false,\n\t\t\t\tcontent,\n\t\t\t\thash,\n\t\t\t\tlink,\n\t\t\t\tnavItem,\n\t\t\t}\n\t\t});\n\n\t\tthis.nav.addEventListener('click', (e) => {\n\t\t\tlet target = e.target;\n\n\t\t\twhile (target && target !== this.nav) {\n\t\t\t\tif (target.classList.contains(this.config.navLinkClass) && target.hash) {\n\t\t\t\t\te.preventDefault();\n\t\t\t\t\tthis.nav.classList.remove( this.config.navActiveClass );\n\t\t\t\t\tthis.goToHash(target.hash);\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\ttarget = target.parentNode;\n\t\t\t}\n\t\t});\n\n\t\tif (window.location.hash) {\n\t\t\tthis.goToHash(window.location.hash, false);\n\t\t}\n\n\t\twindow.addEventListener('hashchange', () => this.goToHash(window.location.hash));\n\t\twindow.addEventListener('popstate', () => this.goToHash(window.location.hash));\n\n\t\tif (this.index === -1) {\n\t\t\tthis.goTo(0, false);\n\t\t}\n\n\t\tthis.node.classList.add(this.config.interactiveClass);\n\t}\n\n\tgoToHash(hash, history = true) {\n\t\thash = hash.replace(/^#/, '');\n\n\t\tif (this.hashMap[hash] > -1) {\n\t\t\tthis.goTo(this.hashMap[hash], history);\n\t\t}\n\t}\n\n\tgoTo(index, history = true) {\n\t\tif (this.index > -1) {\n\t\t\tif (this.tabs[this.index].navItem) {\n\t\t\t\tthis.tabs[this.index].navItem.classList.remove(this.config.navItemActiveClass);\n\t\t\t}\n\n\t\t\tthis.tabs[this.index].content.classList.remove(this.config.contentsActiveClass);\n\t\t\tthis.tabs[this.index].content.setAttribute('tabindex', '-1');\n\t\t\tthis.tabs[this.index].content.removeAttribute('aria-selected');\n\t\t}\n\n\t\tthis.index = index;\n\n\t\tif (!this.tabs[this.index]) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (this.tabs[this.index].navItem) {\n\t\t\tthis.tabs[this.index].navItem.classList.add(this.config.navItemActiveClass);\n\t\t}\n\n\t\tthis.tabs[this.index].content.classList.add(this.config.contentsActiveClass);\n\t\tthis.tabs[this.index].content.setAttribute('aria-selected', 'true');\n\t\tthis.tabs[this.index].content.removeAttribute('tabindex', '-1');\n\t\tthis.tabs[this.index].content.focus();\n\n\t\tif ( history && window.location.hash !== `#${this.tabs[this.index].hash}`) {\n\t\t\twindow.history.replaceState( '', '', `#${this.tabs[this.index].hash}` );\n\t\t}\n\n\t\tif ( this.currentItemText ) {\n\t\t\tthis.currentItemText.innerText = this.tabs[this.index].link.innerText.trim();\n\t\t}\n\n\t\twindow.dispatchEvent(new CustomEvent('resize'));\n\t}\n\n\topen(index, history) {\n\t\tthis.tabs[index].opened = true;\n\t\tthis.tabs[index].content.classList.add(this.config.contentsOpenClass);\n\t\tthis.goTo(index, history);\n\t}\n\n\tclose(index) {\n\t\tthis.tabs[index].opened = false;\n\t\tthis.tabs[index].content.classList.remove(this.config.contentsOpenClass);\n\t}\n\n\ttoggle(index) {\n\t\treturn this.tabs[index].opened ? this.close(index) : this.open(index);\n\t}\n\n}\n\nTrilateralTabs.instances = Array.from(document.querySelectorAll('.trilateral-tabs')).map(n => new TrilateralTabs(n));\n\nexport default TrilateralTabs;\n"],"names":["_classCallCheck","instance","Constructor","TypeError","_defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","key","TrilateralTabs","node","config","index","assign","contentsActiveClass","contentsClass","interactiveClass","navClass","navActiveClass","navItemClass","navItemActiveClass","navLinkClass","currentItemClass","this","classList","contains","hashMap","nav","querySelector","navItems","Array","from","querySelectorAll","navLinks","currentItem","currentItemText","addEventListener","_this","toggle","tabs","map","content","link","navItem","hash","getAttribute","replace","setAttribute","opened","e","preventDefault","remove","goToHash","parentNode","window","location","goTo","add","protoProps","staticProps","history","removeAttribute","focus","replaceState","innerText","trim","dispatchEvent","CustomEvent","contentsOpenClass","close","open","prototype","instances","document","n"],"mappings":"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"}