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

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.
Files changed (41) hide show
  1. package/BUILDING.md +3 -1
  2. package/CHANGELOG.md +58 -1
  3. package/README.md +16 -5
  4. package/UPGRADING.md +36 -7
  5. package/dist/grideditor.css +14 -0
  6. package/dist/grideditor.min.css +1 -1
  7. package/dist/grideditor.min.css.map +1 -1
  8. package/dist/jquery.grideditor.bundle.min.js +2 -2
  9. package/dist/jquery.grideditor.js +303 -378
  10. package/dist/jquery.grideditor.min.js +1 -1
  11. package/dist/jquery.grideditor.min.js.map +1 -1
  12. package/dist/locales/grideditor.es.js +4 -1
  13. package/dist/locales/grideditor.es.min.js +1 -1
  14. package/dist/locales/grideditor.es.min.js.map +1 -1
  15. package/dist/plugins/grideditor.ckeditor.js +397 -3
  16. package/dist/plugins/grideditor.ckeditor.min.js +1 -1
  17. package/dist/plugins/grideditor.ckeditor.min.js.map +1 -1
  18. package/dist/plugins/grideditor.summernote.js +397 -3
  19. package/dist/plugins/grideditor.summernote.min.js +1 -1
  20. package/dist/plugins/grideditor.summernote.min.js.map +1 -1
  21. package/dist/plugins/grideditor.tinymce.js +397 -3
  22. package/dist/plugins/grideditor.tinymce.min.js +1 -1
  23. package/dist/plugins/grideditor.tinymce.min.js.map +1 -1
  24. package/dist/plugins/grideditor.visibility.js +1 -1
  25. package/dist/plugins/grideditor.visibility.min.js +1 -1
  26. package/dist/plugins/grideditor.visibility.min.js.map +1 -1
  27. package/docs/events.md +11 -2
  28. package/docs/locale-keys.md +13 -4
  29. package/docs/plugins.md +109 -46
  30. package/example/custom_editor.html +193 -0
  31. package/example/index.html +8 -0
  32. package/example/wrap_content.html +5 -3
  33. package/package.json +1 -1
  34. package/src/js/jquery.grideditor.js +303 -378
  35. package/src/js/locales/grideditor.es.js +4 -1
  36. package/src/js/plugins/grideditor.ckeditor.js +7 -3
  37. package/src/js/plugins/grideditor.summernote.js +7 -3
  38. package/src/js/plugins/grideditor.tinymce.js +7 -3
  39. package/src/js/plugins/grideditor.visibility.js +1 -1
  40. package/src/js/text/grideditor.text.js +389 -0
  41. package/src/less/grideditor.less +17 -0
