1"use strict";const getFieldsValues=i=>{const r={};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")?r[n]=e.val():r[n]="":r[n]=e.val()}else{let t=[];e.each((l,c)=>{c.checked&&t.push(c.value)}),e.attr("type")==="radio"?r[n]=t[0]:r[n]=t.length?t:""}}return r},getAllFields=(i,r)=>{const n={};for(const e of r){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 r of i)if(r.dataset.dceConditionsFieldStatus!=="inactive")return!1;return!0},initializeStepsJumping=i=>{if(!i.hasClass("dce-form-has-conditions"))return;let r=i.find(".elementor-field-type-step");if(r.length<3)return;let n=[];for(const e of r){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")})}},getOnFormChange=({fields:i,field_conditions:r,submit_conditions:n,$form:e,lang:t})=>{const l=e.find(".elementor-field-type-submit"),c=l.find("button"),g=(d,s)=>{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",s||a.hide()},m=(d,s)=>{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 v=a[0].dataset.dceConditionsFieldStatus==="active";a[0].dataset.dceConditionsFieldStatus="active",o.data("hide")!=="yes"&&(a.show(),v||a.trigger("dce-field-shown",[d]))},p=d=>{for(const s of r){let o;try{o=t.evaluate(s.condition,d)}catch(f){e.prepend(` 2<div class="error"> 3Conditional Fields Error (the error is on the conditions of field "<code>${s.id}</code>"): ${f} 4</div>`)}const a=s.mode==="show"?o:!o;if(!i[s.id]){console.warn("Conditional Fields, could not find field "+s.id);continue}a?m(s.id,s.disableOnly):(d[s.id]="",g(s.id,s.disableOnly))}},h=d=>{let s=!1,o=!1,a=!1;for(const f of n){let v;try{v=t.evaluate(f.expression,d)}catch(y){e.prepend(` 5<div class="error"> 6Conditional Fields Error (the error is on the validation condition <code>${f}</code>"): ${y} 7</div>`)}f.hide==="disable"&&(s=!0),v||(f.hide==="hide"?(a=!0,l.hide()):f.hide==="disable"&&(o=!0,c.prop("disabled",!0)))}a||l.show(),s&&!o&&c.prop("disabled",!1)};return()=>{const d=getFieldsValues(i);p(d),e.find("form").trigger("conditions-done"),h(d)}};function initializeConditionalFields(i){const r=i.find(".elementor-form-fields-wrapper");i.find(".dce-conditions-js-error-notice").remove();let n=r.attr("data-field-conditions"),e=r.attr("data-submit-conditions"),t=r.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,s)=>{if(s._flatpickr){const o={...s._flatpickr.config};s._flatpickr.destroy(),s.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.