{"version":3,"file":"gfec.js","names":["EC","$","cssClasses","selected","formById","formId","$forms","document","querySelectorAll","length","fluidEmbeds","forEach","embed","i","closest","box","getBoundingClientRect","w","hasAttribute","getAttribute","trim","parseFloat","width","aspectRatio","height","parentEl","parentNode","wrapper","createElement","classList","add","style","setProperty","toString","insertBefore","remove","appendChild","removeAttribute","$fieldChoices","$field","SelectedFields","$cards","$choice","querySelector","updatePriceDisplay","$price","$pfield","contains","id","substring","indexOf","fieldId","$pcard","$plabel","$pinput","getElementById","price","value","$selectedInput","selectedPrice","priceText","innerHTML","currency","toMoney","gform","applyFilters","currencyConfig","decimal_separator","decimals","decimalsIndex","decimalsText","replace","symbol_left","symbol_right","onInputChange","input","$thisLabel","$thisCard","toggle","checked","type","$otherCard","SetUpFields","currentPage","$form","$input","order","$container","$label","$card","$link","setAttribute","$button","addEventListener","e","preventDefault","currentTarget","$thisInput","jQuery","click","blur","console","log","clearTimeout","window","__ec_price_change","setTimeout","$productOptionECFields","doAction","elementIsVisible","el","offsetWidth","offsetHeight","getClientRects","ConditionalLogic","bind","gf_global","hasOwnProperty","Currency","structuredClone","gf_currency_config","symbol_padding","fields","isInit"],"sources":["gfec.js"],"sourcesContent":["const EC = {};\n(($) => {\n\n\tEC.cssClasses = {\n\t\t\"selected\": \"ec-selected\",\n\t}\n\n\tEC.formById = ( formId ) => {\n\t\tlet $forms = ( formId ) ? document.querySelectorAll(`#gform_${formId}`) : document.querySelectorAll('.gform_wrapper form');\n\t\t// WooCommerce Gravity Forms Product Add-Ons compatibility\n\t\tif ( !$forms.length && document.querySelectorAll('.gform_variation_wrapper').length ) {\n\t\t\t$forms = document.querySelectorAll('.gform_variation_wrapper');\n\t\t}\n\t\treturn $forms;\n\t};\n\n\tEC.fluidEmbeds = () => {\n\n\t\tdocument.querySelectorAll(\".ec-cmp-html iframe\").forEach((embed, i) => {\n\t\t\tif ( !embed.closest('.ec-fluid-wrapper') ) {\n\t\t\t\tlet box = embed.getBoundingClientRect();\n\n\t\t\t\tlet w = ( embed.hasAttribute('width') && embed.getAttribute('width').trim() !== \"\" ) ? parseFloat( embed.getAttribute('width') ) : box.width;\n\t\t\t\tlet h = ( embed.hasAttribute('height') && embed.getAttribute('height').trim() !== \"\" ) ? parseFloat( embed.getAttribute('height') ) : box.height;\n\n\t\t\t\tlet aspectRatio = h / w;\n\t\t\t\tlet parentEl = embed.parentNode;\n\n\t\t\t\tlet wrapper = document.createElement('div');\n\t\t\t\twrapper.classList.add('ec-fluid-wrapper');\n\t\t\t\twrapper.style.setProperty('--aspect-ratio', aspectRatio.toString());\n\t\t\t\tparentEl.insertBefore(wrapper, embed);\n\t\t\t\tembed.remove();\n\t\t\t\twrapper.appendChild(embed);\n\n\t\t\t\tembed.removeAttribute('width');\n\t\t\t\tembed.removeAttribute('height');\n\t\t\t}\n\t\t});\n\n\t};\n\n\tEC.$fieldChoices = ( $field ) => {\n\t\tif ( !$field ) {\n\t\t\treturn false;\n\t\t}\n\t\treturn $field.querySelectorAll('.ginput_container .gchoice:not(.gchoice_select_all)');\n\t};\n\n\tEC.SelectedFields = ( formId ) => {\n\t\tconst $fields = ( formId ) ? document.querySelectorAll(`#gform_${formId} .ec-field`) : document.querySelectorAll('.gform_wrapper form .ec-field');\n\t\t$fields.forEach( $field => {\n\t\t\tconst $cards = $field.querySelectorAll('.ec-card');\n\t\t\tEC.$fieldChoices($field).forEach(($choice, i) => {\n\t\t\t\tif ( $choice.querySelector('input:checked') ) {\n\t\t\t\t\t$cards[i].classList.add( EC.cssClasses.selected );\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t\tEC.fluidEmbeds();\n\t};\n\n\tEC.updatePriceDisplay = () => {\n\t\tdocument.querySelectorAll('.ec-price').forEach($price => {\n\t\t\tlet $pfield = $price.closest('.gfield');\n\t\t\tif ( $pfield.classList.contains('gfield--type-option') || $pfield.classList.contains('gfield--type-product') ) {\n\n\t\t\t\tlet formId = $pfield.closest('.gform_fields').id;\n\t\t\t\tformId = formId.substring(formId.indexOf('gform_fields_') + 'gform_fields_'.length);\n\n\t\t\t\tlet fieldId = $pfield.id;\n\t\t\t\tfieldId = fieldId.substring(fieldId.indexOf(`field_${formId}_`) + `field_${formId}_`.length);\n\n\t\t\t\tlet $pcard = $price.closest('.ec-card');\n\t\t\t\tlet $plabel = $pfield.querySelector(`.gchoice label#${$pcard.getAttribute('aria-labelledby')}`);\n\t\t\t\tlet $pinput = document.getElementById( $plabel.getAttribute('for') );\n\t\t\t\tlet price = ( $pinput.value.indexOf('|') !== -1 ) ? $pinput.value.substring( $pinput.value.indexOf('|') + 1 ) : '';\n\n\t\t\t\tlet $selectedInput = $pfield.querySelector(`.gchoice input:checked`);\n\t\t\t\tlet selectedPrice = ( $selectedInput && $selectedInput.value.indexOf('|') !== -1 ) ? $selectedInput.value.substring( $selectedInput.value.indexOf('|') + 1 ) : '';\n\n\t\t\t\tlet priceText = $pfield.classList.contains('gfield--type-product') ? selectedPrice : $pinput.closest('.gchoice').querySelector('.ginput_price').innerHTML;\n\n\t\t\t\tif ( typeof EC.currency !== 'undefined' ) {\n\t\t\t\t\tpriceText = EC.currency.toMoney(price, true);\n\n\t\t\t\t\tif ( gform.applyFilters('ec_use_currency_elements', true) === true ) {\n\t\t\t\t\t\tif ( EC.currencyConfig.decimal_separator && EC.currencyConfig.decimals ) {\n\t\t\t\t\t\t\tlet decimalsIndex = priceText.indexOf(EC.currencyConfig.decimal_separator);\n\t\t\t\t\t\t\tlet decimalsText = priceText.substring( decimalsIndex, decimalsIndex + (EC.currencyConfig.decimals + 1) );\n\t\t\t\t\t\t\tpriceText = priceText.replace(decimalsText, `${decimalsText}`);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (EC.currencyConfig.symbol_left) {\n\t\t\t\t\t\t\tpriceText = priceText.replace(EC.currencyConfig.symbol_left, `${EC.currencyConfig.symbol_left}`);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (EC.currencyConfig.symbol_right) {\n\t\t\t\t\t\t\tpriceText = priceText.replace(EC.currencyConfig.symbol_right, `${EC.currencyConfig.symbol_right}`);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tpriceText = gform.applyFilters('ec_choice_price', priceText, selectedPrice, price, formId, fieldId);\n\t\t\t\t$price.innerHTML = priceText ? priceText : \" \";\n\t\t\t}\n\t\t});\n\t};\n\n\tEC.onInputChange = (input) => {\n\t\tlet $thisLabel = document.querySelector(`label[for=\"${input.id}\"]`);\n\t\tlet $thisCard = input.closest('.gfield').querySelector(`.ec-card[aria-labelledby=\"${$thisLabel.id}\"]`);\n\t\tif ( $thisCard ) {\n\t\t\t$thisCard.classList.toggle( EC.cssClasses.selected, input.checked );\n\t\t}\n\t\tif ( input.type === \"radio\" && input.checked ) {\n\t\t\tinput.closest('.gfield').querySelectorAll(`.ec-card:not([aria-labelledby=\"${$thisLabel.id}\"])`).forEach($otherCard => {\n\t\t\t\t$otherCard.classList.remove( EC.cssClasses.selected );\n\t\t\t});\n\t\t}\n\t};\n\n\tEC.SetUpFields = ( formId, currentPage ) => {\n\n\t\tEC.formById( formId ).forEach( $form => {\n\n\t\t\t// move ec to before the ginput_container\n/*\n\t\t\t$form.querySelectorAll('.ec-cards-wrap').forEach($wrap => {\n\t\t\t\tlet $legend = $wrap.closest('.gfield').querySelector('.gfield_label');\n\t\t\t\t$wrap.remove();\n\t\t\t\t$legend.after($wrap);\n\t\t\t});\n*/\n\n\t\t\t// poll/quiz fields can have the order randomised, so we want to match that order\n\t\t\t$form.querySelectorAll('.ec-field.gfield--type-poll, .ec-field.gfield--type-quiz').forEach($field => {\n\t\t\t\t$field.querySelectorAll('.gchoice input').forEach(($input, i) => {\n\t\t\t\t\tlet $card = $field.querySelector(`.ec-card[for=\"${$input.id}\"]`);\n\t\t\t\t\t$card.style.order = ( i + 1 ).toString();\n\t\t\t\t});\n\t\t\t});\n\n\t\t\t$form.querySelectorAll('.ec-field .ginput_container').forEach($container => {\n\t\t\t\tif ( !$container.classList.contains('ec-sr') ) {\n\t\t\t\t\t$container.classList.add('ec-sr');\n\t\t\t\t}\n\t\t\t\t$container.querySelectorAll('label').forEach($label => {\n\t\t\t\t\t$label.classList.add('ec-sr');//ec-hide\n\t\t\t\t});\n\t\t\t});\n\n\t\t\t$form.querySelectorAll('.ec-field .ec-card').forEach(($card, i) => {\n\n\t\t\t\tif ( $card.classList.contains('ec-card-has-button') ) {\n\t\t\t\t\t/*\n\t\t\t\t\t$card.addEventListener('click', (e) => {\n\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t});\n\t\t\t\t\t*/\n\t\t\t\t\t$card.querySelectorAll('.ec-cmp-content a').forEach($link => {\n\t\t\t\t\t\t$link.setAttribute('target', '_blank');\n\t\t\t\t\t\t$link.setAttribute('rel', 'noopener noreferrer');\n\t\t\t\t\t\t/*\n\t\t\t\t\t\t$link.addEventListener('click', (e) => {\n\t\t\t\t\t\t\twindow.open(e.currentTarget.href);\n\t\t\t\t\t\t});\n\t\t\t\t\t\t*/\n\t\t\t\t\t});\n\t\t\t\t\t$card.querySelectorAll('.ec-button').forEach($button => {\n\t\t\t\t\t\t$button.addEventListener('click', (e) => {\n\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\tlet $thisCard = e.currentTarget.closest('.ec-card');\n\t\t\t\t\t\t\t//let $thisInput = $thisCard.closest('.gfield').querySelector(`.gchoice input#${$thisCard.getAttribute('for')}`);\n\t\t\t\t\t\t\tlet $thisLabel = $thisCard.closest('.gfield').querySelector(`.gchoice label#${$thisCard.getAttribute('aria-labelledby')}`);\n\t\t\t\t\t\t\tlet $thisInput = document.getElementById( $thisLabel.getAttribute('for') );\n\t\t\t\t\t\t\tjQuery($thisInput).click();\n\t\t\t\t\t\t\t/*\n\t\t\t\t\t\t\tif ( $thisInput.type === \"radio\" && !$thisInput.checked ) {\n\t\t\t\t\t\t\t\t$thisInput.checked = true;\n\t\t\t\t\t\t\t\t$thisInput.dispatchEvent( new Event('change') );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse if ( $thisInput.type === \"checkbox\" ) {\n\t\t\t\t\t\t\t\t$thisInput.checked = !$thisInput.checked;\n\t\t\t\t\t\t\t\tjQuery($thisInput).click();\n\t\t\t\t\t\t\t\t$thisInput.dispatchEvent( new Event('change') );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t*/\n\t\t\t\t\t\t\te.currentTarget.blur();\n\t\t\t\t\t\t});\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\t$card.addEventListener('click', (e) => {\n\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\tlet $thisCard = e.currentTarget;\n\t\t\t\t\t\tlet $thisLabel = $thisCard.closest('.gfield').querySelector(`.gchoice label#${$thisCard.getAttribute('aria-labelledby')}`);\n\t\t\t\t\t\tlet $thisInput = document.getElementById( $thisLabel.getAttribute('for') );\n\t\t\t\t\t\tjQuery($thisInput).click();\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\tlet $label = $card.closest('.gfield').querySelector(`.gchoice label#${$card.getAttribute('aria-labelledby')}`);\n\t\t\t\tif ( !$label ) {\n\t\t\t\t\tconsole.log('EnhancedChoices :: choice label not found: ', $card.getAttribute('aria-labelledby'));\n\t\t\t\t}\n\t\t\t\tlet $input = document.getElementById( $label.getAttribute('for') );\n\t\t\t\tif ( !$input ) {\n\t\t\t\t\tconsole.log('EnhancedChoices :: input not found: ', $card.getAttribute('aria-labelledby'), $label.getAttribute('for'));\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t$input.addEventListener('change', (e) => {\n\t\t\t\t\tEC.onInputChange( e.currentTarget );\n\t\t\t\t\tclearTimeout(window.__ec_price_change);\n\t\t\t\t\twindow.__ec_price_change = setTimeout(EC.updatePriceDisplay, 500);\n\t\t\t\t});\n\t\t\t});\n\t\t});\n\n\t\tsetTimeout(function(){\n\t\t\tEC.SelectedFields( formId );\n\t\t\tconst $productOptionECFields = document.querySelectorAll('.gfield--type-option.ec-field .gchoice input, .gfield--type-product.ec-field .gchoice input');\n\t\t\tif ( $productOptionECFields.length ) {\n\t\t\t\t$productOptionECFields.forEach(input => {\n\t\t\t\t\tif ( input.checked ) {\n\t\t\t\t\t\tEC.onInputChange(input);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tEC.updatePriceDisplay();\n\t\t\t}\n\t\t\tgform.doAction('ec_setup', formId);\n\t\t}, 10);\n\n\t};\n\n\tEC.elementIsVisible = ( el ) => {\n\t\treturn !!( el.offsetWidth || el.offsetHeight || el.getClientRects().length );\n\t};\n\n\tEC.ConditionalLogic = function( formId ) {\n\t\tEC.formById( formId ).forEach( $form => {\n\t\t\t$form.querySelectorAll('.ec-field').forEach( $field => {\n\t\t\t\tif ( !EC.elementIsVisible($field) ) {\n\t\t\t\t\t$field.querySelectorAll('.ec-card').forEach($card => {\n\t\t\t\t\t\t$card.classList.remove( EC.cssClasses.selected );\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t};\n\n\t$(document).bind('gform_post_render', function(e, formId, currentPage){\n\n\t\tif ( typeof gf_global !== 'undefined' && gf_global.hasOwnProperty('gf_currency_config') && typeof Currency !== 'undefined' ) {\n\t\t\tEC.currencyConfig = structuredClone(gf_global.gf_currency_config);\n\t\t\tEC.currencyConfig.symbol_padding = gform.applyFilters('ec_price_symbol_padding', '');\n\t\t\tEC.currency = new Currency( gform.applyFilters('ec_currency_config', EC.currencyConfig) );\n\t\t}\n\n\t\tEC.SetUpFields( formId, currentPage );\n\n\t});\n\n\tdocument.addEventListener('gfcf/conversational/navigate/next', (e) => {\n\t\tdocument.querySelectorAll('.gform-conversational .ec-field').forEach($field => {\n\t\t\t$field.closest('.gform-conversational').classList.toggle( 'ec-field-active', $field.classList.contains('active-step') );\n\t\t});\n\t});\n\n\t$(document).bind('gform_post_conditional_logic', function(e, formId, fields, isInit){\n\t\tEC.ConditionalLogic( formId );\n\t\tEC.SelectedFields( formId );\n\t});\n\n\n})(jQuery);\n"],"mappings":"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"}