{"version":3,"sources":["gravityForms.js"],"names":["$","document","ready","$regionsList","getElementsByClassName","$regionsProductsList","index","length","$regionListDD","querySelector","addEventListener","e","regionValue","options","selectedIndex","value","$productList","$productListDD","optIndex","getAttribute","classList","remove","add","$regionsListjq","$regionsListProductsSelectjq","$regionsListProductsChosenjq","each","activeSelected","eq","on","$dropDownWrap","addClass","removeClass","this","chosen","change","event","params","$dropDownWrapSelect","$dropDownWrapChosen","selected","val","trigger","show","hide"],"mappings":"AAGAA,EAAAC,UAAAC,MAAA,WAEA,MAAAC,aAAAF,SAAAG,uBAAA,yBACAC,qBAAAJ,SAAAG,uBAAA,kCAEA,GAAAD,aACA,IAAA,IAAAG,MAAA,EAAAA,MAAAH,aAAAI,OAAAD,QAAA,CACA,MACAE,cADAL,aAAAG,OACAG,cAAA,UAEAD,cAAAE,iBAAA,SAAAC,IACA,MAAAC,YAAAJ,cAAAK,QAAAL,cAAAM,eAAAC,MACAC,aAAAX,qBAAAC,OACAW,eAAAD,aAAAP,cAAA,UAEA,GAAAO,aAIA,GAAAJ,aACA,GAAAP,qBAAA,CACAY,eAAAH,cAAA,EACA,MAAAD,QAAAI,eAAAJ,QAEA,IAAA,IAAAK,SAAA,EAAAA,SAAAL,QAAAN,OAAAW,WACAL,QAAAK,UAAAC,aAAA,yBAAAP,YACAC,QAAAK,UAAAE,UAAAC,OAAA,UAEAR,QAAAK,UAAAE,UAAAE,IAAA,UAIAjB,qBAAAC,OAAAc,UAAAC,OAAA,gBAGAhB,qBAAAC,OAAAc,UAAAE,IAAA,YAOA,MAAAC,eAAAvB,EAAA,iCACAwB,6BAAAxB,EAAA,0CACAyB,6BAAAzB,EAAA,qDAEAuB,eAAAhB,QAAAkB,6BAAAlB,QACAgB,eAAAG,KAAA,SAAApB,OACA,IAAAqB,eAAA,EAGAH,6BAAAI,GAAAtB,OAAAuB,GAAA,0BAAA,WACA,MAAAC,cAAAL,6BAAAG,GAAAtB,OACAN,EAAA,KAAA8B,eAAAC,SAAA,UACA/B,EAAA,WAAA2B,eAAAG,eAAAE,YAAA,YAGAhC,EAAAiC,MAAAC,SAAAC,OAAA,SAAAC,MAAAC,QAEA,MAAAC,oBAAAd,6BAAAI,GAAAtB,OACAiC,oBAAAd,6BAAAG,GAAAtB,QACAqB,eAAAU,OAAAG,UACA,GAAA,KAAAb,gBACAW,oBAAAG,IAAA,IAAAC,QAAA,kBACAH,oBAAAI,QAEAJ,oBAAAK","file":"gravityForms.min.js","sourcesContent":["/**\n * Initialize Gravity Forms custom theme behaviors\n */\n$(document).ready(function() {\n\n const $regionsList = document.getElementsByClassName('taxonomy-regions-list');\n const $regionsProductsList = document.getElementsByClassName('taxonomy-regions-products-list');\n\n if ($regionsList) {\n for (let index = 0; index < $regionsList.length; index++) {\n const $regionList = $regionsList[index];\n const $regionListDD = $regionList.querySelector('select');\n\n $regionListDD.addEventListener('change', e => {\n const regionValue = $regionListDD.options[$regionListDD.selectedIndex].value;\n const $productList = $regionsProductsList[index];\n const $productListDD = $productList.querySelector('select');\n\n if (!$productList) {\n return;\n }\n\n if (regionValue) {\n if ($regionsProductsList) {\n $productListDD.selectedIndex = 0;\n const options = $productListDD.options;\n\n for (let optIndex = 1; optIndex < options.length; optIndex++) {\n if (options[optIndex].getAttribute('data-region-term-id') === regionValue) {\n options[optIndex].classList.remove('hidden');\n } else {\n options[optIndex].classList.add('hidden');\n }\n }\n\n $regionsProductsList[index].classList.remove('hidden');\n }\n } else {\n $regionsProductsList[index].classList.add('hidden');\n }\n });\n }\n }\n\n // Handle chosen-based taxonomy regions dropdowns\n const $regionsListjq = $('.taxonomy-regions-list select');\n const $regionsListProductsSelectjq = $('.taxonomy-regions-products-list select');\n const $regionsListProductsChosenjq = $('.taxonomy-regions-products-list .chosen-container');\n\n if ($regionsListjq.length && $regionsListProductsChosenjq.length) {\n $regionsListjq.each(function(index) {\n let activeSelected = 0;\n\n // Only show relevant products based on region terms\n $regionsListProductsSelectjq.eq(index).on('chosen:showing_dropdown', function() {\n const $dropDownWrap = $regionsListProductsChosenjq.eq(index);\n $('li', $dropDownWrap).addClass('hidden');\n $('.region-' + activeSelected, $dropDownWrap).removeClass('hidden');\n });\n\n $(this).chosen().change(function(event, params) {\n // $regionsListProductsSelectjq\n const $dropDownWrapSelect = $regionsListProductsSelectjq.eq(index);\n const $dropDownWrapChosen = $regionsListProductsChosenjq.eq(index);\n activeSelected = params.selected;\n if (activeSelected > 0 || activeSelected !== '') {\n $dropDownWrapSelect.val('').trigger('chosen:updated');\n $dropDownWrapChosen.show();\n } else {\n $dropDownWrapChosen.hide();\n }\n });\n });\n }\n});\n"]}