{"version":3,"sources":["webpack:///./assets/javascripts/modules/components/mixins/AccordionMixinComponent.js","webpack:///./assets/javascripts/modules/components/SeoTextComponent.js"],"names":["AccordionMixinComponent","elem","_classCallCheck","this","_this","_possibleConstructorReturn","__proto__","Object","getPrototypeOf","call","collapse","bind","expand","toggle","isExpanded","Component","expanded","$component","classList","remove","CSS","emit","$customEvents","ACCORDION","add","contains","SeoTextComponent","accordion","body","cta","iconOpen","iconClose","dom","querySelector","SELECTORS","_this2","addEventListener","readDOM","bindEvents"],"mappings":"4WAEqBA,cAOnB,SAAAA,EAAYC,gGAAMC,CAAAC,KAAAH,GAAA,IAAAI,mKAAAC,CAAAF,MAAAH,EAAAM,WAAAC,OAAAC,eAAAR,IAAAS,KAAAN,KACVF,IADU,OAEhBG,EAAKM,SAAWN,EAAKM,SAASC,KAAdP,GAChBA,EAAKQ,OAASR,EAAKQ,OAAOD,KAAZP,GACdA,EAAKS,OAAST,EAAKS,OAAOF,KAAZP,GACdA,EAAKU,WAAaV,EAAKU,WAAWH,KAAhBP,GALFA,qUAPiCW,uCAEjD,OACEC,SAAU,0FAiBZb,KAAKc,WAAWC,UAAUC,OAAOhB,KAAKiB,IAAIJ,UAC1Cb,KAAKkB,KAAKlB,KAAKmB,cAAcC,UAAUb,2CAIvCP,KAAKc,WAAWC,UAAUM,IAAIrB,KAAKiB,IAAIJ,UACvCb,KAAKkB,KAAKlB,KAAKmB,cAAcC,UAAUX,6CAIvC,OAAOT,KAAKc,WAAWC,UAAUO,SAAStB,KAAKiB,IAAIJ,2CAI/Cb,KAAKW,aACPX,KAAKO,WAELP,KAAKS,kBArCUZ,oUCCA0B,cAUjB,SAAAA,EAAYzB,gGAAMC,CAAAC,KAAAuB,GAAA,IAAAtB,mKAAAC,CAAAF,MAAAuB,EAAApB,WAAAC,OAAAC,eAAAkB,IAAAjB,KAAAN,KACVF,IADU,OAEhBG,EAAKuB,UAAY,IAAI3B,UAAwBC,GAF7BG,qUAVwBW,6CAExC,OACEa,KAAM,cACNC,IAAK,aACLC,SAAU,yBACVC,UAAW,oEAUb5B,KAAK6B,KACHJ,KAAMzB,KAAKc,WAAWgB,cAAc9B,KAAK+B,UAAUN,MACnDC,IAAK1B,KAAKc,WAAWgB,cAAc9B,KAAK+B,UAAUL,KAClDC,SAAU3B,KAAKc,WAAWgB,cAAc9B,KAAK+B,UAAUJ,UACvDC,UAAW5B,KAAKc,WAAWgB,cAAc9B,KAAK+B,UAAUH,iDAI/C,IAAAI,EAAAhC,KACXA,KAAK6B,IAAIH,IAAIO,iBAAiB,QAAS,WACrCD,EAAKR,UAAUd,4CAKjBV,KAAKkC,UACLlC,KAAKmC,sBAhCUZ","file":"component-SeoTextComponent.chunks.js","sourcesContent":["import Component from '../../abstracts/Component';\n\nexport default class AccordionMixinComponent extends Component {\n get CSS() {\n return {\n expanded: '--expanded'\n };\n }\n\n constructor(elem) {\n super(elem);\n this.collapse = this.collapse.bind(this);\n this.expand = this.expand.bind(this);\n this.toggle = this.toggle.bind(this);\n this.isExpanded = this.isExpanded.bind(this);\n }\n\n render() {\n }\n\n // API\n collapse() {\n this.$component.classList.remove(this.CSS.expanded);\n this.emit(this.$customEvents.ACCORDION.collapse);\n }\n\n expand() {\n this.$component.classList.add(this.CSS.expanded);\n this.emit(this.$customEvents.ACCORDION.expand);\n }\n\n isExpanded() {\n return this.$component.classList.contains(this.CSS.expanded);\n }\n\n toggle() {\n if (this.isExpanded()) {\n this.collapse();\n } else {\n this.expand();\n }\n }\n}\n","import Component from '../abstracts/Component';\nimport AccordionMixinComponent from './mixins/AccordionMixinComponent';\n\nexport default class SeoTextComponent extends Component {\n get SELECTORS() {\n return {\n body: '[data-body]',\n cta: '[data-cta]',\n iconOpen: '[data-cta-icon=\"open\"]',\n iconClose: '[data-cta-icon=\"close\"]',\n }\n }\n\n constructor(elem) {\n super(elem);\n this.accordion = new AccordionMixinComponent(elem);\n }\n\n readDOM() {\n this.dom = {\n body: this.$component.querySelector(this.SELECTORS.body),\n cta: this.$component.querySelector(this.SELECTORS.cta),\n iconOpen: this.$component.querySelector(this.SELECTORS.iconOpen),\n iconClose: this.$component.querySelector(this.SELECTORS.iconClose),\n }\n }\n\n bindEvents() {\n this.dom.cta.addEventListener('click', () => {\n this.accordion.toggle();\n });\n }\n\n render() {\n this.readDOM();\n this.bindEvents();\n }\n}\n\n"],"sourceRoot":""}