@trycourier/react-designer 0.0.0-canary-20251210151150 → 0.0.0-canary-20251210153829
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/dist/cjs/index.js +1 -1
- package/dist/cjs/index.js.map +3 -3
- package/dist/esm/index.js +1 -1
- package/dist/esm/index.js.map +3 -3
- package/package.json +1 -1
package/dist/esm/index.js
CHANGED
|
@@ -183,7 +183,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
|
|
|
183
183
|
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}s(xm,"_nonIterableSpread");function ga(e){return Cm(e)||vm(e)||ca(e)||xm()}s(ga,"_toConsumableArray");var Sm=Ui(di());function Ht(e){var t=null;return s(function(){if(!t){for(var o=arguments.length,n=new Array(o),i=0;i<o;i++)n[i]=arguments[i];var a=e.apply(this,n);t={result:a}}return t.result},"wrapped")}s(Ht,"once");var Tm=Ht(s(function(){return navigator.userAgent.includes("Firefox")},"isFirefox"));var fi=Ht(s(function(){var t=navigator,r=t.userAgent;return r.includes("AppleWebKit")&&!r.includes("Chrome")},"isSafari"));var Em=Ui(di());var Zl={isLeavingWindow:Symbol("leaving"),isEnteringWindow:Symbol("entering")};function wm(e){var t=e.dragLeave;return fi()?t.hasOwnProperty(Zl.isLeavingWindow):!1}s(wm,"isLeavingWindowInSafari");s(function(){if(typeof window=="undefined"||!fi())return;function t(){return{enterCount:0,isOverWindow:!1}}s(t,"getInitialState");var r=t();function o(){r=t()}s(o,"resetState"),(0,Em.bindAll)(window,[{type:"dragstart",listener:s(function(){r.enterCount=0,r.isOverWindow=!0},"listener")},{type:"drop",listener:o},{type:"dragend",listener:o},{type:"dragenter",listener:s(function(i){!r.isOverWindow&&r.enterCount===0&&(i[Zl.isEnteringWindow]=!0),r.isOverWindow=!0,r.enterCount++},"listener")},{type:"dragleave",listener:s(function(i){r.enterCount--,r.isOverWindow&&r.enterCount===0&&(i[Zl.isLeavingWindow]=!0,r.isOverWindow=!1)},"listener")}],{capture:!0})},"fixSafari")();function d2(e){return"nodeName"in e}s(d2,"isNodeLike");function km(e){return d2(e)&&e.ownerDocument!==document}s(km,"isFromAnotherWindow");function Pm(e){var t=e.dragLeave,r=t.type,o=t.relatedTarget;return r!=="dragleave"?!1:fi()?wm({dragLeave:t}):o==null?!0:Tm()?km(o):o instanceof HTMLIFrameElement}s(Pm,"isLeavingWindow");function Nm(e){var t=e.onDragEnd;return[{type:"pointermove",listener:function(){var r=0;return s(function(){if(r<20){r++;return}t()},"listener")}()},{type:"pointerdown",listener:t}]}s(Nm,"getBindingsForBrokenDrags");function bo(e){return{altKey:e.altKey,button:e.button,buttons:e.buttons,ctrlKey:e.ctrlKey,metaKey:e.metaKey,shiftKey:e.shiftKey,clientX:e.clientX,clientY:e.clientY,pageX:e.pageX,pageY:e.pageY}}s(bo,"getInput");var m2=s(function(t){var r=[],o=null,n=s(function(){for(var a=arguments.length,l=new Array(a),c=0;c<a;c++)l[c]=arguments[c];r=l,!o&&(o=requestAnimationFrame(function(){o=null,t.apply(void 0,r)}))},"wrapperFn");return n.cancel=function(){o&&(cancelAnimationFrame(o),o=null)},n},"rafSchd"),Mm=m2;var ql=Mm(function(e){return e()}),ha=function(){var e=null;function t(o){var n=requestAnimationFrame(function(){e=null,o()});e={frameId:n,fn:o}}s(t,"schedule");function r(){e&&(cancelAnimationFrame(e.frameId),e.fn(),e=null)}return s(r,"flush"),{schedule:t,flush:r}}();function Am(e){var t=e.source,r=e.initial,o=e.dispatchEvent,n={dropTargets:[]};function i(l){o(l),n={dropTargets:l.payload.location.current.dropTargets}}s(i,"safeDispatch");var a={start:s(function(c){var u=c.nativeSetDragImage,d={current:r,previous:n,initial:r};i({eventName:"onGenerateDragPreview",payload:{source:t,location:d,nativeSetDragImage:u}}),ha.schedule(function(){i({eventName:"onDragStart",payload:{source:t,location:d}})})},"start"),dragUpdate:s(function(c){var u=c.current;ha.flush(),ql.cancel(),i({eventName:"onDropTargetChange",payload:{source:t,location:{initial:r,previous:n,current:u}}})},"dragUpdate"),drag:s(function(c){var u=c.current;ql(function(){ha.flush();var d={initial:r,previous:n,current:u};i({eventName:"onDrag",payload:{source:t,location:d}})})},"drag"),drop:s(function(c){var u=c.current,d=c.updatedSourcePayload;ha.flush(),ql.cancel(),i({eventName:"onDrop",payload:{source:d!=null?d:t,location:{current:u,previous:n,initial:r}}})},"drop")};return a}s(Am,"makeDispatch");var jl={isActive:!1};function Im(){return!jl.isActive}s(Im,"canStart");function p2(e){return e.dataTransfer?e.dataTransfer.setDragImage.bind(e.dataTransfer):null}s(p2,"getNativeSetDragImage");function f2(e){var t=e.current,r=e.next;if(t.length!==r.length)return!0;for(var o=0;o<t.length;o++)if(t[o].element!==r[o].element)return!0;return!1}s(f2,"hasHierarchyChanged");function g2(e){var t=e.event,r=e.dragType,o=e.getDropTargetsOver,n=e.dispatchEvent;if(!Im())return;var i=h2({event:t,dragType:r,getDropTargetsOver:o});jl.isActive=!0;var a={current:i};Jl({event:t,current:i.dropTargets});var l=Am({source:r.payload,dispatchEvent:n,initial:i});function c(f){var v=f2({current:a.current.dropTargets,next:f.dropTargets});a.current=f,v&&l.dragUpdate({current:a.current})}s(c,"updateState");function u(f){var v=bo(f),h=pa(f.target)?fa({x:v.clientX,y:v.clientY}):f.target,b=o({target:h,input:v,source:r.payload,current:a.current.dropTargets});b.length&&(f.preventDefault(),Jl({event:f,current:b})),c({dropTargets:b,input:v})}s(u,"onUpdateEvent");function d(){a.current.dropTargets.length&&c({dropTargets:[],input:a.current.input}),l.drop({current:a.current,updatedSourcePayload:null}),m()}s(d,"cancel");function m(){jl.isActive=!1,p()}s(m,"finish");var p=(0,Sm.bindAll)(window,[{type:"dragover",listener:s(function(v){u(v),l.drag({current:a.current})},"listener")},{type:"dragenter",listener:u},{type:"dragleave",listener:s(function(v){Pm({dragLeave:v})&&(c({input:a.current.input,dropTargets:[]}),r.startedFrom==="external"&&d())},"listener")},{type:"drop",listener:s(function(v){if(a.current={dropTargets:a.current.dropTargets,input:bo(v)},!a.current.dropTargets.length){d();return}v.preventDefault(),Jl({event:v,current:a.current.dropTargets}),l.drop({current:a.current,updatedSourcePayload:r.type==="external"?r.getDropPayload(v):null}),m()},"listener")},{type:"dragend",listener:s(function(v){a.current={dropTargets:a.current.dropTargets,input:bo(v)},d()},"listener")}].concat(ga(Nm({onDragEnd:d}))),{capture:!0});l.start({nativeSetDragImage:p2(t)})}s(g2,"start");function Jl(e){var t,r=e.event,o=e.current,n=(t=o[0])===null||t===void 0?void 0:t.dropEffect;n!=null&&r.dataTransfer&&(r.dataTransfer.dropEffect=n)}s(Jl,"setDropEffectOnEvent");function h2(e){var t=e.event,r=e.dragType,o=e.getDropTargetsOver,n=bo(t);if(r.startedFrom==="external")return{input:n,dropTargets:[]};var i=o({input:n,source:r.payload,target:t.target,current:[]});return{input:n,dropTargets:i}}s(h2,"getStartLocation");var Gl={canStart:Im,start:g2};var Kl=new Map;function b2(e){var t=e.typeKey,r=e.mount,o=Kl.get(t);if(o)return o.usageCount++,o;var n={typeKey:t,unmount:r(),usageCount:1};return Kl.set(t,n),n}s(b2,"registerUsage");function Lm(e){var t=b2(e);return s(function(){t.usageCount--,!(t.usageCount>0)&&(t.unmount(),Kl.delete(e.typeKey))},"unregister")}s(Lm,"register");function sr(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return s(function(){t.forEach(function(n){return n()})},"cleanup")}s(sr,"combine");function ba(e,t){var r=t.attribute,o=t.value;return e.setAttribute(r,o),function(){return e.removeAttribute(r)}}s(ba,"addAttribute");function Rm(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter(function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable})),r.push.apply(r,o)}return r}s(Rm,"ownKeys");function Wr(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Rm(Object(r),!0).forEach(function(o){wr(e,o,r[o])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Rm(Object(r)).forEach(function(o){Object.defineProperty(e,o,Object.getOwnPropertyDescriptor(r,o))})}return e}s(Wr,"_objectSpread");function Yl(e,t){var r=typeof Symbol!="undefined"&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=y2(e))||t&&e&&typeof e.length=="number"){r&&(e=r);var o=0,n=s(function(){},"F");return{s:n,n:s(function(){return o>=e.length?{done:!0}:{done:!1,value:e[o++]}},"n"),e:s(function(u){throw u},"e"),f:n}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
|
|
184
184
|
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var i,a=!0,l=!1;return{s:s(function(){r=r.call(e)},"s"),n:s(function(){var u=r.next();return a=u.done,u},"n"),e:s(function(u){l=!0,i=u},"e"),f:s(function(){try{a||r.return==null||r.return()}finally{if(l)throw i}},"f")}}s(Yl,"_createForOfIteratorHelper");function y2(e,t){if(e){if(typeof e=="string")return Hm(e,t);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Hm(e,t):void 0}}s(y2,"_unsupportedIterableToArray");function Hm(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,o=Array(t);r<t;r++)o[r]=e[r];return o}s(Hm,"_arrayLikeToArray");function Xl(e){return e.slice(0).reverse()}s(Xl,"copyReverse");function Bm(e){var t=e.typeKey,r=e.defaultDropEffect,o=new WeakMap,n="data-drop-target-for-".concat(t),i="[".concat(n,"]");function a(f){return o.set(f.element,f),function(){return o.delete(f.element)}}s(a,"addToRegistry");function l(f){if(0)var v;var h=sr(ba(f.element,{attribute:n,value:"true"}),a(f));return Ht(h)}s(l,"dropTargetForConsumers");function c(f){var v,h,b,y,N=f.source,g=f.target,k=f.input,A=f.result,E=A===void 0?[]:A;if(g==null)return E;if(!(g instanceof Element))return g instanceof Node?c({source:N,target:g.parentElement,input:k,result:E}):E;var L=g.closest(i);if(L==null)return E;var w=o.get(L);if(w==null)return E;var C={input:k,source:N,element:w.element};if(w.canDrop&&!w.canDrop(C))return c({source:N,target:w.element.parentElement,input:k,result:E});var T=(v=(h=w.getData)===null||h===void 0?void 0:h.call(w,C))!==null&&v!==void 0?v:{},x=(b=(y=w.getDropEffect)===null||y===void 0?void 0:y.call(w,C))!==null&&b!==void 0?b:r,P={data:T,element:w.element,dropEffect:x,isActiveDueToStickiness:!1};return c({source:N,target:w.element.parentElement,input:k,result:[].concat(ga(E),[P])})}s(c,"getActualDropTargets");function u(f){var v=f.eventName,h=f.payload,b=Yl(h.location.current.dropTargets),y;try{for(b.s();!(y=b.n()).done;){var N,g=y.value,k=o.get(g.element),A=Wr(Wr({},h),{},{self:g});k==null||(N=k[v])===null||N===void 0||N.call(k,A)}}catch(E){b.e(E)}finally{b.f()}}s(u,"notifyCurrent");var d={onGenerateDragPreview:u,onDrag:u,onDragStart:u,onDrop:u,onDropTargetChange:s(function(v){var h=v.payload,b=new Set(h.location.current.dropTargets.map(function(V){return V.element})),y=new Set,N=Yl(h.location.previous.dropTargets),g;try{for(N.s();!(g=N.n()).done;){var k,A=g.value;y.add(A.element);var E=o.get(A.element),L=b.has(A.element),w=Wr(Wr({},h),{},{self:A});if(E==null||(k=E.onDropTargetChange)===null||k===void 0||k.call(E,w),!L){var C;E==null||(C=E.onDragLeave)===null||C===void 0||C.call(E,w)}}}catch(V){N.e(V)}finally{N.f()}var T=Yl(h.location.current.dropTargets),x;try{for(T.s();!(x=T.n()).done;){var P,M,R=x.value;if(!y.has(R.element)){var I=Wr(Wr({},h),{},{self:R}),H=o.get(R.element);H==null||(P=H.onDropTargetChange)===null||P===void 0||P.call(H,I),H==null||(M=H.onDragEnter)===null||M===void 0||M.call(H,I)}}}catch(V){T.e(V)}finally{T.f()}},"onDropTargetChange")};function m(f){d[f.eventName](f)}s(m,"dispatchEvent");function p(f){var v=f.source,h=f.target,b=f.input,y=f.current,N=c({source:v,target:h,input:b});if(N.length>=y.length)return N;for(var g=Xl(y),k=Xl(N),A=[],E=0;E<g.length;E++){var L,w=g[E],C=k[E];if(C!=null){A.push(C);continue}var T=A[E-1],x=g[E-1];if((T==null?void 0:T.element)!==(x==null?void 0:x.element))break;var P=o.get(w.element);if(!P)break;var M={input:b,source:v,element:P.element};if(P.canDrop&&!P.canDrop(M)||!((L=P.getIsSticky)!==null&&L!==void 0&&L.call(P,M)))break;A.push(Wr(Wr({},w),{},{isActiveDueToStickiness:!0}))}return Xl(A)}return s(p,"getIsOver"),{dropTargetForConsumers:l,getIsOver:p,dispatchEvent:m}}s(Bm,"makeDropTarget");function C2(e,t){var r=typeof Symbol!="undefined"&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=v2(e))||t&&e&&typeof e.length=="number"){r&&(e=r);var o=0,n=s(function(){},"F");return{s:n,n:s(function(){return o>=e.length?{done:!0}:{done:!1,value:e[o++]}},"n"),e:s(function(u){throw u},"e"),f:n}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
|
|
185
185
|
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var i,a=!0,l=!1;return{s:s(function(){r=r.call(e)},"s"),n:s(function(){var u=r.next();return a=u.done,u},"n"),e:s(function(u){l=!0,i=u},"e"),f:s(function(){try{a||r.return==null||r.return()}finally{if(l)throw i}},"f")}}s(C2,"_createForOfIteratorHelper");function v2(e,t){if(e){if(typeof e=="string")return Dm(e,t);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Dm(e,t):void 0}}s(v2,"_unsupportedIterableToArray");function Dm(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,o=Array(t);r<t;r++)o[r]=e[r];return o}s(Dm,"_arrayLikeToArray");function Fm(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter(function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable})),r.push.apply(r,o)}return r}s(Fm,"ownKeys");function x2(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Fm(Object(r),!0).forEach(function(o){wr(e,o,r[o])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Fm(Object(r)).forEach(function(o){Object.defineProperty(e,o,Object.getOwnPropertyDescriptor(r,o))})}return e}s(x2,"_objectSpread");function Vm(){var e=new Set,t=null;function r(i){t&&(!i.canMonitor||i.canMonitor(t.canMonitorArgs))&&t.active.add(i)}s(r,"tryAddToActive");function o(i){var a=x2({},i);e.add(a),r(a);function l(){e.delete(a),t&&t.active.delete(a)}return s(l,"cleanup"),Ht(l)}s(o,"monitorForConsumers");function n(i){var a=i.eventName,l=i.payload;if(a==="onGenerateDragPreview"){t={canMonitorArgs:{initial:l.location.initial,source:l.source},active:new Set};var c=C2(e),u;try{for(c.s();!(u=c.n()).done;){var d=u.value;r(d)}}catch(b){c.e(b)}finally{c.f()}}if(t){for(var m=Array.from(t.active),p=0,f=m;p<f.length;p++){var v=f[p];if(t.active.has(v)){var h;(h=v[a])===null||h===void 0||h.call(v,l)}}a==="onDrop"&&(t.active.clear(),t=null)}}return s(n,"dispatchEvent"),{dispatchEvent:n,monitorForConsumers:o}}s(Vm,"makeMonitor");function Om(e){var t=e.typeKey,r=e.mount,o=e.dispatchEventToSource,n=e.onPostDispatch,i=e.defaultDropEffect,a=Vm(),l=Bm({typeKey:t,defaultDropEffect:i});function c(m){o==null||o(m),l.dispatchEvent(m),a.dispatchEvent(m),n==null||n(m)}s(c,"dispatchEvent");function u(m){var p=m.event,f=m.dragType;Gl.start({event:p,dragType:f,getDropTargetsOver:l.getIsOver,dispatchEvent:c})}s(u,"start");function d(){function m(){var p={canStart:Gl.canStart,start:u};return r(p)}return s(m,"mountAdapter"),Lm({typeKey:t,mount:m})}return s(d,"registerUsage"),{registerUsage:d,dropTarget:l.dropTargetForConsumers,monitor:a.monitorForConsumers}}s(Om,"makeAdapter");var Um=Ht(s(function(){return navigator.userAgent.toLocaleLowerCase().includes("android")},"isAndroid")),Wm="pdnd:android-fallback";var Ql="text/plain";var _m="text/uri-list";var zm="application/vnd.pdnd";var ya=new WeakMap;function T2(e){return ya.set(e.element,e),s(function(){ya.delete(e.element)},"cleanup")}s(T2,"addToRegistry");var $m=ym(),ec=Om({typeKey:"element",defaultDropEffect:"move",mount:s(function(t){return sr($m.bindEvents(),(0,Zm.bind)(document,{type:"dragstart",listener:s(function(o){var n,i,a,l,c,u;if(t.canStart(o)&&!o.defaultPrevented&&o.dataTransfer){var d=o.target;if(d instanceof HTMLElement){var m=ya.get(d);if(m){var p=bo(o),f={element:m.element,dragHandle:(n=m.dragHandle)!==null&&n!==void 0?n:null,input:p};if(m.canDrag&&!m.canDrag(f)){o.preventDefault();return}if(m.dragHandle){var v=fa({x:p.clientX,y:p.clientY});if(!m.dragHandle.contains(v)){o.preventDefault();return}}var h=(i=(a=m.getInitialDataForExternal)===null||a===void 0?void 0:a.call(m,f))!==null&&i!==void 0?i:null;if(h)for(var b=0,y=Object.entries(h);b<y.length;b++){var N=ua(y[b],2),g=N[0],k=N[1];o.dataTransfer.setData(g,k!=null?k:"")}Um()&&!o.dataTransfer.types.includes(Ql)&&!o.dataTransfer.types.includes(_m)&&o.dataTransfer.setData(Ql,Wm),o.dataTransfer.setData(zm,"");var A={element:m.element,dragHandle:(l=m.dragHandle)!==null&&l!==void 0?l:null,data:(c=(u=m.getInitialData)===null||u===void 0?void 0:u.call(m,f))!==null&&c!==void 0?c:{}},E={type:"element",payload:A,startedFrom:"internal"};t.start({event:o,dragType:E})}}}},"listener")}))},"mount"),dispatchEventToSource:s(function(t){var r,o,n=t.eventName,i=t.payload;(r=ya.get(i.source.element))===null||r===void 0||(o=r[n])===null||o===void 0||o.call(r,i)},"dispatchEventToSource"),onPostDispatch:$m.getOnPostDispatch()}),Pt=ec.dropTarget,tc=ec.monitor;function gi(e){if(0)var t;var r=sr(ec.registerUsage(),T2(e),ba(e.element,{attribute:"draggable",value:"true"}));return Ht(r)}s(gi,"draggable");function qm(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter(function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable})),r.push.apply(r,o)}return r}s(qm,"ownKeys");function Jm(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?qm(Object(r),!0).forEach(function(o){wr(e,o,r[o])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):qm(Object(r)).forEach(function(o){Object.defineProperty(e,o,Object.getOwnPropertyDescriptor(r,o))})}return e}s(Jm,"_objectSpread");var E2={top:s(function(t,r){return Math.abs(r.y-t.top)},"top"),right:s(function(t,r){return Math.abs(t.right-r.x)},"right"),bottom:s(function(t,r){return Math.abs(t.bottom-r.y)},"bottom"),left:s(function(t,r){return Math.abs(r.x-t.left)},"left")},jm=Symbol("closestEdge");function Gm(e,t){var r,o,n=t.element,i=t.input,a=t.allowedEdges,l={x:i.clientX,y:i.clientY},c=n.getBoundingClientRect(),u=a.map(function(m){return{edge:m,value:E2[m](c,l)}}),d=(r=(o=u.sort(function(m,p){return m.value-p.value})[0])===null||o===void 0?void 0:o.edge)!==null&&r!==void 0?r:null;return Jm(Jm({},e),{},wr({},jm,d))}s(Gm,"attachClosestEdge");function hi(e){var t;return(t=e[jm])!==null&&t!==void 0?t:null}s(hi,"extractClosestEdge");import{mergeAttributes as K3,Node as Y3}from"@tiptap/core";import{ReactNodeViewRenderer as X3}from"@tiptap/react";import{NodeViewContent as q3}from"@tiptap/react";import{useSetAtom as J3}from"jotai";import{useCallback as j3}from"react";import{NodeViewWrapper as O3}from"@tiptap/react";import{useSetAtom as U3}from"jotai";import{forwardRef as W3,useCallback as Ao,useEffect as Hc,useState as ps,useRef as Yr}from"react";import{v4 as _3}from"uuid";import{Color as cf}from"@tiptap/extension-color";import{Extension as w2}from"@tiptap/core";import{dropCursor as k2}from"@tiptap/pm/dropcursor";var rc=w2.create({name:"dropCursor",addOptions(){return{color:"currentColor",width:1,class:void 0}},addProseMirrorPlugins(){return[k2(this.options)]}});import{HardBreak as uf}from"@tiptap/extension-hard-break";import{Extension as P2}from"@tiptap/core";import{undo as N2,redo as M2,history as A2}from"@tiptap/pm/history";var S2=P2.create({name:"history",addOptions(){return{depth:100,newGroupDelay:500}},addCommands(){return{undo:()=>({state:e,dispatch:t})=>N2(e,t),redo:()=>({state:e,dispatch:t})=>M2(e,t)}},addProseMirrorPlugins(){return[A2(this.options)]},addKeyboardShortcuts(){return{"Mod-z":()=>this.editor.commands.undo(),"Shift-Mod-z":()=>this.editor.commands.redo(),"Mod-y":()=>this.editor.commands.redo(),"Mod-\u044F":()=>this.editor.commands.undo(),"Shift-Mod-\u044F":()=>this.editor.commands.redo()}}});import{Placeholder as df}from"@tiptap/extension-placeholder";import{TextAlign as mf}from"@tiptap/extension-text-align";import{Typography as pf}from"@tiptap/extension-typography";import{Underline as ff}from"@tiptap/extension-underline";import{StarterKit as gf}from"@tiptap/starter-kit";import{mergeAttributes as $2}from"@tiptap/core";import{Node as I2,mergeAttributes as L2,wrappingInputRule as R2}from"@tiptap/core";var H2=/^\s*>\s$/,Km=I2.create({name:"blockquote",addOptions(){return{HTMLAttributes:{}}},content:"block+",group:"block",defining:!0,parseHTML(){return[{tag:"blockquote"}]},renderHTML({HTMLAttributes:e}){return["blockquote",L2(this.options.HTMLAttributes,e),0]},addCommands(){return{setBlockquote:()=>({commands:e})=>e.wrapIn(this.name),toggleBlockquote:()=>({commands:e})=>e.toggleWrap(this.name),unsetBlockquote:()=>({commands:e})=>e.lift(this.name)}},addKeyboardShortcuts(){return{"Mod-Shift-b":()=>this.editor.commands.toggleBlockquote()}},addInputRules(){return[R2({find:H2,type:this.type})]}});import{ReactNodeViewRenderer as Z2}from"@tiptap/react";import{v4 as B2}from"uuid";function Oe(e,t){let r=e.state.tr,o=!1;e.state.doc.descendants((n,i)=>{if(n.type.name===t&&!n.attrs.id){let a=`node-${B2()}`;r.setNodeMarkup(i,void 0,{...n.attrs,id:a}),o=!0}return!1}),o&&e.view.dispatch(r)}s(Oe,"generateNodeIds");import{NodeViewContent as D2,NodeViewWrapper as F2}from"@tiptap/react";import{useSetAtom as V2,useAtomValue as O2}from"jotai";import{useCallback as U2,useEffect as W2,useRef as _2}from"react";import{jsx as yo}from"react/jsx-runtime";var z2=s(({paddingHorizontal:e,paddingVertical:t,backgroundColor:r,borderLeftWidth:o,borderColor:n})=>yo("div",{className:"courier-w-full node-element",children:yo("div",{style:{position:"relative",padding:`${t}px ${e}px`,backgroundColor:r,borderLeftWidth:`${o}px`,borderColor:n,borderStyle:o>0?"solid":"none",whiteSpace:"pre-wrap"},children:yo(D2,{})})}),"BlockquoteComponent"),Ym=s(e=>{var l,c,u;let t=V2(Re),r=O2(ge),o=_2(null),n=((l=r==null?void 0:r.type)==null?void 0:l.name)==="blockquote"&&(((c=r==null?void 0:r.attrs)==null?void 0:c.id)===e.node.attrs.id||!((u=r==null?void 0:r.attrs)!=null&&u.id)&&!e.node.attrs.id&&r===e.node),i=U2(()=>{if(!e.editor.isEditable)return;let d=e.node;d&&(t(d),e.editor.commands.updateSelectionState(d))},[e.editor.isEditable,e.node,e.editor.commands,t]);W2(()=>{let d=o.current;if(!d)return;let m=s(p=>{let f=p.target;f.closest(".courier-actions-panel")||f.closest("[data-no-drag-preview]")||i()},"handleClick");return d.addEventListener("click",m,!0),()=>{d.removeEventListener("click",m,!0)}},[i]);let a=!e.node.content||e.node.content.size===0;return yo(F2,{children:yo("div",{ref:o,children:yo(Ye,{id:e.node.attrs.id,className:S(n&&"selected-element",a&&"is-empty"),editor:e.editor,children:yo(z2,{...e.node.attrs})})})})},"BlockquoteComponentNode");var _r={paddingHorizontal:8,paddingVertical:6,backgroundColor:"transparent",borderLeftWidth:4,borderColor:"#e0e0e0"},oc=Km.extend({content:"block+",addOptions(){var e;return{...(e=this.parent)==null?void 0:e.call(this),HTMLAttributes:{class:""}}},onCreate(){Oe(this.editor,this.name)},addAttributes(){return{id:{default:void 0,parseHTML:e=>e.getAttribute("data-id"),renderHTML:e=>({"data-id":e.id})},paddingHorizontal:{default:_r.paddingHorizontal,parseHTML:e=>e.getAttribute("data-padding-horizontal"),renderHTML:e=>({"data-padding-horizontal":e.paddingHorizontal})},paddingVertical:{default:_r.paddingVertical,parseHTML:e=>e.getAttribute("data-padding-vertical"),renderHTML:e=>({"data-padding-vertical":e.paddingVertical})},backgroundColor:{default:_r.backgroundColor,parseHTML:e=>e.getAttribute("data-background-color"),renderHTML:e=>({"data-background-color":e.backgroundColor})},borderLeftWidth:{default:_r.borderLeftWidth,parseHTML:e=>e.getAttribute("data-border-left-width"),renderHTML:e=>({"data-border-left-width":e.borderLeftWidth})},borderColor:{default:_r.borderColor,parseHTML:e=>e.getAttribute("data-border-color"),renderHTML:e=>({"data-border-color":e.borderColor})},locales:{default:void 0,parseHTML:()=>{},renderHTML:()=>({})}}},parseHTML(){return[{tag:"blockquote"}]},renderHTML({HTMLAttributes:e}){return["blockquote",$2(e,{"data-type":"blockquote","data-id":e.id}),0]},addKeyboardShortcuts(){return{Enter:({editor:e})=>{let{selection:t}=e.state,{empty:r}=t;if(!r)return!1;let o=e.isActive("blockquote");return!e.isActive("paragraph")||!o?!1:e.chain().command(({tr:i})=>{i.split(t.from);let a=i.selection.from,l=i.doc.resolve(a);if(l.depth>1){let c=l.blockRange();c&&i.lift(c,0)}return!0}).focus().run()}}},addNodeView(){return Z2(Ym)}});import{zodResolver as ch}from"@hookform/resolvers/zod";import{useForm as uh}from"react-hook-form";import{useCallback as q2,useEffect as J2,useRef as Xm}from"react";var Xe=s(({editor:e,element:t,form:r,nodeType:o})=>{let n=Xm(null),i=Xm(null);return J2(()=>{if(!e||!t)return;let l=s(()=>{let c=null;if(e.state.doc.descendants((u,d)=>u.attrs.id===t.attrs.id?(c=d,!1):!0),c!==null){let u=e.state.doc.nodeAt(c);(u==null?void 0:u.type.name)===o&&(n.current=u,i.current=c,Object.entries(u.attrs).forEach(([d,m])=>{r.getValues(d)!==m&&r.setValue(d,m)}))}},"updateCurrentNode");return l(),e.on("update",l),()=>{e.off("update",l)}},[e,t,r,o]),{updateNodeAttributes:q2(l=>{if(!e||i.current===null)return;let c=e.state.doc.nodeAt(i.current);if(!c||c.type.name!==o)return;let u={...c.attrs,...l,id:c.attrs.id};JSON.stringify(c.attrs)!==JSON.stringify(u)&&e.chain().command(({tr:m,dispatch:p})=>{let f=m.doc.nodeAt(i.current);return(f==null?void 0:f.type.name)===o&&p?(m.setNodeMarkup(i.current,f.type,u),m.setMeta("addToHistory",!0),!0):!1}).run()},[e,o])}},"useNodeAttributes");import{useAtomValue as va,useSetAtom as K2}from"jotai";import{useMemo as ep,useCallback as tp}from"react";var Ca=s((e={},t="")=>Object.entries(e).reduce((r,[o,n])=>{let i=t?`${t}.${o}`:o;return n&&typeof n=="object"&&!Array.isArray(n)?[...r,...Ca(n,i)]:[...r,i]},[]),"getFlattenedVariables");var j2={link:["href","content"],img:["src","href","alt_text"],image:["src","href","alt_text"],action:["href","content"],meta:["title"],list:["imgSrc","imgHref"],quote:["content"],html:[]},G2=["content","href","src","title"],Qm=s((e=[])=>{let t=new Set,r=/\{\{([^}]+)\}\}/g,o=s(i=>{let a=i.matchAll(r);for(let l of a){let c=l[1].trim();c&&$e(c)&&t.add(c)}},"extractFromString"),n=s(i=>{let a=i;a.type==="string"&&typeof a.content=="string"&&o(a.content),a.type==="text"&&typeof a.content=="string"&&o(a.content);let l=a.type,c=j2[l];c&&c.forEach(u=>{typeof a[u]=="string"&&o(a[u])}),typeof a.if=="string"&&o(a.if),typeof a.loop=="string"&&o(a.loop),a.type==="channel"&&a.raw&&typeof a.raw=="object"&&a.raw!==null&&Object.values(a.raw).forEach(u=>{typeof u=="string"&&o(u)}),a.elements&&Array.isArray(a.elements)&&a.elements.forEach(u=>n(u)),a.locales&&typeof a.locales=="object"&&a.locales!==null&&Object.values(a.locales).forEach(u=>{if(u&&typeof u=="object"){let d=u;G2.forEach(m=>{typeof d[m]=="string"&&o(d[m])}),d.elements&&Array.isArray(d.elements)&&d.elements.forEach(m=>{m&&n(m)}),d.raw&&typeof d.raw=="object"&&d.raw!==null&&Object.values(d.raw).forEach(m=>{typeof m=="string"&&o(m)})}})},"processNode");return e.forEach(i=>n(i)),Array.from(t).sort()},"extractVariablesFromContent");var fN=s(e=>{let t=va(Te),r=va(X),o=va(Ur),n=va(so),i=K2(so),a=e!=null?e:o,l=ep(()=>{var p,f;if(!t)return[];let m=((f=(p=t.extensionManager.extensions.find(v=>v.name==="variableSuggestion"))==null?void 0:p.options)==null?void 0:f.variables)||{};return Ca(m)},[t]),c=ep(()=>{if(!r||!a)return[];let m=r.elements.find(p=>p.type==="channel"&&p.channel===a);return m?Qm(m.elements||[]):[]},[r,a]),u=tp((m,p)=>{i(f=>({...f,[m]:p}))},[i]),d=tp(()=>{i({})},[i]);return{availableVariables:l,usedVariables:c,variableValues:n,addVariableValue:u,clearAllVariableValues:d}},"useVariables");import{useSetAtom as sh}from"jotai";import{jsx as rp,jsxs as Y2}from"react/jsx-runtime";var Ue=s(({draggable:e=!1,icon:t,draggableLabel:r,label:o})=>Y2("div",{className:"courier-flex courier-flex-row courier-items-center courier-gap-2",children:[rp("div",{className:S("courier-w-8 courier-h-8 courier-rounded-md courier-flex courier-items-center courier-justify-center",e?"courier-cursor-grab courier-bg-secondary":"courier-border courier-border-border"),children:t}),rp("span",{className:"courier-text-sm courier-font-medium courier-text-foreground",children:e?r:o})]}),"BlockBase");import{Quote as X2}from"lucide-react";import{jsx as op}from"react/jsx-runtime";var np=s(({draggable:e=!1})=>op(Ue,{draggable:e,icon:op(X2,{strokeWidth:1.25,className:"courier-w-4 courier-h-4"}),draggableLabel:"Blockquote",label:"Blockquote block"}),"BlockquoteBlock");import{jsx as xa}from"react/jsx-runtime";var Q2=s(()=>xa("svg",{width:"20",height:"12",viewBox:"0 0 20 12",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:xa("path",{d:"M18 1.5H2C1.71875 1.5 1.5 1.75 1.5 2V10C1.5 10.2812 1.71875 10.5 2 10.5H18C18.25 10.5 18.5 10.2812 18.5 10V2C18.5 1.75 18.25 1.5 18 1.5ZM2 0H18C19.0938 0 20 0.90625 20 2V10C20 11.125 19.0938 12 18 12H2C0.875 12 0 11.125 0 10V2C0 0.90625 0.875 0 2 0Z",fill:"currentColor"})}),"ButtonBlockIcon"),zr=s(({draggable:e=!1})=>xa(Ue,{draggable:e,icon:xa(Q2,{}),draggableLabel:"Button",label:"Button block"}),"ButtonBlock");import{jsx as Ta}from"react/jsx-runtime";var eh=s(()=>Ta("svg",{width:"20",height:"14",viewBox:"0 0 20 14",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:Ta("path",{d:"M14 1.5V12.5H18C18.25 12.5 18.5 12.2812 18.5 12V2C18.5 1.75 18.25 1.5 18 1.5H14ZM12.5 1.5H7.5V12.5H12.5V1.5ZM6 12.5V1.5H2C1.71875 1.5 1.5 1.75 1.5 2V12C1.5 12.2812 1.71875 12.5 2 12.5H6ZM0 2C0 0.90625 0.875 0 2 0H18C19.0938 0 20 0.90625 20 2V12C20 13.125 19.0938 14 18 14H2C0.875 14 0 13.125 0 12V2Z",fill:"currentColor"})}),"ColumnBlockIcon"),Ea=s(({draggable:e=!1})=>Ta(Ue,{draggable:e,icon:Ta(eh,{}),draggableLabel:"Column layout",label:"Column layout"}),"ColumnBlock");import{jsx as wa}from"react/jsx-runtime";var th=s(()=>wa("svg",{width:"20",height:"14",viewBox:"0 0 20 14",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:wa("path",{d:"M6.5 3.5L3 7L6.5 10.5M13.5 3.5L17 7L13.5 10.5M11.5 1L8.5 13",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})}),"CustomCodeBlockIcon"),bi=s(({draggable:e=!1})=>wa(Ue,{draggable:e,icon:wa(th,{}),draggableLabel:"Custom code",label:"Custom code"}),"CustomCodeBlock");import{jsx as ka}from"react/jsx-runtime";var rh=s(()=>ka("svg",{width:"16",height:"2",viewBox:"0 0 16 2",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:ka("path",{d:"M0 1C0 0.59375 0.3125 0.25 0.75 0.25H15.25C15.6562 0.25 16 0.59375 16 1C16 1.4375 15.6562 1.75 15.25 1.75H0.75C0.3125 1.75 0 1.4375 0 1Z",fill:"currentColor"})}),"DividerBlockIcon"),$r=s(({draggable:e=!1})=>ka(Ue,{draggable:e,icon:ka(rh,{}),draggableLabel:"Divider",label:"Divider block"}),"DividerBlock");import{jsx as Pa}from"react/jsx-runtime";var oh=s(()=>Pa("svg",{width:"18",height:"13",viewBox:"0 0 18 13",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:Pa("path",{d:"M1.5 1.75V6H8.5V1.75C8.5 1.34375 8.8125 1 9.25 1C9.65625 1 10 1.34375 10 1.75V6.75V12.25C10 12.6875 9.65625 13 9.25 13C8.8125 13 8.5 12.6875 8.5 12.25V7.5H1.5V12.25C1.5 12.6875 1.15625 13 0.75 13C0.3125 13 0 12.6875 0 12.25V6.75V1.75C0 1.34375 0.3125 1 0.75 1C1.15625 1 1.5 1.34375 1.5 1.75ZM15.75 1.75V11.5H17.25C17.6562 11.5 18 11.8438 18 12.25C18 12.6875 17.6562 13 17.25 13H15H12.75C12.3125 13 12 12.6875 12 12.25C12 11.8438 12.3125 11.5 12.75 11.5H14.25V3.03125L13.0938 3.65625C12.75 3.875 12.2812 3.75 12.0938 3.375C11.875 3 12 2.5625 12.375 2.34375L14.625 1.09375C14.8438 0.96875 15.125 0.96875 15.375 1.125C15.5938 1.25 15.75 1.5 15.75 1.75Z",fill:"currentColor"})}),"HeadingBlockIcon"),Na=s(({draggable:e=!1})=>Pa(Ue,{draggable:e,icon:Pa(oh,{}),draggableLabel:"Heading",label:"Heading block"}),"HeadingBlock");import{jsx as Ma}from"react/jsx-runtime";var nh=s(()=>Ma("svg",{width:"16",height:"14",viewBox:"0 0 16 14",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:Ma("path",{d:"M14 1.5H2C1.71875 1.5 1.5 1.75 1.5 2V12V12.0312L1.625 11.8438L4.125 8.34375C4.28125 8.125 4.5 8 4.75 8C4.96875 8 5.21875 8.125 5.34375 8.3125L6.3125 9.65625L8.90625 6.3125C9.03125 6.125 9.25 6 9.5 6C9.71875 6 9.9375 6.125 10.0938 6.3125L14.3438 11.8125L14.5 12V2C14.5 1.75 14.25 1.5 14 1.5ZM2 0H14C15.0938 0 16 0.90625 16 2V12C16 13.125 15.0938 14 14 14H2C0.875 14 0 13.125 0 12V2C0 0.90625 0.875 0 2 0ZM4.5 6C3.9375 6 3.46875 5.71875 3.1875 5.25C2.90625 4.8125 2.90625 4.21875 3.1875 3.75C3.46875 3.3125 3.9375 3 4.5 3C5.03125 3 5.5 3.3125 5.78125 3.75C6.0625 4.21875 6.0625 4.8125 5.78125 5.25C5.5 5.71875 5.03125 6 4.5 6Z",fill:"currentColor"})}),"ImageBlockIcon"),Aa=s(({draggable:e=!1})=>Ma(Ue,{draggable:e,icon:Ma(nh,{}),draggableLabel:"Image",label:"Image block"}),"ImageBlock");import{AlignVerticalSpaceAround as ih}from"lucide-react";import{jsx as ip}from"react/jsx-runtime";var Sa=s(({draggable:e=!1})=>ip(Ue,{draggable:e,icon:ip(ih,{className:"courier-w-4 courier-h-4"}),draggableLabel:"Spacer",label:"Spacer block"}),"SpacerBlock");import{jsx as Ia}from"react/jsx-runtime";var ah=s(()=>Ia("svg",{width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:Ia("path",{d:"M1.5 1.5V3C1.5 3.4375 1.15625 3.75 0.75 3.75C0.3125 3.75 0 3.4375 0 3V1.25C0 0.5625 0.53125 0 1.25 0H12.75C13.4375 0 14 0.5625 14 1.25V3C14 3.4375 13.6562 3.75 13.25 3.75C12.8125 3.75 12.5 3.4375 12.5 3V1.5H7.75V12.5H9.25C9.65625 12.5 10 12.8438 10 13.25C10 13.6875 9.65625 14 9.25 14H4.75C4.3125 14 4 13.6875 4 13.25C4 12.8438 4.3125 12.5 4.75 12.5H6.25V1.5H1.5Z",fill:"currentColor"})}),"TextBlockIcon"),Zr=s(({draggable:e=!1})=>Ia(Ue,{draggable:e,icon:Ia(ah,{}),draggableLabel:"Text",label:"Text block"}),"TextBlock");import{jsx as jt,jsxs as lh}from"react/jsx-runtime";var Qe=s(({type:e})=>{let t=sh(Re);return lh("div",{className:"courier-flex courier-gap-4 courier-flex-col",children:[jt(Ce,{className:"courier-w-fit",variant:"secondary",buttonSize:"small",onClick:()=>{t(null)},children:"Close"}),e==="heading"&&jt(Na,{}),e==="text"&&jt(Zr,{}),e==="image"&&jt(Aa,{}),e==="spacer"&&jt(Sa,{}),e==="divider"&&jt($r,{}),e==="button"&&jt(zr,{}),e==="blockquote"&&jt(np,{}),e==="customCode"&&jt(bi,{}),e==="column"&&jt(Ea,{}),jt(le,{className:"courier-m-0"})]})},"FormHeader");import{z as Co}from"zod";var ap=Co.object({paddingHorizontal:Co.coerce.number().min(0),paddingVertical:Co.coerce.number().min(0),backgroundColor:Co.string(),borderLeftWidth:Co.coerce.number().min(0),borderColor:Co.string(),id:Co.string().optional()});import{jsx as Xo,jsxs as nc}from"react/jsx-runtime";var sp=s(({element:e,editor:t})=>{let r=uh({resolver:ch(ap),defaultValues:{..._r,...e==null?void 0:e.attrs}}),{updateNodeAttributes:o}=Xe({editor:t,element:e,form:r,nodeType:(e==null?void 0:e.type.name)||"blockquote"});return e?nc(Ne,{...r,children:[Xo(Qe,{type:"blockquote"}),nc("form",{onChange:()=>{o(r.getValues())},children:[Xo("h4",{className:"courier-text-sm courier-font-medium courier-mb-3",children:"Border"}),Xo(J,{control:r.control,name:"borderColor",render:({field:n})=>nc(Z,{className:"courier-mb-3",children:[Xo(q,{children:Xo(Ze,{...n,defaultValue:_r.borderColor,onChange:i=>{n.onChange(i),o({...r.getValues(),[n.name]:i})}})}),Xo(j,{})]})})]})]}):null},"BlockquoteForm");import{z as Nt}from"zod";var La=Nt.object({label:Nt.string(),link:Nt.string().optional(),alignment:Nt.enum(["left","center","right"]),backgroundColor:Nt.string(),borderRadius:Nt.number(),padding:Nt.number(),fontWeight:Nt.enum(["normal","bold"]),fontStyle:Nt.enum(["normal","italic"]),isUnderline:Nt.boolean(),isStrike:Nt.boolean(),textColor:Nt.string().optional(),borderColor:Nt.string().optional()});import{zodResolver as Jh}from"@hookform/resolvers/zod";import{useForm as jh}from"react-hook-form";import{Node as dh}from"@tiptap/core";var Qo=dh.create({name:"doc",topNode:!0,content:"block+"});import{Node as mh,mergeAttributes as ph}from"@tiptap/core";var en=mh.create({name:"paragraph",priority:1e3,addOptions(){return{HTMLAttributes:{}}},group:"block",content:"inline*",parseHTML(){return[{tag:"p"}]},renderHTML({HTMLAttributes:e}){return["p",ph(this.options.HTMLAttributes,e),0]},addCommands(){return{setParagraph:()=>({commands:e})=>e.setNode(this.name)}},addKeyboardShortcuts(){return{"Mod-Alt-0":()=>this.editor.commands.setParagraph()}}});import Oh from"@tiptap/extension-placeholder";import{Node as fh}from"@tiptap/core";var Ra=fh.create({name:"text",group:"inline"});import{EditorContent as Uh,useEditor as Wh}from"@tiptap/react";import*as Eo from"react";import{useCallback as _h,useEffect as pp}from"react";import{Extension as kh,InputRule as Ph,Node as Nh}from"@tiptap/core";import{ReactNodeViewRenderer as Mh}from"@tiptap/react";import{NodeViewWrapper as xh}from"@tiptap/react";import{useAtomValue as Th}from"jotai";import{useCallback as Da,useEffect as Eh,useState as wh}from"react";import{useCallback as vo,useEffect as ic,useMemo as gh,useRef as hh,useState as bh}from"react";import{jsx as lp,jsxs as Ch}from"react/jsx-runtime";var ac=50,sc=24,yh=s((e,t)=>e?{bgColor:"#FEF2F2",borderColor:"#FECACA",iconColor:"#DC2626",textColor:"#991B1B"}:t?{bgColor:"#EFF6FF",borderColor:"#BFDBFE",iconColor:"#1E40AF",textColor:"#1E40AF"}:{bgColor:"#FFFBEB",borderColor:"#FDE68A",iconColor:"#B45309",textColor:"#92400E"},"defaultGetColors"),Ha=s(({variableId:e,isInvalid:t,onUpdateAttributes:r,onDelete:o,icon:n,value:i,singleClickToEdit:a=!1,className:l,textColorOverride:c,getColors:u=yh})=>{let[d,m]=bh(!1),p=hh(null);ic(()=>{e===""&&!d&&m(!0)},[e,d]),ic(()=>{if(d&&p.current){let x=p.current;x.textContent=e,x.focus(),requestAnimationFrame(()=>{if(x){let P=document.createRange();P.selectNodeContents(x),P.collapse(!1);let M=window.getSelection();M==null||M.removeAllRanges(),M==null||M.addRange(P)}})}},[d,e]);let f=vo(()=>{var M;m(!1);let x=(((M=p.current)==null?void 0:M.textContent)||"").trim();if(x===""){o();return}let P=$e(x);r({id:x,isInvalid:!P})},[o,r]),v=vo(x=>{var P;x.key==="Enter"?(x.preventDefault(),(P=p.current)==null||P.blur()):x.key==="Escape"&&(x.preventDefault(),p.current&&(p.current.textContent=e),m(!1),e===""&&o())},[e,o]),h=vo(()=>{if(p.current){let x=p.current.textContent||"";if(x.length>ac){x=x.slice(0,ac),p.current.textContent=x;let P=document.createRange();P.selectNodeContents(p.current),P.collapse(!1);let M=window.getSelection();M==null||M.removeAllRanges(),M==null||M.addRange(P)}}},[]),b=vo(x=>{x.preventDefault();let P=x.clipboardData.getData("text/plain").slice(0,ac);document.execCommand("insertText",!1,P)},[]),y=vo(x=>{x.stopPropagation(),d||m(!0)},[d]),N=u(t,!!i),{bgColor:g,borderColor:k,textColor:A}=N,E=c||A,L=gh(()=>{let x=e,P=i?`="${i}"`:"",M=`${x}${P}`,R=x.length>sc;return{displayText:`${R?`${x.slice(0,sc)}\u2026`:x}${P}`,fullText:M,showTitle:R}},[e,i]);ic(()=>{p.current&&!d&&(p.current.textContent=L.displayText)},[L.displayText,d]);let w=vo(x=>{x.stopPropagation()},[]),C=vo(x=>{x.stopPropagation()},[]),T=a?{onClick:y}:{onClick:C,onDoubleClick:y};return Ch("span",{className:S("courier-inline-flex courier-rounded courier-border courier-px-1.5 courier-pl-6 courier-py-[1px] courier-max-w-full courier-tracking-[0.64px] courier-relative courier-align-middle",l),style:{fontSize:"inherit",fontFamily:"inherit",fontWeight:"inherit",backgroundColor:g,borderColor:k,color:E,direction:"ltr"},onMouseDown:w,...T,title:L.showTitle?L.fullText:void 0,children:[lp("span",{className:"courier-flex-shrink-0 courier-flex courier-items-center courier-absolute courier-left-1 courier-top-1/2 -courier-translate-y-1/2",children:n}),lp("span",{ref:p,role:"textbox",contentEditable:d,suppressContentEditableWarning:!0,onBlur:f,onKeyDown:v,onInput:h,onPaste:b,onMouseDown:w,...a?{onClick:y}:{onClick:C,onDoubleClick:y},className:S("courier-outline-none courier-min-w-[1ch]",!d&&"courier-cursor-text"),style:{color:E,maxWidth:`${sc}ch`,overflow:"hidden",textOverflow:d?"clip":"ellipsis",whiteSpace:"nowrap",direction:"ltr",unicodeBidi:"isolate"},children:!d&&L.displayText})]})},"VariableChipBase");import{jsx as cp,jsxs as vh}from"react/jsx-runtime";var Ba=s(({color:e="#1D4ED8"})=>vh("svg",{width:"16",height:"16",viewBox:"0 0 20 14",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:"courier-flex-shrink-0",children:[cp("path",{d:"M5.75 0H7.25C7.65625 0 8 0.34375 8 0.75C8 1.1875 7.65625 1.5 7.25 1.5H5.75C5.03125 1.5 4.5 2.0625 4.5 2.75V4.1875C4.5 4.90625 4.1875 5.625 3.6875 6.125L2.78125 7L3.6875 7.90625C4.1875 8.40625 4.5 9.125 4.5 9.84375V11.25C4.5 11.9688 5.03125 12.5 5.75 12.5H7.25C7.65625 12.5 8 12.8438 8 13.25C8 13.6875 7.65625 14 7.25 14H5.75C4.21875 14 3 12.7812 3 11.25V9.84375C3 9.5 2.84375 9.1875 2.625 8.96875L1.21875 7.53125C0.90625 7.25 0.90625 6.78125 1.21875 6.46875L2.625 5.0625C2.84375 4.84375 3 4.53125 3 4.1875V2.75C3 1.25 4.21875 0 5.75 0ZM14.25 0C15.75 0 17 1.25 17 2.75V4.1875C17 4.53125 17.125 4.84375 17.3438 5.0625L18.7812 6.5C19.0625 6.78125 19.0625 7.25 18.7812 7.53125L17.3438 8.96875C17.125 9.1875 17 9.5 17 9.84375V11.25C17 12.7812 15.75 14 14.25 14H12.75C12.3125 14 12 13.6875 12 13.25C12 12.8438 12.3125 12.5 12.75 12.5H14.25C14.9375 12.5 15.5 11.9688 15.5 11.25V9.84375C15.5 9.125 15.7812 8.40625 16.2812 7.90625L17.1875 7L16.2812 6.125C15.7812 5.625 15.5 4.90625 15.5 4.1875V2.75C15.5 2.0625 14.9375 1.5 14.25 1.5H12.75C12.3125 1.5 12 1.1875 12 0.75C12 0.34375 12.3125 0 12.75 0H14.25Z",fill:e}),cp("circle",{cx:"10",cy:"7",r:"2",fill:e})]}),"VariableIcon");import{jsx as lc}from"react/jsx-runtime";var up=s(({node:e,editor:t,getPos:r,updateAttributes:o})=>{let n=Th(so),i=e.attrs.id||"",a=n[i],l=e.attrs.isInvalid,[c,u]=wh(!1),d=Da(()=>{if(typeof r=="function")try{let h=r();if(h==null){u(!1);return}let y=t.state.doc.resolve(h).parent;u(y&&y.type.name==="button")}catch{u(!1)}else u(!1)},[t,r]);Eh(()=>{d();let h=s(()=>{d()},"handleUpdate");return t.on("update",h),t.on("selectionUpdate",h),()=>{t.off("update",h),t.off("selectionUpdate",h)}},[t,d]);let m=Da(h=>{o(h)},[o]),p=Da(()=>{if(typeof r=="function"){let h=r();typeof h=="number"&&t.chain().focus().deleteRange({from:h,to:h+e.nodeSize}).run()}},[t,r,e.nodeSize]),f=Da((h,b)=>h?{bgColor:"#FEF2F2",borderColor:"#FECACA",iconColor:"#DC2626",textColor:"#991B1B"}:b?{bgColor:"#EFF6FF",borderColor:"#BFDBFE",iconColor:"#1E40AF",textColor:"#1E40AF"}:{bgColor:"#FFFBEB",borderColor:"#FDE68A",iconColor:"#B45309",textColor:"#92400E"},[]),v=f(l,!!a);return lc(xh,{className:"courier-inline-block courier-max-w-full",children:lc(Ha,{variableId:i,isInvalid:l,value:a,onUpdateAttributes:m,onDelete:p,icon:lc(Ba,{color:v.iconColor}),getColors:f,className:S("courier-mx-1 courier-variable-node",c&&"courier-variable-in-button"),textColorOverride:c?"#000000":void 0})})},"VariableView");var cc=Nh.create({name:"variable",group:"inline",inline:!0,selectable:!1,atom:!0,addAttributes(){return{id:{default:"",parseHTML:e=>e.getAttribute("data-id")||"",renderHTML:e=>({"data-id":e.id})},isInvalid:{default:!1,parseHTML:e=>e.getAttribute("data-invalid")==="true",renderHTML:e=>({"data-invalid":e.isInvalid?"true":void 0})}}},parseHTML(){return[{tag:"span[data-variable]",getAttrs:e=>{let t=e.getAttribute("data-id");return t?{id:t}:!1}}]},renderHTML({HTMLAttributes:e,node:t}){return["span",{"data-variable":!0,...e},`{{${t.attrs.id}}}`]},renderText({node:e}){return`{{${e.attrs.id}}}`},addNodeView(){return Mh(up)}}),xo=kh.create({name:"variableInputRule",addInputRules(){return[new Ph({find:/\{\{$/,handler:({range:e,chain:t})=>{t().deleteRange(e).insertContent([{type:"variable",attrs:{id:"",isInvalid:!1}}]).run()}})]}});import{Extension as Ah}from"@tiptap/core";import{Plugin as Sh}from"@tiptap/pm/state";import{Slice as Ih,Fragment as Lh}from"@tiptap/pm/model";var To=Ah.create({name:"variablePaste",addProseMirrorPlugins(){return[new Sh({props:{transformPastedHTML:e=>e.replace(/\{\{([^}]+)\}\}/g,(r,o)=>{let n=o.trim();return $e(n)?`<span data-variable="true" data-id="${n}"></span>`:r}),transformPastedText:(e,t,r)=>{let o=/\{\{([^}]+)\}\}/g;if(!o.test(e))return e;let{schema:n}=r.state,i=[],a=0,l;for(o.lastIndex=0;(l=o.exec(e))!==null;){if(l.index>a){let u=e.substring(a,l.index);u&&i.push(n.text(u))}let c=l[1].trim();if(n.nodes.variable&&$e(c))i.push(n.nodes.variable.create({id:c,isInvalid:!1}));else{let u=l[0];i.push(n.text(u))}a=l.index+l[0].length}if(a<e.length){let c=e.substring(a);c&&i.push(n.text(c))}if(i.length>0){let c=Lh.from(i),u=new Ih(c,0,0),d=r.state.tr.replaceSelection(u);return r.dispatch(d),e}return e}}})]}});import{Node as Rh}from"@tiptap/core";import{NodeViewWrapper as Hh,ReactNodeViewRenderer as Bh}from"@tiptap/react";import{useCallback as dp}from"react";import{jsx as yi,jsxs as Vh}from"react/jsx-runtime";var Dh=s(({color:e="#B45309"})=>Vh("svg",{width:"14",height:"14",viewBox:"0 0 20 14",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:"courier-flex-shrink-0",children:[yi("path",{d:"M5.75 0H7.25C7.65625 0 8 0.34375 8 0.75C8 1.1875 7.65625 1.5 7.25 1.5H5.75C5.03125 1.5 4.5 2.0625 4.5 2.75V4.1875C4.5 4.90625 4.1875 5.625 3.6875 6.125L2.78125 7L3.6875 7.90625C4.1875 8.40625 4.5 9.125 4.5 9.84375V11.25C4.5 11.9688 5.03125 12.5 5.75 12.5H7.25C7.65625 12.5 8 12.8438 8 13.25C8 13.6875 7.65625 14 7.25 14H5.75C4.21875 14 3 12.7812 3 11.25V9.84375C3 9.5 2.84375 9.1875 2.625 8.96875L1.21875 7.53125C0.90625 7.25 0.90625 6.78125 1.21875 6.46875L2.625 5.0625C2.84375 4.84375 3 4.53125 3 4.1875V2.75C3 1.25 4.21875 0 5.75 0ZM14.25 0C15.75 0 17 1.25 17 2.75V4.1875C17 4.53125 17.125 4.84375 17.3438 5.0625L18.7812 6.5C19.0625 6.78125 19.0625 7.25 18.7812 7.53125L17.3438 8.96875C17.125 9.1875 17 9.5 17 9.84375V11.25C17 12.7812 15.75 14 14.25 14H12.75C12.3125 14 12 13.6875 12 13.25C12 12.8438 12.3125 12.5 12.75 12.5H14.25C14.9375 12.5 15.5 11.9688 15.5 11.25V9.84375C15.5 9.125 15.7812 8.40625 16.2812 7.90625L17.1875 7L16.2812 6.125C15.7812 5.625 15.5 4.90625 15.5 4.1875V2.75C15.5 2.0625 14.9375 1.5 14.25 1.5H12.75C12.3125 1.5 12 1.1875 12 0.75C12 0.34375 12.3125 0 12.75 0H14.25Z",fill:e}),yi("circle",{cx:"10",cy:"7",r:"2",fill:e})]}),"VariableChipIcon"),mp=s(e=>e?{bgColor:"#FEF2F2",borderColor:"#FECACA",iconColor:"#DC2626",textColor:"#991B1B"}:{bgColor:"#FFFBEB",borderColor:"#FDE68A",iconColor:"#B45309",textColor:"#92400E"},"getSimpleColors"),Fh=s(({node:e,editor:t,getPos:r,updateAttributes:o})=>{let n=e.attrs.id||"",i=e.attrs.isInvalid||!1,a=dp(u=>{o(u)},[o]),l=dp(()=>{if(typeof r=="function"){let u=r();typeof u=="number"&&t.chain().focus().deleteRange({from:u,to:u+e.nodeSize}).run()}},[t,r,e.nodeSize]),c=mp(i);return yi(Hh,{as:"span",className:"courier-inline",children:yi(Ha,{variableId:n,isInvalid:i,onUpdateAttributes:a,onDelete:l,icon:yi(Dh,{color:c.iconColor}),getColors:mp,className:"courier-mx-0.5"})})},"SimpleVariableView"),Fa=Rh.create({name:"variable",group:"inline",inline:!0,selectable:!1,atom:!0,addAttributes(){return{id:{default:"",parseHTML:e=>e.getAttribute("data-id")||"",renderHTML:e=>({"data-id":e.id})},isInvalid:{default:!1,parseHTML:e=>e.getAttribute("data-invalid")==="true",renderHTML:e=>({"data-invalid":e.isInvalid?"true":void 0})}}},parseHTML(){return[{tag:"span[data-variable]",getAttrs:e=>{let t=e.getAttribute("data-id");return t?{id:t}:!1}}]},renderHTML({HTMLAttributes:e,node:t}){return["span",{"data-variable":!0,...e},`{{${t.attrs.id}}}`]},renderText({node:e}){return`{{${e.attrs.id}}}`},addNodeView(){return Bh(Fh)}});function tn(e){if(!e)return{type:"doc",content:[{type:"paragraph"}]};let t=/\{\{([^}]+)\}\}/g,r=[],o=0,n;for(;(n=t.exec(e))!==null;){if(n.index>o){let a=e.substring(o,n.index);a&&r.push({type:"text",text:a})}let i=n[1].trim();$e(i)?r.push({type:"variable",attrs:{id:i,isInvalid:!1}}):r.push({type:"text",text:n[0]}),o=n.index+n[0].length}if(o<e.length){let i=e.substring(o);i&&r.push({type:"text",text:i})}return{type:"doc",content:[{type:"paragraph",content:r.length>0?r:void 0}]}}s(tn,"parseStringToContent");function Va(e){if(!e.content)return"";let t="",r=s(o=>{var n;o.type==="text"&&o.text?t+=o.text:o.type==="variable"&&((n=o.attrs)!=null&&n.id)?t+=`{{${o.attrs.id}}}`:(o.type==="paragraph"||o.type==="doc")&&o.content&&o.content.forEach(i=>r(i))},"processNode");return e.content.forEach(o=>r(o)),t}s(Va,"contentToString");import{jsx as fp}from"react/jsx-runtime";var lr=Eo.forwardRef(({value:e="",onChange:t,placeholder:r,className:o,disabled:n=!1,onFocus:i,onBlur:a},l)=>{let c=Eo.useRef(!1),u=Eo.useRef(e),d=Wh({extensions:[Qo,en.configure({HTMLAttributes:{class:"courier-m-0 courier-leading-normal"}}),Ra,Fa,xo,To,Oh.configure({placeholder:r||"",emptyEditorClass:"is-editor-empty"})],content:tn(e),editable:!n,editorProps:{attributes:{class:"courier-outline-none courier-min-h-[20px]"},handleKeyDown:(p,f)=>f.key==="Enter"&&!f.shiftKey?(f.preventDefault(),!0):!1},onUpdate:({editor:p})=>{if(c.current)return;let f=Va(p.getJSON());f!==u.current&&(u.current=f,t==null||t(f))},onFocus:()=>{i==null||i()},onBlur:()=>{a==null||a()}});pp(()=>{if(!d||e===u.current)return;c.current=!0,u.current=e;let p=setTimeout(()=>{let f=tn(e);d.commands.setContent(f),c.current=!1},0);return()=>clearTimeout(p)},[d,e]),pp(()=>{d&&d.setEditable(!n)},[d,n]);let m=_h(()=>{d==null||d.commands.focus()},[d]);return Eo.useImperativeHandle(l,()=>{let p=d==null?void 0:d.view.dom.parentElement;return p&&(p.focus=m),p},[d,m]),fp("div",{ref:l,className:S("variable-textarea-placeholder","courier-min-h-[44px] courier-w-full courier-rounded-md courier-border-none courier-bg-secondary courier-text-secondary-foreground courier-p-1.5 courier-text-base md:courier-text-sm",n&&"courier-cursor-not-allowed courier-opacity-50","[&_.ProseMirror]:courier-outline-none [&_.ProseMirror]:courier-min-h-[20px] [&_.ProseMirror]:courier-border-none [&_.ProseMirror]:courier-p-0","[&_.tiptap]:courier-outline-none [&_.tiptap]:courier-border-none",o),onClick:()=>d==null?void 0:d.commands.focus(),children:fp(Uh,{editor:d,className:"courier-w-full"})})});lr.displayName="VariableTextarea";import zh from"@tiptap/extension-placeholder";import{EditorContent as $h,useEditor as Zh}from"@tiptap/react";import*as wo from"react";import{useCallback as qh,useEffect as gp}from"react";import{jsx as hp}from"react/jsx-runtime";var Ci=wo.forwardRef(({value:e="",onChange:t,placeholder:r,className:o,disabled:n=!1,readOnly:i=!1,onFocus:a,onBlur:l},c)=>{let u=wo.useRef(!1),d=wo.useRef(e),m=Zh({extensions:[Qo,en.configure({HTMLAttributes:{class:"courier-m-0 courier-leading-normal"}}),Ra,Fa,xo,To,zh.configure({placeholder:r||"",emptyEditorClass:"is-editor-empty"})],content:tn(e),editable:!n&&!i,editorProps:{attributes:{class:"courier-outline-none"},handleKeyDown:(f,v)=>v.key==="Enter"?(v.preventDefault(),!0):!1},onUpdate:({editor:f})=>{if(u.current)return;let v=Va(f.getJSON());v!==d.current&&(d.current=v,t==null||t(v))},onFocus:()=>{a==null||a()},onBlur:()=>{l==null||l()}});gp(()=>{if(!m||e===d.current)return;u.current=!0,d.current=e;let f=setTimeout(()=>{let v=tn(e);m.commands.setContent(v),u.current=!1},0);return()=>clearTimeout(f)},[m,e]),gp(()=>{m&&m.setEditable(!n&&!i)},[m,n,i]);let p=qh(()=>{m==null||m.commands.focus()},[m]);return wo.useImperativeHandle(c,()=>{let f=m==null?void 0:m.view.dom.parentElement;return f&&(f.focus=p),f},[m,p]),hp("div",{ref:c,className:S("variable-input-placeholder","courier-flex courier-items-center courier-w-full courier-rounded-md courier-border-none courier-bg-transparent courier-text-foreground courier-py-1 courier-text-sm md:courier-text-md",(n||i)&&"courier-cursor-default",n&&"courier-opacity-50","[&_.ProseMirror]:courier-h-[25px] [&_.ProseMirror]:courier-outline-none [&_.ProseMirror]:courier-border-none [&_.ProseMirror]:courier-p-0 [&_.ProseMirror]:courier-flex-1","[&_.tiptap]:courier-outline-none [&_.tiptap]:courier-border-none",o),onClick:()=>!i&&!n&&(m==null?void 0:m.commands.focus()),children:hp($h,{editor:m,className:"courier-w-full courier-flex-1"})})});Ci.displayName="VariableInput";import{jsx as on,jsxs as ZA}from"react/jsx-runtime";var rn=30,Oa=s(({color:e="currentColor",width:t=rn,height:r=rn,...o})=>on(_,{...o,width:t,height:r,children:on("path",{d:"M6.375 23.9998C6.375 24.345 6.65482 24.6248 7 24.6248C7.34518 24.6248 7.625 24.345 7.625 23.9998H6.375ZM7.625 7.33317C7.625 6.98799 7.34518 6.70817 7 6.70817C6.65482 6.70817 6.375 6.98799 6.375 7.33317H7.625ZM7.625 23.9998V7.33317H6.375V23.9998H7.625ZM10.4583 16.4995V14.8328H9.20834V16.4995H10.4583ZM11.5 13.7912H21.5V12.5412H11.5V13.7912ZM22.5417 14.8328V16.4995H23.7917V14.8328H22.5417ZM21.5 17.5412H11.5V18.7912H21.5V17.5412ZM22.5417 16.4995C22.5417 16.91 22.5403 17.155 22.5167 17.3306C22.5059 17.4111 22.4932 17.4514 22.4857 17.4695C22.484 17.4737 22.4826 17.4765 22.4818 17.4781C22.481 17.4797 22.4805 17.4804 22.4805 17.4805C22.4804 17.4805 22.4805 17.4803 22.4808 17.4801C22.481 17.4798 22.481 17.4798 22.4807 17.4802L23.3645 18.364C23.6221 18.1065 23.7158 17.7934 23.7556 17.4972C23.793 17.2189 23.7917 16.8747 23.7917 16.4995H22.5417ZM21.5 18.7912C21.8752 18.7912 22.2194 18.7925 22.4977 18.7551C22.7939 18.7153 23.107 18.6216 23.3645 18.364L22.4807 17.4802C22.4803 17.4805 22.4803 17.4805 22.4806 17.4803C22.4808 17.48 22.481 17.4799 22.481 17.48C22.4809 17.48 22.4802 17.4805 22.4786 17.4813C22.477 17.4821 22.4742 17.4835 22.47 17.4852C22.4519 17.4927 22.4116 17.5054 22.3311 17.5162C22.1555 17.5398 21.9105 17.5412 21.5 17.5412V18.7912ZM21.5 13.7912C21.9105 13.7912 22.1555 13.7925 22.3311 13.8161C22.4116 13.8269 22.4519 13.8397 22.47 13.8471C22.4742 13.8489 22.477 13.8502 22.4786 13.8511C22.4802 13.8519 22.4809 13.8524 22.481 13.8524C22.481 13.8524 22.4808 13.8523 22.4806 13.8521C22.4803 13.8518 22.4803 13.8518 22.4807 13.8522L23.3645 12.9683C23.107 12.7108 22.7939 12.6171 22.4977 12.5773C22.2194 12.5398 21.8752 12.5412 21.5 12.5412V13.7912ZM23.7917 14.8328C23.7917 14.4577 23.793 14.1134 23.7556 13.8352C23.7158 13.5389 23.6221 13.2258 23.3645 12.9683L22.4807 13.8522C22.481 13.8526 22.481 13.8526 22.4808 13.8523C22.4805 13.852 22.4804 13.8518 22.4805 13.8519C22.4805 13.8519 22.481 13.8526 22.4818 13.8542C22.4826 13.8558 22.484 13.8586 22.4857 13.8628C22.4932 13.881 22.5059 13.9213 22.5167 14.0017C22.5403 14.1773 22.5417 14.4223 22.5417 14.8328H23.7917ZM10.4583 14.8328C10.4583 14.4223 10.4597 14.1773 10.4833 14.0017C10.4941 13.9213 10.5068 13.881 10.5143 13.8628C10.516 13.8586 10.5174 13.8558 10.5182 13.8542C10.5191 13.8526 10.5195 13.8519 10.5196 13.8519C10.5196 13.8518 10.5195 13.852 10.5192 13.8523C10.519 13.8526 10.519 13.8526 10.5194 13.8522L9.63548 12.9683C9.37796 13.2258 9.28425 13.5389 9.24443 13.8352C9.20702 14.1134 9.20834 14.4577 9.20834 14.8328H10.4583ZM11.5 12.5412C11.1248 12.5412 10.7806 12.5398 10.5023 12.5773C10.2061 12.6171 9.893 12.7108 9.63548 12.9683L10.5194 13.8522C10.5197 13.8518 10.5198 13.8518 10.5195 13.8521C10.5192 13.8523 10.519 13.8524 10.519 13.8524C10.5191 13.8524 10.5198 13.8519 10.5214 13.8511C10.523 13.8502 10.5258 13.8489 10.53 13.8471C10.5481 13.8397 10.5884 13.8269 10.6689 13.8161C10.8445 13.7925 11.0895 13.7912 11.5 13.7912V12.5412ZM9.20834 16.4995C9.20834 16.8747 9.20702 17.2189 9.24443 17.4972C9.28425 17.7934 9.37796 18.1065 9.63548 18.364L10.5194 17.4802C10.519 17.4798 10.519 17.4798 10.5192 17.4801C10.5195 17.4803 10.5196 17.4805 10.5196 17.4805C10.5195 17.4804 10.5191 17.4797 10.5182 17.4781C10.5174 17.4765 10.516 17.4737 10.5143 17.4695C10.5068 17.4514 10.4941 17.4111 10.4833 17.3306C10.4597 17.155 10.4583 16.91 10.4583 16.4995H9.20834ZM11.5 17.5412C11.0895 17.5412 10.8445 17.5398 10.6689 17.5162C10.5884 17.5054 10.5481 17.4927 10.53 17.4852C10.5258 17.4835 10.523 17.4821 10.5214 17.4813C10.5198 17.4805 10.5191 17.48 10.519 17.48C10.519 17.4799 10.5192 17.48 10.5195 17.4803C10.5198 17.4805 10.5197 17.4805 10.5194 17.4802L9.63548 18.364C9.893 18.6216 10.2061 18.7153 10.5023 18.7551C10.7806 18.7925 11.1248 18.7912 11.5 18.7912V17.5412Z",fill:e})}),"ButtonAlignLeftIcon"),Ua=s(({color:e="currentColor",width:t=rn,height:r=rn,...o})=>on(_,{...o,width:t,height:r,children:on("path",{d:"M14.9583 7C14.9583 6.65482 14.6785 6.375 14.3333 6.375C13.9881 6.375 13.7083 6.65482 13.7083 7L14.9583 7ZM13.7083 23.3333C13.7083 23.6785 13.9881 23.9583 14.3333 23.9583C14.6785 23.9583 14.9583 23.6785 14.9583 23.3333L13.7083 23.3333ZM13.7083 7L13.7083 12.6665L14.9583 12.6665L14.9583 7L13.7083 7ZM20.375 14.3332L20.375 15.9998L21.625 15.9998L21.625 14.3332L20.375 14.3332ZM19.3333 17.0415L9.33333 17.0415L9.33333 18.2915L19.3333 18.2915L19.3333 17.0415ZM8.29167 15.9998L8.29167 14.3332L7.04167 14.3332L7.04167 15.9998L8.29167 15.9998ZM9.33333 13.2915L19.3333 13.2915L19.3333 12.0415L9.33333 12.0415L9.33333 13.2915ZM8.29167 14.3332C8.29167 13.9227 8.29299 13.6777 8.3166 13.5021C8.32742 13.4216 8.34016 13.3813 8.34763 13.3631C8.34936 13.3589 8.35071 13.3562 8.35155 13.3546C8.35238 13.353 8.35284 13.3523 8.35289 13.3522C8.35292 13.3521 8.35279 13.3523 8.35256 13.3526C8.35232 13.3529 8.35231 13.3529 8.35269 13.3525L7.4688 12.4686C7.21128 12.7262 7.11758 13.0393 7.07775 13.3355C7.04034 13.6138 7.04167 13.958 7.04167 14.3332L8.29167 14.3332ZM9.33333 12.0415C8.95816 12.0415 8.61391 12.0402 8.33566 12.0776C8.03943 12.1174 7.72632 12.2111 7.4688 12.4686L8.35269 13.3525C8.35307 13.3521 8.35308 13.3522 8.35279 13.3524C8.3525 13.3526 8.3523 13.3528 8.35236 13.3527C8.35243 13.3527 8.35313 13.3522 8.35472 13.3514C8.35634 13.3505 8.3591 13.3492 8.3633 13.3475C8.38145 13.34 8.42175 13.3273 8.50222 13.3164C8.67782 13.2928 8.92283 13.2915 9.33333 13.2915L9.33333 12.0415ZM9.33333 17.0415C8.92283 17.0415 8.67782 17.0402 8.50222 17.0166C8.42175 17.0057 8.38145 16.993 8.3633 16.9855C8.3591 16.9838 8.35634 16.9825 8.35472 16.9816C8.35313 16.9808 8.35243 16.9803 8.35236 16.9803C8.3523 16.9802 8.3525 16.9804 8.35279 16.9806C8.35308 16.9808 8.35307 16.9809 8.35269 16.9805L7.4688 17.8644C7.72632 18.1219 8.03943 18.2156 8.33566 18.2554C8.61391 18.2928 8.95816 18.2915 9.33333 18.2915L9.33333 17.0415ZM7.04167 15.9998C7.04167 16.375 7.04034 16.7193 7.07775 16.9975C7.11758 17.2937 7.21128 17.6068 7.4688 17.8644L8.35269 16.9805C8.3523 16.9801 8.35232 16.9801 8.35256 16.9804C8.35279 16.9807 8.35292 16.9809 8.35289 16.9808C8.35284 16.9807 8.35238 16.98 8.35155 16.9784C8.35071 16.9768 8.34936 16.9741 8.34763 16.9699C8.34016 16.9517 8.32742 16.9114 8.3166 16.8309C8.29299 16.6553 8.29167 16.4103 8.29167 15.9998L7.04167 15.9998ZM20.375 15.9998C20.375 16.4103 20.3737 16.6553 20.3501 16.8309C20.3392 16.9114 20.3265 16.9517 20.319 16.9699C20.3173 16.9741 20.316 16.9768 20.3151 16.9784C20.3143 16.98 20.3138 16.9807 20.3138 16.9808C20.3137 16.9809 20.3139 16.9807 20.3141 16.9804C20.3143 16.9801 20.3144 16.9801 20.314 16.9805L21.1979 17.8644C21.4554 17.6068 21.5491 17.2937 21.5889 16.9975C21.6263 16.7193 21.625 16.375 21.625 15.9998L20.375 15.9998ZM19.3333 18.2915C19.7085 18.2915 20.0528 18.2928 20.331 18.2554C20.6272 18.2156 20.9403 18.1219 21.1979 17.8644L20.314 16.9805C20.3136 16.9809 20.3136 16.9808 20.3139 16.9806C20.3142 16.9804 20.3144 16.9802 20.3143 16.9803C20.3142 16.9803 20.3135 16.9808 20.3119 16.9816C20.3103 16.9825 20.3076 16.9838 20.3034 16.9855C20.2852 16.993 20.2449 17.0057 20.1644 17.0166C19.9888 17.0402 19.7438 17.0415 19.3333 17.0415L19.3333 18.2915ZM21.625 14.3332C21.625 13.958 21.6263 13.6138 21.5889 13.3355C21.5491 13.0393 21.4554 12.7262 21.1979 12.4686L20.314 13.3525C20.3144 13.3529 20.3143 13.3529 20.3141 13.3526C20.3139 13.3523 20.3137 13.3521 20.3138 13.3522C20.3138 13.3523 20.3143 13.353 20.3151 13.3546C20.316 13.3562 20.3173 13.3589 20.319 13.3631C20.3265 13.3813 20.3392 13.4216 20.3501 13.5021C20.3737 13.6777 20.375 13.9227 20.375 14.3332L21.625 14.3332ZM19.3333 13.2915C19.7438 13.2915 19.9888 13.2928 20.1644 13.3164C20.2449 13.3273 20.2852 13.34 20.3034 13.3475C20.3076 13.3492 20.3103 13.3505 20.3119 13.3514C20.3135 13.3522 20.3142 13.3527 20.3143 13.3527C20.3144 13.3528 20.3142 13.3526 20.3139 13.3524C20.3136 13.3522 20.3136 13.3521 20.314 13.3525L21.1979 12.4686C20.9403 12.2111 20.6272 12.1174 20.331 12.0776C20.0528 12.0402 19.7085 12.0415 19.3333 12.0415L19.3333 13.2915ZM13.7083 17.6665L13.7083 23.3333L14.9583 23.3333L14.9583 17.6665L13.7083 17.6665Z",fill:e})}),"ButtonAlignCenterIcon"),Wa=s(({color:e="currentColor",width:t=rn,height:r=rn,...o})=>on(_,{...o,width:t,height:r,children:on("path",{d:"M23.625 23.9998C23.625 24.345 23.3452 24.6248 23 24.6248C22.6548 24.6248 22.375 24.345 22.375 23.9998H23.625ZM22.375 7.33317C22.375 6.98799 22.6548 6.70817 23 6.70817C23.3452 6.70817 23.625 6.98799 23.625 7.33317H22.375ZM22.375 23.9998V7.33317H23.625V23.9998H22.375ZM19.5417 16.4995V14.8328H20.7917V16.4995H19.5417ZM18.5 13.7912H8.49999V12.5412H18.5V13.7912ZM7.45832 14.8328V16.4995H6.20832V14.8328H7.45832ZM8.49999 17.5412H18.5V18.7912H8.49999V17.5412ZM7.45832 16.4995C7.45832 16.91 7.45965 17.155 7.48326 17.3306C7.49408 17.4111 7.50682 17.4514 7.51429 17.4695C7.51602 17.4737 7.51737 17.4765 7.51821 17.4781C7.51904 17.4797 7.5195 17.4804 7.51955 17.4805C7.51958 17.4805 7.51945 17.4803 7.51922 17.4801C7.51898 17.4798 7.51896 17.4798 7.51934 17.4802L6.63546 18.364C6.37794 18.1065 6.28424 17.7934 6.24441 17.4972C6.207 17.2189 6.20832 16.8747 6.20832 16.4995H7.45832ZM8.49999 18.7912C8.12482 18.7912 7.78057 18.7925 7.50232 18.7551C7.20608 18.7153 6.89298 18.6216 6.63546 18.364L7.51934 17.4802C7.51972 17.4805 7.51974 17.4805 7.51945 17.4803C7.51916 17.48 7.51896 17.4799 7.51902 17.48C7.51909 17.48 7.51979 17.4805 7.52138 17.4813C7.52299 17.4821 7.52576 17.4835 7.52996 17.4852C7.54811 17.4927 7.58841 17.5054 7.66888 17.5162C7.84448 17.5398 8.08948 17.5412 8.49999 17.5412V18.7912ZM8.49999 13.7912C8.08948 13.7912 7.84448 13.7925 7.66888 13.8161C7.58841 13.8269 7.54811 13.8397 7.52996 13.8471C7.52576 13.8489 7.52299 13.8502 7.52138 13.8511C7.51979 13.8519 7.51909 13.8524 7.51902 13.8524C7.51896 13.8524 7.51916 13.8523 7.51945 13.8521C7.51974 13.8518 7.51972 13.8518 7.51934 13.8522L6.63546 12.9683C6.89298 12.7108 7.20608 12.6171 7.50232 12.5773C7.78057 12.5398 8.12482 12.5412 8.49999 12.5412V13.7912ZM6.20832 14.8328C6.20832 14.4577 6.207 14.1134 6.24441 13.8352C6.28424 13.5389 6.37794 13.2258 6.63546 12.9683L7.51934 13.8522C7.51896 13.8526 7.51898 13.8526 7.51922 13.8523C7.51945 13.852 7.51958 13.8518 7.51955 13.8519C7.5195 13.8519 7.51904 13.8526 7.51821 13.8542C7.51737 13.8558 7.51602 13.8586 7.51429 13.8628C7.50682 13.881 7.49408 13.9213 7.48326 14.0017C7.45965 14.1773 7.45832 14.4223 7.45832 14.8328H6.20832ZM19.5417 14.8328C19.5417 14.4223 19.5403 14.1773 19.5167 14.0017C19.5059 13.9213 19.4932 13.881 19.4857 13.8628C19.484 13.8586 19.4826 13.8558 19.4818 13.8542C19.4809 13.8526 19.4805 13.8519 19.4804 13.8519C19.4804 13.8518 19.4805 13.852 19.4808 13.8523C19.481 13.8526 19.481 13.8526 19.4806 13.8522L20.3645 12.9683C20.622 13.2258 20.7157 13.5389 20.7556 13.8352C20.793 14.1134 20.7917 14.4577 20.7917 14.8328H19.5417ZM18.5 12.5412C18.8752 12.5412 19.2194 12.5398 19.4977 12.5773C19.7939 12.6171 20.107 12.7108 20.3645 12.9683L19.4806 13.8522C19.4803 13.8518 19.4802 13.8518 19.4805 13.8521C19.4808 13.8523 19.481 13.8524 19.481 13.8524C19.4809 13.8524 19.4802 13.8519 19.4786 13.8511C19.477 13.8502 19.4742 13.8489 19.47 13.8471C19.4519 13.8397 19.4116 13.8269 19.3311 13.8161C19.1555 13.7925 18.9105 13.7912 18.5 13.7912V12.5412ZM20.7917 16.4995C20.7917 16.8747 20.793 17.2189 20.7556 17.4972C20.7157 17.7934 20.622 18.1065 20.3645 18.364L19.4806 17.4802C19.481 17.4798 19.481 17.4798 19.4808 17.4801C19.4805 17.4803 19.4804 17.4805 19.4804 17.4805C19.4805 17.4804 19.4809 17.4797 19.4818 17.4781C19.4826 17.4765 19.484 17.4737 19.4857 17.4695C19.4932 17.4514 19.5059 17.4111 19.5167 17.3306C19.5403 17.155 19.5417 16.91 19.5417 16.4995H20.7917ZM18.5 17.5412C18.9105 17.5412 19.1555 17.5398 19.3311 17.5162C19.4116 17.5054 19.4519 17.4927 19.47 17.4852C19.4742 17.4835 19.477 17.4821 19.4786 17.4813C19.4802 17.4805 19.4809 17.48 19.481 17.48C19.481 17.4799 19.4808 17.48 19.4805 17.4803C19.4802 17.4805 19.4803 17.4805 19.4806 17.4802L20.3645 18.364C20.107 18.6216 19.7939 18.7153 19.4977 18.7551C19.2194 18.7925 18.8752 18.7912 18.5 18.7912V17.5412Z",fill:e})}),"ButtonAlignRightIcon");import{jsx as fe,jsxs as qr}from"react/jsx-runtime";var bp=s(({element:e,editor:t})=>{let r=jh({resolver:Jh(La),defaultValues:{...Ie,...e==null?void 0:e.attrs}}),{updateNodeAttributes:o}=Xe({editor:t,element:e,form:r,nodeType:"button"});return e?qr(Ne,{...r,children:[fe(Qe,{type:"button"}),qr("form",{onChange:()=>{o(r.getValues())},children:[fe("h4",{className:"courier-text-sm courier-font-medium courier-mb-3",children:"Link"}),fe(J,{control:r.control,name:"link",render:({field:n})=>qr(Z,{children:[fe(q,{children:fe(lr,{value:n.value,onChange:i=>{n.onChange(i),o({...r.getValues(),link:i})}})}),fe(j,{})]})}),fe(le,{className:"courier-mt-6 courier-mb-4"}),fe("h4",{className:"courier-text-sm courier-font-medium courier-mb-3",children:"Background"}),fe(J,{control:r.control,name:"backgroundColor",render:({field:n})=>qr(Z,{className:"courier-mb-4",children:[fe(q,{children:fe(Ze,{...n,defaultValue:Ie.backgroundColor,onChange:i=>{n.onChange(i),o({...r.getValues(),[n.name]:i})}})}),fe(j,{})]})}),fe(le,{className:"courier-mt-6 courier-mb-4"}),fe("h4",{className:"courier-text-sm courier-font-medium courier-mb-3",children:"Frame"}),fe(J,{control:r.control,name:"padding",render:({field:n})=>qr(Z,{className:"courier-mb-2",children:[fe(q,{children:fe(pe,{type:"number",min:0,...n})}),fe(j,{})]})}),fe(J,{control:r.control,name:"alignment",render:({field:n})=>qr(Z,{children:[fe(q,{children:qr(qt,{type:"single",value:n.value,onValueChange:i=>{n.onChange(i),o({...r.getValues(),alignment:i})},className:"courier-w-full courier-border courier-rounded-md courier-border-border courier-p-0.5",children:[fe(lt,{size:"sm",value:"left",className:"courier-w-full",children:fe(Oa,{className:"courier-h-4 courier-w-4"})}),fe(lt,{size:"sm",value:"center",className:"courier-w-full",children:fe(Ua,{className:"courier-h-4 courier-w-4"})}),fe(lt,{size:"sm",value:"right",className:"courier-w-full",children:fe(Wa,{className:"courier-h-4 courier-w-4"})})]})}),fe(j,{})]})}),fe(le,{className:"courier-mt-6 courier-mb-4"}),fe("h4",{className:"courier-text-sm courier-font-medium courier-mb-3",children:"Border"}),fe(J,{control:r.control,name:"borderRadius",render:({field:n})=>qr(Z,{children:[fe(q,{children:fe(pe,{startAdornment:fe(jn,{}),type:"number",min:0,...n})}),fe(j,{})]})})]})]}):null},"ButtonForm");import{mergeAttributes as ob,Node as nb}from"@tiptap/core";import{ReactNodeViewRenderer as ib}from"@tiptap/react";import{v4 as ab}from"uuid";import{useAtomValue as Gh,useSetAtom as Kh}from"jotai";import{useCallback as kr,useRef as ko,useEffect as Cp,useLayoutEffect as Yh,useState as Xh}from"react";import{Fragment as rb,jsx as cr,jsxs as uc}from"react/jsx-runtime";var Qh=s(e=>{if(!e)return[];let t=[],r=/\{\{([^}]+)\}\}/g,o=0,n;for(r.lastIndex=0;(n=r.exec(e))!==null;){if(!n[0].startsWith("{{")||!n[0].endsWith("}}"))continue;n.index>o&&t.push({type:"text",content:e.substring(o,n.index)});let i=n[1].trim();$e(i)?t.push({type:"variable",name:i}):t.push({type:"text",content:n[0]}),o=n.index+n[0].length}return o<e.length&&t.push({type:"text",content:e.substring(o)}),t},"parseLabel"),eb=s(({parts:e})=>{let t=Gh(so);return cr(rb,{children:e.map((r,o)=>{if(r.type==="text")return cr("span",{children:r.content},o);let n=t[r.name];return uc("span",{className:"courier-inline-flex courier-items-center courier-gap-0.5 courier-rounded courier-border courier-px-1.5 courier-pl-1 courier-py-[1px] courier-text-sm courier-variable-node courier-font-mono courier-max-w-full courier-tracking-[0.64px] courier-variable-in-button",style:{backgroundColor:n?"#EFF6FF":"#FFFBEB",borderColor:n?"#BFDBFE":"#FDE68A",color:"#000000"},children:[cr(Ba,{color:n?void 0:"#B45309"}),uc("span",{className:"courier-truncate courier-min-w-0",style:{color:"#000000"},children:[r.name,n?`="${n}"`:""]})]},o)})})},"ButtonLabelDisplay"),yp=s(({label:e,backgroundColor:t,textColor:r,onLabelChange:o,editable:n})=>{let i=ko(null),a=ko(e),l=ko(!1),[c,u]=Xh(!1),d=Qh(e),p=d.some(E=>E.type==="variable")&&!c;Yh(()=>{if(!i.current||!p)return;Array.from(i.current.childNodes).filter(L=>L.nodeType===Node.TEXT_NODE).forEach(L=>L.remove())},[p,e]);let f=ko(p),v=ko(!0);Cp(()=>{if(!i.current||p){f.current=p;return}let E=f.current&&!p;f.current=p,(v.current||E||!l.current&&e!==a.current)&&(i.current.textContent=e),v.current=!1,a.current=e},[e,p]);let h=kr(()=>{if(i.current&&!p){l.current=!0;let E=i.current.textContent||"";a.current=E,o(E),requestAnimationFrame(()=>{l.current=!1})}},[o,p]),b=kr(E=>{var L;if(p){E.preventDefault(),E.stopPropagation();return}if(E.key==="Enter"&&(E.preventDefault(),(L=i.current)==null||L.blur()),(E.metaKey||E.ctrlKey)&&E.key==="a"&&(E.preventDefault(),E.stopPropagation(),i.current)){let w=document.createRange();w.selectNodeContents(i.current);let C=window.getSelection();C==null||C.removeAllRanges(),C==null||C.addRange(w)}},[p]),y=kr(()=>{u(!0)},[]),N=kr(()=>{u(!1)},[]),g=kr(E=>{let L=i.current;if(!L)return;if(p&&n){E.stopPropagation(),setTimeout(()=>{L.focus();let T=document.createRange();T.selectNodeContents(L),T.collapse(!1);let x=window.getSelection();x==null||x.removeAllRanges(),x==null||x.addRange(T)},0);return}if(!n)return;let w=s(()=>{let T=window.getSelection();if(!T||T.rangeCount===0)return;let x=T.getRangeAt(0),P=L.contains(x.startContainer),M=L.contains(x.endContainer);if(P&&!M){let R=document.createRange();R.selectNodeContents(L),T.removeAllRanges(),T.addRange(R)}},"checkAndConstrainSelection"),C=s(T=>{let x=L.getBoundingClientRect();(T.clientX<x.left||T.clientX>x.right||T.clientY<x.top||T.clientY>x.bottom)&&w(),document.removeEventListener("mouseup",C)},"handleMouseUp");document.addEventListener("mouseup",C)},[n,p]),k=p?cr(eb,{parts:d}):n?null:e,A=kr(E=>{p&&n&&E.stopPropagation()},[p,n]);return cr("div",{ref:i,contentEditable:n&&!p,suppressContentEditableWarning:!0,tabIndex:n&&p?0:void 0,onInput:h,onKeyDown:b,onPointerDown:g,onClick:A,onFocus:y,onBlur:N,className:S("courier-inline-flex courier-justify-start courier-px-2 courier-py-1 courier-text-sm courier-rounded-sm courier-border courier-border-border courier-outline-none",n&&!p&&"courier-cursor-text"),style:{backgroundColor:t,color:r,borderColor:"transparent",borderRadius:"4px",caretColor:r,WebkitUserSelect:"text",userSelect:"text"},children:k})},"EditableButton"),tb=s(({button1Label:e,button1Link:t,button1BackgroundColor:r,button1TextColor:o,button2Label:n,button2Link:i,button2BackgroundColor:a,button2TextColor:l,padding:c=6,onButton1LabelChange:u,onButton2LabelChange:d,editable:m=!1})=>cr("div",{className:"node-element",children:uc("div",{className:"courier-flex courier-gap-1 courier-justify-start",style:{marginTop:`${c}px`,marginBottom:`${c}px`},children:[cr(yp,{label:e,backgroundColor:r,textColor:o,onLabelChange:u||(()=>{}),editable:m},"button1"),cr(yp,{label:n,backgroundColor:a,textColor:l,onLabelChange:d||(()=>{}),editable:m},"button2")]})}),"ButtonRowComponent"),vp=s(e=>{let t=Kh(Re),r=ko({}),o=ko({}),n=kr(()=>{if(!e.editor.isEditable)return;let l=We(e);l&&t(l)},[e,t]),i=kr(l=>{o.current.button1=l,r.current.button1&&clearTimeout(r.current.button1),r.current.button1=setTimeout(()=>{o.current.button1!==void 0&&e.updateAttributes({button1Label:o.current.button1})},300)},[e]),a=kr(l=>{o.current.button2=l,r.current.button2&&clearTimeout(r.current.button2),r.current.button2=setTimeout(()=>{o.current.button2!==void 0&&e.updateAttributes({button2Label:o.current.button2})},300)},[e]);return Cp(()=>{let l=r.current;return()=>{l.button1&&clearTimeout(l.button1),l.button2&&clearTimeout(l.button2)}},[]),cr(Ye,{id:e.node.attrs.id,className:S(e.node.attrs.isSelected&&"selected-element"),onClick:n,editor:e.editor,"data-node-type":"buttonRow",children:cr(tb,{...e.node.attrs,onButton1LabelChange:i,onButton2LabelChange:a,editable:e.editor.isEditable})})},"ButtonRowComponentNode");var Gt={button1Label:"Register",button1Link:"",button1BackgroundColor:"#000000",button1TextColor:"#ffffff",button2Label:"Learn more",button2Link:"",button2BackgroundColor:"#ffffff",button2TextColor:"#000000",padding:6},za=nb.create({name:"buttonRow",group:"block",atom:!0,selectable:!1,onCreate(){Oe(this.editor,this.name)},addAttributes(){return{id:{default:()=>`node-${ab()}`,parseHTML:e=>e.getAttribute("id"),renderHTML:e=>({id:e.id})},button1Label:{default:Gt.button1Label,parseHTML:e=>e.getAttribute("data-button1-label"),renderHTML:e=>({"data-button1-label":e.button1Label})},button1Link:{default:Gt.button1Link,parseHTML:e=>e.getAttribute("data-button1-link"),renderHTML:e=>({"data-button1-link":e.button1Link})},button1BackgroundColor:{default:Gt.button1BackgroundColor,parseHTML:e=>e.getAttribute("data-button1-bg"),renderHTML:e=>({"data-button1-bg":e.button1BackgroundColor})},button1TextColor:{default:Gt.button1TextColor,parseHTML:e=>e.getAttribute("data-button1-color"),renderHTML:e=>({"data-button1-color":e.button1TextColor})},button2Label:{default:Gt.button2Label,parseHTML:e=>e.getAttribute("data-button2-label"),renderHTML:e=>({"data-button2-label":e.button2Label})},button2Link:{default:Gt.button2Link,parseHTML:e=>e.getAttribute("data-button2-link"),renderHTML:e=>({"data-button2-link":e.button2Link})},button2BackgroundColor:{default:Gt.button2BackgroundColor,parseHTML:e=>e.getAttribute("data-button2-bg"),renderHTML:e=>({"data-button2-bg":e.button2BackgroundColor})},button2TextColor:{default:Gt.button2TextColor,parseHTML:e=>e.getAttribute("data-button2-color"),renderHTML:e=>({"data-button2-color":e.button2TextColor})},padding:{default:Gt.padding,parseHTML:e=>parseInt(e.getAttribute("data-padding")||"6"),renderHTML:e=>({"data-padding":e.padding})}}},parseHTML(){return[{tag:'div[data-type="buttonRow"]'}]},renderHTML({HTMLAttributes:e}){return["div",ob(e,{"data-type":"buttonRow"})]},addNodeView(){return ib(vp,{stopEvent:({event:e})=>!(e.type==="dragstart"||e.type==="drop")})},addCommands(){return{setButtonRow:e=>({chain:t})=>t().insertContent({type:this.name,attrs:{...Gt,...e}}).run()}}});import{mergeAttributes as pb,Node as fb}from"@tiptap/core";import{ReactNodeViewRenderer as gb}from"@tiptap/react";import{v4 as hb}from"uuid";import{NodeViewContent as sb}from"@tiptap/react";import{useSetAtom as lb,useAtomValue as cb}from"jotai";import{useCallback as dc,useEffect as xp,useState as mc,useRef as ub}from"react";import{jsx as ur}from"react/jsx-runtime";var db=s(({columnId:e,index:t,isPreviewMode:r})=>{let o=ub(null),[n,i]=mc(!1);return xp(()=>{let a=o.current;if(a)return Pt({element:a,getData:()=>({type:"column-cell",columnId:e,index:t,isEmpty:!0}),onDragEnter:()=>i(!0),onDragLeave:()=>i(!1),onDrop:()=>i(!1)})},[e,t]),ur("div",{ref:o,"data-placeholder-cell":"true","data-column-cell":"true","data-column-id":e,"data-cell-index":t,onClick:a=>{a.stopPropagation()},className:S("courier-flex-1 courier-min-h-[120px] courier-flex courier-flex-col courier-p-4",!r&&"courier-border",!r&&(n?"courier-border-solid courier-border-t-2 courier-border-t-blue-500 courier-border-r-transparent courier-border-b-transparent courier-border-l-transparent courier-rounded-none":"courier-border-dashed courier-border-gray-300 courier-rounded"),!r&&"courier-items-center courier-justify-center courier-text-center courier-text-sm courier-text-gray-400"),children:!r&&ur("span",{className:"courier-pointer-events-none",children:"Drag and drop content blocks"})})},"PlaceholderCell"),mb=s(({paddingHorizontal:e,paddingVertical:t,backgroundColor:r,borderWidth:o,borderRadius:n,borderColor:i,node:a,columnsCount:l,isPreviewMode:c=!1})=>{var p;let u=!a.content||a.content.size===0,d={borderWidth:`${o}px`,borderStyle:o>0?"solid":"none",borderColor:i,borderRadius:`${n}px`},m={padding:`${t}px ${e}px`,backgroundColor:r};if(u){let f=((p=a.attrs)==null?void 0:p.id)||"";return ur("div",{className:"courier-w-full node-element",style:m,children:ur("div",{className:"courier-w-full courier-flex courier-gap-2 courier-p-2",style:d,children:Array.from({length:l}).map((v,h)=>ur(db,{columnId:f,index:h,isPreviewMode:c},h))})})}return ur("div",{className:"courier-w-full node-element",style:m,children:ur("div",{className:"courier-w-full courier-p-2",style:d,children:ur(sb,{})})})},"ColumnComponent"),Tp=s(e=>{let t=lb(Re),r=cb(pt),[o,n]=mc(!1),[i,a]=mc(e.editor.isEditable);xp(()=>{let m=s(()=>{a(e.editor.isEditable)},"handleUpdate");return e.editor.on("update",m),e.editor.on("transaction",m),e.editor.on("selectionUpdate",m),()=>{e.editor.off("update",m),e.editor.off("transaction",m),e.editor.off("selectionUpdate",m)}},[e.editor]);let l=!i&&!r,c=dc(m=>{var A,E;if(!e.editor.isEditable)return;let p=m.target,f=m.currentTarget,v=p===f,h=p.classList.contains("node-element"),b=p.classList.contains("courier-p-2"),y=p.classList.contains("courier-gap-2"),N=p.classList.contains("draggable-item"),g=p.hasAttribute("data-drag-handle")||p.closest("[data-drag-handle]")!==null;if(v||h||b||y||N||g||((E=(A=p.closest("[data-node-view-content]"))==null?void 0:A.parentElement)==null?void 0:E.classList.contains("node-element"))){m.stopPropagation(),g||m.preventDefault();let L=We(e);if(L){e.editor.commands.blur();let w=L.attrs.id;e.editor.state.doc.descendants(C=>C.type.name==="column"&&C.attrs.id===w?(t(C),!1):!0)}}},[e,t]),u=dc(m=>{let p=m.target,f=m.currentTarget;if(!(p.closest("[data-column-cell]")!==null)){n(!0);return}let h=f.getBoundingClientRect(),b=m.clientY,y=30,N=b<=h.top+y||b>=h.bottom-y;n(N)},[]),d=dc(()=>{n(!1)},[]);return ur(Ye,{id:e.node.attrs.id,className:S(e.node.attrs.isSelected&&"selected-element",o&&"hover-edge-zone"),onMouseDown:c,onMouseMove:u,onMouseLeave:d,editor:e.editor,getPos:e.getPos,"data-node-type":"column",children:ur(mb,{...e.node.attrs,node:e.node,columnsCount:e.node.attrs.columnsCount||2,isPreviewMode:l})})},"ColumnComponentNode");var qe={columnsCount:2,paddingHorizontal:0,paddingVertical:0,backgroundColor:"transparent",borderWidth:0,borderRadius:0,borderColor:"transparent",cells:[]},$a=fb.create({name:"column",group:"block",content:"columnRow?",isolating:!0,selectable:!1,onCreate(){Oe(this.editor,this.name)},addAttributes(){return{columnsCount:{default:qe.columnsCount,parseHTML:e=>e.getAttribute("data-columns-count"),renderHTML:e=>({"data-columns-count":e.columnsCount})},paddingHorizontal:{default:qe.paddingHorizontal,parseHTML:e=>e.getAttribute("data-padding-horizontal"),renderHTML:e=>({"data-padding-horizontal":e.paddingHorizontal})},paddingVertical:{default:qe.paddingVertical,parseHTML:e=>e.getAttribute("data-padding-vertical"),renderHTML:e=>({"data-padding-vertical":e.paddingVertical})},backgroundColor:{default:qe.backgroundColor,parseHTML:e=>e.getAttribute("data-background-color"),renderHTML:e=>({"data-background-color":e.backgroundColor})},borderWidth:{default:qe.borderWidth,parseHTML:e=>e.getAttribute("data-border-width"),renderHTML:e=>({"data-border-width":e.borderWidth})},borderRadius:{default:qe.borderRadius,parseHTML:e=>e.getAttribute("data-border-radius"),renderHTML:e=>({"data-border-radius":e.borderRadius})},borderColor:{default:qe.borderColor,parseHTML:e=>e.getAttribute("data-border-color"),renderHTML:e=>({"data-border-color":e.borderColor})},id:{default:()=>`node-${hb()}`,parseHTML:e=>e.getAttribute("data-id"),renderHTML:e=>({"data-id":e.id,"data-node-id":e.id})},locales:{default:void 0,parseHTML:()=>{},renderHTML:()=>({})},cells:{default:[],parseHTML:e=>{let t=e.getAttribute("data-cells");return t?JSON.parse(t):[]},renderHTML:e=>({"data-cells":JSON.stringify(e.cells||[])})}}},parseHTML(){return[{tag:'div[data-type="column"]'}]},renderHTML({HTMLAttributes:e}){return["div",pb(this.options.HTMLAttributes,e,{"data-type":"column"}),0]},addNodeView(){return gb(Tp)},addCommands(){return{setColumn:e=>({chain:t})=>{let r=e.columnsCount||qe.columnsCount,o=`node-${Date.now()}`,n=Array.from({length:r},(i,a)=>({type:"columnCell",attrs:{index:a,columnId:o},content:[{type:"paragraph"}]}));return t().insertContent({type:this.name,attrs:{...e,id:o},content:[{type:"columnRow",content:n}]}).run()}}},addKeyboardShortcuts(){return{Backspace:({editor:e})=>{let{selection:t}=e.state,r=e.state.doc.nodeAt(t.$anchor.pos);return(r==null?void 0:r.type.name)==="column"},Delete:({editor:e})=>{let{selection:t}=e.state,r=e.state.doc.nodeAt(t.$anchor.pos);return(r==null?void 0:r.type.name)==="column"}}}});import{zodResolver as bb}from"@hookform/resolvers/zod";import{useForm as yb}from"react-hook-form";import{z as Bt}from"zod";var Ep=Bt.object({columnsCount:Bt.number().min(1).max(4).default(2),paddingHorizontal:Bt.number().default(0),paddingVertical:Bt.number().default(0),backgroundColor:Bt.string().default("transparent"),borderWidth:Bt.number().default(0),borderRadius:Bt.number().default(0),borderColor:Bt.string().default("transparent"),cells:Bt.array(Bt.object({elements:Bt.array(Bt.any())})).optional()});import{jsx as ne,jsxs as Kt}from"react/jsx-runtime";var pc=s(({element:e,editor:t})=>{let r=yb({resolver:bb(Ep),defaultValues:{...qe,...e==null?void 0:e.attrs}}),{updateNodeAttributes:o}=Xe({editor:t,element:e,form:r,nodeType:"column"}),n=s(i=>{if(!t||!e)return;let a=null;if(t.state.doc.descendants((f,v)=>f.attrs.id===e.attrs.id&&f.type.name==="column"?(a=v,!1):!0),a===null)return;let l=t.state.doc.nodeAt(a);if(!l)return;let c=e.attrs.id,u=t.schema,d=t.state.tr,m=l.firstChild;if(!m||m.type.name!=="columnRow"){let f=Array.from({length:i},(h,b)=>u.nodes.columnCell.create({index:b,columnId:c,isEditorMode:!1})),v=u.nodes.columnRow.create({},f);d.replaceWith(a+1,a+l.nodeSize-1,v),d.setNodeMarkup(a,void 0,{...l.attrs,columnsCount:i}),d.setMeta("addToHistory",!0),t.view.dispatch(d);return}let p=m.childCount;if(i!==p){if(i>p){let f=i-p,h=a+1+m.nodeSize-1;for(let b=0;b<f;b++){let y=u.nodes.columnCell.create({index:p+b,columnId:c});d.insert(h+b*y.nodeSize,y)}}else{let f=p-i,h=a+1;for(let y=0;y<p-f;y++){let N=m.child(y);h+=N.nodeSize}let b=0;for(let y=p-f;y<p;y++){let N=m.child(y);b+=N.nodeSize}d.delete(h,h+b)}d.setNodeMarkup(a,void 0,{...l.attrs,columnsCount:i}),d.setMeta("addToHistory",!0),t.view.dispatch(d)}},"updateColumnCount");return e?Kt(Ne,{...r,children:[ne(Qe,{type:"column",label:"Column layout"}),Kt("form",{onChange:()=>{o(r.getValues())},children:[ne("h4",{className:"courier-text-sm courier-font-medium courier-text-foreground courier-mb-3",children:"Columns count"}),ne(J,{control:r.control,name:"columnsCount",render:({field:i})=>Kt(Z,{className:"courier-mb-4",children:[ne(q,{children:ne(qt,{type:"single",className:"courier-w-full courier-border courier-rounded-md courier-border-border courier-bg-secondary courier-p-0.5 courier-mb-3 courier-shadow-sm",value:i.value.toString(),onValueChange:a=>{if(a){let l=Number(a);i.onChange(l),n(l)}},children:[1,2,3,4].map(a=>ne(lt,{value:a.toString(),className:"courier-w-12 courier-h-7",children:ne("span",{className:"courier-text-sm courier-font-medium",children:a})},a))})}),ne(j,{})]})}),ne(le,{className:"courier-mt-6 courier-mb-4"}),ne("h4",{className:"courier-text-sm courier-font-medium courier-text-foreground courier-mb-3",children:"Frame"}),Kt("div",{className:"courier-flex courier-flex-row courier-gap-3 courier-mb-3",children:[ne(J,{control:r.control,name:"paddingHorizontal",render:({field:i})=>Kt(Z,{children:[ne(q,{children:ne(pe,{startAdornment:ne(ti,{}),type:"number",min:0,...i})}),ne(j,{})]})}),ne(J,{control:r.control,name:"paddingVertical",render:({field:i})=>Kt(Z,{children:[ne(q,{children:ne(pe,{startAdornment:ne(po,{}),type:"number",min:0,...i})}),ne(j,{})]})})]}),ne(J,{control:r.control,name:"backgroundColor",render:({field:i})=>Kt(Z,{className:"courier-mb-4",children:[ne(q,{children:ne(Ze,{...i,defaultValue:qe.backgroundColor,onChange:a=>{i.onChange(a),o({...r.getValues(),[i.name]:a})}})}),ne(j,{})]})}),ne(le,{className:"courier-mt-6 courier-mb-4"}),ne("h4",{className:"courier-text-sm courier-font-medium courier-text-foreground courier-mb-3",children:"Border"}),Kt("div",{className:"courier-flex courier-flex-row courier-gap-3 courier-mb-3",children:[ne(J,{control:r.control,name:"borderWidth",render:({field:i})=>Kt(Z,{children:[ne(q,{children:ne(pe,{startAdornment:ne(Er,{}),type:"number",min:0,...i})}),ne(j,{})]})}),ne(J,{control:r.control,name:"borderRadius",render:({field:i})=>Kt(Z,{children:[ne(q,{children:ne(pe,{startAdornment:ne(jn,{}),type:"number",min:0,...i})}),ne(j,{})]})})]}),ne(J,{control:r.control,name:"borderColor",render:({field:i})=>Kt(Z,{className:"courier-mb-4",children:[ne(q,{children:ne(Ze,{...i,defaultValue:qe.borderColor,onChange:a=>{i.onChange(a),o({...r.getValues(),[i.name]:a})}})}),ne(j,{})]})})]})]}):null},"ColumnForm");import{mergeAttributes as Cb,Node as vb}from"@tiptap/core";var Za=vb.create({name:"columnRow",group:"columnContent",content:"columnCell+",isolating:!0,parseHTML(){return[{tag:'div[data-type="column-row"]'}]},renderHTML({HTMLAttributes:e}){return["div",Cb(e,{"data-type":"column-row",class:"courier-flex courier-flex-row courier-gap-2 courier-w-full",style:"display: flex; flex-direction: row; gap: 0.5rem; width: 100%;"}),0]},addCommands(){return{insertColumnRow:()=>({chain:e})=>e().insertContent({type:this.name}).run()}}});import{mergeAttributes as Pb,Node as Nb}from"@tiptap/core";import{ReactNodeViewRenderer as Mb}from"@tiptap/react";import{Plugin as Ab,PluginKey as Sb}from"@tiptap/pm/state";import{NodeViewWrapper as xb,NodeViewContent as Tb}from"@tiptap/react";import{useEffect as wp,useRef as Eb,useState as kp}from"react";import{useAtomValue as wb}from"jotai";import{jsx as Pp,jsxs as kb}from"react/jsx-runtime";var Np=s(e=>{let t=Eb(null),[r,o]=kp(!1),n=wb(pt),i=e.node.attrs.isEditorMode===!0,[a,l]=kp(e.editor.isEditable);wp(()=>{let d=t.current;if(d)return Pt({element:d,getData:()=>({type:"column-cell",columnId:e.node.attrs.columnId,index:e.node.attrs.index}),onDragEnter:()=>o(!0),onDragLeave:()=>o(!1),onDrop:()=>o(!1)})},[e.node.attrs.columnId,e.node.attrs.index]),wp(()=>{let d=s(()=>{l(e.editor.isEditable)},"handleUpdate");return e.editor.on("update",d),e.editor.on("transaction",d),e.editor.on("selectionUpdate",d),()=>{e.editor.off("update",d),e.editor.off("transaction",d),e.editor.off("selectionUpdate",d)}},[e.editor]);let c=!a&&!n,u=!i&&!c;return kb(xb,{ref:t,"data-column-cell":"true","data-column-id":e.node.attrs.columnId,"data-cell-index":e.node.attrs.index,className:S("courier-flex-1 courier-min-h-[120px] courier-flex courier-flex-col courier-p-4 courier-pl-0 courier-w-full",!c&&"courier-border",!c&&(r?"courier-border-solid courier-border-t-2 courier-border-t-blue-500 courier-border-r-transparent courier-border-b-transparent courier-border-l-transparent courier-rounded-none":"courier-border-dashed courier-border-gray-300 courier-rounded"),u&&"courier-items-center courier-justify-center courier-text-center courier-text-sm courier-text-gray-400"),children:[u&&Pp("span",{className:"courier-pointer-events-none courier-pl-4",children:"Drag and drop content blocks"}),Pp(Tb,{className:"courier-flex courier-flex-col courier-gap-2 courier-w-full"})]})},"ColumnCellComponentNode");var qa=Nb.create({name:"columnCell",group:"columnRow",content:"block*",isolating:!0,selectable:!1,addAttributes(){return{index:{default:0,parseHTML:e=>{let t=e.getAttribute("data-cell-index");return t?parseInt(t,10):0},renderHTML:e=>({"data-cell-index":e.index})},columnId:{default:null,parseHTML:e=>e.getAttribute("data-column-id"),renderHTML:e=>({"data-column-id":e.columnId})},isEditorMode:{default:!1,parseHTML:e=>e.getAttribute("data-editor-mode")==="true",renderHTML:e=>({"data-editor-mode":e.isEditorMode?"true":"false"})}}},parseHTML(){return[{tag:'div[data-type="column-cell"]'}]},renderHTML({HTMLAttributes:e}){return["div",Pb(e,{"data-type":"column-cell",style:"flex: 1 1 0%; width: 0; min-height: 120px;"}),0]},addNodeView(){return Mb(Np)},addCommands(){return{insertColumnCell:()=>({chain:e})=>e().insertContent({type:this.name}).run()}},addProseMirrorPlugins(){return[new Ab({key:new Sb("columnCellCleanup"),appendTransaction:(e,t,r)=>{if(!e.some(i=>i.docChanged))return null;let o=r.tr,n=!1;return r.doc.descendants((i,a)=>{var l,c;if(i.type.name==="columnCell"){let u=i.childCount===0,d=i.childCount===1&&((l=i.firstChild)==null?void 0:l.type.name)==="paragraph"&&((c=i.firstChild)==null?void 0:c.content.size)===0,m=i.attrs.isEditorMode;u?m=!1:u||(m=!0),m!==i.attrs.isEditorMode&&(o.setNodeAttribute(a,"isEditorMode",m),n=!0),d&&m===!1&&(o.delete(a+1,a+i.nodeSize-1),n=!0)}return!0}),n?o:null}})]}});import{mergeAttributes as Hb,Node as Bb}from"@tiptap/core";import{ReactNodeViewRenderer as Db}from"@tiptap/react";import{v4 as Fb}from"uuid";import{useSetAtom as Ib}from"jotai";import{useCallback as Lb}from"react";import{jsx as Ja}from"react/jsx-runtime";var Rb=s(({code:e})=>{let t=e&&e.trim()&&e!=="<!-- Add your HTML code here -->";return Ja("div",{className:"courier-w-full node-element",children:Ja("div",{className:"courier-custom-code courier-py-1.5",dangerouslySetInnerHTML:t?{__html:e}:{__html:" "}})})},"CustomCodeComponent"),Mp=s(e=>{let t=Ib(Re),r=Lb(()=>{if(!e.editor.isEditable)return;let i=We(e);if(i){e.editor.commands.blur();let a=i.attrs.id;e.editor.state.doc.descendants(l=>l.type.name==="customCode"&&l.attrs.id===a?(t(l),!1):!0)}},[e,t]),o=e.node.attrs.code,n=!o||o.trim()===""||o==="<!-- Add your HTML code here -->";return Ja(Ye,{id:e.node.attrs.id,className:S(e.node.attrs.isSelected&&"selected-element",n&&"is-empty"),onClick:r,editor:e.editor,"data-node-type":"customCode",children:Ja(Rb,{...e.node.attrs,updateAttributes:e.updateAttributes})})},"CustomCodeComponentNode");var Pr={code:"<!-- Add your HTML code here -->"},ja=Bb.create({name:"customCode",group:"block",atom:!0,selectable:!1,onCreate(){Oe(this.editor,this.name)},addAttributes(){return{code:{default:Pr.code,parseHTML:e=>e.getAttribute("data-code")||"",renderHTML:e=>({"data-code":e.code})},id:{default:()=>`node-${Fb()}`,parseHTML:e=>e.getAttribute("data-id"),renderHTML:e=>({"data-id":e.id,"data-node-id":e.id})},locales:{default:void 0,parseHTML:()=>{},renderHTML:()=>({})}}},parseHTML(){return[{tag:'div[data-type="custom-code"]'}]},renderHTML({HTMLAttributes:e}){return["div",Hb(this.options.HTMLAttributes,e,{"data-type":"custom-code"}),["div",{innerHTML:e.code||Pr.code}]]},addNodeView(){return Db(Mp)},addCommands(){return{setCustomCode:e=>({chain:t})=>t().insertContent({type:this.name,attrs:e}).run()}},addKeyboardShortcuts(){return{Backspace:({editor:e})=>{let{selection:t}=e.state,r=e.state.doc.nodeAt(t.$anchor.pos);return(r==null?void 0:r.type.name)==="customCode"},Delete:({editor:e})=>{let{selection:t}=e.state,r=e.state.doc.nodeAt(t.$anchor.pos);return(r==null?void 0:r.type.name)==="customCode"}}}});import{useRef as Ga,useCallback as Ap,useState as Sp,lazy as Ub,Suspense as Wb,useEffect as _b}from"react";import{forwardRef as Vb}from"react";import{jsx as Ob}from"react/jsx-runtime";var fc=Vb(({className:e,...t},r)=>{let o=S("courier-animate-spin courier-rounded-full courier-border-2 courier-border-current courier-border-t-transparent courier-h-4 courier-w-4",e);return Ob("div",{className:o,ref:r,...t})});fc.displayName="Spinner";import{jsx as nn}from"react/jsx-runtime";var zb=s(()=>{let[e,t]=Sp(!1),r=Ga(null);return _b(()=>{var i;let o=s(()=>{if(r.current){let a=r.current.closest(".dark")!==null;t(a)}},"checkDarkMode");o();let n=new MutationObserver(o);return(i=r.current)!=null&&i.parentElement&&n.observe(document.body,{attributes:!0,attributeFilter:["class"],subtree:!0}),()=>n.disconnect()},[]),{isDark:e,containerRef:r}},"useIsDarkMode"),$b=Ub(()=>import("@monaco-editor/react").then(e=>({default:e.Editor})));function Zb(e,t){let r=Ga();return Ap((...o)=>{r.current&&clearTimeout(r.current),r.current=setTimeout(()=>e(...o),t)},[e,t])}s(Zb,"useDebounce");var qb=s((e,t,r)=>{if(!t||!r)return!0;let o=t.getModel();if(!o)return!0;if(r.editor.getModelMarkers({resource:o.uri}).filter(a=>a.severity===8).length>0)return!1;if(!e.trim())return!0;try{if(/<[a-z][a-z0-9]*\s[^>]*$/i.test(e.trim()))return!1;let l=(e.match(/</g)||[]).length,c=(e.match(/>/g)||[]).length;if(l!==c||new DOMParser().parseFromString(e,"text/html").getElementsByTagName("parsererror").length>0)return!1;let p=(e.match(/<([a-z][a-z0-9]*)\b[^>]*(?<!\/\/)>/gi)||[]).map(b=>{var y,N;return(N=(y=b.match(/<([a-z][a-z0-9]*)/i))==null?void 0:y[1])==null?void 0:N.toLowerCase()}).filter(Boolean),f=(e.match(/<\/([a-z][a-z0-9]*)\s*>/gi)||[]).map(b=>{var y,N;return(N=(y=b.match(/<\/([a-z][a-z0-9]*)/i))==null?void 0:y[1])==null?void 0:N.toLowerCase()}).filter(Boolean),v=["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"],h=p.filter(b=>b&&!v.includes(b));for(let b of h){let y=p.filter(g=>g===b).length,N=f.filter(g=>g===b).length;if(y!==N)return!1}return!0}catch{return!1}},"defaultHTMLValidator"),gc=s(({code:e,onSave:t,onValidationChange:r,validator:o=qb})=>{let n=Ga(null),i=Ga(null),[a,l]=Sp(!0),{isDark:c,containerRef:u}=zb(),d=Ap(()=>{if(!n.current||!i.current)return!0;let v=n.current.getModel();if(!v)return!0;let h=v.getValue(),b=o(h,n.current,i.current);return b!==a&&(l(b),r==null||r(b)),b},[a,r,o]),m=Zb(v=>{setTimeout(()=>{d()&&t(v)},150)},500);return nn("div",{ref:u,className:"courier-h-full courier-overflow-hidden",children:nn("div",{className:"courier-h-full courier-p-2",children:nn(Wb,{fallback:nn("div",{className:"courier-flex courier-items-center courier-justify-center courier-h-full courier-text-gray-500",children:nn(fc,{})}),children:nn($b,{height:"100%",defaultLanguage:"html",value:e,onChange:s(v=>{m(v||"")},"handleCodeChange"),onMount:s((v,h)=>{n.current=v,i.current=h,v.focus(),v.onDidChangeModelContent(()=>{setTimeout(d,100)}),setTimeout(d,100)},"handleEditorDidMount"),theme:c?"vs-dark":"vs-light",options:{minimap:{enabled:!1},scrollBeyondLastLine:!1,fontSize:14,wordWrap:"on",automaticLayout:!0,tabSize:2,insertSpaces:!0,formatOnPaste:!0,formatOnType:!0,glyphMargin:!1,folding:!1,lineDecorationsWidth:10,lineNumbersMinChars:0,fixedOverflowWidgets:!0}})})})})},"MonacoCodeEditor");import{zodResolver as Jb}from"@hookform/resolvers/zod";import{useForm as jb}from"react-hook-form";import{z as Ip}from"zod";var Lp=Ip.object({code:Ip.string()});import{useCallback as Gb}from"react";import{useAtom as Kb}from"jotai";import{Fragment as Rp,jsx as dr,jsxs as vi}from"react/jsx-runtime";var hc=s(({element:e,editor:t})=>{let r=jb({resolver:Jb(Lp),defaultValues:{...Pr,...e==null?void 0:e.attrs}}),{updateNodeAttributes:o}=Xe({editor:t,element:e,form:r,nodeType:"customCode"}),[n,i]=Kb(tr),a=Gb(l=>{r.setValue("code",l),o({code:l})},[r,o]);return e?vi(Ne,{...r,children:[!n&&dr(Qe,{type:"customCode"}),vi("div",{className:"courier-flex courier-flex-col courier-gap-4",children:[dr(Ce,{className:"courier-w-fit",variant:"outline",buttonSize:"small",onClick:()=>i(!n),children:n?vi(Rp,{children:[dr(Fl,{className:"courier-w-3 courier-h-3"}),"Minimize"]}):vi(Rp,{children:[dr(Gn,{className:"courier-w-3 courier-h-3"}),"Expand Editor"]})}),dr("div",{className:"courier-mb-4 courier-overflow-hidden courier-rounded-md courier-border courier-border-border",style:{minHeight:"200px",height:"300px",resize:"vertical",overflow:"auto"},children:dr("form",{onChange:()=>{o(r.getValues())},className:"courier-h-full",children:dr(J,{control:r.control,name:"code",render:({field:l})=>vi(Z,{className:"courier-h-full",children:[dr(q,{children:dr(gc,{code:l.value,onSave:c=>{l.onChange(c),a(c)},onCancel:()=>{}})}),dr(j,{})]})})})})]})]}):null},"CustomCodeForm");import{mergeAttributes as i0}from"@tiptap/core";import{Node as Yb,mergeAttributes as Xb,isNodeSelection as Qb,nodeInputRule as e0}from"@tiptap/core";import{TextSelection as bc,NodeSelection as t0}from"@tiptap/pm/state";var Hp=Yb.create({name:"horizontalRule",addOptions(){return{HTMLAttributes:{}}},group:"block",parseHTML(){return[{tag:"hr"}]},renderHTML({HTMLAttributes:e}){return["hr",Xb(this.options.HTMLAttributes,e)]},addCommands(){return{setHorizontalRule:()=>({chain:e,state:t})=>{let{selection:r}=t,{$from:o,$to:n}=r,i=e();return o.parentOffset===0?i.insertContentAt({from:Math.max(o.pos-1,0),to:n.pos},{type:this.name}):Qb(r)?i.insertContentAt(n.pos,{type:this.name}):i.insertContent({type:this.name}),i.command(({tr:a,dispatch:l})=>{var c;if(l){let{$to:u}=a.selection,d=u.end();if(u.nodeAfter)u.nodeAfter.isTextblock?a.setSelection(bc.create(a.doc,u.pos+1)):u.nodeAfter.isBlock?a.setSelection(t0.create(a.doc,u.pos)):a.setSelection(bc.create(a.doc,u.pos));else{let m=(c=u.parent.type.contentMatch.defaultType)===null||c===void 0?void 0:c.create();m&&(a.insert(d,m),a.setSelection(bc.create(a.doc,d+1)))}a.scrollIntoView()}return!0}).run()}}},addInputRules(){return[e0({find:/^(?:---|—-|___\s|\*\*\*\s)$/,type:this.type})]}});import{ReactNodeViewRenderer as a0}from"@tiptap/react";import{v4 as s0}from"uuid";import{useSetAtom as r0}from"jotai";import{useCallback as o0}from"react";import{jsx as Ka}from"react/jsx-runtime";var n0=s(({padding:e,color:t,size:r,radius:o,variant:n="divider"})=>Ka("div",{className:"courier-w-full node-element courier-flex",children:Ka("hr",{style:{marginTop:`${e}px`,marginBottom:`${e}px`,backgroundColor:n==="spacer"?"transparent":t,height:`${r}px`,borderRadius:`${o}px`,border:"none",width:"100%"},"data-variant":n})}),"DividerComponent"),Bp=s(e=>{let t=r0(Re),r=o0(()=>{if(!e.editor.isEditable)return;let o=We(e);o&&(e.editor.commands.blur(),t(o))},[e,t]);return Ka(Ye,{id:e.node.attrs.id,className:S(e.node.attrs.isSelected&&"selected-element"),onClick:r,editor:e.editor,children:Ka(n0,{...e.node.attrs})})},"DividerComponentNode");var Mt={padding:6,color:"#000000",size:1,radius:0,variant:"divider"},Ya={padding:24,color:"transparent",size:1,radius:0,variant:"spacer"},yc=Hp.extend({name:"divider",atom:!0,onCreate(){Oe(this.editor,this.name)},addAttributes(){return{padding:{default:Mt.padding,parseHTML:e=>e.getAttribute("data-padding"),renderHTML:e=>({"data-padding":e.margin})},size:{default:Mt.size,parseHTML:e=>e.getAttribute("data-size"),renderHTML:e=>({"data-size":e.size})},color:{default:Mt.color,parseHTML:e=>e.getAttribute("data-color"),renderHTML:e=>({"data-color":e.color})},width:{default:Mt.size,parseHTML:e=>e.getAttribute("data-size"),renderHTML:e=>({"data-size":e.size})},radius:{default:Mt.radius,parseHTML:e=>e.getAttribute("data-radius"),renderHTML:e=>({"data-radius":e.radius})},variant:{default:Mt.variant,parseHTML:e=>e.getAttribute("data-variant"),renderHTML:e=>({"data-variant":e.variant})},id:{default:()=>`node-${s0()}`,parseHTML:e=>e.getAttribute("data-id"),renderHTML:e=>({"data-id":e.id,"data-node-id":e.id})}}},parseHTML(){return[{tag:'div[data-type="divider"]'}]},renderHTML({HTMLAttributes:e}){return["div",i0(e,{"data-type":"divider"}),["hr"]]},addNodeView(){return a0(Bp)},addInputRules(){return[]}});import{z as an}from"zod";var Dp=an.object({padding:an.number(),color:an.string(),size:an.number(),radius:an.number(),variant:an.enum(["divider","spacer"]).default("divider")});import{zodResolver as l0}from"@hookform/resolvers/zod";import{useForm as c0}from"react-hook-form";import{Fragment as u0,jsx as _e,jsxs as sn}from"react/jsx-runtime";var Fp=s(({element:e,editor:t})=>{let r=c0({resolver:l0(Dp),defaultValues:{...Mt,...e==null?void 0:e.attrs}}),{updateNodeAttributes:o}=Xe({editor:t,element:e,form:r,nodeType:"divider"});if(!e)return null;let n=r.watch("variant");return sn(Ne,{...r,children:[_e(Qe,{type:n}),sn("form",{onChange:()=>{o(r.getValues())},children:[_e("h4",{className:"courier-text-sm courier-font-medium courier-mb-3",children:"Frame"}),_e(J,{control:r.control,name:"padding",render:({field:i})=>sn(Z,{children:[_e(q,{children:_e(pe,{startAdornment:_e(po,{}),type:"number",...i,onChange:a=>{i.onChange(a),o({...r.getValues(),margin:a.target.value})}})}),_e(j,{})]})}),n==="divider"&&sn(u0,{children:[_e(le,{className:"courier-mt-6 courier-mb-4"}),_e("h4",{className:"courier-text-sm courier-font-medium courier-mb-3",children:"Line"}),_e(J,{control:r.control,name:"size",render:({field:i})=>sn(Z,{className:"courier-mb-4",children:[_e(q,{children:_e(pe,{startAdornment:_e(Er,{}),type:"number",min:0,...i,onChange:a=>{i.onChange(a),o({...r.getValues(),width:a.target.value})}})}),_e(j,{})]})}),_e(J,{control:r.control,name:"color",render:({field:i})=>sn(Z,{className:"courier-mb-4",children:[_e(q,{children:_e(Ze,{...i,defaultValue:Mt.color,onChange:a=>{i.onChange(a),o({...r.getValues(),[i.name]:a})}})}),_e(j,{})]})})]})]})]})},"DividerForm");var Cc=Qo.extend({content:"(block)+"});import{Node as b0}from"@tiptap/core";import{ReactNodeViewRenderer as y0}from"@tiptap/react";import{NodeViewWrapper as d0}from"@tiptap/react";import{forwardRef as m0,useEffect as Vp,useState as p0}from"react";import{jsx as Xa}from"react/jsx-runtime";function f0(){let[e,t]=p0(!1);return Vp(()=>{let r=setTimeout(()=>t(!0),500);return()=>clearTimeout(r)},[]),e}s(f0,"useMountStatus");var g0=m0(({children:e,className:t,dragOverlay:r,id:o},n)=>(Vp(()=>{if(r)return document.body.style.cursor="grabbing",()=>{document.body.style.cursor=""}},[r]),Xa(d0,{ref:n,"data-cypress":"draggable-item","data-node-view-wrapper":!0,"data-id":o,"data-placeholder":"true",className:S("courier-flex courier-items-start courier-gap-2 courier-pl-6",t),children:e}))),h0=s(e=>{switch(e){case"text":return"Text";case"heading":return"Heading";case"spacer":return"Spacer";case"divider":return"Divider";case"button":return"Button";case"image":return"Image";case"customCode":return"Custom code";case"column":return"Column layout";default:return e}},"getPlaceholderLabel"),Op=s(({node:e})=>{let t=e.attrs.type,r=e.attrs.id,o=f0();return Xa(g0,{id:r,fadeIn:!o,children:Xa("div",{className:S("courier-relative courier-flex courier-flex-grow courier-items-center courier-px-5 courier-py-[18px] courier-bg-background/50","courier-border-2 courier-border-dashed courier-border-accent-foreground courier-rounded-md"),children:Xa("div",{className:"courier-text-accent-foreground",children:h0(t)})})})},"DragPlaceholderComponent");var Up=b0.create({name:"dragPlaceholder",group:"block",atom:!0,draggable:!0,addAttributes(){return{id:{default:null,parseHTML:e=>e.getAttribute("data-id"),renderHTML:e=>e.id?{"data-id":e.id}:{}},type:{default:"text",parseHTML:e=>e.getAttribute("data-type"),renderHTML:e=>({"data-type":e.type})}}},parseHTML(){return[{tag:'div[data-type="drag-placeholder"]'}]},renderHTML({HTMLAttributes:e}){return["div",{"data-type":"drag-placeholder",...e},0]},addCommands(){return{setDragPlaceholder:e=>({tr:t,dispatch:r})=>{if(r){let o=this.type.create(e);typeof e.pos=="number"?t.insert(e.pos,o):t.replaceSelectionWith(o)}return!0},removeDragPlaceholder:()=>({tr:e,state:t,dispatch:r})=>{let o=!1;return t.doc.descendants((n,i)=>n.type.name===this.name?(r&&(n!=null&&n.nodeSize)&&(e.delete(i,i+n.nodeSize),o=!0),!1):!0),o}}},addNodeView(){return y0(Op,{as:"div",className:"drag-placeholder-wrapper"})}});import{Extension as C0}from"@tiptap/core";import{Plugin as v0,PluginKey as x0}from"@tiptap/pm/state";var T0=new x0("file-handler"),E0=C0.create({name:"fileHandler",addOptions(){return{allowedMimeTypes:[],onDrop:()=>{},onPaste:()=>{}}},addProseMirrorPlugins(){let{allowedMimeTypes:e,onDrop:t,onPaste:r}=this.options;return[new v0({key:T0,props:{handleDrop:(o,n,i,a)=>{var d;if(!((d=n.dataTransfer)!=null&&d.files)||a)return!1;let{files:l}=n.dataTransfer,c=o.posAtCoords({left:n.clientX,top:n.clientY});if(!c)return!1;let u=Array.from(l).filter(m=>e==null?void 0:e.includes(m.type));return u.length===0?!1:(n.preventDefault(),t&&t(this.editor,u,c.pos),!0)},handlePaste:(o,n)=>{var l;if(!((l=n.clipboardData)!=null&&l.files))return!1;let{files:i}=n.clipboardData,a=Array.from(i).filter(c=>e==null?void 0:e.includes(c.type));return a.length===0?!1:(n.preventDefault(),r&&r(this.editor,a),!0)}}})]}}),Qa=E0;import{Extension as w0}from"@tiptap/core";import{Plugin as k0,PluginKey as P0}from"@tiptap/pm/state";var N0=new P0("fixedChannelPaste"),M0=s(e=>{let t=e.view.dom.closest(".courier-push-editor"),r=e.view.dom.closest(".courier-sms-editor"),o=e.view.dom.closest(".courier-inbox-editor");if(t||r||o)return!0;let n=e.state.doc,i=0,a=0;n.forEach(d=>{d.type.name==="paragraph"||d.type.name==="heading"?i++:d.type.name==="button"&&a++});let l=i===1&&a===0,c=i===2&&a===0,u=i>=2&&i+a<=4;return l||c||u},"isInFixedChannel"),A0=s(e=>{let t=[],r=s(o=>{if(o.type.name==="text")t.push(o.text||"");else if(o.type.name==="paragraph"||o.type.name==="heading"){let n=o.textContent||"";n.trim()&&t.push(n)}else o.content&&o.content.forEach(n=>{r(n)})},"extractTextFromNode");return e.content.forEach(o=>{r(o)}),t.filter(o=>o.trim()).join(`
|
|
186
|
-
`).trim()},"extractTextFromSlice"),es=w0.create({name:"fixedChannelPaste",addOptions(){return{fixedChannels:["push","sms","inbox"]}},addProseMirrorPlugins(){let e=this.editor;return[new k0({key:N0,props:{handlePaste:(t,r,o)=>{let{state:n}=t,{selection:i}=n;if(!M0(e))return!1;let l=i.$from.node();if(!(l.type.name==="paragraph"||l.type.name==="heading")||o.content.childCount<=1)return!1;let u=A0(o);if(!u)return!1;r.preventDefault();let d=n.tr.replaceSelectionWith(n.schema.text(u),!1);return t.dispatch(d),!0}}})]},addStorage(){return{currentChannel:null}}});import{Extension as S0}from"@tiptap/core";import{Plugin as I0,PluginKey as L0,TextSelection as vc}from"@tiptap/pm/state";var Po=s((e,t)=>{if(t.length===0)return!1;let r={push:()=>e.view.dom.closest(".courier-push-editor"),sms:()=>e.view.dom.closest(".courier-sms-editor"),inbox:()=>e.view.dom.closest(".courier-inbox-editor")};return t.some(o=>{var n;return(n=r[o])==null?void 0:n.call(r)})},"isInFixedChannel"),xc=s(e=>!!e.view.dom.closest(".courier-inbox-editor"),"isInInboxChannel"),Wp=s(e=>{if(!xc(e))return!1;let{selection:t}=e.state,{$anchor:r}=t,o=r.depth;for(;o>0;){let n=r.node(o);if(n.type.name==="paragraph"||n.type.name==="heading"){let i=r.node(o-1),a=r.start(o),l=0;return i.forEach((c,u)=>{if(r.start(o-1)+u+1===a)return!1;l++}),l<=1}o--}return!1},"isInFixedInboxNode"),No=s(e=>{let{selection:t}=e.state,{$anchor:r}=t,o=r.depth;for(;o>0;){let n=r.node(o);if(n.type.name==="paragraph"||n.type.name==="heading"){let i=r.start(o),a=r.end(o);return{start:i,end:a,node:n}}o--}return null},"getCurrentElementBounds"),ts=s(e=>{let{selection:t}=e.state,{$from:r,$to:o}=t;if(t.empty)return!1;let n=r.depth,i=o.depth,a=null,l=null;for(;n>0;){let c=r.node(n);if(c.type.name==="paragraph"||c.type.name==="heading"){a={node:c,depth:n};break}n--}for(;i>0;){let c=o.node(i);if(c.type.name==="paragraph"||c.type.name==="heading"){l={node:c,depth:i};break}i--}return!!(a&&l&&a.node!==l.node)},"isMultiElementSelection"),rs=new L0("fixedChannelSelection"),os=S0.create({name:"fixedChannelSelection",addOptions(){return{channels:["push","sms","inbox"]}},addCommands(){return{constrainSelectionToElement:()=>({editor:e,tr:t,dispatch:r})=>{if(!Po(e,this.options.channels))return!1;let o=No(e);if(!o)return!1;let{start:n,end:i}=o,{selection:a}=e.state;if(a.from>=n&&a.to<=i)return!1;let l=Math.max(a.from,n),c=Math.min(a.to,i);return r&&t.setSelection(vc.create(t.doc,l,c)),!0}}},addKeyboardShortcuts(){return{"Mod-a":({editor:e})=>{if(!Po(e,this.options.channels))return!1;let t=No(e);if(!t)return!1;let{start:r,end:o}=t;return e.commands.setTextSelection({from:r,to:o}),!0},Backspace:({editor:e})=>{if(!Po(e,this.options.channels))return!1;if(xc(e)){let{selection:t}=e.state;if(No(e)&&t.$anchor.parentOffset===0&&Wp(e))return!0}if(ts(e)){let t=No(e);if(t){let{start:r,end:o}=t,{selection:n}=e.state,i=Math.max(n.from,r),a=Math.min(n.to,o);e.commands.setTextSelection({from:i,to:a})}return!0}return!1},Delete:({editor:e})=>{if(!Po(e,this.options.channels))return!1;if(xc(e)){let{selection:t}=e.state,r=No(e);if(r){let o=r.node.textContent;if(t.$anchor.parentOffset===o.length&&Wp(e))return!0}}if(ts(e)){let t=No(e);if(t){let{start:r,end:o}=t,{selection:n}=e.state,i=Math.max(n.from,r),a=Math.min(n.to,o);e.commands.setTextSelection({from:i,to:a})}return!0}return!1}}},addProseMirrorPlugins(){return[new I0({key:rs,props:{handleTextInput:(e,t,r)=>{let o=this.editor;if(!Po(o,this.options.channels))return!1;if(ts(o)){let n=No(o);if(n){let{start:i,end:a}=n,l=Math.max(t,i),c=Math.min(r,a),u=e.state.tr;u.setSelection(vc.create(u.doc,l,c)),e.dispatch(u)}return!0}return!1},handleDOMEvents:{mousedown:(e,t)=>{let r=this.editor;if(!Po(r,this.options.channels))return!1;let o=e.posAtCoords({left:t.clientX,top:t.clientY});if(o!==null){let n=e.state.doc.resolve(o.pos),i=n.depth;for(;i>0;){let a=n.node(i);if(a.type.name==="paragraph"||a.type.name==="heading"){e.dispatch(e.state.tr.setMeta(rs,{elementStart:n.start(i),elementEnd:n.end(i)}));break}i--}}return!1},mousemove:(e,t)=>{let r=this.editor;if(!Po(r,this.options.channels))return!1;if(e.state.selection.from!==e.state.selection.to&&ts(r)){let n=rs.getState(e.state);if(n!=null&&n.elementStart&&(n!=null&&n.elementEnd)){let{selection:i}=e.state,a=Math.max(i.from,n.elementStart),l=Math.min(i.to,n.elementEnd),c=e.state.tr;return c.setSelection(vc.create(c.doc,a,l)),e.dispatch(c),!0}}return!1}}},state:{init(){return null},apply(e,t){return e.getMeta(rs)||t}}})]}});import{mergeAttributes as z0}from"@tiptap/core";import{Node as R0,mergeAttributes as H0,textblockTypeInputRule as B0}from"@tiptap/core";var _p=R0.create({name:"heading",addOptions(){return{levels:[1,2,3,4,5,6],HTMLAttributes:{}}},content:"inline*",group:"block",defining:!0,addAttributes(){return{level:{default:1,rendered:!1}}},parseHTML(){return this.options.levels.map(e=>({tag:`h${e}`,attrs:{level:e}}))},renderHTML({node:e,HTMLAttributes:t}){return[`h${this.options.levels.includes(e.attrs.level)?e.attrs.level:this.options.levels[0]}`,H0(this.options.HTMLAttributes,t),0]},addCommands(){return{setHeading:e=>({commands:t})=>this.options.levels.includes(e.level)?t.setNode(this.name,e):!1,toggleHeading:e=>({commands:t})=>this.options.levels.includes(e.level)?t.toggleNode(this.name,"paragraph",e):!1}},addKeyboardShortcuts(){return this.options.levels.reduce((e,t)=>({...e,[`Mod-Alt-${t}`]:()=>this.editor.commands.toggleHeading({level:t})}),{})},addInputRules(){return this.options.levels.map(e=>B0({find:new RegExp(`^(#{${Math.min(...this.options.levels)},${e}})\\s$`),type:this.type,getAttributes:{level:e}}))}});import{z as Nr}from"zod";var zp=Nr.object({paddingVertical:Nr.number(),paddingHorizontal:Nr.number(),backgroundColor:Nr.string(),borderWidth:Nr.number(),borderColor:Nr.string(),textAlign:Nr.enum(["left","center","right","justify"]).default("left"),selected:Nr.boolean().default(!1),id:Nr.string().optional()}),ue={paddingVertical:6,paddingHorizontal:0,backgroundColor:"transparent",borderWidth:0,borderColor:"transparent",textAlign:"left",selected:!1};import{NodeViewContent as D0,NodeViewWrapper as F0}from"@tiptap/react";import{useSetAtom as V0,useAtomValue as O0}from"jotai";import{useCallback as U0}from"react";import{jsx as Jr}from"react/jsx-runtime";var $p=s(({paddingVertical:e,paddingHorizontal:t,textAlign:r,backgroundColor:o,borderWidth:n,borderColor:i,level:a,type:l})=>{let c=l==="heading"?`h${a}`:"p",u=O0(pt);return Jr("div",{className:"courier-w-full node-element",children:Jr("div",{style:{padding:`${e}px ${t}px`,textAlign:r,backgroundColor:o,borderWidth:`${n}px`,borderColor:i,borderStyle:n>0?"solid":"none"},children:Jr("div",{style:{pointerEvents:u?"none":"auto"},children:Jr(D0,{as:c})})})})},"TextBlockComponent"),ns=s(e=>{let t=V0(Re),r=U0(()=>{if(!e.editor.isEditable)return;let l=We(e);l&&t(l)},[e,t]),o=!e.node.content||e.node.content.size===0,n=jr(e.getPos),i=n!==null?e.editor.state.doc.resolve(n):null;return(i==null?void 0:i.parent.type.name)==="blockquote"?Jr(F0,{children:Jr($p,{...e.node.attrs,type:e.node.type.name})}):Jr(Ye,{id:e.node.attrs.id,className:S(e.node.attrs.isSelected&&"selected-element",o&&"is-empty"),onClick:r,editor:e.editor,children:Jr($p,{...e.node.attrs,type:e.node.type.name})})},"TextBlockComponentNode");import{zodResolver as W0}from"@hookform/resolvers/zod";import{useForm as _0}from"react-hook-form";import{jsx as ve,jsxs as Gr}from"react/jsx-runtime";var Zp=s(({element:e,editor:t})=>{let r=_0({resolver:W0(zp),defaultValues:{...ue,...e==null?void 0:e.attrs}}),{updateNodeAttributes:o}=Xe({editor:t,element:e,form:r,nodeType:(e==null?void 0:e.type.name)||"paragraph"});return e?Gr(Ne,{...r,children:[ve(Qe,{type:"text"}),Gr("form",{onChange:()=>{o(r.getValues())},children:[ve("h4",{className:"courier-text-sm courier-font-medium courier-mb-3",children:"Frame"}),Gr("div",{className:"courier-flex courier-flex-row courier-gap-3 courier-mb-3",children:[ve(J,{control:r.control,name:"paddingHorizontal",render:({field:n})=>Gr(Z,{children:[ve(q,{children:ve(pe,{startAdornment:ve(ti,{}),type:"number",min:0,...n})}),ve(j,{})]})}),ve(J,{control:r.control,name:"paddingVertical",render:({field:n})=>Gr(Z,{children:[ve(q,{children:ve(pe,{startAdornment:ve(po,{}),type:"number",min:0,...n})}),ve(j,{})]})})]}),ve(J,{control:r.control,name:"backgroundColor",render:({field:n})=>Gr(Z,{className:"courier-mb-4",children:[ve(q,{children:ve(Ze,{...n,defaultValue:ue.backgroundColor,onChange:i=>{n.onChange(i),o({...r.getValues(),[n.name]:i})}})}),ve(j,{})]})}),ve(le,{className:"courier-mb-4"}),ve("h4",{className:"courier-text-sm courier-font-medium courier-mb-3",children:"Border"}),ve(J,{control:r.control,name:"borderWidth",render:({field:n})=>Gr(Z,{className:"courier-mb-3",children:[ve(q,{children:ve(pe,{startAdornment:ve(Er,{}),type:"number",min:0,...n})}),ve(j,{})]})}),ve(J,{control:r.control,name:"borderColor",render:({field:n})=>Gr(Z,{className:"courier-mb-4",children:[ve(q,{children:ve(Ze,{...n,defaultValue:ue.borderColor,onChange:i=>{n.onChange(i),o({...r.getValues(),[n.name]:i})}})}),ve(j,{})]})})]})]}):null},"TextBlockForm");import{ReactNodeViewRenderer as $0}from"@tiptap/react";var Tc=_p.extend({addOptions(){var e;return{...(e=this.parent)==null?void 0:e.call(this),HTMLAttributes:{class:""}}},onCreate(){Oe(this.editor,this.name)},addAttributes(){var e;return{...(e=this.parent)==null?void 0:e.call(this),paddingVertical:{default:ue.paddingVertical,parseHTML:t=>t.style.paddingTop?parseInt(t.style.paddingTop):ue.paddingVertical,renderHTML:t=>({style:`padding-top: ${t.paddingVertical}px; padding-bottom: ${t.paddingVertical}px;`})},paddingHorizontal:{default:ue.paddingHorizontal,parseHTML:t=>t.style.paddingLeft?parseInt(t.style.paddingLeft):ue.paddingHorizontal,renderHTML:t=>({style:`padding-left: ${t.paddingHorizontal}px; padding-right: ${t.paddingHorizontal}px;`})},textAlign:{default:ue.textAlign,parseHTML:t=>t.style.textAlign||ue.textAlign,renderHTML:t=>({style:`text-align: ${t.textAlign}`})},backgroundColor:{default:ue.backgroundColor,parseHTML:t=>t.style.backgroundColor||ue.backgroundColor,renderHTML:t=>({style:`background-color: ${t.backgroundColor}`})},borderWidth:{default:ue.borderWidth,parseHTML:t=>t.style.borderWidth?parseInt(t.style.borderWidth):ue.borderWidth,renderHTML:t=>({style:`border-width: ${t.borderWidth}px`})},borderColor:{default:ue.borderColor,parseHTML:t=>t.style.borderColor||ue.borderColor,renderHTML:t=>({style:`border-color: ${t.borderColor}`})},id:{default:()=>null,parseHTML:t=>t.getAttribute("data-id"),renderHTML:t=>({"data-id":t.id})},locales:{default:void 0,parseHTML:()=>{},renderHTML:()=>({})}}},addCommands(){return{setTextAlign:e=>({chain:t})=>t().updateAttributes(this.name,{textAlign:e}).run()}},parseHTML(){return[{tag:'div[data-type="heading"]'}]},renderHTML({node:e,HTMLAttributes:t}){let r=parseInt(e.attrs.level,10);return[`h${this.options.levels.includes(r)?r:this.options.levels[0]}`,z0(this.options.HTMLAttributes,t),0]},addNodeView(){return $0(ns)}});import{mergeAttributes as K0,Node as Y0}from"@tiptap/core";import{ReactNodeViewRenderer as X0}from"@tiptap/react";import{useSetAtom as qp}from"jotai";import{useCallback as Yt,useEffect as wc,useMemo as Z0,useRef as Jp,useState as jp}from"react";import{Fragment as G0,jsx as mr,jsxs as Ec}from"react/jsx-runtime";var q0=["image/png","image/jpeg","image/gif","image/webp"],J0=s(({sourcePath:e,alt:t,alignment:r,borderWidth:o,borderColor:n,isUploading:i,width:a,imageNaturalWidth:l,onFileSelect:c,editor:u})=>{let[d,m]=jp(!1),[p,f]=jp(!0),v=Jp(null),h=Jp(null);wc(()=>{e&&f(!0)},[e]),wc(()=>{if(e&&!l&&u){let C=new Image;C.onload=()=>{try{if(!u.view||!u.state)return;let T=u.view.state.selection.from;u.chain().setNodeSelection(T).updateAttributes("imageBlock",{imageNaturalWidth:C.naturalWidth}).run()}catch{}},C.src=e}},[e,l,u]);let b=Yt(C=>{var M,R;let T=(R=(M=u==null?void 0:u.view)==null?void 0:M.dom)==null?void 0:R.closest(".ProseMirror"),x=(T==null?void 0:T.clientWidth)||1e3,P=Math.min(100,C/x*100);return Math.round(P)},[u]),y=Z0(()=>b(l),[b,l]),N=Yt(C=>q0.includes(C),[]),g=Yt(C=>{C.preventDefault(),C.stopPropagation(),C.dataTransfer.types.includes("Files")&&Array.from(C.dataTransfer.items).some(P=>N(P.type))&&(m(!0),C.dataTransfer.dropEffect="copy")},[N]),k=Yt(C=>{C.preventDefault(),C.stopPropagation(),m(!1)},[]),A=Yt(C=>{C.preventDefault(),C.stopPropagation(),C.dataTransfer.types.includes("Files")&&Array.from(C.dataTransfer.items).some(P=>N(P.type))&&m(!0)},[N]),E=Yt(C=>{C.preventDefault(),C.stopPropagation(),m(!1);let x=Array.from(C.dataTransfer.files).find(P=>N(P.type));x&&c&&c(x)},[c,N]),L=Yt(C=>{var x;let T=(x=C.target.files)==null?void 0:x[0];T&&c&&c(T),C.target&&(C.target.value="")},[c]),w=Yt(()=>{var C;(C=v.current)==null||C.click()},[]);return Ji(e)?Ec("div",{className:S("courier-w-full node-element courier-empty-image courier-h-[160px] courier-bg-gray-100 courier-rounded-md courier-flex courier-flex-row courier-items-center courier-justify-center courier-cursor-pointer courier-transition-colors courier-flex-1 courier-text-center courier-flex-wrap courier-content-center courier-p-4",d&&"courier-border-primary courier-bg-gray-50"),onDragOver:g,onDragEnter:A,onDragLeave:k,onDrop:E,style:{pointerEvents:"all"},children:[i?mr(fo,{className:"courier-w-8 courier-h-8"}):Ec(G0,{children:[mr("span",{className:"courier-text-sm courier-pointer-events-none courier-inline-block",children:"Drag and drop image, or\xA0"}),mr("button",{className:"courier-underline courier-font-medium courier-inline-block courier-text-sm",onClick:w,children:"Browse"})]}),mr("input",{ref:v,type:"file",accept:"image/png, image/jpeg, image/gif, image/webp",className:"courier-hidden",onChange:L})]}):mr("div",{className:"courier-w-full node-element",children:Ec("div",{className:S("courier-relative courier-p-1",(i||p)&&"courier-w-full courier-aspect-[4/3] courier-bg-gray-100"),children:[(i||p)&&mr("div",{className:"courier-absolute courier-inset-0 courier-flex courier-items-center courier-justify-center",children:mr(fo,{className:"courier-w-8 courier-h-8"})}),mr("img",{ref:h,src:e,alt:t,className:S("courier-h-auto courier-inline-block courier-w-full",{left:"courier-mr-auto",center:"courier-mx-auto",right:"courier-ml-auto"}[r],i&&"courier-opacity-50",(i||p)&&"courier-invisible"),style:{maxWidth:a===y?`${l}px`:`${a}%`,borderWidth:`${o}px`,borderColor:n,borderStyle:o>0?"solid":"none",display:"block"},loading:"lazy",decoding:"async",draggable:!1,onLoad:C=>{if(f(!1),!l&&u)try{if(!u.view||!u.state)return;setTimeout(()=>{let T=u.view.state.selection.from;u.chain().setNodeSelection(T).updateAttributes("imageBlock",{imageNaturalWidth:C.target.naturalWidth}).run()},100)}catch(T){console.warn("Editor not ready for image update:",T)}},onError:()=>f(!1)})]})})},"ImageBlockComponent"),j0=["image/png","image/jpeg","image/gif","image/webp"],Gp=s(e=>{let t=qp(Re),r=qp(Q),{uploadImage:o}=On(),n=Yt(l=>{var m,p,f;let c=(f=(p=(m=e.editor)==null?void 0:m.view)==null?void 0:p.dom)==null?void 0:f.closest(".ProseMirror"),u=(c==null?void 0:c.clientWidth)||1e3,d=Math.min(100,l/u*100);return Math.round(d)},[e.editor]);wc(()=>{var c,u;let l=We(e);if((c=l==null?void 0:l.attrs)!=null&&c.sourcePath&&!((u=l==null?void 0:l.attrs)!=null&&u.imageNaturalWidth)){let d=new Image;d.onload=()=>{let m=l.attrs.width||n(d.naturalWidth),p=jr(e.getPos);p!==null&&e.editor.chain().focus().setNodeSelection(p).updateAttributes("imageBlock",{width:m,imageNaturalWidth:d.naturalWidth}).run()},d.src=l.attrs.sourcePath}},[e,n]);let i=Yt(()=>{if(!e.editor.isEditable)return;let l=We(e);l&&(e.editor.commands.blur(),t(l))},[e,t]),a=Yt(async l=>{let c=jr(e.getPos);We(e)&&c!==null&&e.editor.chain().focus().setNodeSelection(c).updateAttributes("imageBlock",{isUploading:!0,sourcePath:""}).run();try{if(!j0.includes(l.type))throw new Error("Only PNG, JPEG, GIF, and WebP images are supported");let d=new FileReader;d.readAsDataURL(l),await new Promise((h,b)=>{d.onload=h,d.onerror=b});let p=(await o({file:l})).url,f=jr(e.getPos);if(We(e)&&f!==null){let h=new Image;h.src=p,await new Promise((y,N)=>{h.onload=y,h.onerror=()=>N(new Error("Failed to load uploaded image"))});let b=n(h.naturalWidth);e.editor.chain().focus().setNodeSelection(f).updateAttributes("imageBlock",{sourcePath:p,isUploading:!1,width:b,imageNaturalWidth:h.naturalWidth}).run()}}catch(d){console.error("Error uploading image:",d);let m="Error uploading image";if(d instanceof Error){let v=d.message;v.includes("GraphQL error")?m="Server error: Could not process image":v.includes("network")||v.includes("fetch")?m="Network error: Could not upload image":m=v}r({message:m,toastProps:{duration:6e3,description:`File: ${l.name} (${(l.size/1024/1024).toFixed(2)}MB)`}});let p=jr(e.getPos);We(e)&&p!==null&&e.editor.chain().focus().setNodeSelection(p).updateAttributes("imageBlock",{isUploading:!1}).run()}},[e,n,o,r]);return mr(Ye,{id:e.node.attrs.id,className:S(e.node.attrs.isSelected&&"selected-element"),onClick:i,editor:e.editor,children:mr(J0,{...e.node.attrs,onFileSelect:a,editor:e.editor})})},"ImageBlockView");var Be={sourcePath:"",link:"",alt:"",alignment:"center",width:1,borderWidth:0,borderColor:"transparent",isUploading:!1,imageNaturalWidth:0},is=Y0.create({name:"imageBlock",group:"block",atom:!0,inline:!1,onCreate(){Oe(this.editor,this.name)},addOptions(){var e;return{...(e=this.parent)==null?void 0:e.call(this),placeholder:""}},addAttributes(){return{sourcePath:{default:Be.sourcePath,parseHTML:e=>e.getAttribute("data-source-path")||"",renderHTML:e=>({"data-source-path":e.sourcePath||""})},link:{default:Be.link,parseHTML:e=>e.getAttribute("data-link"),renderHTML:e=>({"data-link":e.link})},alt:{default:Be.alt,parseHTML:e=>e.getAttribute("data-alt"),renderHTML:e=>({"data-alt":e.alt})},alignment:{default:Be.alignment,parseHTML:e=>e.getAttribute("data-alignment"),renderHTML:e=>({"data-alignment":e.alignment})},width:{default:Be.width,parseHTML:e=>e.getAttribute("data-width"),renderHTML:e=>({"data-width":e.width})},imageNaturalWidth:{default:Be.imageNaturalWidth,parseHTML:e=>e.getAttribute("data-natural-width"),renderHTML:e=>({"data-natural-width":e.imageNaturalWidth})},borderWidth:{default:Be.borderWidth,parseHTML:e=>e.getAttribute("data-border-width"),renderHTML:e=>({"data-border-width":e.borderWidth})},borderColor:{default:Be.borderColor,parseHTML:e=>e.getAttribute("data-border-color"),renderHTML:e=>({"data-border-color":e.borderColor})},isUploading:{default:Be.isUploading,parseHTML:e=>e.getAttribute("data-is-uploading"),renderHTML:e=>({"data-is-uploading":e.isUploading})},id:{default:void 0,parseHTML:e=>e.getAttribute("data-id"),renderHTML:e=>({"data-id":e.id})},locales:{default:void 0,parseHTML:()=>{},renderHTML:()=>({})}}},parseHTML(){return[{tag:'div[data-type="image-block"]'}]},renderHTML({HTMLAttributes:e}){return["div",K0(this.options.HTMLAttributes,e,{"data-type":"image-block"}),0]},addNodeView(){return X0(Gp)},addCommands(){return{setImageBlock:e=>({chain:t})=>t().insertContent({type:this.name,attrs:{...Be,...e}}).run(),setImageBlockAt:({pos:e,src:t})=>({chain:r})=>r().insertContentAt(e,{type:this.name,attrs:{...Be,sourcePath:t||""}}).run(),setImageBlockAlign:e=>({commands:t})=>t.updateAttributes(this.name,{alignment:e}),setImageBlockWidth:e=>({commands:t})=>t.updateAttributes(this.name,{width:e}),uploadImage:e=>({chain:t})=>{let r=new FileReader;return r.onload=()=>{t().setImageBlock({sourcePath:r.result,isUploading:!0}).run()},r.readAsDataURL(e),!0}}}});import{z as pr}from"zod";var Kp=pr.object({sourcePath:pr.string(),link:pr.string().optional(),alt:pr.string().optional(),alignment:pr.enum(["left","center","right"]),width:pr.number().min(1).max(100),borderWidth:pr.number(),borderColor:pr.string(),isUploading:pr.boolean().optional(),imageNaturalWidth:pr.number()});import{zodResolver as Q0}from"@hookform/resolvers/zod";import{useSetAtom as e3}from"jotai";import{ArrowUp as t3}from"lucide-react";import{useCallback as Ti,useEffect as Xp,useRef as Pc,useState as ss}from"react";import{useForm as r3}from"react-hook-form";import{useSetAtom as kc}from"jotai";import*as xi from"react";import{useRef as Yp}from"react";import{jsx as as}from"react/jsx-runtime";var Kr=xi.forwardRef(({as:e="Input",autoResize:t,onChange:r,...o},n)=>{let i=Yp(null),a=Yp(null),l=kc(li),c=kc(om),u=kc(sa),d=xi.useCallback(()=>{if(!a.current)return;let h={ref:a.current,caretPosition:a.current.selectionStart};c(h),u(h),l({isFocused:!0,hasVariables:!1,showVariablePopup:!1})},[l,c,u]),m=xi.useCallback(h=>{var y;((y=h.relatedTarget)==null?void 0:y.closest("[data-variable-button]"))||(c({ref:null,caretPosition:null}),l({isFocused:!1,hasVariables:!1,showVariablePopup:!1}))},[l,c]),p=s(h=>{let b=h.target,y={ref:b,caretPosition:b.selectionStart};c(y),u(y)},"handleSelect"),f=s(h=>{r&&r(h)},"handleChange");if(e==="Input"){let h={...o,ref:b=>{a.current=b,typeof n=="function"?n(b):n&&(n.current=b)},onChange:f,onFocus:d,onBlur:m,onSelect:p};return as("div",{ref:i,className:"courier-relative",children:as(pe,{...h})})}let v={...o,ref:h=>{a.current=h,typeof n=="function"?n(h):n&&(n.current=h)},onChange:f,onFocus:d,onBlur:m,autoResize:t,onSelect:p};return as("div",{ref:i,className:"courier-relative",children:as(Cl,{...v})})});Kr.displayName="TextInput";import{Fragment as Qp,jsx as G,jsxs as et}from"react/jsx-runtime";var ef=s(({element:e,editor:t})=>{var L,w;let r=Pc(null),o=Pc(null),n=Pc(null),[i,a]=ss(""),[l,c]=ss(!1),[u,d]=ss(((L=e==null?void 0:e.attrs)==null?void 0:L.imageNaturalWidth)||0),[m,p]=ss(!1),f=e3(Q),{uploadImage:v}=On(),h=r3({resolver:Q0(Kp),defaultValues:{...Be,...e==null?void 0:e.attrs},mode:"onChange"}),{updateNodeAttributes:b}=Xe({editor:t,element:e,form:h,nodeType:"imageBlock"});Xp(()=>{var T;let C=(T=e==null?void 0:e.attrs)==null?void 0:T.sourcePath;if(C&&!u){let x=new Image;x.onload=()=>{d(x.naturalWidth);let P={...h.getValues(),imageNaturalWidth:x.naturalWidth};h.setValue("imageNaturalWidth",x.naturalWidth),b(P)},x.src=C}},[(w=e==null?void 0:e.attrs)==null?void 0:w.sourcePath,u,h,b]);let y=Ti(C=>{var R,I;let T=(I=(R=t==null?void 0:t.view)==null?void 0:R.dom)==null?void 0:I.closest(".ProseMirror"),x=(T==null?void 0:T.clientWidth)||1e3;if(C||(C=u),!C)return 0;let P=Math.min(100,C/x*100);return Math.round(P)},[t,u]),N=Ti(C=>{var T;C.preventDefault(),(T=r.current)==null||T.click()},[]),g=Ti((C,T)=>{let x=y(C.naturalWidth);a(`${x}%`),c(!1),h.setValue("sourcePath",T),h.setValue("imageNaturalWidth",C.naturalWidth),h.setValue("width",x);let P={...h.getValues(),sourcePath:T,width:x,imageNaturalWidth:C.naturalWidth,isUploading:!1};b(P)},[h,b,y]),k=Ti(C=>{if(!C){h.setValue("imageNaturalWidth",0),h.setValue("width",0),b({...h.getValues(),sourcePath:"",imageNaturalWidth:0,width:0});return}let T=new Image;T.onload=()=>{let x=y(T.naturalWidth);h.setValue("imageNaturalWidth",T.naturalWidth),h.setValue("width",x);let P={...h.getValues(),sourcePath:C,width:x,imageNaturalWidth:T.naturalWidth};b(P)},T.onerror=()=>{console.debug("Image failed to load:",C)},T.src=C},[h,b,y]),A=Ti(C=>{n.current&&clearTimeout(n.current),n.current=setTimeout(()=>{k(C)},500)},[k]);Xp(()=>()=>{n.current&&clearTimeout(n.current)},[]);let E=h.getValues().sourcePath;return e?et(Ne,{...h,children:[G(Qe,{type:"image"}),et("form",{ref:o,onChange:()=>{let C=h.getValues();b(C)},children:[G("h4",{className:"courier-text-sm courier-font-medium courier-mb-3",children:"Image"}),et(ra,{defaultValue:"file",className:"courier-mb-3 courier-w-full",children:[et(qn,{className:"courier-w-full courier-flex courier-justify-stretch courier-mb-3",children:[G($o,{value:"file",className:"courier-flex-1",children:"From file"}),G($o,{value:"url",className:"courier-flex-1",children:"From URL"})]}),G(oa,{value:"file",children:et("div",{className:"courier-flex courier-flex-col courier-gap-2",children:[G(Ce,{onClick:N,className:"courier-w-full",variant:"outline",type:"button",disabled:m,children:m?G(Qp,{children:"Uploading..."}):et(Qp,{children:[G(t3,{strokeWidth:1.25,className:"courier-w-4 courier-h-4 courier-ml-2 courier-text-foreground"}),"Upload image"]})}),G("input",{ref:r,type:"file",accept:"image/png, image/jpeg, image/gif, image/webp",className:"courier-hidden",onChange:C=>{var x;let T=(x=C.target.files)==null?void 0:x[0];if(T){p(!0),h.setValue("sourcePath",""),b({...h.getValues(),sourcePath:"",isUploading:!0});let P=new FileReader;P.onload=async()=>{try{let R=(await v({file:T})).url,I=new Image;I.onload=()=>{g(I,R),p(!1)},I.onerror=()=>{f({message:"Upload failed: Failed to load uploaded image",toastProps:{duration:6e3,description:`File: ${T.name} (${(T.size/1024/1024).toFixed(2)}MB)`}}),p(!1),b({...h.getValues(),isUploading:!1})},I.src=R}catch(M){console.error("Error uploading image:",M),f({message:"Upload failed: Failed to upload image",toastProps:{duration:6e3,description:`File: ${T.name} (${(T.size/1024/1024).toFixed(2)}MB)`}}),p(!1),b({...h.getValues(),isUploading:!1})}},P.onerror=()=>{f({message:"Upload failed: Failed to read image file",toastProps:{duration:6e3,description:`File: ${T.name} (${(T.size/1024/1024).toFixed(2)}MB)`}}),p(!1),b({...h.getValues(),isUploading:!1})},P.readAsDataURL(T)}}})]})}),G(oa,{value:"url",children:G(J,{control:h.control,name:"sourcePath",render:({field:C})=>et(Z,{className:"courier-mb-3",children:[G(q,{children:G(Kr,{as:"Textarea",...C,autoResize:!0,className:"courier-max-h-[88px]",onChange:T=>{C.onChange(T),A(T.target.value)}})}),G(j,{})]})})})]}),G(J,{control:h.control,name:"link",render:({field:C})=>et(Z,{className:"courier-mb-3",children:[G(q,{children:G(lr,{placeholder:"Link",value:C.value,onChange:T=>{C.onChange(T),b({...h.getValues(),link:T})}})}),G(j,{})]})}),G(J,{control:h.control,name:"alt",render:({field:C})=>et(Z,{className:"courier-mb-4",children:[G(q,{children:G(lr,{placeholder:"Alt text...",value:C.value,onChange:T=>{C.onChange(T),b({...h.getValues(),alt:T})}})}),G(j,{})]})}),G(le,{className:"courier-mt-6 courier-mb-4"}),G("h4",{className:"courier-text-sm courier-font-medium courier-mb-3",children:"Width"}),(()=>{let C=h.getValues().width,T=h.getValues().imageNaturalWidth,x=y(T),P=C===x,M=P?"original":"fill";return et(qt,{type:"single",value:E?M:"original",onValueChange:R=>{if(!R||R===M)return;let I=R==="fill"?100:y(T);I>0&&(h.setValue("width",I),b({...h.getValues(),width:I}))},className:"courier-w-full courier-border courier-rounded-md courier-border-border courier-p-0.5 courier-mb-3 courier-shadow-sm",disabled:!E,children:[G(lt,{size:"sm",value:"original",className:"courier-w-full courier-h-7",children:"Original"}),G(lt,{size:"sm",value:"fill",className:"courier-w-full courier-h-7",disabled:P||!E,children:"Fill"})]})})(),G(J,{control:h.control,name:"width",render:({field:C})=>et(Z,{className:"courier-flex-1 courier-mb-3",children:[G(q,{children:G(pe,{type:"text",inputMode:"numeric",pattern:"[0-9]*",min:1,max:100,...C,value:h.getValues().sourcePath?l?i:`${C.value}%`:"0%",className:"courier-text-2xl courier-font-normal",disabled:!h.getValues().sourcePath,onFocus:T=>{c(!0),a(T.target.value)},onChange:T=>{a(T.target.value)},onKeyDown:T=>{T.key==="Enter"&&(T.preventDefault(),T.currentTarget.blur())},onBlur:T=>{c(!1);let x=parseFloat(T.target.value.replace("%",""));if(!isNaN(x)){let P=Math.min(100,Math.max(1,x));C.onChange(P),b({...h.getValues(),width:Math.round(P)})}}})}),G(j,{})]})}),G(J,{control:h.control,name:"width",render:({field:C})=>et(Z,{className:"courier-flex-1 courier-mb-3",children:[G(q,{children:G(bl,{min:0,max:100,value:[E?C.value:0],disabled:!E,onValueChange:T=>{C.onChange(T[0]),b({...h.getValues(),width:T[0]})}})}),G(j,{})]})}),G(J,{control:h.control,name:"alignment",render:({field:C})=>et(Z,{children:[G(q,{children:et(qt,{disabled:!E,type:"single",value:C.value,onValueChange:T=>{C.onChange(T),b({...h.getValues(),alignment:T})},className:"courier-w-full courier-border courier-rounded-md courier-border-border courier-p-0.5",children:[G(lt,{size:"sm",value:"left",className:"courier-w-full",children:G(Oa,{className:"courier-h-4 courier-w-4"})}),G(lt,{size:"sm",value:"center",className:"courier-w-full",children:G(Ua,{className:"courier-h-4 courier-w-4"})}),G(lt,{size:"sm",value:"right",className:"courier-w-full",children:G(Wa,{className:"courier-h-4 courier-w-4"})})]})}),G(j,{})]})}),G(le,{className:"courier-mt-6 courier-mb-4"}),G("h4",{className:"courier-text-sm courier-font-medium courier-mb-3",children:"Border"}),G(J,{control:h.control,name:"borderWidth",render:({field:C})=>et(Z,{className:"courier-mb-3",children:[G(q,{children:G(pe,{startAdornment:G(Er,{}),type:"number",disabled:!E,min:0,...C,onChange:T=>{let x=parseInt(T.target.value)||0;C.onChange(x),b({...h.getValues(),borderWidth:x})}})}),G(j,{})]})}),G(J,{control:h.control,name:"borderColor",render:({field:C})=>et(Z,{className:"courier-mb-4",children:[G(q,{children:G(Ze,{...C,disabled:!E,defaultValue:Be.borderColor,onChange:T=>{C.onChange(T),b({...h.getValues(),[C.name]:T})}})}),G(j,{})]})})]})]}):null},"ImageBlockForm");import{getMarkRange as tf,mergeAttributes as o3}from"@tiptap/core";import n3 from"@tiptap/extension-link";import{Plugin as rf,TextSelection as of}from"@tiptap/pm/state";var Nc=n3.extend({inclusive:!0,addAttributes(){var e;return{...(e=this.parent)==null?void 0:e.call(this),hasVariables:{default:!1},originalHref:{default:null}}},parseHTML(){return[{tag:'a[href]:not([data-type="button"]):not([href *= "javascript:" i])'}]},renderHTML({HTMLAttributes:e}){if(e.hasVariables&&e.originalHref)e.href=e.originalHref,delete e.hasVariables,delete e.originalHref;else if(e.href){let t=e.href;t.includes("__VAR_")&&(e.href=t.replace(/__VAR_([^_]+)__/g,"{{$1}}"))}return["a",o3(this.options.HTMLAttributes,e,{class:"link cursor-pointer"}),0]},addProseMirrorPlugins(){var t;return[...((t=this.parent)==null?void 0:t.call(this))||[],new rf({props:{handleClick:(r,o,n)=>{if(n.button!==0)return!1;let{state:i}=r,{doc:a}=i,l=a.resolve(o),c=l.marks().find(u=>u.type.name==="link");if(c||o>0&&(c=a.resolve(o-1).marks().find(d=>d.type.name==="link")),c||o<a.content.size&&(c=a.resolve(o+1).marks().find(d=>d.type.name==="link")),c){let u=tf(l,c.type);return u?(r.dispatch(i.tr.setSelection(of.create(a,u.from,u.to))),r.dispatch(r.state.tr.setMeta("showLinkForm",{from:u.from,to:u.to,href:c.attrs.originalHref||c.attrs.href})),!0):(r.dispatch(i.tr.setSelection(of.create(a,o,o+1))),r.dispatch(r.state.tr.setMeta("showLinkForm",{from:o,to:o+1,href:c.attrs.originalHref||c.attrs.href})),!0)}return!1}}}),new rf({appendTransaction(r,o,n){if(!r.some(l=>l.docChanged))return null;let i=n.tr,a=!1;return n.doc.descendants((l,c)=>(l.marks.forEach(u=>{if(u.type.name==="link"&&u.attrs.href){let d=u.attrs.href;if(d.includes("__VAR_")){let m=d.replace(/__VAR_([^_]+)__/g,"{{$1}}");if(m!==d){let p=tf(n.doc.resolve(c),u.type);p&&(i.removeMark(p.from,p.to,u.type),i.addMark(p.from,p.to,u.type.create({...u.attrs,href:m,hasVariables:!0,originalHref:m})),a=!0)}}}}),!0)),a?i:null}})]}});import{zodResolver as i3}from"@hookform/resolvers/zod";import{useSetAtom as a3}from"jotai";import{useRef as s3,useEffect as l3}from"react";import{useForm as c3}from"react-hook-form";import{z as Mc}from"zod";import{jsx as Mo,jsxs as nf}from"react/jsx-runtime";var u3=Mc.object({href:Mc.string(),openInNewTab:Mc.boolean().default(!1)}),af=s(({editor:e,mark:t,pendingLink:r})=>{let o=a3(la),n=s3(null),i=c3({resolver:i3(u3),defaultValues:{href:(t==null?void 0:t.attrs.href)||"",openInNewTab:(t==null?void 0:t.attrs.target)==="_blank"||!1}});l3(()=>{i.reset({href:(t==null?void 0:t.attrs.href)||"",openInNewTab:(t==null?void 0:t.attrs.target)==="_blank"||!1})},[t,i]);let a=s(async l=>{let c=l.href.trim();if(!c){r&&(e==null||e.commands.setTextSelection({from:r.from,to:r.to})),e==null||e.commands.unsetLink(),o(null);return}r&&(e==null||e.commands.setTextSelection({from:r.from,to:r.to})),await(e==null?void 0:e.chain().focus().unsetLink().setTextSelection({from:(r==null?void 0:r.from)||0,to:(r==null?void 0:r.to)||0}).setLink({href:c,target:l.openInNewTab?"_blank":null}).run()),e==null||e.commands.setTextSelection((r==null?void 0:r.to)||0),o(null)},"updateLink");return nf(Ne,{...i,children:[Mo("p",{className:"courier-font-medium courier-mb-4",children:"Link"}),Mo("div",{className:"courier-space-y-4",children:Mo(J,{control:i.control,name:"href",render:({field:l})=>nf(Z,{children:[Mo(rr,{children:"URL"}),Mo(q,{children:Mo(Kr,{as:"Textarea",autoResize:!0,...l,ref:c=>{typeof l.ref=="function"&&l.ref(c),n.current=c},onKeyDown:c=>{c.key==="Enter"&&(c.preventDefault(),c.stopPropagation(),i.handleSubmit(a)())},onBlur:()=>{l.onBlur(),i.handleSubmit(a)()}})}),Mo(j,{})]})})})]})},"LinkForm");import{mergeAttributes as y3,ReactNodeViewRenderer as C3}from"@tiptap/react";import{TextSelection as v3,Plugin as x3,PluginKey as T3}from"prosemirror-state";var Mr={8:"Backspace",9:"Tab",10:"Enter",12:"NumLock",13:"Enter",16:"Shift",17:"Control",18:"Alt",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",44:"PrintScreen",45:"Insert",46:"Delete",59:";",61:"=",91:"Meta",92:"Meta",106:"*",107:"+",108:",",109:"-",110:".",111:"/",144:"NumLock",145:"ScrollLock",160:"Shift",161:"Shift",162:"Control",163:"Control",164:"Alt",165:"Alt",173:"-",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'"},cs={48:")",49:"!",50:"@",51:"#",52:"$",53:"%",54:"^",55:"&",56:"*",57:"(",59:":",61:"+",173:"_",186:":",187:"+",188:"<",189:"_",190:">",191:"?",192:"~",219:"{",220:"|",221:"}",222:'"'},d3=typeof navigator!="undefined"&&/Mac/.test(navigator.platform),m3=typeof navigator!="undefined"&&/MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent);for(He=0;He<10;He++)Mr[48+He]=Mr[96+He]=String(He);var He;for(He=1;He<=24;He++)Mr[He+111]="F"+He;var He;for(He=65;He<=90;He++)Mr[He]=String.fromCharCode(He+32),cs[He]=String.fromCharCode(He);var He;for(ls in Mr)cs.hasOwnProperty(ls)||(cs[ls]=Mr[ls]);var ls;function sf(e){var t=d3&&e.metaKey&&e.shiftKey&&!e.ctrlKey&&!e.altKey||m3&&e.shiftKey&&e.key&&e.key.length==1||e.key=="Unidentified",r=!t&&e.key||(e.shiftKey?cs:Mr)[e.keyCode]||e.key||"Unidentified";return r=="Esc"&&(r="Escape"),r=="Del"&&(r="Delete"),r=="Left"&&(r="ArrowLeft"),r=="Up"&&(r="ArrowUp"),r=="Right"&&(r="ArrowRight"),r=="Down"&&(r="ArrowDown"),r}s(sf,"keyName");import{Plugin as p3}from"prosemirror-state";var f3=typeof navigator!="undefined"?/Mac|iP(hone|[oa]d)/.test(navigator.platform):!1;function g3(e){let t=e.split(/-(?!$)/),r=t[t.length-1];r=="Space"&&(r=" ");let o,n,i,a;for(let l=0;l<t.length-1;l++){let c=t[l];if(/^(cmd|meta|m)$/i.test(c))a=!0;else if(/^a(lt)?$/i.test(c))o=!0;else if(/^(c|ctrl|control)$/i.test(c))n=!0;else if(/^s(hift)?$/i.test(c))i=!0;else if(/^mod$/i.test(c))f3?a=!0:n=!0;else throw new Error("Unrecognized modifier name: "+c)}return o&&(r="Alt-"+r),n&&(r="Ctrl-"+r),a&&(r="Meta-"+r),i&&(r="Shift-"+r),r}s(g3,"normalizeKeyName");function h3(e){let t=Object.create(null);for(let r in e)t[g3(r)]=e[r];return t}s(h3,"normalize");function Ac(e,t,r=!0){return t.altKey&&(e="Alt-"+e),t.ctrlKey&&(e="Ctrl-"+e),t.metaKey&&(e="Meta-"+e),r&&t.shiftKey&&(e="Shift-"+e),e}s(Ac,"modifiers");function lf(e){return new p3({props:{handleKeyDown:b3(e)}})}s(lf,"keymap");function b3(e){let t=h3(e);return function(r,o){let n=sf(o),i,a=t[Ac(n,o)];if(a&&a(r.state,r.dispatch,r))return!0;if(n.length==1&&n!=" "){if(o.shiftKey){let l=t[Ac(n,o,!1)];if(l&&l(r.state,r.dispatch,r))return!0}if((o.shiftKey||o.altKey||o.metaKey||n.charCodeAt(0)>127)&&(i=Mr[o.keyCode])&&i!=n){let l=t[Ac(i,o)];if(l&&l(r.state,r.dispatch,r))return!0}}return!1}}s(b3,"keydownHandler");import{v4 as E3}from"uuid";var Sc=en.extend({addOptions(){var e;return{...(e=this.parent)==null?void 0:e.call(this),HTMLAttributes:{class:""}}},onCreate(){Oe(this.editor,this.name)},onTransaction(){let e=this.editor.state.tr,t=!1;this.editor.state.doc.descendants((r,o)=>{if(r.type.name===this.name&&!r.attrs.id){let n=`node-${E3()}`;e.setNodeMarkup(o,void 0,{...r.attrs,id:n}),t=!0}return!0}),t&&this.editor.view.dispatch(e)},addAttributes(){return{paddingVertical:{default:ue.paddingVertical,parseHTML:e=>e.style.paddingTop?parseInt(e.style.paddingTop):ue.paddingVertical,renderHTML:e=>({"data-padding-vertical":e.paddingVertical})},paddingHorizontal:{default:ue.paddingHorizontal,parseHTML:e=>e.style.paddingLeft?parseInt(e.style.paddingLeft):ue.paddingHorizontal,renderHTML:e=>({"data-padding-horizontal":e.paddingHorizontal})},textAlign:{default:ue.textAlign,parseHTML:e=>e.style.textAlign||ue.textAlign,renderHTML:e=>({"data-text-align":e.textAlign})},backgroundColor:{default:ue.backgroundColor,parseHTML:e=>e.style.backgroundColor||ue.backgroundColor,renderHTML:e=>({"data-background-color":e.backgroundColor})},borderWidth:{default:ue.borderWidth,parseHTML:e=>e.style.borderWidth?parseInt(e.style.borderWidth):ue.borderWidth,renderHTML:e=>({"data-border-width":e.borderWidth})},borderColor:{default:ue.borderColor,parseHTML:e=>e.style.borderColor||ue.borderColor,renderHTML:e=>({"data-border-color":e.borderColor})},id:{default:void 0,parseHTML:e=>e.getAttribute("data-id"),renderHTML:e=>({"data-id":e.id})},locales:{default:void 0,parseHTML:()=>{},renderHTML:()=>({})}}},parseHTML(){return[{tag:'div[data-type="paragraph"]'}]},renderHTML({HTMLAttributes:e}){return["div",y3(this.options.HTMLAttributes,e,{"data-type":"paragraph"}),0]},addNodeView(){return C3(ns)},addProseMirrorPlugins(){return[lf({"Mod-a":({selection:e,tr:t})=>{document.execCommand("selectAll");let{$from:r}=e,o=r.depth,n=null;for(;o>0;){let i=r.node(o);if(i.type.name==="paragraph"||i.type.name==="heading"){n=i;break}o--}if(n){let i=r.start(o),a=r.end(o);if(e.from!==i||e.to!==a)return t.setSelection(v3.create(t.doc,i,a)),!0}return!1}}),new x3({key:new T3("preventElementDeletion"),props:{handleKeyDown:(e,t)=>{let r=t.key==="Delete"||t.key==="Backspace"||t.keyCode===8||t.keyCode===46||t.code==="Delete"||t.code==="Backspace",o=t.metaKey||t.ctrlKey||t.altKey;if(r){let{state:n}=e,{selection:i}=n,{$anchor:a}=i,l=a.depth,c=null;for(;l>0;){let u=a.node(l);if(u.type.name==="paragraph"||u.type.name==="heading"){c=u;break}l--}if(c){let u=c.textContent,d=a.parentOffset===0,m=a.parentOffset===u.length,p=u.length===0,f=t.key==="Delete"||t.keyCode===46||t.code==="Delete",v=f?i.$from.nodeAfter:i.$from.nodeBefore,h=v!=null;if(h&&p)return!1;if(o||p&&!h||!f&&d&&!h||f&&m&&!h)return t.preventDefault(),t.stopPropagation(),!0}}return!1}}})]},addKeyboardShortcuts(){let e=s((t,r=!0)=>{let{empty:o,$anchor:n,$head:i}=t.state.selection,a=n.depth,l=null;for(;a>0;){let p=n.node(a);if(p.type.name==="paragraph"||p.type.name==="heading"){l=p;break}a--}if(!l)return!1;let c=r?n.pos===i.pos&&n.parentOffset===0:n.pos===i.pos&&n.parentOffset===l.textContent.length,u=l.textContent.length===0,d=r?t.state.selection.$from.nodeBefore:t.state.selection.$from.nodeAfter,m=d!=null;return m&&u?!1:c&&!m||u&&!m?!0:o?!1:(t.commands.command(({tr:p,dispatch:f})=>f?(p.insertText("",t.state.selection.from,t.state.selection.to),!0):!1),!0)},"handleDeletion");return{Enter:({editor:t})=>{if(t.view.dom.querySelector(".variable-suggestion")||t.view.state.selection.$from.node().type.spec.code)return!1;let{state:o,dispatch:n}=t.view,{tr:i}=o;return i.replaceSelectionWith(o.schema.nodes.hardBreak.create()).scrollIntoView(),n(i),!0},"Mod-a":({editor:t})=>{let{$from:r}=t.state.selection,o=r.depth;for(;o>0;){let n=r.node(o);if(n.type.name==="paragraph"||n.type.name==="heading"){let i=r.start(o),a=r.end(o);return t.commands.setTextSelection({from:i,to:a}),!0}o--}return!1},Backspace:({editor:t})=>e(t,!0),Delete:({editor:t})=>e(t,!1),Tab:()=>!0,"Shift-Tab":()=>!0}},addCommands(){return{setTextAlign:e=>({chain:t})=>t().updateAttributes(this.name,{textAlign:e}).run()}}});import{Extension as w3}from"@tiptap/core";import{Plugin as k3,PluginKey as P3}from"@tiptap/pm/state";var N3=new P3("selection"),Ic=w3.create({name:"selection",addOptions(){return{HTMLAttributes:{},setSelectedNode:()=>{},shouldHandleClick:()=>!0}},addGlobalAttributes(){return[{types:["paragraph","heading","button","spacer","divider","imageBlock","blockquote","customCode","column"],attributes:{isSelected:{default:!1,parseHTML:()=>!1,renderHTML:e=>e.isSelected?{class:"selected-element"}:{}}}}]},addCommands(){return{updateSelectionState:e=>({tr:t,dispatch:r})=>{var o,n;if(r){let i=(o=e==null?void 0:e.attrs)==null?void 0:o.id,a=(n=e==null?void 0:e.type)==null?void 0:n.name;t.doc.descendants((l,c)=>{var u,d,m;if(l.type.name!=="text"&&((u=l.type.spec.attrs)==null?void 0:u.isSelected)!==void 0){let p=!1;i?p=((d=l.attrs)==null?void 0:d.id)===i&&l.type.name===a:a&&(p=l.type.name===a&&l.content.size===((m=e==null?void 0:e.content)==null?void 0:m.size)),p?t.setNodeAttribute(c,"isSelected",!0):t.setNodeAttribute(c,"isSelected",!1)}return!0})}return!0}}},addProseMirrorPlugins(){return[new k3({key:N3,props:{handleClick:(e,t,r)=>{let{state:o}=e;if(!this.editor.isEditable||this.options.shouldHandleClick&&!this.options.shouldHandleClick())return!1;let n=r.target;if(n.closest(".node-blockquote")||n.closest('[data-cypress="draggable-handle"]')||n.closest('button[class*="courier-cursor-grab"]'))return!1;try{let l=window.getSelection();if(l&&l.rangeCount>0){let u=l.getRangeAt(0).startContainer.parentElement;if(u&&(["P","H1","H2","H3"].includes(u.tagName)||["P","H1","H2","H3"].some(d=>u.closest(d)))){let d=e.posAtDOM(u,0),p=o.doc.resolve(d).node();if(p&&["paragraph","heading"].includes(p.type.name))return this.options.setSelectedNode(p),this.editor.commands.updateSelectionState(p),!0}}}catch(l){console.error("Error handling click:",l)}let i=e.posAtDOM(n,0),a=o.doc.resolve(i).node();return a&&["paragraph","heading"].includes(a.type.name)?(this.options.setSelectedNode(a),this.editor.commands.updateSelectionState(a),!0):!1}}})]}});import{forwardRef as M3}from"react";import{jsx as A3}from"react/jsx-runtime";var Lc=M3(({children:e,className:t,withShadow:r=!0,withBorder:o=!0,...n},i)=>{let a=S("courier-bg-popover courier-rounded-lg courier-text-popover-foreground",r?"courier-shadow-sm":"",o?"courier-border courier-border-border":"",t);return A3("div",{className:a,...n,ref:i,children:e})});Lc.displayName="Surface";import{v4 as S3}from"uuid";var I3=s((e,t)=>{let r=null;return e.state.doc.descendants((o,n)=>o.attrs.id===t?(r=n,!1):!0),r},"findNodePositionById"),hf=s((e,t,r,o,n,i)=>{let a=`node-${S3()}`,c={heading:()=>e.schema.nodes.heading.create({...ue,...o,id:a},i),paragraph:()=>e.schema.nodes.paragraph.create({...ue,...o,id:a},i),text:()=>e.schema.nodes.paragraph.create({...ue,...o,id:a},i),spacer:()=>e.schema.nodes.divider.create({...Ya,...o,id:a}),divider:()=>e.schema.nodes.divider.create({...Mt,...o,id:a}),button:()=>e.schema.nodes.button.create({...Ie,...o,id:a},i),imageBlock:()=>e.schema.nodes.imageBlock.create({...Be,...o,id:a}),image:()=>e.schema.nodes.imageBlock.create({...Be,...o,id:a}),customCode:()=>e.schema.nodes.customCode.create({...Pr,...o,id:a}),column:()=>e.schema.nodes.column.create({...qe,...o,id:a})}[t];if(c)try{let u=e.state.tr,d=c();u.insert(r,d),e.view.dispatch(u),n&&n(d),(t==="text"||t==="paragraph"||t==="heading")&&setTimeout(()=>{let p=I3(e,a);p!==null&&e.commands.setTextSelection(p+1),e.view.focus()},50);let m=new CustomEvent("node-duplicated",{detail:{newNodeId:a}});document.dispatchEvent(m)}catch(u){console.error("Error creating node:",u)}else try{if(e.schema.nodes[t]){let u=e.state.tr,d=e.schema.nodes[t].create({...o,id:a},i);u.insert(r,d),e.view.dispatch(u),n&&n(d);let m=new CustomEvent("node-duplicated",{detail:{newNodeId:a}});document.dispatchEvent(m)}else console.error(`Cannot duplicate node: type "${t}" not found in schema`)}catch(u){console.error("Error creating fallback node:",u)}return a},"createOrDuplicateNode");var jr=s(e=>{let t=e();return typeof t=="number"?t:null},"safeGetPos"),We=s(e=>{let t=jr(e.getPos);return t===null?null:e.editor.state.doc.nodeAt(t)},"safeGetNodeAtPos");import{GripVertical as L3}from"lucide-react";import{forwardRef as R3}from"react";import{jsx as bf}from"react/jsx-runtime";var yf=R3((e,t)=>bf("button",{...e,ref:t,"data-cypress":"draggable-handle","data-drag-handle":!0,className:S("courier-flex-shrink-0 courier-p-1 courier-w-7 courier-h-7 courier-rounded-md courier-border courier-border-border courier-flex courier-items-center courier-justify-center courier-shadow-sm courier-bg-background hover:courier-bg-card courier-cursor-grab courier-select-none courier-z-10 courier-touch-none",e.className),style:{WebkitUserSelect:"none",userSelect:"none",touchAction:"none"},children:bf(L3,{strokeWidth:1,className:"courier-w-5 courier-stroke-neutral-400 courier-fill-neutral-400 courier-pointer-events-none"})}));import{useAtomValue as B3,useSetAtom as D3}from"jotai";import{useCallback as At}from"react";import{v4 as F3}from"uuid";import{useMemo as H3}from"react";var Cf=s((e,t,r)=>H3(()=>{if(!(e!=null&&e.conditionalRules)||!t||!r)return null;let o=e.conditionalRules.filter(n=>n.trigger.type==="node"&&t.isActive(n.trigger.name)!==n.trigger.active?!1:n.conditions.activeItems.some(i=>i==="bold"?r.isBold:i==="italic"?r.isItalic:i==="underline"?r.isUnderline:i==="strike"?r.isStrike:!1));return{getRuleForItem:n=>o.find(i=>!i.conditions.activeItems.includes(n))}},[e,t,r]),"useConditionalRules");var us=s((e,t,r)=>{let o=D3(Re),n=B3(ge),i=Cf(t,e,r),a=At(g=>{let k=-1;return e.state.doc.descendants((A,E)=>{var L;return((L=A.attrs)==null?void 0:L.id)===g?(k=E,!1):!0}),k},[e]),l=At((g,k)=>{var A,E,L;if(((A=n==null?void 0:n.type)==null?void 0:A.name)==="button"&&((E=n.attrs)!=null&&E.id)){let w=n.attrs.id,C=a(w);if(C>=0){let T=e.state.tr;return T.setNodeMarkup(C,void 0,{...(L=e.state.doc.nodeAt(C))==null?void 0:L.attrs,[g]:k}),e.view.dispatch(T),setTimeout(()=>{let x=a(w);if(x>=0){let P=e.state.doc.nodeAt(x);P&&o(P)}},0),!0}}return!1},[e,n,a,o]),c=At(()=>{var g,k;if(((g=n==null?void 0:n.type)==null?void 0:g.name)==="button"&&((k=n.attrs)!=null&&k.id)){let A=n.attrs.id,E=a(A);if(E>=0){let L=e.state.doc.nodeAt(E);if(!L)return!1;let w={...L.attrs,fontWeight:"normal",fontStyle:"normal",isUnderline:!1,isStrike:!1},C=e.state.tr;return C.setNodeMarkup(E,void 0,w),e.view.dispatch(C),setTimeout(()=>{let T=a(A);if(T>=0){let x=e.state.doc.nodeAt(T);x&&o(x)}},0),!0}}return!1},[e,n,a,o]),u=At(()=>{var g;if(((g=n==null?void 0:n.type)==null?void 0:g.name)==="button"){let k=n.attrs.fontWeight==="bold"?"normal":"bold";if(l("fontWeight",k))return!0}if(i&&r){let k=i.getRuleForItem("bold");if(k&&k.action.type==="toggle_off"){let A=e.chain().focus();return k.action.targets.forEach(E=>{E==="italic"&&r.isItalic&&A.toggleItalic()}),A.toggleBold().run(),!0}}return e.chain().focus().toggleBold().run()},[e,n,l,i,r]),d=At(()=>{var g;if(((g=n==null?void 0:n.type)==null?void 0:g.name)==="button"){let k=n.attrs.fontStyle==="italic"?"normal":"italic";if(l("fontStyle",k))return!0}if(i&&r){let k=i.getRuleForItem("italic");if(k&&k.action.type==="toggle_off"){let A=e.chain().focus();return k.action.targets.forEach(E=>{E==="bold"&&r.isBold&&A.toggleBold()}),A.toggleItalic().run(),!0}}return e.chain().focus().toggleItalic().run()},[e,n,l,i,r]),m=At(()=>{var g;if(((g=n==null?void 0:n.type)==null?void 0:g.name)==="button"){let k=!n.attrs.isStrike;if(l("isStrike",k))return!0}return e.chain().focus().toggleMark("strike").run()},[e,n,l]),p=At(()=>{var g;if(((g=n==null?void 0:n.type)==null?void 0:g.name)==="button"){let k=!n.attrs.isUnderline;if(l("isUnderline",k))return!0}return e.chain().focus().toggleMark("underline").run()},[e,n,l]),f=At(()=>e.chain().focus().setTextAlign("left").run(),[e]),v=At(()=>e.chain().focus().setTextAlign("center").run(),[e]),h=At(()=>e.chain().focus().setTextAlign("right").run(),[e]),b=At(()=>e.chain().focus().setTextAlign("justify").run(),[e]),y=At((g,k)=>e.chain().focus().setLink({href:g,target:k?"_blank":""}).run(),[e]),N=At(()=>{let g=e.isActive("blockquote");if(e.chain().focus().toggleBlockquote().run()){let{selection:E}=e.state,L=E.$anchor;if(g){let w=L.node();(w.type.name==="paragraph"||w.type.name==="heading")&&o(w)}else for(let w=L.depth;w>0;w--){let C=L.node(w);if(C.type.name==="blockquote"){if(C.attrs.id)o(C);else{let T=L.before(w),x=`node-${F3()}`,P=e.state.tr;P.setNodeMarkup(T,void 0,{...C.attrs,id:x}),e.view.dispatch(P);let M=e.state.doc.nodeAt(T);M&&o(M)}break}}}},[e,o]);return{onBold:u,onItalic:d,onStrike:m,onUnderline:p,onAlignLeft:f,onAlignCenter:v,onAlignRight:h,onAlignJustify:b,onLink:y,onQuote:N,resetButtonFormatting:c}},"useTextmenuCommands");import{jsx as Rc}from"react/jsx-runtime";var V3=s(e=>{switch(e){case"text":return"Text";case"heading":return"Heading";case"spacer":return"Spacer";case"divider":return"Divider";case"button":return"Button";case"image":return"Image";case"customCode":return"Custom code";case"column":return"Column layout";default:return"Drop here"}},"getPlaceholderLabel"),ds=s(({type:e})=>Rc("div",{className:"courier-flex courier-w-full courier-pointer-events-none",children:Rc("div",{className:S("courier-relative courier-flex courier-flex-grow courier-items-center courier-px-5 courier-py-[18px] courier-bg-background/50 courier-ml-10","courier-border-2 courier-border-dashed courier-border-accent-foreground courier-rounded-md courier-drag-indicator dark:courier-border-accent"),children:Rc("div",{className:"courier-text-accent-foreground dark:courier-text-accent",children:V3(e)})})}),"DropIndicatorPlaceholder");import{Fragment as Z3,jsx as St,jsxs as ms}from"react/jsx-runtime";function z3(){let[e,t]=ps(!1);return Hc(()=>{let r=setTimeout(()=>t(!0),500);return()=>clearTimeout(r)},[]),e}s(z3,"useMountStatus");var Ye=s(({children:e,id:t,className:r,editor:o,getPos:n,...i})=>{let a=Yr(null),l=Yr(null),c=Yr(null),[u,d]=ps(!1),[m,p]=ps(null),[f,v]=ps(null),h=Yr(null),b=Yr(!1),y=Yr(null),N=Yr(null),g=Yr(null),k=z3(),A=u&&!k,E=Ao(()=>{if(!o||!t)return null;let w=null;return o.state.doc.descendants((C,T,x)=>{var P;if(((P=C.attrs)==null?void 0:P.id)===t){let M=0;return x&&x.content.forEach((R,I,H)=>{R===C&&(M=H)}),w={node:C,pos:T,parent:x,index:M},!1}return!0}),w},[t,o]),L=Ao(()=>{if(!o)return!1;let w=E();return!w||!w.parent?!1:w.index===w.parent.childCount-1},[o,E]);return Hc(()=>{let w=a.current,C=l.current;if(!w)return;let T=sr(gi({element:w,dragHandle:C||void 0,getInitialData:()=>{var I,H,V,F,O,B;let x=E(),P="text";if(x){let W=x.node;switch(W.type.name){case"heading":P="heading";break;case"paragraph":P="text";break;case"imageBlock":P="image";break;case"divider":P=(I=W.attrs)!=null&&I.spacer?"spacer":"divider";break;case"button":P="button";break;case"customCode":P="customCode";break;case"column":P="column";break}}let M=(x==null?void 0:x.parent)===o.state.doc,R=((H=x==null?void 0:x.parent)==null?void 0:H.type.name)==="columnCell";return{id:t,type:M?"editor":R?"column-cell-item":"nested-drag",index:(V=x==null?void 0:x.index)!=null?V:0,dragType:P,pos:x==null?void 0:x.pos,originalIndex:(F=x==null?void 0:x.index)!=null?F:0,columnId:R?(O=x==null?void 0:x.parent)==null?void 0:O.attrs.columnId:void 0,cellIndex:R?(B=x==null?void 0:x.parent)==null?void 0:B.attrs.index:void 0}},onGenerateDragPreview:()=>{let x=w.querySelectorAll("[data-no-drag-preview]"),P=[];x.forEach((M,R)=>{let I=M;P[R]=I.style.display,I.style.display="none"}),requestAnimationFrame(()=>{x.forEach((M,R)=>{let I=M;I.style.display=P[R]})})},onDragStart:()=>{d(!0),document.body.style.cursor="grabbing";let x=s(P=>{N.current=P.clientY},"handleMouseMove");document.addEventListener("mousemove",x),g.current=()=>{document.removeEventListener("mousemove",x)},o&&o.isEditable&&o.setEditable(!1)},onDrop:()=>{d(!1),document.body.style.cursor="",g.current&&(g.current(),g.current=null),o&&o.setEditable(!0)}}),Pt({element:w,getData:({input:x,element:P})=>{var B,W,U,ie;let M=E(),R=(M==null?void 0:M.parent)===o.state.doc,I=((B=M==null?void 0:M.parent)==null?void 0:B.type.name)==="columnCell",H={id:t,type:R?"editor":I?"column-cell-item":"nested-drag",index:(W=M==null?void 0:M.index)!=null?W:0,pos:M==null?void 0:M.pos,nodeType:M==null?void 0:M.node.type.name,columnId:I?(U=M==null?void 0:M.parent)==null?void 0:U.attrs.columnId:void 0,cellIndex:I?(ie=M==null?void 0:M.parent)==null?void 0:ie.attrs.index:void 0};if(P.getAttribute("data-node-type")==="column"){let ee=P.getBoundingClientRect(),K=x.clientY,D=30,z=Math.abs(K-ee.top),oe=Math.abs(K-ee.bottom);if(z>D&&oe>D)return{...H,disableDropIndicator:!0}}let F=P.closest('[data-column-cell="true"]');if(L()&&w){let ee=w.getBoundingClientRect(),K=x.clientY,D=ee.top+ee.height/2;if(K>=D&&K>ee.bottom)return{...H,[Symbol.for("closestEdge")]:"bottom"}}let O=L()?["top","bottom"]:["top"];return Gm(H,{input:x,element:P,allowedEdges:O})},canDrop:({source:x})=>x.data.id!==t,onDragEnter:({self:x,source:P,location:M})=>{var W,U,ie,ee,K;if(x.data.disableDropIndicator){p(null);return}y.current&&(clearTimeout(y.current),y.current=null);let R=M.current.dropTargets;if(R.length>0&&R[0].element!==w){p(null),b.current=!1,h.current=null;return}let I=hi(x.data),H=I,V=L(),F=(ie=(U=(W=M==null?void 0:M.current)==null?void 0:W.input)==null?void 0:U.clientY)!=null?ie:N.current;F!==null&&(N.current=F);let O=P.data;v(O.dragType||null),I==="bottom"&&V&&P.data.id===t&&(H=null);let B=P.data.type==="editor"||P.data.type==="column-cell-item";if(V&&B)if(I==="top"){let D=a.current;if(D){let z=D.getBoundingClientRect(),oe=(ee=F!=null?F:N.current)!=null?ee:z.top+z.height/2,be=z.top+z.height/2,Pe=z.height,Me=Math.max(10,Math.min(30,Pe*.3));oe<be-Me?(b.current=!1,H="top"):b.current?H="bottom":H="top"}else b.current=!1,H="top"}else b.current?H="bottom":I==="bottom"&&(b.current=!0,H="bottom");else V&&!B&&(b.current=!1);if(!b.current&&(P.data.type==="editor"||P.data.type==="column-cell-item")&&typeof P.data.index=="number"){let D=P.data.index,z=E();((K=z==null?void 0:z.index)!=null?K:0)===D+1&&I==="top"&&(H=null)}H!==h.current&&(h.current=H,p(H))},onDrag:({self:x,source:P,location:M})=>{var W,U,ie,ee,K;if(x.data.disableDropIndicator){p(null);return}y.current&&(clearTimeout(y.current),y.current=null);let R=M.current.dropTargets;if(R.length>0&&R[0].element!==w){p(null);return}let I=(ie=(U=(W=M==null?void 0:M.current)==null?void 0:W.input)==null?void 0:U.clientY)!=null?ie:N.current;I!==null&&(N.current=I);let H=hi(x.data),V=H,F=L(),O=P.data;v(O.dragType||null),H==="bottom"&&F&&P.data.id===t&&(V=null);let B=P.data.type==="editor"||P.data.type==="column-cell-item";if(F&&B)if(H==="top"){let D=a.current;if(D){let z=D.getBoundingClientRect(),oe=(ee=I!=null?I:N.current)!=null?ee:z.top+z.height/2,be=z.top+z.height/2,Pe=z.height,Me=Math.max(10,Math.min(30,Pe*.3));oe<be-Me?(b.current=!1,V="top"):b.current?V="bottom":V="top"}else b.current=!1,V="top"}else b.current?V="bottom":H==="bottom"&&(b.current=!0,V="bottom");else F&&!B&&(b.current=!1);if(!b.current&&(P.data.type==="editor"||P.data.type==="column-cell-item")&&typeof P.data.index=="number"){let D=P.data.index,z=E();((K=z==null?void 0:z.index)!=null?K:0)===D+1&&H==="top"&&(V=null)}V!==h.current&&(h.current=V,p(V))},onDragLeave:()=>{if(L()&&b.current){let x=w==null?void 0:w.getBoundingClientRect(),P=N.current;if(x&&P!==null&&P>=x.bottom-10)return;y.current&&clearTimeout(y.current),y.current=setTimeout(()=>{b.current=!1,h.current=null,p(null),v(null),y.current=null},150)}else y.current&&(clearTimeout(y.current),y.current=null),b.current=!1,h.current=null,p(null),v(null)},onDrop:()=>{y.current&&(clearTimeout(y.current),y.current=null),b.current=!1,h.current=null,p(null),v(null)}}));return()=>{y.current&&(clearTimeout(y.current),y.current=null),T()}},[t,L,o,E]),St($3,{ref:a,id:t,fadeIn:A,className:r,dragging:u,closestEdge:m,dragType:f,handleRef:l,contentRef:c,editor:o,...i,children:e})},"SortableItemWrapper"),$3=W3(({children:e,className:t,dragOverlay:r,handleRef:o,contentRef:n,closestEdge:i,dragType:a,id:l,editor:c,fadeIn:u,dragging:d,...m},p)=>{Hc(()=>{if(r)return document.body.style.cursor="grabbing",()=>{document.body.style.cursor=""}},[r]);let f=U3(ge),{resetButtonFormatting:v}=us(c),h=s((E,L)=>{let w=null;return E.doc.descendants((C,T)=>{var x;return w!==null?!1:((x=C.attrs)==null?void 0:x.id)===L?(w=T,!1):!0}),w},"findNodePositionById"),b=Ao(()=>{if(!c||!l)return{node:null,pos:null};let E=h(c.state,l);return E===null?{node:null,pos:null}:{node:c.state.doc.nodeAt(E),pos:E}},[c,l]),y=Ao(()=>{c.commands.blur(),f(null)},[c,f]),N=Ao(()=>{if(!(!c||!l))try{let{node:E,pos:L}=b();if(!E||L===null)return;let w=E.nodeSize,C=c.state.doc.childCount===1;f(null),c.commands.updateSelectionState(null);let T=c.state.tr;T.delete(L,L+w),T.setMeta("addToHistory",!0),c.view.dispatch(T),C&&setTimeout(()=>{let x=c.state.doc.nodeAt(0);if(x&&x.type.name==="paragraph"&&!x.attrs.id){let P=`node-${_3()}`,M=c.state.tr;M.setNodeMarkup(0,void 0,{...x.attrs,id:P}),c.view.dispatch(M);let R=new CustomEvent("node-duplicated",{detail:{newNodeId:P}});document.dispatchEvent(R)}},50)}catch(E){console.error("Error deleting node:",E)}},[c,l,b,f]),g=Ao(()=>{if(!(!c||!l))try{let{node:E,pos:L}=b();if(!E||L===null)return;if(E.type.name==="button"){v();return}let w=E.type.name==="blockquote",C=E.type.name==="heading";!w&&!C&&y(),setTimeout(()=>{let T=c.chain();if(T.setNodeSelection(L).unsetAllMarks(),w&&E.content&&E.content.firstChild?E.content.firstChild.type.name!=="paragraph"&&T.setParagraph():E.type.name!=="paragraph"&&!w&&!C&&T.setParagraph(),T.run(),w){let x=b();x.node&&x.pos!==null&&(f(x.node),c.commands.updateSelectionState(x.node))}},100)}catch(E){console.error("Error removing formatting:",E)}},[c,l,b,y,v,f]),k=Ao(()=>{if(!(!c||!l))try{y(),setTimeout(()=>{let{node:E,pos:L}=b();if(!E||L===null)return;let w=E.type.name,C={...E.attrs};delete C.id;let T=L+(E==null?void 0:E.nodeSize);hf(c,w,T,C,x=>f(x),E.content)},100)}catch(E){console.error("Error duplicating node:",E)}},[c,l,b,y,f]),{node:A}=b();return ms(O3,{ref:p,"data-cypress":"draggable-item","data-node-view-wrapper":!0,"data-id":l,className:S("courier-flex courier-flex-col courier-relative draggable-item",t),...m,children:[i==="top"&&St(ds,{type:a}),ms("div",{className:"courier-flex courier-items-center courier-justify-center courier-gap-2 courier-pl-10",children:[St(yf,{ref:o,className:"courier-absolute courier-left-[-8px]",tabIndex:-1,"data-no-drag-preview":!0}),St("div",{ref:n,className:"courier-flex-1 courier-grow draggable-content-wrapper",children:e}),ms("div",{"data-no-drag-preview":!0,className:S("courier-actions-panel courier-absolute courier-right-[-50px] courier-rounded-lg courier-border courier-border-border courier-bg-background courier-shadow-md courier-hidden courier-items-center courier-justify-center hover:courier-z-[100000]",d&&"!courier-hidden"),children:[(A==null?void 0:A.type.name)!=="imageBlock"&&(A==null?void 0:A.type.name)!=="divider"&&(A==null?void 0:A.type.name)!=="spacer"&&(A==null?void 0:A.type.name)!=="button"&&(A==null?void 0:A.type.name)!=="column"&&(A==null?void 0:A.type.name)!=="customCode"&&ms(Z3,{children:[St("button",{className:"courier-w-8 courier-h-8 courier-flex courier-items-center courier-justify-center courier-text-[#171717] dark:courier-text-white dark:hover:courier-bg-secondary",onMouseDown:E=>{E.preventDefault(),E.stopPropagation()},onClick:E=>{E.stopPropagation(),g()},tabIndex:-1,children:St(Dl,{color:"currentColor"})}),St(le,{className:"!courier-my-0"})]}),St("button",{className:"courier-w-8 courier-h-8 courier-flex courier-items-center courier-justify-center courier-text-[#171717] dark:courier-text-white dark:hover:courier-bg-secondary",onMouseDown:E=>{E.preventDefault(),E.stopPropagation()},onClick:E=>{E.stopPropagation(),k()},tabIndex:-1,children:St(Ml,{color:"currentColor"})}),St(le,{className:"!courier-my-0"}),St("button",{className:"courier-w-8 courier-h-8 courier-flex courier-items-center courier-justify-center courier-text-[#DC2626] dark:courier-text-red-500 dark:hover:courier-bg-secondary",onMouseDown:E=>{E.preventDefault(),E.stopPropagation()},onClick:E=>{E.stopPropagation(),N()},tabIndex:-1,children:St(Jn,{color:"currentColor"})})]})]}),i==="bottom"&&St(ds,{type:a})]})});import{jsx as ln}from"react/jsx-runtime";var G3=s(({alignment:e,backgroundColor:t,textColor:r,borderRadius:o,padding:n,fontWeight:i,fontStyle:a,children:l})=>ln("div",{className:"courier-w-full node-element",children:ln("div",{className:"courier-flex",children:ln("div",{className:S("courier-inline-flex courier-justify-center courier-cursor-text courier-text-sm courier-leading-tight !courier-my-1",{left:"courier-mr-auto",center:"courier-mx-auto",right:"courier-ml-auto"}[e]),style:{backgroundColor:t,color:r,borderRadius:`${o}px`,caretColor:r,fontWeight:i,fontStyle:a,padding:`${Number(n)+2}px ${Number(n)+10}px`},children:l})})}),"ButtonComponent"),vf=s(e=>{let t=J3(Re),r=j3(()=>{if(!e.editor.isEditable)return;let o=We(e);if(o){let n=o.attrs.id;e.editor.state.doc.descendants(i=>i.type.name==="button"&&i.attrs.id===n?(t(i),!1):!0)}},[e,t]);return ln(Ye,{id:e.node.attrs.id,className:S(e.node.attrs.isSelected&&"selected-element"),onClick:r,editor:e.editor,"data-node-type":"button",children:ln(G3,{...e.node.attrs,children:ln(q3,{as:"span"})})})},"ButtonComponentNode");import{v4 as Q3}from"uuid";var Ie={label:"Button",link:"",alignment:"center",backgroundColor:"#0085FF",borderRadius:0,padding:6,fontWeight:"normal",fontStyle:"normal",isUnderline:!1,isStrike:!1,textColor:"#ffffff",borderColor:"transparent"},_a=Y3.create({name:"button",group:"block",content:"inline*",selectable:!1,isolating:!0,onCreate(){Oe(this.editor,this.name)},addAttributes(){return{label:{default:Ie.label,parseHTML:e=>e.getAttribute("data-label"),renderHTML:e=>({"data-label":e.label})},link:{default:Ie.link,parseHTML:e=>e.getAttribute("data-link"),renderHTML:e=>({"data-link":e.link})},alignment:{default:Ie.alignment,parseHTML:e=>e.getAttribute("data-alignment"),renderHTML:e=>({"data-alignment":e.alignment})},backgroundColor:{default:Ie.backgroundColor,parseHTML:e=>e.getAttribute("data-background-color"),renderHTML:e=>({"data-background-color":e.backgroundColor})},textColor:{default:Ie.textColor,parseHTML:e=>e.getAttribute("data-text-color"),renderHTML:e=>({"data-text-color":e.textColor})},borderRadius:{default:Ie.borderRadius,parseHTML:e=>e.getAttribute("data-border-radius"),renderHTML:e=>({"data-border-radius":e.borderRadius})},borderColor:{default:Ie.borderColor,parseHTML:e=>e.getAttribute("data-border-color"),renderHTML:e=>({"data-border-color":e.borderColor})},padding:{default:Ie.padding,parseHTML:e=>e.getAttribute("data-padding"),renderHTML:e=>({"data-padding":e.padding})},fontWeight:{default:Ie.fontWeight,parseHTML:e=>e.getAttribute("data-font-weight"),renderHTML:e=>({"data-font-weight":e.fontWeight})},fontStyle:{default:Ie.fontStyle,parseHTML:e=>e.getAttribute("data-font-style"),renderHTML:e=>({"data-font-style":e.fontStyle})},isUnderline:{default:Ie.isUnderline,parseHTML:e=>e.getAttribute("data-is-underline"),renderHTML:e=>({"data-is-underline":e.isUnderline})},isStrike:{default:Ie.isStrike,parseHTML:e=>e.getAttribute("data-is-strike"),renderHTML:e=>({"data-is-strike":e.isStrike})},id:{default:()=>`node-${Q3()}`,parseHTML:e=>e.getAttribute("data-id"),renderHTML:e=>({"data-id":e.id,"data-node-id":e.id})},locales:{default:void 0,parseHTML:()=>{},renderHTML:()=>({})}}},parseHTML(){return[{tag:'div[data-type="button"]'}]},renderHTML({HTMLAttributes:e}){return["div",K3(this.options.HTMLAttributes,e,{"data-type":"button"}),0]},addNodeView(){return X3(vf)},addKeyboardShortcuts(){return{"Mod-a":({editor:e})=>{let{$from:t}=e.state.selection;for(let r=t.depth;r>=0;r--)if(t.node(r).type.name==="button"){let n=t.start(r),i=t.end(r);return e.commands.setTextSelection({from:n,to:i}),!0}return!1}}},addCommands(){return{setButton:e=>({chain:t})=>t().insertContent({type:this.name,attrs:e,content:[{type:"text",text:e.label||"Button"}]}).run()}}});import{v4 as ey}from"uuid";import{useAtomValue as xf,useSetAtom as Tf,useAtom as ty}from"jotai";import{useCallback as cn,useRef as Ef,useState as fs,useEffect as ry}from"react";var un=s(({items:e,setItems:t,editor:r})=>{let[o]=fs(null),[n,i]=fs(null),[a,l]=fs(null),[c]=fs("outer"),u=Ef([]),d=Ef([]),m=xf(Te),p=Tf(pt),[f,v]=ty(X),h=Tf(Ae),b=xf(Ur),y=r||m,N=cn(()=>{if(!y)return;let w=y.getJSON(),C=me(w),T=Ve(f,{channel:b,elements:C});v(T),h(T)},[y,b,f,v,h]),g=cn(()=>{y==null||y.commands.removeDragPlaceholder(),t(w=>({...w,Editor:w.Editor.filter(C=>!C.toString().includes("_temp"))}))},[y==null?void 0:y.commands,t]),k=cn(w=>{try{let C=y==null?void 0:y.state.doc;if(!C||w===0)return 0;if(w>=C.childCount)return C.content.size;let T=0;for(let x=0;x<Math.min(w,C.childCount);x++){let P=C.child(x);T+=P.nodeSize}return T}catch(C){return console.error("Error calculating document position:",C),0}},[y==null?void 0:y.state.doc]),A=cn(w=>{let C={};switch(w){case"text":C=ue;break;case"heading":C={};break;case"image":C=Be;break;case"button":C=Ie;break;case"divider":C=Mt;break;case"spacer":C=Ya;break;case"customCode":C=Pr;break;case"column":C=qe;break}let x={type:w==="text"?"paragraph":w==="image"?"imageBlock":w==="spacer"?"divider":w,attrs:{...C,id:ey()}};return w==="button"&&(x.content=[{type:"text",text:"Button"}]),x},[]),E=cn((w,C)=>{if(!y)return;let{columnId:T,index:x,isEmpty:P}=C,M=null,R=0,I=-1;if(w.type==="sidebar"){if(!w.dragType)return;M=A(w.dragType)}else if(w.type==="editor"){if(y.state.doc.descendants((B,W)=>B.attrs.id===w.id?(I=W,M=B.toJSON(),R=B.nodeSize,!1):!0),I===-1){let B=e.Editor.findIndex(W=>W===w.id);if(B!==-1){I=k(B);let W=y.state.doc.nodeAt(I);W&&(M=W.toJSON(),R=W.nodeSize)}}if(I!==-1){let B=e.Editor.filter(W=>W!==w.id);B.length!==e.Editor.length&&t({...e,Editor:B})}}if(!M)return;let H=-1,V=null;if(y.state.doc.descendants((B,W)=>B.type.name==="column"&&B.attrs.id===T?(H=W,V=B,!1):!0),H===-1||!V)return;let F=V;I!==-1&&I<H&&(H-=R);let O=y.state.tr;if(I!==-1&&O.delete(I,I+R),P){let B=y.schema,W=Array.from({length:F.attrs.columnsCount},(ie,ee)=>B.nodes.columnCell.create({index:ee,columnId:T,isEditorMode:!1},ee===x?[B.nodeFromJSON(M)]:[])),U=B.nodes.columnRow.create({},W);O.replaceWith(H+1,H+F.nodeSize-1,U)}else{let B=H+1;F.content.forEach(W=>{if(W.type.name==="columnRow"){let U=B+1;W.content.forEach((ie,ee,K)=>{if(K===x){let D=U+ie.nodeSize-1;O.insert(D,y.schema.nodeFromJSON(M))}U+=ie.nodeSize})}B+=W.nodeSize})}y.view.dispatch(O),N()},[y,e,t,k,A,N]),L=cn((w,C)=>{try{if(w.type==="sidebar"&&(C.type==="editor"||C.type==="column-cell-item"||C.type==="nested-drag")){let T=w.dragType;if(!T||!y)return;let x=C.insertPos;if(x===void 0)if(C.type==="editor"){let R=C.index+1;x=k(R)}else{console.warn("Nested drop without position data");return}let P=A(T);if(y.commands.insertContentAt(x,P),y.state.doc.resolve(x).depth===0){let R=y.state.doc.resolve(x).index(0),I=[...e.Editor];R<=I.length&&(I.splice(R,0,P.attrs.id),t({...e,Editor:I}))}N();return}if((w.type==="editor"||w.type==="column-cell-item"||w.type==="nested-drag")&&(C.type==="editor"||C.type==="column-cell-item"||C.type==="nested-drag")){if(!y)return;let T=-1,x=null;if(w.pos!==void 0&&(T=w.pos,x=y.state.doc.nodeAt(T)),(T===-1||!x)&&y.state.doc.descendants((I,H)=>I.attrs.id===w.id?(T=H,x=I,!1):!0),T===-1||!x){let I=e.Editor.findIndex(H=>H===w.id);I!==-1&&(T=k(I),x=y.state.doc.nodeAt(T))}if(!x||T===-1)return;let P=C.insertPos;if(P===void 0){let I;C.index===void 0?I=y.state.doc.childCount:C.index===-1?I=0:I=C.index+1,P=k(I)}if(P===void 0||P>T&&P<T+x.nodeSize)return;if(P>T){let I=P-x.nodeSize;y.chain().deleteRange({from:T,to:T+x.nodeSize}).insertContentAt(I,x.toJSON()).run()}else y.chain().insertContentAt(P,x.toJSON()).deleteRange({from:T+x.nodeSize,to:T+x.nodeSize*2}).run();let M=e.Editor.includes(w.id);if(M){let I=e.Editor.filter(H=>H!==w.id);t({...e,Editor:I})}let R=y.state.doc.resolve(P).depth===0;N()}}catch(T){console.error("[Pragmatic DnD] Error in handleDrop:",T)}},[e,y,t,k,N,A]);return ry(()=>tc({onDragStart:({source:w})=>{let C=w.data;p(!0),l(C.id),C.dragType&&i(C.dragType);let T=y==null?void 0:y.view.dom.querySelectorAll('[data-node-type="column"]');T&&(u.current=Array.from(T).map(P=>P.getBoundingClientRect()));let x=y==null?void 0:y.view.dom.querySelectorAll("[data-node-view-wrapper]");if(x){let P=new Set,M=Array.from(x).filter(R=>{let I=R,H=I.parentElement;if(H!=null&&H.hasAttribute("data-column-cell"))return!1;let V=I.getBoundingClientRect(),F=V.top+V.height/2;return P.has(Math.round(F))?!1:(P.add(Math.round(F)),!0)});d.current=M.map(R=>R.getBoundingClientRect())}},onDrop:({source:w,location:C})=>{let T=w.data,x=C.current.dropTargets[0];if(!x){g(),p(!1),l(null),i(null);return}let P=x.data;if(P.type==="column-cell"){E(T,P),p(!1),l(null),i(null),g();return}let M=P,R=hi(x.data);if(M.pos!==void 0&&R&&y){let I=y.state.doc.nodeAt(M.pos);I&&(R==="top"?M.insertPos=M.pos:R==="bottom"&&(M.insertPos=M.pos+I.nodeSize))}if(M.insertPos===void 0&&R&&M.index!==void 0){let I=R==="top"?M.index-1:M.index;M={...M,index:I}}else if(M.index===void 0&&M.insertPos===void 0){let H=C.current.input.clientY;if(d.current.length>0){let V=0,F=1/0;d.current.forEach((ie,ee)=>{let K=ie.top+ie.height/2,D=Math.abs(H-K);D<F&&(F=D,V=ee)});let O=d.current[V],B=O.top+O.height/2,U=H>=B?V:V-1;M={...M,index:U,fromCoordinates:!0}}else M={...M,index:(y==null?void 0:y.state.doc.childCount)||0}}L(T,M),p(!1),l(null),i(null),g()}}),[y,p,g,l,i,L,E]),{activeId:a,activeDragType:n,dndMode:c,lastPlaceholderIndex:o,cleanupPlaceholder:g}},"usePragmaticDnd");import{useCallback as oy,useEffect as ny}from"react";import{useAtomValue as iy}from"jotai";var gs=s(({setItems:e,rafId:t,editor:r})=>{let o=iy(Te),n=r||o,i=oy(a=>{t.current&&typeof cancelAnimationFrame!="undefined"&&cancelAnimationFrame(t.current);let l=setTimeout(()=>{if(typeof requestAnimationFrame!="undefined")t.current=requestAnimationFrame(()=>{try{let c=a==null?void 0:a.view.dom;if(!c)return;let u=c.querySelectorAll(".react-renderer > div[data-node-view-wrapper][data-id]"),d=[];u.forEach(m=>{let p=m,f=p.dataset.id;if(f){let v=p.parentElement,h=!1;for(;v&&v!==c;){if(v.hasAttribute("data-column-cell")){h=!0;break}v=v.parentElement}h||d.push(f)}}),e(m=>({Editor:d,Sidebar:m.Sidebar}))}catch(c){console.error("Error syncing editor items:",c),e(u=>({...u}))}});else try{let c=a==null?void 0:a.view.dom;if(!c)return;let u=c.querySelectorAll(".react-renderer > div[data-node-view-wrapper][data-id]"),d=[];u.forEach(m=>{let p=m,f=p.dataset.id;if(f){let v=p.parentElement,h=!1;for(;v&&v!==c;){if(v.hasAttribute("data-column-cell")){h=!0;break}v=v.parentElement}h||d.push(f)}}),e(m=>({Editor:d,Sidebar:m.Sidebar}))}catch(c){console.error("Error syncing editor items:",c)}},50);return()=>clearTimeout(l)},[e,t]);return ny(()=>{if(!n||typeof n.on!="function")return;let a,l=s(()=>{n&&(a&&a(),a=i(n))},"updateItems");n.on("update",l),n.on("selectionUpdate",l),n.on("create",l),n.on("transaction",l),n&&!n.isDestroyed&&l();let c=s(u=>{l()},"handleNodeDuplicated");return document.addEventListener("node-duplicated",c),()=>{n==null||n.off("update",l),n==null||n.off("selectionUpdate",l),n==null||n.off("create",l),n==null||n.off("transaction",l),document.removeEventListener("node-duplicated",c),a&&a(),t.current&&typeof cancelAnimationFrame!="undefined"&&(cancelAnimationFrame(t.current),t.current=null)}},[n,i,t]),{syncEditorItems:i}},"useSyncEditorItems");import{Fragment as uy,jsx as Fc}from"react/jsx-runtime";var wi=[{type:"text",align:"left",content:`
|
|
186
|
+
`).trim()},"extractTextFromSlice"),es=w0.create({name:"fixedChannelPaste",addOptions(){return{fixedChannels:["push","sms","inbox"]}},addProseMirrorPlugins(){let e=this.editor;return[new k0({key:N0,props:{handlePaste:(t,r,o)=>{let{state:n}=t,{selection:i}=n;if(!M0(e))return!1;let l=i.$from.node();if(!(l.type.name==="paragraph"||l.type.name==="heading")||o.content.childCount<=1)return!1;let u=A0(o);if(!u)return!1;r.preventDefault();let d=n.tr.replaceSelectionWith(n.schema.text(u),!1);return t.dispatch(d),!0}}})]},addStorage(){return{currentChannel:null}}});import{Extension as S0}from"@tiptap/core";import{Plugin as I0,PluginKey as L0,TextSelection as vc}from"@tiptap/pm/state";var Po=s((e,t)=>{if(t.length===0)return!1;let r={push:()=>e.view.dom.closest(".courier-push-editor"),sms:()=>e.view.dom.closest(".courier-sms-editor"),inbox:()=>e.view.dom.closest(".courier-inbox-editor")};return t.some(o=>{var n;return(n=r[o])==null?void 0:n.call(r)})},"isInFixedChannel"),xc=s(e=>!!e.view.dom.closest(".courier-inbox-editor"),"isInInboxChannel"),Wp=s(e=>{if(!xc(e))return!1;let{selection:t}=e.state,{$anchor:r}=t,o=r.depth;for(;o>0;){let n=r.node(o);if(n.type.name==="paragraph"||n.type.name==="heading"){let i=r.node(o-1),a=r.start(o),l=0;return i.forEach((c,u)=>{if(r.start(o-1)+u+1===a)return!1;l++}),l<=1}o--}return!1},"isInFixedInboxNode"),No=s(e=>{let{selection:t}=e.state,{$anchor:r}=t,o=r.depth;for(;o>0;){let n=r.node(o);if(n.type.name==="paragraph"||n.type.name==="heading"){let i=r.start(o),a=r.end(o);return{start:i,end:a,node:n}}o--}return null},"getCurrentElementBounds"),ts=s(e=>{let{selection:t}=e.state,{$from:r,$to:o}=t;if(t.empty)return!1;let n=r.depth,i=o.depth,a=null,l=null;for(;n>0;){let c=r.node(n);if(c.type.name==="paragraph"||c.type.name==="heading"){a={node:c,depth:n};break}n--}for(;i>0;){let c=o.node(i);if(c.type.name==="paragraph"||c.type.name==="heading"){l={node:c,depth:i};break}i--}return!!(a&&l&&a.node!==l.node)},"isMultiElementSelection"),rs=new L0("fixedChannelSelection"),os=S0.create({name:"fixedChannelSelection",addOptions(){return{channels:["push","sms","inbox"]}},addCommands(){return{constrainSelectionToElement:()=>({editor:e,tr:t,dispatch:r})=>{if(!Po(e,this.options.channels))return!1;let o=No(e);if(!o)return!1;let{start:n,end:i}=o,{selection:a}=e.state;if(a.from>=n&&a.to<=i)return!1;let l=Math.max(a.from,n),c=Math.min(a.to,i);return r&&t.setSelection(vc.create(t.doc,l,c)),!0}}},addKeyboardShortcuts(){return{"Mod-a":({editor:e})=>{if(!Po(e,this.options.channels))return!1;let t=No(e);if(!t)return!1;let{start:r,end:o}=t;return e.commands.setTextSelection({from:r,to:o}),!0},Backspace:({editor:e})=>{if(!Po(e,this.options.channels))return!1;if(xc(e)){let{selection:t}=e.state;if(No(e)&&t.$anchor.parentOffset===0&&Wp(e))return!0}if(ts(e)){let t=No(e);if(t){let{start:r,end:o}=t,{selection:n}=e.state,i=Math.max(n.from,r),a=Math.min(n.to,o);e.commands.setTextSelection({from:i,to:a})}return!0}return!1},Delete:({editor:e})=>{if(!Po(e,this.options.channels))return!1;if(xc(e)){let{selection:t}=e.state,r=No(e);if(r){let o=r.node.textContent;if(t.$anchor.parentOffset===o.length&&Wp(e))return!0}}if(ts(e)){let t=No(e);if(t){let{start:r,end:o}=t,{selection:n}=e.state,i=Math.max(n.from,r),a=Math.min(n.to,o);e.commands.setTextSelection({from:i,to:a})}return!0}return!1}}},addProseMirrorPlugins(){return[new I0({key:rs,props:{handleTextInput:(e,t,r)=>{let o=this.editor;if(!Po(o,this.options.channels))return!1;if(ts(o)){let n=No(o);if(n){let{start:i,end:a}=n,l=Math.max(t,i),c=Math.min(r,a),u=e.state.tr;u.setSelection(vc.create(u.doc,l,c)),e.dispatch(u)}return!0}return!1},handleDOMEvents:{mousedown:(e,t)=>{let r=this.editor;if(!Po(r,this.options.channels))return!1;let o=e.posAtCoords({left:t.clientX,top:t.clientY});if(o!==null){let n=e.state.doc.resolve(o.pos),i=n.depth;for(;i>0;){let a=n.node(i);if(a.type.name==="paragraph"||a.type.name==="heading"){e.dispatch(e.state.tr.setMeta(rs,{elementStart:n.start(i),elementEnd:n.end(i)}));break}i--}}return!1},mousemove:(e,t)=>{let r=this.editor;if(!Po(r,this.options.channels))return!1;if(e.state.selection.from!==e.state.selection.to&&ts(r)){let n=rs.getState(e.state);if(n!=null&&n.elementStart&&(n!=null&&n.elementEnd)){let{selection:i}=e.state,a=Math.max(i.from,n.elementStart),l=Math.min(i.to,n.elementEnd),c=e.state.tr;return c.setSelection(vc.create(c.doc,a,l)),e.dispatch(c),!0}}return!1}}},state:{init(){return null},apply(e,t){return e.getMeta(rs)||t}}})]}});import{mergeAttributes as z0}from"@tiptap/core";import{Node as R0,mergeAttributes as H0,textblockTypeInputRule as B0}from"@tiptap/core";var _p=R0.create({name:"heading",addOptions(){return{levels:[1,2,3,4,5,6],HTMLAttributes:{}}},content:"inline*",group:"block",defining:!0,addAttributes(){return{level:{default:1,rendered:!1}}},parseHTML(){return this.options.levels.map(e=>({tag:`h${e}`,attrs:{level:e}}))},renderHTML({node:e,HTMLAttributes:t}){return[`h${this.options.levels.includes(e.attrs.level)?e.attrs.level:this.options.levels[0]}`,H0(this.options.HTMLAttributes,t),0]},addCommands(){return{setHeading:e=>({commands:t})=>this.options.levels.includes(e.level)?t.setNode(this.name,e):!1,toggleHeading:e=>({commands:t})=>this.options.levels.includes(e.level)?t.toggleNode(this.name,"paragraph",e):!1}},addKeyboardShortcuts(){return this.options.levels.reduce((e,t)=>({...e,[`Mod-Alt-${t}`]:()=>this.editor.commands.toggleHeading({level:t})}),{})},addInputRules(){return this.options.levels.map(e=>B0({find:new RegExp(`^(#{${Math.min(...this.options.levels)},${e}})\\s$`),type:this.type,getAttributes:{level:e}}))}});import{z as Nr}from"zod";var zp=Nr.object({paddingVertical:Nr.number(),paddingHorizontal:Nr.number(),backgroundColor:Nr.string(),borderWidth:Nr.number(),borderColor:Nr.string(),textAlign:Nr.enum(["left","center","right","justify"]).default("left"),selected:Nr.boolean().default(!1),id:Nr.string().optional()}),ue={paddingVertical:6,paddingHorizontal:0,backgroundColor:"transparent",borderWidth:0,borderColor:"transparent",textAlign:"left",selected:!1};import{NodeViewContent as D0,NodeViewWrapper as F0}from"@tiptap/react";import{useSetAtom as V0,useAtomValue as O0}from"jotai";import{useCallback as U0}from"react";import{jsx as Jr}from"react/jsx-runtime";var $p=s(({paddingVertical:e,paddingHorizontal:t,textAlign:r,backgroundColor:o,borderWidth:n,borderColor:i,level:a,type:l})=>{let c=l==="heading"?`h${a}`:"p",u=O0(pt);return Jr("div",{className:"courier-w-full node-element",children:Jr("div",{style:{padding:`${e}px ${t}px`,textAlign:r,backgroundColor:o,borderWidth:`${n}px`,borderColor:i,borderStyle:n>0?"solid":"none"},children:Jr("div",{style:{pointerEvents:u?"none":"auto"},children:Jr(D0,{as:c})})})})},"TextBlockComponent"),ns=s(e=>{let t=V0(Re),r=U0(()=>{if(!e.editor.isEditable)return;let l=We(e);l&&t(l)},[e,t]),o=!e.node.content||e.node.content.size===0,n=jr(e.getPos),i=n!==null?e.editor.state.doc.resolve(n):null;return(i==null?void 0:i.parent.type.name)==="blockquote"?Jr(F0,{children:Jr($p,{...e.node.attrs,type:e.node.type.name})}):Jr(Ye,{id:e.node.attrs.id,className:S(e.node.attrs.isSelected&&"selected-element",o&&"is-empty"),onClick:r,editor:e.editor,children:Jr($p,{...e.node.attrs,type:e.node.type.name})})},"TextBlockComponentNode");import{zodResolver as W0}from"@hookform/resolvers/zod";import{useForm as _0}from"react-hook-form";import{jsx as ve,jsxs as Gr}from"react/jsx-runtime";var Zp=s(({element:e,editor:t})=>{let r=_0({resolver:W0(zp),defaultValues:{...ue,...e==null?void 0:e.attrs}}),{updateNodeAttributes:o}=Xe({editor:t,element:e,form:r,nodeType:(e==null?void 0:e.type.name)||"paragraph"});return e?Gr(Ne,{...r,children:[ve(Qe,{type:"text"}),Gr("form",{onChange:()=>{o(r.getValues())},children:[ve("h4",{className:"courier-text-sm courier-font-medium courier-mb-3",children:"Frame"}),Gr("div",{className:"courier-flex courier-flex-row courier-gap-3 courier-mb-3",children:[ve(J,{control:r.control,name:"paddingHorizontal",render:({field:n})=>Gr(Z,{children:[ve(q,{children:ve(pe,{startAdornment:ve(ti,{}),type:"number",min:0,...n})}),ve(j,{})]})}),ve(J,{control:r.control,name:"paddingVertical",render:({field:n})=>Gr(Z,{children:[ve(q,{children:ve(pe,{startAdornment:ve(po,{}),type:"number",min:0,...n})}),ve(j,{})]})})]}),ve(J,{control:r.control,name:"backgroundColor",render:({field:n})=>Gr(Z,{className:"courier-mb-4",children:[ve(q,{children:ve(Ze,{...n,defaultValue:ue.backgroundColor,onChange:i=>{n.onChange(i),o({...r.getValues(),[n.name]:i})}})}),ve(j,{})]})}),ve(le,{className:"courier-mb-4"}),ve("h4",{className:"courier-text-sm courier-font-medium courier-mb-3",children:"Border"}),ve(J,{control:r.control,name:"borderWidth",render:({field:n})=>Gr(Z,{className:"courier-mb-3",children:[ve(q,{children:ve(pe,{startAdornment:ve(Er,{}),type:"number",min:0,...n})}),ve(j,{})]})}),ve(J,{control:r.control,name:"borderColor",render:({field:n})=>Gr(Z,{className:"courier-mb-4",children:[ve(q,{children:ve(Ze,{...n,defaultValue:ue.borderColor,onChange:i=>{n.onChange(i),o({...r.getValues(),[n.name]:i})}})}),ve(j,{})]})})]})]}):null},"TextBlockForm");import{ReactNodeViewRenderer as $0}from"@tiptap/react";var Tc=_p.extend({addOptions(){var e;return{...(e=this.parent)==null?void 0:e.call(this),HTMLAttributes:{class:""}}},onCreate(){Oe(this.editor,this.name)},addAttributes(){var e;return{...(e=this.parent)==null?void 0:e.call(this),paddingVertical:{default:ue.paddingVertical,parseHTML:t=>t.style.paddingTop?parseInt(t.style.paddingTop):ue.paddingVertical,renderHTML:t=>({style:`padding-top: ${t.paddingVertical}px; padding-bottom: ${t.paddingVertical}px;`})},paddingHorizontal:{default:ue.paddingHorizontal,parseHTML:t=>t.style.paddingLeft?parseInt(t.style.paddingLeft):ue.paddingHorizontal,renderHTML:t=>({style:`padding-left: ${t.paddingHorizontal}px; padding-right: ${t.paddingHorizontal}px;`})},textAlign:{default:ue.textAlign,parseHTML:t=>t.style.textAlign||ue.textAlign,renderHTML:t=>({style:`text-align: ${t.textAlign}`})},backgroundColor:{default:ue.backgroundColor,parseHTML:t=>t.style.backgroundColor||ue.backgroundColor,renderHTML:t=>({style:`background-color: ${t.backgroundColor}`})},borderWidth:{default:ue.borderWidth,parseHTML:t=>t.style.borderWidth?parseInt(t.style.borderWidth):ue.borderWidth,renderHTML:t=>({style:`border-width: ${t.borderWidth}px`})},borderColor:{default:ue.borderColor,parseHTML:t=>t.style.borderColor||ue.borderColor,renderHTML:t=>({style:`border-color: ${t.borderColor}`})},id:{default:()=>null,parseHTML:t=>t.getAttribute("data-id"),renderHTML:t=>({"data-id":t.id})},locales:{default:void 0,parseHTML:()=>{},renderHTML:()=>({})}}},addCommands(){return{setTextAlign:e=>({chain:t})=>t().updateAttributes(this.name,{textAlign:e}).run()}},parseHTML(){return[{tag:'div[data-type="heading"]'}]},renderHTML({node:e,HTMLAttributes:t}){let r=parseInt(e.attrs.level,10);return[`h${this.options.levels.includes(r)?r:this.options.levels[0]}`,z0(this.options.HTMLAttributes,t),0]},addNodeView(){return $0(ns)}});import{mergeAttributes as K0,Node as Y0}from"@tiptap/core";import{ReactNodeViewRenderer as X0}from"@tiptap/react";import{useSetAtom as qp}from"jotai";import{useCallback as Yt,useEffect as wc,useMemo as Z0,useRef as Jp,useState as jp}from"react";import{Fragment as G0,jsx as mr,jsxs as Ec}from"react/jsx-runtime";var q0=["image/png","image/jpeg","image/gif","image/webp"],J0=s(({sourcePath:e,alt:t,alignment:r,borderWidth:o,borderColor:n,isUploading:i,width:a,imageNaturalWidth:l,onFileSelect:c,editor:u})=>{let[d,m]=jp(!1),[p,f]=jp(!0),v=Jp(null),h=Jp(null);wc(()=>{e&&f(!0)},[e]),wc(()=>{if(e&&!l&&u){let C=new Image;C.onload=()=>{try{if(!u.view||!u.state)return;let T=u.view.state.selection.from;u.chain().setNodeSelection(T).updateAttributes("imageBlock",{imageNaturalWidth:C.naturalWidth}).run()}catch{}},C.src=e}},[e,l,u]);let b=Yt(C=>{var M,R;let T=(R=(M=u==null?void 0:u.view)==null?void 0:M.dom)==null?void 0:R.closest(".ProseMirror"),x=(T==null?void 0:T.clientWidth)||1e3,P=Math.min(100,C/x*100);return Math.round(P)},[u]),y=Z0(()=>b(l),[b,l]),N=Yt(C=>q0.includes(C),[]),g=Yt(C=>{C.preventDefault(),C.stopPropagation(),C.dataTransfer.types.includes("Files")&&Array.from(C.dataTransfer.items).some(P=>N(P.type))&&(m(!0),C.dataTransfer.dropEffect="copy")},[N]),k=Yt(C=>{C.preventDefault(),C.stopPropagation(),m(!1)},[]),A=Yt(C=>{C.preventDefault(),C.stopPropagation(),C.dataTransfer.types.includes("Files")&&Array.from(C.dataTransfer.items).some(P=>N(P.type))&&m(!0)},[N]),E=Yt(C=>{C.preventDefault(),C.stopPropagation(),m(!1);let x=Array.from(C.dataTransfer.files).find(P=>N(P.type));x&&c&&c(x)},[c,N]),L=Yt(C=>{var x;let T=(x=C.target.files)==null?void 0:x[0];T&&c&&c(T),C.target&&(C.target.value="")},[c]),w=Yt(()=>{var C;(C=v.current)==null||C.click()},[]);return Ji(e)?Ec("div",{className:S("courier-w-full node-element courier-empty-image courier-h-[160px] courier-bg-gray-100 courier-rounded-md courier-flex courier-flex-row courier-items-center courier-justify-center courier-cursor-pointer courier-transition-colors courier-flex-1 courier-text-center courier-flex-wrap courier-content-center courier-p-4",d&&"courier-border-primary courier-bg-gray-50"),onDragOver:g,onDragEnter:A,onDragLeave:k,onDrop:E,style:{pointerEvents:"all"},children:[i?mr(fo,{className:"courier-w-8 courier-h-8"}):Ec(G0,{children:[mr("span",{className:"courier-text-sm courier-pointer-events-none courier-inline-block",children:"Drag and drop image, or\xA0"}),mr("button",{className:"courier-underline courier-font-medium courier-inline-block courier-text-sm",onClick:w,children:"Browse"})]}),mr("input",{ref:v,type:"file",accept:"image/png, image/jpeg, image/gif, image/webp",className:"courier-hidden",onChange:L})]}):mr("div",{className:"courier-w-full node-element",children:Ec("div",{className:S("courier-relative courier-p-1",(i||p)&&"courier-w-full courier-aspect-[4/3] courier-bg-gray-100"),children:[(i||p)&&mr("div",{className:"courier-absolute courier-inset-0 courier-flex courier-items-center courier-justify-center",children:mr(fo,{className:"courier-w-8 courier-h-8"})}),mr("img",{ref:h,src:e,alt:t,className:S("courier-h-auto courier-inline-block courier-w-full",{left:"courier-mr-auto",center:"courier-mx-auto",right:"courier-ml-auto"}[r],i&&"courier-opacity-50",(i||p)&&"courier-invisible"),style:{maxWidth:a===y?`${l}px`:`${a}%`,borderWidth:`${o}px`,borderColor:n,borderStyle:o>0?"solid":"none",display:"block"},loading:"lazy",decoding:"async",draggable:!1,onLoad:C=>{if(f(!1),!l&&u)try{if(!u.view||!u.state)return;setTimeout(()=>{let T=u.view.state.selection.from;u.chain().setNodeSelection(T).updateAttributes("imageBlock",{imageNaturalWidth:C.target.naturalWidth}).run()},100)}catch(T){console.warn("Editor not ready for image update:",T)}},onError:()=>f(!1)})]})})},"ImageBlockComponent"),j0=["image/png","image/jpeg","image/gif","image/webp"],Gp=s(e=>{let t=qp(Re),r=qp(Q),{uploadImage:o}=On(),n=Yt(l=>{var m,p,f;let c=(f=(p=(m=e.editor)==null?void 0:m.view)==null?void 0:p.dom)==null?void 0:f.closest(".ProseMirror"),u=(c==null?void 0:c.clientWidth)||1e3,d=Math.min(100,l/u*100);return Math.round(d)},[e.editor]);wc(()=>{var c,u;let l=We(e);if((c=l==null?void 0:l.attrs)!=null&&c.sourcePath&&!((u=l==null?void 0:l.attrs)!=null&&u.imageNaturalWidth)){let d=new Image;d.onload=()=>{let m=l.attrs.width||n(d.naturalWidth),p=jr(e.getPos);p!==null&&e.editor.chain().focus().setNodeSelection(p).updateAttributes("imageBlock",{width:m,imageNaturalWidth:d.naturalWidth}).run()},d.src=l.attrs.sourcePath}},[e,n]);let i=Yt(()=>{if(!e.editor.isEditable)return;let l=We(e);l&&(e.editor.commands.blur(),t(l))},[e,t]),a=Yt(async l=>{let c=jr(e.getPos);We(e)&&c!==null&&e.editor.chain().focus().setNodeSelection(c).updateAttributes("imageBlock",{isUploading:!0,sourcePath:""}).run();try{if(!j0.includes(l.type))throw new Error("Only PNG, JPEG, GIF, and WebP images are supported");let d=new FileReader;d.readAsDataURL(l),await new Promise((h,b)=>{d.onload=h,d.onerror=b});let p=(await o({file:l})).url,f=jr(e.getPos);if(We(e)&&f!==null){let h=new Image;h.src=p,await new Promise((y,N)=>{h.onload=y,h.onerror=()=>N(new Error("Failed to load uploaded image"))});let b=n(h.naturalWidth);e.editor.chain().focus().setNodeSelection(f).updateAttributes("imageBlock",{sourcePath:p,isUploading:!1,width:b,imageNaturalWidth:h.naturalWidth}).run()}}catch(d){console.error("Error uploading image:",d);let m="Error uploading image";if(d instanceof Error){let v=d.message;v.includes("GraphQL error")?m="Server error: Could not process image":v.includes("network")||v.includes("fetch")?m="Network error: Could not upload image":m=v}r({message:m,toastProps:{duration:6e3,description:`File: ${l.name} (${(l.size/1024/1024).toFixed(2)}MB)`}});let p=jr(e.getPos);We(e)&&p!==null&&e.editor.chain().focus().setNodeSelection(p).updateAttributes("imageBlock",{isUploading:!1}).run()}},[e,n,o,r]);return mr(Ye,{id:e.node.attrs.id,className:S(e.node.attrs.isSelected&&"selected-element"),onClick:i,editor:e.editor,children:mr(J0,{...e.node.attrs,onFileSelect:a,editor:e.editor})})},"ImageBlockView");var Be={sourcePath:"",link:"",alt:"",alignment:"center",width:1,borderWidth:0,borderColor:"transparent",isUploading:!1,imageNaturalWidth:0},is=Y0.create({name:"imageBlock",group:"block",atom:!0,inline:!1,onCreate(){Oe(this.editor,this.name)},addOptions(){var e;return{...(e=this.parent)==null?void 0:e.call(this),placeholder:""}},addAttributes(){return{sourcePath:{default:Be.sourcePath,parseHTML:e=>e.getAttribute("data-source-path")||"",renderHTML:e=>({"data-source-path":e.sourcePath||""})},link:{default:Be.link,parseHTML:e=>e.getAttribute("data-link"),renderHTML:e=>({"data-link":e.link})},alt:{default:Be.alt,parseHTML:e=>e.getAttribute("data-alt"),renderHTML:e=>({"data-alt":e.alt})},alignment:{default:Be.alignment,parseHTML:e=>e.getAttribute("data-alignment"),renderHTML:e=>({"data-alignment":e.alignment})},width:{default:Be.width,parseHTML:e=>e.getAttribute("data-width"),renderHTML:e=>({"data-width":e.width})},imageNaturalWidth:{default:Be.imageNaturalWidth,parseHTML:e=>e.getAttribute("data-natural-width"),renderHTML:e=>({"data-natural-width":e.imageNaturalWidth})},borderWidth:{default:Be.borderWidth,parseHTML:e=>e.getAttribute("data-border-width"),renderHTML:e=>({"data-border-width":e.borderWidth})},borderColor:{default:Be.borderColor,parseHTML:e=>e.getAttribute("data-border-color"),renderHTML:e=>({"data-border-color":e.borderColor})},isUploading:{default:Be.isUploading,parseHTML:e=>e.getAttribute("data-is-uploading"),renderHTML:e=>({"data-is-uploading":e.isUploading})},id:{default:void 0,parseHTML:e=>e.getAttribute("data-id"),renderHTML:e=>({"data-id":e.id})},locales:{default:void 0,parseHTML:()=>{},renderHTML:()=>({})}}},parseHTML(){return[{tag:'div[data-type="image-block"]'}]},renderHTML({HTMLAttributes:e}){return["div",K0(this.options.HTMLAttributes,e,{"data-type":"image-block"}),0]},addNodeView(){return X0(Gp)},addCommands(){return{setImageBlock:e=>({chain:t})=>t().insertContent({type:this.name,attrs:{...Be,...e}}).run(),setImageBlockAt:({pos:e,src:t})=>({chain:r})=>r().insertContentAt(e,{type:this.name,attrs:{...Be,sourcePath:t||""}}).run(),setImageBlockAlign:e=>({commands:t})=>t.updateAttributes(this.name,{alignment:e}),setImageBlockWidth:e=>({commands:t})=>t.updateAttributes(this.name,{width:e}),uploadImage:e=>({chain:t})=>{let r=new FileReader;return r.onload=()=>{t().setImageBlock({sourcePath:r.result,isUploading:!0}).run()},r.readAsDataURL(e),!0}}}});import{z as pr}from"zod";var Kp=pr.object({sourcePath:pr.string(),link:pr.string().optional(),alt:pr.string().optional(),alignment:pr.enum(["left","center","right"]),width:pr.number().min(1).max(100),borderWidth:pr.number(),borderColor:pr.string(),isUploading:pr.boolean().optional(),imageNaturalWidth:pr.number()});import{zodResolver as Q0}from"@hookform/resolvers/zod";import{useSetAtom as e3}from"jotai";import{ArrowUp as t3}from"lucide-react";import{useCallback as Ti,useEffect as Xp,useRef as Pc,useState as ss}from"react";import{useForm as r3}from"react-hook-form";import{useSetAtom as kc}from"jotai";import*as xi from"react";import{useRef as Yp}from"react";import{jsx as as}from"react/jsx-runtime";var Kr=xi.forwardRef(({as:e="Input",autoResize:t,onChange:r,...o},n)=>{let i=Yp(null),a=Yp(null),l=kc(li),c=kc(om),u=kc(sa),d=xi.useCallback(()=>{if(!a.current)return;let h={ref:a.current,caretPosition:a.current.selectionStart};c(h),u(h),l({isFocused:!0,hasVariables:!1,showVariablePopup:!1})},[l,c,u]),m=xi.useCallback(h=>{var y;((y=h.relatedTarget)==null?void 0:y.closest("[data-variable-button]"))||(c({ref:null,caretPosition:null}),l({isFocused:!1,hasVariables:!1,showVariablePopup:!1}))},[l,c]),p=s(h=>{let b=h.target,y={ref:b,caretPosition:b.selectionStart};c(y),u(y)},"handleSelect"),f=s(h=>{r&&r(h)},"handleChange");if(e==="Input"){let h={...o,ref:b=>{a.current=b,typeof n=="function"?n(b):n&&(n.current=b)},onChange:f,onFocus:d,onBlur:m,onSelect:p};return as("div",{ref:i,className:"courier-relative",children:as(pe,{...h})})}let v={...o,ref:h=>{a.current=h,typeof n=="function"?n(h):n&&(n.current=h)},onChange:f,onFocus:d,onBlur:m,autoResize:t,onSelect:p};return as("div",{ref:i,className:"courier-relative",children:as(Cl,{...v})})});Kr.displayName="TextInput";import{Fragment as Qp,jsx as G,jsxs as et}from"react/jsx-runtime";var ef=s(({element:e,editor:t})=>{var L,w;let r=Pc(null),o=Pc(null),n=Pc(null),[i,a]=ss(""),[l,c]=ss(!1),[u,d]=ss(((L=e==null?void 0:e.attrs)==null?void 0:L.imageNaturalWidth)||0),[m,p]=ss(!1),f=e3(Q),{uploadImage:v}=On(),h=r3({resolver:Q0(Kp),defaultValues:{...Be,...e==null?void 0:e.attrs},mode:"onChange"}),{updateNodeAttributes:b}=Xe({editor:t,element:e,form:h,nodeType:"imageBlock"});Xp(()=>{var T;let C=(T=e==null?void 0:e.attrs)==null?void 0:T.sourcePath;if(C&&!u){let x=new Image;x.onload=()=>{d(x.naturalWidth);let P={...h.getValues(),imageNaturalWidth:x.naturalWidth};h.setValue("imageNaturalWidth",x.naturalWidth),b(P)},x.src=C}},[(w=e==null?void 0:e.attrs)==null?void 0:w.sourcePath,u,h,b]);let y=Ti(C=>{var R,I;let T=(I=(R=t==null?void 0:t.view)==null?void 0:R.dom)==null?void 0:I.closest(".ProseMirror"),x=(T==null?void 0:T.clientWidth)||1e3;if(C||(C=u),!C)return 0;let P=Math.min(100,C/x*100);return Math.round(P)},[t,u]),N=Ti(C=>{var T;C.preventDefault(),(T=r.current)==null||T.click()},[]),g=Ti((C,T)=>{let x=y(C.naturalWidth);a(`${x}%`),c(!1),h.setValue("sourcePath",T),h.setValue("imageNaturalWidth",C.naturalWidth),h.setValue("width",x);let P={...h.getValues(),sourcePath:T,width:x,imageNaturalWidth:C.naturalWidth,isUploading:!1};b(P)},[h,b,y]),k=Ti(C=>{if(!C){h.setValue("imageNaturalWidth",0),h.setValue("width",0),b({...h.getValues(),sourcePath:"",imageNaturalWidth:0,width:0});return}let T=new Image;T.onload=()=>{let x=y(T.naturalWidth);h.setValue("imageNaturalWidth",T.naturalWidth),h.setValue("width",x);let P={...h.getValues(),sourcePath:C,width:x,imageNaturalWidth:T.naturalWidth};b(P)},T.onerror=()=>{console.debug("Image failed to load:",C)},T.src=C},[h,b,y]),A=Ti(C=>{n.current&&clearTimeout(n.current),n.current=setTimeout(()=>{k(C)},500)},[k]);Xp(()=>()=>{n.current&&clearTimeout(n.current)},[]);let E=h.getValues().sourcePath;return e?et(Ne,{...h,children:[G(Qe,{type:"image"}),et("form",{ref:o,onChange:()=>{let C=h.getValues();b(C)},children:[G("h4",{className:"courier-text-sm courier-font-medium courier-mb-3",children:"Image"}),et(ra,{defaultValue:"file",className:"courier-mb-3 courier-w-full",children:[et(qn,{className:"courier-w-full courier-flex courier-justify-stretch courier-mb-3",children:[G($o,{value:"file",className:"courier-flex-1",children:"From file"}),G($o,{value:"url",className:"courier-flex-1",children:"From URL"})]}),G(oa,{value:"file",children:et("div",{className:"courier-flex courier-flex-col courier-gap-2",children:[G(Ce,{onClick:N,className:"courier-w-full",variant:"outline",type:"button",disabled:m,children:m?G(Qp,{children:"Uploading..."}):et(Qp,{children:[G(t3,{strokeWidth:1.25,className:"courier-w-4 courier-h-4 courier-ml-2 courier-text-foreground"}),"Upload image"]})}),G("input",{ref:r,type:"file",accept:"image/png, image/jpeg, image/gif, image/webp",className:"courier-hidden",onChange:C=>{var x;let T=(x=C.target.files)==null?void 0:x[0];if(T){p(!0),h.setValue("sourcePath",""),b({...h.getValues(),sourcePath:"",isUploading:!0});let P=new FileReader;P.onload=async()=>{try{let R=(await v({file:T})).url,I=new Image;I.onload=()=>{g(I,R),p(!1)},I.onerror=()=>{f({message:"Upload failed: Failed to load uploaded image",toastProps:{duration:6e3,description:`File: ${T.name} (${(T.size/1024/1024).toFixed(2)}MB)`}}),p(!1),b({...h.getValues(),isUploading:!1})},I.src=R}catch(M){console.error("Error uploading image:",M),f({message:"Upload failed: Failed to upload image",toastProps:{duration:6e3,description:`File: ${T.name} (${(T.size/1024/1024).toFixed(2)}MB)`}}),p(!1),b({...h.getValues(),isUploading:!1})}},P.onerror=()=>{f({message:"Upload failed: Failed to read image file",toastProps:{duration:6e3,description:`File: ${T.name} (${(T.size/1024/1024).toFixed(2)}MB)`}}),p(!1),b({...h.getValues(),isUploading:!1})},P.readAsDataURL(T)}}})]})}),G(oa,{value:"url",children:G(J,{control:h.control,name:"sourcePath",render:({field:C})=>et(Z,{className:"courier-mb-3",children:[G(q,{children:G(Kr,{as:"Textarea",...C,autoResize:!0,className:"courier-max-h-[88px]",onChange:T=>{C.onChange(T),A(T.target.value)}})}),G(j,{})]})})})]}),G(J,{control:h.control,name:"link",render:({field:C})=>et(Z,{className:"courier-mb-3",children:[G(q,{children:G(lr,{placeholder:"Link",value:C.value,onChange:T=>{C.onChange(T),b({...h.getValues(),link:T})}})}),G(j,{})]})}),G(J,{control:h.control,name:"alt",render:({field:C})=>et(Z,{className:"courier-mb-4",children:[G(q,{children:G(lr,{placeholder:"Alt text...",value:C.value,onChange:T=>{C.onChange(T),b({...h.getValues(),alt:T})}})}),G(j,{})]})}),G(le,{className:"courier-mt-6 courier-mb-4"}),G("h4",{className:"courier-text-sm courier-font-medium courier-mb-3",children:"Width"}),(()=>{let C=h.getValues().width,T=h.getValues().imageNaturalWidth,x=y(T),P=C===x,M=P?"original":"fill";return et(qt,{type:"single",value:E?M:"original",onValueChange:R=>{if(!R||R===M)return;let I=R==="fill"?100:y(T);I>0&&(h.setValue("width",I),b({...h.getValues(),width:I}))},className:"courier-w-full courier-border courier-rounded-md courier-border-border courier-p-0.5 courier-mb-3 courier-shadow-sm",disabled:!E,children:[G(lt,{size:"sm",value:"original",className:"courier-w-full courier-h-7",children:"Original"}),G(lt,{size:"sm",value:"fill",className:"courier-w-full courier-h-7",disabled:P||!E,children:"Fill"})]})})(),G(J,{control:h.control,name:"width",render:({field:C})=>et(Z,{className:"courier-flex-1 courier-mb-3",children:[G(q,{children:G(pe,{type:"text",inputMode:"numeric",pattern:"[0-9]*",min:1,max:100,...C,value:h.getValues().sourcePath?l?i:`${C.value}%`:"0%",className:"courier-text-2xl courier-font-normal",disabled:!h.getValues().sourcePath,onFocus:T=>{c(!0),a(T.target.value)},onChange:T=>{a(T.target.value)},onKeyDown:T=>{T.key==="Enter"&&(T.preventDefault(),T.currentTarget.blur())},onBlur:T=>{c(!1);let x=parseFloat(T.target.value.replace("%",""));if(!isNaN(x)){let P=Math.min(100,Math.max(1,x));C.onChange(P),b({...h.getValues(),width:Math.round(P)})}}})}),G(j,{})]})}),G(J,{control:h.control,name:"width",render:({field:C})=>et(Z,{className:"courier-flex-1 courier-mb-3",children:[G(q,{children:G(bl,{min:0,max:100,value:[E?C.value:0],disabled:!E,onValueChange:T=>{C.onChange(T[0]),b({...h.getValues(),width:T[0]})}})}),G(j,{})]})}),G(J,{control:h.control,name:"alignment",render:({field:C})=>et(Z,{children:[G(q,{children:et(qt,{disabled:!E,type:"single",value:C.value,onValueChange:T=>{C.onChange(T),b({...h.getValues(),alignment:T})},className:"courier-w-full courier-border courier-rounded-md courier-border-border courier-p-0.5",children:[G(lt,{size:"sm",value:"left",className:"courier-w-full",children:G(Oa,{className:"courier-h-4 courier-w-4"})}),G(lt,{size:"sm",value:"center",className:"courier-w-full",children:G(Ua,{className:"courier-h-4 courier-w-4"})}),G(lt,{size:"sm",value:"right",className:"courier-w-full",children:G(Wa,{className:"courier-h-4 courier-w-4"})})]})}),G(j,{})]})}),G(le,{className:"courier-mt-6 courier-mb-4"}),G("h4",{className:"courier-text-sm courier-font-medium courier-mb-3",children:"Border"}),G(J,{control:h.control,name:"borderWidth",render:({field:C})=>et(Z,{className:"courier-mb-3",children:[G(q,{children:G(pe,{startAdornment:G(Er,{}),type:"number",disabled:!E,min:0,...C,onChange:T=>{let x=parseInt(T.target.value)||0;C.onChange(x),b({...h.getValues(),borderWidth:x})}})}),G(j,{})]})}),G(J,{control:h.control,name:"borderColor",render:({field:C})=>et(Z,{className:"courier-mb-4",children:[G(q,{children:G(Ze,{...C,disabled:!E,defaultValue:Be.borderColor,onChange:T=>{C.onChange(T),b({...h.getValues(),[C.name]:T})}})}),G(j,{})]})})]})]}):null},"ImageBlockForm");import{getMarkRange as tf,mergeAttributes as o3}from"@tiptap/core";import n3 from"@tiptap/extension-link";import{Plugin as rf,TextSelection as of}from"@tiptap/pm/state";var Nc=n3.extend({inclusive:!0,addAttributes(){var e;return{...(e=this.parent)==null?void 0:e.call(this),hasVariables:{default:!1},originalHref:{default:null}}},parseHTML(){return[{tag:'a[href]:not([data-type="button"]):not([href *= "javascript:" i])'}]},renderHTML({HTMLAttributes:e}){if(e.hasVariables&&e.originalHref)e.href=e.originalHref,delete e.hasVariables,delete e.originalHref;else if(e.href){let t=e.href;t.includes("__VAR_")&&(e.href=t.replace(/__VAR_([^_]+)__/g,"{{$1}}"))}return["a",o3(this.options.HTMLAttributes,e,{class:"link cursor-pointer"}),0]},addProseMirrorPlugins(){var t;return[...((t=this.parent)==null?void 0:t.call(this))||[],new rf({props:{handleClick:(r,o,n)=>{if(n.button!==0)return!1;let{state:i}=r,{doc:a}=i,l=a.resolve(o),c=l.marks().find(u=>u.type.name==="link");if(c||o>0&&(c=a.resolve(o-1).marks().find(d=>d.type.name==="link")),c||o<a.content.size&&(c=a.resolve(o+1).marks().find(d=>d.type.name==="link")),c){let u=tf(l,c.type);return u?(r.dispatch(i.tr.setSelection(of.create(a,u.from,u.to))),r.dispatch(r.state.tr.setMeta("showLinkForm",{from:u.from,to:u.to,href:c.attrs.originalHref||c.attrs.href})),!0):(r.dispatch(i.tr.setSelection(of.create(a,o,o+1))),r.dispatch(r.state.tr.setMeta("showLinkForm",{from:o,to:o+1,href:c.attrs.originalHref||c.attrs.href})),!0)}return!1}}}),new rf({appendTransaction(r,o,n){if(!r.some(l=>l.docChanged))return null;let i=n.tr,a=!1;return n.doc.descendants((l,c)=>(l.marks.forEach(u=>{if(u.type.name==="link"&&u.attrs.href){let d=u.attrs.href;if(d.includes("__VAR_")){let m=d.replace(/__VAR_([^_]+)__/g,"{{$1}}");if(m!==d){let p=tf(n.doc.resolve(c),u.type);p&&(i.removeMark(p.from,p.to,u.type),i.addMark(p.from,p.to,u.type.create({...u.attrs,href:m,hasVariables:!0,originalHref:m})),a=!0)}}}}),!0)),a?i:null}})]}});import{zodResolver as i3}from"@hookform/resolvers/zod";import{useSetAtom as a3}from"jotai";import{useRef as s3,useEffect as l3}from"react";import{useForm as c3}from"react-hook-form";import{z as Mc}from"zod";import{jsx as Mo,jsxs as nf}from"react/jsx-runtime";var u3=Mc.object({href:Mc.string(),openInNewTab:Mc.boolean().default(!1)}),af=s(({editor:e,mark:t,pendingLink:r})=>{let o=a3(la),n=s3(null),i=c3({resolver:i3(u3),defaultValues:{href:(t==null?void 0:t.attrs.href)||"",openInNewTab:(t==null?void 0:t.attrs.target)==="_blank"||!1}});l3(()=>{i.reset({href:(t==null?void 0:t.attrs.href)||"",openInNewTab:(t==null?void 0:t.attrs.target)==="_blank"||!1})},[t,i]);let a=s(async l=>{let c=l.href.trim();if(!c){r&&(e==null||e.commands.setTextSelection({from:r.from,to:r.to})),e==null||e.commands.unsetLink(),o(null);return}r&&(e==null||e.commands.setTextSelection({from:r.from,to:r.to})),await(e==null?void 0:e.chain().focus().unsetLink().setTextSelection({from:(r==null?void 0:r.from)||0,to:(r==null?void 0:r.to)||0}).setLink({href:c,target:l.openInNewTab?"_blank":null}).run()),e==null||e.commands.setTextSelection((r==null?void 0:r.to)||0),o(null)},"updateLink");return nf(Ne,{...i,children:[Mo("p",{className:"courier-font-medium courier-mb-4",children:"Link"}),Mo("div",{className:"courier-space-y-4",children:Mo(J,{control:i.control,name:"href",render:({field:l})=>nf(Z,{children:[Mo(rr,{children:"URL"}),Mo(q,{children:Mo(Kr,{as:"Textarea",autoResize:!0,...l,ref:c=>{typeof l.ref=="function"&&l.ref(c),n.current=c},onKeyDown:c=>{c.key==="Enter"&&(c.preventDefault(),c.stopPropagation(),i.handleSubmit(a)())},onBlur:()=>{l.onBlur(),i.handleSubmit(a)()}})}),Mo(j,{})]})})})]})},"LinkForm");import{mergeAttributes as y3,ReactNodeViewRenderer as C3}from"@tiptap/react";import{TextSelection as v3,Plugin as x3,PluginKey as T3}from"prosemirror-state";var Mr={8:"Backspace",9:"Tab",10:"Enter",12:"NumLock",13:"Enter",16:"Shift",17:"Control",18:"Alt",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",44:"PrintScreen",45:"Insert",46:"Delete",59:";",61:"=",91:"Meta",92:"Meta",106:"*",107:"+",108:",",109:"-",110:".",111:"/",144:"NumLock",145:"ScrollLock",160:"Shift",161:"Shift",162:"Control",163:"Control",164:"Alt",165:"Alt",173:"-",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'"},cs={48:")",49:"!",50:"@",51:"#",52:"$",53:"%",54:"^",55:"&",56:"*",57:"(",59:":",61:"+",173:"_",186:":",187:"+",188:"<",189:"_",190:">",191:"?",192:"~",219:"{",220:"|",221:"}",222:'"'},d3=typeof navigator!="undefined"&&/Mac/.test(navigator.platform),m3=typeof navigator!="undefined"&&/MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent);for(He=0;He<10;He++)Mr[48+He]=Mr[96+He]=String(He);var He;for(He=1;He<=24;He++)Mr[He+111]="F"+He;var He;for(He=65;He<=90;He++)Mr[He]=String.fromCharCode(He+32),cs[He]=String.fromCharCode(He);var He;for(ls in Mr)cs.hasOwnProperty(ls)||(cs[ls]=Mr[ls]);var ls;function sf(e){var t=d3&&e.metaKey&&e.shiftKey&&!e.ctrlKey&&!e.altKey||m3&&e.shiftKey&&e.key&&e.key.length==1||e.key=="Unidentified",r=!t&&e.key||(e.shiftKey?cs:Mr)[e.keyCode]||e.key||"Unidentified";return r=="Esc"&&(r="Escape"),r=="Del"&&(r="Delete"),r=="Left"&&(r="ArrowLeft"),r=="Up"&&(r="ArrowUp"),r=="Right"&&(r="ArrowRight"),r=="Down"&&(r="ArrowDown"),r}s(sf,"keyName");import{Plugin as p3}from"prosemirror-state";var f3=typeof navigator!="undefined"?/Mac|iP(hone|[oa]d)/.test(navigator.platform):!1;function g3(e){let t=e.split(/-(?!$)/),r=t[t.length-1];r=="Space"&&(r=" ");let o,n,i,a;for(let l=0;l<t.length-1;l++){let c=t[l];if(/^(cmd|meta|m)$/i.test(c))a=!0;else if(/^a(lt)?$/i.test(c))o=!0;else if(/^(c|ctrl|control)$/i.test(c))n=!0;else if(/^s(hift)?$/i.test(c))i=!0;else if(/^mod$/i.test(c))f3?a=!0:n=!0;else throw new Error("Unrecognized modifier name: "+c)}return o&&(r="Alt-"+r),n&&(r="Ctrl-"+r),a&&(r="Meta-"+r),i&&(r="Shift-"+r),r}s(g3,"normalizeKeyName");function h3(e){let t=Object.create(null);for(let r in e)t[g3(r)]=e[r];return t}s(h3,"normalize");function Ac(e,t,r=!0){return t.altKey&&(e="Alt-"+e),t.ctrlKey&&(e="Ctrl-"+e),t.metaKey&&(e="Meta-"+e),r&&t.shiftKey&&(e="Shift-"+e),e}s(Ac,"modifiers");function lf(e){return new p3({props:{handleKeyDown:b3(e)}})}s(lf,"keymap");function b3(e){let t=h3(e);return function(r,o){let n=sf(o),i,a=t[Ac(n,o)];if(a&&a(r.state,r.dispatch,r))return!0;if(n.length==1&&n!=" "){if(o.shiftKey){let l=t[Ac(n,o,!1)];if(l&&l(r.state,r.dispatch,r))return!0}if((o.shiftKey||o.altKey||o.metaKey||n.charCodeAt(0)>127)&&(i=Mr[o.keyCode])&&i!=n){let l=t[Ac(i,o)];if(l&&l(r.state,r.dispatch,r))return!0}}return!1}}s(b3,"keydownHandler");import{v4 as E3}from"uuid";var Sc=en.extend({addOptions(){var e;return{...(e=this.parent)==null?void 0:e.call(this),HTMLAttributes:{class:""}}},onCreate(){Oe(this.editor,this.name)},onTransaction(){let e=this.editor.state.tr,t=!1;this.editor.state.doc.descendants((r,o)=>{if(r.type.name===this.name&&!r.attrs.id){let n=`node-${E3()}`;e.setNodeMarkup(o,void 0,{...r.attrs,id:n}),t=!0}return!0}),t&&this.editor.view.dispatch(e)},addAttributes(){return{paddingVertical:{default:ue.paddingVertical,parseHTML:e=>e.style.paddingTop?parseInt(e.style.paddingTop):ue.paddingVertical,renderHTML:e=>({"data-padding-vertical":e.paddingVertical})},paddingHorizontal:{default:ue.paddingHorizontal,parseHTML:e=>e.style.paddingLeft?parseInt(e.style.paddingLeft):ue.paddingHorizontal,renderHTML:e=>({"data-padding-horizontal":e.paddingHorizontal})},textAlign:{default:ue.textAlign,parseHTML:e=>e.style.textAlign||ue.textAlign,renderHTML:e=>({"data-text-align":e.textAlign})},backgroundColor:{default:ue.backgroundColor,parseHTML:e=>e.style.backgroundColor||ue.backgroundColor,renderHTML:e=>({"data-background-color":e.backgroundColor})},borderWidth:{default:ue.borderWidth,parseHTML:e=>e.style.borderWidth?parseInt(e.style.borderWidth):ue.borderWidth,renderHTML:e=>({"data-border-width":e.borderWidth})},borderColor:{default:ue.borderColor,parseHTML:e=>e.style.borderColor||ue.borderColor,renderHTML:e=>({"data-border-color":e.borderColor})},id:{default:void 0,parseHTML:e=>e.getAttribute("data-id"),renderHTML:e=>({"data-id":e.id})},locales:{default:void 0,parseHTML:()=>{},renderHTML:()=>({})}}},parseHTML(){return[{tag:'div[data-type="paragraph"]'}]},renderHTML({HTMLAttributes:e}){return["div",y3(this.options.HTMLAttributes,e,{"data-type":"paragraph"}),0]},addNodeView(){return C3(ns)},addProseMirrorPlugins(){return[lf({"Mod-a":({selection:e,tr:t})=>{document.execCommand("selectAll");let{$from:r}=e,o=r.depth,n=null;for(;o>0;){let i=r.node(o);if(i.type.name==="paragraph"||i.type.name==="heading"){n=i;break}o--}if(n){let i=r.start(o),a=r.end(o);if(e.from!==i||e.to!==a)return t.setSelection(v3.create(t.doc,i,a)),!0}return!1}}),new x3({key:new T3("preventElementDeletion"),props:{handleKeyDown:(e,t)=>{let r=t.key==="Delete"||t.key==="Backspace"||t.keyCode===8||t.keyCode===46||t.code==="Delete"||t.code==="Backspace",o=t.metaKey||t.ctrlKey||t.altKey;if(r){let{state:n}=e,{selection:i}=n,{$anchor:a}=i,l=a.depth,c=null;for(;l>0;){let u=a.node(l);if(u.type.name==="paragraph"||u.type.name==="heading"){c=u;break}l--}if(c){let u=c.textContent,d=a.parentOffset===0,m=a.parentOffset===u.length,p=u.length===0,f=t.key==="Delete"||t.keyCode===46||t.code==="Delete",v=f?i.$from.nodeAfter:i.$from.nodeBefore,h=v!=null;if(h&&p)return!1;if(o||p&&!h||!f&&d&&!h||f&&m&&!h)return t.preventDefault(),t.stopPropagation(),!0}}return!1}}})]},addKeyboardShortcuts(){let e=s((t,r=!0)=>{let{empty:o,$anchor:n,$head:i}=t.state.selection,a=n.depth,l=null;for(;a>0;){let p=n.node(a);if(p.type.name==="paragraph"||p.type.name==="heading"){l=p;break}a--}if(!l)return!1;let c=r?n.pos===i.pos&&n.parentOffset===0:n.pos===i.pos&&n.parentOffset===l.textContent.length,u=l.textContent.length===0,d=r?t.state.selection.$from.nodeBefore:t.state.selection.$from.nodeAfter,m=d!=null;return m&&u?!1:c&&!m||u&&!m?!0:o?!1:(t.commands.command(({tr:p,dispatch:f})=>f?(p.insertText("",t.state.selection.from,t.state.selection.to),!0):!1),!0)},"handleDeletion");return{Enter:({editor:t})=>{if(t.view.dom.querySelector(".variable-suggestion")||t.view.state.selection.$from.node().type.spec.code)return!1;let{state:o,dispatch:n}=t.view,{tr:i}=o;return i.replaceSelectionWith(o.schema.nodes.hardBreak.create()).scrollIntoView(),n(i),!0},"Mod-a":({editor:t})=>{let{$from:r}=t.state.selection,o=r.depth;for(;o>0;){let n=r.node(o);if(n.type.name==="paragraph"||n.type.name==="heading"){let i=r.start(o),a=r.end(o);return t.commands.setTextSelection({from:i,to:a}),!0}o--}return!1},Backspace:({editor:t})=>e(t,!0),Delete:({editor:t})=>e(t,!1),Tab:()=>!0,"Shift-Tab":()=>!0}},addCommands(){return{setTextAlign:e=>({chain:t})=>t().updateAttributes(this.name,{textAlign:e}).run()}}});import{Extension as w3}from"@tiptap/core";import{Plugin as k3,PluginKey as P3}from"@tiptap/pm/state";var N3=new P3("selection"),Ic=w3.create({name:"selection",addOptions(){return{HTMLAttributes:{},setSelectedNode:()=>{},shouldHandleClick:()=>!0}},addGlobalAttributes(){return[{types:["paragraph","heading","button","spacer","divider","imageBlock","blockquote","customCode","column"],attributes:{isSelected:{default:!1,parseHTML:()=>!1,renderHTML:e=>e.isSelected?{class:"selected-element"}:{}}}}]},addCommands(){return{updateSelectionState:e=>({tr:t,dispatch:r})=>{var o,n;if(r){let i=(o=e==null?void 0:e.attrs)==null?void 0:o.id,a=(n=e==null?void 0:e.type)==null?void 0:n.name;t.doc.descendants((l,c)=>{var u,d,m;if(l.type.name!=="text"&&((u=l.type.spec.attrs)==null?void 0:u.isSelected)!==void 0){let p=!1;i?p=((d=l.attrs)==null?void 0:d.id)===i&&l.type.name===a:a&&(p=l.type.name===a&&l.content.size===((m=e==null?void 0:e.content)==null?void 0:m.size)),p?t.setNodeAttribute(c,"isSelected",!0):t.setNodeAttribute(c,"isSelected",!1)}return!0})}return!0}}},addProseMirrorPlugins(){return[new k3({key:N3,props:{handleClick:(e,t,r)=>{let{state:o}=e;if(!this.editor.isEditable||this.options.shouldHandleClick&&!this.options.shouldHandleClick())return!1;let n=r.target;if(n.closest(".node-blockquote")||n.closest('[data-cypress="draggable-handle"]')||n.closest('button[class*="courier-cursor-grab"]'))return!1;try{let l=window.getSelection();if(l&&l.rangeCount>0){let u=l.getRangeAt(0).startContainer.parentElement;if(u&&(["P","H1","H2","H3"].includes(u.tagName)||["P","H1","H2","H3"].some(d=>u.closest(d)))){let d=e.posAtDOM(u,0),p=o.doc.resolve(d).node();if(p&&["paragraph","heading"].includes(p.type.name))return this.options.setSelectedNode(p),this.editor.commands.updateSelectionState(p),!0}}}catch(l){console.error("Error handling click:",l)}let i=e.posAtDOM(n,0),a=o.doc.resolve(i).node();return a&&["paragraph","heading"].includes(a.type.name)?(this.options.setSelectedNode(a),this.editor.commands.updateSelectionState(a),!0):!1}}})]}});import{forwardRef as M3}from"react";import{jsx as A3}from"react/jsx-runtime";var Lc=M3(({children:e,className:t,withShadow:r=!0,withBorder:o=!0,...n},i)=>{let a=S("courier-bg-popover courier-rounded-lg courier-text-popover-foreground",r?"courier-shadow-sm":"",o?"courier-border courier-border-border":"",t);return A3("div",{className:a,...n,ref:i,children:e})});Lc.displayName="Surface";import{v4 as S3}from"uuid";var I3=s((e,t)=>{let r=null;return e.state.doc.descendants((o,n)=>o.attrs.id===t?(r=n,!1):!0),r},"findNodePositionById"),hf=s((e,t,r,o,n,i)=>{let a=`node-${S3()}`,c={heading:()=>e.schema.nodes.heading.create({...ue,...o,id:a},i),paragraph:()=>e.schema.nodes.paragraph.create({...ue,...o,id:a},i),text:()=>e.schema.nodes.paragraph.create({...ue,...o,id:a},i),spacer:()=>e.schema.nodes.divider.create({...Ya,...o,id:a}),divider:()=>e.schema.nodes.divider.create({...Mt,...o,id:a}),button:()=>e.schema.nodes.button.create({...Ie,...o,id:a},i),imageBlock:()=>e.schema.nodes.imageBlock.create({...Be,...o,id:a}),image:()=>e.schema.nodes.imageBlock.create({...Be,...o,id:a}),customCode:()=>e.schema.nodes.customCode.create({...Pr,...o,id:a}),column:()=>e.schema.nodes.column.create({...qe,...o,id:a})}[t];if(c)try{let u=e.state.tr,d=c();u.insert(r,d),e.view.dispatch(u),n&&n(d),(t==="text"||t==="paragraph"||t==="heading")&&setTimeout(()=>{let p=I3(e,a);p!==null&&e.commands.setTextSelection(p+1),e.view.focus()},50);let m=new CustomEvent("node-duplicated",{detail:{newNodeId:a}});document.dispatchEvent(m)}catch(u){console.error("Error creating node:",u)}else try{if(e.schema.nodes[t]){let u=e.state.tr,d=e.schema.nodes[t].create({...o,id:a},i);u.insert(r,d),e.view.dispatch(u),n&&n(d);let m=new CustomEvent("node-duplicated",{detail:{newNodeId:a}});document.dispatchEvent(m)}else console.error(`Cannot duplicate node: type "${t}" not found in schema`)}catch(u){console.error("Error creating fallback node:",u)}return a},"createOrDuplicateNode");var jr=s(e=>{let t=e();return typeof t=="number"?t:null},"safeGetPos"),We=s(e=>{let t=jr(e.getPos);return t===null?null:e.editor.state.doc.nodeAt(t)},"safeGetNodeAtPos");import{GripVertical as L3}from"lucide-react";import{forwardRef as R3}from"react";import{jsx as bf}from"react/jsx-runtime";var yf=R3((e,t)=>bf("button",{...e,ref:t,"data-cypress":"draggable-handle","data-drag-handle":!0,className:S("courier-flex-shrink-0 courier-p-1 courier-w-7 courier-h-7 courier-rounded-md courier-border courier-border-border courier-flex courier-items-center courier-justify-center courier-shadow-sm courier-bg-background hover:courier-bg-card courier-cursor-grab courier-select-none courier-z-10 courier-touch-none",e.className),style:{WebkitUserSelect:"none",userSelect:"none",touchAction:"none"},children:bf(L3,{strokeWidth:1,className:"courier-w-5 courier-stroke-neutral-400 courier-fill-neutral-400 courier-pointer-events-none"})}));import{useAtomValue as B3,useSetAtom as D3}from"jotai";import{useCallback as At}from"react";import{v4 as F3}from"uuid";import{useMemo as H3}from"react";var Cf=s((e,t,r)=>H3(()=>{if(!(e!=null&&e.conditionalRules)||!t||!r)return null;let o=e.conditionalRules.filter(n=>n.trigger.type==="node"&&t.isActive(n.trigger.name)!==n.trigger.active?!1:n.conditions.activeItems.some(i=>i==="bold"?r.isBold:i==="italic"?r.isItalic:i==="underline"?r.isUnderline:i==="strike"?r.isStrike:!1));return{getRuleForItem:n=>o.find(i=>!i.conditions.activeItems.includes(n))}},[e,t,r]),"useConditionalRules");var us=s((e,t,r)=>{let o=D3(Re),n=B3(ge),i=Cf(t,e,r),a=At(g=>{let k=-1;return e.state.doc.descendants((A,E)=>{var L;return((L=A.attrs)==null?void 0:L.id)===g?(k=E,!1):!0}),k},[e]),l=At((g,k)=>{var A,E,L;if(((A=n==null?void 0:n.type)==null?void 0:A.name)==="button"&&((E=n.attrs)!=null&&E.id)){let w=n.attrs.id,C=a(w);if(C>=0){let T=e.state.tr;return T.setNodeMarkup(C,void 0,{...(L=e.state.doc.nodeAt(C))==null?void 0:L.attrs,[g]:k}),e.view.dispatch(T),setTimeout(()=>{let x=a(w);if(x>=0){let P=e.state.doc.nodeAt(x);P&&o(P)}},0),!0}}return!1},[e,n,a,o]),c=At(()=>{var g,k;if(((g=n==null?void 0:n.type)==null?void 0:g.name)==="button"&&((k=n.attrs)!=null&&k.id)){let A=n.attrs.id,E=a(A);if(E>=0){let L=e.state.doc.nodeAt(E);if(!L)return!1;let w={...L.attrs,fontWeight:"normal",fontStyle:"normal",isUnderline:!1,isStrike:!1},C=e.state.tr;return C.setNodeMarkup(E,void 0,w),e.view.dispatch(C),setTimeout(()=>{let T=a(A);if(T>=0){let x=e.state.doc.nodeAt(T);x&&o(x)}},0),!0}}return!1},[e,n,a,o]),u=At(()=>{var g;if(((g=n==null?void 0:n.type)==null?void 0:g.name)==="button"){let k=n.attrs.fontWeight==="bold"?"normal":"bold";if(l("fontWeight",k))return!0}if(i&&r){let k=i.getRuleForItem("bold");if(k&&k.action.type==="toggle_off"){let A=e.chain().focus();return k.action.targets.forEach(E=>{E==="italic"&&r.isItalic&&A.toggleItalic()}),A.toggleBold().run(),!0}}return e.chain().focus().toggleBold().run()},[e,n,l,i,r]),d=At(()=>{var g;if(((g=n==null?void 0:n.type)==null?void 0:g.name)==="button"){let k=n.attrs.fontStyle==="italic"?"normal":"italic";if(l("fontStyle",k))return!0}if(i&&r){let k=i.getRuleForItem("italic");if(k&&k.action.type==="toggle_off"){let A=e.chain().focus();return k.action.targets.forEach(E=>{E==="bold"&&r.isBold&&A.toggleBold()}),A.toggleItalic().run(),!0}}return e.chain().focus().toggleItalic().run()},[e,n,l,i,r]),m=At(()=>{var g;if(((g=n==null?void 0:n.type)==null?void 0:g.name)==="button"){let k=!n.attrs.isStrike;if(l("isStrike",k))return!0}return e.chain().focus().toggleMark("strike").run()},[e,n,l]),p=At(()=>{var g;if(((g=n==null?void 0:n.type)==null?void 0:g.name)==="button"){let k=!n.attrs.isUnderline;if(l("isUnderline",k))return!0}return e.chain().focus().toggleMark("underline").run()},[e,n,l]),f=At(()=>e.chain().focus().setTextAlign("left").run(),[e]),v=At(()=>e.chain().focus().setTextAlign("center").run(),[e]),h=At(()=>e.chain().focus().setTextAlign("right").run(),[e]),b=At(()=>e.chain().focus().setTextAlign("justify").run(),[e]),y=At((g,k)=>e.chain().focus().setLink({href:g,target:k?"_blank":""}).run(),[e]),N=At(()=>{let g=e.isActive("blockquote");if(e.chain().focus().toggleBlockquote().run()){let{selection:E}=e.state,L=E.$anchor;if(g){let w=L.node();(w.type.name==="paragraph"||w.type.name==="heading")&&o(w)}else for(let w=L.depth;w>0;w--){let C=L.node(w);if(C.type.name==="blockquote"){if(C.attrs.id)o(C);else{let T=L.before(w),x=`node-${F3()}`,P=e.state.tr;P.setNodeMarkup(T,void 0,{...C.attrs,id:x}),e.view.dispatch(P);let M=e.state.doc.nodeAt(T);M&&o(M)}break}}}},[e,o]);return{onBold:u,onItalic:d,onStrike:m,onUnderline:p,onAlignLeft:f,onAlignCenter:v,onAlignRight:h,onAlignJustify:b,onLink:y,onQuote:N,resetButtonFormatting:c}},"useTextmenuCommands");import{jsx as Rc}from"react/jsx-runtime";var V3=s(e=>{switch(e){case"text":return"Text";case"heading":return"Heading";case"spacer":return"Spacer";case"divider":return"Divider";case"button":return"Button";case"image":return"Image";case"customCode":return"Custom code";case"column":return"Column layout";default:return"Drop here"}},"getPlaceholderLabel"),ds=s(({type:e})=>Rc("div",{className:"courier-flex courier-w-full courier-pointer-events-none",children:Rc("div",{className:S("courier-relative courier-flex courier-flex-grow courier-items-center courier-px-5 courier-py-[18px] courier-bg-background/50 courier-ml-10","courier-border-2 courier-border-dashed courier-border-accent-foreground courier-rounded-md courier-drag-indicator dark:courier-border-accent"),children:Rc("div",{className:"courier-text-accent-foreground dark:courier-text-accent",children:V3(e)})})}),"DropIndicatorPlaceholder");import{Fragment as Z3,jsx as St,jsxs as ms}from"react/jsx-runtime";function z3(){let[e,t]=ps(!1);return Hc(()=>{let r=setTimeout(()=>t(!0),500);return()=>clearTimeout(r)},[]),e}s(z3,"useMountStatus");var Ye=s(({children:e,id:t,className:r,editor:o,getPos:n,...i})=>{let a=Yr(null),l=Yr(null),c=Yr(null),[u,d]=ps(!1),[m,p]=ps(null),[f,v]=ps(null),h=Yr(null),b=Yr(!1),y=Yr(null),N=Yr(null),g=Yr(null),k=z3(),A=u&&!k,E=Ao(()=>{if(!o||!t)return null;let w=null;return o.state.doc.descendants((C,T,x)=>{var P;if(((P=C.attrs)==null?void 0:P.id)===t){let M=0;return x&&x.content.forEach((R,I,H)=>{R===C&&(M=H)}),w={node:C,pos:T,parent:x,index:M},!1}return!0}),w},[t,o]),L=Ao(()=>{if(!o)return!1;let w=E();return!w||!w.parent?!1:w.index===w.parent.childCount-1},[o,E]);return Hc(()=>{let w=a.current,C=l.current;if(!w)return;let T=sr(gi({element:w,dragHandle:C||void 0,getInitialData:()=>{var I,H,V,F,O,B;let x=E(),P="text";if(x){let W=x.node;switch(W.type.name){case"heading":P="heading";break;case"paragraph":P="text";break;case"imageBlock":P="image";break;case"divider":P=(I=W.attrs)!=null&&I.spacer?"spacer":"divider";break;case"button":P="button";break;case"customCode":P="customCode";break;case"column":P="column";break}}let M=(x==null?void 0:x.parent)===o.state.doc,R=((H=x==null?void 0:x.parent)==null?void 0:H.type.name)==="columnCell";return{id:t,type:M?"editor":R?"column-cell-item":"nested-drag",index:(V=x==null?void 0:x.index)!=null?V:0,dragType:P,pos:x==null?void 0:x.pos,originalIndex:(F=x==null?void 0:x.index)!=null?F:0,columnId:R?(O=x==null?void 0:x.parent)==null?void 0:O.attrs.columnId:void 0,cellIndex:R?(B=x==null?void 0:x.parent)==null?void 0:B.attrs.index:void 0}},onGenerateDragPreview:()=>{let x=w.querySelectorAll("[data-no-drag-preview]"),P=[];x.forEach((M,R)=>{let I=M;P[R]=I.style.display,I.style.display="none"}),requestAnimationFrame(()=>{x.forEach((M,R)=>{let I=M;I.style.display=P[R]})})},onDragStart:()=>{d(!0),document.body.style.cursor="grabbing";let x=s(P=>{N.current=P.clientY},"handleMouseMove");document.addEventListener("mousemove",x),g.current=()=>{document.removeEventListener("mousemove",x)},o&&o.isEditable&&o.setEditable(!1)},onDrop:()=>{d(!1),document.body.style.cursor="",g.current&&(g.current(),g.current=null),o&&o.setEditable(!0)}}),Pt({element:w,getData:({input:x,element:P})=>{var B,W,U,ie;let M=E(),R=(M==null?void 0:M.parent)===o.state.doc,I=((B=M==null?void 0:M.parent)==null?void 0:B.type.name)==="columnCell",H={id:t,type:R?"editor":I?"column-cell-item":"nested-drag",index:(W=M==null?void 0:M.index)!=null?W:0,pos:M==null?void 0:M.pos,nodeType:M==null?void 0:M.node.type.name,columnId:I?(U=M==null?void 0:M.parent)==null?void 0:U.attrs.columnId:void 0,cellIndex:I?(ie=M==null?void 0:M.parent)==null?void 0:ie.attrs.index:void 0};if(P.getAttribute("data-node-type")==="column"){let ee=P.getBoundingClientRect(),K=x.clientY,D=30,z=Math.abs(K-ee.top),oe=Math.abs(K-ee.bottom);if(z>D&&oe>D)return{...H,disableDropIndicator:!0}}let F=P.closest('[data-column-cell="true"]');if(L()&&w){let ee=w.getBoundingClientRect(),K=x.clientY,D=ee.top+ee.height/2;if(K>=D&&K>ee.bottom)return{...H,[Symbol.for("closestEdge")]:"bottom"}}let O=L()?["top","bottom"]:["top"];return Gm(H,{input:x,element:P,allowedEdges:O})},canDrop:({source:x})=>x.data.id!==t,onDragEnter:({self:x,source:P,location:M})=>{var W,U,ie,ee,K;if(x.data.disableDropIndicator){p(null);return}y.current&&(clearTimeout(y.current),y.current=null);let R=M.current.dropTargets;if(R.length>0&&R[0].element!==w){p(null),b.current=!1,h.current=null;return}let I=hi(x.data),H=I,V=L(),F=(ie=(U=(W=M==null?void 0:M.current)==null?void 0:W.input)==null?void 0:U.clientY)!=null?ie:N.current;F!==null&&(N.current=F);let O=P.data;v(O.dragType||null),I==="bottom"&&V&&P.data.id===t&&(H=null);let B=P.data.type==="editor"||P.data.type==="column-cell-item";if(V&&B)if(I==="top"){let D=a.current;if(D){let z=D.getBoundingClientRect(),oe=(ee=F!=null?F:N.current)!=null?ee:z.top+z.height/2,be=z.top+z.height/2,Pe=z.height,Me=Math.max(10,Math.min(30,Pe*.3));oe<be-Me?(b.current=!1,H="top"):b.current?H="bottom":H="top"}else b.current=!1,H="top"}else b.current?H="bottom":I==="bottom"&&(b.current=!0,H="bottom");else V&&!B&&(b.current=!1);if(!b.current&&(P.data.type==="editor"||P.data.type==="column-cell-item")&&typeof P.data.index=="number"){let D=P.data.index,z=E();((K=z==null?void 0:z.index)!=null?K:0)===D+1&&I==="top"&&(H=null)}H!==h.current&&(h.current=H,p(H))},onDrag:({self:x,source:P,location:M})=>{var W,U,ie,ee,K;if(x.data.disableDropIndicator){p(null);return}y.current&&(clearTimeout(y.current),y.current=null);let R=M.current.dropTargets;if(R.length>0&&R[0].element!==w){p(null);return}let I=(ie=(U=(W=M==null?void 0:M.current)==null?void 0:W.input)==null?void 0:U.clientY)!=null?ie:N.current;I!==null&&(N.current=I);let H=hi(x.data),V=H,F=L(),O=P.data;v(O.dragType||null),H==="bottom"&&F&&P.data.id===t&&(V=null);let B=P.data.type==="editor"||P.data.type==="column-cell-item";if(F&&B)if(H==="top"){let D=a.current;if(D){let z=D.getBoundingClientRect(),oe=(ee=I!=null?I:N.current)!=null?ee:z.top+z.height/2,be=z.top+z.height/2,Pe=z.height,Me=Math.max(10,Math.min(30,Pe*.3));oe<be-Me?(b.current=!1,V="top"):b.current?V="bottom":V="top"}else b.current=!1,V="top"}else b.current?V="bottom":H==="bottom"&&(b.current=!0,V="bottom");else F&&!B&&(b.current=!1);if(!b.current&&(P.data.type==="editor"||P.data.type==="column-cell-item")&&typeof P.data.index=="number"){let D=P.data.index,z=E();((K=z==null?void 0:z.index)!=null?K:0)===D+1&&H==="top"&&(V=null)}V!==h.current&&(h.current=V,p(V))},onDragLeave:()=>{if(L()&&b.current){let x=w==null?void 0:w.getBoundingClientRect(),P=N.current;if(x&&P!==null&&P>=x.bottom-10)return;y.current&&clearTimeout(y.current),y.current=setTimeout(()=>{b.current=!1,h.current=null,p(null),v(null),y.current=null},150)}else y.current&&(clearTimeout(y.current),y.current=null),b.current=!1,h.current=null,p(null),v(null)},onDrop:()=>{y.current&&(clearTimeout(y.current),y.current=null),b.current=!1,h.current=null,p(null),v(null)}}));return()=>{y.current&&(clearTimeout(y.current),y.current=null),T()}},[t,L,o,E]),St($3,{ref:a,id:t,fadeIn:A,className:r,dragging:u,closestEdge:m,dragType:f,handleRef:l,contentRef:c,editor:o,...i,children:e})},"SortableItemWrapper"),$3=W3(({children:e,className:t,dragOverlay:r,handleRef:o,contentRef:n,closestEdge:i,dragType:a,id:l,editor:c,fadeIn:u,dragging:d,...m},p)=>{Hc(()=>{if(r)return document.body.style.cursor="grabbing",()=>{document.body.style.cursor=""}},[r]);let f=U3(ge),{resetButtonFormatting:v}=us(c),h=s((E,L)=>{let w=null;return E.doc.descendants((C,T)=>{var x;return w!==null?!1:((x=C.attrs)==null?void 0:x.id)===L?(w=T,!1):!0}),w},"findNodePositionById"),b=Ao(()=>{if(!c||!l)return{node:null,pos:null};let E=h(c.state,l);return E===null?{node:null,pos:null}:{node:c.state.doc.nodeAt(E),pos:E}},[c,l]),y=Ao(()=>{c.commands.blur(),f(null)},[c,f]),N=Ao(()=>{if(!(!c||!l))try{let{node:E,pos:L}=b();if(!E||L===null)return;let w=E.nodeSize,C=c.state.doc.childCount===1;f(null),c.commands.updateSelectionState(null);let T=c.state.tr;T.delete(L,L+w),T.setMeta("addToHistory",!0),c.view.dispatch(T),C&&setTimeout(()=>{let x=c.state.doc.nodeAt(0);if(x&&x.type.name==="paragraph"&&!x.attrs.id){let P=`node-${_3()}`,M=c.state.tr;M.setNodeMarkup(0,void 0,{...x.attrs,id:P}),c.view.dispatch(M);let R=new CustomEvent("node-duplicated",{detail:{newNodeId:P}});document.dispatchEvent(R)}},50)}catch(E){console.error("Error deleting node:",E)}},[c,l,b,f]),g=Ao(()=>{if(!(!c||!l))try{let{node:E,pos:L}=b();if(!E||L===null)return;if(E.type.name==="button"){v();return}let w=E.type.name==="blockquote",C=E.type.name==="heading";!w&&!C&&y(),setTimeout(()=>{if(C){let x=L+1,P=L+E.nodeSize-1;c.chain().setTextSelection({from:x,to:P}).unsetAllMarks().blur().run(),f(null),c.commands.updateSelectionState(null);return}let T=c.chain();if(T.setNodeSelection(L).unsetAllMarks(),w&&E.content&&E.content.firstChild?E.content.firstChild.type.name!=="paragraph"&&T.setParagraph():E.type.name!=="paragraph"&&!w&&T.setParagraph(),T.run(),w){let x=b();x.node&&x.pos!==null&&(f(x.node),c.commands.updateSelectionState(x.node))}},100)}catch(E){console.error("Error removing formatting:",E)}},[c,l,b,y,v,f]),k=Ao(()=>{if(!(!c||!l))try{y(),setTimeout(()=>{let{node:E,pos:L}=b();if(!E||L===null)return;let w=E.type.name,C={...E.attrs};delete C.id;let T=L+(E==null?void 0:E.nodeSize);hf(c,w,T,C,x=>f(x),E.content)},100)}catch(E){console.error("Error duplicating node:",E)}},[c,l,b,y,f]),{node:A}=b();return ms(O3,{ref:p,"data-cypress":"draggable-item","data-node-view-wrapper":!0,"data-id":l,className:S("courier-flex courier-flex-col courier-relative draggable-item",t),...m,children:[i==="top"&&St(ds,{type:a}),ms("div",{className:"courier-flex courier-items-center courier-justify-center courier-gap-2 courier-pl-10",children:[St(yf,{ref:o,className:"courier-absolute courier-left-[-8px]",tabIndex:-1,"data-no-drag-preview":!0}),St("div",{ref:n,className:"courier-flex-1 courier-grow draggable-content-wrapper",children:e}),ms("div",{"data-no-drag-preview":!0,className:S("courier-actions-panel courier-absolute courier-right-[-50px] courier-rounded-lg courier-border courier-border-border courier-bg-background courier-shadow-md courier-hidden courier-items-center courier-justify-center hover:courier-z-[100000]",d&&"!courier-hidden"),children:[(A==null?void 0:A.type.name)!=="imageBlock"&&(A==null?void 0:A.type.name)!=="divider"&&(A==null?void 0:A.type.name)!=="spacer"&&(A==null?void 0:A.type.name)!=="button"&&(A==null?void 0:A.type.name)!=="column"&&(A==null?void 0:A.type.name)!=="customCode"&&ms(Z3,{children:[St("button",{className:"courier-w-8 courier-h-8 courier-flex courier-items-center courier-justify-center courier-text-[#171717] dark:courier-text-white dark:hover:courier-bg-secondary",onMouseDown:E=>{E.preventDefault(),E.stopPropagation()},onClick:E=>{E.stopPropagation(),g()},tabIndex:-1,children:St(Dl,{color:"currentColor"})}),St(le,{className:"!courier-my-0"})]}),St("button",{className:"courier-w-8 courier-h-8 courier-flex courier-items-center courier-justify-center courier-text-[#171717] dark:courier-text-white dark:hover:courier-bg-secondary",onMouseDown:E=>{E.preventDefault(),E.stopPropagation()},onClick:E=>{E.stopPropagation(),k()},tabIndex:-1,children:St(Ml,{color:"currentColor"})}),St(le,{className:"!courier-my-0"}),St("button",{className:"courier-w-8 courier-h-8 courier-flex courier-items-center courier-justify-center courier-text-[#DC2626] dark:courier-text-red-500 dark:hover:courier-bg-secondary",onMouseDown:E=>{E.preventDefault(),E.stopPropagation()},onClick:E=>{E.stopPropagation(),N()},tabIndex:-1,children:St(Jn,{color:"currentColor"})})]})]}),i==="bottom"&&St(ds,{type:a})]})});import{jsx as ln}from"react/jsx-runtime";var G3=s(({alignment:e,backgroundColor:t,textColor:r,borderRadius:o,padding:n,fontWeight:i,fontStyle:a,children:l})=>ln("div",{className:"courier-w-full node-element",children:ln("div",{className:"courier-flex",children:ln("div",{className:S("courier-inline-flex courier-justify-center courier-cursor-text courier-text-sm courier-leading-tight !courier-my-1",{left:"courier-mr-auto",center:"courier-mx-auto",right:"courier-ml-auto"}[e]),style:{backgroundColor:t,color:r,borderRadius:`${o}px`,caretColor:r,fontWeight:i,fontStyle:a,padding:`${Number(n)+2}px ${Number(n)+10}px`},children:l})})}),"ButtonComponent"),vf=s(e=>{let t=J3(Re),r=j3(()=>{if(!e.editor.isEditable)return;let o=We(e);if(o){let n=o.attrs.id;e.editor.state.doc.descendants(i=>i.type.name==="button"&&i.attrs.id===n?(t(i),!1):!0)}},[e,t]);return ln(Ye,{id:e.node.attrs.id,className:S(e.node.attrs.isSelected&&"selected-element"),onClick:r,editor:e.editor,"data-node-type":"button",children:ln(G3,{...e.node.attrs,children:ln(q3,{as:"span"})})})},"ButtonComponentNode");import{v4 as Q3}from"uuid";var Ie={label:"Button",link:"",alignment:"center",backgroundColor:"#0085FF",borderRadius:0,padding:6,fontWeight:"normal",fontStyle:"normal",isUnderline:!1,isStrike:!1,textColor:"#ffffff",borderColor:"transparent"},_a=Y3.create({name:"button",group:"block",content:"inline*",selectable:!1,isolating:!0,onCreate(){Oe(this.editor,this.name)},addAttributes(){return{label:{default:Ie.label,parseHTML:e=>e.getAttribute("data-label"),renderHTML:e=>({"data-label":e.label})},link:{default:Ie.link,parseHTML:e=>e.getAttribute("data-link"),renderHTML:e=>({"data-link":e.link})},alignment:{default:Ie.alignment,parseHTML:e=>e.getAttribute("data-alignment"),renderHTML:e=>({"data-alignment":e.alignment})},backgroundColor:{default:Ie.backgroundColor,parseHTML:e=>e.getAttribute("data-background-color"),renderHTML:e=>({"data-background-color":e.backgroundColor})},textColor:{default:Ie.textColor,parseHTML:e=>e.getAttribute("data-text-color"),renderHTML:e=>({"data-text-color":e.textColor})},borderRadius:{default:Ie.borderRadius,parseHTML:e=>e.getAttribute("data-border-radius"),renderHTML:e=>({"data-border-radius":e.borderRadius})},borderColor:{default:Ie.borderColor,parseHTML:e=>e.getAttribute("data-border-color"),renderHTML:e=>({"data-border-color":e.borderColor})},padding:{default:Ie.padding,parseHTML:e=>e.getAttribute("data-padding"),renderHTML:e=>({"data-padding":e.padding})},fontWeight:{default:Ie.fontWeight,parseHTML:e=>e.getAttribute("data-font-weight"),renderHTML:e=>({"data-font-weight":e.fontWeight})},fontStyle:{default:Ie.fontStyle,parseHTML:e=>e.getAttribute("data-font-style"),renderHTML:e=>({"data-font-style":e.fontStyle})},isUnderline:{default:Ie.isUnderline,parseHTML:e=>e.getAttribute("data-is-underline"),renderHTML:e=>({"data-is-underline":e.isUnderline})},isStrike:{default:Ie.isStrike,parseHTML:e=>e.getAttribute("data-is-strike"),renderHTML:e=>({"data-is-strike":e.isStrike})},id:{default:()=>`node-${Q3()}`,parseHTML:e=>e.getAttribute("data-id"),renderHTML:e=>({"data-id":e.id,"data-node-id":e.id})},locales:{default:void 0,parseHTML:()=>{},renderHTML:()=>({})}}},parseHTML(){return[{tag:'div[data-type="button"]'}]},renderHTML({HTMLAttributes:e}){return["div",K3(this.options.HTMLAttributes,e,{"data-type":"button"}),0]},addNodeView(){return X3(vf)},addKeyboardShortcuts(){return{"Mod-a":({editor:e})=>{let{$from:t}=e.state.selection;for(let r=t.depth;r>=0;r--)if(t.node(r).type.name==="button"){let n=t.start(r),i=t.end(r);return e.commands.setTextSelection({from:n,to:i}),!0}return!1}}},addCommands(){return{setButton:e=>({chain:t})=>t().insertContent({type:this.name,attrs:e,content:[{type:"text",text:e.label||"Button"}]}).run()}}});import{v4 as ey}from"uuid";import{useAtomValue as xf,useSetAtom as Tf,useAtom as ty}from"jotai";import{useCallback as cn,useRef as Ef,useState as fs,useEffect as ry}from"react";var un=s(({items:e,setItems:t,editor:r})=>{let[o]=fs(null),[n,i]=fs(null),[a,l]=fs(null),[c]=fs("outer"),u=Ef([]),d=Ef([]),m=xf(Te),p=Tf(pt),[f,v]=ty(X),h=Tf(Ae),b=xf(Ur),y=r||m,N=cn(()=>{if(!y)return;let w=y.getJSON(),C=me(w),T=Ve(f,{channel:b,elements:C});v(T),h(T)},[y,b,f,v,h]),g=cn(()=>{y==null||y.commands.removeDragPlaceholder(),t(w=>({...w,Editor:w.Editor.filter(C=>!C.toString().includes("_temp"))}))},[y==null?void 0:y.commands,t]),k=cn(w=>{try{let C=y==null?void 0:y.state.doc;if(!C||w===0)return 0;if(w>=C.childCount)return C.content.size;let T=0;for(let x=0;x<Math.min(w,C.childCount);x++){let P=C.child(x);T+=P.nodeSize}return T}catch(C){return console.error("Error calculating document position:",C),0}},[y==null?void 0:y.state.doc]),A=cn(w=>{let C={};switch(w){case"text":C=ue;break;case"heading":C={};break;case"image":C=Be;break;case"button":C=Ie;break;case"divider":C=Mt;break;case"spacer":C=Ya;break;case"customCode":C=Pr;break;case"column":C=qe;break}let x={type:w==="text"?"paragraph":w==="image"?"imageBlock":w==="spacer"?"divider":w,attrs:{...C,id:ey()}};return w==="button"&&(x.content=[{type:"text",text:"Button"}]),x},[]),E=cn((w,C)=>{if(!y)return;let{columnId:T,index:x,isEmpty:P}=C,M=null,R=0,I=-1;if(w.type==="sidebar"){if(!w.dragType)return;M=A(w.dragType)}else if(w.type==="editor"){if(y.state.doc.descendants((B,W)=>B.attrs.id===w.id?(I=W,M=B.toJSON(),R=B.nodeSize,!1):!0),I===-1){let B=e.Editor.findIndex(W=>W===w.id);if(B!==-1){I=k(B);let W=y.state.doc.nodeAt(I);W&&(M=W.toJSON(),R=W.nodeSize)}}if(I!==-1){let B=e.Editor.filter(W=>W!==w.id);B.length!==e.Editor.length&&t({...e,Editor:B})}}if(!M)return;let H=-1,V=null;if(y.state.doc.descendants((B,W)=>B.type.name==="column"&&B.attrs.id===T?(H=W,V=B,!1):!0),H===-1||!V)return;let F=V;I!==-1&&I<H&&(H-=R);let O=y.state.tr;if(I!==-1&&O.delete(I,I+R),P){let B=y.schema,W=Array.from({length:F.attrs.columnsCount},(ie,ee)=>B.nodes.columnCell.create({index:ee,columnId:T,isEditorMode:!1},ee===x?[B.nodeFromJSON(M)]:[])),U=B.nodes.columnRow.create({},W);O.replaceWith(H+1,H+F.nodeSize-1,U)}else{let B=H+1;F.content.forEach(W=>{if(W.type.name==="columnRow"){let U=B+1;W.content.forEach((ie,ee,K)=>{if(K===x){let D=U+ie.nodeSize-1;O.insert(D,y.schema.nodeFromJSON(M))}U+=ie.nodeSize})}B+=W.nodeSize})}y.view.dispatch(O),N()},[y,e,t,k,A,N]),L=cn((w,C)=>{try{if(w.type==="sidebar"&&(C.type==="editor"||C.type==="column-cell-item"||C.type==="nested-drag")){let T=w.dragType;if(!T||!y)return;let x=C.insertPos;if(x===void 0)if(C.type==="editor"){let R=C.index+1;x=k(R)}else{console.warn("Nested drop without position data");return}let P=A(T);if(y.commands.insertContentAt(x,P),y.state.doc.resolve(x).depth===0){let R=y.state.doc.resolve(x).index(0),I=[...e.Editor];R<=I.length&&(I.splice(R,0,P.attrs.id),t({...e,Editor:I}))}N();return}if((w.type==="editor"||w.type==="column-cell-item"||w.type==="nested-drag")&&(C.type==="editor"||C.type==="column-cell-item"||C.type==="nested-drag")){if(!y)return;let T=-1,x=null;if(w.pos!==void 0&&(T=w.pos,x=y.state.doc.nodeAt(T)),(T===-1||!x)&&y.state.doc.descendants((I,H)=>I.attrs.id===w.id?(T=H,x=I,!1):!0),T===-1||!x){let I=e.Editor.findIndex(H=>H===w.id);I!==-1&&(T=k(I),x=y.state.doc.nodeAt(T))}if(!x||T===-1)return;let P=C.insertPos;if(P===void 0){let I;C.index===void 0?I=y.state.doc.childCount:C.index===-1?I=0:I=C.index+1,P=k(I)}if(P===void 0||P>T&&P<T+x.nodeSize)return;if(P>T){let I=P-x.nodeSize;y.chain().deleteRange({from:T,to:T+x.nodeSize}).insertContentAt(I,x.toJSON()).run()}else y.chain().insertContentAt(P,x.toJSON()).deleteRange({from:T+x.nodeSize,to:T+x.nodeSize*2}).run();let M=e.Editor.includes(w.id);if(M){let I=e.Editor.filter(H=>H!==w.id);t({...e,Editor:I})}let R=y.state.doc.resolve(P).depth===0;N()}}catch(T){console.error("[Pragmatic DnD] Error in handleDrop:",T)}},[e,y,t,k,N,A]);return ry(()=>tc({onDragStart:({source:w})=>{let C=w.data;p(!0),l(C.id),C.dragType&&i(C.dragType);let T=y==null?void 0:y.view.dom.querySelectorAll('[data-node-type="column"]');T&&(u.current=Array.from(T).map(P=>P.getBoundingClientRect()));let x=y==null?void 0:y.view.dom.querySelectorAll("[data-node-view-wrapper]");if(x){let P=new Set,M=Array.from(x).filter(R=>{let I=R,H=I.parentElement;if(H!=null&&H.hasAttribute("data-column-cell"))return!1;let V=I.getBoundingClientRect(),F=V.top+V.height/2;return P.has(Math.round(F))?!1:(P.add(Math.round(F)),!0)});d.current=M.map(R=>R.getBoundingClientRect())}},onDrop:({source:w,location:C})=>{let T=w.data,x=C.current.dropTargets[0];if(!x){g(),p(!1),l(null),i(null);return}let P=x.data;if(P.type==="column-cell"){E(T,P),p(!1),l(null),i(null),g();return}let M=P,R=hi(x.data);if(M.pos!==void 0&&R&&y){let I=y.state.doc.nodeAt(M.pos);I&&(R==="top"?M.insertPos=M.pos:R==="bottom"&&(M.insertPos=M.pos+I.nodeSize))}if(M.insertPos===void 0&&R&&M.index!==void 0){let I=R==="top"?M.index-1:M.index;M={...M,index:I}}else if(M.index===void 0&&M.insertPos===void 0){let H=C.current.input.clientY;if(d.current.length>0){let V=0,F=1/0;d.current.forEach((ie,ee)=>{let K=ie.top+ie.height/2,D=Math.abs(H-K);D<F&&(F=D,V=ee)});let O=d.current[V],B=O.top+O.height/2,U=H>=B?V:V-1;M={...M,index:U,fromCoordinates:!0}}else M={...M,index:(y==null?void 0:y.state.doc.childCount)||0}}L(T,M),p(!1),l(null),i(null),g()}}),[y,p,g,l,i,L,E]),{activeId:a,activeDragType:n,dndMode:c,lastPlaceholderIndex:o,cleanupPlaceholder:g}},"usePragmaticDnd");import{useCallback as oy,useEffect as ny}from"react";import{useAtomValue as iy}from"jotai";var gs=s(({setItems:e,rafId:t,editor:r})=>{let o=iy(Te),n=r||o,i=oy(a=>{t.current&&typeof cancelAnimationFrame!="undefined"&&cancelAnimationFrame(t.current);let l=setTimeout(()=>{if(typeof requestAnimationFrame!="undefined")t.current=requestAnimationFrame(()=>{try{let c=a==null?void 0:a.view.dom;if(!c)return;let u=c.querySelectorAll(".react-renderer > div[data-node-view-wrapper][data-id]"),d=[];u.forEach(m=>{let p=m,f=p.dataset.id;if(f){let v=p.parentElement,h=!1;for(;v&&v!==c;){if(v.hasAttribute("data-column-cell")){h=!0;break}v=v.parentElement}h||d.push(f)}}),e(m=>({Editor:d,Sidebar:m.Sidebar}))}catch(c){console.error("Error syncing editor items:",c),e(u=>({...u}))}});else try{let c=a==null?void 0:a.view.dom;if(!c)return;let u=c.querySelectorAll(".react-renderer > div[data-node-view-wrapper][data-id]"),d=[];u.forEach(m=>{let p=m,f=p.dataset.id;if(f){let v=p.parentElement,h=!1;for(;v&&v!==c;){if(v.hasAttribute("data-column-cell")){h=!0;break}v=v.parentElement}h||d.push(f)}}),e(m=>({Editor:d,Sidebar:m.Sidebar}))}catch(c){console.error("Error syncing editor items:",c)}},50);return()=>clearTimeout(l)},[e,t]);return ny(()=>{if(!n||typeof n.on!="function")return;let a,l=s(()=>{n&&(a&&a(),a=i(n))},"updateItems");n.on("update",l),n.on("selectionUpdate",l),n.on("create",l),n.on("transaction",l),n&&!n.isDestroyed&&l();let c=s(u=>{l()},"handleNodeDuplicated");return document.addEventListener("node-duplicated",c),()=>{n==null||n.off("update",l),n==null||n.off("selectionUpdate",l),n==null||n.off("create",l),n==null||n.off("transaction",l),document.removeEventListener("node-duplicated",c),a&&a(),t.current&&typeof cancelAnimationFrame!="undefined"&&(cancelAnimationFrame(t.current),t.current=null)}},[n,i,t]),{syncEditorItems:i}},"useSyncEditorItems");import{Fragment as uy,jsx as Fc}from"react/jsx-runtime";var wi=[{type:"text",align:"left",content:`
|
|
187
187
|
`,text_style:"h1"},{type:"text",align:"left",content:""},{type:"image",src:""}],cy=sy(({hidePublish:e,theme:t,channels:r,routing:o,render:n,headerRenderer:i,value:a,colorScheme:l,hidePreviewPanelExitButton:c,...u},d)=>{let m=So(Te),[p,f]=Bc(ge),[v,h]=Bc(ao),b=Ei({}),[y,N]=Dc(c?"desktop":void 0),g=So(Fe),k=So(ae),A=So(Lu),E=So(ar),L=Ei(-1),w=ay(rm),C=Ei(!1),T=Ei(!1),[x]=Bc(X),P=So(Jt),M=So(ze),[R,I]=Dc({Editor:[],Sidebar:["heading","text","image","spacer","divider","button","customCode"]}),H=Ei(null);un({items:R,setItems:I,editor:m});let{syncEditorItems:V}=gs({setItems:I,rafId:H,editor:m});Xr(()=>{M&&(T.current=!1)},[M]);let[F,O]=Dc(!1);Xr(()=>{if(k===!1||k===null){let D=setTimeout(()=>{O(!0)},100);return()=>clearTimeout(D)}else O(!1)},[k,F]),Xr(()=>{if(p){let D=p.type.name,z=aa(D);w({nodeName:D,config:z})}},[p,w]);let B=kf(()=>{var z,oe,be,Pe,Me,Et,wt,se,Ee,ye,it,at,Ot,Ut,Wt,_t,Fr,Vr,te,Cr,no,io,Nn,Mn,An,Sn,In,Ln,Y,re,de,he,ke,zt;if(E)return E;let D=(be=(oe=(z=g==null?void 0:g.data)==null?void 0:z.tenant)==null?void 0:oe.brand)==null?void 0:be.settings;return{brandColor:((Pe=D==null?void 0:D.colors)==null?void 0:Pe.primary)||"#000000",textColor:((Me=D==null?void 0:D.colors)==null?void 0:Me.secondary)||"#000000",subtleColor:((Et=D==null?void 0:D.colors)==null?void 0:Et.tertiary)||"#666666",headerStyle:(se=(wt=D==null?void 0:D.email)==null?void 0:wt.header)!=null&&se.barColor?"border":"plain",logo:(it=(ye=(Ee=D==null?void 0:D.email)==null?void 0:Ee.header)==null?void 0:ye.logo)==null?void 0:it.image,link:(Ut=(Ot=(at=D==null?void 0:D.email)==null?void 0:at.header)==null?void 0:Ot.logo)==null?void 0:Ut.href,facebookLink:(Vr=(Fr=(_t=(Wt=D==null?void 0:D.email)==null?void 0:Wt.footer)==null?void 0:_t.social)==null?void 0:Fr.facebook)==null?void 0:Vr.url,linkedinLink:(io=(no=(Cr=(te=D==null?void 0:D.email)==null?void 0:te.footer)==null?void 0:Cr.social)==null?void 0:no.linkedin)==null?void 0:io.url,instagramLink:(Sn=(An=(Mn=(Nn=D==null?void 0:D.email)==null?void 0:Nn.footer)==null?void 0:Mn.social)==null?void 0:An.instagram)==null?void 0:Sn.url,mediumLink:(re=(Y=(Ln=(In=D==null?void 0:D.email)==null?void 0:In.footer)==null?void 0:Ln.social)==null?void 0:Y.medium)==null?void 0:re.url,xLink:(zt=(ke=(he=(de=D==null?void 0:D.email)==null?void 0:de.footer)==null?void 0:he.social)==null?void 0:ke.twitter)==null?void 0:zt.url}},[E,g]),W=A&&!!B,U=wf(()=>{Object.values(b.current).forEach(D=>clearTimeout(D)),b.current={}},[]);Xr(()=>()=>{U()},[U]),Xr(()=>{let D=s(z=>{if(z.key==="Escape"&&(f(null),m==null||m.commands.blur(),L.current=-1),z.key==="Tab"&&m){z.preventDefault();let oe=-1;p&&m.state.doc.content.forEach((Me,Et,wt)=>{p.attrs.id===Me.attrs.id&&(oe=wt)}),oe===-1&&(oe=0);let be=m.state.doc,Pe;if(z.shiftKey?Pe=(oe-1+be.childCount)%be.childCount:Pe=(oe+1)%be.childCount,Pe!==oe||p===null){let Me=be.child(Pe);f(Me),m.commands.blur()}}},"handleKeyPress");return document.addEventListener("keydown",D),()=>{document.removeEventListener("keydown",D)}},[m,p,f]),Xr(()=>{if(k!==!1||M)return;let D=x!=null?x:"";if(D){let z=Xs(D,"email");h(z||"")}setTimeout(()=>{if(!(!m||m.isDestroyed)&&m.state.doc.childCount===1){let z=m.state.doc.child(0);f(z)}},0)},[g,k,M,m,h,f,x]),Xr(()=>{k===!1&&g&&!T.current&&(T.current=!0,setTimeout(()=>{m&&!m.isDestroyed&&V(m)},300))},[k,g,m,V]),Xr(()=>(C.current=!0,()=>{C.current=!1}),[]);let ie=wf(D=>{let oe=D||(y===void 0?"desktop":void 0);N(oe),f(null),oe?m==null||m.setEditable(!1):m==null||m.setEditable(!0)},[m,y,N,f]),ee=s(D=>{h(D.target.value)},"handleSubjectChange"),K=kf(()=>{if(k!==!1||!F)return null;let D=a&&a.elements&&a.elements.length>0;D&&(T.current=!0);let z;return D&&(z=a.elements.find(be=>be.type==="channel"&&be.channel==="email")),z||(z={type:"channel",channel:"email",elements:wi}),Se({version:"2022-01-01",elements:[z]},{channel:"email"})},[a,k,F]);return M&&(x===null||K===null)?null:Fc(ht,{theme:t,colorScheme:l,isLoading:!!k,Header:i?i({hidePublish:e,channels:r,routing:o}):Fc(Dt,{hidePublish:e,channels:r,routing:o}),...u,children:Fc(uy,{children:n==null?void 0:n({subject:v,handleSubjectChange:ee,selectedNode:p,setSelectedNode:f,previewMode:y,templateEditor:m,ref:d,isBrandApply:W,brandSettings:B,items:R,content:K,syncEditorItems:V,brandEditorContent:P,templateData:g,togglePreviewMode:ie,hidePreviewPanelExitButton:c})})})}),hs=ly(cy);var bs=class bs{};s(bs,"UploadImageAPI"),bs.uploadImage=s(async t=>new Promise((r,o)=>{let n=new FileReader;n.onload=()=>{typeof n.result=="string"?r(n.result):o(new Error("Failed to convert image to data URL"))},n.onerror=()=>{o(new Error("Failed to read image file"))},n.readAsDataURL(t)}),"uploadImage");var Vc=bs,Oc=Vc;var bt=s(e=>[Cc,gf.configure({document:!1,dropcursor:!1,gapcursor:!1,heading:!1,horizontalRule:!1,paragraph:!1,blockquote:!1,hardBreak:!1,code:!1}),Ic.configure({setSelectedNode:e==null?void 0:e.setSelectedNode,shouldHandleClick:e==null?void 0:e.shouldHandleClick}),uf.configure({keepMarks:!0,HTMLAttributes:{class:"my-line-break"}}),Up,yc,Sc,oc,Tc.configure({levels:[1,2,3,4,5,6]}),_a,za,cf,$a,Za,qa,ja,Nc.configure({openOnClick:!1,defaultProtocol:"https",HTMLAttributes:{class:"link"}}),ff,is.configure(),Qa.configure({allowedMimeTypes:["image/png","image/jpeg","image/gif","image/webp"],onDrop:(t,r,o)=>{r.forEach(async n=>{let i=await Oc.uploadImage(n);t.chain().setImageBlockAt({pos:o,src:i}).focus().run()})},onPaste:(t,r)=>{r.forEach(async o=>{let n=await Oc.uploadImage(o);return t.chain().setImageBlockAt({pos:t.state.selection.anchor,src:n}).focus().run()})}}),mf.extend({addKeyboardShortcuts(){return{}}}).configure({types:["paragraph","heading"]}),pf,df.configure({includeChildren:!0,showOnlyCurrent:!0,placeholder:"",emptyEditorClass:"is-editor-empty",emptyNodeClass:"is-empty",showOnlyWhenEditable:!0}),rc.configure({width:2,class:"ProseMirror-dropcursor courier-border-black"}),cc,xo,To,es,os],"ExtensionKit");import{BubbleMenu as Wy,useCurrentEditor as _y}from"@tiptap/react";import{useAtomValue as dy}from"jotai";import{useCallback as Pf,useEffect as my,useState as py}from"react";var ys=s(e=>{let t=dy(ge),[r,o]=py({isBold:!1,isItalic:!1,isUnderline:!1,isStrike:!1,isAlignLeft:!1,isAlignCenter:!1,isAlignRight:!1,isAlignJustify:!1,isQuote:!1,isLink:!1}),n=Pf(()=>{if(e){if((t==null?void 0:t.type.name)==="button"){o({isBold:t.attrs.fontWeight==="bold",isItalic:t.attrs.fontStyle==="italic",isUnderline:t.attrs.isUnderline,isStrike:t.attrs.isStrike,isAlignLeft:!1,isAlignCenter:!1,isAlignRight:!1,isAlignJustify:!1,isQuote:!1,isLink:!1});return}o({isBold:e.isActive("bold"),isItalic:e.isActive("italic"),isUnderline:e.isActive("underline"),isStrike:e.isActive("strike"),isAlignLeft:e.isActive({textAlign:"left"}),isAlignCenter:e.isActive({textAlign:"center"}),isAlignRight:e.isActive({textAlign:"right"}),isAlignJustify:e.isActive({textAlign:"justify"}),isQuote:e.isActive("blockquote"),isLink:e.isActive("link")})}},[e,t]);return my(()=>{if(e)return n(),e.on("selectionUpdate",n),e.on("transaction",n),()=>{e.off("selectionUpdate",n),e.off("transaction",n)}},[e,n]),{shouldShow:Pf(({editor:a})=>{let l=["paragraph","heading","blockquote"],{$head:c}=a.state.selection,u=c.node();if(l.includes(u.type.name)&&u.attrs.isSelected)return!0;for(let d=1;d<=c.depth;d++){let m=c.node(d);if(m.type.name==="blockquote"){if(m.attrs.isSelected)return!0;let p=a.state.selection.from!==a.state.selection.to;if(a.isFocused&&p)return!0}}return!1},[]),...r}},"useTextmenuStates");import{useAtomValue as Wc}from"jotai";import{AlignCenter as wy,AlignJustify as ky,AlignLeft as Py,AlignRight as Ny,Bold as My,Italic as Ay,Link as Sy,Quote as Iy,Strikethrough as Ly,Underline as Ry}from"lucide-react";import{Fragment as Hy,memo as Df,useMemo as Bf,useRef as By,useState as Dy,useEffect as Fy}from"react";import{forwardRef as Uc}from"react";import fy from"@tippyjs/react";import{useCallback as gy}from"react";import{Fragment as yy,jsx as fr,jsxs as by}from"react/jsx-runtime";var Nf=typeof window!="undefined"?navigator.platform.toUpperCase().indexOf("MAC")>=0:!1,hy=s(({children:e})=>{let t="courier-inline-flex courier-items-center courier-justify-center courier-w-5 courier-h-5 courier-p-1 courier-text-[0.625rem] courier-rounded courier-font-semibold courier-leading-none courier-border courier-border-border courier-text-muted-foreground courier-border-b-2";return e==="Mod"?fr("kbd",{className:t,children:Nf?"\u2318":"Ctrl"}):e==="Shift"?fr("kbd",{className:t,children:"\u21E7"}):e==="Alt"?fr("kbd",{className:t,children:Nf?"\u2325":"Alt"}):fr("kbd",{className:t,children:e})},"ShortcutKey"),Mf=s(({children:e,enabled:t=!0,title:r,shortcut:o,tippyOptions:n={}})=>{let i=vd(),a=gy(l=>{let c=Object.entries(i).reduce((u,[d,m])=>{let p=d.replace(/[A-Z]/g,f=>`-${f.toLowerCase()}`);return{...u,[`--${p}`]:m}},{});return by("span",{className:S("courier-flex courier-items-center courier-gap-2 courier-px-2.5 courier-py-1 courier-bg-popover courier-text-popover-foreground courier-border courier-border-border courier-rounded-lg courier-shadow-sm courier-z-[999]",i.colorScheme==="dark"?"dark":""),style:c,tabIndex:-1,"data-placement":l["data-placement"],"data-reference-hidden":l["data-reference-hidden"],"data-escaped":l["data-escaped"],children:[r&&fr("span",{className:"courier-text-xs courier-font-medium courier-text-muted-foreground",children:r}),o&&fr("span",{className:"courier-flex courier-items-center courier-gap-0.5",children:o.map(u=>fr(hy,{children:u},u))})]})},[o,r,i]);return t?fr(fy,{...n,delay:500,offset:[0,8],touch:!1,zIndex:99999,appendTo:document.body,trigger:"mouseenter focus",showOnCreate:!1,render:a,animation:!1,children:fr("span",{children:e})}):fr(yy,{children:e})},"Tooltip");import{jsx as Cs}from"react/jsx-runtime";var Af=Uc(({shouldShowContent:e=!0,children:t,isVertical:r=!1,className:o,...n},i)=>{let a=S("courier-text-foreground courier-inline-flex courier-h-full courier-leading-none courier-gap-0.5",r?"courier-flex-col courier-p-2":"courier-flex-row courier-p-0.5 courier-items-center",o);return e&&Cs(Lc,{className:a,...n,ref:i,children:t})});Af.displayName="Toolbar";var Sf=Uc(({horizontal:e,className:t,...r},o)=>{let n=S("courier-bg-border",e?"courier-w-full courier-min-w-[1.5rem] courier-h-[1px] courier-my-1 first:courier-mt-0 last:courier-mt-0":"courier-h-full courier-min-h-[1.5rem] courier-w-[1px] courier-mx-1 first:courier-ml-0 last:courier-mr-0",t);return Cs("div",{className:n,ref:o,...r})});Sf.displayName="Toolbar.Divider";var If=Uc(({children:e,buttonSize:t="icon",variant:r="ghost",className:o,tooltip:n,tooltipShortcut:i,...a},l)=>{let c=S("courier-gap-1 courier-min-w-[2rem] courier-w-auto",o),u=Cs(Ce,{className:c,variant:r,buttonSize:t,ref:l,...a,children:e});return n?Cs(Mf,{title:n,shortcut:i,children:u}):u});If.displayName="ToolbarButton";var vs={Wrapper:Af,Divider:Sf,Button:If};import{ChevronDown as Cy}from"lucide-react";import{useMemo as vy}from"react";import{Fragment as Ty,jsx as Qr,jsxs as Lf}from"react/jsx-runtime";var xy=s(e=>e.type==="option","isOption"),Rf=s(({options:e,containerRef:t})=>{let r=vy(()=>e.find(o=>o.type==="option"&&o.isActive()),[e]);return Lf(Yi,{children:[Qr(Xi,{asChild:!0,children:Lf(Ce,{variant:"ghost",className:"courier-flex courier-items-center courier-justify-center courier-font-normal !courier-py-[5px]",children:[(r==null?void 0:r.label)||"Normal text",Qr(Cy,{className:"courier-w-3 courier-h-3"})]})}),Qr(Wn,{portalProps:{container:(t==null?void 0:t.current)||void 0},children:e.map(o=>{if(xy(o))return Qr(_n,{onClick:o.onClick,className:o.isActive()?"courier-bg-accent courier-text-foreground":"",children:o.id.startsWith("heading")?Qr(Ty,{children:o.id==="heading1"?Qr("h1",{className:"courier-text-2xl courier-font-bold",children:o.label}):o.id==="heading2"?Qr("h2",{className:"courier-text-xl courier-font-bold",children:o.label}):o.id==="heading3"?Qr("h3",{className:"courier-text-lg courier-font-bold",children:o.label}):o.label}):o.label},o.id)})})]})},"ContentTypePicker");import{useEditorState as Ey}from"@tiptap/react";var Hf=s(e=>Ey({editor:e,selector:t=>[{label:"Normal text",onClick:()=>{t.editor.chain().focus().setNode("paragraph").run()},id:"paragraph",disabled:()=>!t.editor.can().setParagraph(),isActive:()=>t.editor.isActive("paragraph")&&!t.editor.isActive("heading"),type:"option"},{label:"Heading 1",onClick:()=>{t.editor.chain().focus().setNode("heading",{level:1}).run()},id:"heading1",disabled:()=>!t.editor.can().setHeading({level:1}),isActive:()=>t.editor.isActive("heading",{level:1}),type:"option"},{label:"Heading 2",onClick:()=>{t.editor.chain().focus().setNode("heading",{level:2}).run()},id:"heading2",disabled:()=>!t.editor.can().setHeading({level:2}),isActive:()=>t.editor.isActive("heading",{level:2}),type:"option"},{label:"Heading 3",onClick:()=>{t.editor.chain().focus().setNode("heading",{level:3}).run()},id:"heading3",disabled:()=>!t.editor.can().setHeading({level:3}),isActive:()=>t.editor.isActive("heading",{level:3}),type:"option"}]}),"useTextmenuContentTypes");import{jsx as tt,jsxs as Uy}from"react/jsx-runtime";var Vy=Df(vs.Button),Oy=Df(Rf),_c=s(({editor:e,config:t})=>{var L;let r=ys(e),o=Hf(e),n=By(null),i=Wc(sa),a=Wc(ge),l=a==null?void 0:a.type.name,c=Wc(tm),[u,d]=Dy(()=>{let{selection:w}=e.state;return{from:w.from,to:w.to,empty:w.empty}});Fy(()=>{let w=s(()=>{let{selection:C}=e.state;d({from:C.from,to:C.to,empty:C.empty})},"updateSelection");return e.on("selectionUpdate",w),e.on("transaction",w),()=>{e.off("selectionUpdate",w),e.off("transaction",w)}},[e]);let m=Bf(()=>!u.empty&&u.from!==u.to,[u]),p=Bf(()=>t||c(l||"",m),[t,c,l,m]),f=us(e,p,r),v=s(()=>{let{selection:w}=e.state;if(!(w.empty&&!r.isLink&&!e.can().setLink({href:""})))if(r.isLink){let C=e.state.tr.setMeta("showLinkForm",{from:w.from,to:w.to});e.view.dispatch(C)}else{let C=e.state.tr.setMeta("showLinkForm",{from:w.from,to:w.to});e.view.dispatch(C)}},"handleLinkToggle"),h=s(()=>{if(i.ref){let w=i.ref,C=w.value,T=i.caretPosition||w.selectionStart||0,x=C.substring(0,T),P=C.substring(T),M=`${x}{{${P}`,R=T+2;w.focus();let I=new Event("input",{bubbles:!0,cancelable:!0});if(Object.defineProperty(I,"target",{writable:!1,value:{...w,value:M}}),w.value=M,w.dispatchEvent(I),w.setSelectionRange(R,R),w.getBoundingClientRect()){let V=M.slice(0,R),F=document.createElement("span");F.style.font=window.getComputedStyle(w).font,F.style.whiteSpace="pre-wrap",F.textContent=V,document.body.appendChild(F);let O=F.offsetWidth;document.body.removeChild(F);let B=parseInt(window.getComputedStyle(w).lineHeight),W=V.split(`
|
|
188
188
|
`).length-1,U=new CustomEvent("showVariableSuggestions",{detail:{cursorPosition:{left:Math.min(O%w.offsetWidth,w.offsetWidth-200),top:W*B+30}},bubbles:!0});w.dispatchEvent(U)}return}e.chain().focus().insertContent([{type:"variable",attrs:{id:"",isInvalid:!1}}]).run()},"handleVariableClick"),b=s((w,C,T,x,P,M,R)=>{let I=p[w];return!I||Array.isArray(I)||I.state==="hidden"?null:tt(Vy,{tooltip:T,tooltipShortcut:M,onClick:x,active:P,disabled:I.state==="disabled",...R,children:C},w)},"renderButton"),y=s((w,C)=>{let T=w.filter(x=>!!x);return T.length>0?tt("div",{className:"courier-flex courier-items-center courier-gap-0.5",children:T},C):null},"renderGroup"),N=y([((L=p.contentType)==null?void 0:L.state)==="enabled"&&tt(Oy,{options:o,containerRef:n},"content-type")],"content-type-group"),g=y([b("bold",tt(My,{strokeWidth:1.25,className:"courier-w-4 courier-h-4"}),"Bold",f.onBold,r.isBold,["Mod","B"]),b("italic",tt(Ay,{strokeWidth:1.25,className:"courier-w-4 courier-h-4"}),"Italic",f.onItalic,r.isItalic,["Mod","I"]),b("underline",tt(Ry,{strokeWidth:1.25,className:"courier-w-4 courier-h-4"}),"Underline",f.onUnderline,r.isUnderline,["Mod","U"]),b("strike",tt(Ly,{strokeWidth:1.25,className:"courier-w-4 courier-h-4"}),"Strikethrough",f.onStrike,r.isStrike,["Mod","Shift","S"])],"text-style-group"),k=y([b("alignLeft",tt(Py,{strokeWidth:1.25,className:"courier-w-4 courier-h-4"}),"Align left",f.onAlignLeft,r.isAlignLeft,["Shift","Mod","L"]),b("alignCenter",tt(wy,{strokeWidth:1.25,className:"courier-w-4 courier-h-4"}),"Align center",f.onAlignCenter,r.isAlignCenter,["Shift","Mod","E"]),b("alignRight",tt(Ny,{strokeWidth:1.25,className:"courier-w-4 courier-h-4"}),"Align right",f.onAlignRight,r.isAlignRight,["Shift","Mod","R"]),b("alignJustify",tt(ky,{strokeWidth:1.25,className:"courier-w-4 courier-h-4"}),"Justify",f.onAlignJustify,r.isAlignJustify,["Shift","Mod","J"])],"alignment-group"),A=y([b("quote",tt(Iy,{strokeWidth:1.25,className:"courier-w-4 courier-h-4"}),"Quote",f.onQuote,r.isQuote,["Mod","Shift","B"])],"block-style-group"),E=y([b("link",tt(Sy,{strokeWidth:1.25,className:"courier-w-4 courier-h-4"}),"Link",v,r.isLink,["Mod","K"]),b("variable",tt(Gd,{width:16}),"Variable",h,!1,["Mod","V"],{"data-variable-button":"true"})],"insert-group");return tt(vs.Wrapper,{ref:n,className:"courier-border-b rounded-b-none rounded-t-sm !courier-shadow-md courier-justify-center courier-rounded-lg",children:[N,g,k,A,E].filter(Boolean).map((w,C)=>Uy(Hy,{children:[w,C<[N,g,k,A,E].filter(Boolean).length-1&&tt(vs.Divider,{})]},`item-${C}`))})},"TextMenu");import{jsx as Ff}from"react/jsx-runtime";var yt=s(({config:e})=>{let{editor:t}=_y(),r=ys(t);return t?Ff(Wy,{editor:t,tippyOptions:{appendTo:o=>{var n;return(n=o.closest(".bubble-text-menu-container"))!=null?n:o},getReferenceClientRect:()=>{var a,l,c,u;let o=(c=(l=(a=t==null?void 0:t.state)==null?void 0:a.selection)==null?void 0:l.from)!=null?c:0,n=(u=t==null?void 0:t.view)==null?void 0:u.domAtPos(o),i=(n==null?void 0:n.node.parentNode).getBoundingClientRect();return{width:i==null?void 0:i.width,height:i==null?void 0:i.height,left:(i==null?void 0:i.left)-12,right:i==null?void 0:i.right,top:i==null?void 0:i.top,bottom:i==null?void 0:i.bottom,x:i==null?void 0:i.left,y:i==null?void 0:i.top,toJSON:()=>({})}},placement:"top",offset:[0,12]},shouldShow:r.shouldShow,updateDelay:100,"data-testid":"bubble-text-menu",children:t&&Ff(_c,{editor:t,config:e})}):null},"BubbleTextMenu");import{TextSelection as zy}from"@tiptap/pm/state";import{EditorProvider as $y,Extension as Zy,useCurrentEditor as qy}from"@tiptap/react";import{useAtomValue as Jy,useSetAtom as Vf}from"jotai";import{memo as jy,useEffect as $c,useMemo as Gy,useRef as Of}from"react";import{jsx as Ft,jsxs as zc}from"react/jsx-runtime";var Ky=s(({value:e,readOnly:t})=>{let{editor:r}=qy(),o=Vf(_o),n=Jy(ae),i=Of(!1);return $c(()=>{!r||(n!==!1||i.current)&&!t||!e||(i.current=!0,r.commands.setContent(Ks(e!=null?e:"")))},[r,e,n,t]),$c(()=>{r&&(o(r),setTimeout(()=>{r.commands.blur()},1))},[r,o]),null},"EditorContent"),Yy=s(({facebookLink:e,linkedinLink:t,instagramLink:r,mediumLink:o,xLink:n,readOnly:i=!1,value:a,onUpdate:l})=>{let c=Of(!1),u=Vf(ge),d=Zy.create({name:"escapeHandler",addKeyboardShortcuts(){return{Escape:({editor:p})=>{let{state:f,dispatch:v}=p.view;return v(f.tr.setSelection(zy.create(f.doc,f.selection.$anchor.pos))),u&&u(null),!1}}}});$c(()=>(c.current=!0,()=>{c.current=!1}),[]);let m=Gy(()=>[...bt({setSelectedNode:u}),d].filter(p=>p!==void 0),[d,u]);return zc("div",{className:"courier-flex courier-flex-row courier-gap-6 courier-justify-between courier-items-start",children:[zc($y,{content:Ks(a!=null?a:""),extensions:m,editable:!i,autofocus:!i,onUpdate:l,editorContainerProps:{className:S("courier-py-2 courier-flex-grow",i&&"courier-brand-editor-readonly")},immediatelyRender:!1,children:[Ft(Ky,{value:a,readOnly:i}),Ft(yt,{})]}),zc("div",{className:"courier-flex courier-justify-end courier-items-center courier-gap-2 courier-mt-3",children:[e&&Ft("a",{href:e,target:"_blank",rel:"noopener noreferrer",children:Ft(Kn,{className:"courier-w-5 courier-h-5"})}),t&&Ft("a",{href:t,target:"_blank",rel:"noopener noreferrer",children:Ft(Qn,{className:"courier-w-5 courier-h-5"})}),r&&Ft("a",{href:r,target:"_blank",rel:"noopener noreferrer",children:Ft(Xn,{className:"courier-w-5 courier-h-5"})}),o&&Ft("a",{href:o,target:"_blank",rel:"noopener noreferrer",children:Ft(ei,{className:"courier-w-5 courier-h-5"})}),n&&Ft("a",{href:n,target:"_blank",rel:"noopener noreferrer",children:Ft(ii,{className:"courier-w-5 courier-h-5"})})]})]})},"BrandFooterComponent"),ki=jy(Yy);import{Fragment as Xy,jsx as dn,jsxs as xs}from"react/jsx-runtime";var Uf=s(({value:e,icon:t,...r})=>dn(lt,{value:e,...r,className:"!courier-w-10 !courier-h-6 [&_svg]:!courier-size-5 [&_svg]:courier-fill-accent dark:[&_svg]:courier-fill-accent-foreground hover:courier-bg-transparent courier-rounded-sm data-[state=on]:courier-bg-background [&_svg]:data-[state=on]:courier-fill-foreground",children:t}),"PreviewItem"),Zc=s(({previewMode:e,togglePreviewMode:t,hideMobileToggle:r=!1,hideExitButton:o=!1,...n})=>xs("div",{...n,className:S("courier-sticky courier-bottom-0 courier-mt-auto courier-self-center courier-bg-background courier-px-3 courier-py-2 courier-shadow-lg courier-border courier-border-border courier-rounded-md courier-z-10 courier-flex courier-items-center courier-gap-2",n.className),children:[e&&!r&&xs(Xy,{children:[xs(qt,{type:"single",value:e,onValueChange:i=>{i!==""&&t(i)},className:"courier-w-full courier-rounded-md !courier-p-0.5 courier-bg-[#3B82F6] !courier-gap-0",children:[dn(Uf,{value:"desktop",icon:dn(Nl,{})}),dn(Uf,{value:"mobile",icon:dn(Rl,{})})]}),!o&&dn("div",{className:"courier-mx-4 courier-w-px courier-h-6 courier-bg-border"})]}),!o&&xs(Ce,{variant:"link",onClick:()=>t(),children:[e?"Exit":"View"," Preview"]})]}),"PreviewPanel");import{forwardRef as Zf}from"react";function Qy(){typeof window!="undefined"&&(window.__COURIER_CREATE_TEST__||(window.__COURIER_CREATE_TEST__={editors:{email:null,sms:null,push:null,inbox:null,slack:null,teams:null},currentEditor:null,activeChannel:null,templateEditorContent:null}))}s(Qy,"initTestHelpers");function Ct(e,t){typeof window!="undefined"&&(Qy(),window.__COURIER_CREATE_TEST__&&(window.__COURIER_CREATE_TEST__.editors[e]=t,window.__COURIER_CREATE_TEST__.currentEditor=t,window.__COURIER_CREATE_TEST__.activeChannel=t?e:null))}s(Ct,"setTestEditor");import{Extension as rC}from"@tiptap/core";import{TextSelection as oC}from"@tiptap/pm/state";import{EditorProvider as nC,useCurrentEditor as iC}from"@tiptap/react";import{useAtom as Wf,useAtomValue as Ar,useSetAtom as Io}from"jotai";import{useCallback as eo,useEffect as It,useMemo as aC,useRef as gr}from"react";import{useCurrentEditor as eC}from"@tiptap/react";import{useEffect as tC}from"react";var Vt=s(({value:e,defaultValue:t})=>{let{editor:r}=eC();return tC(()=>{if(!r)return;let o=setTimeout(()=>{r.commands.setContent(e||t)},0);return()=>clearTimeout(o)},[r,e,t]),null},"ReadOnlyEditorContent");import{Fragment as cC,jsx as Pi,jsxs as uC}from"react/jsx-runtime";var sC=s(({value:e})=>{let{editor:t}=iC(),[r,o]=Wf(X),n=Io(Ae),i=Ar(ao),a=Ar(ge),l=Io(Te),c=Io(lo),u=gr(!1),d=gr(),m=Ar(ae),p=Ar(Fe),f=gr(!1),v=Ar(ze);return It(()=>{m&&(f.current=!1)},[m]),It(()=>(c({action:"register",id:"email-subject",fn:s(()=>{var b;if(d.current&&(clearTimeout(d.current),d.current=void 0,t&&i!==null&&m===!1&&!v))try{let y=me(t.getJSON());if(!y||!Array.isArray(y))return;let N=i;if(!i&&r){let E=(b=r==null?void 0:r.elements)==null?void 0:b.find(L=>L.type==="channel"&&L.channel==="email");E&&(N=Bn(E,"email"))}let g=$t(r,"email",N||"",y),k={elements:g.elements,channel:"email",...g.raw&&{raw:g.raw}},A=Ve(r,k);JSON.stringify(r)!==JSON.stringify(A)&&(o(A),n(A))}catch(y){console.error("[FlushSubjectUpdate]",y)}},"flushSubjectUpdate")}),()=>{c({action:"unregister",id:"email-subject"})}),[t,i,m,v,r,o,n,c]),It(()=>{!t||m!==!1||f.current||!e||(l(t),f.current=!0,t.commands.setContent(e))},[t,e,l,m]),It(()=>{if(!(!(t&&i!==null)||m!==!1||v)&&!t.isFocused)return d.current&&clearTimeout(d.current),d.current=setTimeout(()=>{var h;try{let b=me(t.getJSON());if(!b||!Array.isArray(b))return;let y=i;if(!i&&r){let A=(h=r==null?void 0:r.elements)==null?void 0:h.find(E=>E.type==="channel"&&E.channel==="email");A&&(y=Bn(A,"email"))}let N=$t(r,"email",y||"",b),g={elements:N.elements,channel:"email",...N.raw&&{raw:N.raw}},k=Ve(r,g);JSON.stringify(r)!==JSON.stringify(k)&&(o(k),n(k))}catch(b){console.error(b)}},500),()=>{d.current&&clearTimeout(d.current)}},[p,t,i,o,n,m,r,v]),It(()=>()=>{t&&!t.isDestroyed&&t.setEditable(!0)},[t]),It(()=>{t&&u.current&&t.commands.updateSelectionState(a)},[t,a]),It(()=>(u.current=!0,()=>{u.current=!1}),[]),null},"EditorContent"),lC=s(({value:e,readOnly:t=!1,onDestroy:r,onUpdate:o,subject:n})=>{let i=Io(la),a=gr(),[l,c]=Wf(X),u=Ar(ao),d=n!=null?n:u,m=Io(ge),p=Ar(Te),f=Ar(ze),v=Ar(pt),h=Io(lo),b=Io(Ae),y=gr(l),N=gr(d),g=gr(v);It(()=>{y.current=l},[l]),It(()=>{N.current=d},[d]),It(()=>{g.current=v},[v]),It(()=>{p==null||p.setEditable(!t)},[t,p]);let k=rC.create({name:"escapeHandler",addKeyboardShortcuts(){return{Escape:({editor:O})=>{let{state:B,dispatch:W}=O.view;return W(B.tr.setSelection(oC.create(B.doc,B.selection.$anchor.pos))),m&&m(null),!1}}}}),A=eo(({editor:O})=>{o==null||o(O),Ct("email",O),m&&setTimeout(()=>{m(null)},100)},[m,o]),E=gr(),L=gr(null),w=eo((O,B)=>{var z;if(f)return;let W=y.current,U=N.current;if(!W){let oe={version:"2022-01-01",elements:[{type:"channel",channel:"email",elements:B}]};c(oe),b(oe);return}let ie=W.elements.find(oe=>oe.type==="channel"&&oe.channel==="email"),ee={...ie};ee.elements=(z=ee.elements)==null?void 0:z.filter(oe=>oe.type!=="meta");let K={type:"channel",channel:"email",elements:B};if(JSON.stringify(ee)!==JSON.stringify(K)){let oe=U;!U&&ie&&(oe=Bn(ie,"email"));let be=$t(W,"email",oe||"",B);K.elements=be.elements,be.raw&&(K.raw=be.raw);let Pe=Ve(W,K);c(Pe),b(Pe)}o==null||o(O),Ct("email",O)},[c,b,o,f]),C=eo(({editor:O})=>{let B=me(O.getJSON());L.current={editor:O,elemental:B},E.current&&clearTimeout(E.current),E.current=setTimeout(()=>{if(L.current){let{editor:W,elemental:U}=L.current;w(W,U),L.current=null}},200)},[w]),T=eo(({editor:O})=>{if(g.current)return;let{selection:B}=O.state,{$anchor:W}=B,ie=B.$head.marks().find(z=>z.type.name==="link");ie||O.isActive("link")?i({mark:ie}):i(null);let ee=W.depth,K=null,D=null;for(;ee>0;){let z=W.node(ee);!D&&z.type.name==="blockquote"&&(D=z),!K&&(z.type.name==="paragraph"||z.type.name==="heading")&&(K=z),ee--}D?m(D):K&&m(K)},[i,m]),x=eo(({editor:O,transaction:B})=>{let W=B==null?void 0:B.getMeta("showLinkForm");if(W){let{selection:U}=O.state,ee=U.$head.marks().find(K=>K.type.name==="link");i({mark:ee,link:{from:W.from,to:W.to}})}},[i]),P=eo(()=>{a.current&&clearTimeout(a.current),E.current&&clearTimeout(E.current),r==null||r(),Ct("email",null)},[r]);It(()=>(h({action:"register",id:"email-content",fn:s(()=>{if(E.current&&(clearTimeout(E.current),E.current=void 0,L.current)){let{editor:B,elemental:W}=L.current;w(B,W),L.current=null}},"flushContentUpdate")}),()=>{h({action:"unregister",id:"email-content"})}),[w,h]);let M=eo(O=>{var ee;if(g.current)return;let B=(ee=O.view)==null?void 0:ee.editor;if(!B||!B.isEditable)return;let W=O.target,U=B.view.posAtDOM(W,0),ie=B.state.doc.resolve(U).node();ie.type.name==="paragraph"&&m(ie)},[m]),R=eo(()=>!g.current,[]),I=aC(()=>[...bt({setSelectedNode:m,shouldHandleClick:R}),k].filter(O=>O!==void 0),[k,m,R]),H=e||{type:"doc",content:[{type:"paragraph"}]},V=t?{editable:!1,autofocus:!1}:{editable:!0,autofocus:!0,onCreate:A,onUpdate:C,onSelectionUpdate:T,onTransaction:x},F=gr(null);return It(()=>{let O=F.current;if(!(!O||t))return Pt({element:O,getData:()=>({type:"editor",id:"editor-drop-zone"}),canDrop:({source:B})=>B.data.type==="sidebar"?!0:B.data.type==="editor"})},[t]),Pi("div",{ref:F,"data-testid":"email-editor",children:Pi(nC,{content:H,extensions:I,...V,onDestroy:P,editorContainerProps:{onClick:M},immediatelyRender:!1,children:t?Pi(Vt,{value:H,defaultValue:wi}):uC(cC,{children:[Pi(sC,{value:H}),Pi(yt,{})]})})})},"EmailEditor"),qc=lC;import{useAtomValue as _f,useSetAtom as hC}from"jotai";import{GripVertical as bC}from"lucide-react";import{forwardRef as dC,useEffect as mC,useRef as pC,useState as fC}from"react";import{jsx as Jc}from"react/jsx-runtime";var mn=s(({children:e,id:t,className:r,editor:o})=>Jc(gC,{id:t,className:r,editor:o,children:e}),"SideBarSortableItemWrapper"),gC=dC(({children:e,className:t,id:r,editor:o},n)=>{let i=pC(null),[a,l]=fC(!1);return mC(()=>{let c=i.current;if(!(!c||!r))return sr(gi({element:c,getInitialData:()=>({id:r,type:"sidebar",dragType:r}),onDragStart:()=>{l(!0),document.body.style.cursor="grabbing",o&&o.isEditable&&o.setEditable(!1)},onDrop:()=>{l(!1),document.body.style.cursor="",o&&o.setEditable(!0)}}))},[r,o]),Jc("div",{ref:i,"data-cypress":"draggable-item","data-node-view-wrapper":!0,"data-id":r,className:S(t,"courier-relative",a&&"courier-opacity-50 courier-cursor-grabbing"),children:Jc("div",{children:e})})});import{Fragment as yC,jsx as De,jsxs as pn}from"react/jsx-runtime";var jc=s(({items:e,brandEditor:t,label:r,editor:o})=>{var l,c;let n=_f(Fe),i=hC(jo),a=_f(Ge);return pn("div",{className:"courier-flex courier-flex-col courier-h-full",children:[pn("div",{className:"courier-flex-1",children:[r&&pn(yC,{children:[De("p",{className:"courier-text-sm courier-font-medium courier-text-foreground",children:r}),De(le,{className:"courier-my-4"})]}),De("div",{className:"courier-flex courier-flex-col courier-gap-4 courier-w-full",children:e.map(u=>De(mn,{id:u.toString(),editor:o,children:pn("div",{className:S("courier-rounded-md courier-border courier-border-border courier-flex courier-flex-row courier-items-center courier-gap-1 courier-bg-background courier-cursor-grab courier-opacity-[0.999] courier-px-3 courier-py-2 courier-select-none"),children:[De(bC,{strokeWidth:1,className:"courier-w-4 courier-stroke-neutral-400 courier-fill-neutral-400"}),u==="heading"&&De(Na,{draggable:!0}),u==="text"&&De(Zr,{draggable:!0}),u==="image"&&De(Aa,{draggable:!0}),u==="spacer"&&De(Sa,{draggable:!0}),u==="divider"&&De($r,{draggable:!0}),u==="button"&&De(zr,{draggable:!0}),u==="customCode"&&De(bi,{draggable:!0}),u==="column"&&De(Ea,{draggable:!0})]})},u))})]}),t&&pn("div",{className:"courier-mt-auto courier-pt-4",children:[De(le,{className:"courier-mb-4 -courier-mx-4"}),(c=(l=n==null?void 0:n.data)==null?void 0:l.tenant)!=null&&c.brand?De("div",{className:"courier-flex courier-flex-row courier-gap-2 courier-items-center courier-justify-end courier-w-full",children:De(Ce,{variant:"link",className:"courier-underline",onClick:()=>i("brand"),disabled:!!a,children:"Edit brand"})}):pn("div",{className:"courier-flex courier-flex-col courier-gap-2",children:[De("h3",{className:"courier-text-md courier-font-medium courier-text-foreground",children:"Customize brand theme"}),De("p",{className:"courier-text-sm courier-text-muted-foreground",children:"Customize header and footer to apply to the template."}),De(Ce,{variant:"primary",className:"courier-w-fit courier-mt-2",onClick:()=>i("brand"),children:"Customize"})]})]})]})},"SideBar");import{useAtomValue as CC}from"jotai";import{jsx as to,jsxs as vC}from"react/jsx-runtime";var Gc=s(({element:e,editor:t})=>{var i,a;let r=CC(zl);if(!e)return null;if(r!=null&&r.link||((i=r==null?void 0:r.mark)==null?void 0:i.type.name)==="link"&&((a=e.marks)!=null&&a.some(l=>l.type.name==="link")))return to(af,{editor:t,mark:r==null?void 0:r.mark,pendingLink:r==null?void 0:r.link});let o=t==null?void 0:t.isActive("blockquote"),n=s(()=>{if(!t)return;let{$anchor:l}=t.state.selection,c=l.depth;for(;c>0;){let u=l.node(c);if(u.type.name==="blockquote")return u;c--}},"getBlockquoteElement");return vC("div",{className:"courier-flex courier-flex-col courier-gap-4",children:[e.type.name==="button"&&to(bp,{element:e,editor:t},e.attrs.id),e.type.name==="divider"&&to(Fp,{element:e,editor:t},e.attrs.id),["paragraph","heading"].includes(e.type.name)&&!o&&to(Zp,{element:e,editor:t},e.attrs.id),e.type.name==="imageBlock"&&to(ef,{element:e,editor:t},e.attrs.id),e.type.name==="customCode"&&to(hc,{element:e,editor:t},e.attrs.id),(e.type.name==="blockquote"||e.type.name==="paragraph"&&o||e.type.name==="heading"&&o)&&to(sp,{element:n()||e,editor:t},e.attrs.id),e.type.name==="column"&&to(pc,{element:e,editor:t},e.attrs.id)]})},"SideBarItemDetails");import{forwardRef as zf}from"react";import{useAtom as xC}from"jotai";import{Fragment as TC,jsx as Ts,jsxs as EC}from"react/jsx-runtime";var Lo=zf(({children:e,previewMode:t,className:r,readOnly:o=!1,...n},i)=>Ts("div",{className:S("courier-flex courier-flex-1 courier-overflow-hidden courier-root-container courier-relative",o&&"courier-editor-readonly",t&&"courier-editor-preview-mode",t==="mobile"&&"courier-editor-preview-mode-mobile",r),...n,ref:i,children:e})),Ro=zf(({children:e,className:t,previewMode:r,skipExpanded:o=!1,width:n,...i},a)=>{let[l,c]=xC(tr),u=o?!1:l,d=n||"courier-w-64";return r?null:EC(TC,{children:[u&&Ts("div",{className:"courier-absolute courier-inset-0 courier-bg-black/50 courier-z-[9] courier-transition-opacity courier-duration-300 courier-cursor-pointer",onClick:()=>c(!1),"aria-hidden":"true"}),Ts("div",{className:S("courier-editor-sidebar-container courier-flex-shrink-0 courier-self-stretch courier-relative",d,t),children:Ts("div",{className:S("courier-editor-sidebar courier-absolute courier-top-0 courier-bottom-0 courier-right-0 courier-p-4 courier-h-full courier-overflow-y-auto","courier-transition-all courier-duration-300 courier-ease-in-out",u?"courier-w-[80vw] courier-z-10 courier-shadow-xl courier-translate-x-0":d+" courier-translate-x-0"),...i,ref:a,children:e})})]})});import{useAtomValue as $f,useSetAtom as wC}from"jotai";import{jsx as vt,jsxs as Ho}from"react/jsx-runtime";var qf=Zf(({children:e,className:t,...r},o)=>vt("div",{className:S("courier-editor-container courier-relative",t),...r,ref:o,children:e})),Jf=Zf(({children:e,previewMode:t,...r},o)=>vt("div",{className:S("courier-editor-main courier-transition-all courier-duration-300 courier-ease-in-out",t&&"courier-max-w-4xl courier-mx-auto"),...r,ref:o,children:e})),jf=s(({variables:e,theme:t,isLoading:r,hidePublish:o,channels:n,brandEditor:i,routing:a,colorScheme:l,...c})=>{let u=$f(X),d=$f(tr),m=wC(tr),p=s(()=>{d&&m(!1)},"handleSubjectAreaClick");return vt(hs,{value:u,variables:e,theme:t,isLoading:r,hidePublish:o,channels:n,brandEditor:i,routing:a,colorScheme:l,render:({subject:f,handleSubjectChange:v,selectedNode:h,setSelectedNode:b,previewMode:y,templateEditor:N,ref:g,isBrandApply:k,brandSettings:A,items:E,content:L,syncEditorItems:w,brandEditorContent:C,templateData:T,togglePreviewMode:x,hidePreviewPanelExitButton:P})=>{var M,R,I,H,V,F;return Ho(Lo,{previewMode:y,children:[Ho("div",{className:"courier-flex courier-flex-col courier-flex-1",children:[Ho("div",{className:"courier-bg-background courier-h-12 courier-flex courier-items-center courier-gap-2 courier-px-4 courier-border-b",onClick:p,children:[Ho("h4",{className:"courier-text-sm courier-h-[25px] courier-flex courier-items-end courier-pb-px",children:["Subject:"," "]}),vt(Ci,{value:f!=null?f:"",onChange:O=>v({target:{value:O}}),onFocus:()=>b(null),className:"!courier-bg-background courier-font-medium courier-flex-1",placeholder:"Write subject...",readOnly:y!==void 0})]}),Ho(qf,{ref:g,children:[Ho(Jf,{previewMode:y,children:[k&&Ho("div",{className:S("courier-py-5 courier-px-9 courier-pb-0 courier-relative courier-overflow-hidden courier-flex courier-flex-col courier-items-start",(A==null?void 0:A.headerStyle)==="border"&&"courier-pt-6"),children:[(A==null?void 0:A.headerStyle)==="border"&&vt("div",{className:"courier-absolute courier-top-0 courier-left-0 courier-right-0 courier-h-2",style:{backgroundColor:A==null?void 0:A.brandColor}}),(A==null?void 0:A.logo)&&vt("img",{src:A.logo,alt:"Brand logo",className:"courier-w-auto courier-max-w-36 courier-object-contain courier-cursor-default"})]}),L&&vt(qc,{value:L,onUpdate:w,variables:e}),k&&T&&vt("div",{className:"courier-py-5 courier-px-9 courier-pt-0 courier-flex courier-flex-col",children:vt(ki,{readOnly:!0,value:C!=null?C:(F=(V=(H=(I=(R=(M=T==null?void 0:T.data)==null?void 0:M.tenant)==null?void 0:R.brand)==null?void 0:I.settings)==null?void 0:H.email)==null?void 0:V.footer)==null?void 0:F.markdown,variables:e,facebookLink:A==null?void 0:A.facebookLink,linkedinLink:A==null?void 0:A.linkedinLink,instagramLink:A==null?void 0:A.instagramLink,mediumLink:A==null?void 0:A.mediumLink,xLink:A==null?void 0:A.xLink})})]}),vt(Zc,{previewMode:y,togglePreviewMode:x,hideExitButton:P})]})]}),vt(Ro,{previewMode:y,children:vt("div",{className:"courier-p-1 courier-h-full",children:h?vt(Gc,{element:h,editor:N}):vt(jc,{items:E.Sidebar,brandEditor:i,label:"Blocks library",editor:N!=null?N:void 0})})})]})},...c})},"EmailLayout");import{useCurrentEditor as kC}from"@tiptap/react";import{useAtom as PC,useAtomValue as Es,useSetAtom as Kc}from"jotai";import{forwardRef as NC,memo as MC,useCallback as AC,useEffect as Ni,useMemo as Gf,useRef as Yc}from"react";import{jsx as Kf}from"react/jsx-runtime";var Mi=[{type:"text",content:`
|
|
189
189
|
`,text_style:"h2"},{type:"text",content:`
|