. Read more: https://reactjs.org/docs/refs-and-the-dom.html#callback-refs"),n?(0,se.cloneElement)(e,{ref:function(e){la(n,e),la(t,e)}}):(0,se.cloneElement)(e,{ref:t})}(o,i)}}function ua(e){var t={};return Object.keys(e).forEach((function(n){var r=e[n];if(n.endsWith("Ref"))t[n]=e[n];else{var o=aa(r);t[n]=function(){return o}}})),t}function la(e,t){"function"==typeof e?e(t):e.current=t}function ca(e){return ca="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ca(e)}function sa(e){return null!==e&&"object"===ca(e)&&Object.prototype.hasOwnProperty.call(e,"current")}function fa(e,t){for(var n=0;n
e.length)&&(t=e.length);for(var n=0,r=new Array(t);ne.length)&&(t=e.length);for(var n=0,r=new Array(t);ne.length)&&(t=e.length);for(var n=0,r=new Array(t);n0}},{key:"leave",value:function(e){var t,n,r=this.entered.length;return this.entered=(t=this.entered.filter(this.isNodeInDocument),n=e,t.filter((function(e){return e!==n}))),r>0&&0===this.entered.length}},{key:"reset",value:function(){this.entered=[]}}],n&&Va(t.prototype,n),r&&Va(t,r),e}(),qa=Ha((function(){return/firefox/i.test(navigator.userAgent)})),Ka=Ha((function(){return Boolean(window.safari)}));function Ga(e,t){for(var n=0;ne))return n[u];c=u-1}}var f=e-t[a=Math.max(0,c)],d=f*f;return n[a]+r[a]*f+o[a]*d+i[a]*f*d}}],n&&Ga(t.prototype,n),r&&Ga(t,r),e}();function Qa(e){var t=1===e.nodeType?e:e.parentElement;if(!t)return null;var n=t.getBoundingClientRect(),r=n.top;return{x:n.left,y:r}}function Ja(e){return{x:e.clientX,y:e.clientY}}function Za(e,t,n,r,o){var i,a,u="IMG"===(i=t).nodeName&&(qa()||!(null!==(a=document.documentElement)&&void 0!==a&&a.contains(i))),l=Qa(u?e:t),c={x:n.x-l.x,y:n.y-l.y},s=e.offsetWidth,f=e.offsetHeight,d=r.anchorX,p=r.anchorY,h=function(e,t,n,r){var o=e?t.width:n,i=e?t.height:r;return Ka()&&e&&(i/=window.devicePixelRatio,o/=window.devicePixelRatio),{dragPreviewWidth:o,dragPreviewHeight:i}}(u,t,s,f),v=h.dragPreviewWidth,m=h.dragPreviewHeight,g=o.offsetX,y=o.offsetY,b=0===y||y;return{x:0===g||g?g:new Ya([0,.5,1],[c.x,c.x/s*v,c.x+v-s]).interpolate(d),y:b?y:function(){var e=new Ya([0,.5,1],[c.y,c.y/f*m,c.y+m-f]).interpolate(p);return Ka()&&u&&(e+=(window.devicePixelRatio-1)*m),e}()}}var eu,tu="__NATIVE_FILE__",nu="__NATIVE_URL__",ru="__NATIVE_TEXT__",ou="__NATIVE_HTML__";function iu(e,t,n){var r=t.reduce((function(t,n){return t||e.getData(n)}),"");return null!=r?r:n}function au(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var uu=(au(eu={},tu,{exposeProperties:{files:function(e){return Array.prototype.slice.call(e.files)},items:function(e){return e.items}},matchesTypes:["Files"]}),au(eu,ou,{exposeProperties:{html:function(e,t){return iu(e,t,"")}},matchesTypes:["Html","text/html"]}),au(eu,nu,{exposeProperties:{urls:function(e,t){return iu(e,t,"").split("\n")}},matchesTypes:["Url","text/uri-list"]}),au(eu,ru,{exposeProperties:{text:function(e,t){return iu(e,t,"")}},matchesTypes:["Text","text/plain"]}),eu);function lu(e,t){for(var n=0;n-1}))}))[0]||null}function du(e,t){for(var n=0;n0&&o.actions.hover(t,{clientOffset:Ja(e)}),t.some((function(e){return o.monitor.canDropOnTarget(e)}))&&(e.preventDefault(),e.dataTransfer&&(e.dataTransfer.dropEffect=o.getCurrentDropEffect())))})),yu(this,"handleTopDragOverCapture",(function(){o.dragOverTargetIds=[]})),yu(this,"handleTopDragOver",(function(e){var t=o.dragOverTargetIds;if(o.dragOverTargetIds=[],!o.monitor.isDragging())return e.preventDefault(),void(e.dataTransfer&&(e.dataTransfer.dropEffect="none"));o.altKeyPressed=e.altKey,o.actions.hover(t||[],{clientOffset:Ja(e)}),(t||[]).some((function(e){return o.monitor.canDropOnTarget(e)}))?(e.preventDefault(),e.dataTransfer&&(e.dataTransfer.dropEffect=o.getCurrentDropEffect())):o.isDraggingNativeItem()?e.preventDefault():(e.preventDefault(),e.dataTransfer&&(e.dataTransfer.dropEffect="none"))})),yu(this,"handleTopDragLeaveCapture",(function(e){o.isDraggingNativeItem()&&e.preventDefault(),o.enterLeaveCounter.leave(e.target)&&o.isDraggingNativeItem()&&setTimeout((function(){return o.endDragNativeItem()}),0)})),yu(this,"handleTopDropCapture",(function(e){var t;(o.dropTargetIds=[],o.isDraggingNativeItem())?(e.preventDefault(),null===(t=o.currentNativeSource)||void 0===t||t.loadDataTransfer(e.dataTransfer)):fu(e.dataTransfer)&&e.preventDefault();o.enterLeaveCounter.reset()})),yu(this,"handleTopDrop",(function(e){var t=o.dropTargetIds;o.dropTargetIds=[],o.actions.hover(t,{clientOffset:Ja(e)}),o.actions.drop({dropEffect:o.getCurrentDropEffect()}),o.isDraggingNativeItem()?o.endDragNativeItem():o.monitor.isDragging()&&o.actions.endDrag()})),yu(this,"handleSelectStart",(function(e){var t=e.target;"function"==typeof t.dragDrop&&("INPUT"===t.tagName||"SELECT"===t.tagName||"TEXTAREA"===t.tagName||t.isContentEditable||(e.preventDefault(),t.dragDrop()))})),this.options=new hu(n,r),this.actions=t.getActions(),this.monitor=t.getMonitor(),this.registry=t.getRegistry(),this.enterLeaveCounter=new $a(this.isNodeInDocument)}var t,n,o;return t=e,(n=[{key:"profile",value:function(){var e,t;return{sourcePreviewNodes:this.sourcePreviewNodes.size,sourcePreviewNodeOptions:this.sourcePreviewNodeOptions.size,sourceNodeOptions:this.sourceNodeOptions.size,sourceNodes:this.sourceNodes.size,dragStartSourceIds:(null===(e=this.dragStartSourceIds)||void 0===e?void 0:e.length)||0,dropTargetIds:this.dropTargetIds.length,dragEnterTargetIds:this.dragEnterTargetIds.length,dragOverTargetIds:(null===(t=this.dragOverTargetIds)||void 0===t?void 0:t.length)||0}}},{key:"window",get:function(){return this.options.window}},{key:"document",get:function(){return this.options.document}},{key:"rootElement",get:function(){return this.options.rootElement}},{key:"setup",value:function(){var e=this.rootElement;if(void 0!==e){if(e.__isReactDndBackendSetUp)throw new Error("Cannot have two HTML5 backends at the same time.");e.__isReactDndBackendSetUp=!0,this.addEventListeners(e)}}},{key:"teardown",value:function(){var e,t=this.rootElement;void 0!==t&&(t.__isReactDndBackendSetUp=!1,this.removeEventListeners(this.rootElement),this.clearCurrentDragSourceNode(),this.asyncEndDragFrameId&&(null===(e=this.window)||void 0===e||e.cancelAnimationFrame(this.asyncEndDragFrameId)))}},{key:"connectDragPreview",value:function(e,t,n){var r=this;return this.sourcePreviewNodeOptions.set(e,n),this.sourcePreviewNodes.set(e,t),function(){r.sourcePreviewNodes.delete(e),r.sourcePreviewNodeOptions.delete(e)}}},{key:"connectDragSource",value:function(e,t,n){var r=this;this.sourceNodes.set(e,t),this.sourceNodeOptions.set(e,n);var o=function(t){return r.handleDragStart(t,e)},i=function(e){return r.handleSelectStart(e)};return t.setAttribute("draggable","true"),t.addEventListener("dragstart",o),t.addEventListener("selectstart",i),function(){r.sourceNodes.delete(e),r.sourceNodeOptions.delete(e),t.removeEventListener("dragstart",o),t.removeEventListener("selectstart",i),t.setAttribute("draggable","false")}}},{key:"connectDropTarget",value:function(e,t){var n=this,r=function(t){return n.handleDragEnter(t,e)},o=function(t){return n.handleDragOver(t,e)},i=function(t){return n.handleDrop(t,e)};return t.addEventListener("dragenter",r),t.addEventListener("dragover",o),t.addEventListener("drop",i),function(){t.removeEventListener("dragenter",r),t.removeEventListener("dragover",o),t.removeEventListener("drop",i)}}},{key:"addEventListeners",value:function(e){e.addEventListener&&(e.addEventListener("dragstart",this.handleTopDragStart),e.addEventListener("dragstart",this.handleTopDragStartCapture,!0),e.addEventListener("dragend",this.handleTopDragEndCapture,!0),e.addEventListener("dragenter",this.handleTopDragEnter),e.addEventListener("dragenter",this.handleTopDragEnterCapture,!0),e.addEventListener("dragleave",this.handleTopDragLeaveCapture,!0),e.addEventListener("dragover",this.handleTopDragOver),e.addEventListener("dragover",this.handleTopDragOverCapture,!0),e.addEventListener("drop",this.handleTopDrop),e.addEventListener("drop",this.handleTopDropCapture,!0))}},{key:"removeEventListeners",value:function(e){e.removeEventListener&&(e.removeEventListener("dragstart",this.handleTopDragStart),e.removeEventListener("dragstart",this.handleTopDragStartCapture,!0),e.removeEventListener("dragend",this.handleTopDragEndCapture,!0),e.removeEventListener("dragenter",this.handleTopDragEnter),e.removeEventListener("dragenter",this.handleTopDragEnterCapture,!0),e.removeEventListener("dragleave",this.handleTopDragLeaveCapture,!0),e.removeEventListener("dragover",this.handleTopDragOver),e.removeEventListener("dragover",this.handleTopDragOverCapture,!0),e.removeEventListener("drop",this.handleTopDrop),e.removeEventListener("drop",this.handleTopDropCapture,!0))}},{key:"getCurrentSourceNodeOptions",value:function(){var e=this.monitor.getSourceId(),t=this.sourceNodeOptions.get(e);return mu({dropEffect:this.altKeyPressed?"copy":"move"},t||{})}},{key:"getCurrentDropEffect",value:function(){return this.isDraggingNativeItem()?"copy":this.getCurrentSourceNodeOptions().dropEffect}},{key:"getCurrentSourcePreviewNodeOptions",value:function(){var e=this.monitor.getSourceId();return mu({anchorX:.5,anchorY:.5,captureDraggingState:!1},this.sourcePreviewNodeOptions.get(e)||{})}},{key:"isDraggingNativeItem",value:function(){var e=this.monitor.getItemType();return Object.keys(r).some((function(t){return r[t]===e}))}},{key:"beginDragNativeItem",value:function(e,t){this.clearCurrentDragSourceNode(),this.currentNativeSource=function(e,t){var n=new su(uu[e]);return n.loadDataTransfer(t),n}(e,t),this.currentNativeHandle=this.registry.addSource(e,this.currentNativeSource),this.actions.beginDrag([this.currentNativeHandle])}},{key:"setCurrentDragSourceNode",value:function(e){var t=this;this.clearCurrentDragSourceNode(),this.currentDragSourceNode=e,this.mouseMoveTimeoutTimer=setTimeout((function(){var e;return null===(e=t.rootElement)||void 0===e?void 0:e.addEventListener("mousemove",t.endDragIfSourceWasRemovedFromDOM,!0)}),1e3)}},{key:"clearCurrentDragSourceNode",value:function(){var e;return!!this.currentDragSourceNode&&(this.currentDragSourceNode=null,this.rootElement&&(null===(e=this.window)||void 0===e||e.clearTimeout(this.mouseMoveTimeoutTimer||void 0),this.rootElement.removeEventListener("mousemove",this.endDragIfSourceWasRemovedFromDOM,!0)),this.mouseMoveTimeoutTimer=null,!0)}},{key:"handleDragStart",value:function(e,t){e.defaultPrevented||(this.dragStartSourceIds||(this.dragStartSourceIds=[]),this.dragStartSourceIds.unshift(t))}},{key:"handleDragEnter",value:function(e,t){this.dragEnterTargetIds.unshift(t)}},{key:"handleDragOver",value:function(e,t){null===this.dragOverTargetIds&&(this.dragOverTargetIds=[]),this.dragOverTargetIds.unshift(t)}},{key:"handleDrop",value:function(e,t){this.dropTargetIds.unshift(t)}}])&&gu(t.prototype,n),o&&gu(t,o),e}(),ku=function(e,t,n){return new wu(e,t,n)};!function(e){e.mouse="mouse",e.touch="touch",e.keyboard="keyboard"}(bu||(bu={}));var xu=1,Eu=0;function Su(e){return void 0===e.button||e.button===Eu}function Ou(e){return!!e.targetTouches}function Tu(e,t){return Ou(e)?function(e,t){return 1===e.targetTouches.length?Tu(e.targetTouches[0]):t&&1===e.touches.length&&e.touches[0].target===t.target?Tu(e.touches[0]):void 0}(e,t):{x:e.clientX,y:e.clientY}}var Cu=function(){var e=!1;try{addEventListener("test",(function(){}),Object.defineProperty({},"passive",{get:function(){return e=!0,!0}}))}catch(e){}return e}();function Pu(e,t){for(var n=0;n=o[a].start)&&(null==o[a].end||i<=o[a].end))return!0;return!1}(o._mouseClientOffset.x||0,o._mouseClientOffset.y||0,c.x,c.y,o.options.scrollAngleRanges))o._isScrolling=!0;else if(!o.monitor.isDragging()&&o._mouseClientOffset.hasOwnProperty("x")&&a&&(t=o._mouseClientOffset.x||0,n=o._mouseClientOffset.y||0,r=c.x,i=c.y,Math.sqrt(Math.pow(Math.abs(r-t),2)+Math.pow(Math.abs(i-n),2))>(o.options.touchSlop?o.options.touchSlop:0))&&(o.moveStartSourceIds=void 0,o.actions.beginDrag(a,{clientOffset:o._mouseClientOffset,getSourceClientOffset:o.getSourceClientOffset,publishSource:!1})),o.monitor.isDragging()){var s=o.sourceNodes.get(o.monitor.getSourceId());o.installSourceNodeRemovalObserver(s),o.actions.publishDragSource(),e.cancelable&&e.preventDefault();var f=(u||[]).map((function(e){return o.targetNodes.get(e)})).filter((function(e){return!!e})),d=o.options.getDropTargetElementsAtPoint?o.options.getDropTargetElementsAtPoint(c.x,c.y,f):o.document.elementsFromPoint(c.x,c.y),p=[];for(var h in d)if(d.hasOwnProperty(h)){var v=d[h];for(p.push(v);v;)(v=v.parentElement)&&-1===p.indexOf(v)&&p.push(v)}var m=p.filter((function(e){return f.indexOf(e)>-1})).map((function(e){return o._getDropTargetId(e)})).filter((function(e){return!!e})).filter((function(e,t,n){return n.indexOf(e)===t}));if(l)for(var g in o.targetNodes){var y=o.targetNodes.get(g);if(s&&y&&y.contains(s)&&-1===m.indexOf(g)){m.unshift(g);break}}m.reverse(),o.actions.hover(m,{clientOffset:c})}}})),Du(this,"_getDropTargetId",(function(e){for(var t=o.targetNodes.keys(),n=t.next();!1===n.done;){var r=n.value;if(e===o.targetNodes.get(r))return r;n=t.next()}})),Du(this,"handleTopMoveEndCapture",(function(e){o._isScrolling=!1,o.lastTargetTouchFallback=void 0,function(e){return void 0===e.buttons||!(e.buttons&xu)}(e)&&(o.monitor.isDragging()&&!o.monitor.didDrop()?(e.cancelable&&e.preventDefault(),o._mouseClientOffset={},o.uninstallSourceNodeRemovalObserver(),o.actions.drop(),o.actions.endDrag()):o.moveStartSourceIds=void 0)})),Du(this,"handleCancelOnEscape",(function(e){"Escape"===e.key&&o.monitor.isDragging()&&(o._mouseClientOffset={},o.uninstallSourceNodeRemovalObserver(),o.actions.endDrag())})),this.options=new Nu(r,n),this.actions=t.getActions(),this.monitor=t.getMonitor(),this.sourceNodes=new Map,this.sourcePreviewNodes=new Map,this.sourcePreviewNodeOptions=new Map,this.targetNodes=new Map,this.listenerTypes=[],this._mouseClientOffset={},this._isScrolling=!1,this.options.enableMouseEvents&&this.listenerTypes.push(bu.mouse),this.options.enableTouchEvents&&this.listenerTypes.push(bu.touch),this.options.enableKeyboardEvents&&this.listenerTypes.push(bu.keyboard)}var t,n,r;return t=e,(n=[{key:"profile",value:function(){var e;return{sourceNodes:this.sourceNodes.size,sourcePreviewNodes:this.sourcePreviewNodes.size,sourcePreviewNodeOptions:this.sourcePreviewNodeOptions.size,targetNodes:this.targetNodes.size,dragOverTargetIds:(null===(e=this.dragOverTargetIds)||void 0===e?void 0:e.length)||0}}},{key:"document",get:function(){return this.options.document}},{key:"setup",value:function(){var t=this.options.rootElement;t&&(Hi(!e.isSetUp,"Cannot have two Touch backends at the same time."),e.isSetUp=!0,this.addEventListener(t,"start",this.getTopMoveStartHandler()),this.addEventListener(t,"start",this.handleTopMoveStartCapture,!0),this.addEventListener(t,"move",this.handleTopMove),this.addEventListener(t,"move",this.handleTopMoveCapture,!0),this.addEventListener(t,"end",this.handleTopMoveEndCapture,!0),this.options.enableMouseEvents&&!this.options.ignoreContextMenu&&this.addEventListener(t,"contextmenu",this.handleTopMoveEndCapture),this.options.enableKeyboardEvents&&this.addEventListener(t,"keydown",this.handleCancelOnEscape,!0))}},{key:"teardown",value:function(){var t=this.options.rootElement;t&&(e.isSetUp=!1,this._mouseClientOffset={},this.removeEventListener(t,"start",this.handleTopMoveStartCapture,!0),this.removeEventListener(t,"start",this.handleTopMoveStart),this.removeEventListener(t,"move",this.handleTopMoveCapture,!0),this.removeEventListener(t,"move",this.handleTopMove),this.removeEventListener(t,"end",this.handleTopMoveEndCapture,!0),this.options.enableMouseEvents&&!this.options.ignoreContextMenu&&this.removeEventListener(t,"contextmenu",this.handleTopMoveEndCapture),this.options.enableKeyboardEvents&&this.removeEventListener(t,"keydown",this.handleCancelOnEscape,!0),this.uninstallSourceNodeRemovalObserver())}},{key:"addEventListener",value:function(e,t,n,r){var o=Cu?{capture:r,passive:!1}:r;this.listenerTypes.forEach((function(r){var i=_u[r][t];i&&e.addEventListener(i,n,o)}))}},{key:"removeEventListener",value:function(e,t,n,r){var o=Cu?{capture:r,passive:!1}:r;this.listenerTypes.forEach((function(r){var i=_u[r][t];i&&e.removeEventListener(i,n,o)}))}},{key:"connectDragSource",value:function(e,t){var n=this,r=this.handleMoveStart.bind(this,e);return this.sourceNodes.set(e,t),this.addEventListener(t,"start",r),function(){n.sourceNodes.delete(e),n.removeEventListener(t,"start",r)}}},{key:"connectDragPreview",value:function(e,t,n){var r=this;return this.sourcePreviewNodeOptions.set(e,n),this.sourcePreviewNodes.set(e,t),function(){r.sourcePreviewNodes.delete(e),r.sourcePreviewNodeOptions.delete(e)}}},{key:"connectDropTarget",value:function(e,t){var n=this,r=this.options.rootElement;if(!this.document||!r)return function(){};var o=function(o){if(n.document&&r&&n.monitor.isDragging()){var i;switch(o.type){case _u.mouse.move:i={x:o.clientX,y:o.clientY};break;case _u.touch.move:i={x:o.touches[0].clientX,y:o.touches[0].clientY}}var a=null!=i?n.document.elementFromPoint(i.x,i.y):void 0,u=a&&t.contains(a);return a===t||u?n.handleMove(o,e):void 0}};return this.addEventListener(this.document.body,"move",o),this.targetNodes.set(e,t),function(){n.document&&(n.targetNodes.delete(e),n.removeEventListener(n.document.body,"move",o))}}},{key:"getTopMoveStartHandler",value:function(){return this.options.delayTouchStart||this.options.delayMouseStart?this.handleTopMoveStartDelay:this.handleTopMoveStart}},{key:"installSourceNodeRemovalObserver",value:function(e){var t=this;this.uninstallSourceNodeRemovalObserver(),this.draggedSourceNode=e,this.draggedSourceNodeRemovalObserver=new MutationObserver((function(){e&&!e.parentElement&&(t.resurrectSourceNode(),t.uninstallSourceNodeRemovalObserver())})),e&&e.parentElement&&this.draggedSourceNodeRemovalObserver.observe(e.parentElement,{childList:!0})}},{key:"resurrectSourceNode",value:function(){this.document&&this.draggedSourceNode&&(this.draggedSourceNode.style.display="none",this.draggedSourceNode.removeAttribute("data-reactid"),this.document.body.appendChild(this.draggedSourceNode))}},{key:"uninstallSourceNodeRemovalObserver",value:function(){this.draggedSourceNodeRemovalObserver&&this.draggedSourceNodeRemovalObserver.disconnect(),this.draggedSourceNodeRemovalObserver=void 0,this.draggedSourceNode=void 0}}])&&Ru(t.prototype,n),r&&Ru(t,r),e}();Du(Mu,"isSetUp",void 0);var Au=we()?function(e){return new Mu(e,arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},arguments.length>2&&void 0!==arguments[2]?arguments[2]:{})}:ku,Lu=Au===ku;n(690);const Fu="data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3e%3cstyle%3e.st0%7bfill:%23666%7d%3c/style%3e%3cpath class='st0' d='M464 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zM224 416H64V160h160v256zm224 0H288V160h160v256z'/%3e%3c/svg%3e";const Bu=function(e){var t=e.icon,n=e.label,r=e.isActive,o=e.onClick;return n=n||"",se.createElement("button",{type:"button",title:n,"aria-label":n,className:"mt-be-block-toolbar-button ".concat(r?"active":""),onClick:o},se.createElement("img",{src:t}))};var zu="mt-be-block-config-panel";const Uu=function(e){var t=zu;return e.className&&(t+=" ".concat(e.className)),se.createElement(Un,{timeout:100,in:e.in,unmountOnExit:!0,classNames:zu},se.createElement("div",{id:e.id||"",className:t},e.children))};function Hu(e,t,n,r,o,i,a){try{var u=e[i](a),l=u.value}catch(e){return void n(e)}u.done?t(l):Promise.resolve(l).then(r,o)}function Vu(e){return function(){var t=this,n=arguments;return new Promise((function(r,o){var i=e.apply(t,n);function a(e){Hu(i,r,o,a,u,"next",e)}function u(e){Hu(i,r,o,a,u,"throw",e)}a(void 0)}))}}function Wu(){return Wu="undefined"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function(e,t,n){var r=function(e,t){for(;!{}.hasOwnProperty.call(e,t)&&null!==(e=Qu(e)););return e}(e,t);if(r){var o=Object.getOwnPropertyDescriptor(r,t);return o.get?o.get.call(arguments.length<3?e:n):o.value}},Wu.apply(null,arguments)}function $u(e,t){for(var n=0;ne.length)&&(t=e.length);for(var n=0,r=Array(t);n0;l--)i.removeBlock(t,t.blocks[t.blocks.length-1]);i.editManager.endGrouping(),c(!1)}}),[]),d=t.getColumnLayout();return se.createElement(se.Fragment,null,se.createElement(br,{block:t,keys:["className"]}),se.createElement("div",{className:"mt-be-columns",style:{display:"flex"}},t.blocks.map((function(e){return e.editor({focus:n,focusBlock:r,canRemove:o})}))),a.length>1&&n&&o&&se.createElement(cr,null,se.createElement(Bu,{icon:Fu,label:ue("Edit"),onClick:s})),se.createElement(Uu,{in:n&&l},se.createElement("ul",{style:{display:"flex",listStyle:"none"}},a.map((function(e){var t=e.toString();return se.createElement("li",{key:t},se.createElement("label",{onClick:f},se.createElement("input",{type:"radio",value:t,defaultChecked:d===t}),ue("{{columns}} columns",{columns:t})))})))))},ol=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Ku(e,t)}(i,e);var t,n,r,o=Gu(i);function i(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,i),Ju(Xu(t=o.call(this)),"blocks",void 0),t.blocks=[t.newColumn(),t.newColumn()],e&&Object.assign(Xu(t),e),t}return qu(i,null,[{key:"label",get:function(){return ue("Columns")}}]),qu(i,[{key:"newColumn",value:function(){return new Gl({showShortcuts:!1})}},{key:"getColumnLayout",value:function(){return"".concat(this.blocks.length)}},{key:"childBlocks",value:function(){return this.blocks}},{key:"editor",value:function(e){var t=e.focus,n=e.focusBlock,r=e.canRemove;return se.createElement(rl,{key:this.id,block:this,focus:t,focusBlock:n,canRemove:r})}},{key:"html",value:function(){return'').concat(this.blocks.map((function(e){return e.htmlString()})).join(""),"
")}},{key:"serialize",value:(r=Vu(regeneratorRuntime.mark((function e(t){var n,r;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=t.editor.serializeMeta(this,t.external),e.next=3,Promise.all(this.blocks.map((function(e){return e.serialize(t)})));case 3:return r=e.sent,e.abrupt("return",'\x3c!-- mt-beb t="'.concat(this.constructor.typeId,'"').concat(n?" m='".concat(Wt(n),"'"):"",' --\x3e').concat(r.join(""),"
\x3c!-- /mt-beb --\x3e"));case 5:case"end":return e.stop()}}),e,this)}))),function(e){return r.apply(this,arguments)})}],[{key:"new",value:(n=Vu(regeneratorRuntime.mark((function e(t){var n,r,o;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Wu(Qu(i),"new",this).call(this,t);case 2:return n=e.sent,r=nl(t.editor),o=r.defaultColumns,n.blocks=Array(o).fill(null).map((function(){return n.newColumn()})),e.abrupt("return",n);case 6:case"end":return e.stop()}}),e,this)}))),function(e){return n.apply(this,arguments)})},{key:"newFromHtml",value:(t=Vu(regeneratorRuntime.mark((function e(t){var n,r,o,a,u;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=t.node,r=t.factory,o=t.meta,a=t.context,e.next=3,rc(n.innerHTML,r,a,nc);case 3:return(u=e.sent).forEach((function(e){return e.showShortcuts=!1})),e.abrupt("return",new i(Object.assign({blocks:u},o)));case 6:case"end":return e.stop()}}),e)}))),function(e){return t.apply(this,arguments)})}]),i}(mn);Ju(ol,"typeId","core-columns"),Ju(ol,"selectable",!0),Ju(ol,"icon",Fu);const il=ol;const al=(0,se.memo)((function(){var e=yn(),t=e.editor,n=e.getFocusedIds,r=wn().removeBlock;return se.createElement("button",{type:"button",className:"mt-be-btn-remove",onClick:function(e){e.stopPropagation();var o=ac(t,n());t.editManager.beginGrouping(),o.forEach((function(e){return r(e)})),t.editManager.endGrouping()}})}));function ul(){return ul=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=Array(t);nr&&a>i)){if(nr;c--)p(c,c-1);e.index=r}}}}}}),[p,u]),[p,u]),2)[1];(0,se.useEffect)((function(){return function(){n.isNewlyAdded=!1}}),[]);var C=cl(Ua((0,se.useMemo)((function(){return{type:s?s.id:"block",item:{type:s?s.id:"block",id:t,index:u},collect:function(e){return{isDragging:e.isDragging()}}}}),[u]),[u]),3),P=C[0].isDragging,I=C[1],j=C[2],N={};N.opacity=P?Lu?0:.5:1,j(T(O));var R=0!==ac(y,g).length,D=(0,se.createRef)(),_=y.editor({focus:r,focusBlock:i,focusDescendant:R,canRemove:!0===l,parentBlock:s,clickBlockTargetRef:D}),M={block:y,index:b,rendered:!1},A=!!(r||i||R||y instanceof Gl||y instanceof il),L=(0,se.useMemo)((function(){return[function(e){if(!Xt(e.nativeEvent)){e.stopPropagation(),e.nativeEvent.stopImmediatePropagation();var t=v();t.includes(y.id)||(e.preventDefault(),D.current?D.current.click():a||(0!==t.length&&e.shiftKey?m(lc(h,[].concat(ll(t),[y.id])).map((function(e){return e.id}))):m([y.id])))}},function(e){var t=v();h.commandManager.execute({command:"core-copyBlock",blockIds:0===t.length?[y.id]:t,editorContext:d,blocksContext:f,event:e.nativeEvent})},function(e){var t=v();h.commandManager.execute({command:"core-pasteBlock",blockIds:0===t.length?[y.id]:t,editorContext:d,blocksContext:f,event:e.nativeEvent})},function(){var e=v();if(e.length>=2){h.editManager.beginGrouping();for(var t=u,n=u+e.length;t=2){h.editManager.beginGrouping();for(var t=u+e.length-1;t>=u;t--)p(t+1,t);h.editManager.endGrouping()}else p(u,u+1,!0)}]}),[u]),F=cl(L,5),B=F[0],z=F[1],U=F[2],H=F[3],V=F[4];return(0,se.useEffect)((function(){if(w)return window.addEventListener("keydown",e),function(){window.removeEventListener("keydown",e)};function e(e){var t=e.key;if(e.ctrlKey||e.metaKey||e.altKey||e.shiftKey||"Delete"===t||"Backspace"===t){var n=v();0!==n.length&&(h.editorElement.querySelector('[data-mt-block-editor-keep-focus="1"]')||(n.length>=2&&("Delete"===t||"Backspace"===t)?(e.preventDefault(),h.commandManager.execute({command:"core-deleteBlock",blockIds:n,editorContext:d,blocksContext:f,event:e})):h.commandManager.dispatchKeydownEvent({event:e,blockIds:n,editorContext:d,blocksContext:f})))}}}),[w]),se.createElement("div",{key:y.id,"data-mt-block-editor-block-id":y.id,"data-mt-block-editor-skip-focus-default":o||void 0,onClick:B,onCopy:z,onPaste:U,className:"mt-be-block-wrapper ".concat(w?"mt-be-focus-leader":""," ").concat(g.length>=2&&g.includes(y.id)?"mt-be-focus":""),style:N,ref:O},c&&!Ee()&&se.createElement(se.Fragment,null,se.createElement("div",{className:"mt-be-btn-move-wrapper"},se.createElement(Yn,{in:x,block:y}),se.createElement("button",{type:"button",className:"mt-be-btn-up",onClick:H}),se.createElement("span",{className:"mt-be-btn-move",onClick:S,ref:I}),se.createElement("button",{type:"button",className:"mt-be-btn-down",onClick:V})),se.createElement("div",{className:"mt-be-btn-add-wrapper"},se.createElement("div",{style:{position:"relative"}},se.createElement(ir,{index:b}))),se.createElement("div",{className:"mt-be-btn-remove-wrapper"},se.createElement(al,null))),se.createElement("div",{className:"mt-be-block"},!r&&!(y instanceof il)&&se.createElement("div",{className:"mt-be-content-label"},y.contentLabel()),A&&se.createElement(kn.Provider,{value:M},_,r&&c&&Ee()&&se.createElement(dl,null)),se.createElement(se.Fragment,null,se.createElement(Ui.div,null,se.createElement("div",ul({className:h.opts.rootClassName||"",style:{overflow:"auto"}},h.opts.rootAttributes),se.createElement(pl,{editor:h}),!A&&_)))))};n(8428);function vl(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function ml(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=Array(t);n=1&&rn(t[0],e))return t.length>=2?[t[0]]:t;if(t.length>=2){var r=bl(t,2),o=r[0],i=r[1];if(e.width===o.width&&o.width===i.width&&"number"==typeof e.height&&"number"==typeof o.height&&"number"==typeof i.height&&e.height-o.height==o.height-i.height||e.height===o.height&&o.height===i.height&&"number"==typeof e.width&&"number"==typeof o.width&&"number"==typeof i.width&&e.width-o.width==o.width-i.width)return n.iframePreviewSize&&rn(n.iframePreviewSize,t[1])?t:(n.setIframePreviewSize(t[1]),yl(t))}return n.setIframePreviewSize(e),0===t.length?[e]:[e,t[0]]}))}),[]),k=n.getIframePreviewSize(g),x=(0,se.useCallback)((function(e,t,r){if(!a||!1!==a(t))if(t)i&&i(t);else{r.preserveBlockData||(e=e.replace(//g,""));var o=n.compiledHtml;n.compiledHtml=e,n.removeIntermediateProduct=!!r.removeIntermediateProduct,r.addEditHistory&&d.editManager.add({block:n,data:{last:o,cur:e},handlers:xl}),d.emit("setCompiledHtmlIframePreview",{editor:d,block:n}),i&&i(null),y((function(e){return"number"==typeof e?e+1:1}))}}),[]);"string"!=typeof r&&null===m&&(o="",r.then(y));var E={editor:d,scheme:c,sandbox:f,html:g,head:'\n \n \n \n \n ${editor.stylesheets\n .map((s) => {\n if (s.type === StylesheetType.css) {\n return ``;\n } else {\n return ``;\n }\n })\n .join(\"\")}\n ${header || \"\"}\n `,\n };\n editor.emit(\"beforeRenderIframePreview\", beforeRenderIframePreviewOpt);\n const htmlText = beforeRenderIframePreviewOpt.html;\n const head = beforeRenderIframePreviewOpt.head;\n\n const [src, setSrc] = useState(\"\");\n useEffect(() => {\n if (!header && !htmlText) {\n if (src !== \"\") {\n setSrc(\"\");\n }\n return;\n }\n\n const rootAttributesObj = editor.opts.rootAttributes as Record<\n string,\n string\n >;\n const rootAttributes = Object.keys(rootAttributesObj)\n .map((k) => {\n const map: Record = { \"&\": \"&\", '\"': \""\" };\n const v = rootAttributesObj[k].replace(/[&\"]/g, (m) => map[m]);\n return `${k}=\"${v}\"`;\n })\n .join(\" \");\n\n let srcdoc = `\n \n ${head}${htmlText}`;\n\n if (beforeRenderIframePreviewOpt.scheme === \"blob\") {\n setSrc(URL.createObjectURL(new Blob([srcdoc], { type: \"text/html\" })));\n } else if (beforeRenderIframePreviewOpt.scheme === \"srcdoc\") {\n setSrc(srcdoc);\n } else {\n // data or data-wrap\n if (beforeRenderIframePreviewOpt.scheme === \"data-wrap\") {\n const iframe = document.createElement(\"iframe\");\n iframe.setAttribute(\"frameborder\", \"0\");\n iframe.setAttribute(\"allowfullscreen\", \"true\");\n iframe.srcdoc = srcdoc;\n srcdoc = `\n \n \n \n \n \n \n \n \n ${iframe.outerHTML}\n \n \n `;\n }\n\n const data = new TextEncoder().encode(srcdoc);\n const base64Srcdoc = btoa(String.fromCharCode(...data));\n setSrc(`data:text/html;base64,${base64Srcdoc}`);\n }\n }, [block.compiledHtml, header, htmlText]);\n\n useEffect(() => {\n const onMessage = (ev: MessageEvent): void => {\n const containerEl = containerElRef.current;\n\n if (\n !(\n containerEl &&\n ev.source ===\n (containerEl.firstChild as HTMLIFrameElement).contentWindow &&\n ev.data &&\n ev.data.blockId === block.id\n )\n ) {\n return;\n }\n\n switch (ev.data.method) {\n case \"MTBlockEditorInitSize\":\n if (!isDefaultSize(size)) {\n break;\n }\n\n setSize({ ...size, ...ev.data.arguments });\n break;\n case \"MTBlockEditorSetSize\":\n (Object.keys(size) as Array).forEach((k) => {\n const oldValue =\n typeof size[k] === \"number\"\n ? (size[k] as number)\n : parseFloat(size[k] as string);\n const newValue =\n typeof ev.data.arguments[k] === \"number\"\n ? (ev.data.arguments[k] as number)\n : parseFloat(ev.data.arguments[k] as string);\n if (\n oldValue &&\n newValue &&\n oldValue > newValue &&\n Math.abs(oldValue - newValue) < SHRINK_THRESHOLD\n ) {\n ev.data.arguments[k] = size[k];\n }\n });\n\n if (\n size.width !== ev.data.arguments.width ||\n size.height !== ev.data.arguments.height\n ) {\n setSize(ev.data.arguments);\n }\n break;\n case \"MTBlockEditorOnClick\":\n (\n containerEl.closest(\"[data-mt-block-editor-block-id]\") ||\n (containerEl.getRootNode() as ShadowRoot)?.host\n )?.dispatchEvent(\n new MouseEvent(\"click\", {\n bubbles: true,\n cancelable: true,\n ...ev.data.arguments,\n })\n );\n break;\n case \"MTBlockEditorOnKeydown\":\n window.dispatchEvent(new KeyboardEvent(\"keydown\", ev.data.arguments));\n break;\n case \"MTBlockEditorSetCompiledHtml\":\n setCompiledHtml(\n ev.data.html,\n ev.data.html == null ? new Error(ev.data.error || \"Error\") : null,\n ev.data.arguments as SetCompiledHtmlOptions\n );\n break;\n }\n };\n\n window.addEventListener(\"message\", onMessage, {\n capture: true,\n passive: true,\n });\n return () => {\n window.removeEventListener(\"message\", onMessage, {\n capture: true,\n });\n };\n }, [size]);\n\n return (\n \n \n
\n );\n};\n\nexport default BlockIframePreview;\n","import { t } from \"../i18n\";\nimport React, {\n Fragment,\n useCallback,\n useEffect,\n useMemo,\n CSSProperties,\n} from \"react\";\nimport { render, unmountComponentAtNode } from \"react-dom\";\nimport {\n EditorContext,\n useEditorContext,\n BlocksContext,\n BlocksContextProps,\n} from \"../Context\";\nimport Block, {\n NewFromHtmlOptions,\n EditorOptions,\n SerializeOptions,\n CompileOptions,\n HasBlocks,\n} from \"../Block\";\nimport AddButton from \"../Component/AddButton\";\nimport BlockItem from \"../Component/BlockItem\";\nimport BlockIframePreview from \"../Component/BlockIframePreview\";\nimport BlockSetupCommon from \"../Component/BlockSetupCommon\";\nimport {\n parseContent,\n NO_BLOCK_TYPE_FALLBACK,\n preParseContent,\n escapeSingleQuoteAttribute,\n ParserContext,\n} from \"../util\";\n\ninterface EditorProps extends EditorOptions {\n block: Column;\n}\n\nconst COMPILE_TIMEOUT = 2000;\nconst SERIALIZATION_PARALLELISM = 4;\n\nconst STYLE_HIDDEN: CSSProperties = {\n position: \"absolute\",\n overflow: \"hidden\",\n height: \"0px\",\n border: \"none\",\n};\n\nconst Editor: React.FC = ({\n block,\n focus,\n focusBlock,\n focusDescendant,\n canRemove,\n}: EditorProps) => {\n if (\n (block.constructor as typeof Block).typeId !== \"core-column\" ||\n canRemove === undefined\n ) {\n canRemove = block.canRemoveBlock;\n }\n\n const { editor, setFocusedIds } = useEditorContext();\n\n const blocksContext = useMemo(\n () => ({\n panelBlockTypes: block.panelBlockTypes,\n shortcutBlockTypes: block.shortcutBlockTypes,\n addBlock: (b: Block, index: number | Block) => {\n if (index instanceof Block) {\n index = block.blocks.indexOf(index) + 1;\n }\n editor.addBlock(block, b, index);\n setFocusedIds([b.id]);\n },\n mergeBlock: (b: Block) => {\n const index = block.blocks.indexOf(b);\n if (editor.mergeBlock(block, b)) {\n setFocusedIds([block.blocks[index - 1].id]);\n }\n },\n removeBlock: (b: Block) => {\n const index = block.blocks.indexOf(b);\n editor.removeBlock(block, b);\n if (index > 0) {\n setFocusedIds([block.blocks[index - 1].id]);\n }\n },\n swapBlocks: (dragIndex: number, hoverIndex: number, scroll?: boolean) => {\n if (\n dragIndex === undefined ||\n hoverIndex === undefined ||\n !block.blocks[dragIndex] ||\n !block.blocks[hoverIndex]\n ) {\n return;\n }\n\n if (scroll) {\n const destEl = block.blocks[dragIndex].wrapperRef.current;\n if (!destEl) {\n return;\n }\n\n const rect = destEl.getBoundingClientRect();\n const scrollTop =\n window.pageYOffset || document.documentElement.scrollTop;\n const offsetTop = rect.height + 22;\n\n window.scrollTo({\n top: scrollTop + (dragIndex > hoverIndex ? -offsetTop : offsetTop),\n behavior: \"smooth\",\n });\n }\n\n editor.swapBlocks(block, dragIndex, hoverIndex);\n },\n }),\n []\n );\n\n const resetCompiledHtml = useCallback(() => {\n block.resetCompiledHtml();\n }, []);\n useEffect(() => {\n editor.on(\"change\", resetCompiledHtml);\n\n if (block._html !== \"\") {\n parseContent(\n preParseContent(block._html),\n editor.factory,\n new ParserContext()\n ).then((blocks) => {\n block._html = \"\";\n block.blocks = blocks;\n if (blocks[0]) {\n setFocusedIds([blocks[0].id]);\n }\n });\n }\n\n return () => {\n editor.off(\"change\", resetCompiledHtml);\n };\n }, []);\n\n useEffect(() => {\n if (focusDescendant) {\n resetCompiledHtml();\n return;\n }\n\n if (\n (block.constructor as typeof Block).shouldBeCompiled &&\n block.compiledHtml === undefined &&\n !focus &&\n !focusDescendant\n ) {\n block.compile({ editor });\n }\n }, [focus, focusDescendant]);\n\n const res = (\n \n \n {block.blocks.map((b, i) => {\n const focusFirstBlock = canRemove !== true && block.blocks.length === 1;\n const focusItem = (focus && focusFirstBlock) || undefined;\n return (\n \n );\n })}\n {canRemove && (\n \n