@themarioga/grid-editor 6.0.0-beta.4 → 6.0.0-beta.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,2 +1,2 @@
1
- (sn=>{var cn={getHtml:{value:!0,noInstance:function(e){return e.html()}},getPlainHtml:{value:!0,noInstance:function(e){return An(e.html())}},init:{},deinit:{},reset:{},destroy:{},remove:{},changeView:{},getView:{value:!0},createRow:{value:!0},createColumn:{value:!0},createElement:{value:!0},createText:{value:!0},createSection:{value:!0},createContainer:{value:!0},addTab:{value:!0},addAccordionItem:{value:!0},setLocale:{},getUtility:{value:!0},setUtility:{value:!0}},dn=["appendTo","prependTo","insertAfter","insertBefore"],un=[{key:"xs",infix:"",colPrefix:"col-",offsetPrefix:"offset-",min:0,preview:400,labelKey:"view.xs"},{key:"sm",infix:"sm",colPrefix:"col-sm-",offsetPrefix:"offset-sm-",min:576,preview:576,labelKey:"view.sm"},{key:"md",infix:"md",colPrefix:"col-md-",offsetPrefix:"offset-md-",min:768,preview:768,labelKey:"view.md"},{key:"lg",infix:"lg",colPrefix:"col-lg-",offsetPrefix:"offset-lg-",min:992,preview:992,labelKey:"view.lg"},{key:"xl",infix:"xl",colPrefix:"col-xl-",offsetPrefix:"offset-xl-",min:1200,preview:1200,labelKey:"view.xl"},{key:"xxl",infix:"xxl",colPrefix:"col-xxl-",offsetPrefix:"offset-xxl-",min:1400,preview:null,labelKey:"view.xxl"}],fn="all",t="view.all",gn=[fn].concat(un.map(function(e){return e.key})),pn=["lg","sm","xs"],mn=12,hn=["equal","auto"],vn=["1","2","3","4","5","6","auto"];function bn(e,t){return"row-cols"+(e.infix?"-"+e.infix:"")+"-"+t}function wn(e){return"number"==typeof e}function yn(e,t){return"equal"===t?e.infix?"col-"+e.infix:"col":e.colPrefix+t}function xn(e){for(var t=0;t<un.length;t++)if(un[t].key===e)return un[t];return null}function _n(e){return e===fn?[un[0]]:(e=xn(e))?[e]:[]}function kn(e){e=xn(e);return e?e.labelKey:t}var Cn={add_column:{size:12,picker:!0,delay:600},elements:{enabled:"auto",selector:"[data-ge-element]",auto:!1},resize:{enabled:!0,handles:"e",balance:"next"},drag:{delay:0,touch_delay:100,threshold:3,animation:150,scroll:!0}},Tn={sortable_options:"drag",resizable_options:"resize"},n={},zn=0;function En(e,t,n){var o=sn.fn.gridEditor.locales,a=o[e.locale]||{},e=(e.locale_strings||{})[t];return void 0===(e=void 0===(e=void 0===e?a[t]:e)?o.en[t]:e)&&(r("locale:"+t,'no string for "'+t+'" in any locale, showing the key'),e=t),e.replace(/\{(\w+)\}/g,function(e,t){return n&&void 0!==n[t]?n[t]:e})}function Mn(e){window.console&&window.console.warn&&window.console.warn("grid-editor: "+e)}function r(e,t){n[e]||(n[e]=!0,Mn(t))}function An(e){var t=sn(document.implementation.createHTMLDocument("").body),a=(t[0].innerHTML=e,[]);return t.find("*").each(function(){var n=sn(this),o=!1,e=(sn.each(sn.makeArray(this.attributes),function(e,t){0===t.name.indexOf("data-ge-")&&(n.removeAttr(t.name),o=!0)}),(n.attr("class")||"").split(/\s+/).filter(Boolean)),t=e.filter(function(e){return"column"!==e&&0!==e.indexOf("ge-")});t.length!==e.length&&(o=!0),t.length?n.attr("class",t.join(" ")):n.removeAttr("class"),o&&"DIV"===this.tagName&&!this.attributes.length&&a.push(this)}),a.forEach(function(e){sn(e).replaceWith(sn(e).contents())}),t[0].innerHTML}sn.fn.gridEditor=function(ln){if("string"!=typeof ln)return this.each(function(R,e){e=sn(e);var o,a,N,K,B,i,f=sn.extend({new_row_layouts:[[12],[6,6],[4,4,4],[3,3,3,3],[2,2,2,2,2,2],[2,8,2],[4,8],[8,4]],row_classes:[],col_classes:[],col_tools:[],row_tools:[],drag_handle:"tool",toolbar_drag:"auto",element_tools:[],element_classes:[],container_classes:[],pane_classes:[],container_tools:[],tab_tools:[],accordion_tools:[],plugins:null,row_cols:!0,utilities:{},elements:Cn.elements,custom_filter:"",valid_col_sizes:[1,2,3,4,5,6,7,8,9,10,11,12,"equal","auto"],valid_col_offsets:[0,1,2,3,4,5,6,7,8,9,10,11],add_column:Cn.add_column,layout_modes:gn.slice(),default_view:fn,resize:Cn.resize,source_textarea:"",locale:"en",locale_strings:{},callbacks:{},confirm_delete:!0,settings_panel:"offcanvas",drag:Cn.drag},ln),p=(sn.each(Cn,function(e,t){f[e]=sn.extend({},t,f[e])}),sn.each(Tn,function(e,t){ln&&void 0!==ln[e]&&Mn(sn.fn.gridEditor.t(f,"warning.setting_removed",{setting:e,replacement:t}))}),f.default_view),r=null,l=null,s=null,U={},q=[],V=++zn;function d(e,t){U[e]||(U[e]=!0,Mn(t))}function u(e,t){return En(f,e,t)}var t,g=e.addClass("ge-canvas"),H=0,J=[];function m(e,t,n){return sn.extend({kind:e,node:t,parent:t.parent(),canvas:g,breakpoint:p,source:"api"},n||{})}function h(e,t){var n=[e],o=e.replace(/^(before|after)-add-.+$/,"$1-add"),a=(o!==e&&n.push(o),!1);return n.forEach(function(e){e=sn.Event("grideditor:"+e);g.trigger(e,[t]),e.isDefaultPrevented()&&(a=!0)}),n.forEach(function(e){e=f.callbacks[e.replace(/-/g,"_")];"function"==typeof e&&!1===e(t)&&(a=!0)}),!a}function v(e){H++;try{return e()}finally{if(0===--H)for(;J.length;)J.shift()()}}function L(e){0===H?e():J.push(e)}function b(t,n,o,a){e=t;var e,i=sn.fn.gridEditor.containers[e]?"container":e;return v(function(){var e=m(t,n,a);return h("before-add-"+i,e)?(o(),c(),h("after-add-"+i,e),n):null})}function W(e,t){var n,o;f.confirm_delete?window.bootstrap&&window.bootstrap.Modal?(r||((r=sn('<div class="modal fade ge-confirm" tabindex="-1" aria-hidden="true"><div class="modal-dialog modal-dialog-centered"><div class="modal-content"><div class="modal-header"><h5 class="modal-title"></h5><button type="button" class="btn-close" data-bs-dismiss="modal"></button></div><div class="modal-body"><p class="ge-confirm-message"></p></div><div class="modal-footer"><button type="button" class="btn btn-secondary ge-confirm-cancel" data-bs-dismiss="modal"></button><button type="button" class="btn btn-danger ge-confirm-ok"></button></div></div></div></div>').appendTo("body")).find(".modal-title").text(u("confirm.title")),r.find(".btn-close").attr("aria-label",u("confirm.cancel")),r.find(".ge-confirm-cancel").text(u("confirm.cancel")),r.find(".ge-confirm-ok").text(u("confirm.ok"))),o=!1,(n=r).find(".ge-confirm-message").text(e),n.find(".ge-confirm-ok").off("click").on("click",function(){o=!0,window.bootstrap.Modal.getInstance(n[0]).hide()}),n.off("hidden.bs.modal").on("hidden.bs.modal",function(){o&&t()}),n.off("shown.bs.modal").on("shown.bs.modal",function(){n.find(".ge-confirm-ok").trigger("focus")}),window.bootstrap.Modal.getOrCreateInstance(n[0]).show()):window.confirm(e)&&t():t()}function F(){var e;r&&(window.bootstrap&&window.bootstrap.Modal&&(e=window.bootstrap.Modal.getInstance(r[0]))&&e.dispose(),r.remove(),r=null)}function w(t,n,o,a){v(function(){var e=m(t,n,{source:"tool"});h("before-delete",e)&&W(o,function(){v(function(){a(function(){n.remove(),v(function(){c(),h("after-delete",e)})})})})})}function X(n,t,e){var o,a,i;return(e=e||p)!==fn?(e=xn(e),(o=St({size:t,offset:Ct(n,e)||0})).refused||xt(n,e)===o.size?null:{writes:[{tier:e,size:o.size}],cleared:null,size:o.size}):!un.some(function(e){return St({size:t,offset:Ct(n,e)||0}).refused})&&(e=un[0],a=[],i=[],un.slice(1).forEach(function(e){var t=xt(n,e);null!==t&&(a.push({tier:e,size:null}),i.push({breakpoint:e.key,value:t}))}),xt(n,e)!==t&&a.unshift({tier:e,size:t}),a.length)?{writes:a,cleared:i,size:t}:null}function $(t,e){e.writes.forEach(function(e){Mt(t,e.tier,e.size)}),Ot(t)}function Y(e,t){return t&&(e.cleared=t),e}function G(t,e,n,o){o=o||p;var a=et(t),i=X(t,e,o);return!!i&&v(function(){var e=m("column",t,Y({source:n,breakpoint:o,from:a,to:i.size},i.cleared));return h("before-resize",e)?($(t,i),C(t),h("after-resize",e),!0):(C(t),!1)})}function Q(o,a,t){var n=p===fn,i=n?un[0]:xn(p),r=ot(o),l=(a=Math.min(Math.max(a,0),11),n?un.slice(1).filter(function(e){return null!==_t(o,e)}):[]);(_t(o,i)||0)===a&&!l.length||v(function(){var e=m("column",o,Y({source:t,from:r,to:a},n?l.map(function(e){return{breakpoint:e.key,value:_t(o,e)}}):null));return!!h("before-indent",e)&&(At(o,i,a),l.forEach(function(e){At(o,e,0)}),(n?un:[i]).forEach(function(e){var t,n=kt(o,e);wn(n)&&(t=St({size:n,offset:a,leading:"offset"})).size!==n&&Mt(o,e,t.size)}),C(o),h("after-indent",e),!0)})}function Z(e){var t=e.parent();return{parent:t,index:t.children().not(".ge-tools-drawer").index(e)}}function y(n){var o=null;return sn.each(z,function(e,t){!o&&t.kindOf&&(o=t.kindOf(n))}),o||(n.attr("data-ge-container")?n.attr("data-ge-container"):n.hasClass("ge-tab")?"tab":n.hasClass("ge-accordion-item")?"accordion-item":n.hasClass("row")?"row":n.hasClass("column")?"column":n.hasClass("ge-element")?"element":(n=n.hasClass("ge-text-block")?n.children(".ge-content"):n).hasClass("ge-content")?n.attr("data-ge-content-type")?"text":"plain":"node")}function ee(){o=sn('<div class="ge-mainControls" />').insertBefore(i),a=sn('<div class="ge-wrapper ge-top" />').appendTo(o),N=sn('<div class="ge-addRowGroup btn-group" />').appendTo(a),K=sn('<div class="ge-addContainerGroup btn-group ms-1" />'),sn.each(f.new_row_layouts,function(e,t){var n,o,a=!Array.isArray(t),i=sn('<a class="btn btn-sm btn-primary" />').attr("title",a?u("row.add_row_cols",{columns:t.columns,counts:(n=t.row_cols,un.filter(function(e){return n&&void 0!==n[e.key]}).map(function(e){return(e.infix?e.key+": ":"")+n[e.key]}).join(", "))}):u("row.add",{layout:t.join("-")})).attr("data-ge-toolbar","row").attr("data-ge-layout",a?JSON.stringify(t):t.join(",")).on("click",function(){var e=le(t);b("row",e,function(){e.appendTo(g)},{parent:g,source:"tool"})&&e[0].scrollIntoView&&e[0].scrollIntoView({behavior:"smooth"})}).appendTo(N),a=(i.append('<i class="bi bi-plus"></i>'),a?(a=t,o=1,sn.each(a.row_cols||{},function(e,t){"auto"!==t&&(o=Math.max(o,parseInt(t,10)||1))}),Array.apply(null,Array(Math.min(o,a.columns||o))).map(function(){return"equal"})):t),r='<div class="row ge-row-icon">';a.forEach(function(e){r+='<div class="column '+yn(un[0],e)+'"></div>'}),r+="</div>",i.append(r)}),K.appendTo(a),sn.each(T,function(n,o){te(sn('<a class="btn btn-sm btn-primary ge-add-container" />'),u(o.labelKey),o.iconClass).attr("data-ge-toolbar","container").attr("data-ge-container-type",n).on("click",function(){var e=Wt(),t=j(mn).appendTo(e),t=o.create({}).appendTo(t);b(n,t,function(){e.appendTo(g)},{parent:g,source:"tool"})}).appendTo(K)});var l=[],e=(sn.each(z,function(r,e){(e.toolbar||[]).forEach(function(e,t){n=r,t=t,a=(o=e).iconClass||("end"===o.align?"bi bi-plus":null),i="function"==typeof o.label?o.label():o.label||u(o.labelKey);var n,o,a,i=te(sn('<a class="btn btn-sm btn-primary ge-add-container ge-add-feature" />'),i,a).addClass(o.className||"").attr("data-ge-toolbar","feature").attr("data-ge-feature",n).attr("data-ge-item",t).on("click",function(){var e=o.create(),t=o.inColumn?ae(e):e;b(o.kind,e,function(){t.appendTo(g)},{parent:g,source:o.source||"tool"})&&o.inColumn&&t[0].scrollIntoView&&t[0].scrollIntoView({behavior:"smooth"})});"end"===e.align?l.push(i):i.appendTo(K)})}),B=sn('<div class="dropdown pull-right ge-layout-mode"><button type="button" class="btn btn-sm btn-primary dropdown-toggle" data-bs-toggle="dropdown"></button><div class="dropdown-menu" role="menu"></div></div>').on("click","a",function(){tn(sn(this).attr("data-ge-view"))}).appendTo(a),f.layout_modes.forEach(function(e){sn('<a class="dropdown-item" />').attr("data-ge-view",e).attr("title",u(kn(e))).text(u(kn(e))).appendTo(B.find(".dropdown-menu"))}),B.find("button").text(u(kn(p))),sn('<div class="btn-group pull-right"/>').appendTo(a)),t=sn('<button type="button" class="btn btn-sm btn-primary gm-edit-mode"><i class="bi bi-code-slash"></i></button>').attr("title",u("tool.edit_source")).on("click",function(){(t.hasClass("active")?(g.empty().html(i.val()).show(),c(),i):(me(),i.height(.8*sn(window).height()).val(g.html()).show(),g)).hide(),t.toggleClass("active btn-danger")}).appendTo(e),n=sn('<button type="button" class="btn btn-sm btn-primary gm-preview"><i class="bi bi-eye-fill"></i></button>').attr("title",u("tool.preview")).on("mouseenter",function(){g.removeClass("ge-editing")}).on("click",function(){n.toggleClass("active btn-danger").trigger("mouseleave")}).on("mouseleave",function(){n.hasClass("active")||g.addClass("ge-editing")}).appendTo(e);l.length&&sn('<div class="pull-right ge-toolbar-end" />').append(l).appendTo(a),e=o.find("[data-ge-toolbar]").removeClass("ge-palette-button").off("pointerdown.ge-palette"),("auto"!==f.toolbar_drag?f.toolbar_drag:"drawer"===f.drag_handle)&&e.addClass("ge-palette-button").on("pointerdown.ge-palette",ne)}function te(e,t,n){return e.attr("title",t),n?e.append(sn("<i />").addClass(n)):e.append('<i class="bi bi-plus"></i>').append(sn("<span />").text(t))}function ne(e){var c=sn(e.currentTarget),n=e.pageX,o=e.pageY,d=null;function u(e){if(!d){if(t=e,!(Math.abs(t.pageX-n)+Math.abs(t.pageY-o)>f.drag.threshold))return;d=c.clone().addClass("ge-toolbar-helper").appendTo("body"),g.addClass("ge-dropping")}d.css({left:e.pageX-14,top:e.pageY-14});var t=e.pageX;(t=oe(t,e.pageY))?(s=s||sn('<div class="ge-drop-marker" />'),t.before?s.insertBefore(t.before):s.appendTo(t.region)):ie()}e.button||sn(document).on("pointermove.ge-toolbar",u).on("pointerup.ge-toolbar pointercancel.ge-toolbar",function e(t){var n,o,a,i,r,l,s;sn(document).off("pointermove.ge-toolbar",u).off("pointerup.ge-toolbar pointercancel.ge-toolbar",e),d&&(d.remove(),g.removeClass("ge-dropping"),ie(),c.one("click",function(e){e.preventDefault(),e.stopImmediatePropagation()}),t=oe(t.pageX,t.pageY))&&(n=t,"feature"===(t=c).attr("data-ge-toolbar")?(a=n,l=(o=z[(o=t).attr("data-ge-feature")].toolbar[parseInt(o.attr("data-ge-item"),10)]).create(),i=l,o.inColumn?a.region.is(".column")||(i=ae(l)):Rt(a.region,l)||(r=a.region.parentsUntil(g).addBack().first(),(a={region:g,before:r.length?r.next():null}).before&&!a.before.length&&(a.before=null)),b(o.kind,l,function(){a.before?i.insertBefore(a.before):i.appendTo(a.region)},{parent:a.region,source:o.source||"dragdrop"})):(r="container"===t.attr("data-ge-toolbar"),l=t.attr("data-ge-container-type"),s=t=r?T[l].create({}):(e=>/^\s*\{/.test(e||"")?le(JSON.parse(e)):le((e||"").split(",").filter(function(e){return""!==e}).map(re)))(t.attr("data-ge-layout")),r&&!n.region.is(".column")&&(s=ae(t)),b(r?l:"row",t,function(){n.before?s.insertBefore(n.before):s.appendTo(n.region)},{parent:n.region,source:"dragdrop"})))})}function oe(e,t){var n,e=e-window.scrollX,o=t-window.scrollY,t=document.elementFromPoint(e,o);return!t||!(e=sn(t).closest([".column",".ge-canvas"].concat(jt("regions")).join(", "))).length||e[0]!==g[0]&&!g[0].contains(e[0])?null:(n=null,e.children(Dt()).each(function(){var e;n||(e=this.getBoundingClientRect(),o<e.top+e.height/2&&(n=sn(this)))}),{region:e,before:n})}function ae(e){var t=Wt();return j(mn).appendTo(t).append(e),t}function ie(){s&&s.remove()}function re(e){return/^\d+$/.test(String(e))?parseInt(e,10):e}function le(e){var n=Wt();if(Array.isArray(e))e.forEach(function(e){j(e).appendTo(n)});else{sn.each(e.row_cols||{},function(e,t){e=xn(e);e&&-1!==vn.indexOf(String(t))&&n.addClass(bn(e,t))});for(var t=0;t<(e.columns||0);t++)j(null).appendTo(n)}return n}function se(e){var t=sn(window);t.scrollTop()>o.offset().top&&t.scrollTop()<g.offset().top+g.height()?a.hasClass("ge-top")&&a.css({left:a.offset().left,width:a.outerWidth()}).removeClass("ge-top").addClass("ge-fixed"):a.hasClass("ge-fixed")&&a.css({left:"",width:""}).removeClass("ge-fixed").addClass("ge-top")}function ce(){var t,e,n=sn(this);n.attr("data-ge-content-type")||M()||n.is(":visible")&&(e=ge()).length&&(1===e.length?de(n,e[0]):(e=e,ue((n=(t=n).parent(".ge-text-block")).children(".ge-tools-drawer"),e.map(function(e){return{label:e.label,title:u("tool.convert_type",{editor:e.label}),attributes:{"data-ge-content-type":e.type},choose:function(){de(t,e)}}}),"ge-text-picker ge-convert-picker",n)))}function de(t,n){n.available&&!n.available()?n.missingKey&&console.error(u(n.missingKey)):v(function(){var e=m("plain",t,{source:"tool",from:"plain",to:n.type});return!!h("before-convert",e)&&(t.addClass("ge-content-type-"+n.type).attr("data-ge-content-type",n.type),t.parent(".ge-text-block").removeClass("ge-plain-block").children(".ge-tools-drawer").remove(),h("after-convert",e),n.edit(t),!0)})}function ue(e,t,n,o){M(),e.closest(".ge-tools-drawer").addClass("ge-picker-open"),l=sn('<div class="ge-size-picker" />').addClass(n||"").appendTo(e),t.forEach(function(t){sn('<a class="ge-size ge-size-flex" />').attr(t.attributes||{}).attr("title",t.title||t.label).text(t.label).on("click",function(e){e.preventDefault(),e.stopPropagation(),M(),t.choose()}).appendTo(l)}),(o||e).one("mouseleave",function(){window.setTimeout(function(){l&&!l.is(":hover")&&M()},400)})}function fe(){var n={},o=[];return sn.each(z,function(t,e){e.textTypes&&(e.textTypes()||[]).forEach(function(e){n[e.type]?n[e.type]!==t&&d("text-type:"+e.type,'the "'+t+'" plugin declares the text type "'+e.type+'", which the "'+n[e.type]+'" plugin already declares: ignored'):(n[e.type]=t,o.push(e))})}),o}function ge(){return fe().filter(function(e){return!1!==e.offered})}function pe(){me(),c()}function c(){O&&!sn.contains(document.documentElement,O.node[0])&&I(),Yt(!0),g.addClass("ge-editing"),g.toggleClass("ge-drag-drawer","drawer"===f.drag_handle),g.find('.column, div[class*="col-"], div.col').each(function(){var t,e=sn(this).addClass("column");t=e,un.filter(function(e){return null!==xt(t,e)}).length||ht(e.parent())||Mt(e,un[0],mn)});n=[".row","[data-ge-container]"],sn.each(z,function(e,t){t="function"==typeof t.cuts?t.cuts():t.cuts;t&&n.push(t)});var n,c,o,e=n.join(", ");c=e,g.find(".column > .ge-content, .column > .ge-text-block > .ge-content").each(function(){var n,o,a,i,r,l,s=sn(this);s.hasClass("ge-rte-active")||!s.children().filter(c).length||(n=s.attr("data-ge-content-type"),o=s.parent(".ge-text-block").length?s.parent():s,a=[],i=[],sn.each(sn.makeArray(s[0].childNodes),function(e,t){1===t.nodeType&&sn(t).is(c)?(a.push({text:i},{block:t}),i=[]):i.push(t)}),a.push({text:i}),sn(s[0].childNodes).detach(),r=!1,l=o,a.forEach(function(e){var t;if(e.block)t=sn(e.block);else{if(!e.text.some(function(e){return 1===e.nodeType||3===e.nodeType&&/\S/.test(e.nodeValue)}))return;r?t=Qt(n).append(e.text):(s.append(e.text),t=o,r=!0)}t[0]!==l[0]&&t.insertAfter(l),l=t}),r)||o.remove()}),o=e,g.find(".column").each(function(){var e=sn(this),t=sn();e.children().each(function(){var e=sn(this);e.is(".ge-tools-drawer, .ge-resize-handle")||(t=e.is(".ge-content, .ge-text-block")||e.is(o)?Gt(t):t.add(e))}),Gt(t)}),g.find(".column > .ge-content").each(function(){sn(this).wrap('<div class="ge-text-block" />')}),g.find(".ge-text-block").each(function(){var t,e,n,o,a,i,r,l=sn(this);l.children(".ge-tools-drawer").length||((r=l.children(".ge-content").attr("data-ge-content-type"))?(o=r,fe().some(function(e){return e.type===o})||(r=r,e=(t=l).children(".ge-content"),P(n=sn('<div class="ge-tools-drawer ge-text-drawer" />').prependTo(t)),S(n,u("text.no_editor",{type:r}),"ge-text-info ge-text-missing","bi bi-exclamation-triangle"),S(n,u("tool.delete_text"),"ge-delete-text","bi bi-trash",function(){w("text",e,u("confirm.delete_text"),function(e){t.slideUp(function(){t.remove(),e()})})}))):(i=(a=l).children(".ge-content"),r=sn('<div class="ge-tools-drawer ge-text-drawer ge-plain-drawer" />').prependTo(a),a.addClass("ge-plain-block"),P(r),S(r,u("tool.delete_plain"),"ge-delete-plain","bi bi-trash",function(){w("plain",i,u("confirm.delete_plain"),function(e){a.slideUp(function(){a.remove(),e()})})})))}),g.find(".row").each(function(){var t,a,i,n=sn(this);n.find("> .ge-tools-drawer").length||(P(t=sn('<div class="ge-tools-drawer" />').prependTo(n)),st(t,n,f.row_classes),f.row_tools.forEach(function(e){S(t,e.title||"",e.className||"",e.iconClass||"bi bi-wrench",e.on)}),S(t,u("tool.delete_row"),"ge-delete-row","bi bi-trash",function(){w("row",n,u("confirm.delete_row"),function(e){n.slideUp(e)})}),S(t,u("tool.add_column"),"ge-add-column","bi bi-plus-circle",function(){M()||Qe(n,vt(n,A())?null:f.add_column.size)}),a=t.find("> .ge-add-column"),i=n,f.add_column.picker&&Ze(a,function(){var e,n,o;e=a,n=i,M(),o=Pt(n,A()),e.closest(".ge-tools-drawer").addClass("ge-picker-open"),l=sn('<div class="ge-size-picker" />').appendTo(e),f.valid_col_sizes.forEach(function(t){var e;sn('<a class="ge-size" />').attr("data-ge-size",t).attr("title","equal"!==(e=t)?"auto"!==e?u("tool.column_size",{size:e}):u("tool.column_auto"):u("tool.column_equal")).toggleClass("ge-size-tight",wn(t)&&o<t).toggleClass("ge-size-flex",!wn(t)).text(wn(t)?t:yn(un[0],t)).on("click",function(e){e.preventDefault(),e.stopPropagation(),M(),Qe(n,t)}).appendTo(l)}),e.one("mouseleave",function(){window.setTimeout(function(){l&&!l.is(":hover")&&M()},400)})}))}),g.find(".column").each(function(){var t,n=sn(this);n.find("> .ge-tools-drawer").length||(P(t=sn('<div class="ge-tools-drawer" />').prependTo(n)),S(t,u("tool.column_narrower"),"ge-decrease-col-width","bi bi-dash-lg",function(e){G(n,e.shiftKey?it(f.valid_col_sizes):at(f.valid_col_sizes.filter(wn),tt(n),-1),"tool")}),S(t,u("tool.column_wider"),"ge-increase-col-width","bi bi-plus-lg",function(e){G(n,e.shiftKey?(e=>(e=Pt(e.parent(),A(),e)-ot(e),Math.min(rt(f.valid_col_sizes),Math.max(e,1))))(n):at(f.valid_col_sizes.filter(wn),tt(n),1),"tool")}),S(t,u("tool.indent_decrease"),"ge-decrease-col-offset","bi bi-text-indent-right",function(e){Q(n,e.shiftKey?it(f.valid_col_offsets):at(f.valid_col_offsets,ot(n),-1),"tool")}),S(t,u("tool.indent_increase"),"ge-increase-col-offset","bi bi-text-indent-left",function(e){Q(n,e.shiftKey?(e=>(e=Pt(e.parent(),A(),e)-tt(e),Math.min(rt(f.valid_col_offsets),Math.max(e,0))))(n):at(f.valid_col_offsets,ot(n),1),"tool")}),st(t,n,f.col_classes),f.col_tools.forEach(function(e){S(t,e.title||"",e.className||"",e.iconClass||"bi bi-wrench",e.on)}),S(t,u("tool.delete_column"),"ge-delete-column","bi bi-trash",function(){w("column",n,u("confirm.delete_column"),function(e){n.animate({opacity:"hide",width:"hide",height:"hide"},400,e)})}),S(t,u("tool.add_row"),"ge-add-row","bi bi-plus-circle",function(){var e=Wt();b("row",e,function(){n.append(e)},{parent:n,source:"tool"})}))}),g.find("[data-ge-container]").each(function(){var t,e,n,o,a=sn(this),i=Le(a),r=T[i];r?(a.addClass("ge-container ge-container-"+i),r.mark(a),a.find("> .ge-tools-drawer").length||(t=a,e=i,n=r,P(o=sn('<div class="ge-tools-drawer ge-container-drawer" />').prependTo(t)),st(o,t,f.container_classes),f.container_tools.forEach(function(e){S(o,e.title||"",e.className||"",e.iconClass||"bi bi-wrench",e.on)}),n.tools&&n.tools(o,t),S(o,u("tool.delete_container"),"ge-delete-container","bi bi-trash",function(){w(e,t,u("confirm.delete_container"),function(e){t.slideUp(e)})}),n.addPane&&S(o,u(n.addPaneKey),"ge-add-pane","bi bi-plus-circle",function(){var e=n.addPane(t,{});b(n.paneKind,e,function(){},{parent:t,source:"tool",container:t})}))):d("container:"+i,'unknown container type "'+i+'"')}),x("onInit"),window.Sortable?(Nt(g.find(".row"),{draggable:".column",group:"column"}),Nt(g.add(g.find(".column")),{draggable:Dt(),group:"block",accepts:Rt}),(e=jt("regions")).length&&Nt(g.find(e.join(", ")),{draggable:">"+Dt(),group:"block",accepts:Rt}),x("onSortable",Nt)):d("sortable_missing",u("error.sortable_missing")),f.resize.enabled&&g.find(".column").each(function(){var n=sn(this);n.find("> .ge-resize-handle").length||(sn('<span class="ge-resize-size" />').appendTo(n.find("> .ge-tools-drawer")),sn.each(String(f.resize.handles).split(",").map(function(e){return e.trim()}).filter(function(e){return"e"===e||"w"===e}),function(e,t){sn('<span class="ge-resize-handle" />').addClass("ge-resize-"+t).attr("data-ge-edge",t).on("pointerdown",qt).appendTo(n)}))}),Zt(p),je(g)}function me(){I(),g.removeClass("ge-editing ge-drag-drawer ge-dropping"),x("onBeforeDeinit"),M(),ie(),g.find(".ge-tools-drawer").remove(),g.find(".ge-text-block").each(function(){sn(this).replaceWith(sn(this).contents())}),x("onDeinit"),Re(g),g.find("[data-ge-row-cols]").removeAttr("data-ge-row-cols"),g.find("[data-ge-container]").each(function(){var e=sn(this),t=T[Le(e)];t&&t.unmark(e),e.removeClass("ge-container ge-container-"+Le(e)),e.attr("class")||e.removeAttr("class")}),sn.each(q,function(e,t){t.destroy()}),q=[],g.find(".ge-resize-handle").remove(),g.find(".ge-resize-size").remove(),Ot(g),Yt(!1)}function he(){me(),Ot(g);var e=g.html();return c(),e}function ve(e){me(),Ot(e);e=e[0].outerHTML;return c(),e}function be(){me(),F(),gt(),o.remove(),i.remove(),sn(window).off("scroll",se),g.off("click",".ge-content",ce),g.off("ge-rte-ready",".ge-content"),g.removeData("grideditor")}function x(n,o){sn.each(T,function(e,t){t[n]&&t[n](o)}),sn.each(z,function(e,t){t[n]&&t[n](o)}),sn.each(E,function(e,t){t[n]&&t[n](o)})}f.source_textarea&&(0<(t=sn(f.source_textarea).val()).length&&0==sn("<div>"+t+"</div>").find(".row").addBack(".row").length&&(t='<div class="row"><div class="col-lg-12">'+t+"</div></div>"),e.html(t)),e.children().length&&!e.find("div.row").length&&(t=e.children(),sn('<div class="row"><div class="col-lg-12"/></div>').appendTo(e).find(".col-lg-12").append(t));var _={},we=".row, .column, .ge-content, .ge-element, [data-ge-container]",ye="data-ge-preview",xe=!1;function _e(e,t,n){var o=n.name||n.prefix;_[o]?Mn('the "'+e+'" plugin declares the utility "'+o+'", which the "'+_[o].plugin+'" plugin already declared: ignored'):_[o]={plugin:e,family:sn.extend({},n,{name:o,values:n.values.map(String),appliesTo:n.appliesTo||t.appliesTo||["row","column"]})}}function ke(e,t){return _[e]?_[e].family:(d("utility:"+e,t+"("+JSON.stringify(e)+"): no loaded plugin declares that utility"),null)}function Ce(e,t){return-1!==e.appliesTo.indexOf(t="plain"===t?"text":t)||T[t]&&-1!==e.appliesTo.indexOf("container")}function Te(t){return sn.map(_,function(e){return Ce(e.family,t)?e.family:null})}function ze(e,t,n){return e.className?e.className(t.key,n):e.prefix+(t.infix?"-"+t.infix:"")+"-"+n}function k(e,t,n){for(var o=(e.attr("class")||"").split(/\s+/),a=0;a<t.values.length;a++)if(-1!==o.indexOf(ze(t,n,t.values[a])))return t.values[a];return null}function Ee(e,t,n){for(var o=un.indexOf(n)-1;0<=o;o--){var a=k(e,t,un[o]);if(null!==a)return{tier:un[o],value:a}}return null}function Me(e,t,n){var o=k(e,t,n);return null!==o?o:(o=Ee(e,t,n))?o.value:null}function Ae(t,n){return un.map(function(e){return{tier:e,value:k(t,n,e)}}).filter(function(e){return null!==e.value})}function Pe(t,n,o,e){n.values.forEach(function(e){t.removeClass(ze(n,o,e))}),null!==e&&t.addClass(ze(n,o,e)),t.attr("class")||t.removeAttr("class")}function Se(e,t,n){return n===fn?k(e,t,un[0]):Me(e,t,xn(n))}function Oe(e,t,n){e=sn(e).first();var o,t=ke(t,"getUtility");return t&&e.length?null===(o=void 0===n?p:en(n))?(Mn("getUtility("+JSON.stringify(n)+"): no such layout mode"),null):Se(e,t,o):null}function Ie(t,n,o,a){a="string"==typeof a?{view:a}:a||{},t=sn(t).first();var i,r,l,e,s,c,d,u,f,g=ke(n,"setUtility");return!(!g||!t.length)&&(null===(i=void 0===a.view?p:en(a.view))?(Mn("setUtility("+JSON.stringify(a.view)+"): no such layout mode"),!1):null!==(o=null==o||""===o?null:String(o))&&-1===g.values.indexOf(o)?(Mn("setUtility: "+JSON.stringify(o)+' is not a value of "'+n+'", which takes '+JSON.stringify(g.values)),!1):(r=y(t),Ce(g,r)?g.write?g.write(t,o,i,a.source||"api"):(e=t,s=g,d=o,!!(l=(c=i)!==fn?k(e,s,c=xn(c))===d?null:{writes:[{tier:c,value:d}],cleared:[]}:(u=[],f=[],Ae(e,s).forEach(function(e){e.tier!==un[0]&&(u.push({tier:e.tier,value:null}),f.push({breakpoint:e.tier.key,value:e.value}))}),k(e,s,un[0])!==d&&u.unshift({tier:un[0],value:d}),u.length?{writes:u,cleared:f}:null))&&v(function(){var e=m(r,t,{family:n,breakpoint:i,tiers:l.writes.map(function(e){return e.tier.key}),from:Se(t,g,i),to:o,cleared:l.cleared,source:a.source||"api"});return h("before-utility",e)?(l.writes.forEach(function(e){Pe(t,g,e.tier,e.value)}),C(t),h("after-utility",e),!0):(C(t),!1)})):(Mn('setUtility: "'+n+'" does not apply to a '+r),!1)))}function De(t,e,n){var o=ke(e,"bareStyle");return t=sn(t).first(),o&&t.length?(e=t.attr("class"),un.forEach(function(e){Pe(t,o,e,null)}),n=getComputedStyle(t[0]).getPropertyValue(n),void 0===e?t.removeAttr("class"):t.attr("class",e),n):null}function C(e){var t=ut(e);t.find(".ge-classes").val(lt(e).join(" ")),t.children(".ge-utilities").each(function(){Be(sn(this))}),je(e)}function je(e){var t,l;Re(e),p!==fn&&(t=e,l=xn(p),(e=>e.find(we).addBack(we))(t).each(function(){var e,n,o,a=sn(this),i=y(a),r={};Te(i).forEach(function(e){e.preview&&Ae(a,e).length&&sn.extend(r,e.preview(Me(a,e,l),a,i))}),"column"===i&&sn.extend(r,((e,t)=>{var n=wt(e,t);return n?{flex:"0 0 auto",width:"auto"===n.value?"auto":100/parseInt(n.value,10)+"%","max-width":"100%"}:!ht(e.parent())||bt(e,t)?{}:{flex:"0 0 auto",width:"100%","max-width":"100%"}})(a,l)),sn.each(E,function(e,t){t.preview&&sn.extend(r,t.preview(a,i,l.key))}),sn.isEmptyObject(r)||(n=(e=a)[0].style,o={},sn.each(r,function(e,t){o[e]=[n.getPropertyValue(e),n.getPropertyPriority(e)],n.setProperty(e,String(t),"important")}),e.attr(ye,JSON.stringify(o)))})),e.find(".row").addBack(".row").each(function(){var e=sn(this),t=!1===f.row_cols?null:p===fn?vt(e,un[0])||null:vt(e,xn(p));t?e.attr("data-ge-row-cols",yt(t.value)):e.removeAttr("data-ge-row-cols")}),x("onRefresh",e)}function Re(e){e.find("["+ye+"]").addBack("["+ye+"]").each(function(){var e=sn(this),n=this.style,t={};try{t=JSON.parse(e.attr(ye))||{}}catch(e){}sn.each(t,function(e,t){t&&t[0]?n.setProperty(e,t[0],t[1]):n.removeProperty(e)}),e.removeAttr(ye),e.attr("style")||e.removeAttr("style")})}function Ne(e,t){var n=sn('<label class="ge-utility" />').attr("data-ge-family",t.name);return sn('<span class="ge-utility-label" />').text(t.labelKey?u(t.labelKey):t.name).appendTo(n),sn('<select class="form-select form-select-sm" />').appendTo(n).on("change",function(){Ie(e,t.name,this.value,{source:"panel"})}),sn('<small class="ge-utility-note" />').appendTo(n),n}function Ke(e,t){var t=ke(t,"utilityField");return t?(Ue(t=Ne(e,t),e),t):sn()}function Be(e){var t=e.data("ge-node");e.children(".ge-utilities-toggle").text(u("utility.section",{view:u(kn(p))})),e.find(".ge-utility").each(function(){Ue(sn(this),t)})}function Ue(e,t){var n,o,a,i,r=_[e.attr("data-ge-family")].family,l=e.children("select").empty(),s=r.choices?r.choices(t,y(t)):r.values,c="";p===fn?(n=k(t,r,un[0]),o=u("utility.default"),(i=Ae(t,r).filter(function(e){return e.tier!==un[0]})).length&&(c=u("utility.varies",{breakpoints:i.map(function(e){return e.tier.key}).join(", ")}))):(i=xn(p),a=Ee(t,r,i),n=k(t,r,i),o=a?u("utility.inherit",{value:qe(r,a.value),breakpoint:a.tier.key}):u("utility.default"),(i=r.blank?r.blank(t,p):null)&&null===n&&(o=i)),null!==n&&-1===s.indexOf(n)&&(s=s.concat([n])),sn('<option value="" />').text(o).appendTo(l),s.forEach(function(e){sn("<option />").attr("value",e).text(qe(r,e)).appendTo(l)}),l.val(null===n?"":n),e.children(".ge-utility-note").text(c).toggle(""!==c)}function qe(e,t){return e.label?e.label(t):t}var T={},z={},E={},n={},Ve=0;function He(e){return"ge-"+e+"-"+ ++Ve+"-"+Math.random().toString(36).slice(2,6)}function Je(){var e=Wt();return j(mn).appendTo(e),e}function Le(e){return e.attr("data-ge-container")}function We(e,t,n,o,a){var i=sn('<div class="ge-tools-drawer ge-pane-drawer" />').prependTo(e);return P(i),st(i,e,f.pane_classes),n.forEach(function(e){S(i,e.title||"",e.className||"",e.iconClass||"bi bi-wrench",e.on)}),S(i,u("tool.delete_pane"),"ge-delete-pane","bi bi-trash",function(){w(t,e,o,function(e){a(e)})}),i}function Fe(e){e.find("[data-bs-toggle], [data-bs-dismiss]").addBack("[data-bs-toggle], [data-bs-dismiss]").each(function(){var n=sn(this);["toggle","dismiss"].forEach(function(e){var t=n.attr("data-bs-"+e);void 0!==t&&n.attr("data-ge-bs-"+e,t).removeAttr("data-bs-"+e)})})}function Xe(e){e.find("[data-ge-bs-toggle], [data-ge-bs-dismiss]").addBack("[data-ge-bs-toggle], [data-ge-bs-dismiss]").each(function(){var n=sn(this);["toggle","dismiss"].forEach(function(e){var t=n.attr("data-ge-bs-"+e);void 0!==t&&n.attr("data-bs-"+e,t).removeAttr("data-ge-bs-"+e)})})}function $e(t){var n;t.data("ge-editable")||(n=t.closest("[data-bs-toggle], [data-ge-bs-toggle]"),t.data("ge-editable",!0).attr("title",u("tool.rename")).on("dblclick",function(e){e.preventDefault(),e.stopPropagation(),Fe(n),t.attr("contenteditable","true").trigger("focus"),window.getSelection().selectAllChildren(t[0])}).on("keydown",function(e){"true"===t.attr("contenteditable")&&"Enter"===e.key&&(e.preventDefault(),t.trigger("blur"))}).on("blur",function(){t.removeAttr("contenteditable"),Xe(n)}))}function Ye(e){var t=e.find("> .ge-pane-label");return t.length||(t=sn('<span class="ge-pane-label" />').text(e.text().trim()),e.empty().append(t)),t}function Ge(e){e.find(".ge-pane-label").each(function(){sn(this).removeData("ge-editable").contents().unwrap()})}function Qe(e,t){var n=j(t);b("column",n,function(){e.append(n)},{parent:e,source:"tool"})}function Ze(e,t){function n(){window.clearTimeout(o),o=null}var o=null;e.on("mouseenter mousedown",function(){o||l||(o=window.setTimeout(function(){o=null,t()},f.add_column.delay))}),e.on("mouseleave",n),e.on("mouseup",n)}function M(){return!(!l||(l.closest(".ge-tools-drawer").removeClass("ge-picker-open"),l.remove(),l=null))}function A(){return p===fn?un[un.length-1]:xn(p)}function et(e){var t=A();return wt(e,t)?null:null===(e=kt(e,t))?mn:e}function tt(e){var t=et(e);return wn(t)?t:(t=Math.round(e.outerWidth()/nt(e.parent())*mn),Math.min(Math.max(t,1),mn))}function nt(e){var t=window.getComputedStyle(e[0]);return e[0].clientWidth-parseFloat(t.paddingLeft)-parseFloat(t.paddingRight)}function ot(e){return Ct(e,A())||0}function at(e,n,t){var o=e.indexOf(n);return-1===o?e.reduce(function(e,t){return Math.abs(t-n)<Math.abs(e-n)?t:e},e[0]):e[Math.min(Math.max(o+t,0),e.length-1)]}function it(e){return e.filter(wn).reduce(function(e,t){return Math.min(e,t)},mn)}function rt(e){return e.filter(wn).reduce(function(e,t){return Math.max(e,t)},0)}function P(e){"drawer"!==f.drag_handle&&S(e,u("tool.move"),"ge-move","bi bi-arrows-move")}function S(e,t,n,o,a){var i=sn("<a />").attr("title",t).attr("class",n).append(sn("<i />").attr("class",o)).appendTo(e);"function"==typeof a&&i.on("click",a),"object"==typeof a&&sn.each(a,function(e,t){i.on(e,t)})}function lt(e){return(e.attr("class")||"").split(/\s+/).filter(function(e){return""!==e&&!(t=>"row"===t||"column"===t||/^(ge-|ui-)/.test(t)||/^col(-(sm|md|lg|xl|xxl))?(-auto)?$/.test(t)||un.some(function(e){return new RegExp("^("+e.colPrefix+"|"+e.offsetPrefix+")\\d+$").test(t)}))(e)})}function st(n,l,e){var s=((n,e)=>{function t(e){return sn('<label class="ge-field" />').append(sn('<span class="ge-field-label" />').text(e)).appendTo(a)}var o=sn('<div class="ge-details" />'),a=sn('<div class="ge-details-general" />').appendTo(o),i=(sn('<input class="ge-id form-control form-control-sm" />').attr("placeholder",u("tool.id_placeholder")).val(n.attr("id")).attr("title",u("tool.id_title")).appendTo(t(u("panel.id"))).on("change",function(){""===this.value?n.removeAttr("id"):n.attr("id",this.value)}),sn('<input class="ge-classes form-control form-control-sm" />').attr("placeholder",u("tool.classes_placeholder")).attr("title",u("tool.classes_title")).val(lt(n).join(" ")).appendTo(t(u("panel.classes"))).on("change",function(){var t,e;t=n,e=this.value,lt(t).forEach(function(e){t.removeClass(e)}),e.split(/\s+/).forEach(function(e){""!==e&&t.addClass(e)}),t.attr("class")||t.removeAttr("class"),C(n)}),sn('<div class="btn-group btn-group-sm ge-presets" role="group" />').appendTo(a));return e.forEach(function(e){var t=sn('<a role="button" class="btn btn-sm btn-outline-secondary" />').html(e.label).attr("title",e.title||u("tool.toggle_class",{label:e.label})).toggleClass("active",n.hasClass(e.cssClass)).attr("aria-pressed",n.hasClass(e.cssClass)?"true":"false").on("click",function(){t.toggleClass("active").attr("aria-pressed",t.hasClass("active")?"true":"false"),n.toggleClass(e.cssClass,t.hasClass("active")),C(n)}).appendTo(i)}),(e=(n=>{var e,t,o=y(n),a=Te(o).filter(function(e){return!1!==e.panel}).map(function(e){return Ne(n,e)});return sn.each(E,function(e,t){t=t.panel?t.panel(n,o):null;t&&t.length&&a.push(t)}),a.length?(e=sn('<div class="ge-utilities" />').toggleClass("ge-open",xe).data("ge-node",n),sn('<a class="ge-utilities-toggle" />').appendTo(e).on("click",function(){xe=!e.hasClass("ge-open"),ft().find(".ge-utilities").toggleClass("ge-open",xe)}),t=sn('<div class="ge-utilities-body" />').appendTo(e),a.forEach(function(e){e.appendTo(t)}),Be(e),e):null})(n))&&e.appendTo(o),o})(l,e||[]),o=(l.data("ge-details",s),S(n,u("tool.settings"),"ge-settings","bi bi-gear-fill",function(){var e,t,n,o,a,i,r;e=l,t=s,n=sn(this),"inline"===(r=-1===ct.indexOf(f.settings_panel)?(d("settings_panel",'settings_panel "'+f.settings_panel+'" is not one of '+ct.join(", ")+": using offcanvas"),"offcanvas"):f.settings_panel)?t.toggle():(i=O&&O.details[0]===t[0],I(),i||(i=e,e=t,o=n,a=(e=>{var t;return dt[e]||((t="offcanvas"===e?sn('<div class="offcanvas offcanvas-end ge-settings-panel ge-settings-offcanvas" tabindex="-1" role="dialog" />').append(sn('<div class="offcanvas-header" />').append('<h5 class="offcanvas-title ge-settings-title"></h5>').append(n())).append('<div class="offcanvas-body ge-settings-body"></div>'):"popover"===e?sn('<div class="popover bs-popover-bottom ge-settings-panel ge-settings-popover" role="dialog" />').append('<div class="popover-arrow"></div>').append(sn('<div class="popover-header" />').append('<span class="ge-settings-title"></span>').append(n())).append('<div class="popover-body ge-settings-body"></div>').hide():sn('<div class="modal fade ge-settings-panel ge-settings-modal" tabindex="-1" role="dialog" aria-hidden="true" />').append(sn('<div class="modal-dialog modal-dialog-centered modal-dialog-scrollable" />').append(sn('<div class="modal-content" />').append(sn('<div class="modal-header" />').append('<h5 class="modal-title ge-settings-title"></h5>').append(n())).append('<div class="modal-body ge-settings-body"></div>').append(sn('<div class="modal-footer" />').append(sn('<button type="button" class="btn btn-primary ge-settings-close" />').text(u("panel.done"))))))).on("click",".ge-settings-close",function(e){e.preventDefault(),I()}),dt[e]=t.appendTo("body"),t);function n(e){return sn('<button type="button" class="btn-close ge-settings-close" />').addClass(e||"").attr("aria-label",u("panel.close"))}})(t=r),O={mode:t,node:i,details:e,home:e.parent(),next:e.next(),gear:o},a.find(".ge-settings-title").text(u("panel.title",{kind:(e=>{var t=y(e);if(T[t]&&T[t].labelKey)return u(T[t].labelKey);switch(t){case"row":return u("panel.kind_row");case"column":return u("panel.kind_column");case"text":return u("panel.kind_text");case"element":return u("panel.kind_element");case"section":return u("panel.kind_section");case"tab":return u("panel.kind_tab");case"accordion-item":return u("panel.kind_accordion_item");default:return t}})(i)})),e.appendTo(a.find(".ge-settings-body")).show(),i.addClass("ge-settings-target"),i=".ge-settings-"+V,sn(document).on("keydown"+i,function(e){"Escape"===e.key&&I()}),"offcanvas"===t?(n=window.innerWidth<576,a.toggleClass("offcanvas-end",!n).toggleClass("offcanvas-bottom",n),a.removeClass("hiding"),a[0].getBoundingClientRect(),a.addClass("show")):"popover"===t?(pt(a,o),sn(window).on("scroll"+i+" resize"+i,function(){pt(a,o)}),window.ResizeObserver&&(O.observer=new window.ResizeObserver(function(){pt(a,o)}),O.observer.observe(e[0])),sn(document).on("mousedown"+i+" touchstart"+i,function(e){sn(e.target).closest(a).length||sn(e.target).closest(o).length||I()})):function e(t){if(!window.bootstrap||!window.bootstrap.Modal)return D=sn('<div class="modal-backdrop fade show ge-settings-backdrop" />').appendTo("body").on("click",function(){I()}),void t.addClass("show").css("display","block").removeAttr("aria-hidden");var n=window.bootstrap.Modal.getOrCreateInstance(t[0]);t.data("ge-watched")||(t.data("ge-watched",!0),t.on("hide.bs.modal",function(){"open"===t.data("ge-wanted")&&(t.data("ge-wanted","closed"),t.data("ge-busy",!0))}),t.on("shown.bs.modal",function(){t.data("ge-busy",!1),"closed"===t.data("ge-wanted")&&mt(t)}),t.on("hidden.bs.modal",function(){t.data("ge-busy",!1),"open"===t.data("ge-wanted")?e(t):O&&"modal"===O.mode&&I()}));t.data("ge-wanted","open");t.data("ge-busy")||(t.data("ge-busy",!0),n.show())}(a)))}),y(l));return sn.each(E,function(e,t){t.drawerTools&&t.drawerTools(n,l,o)}),sn.each(z,function(e,t){t.drawerTools&&t.drawerTools(n,l,o)}),s.appendTo(n)}var ct=["offcanvas","popover","modal","inline"],dt={},O=null;function ut(e){e=e.data("ge-details");return e&&e.length?e:sn()}function ft(){return O&&"inline"!==O.mode?g.add(O.details):g}function I(){var e,t=O;t&&(O=null,e=dt[t.mode],sn(document).off(".ge-settings-"+V),sn(window).off(".ge-settings-"+V),t.observer&&t.observer.disconnect(),"offcanvas"===t.mode?(e.removeClass("show").addClass("hiding"),window.setTimeout(function(){e.removeClass("hiding")},300)):"popover"===t.mode?e.hide():mt(e),t.node.removeClass("ge-settings-target"),t.details.css("display",""),t.home.length&&sn.contains(document.documentElement,t.home[0])?t.next.length&&t.next.parent()[0]===t.home[0]?t.details.insertBefore(t.next):t.details.appendTo(t.home):t.details.remove())}function gt(){I(),sn.each(dt,function(e,t){"modal"===e&&window.bootstrap&&window.bootstrap.Modal&&(e=window.bootstrap.Modal.getInstance(t[0]))&&e.dispose(),t.remove()}),D&&(D.remove(),D=null),dt={}}function pt(e,t){var n,o,a,i,r,l;sn.contains(document.documentElement,t[0])&&(e.show(),t=t[0].getBoundingClientRect(),n=e.children(".popover-body").css("max-height",""),o=e.outerWidth(),a=e.outerHeight(),l=window.innerHeight-t.bottom-16,r=t.top-16,(l=(i=a<=l||r<=l)?l:r)<a&&(n.css("max-height",Math.max(120,l-(a-n.outerHeight()))),a=e.outerHeight()),r=i?t.bottom+8:t.top-8-a,l=Math.max(8,Math.min(t.left+t.width/2-24,window.innerWidth-o-8)),e.toggleClass("bs-popover-bottom",i).toggleClass("bs-popover-top",!i).css({top:r+window.pageYOffset,left:l+window.pageXOffset}),e.children(".popover-arrow").css("left",Math.max(8,Math.min(t.left+t.width/2-l-8,o-24))))}var D=null;function mt(e){window.bootstrap&&window.bootstrap.Modal?(e.data("ge-wanted","closed"),!e.data("ge-busy")&&e.hasClass("show")&&(e.data("ge-busy",!0),window.bootstrap.Modal.getOrCreateInstance(e[0]).hide())):(D&&(D.remove(),D=null),e.removeClass("show").css("display","").attr("aria-hidden","true"))}function ht(n){return n.hasClass("row")&&un.some(function(t){return vn.some(function(e){return n.hasClass(bn(t,e))})})}function vt(e,t){if(e.hasClass("row"))for(var n=un.indexOf(t);0<=n;n--)for(var o=0;o<vn.length;o++)if(e.hasClass(bn(un[n],vn[o])))return{tier:n,value:vn[o]};return null}function bt(e,t){for(var n=un.indexOf(t);0<=n;n--){var o=xt(e,un[n]);if(null!==o)return{tier:n,size:o}}return null}function wt(e,t){var n=vt(e.parent(),t);return n&&(!(e=bt(e,t))||n.tier>e.tier||n.tier===e.tier&&"equal"===e.size)?n:null}function yt(e){return"auto"===e?u("badge.row_cols_auto"):u("badge.row_cols",{count:e})}function xt(e,t){var n=zt(e,t.colPrefix);return null!==n?n:e.hasClass(yn(t,"auto"))?"auto":e.hasClass(yn(t,"equal"))?"equal":null}function _t(e,t){return zt(e,t.offsetPrefix)}function kt(e,t){return Tt(e,t,xt)}function Ct(e,t){return Tt(e,t,_t)}function Tt(e,t,n){for(var o=un.indexOf(t);0<=o;o--){var a=n(e,un[o]);if(null!==a)return a}return null}function zt(e,t){t=new RegExp("(?:^|\\s)"+t+"(\\d+)(?:\\s|$)").exec(e.attr("class")||"");return t?parseInt(t[1],10):null}function Et(e,t,n){var o=(e.attr("class")||"").split(/\s+/).filter(function(e){return""!==e&&!new RegExp("^"+t+"\\d+$").test(e)});null!==n&&o.push(t+n),e.attr("class",o.join(" "))}function Mt(t,n,e){Et(t,n.colPrefix,null),hn.forEach(function(e){t.removeClass(yn(n,e))}),null!=e&&t.addClass(yn(n,e))}function At(e,t,n){Et(e,t.offsetPrefix,n||null)}function Pt(e,n,o){var a=0;return e.children(".column").each(function(){var e,t=sn(this);o&&t[0]===o[0]||(e=(e=wt(t,n))?"auto"===(e=e).value?0:mn/parseInt(e.value,10):kt(t,n),a+=(wn(e)?e:0)+(Ct(t,n)||0))}),mn-a}function St(e){var t=null==e.size?null:e.size,n=null==e.offset?0:e.offset,n=Math.min(Math.max(n,0),11);return null===t||!wn(t)||(t=Math.min(Math.max(t,1),mn))+n<=mn?{size:t,offset:n,refused:!1}:"offset"===e.leading?{size:mn-n,offset:n,refused:!1}:{size:null,offset:n,refused:!0}}function Ot(e){e.find(".column").addBack(".column").each(function(){var e=sn(this);e.css({width:"",height:"",left:"",top:""}),e.attr("style")||e.removeAttr("style")})}function It(e){return"ge-"+e+"-"+V}function Dt(){return[".row",".ge-text-block",".ge-content","[data-ge-container]"].concat(jt("blocks")).join(", ")}function jt(t){return sn.map(z,function(e){return e[t]||null})}function Rt(n,o){var a=!0;return sn.each(z,function(e,t){a&&t.accepts&&!1===t.accepts(n,o)&&(a=!1)}),a}function Nt(e,a){var t,i,r;e.length&&window.Sortable&&(t="drawer"===f.drag_handle,i="drawer"===f.drag_handle?".ge-tools-drawer > a:not(.ge-text-info):not(.ge-element-info), .ge-details, input, textarea, button, select, option":"input, textarea, button, select, option",r=0,e.each(function(){var n=this,o=a.group?{name:It(a.group)}:{name:It(a.draggable+"-"+ ++r),pull:!1,put:!1};a.group&&a.accepts&&(o.put=function(e,t,n){return t.options.group.name===o.name&&a.accepts(sn(e.el),sn(n))}),q.push(window.Sortable.create(n,sn.extend({group:o,draggable:a.draggable,handle:t?".ge-tools-drawer":".ge-tools-drawer .ge-move",filter:function(e,t){return!!sn(e.target).closest(i,n).length||!t||t.parentNode!==n},preventOnFilter:!1,forceFallback:!0,fallbackOnBody:!1,ghostClass:"ge-drag-placeholder",chosenClass:"ge-drag-chosen",dragClass:"ge-drag-helper",fallbackClass:"ge-drag-helper",animation:f.drag.animation,delay:f.drag.delay||f.drag.touch_delay,delayOnTouchOnly:!f.drag.delay,touchStartThreshold:f.drag.threshold,scroll:f.drag.scroll,onStart:Kt,onEnd:Ut},a.options||{})))}))}function Kt(e){var t=sn(e.item),n=Z(t),o=Bt(t);t.data("ge-move-from",n),t.removeData("ge-move-canceled"),v(function(){h("before-move",m(o.kind,o.node,{parent:n.parent,source:"dragdrop",from:n}))||t.data("ge-move-canceled",!0)})}function Bt(e){e=e.hasClass("ge-text-block")?e.children(".ge-content"):e;return{kind:y(e),node:e}}function Ut(e){var t,n,o,a,i,r,e=sn(e.item),l=e.data("ge-move-from")||Z(e);e.removeData("ge-move-from"),e.data("ge-move-canceled")?(e.removeData("ge-move-canceled"),i=e,!(n=(t=l).parent.children().not(".ge-tools-drawer").not(i)).length||t.index>=n.length?i.appendTo(t.parent):i.insertBefore(n.eq(t.index))):(o=Z(e)).parent[0]===l.parent[0]&&o.index===l.index||(a=e.closest("[data-ge-container]"),(i=T[Le(a)])&&i.afterPaneMove&&i.afterPaneMove(a,e,l),r=Bt(e),v(function(){h("after-move",m(r.kind,r.node,{parent:o.parent,source:"dragdrop",from:l,to:o,container:a.length?a:void 0}))}))}function qt(e){var t,n,s=sn(e.currentTarget),c=s.parent(),o="w"===s.attr("data-ge-edge"),a=e.pageX,i=c.outerWidth();function d(e){e=e.pageX-a;return Math.max(1,i+(o?-e:e))}function u(e){var t;c.css("width",d(e)+"px"),t=c,e=d(e),Jt(t,Lt(Vt(t,e)))}e.preventDefault(),n=et(t=c),v(function(){return h("before-resize",m("column",t,{source:"dragdrop",from:n,to:null}))})&&(t.data("ge-resize-from",n),t.data("ge-resize-units",tt(t)),Jt(t,Lt(t.data("ge-resize-units"))),1)&&(c.addClass("ge-resizing"),void 0!==e.pointerId&&s[0].setPointerCapture&&s[0].setPointerCapture(e.pointerId),s.on("pointermove",u).on("pointerup pointercancel",function e(t){var o,a,i,r,l;s.off("pointermove",u).off("pointerup pointercancel",e),c.removeClass("ge-resizing"),o=c,t=d(t),i=o.data("ge-resize-from"),r=o.data("ge-resize-units"),l=Vt(o,t),o.removeData("ge-resize-from").removeData("ge-resize-units"),Jt(o,""),Ot(o),void 0!==i&&l!==r&&(a=X(o,l))&&v(function(){var e,t,n;$(o,a),t=l-r,(e=Ht(e=o))&&t&&wn(n=et(e))&&(n=X(e,n-t))&&($(e,n),C(e)),C(o),h("after-resize",m("column",o,Y({source:"dragdrop",from:i,to:a.size},a.cleared)))})}))}function Vt(e,t){var t=Math.round(t/nt(e.parent())*mn),n=Ht(e),o=n?et(n):null,a=e.data("ge-resize-units"),n=n&&wn(o)?a+o-it(f.valid_col_sizes):mn-ot(e);return Math.min(Math.max(t,it(f.valid_col_sizes)),Math.max(n,it(f.valid_col_sizes)),rt(f.valid_col_sizes))}function Ht(e){return"next"===f.resize.balance&&(e=e.nextAll(".column").first()).length?e:null}function Jt(e,t){e.find("> .ge-tools-drawer > .ge-resize-size").text(t)}function Lt(e){return(p===fn?un[0]:A()).colPrefix+e}function Wt(){return sn('<div class="row" />')}function Ft(e,t,n){var o,a,i=null;return dn.forEach(function(e){null===i&&n&&void 0!==n[e]&&(i=e)}),null===i?e:(a=sn(n[i]),o="appendTo"===i||"prependTo"===i?a:a.parent(),a=function(){return b(t,e,function(){e[i](n[i])},{parent:o,source:n.source||"api"})},0<H?(L(a),e):a())}function Xt(e,t,n){e=sn(e),n=n||{};var o=T[Le(e)];return o&&Le(e)===t?(n=o.addPane(e,n),b(o.paneKind,n,function(){},{parent:e,source:"api",container:e})):(Mn("this is not a "+t+" container"),null)}function $t(){var n={};return sn.each(f,function(e,t){n[e]=Array.isArray(t)?t.slice():t}),Object.freeze(n)}function j(e,t){var n=sn('<div class="column"/>'),o=_n(p)[0],t=St({size:e,offset:t||0,leading:"offset"});return Mt(n,o,null===t.size?e:t.size),At(n,o,t.offset),n}function Yt(n){f.custom_filter.length&&sn.each(f.custom_filter,function(e,t){(t="string"==typeof t?window[t]:t)(g,n)})}function Gt(e){var t;return e.length&&(t=Qt().insertAfter(e.last()),e.appendTo(t)),sn()}function Qt(e){var t=sn('<div class="ge-content"/>');return e&&t.addClass("ge-content-type-"+e).attr("data-ge-content-type",e),t}function Zt(t){p=t,gn.forEach(function(e){g.toggleClass("ge-layout-"+e,e===t)}),B.find("button").text(u(kn(t)))}function en(e){return"number"==typeof e?(d("changeView-index","changeView("+e+"): layout modes are identified by breakpoint key now, so pass one of "+JSON.stringify(gn)+". Numeric indexes still work, but they mean what they meant in 2.x ("+pn.join(", ")+") and will be dropped."),pn[e]||null):-1===gn.indexOf(e)?null:e}function tn(e){var t=en(e);null===t?Mn("changeView("+JSON.stringify(e)+"): no such layout mode"):(e=p,Zt(t),t!==e&&(ft().find(".ge-utilities").each(function(){Be(sn(this))}),je(g),x("onViewChange",t),h("view-change",{canvas:g,breakpoint:t,from:e,to:t})))}function nn(){return p}var on,an={getHtml:he,getPlainHtml:function(){return An(he())},init:function(){L(c)},reset:function(){L(pe)},deinit:me,destroy:be,remove:function(){d("remove","remove() is deprecated and will be removed in a later release. Use destroy(), which does the same thing."),be()},changeView:tn,getView:nn,createRow:function(e,t){var n=Wt();return void 0===e||Array.isArray(e)||e&&e.row_cols||(Mn("createRow: the layout is an array of column sizes, as in [8, 4], or { row_cols, columns }. Making an empty row instead."),e=[]),e&&!Array.isArray(e)&&(n=le(e)),(Array.isArray(e)?e:[]).forEach(function(e){j(e).appendTo(n)}),Ft(n,"row",t)},createColumn:function(e,t){var n,o=sn((t=t||{}).appendTo||t.prependTo||[]).first(),o=(void 0===e&&o.length&&vt(o,A())?e=null:wn(e)||-1!==hn.indexOf(e)||(Mn("createColumn: no column size given, using 12"),e=mn),j(e,t.offset));return void 0!==t.content&&o.append((e=t.content,Qt((n=ge()).length?n[0].type:null).html(e))),Ft(o,"column",t)},createText:function(e,t){return n.createText?n.createText(e,t):(d("plugin:text","createText needs a text editor plugin: include dist/plugins/grideditor.tinymce.js, or another editor's, after the editor"),null)},createElement:function(e,t){return n.createElement?n.createElement(e,t):(d("plugin:elements","createElement needs the elements plugin: include dist/plugins/grideditor.elements.js after the editor"),null)},createSection:function(e){return n.createSection?n.createSection(e):(d("plugin:sections","createSection needs the sections plugin: include dist/plugins/grideditor.sections.js after the editor"),null)},createContainer:function(e,t){t=t||{};var n=T[e];return n?Ft(n.create(t),e,t):(Mn('createContainer: no such container type "'+e+'"'),null)},addTab:function(e,t){return Xt(e,"tabs",t)},addAccordionItem:function(e,t){return Xt(e,"accordion",t)},setLocale:function(e){f.locale=e,an.settings=$t(),F(),gt(),o.remove(),ee(),pe()},getUtility:Oe,setUtility:Ie,canvas:g,settings:$t()};function rn(e){return!f.plugins||-1!==f.plugins.indexOf(e)}sn.each(cn,function(e,t){t.unimplemented&&(an[e]=function(){return d(e,e+" is registered but not implemented in this build yet"),null})}),e.data("grideditor",an),on={canvas:g,settings:f,t:u,warn:Mn,containerId:He,defaultRegion:Je,createTool:S,createMoveTool:P,addSettingsTool:st,deleteNode:w,place:Ft,createPaneControls:We,makeLabelEditable:$e,labelIn:Ye,unwrapLabels:Ge,suspendToggles:Fe,resumeToggles:Xe,emit:h,payloadFor:m,operate:v,kindOf:y,view:nn,viewTiers:function(){return _n(p).map(function(e){return e.key})},breakpoints:un.map(function(e){return e.key}),getUtility:Oe,setUtility:Ie,utilityField:Ke,bareStyle:De,rowFromLayout:le,nodeHtml:ve,textReady:function(e){e.trigger("ge-rte-ready")},attachPicker:Ze,openPicker:ue,closePicker:M,detailsOf:ut,drawerOf:function(e){return(e.hasClass("ge-content")?e.parent(".ge-text-block"):e).children(".ge-tools-drawer")},toolbarItems:function(e){return o?o.find('[data-ge-toolbar="feature"][data-ge-feature="'+e+'"]'):sn()}},_e("grid",{},(()=>{for(var e=[],t=1;t<=mn;t++)e.push(String(t));return{name:"col",values:e.concat(hn),appliesTo:["column"],labelKey:"utility.col_width",className:function(e,t){return yn(xn(e),re(t))},choices:function(){return f.valid_col_sizes.map(String)},label:function(e){return"equal"===e?u("utility.col_equal"):"auto"===e?u("utility.col_auto"):e},write:function(e,t,n,o){return G(e,null===t?null:re(t),o,n)},blank:function(e,t){e=t===fn?null:wt(e,xn(t));return e?u("utility.col_from_row",{count:yt(e.value)}):null}}})()),!1!==f.row_cols&&_e("grid",{},{name:"row-cols",prefix:"row-cols",values:vn,appliesTo:["row"],labelKey:"utility.row_cols"}),sn.each(sn.fn.gridEditor.containers,function(e,t){rn(e)&&(T[e]=t(on))}),sn.each(sn.fn.gridEditor.features,function(e,t){var n;n=e,!0!==t.always&&!rn(n)||(z[e]=t(on))}),sn.isEmptyObject(sn.fn.gridEditor.RTEs||{})||d("rtes","$.fn.gridEditor.RTEs was removed in 6.0 and what is registered there is ignored: write the editor as a plugin, see docs/plugins.md"),sn.each(sn.fn.gridEditor.utilities,function(t,e){rn(t)&&(E[t]=e(on),(E[t].families||[]).forEach(function(e){_e(t,E[t],e)}))}),sn.each(z,function(e,t){sn.each(t.methods||{},function(e,t){n[e]=t})}),(f.plugins||[]).forEach(function(e){T[e]||z[e]||E[e]||d("plugin:"+e,'the "'+e+'" plugin is not loaded: include dist/plugins/grideditor.'+e+".js after the editor")}),an.settings=$t(),i=sn('<textarea class="ge-html-output"/>').insertBefore(g),ee(),sn(window).on("scroll",se),g.on("click",".ge-content",ce),g.on("click",".ge-popup-trigger, [data-ge-popup-target]",function(e){g.hasClass("ge-editing")&&e.preventDefault()}),g.on("ge-rte-ready",".ge-content",function(){x("onContentReady",sn(this)),je(sn(this))}),c()}),this;var e,t,n=this,o=ln,a=Array.prototype.slice.call(arguments,1),i=cn[o];if(i){if(i.value)return(e=n.first()).length?(t=e.data("grideditor"))?t[o].apply(t,a):i.noInstance?i.noInstance(e):null:null;n.each(function(){var e=sn(this).data("grideditor");e&&e[o].apply(e,a)})}else r("method:"+o,'unknown method "'+o+'"');return n},sn.fn.gridEditor.RTEs={},sn.fn.gridEditor.containers={},sn.fn.gridEditor.features={},sn.fn.gridEditor.utilities={},sn.fn.gridEditor.t=En,sn.fn.gridEditor.locales={en:{"tool.move":"Move","tool.settings":"Settings","tool.add_row":"Add row","tool.delete_text":"Remove text","tool.delete_plain":"Remove content","tool.convert_type":"Edit as {editor} text","text.no_editor":'No text editor "{type}" is loaded: this text can be moved and deleted, not edited',"tool.add_column":"Add column\n(hold to choose the width)","tool.column_size":"{size} of 12","tool.column_equal":"Equal: shares what the row has left","tool.column_auto":"Auto: as wide as its content","tool.delete_row":"Remove row","tool.delete_column":"Remove col","tool.delete_container":"Remove container","tool.delete_pane":"Remove pane","tool.rename":"Double click to rename","tool.column_narrower":"Make column narrower\n(hold shift for min)","tool.column_wider":"Make column wider\n(hold shift for max)","tool.indent_decrease":"Decrease indent\n(hold shift for none)","tool.indent_increase":"Increase indent\n(hold shift for max)","tool.edit_source":"Edit Source Code","tool.preview":"Preview","panel.title":"{kind} settings","panel.close":"Close","panel.done":"Done","panel.id":"Id","panel.classes":"Classes","panel.kind_row":"Row","panel.kind_column":"Column","panel.kind_element":"Element","panel.kind_section":"Section","panel.kind_tab":"Tab","panel.kind_accordion_item":"Accordion item","tool.id_placeholder":"id","tool.id_title":"Set a unique identifier","tool.classes_placeholder":"classes","tool.classes_title":"Css classes, separated by spaces","tool.toggle_class":'Toggle "{label}" styling',"row.add":"Add row {layout}","row.add_row_cols":"Add a row of {columns} columns, {counts} per row","confirm.title":"Confirm","confirm.ok":"Delete","confirm.cancel":"Cancel","confirm.delete_row":"Delete row?","confirm.delete_column":"Delete column?","confirm.delete_text":"Delete this text?","confirm.delete_plain":"Delete this content?","confirm.delete_container":"Delete this container and everything in it?","view.all":"All sizes","view.xs":"Phone","view.sm":"Tablet","view.md":"Small desktop","view.lg":"Desktop","view.xl":"Large desktop","view.xxl":"Widescreen","utility.section":"Responsive: {view}","utility.col_width":"Width","utility.col_equal":"Equal","utility.col_auto":"Auto","utility.col_from_row":"From the row: {count}","utility.row_cols":"Columns per row","badge.row_cols":"{count} per row","badge.row_cols_auto":"As wide as their content","utility.default":"Default","utility.inherit":"Inherit: {value} (from {breakpoint})","utility.varies":"Changes at {breakpoints}; choosing here replaces that","error.sortable_missing":"SortableJS not available! Make sure you loaded the Sortable js file; dragging is off without it.","warning.setting_removed":"The {setting} setting was removed in 4.0. Use {replacement} instead.","error.tinymce_missing":"tinyMCE not available! Make sure you loaded the tinyMCE js file.","error.ckeditor_missing":"CKEditor not available! Make sure you loaded the ckeditor and jquery adapter js files.","error.summernote_missing":"Summernote not available! Make sure you loaded the Summernote js file."}}})(jQuery);
1
+ (dn=>{var un={getHtml:{value:!0,noInstance:function(e){return e.html()}},getPlainHtml:{value:!0,noInstance:function(e){return Pn(e.html())}},init:{},deinit:{},reset:{},destroy:{},remove:{},changeView:{},getView:{value:!0},createRow:{value:!0},createColumn:{value:!0},createElement:{value:!0},createText:{value:!0},createSection:{value:!0},createContainer:{value:!0},addTab:{value:!0},addAccordionItem:{value:!0},setLocale:{},getUtility:{value:!0},setUtility:{value:!0}},fn=["appendTo","prependTo","insertAfter","insertBefore"],gn=[{key:"xs",infix:"",colPrefix:"col-",offsetPrefix:"offset-",min:0,preview:400,labelKey:"view.xs"},{key:"sm",infix:"sm",colPrefix:"col-sm-",offsetPrefix:"offset-sm-",min:576,preview:576,labelKey:"view.sm"},{key:"md",infix:"md",colPrefix:"col-md-",offsetPrefix:"offset-md-",min:768,preview:768,labelKey:"view.md"},{key:"lg",infix:"lg",colPrefix:"col-lg-",offsetPrefix:"offset-lg-",min:992,preview:992,labelKey:"view.lg"},{key:"xl",infix:"xl",colPrefix:"col-xl-",offsetPrefix:"offset-xl-",min:1200,preview:1200,labelKey:"view.xl"},{key:"xxl",infix:"xxl",colPrefix:"col-xxl-",offsetPrefix:"offset-xxl-",min:1400,preview:null,labelKey:"view.xxl"}],pn="all",t="view.all",mn=[pn].concat(gn.map(function(e){return e.key})),hn=["lg","sm","xs"],vn=12,bn=["equal","auto"],wn=["1","2","3","4","5","6","auto"];function yn(e,t){return"row-cols"+(e.infix?"-"+e.infix:"")+"-"+t}function xn(e){return"number"==typeof e}function _n(e,t){return"equal"===t?e.infix?"col-"+e.infix:"col":e.colPrefix+t}function kn(e){for(var t=0;t<gn.length;t++)if(gn[t].key===e)return gn[t];return null}function Cn(e){return e===pn?[gn[0]]:(e=kn(e))?[e]:[]}function Tn(e){e=kn(e);return e?e.labelKey:t}var zn={add_column:{size:12,picker:!0,delay:600},elements:{enabled:"auto",selector:"[data-ge-element]",auto:!1},resize:{enabled:!0,handles:"e",balance:"next"},drag:{delay:0,touch_delay:100,threshold:3,animation:150,scroll:!0}},En={sortable_options:"drag",resizable_options:"resize"},n={},Mn=0;function Sn(e,t,n){var o=dn.fn.gridEditor.locales,a=o[e.locale]||{},e=(e.locale_strings||{})[t];return void 0===(e=void 0===(e=void 0===e?a[t]:e)?o.en[t]:e)&&(r("locale:"+t,'no string for "'+t+'" in any locale, showing the key'),e=t),e.replace(/\{(\w+)\}/g,function(e,t){return n&&void 0!==n[t]?n[t]:e})}function An(e){window.console&&window.console.warn&&window.console.warn("grid-editor: "+e)}function r(e,t){n[e]||(n[e]=!0,An(t))}function Pn(e){var t=dn(document.implementation.createHTMLDocument("").body),a=(t[0].innerHTML=e,[]);return t.find("*").each(function(){var n=dn(this),o=!1,e=(dn.each(dn.makeArray(this.attributes),function(e,t){0===t.name.indexOf("data-ge-")&&(n.removeAttr(t.name),o=!0)}),(n.attr("class")||"").split(/\s+/).filter(Boolean)),t=e.filter(function(e){return"column"!==e&&0!==e.indexOf("ge-")});t.length!==e.length&&(o=!0),t.length?n.attr("class",t.join(" ")):n.removeAttr("class"),o&&"DIV"===this.tagName&&!this.attributes.length&&a.push(this)}),a.forEach(function(e){dn(e).replaceWith(dn(e).contents())}),t[0].innerHTML}dn.fn.gridEditor=function(cn){if("string"!=typeof cn)return this.each(function(R,e){e=dn(e);var o,a,N,K,B,i,f=dn.extend({new_row_layouts:[[12],[6,6],[4,4,4],[3,3,3,3],[2,2,2,2,2,2],[2,8,2],[4,8],[8,4]],row_classes:[],col_classes:[],col_tools:[],row_tools:[],drag_handle:"tool",toolbar_drag:"auto",element_tools:[],element_classes:[],container_classes:[],pane_classes:[],container_tools:[],tab_tools:[],accordion_tools:[],plugins:null,row_cols:!0,utilities:{},elements:zn.elements,custom_filter:"",valid_col_sizes:[1,2,3,4,5,6,7,8,9,10,11,12,"equal","auto"],valid_col_offsets:[0,1,2,3,4,5,6,7,8,9,10,11],add_column:zn.add_column,layout_modes:mn.slice(),default_view:pn,resize:zn.resize,source_textarea:"",edit_source:!0,locale:"en",locale_strings:{},callbacks:{},confirm_delete:!0,settings_panel:"offcanvas",drag:zn.drag},cn),p=(dn.each(zn,function(e,t){f[e]=dn.extend({},t,f[e])}),dn.each(En,function(e,t){cn&&void 0!==cn[e]&&An(dn.fn.gridEditor.t(f,"warning.setting_removed",{setting:e,replacement:t}))}),f.default_view),r=null,l=null,s=!1,U=null,q={},V=[],H=++Mn;function d(e,t){q[e]||(q[e]=!0,An(t))}function u(e,t){return Sn(f,e,t)}var t,g=e.addClass("ge-canvas"),J=0,L=[];function m(e,t,n){return dn.extend({kind:e,node:t,parent:t.parent(),canvas:g,breakpoint:p,source:"api"},n||{})}function h(e,t){var n=[e],o=e.replace(/^(before|after)-add-.+$/,"$1-add"),a=(o!==e&&n.push(o),!1);return n.forEach(function(e){e=dn.Event("grideditor:"+e);g.trigger(e,[t]),e.isDefaultPrevented()&&(a=!0)}),n.forEach(function(e){e=f.callbacks[e.replace(/-/g,"_")];"function"==typeof e&&!1===e(t)&&(a=!0)}),!a}function v(e){J++;try{return e()}finally{if(0===--J)for(;L.length;)L.shift()()}}function W(e){0===J?e():L.push(e)}function b(t,n,o,a){e=t;var e,i=dn.fn.gridEditor.containers[e]?"container":e;return v(function(){var e=m(t,n,a);return h("before-add-"+i,e)?(o(),c(),h("after-add-"+i,e),n):null})}function F(e,t){var n,o;f.confirm_delete?window.bootstrap&&window.bootstrap.Modal?(r||((r=dn('<div class="modal fade ge-confirm" tabindex="-1" aria-hidden="true"><div class="modal-dialog modal-dialog-centered"><div class="modal-content"><div class="modal-header"><h5 class="modal-title"></h5><button type="button" class="btn-close" data-bs-dismiss="modal"></button></div><div class="modal-body"><p class="ge-confirm-message"></p></div><div class="modal-footer"><button type="button" class="btn btn-secondary ge-confirm-cancel" data-bs-dismiss="modal"></button><button type="button" class="btn btn-danger ge-confirm-ok"></button></div></div></div></div>').appendTo("body")).find(".modal-title").text(u("confirm.title")),r.find(".btn-close").attr("aria-label",u("confirm.cancel")),r.find(".ge-confirm-cancel").text(u("confirm.cancel")),r.find(".ge-confirm-ok").text(u("confirm.ok"))),o=!1,(n=r).find(".ge-confirm-message").text(e),n.find(".ge-confirm-ok").off("click").on("click",function(){o=!0,window.bootstrap.Modal.getInstance(n[0]).hide()}),n.off("hidden.bs.modal").on("hidden.bs.modal",function(){o&&t()}),n.off("shown.bs.modal").on("shown.bs.modal",function(){n.find(".ge-confirm-ok").trigger("focus")}),window.bootstrap.Modal.getOrCreateInstance(n[0]).show()):window.confirm(e)&&t():t()}function X(){var e;r&&(window.bootstrap&&window.bootstrap.Modal&&(e=window.bootstrap.Modal.getInstance(r[0]))&&e.dispose(),r.remove(),r=null)}function w(t,n,o,a){v(function(){var e=m(t,n,{source:"tool"});h("before-delete",e)&&F(o,function(){v(function(){a(function(){n.remove(),v(function(){c(),h("after-delete",e)})})})})})}function $(n,t,e){var o,a,i;return(e=e||p)!==pn?(e=kn(e),(o=It({size:t,offset:zt(n,e)||0})).refused||kt(n,e)===o.size?null:{writes:[{tier:e,size:o.size}],cleared:null,size:o.size}):!gn.some(function(e){return It({size:t,offset:zt(n,e)||0}).refused})&&(e=gn[0],a=[],i=[],gn.slice(1).forEach(function(e){var t=kt(n,e);null!==t&&(a.push({tier:e,size:null}),i.push({breakpoint:e.key,value:t}))}),kt(n,e)!==t&&a.unshift({tier:e,size:t}),a.length)?{writes:a,cleared:i,size:t}:null}function Y(t,e){e.writes.forEach(function(e){At(t,e.tier,e.size)}),Dt(t)}function G(e,t){return t&&(e.cleared=t),e}function Q(t,e,n,o){o=o||p;var a=nt(t),i=$(t,e,o);return!!i&&v(function(){var e=m("column",t,G({source:n,breakpoint:o,from:a,to:i.size},i.cleared));return h("before-resize",e)?(Y(t,i),C(t),h("after-resize",e),!0):(C(t),!1)})}function Z(o,a,t){var n=p===pn,i=n?gn[0]:kn(p),r=it(o),l=(a=Math.min(Math.max(a,0),11),n?gn.slice(1).filter(function(e){return null!==Ct(o,e)}):[]);(Ct(o,i)||0)===a&&!l.length||v(function(){var e=m("column",o,G({source:t,from:r,to:a},n?l.map(function(e){return{breakpoint:e.key,value:Ct(o,e)}}):null));return!!h("before-indent",e)&&(Pt(o,i,a),l.forEach(function(e){Pt(o,e,0)}),(n?gn:[i]).forEach(function(e){var t,n=Tt(o,e);xn(n)&&(t=It({size:n,offset:a,leading:"offset"})).size!==n&&At(o,e,t.size)}),C(o),h("after-indent",e),!0)})}function ee(e){var t=e.parent();return{parent:t,index:t.children().not(".ge-tools-drawer").index(e)}}function y(n){var o=null;return dn.each(z,function(e,t){!o&&t.kindOf&&(o=t.kindOf(n))}),o||(n.attr("data-ge-container")?n.attr("data-ge-container"):n.hasClass("ge-tab")?"tab":n.hasClass("ge-accordion-item")?"accordion-item":n.hasClass("row")?"row":n.hasClass("column")?"column":n.hasClass("ge-element")?"element":(n=n.hasClass("ge-text-block")?n.children(".ge-content"):n).hasClass("ge-content")?n.attr("data-ge-content-type")?"text":"plain":"node")}function te(){o=dn('<div class="ge-mainControls" />').insertBefore(i),a=dn('<div class="ge-wrapper ge-top" />').appendTo(o),N=dn('<div class="ge-addRowGroup btn-group" />').appendTo(a),K=dn('<div class="ge-addContainerGroup btn-group ms-1" />'),dn.each(f.new_row_layouts,function(e,t){var n,o,a=!Array.isArray(t),i=dn('<a class="btn btn-sm btn-primary" />').attr("title",a?u("row.add_row_cols",{columns:t.columns,counts:(n=t.row_cols,gn.filter(function(e){return n&&void 0!==n[e.key]}).map(function(e){return(e.infix?e.key+": ":"")+n[e.key]}).join(", "))}):u("row.add",{layout:t.join("-")})).attr("data-ge-toolbar","row").attr("data-ge-layout",a?JSON.stringify(t):t.join(",")).on("click",function(){var e=se(t);b("row",e,function(){e.appendTo(g)},{parent:g,source:"tool"})&&e[0].scrollIntoView&&e[0].scrollIntoView({behavior:"smooth"})}).appendTo(N),a=(i.append('<i class="bi bi-plus"></i>'),a?(a=t,o=1,dn.each(a.row_cols||{},function(e,t){"auto"!==t&&(o=Math.max(o,parseInt(t,10)||1))}),Array.apply(null,Array(Math.min(o,a.columns||o))).map(function(){return"equal"})):t),r='<div class="row ge-row-icon">';a.forEach(function(e){r+='<div class="column '+_n(gn[0],e)+'"></div>'}),r+="</div>",i.append(r)}),K.appendTo(a),dn.each(T,function(n,o){ne(dn('<a class="btn btn-sm btn-primary ge-add-container" />'),u(o.labelKey),o.iconClass).attr("data-ge-toolbar","container").attr("data-ge-container-type",n).on("click",function(){var e=Xt(),t=j(vn).appendTo(e),t=o.create({}).appendTo(t);b(n,t,function(){e.appendTo(g)},{parent:g,source:"tool"})}).appendTo(K)});var e,l=[],t=(dn.each(z,function(r,e){(e.toolbar||[]).forEach(function(e,t){n=r,t=t,a=(o=e).iconClass||("end"===o.align?"bi bi-plus":null),i="function"==typeof o.label?o.label():o.label||u(o.labelKey);var n,o,a,i=ne(dn('<a class="btn btn-sm btn-primary ge-add-container ge-add-feature" />'),i,a).addClass(o.className||"").attr("data-ge-toolbar","feature").attr("data-ge-feature",n).attr("data-ge-item",t).on("click",function(){var e=o.create(),t=o.inColumn?ie(e):e;b(o.kind,e,function(){t.appendTo(g)},{parent:g,source:o.source||"tool"})&&o.inColumn&&t[0].scrollIntoView&&t[0].scrollIntoView({behavior:"smooth"})});"end"===e.align?l.push(i):i.appendTo(K)})}),B=dn('<div class="dropdown pull-right ge-layout-mode"><button type="button" class="btn btn-sm btn-primary dropdown-toggle" data-bs-toggle="dropdown"></button><div class="dropdown-menu" role="menu"></div></div>').on("click","a",function(){on(dn(this).attr("data-ge-view"))}).appendTo(a),f.layout_modes.forEach(function(e){dn('<a class="dropdown-item" />').attr("data-ge-view",e).attr("title",u(Tn(e))).text(u(Tn(e))).appendTo(B.find(".dropdown-menu"))}),B.find("button").text(u(Tn(p))),dn('<div class="btn-group pull-right"/>').appendTo(a)),n=(f.edit_source&&(e=dn('<button type="button" class="btn btn-sm btn-primary gm-edit-mode"><i class="bi bi-code-slash"></i></button>').attr("title",u("tool.edit_source")).toggleClass("active btn-danger",s).on("click",function(){s?he():(ve(),i.height(.8*dn(window).height()).val(g.html()).show(),g.hide(),s=!0,x("onSourceOpen",i)),e.toggleClass("active btn-danger",s)}).appendTo(t)),dn('<button type="button" class="btn btn-sm btn-primary gm-preview"><i class="bi bi-eye-fill"></i></button>').attr("title",u("tool.preview")).on("mouseenter",function(){g.removeClass("ge-editing")}).on("click",function(){n.toggleClass("active btn-danger").trigger("mouseleave")}).on("mouseleave",function(){n.hasClass("active")||g.addClass("ge-editing")}).appendTo(t));l.length&&dn('<div class="pull-right ge-toolbar-end" />').append(l).appendTo(a),t=o.find("[data-ge-toolbar]").removeClass("ge-palette-button").off("pointerdown.ge-palette"),("auto"!==f.toolbar_drag?f.toolbar_drag:"drawer"===f.drag_handle)&&t.addClass("ge-palette-button").on("pointerdown.ge-palette",oe)}function ne(e,t,n){return e.attr("title",t),n?e.append(dn("<i />").addClass(n)):e.append('<i class="bi bi-plus"></i>').append(dn("<span />").text(t))}function oe(e){var c=dn(e.currentTarget),n=e.pageX,o=e.pageY,d=null;function u(e){if(!d){if(t=e,!(Math.abs(t.pageX-n)+Math.abs(t.pageY-o)>f.drag.threshold))return;d=c.clone().addClass("ge-toolbar-helper").appendTo("body"),g.addClass("ge-dropping")}d.css({left:e.pageX-14,top:e.pageY-14});var t=e.pageX;(t=ae(t,e.pageY))?(U=U||dn('<div class="ge-drop-marker" />'),t.before?U.insertBefore(t.before):U.appendTo(t.region)):re()}e.button||dn(document).on("pointermove.ge-toolbar",u).on("pointerup.ge-toolbar pointercancel.ge-toolbar",function e(t){var n,o,a,i,r,l,s;dn(document).off("pointermove.ge-toolbar",u).off("pointerup.ge-toolbar pointercancel.ge-toolbar",e),d&&(d.remove(),g.removeClass("ge-dropping"),re(),c.one("click",function(e){e.preventDefault(),e.stopImmediatePropagation()}),t=ae(t.pageX,t.pageY))&&(n=t,"feature"===(t=c).attr("data-ge-toolbar")?(a=n,l=(o=z[(o=t).attr("data-ge-feature")].toolbar[parseInt(o.attr("data-ge-item"),10)]).create(),i=l,o.inColumn?a.region.is(".column")||(i=ie(l)):Kt(a.region,l)||(r=a.region.parentsUntil(g).addBack().first(),(a={region:g,before:r.length?r.next():null}).before&&!a.before.length&&(a.before=null)),b(o.kind,l,function(){a.before?i.insertBefore(a.before):i.appendTo(a.region)},{parent:a.region,source:o.source||"dragdrop"})):(r="container"===t.attr("data-ge-toolbar"),l=t.attr("data-ge-container-type"),s=t=r?T[l].create({}):(e=>/^\s*\{/.test(e||"")?se(JSON.parse(e)):se((e||"").split(",").filter(function(e){return""!==e}).map(le)))(t.attr("data-ge-layout")),r&&!n.region.is(".column")&&(s=ie(t)),b(r?l:"row",t,function(){n.before?s.insertBefore(n.before):s.appendTo(n.region)},{parent:n.region,source:"dragdrop"})))})}function ae(e,t){var n,e=e-window.scrollX,o=t-window.scrollY,t=document.elementFromPoint(e,o);return!t||!(e=dn(t).closest([".column",".ge-canvas"].concat(Nt("regions")).join(", "))).length||e[0]!==g[0]&&!g[0].contains(e[0])?null:(n=null,e.children(Rt()).each(function(){var e;n||(e=this.getBoundingClientRect(),o<e.top+e.height/2&&(n=dn(this)))}),{region:e,before:n})}function ie(e){var t=Xt();return j(vn).appendTo(t).append(e),t}function re(){U&&U.remove()}function le(e){return/^\d+$/.test(String(e))?parseInt(e,10):e}function se(e){var n=Xt();if(Array.isArray(e))e.forEach(function(e){j(e).appendTo(n)});else{dn.each(e.row_cols||{},function(e,t){e=kn(e);e&&-1!==wn.indexOf(String(t))&&n.addClass(yn(e,t))});for(var t=0;t<(e.columns||0);t++)j(null).appendTo(n)}return n}function ce(e){var t=dn(window);t.scrollTop()>o.offset().top&&t.scrollTop()<g.offset().top+g.height()?a.hasClass("ge-top")&&a.css({left:a.offset().left,width:a.outerWidth()}).removeClass("ge-top").addClass("ge-fixed"):a.hasClass("ge-fixed")&&a.css({left:"",width:""}).removeClass("ge-fixed").addClass("ge-top")}function de(){var t,e,n=dn(this);n.attr("data-ge-content-type")||M()||n.is(":visible")&&(e=pe()).length&&(1===e.length?ue(n,e[0]):(e=e,fe((n=(t=n).parent(".ge-text-block")).children(".ge-tools-drawer"),e.map(function(e){return{label:e.label,title:u("tool.convert_type",{editor:e.label}),attributes:{"data-ge-content-type":e.type},choose:function(){ue(t,e)}}}),"ge-text-picker ge-convert-picker",n)))}function ue(t,n){n.available&&!n.available()?n.missingKey&&console.error(u(n.missingKey)):v(function(){var e=m("plain",t,{source:"tool",from:"plain",to:n.type});return!!h("before-convert",e)&&(t.addClass("ge-content-type-"+n.type).attr("data-ge-content-type",n.type),t.parent(".ge-text-block").removeClass("ge-plain-block").children(".ge-tools-drawer").remove(),h("after-convert",e),n.edit(t),!0)})}function fe(e,t,n,o){M(),e.closest(".ge-tools-drawer").addClass("ge-picker-open"),l=dn('<div class="ge-size-picker" />').addClass(n||"").appendTo(e),t.forEach(function(t){dn('<a class="ge-size ge-size-flex" />').attr(t.attributes||{}).attr("title",t.title||t.label).text(t.label).on("click",function(e){e.preventDefault(),e.stopPropagation(),M(),t.choose()}).appendTo(l)}),(o||e).one("mouseleave",function(){window.setTimeout(function(){l&&!l.is(":hover")&&M()},400)})}function ge(){var n={},o=[];return dn.each(z,function(t,e){e.textTypes&&(e.textTypes()||[]).forEach(function(e){n[e.type]?n[e.type]!==t&&d("text-type:"+e.type,'the "'+t+'" plugin declares the text type "'+e.type+'", which the "'+n[e.type]+'" plugin already declares: ignored'):(n[e.type]=t,o.push(e))})}),o}function pe(){return ge().filter(function(e){return!1!==e.offered})}function me(){ve(),c()}function he(){x("onSourceClose",i),s=!1,g.empty().html(i.val()).show(),c(),i.hide()}function c(){O&&!dn.contains(document.documentElement,O.node[0])&&I(),Qt(!0),g.addClass("ge-editing"),g.toggleClass("ge-drag-drawer","drawer"===f.drag_handle),g.find('.column, div[class*="col-"], div.col').each(function(){var t,e=dn(this).addClass("column");t=e,gn.filter(function(e){return null!==kt(t,e)}).length||bt(e.parent())||At(e,gn[0],vn)});n=[".row","[data-ge-container]"],dn.each(z,function(e,t){t="function"==typeof t.cuts?t.cuts():t.cuts;t&&n.push(t)});var n,c,o,e=n.join(", ");c=e,g.find(".column > .ge-content, .column > .ge-text-block > .ge-content").each(function(){var n,o,a,i,r,l,s=dn(this);s.hasClass("ge-rte-active")||!s.children().filter(c).length||(n=s.attr("data-ge-content-type"),o=s.parent(".ge-text-block").length?s.parent():s,a=[],i=[],dn.each(dn.makeArray(s[0].childNodes),function(e,t){1===t.nodeType&&dn(t).is(c)?(a.push({text:i},{block:t}),i=[]):i.push(t)}),a.push({text:i}),dn(s[0].childNodes).detach(),r=!1,l=o,a.forEach(function(e){var t;if(e.block)t=dn(e.block);else{if(!e.text.some(function(e){return 1===e.nodeType||3===e.nodeType&&/\S/.test(e.nodeValue)}))return;r?t=en(n).append(e.text):(s.append(e.text),t=o,r=!0)}t[0]!==l[0]&&t.insertAfter(l),l=t}),r)||o.remove()}),o=e,g.find(".column").each(function(){var e=dn(this),t=dn();e.children().each(function(){var e=dn(this);e.is(".ge-tools-drawer, .ge-resize-handle")||(t=e.is(".ge-content, .ge-text-block")||e.is(o)?Zt(t):t.add(e))}),Zt(t)}),g.find(".column > .ge-content").each(function(){dn(this).wrap('<div class="ge-text-block" />')}),g.find(".ge-text-block").each(function(){var t,e,n,o,a,i,r,l,s=dn(this);s.children(".ge-tools-drawer").length||((e=s.children(".ge-content").attr("data-ge-content-type"))?(a=e,ge().some(function(e){return e.type===a})||(e=e,n=(t=s).children(".ge-content"),A(o=dn('<div class="ge-tools-drawer ge-text-drawer" />').prependTo(t)),P(o,u("text.no_editor",{type:e}),"ge-text-info ge-text-missing","bi bi-exclamation-triangle"),P(o,u("tool.delete_text"),"ge-delete-text","bi bi-trash",function(){w("text",n,u("confirm.delete_text"),function(e){t.slideUp(function(){t.remove(),e()})})}))):(r=(i=s).children(".ge-content"),l=dn('<div class="ge-tools-drawer ge-text-drawer ge-plain-drawer" />').prependTo(i),i.addClass("ge-plain-block"),A(l),dn.each(z,function(e,t){t.plainTools&&t.plainTools(l,r)}),P(l,u("tool.delete_plain"),"ge-delete-plain","bi bi-trash",function(){w("plain",r,u("confirm.delete_plain"),function(e){i.slideUp(function(){i.remove(),e()})})})))}),g.find(".row").each(function(){var t,a,i,n=dn(this);n.find("> .ge-tools-drawer").length||(A(t=dn('<div class="ge-tools-drawer" />').prependTo(n)),dt(t,n,f.row_classes),f.row_tools.forEach(function(e){P(t,e.title||"",e.className||"",e.iconClass||"bi bi-wrench",e.on)}),P(t,u("tool.delete_row"),"ge-delete-row","bi bi-trash",function(){w("row",n,u("confirm.delete_row"),function(e){n.slideUp(e)})}),P(t,u("tool.add_column"),"ge-add-column","bi bi-plus-circle",function(){M()||et(n,wt(n,S())?null:f.add_column.size)}),a=t.find("> .ge-add-column"),i=n,f.add_column.picker&&tt(a,function(){var e,n,o;e=a,n=i,M(),o=Ot(n,S()),e.closest(".ge-tools-drawer").addClass("ge-picker-open"),l=dn('<div class="ge-size-picker" />').appendTo(e),f.valid_col_sizes.forEach(function(t){var e;dn('<a class="ge-size" />').attr("data-ge-size",t).attr("title","equal"!==(e=t)?"auto"!==e?u("tool.column_size",{size:e}):u("tool.column_auto"):u("tool.column_equal")).toggleClass("ge-size-tight",xn(t)&&o<t).toggleClass("ge-size-flex",!xn(t)).text(xn(t)?t:_n(gn[0],t)).on("click",function(e){e.preventDefault(),e.stopPropagation(),M(),et(n,t)}).appendTo(l)}),e.one("mouseleave",function(){window.setTimeout(function(){l&&!l.is(":hover")&&M()},400)})}))}),g.find(".column").each(function(){var t,n=dn(this);n.find("> .ge-tools-drawer").length||(A(t=dn('<div class="ge-tools-drawer" />').prependTo(n)),P(t,u("tool.column_narrower"),"ge-decrease-col-width","bi bi-dash-lg",function(e){Q(n,e.shiftKey?lt(f.valid_col_sizes):rt(f.valid_col_sizes.filter(xn),ot(n),-1),"tool")}),P(t,u("tool.column_wider"),"ge-increase-col-width","bi bi-plus-lg",function(e){Q(n,e.shiftKey?(e=>(e=Ot(e.parent(),S(),e)-it(e),Math.min(st(f.valid_col_sizes),Math.max(e,1))))(n):rt(f.valid_col_sizes.filter(xn),ot(n),1),"tool")}),P(t,u("tool.indent_decrease"),"ge-decrease-col-offset","bi bi-text-indent-right",function(e){Z(n,e.shiftKey?lt(f.valid_col_offsets):rt(f.valid_col_offsets,it(n),-1),"tool")}),P(t,u("tool.indent_increase"),"ge-increase-col-offset","bi bi-text-indent-left",function(e){Z(n,e.shiftKey?(e=>(e=Ot(e.parent(),S(),e)-ot(e),Math.min(st(f.valid_col_offsets),Math.max(e,0))))(n):rt(f.valid_col_offsets,it(n),1),"tool")}),dt(t,n,f.col_classes),f.col_tools.forEach(function(e){P(t,e.title||"",e.className||"",e.iconClass||"bi bi-wrench",e.on)}),P(t,u("tool.delete_column"),"ge-delete-column","bi bi-trash",function(){w("column",n,u("confirm.delete_column"),function(e){n.animate({opacity:"hide",width:"hide",height:"hide"},400,e)})}),P(t,u("tool.add_row"),"ge-add-row","bi bi-plus-circle",function(){var e=Xt();b("row",e,function(){n.append(e)},{parent:n,source:"tool"})}))}),g.find("[data-ge-container]").each(function(){var t,e,n,o,a=dn(this),i=Fe(a),r=T[i];r?(a.addClass("ge-container ge-container-"+i),r.mark(a),a.find("> .ge-tools-drawer").length||(t=a,e=i,n=r,A(o=dn('<div class="ge-tools-drawer ge-container-drawer" />').prependTo(t)),dt(o,t,f.container_classes),f.container_tools.forEach(function(e){P(o,e.title||"",e.className||"",e.iconClass||"bi bi-wrench",e.on)}),n.tools&&n.tools(o,t),P(o,u("tool.delete_container"),"ge-delete-container","bi bi-trash",function(){w(e,t,u("confirm.delete_container"),function(e){t.slideUp(e)})}),n.addPane&&P(o,u(n.addPaneKey),"ge-add-pane","bi bi-plus-circle",function(){var e=n.addPane(t,{});b(n.paneKind,e,function(){},{parent:t,source:"tool",container:t})}))):d("container:"+i,'unknown container type "'+i+'"')}),x("onInit"),window.Sortable?(Bt(g.find(".row"),{draggable:".column",group:"column"}),Bt(g.add(g.find(".column")),{draggable:Rt(),group:"block",accepts:Kt}),(e=Nt("regions")).length&&Bt(g.find(e.join(", ")),{draggable:">"+Rt(),group:"block",accepts:Kt}),x("onSortable",Bt)):d("sortable_missing",u("error.sortable_missing")),f.resize.enabled&&g.find(".column").each(function(){var n=dn(this);n.find("> .ge-resize-handle").length||(dn('<span class="ge-resize-size" />').appendTo(n.find("> .ge-tools-drawer")),dn.each(String(f.resize.handles).split(",").map(function(e){return e.trim()}).filter(function(e){return"e"===e||"w"===e}),function(e,t){dn('<span class="ge-resize-handle" />').addClass("ge-resize-"+t).attr("data-ge-edge",t).on("pointerdown",Ht).appendTo(n)}))}),tn(p),Ne(g)}function ve(){I(),g.removeClass("ge-editing ge-drag-drawer ge-dropping"),x("onBeforeDeinit"),M(),re(),g.find(".ge-tools-drawer").remove(),g.find(".ge-text-block").each(function(){dn(this).replaceWith(dn(this).contents())}),x("onDeinit"),Ke(g),g.find("[data-ge-row-cols]").removeAttr("data-ge-row-cols"),g.find("[data-ge-container]").each(function(){var e=dn(this),t=T[Fe(e)];t&&t.unmark(e),e.removeClass("ge-container ge-container-"+Fe(e)),e.attr("class")||e.removeAttr("class")}),dn.each(V,function(e,t){t.destroy()}),V=[],g.find(".ge-resize-handle").remove(),g.find(".ge-resize-size").remove(),Dt(g),Qt(!1)}function be(){ve(),Dt(g);var e=g.html();return c(),e}function we(e){ve(),Dt(e);e=e[0].outerHTML;return c(),e}function ye(){s&&he(),ve(),X(),mt(),o.remove(),i.remove(),dn(window).off("scroll",ce),g.off("click",".ge-content",de),g.off("ge-rte-ready",".ge-content"),g.removeData("grideditor")}function x(n,o){dn.each(T,function(e,t){t[n]&&t[n](o)}),dn.each(z,function(e,t){t[n]&&t[n](o)}),dn.each(E,function(e,t){t[n]&&t[n](o)})}f.source_textarea&&(0<(t=dn(f.source_textarea).val()).length&&0==dn("<div>"+t+"</div>").find(".row").addBack(".row").length&&(t='<div class="row"><div class="col-lg-12">'+t+"</div></div>"),e.html(t)),e.children().length&&!e.find("div.row").length&&(t=e.children(),dn('<div class="row"><div class="col-lg-12"/></div>').appendTo(e).find(".col-lg-12").append(t));var _={},xe=".row, .column, .ge-content, .ge-element, [data-ge-container]",_e="data-ge-preview",ke=!1;function Ce(e,t,n){var o=n.name||n.prefix;_[o]?An('the "'+e+'" plugin declares the utility "'+o+'", which the "'+_[o].plugin+'" plugin already declared: ignored'):_[o]={plugin:e,family:dn.extend({},n,{name:o,values:n.values.map(String),appliesTo:n.appliesTo||t.appliesTo||["row","column"]})}}function Te(e,t){return _[e]?_[e].family:(d("utility:"+e,t+"("+JSON.stringify(e)+"): no loaded plugin declares that utility"),null)}function ze(e,t){return-1!==e.appliesTo.indexOf(t="plain"===t?"text":t)||T[t]&&-1!==e.appliesTo.indexOf("container")}function Ee(t){return dn.map(_,function(e){return ze(e.family,t)?e.family:null})}function Me(e,t,n){return e.className?e.className(t.key,n):e.prefix+(t.infix?"-"+t.infix:"")+"-"+n}function k(e,t,n){for(var o=(e.attr("class")||"").split(/\s+/),a=0;a<t.values.length;a++)if(-1!==o.indexOf(Me(t,n,t.values[a])))return t.values[a];return null}function Se(e,t,n){for(var o=gn.indexOf(n)-1;0<=o;o--){var a=k(e,t,gn[o]);if(null!==a)return{tier:gn[o],value:a}}return null}function Ae(e,t,n){var o=k(e,t,n);return null!==o?o:(o=Se(e,t,n))?o.value:null}function Pe(t,n){return gn.map(function(e){return{tier:e,value:k(t,n,e)}}).filter(function(e){return null!==e.value})}function Oe(t,n,o,e){n.values.forEach(function(e){t.removeClass(Me(n,o,e))}),null!==e&&t.addClass(Me(n,o,e)),t.attr("class")||t.removeAttr("class")}function Ie(e,t,n){return n===pn?k(e,t,gn[0]):Ae(e,t,kn(n))}function De(e,t,n){e=dn(e).first();var o,t=Te(t,"getUtility");return t&&e.length?null===(o=void 0===n?p:nn(n))?(An("getUtility("+JSON.stringify(n)+"): no such layout mode"),null):Ie(e,t,o):null}function je(t,n,o,a){a="string"==typeof a?{view:a}:a||{},t=dn(t).first();var i,r,l,e,s,c,d,u,f,g=Te(n,"setUtility");return!(!g||!t.length)&&(null===(i=void 0===a.view?p:nn(a.view))?(An("setUtility("+JSON.stringify(a.view)+"): no such layout mode"),!1):null!==(o=null==o||""===o?null:String(o))&&-1===g.values.indexOf(o)?(An("setUtility: "+JSON.stringify(o)+' is not a value of "'+n+'", which takes '+JSON.stringify(g.values)),!1):(r=y(t),ze(g,r)?g.write?g.write(t,o,i,a.source||"api"):(e=t,s=g,d=o,!!(l=(c=i)!==pn?k(e,s,c=kn(c))===d?null:{writes:[{tier:c,value:d}],cleared:[]}:(u=[],f=[],Pe(e,s).forEach(function(e){e.tier!==gn[0]&&(u.push({tier:e.tier,value:null}),f.push({breakpoint:e.tier.key,value:e.value}))}),k(e,s,gn[0])!==d&&u.unshift({tier:gn[0],value:d}),u.length?{writes:u,cleared:f}:null))&&v(function(){var e=m(r,t,{family:n,breakpoint:i,tiers:l.writes.map(function(e){return e.tier.key}),from:Ie(t,g,i),to:o,cleared:l.cleared,source:a.source||"api"});return h("before-utility",e)?(l.writes.forEach(function(e){Oe(t,g,e.tier,e.value)}),C(t),h("after-utility",e),!0):(C(t),!1)})):(An('setUtility: "'+n+'" does not apply to a '+r),!1)))}function Re(t,e,n){var o=Te(e,"bareStyle");return t=dn(t).first(),o&&t.length?(e=t.attr("class"),gn.forEach(function(e){Oe(t,o,e,null)}),n=getComputedStyle(t[0]).getPropertyValue(n),void 0===e?t.removeAttr("class"):t.attr("class",e),n):null}function C(e){var t=gt(e);t.find(".ge-classes").val(ct(e).join(" ")),t.children(".ge-utilities").each(function(){qe(dn(this))}),Ne(e)}function Ne(e){var t,l;Ke(e),p!==pn&&(t=e,l=kn(p),(e=>e.find(xe).addBack(xe))(t).each(function(){var e,n,o,a=dn(this),i=y(a),r={};Ee(i).forEach(function(e){e.preview&&Pe(a,e).length&&dn.extend(r,e.preview(Ae(a,e,l),a,i))}),"column"===i&&dn.extend(r,((e,t)=>{var n=xt(e,t);return n?{flex:"0 0 auto",width:"auto"===n.value?"auto":100/parseInt(n.value,10)+"%","max-width":"100%"}:!bt(e.parent())||yt(e,t)?{}:{flex:"0 0 auto",width:"100%","max-width":"100%"}})(a,l)),dn.each(E,function(e,t){t.preview&&dn.extend(r,t.preview(a,i,l.key))}),dn.isEmptyObject(r)||(n=(e=a)[0].style,o={},dn.each(r,function(e,t){o[e]=[n.getPropertyValue(e),n.getPropertyPriority(e)],n.setProperty(e,String(t),"important")}),e.attr(_e,JSON.stringify(o)))})),e.find(".row").addBack(".row").each(function(){var e=dn(this),t=!1===f.row_cols?null:p===pn?wt(e,gn[0])||null:wt(e,kn(p));t?e.attr("data-ge-row-cols",_t(t.value)):e.removeAttr("data-ge-row-cols")}),x("onRefresh",e)}function Ke(e){e.find("["+_e+"]").addBack("["+_e+"]").each(function(){var e=dn(this),n=this.style,t={};try{t=JSON.parse(e.attr(_e))||{}}catch(e){}dn.each(t,function(e,t){t&&t[0]?n.setProperty(e,t[0],t[1]):n.removeProperty(e)}),e.removeAttr(_e),e.attr("style")||e.removeAttr("style")})}function Be(e,t){var n=dn('<label class="ge-utility" />').attr("data-ge-family",t.name);return dn('<span class="ge-utility-label" />').text(t.labelKey?u(t.labelKey):t.name).appendTo(n),dn('<select class="form-select form-select-sm" />').appendTo(n).on("change",function(){je(e,t.name,this.value,{source:"panel"})}),dn('<small class="ge-utility-note" />').appendTo(n),n}function Ue(e,t){var t=Te(t,"utilityField");return t?(Ve(t=Be(e,t),e),t):dn()}function qe(e){var t=e.data("ge-node");e.children(".ge-utilities-toggle").text(u("utility.section",{view:u(Tn(p))})),e.find(".ge-utility").each(function(){Ve(dn(this),t)})}function Ve(e,t){var n,o,a,i,r=_[e.attr("data-ge-family")].family,l=e.children("select").empty(),s=r.choices?r.choices(t,y(t)):r.values,c="";p===pn?(n=k(t,r,gn[0]),o=u("utility.default"),(i=Pe(t,r).filter(function(e){return e.tier!==gn[0]})).length&&(c=u("utility.varies",{breakpoints:i.map(function(e){return e.tier.key}).join(", ")}))):(i=kn(p),a=Se(t,r,i),n=k(t,r,i),o=a?u("utility.inherit",{value:He(r,a.value),breakpoint:a.tier.key}):u("utility.default"),(i=r.blank?r.blank(t,p):null)&&null===n&&(o=i)),null!==n&&-1===s.indexOf(n)&&(s=s.concat([n])),dn('<option value="" />').text(o).appendTo(l),s.forEach(function(e){dn("<option />").attr("value",e).text(He(r,e)).appendTo(l)}),l.val(null===n?"":n),e.children(".ge-utility-note").text(c).toggle(""!==c)}function He(e,t){return e.label?e.label(t):t}var T={},z={},E={},n={},Je=0;function Le(e){return"ge-"+e+"-"+ ++Je+"-"+Math.random().toString(36).slice(2,6)}function We(){var e=Xt();return j(vn).appendTo(e),e}function Fe(e){return e.attr("data-ge-container")}function Xe(e,t,n,o,a){var i=dn('<div class="ge-tools-drawer ge-pane-drawer" />').prependTo(e);return A(i),dt(i,e,f.pane_classes),n.forEach(function(e){P(i,e.title||"",e.className||"",e.iconClass||"bi bi-wrench",e.on)}),P(i,u("tool.delete_pane"),"ge-delete-pane","bi bi-trash",function(){w(t,e,o,function(e){a(e)})}),i}function $e(e){e.find("[data-bs-toggle], [data-bs-dismiss]").addBack("[data-bs-toggle], [data-bs-dismiss]").each(function(){var n=dn(this);["toggle","dismiss"].forEach(function(e){var t=n.attr("data-bs-"+e);void 0!==t&&n.attr("data-ge-bs-"+e,t).removeAttr("data-bs-"+e)})})}function Ye(e){e.find("[data-ge-bs-toggle], [data-ge-bs-dismiss]").addBack("[data-ge-bs-toggle], [data-ge-bs-dismiss]").each(function(){var n=dn(this);["toggle","dismiss"].forEach(function(e){var t=n.attr("data-ge-bs-"+e);void 0!==t&&n.attr("data-bs-"+e,t).removeAttr("data-ge-bs-"+e)})})}function Ge(t){var n;t.data("ge-editable")||(n=t.closest("[data-bs-toggle], [data-ge-bs-toggle]"),t.data("ge-editable",!0).attr("title",u("tool.rename")).on("dblclick",function(e){e.preventDefault(),e.stopPropagation(),$e(n),t.attr("contenteditable","true").trigger("focus"),window.getSelection().selectAllChildren(t[0])}).on("keydown",function(e){"true"===t.attr("contenteditable")&&"Enter"===e.key&&(e.preventDefault(),t.trigger("blur"))}).on("blur",function(){t.removeAttr("contenteditable"),Ye(n)}))}function Qe(e){var t=e.find("> .ge-pane-label");return t.length||(t=dn('<span class="ge-pane-label" />').text(e.text().trim()),e.empty().append(t)),t}function Ze(e){e.find(".ge-pane-label").each(function(){dn(this).removeData("ge-editable").contents().unwrap()})}function et(e,t){var n=j(t);b("column",n,function(){e.append(n)},{parent:e,source:"tool"})}function tt(e,t){function n(){window.clearTimeout(o),o=null}var o=null;e.on("mouseenter mousedown",function(){o||l||(o=window.setTimeout(function(){o=null,t()},f.add_column.delay))}),e.on("mouseleave",n),e.on("mouseup",n)}function M(){return!(!l||(l.closest(".ge-tools-drawer").removeClass("ge-picker-open"),l.remove(),l=null))}function S(){return p===pn?gn[gn.length-1]:kn(p)}function nt(e){var t=S();return xt(e,t)?null:null===(e=Tt(e,t))?vn:e}function ot(e){var t=nt(e);return xn(t)?t:(t=Math.round(e.outerWidth()/at(e.parent())*vn),Math.min(Math.max(t,1),vn))}function at(e){var t=window.getComputedStyle(e[0]);return e[0].clientWidth-parseFloat(t.paddingLeft)-parseFloat(t.paddingRight)}function it(e){return zt(e,S())||0}function rt(e,n,t){var o=e.indexOf(n);return-1===o?e.reduce(function(e,t){return Math.abs(t-n)<Math.abs(e-n)?t:e},e[0]):e[Math.min(Math.max(o+t,0),e.length-1)]}function lt(e){return e.filter(xn).reduce(function(e,t){return Math.min(e,t)},vn)}function st(e){return e.filter(xn).reduce(function(e,t){return Math.max(e,t)},0)}function A(e){"drawer"!==f.drag_handle&&P(e,u("tool.move"),"ge-move","bi bi-arrows-move")}function P(e,t,n,o,a){var i=dn("<a />").attr("title",t).attr("class",n).append(dn("<i />").attr("class",o)).appendTo(e);"function"==typeof a&&i.on("click",a),"object"==typeof a&&dn.each(a,function(e,t){i.on(e,t)})}function ct(e){return(e.attr("class")||"").split(/\s+/).filter(function(e){return""!==e&&!(t=>"row"===t||"column"===t||/^(ge-|ui-)/.test(t)||/^col(-(sm|md|lg|xl|xxl))?(-auto)?$/.test(t)||gn.some(function(e){return new RegExp("^("+e.colPrefix+"|"+e.offsetPrefix+")\\d+$").test(t)}))(e)})}function dt(n,l,e){var s=((n,e)=>{function t(e){return dn('<label class="ge-field" />').append(dn('<span class="ge-field-label" />').text(e)).appendTo(a)}var o=dn('<div class="ge-details" />'),a=dn('<div class="ge-details-general" />').appendTo(o),i=(dn('<input class="ge-id form-control form-control-sm" />').attr("placeholder",u("tool.id_placeholder")).val(n.attr("id")).attr("title",u("tool.id_title")).appendTo(t(u("panel.id"))).on("change",function(){""===this.value?n.removeAttr("id"):n.attr("id",this.value)}),dn('<input class="ge-classes form-control form-control-sm" />').attr("placeholder",u("tool.classes_placeholder")).attr("title",u("tool.classes_title")).val(ct(n).join(" ")).appendTo(t(u("panel.classes"))).on("change",function(){var t,e;t=n,e=this.value,ct(t).forEach(function(e){t.removeClass(e)}),e.split(/\s+/).forEach(function(e){""!==e&&t.addClass(e)}),t.attr("class")||t.removeAttr("class"),C(n)}),dn('<div class="btn-group btn-group-sm ge-presets" role="group" />').appendTo(a));return e.forEach(function(e){var t=dn('<a role="button" class="btn btn-sm btn-outline-secondary" />').html(e.label).attr("title",e.title||u("tool.toggle_class",{label:e.label})).toggleClass("active",n.hasClass(e.cssClass)).attr("aria-pressed",n.hasClass(e.cssClass)?"true":"false").on("click",function(){t.toggleClass("active").attr("aria-pressed",t.hasClass("active")?"true":"false"),n.toggleClass(e.cssClass,t.hasClass("active")),C(n)}).appendTo(i)}),(e=(n=>{var e,t,o=y(n),a=Ee(o).filter(function(e){return!1!==e.panel}).map(function(e){return Be(n,e)});return dn.each(E,function(e,t){t=t.panel?t.panel(n,o):null;t&&t.length&&a.push(t)}),a.length?(e=dn('<div class="ge-utilities" />').toggleClass("ge-open",ke).data("ge-node",n),dn('<a class="ge-utilities-toggle" />').appendTo(e).on("click",function(){ke=!e.hasClass("ge-open"),pt().find(".ge-utilities").toggleClass("ge-open",ke)}),t=dn('<div class="ge-utilities-body" />').appendTo(e),a.forEach(function(e){e.appendTo(t)}),qe(e),e):null})(n))&&e.appendTo(o),o})(l,e||[]),o=(l.data("ge-details",s),P(n,u("tool.settings"),"ge-settings","bi bi-gear-fill",function(){var e,t,n,o,a,i,r;e=l,t=s,n=dn(this),"inline"===(r=-1===ut.indexOf(f.settings_panel)?(d("settings_panel",'settings_panel "'+f.settings_panel+'" is not one of '+ut.join(", ")+": using offcanvas"),"offcanvas"):f.settings_panel)?t.toggle():(i=O&&O.details[0]===t[0],I(),i||(i=e,e=t,o=n,a=(e=>{var t;return ft[e]||((t="offcanvas"===e?dn('<div class="offcanvas offcanvas-end ge-settings-panel ge-settings-offcanvas" tabindex="-1" role="dialog" />').append(dn('<div class="offcanvas-header" />').append('<h5 class="offcanvas-title ge-settings-title"></h5>').append(n())).append('<div class="offcanvas-body ge-settings-body"></div>'):"popover"===e?dn('<div class="popover bs-popover-bottom ge-settings-panel ge-settings-popover" role="dialog" />').append('<div class="popover-arrow"></div>').append(dn('<div class="popover-header" />').append('<span class="ge-settings-title"></span>').append(n())).append('<div class="popover-body ge-settings-body"></div>').hide():dn('<div class="modal fade ge-settings-panel ge-settings-modal" tabindex="-1" role="dialog" aria-hidden="true" />').append(dn('<div class="modal-dialog modal-dialog-centered modal-dialog-scrollable" />').append(dn('<div class="modal-content" />').append(dn('<div class="modal-header" />').append('<h5 class="modal-title ge-settings-title"></h5>').append(n())).append('<div class="modal-body ge-settings-body"></div>').append(dn('<div class="modal-footer" />').append(dn('<button type="button" class="btn btn-primary ge-settings-close" />').text(u("panel.done"))))))).on("click",".ge-settings-close",function(e){e.preventDefault(),I()}),ft[e]=t.appendTo("body"),t);function n(e){return dn('<button type="button" class="btn-close ge-settings-close" />').addClass(e||"").attr("aria-label",u("panel.close"))}})(t=r),O={mode:t,node:i,details:e,home:e.parent(),next:e.next(),gear:o},a.find(".ge-settings-title").text(u("panel.title",{kind:(e=>{var t=y(e);if(T[t]&&T[t].labelKey)return u(T[t].labelKey);switch(t){case"row":return u("panel.kind_row");case"column":return u("panel.kind_column");case"text":return u("panel.kind_text");case"element":return u("panel.kind_element");case"section":return u("panel.kind_section");case"tab":return u("panel.kind_tab");case"accordion-item":return u("panel.kind_accordion_item");default:return t}})(i)})),e.appendTo(a.find(".ge-settings-body")).show(),i.addClass("ge-settings-target"),i=".ge-settings-"+H,dn(document).on("keydown"+i,function(e){"Escape"===e.key&&I()}),"offcanvas"===t?(n=window.innerWidth<576,a.toggleClass("offcanvas-end",!n).toggleClass("offcanvas-bottom",n),a.removeClass("hiding"),a[0].getBoundingClientRect(),a.addClass("show")):"popover"===t?(ht(a,o),dn(window).on("scroll"+i+" resize"+i,function(){ht(a,o)}),window.ResizeObserver&&(O.observer=new window.ResizeObserver(function(){ht(a,o)}),O.observer.observe(e[0])),dn(document).on("mousedown"+i+" touchstart"+i,function(e){dn(e.target).closest(a).length||dn(e.target).closest(o).length||I()})):function e(t){if(!window.bootstrap||!window.bootstrap.Modal)return D=dn('<div class="modal-backdrop fade show ge-settings-backdrop" />').appendTo("body").on("click",function(){I()}),void t.addClass("show").css("display","block").removeAttr("aria-hidden");var n=window.bootstrap.Modal.getOrCreateInstance(t[0]);t.data("ge-watched")||(t.data("ge-watched",!0),t.on("hide.bs.modal",function(){"open"===t.data("ge-wanted")&&(t.data("ge-wanted","closed"),t.data("ge-busy",!0))}),t.on("shown.bs.modal",function(){t.data("ge-busy",!1),"closed"===t.data("ge-wanted")&&vt(t)}),t.on("hidden.bs.modal",function(){t.data("ge-busy",!1),"open"===t.data("ge-wanted")?e(t):O&&"modal"===O.mode&&I()}));t.data("ge-wanted","open");t.data("ge-busy")||(t.data("ge-busy",!0),n.show())}(a)))}),y(l));return dn.each(E,function(e,t){t.drawerTools&&t.drawerTools(n,l,o)}),dn.each(z,function(e,t){t.drawerTools&&t.drawerTools(n,l,o)}),s.appendTo(n)}var ut=["offcanvas","popover","modal","inline"],ft={},O=null;function gt(e){e=e.data("ge-details");return e&&e.length?e:dn()}function pt(){return O&&"inline"!==O.mode?g.add(O.details):g}function I(){var e,t=O;t&&(O=null,e=ft[t.mode],dn(document).off(".ge-settings-"+H),dn(window).off(".ge-settings-"+H),t.observer&&t.observer.disconnect(),"offcanvas"===t.mode?(e.removeClass("show").addClass("hiding"),window.setTimeout(function(){e.removeClass("hiding")},300)):"popover"===t.mode?e.hide():vt(e),t.node.removeClass("ge-settings-target"),t.details.css("display",""),t.home.length&&dn.contains(document.documentElement,t.home[0])?t.next.length&&t.next.parent()[0]===t.home[0]?t.details.insertBefore(t.next):t.details.appendTo(t.home):t.details.remove())}function mt(){I(),dn.each(ft,function(e,t){"modal"===e&&window.bootstrap&&window.bootstrap.Modal&&(e=window.bootstrap.Modal.getInstance(t[0]))&&e.dispose(),t.remove()}),D&&(D.remove(),D=null),ft={}}function ht(e,t){var n,o,a,i,r,l;dn.contains(document.documentElement,t[0])&&(e.show(),t=t[0].getBoundingClientRect(),n=e.children(".popover-body").css("max-height",""),o=e.outerWidth(),a=e.outerHeight(),l=window.innerHeight-t.bottom-16,r=t.top-16,(l=(i=a<=l||r<=l)?l:r)<a&&(n.css("max-height",Math.max(120,l-(a-n.outerHeight()))),a=e.outerHeight()),r=i?t.bottom+8:t.top-8-a,l=Math.max(8,Math.min(t.left+t.width/2-24,window.innerWidth-o-8)),e.toggleClass("bs-popover-bottom",i).toggleClass("bs-popover-top",!i).css({top:r+window.pageYOffset,left:l+window.pageXOffset}),e.children(".popover-arrow").css("left",Math.max(8,Math.min(t.left+t.width/2-l-8,o-24))))}var D=null;function vt(e){window.bootstrap&&window.bootstrap.Modal?(e.data("ge-wanted","closed"),!e.data("ge-busy")&&e.hasClass("show")&&(e.data("ge-busy",!0),window.bootstrap.Modal.getOrCreateInstance(e[0]).hide())):(D&&(D.remove(),D=null),e.removeClass("show").css("display","").attr("aria-hidden","true"))}function bt(n){return n.hasClass("row")&&gn.some(function(t){return wn.some(function(e){return n.hasClass(yn(t,e))})})}function wt(e,t){if(e.hasClass("row"))for(var n=gn.indexOf(t);0<=n;n--)for(var o=0;o<wn.length;o++)if(e.hasClass(yn(gn[n],wn[o])))return{tier:n,value:wn[o]};return null}function yt(e,t){for(var n=gn.indexOf(t);0<=n;n--){var o=kt(e,gn[n]);if(null!==o)return{tier:n,size:o}}return null}function xt(e,t){var n=wt(e.parent(),t);return n&&(!(e=yt(e,t))||n.tier>e.tier||n.tier===e.tier&&"equal"===e.size)?n:null}function _t(e){return"auto"===e?u("badge.row_cols_auto"):u("badge.row_cols",{count:e})}function kt(e,t){var n=Mt(e,t.colPrefix);return null!==n?n:e.hasClass(_n(t,"auto"))?"auto":e.hasClass(_n(t,"equal"))?"equal":null}function Ct(e,t){return Mt(e,t.offsetPrefix)}function Tt(e,t){return Et(e,t,kt)}function zt(e,t){return Et(e,t,Ct)}function Et(e,t,n){for(var o=gn.indexOf(t);0<=o;o--){var a=n(e,gn[o]);if(null!==a)return a}return null}function Mt(e,t){t=new RegExp("(?:^|\\s)"+t+"(\\d+)(?:\\s|$)").exec(e.attr("class")||"");return t?parseInt(t[1],10):null}function St(e,t,n){var o=(e.attr("class")||"").split(/\s+/).filter(function(e){return""!==e&&!new RegExp("^"+t+"\\d+$").test(e)});null!==n&&o.push(t+n),e.attr("class",o.join(" "))}function At(t,n,e){St(t,n.colPrefix,null),bn.forEach(function(e){t.removeClass(_n(n,e))}),null!=e&&t.addClass(_n(n,e))}function Pt(e,t,n){St(e,t.offsetPrefix,n||null)}function Ot(e,n,o){var a=0;return e.children(".column").each(function(){var e,t=dn(this);o&&t[0]===o[0]||(e=(e=xt(t,n))?"auto"===(e=e).value?0:vn/parseInt(e.value,10):Tt(t,n),a+=(xn(e)?e:0)+(zt(t,n)||0))}),vn-a}function It(e){var t=null==e.size?null:e.size,n=null==e.offset?0:e.offset,n=Math.min(Math.max(n,0),11);return null===t||!xn(t)||(t=Math.min(Math.max(t,1),vn))+n<=vn?{size:t,offset:n,refused:!1}:"offset"===e.leading?{size:vn-n,offset:n,refused:!1}:{size:null,offset:n,refused:!0}}function Dt(e){e.find(".column").addBack(".column").each(function(){var e=dn(this);e.css({width:"",height:"",left:"",top:""}),e.attr("style")||e.removeAttr("style")})}function jt(e){return"ge-"+e+"-"+H}function Rt(){return[".row",".ge-text-block",".ge-content","[data-ge-container]"].concat(Nt("blocks")).join(", ")}function Nt(t){return dn.map(z,function(e){return e[t]||null})}function Kt(n,o){var a=!0;return dn.each(z,function(e,t){a&&t.accepts&&!1===t.accepts(n,o)&&(a=!1)}),a}function Bt(e,a){var t,i,r;e.length&&window.Sortable&&(t="drawer"===f.drag_handle,i="drawer"===f.drag_handle?".ge-tools-drawer > a:not(.ge-text-info):not(.ge-element-info), .ge-details, input, textarea, button, select, option":"input, textarea, button, select, option",r=0,e.each(function(){var n=this,o=a.group?{name:jt(a.group)}:{name:jt(a.draggable+"-"+ ++r),pull:!1,put:!1};a.group&&a.accepts&&(o.put=function(e,t,n){return t.options.group.name===o.name&&a.accepts(dn(e.el),dn(n))}),V.push(window.Sortable.create(n,dn.extend({group:o,draggable:a.draggable,handle:t?".ge-tools-drawer":".ge-tools-drawer .ge-move",filter:function(e,t){return!!dn(e.target).closest(i,n).length||!t||t.parentNode!==n},preventOnFilter:!1,forceFallback:!0,fallbackOnBody:!1,ghostClass:"ge-drag-placeholder",chosenClass:"ge-drag-chosen",dragClass:"ge-drag-helper",fallbackClass:"ge-drag-helper",animation:f.drag.animation,delay:f.drag.delay||f.drag.touch_delay,delayOnTouchOnly:!f.drag.delay,touchStartThreshold:f.drag.threshold,scroll:f.drag.scroll,onStart:Ut,onEnd:Vt},a.options||{})))}))}function Ut(e){var t=dn(e.item),n=ee(t),o=qt(t);t.data("ge-move-from",n),t.removeData("ge-move-canceled"),v(function(){h("before-move",m(o.kind,o.node,{parent:n.parent,source:"dragdrop",from:n}))||t.data("ge-move-canceled",!0)})}function qt(e){e=e.hasClass("ge-text-block")?e.children(".ge-content"):e;return{kind:y(e),node:e}}function Vt(e){var t,n,o,a,i,r,e=dn(e.item),l=e.data("ge-move-from")||ee(e);e.removeData("ge-move-from"),e.data("ge-move-canceled")?(e.removeData("ge-move-canceled"),i=e,!(n=(t=l).parent.children().not(".ge-tools-drawer").not(i)).length||t.index>=n.length?i.appendTo(t.parent):i.insertBefore(n.eq(t.index))):(o=ee(e)).parent[0]===l.parent[0]&&o.index===l.index||(a=e.closest("[data-ge-container]"),(i=T[Fe(a)])&&i.afterPaneMove&&i.afterPaneMove(a,e,l),r=qt(e),v(function(){h("after-move",m(r.kind,r.node,{parent:o.parent,source:"dragdrop",from:l,to:o,container:a.length?a:void 0}))}))}function Ht(e){var t,n,s=dn(e.currentTarget),c=s.parent(),o="w"===s.attr("data-ge-edge"),a=e.pageX,i=c.outerWidth();function d(e){e=e.pageX-a;return Math.max(1,i+(o?-e:e))}function u(e){var t;c.css("width",d(e)+"px"),t=c,e=d(e),Wt(t,Ft(Jt(t,e)))}e.preventDefault(),n=nt(t=c),v(function(){return h("before-resize",m("column",t,{source:"dragdrop",from:n,to:null}))})&&(t.data("ge-resize-from",n),t.data("ge-resize-units",ot(t)),Wt(t,Ft(t.data("ge-resize-units"))),1)&&(c.addClass("ge-resizing"),void 0!==e.pointerId&&s[0].setPointerCapture&&s[0].setPointerCapture(e.pointerId),s.on("pointermove",u).on("pointerup pointercancel",function e(t){var o,a,i,r,l;s.off("pointermove",u).off("pointerup pointercancel",e),c.removeClass("ge-resizing"),o=c,t=d(t),i=o.data("ge-resize-from"),r=o.data("ge-resize-units"),l=Jt(o,t),o.removeData("ge-resize-from").removeData("ge-resize-units"),Wt(o,""),Dt(o),void 0!==i&&l!==r&&(a=$(o,l))&&v(function(){var e,t,n;Y(o,a),t=l-r,(e=Lt(e=o))&&t&&xn(n=nt(e))&&(n=$(e,n-t))&&(Y(e,n),C(e)),C(o),h("after-resize",m("column",o,G({source:"dragdrop",from:i,to:a.size},a.cleared)))})}))}function Jt(e,t){var t=Math.round(t/at(e.parent())*vn),n=Lt(e),o=n?nt(n):null,a=e.data("ge-resize-units"),n=n&&xn(o)?a+o-lt(f.valid_col_sizes):vn-it(e);return Math.min(Math.max(t,lt(f.valid_col_sizes)),Math.max(n,lt(f.valid_col_sizes)),st(f.valid_col_sizes))}function Lt(e){return"next"===f.resize.balance&&(e=e.nextAll(".column").first()).length?e:null}function Wt(e,t){e.find("> .ge-tools-drawer > .ge-resize-size").text(t)}function Ft(e){return(p===pn?gn[0]:S()).colPrefix+e}function Xt(){return dn('<div class="row" />')}function $t(e,t,n){var o,a,i=null;return fn.forEach(function(e){null===i&&n&&void 0!==n[e]&&(i=e)}),null===i?e:(a=dn(n[i]),o="appendTo"===i||"prependTo"===i?a:a.parent(),a=function(){return b(t,e,function(){e[i](n[i])},{parent:o,source:n.source||"api"})},0<J?(W(a),e):a())}function Yt(e,t,n){e=dn(e),n=n||{};var o=T[Fe(e)];return o&&Fe(e)===t?(n=o.addPane(e,n),b(o.paneKind,n,function(){},{parent:e,source:"api",container:e})):(An("this is not a "+t+" container"),null)}function Gt(){var n={};return dn.each(f,function(e,t){n[e]=Array.isArray(t)?t.slice():t}),Object.freeze(n)}function j(e,t){var n=dn('<div class="column"/>'),o=Cn(p)[0],t=It({size:e,offset:t||0,leading:"offset"});return At(n,o,null===t.size?e:t.size),Pt(n,o,t.offset),n}function Qt(n){f.custom_filter.length&&dn.each(f.custom_filter,function(e,t){(t="string"==typeof t?window[t]:t)(g,n)})}function Zt(e){var t;return e.length&&(t=en().insertAfter(e.last()),e.appendTo(t)),dn()}function en(e){var t=dn('<div class="ge-content"/>');return e&&t.addClass("ge-content-type-"+e).attr("data-ge-content-type",e),t}function tn(t){p=t,mn.forEach(function(e){g.toggleClass("ge-layout-"+e,e===t)}),B.find("button").text(u(Tn(t)))}function nn(e){return"number"==typeof e?(d("changeView-index","changeView("+e+"): layout modes are identified by breakpoint key now, so pass one of "+JSON.stringify(mn)+". Numeric indexes still work, but they mean what they meant in 2.x ("+hn.join(", ")+") and will be dropped."),hn[e]||null):-1===mn.indexOf(e)?null:e}function on(e){var t=nn(e);null===t?An("changeView("+JSON.stringify(e)+"): no such layout mode"):(e=p,tn(t),t!==e&&(pt().find(".ge-utilities").each(function(){qe(dn(this))}),Ne(g),x("onViewChange",t),h("view-change",{canvas:g,breakpoint:t,from:e,to:t})))}function an(){return p}var rn,ln={getHtml:be,getPlainHtml:function(){return Pn(be())},init:function(){W(c)},reset:function(){W(me)},deinit:ve,destroy:ye,remove:function(){d("remove","remove() is deprecated and will be removed in a later release. Use destroy(), which does the same thing."),ye()},changeView:on,getView:an,createRow:function(e,t){var n=Xt();return void 0===e||Array.isArray(e)||e&&e.row_cols||(An("createRow: the layout is an array of column sizes, as in [8, 4], or { row_cols, columns }. Making an empty row instead."),e=[]),e&&!Array.isArray(e)&&(n=se(e)),(Array.isArray(e)?e:[]).forEach(function(e){j(e).appendTo(n)}),$t(n,"row",t)},createColumn:function(e,t){var n,o=dn((t=t||{}).appendTo||t.prependTo||[]).first(),o=(void 0===e&&o.length&&wt(o,S())?e=null:xn(e)||-1!==bn.indexOf(e)||(An("createColumn: no column size given, using 12"),e=vn),j(e,t.offset));return void 0!==t.content&&o.append((e=t.content,en((n=pe()).length?n[0].type:null).html(e))),$t(o,"column",t)},createText:function(e,t){return n.createText?n.createText(e,t):(d("plugin:text","createText needs a text editor plugin: include dist/plugins/grideditor.tinymce.js, or another editor's, after the editor"),null)},createElement:function(e,t){return n.createElement?n.createElement(e,t):(d("plugin:elements","createElement needs the elements plugin: include dist/plugins/grideditor.elements.js after the editor"),null)},createSection:function(e){return n.createSection?n.createSection(e):(d("plugin:sections","createSection needs the sections plugin: include dist/plugins/grideditor.sections.js after the editor"),null)},createContainer:function(e,t){t=t||{};var n=T[e];return n?$t(n.create(t),e,t):(An('createContainer: no such container type "'+e+'"'),null)},addTab:function(e,t){return Yt(e,"tabs",t)},addAccordionItem:function(e,t){return Yt(e,"accordion",t)},setLocale:function(e){f.locale=e,ln.settings=Gt(),X(),mt(),o.remove(),te(),me()},getUtility:De,setUtility:je,canvas:g,settings:Gt()};function sn(e){return!f.plugins||-1!==f.plugins.indexOf(e)}dn.each(un,function(e,t){t.unimplemented&&(ln[e]=function(){return d(e,e+" is registered but not implemented in this build yet"),null})}),e.data("grideditor",ln),rn={canvas:g,settings:f,t:u,warn:An,containerId:Le,defaultRegion:We,createTool:P,createMoveTool:A,addSettingsTool:dt,deleteNode:w,place:$t,createPaneControls:Xe,makeLabelEditable:Ge,labelIn:Qe,unwrapLabels:Ze,suspendToggles:$e,resumeToggles:Ye,emit:h,payloadFor:m,operate:v,kindOf:y,view:an,viewTiers:function(){return Cn(p).map(function(e){return e.key})},breakpoints:gn.map(function(e){return e.key}),getUtility:De,setUtility:je,utilityField:Ue,bareStyle:Re,rowFromLayout:se,nodeHtml:we,textReady:function(e){e.trigger("ge-rte-ready")},attachPicker:tt,openPicker:fe,closePicker:M,detailsOf:gt,drawerOf:function(e){return(e.hasClass("ge-content")?e.parent(".ge-text-block"):e).children(".ge-tools-drawer")},toolbarItems:function(e){return o?o.find('[data-ge-toolbar="feature"][data-ge-feature="'+e+'"]'):dn()}},Ce("grid",{},(()=>{for(var e=[],t=1;t<=vn;t++)e.push(String(t));return{name:"col",values:e.concat(bn),appliesTo:["column"],labelKey:"utility.col_width",className:function(e,t){return _n(kn(e),le(t))},choices:function(){return f.valid_col_sizes.map(String)},label:function(e){return"equal"===e?u("utility.col_equal"):"auto"===e?u("utility.col_auto"):e},write:function(e,t,n,o){return Q(e,null===t?null:le(t),o,n)},blank:function(e,t){e=t===pn?null:xt(e,kn(t));return e?u("utility.col_from_row",{count:_t(e.value)}):null}}})()),!1!==f.row_cols&&Ce("grid",{},{name:"row-cols",prefix:"row-cols",values:wn,appliesTo:["row"],labelKey:"utility.row_cols"}),dn.each(dn.fn.gridEditor.containers,function(e,t){sn(e)&&(T[e]=t(rn))}),dn.each(dn.fn.gridEditor.features,function(e,t){var n;n=e,!0!==t.always&&!sn(n)||(z[e]=t(rn))}),dn.isEmptyObject(dn.fn.gridEditor.RTEs||{})||d("rtes","$.fn.gridEditor.RTEs was removed in 6.0 and what is registered there is ignored: write the editor as a plugin, see docs/plugins.md"),dn.each(dn.fn.gridEditor.utilities,function(t,e){sn(t)&&(E[t]=e(rn),(E[t].families||[]).forEach(function(e){Ce(t,E[t],e)}))}),dn.each(z,function(e,t){dn.each(t.methods||{},function(e,t){n[e]=t})}),(f.plugins||[]).forEach(function(e){T[e]||z[e]||E[e]||d("plugin:"+e,'the "'+e+'" plugin is not loaded: include dist/plugins/grideditor.'+e+".js after the editor")}),ln.settings=Gt(),i=dn('<textarea class="ge-html-output"/>').insertBefore(g),te(),dn(window).on("scroll",ce),g.on("click",".ge-content",de),g.on("click",".ge-popup-trigger, [data-ge-popup-target]",function(e){g.hasClass("ge-editing")&&e.preventDefault()}),g.on("ge-rte-ready",".ge-content",function(){x("onContentReady",dn(this)),Ne(dn(this))}),c()}),this;var e,t,n=this,o=cn,a=Array.prototype.slice.call(arguments,1),i=un[o];if(i){if(i.value)return(e=n.first()).length?(t=e.data("grideditor"))?t[o].apply(t,a):i.noInstance?i.noInstance(e):null:null;n.each(function(){var e=dn(this).data("grideditor");e&&e[o].apply(e,a)})}else r("method:"+o,'unknown method "'+o+'"');return n},dn.fn.gridEditor.RTEs={},dn.fn.gridEditor.containers={},dn.fn.gridEditor.features={},dn.fn.gridEditor.utilities={},dn.fn.gridEditor.t=Sn,dn.fn.gridEditor.locales={en:{"tool.move":"Move","tool.settings":"Settings","tool.add_row":"Add row","tool.delete_text":"Remove text","tool.delete_plain":"Remove content","tool.convert_type":"Edit as {editor} text","text.no_editor":'No text editor "{type}" is loaded: this text can be moved and deleted, not edited',"tool.add_column":"Add column\n(hold to choose the width)","tool.column_size":"{size} of 12","tool.column_equal":"Equal: shares what the row has left","tool.column_auto":"Auto: as wide as its content","tool.delete_row":"Remove row","tool.delete_column":"Remove col","tool.delete_container":"Remove container","tool.delete_pane":"Remove pane","tool.rename":"Double click to rename","tool.column_narrower":"Make column narrower\n(hold shift for min)","tool.column_wider":"Make column wider\n(hold shift for max)","tool.indent_decrease":"Decrease indent\n(hold shift for none)","tool.indent_increase":"Increase indent\n(hold shift for max)","tool.edit_source":"Edit Source Code","tool.preview":"Preview","panel.title":"{kind} settings","panel.close":"Close","panel.done":"Done","panel.id":"Id","panel.classes":"Classes","panel.kind_row":"Row","panel.kind_column":"Column","panel.kind_element":"Element","panel.kind_section":"Section","panel.kind_tab":"Tab","panel.kind_accordion_item":"Accordion item","tool.id_placeholder":"id","tool.id_title":"Set a unique identifier","tool.classes_placeholder":"classes","tool.classes_title":"Css classes, separated by spaces","tool.toggle_class":'Toggle "{label}" styling',"row.add":"Add row {layout}","row.add_row_cols":"Add a row of {columns} columns, {counts} per row","confirm.title":"Confirm","confirm.ok":"Delete","confirm.cancel":"Cancel","confirm.delete_row":"Delete row?","confirm.delete_column":"Delete column?","confirm.delete_text":"Delete this text?","confirm.delete_plain":"Delete this content?","confirm.delete_container":"Delete this container and everything in it?","view.all":"All sizes","view.xs":"Phone","view.sm":"Tablet","view.md":"Small desktop","view.lg":"Desktop","view.xl":"Large desktop","view.xxl":"Widescreen","utility.section":"Responsive: {view}","utility.col_width":"Width","utility.col_equal":"Equal","utility.col_auto":"Auto","utility.col_from_row":"From the row: {count}","utility.row_cols":"Columns per row","badge.row_cols":"{count} per row","badge.row_cols_auto":"As wide as their content","utility.default":"Default","utility.inherit":"Inherit: {value} (from {breakpoint})","utility.varies":"Changes at {breakpoints}; choosing here replaces that","error.sortable_missing":"SortableJS not available! Make sure you loaded the Sortable js file; dragging is off without it.","warning.setting_removed":"The {setting} setting was removed in 4.0. Use {replacement} instead.","error.tinymce_missing":"tinyMCE not available! Make sure you loaded the tinyMCE js file.","error.ckeditor_missing":"CKEditor not available! Make sure you loaded the ckeditor and jquery adapter js files.","error.summernote_missing":"Summernote not available! Make sure you loaded the Summernote js file."}}})(jQuery);
2
2
  //# sourceMappingURL=jquery.grideditor.min.js.map