{"version":3,"sources":["webpack:///./assets/javascripts/modules/components/mixins/AccordionMixinComponent.js","webpack:///./assets/javascripts/modules/components/SizeTableComponent.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","SizeTableComponent","accordion","table","moreCta","shown","querySelector","SELECTORS","_this2","dom","dataset","openDefault","addEventListener","evt","SIZE_GUIDE","scrollToEndTable","mq","window","matchMedia","toggleMoreCta","matches","isOverflow","scrollWidth","clientWidth","scrollTo","top","left","behavior","_get","prototype","render","readDOM","bindEvents"],"mappings":"6WAEqBA,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,cAkBnB,SAAAA,EAAYzB,gGAAMC,CAAAC,KAAAuB,GAAA,IAAAtB,mKAAAC,CAAAF,MAAAuB,EAAApB,WAAAC,OAAAC,eAAAkB,IAAAjB,KAAAN,KACVF,IADU,OAEhBG,EAAKuB,UAAY,IAAI3B,UAAwBI,EAAKa,YAFlCb,qUAlB4BW,iDAE5C,MAAO,uDAGP,OACEF,OAAQ,gBACRe,MAAO,oBACPC,QAAS,+CAKX,OACEC,MAAO,oDAUT,OACEjB,OAAQV,KAAKc,WAAWc,cAAc5B,KAAK6B,UAAUnB,QACrDe,MAAOzB,KAAKc,WAAWc,cAAc5B,KAAK6B,UAAUJ,OACpDC,QAAS1B,KAAKc,WAAWc,cAAc5B,KAAK6B,UAAUH,+CAI7C,IAAAI,EAAA9B,KAC+B,QAAvCA,KAAK+B,IAAIrB,OAAOsB,QAAQC,aACzBjC,KAAKS,SAGPT,KAAK+B,IAAIrB,OAAOwB,iBAAiB,QAAS,SAAAC,GACxCL,EAAKZ,KAAKY,EAAKX,cAAciB,WAAW1B,UAG1CV,KAAK+B,IAAIL,QAAQQ,iBAAiB,QAAS,WACzCJ,EAAKO,qBAGP,IAAMC,EAAKC,OAAOC,WAAP,iCACXF,EAAGJ,iBAAiB,SAAU,kBAAMJ,EAAKW,cAAcH,KACnDA,EAAGI,SAAS1C,KAAKyC,cAAcH,2CAInC,IAAMA,EAAKC,OAAOC,WAAP,iCACLG,EAAa3C,KAAK+B,IAAIN,MAAMmB,YAAc5C,KAAK+B,IAAIN,MAAMoB,YAC/D7C,KAAK+B,IAAIL,QAAQX,UAAUL,OAAOV,KAAKiB,IAAIU,MACzCW,EAAGI,SAAW1C,KAAKW,cAAgBgC,8CAKrC3C,KAAK+B,IAAIN,MAAMqB,UACbC,IAAK,EAAGC,KAAMhD,KAAK+B,IAAIN,MAAMmB,YAAaK,SAAU,uSAKtDC,CAAA3B,EAAA4B,UAAAhD,WAAAC,OAAAC,eAAAkB,EAAA4B,WAAA,SAAAnD,MAAAM,KAAAN,MACAA,KAAKwB,UAAU4B,SAEfpD,KAAK+B,IAAM/B,KAAKqD,UAChBrD,KAAKsD,8CAKLtD,KAAKwB,UAAUf,SACfT,KAAKyC,mDAILzC,KAAKwB,UAAUjB,WACfP,KAAKyC,qDAIL,OAAOzC,KAAKwB,UAAUb,sBAnFLY","file":"component-SizeTableComponent.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 SizeTableComponent extends Component {\n get COMPONENTNAME() {\n return 'SizeTableComponent';\n }\n get SELECTORS() {\n return {\n toggle: '[data-toggle]',\n table: '[data-size-table]',\n moreCta: '[data-more-cta]',\n };\n }\n\n get CSS() {\n return {\n shown: '--shown',\n }\n }\n\n constructor(elem) {\n super(elem);\n this.accordion = new AccordionMixinComponent(this.$component);\n }\n\n readDOM() {\n return {\n toggle: this.$component.querySelector(this.SELECTORS.toggle),\n table: this.$component.querySelector(this.SELECTORS.table),\n moreCta: this.$component.querySelector(this.SELECTORS.moreCta),\n }\n }\n\n bindEvents() {\n if(this.dom.toggle.dataset.openDefault == \"open\") {\n this.expand();\n }\n\n this.dom.toggle.addEventListener('click', evt => {\n this.emit(this.$customEvents.SIZE_GUIDE.toggle);\n });\n\n this.dom.moreCta.addEventListener('click', () => {\n this.scrollToEndTable();\n });\n\n const mq = window.matchMedia(`screen and (max-width: 375px)`)\n mq.addEventListener('change', () => this.toggleMoreCta(mq));\n if (mq.matches) this.toggleMoreCta(mq);\n }\n\n toggleMoreCta() {\n const mq = window.matchMedia(`screen and (max-width: 375px)`)\n const isOverflow = this.dom.table.scrollWidth > this.dom.table.clientWidth;\n this.dom.moreCta.classList.toggle(this.CSS.shown,\n mq.matches && this.isExpanded() && isOverflow\n );\n }\n\n scrollToEndTable() {\n this.dom.table.scrollTo({\n top: 0, left: this.dom.table.scrollWidth, behavior: 'smooth',\n });\n }\n\n render() {\n super.render();\n this.accordion.render();\n\n this.dom = this.readDOM();\n this.bindEvents();\n }\n\n // API\n expand() {\n this.accordion.expand();\n this.toggleMoreCta();\n }\n\n collapse() {\n this.accordion.collapse();\n this.toggleMoreCta();\n }\n\n isExpanded() {\n return this.accordion.isExpanded();\n }\n}\n"],"sourceRoot":""}