@@ -1,2 +1,2 @@
1
- (pn=>{var mn={getHtml:{value:!0,noInstance:function(e){return e.html()}},getPlainHtml:{value:!0,noInstance:function(e){return Kn(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}},hn=["appendTo","prependTo","insertAfter","insertBefore"],vn=[{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"}],bn="all",t="view.all",wn=[bn].concat(vn.map(function(e){return e.key})),yn=["lg","sm","xs"],xn=12,_n=["equal","auto"],kn=["1","2","3","4","5","6","auto"];function Cn(e,t){return"row-cols"+(e.infix?"-"+e.infix:"")+"-"+t}function Tn(e){return"number"==typeof e}function zn(e,t){return"equal"===t?e.infix?"col-"+e.infix:"col":e.colPrefix+t}function En(e){for(var t=0;t<vn.length;t++)if(vn[t].key===e)return vn[t];return null}function Mn(e){return e===bn?[vn[0]]:(e=En(e))?[e]:[]}function An(e){e=En(e);return e?e.labelKey:t}var On={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}},Sn={sortable_options:"drag",resizable_options:"resize"},n={},Pn=0;function In(e,t,n){var o=pn.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 Dn(e){window.console&&window.console.warn&&window.console.warn("grid-editor: "+e)}function r(e,t){n[e]||(n[e]=!0,Dn(t))}function Kn(e){var t=pn(document.implementation.createHTMLDocument("").body),a=(t[0].innerHTML=e,[]);return t.find("*").each(function(){var n=pn(this),o=!1,e=(pn.each(pn.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){pn(e).replaceWith(pn(e).contents())}),t[0].innerHTML}pn.fn.gridEditor=function(gn){if("string"!=typeof gn)return this.each(function(n,e){e=pn(e);var i,r,N,B,q,l,d=pn.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:[],text_tools:[],text_classes:[],container_classes:[],pane_classes:[],container_tools:[],tab_tools:[],accordion_tools:[],plugins:null,row_cols:!0,utilities:{},elements:On.elements,custom_filter:"",content_types:["tinymce"],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:On.add_column,layout_modes:wn.slice(),default_view:bn,resize:On.resize,source_textarea:"",locale:"en",locale_strings:{},callbacks:{},confirm_delete:!0,settings_panel:"offcanvas",drag:On.drag},gn),p=(pn.each(On,function(e,t){d[e]=pn.extend({},t,d[e])}),pn.each(Sn,function(e,t){gn&&void 0!==gn[e]&&Dn(pn.fn.gridEditor.t(d,"warning.setting_removed",{setting:e,replacement:t}))}),d.default_view),a=null,s=null,c=null,o={},U=[],V=++Pn;function u(e,t){o[e]||(o[e]=!0,Dn(t))}function f(e,t){return In(d,e,t)}var W,t,m=e.addClass("ge-canvas"),H=0,J=[];function h(e,t,n){return pn.extend({kind:e,node:t,parent:t.parent(),canvas:m,breakpoint:p,source:"api"},n||{})}function v(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=pn.Event("grideditor:"+e);m.trigger(e,[t]),e.isDefaultPrevented()&&(a=!0)}),n.forEach(function(e){e=d.callbacks[e.replace(/-/g,"_")];"function"==typeof e&&!1===e(t)&&(a=!0)}),!a}function b(e){H++;try{return e()}finally{if(0===--H)for(;J.length;)J.shift()()}}function $(e){0===H?e():J.push(e)}function w(t,n,o,a){e=t;var e,i=pn.fn.gridEditor.containers[e]?"container":e;return b(function(){var e=h(t,n,a);return v("before-add-"+i,e)?(o(),x(),v("after-add-"+i,e),n):null})}function L(e,t){var n,o;d.confirm_delete?window.bootstrap&&window.bootstrap.Modal?(a||((a=pn('<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(f("confirm.title")),a.find(".btn-close").attr("aria-label",f("confirm.cancel")),a.find(".ge-confirm-cancel").text(f("confirm.cancel")),a.find(".ge-confirm-ok").text(f("confirm.ok"))),o=!1,(n=a).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;a&&(window.bootstrap&&window.bootstrap.Modal&&(e=window.bootstrap.Modal.getInstance(a[0]))&&e.dispose(),a.remove(),a=null)}function g(t,n,o,a){b(function(){var e=h(t,n,{source:"tool"});v("before-delete",e)&&L(o,function(){b(function(){a(function(){n.remove(),b(function(){x(),v("after-delete",e)})})})})})}function X(n,t,e){var o,a,i;return(e=e||p)!==bn?(e=En(e),(o=Mt({size:t,offset:xt(n,e)||0})).refused||bt(n,e)===o.size?null:{writes:[{tier:e,size:o.size}],cleared:null,size:o.size}):!vn.some(function(e){return Mt({size:t,offset:xt(n,e)||0}).refused})&&(e=vn[0],a=[],i=[],vn.slice(1).forEach(function(e){var t=bt(n,e);null!==t&&(a.push({tier:e,size:null}),i.push({breakpoint:e.key,value:t}))}),bt(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){Tt(t,e.tier,e.size)}),At(t)}function G(e,t){return t&&(e.cleared=t),e}function Q(t,e,n,o){o=o||p;var a=Ye(t),i=X(t,e,o);return!!i&&b(function(){var e=h("column",t,G({source:n,breakpoint:o,from:a,to:i.size},i.cleared));return v("before-resize",e)?(Y(t,i),T(t),v("after-resize",e),!0):(T(t),!1)})}function Z(o,a,t){var n=p===bn,i=n?vn[0]:En(p),r=Ze(o),l=(a=Math.min(Math.max(a,0),11),n?vn.slice(1).filter(function(e){return null!==wt(o,e)}):[]);(wt(o,i)||0)===a&&!l.length||b(function(){var e=h("column",o,G({source:t,from:r,to:a},n?l.map(function(e){return{breakpoint:e.key,value:wt(o,e)}}):null));return!!v("before-indent",e)&&(zt(o,i,a),l.forEach(function(e){zt(o,e,0)}),(n?vn:[i]).forEach(function(e){var t,n=yt(o,e);Tn(n)&&(t=Mt({size:n,offset:a,leading:"offset"})).size!==n&&Tt(o,e,t.size)}),T(o),v("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 pn.each(M,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.hasClass("ge-content")||n.hasClass("ge-text-block")?"text":"node")}function te(){i=pn('<div class="ge-mainControls" />').insertBefore(l),r=pn('<div class="ge-wrapper ge-top" />').appendTo(i),N=pn('<div class="ge-addRowGroup btn-group" />').appendTo(r),B=pn('<div class="ge-addContainerGroup btn-group ms-1" />'),pn.each(d.new_row_layouts,function(e,t){var n,o,a=!Array.isArray(t),i=pn('<a class="btn btn-sm btn-primary" />').attr("title",a?f("row.add_row_cols",{columns:t.columns,counts:(n=t.row_cols,vn.filter(function(e){return n&&void 0!==n[e.key]}).map(function(e){return(e.infix?e.key+": ":"")+n[e.key]}).join(", "))}):f("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=re(t);w("row",e,function(){e.appendTo(m)},{parent:m,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,pn.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 '+zn(vn[0],e)+'"></div>'}),r+="</div>",i.append(r)}),B.appendTo(r);var t=Xt(),o=(t.forEach(function(n){var e=1<t.length?f("text.add_type",{editor:tn(n)}):f("text.add");pn('<a class="btn btn-sm btn-primary ge-add-container ge-add-text-button" />').attr("title",e).attr("data-ge-toolbar","text").attr("data-ge-text",n).append('<i class="bi bi-plus"></i>').append(pn("<span />").text(e)).on("click",function(){var e=j(),t=nn(n);R(xn).appendTo(e).find("> .ge-content").replaceWith(t),w("text",t,function(){e.appendTo(m)},{parent:m,source:"tool"})&&e[0].scrollIntoView&&e[0].scrollIntoView({behavior:"smooth"})}).appendTo(B)}),pn.each(z,function(o,a){pn('<a class="btn btn-sm btn-primary ge-add-container" />').attr("title",f(a.labelKey)).attr("data-ge-toolbar","container").attr("data-ge-container-type",o).append('<i class="bi bi-plus"></i>').append(pn("<span />").text(f(a.labelKey))).on("click",function(){var e=j(),t=R(xn).appendTo(e),n=a.create({});t.find("> .ge-content").replaceWith(n),w(o,n,function(){e.appendTo(m)},{parent:m,source:"tool"})}).appendTo(B)}),[]),e=(pn.each(M,function(n,e){(e.toolbar||[]).forEach(function(e,t){t=((e,t,n)=>(e=pn('<a class="btn btn-sm btn-primary ge-add-container ge-add-feature" />').attr("title",f(t.labelKey)).attr("data-ge-toolbar","feature").attr("data-ge-feature",e).attr("data-ge-item",n).append(pn("<i />").addClass(t.iconClass||"bi bi-plus")).on("click",function(){var e=t.create();w(t.kind,e,function(){e.appendTo(m)},{parent:m,source:t.source||"tool"})}),"end"!==t.align&&e.append(pn("<span />").text(f(t.labelKey))),e))(n,e,t);"end"===e.align?o.push(t):t.appendTo(B)})}),q=pn('<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(){ln(pn(this).attr("data-ge-view"))}).appendTo(r),d.layout_modes.forEach(function(e){pn('<a class="dropdown-item" />').attr("data-ge-view",e).attr("title",f(An(e))).text(f(An(e))).appendTo(q.find(".dropdown-menu"))}),q.find("button").text(f(An(p))),pn('<div class="btn-group pull-right"/>').appendTo(r)),n=pn('<button type="button" class="btn btn-sm btn-primary gm-edit-mode"><i class="bi bi-code-slash"></i></button>').attr("title",f("tool.edit_source")).on("click",function(){(n.hasClass("active")?(m.empty().html(l.val()).show(),x(),l):(_(),l.height(.8*pn(window).height()).val(m.html()).show(),m)).hide(),n.toggleClass("active btn-danger")}).appendTo(e),a=pn('<button type="button" class="btn btn-sm btn-primary gm-preview"><i class="bi bi-eye-fill"></i></button>').attr("title",f("tool.preview")).on("mouseenter",function(){m.removeClass("ge-editing")}).on("click",function(){a.toggleClass("active btn-danger").trigger("mouseleave")}).on("mouseleave",function(){a.hasClass("active")||m.addClass("ge-editing")}).appendTo(e);o.length&&pn('<div class="pull-right ge-toolbar-end" />').append(o).appendTo(r),e=i.find("[data-ge-toolbar]").removeClass("ge-palette-button").off("pointerdown.ge-palette"),("auto"!==d.toolbar_drag?d.toolbar_drag:"drawer"===d.drag_handle)&&e.addClass("ge-palette-button").on("pointerdown.ge-palette",ne)}function ne(e){var u=pn(e.currentTarget),n=e.pageX,o=e.pageY,f=null;function g(e){if(!f){if(t=e,!(Math.abs(t.pageX-n)+Math.abs(t.pageY-o)>d.drag.threshold))return;f=u.clone().addClass("ge-toolbar-helper").appendTo("body"),m.addClass("ge-dropping")}f.css({left:e.pageX-14,top:e.pageY-14});var t=e.pageX;(t=oe(t,e.pageY))?(c=c||pn('<div class="ge-drop-marker" />'),t.before?c.insertBefore(t.before):c.appendTo(t.region)):ae()}e.button||pn(document).on("pointermove.ge-toolbar",g).on("pointerup.ge-toolbar pointercancel.ge-toolbar",function e(t){var n,o,a,i,r,l,s,c,d;pn(document).off("pointermove.ge-toolbar",g).off("pointerup.ge-toolbar pointercancel.ge-toolbar",e),f&&(f.remove(),m.removeClass("ge-dropping"),ae(),u.one("click",function(e){e.preventDefault(),e.stopImmediatePropagation()}),t=oe(t.pageX,t.pageY))&&(n=t,"feature"===(t=u).attr("data-ge-toolbar")?(o=n,a=(s=M[(s=t).attr("data-ge-feature")].toolbar[parseInt(s.attr("data-ge-item"),10)]).create(),It(o.region,a)||(i=o.region.parentsUntil(m).addBack().first(),(o={region:m,before:i.length?i.next():null}).before&&!o.before.length&&(o.before=null)),w(s.kind,a,function(){o.before?a.insertBefore(o.before):a.appendTo(o.region)},{parent:o.region,source:s.source||"dragdrop"})):"text"===t.attr("data-ge-toolbar")?(r=n,l=i=nn((i=t).attr("data-ge-text")),r.region.is(".column")||(l=j(),R(xn).appendTo(l).find("> .ge-content").replaceWith(i)),w("text",i,function(){r.before?l.insertBefore(r.before):l.appendTo(r.region)},{parent:r.region,source:"dragdrop"})):(s="container"===t.attr("data-ge-toolbar"),c=t.attr("data-ge-container-type"),d=t=s?z[c].create({}):(e=>/^\s*\{/.test(e||"")?re(JSON.parse(e)):re((e||"").split(",").filter(function(e){return""!==e}).map(ie)))(t.attr("data-ge-layout")),s&&!n.region.is(".column")&&(d=j(),R(xn).appendTo(d).find("> .ge-content").replaceWith(t)),w(s?c:"row",t,function(){n.before?d.insertBefore(n.before):d.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=pn(t).closest([".column",".ge-canvas"].concat(Pt("regions")).join(", "))).length||e[0]!==m[0]&&!m[0].contains(e[0])?null:(n=null,e.children(St()).each(function(){var e;n||(e=this.getBoundingClientRect(),o<e.top+e.height/2&&(n=pn(this)))}),{region:e,before:n})}function ae(){c&&c.remove()}function ie(e){return/^\d+$/.test(String(e))?parseInt(e,10):e}function re(e){var n=j();if(Array.isArray(e))e.forEach(function(e){R(e).appendTo(n)});else{pn.each(e.row_cols||{},function(e,t){e=En(e);e&&-1!==kn.indexOf(String(t))&&n.addClass(Cn(e,t))});for(var t=0;t<(e.columns||0);t++)R(null).appendTo(n)}return n}function le(e){var t=pn(window);t.scrollTop()>i.offset().top&&t.scrollTop()<m.offset().top+m.height()?r.hasClass("ge-top")&&r.css({left:r.offset().left,width:r.outerWidth()}).removeClass("ge-top").addClass("ge-fixed"):r.hasClass("ge-fixed")&&r.css({left:"",width:""}).removeClass("ge-fixed").addClass("ge-top")}function se(e){var t;pn(this).hasClass("ge-rte-active")||pn(this).is(":visible")&&(t=cn(pn(this).attr("data-ge-content-type")))&&(t.available&&!t.available()?t.missingKey&&console.error(f(t.missingKey)):(pn(this).data("ge-text-before",Zt(this)).removeData("ge-text-ready"),pn(this).addClass("ge-rte-active"),t.start(pn(this))))}function ce(){_(),x()}function x(){I&&!pn.contains(document.documentElement,I.node[0])&&D(),$t(!0),m.addClass("ge-editing"),m.toggleClass("ge-drag-drawer","drawer"===d.drag_handle),m.find('.column, div[class*="col-"], div.col').each(function(){var t,e=pn(this).addClass("column");t=e,vn.filter(function(e){return null!==bt(t,e)}).length||gt(e.parent())||Tt(e,vn[0],xn)});n=[".row","[data-ge-container]"],pn.each(M,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,m.find(".column > .ge-content, .column > .ge-text-block > .ge-content").each(function(){var n,o,a,i,r,l,s=pn(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=[],pn.each(pn.makeArray(s[0].childNodes),function(e,t){1===t.nodeType&&pn(t).is(c)?(a.push({text:i},{block:t}),i=[]):i.push(t)}),a.push({text:i}),pn(s[0].childNodes).detach(),r=!1,l=o,a.forEach(function(e){var t;if(e.block)t=pn(e.block);else{if(!e.text.some(function(e){return 1===e.nodeType||3===e.nodeType&&/\S/.test(e.nodeValue)}))return;r?t=(n?Ft(n):pn('<div class="ge-content" />')).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,m.find(".column").each(function(){var e=pn(this),t=pn();e.children().each(function(){var e=pn(this);e.is(".ge-tools-drawer, .ge-resize-handle")||(t=e.is(".ge-content, .ge-text-block")||e.is(o)?Lt(t):t.add(e))}),Lt(t)}),m.find(".column > .ge-content").each(function(){pn(this).wrap('<div class="ge-text-block" />')}),m.find(".ge-text-block").each(function(){var t,n,o,e=pn(this);e.children(".ge-tools-drawer").length||(n=(t=e).children(".ge-content"),e=n.attr("data-ge-content-type"),ot(o=pn('<div class="ge-tools-drawer ge-text-drawer" />').prependTo(t)),e&&E[e]?P(o,f("tool.text_info",{editor:tn(e)}),"ge-text-info","bi bi-fonts"):e&&P(o,f("text.no_editor",{type:e}),"ge-text-info ge-text-missing","bi bi-exclamation-triangle"),it(o,n,d.text_classes),d.text_tools.forEach(function(e){P(o,e.title||"",e.className||"",e.iconClass||"bi bi-wrench",e.on)}),P(o,f("tool.delete_text"),"ge-delete-text","bi bi-trash",function(){g("text",n,f("confirm.delete_text"),function(e){Yt(n),t.slideUp(function(){t.remove(),e()})})}))}),m.find(".row").each(function(){var t,a,i,n=pn(this);n.find("> .ge-tools-drawer").length||(ot(t=pn('<div class="ge-tools-drawer" />').prependTo(n)),it(t,n,d.row_classes),d.row_tools.forEach(function(e){P(t,e.title||"",e.className||"",e.iconClass||"bi bi-wrench",e.on)}),P(t,f("tool.delete_row"),"ge-delete-row","bi bi-trash",function(){g("row",n,f("confirm.delete_row"),function(e){n.slideUp(e)})}),P(t,f("tool.add_column"),"ge-add-column","bi bi-plus-circle",function(){O()||Fe(n,pt(n,S())?null:d.add_column.size)}),a=t.find("> .ge-add-column"),i=n,d.add_column.picker&&Xe(a,function(){var e,n,o;e=a,n=i,O(),o=Et(n,S()),e.closest(".ge-tools-drawer").addClass("ge-picker-open"),s=pn('<div class="ge-size-picker" />').appendTo(e),d.valid_col_sizes.forEach(function(t){var e;pn('<a class="ge-size" />').attr("data-ge-size",t).attr("title","equal"!==(e=t)?"auto"!==e?f("tool.column_size",{size:e}):f("tool.column_auto"):f("tool.column_equal")).toggleClass("ge-size-tight",Tn(t)&&o<t).toggleClass("ge-size-flex",!Tn(t)).text(Tn(t)?t:zn(vn[0],t)).on("click",function(e){e.preventDefault(),e.stopPropagation(),O(),Fe(n,t)}).appendTo(s)}),e.one("mouseleave",function(){window.setTimeout(function(){s&&!s.is(":hover")&&O()},400)})}))}),m.find(".column").each(function(){var t,e,o,a=pn(this);a.find("> .ge-tools-drawer").length||(ot(t=pn('<div class="ge-tools-drawer" />').prependTo(a)),P(t,f("tool.column_narrower"),"ge-decrease-col-width","bi bi-dash-lg",function(e){Q(a,e.shiftKey?tt(d.valid_col_sizes):et(d.valid_col_sizes.filter(Tn),Ge(a),-1),"tool")}),P(t,f("tool.column_wider"),"ge-increase-col-width","bi bi-plus-lg",function(e){Q(a,e.shiftKey?(e=>(e=Et(e.parent(),S(),e)-Ze(e),Math.min(nt(d.valid_col_sizes),Math.max(e,1))))(a):et(d.valid_col_sizes.filter(Tn),Ge(a),1),"tool")}),P(t,f("tool.indent_decrease"),"ge-decrease-col-offset","bi bi-text-indent-right",function(e){Z(a,e.shiftKey?tt(d.valid_col_offsets):et(d.valid_col_offsets,Ze(a),-1),"tool")}),P(t,f("tool.indent_increase"),"ge-increase-col-offset","bi bi-text-indent-left",function(e){Z(a,e.shiftKey?(e=>(e=Et(e.parent(),S(),e)-Ge(e),Math.min(nt(d.valid_col_offsets),Math.max(e,0))))(a):et(d.valid_col_offsets,Ze(a),1),"tool")}),it(t,a,d.col_classes),d.col_tools.forEach(function(e){P(t,e.title||"",e.className||"",e.iconClass||"bi bi-wrench",e.on)}),P(t,f("tool.delete_column"),"ge-delete-column","bi bi-trash",function(){g("column",a,f("confirm.delete_column"),function(e){a.animate({opacity:"hide",width:"hide",height:"hide"},400,e)})}),(e=Xt()).length&&(P(t,f("tool.add_text"),"ge-add-text","bi bi-type",function(){O()||on(a,e[0])}),1<e.length)&&Xe(o=t.find("> .ge-add-text"),function(){var e,n;e=o,n=a,O(),e.closest(".ge-tools-drawer").addClass("ge-picker-open"),s=pn('<div class="ge-size-picker ge-text-picker" />').appendTo(e),Xt().forEach(function(t){pn('<a class="ge-size ge-size-flex" />').attr("data-ge-content-type",t).attr("title",f("tool.add_text_type",{editor:tn(t)})).text(tn(t)).on("click",function(e){e.preventDefault(),e.stopPropagation(),O(),on(n,t)}).appendTo(s)}),e.one("mouseleave",function(){window.setTimeout(function(){s&&!s.is(":hover")&&O()},400)})}),P(t,f("tool.add_row"),"ge-add-row","bi bi-plus-circle",function(){var e=j();w("row",e,function(){a.append(e)},{parent:a,source:"tool"})}))}),m.find("[data-ge-container]").each(function(){var t,e,n,o,a=pn(this),i=Ue(a),r=z[i];r?(a.addClass("ge-container ge-container-"+i),r.mark(a),a.find("> .ge-tools-drawer").length||(t=a,e=i,n=r,ot(o=pn('<div class="ge-tools-drawer ge-container-drawer" />').prependTo(t)),it(o,t,d.container_classes),d.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,f("tool.delete_container"),"ge-delete-container","bi bi-trash",function(){g(e,t,f("confirm.delete_container"),function(e){t.slideUp(e)})}),n.addPane&&P(o,f(n.addPaneKey),"ge-add-pane","bi bi-plus-circle",function(){var e=n.addPane(t,{});w(n.paneKind,e,function(){},{parent:t,source:"tool",container:t})}))):u("container:"+i,'unknown container type "'+i+'"')}),ge("onInit"),window.Sortable?(Dt(m.find(".row"),{draggable:".column",group:"column"}),Dt(m.add(m.find(".column")),{draggable:St(),group:"block",accepts:It}),(e=Pt("regions")).length&&Dt(m.find(e.join(", ")),{draggable:">"+St(),group:"block",accepts:It}),ge("onSortable",Dt)):u("sortable_missing",f("error.sortable_missing")),d.resize.enabled&&m.find(".column").each(function(){var n=pn(this);n.find("> .ge-resize-handle").length||(pn('<span class="ge-resize-size" />').appendTo(n.find("> .ge-tools-drawer")),pn.each(String(d.resize.handles).split(",").map(function(e){return e.trim()}).filter(function(e){return"e"===e||"w"===e}),function(e,t){pn('<span class="ge-resize-handle" />').addClass("ge-resize-"+t).attr("data-ge-edge",t).on("pointerdown",Nt).appendTo(n)}))}),an(p),Oe(m)}function _(){D(),m.removeClass("ge-editing ge-drag-drawer ge-dropping"),m.find(".ge-content").each(function(){Yt(pn(this))}),O(),ae(),m.find(".ge-tools-drawer").remove(),m.find(".ge-text-block").each(function(){pn(this).replaceWith(pn(this).contents())}),ge("onDeinit"),Se(m),m.find("[data-ge-row-cols]").removeAttr("data-ge-row-cols"),m.find("[data-ge-container]").each(function(){var e=pn(this),t=z[Ue(e)];t&&t.unmark(e),e.removeClass("ge-container ge-container-"+Ue(e)),e.attr("class")||e.removeAttr("class")}),pn.each(U,function(e,t){t.destroy()}),U=[],m.find(".ge-resize-handle").remove(),m.find(".ge-resize-size").remove(),At(m),$t(!1)}function de(){_(),At(m);var e=m.html();return x(),e}function ue(e){_(),At(e);e=e[0].outerHTML;return x(),e}function fe(){_(),F(),dt(),i.remove(),l.remove(),pn(window).off("scroll",le),m.off("click",".ge-content",se),m.off("ge-rte-ready",".ge-content"),m.removeData("grideditor")}function ge(n,o){pn.each(z,function(e,t){t[n]&&t[n](o)}),pn.each(M,function(e,t){t[n]&&t[n](o)}),pn.each(A,function(e,t){t[n]&&t[n](o)})}d.source_textarea&&(0<(W=pn(d.source_textarea).val()).length&&0==pn("<div>"+W+"</div>").find(".row").addBack(".row").length&&(t=j(),(t=R(12).appendTo(t)).find(".ge-content").html(W),W=t.html()),e.html(W)),e.children().length&&!e.find("div.row").length&&(t=e.children(),pn('<div class="row"><div class="col-lg-12"/></div>').appendTo(e).find(".col-lg-12").append(t));var k={},pe=".row, .column, .ge-content, .ge-element, [data-ge-container]",me="data-ge-preview",he=!1;function ve(e,t,n){var o=n.name||n.prefix;k[o]?Dn('the "'+e+'" plugin declares the utility "'+o+'", which the "'+k[o].plugin+'" plugin already declared: ignored'):k[o]={plugin:e,family:pn.extend({},n,{name:o,values:n.values.map(String),appliesTo:n.appliesTo||t.appliesTo||["row","column"]})}}function be(e,t){return k[e]?k[e].family:(u("utility:"+e,t+"("+JSON.stringify(e)+"): no loaded plugin declares that utility"),null)}function we(e,t){return-1!==e.appliesTo.indexOf(t)||z[t]&&-1!==e.appliesTo.indexOf("container")}function ye(t){return pn.map(k,function(e){return we(e.family,t)?e.family:null})}function xe(e,t,n){return e.className?e.className(t.key,n):e.prefix+(t.infix?"-"+t.infix:"")+"-"+n}function C(e,t,n){for(var o=(e.attr("class")||"").split(/\s+/),a=0;a<t.values.length;a++)if(-1!==o.indexOf(xe(t,n,t.values[a])))return t.values[a];return null}function _e(e,t,n){for(var o=vn.indexOf(n)-1;0<=o;o--){var a=C(e,t,vn[o]);if(null!==a)return{tier:vn[o],value:a}}return null}function ke(e,t,n){var o=C(e,t,n);return null!==o?o:(o=_e(e,t,n))?o.value:null}function Ce(t,n){return vn.map(function(e){return{tier:e,value:C(t,n,e)}}).filter(function(e){return null!==e.value})}function Te(t,n,o,e){n.values.forEach(function(e){t.removeClass(xe(n,o,e))}),null!==e&&t.addClass(xe(n,o,e)),t.attr("class")||t.removeAttr("class")}function ze(e,t,n){return n===bn?C(e,t,vn[0]):ke(e,t,En(n))}function Ee(e,t,n){e=pn(e).first();var o,t=be(t,"getUtility");return t&&e.length?null===(o=void 0===n?p:rn(n))?(Dn("getUtility("+JSON.stringify(n)+"): no such layout mode"),null):ze(e,t,o):null}function Me(t,n,o,a){a="string"==typeof a?{view:a}:a||{},t=pn(t).first();var i,r,l,e,s,c,d,u,f,g=be(n,"setUtility");return!(!g||!t.length)&&(null===(i=void 0===a.view?p:rn(a.view))?(Dn("setUtility("+JSON.stringify(a.view)+"): no such layout mode"),!1):null!==(o=null==o||""===o?null:String(o))&&-1===g.values.indexOf(o)?(Dn("setUtility: "+JSON.stringify(o)+' is not a value of "'+n+'", which takes '+JSON.stringify(g.values)),!1):(r=y(t),we(g,r)?g.write?g.write(t,o,i,a.source||"api"):(e=t,s=g,d=o,!!(l=(c=i)!==bn?C(e,s,c=En(c))===d?null:{writes:[{tier:c,value:d}],cleared:[]}:(u=[],f=[],Ce(e,s).forEach(function(e){e.tier!==vn[0]&&(u.push({tier:e.tier,value:null}),f.push({breakpoint:e.tier.key,value:e.value}))}),C(e,s,vn[0])!==d&&u.unshift({tier:vn[0],value:d}),u.length?{writes:u,cleared:f}:null))&&b(function(){var e=h(r,t,{family:n,breakpoint:i,tiers:l.writes.map(function(e){return e.tier.key}),from:ze(t,g,i),to:o,cleared:l.cleared,source:a.source||"api"});return v("before-utility",e)?(l.writes.forEach(function(e){Te(t,g,e.tier,e.value)}),T(t),v("after-utility",e),!0):(T(t),!1)})):(Dn('setUtility: "'+n+'" does not apply to a '+r),!1)))}function Ae(t,e,n){var o=be(e,"bareStyle");return t=pn(t).first(),o&&t.length?(e=t.attr("class"),vn.forEach(function(e){Te(t,o,e,null)}),n=getComputedStyle(t[0]).getPropertyValue(n),void 0===e?t.removeAttr("class"):t.attr("class",e),n):null}function T(e){var t=st(e);t.find(".ge-classes").val(at(e).join(" ")),t.children(".ge-utilities").each(function(){De(pn(this))}),Oe(e)}function Oe(e){var t,l;Se(e),p!==bn&&(t=e,l=En(p),(e=>e.find(pe).addBack(pe))(t).each(function(){var e,n,o,a=pn(this),i=y(a),r={};ye(i).forEach(function(e){e.preview&&Ce(a,e).length&&pn.extend(r,e.preview(ke(a,e,l),a,i))}),"column"===i&&pn.extend(r,((e,t)=>{var n=ht(e,t);return n?{flex:"0 0 auto",width:"auto"===n.value?"auto":100/parseInt(n.value,10)+"%","max-width":"100%"}:!gt(e.parent())||mt(e,t)?{}:{flex:"0 0 auto",width:"100%","max-width":"100%"}})(a,l)),pn.each(A,function(e,t){t.preview&&pn.extend(r,t.preview(a,i,l.key))}),pn.isEmptyObject(r)||(n=(e=a)[0].style,o={},pn.each(r,function(e,t){o[e]=[n.getPropertyValue(e),n.getPropertyPriority(e)],n.setProperty(e,String(t),"important")}),e.attr(me,JSON.stringify(o)))})),e.find(".row").addBack(".row").each(function(){var e=pn(this),t=!1===d.row_cols?null:p===bn?pt(e,vn[0])||null:pt(e,En(p));t?e.attr("data-ge-row-cols",vt(t.value)):e.removeAttr("data-ge-row-cols")}),ge("onRefresh",e)}function Se(e){e.find("["+me+"]").addBack("["+me+"]").each(function(){var e=pn(this),n=this.style,t={};try{t=JSON.parse(e.attr(me))||{}}catch(e){}pn.each(t,function(e,t){t&&t[0]?n.setProperty(e,t[0],t[1]):n.removeProperty(e)}),e.removeAttr(me),e.attr("style")||e.removeAttr("style")})}function Pe(e,t){var n=pn('<label class="ge-utility" />').attr("data-ge-family",t.name);return pn('<span class="ge-utility-label" />').text(t.labelKey?f(t.labelKey):t.name).appendTo(n),pn('<select class="form-select form-select-sm" />').appendTo(n).on("change",function(){Me(e,t.name,this.value,{source:"panel"})}),pn('<small class="ge-utility-note" />').appendTo(n),n}function Ie(e,t){var t=be(t,"utilityField");return t?(Ke(t=Pe(e,t),e),t):pn()}function De(e){var t=e.data("ge-node");e.children(".ge-utilities-toggle").text(f("utility.section",{view:f(An(p))})),e.find(".ge-utility").each(function(){Ke(pn(this),t)})}function Ke(e,t){var n,o,a,i,r=k[e.attr("data-ge-family")].family,l=e.children("select").empty(),s=r.choices?r.choices(t,y(t)):r.values,c="";p===bn?(n=C(t,r,vn[0]),o=f("utility.default"),(i=Ce(t,r).filter(function(e){return e.tier!==vn[0]})).length&&(c=f("utility.varies",{breakpoints:i.map(function(e){return e.tier.key}).join(", ")}))):(i=En(p),a=_e(t,r,i),n=C(t,r,i),o=a?f("utility.inherit",{value:je(r,a.value),breakpoint:a.tier.key}):f("utility.default"),(i=r.blank?r.blank(t,p):null)&&null===n&&(o=i)),null!==n&&-1===s.indexOf(n)&&(s=s.concat([n])),pn('<option value="" />').text(o).appendTo(l),s.forEach(function(e){pn("<option />").attr("value",e).text(je(r,e)).appendTo(l)}),l.val(null===n?"":n),e.children(".ge-utility-note").text(c).toggle(""!==c)}function je(e,t){return e.label?e.label(t):t}var z={},E={},M={},A={},Re={},Ne=0;function Be(e){return"ge-"+e+"-"+ ++Ne+"-"+Math.random().toString(36).slice(2,6)}function qe(){var e=j();return R(xn).appendTo(e),e}function Ue(e){return e.attr("data-ge-container")}function Ve(e,t,n,o,a){var i=pn('<div class="ge-tools-drawer ge-pane-drawer" />').prependTo(e);return ot(i),it(i,e,d.pane_classes),n.forEach(function(e){P(i,e.title||"",e.className||"",e.iconClass||"bi bi-wrench",e.on)}),P(i,f("tool.delete_pane"),"ge-delete-pane","bi bi-trash",function(){g(t,e,o,function(e){a(e)})}),i}function We(e){e.find("[data-bs-toggle], [data-bs-dismiss]").addBack("[data-bs-toggle], [data-bs-dismiss]").each(function(){var n=pn(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 He(e){e.find("[data-ge-bs-toggle], [data-ge-bs-dismiss]").addBack("[data-ge-bs-toggle], [data-ge-bs-dismiss]").each(function(){var n=pn(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 Je(t){var n;t.data("ge-editable")||(n=t.closest("[data-bs-toggle], [data-ge-bs-toggle]"),t.data("ge-editable",!0).attr("title",f("tool.rename")).on("dblclick",function(e){e.preventDefault(),e.stopPropagation(),We(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"),He(n)}))}function $e(e){var t=e.find("> .ge-pane-label");return t.length||(t=pn('<span class="ge-pane-label" />').text(e.text().trim()),e.empty().append(t)),t}function Le(e){e.find(".ge-pane-label").each(function(){pn(this).removeData("ge-editable").contents().unwrap()})}function Fe(e,t){var n=R(t);w("column",n,function(){e.append(n)},{parent:e,source:"tool"})}function Xe(e,t){function n(){window.clearTimeout(o),o=null}var o=null;e.on("mouseenter mousedown",function(){o||s||(o=window.setTimeout(function(){o=null,t()},d.add_column.delay))}),e.on("mouseleave",n),e.on("mouseup",n)}function O(){return s&&(s.closest(".ge-tools-drawer").removeClass("ge-picker-open"),s.remove(),s=null,1)}function S(){return p===bn?vn[vn.length-1]:En(p)}function Ye(e){var t=S();return ht(e,t)?null:null===(e=yt(e,t))?xn:e}function Ge(e){var t=Ye(e);return Tn(t)?t:(t=Math.round(e.outerWidth()/Qe(e.parent())*xn),Math.min(Math.max(t,1),xn))}function Qe(e){var t=window.getComputedStyle(e[0]);return e[0].clientWidth-parseFloat(t.paddingLeft)-parseFloat(t.paddingRight)}function Ze(e){return xt(e,S())||0}function et(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 tt(e){return e.filter(Tn).reduce(function(e,t){return Math.min(e,t)},xn)}function nt(e){return e.filter(Tn).reduce(function(e,t){return Math.max(e,t)},0)}function ot(e){"drawer"!==d.drag_handle&&P(e,f("tool.move"),"ge-move","bi bi-arrows-move")}function P(e,t,n,o,a){var i=pn("<a />").attr("title",t).attr("class",n).append(pn("<i />").attr("class",o)).appendTo(e);"function"==typeof a&&i.on("click",a),"object"==typeof a&&pn.each(a,function(e,t){i.on(e,t)})}function at(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)||vn.some(function(e){return new RegExp("^("+e.colPrefix+"|"+e.offsetPrefix+")\\d+$").test(t)}))(e)})}function it(n,l,e){var s=((n,e)=>{function t(e){return pn('<label class="ge-field" />').append(pn('<span class="ge-field-label" />').text(e)).appendTo(a)}var o=pn('<div class="ge-details" />'),a=pn('<div class="ge-details-general" />').appendTo(o),i=(pn('<input class="ge-id form-control form-control-sm" />').attr("placeholder",f("tool.id_placeholder")).val(n.attr("id")).attr("title",f("tool.id_title")).appendTo(t(f("panel.id"))).on("change",function(){""===this.value?n.removeAttr("id"):n.attr("id",this.value)}),pn('<input class="ge-classes form-control form-control-sm" />').attr("placeholder",f("tool.classes_placeholder")).attr("title",f("tool.classes_title")).val(at(n).join(" ")).appendTo(t(f("panel.classes"))).on("change",function(){var t,e;t=n,e=this.value,at(t).forEach(function(e){t.removeClass(e)}),e.split(/\s+/).forEach(function(e){""!==e&&t.addClass(e)}),t.attr("class")||t.removeAttr("class"),T(n)}),pn('<div class="btn-group btn-group-sm ge-presets" role="group" />').appendTo(a));return e.forEach(function(e){var t=pn('<a role="button" class="btn btn-sm btn-outline-secondary" />').html(e.label).attr("title",e.title||f("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")),T(n)}).appendTo(i)}),(e=(n=>{var e,t,o=y(n),a=ye(o).filter(function(e){return!1!==e.panel}).map(function(e){return Pe(n,e)});return pn.each(A,function(e,t){t=t.panel?t.panel(n,o):null;t&&t.length&&a.push(t)}),a.length?(e=pn('<div class="ge-utilities" />').toggleClass("ge-open",he).data("ge-node",n),pn('<a class="ge-utilities-toggle" />').appendTo(e).on("click",function(){he=!e.hasClass("ge-open"),ct().find(".ge-utilities").toggleClass("ge-open",he)}),t=pn('<div class="ge-utilities-body" />').appendTo(e),a.forEach(function(e){e.appendTo(t)}),De(e),e):null})(n))&&e.appendTo(o),o})(l,e||[]),o=(l.data("ge-details",s),P(n,f("tool.settings"),"ge-settings","bi bi-gear-fill",function(){var e,t,n,o,a,i,r;e=l,t=s,n=pn(this),"inline"===(r=-1===rt.indexOf(d.settings_panel)?(u("settings_panel",'settings_panel "'+d.settings_panel+'" is not one of '+rt.join(", ")+": using offcanvas"),"offcanvas"):d.settings_panel)?t.toggle():(i=I&&I.details[0]===t[0],D(),i||(i=e,e=t,o=n,a=(e=>{var t;return lt[e]||((t="offcanvas"===e?pn('<div class="offcanvas offcanvas-end ge-settings-panel ge-settings-offcanvas" tabindex="-1" role="dialog" />').append(pn('<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?pn('<div class="popover bs-popover-bottom ge-settings-panel ge-settings-popover" role="dialog" />').append('<div class="popover-arrow"></div>').append(pn('<div class="popover-header" />').append('<span class="ge-settings-title"></span>').append(n())).append('<div class="popover-body ge-settings-body"></div>').hide():pn('<div class="modal fade ge-settings-panel ge-settings-modal" tabindex="-1" role="dialog" aria-hidden="true" />').append(pn('<div class="modal-dialog modal-dialog-centered modal-dialog-scrollable" />').append(pn('<div class="modal-content" />').append(pn('<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(pn('<div class="modal-footer" />').append(pn('<button type="button" class="btn btn-primary ge-settings-close" />').text(f("panel.done"))))))).on("click",".ge-settings-close",function(e){e.preventDefault(),D()}),lt[e]=t.appendTo("body"),t);function n(e){return pn('<button type="button" class="btn-close ge-settings-close" />').addClass(e||"").attr("aria-label",f("panel.close"))}})(t=r),I={mode:t,node:i,details:e,home:e.parent(),next:e.next(),gear:o},a.find(".ge-settings-title").text(f("panel.title",{kind:(e=>{var t=y(e);if(z[t]&&z[t].labelKey)return f(z[t].labelKey);switch(t){case"row":return f("panel.kind_row");case"column":return f("panel.kind_column");case"text":return f("panel.kind_text");case"element":return f("panel.kind_element");case"section":return f("panel.kind_section");case"tab":return f("panel.kind_tab");case"accordion-item":return f("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,pn(document).on("keydown"+i,function(e){"Escape"===e.key&&D()}),"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?(ut(a,o),pn(window).on("scroll"+i+" resize"+i,function(){ut(a,o)}),window.ResizeObserver&&(I.observer=new window.ResizeObserver(function(){ut(a,o)}),I.observer.observe(e[0])),pn(document).on("mousedown"+i+" touchstart"+i,function(e){pn(e.target).closest(a).length||pn(e.target).closest(o).length||D()})):function e(t){if(!window.bootstrap||!window.bootstrap.Modal)return K=pn('<div class="modal-backdrop fade show ge-settings-backdrop" />').appendTo("body").on("click",function(){D()}),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")&&ft(t)}),t.on("hidden.bs.modal",function(){t.data("ge-busy",!1),"open"===t.data("ge-wanted")?e(t):I&&"modal"===I.mode&&D()}));t.data("ge-wanted","open");t.data("ge-busy")||(t.data("ge-busy",!0),n.show())}(a)))}),y(l));return pn.each(A,function(e,t){t.drawerTools&&t.drawerTools(n,l,o)}),pn.each(M,function(e,t){t.drawerTools&&t.drawerTools(n,l,o)}),s.appendTo(n)}var rt=["offcanvas","popover","modal","inline"],lt={},I=null;function st(e){e=e.data("ge-details");return e&&e.length?e:pn()}function ct(){return I&&"inline"!==I.mode?m.add(I.details):m}function D(){var e,t=I;t&&(I=null,e=lt[t.mode],pn(document).off(".ge-settings-"+V),pn(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():ft(e),t.node.removeClass("ge-settings-target"),t.details.css("display",""),t.home.length&&pn.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 dt(){D(),pn.each(lt,function(e,t){"modal"===e&&window.bootstrap&&window.bootstrap.Modal&&(e=window.bootstrap.Modal.getInstance(t[0]))&&e.dispose(),t.remove()}),K&&(K.remove(),K=null),lt={}}function ut(e,t){var n,o,a,i,r,l;pn.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 K=null;function ft(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())):(K&&(K.remove(),K=null),e.removeClass("show").css("display","").attr("aria-hidden","true"))}function gt(n){return n.hasClass("row")&&vn.some(function(t){return kn.some(function(e){return n.hasClass(Cn(t,e))})})}function pt(e,t){if(e.hasClass("row"))for(var n=vn.indexOf(t);0<=n;n--)for(var o=0;o<kn.length;o++)if(e.hasClass(Cn(vn[n],kn[o])))return{tier:n,value:kn[o]};return null}function mt(e,t){for(var n=vn.indexOf(t);0<=n;n--){var o=bt(e,vn[n]);if(null!==o)return{tier:n,size:o}}return null}function ht(e,t){var n=pt(e.parent(),t);return n&&(!(e=mt(e,t))||n.tier>e.tier||n.tier===e.tier&&"equal"===e.size)?n:null}function vt(e){return"auto"===e?f("badge.row_cols_auto"):f("badge.row_cols",{count:e})}function bt(e,t){var n=kt(e,t.colPrefix);return null!==n?n:e.hasClass(zn(t,"auto"))?"auto":e.hasClass(zn(t,"equal"))?"equal":null}function wt(e,t){return kt(e,t.offsetPrefix)}function yt(e,t){return _t(e,t,bt)}function xt(e,t){return _t(e,t,wt)}function _t(e,t,n){for(var o=vn.indexOf(t);0<=o;o--){var a=n(e,vn[o]);if(null!==a)return a}return null}function kt(e,t){t=new RegExp("(?:^|\\s)"+t+"(\\d+)(?:\\s|$)").exec(e.attr("class")||"");return t?parseInt(t[1],10):null}function Ct(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 Tt(t,n,e){Ct(t,n.colPrefix,null),_n.forEach(function(e){t.removeClass(zn(n,e))}),null!=e&&t.addClass(zn(n,e))}function zt(e,t,n){Ct(e,t.offsetPrefix,n||null)}function Et(e,n,o){var a=0;return e.children(".column").each(function(){var e,t=pn(this);o&&t[0]===o[0]||(e=(e=ht(t,n))?"auto"===(e=e).value?0:xn/parseInt(e.value,10):yt(t,n),a+=(Tn(e)?e:0)+(xt(t,n)||0))}),xn-a}function Mt(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||!Tn(t)||(t=Math.min(Math.max(t,1),xn))+n<=xn?{size:t,offset:n,refused:!1}:"offset"===e.leading?{size:xn-n,offset:n,refused:!1}:{size:null,offset:n,refused:!0}}function At(e){e.find(".column").addBack(".column").each(function(){var e=pn(this);e.css({width:"",height:"",left:"",top:""}),e.attr("style")||e.removeAttr("style")})}function Ot(e){return"ge-"+e+"-"+V}function St(){return[".row",".ge-text-block",".ge-content","[data-ge-container]"].concat(Pt("blocks")).join(", ")}function Pt(t){return pn.map(M,function(e){return e[t]||null})}function It(n,o){var a=!0;return pn.each(M,function(e,t){a&&t.accepts&&!1===t.accepts(n,o)&&(a=!1)}),a}function Dt(e,a){var t,i,r;e.length&&window.Sortable&&(t="drawer"===d.drag_handle,i="drawer"===d.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:Ot(a.group)}:{name:Ot(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(pn(e.el),pn(n))}),U.push(window.Sortable.create(n,pn.extend({group:o,draggable:a.draggable,handle:t?".ge-tools-drawer":".ge-tools-drawer .ge-move",filter:function(e,t){return!!pn(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:d.drag.animation,delay:d.drag.delay||d.drag.touch_delay,delayOnTouchOnly:!d.drag.delay,touchStartThreshold:d.drag.threshold,scroll:d.drag.scroll,onStart:Kt,onEnd:Rt},a.options||{})))}))}function Kt(e){var t=pn(e.item),n=ee(t),o=jt(t);t.data("ge-move-from",n),t.removeData("ge-move-canceled"),b(function(){v("before-move",h(o.kind,o.node,{parent:n.parent,source:"dragdrop",from:n}))||t.data("ge-move-canceled",!0)})}function jt(e){e=e.hasClass("ge-text-block")?e.children(".ge-content"):e;return{kind:y(e),node:e}}function Rt(e){var t,n,o,a,i,r,e=pn(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=z[Ue(a)])&&i.afterPaneMove&&i.afterPaneMove(a,e,l),r=jt(e),b(function(){v("after-move",h(r.kind,r.node,{parent:o.parent,source:"dragdrop",from:l,to:o,container:a.length?a:void 0}))}))}function Nt(e){var t,n,s=pn(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),Ut(t,Vt(Bt(t,e)))}e.preventDefault(),n=Ye(t=c),b(function(){return v("before-resize",h("column",t,{source:"dragdrop",from:n,to:null}))})&&(t.data("ge-resize-from",n),t.data("ge-resize-units",Ge(t)),Ut(t,Vt(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=Bt(o,t),o.removeData("ge-resize-from").removeData("ge-resize-units"),Ut(o,""),At(o),void 0!==i&&l!==r&&(a=X(o,l))&&b(function(){var e,t,n;Y(o,a),t=l-r,(e=qt(e=o))&&t&&Tn(n=Ye(e))&&(n=X(e,n-t))&&(Y(e,n),T(e)),T(o),v("after-resize",h("column",o,G({source:"dragdrop",from:i,to:a.size},a.cleared)))})}))}function Bt(e,t){var t=Math.round(t/Qe(e.parent())*xn),n=qt(e),o=n?Ye(n):null,a=e.data("ge-resize-units"),n=n&&Tn(o)?a+o-tt(d.valid_col_sizes):xn-Ze(e);return Math.min(Math.max(t,tt(d.valid_col_sizes)),Math.max(n,tt(d.valid_col_sizes)),nt(d.valid_col_sizes))}function qt(e){return"next"===d.resize.balance&&(e=e.nextAll(".column").first()).length?e:null}function Ut(e,t){e.find("> .ge-tools-drawer > .ge-resize-size").text(t)}function Vt(e){return(p===bn?vn[0]:S()).colPrefix+e}function j(){return pn('<div class="row" />')}function Wt(e,t,n){var o,a,i=null;return hn.forEach(function(e){null===i&&n&&void 0!==n[e]&&(i=e)}),null===i?e:(a=pn(n[i]),o="appendTo"===i||"prependTo"===i?a:a.parent(),a=function(){return w(t,e,function(){e[i](n[i])},{parent:o,source:n.source||"api"})},0<H?($(a),e):a())}function Ht(e,t,n){e=pn(e),n=n||{};var o=z[Ue(e)];return o&&Ue(e)===t?(n=o.addPane(e,n),w(o.paneKind,n,function(){},{parent:e,source:"api",container:e})):(Dn("this is not a "+t+" container"),null)}function Jt(){var n={};return pn.each(d,function(e,t){n[e]=Array.isArray(t)?t.slice():t}),Object.freeze(n)}function R(e,t){var n=cn(d.content_types[0]),n=pn('<div class="column"/>').append(Ft().html(n?n.initialContent:"")),o=Mn(p)[0],t=Mt({size:e,offset:t||0,leading:"offset"});return Tt(n,o,null===t.size?e:t.size),zt(n,o,t.offset),n}function $t(n){d.custom_filter.length&&pn.each(d.custom_filter,function(e,t){(t="string"==typeof t?window[t]:t)(m,n)})}function Lt(e){var t;return e.length&&(t=Ft().insertAfter(e.last()),e.appendTo(t)),pn()}function Ft(e){e=e||d.content_types[0];var t=pn('<div class="ge-content"/>');return e&&t.addClass("ge-content-type-"+e).attr("data-ge-content-type",e),t}function Xt(){return d.content_types.filter(function(e){return!!E[e]})}function Yt(e){var n,t,o,a,i,r,l,s=cn(e.attr("data-ge-content-type")),c=e.data("ge-text-before"),d=c?Zt(e[0]):null;s&&s.stop(e),e.removeClass("ge-rte-active"),c&&(s=c,t=(n=e).data("ge-text-ready")||c,o=d,a=pn.extend({},s),pn.each(pn.extend({},t,o),function(e){"class"===e||Qt.test(e)||t[e]===o[e]||(void 0===o[e]?delete a[e]:a[e]=o[e])}),i=en(t.class),r=en(o.class),l=en(s.class).filter(function(e){return-1!==r.indexOf(e)||-1===i.indexOf(e)}),r.forEach(function(e){-1===i.indexOf(e)&&-1===l.indexOf(e)&&l.push(e)}),l.length?a.class=l.join(" "):delete a.class,pn.each(Zt(n[0]),function(e){n.removeAttr(e)}),pn.each(a,function(e,t){n.attr(e,t)}),e.removeData("ge-text-before").removeData("ge-text-ready"))}var Gt=/^(mce-|cke|note-)|^(active|ge-rte-active)$/,Qt=/^(data-mce-|contenteditable$|spellcheck$)/;function Zt(e){var n={};return pn.each(pn.makeArray(e.attributes),function(e,t){n[t.name]=t.value}),n}function en(e){return(e||"").split(/\s+/).filter(function(e){return""!==e&&!Gt.test(e)})}function tn(e){var t=E[e];return t&&t.labelKey?f(t.labelKey):e}function nn(e,t){var n=E[e];return Ft(e).html(void 0!==t?t:n&&n.initialContent||"")}function on(e,t){var n=nn(t);w("text",n,function(){e.append(n)},{parent:e,source:"tool"})}function an(t){p=t,wn.forEach(function(e){m.toggleClass("ge-layout-"+e,e===t)}),q.find("button").text(f(An(t)))}function rn(e){return"number"==typeof e?(u("changeView-index","changeView("+e+"): layout modes are identified by breakpoint key now, so pass one of "+JSON.stringify(wn)+". Numeric indexes still work, but they mean what they meant in 2.x ("+yn.join(", ")+") and will be dropped."),yn[e]||null):-1===wn.indexOf(e)?null:e}function ln(e){var t=rn(e);null===t?Dn("changeView("+JSON.stringify(e)+"): no such layout mode"):(e=p,an(t),t!==e&&(ct().find(".ge-utilities").each(function(){De(pn(this))}),Oe(m),ge("onViewChange",t),v("view-change",{canvas:m,breakpoint:t,from:e,to:t})))}function sn(){return p}function cn(e){return E[e]||null}var dn,un={getHtml:de,getPlainHtml:function(){return Kn(de())},init:function(){$(x)},reset:function(){$(ce)},deinit:_,destroy:fe,remove:function(){u("remove","remove() is deprecated and will be removed in a later release. Use destroy(), which does the same thing."),fe()},changeView:ln,getView:sn,createRow:function(e,t){var n=j();return void 0===e||Array.isArray(e)||e&&e.row_cols||(Dn("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=re(e)),(Array.isArray(e)?e:[]).forEach(function(e){R(e).appendTo(n)}),Wt(n,"row",t)},createColumn:function(e,t){var n=pn((t=t||{}).appendTo||t.prependTo||[]).first(),n=(void 0===e&&n.length&&pt(n,S())?e=null:Tn(e)||-1!==_n.indexOf(e)||(Dn("createColumn: no column size given, using 12"),e=xn),R(e,t.offset));return void 0!==t.content&&n.find(".ge-content").html(t.content),Wt(n,"column",t)},createText:function(e,t){return e&&"object"==typeof e&&(t=e,e=void 0),t=t||{},(e=e||Xt()[0])&&E[e]?Wt(nn(e,t.content),"text",t):(u("createText:"+e,'createText: no text editor "'+e+'" is loaded; load its plugin and name it in content_types'),null)},createElement:function(e,t){return Re.createElement?Re.createElement(e,t):(u("plugin:elements","createElement needs the elements plugin: include dist/plugins/grideditor.elements.js after the editor"),null)},createSection:function(e){return Re.createSection?Re.createSection(e):(u("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=z[e];return n?Wt(n.create(t),e,t):(Dn('createContainer: no such container type "'+e+'"'),null)},addTab:function(e,t){return Ht(e,"tabs",t)},addAccordionItem:function(e,t){return Ht(e,"accordion",t)},setLocale:function(e){d.locale=e,un.settings=Jt(),F(),dt(),i.remove(),te(),ce()},getUtility:Ee,setUtility:Me,canvas:m,settings:Jt()};function fn(e){return!d.plugins||-1!==d.plugins.indexOf(e)}pn.each(mn,function(e,t){t.unimplemented&&(un[e]=function(){return u(e,e+" is registered but not implemented in this build yet"),null})}),e.data("grideditor",un),dn={canvas:m,settings:d,t:f,warn:Dn,containerId:Be,defaultRegion:qe,createTool:P,createMoveTool:ot,addSettingsTool:it,deleteNode:g,place:Wt,createPaneControls:Ve,makeLabelEditable:Je,labelIn:$e,unwrapLabels:Le,suspendToggles:We,resumeToggles:He,emit:v,payloadFor:h,operate:b,kindOf:y,view:sn,viewTiers:function(){return Mn(p).map(function(e){return e.key})},breakpoints:vn.map(function(e){return e.key}),getUtility:Ee,setUtility:Me,utilityField:Ie,bareStyle:Ae,rowFromLayout:re,nodeHtml:ue,textReady:function(e){e.trigger("ge-rte-ready")},detailsOf:st,drawerOf:function(e){return(e.hasClass("ge-content")?e.parent(".ge-text-block"):e).children(".ge-tools-drawer")},toolbarItems:function(e){return i?i.find('[data-ge-toolbar="feature"][data-ge-feature="'+e+'"]'):pn()}},ve("grid",{},(()=>{for(var e=[],t=1;t<=xn;t++)e.push(String(t));return{name:"col",values:e.concat(_n),appliesTo:["column"],labelKey:"utility.col_width",className:function(e,t){return zn(En(e),ie(t))},choices:function(){return d.valid_col_sizes.map(String)},label:function(e){return"equal"===e?f("utility.col_equal"):"auto"===e?f("utility.col_auto"):e},write:function(e,t,n,o){return Q(e,null===t?null:ie(t),o,n)},blank:function(e,t){e=t===bn?null:ht(e,En(t));return e?f("utility.col_from_row",{count:vt(e.value)}):null}}})()),!1!==d.row_cols&&ve("grid",{},{name:"row-cols",prefix:"row-cols",values:kn,appliesTo:["row"],labelKey:"utility.row_cols"}),pn.each(pn.fn.gridEditor.containers,function(e,t){fn(e)&&(z[e]=t(dn))}),pn.each(pn.fn.gridEditor.features,function(e,t){fn(e)&&(M[e]=t(dn))}),pn.each(pn.fn.gridEditor.texts,function(e,t){E[e]=t(dn)}),pn.each(pn.fn.gridEditor.RTEs,function(e,t){var n;E[e]||(u("rtes:"+e,'$.fn.gridEditor.RTEs is deprecated and will be removed in 7.0: register "'+e+'" under $.fn.gridEditor.texts, see docs/plugins.md'),E[e]={initialContent:(n=t).initialContent,start:function(e){n.init(d,e)},stop:function(e){n.deinit(d,e)}})}),pn.each(pn.fn.gridEditor.utilities,function(t,e){fn(t)&&(A[t]=e(dn),(A[t].families||[]).forEach(function(e){ve(t,A[t],e)}))}),pn.each(M,function(e,t){pn.each(t.methods||{},function(e,t){Re[e]=t})}),(d.plugins||[]).forEach(function(e){z[e]||M[e]||A[e]||u("plugin:"+e,'the "'+e+'" plugin is not loaded: include dist/plugins/grideditor.'+e+".js after the editor")}),l=pn('<textarea class="ge-html-output"/>').insertBefore(m),te(),pn(window).on("scroll",le),m.on("click",".ge-content",se),m.on("click",".ge-popup-trigger, [data-ge-popup-target]",function(e){m.hasClass("ge-editing")&&e.preventDefault()}),m.on("ge-rte-ready",".ge-content",function(){pn(this).data("ge-text-before")&&!pn(this).data("ge-text-ready")&&pn(this).data("ge-text-ready",Zt(this)),ge("onContentReady",pn(this)),Oe(pn(this))}),x()}),this;var e,t,n=this,o=gn,a=Array.prototype.slice.call(arguments,1),i=mn[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=pn(this).data("grideditor");e&&e[o].apply(e,a)})}else r("method:"+o,'unknown method "'+o+'"');return n},pn.fn.gridEditor.texts={},pn.fn.gridEditor.RTEs={},pn.fn.gridEditor.containers={},pn.fn.gridEditor.features={},pn.fn.gridEditor.utilities={},pn.fn.gridEditor.t=In,pn.fn.gridEditor.locales={en:{"tool.move":"Move","tool.settings":"Settings","tool.add_row":"Add row","tool.add_text":"Add text","tool.add_text_type":"Add {editor} text","tool.text_info":"Text: {editor}","tool.delete_text":"Remove text","text.add":"Text","text.add_type":"Text ({editor})","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_text":"Text","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_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
+ (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);
2
2
  //# sourceMappingURL=jquery.grideditor.min.js.map