PluginProbe
Formidable Forms – WordPress Form Builder for Contact Forms, Calculators, Quizzes & More / trunk
Formidable Forms – WordPress Form Builder for Contact Forms, Calculators, Quizzes & More vtrunk
6.35 6.34 6.33.1 6.33 6.32.1 6.32 6.31 6.25 6.25.1 6.26 6.26.1 6.27 6.28 6.29 6.3 6.3.1 6.3.2 6.30 6.4 6.4.1 6.4.2 6.5 6.5.1 6.5.2 6.5.3 All 141 releases
← All changes | stripe/js/frmstrp.min.js +38 -30 6.5.2 → trunk View file →
@@ -1,30 +1,38 @@
1 -(function(){var thisForm=false,formID=0,event=false,frmstripe,running=100,elements,isStripeLink=false,linkAuthenticationElementIsComplete=false,stripeLinkElementIsComplete=false,triggerCustomEvent;triggerCustomEvent=function(el,eventName,data){frmFrontForm.triggerCustomEvent(el,eventName,data)};function validateForm(e){thisForm=this;formID=jQuery(thisForm).find('input[name="form_id"]').val();if(shouldProcessForm()){e.preventDefault();event=e;processForm();return}frmFrontForm.submitFormManual(e,thisForm);
2 -return false}function shouldProcessForm(){var ccField;if(formID!=frm_stripe_vars.form_id)return false;if(!currentActionTypeShouldBeProcessed())return false;ccField=jQuery(thisForm).find(".frm-card-element");if(ccField.length&&!ccField.is(":hidden"))return true;return false}function currentActionTypeShouldBeProcessed(){var action=jQuery(thisForm).find('input[name="frm_action"]').val();if("object"!==typeof window.frmProForm||"function"!==typeof window.frmProForm.currentActionTypeShouldBeProcessed)return"create"===
3 -action;return window.frmProForm.currentActionTypeShouldBeProcessed(action,{thisForm:thisForm})}function processForm(){var $form,meta;$form=jQuery(thisForm);$form.addClass("frm_js_validate");if(!validateFormSubmit($form))return;frmFrontForm.showSubmitLoading($form);meta=addName($form);if("object"===typeof window.frmProForm&&"function"===typeof window.frmProForm.addAddressMeta)window.frmProForm.addAddressMeta($form,meta);if(!isStripeLink)return;stripeLinkSubmit($form.get(0),meta)}function stripeLinkSubmit(object,
4 -meta){object.classList.add("frm_trigger_event_on_submit","frm_ajax_submit");object.addEventListener("frmSubmitEvent",confirmPayment);running=0;submitForm();function confirmPayment(){var params,confirmFunction;window.onpageshow=function(event){if(event.persisted||window.performance&&window.performance.getEntriesByType("navigation")[0].type==="back_forward")window.location.reload()};params={elements:elements,confirmParams:{return_url:getReturnUrl()}};if("object"===typeof window.frmProForm&&"function"===
5 -typeof frmProForm.beforeConfirmPayment)params=frmProForm.beforeConfirmPayment(params,meta);confirmFunction=isRecurring()?"confirmSetup":"confirmPayment";frmstripe[confirmFunction](params).then(handleConfirmPromise)}function getReturnUrl(){var url=new URL(frm_stripe_vars.ajax);url.searchParams.append("action","frmstrplinkreturn");return url.toString()}function handleConfirmPromise(result){if(result.error)handleConfirmPaymentError(result.error)}function handleConfirmPaymentError(error){var fieldset,
6 -cardErrors;running--;enableSubmit();fieldset=jQuery(object).find(".frm_form_field");fieldset.removeClass("frm_doing_ajax");object.classList.remove("frm_loading_form");if("card_error"===error.type){cardErrors=object.querySelector(".frm-card-errors");if(cardErrors)cardErrors.textContent=error.message}}}function isRecurring(){var isRecurring=false;each(getStripeSettings(),function(setting){if("recurring"===setting.one){isRecurring=true;return false}});return isRecurring}function validateFormSubmit($form){var errors,
7 -keys;errors=frmFrontForm.validateFormSubmit($form);keys=Object.keys(errors);if(1===keys.length&&errors[keys[0]]==="")keys.pop();return 0===keys.length}function addName($form){var i,firstField,lastField,firstFieldContainer,lastFieldContainer,cardObject={},settings=frm_stripe_vars.settings,firstNameID="",lastNameID="",getNameFieldValue;getNameFieldValue=function(field,subFieldName){if("object"!==typeof field)field=document.getElementById("frm_field_"+field+"_container");if(!field||"object"!==typeof field||
8 -"function"!==typeof field.querySelector)return"";var subFieldEl=field.querySelector(".frm_combo_inputs_container .frm_form_subfield-"+subFieldName+" input");if(!subFieldEl)return"";return subFieldEl.value};for(i=0;i<settings.length;i++){firstNameID=settings[i].first_name;lastNameID=settings[i].last_name}if(firstNameID!==""){firstFieldContainer=document.getElementById("frm_field_"+firstNameID+"_container");if(firstFieldContainer&&firstFieldContainer.querySelector(".frm_combo_inputs_container"))cardObject.name=
9 -getNameFieldValue(firstFieldContainer,"first");else{firstField=$form.find("#frm_field_"+firstNameID+'_container input, input[name="item_meta['+firstNameID+']"]');if(firstField.length&&firstField.val())cardObject.name=firstField.val()}}if(lastNameID!==""){lastFieldContainer=document.getElementById("frm_field_"+lastNameID+"_container");if(lastFieldContainer&&lastFieldContainer.querySelector(".frm_combo_inputs_container"))cardObject.name=cardObject.name+" "+getNameFieldValue(lastFieldContainer,"last");
10 -else{lastField=$form.find("#frm_field_"+lastNameID+'_container input, input[name="item_meta['+lastNameID+']"]');if(lastField.length&&lastField.val())cardObject.name=cardObject.name+" "+lastField.val()}}return cardObject}function submitForm(){if(running>0)return;frmFrontForm.submitFormManual(event,thisForm)}function enableSubmit(){if(running>0)return;thisForm.classList.add("frm_loading_form");frmFrontForm.removeSubmitLoading(jQuery(thisForm),"enable",0);triggerCustomEvent(document,"frmStripeLiteEnableSubmit",
11 -{form:thisForm})}function getPriceFields(){var priceFields=[];function checkStripeSettingForPriceFields(setting){if(-1!==setting.fields)each(setting.fields,addFieldDataToPriceFieldsArray)}function addFieldDataToPriceFieldsArray(field){if(isNaN(field))priceFields.push("field_"+field);else priceFields.push(field)}each(getStripeSettings(),checkStripeSettingForPriceFields);return priceFields}function getStripeSettings(){var stripeSettings=[];each(frm_stripe_vars.settings,function(setting){if(-1!==setting.gateways.indexOf("stripe"))stripeSettings.push(setting)});
12 -return stripeSettings}function priceChanged(_,field,fieldId){var i,data,price=getPriceFields(),run=price.indexOf(fieldId)>-1||price.indexOf(field.id)>-1;if(!run)for(i=0;i<price.length;i++)if(field.id.indexOf(price[i])===0)run=true;if(run){data={action:"frm_strp_amount",form:JSON.stringify(jQuery(field).closest("form").serializeArray()),nonce:frm_stripe_vars.nonce};postAjax(data,function(){})}}function postAjax(data,success){var xmlHttp=new XMLHttpRequest,params=typeof data=="string"?data:Object.keys(data).map(function(k){return encodeURIComponent(k)+
13 -"="+encodeURIComponent(data[k])}).join("&");xmlHttp.open("post",frm_stripe_vars.ajax,true);xmlHttp.onreadystatechange=function(){var response;if(xmlHttp.readyState>3&&xmlHttp.status==200){response=xmlHttp.responseText;if(response!=="")response=JSON.parse(response);success(response)}};xmlHttp.setRequestHeader("X-Requested-With","XMLHttpRequest");xmlHttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");xmlHttp.send(params);return xmlHttp}function loadElements(){if(document.getElementsByClassName("frm-card-element").length)maybeLoadStripeLink()}
14 -function maybeLoadStripeLink(){var stripeLinkForm,formId,intentField;stripeLinkForm=document.querySelector("form.frm_stripe_link_form");if(!stripeLinkForm)return false;formId=parseInt(stripeLinkForm.querySelector('input[name="form_id"]').value);intentField=stripeLinkForm.querySelector('input[name="frmintent'+formId+'[]"]');if(!intentField)return false;disableSubmit(stripeLinkForm);loadStripeLinkElements(intentField.value);triggerCustomEvent(document,"frmStripeLiteLoad",{form:stripeLinkForm});return true}
15 -function disableSubmit(form){jQuery(form).find('input[type="submit"],input[type="button"],button[type="submit"]').not(".frm_prev_page").attr("disabled","disabled");triggerCustomEvent(document,"frmStripeLiteDisableSubmit",{form:form})}function loadStripeLinkElements(clientSecret){var cardElement,appearance;cardElement=document.querySelector(".frm-card-element");if(!cardElement)return;appearance={theme:"stripe",variables:{fontSizeBase:frm_stripe_vars.baseFontSize,colorText:maybeAdjustColorForStripe(frm_stripe_vars.appearanceRules[".Input"].color),
16 -colorBackground:maybeAdjustColorForStripe(frm_stripe_vars.appearanceRules[".Input"].backgroundColor),fontSmooth:"auto"},rules:frm_stripe_vars.appearanceRules};elements=frmstripe.elements({clientSecret:clientSecret,appearance:appearance});isStripeLink=true;insertAuthenticationElement(cardElement);insertPaymentElement(cardElement);triggerCustomEvent(document,"frmStripeLiteLoadElements",{cardElement:cardElement})}function maybeAdjustColorForStripe(color){var rgba,hex;if(0!==color.indexOf("rgba"))return color;
17 -rgba=color.replace(/^rgba?\(|\s+|\)$/g,"").split(",");hex="#"+((1<<24)+(parseInt(rgba[0],10)<<16)+(parseInt(rgba[1],10)<<8)+parseInt(rgba[2],10)).toString(16).slice(1);return hex}function insertAuthenticationElement(cardElement){var addAboveCardElement,emailField,authenticationMountTarget,emailInput,cardFieldContainer,defaultEmailValue,authenticationElement;addAboveCardElement=true;emailField=checkForEmailField();authenticationMountTarget=createMountTarget("frm-link-authentication-element");if(false!==
18 -emailField)if("hidden"===emailField.getAttribute("type"))emailInput=emailField;else{addAboveCardElement=false;emailInput=emailField.querySelector("input");replaceEmailField(emailField,emailInput,authenticationMountTarget)}if(addAboveCardElement){cardFieldContainer=cardElement.closest(".frm_form_field");cardFieldContainer.parentNode.insertBefore(authenticationMountTarget,cardFieldContainer);triggerCustomEvent(document,"frmStripeLiteAddAuthElementAboveCardElement",{cardElement:cardElement,cardFieldContainer:cardFieldContainer,
19 -authenticationMountTarget:authenticationMountTarget})}defaultEmailValue=false!==emailField?getSettingFieldValue(emailField):"";authenticationElement=elements.create("linkAuthentication",{defaultValues:{email:defaultEmailValue}});authenticationElement.mount(".frm-link-authentication-element");authenticationElement.on("change",getAuthenticationChangeHandler(cardElement,emailInput))}function getAuthenticationChangeHandler(cardElement,emailInput){function syncEmailInput(emailValue){if("string"===typeof emailValue&&
20 -emailValue.length)emailInput.value=emailValue}return function(event){var form;linkAuthenticationElementIsComplete=event.complete;if(linkAuthenticationElementIsComplete&&"undefined"!==typeof emailInput)syncEmailInput(event.value.email);form=cardElement.closest("form");if("object"===typeof window.frmChatForm&&"function"===typeof frmChatForm.maybeHandleAuthenticationChange&&frmChatForm.maybeHandleAuthenticationChange(form,event.complete))return;if(readyToSubmitStripeLink(form)){thisForm=form;running=
21 -0;enableSubmit()}else disableSubmit(form)}}function replaceEmailField(emailField,emailInput,authenticationMountTarget){var emailLabel;emailField.insertBefore(authenticationMountTarget,emailInput);emailInput.type="hidden";emailLabel=emailField.querySelector(".frm_primary_label");if(emailLabel)emailLabel.style.display="none"}function insertPaymentElement(cardElement){var paymentElement;cardElement.parentNode.insertBefore(createMountTarget("frm-payment-element"),cardElement);paymentElement=elements.create("payment",
22 -{defaultValues:{billingDetails:{name:getFullNameValueDefault(),phone:""}}});paymentElement.mount(".frm-payment-element");paymentElement.on("change",handlePaymentElementChange);function handlePaymentElementChange(event){stripeLinkElementIsComplete=event.complete;toggleButtonsOnPaymentElementChange(cardElement);triggerCustomEvent(document,"frmStripeLitePaymentElementChange",{complete:event.complete})}}function toggleButtonsOnPaymentElementChange(cardElement){var form=cardElement.closest(".frm-show-form");
23 -if("object"===typeof window.frmChatForm&&"function"===typeof frmChatForm.maybeHandlePaymentChange&&frmChatForm.maybeHandlePaymentChange(form,stripeLinkElementIsComplete))return;if(readyToSubmitStripeLink(form)){thisForm=form;running=0;enableSubmit()}else disableSubmit(form)}function readyToSubmitStripeLink(form){if(!linkAuthenticationElementIsComplete||!stripeLinkElementIsComplete)return false;if("object"!==typeof window.frmProForm||"function"!==typeof window.frmProForm.submitButtonIsConditionallyDisabled)return true;
24 -return!window.frmProForm.submitButtonIsConditionallyDisabled(form)}function getFullNameValueDefault(){var nameValues,firstNameField,lastNameField;nameValues=[];firstNameField=checkForStripeSettingField("first_name");if(false!==firstNameField)nameValues.push(getSettingFieldValue(firstNameField));lastNameField=checkForStripeSettingField("last_name");if(false!==lastNameField)nameValues.push(getSettingFieldValue(lastNameField));return nameValues.join(" ")}function getSettingFieldValue(field){var value;
25 -if("hidden"===field.getAttribute("type"))value=field.value;else value=field.querySelector("input").value;return value}function checkForEmailField(){return checkForStripeSettingField("email")}function checkForStripeSettingField(settingKey){var settingField=false;each(getStripeSettings(),checkStripeSettingForField);function checkStripeSettingForField(currentSetting){var currentSettingValue,settingIsWrappedAsShortcode,currentFieldId,fieldMatchByKey,fieldContainer,hiddenInput;if("string"!==typeof currentSetting[settingKey]||
26 -!currentSetting[settingKey].length)return;currentSettingValue=currentSetting[settingKey];settingIsWrappedAsShortcode="["===currentSettingValue[0]&&"]"===currentSettingValue[currentSettingValue.length-1];if(settingIsWrappedAsShortcode){currentFieldId=currentSettingValue.substr(1,currentSettingValue.length-2);if(isNaN(currentFieldId))fieldMatchByKey=fieldContainer=document.getElementById("field_"+currentFieldId)}else currentFieldId=currentSettingValue;if(fieldMatchByKey)fieldContainer=fieldMatchByKey.closest(".frm_form_field");
27 -else fieldContainer=document.getElementById("frm_field_"+currentFieldId+"_container");if(!fieldContainer){hiddenInput=document.querySelector('input[name="item_meta['+currentFieldId+']"]');if(!hiddenInput)if("first_name"===settingKey)hiddenInput=document.querySelector('input[name="item_meta['+currentFieldId+'][first]"]');else if("last_name"===settingKey)hiddenInput=document.querySelector('input[name="item_meta['+currentFieldId+'][last]"]');if(hiddenInput){settingField=hiddenInput;return false}return}settingField=
28 -fieldContainer;return false}return settingField}function createMountTarget(className){var newElement=document.createElement("div");newElement.className=className+" frm_form_field form-field";return newElement}function each(items,callback){var index,length;length=items.length;for(index=0;index<length;index++)if(false===callback(items[index],index))break}function checkPriceFieldsOnLoad(){each(getPriceFields(),function(fieldId){var fieldContainer,input;fieldContainer=document.getElementById("frm_field_"+
29 -fieldId+"_container");if(!fieldContainer)return;input=fieldContainer.querySelector("input[name^=item_meta]");if(input&&""!==input.value)priceChanged(null,input,fieldId)})}jQuery(document).ready(function(){var stripeParams={locale:frm_stripe_vars.locale,stripeAccount:frm_stripe_vars.account_id};frmstripe=Stripe(frm_stripe_vars.publishable_key,stripeParams);loadElements();jQuery(document).on("frmPageChanged",loadElements);jQuery(document).off("submit.formidable",".frm-show-form");jQuery(document).on("submit.frmstrp",
30 -".frm-show-form",validateForm);jQuery(document).on("frmFieldChanged",priceChanged);checkPriceFieldsOnLoad()});window.frmStripeLiteForm={readyToSubmitStripeLink:readyToSubmitStripeLink,processForm:function(cardElement,e,form){event=e;thisForm=form;processForm(cardElement)}}})();
1 +(function(){let thisForm=false;let formID=0;let event=false;let frmstripe;let running=100;let elements;let isStripeLink=false;let linkAuthenticationElementIsComplete=false;let stripeLinkElementIsComplete=false;let priceChangedTimer=0;const triggerCustomEvent=function(el,eventName,data){frmFrontForm.triggerCustomEvent(el,eventName,data)};function validateForm(e){thisForm=this;formID=jQuery(thisForm).find('input[name="form_id"]').val();if(shouldProcessForm()){e.preventDefault();event=e;processForm();
2 +return}frmFrontForm.submitFormManual(e,thisForm);return false}function shouldProcessForm(){if(formID!=frm_stripe_vars.form_id)return false;if(!currentActionTypeShouldBeProcessed())return false;const ccField=jQuery(thisForm).find(".frm-card-element");if(ccField.length&&!ccField.is(":hidden"))return true;return false}function currentActionTypeShouldBeProcessed(){const action=jQuery(thisForm).find('input[name="frm_action"]').val();if("object"!==typeof window.frmProForm||"function"!==typeof window.frmProForm.currentActionTypeShouldBeProcessed)return"create"===
3 +action;return window.frmProForm.currentActionTypeShouldBeProcessed(action,{thisForm})}function processForm(){const $form=jQuery(thisForm);$form.addClass("frm_js_validate");if(!validateFormSubmit($form))return;frmFrontForm.showSubmitLoading($form);const meta=addName($form);addAddressMeta(meta);if(!isStripeLink)return;stripeLinkSubmit($form.get(0),meta)}function stripeLinkSubmit(object,meta){object.classList.add("frm_trigger_event_on_submit","frm_ajax_submit");object.addEventListener("frmSubmitEvent",
4 +confirmPayment);running=0;submitForm();function confirmPayment(event){if(!checkEventDataForError(event))return;window.onpageshow=function(event){if(event.persisted||window.performance&&window.performance.getEntriesByType("navigation")[0].type==="back_forward")window.location.reload()};let params={elements,confirmParams:{return_url:getReturnUrl()}};params=addBillingDetailsToParams(params,meta);const confirmFunction=isRecurring()?"confirmSetup":"confirmPayment";frmstripe[confirmFunction](params).then(handleConfirmPromise)}
5 +function getReturnUrl(){const url=new URL(frm_stripe_vars.ajax);url.searchParams.append("action","frmstrplinkreturn");return url.toString()}function handleConfirmPromise(result){if(result.error)handleConfirmPaymentError(result.error)}function handleConfirmPaymentError(error){running--;enableSubmit();const fieldset=jQuery(object).find(".frm_form_field");fieldset.removeClass("frm_doing_ajax");object.classList.remove("frm_loading_form");if("card_error"===error.type||"invalid_request_error"===error.type||
6 +"form_submit_error"===error.type){const cardErrors=object.querySelector(".frm-card-errors");if(cardErrors)cardErrors.textContent=error.message}}function checkEventDataForError(event){if(!event.frmData||!event.frmData.content.length||!event.frmData.content.includes('<div class="frm_error_style'))return true;const element=document.createElement("div");element.innerHTML=event.frmData.content;const error=element.querySelector(".frm_error_style");if(error){handleConfirmPaymentError({type:"form_submit_error",
7 +message:error.textContent});return false}return true}}function addAddressMeta(cardObject){let addressID="";each(getStripeSettings(),function(setting){if(setting.address)addressID=setting.address});if(""===addressID)return;let prefix="";let addressContainer=document.querySelector(`#frm_field_${addressID}_container, .frm_field_${addressID}_container`);if(!addressContainer){const line1Input=document.querySelector(`input[name="item_meta[${addressID}][line1]"]`);if(line1Input){prefix=`${addressID}][`;
8 +addressContainer=line1Input.parentNode}}if(!addressContainer)return;addValToRequest(addressContainer,`${prefix}line1`,cardObject,"address_line1");addValToRequest(addressContainer,`${prefix}line2`,cardObject,"address_line2");addValToRequest(addressContainer,`${prefix}city`,cardObject,"address_city");addValToRequest(addressContainer,`${prefix}state`,cardObject,"address_state");addValToRequest(addressContainer,`${prefix}zip`,cardObject,"address_zip");const countryDropdown=addressContainer.querySelector(`select[name$="[${prefix}country]"]`);
9 +if(!countryDropdown)return;const countryOption=countryDropdown.querySelector(`option[value="${countryDropdown.value}"]`);if(countryOption?.getAttribute("data-code"))cardObject.address_country=countryOption.getAttribute("data-code")}function addValToRequest(container,inputName,cardObject,objectName){const input=container.querySelector(`input[name$="[${inputName}]"], select[name$="[${inputName}]"]`);if(input?.value)cardObject[objectName]=input.value}function addBillingDetailsToParams(params,meta){params.confirmParams.payment_method_data=
10 +{billing_details:convertToAddressObject(meta)};return params}function convertToAddressObject(meta){const newMeta={address:{}};Object.keys(meta).forEach(function(key){if("address_zip"===key)newMeta.address.postal_code=meta[key];else if(0===key.indexOf("address_"))newMeta.address[key.replace("address_","")]=meta[key];else newMeta[key]=meta[key]});return newMeta}function isRecurring(){let isRecurring=false;each(getStripeSettings(),function(setting){if("recurring"===setting.one){isRecurring=true;return false}});
11 +return isRecurring}function validateFormSubmit($form){const errors=frmFrontForm.validateFormSubmit($form);const keys=Object.keys(errors);if(1===keys.length&&errors[keys[0]]==="")keys.pop();return 0===keys.length}function addName($form){let firstNameID="";let lastNameID="";const cardObject={};const {settings}=frm_stripe_vars;const getNameFieldValue=function(field,subFieldName){if("object"!==typeof field)field=document.getElementById(`frm_field_${field}_container`);if(!field||"object"!==typeof field||
12 +"function"!==typeof field.querySelector)return"";const subFieldEl=field.querySelector(`.frm_combo_inputs_container .frm_form_subfield-${subFieldName} input`);if(!subFieldEl)return"";return subFieldEl.value};for(let i=0;i<settings.length;i++){firstNameID=settings[i].first_name;lastNameID=settings[i].last_name}function getNameFieldItem(fieldID,type,$form=null){const queryForNameFieldIsFound="object"===typeof window.frmProForm&&"function"===typeof window.frmProForm.queryForNameField;if(type==="container")return queryForNameFieldIsFound?
13 +window.frmProForm.queryForNameField(fieldID,"container"):document.querySelector(`#frm_field_${fieldID}_container, .frm_field_${fieldID}_container`);return queryForNameFieldIsFound?window.frmProForm.queryForNameField(fieldID,"field",$form[0]):$form[0].querySelector(`#frm_field_${fieldID}_container input, input[name="item_meta[${fieldID}]"], .frm_field_${fieldID}_container input`)}if(firstNameID!==""){const firstFieldContainer=getNameFieldItem(firstNameID,"container");if(firstFieldContainer?.querySelector(".frm_combo_inputs_container"))cardObject.name=
14 +getNameFieldValue(firstFieldContainer,"first");else{const firstField=getNameFieldItem(firstNameID,"field",$form);if(firstField?.value)cardObject.name=firstField.value}}if(lastNameID!==""){const lastFieldContainer=getNameFieldItem(lastNameID,"container");if(lastFieldContainer?.querySelector(".frm_combo_inputs_container"))cardObject.name=`${cardObject.name} ${getNameFieldValue(lastFieldContainer,"last")}`;else{const lastField=getNameFieldItem(lastNameID,"field",$form);if(lastField?.value)cardObject.name=
15 +`${cardObject.name} ${lastField.value}`}}return cardObject}function submitForm(){if(running>0)return;frmFrontForm.submitFormManual(event,thisForm)}function enableSubmit(){if(running>0)return;thisForm.classList.add("frm_loading_form");frmFrontForm.removeSubmitLoading(jQuery(thisForm),"enable",0);triggerCustomEvent(document,"frmStripeLiteEnableSubmit",{form:thisForm})}function getPriceFields(){const priceFields=[];function checkStripeSettingForPriceFields(setting){if(-1!==setting.fields)each(setting.fields,
16 +addFieldDataToPriceFieldsArray)}function addFieldDataToPriceFieldsArray(field){if(isNaN(field))priceFields.push(`field_${field}`);else priceFields.push(field)}each(getStripeSettings(),checkStripeSettingForPriceFields);return priceFields}function getStripeSettings(){const stripeSettings=[];each(frm_stripe_vars.settings,function(setting){if(setting.gateways.includes("stripe"))stripeSettings.push(setting)});return stripeSettings}function priceChanged(_,field,fieldId){const price=getPriceFields();let run=
17 +price.includes(fieldId)||price.includes(field.id);if(!run)for(let i=0;i<price.length;i++)if(field.id.indexOf(price[i])===0)run=true;if(run){clearTimeout(priceChangedTimer);priceChangedTimer=setTimeout(updateIntentAmount(field),600)}}function updateIntentAmount(field){return function(){const form=jQuery(field).closest("form");const formId=form.find('[name="form_id"]').val();if(!form.find(`[name^="frmintent${formId}"]`).length)return;const data={action:"frm_strp_amount",form:JSON.stringify(form.serializeArray()),
18 +nonce:frm_stripe_vars.nonce};postAjax(data,function(){})}}function postAjax(data,success){const xmlHttp=new XMLHttpRequest;const params=typeof data==="string"?data:Object.keys(data).map(function(k){return`${encodeURIComponent(k)}=${encodeURIComponent(data[k])}`}).join("&");xmlHttp.open("post",frm_stripe_vars.ajax,true);xmlHttp.onreadystatechange=function(){let response;if(xmlHttp.readyState>3&&xmlHttp.status==200){response=xmlHttp.responseText;if(response!=="")try{response=JSON.parse(response)}catch(error){response=
19 +""}success(response)}};xmlHttp.setRequestHeader("X-Requested-With","XMLHttpRequest");xmlHttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");xmlHttp.send(params);return xmlHttp}function loadElements(){if(document.getElementsByClassName("frm-card-element").length)maybeLoadStripeLink()}function maybeLoadStripeLink(){const stripeLinkForm=document.querySelector("form.frm_stripe_link_form");if(!stripeLinkForm)return false;const formId=parseInt(stripeLinkForm.querySelector('input[name="form_id"]').value);
20 +const intentField=stripeLinkForm.querySelector(`input[name="frmintent${formId}[]"]`);if(!intentField)return false;disableSubmit(stripeLinkForm);loadStripeLinkElements(intentField.value);triggerCustomEvent(document,"frmStripeLiteLoad",{form:stripeLinkForm});return true}function disableSubmit(form){jQuery(form).find('input[type="submit"],input[type="button"],button[type="submit"]').not(".frm_prev_page").attr("disabled","disabled");triggerCustomEvent(document,"frmStripeLiteDisableSubmit",{form})}function loadStripeLinkElements(clientSecret){const cardElement=
21 +document.querySelector(".frm-card-element");if(!cardElement)return;const appearance={theme:"stripe",variables:{fontSizeBase:frm_stripe_vars.baseFontSize,colorText:maybeAdjustColorForStripe(frm_stripe_vars.appearanceRules[".Input"].color),colorBackground:maybeAdjustColorForStripe(frm_stripe_vars.appearanceRules[".Input"].backgroundColor),fontSmooth:"auto"},rules:frm_stripe_vars.appearanceRules};elements=frmstripe.elements({clientSecret,appearance});isStripeLink=true;insertAuthenticationElement(cardElement);
22 +insertPaymentElement(cardElement);triggerCustomEvent(document,"frmStripeLiteLoadElements",{cardElement})}function maybeAdjustColorForStripe(color){if(0!==color.indexOf("rgba"))return color;const rgba=color.replace(/^rgba?\(|\s+|\)$/g,"").split(",");return`#${((1<<24)+(parseInt(rgba[0],10)<<16)+(parseInt(rgba[1],10)<<8)+parseInt(rgba[2],10)).toString(16).slice(1)}`}function insertAuthenticationElement(cardElement){let emailInput;let addAboveCardElement=true;const emailField=checkForEmailField();const authenticationMountTarget=
23 +createMountTarget("frm-link-authentication-element");if(false!==emailField)if("hidden"===emailField.getAttribute("type"))emailInput=emailField;else{addAboveCardElement=false;emailInput=emailField.querySelector("input");replaceEmailField(emailField,emailInput,authenticationMountTarget)}if(addAboveCardElement){const cardFieldContainer=cardElement.closest(".frm_form_field");cardFieldContainer.parentNode.insertBefore(authenticationMountTarget,cardFieldContainer);triggerCustomEvent(document,"frmStripeLiteAddAuthElementAboveCardElement",
24 +{cardElement,cardFieldContainer,authenticationMountTarget})}const defaultEmailValue=false!==emailField?getSettingFieldValue(emailField):"";const authenticationElement=elements.create("linkAuthentication",{defaultValues:{email:defaultEmailValue}});authenticationElement.mount(".frm-link-authentication-element");authenticationElement.on("change",getAuthenticationChangeHandler(cardElement,emailInput));authenticationElement.on("ready",function(){authenticationMountTarget.style.position="relative";const requiredIndicator=
25 +document.createElement("span");requiredIndicator.textContent="*";requiredIndicator.className="frm_required";requiredIndicator.style.position="absolute";requiredIndicator.style.fontSize="var(--font-size)";requiredIndicator.style.top="-4px";requiredIndicator.style.left=`${getEmailAsteriskOffset(cardElement)}px`;requiredIndicator.style.padding="var(--label-padding)";requiredIndicator.setAttribute("aria-hidden","true");authenticationMountTarget.append(requiredIndicator)})}function getEmailAsteriskOffset(cardElement){const label=
26 +document.createElement("label");label.classList.add("frm_primary_label","form-label");label.textContent="Email";label.innerHTML+="&nbsp;";const tempContainer=document.createElement("div");tempContainer.classList.add("with_frm_style");tempContainer.style.position="absolute";tempContainer.style.visibility="hidden";tempContainer.style.height="0";tempContainer.style.overflow="hidden";const formContainer=cardElement.closest(".with_frm_style");if(formContainer)each(formContainer.classList,function(className){if(className.startsWith("frm_style_")){tempContainer.classList.add(className);
27 +return false}});tempContainer.append(label);document.body.append(tempContainer);const labelWidth=label.getBoundingClientRect().width;tempContainer.remove();return labelWidth}function getAuthenticationChangeHandler(cardElement,emailInput){function syncEmailInput(emailValue){if("string"===typeof emailValue&&emailValue.length)emailInput.value=emailValue}return function(event){linkAuthenticationElementIsComplete=event.complete;if(linkAuthenticationElementIsComplete&&emailInput!==undefined)syncEmailInput(event.value.email);
28 +const form=cardElement.closest("form");if("object"===typeof window.frmChatForm&&"function"===typeof frmChatForm.maybeHandleAuthenticationChange&&frmChatForm.maybeHandleAuthenticationChange(form,event.complete))return;if(readyToSubmitStripeLink(form)){thisForm=form;running=0;enableSubmit()}else disableSubmit(form)}}function replaceEmailField(emailField,emailInput,authenticationMountTarget){emailInput.before(authenticationMountTarget);emailInput.type="hidden";const emailLabel=emailField.querySelector(".frm_primary_label");
29 +if(emailLabel)emailLabel.style.display="none"}function getLayout(){const settings=getStripeSettings()[0];return settings.hasOwnProperty("layout")&&settings.layout||"tabs"}function insertPaymentElement(cardElement){cardElement.parentNode.insertBefore(createMountTarget("frm-payment-element"),cardElement);const paymentElement=elements.create("payment",{layout:{type:getLayout()},defaultValues:{billingDetails:{name:getFullNameValueDefault(),phone:""}}});paymentElement.mount(".frm-payment-element");paymentElement.on("change",
30 +handlePaymentElementChange);function handlePaymentElementChange(event){stripeLinkElementIsComplete=event.complete;toggleButtonsOnPaymentElementChange(cardElement);triggerCustomEvent(document,"frmStripeLitePaymentElementChange",{complete:event.complete})}}function toggleButtonsOnPaymentElementChange(cardElement){const form=cardElement.closest(".frm-show-form");if("object"===typeof window.frmChatForm&&"function"===typeof frmChatForm.maybeHandlePaymentChange&&frmChatForm.maybeHandlePaymentChange(form,
31 +stripeLinkElementIsComplete))return;if(readyToSubmitStripeLink(form)){thisForm=form;running=0;enableSubmit()}else disableSubmit(form)}function readyToSubmitStripeLink(form){if(!linkAuthenticationElementIsComplete||!stripeLinkElementIsComplete)return false;if("object"!==typeof window.frmProForm||"function"!==typeof window.frmProForm.submitButtonIsConditionallyDisabled)return true;return!window.frmProForm.submitButtonIsConditionallyDisabled(form)}function getFullNameValueDefault(){const nameValues=
32 +[];const firstNameField=checkForStripeSettingField("first_name");if(false!==firstNameField)nameValues.push(getSettingFieldValue(firstNameField));const lastNameField=checkForStripeSettingField("last_name");if(false!==lastNameField)nameValues.push(getSettingFieldValue(lastNameField));return nameValues.join(" ")}function getSettingFieldValue(field){return"hidden"===field.getAttribute("type")?field.value:field.querySelector("input").value}function checkForEmailField(){return checkForStripeSettingField("email")}
33 +function checkForStripeSettingField(settingKey){let settingField=false;each(getStripeSettings(),checkStripeSettingForField);function checkStripeSettingForField(currentSetting){if("string"!==typeof currentSetting[settingKey]||!currentSetting[settingKey].length)return;const currentSettingValue=currentSetting[settingKey];const settingIsWrappedAsShortcode="["===currentSettingValue[0]&&"]"===currentSettingValue[currentSettingValue.length-1];let currentFieldId;let fieldMatchByKey;if(settingIsWrappedAsShortcode){currentFieldId=
34 +currentSettingValue.substr(1,currentSettingValue.length-2);if(isNaN(currentFieldId))fieldMatchByKey=document.getElementById(`field_${currentFieldId}`)}else currentFieldId=currentSettingValue;const fieldContainer=fieldMatchByKey?fieldMatchByKey.closest(".frm_form_field"):document.getElementById(`frm_field_${currentFieldId}_container`);if(!fieldContainer){let hiddenInput=document.querySelector(`input[name="item_meta[${currentFieldId}]"]`);if(!hiddenInput)if("first_name"===settingKey)hiddenInput=document.querySelector(`input[name="item_meta[${currentFieldId}][first]"]`);
35 +else if("last_name"===settingKey)hiddenInput=document.querySelector(`input[name="item_meta[${currentFieldId}][last]"]`);if(hiddenInput){settingField=hiddenInput;return false}return}settingField=fieldContainer;return false}return settingField}function onPageChange(){loadElements();runConditionalLogicOnPaymentFailure()}function runConditionalLogicOnPaymentFailure(){if(!document.querySelector(".frm_error_style"))return;if("undefined"===typeof __frmHideOrShowFields||"object"!==typeof window.frmProForm)return;
36 +window.frmProForm.hideOrShowFields(__frmHideOrShowFields,"pageLoad")}function createMountTarget(className){const newElement=document.createElement("div");newElement.className=`${className} frm_form_field form-field`;return newElement}function each(items,callback){const {length}=items;for(let index=0;index<length;index++)if(false===callback(items[index],index))break}function checkPriceFieldsOnLoad(){each(getPriceFields(),function(fieldId){const fieldContainer=document.getElementById(`frm_field_${fieldId}_container`);
37 +if(!fieldContainer)return;const input=fieldContainer.querySelector("input[name^=item_meta]");if(input&&""!==input.value)priceChanged(null,input,fieldId)})}jQuery(document).ready(function(){const stripeParams={locale:frm_stripe_vars.locale,stripeAccount:frm_stripe_vars.account_id};frmstripe=Stripe(frm_stripe_vars.publishable_key,stripeParams);loadElements();jQuery(document).on("frmPageChanged",onPageChange);jQuery(document).off("submit.formidable",".frm-show-form");jQuery(document).on("submit.frmstrp",
38 +".frm-show-form",validateForm);jQuery(document).on("frmFieldChanged",priceChanged);checkPriceFieldsOnLoad()});window.frmStripeLiteForm={readyToSubmitStripeLink,processForm(_,e,form){event=e;thisForm=form;processForm()}}})();