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