{"version":3,"sources":["components/product/detail/variants/@common/product-detail-variants.js"],"names":["ProductDetailVariantsBase","Component","constructor","el","buttons","$findAll","addEventListeners","changeVariant","variantId","selectedVariant","window","variantData","find","variant","id","undefined","location","hash","button","classList","remove","dataset","add","EventBus","getInstance","dispatchEvent","onVariantChange","onDocumentReady","substring","slice","forEach","addEventListener","document"],"mappings":"aAAA,KAAMA,CAAAA,yBAAN,QAAwCC,CAAAA,SAAU,CACjDC,WAAW,CAACC,EAAD,CAAK,CACf,MAAMA,EAAN,EACA,KAAKC,OAAL,CAAe,KAAKC,QAAL,CAAc,mBAAd,CAAf,CACA,KAAKC,iBAAL,EACA,CAEDC,aAAa,CAACC,SAAD,CAAY,CACxB,KAAMC,CAAAA,eAAe,CAAGC,MAAM,CAACC,WAAP,CAAmBC,IAAnB,CAAwBC,OAAO,EAAIA,OAAO,CAACC,EAAR,GAAe,CAACN,SAAnD,CAAxB,CACA,GAAIC,eAAe,GAAKM,SAAxB,CAAmC,OAEnCL,MAAM,CAACM,QAAP,CAAgBC,IAAhB,CAAuB,IAAMT,SAA7B,CAEA,IAAK,KAAMU,CAAAA,MAAX,GAAqB,MAAKd,OAA1B,CAAmC,CAClCc,MAAM,CAACC,SAAP,CAAiBC,MAAjB,CAAwB,WAAxB,EACA,GAAIF,MAAM,CAACG,OAAP,CAAeb,SAAf,GAA6BA,SAAjC,CAA4CU,MAAM,CAACC,SAAP,CAAiBG,GAAjB,CAAqB,WAArB,CAC5C,CAEDC,QAAQ,CAACC,WAAT,GAAuBC,aAAvB,CAAqC,uBAArC,CAA8DhB,eAA9D,CACA,CAEDiB,eAAe,CAACvB,EAAD,CAAK,CACnB,KAAKI,aAAL,CAAmBJ,EAAE,CAACkB,OAAH,CAAWb,SAA9B,CACA,CAEDmB,eAAe,EAAG,CACjB,GAAIjB,MAAM,CAACM,QAAP,CAAgBC,IAApB,CAA0B,MAAO,MAAKV,aAAL,CAAmBG,MAAM,CAACM,QAAP,CAAgBC,IAAhB,CAAqBW,SAArB,CAA+B,CAA/B,CAAnB,CAAP,CAC1B,KAAKrB,aAAL,CAAmB,KAAKH,OAAL,CAAayB,KAAb,CAAmB,CAAnB,EAAsBR,OAAtB,CAA8Bb,SAAjD,CACA,CAEDF,iBAAiB,EAAG,CACnB,KAAKF,OAAL,CAAa0B,OAAb,CAAqBZ,MAAM,EAAIA,MAAM,CAACa,gBAAP,CAAwB,OAAxB,CAAiC,IAAM,KAAKL,eAAL,CAAqBR,MAArB,CAAvC,CAA/B,EACAc,QAAQ,CAACD,gBAAT,CAA0B,kBAA1B,CAA8C,IAAM,KAAKJ,eAAL,EAApD,CACA,CAjCgD","sourcesContent":["class ProductDetailVariantsBase extends Component {\r\n\tconstructor(el) {\r\n\t\tsuper(el);\r\n\t\tthis.buttons = this.$findAll('[data-variant-id]');\r\n\t\tthis.addEventListeners();\r\n\t}\r\n\r\n\tchangeVariant(variantId) {\r\n\t\tconst selectedVariant = window.variantData.find(variant => variant.id === +variantId)\r\n\t\tif (selectedVariant === undefined) return\r\n\r\n\t\twindow.location.hash = '#' + variantId\r\n\r\n\t\tfor (const button of this.buttons) {\r\n\t\t\tbutton.classList.remove('is-active')\r\n\t\t\tif (button.dataset.variantId === variantId) button.classList.add('is-active')\r\n\t\t}\r\n\r\n\t\tEventBus.getInstance().dispatchEvent('productVariantChanged', selectedVariant)\r\n\t}\r\n\r\n\tonVariantChange(el) {\r\n\t\tthis.changeVariant(el.dataset.variantId)\r\n\t}\r\n\r\n\tonDocumentReady() {\r\n\t\tif (window.location.hash) return this.changeVariant(window.location.hash.substring(1))\r\n\t\tthis.changeVariant(this.buttons.slice(1).dataset.variantId)\r\n\t}\r\n\r\n\taddEventListeners() {\r\n\t\tthis.buttons.forEach(button => button.addEventListener('click', () => this.onVariantChange(button)));\r\n\t\tdocument.addEventListener('DOMContentLoaded', () => this.onDocumentReady());\r\n\t}\r\n}\r\n"],"file":"product-detail-variants.min.js"}