@themarioga/grid-editor 8.10.0 → 9.0.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +20 -0
- package/README.md +3 -3
- package/UPGRADING.md +14 -0
- package/dist/grideditor.bundle.min.js +2 -2
- package/dist/grideditor.d.ts +3 -3
- package/dist/grideditor.esm.js +11 -2
- package/dist/grideditor.js +11 -2
- package/dist/grideditor.min.js +1 -1
- package/dist/grideditor.min.js.map +3 -3
- package/dist/plugins/grideditor.clipboard.esm.js +5 -0
- package/dist/plugins/grideditor.clipboard.js +5 -0
- package/dist/plugins/grideditor.clipboard.min.js +1 -1
- package/dist/plugins/grideditor.clipboard.min.js.map +2 -2
- package/docs/plugins.md +4 -1
- package/package.json +1 -1
- package/src/js/grideditor.js +14 -1
- package/src/js/plugins/grideditor.clipboard.js +3 -0
- package/types/grideditor.d.ts +3 -3
package/dist/grideditor.d.ts
CHANGED
|
@@ -161,7 +161,7 @@ export interface GridEditorOptions {
|
|
|
161
161
|
drawer_overflow?: 'menu' | 'wrap';
|
|
162
162
|
/** The add buttons in categories - rows, content, and a plugin's own - one shown at a time, chosen with tabs. Default false. */
|
|
163
163
|
toolbar_groups?: boolean;
|
|
164
|
-
/** A click in a column or a section makes it where the toolbar's buttons add. Default false. */
|
|
164
|
+
/** A click in a column or a section makes it where the toolbar's buttons add. Default false, and true with settings_panel 'sidebar', which throws if it is given false. */
|
|
165
165
|
active_target?: boolean;
|
|
166
166
|
/** The plugins to use, of any kind; null is every one loaded. */
|
|
167
167
|
plugins?: string[] | null;
|
|
@@ -195,7 +195,7 @@ export interface GridEditorOptions {
|
|
|
195
195
|
locale_strings?: Record<string, string>;
|
|
196
196
|
callbacks?: Partial<GridEditorCallbacks>;
|
|
197
197
|
confirm_delete?: boolean;
|
|
198
|
-
/** Where a node's settings open. 'sidebar' is a panel that stays on the right while editing, showing the selected node's; one editor per page has it. */
|
|
198
|
+
/** Where a node's settings open. 'sidebar' is a panel that stays on the right while editing, showing the selected node's; one editor per page has it. It turns active_target on, and the constructor throws a TypeError if active_target is false. */
|
|
199
199
|
settings_panel?: 'offcanvas' | 'popover' | 'modal' | 'inline' | 'sidebar';
|
|
200
200
|
/** The 'sidebar' panel. */
|
|
201
201
|
sidebar?: SidebarSettings;
|
|
@@ -487,7 +487,7 @@ export declare class GridEditor {
|
|
|
487
487
|
/** Take the editor off: the markup stays, everything else goes. */
|
|
488
488
|
destroy(): this;
|
|
489
489
|
changeView(view: View): this;
|
|
490
|
-
/** The column or region the toolbar adds to, or null. Null without active_target. */
|
|
490
|
+
/** The column or region the toolbar adds to, or null. Null without active_target, which settings_panel 'sidebar' turns on. */
|
|
491
491
|
getActiveTarget(): HTMLElement | null;
|
|
492
492
|
/** Make a column or region, or the first a selector matches, where the toolbar adds; null for none. */
|
|
493
493
|
setActiveTarget(target: HTMLElement | string | null): this;
|
package/dist/grideditor.esm.js
CHANGED
|
@@ -604,7 +604,7 @@ function build(instance, baseElem, optionsOrMethod) {
|
|
|
604
604
|
"toolbar_groups": false,
|
|
605
605
|
// The add buttons in categories, one shown at a time, picked with tabs
|
|
606
606
|
"active_target": false,
|
|
607
|
-
// A click in a column makes it where the toolbar's buttons add
|
|
607
|
+
// A click in a column makes it where the toolbar's buttons add. The 'sidebar' panel turns it on
|
|
608
608
|
"element_tools": [],
|
|
609
609
|
// Host tools on element drawers, same shape as row_tools
|
|
610
610
|
"element_classes": [],
|
|
@@ -662,6 +662,12 @@ function build(instance, baseElem, optionsOrMethod) {
|
|
|
662
662
|
Object.keys(NESTED_SETTINGS).forEach(function(name) {
|
|
663
663
|
settings[name] = Object.assign({}, NESTED_SETTINGS[name], settings[name]);
|
|
664
664
|
});
|
|
665
|
+
if (settings.settings_panel === "sidebar") {
|
|
666
|
+
if (optionsOrMethod && optionsOrMethod.active_target === false) {
|
|
667
|
+
throw new TypeError('grid-editor: settings_panel "sidebar" needs active_target; leave it out or set it to true');
|
|
668
|
+
}
|
|
669
|
+
settings.active_target = true;
|
|
670
|
+
}
|
|
665
671
|
var canvas, mainControls, wrapper, addRowGroup, addContainerGroup, layoutDropdown, htmlTextArea;
|
|
666
672
|
var curView = settings.default_view;
|
|
667
673
|
var confirmDialog = null;
|
|
@@ -1540,6 +1546,9 @@ function build(instance, baseElem, optionsOrMethod) {
|
|
|
1540
1546
|
var colour = item.align === "end" ? "btn-primary" : "btn-light";
|
|
1541
1547
|
var button = labelButton(element("a", { "class": "btn btn-sm " + colour + " ge-add-container ge-add-feature" }), label, iconClass);
|
|
1542
1548
|
addClass(button, item.className || "");
|
|
1549
|
+
if (typeof item.hidden === "function" ? item.hidden() : item.hidden) {
|
|
1550
|
+
hide(button);
|
|
1551
|
+
}
|
|
1543
1552
|
attr(button, {
|
|
1544
1553
|
"data-ge-toolbar": "feature",
|
|
1545
1554
|
"data-ge-feature": name,
|
|
@@ -5104,7 +5113,7 @@ GridEditor.t = translate;
|
|
|
5104
5113
|
GridEditor._plainHtml = plainHtml;
|
|
5105
5114
|
GridEditor.Sortable = null;
|
|
5106
5115
|
GridEditor.bootstrap = null;
|
|
5107
|
-
GridEditor.version = false ? "dev" : "
|
|
5116
|
+
GridEditor.version = false ? "dev" : "9.0.0-beta.1";
|
|
5108
5117
|
GridEditor.locales = {
|
|
5109
5118
|
en: {
|
|
5110
5119
|
"tool.move": "Move",
|
package/dist/grideditor.js
CHANGED
|
@@ -605,7 +605,7 @@
|
|
|
605
605
|
"toolbar_groups": false,
|
|
606
606
|
// The add buttons in categories, one shown at a time, picked with tabs
|
|
607
607
|
"active_target": false,
|
|
608
|
-
// A click in a column makes it where the toolbar's buttons add
|
|
608
|
+
// A click in a column makes it where the toolbar's buttons add. The 'sidebar' panel turns it on
|
|
609
609
|
"element_tools": [],
|
|
610
610
|
// Host tools on element drawers, same shape as row_tools
|
|
611
611
|
"element_classes": [],
|
|
@@ -663,6 +663,12 @@
|
|
|
663
663
|
Object.keys(NESTED_SETTINGS).forEach(function(name) {
|
|
664
664
|
settings[name] = Object.assign({}, NESTED_SETTINGS[name], settings[name]);
|
|
665
665
|
});
|
|
666
|
+
if (settings.settings_panel === "sidebar") {
|
|
667
|
+
if (optionsOrMethod && optionsOrMethod.active_target === false) {
|
|
668
|
+
throw new TypeError('grid-editor: settings_panel "sidebar" needs active_target; leave it out or set it to true');
|
|
669
|
+
}
|
|
670
|
+
settings.active_target = true;
|
|
671
|
+
}
|
|
666
672
|
var canvas, mainControls, wrapper, addRowGroup, addContainerGroup, layoutDropdown, htmlTextArea;
|
|
667
673
|
var curView = settings.default_view;
|
|
668
674
|
var confirmDialog = null;
|
|
@@ -1541,6 +1547,9 @@
|
|
|
1541
1547
|
var colour = item.align === "end" ? "btn-primary" : "btn-light";
|
|
1542
1548
|
var button = labelButton(element("a", { "class": "btn btn-sm " + colour + " ge-add-container ge-add-feature" }), label, iconClass);
|
|
1543
1549
|
addClass(button, item.className || "");
|
|
1550
|
+
if (typeof item.hidden === "function" ? item.hidden() : item.hidden) {
|
|
1551
|
+
hide(button);
|
|
1552
|
+
}
|
|
1544
1553
|
attr(button, {
|
|
1545
1554
|
"data-ge-toolbar": "feature",
|
|
1546
1555
|
"data-ge-feature": name,
|
|
@@ -5105,7 +5114,7 @@
|
|
|
5105
5114
|
GridEditor._plainHtml = plainHtml;
|
|
5106
5115
|
GridEditor.Sortable = null;
|
|
5107
5116
|
GridEditor.bootstrap = null;
|
|
5108
|
-
GridEditor.version = false ? "dev" : "
|
|
5117
|
+
GridEditor.version = false ? "dev" : "9.0.0-beta.1";
|
|
5109
5118
|
GridEditor.locales = {
|
|
5110
5119
|
en: {
|
|
5111
5120
|
"tool.move": "Move",
|
package/dist/grideditor.min.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
(()=>{function _(a,d){return a?Array.prototype.slice.call(a.querySelectorAll(d)):[]}function A(a,d){return a?a.querySelector(d):null}function le(a,d){if(!a)return[];var p=_(a,d);return a.nodeType===1&&a.matches(d)&&p.unshift(a),p}function q(a,d){return a?Array.prototype.filter.call(a.children,function(p){return!d||p.matches(d)}):[]}function M(a,d){return q(a,d)[0]||null}function X(a,d,p){var s=a&&a.nodeType===1?a.closest(d):null;return s&&p&&s!==p&&!p.contains(s)?null:s}function Se(a,d){return!!a&&a.nodeType===1&&a.matches(d)}function Te(a){return!!a&&document.documentElement.contains(a)}function To(a,d){for(var p=[],s=a.nextElementSibling;s;s=s.nextElementSibling)(!d||s.matches(d))&&p.push(s);return p}function Oo(a,d){for(var p=[],s=a.parentElement;s&&s!==d;s=s.parentElement)p.push(s);return p}function Ka(a){var d=document.createElement("template");return d.innerHTML=a,Array.prototype.slice.call(d.content.childNodes)}function V(a){for(var d=Ka(a.trim()),p=0;p<d.length;p++)if(d[p].nodeType===1)return d[p];return null}function v(a,d,p){var s=document.createElement(a);return Object.keys(d||{}).forEach(function(f){var x=d[f];x!=null&&x!==!1&&s.setAttribute(f,x)}),p!=null&&(s.textContent=p),s}function mt(a,d){return a.innerHTML=d==null?"":String(d),a}function C(a,d){return Je(d).forEach(function(p){a.classList.add(p)}),a}function k(a,d){return Je(d).forEach(function(p){a.classList.remove(p)}),a}function z(a,d,p){return Je(d).forEach(function(s){p===void 0?a.classList.toggle(s):a.classList.toggle(s,!!p)}),a}function b(a,d){return!!a&&a.nodeType===1&&a.classList.contains(d)}function Je(a){return String(a||"").split(/\s+/).filter(Boolean)}function gt(a){return a.getAttribute("class")||a.removeAttribute("class"),a}function pt(a){return a.getAttribute("style")||a.removeAttribute("style"),a}function Wt(a,d){return Object.keys(d).forEach(function(p){var s=d[p];s==null?a.removeAttribute(p):a.setAttribute(p,s)}),a}function Oe(a,d){return Object.keys(d).forEach(function(p){var s=d[p];typeof s=="number"&&!Ba[p]&&(s=s+"px"),a.style.setProperty(p,s==null?"":String(s))}),a}var Ba={opacity:!0,"z-index":!0,"flex-grow":!0,"flex-shrink":!0,order:!0},ft={};function Va(a){var d=a.nodeName;if(!ft[d]){var p=document.body.appendChild(document.createElement(d));ft[d]=getComputedStyle(p).display,p.remove(),ft[d]==="none"&&(ft[d]="block")}return ft[d]}function Le(a){return a.style.removeProperty("display"),getComputedStyle(a).display==="none"&&(a.style.display=Va(a)),a}function be(a){return a.style.display="none",a}function Gn(a,d){return d===void 0&&(d=!Ut(a)),d?Le(a):be(a)}function Ut(a){return!!(a.offsetWidth||a.offsetHeight||a.getClientRects().length)}function vt(a){return a.getBoundingClientRect().width}function Kt(a){return a.getBoundingClientRect().height}function Lo(a){var d=getComputedStyle(a);return a.clientHeight-parseFloat(d.paddingTop)-parseFloat(d.paddingBottom)}function Bt(a){var d=a.getBoundingClientRect();return{top:d.top+window.pageYOffset,left:d.left+window.pageXOffset}}function Vt(a,d){return d.parentNode.insertBefore(a,d.nextSibling),a}function Gt(a){for(var d=a.parentNode;a.firstChild;)d.insertBefore(a.firstChild,a);a.remove()}function Mo(a,d){return a.parentNode.insertBefore(d,a),d.appendChild(a),d}function $e(a,d,p,s,f){var x=function(w){var D=X(w.target,p,a);if(D&&a.contains(D))return s.call(D,w)};return Je(d).forEach(function(w){a.addEventListener(w,x,f)}),x}function se(a,d,p,s){return Je(d).forEach(function(f){a.addEventListener(f,p,s)}),p}function qn(a,d,p,s){Je(d).forEach(function(f){a.removeEventListener(f,p,s)})}var Ga=400;function Po(a,d,p,s){p=p===void 0?Ga:p;var f=function(){be(a),s&&s()};if(!Ut(a)||!a.animate||p<=0){window.setTimeout(f,0);return}var x=a.animate(d(getComputedStyle(a)),{duration:p,easing:"ease-in-out"}),w=!1,D=function(){w||(w=!0,f())};x.onfinish=D,x.oncancel=D}function ht(a,d,p){typeof d=="function"&&(p=d,d=void 0),a.style.overflow="hidden",Po(a,function(s){return[{height:s.height,paddingTop:s.paddingTop,paddingBottom:s.paddingBottom,marginTop:s.marginTop,marginBottom:s.marginBottom},{height:"0px",paddingTop:"0px",paddingBottom:"0px",marginTop:"0px",marginBottom:"0px"}]},d,function(){a.style.removeProperty("overflow"),p&&p()})}function zo(a,d,p,s){a.style.overflow="hidden",Po(a,function(f){var x={opacity:f.opacity,height:f.height},w={opacity:0,height:"0px"};return s&&(x.width=f.width,w.width="0px"),[x,w]},d,function(){a.style.removeProperty("overflow"),p&&p()})}var jo={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},addPane:{value:!0},setLocale:{},getUtility:{value:!0},setUtility:{value:!0},getActiveTarget:{value:!0},setActiveTarget:{},getSelected:{value:!0},setSelected:{}},Xa=["appendTo","prependTo","insertAfter","insertBefore"],Ya=["data-bs-target","data-bs-parent","href","aria-controls","aria-labelledby","aria-describedby","for","data-ge-popup-id","data-ge-popup-target"],Ja=/^ge-([a-z][a-z-]*?)-\d+-[a-z0-9]+$/,y=[{key:"xs",infix:"",colPrefix:"col-",offsetPrefix:"offset-",min:0,preview:400,labelKey:"view.xs"},{key:"sm",infix:"sm",colPrefix:"col-sm-",offsetPrefix:"offset-sm-",min:576,preview:576,labelKey:"view.sm"},{key:"md",infix:"md",colPrefix:"col-md-",offsetPrefix:"offset-md-",min:768,preview:768,labelKey:"view.md"},{key:"lg",infix:"lg",colPrefix:"col-lg-",offsetPrefix:"offset-lg-",min:992,preview:992,labelKey:"view.lg"},{key:"xl",infix:"xl",colPrefix:"col-xl-",offsetPrefix:"offset-xl-",min:1200,preview:1200,labelKey:"view.xl"},{key:"xxl",infix:"xxl",colPrefix:"col-xxl-",offsetPrefix:"offset-xxl-",min:1400,preview:null,labelKey:"view.xxl"}],Q="all",$a="view.all",Xn=[Q].concat(y.map(function(a){return a.key})),H=12,Ro=11,Yn=["equal","auto"],Qe=["1","2","3","4","5","6","auto"];function Jn(a,d){return"row-cols"+(a.infix?"-"+a.infix:"")+"-"+d}function J(a){return typeof a=="number"}function He(a,d){return d==="equal"?a.infix?"col-"+a.infix:"col":a.colPrefix+d}function Z(a){for(var d=0;d<y.length;d++)if(y[d].key===a)return y[d];return null}function No(a){if(a===Q)return[y[0]];var d=Z(a);return d?[d]:[]}function bt(a){var d=Z(a);return d?d.labelKey:$a}var Me={add_column:{size:12,picker:!0,delay:600},elements:{enabled:"auto",selector:"[data-ge-element]",auto:!1,types:[]},resize:{enabled:!0,tools:!0,handles:"e",balance:"next"},indent:{tools:!0},sidebar:{empty:null},drag:{delay:0,touch_delay:100,threshold:3,animation:150,scroll:!0}},Io={},Qa=0,Xt=new WeakMap,qt=null,Za=".ge-mainControls, .ge-settings-panel, .ge-sidebar-toggle, .ge-dialog, .ge-confirm, .ge-size-picker, .modal, .modal-backdrop";function Qn(a,d,p){var s=S.locales,f=s[a.locale]||{},x=a.locale_strings||{},w=x[d];return w===void 0&&(w=f[d]),w===void 0&&(w=s.en[d]),w===void 0&&(tl("locale:"+d,'no string for "'+d+'" in any locale, showing the key'),w=d),w.replace(/\{(\w+)\}/g,function(D,de){return p&&p[de]!==void 0?p[de]:D})}function el(a,d){var p=S.locales;return(a.locale_strings||{})[d]!==void 0||(p[a.locale]||{})[d]!==void 0||p.en[d]!==void 0}function W(a){window.console&&window.console.warn&&window.console.warn("grid-editor: "+a)}function tl(a,d){Io[a]||(Io[a]=!0,W(d))}function nl(a,d){return Qn({locale:"en"},a,d)}function rl(a){if(typeof a=="string"){var d=document.querySelector(a);if(!d)throw new TypeError("grid-editor: no element matches "+JSON.stringify(a));return d}if(a&&a.nodeType===1)return a;throw new TypeError("grid-editor: the target is an element or a selector, not "+(a===null?"null":typeof a))}function oe(a){return typeof a=="string"?document.querySelector(a):a&&a.nodeType===1?a:null}function Do(){return S.Sortable||window.Sortable||null}function wt(){var a=S.bootstrap||window.bootstrap;return a&&a.Modal?a.Modal:null}function $n(a){var d=document.implementation.createHTMLDocument("").body;d.innerHTML=a;var p=[];return _(d,"*").forEach(function(s){var f=!1;Array.prototype.slice.call(s.attributes).forEach(function(D){D.name.indexOf("data-ge-")===0&&(s.removeAttribute(D.name),f=!0)});var x=(s.getAttribute("class")||"").split(/\s+/).filter(Boolean),w=x.filter(function(D){return D!=="column"&&D.indexOf("ge-")!==0});w.length!==x.length&&(f=!0),w.length?s.setAttribute("class",w.join(" ")):s.removeAttribute("class"),f&&s.tagName==="DIV"&&!s.attributes.length&&p.push(s)}),p.forEach(function(s){Gt(s)}),d.innerHTML}function S(a,d){var p=rl(a),s=Xt.get(p);if(s)return Fo.has(p)||(Fo.add(p),W(nl("warning.already_editing"))),s;if(!(this instanceof S))return new S(p,d);ol(this,p,d||{})}var Fo=new WeakSet;S.create=function(a,d){return new S(a,d)};S.get=function(a){var d=oe(a);return d&&Xt.get(d)||null};function ol(a,d,p){var s=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:Xn.slice(),default_view:Q,resize:Me.resize,indent:Me.indent,source_textarea:"",edit_source:!0,locale:"en",locale_strings:{},callbacks:{},confirm_delete:!0,settings_panel:"offcanvas",sidebar:Me.sidebar,drag:Me.drag},p);Object.keys(Me).forEach(function(e){s[e]=Object.assign({},Me[e],s[e])});var f,x,w,D,de,We,ee,P=s.default_view,R=null,ne=null,we=!1,Ue=null,U=null,yt=null,Yt=function(){},Jt=function(){},ue=[],Ct={},$t=null,Zn={},Et=[],er=++Qa,xt=!1,Y=null,Ke=null,tr=null;s.settings_panel==="sidebar"&&(qt?(K("sidebar",'settings_panel "sidebar" is in use by another editor on the page, which has one sidebar: using offcanvas'),s.settings_panel="offcanvas"):qt=a);var Be=new WeakMap,Qt=new WeakMap,_t=new WeakMap,nr=new WeakMap,Zt=new WeakSet,en=new AbortController;f=C(d,"ge-canvas");function K(e,t){Zn[e]||(Zn[e]=!0,W(t))}function m(e,t){return Qn(s,e,t)}function Ho(e){s.locale=e,a.settings=Hn(),or(),Jr(),so(),fn(),cn(),yr()}var Ze=0,tn=[];function re(e,t,n){return Object.assign({kind:e,node:t,parent:t.parentElement,canvas:f,breakpoint:Bn(),source:"api"},n||{})}function N(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(i){var l=new CustomEvent("grideditor:"+i,{detail:t,bubbles:!0,cancelable:!0});f.dispatchEvent(l)||(o=!0)}),n.forEach(function(i){var l=s.callbacks[i.replace(/-/g,"_")];typeof l=="function"&&l(t)===!1&&(o=!0)}),!o}function $(e){Ze++;try{return e()}finally{if(Ze--,Ze===0)for(;tn.length;)tn.shift()()}}function nn(e){if(Ze===0){e();return}tn.push(e)}function ie(e,t,n,r){var o=Wo(e);return $(function(){var i=re(e,t,r);return N("before-add-"+o,i)?(n(),fe(),N("after-add-"+o,i),t):null})}function Wo(e){return S.containers[e]?"container":e}function Uo(e,t){if(!s.confirm_delete){t();return}rr(e,{danger:!0},function(n){n&&t()})}function rr(e,t,n){t=t||{};var r=wt();if(!r){n(window.confirm(e));return}var o=Ko(),i=!1,l=A(o,".ge-confirm-ok");Pe&&Pe(null);var c=function(u){Pe===c&&(Pe=null,n(u))};Pe=c,A(o,".modal-title").textContent=t.title||m("confirm.title"),A(o,".ge-confirm-cancel").textContent=t.cancel||m("confirm.cancel"),l.textContent=t.ok||m("confirm.ok"),z(l,"btn-danger",!!t.danger),z(l,"btn-primary",!t.danger),A(o,".ge-confirm-message").textContent=e,l.onclick=function(){i=!0,r.getInstance(o).hide()},ye.hidden=function(){c(i)},ye.shown=function(){l.focus()},r.getOrCreateInstance(o).show()}var ye={hidden:null,shown:null},Pe=null;function Ko(){if(R)return R;R=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(R),A(R,".modal-title").textContent=m("confirm.title"),A(R,".btn-close").setAttribute("aria-label",m("confirm.cancel")),A(R,".ge-confirm-cancel").textContent=m("confirm.cancel"),A(R,".ge-confirm-ok").textContent=m("confirm.ok"),ir(R);var e=R;return R.addEventListener("hidden.bs.modal",function(){e===R&&ye.hidden&&ye.hidden()}),R.addEventListener("shown.bs.modal",function(){e===R&&ye.shown&&ye.shown()}),R}function or(){R&&(ye.hidden=null,ye.shown=null,rn(R),R=null,Pe&&Pe(null))}function rn(e){var t=wt(),n=t?t.getInstance(e):null,r=!1,o=function(){r||(r=!0,n&&n.dispose(),e.remove())};if(!n||!on.get(e)&&!b(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 on=new WeakMap;function ir(e){se(e,"show.bs.modal hide.bs.modal",function(){on.set(e,!0)}),se(e,"shown.bs.modal hidden.bs.modal",function(){on.set(e,!1)})}function ze(e,t,n,r){$(function(){var o=re(e,t,{source:"tool"});N("before-delete",o)&&Uo(n,function(){$(function(){r(function(){t.remove(),$(function(){fe(),N("after-delete",o)})})})})})}function an(e,t,n){if(n=n||P,n!==Q){var r=Z(n),o=Nt({size:t,offset:jt(e,r)||0});return o.refused||qe(e,r)===o.size?null:{writes:[{tier:r,size:o.size}],cleared:null,size:o.size}}var i=y.some(function(g){return Nt({size:t,offset:jt(e,g)||0}).refused});if(i)return null;var l=y[0],c=[],u=[];return y.slice(1).forEach(function(g){var h=qe(e,g);h!==null&&(c.push({tier:g,size:null}),u.push({breakpoint:g.key,value:h}))}),qe(e,l)!==t&&c.unshift({tier:l,size:t}),c.length?{writes:c,cleared:u,size:t}:null}function ln(e,t){t.writes.forEach(function(n){Rt(e,n.tier,n.size)}),Xe(e)}function sn(e,t){return t&&(e.cleared=t),e}function dn(e,t,n,r){r=r||P;var o=ot(e),i=an(e,t,r);return i?$(function(){var l=re("column",e,sn({source:n,breakpoint:r,from:o,to:i.size},i.cleared));return N("before-resize",l)?(ln(e,i),me(e),N("after-resize",l),!0):(me(e),!1)}):!1}function ar(e,t,n){var r=P===Q,o=r?y[0]:Z(P),i=at(e);t=Math.min(Math.max(t,0),Ro);var l=r?y.slice(1).filter(function(c){return zt(e,c)!==null}):[];return(zt(e,o)||0)===t&&!l.length?!1:$(function(){var c=re("column",e,sn({source:n,from:i,to:t},r?l.map(function(u){return{breakpoint:u.key,value:zt(e,u)}}):null));return N("before-indent",c)?(jn(e,o,t),l.forEach(function(u){jn(e,u,0)}),(r?y:[o]).forEach(function(u){var g=zn(e,u);if(J(g)){var h=Nt({size:g,offset:t,leading:"offset"});h.size!==g&&Rt(e,u,h.size)}}),me(e),N("after-indent",c),!0):!1})}function un(e){var t=e.parentElement;return{parent:t,index:q(t).filter(function(n){return!b(n,"ge-tools-drawer")}).indexOf(e)}}function ce(e){var t=null;if(Object.keys(L).forEach(function(r){var o=L[r];!t&&o.kindOf&&(t=o.kindOf(e))}),t)return t;if(e.getAttribute("data-ge-container"))return e.getAttribute("data-ge-container");var n=null;return Object.keys(O).forEach(function(r){var o=O[r];!n&&o.paneClass&&b(e,o.paneClass)&&(n=o.paneKind)}),n||(b(e,"ge-tab")?"tab":b(e,"ge-accordion-item")?"accordion-item":b(e,"row")?"row":b(e,"column")?"column":b(e,"ge-element")?"element":(b(e,"ge-text-block")&&(e=M(e,".ge-content")||e),b(e,"ge-content")?e.getAttribute("data-ge-content-type")?"text":"plain":"node"))}if(s.source_textarea){var et=oe(s.source_textarea).value,lr=v("div");lr.innerHTML=et,et.length>0&&!lr.querySelector(".row")&&(et='<div class="row"><div class="col-lg-12">'+et+"</div></div>"),mt(d,et)}if(d.children.length&&!d.querySelector("div.row")){var Bo=q(d),sr=V('<div class="row"><div class="col-lg-12"></div></div>');d.appendChild(sr),Bo.forEach(function(e){sr.firstChild.appendChild(e)})}function Vo(){ee=v("textarea",{class:"ge-html-output"}),f.parentNode.insertBefore(ee,f),cn(),Yi();var e={signal:en.signal};window.addEventListener("scroll",gr,e),$e(f,"click",".ge-content",di,e),$e(f,"click",".ge-popup-trigger, [data-ge-popup-target]",function(o){b(f,"ge-editing")&&o.preventDefault()},e);var t=Fe()==="sidebar";if(s.active_target||t){var n=null;f.addEventListener("pointerdown",function(o){n={x:o.clientX,y:o.clientY}},e),f.addEventListener("click",function(o){var i=n;n=null,b(f,"ge-editing")&&(i&&Math.abs(o.clientX-i.x)+Math.abs(o.clientY-i.y)>s.drag.threshold||(s.active_target&&r(o),t&&f.contains(o.target)&&pe(io(o.target))))},e),document.addEventListener("keydown",function(o){if(!(o.key!=="Escape"||G||ve)&&!(R&&b(R,"show"))){var i=document.activeElement;i&&(Se(i,"input, textarea, select")||i.isContentEditable)||(Y&&ut()?pe(null):U&&je(null))}},e)}t&&(f.addEventListener("focusin",function(o){var i=ut()?io(o.target):null;i&&pe(i)},e),document.addEventListener("click",function(o){var i=o.target;!Y||!ut()||!i||i.nodeType!==1||!Te(i)||f.contains(i)||X(i,Za)||f.querySelector(".ge-rte-active")||pe(null)},e),window.addEventListener("resize",Zr,e));function r(o){var i=X(o.target,Cr());if(i&&i===U&&(o.target===i||o.target===M(i,".ge-tools-drawer"))){je(null);return}je(i&&i!==f&&f.contains(i)?i:null)}}function Go(e){!Se(e,".ge-content")||!f.contains(e)||(ae("onContentReady",e),rt(e))}function cn(){x=v("div",{class:"ge-mainControls"}),ee.parentNode.insertBefore(x,ee),w=x.appendChild(v("div",{class:"ge-wrapper ge-top"}));var e=s.toolbar_overflow!=="wrap",t=w;e&&(C(w,"ge-toolbar-menu"),t=w.appendChild(v("div",{class:"ge-toolbar-start"}))),ue=[],D=t.appendChild(v("div",{class:"ge-addRowGroup btn-group"})),de=v("div",{class:"ge-addContainerGroup btn-group ms-1"}),s.new_row_layouts.forEach(function(u){var g=!Array.isArray(u),h=v("a",{class:"btn btn-sm btn-light",title:g?m("row.add_row_cols",{columns:u.columns,counts:li(u.row_cols)}):m("row.add",{layout:u.join("-")}),"data-ge-toolbar":"row","data-ge-layout":g?JSON.stringify(u):u.join(",")});h.addEventListener("click",function(){if(U){hn(h,"tool");return}var I=tt(u),Ht=ie("row",I,function(){f.appendChild(I)},{parent:f,source:"tool"});Ht&&I.scrollIntoView&&I.scrollIntoView({behavior:"smooth"})}),D.appendChild(h),ue.push({button:h,home:D,group:"rows"}),h.appendChild(V('<i class="bi bi-plus"></i>'));var E=g?si(u):u,T='<div class="row ge-row-icon">';E.forEach(function(I){T+='<div class="column '+He(y[0],I)+'"></div>'}),T+="</div>",h.appendChild(V(T))}),t.appendChild(de),Object.keys(O).forEach(function(u){var g=O[u],h=ur(v("a",{class:"btn btn-sm btn-light ge-add-container"}),m(g.labelKey),g.iconClass);Wt(h,{"data-ge-toolbar":"container","data-ge-container-type":u}),h.addEventListener("click",function(){if(U){hn(h,"tool");return}var E=Ye(),T=E.appendChild(Ae(H)),I=T.appendChild(g.create({}));ie(u,I,function(){f.appendChild(E)},{parent:f,source:"tool"})}),de.appendChild(h),ue.push({button:h,home:de,group:dr(g.group)||"content"})});var n=[];Ct={},Object.keys(L).forEach(function(u){Ct[u]=$o(L[u]),Ct[u].forEach(function(g,h){var E=ei(u,g,h);g.align==="end"?n.push(E):(de.appendChild(E),ue.push({button:E,home:de,group:dr(g.group)||u}))})}),We=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>'),$e(We,"click","a",function(){ko(this.getAttribute("data-ge-view"))}),w.appendChild(We),s.layout_modes.forEach(function(u){A(We,".dropdown-menu").appendChild(v("a",{class:"dropdown-item","data-ge-view":u,title:m(bt(u))},m(bt(u))))}),A(We,"button").textContent=m(bt(P));var r=w.appendChild(v("div",{class:"btn-group pull-right"}));if(s.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",we),o.addEventListener("click",function(){we?vn():fi(),z(o,"active btn-danger",we)}),r.appendChild(o)}var i=V('<button type="button" class="btn btn-sm btn-primary gm-preview"><i class="bi bi-eye-fill"></i></button>'),l=function(){b(i,"active")||C(f,"ge-editing")};if(i.setAttribute("title",m("tool.preview")),i.addEventListener("mouseenter",function(){k(f,"ge-editing")}),i.addEventListener("click",function(){z(i,"active btn-danger"),l()}),i.addEventListener("mouseleave",l),r.appendChild(i),n.length){var c=w.appendChild(v("div",{class:"pull-right ge-toolbar-end"}));n.forEach(function(u){c.appendChild(u)})}s.toolbar_groups&&Xo(t),e&&Zo(t),ni()}var qo=[{name:"rows",labelKey:"group.rows"},{name:"content",labelKey:"group.content"},{name:"elements",labelKey:"group.elements"}];function dr(e){return typeof e=="string"&&e.trim()!==""?e:null}function Xo(e){var t=qo.map(function(i){return i.name});if(ue.forEach(function(i){t.indexOf(i.group)<0&&t.push(i.group)}),t=t.filter(function(i){return ue.some(function(l){return l.group===i})}),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=x.appendChild(v("div",{class:"ge-toolbar-stash",hidden:"hidden"}));t.forEach(function(i){var l=n.appendChild(v("button",{type:"button",class:"btn btn-sm btn-outline-secondary",role:"tab","data-ge-group":i},Yo(i)));l.addEventListener("click",function(){o(i)})}),o(t.indexOf($t)>=0?$t:t[0]);function o(i){$t=i,ue.forEach(function(l){(l.group===i?l.home:r).appendChild(l.button)}),q(n).forEach(function(l){var c=l.getAttribute("data-ge-group")===i;z(l,"active",c),l.setAttribute("aria-selected",c?"true":"false")}),Jt()}}function Yo(e){var t="group."+e;if(el(s,t))return m(t);var n=ue.filter(function(r){return r.group===e})[0];return n.button.getAttribute("title")||e}function Jo(){return ue.filter(function(e){return!X(e.button,".ge-toolbar-stash")})}function $o(e){var t=typeof e.toolbar=="function"?e.toolbar():e.toolbar;return Array.isArray(t)?t:[]}function Qo(){if(!(!x||xt)){var e=!!A(x,".gm-preview.active");fn(),cn(),e&&C(A(x,".gm-preview"),"active btn-danger"),gr()}}function fn(){yt&&yt.abort(),yt=null,Yt=function(){},Jt=function(){},x.remove()}function Zo(e){var t=V('<div class="ge-toolbar-more"><button type="button" class="btn btn-sm btn-light"><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=A(t,"button"),r=A(t,".ge-toolbar-overflow"),o=_(r,".btn-group");function i(T){return T===D?o[0]:o[1]}n.setAttribute("title",m("tool.more")),n.setAttribute("aria-haspopup","true"),n.setAttribute("aria-expanded","false");var l=yt=new AbortController,c={signal:l.signal};if(n.addEventListener("click",function(){h(!b(t,"ge-open"))}),r.addEventListener("click",function(T){X(T.target,"[data-ge-toolbar]")&&h(!1)}),document.addEventListener("pointerdown",function(T){t.contains(T.target)||h(!1)},c),document.addEventListener("keydown",function(T){T.key==="Escape"&&h(!1)},c),Yt=function(){h(!1)},Jt=E,E(),window.ResizeObserver){var u=!1,g=new window.ResizeObserver(function(){u||(u=!0,window.requestAnimationFrame(function(){u=!1,l.signal.aborted||E()}))});g.observe(w),g.observe(e),l.signal.addEventListener("abort",function(){g.disconnect()})}function h(T){T=T&&b(t,"ge-needed"),z(t,"ge-open",T),n.setAttribute("aria-expanded",T?"true":"false")}function E(){var T=Jo();if(T.forEach(function(So){So.home.appendChild(So.button)}),k(t,"ge-needed"),e.scrollWidth<=e.clientWidth){h(!1);return}C(t,"ge-needed");for(var I=T.length-1;I>=0&&e.scrollWidth>e.clientWidth;I--){var Ht=i(T[I].home);Ht.insertBefore(T[I].button,Ht.firstChild)}}}function ur(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 ei(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),i=t.align==="end"?"btn-primary":"btn-light",l=ur(v("a",{class:"btn btn-sm "+i+" ge-add-container ge-add-feature"}),o,r);return C(l,t.className||""),Wt(l,{"data-ge-toolbar":"feature","data-ge-feature":e,"data-ge-item":n}),l.addEventListener("click",function(){if(U){hn(l,t.source||"tool");return}var c=t.create();if(c){var u=t.inColumn?mn(c):c,g=ie(t.kind,c,function(){f.appendChild(u)},{parent:f,source:t.source||"tool"});g&&t.inColumn&&u.scrollIntoView&&u.scrollIntoView({behavior:"smooth"})}}),l}function ti(){return s.toolbar_drag==="auto"?s.drag_handle==="drawer":!!s.toolbar_drag}function ni(){var e=_(x,"[data-ge-toolbar]");e.forEach(function(t){k(t,"ge-palette-button"),t.removeEventListener("pointerdown",cr)}),ti()&&e.forEach(function(t){C(t,"ge-palette-button"),t.addEventListener("pointerdown",cr)})}function cr(e){var t=e.currentTarget,n=e.pageX,r=e.pageY,o=null;if(e.button)return;function i(u){return Math.abs(u.pageX-n)+Math.abs(u.pageY-r)>s.drag.threshold}function l(u){if(!o){if(!i(u))return;o=C(t.cloneNode(!0),"ge-toolbar-helper"),document.body.appendChild(o),Yt(),C(f,"ge-dropping")}Oe(o,{left:u.pageX-14,top:u.pageY-14}),oi(u.pageX,u.pageY)}function c(u){if(document.removeEventListener("pointermove",l),qn(document,"pointerup pointercancel",c),!!o){o.remove(),k(f,"ge-dropping"),gn();var g=function(E){E.target!==t&&!t.contains(E.target)||(E.preventDefault(),E.stopImmediatePropagation())};window.addEventListener("click",g,{capture:!0,once:!0}),window.setTimeout(function(){window.removeEventListener("click",g,{capture:!0})},0);var h=fr(u.pageX,u.pageY);h&&mr(t,h)}}document.addEventListener("pointermove",l),se(document,"pointerup pointercancel",c)}function fr(e,t){var n=e-window.scrollX,r=t-window.scrollY,o=document.elementFromPoint(n,r);if(!o)return null;var i=X(o,[".column",".ge-canvas"].concat(It("regions")).join(", "));if(!i||i!==f&&!f.contains(i))return null;var l=null;return q(i,Nn()).forEach(function(c){if(!l){var u=c.getBoundingClientRect();r<u.top+u.height/2&&(l=c)}}),{region:i,before:l}}function ri(e,t,n){var r=(Ct[e.getAttribute("data-ge-feature")]||[])[parseInt(e.getAttribute("data-ge-item"),10)];if(!r)return null;var o=r.create();if(!o)return null;var i=o;if(r.inColumn)Se(t.region,".column")||(i=mn(o));else if(!In(t.region,o)){var l=t.region===f?[]:Oo(t.region,f).reverse().concat([t.region]),c=l[0]||null;t={region:f,before:c?c.nextElementSibling:null}}return ie(r.kind,o,function(){t.before?t.before.parentNode.insertBefore(i,t.before):t.region.appendChild(i)},{parent:t.region,source:r.source||n||"dragdrop"})}function mn(e){var t=Ye();return t.appendChild(Ae(H)).appendChild(e),t}function oi(e,t){var n=fr(e,t);if(!n)return gn();Ue||(Ue=v("div",{class:"ge-drop-marker"})),n.before?n.before.parentNode.insertBefore(Ue,n.before):n.region.appendChild(Ue)}function gn(){Ue&&Ue.remove()}function mr(e,t,n){if(e.getAttribute("data-ge-toolbar")==="feature")return ri(e,t,n);var r=e.getAttribute("data-ge-toolbar")==="container",o=e.getAttribute("data-ge-container-type"),i=r?O[o].create({}):ai(e.getAttribute("data-ge-layout")),l=i;return r&&!Se(t.region,".column")&&(l=mn(i)),ie(r?o:"row",i,function(){t.before?t.before.parentNode.insertBefore(l,t.before):t.region.appendChild(l)},{parent:t.region,source:n||"dragdrop"})}function ii(){for(var e=[],t=1;t<=H;t++)e.push(String(t));return{name:"col",values:e.concat(Yn),appliesTo:["column"],labelKey:"utility.col_width",className:function(n,r){return He(Z(n),pn(r))},choices:function(){return s.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,i){return dn(n,r===null?null:pn(r),i,o)},blank:function(n,r){var o=r===Q?null:Pt(n,Z(r));return o?m("utility.col_from_row",{count:fo(o.value)}):null}}}function pn(e){return/^\d+$/.test(String(e))?parseInt(e,10):e}function ai(e){return/^\s*\{/.test(e||"")?tt(JSON.parse(e)):tt((e||"").split(",").filter(function(t){return t!==""}).map(pn))}function tt(e){var t=Ye();if(Array.isArray(e))return e.forEach(function(r){t.appendChild(Ae(r))}),t;Object.keys(e.row_cols||{}).forEach(function(r){var o=e.row_cols[r],i=Z(r);i&&Qe.indexOf(String(o))!==-1&&C(t,Jn(i,o))});for(var n=0;n<(e.columns||0);n++)t.appendChild(Ae(null));return t}function li(e){return y.filter(function(t){return e&&e[t.key]!==void 0}).map(function(t){return(t.infix?t.key+": ":"")+e[t.key]}).join(", ")}function si(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 gr(){var e=window.pageYOffset;e>Bt(x).top&&e<Bt(f).top+Lo(f)?b(w,"ge-top")&&(Oe(w,{left:Bt(w).left,width:vt(w)}),k(w,"ge-top"),C(w,"ge-fixed")):b(w,"ge-fixed")&&(Oe(w,{left:"",width:""}),k(w,"ge-fixed"),C(w,"ge-top"))}function di(){var e=this;if(!e.getAttribute("data-ge-content-type")&&!ge()&&Ut(e)){var t=wr();t.length&&(t.length===1?pr(e,t[0]):ui(e,t))}}function pr(e,t){return t.available&&!t.available()?(t.missingKey&&console.error(m(t.missingKey)),!1):$(function(){var n=re("plain",e,{source:"tool",from:"plain",to:t.type});if(!N("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 b(r,"ge-text-block")&&(k(r,"ge-plain-block"),q(r,".ge-tools-drawer").forEach(function(o){o.remove()})),N("after-convert",n),t.edit(e),!0})}function ui(e,t){var n=b(e.parentElement,"ge-text-block")?e.parentElement:null;n&&vr(M(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(){pr(e,r)}}}),"ge-text-picker ge-convert-picker",n)}function vr(e,t,n,r){if(ge(),!!e){var o=X(e,".ge-tools-drawer");o&&C(o,"ge-picker-open"),ne=e.appendChild(C(v("div",{class:"ge-size-picker"}),n||"")),t.forEach(function(i){var l=Wt(v("a",{class:"ge-size ge-size-flex"}),i.attributes||{});l.setAttribute("title",i.title||i.label),l.textContent=i.label,l.addEventListener("click",function(c){c.preventDefault(),c.stopPropagation(),ge(),i.choose()}),ne.appendChild(l)}),hr(r||e)}}function hr(e){e.addEventListener("mouseleave",function(){window.setTimeout(function(){ne&&!ne.matches(":hover")&&ge()},400)},{once:!0})}function br(){var e={},t=[];return Object.keys(L).forEach(function(n){var r=L[n];r.textTypes&&(r.textTypes()||[]).forEach(function(o){if(e[o.type]){e[o.type]!==n&&K("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 wr(){return br().filter(function(e){return e.offered!==!1})}function ci(e){return br().some(function(t){return t.type===e})}function yr(){Re(),fe()}function fi(){Re(),je(null),pe(null),ee.style.height=.8*document.documentElement.clientHeight+"px",ee.value=f.innerHTML,Le(ee),be(f),we=!0,ae("onSourceOpen",ee)}function vn(){ae("onSourceClose",ee),we=!1,mt(f,ee.value),Le(f),fe(),be(ee)}function Cr(){return[".column"].concat(It("regions")).join(", ")}function mi(e){return!!e&&e!==f&&f.contains(e)&&Se(e,Cr())}function je(e){if(e!==U){var t=U;t&&k(t,"ge-active-target"),U=e,e&&b(f,"ge-editing")&&C(e,"ge-active-target"),N("target-change",{canvas:f,target:e,from:t})}}function hn(e,t){var n=mr(e,{region:U,before:null},t);n&&n.scrollIntoView&&n.scrollIntoView({behavior:"smooth"})}function fe(){G&&!Te(G.node)&&_e(),Y&&!f.contains(Y)&&pe(null),ve&&ve.home&&!Te(ve.home)&&he(),Wn(!0),C(f,"ge-editing"),z(f,"ge-drag-drawer",s.drag_handle==="drawer"),da();var e=za();ja(e),Na(e),Ia(),Vi(),Gi(),Ri(),ae("onInit"),va(),ya(),_o(P),rt(f),U&&!f.contains(U)?je(null):U&&C(U,"ge-active-target"),ia()}function Re(){_e(),aa(),k(f,"ge-editing ge-drag-drawer ge-dropping"),U&&k(U,"ge-active-target"),ae("onBeforeDeinit"),ge(),gn(),he(),Er(f),St.clear(),xo(f),ae("onDeinit"),At(f),xr(f),Ni(),Ta(),xa(),Wn(!1,f)}function Er(e){_(e,".ge-tools-drawer").forEach(function(t){t.remove()})}function xr(e){_(e,"[data-ge-row-cols]").forEach(function(t){t.removeAttribute("data-ge-row-cols")})}function gi(){var e=[];return[O,L,B].forEach(function(t){Object.keys(t).forEach(function(n){var r=t[n],o=r.unmark||r.onDeinit||r.onBeforeDeinit;o&&!r.cleanMarkup&&e.push(n)})}),e}function pi(){for(var e=f.cloneNode(!0),t=new Map,n=new Map,r=document.createTreeWalker(f,NodeFilter.SHOW_ELEMENT),o=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT),i=r.currentNode,l=o.currentNode;i&&l;)t.set(l,i),n.set(i,l),i=r.nextNode(),l=o.nextNode();return{root:e,liveOf:function(c){return t.get(c)||null},copyOf:function(c){return n.get(c)||null}}}function _r(){if(we)return nt();var e=gi();if(e.length)return e.forEach(function(o){K("snapshot:"+o,'the "'+o+'" plugin has no cleanMarkup, so the canvas leaves editing to be read: open texts and settings panels close')}),nt();var t=pi(),n=t.root;[n].concat(_(n,".ge-active-target, .ge-settings-target")).forEach(function(o){k(o,"ge-active-target ge-settings-target"),gt(o)}),_(n,".ge-drop-marker").forEach(function(o){o.remove()}),Er(n),xo(n);var r=null;return[O,L,B].forEach(function(o){Object.keys(o).forEach(function(i){var l=o[i];r||!l.cleanMarkup||l.cleanMarkup(n,t.liveOf)===!1&&(r=i)})}),r?(K("snapshot-refused:"+r,'the "'+r+'" plugin cannot take its marking off a copy right now, so the canvas leaves editing to be read'),nt()):(At(n),xr(n),_(n,"[data-ge-container]").forEach(Dr),Et.forEach(function(o){var i=t.copyOf(o.el);i&&_(i,"[draggable]").forEach(function(l){l.removeAttribute("draggable")})}),bo(n),Wn(!1,n),Xe(n),n.innerHTML)}function nt(e){if(e&&e.keepEditing)return _r();Re(),Xe(f);var t=f.innerHTML;return fe(),t}function vi(e){Re(),Xe(e);var t=e.outerHTML;return fe(),t}function hi(e){return $n(nt(e))}function bi(e){we&&(vn(),x&&_(x,".gm-edit-mode").forEach(function(t){k(t,"active btn-danger")})),Re(),mt(f,e),fe()}function wi(){ae("onDestroy"),we&&vn(),Re(),U=null,Y=null,qt===a&&(qt=null),or(),Jr(),so(),fn(),ee.remove(),en.abort(),Xt.delete(f),xt=!0}function yi(){var e=tr=Ci();wn("grid",{},ii()),s.row_cols!==!1&&wn("grid",{},ma());var t=function(r){return!s.plugins||s.plugins.indexOf(r)!==-1},n=function(r,o){return o.always===!0||t(r)};Object.keys(S.containers).forEach(function(r){t(r)&&(O[r]=S.containers[r](e))}),Object.keys(S.features).forEach(function(r){var o=S.features[r];n(r,o)&&(L[r]=o(e))}),Object.keys(S.utilities).forEach(function(r){t(r)&&(B[r]=S.utilities[r](e),(B[r].families||[]).forEach(function(o){wn(r,B[r],o)}))}),Object.keys(L).forEach(function(r){var o=L[r].methods||{};Object.keys(o).forEach(function(i){Ne[i]=o[i]})}),(s.plugins||[]).forEach(function(r){O[r]||L[r]||B[r]||K("plugin:"+r,'the "'+r+'" plugin is not loaded: include dist/plugins/grideditor.'+r+".js after the editor")})}function ae(e,t){[O,L,B].forEach(function(n){Object.keys(n).forEach(function(r){n[r][e]&&n[r][e](t)})})}function Ci(){return{canvas:f,settings:s,t:m,warn:W,containerId:Ir,freshNode:zi,defaultRegion:ji,createTool:F,createMoveTool:De,addSettingsTool:st,deleteNode:ze,place:Ft,createPaneControls:Di,makeLabelEditable:Fi,labelIn:Hi,unwrapLabels:Wi,suspendToggles:Fr,resumeToggles:Hr,emit:N,payloadFor:re,operate:$,kindOf:ce,view:Bn,viewTiers:function(){return No(P).map(function(e){return e.key})},breakpoints:y.map(function(e){return e.key}),getUtility:Mr,setUtility:En,utilityField:Pi,bareStyle:ki,hostStyle:Pr,setHostStyle:Li,openDialog:lo,closeDialog:he,rowFromLayout:tt,nodeHtml:vi,snapshotHtml:_r,setHtml:bi,confirm:rr,textReady:Go,attachPicker:Ur,openPicker:vr,closePicker:ge,detailsOf:Tn,drawerOf:Ei,refreshToolbar:Qo,toolbarItems:function(e){return x?_(x,'[data-ge-toolbar="feature"][data-ge-feature="'+e+'"]'):[]}}}function Ei(e){if(b(e,"ge-content")){var t=e.parentElement;return b(t,"ge-text-block")?M(t,".ge-tools-drawer"):null}return M(e,".ge-tools-drawer")}var Ce={},xi=".row, .column, .ge-content, .ge-element, [data-ge-container]",Ve="data-ge-preview",bn=!1;function wn(e,t,n){var r=n.name||n.prefix;if(Ce[r]){W('the "'+e+'" plugin declares the utility "'+r+'", which the "'+Ce[r].plugin+'" plugin already declared: ignored');return}Ce[r]={plugin:e,family:Object.assign({},n,{name:r,values:n.values.map(String),appliesTo:n.appliesTo||t.appliesTo||["row","column"]})}}function kt(e,t){return Ce[e]?Ce[e].family:(K("utility:"+e,t+"("+JSON.stringify(e)+"): no loaded plugin declares that utility"),null)}function kr(e,t){return t==="plain"&&(t="text"),e.appliesTo.indexOf(t)!==-1?!0:!!O[t]&&e.appliesTo.indexOf("container")!==-1}function Ar(e){return Object.keys(Ce).map(function(t){return Ce[t].family}).filter(function(t){return kr(t,e)})}function yn(e,t,n){return e.className?e.className(t.key,n):e.prefix+(t.infix?"-"+t.infix:"")+"-"+n}function Ee(e,t,n){for(var r=(e.getAttribute("class")||"").split(/\s+/),o=0;o<t.values.length;o++)if(r.indexOf(yn(t,n,t.values[o]))!==-1)return t.values[o];return null}function Sr(e,t,n){for(var r=y.indexOf(n)-1;r>=0;r--){var o=Ee(e,t,y[r]);if(o!==null)return{tier:y[r],value:o}}return null}function Tr(e,t,n){var r=Ee(e,t,n);if(r!==null)return r;var o=Sr(e,t,n);return o?o.value:null}function Cn(e,t){return y.map(function(n){return{tier:n,value:Ee(e,t,n)}}).filter(function(n){return n.value!==null})}function Or(e,t,n,r){t.values.forEach(function(o){k(e,yn(t,n,o))}),r!==null&&C(e,yn(t,n,r)),gt(e)}function Lr(e,t,n){return n===Q?Ee(e,t,y[0]):Tr(e,t,Z(n))}function _i(e,t,n,r){if(n!==Q){var o=Z(n);return Ee(e,t,o)===r?null:{writes:[{tier:o,value:r}],cleared:[]}}var i=[],l=[];return Cn(e,t).forEach(function(c){c.tier!==y[0]&&(i.push({tier:c.tier,value:null}),l.push({breakpoint:c.tier.key,value:c.value}))}),Ee(e,t,y[0])!==r&&i.unshift({tier:y[0],value:r}),i.length?{writes:i,cleared:l}:null}function Mr(e,t,n){e=oe(e);var r=kt(t,"getUtility");if(!r||!e)return null;var o=n===void 0?P:Kn(n);return o===null?(W("getUtility("+JSON.stringify(n)+"): no such layout mode"),null):Lr(e,r,o)}function En(e,t,n,r){r=typeof r=="string"?{view:r}:r||{},e=oe(e);var o=kt(t,"setUtility");if(!o||!e)return!1;var i=r.view===void 0?P:Kn(r.view);if(i===null)return W("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 W("setUtility: "+JSON.stringify(n)+' is not a value of "'+t+'", which takes '+JSON.stringify(o.values)),!1;var l=ce(e);if(!kr(o,l))return W('setUtility: "'+t+'" does not apply to a '+l),!1;if(o.write)return o.write(e,n,i,r.source||"api");var c=_i(e,o,i,n);return c?$(function(){var u=re(l,e,{family:t,breakpoint:i,tiers:c.writes.map(function(g){return g.tier.key}),from:Lr(e,o,i),to:n,cleared:c.cleared,source:r.source||"api"});return N("before-utility",u)?(c.writes.forEach(function(g){Or(e,o,g.tier,g.value)}),me(e),N("after-utility",u),!0):(me(e),!1)}):!1}function ki(e,t,n){var r=kt(t,"bareStyle");if(e=oe(e),!r||!e)return null;var o=e.getAttribute("class");y.forEach(function(l){Or(e,r,l,null)});var i=getComputedStyle(e).getPropertyValue(n);return o===null?e.removeAttribute("class"):e.setAttribute("class",o),i}function me(e){var t=Tn(e);if(t){var n=A(t,".ge-classes");n&&(n.value=Sn(e).join(" ")),q(t,".ge-utilities").forEach(function(r){xn(r)})}jr(e),rt(e)}function Ai(e){return le(e,xi)}function rt(e){At(e),P!==Q&&Si(e,Z(P)),fa(e),ae("onRefresh",e)}function Si(e,t){Ai(e).forEach(function(n){var r=ce(n),o={};Ar(r).forEach(function(i){!i.preview||!Cn(n,i).length||Object.assign(o,i.preview(Tr(n,i,t),n,r))}),r==="column"&&Object.assign(o,ca(n,t)),Object.keys(B).forEach(function(i){var l=B[i];l.preview&&Object.assign(o,l.preview(n,r,t.key))}),Object.keys(o).length&&Ti(n,o)})}function Ti(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(Ve,JSON.stringify(r))}function At(e){le(e,"["+Ve+"]").forEach(function(t){var n=t.style,r={};try{r=JSON.parse(t.getAttribute(Ve))||{}}catch(o){}Object.keys(r).forEach(function(o){var i=r[o];i&&i[0]?n.setProperty(o,i[0],i[1]):n.removeProperty(o)}),t.removeAttribute(Ve),pt(t)})}function Oi(e){var t=document.createElement("div"),n={};t.style.cssText=e.style.cssText;try{n=JSON.parse(e.getAttribute(Ve))||{}}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 Pr(e,t){var n=Oi(e);return t===void 0?n.cssText:{value:n.getPropertyValue(t),priority:n.getPropertyPriority(t)}}function Li(e,t,n,r){if(n=n==null?"":String(n).trim(),r===void 0&&(r=Pr(e,t).priority),n!==""){var o=document.createElement("div").style;if(o.setProperty(t,n,r||""),o.getPropertyValue(t)==="")return!1}var i=e.hasAttribute(Ve);return i&&At(e),n===""?e.style.removeProperty(t):e.style.setProperty(t,n,r||""),pt(e),i&&rt(e),!0}function Mi(e){var t=ce(e),n=Ar(t).filter(function(l){return l.panel!==!1}).map(function(l){return zr(e,l)});if(Object.keys(B).forEach(function(l){var c=B[l],u=c.panel?c.panel(e,t):null;u&&n.push(u)}),!n.length)return null;var r=z(v("div",{class:"ge-utilities"}),"ge-open",bn);nr.set(r,e);var o=r.appendChild(v("a",{class:"ge-utilities-toggle"}));o.addEventListener("click",function(){bn=!b(r,"ge-open"),qr().forEach(function(l){_(l,".ge-utilities").forEach(function(c){z(c,"ge-open",bn)})})});var i=r.appendChild(v("div",{class:"ge-utilities-body"}));return n.forEach(function(l){i.appendChild(l)}),xn(r),r}function zr(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(){En(e,t.name,this.value,{source:"panel"})}),n.appendChild(v("small",{class:"ge-utility-note"})),n}function Pi(e,t){var n=kt(t,"utilityField");if(!n)return null;var r=zr(e,n);return _n(r,e),St.set(r,e),r}var St=new Map;function jr(e){St.forEach(function(t,n){if(!n.isConnected){St.delete(n);return}e&&t!==e||X(n,".ge-utilities")||_n(n,t)})}function xn(e){var t=nr.get(e);q(e,".ge-utilities-toggle").forEach(function(n){n.textContent=m("utility.section",{view:m(bt(P))})}),_(e,".ge-utility").forEach(function(n){_n(n,t)})}function _n(e,t){var n=Ce[e.getAttribute("data-ge-family")].family,r=M(e,"select"),o=n.choices?n.choices(t,ce(t)):n.values,i,l,c="";if(r.innerHTML="",P===Q){i=Ee(t,n,y[0]),l=m("utility.default");var u=Cn(t,n).filter(function(I){return I.tier!==y[0]});u.length&&(c=m("utility.varies",{breakpoints:u.map(function(I){return I.tier.key}).join(", ")}))}else{var g=Z(P),h=Sr(t,n,g);i=Ee(t,n,g),l=h?m("utility.inherit",{value:Rr(n,h.value),breakpoint:h.tier.key}):m("utility.default");var E=n.blank?n.blank(t,P):null;E&&i===null&&(l=E)}i!==null&&o.indexOf(i)===-1&&(o=o.concat([i])),r.appendChild(v("option",{value:""},l)),o.forEach(function(I){r.appendChild(v("option",{value:I},Rr(n,I)))}),r.value=i===null?"":i;var T=M(e,".ge-utility-note");T.textContent=c,Gn(T,c!=="")}function Rr(e,t){return e.label?e.label(t):t}var O={},L={},B={},Ne={},Nr=0;function Ir(e){return Nr++,"ge-"+e+"-"+Nr+"-"+Math.random().toString(36).slice(2,6)}function zi(e){var t=V(e),n={},r=function(o){return!!document.getElementById(o)||Object.keys(n).some(function(i){return n[i]===o})};return le(t,"[id]").forEach(function(o){var i=o.id;if(document.getElementById(i)){var l=Ja.exec(i),c;if(l)do c=Ir(l[1]);while(r(c));else{for(var u=2;r(i+"-"+u);)u++;c=i+"-"+u}n[i]=c,o.id=c}}),Object.keys(n).length&&le(t,"*").forEach(function(o){Ya.forEach(function(i){var l=o.getAttribute(i);if(l!==null&&!(i==="href"&&l.charAt(0)!=="#")){var c=l.split(/(\s+)/).map(function(u){return n[u]?n[u]:u.charAt(0)==="#"&&n[u.slice(1)]?"#"+n[u.slice(1)]:u}).join("");c!==l&&o.setAttribute(i,c)}})}),t}function ji(){var e=Ye();return e.appendChild(Ae(H)),e}function Ie(e){return e?e.getAttribute("data-ge-container"):null}function Ri(){_(f,"[data-ge-container]").forEach(function(e){var t=Ie(e),n=O[t];if(!n){K("container:"+t,'unknown container type "'+t+'"');return}C(e,"ge-container ge-container-"+t),n.mark(e),M(e,".ge-tools-drawer")||Ii(e,t,n)})}function Ni(){_(f,"[data-ge-container]").forEach(function(e){var t=O[Ie(e)];t&&t.unmark(e),Dr(e)})}function Dr(e){k(e,"ge-container ge-container-"+Ie(e)),gt(e)}function Ge(e,t){var n=v("div",{class:t});return e.insertBefore(n,e.firstChild),n}function Tt(e,t){(t||[]).forEach(function(n){F(e,n.title||"",n.className||"",n.iconClass||"bi bi-wrench",n.on)})}function Ii(e,t,n){var r=Ge(e,"ge-tools-drawer ge-container-drawer");De(r),st(r,e,s.container_classes),Tt(r,s.container_tools),n.tools&&n.tools(r,e),F(r,m("tool.delete_container"),"ge-delete-container","bi bi-trash",function(){ze(t,e,m("confirm.delete_container"),function(o){ht(e,o)})}),n.addPane&&F(r,m(n.addPaneKey),"ge-add-pane","bi bi-plus-circle",function(){var o=n.addPane(e,{});o&&ie(n.paneKind,o,function(){},{parent:e,source:"tool",container:e})})}function Di(e,t,n,r,o){var i=Ge(e,"ge-tools-drawer ge-pane-drawer");return De(i),st(i,e,s.pane_classes),Tt(i,n),F(i,m("tool.delete_pane"),"ge-delete-pane","bi bi-trash",function(){ze(t,e,r,function(l){o(l)})}),i}var Ot=["toggle","dismiss","slide","slide-to","ride"];function Fr(e){e&&le(e,Ot.map(function(t){return"[data-bs-"+t+"]"}).join(", ")).forEach(function(t){Ot.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 Hr(e){e&&le(e,Ot.map(function(t){return"[data-ge-bs-"+t+"]"}).join(", ")).forEach(function(t){Ot.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 Fi(e){if(!Zt.has(e)){var t=X(e,"[data-bs-toggle], [data-ge-bs-toggle]");Zt.add(e),e.setAttribute("title",m("tool.rename")),e.addEventListener("dblclick",function(n){n.preventDefault(),n.stopPropagation(),Fr(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"),Hr(t)})}}function Hi(e){var t=M(e,".ge-pane-label");return t||(t=v("span",{class:"ge-pane-label"},e.textContent.trim()),e.innerHTML="",e.appendChild(t)),t}function Wi(e){_(e,".ge-pane-label").forEach(function(t){Zt.delete(t),Gt(t)})}function Wr(e,t){var n=Ae(t);return ie("column",n,function(){e.appendChild(n)},{parent:e,source:"tool"})}function Ui(e,t){!s.add_column.picker||!e||Ur(e,function(){Ki(e,t)})}function Ur(e,t){var n=null,r=function(){window.clearTimeout(n),n=null};se(e,"mouseenter mousedown",function(){n||ne||(n=window.setTimeout(function(){n=null,t()},s.add_column.delay))}),se(e,"mouseleave mouseup",r)}function Ki(e,t){ge();var n=Rn(t,xe()),r=X(e,".ge-tools-drawer");r&&C(r,"ge-picker-open"),ne=e.appendChild(v("div",{class:"ge-size-picker"})),s.valid_col_sizes.forEach(function(o){var i=v("a",{class:"ge-size","data-ge-size":o,title:Bi(o)},J(o)?o:He(y[0],o));z(i,"ge-size-tight",J(o)&&o>n),z(i,"ge-size-flex",!J(o)),i.addEventListener("click",function(l){l.preventDefault(),l.stopPropagation(),ge(),Wr(t,o)}),ne.appendChild(i)}),hr(e)}function Bi(e){return e==="equal"?m("tool.column_equal"):e==="auto"?m("tool.column_auto"):m("tool.column_size",{size:e})}function ge(){if(!ne)return!1;var e=X(ne,".ge-tools-drawer");return e&&k(e,"ge-picker-open"),ne.remove(),ne=null,!0}function Vi(){_(f,".row").forEach(function(e){if(!M(e,".ge-tools-drawer")){var t=Ge(e,"ge-tools-drawer");De(t),st(t,e,s.row_classes),Tt(t,s.row_tools),F(t,m("tool.delete_row"),"ge-delete-row","bi bi-trash",function(){ze("row",e,m("confirm.delete_row"),function(n){ht(e,n)})}),F(t,m("tool.add_column"),"ge-add-column","bi bi-plus-circle",function(){ge()||Wr(e,ct(e,xe())?null:s.add_column.size)}),Ui(M(t,".ge-add-column"),e)}})}function Gi(){_(f,".column").forEach(function(e){if(!M(e,".ge-tools-drawer")){var t=Ge(e,"ge-tools-drawer");De(t),s.resize.tools!==!1&&(F(t,m("tool.column_narrower"),"ge-decrease-col-width","bi bi-dash-lg",function(n){dn(e,n.shiftKey?lt(s.valid_col_sizes):Lt(s.valid_col_sizes.filter(J),it(e),-1),"tool")}),F(t,m("tool.column_wider"),"ge-increase-col-width","bi bi-plus-lg",function(n){dn(e,n.shiftKey?qi(e):Lt(s.valid_col_sizes.filter(J),it(e),1),"tool")})),s.indent.tools!==!1&&(F(t,m("tool.indent_decrease"),"ge-decrease-col-offset","bi bi-text-indent-right",function(n){ar(e,n.shiftKey?lt(s.valid_col_offsets):Lt(s.valid_col_offsets,at(e),-1),"tool")}),F(t,m("tool.indent_increase"),"ge-increase-col-offset","bi bi-text-indent-left",function(n){ar(e,n.shiftKey?Xi(e):Lt(s.valid_col_offsets,at(e),1),"tool")})),st(t,e,s.col_classes),Tt(t,s.col_tools),F(t,m("tool.delete_column"),"ge-delete-column","bi bi-trash",function(){ze("column",e,m("confirm.delete_column"),function(n){zo(e,400,n,!0)})}),F(t,m("tool.add_row"),"ge-add-row","bi bi-plus-circle",function(){var n=Ye();ie("row",n,function(){e.appendChild(n)},{parent:e,source:"tool"})})}})}function xe(){return P===Q?y[y.length-1]:Z(P)}function ot(e){var t=xe();if(Pt(e,t))return null;var n=zn(e,t);return n===null?H:n}function it(e){var t=ot(e);if(J(t))return t;var n=Math.round(vt(e)/Kr(e.parentElement)*H);return Math.min(Math.max(n,1),H)}function Kr(e){var t=window.getComputedStyle(e);return e.clientWidth-parseFloat(t.paddingLeft)-parseFloat(t.paddingRight)}function at(e){return jt(e,xe())||0}function Lt(e,t,n){var r=e.indexOf(t);return r===-1?e.reduce(function(o,i){return Math.abs(i-t)<Math.abs(o-t)?i:o},e[0]):e[Math.min(Math.max(r+n,0),e.length-1)]}function lt(e){return e.filter(J).reduce(function(t,n){return Math.min(t,n)},H)}function kn(e){return e.filter(J).reduce(function(t,n){return Math.max(t,n)},0)}function qi(e){var t=Rn(e.parentElement,xe(),e)-at(e);return Math.min(kn(s.valid_col_sizes),Math.max(t,1))}function Xi(e){var t=Rn(e.parentElement,xe(),e)-it(e);return Math.min(kn(s.valid_col_offsets),Math.max(t,0))}function De(e){return s.drag_handle==="drawer"?null:F(e,m("tool.move"),"ge-move","bi bi-arrows-move")}var An=".ge-tools-drawer:not(.ge-text-drawer):not(.ge-pane-drawer):not(.ge-code-inline)";function Yi(){if(s.drawer_overflow==="wrap"||!window.ResizeObserver||!window.MutationObserver)return;var e=new Set,t=null;function n(l){e.add(l),t===null&&(t=window.requestAnimationFrame(r))}function r(){t=null;var l=Array.from(e);e.clear(),l.forEach(function(c){if(!c.isConnected){o.unobserve(c);return}Ji(c)})}var o=new window.ResizeObserver(function(l){l.forEach(function(c){n(c.target)})}),i=new window.MutationObserver(function(l){l.forEach(function(c){var u=c.target;if(c.type==="attributes"){var g=u.parentNode;g&&g.nodeType===1&&g.matches(An)&&n(g);return}if(u.nodeType===1&&u.matches(An)){n(u);return}c.addedNodes.forEach(function(h){h.nodeType===1&&le(h,An).forEach(function(E){C(E,"ge-drawer-fit"),o.observe(E),n(E)})})})});i.observe(f,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["style"]}),en.signal.addEventListener("abort",function(){i.disconnect(),o.disconnect(),t!==null&&window.cancelAnimationFrame(t)})}function Ji(e){var t=q(e,"a").filter(function(o){return!b(o,"ge-drawer-more")}),n=b(e,"ge-drawer-expanded");if(k(e,"ge-drawer-overflow ge-drawer-expanded"),t.forEach(function(o){k(o,"ge-tool-overflow")}),!!Br(e,t)){C(e,"ge-drawer-overflow"),M(e,".ge-drawer-more")||F(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&&Br(e,t);r--)C(t[r],"ge-tool-overflow");z(e,"ge-drawer-expanded",n)}}function Br(e,t){var n=window.getComputedStyle(e),r=e.getBoundingClientRect().right-parseFloat(n.borderRightWidth)-parseFloat(n.paddingRight);return t.some(function(o){var i=o.getClientRects();return i.length>0&&i[0].right>r+.5})}function F(e,t,n,r,o){var i=v("a",{title:t,class:n});return i.appendChild(v("i",{class:r})),e.appendChild(i),typeof o=="function"&&i.addEventListener("click",o),o&&typeof o=="object"&&Object.keys(o).forEach(function(l){se(i,l,o[l])}),i}function Sn(e){return(e.getAttribute("class")||"").split(/\s+/).filter(function(t){return t!==""&&!$i(t)})}function $i(e){return e==="row"||e==="column"||/^(ge-|ui-)/.test(e)||/^col(-(sm|md|lg|xl|xxl))?(-auto)?$/.test(e)?!0:y.some(function(t){return new RegExp("^("+t.colPrefix+"|"+t.offsetPrefix+")\\d+$").test(e)})}function Qi(e,t){Sn(e).forEach(function(n){k(e,n)}),t.split(/\s+/).forEach(function(n){n!==""&&C(e,n)}),gt(e)}function st(e,t,n){var r=Zi(t,n||[]);Be.set(t,r),Fe()!=="sidebar"&&F(e,m("tool.settings"),"ge-settings","bi bi-gear-fill",function(){ta(t,r,this)});var o=ce(t);return Object.keys(B).forEach(function(i){B[i].drawerTools&&B[i].drawerTools(e,t,o)}),Object.keys(L).forEach(function(i){L[i].drawerTools&&L[i].drawerTools(e,t,o)}),e.appendChild(r)}function Zi(e,t){var n=v("div",{class:"ge-details"});n.appendChild(Vr(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)},i=v("input",{class:"ge-id form-control form-control-sm",placeholder:m("tool.id_placeholder"),title:m("tool.id_title")});i.value=e.getAttribute("id")||"",o(m("panel.id")).appendChild(i),i.addEventListener("change",function(){this.value===""?e.removeAttribute("id"):e.setAttribute("id",this.value)});var l=v("input",{class:"ge-classes form-control form-control-sm",placeholder:m("tool.classes_placeholder"),title:m("tool.classes_title")});l.value=Sn(e).join(" "),o(m("panel.classes")).appendChild(l),l.addEventListener("change",function(){Qi(e,this.value),me(e)});var c=r.appendChild(v("div",{class:"btn-group btn-group-sm ge-presets",role:"group"}));t.forEach(function(g){var h=b(e,g.cssClass),E=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"});E.innerHTML=g.label,z(E,"active",h),E.addEventListener("click",function(){z(E,"active"),E.setAttribute("aria-pressed",b(E,"active")?"true":"false"),z(e,g.cssClass,b(E,"active")),me(e)}),c.appendChild(E)}),ea(e).forEach(function(g){n.appendChild(g)});var u=Mi(e);return u&&n.appendChild(u),n}function Vr(e){return v("h6",{class:"ge-section-title"},e)}function ea(e){var t=ce(e),n=Fe(),r=[];return[O,L,B].forEach(function(o){Object.keys(o).forEach(function(i){var l=o[i],c=l.panelSection?l.panelSection(e,t):null;if(!(!c||!c.body)){var u=v("div",{class:"ge-panel-section","data-ge-plugin":i});if(n==="offcanvas"||n==="modal"||n==="sidebar")u.appendChild(Vr(m(c.labelKey))),u.appendChild(c.body);else{var g=m(c.labelKey),h=u.appendChild(v("button",{type:"button",class:"btn btn-sm btn-outline-secondary ge-panel-section-open"},g));be(c.body),u.appendChild(c.body),h.addEventListener("click",function(){lo(c.titleKey?m(c.titleKey,{kind:Pn(e)}):g,c.body,h)})}r.push(u)}})}),r}var Gr=["offcanvas","popover","modal","inline","sidebar"],j={},G=null,Mt=new WeakMap;function Fe(){return Gr.indexOf(s.settings_panel)!==-1?s.settings_panel:(K("settings_panel",'settings_panel "'+s.settings_panel+'" is not one of '+Gr.join(", ")+": using offcanvas"),"offcanvas")}function Tn(e){return e&&Be.get(e)||null}function qr(){var e=[f];return G&&G.mode!=="inline"&&e.push(G.details),ke&&e.push(ke.details),e}function ta(e,t,n){var r=Fe();if(r==="inline"){Gn(t);return}var o=G&&G.details===t;_e(),o||na(r,e,t,n)}function na(e,t,n,r){var o=Yr(e),i=new AbortController;G={mode:e,node:t,details:n,home:n.parentElement,next:n.nextElementSibling,gear:r,listening:i},A(o,".ge-settings-title").textContent=m("panel.title",{kind:Pn(t)}),A(o,".ge-settings-body").appendChild(n),Le(n),C(t,"ge-settings-target");var l={signal:i.signal};if(document.addEventListener("keydown",function(u){u.key==="Escape"&&!ve&&_e()},l),e==="offcanvas"){var c=window.innerWidth<576;z(o,"offcanvas-end",!c),z(o,"offcanvas-bottom",c),k(o,"hiding"),o.getBoundingClientRect(),C(o,"show")}else e==="popover"?(On(o,r),se(window,"scroll resize",function(){On(o,r)},l),window.ResizeObserver&&(G.observer=new window.ResizeObserver(function(){On(o,r)}),G.observer.observe(n)),se(document,"mousedown touchstart",function(u){!ve&&!o.contains(u.target)&&!r.contains(u.target)&&_e()},l)):Ln(o,function(){G&&G.mode==="modal"&&_e()})}function _e(){he();var e=G;if(e){G=null;var t=j[e.mode];e.listening.abort(),e.observer&&e.observer.disconnect(),e.mode==="offcanvas"?(k(t,"show"),C(t,"hiding"),window.setTimeout(function(){k(t,"hiding")},300)):e.mode==="popover"?be(t):Mn(t),Xr(e)}}function Xr(e){k(e.node,"ge-settings-target"),e.details.style.removeProperty("display"),pt(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 Yr(e){if(j[e])return j[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>'),A(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>'),A(n,".popover-header").appendChild(t()),be(n)):e==="sidebar"?(n=V('<div class="offcanvas offcanvas-end ge-settings-panel ge-settings-sidebar" tabindex="-1" role="complementary"><div class="offcanvas-header"><h5 class="offcanvas-title ge-settings-title"></h5></div><div class="offcanvas-body ge-settings-body"></div></div>'),n.id="ge-settings-sidebar-"+er,A(n,".offcanvas-header").appendChild(t()),j["sidebar-toggle"]=document.body.appendChild(ra(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>'),A(n,".modal-header").appendChild(t()),A(n,".modal-footer").appendChild(v("button",{type:"button",class:"btn btn-primary ge-settings-close"},m("panel.done")))),$e(n,"click",".ge-settings-close",function(r){r.preventDefault(),e==="sidebar"?pe(null):_e()}),j[e]=document.body.appendChild(n),n}function Jr(){_e(),no(),k(document.documentElement,"ge-sidebar-open"),Object.keys(j).forEach(function(e){e==="modal"?rn(j[e]):j[e].remove()}),Object.keys(j).forEach(function(e){ao(j[e])}),j={}}var $r=576,ke=null,dt=null;function ut(){return b(f,"ge-editing")}function ra(e){var t=v("button",{type:"button",class:"ge-sidebar-toggle","aria-controls":e.id});return t.appendChild(v("i")),t.addEventListener("click",function(){oa(!Ke)}),t}function oa(e){Ke=e,Qr()}function Qr(){var e=j.sidebar,t=j["sidebar-toggle"];if(e){var n=!Ke;n&&!b(e,"show")?(k(e,"hiding"),e.getBoundingClientRect(),C(e,"show")):!n&&b(e,"show")&&(k(e,"show"),C(e,"hiding"),window.setTimeout(function(){k(e,"hiding")},300));var r=m(n?"panel.collapse":"panel.expand");t.setAttribute("aria-expanded",n?"true":"false"),t.setAttribute("aria-label",r),t.setAttribute("title",r),A(t,"i").className="bi "+(n?"bi-chevron-right":"bi-chevron-left"),Zr()}}function Zr(){z(document.documentElement,"ge-sidebar-open",!!j.sidebar&&ut()&&!Ke&&window.innerWidth>=$r)}function ia(){if(Fe()==="sidebar"){var e=Yr("sidebar");Ke===null&&(Ke=window.innerWidth<$r),e.style.removeProperty("display"),j["sidebar-toggle"].style.removeProperty("display"),ro(),Qr()}}function aa(){to();var e=j.sidebar;e&&(e.style.display="none",j["sidebar-toggle"].style.display="none",k(document.documentElement,"ge-sidebar-open"))}function eo(e){var t=j.sidebar;A(t,".ge-settings-title").textContent=e,t.setAttribute("aria-label",e)}function to(){var e=ke;ke=null,e&&Xr(e)}function no(){to(),dt&&(dt.body.remove(),dt=null)}function ro(){var e=j.sidebar;if(!(!e||!ut())){var t=Y?Tn(Y):null;if(!(t?ke&&ke.details===t:!ke&&dt)){no();var n=A(e,".ge-settings-body");if(!t){var r=la(),o=r?r.body:v("p",{class:"ge-sidebar-empty"},m("panel.sidebar_empty"));eo(r?r.title:m("panel.sidebar_title")),n.appendChild(o),dt={body:o};return}ke={node:Y,details:t,home:t.parentElement,next:t.nextElementSibling},eo(m("panel.title",{kind:Pn(Y)})),n.appendChild(t),Le(t),C(Y,"ge-settings-target")}}}function la(){var e=s.sidebar.empty,t=null;return typeof e=="function"?t=oo(e(a),function(n){return n.title}):e!=null&&K("sidebar.empty","sidebar.empty is a function(ge) returning { title, body }, not "+typeof e+": ignored"),[O,L,B].forEach(function(n){Object.keys(n).forEach(function(r){var o=n[r];t||!o.sidebarEmpty||(t=oo(o.sidebarEmpty(tr),function(i){return typeof i.titleKey=="string"&&i.titleKey!==""?m(i.titleKey):""}))})}),t}function oo(e,t){if(!e||!e.body||e.body.nodeType!==1)return null;var n=t(e);return{title:typeof n=="string"&&n!==""?n:m("panel.sidebar_title"),body:e.body}}function io(e){var t=X(e,".ge-tools-drawer",f);if(t){var n=t.parentElement,r=Be.has(n)?n:q(n).filter(function(i){return Be.has(i)})[0];if(r)return r}for(var o=e;o&&o!==f;o=o.parentElement)if(Be.has(o))return o;return null}function pe(e){if(e!==Y){var t=Y;Y=e,ro(),N("selection-change",{canvas:f,node:e,from:t})}}function On(e,t){if(Te(t)){Le(e);var n=t.getBoundingClientRect(),r=8,o=M(e,".popover-body");o.style.removeProperty("max-height");var i=vt(e),l=Kt(e),c=window.innerHeight-n.bottom-2*r,u=n.top-2*r,g=l<=c||c>=u,h=g?c:u;l>h&&(Oe(o,{"max-height":Math.max(120,h-(l-Kt(o)))}),l=Kt(e));var E=g?n.bottom+r:n.top-r-l,T=Math.max(r,Math.min(n.left+n.width/2-24,window.innerWidth-i-r));z(e,"bs-popover-bottom",g),z(e,"bs-popover-top",!g),Oe(e,{top:E+window.pageYOffset,left:T+window.pageXOffset}),Oe(M(e,".popover-arrow"),{left:Math.max(r,Math.min(n.left+n.width/2-T-8,i-24))})}}function Ln(e,t){var n=wt(),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,ir(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"?Ln(e,r.dismissed):r.dismissed()})),r.wanted="open",r.busy||(r.busy=!0,o.show())}function Mn(e){var t=wt(),n=Mt.get(e);if(n){if(n.wanted="closed",!t){n.backdrop&&(n.backdrop.remove(),n.backdrop=null),k(e,"show"),e.style.removeProperty("display"),e.setAttribute("aria-hidden","true");return}!n.busy&&b(e,"show")&&(n.busy=!0,t.getOrCreateInstance(e).hide())}}function ao(e){var t=Mt.get(e);t&&t.backdrop&&(t.backdrop.remove(),t.backdrop=null)}var te=null,ve=null;function sa(){return te||(te=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>'),A(te,".modal-header").appendChild(v("button",{type:"button",class:"btn-close ge-dialog-close","aria-label":m("panel.close")})),A(te,".modal-footer").appendChild(v("button",{type:"button",class:"btn btn-primary ge-dialog-close"},m("panel.done"))),$e(te,"click",".ge-dialog-close",function(e){e.preventDefault(),he()}),document.body.appendChild(te))}function lo(e,t,n){he();var r=sa(),o=new AbortController;ve={body:t,home:t.parentElement,next:t.nextElementSibling,opener:n||document.activeElement,listening:o},A(r,".ge-dialog-title").textContent=e,A(r,".ge-dialog-body").appendChild(t),Le(t),wt()||document.addEventListener("keydown",function(i){i.key==="Escape"&&he()},{signal:o.signal}),Object.keys(j).forEach(function(i){C(j[i],"ge-under-dialog")}),Ln(r,function(){he()})}function he(){var e=ve;e&&(ve=null,e.listening.abort(),Mn(te),Object.keys(j).forEach(function(t){k(j[t],"ge-under-dialog")}),be(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 so(){he(),te&&(ao(te),rn(te),te=null)}function Pn(e){var t=ce(e);if(O[t]&&O[t].labelKey)return m(O[t].labelKey);var n=Object.keys(O).filter(function(r){return O[r].paneKind===t&&O[r].paneLabelKey})[0];if(n)return m(O[n].paneLabelKey);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 da(){_(f,'.column, div[class*="col-"], div.col').forEach(function(e){C(e,"column"),!(ga(e).length||uo(e.parentElement))&&Rt(e,y[0],H)})}function uo(e){return b(e,"row")&&y.some(function(t){return Qe.some(function(n){return b(e,Jn(t,n))})})}function ct(e,t){if(!b(e,"row"))return null;for(var n=y.indexOf(t);n>=0;n--)for(var r=0;r<Qe.length;r++)if(b(e,Jn(y[n],Qe[r])))return{tier:n,value:Qe[r]};return null}function co(e,t){for(var n=y.indexOf(t);n>=0;n--){var r=qe(e,y[n]);if(r!==null)return{tier:n,size:r}}return null}function Pt(e,t){var n=ct(e.parentElement,t);if(!n)return null;var r=co(e,t);return!r||n.tier>r.tier||n.tier===r.tier&&r.size==="equal"?n:null}function ua(e){return e.value==="auto"?0:H/parseInt(e.value,10)}function ca(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%"}:uo(e.parentElement)&&!co(e,t)?{flex:"0 0 auto",width:"100%","max-width":"100%"}:{}}function fa(e){le(e,".row").forEach(function(t){var n=s.row_cols===!1?null:P===Q?ct(t,y[0])||null:ct(t,Z(P));n?t.setAttribute("data-ge-row-cols",fo(n.value)):t.removeAttribute("data-ge-row-cols")})}function fo(e){return e==="auto"?m("badge.row_cols_auto"):m("badge.row_cols",{count:e})}function ma(){return{name:"row-cols",prefix:"row-cols",values:Qe,appliesTo:["row"],labelKey:"utility.row_cols"}}function qe(e,t){var n=go(e,t.colPrefix);return n!==null?n:b(e,He(t,"auto"))?"auto":b(e,He(t,"equal"))?"equal":null}function zt(e,t){return go(e,t.offsetPrefix)}function zn(e,t){return mo(e,t,qe)}function jt(e,t){return mo(e,t,zt)}function mo(e,t,n){for(var r=y.indexOf(t);r>=0;r--){var o=n(e,y[r]);if(o!==null)return o}return null}function go(e,t){var n=new RegExp("(?:^|\\s)"+t+"(\\d+)(?:\\s|$)").exec(e.getAttribute("class")||"");return n?parseInt(n[1],10):null}function po(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 Rt(e,t,n){po(e,t.colPrefix,null),Yn.forEach(function(r){k(e,He(t,r))}),n!=null&&C(e,He(t,n))}function jn(e,t,n){po(e,t.offsetPrefix,n||null)}function ga(e){return y.filter(function(t){return qe(e,t)!==null})}function Rn(e,t,n){var r=0;return q(e,".column").forEach(function(o){if(!(n&&o===n)){var i=Pt(o,t),l=i?ua(i):zn(o,t);r+=(J(l)?l:0)+(jt(o,t)||0)}}),H-r}function Nt(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),Ro),t===null||!J(t)?{size:t,offset:n,refused:!1}:(t=Math.min(Math.max(t,1),H),t+n<=H?{size:t,offset:n,refused:!1}:e.leading==="offset"?{size:H-n,offset:n,refused:!1}:{size:null,offset:n,refused:!0})}function Xe(e){le(e,".column").forEach(function(t){Oe(t,{width:"",height:"",left:"",top:""}),pt(t)})}function vo(e){return"ge-"+e+"-"+er}function Nn(){return[".row",".ge-text-block",".ge-content","[data-ge-container]"].concat(It("blocks")).join(", ")}function It(e){return Object.keys(L).map(function(t){return L[t][e]||null}).filter(function(t){return t!==null})}function In(e,t){var n=!0;return Object.keys(L).forEach(function(r){var o=L[r];n&&o.accepts&&o.accepts(e,t)===!1&&(n=!1)}),n}function pa(){return s.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 Dt(e,t){var n=Do();if(e=Array.isArray(e)?e:e?[e]:[],!(!e.length||!n)){var r=s.drag_handle==="drawer",o=pa(),i=0;e.forEach(function(l){var c=t.group?{name:vo(t.group)}:{name:vo(t.draggable+"-"+ ++i),pull:!1,put:!1};t.group&&t.accepts&&(c.put=function(u,g,h){return g.options.group.name===c.name&&t.accepts(u.el,h)}),Et.push(n.create(l,Object.assign({group:c,draggable:t.draggable,handle:r?".ge-tools-drawer":".ge-tools-drawer .ge-move",filter:function(u,g){return X(u.target,o,l)?!0:!g||g.parentNode!==l},preventOnFilter:!1,forceFallback:!0,fallbackOnBody:!1,ghostClass:"ge-drag-placeholder",chosenClass:"ge-drag-chosen",dragClass:"ge-drag-helper",fallbackClass:"ge-drag-helper",animation:s.drag.animation,delay:s.drag.delay||s.drag.touch_delay,delayOnTouchOnly:!s.drag.delay,touchStartThreshold:s.drag.threshold,scroll:s.drag.scroll,onStart:ha,onEnd:wa},t.options||{})))})}}function va(){if(!Do()){K("sortable_missing",m("error.sortable_missing"));return}Dt(_(f,".row"),{draggable:".column",group:"column"}),Dt([f].concat(_(f,".column")),{draggable:Nn(),group:"block",accepts:In});var e=It("regions");e.length&&Dt(_(f,e.join(", ")),{draggable:">"+Nn(),group:"block",accepts:In}),ae("onSortable",Dt)}function ha(e){var t=e.item,n=un(t),r=ho(t),o={from:n,canceled:!1};Qt.set(t,o),$(function(){var i=N("before-move",re(r.kind,r.node,{parent:n.parent,source:"dragdrop",from:n}));i||(o.canceled=!0)})}function ho(e){var t=b(e,"ge-text-block")&&M(e,".ge-content")||e;return{kind:ce(t),node:t}}function ba(e,t){var n=q(t.parent).filter(function(r){return r!==e&&!b(r,"ge-tools-drawer")});!n.length||t.index>=n.length?t.parent.appendChild(e):t.parent.insertBefore(e,n[t.index])}function wa(e){var t=e.item,n=Qt.get(t),r=n?n.from:un(t);if(Qt.delete(t),n&&n.canceled){ba(t,r);return}var o=un(t);if(!(o.parent===r.parent&&o.index===r.index)){var i=X(t,"[data-ge-container]"),l=O[Ie(i)];l&&l.afterPaneMove&&l.afterPaneMove(i,t,r);var c=ho(t);$(function(){N("after-move",re(c.kind,c.node,{parent:o.parent,source:"dragdrop",from:r,to:o,container:i||void 0}))})}}function ya(){s.resize.enabled&&_(f,".column").forEach(function(e){if(!M(e,".ge-resize-handle")){var t=M(e,".ge-tools-drawer");t&&t.appendChild(v("span",{class:"ge-resize-size"})),Ca().forEach(function(n){var r=v("span",{class:"ge-resize-handle ge-resize-"+n,"data-ge-edge":n});r.addEventListener("pointerdown",Ea),e.appendChild(r)})}})}function Ca(){return String(s.resize.handles).split(",").map(function(e){return e.trim()}).filter(function(e){return e==="e"||e==="w"})}function Ea(e){var t=e.currentTarget,n=t.parentElement,r=t.getAttribute("data-ge-edge")==="w",o=e.pageX,i=vt(n);if(e.preventDefault(),!_a(n))return;C(n,"ge-resizing"),e.pointerId!==void 0&&t.setPointerCapture&&t.setPointerCapture(e.pointerId);function l(g){var h=g.pageX-o;return Math.max(1,i+(r?-h:h))}function c(g){n.style.width=l(g)+"px",ka(n,l(g))}function u(g){t.removeEventListener("pointermove",c),qn(t,"pointerup pointercancel",u),k(n,"ge-resizing"),Aa(n,l(g))}t.addEventListener("pointermove",c),se(t,"pointerup pointercancel",u)}function xa(){bo(f)}function bo(e){_(e,".ge-resize-handle").forEach(function(t){t.remove()}),_(e,".ge-resize-size").forEach(function(t){t.remove()}),Xe(e)}function wo(e,t){var n=Math.round(t/Kr(e.parentElement)*H),r=yo(e),o=r?ot(r):null,i=_t.get(e),l=i?i.units:it(e),c=r&&J(o)?l+o-lt(s.valid_col_sizes):H-at(e);return Math.min(Math.max(n,lt(s.valid_col_sizes)),Math.max(c,lt(s.valid_col_sizes)),kn(s.valid_col_sizes))}function yo(e){return s.resize.balance!=="next"?null:To(e,".column")[0]||null}function Dn(e,t){var n=M(e,".ge-tools-drawer"),r=n?M(n,".ge-resize-size"):null;r&&(r.textContent=t)}function Co(e){return(P===Q?y[0].colPrefix:xe().colPrefix)+e}function _a(e){var t=ot(e),n=$(function(){return N("before-resize",re("column",e,{source:"dragdrop",from:t,to:null}))});if(!n)return!1;var r={from:t,units:it(e)};return _t.set(e,r),Dn(e,Co(r.units)),!0}function ka(e,t){Dn(e,Co(wo(e,t)))}function Aa(e,t){var n=_t.get(e),r=wo(e,t);if(_t.delete(e),Dn(e,""),Xe(e),!!n&&r!==n.units){var o=an(e,r);o&&$(function(){ln(e,o),Sa(e,r-n.units),me(e),N("after-resize",re("column",e,sn({source:"dragdrop",from:n.from,to:o.size},o.cleared)))})}}function Sa(e,t){var n=yo(e);if(!(!n||!t)){var r=ot(n);if(J(r)){var o=an(n,r-t);o&&(ln(n,o),me(n))}}}function Ta(){Et.forEach(function(e){e.destroy()}),Et=[]}function Ye(){return v("div",{class:"row"})}function Ft(e,t,n){var r=null;if(Xa.forEach(function(c){r===null&&n&&n[c]!==void 0&&(r=c)}),r===null)return e;var o=oe(n[r]);if(!o)return W(t+": "+r+" matches no element; the "+t+" is left detached"),e;var i=r==="appendTo"||r==="prependTo"?o:o.parentElement,l=function(){return ie(t,e,function(){r==="appendTo"?o.appendChild(e):r==="prependTo"?o.insertBefore(e,o.firstChild):r==="insertBefore"?o.parentNode.insertBefore(e,o):Vt(e,o)},{parent:i,source:n.source||"api"})};return Ze>0?(nn(l),e):l()}function Oa(e,t){var n=Ye();return e!==void 0&&!Array.isArray(e)&&!(e&&e.row_cols)&&(W("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=tt(e)),(Array.isArray(e)?e:[]).forEach(function(r){n.appendChild(Ae(r))}),Ft(n,"row",t)}function La(e,t){t=t||{};var n=oe(t.appendTo||t.prependTo||null);e===void 0&&n&&ct(n,xe())?e=null:!J(e)&&Yn.indexOf(e)===-1&&(W("createColumn: no column size given, using "+H),e=H);var r=Ae(e,t.offset);return t.content!==void 0&&r.appendChild(Ha(t.content)),Ft(r,"column",t)}function Ma(e,t){t=t||{};var n=O[e];return n?Ft(n.create(t),e,t):(W('createContainer: no such container type "'+e+'"'),null)}function Fn(e,t,n){e=oe(e),n=n||{};var r=O[Ie(e)];if(!r||Ie(e)!==t)return W("this is not a "+t+" container"),null;var o=r.addPane(e,n);return o?ie(r.paneKind,o,function(){},{parent:e,source:"api",container:e}):null}function Pa(e,t){e=oe(e);var n=Ie(e);return!O[n]||!O[n].addPane?(W("addPane: this is not a container with panes"),null):Fn(e,n,t)}function Hn(){var e={};return Object.keys(s).forEach(function(t){var n=s[t];e[t]=Array.isArray(n)?n.slice():n}),Object.freeze(e)}function Ae(e,t){var n=v("div",{class:"column"}),r=No(P)[0],o=Nt({size:e,offset:t||0,leading:"offset"});return Rt(n,r,o.size===null?e:o.size),jn(n,r,o.offset),n}function Wn(e,t){if(!(!s.custom_filter||!s.custom_filter.length)){var n=typeof s.custom_filter=="string"||typeof s.custom_filter=="function"?[s.custom_filter]:s.custom_filter;Array.prototype.forEach.call(n,function(r){typeof r=="string"&&(r=window[r]),r(t||f,e)})}}function za(){var e=[".row","[data-ge-container]"];return Object.keys(L).forEach(function(t){var n=L[t],r=typeof n.cuts=="function"?n.cuts():n.cuts;r&&e.push(r)}),e.join(", ")}function ja(e){_(f,".column > .ge-content, .column > .ge-text-block > .ge-content").forEach(function(t){if(!(b(t,"ge-rte-active")||!q(t,e).length)){var n=t.getAttribute("data-ge-content-type"),r=b(t.parentElement,"ge-text-block")?t.parentElement:t,o=[],i=[];for(Array.prototype.slice.call(t.childNodes).forEach(function(u){u.nodeType===1&&u.matches(e)?(o.push({text:i},{block:u}),i=[]):i.push(u)}),o.push({text:i});t.firstChild;)t.removeChild(t.firstChild);var l=!1,c=r;o.forEach(function(u){var g;if(u.block)g=u.block;else if(Ra(u.text))l?(g=Un(n),u.text.forEach(function(h){g.appendChild(h)})):(u.text.forEach(function(h){t.appendChild(h)}),g=r,l=!0);else return;g!==c&&Vt(g,c),c=g}),l||r.remove()}})}function Ra(e){return e.some(function(t){return t.nodeType===1||t.nodeType===3&&/\S/.test(t.nodeValue)})}function Na(e){_(f,".column").forEach(function(t){var n=[];q(t).forEach(function(r){Se(r,".ge-tools-drawer, .ge-resize-handle")||(Se(r,".ge-content, .ge-text-block")||r.matches(e)?n=Eo(n):n.push(r))}),Eo(n)})}function Eo(e){if(e.length){var t=Vt(Un(),e[e.length-1]);e.forEach(function(n){t.appendChild(n)})}return[]}function Un(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 Ia(){_(f,".column > .ge-content").forEach(function(e){Mo(e,v("div",{class:"ge-text-block"}))}),_(f,".ge-text-block").forEach(function(e){if(!M(e,".ge-tools-drawer")){var t=M(e,".ge-content"),n=t?t.getAttribute("data-ge-content-type"):null;n?ci(n)||Fa(e,n):Da(e)}})}function xo(e){_(e,".ge-text-block").forEach(function(t){Gt(t)})}function Da(e){var t=M(e,".ge-content"),n=Ge(e,"ge-tools-drawer ge-text-drawer ge-plain-drawer");C(e,"ge-plain-block"),De(n),Object.keys(L).forEach(function(r){L[r].plainTools&&L[r].plainTools(n,t)}),F(n,m("tool.delete_plain"),"ge-delete-plain","bi bi-trash",function(){ze("plain",t,m("confirm.delete_plain"),function(r){ht(e,function(){e.remove(),r()})})})}function Fa(e,t){var n=M(e,".ge-content"),r=Ge(e,"ge-tools-drawer ge-text-drawer");De(r),F(r,m("text.no_editor",{type:t}),"ge-text-info ge-text-missing","bi bi-exclamation-triangle"),F(r,m("tool.delete_text"),"ge-delete-text","bi bi-trash",function(){ze("text",n,m("confirm.delete_text"),function(o){ht(e,function(){e.remove(),o()})})})}function Ha(e){var t=wr(),n=Un(t.length?t[0].type:null);return e&&e.nodeType?n.appendChild(e):mt(n,e),n}function _o(e){P=e,Xn.forEach(function(t){z(f,"ge-layout-"+t,t===e)}),A(We,"button").textContent=m(bt(e))}function Kn(e){return Xn.indexOf(e)===-1?null:e}function ko(e){var t=Kn(e);if(t===null){W("changeView("+JSON.stringify(e)+"): no such layout mode");return}var n=P;_o(t),t!==n&&(qr().forEach(function(r){_(r,".ge-utilities").forEach(function(o){xn(o)})}),jr(null),rt(f),ae("onViewChange",t),N("view-change",{canvas:f,breakpoint:t,from:n,to:t}))}function Bn(){return P}function Ao(e,t,n){return function(){return Ne[e]?Ne[e].apply(null,arguments):(K("plugin:"+t,e+" needs the "+t+" plugin: include dist/plugins/grideditor."+n+".js after the editor"),null)}}function Wa(e){if(!s.active_target){K("active_target","setActiveTarget needs the active_target setting: without it, it does nothing");return}if(e==null){je(null);return}var t=oe(e);if(!mi(t)){var n=typeof e=="string"?e:t?"<"+t.tagName.toLowerCase()+">":String(e);W("setActiveTarget: "+n+" is not a column or a region of the canvas");return}je(t)}function Ua(e){if(Fe()!=="sidebar"){K("sidebar-api",'setSelected needs settings_panel "sidebar": without it, it does nothing');return}if(e==null){pe(null);return}var t=oe(e);if(!t||t===f||!f.contains(t)||!Be.has(t)){var n=typeof e=="string"?e:t?"<"+t.tagName.toLowerCase()+">":String(e);W("setSelected: "+n+" is not a node of the canvas with settings");return}pe(t)}var Vn={getHtml:nt,getPlainHtml:hi,init:function(){nn(fe)},reset:function(){nn(yr)},deinit:Re,destroy:wi,changeView:ko,getView:Bn,createRow:Oa,createColumn:La,createText:function(e,t){return Ne.createText?Ne.createText(e,t):(K("plugin:text","createText needs a text editor plugin: include dist/plugins/grideditor.tinymce.js, or another editor's, after the editor"),null)},createElement:Ao("createElement","elements","elements"),createSection:Ao("createSection","sections","sections"),createContainer:Ma,addTab:function(e,t){return Fn(e,"tabs",t)},addAccordionItem:function(e,t){return Fn(e,"accordion",t)},addPane:Pa,setLocale:Ho,getUtility:Mr,setUtility:En,getActiveTarget:function(){return s.active_target?U:null},setActiveTarget:Wa,getSelected:function(){return Fe()==="sidebar"?Y:null},setSelected:Ua};Object.keys(Vn).forEach(function(e){var t=!!(jo[e]&&jo[e].value);a[e]=function(){if(xt)return K("destroyed:"+e,m("warning.destroyed",{method:e})),e==="getHtml"?f.innerHTML:e==="getPlainHtml"?$n(f.innerHTML):t?null:a;var n=Vn[e].apply(a,arguments);return t?n:a}}),a.canvas=f,a.settings=Hn(),Xt.set(f,a),yi(),a.settings=Hn(),Object.keys(Ne).forEach(function(e){Object.prototype.hasOwnProperty.call(Vn,e)||e in a||(a[e]=function(){return xt?(K("destroyed:"+e,m("warning.destroyed",{method:e})),null):Ne[e].apply(null,arguments)})}),Vo(),fe(),S._created.forEach(function(e){e(a)})}S._created=[];S.containers={};S.features={};S.utilities={};S.texts={};S.t=Qn;S._plainHtml=$n;S.Sortable=null;S.bootstrap=null;S.version="8.10.0";S.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,d){return a?Array.prototype.slice.call(a.querySelectorAll(d)):[]}function A(a,d){return a?a.querySelector(d):null}function le(a,d){if(!a)return[];var p=_(a,d);return a.nodeType===1&&a.matches(d)&&p.unshift(a),p}function q(a,d){return a?Array.prototype.filter.call(a.children,function(p){return!d||p.matches(d)}):[]}function M(a,d){return q(a,d)[0]||null}function X(a,d,p){var s=a&&a.nodeType===1?a.closest(d):null;return s&&p&&s!==p&&!p.contains(s)?null:s}function Se(a,d){return!!a&&a.nodeType===1&&a.matches(d)}function Te(a){return!!a&&document.documentElement.contains(a)}function To(a,d){for(var p=[],s=a.nextElementSibling;s;s=s.nextElementSibling)(!d||s.matches(d))&&p.push(s);return p}function Oo(a,d){for(var p=[],s=a.parentElement;s&&s!==d;s=s.parentElement)p.push(s);return p}function Ka(a){var d=document.createElement("template");return d.innerHTML=a,Array.prototype.slice.call(d.content.childNodes)}function V(a){for(var d=Ka(a.trim()),p=0;p<d.length;p++)if(d[p].nodeType===1)return d[p];return null}function v(a,d,p){var s=document.createElement(a);return Object.keys(d||{}).forEach(function(f){var x=d[f];x!=null&&x!==!1&&s.setAttribute(f,x)}),p!=null&&(s.textContent=p),s}function mt(a,d){return a.innerHTML=d==null?"":String(d),a}function C(a,d){return Je(d).forEach(function(p){a.classList.add(p)}),a}function k(a,d){return Je(d).forEach(function(p){a.classList.remove(p)}),a}function z(a,d,p){return Je(d).forEach(function(s){p===void 0?a.classList.toggle(s):a.classList.toggle(s,!!p)}),a}function b(a,d){return!!a&&a.nodeType===1&&a.classList.contains(d)}function Je(a){return String(a||"").split(/\s+/).filter(Boolean)}function gt(a){return a.getAttribute("class")||a.removeAttribute("class"),a}function pt(a){return a.getAttribute("style")||a.removeAttribute("style"),a}function Wt(a,d){return Object.keys(d).forEach(function(p){var s=d[p];s==null?a.removeAttribute(p):a.setAttribute(p,s)}),a}function Oe(a,d){return Object.keys(d).forEach(function(p){var s=d[p];typeof s=="number"&&!Ba[p]&&(s=s+"px"),a.style.setProperty(p,s==null?"":String(s))}),a}var Ba={opacity:!0,"z-index":!0,"flex-grow":!0,"flex-shrink":!0,order:!0},ft={};function Va(a){var d=a.nodeName;if(!ft[d]){var p=document.body.appendChild(document.createElement(d));ft[d]=getComputedStyle(p).display,p.remove(),ft[d]==="none"&&(ft[d]="block")}return ft[d]}function Le(a){return a.style.removeProperty("display"),getComputedStyle(a).display==="none"&&(a.style.display=Va(a)),a}function se(a){return a.style.display="none",a}function Gn(a,d){return d===void 0&&(d=!Ut(a)),d?Le(a):se(a)}function Ut(a){return!!(a.offsetWidth||a.offsetHeight||a.getClientRects().length)}function vt(a){return a.getBoundingClientRect().width}function Kt(a){return a.getBoundingClientRect().height}function Lo(a){var d=getComputedStyle(a);return a.clientHeight-parseFloat(d.paddingTop)-parseFloat(d.paddingBottom)}function Bt(a){var d=a.getBoundingClientRect();return{top:d.top+window.pageYOffset,left:d.left+window.pageXOffset}}function Vt(a,d){return d.parentNode.insertBefore(a,d.nextSibling),a}function Gt(a){for(var d=a.parentNode;a.firstChild;)d.insertBefore(a.firstChild,a);a.remove()}function Mo(a,d){return a.parentNode.insertBefore(d,a),d.appendChild(a),d}function $e(a,d,p,s,f){var x=function(w){var D=X(w.target,p,a);if(D&&a.contains(D))return s.call(D,w)};return Je(d).forEach(function(w){a.addEventListener(w,x,f)}),x}function de(a,d,p,s){return Je(d).forEach(function(f){a.addEventListener(f,p,s)}),p}function qn(a,d,p,s){Je(d).forEach(function(f){a.removeEventListener(f,p,s)})}var Ga=400;function Po(a,d,p,s){p=p===void 0?Ga:p;var f=function(){se(a),s&&s()};if(!Ut(a)||!a.animate||p<=0){window.setTimeout(f,0);return}var x=a.animate(d(getComputedStyle(a)),{duration:p,easing:"ease-in-out"}),w=!1,D=function(){w||(w=!0,f())};x.onfinish=D,x.oncancel=D}function ht(a,d,p){typeof d=="function"&&(p=d,d=void 0),a.style.overflow="hidden",Po(a,function(s){return[{height:s.height,paddingTop:s.paddingTop,paddingBottom:s.paddingBottom,marginTop:s.marginTop,marginBottom:s.marginBottom},{height:"0px",paddingTop:"0px",paddingBottom:"0px",marginTop:"0px",marginBottom:"0px"}]},d,function(){a.style.removeProperty("overflow"),p&&p()})}function zo(a,d,p,s){a.style.overflow="hidden",Po(a,function(f){var x={opacity:f.opacity,height:f.height},w={opacity:0,height:"0px"};return s&&(x.width=f.width,w.width="0px"),[x,w]},d,function(){a.style.removeProperty("overflow"),p&&p()})}var jo={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},addPane:{value:!0},setLocale:{},getUtility:{value:!0},setUtility:{value:!0},getActiveTarget:{value:!0},setActiveTarget:{},getSelected:{value:!0},setSelected:{}},Xa=["appendTo","prependTo","insertAfter","insertBefore"],Ya=["data-bs-target","data-bs-parent","href","aria-controls","aria-labelledby","aria-describedby","for","data-ge-popup-id","data-ge-popup-target"],Ja=/^ge-([a-z][a-z-]*?)-\d+-[a-z0-9]+$/,y=[{key:"xs",infix:"",colPrefix:"col-",offsetPrefix:"offset-",min:0,preview:400,labelKey:"view.xs"},{key:"sm",infix:"sm",colPrefix:"col-sm-",offsetPrefix:"offset-sm-",min:576,preview:576,labelKey:"view.sm"},{key:"md",infix:"md",colPrefix:"col-md-",offsetPrefix:"offset-md-",min:768,preview:768,labelKey:"view.md"},{key:"lg",infix:"lg",colPrefix:"col-lg-",offsetPrefix:"offset-lg-",min:992,preview:992,labelKey:"view.lg"},{key:"xl",infix:"xl",colPrefix:"col-xl-",offsetPrefix:"offset-xl-",min:1200,preview:1200,labelKey:"view.xl"},{key:"xxl",infix:"xxl",colPrefix:"col-xxl-",offsetPrefix:"offset-xxl-",min:1400,preview:null,labelKey:"view.xxl"}],Q="all",$a="view.all",Xn=[Q].concat(y.map(function(a){return a.key})),H=12,Ro=11,Yn=["equal","auto"],Qe=["1","2","3","4","5","6","auto"];function Jn(a,d){return"row-cols"+(a.infix?"-"+a.infix:"")+"-"+d}function J(a){return typeof a=="number"}function He(a,d){return d==="equal"?a.infix?"col-"+a.infix:"col":a.colPrefix+d}function Z(a){for(var d=0;d<y.length;d++)if(y[d].key===a)return y[d];return null}function No(a){if(a===Q)return[y[0]];var d=Z(a);return d?[d]:[]}function bt(a){var d=Z(a);return d?d.labelKey:$a}var Me={add_column:{size:12,picker:!0,delay:600},elements:{enabled:"auto",selector:"[data-ge-element]",auto:!1,types:[]},resize:{enabled:!0,tools:!0,handles:"e",balance:"next"},indent:{tools:!0},sidebar:{empty:null},drag:{delay:0,touch_delay:100,threshold:3,animation:150,scroll:!0}},Io={},Qa=0,Xt=new WeakMap,qt=null,Za=".ge-mainControls, .ge-settings-panel, .ge-sidebar-toggle, .ge-dialog, .ge-confirm, .ge-size-picker, .modal, .modal-backdrop";function Qn(a,d,p){var s=S.locales,f=s[a.locale]||{},x=a.locale_strings||{},w=x[d];return w===void 0&&(w=f[d]),w===void 0&&(w=s.en[d]),w===void 0&&(tl("locale:"+d,'no string for "'+d+'" in any locale, showing the key'),w=d),w.replace(/\{(\w+)\}/g,function(D,ue){return p&&p[ue]!==void 0?p[ue]:D})}function el(a,d){var p=S.locales;return(a.locale_strings||{})[d]!==void 0||(p[a.locale]||{})[d]!==void 0||p.en[d]!==void 0}function W(a){window.console&&window.console.warn&&window.console.warn("grid-editor: "+a)}function tl(a,d){Io[a]||(Io[a]=!0,W(d))}function nl(a,d){return Qn({locale:"en"},a,d)}function rl(a){if(typeof a=="string"){var d=document.querySelector(a);if(!d)throw new TypeError("grid-editor: no element matches "+JSON.stringify(a));return d}if(a&&a.nodeType===1)return a;throw new TypeError("grid-editor: the target is an element or a selector, not "+(a===null?"null":typeof a))}function oe(a){return typeof a=="string"?document.querySelector(a):a&&a.nodeType===1?a:null}function Do(){return S.Sortable||window.Sortable||null}function wt(){var a=S.bootstrap||window.bootstrap;return a&&a.Modal?a.Modal:null}function $n(a){var d=document.implementation.createHTMLDocument("").body;d.innerHTML=a;var p=[];return _(d,"*").forEach(function(s){var f=!1;Array.prototype.slice.call(s.attributes).forEach(function(D){D.name.indexOf("data-ge-")===0&&(s.removeAttribute(D.name),f=!0)});var x=(s.getAttribute("class")||"").split(/\s+/).filter(Boolean),w=x.filter(function(D){return D!=="column"&&D.indexOf("ge-")!==0});w.length!==x.length&&(f=!0),w.length?s.setAttribute("class",w.join(" ")):s.removeAttribute("class"),f&&s.tagName==="DIV"&&!s.attributes.length&&p.push(s)}),p.forEach(function(s){Gt(s)}),d.innerHTML}function S(a,d){var p=rl(a),s=Xt.get(p);if(s)return Fo.has(p)||(Fo.add(p),W(nl("warning.already_editing"))),s;if(!(this instanceof S))return new S(p,d);ol(this,p,d||{})}var Fo=new WeakSet;S.create=function(a,d){return new S(a,d)};S.get=function(a){var d=oe(a);return d&&Xt.get(d)||null};function ol(a,d,p){var s=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:Xn.slice(),default_view:Q,resize:Me.resize,indent:Me.indent,source_textarea:"",edit_source:!0,locale:"en",locale_strings:{},callbacks:{},confirm_delete:!0,settings_panel:"offcanvas",sidebar:Me.sidebar,drag:Me.drag},p);if(Object.keys(Me).forEach(function(e){s[e]=Object.assign({},Me[e],s[e])}),s.settings_panel==="sidebar"){if(p&&p.active_target===!1)throw new TypeError('grid-editor: settings_panel "sidebar" needs active_target; leave it out or set it to true');s.active_target=!0}var f,x,w,D,ue,We,ee,P=s.default_view,R=null,ne=null,we=!1,Ue=null,U=null,yt=null,Yt=function(){},Jt=function(){},ce=[],Ct={},$t=null,Zn={},Et=[],er=++Qa,xt=!1,Y=null,Ke=null,tr=null;s.settings_panel==="sidebar"&&(qt?(K("sidebar",'settings_panel "sidebar" is in use by another editor on the page, which has one sidebar: using offcanvas'),s.settings_panel="offcanvas"):qt=a);var Be=new WeakMap,Qt=new WeakMap,_t=new WeakMap,nr=new WeakMap,Zt=new WeakSet,en=new AbortController;f=C(d,"ge-canvas");function K(e,t){Zn[e]||(Zn[e]=!0,W(t))}function m(e,t){return Qn(s,e,t)}function Ho(e){s.locale=e,a.settings=Hn(),or(),Jr(),so(),fn(),cn(),yr()}var Ze=0,tn=[];function re(e,t,n){return Object.assign({kind:e,node:t,parent:t.parentElement,canvas:f,breakpoint:Bn(),source:"api"},n||{})}function N(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(i){var l=new CustomEvent("grideditor:"+i,{detail:t,bubbles:!0,cancelable:!0});f.dispatchEvent(l)||(o=!0)}),n.forEach(function(i){var l=s.callbacks[i.replace(/-/g,"_")];typeof l=="function"&&l(t)===!1&&(o=!0)}),!o}function $(e){Ze++;try{return e()}finally{if(Ze--,Ze===0)for(;tn.length;)tn.shift()()}}function nn(e){if(Ze===0){e();return}tn.push(e)}function ie(e,t,n,r){var o=Wo(e);return $(function(){var i=re(e,t,r);return N("before-add-"+o,i)?(n(),me(),N("after-add-"+o,i),t):null})}function Wo(e){return S.containers[e]?"container":e}function Uo(e,t){if(!s.confirm_delete){t();return}rr(e,{danger:!0},function(n){n&&t()})}function rr(e,t,n){t=t||{};var r=wt();if(!r){n(window.confirm(e));return}var o=Ko(),i=!1,l=A(o,".ge-confirm-ok");Pe&&Pe(null);var c=function(u){Pe===c&&(Pe=null,n(u))};Pe=c,A(o,".modal-title").textContent=t.title||m("confirm.title"),A(o,".ge-confirm-cancel").textContent=t.cancel||m("confirm.cancel"),l.textContent=t.ok||m("confirm.ok"),z(l,"btn-danger",!!t.danger),z(l,"btn-primary",!t.danger),A(o,".ge-confirm-message").textContent=e,l.onclick=function(){i=!0,r.getInstance(o).hide()},ye.hidden=function(){c(i)},ye.shown=function(){l.focus()},r.getOrCreateInstance(o).show()}var ye={hidden:null,shown:null},Pe=null;function Ko(){if(R)return R;R=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(R),A(R,".modal-title").textContent=m("confirm.title"),A(R,".btn-close").setAttribute("aria-label",m("confirm.cancel")),A(R,".ge-confirm-cancel").textContent=m("confirm.cancel"),A(R,".ge-confirm-ok").textContent=m("confirm.ok"),ir(R);var e=R;return R.addEventListener("hidden.bs.modal",function(){e===R&&ye.hidden&&ye.hidden()}),R.addEventListener("shown.bs.modal",function(){e===R&&ye.shown&&ye.shown()}),R}function or(){R&&(ye.hidden=null,ye.shown=null,rn(R),R=null,Pe&&Pe(null))}function rn(e){var t=wt(),n=t?t.getInstance(e):null,r=!1,o=function(){r||(r=!0,n&&n.dispose(),e.remove())};if(!n||!on.get(e)&&!b(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 on=new WeakMap;function ir(e){de(e,"show.bs.modal hide.bs.modal",function(){on.set(e,!0)}),de(e,"shown.bs.modal hidden.bs.modal",function(){on.set(e,!1)})}function ze(e,t,n,r){$(function(){var o=re(e,t,{source:"tool"});N("before-delete",o)&&Uo(n,function(){$(function(){r(function(){t.remove(),$(function(){me(),N("after-delete",o)})})})})})}function an(e,t,n){if(n=n||P,n!==Q){var r=Z(n),o=Nt({size:t,offset:jt(e,r)||0});return o.refused||qe(e,r)===o.size?null:{writes:[{tier:r,size:o.size}],cleared:null,size:o.size}}var i=y.some(function(g){return Nt({size:t,offset:jt(e,g)||0}).refused});if(i)return null;var l=y[0],c=[],u=[];return y.slice(1).forEach(function(g){var h=qe(e,g);h!==null&&(c.push({tier:g,size:null}),u.push({breakpoint:g.key,value:h}))}),qe(e,l)!==t&&c.unshift({tier:l,size:t}),c.length?{writes:c,cleared:u,size:t}:null}function ln(e,t){t.writes.forEach(function(n){Rt(e,n.tier,n.size)}),Xe(e)}function sn(e,t){return t&&(e.cleared=t),e}function dn(e,t,n,r){r=r||P;var o=ot(e),i=an(e,t,r);return i?$(function(){var l=re("column",e,sn({source:n,breakpoint:r,from:o,to:i.size},i.cleared));return N("before-resize",l)?(ln(e,i),ge(e),N("after-resize",l),!0):(ge(e),!1)}):!1}function ar(e,t,n){var r=P===Q,o=r?y[0]:Z(P),i=at(e);t=Math.min(Math.max(t,0),Ro);var l=r?y.slice(1).filter(function(c){return zt(e,c)!==null}):[];return(zt(e,o)||0)===t&&!l.length?!1:$(function(){var c=re("column",e,sn({source:n,from:i,to:t},r?l.map(function(u){return{breakpoint:u.key,value:zt(e,u)}}):null));return N("before-indent",c)?(jn(e,o,t),l.forEach(function(u){jn(e,u,0)}),(r?y:[o]).forEach(function(u){var g=zn(e,u);if(J(g)){var h=Nt({size:g,offset:t,leading:"offset"});h.size!==g&&Rt(e,u,h.size)}}),ge(e),N("after-indent",c),!0):!1})}function un(e){var t=e.parentElement;return{parent:t,index:q(t).filter(function(n){return!b(n,"ge-tools-drawer")}).indexOf(e)}}function fe(e){var t=null;if(Object.keys(L).forEach(function(r){var o=L[r];!t&&o.kindOf&&(t=o.kindOf(e))}),t)return t;if(e.getAttribute("data-ge-container"))return e.getAttribute("data-ge-container");var n=null;return Object.keys(O).forEach(function(r){var o=O[r];!n&&o.paneClass&&b(e,o.paneClass)&&(n=o.paneKind)}),n||(b(e,"ge-tab")?"tab":b(e,"ge-accordion-item")?"accordion-item":b(e,"row")?"row":b(e,"column")?"column":b(e,"ge-element")?"element":(b(e,"ge-text-block")&&(e=M(e,".ge-content")||e),b(e,"ge-content")?e.getAttribute("data-ge-content-type")?"text":"plain":"node"))}if(s.source_textarea){var et=oe(s.source_textarea).value,lr=v("div");lr.innerHTML=et,et.length>0&&!lr.querySelector(".row")&&(et='<div class="row"><div class="col-lg-12">'+et+"</div></div>"),mt(d,et)}if(d.children.length&&!d.querySelector("div.row")){var Bo=q(d),sr=V('<div class="row"><div class="col-lg-12"></div></div>');d.appendChild(sr),Bo.forEach(function(e){sr.firstChild.appendChild(e)})}function Vo(){ee=v("textarea",{class:"ge-html-output"}),f.parentNode.insertBefore(ee,f),cn(),Yi();var e={signal:en.signal};window.addEventListener("scroll",gr,e),$e(f,"click",".ge-content",di,e),$e(f,"click",".ge-popup-trigger, [data-ge-popup-target]",function(o){b(f,"ge-editing")&&o.preventDefault()},e);var t=Fe()==="sidebar";if(s.active_target||t){var n=null;f.addEventListener("pointerdown",function(o){n={x:o.clientX,y:o.clientY}},e),f.addEventListener("click",function(o){var i=n;n=null,b(f,"ge-editing")&&(i&&Math.abs(o.clientX-i.x)+Math.abs(o.clientY-i.y)>s.drag.threshold||(s.active_target&&r(o),t&&f.contains(o.target)&&ve(io(o.target))))},e),document.addEventListener("keydown",function(o){if(!(o.key!=="Escape"||G||he)&&!(R&&b(R,"show"))){var i=document.activeElement;i&&(Se(i,"input, textarea, select")||i.isContentEditable)||(Y&&ut()?ve(null):U&&je(null))}},e)}t&&(f.addEventListener("focusin",function(o){var i=ut()?io(o.target):null;i&&ve(i)},e),document.addEventListener("click",function(o){var i=o.target;!Y||!ut()||!i||i.nodeType!==1||!Te(i)||f.contains(i)||X(i,Za)||f.querySelector(".ge-rte-active")||ve(null)},e),window.addEventListener("resize",Zr,e));function r(o){var i=X(o.target,Cr());if(i&&i===U&&(o.target===i||o.target===M(i,".ge-tools-drawer"))){je(null);return}je(i&&i!==f&&f.contains(i)?i:null)}}function Go(e){!Se(e,".ge-content")||!f.contains(e)||(ae("onContentReady",e),rt(e))}function cn(){x=v("div",{class:"ge-mainControls"}),ee.parentNode.insertBefore(x,ee),w=x.appendChild(v("div",{class:"ge-wrapper ge-top"}));var e=s.toolbar_overflow!=="wrap",t=w;e&&(C(w,"ge-toolbar-menu"),t=w.appendChild(v("div",{class:"ge-toolbar-start"}))),ce=[],D=t.appendChild(v("div",{class:"ge-addRowGroup btn-group"})),ue=v("div",{class:"ge-addContainerGroup btn-group ms-1"}),s.new_row_layouts.forEach(function(u){var g=!Array.isArray(u),h=v("a",{class:"btn btn-sm btn-light",title:g?m("row.add_row_cols",{columns:u.columns,counts:li(u.row_cols)}):m("row.add",{layout:u.join("-")}),"data-ge-toolbar":"row","data-ge-layout":g?JSON.stringify(u):u.join(",")});h.addEventListener("click",function(){if(U){hn(h,"tool");return}var I=tt(u),Ht=ie("row",I,function(){f.appendChild(I)},{parent:f,source:"tool"});Ht&&I.scrollIntoView&&I.scrollIntoView({behavior:"smooth"})}),D.appendChild(h),ce.push({button:h,home:D,group:"rows"}),h.appendChild(V('<i class="bi bi-plus"></i>'));var E=g?si(u):u,T='<div class="row ge-row-icon">';E.forEach(function(I){T+='<div class="column '+He(y[0],I)+'"></div>'}),T+="</div>",h.appendChild(V(T))}),t.appendChild(ue),Object.keys(O).forEach(function(u){var g=O[u],h=ur(v("a",{class:"btn btn-sm btn-light ge-add-container"}),m(g.labelKey),g.iconClass);Wt(h,{"data-ge-toolbar":"container","data-ge-container-type":u}),h.addEventListener("click",function(){if(U){hn(h,"tool");return}var E=Ye(),T=E.appendChild(Ae(H)),I=T.appendChild(g.create({}));ie(u,I,function(){f.appendChild(E)},{parent:f,source:"tool"})}),ue.appendChild(h),ce.push({button:h,home:ue,group:dr(g.group)||"content"})});var n=[];Ct={},Object.keys(L).forEach(function(u){Ct[u]=$o(L[u]),Ct[u].forEach(function(g,h){var E=ei(u,g,h);g.align==="end"?n.push(E):(ue.appendChild(E),ce.push({button:E,home:ue,group:dr(g.group)||u}))})}),We=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>'),$e(We,"click","a",function(){ko(this.getAttribute("data-ge-view"))}),w.appendChild(We),s.layout_modes.forEach(function(u){A(We,".dropdown-menu").appendChild(v("a",{class:"dropdown-item","data-ge-view":u,title:m(bt(u))},m(bt(u))))}),A(We,"button").textContent=m(bt(P));var r=w.appendChild(v("div",{class:"btn-group pull-right"}));if(s.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",we),o.addEventListener("click",function(){we?vn():fi(),z(o,"active btn-danger",we)}),r.appendChild(o)}var i=V('<button type="button" class="btn btn-sm btn-primary gm-preview"><i class="bi bi-eye-fill"></i></button>'),l=function(){b(i,"active")||C(f,"ge-editing")};if(i.setAttribute("title",m("tool.preview")),i.addEventListener("mouseenter",function(){k(f,"ge-editing")}),i.addEventListener("click",function(){z(i,"active btn-danger"),l()}),i.addEventListener("mouseleave",l),r.appendChild(i),n.length){var c=w.appendChild(v("div",{class:"pull-right ge-toolbar-end"}));n.forEach(function(u){c.appendChild(u)})}s.toolbar_groups&&Xo(t),e&&Zo(t),ni()}var qo=[{name:"rows",labelKey:"group.rows"},{name:"content",labelKey:"group.content"},{name:"elements",labelKey:"group.elements"}];function dr(e){return typeof e=="string"&&e.trim()!==""?e:null}function Xo(e){var t=qo.map(function(i){return i.name});if(ce.forEach(function(i){t.indexOf(i.group)<0&&t.push(i.group)}),t=t.filter(function(i){return ce.some(function(l){return l.group===i})}),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=x.appendChild(v("div",{class:"ge-toolbar-stash",hidden:"hidden"}));t.forEach(function(i){var l=n.appendChild(v("button",{type:"button",class:"btn btn-sm btn-outline-secondary",role:"tab","data-ge-group":i},Yo(i)));l.addEventListener("click",function(){o(i)})}),o(t.indexOf($t)>=0?$t:t[0]);function o(i){$t=i,ce.forEach(function(l){(l.group===i?l.home:r).appendChild(l.button)}),q(n).forEach(function(l){var c=l.getAttribute("data-ge-group")===i;z(l,"active",c),l.setAttribute("aria-selected",c?"true":"false")}),Jt()}}function Yo(e){var t="group."+e;if(el(s,t))return m(t);var n=ce.filter(function(r){return r.group===e})[0];return n.button.getAttribute("title")||e}function Jo(){return ce.filter(function(e){return!X(e.button,".ge-toolbar-stash")})}function $o(e){var t=typeof e.toolbar=="function"?e.toolbar():e.toolbar;return Array.isArray(t)?t:[]}function Qo(){if(!(!x||xt)){var e=!!A(x,".gm-preview.active");fn(),cn(),e&&C(A(x,".gm-preview"),"active btn-danger"),gr()}}function fn(){yt&&yt.abort(),yt=null,Yt=function(){},Jt=function(){},x.remove()}function Zo(e){var t=V('<div class="ge-toolbar-more"><button type="button" class="btn btn-sm btn-light"><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=A(t,"button"),r=A(t,".ge-toolbar-overflow"),o=_(r,".btn-group");function i(T){return T===D?o[0]:o[1]}n.setAttribute("title",m("tool.more")),n.setAttribute("aria-haspopup","true"),n.setAttribute("aria-expanded","false");var l=yt=new AbortController,c={signal:l.signal};if(n.addEventListener("click",function(){h(!b(t,"ge-open"))}),r.addEventListener("click",function(T){X(T.target,"[data-ge-toolbar]")&&h(!1)}),document.addEventListener("pointerdown",function(T){t.contains(T.target)||h(!1)},c),document.addEventListener("keydown",function(T){T.key==="Escape"&&h(!1)},c),Yt=function(){h(!1)},Jt=E,E(),window.ResizeObserver){var u=!1,g=new window.ResizeObserver(function(){u||(u=!0,window.requestAnimationFrame(function(){u=!1,l.signal.aborted||E()}))});g.observe(w),g.observe(e),l.signal.addEventListener("abort",function(){g.disconnect()})}function h(T){T=T&&b(t,"ge-needed"),z(t,"ge-open",T),n.setAttribute("aria-expanded",T?"true":"false")}function E(){var T=Jo();if(T.forEach(function(So){So.home.appendChild(So.button)}),k(t,"ge-needed"),e.scrollWidth<=e.clientWidth){h(!1);return}C(t,"ge-needed");for(var I=T.length-1;I>=0&&e.scrollWidth>e.clientWidth;I--){var Ht=i(T[I].home);Ht.insertBefore(T[I].button,Ht.firstChild)}}}function ur(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 ei(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),i=t.align==="end"?"btn-primary":"btn-light",l=ur(v("a",{class:"btn btn-sm "+i+" ge-add-container ge-add-feature"}),o,r);return C(l,t.className||""),(typeof t.hidden=="function"?t.hidden():t.hidden)&&se(l),Wt(l,{"data-ge-toolbar":"feature","data-ge-feature":e,"data-ge-item":n}),l.addEventListener("click",function(){if(U){hn(l,t.source||"tool");return}var c=t.create();if(c){var u=t.inColumn?mn(c):c,g=ie(t.kind,c,function(){f.appendChild(u)},{parent:f,source:t.source||"tool"});g&&t.inColumn&&u.scrollIntoView&&u.scrollIntoView({behavior:"smooth"})}}),l}function ti(){return s.toolbar_drag==="auto"?s.drag_handle==="drawer":!!s.toolbar_drag}function ni(){var e=_(x,"[data-ge-toolbar]");e.forEach(function(t){k(t,"ge-palette-button"),t.removeEventListener("pointerdown",cr)}),ti()&&e.forEach(function(t){C(t,"ge-palette-button"),t.addEventListener("pointerdown",cr)})}function cr(e){var t=e.currentTarget,n=e.pageX,r=e.pageY,o=null;if(e.button)return;function i(u){return Math.abs(u.pageX-n)+Math.abs(u.pageY-r)>s.drag.threshold}function l(u){if(!o){if(!i(u))return;o=C(t.cloneNode(!0),"ge-toolbar-helper"),document.body.appendChild(o),Yt(),C(f,"ge-dropping")}Oe(o,{left:u.pageX-14,top:u.pageY-14}),oi(u.pageX,u.pageY)}function c(u){if(document.removeEventListener("pointermove",l),qn(document,"pointerup pointercancel",c),!!o){o.remove(),k(f,"ge-dropping"),gn();var g=function(E){E.target!==t&&!t.contains(E.target)||(E.preventDefault(),E.stopImmediatePropagation())};window.addEventListener("click",g,{capture:!0,once:!0}),window.setTimeout(function(){window.removeEventListener("click",g,{capture:!0})},0);var h=fr(u.pageX,u.pageY);h&&mr(t,h)}}document.addEventListener("pointermove",l),de(document,"pointerup pointercancel",c)}function fr(e,t){var n=e-window.scrollX,r=t-window.scrollY,o=document.elementFromPoint(n,r);if(!o)return null;var i=X(o,[".column",".ge-canvas"].concat(It("regions")).join(", "));if(!i||i!==f&&!f.contains(i))return null;var l=null;return q(i,Nn()).forEach(function(c){if(!l){var u=c.getBoundingClientRect();r<u.top+u.height/2&&(l=c)}}),{region:i,before:l}}function ri(e,t,n){var r=(Ct[e.getAttribute("data-ge-feature")]||[])[parseInt(e.getAttribute("data-ge-item"),10)];if(!r)return null;var o=r.create();if(!o)return null;var i=o;if(r.inColumn)Se(t.region,".column")||(i=mn(o));else if(!In(t.region,o)){var l=t.region===f?[]:Oo(t.region,f).reverse().concat([t.region]),c=l[0]||null;t={region:f,before:c?c.nextElementSibling:null}}return ie(r.kind,o,function(){t.before?t.before.parentNode.insertBefore(i,t.before):t.region.appendChild(i)},{parent:t.region,source:r.source||n||"dragdrop"})}function mn(e){var t=Ye();return t.appendChild(Ae(H)).appendChild(e),t}function oi(e,t){var n=fr(e,t);if(!n)return gn();Ue||(Ue=v("div",{class:"ge-drop-marker"})),n.before?n.before.parentNode.insertBefore(Ue,n.before):n.region.appendChild(Ue)}function gn(){Ue&&Ue.remove()}function mr(e,t,n){if(e.getAttribute("data-ge-toolbar")==="feature")return ri(e,t,n);var r=e.getAttribute("data-ge-toolbar")==="container",o=e.getAttribute("data-ge-container-type"),i=r?O[o].create({}):ai(e.getAttribute("data-ge-layout")),l=i;return r&&!Se(t.region,".column")&&(l=mn(i)),ie(r?o:"row",i,function(){t.before?t.before.parentNode.insertBefore(l,t.before):t.region.appendChild(l)},{parent:t.region,source:n||"dragdrop"})}function ii(){for(var e=[],t=1;t<=H;t++)e.push(String(t));return{name:"col",values:e.concat(Yn),appliesTo:["column"],labelKey:"utility.col_width",className:function(n,r){return He(Z(n),pn(r))},choices:function(){return s.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,i){return dn(n,r===null?null:pn(r),i,o)},blank:function(n,r){var o=r===Q?null:Pt(n,Z(r));return o?m("utility.col_from_row",{count:fo(o.value)}):null}}}function pn(e){return/^\d+$/.test(String(e))?parseInt(e,10):e}function ai(e){return/^\s*\{/.test(e||"")?tt(JSON.parse(e)):tt((e||"").split(",").filter(function(t){return t!==""}).map(pn))}function tt(e){var t=Ye();if(Array.isArray(e))return e.forEach(function(r){t.appendChild(Ae(r))}),t;Object.keys(e.row_cols||{}).forEach(function(r){var o=e.row_cols[r],i=Z(r);i&&Qe.indexOf(String(o))!==-1&&C(t,Jn(i,o))});for(var n=0;n<(e.columns||0);n++)t.appendChild(Ae(null));return t}function li(e){return y.filter(function(t){return e&&e[t.key]!==void 0}).map(function(t){return(t.infix?t.key+": ":"")+e[t.key]}).join(", ")}function si(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 gr(){var e=window.pageYOffset;e>Bt(x).top&&e<Bt(f).top+Lo(f)?b(w,"ge-top")&&(Oe(w,{left:Bt(w).left,width:vt(w)}),k(w,"ge-top"),C(w,"ge-fixed")):b(w,"ge-fixed")&&(Oe(w,{left:"",width:""}),k(w,"ge-fixed"),C(w,"ge-top"))}function di(){var e=this;if(!e.getAttribute("data-ge-content-type")&&!pe()&&Ut(e)){var t=wr();t.length&&(t.length===1?pr(e,t[0]):ui(e,t))}}function pr(e,t){return t.available&&!t.available()?(t.missingKey&&console.error(m(t.missingKey)),!1):$(function(){var n=re("plain",e,{source:"tool",from:"plain",to:t.type});if(!N("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 b(r,"ge-text-block")&&(k(r,"ge-plain-block"),q(r,".ge-tools-drawer").forEach(function(o){o.remove()})),N("after-convert",n),t.edit(e),!0})}function ui(e,t){var n=b(e.parentElement,"ge-text-block")?e.parentElement:null;n&&vr(M(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(){pr(e,r)}}}),"ge-text-picker ge-convert-picker",n)}function vr(e,t,n,r){if(pe(),!!e){var o=X(e,".ge-tools-drawer");o&&C(o,"ge-picker-open"),ne=e.appendChild(C(v("div",{class:"ge-size-picker"}),n||"")),t.forEach(function(i){var l=Wt(v("a",{class:"ge-size ge-size-flex"}),i.attributes||{});l.setAttribute("title",i.title||i.label),l.textContent=i.label,l.addEventListener("click",function(c){c.preventDefault(),c.stopPropagation(),pe(),i.choose()}),ne.appendChild(l)}),hr(r||e)}}function hr(e){e.addEventListener("mouseleave",function(){window.setTimeout(function(){ne&&!ne.matches(":hover")&&pe()},400)},{once:!0})}function br(){var e={},t=[];return Object.keys(L).forEach(function(n){var r=L[n];r.textTypes&&(r.textTypes()||[]).forEach(function(o){if(e[o.type]){e[o.type]!==n&&K("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 wr(){return br().filter(function(e){return e.offered!==!1})}function ci(e){return br().some(function(t){return t.type===e})}function yr(){Re(),me()}function fi(){Re(),je(null),ve(null),ee.style.height=.8*document.documentElement.clientHeight+"px",ee.value=f.innerHTML,Le(ee),se(f),we=!0,ae("onSourceOpen",ee)}function vn(){ae("onSourceClose",ee),we=!1,mt(f,ee.value),Le(f),me(),se(ee)}function Cr(){return[".column"].concat(It("regions")).join(", ")}function mi(e){return!!e&&e!==f&&f.contains(e)&&Se(e,Cr())}function je(e){if(e!==U){var t=U;t&&k(t,"ge-active-target"),U=e,e&&b(f,"ge-editing")&&C(e,"ge-active-target"),N("target-change",{canvas:f,target:e,from:t})}}function hn(e,t){var n=mr(e,{region:U,before:null},t);n&&n.scrollIntoView&&n.scrollIntoView({behavior:"smooth"})}function me(){G&&!Te(G.node)&&_e(),Y&&!f.contains(Y)&&ve(null),he&&he.home&&!Te(he.home)&&be(),Wn(!0),C(f,"ge-editing"),z(f,"ge-drag-drawer",s.drag_handle==="drawer"),da();var e=za();ja(e),Na(e),Ia(),Vi(),Gi(),Ri(),ae("onInit"),va(),ya(),_o(P),rt(f),U&&!f.contains(U)?je(null):U&&C(U,"ge-active-target"),ia()}function Re(){_e(),aa(),k(f,"ge-editing ge-drag-drawer ge-dropping"),U&&k(U,"ge-active-target"),ae("onBeforeDeinit"),pe(),gn(),be(),Er(f),St.clear(),xo(f),ae("onDeinit"),At(f),xr(f),Ni(),Ta(),xa(),Wn(!1,f)}function Er(e){_(e,".ge-tools-drawer").forEach(function(t){t.remove()})}function xr(e){_(e,"[data-ge-row-cols]").forEach(function(t){t.removeAttribute("data-ge-row-cols")})}function gi(){var e=[];return[O,L,B].forEach(function(t){Object.keys(t).forEach(function(n){var r=t[n],o=r.unmark||r.onDeinit||r.onBeforeDeinit;o&&!r.cleanMarkup&&e.push(n)})}),e}function pi(){for(var e=f.cloneNode(!0),t=new Map,n=new Map,r=document.createTreeWalker(f,NodeFilter.SHOW_ELEMENT),o=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT),i=r.currentNode,l=o.currentNode;i&&l;)t.set(l,i),n.set(i,l),i=r.nextNode(),l=o.nextNode();return{root:e,liveOf:function(c){return t.get(c)||null},copyOf:function(c){return n.get(c)||null}}}function _r(){if(we)return nt();var e=gi();if(e.length)return e.forEach(function(o){K("snapshot:"+o,'the "'+o+'" plugin has no cleanMarkup, so the canvas leaves editing to be read: open texts and settings panels close')}),nt();var t=pi(),n=t.root;[n].concat(_(n,".ge-active-target, .ge-settings-target")).forEach(function(o){k(o,"ge-active-target ge-settings-target"),gt(o)}),_(n,".ge-drop-marker").forEach(function(o){o.remove()}),Er(n),xo(n);var r=null;return[O,L,B].forEach(function(o){Object.keys(o).forEach(function(i){var l=o[i];r||!l.cleanMarkup||l.cleanMarkup(n,t.liveOf)===!1&&(r=i)})}),r?(K("snapshot-refused:"+r,'the "'+r+'" plugin cannot take its marking off a copy right now, so the canvas leaves editing to be read'),nt()):(At(n),xr(n),_(n,"[data-ge-container]").forEach(Dr),Et.forEach(function(o){var i=t.copyOf(o.el);i&&_(i,"[draggable]").forEach(function(l){l.removeAttribute("draggable")})}),bo(n),Wn(!1,n),Xe(n),n.innerHTML)}function nt(e){if(e&&e.keepEditing)return _r();Re(),Xe(f);var t=f.innerHTML;return me(),t}function vi(e){Re(),Xe(e);var t=e.outerHTML;return me(),t}function hi(e){return $n(nt(e))}function bi(e){we&&(vn(),x&&_(x,".gm-edit-mode").forEach(function(t){k(t,"active btn-danger")})),Re(),mt(f,e),me()}function wi(){ae("onDestroy"),we&&vn(),Re(),U=null,Y=null,qt===a&&(qt=null),or(),Jr(),so(),fn(),ee.remove(),en.abort(),Xt.delete(f),xt=!0}function yi(){var e=tr=Ci();wn("grid",{},ii()),s.row_cols!==!1&&wn("grid",{},ma());var t=function(r){return!s.plugins||s.plugins.indexOf(r)!==-1},n=function(r,o){return o.always===!0||t(r)};Object.keys(S.containers).forEach(function(r){t(r)&&(O[r]=S.containers[r](e))}),Object.keys(S.features).forEach(function(r){var o=S.features[r];n(r,o)&&(L[r]=o(e))}),Object.keys(S.utilities).forEach(function(r){t(r)&&(B[r]=S.utilities[r](e),(B[r].families||[]).forEach(function(o){wn(r,B[r],o)}))}),Object.keys(L).forEach(function(r){var o=L[r].methods||{};Object.keys(o).forEach(function(i){Ne[i]=o[i]})}),(s.plugins||[]).forEach(function(r){O[r]||L[r]||B[r]||K("plugin:"+r,'the "'+r+'" plugin is not loaded: include dist/plugins/grideditor.'+r+".js after the editor")})}function ae(e,t){[O,L,B].forEach(function(n){Object.keys(n).forEach(function(r){n[r][e]&&n[r][e](t)})})}function Ci(){return{canvas:f,settings:s,t:m,warn:W,containerId:Ir,freshNode:zi,defaultRegion:ji,createTool:F,createMoveTool:De,addSettingsTool:st,deleteNode:ze,place:Ft,createPaneControls:Di,makeLabelEditable:Fi,labelIn:Hi,unwrapLabels:Wi,suspendToggles:Fr,resumeToggles:Hr,emit:N,payloadFor:re,operate:$,kindOf:fe,view:Bn,viewTiers:function(){return No(P).map(function(e){return e.key})},breakpoints:y.map(function(e){return e.key}),getUtility:Mr,setUtility:En,utilityField:Pi,bareStyle:ki,hostStyle:Pr,setHostStyle:Li,openDialog:lo,closeDialog:be,rowFromLayout:tt,nodeHtml:vi,snapshotHtml:_r,setHtml:bi,confirm:rr,textReady:Go,attachPicker:Ur,openPicker:vr,closePicker:pe,detailsOf:Tn,drawerOf:Ei,refreshToolbar:Qo,toolbarItems:function(e){return x?_(x,'[data-ge-toolbar="feature"][data-ge-feature="'+e+'"]'):[]}}}function Ei(e){if(b(e,"ge-content")){var t=e.parentElement;return b(t,"ge-text-block")?M(t,".ge-tools-drawer"):null}return M(e,".ge-tools-drawer")}var Ce={},xi=".row, .column, .ge-content, .ge-element, [data-ge-container]",Ve="data-ge-preview",bn=!1;function wn(e,t,n){var r=n.name||n.prefix;if(Ce[r]){W('the "'+e+'" plugin declares the utility "'+r+'", which the "'+Ce[r].plugin+'" plugin already declared: ignored');return}Ce[r]={plugin:e,family:Object.assign({},n,{name:r,values:n.values.map(String),appliesTo:n.appliesTo||t.appliesTo||["row","column"]})}}function kt(e,t){return Ce[e]?Ce[e].family:(K("utility:"+e,t+"("+JSON.stringify(e)+"): no loaded plugin declares that utility"),null)}function kr(e,t){return t==="plain"&&(t="text"),e.appliesTo.indexOf(t)!==-1?!0:!!O[t]&&e.appliesTo.indexOf("container")!==-1}function Ar(e){return Object.keys(Ce).map(function(t){return Ce[t].family}).filter(function(t){return kr(t,e)})}function yn(e,t,n){return e.className?e.className(t.key,n):e.prefix+(t.infix?"-"+t.infix:"")+"-"+n}function Ee(e,t,n){for(var r=(e.getAttribute("class")||"").split(/\s+/),o=0;o<t.values.length;o++)if(r.indexOf(yn(t,n,t.values[o]))!==-1)return t.values[o];return null}function Sr(e,t,n){for(var r=y.indexOf(n)-1;r>=0;r--){var o=Ee(e,t,y[r]);if(o!==null)return{tier:y[r],value:o}}return null}function Tr(e,t,n){var r=Ee(e,t,n);if(r!==null)return r;var o=Sr(e,t,n);return o?o.value:null}function Cn(e,t){return y.map(function(n){return{tier:n,value:Ee(e,t,n)}}).filter(function(n){return n.value!==null})}function Or(e,t,n,r){t.values.forEach(function(o){k(e,yn(t,n,o))}),r!==null&&C(e,yn(t,n,r)),gt(e)}function Lr(e,t,n){return n===Q?Ee(e,t,y[0]):Tr(e,t,Z(n))}function _i(e,t,n,r){if(n!==Q){var o=Z(n);return Ee(e,t,o)===r?null:{writes:[{tier:o,value:r}],cleared:[]}}var i=[],l=[];return Cn(e,t).forEach(function(c){c.tier!==y[0]&&(i.push({tier:c.tier,value:null}),l.push({breakpoint:c.tier.key,value:c.value}))}),Ee(e,t,y[0])!==r&&i.unshift({tier:y[0],value:r}),i.length?{writes:i,cleared:l}:null}function Mr(e,t,n){e=oe(e);var r=kt(t,"getUtility");if(!r||!e)return null;var o=n===void 0?P:Kn(n);return o===null?(W("getUtility("+JSON.stringify(n)+"): no such layout mode"),null):Lr(e,r,o)}function En(e,t,n,r){r=typeof r=="string"?{view:r}:r||{},e=oe(e);var o=kt(t,"setUtility");if(!o||!e)return!1;var i=r.view===void 0?P:Kn(r.view);if(i===null)return W("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 W("setUtility: "+JSON.stringify(n)+' is not a value of "'+t+'", which takes '+JSON.stringify(o.values)),!1;var l=fe(e);if(!kr(o,l))return W('setUtility: "'+t+'" does not apply to a '+l),!1;if(o.write)return o.write(e,n,i,r.source||"api");var c=_i(e,o,i,n);return c?$(function(){var u=re(l,e,{family:t,breakpoint:i,tiers:c.writes.map(function(g){return g.tier.key}),from:Lr(e,o,i),to:n,cleared:c.cleared,source:r.source||"api"});return N("before-utility",u)?(c.writes.forEach(function(g){Or(e,o,g.tier,g.value)}),ge(e),N("after-utility",u),!0):(ge(e),!1)}):!1}function ki(e,t,n){var r=kt(t,"bareStyle");if(e=oe(e),!r||!e)return null;var o=e.getAttribute("class");y.forEach(function(l){Or(e,r,l,null)});var i=getComputedStyle(e).getPropertyValue(n);return o===null?e.removeAttribute("class"):e.setAttribute("class",o),i}function ge(e){var t=Tn(e);if(t){var n=A(t,".ge-classes");n&&(n.value=Sn(e).join(" ")),q(t,".ge-utilities").forEach(function(r){xn(r)})}jr(e),rt(e)}function Ai(e){return le(e,xi)}function rt(e){At(e),P!==Q&&Si(e,Z(P)),fa(e),ae("onRefresh",e)}function Si(e,t){Ai(e).forEach(function(n){var r=fe(n),o={};Ar(r).forEach(function(i){!i.preview||!Cn(n,i).length||Object.assign(o,i.preview(Tr(n,i,t),n,r))}),r==="column"&&Object.assign(o,ca(n,t)),Object.keys(B).forEach(function(i){var l=B[i];l.preview&&Object.assign(o,l.preview(n,r,t.key))}),Object.keys(o).length&&Ti(n,o)})}function Ti(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(Ve,JSON.stringify(r))}function At(e){le(e,"["+Ve+"]").forEach(function(t){var n=t.style,r={};try{r=JSON.parse(t.getAttribute(Ve))||{}}catch(o){}Object.keys(r).forEach(function(o){var i=r[o];i&&i[0]?n.setProperty(o,i[0],i[1]):n.removeProperty(o)}),t.removeAttribute(Ve),pt(t)})}function Oi(e){var t=document.createElement("div"),n={};t.style.cssText=e.style.cssText;try{n=JSON.parse(e.getAttribute(Ve))||{}}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 Pr(e,t){var n=Oi(e);return t===void 0?n.cssText:{value:n.getPropertyValue(t),priority:n.getPropertyPriority(t)}}function Li(e,t,n,r){if(n=n==null?"":String(n).trim(),r===void 0&&(r=Pr(e,t).priority),n!==""){var o=document.createElement("div").style;if(o.setProperty(t,n,r||""),o.getPropertyValue(t)==="")return!1}var i=e.hasAttribute(Ve);return i&&At(e),n===""?e.style.removeProperty(t):e.style.setProperty(t,n,r||""),pt(e),i&&rt(e),!0}function Mi(e){var t=fe(e),n=Ar(t).filter(function(l){return l.panel!==!1}).map(function(l){return zr(e,l)});if(Object.keys(B).forEach(function(l){var c=B[l],u=c.panel?c.panel(e,t):null;u&&n.push(u)}),!n.length)return null;var r=z(v("div",{class:"ge-utilities"}),"ge-open",bn);nr.set(r,e);var o=r.appendChild(v("a",{class:"ge-utilities-toggle"}));o.addEventListener("click",function(){bn=!b(r,"ge-open"),qr().forEach(function(l){_(l,".ge-utilities").forEach(function(c){z(c,"ge-open",bn)})})});var i=r.appendChild(v("div",{class:"ge-utilities-body"}));return n.forEach(function(l){i.appendChild(l)}),xn(r),r}function zr(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(){En(e,t.name,this.value,{source:"panel"})}),n.appendChild(v("small",{class:"ge-utility-note"})),n}function Pi(e,t){var n=kt(t,"utilityField");if(!n)return null;var r=zr(e,n);return _n(r,e),St.set(r,e),r}var St=new Map;function jr(e){St.forEach(function(t,n){if(!n.isConnected){St.delete(n);return}e&&t!==e||X(n,".ge-utilities")||_n(n,t)})}function xn(e){var t=nr.get(e);q(e,".ge-utilities-toggle").forEach(function(n){n.textContent=m("utility.section",{view:m(bt(P))})}),_(e,".ge-utility").forEach(function(n){_n(n,t)})}function _n(e,t){var n=Ce[e.getAttribute("data-ge-family")].family,r=M(e,"select"),o=n.choices?n.choices(t,fe(t)):n.values,i,l,c="";if(r.innerHTML="",P===Q){i=Ee(t,n,y[0]),l=m("utility.default");var u=Cn(t,n).filter(function(I){return I.tier!==y[0]});u.length&&(c=m("utility.varies",{breakpoints:u.map(function(I){return I.tier.key}).join(", ")}))}else{var g=Z(P),h=Sr(t,n,g);i=Ee(t,n,g),l=h?m("utility.inherit",{value:Rr(n,h.value),breakpoint:h.tier.key}):m("utility.default");var E=n.blank?n.blank(t,P):null;E&&i===null&&(l=E)}i!==null&&o.indexOf(i)===-1&&(o=o.concat([i])),r.appendChild(v("option",{value:""},l)),o.forEach(function(I){r.appendChild(v("option",{value:I},Rr(n,I)))}),r.value=i===null?"":i;var T=M(e,".ge-utility-note");T.textContent=c,Gn(T,c!=="")}function Rr(e,t){return e.label?e.label(t):t}var O={},L={},B={},Ne={},Nr=0;function Ir(e){return Nr++,"ge-"+e+"-"+Nr+"-"+Math.random().toString(36).slice(2,6)}function zi(e){var t=V(e),n={},r=function(o){return!!document.getElementById(o)||Object.keys(n).some(function(i){return n[i]===o})};return le(t,"[id]").forEach(function(o){var i=o.id;if(document.getElementById(i)){var l=Ja.exec(i),c;if(l)do c=Ir(l[1]);while(r(c));else{for(var u=2;r(i+"-"+u);)u++;c=i+"-"+u}n[i]=c,o.id=c}}),Object.keys(n).length&&le(t,"*").forEach(function(o){Ya.forEach(function(i){var l=o.getAttribute(i);if(l!==null&&!(i==="href"&&l.charAt(0)!=="#")){var c=l.split(/(\s+)/).map(function(u){return n[u]?n[u]:u.charAt(0)==="#"&&n[u.slice(1)]?"#"+n[u.slice(1)]:u}).join("");c!==l&&o.setAttribute(i,c)}})}),t}function ji(){var e=Ye();return e.appendChild(Ae(H)),e}function Ie(e){return e?e.getAttribute("data-ge-container"):null}function Ri(){_(f,"[data-ge-container]").forEach(function(e){var t=Ie(e),n=O[t];if(!n){K("container:"+t,'unknown container type "'+t+'"');return}C(e,"ge-container ge-container-"+t),n.mark(e),M(e,".ge-tools-drawer")||Ii(e,t,n)})}function Ni(){_(f,"[data-ge-container]").forEach(function(e){var t=O[Ie(e)];t&&t.unmark(e),Dr(e)})}function Dr(e){k(e,"ge-container ge-container-"+Ie(e)),gt(e)}function Ge(e,t){var n=v("div",{class:t});return e.insertBefore(n,e.firstChild),n}function Tt(e,t){(t||[]).forEach(function(n){F(e,n.title||"",n.className||"",n.iconClass||"bi bi-wrench",n.on)})}function Ii(e,t,n){var r=Ge(e,"ge-tools-drawer ge-container-drawer");De(r),st(r,e,s.container_classes),Tt(r,s.container_tools),n.tools&&n.tools(r,e),F(r,m("tool.delete_container"),"ge-delete-container","bi bi-trash",function(){ze(t,e,m("confirm.delete_container"),function(o){ht(e,o)})}),n.addPane&&F(r,m(n.addPaneKey),"ge-add-pane","bi bi-plus-circle",function(){var o=n.addPane(e,{});o&&ie(n.paneKind,o,function(){},{parent:e,source:"tool",container:e})})}function Di(e,t,n,r,o){var i=Ge(e,"ge-tools-drawer ge-pane-drawer");return De(i),st(i,e,s.pane_classes),Tt(i,n),F(i,m("tool.delete_pane"),"ge-delete-pane","bi bi-trash",function(){ze(t,e,r,function(l){o(l)})}),i}var Ot=["toggle","dismiss","slide","slide-to","ride"];function Fr(e){e&&le(e,Ot.map(function(t){return"[data-bs-"+t+"]"}).join(", ")).forEach(function(t){Ot.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 Hr(e){e&&le(e,Ot.map(function(t){return"[data-ge-bs-"+t+"]"}).join(", ")).forEach(function(t){Ot.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 Fi(e){if(!Zt.has(e)){var t=X(e,"[data-bs-toggle], [data-ge-bs-toggle]");Zt.add(e),e.setAttribute("title",m("tool.rename")),e.addEventListener("dblclick",function(n){n.preventDefault(),n.stopPropagation(),Fr(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"),Hr(t)})}}function Hi(e){var t=M(e,".ge-pane-label");return t||(t=v("span",{class:"ge-pane-label"},e.textContent.trim()),e.innerHTML="",e.appendChild(t)),t}function Wi(e){_(e,".ge-pane-label").forEach(function(t){Zt.delete(t),Gt(t)})}function Wr(e,t){var n=Ae(t);return ie("column",n,function(){e.appendChild(n)},{parent:e,source:"tool"})}function Ui(e,t){!s.add_column.picker||!e||Ur(e,function(){Ki(e,t)})}function Ur(e,t){var n=null,r=function(){window.clearTimeout(n),n=null};de(e,"mouseenter mousedown",function(){n||ne||(n=window.setTimeout(function(){n=null,t()},s.add_column.delay))}),de(e,"mouseleave mouseup",r)}function Ki(e,t){pe();var n=Rn(t,xe()),r=X(e,".ge-tools-drawer");r&&C(r,"ge-picker-open"),ne=e.appendChild(v("div",{class:"ge-size-picker"})),s.valid_col_sizes.forEach(function(o){var i=v("a",{class:"ge-size","data-ge-size":o,title:Bi(o)},J(o)?o:He(y[0],o));z(i,"ge-size-tight",J(o)&&o>n),z(i,"ge-size-flex",!J(o)),i.addEventListener("click",function(l){l.preventDefault(),l.stopPropagation(),pe(),Wr(t,o)}),ne.appendChild(i)}),hr(e)}function Bi(e){return e==="equal"?m("tool.column_equal"):e==="auto"?m("tool.column_auto"):m("tool.column_size",{size:e})}function pe(){if(!ne)return!1;var e=X(ne,".ge-tools-drawer");return e&&k(e,"ge-picker-open"),ne.remove(),ne=null,!0}function Vi(){_(f,".row").forEach(function(e){if(!M(e,".ge-tools-drawer")){var t=Ge(e,"ge-tools-drawer");De(t),st(t,e,s.row_classes),Tt(t,s.row_tools),F(t,m("tool.delete_row"),"ge-delete-row","bi bi-trash",function(){ze("row",e,m("confirm.delete_row"),function(n){ht(e,n)})}),F(t,m("tool.add_column"),"ge-add-column","bi bi-plus-circle",function(){pe()||Wr(e,ct(e,xe())?null:s.add_column.size)}),Ui(M(t,".ge-add-column"),e)}})}function Gi(){_(f,".column").forEach(function(e){if(!M(e,".ge-tools-drawer")){var t=Ge(e,"ge-tools-drawer");De(t),s.resize.tools!==!1&&(F(t,m("tool.column_narrower"),"ge-decrease-col-width","bi bi-dash-lg",function(n){dn(e,n.shiftKey?lt(s.valid_col_sizes):Lt(s.valid_col_sizes.filter(J),it(e),-1),"tool")}),F(t,m("tool.column_wider"),"ge-increase-col-width","bi bi-plus-lg",function(n){dn(e,n.shiftKey?qi(e):Lt(s.valid_col_sizes.filter(J),it(e),1),"tool")})),s.indent.tools!==!1&&(F(t,m("tool.indent_decrease"),"ge-decrease-col-offset","bi bi-text-indent-right",function(n){ar(e,n.shiftKey?lt(s.valid_col_offsets):Lt(s.valid_col_offsets,at(e),-1),"tool")}),F(t,m("tool.indent_increase"),"ge-increase-col-offset","bi bi-text-indent-left",function(n){ar(e,n.shiftKey?Xi(e):Lt(s.valid_col_offsets,at(e),1),"tool")})),st(t,e,s.col_classes),Tt(t,s.col_tools),F(t,m("tool.delete_column"),"ge-delete-column","bi bi-trash",function(){ze("column",e,m("confirm.delete_column"),function(n){zo(e,400,n,!0)})}),F(t,m("tool.add_row"),"ge-add-row","bi bi-plus-circle",function(){var n=Ye();ie("row",n,function(){e.appendChild(n)},{parent:e,source:"tool"})})}})}function xe(){return P===Q?y[y.length-1]:Z(P)}function ot(e){var t=xe();if(Pt(e,t))return null;var n=zn(e,t);return n===null?H:n}function it(e){var t=ot(e);if(J(t))return t;var n=Math.round(vt(e)/Kr(e.parentElement)*H);return Math.min(Math.max(n,1),H)}function Kr(e){var t=window.getComputedStyle(e);return e.clientWidth-parseFloat(t.paddingLeft)-parseFloat(t.paddingRight)}function at(e){return jt(e,xe())||0}function Lt(e,t,n){var r=e.indexOf(t);return r===-1?e.reduce(function(o,i){return Math.abs(i-t)<Math.abs(o-t)?i:o},e[0]):e[Math.min(Math.max(r+n,0),e.length-1)]}function lt(e){return e.filter(J).reduce(function(t,n){return Math.min(t,n)},H)}function kn(e){return e.filter(J).reduce(function(t,n){return Math.max(t,n)},0)}function qi(e){var t=Rn(e.parentElement,xe(),e)-at(e);return Math.min(kn(s.valid_col_sizes),Math.max(t,1))}function Xi(e){var t=Rn(e.parentElement,xe(),e)-it(e);return Math.min(kn(s.valid_col_offsets),Math.max(t,0))}function De(e){return s.drag_handle==="drawer"?null:F(e,m("tool.move"),"ge-move","bi bi-arrows-move")}var An=".ge-tools-drawer:not(.ge-text-drawer):not(.ge-pane-drawer):not(.ge-code-inline)";function Yi(){if(s.drawer_overflow==="wrap"||!window.ResizeObserver||!window.MutationObserver)return;var e=new Set,t=null;function n(l){e.add(l),t===null&&(t=window.requestAnimationFrame(r))}function r(){t=null;var l=Array.from(e);e.clear(),l.forEach(function(c){if(!c.isConnected){o.unobserve(c);return}Ji(c)})}var o=new window.ResizeObserver(function(l){l.forEach(function(c){n(c.target)})}),i=new window.MutationObserver(function(l){l.forEach(function(c){var u=c.target;if(c.type==="attributes"){var g=u.parentNode;g&&g.nodeType===1&&g.matches(An)&&n(g);return}if(u.nodeType===1&&u.matches(An)){n(u);return}c.addedNodes.forEach(function(h){h.nodeType===1&&le(h,An).forEach(function(E){C(E,"ge-drawer-fit"),o.observe(E),n(E)})})})});i.observe(f,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["style"]}),en.signal.addEventListener("abort",function(){i.disconnect(),o.disconnect(),t!==null&&window.cancelAnimationFrame(t)})}function Ji(e){var t=q(e,"a").filter(function(o){return!b(o,"ge-drawer-more")}),n=b(e,"ge-drawer-expanded");if(k(e,"ge-drawer-overflow ge-drawer-expanded"),t.forEach(function(o){k(o,"ge-tool-overflow")}),!!Br(e,t)){C(e,"ge-drawer-overflow"),M(e,".ge-drawer-more")||F(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&&Br(e,t);r--)C(t[r],"ge-tool-overflow");z(e,"ge-drawer-expanded",n)}}function Br(e,t){var n=window.getComputedStyle(e),r=e.getBoundingClientRect().right-parseFloat(n.borderRightWidth)-parseFloat(n.paddingRight);return t.some(function(o){var i=o.getClientRects();return i.length>0&&i[0].right>r+.5})}function F(e,t,n,r,o){var i=v("a",{title:t,class:n});return i.appendChild(v("i",{class:r})),e.appendChild(i),typeof o=="function"&&i.addEventListener("click",o),o&&typeof o=="object"&&Object.keys(o).forEach(function(l){de(i,l,o[l])}),i}function Sn(e){return(e.getAttribute("class")||"").split(/\s+/).filter(function(t){return t!==""&&!$i(t)})}function $i(e){return e==="row"||e==="column"||/^(ge-|ui-)/.test(e)||/^col(-(sm|md|lg|xl|xxl))?(-auto)?$/.test(e)?!0:y.some(function(t){return new RegExp("^("+t.colPrefix+"|"+t.offsetPrefix+")\\d+$").test(e)})}function Qi(e,t){Sn(e).forEach(function(n){k(e,n)}),t.split(/\s+/).forEach(function(n){n!==""&&C(e,n)}),gt(e)}function st(e,t,n){var r=Zi(t,n||[]);Be.set(t,r),Fe()!=="sidebar"&&F(e,m("tool.settings"),"ge-settings","bi bi-gear-fill",function(){ta(t,r,this)});var o=fe(t);return Object.keys(B).forEach(function(i){B[i].drawerTools&&B[i].drawerTools(e,t,o)}),Object.keys(L).forEach(function(i){L[i].drawerTools&&L[i].drawerTools(e,t,o)}),e.appendChild(r)}function Zi(e,t){var n=v("div",{class:"ge-details"});n.appendChild(Vr(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)},i=v("input",{class:"ge-id form-control form-control-sm",placeholder:m("tool.id_placeholder"),title:m("tool.id_title")});i.value=e.getAttribute("id")||"",o(m("panel.id")).appendChild(i),i.addEventListener("change",function(){this.value===""?e.removeAttribute("id"):e.setAttribute("id",this.value)});var l=v("input",{class:"ge-classes form-control form-control-sm",placeholder:m("tool.classes_placeholder"),title:m("tool.classes_title")});l.value=Sn(e).join(" "),o(m("panel.classes")).appendChild(l),l.addEventListener("change",function(){Qi(e,this.value),ge(e)});var c=r.appendChild(v("div",{class:"btn-group btn-group-sm ge-presets",role:"group"}));t.forEach(function(g){var h=b(e,g.cssClass),E=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"});E.innerHTML=g.label,z(E,"active",h),E.addEventListener("click",function(){z(E,"active"),E.setAttribute("aria-pressed",b(E,"active")?"true":"false"),z(e,g.cssClass,b(E,"active")),ge(e)}),c.appendChild(E)}),ea(e).forEach(function(g){n.appendChild(g)});var u=Mi(e);return u&&n.appendChild(u),n}function Vr(e){return v("h6",{class:"ge-section-title"},e)}function ea(e){var t=fe(e),n=Fe(),r=[];return[O,L,B].forEach(function(o){Object.keys(o).forEach(function(i){var l=o[i],c=l.panelSection?l.panelSection(e,t):null;if(!(!c||!c.body)){var u=v("div",{class:"ge-panel-section","data-ge-plugin":i});if(n==="offcanvas"||n==="modal"||n==="sidebar")u.appendChild(Vr(m(c.labelKey))),u.appendChild(c.body);else{var g=m(c.labelKey),h=u.appendChild(v("button",{type:"button",class:"btn btn-sm btn-outline-secondary ge-panel-section-open"},g));se(c.body),u.appendChild(c.body),h.addEventListener("click",function(){lo(c.titleKey?m(c.titleKey,{kind:Pn(e)}):g,c.body,h)})}r.push(u)}})}),r}var Gr=["offcanvas","popover","modal","inline","sidebar"],j={},G=null,Mt=new WeakMap;function Fe(){return Gr.indexOf(s.settings_panel)!==-1?s.settings_panel:(K("settings_panel",'settings_panel "'+s.settings_panel+'" is not one of '+Gr.join(", ")+": using offcanvas"),"offcanvas")}function Tn(e){return e&&Be.get(e)||null}function qr(){var e=[f];return G&&G.mode!=="inline"&&e.push(G.details),ke&&e.push(ke.details),e}function ta(e,t,n){var r=Fe();if(r==="inline"){Gn(t);return}var o=G&&G.details===t;_e(),o||na(r,e,t,n)}function na(e,t,n,r){var o=Yr(e),i=new AbortController;G={mode:e,node:t,details:n,home:n.parentElement,next:n.nextElementSibling,gear:r,listening:i},A(o,".ge-settings-title").textContent=m("panel.title",{kind:Pn(t)}),A(o,".ge-settings-body").appendChild(n),Le(n),C(t,"ge-settings-target");var l={signal:i.signal};if(document.addEventListener("keydown",function(u){u.key==="Escape"&&!he&&_e()},l),e==="offcanvas"){var c=window.innerWidth<576;z(o,"offcanvas-end",!c),z(o,"offcanvas-bottom",c),k(o,"hiding"),o.getBoundingClientRect(),C(o,"show")}else e==="popover"?(On(o,r),de(window,"scroll resize",function(){On(o,r)},l),window.ResizeObserver&&(G.observer=new window.ResizeObserver(function(){On(o,r)}),G.observer.observe(n)),de(document,"mousedown touchstart",function(u){!he&&!o.contains(u.target)&&!r.contains(u.target)&&_e()},l)):Ln(o,function(){G&&G.mode==="modal"&&_e()})}function _e(){be();var e=G;if(e){G=null;var t=j[e.mode];e.listening.abort(),e.observer&&e.observer.disconnect(),e.mode==="offcanvas"?(k(t,"show"),C(t,"hiding"),window.setTimeout(function(){k(t,"hiding")},300)):e.mode==="popover"?se(t):Mn(t),Xr(e)}}function Xr(e){k(e.node,"ge-settings-target"),e.details.style.removeProperty("display"),pt(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 Yr(e){if(j[e])return j[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>'),A(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>'),A(n,".popover-header").appendChild(t()),se(n)):e==="sidebar"?(n=V('<div class="offcanvas offcanvas-end ge-settings-panel ge-settings-sidebar" tabindex="-1" role="complementary"><div class="offcanvas-header"><h5 class="offcanvas-title ge-settings-title"></h5></div><div class="offcanvas-body ge-settings-body"></div></div>'),n.id="ge-settings-sidebar-"+er,A(n,".offcanvas-header").appendChild(t()),j["sidebar-toggle"]=document.body.appendChild(ra(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>'),A(n,".modal-header").appendChild(t()),A(n,".modal-footer").appendChild(v("button",{type:"button",class:"btn btn-primary ge-settings-close"},m("panel.done")))),$e(n,"click",".ge-settings-close",function(r){r.preventDefault(),e==="sidebar"?ve(null):_e()}),j[e]=document.body.appendChild(n),n}function Jr(){_e(),no(),k(document.documentElement,"ge-sidebar-open"),Object.keys(j).forEach(function(e){e==="modal"?rn(j[e]):j[e].remove()}),Object.keys(j).forEach(function(e){ao(j[e])}),j={}}var $r=576,ke=null,dt=null;function ut(){return b(f,"ge-editing")}function ra(e){var t=v("button",{type:"button",class:"ge-sidebar-toggle","aria-controls":e.id});return t.appendChild(v("i")),t.addEventListener("click",function(){oa(!Ke)}),t}function oa(e){Ke=e,Qr()}function Qr(){var e=j.sidebar,t=j["sidebar-toggle"];if(e){var n=!Ke;n&&!b(e,"show")?(k(e,"hiding"),e.getBoundingClientRect(),C(e,"show")):!n&&b(e,"show")&&(k(e,"show"),C(e,"hiding"),window.setTimeout(function(){k(e,"hiding")},300));var r=m(n?"panel.collapse":"panel.expand");t.setAttribute("aria-expanded",n?"true":"false"),t.setAttribute("aria-label",r),t.setAttribute("title",r),A(t,"i").className="bi "+(n?"bi-chevron-right":"bi-chevron-left"),Zr()}}function Zr(){z(document.documentElement,"ge-sidebar-open",!!j.sidebar&&ut()&&!Ke&&window.innerWidth>=$r)}function ia(){if(Fe()==="sidebar"){var e=Yr("sidebar");Ke===null&&(Ke=window.innerWidth<$r),e.style.removeProperty("display"),j["sidebar-toggle"].style.removeProperty("display"),ro(),Qr()}}function aa(){to();var e=j.sidebar;e&&(e.style.display="none",j["sidebar-toggle"].style.display="none",k(document.documentElement,"ge-sidebar-open"))}function eo(e){var t=j.sidebar;A(t,".ge-settings-title").textContent=e,t.setAttribute("aria-label",e)}function to(){var e=ke;ke=null,e&&Xr(e)}function no(){to(),dt&&(dt.body.remove(),dt=null)}function ro(){var e=j.sidebar;if(!(!e||!ut())){var t=Y?Tn(Y):null;if(!(t?ke&&ke.details===t:!ke&&dt)){no();var n=A(e,".ge-settings-body");if(!t){var r=la(),o=r?r.body:v("p",{class:"ge-sidebar-empty"},m("panel.sidebar_empty"));eo(r?r.title:m("panel.sidebar_title")),n.appendChild(o),dt={body:o};return}ke={node:Y,details:t,home:t.parentElement,next:t.nextElementSibling},eo(m("panel.title",{kind:Pn(Y)})),n.appendChild(t),Le(t),C(Y,"ge-settings-target")}}}function la(){var e=s.sidebar.empty,t=null;return typeof e=="function"?t=oo(e(a),function(n){return n.title}):e!=null&&K("sidebar.empty","sidebar.empty is a function(ge) returning { title, body }, not "+typeof e+": ignored"),[O,L,B].forEach(function(n){Object.keys(n).forEach(function(r){var o=n[r];t||!o.sidebarEmpty||(t=oo(o.sidebarEmpty(tr),function(i){return typeof i.titleKey=="string"&&i.titleKey!==""?m(i.titleKey):""}))})}),t}function oo(e,t){if(!e||!e.body||e.body.nodeType!==1)return null;var n=t(e);return{title:typeof n=="string"&&n!==""?n:m("panel.sidebar_title"),body:e.body}}function io(e){var t=X(e,".ge-tools-drawer",f);if(t){var n=t.parentElement,r=Be.has(n)?n:q(n).filter(function(i){return Be.has(i)})[0];if(r)return r}for(var o=e;o&&o!==f;o=o.parentElement)if(Be.has(o))return o;return null}function ve(e){if(e!==Y){var t=Y;Y=e,ro(),N("selection-change",{canvas:f,node:e,from:t})}}function On(e,t){if(Te(t)){Le(e);var n=t.getBoundingClientRect(),r=8,o=M(e,".popover-body");o.style.removeProperty("max-height");var i=vt(e),l=Kt(e),c=window.innerHeight-n.bottom-2*r,u=n.top-2*r,g=l<=c||c>=u,h=g?c:u;l>h&&(Oe(o,{"max-height":Math.max(120,h-(l-Kt(o)))}),l=Kt(e));var E=g?n.bottom+r:n.top-r-l,T=Math.max(r,Math.min(n.left+n.width/2-24,window.innerWidth-i-r));z(e,"bs-popover-bottom",g),z(e,"bs-popover-top",!g),Oe(e,{top:E+window.pageYOffset,left:T+window.pageXOffset}),Oe(M(e,".popover-arrow"),{left:Math.max(r,Math.min(n.left+n.width/2-T-8,i-24))})}}function Ln(e,t){var n=wt(),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,ir(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"?Ln(e,r.dismissed):r.dismissed()})),r.wanted="open",r.busy||(r.busy=!0,o.show())}function Mn(e){var t=wt(),n=Mt.get(e);if(n){if(n.wanted="closed",!t){n.backdrop&&(n.backdrop.remove(),n.backdrop=null),k(e,"show"),e.style.removeProperty("display"),e.setAttribute("aria-hidden","true");return}!n.busy&&b(e,"show")&&(n.busy=!0,t.getOrCreateInstance(e).hide())}}function ao(e){var t=Mt.get(e);t&&t.backdrop&&(t.backdrop.remove(),t.backdrop=null)}var te=null,he=null;function sa(){return te||(te=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>'),A(te,".modal-header").appendChild(v("button",{type:"button",class:"btn-close ge-dialog-close","aria-label":m("panel.close")})),A(te,".modal-footer").appendChild(v("button",{type:"button",class:"btn btn-primary ge-dialog-close"},m("panel.done"))),$e(te,"click",".ge-dialog-close",function(e){e.preventDefault(),be()}),document.body.appendChild(te))}function lo(e,t,n){be();var r=sa(),o=new AbortController;he={body:t,home:t.parentElement,next:t.nextElementSibling,opener:n||document.activeElement,listening:o},A(r,".ge-dialog-title").textContent=e,A(r,".ge-dialog-body").appendChild(t),Le(t),wt()||document.addEventListener("keydown",function(i){i.key==="Escape"&&be()},{signal:o.signal}),Object.keys(j).forEach(function(i){C(j[i],"ge-under-dialog")}),Ln(r,function(){be()})}function be(){var e=he;e&&(he=null,e.listening.abort(),Mn(te),Object.keys(j).forEach(function(t){k(j[t],"ge-under-dialog")}),se(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 so(){be(),te&&(ao(te),rn(te),te=null)}function Pn(e){var t=fe(e);if(O[t]&&O[t].labelKey)return m(O[t].labelKey);var n=Object.keys(O).filter(function(r){return O[r].paneKind===t&&O[r].paneLabelKey})[0];if(n)return m(O[n].paneLabelKey);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 da(){_(f,'.column, div[class*="col-"], div.col').forEach(function(e){C(e,"column"),!(ga(e).length||uo(e.parentElement))&&Rt(e,y[0],H)})}function uo(e){return b(e,"row")&&y.some(function(t){return Qe.some(function(n){return b(e,Jn(t,n))})})}function ct(e,t){if(!b(e,"row"))return null;for(var n=y.indexOf(t);n>=0;n--)for(var r=0;r<Qe.length;r++)if(b(e,Jn(y[n],Qe[r])))return{tier:n,value:Qe[r]};return null}function co(e,t){for(var n=y.indexOf(t);n>=0;n--){var r=qe(e,y[n]);if(r!==null)return{tier:n,size:r}}return null}function Pt(e,t){var n=ct(e.parentElement,t);if(!n)return null;var r=co(e,t);return!r||n.tier>r.tier||n.tier===r.tier&&r.size==="equal"?n:null}function ua(e){return e.value==="auto"?0:H/parseInt(e.value,10)}function ca(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%"}:uo(e.parentElement)&&!co(e,t)?{flex:"0 0 auto",width:"100%","max-width":"100%"}:{}}function fa(e){le(e,".row").forEach(function(t){var n=s.row_cols===!1?null:P===Q?ct(t,y[0])||null:ct(t,Z(P));n?t.setAttribute("data-ge-row-cols",fo(n.value)):t.removeAttribute("data-ge-row-cols")})}function fo(e){return e==="auto"?m("badge.row_cols_auto"):m("badge.row_cols",{count:e})}function ma(){return{name:"row-cols",prefix:"row-cols",values:Qe,appliesTo:["row"],labelKey:"utility.row_cols"}}function qe(e,t){var n=go(e,t.colPrefix);return n!==null?n:b(e,He(t,"auto"))?"auto":b(e,He(t,"equal"))?"equal":null}function zt(e,t){return go(e,t.offsetPrefix)}function zn(e,t){return mo(e,t,qe)}function jt(e,t){return mo(e,t,zt)}function mo(e,t,n){for(var r=y.indexOf(t);r>=0;r--){var o=n(e,y[r]);if(o!==null)return o}return null}function go(e,t){var n=new RegExp("(?:^|\\s)"+t+"(\\d+)(?:\\s|$)").exec(e.getAttribute("class")||"");return n?parseInt(n[1],10):null}function po(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 Rt(e,t,n){po(e,t.colPrefix,null),Yn.forEach(function(r){k(e,He(t,r))}),n!=null&&C(e,He(t,n))}function jn(e,t,n){po(e,t.offsetPrefix,n||null)}function ga(e){return y.filter(function(t){return qe(e,t)!==null})}function Rn(e,t,n){var r=0;return q(e,".column").forEach(function(o){if(!(n&&o===n)){var i=Pt(o,t),l=i?ua(i):zn(o,t);r+=(J(l)?l:0)+(jt(o,t)||0)}}),H-r}function Nt(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),Ro),t===null||!J(t)?{size:t,offset:n,refused:!1}:(t=Math.min(Math.max(t,1),H),t+n<=H?{size:t,offset:n,refused:!1}:e.leading==="offset"?{size:H-n,offset:n,refused:!1}:{size:null,offset:n,refused:!0})}function Xe(e){le(e,".column").forEach(function(t){Oe(t,{width:"",height:"",left:"",top:""}),pt(t)})}function vo(e){return"ge-"+e+"-"+er}function Nn(){return[".row",".ge-text-block",".ge-content","[data-ge-container]"].concat(It("blocks")).join(", ")}function It(e){return Object.keys(L).map(function(t){return L[t][e]||null}).filter(function(t){return t!==null})}function In(e,t){var n=!0;return Object.keys(L).forEach(function(r){var o=L[r];n&&o.accepts&&o.accepts(e,t)===!1&&(n=!1)}),n}function pa(){return s.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 Dt(e,t){var n=Do();if(e=Array.isArray(e)?e:e?[e]:[],!(!e.length||!n)){var r=s.drag_handle==="drawer",o=pa(),i=0;e.forEach(function(l){var c=t.group?{name:vo(t.group)}:{name:vo(t.draggable+"-"+ ++i),pull:!1,put:!1};t.group&&t.accepts&&(c.put=function(u,g,h){return g.options.group.name===c.name&&t.accepts(u.el,h)}),Et.push(n.create(l,Object.assign({group:c,draggable:t.draggable,handle:r?".ge-tools-drawer":".ge-tools-drawer .ge-move",filter:function(u,g){return X(u.target,o,l)?!0:!g||g.parentNode!==l},preventOnFilter:!1,forceFallback:!0,fallbackOnBody:!1,ghostClass:"ge-drag-placeholder",chosenClass:"ge-drag-chosen",dragClass:"ge-drag-helper",fallbackClass:"ge-drag-helper",animation:s.drag.animation,delay:s.drag.delay||s.drag.touch_delay,delayOnTouchOnly:!s.drag.delay,touchStartThreshold:s.drag.threshold,scroll:s.drag.scroll,onStart:ha,onEnd:wa},t.options||{})))})}}function va(){if(!Do()){K("sortable_missing",m("error.sortable_missing"));return}Dt(_(f,".row"),{draggable:".column",group:"column"}),Dt([f].concat(_(f,".column")),{draggable:Nn(),group:"block",accepts:In});var e=It("regions");e.length&&Dt(_(f,e.join(", ")),{draggable:">"+Nn(),group:"block",accepts:In}),ae("onSortable",Dt)}function ha(e){var t=e.item,n=un(t),r=ho(t),o={from:n,canceled:!1};Qt.set(t,o),$(function(){var i=N("before-move",re(r.kind,r.node,{parent:n.parent,source:"dragdrop",from:n}));i||(o.canceled=!0)})}function ho(e){var t=b(e,"ge-text-block")&&M(e,".ge-content")||e;return{kind:fe(t),node:t}}function ba(e,t){var n=q(t.parent).filter(function(r){return r!==e&&!b(r,"ge-tools-drawer")});!n.length||t.index>=n.length?t.parent.appendChild(e):t.parent.insertBefore(e,n[t.index])}function wa(e){var t=e.item,n=Qt.get(t),r=n?n.from:un(t);if(Qt.delete(t),n&&n.canceled){ba(t,r);return}var o=un(t);if(!(o.parent===r.parent&&o.index===r.index)){var i=X(t,"[data-ge-container]"),l=O[Ie(i)];l&&l.afterPaneMove&&l.afterPaneMove(i,t,r);var c=ho(t);$(function(){N("after-move",re(c.kind,c.node,{parent:o.parent,source:"dragdrop",from:r,to:o,container:i||void 0}))})}}function ya(){s.resize.enabled&&_(f,".column").forEach(function(e){if(!M(e,".ge-resize-handle")){var t=M(e,".ge-tools-drawer");t&&t.appendChild(v("span",{class:"ge-resize-size"})),Ca().forEach(function(n){var r=v("span",{class:"ge-resize-handle ge-resize-"+n,"data-ge-edge":n});r.addEventListener("pointerdown",Ea),e.appendChild(r)})}})}function Ca(){return String(s.resize.handles).split(",").map(function(e){return e.trim()}).filter(function(e){return e==="e"||e==="w"})}function Ea(e){var t=e.currentTarget,n=t.parentElement,r=t.getAttribute("data-ge-edge")==="w",o=e.pageX,i=vt(n);if(e.preventDefault(),!_a(n))return;C(n,"ge-resizing"),e.pointerId!==void 0&&t.setPointerCapture&&t.setPointerCapture(e.pointerId);function l(g){var h=g.pageX-o;return Math.max(1,i+(r?-h:h))}function c(g){n.style.width=l(g)+"px",ka(n,l(g))}function u(g){t.removeEventListener("pointermove",c),qn(t,"pointerup pointercancel",u),k(n,"ge-resizing"),Aa(n,l(g))}t.addEventListener("pointermove",c),de(t,"pointerup pointercancel",u)}function xa(){bo(f)}function bo(e){_(e,".ge-resize-handle").forEach(function(t){t.remove()}),_(e,".ge-resize-size").forEach(function(t){t.remove()}),Xe(e)}function wo(e,t){var n=Math.round(t/Kr(e.parentElement)*H),r=yo(e),o=r?ot(r):null,i=_t.get(e),l=i?i.units:it(e),c=r&&J(o)?l+o-lt(s.valid_col_sizes):H-at(e);return Math.min(Math.max(n,lt(s.valid_col_sizes)),Math.max(c,lt(s.valid_col_sizes)),kn(s.valid_col_sizes))}function yo(e){return s.resize.balance!=="next"?null:To(e,".column")[0]||null}function Dn(e,t){var n=M(e,".ge-tools-drawer"),r=n?M(n,".ge-resize-size"):null;r&&(r.textContent=t)}function Co(e){return(P===Q?y[0].colPrefix:xe().colPrefix)+e}function _a(e){var t=ot(e),n=$(function(){return N("before-resize",re("column",e,{source:"dragdrop",from:t,to:null}))});if(!n)return!1;var r={from:t,units:it(e)};return _t.set(e,r),Dn(e,Co(r.units)),!0}function ka(e,t){Dn(e,Co(wo(e,t)))}function Aa(e,t){var n=_t.get(e),r=wo(e,t);if(_t.delete(e),Dn(e,""),Xe(e),!!n&&r!==n.units){var o=an(e,r);o&&$(function(){ln(e,o),Sa(e,r-n.units),ge(e),N("after-resize",re("column",e,sn({source:"dragdrop",from:n.from,to:o.size},o.cleared)))})}}function Sa(e,t){var n=yo(e);if(!(!n||!t)){var r=ot(n);if(J(r)){var o=an(n,r-t);o&&(ln(n,o),ge(n))}}}function Ta(){Et.forEach(function(e){e.destroy()}),Et=[]}function Ye(){return v("div",{class:"row"})}function Ft(e,t,n){var r=null;if(Xa.forEach(function(c){r===null&&n&&n[c]!==void 0&&(r=c)}),r===null)return e;var o=oe(n[r]);if(!o)return W(t+": "+r+" matches no element; the "+t+" is left detached"),e;var i=r==="appendTo"||r==="prependTo"?o:o.parentElement,l=function(){return ie(t,e,function(){r==="appendTo"?o.appendChild(e):r==="prependTo"?o.insertBefore(e,o.firstChild):r==="insertBefore"?o.parentNode.insertBefore(e,o):Vt(e,o)},{parent:i,source:n.source||"api"})};return Ze>0?(nn(l),e):l()}function Oa(e,t){var n=Ye();return e!==void 0&&!Array.isArray(e)&&!(e&&e.row_cols)&&(W("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=tt(e)),(Array.isArray(e)?e:[]).forEach(function(r){n.appendChild(Ae(r))}),Ft(n,"row",t)}function La(e,t){t=t||{};var n=oe(t.appendTo||t.prependTo||null);e===void 0&&n&&ct(n,xe())?e=null:!J(e)&&Yn.indexOf(e)===-1&&(W("createColumn: no column size given, using "+H),e=H);var r=Ae(e,t.offset);return t.content!==void 0&&r.appendChild(Ha(t.content)),Ft(r,"column",t)}function Ma(e,t){t=t||{};var n=O[e];return n?Ft(n.create(t),e,t):(W('createContainer: no such container type "'+e+'"'),null)}function Fn(e,t,n){e=oe(e),n=n||{};var r=O[Ie(e)];if(!r||Ie(e)!==t)return W("this is not a "+t+" container"),null;var o=r.addPane(e,n);return o?ie(r.paneKind,o,function(){},{parent:e,source:"api",container:e}):null}function Pa(e,t){e=oe(e);var n=Ie(e);return!O[n]||!O[n].addPane?(W("addPane: this is not a container with panes"),null):Fn(e,n,t)}function Hn(){var e={};return Object.keys(s).forEach(function(t){var n=s[t];e[t]=Array.isArray(n)?n.slice():n}),Object.freeze(e)}function Ae(e,t){var n=v("div",{class:"column"}),r=No(P)[0],o=Nt({size:e,offset:t||0,leading:"offset"});return Rt(n,r,o.size===null?e:o.size),jn(n,r,o.offset),n}function Wn(e,t){if(!(!s.custom_filter||!s.custom_filter.length)){var n=typeof s.custom_filter=="string"||typeof s.custom_filter=="function"?[s.custom_filter]:s.custom_filter;Array.prototype.forEach.call(n,function(r){typeof r=="string"&&(r=window[r]),r(t||f,e)})}}function za(){var e=[".row","[data-ge-container]"];return Object.keys(L).forEach(function(t){var n=L[t],r=typeof n.cuts=="function"?n.cuts():n.cuts;r&&e.push(r)}),e.join(", ")}function ja(e){_(f,".column > .ge-content, .column > .ge-text-block > .ge-content").forEach(function(t){if(!(b(t,"ge-rte-active")||!q(t,e).length)){var n=t.getAttribute("data-ge-content-type"),r=b(t.parentElement,"ge-text-block")?t.parentElement:t,o=[],i=[];for(Array.prototype.slice.call(t.childNodes).forEach(function(u){u.nodeType===1&&u.matches(e)?(o.push({text:i},{block:u}),i=[]):i.push(u)}),o.push({text:i});t.firstChild;)t.removeChild(t.firstChild);var l=!1,c=r;o.forEach(function(u){var g;if(u.block)g=u.block;else if(Ra(u.text))l?(g=Un(n),u.text.forEach(function(h){g.appendChild(h)})):(u.text.forEach(function(h){t.appendChild(h)}),g=r,l=!0);else return;g!==c&&Vt(g,c),c=g}),l||r.remove()}})}function Ra(e){return e.some(function(t){return t.nodeType===1||t.nodeType===3&&/\S/.test(t.nodeValue)})}function Na(e){_(f,".column").forEach(function(t){var n=[];q(t).forEach(function(r){Se(r,".ge-tools-drawer, .ge-resize-handle")||(Se(r,".ge-content, .ge-text-block")||r.matches(e)?n=Eo(n):n.push(r))}),Eo(n)})}function Eo(e){if(e.length){var t=Vt(Un(),e[e.length-1]);e.forEach(function(n){t.appendChild(n)})}return[]}function Un(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 Ia(){_(f,".column > .ge-content").forEach(function(e){Mo(e,v("div",{class:"ge-text-block"}))}),_(f,".ge-text-block").forEach(function(e){if(!M(e,".ge-tools-drawer")){var t=M(e,".ge-content"),n=t?t.getAttribute("data-ge-content-type"):null;n?ci(n)||Fa(e,n):Da(e)}})}function xo(e){_(e,".ge-text-block").forEach(function(t){Gt(t)})}function Da(e){var t=M(e,".ge-content"),n=Ge(e,"ge-tools-drawer ge-text-drawer ge-plain-drawer");C(e,"ge-plain-block"),De(n),Object.keys(L).forEach(function(r){L[r].plainTools&&L[r].plainTools(n,t)}),F(n,m("tool.delete_plain"),"ge-delete-plain","bi bi-trash",function(){ze("plain",t,m("confirm.delete_plain"),function(r){ht(e,function(){e.remove(),r()})})})}function Fa(e,t){var n=M(e,".ge-content"),r=Ge(e,"ge-tools-drawer ge-text-drawer");De(r),F(r,m("text.no_editor",{type:t}),"ge-text-info ge-text-missing","bi bi-exclamation-triangle"),F(r,m("tool.delete_text"),"ge-delete-text","bi bi-trash",function(){ze("text",n,m("confirm.delete_text"),function(o){ht(e,function(){e.remove(),o()})})})}function Ha(e){var t=wr(),n=Un(t.length?t[0].type:null);return e&&e.nodeType?n.appendChild(e):mt(n,e),n}function _o(e){P=e,Xn.forEach(function(t){z(f,"ge-layout-"+t,t===e)}),A(We,"button").textContent=m(bt(e))}function Kn(e){return Xn.indexOf(e)===-1?null:e}function ko(e){var t=Kn(e);if(t===null){W("changeView("+JSON.stringify(e)+"): no such layout mode");return}var n=P;_o(t),t!==n&&(qr().forEach(function(r){_(r,".ge-utilities").forEach(function(o){xn(o)})}),jr(null),rt(f),ae("onViewChange",t),N("view-change",{canvas:f,breakpoint:t,from:n,to:t}))}function Bn(){return P}function Ao(e,t,n){return function(){return Ne[e]?Ne[e].apply(null,arguments):(K("plugin:"+t,e+" needs the "+t+" plugin: include dist/plugins/grideditor."+n+".js after the editor"),null)}}function Wa(e){if(!s.active_target){K("active_target","setActiveTarget needs the active_target setting: without it, it does nothing");return}if(e==null){je(null);return}var t=oe(e);if(!mi(t)){var n=typeof e=="string"?e:t?"<"+t.tagName.toLowerCase()+">":String(e);W("setActiveTarget: "+n+" is not a column or a region of the canvas");return}je(t)}function Ua(e){if(Fe()!=="sidebar"){K("sidebar-api",'setSelected needs settings_panel "sidebar": without it, it does nothing');return}if(e==null){ve(null);return}var t=oe(e);if(!t||t===f||!f.contains(t)||!Be.has(t)){var n=typeof e=="string"?e:t?"<"+t.tagName.toLowerCase()+">":String(e);W("setSelected: "+n+" is not a node of the canvas with settings");return}ve(t)}var Vn={getHtml:nt,getPlainHtml:hi,init:function(){nn(me)},reset:function(){nn(yr)},deinit:Re,destroy:wi,changeView:ko,getView:Bn,createRow:Oa,createColumn:La,createText:function(e,t){return Ne.createText?Ne.createText(e,t):(K("plugin:text","createText needs a text editor plugin: include dist/plugins/grideditor.tinymce.js, or another editor's, after the editor"),null)},createElement:Ao("createElement","elements","elements"),createSection:Ao("createSection","sections","sections"),createContainer:Ma,addTab:function(e,t){return Fn(e,"tabs",t)},addAccordionItem:function(e,t){return Fn(e,"accordion",t)},addPane:Pa,setLocale:Ho,getUtility:Mr,setUtility:En,getActiveTarget:function(){return s.active_target?U:null},setActiveTarget:Wa,getSelected:function(){return Fe()==="sidebar"?Y:null},setSelected:Ua};Object.keys(Vn).forEach(function(e){var t=!!(jo[e]&&jo[e].value);a[e]=function(){if(xt)return K("destroyed:"+e,m("warning.destroyed",{method:e})),e==="getHtml"?f.innerHTML:e==="getPlainHtml"?$n(f.innerHTML):t?null:a;var n=Vn[e].apply(a,arguments);return t?n:a}}),a.canvas=f,a.settings=Hn(),Xt.set(f,a),yi(),a.settings=Hn(),Object.keys(Ne).forEach(function(e){Object.prototype.hasOwnProperty.call(Vn,e)||e in a||(a[e]=function(){return xt?(K("destroyed:"+e,m("warning.destroyed",{method:e})),null):Ne[e].apply(null,arguments)})}),Vo(),me(),S._created.forEach(function(e){e(a)})}S._created=[];S.containers={};S.features={};S.utilities={};S.texts={};S.t=Qn;S._plainHtml=$n;S.Sortable=null;S.bootstrap=null;S.version="9.0.0-beta.1";S.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
|