1"use strict";const getFieldsValues=i=>{const s={};for(const n in i){let e=i[n].inputs;if(e.length===1){let t=e.attr("type");t==="checkbox"||t==="radio"?e.prop("checked")?s[n]=e.val():s[n]="":s[n]=e.val()}else{let t=[];e.each((l,c)=>{c.checked&&t.push(c.value)}),e.attr("type")==="radio"?s[n]=t[0]:s[n]=t.length?t:""}}return s},getAllFields=(i,s)=>{const n={};for(const e of s){const t=i.find(".elementor-field-group-"+e);if(t.length){n[e]={wrapper:t};let l=t.find(`[name=form_fields\\[${e}\\]]`);l.length?n[e].inputs=l:n[e].inputs=t.find(`[name=form_fields\\[${e}\\]\\[\\]]`)}}return n},areAllFieldsDisabled=i=>{for(const s of i)if(s.dataset.dceConditionsFieldStatus!=="inactive")return!1;return!0},initializeStepsJumping=i=>{if(!i.hasClass("dce-form-has-conditions"))return;let s=i.find(".elementor-field-type-step");if(s.length<3)return;let n=[];for(const e of s){const t=jQuery(e),l=t.find("> .elementor-field-group"),c=t.find(".elementor-field-type-next button"),g=t.find(".elementor-field-type-previous button");n.push({nextButton:c,previousButton:g,fieldGroups:l})}for(let e=0;e<n.length-2;e++){const t=n[e+1];n[e].nextButton.on("click",()=>{areAllFieldsDisabled(t.fieldGroups)&&t.nextButton.trigger("click")})}for(let e=2;e<n.length;e++){const t=n[e-1];n[e].previousButton.on("click",()=>{areAllFieldsDisabled(t.fieldGroups)&&t.previousButton.trigger("click")})}},buildErrorNotice=(i,s,n)=>{const e=document.createElement("div");e.className="error";
1const t=document.createElement("code");return t.textContent=String(s),e.append(document.createTextNode(i),t,document.createTextNode(n)),e},getOnFormChange=({fields:i,field_conditions:s,submit_conditions:n,$form:e,lang:t})=>{const l=e.find(".elementor-field-type-submit"),c=l.find("button"),g=(d,r)=>{const o=i[d].inputs,a=i[d].wrapper;o.length===1&&o.attr("type")==="file"?o.prop("required")&&(o.data("dce-was-required",!0),o.prop("required",!1)):o.prop("disabled",!0),a[0].dataset.dceConditionsFieldStatus="inactive",r||a.hide()},m=(d,r)=>{const o=i[d].inputs,a=i[d].wrapper,f=o.length===1&&o.attr("type")==="file";o.prop("disabled",!1),f&&o.data("dce-was-required")&&o.prop("required",!0);const y=a[0].dataset.dceConditionsFieldStatus==="active";a[0].dataset.dceConditionsFieldStatus="active",o.data("hide")!=="yes"&&(a.show(),y||a.trigger("dce-field-shown",[d]))},p=d=>{for(const r of s){let o;try{o=t.evaluate(r.condition,d)}catch(f){e.prepend(buildErrorNotice('Conditional Fields Error (the error is on the conditions of field "',r.id,`"): ${f}`))}const a=r.mode==="show"?o:!o;if(!i[r.id]){console.warn("Conditional Fields, could not find field "+r.id);continue}a?m(r.id,r.disableOnly):(d[r.id]="",g(r.id,r.disableOnly))}},h=d=>{let r=!1,o=!1,a=!1;for(const f of n){let y;try{y=t.evaluate(f.expression,d)}catch(b){e.prepend(buildErrorNotice("Conditional Fields Error (the error is on the validation condition ",f.expression,`"): ${b}`))}f.hide==="disable"&&(r=!0),y||(f.hide==="hide"?(a=!0,l.hide()):f.hide==="disable"&&(o=!0,c.prop("disabled",!0)))}a||l.show(),r&&!o&&c.prop("disabled",!1)};return()=>{const d=getFieldsValues(i);p(d),e.find("form").trigger("conditions-done"),h(d)}};function initializeConditionalFields(i){const s=i.find(".elementor-form-fields-wrapper");i.find(".dce-conditions-js-error-notice").remove();let n=s.attr("data-field-conditions"),e=s.attr("data-submit-conditions"),t=s.attr("data-field-ids");if(n===void 0&&e===void 0)return;const l=i.find("form")[0];l&&l.addEventListener("submit",function(){i.find('.elementor-field-group[data-dce-conditions-field-status="inactive"] input[type="file"]').val("")},!0),i.addClass("dce-form-has-conditions");const c=new expressionLanguage.ExpressionLanguage(new expressionLanguage.ArrayAdapter);c.register("in_array",p=>"false",(p,h,u)=>Array.isArray(u)?u.includes(h):u===h),c.register("to_number",p=>"false",(p,h)=>{let u=+h;return isNaN(u)&&(u=0),u}),t=JSON.parse(t),n=JSON.parse(typeof n=="string"?n:"[]"),e=JSON.parse(typeof e=="string"?e:"[]");const g=getAllFields(i,t);let m=getOnFormChange({fields:g,field_conditions:n,submit_conditions:e,$form:i,lang:c});m(),i.on("change",m),i.on("dce-field-shown",p=>{jQuery(p.target).find(".elementor-date-field, .elementor-time-field").each((d,r)=>{if(r._flatpickr){const o={...r._flatpickr.config};r._flatpickr.destroy(),r.flatpickr(o)}})})}jQuery(window).on("elementor/frontend/init",function(){elementorFrontend.hooks.addAction("frontend/element_ready/form.default",initializeConditionalFields),elementorFrontend.hooks.addAction("frontend/element_ready/form.default",i=>setTimeout(()=>initializeStepsJumping(i),2e3))});
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.