@trycourier/react-designer 0.0.0-canary-20251210150148 → 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 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(Np,"_nonIterableSpread");function Ps(e){return kp(e)||Pp(e)||vs(e)||Np()}s(Ps,"_toConsumableArray");var Dp=he(da());function Nr(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(Nr,"once");var Mp=Nr(s(function(){return navigator.userAgent.includes("Firefox")},"isFirefox"));var fa=Nr(s(function(){var t=navigator,r=t.userAgent;return r.includes("AppleWebKit")&&!r.includes("Chrome")},"isSafari"));var Ap=he(da());var zu={isLeavingWindow:Symbol("leaving"),isEnteringWindow:Symbol("entering")};function Sp(e){var t=e.dragLeave;return fa()?t.hasOwnProperty(zu.isLeavingWindow):!1}s(Sp,"isLeavingWindowInSafari");s(function(){if(typeof window=="undefined"||!fa())return;function t(){return{enterCount:0,isOverWindow:!1}}s(t,"getInitialState");var r=t();function o(){r=t()}s(o,"resetState"),(0,Ap.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[zu.isEnteringWindow]=!0),r.isOverWindow=!0,r.enterCount++},"listener")},{type:"dragleave",listener:s(function(i){r.enterCount--,r.isOverWindow&&r.enterCount===0&&(i[zu.isLeavingWindow]=!0,r.isOverWindow=!1)},"listener")}],{capture:!0})},"fixSafari")();function j2(e){return"nodeName"in e}s(j2,"isNodeLike");function Ip(e){return j2(e)&&e.ownerDocument!==document}s(Ip,"isFromAnotherWindow");function Lp(e){var t=e.dragLeave,r=t.type,o=t.relatedTarget;return r!=="dragleave"?!1:fa()?Sp({dragLeave:t}):o==null?!0:Mp()?Ip(o):o instanceof HTMLIFrameElement}s(Lp,"isLeavingWindow");function Rp(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(Rp,"getBindingsForBrokenDrags");function En(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(En,"getInput");var G2=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"),Hp=G2;var $u=Hp(function(e){return e()}),Ns=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 Bp(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}}),Ns.schedule(function(){i({eventName:"onDragStart",payload:{source:t,location:d}})})},"start"),dragUpdate:s(function(c){var u=c.current;Ns.flush(),$u.cancel(),i({eventName:"onDropTargetChange",payload:{source:t,location:{initial:r,previous:n,current:u}}})},"dragUpdate"),drag:s(function(c){var u=c.current;$u(function(){Ns.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;Ns.flush(),$u.cancel(),i({eventName:"onDrop",payload:{source:d!=null?d:t,location:{current:u,previous:n,initial:r}}})},"drop")};return a}s(Bp,"makeDispatch");var qu={isActive:!1};function Fp(){return!qu.isActive}s(Fp,"canStart");function K2(e){return e.dataTransfer?e.dataTransfer.setDragImage.bind(e.dataTransfer):null}s(K2,"getNativeSetDragImage");function Y2(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(Y2,"hasHierarchyChanged");function X2(e){var t=e.event,r=e.dragType,o=e.getDropTargetsOver,n=e.dispatchEvent;if(!Fp())return;var i=Q2({event:t,dragType:r,getDropTargetsOver:o});qu.isActive=!0;var a={current:i};Zu({event:t,current:i.dropTargets});var l=Bp({source:r.payload,dispatchEvent:n,initial:i});function c(f){var v=Y2({current:a.current.dropTargets,next:f.dropTargets});a.current=f,v&&l.dragUpdate({current:a.current})}s(c,"updateState");function u(f){var v=En(f),h=ws(f.target)?ks({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(),Zu({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(){qu.isActive=!1,p()}s(m,"finish");var p=(0,Dp.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){Lp({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:En(v)},!a.current.dropTargets.length){d();return}v.preventDefault(),Zu({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:En(v)},d()},"listener")}].concat(Ps(Rp({onDragEnd:d}))),{capture:!0});l.start({nativeSetDragImage:K2(t)})}s(X2,"start");function Zu(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(Zu,"setDropEffectOnEvent");function Q2(e){var t=e.event,r=e.dragType,o=e.getDropTargetsOver,n=En(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(Q2,"getStartLocation");var Ju={canStart:Fp,start:X2};var ju=new Map;function eh(e){var t=e.typeKey,r=e.mount,o=ju.get(t);if(o)return o.usageCount++,o;var n={typeKey:t,unmount:r(),usageCount:1};return ju.set(t,n),n}s(eh,"registerUsage");function Vp(e){var t=eh(e);return s(function(){t.usageCount--,!(t.usageCount>0)&&(t.unmount(),ju.delete(e.typeKey))},"unregister")}s(Vp,"register");function co(){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(co,"combine");function Ms(e,t){var r=t.attribute,o=t.value;return e.setAttribute(r,o),function(){return e.removeAttribute(r)}}s(Ms,"addAttribute");function Op(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(Op,"ownKeys");function _o(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Op(Object(r),!0).forEach(function(o){To(e,o,r[o])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Op(Object(r)).forEach(function(o){Object.defineProperty(e,o,Object.getOwnPropertyDescriptor(r,o))})}return e}s(_o,"_objectSpread");function Gu(e,t){var r=typeof Symbol!="undefined"&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=th(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(Gu,"_createForOfIteratorHelper");function th(e,t){if(e){if(typeof e=="string")return Up(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)?Up(e,t):void 0}}s(th,"_unsupportedIterableToArray");function Up(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(Up,"_arrayLikeToArray");function Ku(e){return e.slice(0).reverse()}s(Ku,"copyReverse");function Wp(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=co(Ms(f.element,{attribute:n,value:"true"}),a(f));return Nr(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(Ps(E),[P])})}s(c,"getActualDropTargets");function u(f){var v=f.eventName,h=f.payload,b=Gu(h.location.current.dropTargets),y;try{for(b.s();!(y=b.n()).done;){var N,g=y.value,k=o.get(g.element),A=_o(_o({},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=Gu(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=_o(_o({},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=Gu(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=_o(_o({},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=Ku(y),k=Ku(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(_o(_o({},w),{},{isActiveDueToStickiness:!0}))}return Ku(A)}return s(p,"getIsOver"),{dropTargetForConsumers:l,getIsOver:p,dispatchEvent:m}}s(Wp,"makeDropTarget");function rh(e,t){var r=typeof Symbol!="undefined"&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=oh(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(rh,"_createForOfIteratorHelper");function oh(e,t){if(e){if(typeof e=="string")return _p(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)?_p(e,t):void 0}}s(oh,"_unsupportedIterableToArray");function _p(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(_p,"_arrayLikeToArray");function zp(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(zp,"ownKeys");function nh(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?zp(Object(r),!0).forEach(function(o){To(e,o,r[o])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):zp(Object(r)).forEach(function(o){Object.defineProperty(e,o,Object.getOwnPropertyDescriptor(r,o))})}return e}s(nh,"_objectSpread");function $p(){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=nh({},i);e.add(a),r(a);function l(){e.delete(a),t&&t.active.delete(a)}return s(l,"cleanup"),Nr(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=rh(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($p,"makeMonitor");function Zp(e){var t=e.typeKey,r=e.mount,o=e.dispatchEventToSource,n=e.onPostDispatch,i=e.defaultDropEffect,a=$p(),l=Wp({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;Ju.start({event:p,dragType:f,getDropTargetsOver:l.getIsOver,dispatchEvent:c})}s(u,"start");function d(){function m(){var p={canStart:Ju.canStart,start:u};return r(p)}return s(m,"mountAdapter"),Vp({typeKey:t,mount:m})}return s(d,"registerUsage"),{registerUsage:d,dropTarget:l.dropTargetForConsumers,monitor:a.monitorForConsumers}}s(Zp,"makeAdapter");var qp=Nr(s(function(){return navigator.userAgent.toLocaleLowerCase().includes("android")},"isAndroid")),Jp="pdnd:android-fallback";var Yu="text/plain";var jp="text/uri-list";var Gp="application/vnd.pdnd";var As=new WeakMap;function ih(e){return As.set(e.element,e),s(function(){As.delete(e.element)},"cleanup")}s(ih,"addToRegistry");var Kp=wp(),Xu=Zp({typeKey:"element",defaultDropEffect:"move",mount:s(function(t){return co(Kp.bindEvents(),(0,Yp.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=As.get(d);if(m){var p=En(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=ks({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=xs(y[b],2),g=N[0],k=N[1];o.dataTransfer.setData(g,k!=null?k:"")}qp()&&!o.dataTransfer.types.includes(Yu)&&!o.dataTransfer.types.includes(jp)&&o.dataTransfer.setData(Yu,Jp),o.dataTransfer.setData(Gp,"");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=As.get(i.source.element))===null||r===void 0||(o=r[n])===null||o===void 0||o.call(r,i)},"dispatchEventToSource"),onPostDispatch:Kp.getOnPostDispatch()}),br=Xu.dropTarget,Qu=Xu.monitor;function ga(e){if(0)var t;var r=co(Xu.registerUsage(),ih(e),Ms(e.element,{attribute:"draggable",value:"true"}));return Nr(r)}s(ga,"draggable");function Xp(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(Xp,"ownKeys");function Qp(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Xp(Object(r),!0).forEach(function(o){To(e,o,r[o])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Xp(Object(r)).forEach(function(o){Object.defineProperty(e,o,Object.getOwnPropertyDescriptor(r,o))})}return e}s(Qp,"_objectSpread");var ah={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")},ef=Symbol("closestEdge");function tf(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:ah[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 Qp(Qp({},e),{},To({},ef,d))}s(tf,"attachClosestEdge");function ha(e){var t;return(t=e[ef])!==null&&t!==void 0?t:null}s(ha,"extractClosestEdge");var Fl=require("@tiptap/core"),bg=require("@tiptap/react");var pg=require("@tiptap/react"),fg=require("jotai"),gg=require("react");var ug=require("@tiptap/react"),dg=require("jotai"),Pe=require("react"),mg=require("uuid");var kd=require("@tiptap/extension-color");var rf=require("@tiptap/core"),of=require("@tiptap/pm/dropcursor"),ed=rf.Extension.create({name:"dropCursor",addOptions(){return{color:"currentColor",width:1,class:void 0}},addProseMirrorPlugins(){return[(0,of.dropCursor)(this.options)]}});var Pd=require("@tiptap/extension-hard-break");var nf=require("@tiptap/core"),ci=require("@tiptap/pm/history"),sh=nf.Extension.create({name:"history",addOptions(){return{depth:100,newGroupDelay:500}},addCommands(){return{undo:()=>({state:e,dispatch:t})=>(0,ci.undo)(e,t),redo:()=>({state:e,dispatch:t})=>(0,ci.redo)(e,t)}},addProseMirrorPlugins(){return[(0,ci.history)(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()}}});var Nd=require("@tiptap/extension-placeholder"),Md=require("@tiptap/extension-text-align"),Ad=require("@tiptap/extension-typography"),Sd=require("@tiptap/extension-underline"),Id=require("@tiptap/starter-kit");var cf=require("@tiptap/core");var ui=require("@tiptap/core"),lh=/^\s*>\s$/,af=ui.Node.create({name:"blockquote",addOptions(){return{HTMLAttributes:{}}},content:"block+",group:"block",defining:!0,parseHTML(){return[{tag:"blockquote"}]},renderHTML({HTMLAttributes:e}){return["blockquote",(0,ui.mergeAttributes)(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[(0,ui.wrappingInputRule)({find:lh,type:this.type})]}});var uf=require("@tiptap/react");var sf=require("uuid");function ut(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-${(0,sf.v4)()}`;r.setNodeMarkup(i,void 0,{...n.attrs,id:a}),o=!0}return!1}),o&&e.view.dispatch(r)}s(ut,"generateNodeIds");var Ss=require("@tiptap/react"),Is=require("jotai"),di=require("react");var zo=require("react/jsx-runtime"),ch=s(({paddingHorizontal:e,paddingVertical:t,backgroundColor:r,borderLeftWidth:o,borderColor:n})=>(0,zo.jsx)("div",{className:"courier-w-full node-element",children:(0,zo.jsx)("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:(0,zo.jsx)(Ss.NodeViewContent,{})})}),"BlockquoteComponent"),lf=s(e=>{var l,c,u;let t=(0,Is.useSetAtom)(Xe),r=(0,Is.useAtomValue)(ye),o=(0,di.useRef)(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=(0,di.useCallback)(()=>{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]);(0,di.useEffect)(()=>{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(0,zo.jsx)(Ss.NodeViewWrapper,{children:(0,zo.jsx)("div",{ref:o,children:(0,zo.jsx)(It,{id:e.node.attrs.id,className:S(n&&"selected-element",a&&"is-empty"),editor:e.editor,children:(0,zo.jsx)(ch,{...e.node.attrs})})})})},"BlockquoteComponentNode");var $o={paddingHorizontal:8,paddingVertical:6,backgroundColor:"transparent",borderLeftWidth:4,borderColor:"#e0e0e0"},td=af.extend({content:"block+",addOptions(){var e;return{...(e=this.parent)==null?void 0:e.call(this),HTMLAttributes:{class:""}}},onCreate(){ut(this.editor,this.name)},addAttributes(){return{id:{default:void 0,parseHTML:e=>e.getAttribute("data-id"),renderHTML:e=>({"data-id":e.id})},paddingHorizontal:{default:$o.paddingHorizontal,parseHTML:e=>e.getAttribute("data-padding-horizontal"),renderHTML:e=>({"data-padding-horizontal":e.paddingHorizontal})},paddingVertical:{default:$o.paddingVertical,parseHTML:e=>e.getAttribute("data-padding-vertical"),renderHTML:e=>({"data-padding-vertical":e.paddingVertical})},backgroundColor:{default:$o.backgroundColor,parseHTML:e=>e.getAttribute("data-background-color"),renderHTML:e=>({"data-background-color":e.backgroundColor})},borderLeftWidth:{default:$o.borderLeftWidth,parseHTML:e=>e.getAttribute("data-border-left-width"),renderHTML:e=>({"data-border-left-width":e.borderLeftWidth})},borderColor:{default:$o.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",(0,cf.mergeAttributes)(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(0,uf.ReactNodeViewRenderer)(lf)}});var bf=require("@hookform/resolvers/zod"),yf=require("react-hook-form");var wn=require("react");var Tt=s(({editor:e,element:t,form:r,nodeType:o})=>{let n=(0,wn.useRef)(null),i=(0,wn.useRef)(null);return(0,wn.useEffect)(()=>{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:(0,wn.useCallback)(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");var kn=require("jotai"),mi=require("react");var ba=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,...ba(n,i)]:[...r,i]},[]),"getFlattenedVariables");var uh={link:["href","content"],img:["src","href","alt_text"],image:["src","href","alt_text"],action:["href","content"],meta:["title"],list:["imgSrc","imgHref"],quote:["content"],html:[]},dh=["content","href","src","title"],df=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&&vt(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=uh[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;dh.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 mh=s(e=>{let t=(0,kn.useAtomValue)(He),r=(0,kn.useAtomValue)(ee),o=(0,kn.useAtomValue)(Uo),n=(0,kn.useAtomValue)(mn),i=(0,kn.useSetAtom)(mn),a=e!=null?e:o,l=(0,mi.useMemo)(()=>{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 ba(m)},[t]),c=(0,mi.useMemo)(()=>{if(!r||!a)return[];let m=r.elements.find(p=>p.type==="channel"&&p.channel===a);return m?df(m.elements||[]):[]},[r,a]),u=(0,mi.useCallback)((m,p)=>{i(f=>({...f,[m]:p}))},[i]),d=(0,mi.useCallback)(()=>{i({})},[i]);return{availableVariables:l,usedVariables:c,variableValues:n,addVariableValue:u,clearAllVariableValues:d}},"useVariables");var gf=require("jotai");var ya=require("react/jsx-runtime"),dt=s(({draggable:e=!1,icon:t,draggableLabel:r,label:o})=>(0,ya.jsxs)("div",{className:"courier-flex courier-flex-row courier-items-center courier-gap-2",children:[(0,ya.jsx)("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}),(0,ya.jsx)("span",{className:"courier-text-sm courier-font-medium courier-text-foreground",children:e?r:o})]}),"BlockBase");var mf=require("lucide-react");var rd=require("react/jsx-runtime"),pf=s(({draggable:e=!1})=>(0,rd.jsx)(dt,{draggable:e,icon:(0,rd.jsx)(mf.Quote,{strokeWidth:1.25,className:"courier-w-4 courier-h-4"}),draggableLabel:"Blockquote",label:"Blockquote block"}),"BlockquoteBlock");var Ca=require("react/jsx-runtime"),ph=s(()=>(0,Ca.jsx)("svg",{width:"20",height:"12",viewBox:"0 0 20 12",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:(0,Ca.jsx)("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"),Zo=s(({draggable:e=!1})=>(0,Ca.jsx)(dt,{draggable:e,icon:(0,Ca.jsx)(ph,{}),draggableLabel:"Button",label:"Button block"}),"ButtonBlock");var va=require("react/jsx-runtime"),fh=s(()=>(0,va.jsx)("svg",{width:"20",height:"14",viewBox:"0 0 20 14",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:(0,va.jsx)("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"),Ls=s(({draggable:e=!1})=>(0,va.jsx)(dt,{draggable:e,icon:(0,va.jsx)(fh,{}),draggableLabel:"Column layout",label:"Column layout"}),"ColumnBlock");var xa=require("react/jsx-runtime"),gh=s(()=>(0,xa.jsx)("svg",{width:"20",height:"14",viewBox:"0 0 20 14",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:(0,xa.jsx)("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"),Ta=s(({draggable:e=!1})=>(0,xa.jsx)(dt,{draggable:e,icon:(0,xa.jsx)(gh,{}),draggableLabel:"Custom code",label:"Custom code"}),"CustomCodeBlock");var Ea=require("react/jsx-runtime"),hh=s(()=>(0,Ea.jsx)("svg",{width:"16",height:"2",viewBox:"0 0 16 2",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:(0,Ea.jsx)("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"),qo=s(({draggable:e=!1})=>(0,Ea.jsx)(dt,{draggable:e,icon:(0,Ea.jsx)(hh,{}),draggableLabel:"Divider",label:"Divider block"}),"DividerBlock");var wa=require("react/jsx-runtime"),bh=s(()=>(0,wa.jsx)("svg",{width:"18",height:"13",viewBox:"0 0 18 13",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:(0,wa.jsx)("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"),Rs=s(({draggable:e=!1})=>(0,wa.jsx)(dt,{draggable:e,icon:(0,wa.jsx)(bh,{}),draggableLabel:"Heading",label:"Heading block"}),"HeadingBlock");var ka=require("react/jsx-runtime"),yh=s(()=>(0,ka.jsx)("svg",{width:"16",height:"14",viewBox:"0 0 16 14",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:(0,ka.jsx)("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"),Hs=s(({draggable:e=!1})=>(0,ka.jsx)(dt,{draggable:e,icon:(0,ka.jsx)(yh,{}),draggableLabel:"Image",label:"Image block"}),"ImageBlock");var ff=require("lucide-react");var od=require("react/jsx-runtime"),Bs=s(({draggable:e=!1})=>(0,od.jsx)(dt,{draggable:e,icon:(0,od.jsx)(ff.AlignVerticalSpaceAround,{className:"courier-w-4 courier-h-4"}),draggableLabel:"Spacer",label:"Spacer block"}),"SpacerBlock");var Pa=require("react/jsx-runtime"),Ch=s(()=>(0,Pa.jsx)("svg",{width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:(0,Pa.jsx)("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"),Jo=s(({draggable:e=!1})=>(0,Pa.jsx)(dt,{draggable:e,icon:(0,Pa.jsx)(Ch,{}),draggableLabel:"Text",label:"Text block"}),"TextBlock");var Qt=require("react/jsx-runtime"),Lt=s(({type:e})=>{let t=(0,gf.useSetAtom)(Xe);return(0,Qt.jsxs)("div",{className:"courier-flex courier-gap-4 courier-flex-col",children:[(0,Qt.jsx)(Se,{className:"courier-w-fit",variant:"secondary",buttonSize:"small",onClick:()=>{t(null)},children:"Close"}),e==="heading"&&(0,Qt.jsx)(Rs,{}),e==="text"&&(0,Qt.jsx)(Jo,{}),e==="image"&&(0,Qt.jsx)(Hs,{}),e==="spacer"&&(0,Qt.jsx)(Bs,{}),e==="divider"&&(0,Qt.jsx)(qo,{}),e==="button"&&(0,Qt.jsx)(Zo,{}),e==="blockquote"&&(0,Qt.jsx)(pf,{}),e==="customCode"&&(0,Qt.jsx)(Ta,{}),e==="column"&&(0,Qt.jsx)(Ls,{}),(0,Qt.jsx)(ce,{className:"courier-m-0"})]})},"FormHeader");var jo=require("zod"),hf=jo.z.object({paddingHorizontal:jo.z.coerce.number().min(0),paddingVertical:jo.z.coerce.number().min(0),backgroundColor:jo.z.string(),borderLeftWidth:jo.z.coerce.number().min(0),borderColor:jo.z.string(),id:jo.z.string().optional()});var zr=require("react/jsx-runtime"),Cf=s(({element:e,editor:t})=>{let r=(0,yf.useForm)({resolver:(0,bf.zodResolver)(hf),defaultValues:{...$o,...e==null?void 0:e.attrs}}),{updateNodeAttributes:o}=Tt({editor:t,element:e,form:r,nodeType:(e==null?void 0:e.type.name)||"blockquote"});return e?(0,zr.jsxs)(qe,{...r,children:[(0,zr.jsx)(Lt,{type:"blockquote"}),(0,zr.jsxs)("form",{onChange:()=>{o(r.getValues())},children:[(0,zr.jsx)("h4",{className:"courier-text-sm courier-font-medium courier-mb-3",children:"Border"}),(0,zr.jsx)(j,{control:r.control,name:"borderColor",render:({field:n})=>(0,zr.jsxs)(q,{className:"courier-mb-3",children:[(0,zr.jsx)(J,{children:(0,zr.jsx)(xt,{...n,defaultValue:$o.borderColor,onChange:i=>{n.onChange(i),o({...r.getValues(),[n.name]:i})}})}),(0,zr.jsx)(G,{})]})})]})]}):null},"BlockquoteForm");var er=require("zod"),Ds=er.z.object({label:er.z.string(),link:er.z.string().optional(),alignment:er.z.enum(["left","center","right"]),backgroundColor:er.z.string(),borderRadius:er.z.number(),padding:er.z.number(),fontWeight:er.z.enum(["normal","bold"]),fontStyle:er.z.enum(["normal","italic"]),isUnderline:er.z.boolean(),isStrike:er.z.boolean(),textColor:er.z.string().optional(),borderColor:er.z.string().optional()});var Lf=require("@hookform/resolvers/zod"),Rf=require("react-hook-form");var vf=require("@tiptap/core"),pi=vf.Node.create({name:"doc",topNode:!0,content:"block+"});var Fs=require("@tiptap/core"),fi=Fs.Node.create({name:"paragraph",priority:1e3,addOptions(){return{HTMLAttributes:{}}},group:"block",content:"inline*",parseHTML(){return[{tag:"p"}]},renderHTML({HTMLAttributes:e}){return["p",(0,Fs.mergeAttributes)(this.options.HTMLAttributes,e),0]},addCommands(){return{setParagraph:()=>({commands:e})=>e.setNode(this.name)}},addKeyboardShortcuts(){return{"Mod-Alt-0":()=>this.editor.commands.setParagraph()}}});var Sf=he(require("@tiptap/extension-placeholder"),1);var xf=require("@tiptap/core"),Vs=xf.Node.create({name:"text",group:"inline"});var qs=require("@tiptap/react"),Mn=he(require("react"),1),Aa=require("react");var gi=require("@tiptap/core"),kf=require("@tiptap/react");var Tf=require("@tiptap/react"),Ef=require("jotai"),Eo=require("react");var mt=require("react");var Na=require("react/jsx-runtime"),nd=50,id=24,vh=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"),Os=s(({variableId:e,isInvalid:t,onUpdateAttributes:r,onDelete:o,icon:n,value:i,singleClickToEdit:a=!1,className:l,textColorOverride:c,getColors:u=vh})=>{let[d,m]=(0,mt.useState)(!1),p=(0,mt.useRef)(null);(0,mt.useEffect)(()=>{e===""&&!d&&m(!0)},[e,d]),(0,mt.useEffect)(()=>{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=(0,mt.useCallback)(()=>{var M;m(!1);let x=(((M=p.current)==null?void 0:M.textContent)||"").trim();if(x===""){o();return}let P=vt(x);r({id:x,isInvalid:!P})},[o,r]),v=(0,mt.useCallback)(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=(0,mt.useCallback)(()=>{if(p.current){let x=p.current.textContent||"";if(x.length>nd){x=x.slice(0,nd),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=(0,mt.useCallback)(x=>{x.preventDefault();let P=x.clipboardData.getData("text/plain").slice(0,nd);document.execCommand("insertText",!1,P)},[]),y=(0,mt.useCallback)(x=>{x.stopPropagation(),d||m(!0)},[d]),N=u(t,!!i),{bgColor:g,borderColor:k,textColor:A}=N,E=c||A,L=(0,mt.useMemo)(()=>{let x=e,P=i?`="${i}"`:"",M=`${x}${P}`,R=x.length>id;return{displayText:`${R?`${x.slice(0,id)}\u2026`:x}${P}`,fullText:M,showTitle:R}},[e,i]);(0,mt.useEffect)(()=>{p.current&&!d&&(p.current.textContent=L.displayText)},[L.displayText,d]);let w=(0,mt.useCallback)(x=>{x.stopPropagation()},[]),C=(0,mt.useCallback)(x=>{x.stopPropagation()},[]),T=a?{onClick:y}:{onClick:C,onDoubleClick:y};return(0,Na.jsxs)("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:[(0,Na.jsx)("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}),(0,Na.jsx)("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:`${id}ch`,overflow:"hidden",textOverflow:d?"clip":"ellipsis",whiteSpace:"nowrap",direction:"ltr",unicodeBidi:"isolate"},children:!d&&L.displayText})]})},"VariableChipBase");var Ma=require("react/jsx-runtime"),Us=s(({color:e="#1D4ED8"})=>(0,Ma.jsxs)("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:[(0,Ma.jsx)("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}),(0,Ma.jsx)("circle",{cx:"10",cy:"7",r:"2",fill:e})]}),"VariableIcon");var Ws=require("react/jsx-runtime"),wf=s(({node:e,editor:t,getPos:r,updateAttributes:o})=>{let n=(0,Ef.useAtomValue)(mn),i=e.attrs.id||"",a=n[i],l=e.attrs.isInvalid,[c,u]=(0,Eo.useState)(!1),d=(0,Eo.useCallback)(()=>{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]);(0,Eo.useEffect)(()=>{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=(0,Eo.useCallback)(h=>{o(h)},[o]),p=(0,Eo.useCallback)(()=>{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=(0,Eo.useCallback)((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(0,Ws.jsx)(Tf.NodeViewWrapper,{className:"courier-inline-block courier-max-w-full",children:(0,Ws.jsx)(Os,{variableId:i,isInvalid:l,value:a,onUpdateAttributes:m,onDelete:p,icon:(0,Ws.jsx)(Us,{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 ad=gi.Node.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(0,kf.ReactNodeViewRenderer)(wf)}}),Pn=gi.Extension.create({name:"variableInputRule",addInputRules(){return[new gi.InputRule({find:/\{\{$/,handler:({range:e,chain:t})=>{t().deleteRange(e).insertContent([{type:"variable",attrs:{id:"",isInvalid:!1}}]).run()}})]}});var Pf=require("@tiptap/core"),Nf=require("@tiptap/pm/state"),_s=require("@tiptap/pm/model");var Nn=Pf.Extension.create({name:"variablePaste",addProseMirrorPlugins(){return[new Nf.Plugin({props:{transformPastedHTML:e=>e.replace(/\{\{([^}]+)\}\}/g,(r,o)=>{let n=o.trim();return vt(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&&vt(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=_s.Fragment.from(i),u=new _s.Slice(c,0,0),d=r.state.tr.replaceSelection(u);return r.dispatch(d),e}return e}}})]}});var Af=require("@tiptap/core"),zs=require("@tiptap/react"),sd=require("react");var Go=require("react/jsx-runtime"),xh=s(({color:e="#B45309"})=>(0,Go.jsxs)("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:[(0,Go.jsx)("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}),(0,Go.jsx)("circle",{cx:"10",cy:"7",r:"2",fill:e})]}),"VariableChipIcon"),Mf=s(e=>e?{bgColor:"#FEF2F2",borderColor:"#FECACA",iconColor:"#DC2626",textColor:"#991B1B"}:{bgColor:"#FFFBEB",borderColor:"#FDE68A",iconColor:"#B45309",textColor:"#92400E"},"getSimpleColors"),Th=s(({node:e,editor:t,getPos:r,updateAttributes:o})=>{let n=e.attrs.id||"",i=e.attrs.isInvalid||!1,a=(0,sd.useCallback)(u=>{o(u)},[o]),l=(0,sd.useCallback)(()=>{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=Mf(i);return(0,Go.jsx)(zs.NodeViewWrapper,{as:"span",className:"courier-inline",children:(0,Go.jsx)(Os,{variableId:n,isInvalid:i,onUpdateAttributes:a,onDelete:l,icon:(0,Go.jsx)(xh,{color:c.iconColor}),getColors:Mf,className:"courier-mx-0.5"})})},"SimpleVariableView"),$s=Af.Node.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(0,zs.ReactNodeViewRenderer)(Th)}});function hi(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();vt(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(hi,"parseStringToContent");function Zs(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(Zs,"contentToString");var ld=require("react/jsx-runtime"),$r=Mn.forwardRef(({value:e="",onChange:t,placeholder:r,className:o,disabled:n=!1,onFocus:i,onBlur:a},l)=>{let c=Mn.useRef(!1),u=Mn.useRef(e),d=(0,qs.useEditor)({extensions:[pi,fi.configure({HTMLAttributes:{class:"courier-m-0 courier-leading-normal"}}),Vs,$s,Pn,Nn,Sf.default.configure({placeholder:r||"",emptyEditorClass:"is-editor-empty"})],content:hi(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=Zs(p.getJSON());f!==u.current&&(u.current=f,t==null||t(f))},onFocus:()=>{i==null||i()},onBlur:()=>{a==null||a()}});(0,Aa.useEffect)(()=>{if(!d||e===u.current)return;c.current=!0,u.current=e;let p=setTimeout(()=>{let f=hi(e);d.commands.setContent(f),c.current=!1},0);return()=>clearTimeout(p)},[d,e]),(0,Aa.useEffect)(()=>{d&&d.setEditable(!n)},[d,n]);let m=(0,Aa.useCallback)(()=>{d==null||d.commands.focus()},[d]);return Mn.useImperativeHandle(l,()=>{let p=d==null?void 0:d.view.dom.parentElement;return p&&(p.focus=m),p},[d,m]),(0,ld.jsx)("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:(0,ld.jsx)(qs.EditorContent,{editor:d,className:"courier-w-full"})})});$r.displayName="VariableTextarea";var If=he(require("@tiptap/extension-placeholder"),1);var Js=require("@tiptap/react"),An=he(require("react"),1),Sa=require("react");var cd=require("react/jsx-runtime"),bi=An.forwardRef(({value:e="",onChange:t,placeholder:r,className:o,disabled:n=!1,readOnly:i=!1,onFocus:a,onBlur:l},c)=>{let u=An.useRef(!1),d=An.useRef(e),m=(0,Js.useEditor)({extensions:[pi,fi.configure({HTMLAttributes:{class:"courier-m-0 courier-leading-normal"}}),Vs,$s,Pn,Nn,If.default.configure({placeholder:r||"",emptyEditorClass:"is-editor-empty"})],content:hi(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=Zs(f.getJSON());v!==d.current&&(d.current=v,t==null||t(v))},onFocus:()=>{a==null||a()},onBlur:()=>{l==null||l()}});(0,Sa.useEffect)(()=>{if(!m||e===d.current)return;u.current=!0,d.current=e;let f=setTimeout(()=>{let v=hi(e);m.commands.setContent(v),u.current=!1},0);return()=>clearTimeout(f)},[m,e]),(0,Sa.useEffect)(()=>{m&&m.setEditable(!n&&!i)},[m,n,i]);let p=(0,Sa.useCallback)(()=>{m==null||m.commands.focus()},[m]);return An.useImperativeHandle(c,()=>{let f=m==null?void 0:m.view.dom.parentElement;return f&&(f.focus=p),f},[m,p]),(0,cd.jsx)("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:(0,cd.jsx)(Js.EditorContent,{editor:m,className:"courier-w-full courier-flex-1"})})});bi.displayName="VariableInput";var Ko=require("react/jsx-runtime"),yi=30,js=s(({color:e="currentColor",width:t=yi,height:r=yi,...o})=>(0,Ko.jsx)($,{...o,width:t,height:r,children:(0,Ko.jsx)("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"),Gs=s(({color:e="currentColor",width:t=yi,height:r=yi,...o})=>(0,Ko.jsx)($,{...o,width:t,height:r,children:(0,Ko.jsx)("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"),Ks=s(({color:e="currentColor",width:t=yi,height:r=yi,...o})=>(0,Ko.jsx)($,{...o,width:t,height:r,children:(0,Ko.jsx)("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");var te=require("react/jsx-runtime"),Hf=s(({element:e,editor:t})=>{let r=(0,Rf.useForm)({resolver:(0,Lf.zodResolver)(Ds),defaultValues:{...Ge,...e==null?void 0:e.attrs}}),{updateNodeAttributes:o}=Tt({editor:t,element:e,form:r,nodeType:"button"});return e?(0,te.jsxs)(qe,{...r,children:[(0,te.jsx)(Lt,{type:"button"}),(0,te.jsxs)("form",{onChange:()=>{o(r.getValues())},children:[(0,te.jsx)("h4",{className:"courier-text-sm courier-font-medium courier-mb-3",children:"Link"}),(0,te.jsx)(j,{control:r.control,name:"link",render:({field:n})=>(0,te.jsxs)(q,{children:[(0,te.jsx)(J,{children:(0,te.jsx)($r,{value:n.value,onChange:i=>{n.onChange(i),o({...r.getValues(),link:i})}})}),(0,te.jsx)(G,{})]})}),(0,te.jsx)(ce,{className:"courier-mt-6 courier-mb-4"}),(0,te.jsx)("h4",{className:"courier-text-sm courier-font-medium courier-mb-3",children:"Background"}),(0,te.jsx)(j,{control:r.control,name:"backgroundColor",render:({field:n})=>(0,te.jsxs)(q,{className:"courier-mb-4",children:[(0,te.jsx)(J,{children:(0,te.jsx)(xt,{...n,defaultValue:Ge.backgroundColor,onChange:i=>{n.onChange(i),o({...r.getValues(),[n.name]:i})}})}),(0,te.jsx)(G,{})]})}),(0,te.jsx)(ce,{className:"courier-mt-6 courier-mb-4"}),(0,te.jsx)("h4",{className:"courier-text-sm courier-font-medium courier-mb-3",children:"Frame"}),(0,te.jsx)(j,{control:r.control,name:"padding",render:({field:n})=>(0,te.jsxs)(q,{className:"courier-mb-2",children:[(0,te.jsx)(J,{children:(0,te.jsx)(be,{type:"number",min:0,...n})}),(0,te.jsx)(G,{})]})}),(0,te.jsx)(j,{control:r.control,name:"alignment",render:({field:n})=>(0,te.jsxs)(q,{children:[(0,te.jsx)(J,{children:(0,te.jsxs)(Pr,{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:[(0,te.jsx)(_t,{size:"sm",value:"left",className:"courier-w-full",children:(0,te.jsx)(js,{className:"courier-h-4 courier-w-4"})}),(0,te.jsx)(_t,{size:"sm",value:"center",className:"courier-w-full",children:(0,te.jsx)(Gs,{className:"courier-h-4 courier-w-4"})}),(0,te.jsx)(_t,{size:"sm",value:"right",className:"courier-w-full",children:(0,te.jsx)(Ks,{className:"courier-h-4 courier-w-4"})})]})}),(0,te.jsx)(G,{})]})}),(0,te.jsx)(ce,{className:"courier-mt-6 courier-mb-4"}),(0,te.jsx)("h4",{className:"courier-text-sm courier-font-medium courier-mb-3",children:"Border"}),(0,te.jsx)(j,{control:r.control,name:"borderRadius",render:({field:n})=>(0,te.jsxs)(q,{children:[(0,te.jsx)(J,{children:(0,te.jsx)(be,{startAdornment:(0,te.jsx)(Ki,{}),type:"number",min:0,...n})}),(0,te.jsx)(G,{})]})})]})]}):null},"ButtonForm");var Qs=require("@tiptap/core"),Ff=require("@tiptap/react"),Vf=require("uuid");var Xs=require("jotai"),Be=require("react");var Et=require("react/jsx-runtime"),Eh=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();vt(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"),wh=s(({parts:e})=>{let t=(0,Xs.useAtomValue)(mn);return(0,Et.jsx)(Et.Fragment,{children:e.map((r,o)=>{if(r.type==="text")return(0,Et.jsx)("span",{children:r.content},o);let n=t[r.name];return(0,Et.jsxs)("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:[(0,Et.jsx)(Us,{color:n?void 0:"#B45309"}),(0,Et.jsxs)("span",{className:"courier-truncate courier-min-w-0",style:{color:"#000000"},children:[r.name,n?`="${n}"`:""]})]},o)})})},"ButtonLabelDisplay"),Bf=s(({label:e,backgroundColor:t,textColor:r,onLabelChange:o,editable:n})=>{let i=(0,Be.useRef)(null),a=(0,Be.useRef)(e),l=(0,Be.useRef)(!1),[c,u]=(0,Be.useState)(!1),d=Eh(e),p=d.some(E=>E.type==="variable")&&!c;(0,Be.useLayoutEffect)(()=>{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=(0,Be.useRef)(p),v=(0,Be.useRef)(!0);(0,Be.useEffect)(()=>{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=(0,Be.useCallback)(()=>{if(i.current&&!p){l.current=!0;let E=i.current.textContent||"";a.current=E,o(E),requestAnimationFrame(()=>{l.current=!1})}},[o,p]),b=(0,Be.useCallback)(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=(0,Be.useCallback)(()=>{u(!0)},[]),N=(0,Be.useCallback)(()=>{u(!1)},[]),g=(0,Be.useCallback)(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?(0,Et.jsx)(wh,{parts:d}):n?null:e,A=(0,Be.useCallback)(E=>{p&&n&&E.stopPropagation()},[p,n]);return(0,Et.jsx)("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"),kh=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})=>(0,Et.jsx)("div",{className:"node-element",children:(0,Et.jsxs)("div",{className:"courier-flex courier-gap-1 courier-justify-start",style:{marginTop:`${c}px`,marginBottom:`${c}px`},children:[(0,Et.jsx)(Bf,{label:e,backgroundColor:r,textColor:o,onLabelChange:u||(()=>{}),editable:m},"button1"),(0,Et.jsx)(Bf,{label:n,backgroundColor:a,textColor:l,onLabelChange:d||(()=>{}),editable:m},"button2")]})}),"ButtonRowComponent"),Df=s(e=>{let t=(0,Xs.useSetAtom)(Xe),r=(0,Be.useRef)({}),o=(0,Be.useRef)({}),n=(0,Be.useCallback)(()=>{if(!e.editor.isEditable)return;let l=pt(e);l&&t(l)},[e,t]),i=(0,Be.useCallback)(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=(0,Be.useCallback)(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(0,Be.useEffect)(()=>{let l=r.current;return()=>{l.button1&&clearTimeout(l.button1),l.button2&&clearTimeout(l.button2)}},[]),(0,Et.jsx)(It,{id:e.node.attrs.id,className:S(e.node.attrs.isSelected&&"selected-element"),onClick:n,editor:e.editor,"data-node-type":"buttonRow",children:(0,Et.jsx)(kh,{...e.node.attrs,onButton1LabelChange:i,onButton2LabelChange:a,editable:e.editor.isEditable})})},"ButtonRowComponentNode");var Zr={button1Label:"Register",button1Link:"",button1BackgroundColor:"#000000",button1TextColor:"#ffffff",button2Label:"Learn more",button2Link:"",button2BackgroundColor:"#ffffff",button2TextColor:"#000000",padding:6},el=Qs.Node.create({name:"buttonRow",group:"block",atom:!0,selectable:!1,onCreate(){ut(this.editor,this.name)},addAttributes(){return{id:{default:()=>`node-${(0,Vf.v4)()}`,parseHTML:e=>e.getAttribute("id"),renderHTML:e=>({id:e.id})},button1Label:{default:Zr.button1Label,parseHTML:e=>e.getAttribute("data-button1-label"),renderHTML:e=>({"data-button1-label":e.button1Label})},button1Link:{default:Zr.button1Link,parseHTML:e=>e.getAttribute("data-button1-link"),renderHTML:e=>({"data-button1-link":e.button1Link})},button1BackgroundColor:{default:Zr.button1BackgroundColor,parseHTML:e=>e.getAttribute("data-button1-bg"),renderHTML:e=>({"data-button1-bg":e.button1BackgroundColor})},button1TextColor:{default:Zr.button1TextColor,parseHTML:e=>e.getAttribute("data-button1-color"),renderHTML:e=>({"data-button1-color":e.button1TextColor})},button2Label:{default:Zr.button2Label,parseHTML:e=>e.getAttribute("data-button2-label"),renderHTML:e=>({"data-button2-label":e.button2Label})},button2Link:{default:Zr.button2Link,parseHTML:e=>e.getAttribute("data-button2-link"),renderHTML:e=>({"data-button2-link":e.button2Link})},button2BackgroundColor:{default:Zr.button2BackgroundColor,parseHTML:e=>e.getAttribute("data-button2-bg"),renderHTML:e=>({"data-button2-bg":e.button2BackgroundColor})},button2TextColor:{default:Zr.button2TextColor,parseHTML:e=>e.getAttribute("data-button2-color"),renderHTML:e=>({"data-button2-color":e.button2TextColor})},padding:{default:Zr.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",(0,Qs.mergeAttributes)(e,{"data-type":"buttonRow"})]},addNodeView(){return(0,Ff.ReactNodeViewRenderer)(Df,{stopEvent:({event:e})=>!(e.type==="dragstart"||e.type==="drop")})},addCommands(){return{setButtonRow:e=>({chain:t})=>t().insertContent({type:this.name,attrs:{...Zr,...e}}).run()}}});var rl=require("@tiptap/core"),Wf=require("@tiptap/react"),_f=require("uuid");var Of=require("@tiptap/react"),tl=require("jotai"),yr=require("react");var qr=require("react/jsx-runtime"),Ph=s(({columnId:e,index:t,isPreviewMode:r})=>{let o=(0,yr.useRef)(null),[n,i]=(0,yr.useState)(!1);return(0,yr.useEffect)(()=>{let a=o.current;if(a)return br({element:a,getData:()=>({type:"column-cell",columnId:e,index:t,isEmpty:!0}),onDragEnter:()=>i(!0),onDragLeave:()=>i(!1),onDrop:()=>i(!1)})},[e,t]),(0,qr.jsx)("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&&(0,qr.jsx)("span",{className:"courier-pointer-events-none",children:"Drag and drop content blocks"})})},"PlaceholderCell"),Nh=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(0,qr.jsx)("div",{className:"courier-w-full node-element",style:m,children:(0,qr.jsx)("div",{className:"courier-w-full courier-flex courier-gap-2 courier-p-2",style:d,children:Array.from({length:l}).map((v,h)=>(0,qr.jsx)(Ph,{columnId:f,index:h,isPreviewMode:c},h))})})}return(0,qr.jsx)("div",{className:"courier-w-full node-element",style:m,children:(0,qr.jsx)("div",{className:"courier-w-full courier-p-2",style:d,children:(0,qr.jsx)(Of.NodeViewContent,{})})})},"ColumnComponent"),Uf=s(e=>{let t=(0,tl.useSetAtom)(Xe),r=(0,tl.useAtomValue)(jt),[o,n]=(0,yr.useState)(!1),[i,a]=(0,yr.useState)(e.editor.isEditable);(0,yr.useEffect)(()=>{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=(0,yr.useCallback)(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=pt(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=(0,yr.useCallback)(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=(0,yr.useCallback)(()=>{n(!1)},[]);return(0,qr.jsx)(It,{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:(0,qr.jsx)(Nh,{...e.node.attrs,node:e.node,columnsCount:e.node.attrs.columnsCount||2,isPreviewMode:l})})},"ColumnComponentNode");var wt={columnsCount:2,paddingHorizontal:0,paddingVertical:0,backgroundColor:"transparent",borderWidth:0,borderRadius:0,borderColor:"transparent",cells:[]},ol=rl.Node.create({name:"column",group:"block",content:"columnRow?",isolating:!0,selectable:!1,onCreate(){ut(this.editor,this.name)},addAttributes(){return{columnsCount:{default:wt.columnsCount,parseHTML:e=>e.getAttribute("data-columns-count"),renderHTML:e=>({"data-columns-count":e.columnsCount})},paddingHorizontal:{default:wt.paddingHorizontal,parseHTML:e=>e.getAttribute("data-padding-horizontal"),renderHTML:e=>({"data-padding-horizontal":e.paddingHorizontal})},paddingVertical:{default:wt.paddingVertical,parseHTML:e=>e.getAttribute("data-padding-vertical"),renderHTML:e=>({"data-padding-vertical":e.paddingVertical})},backgroundColor:{default:wt.backgroundColor,parseHTML:e=>e.getAttribute("data-background-color"),renderHTML:e=>({"data-background-color":e.backgroundColor})},borderWidth:{default:wt.borderWidth,parseHTML:e=>e.getAttribute("data-border-width"),renderHTML:e=>({"data-border-width":e.borderWidth})},borderRadius:{default:wt.borderRadius,parseHTML:e=>e.getAttribute("data-border-radius"),renderHTML:e=>({"data-border-radius":e.borderRadius})},borderColor:{default:wt.borderColor,parseHTML:e=>e.getAttribute("data-border-color"),renderHTML:e=>({"data-border-color":e.borderColor})},id:{default:()=>`node-${(0,_f.v4)()}`,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",(0,rl.mergeAttributes)(this.options.HTMLAttributes,e,{"data-type":"column"}),0]},addNodeView(){return(0,Wf.ReactNodeViewRenderer)(Uf)},addCommands(){return{setColumn:e=>({chain:t})=>{let r=e.columnsCount||wt.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"}}}});var $f=require("@hookform/resolvers/zod"),Zf=require("react-hook-form");var Cr=require("zod"),zf=Cr.z.object({columnsCount:Cr.z.number().min(1).max(4).default(2),paddingHorizontal:Cr.z.number().default(0),paddingVertical:Cr.z.number().default(0),backgroundColor:Cr.z.string().default("transparent"),borderWidth:Cr.z.number().default(0),borderRadius:Cr.z.number().default(0),borderColor:Cr.z.string().default("transparent"),cells:Cr.z.array(Cr.z.object({elements:Cr.z.array(Cr.z.any())})).optional()});var K=require("react/jsx-runtime"),ud=s(({element:e,editor:t})=>{let r=(0,Zf.useForm)({resolver:(0,$f.zodResolver)(zf),defaultValues:{...wt,...e==null?void 0:e.attrs}}),{updateNodeAttributes:o}=Tt({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?(0,K.jsxs)(qe,{...r,children:[(0,K.jsx)(Lt,{type:"column",label:"Column layout"}),(0,K.jsxs)("form",{onChange:()=>{o(r.getValues())},children:[(0,K.jsx)("h4",{className:"courier-text-sm courier-font-medium courier-text-foreground courier-mb-3",children:"Columns count"}),(0,K.jsx)(j,{control:r.control,name:"columnsCount",render:({field:i})=>(0,K.jsxs)(q,{className:"courier-mb-4",children:[(0,K.jsx)(J,{children:(0,K.jsx)(Pr,{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=>(0,K.jsx)(_t,{value:a.toString(),className:"courier-w-12 courier-h-7",children:(0,K.jsx)("span",{className:"courier-text-sm courier-font-medium",children:a})},a))})}),(0,K.jsx)(G,{})]})}),(0,K.jsx)(ce,{className:"courier-mt-6 courier-mb-4"}),(0,K.jsx)("h4",{className:"courier-text-sm courier-font-medium courier-text-foreground courier-mb-3",children:"Frame"}),(0,K.jsxs)("div",{className:"courier-flex courier-flex-row courier-gap-3 courier-mb-3",children:[(0,K.jsx)(j,{control:r.control,name:"paddingHorizontal",render:({field:i})=>(0,K.jsxs)(q,{children:[(0,K.jsx)(J,{children:(0,K.jsx)(be,{startAdornment:(0,K.jsx)(oa,{}),type:"number",min:0,...i})}),(0,K.jsx)(G,{})]})}),(0,K.jsx)(j,{control:r.control,name:"paddingVertical",render:({field:i})=>(0,K.jsxs)(q,{children:[(0,K.jsx)(J,{children:(0,K.jsx)(be,{startAdornment:(0,K.jsx)(hn,{}),type:"number",min:0,...i})}),(0,K.jsx)(G,{})]})})]}),(0,K.jsx)(j,{control:r.control,name:"backgroundColor",render:({field:i})=>(0,K.jsxs)(q,{className:"courier-mb-4",children:[(0,K.jsx)(J,{children:(0,K.jsx)(xt,{...i,defaultValue:wt.backgroundColor,onChange:a=>{i.onChange(a),o({...r.getValues(),[i.name]:a})}})}),(0,K.jsx)(G,{})]})}),(0,K.jsx)(ce,{className:"courier-mt-6 courier-mb-4"}),(0,K.jsx)("h4",{className:"courier-text-sm courier-font-medium courier-text-foreground courier-mb-3",children:"Border"}),(0,K.jsxs)("div",{className:"courier-flex courier-flex-row courier-gap-3 courier-mb-3",children:[(0,K.jsx)(j,{control:r.control,name:"borderWidth",render:({field:i})=>(0,K.jsxs)(q,{children:[(0,K.jsx)(J,{children:(0,K.jsx)(be,{startAdornment:(0,K.jsx)(xo,{}),type:"number",min:0,...i})}),(0,K.jsx)(G,{})]})}),(0,K.jsx)(j,{control:r.control,name:"borderRadius",render:({field:i})=>(0,K.jsxs)(q,{children:[(0,K.jsx)(J,{children:(0,K.jsx)(be,{startAdornment:(0,K.jsx)(Ki,{}),type:"number",min:0,...i})}),(0,K.jsx)(G,{})]})})]}),(0,K.jsx)(j,{control:r.control,name:"borderColor",render:({field:i})=>(0,K.jsxs)(q,{className:"courier-mb-4",children:[(0,K.jsx)(J,{children:(0,K.jsx)(xt,{...i,defaultValue:wt.borderColor,onChange:a=>{i.onChange(a),o({...r.getValues(),[i.name]:a})}})}),(0,K.jsx)(G,{})]})})]})]}):null},"ColumnForm");var nl=require("@tiptap/core"),il=nl.Node.create({name:"columnRow",group:"columnContent",content:"columnCell+",isolating:!0,parseHTML(){return[{tag:'div[data-type="column-row"]'}]},renderHTML({HTMLAttributes:e}){return["div",(0,nl.mergeAttributes)(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()}}});var sl=require("@tiptap/core"),jf=require("@tiptap/react"),ll=require("@tiptap/pm/state");var al=require("@tiptap/react"),Yo=require("react");var qf=require("jotai");var Ia=require("react/jsx-runtime"),Jf=s(e=>{let t=(0,Yo.useRef)(null),[r,o]=(0,Yo.useState)(!1),n=(0,qf.useAtomValue)(jt),i=e.node.attrs.isEditorMode===!0,[a,l]=(0,Yo.useState)(e.editor.isEditable);(0,Yo.useEffect)(()=>{let d=t.current;if(d)return br({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]),(0,Yo.useEffect)(()=>{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(0,Ia.jsxs)(al.NodeViewWrapper,{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&&(0,Ia.jsx)("span",{className:"courier-pointer-events-none courier-pl-4",children:"Drag and drop content blocks"}),(0,Ia.jsx)(al.NodeViewContent,{className:"courier-flex courier-flex-col courier-gap-2 courier-w-full"})]})},"ColumnCellComponentNode");var cl=sl.Node.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",(0,sl.mergeAttributes)(e,{"data-type":"column-cell",style:"flex: 1 1 0%; width: 0; min-height: 120px;"}),0]},addNodeView(){return(0,jf.ReactNodeViewRenderer)(Jf)},addCommands(){return{insertColumnCell:()=>({chain:e})=>e().insertContent({type:this.name}).run()}},addProseMirrorPlugins(){return[new ll.Plugin({key:new ll.PluginKey("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}})]}});var ul=require("@tiptap/core"),Xf=require("@tiptap/react"),Qf=require("uuid");var Gf=require("jotai"),Kf=require("react");var La=require("react/jsx-runtime"),Mh=s(({code:e})=>{let t=e&&e.trim()&&e!=="<!-- Add your HTML code here -->";return(0,La.jsx)("div",{className:"courier-w-full node-element",children:(0,La.jsx)("div",{className:"courier-custom-code courier-py-1.5",dangerouslySetInnerHTML:t?{__html:e}:{__html:"&#160;"}})})},"CustomCodeComponent"),Yf=s(e=>{let t=(0,Gf.useSetAtom)(Xe),r=(0,Kf.useCallback)(()=>{if(!e.editor.isEditable)return;let i=pt(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(0,La.jsx)(It,{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:(0,La.jsx)(Mh,{...e.node.attrs,updateAttributes:e.updateAttributes})})},"CustomCodeComponentNode");var wo={code:"<!-- Add your HTML code here -->"},dl=ul.Node.create({name:"customCode",group:"block",atom:!0,selectable:!1,onCreate(){ut(this.editor,this.name)},addAttributes(){return{code:{default:wo.code,parseHTML:e=>e.getAttribute("data-code")||"",renderHTML:e=>({"data-code":e.code})},id:{default:()=>`node-${(0,Qf.v4)()}`,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",(0,ul.mergeAttributes)(this.options.HTMLAttributes,e,{"data-type":"custom-code"}),["div",{innerHTML:e.code||wo.code}]]},addNodeView(){return(0,Xf.ReactNodeViewRenderer)(Yf)},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"}}}});var kt=require("react");var e1=require("react"),t1=require("react/jsx-runtime"),dd=(0,e1.forwardRef)(({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(0,t1.jsx)("div",{className:o,ref:r,...t})});dd.displayName="Spinner";var Sn=require("react/jsx-runtime"),Ah=s(()=>{let[e,t]=(0,kt.useState)(!1),r=(0,kt.useRef)(null);return(0,kt.useEffect)(()=>{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"),Sh=(0,kt.lazy)(()=>import("@monaco-editor/react").then(e=>({default:e.Editor})));function Ih(e,t){let r=(0,kt.useRef)();return(0,kt.useCallback)((...o)=>{r.current&&clearTimeout(r.current),r.current=setTimeout(()=>e(...o),t)},[e,t])}s(Ih,"useDebounce");var Lh=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"),ml=s(({code:e,onSave:t,onValidationChange:r,validator:o=Lh})=>{let n=(0,kt.useRef)(null),i=(0,kt.useRef)(null),[a,l]=(0,kt.useState)(!0),{isDark:c,containerRef:u}=Ah(),d=(0,kt.useCallback)(()=>{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=Ih(v=>{setTimeout(()=>{d()&&t(v)},150)},500);return(0,Sn.jsx)("div",{ref:u,className:"courier-h-full courier-overflow-hidden",children:(0,Sn.jsx)("div",{className:"courier-h-full courier-p-2",children:(0,Sn.jsx)(kt.Suspense,{fallback:(0,Sn.jsx)("div",{className:"courier-flex courier-items-center courier-justify-center courier-h-full courier-text-gray-500",children:(0,Sn.jsx)(dd,{})}),children:(0,Sn.jsx)(Sh,{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");var o1=require("@hookform/resolvers/zod"),n1=require("react-hook-form");var md=require("zod"),r1=md.z.object({code:md.z.string()});var i1=require("react"),a1=require("jotai");var Qe=require("react/jsx-runtime"),pd=s(({element:e,editor:t})=>{let r=(0,n1.useForm)({resolver:(0,o1.zodResolver)(r1),defaultValues:{...wo,...e==null?void 0:e.attrs}}),{updateNodeAttributes:o}=Tt({editor:t,element:e,form:r,nodeType:"customCode"}),[n,i]=(0,a1.useAtom)(io),a=(0,i1.useCallback)(l=>{r.setValue("code",l),o({code:l})},[r,o]);return e?(0,Qe.jsxs)(qe,{...r,children:[!n&&(0,Qe.jsx)(Lt,{type:"customCode"}),(0,Qe.jsxs)("div",{className:"courier-flex courier-flex-col courier-gap-4",children:[(0,Qe.jsx)(Se,{className:"courier-w-fit",variant:"outline",buttonSize:"small",onClick:()=>i(!n),children:n?(0,Qe.jsxs)(Qe.Fragment,{children:[(0,Qe.jsx)(Au,{className:"courier-w-3 courier-h-3"}),"Minimize"]}):(0,Qe.jsxs)(Qe.Fragment,{children:[(0,Qe.jsx)(Yi,{className:"courier-w-3 courier-h-3"}),"Expand Editor"]})}),(0,Qe.jsx)("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:(0,Qe.jsx)("form",{onChange:()=>{o(r.getValues())},className:"courier-h-full",children:(0,Qe.jsx)(j,{control:r.control,name:"code",render:({field:l})=>(0,Qe.jsxs)(q,{className:"courier-h-full",children:[(0,Qe.jsx)(J,{children:(0,Qe.jsx)(ml,{code:l.value,onSave:c=>{l.onChange(c),a(c)},onCancel:()=>{}})}),(0,Qe.jsx)(G,{})]})})})})]})]}):null},"CustomCodeForm");var d1=require("@tiptap/core");var Xo=require("@tiptap/core"),Ci=require("@tiptap/pm/state"),s1=Xo.Node.create({name:"horizontalRule",addOptions(){return{HTMLAttributes:{}}},group:"block",parseHTML(){return[{tag:"hr"}]},renderHTML({HTMLAttributes:e}){return["hr",(0,Xo.mergeAttributes)(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}):(0,Xo.isNodeSelection)(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(Ci.TextSelection.create(a.doc,u.pos+1)):u.nodeAfter.isBlock?a.setSelection(Ci.NodeSelection.create(a.doc,u.pos)):a.setSelection(Ci.TextSelection.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(Ci.TextSelection.create(a.doc,d+1)))}a.scrollIntoView()}return!0}).run()}}},addInputRules(){return[(0,Xo.nodeInputRule)({find:/^(?:---|—-|___\s|\*\*\*\s)$/,type:this.type})]}});var m1=require("@tiptap/react"),p1=require("uuid");var l1=require("jotai"),c1=require("react");var Ra=require("react/jsx-runtime"),Rh=s(({padding:e,color:t,size:r,radius:o,variant:n="divider"})=>(0,Ra.jsx)("div",{className:"courier-w-full node-element courier-flex",children:(0,Ra.jsx)("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"),u1=s(e=>{let t=(0,l1.useSetAtom)(Xe),r=(0,c1.useCallback)(()=>{if(!e.editor.isEditable)return;let o=pt(e);o&&(e.editor.commands.blur(),t(o))},[e,t]);return(0,Ra.jsx)(It,{id:e.node.attrs.id,className:S(e.node.attrs.isSelected&&"selected-element"),onClick:r,editor:e.editor,children:(0,Ra.jsx)(Rh,{...e.node.attrs})})},"DividerComponentNode");var vr={padding:6,color:"#000000",size:1,radius:0,variant:"divider"},pl={padding:24,color:"transparent",size:1,radius:0,variant:"spacer"},fd=s1.extend({name:"divider",atom:!0,onCreate(){ut(this.editor,this.name)},addAttributes(){return{padding:{default:vr.padding,parseHTML:e=>e.getAttribute("data-padding"),renderHTML:e=>({"data-padding":e.margin})},size:{default:vr.size,parseHTML:e=>e.getAttribute("data-size"),renderHTML:e=>({"data-size":e.size})},color:{default:vr.color,parseHTML:e=>e.getAttribute("data-color"),renderHTML:e=>({"data-color":e.color})},width:{default:vr.size,parseHTML:e=>e.getAttribute("data-size"),renderHTML:e=>({"data-size":e.size})},radius:{default:vr.radius,parseHTML:e=>e.getAttribute("data-radius"),renderHTML:e=>({"data-radius":e.radius})},variant:{default:vr.variant,parseHTML:e=>e.getAttribute("data-variant"),renderHTML:e=>({"data-variant":e.variant})},id:{default:()=>`node-${(0,p1.v4)()}`,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",(0,d1.mergeAttributes)(e,{"data-type":"divider"}),["hr"]]},addNodeView(){return(0,m1.ReactNodeViewRenderer)(u1)},addInputRules(){return[]}});var In=require("zod"),f1=In.z.object({padding:In.z.number(),color:In.z.string(),size:In.z.number(),radius:In.z.number(),variant:In.z.enum(["divider","spacer"]).default("divider")});var g1=require("@hookform/resolvers/zod"),h1=require("react-hook-form");var ke=require("react/jsx-runtime"),b1=s(({element:e,editor:t})=>{let r=(0,h1.useForm)({resolver:(0,g1.zodResolver)(f1),defaultValues:{...vr,...e==null?void 0:e.attrs}}),{updateNodeAttributes:o}=Tt({editor:t,element:e,form:r,nodeType:"divider"});if(!e)return null;let n=r.watch("variant");return(0,ke.jsxs)(qe,{...r,children:[(0,ke.jsx)(Lt,{type:n}),(0,ke.jsxs)("form",{onChange:()=>{o(r.getValues())},children:[(0,ke.jsx)("h4",{className:"courier-text-sm courier-font-medium courier-mb-3",children:"Frame"}),(0,ke.jsx)(j,{control:r.control,name:"padding",render:({field:i})=>(0,ke.jsxs)(q,{children:[(0,ke.jsx)(J,{children:(0,ke.jsx)(be,{startAdornment:(0,ke.jsx)(hn,{}),type:"number",...i,onChange:a=>{i.onChange(a),o({...r.getValues(),margin:a.target.value})}})}),(0,ke.jsx)(G,{})]})}),n==="divider"&&(0,ke.jsxs)(ke.Fragment,{children:[(0,ke.jsx)(ce,{className:"courier-mt-6 courier-mb-4"}),(0,ke.jsx)("h4",{className:"courier-text-sm courier-font-medium courier-mb-3",children:"Line"}),(0,ke.jsx)(j,{control:r.control,name:"size",render:({field:i})=>(0,ke.jsxs)(q,{className:"courier-mb-4",children:[(0,ke.jsx)(J,{children:(0,ke.jsx)(be,{startAdornment:(0,ke.jsx)(xo,{}),type:"number",min:0,...i,onChange:a=>{i.onChange(a),o({...r.getValues(),width:a.target.value})}})}),(0,ke.jsx)(G,{})]})}),(0,ke.jsx)(j,{control:r.control,name:"color",render:({field:i})=>(0,ke.jsxs)(q,{className:"courier-mb-4",children:[(0,ke.jsx)(J,{children:(0,ke.jsx)(xt,{...i,defaultValue:vr.color,onChange:a=>{i.onChange(a),o({...r.getValues(),[i.name]:a})}})}),(0,ke.jsx)(G,{})]})})]})]})]})},"DividerForm");var gd=pi.extend({content:"(block)+"});var v1=require("@tiptap/core"),x1=require("@tiptap/react");var y1=require("@tiptap/react"),Ln=require("react");var Ha=require("react/jsx-runtime");function Hh(){let[e,t]=(0,Ln.useState)(!1);return(0,Ln.useEffect)(()=>{let r=setTimeout(()=>t(!0),500);return()=>clearTimeout(r)},[]),e}s(Hh,"useMountStatus");var Bh=(0,Ln.forwardRef)(({children:e,className:t,dragOverlay:r,id:o},n)=>((0,Ln.useEffect)(()=>{if(r)return document.body.style.cursor="grabbing",()=>{document.body.style.cursor=""}},[r]),(0,Ha.jsx)(y1.NodeViewWrapper,{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}))),Dh=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"),C1=s(({node:e})=>{let t=e.attrs.type,r=e.attrs.id,o=Hh();return(0,Ha.jsx)(Bh,{id:r,fadeIn:!o,children:(0,Ha.jsx)("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:(0,Ha.jsx)("div",{className:"courier-text-accent-foreground",children:Dh(t)})})})},"DragPlaceholderComponent");var T1=v1.Node.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(0,x1.ReactNodeViewRenderer)(C1,{as:"div",className:"drag-placeholder-wrapper"})}});var E1=require("@tiptap/core"),fl=require("@tiptap/pm/state"),Fh=new fl.PluginKey("file-handler"),Vh=E1.Extension.create({name:"fileHandler",addOptions(){return{allowedMimeTypes:[],onDrop:()=>{},onPaste:()=>{}}},addProseMirrorPlugins(){let{allowedMimeTypes:e,onDrop:t,onPaste:r}=this.options;return[new fl.Plugin({key:Fh,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)}}})]}}),gl=Vh;var w1=require("@tiptap/core"),hl=require("@tiptap/pm/state");var Oh=new hl.PluginKey("fixedChannelPaste"),Uh=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"),Wh=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"),bl=w1.Extension.create({name:"fixedChannelPaste",addOptions(){return{fixedChannels:["push","sms","inbox"]}},addProseMirrorPlugins(){let e=this.editor;return[new hl.Plugin({key:Oh,props:{handlePaste:(t,r,o)=>{let{state:n}=t,{selection:i}=n;if(!Uh(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=Wh(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}}});var P1=require("@tiptap/core"),Qo=require("@tiptap/pm/state");var Rn=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"),hd=s(e=>!!e.view.dom.closest(".courier-inbox-editor"),"isInInboxChannel"),k1=s(e=>{if(!hd(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"),Hn=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"),yl=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"),Cl=new Qo.PluginKey("fixedChannelSelection"),vl=P1.Extension.create({name:"fixedChannelSelection",addOptions(){return{channels:["push","sms","inbox"]}},addCommands(){return{constrainSelectionToElement:()=>({editor:e,tr:t,dispatch:r})=>{if(!Rn(e,this.options.channels))return!1;let o=Hn(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(Qo.TextSelection.create(t.doc,l,c)),!0}}},addKeyboardShortcuts(){return{"Mod-a":({editor:e})=>{if(!Rn(e,this.options.channels))return!1;let t=Hn(e);if(!t)return!1;let{start:r,end:o}=t;return e.commands.setTextSelection({from:r,to:o}),!0},Backspace:({editor:e})=>{if(!Rn(e,this.options.channels))return!1;if(hd(e)){let{selection:t}=e.state;if(Hn(e)&&t.$anchor.parentOffset===0&&k1(e))return!0}if(yl(e)){let t=Hn(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(!Rn(e,this.options.channels))return!1;if(hd(e)){let{selection:t}=e.state,r=Hn(e);if(r){let o=r.node.textContent;if(t.$anchor.parentOffset===o.length&&k1(e))return!0}}if(yl(e)){let t=Hn(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 Qo.Plugin({key:Cl,props:{handleTextInput:(e,t,r)=>{let o=this.editor;if(!Rn(o,this.options.channels))return!1;if(yl(o)){let n=Hn(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(Qo.TextSelection.create(u.doc,l,c)),e.dispatch(u)}return!0}return!1},handleDOMEvents:{mousedown:(e,t)=>{let r=this.editor;if(!Rn(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(Cl,{elementStart:n.start(i),elementEnd:n.end(i)}));break}i--}}return!1},mousemove:(e,t)=>{let r=this.editor;if(!Rn(r,this.options.channels))return!1;if(e.state.selection.from!==e.state.selection.to&&yl(r)){let n=Cl.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(Qo.TextSelection.create(c.doc,a,l)),e.dispatch(c),!0}}return!1}}},state:{init(){return null},apply(e,t){return e.getMeta(Cl)||t}}})]}});var H1=require("@tiptap/core");var vi=require("@tiptap/core"),N1=vi.Node.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]}`,(0,vi.mergeAttributes)(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=>(0,vi.textblockTypeInputRule)({find:new RegExp(`^(#{${Math.min(...this.options.levels)},${e}})\\s$`),type:this.type,getAttributes:{level:e}}))}});var uo=require("zod"),M1=uo.z.object({paddingVertical:uo.z.number(),paddingHorizontal:uo.z.number(),backgroundColor:uo.z.string(),borderWidth:uo.z.number(),borderColor:uo.z.string(),textAlign:uo.z.enum(["left","center","right","justify"]).default("left"),selected:uo.z.boolean().default(!1),id:uo.z.string().optional()}),pe={paddingVertical:6,paddingHorizontal:0,backgroundColor:"transparent",borderWidth:0,borderColor:"transparent",textAlign:"left",selected:!1};var xl=require("@tiptap/react");var Tl=require("jotai"),S1=require("react");var ko=require("react/jsx-runtime"),A1=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=(0,Tl.useAtomValue)(jt);return(0,ko.jsx)("div",{className:"courier-w-full node-element",children:(0,ko.jsx)("div",{style:{padding:`${e}px ${t}px`,textAlign:r,backgroundColor:o,borderWidth:`${n}px`,borderColor:i,borderStyle:n>0?"solid":"none"},children:(0,ko.jsx)("div",{style:{pointerEvents:u?"none":"auto"},children:(0,ko.jsx)(xl.NodeViewContent,{as:c})})})})},"TextBlockComponent"),El=s(e=>{let t=(0,Tl.useSetAtom)(Xe),r=(0,S1.useCallback)(()=>{if(!e.editor.isEditable)return;let l=pt(e);l&&t(l)},[e,t]),o=!e.node.content||e.node.content.size===0,n=en(e.getPos),i=n!==null?e.editor.state.doc.resolve(n):null;return(i==null?void 0:i.parent.type.name)==="blockquote"?(0,ko.jsx)(xl.NodeViewWrapper,{children:(0,ko.jsx)(A1,{...e.node.attrs,type:e.node.type.name})}):(0,ko.jsx)(It,{id:e.node.attrs.id,className:S(e.node.attrs.isSelected&&"selected-element",o&&"is-empty"),onClick:r,editor:e.editor,children:(0,ko.jsx)(A1,{...e.node.attrs,type:e.node.type.name})})},"TextBlockComponentNode");var I1=require("@hookform/resolvers/zod"),L1=require("react-hook-form");var ue=require("react/jsx-runtime"),R1=s(({element:e,editor:t})=>{let r=(0,L1.useForm)({resolver:(0,I1.zodResolver)(M1),defaultValues:{...pe,...e==null?void 0:e.attrs}}),{updateNodeAttributes:o}=Tt({editor:t,element:e,form:r,nodeType:(e==null?void 0:e.type.name)||"paragraph"});return e?(0,ue.jsxs)(qe,{...r,children:[(0,ue.jsx)(Lt,{type:"text"}),(0,ue.jsxs)("form",{onChange:()=>{o(r.getValues())},children:[(0,ue.jsx)("h4",{className:"courier-text-sm courier-font-medium courier-mb-3",children:"Frame"}),(0,ue.jsxs)("div",{className:"courier-flex courier-flex-row courier-gap-3 courier-mb-3",children:[(0,ue.jsx)(j,{control:r.control,name:"paddingHorizontal",render:({field:n})=>(0,ue.jsxs)(q,{children:[(0,ue.jsx)(J,{children:(0,ue.jsx)(be,{startAdornment:(0,ue.jsx)(oa,{}),type:"number",min:0,...n})}),(0,ue.jsx)(G,{})]})}),(0,ue.jsx)(j,{control:r.control,name:"paddingVertical",render:({field:n})=>(0,ue.jsxs)(q,{children:[(0,ue.jsx)(J,{children:(0,ue.jsx)(be,{startAdornment:(0,ue.jsx)(hn,{}),type:"number",min:0,...n})}),(0,ue.jsx)(G,{})]})})]}),(0,ue.jsx)(j,{control:r.control,name:"backgroundColor",render:({field:n})=>(0,ue.jsxs)(q,{className:"courier-mb-4",children:[(0,ue.jsx)(J,{children:(0,ue.jsx)(xt,{...n,defaultValue:pe.backgroundColor,onChange:i=>{n.onChange(i),o({...r.getValues(),[n.name]:i})}})}),(0,ue.jsx)(G,{})]})}),(0,ue.jsx)(ce,{className:"courier-mb-4"}),(0,ue.jsx)("h4",{className:"courier-text-sm courier-font-medium courier-mb-3",children:"Border"}),(0,ue.jsx)(j,{control:r.control,name:"borderWidth",render:({field:n})=>(0,ue.jsxs)(q,{className:"courier-mb-3",children:[(0,ue.jsx)(J,{children:(0,ue.jsx)(be,{startAdornment:(0,ue.jsx)(xo,{}),type:"number",min:0,...n})}),(0,ue.jsx)(G,{})]})}),(0,ue.jsx)(j,{control:r.control,name:"borderColor",render:({field:n})=>(0,ue.jsxs)(q,{className:"courier-mb-4",children:[(0,ue.jsx)(J,{children:(0,ue.jsx)(xt,{...n,defaultValue:pe.borderColor,onChange:i=>{n.onChange(i),o({...r.getValues(),[n.name]:i})}})}),(0,ue.jsx)(G,{})]})})]})]}):null},"TextBlockForm");var B1=require("@tiptap/react");var bd=N1.extend({addOptions(){var e;return{...(e=this.parent)==null?void 0:e.call(this),HTMLAttributes:{class:""}}},onCreate(){ut(this.editor,this.name)},addAttributes(){var e;return{...(e=this.parent)==null?void 0:e.call(this),paddingVertical:{default:pe.paddingVertical,parseHTML:t=>t.style.paddingTop?parseInt(t.style.paddingTop):pe.paddingVertical,renderHTML:t=>({style:`padding-top: ${t.paddingVertical}px; padding-bottom: ${t.paddingVertical}px;`})},paddingHorizontal:{default:pe.paddingHorizontal,parseHTML:t=>t.style.paddingLeft?parseInt(t.style.paddingLeft):pe.paddingHorizontal,renderHTML:t=>({style:`padding-left: ${t.paddingHorizontal}px; padding-right: ${t.paddingHorizontal}px;`})},textAlign:{default:pe.textAlign,parseHTML:t=>t.style.textAlign||pe.textAlign,renderHTML:t=>({style:`text-align: ${t.textAlign}`})},backgroundColor:{default:pe.backgroundColor,parseHTML:t=>t.style.backgroundColor||pe.backgroundColor,renderHTML:t=>({style:`background-color: ${t.backgroundColor}`})},borderWidth:{default:pe.borderWidth,parseHTML:t=>t.style.borderWidth?parseInt(t.style.borderWidth):pe.borderWidth,renderHTML:t=>({style:`border-width: ${t.borderWidth}px`})},borderColor:{default:pe.borderColor,parseHTML:t=>t.style.borderColor||pe.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]}`,(0,H1.mergeAttributes)(this.options.HTMLAttributes,t),0]},addNodeView(){return(0,B1.ReactNodeViewRenderer)(El)}});var wl=require("@tiptap/core"),F1=require("@tiptap/react");var yd=require("jotai"),Ve=require("react");var Pt=require("react/jsx-runtime"),_h=["image/png","image/jpeg","image/gif","image/webp"],zh=s(({sourcePath:e,alt:t,alignment:r,borderWidth:o,borderColor:n,isUploading:i,width:a,imageNaturalWidth:l,onFileSelect:c,editor:u})=>{let[d,m]=(0,Ve.useState)(!1),[p,f]=(0,Ve.useState)(!0),v=(0,Ve.useRef)(null),h=(0,Ve.useRef)(null);(0,Ve.useEffect)(()=>{e&&f(!0)},[e]),(0,Ve.useEffect)(()=>{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=(0,Ve.useCallback)(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=(0,Ve.useMemo)(()=>b(l),[b,l]),N=(0,Ve.useCallback)(C=>_h.includes(C),[]),g=(0,Ve.useCallback)(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=(0,Ve.useCallback)(C=>{C.preventDefault(),C.stopPropagation(),m(!1)},[]),A=(0,Ve.useCallback)(C=>{C.preventDefault(),C.stopPropagation(),C.dataTransfer.types.includes("Files")&&Array.from(C.dataTransfer.items).some(P=>N(P.type))&&m(!0)},[N]),E=(0,Ve.useCallback)(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=(0,Ve.useCallback)(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=(0,Ve.useCallback)(()=>{var C;(C=v.current)==null||C.click()},[]);return Qa(e)?(0,Pt.jsxs)("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?(0,Pt.jsx)(yn,{className:"courier-w-8 courier-h-8"}):(0,Pt.jsxs)(Pt.Fragment,{children:[(0,Pt.jsx)("span",{className:"courier-text-sm courier-pointer-events-none courier-inline-block",children:"Drag and drop image, or\xA0"}),(0,Pt.jsx)("button",{className:"courier-underline courier-font-medium courier-inline-block courier-text-sm",onClick:w,children:"Browse"})]}),(0,Pt.jsx)("input",{ref:v,type:"file",accept:"image/png, image/jpeg, image/gif, image/webp",className:"courier-hidden",onChange:L})]}):(0,Pt.jsx)("div",{className:"courier-w-full node-element",children:(0,Pt.jsxs)("div",{className:S("courier-relative courier-p-1",(i||p)&&"courier-w-full courier-aspect-[4/3] courier-bg-gray-100"),children:[(i||p)&&(0,Pt.jsx)("div",{className:"courier-absolute courier-inset-0 courier-flex courier-items-center courier-justify-center",children:(0,Pt.jsx)(yn,{className:"courier-w-8 courier-h-8"})}),(0,Pt.jsx)("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"),$h=["image/png","image/jpeg","image/gif","image/webp"],D1=s(e=>{let t=(0,yd.useSetAtom)(Xe),r=(0,yd.useSetAtom)(Q),{uploadImage:o}=qn(),n=(0,Ve.useCallback)(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]);(0,Ve.useEffect)(()=>{var c,u;let l=pt(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=en(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=(0,Ve.useCallback)(()=>{if(!e.editor.isEditable)return;let l=pt(e);l&&(e.editor.commands.blur(),t(l))},[e,t]),a=(0,Ve.useCallback)(async l=>{let c=en(e.getPos);pt(e)&&c!==null&&e.editor.chain().focus().setNodeSelection(c).updateAttributes("imageBlock",{isUploading:!0,sourcePath:""}).run();try{if(!$h.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=en(e.getPos);if(pt(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=en(e.getPos);pt(e)&&p!==null&&e.editor.chain().focus().setNodeSelection(p).updateAttributes("imageBlock",{isUploading:!1}).run()}},[e,n,o,r]);return(0,Pt.jsx)(It,{id:e.node.attrs.id,className:S(e.node.attrs.isSelected&&"selected-element"),onClick:i,editor:e.editor,children:(0,Pt.jsx)(zh,{...e.node.attrs,onFileSelect:a,editor:e.editor})})},"ImageBlockView");var it={sourcePath:"",link:"",alt:"",alignment:"center",width:1,borderWidth:0,borderColor:"transparent",isUploading:!1,imageNaturalWidth:0},kl=wl.Node.create({name:"imageBlock",group:"block",atom:!0,inline:!1,onCreate(){ut(this.editor,this.name)},addOptions(){var e;return{...(e=this.parent)==null?void 0:e.call(this),placeholder:""}},addAttributes(){return{sourcePath:{default:it.sourcePath,parseHTML:e=>e.getAttribute("data-source-path")||"",renderHTML:e=>({"data-source-path":e.sourcePath||""})},link:{default:it.link,parseHTML:e=>e.getAttribute("data-link"),renderHTML:e=>({"data-link":e.link})},alt:{default:it.alt,parseHTML:e=>e.getAttribute("data-alt"),renderHTML:e=>({"data-alt":e.alt})},alignment:{default:it.alignment,parseHTML:e=>e.getAttribute("data-alignment"),renderHTML:e=>({"data-alignment":e.alignment})},width:{default:it.width,parseHTML:e=>e.getAttribute("data-width"),renderHTML:e=>({"data-width":e.width})},imageNaturalWidth:{default:it.imageNaturalWidth,parseHTML:e=>e.getAttribute("data-natural-width"),renderHTML:e=>({"data-natural-width":e.imageNaturalWidth})},borderWidth:{default:it.borderWidth,parseHTML:e=>e.getAttribute("data-border-width"),renderHTML:e=>({"data-border-width":e.borderWidth})},borderColor:{default:it.borderColor,parseHTML:e=>e.getAttribute("data-border-color"),renderHTML:e=>({"data-border-color":e.borderColor})},isUploading:{default:it.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",(0,wl.mergeAttributes)(this.options.HTMLAttributes,e,{"data-type":"image-block"}),0]},addNodeView(){return(0,F1.ReactNodeViewRenderer)(D1)},addCommands(){return{setImageBlock:e=>({chain:t})=>t().insertContent({type:this.name,attrs:{...it,...e}}).run(),setImageBlockAt:({pos:e,src:t})=>({chain:r})=>r().insertContentAt(e,{type:this.name,attrs:{...it,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}}}});var Jr=require("zod"),V1=Jr.z.object({sourcePath:Jr.z.string(),link:Jr.z.string().optional(),alt:Jr.z.string().optional(),alignment:Jr.z.enum(["left","center","right"]),width:Jr.z.number().min(1).max(100),borderWidth:Jr.z.number(),borderColor:Jr.z.string(),isUploading:Jr.z.boolean().optional(),imageNaturalWidth:Jr.z.number()});var O1=require("@hookform/resolvers/zod"),U1=require("jotai"),W1=require("lucide-react"),ft=require("react"),_1=require("react-hook-form");var Pl=require("jotai"),Da=he(require("react"),1),Cd=require("react");var Ba=require("react/jsx-runtime"),tn=Da.forwardRef(({as:e="Input",autoResize:t,onChange:r,...o},n)=>{let i=(0,Cd.useRef)(null),a=(0,Cd.useRef)(null),l=(0,Pl.useSetAtom)(ca),c=(0,Pl.useSetAtom)(lp),u=(0,Pl.useSetAtom)(ys),d=Da.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=Da.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(0,Ba.jsx)("div",{ref:i,className:"courier-relative",children:(0,Ba.jsx)(be,{...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(0,Ba.jsx)("div",{ref:i,className:"courier-relative",children:(0,Ba.jsx)(Yc,{...v})})});tn.displayName="TextInput";var W=require("react/jsx-runtime"),z1=s(({element:e,editor:t})=>{var L,w;let r=(0,ft.useRef)(null),o=(0,ft.useRef)(null),n=(0,ft.useRef)(null),[i,a]=(0,ft.useState)(""),[l,c]=(0,ft.useState)(!1),[u,d]=(0,ft.useState)(((L=e==null?void 0:e.attrs)==null?void 0:L.imageNaturalWidth)||0),[m,p]=(0,ft.useState)(!1),f=(0,U1.useSetAtom)(Q),{uploadImage:v}=qn(),h=(0,_1.useForm)({resolver:(0,O1.zodResolver)(V1),defaultValues:{...it,...e==null?void 0:e.attrs},mode:"onChange"}),{updateNodeAttributes:b}=Tt({editor:t,element:e,form:h,nodeType:"imageBlock"});(0,ft.useEffect)(()=>{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=(0,ft.useCallback)(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=(0,ft.useCallback)(C=>{var T;C.preventDefault(),(T=r.current)==null||T.click()},[]),g=(0,ft.useCallback)((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=(0,ft.useCallback)(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=(0,ft.useCallback)(C=>{n.current&&clearTimeout(n.current),n.current=setTimeout(()=>{k(C)},500)},[k]);(0,ft.useEffect)(()=>()=>{n.current&&clearTimeout(n.current)},[]);let E=h.getValues().sourcePath;return e?(0,W.jsxs)(qe,{...h,children:[(0,W.jsx)(Lt,{type:"image"}),(0,W.jsxs)("form",{ref:o,onChange:()=>{let C=h.getValues();b(C)},children:[(0,W.jsx)("h4",{className:"courier-text-sm courier-font-medium courier-mb-3",children:"Image"}),(0,W.jsxs)(ls,{defaultValue:"file",className:"courier-mb-3 courier-w-full",children:[(0,W.jsxs)(ji,{className:"courier-w-full courier-flex courier-justify-stretch courier-mb-3",children:[(0,W.jsx)(Qn,{value:"file",className:"courier-flex-1",children:"From file"}),(0,W.jsx)(Qn,{value:"url",className:"courier-flex-1",children:"From URL"})]}),(0,W.jsx)(cs,{value:"file",children:(0,W.jsxs)("div",{className:"courier-flex courier-flex-col courier-gap-2",children:[(0,W.jsx)(Se,{onClick:N,className:"courier-w-full",variant:"outline",type:"button",disabled:m,children:m?(0,W.jsx)(W.Fragment,{children:"Uploading..."}):(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(W1.ArrowUp,{strokeWidth:1.25,className:"courier-w-4 courier-h-4 courier-ml-2 courier-text-foreground"}),"Upload image"]})}),(0,W.jsx)("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)}}})]})}),(0,W.jsx)(cs,{value:"url",children:(0,W.jsx)(j,{control:h.control,name:"sourcePath",render:({field:C})=>(0,W.jsxs)(q,{className:"courier-mb-3",children:[(0,W.jsx)(J,{children:(0,W.jsx)(tn,{as:"Textarea",...C,autoResize:!0,className:"courier-max-h-[88px]",onChange:T=>{C.onChange(T),A(T.target.value)}})}),(0,W.jsx)(G,{})]})})})]}),(0,W.jsx)(j,{control:h.control,name:"link",render:({field:C})=>(0,W.jsxs)(q,{className:"courier-mb-3",children:[(0,W.jsx)(J,{children:(0,W.jsx)($r,{placeholder:"Link",value:C.value,onChange:T=>{C.onChange(T),b({...h.getValues(),link:T})}})}),(0,W.jsx)(G,{})]})}),(0,W.jsx)(j,{control:h.control,name:"alt",render:({field:C})=>(0,W.jsxs)(q,{className:"courier-mb-4",children:[(0,W.jsx)(J,{children:(0,W.jsx)($r,{placeholder:"Alt text...",value:C.value,onChange:T=>{C.onChange(T),b({...h.getValues(),alt:T})}})}),(0,W.jsx)(G,{})]})}),(0,W.jsx)(ce,{className:"courier-mt-6 courier-mb-4"}),(0,W.jsx)("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(0,W.jsxs)(Pr,{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:[(0,W.jsx)(_t,{size:"sm",value:"original",className:"courier-w-full courier-h-7",children:"Original"}),(0,W.jsx)(_t,{size:"sm",value:"fill",className:"courier-w-full courier-h-7",disabled:P||!E,children:"Fill"})]})})(),(0,W.jsx)(j,{control:h.control,name:"width",render:({field:C})=>(0,W.jsxs)(q,{className:"courier-flex-1 courier-mb-3",children:[(0,W.jsx)(J,{children:(0,W.jsx)(be,{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)})}}})}),(0,W.jsx)(G,{})]})}),(0,W.jsx)(j,{control:h.control,name:"width",render:({field:C})=>(0,W.jsxs)(q,{className:"courier-flex-1 courier-mb-3",children:[(0,W.jsx)(J,{children:(0,W.jsx)(Gc,{min:0,max:100,value:[E?C.value:0],disabled:!E,onValueChange:T=>{C.onChange(T[0]),b({...h.getValues(),width:T[0]})}})}),(0,W.jsx)(G,{})]})}),(0,W.jsx)(j,{control:h.control,name:"alignment",render:({field:C})=>(0,W.jsxs)(q,{children:[(0,W.jsx)(J,{children:(0,W.jsxs)(Pr,{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:[(0,W.jsx)(_t,{size:"sm",value:"left",className:"courier-w-full",children:(0,W.jsx)(js,{className:"courier-h-4 courier-w-4"})}),(0,W.jsx)(_t,{size:"sm",value:"center",className:"courier-w-full",children:(0,W.jsx)(Gs,{className:"courier-h-4 courier-w-4"})}),(0,W.jsx)(_t,{size:"sm",value:"right",className:"courier-w-full",children:(0,W.jsx)(Ks,{className:"courier-h-4 courier-w-4"})})]})}),(0,W.jsx)(G,{})]})}),(0,W.jsx)(ce,{className:"courier-mt-6 courier-mb-4"}),(0,W.jsx)("h4",{className:"courier-text-sm courier-font-medium courier-mb-3",children:"Border"}),(0,W.jsx)(j,{control:h.control,name:"borderWidth",render:({field:C})=>(0,W.jsxs)(q,{className:"courier-mb-3",children:[(0,W.jsx)(J,{children:(0,W.jsx)(be,{startAdornment:(0,W.jsx)(xo,{}),type:"number",disabled:!E,min:0,...C,onChange:T=>{let x=parseInt(T.target.value)||0;C.onChange(x),b({...h.getValues(),borderWidth:x})}})}),(0,W.jsx)(G,{})]})}),(0,W.jsx)(j,{control:h.control,name:"borderColor",render:({field:C})=>(0,W.jsxs)(q,{className:"courier-mb-4",children:[(0,W.jsx)(J,{children:(0,W.jsx)(xt,{...C,disabled:!E,defaultValue:it.borderColor,onChange:T=>{C.onChange(T),b({...h.getValues(),[C.name]:T})}})}),(0,W.jsx)(G,{})]})})]})]}):null},"ImageBlockForm");var Fa=require("@tiptap/core"),$1=he(require("@tiptap/extension-link"),1),xi=require("@tiptap/pm/state"),vd=$1.default.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",(0,Fa.mergeAttributes)(this.options.HTMLAttributes,e,{class:"link cursor-pointer"}),0]},addProseMirrorPlugins(){var t;return[...((t=this.parent)==null?void 0:t.call(this))||[],new xi.Plugin({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=(0,Fa.getMarkRange)(l,c.type);return u?(r.dispatch(i.tr.setSelection(xi.TextSelection.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(xi.TextSelection.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 xi.Plugin({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=(0,Fa.getMarkRange)(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}})]}});var Z1=require("@hookform/resolvers/zod"),q1=require("jotai"),Ml=require("react"),J1=require("react-hook-form"),Nl=require("zod");var jr=require("react/jsx-runtime"),Zh=Nl.z.object({href:Nl.z.string(),openInNewTab:Nl.z.boolean().default(!1)}),j1=s(({editor:e,mark:t,pendingLink:r})=>{let o=(0,q1.useSetAtom)(Cs),n=(0,Ml.useRef)(null),i=(0,J1.useForm)({resolver:(0,Z1.zodResolver)(Zh),defaultValues:{href:(t==null?void 0:t.attrs.href)||"",openInNewTab:(t==null?void 0:t.attrs.target)==="_blank"||!1}});(0,Ml.useEffect)(()=>{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(0,jr.jsxs)(qe,{...i,children:[(0,jr.jsx)("p",{className:"courier-font-medium courier-mb-4",children:"Link"}),(0,jr.jsx)("div",{className:"courier-space-y-4",children:(0,jr.jsx)(j,{control:i.control,name:"href",render:({field:l})=>(0,jr.jsxs)(q,{children:[(0,jr.jsx)(ao,{children:"URL"}),(0,jr.jsx)(J,{children:(0,jr.jsx)(tn,{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)()}})}),(0,jr.jsx)(G,{})]})})})]})},"LinkForm");var Il=require("@tiptap/react"),Ti=require("prosemirror-state");var Po={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:"'"},Sl={48:")",49:"!",50:"@",51:"#",52:"$",53:"%",54:"^",55:"&",56:"*",57:"(",59:":",61:"+",173:"_",186:":",187:"+",188:"<",189:"_",190:">",191:"?",192:"~",219:"{",220:"|",221:"}",222:'"'},qh=typeof navigator!="undefined"&&/Mac/.test(navigator.platform),Jh=typeof navigator!="undefined"&&/MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent);for(et=0;et<10;et++)Po[48+et]=Po[96+et]=String(et);var et;for(et=1;et<=24;et++)Po[et+111]="F"+et;var et;for(et=65;et<=90;et++)Po[et]=String.fromCharCode(et+32),Sl[et]=String.fromCharCode(et);var et;for(Al in Po)Sl.hasOwnProperty(Al)||(Sl[Al]=Po[Al]);var Al;function G1(e){var t=qh&&e.metaKey&&e.shiftKey&&!e.ctrlKey&&!e.altKey||Jh&&e.shiftKey&&e.key&&e.key.length==1||e.key=="Unidentified",r=!t&&e.key||(e.shiftKey?Sl:Po)[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(G1,"keyName");var K1=require("prosemirror-state");var jh=typeof navigator!="undefined"?/Mac|iP(hone|[oa]d)/.test(navigator.platform):!1;function Gh(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))jh?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(Gh,"normalizeKeyName");function Kh(e){let t=Object.create(null);for(let r in e)t[Gh(r)]=e[r];return t}s(Kh,"normalize");function xd(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(xd,"modifiers");function Y1(e){return new K1.Plugin({props:{handleKeyDown:Yh(e)}})}s(Y1,"keymap");function Yh(e){let t=Kh(e);return function(r,o){let n=G1(o),i,a=t[xd(n,o)];if(a&&a(r.state,r.dispatch,r))return!0;if(n.length==1&&n!=" "){if(o.shiftKey){let l=t[xd(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=Po[o.keyCode])&&i!=n){let l=t[xd(i,o)];if(l&&l(r.state,r.dispatch,r))return!0}}return!1}}s(Yh,"keydownHandler");var X1=require("uuid");var Td=fi.extend({addOptions(){var e;return{...(e=this.parent)==null?void 0:e.call(this),HTMLAttributes:{class:""}}},onCreate(){ut(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-${(0,X1.v4)()}`;e.setNodeMarkup(o,void 0,{...r.attrs,id:n}),t=!0}return!0}),t&&this.editor.view.dispatch(e)},addAttributes(){return{paddingVertical:{default:pe.paddingVertical,parseHTML:e=>e.style.paddingTop?parseInt(e.style.paddingTop):pe.paddingVertical,renderHTML:e=>({"data-padding-vertical":e.paddingVertical})},paddingHorizontal:{default:pe.paddingHorizontal,parseHTML:e=>e.style.paddingLeft?parseInt(e.style.paddingLeft):pe.paddingHorizontal,renderHTML:e=>({"data-padding-horizontal":e.paddingHorizontal})},textAlign:{default:pe.textAlign,parseHTML:e=>e.style.textAlign||pe.textAlign,renderHTML:e=>({"data-text-align":e.textAlign})},backgroundColor:{default:pe.backgroundColor,parseHTML:e=>e.style.backgroundColor||pe.backgroundColor,renderHTML:e=>({"data-background-color":e.backgroundColor})},borderWidth:{default:pe.borderWidth,parseHTML:e=>e.style.borderWidth?parseInt(e.style.borderWidth):pe.borderWidth,renderHTML:e=>({"data-border-width":e.borderWidth})},borderColor:{default:pe.borderColor,parseHTML:e=>e.style.borderColor||pe.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",(0,Il.mergeAttributes)(this.options.HTMLAttributes,e,{"data-type":"paragraph"}),0]},addNodeView(){return(0,Il.ReactNodeViewRenderer)(El)},addProseMirrorPlugins(){return[Y1({"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(Ti.TextSelection.create(t.doc,i,a)),!0}return!1}}),new Ti.Plugin({key:new Ti.PluginKey("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()}}});var Q1=require("@tiptap/core"),Ll=require("@tiptap/pm/state"),Xh=new Ll.PluginKey("selection"),Ed=Q1.Extension.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 Ll.Plugin({key:Xh,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}}})]}});var eg=require("react"),tg=require("react/jsx-runtime"),wd=(0,eg.forwardRef)(({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(0,tg.jsx)("div",{className:a,...n,ref:i,children:e})});wd.displayName="Surface";var rg=require("uuid");var Qh=s((e,t)=>{let r=null;return e.state.doc.descendants((o,n)=>o.attrs.id===t?(r=n,!1):!0),r},"findNodePositionById"),og=s((e,t,r,o,n,i)=>{let a=`node-${(0,rg.v4)()}`,c={heading:()=>e.schema.nodes.heading.create({...pe,...o,id:a},i),paragraph:()=>e.schema.nodes.paragraph.create({...pe,...o,id:a},i),text:()=>e.schema.nodes.paragraph.create({...pe,...o,id:a},i),spacer:()=>e.schema.nodes.divider.create({...pl,...o,id:a}),divider:()=>e.schema.nodes.divider.create({...vr,...o,id:a}),button:()=>e.schema.nodes.button.create({...Ge,...o,id:a},i),imageBlock:()=>e.schema.nodes.imageBlock.create({...it,...o,id:a}),image:()=>e.schema.nodes.imageBlock.create({...it,...o,id:a}),customCode:()=>e.schema.nodes.customCode.create({...wo,...o,id:a}),column:()=>e.schema.nodes.column.create({...wt,...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=Qh(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 en=s(e=>{let t=e();return typeof t=="number"?t:null},"safeGetPos"),pt=s(e=>{let t=en(e.getPos);return t===null?null:e.editor.state.doc.nodeAt(t)},"safeGetNodeAtPos");var ng=require("lucide-react"),ig=require("react"),Ld=require("react/jsx-runtime"),ag=(0,ig.forwardRef)((e,t)=>(0,Ld.jsx)("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:(0,Ld.jsx)(ng.GripVertical,{strokeWidth:1,className:"courier-w-5 courier-stroke-neutral-400 courier-fill-neutral-400 courier-pointer-events-none"})}));var Rl=require("jotai"),tr=require("react"),cg=require("uuid");var sg=require("react");var lg=s((e,t,r)=>(0,sg.useMemo)(()=>{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 Hl=s((e,t,r)=>{let o=(0,Rl.useSetAtom)(Xe),n=(0,Rl.useAtomValue)(ye),i=lg(t,e,r),a=(0,tr.useCallback)(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=(0,tr.useCallback)((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=(0,tr.useCallback)(()=>{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=(0,tr.useCallback)(()=>{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=(0,tr.useCallback)(()=>{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=(0,tr.useCallback)(()=>{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=(0,tr.useCallback)(()=>{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=(0,tr.useCallback)(()=>e.chain().focus().setTextAlign("left").run(),[e]),v=(0,tr.useCallback)(()=>e.chain().focus().setTextAlign("center").run(),[e]),h=(0,tr.useCallback)(()=>e.chain().focus().setTextAlign("right").run(),[e]),b=(0,tr.useCallback)(()=>e.chain().focus().setTextAlign("justify").run(),[e]),y=(0,tr.useCallback)((g,k)=>e.chain().focus().setLink({href:g,target:k?"_blank":""}).run(),[e]),N=(0,tr.useCallback)(()=>{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-${(0,cg.v4)()}`,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");var Bl=require("react/jsx-runtime"),eb=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"),Dl=s(({type:e})=>(0,Bl.jsx)("div",{className:"courier-flex courier-w-full courier-pointer-events-none",children:(0,Bl.jsx)("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:(0,Bl.jsx)("div",{className:"courier-text-accent-foreground dark:courier-text-accent",children:eb(e)})})}),"DropIndicatorPlaceholder");var Ke=require("react/jsx-runtime");function tb(){let[e,t]=(0,Pe.useState)(!1);return(0,Pe.useEffect)(()=>{let r=setTimeout(()=>t(!0),500);return()=>clearTimeout(r)},[]),e}s(tb,"useMountStatus");var It=s(({children:e,id:t,className:r,editor:o,getPos:n,...i})=>{let a=(0,Pe.useRef)(null),l=(0,Pe.useRef)(null),c=(0,Pe.useRef)(null),[u,d]=(0,Pe.useState)(!1),[m,p]=(0,Pe.useState)(null),[f,v]=(0,Pe.useState)(null),h=(0,Pe.useRef)(null),b=(0,Pe.useRef)(!1),y=(0,Pe.useRef)(null),N=(0,Pe.useRef)(null),g=(0,Pe.useRef)(null),k=tb(),A=u&&!k,E=(0,Pe.useCallback)(()=>{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=(0,Pe.useCallback)(()=>{if(!o)return!1;let w=E();return!w||!w.parent?!1:w.index===w.parent.childCount-1},[o,E]);return(0,Pe.useEffect)(()=>{let w=a.current,C=l.current;if(!w)return;let T=co(ga({element:w,dragHandle:C||void 0,getInitialData:()=>{var I,H,V,F,O,B;let x=E(),P="text";if(x){let z=x.node;switch(z.type.name){case"heading":P="heading";break;case"paragraph":P="text";break;case"imageBlock":P="image";break;case"divider":P=(I=z.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)}}),br({element:w,getData:({input:x,element:P})=>{var B,z,_,se;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:(z=M==null?void 0:M.index)!=null?z:0,pos:M==null?void 0:M.pos,nodeType:M==null?void 0:M.node.type.name,columnId:I?(_=M==null?void 0:M.parent)==null?void 0:_.attrs.columnId:void 0,cellIndex:I?(se=M==null?void 0:M.parent)==null?void 0:se.attrs.index:void 0};if(P.getAttribute("data-node-type")==="column"){let re=P.getBoundingClientRect(),Y=x.clientY,D=30,Z=Math.abs(Y-re.top),ie=Math.abs(Y-re.bottom);if(Z>D&&ie>D)return{...H,disableDropIndicator:!0}}let F=P.closest('[data-column-cell="true"]');if(L()&&w){let re=w.getBoundingClientRect(),Y=x.clientY,D=re.top+re.height/2;if(Y>=D&&Y>re.bottom)return{...H,[Symbol.for("closestEdge")]:"bottom"}}let O=L()?["top","bottom"]:["top"];return tf(H,{input:x,element:P,allowedEdges:O})},canDrop:({source:x})=>x.data.id!==t,onDragEnter:({self:x,source:P,location:M})=>{var z,_,se,re,Y;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=ha(x.data),H=I,V=L(),F=(se=(_=(z=M==null?void 0:M.current)==null?void 0:z.input)==null?void 0:_.clientY)!=null?se: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(),ie=(re=F!=null?F:N.current)!=null?re:Z.top+Z.height/2,Me=Z.top+Z.height/2,$e=Z.height,Je=Math.max(10,Math.min(30,$e*.3));ie<Me-Je?(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();((Y=Z==null?void 0:Z.index)!=null?Y:0)===D+1&&I==="top"&&(H=null)}H!==h.current&&(h.current=H,p(H))},onDrag:({self:x,source:P,location:M})=>{var z,_,se,re,Y;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=(se=(_=(z=M==null?void 0:M.current)==null?void 0:z.input)==null?void 0:_.clientY)!=null?se:N.current;I!==null&&(N.current=I);let H=ha(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(),ie=(re=I!=null?I:N.current)!=null?re:Z.top+Z.height/2,Me=Z.top+Z.height/2,$e=Z.height,Je=Math.max(10,Math.min(30,$e*.3));ie<Me-Je?(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();((Y=Z==null?void 0:Z.index)!=null?Y: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]),(0,Ke.jsx)(rb,{ref:a,id:t,fadeIn:A,className:r,dragging:u,closestEdge:m,dragType:f,handleRef:l,contentRef:c,editor:o,...i,children:e})},"SortableItemWrapper"),rb=(0,Pe.forwardRef)(({children:e,className:t,dragOverlay:r,handleRef:o,contentRef:n,closestEdge:i,dragType:a,id:l,editor:c,fadeIn:u,dragging:d,...m},p)=>{(0,Pe.useEffect)(()=>{if(r)return document.body.style.cursor="grabbing",()=>{document.body.style.cursor=""}},[r]);let f=(0,dg.useSetAtom)(ye),{resetButtonFormatting:v}=Hl(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=(0,Pe.useCallback)(()=>{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=(0,Pe.useCallback)(()=>{c.commands.blur(),f(null)},[c,f]),N=(0,Pe.useCallback)(()=>{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-${(0,mg.v4)()}`,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=(0,Pe.useCallback)(()=>{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";w||y(),setTimeout(()=>{let C=c.chain();if(C.setNodeSelection(L).unsetAllMarks(),w&&E.content&&E.content.firstChild?E.content.firstChild.type.name!=="paragraph"&&C.setParagraph():E.type.name!=="paragraph"&&!w&&C.setParagraph(),C.run(),w){let T=b();T.node&&T.pos!==null&&(f(T.node),c.commands.updateSelectionState(T.node))}},100)}catch(E){console.error("Error removing formatting:",E)}},[c,l,b,y,v,f]),k=(0,Pe.useCallback)(()=>{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);og(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(0,Ke.jsxs)(ug.NodeViewWrapper,{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"&&(0,Ke.jsx)(Dl,{type:a}),(0,Ke.jsxs)("div",{className:"courier-flex courier-items-center courier-justify-center courier-gap-2 courier-pl-10",children:[(0,Ke.jsx)(ag,{ref:o,className:"courier-absolute courier-left-[-8px]",tabIndex:-1,"data-no-drag-preview":!0}),(0,Ke.jsx)("div",{ref:n,className:"courier-flex-1 courier-grow draggable-content-wrapper",children:e}),(0,Ke.jsxs)("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"&&(0,Ke.jsxs)(Ke.Fragment,{children:[(0,Ke.jsx)("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:(0,Ke.jsx)(Nu,{color:"currentColor"})}),(0,Ke.jsx)(ce,{className:"!courier-my-0"})]}),(0,Ke.jsx)("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:(0,Ke.jsx)(su,{color:"currentColor"})}),(0,Ke.jsx)(ce,{className:"!courier-my-0"}),(0,Ke.jsx)("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:(0,Ke.jsx)(Gi,{color:"currentColor"})})]})]}),i==="bottom"&&(0,Ke.jsx)(Dl,{type:a})]})});var Bn=require("react/jsx-runtime"),ob=s(({alignment:e,backgroundColor:t,textColor:r,borderRadius:o,padding:n,fontWeight:i,fontStyle:a,children:l})=>(0,Bn.jsx)("div",{className:"courier-w-full node-element",children:(0,Bn.jsx)("div",{className:"courier-flex",children:(0,Bn.jsx)("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"),hg=s(e=>{let t=(0,fg.useSetAtom)(Xe),r=(0,gg.useCallback)(()=>{if(!e.editor.isEditable)return;let o=pt(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(0,Bn.jsx)(It,{id:e.node.attrs.id,className:S(e.node.attrs.isSelected&&"selected-element"),onClick:r,editor:e.editor,"data-node-type":"button",children:(0,Bn.jsx)(ob,{...e.node.attrs,children:(0,Bn.jsx)(pg.NodeViewContent,{as:"span"})})})},"ButtonComponentNode");var yg=require("uuid");var Ge={label:"Button",link:"",alignment:"center",backgroundColor:"#0085FF",borderRadius:0,padding:6,fontWeight:"normal",fontStyle:"normal",isUnderline:!1,isStrike:!1,textColor:"#ffffff",borderColor:"transparent"},Ys=Fl.Node.create({name:"button",group:"block",content:"inline*",selectable:!1,isolating:!0,onCreate(){ut(this.editor,this.name)},addAttributes(){return{label:{default:Ge.label,parseHTML:e=>e.getAttribute("data-label"),renderHTML:e=>({"data-label":e.label})},link:{default:Ge.link,parseHTML:e=>e.getAttribute("data-link"),renderHTML:e=>({"data-link":e.link})},alignment:{default:Ge.alignment,parseHTML:e=>e.getAttribute("data-alignment"),renderHTML:e=>({"data-alignment":e.alignment})},backgroundColor:{default:Ge.backgroundColor,parseHTML:e=>e.getAttribute("data-background-color"),renderHTML:e=>({"data-background-color":e.backgroundColor})},textColor:{default:Ge.textColor,parseHTML:e=>e.getAttribute("data-text-color"),renderHTML:e=>({"data-text-color":e.textColor})},borderRadius:{default:Ge.borderRadius,parseHTML:e=>e.getAttribute("data-border-radius"),renderHTML:e=>({"data-border-radius":e.borderRadius})},borderColor:{default:Ge.borderColor,parseHTML:e=>e.getAttribute("data-border-color"),renderHTML:e=>({"data-border-color":e.borderColor})},padding:{default:Ge.padding,parseHTML:e=>e.getAttribute("data-padding"),renderHTML:e=>({"data-padding":e.padding})},fontWeight:{default:Ge.fontWeight,parseHTML:e=>e.getAttribute("data-font-weight"),renderHTML:e=>({"data-font-weight":e.fontWeight})},fontStyle:{default:Ge.fontStyle,parseHTML:e=>e.getAttribute("data-font-style"),renderHTML:e=>({"data-font-style":e.fontStyle})},isUnderline:{default:Ge.isUnderline,parseHTML:e=>e.getAttribute("data-is-underline"),renderHTML:e=>({"data-is-underline":e.isUnderline})},isStrike:{default:Ge.isStrike,parseHTML:e=>e.getAttribute("data-is-strike"),renderHTML:e=>({"data-is-strike":e.isStrike})},id:{default:()=>`node-${(0,yg.v4)()}`,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",(0,Fl.mergeAttributes)(this.options.HTMLAttributes,e,{"data-type":"button"}),0]},addNodeView(){return(0,bg.ReactNodeViewRenderer)(hg)},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()}}});var Cg=require("uuid"),rn=require("jotai"),Nt=require("react");var Ei=s(({items:e,setItems:t,editor:r})=>{let[o]=(0,Nt.useState)(null),[n,i]=(0,Nt.useState)(null),[a,l]=(0,Nt.useState)(null),[c]=(0,Nt.useState)("outer"),u=(0,Nt.useRef)([]),d=(0,Nt.useRef)([]),m=(0,rn.useAtomValue)(He),p=(0,rn.useSetAtom)(jt),[f,v]=(0,rn.useAtom)(ee),h=(0,rn.useSetAtom)(je),b=(0,rn.useAtomValue)(Uo),y=r||m,N=(0,Nt.useCallback)(()=>{if(!y)return;let w=y.getJSON(),C=de(w),T=ct(f,{channel:b,elements:C});v(T),h(T)},[y,b,f,v,h]),g=(0,Nt.useCallback)(()=>{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=(0,Nt.useCallback)(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=(0,Nt.useCallback)(w=>{let C={};switch(w){case"text":C=pe;break;case"heading":C={};break;case"image":C=it;break;case"button":C=Ge;break;case"divider":C=vr;break;case"spacer":C=pl;break;case"customCode":C=wo;break;case"column":C=wt;break}let x={type:w==="text"?"paragraph":w==="image"?"imageBlock":w==="spacer"?"divider":w,attrs:{...C,id:(0,Cg.v4)()}};return w==="button"&&(x.content=[{type:"text",text:"Button"}]),x},[]),E=(0,Nt.useCallback)((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,z)=>B.attrs.id===w.id?(I=z,M=B.toJSON(),R=B.nodeSize,!1):!0),I===-1){let B=e.Editor.findIndex(z=>z===w.id);if(B!==-1){I=k(B);let z=y.state.doc.nodeAt(I);z&&(M=z.toJSON(),R=z.nodeSize)}}if(I!==-1){let B=e.Editor.filter(z=>z!==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,z)=>B.type.name==="column"&&B.attrs.id===T?(H=z,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,z=Array.from({length:F.attrs.columnsCount},(se,re)=>B.nodes.columnCell.create({index:re,columnId:T,isEditorMode:!1},re===x?[B.nodeFromJSON(M)]:[])),_=B.nodes.columnRow.create({},z);O.replaceWith(H+1,H+F.nodeSize-1,_)}else{let B=H+1;F.content.forEach(z=>{if(z.type.name==="columnRow"){let _=B+1;z.content.forEach((se,re,Y)=>{if(Y===x){let D=_+se.nodeSize-1;O.insert(D,y.schema.nodeFromJSON(M))}_+=se.nodeSize})}B+=z.nodeSize})}y.view.dispatch(O),N()},[y,e,t,k,A,N]),L=(0,Nt.useCallback)((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(0,Nt.useEffect)(()=>Qu({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=ha(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((se,re)=>{let Y=se.top+se.height/2,D=Math.abs(H-Y);D<F&&(F=D,V=re)});let O=d.current[V],B=O.top+O.height/2,_=H>=B?V:V-1;M={...M,index:_,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");var Vl=require("react");var vg=require("jotai");var Ol=s(({setItems:e,rafId:t,editor:r})=>{let o=(0,vg.useAtomValue)(He),n=r||o,i=(0,Vl.useCallback)(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(0,Vl.useEffect)(()=>{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");var wi=require("react/jsx-runtime"),Va=[{type:"text",align:"left",content:`
186
+ `).trim()},"extractTextFromSlice"),bl=w1.Extension.create({name:"fixedChannelPaste",addOptions(){return{fixedChannels:["push","sms","inbox"]}},addProseMirrorPlugins(){let e=this.editor;return[new hl.Plugin({key:Oh,props:{handlePaste:(t,r,o)=>{let{state:n}=t,{selection:i}=n;if(!Uh(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=Wh(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}}});var P1=require("@tiptap/core"),Qo=require("@tiptap/pm/state");var Rn=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"),hd=s(e=>!!e.view.dom.closest(".courier-inbox-editor"),"isInInboxChannel"),k1=s(e=>{if(!hd(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"),Hn=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"),yl=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"),Cl=new Qo.PluginKey("fixedChannelSelection"),vl=P1.Extension.create({name:"fixedChannelSelection",addOptions(){return{channels:["push","sms","inbox"]}},addCommands(){return{constrainSelectionToElement:()=>({editor:e,tr:t,dispatch:r})=>{if(!Rn(e,this.options.channels))return!1;let o=Hn(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(Qo.TextSelection.create(t.doc,l,c)),!0}}},addKeyboardShortcuts(){return{"Mod-a":({editor:e})=>{if(!Rn(e,this.options.channels))return!1;let t=Hn(e);if(!t)return!1;let{start:r,end:o}=t;return e.commands.setTextSelection({from:r,to:o}),!0},Backspace:({editor:e})=>{if(!Rn(e,this.options.channels))return!1;if(hd(e)){let{selection:t}=e.state;if(Hn(e)&&t.$anchor.parentOffset===0&&k1(e))return!0}if(yl(e)){let t=Hn(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(!Rn(e,this.options.channels))return!1;if(hd(e)){let{selection:t}=e.state,r=Hn(e);if(r){let o=r.node.textContent;if(t.$anchor.parentOffset===o.length&&k1(e))return!0}}if(yl(e)){let t=Hn(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 Qo.Plugin({key:Cl,props:{handleTextInput:(e,t,r)=>{let o=this.editor;if(!Rn(o,this.options.channels))return!1;if(yl(o)){let n=Hn(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(Qo.TextSelection.create(u.doc,l,c)),e.dispatch(u)}return!0}return!1},handleDOMEvents:{mousedown:(e,t)=>{let r=this.editor;if(!Rn(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(Cl,{elementStart:n.start(i),elementEnd:n.end(i)}));break}i--}}return!1},mousemove:(e,t)=>{let r=this.editor;if(!Rn(r,this.options.channels))return!1;if(e.state.selection.from!==e.state.selection.to&&yl(r)){let n=Cl.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(Qo.TextSelection.create(c.doc,a,l)),e.dispatch(c),!0}}return!1}}},state:{init(){return null},apply(e,t){return e.getMeta(Cl)||t}}})]}});var H1=require("@tiptap/core");var vi=require("@tiptap/core"),N1=vi.Node.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]}`,(0,vi.mergeAttributes)(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=>(0,vi.textblockTypeInputRule)({find:new RegExp(`^(#{${Math.min(...this.options.levels)},${e}})\\s$`),type:this.type,getAttributes:{level:e}}))}});var uo=require("zod"),M1=uo.z.object({paddingVertical:uo.z.number(),paddingHorizontal:uo.z.number(),backgroundColor:uo.z.string(),borderWidth:uo.z.number(),borderColor:uo.z.string(),textAlign:uo.z.enum(["left","center","right","justify"]).default("left"),selected:uo.z.boolean().default(!1),id:uo.z.string().optional()}),pe={paddingVertical:6,paddingHorizontal:0,backgroundColor:"transparent",borderWidth:0,borderColor:"transparent",textAlign:"left",selected:!1};var xl=require("@tiptap/react");var Tl=require("jotai"),S1=require("react");var ko=require("react/jsx-runtime"),A1=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=(0,Tl.useAtomValue)(jt);return(0,ko.jsx)("div",{className:"courier-w-full node-element",children:(0,ko.jsx)("div",{style:{padding:`${e}px ${t}px`,textAlign:r,backgroundColor:o,borderWidth:`${n}px`,borderColor:i,borderStyle:n>0?"solid":"none"},children:(0,ko.jsx)("div",{style:{pointerEvents:u?"none":"auto"},children:(0,ko.jsx)(xl.NodeViewContent,{as:c})})})})},"TextBlockComponent"),El=s(e=>{let t=(0,Tl.useSetAtom)(Xe),r=(0,S1.useCallback)(()=>{if(!e.editor.isEditable)return;let l=pt(e);l&&t(l)},[e,t]),o=!e.node.content||e.node.content.size===0,n=en(e.getPos),i=n!==null?e.editor.state.doc.resolve(n):null;return(i==null?void 0:i.parent.type.name)==="blockquote"?(0,ko.jsx)(xl.NodeViewWrapper,{children:(0,ko.jsx)(A1,{...e.node.attrs,type:e.node.type.name})}):(0,ko.jsx)(It,{id:e.node.attrs.id,className:S(e.node.attrs.isSelected&&"selected-element",o&&"is-empty"),onClick:r,editor:e.editor,children:(0,ko.jsx)(A1,{...e.node.attrs,type:e.node.type.name})})},"TextBlockComponentNode");var I1=require("@hookform/resolvers/zod"),L1=require("react-hook-form");var ue=require("react/jsx-runtime"),R1=s(({element:e,editor:t})=>{let r=(0,L1.useForm)({resolver:(0,I1.zodResolver)(M1),defaultValues:{...pe,...e==null?void 0:e.attrs}}),{updateNodeAttributes:o}=Tt({editor:t,element:e,form:r,nodeType:(e==null?void 0:e.type.name)||"paragraph"});return e?(0,ue.jsxs)(qe,{...r,children:[(0,ue.jsx)(Lt,{type:"text"}),(0,ue.jsxs)("form",{onChange:()=>{o(r.getValues())},children:[(0,ue.jsx)("h4",{className:"courier-text-sm courier-font-medium courier-mb-3",children:"Frame"}),(0,ue.jsxs)("div",{className:"courier-flex courier-flex-row courier-gap-3 courier-mb-3",children:[(0,ue.jsx)(j,{control:r.control,name:"paddingHorizontal",render:({field:n})=>(0,ue.jsxs)(q,{children:[(0,ue.jsx)(J,{children:(0,ue.jsx)(be,{startAdornment:(0,ue.jsx)(oa,{}),type:"number",min:0,...n})}),(0,ue.jsx)(G,{})]})}),(0,ue.jsx)(j,{control:r.control,name:"paddingVertical",render:({field:n})=>(0,ue.jsxs)(q,{children:[(0,ue.jsx)(J,{children:(0,ue.jsx)(be,{startAdornment:(0,ue.jsx)(hn,{}),type:"number",min:0,...n})}),(0,ue.jsx)(G,{})]})})]}),(0,ue.jsx)(j,{control:r.control,name:"backgroundColor",render:({field:n})=>(0,ue.jsxs)(q,{className:"courier-mb-4",children:[(0,ue.jsx)(J,{children:(0,ue.jsx)(xt,{...n,defaultValue:pe.backgroundColor,onChange:i=>{n.onChange(i),o({...r.getValues(),[n.name]:i})}})}),(0,ue.jsx)(G,{})]})}),(0,ue.jsx)(ce,{className:"courier-mb-4"}),(0,ue.jsx)("h4",{className:"courier-text-sm courier-font-medium courier-mb-3",children:"Border"}),(0,ue.jsx)(j,{control:r.control,name:"borderWidth",render:({field:n})=>(0,ue.jsxs)(q,{className:"courier-mb-3",children:[(0,ue.jsx)(J,{children:(0,ue.jsx)(be,{startAdornment:(0,ue.jsx)(xo,{}),type:"number",min:0,...n})}),(0,ue.jsx)(G,{})]})}),(0,ue.jsx)(j,{control:r.control,name:"borderColor",render:({field:n})=>(0,ue.jsxs)(q,{className:"courier-mb-4",children:[(0,ue.jsx)(J,{children:(0,ue.jsx)(xt,{...n,defaultValue:pe.borderColor,onChange:i=>{n.onChange(i),o({...r.getValues(),[n.name]:i})}})}),(0,ue.jsx)(G,{})]})})]})]}):null},"TextBlockForm");var B1=require("@tiptap/react");var bd=N1.extend({addOptions(){var e;return{...(e=this.parent)==null?void 0:e.call(this),HTMLAttributes:{class:""}}},onCreate(){ut(this.editor,this.name)},addAttributes(){var e;return{...(e=this.parent)==null?void 0:e.call(this),paddingVertical:{default:pe.paddingVertical,parseHTML:t=>t.style.paddingTop?parseInt(t.style.paddingTop):pe.paddingVertical,renderHTML:t=>({style:`padding-top: ${t.paddingVertical}px; padding-bottom: ${t.paddingVertical}px;`})},paddingHorizontal:{default:pe.paddingHorizontal,parseHTML:t=>t.style.paddingLeft?parseInt(t.style.paddingLeft):pe.paddingHorizontal,renderHTML:t=>({style:`padding-left: ${t.paddingHorizontal}px; padding-right: ${t.paddingHorizontal}px;`})},textAlign:{default:pe.textAlign,parseHTML:t=>t.style.textAlign||pe.textAlign,renderHTML:t=>({style:`text-align: ${t.textAlign}`})},backgroundColor:{default:pe.backgroundColor,parseHTML:t=>t.style.backgroundColor||pe.backgroundColor,renderHTML:t=>({style:`background-color: ${t.backgroundColor}`})},borderWidth:{default:pe.borderWidth,parseHTML:t=>t.style.borderWidth?parseInt(t.style.borderWidth):pe.borderWidth,renderHTML:t=>({style:`border-width: ${t.borderWidth}px`})},borderColor:{default:pe.borderColor,parseHTML:t=>t.style.borderColor||pe.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]}`,(0,H1.mergeAttributes)(this.options.HTMLAttributes,t),0]},addNodeView(){return(0,B1.ReactNodeViewRenderer)(El)}});var wl=require("@tiptap/core"),F1=require("@tiptap/react");var yd=require("jotai"),Ve=require("react");var Pt=require("react/jsx-runtime"),_h=["image/png","image/jpeg","image/gif","image/webp"],zh=s(({sourcePath:e,alt:t,alignment:r,borderWidth:o,borderColor:n,isUploading:i,width:a,imageNaturalWidth:l,onFileSelect:c,editor:u})=>{let[d,m]=(0,Ve.useState)(!1),[p,f]=(0,Ve.useState)(!0),v=(0,Ve.useRef)(null),h=(0,Ve.useRef)(null);(0,Ve.useEffect)(()=>{e&&f(!0)},[e]),(0,Ve.useEffect)(()=>{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=(0,Ve.useCallback)(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=(0,Ve.useMemo)(()=>b(l),[b,l]),N=(0,Ve.useCallback)(C=>_h.includes(C),[]),g=(0,Ve.useCallback)(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=(0,Ve.useCallback)(C=>{C.preventDefault(),C.stopPropagation(),m(!1)},[]),A=(0,Ve.useCallback)(C=>{C.preventDefault(),C.stopPropagation(),C.dataTransfer.types.includes("Files")&&Array.from(C.dataTransfer.items).some(P=>N(P.type))&&m(!0)},[N]),E=(0,Ve.useCallback)(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=(0,Ve.useCallback)(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=(0,Ve.useCallback)(()=>{var C;(C=v.current)==null||C.click()},[]);return Qa(e)?(0,Pt.jsxs)("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?(0,Pt.jsx)(yn,{className:"courier-w-8 courier-h-8"}):(0,Pt.jsxs)(Pt.Fragment,{children:[(0,Pt.jsx)("span",{className:"courier-text-sm courier-pointer-events-none courier-inline-block",children:"Drag and drop image, or\xA0"}),(0,Pt.jsx)("button",{className:"courier-underline courier-font-medium courier-inline-block courier-text-sm",onClick:w,children:"Browse"})]}),(0,Pt.jsx)("input",{ref:v,type:"file",accept:"image/png, image/jpeg, image/gif, image/webp",className:"courier-hidden",onChange:L})]}):(0,Pt.jsx)("div",{className:"courier-w-full node-element",children:(0,Pt.jsxs)("div",{className:S("courier-relative courier-p-1",(i||p)&&"courier-w-full courier-aspect-[4/3] courier-bg-gray-100"),children:[(i||p)&&(0,Pt.jsx)("div",{className:"courier-absolute courier-inset-0 courier-flex courier-items-center courier-justify-center",children:(0,Pt.jsx)(yn,{className:"courier-w-8 courier-h-8"})}),(0,Pt.jsx)("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"),$h=["image/png","image/jpeg","image/gif","image/webp"],D1=s(e=>{let t=(0,yd.useSetAtom)(Xe),r=(0,yd.useSetAtom)(Q),{uploadImage:o}=qn(),n=(0,Ve.useCallback)(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]);(0,Ve.useEffect)(()=>{var c,u;let l=pt(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=en(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=(0,Ve.useCallback)(()=>{if(!e.editor.isEditable)return;let l=pt(e);l&&(e.editor.commands.blur(),t(l))},[e,t]),a=(0,Ve.useCallback)(async l=>{let c=en(e.getPos);pt(e)&&c!==null&&e.editor.chain().focus().setNodeSelection(c).updateAttributes("imageBlock",{isUploading:!0,sourcePath:""}).run();try{if(!$h.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=en(e.getPos);if(pt(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=en(e.getPos);pt(e)&&p!==null&&e.editor.chain().focus().setNodeSelection(p).updateAttributes("imageBlock",{isUploading:!1}).run()}},[e,n,o,r]);return(0,Pt.jsx)(It,{id:e.node.attrs.id,className:S(e.node.attrs.isSelected&&"selected-element"),onClick:i,editor:e.editor,children:(0,Pt.jsx)(zh,{...e.node.attrs,onFileSelect:a,editor:e.editor})})},"ImageBlockView");var it={sourcePath:"",link:"",alt:"",alignment:"center",width:1,borderWidth:0,borderColor:"transparent",isUploading:!1,imageNaturalWidth:0},kl=wl.Node.create({name:"imageBlock",group:"block",atom:!0,inline:!1,onCreate(){ut(this.editor,this.name)},addOptions(){var e;return{...(e=this.parent)==null?void 0:e.call(this),placeholder:""}},addAttributes(){return{sourcePath:{default:it.sourcePath,parseHTML:e=>e.getAttribute("data-source-path")||"",renderHTML:e=>({"data-source-path":e.sourcePath||""})},link:{default:it.link,parseHTML:e=>e.getAttribute("data-link"),renderHTML:e=>({"data-link":e.link})},alt:{default:it.alt,parseHTML:e=>e.getAttribute("data-alt"),renderHTML:e=>({"data-alt":e.alt})},alignment:{default:it.alignment,parseHTML:e=>e.getAttribute("data-alignment"),renderHTML:e=>({"data-alignment":e.alignment})},width:{default:it.width,parseHTML:e=>e.getAttribute("data-width"),renderHTML:e=>({"data-width":e.width})},imageNaturalWidth:{default:it.imageNaturalWidth,parseHTML:e=>e.getAttribute("data-natural-width"),renderHTML:e=>({"data-natural-width":e.imageNaturalWidth})},borderWidth:{default:it.borderWidth,parseHTML:e=>e.getAttribute("data-border-width"),renderHTML:e=>({"data-border-width":e.borderWidth})},borderColor:{default:it.borderColor,parseHTML:e=>e.getAttribute("data-border-color"),renderHTML:e=>({"data-border-color":e.borderColor})},isUploading:{default:it.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",(0,wl.mergeAttributes)(this.options.HTMLAttributes,e,{"data-type":"image-block"}),0]},addNodeView(){return(0,F1.ReactNodeViewRenderer)(D1)},addCommands(){return{setImageBlock:e=>({chain:t})=>t().insertContent({type:this.name,attrs:{...it,...e}}).run(),setImageBlockAt:({pos:e,src:t})=>({chain:r})=>r().insertContentAt(e,{type:this.name,attrs:{...it,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}}}});var Jr=require("zod"),V1=Jr.z.object({sourcePath:Jr.z.string(),link:Jr.z.string().optional(),alt:Jr.z.string().optional(),alignment:Jr.z.enum(["left","center","right"]),width:Jr.z.number().min(1).max(100),borderWidth:Jr.z.number(),borderColor:Jr.z.string(),isUploading:Jr.z.boolean().optional(),imageNaturalWidth:Jr.z.number()});var O1=require("@hookform/resolvers/zod"),U1=require("jotai"),W1=require("lucide-react"),ft=require("react"),_1=require("react-hook-form");var Pl=require("jotai"),Da=he(require("react"),1),Cd=require("react");var Ba=require("react/jsx-runtime"),tn=Da.forwardRef(({as:e="Input",autoResize:t,onChange:r,...o},n)=>{let i=(0,Cd.useRef)(null),a=(0,Cd.useRef)(null),l=(0,Pl.useSetAtom)(ca),c=(0,Pl.useSetAtom)(lp),u=(0,Pl.useSetAtom)(ys),d=Da.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=Da.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(0,Ba.jsx)("div",{ref:i,className:"courier-relative",children:(0,Ba.jsx)(be,{...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(0,Ba.jsx)("div",{ref:i,className:"courier-relative",children:(0,Ba.jsx)(Yc,{...v})})});tn.displayName="TextInput";var W=require("react/jsx-runtime"),z1=s(({element:e,editor:t})=>{var L,w;let r=(0,ft.useRef)(null),o=(0,ft.useRef)(null),n=(0,ft.useRef)(null),[i,a]=(0,ft.useState)(""),[l,c]=(0,ft.useState)(!1),[u,d]=(0,ft.useState)(((L=e==null?void 0:e.attrs)==null?void 0:L.imageNaturalWidth)||0),[m,p]=(0,ft.useState)(!1),f=(0,U1.useSetAtom)(Q),{uploadImage:v}=qn(),h=(0,_1.useForm)({resolver:(0,O1.zodResolver)(V1),defaultValues:{...it,...e==null?void 0:e.attrs},mode:"onChange"}),{updateNodeAttributes:b}=Tt({editor:t,element:e,form:h,nodeType:"imageBlock"});(0,ft.useEffect)(()=>{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=(0,ft.useCallback)(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=(0,ft.useCallback)(C=>{var T;C.preventDefault(),(T=r.current)==null||T.click()},[]),g=(0,ft.useCallback)((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=(0,ft.useCallback)(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=(0,ft.useCallback)(C=>{n.current&&clearTimeout(n.current),n.current=setTimeout(()=>{k(C)},500)},[k]);(0,ft.useEffect)(()=>()=>{n.current&&clearTimeout(n.current)},[]);let E=h.getValues().sourcePath;return e?(0,W.jsxs)(qe,{...h,children:[(0,W.jsx)(Lt,{type:"image"}),(0,W.jsxs)("form",{ref:o,onChange:()=>{let C=h.getValues();b(C)},children:[(0,W.jsx)("h4",{className:"courier-text-sm courier-font-medium courier-mb-3",children:"Image"}),(0,W.jsxs)(ls,{defaultValue:"file",className:"courier-mb-3 courier-w-full",children:[(0,W.jsxs)(ji,{className:"courier-w-full courier-flex courier-justify-stretch courier-mb-3",children:[(0,W.jsx)(Qn,{value:"file",className:"courier-flex-1",children:"From file"}),(0,W.jsx)(Qn,{value:"url",className:"courier-flex-1",children:"From URL"})]}),(0,W.jsx)(cs,{value:"file",children:(0,W.jsxs)("div",{className:"courier-flex courier-flex-col courier-gap-2",children:[(0,W.jsx)(Se,{onClick:N,className:"courier-w-full",variant:"outline",type:"button",disabled:m,children:m?(0,W.jsx)(W.Fragment,{children:"Uploading..."}):(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(W1.ArrowUp,{strokeWidth:1.25,className:"courier-w-4 courier-h-4 courier-ml-2 courier-text-foreground"}),"Upload image"]})}),(0,W.jsx)("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)}}})]})}),(0,W.jsx)(cs,{value:"url",children:(0,W.jsx)(j,{control:h.control,name:"sourcePath",render:({field:C})=>(0,W.jsxs)(q,{className:"courier-mb-3",children:[(0,W.jsx)(J,{children:(0,W.jsx)(tn,{as:"Textarea",...C,autoResize:!0,className:"courier-max-h-[88px]",onChange:T=>{C.onChange(T),A(T.target.value)}})}),(0,W.jsx)(G,{})]})})})]}),(0,W.jsx)(j,{control:h.control,name:"link",render:({field:C})=>(0,W.jsxs)(q,{className:"courier-mb-3",children:[(0,W.jsx)(J,{children:(0,W.jsx)($r,{placeholder:"Link",value:C.value,onChange:T=>{C.onChange(T),b({...h.getValues(),link:T})}})}),(0,W.jsx)(G,{})]})}),(0,W.jsx)(j,{control:h.control,name:"alt",render:({field:C})=>(0,W.jsxs)(q,{className:"courier-mb-4",children:[(0,W.jsx)(J,{children:(0,W.jsx)($r,{placeholder:"Alt text...",value:C.value,onChange:T=>{C.onChange(T),b({...h.getValues(),alt:T})}})}),(0,W.jsx)(G,{})]})}),(0,W.jsx)(ce,{className:"courier-mt-6 courier-mb-4"}),(0,W.jsx)("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(0,W.jsxs)(Pr,{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:[(0,W.jsx)(_t,{size:"sm",value:"original",className:"courier-w-full courier-h-7",children:"Original"}),(0,W.jsx)(_t,{size:"sm",value:"fill",className:"courier-w-full courier-h-7",disabled:P||!E,children:"Fill"})]})})(),(0,W.jsx)(j,{control:h.control,name:"width",render:({field:C})=>(0,W.jsxs)(q,{className:"courier-flex-1 courier-mb-3",children:[(0,W.jsx)(J,{children:(0,W.jsx)(be,{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)})}}})}),(0,W.jsx)(G,{})]})}),(0,W.jsx)(j,{control:h.control,name:"width",render:({field:C})=>(0,W.jsxs)(q,{className:"courier-flex-1 courier-mb-3",children:[(0,W.jsx)(J,{children:(0,W.jsx)(Gc,{min:0,max:100,value:[E?C.value:0],disabled:!E,onValueChange:T=>{C.onChange(T[0]),b({...h.getValues(),width:T[0]})}})}),(0,W.jsx)(G,{})]})}),(0,W.jsx)(j,{control:h.control,name:"alignment",render:({field:C})=>(0,W.jsxs)(q,{children:[(0,W.jsx)(J,{children:(0,W.jsxs)(Pr,{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:[(0,W.jsx)(_t,{size:"sm",value:"left",className:"courier-w-full",children:(0,W.jsx)(js,{className:"courier-h-4 courier-w-4"})}),(0,W.jsx)(_t,{size:"sm",value:"center",className:"courier-w-full",children:(0,W.jsx)(Gs,{className:"courier-h-4 courier-w-4"})}),(0,W.jsx)(_t,{size:"sm",value:"right",className:"courier-w-full",children:(0,W.jsx)(Ks,{className:"courier-h-4 courier-w-4"})})]})}),(0,W.jsx)(G,{})]})}),(0,W.jsx)(ce,{className:"courier-mt-6 courier-mb-4"}),(0,W.jsx)("h4",{className:"courier-text-sm courier-font-medium courier-mb-3",children:"Border"}),(0,W.jsx)(j,{control:h.control,name:"borderWidth",render:({field:C})=>(0,W.jsxs)(q,{className:"courier-mb-3",children:[(0,W.jsx)(J,{children:(0,W.jsx)(be,{startAdornment:(0,W.jsx)(xo,{}),type:"number",disabled:!E,min:0,...C,onChange:T=>{let x=parseInt(T.target.value)||0;C.onChange(x),b({...h.getValues(),borderWidth:x})}})}),(0,W.jsx)(G,{})]})}),(0,W.jsx)(j,{control:h.control,name:"borderColor",render:({field:C})=>(0,W.jsxs)(q,{className:"courier-mb-4",children:[(0,W.jsx)(J,{children:(0,W.jsx)(xt,{...C,disabled:!E,defaultValue:it.borderColor,onChange:T=>{C.onChange(T),b({...h.getValues(),[C.name]:T})}})}),(0,W.jsx)(G,{})]})})]})]}):null},"ImageBlockForm");var Fa=require("@tiptap/core"),$1=he(require("@tiptap/extension-link"),1),xi=require("@tiptap/pm/state"),vd=$1.default.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",(0,Fa.mergeAttributes)(this.options.HTMLAttributes,e,{class:"link cursor-pointer"}),0]},addProseMirrorPlugins(){var t;return[...((t=this.parent)==null?void 0:t.call(this))||[],new xi.Plugin({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=(0,Fa.getMarkRange)(l,c.type);return u?(r.dispatch(i.tr.setSelection(xi.TextSelection.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(xi.TextSelection.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 xi.Plugin({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=(0,Fa.getMarkRange)(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}})]}});var Z1=require("@hookform/resolvers/zod"),q1=require("jotai"),Ml=require("react"),J1=require("react-hook-form"),Nl=require("zod");var jr=require("react/jsx-runtime"),Zh=Nl.z.object({href:Nl.z.string(),openInNewTab:Nl.z.boolean().default(!1)}),j1=s(({editor:e,mark:t,pendingLink:r})=>{let o=(0,q1.useSetAtom)(Cs),n=(0,Ml.useRef)(null),i=(0,J1.useForm)({resolver:(0,Z1.zodResolver)(Zh),defaultValues:{href:(t==null?void 0:t.attrs.href)||"",openInNewTab:(t==null?void 0:t.attrs.target)==="_blank"||!1}});(0,Ml.useEffect)(()=>{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(0,jr.jsxs)(qe,{...i,children:[(0,jr.jsx)("p",{className:"courier-font-medium courier-mb-4",children:"Link"}),(0,jr.jsx)("div",{className:"courier-space-y-4",children:(0,jr.jsx)(j,{control:i.control,name:"href",render:({field:l})=>(0,jr.jsxs)(q,{children:[(0,jr.jsx)(ao,{children:"URL"}),(0,jr.jsx)(J,{children:(0,jr.jsx)(tn,{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)()}})}),(0,jr.jsx)(G,{})]})})})]})},"LinkForm");var Il=require("@tiptap/react"),Ti=require("prosemirror-state");var Po={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:"'"},Sl={48:")",49:"!",50:"@",51:"#",52:"$",53:"%",54:"^",55:"&",56:"*",57:"(",59:":",61:"+",173:"_",186:":",187:"+",188:"<",189:"_",190:">",191:"?",192:"~",219:"{",220:"|",221:"}",222:'"'},qh=typeof navigator!="undefined"&&/Mac/.test(navigator.platform),Jh=typeof navigator!="undefined"&&/MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent);for(et=0;et<10;et++)Po[48+et]=Po[96+et]=String(et);var et;for(et=1;et<=24;et++)Po[et+111]="F"+et;var et;for(et=65;et<=90;et++)Po[et]=String.fromCharCode(et+32),Sl[et]=String.fromCharCode(et);var et;for(Al in Po)Sl.hasOwnProperty(Al)||(Sl[Al]=Po[Al]);var Al;function G1(e){var t=qh&&e.metaKey&&e.shiftKey&&!e.ctrlKey&&!e.altKey||Jh&&e.shiftKey&&e.key&&e.key.length==1||e.key=="Unidentified",r=!t&&e.key||(e.shiftKey?Sl:Po)[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(G1,"keyName");var K1=require("prosemirror-state");var jh=typeof navigator!="undefined"?/Mac|iP(hone|[oa]d)/.test(navigator.platform):!1;function Gh(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))jh?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(Gh,"normalizeKeyName");function Kh(e){let t=Object.create(null);for(let r in e)t[Gh(r)]=e[r];return t}s(Kh,"normalize");function xd(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(xd,"modifiers");function Y1(e){return new K1.Plugin({props:{handleKeyDown:Yh(e)}})}s(Y1,"keymap");function Yh(e){let t=Kh(e);return function(r,o){let n=G1(o),i,a=t[xd(n,o)];if(a&&a(r.state,r.dispatch,r))return!0;if(n.length==1&&n!=" "){if(o.shiftKey){let l=t[xd(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=Po[o.keyCode])&&i!=n){let l=t[xd(i,o)];if(l&&l(r.state,r.dispatch,r))return!0}}return!1}}s(Yh,"keydownHandler");var X1=require("uuid");var Td=fi.extend({addOptions(){var e;return{...(e=this.parent)==null?void 0:e.call(this),HTMLAttributes:{class:""}}},onCreate(){ut(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-${(0,X1.v4)()}`;e.setNodeMarkup(o,void 0,{...r.attrs,id:n}),t=!0}return!0}),t&&this.editor.view.dispatch(e)},addAttributes(){return{paddingVertical:{default:pe.paddingVertical,parseHTML:e=>e.style.paddingTop?parseInt(e.style.paddingTop):pe.paddingVertical,renderHTML:e=>({"data-padding-vertical":e.paddingVertical})},paddingHorizontal:{default:pe.paddingHorizontal,parseHTML:e=>e.style.paddingLeft?parseInt(e.style.paddingLeft):pe.paddingHorizontal,renderHTML:e=>({"data-padding-horizontal":e.paddingHorizontal})},textAlign:{default:pe.textAlign,parseHTML:e=>e.style.textAlign||pe.textAlign,renderHTML:e=>({"data-text-align":e.textAlign})},backgroundColor:{default:pe.backgroundColor,parseHTML:e=>e.style.backgroundColor||pe.backgroundColor,renderHTML:e=>({"data-background-color":e.backgroundColor})},borderWidth:{default:pe.borderWidth,parseHTML:e=>e.style.borderWidth?parseInt(e.style.borderWidth):pe.borderWidth,renderHTML:e=>({"data-border-width":e.borderWidth})},borderColor:{default:pe.borderColor,parseHTML:e=>e.style.borderColor||pe.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",(0,Il.mergeAttributes)(this.options.HTMLAttributes,e,{"data-type":"paragraph"}),0]},addNodeView(){return(0,Il.ReactNodeViewRenderer)(El)},addProseMirrorPlugins(){return[Y1({"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(Ti.TextSelection.create(t.doc,i,a)),!0}return!1}}),new Ti.Plugin({key:new Ti.PluginKey("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()}}});var Q1=require("@tiptap/core"),Ll=require("@tiptap/pm/state"),Xh=new Ll.PluginKey("selection"),Ed=Q1.Extension.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 Ll.Plugin({key:Xh,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}}})]}});var eg=require("react"),tg=require("react/jsx-runtime"),wd=(0,eg.forwardRef)(({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(0,tg.jsx)("div",{className:a,...n,ref:i,children:e})});wd.displayName="Surface";var rg=require("uuid");var Qh=s((e,t)=>{let r=null;return e.state.doc.descendants((o,n)=>o.attrs.id===t?(r=n,!1):!0),r},"findNodePositionById"),og=s((e,t,r,o,n,i)=>{let a=`node-${(0,rg.v4)()}`,c={heading:()=>e.schema.nodes.heading.create({...pe,...o,id:a},i),paragraph:()=>e.schema.nodes.paragraph.create({...pe,...o,id:a},i),text:()=>e.schema.nodes.paragraph.create({...pe,...o,id:a},i),spacer:()=>e.schema.nodes.divider.create({...pl,...o,id:a}),divider:()=>e.schema.nodes.divider.create({...vr,...o,id:a}),button:()=>e.schema.nodes.button.create({...Ge,...o,id:a},i),imageBlock:()=>e.schema.nodes.imageBlock.create({...it,...o,id:a}),image:()=>e.schema.nodes.imageBlock.create({...it,...o,id:a}),customCode:()=>e.schema.nodes.customCode.create({...wo,...o,id:a}),column:()=>e.schema.nodes.column.create({...wt,...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=Qh(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 en=s(e=>{let t=e();return typeof t=="number"?t:null},"safeGetPos"),pt=s(e=>{let t=en(e.getPos);return t===null?null:e.editor.state.doc.nodeAt(t)},"safeGetNodeAtPos");var ng=require("lucide-react"),ig=require("react"),Ld=require("react/jsx-runtime"),ag=(0,ig.forwardRef)((e,t)=>(0,Ld.jsx)("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:(0,Ld.jsx)(ng.GripVertical,{strokeWidth:1,className:"courier-w-5 courier-stroke-neutral-400 courier-fill-neutral-400 courier-pointer-events-none"})}));var Rl=require("jotai"),tr=require("react"),cg=require("uuid");var sg=require("react");var lg=s((e,t,r)=>(0,sg.useMemo)(()=>{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 Hl=s((e,t,r)=>{let o=(0,Rl.useSetAtom)(Xe),n=(0,Rl.useAtomValue)(ye),i=lg(t,e,r),a=(0,tr.useCallback)(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=(0,tr.useCallback)((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=(0,tr.useCallback)(()=>{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=(0,tr.useCallback)(()=>{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=(0,tr.useCallback)(()=>{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=(0,tr.useCallback)(()=>{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=(0,tr.useCallback)(()=>{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=(0,tr.useCallback)(()=>e.chain().focus().setTextAlign("left").run(),[e]),v=(0,tr.useCallback)(()=>e.chain().focus().setTextAlign("center").run(),[e]),h=(0,tr.useCallback)(()=>e.chain().focus().setTextAlign("right").run(),[e]),b=(0,tr.useCallback)(()=>e.chain().focus().setTextAlign("justify").run(),[e]),y=(0,tr.useCallback)((g,k)=>e.chain().focus().setLink({href:g,target:k?"_blank":""}).run(),[e]),N=(0,tr.useCallback)(()=>{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-${(0,cg.v4)()}`,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");var Bl=require("react/jsx-runtime"),eb=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"),Dl=s(({type:e})=>(0,Bl.jsx)("div",{className:"courier-flex courier-w-full courier-pointer-events-none",children:(0,Bl.jsx)("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:(0,Bl.jsx)("div",{className:"courier-text-accent-foreground dark:courier-text-accent",children:eb(e)})})}),"DropIndicatorPlaceholder");var Ke=require("react/jsx-runtime");function tb(){let[e,t]=(0,Pe.useState)(!1);return(0,Pe.useEffect)(()=>{let r=setTimeout(()=>t(!0),500);return()=>clearTimeout(r)},[]),e}s(tb,"useMountStatus");var It=s(({children:e,id:t,className:r,editor:o,getPos:n,...i})=>{let a=(0,Pe.useRef)(null),l=(0,Pe.useRef)(null),c=(0,Pe.useRef)(null),[u,d]=(0,Pe.useState)(!1),[m,p]=(0,Pe.useState)(null),[f,v]=(0,Pe.useState)(null),h=(0,Pe.useRef)(null),b=(0,Pe.useRef)(!1),y=(0,Pe.useRef)(null),N=(0,Pe.useRef)(null),g=(0,Pe.useRef)(null),k=tb(),A=u&&!k,E=(0,Pe.useCallback)(()=>{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=(0,Pe.useCallback)(()=>{if(!o)return!1;let w=E();return!w||!w.parent?!1:w.index===w.parent.childCount-1},[o,E]);return(0,Pe.useEffect)(()=>{let w=a.current,C=l.current;if(!w)return;let T=co(ga({element:w,dragHandle:C||void 0,getInitialData:()=>{var I,H,V,F,O,B;let x=E(),P="text";if(x){let z=x.node;switch(z.type.name){case"heading":P="heading";break;case"paragraph":P="text";break;case"imageBlock":P="image";break;case"divider":P=(I=z.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)}}),br({element:w,getData:({input:x,element:P})=>{var B,z,_,se;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:(z=M==null?void 0:M.index)!=null?z:0,pos:M==null?void 0:M.pos,nodeType:M==null?void 0:M.node.type.name,columnId:I?(_=M==null?void 0:M.parent)==null?void 0:_.attrs.columnId:void 0,cellIndex:I?(se=M==null?void 0:M.parent)==null?void 0:se.attrs.index:void 0};if(P.getAttribute("data-node-type")==="column"){let re=P.getBoundingClientRect(),Y=x.clientY,D=30,Z=Math.abs(Y-re.top),ie=Math.abs(Y-re.bottom);if(Z>D&&ie>D)return{...H,disableDropIndicator:!0}}let F=P.closest('[data-column-cell="true"]');if(L()&&w){let re=w.getBoundingClientRect(),Y=x.clientY,D=re.top+re.height/2;if(Y>=D&&Y>re.bottom)return{...H,[Symbol.for("closestEdge")]:"bottom"}}let O=L()?["top","bottom"]:["top"];return tf(H,{input:x,element:P,allowedEdges:O})},canDrop:({source:x})=>x.data.id!==t,onDragEnter:({self:x,source:P,location:M})=>{var z,_,se,re,Y;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=ha(x.data),H=I,V=L(),F=(se=(_=(z=M==null?void 0:M.current)==null?void 0:z.input)==null?void 0:_.clientY)!=null?se: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(),ie=(re=F!=null?F:N.current)!=null?re:Z.top+Z.height/2,Me=Z.top+Z.height/2,$e=Z.height,Je=Math.max(10,Math.min(30,$e*.3));ie<Me-Je?(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();((Y=Z==null?void 0:Z.index)!=null?Y:0)===D+1&&I==="top"&&(H=null)}H!==h.current&&(h.current=H,p(H))},onDrag:({self:x,source:P,location:M})=>{var z,_,se,re,Y;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=(se=(_=(z=M==null?void 0:M.current)==null?void 0:z.input)==null?void 0:_.clientY)!=null?se:N.current;I!==null&&(N.current=I);let H=ha(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(),ie=(re=I!=null?I:N.current)!=null?re:Z.top+Z.height/2,Me=Z.top+Z.height/2,$e=Z.height,Je=Math.max(10,Math.min(30,$e*.3));ie<Me-Je?(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();((Y=Z==null?void 0:Z.index)!=null?Y: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]),(0,Ke.jsx)(rb,{ref:a,id:t,fadeIn:A,className:r,dragging:u,closestEdge:m,dragType:f,handleRef:l,contentRef:c,editor:o,...i,children:e})},"SortableItemWrapper"),rb=(0,Pe.forwardRef)(({children:e,className:t,dragOverlay:r,handleRef:o,contentRef:n,closestEdge:i,dragType:a,id:l,editor:c,fadeIn:u,dragging:d,...m},p)=>{(0,Pe.useEffect)(()=>{if(r)return document.body.style.cursor="grabbing",()=>{document.body.style.cursor=""}},[r]);let f=(0,dg.useSetAtom)(ye),{resetButtonFormatting:v}=Hl(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=(0,Pe.useCallback)(()=>{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=(0,Pe.useCallback)(()=>{c.commands.blur(),f(null)},[c,f]),N=(0,Pe.useCallback)(()=>{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-${(0,mg.v4)()}`,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=(0,Pe.useCallback)(()=>{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=(0,Pe.useCallback)(()=>{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);og(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(0,Ke.jsxs)(ug.NodeViewWrapper,{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"&&(0,Ke.jsx)(Dl,{type:a}),(0,Ke.jsxs)("div",{className:"courier-flex courier-items-center courier-justify-center courier-gap-2 courier-pl-10",children:[(0,Ke.jsx)(ag,{ref:o,className:"courier-absolute courier-left-[-8px]",tabIndex:-1,"data-no-drag-preview":!0}),(0,Ke.jsx)("div",{ref:n,className:"courier-flex-1 courier-grow draggable-content-wrapper",children:e}),(0,Ke.jsxs)("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"&&(0,Ke.jsxs)(Ke.Fragment,{children:[(0,Ke.jsx)("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:(0,Ke.jsx)(Nu,{color:"currentColor"})}),(0,Ke.jsx)(ce,{className:"!courier-my-0"})]}),(0,Ke.jsx)("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:(0,Ke.jsx)(su,{color:"currentColor"})}),(0,Ke.jsx)(ce,{className:"!courier-my-0"}),(0,Ke.jsx)("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:(0,Ke.jsx)(Gi,{color:"currentColor"})})]})]}),i==="bottom"&&(0,Ke.jsx)(Dl,{type:a})]})});var Bn=require("react/jsx-runtime"),ob=s(({alignment:e,backgroundColor:t,textColor:r,borderRadius:o,padding:n,fontWeight:i,fontStyle:a,children:l})=>(0,Bn.jsx)("div",{className:"courier-w-full node-element",children:(0,Bn.jsx)("div",{className:"courier-flex",children:(0,Bn.jsx)("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"),hg=s(e=>{let t=(0,fg.useSetAtom)(Xe),r=(0,gg.useCallback)(()=>{if(!e.editor.isEditable)return;let o=pt(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(0,Bn.jsx)(It,{id:e.node.attrs.id,className:S(e.node.attrs.isSelected&&"selected-element"),onClick:r,editor:e.editor,"data-node-type":"button",children:(0,Bn.jsx)(ob,{...e.node.attrs,children:(0,Bn.jsx)(pg.NodeViewContent,{as:"span"})})})},"ButtonComponentNode");var yg=require("uuid");var Ge={label:"Button",link:"",alignment:"center",backgroundColor:"#0085FF",borderRadius:0,padding:6,fontWeight:"normal",fontStyle:"normal",isUnderline:!1,isStrike:!1,textColor:"#ffffff",borderColor:"transparent"},Ys=Fl.Node.create({name:"button",group:"block",content:"inline*",selectable:!1,isolating:!0,onCreate(){ut(this.editor,this.name)},addAttributes(){return{label:{default:Ge.label,parseHTML:e=>e.getAttribute("data-label"),renderHTML:e=>({"data-label":e.label})},link:{default:Ge.link,parseHTML:e=>e.getAttribute("data-link"),renderHTML:e=>({"data-link":e.link})},alignment:{default:Ge.alignment,parseHTML:e=>e.getAttribute("data-alignment"),renderHTML:e=>({"data-alignment":e.alignment})},backgroundColor:{default:Ge.backgroundColor,parseHTML:e=>e.getAttribute("data-background-color"),renderHTML:e=>({"data-background-color":e.backgroundColor})},textColor:{default:Ge.textColor,parseHTML:e=>e.getAttribute("data-text-color"),renderHTML:e=>({"data-text-color":e.textColor})},borderRadius:{default:Ge.borderRadius,parseHTML:e=>e.getAttribute("data-border-radius"),renderHTML:e=>({"data-border-radius":e.borderRadius})},borderColor:{default:Ge.borderColor,parseHTML:e=>e.getAttribute("data-border-color"),renderHTML:e=>({"data-border-color":e.borderColor})},padding:{default:Ge.padding,parseHTML:e=>e.getAttribute("data-padding"),renderHTML:e=>({"data-padding":e.padding})},fontWeight:{default:Ge.fontWeight,parseHTML:e=>e.getAttribute("data-font-weight"),renderHTML:e=>({"data-font-weight":e.fontWeight})},fontStyle:{default:Ge.fontStyle,parseHTML:e=>e.getAttribute("data-font-style"),renderHTML:e=>({"data-font-style":e.fontStyle})},isUnderline:{default:Ge.isUnderline,parseHTML:e=>e.getAttribute("data-is-underline"),renderHTML:e=>({"data-is-underline":e.isUnderline})},isStrike:{default:Ge.isStrike,parseHTML:e=>e.getAttribute("data-is-strike"),renderHTML:e=>({"data-is-strike":e.isStrike})},id:{default:()=>`node-${(0,yg.v4)()}`,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",(0,Fl.mergeAttributes)(this.options.HTMLAttributes,e,{"data-type":"button"}),0]},addNodeView(){return(0,bg.ReactNodeViewRenderer)(hg)},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()}}});var Cg=require("uuid"),rn=require("jotai"),Nt=require("react");var Ei=s(({items:e,setItems:t,editor:r})=>{let[o]=(0,Nt.useState)(null),[n,i]=(0,Nt.useState)(null),[a,l]=(0,Nt.useState)(null),[c]=(0,Nt.useState)("outer"),u=(0,Nt.useRef)([]),d=(0,Nt.useRef)([]),m=(0,rn.useAtomValue)(He),p=(0,rn.useSetAtom)(jt),[f,v]=(0,rn.useAtom)(ee),h=(0,rn.useSetAtom)(je),b=(0,rn.useAtomValue)(Uo),y=r||m,N=(0,Nt.useCallback)(()=>{if(!y)return;let w=y.getJSON(),C=de(w),T=ct(f,{channel:b,elements:C});v(T),h(T)},[y,b,f,v,h]),g=(0,Nt.useCallback)(()=>{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=(0,Nt.useCallback)(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=(0,Nt.useCallback)(w=>{let C={};switch(w){case"text":C=pe;break;case"heading":C={};break;case"image":C=it;break;case"button":C=Ge;break;case"divider":C=vr;break;case"spacer":C=pl;break;case"customCode":C=wo;break;case"column":C=wt;break}let x={type:w==="text"?"paragraph":w==="image"?"imageBlock":w==="spacer"?"divider":w,attrs:{...C,id:(0,Cg.v4)()}};return w==="button"&&(x.content=[{type:"text",text:"Button"}]),x},[]),E=(0,Nt.useCallback)((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,z)=>B.attrs.id===w.id?(I=z,M=B.toJSON(),R=B.nodeSize,!1):!0),I===-1){let B=e.Editor.findIndex(z=>z===w.id);if(B!==-1){I=k(B);let z=y.state.doc.nodeAt(I);z&&(M=z.toJSON(),R=z.nodeSize)}}if(I!==-1){let B=e.Editor.filter(z=>z!==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,z)=>B.type.name==="column"&&B.attrs.id===T?(H=z,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,z=Array.from({length:F.attrs.columnsCount},(se,re)=>B.nodes.columnCell.create({index:re,columnId:T,isEditorMode:!1},re===x?[B.nodeFromJSON(M)]:[])),_=B.nodes.columnRow.create({},z);O.replaceWith(H+1,H+F.nodeSize-1,_)}else{let B=H+1;F.content.forEach(z=>{if(z.type.name==="columnRow"){let _=B+1;z.content.forEach((se,re,Y)=>{if(Y===x){let D=_+se.nodeSize-1;O.insert(D,y.schema.nodeFromJSON(M))}_+=se.nodeSize})}B+=z.nodeSize})}y.view.dispatch(O),N()},[y,e,t,k,A,N]),L=(0,Nt.useCallback)((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(0,Nt.useEffect)(()=>Qu({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=ha(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((se,re)=>{let Y=se.top+se.height/2,D=Math.abs(H-Y);D<F&&(F=D,V=re)});let O=d.current[V],B=O.top+O.height/2,_=H>=B?V:V-1;M={...M,index:_,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");var Vl=require("react");var vg=require("jotai");var Ol=s(({setItems:e,rafId:t,editor:r})=>{let o=(0,vg.useAtomValue)(He),n=r||o,i=(0,Vl.useCallback)(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(0,Vl.useEffect)(()=>{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");var wi=require("react/jsx-runtime"),Va=[{type:"text",align:"left",content:`
187
187
  `,text_style:"h1"},{type:"text",align:"left",content:""},{type:"image",src:""}],nb=(0,xe.forwardRef)(({hidePublish:e,theme:t,channels:r,routing:o,render:n,headerRenderer:i,value:a,colorScheme:l,hidePreviewPanelExitButton:c,...u},d)=>{let m=(0,rr.useAtomValue)(He),[p,f]=(0,rr.useAtom)(ye),[v,h]=(0,rr.useAtom)(dn),b=(0,xe.useRef)({}),[y,N]=(0,xe.useState)(c?"desktop":void 0),g=(0,rr.useAtomValue)(ot),k=(0,rr.useAtomValue)(ae),A=(0,rr.useAtomValue)(wc),E=(0,rr.useAtomValue)(lo),L=(0,xe.useRef)(-1),w=(0,rr.useSetAtom)(sp),C=(0,xe.useRef)(!1),T=(0,xe.useRef)(!1),[x]=(0,rr.useAtom)(ee),P=(0,rr.useAtomValue)(_r),M=(0,rr.useAtomValue)(Ct),[R,I]=(0,xe.useState)({Editor:[],Sidebar:["heading","text","image","spacer","divider","button","customCode"]}),H=(0,xe.useRef)(null);Ei({items:R,setItems:I,editor:m});let{syncEditorItems:V}=Ol({setItems:I,rafId:H,editor:m});(0,xe.useEffect)(()=>{M&&(T.current=!1)},[M]);let[F,O]=(0,xe.useState)(!1);(0,xe.useEffect)(()=>{if(k===!1||k===null){let D=setTimeout(()=>{O(!0)},100);return()=>clearTimeout(D)}else O(!1)},[k,F]),(0,xe.useEffect)(()=>{if(p){let D=p.type.name,Z=bs(D);w({nodeName:D,config:Z})}},[p,w]);let B=(0,xe.useMemo)(()=>{var Z,ie,Me,$e,Je,pr,fr,le,De,Ae,Bt,Dt,Ir,Lr,Rr,Hr,Ho,Bo,oe,ho,cn,un,Hi,Bi,Di,Fi,Vi,Oi,X,ne,ge,we,We,Br;if(E)return E;let D=(Me=(ie=(Z=g==null?void 0:g.data)==null?void 0:Z.tenant)==null?void 0:ie.brand)==null?void 0:Me.settings;return{brandColor:(($e=D==null?void 0:D.colors)==null?void 0:$e.primary)||"#000000",textColor:((Je=D==null?void 0:D.colors)==null?void 0:Je.secondary)||"#000000",subtleColor:((pr=D==null?void 0:D.colors)==null?void 0:pr.tertiary)||"#666666",headerStyle:(le=(fr=D==null?void 0:D.email)==null?void 0:fr.header)!=null&&le.barColor?"border":"plain",logo:(Bt=(Ae=(De=D==null?void 0:D.email)==null?void 0:De.header)==null?void 0:Ae.logo)==null?void 0:Bt.image,link:(Lr=(Ir=(Dt=D==null?void 0:D.email)==null?void 0:Dt.header)==null?void 0:Ir.logo)==null?void 0:Lr.href,facebookLink:(Bo=(Ho=(Hr=(Rr=D==null?void 0:D.email)==null?void 0:Rr.footer)==null?void 0:Hr.social)==null?void 0:Ho.facebook)==null?void 0:Bo.url,linkedinLink:(un=(cn=(ho=(oe=D==null?void 0:D.email)==null?void 0:oe.footer)==null?void 0:ho.social)==null?void 0:cn.linkedin)==null?void 0:un.url,instagramLink:(Fi=(Di=(Bi=(Hi=D==null?void 0:D.email)==null?void 0:Hi.footer)==null?void 0:Bi.social)==null?void 0:Di.instagram)==null?void 0:Fi.url,mediumLink:(ne=(X=(Oi=(Vi=D==null?void 0:D.email)==null?void 0:Vi.footer)==null?void 0:Oi.social)==null?void 0:X.medium)==null?void 0:ne.url,xLink:(Br=(We=(we=(ge=D==null?void 0:D.email)==null?void 0:ge.footer)==null?void 0:we.social)==null?void 0:We.twitter)==null?void 0:Br.url}},[E,g]),z=A&&!!B,_=(0,xe.useCallback)(()=>{Object.values(b.current).forEach(D=>clearTimeout(D)),b.current={}},[]);(0,xe.useEffect)(()=>()=>{_()},[_]),(0,xe.useEffect)(()=>{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 ie=-1;p&&m.state.doc.content.forEach((Je,pr,fr)=>{p.attrs.id===Je.attrs.id&&(ie=fr)}),ie===-1&&(ie=0);let Me=m.state.doc,$e;if(Z.shiftKey?$e=(ie-1+Me.childCount)%Me.childCount:$e=(ie+1)%Me.childCount,$e!==ie||p===null){let Je=Me.child($e);f(Je),m.commands.blur()}}},"handleKeyPress");return document.addEventListener("keydown",D),()=>{document.removeEventListener("keydown",D)}},[m,p,f]),(0,xe.useEffect)(()=>{if(k!==!1||M)return;let D=x!=null?x:"";if(D){let Z=Bc(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]),(0,xe.useEffect)(()=>{k===!1&&g&&!T.current&&(T.current=!0,setTimeout(()=>{m&&!m.isDestroyed&&V(m)},300))},[k,g,m,V]),(0,xe.useEffect)(()=>(C.current=!0,()=>{C.current=!1}),[]);let se=(0,xe.useCallback)(D=>{let ie=D||(y===void 0?"desktop":void 0);N(ie),f(null),ie?m==null||m.setEditable(!1):m==null||m.setEditable(!0)},[m,y,N,f]),re=s(D=>{h(D.target.value)},"handleSubjectChange"),Y=(0,xe.useMemo)(()=>{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(Me=>Me.type==="channel"&&Me.channel==="email")),Z||(Z={type:"channel",channel:"email",elements:Va}),Ze({version:"2022-01-01",elements:[Z]},{channel:"email"})},[a,k,F]);return M&&(x===null||Y===null)?null:(0,wi.jsx)(Xt,{theme:t,colorScheme:l,isLoading:!!k,Header:i?i({hidePublish:e,channels:r,routing:o}):(0,wi.jsx)(Mr,{hidePublish:e,channels:r,routing:o}),...u,children:(0,wi.jsx)(wi.Fragment,{children:n==null?void 0:n({subject:v,handleSubjectChange:re,selectedNode:p,setSelectedNode:f,previewMode:y,templateEditor:m,ref:d,isBrandApply:z,brandSettings:B,items:R,content:Y,syncEditorItems:V,brandEditorContent:P,templateData:g,togglePreviewMode:se,hidePreviewPanelExitButton:c})})})}),Ul=(0,xe.memo)(nb);var Wl=class Wl{};s(Wl,"UploadImageAPI"),Wl.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 Rd=Wl,Hd=Rd;var or=s(e=>[gd,Id.StarterKit.configure({document:!1,dropcursor:!1,gapcursor:!1,heading:!1,horizontalRule:!1,paragraph:!1,blockquote:!1,hardBreak:!1,code:!1}),Ed.configure({setSelectedNode:e==null?void 0:e.setSelectedNode,shouldHandleClick:e==null?void 0:e.shouldHandleClick}),Pd.HardBreak.configure({keepMarks:!0,HTMLAttributes:{class:"my-line-break"}}),T1,fd,Td,td,bd.configure({levels:[1,2,3,4,5,6]}),Ys,el,kd.Color,ol,il,cl,dl,vd.configure({openOnClick:!1,defaultProtocol:"https",HTMLAttributes:{class:"link"}}),Sd.Underline,kl.configure(),gl.configure({allowedMimeTypes:["image/png","image/jpeg","image/gif","image/webp"],onDrop:(t,r,o)=>{r.forEach(async n=>{let i=await Hd.uploadImage(n);t.chain().setImageBlockAt({pos:o,src:i}).focus().run()})},onPaste:(t,r)=>{r.forEach(async o=>{let n=await Hd.uploadImage(o);return t.chain().setImageBlockAt({pos:t.state.selection.anchor,src:n}).focus().run()})}}),Md.TextAlign.extend({addKeyboardShortcuts(){return{}}}).configure({types:["paragraph","heading"]}),Ad.Typography,Nd.Placeholder.configure({includeChildren:!0,showOnlyCurrent:!0,placeholder:"",emptyEditorClass:"is-editor-empty",emptyNodeClass:"is-empty",showOnlyWhenEditable:!0}),ed.configure({width:2,class:"ProseMirror-dropcursor courier-border-black"}),ad,Pn,Nn,bl,vl],"ExtensionKit");var Jl=require("@tiptap/react");var xg=require("jotai"),Dn=require("react");var _l=s(e=>{let t=(0,xg.useAtomValue)(ye),[r,o]=(0,Dn.useState)({isBold:!1,isItalic:!1,isUnderline:!1,isStrike:!1,isAlignLeft:!1,isAlignCenter:!1,isAlignRight:!1,isAlignJustify:!1,isQuote:!1,isLink:!1}),n=(0,Dn.useCallback)(()=>{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(0,Dn.useEffect)(()=>{if(e)return n(),e.on("selectionUpdate",n),e.on("transaction",n),()=>{e.off("selectionUpdate",n),e.off("transaction",n)}},[e,n]),{shouldShow:(0,Dn.useCallback)(({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");var Zl=require("jotai"),tt=require("lucide-react"),ir=require("react");var zl=require("react");var Eg=he(require("@tippyjs/react"),1),wg=require("react");var zt=require("react/jsx-runtime"),Tg=typeof window!="undefined"?navigator.platform.toUpperCase().indexOf("MAC")>=0:!1,ib=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"?(0,zt.jsx)("kbd",{className:t,children:Tg?"\u2318":"Ctrl"}):e==="Shift"?(0,zt.jsx)("kbd",{className:t,children:"\u21E7"}):e==="Alt"?(0,zt.jsx)("kbd",{className:t,children:Tg?"\u2325":"Alt"}):(0,zt.jsx)("kbd",{className:t,children:e})},"ShortcutKey"),kg=s(({children:e,enabled:t=!0,title:r,shortcut:o,tippyOptions:n={}})=>{let i=Km(),a=(0,wg.useCallback)(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(0,zt.jsxs)("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&&(0,zt.jsx)("span",{className:"courier-text-xs courier-font-medium courier-text-muted-foreground",children:r}),o&&(0,zt.jsx)("span",{className:"courier-flex courier-items-center courier-gap-0.5",children:o.map(u=>(0,zt.jsx)(ib,{children:u},u))})]})},[o,r,i]);return t?(0,zt.jsx)(Eg.default,{...n,delay:500,offset:[0,8],touch:!1,zIndex:99999,appendTo:document.body,trigger:"mouseenter focus",showOnCreate:!1,render:a,animation:!1,children:(0,zt.jsx)("span",{children:e})}):(0,zt.jsx)(zt.Fragment,{children:e})},"Tooltip");var Oa=require("react/jsx-runtime"),Pg=(0,zl.forwardRef)(({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&&(0,Oa.jsx)(wd,{className:a,...n,ref:i,children:t})});Pg.displayName="Toolbar";var Ng=(0,zl.forwardRef)(({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(0,Oa.jsx)("div",{className:n,ref:o,...r})});Ng.displayName="Toolbar.Divider";var Mg=(0,zl.forwardRef)(({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=(0,Oa.jsx)(Se,{className:c,variant:r,buttonSize:t,ref:l,...a,children:e});return n?(0,Oa.jsx)(kg,{title:n,shortcut:i,children:u}):u});Mg.displayName="ToolbarButton";var $l={Wrapper:Pg,Divider:Ng,Button:Mg};var Ag=require("lucide-react"),Sg=require("react");var nr=require("react/jsx-runtime"),ab=s(e=>e.type==="option","isOption"),Ig=s(({options:e,containerRef:t})=>{let r=(0,Sg.useMemo)(()=>e.find(o=>o.type==="option"&&o.isActive()),[e]);return(0,nr.jsxs)(os,{children:[(0,nr.jsx)(ns,{asChild:!0,children:(0,nr.jsxs)(Se,{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",(0,nr.jsx)(Ag.ChevronDown,{className:"courier-w-3 courier-h-3"})]})}),(0,nr.jsx)($i,{portalProps:{container:(t==null?void 0:t.current)||void 0},children:e.map(o=>{if(ab(o))return(0,nr.jsx)(Zi,{onClick:o.onClick,className:o.isActive()?"courier-bg-accent courier-text-foreground":"",children:o.id.startsWith("heading")?(0,nr.jsx)(nr.Fragment,{children:o.id==="heading1"?(0,nr.jsx)("h1",{className:"courier-text-2xl courier-font-bold",children:o.label}):o.id==="heading2"?(0,nr.jsx)("h2",{className:"courier-text-xl courier-font-bold",children:o.label}):o.id==="heading3"?(0,nr.jsx)("h3",{className:"courier-text-lg courier-font-bold",children:o.label}):o.label}):o.label},o.id)})})]})},"ContentTypePicker");var Lg=require("@tiptap/react");var Rg=s(e=>(0,Lg.useEditorState)({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");var at=require("react/jsx-runtime"),sb=(0,ir.memo)($l.Button),lb=(0,ir.memo)(Ig),ql=s(({editor:e,config:t})=>{var L;let r=_l(e),o=Rg(e),n=(0,ir.useRef)(null),i=(0,Zl.useAtomValue)(ys),a=(0,Zl.useAtomValue)(ye),l=a==null?void 0:a.type.name,c=(0,Zl.useAtomValue)(ap),[u,d]=(0,ir.useState)(()=>{let{selection:w}=e.state;return{from:w.from,to:w.to,empty:w.empty}});(0,ir.useEffect)(()=>{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=(0,ir.useMemo)(()=>!u.empty&&u.from!==u.to,[u]),p=(0,ir.useMemo)(()=>t||c(l||"",m),[t,c,l,m]),f=Hl(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),z=V.split(`
188
188
  `).length-1,_=new CustomEvent("showVariableSuggestions",{detail:{cursorPosition:{left:Math.min(O%w.offsetWidth,w.offsetWidth-200),top:z*B+30}},bubbles:!0});w.dispatchEvent(_)}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:(0,at.jsx)(sb,{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?(0,at.jsx)("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"&&(0,at.jsx)(lb,{options:o,containerRef:n},"content-type")],"content-type-group"),g=y([b("bold",(0,at.jsx)(tt.Bold,{strokeWidth:1.25,className:"courier-w-4 courier-h-4"}),"Bold",f.onBold,r.isBold,["Mod","B"]),b("italic",(0,at.jsx)(tt.Italic,{strokeWidth:1.25,className:"courier-w-4 courier-h-4"}),"Italic",f.onItalic,r.isItalic,["Mod","I"]),b("underline",(0,at.jsx)(tt.Underline,{strokeWidth:1.25,className:"courier-w-4 courier-h-4"}),"Underline",f.onUnderline,r.isUnderline,["Mod","U"]),b("strike",(0,at.jsx)(tt.Strikethrough,{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",(0,at.jsx)(tt.AlignLeft,{strokeWidth:1.25,className:"courier-w-4 courier-h-4"}),"Align left",f.onAlignLeft,r.isAlignLeft,["Shift","Mod","L"]),b("alignCenter",(0,at.jsx)(tt.AlignCenter,{strokeWidth:1.25,className:"courier-w-4 courier-h-4"}),"Align center",f.onAlignCenter,r.isAlignCenter,["Shift","Mod","E"]),b("alignRight",(0,at.jsx)(tt.AlignRight,{strokeWidth:1.25,className:"courier-w-4 courier-h-4"}),"Align right",f.onAlignRight,r.isAlignRight,["Shift","Mod","R"]),b("alignJustify",(0,at.jsx)(tt.AlignJustify,{strokeWidth:1.25,className:"courier-w-4 courier-h-4"}),"Justify",f.onAlignJustify,r.isAlignJustify,["Shift","Mod","J"])],"alignment-group"),A=y([b("quote",(0,at.jsx)(tt.Quote,{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",(0,at.jsx)(tt.Link,{strokeWidth:1.25,className:"courier-w-4 courier-h-4"}),"Link",v,r.isLink,["Mod","K"]),b("variable",(0,at.jsx)(op,{width:16}),"Variable",h,!1,["Mod","V"],{"data-variable-button":"true"})],"insert-group");return(0,at.jsx)($l.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)=>(0,at.jsxs)(ir.Fragment,{children:[w,C<[N,g,k,A,E].filter(Boolean).length-1&&(0,at.jsx)($l.Divider,{})]},`item-${C}`))})},"TextMenu");var Bd=require("react/jsx-runtime"),ar=s(({config:e})=>{let{editor:t}=(0,Jl.useCurrentEditor)(),r=_l(t);return t?(0,Bd.jsx)(Jl.BubbleMenu,{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&&(0,Bd.jsx)(ql,{editor:t,config:e})}):null},"BubbleTextMenu");var Hg=require("@tiptap/pm/state"),ki=require("@tiptap/react"),Ua=require("jotai"),Gr=require("react");var Mt=require("react/jsx-runtime"),cb=s(({value:e,readOnly:t})=>{let{editor:r}=(0,ki.useCurrentEditor)(),o=(0,Ua.useSetAtom)(zn),n=(0,Ua.useAtomValue)(ae),i=(0,Gr.useRef)(!1);return(0,Gr.useEffect)(()=>{!r||(n!==!1||i.current)&&!t||!e||(i.current=!0,r.commands.setContent(Rc(e!=null?e:"")))},[r,e,n,t]),(0,Gr.useEffect)(()=>{r&&(o(r),setTimeout(()=>{r.commands.blur()},1))},[r,o]),null},"EditorContent"),ub=s(({facebookLink:e,linkedinLink:t,instagramLink:r,mediumLink:o,xLink:n,readOnly:i=!1,value:a,onUpdate:l})=>{let c=(0,Gr.useRef)(!1),u=(0,Ua.useSetAtom)(ye),d=ki.Extension.create({name:"escapeHandler",addKeyboardShortcuts(){return{Escape:({editor:p})=>{let{state:f,dispatch:v}=p.view;return v(f.tr.setSelection(Hg.TextSelection.create(f.doc,f.selection.$anchor.pos))),u&&u(null),!1}}}});(0,Gr.useEffect)(()=>(c.current=!0,()=>{c.current=!1}),[]);let m=(0,Gr.useMemo)(()=>[...or({setSelectedNode:u}),d].filter(p=>p!==void 0),[d,u]);return(0,Mt.jsxs)("div",{className:"courier-flex courier-flex-row courier-gap-6 courier-justify-between courier-items-start",children:[(0,Mt.jsxs)(ki.EditorProvider,{content:Rc(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:[(0,Mt.jsx)(cb,{value:a,readOnly:i}),(0,Mt.jsx)(ar,{})]}),(0,Mt.jsxs)("div",{className:"courier-flex courier-justify-end courier-items-center courier-gap-2 courier-mt-3",children:[e&&(0,Mt.jsx)("a",{href:e,target:"_blank",rel:"noopener noreferrer",children:(0,Mt.jsx)(Xi,{className:"courier-w-5 courier-h-5"})}),t&&(0,Mt.jsx)("a",{href:t,target:"_blank",rel:"noopener noreferrer",children:(0,Mt.jsx)(ta,{className:"courier-w-5 courier-h-5"})}),r&&(0,Mt.jsx)("a",{href:r,target:"_blank",rel:"noopener noreferrer",children:(0,Mt.jsx)(ea,{className:"courier-w-5 courier-h-5"})}),o&&(0,Mt.jsx)("a",{href:o,target:"_blank",rel:"noopener noreferrer",children:(0,Mt.jsx)(ra,{className:"courier-w-5 courier-h-5"})}),n&&(0,Mt.jsx)("a",{href:n,target:"_blank",rel:"noopener noreferrer",children:(0,Mt.jsx)(sa,{className:"courier-w-5 courier-h-5"})})]})]})},"BrandFooterComponent"),Pi=(0,Gr.memo)(ub);var sr=require("react/jsx-runtime"),Bg=s(({value:e,icon:t,...r})=>(0,sr.jsx)(_t,{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"),jl=s(({previewMode:e,togglePreviewMode:t,hideMobileToggle:r=!1,hideExitButton:o=!1,...n})=>(0,sr.jsxs)("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&&(0,sr.jsxs)(sr.Fragment,{children:[(0,sr.jsxs)(Pr,{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:[(0,sr.jsx)(Bg,{value:"desktop",icon:(0,sr.jsx)(iu,{})}),(0,sr.jsx)(Bg,{value:"mobile",icon:(0,sr.jsx)(vu,{})})]}),!o&&(0,sr.jsx)("div",{className:"courier-mx-4 courier-w-px courier-h-6 courier-bg-border"})]}),!o&&(0,sr.jsxs)(Se,{variant:"link",onClick:()=>t(),children:[e?"Exit":"View"," Preview"]})]}),"PreviewPanel");var Fd=require("react");function db(){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(db,"initTestHelpers");function lr(e,t){typeof window!="undefined"&&(db(),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(lr,"setTestEditor");var Vg=require("@tiptap/core"),Og=require("@tiptap/pm/state"),Gl=require("@tiptap/react"),Ye=require("jotai"),fe=require("react");var Dg=require("@tiptap/react"),Fg=require("react");var Ar=s(({value:e,defaultValue:t})=>{let{editor:r}=(0,Dg.useCurrentEditor)();return(0,Fg.useEffect)(()=>{if(!r)return;let o=setTimeout(()=>{r.commands.setContent(e||t)},0);return()=>clearTimeout(o)},[r,e,t]),null},"ReadOnlyEditorContent");var mo=require("react/jsx-runtime"),mb=s(({value:e})=>{let{editor:t}=(0,Gl.useCurrentEditor)(),[r,o]=(0,Ye.useAtom)(ee),n=(0,Ye.useSetAtom)(je),i=(0,Ye.useAtomValue)(dn),a=(0,Ye.useAtomValue)(ye),l=(0,Ye.useSetAtom)(He),c=(0,Ye.useSetAtom)(pn),u=(0,fe.useRef)(!1),d=(0,fe.useRef)(),m=(0,Ye.useAtomValue)(ae),p=(0,Ye.useAtomValue)(ot),f=(0,fe.useRef)(!1),v=(0,Ye.useAtomValue)(Ct);return(0,fe.useEffect)(()=>{m&&(f.current=!1)},[m]),(0,fe.useEffect)(()=>(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=de(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=_i(E,"email"))}let g=Or(r,"email",N||"",y),k={elements:g.elements,channel:"email",...g.raw&&{raw:g.raw}},A=ct(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]),(0,fe.useEffect)(()=>{!t||m!==!1||f.current||!e||(l(t),f.current=!0,t.commands.setContent(e))},[t,e,l,m]),(0,fe.useEffect)(()=>{if(!(!(t&&i!==null)||m!==!1||v)&&!t.isFocused)return d.current&&clearTimeout(d.current),d.current=setTimeout(()=>{var h;try{let b=de(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=_i(A,"email"))}let N=Or(r,"email",y||"",b),g={elements:N.elements,channel:"email",...N.raw&&{raw:N.raw}},k=ct(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]),(0,fe.useEffect)(()=>()=>{t&&!t.isDestroyed&&t.setEditable(!0)},[t]),(0,fe.useEffect)(()=>{t&&u.current&&t.commands.updateSelectionState(a)},[t,a]),(0,fe.useEffect)(()=>(u.current=!0,()=>{u.current=!1}),[]),null},"EditorContent"),pb=s(({value:e,readOnly:t=!1,onDestroy:r,onUpdate:o,subject:n})=>{let i=(0,Ye.useSetAtom)(Cs),a=(0,fe.useRef)(),[l,c]=(0,Ye.useAtom)(ee),u=(0,Ye.useAtomValue)(dn),d=n!=null?n:u,m=(0,Ye.useSetAtom)(ye),p=(0,Ye.useAtomValue)(He),f=(0,Ye.useAtomValue)(Ct),v=(0,Ye.useAtomValue)(jt),h=(0,Ye.useSetAtom)(pn),b=(0,Ye.useSetAtom)(je),y=(0,fe.useRef)(l),N=(0,fe.useRef)(d),g=(0,fe.useRef)(v);(0,fe.useEffect)(()=>{y.current=l},[l]),(0,fe.useEffect)(()=>{N.current=d},[d]),(0,fe.useEffect)(()=>{g.current=v},[v]),(0,fe.useEffect)(()=>{p==null||p.setEditable(!t)},[t,p]);let k=Vg.Extension.create({name:"escapeHandler",addKeyboardShortcuts(){return{Escape:({editor:O})=>{let{state:B,dispatch:z}=O.view;return z(B.tr.setSelection(Og.TextSelection.create(B.doc,B.selection.$anchor.pos))),m&&m(null),!1}}}}),A=(0,fe.useCallback)(({editor:O})=>{o==null||o(O),lr("email",O),m&&setTimeout(()=>{m(null)},100)},[m,o]),E=(0,fe.useRef)(),L=(0,fe.useRef)(null),w=(0,fe.useCallback)((O,B)=>{var Z;if(f)return;let z=y.current,_=N.current;if(!z){let ie={version:"2022-01-01",elements:[{type:"channel",channel:"email",elements:B}]};c(ie),b(ie);return}let se=z.elements.find(ie=>ie.type==="channel"&&ie.channel==="email"),re={...se};re.elements=(Z=re.elements)==null?void 0:Z.filter(ie=>ie.type!=="meta");let Y={type:"channel",channel:"email",elements:B};if(JSON.stringify(re)!==JSON.stringify(Y)){let ie=_;!_&&se&&(ie=_i(se,"email"));let Me=Or(z,"email",ie||"",B);Y.elements=Me.elements,Me.raw&&(Y.raw=Me.raw);let $e=ct(z,Y);c($e),b($e)}o==null||o(O),lr("email",O)},[c,b,o,f]),C=(0,fe.useCallback)(({editor:O})=>{let B=de(O.getJSON());L.current={editor:O,elemental:B},E.current&&clearTimeout(E.current),E.current=setTimeout(()=>{if(L.current){let{editor:z,elemental:_}=L.current;w(z,_),L.current=null}},200)},[w]),T=(0,fe.useCallback)(({editor:O})=>{if(g.current)return;let{selection:B}=O.state,{$anchor:z}=B,se=B.$head.marks().find(Z=>Z.type.name==="link");se||O.isActive("link")?i({mark:se}):i(null);let re=z.depth,Y=null,D=null;for(;re>0;){let Z=z.node(re);!D&&Z.type.name==="blockquote"&&(D=Z),!Y&&(Z.type.name==="paragraph"||Z.type.name==="heading")&&(Y=Z),re--}D?m(D):Y&&m(Y)},[i,m]),x=(0,fe.useCallback)(({editor:O,transaction:B})=>{let z=B==null?void 0:B.getMeta("showLinkForm");if(z){let{selection:_}=O.state,re=_.$head.marks().find(Y=>Y.type.name==="link");i({mark:re,link:{from:z.from,to:z.to}})}},[i]),P=(0,fe.useCallback)(()=>{a.current&&clearTimeout(a.current),E.current&&clearTimeout(E.current),r==null||r(),lr("email",null)},[r]);(0,fe.useEffect)(()=>(h({action:"register",id:"email-content",fn:s(()=>{if(E.current&&(clearTimeout(E.current),E.current=void 0,L.current)){let{editor:B,elemental:z}=L.current;w(B,z),L.current=null}},"flushContentUpdate")}),()=>{h({action:"unregister",id:"email-content"})}),[w,h]);let M=(0,fe.useCallback)(O=>{var re;if(g.current)return;let B=(re=O.view)==null?void 0:re.editor;if(!B||!B.isEditable)return;let z=O.target,_=B.view.posAtDOM(z,0),se=B.state.doc.resolve(_).node();se.type.name==="paragraph"&&m(se)},[m]),R=(0,fe.useCallback)(()=>!g.current,[]),I=(0,fe.useMemo)(()=>[...or({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=(0,fe.useRef)(null);return(0,fe.useEffect)(()=>{let O=F.current;if(!(!O||t))return br({element:O,getData:()=>({type:"editor",id:"editor-drop-zone"}),canDrop:({source:B})=>B.data.type==="sidebar"?!0:B.data.type==="editor"})},[t]),(0,mo.jsx)("div",{ref:F,"data-testid":"email-editor",children:(0,mo.jsx)(Gl.EditorProvider,{content:H,extensions:I,...V,onDestroy:P,editorContainerProps:{onClick:M},immediatelyRender:!1,children:t?(0,mo.jsx)(Ar,{value:H,defaultValue:Va}):(0,mo.jsxs)(mo.Fragment,{children:[(0,mo.jsx)(mb,{value:H}),(0,mo.jsx)(ar,{})]})})})},"EmailEditor"),Kl=pb;var Wa=require("jotai"),Ug=require("lucide-react");var on=require("react");var Yl=require("react/jsx-runtime"),Ni=s(({children:e,id:t,className:r,editor:o})=>(0,Yl.jsx)(fb,{id:t,className:r,editor:o,children:e}),"SideBarSortableItemWrapper"),fb=(0,on.forwardRef)(({children:e,className:t,id:r,editor:o},n)=>{let i=(0,on.useRef)(null),[a,l]=(0,on.useState)(!1);return(0,on.useEffect)(()=>{let c=i.current;if(!(!c||!r))return co(ga({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]),(0,Yl.jsx)("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:(0,Yl.jsx)("div",{children:e})})});var Te=require("react/jsx-runtime"),Xl=s(({items:e,brandEditor:t,label:r,editor:o})=>{var l,c;let n=(0,Wa.useAtomValue)(ot),i=(0,Wa.useSetAtom)(ii),a=(0,Wa.useAtomValue)(bt);return(0,Te.jsxs)("div",{className:"courier-flex courier-flex-col courier-h-full",children:[(0,Te.jsxs)("div",{className:"courier-flex-1",children:[r&&(0,Te.jsxs)(Te.Fragment,{children:[(0,Te.jsx)("p",{className:"courier-text-sm courier-font-medium courier-text-foreground",children:r}),(0,Te.jsx)(ce,{className:"courier-my-4"})]}),(0,Te.jsx)("div",{className:"courier-flex courier-flex-col courier-gap-4 courier-w-full",children:e.map(u=>(0,Te.jsx)(Ni,{id:u.toString(),editor:o,children:(0,Te.jsxs)("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:[(0,Te.jsx)(Ug.GripVertical,{strokeWidth:1,className:"courier-w-4 courier-stroke-neutral-400 courier-fill-neutral-400"}),u==="heading"&&(0,Te.jsx)(Rs,{draggable:!0}),u==="text"&&(0,Te.jsx)(Jo,{draggable:!0}),u==="image"&&(0,Te.jsx)(Hs,{draggable:!0}),u==="spacer"&&(0,Te.jsx)(Bs,{draggable:!0}),u==="divider"&&(0,Te.jsx)(qo,{draggable:!0}),u==="button"&&(0,Te.jsx)(Zo,{draggable:!0}),u==="customCode"&&(0,Te.jsx)(Ta,{draggable:!0}),u==="column"&&(0,Te.jsx)(Ls,{draggable:!0})]})},u))})]}),t&&(0,Te.jsxs)("div",{className:"courier-mt-auto courier-pt-4",children:[(0,Te.jsx)(ce,{className:"courier-mb-4 -courier-mx-4"}),(c=(l=n==null?void 0:n.data)==null?void 0:l.tenant)!=null&&c.brand?(0,Te.jsx)("div",{className:"courier-flex courier-flex-row courier-gap-2 courier-items-center courier-justify-end courier-w-full",children:(0,Te.jsx)(Se,{variant:"link",className:"courier-underline",onClick:()=>i("brand"),disabled:!!a,children:"Edit brand"})}):(0,Te.jsxs)("div",{className:"courier-flex courier-flex-col courier-gap-2",children:[(0,Te.jsx)("h3",{className:"courier-text-md courier-font-medium courier-text-foreground",children:"Customize brand theme"}),(0,Te.jsx)("p",{className:"courier-text-sm courier-text-muted-foreground",children:"Customize header and footer to apply to the template."}),(0,Te.jsx)(Se,{variant:"primary",className:"courier-w-fit courier-mt-2",onClick:()=>i("brand"),children:"Customize"})]})]})]})},"SideBar");var Wg=require("jotai");var Kr=require("react/jsx-runtime"),Ql=s(({element:e,editor:t})=>{var i,a;let r=(0,Wg.useAtomValue)(Uu);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(0,Kr.jsx)(j1,{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(0,Kr.jsxs)("div",{className:"courier-flex courier-flex-col courier-gap-4",children:[e.type.name==="button"&&(0,Kr.jsx)(Hf,{element:e,editor:t},e.attrs.id),e.type.name==="divider"&&(0,Kr.jsx)(b1,{element:e,editor:t},e.attrs.id),["paragraph","heading"].includes(e.type.name)&&!o&&(0,Kr.jsx)(R1,{element:e,editor:t},e.attrs.id),e.type.name==="imageBlock"&&(0,Kr.jsx)(z1,{element:e,editor:t},e.attrs.id),e.type.name==="customCode"&&(0,Kr.jsx)(pd,{element:e,editor:t},e.attrs.id),(e.type.name==="blockquote"||e.type.name==="paragraph"&&o||e.type.name==="heading"&&o)&&(0,Kr.jsx)(Cf,{element:n()||e,editor:t},e.attrs.id),e.type.name==="column"&&(0,Kr.jsx)(ud,{element:e,editor:t},e.attrs.id)]})},"SideBarItemDetails");var Dd=require("react"),_g=require("jotai");var No=require("react/jsx-runtime"),nn=(0,Dd.forwardRef)(({children:e,previewMode:t,className:r,readOnly:o=!1,...n},i)=>(0,No.jsx)("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})),an=(0,Dd.forwardRef)(({children:e,className:t,previewMode:r,skipExpanded:o=!1,width:n,...i},a)=>{let[l,c]=(0,_g.useAtom)(io),u=o?!1:l,d=n||"courier-w-64";return r?null:(0,No.jsxs)(No.Fragment,{children:[u&&(0,No.jsx)("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"}),(0,No.jsx)("div",{className:S("courier-editor-sidebar-container courier-flex-shrink-0 courier-self-stretch courier-relative",d,t),children:(0,No.jsx)("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})})]})});var _a=require("jotai");var _e=require("react/jsx-runtime"),Vd=(0,Fd.forwardRef)(({children:e,className:t,...r},o)=>(0,_e.jsx)("div",{className:S("courier-editor-container courier-relative",t),...r,ref:o,children:e})),Od=(0,Fd.forwardRef)(({children:e,previewMode:t,...r},o)=>(0,_e.jsx)("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})),zg=s(({variables:e,theme:t,isLoading:r,hidePublish:o,channels:n,brandEditor:i,routing:a,colorScheme:l,...c})=>{let u=(0,_a.useAtomValue)(ee),d=(0,_a.useAtomValue)(io),m=(0,_a.useSetAtom)(io),p=s(()=>{d&&m(!1)},"handleSubjectAreaClick");return(0,_e.jsx)(Ul,{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(0,_e.jsxs)(nn,{previewMode:y,children:[(0,_e.jsxs)("div",{className:"courier-flex courier-flex-col courier-flex-1",children:[(0,_e.jsxs)("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:[(0,_e.jsxs)("h4",{className:"courier-text-sm courier-h-[25px] courier-flex courier-items-end courier-pb-px",children:["Subject:"," "]}),(0,_e.jsx)(bi,{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})]}),(0,_e.jsxs)(Vd,{ref:g,children:[(0,_e.jsxs)(Od,{previewMode:y,children:[k&&(0,_e.jsxs)("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"&&(0,_e.jsx)("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)&&(0,_e.jsx)("img",{src:A.logo,alt:"Brand logo",className:"courier-w-auto courier-max-w-36 courier-object-contain courier-cursor-default"})]}),L&&(0,_e.jsx)(Kl,{value:L,onUpdate:w,variables:e}),k&&T&&(0,_e.jsx)("div",{className:"courier-py-5 courier-px-9 courier-pt-0 courier-flex courier-flex-col",children:(0,_e.jsx)(Pi,{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})})]}),(0,_e.jsx)(jl,{previewMode:y,togglePreviewMode:x,hideExitButton:P})]})]}),(0,_e.jsx)(an,{previewMode:y,children:(0,_e.jsx)("div",{className:"courier-p-1 courier-h-full",children:h?(0,_e.jsx)(Ql,{element:h,editor:N}):(0,_e.jsx)(Xl,{items:E.Sidebar,brandEditor:i,label:"Blocks library",editor:N!=null?N:void 0})})})]})},...c})},"EmailLayout");var $g=require("@tiptap/react"),Yr=require("jotai"),st=require("react");var Ud=require("react/jsx-runtime"),za=[{type:"text",content:`
189
189
  `,text_style:"h2"},{type:"text",content:`