{"version":3,"sources":["webpack://[name]/./src/js/components/TabsComponent.js"],"names":["TabsComponent","_BaseComponent","props","_this","_classCallCheck","_callSuper","timeout","handleClick","selectTabByUrl","_inherits","_createClass","key","get","triggers","panels","active","visible","value","hash","window","location","currentTarget","document","querySelector","concat","split","this","$el","querySelectorAll","SELECTORS","handleTabs","_this2","clearTimeout","target","getAttribute","forEach","el","classList","remove","CLASSES","setAttribute","add","setTimeout","_this3","trigger","$on","e","preventDefault","BaseComponent"],"mappings":"keAAuD,IAElCA,EAAa,SAAAC,GAehC,SAAAD,EAAYE,GAAO,IAAAC,EAIK,OAJLC,IAAA,KAAAJ,IACjBG,EAAAE,EAAA,KAAAL,EAAA,CAAME,KACDI,QAAU,KACfH,EAAKI,cACLJ,EAAKK,iBAAiBL,EACvB,OAAAM,IAAAT,EAAAC,GAAAS,IAAAV,EAAA,EAAAW,IAAA,YAAAC,IAnBD,WACE,MAAO,CACLC,SAAU,oBACVC,OAAQ,mBAEX,CAAAH,IAAA,UAAAC,IAED,WACE,MAAO,CACLG,OAAQ,SACRC,QAAS,aAEZ,CAAAL,IAAA,iBAAAM,MASD,WACE,IAAQC,EAASC,OAAOC,SAAhBF,KACR,GAAIA,EAAM,CACR,IAAMG,EAAgBC,SAASC,cAAc,UAADC,OAAWN,EAAKO,MAAM,KAAK,GAAE,OACzE,GAAIJ,EAAe,CACjB,IAAMR,EAAWa,KAAKC,IAAIC,iBAAiBF,KAAKG,UAAUhB,UACpDC,EAASY,KAAKC,IAAIC,iBAAiBF,KAAKG,UAAUf,QACxDY,KAAKI,WAAWT,EAAeR,EAAUC,OAG9C,CAAAH,IAAA,aAAAM,MAED,SAAWI,EAAeR,EAAUC,GAAQ,IAAAiB,EAAA,KAC1CC,aAAaN,KAAKpB,SAClB,IACM2B,EADoBP,KAAKC,IAAIJ,cAAc,mBAADC,OAAoBH,EAAca,aAAa,QAAO,QAClER,KAAKC,IAAIJ,cAAcF,EAAca,aAAa,SAGjFD,IAILpB,EAASsB,SAAQ,SAAAC,GAAE,OAAIA,EAAGC,UAAUC,OAAOP,EAAKQ,QAAQxB,WACxDF,EAASsB,SAAQ,SAAAC,GAAE,OAAIA,EAAGI,aAAa,gBAAiB,YACxD1B,EAAOqB,SAAQ,SAAAC,GAAE,OAAIA,EAAGC,UAAUC,OAAOP,EAAKQ,QAAQxB,WACtDD,EAAOqB,SAAQ,SAAAC,GAAE,OAAIA,EAAGI,aAAa,cAAe,WAEpDnB,EAAcgB,UAAUI,IAAIf,KAAKa,QAAQxB,QACzCM,EAAcmB,aAAa,gBAAiB,QACxCP,IACFA,EAAOI,UAAUI,IAAIf,KAAKa,QAAQxB,QAClCkB,EAAOO,aAAa,cAAe,SAEnCd,KAAKpB,QAAUoC,YAAW,WACxBT,EAAOI,UAAUI,IAAIV,EAAKQ,QAAQvB,WACjC,SAGN,CAAAL,IAAA,cAAAM,MAED,WAAc,IAAA0B,EAAA,KACN9B,EAAWa,KAAKC,IAAIC,iBAAiBF,KAAKG,UAAUhB,UACpDC,EAASY,KAAKC,IAAIC,iBAAiBF,KAAKG,UAAUf,QACxDD,EAASsB,SAAQ,SAACS,GAChBD,EAAKE,IAAI,cAAc,SAACC,GACtBA,EAAEC,iBACFJ,EAAKb,WAAWgB,EAAEzB,cAAeR,EAAUC,KAC1C8B,UArEyB,C,OAASI","file":"js/component-TabsComponent-js.chunks.js","sourcesContent":["import BaseComponent from '../abstracts/BaseComponent';\n\nexport default class TabsComponent extends BaseComponent {\n get SELECTORS() {\n return {\n triggers: '.js-panel-trigger',\n panels: '.js-tab-panel'\n };\n }\n\n get CLASSES() {\n return {\n active: 'active',\n visible: 'visible'\n };\n }\n\n constructor(props) {\n super(props);\n this.timeout = null;\n this.handleClick();\n this.selectTabByUrl();\n }\n\n selectTabByUrl() {\n const { hash } = window.location;\n if (hash) {\n const currentTarget = document.querySelector(`[href=\"${hash.split('?')[0]}\"]`);\n if (currentTarget) {\n const triggers = this.$el.querySelectorAll(this.SELECTORS.triggers);\n const panels = this.$el.querySelectorAll(this.SELECTORS.panels);\n this.handleTabs(currentTarget, triggers, panels);\n }\n }\n }\n\n handleTabs(currentTarget, triggers, panels) {\n clearTimeout(this.timeout);\n const targetByAttribute = this.$el.querySelector(`[data-panel-id=\"${currentTarget.getAttribute('href')}\"]`);\n const target = targetByAttribute || this.$el.querySelector(currentTarget.getAttribute('href'));\n\n // PITTI20-609\n if (!target) {\n return;\n }\n\n triggers.forEach(el => el.classList.remove(this.CLASSES.active));\n triggers.forEach(el => el.setAttribute('aria-selected', 'false'));\n panels.forEach(el => el.classList.remove(this.CLASSES.active));\n panels.forEach(el => el.setAttribute('aria-hidden', 'true'));\n\n currentTarget.classList.add(this.CLASSES.active);\n currentTarget.setAttribute('aria-selected', 'true');\n if (target) {\n target.classList.add(this.CLASSES.active);\n target.setAttribute('aria-hidden', 'false');\n\n this.timeout = setTimeout(() => {\n target.classList.add(this.CLASSES.visible);\n }, 100);\n }\n\n }\n\n handleClick() {\n const triggers = this.$el.querySelectorAll(this.SELECTORS.triggers);\n const panels = this.$el.querySelectorAll(this.SELECTORS.panels);\n triggers.forEach((trigger) => {\n this.$on('click.tabs', (e) => {\n e.preventDefault();\n this.handleTabs(e.currentTarget, triggers, panels);\n }, trigger);\n });\n }\n}\n"],"sourceRoot":""}