@themarioga/grid-editor 8.2.0 → 8.4.0
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.
- package/CHANGELOG.md +31 -0
- package/README.md +25 -1
- package/dist/grideditor.bundle.min.js +3 -3
- package/dist/grideditor.css +116 -0
- package/dist/grideditor.d.ts +6 -0
- package/dist/grideditor.esm.js +301 -5
- package/dist/grideditor.js +301 -5
- package/dist/grideditor.min.css +1 -1
- package/dist/grideditor.min.css.map +1 -1
- package/dist/grideditor.min.js +2 -2
- package/dist/grideditor.min.js.map +3 -3
- package/dist/locales/grideditor.es.esm.js +4 -0
- package/dist/locales/grideditor.es.js +4 -0
- package/dist/locales/grideditor.es.min.js +1 -1
- package/dist/locales/grideditor.es.min.js.map +2 -2
- package/dist/plugins/grideditor.ckeditor.esm.js +1 -0
- package/dist/plugins/grideditor.ckeditor.js +1 -0
- package/dist/plugins/grideditor.ckeditor.min.js +1 -1
- package/dist/plugins/grideditor.ckeditor.min.js.map +2 -2
- package/dist/plugins/grideditor.sections.esm.js +1 -0
- package/dist/plugins/grideditor.sections.js +1 -0
- package/dist/plugins/grideditor.sections.min.js +1 -1
- package/dist/plugins/grideditor.sections.min.js.map +2 -2
- package/dist/plugins/grideditor.summernote.esm.js +1 -0
- package/dist/plugins/grideditor.summernote.js +1 -0
- package/dist/plugins/grideditor.summernote.min.js +1 -1
- package/dist/plugins/grideditor.summernote.min.js.map +2 -2
- package/dist/plugins/grideditor.tinymce.esm.js +1 -0
- package/dist/plugins/grideditor.tinymce.js +1 -0
- package/dist/plugins/grideditor.tinymce.min.js +1 -1
- package/dist/plugins/grideditor.tinymce.min.js.map +2 -2
- package/docs/locale-keys.md +4 -0
- package/docs/plugins.md +22 -0
- package/package.json +1 -1
- package/src/js/grideditor.js +359 -4
- package/src/js/locales/grideditor.es.js +4 -0
- package/src/js/plugins/grideditor.sections.js +1 -0
- package/src/js/text/grideditor.text.js +1 -0
- package/src/less/grideditor.less +134 -0
- package/types/grideditor.d.ts +6 -0
package/dist/grideditor.min.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
(()=>{function k(i,s){return i?Array.prototype.slice.call(i.querySelectorAll(s)):[]}function O(i,s){return i?i.querySelector(s):null}function _e(i,s){if(!i)return[];var g=k(i,s);return i.nodeType===1&&i.matches(s)&&g.unshift(i),g}function J(i,s){return i?Array.prototype.filter.call(i.children,function(g){return!s||g.matches(s)}):[]}function T(i,s){return J(i,s)[0]||null}function Z(i,s,g){var l=i&&i.nodeType===1?i.closest(s):null;return l&&g&&l!==g&&!g.contains(l)?null:l}function be(i,s){return!!i&&i.nodeType===1&&i.matches(s)}function ke(i){return!!i&&document.documentElement.contains(i)}function Nr(i,s){for(var g=[],l=i.nextElementSibling;l;l=l.nextElementSibling)(!s||l.matches(s))&&g.push(l);return g}function Ur(i,s){for(var g=[],l=i.parentElement;l&&l!==s;l=l.parentElement)g.push(l);return g}function Ui(i){var s=document.createElement("template");return s.innerHTML=i,Array.prototype.slice.call(s.content.childNodes)}function V(i){for(var s=Ui(i.trim()),g=0;g<s.length;g++)if(s[g].nodeType===1)return s[g];return null}function v(i,s,g){var l=document.createElement(i);return Object.keys(s||{}).forEach(function(d){var x=s[d];x!=null&&x!==!1&&l.setAttribute(d,x)}),g!=null&&(l.textContent=g),l}function Ct(i,s){return i.innerHTML=s==null?"":String(s),i}function C(i,s){return Fe(s).forEach(function(g){i.classList.add(g)}),i}function L(i,s){return Fe(s).forEach(function(g){i.classList.remove(g)}),i}function I(i,s,g){return Fe(s).forEach(function(l){g===void 0?i.classList.toggle(l):i.classList.toggle(l,!!g)}),i}function y(i,s){return!!i&&i.nodeType===1&&i.classList.contains(s)}function Fe(i){return String(i||"").split(/\s+/).filter(Boolean)}function Et(i){return i.getAttribute("class")||i.removeAttribute("class"),i}function nt(i){return i.getAttribute("style")||i.removeAttribute("style"),i}function xt(i,s){return Object.keys(s).forEach(function(g){var l=s[g];l==null?i.removeAttribute(g):i.setAttribute(g,l)}),i}function we(i,s){return Object.keys(s).forEach(function(g){var l=s[g];typeof l=="number"&&!Fi[g]&&(l=l+"px"),i.style.setProperty(g,l==null?"":String(l))}),i}var Fi={opacity:!0,"z-index":!0,"flex-grow":!0,"flex-shrink":!0,order:!0},tt={};function Hi(i){var s=i.nodeName;if(!tt[s]){var g=document.body.appendChild(document.createElement(s));tt[s]=getComputedStyle(g).display,g.remove(),tt[s]==="none"&&(tt[s]="block")}return tt[s]}function Ae(i){return i.style.removeProperty("display"),getComputedStyle(i).display==="none"&&(i.style.display=Hi(i)),i}function ue(i){return i.style.display="none",i}function vn(i,s){return s===void 0&&(s=!_t(i)),s?Ae(i):ue(i)}function _t(i){return!!(i.offsetWidth||i.offsetHeight||i.getClientRects().length)}function rt(i){return i.getBoundingClientRect().width}function kt(i){return i.getBoundingClientRect().height}function Fr(i){var s=getComputedStyle(i);return i.clientHeight-parseFloat(s.paddingTop)-parseFloat(s.paddingBottom)}function At(i){var s=i.getBoundingClientRect();return{top:s.top+window.pageYOffset,left:s.left+window.pageXOffset}}function St(i,s){return s.parentNode.insertBefore(i,s.nextSibling),i}function Tt(i){for(var s=i.parentNode;i.firstChild;)s.insertBefore(i.firstChild,i);i.remove()}function Hr(i,s){return i.parentNode.insertBefore(s,i),s.appendChild(i),s}function He(i,s,g,l,d){var x=function(b){var j=Z(b.target,g,i);if(j&&i.contains(j))return l.call(j,b)};return Fe(s).forEach(function(b){i.addEventListener(b,x,d)}),x}function ne(i,s,g,l){return Fe(s).forEach(function(d){i.addEventListener(d,g,l)}),g}function hn(i,s,g,l){Fe(s).forEach(function(d){i.removeEventListener(d,g,l)})}var Ki=400;function Kr(i,s,g,l){g=g===void 0?Ki:g;var d=function(){ue(i),l&&l()};if(!_t(i)||!i.animate||g<=0){window.setTimeout(d,0);return}var x=i.animate(s(getComputedStyle(i)),{duration:g,easing:"ease-in-out"}),b=!1,j=function(){b||(b=!0,d())};x.onfinish=j,x.oncancel=j}function ot(i,s,g){typeof s=="function"&&(g=s,s=void 0),i.style.overflow="hidden",Kr(i,function(l){return[{height:l.height,paddingTop:l.paddingTop,paddingBottom:l.paddingBottom,marginTop:l.marginTop,marginBottom:l.marginBottom},{height:"0px",paddingTop:"0px",paddingBottom:"0px",marginTop:"0px",marginBottom:"0px"}]},s,function(){i.style.removeProperty("overflow"),g&&g()})}function Wr(i,s,g,l){i.style.overflow="hidden",Kr(i,function(d){var x={opacity:d.opacity,height:d.height},b={opacity:0,height:"0px"};return l&&(x.width=d.width,b.width="0px"),[x,b]},s,function(){i.style.removeProperty("overflow"),g&&g()})}var Br={getHtml:{value:!0},getPlainHtml:{value:!0},init:{},deinit:{},reset:{},destroy:{},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},getActiveTarget:{value:!0},setActiveTarget:{}},Bi=["appendTo","prependTo","insertAfter","insertBefore"],h=[{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"}],q="all",Vi="view.all",bn=[q].concat(h.map(function(i){return i.key})),z=12,Vr=11,wn=["equal","auto"],Ke=["1","2","3","4","5","6","auto"];function yn(i,s){return"row-cols"+(i.infix?"-"+i.infix:"")+"-"+s}function K(i){return typeof i=="number"}function Se(i,s){return s==="equal"?i.infix?"col-"+i.infix:"col":i.colPrefix+s}function X(i){for(var s=0;s<h.length;s++)if(h[s].key===i)return h[s];return null}function qr(i){if(i===q)return[h[0]];var s=X(i);return s?[s]:[]}function it(i){var s=X(i);return s?s.labelKey:Vi}var Te={add_column:{size:12,picker:!0,delay:600},elements:{enabled:"auto",selector:"[data-ge-element]",auto:!1},resize:{enabled:!0,tools:!0,handles:"e",balance:"next"},indent:{tools:!0},drag:{delay:0,touch_delay:100,threshold:3,animation:150,scroll:!0}},Xr={},qi=0,Ot=new WeakMap;function En(i,s,g){var l=E.locales,d=l[i.locale]||{},x=i.locale_strings||{},b=x[s];return b===void 0&&(b=d[s]),b===void 0&&(b=l.en[s]),b===void 0&&(Xi("locale:"+s,'no string for "'+s+'" in any locale, showing the key'),b=s),b.replace(/\{(\w+)\}/g,function(j,ye){return g&&g[ye]!==void 0?g[ye]:j})}function N(i){window.console&&window.console.warn&&window.console.warn("grid-editor: "+i)}function Xi(i,s){Xr[i]||(Xr[i]=!0,N(s))}function Gi(i,s){return En({locale:"en"},i,s)}function Yi(i){if(typeof i=="string"){var s=document.querySelector(i);if(!s)throw new TypeError("grid-editor: no element matches "+JSON.stringify(i));return s}if(i&&i.nodeType===1)return i;throw new TypeError("grid-editor: the target is an element or a selector, not "+(i===null?"null":typeof i))}function de(i){return typeof i=="string"?document.querySelector(i):i&&i.nodeType===1?i:null}function Gr(){return E.Sortable||window.Sortable||null}function at(){var i=E.bootstrap||window.bootstrap;return i&&i.Modal?i.Modal:null}function Cn(i){var s=document.implementation.createHTMLDocument("").body;s.innerHTML=i;var g=[];return k(s,"*").forEach(function(l){var d=!1;Array.prototype.slice.call(l.attributes).forEach(function(j){j.name.indexOf("data-ge-")===0&&(l.removeAttribute(j.name),d=!0)});var x=(l.getAttribute("class")||"").split(/\s+/).filter(Boolean),b=x.filter(function(j){return j!=="column"&&j.indexOf("ge-")!==0});b.length!==x.length&&(d=!0),b.length?l.setAttribute("class",b.join(" ")):l.removeAttribute("class"),d&&l.tagName==="DIV"&&!l.attributes.length&&g.push(l)}),g.forEach(function(l){Tt(l)}),s.innerHTML}function E(i,s){var g=Yi(i),l=Ot.get(g);if(l)return Yr.has(g)||(Yr.add(g),N(Gi("warning.already_editing"))),l;if(!(this instanceof E))return new E(g,s);Ji(this,g,s||{})}var Yr=new WeakSet;E.create=function(i,s){return new E(i,s)};E.get=function(i){var s=de(i);return s&&Ot.get(s)||null};function Ji(i,s,g){var l=Object.assign({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",active_target:!1,element_tools:[],element_classes:[],container_classes:[],pane_classes:[],container_tools:[],tab_tools:[],accordion_tools:[],plugins:null,row_cols:!0,utilities:{},elements:Te.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:Te.add_column,layout_modes:bn.slice(),default_view:q,resize:Te.resize,indent:Te.indent,source_textarea:"",edit_source:!0,locale:"en",locale_strings:{},callbacks:{},confirm_delete:!0,settings_panel:"offcanvas",drag:Te.drag},g);Object.keys(Te).forEach(function(e){l[e]=Object.assign({},Te[e],l[e])});var d,x,b,j,ye,Oe,G,S=l.default_view,U=null,$=null,Le=!1,Me=null,D=null,xn={},Lt=[],Jr=++qi,_n=!1,kn=new WeakMap,Mt=new WeakMap,lt=new WeakMap,An=new WeakMap,Pt=new WeakSet,Sn=new AbortController;d=C(s,"ge-canvas");function ee(e,t){xn[e]||(xn[e]=!0,N(t))}function m(e,t){return En(l,e,t)}function $r(e){l.locale=e,i.settings=fn(),Tn(),pr(),br(),x.remove(),zn(),Wn()}var We=0,zt=[];function Q(e,t,n){return Object.assign({kind:e,node:t,parent:t.parentElement,canvas:d,breakpoint:pn(),source:"api"},n||{})}function M(e,t){var n=[e],r=e.replace(/^(before|after)-add-.+$/,"$1-add");r!==e&&n.push(r);var o=!1;return n.forEach(function(a){var u=new CustomEvent("grideditor:"+a,{detail:t,bubbles:!0,cancelable:!0});d.dispatchEvent(u)||(o=!0)}),n.forEach(function(a){var u=l.callbacks[a.replace(/-/g,"_")];typeof u=="function"&&u(t)===!1&&(o=!0)}),!o}function W(e){We++;try{return e()}finally{if(We--,We===0)for(;zt.length;)zt.shift()()}}function jt(e){if(We===0){e();return}zt.push(e)}function te(e,t,n,r){var o=Qr(e);return W(function(){var a=Q(e,t,r);return M("before-add-"+o,a)?(n(),fe(),M("after-add-"+o,a),t):null})}function Qr(e){return E.containers[e]?"container":e}function Zr(e,t){if(!l.confirm_delete){t();return}var n=at();if(!n){window.confirm(e)&&t();return}var r=eo(),o=!1;O(r,".ge-confirm-message").textContent=e,O(r,".ge-confirm-ok").onclick=function(){o=!0,n.getInstance(r).hide()},ce.hidden=function(){o&&t()},ce.shown=function(){O(r,".ge-confirm-ok").focus()},n.getOrCreateInstance(r).show()}var ce={hidden:null,shown:null};function eo(){return U||(U=V('<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>'),document.body.appendChild(U),O(U,".modal-title").textContent=m("confirm.title"),O(U,".btn-close").setAttribute("aria-label",m("confirm.cancel")),O(U,".ge-confirm-cancel").textContent=m("confirm.cancel"),O(U,".ge-confirm-ok").textContent=m("confirm.ok"),On(U),U.addEventListener("hidden.bs.modal",function(){ce.hidden&&ce.hidden()}),U.addEventListener("shown.bs.modal",function(){ce.shown&&ce.shown()}),U)}function Tn(){U&&(ce.hidden=null,ce.shown=null,It(U),U=null)}function It(e){var t=at(),n=t?t.getInstance(e):null,r=!1,o=function(){r||(r=!0,n&&n.dispose(),e.remove())};if(!n||!Dt.get(e)&&!y(e,"show")){o();return}e.addEventListener("hidden.bs.modal",o,{once:!0}),e.addEventListener("shown.bs.modal",function(){n.hide()},{once:!0}),n.hide()}var Dt=new WeakMap;function On(e){ne(e,"show.bs.modal hide.bs.modal",function(){Dt.set(e,!0)}),ne(e,"shown.bs.modal hidden.bs.modal",function(){Dt.set(e,!1)})}function Ce(e,t,n,r){W(function(){var o=Q(e,t,{source:"tool"});M("before-delete",o)&&Zr(n,function(){W(function(){r(function(){t.remove(),W(function(){fe(),M("after-delete",o)})})})})})}function Rt(e,t,n){if(n=n||S,n!==q){var r=X(n),o=ht({size:t,offset:pt(e,r)||0});return o.refused||Re(e,r)===o.size?null:{writes:[{tier:r,size:o.size}],cleared:null,size:o.size}}var a=h.some(function(p){return ht({size:t,offset:pt(e,p)||0}).refused});if(a)return null;var u=h[0],c=[],f=[];return h.slice(1).forEach(function(p){var w=Re(e,p);w!==null&&(c.push({tier:p,size:null}),f.push({breakpoint:p.key,value:w}))}),Re(e,u)!==t&&c.unshift({tier:u,size:t}),c.length?{writes:c,cleared:f,size:t}:null}function Nt(e,t){t.writes.forEach(function(n){vt(e,n.tier,n.size)}),et(e)}function Ut(e,t){return t&&(e.cleared=t),e}function Ft(e,t,n,r){r=r||S;var o=Ge(e),a=Rt(e,t,r);return a?W(function(){var u=Q("column",e,Ut({source:n,breakpoint:r,from:o,to:a.size},a.cleared));return M("before-resize",u)?(Nt(e,a),ie(e),M("after-resize",u),!0):(ie(e),!1)}):!1}function Ln(e,t,n){var r=S===q,o=r?h[0]:X(S),a=Je(e);t=Math.min(Math.max(t,0),Vr);var u=r?h.slice(1).filter(function(c){return gt(e,c)!==null}):[];return(gt(e,o)||0)===t&&!u.length?!1:W(function(){var c=Q("column",e,Ut({source:n,from:a,to:t},r?u.map(function(f){return{breakpoint:f.key,value:gt(e,f)}}):null));return M("before-indent",c)?(ln(e,o,t),u.forEach(function(f){ln(e,f,0)}),(r?h:[o]).forEach(function(f){var p=an(e,f);if(K(p)){var w=ht({size:p,offset:t,leading:"offset"});w.size!==p&&vt(e,f,w.size)}}),ie(e),M("after-indent",c),!0):!1})}function Ht(e){var t=e.parentElement;return{parent:t,index:J(t).filter(function(n){return!y(n,"ge-tools-drawer")}).indexOf(e)}}function re(e){var t=null;return Object.keys(A).forEach(function(n){var r=A[n];!t&&r.kindOf&&(t=r.kindOf(e))}),t||(e.getAttribute("data-ge-container")?e.getAttribute("data-ge-container"):y(e,"ge-tab")?"tab":y(e,"ge-accordion-item")?"accordion-item":y(e,"row")?"row":y(e,"column")?"column":y(e,"ge-element")?"element":(y(e,"ge-text-block")&&(e=T(e,".ge-content")||e),y(e,"ge-content")?e.getAttribute("data-ge-content-type")?"text":"plain":"node"))}if(l.source_textarea){var Be=de(l.source_textarea).value,Mn=v("div");Mn.innerHTML=Be,Be.length>0&&!Mn.querySelector(".row")&&(Be='<div class="row"><div class="col-lg-12">'+Be+"</div></div>"),Ct(s,Be)}if(s.children.length&&!s.querySelector("div.row")){var to=J(s),Pn=V('<div class="row"><div class="col-lg-12"></div></div>');s.appendChild(Pn),to.forEach(function(e){Pn.firstChild.appendChild(e)})}function no(){G=v("textarea",{class:"ge-html-output"}),d.parentNode.insertBefore(G,d),zn();var e={signal:Sn.signal};if(window.addEventListener("scroll",go,e),He(d,"click",".ge-content",po,e),He(d,"click",".ge-popup-trigger, [data-ge-popup-target]",function(n){y(d,"ge-editing")&&n.preventDefault()},e),l.active_target){var t=null;d.addEventListener("pointerdown",function(n){t={x:n.clientX,y:n.clientY}},e),d.addEventListener("click",function(n){var r=t;if(t=null,!!y(d,"ge-editing")&&!(r&&Math.abs(n.clientX-r.x)+Math.abs(n.clientY-r.y)>l.drag.threshold)){var o=Z(n.target,Vn());Pe(o&&o!==d&&d.contains(o)?o:null)}},e),document.addEventListener("keydown",function(n){if(!(n.key!=="Escape"||!D||F||le)){var r=document.activeElement;r&&(be(r,"input, textarea, select")||r.isContentEditable)||Pe(null)}},e)}}function ro(e){!be(e,".ge-content")||!d.contains(e)||(oe("onContentReady",e),qe(e))}function zn(){x=v("div",{class:"ge-mainControls"}),G.parentNode.insertBefore(x,G),b=x.appendChild(v("div",{class:"ge-wrapper ge-top"})),j=b.appendChild(v("div",{class:"ge-addRowGroup btn-group"})),ye=v("div",{class:"ge-addContainerGroup btn-group ms-1"}),l.new_row_layouts.forEach(function(u){var c=!Array.isArray(u),f=v("a",{class:"btn btn-sm btn-primary",title:c?m("row.add_row_cols",{columns:u.columns,counts:fo(u.row_cols)}):m("row.add",{layout:u.join("-")}),"data-ge-toolbar":"row","data-ge-layout":c?JSON.stringify(u):u.join(",")});f.addEventListener("click",function(){if(D){Vt(f,"tool");return}var _=Ve(u),xe=te("row",_,function(){d.appendChild(_)},{parent:d,source:"tool"});xe&&_.scrollIntoView&&_.scrollIntoView({behavior:"smooth"})}),j.appendChild(f),f.appendChild(V('<i class="bi bi-plus"></i>'));var p=c?mo(u):u,w='<div class="row ge-row-icon">';p.forEach(function(_){w+='<div class="column '+Se(h[0],_)+'"></div>'}),w+="</div>",f.appendChild(V(w))}),b.appendChild(ye),Object.keys(R).forEach(function(u){var c=R[u],f=jn(v("a",{class:"btn btn-sm btn-primary ge-add-container"}),m(c.labelKey),c.iconClass);xt(f,{"data-ge-toolbar":"container","data-ge-container-type":u}),f.addEventListener("click",function(){if(D){Vt(f,"tool");return}var p=Ne(),w=p.appendChild(he(z)),_=w.appendChild(c.create({}));te(u,_,function(){d.appendChild(p)},{parent:d,source:"tool"})}),ye.appendChild(f)});var e=[];Object.keys(A).forEach(function(u){(A[u].toolbar||[]).forEach(function(c,f){var p=oo(u,c,f);c.align==="end"?e.push(p):ye.appendChild(p)})}),Oe=V('<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>'),He(Oe,"click","a",function(){Ir(this.getAttribute("data-ge-view"))}),b.appendChild(Oe),l.layout_modes.forEach(function(u){O(Oe,".dropdown-menu").appendChild(v("a",{class:"dropdown-item","data-ge-view":u,title:m(it(u))},m(it(u))))}),O(Oe,"button").textContent=m(it(S));var t=b.appendChild(v("div",{class:"btn-group pull-right"}));if(l.edit_source){var n=V('<button type="button" class="btn btn-sm btn-primary gm-edit-mode"><i class="bi bi-code-slash"></i></button>');n.setAttribute("title",m("tool.edit_source")),I(n,"active btn-danger",Le),n.addEventListener("click",function(){Le?Bn():bo(),I(n,"active btn-danger",Le)}),t.appendChild(n)}var r=V('<button type="button" class="btn btn-sm btn-primary gm-preview"><i class="bi bi-eye-fill"></i></button>'),o=function(){y(r,"active")||C(d,"ge-editing")};if(r.setAttribute("title",m("tool.preview")),r.addEventListener("mouseenter",function(){L(d,"ge-editing")}),r.addEventListener("click",function(){I(r,"active btn-danger"),o()}),r.addEventListener("mouseleave",o),t.appendChild(r),e.length){var a=b.appendChild(v("div",{class:"pull-right ge-toolbar-end"}));e.forEach(function(u){a.appendChild(u)})}ao()}function jn(e,t,n){return e.setAttribute("title",t),n?(e.appendChild(v("i",{class:n})),e):(e.appendChild(V('<i class="bi bi-plus"></i>')),e.appendChild(v("span",{},t)),e)}function oo(e,t,n){var r=t.iconClass||(t.align==="end"?"bi bi-plus":null),o=typeof t.label=="function"?t.label():t.label||m(t.labelKey),a=jn(v("a",{class:"btn btn-sm btn-primary ge-add-container ge-add-feature"}),o,r);return C(a,t.className||""),xt(a,{"data-ge-toolbar":"feature","data-ge-feature":e,"data-ge-item":n}),a.addEventListener("click",function(){if(D){Vt(a,t.source||"tool");return}var u=t.create(),c=t.inColumn?Kt(u):u,f=te(t.kind,u,function(){d.appendChild(c)},{parent:d,source:t.source||"tool"});f&&t.inColumn&&c.scrollIntoView&&c.scrollIntoView({behavior:"smooth"})}),a}function io(){return l.toolbar_drag==="auto"?l.drag_handle==="drawer":!!l.toolbar_drag}function ao(){var e=k(x,"[data-ge-toolbar]");e.forEach(function(t){L(t,"ge-palette-button"),t.removeEventListener("pointerdown",In)}),io()&&e.forEach(function(t){C(t,"ge-palette-button"),t.addEventListener("pointerdown",In)})}function In(e){var t=e.currentTarget,n=e.pageX,r=e.pageY,o=null;if(e.button)return;function a(f){return Math.abs(f.pageX-n)+Math.abs(f.pageY-r)>l.drag.threshold}function u(f){if(!o){if(!a(f))return;o=C(t.cloneNode(!0),"ge-toolbar-helper"),document.body.appendChild(o),C(d,"ge-dropping")}we(o,{left:f.pageX-14,top:f.pageY-14}),so(f.pageX,f.pageY)}function c(f){if(document.removeEventListener("pointermove",u),hn(document,"pointerup pointercancel",c),!!o){o.remove(),L(d,"ge-dropping"),Wt();var p=function(_){_.target!==t&&!t.contains(_.target)||(_.preventDefault(),_.stopImmediatePropagation())};window.addEventListener("click",p,{capture:!0,once:!0}),window.setTimeout(function(){window.removeEventListener("click",p,{capture:!0})},0);var w=Dn(f.pageX,f.pageY);w&&Rn(t,w)}}document.addEventListener("pointermove",u),ne(document,"pointerup pointercancel",c)}function Dn(e,t){var n=e-window.scrollX,r=t-window.scrollY,o=document.elementFromPoint(n,r);if(!o)return null;var a=Z(o,[".column",".ge-canvas"].concat(bt("regions")).join(", "));if(!a||a!==d&&!d.contains(a))return null;var u=null;return J(a,un()).forEach(function(c){if(!u){var f=c.getBoundingClientRect();r<f.top+f.height/2&&(u=c)}}),{region:a,before:u}}function lo(e,t,n){var r=A[e.getAttribute("data-ge-feature")].toolbar[parseInt(e.getAttribute("data-ge-item"),10)],o=r.create(),a=o;if(r.inColumn)be(t.region,".column")||(a=Kt(o));else if(!dn(t.region,o)){var u=t.region===d?[]:Ur(t.region,d).reverse().concat([t.region]),c=u[0]||null;t={region:d,before:c?c.nextElementSibling:null}}return te(r.kind,o,function(){t.before?t.before.parentNode.insertBefore(a,t.before):t.region.appendChild(a)},{parent:t.region,source:r.source||n||"dragdrop"})}function Kt(e){var t=Ne();return t.appendChild(he(z)).appendChild(e),t}function so(e,t){var n=Dn(e,t);if(!n)return Wt();Me||(Me=v("div",{class:"ge-drop-marker"})),n.before?n.before.parentNode.insertBefore(Me,n.before):n.region.appendChild(Me)}function Wt(){Me&&Me.remove()}function Rn(e,t,n){if(e.getAttribute("data-ge-toolbar")==="feature")return lo(e,t,n);var r=e.getAttribute("data-ge-toolbar")==="container",o=e.getAttribute("data-ge-container-type"),a=r?R[o].create({}):co(e.getAttribute("data-ge-layout")),u=a;return r&&!be(t.region,".column")&&(u=Kt(a)),te(r?o:"row",a,function(){t.before?t.before.parentNode.insertBefore(u,t.before):t.region.appendChild(u)},{parent:t.region,source:n||"dragdrop"})}function uo(){for(var e=[],t=1;t<=z;t++)e.push(String(t));return{name:"col",values:e.concat(wn),appliesTo:["column"],labelKey:"utility.col_width",className:function(n,r){return Se(X(n),Bt(r))},choices:function(){return l.valid_col_sizes.map(String)},label:function(n){return n==="equal"?m("utility.col_equal"):n==="auto"?m("utility.col_auto"):n},write:function(n,r,o,a){return Ft(n,r===null?null:Bt(r),a,o)},blank:function(n,r){var o=r===q?null:mt(n,X(r));return o?m("utility.col_from_row",{count:Er(o.value)}):null}}}function Bt(e){return/^\d+$/.test(String(e))?parseInt(e,10):e}function co(e){return/^\s*\{/.test(e||"")?Ve(JSON.parse(e)):Ve((e||"").split(",").filter(function(t){return t!==""}).map(Bt))}function Ve(e){var t=Ne();if(Array.isArray(e))return e.forEach(function(r){t.appendChild(he(r))}),t;Object.keys(e.row_cols||{}).forEach(function(r){var o=e.row_cols[r],a=X(r);a&&Ke.indexOf(String(o))!==-1&&C(t,yn(a,o))});for(var n=0;n<(e.columns||0);n++)t.appendChild(he(null));return t}function fo(e){return h.filter(function(t){return e&&e[t.key]!==void 0}).map(function(t){return(t.infix?t.key+": ":"")+e[t.key]}).join(", ")}function mo(e){var t=1;return Object.keys(e.row_cols||{}).forEach(function(n){var r=e.row_cols[n];r!=="auto"&&(t=Math.max(t,parseInt(r,10)||1))}),Array.apply(null,Array(Math.min(t,e.columns||t))).map(function(){return"equal"})}function go(){var e=window.pageYOffset;e>At(x).top&&e<At(d).top+Fr(d)?y(b,"ge-top")&&(we(b,{left:At(b).left,width:rt(b)}),L(b,"ge-top"),C(b,"ge-fixed")):y(b,"ge-fixed")&&(we(b,{left:"",width:""}),L(b,"ge-fixed"),C(b,"ge-top"))}function po(){var e=this;if(!e.getAttribute("data-ge-content-type")&&!ae()&&_t(e)){var t=Kn();t.length&&(t.length===1?Nn(e,t[0]):vo(e,t))}}function Nn(e,t){return t.available&&!t.available()?(t.missingKey&&console.error(m(t.missingKey)),!1):W(function(){var n=Q("plain",e,{source:"tool",from:"plain",to:t.type});if(!M("before-convert",n))return!1;C(e,"ge-content-type-"+t.type),e.setAttribute("data-ge-content-type",t.type);var r=e.parentElement;return y(r,"ge-text-block")&&(L(r,"ge-plain-block"),J(r,".ge-tools-drawer").forEach(function(o){o.remove()})),M("after-convert",n),t.edit(e),!0})}function vo(e,t){var n=y(e.parentElement,"ge-text-block")?e.parentElement:null;n&&Un(T(n,".ge-tools-drawer"),t.map(function(r){return{label:r.label,title:m("tool.convert_type",{editor:r.label}),attributes:{"data-ge-content-type":r.type},choose:function(){Nn(e,r)}}}),"ge-text-picker ge-convert-picker",n)}function Un(e,t,n,r){if(ae(),!!e){var o=Z(e,".ge-tools-drawer");o&&C(o,"ge-picker-open"),$=e.appendChild(C(v("div",{class:"ge-size-picker"}),n||"")),t.forEach(function(a){var u=xt(v("a",{class:"ge-size ge-size-flex"}),a.attributes||{});u.setAttribute("title",a.title||a.label),u.textContent=a.label,u.addEventListener("click",function(c){c.preventDefault(),c.stopPropagation(),ae(),a.choose()}),$.appendChild(u)}),Fn(r||e)}}function Fn(e){e.addEventListener("mouseleave",function(){window.setTimeout(function(){$&&!$.matches(":hover")&&ae()},400)},{once:!0})}function Hn(){var e={},t=[];return Object.keys(A).forEach(function(n){var r=A[n];r.textTypes&&(r.textTypes()||[]).forEach(function(o){if(e[o.type]){e[o.type]!==n&&ee("text-type:"+o.type,'the "'+n+'" plugin declares the text type "'+o.type+'", which the "'+e[o.type]+'" plugin already declares: ignored');return}e[o.type]=n,t.push(o)})}),t}function Kn(){return Hn().filter(function(e){return e.offered!==!1})}function ho(e){return Hn().some(function(t){return t.type===e})}function Wn(){ze(),fe()}function bo(){ze(),Pe(null),G.style.height=.8*document.documentElement.clientHeight+"px",G.value=d.innerHTML,Ae(G),ue(d),Le=!0,oe("onSourceOpen",G)}function Bn(){oe("onSourceClose",G),Le=!1,Ct(d,G.value),Ae(d),fe(),ue(G)}function Vn(){return[".column"].concat(bt("regions")).join(", ")}function wo(e){return!!e&&e!==d&&d.contains(e)&&be(e,Vn())}function Pe(e){if(e!==D){var t=D;t&&L(t,"ge-active-target"),D=e,e&&y(d,"ge-editing")&&C(e,"ge-active-target"),M("target-change",{canvas:d,target:e,from:t})}}function Vt(e,t){var n=Rn(e,{region:D,before:null},t);n&&n.scrollIntoView&&n.scrollIntoView({behavior:"smooth"})}function fe(){F&&!ke(F.node)&&ve(),le&&le.home&&!ke(le.home)&&se(),Pr(!0),C(d,"ge-editing"),I(d,"ge-drag-drawer",l.drag_handle==="drawer"),ai();var e=Oi();Li(e),Pi(e),zi(),Go(),Yo(),No(),oe("onInit"),mi(),hi(),jr(S),qe(d),D&&!d.contains(D)?Pe(null):D&&C(D,"ge-active-target")}function ze(){ve(),L(d,"ge-editing ge-drag-drawer ge-dropping"),D&&L(D,"ge-active-target"),oe("onBeforeDeinit"),ae(),Wt(),se(),k(d,".ge-tools-drawer").forEach(function(e){e.remove()}),ut.clear(),ji(),oe("onDeinit"),$t(d),k(d,"[data-ge-row-cols]").forEach(function(e){e.removeAttribute("data-ge-row-cols")}),Uo(),ki(),yi(),Pr(!1)}function qn(){ze(),et(d);var e=d.innerHTML;return fe(),e}function yo(e){ze(),et(e);var t=e.outerHTML;return fe(),t}function Co(){return Cn(qn())}function Eo(){Le&&Bn(),ze(),D=null,Tn(),pr(),br(),x.remove(),G.remove(),Sn.abort(),Ot.delete(d),_n=!0}function xo(){var e=_o();Xt("grid",{},uo()),l.row_cols!==!1&&Xt("grid",{},di());var t=function(r){return!l.plugins||l.plugins.indexOf(r)!==-1},n=function(r,o){return o.always===!0||t(r)};Object.keys(E.containers).forEach(function(r){t(r)&&(R[r]=E.containers[r](e))}),Object.keys(E.features).forEach(function(r){var o=E.features[r];n(r,o)&&(A[r]=o(e))}),Object.keys(E.utilities).forEach(function(r){t(r)&&(B[r]=E.utilities[r](e),(B[r].families||[]).forEach(function(o){Xt(r,B[r],o)}))}),Object.keys(A).forEach(function(r){var o=A[r].methods||{};Object.keys(o).forEach(function(a){Xe[a]=o[a]})}),(l.plugins||[]).forEach(function(r){R[r]||A[r]||B[r]||ee("plugin:"+r,'the "'+r+'" plugin is not loaded: include dist/plugins/grideditor.'+r+".js after the editor")})}function oe(e,t){[R,A,B].forEach(function(n){Object.keys(n).forEach(function(r){n[r][e]&&n[r][e](t)})})}function _o(){return{canvas:d,settings:l,t:m,warn:N,containerId:Do,defaultRegion:Ro,createTool:P,createMoveTool:Ee,addSettingsTool:Qe,deleteNode:Ce,place:yt,createPaneControls:Ho,makeLabelEditable:Ko,labelIn:Wo,unwrapLabels:Bo,suspendToggles:ir,resumeToggles:ar,emit:M,payloadFor:Q,operate:W,kindOf:re,view:pn,viewTiers:function(){return qr(S).map(function(e){return e.key})},breakpoints:h.map(function(e){return e.key}),getUtility:Zn,setUtility:Jt,utilityField:Io,bareStyle:To,hostStyle:er,setHostStyle:zo,openDialog:hr,closeDialog:se,rowFromLayout:Ve,nodeHtml:yo,textReady:ro,attachPicker:sr,openPicker:Un,closePicker:ae,detailsOf:mr,drawerOf:ko,toolbarItems:function(e){return x?k(x,'[data-ge-toolbar="feature"][data-ge-feature="'+e+'"]'):[]}}}function ko(e){if(y(e,"ge-content")){var t=e.parentElement;return y(t,"ge-text-block")?T(t,".ge-tools-drawer"):null}return T(e,".ge-tools-drawer")}var me={},Ao=".row, .column, .ge-content, .ge-element, [data-ge-container]",je="data-ge-preview",qt=!1;function Xt(e,t,n){var r=n.name||n.prefix;if(me[r]){N('the "'+e+'" plugin declares the utility "'+r+'", which the "'+me[r].plugin+'" plugin already declared: ignored');return}me[r]={plugin:e,family:Object.assign({},n,{name:r,values:n.values.map(String),appliesTo:n.appliesTo||t.appliesTo||["row","column"]})}}function st(e,t){return me[e]?me[e].family:(ee("utility:"+e,t+"("+JSON.stringify(e)+"): no loaded plugin declares that utility"),null)}function Xn(e,t){return t==="plain"&&(t="text"),e.appliesTo.indexOf(t)!==-1?!0:!!R[t]&&e.appliesTo.indexOf("container")!==-1}function Gn(e){return Object.keys(me).map(function(t){return me[t].family}).filter(function(t){return Xn(t,e)})}function Gt(e,t,n){return e.className?e.className(t.key,n):e.prefix+(t.infix?"-"+t.infix:"")+"-"+n}function ge(e,t,n){for(var r=(e.getAttribute("class")||"").split(/\s+/),o=0;o<t.values.length;o++)if(r.indexOf(Gt(t,n,t.values[o]))!==-1)return t.values[o];return null}function Yn(e,t,n){for(var r=h.indexOf(n)-1;r>=0;r--){var o=ge(e,t,h[r]);if(o!==null)return{tier:h[r],value:o}}return null}function Jn(e,t,n){var r=ge(e,t,n);if(r!==null)return r;var o=Yn(e,t,n);return o?o.value:null}function Yt(e,t){return h.map(function(n){return{tier:n,value:ge(e,t,n)}}).filter(function(n){return n.value!==null})}function $n(e,t,n,r){t.values.forEach(function(o){L(e,Gt(t,n,o))}),r!==null&&C(e,Gt(t,n,r)),Et(e)}function Qn(e,t,n){return n===q?ge(e,t,h[0]):Jn(e,t,X(n))}function So(e,t,n,r){if(n!==q){var o=X(n);return ge(e,t,o)===r?null:{writes:[{tier:o,value:r}],cleared:[]}}var a=[],u=[];return Yt(e,t).forEach(function(c){c.tier!==h[0]&&(a.push({tier:c.tier,value:null}),u.push({breakpoint:c.tier.key,value:c.value}))}),ge(e,t,h[0])!==r&&a.unshift({tier:h[0],value:r}),a.length?{writes:a,cleared:u}:null}function Zn(e,t,n){e=de(e);var r=st(t,"getUtility");if(!r||!e)return null;var o=n===void 0?S:gn(n);return o===null?(N("getUtility("+JSON.stringify(n)+"): no such layout mode"),null):Qn(e,r,o)}function Jt(e,t,n,r){r=typeof r=="string"?{view:r}:r||{},e=de(e);var o=st(t,"setUtility");if(!o||!e)return!1;var a=r.view===void 0?S:gn(r.view);if(a===null)return N("setUtility("+JSON.stringify(r.view)+"): no such layout mode"),!1;if(n=n==null||n===""?null:String(n),n!==null&&o.values.indexOf(n)===-1)return N("setUtility: "+JSON.stringify(n)+' is not a value of "'+t+'", which takes '+JSON.stringify(o.values)),!1;var u=re(e);if(!Xn(o,u))return N('setUtility: "'+t+'" does not apply to a '+u),!1;if(o.write)return o.write(e,n,a,r.source||"api");var c=So(e,o,a,n);return c?W(function(){var f=Q(u,e,{family:t,breakpoint:a,tiers:c.writes.map(function(p){return p.tier.key}),from:Qn(e,o,a),to:n,cleared:c.cleared,source:r.source||"api"});return M("before-utility",f)?(c.writes.forEach(function(p){$n(e,o,p.tier,p.value)}),ie(e),M("after-utility",f),!0):(ie(e),!1)}):!1}function To(e,t,n){var r=st(t,"bareStyle");if(e=de(e),!r||!e)return null;var o=e.getAttribute("class");h.forEach(function(u){$n(e,r,u,null)});var a=getComputedStyle(e).getPropertyValue(n);return o===null?e.removeAttribute("class"):e.setAttribute("class",o),a}function ie(e){var t=mr(e);if(t){var n=O(t,".ge-classes");n&&(n.value=tn(e).join(" ")),J(t,".ge-utilities").forEach(function(r){Qt(r)})}nr(e),qe(e)}function Oo(e){return _e(e,Ao)}function qe(e){$t(e),S!==q&&Lo(e,X(S)),ui(e),oe("onRefresh",e)}function Lo(e,t){Oo(e).forEach(function(n){var r=re(n),o={};Gn(r).forEach(function(a){!a.preview||!Yt(n,a).length||Object.assign(o,a.preview(Jn(n,a,t),n,r))}),r==="column"&&Object.assign(o,si(n,t)),Object.keys(B).forEach(function(a){var u=B[a];u.preview&&Object.assign(o,u.preview(n,r,t.key))}),Object.keys(o).length&&Mo(n,o)})}function Mo(e,t){var n=e.style,r={};Object.keys(t).forEach(function(o){r[o]=[n.getPropertyValue(o),n.getPropertyPriority(o)],n.setProperty(o,String(t[o]),"important")}),e.setAttribute(je,JSON.stringify(r))}function $t(e){_e(e,"["+je+"]").forEach(function(t){var n=t.style,r={};try{r=JSON.parse(t.getAttribute(je))||{}}catch(o){}Object.keys(r).forEach(function(o){var a=r[o];a&&a[0]?n.setProperty(o,a[0],a[1]):n.removeProperty(o)}),t.removeAttribute(je),nt(t)})}function Po(e){var t=document.createElement("div"),n={};t.style.cssText=e.style.cssText;try{n=JSON.parse(e.getAttribute(je))||{}}catch(r){}return Object.keys(n).forEach(function(r){var o=n[r];o&&o[0]?t.style.setProperty(r,o[0],o[1]):t.style.removeProperty(r)}),t.style}function er(e,t){var n=Po(e);return t===void 0?n.cssText:{value:n.getPropertyValue(t),priority:n.getPropertyPriority(t)}}function zo(e,t,n,r){if(n=n==null?"":String(n).trim(),r===void 0&&(r=er(e,t).priority),n!==""){var o=document.createElement("div").style;if(o.setProperty(t,n,r||""),o.getPropertyValue(t)==="")return!1}var a=e.hasAttribute(je);return a&&$t(e),n===""?e.style.removeProperty(t):e.style.setProperty(t,n,r||""),nt(e),a&&qe(e),!0}function jo(e){var t=re(e),n=Gn(t).filter(function(u){return u.panel!==!1}).map(function(u){return tr(e,u)});if(Object.keys(B).forEach(function(u){var c=B[u],f=c.panel?c.panel(e,t):null;f&&n.push(f)}),!n.length)return null;var r=I(v("div",{class:"ge-utilities"}),"ge-open",qt);An.set(r,e);var o=r.appendChild(v("a",{class:"ge-utilities-toggle"}));o.addEventListener("click",function(){qt=!y(r,"ge-open"),gr().forEach(function(u){k(u,".ge-utilities").forEach(function(c){I(c,"ge-open",qt)})})});var a=r.appendChild(v("div",{class:"ge-utilities-body"}));return n.forEach(function(u){a.appendChild(u)}),Qt(r),r}function tr(e,t){var n=v("label",{class:"ge-utility","data-ge-family":t.name});n.appendChild(v("span",{class:"ge-utility-label"},t.labelKey?m(t.labelKey):t.name));var r=n.appendChild(v("select",{class:"form-select form-select-sm"}));return r.addEventListener("change",function(){Jt(e,t.name,this.value,{source:"panel"})}),n.appendChild(v("small",{class:"ge-utility-note"})),n}function Io(e,t){var n=st(t,"utilityField");if(!n)return null;var r=tr(e,n);return Zt(r,e),ut.set(r,e),r}var ut=new Map;function nr(e){ut.forEach(function(t,n){if(!n.isConnected){ut.delete(n);return}e&&t!==e||Z(n,".ge-utilities")||Zt(n,t)})}function Qt(e){var t=An.get(e);J(e,".ge-utilities-toggle").forEach(function(n){n.textContent=m("utility.section",{view:m(it(S))})}),k(e,".ge-utility").forEach(function(n){Zt(n,t)})}function Zt(e,t){var n=me[e.getAttribute("data-ge-family")].family,r=T(e,"select"),o=n.choices?n.choices(t,re(t)):n.values,a,u,c="";if(r.innerHTML="",S===q){a=ge(t,n,h[0]),u=m("utility.default");var f=Yt(t,n).filter(function(Ue){return Ue.tier!==h[0]});f.length&&(c=m("utility.varies",{breakpoints:f.map(function(Ue){return Ue.tier.key}).join(", ")}))}else{var p=X(S),w=Yn(t,n,p);a=ge(t,n,p),u=w?m("utility.inherit",{value:rr(n,w.value),breakpoint:w.tier.key}):m("utility.default");var _=n.blank?n.blank(t,S):null;_&&a===null&&(u=_)}a!==null&&o.indexOf(a)===-1&&(o=o.concat([a])),r.appendChild(v("option",{value:""},u)),o.forEach(function(Ue){r.appendChild(v("option",{value:Ue},rr(n,Ue)))}),r.value=a===null?"":a;var xe=T(e,".ge-utility-note");xe.textContent=c,vn(xe,c!=="")}function rr(e,t){return e.label?e.label(t):t}var R={},A={},B={},Xe={},or=0;function Do(e){return or++,"ge-"+e+"-"+or+"-"+Math.random().toString(36).slice(2,6)}function Ro(){var e=Ne();return e.appendChild(he(z)),e}function Ie(e){return e?e.getAttribute("data-ge-container"):null}function No(){k(d,"[data-ge-container]").forEach(function(e){var t=Ie(e),n=R[t];if(!n){ee("container:"+t,'unknown container type "'+t+'"');return}C(e,"ge-container ge-container-"+t),n.mark(e),T(e,".ge-tools-drawer")||Fo(e,t,n)})}function Uo(){k(d,"[data-ge-container]").forEach(function(e){var t=R[Ie(e)];t&&t.unmark(e),L(e,"ge-container ge-container-"+Ie(e)),Et(e)})}function De(e,t){var n=v("div",{class:t});return e.insertBefore(n,e.firstChild),n}function dt(e,t){(t||[]).forEach(function(n){P(e,n.title||"",n.className||"",n.iconClass||"bi bi-wrench",n.on)})}function Fo(e,t,n){var r=De(e,"ge-tools-drawer ge-container-drawer");Ee(r),Qe(r,e,l.container_classes),dt(r,l.container_tools),n.tools&&n.tools(r,e),P(r,m("tool.delete_container"),"ge-delete-container","bi bi-trash",function(){Ce(t,e,m("confirm.delete_container"),function(o){ot(e,o)})}),n.addPane&&P(r,m(n.addPaneKey),"ge-add-pane","bi bi-plus-circle",function(){var o=n.addPane(e,{});te(n.paneKind,o,function(){},{parent:e,source:"tool",container:e})})}function Ho(e,t,n,r,o){var a=De(e,"ge-tools-drawer ge-pane-drawer");return Ee(a),Qe(a,e,l.pane_classes),dt(a,n),P(a,m("tool.delete_pane"),"ge-delete-pane","bi bi-trash",function(){Ce(t,e,r,function(u){o(u)})}),a}function ir(e){e&&_e(e,"[data-bs-toggle], [data-bs-dismiss]").forEach(function(t){["toggle","dismiss"].forEach(function(n){var r=t.getAttribute("data-bs-"+n);r!==null&&(t.setAttribute("data-ge-bs-"+n,r),t.removeAttribute("data-bs-"+n))})})}function ar(e){e&&_e(e,"[data-ge-bs-toggle], [data-ge-bs-dismiss]").forEach(function(t){["toggle","dismiss"].forEach(function(n){var r=t.getAttribute("data-ge-bs-"+n);r!==null&&(t.setAttribute("data-bs-"+n,r),t.removeAttribute("data-ge-bs-"+n))})})}function Ko(e){if(!Pt.has(e)){var t=Z(e,"[data-bs-toggle], [data-ge-bs-toggle]");Pt.add(e),e.setAttribute("title",m("tool.rename")),e.addEventListener("dblclick",function(n){n.preventDefault(),n.stopPropagation(),ir(t),e.setAttribute("contenteditable","true"),e.focus(),window.getSelection().selectAllChildren(e)}),e.addEventListener("keydown",function(n){e.getAttribute("contenteditable")==="true"&&n.key==="Enter"&&(n.preventDefault(),e.blur())}),e.addEventListener("blur",function(){e.removeAttribute("contenteditable"),ar(t)})}}function Wo(e){var t=T(e,".ge-pane-label");return t||(t=v("span",{class:"ge-pane-label"},e.textContent.trim()),e.innerHTML="",e.appendChild(t)),t}function Bo(e){k(e,".ge-pane-label").forEach(function(t){Pt.delete(t),Tt(t)})}function lr(e,t){var n=he(t);return te("column",n,function(){e.appendChild(n)},{parent:e,source:"tool"})}function Vo(e,t){!l.add_column.picker||!e||sr(e,function(){qo(e,t)})}function sr(e,t){var n=null,r=function(){window.clearTimeout(n),n=null};ne(e,"mouseenter mousedown",function(){n||$||(n=window.setTimeout(function(){n=null,t()},l.add_column.delay))}),ne(e,"mouseleave mouseup",r)}function qo(e,t){ae();var n=sn(t,pe()),r=Z(e,".ge-tools-drawer");r&&C(r,"ge-picker-open"),$=e.appendChild(v("div",{class:"ge-size-picker"})),l.valid_col_sizes.forEach(function(o){var a=v("a",{class:"ge-size","data-ge-size":o,title:Xo(o)},K(o)?o:Se(h[0],o));I(a,"ge-size-tight",K(o)&&o>n),I(a,"ge-size-flex",!K(o)),a.addEventListener("click",function(u){u.preventDefault(),u.stopPropagation(),ae(),lr(t,o)}),$.appendChild(a)}),Fn(e)}function Xo(e){return e==="equal"?m("tool.column_equal"):e==="auto"?m("tool.column_auto"):m("tool.column_size",{size:e})}function ae(){if(!$)return!1;var e=Z($,".ge-tools-drawer");return e&&L(e,"ge-picker-open"),$.remove(),$=null,!0}function Go(){k(d,".row").forEach(function(e){if(!T(e,".ge-tools-drawer")){var t=De(e,"ge-tools-drawer");Ee(t),Qe(t,e,l.row_classes),dt(t,l.row_tools),P(t,m("tool.delete_row"),"ge-delete-row","bi bi-trash",function(){Ce("row",e,m("confirm.delete_row"),function(n){ot(e,n)})}),P(t,m("tool.add_column"),"ge-add-column","bi bi-plus-circle",function(){ae()||lr(e,Ze(e,pe())?null:l.add_column.size)}),Vo(T(t,".ge-add-column"),e)}})}function Yo(){k(d,".column").forEach(function(e){if(!T(e,".ge-tools-drawer")){var t=De(e,"ge-tools-drawer");Ee(t),l.resize.tools!==!1&&(P(t,m("tool.column_narrower"),"ge-decrease-col-width","bi bi-dash-lg",function(n){Ft(e,n.shiftKey?$e(l.valid_col_sizes):ct(l.valid_col_sizes.filter(K),Ye(e),-1),"tool")}),P(t,m("tool.column_wider"),"ge-increase-col-width","bi bi-plus-lg",function(n){Ft(e,n.shiftKey?Jo(e):ct(l.valid_col_sizes.filter(K),Ye(e),1),"tool")})),l.indent.tools!==!1&&(P(t,m("tool.indent_decrease"),"ge-decrease-col-offset","bi bi-text-indent-right",function(n){Ln(e,n.shiftKey?$e(l.valid_col_offsets):ct(l.valid_col_offsets,Je(e),-1),"tool")}),P(t,m("tool.indent_increase"),"ge-increase-col-offset","bi bi-text-indent-left",function(n){Ln(e,n.shiftKey?$o(e):ct(l.valid_col_offsets,Je(e),1),"tool")})),Qe(t,e,l.col_classes),dt(t,l.col_tools),P(t,m("tool.delete_column"),"ge-delete-column","bi bi-trash",function(){Ce("column",e,m("confirm.delete_column"),function(n){Wr(e,400,n,!0)})}),P(t,m("tool.add_row"),"ge-add-row","bi bi-plus-circle",function(){var n=Ne();te("row",n,function(){e.appendChild(n)},{parent:e,source:"tool"})})}})}function pe(){return S===q?h[h.length-1]:X(S)}function Ge(e){var t=pe();if(mt(e,t))return null;var n=an(e,t);return n===null?z:n}function Ye(e){var t=Ge(e);if(K(t))return t;var n=Math.round(rt(e)/ur(e.parentElement)*z);return Math.min(Math.max(n,1),z)}function ur(e){var t=window.getComputedStyle(e);return e.clientWidth-parseFloat(t.paddingLeft)-parseFloat(t.paddingRight)}function Je(e){return pt(e,pe())||0}function ct(e,t,n){var r=e.indexOf(t);return r===-1?e.reduce(function(o,a){return Math.abs(a-t)<Math.abs(o-t)?a:o},e[0]):e[Math.min(Math.max(r+n,0),e.length-1)]}function $e(e){return e.filter(K).reduce(function(t,n){return Math.min(t,n)},z)}function en(e){return e.filter(K).reduce(function(t,n){return Math.max(t,n)},0)}function Jo(e){var t=sn(e.parentElement,pe(),e)-Je(e);return Math.min(en(l.valid_col_sizes),Math.max(t,1))}function $o(e){var t=sn(e.parentElement,pe(),e)-Ye(e);return Math.min(en(l.valid_col_offsets),Math.max(t,0))}function Ee(e){return l.drag_handle==="drawer"?null:P(e,m("tool.move"),"ge-move","bi bi-arrows-move")}function P(e,t,n,r,o){var a=v("a",{title:t,class:n});return a.appendChild(v("i",{class:r})),e.appendChild(a),typeof o=="function"&&a.addEventListener("click",o),o&&typeof o=="object"&&Object.keys(o).forEach(function(u){ne(a,u,o[u])}),a}function tn(e){return(e.getAttribute("class")||"").split(/\s+/).filter(function(t){return t!==""&&!Qo(t)})}function Qo(e){return e==="row"||e==="column"||/^(ge-|ui-)/.test(e)||/^col(-(sm|md|lg|xl|xxl))?(-auto)?$/.test(e)?!0:h.some(function(t){return new RegExp("^("+t.colPrefix+"|"+t.offsetPrefix+")\\d+$").test(e)})}function Zo(e,t){tn(e).forEach(function(n){L(e,n)}),t.split(/\s+/).forEach(function(n){n!==""&&C(e,n)}),Et(e)}function Qe(e,t,n){var r=ei(t,n||[]);kn.set(t,r),P(e,m("tool.settings"),"ge-settings","bi bi-gear-fill",function(){ni(t,r,this)});var o=re(t);return Object.keys(B).forEach(function(a){B[a].drawerTools&&B[a].drawerTools(e,t,o)}),Object.keys(A).forEach(function(a){A[a].drawerTools&&A[a].drawerTools(e,t,o)}),e.appendChild(r)}function ei(e,t){var n=v("div",{class:"ge-details"});n.appendChild(dr(m("panel.section_general")));var r=n.appendChild(v("div",{class:"ge-details-general"})),o=function(p){var w=v("label",{class:"ge-field"});return w.appendChild(v("span",{class:"ge-field-label"},p)),r.appendChild(w)},a=v("input",{class:"ge-id form-control form-control-sm",placeholder:m("tool.id_placeholder"),title:m("tool.id_title")});a.value=e.getAttribute("id")||"",o(m("panel.id")).appendChild(a),a.addEventListener("change",function(){this.value===""?e.removeAttribute("id"):e.setAttribute("id",this.value)});var u=v("input",{class:"ge-classes form-control form-control-sm",placeholder:m("tool.classes_placeholder"),title:m("tool.classes_title")});u.value=tn(e).join(" "),o(m("panel.classes")).appendChild(u),u.addEventListener("change",function(){Zo(e,this.value),ie(e)});var c=r.appendChild(v("div",{class:"btn-group btn-group-sm ge-presets",role:"group"}));t.forEach(function(p){var w=y(e,p.cssClass),_=v("a",{role:"button",class:"btn btn-sm btn-outline-secondary",title:p.title?p.title:m("tool.toggle_class",{label:p.label}),"aria-pressed":w?"true":"false"});_.innerHTML=p.label,I(_,"active",w),_.addEventListener("click",function(){I(_,"active"),_.setAttribute("aria-pressed",y(_,"active")?"true":"false"),I(e,p.cssClass,y(_,"active")),ie(e)}),c.appendChild(_)}),ti(e).forEach(function(p){n.appendChild(p)});var f=jo(e);return f&&n.appendChild(f),n}function dr(e){return v("h6",{class:"ge-section-title"},e)}function ti(e){var t=re(e),n=fr(),r=[];return[R,A,B].forEach(function(o){Object.keys(o).forEach(function(a){var u=o[a],c=u.panelSection?u.panelSection(e,t):null;if(!(!c||!c.body)){var f=v("div",{class:"ge-panel-section","data-ge-plugin":a});if(n==="offcanvas"||n==="modal")f.appendChild(dr(m(c.labelKey))),f.appendChild(c.body);else{var p=m(c.labelKey),w=f.appendChild(v("button",{type:"button",class:"btn btn-sm btn-outline-secondary ge-panel-section-open"},p));ue(c.body),f.appendChild(c.body),w.addEventListener("click",function(){hr(c.titleKey?m(c.titleKey,{kind:wr(e)}):p,c.body,w)})}r.push(f)}})}),r}var cr=["offcanvas","popover","modal","inline"],H={},F=null,ft=new WeakMap;function fr(){return cr.indexOf(l.settings_panel)!==-1?l.settings_panel:(ee("settings_panel",'settings_panel "'+l.settings_panel+'" is not one of '+cr.join(", ")+": using offcanvas"),"offcanvas")}function mr(e){return e&&kn.get(e)||null}function gr(){return F&&F.mode!=="inline"?[d,F.details]:[d]}function ni(e,t,n){var r=fr();if(r==="inline"){vn(t);return}var o=F&&F.details===t;ve(),o||ri(r,e,t,n)}function ri(e,t,n,r){var o=oi(e),a=new AbortController;F={mode:e,node:t,details:n,home:n.parentElement,next:n.nextElementSibling,gear:r,listening:a},O(o,".ge-settings-title").textContent=m("panel.title",{kind:wr(t)}),O(o,".ge-settings-body").appendChild(n),Ae(n),C(t,"ge-settings-target");var u={signal:a.signal};if(document.addEventListener("keydown",function(f){f.key==="Escape"&&!le&&ve()},u),e==="offcanvas"){var c=window.innerWidth<576;I(o,"offcanvas-end",!c),I(o,"offcanvas-bottom",c),L(o,"hiding"),o.getBoundingClientRect(),C(o,"show")}else e==="popover"?(nn(o,r),ne(window,"scroll resize",function(){nn(o,r)},u),window.ResizeObserver&&(F.observer=new window.ResizeObserver(function(){nn(o,r)}),F.observer.observe(n)),ne(document,"mousedown touchstart",function(f){!le&&!o.contains(f.target)&&!r.contains(f.target)&&ve()},u)):rn(o,function(){F&&F.mode==="modal"&&ve()})}function ve(){se();var e=F;if(e){F=null;var t=H[e.mode];e.listening.abort(),e.observer&&e.observer.disconnect(),e.mode==="offcanvas"?(L(t,"show"),C(t,"hiding"),window.setTimeout(function(){L(t,"hiding")},300)):e.mode==="popover"?ue(t):on(t),L(e.node,"ge-settings-target"),e.details.style.removeProperty("display"),nt(e.details),e.home&&ke(e.home)?e.next&&e.next.parentElement===e.home?e.home.insertBefore(e.details,e.next):e.home.appendChild(e.details):e.details.remove()}}function oi(e){if(H[e])return H[e];var t=function(){return v("button",{type:"button",class:"btn-close ge-settings-close","aria-label":m("panel.close")})},n;return e==="offcanvas"?(n=V('<div class="offcanvas offcanvas-end ge-settings-panel ge-settings-offcanvas" tabindex="-1" role="dialog"><div class="offcanvas-header"><h5 class="offcanvas-title ge-settings-title"></h5></div><div class="offcanvas-body ge-settings-body"></div></div>'),O(n,".offcanvas-header").appendChild(t())):e==="popover"?(n=V('<div class="popover bs-popover-bottom ge-settings-panel ge-settings-popover" role="dialog"><div class="popover-arrow"></div><div class="popover-header"><span class="ge-settings-title"></span></div><div class="popover-body ge-settings-body"></div></div>'),O(n,".popover-header").appendChild(t()),ue(n)):(n=V('<div class="modal fade ge-settings-panel ge-settings-modal" tabindex="-1" role="dialog" aria-hidden="true"><div class="modal-dialog modal-dialog-centered modal-dialog-scrollable"><div class="modal-content"><div class="modal-header"><h5 class="modal-title ge-settings-title"></h5></div><div class="modal-body ge-settings-body"></div><div class="modal-footer"></div></div></div></div>'),O(n,".modal-header").appendChild(t()),O(n,".modal-footer").appendChild(v("button",{type:"button",class:"btn btn-primary ge-settings-close"},m("panel.done")))),He(n,"click",".ge-settings-close",function(r){r.preventDefault(),ve()}),H[e]=document.body.appendChild(n),n}function pr(){ve(),Object.keys(H).forEach(function(e){e==="modal"?It(H[e]):H[e].remove()}),Object.keys(H).forEach(function(e){vr(H[e])}),H={}}function nn(e,t){if(ke(t)){Ae(e);var n=t.getBoundingClientRect(),r=8,o=T(e,".popover-body");o.style.removeProperty("max-height");var a=rt(e),u=kt(e),c=window.innerHeight-n.bottom-2*r,f=n.top-2*r,p=u<=c||c>=f,w=p?c:f;u>w&&(we(o,{"max-height":Math.max(120,w-(u-kt(o)))}),u=kt(e));var _=p?n.bottom+r:n.top-r-u,xe=Math.max(r,Math.min(n.left+n.width/2-24,window.innerWidth-a-r));I(e,"bs-popover-bottom",p),I(e,"bs-popover-top",!p),we(e,{top:_+window.pageYOffset,left:xe+window.pageXOffset}),we(T(e,".popover-arrow"),{left:Math.max(r,Math.min(n.left+n.width/2-xe-8,a-24))})}}function rn(e,t){var n=at(),r=ft.get(e);if(r||(r={wanted:null,busy:!1,backdrop:null,dismissed:t},ft.set(e,r)),r.dismissed=t,!n){r.backdrop||(r.backdrop=v("div",{class:"modal-backdrop fade show ge-settings-backdrop"}),r.backdrop.addEventListener("click",function(){r.dismissed()}),document.body.appendChild(r.backdrop)),C(e,"show"),e.style.display="block",e.removeAttribute("aria-hidden");return}var o=n.getOrCreateInstance(e);r.watched||(r.watched=!0,On(e),e.addEventListener("hide.bs.modal",function(){r.wanted==="open"&&(r.wanted="closed",r.busy=!0)}),e.addEventListener("shown.bs.modal",function(){r.busy=!1,r.wanted==="closed"&&on(e)}),e.addEventListener("hidden.bs.modal",function(){r.busy=!1,r.wanted==="open"?rn(e,r.dismissed):r.dismissed()})),r.wanted="open",r.busy||(r.busy=!0,o.show())}function on(e){var t=at(),n=ft.get(e);if(n){if(n.wanted="closed",!t){n.backdrop&&(n.backdrop.remove(),n.backdrop=null),L(e,"show"),e.style.removeProperty("display"),e.setAttribute("aria-hidden","true");return}!n.busy&&y(e,"show")&&(n.busy=!0,t.getOrCreateInstance(e).hide())}}function vr(e){var t=ft.get(e);t&&t.backdrop&&(t.backdrop.remove(),t.backdrop=null)}var Y=null,le=null;function ii(){return Y||(Y=V('<div class="modal fade ge-dialog" tabindex="-1" role="dialog" aria-hidden="true"><div class="modal-dialog modal-dialog-centered modal-dialog-scrollable"><div class="modal-content"><div class="modal-header"><h5 class="modal-title ge-dialog-title"></h5></div><div class="modal-body ge-dialog-body"></div><div class="modal-footer"></div></div></div></div>'),O(Y,".modal-header").appendChild(v("button",{type:"button",class:"btn-close ge-dialog-close","aria-label":m("panel.close")})),O(Y,".modal-footer").appendChild(v("button",{type:"button",class:"btn btn-primary ge-dialog-close"},m("panel.done"))),He(Y,"click",".ge-dialog-close",function(e){e.preventDefault(),se()}),document.body.appendChild(Y))}function hr(e,t,n){se();var r=ii(),o=new AbortController;le={body:t,home:t.parentElement,next:t.nextElementSibling,opener:n||document.activeElement,listening:o},O(r,".ge-dialog-title").textContent=e,O(r,".ge-dialog-body").appendChild(t),Ae(t),at()||document.addEventListener("keydown",function(a){a.key==="Escape"&&se()},{signal:o.signal}),Object.keys(H).forEach(function(a){C(H[a],"ge-under-dialog")}),rn(r,function(){se()})}function se(){var e=le;e&&(le=null,e.listening.abort(),on(Y),Object.keys(H).forEach(function(t){L(H[t],"ge-under-dialog")}),ue(e.body),e.home&&ke(e.home)?e.next&&e.next.parentElement===e.home?e.home.insertBefore(e.body,e.next):e.home.appendChild(e.body):e.body.remove(),e.opener&&ke(e.opener)&&e.opener.focus&&e.opener.focus())}function br(){se(),Y&&(vr(Y),It(Y),Y=null)}function wr(e){var t=re(e);if(R[t]&&R[t].labelKey)return m(R[t].labelKey);switch(t){case"row":return m("panel.kind_row");case"column":return m("panel.kind_column");case"text":return m("panel.kind_text");case"element":return m("panel.kind_element");case"section":return m("panel.kind_section");case"tab":return m("panel.kind_tab");case"accordion-item":return m("panel.kind_accordion_item");default:return t}}function ai(){k(d,'.column, div[class*="col-"], div.col').forEach(function(e){C(e,"column"),!(ci(e).length||yr(e.parentElement))&&vt(e,h[0],z)})}function yr(e){return y(e,"row")&&h.some(function(t){return Ke.some(function(n){return y(e,yn(t,n))})})}function Ze(e,t){if(!y(e,"row"))return null;for(var n=h.indexOf(t);n>=0;n--)for(var r=0;r<Ke.length;r++)if(y(e,yn(h[n],Ke[r])))return{tier:n,value:Ke[r]};return null}function Cr(e,t){for(var n=h.indexOf(t);n>=0;n--){var r=Re(e,h[n]);if(r!==null)return{tier:n,size:r}}return null}function mt(e,t){var n=Ze(e.parentElement,t);if(!n)return null;var r=Cr(e,t);return!r||n.tier>r.tier||n.tier===r.tier&&r.size==="equal"?n:null}function li(e){return e.value==="auto"?0:z/parseInt(e.value,10)}function si(e,t){var n=mt(e,t);return n?{flex:"0 0 auto",width:n.value==="auto"?"auto":100/parseInt(n.value,10)+"%","max-width":"100%"}:yr(e.parentElement)&&!Cr(e,t)?{flex:"0 0 auto",width:"100%","max-width":"100%"}:{}}function ui(e){_e(e,".row").forEach(function(t){var n=l.row_cols===!1?null:S===q?Ze(t,h[0])||null:Ze(t,X(S));n?t.setAttribute("data-ge-row-cols",Er(n.value)):t.removeAttribute("data-ge-row-cols")})}function Er(e){return e==="auto"?m("badge.row_cols_auto"):m("badge.row_cols",{count:e})}function di(){return{name:"row-cols",prefix:"row-cols",values:Ke,appliesTo:["row"],labelKey:"utility.row_cols"}}function Re(e,t){var n=_r(e,t.colPrefix);return n!==null?n:y(e,Se(t,"auto"))?"auto":y(e,Se(t,"equal"))?"equal":null}function gt(e,t){return _r(e,t.offsetPrefix)}function an(e,t){return xr(e,t,Re)}function pt(e,t){return xr(e,t,gt)}function xr(e,t,n){for(var r=h.indexOf(t);r>=0;r--){var o=n(e,h[r]);if(o!==null)return o}return null}function _r(e,t){var n=new RegExp("(?:^|\\s)"+t+"(\\d+)(?:\\s|$)").exec(e.getAttribute("class")||"");return n?parseInt(n[1],10):null}function kr(e,t,n){var r=(e.getAttribute("class")||"").split(/\s+/).filter(function(o){return o!==""&&!new RegExp("^"+t+"\\d+$").test(o)});n!==null&&r.push(t+n),e.setAttribute("class",r.join(" "))}function vt(e,t,n){kr(e,t.colPrefix,null),wn.forEach(function(r){L(e,Se(t,r))}),n!=null&&C(e,Se(t,n))}function ln(e,t,n){kr(e,t.offsetPrefix,n||null)}function ci(e){return h.filter(function(t){return Re(e,t)!==null})}function sn(e,t,n){var r=0;return J(e,".column").forEach(function(o){if(!(n&&o===n)){var a=mt(o,t),u=a?li(a):an(o,t);r+=(K(u)?u:0)+(pt(o,t)||0)}}),z-r}function ht(e){var t=e.size===null||e.size===void 0?null:e.size,n=e.offset===null||e.offset===void 0?0:e.offset;return n=Math.min(Math.max(n,0),Vr),t===null||!K(t)?{size:t,offset:n,refused:!1}:(t=Math.min(Math.max(t,1),z),t+n<=z?{size:t,offset:n,refused:!1}:e.leading==="offset"?{size:z-n,offset:n,refused:!1}:{size:null,offset:n,refused:!0})}function et(e){_e(e,".column").forEach(function(t){we(t,{width:"",height:"",left:"",top:""}),nt(t)})}function Ar(e){return"ge-"+e+"-"+Jr}function un(){return[".row",".ge-text-block",".ge-content","[data-ge-container]"].concat(bt("blocks")).join(", ")}function bt(e){return Object.keys(A).map(function(t){return A[t][e]||null}).filter(function(t){return t!==null})}function dn(e,t){var n=!0;return Object.keys(A).forEach(function(r){var o=A[r];n&&o.accepts&&o.accepts(e,t)===!1&&(n=!1)}),n}function fi(){return l.drag_handle==="drawer"?".ge-tools-drawer > a:not(.ge-text-info):not(.ge-element-info), .ge-details, input, textarea, button, select, option":"input, textarea, button, select, option"}function wt(e,t){var n=Gr();if(e=Array.isArray(e)?e:e?[e]:[],!(!e.length||!n)){var r=l.drag_handle==="drawer",o=fi(),a=0;e.forEach(function(u){var c=t.group?{name:Ar(t.group)}:{name:Ar(t.draggable+"-"+ ++a),pull:!1,put:!1};t.group&&t.accepts&&(c.put=function(f,p,w){return p.options.group.name===c.name&&t.accepts(f.el,w)}),Lt.push(n.create(u,Object.assign({group:c,draggable:t.draggable,handle:r?".ge-tools-drawer":".ge-tools-drawer .ge-move",filter:function(f,p){return Z(f.target,o,u)?!0:!p||p.parentNode!==u},preventOnFilter:!1,forceFallback:!0,fallbackOnBody:!1,ghostClass:"ge-drag-placeholder",chosenClass:"ge-drag-chosen",dragClass:"ge-drag-helper",fallbackClass:"ge-drag-helper",animation:l.drag.animation,delay:l.drag.delay||l.drag.touch_delay,delayOnTouchOnly:!l.drag.delay,touchStartThreshold:l.drag.threshold,scroll:l.drag.scroll,onStart:gi,onEnd:vi},t.options||{})))})}}function mi(){if(!Gr()){ee("sortable_missing",m("error.sortable_missing"));return}wt(k(d,".row"),{draggable:".column",group:"column"}),wt([d].concat(k(d,".column")),{draggable:un(),group:"block",accepts:dn});var e=bt("regions");e.length&&wt(k(d,e.join(", ")),{draggable:">"+un(),group:"block",accepts:dn}),oe("onSortable",wt)}function gi(e){var t=e.item,n=Ht(t),r=Sr(t),o={from:n,canceled:!1};Mt.set(t,o),W(function(){var a=M("before-move",Q(r.kind,r.node,{parent:n.parent,source:"dragdrop",from:n}));a||(o.canceled=!0)})}function Sr(e){var t=y(e,"ge-text-block")&&T(e,".ge-content")||e;return{kind:re(t),node:t}}function pi(e,t){var n=J(t.parent).filter(function(r){return r!==e&&!y(r,"ge-tools-drawer")});!n.length||t.index>=n.length?t.parent.appendChild(e):t.parent.insertBefore(e,n[t.index])}function vi(e){var t=e.item,n=Mt.get(t),r=n?n.from:Ht(t);if(Mt.delete(t),n&&n.canceled){pi(t,r);return}var o=Ht(t);if(!(o.parent===r.parent&&o.index===r.index)){var a=Z(t,"[data-ge-container]"),u=R[Ie(a)];u&&u.afterPaneMove&&u.afterPaneMove(a,t,r);var c=Sr(t);W(function(){M("after-move",Q(c.kind,c.node,{parent:o.parent,source:"dragdrop",from:r,to:o,container:a||void 0}))})}}function hi(){l.resize.enabled&&k(d,".column").forEach(function(e){if(!T(e,".ge-resize-handle")){var t=T(e,".ge-tools-drawer");t&&t.appendChild(v("span",{class:"ge-resize-size"})),bi().forEach(function(n){var r=v("span",{class:"ge-resize-handle ge-resize-"+n,"data-ge-edge":n});r.addEventListener("pointerdown",wi),e.appendChild(r)})}})}function bi(){return String(l.resize.handles).split(",").map(function(e){return e.trim()}).filter(function(e){return e==="e"||e==="w"})}function wi(e){var t=e.currentTarget,n=t.parentElement,r=t.getAttribute("data-ge-edge")==="w",o=e.pageX,a=rt(n);if(e.preventDefault(),!Ci(n))return;C(n,"ge-resizing"),e.pointerId!==void 0&&t.setPointerCapture&&t.setPointerCapture(e.pointerId);function u(p){var w=p.pageX-o;return Math.max(1,a+(r?-w:w))}function c(p){n.style.width=u(p)+"px",Ei(n,u(p))}function f(p){t.removeEventListener("pointermove",c),hn(t,"pointerup pointercancel",f),L(n,"ge-resizing"),xi(n,u(p))}t.addEventListener("pointermove",c),ne(t,"pointerup pointercancel",f)}function yi(){k(d,".ge-resize-handle").forEach(function(e){e.remove()}),k(d,".ge-resize-size").forEach(function(e){e.remove()}),et(d)}function Tr(e,t){var n=Math.round(t/ur(e.parentElement)*z),r=Or(e),o=r?Ge(r):null,a=lt.get(e),u=a?a.units:Ye(e),c=r&&K(o)?u+o-$e(l.valid_col_sizes):z-Je(e);return Math.min(Math.max(n,$e(l.valid_col_sizes)),Math.max(c,$e(l.valid_col_sizes)),en(l.valid_col_sizes))}function Or(e){return l.resize.balance!=="next"?null:Nr(e,".column")[0]||null}function cn(e,t){var n=T(e,".ge-tools-drawer"),r=n?T(n,".ge-resize-size"):null;r&&(r.textContent=t)}function Lr(e){return(S===q?h[0].colPrefix:pe().colPrefix)+e}function Ci(e){var t=Ge(e),n=W(function(){return M("before-resize",Q("column",e,{source:"dragdrop",from:t,to:null}))});if(!n)return!1;var r={from:t,units:Ye(e)};return lt.set(e,r),cn(e,Lr(r.units)),!0}function Ei(e,t){cn(e,Lr(Tr(e,t)))}function xi(e,t){var n=lt.get(e),r=Tr(e,t);if(lt.delete(e),cn(e,""),et(e),!!n&&r!==n.units){var o=Rt(e,r);o&&W(function(){Nt(e,o),_i(e,r-n.units),ie(e),M("after-resize",Q("column",e,Ut({source:"dragdrop",from:n.from,to:o.size},o.cleared)))})}}function _i(e,t){var n=Or(e);if(!(!n||!t)){var r=Ge(n);if(K(r)){var o=Rt(n,r-t);o&&(Nt(n,o),ie(n))}}}function ki(){Lt.forEach(function(e){e.destroy()}),Lt=[]}function Ne(){return v("div",{class:"row"})}function yt(e,t,n){var r=null;if(Bi.forEach(function(c){r===null&&n&&n[c]!==void 0&&(r=c)}),r===null)return e;var o=de(n[r]);if(!o)return N(t+": "+r+" matches no element; the "+t+" is left detached"),e;var a=r==="appendTo"||r==="prependTo"?o:o.parentElement,u=function(){return te(t,e,function(){r==="appendTo"?o.appendChild(e):r==="prependTo"?o.insertBefore(e,o.firstChild):r==="insertBefore"?o.parentNode.insertBefore(e,o):St(e,o)},{parent:a,source:n.source||"api"})};return We>0?(jt(u),e):u()}function Ai(e,t){var n=Ne();return e!==void 0&&!Array.isArray(e)&&!(e&&e.row_cols)&&(N("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=Ve(e)),(Array.isArray(e)?e:[]).forEach(function(r){n.appendChild(he(r))}),yt(n,"row",t)}function Si(e,t){t=t||{};var n=de(t.appendTo||t.prependTo||null);e===void 0&&n&&Ze(n,pe())?e=null:!K(e)&&wn.indexOf(e)===-1&&(N("createColumn: no column size given, using "+z),e=z);var r=he(e,t.offset);return t.content!==void 0&&r.appendChild(Ri(t.content)),yt(r,"column",t)}function Ti(e,t){t=t||{};var n=R[e];return n?yt(n.create(t),e,t):(N('createContainer: no such container type "'+e+'"'),null)}function Mr(e,t,n){e=de(e),n=n||{};var r=R[Ie(e)];if(!r||Ie(e)!==t)return N("this is not a "+t+" container"),null;var o=r.addPane(e,n);return te(r.paneKind,o,function(){},{parent:e,source:"api",container:e})}function fn(){var e={};return Object.keys(l).forEach(function(t){var n=l[t];e[t]=Array.isArray(n)?n.slice():n}),Object.freeze(e)}function he(e,t){var n=v("div",{class:"column"}),r=qr(S)[0],o=ht({size:e,offset:t||0,leading:"offset"});return vt(n,r,o.size===null?e:o.size),ln(n,r,o.offset),n}function Pr(e){if(!(!l.custom_filter||!l.custom_filter.length)){var t=typeof l.custom_filter=="string"||typeof l.custom_filter=="function"?[l.custom_filter]:l.custom_filter;Array.prototype.forEach.call(t,function(n){typeof n=="string"&&(n=window[n]),n(d,e)})}}function Oi(){var e=[".row","[data-ge-container]"];return Object.keys(A).forEach(function(t){var n=A[t],r=typeof n.cuts=="function"?n.cuts():n.cuts;r&&e.push(r)}),e.join(", ")}function Li(e){k(d,".column > .ge-content, .column > .ge-text-block > .ge-content").forEach(function(t){if(!(y(t,"ge-rte-active")||!J(t,e).length)){var n=t.getAttribute("data-ge-content-type"),r=y(t.parentElement,"ge-text-block")?t.parentElement:t,o=[],a=[];for(Array.prototype.slice.call(t.childNodes).forEach(function(f){f.nodeType===1&&f.matches(e)?(o.push({text:a},{block:f}),a=[]):a.push(f)}),o.push({text:a});t.firstChild;)t.removeChild(t.firstChild);var u=!1,c=r;o.forEach(function(f){var p;if(f.block)p=f.block;else if(Mi(f.text))u?(p=mn(n),f.text.forEach(function(w){p.appendChild(w)})):(f.text.forEach(function(w){t.appendChild(w)}),p=r,u=!0);else return;p!==c&&St(p,c),c=p}),u||r.remove()}})}function Mi(e){return e.some(function(t){return t.nodeType===1||t.nodeType===3&&/\S/.test(t.nodeValue)})}function Pi(e){k(d,".column").forEach(function(t){var n=[];J(t).forEach(function(r){be(r,".ge-tools-drawer, .ge-resize-handle")||(be(r,".ge-content, .ge-text-block")||r.matches(e)?n=zr(n):n.push(r))}),zr(n)})}function zr(e){if(e.length){var t=St(mn(),e[e.length-1]);e.forEach(function(n){t.appendChild(n)})}return[]}function mn(e){var t=v("div",{class:"ge-content"});return e&&(C(t,"ge-content-type-"+e),t.setAttribute("data-ge-content-type",e)),t}function zi(){k(d,".column > .ge-content").forEach(function(e){Hr(e,v("div",{class:"ge-text-block"}))}),k(d,".ge-text-block").forEach(function(e){if(!T(e,".ge-tools-drawer")){var t=T(e,".ge-content"),n=t?t.getAttribute("data-ge-content-type"):null;n?ho(n)||Di(e,n):Ii(e)}})}function ji(){k(d,".ge-text-block").forEach(function(e){Tt(e)})}function Ii(e){var t=T(e,".ge-content"),n=De(e,"ge-tools-drawer ge-text-drawer ge-plain-drawer");C(e,"ge-plain-block"),Ee(n),Object.keys(A).forEach(function(r){A[r].plainTools&&A[r].plainTools(n,t)}),P(n,m("tool.delete_plain"),"ge-delete-plain","bi bi-trash",function(){Ce("plain",t,m("confirm.delete_plain"),function(r){ot(e,function(){e.remove(),r()})})})}function Di(e,t){var n=T(e,".ge-content"),r=De(e,"ge-tools-drawer ge-text-drawer");Ee(r),P(r,m("text.no_editor",{type:t}),"ge-text-info ge-text-missing","bi bi-exclamation-triangle"),P(r,m("tool.delete_text"),"ge-delete-text","bi bi-trash",function(){Ce("text",n,m("confirm.delete_text"),function(o){ot(e,function(){e.remove(),o()})})})}function Ri(e){var t=Kn(),n=mn(t.length?t[0].type:null);return e&&e.nodeType?n.appendChild(e):Ct(n,e),n}function jr(e){S=e,bn.forEach(function(t){I(d,"ge-layout-"+t,t===e)}),O(Oe,"button").textContent=m(it(e))}function gn(e){return bn.indexOf(e)===-1?null:e}function Ir(e){var t=gn(e);if(t===null){N("changeView("+JSON.stringify(e)+"): no such layout mode");return}var n=S;jr(t),t!==n&&(gr().forEach(function(r){k(r,".ge-utilities").forEach(function(o){Qt(o)})}),nr(null),qe(d),oe("onViewChange",t),M("view-change",{canvas:d,breakpoint:t,from:n,to:t}))}function pn(){return S}function Dr(e,t,n){return function(){return Xe[e]?Xe[e].apply(null,arguments):(ee("plugin:"+t,e+" needs the "+t+" plugin: include dist/plugins/grideditor."+n+".js after the editor"),null)}}function Ni(e){if(!l.active_target){ee("active_target","setActiveTarget needs the active_target setting: without it, it does nothing");return}if(e==null){Pe(null);return}var t=de(e);if(!wo(t)){var n=typeof e=="string"?e:t?"<"+t.tagName.toLowerCase()+">":String(e);N("setActiveTarget: "+n+" is not a column or a region of the canvas");return}Pe(t)}var Rr={getHtml:qn,getPlainHtml:Co,init:function(){jt(fe)},reset:function(){jt(Wn)},deinit:ze,destroy:Eo,changeView:Ir,getView:pn,createRow:Ai,createColumn:Si,createText:function(e,t){return Xe.createText?Xe.createText(e,t):(ee("plugin:text","createText needs a text editor plugin: include dist/plugins/grideditor.tinymce.js, or another editor's, after the editor"),null)},createElement:Dr("createElement","elements","elements"),createSection:Dr("createSection","sections","sections"),createContainer:Ti,addTab:function(e,t){return Mr(e,"tabs",t)},addAccordionItem:function(e,t){return Mr(e,"accordion",t)},setLocale:$r,getUtility:Zn,setUtility:Jt,getActiveTarget:function(){return l.active_target?D:null},setActiveTarget:Ni};Object.keys(Rr).forEach(function(e){var t=!!(Br[e]&&Br[e].value);i[e]=function(){if(_n)return ee("destroyed:"+e,m("warning.destroyed",{method:e})),e==="getHtml"?d.innerHTML:e==="getPlainHtml"?Cn(d.innerHTML):t?null:i;var n=Rr[e].apply(i,arguments);return t?n:i}}),i.canvas=d,i.settings=fn(),Ot.set(d,i),xo(),i.settings=fn(),no(),fe(),E._created.forEach(function(e){e(i)})}E._created=[];E.containers={};E.features={};E.utilities={};E.texts={};E.t=En;E._plainHtml=Cn;E.Sortable=null;E.bootstrap=null;E.version="8.2.0";E.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
|
|
1
|
+
(()=>{function A(i,s){return i?Array.prototype.slice.call(i.querySelectorAll(s)):[]}function M(i,s){return i?i.querySelector(s):null}function Ee(i,s){if(!i)return[];var p=A(i,s);return i.nodeType===1&&i.matches(s)&&p.unshift(i),p}function K(i,s){return i?Array.prototype.filter.call(i.children,function(p){return!s||p.matches(s)}):[]}function T(i,s){return K(i,s)[0]||null}function Y(i,s,p){var l=i&&i.nodeType===1?i.closest(s):null;return l&&p&&l!==p&&!p.contains(l)?null:l}function xe(i,s){return!!i&&i.nodeType===1&&i.matches(s)}function Te(i){return!!i&&document.documentElement.contains(i)}function Yr(i,s){for(var p=[],l=i.nextElementSibling;l;l=l.nextElementSibling)(!s||l.matches(s))&&p.push(l);return p}function Jr(i,s){for(var p=[],l=i.parentElement;l&&l!==s;l=l.parentElement)p.push(l);return p}function ra(i){var s=document.createElement("template");return s.innerHTML=i,Array.prototype.slice.call(s.content.childNodes)}function V(i){for(var s=ra(i.trim()),p=0;p<s.length;p++)if(s[p].nodeType===1)return s[p];return null}function v(i,s,p){var l=document.createElement(i);return Object.keys(s||{}).forEach(function(c){var k=s[c];k!=null&&k!==!1&&l.setAttribute(c,k)}),p!=null&&(l.textContent=p),l}function _t(i,s){return i.innerHTML=s==null?"":String(s),i}function E(i,s){return We(s).forEach(function(p){i.classList.add(p)}),i}function O(i,s){return We(s).forEach(function(p){i.classList.remove(p)}),i}function z(i,s,p){return We(s).forEach(function(l){p===void 0?i.classList.toggle(l):i.classList.toggle(l,!!p)}),i}function y(i,s){return!!i&&i.nodeType===1&&i.classList.contains(s)}function We(i){return String(i||"").split(/\s+/).filter(Boolean)}function kt(i){return i.getAttribute("class")||i.removeAttribute("class"),i}function rt(i){return i.getAttribute("style")||i.removeAttribute("style"),i}function At(i,s){return Object.keys(s).forEach(function(p){var l=s[p];l==null?i.removeAttribute(p):i.setAttribute(p,l)}),i}function _e(i,s){return Object.keys(s).forEach(function(p){var l=s[p];typeof l=="number"&&!oa[p]&&(l=l+"px"),i.style.setProperty(p,l==null?"":String(l))}),i}var oa={opacity:!0,"z-index":!0,"flex-grow":!0,"flex-shrink":!0,order:!0},nt={};function ia(i){var s=i.nodeName;if(!nt[s]){var p=document.body.appendChild(document.createElement(s));nt[s]=getComputedStyle(p).display,p.remove(),nt[s]==="none"&&(nt[s]="block")}return nt[s]}function Oe(i){return i.style.removeProperty("display"),getComputedStyle(i).display==="none"&&(i.style.display=ia(i)),i}function me(i){return i.style.display="none",i}function _n(i,s){return s===void 0&&(s=!St(i)),s?Oe(i):me(i)}function St(i){return!!(i.offsetWidth||i.offsetHeight||i.getClientRects().length)}function ot(i){return i.getBoundingClientRect().width}function Tt(i){return i.getBoundingClientRect().height}function $r(i){var s=getComputedStyle(i);return i.clientHeight-parseFloat(s.paddingTop)-parseFloat(s.paddingBottom)}function Ot(i){var s=i.getBoundingClientRect();return{top:s.top+window.pageYOffset,left:s.left+window.pageXOffset}}function Lt(i,s){return s.parentNode.insertBefore(i,s.nextSibling),i}function Mt(i){for(var s=i.parentNode;i.firstChild;)s.insertBefore(i.firstChild,i);i.remove()}function Qr(i,s){return i.parentNode.insertBefore(s,i),s.appendChild(i),s}function He(i,s,p,l,c){var k=function(b){var j=Y(b.target,p,i);if(j&&i.contains(j))return l.call(j,b)};return We(s).forEach(function(b){i.addEventListener(b,k,c)}),k}function oe(i,s,p,l){return We(s).forEach(function(c){i.addEventListener(c,p,l)}),p}function kn(i,s,p,l){We(s).forEach(function(c){i.removeEventListener(c,p,l)})}var aa=400;function Zr(i,s,p,l){p=p===void 0?aa:p;var c=function(){me(i),l&&l()};if(!St(i)||!i.animate||p<=0){window.setTimeout(c,0);return}var k=i.animate(s(getComputedStyle(i)),{duration:p,easing:"ease-in-out"}),b=!1,j=function(){b||(b=!0,c())};k.onfinish=j,k.oncancel=j}function it(i,s,p){typeof s=="function"&&(p=s,s=void 0),i.style.overflow="hidden",Zr(i,function(l){return[{height:l.height,paddingTop:l.paddingTop,paddingBottom:l.paddingBottom,marginTop:l.marginTop,marginBottom:l.marginBottom},{height:"0px",paddingTop:"0px",paddingBottom:"0px",marginTop:"0px",marginBottom:"0px"}]},s,function(){i.style.removeProperty("overflow"),p&&p()})}function eo(i,s,p,l){i.style.overflow="hidden",Zr(i,function(c){var k={opacity:c.opacity,height:c.height},b={opacity:0,height:"0px"};return l&&(k.width=c.width,b.width="0px"),[k,b]},s,function(){i.style.removeProperty("overflow"),p&&p()})}var to={getHtml:{value:!0},getPlainHtml:{value:!0},init:{},deinit:{},reset:{},destroy:{},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},getActiveTarget:{value:!0},setActiveTarget:{}},sa=["appendTo","prependTo","insertAfter","insertBefore"],w=[{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"}],J="all",ua="view.all",An=[J].concat(w.map(function(i){return i.key})),D=12,no=11,Sn=["equal","auto"],Be=["1","2","3","4","5","6","auto"];function Tn(i,s){return"row-cols"+(i.infix?"-"+i.infix:"")+"-"+s}function G(i){return typeof i=="number"}function Le(i,s){return s==="equal"?i.infix?"col-"+i.infix:"col":i.colPrefix+s}function $(i){for(var s=0;s<w.length;s++)if(w[s].key===i)return w[s];return null}function ro(i){if(i===J)return[w[0]];var s=$(i);return s?[s]:[]}function at(i){var s=$(i);return s?s.labelKey:ua}var Me={add_column:{size:12,picker:!0,delay:600},elements:{enabled:"auto",selector:"[data-ge-element]",auto:!1},resize:{enabled:!0,tools:!0,handles:"e",balance:"next"},indent:{tools:!0},drag:{delay:0,touch_delay:100,threshold:3,animation:150,scroll:!0}},oo={},da=0,zt=new WeakMap;function Ln(i,s,p){var l=x.locales,c=l[i.locale]||{},k=i.locale_strings||{},b=k[s];return b===void 0&&(b=c[s]),b===void 0&&(b=l.en[s]),b===void 0&&(fa("locale:"+s,'no string for "'+s+'" in any locale, showing the key'),b=s),b.replace(/\{(\w+)\}/g,function(j,ie){return p&&p[ie]!==void 0?p[ie]:j})}function ca(i,s){var p=x.locales;return(i.locale_strings||{})[s]!==void 0||(p[i.locale]||{})[s]!==void 0||p.en[s]!==void 0}function U(i){window.console&&window.console.warn&&window.console.warn("grid-editor: "+i)}function fa(i,s){oo[i]||(oo[i]=!0,U(s))}function ma(i,s){return Ln({locale:"en"},i,s)}function ga(i){if(typeof i=="string"){var s=document.querySelector(i);if(!s)throw new TypeError("grid-editor: no element matches "+JSON.stringify(i));return s}if(i&&i.nodeType===1)return i;throw new TypeError("grid-editor: the target is an element or a selector, not "+(i===null?"null":typeof i))}function ge(i){return typeof i=="string"?document.querySelector(i):i&&i.nodeType===1?i:null}function io(){return x.Sortable||window.Sortable||null}function lt(){var i=x.bootstrap||window.bootstrap;return i&&i.Modal?i.Modal:null}function On(i){var s=document.implementation.createHTMLDocument("").body;s.innerHTML=i;var p=[];return A(s,"*").forEach(function(l){var c=!1;Array.prototype.slice.call(l.attributes).forEach(function(j){j.name.indexOf("data-ge-")===0&&(l.removeAttribute(j.name),c=!0)});var k=(l.getAttribute("class")||"").split(/\s+/).filter(Boolean),b=k.filter(function(j){return j!=="column"&&j.indexOf("ge-")!==0});b.length!==k.length&&(c=!0),b.length?l.setAttribute("class",b.join(" ")):l.removeAttribute("class"),c&&l.tagName==="DIV"&&!l.attributes.length&&p.push(l)}),p.forEach(function(l){Mt(l)}),s.innerHTML}function x(i,s){var p=ga(i),l=zt.get(p);if(l)return ao.has(p)||(ao.add(p),U(ma("warning.already_editing"))),l;if(!(this instanceof x))return new x(p,s);pa(this,p,s||{})}var ao=new WeakSet;x.create=function(i,s){return new x(i,s)};x.get=function(i){var s=ge(i);return s&&zt.get(s)||null};function pa(i,s,p){var l=Object.assign({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",toolbar_overflow:"menu",drawer_overflow:"menu",toolbar_groups:!1,active_target:!1,element_tools:[],element_classes:[],container_classes:[],pane_classes:[],container_tools:[],tab_tools:[],accordion_tools:[],plugins:null,row_cols:!0,utilities:{},elements:Me.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:Me.add_column,layout_modes:An.slice(),default_view:J,resize:Me.resize,indent:Me.indent,source_textarea:"",edit_source:!0,locale:"en",locale_strings:{},callbacks:{},confirm_delete:!0,settings_panel:"offcanvas",drag:Me.drag},p);Object.keys(Me).forEach(function(e){l[e]=Object.assign({},Me[e],l[e])});var c,k,b,j,ie,ze,Q,L=l.default_view,W=null,ee=null,Pe=!1,je=null,N=null,st=null,Pt=function(){},jt=function(){},ae=[],Rt=null,Mn={},It=[],lo=++da,zn=!1,Pn=new WeakMap,Dt=new WeakMap,ut=new WeakMap,jn=new WeakMap,Nt=new WeakSet,Ft=new AbortController;c=E(s,"ge-canvas");function ne(e,t){Mn[e]||(Mn[e]=!0,U(t))}function m(e,t){return Ln(l,e,t)}function so(e){l.locale=e,i.settings=yn(),Rn(),kr(),Tr(),Hn(),Un(),Qn()}var Ke=0,Ut=[];function te(e,t,n){return Object.assign({kind:e,node:t,parent:t.parentElement,canvas:c,breakpoint:xn(),source:"api"},n||{})}function R(e,t){var n=[e],r=e.replace(/^(before|after)-add-.+$/,"$1-add");r!==e&&n.push(r);var o=!1;return n.forEach(function(a){var u=new CustomEvent("grideditor:"+a,{detail:t,bubbles:!0,cancelable:!0});c.dispatchEvent(u)||(o=!0)}),n.forEach(function(a){var u=l.callbacks[a.replace(/-/g,"_")];typeof u=="function"&&u(t)===!1&&(o=!0)}),!o}function q(e){Ke++;try{return e()}finally{if(Ke--,Ke===0)for(;Ut.length;)Ut.shift()()}}function Wt(e){if(Ke===0){e();return}Ut.push(e)}function re(e,t,n,r){var o=uo(e);return q(function(){var a=te(e,t,r);return R("before-add-"+o,a)?(n(),ve(),R("after-add-"+o,a),t):null})}function uo(e){return x.containers[e]?"container":e}function co(e,t){if(!l.confirm_delete){t();return}var n=lt();if(!n){window.confirm(e)&&t();return}var r=fo(),o=!1;M(r,".ge-confirm-message").textContent=e,M(r,".ge-confirm-ok").onclick=function(){o=!0,n.getInstance(r).hide()},pe.hidden=function(){o&&t()},pe.shown=function(){M(r,".ge-confirm-ok").focus()},n.getOrCreateInstance(r).show()}var pe={hidden:null,shown:null};function fo(){return W||(W=V('<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>'),document.body.appendChild(W),M(W,".modal-title").textContent=m("confirm.title"),M(W,".btn-close").setAttribute("aria-label",m("confirm.cancel")),M(W,".ge-confirm-cancel").textContent=m("confirm.cancel"),M(W,".ge-confirm-ok").textContent=m("confirm.ok"),In(W),W.addEventListener("hidden.bs.modal",function(){pe.hidden&&pe.hidden()}),W.addEventListener("shown.bs.modal",function(){pe.shown&&pe.shown()}),W)}function Rn(){W&&(pe.hidden=null,pe.shown=null,Ht(W),W=null)}function Ht(e){var t=lt(),n=t?t.getInstance(e):null,r=!1,o=function(){r||(r=!0,n&&n.dispose(),e.remove())};if(!n||!Bt.get(e)&&!y(e,"show")){o();return}e.addEventListener("hidden.bs.modal",o,{once:!0}),e.addEventListener("shown.bs.modal",function(){n.hide()},{once:!0}),n.hide()}var Bt=new WeakMap;function In(e){oe(e,"show.bs.modal hide.bs.modal",function(){Bt.set(e,!0)}),oe(e,"shown.bs.modal hidden.bs.modal",function(){Bt.set(e,!1)})}function ke(e,t,n,r){q(function(){var o=te(e,t,{source:"tool"});R("before-delete",o)&&co(n,function(){q(function(){r(function(){t.remove(),q(function(){ve(),R("after-delete",o)})})})})})}function Kt(e,t,n){if(n=n||L,n!==J){var r=$(n),o=wt({size:t,offset:ht(e,r)||0});return o.refused||Fe(e,r)===o.size?null:{writes:[{tier:r,size:o.size}],cleared:null,size:o.size}}var a=w.some(function(g){return wt({size:t,offset:ht(e,g)||0}).refused});if(a)return null;var u=w[0],f=[],d=[];return w.slice(1).forEach(function(g){var h=Fe(e,g);h!==null&&(f.push({tier:g,size:null}),d.push({breakpoint:g.key,value:h}))}),Fe(e,u)!==t&&f.unshift({tier:u,size:t}),f.length?{writes:f,cleared:d,size:t}:null}function Vt(e,t){t.writes.forEach(function(n){bt(e,n.tier,n.size)}),tt(e)}function Gt(e,t){return t&&(e.cleared=t),e}function qt(e,t,n,r){r=r||L;var o=Ye(e),a=Kt(e,t,r);return a?q(function(){var u=te("column",e,Gt({source:n,breakpoint:r,from:o,to:a.size},a.cleared));return R("before-resize",u)?(Vt(e,a),ue(e),R("after-resize",u),!0):(ue(e),!1)}):!1}function Dn(e,t,n){var r=L===J,o=r?w[0]:$(L),a=$e(e);t=Math.min(Math.max(t,0),no);var u=r?w.slice(1).filter(function(f){return vt(e,f)!==null}):[];return(vt(e,o)||0)===t&&!u.length?!1:q(function(){var f=te("column",e,Gt({source:n,from:a,to:t},r?u.map(function(d){return{breakpoint:d.key,value:vt(e,d)}}):null));return R("before-indent",f)?(pn(e,o,t),u.forEach(function(d){pn(e,d,0)}),(r?w:[o]).forEach(function(d){var g=gn(e,d);if(G(g)){var h=wt({size:g,offset:t,leading:"offset"});h.size!==g&&bt(e,d,h.size)}}),ue(e),R("after-indent",f),!0):!1})}function Xt(e){var t=e.parentElement;return{parent:t,index:K(t).filter(function(n){return!y(n,"ge-tools-drawer")}).indexOf(e)}}function le(e){var t=null;return Object.keys(S).forEach(function(n){var r=S[n];!t&&r.kindOf&&(t=r.kindOf(e))}),t||(e.getAttribute("data-ge-container")?e.getAttribute("data-ge-container"):y(e,"ge-tab")?"tab":y(e,"ge-accordion-item")?"accordion-item":y(e,"row")?"row":y(e,"column")?"column":y(e,"ge-element")?"element":(y(e,"ge-text-block")&&(e=T(e,".ge-content")||e),y(e,"ge-content")?e.getAttribute("data-ge-content-type")?"text":"plain":"node"))}if(l.source_textarea){var Ve=ge(l.source_textarea).value,Nn=v("div");Nn.innerHTML=Ve,Ve.length>0&&!Nn.querySelector(".row")&&(Ve='<div class="row"><div class="col-lg-12">'+Ve+"</div></div>"),_t(s,Ve)}if(s.children.length&&!s.querySelector("div.row")){var mo=K(s),Fn=V('<div class="row"><div class="col-lg-12"></div></div>');s.appendChild(Fn),mo.forEach(function(e){Fn.firstChild.appendChild(e)})}function go(){Q=v("textarea",{class:"ge-html-output"}),c.parentNode.insertBefore(Q,c),Un(),gi();var e={signal:Ft.signal};if(window.addEventListener("scroll",Lo,e),He(c,"click",".ge-content",Mo,e),He(c,"click",".ge-popup-trigger, [data-ge-popup-target]",function(n){y(c,"ge-editing")&&n.preventDefault()},e),l.active_target){var t=null;c.addEventListener("pointerdown",function(n){t={x:n.clientX,y:n.clientY}},e),c.addEventListener("click",function(n){var r=t;if(t=null,!!y(c,"ge-editing")&&!(r&&Math.abs(n.clientX-r.x)+Math.abs(n.clientY-r.y)>l.drag.threshold)){var o=Y(n.target,er());if(o&&o===N&&(n.target===o||n.target===T(o,".ge-tools-drawer"))){Ae(null);return}Ae(o&&o!==c&&c.contains(o)?o:null)}},e),document.addEventListener("keydown",function(n){if(!(n.key!=="Escape"||!N||H||ce)){var r=document.activeElement;r&&(xe(r,"input, textarea, select")||r.isContentEditable)||Ae(null)}},e)}}function po(e){!xe(e,".ge-content")||!c.contains(e)||(se("onContentReady",e),qe(e))}function Un(){k=v("div",{class:"ge-mainControls"}),Q.parentNode.insertBefore(k,Q),b=k.appendChild(v("div",{class:"ge-wrapper ge-top"}));var e=l.toolbar_overflow!=="wrap",t=b;e&&(E(b,"ge-toolbar-menu"),t=b.appendChild(v("div",{class:"ge-toolbar-start"}))),ae=[],j=t.appendChild(v("div",{class:"ge-addRowGroup btn-group"})),ie=v("div",{class:"ge-addContainerGroup btn-group ms-1"}),l.new_row_layouts.forEach(function(d){var g=!Array.isArray(d),h=v("a",{class:"btn btn-sm btn-primary",title:g?m("row.add_row_cols",{columns:d.columns,counts:To(d.row_cols)}):m("row.add",{layout:d.join("-")}),"data-ge-toolbar":"row","data-ge-layout":g?JSON.stringify(d):d.join(",")});h.addEventListener("click",function(){if(N){Qt(h,"tool");return}var P=Ge(d),xt=re("row",P,function(){c.appendChild(P)},{parent:c,source:"tool"});xt&&P.scrollIntoView&&P.scrollIntoView({behavior:"smooth"})}),j.appendChild(h),ae.push({button:h,home:j,group:"rows"}),h.appendChild(V('<i class="bi bi-plus"></i>'));var C=g?Oo(d):d,_='<div class="row ge-row-icon">';C.forEach(function(P){_+='<div class="column '+Le(w[0],P)+'"></div>'}),_+="</div>",h.appendChild(V(_))}),t.appendChild(ie),Object.keys(F).forEach(function(d){var g=F[d],h=Bn(v("a",{class:"btn btn-sm btn-primary ge-add-container"}),m(g.labelKey),g.iconClass);At(h,{"data-ge-toolbar":"container","data-ge-container-type":d}),h.addEventListener("click",function(){if(N){Qt(h,"tool");return}var C=Ue(),_=C.appendChild(Ce(D)),P=_.appendChild(g.create({}));re(d,P,function(){c.appendChild(C)},{parent:c,source:"tool"})}),ie.appendChild(h),ae.push({button:h,home:ie,group:Wn(g.group)||"content"})});var n=[];Object.keys(S).forEach(function(d){(S[d].toolbar||[]).forEach(function(g,h){var C=Co(d,g,h);g.align==="end"?n.push(C):(ie.appendChild(C),ae.push({button:C,home:ie,group:Wn(g.group)||d}))})}),ze=V('<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>'),He(ze,"click","a",function(){Vr(this.getAttribute("data-ge-view"))}),b.appendChild(ze),l.layout_modes.forEach(function(d){M(ze,".dropdown-menu").appendChild(v("a",{class:"dropdown-item","data-ge-view":d,title:m(at(d))},m(at(d))))}),M(ze,"button").textContent=m(at(L));var r=b.appendChild(v("div",{class:"btn-group pull-right"}));if(l.edit_source){var o=V('<button type="button" class="btn btn-sm btn-primary gm-edit-mode"><i class="bi bi-code-slash"></i></button>');o.setAttribute("title",m("tool.edit_source")),z(o,"active btn-danger",Pe),o.addEventListener("click",function(){Pe?Zn():jo(),z(o,"active btn-danger",Pe)}),r.appendChild(o)}var a=V('<button type="button" class="btn btn-sm btn-primary gm-preview"><i class="bi bi-eye-fill"></i></button>'),u=function(){y(a,"active")||E(c,"ge-editing")};if(a.setAttribute("title",m("tool.preview")),a.addEventListener("mouseenter",function(){O(c,"ge-editing")}),a.addEventListener("click",function(){z(a,"active btn-danger"),u()}),a.addEventListener("mouseleave",u),r.appendChild(a),n.length){var f=b.appendChild(v("div",{class:"pull-right ge-toolbar-end"}));n.forEach(function(d){f.appendChild(d)})}l.toolbar_groups&&ho(t),e&&yo(t),xo()}var vo=[{name:"rows",labelKey:"group.rows"},{name:"content",labelKey:"group.content"}];function Wn(e){return typeof e=="string"&&e.trim()!==""?e:null}function ho(e){var t=vo.map(function(a){return a.name});if(ae.forEach(function(a){t.indexOf(a.group)<0&&t.push(a.group)}),t=t.filter(function(a){return ae.some(function(u){return u.group===a})}),t.length<2)return;var n=v("div",{class:"ge-toolbar-groups btn-group",role:"tablist","aria-label":m("group.select")});e.insertBefore(n,e.firstChild);var r=k.appendChild(v("div",{class:"ge-toolbar-stash",hidden:"hidden"}));t.forEach(function(a){var u=n.appendChild(v("button",{type:"button",class:"btn btn-sm btn-outline-primary",role:"tab","data-ge-group":a},bo(a)));u.addEventListener("click",function(){o(a)})}),o(t.indexOf(Rt)>=0?Rt:t[0]);function o(a){Rt=a,ae.forEach(function(u){(u.group===a?u.home:r).appendChild(u.button)}),K(n).forEach(function(u){var f=u.getAttribute("data-ge-group")===a;z(u,"active",f),u.setAttribute("aria-selected",f?"true":"false")}),jt()}}function bo(e){var t="group."+e;if(ca(l,t))return m(t);var n=ae.filter(function(r){return r.group===e})[0];return n.button.getAttribute("title")||e}function wo(){return ae.filter(function(e){return!Y(e.button,".ge-toolbar-stash")})}function Hn(){st&&st.abort(),st=null,Pt=function(){},jt=function(){},k.remove()}function yo(e){var t=V('<div class="ge-toolbar-more"><button type="button" class="btn btn-sm btn-primary"><i class="bi bi-three-dots"></i></button><div class="ge-toolbar-overflow"><div class="ge-addRowGroup btn-group"></div><div class="ge-addContainerGroup btn-group"></div></div></div>');e.parentNode.insertBefore(t,e.nextSibling);var n=M(t,"button"),r=M(t,".ge-toolbar-overflow"),o=A(r,".btn-group");function a(_){return _===j?o[0]:o[1]}n.setAttribute("title",m("tool.more")),n.setAttribute("aria-haspopup","true"),n.setAttribute("aria-expanded","false");var u=st=new AbortController,f={signal:u.signal};if(n.addEventListener("click",function(){h(!y(t,"ge-open"))}),r.addEventListener("click",function(_){Y(_.target,"[data-ge-toolbar]")&&h(!1)}),document.addEventListener("pointerdown",function(_){t.contains(_.target)||h(!1)},f),document.addEventListener("keydown",function(_){_.key==="Escape"&&h(!1)},f),Pt=function(){h(!1)},jt=C,C(),window.ResizeObserver){var d=!1,g=new window.ResizeObserver(function(){d||(d=!0,window.requestAnimationFrame(function(){d=!1,u.signal.aborted||C()}))});g.observe(b),g.observe(e),u.signal.addEventListener("abort",function(){g.disconnect()})}function h(_){_=_&&y(t,"ge-needed"),z(t,"ge-open",_),n.setAttribute("aria-expanded",_?"true":"false")}function C(){var _=wo();if(_.forEach(function(Xr){Xr.home.appendChild(Xr.button)}),O(t,"ge-needed"),e.scrollWidth<=e.clientWidth){h(!1);return}E(t,"ge-needed");for(var P=_.length-1;P>=0&&e.scrollWidth>e.clientWidth;P--){var xt=a(_[P].home);xt.insertBefore(_[P].button,xt.firstChild)}}}function Bn(e,t,n){return e.setAttribute("title",t),n?(e.appendChild(v("i",{class:n})),e):(e.appendChild(V('<i class="bi bi-plus"></i>')),e.appendChild(v("span",{},t)),e)}function Co(e,t,n){var r=t.iconClass||(t.align==="end"?"bi bi-plus":null),o=typeof t.label=="function"?t.label():t.label||m(t.labelKey),a=Bn(v("a",{class:"btn btn-sm btn-primary ge-add-container ge-add-feature"}),o,r);return E(a,t.className||""),At(a,{"data-ge-toolbar":"feature","data-ge-feature":e,"data-ge-item":n}),a.addEventListener("click",function(){if(N){Qt(a,t.source||"tool");return}var u=t.create(),f=t.inColumn?Yt(u):u,d=re(t.kind,u,function(){c.appendChild(f)},{parent:c,source:t.source||"tool"});d&&t.inColumn&&f.scrollIntoView&&f.scrollIntoView({behavior:"smooth"})}),a}function Eo(){return l.toolbar_drag==="auto"?l.drag_handle==="drawer":!!l.toolbar_drag}function xo(){var e=A(k,"[data-ge-toolbar]");e.forEach(function(t){O(t,"ge-palette-button"),t.removeEventListener("pointerdown",Kn)}),Eo()&&e.forEach(function(t){E(t,"ge-palette-button"),t.addEventListener("pointerdown",Kn)})}function Kn(e){var t=e.currentTarget,n=e.pageX,r=e.pageY,o=null;if(e.button)return;function a(d){return Math.abs(d.pageX-n)+Math.abs(d.pageY-r)>l.drag.threshold}function u(d){if(!o){if(!a(d))return;o=E(t.cloneNode(!0),"ge-toolbar-helper"),document.body.appendChild(o),Pt(),E(c,"ge-dropping")}_e(o,{left:d.pageX-14,top:d.pageY-14}),ko(d.pageX,d.pageY)}function f(d){if(document.removeEventListener("pointermove",u),kn(document,"pointerup pointercancel",f),!!o){o.remove(),O(c,"ge-dropping"),Jt();var g=function(C){C.target!==t&&!t.contains(C.target)||(C.preventDefault(),C.stopImmediatePropagation())};window.addEventListener("click",g,{capture:!0,once:!0}),window.setTimeout(function(){window.removeEventListener("click",g,{capture:!0})},0);var h=Vn(d.pageX,d.pageY);h&&Gn(t,h)}}document.addEventListener("pointermove",u),oe(document,"pointerup pointercancel",f)}function Vn(e,t){var n=e-window.scrollX,r=t-window.scrollY,o=document.elementFromPoint(n,r);if(!o)return null;var a=Y(o,[".column",".ge-canvas"].concat(yt("regions")).join(", "));if(!a||a!==c&&!c.contains(a))return null;var u=null;return K(a,hn()).forEach(function(f){if(!u){var d=f.getBoundingClientRect();r<d.top+d.height/2&&(u=f)}}),{region:a,before:u}}function _o(e,t,n){var r=S[e.getAttribute("data-ge-feature")].toolbar[parseInt(e.getAttribute("data-ge-item"),10)],o=r.create(),a=o;if(r.inColumn)xe(t.region,".column")||(a=Yt(o));else if(!bn(t.region,o)){var u=t.region===c?[]:Jr(t.region,c).reverse().concat([t.region]),f=u[0]||null;t={region:c,before:f?f.nextElementSibling:null}}return re(r.kind,o,function(){t.before?t.before.parentNode.insertBefore(a,t.before):t.region.appendChild(a)},{parent:t.region,source:r.source||n||"dragdrop"})}function Yt(e){var t=Ue();return t.appendChild(Ce(D)).appendChild(e),t}function ko(e,t){var n=Vn(e,t);if(!n)return Jt();je||(je=v("div",{class:"ge-drop-marker"})),n.before?n.before.parentNode.insertBefore(je,n.before):n.region.appendChild(je)}function Jt(){je&&je.remove()}function Gn(e,t,n){if(e.getAttribute("data-ge-toolbar")==="feature")return _o(e,t,n);var r=e.getAttribute("data-ge-toolbar")==="container",o=e.getAttribute("data-ge-container-type"),a=r?F[o].create({}):So(e.getAttribute("data-ge-layout")),u=a;return r&&!xe(t.region,".column")&&(u=Yt(a)),re(r?o:"row",a,function(){t.before?t.before.parentNode.insertBefore(u,t.before):t.region.appendChild(u)},{parent:t.region,source:n||"dragdrop"})}function Ao(){for(var e=[],t=1;t<=D;t++)e.push(String(t));return{name:"col",values:e.concat(Sn),appliesTo:["column"],labelKey:"utility.col_width",className:function(n,r){return Le($(n),$t(r))},choices:function(){return l.valid_col_sizes.map(String)},label:function(n){return n==="equal"?m("utility.col_equal"):n==="auto"?m("utility.col_auto"):n},write:function(n,r,o,a){return qt(n,r===null?null:$t(r),a,o)},blank:function(n,r){var o=r===J?null:pt(n,$(r));return o?m("utility.col_from_row",{count:zr(o.value)}):null}}}function $t(e){return/^\d+$/.test(String(e))?parseInt(e,10):e}function So(e){return/^\s*\{/.test(e||"")?Ge(JSON.parse(e)):Ge((e||"").split(",").filter(function(t){return t!==""}).map($t))}function Ge(e){var t=Ue();if(Array.isArray(e))return e.forEach(function(r){t.appendChild(Ce(r))}),t;Object.keys(e.row_cols||{}).forEach(function(r){var o=e.row_cols[r],a=$(r);a&&Be.indexOf(String(o))!==-1&&E(t,Tn(a,o))});for(var n=0;n<(e.columns||0);n++)t.appendChild(Ce(null));return t}function To(e){return w.filter(function(t){return e&&e[t.key]!==void 0}).map(function(t){return(t.infix?t.key+": ":"")+e[t.key]}).join(", ")}function Oo(e){var t=1;return Object.keys(e.row_cols||{}).forEach(function(n){var r=e.row_cols[n];r!=="auto"&&(t=Math.max(t,parseInt(r,10)||1))}),Array.apply(null,Array(Math.min(t,e.columns||t))).map(function(){return"equal"})}function Lo(){var e=window.pageYOffset;e>Ot(k).top&&e<Ot(c).top+$r(c)?y(b,"ge-top")&&(_e(b,{left:Ot(b).left,width:ot(b)}),O(b,"ge-top"),E(b,"ge-fixed")):y(b,"ge-fixed")&&(_e(b,{left:"",width:""}),O(b,"ge-fixed"),E(b,"ge-top"))}function Mo(){var e=this;if(!e.getAttribute("data-ge-content-type")&&!de()&&St(e)){var t=$n();t.length&&(t.length===1?qn(e,t[0]):zo(e,t))}}function qn(e,t){return t.available&&!t.available()?(t.missingKey&&console.error(m(t.missingKey)),!1):q(function(){var n=te("plain",e,{source:"tool",from:"plain",to:t.type});if(!R("before-convert",n))return!1;E(e,"ge-content-type-"+t.type),e.setAttribute("data-ge-content-type",t.type);var r=e.parentElement;return y(r,"ge-text-block")&&(O(r,"ge-plain-block"),K(r,".ge-tools-drawer").forEach(function(o){o.remove()})),R("after-convert",n),t.edit(e),!0})}function zo(e,t){var n=y(e.parentElement,"ge-text-block")?e.parentElement:null;n&&Xn(T(n,".ge-tools-drawer"),t.map(function(r){return{label:r.label,title:m("tool.convert_type",{editor:r.label}),attributes:{"data-ge-content-type":r.type},choose:function(){qn(e,r)}}}),"ge-text-picker ge-convert-picker",n)}function Xn(e,t,n,r){if(de(),!!e){var o=Y(e,".ge-tools-drawer");o&&E(o,"ge-picker-open"),ee=e.appendChild(E(v("div",{class:"ge-size-picker"}),n||"")),t.forEach(function(a){var u=At(v("a",{class:"ge-size ge-size-flex"}),a.attributes||{});u.setAttribute("title",a.title||a.label),u.textContent=a.label,u.addEventListener("click",function(f){f.preventDefault(),f.stopPropagation(),de(),a.choose()}),ee.appendChild(u)}),Yn(r||e)}}function Yn(e){e.addEventListener("mouseleave",function(){window.setTimeout(function(){ee&&!ee.matches(":hover")&&de()},400)},{once:!0})}function Jn(){var e={},t=[];return Object.keys(S).forEach(function(n){var r=S[n];r.textTypes&&(r.textTypes()||[]).forEach(function(o){if(e[o.type]){e[o.type]!==n&&ne("text-type:"+o.type,'the "'+n+'" plugin declares the text type "'+o.type+'", which the "'+e[o.type]+'" plugin already declares: ignored');return}e[o.type]=n,t.push(o)})}),t}function $n(){return Jn().filter(function(e){return e.offered!==!1})}function Po(e){return Jn().some(function(t){return t.type===e})}function Qn(){Re(),ve()}function jo(){Re(),Ae(null),Q.style.height=.8*document.documentElement.clientHeight+"px",Q.value=c.innerHTML,Oe(Q),me(c),Pe=!0,se("onSourceOpen",Q)}function Zn(){se("onSourceClose",Q),Pe=!1,_t(c,Q.value),Oe(c),ve(),me(Q)}function er(){return[".column"].concat(yt("regions")).join(", ")}function Ro(e){return!!e&&e!==c&&c.contains(e)&&xe(e,er())}function Ae(e){if(e!==N){var t=N;t&&O(t,"ge-active-target"),N=e,e&&y(c,"ge-editing")&&E(e,"ge-active-target"),R("target-change",{canvas:c,target:e,from:t})}}function Qt(e,t){var n=Gn(e,{region:N,before:null},t);n&&n.scrollIntoView&&n.scrollIntoView({behavior:"smooth"})}function ve(){H&&!Te(H.node)&&ye(),ce&&ce.home&&!Te(ce.home)&&fe(),Hr(!0),E(c,"ge-editing"),z(c,"ge-drag-drawer",l.drag_handle==="drawer"),_i();var e=qi();Xi(e),Ji(e),$i(),di(),ci(),ei(),se("onInit"),Mi(),Ri(),Kr(L),qe(c),N&&!c.contains(N)?Ae(null):N&&E(N,"ge-active-target")}function Re(){ye(),O(c,"ge-editing ge-drag-drawer ge-dropping"),N&&O(N,"ge-active-target"),se("onBeforeDeinit"),de(),Jt(),fe(),A(c,".ge-tools-drawer").forEach(function(e){e.remove()}),ct.clear(),Qi(),se("onDeinit"),on(c),A(c,"[data-ge-row-cols]").forEach(function(e){e.removeAttribute("data-ge-row-cols")}),ti(),Bi(),Ni(),Hr(!1)}function tr(){Re(),tt(c);var e=c.innerHTML;return ve(),e}function Io(e){Re(),tt(e);var t=e.outerHTML;return ve(),t}function Do(){return On(tr())}function No(){Pe&&Zn(),Re(),N=null,Rn(),kr(),Tr(),Hn(),Q.remove(),Ft.abort(),zt.delete(c),zn=!0}function Fo(){var e=Uo();en("grid",{},Ao()),l.row_cols!==!1&&en("grid",{},Ti());var t=function(r){return!l.plugins||l.plugins.indexOf(r)!==-1},n=function(r,o){return o.always===!0||t(r)};Object.keys(x.containers).forEach(function(r){t(r)&&(F[r]=x.containers[r](e))}),Object.keys(x.features).forEach(function(r){var o=x.features[r];n(r,o)&&(S[r]=o(e))}),Object.keys(x.utilities).forEach(function(r){t(r)&&(X[r]=x.utilities[r](e),(X[r].families||[]).forEach(function(o){en(r,X[r],o)}))}),Object.keys(S).forEach(function(r){var o=S[r].methods||{};Object.keys(o).forEach(function(a){Xe[a]=o[a]})}),(l.plugins||[]).forEach(function(r){F[r]||S[r]||X[r]||ne("plugin:"+r,'the "'+r+'" plugin is not loaded: include dist/plugins/grideditor.'+r+".js after the editor")})}function se(e,t){[F,S,X].forEach(function(n){Object.keys(n).forEach(function(r){n[r][e]&&n[r][e](t)})})}function Uo(){return{canvas:c,settings:l,t:m,warn:U,containerId:Qo,defaultRegion:Zo,createTool:I,createMoveTool:Se,addSettingsTool:Ze,deleteNode:ke,place:Et,createPaneControls:ri,makeLabelEditable:oi,labelIn:ii,unwrapLabels:ai,suspendToggles:gr,resumeToggles:pr,emit:R,payloadFor:te,operate:q,kindOf:le,view:xn,viewTiers:function(){return ro(L).map(function(e){return e.key})},breakpoints:w.map(function(e){return e.key}),getUtility:sr,setUtility:rn,utilityField:$o,bareStyle:Ko,hostStyle:ur,setHostStyle:Yo,openDialog:Sr,closeDialog:fe,rowFromLayout:Ge,nodeHtml:Io,textReady:po,attachPicker:hr,openPicker:Xn,closePicker:de,detailsOf:xr,drawerOf:Wo,toolbarItems:function(e){return k?A(k,'[data-ge-toolbar="feature"][data-ge-feature="'+e+'"]'):[]}}}function Wo(e){if(y(e,"ge-content")){var t=e.parentElement;return y(t,"ge-text-block")?T(t,".ge-tools-drawer"):null}return T(e,".ge-tools-drawer")}var he={},Ho=".row, .column, .ge-content, .ge-element, [data-ge-container]",Ie="data-ge-preview",Zt=!1;function en(e,t,n){var r=n.name||n.prefix;if(he[r]){U('the "'+e+'" plugin declares the utility "'+r+'", which the "'+he[r].plugin+'" plugin already declared: ignored');return}he[r]={plugin:e,family:Object.assign({},n,{name:r,values:n.values.map(String),appliesTo:n.appliesTo||t.appliesTo||["row","column"]})}}function dt(e,t){return he[e]?he[e].family:(ne("utility:"+e,t+"("+JSON.stringify(e)+"): no loaded plugin declares that utility"),null)}function nr(e,t){return t==="plain"&&(t="text"),e.appliesTo.indexOf(t)!==-1?!0:!!F[t]&&e.appliesTo.indexOf("container")!==-1}function rr(e){return Object.keys(he).map(function(t){return he[t].family}).filter(function(t){return nr(t,e)})}function tn(e,t,n){return e.className?e.className(t.key,n):e.prefix+(t.infix?"-"+t.infix:"")+"-"+n}function be(e,t,n){for(var r=(e.getAttribute("class")||"").split(/\s+/),o=0;o<t.values.length;o++)if(r.indexOf(tn(t,n,t.values[o]))!==-1)return t.values[o];return null}function or(e,t,n){for(var r=w.indexOf(n)-1;r>=0;r--){var o=be(e,t,w[r]);if(o!==null)return{tier:w[r],value:o}}return null}function ir(e,t,n){var r=be(e,t,n);if(r!==null)return r;var o=or(e,t,n);return o?o.value:null}function nn(e,t){return w.map(function(n){return{tier:n,value:be(e,t,n)}}).filter(function(n){return n.value!==null})}function ar(e,t,n,r){t.values.forEach(function(o){O(e,tn(t,n,o))}),r!==null&&E(e,tn(t,n,r)),kt(e)}function lr(e,t,n){return n===J?be(e,t,w[0]):ir(e,t,$(n))}function Bo(e,t,n,r){if(n!==J){var o=$(n);return be(e,t,o)===r?null:{writes:[{tier:o,value:r}],cleared:[]}}var a=[],u=[];return nn(e,t).forEach(function(f){f.tier!==w[0]&&(a.push({tier:f.tier,value:null}),u.push({breakpoint:f.tier.key,value:f.value}))}),be(e,t,w[0])!==r&&a.unshift({tier:w[0],value:r}),a.length?{writes:a,cleared:u}:null}function sr(e,t,n){e=ge(e);var r=dt(t,"getUtility");if(!r||!e)return null;var o=n===void 0?L:En(n);return o===null?(U("getUtility("+JSON.stringify(n)+"): no such layout mode"),null):lr(e,r,o)}function rn(e,t,n,r){r=typeof r=="string"?{view:r}:r||{},e=ge(e);var o=dt(t,"setUtility");if(!o||!e)return!1;var a=r.view===void 0?L:En(r.view);if(a===null)return U("setUtility("+JSON.stringify(r.view)+"): no such layout mode"),!1;if(n=n==null||n===""?null:String(n),n!==null&&o.values.indexOf(n)===-1)return U("setUtility: "+JSON.stringify(n)+' is not a value of "'+t+'", which takes '+JSON.stringify(o.values)),!1;var u=le(e);if(!nr(o,u))return U('setUtility: "'+t+'" does not apply to a '+u),!1;if(o.write)return o.write(e,n,a,r.source||"api");var f=Bo(e,o,a,n);return f?q(function(){var d=te(u,e,{family:t,breakpoint:a,tiers:f.writes.map(function(g){return g.tier.key}),from:lr(e,o,a),to:n,cleared:f.cleared,source:r.source||"api"});return R("before-utility",d)?(f.writes.forEach(function(g){ar(e,o,g.tier,g.value)}),ue(e),R("after-utility",d),!0):(ue(e),!1)}):!1}function Ko(e,t,n){var r=dt(t,"bareStyle");if(e=ge(e),!r||!e)return null;var o=e.getAttribute("class");w.forEach(function(u){ar(e,r,u,null)});var a=getComputedStyle(e).getPropertyValue(n);return o===null?e.removeAttribute("class"):e.setAttribute("class",o),a}function ue(e){var t=xr(e);if(t){var n=M(t,".ge-classes");n&&(n.value=dn(e).join(" ")),K(t,".ge-utilities").forEach(function(r){an(r)})}cr(e),qe(e)}function Vo(e){return Ee(e,Ho)}function qe(e){on(e),L!==J&&Go(e,$(L)),Si(e),se("onRefresh",e)}function Go(e,t){Vo(e).forEach(function(n){var r=le(n),o={};rr(r).forEach(function(a){!a.preview||!nn(n,a).length||Object.assign(o,a.preview(ir(n,a,t),n,r))}),r==="column"&&Object.assign(o,Ai(n,t)),Object.keys(X).forEach(function(a){var u=X[a];u.preview&&Object.assign(o,u.preview(n,r,t.key))}),Object.keys(o).length&&qo(n,o)})}function qo(e,t){var n=e.style,r={};Object.keys(t).forEach(function(o){r[o]=[n.getPropertyValue(o),n.getPropertyPriority(o)],n.setProperty(o,String(t[o]),"important")}),e.setAttribute(Ie,JSON.stringify(r))}function on(e){Ee(e,"["+Ie+"]").forEach(function(t){var n=t.style,r={};try{r=JSON.parse(t.getAttribute(Ie))||{}}catch(o){}Object.keys(r).forEach(function(o){var a=r[o];a&&a[0]?n.setProperty(o,a[0],a[1]):n.removeProperty(o)}),t.removeAttribute(Ie),rt(t)})}function Xo(e){var t=document.createElement("div"),n={};t.style.cssText=e.style.cssText;try{n=JSON.parse(e.getAttribute(Ie))||{}}catch(r){}return Object.keys(n).forEach(function(r){var o=n[r];o&&o[0]?t.style.setProperty(r,o[0],o[1]):t.style.removeProperty(r)}),t.style}function ur(e,t){var n=Xo(e);return t===void 0?n.cssText:{value:n.getPropertyValue(t),priority:n.getPropertyPriority(t)}}function Yo(e,t,n,r){if(n=n==null?"":String(n).trim(),r===void 0&&(r=ur(e,t).priority),n!==""){var o=document.createElement("div").style;if(o.setProperty(t,n,r||""),o.getPropertyValue(t)==="")return!1}var a=e.hasAttribute(Ie);return a&&on(e),n===""?e.style.removeProperty(t):e.style.setProperty(t,n,r||""),rt(e),a&&qe(e),!0}function Jo(e){var t=le(e),n=rr(t).filter(function(u){return u.panel!==!1}).map(function(u){return dr(e,u)});if(Object.keys(X).forEach(function(u){var f=X[u],d=f.panel?f.panel(e,t):null;d&&n.push(d)}),!n.length)return null;var r=z(v("div",{class:"ge-utilities"}),"ge-open",Zt);jn.set(r,e);var o=r.appendChild(v("a",{class:"ge-utilities-toggle"}));o.addEventListener("click",function(){Zt=!y(r,"ge-open"),_r().forEach(function(u){A(u,".ge-utilities").forEach(function(f){z(f,"ge-open",Zt)})})});var a=r.appendChild(v("div",{class:"ge-utilities-body"}));return n.forEach(function(u){a.appendChild(u)}),an(r),r}function dr(e,t){var n=v("label",{class:"ge-utility","data-ge-family":t.name});n.appendChild(v("span",{class:"ge-utility-label"},t.labelKey?m(t.labelKey):t.name));var r=n.appendChild(v("select",{class:"form-select form-select-sm"}));return r.addEventListener("change",function(){rn(e,t.name,this.value,{source:"panel"})}),n.appendChild(v("small",{class:"ge-utility-note"})),n}function $o(e,t){var n=dt(t,"utilityField");if(!n)return null;var r=dr(e,n);return ln(r,e),ct.set(r,e),r}var ct=new Map;function cr(e){ct.forEach(function(t,n){if(!n.isConnected){ct.delete(n);return}e&&t!==e||Y(n,".ge-utilities")||ln(n,t)})}function an(e){var t=jn.get(e);K(e,".ge-utilities-toggle").forEach(function(n){n.textContent=m("utility.section",{view:m(at(L))})}),A(e,".ge-utility").forEach(function(n){ln(n,t)})}function ln(e,t){var n=he[e.getAttribute("data-ge-family")].family,r=T(e,"select"),o=n.choices?n.choices(t,le(t)):n.values,a,u,f="";if(r.innerHTML="",L===J){a=be(t,n,w[0]),u=m("utility.default");var d=nn(t,n).filter(function(P){return P.tier!==w[0]});d.length&&(f=m("utility.varies",{breakpoints:d.map(function(P){return P.tier.key}).join(", ")}))}else{var g=$(L),h=or(t,n,g);a=be(t,n,g),u=h?m("utility.inherit",{value:fr(n,h.value),breakpoint:h.tier.key}):m("utility.default");var C=n.blank?n.blank(t,L):null;C&&a===null&&(u=C)}a!==null&&o.indexOf(a)===-1&&(o=o.concat([a])),r.appendChild(v("option",{value:""},u)),o.forEach(function(P){r.appendChild(v("option",{value:P},fr(n,P)))}),r.value=a===null?"":a;var _=T(e,".ge-utility-note");_.textContent=f,_n(_,f!=="")}function fr(e,t){return e.label?e.label(t):t}var F={},S={},X={},Xe={},mr=0;function Qo(e){return mr++,"ge-"+e+"-"+mr+"-"+Math.random().toString(36).slice(2,6)}function Zo(){var e=Ue();return e.appendChild(Ce(D)),e}function De(e){return e?e.getAttribute("data-ge-container"):null}function ei(){A(c,"[data-ge-container]").forEach(function(e){var t=De(e),n=F[t];if(!n){ne("container:"+t,'unknown container type "'+t+'"');return}E(e,"ge-container ge-container-"+t),n.mark(e),T(e,".ge-tools-drawer")||ni(e,t,n)})}function ti(){A(c,"[data-ge-container]").forEach(function(e){var t=F[De(e)];t&&t.unmark(e),O(e,"ge-container ge-container-"+De(e)),kt(e)})}function Ne(e,t){var n=v("div",{class:t});return e.insertBefore(n,e.firstChild),n}function ft(e,t){(t||[]).forEach(function(n){I(e,n.title||"",n.className||"",n.iconClass||"bi bi-wrench",n.on)})}function ni(e,t,n){var r=Ne(e,"ge-tools-drawer ge-container-drawer");Se(r),Ze(r,e,l.container_classes),ft(r,l.container_tools),n.tools&&n.tools(r,e),I(r,m("tool.delete_container"),"ge-delete-container","bi bi-trash",function(){ke(t,e,m("confirm.delete_container"),function(o){it(e,o)})}),n.addPane&&I(r,m(n.addPaneKey),"ge-add-pane","bi bi-plus-circle",function(){var o=n.addPane(e,{});re(n.paneKind,o,function(){},{parent:e,source:"tool",container:e})})}function ri(e,t,n,r,o){var a=Ne(e,"ge-tools-drawer ge-pane-drawer");return Se(a),Ze(a,e,l.pane_classes),ft(a,n),I(a,m("tool.delete_pane"),"ge-delete-pane","bi bi-trash",function(){ke(t,e,r,function(u){o(u)})}),a}function gr(e){e&&Ee(e,"[data-bs-toggle], [data-bs-dismiss]").forEach(function(t){["toggle","dismiss"].forEach(function(n){var r=t.getAttribute("data-bs-"+n);r!==null&&(t.setAttribute("data-ge-bs-"+n,r),t.removeAttribute("data-bs-"+n))})})}function pr(e){e&&Ee(e,"[data-ge-bs-toggle], [data-ge-bs-dismiss]").forEach(function(t){["toggle","dismiss"].forEach(function(n){var r=t.getAttribute("data-ge-bs-"+n);r!==null&&(t.setAttribute("data-bs-"+n,r),t.removeAttribute("data-ge-bs-"+n))})})}function oi(e){if(!Nt.has(e)){var t=Y(e,"[data-bs-toggle], [data-ge-bs-toggle]");Nt.add(e),e.setAttribute("title",m("tool.rename")),e.addEventListener("dblclick",function(n){n.preventDefault(),n.stopPropagation(),gr(t),e.setAttribute("contenteditable","true"),e.focus(),window.getSelection().selectAllChildren(e)}),e.addEventListener("keydown",function(n){e.getAttribute("contenteditable")==="true"&&n.key==="Enter"&&(n.preventDefault(),e.blur())}),e.addEventListener("blur",function(){e.removeAttribute("contenteditable"),pr(t)})}}function ii(e){var t=T(e,".ge-pane-label");return t||(t=v("span",{class:"ge-pane-label"},e.textContent.trim()),e.innerHTML="",e.appendChild(t)),t}function ai(e){A(e,".ge-pane-label").forEach(function(t){Nt.delete(t),Mt(t)})}function vr(e,t){var n=Ce(t);return re("column",n,function(){e.appendChild(n)},{parent:e,source:"tool"})}function li(e,t){!l.add_column.picker||!e||hr(e,function(){si(e,t)})}function hr(e,t){var n=null,r=function(){window.clearTimeout(n),n=null};oe(e,"mouseenter mousedown",function(){n||ee||(n=window.setTimeout(function(){n=null,t()},l.add_column.delay))}),oe(e,"mouseleave mouseup",r)}function si(e,t){de();var n=vn(t,we()),r=Y(e,".ge-tools-drawer");r&&E(r,"ge-picker-open"),ee=e.appendChild(v("div",{class:"ge-size-picker"})),l.valid_col_sizes.forEach(function(o){var a=v("a",{class:"ge-size","data-ge-size":o,title:ui(o)},G(o)?o:Le(w[0],o));z(a,"ge-size-tight",G(o)&&o>n),z(a,"ge-size-flex",!G(o)),a.addEventListener("click",function(u){u.preventDefault(),u.stopPropagation(),de(),vr(t,o)}),ee.appendChild(a)}),Yn(e)}function ui(e){return e==="equal"?m("tool.column_equal"):e==="auto"?m("tool.column_auto"):m("tool.column_size",{size:e})}function de(){if(!ee)return!1;var e=Y(ee,".ge-tools-drawer");return e&&O(e,"ge-picker-open"),ee.remove(),ee=null,!0}function di(){A(c,".row").forEach(function(e){if(!T(e,".ge-tools-drawer")){var t=Ne(e,"ge-tools-drawer");Se(t),Ze(t,e,l.row_classes),ft(t,l.row_tools),I(t,m("tool.delete_row"),"ge-delete-row","bi bi-trash",function(){ke("row",e,m("confirm.delete_row"),function(n){it(e,n)})}),I(t,m("tool.add_column"),"ge-add-column","bi bi-plus-circle",function(){de()||vr(e,et(e,we())?null:l.add_column.size)}),li(T(t,".ge-add-column"),e)}})}function ci(){A(c,".column").forEach(function(e){if(!T(e,".ge-tools-drawer")){var t=Ne(e,"ge-tools-drawer");Se(t),l.resize.tools!==!1&&(I(t,m("tool.column_narrower"),"ge-decrease-col-width","bi bi-dash-lg",function(n){qt(e,n.shiftKey?Qe(l.valid_col_sizes):mt(l.valid_col_sizes.filter(G),Je(e),-1),"tool")}),I(t,m("tool.column_wider"),"ge-increase-col-width","bi bi-plus-lg",function(n){qt(e,n.shiftKey?fi(e):mt(l.valid_col_sizes.filter(G),Je(e),1),"tool")})),l.indent.tools!==!1&&(I(t,m("tool.indent_decrease"),"ge-decrease-col-offset","bi bi-text-indent-right",function(n){Dn(e,n.shiftKey?Qe(l.valid_col_offsets):mt(l.valid_col_offsets,$e(e),-1),"tool")}),I(t,m("tool.indent_increase"),"ge-increase-col-offset","bi bi-text-indent-left",function(n){Dn(e,n.shiftKey?mi(e):mt(l.valid_col_offsets,$e(e),1),"tool")})),Ze(t,e,l.col_classes),ft(t,l.col_tools),I(t,m("tool.delete_column"),"ge-delete-column","bi bi-trash",function(){ke("column",e,m("confirm.delete_column"),function(n){eo(e,400,n,!0)})}),I(t,m("tool.add_row"),"ge-add-row","bi bi-plus-circle",function(){var n=Ue();re("row",n,function(){e.appendChild(n)},{parent:e,source:"tool"})})}})}function we(){return L===J?w[w.length-1]:$(L)}function Ye(e){var t=we();if(pt(e,t))return null;var n=gn(e,t);return n===null?D:n}function Je(e){var t=Ye(e);if(G(t))return t;var n=Math.round(ot(e)/br(e.parentElement)*D);return Math.min(Math.max(n,1),D)}function br(e){var t=window.getComputedStyle(e);return e.clientWidth-parseFloat(t.paddingLeft)-parseFloat(t.paddingRight)}function $e(e){return ht(e,we())||0}function mt(e,t,n){var r=e.indexOf(t);return r===-1?e.reduce(function(o,a){return Math.abs(a-t)<Math.abs(o-t)?a:o},e[0]):e[Math.min(Math.max(r+n,0),e.length-1)]}function Qe(e){return e.filter(G).reduce(function(t,n){return Math.min(t,n)},D)}function sn(e){return e.filter(G).reduce(function(t,n){return Math.max(t,n)},0)}function fi(e){var t=vn(e.parentElement,we(),e)-$e(e);return Math.min(sn(l.valid_col_sizes),Math.max(t,1))}function mi(e){var t=vn(e.parentElement,we(),e)-Je(e);return Math.min(sn(l.valid_col_offsets),Math.max(t,0))}function Se(e){return l.drag_handle==="drawer"?null:I(e,m("tool.move"),"ge-move","bi bi-arrows-move")}var un=".ge-tools-drawer:not(.ge-text-drawer):not(.ge-pane-drawer):not(.ge-code-inline)";function gi(){if(l.drawer_overflow==="wrap"||!window.ResizeObserver||!window.MutationObserver)return;var e=new Set,t=null;function n(u){e.add(u),t===null&&(t=window.requestAnimationFrame(r))}function r(){t=null;var u=Array.from(e);e.clear(),u.forEach(function(f){if(!f.isConnected){o.unobserve(f);return}pi(f)})}var o=new window.ResizeObserver(function(u){u.forEach(function(f){n(f.target)})}),a=new window.MutationObserver(function(u){u.forEach(function(f){var d=f.target;if(f.type==="attributes"){var g=d.parentNode;g&&g.nodeType===1&&g.matches(un)&&n(g);return}if(d.nodeType===1&&d.matches(un)){n(d);return}f.addedNodes.forEach(function(h){h.nodeType===1&&Ee(h,un).forEach(function(C){E(C,"ge-drawer-fit"),o.observe(C),n(C)})})})});a.observe(c,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["style"]}),Ft.signal.addEventListener("abort",function(){a.disconnect(),o.disconnect(),t!==null&&window.cancelAnimationFrame(t)})}function pi(e){var t=K(e,"a").filter(function(o){return!y(o,"ge-drawer-more")}),n=y(e,"ge-drawer-expanded");if(O(e,"ge-drawer-overflow ge-drawer-expanded"),t.forEach(function(o){O(o,"ge-tool-overflow")}),!!wr(e,t)){E(e,"ge-drawer-overflow"),T(e,".ge-drawer-more")||I(e,m("tool.more"),"ge-drawer-more","bi bi-three-dots",function(){z(e,"ge-drawer-expanded")});for(var r=t.length-1;r>=0&&wr(e,t);r--)E(t[r],"ge-tool-overflow");z(e,"ge-drawer-expanded",n)}}function wr(e,t){var n=window.getComputedStyle(e),r=e.getBoundingClientRect().right-parseFloat(n.borderRightWidth)-parseFloat(n.paddingRight);return t.some(function(o){var a=o.getClientRects();return a.length>0&&a[0].right>r+.5})}function I(e,t,n,r,o){var a=v("a",{title:t,class:n});return a.appendChild(v("i",{class:r})),e.appendChild(a),typeof o=="function"&&a.addEventListener("click",o),o&&typeof o=="object"&&Object.keys(o).forEach(function(u){oe(a,u,o[u])}),a}function dn(e){return(e.getAttribute("class")||"").split(/\s+/).filter(function(t){return t!==""&&!vi(t)})}function vi(e){return e==="row"||e==="column"||/^(ge-|ui-)/.test(e)||/^col(-(sm|md|lg|xl|xxl))?(-auto)?$/.test(e)?!0:w.some(function(t){return new RegExp("^("+t.colPrefix+"|"+t.offsetPrefix+")\\d+$").test(e)})}function hi(e,t){dn(e).forEach(function(n){O(e,n)}),t.split(/\s+/).forEach(function(n){n!==""&&E(e,n)}),kt(e)}function Ze(e,t,n){var r=bi(t,n||[]);Pn.set(t,r),I(e,m("tool.settings"),"ge-settings","bi bi-gear-fill",function(){yi(t,r,this)});var o=le(t);return Object.keys(X).forEach(function(a){X[a].drawerTools&&X[a].drawerTools(e,t,o)}),Object.keys(S).forEach(function(a){S[a].drawerTools&&S[a].drawerTools(e,t,o)}),e.appendChild(r)}function bi(e,t){var n=v("div",{class:"ge-details"});n.appendChild(yr(m("panel.section_general")));var r=n.appendChild(v("div",{class:"ge-details-general"})),o=function(g){var h=v("label",{class:"ge-field"});return h.appendChild(v("span",{class:"ge-field-label"},g)),r.appendChild(h)},a=v("input",{class:"ge-id form-control form-control-sm",placeholder:m("tool.id_placeholder"),title:m("tool.id_title")});a.value=e.getAttribute("id")||"",o(m("panel.id")).appendChild(a),a.addEventListener("change",function(){this.value===""?e.removeAttribute("id"):e.setAttribute("id",this.value)});var u=v("input",{class:"ge-classes form-control form-control-sm",placeholder:m("tool.classes_placeholder"),title:m("tool.classes_title")});u.value=dn(e).join(" "),o(m("panel.classes")).appendChild(u),u.addEventListener("change",function(){hi(e,this.value),ue(e)});var f=r.appendChild(v("div",{class:"btn-group btn-group-sm ge-presets",role:"group"}));t.forEach(function(g){var h=y(e,g.cssClass),C=v("a",{role:"button",class:"btn btn-sm btn-outline-secondary",title:g.title?g.title:m("tool.toggle_class",{label:g.label}),"aria-pressed":h?"true":"false"});C.innerHTML=g.label,z(C,"active",h),C.addEventListener("click",function(){z(C,"active"),C.setAttribute("aria-pressed",y(C,"active")?"true":"false"),z(e,g.cssClass,y(C,"active")),ue(e)}),f.appendChild(C)}),wi(e).forEach(function(g){n.appendChild(g)});var d=Jo(e);return d&&n.appendChild(d),n}function yr(e){return v("h6",{class:"ge-section-title"},e)}function wi(e){var t=le(e),n=Er(),r=[];return[F,S,X].forEach(function(o){Object.keys(o).forEach(function(a){var u=o[a],f=u.panelSection?u.panelSection(e,t):null;if(!(!f||!f.body)){var d=v("div",{class:"ge-panel-section","data-ge-plugin":a});if(n==="offcanvas"||n==="modal")d.appendChild(yr(m(f.labelKey))),d.appendChild(f.body);else{var g=m(f.labelKey),h=d.appendChild(v("button",{type:"button",class:"btn btn-sm btn-outline-secondary ge-panel-section-open"},g));me(f.body),d.appendChild(f.body),h.addEventListener("click",function(){Sr(f.titleKey?m(f.titleKey,{kind:Or(e)}):g,f.body,h)})}r.push(d)}})}),r}var Cr=["offcanvas","popover","modal","inline"],B={},H=null,gt=new WeakMap;function Er(){return Cr.indexOf(l.settings_panel)!==-1?l.settings_panel:(ne("settings_panel",'settings_panel "'+l.settings_panel+'" is not one of '+Cr.join(", ")+": using offcanvas"),"offcanvas")}function xr(e){return e&&Pn.get(e)||null}function _r(){return H&&H.mode!=="inline"?[c,H.details]:[c]}function yi(e,t,n){var r=Er();if(r==="inline"){_n(t);return}var o=H&&H.details===t;ye(),o||Ci(r,e,t,n)}function Ci(e,t,n,r){var o=Ei(e),a=new AbortController;H={mode:e,node:t,details:n,home:n.parentElement,next:n.nextElementSibling,gear:r,listening:a},M(o,".ge-settings-title").textContent=m("panel.title",{kind:Or(t)}),M(o,".ge-settings-body").appendChild(n),Oe(n),E(t,"ge-settings-target");var u={signal:a.signal};if(document.addEventListener("keydown",function(d){d.key==="Escape"&&!ce&&ye()},u),e==="offcanvas"){var f=window.innerWidth<576;z(o,"offcanvas-end",!f),z(o,"offcanvas-bottom",f),O(o,"hiding"),o.getBoundingClientRect(),E(o,"show")}else e==="popover"?(cn(o,r),oe(window,"scroll resize",function(){cn(o,r)},u),window.ResizeObserver&&(H.observer=new window.ResizeObserver(function(){cn(o,r)}),H.observer.observe(n)),oe(document,"mousedown touchstart",function(d){!ce&&!o.contains(d.target)&&!r.contains(d.target)&&ye()},u)):fn(o,function(){H&&H.mode==="modal"&&ye()})}function ye(){fe();var e=H;if(e){H=null;var t=B[e.mode];e.listening.abort(),e.observer&&e.observer.disconnect(),e.mode==="offcanvas"?(O(t,"show"),E(t,"hiding"),window.setTimeout(function(){O(t,"hiding")},300)):e.mode==="popover"?me(t):mn(t),O(e.node,"ge-settings-target"),e.details.style.removeProperty("display"),rt(e.details),e.home&&Te(e.home)?e.next&&e.next.parentElement===e.home?e.home.insertBefore(e.details,e.next):e.home.appendChild(e.details):e.details.remove()}}function Ei(e){if(B[e])return B[e];var t=function(){return v("button",{type:"button",class:"btn-close ge-settings-close","aria-label":m("panel.close")})},n;return e==="offcanvas"?(n=V('<div class="offcanvas offcanvas-end ge-settings-panel ge-settings-offcanvas" tabindex="-1" role="dialog"><div class="offcanvas-header"><h5 class="offcanvas-title ge-settings-title"></h5></div><div class="offcanvas-body ge-settings-body"></div></div>'),M(n,".offcanvas-header").appendChild(t())):e==="popover"?(n=V('<div class="popover bs-popover-bottom ge-settings-panel ge-settings-popover" role="dialog"><div class="popover-arrow"></div><div class="popover-header"><span class="ge-settings-title"></span></div><div class="popover-body ge-settings-body"></div></div>'),M(n,".popover-header").appendChild(t()),me(n)):(n=V('<div class="modal fade ge-settings-panel ge-settings-modal" tabindex="-1" role="dialog" aria-hidden="true"><div class="modal-dialog modal-dialog-centered modal-dialog-scrollable"><div class="modal-content"><div class="modal-header"><h5 class="modal-title ge-settings-title"></h5></div><div class="modal-body ge-settings-body"></div><div class="modal-footer"></div></div></div></div>'),M(n,".modal-header").appendChild(t()),M(n,".modal-footer").appendChild(v("button",{type:"button",class:"btn btn-primary ge-settings-close"},m("panel.done")))),He(n,"click",".ge-settings-close",function(r){r.preventDefault(),ye()}),B[e]=document.body.appendChild(n),n}function kr(){ye(),Object.keys(B).forEach(function(e){e==="modal"?Ht(B[e]):B[e].remove()}),Object.keys(B).forEach(function(e){Ar(B[e])}),B={}}function cn(e,t){if(Te(t)){Oe(e);var n=t.getBoundingClientRect(),r=8,o=T(e,".popover-body");o.style.removeProperty("max-height");var a=ot(e),u=Tt(e),f=window.innerHeight-n.bottom-2*r,d=n.top-2*r,g=u<=f||f>=d,h=g?f:d;u>h&&(_e(o,{"max-height":Math.max(120,h-(u-Tt(o)))}),u=Tt(e));var C=g?n.bottom+r:n.top-r-u,_=Math.max(r,Math.min(n.left+n.width/2-24,window.innerWidth-a-r));z(e,"bs-popover-bottom",g),z(e,"bs-popover-top",!g),_e(e,{top:C+window.pageYOffset,left:_+window.pageXOffset}),_e(T(e,".popover-arrow"),{left:Math.max(r,Math.min(n.left+n.width/2-_-8,a-24))})}}function fn(e,t){var n=lt(),r=gt.get(e);if(r||(r={wanted:null,busy:!1,backdrop:null,dismissed:t},gt.set(e,r)),r.dismissed=t,!n){r.backdrop||(r.backdrop=v("div",{class:"modal-backdrop fade show ge-settings-backdrop"}),r.backdrop.addEventListener("click",function(){r.dismissed()}),document.body.appendChild(r.backdrop)),E(e,"show"),e.style.display="block",e.removeAttribute("aria-hidden");return}var o=n.getOrCreateInstance(e);r.watched||(r.watched=!0,In(e),e.addEventListener("hide.bs.modal",function(){r.wanted==="open"&&(r.wanted="closed",r.busy=!0)}),e.addEventListener("shown.bs.modal",function(){r.busy=!1,r.wanted==="closed"&&mn(e)}),e.addEventListener("hidden.bs.modal",function(){r.busy=!1,r.wanted==="open"?fn(e,r.dismissed):r.dismissed()})),r.wanted="open",r.busy||(r.busy=!0,o.show())}function mn(e){var t=lt(),n=gt.get(e);if(n){if(n.wanted="closed",!t){n.backdrop&&(n.backdrop.remove(),n.backdrop=null),O(e,"show"),e.style.removeProperty("display"),e.setAttribute("aria-hidden","true");return}!n.busy&&y(e,"show")&&(n.busy=!0,t.getOrCreateInstance(e).hide())}}function Ar(e){var t=gt.get(e);t&&t.backdrop&&(t.backdrop.remove(),t.backdrop=null)}var Z=null,ce=null;function xi(){return Z||(Z=V('<div class="modal fade ge-dialog" tabindex="-1" role="dialog" aria-hidden="true"><div class="modal-dialog modal-dialog-centered modal-dialog-scrollable"><div class="modal-content"><div class="modal-header"><h5 class="modal-title ge-dialog-title"></h5></div><div class="modal-body ge-dialog-body"></div><div class="modal-footer"></div></div></div></div>'),M(Z,".modal-header").appendChild(v("button",{type:"button",class:"btn-close ge-dialog-close","aria-label":m("panel.close")})),M(Z,".modal-footer").appendChild(v("button",{type:"button",class:"btn btn-primary ge-dialog-close"},m("panel.done"))),He(Z,"click",".ge-dialog-close",function(e){e.preventDefault(),fe()}),document.body.appendChild(Z))}function Sr(e,t,n){fe();var r=xi(),o=new AbortController;ce={body:t,home:t.parentElement,next:t.nextElementSibling,opener:n||document.activeElement,listening:o},M(r,".ge-dialog-title").textContent=e,M(r,".ge-dialog-body").appendChild(t),Oe(t),lt()||document.addEventListener("keydown",function(a){a.key==="Escape"&&fe()},{signal:o.signal}),Object.keys(B).forEach(function(a){E(B[a],"ge-under-dialog")}),fn(r,function(){fe()})}function fe(){var e=ce;e&&(ce=null,e.listening.abort(),mn(Z),Object.keys(B).forEach(function(t){O(B[t],"ge-under-dialog")}),me(e.body),e.home&&Te(e.home)?e.next&&e.next.parentElement===e.home?e.home.insertBefore(e.body,e.next):e.home.appendChild(e.body):e.body.remove(),e.opener&&Te(e.opener)&&e.opener.focus&&e.opener.focus())}function Tr(){fe(),Z&&(Ar(Z),Ht(Z),Z=null)}function Or(e){var t=le(e);if(F[t]&&F[t].labelKey)return m(F[t].labelKey);switch(t){case"row":return m("panel.kind_row");case"column":return m("panel.kind_column");case"text":return m("panel.kind_text");case"element":return m("panel.kind_element");case"section":return m("panel.kind_section");case"tab":return m("panel.kind_tab");case"accordion-item":return m("panel.kind_accordion_item");default:return t}}function _i(){A(c,'.column, div[class*="col-"], div.col').forEach(function(e){E(e,"column"),!(Oi(e).length||Lr(e.parentElement))&&bt(e,w[0],D)})}function Lr(e){return y(e,"row")&&w.some(function(t){return Be.some(function(n){return y(e,Tn(t,n))})})}function et(e,t){if(!y(e,"row"))return null;for(var n=w.indexOf(t);n>=0;n--)for(var r=0;r<Be.length;r++)if(y(e,Tn(w[n],Be[r])))return{tier:n,value:Be[r]};return null}function Mr(e,t){for(var n=w.indexOf(t);n>=0;n--){var r=Fe(e,w[n]);if(r!==null)return{tier:n,size:r}}return null}function pt(e,t){var n=et(e.parentElement,t);if(!n)return null;var r=Mr(e,t);return!r||n.tier>r.tier||n.tier===r.tier&&r.size==="equal"?n:null}function ki(e){return e.value==="auto"?0:D/parseInt(e.value,10)}function Ai(e,t){var n=pt(e,t);return n?{flex:"0 0 auto",width:n.value==="auto"?"auto":100/parseInt(n.value,10)+"%","max-width":"100%"}:Lr(e.parentElement)&&!Mr(e,t)?{flex:"0 0 auto",width:"100%","max-width":"100%"}:{}}function Si(e){Ee(e,".row").forEach(function(t){var n=l.row_cols===!1?null:L===J?et(t,w[0])||null:et(t,$(L));n?t.setAttribute("data-ge-row-cols",zr(n.value)):t.removeAttribute("data-ge-row-cols")})}function zr(e){return e==="auto"?m("badge.row_cols_auto"):m("badge.row_cols",{count:e})}function Ti(){return{name:"row-cols",prefix:"row-cols",values:Be,appliesTo:["row"],labelKey:"utility.row_cols"}}function Fe(e,t){var n=jr(e,t.colPrefix);return n!==null?n:y(e,Le(t,"auto"))?"auto":y(e,Le(t,"equal"))?"equal":null}function vt(e,t){return jr(e,t.offsetPrefix)}function gn(e,t){return Pr(e,t,Fe)}function ht(e,t){return Pr(e,t,vt)}function Pr(e,t,n){for(var r=w.indexOf(t);r>=0;r--){var o=n(e,w[r]);if(o!==null)return o}return null}function jr(e,t){var n=new RegExp("(?:^|\\s)"+t+"(\\d+)(?:\\s|$)").exec(e.getAttribute("class")||"");return n?parseInt(n[1],10):null}function Rr(e,t,n){var r=(e.getAttribute("class")||"").split(/\s+/).filter(function(o){return o!==""&&!new RegExp("^"+t+"\\d+$").test(o)});n!==null&&r.push(t+n),e.setAttribute("class",r.join(" "))}function bt(e,t,n){Rr(e,t.colPrefix,null),Sn.forEach(function(r){O(e,Le(t,r))}),n!=null&&E(e,Le(t,n))}function pn(e,t,n){Rr(e,t.offsetPrefix,n||null)}function Oi(e){return w.filter(function(t){return Fe(e,t)!==null})}function vn(e,t,n){var r=0;return K(e,".column").forEach(function(o){if(!(n&&o===n)){var a=pt(o,t),u=a?ki(a):gn(o,t);r+=(G(u)?u:0)+(ht(o,t)||0)}}),D-r}function wt(e){var t=e.size===null||e.size===void 0?null:e.size,n=e.offset===null||e.offset===void 0?0:e.offset;return n=Math.min(Math.max(n,0),no),t===null||!G(t)?{size:t,offset:n,refused:!1}:(t=Math.min(Math.max(t,1),D),t+n<=D?{size:t,offset:n,refused:!1}:e.leading==="offset"?{size:D-n,offset:n,refused:!1}:{size:null,offset:n,refused:!0})}function tt(e){Ee(e,".column").forEach(function(t){_e(t,{width:"",height:"",left:"",top:""}),rt(t)})}function Ir(e){return"ge-"+e+"-"+lo}function hn(){return[".row",".ge-text-block",".ge-content","[data-ge-container]"].concat(yt("blocks")).join(", ")}function yt(e){return Object.keys(S).map(function(t){return S[t][e]||null}).filter(function(t){return t!==null})}function bn(e,t){var n=!0;return Object.keys(S).forEach(function(r){var o=S[r];n&&o.accepts&&o.accepts(e,t)===!1&&(n=!1)}),n}function Li(){return l.drag_handle==="drawer"?".ge-tools-drawer > a:not(.ge-text-info):not(.ge-element-info), .ge-details, input, textarea, button, select, option":"input, textarea, button, select, option"}function Ct(e,t){var n=io();if(e=Array.isArray(e)?e:e?[e]:[],!(!e.length||!n)){var r=l.drag_handle==="drawer",o=Li(),a=0;e.forEach(function(u){var f=t.group?{name:Ir(t.group)}:{name:Ir(t.draggable+"-"+ ++a),pull:!1,put:!1};t.group&&t.accepts&&(f.put=function(d,g,h){return g.options.group.name===f.name&&t.accepts(d.el,h)}),It.push(n.create(u,Object.assign({group:f,draggable:t.draggable,handle:r?".ge-tools-drawer":".ge-tools-drawer .ge-move",filter:function(d,g){return Y(d.target,o,u)?!0:!g||g.parentNode!==u},preventOnFilter:!1,forceFallback:!0,fallbackOnBody:!1,ghostClass:"ge-drag-placeholder",chosenClass:"ge-drag-chosen",dragClass:"ge-drag-helper",fallbackClass:"ge-drag-helper",animation:l.drag.animation,delay:l.drag.delay||l.drag.touch_delay,delayOnTouchOnly:!l.drag.delay,touchStartThreshold:l.drag.threshold,scroll:l.drag.scroll,onStart:zi,onEnd:ji},t.options||{})))})}}function Mi(){if(!io()){ne("sortable_missing",m("error.sortable_missing"));return}Ct(A(c,".row"),{draggable:".column",group:"column"}),Ct([c].concat(A(c,".column")),{draggable:hn(),group:"block",accepts:bn});var e=yt("regions");e.length&&Ct(A(c,e.join(", ")),{draggable:">"+hn(),group:"block",accepts:bn}),se("onSortable",Ct)}function zi(e){var t=e.item,n=Xt(t),r=Dr(t),o={from:n,canceled:!1};Dt.set(t,o),q(function(){var a=R("before-move",te(r.kind,r.node,{parent:n.parent,source:"dragdrop",from:n}));a||(o.canceled=!0)})}function Dr(e){var t=y(e,"ge-text-block")&&T(e,".ge-content")||e;return{kind:le(t),node:t}}function Pi(e,t){var n=K(t.parent).filter(function(r){return r!==e&&!y(r,"ge-tools-drawer")});!n.length||t.index>=n.length?t.parent.appendChild(e):t.parent.insertBefore(e,n[t.index])}function ji(e){var t=e.item,n=Dt.get(t),r=n?n.from:Xt(t);if(Dt.delete(t),n&&n.canceled){Pi(t,r);return}var o=Xt(t);if(!(o.parent===r.parent&&o.index===r.index)){var a=Y(t,"[data-ge-container]"),u=F[De(a)];u&&u.afterPaneMove&&u.afterPaneMove(a,t,r);var f=Dr(t);q(function(){R("after-move",te(f.kind,f.node,{parent:o.parent,source:"dragdrop",from:r,to:o,container:a||void 0}))})}}function Ri(){l.resize.enabled&&A(c,".column").forEach(function(e){if(!T(e,".ge-resize-handle")){var t=T(e,".ge-tools-drawer");t&&t.appendChild(v("span",{class:"ge-resize-size"})),Ii().forEach(function(n){var r=v("span",{class:"ge-resize-handle ge-resize-"+n,"data-ge-edge":n});r.addEventListener("pointerdown",Di),e.appendChild(r)})}})}function Ii(){return String(l.resize.handles).split(",").map(function(e){return e.trim()}).filter(function(e){return e==="e"||e==="w"})}function Di(e){var t=e.currentTarget,n=t.parentElement,r=t.getAttribute("data-ge-edge")==="w",o=e.pageX,a=ot(n);if(e.preventDefault(),!Fi(n))return;E(n,"ge-resizing"),e.pointerId!==void 0&&t.setPointerCapture&&t.setPointerCapture(e.pointerId);function u(g){var h=g.pageX-o;return Math.max(1,a+(r?-h:h))}function f(g){n.style.width=u(g)+"px",Ui(n,u(g))}function d(g){t.removeEventListener("pointermove",f),kn(t,"pointerup pointercancel",d),O(n,"ge-resizing"),Wi(n,u(g))}t.addEventListener("pointermove",f),oe(t,"pointerup pointercancel",d)}function Ni(){A(c,".ge-resize-handle").forEach(function(e){e.remove()}),A(c,".ge-resize-size").forEach(function(e){e.remove()}),tt(c)}function Nr(e,t){var n=Math.round(t/br(e.parentElement)*D),r=Fr(e),o=r?Ye(r):null,a=ut.get(e),u=a?a.units:Je(e),f=r&&G(o)?u+o-Qe(l.valid_col_sizes):D-$e(e);return Math.min(Math.max(n,Qe(l.valid_col_sizes)),Math.max(f,Qe(l.valid_col_sizes)),sn(l.valid_col_sizes))}function Fr(e){return l.resize.balance!=="next"?null:Yr(e,".column")[0]||null}function wn(e,t){var n=T(e,".ge-tools-drawer"),r=n?T(n,".ge-resize-size"):null;r&&(r.textContent=t)}function Ur(e){return(L===J?w[0].colPrefix:we().colPrefix)+e}function Fi(e){var t=Ye(e),n=q(function(){return R("before-resize",te("column",e,{source:"dragdrop",from:t,to:null}))});if(!n)return!1;var r={from:t,units:Je(e)};return ut.set(e,r),wn(e,Ur(r.units)),!0}function Ui(e,t){wn(e,Ur(Nr(e,t)))}function Wi(e,t){var n=ut.get(e),r=Nr(e,t);if(ut.delete(e),wn(e,""),tt(e),!!n&&r!==n.units){var o=Kt(e,r);o&&q(function(){Vt(e,o),Hi(e,r-n.units),ue(e),R("after-resize",te("column",e,Gt({source:"dragdrop",from:n.from,to:o.size},o.cleared)))})}}function Hi(e,t){var n=Fr(e);if(!(!n||!t)){var r=Ye(n);if(G(r)){var o=Kt(n,r-t);o&&(Vt(n,o),ue(n))}}}function Bi(){It.forEach(function(e){e.destroy()}),It=[]}function Ue(){return v("div",{class:"row"})}function Et(e,t,n){var r=null;if(sa.forEach(function(f){r===null&&n&&n[f]!==void 0&&(r=f)}),r===null)return e;var o=ge(n[r]);if(!o)return U(t+": "+r+" matches no element; the "+t+" is left detached"),e;var a=r==="appendTo"||r==="prependTo"?o:o.parentElement,u=function(){return re(t,e,function(){r==="appendTo"?o.appendChild(e):r==="prependTo"?o.insertBefore(e,o.firstChild):r==="insertBefore"?o.parentNode.insertBefore(e,o):Lt(e,o)},{parent:a,source:n.source||"api"})};return Ke>0?(Wt(u),e):u()}function Ki(e,t){var n=Ue();return e!==void 0&&!Array.isArray(e)&&!(e&&e.row_cols)&&(U("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=Ge(e)),(Array.isArray(e)?e:[]).forEach(function(r){n.appendChild(Ce(r))}),Et(n,"row",t)}function Vi(e,t){t=t||{};var n=ge(t.appendTo||t.prependTo||null);e===void 0&&n&&et(n,we())?e=null:!G(e)&&Sn.indexOf(e)===-1&&(U("createColumn: no column size given, using "+D),e=D);var r=Ce(e,t.offset);return t.content!==void 0&&r.appendChild(ta(t.content)),Et(r,"column",t)}function Gi(e,t){t=t||{};var n=F[e];return n?Et(n.create(t),e,t):(U('createContainer: no such container type "'+e+'"'),null)}function Wr(e,t,n){e=ge(e),n=n||{};var r=F[De(e)];if(!r||De(e)!==t)return U("this is not a "+t+" container"),null;var o=r.addPane(e,n);return re(r.paneKind,o,function(){},{parent:e,source:"api",container:e})}function yn(){var e={};return Object.keys(l).forEach(function(t){var n=l[t];e[t]=Array.isArray(n)?n.slice():n}),Object.freeze(e)}function Ce(e,t){var n=v("div",{class:"column"}),r=ro(L)[0],o=wt({size:e,offset:t||0,leading:"offset"});return bt(n,r,o.size===null?e:o.size),pn(n,r,o.offset),n}function Hr(e){if(!(!l.custom_filter||!l.custom_filter.length)){var t=typeof l.custom_filter=="string"||typeof l.custom_filter=="function"?[l.custom_filter]:l.custom_filter;Array.prototype.forEach.call(t,function(n){typeof n=="string"&&(n=window[n]),n(c,e)})}}function qi(){var e=[".row","[data-ge-container]"];return Object.keys(S).forEach(function(t){var n=S[t],r=typeof n.cuts=="function"?n.cuts():n.cuts;r&&e.push(r)}),e.join(", ")}function Xi(e){A(c,".column > .ge-content, .column > .ge-text-block > .ge-content").forEach(function(t){if(!(y(t,"ge-rte-active")||!K(t,e).length)){var n=t.getAttribute("data-ge-content-type"),r=y(t.parentElement,"ge-text-block")?t.parentElement:t,o=[],a=[];for(Array.prototype.slice.call(t.childNodes).forEach(function(d){d.nodeType===1&&d.matches(e)?(o.push({text:a},{block:d}),a=[]):a.push(d)}),o.push({text:a});t.firstChild;)t.removeChild(t.firstChild);var u=!1,f=r;o.forEach(function(d){var g;if(d.block)g=d.block;else if(Yi(d.text))u?(g=Cn(n),d.text.forEach(function(h){g.appendChild(h)})):(d.text.forEach(function(h){t.appendChild(h)}),g=r,u=!0);else return;g!==f&&Lt(g,f),f=g}),u||r.remove()}})}function Yi(e){return e.some(function(t){return t.nodeType===1||t.nodeType===3&&/\S/.test(t.nodeValue)})}function Ji(e){A(c,".column").forEach(function(t){var n=[];K(t).forEach(function(r){xe(r,".ge-tools-drawer, .ge-resize-handle")||(xe(r,".ge-content, .ge-text-block")||r.matches(e)?n=Br(n):n.push(r))}),Br(n)})}function Br(e){if(e.length){var t=Lt(Cn(),e[e.length-1]);e.forEach(function(n){t.appendChild(n)})}return[]}function Cn(e){var t=v("div",{class:"ge-content"});return e&&(E(t,"ge-content-type-"+e),t.setAttribute("data-ge-content-type",e)),t}function $i(){A(c,".column > .ge-content").forEach(function(e){Qr(e,v("div",{class:"ge-text-block"}))}),A(c,".ge-text-block").forEach(function(e){if(!T(e,".ge-tools-drawer")){var t=T(e,".ge-content"),n=t?t.getAttribute("data-ge-content-type"):null;n?Po(n)||ea(e,n):Zi(e)}})}function Qi(){A(c,".ge-text-block").forEach(function(e){Mt(e)})}function Zi(e){var t=T(e,".ge-content"),n=Ne(e,"ge-tools-drawer ge-text-drawer ge-plain-drawer");E(e,"ge-plain-block"),Se(n),Object.keys(S).forEach(function(r){S[r].plainTools&&S[r].plainTools(n,t)}),I(n,m("tool.delete_plain"),"ge-delete-plain","bi bi-trash",function(){ke("plain",t,m("confirm.delete_plain"),function(r){it(e,function(){e.remove(),r()})})})}function ea(e,t){var n=T(e,".ge-content"),r=Ne(e,"ge-tools-drawer ge-text-drawer");Se(r),I(r,m("text.no_editor",{type:t}),"ge-text-info ge-text-missing","bi bi-exclamation-triangle"),I(r,m("tool.delete_text"),"ge-delete-text","bi bi-trash",function(){ke("text",n,m("confirm.delete_text"),function(o){it(e,function(){e.remove(),o()})})})}function ta(e){var t=$n(),n=Cn(t.length?t[0].type:null);return e&&e.nodeType?n.appendChild(e):_t(n,e),n}function Kr(e){L=e,An.forEach(function(t){z(c,"ge-layout-"+t,t===e)}),M(ze,"button").textContent=m(at(e))}function En(e){return An.indexOf(e)===-1?null:e}function Vr(e){var t=En(e);if(t===null){U("changeView("+JSON.stringify(e)+"): no such layout mode");return}var n=L;Kr(t),t!==n&&(_r().forEach(function(r){A(r,".ge-utilities").forEach(function(o){an(o)})}),cr(null),qe(c),se("onViewChange",t),R("view-change",{canvas:c,breakpoint:t,from:n,to:t}))}function xn(){return L}function Gr(e,t,n){return function(){return Xe[e]?Xe[e].apply(null,arguments):(ne("plugin:"+t,e+" needs the "+t+" plugin: include dist/plugins/grideditor."+n+".js after the editor"),null)}}function na(e){if(!l.active_target){ne("active_target","setActiveTarget needs the active_target setting: without it, it does nothing");return}if(e==null){Ae(null);return}var t=ge(e);if(!Ro(t)){var n=typeof e=="string"?e:t?"<"+t.tagName.toLowerCase()+">":String(e);U("setActiveTarget: "+n+" is not a column or a region of the canvas");return}Ae(t)}var qr={getHtml:tr,getPlainHtml:Do,init:function(){Wt(ve)},reset:function(){Wt(Qn)},deinit:Re,destroy:No,changeView:Vr,getView:xn,createRow:Ki,createColumn:Vi,createText:function(e,t){return Xe.createText?Xe.createText(e,t):(ne("plugin:text","createText needs a text editor plugin: include dist/plugins/grideditor.tinymce.js, or another editor's, after the editor"),null)},createElement:Gr("createElement","elements","elements"),createSection:Gr("createSection","sections","sections"),createContainer:Gi,addTab:function(e,t){return Wr(e,"tabs",t)},addAccordionItem:function(e,t){return Wr(e,"accordion",t)},setLocale:so,getUtility:sr,setUtility:rn,getActiveTarget:function(){return l.active_target?N:null},setActiveTarget:na};Object.keys(qr).forEach(function(e){var t=!!(to[e]&&to[e].value);i[e]=function(){if(zn)return ne("destroyed:"+e,m("warning.destroyed",{method:e})),e==="getHtml"?c.innerHTML:e==="getPlainHtml"?On(c.innerHTML):t?null:i;var n=qr[e].apply(i,arguments);return t?n:i}}),i.canvas=c,i.settings=yn(),zt.set(c,i),Fo(),i.settings=yn(),go(),ve(),x._created.forEach(function(e){e(i)})}x._created=[];x.containers={};x.features={};x.utilities={};x.texts={};x.t=Ln;x._plainHtml=On;x.Sortable=null;x.bootstrap=null;x.version="8.4.0";x.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
|
|
2
2
|
(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
|
|
3
3
|
(hold shift for min)`,"tool.column_wider":`Make column wider
|
|
4
4
|
(hold shift for max)`,"tool.indent_decrease":`Decrease indent
|
|
5
5
|
(hold shift for none)`,"tool.indent_increase":`Increase indent
|
|
6
|
-
(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.section_general":"Id and 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.already_editing":"This element already has an editor: that one is handed back, with the options it was made with.","warning.destroyed":"{method}() was called on an editor that has been destroyed, and does nothing.","warning.duplicate_build":"grideditor.js was loaded twice: the first GridEditor is kept.","warning.adapter_no_jquery":"grideditor.jquery.js needs jQuery 4, and there is no jQuery on the page: the jQuery API is not there.","error.tinymce_missing":"tinyMCE not available! Make sure you loaded the tinyMCE js file.","error.ckeditor_missing":"CKEditor 5 not available! Make sure you loaded its ckeditor5.umd.js file.","error.summernote_missing":"Summernote not available! Make sure you loaded jQuery and the Summernote js file."}};window.GridEditor?window.console&&window.console.warn&&window.console.warn("grid-editor: "+
|
|
6
|
+
(hold shift for max)`,"tool.edit_source":"Edit Source Code","tool.preview":"Preview","tool.more":"More","group.rows":"Rows","group.content":"Content","group.select":"Add","panel.title":"{kind} settings","panel.close":"Close","panel.done":"Done","panel.id":"Id","panel.classes":"Classes","panel.section_general":"Id and 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.already_editing":"This element already has an editor: that one is handed back, with the options it was made with.","warning.destroyed":"{method}() was called on an editor that has been destroyed, and does nothing.","warning.duplicate_build":"grideditor.js was loaded twice: the first GridEditor is kept.","warning.adapter_no_jquery":"grideditor.jquery.js needs jQuery 4, and there is no jQuery on the page: the jQuery API is not there.","error.tinymce_missing":"tinyMCE not available! Make sure you loaded the tinyMCE js file.","error.ckeditor_missing":"CKEditor 5 not available! Make sure you loaded its ckeditor5.umd.js file.","error.summernote_missing":"Summernote not available! Make sure you loaded jQuery and the Summernote js file."}};window.GridEditor?window.console&&window.console.warn&&window.console.warn("grid-editor: "+x.t({locale:"en"},"warning.duplicate_build")):window.GridEditor=x;})();
|