var WPForms=window.WPForms||{};WPForms.Admin=WPForms.Admin||{},WPForms.Admin.Builder=WPForms.Admin.Builder||{},WPForms.Admin.Builder.DragFields=WPForms.Admin.Builder.DragFields||((e,c,g)=>{let w=!1,h=[],F=!1,a=[],d=new Map,v={},b={},y={init(){g(y.ready)},ready(){y.setup(),y.initSortableFields(),y.events()},setup(){v={$builder:g("#wpforms-builder"),$sortableFieldsWrap:g("#wpforms-panel-fields .wpforms-field-wrap"),$addFieldsButtons:g(".wpforms-add-fields-button").not(".not-draggable").not(".warning-modal").not(".education-modal")}},events(){v.$builder.on("wpformsFieldDragToggle",y.fieldDragToggleEvent).on("wpformsFieldAdd",function(e,l,r){"layout"===r&&setTimeout(function(){g("#wpforms-field-"+l).find(".wpforms-layout-column").each(function(){y.initSortableHandler(g(this)),g(this).sortable("enable")})},100)}),g(e).on("wpformsLayoutPresetChanged",y.layoutPresetChanged)},disableDragAndDrop(){v.$sortableFieldsWrap.trigger("initSortableImmediately"),v.$addFieldsButtons.filter(".ui-draggable").draggable("disable"),v.$sortableFieldsWrap.sortable("disable"),v.$sortableFieldsWrap.find(".wpforms-layout-column.ui-sortable").data("ui-sortable")&&v.$sortableFieldsWrap.find(".wpforms-layout-column.ui-sortable").sortable("disable")},enableDragAndDrop(){v.$addFieldsButtons.filter(".ui-draggable").draggable("enable"),v.$sortableFieldsWrap.sortable("enable"),v.$sortableFieldsWrap.find(".wpforms-layout-column.ui-sortable").sortable("enable")},fieldDragDisable(e,i=!0){if(e.hasClass("ui-draggable-disabled"))e.draggable("enable");else{let r;e.draggable({revert:!0,axis:"y",delay:100,opacity:1,cursor:"move",start(e,l){r=l.position.top},drag(e,l){if(15 .wpforms-field:not(.wpforms-field-stick):not(.no-fields-preview):not(.wpforms-field-multi-drag)",connectWith:".wpforms-field-wrap, .wpforms-layout-column",delay:100,opacity:1,cursor:"move",cancel:".wpforms-field-not-draggable",placeholder:"wpforms-field-drag-placeholder",appendTo:"#wpforms-panel-fields",zindex:1e4,tolerance:"pointer",distance:1,start(e,l){a=l.item.data("field-id"),s=l.item.data("field-type"),n=void 0===a,f=g("#wpforms-field-option-"+a),h=WPForms.Admin.Builder.MultiSelect?.getSelectedFields(),v.$builder.trigger("wpformsBeforeFieldDragStart",[a,h]),1r.top&&l');return b.fieldType=e.data("field-type"),l.html(e.html())},start(e,l){if(WPFormsUtils.triggerEvent(v.$builder,"wpformsFieldAddDragStart",[b.fieldType,l]).isDefaultPrevented())return!1},stop(e,l){if(WPFormsUtils.triggerEvent(v.$builder,"wpformsFieldAddDragStop",[b.fieldType,l]).isDefaultPrevented())return!1}})},isFieldAllowedInColumn(e,l){var r;return!WPForms.Admin.Builder.FieldLayout||(r=WPForms.Admin.Builder.FieldLayout?.isFieldAllowedInColumn(e,l),wp.hooks.applyFilters("wpforms.LayoutField.isFieldAllowedDragInColumn",r,e,l))},revertMoveFieldToColumn(e){var l;void 0===e.data("field-id")?e.remove():(e=e.detach(),l=b.$sortableStart.find("> .wpforms-field").eq(b.startPosition),e.removeClass("wpforms-field-dragging").removeClass("wpforms-field-drag-over").attr("style",""),l.length?l.before(e):b.$sortableStart.append(e))},multiSelect:{revertMoveFieldsToColumn(){var e=[...h].reverse();let i=[];e.forEach(e=>{var l=g("#wpforms-field-"+e),r=d.get(e);l.length&&r&&r.parent&&r.parent.length&&i.push({fieldElement:l[0],parentElement:r.parent[0],index:Number.isFinite(r.index)?r.index:0,fieldId:e})}),i.sort((e,l)=>e.parentElement===l.parentElement?l.index-e.index:0).forEach(e=>{var{fieldElement:e,parentElement:l,index:r}=e,r=l.children[r];r&&r!==e?r.before(e):r||l.appendChild(e)}),y.showErrorPopup({title:wpforms_builder.repeater.not_allowed,content:wpforms_builder.repeater.multi_select_to_rows_rejected_alert}),WPForms.Admin.Builder.MultiSelectActions?.updateFirstSelectedClass(),y.multiSelect.cleanupState(!0,!0)},handleSuccess(e,l){var r=l.parent(),i=r.hasClass("wpforms-layout-column"),t=Number.parseInt(l.data("field-id"),10),d=a.indexOf(t),o=a.slice(d+1),d=a.slice(0,d);y.multiSelect.processMainDraggedField(l,i),y.multiSelect.moveFieldsAfterDragged(o,l,i,r),y.multiSelect.moveFieldsBeforeDragged(d,l,i,r),y.multiSelect.handleFieldsMovedOutOfLayouts(),y.multiSelect.reorderLayoutOptions(l),y.multiSelect.adjustRepeaterFieldsAppearance(),WPForms.Admin.Builder.MultiSelectActions?.updateFirstSelectedClass(),v.$builder.trigger("wpformsMultiFieldMove",[e,t,h]),y.multiSelect.cleanupState()},initDrag(){d.clear(),F=!1,a=[],v.$builder.find(".wpforms-field").each(function(){var e=g(this).data("field-id");e&&h.includes(e)&&a.push(e)}),y.multiSelect.includeContainerFieldChildren(),h.forEach(e=>{var l=g("#wpforms-field-"+e),r=l.parent(),i=l.next(),t=l.index(),l=(l.addClass("wpforms-field-multi-drag"),{parent:r,nextSibling:i,index:t});d.set(e,l)}),v.$sortableFieldsWrap.sortable("refresh"),v.$sortableFieldsWrap.find(".wpforms-layout-column.ui-sortable").each(function(){g(this).sortable("refresh")})},cleanupState(e=!1,l=!1){w=!1,h=[],a=[],e&&d.clear();e=g("#wpforms-panel-fields .wpforms-field");l&&(F=!1,e.attr("style","")),e.removeClass("wpforms-field-multi-drag").removeClass("wpforms-field-dragging")},processMainDraggedField(e,l){var r;l&&(l=Number.parseInt(e.data("field-id"),10),r=e.parent(),WPForms.Admin.Builder.FieldLayout?.receiveFieldToColumn(l,e.index()-1,r),WPForms.Admin.Builder.FieldLayout?.fieldOptionsUpdate(null,l))},moveFieldsAfterDragged(e,l,i,t){let d=l,o=g("#wpforms-field-option-"+l.data("field-id"));e.forEach(e=>{var l=g("#wpforms-field-"+e),r=g("#wpforms-field-option-"+e);l.length&&r.length&&(l.detach(),d.after(l),i&&(WPForms.Admin.Builder.FieldLayout?.receiveFieldToColumn(e,l.index()-1,t),WPForms.Admin.Builder.FieldLayout?.fieldOptionsUpdate(null,e)),o.length&&(r.detach(),o.after(r)),d=l,o=r,v.$builder.trigger("wpformsFieldMove",[{item:l},e,h]))});l=g("#wpforms-panel-fields .wpforms-field");let r=[];l.each(function(){var e=g(this).data("field-id");e&&r.push(e)}),r.forEach(e=>{e=g("#wpforms-field-option-"+e);e.length&&(e.detach(),g("#wpforms-field-options").append(e))})},moveFieldsBeforeDragged(e,t,d,o){let a=Number.parseInt(t.data("field-id"),10);e.reverse().forEach(e=>{var l,r=g("#wpforms-field-"+e),i=g("#wpforms-field-option-"+e);r.length&&i.length&&(r.detach(),t.before(r),d&&(WPForms.Admin.Builder.FieldLayout?.receiveFieldToColumn(e,r.index()-1,o),WPForms.Admin.Builder.FieldLayout?.fieldOptionsUpdate(null,e)),(l=g("#wpforms-field-option-"+a)).length&&(i.detach(),l.before(i)),v.$builder.trigger("wpformsFieldMove",[{item:r},e,h]))})},reorderLayoutOptions(e){e=e.closest(".wpforms-field-layout, .wpforms-field-repeater");e.length&&WPForms.Admin.Builder.FieldLayout?.reorderLayoutFieldsOptions(e)},handleFieldsMovedOutOfLayouts(){a.forEach(e=>{var l=g("#wpforms-field-"+e),r=d.get(e)?.parent;l.length&&r&&r.length&&(r=r.hasClass("wpforms-layout-column"),l=0===l.closest(".wpforms-field-layout, .wpforms-field-repeater").length,r)&&l&&WPForms.Admin.Builder.FieldLayout?.removeFieldFromColumns(e)})},handleMultiSelectDragToMainContainer(){let l=new Set;return h.forEach(e=>{e=g("#wpforms-field-"+e).closest(".wpforms-field-layout, .wpforms-field-repeater");e.length&&l.add(e.get(0))}),h.forEach(e=>{var l=g("#wpforms-field-"+e),r=d.get(e)?.parent;l.length&&r?.length&&(r.hasClass("wpforms-layout-column")?(WPForms.Admin.Builder.FieldLayout?.removeFieldFromColumns(e),WPForms.Admin.Builder.FieldLayout?.fieldOptionsUpdate(null,e),setTimeout(()=>{y.multiSelect.cleanupFieldMarginWhenMovedToBase(e)},0)):(WPForms.Admin.Builder.FieldLayout?.receiveFieldToColumn(e,l.index()-1,r),WPForms.Admin.Builder.FieldLayout?.fieldOptionsUpdate(null,e)))}),l.forEach(e=>{WPForms.Admin.Builder.FieldLayout?.reorderLayoutFieldsOptions(g(e))}),!0},hasRestrictedInColumnFields(l){return h.some(e=>{e=g("#wpforms-field-"+e);return!y.isFieldAllowedInColumn(e.data("field-type"),l)})},handleFieldRestrictionsOver(e,l,r){var i=r.hasClass("wpforms-layout-column"),t=y.multiSelect.hasRestrictedInColumnFields(r);F=(i&&t||(i=r.closest(".wpforms-field-repeater").data("field-id"),!!WPForms.Admin.Builder.FieldRepeater?.isRepeaterWithRowsDisplay?.(i)))&&(e.addClass("wpforms-field-drag-not-allowed"),l.addClass("wpforms-field-drag-not-allowed"),!0)},includeContainerFieldChildren(){h.filter(e=>{e=g("#wpforms-field-"+e).data("field-type");return"repeater"===e||"layout"===e}).forEach(e=>{g("#wpforms-field-"+e).find(".wpforms-field").each(function(){var e=g(this),l=e.data("field-id");l&&!h.includes(l)&&(h.push(l),e.addClass("selected"))})})},adjustRepeaterFieldsAppearance(){let l=new Set;a.forEach(e=>{var e=d.get(e)?.parent;e&&e.length&&(e=e.closest(".wpforms-field-repeater")).length&&l.add(e.data("field-id"))}),a.forEach(e=>{e=g("#wpforms-field-"+e).closest(".wpforms-field-repeater");e.length&&l.add(e.data("field-id"))}),l.forEach(e=>{WPForms.Admin.Builder.FieldRepeater?.adjustRowsAppearance?.(e)})},cleanupFieldMarginWhenMovedToBase(e){e=g("#wpforms-field-"+e);e.length&&!e.closest(".wpforms-layout-column").length&&(e[0].style.marginBottom=null)}}};return y})(document,window,jQuery),WPForms.Admin.Builder.DragFields.init();