let WPFormsCalculations=window.WPFormsCalculations||((e,a,u)=>{let t={},n={},o={},d={},c={},f={innerFunctions:{},init(){u(e).on("wpformsReady",f.setup)},setup(){t.$forms=u("form.wpforms-form"),t.$document=u(e),c.fieldsDisabledCalc={},f.initModules(),f.initFormFieldsRegistry(),t.$document.trigger("wpformsCalculationsSetup")},events(){t.$document.on("input change",".wpforms-field:not(.wpforms-calculations-field) :input, select.wpforms-payment-quantity",WPFormsUtils.debounce(f.inputEvent,50)).on("wpformsFormAbandonmentGetFormDataBefore",f.formAbandonmentGetFormDataBefore)},functionsLoaded(){f.initFormulasRegistry(),f.events(),f.triggerAllFormsCalculations(),t.$document.trigger("wpformsCalculationsReady")},initModules(){var e=wpforms_calculations.debug?"./functions.js":"./functions.min.js",t=wpforms_calculations.debug?"./inner-functions.js":"./inner-functions.min.js",l=wpforms_calculations.debug?"./modules.es5.js":"./modules.es5.min.js";Promise.all([import(e),import(t),import(l)]).then(([e,t])=>{n=e.default(),f.innerFunctions=t.default(),f.functionsLoaded()})},initFormFieldsRegistry(){t.$forms.each(function(){var e=u(this),t=e.data("formid");d[t]=f.getSingleFormFieldsValues(e)})},initFormulasRegistry(){var e,t;for(t in wpforms_calculations.code)for(var l in o[t]={},wpforms_calculations.code[t])e=wpforms_calculations.code[t][l],e=`
const $${wpforms_calculations.functionsArrayName}=allowedFunctions;
const $${wpforms_calculations.innerFunctionsArrayName}=WPFormsCalculations.innerFunctions;
let $${wpforms_calculations.resultVarName}='';
${f.getFormulaFieldsVariables(t)}
try {
${e}} catch(error){
WPFormsCalculations.debug(error, { type: 'error', formId: ${t}, fieldId: ${l}});
}
if(typeof $${wpforms_calculations.resultVarName}==='number' &&
! isFinite($${wpforms_calculations.resultVarName})
){
WPFormsCalculations.debug('${wpforms_calculations.strings.errorDivisionByZero.replace()}', { type: 'error', formId: ${t}, fieldId: ${l}});
return '';
}
return $${wpforms_calculations.resultVarName};
`,o[t][l]=new Function("formId","fieldId","fields","eventFieldId","allowedFunctions","WPFormsCalculations",e)},getFormulaFieldsVariables(e){if(!d[e]||!d[e].fields)return"";var t,l=d[e].fields,i=[];let r,a;for(t in l)if(r=l[t],a="$F"+t,f.isObject(r))for(var s in l[t])a="$F"+t,a+="value"===s?"":"_"+s,i.push(`${a}=fields['${t}']['${s}']`);else i.push(`${a}=fields['${t}']`);return"const "+i.join(",\n")+";"},triggerAllFormsCalculations(){t.$forms.each(function(){f.inputEvent.call(u(this).find(":input:first").get(0),{})})},getSingleFormFieldsValues(e){var t=e.find('[name^="wpforms[fields]"]');let l={};c.arrayNames={};for(let e=0;e<t.length;e++)l=f.addSingleInputValueToFormFieldsValuesObject(u(t[e]),l);return l=f.updateSingleFormFieldsValues(l,e)},addSingleInputValueToFormFieldsValuesObject(e,t){var l,i=e.closest(".wpforms-field"),r=i.data("field-id"),a=e.prop("name")||"";return i.length&&void 0!==r&&!r.toString().includes("_")&&a.startsWith("wpforms")&&(a=i.data("field-type"),f.isAllowedField(a))&&null!==(l=f.getFieldInputValueObjectFromDOM(e,i))&&((t=u.extend(!0,t,l)).fields[r]=f.addAmountToPaymentFieldValue(t.fields[r],e,a,i)),t},updateSingleFormFieldsValues(e,t){var l,i,r=t.data("formid"),t=wpforms_calculations.formFields[r];if(e.fields&&t)for(var a in e.fields)f.isObject(e.fields[a])&&void 0===e.fields[a].value&&(l=f.updateSingleFormFieldValue(r,a,e),i=Object.values(l.fieldValueCombine).filter(function(e){return""!==e&&!1!==e}),e.fields[a]=l.formFieldsValues.fields[a],e.fields[a].value=i.join(l.separator));return e},updateSingleFormFieldValue(e,t,l){var i,r=f.getFormFieldData(e,t)?.type;if(!r)return{separator:"",formFieldsValues:l,fieldValueCombine:{}};let a=u.extend(!0,{},l.fields[t]),s="\n";return["name","date-time"].includes(r)&&(s=" "),"date-time"===r&&f.isObject(l.fields[t].date)?(i=Object.values(l.fields[t].date).map(function(e){return e?e.toString().padStart(2,"0"):""}),e=(f.getFormFieldData(e,t)?.date_format||"").includes(".")?".":"/",l.fields[t].date=i.join(e),a.date=l.fields[t].date):"email"===r?(l.fields[t].value=a.primary,delete a.secondary):"address"===r?""===(a=f.toStrings(a)).address1&&""===a.city?(l.fields[t].value="",a={}):(a.city.length&&a.state.length?a.city=a.city+", "+a.state:a.state.length&&(a.city=a.state),delete a.state,a.country=a.country||"US",l.fields[t].country=a.country):"checkbox"!==r&&"payment-checkbox"!==r||(s=",\n",delete a.amount),{separator:s,formFieldsValues:l,fieldValueCombine:a}},addAmountToPaymentFieldValue(e,t,l,i){let r,a;if(l.startsWith("payment-")){if(f.isHiddenByCL(i))return{value:"",amount:""};"payment-checkbox"===l&&(i=t.is(":checked")?f.amountSanitize(t.data("amount")):0,r=void 0,a=e.amount?e.amount+i:i),"payment-single"!==l&&"payment-total"!==l||(a=f.amountSanitize(e),r=wpforms.amountFormatSymbol(a)),"payment-multiple"===l&&(r=e,a=(t.is(":checked")?t:t.closest("ul").find("input:checked")).data("amount"),a=f.amountSanitize(a)),"payment-select"===l&&(r=e,a=f.amountSanitize(t.find(":selected").data("amount"))),e=f.isObject(e)?e:{},void 0!==r&&(e.value=r),"payment-select"!==l&&"payment-single"!==l||(a*=f.getFieldQuantity(t)),e.amount=a}return e},getFieldQuantity(e){return e.closest(".wpforms-field").hasClass("wpforms-payment-quantities-enabled")&&(e=u("#"+e.attr("id")+"-quantity")).length?Number(e.val()):1},getFieldInputValueObjectFromDOM(l,e){var i=l.prop("name").replace(/^wpforms\[/gi,"").replace(/]/gi,"").split("[");if(3<=i.length&&"fields"===i[0]&&"other"===i[2])return{};var r=l.is(":checkbox"),a=l.is("select"),s=f.isHiddenByCL(e);let n=s?"":f.getFieldInputValueRaw(l),o={};for(let t=i.length-1;0<=t;t--){let e=i[t]||"";if(0===e.length&&r&&(o={},d=l.attr("id").match(/[0-9]+$/g),c.arrayNames[i[t-1]]=d[0],e=c.arrayNames[i[t-1]]),0===e.length&&a&&(e="value"),t<i.length-1){var d=o;(o={})[e]=d}else{var u=parseFloat(n);if("true"===n)n=!0;else if("false"===n)n=!1;else if(s||isNaN(u)||u.toString()!==n){if("string"==typeof n&&("{"===n[0]||"["===n[0]))try{n=JSON.parse(n)}catch(e){}}else n=u;o[e]=n}}return o},getFieldInputValueRaw(e){var t=e.closest(".wpforms-field"),l=t.data("field-type");let i;if(l.startsWith("payment-"))return f.getPaymentFieldInputValueRaw(e,l);var r=t.closest("form").data("formid"),a=t.data("field-id"),r=f.getFormFieldData(r,a);if(wpforms_calculations.choicesShowValuesFilter&&r?.show_values)return f.getFieldInputValueRawShowValues(e,l);var s=e.attr("id");let n,o;switch(l){case"checkbox":return n=e.closest("li").find(`label[for="${s}"]`),e.is(":checked")?n.text().trim():"";case"radio":return o=e.closest("ul").find("input:checked"),n=o.closest("li").find(`label[for="${o.attr("id")}"]`),o.closest("li.wpforms-other-choice").length?t.find(".wpforms-other-input").val():n.text().trim();case"rating":return(i=(e.is(":checked")?e:e.closest(".wpforms-field-rating-items").find("input:checked")).val())||"";case"number":return 0===(i=e.val()).length?0:Number(e.val());case"phone":return e.siblings(".wpforms-smart-phone-field").val();case"select":var d=e.find(":selected");return 1<d.length?d.map(function(){return u(this).text()}).get().join(",\n"):d.text();default:return e.val()}},getFieldInputValueRawShowValues(e,t){let l;switch(t){case"checkbox":return e.is(":checked")?e.val():"";case"radio":return(l=(e.is(":checked")?e:e.closest("ul, .wpforms-field-rating-items").find("input:checked")).val())||"";case"select":return l=e.val(),Array.isArray(l)?l.join(",\n"):l;default:return e.val()}},getPaymentFieldInputValueRaw(e,t){var l,i;switch(t){case"payment-checkbox":return e.is(":checked")?e.closest("li").find(`label[for="${e.attr("id")}"]`).text().replace(" – "," - "):"";case"payment-multiple":return l=(i=e.closest("ul").find("input:checked")).attr("id"),l=i.closest("ul").find(`label[for="${l}"]`),i.length&&l.length?l.text().replace(" – "," - "):"";case"payment-select":return e.find(":selected:not(:disabled)").text().replace(" – "," - ");case"payment-single":return i=e.closest(".wpforms-field").find(".wpforms-price"),e.is(":hidden")&&i.length?i.text():e.val();default:return e.val()}},inputEvent(e){var t,l=u(this),i=l.closest(".wpforms-form"),r=i.data("formid");r&&void 0!==wpforms_calculations.code[r]&&(t=u(e.target).closest(".wpforms-field").data("field-id"),c.shouldProcessConditionals=!1,c.fieldsDisabledCalc[r]=c.fieldsDisabledCalc[r]||[],f.calculateAllFields(r,i,e,t),Object.keys(c.fieldsResults).length)&&(a.wpformsconditionals&&c.shouldProcessConditionals&&a.wpformsconditionals.processConditionals(l,!0),wpforms.amountTotal(i.find(".wpforms-payment-total"),!0),f.calculateAllFields(r,i,e,t))},calculateAllFields(e,t,l,i){for(var r in d[e]=f.getSingleFormFieldsValues(t),c.fieldsResults={},wpforms_calculations.code[e]){var a,s;c.fieldsDisabledCalc[e].includes(Number(r))||void 0===c.fieldsResults[r]&&(c.fieldsCalcStack=[],a=u(`#wpforms-${e}-field_${r}-container`),s=f.getCalcResult(e,Number(r),l,i),f.updateFieldValue(s,a,r,e),c.shouldProcessConditionals=c.shouldProcessConditionals||a.hasClass("wpforms-conditional-trigger"))}},getCalcResult(e,t,l,i){if(!o[e]||!o[e][t])return"";c.fieldsCalcStack.push(t);var r=d[e].fields;if(f.preCalcFields(e,t,l,i),void 0!==c.fieldsResults[t])return c.fieldsResults[t];c.fieldFormulaArgs=c.fieldFormulaArgs||{formId:e,fieldId:t,fields:r,eventFieldId:i,allowedFunctions:n,app:f};var a=f.isObject(r[t])?{...r[t]}:r[t],s=o[e][t](e,t,r,i,n,f),s=f.normalizeCalcResult(s,e,t);return c.fieldsResults[t]=s,f.debug(`Field #${t} calculated:`,{formId:e,fieldId:t,code:o[e][t].toString(),"value before calc":a,"value after calc":s,eventFieldId:i,event:l,fields:r},{type:"debug"}),s},preCalcFields(e,t,l,i){var r,a=wpforms_calculations.code[e][t];if(a&&void 0===c.fieldsResults[t])for(r of a.matchAll(/\$F\d*/gm)){var s,n,o=Number(r[0].replace("$F",""));c.fieldsDisabledCalc[e].includes(o)||o!==Number(t)&&void 0===c.fieldsResults[o]&&wpforms_calculations.code[e][o]&&(c.fieldsCalcStack.includes(o)?(c.fieldsResults[o]="",c.fieldsCalcStack.push(o),c.fieldsDisabledCalc[e].push(o),u(`#wpforms-${e}-field_`+o).attr({readonly:!1,title:!1}),f.debug(wpforms_calculations.strings.errorCircularReference.replace("%1$s",o),{type:"error",formId:e,fieldId:t})):(s=u(`#wpforms-${e}-field_${o}-container`),n=f.getCalcResult(e,o,l,i),f.updateFieldValue(n,s,o,e)))}},normalizeCalcResult(e,t,l){t=f.getFormFieldData(t,l);return t?.type?"payment-single"===t.type?(l=wpforms.getCurrency(),(e=f.innerFunctions.round(f.parseFloat(e),l.decimals))<0?0:wpforms.amountFormatSymbol(e)):"number"===t.type?f.parseFloat(e):e:e},updateFieldValue(l,i,r,a){if(!f.isHiddenByCL(i)){var s=i.data("field-type");if("payment-single"===s)f.updatePaymentSingleFieldValue(l,i,r,a);else{let e=l,t=l;"number"===s&&(t=e=f.parseFloat(l)),f.isNumeric(e)||f.isString(e)||(e=""),i.find(":input").val(e).attr("title",wpforms_calculations.strings.readonlyInputTitle),d[a].fields[r]=t}}},updatePaymentSingleFieldValue(e,t,l,i){var e=f.amountSanitize(e),r=wpforms.amountFormatSymbol(e),a=t.find("input");t.find(".wpforms-single-item-price .wpforms-price").text(r),a.val(r).attr("title",wpforms_calculations.strings.readonlyInputTitle),d[i].fields[l].value=r,d[i].fields[l].amount=e*f.getFieldQuantity(a)},getFormFieldsData(e){return wpforms_calculations.formFields[e]},getFormFieldData(e,t){return wpforms_calculations.formFields[e]&&(t=Number(t.toString().replace(/_\d+$/,"")),wpforms_calculations.formFields[e][t])||null},getFormFieldsValuesFromRegistry(e){return d[e]&&d[e].fields?d[e].fields:null},getFieldValueFromRegistry(e,t){return d[e]&&d[e].fields?d[e].fields[t]:null},getFieldFormulaArgs(){return c.fieldFormulaArgs},isEmpty(e){return"object"==typeof e?0===Object.keys(e).length:[void 0,null,!1,0,"","0"].includes(e)},isObject(e){return"object"==typeof e&&!Array.isArray(e)&&null!==e},isNumeric(e){return!isNaN(parseFloat(e))&&isFinite(e)},isString(e){return"string"==typeof e||e instanceof String},isHiddenByCL(e){return e?.hasClass("wpforms-conditional-hide")},parseFloat(e,t=12){if(![0,"0"].includes(e)&&f.isEmpty(e))return"";if(t=t||0===t?t:12,f.isNumeric(e))return Number(parseFloat(e).toFixed(t));e=e.toString();var l=wpforms.getCurrency(),i=l.symbol.replace("$","\\$"),r="left"===l.symbol_pos?i+"[ ]?":"",a="right"===l.symbol_pos?"[ ]?"+i:"",r=`(-?${r}(\\d+)([${l.thousands_sep}]?\\d{3})*([${l.decimal_sep}]\\d*)?(${a}))`+"|(-?(\\d+)([,]?\\d{3})*([.]?\\d*)?)",l=e.match(new RegExp(r,"g"))?.find(e=>""!==e);return l?l.includes(i)?f.amountSanitize(l):(a=l.replaceAll(/[^0-9.-]/g,""),Number(parseFloat(a).toFixed(t))):""},toStrings(e){if(!f.isObject(e))return e;var t,l={};for(t in e)Object.prototype.hasOwnProperty.call(e,t)&&(l[t]=e[t]?e[t].toString():"");return l},isAllowedField(e){return Object.keys(wpforms_calculations.allowedFields).includes(e)},amountSanitize(e){return Number(wpforms.amountSanitize(e||"0"))},debug(...e){var t,l,i,r,a=0<arguments.length?arguments[arguments.length-1]:{},s=a.type||"log";a.type&&e.pop(),(wpforms_calculations.calcDebug&&"debug"===s||["log","error"].includes(s))&&(t=(l=(new Error).stack.toString().split(/\r\n|\n/)[2].split("/"))[0].replace(/\s\(http.*$/,""),l=l[l.length-1].replace(")",""),i="error"===s?"#aa0000":"#cd6622",r="error"===s?wpforms_calculations.strings.errorPrefix:wpforms_calculations.strings.debugPrefix,"error"===s&&a.formId&&a.fieldId&&e.unshift(wpforms_calculations.strings.errorFormFieldPrefix.replace("%1$s",a.formId).replace("%2$s",a.fieldId)),console.group("%c"+r,"color: "+i,t+" ("+l+")"),console.log(...e),console.groupEnd())},formAbandonmentGetFormDataBefore(e,t){WPFormsFormAbandonment&&(t=u(`#wpforms-form-${t} :input:first`).get(0),e.target=t,f.inputEvent.call(t,e),WPFormsFormAbandonment.prepData(e))}};return f})(document,window,jQuery);WPFormsCalculations.init();