{"version":3,"sources":["components/product/detail/variants/hashSelect/hash-select.js"],"names":["HashSelect","Component","constructor","el","default","dataset","addEventListeners","changeVariant","variantId","selectedVariant","window","variantData","find","variant","id","undefined","EventBus","getInstance","dispatchEvent","onDocumentReady","location","hash","substring","onProductVariantChanged","detail","document","addEventListener","e"],"mappings":"aAAA,KAAMA,CAAAA,UAAN,QAAyBC,CAAAA,SAAU,CAC/BC,WAAW,CAACC,EAAD,CAAK,CACZ,MAAMA,EAAN,EACA,KAAKC,OAAL,CAAeD,EAAE,CAACE,OAAH,CAAWD,OAA1B,CACA,KAAKE,iBAAL,EACH,CAEDC,aAAa,CAACC,SAAD,CAAY,CACrB,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,CAC/B,MAAO,MACV,CACDC,QAAQ,CAACC,WAAT,GAAuBC,aAAvB,CAAqC,uBAArC,CAA8DT,eAA9D,EAEA,MAAO,KACV,CAEDU,eAAe,EAAG,CACd,GAAIT,MAAM,CAACU,QAAP,CAAgBC,IAAhB,EAAwB,KAAKd,aAAL,CAAmBG,MAAM,CAACU,QAAP,CAAgBC,IAAhB,CAAqBC,SAArB,CAA+B,CAA/B,CAAnB,CAA5B,CAAmF,CAC/E,MACH,CACD,KAAKf,aAAL,CAAmB,KAAKH,OAAxB,GAAoC,KAAKG,aAAL,CAAmBI,WAAW,CAAC,CAAD,CAAX,CAAeG,EAAlC,CACvC,CAEDS,uBAAuB,CAAC,CAACC,MAAM,CAAEX,OAAT,CAAD,CAAoB,CACvCH,MAAM,CAACU,QAAP,CAAgBC,IAAhB,CAAuB,IAAMR,OAAO,CAACC,EACxC,CAEDR,iBAAiB,EAAG,CAChBmB,QAAQ,CAACC,gBAAT,CAA0B,kBAA1B,CAA8C,IAAM,KAAKP,eAAL,EAApD,EACAH,QAAQ,CAACC,WAAT,GAAuBS,gBAAvB,CAAwC,uBAAxC,CAAkEC,CAAD,EAAO,KAAKJ,uBAAL,CAA6BI,CAA7B,CAAxE,CACH,CA/B8B","sourcesContent":["class HashSelect extends Component {\n constructor(el) {\n super(el);\n this.default = el.dataset.default;\n this.addEventListeners();\n }\n\n changeVariant(variantId) {\n const selectedVariant = window.variantData.find(variant => variant.id === +variantId);\n if (selectedVariant === undefined) {\n return false;\n }\n EventBus.getInstance().dispatchEvent('productVariantChanged', selectedVariant);\n\n return true;\n }\n\n onDocumentReady() {\n if (window.location.hash && this.changeVariant(window.location.hash.substring(1))) {\n return;\n }\n this.changeVariant(this.default) || this.changeVariant(variantData[0].id);\n }\n\n onProductVariantChanged({detail: variant}) {\n window.location.hash = '#' + variant.id;\n }\n\n addEventListeners() {\n document.addEventListener('DOMContentLoaded', () => this.onDocumentReady());\n EventBus.getInstance().addEventListener('productVariantChanged', (e) => this.onProductVariantChanged(e));\n }\n}\n"],"file":"hash-select.min.js"}