{"version":3,"file":"product-finder.83fc43.js","mappings":"uFAKAA,OAAOC,UAAUC,OAAM,SAACC,GACpB,IAAMC,EAAOC,OAAOC,cAAcC,kBAE5BC,EAAUL,EAAE,sBAGlB,SAASM,EAAaC,EAAKC,EAAkBC,EAAOC,GAEhD,GADAF,EAAiBG,KAAK,UAAUC,KAAK,YAAY,GAAOC,OAC5C,IAARN,EAAJ,CAGA,IAAMO,EAAc,GAGpBd,EAAEe,KAAKd,GAAM,SAACe,EAAGC,IACwB,IAAjCA,EAAQR,GAAOS,QAAQX,IACvBP,EAAEe,KAAKE,EAAQP,IAAa,SAACS,EAAIC,IACI,IAA7BN,EAAYI,QAAQE,IACpBN,EAAYO,KAAKD,EAEzB,GAER,IAGApB,EAAE,SAAUQ,GAAkBO,MAAK,SAACC,EAAGM,GACnC,IAAMC,EAAQvB,EAAEsB,GACVE,EAAQC,SAASF,EAAMhB,MAAO,IAChCiB,IAAyC,IAAhCV,EAAYI,QAAQM,IAC7BD,EAAMX,KAAK,YAAY,GAAMc,MAErC,GArBA,CAsBJ,CAIA,IAAMC,EAActB,EACfM,KAAK,mBACLiB,GAAG,UAAU,WAGVtB,EAFYmB,SAASE,EAAYpB,MAAO,IAEtBsB,EAAc,QAAS,QAC7C,IACCtB,IAAI,GACHsB,EAAexB,EAChBM,KAAK,oBACLiB,GAAG,UAAU,WAEVtB,EADYmB,SAASI,EAAatB,MAAO,IACvBoB,EAAa,QAAS,QAC5C,IACCpB,IAAI,GAGTP,EAAE,iBAAiB4B,GAAG,SAAS,WAC3B,IAAME,EAAO,GACTC,EAAOJ,EAAYhB,KAAK,aAAaV,KAAK,QAC1C8B,GACAD,EAAKT,KAAKU,IAEdA,EAAOF,EAAalB,KAAK,aAAaV,KAAK,UAEvC6B,EAAKT,KAAKU,GAGd,IAAIC,EAAOhC,EAAEiC,MAAMrB,KAAK,QAOxB,OANIkB,EAAKI,QAAU,IACfF,GAAQ,GAAJG,OAAOC,kBAAkBC,iBAAgB,KAAAF,OAAIL,EAAKQ,OAAOC,KAAK,KAAI,MAG1ErC,OAAOsC,SAASR,KAAOA,GAEhB,CACX,GACJ,G","sources":["webpack://clorox-intl/./js/src/components/modules/product-finder.js"],"sourcesContent":["/*\n * product-finder.js - code for product finder\n * currently on first page\n */\n\njQuery(document).ready(($) => {\n const data = window.CLOROX_GLOBAL.ProductFinderData;\n\n const $finder = $('.js-product-finder');\n\n // fn to update other select when item selected\n function updateSelect(val, $controlToUpdate, field, otherfield) {\n $controlToUpdate.find('option').attr('disabled', false).show();\n if (val === 0) {\n return;\n }\n const updateArray = [];\n\n // find values to allow in otehr select\n $.each(data, (i, product) => {\n if (product[field].indexOf(val) !== -1) {\n $.each(product[otherfield], (i2, id) => {\n if (updateArray.indexOf(id) === -1) {\n updateArray.push(id);\n }\n });\n }\n });\n\n // actually update control\n $('option', $controlToUpdate).each((i, el) => {\n const $this = $(el);\n const value = parseInt($this.val(), 10);\n if (value && updateArray.indexOf(value) === -1) {\n $this.attr('disabled', true).hide();\n }\n });\n }\n\n // select handling\n // update other select when change is made\n const $selectType = $finder\n .find('.js-select-type')\n .on('change', () => {\n const val = parseInt($selectType.val(), 10);\n // eslint-disable-next-line no-use-before-define\n updateSelect(val, $selectWhere, 'types', 'where');\n })\n .val(0);\n const $selectWhere = $finder\n .find('.js-select-where')\n .on('change', () => {\n const val = parseInt($selectWhere.val(), 10);\n updateSelect(val, $selectType, 'where', 'types');\n })\n .val(0);\n\n // go to products page showing selected cats\n $('.js-go-button').on('click', function onClick() {\n const cats = [];\n let slug = $selectType.find(':selected').data('slug');\n if (slug) {\n cats.push(slug);\n }\n slug = $selectWhere.find(':selected').data('slug');\n if (slug) {\n cats.push(slug);\n }\n\n let href = $(this).attr('href');\n if (cats.length >= 1) {\n href += `${translatedStrings.product_category}/${cats.sort().join('/')}/`;\n }\n\n window.location.href = href;\n\n return false;\n });\n});\n"],"names":["jQuery","document","ready","$","data","window","CLOROX_GLOBAL","ProductFinderData","$finder","updateSelect","val","$controlToUpdate","field","otherfield","find","attr","show","updateArray","each","i","product","indexOf","i2","id","push","el","$this","value","parseInt","hide","$selectType","on","$selectWhere","cats","slug","href","this","length","concat","translatedStrings","product_category","sort","join","location"],"sourceRoot":""}